(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】現在のブロックの予測方法及び予測装置、デバイス、記憶媒体
(51)【国際特許分類】
H04N 19/593 20140101AFI20240305BHJP
H04N 19/11 20140101ALI20240305BHJP
H04N 19/136 20140101ALI20240305BHJP
H04N 19/176 20140101ALI20240305BHJP
H04N 19/46 20140101ALI20240305BHJP
【FI】
H04N19/593
H04N19/11
H04N19/136
H04N19/176
H04N19/46
(21)【出願番号】P 2022518879
(86)(22)【出願日】2019-09-27
(86)【国際出願番号】 CN2019108684
(87)【国際公開番号】W WO2021056454
(87)【国際公開日】2021-04-01
【審査請求日】2022-08-29
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(72)【発明者】
【氏名】リャン、ファン
(72)【発明者】
【氏名】カオ、チアン
【審査官】松元 伸次
(56)【参考文献】
【文献】特表2017-512026(JP,A)
【文献】国際公開第2015/139175(WO,A1)
【文献】Kai Zhang et al.,Symmetric intra block copy,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 17th Meeting: Valencia, ES, 27 March - 4 April 2014,JCTVC-Q0082,2014年03月27日,p.2
【文献】Anubhav Singh et al.,CE8-related: Flipping of reference blocks for Intra Block Copy (IBC),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 July 2019,JVET-O0443,2019年07月05日,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
(57)【特許請求の範囲】
【請求項1】
現在のブロックの予測方法であって、ビデオ符号器に用いられ、
イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得することと、
前記モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断することと、
判断結果が前記参照ブロックに対してミラー変換を行うことである場合に、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得ることとを含む、
ことを特徴とする現在のブロックの予測方法。
【請求項2】
前記イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得することは、
前記非マージモードにあると確定する場合に、有効なブロックベクトルを取得することと、
前記有効なブロックベクトルに基づいて、前記モード情報を取得することとを含み、
前記有効なブロックベクトルは、現在のブロックによって参照された前記参照ブロックが有効な符号化済みの参照領域にあることを示す、
ことを特徴とする請求項1に記載の現在のブロックの予測方法。
【請求項3】
前記有効なブロックベクトルに基づいて前記モード情報を取得することは、
前記有効なブロックベクトルに基づいて、前記参照ブロックの第一サンプル値を取得することと、
前記現在のブロックの予測された第一サンプル値を取得することと、
前記現在のブロックの第一サンプル値と前記参照ブロックの第一サンプル値との間の第一差分絶対値を確定することと、
前記第一差分絶対値に基づいて、前記モード情報を確定することとを含む、
ことを特徴とする請求項2に記載の現在のブロックの予測方法。
【請求項4】
前記第一差分絶対値に基づいて前記モード情報を確定することは、
前記有効なブロックベクトルに基づいて、前記参照ブロックの位置を取得することと、
前記位置に基づいて、前記参照ブロックに対して水平ミラー反転を行うことと、
水平ミラー反転後の前記参照ブロックの第二サンプル値を取得することと、
前記位置に基づいて、前記参照ブロックに対して垂直ミラー反転を行うことと、
垂直ミラー反転後の前記参照ブロックの第三サンプル値を取得することと、
前記現在のブロックの第一サンプル値と前記第二サンプル値との間の第二差分絶対値を確定することと、
前記現在のブロックの第一サンプル値と前記第三サンプル値との間の第三差分絶対値を確定することと、
前記第一差分絶対値、前記第二差分絶対値及び前記第三差分絶対値に基づいて、前記モード情報を確定することとを含む、
ことを特徴とする請求項3に記載の現在のブロックの予測方法。
【請求項5】
現在のブロックの予測方法であって、ビデオ復号器に用いられ、
ビットストリームを解析することによって、
イントラブロックコピーの非マージモードにあると確定される場合にイントラブロックコピーミラーモードのモード情報を取得することと、
前記モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断することと、
判断結果が前記参照ブロックに対してミラー変換を行うことである場合に、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築することを含む、
ことを特徴とする現在のブロックの予測方法。
【請求項6】
前記モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断することは、
前記モード情報に含まれているミラーモードフラグとミラータイプフラグを取得することと、
ミラーモードフラグとミラータイプフラグに基づいて、参照ブロックに対してミラー変換を行うか否かを判断することとを含み、
前記ミラーモードフラグと前記ミラータイプフラグは、ビデオ符号器によって第一差分絶対値、第二差分絶対値及び第三差分絶対値の三者の大小関係に基づいて得られ、
前記第一差分絶対値は前記ビデオ符号器によって確定された前記現在のブロックの第一サンプル値と前記参照ブロックの第一サンプル値との間の差分絶対値であり、前記第二差分絶対値は前記ビデオ符号器によって確定された前記現在のブロックの第一サンプル値と前記参照ブロックの第二サンプル値との間の差分絶対値であり、前記第三差分絶対値は前記ビデオ符号器によって確定された前記現在のブロックの第一サンプル値と前記参照ブロックの第三サンプル値との間の差分絶対値であ
り、
前記第一差分絶対値、前記第二差分絶対値及び前記第三差分絶対値のうちの最小値が前記第一差分絶対値である場合に、前記ミラーモードフラグと前記ミラータイプフラグはいずれも第一識別子であり、前記第一差分絶対値、前記第二差分絶対値及び前記第三差分絶対値のうちの最小値が前記第二差分絶対値である場合に、前記ミラーモードフラグは第二識別子であり且つ前記ミラータイプフラグは前記第二識別子であり、前記第一差分絶対値、前記第二差分絶対値及び前記第三差分絶対値のうちの最小値が前記第三差分絶対値である場合に、前記ミラーモードフラグは前記第二識別子であり且つ前記ミラータイプフラグは前記第一識別子である、
ことを特徴とする請求項5に記載の現在のブロックの予測方法。
【請求項7】
前記現在のブロックの予測方法は、ビットストリームの解析中に前記現在のブロックの有効なブロックベクトルを取得することを含み、
相応に、前記判断結果が前記参照ブロックに対してミラー変換を行うことである場合に、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築することは、
判断結果が前記参照ブロックに対してミラー変換を行うことである場合に、前記有効なブロックベクトルに基づいて前記参照ブロックの位置と前記参照ブロックの第一サンプル値を取得することと、
前記位置と前記参照ブロックの第一サンプル値に基づいて、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築することとを含む、
ことを特徴とする請求項6に記載の現在のブロックの予測方法。
【請求項8】
前記ミラーモードフラグとミラータイプフラグに基づいて、参照ブロックに対してミラー変換を行うか否かを判断することは、
前記ミラーモードフラグが
前記第二識別子であり且つ前記ミラータイプフラグが
前記第二識別子である場合に、前記参照ブロックに対して水平ミラー変換を行うことを確定し、判断結果を得ることを含み、
相応に、前記位置と前記参照ブロックの第一サンプル値に基づいて、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築することは、
前記位置と前記参照ブロックの第一サンプル値に基づいて、前記参照ブロックに対して水平ミラー変換を行うことによって現在のブロックの予測ブロックを構築することを含む、
ことを特徴とする請求項7に記載の現在のブロックの予測方法。
【請求項9】
前記ミラーモードフラグとミラータイプフラグに基づいて、参照ブロックに対してミラー変換を行うか否かを判断することは、
前記ミラーモードフラグが
前記第二識別子であり且つ前記ミラータイプフラグが
前記第一識別子である場合に、前記参照ブロックに対して垂直ミラー変換を行うことを確定し、判断結果を得ることを含み、
相応に、前記位置と前記参照ブロックの第一サンプル値に基づいて、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築することは、
前記位置と前記参照ブロックの第一サンプル値に基づいて、前記参照ブロックに対して垂直ミラー変換を行うことによって現在のブロックの予測ブロックを構築することを含む、
ことを特徴とする請求項7に記載の現在のブロックの予測方法。
【請求項10】
前記ミラーモードフラグとミラータイプフラグに基づいて、参照ブロックに対してミラー変換を行うか否かを判断することは、
前記ミラーモードフラグが
前記第一識別子であり且つ前記ミラータイプフラグが
前記第一識別子である場合に、前記参照ブロックに対してミラー変換を行わないことを確定することを含む、
ことを特徴とする請求項6に記載の現在のブロックの予測方法。
【請求項11】
前記参照ブロックは前記現在のブロックが所在する現在の画像に位置し、又は、前記参照ブロックは現在の画像が復号化される前に復号化済みの画像に位置する、
ことを特徴とする請求項5~10のいずれか一項に記載の現在のブロックの予測方法。
【請求項12】
現在のブロックの予測装置であって、
イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得するように構成された第一確定モジュールと、
前記モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断するように構成された第一判断モジュールと、
判断結果が前記参照ブロックに対してミラー変換を行うことである場合に、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得るように構成された第一予測モジュールとを含む、
ことを特徴とする現在のブロックの予測装置。
【請求項13】
現在のブロックの予測装置であって、
ビットストリームを解析することによって
、イントラブロックコピーの非マージモードにあると確定される場合にイントラブロックコピーミラーモードのモード情報を取得するように構成された解析モジュールと、
前記モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断するように構成された第二判断モジュールと、
判断結果が前記参照ブロックに対してミラー変換を行うことである場合に、前記参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築するように構成された第二予測モジュールとを含む、
ことを特徴とする現在のブロックの予測装置。
【請求項14】
電子デバイスであって、メモリとプロセッサを含み、
前記メモリはプロセッサで実行可能なコンピュータプログラムを記憶しており、前記プロセッサは前記プログラムを実行すると、請求項1~4のいずれか一項に記載の現在のブロックの予測方法におけるステップを実現し、又は、前記プログラムを実行すると、請求項5~11のいずれか一項に記載の現在のブロックの予測方法におけるステップを実現する、
ことを特徴とする電子デバイス。
【請求項15】
コンピュータ可読記憶媒体であって、コンピュータプログラムを記憶しており、
前記コンピュータプログラムがプロセッサによって実行されると、請求項1~4のいずれか一項に記載の現在のブロックの予測方法におけるステップを実現し、又は、プロセッサによって実行されると、請求項5~11のいずれか一項に記載の現在のブロックの予測方法におけるステップを実現する、
ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は電子技術に関し、現在のブロックの予測方法及び予測装置、デバイス、記憶媒体に関するが、それらに限定されない。
【背景技術】
【0002】
イントラブロックコピー(Intra Block Copy、IBC)モードは、重複領域が多いという特性を利用することができるが、IBCモードでは、依然として並進運動モデル(translational motion model)に基づいてイントラ予測が行われる。並進運動モデルに基づくIBCモードでは、一つの符号化ブロックにおける全てのサンプルは同一のブロックベクトル(Block Vector、BV)を共有し、参照ブロックと符号化ブロックが完全に同じである。
【0003】
しかし、符号化の過程において、ミラー反転のような複雑な運動があり、並進運動モデルに基づくIBCモードは、その特性を符号化にうまく利用することができない。
【発明の概要】
【0004】
本発明の実施形態において、現在のブロックの予測方法及び予測装置、デバイス、記憶媒体が提供される。本発明の実施形態の技術的解決策は以下のように実現される。
【0005】
第一様態において、本発明の実施形態では、現在のブロックの予測方法が提供される。当該方法はビデオ符号器に用いられ、且つ以下の内容を含む。イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得する。モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断する。判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得る。
【0006】
第二様態において、本発明の実施形態では、現在のブロックの予測方法が提供される。 当該方法はビデオ復号器に用いられ、且つ以下の内容を含む。ビットストリームを解析することによって、イントラブロックコピーミラーモードのモード情報を取得する。モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断する。判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築する。
【0007】
第三様態において、本発明の実施形態では、現在のブロックの予測装置が提供される。当該装置は、
イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得するように構成された第一確定モジュールと、
モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断するように構成された第一判断モジュールと、
判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得るように構成された第一予測モジュールとを含む。
【0008】
第四様態において、本発明の実施形態では、現在のブロックの予測装置が提供される。当該装置は、
ビットストリームを解析することによってイントラブロックコピーミラーモードのモード情報を取得するように構成された解析モジュールと、
モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断するように構成された第二判断モジュールと、
判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築するように構成された第二予測モジュールとを含む。
【0009】
第五様態において、本発明の実施形態では、電子デバイスが提供される。当該電子デバイスはメモリとプロセッサを含む。メモリはプロセッサで実行可能なコンピュータプログラムを記憶している。プロセッサはプログラムを実行すると、第一様態に記載の現在のブロックの予測方法におけるステップを実現し、又は、プログラムを実行すると、第二様態に記載の現在のブロックの予測方法におけるステップを実現する。
【0010】
第六様態において、本発明の実施形態では、コンピュータ可読記憶媒体が提供される。 当該コンピュータ可読記憶媒体はコンピュータプログラムを記憶している。コンピュータプログラムがプロセッサによって実行されると、第一様態に記載の現在のブロックの予測方法におけるステップを実現し、又は、プロセッサによって実行されると、第二様態に記載の現在のブロックの予測方法におけるステップを実現する。
【0011】
本発明の実施形態において、イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得し、モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断し、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得る。これで、ミラー反転の方法で現在のブロックを予測することによって、よりよい予測結果を実現し、予測誤差を減らし、ビデオ符号化の効率を高める。
【図面の簡単な説明】
【0012】
【
図1】
図1は、関連技術における符号化ユニットと参照ユニットとのマッピング関係を示す概略図である。
【
図2】
図2は、関連技術における参照ブロックと符号化ブロックの内部のサンプルを示す概略図である。
【
図3】
図3は、関連技術においてIBCがうまく機能できないことを示す概略図である。
【
図4】
図4は、本発明の実施形態に係るネットワークアーキテクチャの構造を示す概略図である。
【
図5】
図5は、本発明の実施形態に係る現在のブロックの予測方法の実現を示すフローチャートである。
【
図6】
図6は、本発明の実施形態に係る現在のブロックの別の予測方法の実現を示すフローチャートである。
【
図7】
図7は、本発明の実施形態に係る水平ミラー反転(horizontal mirror flipping)を示す概略図である。
【
図8】
図8は、本発明の実施形態に係る垂直ミラー反転(vertical mirror flipping)を示す概略図である。
【
図9】
図9は、本発明の実施形態に係るイントラブロックコピーミラーモード(IBC-Mirror Mode)が機能することを示す概略図である。
【
図10】
図10は、本発明の別の実施形態に係る現在のブロックの予測方法の実現を示すフローチャートである。
【
図11】
図11は、本発明の別の実施形態に係る現在のブロックの別の予測方法の実現を示すフローチャートである。
【
図12】
図12は、本発明の実施形態に係るIBCミラーモードの推論を示すフローチャートである。
【
図13】
図13は、本発明の実施形態に係る現在のブロックの予測装置の構造を示す概略図である。
【
図14】
図14は、本発明の別の実施形態に係る現在のブロックの予測装置の構造を示す概略図である。
【
図15】
図15は、本発明の実施形態に係る電子デバイスのハードウェアエンティティを示す概略図である。
【発明を実施するための形態】
【0013】
本発明の実施形態の目的、技術的解決策及び利点をより明確にするために、以下、本発明の実施形態における図面を参照しながら、本発明の具体的な技術的解決策をさらに詳しく説明する。以下の実施形態は、本発明を説明するために用いられるが、本発明の範囲を限定するために用いられない。
【0014】
本明細書で使用される全ての技術的及び科学的用語は、特に定義されない限り、本発明の技術分野に属する当業者が一般的に理解するのと同じ意味を有する。本明細書で使用される用語は、本発明の実施形態を説明するためのものであり、本発明を限定することを意図するものではない。
【0015】
以下の説明では、「いくつかの実施形態」に係るが、それは全ての可能な実施形態のサブセットを説明するが、「いくつかの実施形態」は、全ての可能な実施形態の同じサブセット又は異なるサブセットであってもよく、矛盾がない限りそれらが互いに組み合わせられてもよいことが理解されることができる。
【0016】
本発明の実施形態に係る用語「第一/第二/第三」は、単に類似のオブジェクトを区別し、オブジェクトの特定の順序を意味するものではないことに留意されたい。本明細書に記載された本発明の実施形態が本明細書に図示又は記載された順序以外の順序で実施され得るように、「第一/第二/第三」は、許可される場合に特定の順序又は優先順位を交換することができる。
【0017】
本発明の実施形態をさらに詳しく説明する前に、本発明の実施形態に係る名詞及び用語について説明する。以下の説明は、本発明の実施形態に係る名詞及び用語に適用される。
1) スクリーンコンテンツ符号化(Screen Content Coding、SCC)。
2) イントラブロックコピー(Intra Block Copy、IBC)。
3) レート歪みコスト(Rate-distortion Cost、Rdcost)。
4) 差分絶対値和(Sum of Absolute Differences、SAD)。
5) ブロックベクトル(Block Vector、BV)。
6) イントラブロックコピーミラーモード(IBC-Mirror Mode)。
7) 符号化ツリーユニット(Coding Tree Unit、CTU)。
8) 符号化ユニット(Coding Unit、CU)。
9) 予測ユニット(Prediction Unit、PU)。
【0018】
関連技術では、スクリーンコンテンツシーケンス(screen content sequence)を符号化する際にIBCモードをオンにし、BVを利用して現在の符号化ユニットと参照ユニットとの間の参照関係を確立し、それで、現在の符号化ユニットのサンプルを予測する。IBCモードでは、参照ブロックは現在のフレームの符号化済みの領域に位置しなければならず、且つ現在の符号化ブロックが所在するCTU内又は左隣のCTUに位置しなければならない。参照関係は
図1に示されたようである。Cur_blkは現在の符号化ブロックを示すために用いられ、Ref_blkは参照符号化ブロックを示すために用いられ、Cur_picは現在の画像を示すために用いられる。
【0019】
IBCモードでは、並進運動モデルに基づいて動き推定が行わられ、つまり、符号化ブロックにおける全てのサンプルは同じBVを共有する。並進運動モデルのため、符号化ブロックと参照ブロックは完全に同じであり、即ち、
図2(a)と
図2(b)に示されたように、符号化ブロックと参照ブロックは、幅、高さ及び対応位置の各サンプル値が同じである。
【0020】
図2(a)は参照ブロックに対応し、
図2(b)は符号化ブロックに対応する。本実施形態において、参照ブロックと符号化ブロック両者のサイズはいずれも4*4であり、且つ、両者における対応位置のサンプルが同じである。
【0021】
IBCモードは、重複領域が多いという特性を利用することができるが、IBCモードでは、依然として並進運動モデルに基づいてイントラ予測が行われる。並進運動モデルに基づくIBCモードでは、一つの符号化ブロックにおける全てのサンプルは同一のBVを共有し、参照ブロックと符号化ブロックが完全に同じである。しかし、クリーンコンテンツ符号化シーケンスにおいて、ミラー反転のような複雑な運動があり、並進運動モデルに基づくIBCモードは、その特性を符号化にうまく利用することができない。また、画質を満たすために、並進運動に基づくIBCモードでは、符号器は物体を小さなユニットに分割し、その小さなユニットの並進運動を利用してミラー運動を近似する傾向がある。この分割及び予測方法では、分割情報などのような冗長情報を多くもたらすため、圧縮性能に影響を与える。
【0022】
例えば、スクリーンコンテンツシーケンスによく見られる26の文字のうち、多くがミラーの特徴又はミラーに類似の特徴を有し、例えば、A、B、C、D、E、H、I、K、M、O、T、U、V、W、X、Yなどが挙げられる。
図3に示されたように、従来のIBCモードで文字「A」を符号化する場合に、前に符号化済みの文字「A」を参照しなければならない。両者がBVの検索範囲を超えるほど離れている場合に、当該符号化済みのブロックを参照ブロックとして使用することができない。そのため、IBCモードがうまく機能せず、圧縮効率に影響を与える。
【0023】
本実施形態において、まず、ネットワークアーキテクチャが提供される。
図4は、本発明の実施形態に係るネットワークアーキテクチャの構造を示す概略図である。
図4に示されたように、当該ネットワークアーキテクチャは1つ又は複数の電子デバイス11~1Kと通信ネットワーク01を含む。電子デバイス11~1Kは通信ネットワーク01を介してビデオインタラクション(video interaction)を行うことができる。実施過程において、電子デバイスは各種類のビデオ符号化復号化機能を有するデバイスであることができ、例えば、電子デバイスは携帯電話、タブレットコンピュータ、パーソナルコンピュータ、テレビ、サーバーなどを含むことができる。電子デバイスはビデオ符号化復号化機能を有し、ビデオ符号器及び/又はビデオ復号器を含む。
【0024】
本発明の実施形態において、現在のブロックの予測方法が提供される。当該方法によって実現される機能は、電子デバイスにおけるプロセッサがプログラムコードを呼び出すことによって実現されることができる。もちろん、プログラムコードはコンピュータ記憶媒体に記憶されることができる。当該電子デバイスが少なくともプロセッサと記憶媒体を含むことは明らかである。
【0025】
上記内容に基づいて、本発明の実施形態において、現在のブロックの予測方法が提供され、ビデオ符号器に応用される。
図5に示されたように、当該方法は以下のステップを含む。
【0026】
ステップ201、イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得する。
【0027】
本発明の実施形態において、ビデオ符号器はマージフラグ(Merge Flag)に基づいて、イントラブロックコピーの非マージモードにあるかそれともイントラブロックコピーのマージモードにあるかを確定することができる。ビデオ符号器は、イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得する。
【0028】
ステップ202、モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断する。
【0029】
本発明の実施形態において、参照ブロックは現在のブロックが所在する現在の画像に位置し、又は、参照ブロックは現在の画像が符号化される前に符号化済みの画像に位置する。
【0030】
参照ブロックに対してミラー変換を行うことは、参照ブロックに対して水平ミラー変換を行うこと又は参照ブロックに対して垂直ミラー変換を行うことを含む。
【0031】
本発明の実施形態において、ビデオ符号器はモード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断し、及び参照ブロックに対してどのようなミラー変換(例えば、水平ミラー変換又は垂直ミラー変換)を行うかを判断する。
【0032】
ステップ203、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得る。
【0033】
本発明の実施形態において、ビデオ符号器はモード情報に基づいて、参照ブロックに対してミラー変換を行うという判断結果を得た後、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得る。
【0034】
例示として、ビデオ符号器はモード情報に基づいて、参照ブロックに対して水平ミラー変換を行うという判断結果を得た後、参照ブロックに対して水平ミラー変換を行うことによって現在のブロックの予測ブロックを得る。
【0035】
もう一つの例示として、ビデオ符号器はモード情報に基づいて、参照ブロックに対して垂直ミラー変換を行うという判断結果を得た後、参照ブロックに対して垂直ミラー変換を行うことによって現在のブロックの予測ブロックを得る。
【0036】
つまり、スクリーンコンテンツ符号化に対して、本発明の実施形態において、IBCミラーモードが提供される。関連技術におけるIBCモードの並進モデルに基づいて、IBCミラーモードに、「水平ミラー反転」と「垂直ミラー反転」の機能が新しく導入される。これで、よりよい予測効果を実現し、予測誤差を減らし、ビデオ符号化の効率を高める。
【0037】
本発明の実施形態に係る現在のブロックの予測方法において、イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得し、モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断し、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得る。これで、ミラー反転の方法で現在のブロックを予測することによって、よりよい予測結果を実現し、予測誤差を減らし、ビデオ符号化の効率を高める。
【0038】
上記内容に基づいて、本発明の実施形態において、現在のブロックの予測方法が提供され、ビデオ符号器に応用される。
図6に示されたように、当該方法は以下ステップを含む。
【0039】
ステップ301、非マージモードにあると確定する場合に、有効なブロックベクトルを取得する。
【0040】
有効なブロックベクトルは、現在のブロックによって参照された参照ブロックが有効な符号化済みの参照領域にあることを示す。
【0041】
本発明の実施形態において、ビデオ符号器は非マージモードにあると確定する場合に、有效なBVを取得する。ビデオ符号器(即ち、符号化端末)において、IBCの非マージモードのもとでのみ、IBCミラーモードの判断が行われる。IBCの非マージモードに入った後、前の手続きに基づいてIBCの全体のハッシュベース検索(Hash-based search)が先に行われる。ハッシュベース検索で有效なBVが検索されず、即ちBV=(0,0)である場合に、IBCモードの次のBV検索手続き及び提出されたIBCミラーモードの判断手続きに入る。そうではない場合に、IBCモードの後続のBV検索手続き及び提出されたIBCミラーモードの判断手続きをスキップする。
【0042】
例示的に、IBCモードでは、現在の符号化ブロック(サイズがW*H)のために1つの有效なBV=(x,y)が検索されたたびに、即ち、このときのBVが(0,0)に等しくないたびに、現在のブロックによって参照された参照ブロックが有効な符号化済みの参照領域にあることを示す。
【0043】
ステップ302、有効なブロックベクトルに基づいて、モード情報を取得する。
【0044】
上記モード情報はIBCミラーモードのモード情報と呼ばれることができる。
【0045】
本発明の実施形態において、有効なブロックベクトルに基づいてモード情報を取得するというステップ302は以下のステップによって実現されることができる。
【0046】
ステップ302a、有効なブロックベクトルに基づいて、参照ブロックの第一サンプル値を取得する。
【0047】
本発明の実施形態において、ビデオ符号器は有效なBVに基づいて、参照ブロックの第一サンプル値、即ち参照ブロックの内部のサンプル情報を取得する。PredBufで参照ブロックの第一サンプル値を示し、PredBufは参照ブロックの対応位置のサンプル値を記憶するW*Hの行列と理解されることができる。
【0048】
ステップ302b、現在のブロックの予測された第一サンプル値を取得する。
【0049】
本発明の実施形態において、現在の符号化ブロックのサンプル値がOrgBufで、OrgBufで現在のブロックの第一サンプル値を示すことを仮設する。OrgBufは現在の符号化ブロックの対応位置のサンプル値を記憶するW*Hの行列と理解されることができる。
【0050】
ステップ302c、現在のブロックの第一サンプル値と参照ブロックの第一サンプル値との間の第一差分絶対値を確定する。
【0051】
本発明の実施形態において、ビデオ符号器はOrgBufとPredBufを取得した場合に、OrgBufとPredBufの差分絶対値を計算する。例示的に、SADでOrgBufとPredBufの差分絶対値を計算することができる。現在、他のアルゴリズムでOrgBufとPredBufの差分絶対値を計算することができる。例えば、差分二乗和(Sum of Squared Difference、SSD)アルゴリズムでOrgBufとPredBufの差分絶対値を計算する。第一差分絶対値はSAD_orgで示される。
【0052】
ステップ302d、第一差分絶対値に基づいて、モード情報を確定する。
【0053】
本発明の実施形態において、第一差分絶対値に基づいてモード情報を確定するというステップ302dは以下のステップによって実現されることができる。
【0054】
ステップ1、有効なブロックベクトルに基づいて、参照ブロックの位置を取得する。
【0055】
ビデオ符号器は有效なBVに基づいて、参照ブロックの位置を取得する。
【0056】
ステップ2、上記位置に基づいて、参照ブロックに対して水平ミラー反転を行う。
【0057】
ステップ3、水平ミラー反転後の参照ブロックの第二サンプル値を取得する。
【0058】
ビデオ符号器は上記位置に基づいて、参照ブロックのPredBufに対して水平ミラー反転を行い、水平ミラー反転後の参照ブロックの第二サンプル値を取得する。PredBuf_horで参照ブロックの第二サンプル値を示す。
【0059】
ステップ4、上記位置に基づいて、参照ブロックに対して垂直ミラー反転を行う。
【0060】
ステップ5、垂直ミラー反転後の参照ブロックの第三サンプル値を取得する。
【0061】
ビデオ符号器は上記位置に基づいて、参照ブロックのPredBufに対して垂直ミラー反転を行い、垂直ミラー反転後の参照ブロックの第三サンプル値を取得する。PredBuf_verで参照ブロックの第三サンプル値を示す。
【0062】
ステップ6、現在のブロックの第一サンプル値と上記第二サンプル値との間の第二差分絶対値を確定する。
【0063】
ビデオ符号器はOrgBufとPredBuf_horとの間の第二差分絶対値(例えば、SAD_horと記される差分絶対値が挙げられる)を計算する。
【0064】
ステップ7、現在のブロックの第一サンプル値と上記第三サンプル値との間の第三差分絶対値を確定する。
【0065】
ビデオ符号器はOrgBufとPredBuf_verとの間の第三差分絶対値(例えば、SAD_verと記される差分絶対値が挙げられる)を計算する。
【0066】
ステップ8、第一差分絶対値、第二差分絶対値及び第三差分絶対値に基づいて、モード情報を確定する。
【0067】
ビデオ符号器はSAD_org、SAD_hor及びSAD_verを取得した場合に、ビデオ符号器はSAD_org、SAD_hor及びSAD_verに基づいてモード情報を確定する。
【0068】
本発明の実施形態において、有効なブロックベクトルに基づいてモード情報を取得するというステップ302の後に、ステップ303とステップ304を実行することができ、又は、ステップ303とステップ305を実行することができ、又は、ステップ306を実行することができる。
【0069】
ステップ303、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第一差分絶対値ではない場合に、参照ブロックに対してミラー変換を行うか否かを判断し、参照ブロックに対してミラー変換を行うという判断結果を得る。
【0070】
ビデオ符号器はSAD_org、SAD_hor及びSAD_verに基づいて、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第一差分絶対値ではないと確定する場合に、参照ブロックに対してミラー変換を行うか否かを判断し、参照ブロックに対してミラー変換を行うという判断結果を得る。
【0071】
ステップ304、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第二差分絶対値である場合に、判断結果は参照ブロックに対して水平ミラー変換を行うことであり、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって予測ブロックを得る。
【0072】
さらに、ビデオ符号器はSAD_org、SAD_hor及びSAD_verに基づいて、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値がSAD_horであると確定する場合に、判断結果は参照ブロックに対して水平ミラー変換を行うことであり、ビデオ符号器は上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって予測ブロックを得る。水平ミラー反転が確定された場合に、符号化ブロックと参照ブロックとの対応関係は
図7(a)と
図7(b)に示されたようである。
【0073】
本発明の他の実施形態において、以下のステップがさらに実行されることができる。上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって得られたパラメータを符号化し、且つビットストリームに書き込む。
【0074】
ステップ305、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第三差分絶対値である場合に、判断結果は参照ブロックに対して垂直ミラー変換を行うことであり、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって予測ブロックを得る。
【0075】
ビデオ符号器はSAD_org、SAD_hor及びSAD_verに基づいて、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値がSAD_verであると確定する場合に、判断結果は参照ブロックに対して垂直ミラー変換を行うことであり、ビデオ符号器は上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって予測ブロックを得る。垂直ミラー反転が確定された場合に、符号化ブロックと参照ブロックとの対応関係は
図8(a)と
図8(b)に示されたようである。
【0076】
ステップ306、第一差分絶対値が第二差分絶対値より小さく、且つ第一差分絶対値が第三差分絶対値より小さい場合に、参照ブロックに対してミラー変換を行うか否かを判断し、参照ブロックに対してミラー変換を行わないという判断結果を得る。
【0077】
ビデオ符号器はSAD_org、SAD_hor及びSAD_verに基づいて、最小値がSAD_orgであると確定する場合に、参照ブロックに対してミラー変換を行うか否かを判断し、参照ブロックに対してミラー変換を行わないという判断結果を得る。
【0078】
本発明の他の実施形態において、ビデオ符号器はさらに第一差分絶対値、第二差分絶対値及び第三差分絶対値の三者の大小関係に基づいて、ミラーモードフラグ(mirror mode flag)とミラータイプフラグ(mirror type flag)を生成することができる。ミラーモードフラグとミラータイプフラグはモード情報と総称される。
【0079】
本発明の他の実施形態において、以下のステップがさらに実行されることができる。上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって得られたパラメータを符号化し、且つビットストリームに書き込む。
【0080】
図9(1)~
図9(4)に示されたように、ミラー反転は、符号化の過程において、ミラー反転のような複雑な運動があるため、並進運動モデルに基づくIBCモードは、上記ミラー反転の特性を符号化にうまく利用することができないという課題をうまく解決することができ、符号化効率を高める。9(1)はコンテンツが文字「A」である符号化ブロックであり、水平ミラーの特徴を有する。当該符号化ブロックがビデオシーケンス(video sequence)の左上隅にあり(このとき、当該符号化ブロックが他の符号化ブロックを参照することができず)、即ち、Aが前に符号化されたことがない場合に、又は、コンテンツが文字「A」である他の符号化済みのブロックと参照範囲を超えるほど離れている場合に、IBCモードはうまく機能することができない。しかしながら、IBCミラーモードが導入された後、当該符号化ブロックの右半分(b)を符号化する場合に、9(2)に対応する左半分(a)に対して先に水平ミラー反転を行うことによって9(3)に対応する画像を得て、次に、9(3)に対応する画像を(b)の参照ブロックとして9(4)を得る。これで、予測の精度を明らかに高めることができる。
【0081】
前記実施形態に基づいて、SADで差分絶対値を計算することを例として、本発明の実施形態に係る現在のブロックの予測方法が符号化端末(符号化端末がビデオ符号器に対応する)に応用される過程をさらに説明する。
【0082】
上記内容に基づいて、以下のことが知られる。本発明の実施形態において、IBCミラーモードが提供され、関連技術におけるIBCモードの並進モデルのフレームワークにおいて、当該モードに「水平ミラー反転」と「垂直ミラー反転」の機能が新しく導入される。
【0083】
本発明の実施形態において、2つのCUレベルのフラグは当該モードをシグナル(signal)するために導入される。IBCの非マージモードのもとでのみ、2つのフラグが伝送される。それ以外の場合は、デフォルトでフォールス(false)となる。1つのフラグはミラーフラグで、トルー(true)は当該CUがミラーモードを使用することを示し、「false」はミラーモードを使用しないことを示す。もう一つのフラグはミラータイプで、ミラーフラグが「true」である場合にのみ、伝送される。それ以外の場合は、デフォルトで「false」となる。「true」は水平ミラー反転を使用することを示し、「false」は垂直ミラー反転を使用することを示す。符号化端末と復号化端末における意味が統一する限り、「true」と「false」の意味を交換することができる。
【0084】
符号化端末において、IBCの非マージモードのもとでのみ、IBCミラーモードの判断が行われる。IBCの非マージモードに入った後、前の手続きに基づいてIBCの全体のハッシュベース検索(Hash-based search)が先に行われる。ハッシュベース検索で有效なBVが検索されず、即ちBV=(0,0)である場合に、IBCモードの次のBV検索手続き及び提出されたIBCミラーモードの判断手続きに入る。そうではない場合に、IBCモードの後続のBV検索手続き及び提出されたIBCミラーモードの判断手続きをスキップする。
【0085】
本発明の実施形態において提出されたIBCミラーモードの判断手続きは以下のようである。IBCモードでは、現在の符号化ブロック(サイズがW*H)のために1つの有效なBV=(x,y)が検索されたたびに、まずBV=(x,y)に基づいて参照ブロックの位置及び内部のサンプル情報を取得する。現在の符号化ブロックのサンプル値がOrgBuf(現在の符号化ブロックの対応位置のサンプル値を記憶するW*Hの行列)で、参照ブロックのサンプル値がPredBuf(参照ブロックの対応位置のサンプル値を記憶するW*Hの行列)であると仮設する。
【0086】
まず、OrgBufとPredBufとの間のSADを計算し、それをSAD_orgと記する。
【0087】
次に、
図7(a)と
図7(b)に示された方法のように、PredBufに対して水平ミラー反転を行い、それをPredBuf_horに記憶する。OrgBufとPredBuf_horとの間のSADを計算し、それをSAD_horと記する。
【0088】
そして、
図8(a)と
図8(b)に示された方法のように、PredBufに対して垂直ミラー反転を行い、それをPredBuf_verに記憶する。OrgBufとPredBuf_verとの間のSADを計算し、それをSAD_verと記する。
【0089】
さらに、SAD_org、SAD_hor、SAD_verのうちの最小値を取る。
【0090】
最後に、最小値がSAD_orgである場合に、ミラーフラグとミラータイプを「false」とする。このとき、参照ブロックに対してミラー変換を行わないことを確定する。最小値がSAD_horである場合に、ミラーフラグを「true」とし、且つミラータイプを「true」とする。このとき、参照ブロックに対して水平ミラー変換を行うことを確定する。最小値がSAD_verである場合に、ミラーフラグを「true」とし、且つミラータイプを「false」とする。このとき、参照ブロックに対して垂直ミラー変換を行うことを確定する。
【0091】
本発明の他の実施形態において、差分絶対値を計算するにはSAD以外の他の方法を利用することができる。本発明の実施形態ではそれを限定しない。
【0092】
本発明の他の実施形態において、上記内容に基づいて以下のことが知られる。現在、全てのサイズのブロックに対してIBCミラーモードの判断手続きを行うことができる。そのサイズは制限されてもよく、ニーズに応じて修正されてもよい。例えば、サイズが16*16以上であるブロックのみに対して当該判断を行うと設定することが可能である。それで、サイズの制限を満たさない他のCUのミラーフラグとミラータイプはデフォルトで「false」となり、伝送される必要がない。
【0093】
本発明の他の実施形態において、上記内容に基づいて以下のことが知られる。現在、IBCモードのもとで検索された各有效なBV=(x,y)に対してIBCミラーモードの判断手続きを行う。本実施形態において、ビデオの内容の特性に基づいて高速アルゴリズム(fast algorithm)又はスキップアルゴリズム(skip algorithm)を設計することができ、これで、符号化時間を節約する。
【0094】
さらに、IBCモードにおけるBV検索手続きが終わる時点で、最小Rdcostに対応するBV(即ち、最適BV)、ミラーフラグ及びミラータイプを取得する。次に、精度の要求に従ってBVをPUに記憶し、ミラーフラグとミラータイプをCU.ミラーフラグ(CU.mirrorFlag)とCU.ミラータイプ(CU.mirrorType)に記憶する。
【0095】
次に、ビデオ符号化の手続きに従って動き補償を行う。動き補償中に、上記ステップにおいて取得された最適BV=(x,y)に基づいて参照ブロックの位置及び内部のサンプル情報を取得する。そして、CU.ミラーフラグとCU.ミラータイプという2つのフラグに基づいて、その参照ブロックに対して変換を行うか否かを確定する。CU.ミラーフラグとCU.ミラータイプがいずれも「false」である場合に、変換を行わない。CU.ミラーフラグとCU.ミラータイプがいずれも「true」である場合に、参照ブロックに対して水平ミラー反転を行う。CU.ミラーフラグが「true」であり且つCU.ミラータイプが「false」である場合に、参照ブロックに対して垂直ミラー反転を行う。後続の手続きは前の符号化手続きと同じであるため、ここでは繰り返されない。
【0096】
ミラーモードはスクリーンコンテンツ符号化に用いられる(即ち、IBCモードに埋め込まれる)ことができるだけではなく、通常のシーケンスのインター符号化手続きに用いられることもできる。類似的に、インター符号化で現在の符号化ブロックのために各有效なMV=(x,y)が検索された後、類似のIBCミラーモードの判断手続きを行うことができ、即ち、MVに基づいて参照ブロックの位置及び内部のサンプル情報を取得する。SAD_orgを計算する。次に、水平ミラー反転を行い、SAD_horを計算し、垂直ミラー反転を行い、SAD_verを計算する。SAD_org、SAD_hor、SAD_verのうちの最小値を取る。相応に、ミラーフラグとミラータイプに値を割り当てる(assign)。後続の動き補償の過程も類似であり、即ち、この2つのCUレベルのフラグに基づいて参照ブロックに対して対応のミラー反転を行うことができる。
【0097】
上記内容に基づいて、本発明の実施形態において、現在のブロックの予測方法が提供され、ビデオ復号器に応用される。
図10に示されたように、当該方法は以下のステップを含む。
【0098】
ステップ401、ビットストリームを解析することによって、イントラブロックコピーミラーモードのモード情報を取得する。
【0099】
本発明の実施形態において、ビデオ復号器(即ち、復号化端末)はビットストリームを解析することによって、イントラブロックコピーミラーモードのモード情報を取得する。モード情報はCU.ミラーフラグ、CU.ミラータイプという2つのフラグを含む。
【0100】
ステップ402、モード情報に基づいて、参照ブロックに対してミラー変換を行うか否かを判断する。
【0101】
本発明の実施形態において、ビデオ復号器はCU.ミラーフラグ、CU.ミラータイプを取得した場合に、CU.ミラーフラグ、CU.ミラータイプに基づいて参照ブロックに対してミラー変換を行うか否かを判断し、及び参照ブロックに対してミラー変換を行うとき、どのようなミラー変換を行うかを確定する。
【0102】
本発明の実施形態において、参照ブロックは現在のブロックが所在する現在の画像に位置し、又は、参照ブロックは現在の画像が復号化される前に復号化済みの画像に位置する。
【0103】
ステップ403、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築する。
【0104】
本発明の実施形態において、ビデオ復号器は、CU.ミラーフラグ及びCU.ミラータイプに基づいて参照ブロックに対してミラー変換を行うという判断結果を得たとき、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築する。
【0105】
本発明の実施形態に係る現在のブロックの予測方法において、ビットストリームを解析することによってイントラブロックコピーミラーモードのモード情報を取得し、モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断し、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築する。これで、高速復号化を介して現在のブロックの予測ブロックを得る。それによって、復号化効率と復号化精度を高める。
【0106】
上記内容に基づいて、本発明の実施形態において、現在のブロックの予測方法が提供され、ビデオ復号器に応用される。
図11に示されたように、当該方法は以下のステップを含む。
【0107】
ステップ501、ビットストリームを解析することによって、イントラブロックコピーミラーモードのモード情報と現在のブロックの有効なブロックベクトルを取得する。
【0108】
本発明の実施形態において、ビデオ復号器はビットストリームを解析することによって、イントラブロックコピーミラーモードのモード情報と現在のブロックの有效なBVを取得する。
【0109】
ステップ502、モード情報に含まれているミラーモードフラグとミラータイプフラグを取得する。
【0110】
CU.ミラーフラグでミラーモードフラグを示し、CU.ミラータイプでミラータイプフラグを示す。
【0111】
ミラーモードフラグとミラータイプフラグは、ビデオ符号器によって第一差分絶対値、第二差分絶対値及び第三差分絶対値の三者の大小関係に基づいて得られる。
【0112】
第一差分絶対値はビデオ符号器によって確定された現在のブロックの第一サンプル値と参照ブロックの第一サンプル値との間の差分絶対値であり、第二差分絶対値はビデオ符号器によって確定された現在のブロックの第一サンプル値と参照ブロックの第二サンプル値との間の差分絶対値であり、第三差分絶対値はビデオ符号器によって確定された現在のブロックの第一サンプル値と参照ブロックの第三サンプル値との間の差分絶対値である。
【0113】
ステップ503、ミラーモードフラグとミラータイプフラグに基づいて、参照ブロックに対してミラー変換を行うか否かを判断する。
【0114】
本発明の実施形態において、ミラーモードフラグとミラータイプフラグに基づいて参照ブロックに対してミラー変換を行うか否かを判断するというステップ503は、以下のステップによって実現されることができる。
【0115】
ステップ503a、ミラーモードフラグが第二識別子で且つミラータイプフラグが第二識別子である場合に、参照ブロックに対して水平ミラー変換を行うことを確定し、判断結果を得る。
【0116】
本発明の実施形態において、ビデオ復号器は、CU.ミラーフラグとCU.ミラータイプがいずれも「true」であると確定する場合に、参照ブロックに対して水平ミラー変換を行うことを確定し、判断結果を得る。さらに、ミラー変換中に、対応的にステップ505aを実行する。
【0117】
ステップ503b、ミラーモードフラグが第二識別子且つミラータイプフラグが第一識別子である場合に、参照ブロックに対して垂直ミラー変換を行うことを確定し、判断結果を得る。
【0118】
本発明の実施形態において、ビデオ復号器は、CU.ミラーフラグが「true」でCU.ミラータイプが「false」であると確定する場合に、参照ブロックに対して垂直ミラー変換を行うことを確定し、判断結果を得る。さらに、ミラー変換中に、対応的にステップ505bを実行する。
【0119】
ステップ504、判断結果が参照ブロックに対してミラー変換を行うことである場合に、有効なブロックベクトルに基づいて参照ブロックの位置と参照ブロックの第一サンプル値を取得する。
【0120】
本発明の実施形態において、ビデオ復号器は復号化で有效なBVを得た後、動き補償を行う。動き補償中に、有效なBVに基づいて参照ブロックの位置と参照ブロックの第一サンプル値を取得する。
【0121】
ステップ505、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築する。
【0122】
本発明の実施形態において、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築するというステップ505は、以下のステップによって実現されることができる。
【0123】
ステップ505a、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって現在のブロックの予測ブロックを構築する。
【0124】
ステップ505b、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって現在のブロックの予測ブロックを構築する。
【0125】
ステップ506、ミラーモードフラグが第一識別子であり且つミラータイプフラグが第一識別子である場合に、参照ブロックに対してミラー変換を行わないことを確定する。
【0126】
本発明の実施形態において、ビデオ復号器はCU.ミラーフラグとCU.ミラータイプがいずれも「false」であるとを確定する場合に、参照ブロックに対してミラー変換を行わないことを確定する。
【0127】
前記実施形態に基づいて、本発明の実施形態に提供された現在のブロックの予測方法が復号化端末(復号化端末はビデオ復号器に対応する)に応用される過程について、さらなる説明を行う。
【0128】
復号化端末は復号化で現在の符号化ブロックのBV及びCU.ミラーフラグ、CU.ミラータイプという2つのフラグを取得する。次に、動き補償を行う。動き補償中に、BV=(x,y)に基づいて参照ブロックの位置及び内部のサンプル情報を取得する。そして、CU.ミラーフラグとCU.ミラータイプという2つのフラグに基づいて、その参照ブロックに対して変換を行うか否かを確定する。CU.ミラーフラグとCU.ミラータイプがいずれも「false」である場合に、変換を行わない。CU.ミラーフラグとCU.ミラータイプがいずれも「true」である場合に、参照ブロックに対して水平ミラー反転を行う。CU.ミラーフラグが「true」であり且つCU.ミラータイプが「false」である場合に、参照ブロックに対して垂直ミラー反転を行う。
【0129】
本発明の他の実施形態において、IBCミラーモードの推論プロセスについてさらに説明され、
図12が参照される。上記のように、2つのCUレベルのフラグ(CU.ミラーフラグとCU.ミラータイプ)はIBCミラーモードをシグナル(signal)するために設定される。IBCの非マージモード(cu.predモード==モード_IBC、且つpu.マージフラグ==false)のもとでのみ、2つのフラグが伝送される。それ以外の場合は、デフォルトで「false」となる。1つのフラグはCU.ミラーフラグで、「true」は当該CUがミラーモードを使用することを示し、「false」はミラーモードを使用しないことを示す。もう一つのフラグはミラータイプで、ミラーフラグが「true」である場合にのみ、伝送される。それ以外の場合は、デフォルトで「false」となる。「true」は水平ミラー反転を使用することを示し、「false」は垂直ミラー反転を使用することを示す。符号化端末と復号化端末における意味が統一する限り、「true」と「false」の意味を交換することができる。
【0130】
本発明の実施形態は以下の有益な効果を実現することができる。
1) スクリーンコンテンツ符号化に対して、関連技術におけるIBCモードの並進モデルに基づいて、IBCミラーモードに、「水平ミラー反転」と「垂直ミラー反転」の機能が新しく導入される。これで、よりよい予測効果を実現し、予測誤差を減らし、ビデオ符号化の効率を高める。
2) 本発明の実施形態に係る現在のブロックの予測方法は、オンラインでのドキュメント共有、ゲーム生配信、リモートデスクトップ、オンラインゲームなどのスクリーンコンテンツ符号化の一般的なシナリオに用いられることができ、アプリケーションの見通しが良い。
【0131】
前記実施形態に基づいて、本発明の実施形態において、現在のブロックの予測装置が提供される。当該装置に含まれる各モジュールは、電子デバイスにおけるプロセッサによって実装されてもよい。もちろん、具体的な論理回路によって実装されてもよい。実施の過程において、プロセッサは中央処理装置(central processing unit、CPU)、マイクロプロセッサ(micro processor unit、MPU)、デジタル信号プロセッサ(Digital Signal Processor、DSP)、又はフィールドプログラム可能なゲートアレイ(Field Programmable Gate Array、FPGA)などであることができる。
【0132】
図13は、本発明の実施形態に係る現在のブロックの予測装置の構造を示す概略図である。
図13に示されたように、現在のブロックの予測装置700(現在のブロックの予測装置700は上記ビデオ符号器に対応する)は第一確定モジュール701、第一判断モジュール702及び第一予測モジュール703を含む。
【0133】
第一確定モジュール701は、イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得するように構成されている。
【0134】
第一判断モジュール702は、モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断するように構成されている。
【0135】
第一予測モジュール703は、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得るように構成されている。
【0136】
他の実施形態において、第一確定モジュール701は、非マージモードにあると確定する場合に有効なブロックベクトルを取得し、有効なブロックベクトルに基づいてモード情報を取得するように構成されている。有効なブロックベクトルは、現在のブロックによって参照された参照ブロックが有効な符号化済みの参照領域にあることを示す。
【0137】
他の実施形態において、第一確定モジュール701は、有効なブロックベクトルに基づいて参照ブロックの第一サンプル値を取得し、現在のブロックの予測された第一サンプル値を取得し、現在のブロックの第一サンプル値と参照ブロックの第一サンプル値との間の第一差分絶対値を確定し、第一差分絶対値に基づいてモード情報を確定するように構成されている。
【0138】
他の実施形態において、第一確定モジュール701は、有効なブロックベクトルに基づいて参照ブロックの位置を取得し、上記位置に基づいて参照ブロックに対して水平ミラー反転を行い、水平ミラー反転後の参照ブロックの第二サンプル値を取得し、上記位置に基づいて参照ブロックに対して垂直ミラー反転を行い、垂直ミラー反転後の参照ブロックの第三サンプル値を取得し、現在のブロックの第一サンプル値と上記第二サンプル値との間の第二差分絶対値を確定し、現在のブロックの第一サンプル値と上記第三サンプル値との間の第三差分絶対値を確定し、第一差分絶対値、第二差分絶対値及び第三差分絶対値に基づいて、モード情報を確定するように構成されている。
【0139】
他の実施形態において、第一判断モジュール702は、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第一差分絶対値ではない場合に、参照ブロックに対してミラー変換を行うか否かを判断し、参照ブロックに対してミラー変換を行うという判断結果を得るように構成されている。
【0140】
他の実施形態において、第一判断モジュール702は、第一差分絶対値が第二差分絶対値より小さく、且つ第一差分絶対値が第三差分絶対値より小さい場合に、参照ブロックに対してミラー変換を行うか否かを判断し、参照ブロックに対してミラー変換を行わないという判断結果を得るように構成されている。
【0141】
他の実施形態において、第一予測モジュール703は、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第二差分絶対値である場合に、判断結果が参照ブロックに対して水平ミラー変換を行うことであり、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって予測ブロックを得るように構成されている。
【0142】
他の実施形態において、第一予測モジュール703は、第一差分絶対値、第二差分絶対値及び第三差分絶対値のうちの最小値が第三差分絶対値である場合に、判断結果が参照ブロックに対して垂直ミラー変換を行うことであり、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって予測ブロックを得るように構成されている。
【0143】
他の実施形態において、現在のブロックの予測装置700は第一処理モジュールをさらに含む。第一処理モジュールは、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって得られたパラメータを符号化し、且つビットストリームに書き込むように構成されている。
【0144】
他の実施形態において、第一処理モジュールは、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって得られたパラメータを符号化し、且つビットストリームに書き込むように構成されている。
【0145】
他の実施形態において、参照ブロックは現在のブロックが所在する現在の画像に位置し、又は、参照ブロックは現在の画像が符号化される前に符号化済みの画像に位置する。
【0146】
図14は、本発明の別の実施形態に係る現在のブロックの予測装置の構造を示す概略図である。
図14に示されたように、現在のブロックの予測装置800(現在のブロックの予測装置800は上記ビデオ符号器に対応する)は解析モジュール801、第二判断モジュール802及び第二予測モジュール803を含む。
【0147】
解析モジュール801は、ビットストリームを解析することによって、イントラブロックコピーミラーモードのモード情報を取得するように構成されている。
【0148】
第二判断モジュール802は、モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断するように構成されている。
【0149】
第二予測モジュール803は、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築するように構成されている。
【0150】
他の実施形態において、第二判断モジュール802は、モード情報に含まれているミラーモードフラグとミラータイプフラグを取得し、ミラーモードフラグとミラータイプフラグに基づいて、参照ブロックに対してミラー変換を行うか否かを判断するように構成されている。ミラーモードフラグとミラータイプフラグは、ビデオ符号器によって第一差分絶対値、第二差分絶対値及び第三差分絶対値の三者の大小関係に基づいて得られる。第一差分絶対値はビデオ符号器によって確定された現在のブロックの第一サンプル値と参照ブロックの第一サンプル値との間の差分絶対値であり、第二差分絶対値はビデオ符号器によって確定された現在のブロックの第一サンプル値と参照ブロックの第二サンプル値との間の差分絶対値であり、第三差分絶対値はビデオ符号器によって確定された現在のブロックの第一サンプル値と参照ブロックの第三サンプル値との間の差分絶対値である。
【0151】
他の実施形態において、解析モジュール801は、ビットストリームの解析中に現在のブロックの有効なブロックベクトルを取得するように構成されている。
【0152】
他の実施形態において、第二予測モジュール803は、判断結果が参照ブロックに対してミラー変換を行うことである場合に、有効なブロックベクトルに基づいて参照ブロックの位置と参照ブロックの第一サンプル値を取得し、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを構築するように構成されている。
【0153】
他の実施形態において、第二判断モジュール802は、ミラーモードフラグが第二識別子であり且つミラータイプフラグが第二識別子である場合に、参照ブロックに対して水平ミラー変換を行うことを確定し、判断結果を得るように構成されている。
【0154】
他の実施形態において、第二予測モジュール803は、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して水平ミラー変換を行うことによって現在のブロックの予測ブロックを構築するように構成されている。
【0155】
他の実施形態において、第二判断モジュール802は、ミラーモードフラグが第二識別子であり且つミラータイプフラグが第一識別子である場合に、参照ブロックに対して垂直ミラー変換を行うことを確定し、判断結果を得るように構成されている。
【0156】
他の実施形態において、第二予測モジュール803は、上記位置と参照ブロックの第一サンプル値に基づいて、参照ブロックに対して垂直ミラー変換を行うことによって現在のブロックの予測ブロックを構築するように構成されている。
【0157】
他の実施形態において、第二判断モジュール802は、ミラーモードフラグが第一識別子であり且つミラータイプフラグが第一識別子である場合に、参照ブロックに対してミラー変換を行わないことを確定するように構成されている。
【0158】
他の実施形態において、参照ブロックは現在のブロックが所在する現在の画像に位置し、又は、参照ブロックは現在の画像が復号化される前に復号化済みの画像に位置する。
【0159】
上記装置実施形態の記載は、上記方法実施形態の記載と類似であり、上記装置実施形態は方法実施形態と類似の有益な効果を備える。本発明の装置実施態様で開示されていない技術的なディテールについては、本発明の方法実施態様の記載を参照して理解されたい。
【0160】
本発明の実施形態において、上記現在のブロックの予測方法は、ソフトウェアの機能モジュールとして実現され、且つ独立の製品として販売されたり使用されたりする場合に、コンピュータ可読記録媒体に記憶されてもよい。この理解によれば、本発明の実施形態の技術的解決策について、本質的な部分、又は従来技術に貢献できた部分は、ソフトウェア製品として表現され得る。このコンピュータソフトウェア製品は、記憶媒体に記憶されており、電子デバイス(携帯電話、タブレットコンピュータ、デスクトップコンピュータ、サーバー、テレビ、オーディオプレーヤーなどであってもよい)に本発明の各実施形態に記載の方法の全部又は一部を実行させるための複数の命令を含む。前記記憶媒体は、ユニバーサルシリアルバス(universal serial bus、USB)フラッシュディスク、モバイルハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、磁気ディスク又は光ディスクなどの各種のプログラムコードを記憶可能な媒体を含む。このように、本発明の実施形態はいかなるハードウェアとソフトウェアの特定の組み合わせに限定されない。
【0161】
相応に、本発明の実施態様において、電子デバイスが提供される。
図15は、本発明の実施形態に係る電子デバイスのハードウェアエンティティを示す概略図である。
図15に示されたように、電子デバイス900はメモリ901とプロセッサ902を含む。メモリ901はプロセッサ902で実行可能なコンピュータプログラムを記憶している。プロセッサ902は上記プログラムを実行すると、上記実施形態に係る現在のブロックの予測方法におけるステップを実施する。
【0162】
メモリ901は、プロセッサ902によって実行可能な命令とアプリケーションを記憶しており、プロセッサ902及び電子デバイス900における各モジュールが処理しようとする又は既に処理したデータ(例えば、画像データ、オーディオデータ、音声通信データ及びビデオ通信データ)をキャッシュするように構成されている。それはフラッシュ(Flash)又はランダムアクセスメモリ(Random Access Memory、RAM)によって実装されることができる。
【0163】
相応に、本発明の実施形態において、コンピュータ可読記憶媒体が提供される。当該コンピュータ可読記憶媒体はコンピュータプログラムを記憶している。当該コンピュータプログラムはプロセッサによって実行されると、上記実施形態に係る現在のブロックの予測方法におけるステップを実施する。
【0164】
以下のことに留意されたい。上記記憶媒体及びデバイスの実施態様の記載は、上記方法実施形態の記載と類似であり、上記装置実施形態は方法実施形態と類似の有益な効果を備える。本発明の記憶媒体及びデバイスの実施態様で開示されていない技術的なディテールについては、本発明の方法実施態様の記載を参照して理解されたい。
【0165】
明細書に言及される「1つの実施形態」又は「ある実施形態」は、実施形態と関連した特定の特徴、構造、又は特性は本発明の少なくとも一つの実施形態に含まれることを意味する。従って、本明細書の様々なところに現れる「1つの実施形態において」又は「ある実施形態において」は、必ずしも同じ実施形態を示すとは限らない。この他、これらの特定の特徴、構造、又は特性は任意の適切な方法で1つ又は複数の実施形態で組み合わされることができる。本発明の様々な実施形態において、上記各過程のシーケンス番号の大きさは、実行の順序を意味するものではないことを理解されたい。各過程の実行順序は、その機能及び内部論理によって確定されるべきであり、本発明の実施態様の実施過程に対するいかなる制限も構成すべきではない。上記本発明の実施態様のシーケンス番号は、説明のためのものであり、実施態様の優劣を示すものではない。
【0166】
本発明において、「含む」、「備える」又は他のバリアントなどの用語は非排他的な含みをカバーすることを意図するため、一連の要素を含むプロセス、方法、物品又は装置は、リストされた要素だけではなく、明確にリストされていない他の要素も含み、又はプロセス、方法、物品又は装置の固有の他の要素を含むことができる。制限がない限り、「…を含む」という文によって限定された要素を含むプロセス、方法、物品又は装置に別の同じ要素が存在することを排除しない。
【0167】
本発明に係るいくつかの実施形態において、開示されるデバイスと方法は、他の形態により実現され得ると理解されるべきである。例えば、上記デバイスの実施形態は、例示的なものに過ぎない。例えば、ユニットの分割は、ロジック機能の分割に過ぎず、実際に実現される場合に、別の分割形態を有してもよい。例えば、複数のユニット又はコンポーネントを組み合わせ、又は別のシステムに集積し、又はその若干の特徴を無視し、又は実行しなくてもよい。さらに、示される又は検討される各コンポーネントの相互間の結合や直接結合や通信接続は、いくつかのインターフェース、デバイス、又はユニットによる間接結合や通信接続であってもよく、電気、機械又は他の形態であってもよい。
【0168】
分離コンポーネントとして記載されたユニットは、物理的に分離してもよく、分離しなくてもよい。ユニットとして表示されるコンポーネントは、物理的なユニットであってもよく、物理的なユニットではなくてもよい。即ち、一つの場所に位置してもよく、複数のネットワークユニットに分布してもよい。実際のニーズに応じて一部又は全部のユニットを選択して本実施形態の技術的解決策の目的を実現することができる。
【0169】
本発明の各実施形態に係る各機能ユニットは、1つの処理ユニットに集積されてもよいし、各ユニットが単独に物理的に存在してもよいし、2つ以上のユニットは1つのユニットに集積されてもよい。上記集積ユニットは、ハードウェア、又はハードウェアとソフトウェア機能モジュールの組み合わせの形式で実現されることができる。
【0170】
上記方法実施形態におけるステップの一部又は全部は、プログラムが関連ハードウェアを指示することによって完成され得るということを、当業者は理解できる。上記プログラムはコンピュータ可読記憶媒体に格納されることができる。上記プログラムは実行されると、上記方法実施形態のステップを実行する。上記記憶媒体は、モバイル記憶装置、読み取り専用メモリ(ROM)、磁気ディスク又は光ディスクなどを含む。
【0171】
又は、本発明の上記集積ユニットは、ソフトウェアの機能モジュールとして実現され、且つ独立の製品として販売されたり使用されたりする場合に、コンピュータ可読記録媒体に記憶されてもよい。この理解によれば、本発明の実施形態の技術的解決策について、本質的な部分、又は従来技術に貢献できた部分は、ソフトウェア製品として表現され得る。このコンピュータソフトウェア製品は、記憶媒体に記憶されており、電子デバイス(携帯電話、タブレットコンピュータ、デスクトップコンピュータ、サーバー、テレビ、オーディオプレーヤーなどであってもよい)に本発明の各実施形態に記載の方法の全部又は一部を実行させるための複数の命令を含む。前記記憶媒体は、モバイル記憶装置、読み取り専用メモリ(ROM)、磁気ディスク又は光ディスクなどの各種のプログラムコードを記憶可能な媒体を含む。
【0172】
本発明に係るいくつかの方法実施形態に開示された方法は、矛盾がない限り、任意に組み合わせて、新しい方法実施形態を得ることができる。
【0173】
本発明に係るいくつかの製品実施形態に開示された特徴は、矛盾がない限り、任意に組み合わせて、新しい製品実施形態を得ることができる。
【0174】
本発明に係るいくつかの方法又は装置実施形態に開示された特徴は、矛盾がない限り、任意に組み合わせて、新しい方法実施形態又は装置実施形態を得ることができる。
【0175】
上記は、ただ本発明のいくつかの実施形態であり、本発明の保護範囲はこれに限定されるものではない。当業者が本発明に開示された技術範囲内で容易に想到し得る変更又は置換は全て本発明の保護範囲内に含まれるべきである。従って、本発明の保護範囲は特許請求の範囲によって決められるべきである。
【産業上の利用可能性】
【0176】
本発明の実施形態において、イントラブロックコピーの非マージモードにあると確定する場合に、イントラブロックコピーミラーモードのモード情報を取得し、モード情報に基づいて参照ブロックに対してミラー変換を行うか否かを判断し、判断結果が参照ブロックに対してミラー変換を行うことである場合に、参照ブロックに対してミラー変換を行うことによって現在のブロックの予測ブロックを得る。これで、ミラー反転の方法で現在のブロックを予測することによって、よりよい予測結果を実現し、予測誤差を減らし、ビデオ符号化の効率を高める。