(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】結合されたイントラ/インター予測モード又は幾何学的分割モードに動きベクトル差分を用いたマージモードを適用するビデオ符号化/復号化方法及び装置
(51)【国際特許分類】
H04N 19/513 20140101AFI20240905BHJP
H04N 19/70 20140101ALI20240905BHJP
【FI】
H04N19/513
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024519800
(86)(22)【出願日】2022-09-30
(85)【翻訳文提出日】2024-03-29
(86)【国際出願番号】 KR2022014806
(87)【国際公開番号】W WO2023055193
(87)【国際公開日】2023-04-06
(31)【優先権主張番号】10-2021-0131037
(32)【優先日】2021-10-01
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0124104
(32)【優先日】2022-09-29
(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
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100127465
【氏名又は名称】堀田 幸裕
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100124372
【氏名又は名称】山ノ井 傑
(72)【発明者】
【氏名】パク、スンウク
(72)【発明者】
【氏名】ホ、ジン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC04
5C159LC09
5C159MA04
5C159MA05
5C159MA19
5C159MA21
5C159MC11
5C159ME01
5C159NN11
5C159NN21
5C159RC12
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
ビデオ符号化/復号化方法及び装置が提供される。本開示に係るビデオ復号化方法は、CIIP(Combined Inter/Intra Prediction)モード又は幾何学的分割モードの適用如何を判断するステップ、マージ候補リストから動きベクトルを誘導するステップ、動きベクトル差分情報を用いて前記動きベクトルを補正するステップ、及び、前記補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成するステップ、を含む。
【特許請求の範囲】
【請求項1】
CIIP(Combined Inter/Intra Prediction)モード又は幾何学的分割モードの適用如何を判断するステップと、
マージ候補リストから動きベクトルを誘導するステップと、
動きベクトル差分情報を用いて前記動きベクトルを補正するステップと、
前記補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成するステップと、を含むビデオ復号化方法。
【請求項2】
前記動きベクトル差分情報は、方向情報及び距離情報を含む、請求項1に記載のビデオ復号化方法。
【請求項3】
前記方向情報は4つの情報又は8つの情報を含み、
前記距離情報は8つの情報を含む、請求項2に記載のビデオ復号化方法。
【請求項4】
前記CIIPモードが適用される場合、前記現在ブロックの予測ブロックを生成するステップは、
前記補正された動きベクトルを基盤にし、前記現在ブロックに対するインター予測ブロックを生成するステップと、
前記現在ブロックに隣接する少なくとも1つ以上の参照ブロックを基盤にし、前記現在ブロックに対するイントラ予測ブロックを生成するステップと、
前記インター予測ブロック及び前記イントラ予測ブロックを加重平均して前記現在ブロックの予測ブロックを生成するステップと、を含む、請求項1に記載のビデオ復号化方法。
【請求項5】
前記CIIPモードが適用される場合、前記マージ候補リストから動きベクトルを誘導するステップは、
前記マージ候補リスト内の1番目のマージ候補から前記動きベクトルを誘導するステップを含む、請求項1に記載のビデオ復号化方法。
【請求項6】
前記幾何学的分割モードが適用される場合、前記マージ候補リストから動きベクトルを誘導するステップは、
前記マージ候補リストから分割された2つの領域のそれぞれに対する動きベクトルを誘導するステップを含む、請求項1に記載のビデオ復号化方法。
【請求項7】
前記分割された2つの領域が互いに異なる動きベクトル差分情報を用いる場合、前記動きベクトルを補正するステップは、
前記互いに異なる動きベクトル差分情報を用いて前記分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む、請求項6に記載のビデオ復号化方法。
【請求項8】
前記分割された2つの領域が同じ動きベクトル差分情報を用いる場合、前記動きベクトルを補正するステップは、
前記同じ動きベクトル差分情報を用いて前記分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む、請求項6に記載のビデオ復号化方法。
【請求項9】
前記現在ブロックの予測ブロックを生成するステップは、
前記補正された動きベクトルを用いて前記分割された2つの領域のそれぞれに対するインター予測ブロックを生成するステップ、及び、
前記分割された2つの領域のそれぞれに対するインター予測ブロックを結合又は加重平均して前記現在ブロックの予測ブロックを生成するステップを含む、請求項7に記載のビデオ復号化方法。
【請求項10】
前記現在ブロックの予測ブロックを生成するステップは、
前記補正された動きベクトルを用いて前記分割された2つの領域のそれぞれに対するインター予測ブロックを生成するステップ、及び、
前記分割された2つの領域のそれぞれに対するインター予測ブロックを結合又は加重平均して前記現在ブロックの予測ブロックを生成するステップを含む、請求項8に記載のビデオ復号化方法。
【請求項11】
CIIPモード又は幾何学的分割モードの適用如何を判断するステップと、
マージ候補リストから動きベクトルを決定するステップと、
動きベクトル差分情報を用いて前記動きベクトルを補正するステップと、
前記補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成するステップと、を含むビデオ符号化方法。
【請求項12】
前記動きベクトル差分情報は、方向情報及び距離情報を含む、請求項11に記載のビデオ符号化方法。
【請求項13】
前記方向情報は4つの情報又は8つの情報を含み、
前記距離情報は8つの情報を含む、請求項12に記載のビデオ符号化方法。
【請求項14】
前記CIIPモードが適用される場合、前記現在ブロックの予測ブロックを生成するステップは、
前記補正された動きベクトルを基盤にし、前記現在ブロックに対するインター予測ブロックを生成するステップと、
前記現在ブロックに隣接する少なくとも1つ以上の参照ブロックを基盤にし、前記現在ブロックに対するイントラ予測ブロックを生成するステップと、
前記インター予測ブロック及び前記イントラ予測ブロックを加重平均して前記現在ブロックの予測ブロックを生成するステップと、を含む、請求項11に記載のビデオ符号化方法。
【請求項15】
前記CIIPモードが適用される場合、前記マージ候補リストから動きベクトルを決定するステップは、
前記マージ候補リスト内の1番目のマージ候補から前記動きベクトルを決定するステップを含む、請求項11に記載のビデオ符号化方法。
【請求項16】
前記幾何学的分割モードが適用される場合、前記マージ候補リストから動きベクトルを決定するステップは、
前記マージ候補リストから分割された2つの領域のそれぞれに対する動きベクトルを決定するステップを含む、請求項11に記載のビデオ符号化方法。
【請求項17】
前記分割された2つの領域が互いに異なる動きベクトル差分情報を用いる場合、前記動きベクトルを補正するステップは、
前記互いに異なる動きベクトル差分情報を用いて前記分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む、請求項16に記載のビデオ符号化方法。
【請求項18】
前記分割された2つの領域が同じ動きベクトル差分情報を用いる場合、前記動きベクトルを補正するステップは、
前記同じ動きベクトル差分情報を用いて前記分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む、請求項16に記載のビデオ符号化方法。
【請求項19】
前記現在ブロックの予測ブロックを生成するステップは、
前記補正された動きベクトルを用いて前記分割された2つの領域のそれぞれに対するインター予測ブロックを生成するステップ、及び、
前記分割された2つの領域のそれぞれに対するインター予測ブロックを結合又は加重平均して前記現在ブロックの予測ブロックを生成するステップを含む、請求項17に記載のビデオ符号化方法。
【請求項20】
ビデオ符号化方法によって生成されたビットストリームを保存する、コンピュータの読み取り可能な記録媒体であって、前記ビデオ符号化方法は、
CIIPモード又は幾何学的分割モードの適用如何を判断するステップと、
マージ候補リストから動きベクトルを決定するステップと、
動きベクトル差分情報を用いて前記動きベクトルを補正するステップと、
前記補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成するステップと、を含む、記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、結合されたイントラ/インター予測モード又は幾何学的分割モードに動きベクトル差分を用いたマージモードを適用するビデオ符号化/復号化方法及び装置に関する。より具体的に結合された画面内画面間予測(Combined Inter/Intra Prediction,CIIP)モード又は幾何学的分割モードで動きベクトル差分を用いたマージモードを適用して現在ブロックの予測ブロックを生成するビデオ符号化/復号化方法及び装置に関する。
【背景技術】
【0002】
以下に記述される内容は、単に本実施例に関連される背景情報のみを提供するだけで従来技術を構成するものではない。
【0003】
ビデオデータは音声データや静止画データなどに比べて多くのデータ量を有するため、圧縮のための処理なしにそれ自体を保存又は伝送するためにはメモリを含む多くのハードウェアリソースが必要となる。
【0004】
したがって、通常、ビデオデータを保存又は伝送するときには、符号化器を使用してビデオデータを圧縮して保存又は伝送し、復号化器では圧縮されたビデオデータを受信して圧縮を解除して再生する。このようなビデオ圧縮技術としては、H.264/AVC、HEVC(High Efficiency Video Coding)などをはじめ、HEVCに比べて約30%以上の符号化効率を向上させたVVC(Versatile Video Coding)が存在する。
【0005】
しかしながら、映像のサイズ及び解像度、フレームレートが徐々に増加しており、それに応じて符号化しなければならないデータ量も増加しているため、従来の圧縮技術よりも符号化効率が良く、画質改善効果も高い新たな圧縮技術が要求される。
【0006】
結合された画面内画面間予測(Combined Inter/Intra Prediction,CIIP)モードは、画面内予測信号と画面間予測信号を加重平均して現在ブロックの予測ブロックを生成する方法である。幾何学的分割モードは、1つの符号化ユニット(Coding Unit,CU)を2つの領域に分割し、分割された2つの領域に独立的にインター予測を遂行して生成された2つのインター予測信号を加重平均して現在ブロックの予測ブロックを生成する方法である。動きベクトル差分を用いたマージモードは、一般マージモードに誘導された動きベクトルに動きベクトル差分を加えて動きベクトルを補正する。CIIPモード又は幾何学的分割モードに動きベクトル差分を用いたマージモードを適用してインター予測ブロックを生成する際に使用される動きベクトルを補正する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は、結合された画面内画面間予測(Combined Inter/Intra Prediction,CIIP)モードを基盤にして現在ブロックの予測ブロックを生成する方法及び装置を提供することを目的とする。
【0008】
さらに、本開示は、幾何学的分割モードを基盤にして現在ブロックの予測ブロックを生成する方法及び装置を提供することを目的とする。
【0009】
また、本開示は、CIIPモードに動きベクトル差分を用いたマージモードを適用する方法及び装置を提供することを目的とする。
【0010】
さらに、本開示は、幾何学的分割モードに動きベクトル差分を使用してマージモードを適用する方法及び装置を提供することを目的とする。
【0011】
また、本開示は、ビデオ符号化/復号化効率を向上させる方法及び装置を提供することを目的とする。
【0012】
さらに、本開示は、本開示のビデオ符号化/復号化方法又は装置によって生成されたビットストリームを保存した記録媒体を提供することを目的とする。
【0013】
また、本開示は、本開示のビデオ符号化/復号化方法又は装置によって生成されたビットストリームを伝送する方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【0014】
本開示による、ビデオ復号化方法は、CIIP(Combined Inter/Intra Prediction,CIIP)モード又は幾何学的分割モードの適用如何を判断するステップ、マージ候補リストから動きベクトルを誘導するステップ、動きベクトル差分情報を利用して前記動きベクトルを補正するステップ、及び、前記補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成するステップ、を含む。
【0015】
本開示に係るビデオ符号化方法は、CIIPモード又は幾何学的分割モードの適用如何を判断するステップ、マージ候補リストから動きベクトルを決定するステップ、動きベクトル差分情報を用いて前記動きベクトルを補正するステップ、及び 前記補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成するステップ、を含む。
【0016】
さらに、本開示によると、本開示に係るビデオ符号化方法又は装置によって生成されたビットストリームを伝送する方法が提供される。
【0017】
また、本開示によると、本開示に係るビデオ符号化方法又は装置によって生成されたビットストリームを保存した記録媒体が提供される。
【0018】
さらに、本開示によると、本開示に係るビデオ復号化装置によって受信されて復号化され、映像の復元に用いられるビットストリームを保存した記録媒体が提供される。
【発明の効果】
【0019】
本開示によると、結合された画面内画面間予測(Combined Inter/Intra Prediction,CIIP)モードを基盤にして現在ブロックの予測ブロックを生成する方法及び装置が提供される。
【0020】
さらに、本開示によると、幾何学的分割モードを基盤にして現在ブロックの予測ブロックを生成する方法及び装置が提供される。
【0021】
また、本開示によると、CIIPモードに動きベクトル差分を用いたマージモードを適用する方法及び装置が提供される。
【0022】
さらに、本開示によると、幾何学的分割モードに動きベクトル差分を用いたマージモードを適用する方法及び装置が提供される。
【0023】
さらに、本開示によると、ビデオ符号化/復号化効率を向上させる方法及び装置が提供される。
【0024】
本開示で得られる効果は、以上で言及した効果に制限されず、言及しないまた他の効果は、以下の記載から本開示が属する技術分野にて通常の知識を有する者に明確に理解されるだろう。
【図面の簡単な説明】
【0025】
【
図1】
図1は、本開示の技術を具現できる映像符号化装置に関する例示的なブロック図である。
【
図2】
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【
図3a】
図3aは、広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
【
図3b】
図3bは、広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
【
図4】
図4は、現在ブロックの周辺ブロックに関する例示図である。
【
図5】
図5は、本開示の技術を具現できる映像復号化装置の例示的なブロック図である。
【
図6】
図6は、結合された画面内画面間予測(Combined Inter/Intra Prediction,CIIP)モードで現在ブロックの予測ブロックを生成する方法を説明するための図である。
【
図7】
図7は、本開示の一実施例に係る、結合された画面内画面間予測モードで加重値を決定するために参照する周辺ブロックを説明するための図である。
【
図8】
図8は、本開示の一実施例に係る、結合された画面内画面間予測モードで加重値を決定する方法を説明するための図である。
【
図9】
図9は、本開示の一実施例に係る、32×32ブロックに幾何学的分割モードを適用する方法を説明するための図である。
【
図10a】
図10aは、本開示の一実施例に係る、幾何学的分割モードで角度媒介変数と距離媒介変数を説明するための図である。
【
図10b】
図10bは、本開示の一実施例に係る、幾何学的分割モードで角度媒介変数と距離媒介変数を説明するための図である。
【
図11】
図11は、本開示の一実施例に係る、幾何学的分割モードで分割方向情報のルックアップテーブルを説明するための図である。
【
図12】
図12は、本開示の一実施例に係る、動きベクトル差分の方向情報を説明するための図である。
【
図13】
図13は、本開示の一実施例に係る、動きベクトル差分の距離情報を説明するための図である。
【
図14】
図14は、本開示の一実施例に係る、インター予測を適用するフローチャートを説明するための図である。
【
図15】
図15は、本開示の他の実施例に係る、動きベクトル差分の方向情報を説明するための図である。
【
図16】
図16は、本開示の一実施例に係る、結合された画面内画面間予測モードに動きベクトル差分を用いたマージモードを適用した場合、シンタックス構造を説明するための図である。
【
図17】
図17は、本開示の一実施例に係る、結合された画面内画面間予測モードでシンタックス構造を説明するための図である。
【
図18】
図18は、本開示の一実施例に係る、幾何学的分割モードに動きベクトル差分を用いたマージモードを適用した場合、シンタックス構造を説明するための図である。
【
図19】
図19は、本開示の一実施例に係る、幾何学的分割モードで分割された1番目の領域の動きベクトル差分情報から分割された2番目の領域の動きベクトル差分情報を誘導する過程を説明するための図である。
【
図20】
図20は、本開示の他の実施例に係る、幾何学的分割モードで分割された1番目の領域の動きベクトル差分情報から分割された2番目の領域の動きベクトル差分情報を誘導する過程を説明するための図である。
【
図21】
図21は、本開示の他の実施例に係る、幾何学的分割モードに動きベクトル差分を用いたマージモードを適用した場合、シンタックス構造を説明するための図である。
【
図22】
図22は、本開示の一実施例に係る、動きベクトル差分を用いたマージモードを適用してインター予測を適用するフローチャートを説明するための図である。
【
図23】
図23は、本開示の他の実施例に係る、動きベクトル差分を用いたマージモードを適用してインター予測を適用するフローチャートを説明するための図である。
【
図24】
図24は、本開示の一実施例に係る、ビデオ復号化過程を説明するための図である。
【
図25】
図25は、本開示の一実施例に係る、ビデオ符号化過程を説明するための図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施例を例示的な図面を参照して詳しく説明する。各図面の構成要素に参照符号を付加するにあたり、同一の構成要素に対しては、たとえ他の図面に表示されても可能な限り同一の符号を有するようにしていることに留意されたい。なお、本実施例を説明するにあたり、関連された公知の構成又は機能についての具体的な説明が本実施例の要旨を曖昧にすると判断される場合には、その詳しい説明は省く。
【0027】
図1は、本開示の技術を具現することができる映像符号化装置についての例示的なブロック図である。以下では、
図1の図示を参照して映像符号化装置とこの装置の下位構成について説明する。
【0028】
映像符号化装置は、ピクチャー分割部110、予測部120、減算器130、変換部140、量子化部145、並べ替え部150、エントロピー符号化部155、 逆量子化部160、逆変換部165、加算器170、ループフィルタ部180、及びメモリ190を含むように構成される。
【0029】
映像符号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されてもよく、ハードウェア及びソフトウェアの組み合わせで具現されてもよい。さらに、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現されてもよい。
【0030】
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)のシンタックスと称する。
【0031】
ピクチャー分割部110は、CTU(Coding Tree Unit)のサイズを決定する。CTUのサイズに関する情報(CTU size)は、SPS又はPPSのシンタックスとして符号化されて映像復号化装置に伝達される。
【0032】
ピクチャー分割部110は、映像を構成する各ピクチャー(picture)を予め決定されたサイズを有する複数のCTU(Coding Tree Unit)に分割した以降に、ツリー構造(tree structure)を用いてCTUを繰り返し(recursively)分割する。ツリー構造におけるリーフノード(leaf node)が符号化の基本単位であるCU(coding unit)となる。
【0033】
ツリー構造では、上位ノード(あるいは親ノード)が同じサイズの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)と称される。
【0034】
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【0035】
図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によって符号化されて映像復号化装置にシグナリングされる。
【0036】
代替的に、各ノードが下位レイヤの4つのノードに分割されるか否かを指し示す第1のフラグQT_split_flagを符号化する前に、そのノードが分割されるか否かを指し示すCU分割フラグsplit_cu_flagが符号化されてもよい。CU分割フラグsplit_cu_flag値が分割されていないことを指し示す場合、該当ノードのブロックが分割ツリー構造におけるリーフノード(leaf node)となり、符号化の基本単位であるCU(coding unit)となる。CU分割フラグsplit_cu_flag値が分割されることを指し示す場合、映像符号化装置は、上述した方式で第1のフラグから符号化を開始する。
【0037】
ツリー構造の他の例示としてQTBTが使用される場合、該当ノードのブロックを同一サイズの2つのブロックに横に分割するタイプ(すなわち、symmetric horizontal splitting)と縦に分割するタイプ(すなわち、symmetric vertical splitting)の2つが存在する。BT構造の各ノードが下位レイヤのブロックに分割されるか否かを指し示す分割フラグsplit_flag及び、分割されるタイプを指し示す分割タイプ情報がエントロピー符号化部155によって符号化されて映像復号化装置に伝達される。一方、該当ノードのブロックを互いに非対称形態の2つのブロックに分割するタイプが追加でさらに存在してもよい。非対称形態には、該当ノードのブロックを1:3のサイズ比率を有する2つの長方形ブロックに分割する形態が含まれてもよく、あるいは該当ノードのブロックを対角線方向に分割する形態が含まれてもよい。
【0038】
CUは、CTUからのQTBT又はQTBTTT分割に応じて様々なサイズを有する。以下では、符号化又は復号しようとするCU(すなわち、QTBTTTのリーフノード)に該当するブロックを「現在ブロック」と称する。QTBTTT分割の採用に応じ、現在ブロックの形状は正方形だけでなく長方形であってもよい。
【0039】
予測部120は、現在ブロックを予測して予測ブロックを生成する。予測部120は、イントラ予測部122とインター予測部124を含む。
【0040】
一般に、ピクチャー内の現在ブロックはそれぞれ予測的にコーディングされる。一般に、現在ブロックの予測は(現在ブロックを含むピクチャーからのデータを使用する)イントラ予測技術又は(現在ブロックを含むピクチャー以前にコーディングされたピクチャーからのデータを使用する)インター予測技術を使用して遂行される。インター予測は、一方向予測と双方向予測の両方を含む。
【0041】
イントラ予測部122は、現在ブロックが含まれた現在ピクチャー内で現在ブロックの周辺に位置するピクセル(参照ピクセル)を用いて現在ブロック内のピクセルを予測する。予測方向によって複数のイントラ予測モードが存在する。例えば、
図3aに見られるように、複数のイントラ予測モードは、プラナー(planar)モードとDCモードを含む2つの非方向性モードと65個の方向性モードを含む。各予測モードによって使用する周辺ピクセルと演算式が異なるように定義される。
【0042】
長方形形状の現在ブロックに対する効率的な方向性予測のために、
図3bに破線の矢印で図示された方向性モード(67~80番、-1~-14番イントラ予測モード)が追加で使用される。これらは、「広角イントラ予測モード(wide angle intra-prediction modes)」と称される。
図3bで矢印は、予測に使用される対応する参照サンプルを指すものであり、予測方向を示すものではない。予測方向は、矢印が指す方向と反対である。広角イントラ予測モードは、現在ブロックが長方形のときに追加のビット伝送なしに特定の方向性モードを反対方向で予測を遂行するモードである。このとき、広角イントラ予測モードのうちから、長方形の現在ブロックの幅と高さの比率により、現在ブロックに利用可能な一部の広角イントラ予測モードが決定される。例えば、45度より小さい角度を有する広角イントラ予測モード(67~80番イントラ予測モード)は、現在ブロックが、高さが幅より小さい長方形の形態であるときに利用可能であり、-135度より大きい角度を有する広角イントラ予測モード(-1~-14番イントラ予測モード)は、現在ブロックが、幅が高さよりも大きい長方形の形態であるときに利用可能である。
【0043】
イントラ予測部122は、現在ブロックを符号化するのに使用するイントラ予測モードを決定する。一部の例で、イントラ予測部122は、色々なイントラ予測モードを使用して現在ブロックをエンコーディングし、テストされたモードから使用する適切なイントラ予測モードを選択してもよい。例えば、イントラ予測部122は、色々にテストされたイントラ予測モードに対するビットレート歪み(rate-distortion)分析を用いてビットレート歪み値を計算し、テストされたモードの中で最善のビットレート歪み特徴を有するイントラ予測モードを選択してもよい。
【0044】
イントラ予測部122は、複数のイントラ予測モードの中から1つのイントラ予測モードを選択し、選択されたイントラ予測モードによって決定される周辺ピクセル(参照ピクセル)と演算式を用いて現在ブロックを予測する。選択されたイントラ予測モードに関する情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0045】
インター予測部124は、動き補償プロセスを用いて現在ブロックに対する予測ブロックを生成する。インター予測部124は、現在ピクチャーより先に符号化及び復号化された参照ピクチャー内で現在ブロックと最も類似したブロックを探索し、その探索されたブロックを用いて現在ブロックに対する予測ブロックを生成する。そして、現在ピクチャー内の現在ブロックと参照ピクチャー内の予測ブロックとの間の変位(displacement)に該当する動きベクトル(Motion Vector:MV)を生成する。一般に、動き推定はルマ(luma)成分に対して遂行され、ルマ成分に基づいて計算された動きベクトルはルマ成分及びクロマ成分の両方に対して使用される。現在ブロックを予測するために使用された参照ピクチャーに関する情報及び、動きベクトルに関する情報を含む動き情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0046】
インター予測部124は、予測の正確性を高めるために、参照ピクチャー又は参照ブロックに対する補間を遂行してもよい。すなわち、連続する2つの整数サンプル間のサブサンプルは、その2つの整数サンプルを含む連続された複数の整数サンプルにフィルタ係数を適用して補間される。補間された参照ピクチャーに対して現在ブロックと最も類似したブロックを検索するステップを遂行すると、動きベクトルは整数サンプル単位の精度(precision)ではなく小数単位の精度まで表現される。動きベクトルの精度又は解像度(resolution)は、符号化しようとする対象領域、例えばスライス、タイル、CTU、CUなどの単位ごとに異なるように設定される。このような適応的動きベクトル解像度(Adaptive Motion Vector Resolution:AMVR)が適用される場合、各対象領域に適用する動きベクトル解像度に関する情報は、対象領域ごとにシグナリングされなければならない。例えば、対象領域がCUである場合、各CUごとに適用された動きベクトル解像度に関する情報がシグナリングされる。動きベクトル解像度に関する情報は、後述する差分動きベクトルの精度を示す情報である。
【0047】
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャーと、各参照ピクチャー内で現在ブロックと最も類似したブロック位置を表す2つの動きベクトルが用いられる。インター予測部124は、参照ピクチャーリスト0(RefPicList0)及び参照ピクチャーリスト1(RefPicList1)からそれぞれ第1の参照ピクチャー及び第2の参照ピクチャーを選択し、各参照ピクチャー内で現在ブロックと類似したブロックを探索して第1の参照ブロックと第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャーに関する情報及び、2つの動きベクトルに関する情報を含む動き情報を符号化部150に伝達する。ここで、参照ピクチャーリスト0は、予め復元されたピクチャーのうち、ディスプレイ順序で現在ピクチャー以前のピクチャーで構成され、参照ピクチャーリスト1は、予め復元されたピクチャーのうち、ディスプレイ順序で現在ピクチャー以降のピクチャーで構成される。しかしながら、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャー以降の既復元のピクチャーが参照ピクチャーリスト0に追加でさらに含まれてもよく、逆に現在ピクチャー以前の既復元のピクチャーが参照ピクチャーリスト1に追加でさらに含まれてもよい。
【0048】
動き情報を符号化するのに必要とされるビット量を最小化するために多様な方法が用いられる。
【0049】
例えば、現在ブロックの参照ピクチャーと動きベクトルが、周辺ブロックの参照ピクチャー及び動きベクトルと同一の場合には、その周辺ブロックを識別できる情報を符号化することで、現在ブロックの動き情報を映像復号化装置に伝達することができる。この方法を「マージモード(merge mode)」とする。
【0050】
マージモードで、インター予測部124は、現在ブロックの周辺ブロックから予め決定された個数のマージ候補ブロック(以下、「マージ候補」という)を選択する。
【0051】
マージ候補を誘導するための周辺ブロックとしては、
図4に示されたように、現在ピクチャー内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2のうちの全部又は一部が使用される。さらに、現在ブロックが位置する現在ピクチャーではなく、参照ピクチャー(現在ブロックを予測するために使用された参照ピクチャーと同一であってもよいし異なってもよい)内に位置するブロックがマージ候補として使用されてもよい。例えば、参照ピクチャー内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加でさらに使用される。以上で記述された方法によって選定されたマージ候補の個数が予め設定された個数より小さいと、0ベクトルをマージ候補に追加する。
【0052】
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれたマージ候補の中から現在ブロックの動き情報として使用するマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部150によって符号化されて映像復号化装置に伝達される。
【0053】
マージスキップ(merge skip)モードはマージモードの特別な場合であり、量子化を遂行した後、エントロピー符号化のための変換係数が全て零(zero)に近いとき、残差信号の伝送なしに周辺ブロック選択情報のみを伝送する。マージスキップモードを用いることで、動きの少ない映像、静止画、スクリーンコンテンツ映像などで相対的に高い符号化効率を達成することができる。
【0054】
以下、マージモードとマージスキップモードを総称し、マージ/スキップモードで表す。
【0055】
動き情報を符号化するためのまた別の方法は、AMVP(Advanced Motion Vector Prediction)モードである。
【0056】
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、
図4に図示された現在ピクチャー内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2のうち、全部又は一部が用いられる。さらに、現在ブロックが位置する現在ピクチャーではなく、参照ピクチャー(現在ブロックを予測するために使用された参照ピクチャーと同じであってもよく異なってもよい)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用されてもよい。例えば、参照ピクチャー内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述された方法によって動きベクトル候補の個数が予め設定された個数より小さいと、0ベクトルを動きベクトル候補に追加する。
【0057】
インター予測部124は、この周辺ブロックの動きベクトルを用いて予測動きベクトル候補を誘導し、予測動きベクトル候補を用いて現在ブロックの動きベクトルに対する予測動きベクトルを決定する。そして、現在ブロックの動きベクトルから予測動きベクトルを減算して差分動きベクトルを算出する。
【0058】
予測動きベクトルは、予測動きベクトル候補に予め定義された関数(例えば、中央値、平均値演算など)を適用して求める。この場合、映像復号化装置も予め定義された関数を知っている。また、予測動きベクトル候補を誘導するために使用する周辺ブロックは既に符号化及び復号化が完了されたブロックであるため、映像復号化装置もその周辺ブロックの動きベクトルも既に知っている。したがって、映像符号化装置は、予測動きベクトル候補を識別するための情報を符号化する必要がない。したがって、この場合には、差分動きベクトルに関する情報と、現在ブロックを予測するために使用した参照ピクチャーに関する情報が符号化される。
【0059】
一方、予測動きベクトルは、予測動きベクトル候補のうちのいずれか1つを選択する方式で決定されてもよい。この場合には、差分動きベクトルに関する情報及び現在ブロックを予測するために使用した参照ピクチャーに関する情報と共に、選択された予測動きベクトル候補を識別するための情報が追加で符号化される。
【0060】
減算器130は、現在ブロックからイントラ予測部122又はインター予測部124によって生成された予測ブロックを減算して残差ブロックを生成する。
【0061】
変換部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によって符号化されて映像復号化装置にシグナリングされる。
【0062】
一方、変換部140は、残差ブロックに対して横方向と縦方向に個別に変換を遂行する。変換のために、様々なタイプの変換関数又は変換行列が用いられる。例えば、横方向変換と縦方向変換のための変換関数の対をMTS(Multiple Transform Set)と定義する。変換部140は、MTSのうち、変換効率が最も良い1つの変換関数対を選択し、横及び縦方向にそれぞれ残差ブロックを変換する。MTSのうちから選択された変換関数対に関する情報mts_idxは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0063】
量子化部145は、変換部140から出力される変換係数を、量子化パラメータを用いて量子化し、量子化された変換係数をエントロピー符号化部155に出力する。量子化部145は、任意のブロックあるいはフレームに対し、変換なしに、関連された残差ブロックを直ちに量子化してもよい。量子化部145は、変換ブロック内の変換係数の位置に応じて互いに異なる量子化係数(スケーリング値)を適用してもよい。二次元に配置された量子化された変換係数に適用される量子化行列は符号化されて映像復号化装置にシグナリングされる。
【0064】
並べ替え部150は、量子化された残差値に対して係数値の並べ替えを遂行する。
【0065】
並べ替え部150は、係数走査(coefficient scanning)を用いて2次元の係数アレイを1次元の係数シーケンスに変更する。例えば、並べ替え部150では、千鳥状スキャン(zig-zag scan)又は対角線スキャン(diagonal scan)を用いてDC係数から高周波数領域の係数までスキャンして1次元の係数シーケンスを出力する。変換単位のサイズ及びイントラ予測モードによって千鳥状スキャンの代わりに2次元の係数アレイを列方向にスキャンする垂直スキャン、2次元のブロック形態係数を行方向にスキャンする水平スキャンが使用されてもよい。すなわち、変換単位のサイズ及びイントラ予測モードによって千鳥状スキャン、対角線スキャン、垂直方向スキャン、及び水平方向スキャンのうちから使用されるスキャン方法が決定されてもよい。
【0066】
エントロピー符号化部155は、CABAC(Context-based Adaptive Binary Arithmetic Code)、指数ゴロム(Exponential Golomb)などの様々な符号化方式を用い、並べ替え部150から出力された1次元の量子化された変換係数のシーケンスを符号化することによってビットストリームを生成する。
【0067】
また、エントロピー符号化部155は、ブロック分割に関連されたCTUサイズ、CU分割フラグ、QT分割フラグ、MTT分割タイプ、MTT分割方向などの情報を符号化し、映像復号化装置が映像符号化装置と同様にブロックを分割できるようにする。また、エントロピー符号化部155は、現在ブロックがイントラ予測によって符号化されたか、それともインター予測によって符号化されたかの如何を指し示す予測タイプに関する情報を符号化し、予測タイプによってイントラ予測情報(すなわち、イントラ予測モードに関する情報)又はインター予測情報(動き情報の符号化モード(マージモード又はAMVPモード)、マージモードの場合はマージインデックス、AMVPモードの場合は参照ピクチャーインデックス及び差分動きベクトルに関する情報)を符号化する。また、エントロピー符号化部155は、量子化に関連された情報、すなわち量子化パラメータに関する情報及び量子化行列に関する情報を符号化する。
【0068】
逆量子化部160は量子化部145から出力される量子化された変換係数を逆量子化して変換係数を生成する。逆変換部165は、逆量子化部160から出力される変換係数を周波数ドメインから空間ドメインに変換して残差ブロックを復元する。
【0069】
加算部170は、復元された残差ブロックと予測部120によって生成された予測ブロックを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、次の順序のブロックをイントラ予測するときに参照ピクセルとして使用される。
【0070】
ループ(loop)フィルタ部180は、ブロックベースの予測及び変換/量子化によって発生するブロッキングアーチファクト(blocking artifacts)、リンギングアーチファクト(ringing artifacts)、ぼかしアーチファクト(blurring artifacts)等を減らすために復元されたピクセルに対するフィルタリングを遂行する。フィルタ部180は、インループ(in-loop)フィルタとしてデブロックフィルタ182、SAO(Sample Adaptive Offset)フィルタ184、及びALF(Adaptive Loop Filter)186の全部又は一部を含む。
【0071】
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びalf186は、 デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びalf186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べ、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
【0072】
デブロックフィルタ182、SAOフィルタ184、及びALF186を介してフィルタリングされた復元ブロックはメモリ190に保存される。あるピクチャー内のすべてのブロックが復元されると、復元されたピクチャーは、後に符号化しようとするピクチャー内のブロックをインター予測するための参照ピクチャーとして使用される。
【0073】
図5は、本開示の技術を具現することができる映像復号化装置の例示的なブロック図である。以下では、
図5を参照して映像復号化装置とこの装置の下位構成について説明することにする。
【0074】
映像復号化装置は、エントロピー復号化部510、並べ替え部515、逆量子化部520、逆変換部530、予測部540、加算器550、ループフィルタ部560、及びメモリ570を含むように構成される。
【0075】
図1の映像符号化装置と同様に、映像復号化装置の各構成要素はハードウェア又はソフトウェアで具現されてもよく、ハードウェア及びソフトウェアの組み合わせで具現されてもよい。さらに、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現されてもよい。
【0076】
エントロピー復号化部510は、映像符号化装置によって生成されたビットストリームを復号化してブロック分割に関連された情報を抽出することで、復号化しようとする現在ブロックを決定し、現在ブロックを復元するために必要な予測情報と、残差信号に関する情報などを抽出する。
【0077】
エントロピー復号化部510は、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)からCTUサイズに関する情報を抽出してCTUのサイズを決定し、ピクチャーを決定されたサイズのCTUに分割する。そして、CTUをツリー構造の最上位レイヤ、すなわちルートノードとして決定し、CTUに関する分割情報を抽出することで、ツリー構造を用いてCTUを分割する。
【0078】
例えば、QTBTTT構造を用いてCTUを分割する場合、まずQTの分割に関連された第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、MTTの分割に関連された第2のフラグMTT_split_flag及び分割方向(vertical/horizontal)及び/又は分割タイプ(binary/ternary)情報を抽出して該当リーフノードをMTT構造に分割する。これにより、QTのリーフノード以下の各ノードをBT又はTT構造に繰り返し(recursively)分割する。
【0079】
また他の例として、QTBTTT構造を用いてCTUを分割する場合、まずCUの分割可否を指し示すCU分割フラグsplit_cu_flagを抽出し、該当ブロックが分割された場合、第1のフラグQT_split_flagを抽出してもよい。分割の過程で、各ノードは、0回以上の繰り返しのQT分割後に0回以上の繰り返しのMTT分割が発生する。例えば、CTUはすぐにMTT分割が発生してもよく、逆に複数回のQT分割のみが発生してもよい。
【0080】
別の例として、QTBT構造を用いてCTUを分割する場合、QTの分割に関連された第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、BTでさらに分割されるか否かを指し示す分割フラグsplit_flag及び分割方向情報を抽出する。
【0081】
一方、エントロピー復号化部510は、ツリー構造の分割を用いて復号化しようとする現在ブロックを決定すると、現在ブロックがイントラ予測されたかそれともインター予測されたかを指し示す予測タイプに関する情報を抽出する。予測タイプ情報がイントラ予測を指し示す場合、エントロピー復号化部510は、現在ブロックのイントラ予測情報(イントラ予測モード)に関するシンタックス要素を抽出する。予測タイプ情報がインター予測を指し示す場合、エントロピー復号化部510は、インター予測情報に関するシンタックス要素、すなわち、動きベクトル及び、その動きベクトルが参照する参照ピクチャーを表す情報を抽出する。
【0082】
また、エントロピー復号化部510は、量子化関連の情報、及び残差信号に関する情報として現在ブロックの量子化された変換係数に関する情報を抽出する。
【0083】
並べ替え部515は、映像符号化装置によって遂行された係数走査順序の逆順で、エントロピー復号化部510でエントロピー復号化された1次元の量子化された変換係数のシーケンスを再び2次元の係数アレイ(すなわち、ブロック)に変更することができる。
【0084】
逆量子化部520は、量子化された変換係数を逆量子化し、量子化パラメータを用いて量子化された変換係数を逆量子化する。逆量子化部520は、二次元に配列された量子化された変換係数に対して互いに異なる量子化係数(スケーリング値)を適用してもよい。逆量子化部520は、映像符号化装置から量子化係数(スケーリング値)の行列を量子化された変換係数の2次元アレイに適用して逆量子化を遂行する。
【0085】
逆変換部530は、逆量子化された変換係数を周波数ドメインから空間ドメインに逆変換して残差信号を復元することで、現在ブロックに対する残差ブロックを生成する。
【0086】
また、逆変換部530は、変換ブロックの一部領域(サブブロック)のみ逆変換する場合、変換ブロックのサブブロックのみを変換したことを指し示すフラグcu_sbt_flag、サブブロックの方向性(vertical/horizontal)情報cu_sbt_ horizontal_ flag及び/又はサブブロックの位置情報cu_sbt_pos_flagを抽出し、該当サブブロックの変換係数を周波数ドメインから空間ドメインに逆変換することによって残差信号を復元し、逆変換されない領域に対しては残差信号で「0」値を満たすことによって現在ブロックに対する最終残差ブロックを生成する。
【0087】
また、MTSが適用された場合、逆変換部530は、映像符号化装置からシグナリングされたMTS情報mts_idxを用いて横及び縦方向にそれぞれ適用する変換関数又は変換行列を決定し、決定された変換関数を用いて横及び縦方向に変換ブロック内の変換係数に対して逆変換を遂行する。
【0088】
予測部540は、イントラ予測部542及びインター予測部544を含む。イントラ予測部542は、現在ブロックの予測タイプがイントラ予測であるときに活性化され、インター予測部544は、現在ブロックの予測タイプがインター予測であるときに活性化される。
【0089】
イントラ予測部542は、エントロピー復号化部510から抽出されたイントラ予測モードに対するシンタックス要素から複数のイントラ予測モードのうちの現在ブロックのイントラ予測モードを決定し、イントラ予測モードに応じて現在ブロック周囲の参照ピクセルを用いて現在ブロックを予測する。
【0090】
インター予測部544は、エントロピー復号化部510から抽出されたインター予測モードに対するシンタックス要素を用いて現在ブロックの動きベクトルと、その動きベクトルが参照する参照ピクチャーを決定し、動きベクトルと参照ピクチャーを用いて現在ブロックを予測する。
【0091】
加算器550は、逆変換部から出力される残差ブロックと、インター予測部又はイントラ予測部から出力される予測ブロックを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、後で復号化するブロックをイントラ予測するときの参照ピクセルとして活用される。
【0092】
ループフィルタ部560は、インループフィルタとしてデブロックフィルタ562、SAOフィルタ564及びALF566を含む。デブロックフィルタ562は、ブロック単位の復号化に因って発生するブロッキング現象(blocking artifact)を除去するために、復元されたブロック間の境界をデブロックフィルタリングする。SAOフィルタ564及びALF566は、損失符号化(lossy coding)に因って発生する復元されたピクセルと元本ピクセルとの間の差を補償するために、デブロックフィルタリング以降の復元されたブロックに対して追加のフィルタリングを遂行する。ALFのフィルタ係数は、ビットストリームから復号したフィルタ係数に関する情報を用いて決定される。
【0093】
デブロックフィルタ562、SAOフィルタ564、及びALF566を介してフィルタリングされた復元ブロックはメモリ570に保存される。あるピクチャー内のすべてのブロックが復元されると、復元されたピクチャーは、後で符号化しようとするピクチャー内のブロックをインター予測するための参照ピクチャーとして使用される。
【0094】
図6は、結合された画面内画面間予測(Combined Inter/Intra Prediction,CIIP)モードで現在ブロックの予測ブロックを生成する方法を説明するための図である。画面内予測モードは、イントラ予測モードと同じ意味に該当する。画面内予測モードとイントラ予測モードは混用され得る。画面間予測モードは、インター予測モードと同じ意味に該当する。画面間予測モードとインター予測モードは混用され得る。結合された画面内画面間予測モードは、結合されたイントラインター予測モードと同じ意味に該当する。結合された画面内画面間予測モードとCIIPモードは混用され得る。CIIPモードで、インター予測ブロックは一般マージモードと同じ方法で生成される。イントラ予測ブロックは、現在ブロックの周囲に隣接する参照画素にプラナー(Planar)モードを適用して生成される。生成されたインター予測ブロックとイントラ予測ブロックに加重値を適用して最終的なCIIPを基盤にした予測ブロックが生成される。
【0095】
図6を参照すると、マージ(Merge)モードを基盤にして参照ピクチャー内参照ブロックPinterが誘導される。現在ブロックに隣接する参照画素にプラナーモードが適用されてイントラ予測ブロックPPlanarが生成される。該当参照ブロックPinterとイントラ予測ブロックPPlanarに加重値を適用してCIIPを基盤にした予測ブロックPCIIPが生成される。参照ブロックPinterに適用される加重値はWinterに該当する。イントラ予測ブロックPPlanarに適用される加重値はWintraに該当する。CIIPを基盤にした予測ブロックPCIIPは、
の式を用いて生成される。
【0096】
図7は、本開示の一実施例に係る、結合された画面内画面間予測モードで加重値を決定するために参照する周辺ブロックを説明するための図である。CIIPモードで加重値は、現在ブロックに隣接する周辺ブロックのイントラ予測モード符号化如何を考慮して決定される。
【0097】
図7を参照すると、CIIPモードで加重値は、現在ブロックに隣接する上側周辺ブロックAと左側周辺ブロックLのイントラ予測モード符号化如何を考慮して決定される。
【0098】
図8は、本開示の一実施例に係る、結合された画面内画面間予測モードで加重値を決定する方法を説明するための図である。現在ブロックに隣接する周辺ブロックがイントラ予測モードを多く符号化すると、イントラ予測ブロックに大きな加重値が付与される。逆に、現在ブロックに隣接する周辺ブロックがイントラ予測モードを少なく符号化すると、イントラ予測ブロックに小さな加重値が付与される。
【0099】
図8を参照すると、
図7の現在ブロックの上側周辺ブロックAと左側周辺ブロックLがイントラ予測モードを符号化する場合、イントラ予測ブロックに割り当てられる加重値は3に該当する。上側周辺ブロックAがイントラ予測モードを符号化し、左側周辺ブロックLがイントラ予測モードを符号化しない場合、イントラ予測ブロックに割り当てられる加重値は2に該当する。上側周辺ブロックAがイントラ予測モードを符号化せず、左側周辺ブロックLがイントラ予測モードを符号化する場合、イントラ予測ブロックに割り当てられる加重値は2に該当する。上側周辺ブロックAがイントラ予測モードを符号化せず、左側周辺ブロックLがイントラ予測モードを符号化しない場合、イントラ予測ブロックに割り当てられる加重値は1に該当する。
【0100】
図9は、本開示の一実施例に係る、32×32ブロックに幾何学的分割モードを適用する方法を説明するための図である。幾何学的分割モードについて説明すると、1つの符号化ユニット(Coding Unit)が直線分割境界によって2つの領域に分割される。分割された2つの領域は、それぞれ異なる動き情報を用いてインター予測を遂行する。分割された2つの領域に対するインター予測ブロックがそれぞれ生成される。生成された2つのインター予測ブロックを加重平均して最終的な幾何学的分割モードの予測ブロックが生成される。幾何学的分割モードは、角度媒介変数と距離媒介変数を用いて直線で定義される分割境界領域を設定する。加重平均は、加重和と同じ意味に該当する。
【0101】
図9を参照すると、32×32ブロックは2つの領域に分割される。分割された2つの領域のそれぞれに対してインター予測が遂行される。φは角度媒介変数に該当する。ρは距離媒介変数に該当する。角度媒介変数と距離媒介変数を用いて32×32ブロックを分割する直線が設定される。
【0102】
図10a及び
図10bは、本開示の一実施例に係る、幾何学的分割モードで角度媒介変数と距離媒介変数を説明するための図である。
【0103】
図10aを参照すると、角度媒介変数は、符号化ユニット内で360度の範囲を対称分割して合計20個の量子化された角度に定義される。
【0104】
図10bを参照すると、距離媒介変数は4つの量子化された距離に定義される。角度媒介変数と距離媒介変数の組み合わせで発生する合計80個の分割方向のうち、重複される10個の分割方向と、2進ツリー分割と3進ツリー分割との重複される6個の分割方向が除外される。したがって、幾何学的分割モードは合計64個の分割方向を使用する。
【0105】
図11は、本開示の一実施例に係る、幾何学的分割モードで分割方向情報のルックアップテーブルを説明するための図である。角度媒介変数と距離媒介変数の組み合わせは、ルックアップテーブル(look-up table)として定義される。1つの符号化ユニットごとに分割方向情報が伝送される。幾何学的分割モードでは、一般マージ候補リストから単方向動き情報のみを含む幾何学的分割モードのためのマージ候補リストが構成される。これにより、動き情報の符号化が簡素化され、可能な組み合わせの数が減る。幾何学的分割モードのためのマージ候補リストを用いて各分割領域で使用したマージインデックスが伝送される。
【0106】
図11を参照すると、角度媒介変数に関する情報(例えば、angleIdx)と距離媒介変数に関する情報(例えば、distanceIdx)によって分割方向情報(例えば、merge_gpm_partition_idx)が決定される。angleIdxとdistanceIdxの組み合わせによるmerge_gpm_partition_idxは、ルックアップテーブルとして定義される。merge_gpm_partition_idxの値は0から63の範囲に該当する。1つの符号化ユニットごとにmerge_gpm_partition_idxが伝送される。
【0107】
図12は、本開示の一実施例に係る、動きベクトル差分の方向情報を説明するための図である。一般的なマージモードでは、マージ候補リストの動き情報が現在ブロックの動き情報として使用され、追加の動き情報は伝送されない。一般的なマージモードは、ビット量を最小化する利点があるが、最適な動き情報を表現できないという限界がある。動きベクトル差分を用いたマージモード(Merge with Motion Vector Difference,MMVD)は、一般マージモードに誘導された動きベクトルに動きベクトル差分を加えて動き情報を補正する。
【0108】
動きベクトル差分を用いたマージモードは、複雑度を減らすために一般マージモードの候補リストのうちの1番目の候補と2番目の候補のみを使用する。2つの候補の中から1つの候補が選択され、該当候補の動きベクトルが初期動きベクトルに設定される。初期動きベクトルに追加で伝送を受けた動きベクトル差分情報が加えられて最終動きベクトルが決定される。動きベクトル差分情報は、方向情報と距離情報を含む。
【0109】
図12を参照すると、動きベクトル差分の方向情報は、垂直又は水平方向での補正のみ可能である。動きベクトル差分の方向情報は、4つの方向で構成される。水平方向に+1及び垂直方向に0ほど補正する動きベクトル差分の方向情報にはインデックス0が割り当てられる。水平方向に-1及び垂直方向に0ほど補正する動きベクトル差分の方向情報にはインデックス1が割り当てられる。水平方向に0及び垂直方向に+1ほど補正する動きベクトル差分の方向情報にはインデックス2が割り当てられる。水平方向に0及び垂直方向に-1ほど補正する動きベクトル差分の方向情報にはインデックス3が割り当てられる。
【0110】
図13は、本開示の一実施例に係る、動きベクトル差分の距離情報を説明するための図である。
【0111】
図13を参照すると、動きベクトル差分の距離情報は、動き距離である輝度画素距離で構成される。動きベクトル差分の方向情報は、8つの動き距離で構成される。輝度画素距離が1/4の動きベクトル差分の距離情報にはインデックス0が割り当てられる。輝度画素距離が1/2の動きベクトル差分の距離情報にはインデックス1が割り当てられる。輝度画素距離が1の動きベクトル差分の距離情報にはインデックス2が割り当てられる。輝度画素距離が2の動きベクトル差分の距離情報にはインデックス3が割り当てられる。輝度画素距離が4の動きベクトル差分の距離情報にはインデックス4が割り当てられる。輝度画素距離が8の動きベクトル差分の距離情報にはインデックス5が割り当てられる。輝度画素距離が16の動きベクトル差分の距離情報にはインデックス6が割り当てられる。輝度画素距離が32の動きベクトル差分の距離情報にはインデックス7が割り当てられる。
【0112】
図14は、本開示の一実施例に係る、インター予測を適用するフローチャートを説明するための図である。
【0113】
図14を参照すると、SKIPモードが適用されるか否かが判断される(S1410)。SKIPモードが適用されると判断された場合(S1410-はい)、SKIPモードが適用される(S1420)。SKIPモードが適用されないと判断された場合(S1410-いいえ)、マージモードが適用されるか否かが判断される(S1430)。マージモードが適用されないと判断された場合(S1430-いいえ)、AMVP(Adaptive Motion Vector Prediction)モードが適用される(S1440)。マージモードが適用されると判断された場合(S1430-はい)、サブブロックにマージモードが適用されるか否かが判断される(S1450)。サブブロックにマージモードが適用されると判断された場合(S1450-はい)、サブブロックにマージモードが適用される(S1460)。サブブロックベースの時間的動きベクトル予測とAFFINEマージモードが適用される。サブブロックにマージモードが適用されないと判断された場合(S1450-いいえ)、一般的なマージモードが適用されるか否かが判断される(S1470)。
【0114】
一般的なマージモードが適用されないと判断された場合(S1470-いいえ)、CIIPモードが適用されるか否かが判断される(S1480)。CIIPモードが適用されないと判断された場合(S1480-いいえ)、幾何学的分割モードが適用される(S1481)。CIIPモードが適用されると判断された場合(S1480-はい)、CIIPモードが適用される(S1482)。一般的なマージモードが適用されると判断された場合(S1470-はい)、動きベクトル差分を用いたマージモードが適用されるか否かが判断される(S1490)。動きベクトル差分を用いたマージモードが適用されると判断された場合(S1490-はい)、動きベクトル差分を用いたマージモードが適用される(S1491)。動きベクトル差分を用いたマージモードが適用されないと判断された場合(S1490-いいえ)、一般的なマージモードが適用される(S1492)。
【0115】
図15は、本開示の他の実施例に係る、動きベクトル差分の方向情報を説明するための図である。CIIPモードで動きベクトルの精度を向上させるために、動きベクトル差分を考慮してインター予測ブロックが生成される。このように生成されたインター予測ブロックをイントラ予測ブロックと加重平均して現在ブロックの予測ブロックが生成される。CIIPモードでインター予測ブロックを生成する場合、マージモード候補リストのうち、選択された候補の動きベクトルが初期動きベクトルに設定される。初期動きベクトルに動きベクトル差分情報を加えて最終動きベクトルが決定される。最終動きベクトルから誘導されたインター予測ブロックが、CIIPモードのインター予測ブロックとして使用される。
【0116】
動きベクトル差分情報は、
図12で説明した4つの方向情報と
図13で説明した8つの距離情報との組み合わせで使用される。
図12で説明した4つの方向情報に対角線方向情報が追加される。
【0117】
図15を参照すると、動きベクトル差分の方向情報は、
図12で説明した4つの方向情報に対角線方向情報が追加され、合計8つの方向情報で構成される。水平方向に+1及び垂直方向に0ほど補正する動きベクトル差分の方向情報にはインデックス0が割り当てられる。水平方向に-1及び垂直方向に0ほど補正する動きベクトル差分の方向情報にはインデックス1が割り当てられる。水平方向に0及び垂直方向に+1ほど補正する動きベクトル差分の方向情報にはインデックス2が割り当てられる。水平方向に0及び垂直方向に-1ほど補正する動きベクトル差分の方向情報にはインデックス3が割り当てられる。水平方向に+1及び垂直方向に+1ほど補正する動きベクトル差分の方向情報にはインデックス4が割り当てられる。水平方向に-1及び垂直方向に+1ほど補正する動きベクトル差分の方向情報にはインデックス5が割り当てられる。水平方向に-1及び垂直方向に-1ほど補正する動きベクトル差分の方向情報にはインデックス6が割り当てられる。水平方向に+1及び垂直方向に-1ほど補正する動きベクトル差分の方向情報にはインデックス7が割り当てられる。したがって、動きベクトル差分情報は、8つの方向情報と
図13で説明した8つの距離情報との組み合わせで使用される。
【0118】
図16は、本開示の一実施例に係る、結合された画面内画面間予測モードに動きベクトル差分を用いたマージモードを適用した場合にシンタックス構造を説明するための図である。CIIPモードに動きベクトル差分を用いたマージモードを適用する場合、動き情報の補正のために追加で動きベクトル差分情報を用いるので、動きベクトル差分に関する情報を伝送する。動きベクトル差分に関する情報の伝送又は解析(parsing)方法は、マージモードで動きベクトル差分に関する情報を伝送又は解析する方法と同じである。
【0119】
図16を参照すると、CIIPモードで動きベクトル差分を用いたマージモードの使用如何を示す情報(例えば、ciip_mmvd_enabled_flag)は、シーケンスパラメータセット(sequence parameter set,sps)又はピクチャーパラメータセット(picture parameter set,pps)又は ピクチャーヘッダ(picture header,ph)又はスライスヘッダ(slice header,sh)でシグナリングされる。現在ブロックに、CIIPモードで動きベクトル差分を用いたマージモードの使用如何を示す情報(例えば、ciip_mmvd_merge_flag)がシグナリングされる。CIIPモードで使用する動きベクトル差分の距離情報(例えば、ciip_mmvd_distance_idx)とCIIPモードで使用する動きベクトル差分の方向情報(例えば、ciip_mmvd_direction_idx)がシグナリングされる。ciip_mmvd_direction_idxは、
図12で説明した4つの方向情報又は
図15で説明した8つの方向情報を表す。
【0120】
図17は、本開示の一実施例に係る、結合された画面内画面間予測モードでシンタックス構造を説明するための図である。
【0121】
図17を参照すると、CIIPモードでマージインデックス(例えば、merge_idx)が伝送されない場合がある。merge_idxを0に固定してmerge_idxのシグナリングが省略される。これにより、符号化効率が向上される。
【0122】
図18は、本開示の一実施例に係る、幾何学的分割モードに動きベクトル差分を用いたマージモードを適用した場合のシンタックス構造を説明するための図である。幾何学的分割モードで動きベクトル差分を用いて分割された2つの領域に対するインター予測ブロックが生成される。生成された2つのインター予測ブロックを結合して幾何学的分割モードに対する最終予測ブロックが生成される。生成された2つのインター予測ブロックを加重平均して幾何学的分割モードに対する最終予測ブロックが生成される。ここで、加重値は任意の値に該当する。幾何学的分割モードで2つの領域のインター予測ブロックをそれぞれ生成する場合、各分割された領域に対して一般マージモードの候補リストのうちから選択された候補の動きベクトルが初期動きベクトルに設定される。動きベクトル差分情報と初期動きベクトルを加えて最終動きベクトルが決定される。2つの分割された領域は、最後動きベクトルを用いて2つのインター予測ブロックを生成する。2つのインター予測ブロックを結合して幾何学的分割モードに対する最終予測ブロックが生成される。2つのインター予測ブロックを加重平均して幾何学的分割モードに対する最終予測ブロックが生成される。ここで、加重値は任意の値に該当する。
【0123】
幾何学的分割モードで分割された2つの領域に互いに異なる動きベクトル差分が適用される。幾何学的分割モードで分割された2つの領域に互いに異なる動きベクトル差分を適用する場合、分割された2つの領域に独立的に動きベクトル差分情報を適用して最終動きベクトルが決定される。これにより、それぞれの領域に対する動きベクトル差分情報が独立的に伝送される。動きベクトル差分に関する情報の伝送又は解析方法は、マージモードで動きベクトル差分に関する情報を伝送又は解析する方法と同じである。
【0124】
図18を参照すると、幾何学的分割モードで動きベクトル差分を用いたマージモードの使用如何を示す情報(例えば、gpm_mmvd_enabled_flag)は、シーケンスパラメータセット又はピクチャーパラメータセット又はピクチャーヘッダ又はスライスヘッダでシグナリングされる。幾何学的分割モードに分割された1番目の領域で動きベクトル差分を用いたマージモードを使用するか否かを示す情報(例えば、gpm_mmvd_merge_idx0_flag)がシグナリングされる。幾何学的分割モードに分割された2番目の領域で動きベクトル差分を用いたマージモードを使用するか否かを示す情報(例えば、gpm_mmvd_merge_idx1_flag)がシグナリングされる。
【0125】
分割された1番目の領域で使用する動きベクトル差分の距離情報(例えば、gpm_mmvd_distance_idx_idx0)がシグナリングされる。分割された2番目の領域で使用する動きベクトル差分の距離情報(例えば、gpm_mmvd_distance_idx_idx1)がシグナリングされる。分割された1番目の領域で使用する動きベクトル差分の方向情報(例えば、gpm_mmvd_dricention_idx_idx0)がシグナリングされる。分割された2番目の領域で使用する動きベクトル差分の方向情報(例えば、gpm_mmvd_direction_idx_idx1)がシグナリングされる。gpm_mmvd_direction_idx_idx0とgpm_mmvd_direction_idx_idx1は、
図12で説明した4つの方向情報又は
図15で説明した8つの方向情報を表す。
【0126】
図19は、本開示の一実施例に係る、幾何学的分割モードで分割された1番目の領域の動きベクトル差分情報から分割された2番目の領域の動きベクトル差分情報を誘導する過程を説明するための図である。幾何学的分割モードでは、1番目の領域の動きベクトル差分情報を用いて2番目の領域の動きベクトル差分情報が誘導される。幾何学的分割モードで任意の領域の動きベクトル差分情報を用いて他の領域の動きベクトル差分情報が誘導される。
【0127】
図19を参照すると、幾何学的分割モードで、現在ブロックは第1の領域と第2の領域に分割される。第1の領域は、マージ候補リストから選択されたマージ候補の動きベクトルを初期動きベクトルMV0に設定する。第2の領域は、マージ候補リストから選択されたマージ候補の動きベクトルを初期動きベクトルMV1に設定する。第1の領域は参照ピクチャーリストLOにある参照ピクチャーを参照し、第2の領域は参照ピクチャーリストL1にある参照ピクチャーを参照する。ここで、MV0とMV1は互いに方向が正反対に該当する。
【0128】
第1の領域は、動きベクトル差分情報MVdiff_L0と初期動きベクトルMV0を加えて最終動きベクトルMV0’を決定する。第2の領域は、動きベクトル差分情報MVdiff_L1と初期動きベクトルMV1を加えて最終動きベクトルMV1’を決定する。MV0’とMV1’は互いに方向が正反対に該当する。第1の領域の動きベクトル差分情報MVdiff_L0と第2の領域の動きベクトル差分情報MVdiff_L1も互いに方向が正反対に該当する。この場合、第1の領域に対する動きベクトル差分の距離情報と第1の領域に対する動きベクトル差分の方向情報のみがシグナリングされる。第2の領域に対する動きベクトル差分の距離情報と第2の領域に対する動きベクトル差分の方向情報はシグナリングされない。第2の領域に対する動きベクトル差分の距離情報は、第1の領域に対する動きベクトル差分の距離情報と同じであり、第2の領域に対する動きベクトル差分の方向情報は、第1の領域に対する動きベクトル差分の方向情報とは正反対に該当するからである。
【0129】
一例として、第1の領域は、マージ候補リストから選択されたマージ候補の動きベクトルを初期動きベクトルMV0に設定する。第2の領域は、マージ候補リストから選択されたマージ候補の動きベクトルを初期動きベクトルMV1に設定する。第1の領域は参照ピクチャーリストLOにある参照ピクチャーを参照し、第2の領域は参照ピクチャーリストL0にある参照ピクチャーを参照したり、第1の領域は参照ピクチャーリストL1にある参照ピクチャーを参照し、第2の領域は参照ピクチャーリストL1にある参照ピクチャーを参照したりする。第1の領域と第2の領域は、同じ参照ピクチャーリストから互いに異なる参照ピクチャーを参照する。ここで、MV0とMV1は互いに方向が同じであり、現在ピクチャーとMV0が指示する参照ピクチャーとの間の距離と、現在ピクチャーとMV1が指示する参照ピクチャーとの間の距離が異なる。
【0130】
第1の領域は、動きベクトル差分情報MVdiff_L0と初期動きベクトルMV0を加えて最終動きベクトルMV0’を決定する。第2の領域は、動きベクトル差分情報MVdiff_L1と初期動きベクトルMV1を加えて最終動きベクトルMV1’を決定する。MV0’とMV1’は互いに方向が同じであり、現在ピクチャーとMV0’が指示する参照ピクチャーとの間の距離と、現在ピクチャーとMV1’が指示する参照ピクチャーとの間の距離が異なる。
【0131】
第1の領域の動きベクトル差分情報MVdiff_L0と第2の領域の動きベクトル差分情報MVdiff_L1は、互いに方向情報が同じで距離情報が異なる。この場合、第1の領域に対する動きベクトル差分の距離情報と第1の領域に対する動きベクトル差分の方向情報のみがシグナリングされる。第2の領域に対する動きベクトル差分の距離情報と第2の領域に対する動きベクトル差分の方向情報はシグナリングされない。第2の領域に対する動きベクトル差分の距離情報は、第1の領域に対する動きベクトル差分の距離情報をスケーリングして誘導され、第2の領域に対する動きベクトル差分の方向情報は、第1の領域に対する動きベクトル差分の方向情報と同じだからである。ここで、スケーリングは、現在ピクチャーのPOCと第1の領域が参照する参照ピクチャーリストLOにある参照ピクチャーのPOCとの差と、現在ピクチャーのPOCと第2の領域が参照する参照ピクチャーリストL0にある参照ピクチャーのPOCとの間の差を考慮して遂行される。
【0132】
図20は、本開示の他の実施例に係る、幾何学的分割モードで分割された1番目の領域の動きベクトル差分情報から分割された2番目の領域の動きベクトル差分情報を誘導する過程を説明するための図である。
【0133】
図20を参照すると、幾何学的分割モードで現在ブロックは第1の領域と第2の領域に分割される。第1の領域は、マージ候補リストから選択されたマージ候補の動きベクトルを初期動きベクトルMV0に設定する。第2の領域は、マージ候補リストから選択されたマージ候補の動きベクトルを初期動きベクトルMV1に設定する。第1の領域は参照ピクチャーリストLOにある参照ピクチャーを参照し、第2の領域は参照ピクチャーリストL1にある参照ピクチャーを参照する。ここで、MV0とMV1は、互いに方向が正反対に該当し、現在ピクチャーとMV0が指示する参照ピクチャーとの間の距離と、現在ピクチャーとMV1が指示する参照ピクチャーとの間の距離が異なる。
【0134】
第1の領域は、動きベクトル差分情報MVdiff_L0と初期動きベクトルMV0を加えて最終動きベクトルMV0’を決定する。第2の領域は動きベクトル差分情報MVdiff_L1と初期動きベクトルMV1を加えて最終動きベクトルMV1'を決定する。MV0’とMV1’は互いに方向が正反対に該当し、現在ピクチャーとMV0’が指示する参照ピクチャーとの距離と、現在ピクチャーとMV1’が指示する参照ピクチャーとの間の距離が異なる。
【0135】
第1の領域の動きベクトル差分情報MVdiff_L0と第2の領域の動きベクトル差分情報MVdiff_L1は、互いに方向情報が正反対であり、距離情報が異なる。この場合、第1の領域に対する動きベクトル差分の距離情報と第1の領域に対する動きベクトル差分の方向情報のみがシグナリングされる。第2の領域に対する動きベクトル差分の距離情報と第2の領域に対する動きベクトル差分の方向情報はシグナリングされない。第2の領域に対する動きベクトル差分の距離情報は、第1の領域に対する動きベクトル差分の距離情報をスケーリングして誘導され、第2の領域に対する動きベクトル差分の方向情報は、第1の領域に対する動きベクトル差分の方向情報と正反対に該当するからである。ここで、スケーリングは、現在ピクチャーのPOCと第1の領域が参照する参照ピクチャーリストLOにある参照ピクチャーのPOCとの差と、現在ピクチャーのPOCと第2の領域が参照する参照ピクチャーリストL1にある参照ピクチャーのPOCとの間の差を考慮して遂行される。
【0136】
図21は、本開示の他の実施例に係る、幾何学的分割モードに動きベクトル差分を用いたマージモードを適用した場合のシンタックス構造を説明するための図である。幾何学的分割モードで分割された2つの領域に同じ動きベクトル差分が適用される。幾何学的分割モードで分割された2つの領域に同じ動きベクトル差分を適用する場合、分割された2つの領域に同じ動きベクトル差分情報を適用して最終動きベクトルが決定される。これにより、1つの動きベクトル差分情報が伝送される。動きベクトル差分情報の伝送又は解析方法は、マージモードで動きベクトル差分情報を伝送又は解析する方法と同じである。
【0137】
図21を参照すると、幾何学的分割モードで動きベクトル差分を用いたマージモードの使用如何を示す情報(例えば、gpm_mmvd_enabled_flag)は、シーケンスパラメータセット又はピクチャーパラメータセット又はピクチャーヘッダ又はスライスヘッダでシグナリングされる。幾何学的分割モードに分割された2つの領域で動きベクトル差分を用いたマージモードを使用するか否かを示す情報(例えば、gpm_mmvd_merge_flag)がシグナリングされる。
【0138】
分割された2つの領域で使用する動きベクトル差分の距離情報(例えば、gpm_mmvd_distance_idx)がシグナリングされる。分割された2つの領域で使用する動きベクトル差分の方向情報(例えば、gpm_mmvd_direction_idx)がシグナリングされる。gpm_mmvd_direction_idxは、
図12で説明した4つの方向情報又は
図15で説明した8つの方向情報に該当する。幾何学的分割モードに分割された2つの領域で動きベクトル差分を用いたマージモードを用いる場合、gpm_mmvd_distance_idxとgpm_mmvd_direction_idxからそれぞれ動きベクトル差分の距離情報と動きベクトル差分の方向情報が誘導される。動きベクトル差分の距離情報と動きベクトル差分の方向情報を、分割された2つの領域のマージ候補の動きベクトルに等しく適用して動きベクトルが補正される。幾何学的分割モードで分割された2つの領域に同じ動きベクトル差を適用して複雑度が減少される。
【0139】
図22は、本開示の一実施例に係る、動きベクトル差分を用いたマージモードを適用してインター予測を適用するフローチャートを説明するための図である。
【0140】
図22を参照すると、マージモードが適用されるか否かが判断される(S2210)。マージモードが適用されないと判断された場合(S2210-いいえ)、AMVPモードが適用される(S2220)。マージモードが適用されたと判断された場合(S2210-はい)、サブブロックにマージモードが適用されるか否かが判断される(S2230)。サブブロックにマージモードが適用されると判断された場合(S2230-はい)、サブブロックにマージモードが適用される(S2240)。サブブロックベースの時間的動きベクトル予測とAFFINEマージモードが適用される。サブブロックにマージモードが適用されないと判断された場合(S2230-いいえ)、一般的なマージモードが適用されるか否かが判断される(S2250)。
【0141】
一般的なマージモードが適用されないと判断された場合(S2250-いいえ)、CIIPモードが適用されるか否かが判断される(S2260)。CIIPモードが適用されないと判断された場合(S2260-いいえ)、動きベクトル差分を用いた幾何学的分割モードが適用されるか否かが判断される(S2261)。動きベクトル差分を用いた幾何学的分割モードが適用されないと判断された場合(S2261-いいえ)、動きベクトル差分を考慮しない幾何学的分割モードが適用される(S2262)。動きベクトル差分を用いた幾何学的分割モードが適用されると判断された場合(S2261-はい)、動きベクトル差分を用いた幾何学的分割モードが適用される(S2263)。CIIPモードが適用されると判断された場合(S2260-はい)、動きベクトル差分を用いたCIIPモードが適用されるか否かが判断される(S2264)。動きベクトル差分を用いたCIIPモードが適用されないと判断された場合(S2264-いいえ)、動きベクトル差分を考慮しないCIIPモードが適用される(S2265)。動きベクトル差分を用いたCIIPモードが適用されると判断された場合(S2264-はい)、動きベクトル差分を用いたCIIPモードが適用される(S2266)。
【0142】
一般的なマージモードが適用されると判断された場合(S2250-はい)、動きベクトル差分を用いた一般的なマージモードが適用されるか否かが判断される(S2270)。動きベクトル差分を用いた一般的なマージモードが適用されると判断された場合(S2270-はい)、動きベクトル差分を用いた一般的なマージモードが適用される(S2271)。動きベクトル差分を用いた一般的なマージモードが適用されないと判断された場合(S2270-いいえ)、動きベクトル差分を考慮しない一般的なマージモードが適用される(S2272)。
【0143】
図23は、本開示の他の実施例に係る、動きベクトル差分を用いたマージモードを適用してインター予測を適用するフローチャートを説明するための図である。
【0144】
図23を参照すると、マージモードが適用されるか否かが判断される(S2310)。マージモードが適用されないと判断された場合(S2310-いいえ)、AMVPモードが適用される(S2320)。マージモードが適用されると判断された場合(S2310-はい)、サブブロックにマージモードが適用されるか否かが判断される(S2330)。サブブロックにマージモードが適用されると判断された場合(S2330-はい)、サブブロックにマージモードが適用される(S2340)。サブブロックベースの時間的動きベクトル予測とAFFINEマージモードが適用される。サブブロックにマージモードが適用されないと判断された場合(S2330-いいえ)、一般的なマージモードが適用されるか否かが判断される(S2350)。
【0145】
一般的なマージモードが適用されないと判断された場合(S2350-いいえ)、動きベクトル差分を利用するか否かが判断される(S2360)。動きベクトル差分を利用しないと判断された場合(S2360-いいえ)、CIIPモードが適用されるか否かが判断される(S2361)。CIIPモードが適用されないと判断された場合(S2361-いいえ)、動きベクトル差分を考慮しない幾何学的分割モードが適用される(S2362)。CIIPモードが適用されると判断された場合(S2361-はい)、動きベクトル差分を考慮しないCIIPモードが適用される(S2363)。動きベクトル差分を用いると判断された場合(S2360-はい)、CIIPモードが適用されるか否かが判断される(S2364)。CIIPモードが適用されないと判断された場合(S2364-いいえ)、動きベクトル差分を用いた幾何学的分割モードが適用される(S2365)。CIIPモードが適用されると判断された場合(S2364-はい)、動きベクトル差分を用いたCIIPモードが適用される(S2366)。
【0146】
一般的なマージモードが適用されると判断された場合(S2350-はい)、動きベクトル差分を用いた一般的なマージモードが適用されるか否かが判断される(S2370)。動きベクトル差分を用いた一般的なマージモードが適用されると判断された場合(S2370-はい)、動きベクトル差分を用いた一般的なマージモードが適用される(S2371)。動きベクトル差分を用いた一般的なマージモードが適用されないと判断された場合(S2370-いいえ)、動きベクトル差分を考慮しない一般的なマージモードが適用される(S2372)。
【0147】
図24は、本開示の一実施例に係る、ビデオ復号化過程を説明するための図である。
【0148】
図24を参照すると、復号化装置は、CIIPモード又は幾何学的分割モードの適用如何を判断する(S2410)。復号化装置は、マージ候補リストから動きベクトルを誘導する(S2420)。CIIPモードが適用される場合、マージ候補リストから動きベクトルを誘導するステップは、マージ候補リスト内の1番目のマージ候補から動きベクトルを誘導するステップを含む。幾何学的分割モードが適用される場合、マージ候補リストから動きベクトルを誘導するステップは、マージ候補リストから分割された2つの領域のそれぞれに対する動きベクトルを誘導するステップを含む。
【0149】
復号化装置は、動きベクトル差分情報を用いて動きベクトルを補正する(S2430)。幾何学的分割モードが適用され、分割された2つの領域が互いに異なる動きベクトル差分情報を用いる場合、動きベクトルを補正するステップは、互いに異なる動きベクトル差分情報を用いて分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む。幾何学的分割モードが適用され、分割された2つの領域が同じ動きベクトル差分情報を利用する場合、動きベクトルを補正するステップは、同じ動きベクトル差分情報を用いて分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む。動きベクトル差分情報は、方向情報及び距離情報を含む。方向情報は4つの情報又は8つの情報を含み、距離情報は8つの情報を含む。復号化装置は、補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成する(S2440)。
【0150】
CIIPモードが適用される場合、現在ブロックの予測ブロックを生成するステップは、補正された動きベクトルを基盤にし、現在ブロックに対するインター予測ブロックを生成するステップ、現在ブロックに隣接する少なくとも1つ以上の参照ブロックを基盤にし、現在ブロックに対するイントラ予測ブロックを生成するステップ、及び、インター予測ブロック及びイントラ予測ブロックを加重平均して現在ブロックの予測ブロックを生成するステップ、を含む。幾何学的分割モードが適用される場合、現在ブロックの予測ブロックを生成するステップは、補正された動きベクトルを用いて分割された2つの領域の各々に対するインター予測ブロックを生成するステップ、及び、分割された2つの領域のそれぞれに対するインター予測ブロックを結合又は加重平均して現在ブロックの予測ブロックを生成するステップを含む。
【0151】
図25は、本開示の一実施例に係る、ビデオ符号化過程を説明するための図である。
【0152】
図25を参照すると、符号化装置は、CIIPモード又は幾何学的分割モードの適用如何を判断する(S2510)。符号化装置は、マージ候補リストから動きベクトルを決定する(S2520)。CIIPモードが適用される場合、マージ候補リストから動きベクトルを決定するステップは、マージ候補リスト内の1番目のマージ候補から動きベクトルを決定するステップを含む。幾何学的分割モードが適用される場合、マージ候補リストから動きベクトルを決定するステップは、マージ候補リストから分割された2つの領域のそれぞれに対する動きベクトルを決定するステップを含む。
【0153】
符号化装置は、動きベクトル差分情報を用いて動きベクトルを補正する(S2530)。幾何学的分割モードが適用され、分割された2つの領域が互いに異なる動きベクトル差分情報を利用する場合、動きベクトルを補正するステップは、互いに異なる動きベクトル差分情報を用いて分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む。幾何学的分割モードが適用され、分割された2つの領域が同じ動きベクトル差分情報を用いる場合、動きベクトルを補正するステップは、同じ動きベクトル差分情報を用いて分割された2つの領域のそれぞれに対する動きベクトルを補正するステップを含む。動きベクトル差分情報は、方向情報及び距離情報を含む。方向情報は4つの情報又は8つの情報を含み、距離情報は8つの情報を含む。符号化装置は、補正された動きベクトルを基盤にして現在ブロックの予測ブロックを生成する(S2540)。
【0154】
CIIPモードが適用される場合、現在ブロックの予測ブロックを生成するステップは、補正された動きベクトルを基盤にし、現在ブロックに対するインター予測ブロックを生成するステップ、現在ブロックに隣接する少なくとも1つ以上の参照ブロックを基盤にし、現在ブロックに対するイントラ予測ブロックを生成するステップ、及び、インター予測ブロック及びイントラ予測ブロックを加重平均して現在ブロックの予測ブロックを生成するステップ、を含む。幾何学的分割モードが適用される場合、現在ブロックの予測ブロックを生成するステップは、補正された動きベクトルを用いて分割された2つの領域の各々に対するインター予測ブロックを生成するステップ、及び、分割された2つの領域のそれぞれに対するインター予測ブロックを結合又は加重平均して現在ブロックの予測ブロックを生成するステップを含む。
【0155】
本明細書のフローチャート/タイミング図では、各プロセスを順次敵に実行することが記載されているが、これは本開示の一実施例の技術思想を例示的に説明したものにすぎない。言い換えれば、本開示の一実施例が属する技術分野にて通常の知識を有する者であれば、本開示の一実施例の本質的な特性から逸脱しない範囲でフローチャート/タイミング図に記載された順序を変更して実行するか、又は各プロセスのうちの1つ以上のプロセスを並列的に実行することにより様々に修正及び変形して適用可能であるので、フローチャート/タイミング図は時系列的な順序に限定されるものではない。
【0156】
上記の説明で例示的な実施例は、多くの異なる方法で具現できることを理解されたい。1つ以上の例示で説明された機能あるいは方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで具現される。本明細書で説明された機能的コンポーネントは、それらの具現独立性を特に強調するために「…部(unit)」とラベル付けされることを理解されたい。
【0157】
一方、本実施例で説明された様々な機能あるいは方法は、1つ以上のプロセッサによって読み取られて実行される非一時的記録媒体に保存された命令語で具現されてもよい。非一時的記録媒体は、例えばコンピュータシステムによって読み取り可能な形態でデータが保存されるあらゆる種類の記録装置を含む。例えば、非一時的記録媒体は、EPROM(erasable programmable read only memory)、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ(SSD)のような保存媒体を含む。
【0158】
以上の説明は、本実施例の技術思想を例示的に説明したものに過ぎず、本実施例が属する技術分野で通常の知識を有する者であれば、本実施例の本質的な特性から逸脱しない範囲で様々な修正及び変形が可能であろう。したがって、本実施例は、本実施例の技術思想を限定するためのものではなく説明するためのものであり、このような実施例によって本実施例の技術思想の範囲が限定されるものではない。本実施例の保護範囲は、特許請求の範囲によって解釈されるべきであり、それと同等の範囲内にあるすべての技術思想は、本実施例の権利範囲に含まれるものと解釈されるべきである。
【符号化の説明】
【0159】
122 イントラ予測部
510 エントロピー復号化部
542 イントラ予測部
【国際調査報告】