IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

特開2024-133397同一位置ピクチャに関する情報を含むピクチャヘッダーに基づく画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024133397
(43)【公開日】2024-10-01
(54)【発明の名称】同一位置ピクチャに関する情報を含むピクチャヘッダーに基づく画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240920BHJP
   H04N 19/52 20140101ALI20240920BHJP
【FI】
H04N19/70
H04N19/52
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024118464
(22)【出願日】2024-07-24
(62)【分割の表示】P 2023167621の分割
【原出願日】2020-12-04
(31)【優先権主張番号】62/945,047
(32)【優先日】2019-12-06
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】ナム チョン ハク
(72)【発明者】
【氏名】ヘンドリー ヘンドリー
(72)【発明者】
【氏名】イム チェヒョン
(72)【発明者】
【氏名】キム スン ファン
(57)【要約】
【課題】符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供される。
【解決手段】本開示による画像復号化方法は、現在ブロックに対する同一位置ピクチャに基づいて、現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor)を導出するステップと、時間動きベクトル予測子に基づいて現在ブロックの動きベクトルを導出するステップと、動きベクトルに基づいて現在ブロックの予測ブロックを生成するステップと、を含み、同一位置ピクチャは、現在ブロックを含む現在スライスのスライスヘッダーに含まれている同一位置ピクチャの識別情報に基づいて決定されるが、スライスヘッダーが同一位置ピクチャの識別情報を含まない場合、同一位置ピクチャは、現在ブロックを含む現在ピクチャのピクチャヘッダーに含まれている同一位置ピクチャの識別情報に基づいて決定されることができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
現在ブロックに対する同一位置ピクチャに基づいて、前記現在ブロックに対する時間動きベクトル予測子を導出するステップと、
動きベクトル差分に関する情報に基づいて、前記現在ブロックの動きベクトル差分を導出するステップと、
前記時間動きベクトル予測子及び前記動きベクトル差分に基づいて前記現在ブロックの動きベクトルを導出するステップと、
前記動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、を含み、
前記同一位置ピクチャは、前記同一位置ピクチャの識別情報に基づいて決定され、前記同一位置ピクチャの前記識別情報は、前記現在ブロックに対する参照ピクチャリスト内の前記同一位置ピクチャを示す参照インデックス情報を含み、
前記時間動きベクトル予測子が、前記現在ブロックを含む現在ピクチャに対して有効であることに基づいて、前記同一位置ピクチャの前記識別情報は、前記現在ピクチャに対するピクチャヘッダーから取得される、画像復号化方法。
【請求項2】
画像符号化装置によって行われる画像符号化方法であって、
現在ブロックの動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックに対する同一位置ピクチャに基づいて前記現在ブロックに対する時間動きベクトル予測子を導出するステップと、
前記動きベクトル及び前記時間動きベクトル予測子に基づいて、前記現在ブロックの動きベクトル差分を導出するステップと、
前記時間動きベクトル予測子及び前記動きベクトル差分に基づいて前記現在ブロックの動きベクトルを符号化するステップと、を含み、
前記同一位置ピクチャの識別情報は符号化され、前記同一位置ピクチャの前記識別情報は、前記現在ブロックに対する参照ピクチャリスト内の前記同一位置ピクチャを示す参照インデックス情報を含み、
前記時間動きベクトル予測子が、前記現在ブロックを含む現在ピクチャに対して有効であることに基づいて、前記同一位置ピクチャの前記識別情報は、前記現在ピクチャに対するピクチャヘッダー内に符号化される、画像符号化方法。
【請求項3】
画像符号化方法によって生成されたビットストリームを伝送する方法であって、
前記画像符号化方法は、
現在ブロックの動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックに対する同一位置ピクチャに基づいて前記現在ブロックに対する時間動きベクトル予測子を導出するステップと、
前記動きベクトル及び前記時間動きベクトル予測子に基づいて、前記現在ブロックの動きベクトル差分を導出するステップと、
前記時間動きベクトル予測子及び前記動きベクトル差分に基づいて前記現在ブロックの動きベクトルを符号化するステップと、を含み、
前記同一位置ピクチャの識別情報は符号化され、前記同一位置ピクチャの前記識別情報は、前記現在ブロックに対する参照ピクチャリスト内の前記同一位置ピクチャを示す参照インデックス情報を含み、
前記時間動きベクトル予測子が、前記現在ブロックを含む現在ピクチャに対して有効であることに基づいて、前記同一位置ピクチャの前記識別情報は、前記現在ピクチャに対するピクチャヘッダー内に符号化される、ビットストリーム伝送方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、同一位置ピクチャに関する情報を含むピクチャヘッダーに基づく画像符号化/復号化方法、装置、及びビットストリームを伝送する方法に関し、より詳細には、同一位置ピクチャの識別情報を含むピクチャヘッダーに基づいてインター予測を行う画像符号化/復号化方法、装置、及び本開示の画像符号化方法/装置によって生成されたビットストリームを伝送する方法に関する。
【背景技術】
【0002】
最近、高解像度、高品質の画像、例えばHD(High Definition)画像及びUHD(Ultra High Definition)画像への需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、従来の画像データに比べて、伝送される情報量又はビット量が相対的に増加する。伝送される情報量又はビット量の増加は、伝送費用と保存費用の増加をもたらす。
【0003】
これにより、高解像度、高品質画像の情報を効果的に伝送又は保存し、再生するための高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、符号化/復号化効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0005】
また、本開示は、同一位置ピクチャに関する情報を含むピクチャヘッダーに基づく画像符号化/復号化方法及び装置を提供することを目的とする。
【0006】
また、本開示は、TMVPのためのシグナリングメカニズム効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0007】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法を提供することを目的とする。
【0008】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体を提供することを目的とする。
【0009】
また、本開示は、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体を提供することを目的とする。
【0010】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるであろう。
【課題を解決するための手段】
【0011】
本開示の一態様による画像復号化方法は、現在ブロックに対する同一位置ピクチャに基づいて前記現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor)を導出するステップと、前記時間動きベクトル予測子に基づいて前記現在ブロックの動きベクトルを導出するステップと、前記動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、を含み、前記同一位置ピクチャは、前記現在ブロックを含む現在スライスのスライスヘッダーに含まれている前記同一位置ピクチャの識別情報に基づいて決定されるが、前記スライスヘッダーが前記同一位置ピクチャの識別情報を含まない場合、前記同一位置ピクチャは、前記現在ブロックを含む現在ピクチャのピクチャヘッダーに含まれている前記同一位置ピクチャの識別情報に基づいて決定されることができる。
【0012】
本開示の他の態様による画像復号化装置は、メモリ及び少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、現在ブロックに対する同一位置ピクチャに基づいて、前記現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor)を導出し、前記時間動きベクトル予測子に基づいて前記現在ブロックの動きベクトルを導出し、前記動きベクトルに基づいて前記現在ブロックの予測ブロックを生成し、前記同一位置ピクチャは、前記現在ブロックを含む現在スライスのスライスヘッダーに含まれている前記同一位置ピクチャの識別情報に基づいて決定されるが、前記スライスヘッダーが前記同一位置ピクチャの識別情報を含まない場合、前記同一位置ピクチャは、前記現在ブロックを含む現在ピクチャのピクチャヘッダーに含まれている前記同一位置ピクチャの識別情報に基づいて決定されることができる。
【0013】
本開示の別の態様による画像符号化方法は、現在ブロックの動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、前記現在ブロックに対する同一位置ピクチャに基づいて前記現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor)を導出するステップと、前記時間動きベクトル予測子に基づいて前記現在ブロックの動きベクトルを符号化するステップと、を含み、前記同一位置ピクチャの識別情報は、前記現在ブロックを含む現在スライスのスライスヘッダー内に符号化されるが、前記同一位置ピクチャの識別情報が前記スライスヘッダー内に符号化されない場合、前記同一位置ピクチャの識別情報は、前記現在ブロックを含む現在ピクチャのピクチャヘッダー内に符号化されることができる。
【0014】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示の画像符号化方法又は画像符号化装置によって生成されたビットストリームを保存することができる。
【0015】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0016】
本開示によれば、符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0017】
また、本開示によれば、同一位置ピクチャに関する情報を含むピクチャヘッダーに基づく画像符号化/復号化方法及び装置が提供されることができる。
【0018】
また、本開示によれば、TMVPのためのシグナリングメカニズム効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0019】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法が提供されることができる。
【0020】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体が提供されることができる。
【0021】
また、本開示によれば、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体が提供されることができる。
【0022】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0023】
図1】本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
図2】本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
図3】本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
図4】インター予測ベースのビデオ/画像符号化方法を示すフローチャートである。
図5】本開示によるインター予測部180の構成を例示的に示す図である。
図6】インター予測ベースのビデオ/画像復号化方法を示すフローチャートである。
図7】本開示によるインター予測部260の構成を例示的に示す図である。
図8】空間マージ候補として用いられる周辺ブロックを例示する図である。
図9】本開示の一例によるマージ候補リスト構成方法を概略的に示す図である。
図10】空間候補に対して行われる冗長性チェックのための候補対を例示する図である。
図11】時間候補の動きベクトルをスケーリングする方法を説明するための図である。
図12】時間候補を誘導する位置を説明するための図である。
図13】本開示の一例による動きベクトル予測子候補リスト構成方法を概略的に示す図である。
図14a】TMVPに関する情報を含むピクチャヘッダーの一例を示す図である。
図14b】TMVPに関する情報を含むスライスヘッダーの一例を示す図である。
図15】本開示の実施例によるピクチャヘッダーの一例を示す図である。
図16】本開示の実施例によるピクチャヘッダーの一例を示す図である。
図17】本開示の実施例によるピクチャヘッダーの一例を示す図である。
図18】本開示の実施例によるピクチャヘッダーの一例を示す図である。
図19】本開示の一実施例による画像符号化方法を示すフローチャートである。
図20】本開示の一実施例による画像復号化方法を示すフローチャートである。
図21】本開示の一実施例による同一位置ピクチャを決定する方法を示すフローチャートである。
図22】本開示による実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【発明を実施するための形態】
【0024】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0025】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0026】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するものではなく、別の構成要素をさらに含むことができることを意味する。
【0027】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素は、他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を、他の実施例で第1構成要素と呼んでもよい。
【0028】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0029】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0030】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0031】
本開示において、「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、ピクチャの一部を構成する符号化単位であって、一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。
【0032】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0033】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0034】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーディングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0035】
本開示において、「現在ブロック」は、クロマブロックという明示的な記載がない限り、ルマ成分ブロックとクロマ成分ブロックを全て含むブロック、又は「現在ブロックのルマブロック」を意味することができる。現在ブロックのルマ成分ブロックは、明示的に「ルマブロック」又は「現在ルマブロック」のようにルマ成分ブロックという明示的な記載を含んで表現できる。また、現在ブロックのクロマ成分ブロックは、明示的に「クロマブロック」又は「現在クロマブロック」のようにクロマ成分ブロックという明示的な記載を含んで表現できる。
【0036】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0037】
本開示において、「又は」は、「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0038】
ビデオコーディングシステムの概要
【0039】
図1は本開示によるビデオコーディングシステムを示す図である。
【0040】
一実施例によるビデオコーディングシステムは、符号化装置10及び復号化装置20を含むことができる。符号化装置10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20へ伝達することができる。
【0041】
一実施例よる符号化装置10は、ビデオソース生成部11、符号化部12及び伝送部13を含むことができる。一実施例による復号化装置20は、受信部21、復号化部22及びレンダリング部23を含むことができる。前記符号化部12は、ビデオ/画像符号化部と呼ばれることができ、前記復号化部22は、ビデオ/画像復号化部と呼ばれることができる。伝送部13は、符号化部12に含まれることができる。受信部21は、復号化部22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
【0042】
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して、仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
【0043】
符号化部12は、入力ビデオ/画像を符号化することができる。符号化部12は、圧縮及び符号化効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化部12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
【0044】
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを、ファイル又はストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20の受信部21に伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray(登録商標)、HDD、SSDなどのさまざまな記憶媒体を含むことができる。伝送部13は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化部22に伝達することができる。
【0045】
復号化部22は、符号化部12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
【0046】
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
【0047】
画像符号化装置の概要
【0048】
図2は本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0049】
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
【0050】
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0051】
画像分割部110は、画像符号化装置100に入力された入力画像(又は、ピクチャ、フレーム)を一つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)又は最大コーディングユニット(largest coding unit、LCU)をQT/BT/TT(Quad-tree/binary-tree/ternary-tree)構造によって再帰的に(recursively)分割することにより取得されることができる。例えば、一つのコーディングユニットは、四分木構造、二分木構造及び/又は三分木構造に基づいて、下位(deeper)デプスの複数のコーディングユニットに分割されることができる。コーディングユニットの分割のために、四分木構造が先に適用され、二分木構造及び/又は三分木構造が後で適用されることができる。それ以上分割されない最終コーディングユニットを基に、本開示によるコーディング手順が行われることができる。最大コーディングユニットが最終コーディングユニットとして使用されることができ、最大コーディングユニットを分割して取得した下位デプスのコーディングユニットが最終コーディングユニットとして使用されることもできる。ここで、コーディング手順とは、後述する予測、変換及び/又は復元などの手順を含むことができる。他の例として、前記コーディング手順の処理ユニットは、予測ユニット(PU:Prediction Unit)又は変換ユニット(TU:Transform Unit)であることができる。前記予測ユニット及び前記変換ユニットは、それぞれ前記最終コーディングユニットから分割又はパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を誘導する単位、及び/又は変換係数からレジデュアル信号(residual signal)を誘導する単位であることができる。
【0052】
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部190に伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0053】
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びPlanarモードを含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0054】
インター予測部180は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。前記参照ブロックを含む参照ピクチャと、前記時間周辺ブロックを含む参照ピクチャとは、同一でもよく、互いに異なってもよい。前記時間周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名前で呼ばれることができる。前記時間周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることができる。例えば、インター予測部180は、周辺ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいて、インター予測が行われることができ、例えばスキップモードとマージモードの場合に、インター予測部180は、周辺ブロックの動き情報を現在ブロックの動き情報として用いることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が伝送されないことができる。動き情報予測(motion vector prediction、MVP)モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)及び動きベクトル予測子に対するインジケータ(indicator)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0055】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。IBCは、基本的に、現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出するという点において、インター予測と同様に行われることができる。すなわち、IBCは、本開示で説明されるインター予測技法のうちの少なくとも一つを用いることができる。
【0056】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
【0057】
変換部120は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、又はCNT(Conditionally Non-linear Transform)のうちの少なくとも一つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元されたすべてのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックにも適用されることもできる。
【0058】
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0059】
エントロピー符号化部190は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などの様々な符号化方法を行うことができる。エントロピー符号化部190は、量子化された変換係数の他に、ビデオ/画像復元に必要な情報(例えば、シンタックス要素(syntax elementsの値など)を一緒に又は別々に符号化することもできる。符号化された情報(例えば、符号化されたビデオ/画像情報)は、ビットストリーム形式でNAL(network abstraction layer)ユニット単位で伝送又は保存されることができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0060】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
【0061】
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0062】
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0063】
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0064】
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0065】
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
【0066】
画像復号化装置の概要
【0067】
図3は本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0068】
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
【0069】
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0070】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、図2の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0071】
画像復号化装置200は、図2の画像符号化装置から出力された信号をビットストリーム形式で受信することができる。受信された信号は、エントロピー復号化部210を介して復号化できる。例えば、エントロピー復号化部210は、前記ビットストリームをパーシングして画像復元(又はピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出することができる。前記ビデオ/画像情報は、適応パラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)又はビデオパラメータセット(VPS)などの様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。画像復号化装置は、画像を復号化するために、前記パラメータセットに関する情報及び/又は前記一般制限情報をさらに用いることができる。本開示で言及されたシグナリング情報、受信される情報及び/又はシンタックス要素は、前記復号化手順を介して復号化されることにより、前記ビットストリームから取得されることができる。例えば、エントロピー復号化部210は、指数ゴロム符号化、CAVLC又はCABACなどのコーディング方法に基づいてビットストリーム内の情報を復号化し、画像復元に必要なシンタックス要素の値、レジデュアルに関する変換係数の量子化された値を出力することができる。より詳細には、CABACエントロピー復号化方法は、ビットストリームから各シンタックス要素に該当するビン(bin)を受信し、復号化対象シンタックス要素情報と周辺ブロック及び復号化対象ブロックの復号化情報、或いは以前ステップで復号化されたシンボル/ビンの情報を用いてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルに基づいてビン(bin)の発生確率を予測してビンの算術復号化(arithmetic decoding)を行うことにより、各シンタックス要素の値に該当するシンボルを生成することができる。この時、CABACエントロピー復号化方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのために、復号化されたシンボル/ビンの情報を用いてコンテキストモデルを更新することができる。エントロピー復号化部210で復号化された情報のうち、予測に関する情報は、予測部(インター予測部260及びイントラ予測部265)に提供され、エントロピー復号化部210でエントロピー復号化が行われたレジデュアル値、すなわち量子化された変換係数及び関連パラメータ情報は、逆量子化部220に入力されることができる。また、エントロピー復号化部210で復号化された情報のうち、フィルタリングに関する情報は、フィルタリング部240に提供されることができる。一方、画像符号化装置から出力された信号を受信する受信部(図示せず)が画像復号化装置200の内/外部要素としてさらに備えられることができ、又は受信部はエントロピー復号化部210の構成要素として備えられることもできる。
【0072】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
【0073】
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0074】
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0075】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0076】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
【0077】
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
【0078】
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0079】
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155についての説明は、加算部235に対しても同様に適用されることができる。加算部235は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0080】
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0081】
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
【0082】
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
【0083】
インター予測の概要
【0084】
画像符号化装置/復号化装置は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャのデータ要素に依存的な方法で導出される予測技法を意味することができる。現在ブロックに対してインター予測が適用される場合、参照ピクチャ上で動きベクトルによって特定される参照ブロックを基に、現在ブロックに対する予測ブロックが誘導されることができる。
【0085】
この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて現在ブロックの動き情報が誘導されることができ、ブロック、サブブロック又はサンプル単位で動き情報が誘導されることができる。このとき、動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。動き情報は、インター予測タイプ情報をさらに含むことができる。ここで、インター予測タイプ情報は、インター予測の方向性情報を意味することができる。インター予測タイプ情報は、現在ブロックがL0予測、L1予測、Bi予測のうちのいずれかを用いて予測されることを指示することができる。
【0086】
現在ブロックに対してインター予測が適用される場合、現在ブロックの周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と、参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。このとき、現在ブロックに対する参照ブロックを含む参照ピクチャと、前記時間周辺ブロックを含む参照ピクチャとは、同一でもよく、異なってもよい。時間周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置符号化ユニット(colCUなどと呼ばれることがあり、前記時間周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることがある。
【0087】
一方、現在ブロックの周辺ブロックを基に動き情報候補リストが構成でき、このとき、現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、どの候補が使用されるかを指すフラグ又はインデックス情報がシグナリングされることができる。
【0088】
動き情報は、インター予測タイプに基づいてL0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトル又はMVL0と定義されることができ、L1方向の動きベクトルは、L1動きベクトル又はMVL1と定義されることができる。L0動きベクトルに基づいた予測はL0予測と定義されることができ、L1動きベクトルに基づいた予測はL1予測と定義されることができ、前記L0動きベクトル及び前記L1動きベクトルの両方ともに基づいた予測は双予測(Bi-prediction)と定義されることができる。ここで、L0動きベクトルは、参照ピクチャリストL0に関連した動きベクトルを意味することができ、L1動きベクトルは、参照ピクチャリストL1に関連した動きベクトルを意味することができる。
【0089】
参照ピクチャリストL0は、前記現在ピクチャよりも出力順序において以前のピクチャを参照ピクチャとして含むことができ、参照ピクチャリストL1は、前記現在ピクチャよりも出力順序において以後のピクチャを含むことができる。このとき、以前のピクチャは、順方向(参照)ピクチャと定義することができ、前記以後のピクチャは、逆方向(参照)ピクチャと定義することができる。一方、参照ピクチャリストL0は、現在ピクチャよりも出力順序において以後のピクチャをさらに含むことができる。この場合、参照ピクチャリストL0内で以前のピクチャが先にインデックス化され、以後のピクチャはその次にインデックス化されることができる。参照ピクチャリストL1は、現在ピクチャよりも出力順序において以前のピクチャをさらに含むことができる。この場合、参照ピクチャリストL1内で以後のピクチャが先にインデックス化され、以前のピクチャはその次にインデックス化されることができる。ここで、出力順序は、POC(picture order count)順序(order)に対応することができる。
【0090】
図4はインター予測ベースのビデオ/画像符号化方法を示すフローチャートである。
【0091】
図5は本開示によるインター予測部180の構成を例示的に示す図である。
【0092】
図4の符号化方法は、図2の画像符号化装置によって行われることができる。具体的には、ステップS410は、インター予測部180によって行われることができ、ステップS420は、レジデュアル処理部によって行われることができる。具体的には、ステップS420は、減算部115によって行われることができる。ステップS430は、エントロピー符号化部190によって行われることができる。ステップS430の予測情報はインター予測部180によって導出され、ステップS430のレジデュアル情報はレジデュアル処理部によって導出されることができる。前記レジデュアル情報は前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。前述したように、前記レジデュアルサンプルは、画像符号化装置の変換部120を介して変換係数として導出され、前記変換係数は、量子化部130を介して量子化された変換係数として導出されることができる。前記量子化された変換係数に関する情報がレジデュアルコーディング手順を介してエントロピー符号化部190で符号化されることができる。
【0093】
画像符号化装置は、現在ブロックに対するインター予測を行うことができる(S410)。画像符号化装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モード決定、動き情報導出及び予測サンプル生成手順は、同時に行われてもよく、いずれか一つの手順が他の手順よりも先に行われてもよい。例えば、図5に示されているように、画像符号化装置のインター予測部180は、予測モード決定部181、動き情報導出部182、及び予測サンプル導出部183を含むことができる。予測モード決定部181で前記現在ブロックに対する予測モードを決定し、動き情報導出部182で前記現在ブロックの動き情報を導出し、予測サンプル導出部183で前記現在ブロックの予測サンプルを導出することができる。例えば、画像符号化装置のインター予測部180は、動き推定(motion estimation)を介して参照ピクチャの一定の領域(探索領域)内で前記現在ブロックと同様のブロックを探索し、前記現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置の差に基づいて動きベクトルを導出することができる。画像符号化装置は、様々なインター予測モードのうち、前記現在ブロックに対して適用されるモードを決定することができる。画像符号化装置は、前記様々な予測モードに対するレート歪みコスト(Rate-Distortion(RD) cost)を比較し、前記現在ブロックに対する最適のインター予測モードを決定することができる。しかし、画像符号化装置が現在ブロックに対するインター予測モードを決定する方法は、上記の例に限定されず、様々な方法が利用できる。
【0094】
例えば、現在ブロックに対するインター予測モードは、マージモード(merge mode)、マージスキップモード(skip mode)、MVPモード(Motion Vector Prediction mode)、SMVDモード(Symmetric Motion Vector Difference)、アフィンモード(affine mode)、サブブロックベースのマージモード(Subblock-based merge mode)、AMVRモード(Adaptive Motion Vector Resolution mode)、HMVPモード(History-based Motion Vector Predictor mode)、双予測マージモード(Pair-wise average merge mode)、MMVDモード(Merge mode with Motion Vector Differences mode)、DMVRモード(Decoder side Motion Vector Refinement mode)、CIIPモード(Combined Inter and Intra Prediction mode)、及びGPM(Geometric Partitioning mode)のうちの少なくとも一つと決定されることができる。
【0095】
例えば、現在ブロックにスキップモード又はマージモードが適用される場合、画像符号化装置は、前記現在ブロックの周辺ブロックからマージ候補を誘導し、誘導されたマージ候補を用いてマージ候補リストを構成することができる。また、画像符号化装置は、前記マージ候補リストに含まれているマージ候補が指す参照ブロックのうち、前記現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックに関連するマージ候補が選択され、前記選択されたマージ候補を指示するマージインデックス情報が生成されて画像復号化装置へシグナリングされることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。
【0096】
他の例として、前記現在ブロックにMVPモードが適用される場合、画像符号化装置は、前記現在ブロックの周辺ブロックから動きベクトル予測子(MVP、Motion Vector Predictor)候補を誘導し、誘導されたMVP候補を用いてMVP候補リストを構成することができる。また、画像符号化装置は、前記MVP候補リストに含まれているMVP候補のうち、選択されたMVP候補の動きベクトルを前記現在ブロックのMVPとして用いることができる。この場合、例えば、前述した動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして用いられることができ、前記MVP候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを持つMVP候補が、前記選択されたMVP候補になることができる。前記現在ブロックの動きベクトルから前記MVPを差し引いた差分であるMVD(motion vector difference)が導出されることができる。この場合、前記選択されたMVP候補を指すインデックス情報、及び前記MVDに関する情報が画像復号化装置へシグナリングされることができる。また、MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて別途に前記画像復号化装置へシグナリングされることができる。
【0097】
画像符号化装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる(S420)。画像符号化装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較によって前記レジデュアルサンプルを導出することができる。例えば、前記レジデュアルサンプルは、原本サンプルから対応する予測サンプルを減算することにより導出されることができる。
【0098】
画像符号化装置は、予測情報及びレジデュアル情報を含む画像情報を符号化することができる(S430)。画像符号化装置は、符号化された画像情報をビットストリーム形式で出力することができる。前記予測情報は、前記予測手順に関連した情報であって、予測モード情報(例えば、skip flag、merge flag又はmode indexなど)及び動き情報に関する情報を含むことができる。前記予測モード情報のうち、skip flagは、現在ブロックに対してスキップモードが適用されるか否かを示す情報であり、merge flagは、現在ブロックに対してマージモードが適用されるか否かを示す情報である。又は、予測モード情報は、mode indexのように、複数の予測モードのうちのいずれか一つを指示する情報であってもよい。前記skip flagとmerge flagがそれぞれ0である場合、現在ブロックに対してMVPモードが適用されるものと決定されることができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(例えば、merge index、mvp flag又はmvp index)を含むことができる。前記候補選択情報のうち、merge indexは、現在ブロックに対してマージモードが適用される場合にシグナリングされることができ、マージ候補リストに含まれているマージ候補のうちのいずれか一つを選択するための情報であることができる。前記候補選択情報のうち、MVP flag又はMVP indexは、現在ブロックに対してMVPモードが適用される場合にシグナリングされることができ、MVP候補リストに含まれているMVP候補のうちのいずれか一つを選択するための情報であることができる。具体的に、MVP flagは、シンタックス要素mvp_l0_flag或いはmvp_l1_flagを用いてシグナリングされることができる。また、前記動き情報に関する情報は、上述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、又は双(Bi)予測が適用されるか否かを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0099】
出力されたビットストリームは、(デジタル)記憶媒体に保存されて画像復号化装置に伝達されることができ、又はネットワークを介して画像復号化装置に伝達されることもできる。
【0100】
一方、前述したように、画像符号化装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含むピクチャ)を生成することができる。これは、画像復号化装置で行われるのと同じ予測結果を画像符号化装置で導出するためであり、これによりコーディング効率を高めることができるためである。したがって、画像符号化装置は、復元ピクチャ(又は復元サンプル、復元ブロック)をメモリに保存し、インター予測のためのピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述したとおりである。
【0101】
図6はインター予測ベースのビデオ/画像復号化方法を示すフローチャートである。
【0102】
図7は本開示によるインター予測部260の構成を例示的に示す図である。
【0103】
画像復号化装置は、前記画像符号化装置で行われた動作と対応する動作を行うことができる。画像復号化装置は、受信された予測情報に基づいて現在ブロックに対する予測を行い、予測サンプルを導出することができる。
【0104】
図6の復号化方法は、図3の画像復号化装置によって行われることができる。ステップS610乃至S630は、インター予測部260によって行われることができ、ステップS610の予測情報及びステップS640のレジデュアル情報は、エントロピー復号化部210によってビットストリームから取得されることができる。画像復号化装置のレジデュアル処理部は、前記レジデュアル情報に基づいて、現在ブロックに対するレジデュアルサンプルを導出することができる(S640)。具体的には、前記レジデュアル処理部の逆量子化部220は、前記レジデュアル情報に基づいて導出された、量子化された変換係数に基づいて、逆量子化を行って変換係数を導出し、前記レジデュアル処理部の逆変換部230は、前記変換係数に対する逆変換を行って前記現在ブロックに対するレジデュアルサンプルを導出することができる。ステップS650は、加算部235又は復元部によって行われることができる。
【0105】
具体的には、画像復号化装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定することができる(S610)。画像復号化装置は、前記予測情報内の予測モード情報に基づいて、前記現在ブロックにどのインター予測モードが適用されるかを決定することができる。
【0106】
例えば、前記skip flagに基づいて、前記現在ブロックに前記スキップモードが適用されるか否かを決定することができる。また、前記merge flagに基づいて、前記現在ブロックに前記マージモードが適用されるか或いはMVPモードが決定されるかを決定することができる。又は、前記mode indexに基づいて、多様なインター予測モード候補のうちのいずれか一つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード及び/又はMVPモードを含むことができ、又は後述する様々なインター予測モードを含むことができる。
【0107】
画像復号化装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出することができる(S620)。例えば、画像復号化装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれているマージ候補のうちのいずれか一つを選択することができる。前記選択は、前述した候補選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。例えば、前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として用いられることができる。
【0108】
他の例として、画像復号化装置は、前記現在ブロックにMVPモードが適用される場合、MVP候補リストを構成し、前記MVP候補リストに含まれているMVP候補の中から選ばれたMVP候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。前記選択は、前述した候補選択情報(mvp flag又はmvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて、前記現在ブロックのMVDを導出することができ、前記現在ブロックのMVPと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する関連参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが、前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【0109】
画像復号化装置は、前記現在ブロックの動き情報に基づいて、前記現在ブロックに対する予測サンプルを生成することができる(S630)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出することができる。場合に応じて、前記現在ブロックの予測サンプルのうち、全部又は一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【0110】
例えば、図7に示されているように、画像復号化装置のインター予測部260は、予測モード決定部261、動き情報導出部262及び予測サンプル導出部263を含むことができる。画像復号化装置のインター予測部260は、予測モード決定部261から受信された予測モード情報に基づいて、前記現在ブロックに対する予測モードを決定し、動き情報導出部262から受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックスなど)を導出し、予測サンプル導出部263で前記現在ブロックの予測サンプルを導出することができる。
【0111】
画像復号化装置は、受信されたレジデュアル情報に基づいて、前記現在ブロックに対するレジデュアルサンプルを生成することができる(S640)。画像復号化装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる(S650)。以後、前記復元ピクチャにインループフィルタ手順などがさらに適用できるのは、前述したとおりである。
【0112】
前述したように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、導出された動き情報に基づく予測実行(予測サンプルの生成)ステップを含むことができる。前記インター予測手順は、前述したように画像符号化装置及び画像復号化装置で行われることができる。
【0113】
以下、予測モードによる動き情報導出ステップについてより詳細に説明する。
【0114】
前述したように、インター予測は、現在ブロックの動き情報を用いて行われることができる。画像符号化装置は、動き推定(motion estimation)手順を介して、現在ブロックに対する最適の動き情報を導出することができる。例えば、画像符号化装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを用いて相関性の高い類似な参照ブロックを参照ピクチャ内の定められた探索範囲内で分数ピクセル単位にて探索することができ、これにより動き情報を導出することができる。ブロックの類似性は、現在ブロックと参照ブロック間のSAD(sum of absolute differences)に基づいて計算できる。この場合、探索領域内のSADが最も小さい参照ブロックを基に、動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて、様々な方法によって画像復号化装置にシグナリングされることができる。
【0115】
現在ブロックに対してマージモード(merge mode)が適用される場合、現在ブロックの動き情報が直接伝送されず、周辺ブロックの動き情報を用いて前記現在ブロックの動き情報を誘導する。よって、マージモードを用いたことを知らせるフラグ情報及びどの周辺ブロックをマージ候補として用いたかを知らせる候補選択情報(例えば、マージインデックス)を伝送することにより、現在予測ブロックの動き情報を指示することができる。本開示において、現在ブロックは予測実行の単位であるので、現在ブロックは現在予測ブロックと同じ意味で使用され、周辺ブロックは周辺予測ブロックと同じ意味で使用されることができる。
【0116】
画像符号化装置は、マージモードを行うために現在ブロックの動き情報を誘導するのに用いられるマージ候補ブロック(merge candidate block)を探索することができる。例えば、前記マージ候補ブロックは、最大5個まで使用できるが、これに限定されない。前記マージ候補ブロックの最大個数は、スライスヘッダー又はタイルグループヘッダーから伝送されることができるが、これに限定されない。前記マージ候補ブロックを見つけた後、画像符号化装置はマージ候補リストを生成することができ、これらのうち、RDコストが最も小さいマージ候補ブロックを最終マージ候補ブロックとして選択することができる。
【0117】
本開示は、前記マージ候補リストを構成するマージ候補ブロックに対する様々な実施例を提供する。前記マージ候補リストは、例えば5つのマージ候補ブロックを用いることができる。例えば、4つの空間マージ候補(spatial merge candidate)と1つの時間マージ候補(temporal merge candidate)を用いることができる。
【0118】
図8は空間マージ候補として用いることができる周辺ブロックを例示する図である。
【0119】
図9は本開示の一例によるマージ候補リスト構成方法を概略的に示す図である。
【0120】
画像符号化装置/画像復号化装置は、現在ブロックの空間周辺ブロックを探索して導出された空間マージ候補をマージ候補リストに挿入することができる(S910)。例えば、前記空間周辺ブロックは、図8に示されているように、前記現在ブロックの左下隅周辺ブロックA0、左側周辺ブロックA1、右上隅周辺ブロックB0、上側周辺ブロックB1、及び左上隅周辺ブロックB2を含むことができる。ただし、これは例示に過ぎず、前述した空間周辺ブロック以外にも右側周辺ブロック、下側周辺ブロック、右下側周辺ブロックなどの追加的な周辺ブロックがさらに前記空間周辺ブロックとして使用できる。画像符号化装置/画像復号化装置は、前記空間周辺ブロックを優先順位に基づいて探索することにより、利用可能なブロックを検出し、検出されたブロックの動き情報を前記空間マージ候補として導出することができる。例えば、画像符号化装置/画像復号化装置は、図8に示されている5つのブロックをA1、B1、B0、A0、B2の順に探索し、利用可能な候補を順次インデックス化することにより、マージ候補リストを構成することができる。
【0121】
画像符号化装置/画像復号化装置は、前記現在ブロックの時間周辺ブロックを探索して導出された時間マージ候補を前記マージ候補リストに挿入することができる(S920)。前記時間周辺ブロックは、前記現在ブロックが位置する現在ピクチャとは異なるピクチャである参照ピクチャ上に位置することができる。前記時間周辺ブロックが位置する参照ピクチャは、同一位置(collocated)ピクチャ又はcolピクチャと呼ばれることができる。前記時間周辺ブロックは、前記colピクチャ上における前記現在ブロックに対する同一位置ブロック(colocated block)の右下側コーナー周辺ブロック及び右下側センターブロックの順に探索できる。一方、メモリ負荷を減らすために動き情報圧縮(motion data compression)が適用される場合、前記colピクチャに対して、一定の保存単位ごとに特定の動き情報を代表動き情報として保存することができる。この場合、前記一定の保存ユニット内のすべてのブロックに対する動き情報を保存する必要がなく、これにより動き情報圧縮(motion data compression)効果を得ることができる。この場合、一定の保存単位は、例えば16×16サンプル単位、又は8×8サンプル単位などで予め定められることもでき、又は画像符号化装置から画像復号化装置へ前記一定の保存単位に対するサイズ情報がシグナリングされることもできる。前記動き情報圧縮(motion data compression)が適用される場合、前記時間周辺ブロックの動き情報は、前記時間周辺ブロックが位置する前記一定の保存単位の代表動き情報に置き換えられることができる。つまり、この場合、実現の観点からみると、前記時間周辺ブロックの座標に位置する予測ブロックロックではなく、前記時間周辺ブロックの座標(左上端サンプルポジション)に基づいて一定の値だけ算術右シフトした後、算術左シフトした位置をカバーする予測ブロックの動き情報に基づいて前記時間マージ候補が導出されることができる。例えば、前記一定の保存単位が2×2サンプル単位である場合、前記時間周辺ブロックの座標が(xTnb,yTnb)であるとすれば、修正された位置である((xTnb>>n)<<n),(yTnb>>n)<<n))に位置する予測ブロックの動き情報が前記時間マージ候補のために使用できる。具体的には、例えば、前記一定の保存単位が16×16サンプル単位である場合、前記時間周辺ブロックの座標が(xTnb,yTnb)であるとすれば、修正された位置である((xTnb>>4)<<4),(yTnb>>4)<<4))に位置する予測ブロックの動き情報が前記時間マージ候補のために使用できる。又は、例えば、前記一定の保存単位が8×8サンプル単位である場合、前記時間周辺ブロックの座標が(xTnb,yTnb)であるとすれば、修正された位置である((xTnb>>3)<<3),(yTnb>>3)<<3))に位置する予測ブロックの動き情報が前記時間マージ候補のために使用できる。
【0122】
再び図9を参照すると、画像符号化装置/画像復号化装置は、現在マージ候補の個数が最大マージ候補の個数よりも小さいか否かを確認することができる(S930)。前記最大マージ候補の個数は、予め定義されるか、或いは画像符号化装置から画像復号化装置にシグナリングされることができる。例えば、画像符号化装置は、前記最大マージ候補の個数に関する情報を生成し、符号化してビットストリーム形式で前記画像復号化装置に伝達することができる。前記最大マージ候補の個数が全て満たされると、以後の候補追加過程(S940)は行われないことができる。
【0123】
ステップS930の確認結果、前記現在マージ候補の個数が前記最大マージ候補の個数よりも小さい場合、画像符号化装置/画像復号化装置は、所定の方式に基づいて追加マージ候補を誘導した後、前記マージ候補リストに挿入することができる(S940)。前記追加マージ候補は、例えば、history based merge candidate(s)、pair-wise average merge candidate(s)、ATMVP、conbined bi-predictiveマージ候補(現在スライス/タイルグループのスライス/タイルグループタイプがBタイプである場合)又は/及びゼロ(zero)ベクトルマージ候補のうちの少なくとも一つを含むことができる。
【0124】
ステップS930の確認結果、前記現在マージ候補の個数が前記最大マージ候補の個数よりも小さくない場合、画像符号化装置/画像復号化装置は、前記マージ候補リストの構成を終了することができる。この場合、画像符号化装置は、RDコストに基づいて、前記マージ候補リストを構成するマージ候補のうちの最適のマージ候補を選択することができ、前記選択されたマージ候補を指す候補選択情報(例えば、マージ候補インデックス、merge index)を画像復号化装置へシグナリングすることができる。画像復号化装置は、前記マージ候補リスト及び前記候補選択情報に基づいて前記最適のマージ候補を選択することができる。
【0125】
前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として使用されることができ、前記現在ブロックの動き情報に基づいて前記現在ブロックの予測サンプルを導出することができるのは、前述したとおりである。画像符号化装置は、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出することができ、前記レジデュアルサンプルに関するレジデュアル情報を画像復号化装置にシグナリングすることができる。画像復号化装置は、前記レジデュアル情報に基づいて導出されたレジデュアルサンプル及び前記予測サンプルに基づいて復元サンプルを生成し、これに基づいて復元ピクチャを生成することができるのは、前述したとおりである。
【0126】
現在ブロックに対してスキップモード(skip mode)が適用される場合、前でマージモードが適用される場合と同様の方法で前記現在ブロックの動き情報を導出することができる。ただし、スキップモードが適用される場合、当該ブロックに対するレジデュアル信号が省略される。よって、予測サンプルが直ちに復元サンプルとして使用できる。前記スキップモードは、例えばcu_skip_flagの値が1である場合に適用できる。
【0127】
以下、マージモード及び/又はスキップモードの場合、空間候補を誘導する方法について説明する。空間候補は、上述した空間マージ候補を示すことができる。
【0128】
空間候補の誘導は、空間的に隣接するブロック(spatial neighboring blocks)に基づいて行われることができる。例えば、図8に示されている位置に存在する候補ブロックから最大4つの空間候補が誘導されることができる。空間候補を誘導する順序は、A1->B1->B0->A0->B2の順序であり得る。しかし、空間候補を誘導する順序は、上記の順序に限定されず、例えば、B1->A1->B0->A0->B2の順序であってもよい。順序における最後の位置(上記の例において、B2位置)は、先行する4つの位置(上記の例において、A1、B1、B0及びA0)のうちの少なくとも一つが利用可能でない場合に考慮できる。このとき、所定の位置のブロックが利用可能でないというのは、当該ブロックが現在ブロックとは異なるスライス又は異なるタイルに属するか、又は当該ブロックがイントラ予測されたブロックである場合を含むことができる。順序における最初の位置(上記の例において、A1又はB1)から空間候補が誘導された場合、後続する位置の空間候補に対しては冗長性チェックが行われることができる。例えば、後続する空間候補の動き情報がマージ候補リストに既に含まれている空間候補の動き情報と同一である場合、前記後続する空間候補はマージ候補リストに含ませないことにより、符号化効率を向上させることができる。後続する空間候補に対して行われる冗長性チェックは、できる限りすべての候補対に対して行われず、一部の候補対に対してのみ行われることにより、計算複雑度を減少させることができる。
【0129】
図10は空間候補に対して行われる冗長性チェックに対する候補対を例示する図である。
【0130】
図10に示されている例において、B0位置の空間候補に対する冗長性チェックは、A0位置の空間候補に対してのみ行われることができる。また、B1位置の空間候補に対する冗長性チェックは、B0位置の空間候補に対してのみ行われることができる。また、A1位置の空間候補に対する冗長性チェックは、A0位置の空間候補に対してのみ行われることができる。最後に、B2位置の空間候補に対する冗長性チェックは、A0位置及びB0位置の空間候補に対してのみ行われることができる。
【0131】
図10に示されている例は、空間候補を誘導する順序がA0->B0->B1->A1->B2の順序である場合の例である。しかし、これに限定されず、空間候補を誘導する順序が変更されても、図10に示されている例のように、一部の候補対に対してのみ冗長性チェックが行われることができる。
【0132】
以下、マージモード及び/又はスキップモードの場合、時間候補を誘導する方法について説明する。時間候補は、上述した時間マージ候補を示すことができる。また、時間候補の動きベクトルは、MVPモードの時間候補に対応することもできる。
【0133】
時間候補は、一つの候補のみがマージ候補リストに含まれることができる。時間候補を誘導する過程で、時間候補の動きベクトルはスケーリングできる。例えば、前記スケーリングは、同一位置参照ピクチャ(collocated reference picture、colPic)(以下、「colピクチャ」という)に属する同一位置ブロック(co-located Cu)(以下、「colブロック」という)に基づいて行われることができる。colブロックの誘導に用いられる参照ピクチャリストは、スライスヘッダーで明示的にシグナリングされることができる。
【0134】
図11は時間候補の動きベクトルをスケーリングする方法を説明するための図である。
【0135】
図11において、curr_CUとcurr_picは現在ブロックと現在ピクチャを示し、col_CUとcol_picはcolブロックとcolピクチャを示す。また、curr_refは現在ブロックの参照ピクチャを示し、col_refはcolブロックの参照ピクチャを示す。また、tbは現在ブロックの参照ピクチャと現在ピクチャとの距離を示し、tdはcolブロックの参照ピクチャとcolピクチャとの距離を示す。前記tbとtdは、ピクチャ間のPOC(Picture Order Count)の差に該当する値で表すことができる。時間候補の動きベクトルのスケーリングは、tbとtdに基づいて行われることができる。また、時間候補の参照ピクチャインデックスは0に設定されることができる。
【0136】
図12は時間候補を誘導する位置を説明するための図である。
【0137】
図12において、太い実線のブロックは現在ブロックを示す。時間候補は、図12のC0位置(右下側位置)又はC1位置(中央位置)に該当するcolピクチャ内のブロックから誘導されることができる。まず、C0位置が利用可能であるかが判断され、C0位置が利用可能である場合、C0位置に基づいて時間候補が誘導されることができる。もしC0位置が利用可能でない場合、C1位置に基づいて時間候補が誘導されることができる。例えば、C0位置のcolピクチャ内のブロックがイントラ予測ブロックであるか或いは現在CTU行(row)の外部に存在する場合、C0位置が利用可能でないと判断されることができる。
【0138】
上述したように、motion data compressionが適用される場合、colブロックの動きベクトルは所定の単位ブロックごとに保存できる。この場合、C0位置又はC1位置をカバーするブロックの動きベクトルを誘導するために、C0位置又はC1位置は修正できる。例えば、前記所定の単位ブロックが8×8ブロックであり、C0位置又はC1位置を(xColCi,yColCi)とするとき、時間候補を誘導するための位置は((xColCi>>3)<<3,(yColCi)>>3)<<3)に修正されることができる。
【0139】
以下、マージモード及び/又はスキップモードの場合、History-based候補を誘導する方法について説明する。History-based候補はHistory-basedマージ候補として表現できる。
【0140】
History-based候補は、空間候補と時間候補がマージ候補リストに追加された後に前記マージ候補リストに追加されることができる。例えば、以前に符号化/復号化されたブロックの動き情報がテーブルに保存され、現在ブロックのHistory-based候補として使用できる。前記テーブルは、符号化/復号化過程の間、複数のHistory-based候補を保存することができる。前記テーブルは、新しいCTU行(row)が始まるときに初期化できる。テーブルが初期化されるというのは、テーブルに保存されたHistory-based候補がすべて削除されて当該テーブルが空になることを意味することができる。インター予測されたブロックがあるたびに、関連動き情報が最後のエントリーとして前記テーブルに追加できる。このとき、前記インター予測されたブロックは、サブブロックに基づいて予測されたブロックでなくてもよい。前記テーブルに追加された動き情報は、新しいHistory-based候補として使用できる。
【0141】
History-based候補のテーブルは所定のサイズを有することができる。例えば、当該サイズは5であり得る。このとき、前記テーブルは、最大5つのHistory-based候補を保存することができる。新しい候補がテーブルに追加されるとき、まず、同一の候補が前記テーブルに存在するかの冗長性チェックが行われる、制限されたFIFO(first-in-first-out)規定が適用できる。もし同一の候補が前記テーブルに既に存在する場合、前記同一の候補は前記テーブルから削除され、以後の全てのHistory-based候補の位置が前方に移動することができる。
【0142】
History-based候補は、マージ候補リストの構成過程に利用可能である。このとき、前記テーブルに最近含まれたHistory-based候補が順次チェックされ、前記マージ候補リストの時間候補以後の位置に含まれることができる。History-based候補がマージ候補リストに含まれるとき、前記マージ候補リストに既に含まれている空間候補又は時間候補との冗長性チェックが行われることができる。もし、マージ候補リストに既に含まれている空間候補又は時間候補とHistory-based候補が重複する場合、当該History-based候補は、前記マージ候補リストに含まれなくてもよい。前記冗長性チェックは、次のように単純化させることにより、演算量が低減できる。
【0143】
マージ候補リストの生成に用いられるHistory-based候補の個数は、(N<=4)?M:(8-N)に設定できる。このとき、Nは、マージ候補リストに既に含まれている候補の個数を示し、Mは、前記テーブルに保存された利用可能なHistory-based候補の個数を示す。すなわち、マージ候補リストに4個以下の候補が含まれている場合、前記マージ候補リストの生成に用いられるHistory-based候補の個数はM個であり、マージ候補リストに4個よりも多いN個の候補が含まれる場合、前記マージ候補リストの生成に用いられるHistory-based候補の個数は(8-N)個に設定されることができる。
【0144】
利用可能なマージ候補の総数が(マージ候補の最大許容個数-1)に達する場合、History-based候補を用いたマージ候補リストの構成は終了できる。
【0145】
以下、マージモード及び/又はスキップモードの場合、Pair-wise average候補を誘導する方法について説明する。Pair-wise average候補は、Pair-wise averageマージ候補又はPair-wise候補として表現できる。
【0146】
Pair-wise average候補は、マージ候補リストに含まれている候補から既に定義された候補対を取得し、これらを平均することにより生成できる。既に定義された候補対は{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}であり、各候補対を構成する数字は、マージ候補リストのインデックスであり得る。つまり、既に定義された候補対(0,1)は、マージ候補リストのインデックス0候補とインデックス1候補の対を意味し、Pair-wise average候補は、インデックス0候補とインデックス1候補の平均によって生成できる。前記既に定義された候補対の順序でPair-wise average候補の誘導が行われることができる。すなわち、候補対(0,1)に対してPair-wise average候補を誘導した後、候補対(0,2)、候補対(1,2)の順にPair-wise average候補誘導過程が行われることができる。Pair-wise average候補誘導過程は、マージ候補リストの構成が完了するまで行われることができる。例えば、Pair-wise average候補誘導過程は、マージ候補リストに含まれているマージ候補の個数が最大マージ候補の個数に達するまで行われることができる。
【0147】
Pair-wise average候補は、参照ピクチャリストのそれぞれに対して個別に計算できる。一つの参照ピクチャリスト(L0 list又はL1 list)に対して2つの動きベクトルが利用可能である場合、これらの2つの動きベクトルの平均が計算できる。このとき、2つの動きベクトルが互いに異なる参照ピクチャを指しても、前記2つの動きベクトルの平均が行われることができる。もし一つの参照ピクチャリストに対して一つの動きベクトルのみが利用可能である場合、利用可能な動きベクトルがPair wise average候補の動きベクトルとして使用できる。もし一つの参照ピクチャリストに対して2つの動きベクトルがすべて利用可能でない場合、当該参照ピクチャリストは有効でないものと決定できる。
【0148】
Pair-wise average候補がマージ候補リストに含まれた以後にも、マージ候補リストの構成が完了していない場合、最大マージ候補の個数に達するまでゼロベクトルがマージ候補リストに追加できる。
【0149】
現在ブロックに対してMVPモードが適用される場合、復元された空間周辺ブロック(例えば、図8に示されている周辺ブロック)の動きベクトル及び/又は時間周辺ブロック(又はColブロック)に対応する動きベクトルを用いて、動きベクトル予測子(motion vector predictor、MVP)候補リストが生成できる。つまり、復元された空間周辺ブロックの動きベクトル及び/又は時間周辺ブロックに対応する動きベクトルが現在ブロックの動きベクトル予測子候補として使用できる。双予測が適用される場合、L0動き情報導出のためのMVP候補リストとL1動き情報導出のためのMVP候補リストが個別に生成されて利用できる。現在ブロックに対する予測情報(又は予測に関する情報)は、前記MVP候補リストに含まれている動きベクトル予測子候補の中から選択された最適の動きベクトル予測子候補を指示する候補選択情報(例えば、MVPフラグ又はMVPインデックス)を含むことができる。このとき、予測部は、前記候補選択情報を用いて、MVP候補リストに含まれている動きベクトル予測子候補の中から、現在ブロックの動きベクトル予測子を選択することができる。画像符号化装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との動きベクトル差分(MVD)を求めることができ、これを符号化してビットストリーム形式で出力することができる。つまり、MVDは現在ブロックの動きベクトルから前記動きベクトル予測子を差し引いた値で求められることができる。画像復号化装置の予測部は、前記予測に関する情報に含まれている動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子との加算を介して、現在ブロックの前記動きベクトルを導出することができる。画像復号化装置の予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から取得又は誘導することができる。
【0150】
図13は本開示の一例による動きベクトル予測子候補リスト構成方法を概略的に示す図である。
【0151】
まず、現在ブロックの空間候補ブロックを探索して、利用可能な候補ブロックをMVP候補リストに挿入することができる(S1310)。その後、MVP候補リストに含まれているMVP候補が2つ未満であるか否かが判断され(S1320)、2つである場合、MVP候補リストの構成を完了することができる。
【0152】
ステップS1320で、利用可能な空間候補ブロックが2つ未満である場合、現在ブロックの時間候補ブロックを探索して、利用可能な候補ブロックをMVP候補リストに挿入することができる(S1330)。時間候補ブロックが利用可能でなければ、ゼロ動きベクトルをMVP候補リストに挿入(S1340)することにより、MVP候補リストの構成を完了することができる。
【0153】
一方、MVPモードが適用される場合、参照ピクチャインデックスが明示的にシグナリングされることができる。この場合、L0予測のためのピクチャインデックス(refidxL0)とL1予測のための参照ピクチャインデックス(refidxL1)が区分されてシグナリングされることができる。例えば、MVPモードが適用され、双予測(BI prediction)が適用される場合、前記refidxL0に関する情報及びrefidxL1に関する情報が両方ともシグナリングされることができる。
【0154】
前述したように、MVPモードが適用される場合、画像符号化装置から導出されたMVDに関する情報が画像復号化装置にシグナリングされることができる。MVDに関する情報は、例えばMVD絶対値及び符号に対するx、y成分を示す情報を含むことができる。この場合、MVD絶対値が0よりも大きいか、及び1よりも大きいか否か、MVDの残りを示す情報が段階的にシグナリングされることができる。例えば、MVD絶対値が1よりも大きいか否かを示す情報は、MVD絶対値が0よりも大きいか否かを示すflag情報の値が1である場合に限ってシグナリングされることができる。
【0155】
TMVP(temporal motion vector predictor)シグナリングの概要
【0156】
前述したように、現在ブロックのインター予測のために、時間マージ候補又は時間MVP候補として用いられる時間動きベクトル予測子(temporal motion vector predictor、TMVP)が導出されることができる。TMVPは、同一位置(参照)ピクチャ(collocated(reference) picture、colPic)内の時間周辺ブロック(temporal neighboring block)に基づいて導出されることができる。ここで、時間周辺ブロックは、現在ブロックの同一位置参照ブロック(collocated reference block、colCb)を含むことができる。
【0157】
同一位置参照ブロック(colCb)を指示する情報/シンタックス要素は、ピクチャヘッダー(picture header)などの上位レベルシンタックス(high level syntax、HLS)を介してシグナリングされることができる。ビットストリームを符号化/復号化するために、TMVPコーディングツールが用いられることができる。TMVPのためのシグナリングメカニズムは、次のとおりである。
【0158】
TMVPは、CLVS(coded layer video sequence)内のピクチャコーディングのために用いられることができる。CLVS内のピクチャに対してTMVPが利用可能であるか否かは、SPS(sequence parameter set)内の所定のフラグ情報(例えば、sps_temporal_mvp_enabled_flag)に基づいて決定されることができる。例えば、第1値(例えば、0)を有するsps_temporal_mvp_enabled_flagは、CLVS内のピクチャに対してTMVPが利用可能でないことを示し、第2値(例えば、1)を有するsps_temporal_mvp_enabled_flagは、CLVS内のピクチャに対してTMVPが利用可能であることを示すことができる。
【0159】
CLVS内のピクチャに対してTMVPが利用可能である場合、それぞれのピクチャに対してTMVPが利用可能であるか否かが、ピクチャヘッダー(picture header)内の所定のフラグ情報(例えば、pic_temporal_mvp_enabled_flag)に基づいて決定されることができる。例えば、第1値(例えば、0)を有するpic_temporal_mvp_enabled_flagは、ピクチャヘッダーに関連するピクチャ内のスライスに対するインター予測のためにTMVPが利用できないことを示すことができる。この場合、前記ピクチャヘッダーに関連するピクチャ内のスライスに対するシンタックス要素は、スライス復号化にTMVPが利用されないように制限できる。これとは異なり、第2値(例えば、1)を有するpic_temporal_mvp_enabled_flagは、ピクチャヘッダーに関連するピクチャ内のスライスに対するインター予測のためにTMVPが利用できることを示すことができる。一方、pic_temporal_mvp_enabled_flagがシグナリングされない場合、pic_temporal_mvp_enabled_flagの値は、第1値(例えば、0)と推論できる。一方、参照ピクチャバッファ(decoed picture buffer、DPB)内に現在ピクチャと同一の空間解像度(spatial resolution)を有する参照ピクチャが存在しない場合、pic_temporal_mvp_enabled_flagの値は第1値(例えば、0)に制限できる。
【0160】
所定のピクチャに対してTMVPが利用可能である場合、前記ピクチャ内のそれぞれのスライスに対して、TMVPに関する情報、例えば同一位置ピクチャ(colPic)の識別情報がシグナリングされることができる。
【0161】
図14aはTMVPに関する情報を含むピクチャヘッダーの一例を示す図である。
【0162】
図14aを参照すると、シーケンスレベルでTMVPが利用可能であるか否かがシーケンスレベルの所定のフラグ情報(例えば、sps_temporal_mvp_enabled_flag)に基づいて決定できる。例えば、第1値(例えば、0)を有するsps_temporal_mvp_enabled_flagは、シーケンスレベルでT MVPが利用可能でないことを示すことができる。これとは異なり、第2値(例えば、1)を有するsps_temporal_mvp_enabled_flagは、シーケンスレベルでTMVPが利用可能であることを示すことができる。
【0163】
シーケンスレベルでTMVPが利用可能である場合、pic_temporal_mvp_enabled_flagがピクチャヘッダーを介してシグナリングされることができる。例えば、第1値(例えば、0)を有するpic_temporal_mvp_enabled_flagは、ピクチャレベルでTMVPが利用可能でないことを示すことができる。これとは異なり、第2値(例えば、1)を有するpic_temporal_mvp_enabled_flagは、ピクチャレベルでTMVPが利用可能であることを示すことができる。
【0164】
図14bはTMVPに関する情報を含むスライスヘッダーの一例を示す図である。
【0165】
図14bを参照すると、num_ref_idx_active_override_flagは、num_ref_idx_active_minus1[i]の存否を示すことができる。例えば、第1値(例えば、0)を有するnum_ref_idx_active_override_flagは、num_ref_idx_active_minus1[0]及びnum_ref_idx_active_minus1[1]が存在しないことを示すことができる。これとは異なり、第2値(例えば、1)を有するnum_ref_idx_active_override_flagは、Pスライス及びBスライスに対してnum_ref_idx_active_minus1[0]が存在し、Bスライスに対してnum_ref_idx_active_minus1[1]が存在することを示すことができる。一方、num_ref_idx_active_override_flagがシグナリングされない場合、num_ref_idx_active_override_flagの値は第2値(例えば、1)と推論できる。
【0166】
num_ref_idx_active_minus1[i]は、変数NumRefIdxActive[i]の導出に用いられることができる。ここで、変数NumRefIdxActive[i]から1を差し引いた値は、現在スライスの復号化に用いられるi番目(ここで、iは0又は1)参照ピクチャリスト(reference picture list、RPL)の最大参照インデックスを示すことができる。一例において、num_ref_idx_active_minus1[i]の値は0以上14以下であり得る。
【0167】
現在スライスがBスライスであり、num_ref_idx_active_override_flagが第2値(例えば、1)を有し、num_ref_idx_active_minus1[i]が存在しない場合、num_ref_idx_active_minus1[i]の値は第1値(例えば、0)と推論できる。又は、現在スライスがPスライスであり、num_ref_idx_active_override_flagが第2値(例えば、1)を有し、num_ref_idx_active_minus1[0]が存在しない場合、num_ref_idx_active_minus1[0]の値は第1値(例えば、0)と推論できる。
【0168】
num_ref_idx_active_minus1[i]の値に基づいて、変数NumRefIdxActive[i]が下記表1のとおりに導出できる。
【0169】
【表1】
【0170】
表1において、第1値(例えば、0)を有するNumRefIdxActive[i]は、i番目(ここで、iは0又は1)の参照ピクチャリスト内の参照インデックスに基づいて現在スライスを復号化することができないことを示すことができる。
【0171】
一例において、現在スライスがPスライスである場合、NumRefIdxActive[0]の値は0よりも大きいことができる。また、現在スライスがBスライスである場合、NumRefIdxActive[0]及びNumRefIdxActive[1]のそれぞれの値は0よりも大きいことができる。
【0172】
図14bを参照し続けると、collocated_from_l0_flagは、TMVPのための同一位置ピクチャ(colPic)が参照ピクチャリストL0及び参照ピクチャリストL1のうちのどの参照ピクチャリストから導出されるか(つまり、同一位置ピクチャ(colPic)の方向情報)を示すことができる。例えば、第1値(例えば、0)を有するcollocated_from_l0_flagは、同一位置ピクチャ(colPic)が参照ピクチャリストL1から導出されることを示すことができる。これとは異なり、第2値(例えば、1)を有するcollocated_from_l0_flagは、同一位置ピクチャ(colPic)が参照ピクチャリストL0から導出されることを示すことができる。一方、collocated_from_l0_flagがシグナリングされず、スライスタイプがBスライスではない場合、collocated_from_l0_flagの値は第2値(例えば、1)と推論できる。又は、collocated_from_l0_flagがシグナリングされず、スライスタイプがBスライスである場合、collocated_from_l0_flagの値は、pps_collocated_from_l0_idcから1を差し引いた値と推論できる。ここで、pps_collocated_from_l0_idcは、collocated_from_l0_flagがスライスヘッダー内に存在するか否かを示すことができる。例えば、collocated_from_l0_flagがスライスヘッダー内に存在する場合、pps_collocated_from_l0_idcは第1値(例えば、0)を有することができる。これとは異なり、collocated_from_l0_flagがスライスヘッダー内に存在しない場合、pps_collocated_from_l0_idcは第2値(例えば、1)又は第3値(例えば、2)を有することができる。
【0173】
collocated_ref_idxは、TMVPのための同一位置ピクチャ(colPic)の参照ピクチャインデックスを示すことができる。例えば、スライスタイプがPスライス又はBスライスであり(すなわち、NumRefIdxActive[0]の値が0よりも大きく)、collocated_from_l0_flagが第2値(例えば、1)を有する場合、collocated_ref_idxは、参照ピクチャリストL0内の参照ピクチャを指すことができる。ここで、collocated_ref_idxの値は0以上であり、NumRefIdxActive[0]から1を差し引いた値以下であり得る。又は、スライスタイプがBスライスであり(すなわち、NumRefIdxActive[1]の値が0よりも大きく)、collocated_from_l0_flagが第1値(例えば、0)を有する場合、collocated_ref_idxは、参照ピクチャリストL1内の参照ピクチャを指すことができる。ここで、collocated_ref_idxの値は、0以上であり、NumRefIdxActive[1]から1を差し引いた値以下であり得る。一方、collocated_ref_idxがシグナリングされない場合、collocated_ref_idxの値は第1値(例えば、0)と推論できる。
【0174】
一例において、collocated_ref_idxによって特定される参照ピクチャが、コーディングされたピクチャに関連する全てのスライスに対して互いに同一であることは、ビットストリーム適合性のための制限事項であり得る。他の例において、collocated_ref_idxによって特定される参照ピクチャ及び現在ピクチャの解像度が互いに同一であり、RefPicIsScaled[collocated_from_l0_flag?0:1][collocated_ref_idx]の値が第1値(例えば、0)であるのは、ビットストリーム適合性のための制限事項であり得る。
【0175】
図14a及び図14bを参照して上述したTMVPのためのシグナリングメカニズムにおいて、同一位置ピクチャ(colPic)に関する情報、例えば、同一位置ピクチャ(colPic)の識別情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)は、スライスヘッダーを介してのみシグナリングされることができる。しかし、ピクチャ内のすべてのスライスに対して互いに同一である同一位置ピクチャ(colPic)が適用される場合、上述したTMVPのためのシグナリングメカニズムによれば、それぞれのスライスに対して同一位置ピクチャ(colPic)に関する情報をシグナリングしなければならないので、シグナリングオーバーヘッドが増加するという問題が発生するおそれがある。
【0176】
かかる問題を解決するために、本開示の実施例によれば、TMVPのための同一位置ピクチャ(colPic)に関する情報は、スライスヘッダーを介してシグナリングされることもでき、或いは、より上位レベルのシンタックス、例えばピクチャヘッダーを介してシグナリングされることもできる。
【0177】
以下、添付図面を参照して、本開示の実施例を詳細に説明する。
【0178】
図15乃至図18は本開示の実施例によるピクチャヘッダーの一例を示す図である。
【0179】
まず、図15を参照すると、ピクチャヘッダー(picture header)は、TMVPのための同一位置ピクチャ(colPic)に関する情報であって、pic_collocated_from_l0_flag及びpic_collocated_ref_idxを含むことができる。
【0180】
pic_collocated_from_l0_flag及びpic_collocated_ref_idxは、ピクチャレベルでTMVPが利用可能である場合(例えば、pic_temporal_mvp_enabled_flag==1)にのみシグナリングされることができる。
【0181】
pic_collocated_from_l0_flagは、TMVPのための同一位置ピクチャ(colPic)が参照ピクチャリスト0(RPL0)及び参照ピクチャリスト1(RPL1)のうちのどの参照ピクチャリストから導出されるか(すなわち、同一位置ピクチャ(colPic)の方向情報)を示すことができる。例えば、第1値(例えば、0)を有するpic_collocated_from_l0_flagは同一位置ピクチャ(colPic)が参照ピクチャリスト1(RPL1)から導出されることを示すことができる。これとは異なり、第2値(例えば、1)を有するpic_collocated_from_l0_flagは、同一位置ピクチャ(colPic)が参照ピクチャリスト0(RPL0)から導出されることを示すことができる。一方、pic_collocated_from_l0_flagがシグナリングされず、参照ピクチャリスト1(RPL1)内のエントリー個数(例えば、num_ref_entries[1][RplsIdx[1]])が0である場合、pic_collocated_from_l0_flagの値は第2値(例えば、1)と推論できる。つまり、同一位置ピクチャ(colPic)は、参照ピクチャリスト0(RPL0)から導出されることができる。
【0182】
pic_collocated_from_l0_flagが第2値(例えば、1)を有し、参照ピクチャリスト0(RPL0)内のエントリー個数が1よりも大きい場合(例えば、num_ref_entries[0][RplsIdx[0]]>1)、pic_collocated_ref_idxがシグナリングされることができる。或いは、pic_collocated_from_l0_flagが第1値(例えば、0)を有し、参照ピクチャリスト1(RPL1)内のエントリー個数が1よりも大きい場合(例えば、num_ref_entries[1][RplsIdx[1]]>1)、pic_collocated_ref_idxがシグナリングされることができる。
【0183】
pic_collocated_ref_idxは、TMVPのための同一位置ピクチャ(colPic)の参照ピクチャインデックスを示すことができる。例えば、pic_collocated_from_l0_flagが第2値(例えば、1)を有し、pic_collocated_ref_idxが参照ピクチャリスト0(RPL0)内のエントリーのうちの一つを指示する場合、pic_collocated_ref_idxの値は0以上であり、参照ピクチャリスト0(RPL0)内のエントリー個数から1を差し引いた値以下であることができる。これとは異なり、pic_collocated_from_l0_flagが第1値(例えば、0)を有し、pic_collocated_ref_idxが参照ピクチャリスト1(RPL1)内のエントリーのうちの一つを指示する場合、pic_collocated_ref_idxの値は0以上であり、参照ピクチャリスト1(RPL1)内のエントリー個数から1を差し引いた値以下であり得る。一方、pic_collocated_ref_idxがシグナリングされない場合、pic_collocated_ref_idxの値は第1値(例えば、0)と推論できる。
【0184】
一例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーとスライスヘッダーの両方でシグナリングされることができる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされるが、前記ピクチャヘッダーに関連するスライスのうちの少なくとも一部に対しては、スライスヘッダーを介してもシグナリングされることができる。この場合、現在ブロックに対する同一位置ピクチャ(colPic)は、スライスヘッダーを介してシグナリングされた同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。
【0185】
他の例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。この場合、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダー(又は、スライスヘッダー)を介してシグナリングされるか否かは、ピクチャヘッダー(及び/又はスライスヘッダー)内の所定のシグナリング情報(例えば、pps_rpl_info_in_ph_flag)に基づいて決定されることができる。例えば、前記シグナリング情報が第2値(例えば、1)を有する場合、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされることができる。これとは異なり、前記シグナリング情報が第1値(例えば、0)を有する場合、同一位置ピクチャ(colPic)に関する情報は、スライスヘッダーを介してシグナリングされることができる。前記シグナリング情報は、pic_temporal_mvp_enabled_flagと共にpic_collocated_from_l0_flagのシグナリング条件を構成することができる。また、前記シグナリング情報は、図14bを参照して前述したスライスヘッダー内で、pic_temporal_mvp_enabled_flagと共にcollocated_from_l0_flagのシグナリング条件を構成することができる。
【0186】
同一位置ピクチャ(colPic)に関する情報がスライスヘッダーを介してシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記スライスヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報に基づいて決定されることができる。これとは異なり、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダーを介してのみシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記ピクチャヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報に基づいて決定されることができる。例えば、collocated_ref_idxが図14bを参照して前述したスライスヘッダーを介してシグナリングされない場合(例えば、pps_rpl_info_in_ph_flag==1)、前記collocated_ref_idxの値は、ピクチャヘッダーを介して取得されるpic_collocated_ref_idxと同じ値に推論できる。前記pic_collocated_ref_idxがスライスヘッダーだけでなく、ピクチャヘッダーを介してもシグナリングされない場合、前記collocated_ref_idxの値は第1値(例えば、0)と推論できる。
【0187】
一方、TMVPのための同一位置ピクチャ(colPic)が現在ピクチャとは異なる既に復元されたピクチャであることは、ビットストリーム適合性のための制限事項であり得る。
【0188】
本開示の一実施例によるピクチャヘッダーの他の例は、図16に示されている通りである。
【0189】
図16を参照すると、ピクチャヘッダーは、TMVPのための同一位置ピクチャ(colPic)に関する情報であって、col_ref_delta_poc_valを含むことができる。
【0190】
col_ref_delta_poc_valは、現在ピクチャに対してTMVPが利用可能である場合(例えば、pic_temporal_mvp_enabled_flag==1)にのみシグナリングされることができる。
【0191】
col_ref_delta_poc_valは、現在ピクチャとTMVPのための同一位置ピクチャ(colPic)とのPOC(picture order count)差を示すことができる。例えば、col_ref_delta_poc_valは、現在ピクチャのPOCから同一位置ピクチャ(colPic)のPOCを差し引いた値を有することができる。或いは、col_ref_delta_poc_valは、同一位置ピクチャ(colPic)のPOCから現在ピクチャのPOCを差し引いた値を有することもできる。col_ref_delta_poc_valは、正の符号(+)又は負の符号(-)を有し、signed integerタイプで表現できる。
【0192】
一例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーとスライスヘッダーの両方でシグナリングされることができる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされるが、前記ピクチャヘッダーに関連するスライスのうちの少なくとも一部に対しては、スライスヘッダーを介してもシグナリングされることができる。この場合、現在ブロックに対する同一位置ピクチャ(colPic)は、スライスヘッダーを介してシグナリングされた同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。
【0193】
他の例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。この場合、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダー(又は、スライスヘッダー)を介してシグナリングされるか否かは、ピクチャヘッダー(及び/又はスライスヘッダー)内の所定のシグナリング情報(例えば、pps_rpl_info_in_ph_flag)に基づいて決定されることができる。例えば、前記シグナリング情報が第2値(例えば、1)を有する場合、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされることができる。これとは異なり、前記シグナリング情報が第1値(例えば、0)を有する場合、同一位置ピクチャ(colPic)に関する情報はスライスヘッダーを介してシグナリングされることができる。
【0194】
同一位置ピクチャ(colPic)に関する情報がスライスヘッダーを介してシグナリングされる場合、画像復号化段階で、現在ブロックに対する同一位置ピクチャ(colPic)は、前記スライスヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。これとは異なり、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダーを介してのみシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記ピクチャヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報(例えば、col_ref_delta_poc_val)に基づいて決定されることができる。
【0195】
一方、TMVPのための同一位置ピクチャ(colPic)が現在ピクチャとは異なる既に復元されたピクチャであることは、ビットストリーム適合性のための制限事項であり得る。
【0196】
本開示の一実施例によるピクチャヘッダーの別の例は、図17に示されている通りである。
【0197】
図17を参照すると、ピクチャヘッダーは、TMVPのための同一位置ピクチャ(colPic)に関する情報であって、col_ref_abs_delta_poc_val及びcol_ref_abs_delta_poc_sign_flagを含むことができる。
【0198】
col_ref_abs_delta_poc_val及びcol_ref_abs_delta_poc_sign_flagは、ピクチャレベルでTMVPが利用可能である場合(例えば、pic_temporal_mvp_enabled_flag==1)にのみシグナリングされることができる。
【0199】
col_ref_abs_delta_poc_valは、現在ピクチャとTMVPのための同一位置ピクチャ(colPic)とのPOC(picture order count)差の絶対値を示すことができる。例えば、col_ref_abs_delta_poc_valは、現在ピクチャのPOCから同一位置ピクチャ(colPic)のPOCを差し引いた値の絶対値を有することができる。或いは、col_ref_abs_delta_poc_valは、同一位置ピクチャ(colPic)のPOCから現在ピクチャのPOCを差し引いた値の絶対値を有することもできる。col_ref_abs_delta_poc_valは、現在ピクチャと同一位置ピクチャ(colPic)とのPOC差の絶対値を示し、図16のcol_ref_delta_poc_valとは異なり、unsigned integerタイプで表現できる。
【0200】
col_ref_abs_delta_poc_sign_flagは、現在ピクチャとTMVPのための同一位置ピクチャ(colPic)とのPOC差の符号(sign)を示すことができる。例えば、現在ピクチャのPOCが同一位置ピクチャ(colPic)のPOCよりも大きい場合(又は、その逆の場合)、col_ref_abs_delta_poc_sign_flagは、正の符号(+)を示す第2値(例えば、1)を有することができる。これとは異なり、現在ピクチャのPOCが同一位置ピクチャ(colPic)のPOCと同一であるかそれより小さい場合(又は、その逆の場合)、col_ref_abs_delta_poc_sign_flagは、負の符号(-)を示す第1値(例えば、0)を有することができる。
【0201】
一例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーとスライスヘッダーの両方でシグナリングされることができる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされるが、前記ピクチャヘッダーに関連するスライスのうちの少なくとも一部に対しては、スライスヘッダーを介してもシグナリングされることができる。この場合、現在ブロックに対する同一位置ピクチャ(colPic)は、スライスヘッダーを介してシグナリングされた同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。
【0202】
他の例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。この場合、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダー(又は、スライスヘッダー)を介してシグナリングされるか否かは、ピクチャヘッダー(及び/又は、スライスヘッダー)内の所定のシグナリング情報に基づいて決定されることができる。例えば、前記シグナリング情報が第2値(例えば、1)を有する場合、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされることができる。これとは異なり、前記シグナリング情報が第1値(例えば、0)を有する場合、同一位置ピクチャ(colPic)に関する情報は、スライスヘッダーを介してシグナリングされることができる。
【0203】
同一位置ピクチャ(colPic)に関する情報がスライスヘッダーを介してシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記スライスヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。これとは異なり、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダーを介してのみシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記ピクチャヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報(例えば、col_ref_abs_delta_poc_val及びcol_ref_abs_delta_poc_sign_flag)に基づいて決定されることができる。
【0204】
一方、TMVPのための同一位置ピクチャ(colPic)が現在ピクチャとは異なる既に復元されたピクチャであることは、ビットストリーム適合性のための制限事項であり得る。
【0205】
本開示の一実施例によるピクチャヘッダーの別の例は、図18に示されている通りである。
【0206】
図18を参照すると、ピクチャヘッダーは、TMVPのための同一位置ピクチャ(colPic)に関する情報であって、col_ref_abs_delta_poc_val_minus1及びcol_ref_abs_delta_poc_sign_flagを含むことができる。
【0207】
col_ref_abs_delta_poc_val_minus1及びcol_ref_abs_delta_poc_sign_flagは、ピクチャレベルでTMVPモードが利用可能である場合(例えば、pic_temporal_mvp_enabled_flag==1)にのみシグナリングされることができる。
【0208】
col_ref_abs_delta_poc_val_minus1は、現在ピクチャとTMVPのための同一位置ピクチャ(colPic)とのPOC(picture order count)差の絶対値から1を差し引いた値を示すことができる。
【0209】
col_ref_delta_poc_sign_flagは、col_ref_abs_delta_poc_val_minus1に1を加えた値が0よりも大きいか否かを示すことができる。例えば、第1値(例えば、0)を有するcol_ref_abs_delta_poc_sign_flagは、col_ref_abs_delta_poc_val_minus1に1を加えた値が0よりも小さいことを示すことができる。これとは異なり、第2値(例えば、1)を有するcol_ref_abs_delta_poc_sign_flagは、col_ref_abs_delta_poc_val_minus1に1を加えた値が0よりも大きいことを示すことができる。
【0210】
一例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーとスライスヘッダーの両方でシグナリングされることができる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされるが、前記ピクチャヘッダーに関連するスライスのうちの少なくとも一部に対しては、スライスヘッダーを介してもシグナリングされることができる。この場合、現在ブロックに対する同一位置ピクチャ(colPic)は、スライスヘッダーを介してシグナリングされた同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。
【0211】
他の例において、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。この場合、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダー(又は、スライスヘッダー)を介してシグナリングされるか否かは、ピクチャヘッダー(及び/又は、スライスヘッダー)内の所定のシグナリング情報(例えば、pps_rpl_info_in_ph_flag)に基づいて決定されることができる。例えば、前記シグナリング情報が第2値(例えば、1)を有する場合、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされることができる。これとは異なり、前記シグナリング情報が第1値(例えば、0)を有する場合、同一位置ピクチャ(colPic)に関する情報は、スライスヘッダーを介してシグナリングされることができる。
【0212】
同一位置ピクチャ(colPic)に関する情報がスライスヘッダーを介してシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記スライスヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて決定されることができる。これとは異なり、同一位置ピクチャに関する情報がピクチャヘッダーを介してのみシグナリングされる場合、現在ブロックに対する同一位置ピクチャ(colPic)は、前記ピクチャヘッダーを介して取得される同一位置ピクチャ(colPic)に関する情報(例えば、col_ref_abs_delta_poc_val_minus1及びcol_ref_abs_delta_poc_sign_flag)に基づいて決定されることができる。
【0213】
一方、TMVPのための同一位置ピクチャ(colPic)が現在ピクチャとは異なる既に復元されたピクチャであることは、ビットストリーム適合性のための制限事項であり得る。同一位置ピクチャ(colPic)が現在ピクチャとは異なる既に復元されたピクチャであることは、現在ピクチャと同一位置ピクチャ(colPic)とのPOC差を常に0よりも大きくするcol_ref_abs_delta_poc_val_minus1をシグナリングすることにより実現できる。
【0214】
以上、図15乃至図18を参照して前述した本開示の実施例によるピクチャヘッダーは、TMVPのための同一位置ピクチャ(colPic)に関する情報、例えば、同一位置ピクチャ(colPic)の識別情報を含むことができる。これにより、互いに同一である同一位置ピクチャ(colPic)を参照する複数のスライスに対して、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダーを介して1回のみシグナリングされることができるので、TMVPのためのシグナリングオーバーヘッドが減少してシグナリングメカニズムの効率が改善されることができる。
【0215】
以下、図19乃至図21を参照して、本開示の一実施例による画像符号化/復号化方法について詳細に説明する。
【0216】
図19は本開示の一実施例による画像符号化方法を示すフローチャートである。
【0217】
図19の画像符号化方法は、図2の画像符号化装置によって行われることができる。例えば、ステップS1910及びステップS1920は、インター予測部180によって行われることができる。また、ステップS1930は、エントロピー符号化部190によって行われることができる。
【0218】
図19を参照すると、現在ブロックに対してインター予測モードが適用される場合、画像符号化装置は、現在ブロックの動きベクトルに基づいて現在ブロックの予測ブロックを生成することができる(S1910)。
【0219】
現在ブロックに対するインター予測モードは、様々なインター予測モード(例えば、マージモード(merge mode)、スキップモード(skip mode)、MVPモード(Motion Vector Prediction mode)、SMVDモード(Symmetric Motion Vector Difference)、アフィンモード(affine mode)など)のうちのいずれかに決定されることができる。例えば、画像符号化装置は、様々なインター予測モードに対するレート歪みコスト(Rate-Distortion(RD)cost)を比較して最適のインター予測モードを選択し、選択された最適のインター予測モードを現在ブロックに対するインター予測モードとして決定することができる。
【0220】
画像符号化装置は、動き推定(motion estimation)を介して現在ブロックに対する参照ピクチャの一定領域(サーチ領域)内で現在ブロックと類似なブロックをサーチし、現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。画像符号化装置は、前記導出された参照ブロックと現在ブロックとの位置差に基づいて現在ブロックの動きベクトルを導出することができる。
【0221】
例えば、現在ブロックにマージモード又はスキップモードが適用される場合、画像符号化装置は、現在ブロックの周辺ブロックからマージ候補を誘導し、誘導されたマージ候補を用いてマージ候補リストを構成することができる。ここで、現在ブロックの周辺ブロックは、空間周辺ブロック及び/又は時間周辺ブロックを含むことができる。画像符号化装置は、前記マージ候補リストに含まれているマージ候補の動き情報によって推定される参照ブロックのうち、現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。この場合、現在ブロックの動きベクトルは、前記導出された参照ブロックに関連するマージ候補の動きベクトルを用いて導出されることができる。
【0222】
他の例において、現在ブロックにMVPモードが適用される場合、画像符号化装置は、現在ブロックの周辺ブロックから動きベクトル予測子(Motion Vector Predictor、MVP)候補を誘導し、前記誘導されたMVP候補を用いてMVP候補リストを構成することができる。ここで、現在ブロックの周辺ブロックは、空間周辺ブロック及び/又は時間周辺ブロックを含むことができる。この場合、例えば、前述した動き推定によって導出される参照ブロックを指す動きベクトルが現在ブロックの動きベクトルとして用いられることができ、前記MVP候補のうち、現在ブロックの動きベクトルとの差が最小である動きベクトルを有するMVP候補が現在ブロックに対するMVPとして選択できる。
【0223】
画像符号化装置は、同一位置ピクチャ(colPic)に基づいて現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor、TMVP)を導出することができる(S1920)。
【0224】
同一位置ピクチャ(colPic)は、スライスレベル又はピクチャレベルで決定されることができる。例えば、同一位置ピクチャ(colPic)がスライスレベルで決定される場合、現在ピクチャ内のスライスのうちの少なくとも一部に対して、互いに異なる同一位置ピクチャ(colPic)が選択されることができる。この場合、同一位置ピクチャ(colPic)に関する情報、例えば同一位置ピクチャ(colPic)の識別情報は、スライスヘッダーを介して画像復号化装置へシグナリングされることができる。これとは異なり、同一位置ピクチャ(colPic)がピクチャレベルで決定される場合、現在ピクチャ内のすべてのスライスに対して互いに同一である同一位置ピクチャ(colPic)が選択されることができる。この場合、同一位置ピクチャ(colPic)に関する情報、例えば同一位置ピクチャ(colPic)の識別情報は、ピクチャヘッダーを介して画像復号化装置へシグナリングされることができる。
【0225】
一例において、同一位置ピクチャ(colPic)に関する情報は、所定のシグナリング情報(例えば、pps_rpl_info_in_ph_flag)に基づいて、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。例えば、前記シグナリング情報が第1値(例えば、1)を有する場合、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされることができる。これとは異なり、前記シグナリング情報が第2値(例えば、0)を有する場合、同一位置ピクチャ(colPic)に関する情報は、スライスヘッダーを介してシグナリングされることができる。
【0226】
現在ブロックに対するTMVPは、同一位置ピクチャ(colPic)内の時間周辺ブロックに基づいて導出されることができる。時間周辺ブロックは、現在ブロックに対する同一位置ブロック(collocated block、colCb)を含むことができる。ここで、同一位置ブロック(colCb)とは、同一位置ピクチャ(colPic)内で現在ブロックと同一の位置及び/又は同一のサイズを有するブロックを意味することができる。
【0227】
一例において、同一位置ブロック(colCb)は、同一位置ピクチャ(colPic)内で現在ブロックの右下隅(right-bottom corner)に対応する第1位置(xColBr,yColBr)から修正された(modified)位置をカバーするルマコーディングブロック(luma coding block)として決定されることができる。ここで、第1位置(xColBr,yColBr)は、同一位置ピクチャ内で現在ブロックの左上隅(upper-left corner)に対応する位置(xCb,yCb)から現在ブロックの幅(cbWidth)及び高さ(cbHeight)だけ移動した位置(xCb+cbWidth,yCb+cbHeight)を意味することができる。第1位置(xColBr,yColBr)は、motion data compressionのために、算術シフト演算(arithmetic shift operation)を用いて修正されることができる。例えば、第1位置(xColBr,yColBr)は((xColBr>>n)<<n,(yColBr>>n)<<n)に修正されることができる。ここで、nは0以上の整数であり得る。
【0228】
他の例において、同一位置ブロック(colCb)は、同一位置ピクチャ(colPic)内で現在ブロックの中心部の4サンプルのうち、右下側サンプル(centeral right-bottom sample)に対応する第2位置(xColCtr,yColCtr)から修正された位置をカバーするルマコーディングブロックとして決定されることができる。ここで、第2位置(xColCtr,yColCtr)は、同一位置ピクチャ内で現在ブロックの左上隅に対応する位置(xCb,yCb)から現在ブロックの幅(cbWidth)及び高さ(cbHeight)のそれぞれの半分だけ移動した位置(xCb+(cbWidth>>1),yCb+(cbHeight>>1))を意味することができる。第2位置(xColCtr,yColCtr)は、motion data compressionのために、算術シフト演算を用いて修正されることができる。例えば、第2位置(xColCtr,yColCtr)は((xColCtr>>n)<<n,(yColCtr>>n)<<n)に修正されることができる。ここで、nは0以上の整数であり得る。
【0229】
上述した例において、算術シフト演算に用いられるnは、時間周辺ブロックの動き情報を保存する保存単位を意味することができる。例えば、nが3である場合、時間周辺ブロックの動き情報を保存する保存単位は8×8サンプル単位であり得る。或いは、nが4である場合、時間周辺ブロックの動き情報を保存する保存単位は16×16サンプル単位であり得る。
【0230】
或いは、算術シフト演算に用いられるnは、時間周辺ブロックの動き情報を読み出す読出単位を意味することができる。例えば、nが3である場合、時間周辺ブロックの動き情報を読み出す読出単位は8×8サンプル単位であり得る。この場合、画像符号化装置は、算術シフト演算に基づいて修正された第1位置((xColBr>>n)<<n,(yColBr>>n)<<n)又は第2位置((xColCtr>>n)<<n,(yColCtr>>n)<<n)を含む8×8サンプル単位を識別し、前記識別された8×8サンプル単位の動き情報を読み出すことができる。
【0231】
一方、図19では、ステップS1920がステップS1910よりも後で行われるものと図示されているが、本開示の実施例はこれに限定されるものではない。例えば、ステップS1920はステップS1910よりも先に行われてもよく、或いはステップS1920はステップS1910と同時に行われてもよい。
【0232】
画像符号化装置は、現在ブロックに対するTMVPに基づいて現在ブロックの動きベクトルを符号化することができる(S1930)。
【0233】
例えば、現在ブロックにマージモード又はスキップモードが適用される場合、現在ブロックに対するTMVPが時間マージ候補(temporal merge candidate)としてマージ候補リストに含まれることができる。前記時間マージ候補は、前記TMVPを含めて複数の候補を含むこともできる。現在ブロックに対して前記時間マージ候補が選択される場合、画像符号化装置は、前記時間マージ候補を指すマージインデックス情報を符号化することにより、現在ブロックの動きベクトルを符号化することができる。
【0234】
他の例において、現在ブロックにMVPモードが適用される場合、現在ブロックに対するTMVPが時間MVP候補としてMVP候補リストに含まれることができる。前記時間MVP候補は、前記TMVPを含めて複数の候補を含むこともできる。現在ブロックに対して前記時間MVP候補が選択される場合、画像符号化装置は、前記時間MVP候補のTMVPに基づいて現在ブロックの動きベクトルを符号化することができる。例えば、画像符号化装置は、現在ブロックの動きベクトルから前記TMVPを差し引いた差分であるMVD(motion vector difference)を導出し、前記MVDに関する情報及び前記時間MVP候補を指すMVPインデックス情報を符号化することにより、現在ブロックの動きベクトルを符号化することができる。
【0235】
前述したように、本開示の一実施例によれば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介して1回のみシグナリングされることもでき、或いは、スライスヘッダーを介して適応的にシグナリングされることもできる。或いは、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーとスライスヘッダーの両方でシグナリングされることもできる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされるが、前記ピクチャヘッダーに関連するスライスのうちの少なくとも一部に対してはスライスヘッダーを介してもシグナリングされることができる。この場合、現在ブロックに対する同一位置ピクチャ(colPic)は、スライスヘッダーを介してシグナリングされた同一位置ピクチャ(colPic)に関する情報に基づいて決定されることができる。これにより、TMVPのためのシグナリングオーバーヘッドが減少してシグナリングメカニズムの効率が改善されることができる。
【0236】
図20は本開示の一実施例による画像復号化方法を示すフローチャートである。
【0237】
図20の画像復号化方法は、図3の画像復号化装置によって行われることができる。例えば、ステップS2010は、エントロピー復号化部210によって行われることができる。また、ステップS2020及びステップS2030は、インター予測部260によって行われることができる。
【0238】
図20を参照すると、現在ブロックに対してインター予測モードが適用される場合、画像復号化装置は、同一位置ピクチャ(colPic)に基づいて現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor、TMVP)を導出することができる(S2010)。
【0239】
同一位置ピクチャ(colPic)は、ピクチャヘッダー又はスライスヘッダーから取得される同一位置ピクチャ(colPic)に関する情報に基づいて決定されることができる。同一位置ピクチャ(colPic)を決定する具体的な方法は、図21に示されている通りである。
【0240】
図21は本開示の一実施例による同一位置ピクチャを決定する方法を示すフローチャートである。
【0241】
図21を参照すると、画像復号化装置は、スライスヘッダーから同一位置ピクチャ(colPic)に関する情報が取得されるか否かを判別することができる(S2110)。
【0242】
スライスヘッダーから同一位置ピクチャ(colPic)に関する情報、例えば、同一位置ピクチャ(colPic)の識別情報が取得される場合(S2110の「Yes」)、画像復号化装置は、スライスヘッダーに基づいて現在ブロックに対する同一位置ピクチャ(colPic)を決定することができる(S2120)。例えば、図14bを参照して前述したスライスヘッダーから取得される同一位置ピクチャ(colPic)の識別情報(例えば、collocated_from_l0_flag及びcollocated_ref_idx)に基づいて、現在ブロックに対する同一位置ピクチャ(colPic)が決定されることができる。
【0243】
これとは異なり、スライスヘッダーから同一位置ピクチャ(colPic)に関する情報が取得されない場合(S2110の「いいえ」)、画像復号化装置は、ピクチャヘッダーに基づいて現在ブロックに対する同一位置ピクチャ(colPic)を決定することができる(S2130)。例えば、図15を参照して前述したピクチャヘッダーから取得される同一位置ピクチャ(colPic)の識別情報(例えば、pic_collocated_from_l0_flag及びpic_collocated_ref_idx)に基づいて、現在ブロックに対する同一位置ピクチャ(colPic)が決定されることができる。又は、図16乃至図18を参照して前述したピクチャヘッダーから取得される同一位置ピクチャ(colPic)の識別情報(例えば、col_ref_delta_poc_val、col_ref_abs_delta_poc_val、col_ref_abs_delta_poc_sign_flagなど)に基づいて、現在ブロックに対する同一位置ピクチャ(colPic)が決定されることができる。
【0244】
一例において、同一位置ピクチャ(colPic)に関する情報がピクチャヘッダー(又は、スライスヘッダー)を介して取得されるか否かは、ピクチャヘッダー(及び/又はスライスヘッダー)内の所定のシグナリング情報(例えば、pps_rpl_info_in_ph_flag)に基づいて決定されることができる。例えば、前記シグナリング情報が第1値(例えば、0)を有する場合、同一位置ピクチャ(colPic)に関する情報は、スライスヘッダーを介して取得されることができる。この場合、現在ピクチャ内のスライスのうちの少なくとも一部に対して、互いに異なる同一位置ピクチャ(colPic)が適用できる。これとは異なり、前記シグナリング情報が第2値(例えば、1)を有する場合、同一位置ピクチャ(colPic)に関する情報はピクチャヘッダーを介して取得されることができる。この場合、現在ピクチャ内の全てのスライスに対して、互いに同一である同一位置ピクチャ(colPic)が適用されることができる。
【0245】
再び図20を参照すると、画像復号化装置は、同一位置ピクチャ(colPic)に基づいて、現在ブロックに対する時間動きベクトル予測子(temporal motion vector predictor、TMVP)を導出することができる。
【0246】
TMVPは、同一位置ピクチャ(colPic)内の時間周辺ブロック(temporal nerighboring block)に基づいて導出されることができる。時間周辺ブロックは、同一位置ピクチャ(colPic)内で現在ブロックと同一の位置及び/又は同一のサイズを有する同一位置ブロック(collocated block、colCb)を含むことができる。
【0247】
一例において、同一位置ブロック(colCb)は、同一位置ピクチャ(colPic)内で現在ブロックの右下隅(right-bottom corner)に対応する第1位置(xColBr,yColBr)から修正された(modified)位置をカバーするルマコーディングブロック(luma coding block)として決定されることができる。ここで、第1位置(xColBr,yColBr)は、同一位置ピクチャ(colPic)内で現在ブロックの左上隅(upper-left corner)に対応する位置(xCb,yCb)から現在ブロックの幅(cbWidth)及び高さ(cbHeight)だけ移動した位置(xCb+cbWidth,yCb+cbHeight)を意味することができる。一方、第1位置(xColBr,yColBr)は、motion data compressionのために、算術シフト演算(arithmetic shift operation)を用いて変更できる。例えば、第1位置(xColBr,yColBr)は((xColBr>>3)<<3,(yColBr>>3)<<3)に修正できる。
【0248】
他の例において、同一位置ブロック(colCb)は、同一位置ピクチャ(colPic)内で現在ブロックの中心部の4サンプルのうち、右下側サンプル(centeral right-bottom sample)に対応する第2位置(xColCtr,yColCtr)から修正された位置をカバーするルマコーディングブロックとして決定されることができる。ここで、第2位置(xColCtr,yColCtr)は、同一位置ピクチャ(colPic)内で現在ブロックの左上隅に対応する位置(xCb,yCb)から現在ブロックの幅(cbWidth)及び高さ(cbHeight)のそれぞれの半分だけ移動した位置(xCb+(cbWidth>>1),yCb+(cbHeight>>1))を意味することができる。一方、第2位置(xColCtr,yColCtr)は、motion data compressionのために、算術シフト演算を用いて変更できる。例えば、第2位置(xColCtr,yColCtr)は((xColCtr>>3)<<3,(yColCtr>>3)<<3)に修正できる。
【0249】
画像復号化装置は、現在ブロックに対するTMVPに基づいて現在ブロックの動きベクトルを導出することができる(S2020)。
【0250】
例えば、現在ブロックにマージモード又はスキップモードが適用される場合、画像復号化装置は、マージ候補リストを構成し、前記マージ候補リスト内で現在ブロックに対するTMVPを含む時間マージ候補の動きベクトルを現在ブロックの動きベクトルとして導出することができる。
【0251】
他の例において、現在ブロックにMVPモードが適用される場合、画像復号化装置は、MVP候補リストを構成し、前記MVP候補リスト内で現在ブロックに対するTMVPを含む時間MVP候補の動きベクトルを現在ブロックのMVPとして導出することができる。この場合、画像復号化装置は、ビットストリームから取得されるMVD(motion vector difference)に関する情報に基づいて現在ブロックのMVDを導出し、前記MVDに前記MVPを加算することにより、現在ブロックの動きベクトルを導出することができる。
【0252】
画像復号化装置は、現在ブロックの動きベクトルに基づいて現在ブロックの予測ブロックを生成することができる(S2030)。例えば、画像復号化装置は、ビットストリームから取得される参照ピクチャインデックス情報に基づいて現在ブロックの参照ピクチャを導出し、現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて現在ブロックの予測ブロックを生成することができる。一例において、現在ブロックの予測ブロック内のサンプルの全部又は一部に対して、予測サンプルフィルタリング手順がさらに行われることができる。
【0253】
一方、画像復号化装置は、ビットストリームから取得されるレジデュアル(residual)情報に基づいて現在ブロックのレジデュアルブロックを生成し、前記予測ブロックに前記レジデュアルブロックを加算することにより、現在ブロックを復元することができる。一例において、復元された画像に対して、インループフィルタリング手順などがさらに行われることができる。
【0254】
前述したように、本開示の一実施例によれば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダー又はスライスヘッダーを介して選択的にシグナリングされることができる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介して1回のみシグナリングされることができ、或いはスライスヘッダーを介して適応的にシグナリングされることもできる。或いは、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーとスライスヘッダーの両方でシグナリングされることもできる。例えば、同一位置ピクチャ(colPic)に関する情報は、ピクチャヘッダーを介してシグナリングされるが、前記ピクチャヘッダーに関連するスライスのうちの少なくとも一部に対しては、スライスヘッダーを介してもシグナリングされることができる。この場合、現在ブロックに対する同一位置ピクチャ(colPic)は、スライスヘッダーを介してシグナリングされた同一位置ピクチャ(colPic)に関する情報に基づいて決定されることができる。これにより、TMVPのためのシグナリングオーバーヘッドが減少してシグナリングメカニズムの効率が改善されることができる。
【0255】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、又は一部のステップを除いて追加の他のステップを含むこともできる。
【0256】
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満足される場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満足されるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
【0257】
本開示の様々な実施例は、すべての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、2つ以上の組み合わせで適用されてもよい。
【0258】
また、本開示の様々な実施例は、ハードウェア、ファームウェア(firmware)、ソフトウェア、又はそれらの組み合わせなどによって実現できる。ハードウェアによる実現の場合、1つ又はそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSPDs(Digital Signal Processing Devices)、PLDs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、汎用プロセッサ(general processor)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0259】
また、本開示の実施例が適用された画像復号化装置及び画像符号化装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0260】
図22は本開示による実施例が適用できるコンテンツストリーミングシステムを例示的に示す図である。
【0261】
図22に示されているように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0262】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0263】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0264】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0265】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0266】
前記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ノートパソコン(laptop computer)、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device)、例えば、スマートウォッチ(smartwatch)、スマートグラス(smart glass)、HMD(head mounted display)、デジタルTV、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0267】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0268】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0269】
本開示による実施例は、画像を符号化/復号化するために利用可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14a
図14b
図15
図16
図17
図18
図19
図20
図21
図22
【手続補正書】
【提出日】2024-08-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
現在ブロックに対する同一位置ピクチャに基づいて、前記現在ブロックに対する時間動きベクトル予測子を導出するステップと、
動きベクトル差分に関する情報に基づいて、前記現在ブロックの動きベクトル差分を導出するステップと、
前記時間動きベクトル予測子及び前記動きベクトル差分に基づいて前記現在ブロックの動きベクトルを導出するステップと、
前記動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、を含み、
前記同一位置ピクチャは、前記同一位置ピクチャの識別情報に基づいて決定され、前記同一位置ピクチャの前記識別情報は、前記現在ブロックに対する参照ピクチャリスト内の前記同一位置ピクチャを示す参照インデックス情報を含み、
前記時間動きベクトル予測子が前記現在ブロックを含む現在ピクチャに対して有効であるかどうかを所定のシグナリング情報が示すことに基づいて、前記同一位置ピクチャの前記識別情報がピクチャヘッダーから取得されるかどうかが決定され、
前記時間動きベクトル予測子が、前記現在ブロックを含む現在ピクチャに対して有効であることに基づいて、前記同一位置ピクチャの前記識別情報は、前記現在ピクチャに対するピクチャヘッダーから取得される、画像復号化方法。
【請求項2】
画像符号化装置によって行われる画像符号化方法であって、
現在ブロックの動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックに対する同一位置ピクチャに基づいて前記現在ブロックに対する時間動きベクトル予測子を導出するステップと、
前記動きベクトル及び前記時間動きベクトル予測子に基づいて、前記現在ブロックの動きベクトル差分を導出するステップと、
前記時間動きベクトル予測子及び前記動きベクトル差分に基づいて前記現在ブロックの動きベクトルを符号化するステップと、を含み、
前記同一位置ピクチャの識別情報は符号化され、前記同一位置ピクチャの前記識別情報は、前記現在ブロックに対する参照ピクチャリスト内の前記同一位置ピクチャを示す参照インデックス情報を含み、
前記時間動きベクトル予測子が前記現在ブロックを含む現在ピクチャに対して有効であるかどうかに基づいて、前記同一位置ピクチャの前記識別情報がピクチャヘッダー内に符号化されるかどうかが決定され、前記時間動きベクトル予測子が前記現在ブロックを含む現在ピクチャに対して有効であるかどうかを示すシグナリング情報が符号化され、
前記時間動きベクトル予測子が、前記現在ブロックを含む現在ピクチャに対して有効であることに基づいて、前記同一位置ピクチャの前記識別情報は、前記現在ピクチャに対するピクチャヘッダー内に符号化される、画像符号化方法。
【請求項3】
画像符号化方法によって生成されたビットストリームを伝送する方法であって、
前記画像符号化方法は、
現在ブロックの動きベクトルに基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックに対する同一位置ピクチャに基づいて前記現在ブロックに対する時間動きベクトル予測子を導出するステップと、
前記動きベクトル及び前記時間動きベクトル予測子に基づいて、前記現在ブロックの動きベクトル差分を導出するステップと、
前記時間動きベクトル予測子及び前記動きベクトル差分に基づいて前記現在ブロックの動きベクトルを符号化するステップと、を含み、
前記同一位置ピクチャの識別情報は符号化され、前記同一位置ピクチャの前記識別情報は、前記現在ブロックに対する参照ピクチャリスト内の前記同一位置ピクチャを示す参照インデックス情報を含み、
前記時間動きベクトル予測子が前記現在ブロックを含む現在ピクチャに対して有効であるかどうかに基づいて、前記同一位置ピクチャの前記識別情報がピクチャヘッダー内に符号化されるかどうかが決定され、前記時間動きベクトル予測子が前記現在ブロックを含む現在ピクチャに対して有効であるかどうかを示すシグナリング情報が符号化され、
前記時間動きベクトル予測子が、前記現在ブロックを含む現在ピクチャに対して有効であることに基づいて、前記同一位置ピクチャの前記識別情報は、前記現在ピクチャに対するピクチャヘッダー内に符号化される、ビットストリーム伝送方法。