(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-04
(54)【発明の名称】幾何学的イントラ予測モードを利用するビデオコーディング方法及び装置
(51)【国際特許分類】
H04N 19/593 20140101AFI20240927BHJP
H04N 19/70 20140101ALI20240927BHJP
【FI】
H04N19/593
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024521289
(86)(22)【出願日】2022-09-05
(85)【翻訳文提出日】2024-04-04
(86)【国際出願番号】 KR2022013245
(87)【国際公開番号】W WO2023075124
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】10-2021-0143104
(32)【優先日】2021-10-25
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0111277
(32)【優先日】2022-09-02
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】591251636
【氏名又は名称】現代自動車株式会社
【氏名又は名称原語表記】HYUNDAI MOTOR COMPANY
【住所又は居所原語表記】12, Heolleung-ro, Seocho-gu, Seoul, Republic of Korea
(71)【出願人】
【識別番号】500518050
【氏名又は名称】起亞株式会社
【氏名又は名称原語表記】KIA CORPORATION
【住所又は居所原語表記】12, Heolleung-ro, Seocho-gu, Seoul, Republic of Korea
(71)【出願人】
【識別番号】524131567
【氏名又は名称】ディジタルインサイツ、インコーポレイテッド
【氏名又は名称原語表記】DIGITALINSIGHTS INC.
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100127465
【氏名又は名称】堀田 幸裕
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100124372
【氏名又は名称】山ノ井 傑
(72)【発明者】
【氏名】アン、ヨンジョ
(72)【発明者】
【氏名】リー、ジョンソク
(72)【発明者】
【氏名】ホ、ジン
(72)【発明者】
【氏名】パク、スンウク
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159RC12
5C159TA31
5C159TB08
5C159TC42
5C159TD15
5C159UA02
5C159UA05
(57)【要約】
幾何学的イントラ予測モードを用いるビデオコーディング方法及び装置に関する開示として、本実施例は、2つの異なるイントラ予測モードを用いて2つのイントラ予測子(intra predictors)を生成した後、幾何学的ブロック分割(geometric block partition)に基づく画素単位の加重値を用いて2つのイントラ予測子を加重和することで最終イントラ予測子を生成するビデオコーディング方法及び装置を提供する。
【特許請求の範囲】
【請求項1】
映像復号化装置が遂行する、現在ブロックをイントラ予測する方法において、
ビットストリームから幾何学的(geometric)イントラ予測フラグを復号化するステップであって、前記幾何学的イントラ予測フラグは前記現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する、ステップ、及び、
前記幾何学的イントラ予測フラグを確認するステップ
を含み、
前記幾何学的イントラ予測フラグが真である場合、
前記ビットストリームから幾何学的分割情報インデックス、第1のイントラ予測モードインデックス、及び第2のイントラ予測モードインデックスを復号化するステップと、
前記現在ブロックのイントラ予測のための予測モードを含むリストを生成するステップと、
前記第1のイントラ予測モードインデックスを用いて前記リストから第1のイントラ予測モードを選択するステップと、
前記第1のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第1のイントラ予測子を生成するステップと、
前記第2のイントラ予測モードインデックスを用いて前記リストから第2のイントラ予測モードを選択するステップと、
前記第2のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第2のイントラ予測子を生成するステップと、
前記幾何学的分割情報インデックスを用いて加重値を獲得するステップであって、前記加重値は、前記第1のイントラ予測子のための第1の加重値、及び第2のイントラ予測子のための第2の加重値を含む、ステップ、及び、
前記加重値を用いて前記第1のイントラ予測子と第2のイントラ予測子を加重和して前記現在ブロックの最終イントラ予測子を生成するステップと、
を含むことを特徴とする、方法。
【請求項2】
さらに、前記リストから前記第1のイントラ予測モードを除いて前記リストを再整列するステップを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記加重値を獲得するステップは、
前記幾何学的分割情報インデックスを用い、前記現在ブロックを二分割する直線に対し、角度インデックス及び距離インデックスを獲得し、前記角度インデックスは、前記直線と直交する線分の角度を示すインデックスであり、前記距離インデックスは前記直線との距離を示すインデックスであることを特徴とする、請求項1に記載の方法。
【請求項4】
前記加重値を獲得するステップは、
前記現在ブロックのサイズ、前記角度インデックス、及び前記距離インデックスを用い、前記現在ブロック内の画素に対し、前記画素と前記直線との間の実際の距離を算定することを特徴とする、請求項3に記載の方法。
【請求項5】
前記加重値を獲得するステップは、
前記実際の距離に基づき、前記現在ブロック内の画素に対して前記第1の加重値と前記第2の加重値を算定し、前記現在ブロック内の画素ごとに前記第1のイントラ予測子の加重値と、前記第2のイントラ予測子の加重値の和は1であることを特徴とする、請求項4に記載の方法。
【請求項6】
前記加重値を獲得するステップは、
前記直線によって二分割された現在ブロックの領域のそれぞれに対し、各領域でより大きな加重値を用いる予測子は、前記イントラ予測に用いられる参照サンプルに基づいて決定されることを特徴とする、請求項3に記載の方法。
【請求項7】
映像符号化装置が遂行する、現在ブロックをイントラ予測する方法において、
幾何学的(geometric)イントラ予測フラグを決定するステップであって、前記幾何学的イントラ予測フラグは前記現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する、ステップ、及び、
前記幾何学的イントラ予測フラグを確認するステップ
を含み、
前記幾何学的イントラ予測フラグが真である場合、
幾何学的分割情報インデックスを決定するステップと、
前記現在ブロックのイントラ予測のためのイントラ予測モードを含むリストを生成するステップと、
第1のイントラ予測モードを決定するステップと、
前記第1のイントラ予測モードに対して前記リストから第1のイントラ予測モードインデックスを決定するステップと、
前記第1のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第1のイントラ予測子を生成するステップと、
第2のイントラ予測モードを決定するステップと、
前記第2のイントラ予測モードに対して前記リストから第2のイントラ予測モードインデックスを決定するステップと、
前記第2のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第2のイントラ予測子を生成するステップと、
前記幾何学的分割情報インデックスを用いて加重値を獲得するステップであって、前記加重値は、前記第1のイントラ予測子のための第1の加重値、及び前記第2のイントラ予測子のための第2の加重値を含む、ステップ、及び、
前記加重値を用いて前記第1のイントラ予測子と第2のイントラ予測子を加重和して前記現在ブロックの最終イントラ予測子を生成するステップと、
を含むことを特徴とする、方法。
【請求項8】
さらに、前記リストから前記第1のイントラ予測モードを除いて前記リストを再整列するステップを含むことを特徴とする、請求項7に記載の方法。
【請求項9】
さらに、前記幾何学的イントラ予測フラグを符号化するステップを含むことを特徴とする、請求項7に記載の方法。
【請求項10】
前記幾何学的イントラ予測フラグが真である場合、
さらに、前記幾何学的分割情報インデックス、前記第1のイントラ予測モードインデックス、及び前記第2のイントラ予測モードインデックスを符号化するステップを含むことを特徴とする、請求項9に記載の方法。
【請求項11】
映像符号化方法によって生成されたビットストリームを保存するコンピュータの読み取り可能な記録媒体であって、前記映像符号化方法は、
幾何学的(geometric)イントラ予測フラグを決定するステップであって、前記幾何学的イントラ予測フラグは現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する、ステップ、及び、
前記幾何学的イントラ予測フラグを確認するステップ
を含み、
前記幾何学的イントラ予測フラグが真である場合、
幾何学的分割情報インデックスを決定するステップと、
前記現在ブロックのイントラ予測のためのイントラ予測モードを含むリストを生成するステップと、
第1のイントラ予測モードを決定するステップと、
前記第1のイントラ予測モードに対して前記リストから第1のイントラ予測モードインデックスを決定するステップと、
前記第1のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第1のイントラ予測子を生成するステップと、
第2のイントラ予測モードを決定するステップと、
前記第2のイントラ予測モードに対して前記リストから第2のイントラ予測モードインデックスを決定するステップと、
前記第2のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第2のイントラ予測子を生成するステップと、
前記幾何学的分割情報インデックスを用いて加重値を獲得するステップであって、前記加重値は、前記第1のイントラ予測子のための第1の加重値、及び前記第2のイントラ予測子のための第2の加重値を含む、ステップ、及び、
前記加重値を用いて前記第1のイントラ予測子と第2のイントラ予測子を加重和して前記現在ブロックの最終イントラ予測子を生成するステップと、
を含むことを特徴とする、記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、幾何学的イントラ予測モードを利用するビデオコーディング方法及び装置に関する。
【背景技術】
【0002】
以下に記載される内容は、単に本発明に関連される背景情報のみを提供するだけで従来技術を構成するものではない。
【0003】
ビデオデータは音声データや静止画データなどに比べて多くのデータ量を有するため、圧縮のための処理なしにそれ自体を保存又は伝送するためにはメモリを含む多くのハードウェアリソースを必要とする。
【0004】
したがって、通常、ビデオデータを保存又は伝送する際には、符号化器を用いてビデオデータを圧縮して保存又は伝送し、復号化器では圧縮されたビデオデータを受信して圧縮を解除して再生する。このようなビデオ圧縮技術としては、H.264/AVC、HEVC(High Efficiency Video Coding)などをはじめ、HEVCに比べて約30%以上の符号化効率を向上させたVVC(Versatile Video Coding)が存在する。
【0005】
しかし、映像のサイズ及び解像度、フレームレートが徐々に増加しており、これに伴い符号化すべきデータ量も増加しているため、従来の圧縮技術よりも符号化効率が良く画質改善効果も高い新たな圧縮技術が要求される。
【0006】
イントラ予測は、現在ブロックに対して予測を遂行するにあたり、同じピクチャ内の空間的に隣接する周辺画素を用いて予測信号を生成する技術である。既存のビデオ符号化/復号化方法及び装置では、イントラ予測技術の符号化性能を向上させるために増加された個数のイントラ予測モードが使用されるか、又はイントラ予測に利用される、空間的に隣接する周辺画素にフィルタリングが適用されるかである。このイントラ予測技術は、予測信号を生成時に現在ブロックと同じピクチャ内の限られた画素を用いるという制約のため、インター予測技術に比べて予測信号の生成性能が相対的に低い。
【0007】
イントラ予測の予測性能を向上させるために、空間的に隣接する画素以外にも複数のラインバッファ(line buffers)が用いられる。例えば、多重参照ライン(MRL、Multiple Reference Line)イントラ予測技術は、1つ又はそれ以上の特定の距離に位置する画素ラインのうちの1つを選択してイントラ予測を遂行する。また、周辺画素と予め定義された行列間の積演算を用いてイントラ予測信号を生成するMIP(Matrix weighted Intra Prediction)技術も存在する。したがって、ビデオ符号化効率を向上させてビデオ画質を改善するために、イントラ予測方法が追加的に改善される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示は、幾何学的イントラ予測モードを適用するにあたり、2つの異なるイントラ予測モードを用いて2つのイントラ予測子(intra predictors)を生成した後、幾何学的ブロック分割(geometric block partition)に基づく画素単位の加重値を用いて2つのイントラ予測子を加重和することで最終イントラ予測子を生成するビデオコーディング方法及び装置を提供することに目的がある。
【課題を解決するための手段】
【0009】
本開示の実施例によると、映像復号化装置が遂行する、現在ブロックをイントラ予測する方法において、ビットストリームから幾何学的(geometric)イントラ予測フラグを復号化するステップであって、前記幾何学的イントラ予測フラグは、前記現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する、ステップ、及び、前記幾何学的イントラ予測フラグを確認するステップを含み、前記幾何学的イントラ予測フラグが真である場合、前記ビットストリームから幾何学的分割情報インデックス、第1のイントラ予測モードインデックス、及び第2のイントラ予測モードインデックスを復号化するステップと、前記現在ブロックのイントラ予測のための予測モードを含むリストを生成するステップと、第1のイントラ予測モードインデックスを用いて前記リストから第1のイントラ予測モードを選択するステップと、前記第1のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第1のイントラ予測子を生成するステップと、第2のイントラ予測モードインデックスを用いて前記リストから第2のイントラ予測モードを選択するステップと、前記第2のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第2のイントラ予測子を生成するステップと、前記幾何学的分割情報インデックスを用いて加重値を獲得するステップであって、前記加重値は、前記第1のイントラ予測子のための第1の加重値、及び前記第2のイントラ予測子のための第2の加重値を含む、ステップ、及び、前記加重値を用いて前記第1のイントラ予測子と第2のイントラ予測子を加重和して前記現在ブロックの最終イントラ予測子を生成するステップと、を含むことを特徴とする、方法を提供する。
【0010】
本開示の他の実施例によると、映像符号化装置が遂行する、現在ブロックをイントラ予測する方法において、幾何学的(geometric)イントラ予測フラグを決定するステップであって、前記幾何学的イントラ予測フラグは、前記現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する、ステップ、及び、前記幾何学的イントラ予測フラグを確認するステップを含み、前記幾何学的イントラ予測フラグが真である場合、幾何学的分割情報インデックスを決定するステップと、前記現在ブロックのイントラ予測のためのイントラ予測モードを含むリストを生成するステップと、第1のイントラ予測モード決定するステップと、前記第1のイントラ予測モードに対して前記リストから第1のイントラ予測モードインデックスを決定するステップと、前記第1のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第1のイントラ予測子を生成するステップと、第2のイントラ予測モードを決定するステップと、前記第2のイントラ予測モードに対して前記リストから第2のイントラ予測モードインデックスを決定するステップと、前記第2のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第2のイントラ予測子を生成するステップと、前記幾何学的分割情報インデックスを用いて加重値を獲得するステップであって、前記加重値は、前記第1のイントラ予測子のための第1の加重値、及び前記第2のイントラ予測子のための第2の加重値を含む、ステップ、及び、前記加重値を用いて前記第1のイントラ予測子と第2のイントラ予測子を加重和して前記現在ブロックの最終イントラ予測子を生成するステップと、を含むことを特徴とする、方法を提供する。
【0011】
本開示の他の実施例によると、映像符号化方法によって生成されたビットストリームを保存するコンピュータの読み取り可能な記録媒体として、前記映像符号化方法は、幾何学的(geometric)イントラ予測フラグを決定するステップであって、前記幾何学的イントラ予測フラグは、現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する、ステップ、及び、前記幾何学的イントラ予測フラグを確認するステップを含み、前記幾何学的イントラ予測フラグが真である場合、幾何学的分割情報インデックスを決定するステップと、前記現在ブロックのイントラ予測のためのイントラ予測モードを含むリストを生成するステップと、第1のイントラ予測モード決定するステップと、前記第1のイントラ予測モードに対して前記リストから第1のイントラ予測モードインデックスを決定するステップと、前記第1のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第1のイントラ予測子を生成するステップと、第2のイントラ予測モードを決定するステップと、前記第2のイントラ予測モードに対して前記リストから第2のイントラ予測モードインデックスを決定するステップと、前記第2のイントラ予測モードを基盤にして前記現在ブロックに空間的に隣接する画素を用いて前記現在ブロックの第2のイントラ予測子を生成するステップと、前記幾何学的分割情報インデックスを用いて加重値を獲得するステップであって、前記加重値は、前記第1のイントラ予測子のための第1の加重値、及び前記第2のイントラ予測子のための第2の加重値を含む、ステップ、及び、前記加重値を用いて前記第1のイントラ予測子と第2のイントラ予測子を加重和して前記現在ブロックの最終イントラ予測子を生成するステップと、を含むことを特徴とする、記録媒体を提供する。
【発明の効果】
【0012】
以上で説明したように、本実施例によると、幾何学的イントラ予測モードを適用するにあたり、2つの異なるイントラ予測モードを用いて2つのイントラ予測子を生成した後、幾何学的ブロック分割に基づく画素単位の加重値を用いて2つのイントラ予測子から最終イントラ予測子を生成するビデオコーディング方法及び装置を提供することにより、ビデオ符号化効率を向上させてビデオ画質を改善することが可能となる効果がある。
【0013】
また、本実施例によると、画素単位の加重値を用いて2つの異なるイントラ予測子から最終イントラ予測子を生成するビデオコーディング方法及び装置を提供することにより、幾何学的イントラ予測モードを適用することにおける、幾何学的ブロック分割(geometric block partition)を模写するブレンディング処理(blending process)による任意のブロック分割の効果を活用することが可能となる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、本開示の技術を具現できる映像符号化装置に関する例示的なブロック図である。
【
図2】
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【
図3a】
図3aは、広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
【
図3b】
図3bは、広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
【
図4】
図4は、現在ブロックの周辺ブロックに関する例示図である。
【
図5】
図5は、本開示の技術を具現できる映像復号化装置の例示的なブロック図である。
【
図6】
図6は、本開示の一実施例に係るイントラ予測子生成装置を示すブロック図である。
【
図7】
図7は、本開示の一実施例に係る、幾何学的イントラ予測モードの適用を示す例示図である。
【
図8】
図8は、本開示の一実施例に係る、2つの予測子のブレンディング処理を示す例示図である。
【
図9a】
図9aは、本開示の一実施例に係るブロックを二分割する直線を示す例示図である。
【
図9b】
図9bは、本開示の一実施例に係るブロックを二分割する直線を示す例示図である。
【
図10】
図10は、本開示の一実施例に係る、映像符号化装置が遂行するイントラ予測方法を示すフローチャートである。
【
図11】
図11は、本開示の一実施例に係る、映像復号化装置が遂行するイントラ予測方法を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の実施例を例示的な図面を参照して詳しく説明する。各図面の構成要素に参照符号を付加するにあたり、同一の構成要素に対しては、たとえ他の図面に表示されても可能な限り同一の符号を有するようにしていることに留意されたい。なお、本実施例を説明するにあたり、関連された公知の構成又は機能についての具体的な説明が本実施例の要旨を曖昧にすると判断される場合には、その詳しい説明は省く。
【0016】
図1は、本開示の技術を具現することができる映像符号化装置についての例示的なブロック図である。以下では、
図1の図示を参照して映像符号化装置とこの装置の下位構成について説明する。
【0017】
映像符号化装置は、ピクチャ分割部110、予測部120、減算器130、変換部140、量子化部145、並べ替え部150、エントロピー符号化部155、 逆量子化部160、逆変換部165、加算器170、ループフィルタ部180、及びメモリ190を含むように構成される。
【0018】
映像符号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されてもよく、ハードウェア及びソフトウェアの組み合わせで具現されてもよい。さらに、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現されてもよい。
【0019】
1つの映像(ビデオ)は、複数のピクチャを含む1つ以上のシーケンスで構成される。各ピクチャは複数の領域に分割され、各領域ごとに符号化が遂行される。例えば、1つのピクチャは、1つ以上のタイル(Tile)又は/及びスライス(Slice)に分割される。ここで、1つ以上のタイルをタイルグループ(Tile Group)として定義する。各タイル又は/及びスライスは、1つ以上のCTU(Coding Tree Unit)に分割される。そして、各CTUはツリー構造によって1つ以上のCU(Coding Unit)に分割される。各CUに適用される情報はCUのシンタックスとして符号化され、1つのCTUに含まれるCUに共通に適用される情報はCTUのシンタックスとして符号化される。さらに、1つのスライス内のすべてのブロックに共通に適用される情報はスライスヘッダのシンタックスとして符号化され、1つ以上のピクチャを構成するすべてのブロックに適用される情報はピクチャパラメータセット(PPS、Picture Parameter Set)あるいはピクチャヘッダに符号化される。さらに、複数のピクチャが共通に参照する情報は、シーケンスパラメータセット(SPS、Sequence Parameter Set)に符号化される。そして、1つ以上のSPSが共通に参照する情報は、ビデオパラメータセット(VPS、Video Parameter Set)に符号化される。さらに、1つのタイル又はタイルグループに共通に適用される情報は、タイル又はタイルグループヘッダのシンタックスとして符号化されてもよい。SPS、PPS、スライスヘッダ、タイル又はタイルグループヘッダに含まれるシンタックスは、上位水準(high level)のシンタックスと称する。
【0020】
ピクチャ分割部110は、CTU(Coding Tree Unit)のサイズを決定する。CTUのサイズに関する情報(CTU size)は、SPS又はPPSのシンタックスとして符号化されて映像復号化装置に伝達される。
【0021】
ピクチャ分割部110は、映像を構成する各ピクチャ(picture)を予め決定されたサイズを有する複数のCTU(Coding Tree Unit)に分割した以降に、ツリー構造(tree structure)を用いてCTU を繰り返し(recursively)分割する。ツリー構造におけるリーフノード(leaf node)が符号化の基本単位であるCU(coding unit)となる。
【0022】
ツリー構造では、上位ノード(あるいは親ノード)が同じサイズの4つの下位ノード(あるいは子ノード)に分割されるクワッドツリー(Quad Tree、QT)、又は上位ノードが2つの下位ノードに分割されるバイナリツリー(Binary Tree、BT)、又は上位ノードが1:2:1の比率で3つの下位ノードに分割されるターナリーツリー(Ternary Tree、TT)、又はこれらのQT構造、BT構造、及びTT構造のうちの2つ以上を混用した構造である。例えば、QTBT(Quad Tree plus Binary Tree)構造が用いられてもよく、あるいはQTBTTT(Quad Tree plus Binary Tree Ternary Tree)構造が用いられてもよい。ここで、BTTTを合わせてMTT(Multiple-Type Tree)と称される。
【0023】
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【0024】
図2に図示されたように、CTUは最初にQT構造に分割される。クワッドツリー分割は、分割ブロック(splitting block)のサイズがQTで許容されるリーフノードの最小ブロックサイズMinQTSizeに到達するまで繰り返される。QT構造の各ノードが下位レイヤの4つのノードに分割されるか否かを指し示す第1のフラグQT_split_flagは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。QTのリーフノードがBTで許容されるルートノードの最大ブロックサイズMaxBTSizeよりも大きくない場合、BT構造又はTT構造のうちのいずれか1つ以上にさらに分割される。BT構造及び/又はTT構造では、複数の分割方向が存在する。例えば、該当ノードのブロックが横に分割される方向と縦に分割される方向の2つが存在する。
図2に示すように、MTT分割が開始されると、ノードが分割されたか否かを指し示す第2のフラグmtt_split_flagと、分割されたら追加的に分割方向(verticalあるいはhorizontal)を示すフラグ及び/又は分割タイプ(BinaryあるいはTernary)を示すフラグがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0025】
代替的に、各ノードが下位レイヤの4つのノードに分割されるか否かを指し示す第1のフラグQT_split_flagを符号化する前に、そのノードが分割されるか否かを指し示すCU分割フラグsplit_cu_flagが符号化されてもよい。CU分割フラグsplit_cu_flag値が分割されていないことを指し示す場合、該当ノードのブロックが分割ツリー構造におけるリーフノード(leaf node)となり、符号化の基本単位であるCU(coding unit)となる。CU分割フラグsplit_cu_flag値が分割されることを指し示す場合、映像符号化装置は、上述した方式で第1のフラグから符号化を開始する。
【0026】
ツリー構造の他の例示としてQTBTが使用される場合、該当ノードのブロックを同一サイズの2つのブロックに横に分割するタイプ(すなわち、symmetric horizontal splitting)と縦に分割するタイプ(すなわち、symmetric vertical splitting)の2つが存在する。BT構造の各ノードが下位レイヤのブロックに分割されるか否かを指し示す分割フラグsplit_flag及び、分割されるタイプを指し示す分割タイプ情報がエントロピー符号化部155によって符号化されて映像復号化装置に伝達される。一方、該当ノードのブロックを互いに非対称形態の2つのブロックに分割するタイプが追加でさらに存在してもよい。非対称形態には、該当ノードのブロックを1:3のサイズ比率を有する2つの長方形ブロックに分割する形態が含まれてもよく、あるいは該当ノードのブロックを対角線方向に分割する形態が含まれてもよい。
【0027】
CUは、CTUからのQTBT又はQTBTTT分割に応じて様々なサイズを有する。以下では、符号化又は復号しようとするCU(すなわち、QTBTTTのリーフノード)に該当するブロックを「現在ブロック」と称する。QTBTTT分割の採用に応じ、現在ブロックの形状は正方形だけでなく長方形であってもよい。
【0028】
予測部120は、現在ブロックを予測して予測ブロックを生成する。予測部120は、イントラ予測部122とインター予測部124を含む。
【0029】
一般に、ピクチャ内の現在ブロックはそれぞれ予測的にコーディングされる。一般に、現在ブロックの予測は(現在ブロックを含むピクチャからのデータを使用する)イントラ予測技術又は(現在ブロックを含むピクチャ以前にコーディングされたピクチャからのデータを使用する)インター予測技術を使用して遂行される。インター予測は、一方向予測と双方向予測の両方を含む。
【0030】
イントラ予測部122は、現在ブロックが含まれた現在ピクチャ内で現在ブロックの周辺に位置するピクセル(参照ピクセル)を用いて現在ブロック内のピクセルを予測する。予測方向によって複数のイントラ予測モードが存在する。例えば、
図3aに見られるように、複数のイントラ予測モードは、プラナー(planar)モードとDCモードを含む2つの非方向性モードと65個の方向性モードを含む。各予測モードによって使用する周辺ピクセルと演算式が異なるように定義される。
【0031】
長方形形状の現在ブロックに対する効率的な方向性予測のために、
図3bに破線の矢印で図示された方向性モード(67~80番、-1~-14番イントラ予測モード)が追加で使用される。これらは、「広角イントラ予測モード(wide angle intra-prediction modes)」と称される。
図3bで矢印は、予測に使用される対応する参照サンプルを指すものであり、予測方向を示すものではない。予測方向は、矢印が指す方向と反対である。広角イントラ予測モードは、現在ブロックが長方形のときに追加のビット伝送なしに特定の方向性モードを反対方向で予測を遂行するモードである。このとき、広角イントラ予測モードのうちから、長方形の現在ブロックの幅と高さの比率により、現在ブロックに利用可能な一部の広角イントラ予測モードが決定される。例えば、45度より小さい角度を有する広角イントラ予測モード(67~80番イントラ予測モード)は、現在ブロックが、高さが幅より小さい長方形の形態であるときに利用可能であり、-135度より大きい角度を有する広角イントラ予測モード(-1~-14番イントラ予測モード)は、現在ブロックが、幅が高さよりも大きい長方形の形態であるときに利用可能である。
【0032】
イントラ予測部122は、現在ブロックを符号化するのに使用するイントラ予測モードを決定する。一部の例で、イントラ予測部122は、色々なイントラ予測モードを使用して現在ブロックをエンコーディングし、テストされたモードから使用する適切なイントラ予測モードを選択してもよい。例えば、イントラ予測部122は、色々にテストされたイントラ予測モードに対するビットレート歪み(rate-distortion)分析を用いてビットレート歪み値を計算し、テストされたモードの中で最善のビットレート歪み特徴を有するイントラ予測モードを選択してもよい。
【0033】
イントラ予測部122は、複数のイントラ予測モードの中から1つのイントラ予測モードを選択し、選択されたイントラ予測モードによって決定される周辺ピクセル(参照ピクセル)と演算式を用いて現在ブロックを予測する。選択されたイントラ予測モードに関する情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0034】
インター予測部124は、動き補償プロセスを用いて現在ブロックに対する予測ブロックを生成する。インター予測部124は、現在ピクチャより先に符号化及び復号化された参照ピクチャ内で現在ブロックと最も類似したブロックを探索し、その探索されたブロックを用いて現在ブロックに対する予測ブロックを生成する。そして、現在ピクチャ内の現在ブロックと参照ピクチャ内の予測ブロックとの間の変位(displacement)に該当する動きベクトル(Motion Vector:MV)を生成する。一般に、動き推定はルマ(luma)成分に対して遂行され、ルマ成分に基づいて計算された動きベクトルはルマ成分及びクロマ成分の両方に対して使用される。現在ブロックを予測するために使用された参照ピクチャに関する情報及び、動きベクトルに関する情報を含む動き情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0035】
インター予測部124は、予測の正確性を高めるために、参照ピクチャ又は参照ブロックに対する補間を遂行してもよい。すなわち、連続する2つの整数サンプル間のサブサンプルは、その2つの整数サンプルを含む連続された複数の整数サンプルにフィルタ係数を適用して補間される。補間された参照ピクチャに対して現在ブロックと最も類似したブロックを検索するステップを遂行すると、動きベクトルは整数サンプル単位の精度(precision)ではなく小数単位の精度まで表現される。動きベクトルの精度又は解像度(resolution)は、符号化しようとする対象領域、例えばスライス、タイル、CTU、CUなどの単位ごとに異なるように設定される。このような適応的動きベクトル解像度(Adaptive Motion Vector Resolution:AMVR)が適用される場合、各対象領域に適用する動きベクトル解像度に関する情報は、対象領域ごとにシグナリングされなければならない。例えば、対象領域がCUである場合、各CUごとに適用された動きベクトル解像度に関する情報がシグナリングされる。動きベクトル解像度に関する情報は、後述する差分動きベクトルの精度を示す情報である。
【0036】
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャと、各参照ピクチャ内で現在ブロックと最も類似したブロック位置を表す2つの動きベクトルが用いられる。インター予測部124は、参照ピクチャリスト0(RefPicList0)及び参照ピクチャリスト1(RefPicList1)からそれぞれ第1の参照ピクチャ及び第2の参照ピクチャを選択し、各参照ピクチャ内で現在ブロックと類似したブロックを探索して第1の参照ブロックと第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャに関する情報及び、2つの動きベクトルに関する情報を含む動き情報を符号化部150に伝達する。ここで、参照ピクチャリスト0は、予め復元されたピクチャのうち、ディスプレイ順序で現在ピクチャ以前のピクチャで構成され、参照ピクチャリスト1は、予め復元されたピクチャのうち、ディスプレイ順序で現在ピクチャ以降のピクチャで構成される。しかしながら、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャ以降の既復元のピクチャが参照ピクチャリスト0に追加でさらに含まれてもよく、逆に現在ピクチャ以前の既復元のピクチャが参照ピクチャリスト1に追加でさらに含まれてもよい。
【0037】
動き情報を符号化するのに必要とされるビット量を最小化するために多様な方法が用いられる。
【0038】
例えば、現在ブロックの参照ピクチャと動きベクトルが、周辺ブロックの参照ピクチャ及び動きベクトルと同一の場合には、その周辺ブロックを識別できる情報を符号化することで、現在ブロックの動き情報を映像復号化装置に伝達することができる。この方法を「マージモード(merge mode)」とする。
【0039】
マージモードで、インター予測部124は、現在ブロックの周辺ブロックから予め決定された個数のマージ候補ブロック(以下、「マージ候補」という)を選択する。
【0040】
マージ候補を誘導するための周辺ブロックとしては、
図4に示されたように、現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2のうちの全部又は一部が使用される。さらに、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同一であってもよく異なってもよい)内に位置するブロックがマージ候補として使用されてもよい。例えば、参照ピクチャ内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加でさらに使用される。以上で記述された方法によって選定されたマージ候補の個数が予め設定された個数より小さいと、0ベクトルをマージ候補に追加する。
【0041】
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれたマージ候補の中から現在ブロックの動き情報として使用するマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部150によって符号化されて映像復号化装置に伝達される。
【0042】
マージスキップ(merge skip)モードはマージモードの特別な場合であり、量子化を遂行した後、エントロピー符号化のための変換係数が全て零(zero)に近いとき、残差信号の伝送なしに周辺ブロック選択情報のみを伝送する。マージスキップモードを用いることで、動きの少ない映像、静止画、スクリーンコンテンツ映像などで相対的に高い符号化効率を達成することができる。
【0043】
以下、マージモードとマージスキップモードを総称し、マージ/スキップモードで表す。
【0044】
動き情報を符号化するためのまた別の方法は、AMVP(Advanced Motion Vector Prediction)モードである。
【0045】
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、
図4に図示された現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2のうち、全部又は一部が用いられる。さらに、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同じであってもよく異なってもよい)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用されてもよい。例えば、参照ピクチャ内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述された方法によって動きベクトル候補の個数が予め設定された個数より小さいと、0ベクトルを動きベクトル候補に追加する。
【0046】
インター予測部124は、この周辺ブロックの動きベクトルを用いて予測動きベクトル候補を誘導し、予測動きベクトル候補を用いて現在ブロックの動きベクトルに対する予測動きベクトルを決定する。そして、現在ブロックの動きベクトルから予測動きベクトルを減算して差分動きベクトルを算出する。
【0047】
予測動きベクトルは、予測動きベクトル候補に予め定義された関数(例えば、中央値、平均値演算など)を適用して求める。この場合、映像復号化装置も予め定義された関数を知っている。また、予測動きベクトル候補を誘導するために使用する周辺ブロックは既に符号化及び復号化が完了されたブロックであるため、映像復号化装置もその周辺ブロックの動きベクトルも既に知っている。したがって、映像符号化装置は、予測動きベクトル候補を識別するための情報を符号化する必要がない。したがって、この場合には、差分動きベクトルに関する情報と、現在ブロックを予測するために使用した参照ピクチャに関する情報が符号化される。
【0048】
一方、予測動きベクトルは、予測動きベクトル候補のうちのいずれか1つを選択する方式で決定されてもよい。この場合には、差分動きベクトルに関する情報及び現在ブロックを予測するために使用した参照ピクチャに関する情報と共に、選択された予測動きベクトル候補を識別するための情報が追加で符号化される。
【0049】
減算器130は、現在ブロックからイントラ予測部122又はインター予測部124によって生成された予測ブロックを減算して残差ブロックを生成する。
【0050】
変換部140は、空間領域のピクセル値を有する残差ブロック内の残差信号を周波数ドメインの変換係数に変換する。変換部140は、残差ブロックの全体サイズを変換単位として使用して残差ブロック内の残差信号を変換してもよく、あるいは残差ブロックを複数個のサブブロックに分割してそのサブブロックを変換単位として使用して変換してもよい。あるいは、変換領域及び、非変換領域である2つのサブブロックに区分し、変換領域サブブロックのみを変換単位として使用して残差信号を変換してもよい。ここで、変換領域サブブロックは、横軸(又は縦軸)基準1:1のサイズ比率を有する2つの長方形ブロックのうちの1つである。この場合、サブブロックのみを変換したことを指し示すフラグcu_sbt_flag、方向性(vertical/horizontal)情報cu_sbt_horizontal_flag、及び/又は位置情報cu_sbt_pos_flagがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。また、変換領域サブブロックのサイズは、横軸(あるいは縦軸)基準1:3のサイズ比率を有し、このような場合、該当分割を区分するフラグcu_sbt_quad_flagが追加的にエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0051】
一方、変換部140は、残差ブロックに対して横方向と縦方向に個別に変換を遂行する。変換のために、様々なタイプの変換関数又は変換行列が用いられる。例えば、横方向変換と縦方向変換のための変換関数の対をMTS(Multiple Transform Set)と定義する。変換部140は、MTSのうち、変換効率が最も良い1つの変換関数対を選択し、横及び縦方向にそれぞれ残差ブロックを変換する。MTSのうちから選択された変換関数対に関する情報mts_idxは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0052】
量子化部145は、変換部140から出力される変換係数を、量子化パラメータを用いて量子化し、量子化された変換係数をエントロピー符号化部155に出力する。量子化部145は、任意のブロックあるいはフレームに対し、変換なしに、関連された残差ブロックを直ちに量子化してもよい。量子化部145は、変換ブロック内の変換係数の位置に応じて互いに異なる量子化係数(スケーリング値)を適用してもよい。二次元に配置された量子化された変換係数に適用される量子化行列は符号化されて映像復号化装置にシグナリングされる。
【0053】
並べ替え部150は、量子化された残差値に対して係数値の並べ替えを遂行する。
【0054】
並べ替え部150は、係数走査(coefficient scanning)を用いて2次元の係数アレイを1次元の係数シーケンスに変更する。例えば、並べ替え部150では、千鳥状スキャン(zig-zag scan)又は対角線スキャン(diagonal scan)を用いてDC係数から高周波数領域の係数までスキャンして1次元の係数シーケンスを出力する。変換単位のサイズ及びイントラ予測モードによって千鳥状スキャンの代わりに2次元の係数アレイを列方向にスキャンする垂直スキャン、2次元のブロック形態係数を行方向にスキャンする水平スキャンが使用されてもよい。すなわち、変換単位のサイズ及びイントラ予測モードによって千鳥状スキャン、対角線スキャン、垂直方向スキャン、及び水平方向スキャンのうちから使用されるスキャン方法が決定されてもよい。
【0055】
エントロピー符号化部155は、CABAC(Context-based Adaptive Binary Arithmetic Code)、指数ゴロム(Exponential Golomb)などの様々な符号化方式を用い、並べ替え部150から出力された1次元の量子化された変換係数のシーケンスを符号化することによってビットストリームを生成する。
【0056】
また、エントロピー符号化部155は、ブロック分割に関連されたCTUサイズ、CU分割フラグ、QT分割フラグ、MTT分割タイプ、MTT分割方向などの情報を符号化し、映像復号化装置が映像符号化装置と同様にブロックを分割できるようにする。また、エントロピー符号化部155は、現在ブロックがイントラ予測によって符号化されたか、それともインター予測によって符号化されたかの如何を指し示す予測タイプに関する情報を符号化し、予測タイプによってイントラ予測情報(すなわち、イントラ予測モードに関する情報)又はインター予測情報(動き情報の符号化モード(マージモード又はAMVPモード)、マージモードの場合はマージインデックス、AMVPモードの場合は参照ピクチャインデックス及び差分動きベクトルに関する情報)を符号化する。また、エントロピー符号化部155は、量子化に関連された情報、すなわち量子化パラメータに関する情報及び量子化行列に関する情報を符号化する。
【0057】
逆量子化部160は量子化部145から出力される量子化された変換係数を逆量子化して変換係数を生成する。逆変換部165は、逆量子化部160から出力される変換係数を周波数ドメインから空間ドメインに変換して残差ブロックを復元する。
【0058】
加算部170は、復元された残差ブロックと予測部120によって生成された予測ブロックを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、次の順序のブロックをイントラ予測するときに参照ピクセルとして使用される。
【0059】
ループ(loop)フィルタ部180は、ブロックベースの予測及び変換/量子化によって発生するブロッキングアーチファクト(blocking artifacts)、リンギングアーチファクト(ringing artifacts)、ぼかしアーチファクト(blurring artifacts)等を減らすために復元されたピクセルに対するフィルタリングを遂行する。フィルタ部180は、インループ(in-loop)フィルタとしてデブロックフィルタ182、SAO(Sample Adaptive Offset)フィルタ184、及びALF(Adaptive Loop Filter)186の全部又は一部を含む。
【0060】
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びalf186は、 デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びalf186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べ、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
【0061】
デブロックフィルタ182、SAOフィルタ184、及びALF186を介してフィルタリングされた復元ブロックはメモリ190に保存される。あるピクチャ内のすべてのブロックが復元されると、復元されたピクチャは、後に符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
【0062】
図5は、本開示の技術を具現することができる映像復号化装置の例示的なブロック図である。以下では、
図5を参照して映像復号化装置とこの装置の下位構成について説明することにする。
【0063】
映像復号化装置は、エントロピー復号化部510、並べ替え部515、逆量子化部520、逆変換部530、予測部540、加算器550、ループフィルタ部560、及びメモリ570を含むように構成される。
【0064】
図1の映像符号化装置と同様に、映像復号化装置の各構成要素はハードウェア又はソフトウェアで具現されてもよく、ハードウェア及びソフトウェアの組み合わせで具現されてもよい。さらに、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現されてもよい。
【0065】
エントロピー復号化部510は、映像符号化装置によって生成されたビットストリームを復号化してブロック分割に関連された情報を抽出することで、復号化しようとする現在ブロックを決定し、現在ブロックを復元するために必要な予測情報と、残差信号に関する情報などを抽出する。
【0066】
エントロピー復号化部510は、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)からCTUサイズに関する情報を抽出してCTUのサイズを決定し、ピクチャを決定されたサイズのCTUに分割する。そして、CTUをツリー構造の最上位レイヤ、すなわちルートノードとして決定し、CTUに関する分割情報を抽出することで、ツリー構造を用いてCTUを分割する。
【0067】
例えば、QTBTTT構造を用いてCTUを分割する場合、まずQTの分割に関連された第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、MTTの分割に関連された第2のフラグMTT_split_flag及び分割方向(vertical/horizontal)及び/又は分割タイプ(binary/ternary)情報を抽出して該当リーフノードをMTT構造に分割する。これにより、QTのリーフノード以下の各ノードをBT又はTT構造に繰り返し(recursively)分割する。
【0068】
また他の例として、QTBTTT構造を用いてCTUを分割する場合、まずCUの分割可否を指し示すCU分割フラグsplit_cu_flagを抽出し、該当ブロックが分割された場合、第1のフラグQT_split_flagを抽出してもよい。分割の過程で、各ノードは、0回以上の繰り返しのQT分割後に0回以上の繰り返しのMTT分割が発生する。例えば、CTUはすぐにMTT分割が発生してもよく、逆に複数回のQT分割のみが発生してもよい。
【0069】
別の例として、QTBT構造を用いてCTUを分割する場合、QTの分割に関連された第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、BTでさらに分割されるか否かを指し示す分割フラグsplit_flag及び分割方向情報を抽出する。
【0070】
一方、エントロピー復号化部510は、ツリー構造の分割を用いて復号化しようとする現在ブロックを決定すると、現在ブロックがイントラ予測されたかそれともインター予測されたかを指し示す予測タイプに関する情報を抽出する。予測タイプ情報がイントラ予測を指し示す場合、エントロピー復号化部510は、現在ブロックのイントラ予測情報(イントラ予測モード)に関するシンタックス要素を抽出する。予測タイプ情報がインター予測を指し示す場合、エントロピー復号化部510は、インター予測情報に関するシンタックス要素、すなわち、動きベクトル及び、その動きベクトルが参照する参照ピクチャを表す情報を抽出する。
【0071】
また、エントロピー復号化部510は、量子化関連の情報、及び残差信号に関する情報として現在ブロックの量子化された変換係数に関する情報を抽出する。
【0072】
並べ替え部515は、映像符号化装置によって遂行された係数走査順序の逆順で、エントロピー復号化部510でエントロピー復号化された1次元の量子化された変換係数のシーケンスを再び2次元の係数アレイ(すなわち、ブロック)に変更することができる。
【0073】
逆量子化部520は、量子化された変換係数を逆量子化し、量子化パラメータを用いて量子化された変換係数を逆量子化する。逆量子化部520は、二次元に配列された量子化された変換係数に対して互いに異なる量子化係数(スケーリング値)を適用してもよい。逆量子化部520は、映像符号化装置から量子化係数(スケーリング値)の行列を量子化された変換係数の2次元アレイに適用して逆量子化を遂行する。
【0074】
逆変換部530は、逆量子化された変換係数を周波数ドメインから空間ドメインに逆変換して残差信号を復元することで、現在ブロックに対する残差ブロックを生成する。
【0075】
また、逆変換部530は、変換ブロックの一部領域(サブブロック)のみ逆変換する場合、変換ブロックのサブブロックのみを変換したことを指し示すフラグcu_sbt_flag、サブブロックの方向性(vertical/horizontal)情報cu_sbt_ horizontal_ flag及び/又はサブブロックの位置情報cu_sbt_pos_flagを抽出し、該当サブブロックの変換係数を周波数ドメインから空間ドメインに逆変換することによって残差信号を復元し、逆変換されない領域に対しては残差信号で「0」値を満たすことによって現在ブロックに対する最終残差ブロックを生成する。
【0076】
また、MTSが適用された場合、逆変換部530は、映像符号化装置からシグナリングされたMTS情報mts_idxを用いて横及び縦方向にそれぞれ適用する変換関数又は変換行列を決定し、決定された変換関数を用いて横及び縦方向に変換ブロック内の変換係数に対して逆変換を遂行する。
【0077】
予測部540は、イントラ予測部542及びインター予測部544を含む。イントラ予測部542は、現在ブロックの予測タイプがイントラ予測であるときに活性化され、インター予測部544は、現在ブロックの予測タイプがインター予測であるときに活性化される。
【0078】
イントラ予測部542は、エントロピー復号化部510から抽出されたイントラ予測モードに対するシンタックス要素から複数のイントラ予測モードのうちの現在ブロックのイントラ予測モードを決定し、イントラ予測モードに応じて現在ブロック周囲の参照ピクセルを用いて現在ブロックを予測する。
【0079】
インター予測部544は、エントロピー復号化部510から抽出されたインター予測モードに対するシンタックス要素を用いて現在ブロックの動きベクトルと、その動きベクトルが参照する参照ピクチャを決定し、動きベクトルと参照ピクチャを用いて現在ブロックを予測する。
【0080】
加算器550は、逆変換部から出力される残差ブロックと、インター予測部又はイントラ予測部から出力される予測ブロックを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、後で復号化するブロックをイントラ予測するときの参照ピクセルとして活用される。
【0081】
ループフィルタ部560は、インループフィルタとしてデブロックフィルタ562、SAOフィルタ564及びALF566を含む。デブロックフィルタ562は、ブロック単位の復号化に因って発生するブロッキング現象(blocking artifact)を除去するために、復元されたブロック間の境界をデブロックフィルタリングする。SAOフィルタ564及びALF566は、損失符号化(lossy coding)に因って発生する復元されたピクセルと元本ピクセルとの間の差を補償するために、デブロックフィルタリング以降の復元されたブロックに対して追加のフィルタリングを遂行する。ALFのフィルタ係数は、ビットストリームから復号したフィルタ係数に関する情報を用いて決定される。
【0082】
デブロックフィルタ562、SAOフィルタ564、及びALF566を介してフィルタリングされた復元ブロックはメモリ570に保存される。あるピクチャ内のすべてのブロックが復元されると、復元されたピクチャは、後で符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
【0083】
本実施例は、以上で説明したような映像(ビデオ)の符号化及び復号化に関する。より詳しくは、2つの異なるイントラ予測モードを用いて2つのイントラ予測子(intra predictors)を生成した後、幾何学的ブロック分割(geometric block partition)に基づく画素単位の加重値を用いて2つのイントラ予測子を加重和することによって最終イントラ予測子を生成するビデオコーディング方法及び装置を提供する。
【0084】
以下の実施例は、映像符号化装置内イントラ予測部122、及び映像復号化装置内イントラ予測部542によって遂行される。
【0085】
映像符号化装置は、現在ブロックのイントラ予測において、ビットレート歪曲最適化の側面から本実施例に関連されたシグナリング情報を生成することができる。映像符号化装置は、エントロピー符号化部155を用いてこれを符号化した後、映像復号化装置に伝送することができる。映像復号化装置は、エントロピー復号化部510を用いてビットストリームから現在ブロックのイントラ予測に関連されたシグナリング情報を復号化することができる。
【0086】
以下の説明で、「対象ブロック(target block)」という用語は、上述したような現在ブロック又はコーディングユニット(CU、coding unit)と同じ意味で使用される場合や、又はコーディングユニットの一部の領域を意味する場合がある。
【0087】
また、1つのフラグの値が真であることは、フラグが1に設定される場合を示す。また、1つのフラグの値が偽であることは、フラグが0に設定される場合を示す。
【0088】
I.イントラ予測モード及びMPM(Most Probable Mode)
イントラ予測は、上述したように、現在符号化しようとするブロックの周辺に存在するサンプルを参照して現在ブロックを予測する方法である。VVC技術におけるイントラ予測モードは、
図3aに例示されたように、非方向性モード(すなわち、プラナー(planar)及びDC)の他に、細分化された方向性モード(すなわち、2ないし66)を有する。さらに、
図3bの例示に追加されたように、ルマブロックのイントラ予測モードは、広角イントラ予測(WAIP、Wide-angle Intra Prediction)による方向性モード(-14ないし-1及び67ないし80)を有する。
【0089】
イントラ予測におけるMPM(Most Probable Mode)技術は、現在ブロックのイントラ予測時に周辺ブロックのイントラ予測モードを用いる。映像符号化装置は、現在ブロックに空間的に隣接する予め定義された位置から誘導されるイントラ予測モードを含むようにMPMリストを生成する。映像符号化装置は、予測モードのインデックスの代わりにMPMリストのインデックスを伝送するで、イントラ予測モードの符号化効率を向上させることができる。
【0090】
II. 本開示による実施例
図6は、本開示の一実施例に係るイントラ予測子生成装置を示すブロック図である。
【0091】
本実施例に係るイントラ予測子生成装置(以下、「予測子生成装置」)は、幾何学的イントラ予測モードを適用するにあたり、現在ブロックに対して2つの異なるイントラ予測モードを用いて2つのイントラ予測子を生成した後、画素単位の加重値を基盤にしてブレンディング処理(blending process)を遂行して最終イントラ予測子(final intra predictor)を生成する。予測子生成装置は、第1のイントラ予測モード選択部610、第1のイントラ予測子生成部620、第2のイントラ予測モード選択部630、第2のイントラ予測子生成部640、及び最終イントラ予測子生成部650の全部又は一部を含む。
【0092】
図7は、本開示の一実施例に係る、幾何学的イントラ予測モードの適用を示す例示図である。
【0093】
幾何学的イントラ予測モードの適用時に、
図7に例示されたように、まずイントラ予測装置は、現在ブロックに対して異なるイントラ予測モードを用いて第1のイントラ予測子と第2のイントラ予測子を生成する。イントラ予測装置は、幾何学的ブロック分割(geometric block partition)に基づく加重値を用いて第1のイントラ予測子と第2のイントラ予測子を加重和することによって最終イントラ予測子を生成する。
図7の例示で、nCbw及びnCbhは現在ブロックの幅と高さを表す。
【0094】
図7の例示で、加重値は第1のイントラ予測子に対する加重値を表す。加重値の意味及び設定については後で記述する。
【0095】
一例として、第1のイントラ予測子は、上述のようなMPMリストのうちの1つのイントラ予測モードを用いて生成された信号である。さらに、第2のイントラ予測子も、MPMリストのうちの第1のイントラ予測子の生成に使用されたイントラ予測モードを除く残りのモードのうちの1つのイントラ予測モードを用いて生成された信号である。
【0096】
以下、映像復号化装置の側面からイントラ予測装置内の構成要素の動作を記述する。上述のように、イントラ予測装置は映像符号化装置にも含まれる。
【0097】
第1のイントラ予測モード選択部610は、現在ブロックに対してイントラ予測のためのMPMリストを生成する。第1のイントラ予測モード選択部610は、映像符号化装置からシグナリングされたインデックス情報を用いてMPMリストのうちの該当インデックスが指示するイントラ予測モードを選択する。
【0098】
第1のイントラ予測子生成部620は、第1のイントラ予測モードを基盤にして現在ブロックと空間的に隣接する予め復元された画素を用いて現在ブロックの第1のイントラ予測子を生成する。
【0099】
第2のイントラ予測モード選択部630は、MPMリストのうちの第1のイントラ予測モードを除いてMPMリストを再整列(reordering)する。第2のイントラ予測モード選択部630は、映像符号化装置からシグナリングされたインデックス情報を用いて再整列されたMPMリストのうち、該当インデックスが指示するイントラ予測モードを選択する。
【0100】
第2のイントラ予測子生成部640は、第2のイントラ予測モードを基盤にして現在ブロックと空間的に隣接する予め復元された画素を用いて現在ブロックの第2のイントラ予測子を生成する。
【0101】
最終イントラ予測子生成部650は、映像符号化装置からシグナリングされたインデックスを用い、例えばルックアップテーブルから幾何学的ブロック分割情報を獲得する。最終イントラ予測子生成部650は、幾何学的ブロック分割情報に基づいて加重値を生成する。ここで、加重値は、第1のイントラ予測子のための加重値w1と第2のイントラ予測子のための加重値w2を含む。最終イントラ予測子生成部650は、加重値を用いて第1のイントラ予測子と第2のイントラ予測子を加重和(weighted sum)することで、最終イントラ予測子を生成する。このとき、上述した加重値は、幾何学的ブロック分割情報に応じて画素ごとに異なる値である。
【0102】
一方、現在ブロック、すなわちコーディングユニットに適用される幾何学的イントラ予測モードに関連して映像符号化装置から映像復号化装置にシグナリングされるシンタックスは表1のように表す。
【0103】
【0104】
表1に示すように、MIPモードでない場合、現在ブロックの幾何学的イントラ予測モードに関する情報がシグナリングされる。幾何学的イントラ予測モードに関する情報は、次のようなシンタックス要素を用いてシグナリングされる。
【0105】
まず、上位レベルシンタックス(high level syntax)を用いて幾何学的イントラ予測モードの活性化如何を指示するフラグであるsps_gim_enable_flagがシグナリングされる。表1の例示では、シグナリングのために上位レベルシンタックスのうち、SPSを用いるが、必ずしもこれに限定するわけではない。すなわち、幾何学的イントラ予測モードの使用如何は、SPS、PPS、スライスヘッダ(slice header)、ピクチャヘッダ(picture header)などのような多様な上位レベルシンタックスのうちの1つ又はそれ以上でシグナリングされる。
【0106】
フラグsps_gim_enable_flagが真として幾何学的イントラ予測モードを用いる場合、コーディングユニットに対して幾何学的イントラ予測モードの使用如何を指示する幾何学的イントラ予測フラグintra_gim_flagがシグナリングされる。
【0107】
その後、intra_gim_flagの値が真であり、コーディングユニットが幾何学的イントラ予測モードを用いる場合、幾何学的イントラ予測モードに関する追加的な情報がシグナリング又は解析される。
【0108】
一方、intra_gim_flagの値が偽としてコーディングユニットが幾何学的イントラ予測モードを使用しない場合、既存の方法に従ってイントラ予測モードに関する追加的な情報がシグナリング又は解析(parsing)される。
【0109】
幾何学的イントラ予測フラグintra_gim_flagの値が真である場合、シグナリングされる追加的な情報は、コーディングユニットに適用される幾何学的分割形態を指示する幾何学的分割情報インデックスintra_gim_partition_idx、第1のイントラ予測モードを指示する第1のイントラ予測モードインデックスintra_gim_idx0、及び第2のイントラ予測モードを指示する第2のイントラ予測モードインデックスであるintra_gim_idx1を含む。
【0110】
一方、表1に例示された手順のように、追加的な情報は、幾何学的分割形態を指示するインデックスであるintra_gim_partition_idx、第1のイントラ予測モードを指示するインデックスであるintra_gim_idx0、及び第2のイントラ予測モードを指示するインデックスであるintra_gim_idx1の順でシグナリング又は解析されるが、シグナリング又は解析順が必ずしもこれに限定されるわけではない。すなわち、シグナリング又は解析順の変形もまた本発明の範囲に含まれる。例えば、追加的な情報は、第1のイントラ予測モードを指示するインデックス、第2のイントラ予測モードを指示するインデックス、及び幾何学的分割形態を指示するインデックスの順でシグナリング又は解析される。
【0111】
表1によると、幾何学的イントラ予測モードに関する情報のうち、コーディングユニットに適用される幾何学的分割形態の情報は、これを指示するインデックスintra_gim_partition_idxを用いてシグナリング又は解析される。そのような幾何学的分割形態の情報は、1つのブロックの二分割に関する情報を含む。この場合、1つのブロックの二分割は、予め定義された直線を用いてブロックを分割することを含む。このような幾何学的分割形態の情報は、後で詳しく説明する。
【0112】
表1によると、第1のイントラ予測モードを指示するインデックスと第2のイントラ予測モードを指示するインデックスが追加的にシグナリングされる。一例として、第1のイントラ予測モードと第2のイントラ予測モードは、符号化及び復号化の過程でサポートするすべてのイントラ予測モードのうちの2つの異なるイントラ予測モードである。
【0113】
別の例として、第1のイントラ予測モードと第2のイントラ予測モードは、現在ブロックに空間的に隣接する予め定義された位置から誘導される候補リストに含まれるイントラ予測モードのうちの2つの異なるイントラ予測モードである。このとき、このような候補リストはMPMリストである。すなわち、本開示に係る第1のイントラ予測モードと第2のイントラ予測モードは、予め定義されたイントラ予測モードの候補リストの中から選択された予測モードであることに限定される。
【0114】
別の例として、幾何学的イントラ予測モードに関連して映像符号化装置から映像復号化装置にシグナリングされるシンタックスは、表2のように表す。
【0115】
【0116】
表2に示すように、MIPモードでない場合、既存の方法に従ってイントラ予測モードに関する情報がシグナリングされた後、幾何学的イントラ予測モードに関する情報がシグナリングされる。幾何学的イントラ予測モードに関する情報は、次のようなシンタックス要素を用いてシグナリングされる。
【0117】
まず、上位レベルシンタックスを用いて幾何学的イントラ予測モードの活性化如何を指示するフラグであるsps_gim_enable_flagがシグナリングされる。
【0118】
フラグsps_gim_enable_flagが真として幾何学的イントラ予測モードを用いる場合、コーディングユニットに対して幾何学的イントラ予測モードの使用如何を指示する幾何学的イントラ予測フラグintra_gim_flagがシグナリングされる。
【0119】
幾何学的イントラ予測フラグintra_gim_flag の値が真である場合、シグナリングされる追加的な情報は、コーディングユニットに適用される幾何学的分割形態を指示する幾何学的分割情報インデックスintra_gim_partition_idx、及び第2のイントラ予測モードを指示する第2のイントラ予測モードインデックスであるintra_gim_idx1を含む。このとき、第1のイントラ予測モードを指示する第1のイントラ予測モードインデックスintra_gim_idx0は、基本方法に従って最初に解析されたイントラ予測モード(例えば、intra_luma_mpm_idx又はintra_luma_mpm_remainder)を指示する。
【0120】
図8は、本開示の一実施例に係る、2つの予測子のブレンディング処理を示す例示図である。
【0121】
図8に例示されたように、現在ブロックに対して2つの異なるイントラ予測モードを選択した後、予測子生成装置は各イントラ予測モードに該当するイントラ予測子を生成する。予測子生成装置は、2つのイントラ予測子を加重和して最終イントラ予測子を生成する。このとき、加重和を遂行するにあたり、任意の形態のブロック分割のための幾何学的ブロック分割を遂行する二分割直線を基準に、2つのイントラ予測子がブレンディング処理される。すなわち、予測子生成装置は、ブロック内の画素ごとに異なるように加重和をするブレンディング処理を遂行して2つのイントラ予測子から最終イントラ予測子を生成することができる。
【0122】
一方、直線を基準にブロック内の画素ごとに異なる加重和を遂行するにあたり、2つのイントラ予測子内の同一位置の画素に適用される加重値の和は1である。このとき、加重値が含まれる集合は{0、1、2、3、4、5、6、7、8}であり、スケーリング値を考慮する場合、前述した集合は{0、1/8、2/ 8、3/8、4/8、5/8、6/8、7/8、1}である。例えば、現在ブロックの(x,y)画素位置で第1のイントラ予測子の加重値が1(スケーリング値が考慮された場合1/8)の場合、第2のイントラ予測子の加重値は7(スケーリング値が考慮された場合7/8)である。
【0123】
図8の例示で、最終イントラ予測子に対する整数で表示される加重値は、第1のイントラ予測子に対する加重値を表す。
【0124】
また、二分割直線は、第1のイントラ予測子の加重値と第1のイントラ予測子の加重値との間の大小が変更される境界を表す。例えば、
図8の例示で、直線を中心にA領域に含まれた画素に対し、第1のイントラ予測子の加重値が第2のイントラ予測子の加重値以上である。また、基準線を中心にB領域に含まれた画素に対し、第2のイントラ予測子の加重値が第1のイントラ予測子の加重値以上である。
【0125】
以下、各領域でより大きな加重値を用いる予測子を主予測子と称する。そのような主予測子は、イントラ予測に用いられる参照サンプルを考慮して決定される。
図8に例示されたA領域の場合、上段参照サンプルよりも左側参照サンプルにより近接するので、第1のイントラ予測子が主予測子として設定される。
【0126】
図9a及び
図9bは、本開示の一実施例に係るブロックを二分割する直線を示す例示図である。
【0127】
幾何学的イントラ予測モードに従って符号化/復号化されるブロックに対して幾何学的分割形態は、ブロックの二分割を表す直線に基づく。そのような直線の情報は、ブロックの中心から該当直線までの距離を表すインデックスdistanceIdx、及び該当直線と直交する線分の角度を表すインデックスangleIdxを含む。該当直線と直交する線分の角度を示すインデックスは、
図9aに例示されたように設定される。さらに、そのような角度及び距離に応じた64個の幾何学的ブロック分割形態は、
図9bに例示されたように設定される。
【0128】
64個の幾何学的分割形態は、表3に示すように、幾何学的分割形態を指示するインデックスであるintra_gim_partition_idxシンタックスを用いてシグナリングされる。
【0129】
【0130】
図9bの例示から誘導されたインデックスdistanceIdxは、現在ブロックのサイズを排除した値である。したがって、現在ブロックのサイズ情報、角度を示すインデックスangleIdx、及び距離を示すインデックスdistanceIdxを用いて現在ブロック内の画素と直線との間の実際の距離が算定される。ここで、実際の距離は画素単位で表現された値である。
【0131】
一方、実際の距離を用いて現在ブロック内の画素別加重値が算定される。例えば、現在ブロック内の1つの画素に対し、該当画素と直線との間の実際の距離が遠いほど、上述のように主予測子の加重値が増加され、残りの予測子に対する加重値は減少される。直線上に位置する画素に対し、2つの予測子は同じ値を有する加重値を使用する。このとき、1つの画素に対して2つの予測子の加重値の和は1を維持する。
【0132】
以下、
図10及び
図11の図示を用い、幾何学的イントラ予測モードを用いるイントラ予測方法を記述する。
【0133】
図10は、本開示の一実施例に係る、映像符号化装置が遂行するイントラ予測方法を示すフローチャートである。
【0134】
映像符号化装置は、幾何学的イントラ予測フラグを決定する(S1000)。ここで、幾何学的イントラ予測フラグintra_gim_flagは、現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する。映像符号化装置は、上述したように、ビットレート歪曲最適化の側面から幾何学的イントラ予測フラグの使用を決定する。
【0135】
映像符号化装置は、幾何学的イントラ予測フラグを符号化する(S1002)。
【0136】
映像符号化装置は、幾何学的イントラ予測フラグを確認する(S1004)。
【0137】
幾何学的イントラ予測フラグが真である場合、映像符号化装置は次のステップを遂行する。
【0138】
映像符号化装置は、幾何学的分割情報インデックスを決定する(S1006)。ここで、幾何学的分割情報インデックスintra_gim_partition_idxは、現在ブロックに適用される幾何学的分割形態を指示する。すなわち、幾何学的分割情報インデックスは、現在ブロックを二分割する直線の情報をインデクシングする。
【0139】
映像符号化装置は、現在ブロックのイントラ予測のためのイントラ予測モードを含むリストを生成する(S1008)。ここで、リストはMPMリストである。あるいは、リストは、すべてのイントラ予測モードを含むリストである。
【0140】
映像符号化装置は、符号化率最適化の側面から第1のイントラ予測モードを決定する(S1010)。
【0141】
映像符号化装置は、第1のイントラ予測モードに対してリストから第1のイントラ予測モードインデックスを決定する(S1012)。第1のイントラ予測モードインデックスintra_gim_idx0は第1のイントラ予測モードをインデクシングする。例えば、MPMリストが第1のイントラ予測モードを含まない場合、第1のイントラ予測モードインデックスは、すべてのイントラ予測モードを含むリストから決定される。
【0142】
映像符号化装置は、第1のイントラ予測モードを基盤にして現在ブロックと空間的に隣接する画素を用いて現在ブロックの第1のイントラ予測子を生成する(S1014)。
【0143】
映像符号化装置は、リストから第1のイントラ予測モードを除いてリストを再整列する(S1016)。
【0144】
映像符号化装置は、符号化率最適化の側面から第2のイントラ予測モードを決定する(S1018)。
【0145】
映像符号化装置は、第2のイントラ予測モードに対して再整列されたリストから第2のイントラ予測モードインデックスを決定する(S1020)。第2のイントラ予測モードインデックスintra_gim_idx1は、第2のイントラ予測モードをインデクシングする。例えば、再整列されたMPMリストが第2のイントラ予測モードを含まない場合、第2のイントラ予測モードインデックスは、すべてのイントラ予測モードを含むリストから決定される。
【0146】
映像符号化装置は、第2のイントラ予測モードを基盤にして現在ブロックと空間的に隣接する画素を用いて現在ブロックの第2のイントラ予測子を生成する(S1022)。
【0147】
映像符号化装置は、幾何学的分割情報インデックスを用いて加重値を獲得する(S1024)。ここで、加重値は、第1のイントラ予測子のための第1の加重値、及び第2のイントラ予測子のための第2の加重値を含む。
【0148】
幾何学的分割情報インデックスによる直線の情報は、ブロックの中心から該当直線までの距離を示すインデックスdistanceIdx、及び該当直線と直交する線分の角度を示すインデックスangleIdxを含む。現在ブロックのサイズ情報、角度を表すインデックスangleIdx、及び距離を示すインデックスdistanceIdxを用いて現在ブロック内の画素と直線との間の実際の距離が算定される。その後、このような実際の距離に基づいて現在ブロック内の画素に対して加重値が算定される。
【0149】
映像符号化装置は、加重値を用いて第1のイントラ予測子と第2のイントラ予測子を加重和することで、現在ブロックの最終イントラ予測子を生成する(S1026)。
【0150】
映像符号化装置は、幾何学的分割情報インデックス、第1のイントラ予測モードインデックス、及び第2のイントラ予測モードインデックスを符号化する(S1028)。
【0151】
幾何学的イントラ予測フラグが偽である場合、現在ブロックに対して幾何学的イントラ予測は省略される。このとき、映像符号化装置は、他のイントラ予測モードを用いて現在ブロックのイントラ予測を遂行する。
【0152】
図11は、本開示の一実施例に係る、映像復号化装置が遂行するイントラ予測方法を示すフローチャートである。
【0153】
映像復号化装置は、ビットストリームから幾何学的イントラ予測フラグを復号化する(S1100)。ここで、幾何学的イントラ予測フラグintra_gim_flagは、現在ブロックに対して幾何学的イントラ予測モードの使用如何を指示する。上述したように、映像符号化装置によってビットレート歪曲最適化の側面から、幾何学的イントラ予測フラグの使用が決定される。
【0154】
映像復号化装置は、幾何学的イントラ予測フラグを確認する(S1102)。
【0155】
幾何学的イントラ予測フラグが真である場合、映像復号化装置は次のステップを遂行する。
【0156】
映像復号化装置は、ビットストリームから幾何学的分割情報インデックス、第1のイントラ予測モードインデックス、及び第2のイントラ予測モードインデックスを復号化する(S1104)。ここで、幾何学的分割情報インデックスintra_gim_partition_idxは、現在ブロックに適用される幾何学的分割形態を指示する。すなわち、幾何学的分割情報インデックスは、現在ブロックを二分割する直線の情報をインデクシングする。第1のイントラ予測モードインデックスintra_gim_idx0は、第1のイントラ予測モードをインデクシングする。さらに、第2のイントラ予測モードインデックスintra_gim_idx1は、第2のイントラ予測モードをインデクシングする。
【0157】
映像復号化装置は、現在ブロックのイントラ予測のための予測モードを含むリストを生成する(S1106)。ここで、リストはMPMリストである。あるいは、リストは、すべてのイントラ予測モードを含むリストである。
【0158】
映像復号化装置は、第1のイントラ予測モードインデックスを用いてリストから第1のイントラ予測モードを選択する(S1108)。例えば、第1のイントラ予測モードインデックスがMPMリスト内のイントラ予測モードを指示しない場合、第1のイントラ予測モードは、すべてのイントラ予測モードを含むリストから選択される。
【0159】
映像復号化装置は、第1のイントラ予測モードを基盤にして現在ブロックと空間的に隣接する画素を用いて現在ブロックの第1のイントラ予測子を生成する(S1110)。
【0160】
映像復号化装置は、リストから第1のイントラ予測モードを除いてリストを再整列する(S1112)。
【0161】
映像復号化装置は、第2のイントラ予測モードインデックスを用いて再整列されたリストから第2のイントラ予測モードを選択する(S1114)。例えば、第2のイントラ予測モードインデックスが再整列されたMPMリスト内のイントラ予測モードを指示しない場合、第2のイントラ予測モードは、すべてのイントラ予測モードを含むリストから選択される。
【0162】
映像復号化装置は、第2のイントラ予測モードを基盤にして現在ブロックと空間的に隣接する画素を用いて現在ブロックの第2のイントラ予測子を生成する(S1116)。
【0163】
映像復号化装置は、幾何学的分割情報インデックスを用いて加重値を獲得する(S1118)。ここで、加重値は、第1のイントラ予測子のための第1の加重値、及び第2のイントラ予測子のための第2の加重値を含む。
【0164】
幾何学的分割情報インデックスによる直線の情報は、ブロックの中心から該当直線までの距離を示すインデックスdistanceIdx、及び該当直線と直交する線分の角度を示すインデックスangleIdxを含む。現在ブロックのサイズ情報、角度を表すインデックスangleIdx、及び距離を示すインデックスdistanceIdxを用いて現在ブロック内の画素と直線との間の実際の距離が算定される。その後、このような実際の距離に基づいて現在ブロック内の画素に対して加重値が算定される。
【0165】
映像復号化装置は、加重値を用いて第1のイントラ予測子と第2のイントラ予測子を加重和して現在ブロックの最終イントラ予測子を生成する(S1120)。
【0166】
幾何学的イントラ予測フラグが偽である場合、現在ブロックに対する幾何学的イントラ予測は省略される。このとき、映像復号化装置は、他のイントラ予測モードを用いて現在ブロックのイントラ予測を遂行する。
【0167】
本明細書のフローチャート/タイミング図では、各過程を順次実行するものとして記載しているが、これは、本開示の一実施例の技術思想を例示的に説明したに過ぎない。言い換えれば、本開示の一実施例が属する技術分野にて通常の知識を有する者であれば、本開示の一実施例の本質的な特性から逸脱しない範囲でフローチャート/タイミング図に記載された順序を変更して実行するか、又は各過程のうちの1つ以上の過程を並列的に実行するかによって多様に修正及び変形して適用可能であるので、フローチャート/タイミング図は時系列的な順序に限定されるものではない。
【0168】
以上の説明における例示的な実施例は、多くの異なる方式で具現されることを理解されたい。1つ以上の例示で説明された機能あるいは方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで具現される。本明細書で説明された機能的コンポーネントは、それらの具現独立性を特に強調するために「…部(unit)」とラベル付けされていることを理解されたい。
【0169】
一方、本実施例で説明された様々な機能あるいは方法は、1つ以上のプロセッサによって読み取られて実行される非一時的記録媒体に保存された命令語で具現されてもよい。非一時的記録媒体は、例えばコンピュータシステムによって読み取り可能な形態でデータが保存されるあらゆる種類の記録装置を含む。例えば、非一時的記録媒体は、EPROM(Erasable Programmable read only memory)、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ(SSD)のような記憶媒体を含む。
【0170】
以上の説明は、本実施例の技術思想を例示的に説明したものに過ぎず、本実施例が属する技術分野で通常の知識を有する者であれば、本実施例の本質的な特性から逸脱しない範囲で様々な修正及び変形が可能である。したがって、本実施例は、本実施例の技術思想を限定するためのものではなく説明するためのものであり、このような実施例によって本実施例の技術思想の範囲が限定されるものではない。本実施例の保護範囲は、特許請求の範囲によって解釈されるべきであり、それと同等の範囲内にあるすべての技術思想は、本実施例の権利範囲に含まれるものと解釈されるべきである。
【0171】
CROSS-REFERENCE TO RELATED APPLICATION
本特許出願は、2021年10月25日付にて韓国に出願した特許出願番号第10-2021-0143104号、2022年9月2日付にて韓国に出願した特許出願番号第10-2022-0111277号に対して優先権を主張し、そのすべての内容は参考文献として本特許出願に併合される。
【符号の説明】
【0172】
122 イントラ予測部
542 イントラ予測部
610 第1のイントラ予測モード選択部
620 第1のイントラ予測子生成部
630 第2のイントラ予測モード選択部
640 第2のイントラ予測子生成部
650 最終イントラ予測子生成部
【国際調査報告】