(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147815
(43)【公開日】2024-10-16
(54)【発明の名称】マージ候補の双方向予測のための重みインデックスを誘導する画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
(51)【国際特許分類】
H04N 19/105 20140101AFI20241008BHJP
H04N 19/139 20140101ALI20241008BHJP
H04N 19/176 20140101ALI20241008BHJP
H04N 19/52 20140101ALI20241008BHJP
【FI】
H04N19/105
H04N19/139
H04N19/176
H04N19/52
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2024122996
(22)【出願日】2024-07-30
(62)【分割の表示】P 2023099756の分割
【原出願日】2020-07-06
(31)【優先権主張番号】62/871,067
(32)【優先日】2019-07-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/884,658
(32)【優先日】2019-08-08
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(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)【発明者】
【氏名】チャン ヒョン ムン
(57)【要約】 (修正有)
【課題】符号化/復号化効率が向上した画像符号化/復号化方法及び装置を提供する。
【解決手段】画像復号化方法は、現在ブロックのインター予測モードがアフィンマージモードである場合、前記現在ブロックに対するアフィンマージ候補リストから一つのアフィンマージ候補を選択するステップと、前記選択されたアフィンマージ候補の動き情報に基づいて前記現在ブロックの動き情報を誘導するステップと、前記現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、前記現在ブロックの予測ブロックに基づいて前記現在ブロックを復元するステップと、を含み、前記アフィンマージ候補リストを構成するステップは、組み合わせアフィンマージ候補を誘導するステップを含み、前記組み合わせアフィンマージ候補を誘導するステップは、前記組み合わせアフィンマージ候補の双方向予測のための重みインデックスを誘導するステップを含む。
【選択図】
図7
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
前記画像復号化方法は、
現在ブロックのインター予測モードがサブブロックマージモードであることに基づいて、前記現在ブロックに対するサブブロックマージ候補リストを構成するステップと、
前記サブブロックマージ候補リストから一つのサブブロックマージ候補を選択するステップと、
前記選択されたサブブロックマージ候補の動き情報に基づいて前記現在ブロックの動き情報を誘導するステップと、
前記現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックのレジデュアルブロックを誘導するステップと、
前記現在ブロックのレジデュアルブロックと、前記現在ブロックの予測ブロックとに基づいて、前記現在ブロックを復元するステップと、を含み、
前記サブブロックマージ候補リストを構成するステップは、組み合わせサブブロックマージ候補を誘導するステップを含み、前記組み合わせサブブロックマージ候補を誘導するステップは、前記組み合わせサブブロックマージ候補の双方向予測に対する重みインデックスを誘導するステップを含み、
前記組み合わせサブブロックマージ候補を誘導するステップは、前記現在ブロックに対する複数の候補CP(Control Points)のうち、予め定義された候補CPの組み合わせに含まれるそれぞれの候補CPの動き情報に基づいて行われ、
前記組み合わせサブブロックマージ候補の重みインデックスは、前記候補CPの重みイデックス間での比較を実施せずに、前記組み合わせに含まれた前記候補CPの中の第1候補CPの双方向に対する重みイデックスとして誘導される、画像復号化方法。
【請求項2】
前記候補CPの動き情報は、前記候補CPに対する候補ブロックの動き情報に基づいて誘導され、
前記候補ブロックは、前記候補CPに対する少なくとも一つの候補ブロックのうちの利用可能な候補ブロックである、請求項1に記載の画像復号化方法。
【請求項3】
前記候補CPの動き情報は、双方向予測に対する重みインデックスを含み、前記候補CPに対する重みインデックスは、前記候補CPが前記現在ブロックに対する左上側候補CP又は右上側候補CPであることに基づいて誘導される、請求項1に記載の画像復号化方法。
【請求項4】
前記候補CPの動き情報は、双方向予測に対する重みインデックスを含み、前記候補CPの重みインデックスは、前記候補CPが前記現在ブロックに対する左下側候補CP又は右下側候補CPであることに基づいて誘導されない、請求項1に記載の画像復号化方法。
【請求項5】
前記候補CPに対する少なくとも一つの候補ブロックのうちの利用可能な候補ブロックが存在しないことに基づいて、前記候補CPは利用可能でないと決定される、請求項2に記載の画像復号化方法。
【請求項6】
前記組み合わせサブブロックマージ候補を誘導するステップは、
前記予め定義された候補CPの組み合わせに含まれる全ての候補CPが利用可能であることに基づいて行われる、請求項5に記載の画像復号化方法。
【請求項7】
前記組み合わせサブブロックマージ候補の重みインデックスは、前記組み合わせに対する予測方向の利用可否に基づいて誘導され、
前記組み合わせに対する予測方向の利用可否は、前記組み合わせに含まれる前記候補CPの動き情報に基づいて誘導される、請求項1に記載の画像復号化方法。
【請求項8】
前記組み合わせに対する予測方向がL0方向及びL1方向の両方に対して利用可能であることに基づいて、前記組み合わせサブブロックマージ候補の重みインデックスは、前記組み合わせに含まれる前記候補CPの中の前記第1候補CPとして誘導される、請求項6に記載の画像復号化方法。
【請求項9】
前記組み合わせに対する予測方向がL0方向及びL1方向のうちの少なくとも一つに対して利用可能でないことに基づいて、前記組み合わせサブブロックマージ候補の重みインデックスは、所定の重みインデックスとして誘導される、請求項8に記載の画像復号化方法。
【請求項10】
画像符号化装置によって行われる画像符号化方法であって、
現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記予測ブロックに基づいて前記現在ブロックのレジデュアルブロックを誘導するステップと、
前記現在ブロックの前記予測ブロックと前記現在ブロックのレジデュアルブロックに基づいて前記現在ブロックを復元するステップと、
前記予測ブロックに基づいて前記現在ブロックを符号化するステップと、
前記現在ブロックの動き情報を符号化するステップと、を含み、
前記現在ブロックの動き情報を符号化するステップは、
現在ブロックのインター予測モードがサブブロックマージモードであることに基づいて、前記現在ブロックに対するサブブロックマージ候補リストを構成するステップと、
前記サブブロックマージ候補リストに基づいて前記現在ブロックの動き情報を符号化するステップを含み、
前記サブブロックマージ候補リストを構成することは、組み合わせサブブロックマージ候補を誘導することを含み、前記組み合わせサブブロックマージ候補を誘導することは、前記組み合わせサブブロックマージ候補の双方向予測のための重みインデックスを誘導することを含み、
前記組み合わせサブブロックマージ候補を誘導するステップは、前記現在ブロックに対する複数の候補CP(Control Points)のうち、予め定義された候補CPの組み合わせに含まれるそれぞれの候補CPの動き情報に基づいて行われ、
前記組み合わせサブブロックマージ候補の重みインデックスは、前記候補CPの重みイデックス間での比較を実施せずに、前記比較に含まれた前記候補CPの中の第1候補CPの双方向に対する重みイデックスとして誘導される、画像符号化方法。
【請求項11】
画像符号化方法により生成されたビットストリームを送信する方法であって、
現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記予測ブロックに基づいて前記現在ブロックのレジデュアルブロックを誘導するステップと、
前記予測ブロックに基づいて前記現在ブロックを符号化するステップと、
前記現在ブロックの動き情報を符号化するステップと、を含み、
前記現在ブロックの動き情報を符号化するステップは、
前記現在ブロックのインター予測モードがサブブロックマージモードであることに基づいて、前記現在ブロックに対するサブブロックマージ候補リストを構成するステップと、
前記サブブロックマージ候補リストに基づいて前記現在ブロックの動き情報を符号化するステップと、を含み、
前記サブブロックマージ候補リストを構成するステップは、組み合わせサブブロックマージ候補を誘導するステップを含み、前記組み合わせサブブロックマージ候補を誘導するステップは、前記組み合わせサブブロックマージ候補の双方向予測に対する重みインデックスを誘導するステップを含み、
前記組み合わせサブブロックマージ候補を誘導するステップは、前記現在ブロックに対する複数の候補CP(Control Points)のうち、予め定義された候補CPの組み合わせに含まれるそれぞれの候補CPの動き情報に基づいて行われ、
前記組み合わせサブブロックマージ候補の重みインデックスは、前記候補CPの重みイデックス間での比較を実施せずに、前記比較に含まれた前記候補CPの中の第1候補CPの双方向に対する重みイデックスとして誘導される、ビットストリームの送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像符号化/復号化方法、装置、及びビットストリームを伝送する方法に係り、より詳細には、マージ候補の双方向予測のための重みインデックスを誘導する画像符号化/復号化方法、装置、及び本開示の画像符号化方法/装置によって生成されたビットストリームを伝送する方法に関する。
【背景技術】
【0002】
最近、高解像度、高品質の画像、例えばHD(High Definition)画像及びUHD(Ultra High Definition)画像への需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、従来の画像データに比べて、伝送される情報量又はビット量が相対的に増加する。伝送される情報量又はビット量の増加は、伝送費用と保存費用の増加をもたらす。
【0003】
これにより、高解像度、高品質画像の情報を効果的に伝送又は保存し、再生するための高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、符号化/復号化効率が向上した画像符号化/復号化方法及び装置を提供することを目的とする。
【0005】
また、本開示は、マージ候補の双方向予測のための重みインデックスを誘導する画像符号化/復号化方法及び装置を提供することを目的とする。
【0006】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法を提供することを目的とする。
【0007】
また、本開示は、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体を提供することを目的とする。
【0008】
また、本開示は、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体を提供することを目的とする。
【0009】
本開示で解決しようとする技術的課題は上述した技術的課題に制限されず、上述していない別の技術的課題は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【課題を解決するための手段】
【0010】
本開示の一態様による画像復号化方法は、現在ブロックのインター予測モードがアフィンマージモードである場合、前記現在ブロックに対するアフィンマージ候補リストを構成するステップと、前記アフィンマージ候補リストから一つのアフィンマージ候補を選択するステップと、前記選択されたアフィンマージ候補の動き情報に基づいて前記現在ブロックの動き情報を誘導するステップと、前記現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、前記現在ブロックの予測ブロックに基づいて前記現在ブロックを復元するステップと、を含み、前記アフィンマージ候補リストを構成するステップは、組み合わせアフィンマージ候補を誘導するステップを含み、前記組み合わせアフィンマージ候補を誘導するステップは、前記組み合わせアフィンマージ候補の双方向予測のための重みインデックスを誘導するステップを含むことができる。
【0011】
本開示による画像復号化方法において、前記組み合わせアフィンマージ候補を誘導するステップは、前記現在ブロックの複数のCP(Control Points)のうち、既に定義されたCPの組み合わせに含まれているそれぞれのCPに対する動き情報に基づいて行われることができる。
【0012】
本開示による画像復号化方法において、前記CPに対する動き情報は、前記CPに対する候補ブロックの動き情報に基づいて誘導され、前記候補ブロックは、前記CPに対する少なくとも一つの候補ブロックのうちの利用可能な候補ブロックであることができる。
【0013】
本開示による画像復号化方法において、前記CPに対する動き情報は、双方向予測のための重みインデックスを含み、前記双方向予測のための重みインデックスは、前記CPが前記現在ブロックの左上側CP又は右上側CPである場合に誘導されることができる。
【0014】
本開示による画像復号化方法において、前記CPに対する動き情報は、双方向予測のための重みインデックスを含み、前記双方向予測のための重みインデックスは、前記CPが前記ブロックの左下側CP又は右下側CPである場合に誘導されないことができる。
【0015】
本開示による画像復号化方法において、前記CPに対する少なくとも一つの候補ブロックのうちの利用可能な候補ブロックが存在しない場合、前記CPは利用可能でないと決定されることができる。
【0016】
本開示による画像復号化方法において、前記組み合わせアフィンマージ候補を誘導するステップは、前記既に定義されたCPの組み合わせに含まれているCPが全て利用可能な場合に行われることができる。
【0017】
本開示による画像復号化方法において、前記既に定義されたCPは、前記組み合わせ内で所定の順序を有し、前記既に定義されたCPの組み合わせ内の順序に基づいて前記組み合わせアフィンマージ候補の重みインデックスが誘導されることができる。
【0018】
本開示による画像復号化方法において、前記組み合わせアフィンマージ候補の重みインデックスは、前記組み合わせに対する予測方向の利用可否に基づいて誘導され、前記組み合わせに対する予測方向の利用可否は、前記組み合わせに含まれているCPに対する動き情報に基づいて誘導されることができる。
【0019】
本開示による画像復号化方法において、前記組み合わせに対する予測方向の利用可否がL0方向及びL1方向の両方に対して利用可能である場合、前記組み合わせアフィンマージ候補の重みインデックスは、前記組み合わせ内の所定のCPの重みインデックスに誘導されることができる。
【0020】
本開示による画像復号化方法において、前記組み合わせアフィンマージ候補の重みインデックスを誘導するのに用いられる前記組み合わせ内の所定のCPは、前記組み合わせ内のCPのうちの一番目のCPであり得る。
【0021】
本開示による画像復号化方法において、前記組み合わせに対する予測方向の利用可否がL0方向及びL1方向のうちの少なくとも一つに対して利用可能でない場合、前記組み合わせアフィンマージ候補の重みインデックスは、所定の重みインデックスに誘導されることができる。
【0022】
本開示の他の態様による画像復号化装置は、メモリ及び少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、現在ブロックのインター予測モードがアフィンマージモードである場合、前記現在ブロックに対するアフィンマージ候補リストを構成し、前記アフィンマージ候補リストから一つのアフィンマージ候補を選択し、前記選択されたアフィンマージ候補の動き情報に基づいて前記現在ブロックの動き情報を誘導し、前記現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成し、前記現在ブロックの予測ブロックに基づいて前記現在ブロックを復元し、前記アフィンマージ候補リストの構成は、組み合わせアフィンマージ候補の誘導を含み、前記組み合わせアフィンマージ候補の誘導は、前記組み合わせアフィンマージ候補の双方向予測のための重みインデックスの誘導を含むことができる。
【0023】
本開示の別の態様による画像符号化方法は、現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、前記予測ブロックに基づいて前記現在ブロックを符号化するステップと、前記現在ブロックの動き情報を符号化するステップと、を含み、前記現在ブロックの動き情報を符号化するステップは、前記現在ブロックのインター予測モードがアフィンマージモードである場合、前記現在ブロックに対するアフィンマージ候補リストを構成するステップと、前記アフィンマージ候補リストに基づいて前記現在ブロックの動き情報を符号化するステップと、を含み、前記アフィンマージ候補リストを構成するステップは、組み合わせアフィンマージ候補を誘導するステップを含み、前記組み合わせアフィンマージ候補を誘導するステップは、前記組み合わせアフィンマージ候補の双方向予測のための重みインデックスを誘導するステップを含むことができる。
【0024】
本開示の別の態様によるコンピュータ可読記録媒体は、本開示の画像符号化方法又は画像符号化装置によって生成されたビットストリームを保存することができる。
【0025】
本開示について簡略に要約して上述した特徴は、後述する本開示の詳細な説明の例示的な態様に過ぎず、本開示の範囲を制限するものではない。
【発明の効果】
【0026】
本開示によれば、符号化/復号化効率が向上した画像符号化/復号化方法及び装置が提供されることができる。
【0027】
また、本開示によれば、マージ候補の双方向予測のための重みインデックスを誘導する画像符号化/復号化方法及び装置が提供されることができる。
【0028】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを伝送する方法が提供されることができる。
【0029】
また、本開示によれば、本開示による画像符号化方法又は装置によって生成されたビットストリームを保存した記録媒体が提供されることができる。
【0030】
また、本開示によれば、本開示による画像復号化装置によって受信され、復号化されて画像の復元に利用されるビットストリームを保存した記録媒体が提供されることができる。
【0031】
本開示で得られる効果は、上述した効果に限定されず、上述していない別の効果は、以降の記載から、本開示の属する技術分野における通常の知識を有する者に明確に理解できるだろう。
【図面の簡単な説明】
【0032】
【
図1】本開示による実施例が適用できるビデオコーディングシステムを概略的に示す図である。
【
図2】本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【
図3】本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【
図4】本開示によるインター予測符号化を行うインター予測部の構成を例示的に示す図である。
【
図5】インター予測に基づく符号化方法を説明するためのフローチャートである。
【
図6】本開示によるインター予測復号化を行うインター予測部の構成を例示的に示す図である。
【
図7】インター予測に基づく復号化方法を説明するためのフローチャートである。
【
図8】空間マージ候補として用いられる周辺ブロックを例示する図である。
【
図9】本開示の一例によるマージ候補リスト構成方法を概略的に示す図である。
【
図10】本開示の一例による動きベクトル予測子候補リスト構成方法を概略的に示す図である。
【
図11】アフィンモードの4-パラメータモデルを説明するための図である。
【
図12】アフィンモードの6-パラメータモデルを説明するための図である。
【
図13】アフィンマージ候補リストを生成する方法を説明するための図である。
【
図14】周辺ブロックから誘導されるCPMVを説明するための図である。
【
図15】組み合わせアフィンマージ候補を誘導するための周辺ブロックを説明するための図である。
【
図16】アフィンMVP候補リストを生成する方法を説明するための図である。
【
図17】サブブロックベースのTMVPモードの周辺ブロックを説明するための図である。
【
図18】サブブロックベースのTMVPモードに従って動きベクトルフィールドを誘導する方法を説明するための図である。
【
図19】本開示の他の実施例によって、組み合わせアフィンマージ候補を誘導する方法を説明するための図である。
【
図20】
図19の実施例によって現在ブロックのCPに対する情報を誘導する方法を説明するためのフローチャートである。
【
図21】
図19の実施例によって各CPに対する情報に基づいて組み合わせアフィンマージ候補を誘導する方法を示す図である。
【
図22】
図21の実施例によって組み合わせアフィンマージ候補の重みインデックスを誘導する方法を例示的に示す図である。
【
図23】本開示の他の実施例によって各CPに対する情報に基づいて組み合わせアフィンマージ候補を誘導する方法を示す図である。
【
図24】本開示によってbcwIdxCorner2に対する比較を省略した方法を示すフローチャートである。
【
図25】本開示によって重みインデックスグループに対する比較を省略した方法を示すフローチャートである。
【
図26】本開示によってbcwIdxCorner2に対する比較と重みインデックスグループに対する比較を省略した方法を示すフローチャートである。
【
図27】本開示の実施例が適用できるコンテンツストリーミングシステムを例示する図である。
【発明を実施するための形態】
【0033】
以下、添付図面を参照して、本開示の実施例について、本開示の属する技術分野における通常の知識を有する者が容易に実施し得るように詳細に説明する。しかし、本開示は、様々な異なる形態で実現でき、ここで説明する実施例に限定されない。
【0034】
本開示の実施例を説明するにあたり、公知の構成又は機能についての具体的な説明が本開示の要旨を不明確にするおそれがあると判断される場合には、それについての詳細な説明は省略する。そして、図面において、本開示についての説明と関係ない部分は省略し、同様の部分には同様の図面符号を付した。
【0035】
本開示において、ある構成要素が他の構成要素と「連結」、「結合」又は「接続」されているとするとき、これは、直接的な連結関係だけでなく、それらの間に別の構成要素が存在する間接的な連結関係も含むことができる。また、ある構成要素が他の構成要素を「含む」又は「有する」とするとき、これは、特に反対される記載がない限り、別の構成要素を排除するのではなく、別の構成要素をさらに含むことができることを意味する。
【0036】
本開示において、「第1」、「第2」などの用語は、一つの構成要素を他の構成要素から区別する目的のみで使用され、特に言及されない限り、構成要素間の順序又は重要度などを限定しない。したがって、本開示の範囲内において、一実施例の第1構成要素を他の実施例で第2構成要素と呼んでもよく、これと同様に、一実施例の第2構成要素を他の実施例で第1構成要素と呼んでもよい。
【0037】
本開示において、互いに区別される構成要素は、それぞれの特徴を明確に説明するためのものであり、構成要素が必ずしも分離されることを意味するものではない。つまり、複数の構成要素が統合されて一つのハードウェア又はソフトウェア単位で構成されてもよく、一つの構成要素が分散されて複数のハードウェア又はソフトウェア単位で構成されてもよい。よって、別に言及しなくても、このように統合された又は分散された実施例も本開示の範囲に含まれる。
【0038】
本開示において、さまざまな実施例で説明する構成要素が必ず必要不可欠な構成要素を意味するものではなく、一部は選択的な構成要素であり得る。したがって、一実施例で説明する構成要素の部分集合で構成される実施例も本開示の範囲に含まれる。また、様々な実施例で説明する構成要素にさらに他の構成要素を含む実施例も、本開示の範囲に含まれる。
【0039】
本開示は、画像の符号化及び復号化に関するものであって、本開示で使用される用語は、本開示で新たに定義されない限り、本開示の属する技術分野における通常の意味を持つことができる。
【0040】
本開示において、「ピクチャ(picture)」は、一般的に、特定の時間帯のいずれか一つの画像を示す単位を意味し、スライス(slice)/タイル(tile)は、ピクチャの一部を構成する符号化単位であって、一つのピクチャは、一つ以上のスライス/タイルで構成できる。また、スライス/タイルは、一つ以上のCTU(coding tree unit)を含むことができる。
【0041】
本開示において、「ピクセル(pixel)」又は「ペル(pel)」は、一つのピクチャ(又は画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用できる。サンプルは、一般的に、ピクセル又はピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
【0042】
本開示において、「ユニット(unit)」は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域及び当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合に応じて、「サンプルアレイ」、「ブロック(block)」又は「領域(area)」などの用語と混用して使用できる。一般な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(又はサンプルアレイ)又は変換係数(transform coefficient)のセット(又はアレイ)を含むことができる。
【0043】
本開示において、「現在ブロック」は、「現在コーディングブロック」、「現在コーディングユニット」、「符号化対象ブロック」、「復号化対象ブロック」又は「処理対象ブロック」のうちのいずれか一つを意味することができる。予測が行われる場合、「現在ブロック」は、「現在予測ブロック」又は「予測対象ブロック」を意味することができる。変換(逆変換)/量子化(逆量子化)が行われる場合、「現在ブロック」は「現在変換ブロック」又は「変換対象ブロック」を意味することができる。フィルタリングが行われる場合、「現在ブロック」は「フィルタリング対象ブロック」を意味することができる。
【0044】
本開示において、「/」と「、」は「及び/又は」と解釈されることができる。例えば、「A/B」と「A、B」は「A及び/又はB」と解釈されることができる。また、「A/B/C」と「A、B、C」は、「A、B及び/又はCのうちの少なくとも一つ」を意味することができる。
【0045】
本開示において、「又は」は、「及び/又は」と解釈されることができる。例えば、「A又はB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「A及びB」を意味することができる。又は、本開示において、「又は」は、「追加的に又は代替的に(additionally or alternatively)」を意味することができる。
【0046】
ビデオコーディングシステムの概要
【0047】
図1は本開示によるビデオコーディングシステムを示す図である。
【0048】
一実施例によるビデオコーディングシステムは、符号化装置10及び復号化装置20を含むことができる。符号化装置10は、符号化されたビデオ(video)及び/又は画像(image)情報又はデータをファイルまたはストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20へ伝達することができる。
【0049】
一実施例による符号化装置10は、ビデオソース生成部11、符号化部12及び伝送部13を含むことができる。一実施例による復号化装置20は、受信部21、復号化部22及びレンダリング部23を含むことができる。前記符号化部12は、ビデオ/画像符号化部と呼ばれることができ、前記復号化部22は、ビデオ/画像復号化部と呼ばれることができる。伝送部13は、符号化部12に含まれることができる。受信部21は、復号化部22に含まれることができる。レンダリング部23は、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイス又は外部コンポーネントとして構成されることもできる。
【0050】
ビデオソース生成部11は、ビデオ/画像のキャプチャ、合成又は生成過程などを介してビデオ/画像を取得することができる。ビデオソース生成部11は、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、一つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程は、関連データが生成される過程に置き換えられることができる。
【0051】
符号化部12は、入力ビデオ/画像を符号化することができる。符号化部12は、圧縮及び符号化効率のために、予測、変換、量子化などの一連の手順を行うことができる。符号化部12は、符号化されたデータ(符号化されたビデオ/画像情報)をビットストリーム(bitstream)形式で出力することができる。
【0052】
伝送部13は、ビットストリーム形式で出力された、符号化されたビデオ/画像情報又はデータを、ファイルまたはストリーミング形式でデジタル記憶媒体又はネットワークを介して復号化装置20の受信部21に伝達することができる。デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。伝送部13は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部21は、前記記憶媒体又はネットワークから前記ビットストリームを抽出/受信して復号化部22に伝達することができる。
【0053】
復号化部22は、符号化部12の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像を復号化することができる。
【0054】
レンダリング部23は、復号化されたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示されることができる。
【0055】
画像符号化装置の概要
【0056】
図2は本開示による実施例が適用できる画像符号化装置を概略的に示す図である。
【0057】
図2に示されているように、画像符号化装置100は、画像分割部110、減算部115、変換部120、量子化部130、逆量子化部140、逆変換部150、加算部155、フィルタリング部160、メモリ170、インター予測部180、イントラ予測部185及びエントロピー符号化部190を含むことができる。インター予測部180及びイントラ予測部185は、合わせて「予測部」と呼ばれることができる。変換部120、量子化部130、逆量子化部140及び逆変換部150は、レジデュアル(residual)処理部に含まれることができる。レジデュアル処理部は減算部115をさらに含むこともできる。
【0058】
画像符号化装置100を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、エンコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPB(decoded picture buffer)を含むことができ、デジタル記憶媒体によって実現できる。
【0059】
画像分割部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)を誘導する単位であることができる。
【0060】
予測部(インター予測部180又はイントラ予測部185)は、処理対象ブロック(現在ブロック)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロック又はCU単位でイントラ予測が適用されるか、或いはインター予測が適用されるかを決定することができる。予測部は、現在ブロックの予測に関するさまざまな情報を生成してエントロピー符号化部190に伝達することができる。予測に関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0061】
イントラ予測部185は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。参照される前記サンプルは、イントラ予測モード及び/又はイントラ予測技法に従って、前記現在ブロックの周辺(neighbor)に位置することもでき、或いは離れて位置することもできる。イントラ予測モードは、複数の非方向性モードと複数の方向性モードを含むことができる。非方向性モードは、例えば、DCモード及びプランナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば33個の方向性予測モード又は65個の方向性予測モードを含むことができる。ただし、これは例示に過ぎず、設定に基づいてそれ以上又はそれ以下の個数の方向性予測モードが使用できる。イントラ予測部185は、周辺ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0062】
インター予測部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)を符号化することにより、現在ブロックの動きベクトルをシグナリングすることができる。動きベクトル差分は、現在ブロックの動きベクトルと動きベクトル予測子との差を意味することができる。
【0063】
予測部は、後述する様々な予測方法及び/又は予測技法に基づいて予測信号を生成することができる。例えば、予測部は、現在ブロックの予測のために、イントラ予測又はインター予測を適用することができるだけでなく、イントラ予測とインター予測を同時に適用することができる。現在ブロックの予測のためにイントラ予測とインター予測を同時に適用する予測方法は、CIIP(combined inter and intra prediction)と呼ばれることができる。また、予測部は、現在ブロックの予測のためにイントラブロックコピー(intra block copy、IBC)を行うこともできる。イントラブロックコピーは、例えば、SCC(screen content coding)などのようにゲームなどのコンテンツ画像/動画コーディングのために使用できる。IBCは、現在ブロックから所定の距離だけ離れた位置の現在ピクチャ内の既に復元された参照ブロックを用いて現在ブロックを予測する方法である。IBCが適用される場合、現在ピクチャ内の参照ブロックの位置は前記所定の距離に該当するベクトル(ブロックベクトル)として符号化されることができる。
【0064】
予測部によって生成された予測信号は、復元信号を生成するために用いられるか、或いはレジデュアル信号を生成するために用いられることができる。減算部115は、入力画像信号(原本ブロック、原本サンプルアレイ)から、予測部から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算して、レジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができる。生成されたレジデュアル信号は、変換部120に伝送されることができる。
【0065】
変換部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)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形ではない、可変サイズのブロックに適用されることもできる。
【0066】
量子化部130は、変換係数を量子化してエントロピー符号化部190に伝送することができる。エントロピー符号化部190は、量子化された信号(量子化された変換係数に関する情報)を符号化してビットストリーム形式で出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部130は、係数スキャン順序(scan order)に基づいて、ブロック形式の量子化された変換係数を1次元ベクトル形式で再整列することができ、前記1次元ベクトル形式の量子化された変換係数に基づいて、前記量子化された変換係数に関する情報を生成することもできる。
【0067】
エントロピー符号化部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)をさらに含むことができる。本開示で言及されたシグナリング情報、伝送される情報及び/又はシンタックス要素は、上述した符号化手順を介して符号化されて前記ビットストリームに含まれることができる。
【0068】
前記ビットストリームは、ネットワークを介して伝送されることができ、又はデジタル記憶媒体に保存されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、Blu-ray、HDD、SSDなどのさまざまな記憶媒体を含むことができる。エントロピー符号化部190から出力された信号を伝送する伝送部(図示せず)及び/又は保存する保存部(図示せず)が画像符号化装置100の内/外部要素として備えられることができ、又は伝送部はエントロピー符号化部190の構成要素として備えられることもできる。
【0069】
量子化部130から出力された、量子化された変換係数は、レジデュアル信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部140及び逆変換部150を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロック又はレジデュアルサンプル)を復元することができる。
【0070】
加算部155は、復元されたレジデュアル信号をインター予測部180又はイントラ予測部185から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部155は、復元部又は復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するようにフィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0071】
一方、後述するように、ピクチャ符号化過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0072】
フィルタリング部160は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部160は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ170、具体的にはメモリ170のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部160は、各フィルタリング方法についての説明で後述するようにフィルタリングに関する様々な情報を生成してエントロピー符号化部190に伝達することができる。フィルタリングに関する情報は、エントロピー符号化部190で符号化されてビットストリーム形式で出力されることができる。
【0073】
メモリ170に伝送された、修正された復元ピクチャは、インター予測部180で参照ピクチャとして使用されることができる。画像符号化装置100は、これを介してインター予測が適用される場合、画像符号化装置100と画像復号化装置での予測ミスマッチを回避することができ、符号化効率も向上させることができる。
【0074】
メモリ170内のDPBは、インター予測部180での参照ピクチャとして使用するために、修正された復元ピクチャを保存することができる。メモリ170は、現在ピクチャ内の動き情報が導出された(又は符号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内ブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部180に伝達されることができる。メモリ170は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部185に伝達することができる。
【0075】
画像復号化装置の概要
【0076】
図3は本開示による実施例が適用できる画像復号化装置を概略的に示す図である。
【0077】
図3に示されているように、画像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265を含んで構成できる。インター予測部260及びイントラ予測部265を合わせて「予測部」と呼ばれることができる。逆量子化部220、逆変換部230はレジデュアル処理部に含まれることができる。
【0078】
画像復号化装置200を構成する複数の構成部の全部又は少なくとも一部は、実施例によって一つのハードウェアコンポーネント(例えば、デコーダ又はプロセッサ)で実現されることができる。また、メモリ170は、DPBを含むことができ、デジタル記憶媒体によって実現できる。
【0079】
ビデオ/画像情報を含むビットストリームを受信した画像復号化装置200は、
図1の画像符号化装置100で行われたプロセスに対応するプロセスを実行して画像を復元することができる。例えば、画像復号化装置200は、画像符号化装置で適用された処理ユニットを用いて復号化を行うことができる。したがって、復号化の処理ユニットは、例えばコーディングユニットであることができる。コーディングユニットは、コーディングツリーユニット又は最大コーディングユニットを分割して取得できる。そして、画像復号化装置200を介して復号化及び出力された復元画像信号は、再生装置(図示せず)を介して再生できる。
【0080】
画像復号化装置200は、
図1の画像符号化装置から出力された信号をビットストリーム形式で受信することができる。受信された信号は、エントロピー復号化部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の構成要素として備えられることもできる。
【0081】
一方、本開示による画像復号化装置は、ビデオ/画像/ピクチャ復号化装置と呼ばれることができる。前記画像復号化装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及び/又はサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)を含むこともできる。前記情報デコーダは、エントロピー復号化部210を含むことができ、前記サンプルデコーダは、逆量子化部220、逆変換部230、加算部235、フィルタリング部240、メモリ250、インター予測部260及びイントラ予測部265のうちの少なくとも一つを含むことができる。
【0082】
逆量子化部220では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部220は、量子化された変換係数を2次元のブロック形式で再整列することができる。この場合、前記再整列は、画像符号化装置で行われた係数スキャン順序に基づいて行われることができる。逆量子化部220は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて、量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0083】
逆変換部230では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得することができる。
【0084】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピー復号化部210から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか或いはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モード(予測技法)を決定することができる。
【0085】
予測部が後述の様々な予測方法(技法)に基づいて予測信号を生成することができるのは、画像符号化装置100の予測部についての説明で述べたのと同様である。
【0086】
イントラ予測部265は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。イントラ予測部185についての説明は、イントラ予測部265に対しても同様に適用されることができる。
【0087】
インター予測部260は、参照ピクチャ上で動きベクトルによって特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。この時、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて動き情報をブロック、サブブロック又はサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測など)情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighboring block)を含むことができる。例えば、インター予測部260は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出することができる。様々な予測モード(技法)に基づいてインター予測が行われることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモード(技法)を指示する情報を含むことができる。
【0088】
加算部235は、取得されたレジデュアル信号を予測部(インター予測部260及び/又はイントラ予測部265を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより、復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。加算部155についての説明は、加算部235に対しても同様に適用されることができる。
【0089】
一方、後述するように、ピクチャ復号化過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0090】
フィルタリング部240は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部240は、復元ピクチャに様々なフィルタリング方法を適用して、修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ250、具体的にはメモリ250のDPBに保存することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、双方向フィルタ(bilateral filter)などを含むことができる。
【0091】
メモリ250のDPBに保存された(修正された)復元ピクチャは、インター予測部260で参照ピクチャとして使用されることができる。メモリ250は、現在ピクチャ内の動き情報が導出された(又は復号化された)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を保存することができる。前記保存された動き情報は、空間周辺ブロックの動き情報又は時間周辺ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ250は、現在ピクチャ内の復元されたブロックの復元サンプルを保存することができ、イントラ予測部265に伝達することができる。
【0092】
本明細書において、画像符号化装置100のフィルタリング部160、インター予測部180及びイントラ予測部185で説明された実施例は、それぞれ画像復号化装置200のフィルタリング部240、インター予測部260及びイントラ予測部265にも、同様に又は対応するように適用されることができる。
【0093】
以下、
図4~
図7を参照して、インター予測符号化及びインター予測復号化について説明する。
【0094】
画像符号化/復号化装置は、ブロック単位でインター予測を行って予測サンプルを導出することができる。インター予測は、現在ピクチャ以外のピクチャ(ら)のデータ要素に依存的な方法で導出される予測技法を意味することができる。現在ブロックに対してインター予測が適用される場合、参照ピクチャ上で動きベクトルによって特定される参照ブロックに基づいて、現在ブロックに対する予測ブロックが誘導されることができる。
【0095】
このとき、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現在ブロックとの動き情報の相関性に基づいて現在ブロックの動き情報が誘導されることができ、ブロック、サブブロック又はサンプル単位で動き情報が誘導されることができる。このとき、動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。動き情報はインター予測タイプ情報をさらに含むことができる。ここで、インター予測タイプ情報はインター予測の方向性情報を意味することができる。インター予測タイプ情報は、現在ブロックがL0予測、L1予測及びBi予測のうちのいずれか一つを用いて予測されることを指示することができる。
【0096】
現在ブロックに対してインター予測が適用される場合、現在ブロックの周辺ブロックは、現在ピクチャ内に存在する空間周辺ブロック(spatial neighbouring block)と参照ピクチャに存在する時間周辺ブロック(temporal neighbouring block)を含むことができる。このとき、現在ブロックに対する参照ブロックを含む参照ピクチャと、前記時間周辺ブロックを含む参照ピクチャとは、同一でもよく、異なっていてもよい。前記時間周辺ブロックは、コロケート参照ブロック(collocated reference block)、コロケート符号化ユニット(colCU)などと呼ばれることができる。前記時間周辺ブロックを含む参照ピクチャは、コロケートピクチャ(collocated picture、colPic)と呼ばれることができる。
【0097】
一方、現在ブロックの周辺ブロックに基づいて動き情報候補リストが構成されることができ、このとき、現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するためにどの候補が使用されるかを指示するフラグ又はインデックス情報がシグナリングされることができる。
【0098】
動き情報は、インター予測タイプに基づいてL0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトル又はMVL0と定義されることができ、L1方向の動きベクトルは、L1動きベクトル又はMVL1と定義されることができる。L0動きベクトルに基づいた予測はL0予測と定義されることができ、L1動きベクトルに基づいた予測はL1予測と定義されることができ、前記L0動きベクトル及び前記L1動きベクトルの両方ともに基づいた予測は双予測(Bi prediction)と定義されることができる。ここで、L0動きベクトルは、参照ピクチャリストL0に関連した動きベクトルを意味することができ、L1動きベクトルは、参照ピクチャリストL1に関連した動きベクトルを意味することができる。
【0099】
参照ピクチャリストL0は、前記現在ピクチャよりも出力順序における以前のピクチャを参照ピクチャとして含むことができ、参照ピクチャリストL1は、前記現在ピクチャよりも出力順序における以後のピクチャを含むことができる。このとき、以前のピクチャは、順方向(参照)ピクチャと定義することができ、前記以後のピクチャは、逆方向(参照ピクチャ)と定義することができる。一方、参照ピクチャリストL0は、現在ピクチャよりも出力順序における以後のピクチャをさらに含むことができる。この場合、参照ピクチャリストL0内で以前ピクチャが先にインデックス化され、以後のピクチャは、その次にインデックス化されることができる。参照ピクチャリストL1は、現在ピクチャよりも出力順序における以前のピクチャをさらに含むことができる。この場合、参照ピクチャリストL1内で以後のピクチャが先にインデックス化され、以前のピクチャはその次にインデックス化されることができる。ここで、出力順序は、POC(picture order count)順序(order)に対応することができる。
【0100】
図4は本開示によるインター予測符号化を行うインター予測部の構成を例示的に示す図である。
【0101】
例えば、
図4に示すインター予測部は、
図2の画像符号化装置のインター予測部180に対応することができる。本開示によるインター予測部180は、予測モード決定部181、動き情報導出部182及び予測サンプル導出部183を含むことができる。インター予測部180は、符号化の対象である原本ピクチャと、インター予測に用いられる参照ピクチャとを入力として受信することができる。予測モード決定部181は、原本ピクチャ内の現在ブロックに対する予測モードを決定することができる。動き情報導出部182は、現在ブロックに対する動き情報を導出することができる。予測サンプル導出部183は、現在ブロックに対してインター予測を行うことにより、予測サンプルを導出することができる。予測サンプルは、現在ブロックの予測ブロックで表現できる。インター予測部180は、前記予測モードに関する情報、動き情報に関する情報及び予測サンプルを出力することができる。
【0102】
例えば、画像符号化装置のインター予測部180は、動き推定(motion estimation)を介して参照ピクチャの一定の領域(探索領域)内で前記現在ブロックと類似のブロックを探索し、前記現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。これに基づいて、前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出することができる。画像符号化装置は、様々な予測モードのうち、前記現在ブロックに対して適用されるモードを決定することができる。画像符号化装置は、前記様々な予測モードに対するレート歪みコスト(Rate-Distortion(RD) cost)を比較し、前記現在ブロックに対する最適の予測モードを決定することができる。しかし、画像符号化装置が現在ブロックに対する予測モードを決定する方法は、上記の例に限定されず、様々な方法が利用できる。
【0103】
例えば、現在ブロックに対するインター予測モードは、マージモード(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)のうちの少なくとも一つと決定されることができる。
【0104】
例えば、現在ブロックにスキップモード又はマージモードが適用される場合、画像符号化装置は、前記現在ブロックの周辺ブロックからマージ候補を誘導し、誘導されたマージ候補を用いてマージ候補リストを構成することができる。また、画像符号化装置は、前記マージ候補リストに含まれているマージ候補が指す参照ブロックのうち、現在ブロックとの差が最小又は一定の基準以下である参照ブロックを導出することができる。この場合、前記導出された参照ブロックに関連するマージ候補が選択され、前記選択されたマージ候補を示すマージインデックス情報が生成されて画像復号化装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。
【0105】
他の例として、前記現在ブロックにMVPモードが適用される場合、画像符号化装置は、前記現在ブロックの周辺ブロックから動きベクトル予測子(MVP、Motion Vector Predictor)候補を誘導し、誘導されたMVP候補を用いてMVP候補リストを構成することができる。また、画像符号化装置は、前記MVP候補リストに含まれているMVP候補のうち、選択されたMVP候補の動きベクトルを前記現在ブロックのMVPとして用いることができる。この場合、例えば、前述した動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして用いられることができ、前記MVP候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを持つMVP候補が、前記選択されたMVP候補になることができる。前記現在ブロックの動きベクトルから前記MVPを差し引いた差分であるMVD(motion vector difference)が導出されることができる。この場合、前記選択されたMVP候補を示すインデックス情報、及び前記MVDに関する情報が画像復号化装置にシグナリングされることができる。また、MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて別途に前記画像復号化装置にシグナリングされることができる。
【0106】
図5はインター予測に基づく符号化方法を説明するためのフローチャートである。
【0107】
例えば、
図5の符号化方法は、
図2の画像符号化装置によって行われることができる。具体的に、ステップS510、ステップS520、ステップS530は、それぞれインター予測部180、レジデュアル処理部(例えば、減算部)及びエントロピー符号化部190によって行われることができる。このとき、符号化対象である予測情報とレジデュアル情報は、それぞれインター予測部180及びレジデュアル処理部によって導出できる。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。前述したように、前記レジデュアルサンプルは、画像符号化装置の変換部120を介して変換係数として導出され、前記変換係数は、量子化部130を介して量子化された変換係数として導出されることができる。前記量子化された変換係数に関する情報がレジデュアルコーディング手順を介してエントロピー符号化部190で符号化されることができる。
【0108】
ステップS510で、画像符号化装置は、現在ブロックに対するインター予測を行うことができる。画像符号化装置は、インター予測を行うことにより、現在ブロックに対するインター予測モード及び現在ブロックに対する動き情報を導出し、前記現在ブロックの予測サンプルを生成することができる。ここで、インター予測モードの決定、動き情報の導出及び予測サンプルの生成手順は同時に行われてもよく、いずれか一つの手順が他の手順よりも先に行われてもよい。
【0109】
ステップS520で、画像符号化装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出することができる。画像符号化装置は、前記現在ブロックの原本サンプルと前記予測サンプルに基づいて前記レジデュアルサンプルを導出することができる。例えば、前記レジデュアルサンプルは、原本サンプルから対応する予測サンプルを減算することにより導出されることができる。
【0110】
ステップS530で、画像符号化装置は、予測情報及びレジデュアル情報を含む画像情報を符号化することができる。画像符号化装置は、符号化された画像情報をビットストリーム形式で出力することができる。前記予測情報は、前記予測手順に関連した情報であって、予測モード情報(例えば、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)予測が適用されるか否かを示す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
【0111】
出力されたビットストリームは、(デジタル)記憶媒体に保存されて画像復号化装置に伝達されることができ、又はネットワークを介して画像復号化装置に伝達されることもできる。
【0112】
一方、前述したように、画像符号化装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含むピクチャ)を生成することができる。これは、画像復号化装置で行われるのと同じ予測結果を画像符号化装置で導出するためであり、これによりコーディング効率を高めることができるためである。したがって、画像符号化装置は、復元ピクチャ(又は復元サンプル、復元ブロック)をメモリに保存し、インター予測のためのピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用できるのは、上述したとおりである。
【0113】
図6は本開示によるインター予測復号化を行うインター予測部の構成を例示的に示す図である。
【0114】
例えば、
図6に示したインター予測部は、
図3の画像復号化装置のインター予測部260に対応することができる。本開示によるインター予測部260は、予測モード決定部261、動き情報導出部262及び予測サンプル導出部263を含むことができる。インター予測部260は、現在ブロックの予測モードに関する情報、現在ブロックの動き情報に関する情報及びインター予測に用いられる参照ピクチャを入力として受信することができる。予測モード決定部261は、予測モードに関する情報に基づいて現在ブロックに対する予測モードを決定することができる。動き情報導出部262は、動き情報に関する情報に基づいて現在ブロックに対する動き情報(動きベクトル及び/又は参照ピクチャインデックスなど)を導出することができる。予測サンプル導出部263は、現在ブロックに対してインター予測を行うことにより予測サンプルを導出することができる。予測サンプルは現在ブロックの予測ブロックで表現できる。インター予測部260は、前記導出された予測サンプルを出力することができる。
【0115】
図7はインター予測に基づく復号化方法を説明するためのフローチャートである。
【0116】
例えば、
図7の復号化方法は、
図3の画像復号化装置によって行われることができる。画像復号化装置は、前記画像符号化装置で行われた動作と対応する動作を行うことができる。画像復号化装置は、受信された予測情報に基づいて現在ブロックに対する予測を行い、予測サンプルを導出することができる。
【0117】
具体的に、ステップS710乃至S730は、インター予測部260によって行われることができ、ステップS710の予測情報及びステップS740のレジデュアル情報は、エントロピー復号化部210によってビットストリームから取得されることができる。ステップS740は、画像復号化装置のレジデュアル処理部で行われることができる。具体的には、前記レジデュアル処理部の逆量子化部220は、前記レジデュアル情報に基づいて導出された、量子化された変換係数に基づいて、逆量子化を行って変換係数を導出し、前記レジデュアル処理部の逆変換部230は、前記変換係数に対する逆変換を行って前記現在ブロックに対するレジデュアルサンプルを導出することができる。ステップS750は、加算部235又は復元部によって行われることができる。
【0118】
ステップS710で、画像復号化装置は、受信された予測情報に基づいて、前記現在ブロックに対する予測モードを決定することができる。画像復号化装置は、前記予測情報内の予測モード情報に基づいて、前記現在ブロックにどのインター予測モードが適用されるかを決定することができる。
【0119】
例えば、前記skip flagに基づいて、前記現在ブロックに前記スキップモードが適用されるか否かを決定することができる。また、前記merge flagに基づいて、前記現在ブロックに前記マージモードが適用されるか或いはMVPモードが決定されるかを決定することができる。又は、前記mode indexに基づいて、多様なインター予測モード候補のうちのいずれか一つを選択することができる。前記インター予測モード候補は、スキップモード、マージモード及び/又はMVPモードを含むことができ、或いは後述する様々なインター予測モードを含むことができる。
【0120】
ステップ720で、画像復号化装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出することができる。例えば、画像復号化装置は、前記現在ブロックにスキップモード又はマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれているマージ候補のうちのいずれか一つを選択することができる。前記選択は、前述した候補選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を用いて前記現在ブロックの動き情報を導出することができる。例えば、前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として用いられることができる。
【0121】
他の例として、画像復号化装置は、前記現在ブロックにMVPモードが適用される場合、MVP候補リストを構成し、前記MVP候補リストに含まれているMVP候補の中から選択されたMVP候補の動きベクトルを前記現在ブロックのMVPとして用いることができる。前記選択は、前述した候補選択情報(mvp flag又はmvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出することができ、前記現在ブロックのMVPと前記MVDに基づいて前記現在ブロックの動きベクトルを導出することができる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出することができる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが、前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【0122】
ステップS730で、画像復号化装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成することができる。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出することができる。場合に応じて、前記現在ブロックの予測サンプルのうちの全部又は一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【0123】
ステップS740で、画像復号化装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成することができる。
【0124】
ステップS750で、画像復号化装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる。以後、前記復元ピクチャにインループフィルタリング手順などがさらに適用できる。
【0125】
以下、予測モードによる動き情報導出ステップについてより詳細に説明する。
【0126】
前述したように、インター予測は、現在ブロックの動き情報を用いて行われることができる。画像符号化装置は、動き推定(motion estimation)手順を介して現在ブロックに対する最適の動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて様々な方法によって画像復号化装置にシグナリングされることができる。
【0127】
現在ブロックに対してマージモード(merge mode)が適用される場合、現在ブロックの動き情報が直接伝送されず、周辺ブロックの動き情報を用いて前記現在ブロックの動き情報を誘導する。よって、マージモードを用いたことを知らせるフラグ情報及びどの周辺ブロックをマージ候補として用いたかを知らせる候補選択情報(例えば、マージインデックス)を伝送することにより、現在予測ブロックの動き情報を指示することができる。本開示において、現在ブロックは予測実行の単位であるので、現在ブロックは現在予測ブロックと同じ意味で使用され、周辺ブロックは周辺予測ブロックと同じ意味で使用されることができる。
【0128】
画像符号化装置は、マージモードを行うために現在ブロックの動き情報を誘導するのに用いられるマージ候補ブロック(merge candidate block)を探索することができる。例えば、前記マージ候補ブロックは、最大5個まで使用できるが、これに限定されない。前記マージ候補ブロックの最大個数は、スライスヘッダー又はタイルグループヘッダーから伝送されることができるが、これに限定されない。前記マージ候補ブロックを見つけた後、画像符号化装置は、マージ候補リストを生成することができ、これらのうち、RDコストが最も小さいマージ候補ブロックを最終マージ候補ブロックとして選択することができる。
【0129】
本開示は、前記マージ候補リストを構成するマージ候補ブロックに対する様々な実施例を提供する。前記マージ候補リストは、例えば5つのマージ候補ブロックを用いることができる。例えば、4つの空間マージ候補(spatial merge candidate)と1つの時間マージ候補(temporal merge candidate)を用いることができる。
【0130】
図8は空間マージ候補として用いられる周辺ブロックを例示する図である。
【0131】
図8に示すように、空間マージ候補として用いられる空間周辺ブロックは、前記現在ブロックの左下側コーナー周辺ブロックA0、左側周辺ブロックA1、右上側コーナー周辺ブロックB0、上側周辺ブロックB1、及び左上側コーナー周辺ブロックB2を含むことができる。ただし、これは例示に過ぎず、
図8に示されている空間周辺ブロック以外にも右側周辺ブロック、下側周辺ブロック、右下側周辺ブロックなどの追加的な周辺ブロックがさらに前記空間周辺ブロックとして使用できる。
【0132】
図9は本開示の一例によるマージ候補リスト構成方法を概略的に示す図である。
【0133】
画像符号化装置/画像復号化装置は、現在ブロックの空間周辺ブロックを探索して導出された空間マージ候補をマージ候補リストに挿入することができる(S910)。画像符号化装置/画像復号化装置は、前記空間周辺ブロックを優先順位に基づいて探索することにより、利用可能なブロックを検出し、検出されたブロックの動き情報を前記空間マージ候補として導出することができる。例えば、画像符号化装置/画像復号化装置は、
図8に示されている5つのブロックをA1、B1、B0、A0、B2の順に探索し、利用可能な候補を順次インデックス化することにより、マージ候補リストを構成することができる。
【0134】
以下、マージモード及び/又はスキップモードの場合、空間候補を誘導する方法についてより具体的に説明する。空間候補は、上述した空間マージ候補を示すことができる。
【0135】
空間候補の誘導は、空間的に隣接するブロック(spatial neighboring blocks)に基づいて行われることができる。一例として、
図8に示されている位置に存在する候補ブロックから最大4つの空間候補が誘導されることができる。空間候補を誘導する順序は、A1→B1→B0→A0→B2の順序であり得る。しかし、空間候補を誘導する順序は、上記の順序に限定されず、例えば、B1→A1→B0→A0→B2の順序であってもよい。順序的に最後の位置(上記の例ではB2の位置)は、先行する4つの位置(上記の例では、A1、B1、B0及びA0)のうちの少なくとも一つが利用可能でない場合に考慮されることができる。このとき、所定の位置のブロックが利用可能でないというのは、該当ブロックが現在ブロックとは異なるスライス又は異なるタイルに属するか、或いは当該ブロックがイントラ予測済みのブロックである場合を含むことができる。順序的に一番目の位置(上記の例では、A1又はB1)から空間候補が誘導された場合、後続する位置の空間候補に対しては冗長性(redundancy)チェックが行われることができる。例えば、後続する空間候補の動き情報が、マージ候補リストに既に含まれている空間候補の動き情報と同一である場合、前記後続する空間候補をマージ候補リストに含ませないことにより、符号化効率を向上させることができる。後続する空間候補に対して行われる冗長性チェックは、できる限りすべての候補ペアに対して行われず、一部の候補ペアに対してのみ行われることにより、計算複雑度を減少させることができる。
【0136】
例えば、B1→A1→B0→A0→B2の順に空間候補が誘導されるとき、A1位置の空間候補に対する冗長性チェックは、B1位置の空間候補に対してのみ行われることができる。また、B0位置の空間候補に対する冗長性チェックは、B1位置の空間候補に対してのみ行われることができる。また、A0位置の空間候補に対する冗長性チェックは、A1位置の空間候補に対してのみ行われることができる。最後に、B2位置の空間候補に対する冗長性チェックは、B1位置及びA1位置の空間候補に対してのみ行われることができる。しかし、これに限定されず、空間候補を誘導する順序が変更される場合でも、上述したように一部の候補ペアに対してのみ冗長性チェックが行われることができる。
【0137】
再び
図9を参照すると、画像符号化装置/画像復号化装置は、前記現在ブロックの時間周辺ブロックを探索して導出された時間マージ候補を前記マージ候補リストに挿入することができる(S920)。前記時間周辺ブロックは、前記現在ブロックが位置する現在ピクチャとは異なるピクチャである参照ピクチャ上に位置することができる。前記時間周辺ブロックが位置する参照ピクチャは、コロケート(collocated)ピクチャ又はcolピクチャと呼ばれることができる。前記時間周辺ブロックは、前記colピクチャ上における前記現在ブロックに対するコロケートブロック(co-located block)の右下側コーナー周辺ブロック(C0ブロック)及び右下側センターブロック(C1ブロック)の順序で探索できる。つまり、まず、C0ブロックが利用可能であるか否かが判断され、C0ブロックが利用可能である場合、C0ブロックに基づいて時間候補が誘導できる。もしC0ブロックが利用可能でない場合、C1ブロックに基づいて時間候補が誘導できる。例えば、C0ブロックがイントラ予測済みのブロックであるか、或いは現在CTU行(row)の外部に存在する場合、C0ブロックが利用可能でないと判断できる。一方、メモリ負荷を減らすためにmotion data compressionが適用される場合、前記colピクチャに対して、一定の保存単位ごとに特定の動き情報を代表動き情報として保存することができる。この場合、前記一定の保存ユニット内のすべてのブロックに対する動き情報を保存する必要がなく、これによりmotion data compression効果を得ることができる。この場合、一定の保存単位は、例えば16×16サンプル単位、又は8×8サンプル単位などに予め定められることもでき、又は画像符号化装置から画像復号化装置へ前記一定の保存単位に対するサイズ情報がシグナリングされることもできる。前記motion data compressionが適用される場合、前記時間周辺ブロックの動き情報は、前記時間周辺ブロックが位置する前記一定の保存単位の代表動き情報に置き換えられることができる。つまり、この場合、実現の観点からみると、前記時間周辺ブロックの座標に位置する予測ブロックロックではなく、前記時間周辺ブロックの座標(左上側サンプルポジション)に基づいて一定の値だけ算術右シフトした後、算術左シフトした位置をカバーする予測ブロックの動き情報に基づいて前記時間マージ候補が導出されることができる。例えば、前記一定の保存単位が2
n×2
nサンプル単位である場合、前記時間周辺ブロックの座標が(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))に位置する予測ブロックの動き情報が前記時間マージ候補のために使用できる。
【0138】
以下、マージモード及び/又はスキップモードの場合、時間候補を誘導する方法についてより具体的に説明する。時間候補は、上述した時間マージ候補を示すことができる。また、時間候補の動きベクトルは、MVPモードの時間候補に対応することもできる。
【0139】
時間候補は、一つの候補のみがマージ候補リストに含まれることができる。時間候補を誘導する過程で、時間候補の動きベクトルはスケーリングできる。例えば、前記スケーリングは、コロケート参照ピクチャ(collocated reference picture、colPic)(以下、「colピクチャ」という)に属する子ロケートブロック(colocated CU)(以下、「colブロック」という)に基づいて行われることができる。より具体的に、現在ブロックの参照ピクチャと現在ピクチャとの距離(tb)及びcolブロックの参照ピクチャとcolピクチャとの距離(td)に基づいて前記スケーリングが行われることができる。前記tbとtdは、ピクチャ間のPOC(Picture Orde Count)の差に該当する値で表すことができる。colブロックの誘導に使用される参照ピクチャリストは、スライスヘッダーで明示的にシグナリングされることができる。
【0140】
再び
図9を参照すると、画像符号化装置/画像復号化装置は、現在マージ候補の数が最大マージ候補の数よりも小さいか否かを確認することができる(S930)。前記最大マージ候補の数は、予め定義されるか、或いは画像符号化装置から画像復号化装置にシグナリングされることができる。例えば、画像符号化装置は、前記最大マージ候補の数に関する情報を生成し、符号化してビットストリーム形式で前記画像復号化装置に伝達することができる。前記最大マージ候補の数が全て満たされると、以後の候補追加過程(S940)は行われないことができる。
【0141】
ステップS930の確認結果、前記現在マージ候補の数が前記最大マージ候補の数よりも小さい場合、画像符号化装置/画像復号化装置は、所定の方式に基づいて追加マージ候補を誘導した後、前記マージ候補リストに挿入することができる(S940)。前記追加マージ候補は、例えば、history based merge candidate(s)、pair-wise average merge candidate(s)、ATMVP、combined bi-predictiveマージ候補(現在スライス/タイルグループのスライス/タイルグループタイプがBタイプである場合)及び/又はゼロ(zero)ベクトルマージ候補のうちの少なくとも一つを含むことができる。
【0142】
ステップS930の確認結果、前記現在マージ候補の数が前記最大マージ候補の数よりも小さくない場合、画像符号化装置/画像復号化装置は、前記マージ候補リストの構成を終了することができる。この場合、画像符号化装置は、RDコストに基づいて、前記マージ候補リストを構成するマージ候補のうちの最適のマージ候補を選択することができ、前記選択されたマージ候補を指す候補選択情報(例えば、マージ候補インデックス、merge index)を画像復号化装置にシグナリングすることができる。画像復号化装置は、前記マージ候補リスト及び前記候補選択情報に基づいて前記最適のマージ候補を選択することができる。
【0143】
前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として使用されることができ、前記現在ブロックの動き情報に基づいて前記現在ブロックの予測サンプルを導出することができるのは、前述したとおりである。画像符号化装置は、前記予測サンプルに基づいて前記現在ブロックのレジデュアルサンプルを導出することができ、前記レジデュアルサンプルに関するレジデュアル情報を画像復号化装置にシグナリングすることができる。画像復号化装置は、前記レジデュアル情報に基づいて導出されたレジデュアルサンプル及び前記予測サンプルに基づいて復元サンプルを生成し、これに基づいて復元ピクチャを生成することができるのは、前述したとおりである。
【0144】
現在ブロックに対してスキップモード(skip mode)が適用される場合、前でマージモードが適用される場合と同様の方法で前記現在ブロックの動き情報を導出することができる。ただし、スキップモードが適用される場合、当該ブロックに対するレジデュアル信号が省略される。よって、予測サンプルが直ちに復元サンプルとして使用できる。前記スキップモードは、例えばcu_skip_flagの値が1である場合に適用できる。
【0145】
以下、マージモード及び/又はスキップモードの場合、History-based候補を誘導する方法について説明する。History-based候補は、History-basedマージ候補で表現できる。
【0146】
History-based候補は、空間候補と時間候補がマージ候補リストに追加された後に、前記マージ候補リストに追加されることができる。例えば、以前に符号化/復号化されたブロックの動き情報がテーブルに保存され、現在ブロックのHistory-based候補として使用できる。前記テーブルは、符号化/復号化過程中に複数のHistory-based候補を保存することができる。前記テーブルは、新しいCTU行(row)が始まるときに初期化できる。テーブルが初期化されるというのは、テーブルに保存されたHistory-based候補がすべて削除されて当該テーブルが空になることを意味することができる。インター予測されたブロックがあるたびに、関連動き情報が最後のエントリとして前記テーブルに追加できる。このとき、前記インター予測されたブロックは、サブブロックに基づいて予測されたブロックではないことができる。前記テーブルに追加された動き情報は、新しいHistory-based候補として使用できる。
【0147】
History-based候補のテーブルは、所定のサイズを持つことができる。例えば、当該サイズは5であり得る。このとき、前記テーブルは、最大5つのHistory-based候補を保存することができる。新しい候補がテーブルに追加されるとき、まず、同じ候補が前記テーブルに存在するかの冗長性チェックが行われる制限されたfirst-in-first-out(FIFO)規定が適用できる。もし同じ候補が前記テーブルに既に存在する場合、前記同じ候補が前記テーブルから削除され、以後のすべてのHistory-based候補の位置が前方に移動することができる。
【0148】
History-based候補は、マージ候補リストの構成過程に使用できる。このとき、前記テーブルに最近に含まれているHistory-based候補が順次チェックされ、前記マージ候補リストの時間候補以降の位置に含まれることができる。History-based候補がマージ候補リストに含まれるとき、前記マージ候補リストに既に含まれている空間候補又は時間候補との冗長性チェックが行われることができる。もし、マージ候補リストに既に含まれている空間候補又は時間候補とHistory-based候補が同時に重複する場合、当該History-based候補は、前記マージ候補リストに含まれないことができる。前記冗長性チェックは、次のように単純化させることにより演算量が低減できる。
【0149】
マージ候補リストの生成に用いられるHistory-based候補の数は(N<=4)?M:(8-N)に設定できる。このとき、Nはマージ候補リストに既に含まれている候補の数を示し、Mは前記テーブルに保存された利用可能なHistory-based候補の数を示す。つまり、マージ候補リストに4個以下の候補が含まれた場合、前記マージ候補リストの生成に用いられるHistory-based候補の数はM個であり、マージ候補リストに4個より多いN個の候補が含まれた場合、前記マージ候補リストの生成に用いられるHistory-based候補の数は、(8-N)個に設定できる。
【0150】
利用可能なマージ候補の総数が(マージ候補の最大許容数-1)に達する場合、History-based候補を用いたマージ候補リストの構成は終了できる。
【0151】
以下、マージモード及び/又はスキップモードの場合、Pair-wise average候補を誘導する方法について説明する。Pair-wise average候補は、Pair-wise averageマージ候補又はPair-wise候補で表現できる。
【0152】
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候補誘導過程は、マージ候補リストに含まれたマージ候補の数が最大マージ候補の数に達するまで行われることができる。
【0153】
Pair-wise average候補は、参照ピクチャリストのそれぞれに対して個別に計算できる。1つの参照ピクチャリスト(L0 list又はL1 list)に対して2つの動きベクトルが利用可能である場合、これらの2つの動きベクトルの平均が計算できる。このとき、2つの動きベクトルが互いに異なる参照ピクチャを指しても、前記2つの動きベクトルの平均が行われることができる。もし1つの参照ピクチャリストに対して1つの動きベクトルのみが利用可能である場合、利用可能な動きベクトルがPair-wise average候補の動きベクトルとして使用できる。もし1つの参照ピクチャリストに対して2つの動きベクトルがすべて利用可能でない場合、当該参照ピクチャリストは有効でないと決定できる。
【0154】
Pair-wise average候補がマージ候補リストに含まれた以後にも、マージ候補リストの構成が完了していない場合、最大マージ候補の数に達するまでゼロベクトルがマージ候補リストに追加できる。
【0155】
現在ブロックに対してMVPモードが適用される場合、復元された空間周辺ブロック(例えば、
図8に示されている周辺ブロック)の動きベクトル及び/又は時間周辺ブロック(又はColブロック)に対応する動きベクトルを用いて、動きベクトル予測子(motion vector predictor、mvp)候補リストが生成できる。つまり、復元された空間周辺ブロックの動きベクトル及び/又は時間周辺ブロックに対応する動きベクトルが現在ブロックの動きベクトル予測子候補として使用できる。双予測が適用される場合、L0動き情報導出のためのmvp候補リストとL1動き情報導出のためのmvp候補リストが個別に生成されて利用できる。現在ブロックに対する予測情報(又は予測に関する情報)は、前記mvp候補リストに含まれている動きベクトル予測子候補の中から選択された最適の動きベクトル予測子候補を指示する候補選択情報(例えば、MVPフラグ又はMVPインデックス)を含むことができる。このとき、予測部は、前記候補選択情報を用いて、mvp候補リストに含まれている動きベクトル予測子候補の中から、現在ブロックの動きベクトル予測子を選択することができる。画像符号化装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との動きベクトル差分(MVD)を求めることができ、これを符号化してビットストリーム形式で出力することができる。つまり、MVDは現在ブロックの動きベクトルから前記動きベクトル予測子を差し引いた値で求められることができる。画像復号化装置の予測部は、前記予測に関する情報に含まれている動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子との加算を介して、現在ブロックの前記動きベクトルを導出することができる。画像復号化装置の予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から取得又は誘導することができる。
【0156】
図10は本開示の一例による動きベクトル予測子候補リスト構成方法を概略的に示す図である。
【0157】
まず、現在ブロックの空間候補ブロックを探索して、利用可能な候補ブロックをMVP候補リストに挿入することができる(S1010)。その後、MVP候補リストに含まれているMVP候補が2つ未満であるか否かが判断され(S1020)、2つである場合、MVP候補リストの構成を完了することができる。
【0158】
ステップS1020で、利用可能な空間候補ブロックが2つ未満である場合、現在ブロックの時間候補ブロックを探索して、利用可能な候補ブロックをMVP候補リストに挿入することができる(S1030)。時間候補ブロックが利用可能でない場合、ゼロ動きベクトルをMVP候補リストに挿入(S1040)することにより、MVP候補リストの構成を完了することができる。
【0159】
一方、MVPモードが適用される場合、参照ピクチャインデックスが明示的にシグナリングされることができる。この場合、L0予測のためのピクチャインデックス(refidxL0)とL1予測のための参照ピクチャインデックス(refidxL1)が区分されてシグナリングされることができる。例えば、MVPモードが適用され、双予測(BI prediction)が適用される場合、前記refidxL0に関する情報及びrefidxL1に関する情報が両方ともシグナリングされることができる。
【0160】
前述したように、MVPモードが適用される場合、画像符号化装置から導出されたMVDに関する情報が画像復号化装置にシグナリングされることができる。MVDに関する情報は、例えばMVD絶対値及び符号に対するx、y成分を示す情報を含むことができる。この場合、MVD絶対値が0よりも大きいか、及び1よりも大きいか否か、MVDの残りを示す情報が段階的にシグナリングされることができる。例えば、MVD絶対値が1よりも大きいか否かを示す情報は、MVD絶対値が0よりも大きいか否かを示すflag情報の値が1である場合に限ってシグナリングされることができる。
【0161】
以下、インター予測モードの一例であるアフィンモードについて詳細に説明する。従来のビデオ符号化/復号化システムでは、現在ブロックの動き情報を表現するために一つの動きベクトルのみを使用したが、このような方法には、ブロック単位の最適の動き情報を表現するだけであり、画素単位の最適の動き情報を表現することはできなかったという問題点があった。かかる問題点を解決するために、画素単位でブロックの動き情報を定義するアフィンモードが提案された。アフィンモードによれば、現在ブロックに関連付けられた2個乃至4個の動きベクトル用いてブロックの画素/又はサブブロック単位別動きベクトルが決定できる。
【0162】
従来の動き情報が画素値の平行移動(又は変位)を用いて表現されたのに比べ、アフィンモードでは、平行移動、スケーリング、回転、傾き(shear)のうちの少なくとも一つを用いて、画素別動き情報が表現できる。その中で、画素別動き情報が変位、スクーリング、回転を用いて表現されるアフィンモードを類似(similarity)或いは簡略化(simplified)アフィンモードと定義することができる。以下の説明におけるアフィンモードは、類似又は簡略化アフィンモードを意味することができる。
【0163】
アフィンモードでの動き情報は、2つ以上のCPMV(Control Point Motion Vector)を用いて表現できる。現在ブロックの特定の画素位置の動きベクトルはCPMVを用いて誘導できる。このとき、現在ブロックの画素別及び/又はサブブロック別動きベクトルの集合をアフィン動きベクトルフィールド(Affine Motion Vector Field:Affine MVF)と定義することができる。
【0164】
図11はアフィンモードの4-パラメータモデルを説明するための図である。
【0165】
図12はアフィンモードの6-パラメータモデルを説明するための図である。
【0166】
現在ブロックにアフィンモードが適用される場合、4-パラメータモデル及び6-パラメータモデルのうちの一つを用いてアフィンMVFが誘導されることができる。このとき、4-パラメータモデルは、
図11に示すように、2つのCPMV(v0,v1)が使用されるモデルタイプを意味することができる。また、6-パラメータモデルは、
図12に示すように、3つのCPMV(v0,v1,v2)が使用されるモデルタイプを意味することができる。
【0167】
現在ブロックの位置を(x,y)と定義する場合、画素位置による動きベクトルは、下記の数式1又は2に従って誘導されることができる。例えば、4-パラメータモデルによる動きベクトルは数式1に従って誘導されることができ、6-パラメータモデルによる動きベクトルは数式2に従って誘導されることができる。
【0168】
【0169】
【0170】
数式1及び数式2において、mv0={mv_0x,mv_0y}は、現在ブロックの左上側コーナー位置のCPMVであり、v1={mv_1x,mv_1y}は、現在ブロックの右上側コーナー位置のCPMVであり、mv2={mv_2}は、現在ブロックの左下側位置のCPMVであり得る。ここで、W及びHはそれぞれ現在ブロックの幅及び高さに該当し、mv={mv_x,mv_y}は画素位置{x,y}の動きベクトルを意味することができる。
【0171】
符号化/復号化過程で、アフィンMVFは、画素単位及び/又は予め定義されたサブブロック単位で決定されることができる。アフィンMVFが画素単位で決定される場合、各画素値を基準に動きベクトルが誘導されることができる。一方、アフィンMVFがサブブロック単位で決定される場合、サブブロックの中央画素値を基準に当該ブロックの動きベクトルが誘導されることができる。中央画素値は、サブブロックのセンターに存在する仮想の画素を意味するか、或いは中央に存在する4つの画素のうちの右下側画素を意味することができる。また、中央画素値は、サブブロック内の特定の画素であって当該サブブロックを代表する画素であり得る。本開示において、アフィンMVFは、4×4サブブロック単位で決定される場合を説明する。ただし、これは説明の便宜のためであり、サブブロックのサイズは多様に変更できる。
【0172】
つまり、Affine予測が利用可能である場合、現在ブロックに適用可能な動きモデルは、Translational motion model(平行移動モデル)、4-parameter affine motion model、6-parameter affine motion modelの3つを含むことができる。ここで、Translational motion modelは、従来のブロック単位動きベクトルが使用されるモデルを示すことができ、4-parameter affine motion modelは、2つのCPMVが使用されるモデルを示すことができ、6-parameter affine motion modelは、3つのCPMVが使用されるモデルを示すことができる。アフィンモードは、動き情報を符号化/復号化する方法によって詳細モードに区分できる。一例として、アフィンモードはアフィンMVPモードとアフィンマージモードに細分化できる。
【0173】
現在ブロックに対してアフィンマージモードが適用される場合、CPMVは、アフィンモードで符号化/復号化された現在ブロックの周辺ブロックから誘導できる。現在ブロックの周辺ブロックのうちの少なくとも一つがアフィンモードで符号化/復号化された場合、現在ブロックに対してアフィンマージモードが適用できる。すなわち、現在ブロックに対してアフィンマージモードが適用される場合、周辺ブロックのCPMVを用いて現在ブロックのCPMVが誘導できる。例えば、周辺ブロックのCPMVが現在ブロックのCPMVとして決定されるか、或いは周辺ブロックのCPMVに基づいて現在ブロックのCPMVが誘導されることができる。周辺ブロックのCPMVに基づいて現在ブロックのCPMVが誘導される場合、現在ブロック又は周辺ブロックの符号化パラメータのうちの少なくとも一つが使用できる。例えば、周辺ブロックのCPMVが前記周辺ブロックのサイズ及び現在ブロックのサイズなどに基づいて修正されて現在ブロックのCPMVとして使用され得る。
【0174】
一方、サブブロック単位でMVが導出されるaffine mergeの場合には、サブブロックマージモードと呼ばれることができ、これは、第1値(例えば、「1」)を有するmerge_subblock_flagによって指示できる。この場合、後述するアフィンマージ候補リスト(affine merging candidate list)は、サブブロックマージ候補リスト(subblock merging candidate list)と呼ばれることもできる。この場合、前記サブブロックマージ候補リストには、後述するSbTMVPで導出された候補がさらに含まれることができる。この場合、前記sbTMVPで導出された候補は、前記サブブロックマージ候補リストの0番インデックスの候補として用いられることができる。言い換えれば、前記sbTMVPで導出された候補は、前記サブブロックマージ候補リスト内で後述の継承アフィンマージ候補(inherited affine candidates)、組み合わせアフィンマージ候補(constructed affine candidates)よりも前方に位置することができる。
【0175】
一例として、現在ブロックに対してアフィンモードが適用できるか否かを指示するアフィンモードフラグが定義できる。これはシーケンス、ピクチャ、スライス、タイル、タイルグループ、ブリックなど、現在ブロックの上位レベルのうちの少なくとも一つのレベルでシグナリングできる。例えば、アフィンモードフラグはsps_affine_enabled_flagと命名できる。
【0176】
アフィンマージモードが適用される場合、現在ブロックのCPMV誘導のために、アフィンマージ候補リストが構成できる。このとき、アフィンマージ候補リストは、継承アフィンマージ候補、組み合わせアフィンマージ候補、及びゼロマージ候補のうちの少なくとも一つを含むことができる。継承アフィンマージ候補は、現在ブロックの周辺ブロックがアフィンモードで符号化/復号化された場合、当該周辺ブロックのCPMVを用いて誘導される候補を意味することができる。組み合わせアフィンマージ候補は、それぞれのCP(Control Point)の周辺ブロックの動きベクトルに基づいてそれぞれのCPMVが誘導された候補を意味することができる。一方、ゼロマージ候補は、サイズ0のCPMVからなる候補を意味することができる。以下の説明において、CPとは、CPMVを誘導するのに用いられるブロックの特定の位置を意味することができる。例えば、CPはブロックの各頂点位置であり得る。
【0177】
図13はアフィンマージ候補リストを生成する方法を説明するための図である。
【0178】
図13のフローチャートを参照すると、継承アフィンマージ候補(S1310)、組み合わせアフィンマージ候補(S1320)、ゼロマージ候補(S1330)の順にアフィンマージ候補リストにアフィンマージ候補が追加できる。ゼロマージ候補は、アフィンマージ候補リストに継承アフィンマージ候補及び組み合わせアフィンマージ候補が全て追加されたにも拘らず、候補リストに含まれる候補の数が最大候補数を満たさない場合に追加できる。このとき、ゼロマージ候補は、アフィンマージ候補リストの候補の数が最大候補数を満たすまで追加できる。
【0179】
図14は周辺ブロックから継承アフィンマージ候補を誘導する方法を説明するための図である。
【0180】
一例として、最大2つの継承アフィンマージ候補が誘導でき、それぞれの候補は、左側周辺ブロック及び上側周辺ブロックのうちの少なくとも一つに基づいて誘導できる。継承アフィンマージ候補を誘導するための周辺ブロックについて
図8を参照して説明する。左側周辺ブロックに基づいて誘導された継承アフィンマージ候補は、A0及びA1のうちの少なくとも一つに基づいて誘導され、上側周辺ブロックに基づいて誘導された継承アフィンマージ候補は、B0、B1及びB2のうちの少なくとも一つに基づいて誘導できる。このとき、各周辺ブロックのスキャン順序は、A0からA1の順、及びB0からB1、B2の順であり得るが、これに限定されない。左側及び上側のそれぞれに対して前記スキャン順序的に利用可能な1番目の周辺ブロックに基づいて継承アフィンマージ候補が誘導できる。この場合、左側周辺ブロックと上側周辺ブロックから誘導された候補との間では冗長性検査が行われないことができる。
【0181】
一例として、
図14に示すように、左側周辺ブロックAがアフィンモードで符号化/復号化された場合、周辺ブロックAのCPに対応する動きベクトルv2、v3及びv4のうちの少なくとも一つが誘導されることができる。周辺ブロックAが4-パラメータアフィンモデルを介して符号化/復号化される場合、継承アフィンマージ候補は、v2及びv3を用いて誘導できる。一方、周辺ブロックAが6-パラメータアフィンモデルを介して符号化/復号化された場合、継承アフィンマージ候補はv2、v3及びv4を用いて誘導できる。
【0182】
図15は組み合わせアフィンマージ候補を誘導するための周辺ブロックを説明するための図である。
【0183】
組み合わせアフィン候補は、周辺ブロックの一般的な動き情報の組み合わせを用いてCPMVが誘導される候補を意味することができる。各CP別の動き情報は、現在ブロックの空間周辺ブロック又は時間周辺ブロックを用いて誘導できる。以下の説明において、CPMVkは、k番目のCPを代表する動きベクトルを意味することができる。一例として、
図15を参照すると、CPMV1は、B2、B3及びA2の動きベクトルのうちの利用可能な一番目の動きベクトルとして決定でき、このときのスキャン順序は、B2、B3、A2の順であり得る。CPMV2は、B1及びB0の動きベクトルのうちの利用可能な一番目の動きベクトルとして決定でき、このときのスキャン順序はB1、B0の順であり得る。CPMV3は、A1及びA0の動きベクトルのうちの利用可能な一番目の動きベクトルとして決定でき、このときのスキャン順序はA1、A0の順であり得る。現在ブロックに対してTMVP適用が可能である場合、CPMV4は、時間周辺ブロックであるTの動きベクトルとして決定できる。
【0184】
各CPに対する4つの動きベクトルが誘導された後、これに基づいて組み合わせアフィンマージ候補が誘導できる。組み合わせアフィンマージ候補は、誘導された各CPに対する4つの動きベクトルの中から選択された少なくとも2つの動きベクトルを含んで構成できる。一例として、組み合わせアフィンマージ候補は、{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}及び{CPMV1,CPMV3}の順序に従って少なくとも一つで構成できる。3つの動きベクトルからなる組み合わせアフィン候補は、6-パラメータアフィンモデルのための候補であり得る。これに対し、2つの動きベクトルからなる組み合わせアフィン候補は、4-パラメータアフィンモデルのための候補であり得る。動きベクトルのスケーリング過程を回避するために、CPの参照ピクチャインデックスが異なる場合、関連するCPMVの組み合わせは、組み合わせアフィン候補の誘導に利用されずに無視できる。
【0185】
現在ブロックに対してアフィンMVPモードが適用される場合、画像符号化装置は、現在ブロックに対する2つ以上のCPMV予測子とCPMVを誘導して、これに基づいてCPMV差分(differences)を誘導することができる。このとき、CPMV差分が符号化装置から復号化装置にシグナリングされることができる。画像復号化装置は、現在ブロックに対するCPMV予測子を誘導し、シグナリングされたCPMV差分を復元した後、CPMV予測子とCPMV差分に基づいて現在ブロックのCPMVを誘導することができる。
【0186】
一方、現在ブロックに対してアフィンマージモード又はサブブロックベースのTMVPが適用されていない場合に限って、現在ブロックに対してアフィンMVPモードが適用できる。一方、アフィンMVPモードはアフィンCP MVPモードと表現されることもできる。
【0187】
現在ブロックに対してアフィンMVPが適用される場合、現在ブロックに対するCPMVの誘導のために、アファインMVP候補リスト(affine mvp candidate list)が構成できる。ここで、アフィンMVP候補リストは、継承アフィンMVP候補、組み合わせアフィンMVP候補、平行移動アフィンMVP候補、及びゼロMVP候補のうちの少なくとも一つを含むことができる。
【0188】
このとき、継承アフィンMVP候補とは、現在ブロックの周辺ブロックがアフィンモードで符号化/復号化される場合、周辺ブロックのCPMVに基づいて誘導される候補を意味することができる。組み合わせアフィンMVP候補は、CP周辺ブロックの動きベクトルに基づいてCPMV組み合わせを生成して誘導される候補を意味することができる。ゼロMVP候補は、値0のCPMVからなる候補を意味することができる。継承アフィンMVP候補、組み合わせアフィンMVP候補の誘導方法及び特徴は、上述した継承アフィン候補及び組み合わせアフィン候補と同様であるので、説明を省略する。
【0189】
アフィンMVP候補リストの最大候補数が2である場合、組み合わせアフィンMVP候補、平行移動アフィンMVP候補、及びゼロMVP候補は、現在候補数が2未満である場合に追加できる。特に、平行移動アフィンMVP候補は、次の順序に従って誘導できる。
【0190】
一例として、アフィンMVP候補リストに含まれている候補の数が2未満であり、組み合わせアフィンMVP候補のCPMV0が有効である場合、CPMV0がアフィンMVP候補として使用できる。すなわち、CP0、CP1、CP2の動きベクトルが全てCPMV0であるアフィンMVP候補がアファインMVP候補リストに追加できる。
【0191】
次に、アフィンMVPの候補リストの候補の数が2未満であり、組み合わせアフィンMVP候補のCPMV1が有効である場合、CPMV1がアフィンMVP候補として使用できる。すなわち、CP0、CP1、CP2の動きベクトルが全てCPMV1であるアフィンMVP候補がアフィンMVP候補リストに追加できる。
【0192】
次に、アフィンMVP候補リストの候補の数が2未満であり、組み合わせアフィンMVP候補のCPMV2が有効である場合、CPMV2がアフィンMVP候補として使用できる。すなわち、CP0、CP1、CP2の動きベクトルが全てCPMV2であるアフィンMVP候補がアフィンMVP候補リストに追加できる。
【0193】
上述した条件にも拘らず、アフィンMVP候補リストの候補の数が2未満である場合、現在ブロックのTMVP(temporal motion vector predictor)がアフィンMVP候補リストに追加できる。
【0194】
平行移動アフィンMVP候補の追加にも拘らず、アフィンMVP候補リストの候補の数が2未満である場合、ゼロMVP候補がアフィンMVP候補リストに追加できる。
【0195】
図16はアフィンMVP候補リストを生成する方法を説明するための図である。
【0196】
図16のフローチャートを参照すると、継承アフィンMVP候補(S1610)、組み合わせアフィンMVP候補(S1620)、平行移動アフィンMVP候補(S1630)、ゼロMVP候補(S1640)の順にアフィンMVP候補リストに候補が追加できる。上述したように、ステップS1620~ステップS1640は、各ステップでアフィンMVP候補リストに含まれた候補の数が2未満であるか否かに応じて行われることができる。
【0197】
継承アフィンMVP候補のスキャン順序は、継承アフィンマージ候補のスキャン順序と同じであり得る。ただし、継承アフィンMVP候補の場合、現在ブロックの参照ピクチャと同じ参照ピクチャを参照する周辺ブロックのみが考慮できる。継承アフィンMVP候補をアフィンMVP候補リストに追加するとき、冗長性チェックは行われないことができる。
【0198】
組み合わせアフィンMVP候補を誘導するために、
図15に示された空間周辺ブロックのみが考慮できる。また、組み合わせアフィンMVP候補のスキャン順序は、組み合わせアフィンマージ候補のスキャン順序と同じであり得る。さらに、組み合わせアフィンMVP候補を誘導するために、周辺ブロックの参照ピクチャインデックスがチェックされ、前記スキャン順序上、インターコードされ且つ現在ブロックの参照ピクチャと同じ参照ピクチャを参照する一番目の周辺ブロックが利用できる。
【0199】
以下、インター予測モードの一例であるサブブロックベースのTMVPモードについて詳細に説明する。サブブロックベースのTMVPモードによれば、現在ブロックに対する動きベクトルフィールド(Motion Vector Field:MVF)が誘導されるので、サブブロック単位で動きベクトルが誘導されることができる。
【0200】
従来のTMVPモードがコーディングユニット単位で行われるのとは異なり、サブブロックベースのTMVPモードが適用されるコーディングユニットは、サブコーディングユニット単位で動きベクトルに対する符号化/復号化が行われることができる。また、従来のTMVPモードによれば、コロケートブロック(collocated block)から時間動きベクトルが誘導されるのに対し、サブブロックベースのTMVPモードは、現在ブロックの周辺ブロックから誘導された動きベクトルが指示する参照ブロックから動きベクトルフィールドが誘導されることができる。以下、周辺ブロックから誘導された動きベクトルを現在ブロックの動きシフト(motion shift)或いは代表動きベクトルと呼ぶことができる。
【0201】
図17はサブブロックベースのTMVPモードの周辺ブロックを説明するための図である。
【0202】
現在ブロックに対してサブブロックベースのTMVPモードが適用される場合、動きシフトを決定するための周辺ブロックが決定できる。一例として、動きシフトを決定するための周辺ブロックに対するスキャンは、
図17のA1、B1、B0、A0ブロックの順に行われることができる。他の例として、動きシフトを決定するための周辺ブロックは、現在ブロックの特定の周辺ブロックに制限できる。例えば、動きシフトを決定するための周辺ブロックは、常にA1ブロックと決定できる。周辺ブロックがcolピクチャを参照する動きベクトルを有する場合、当該動きベクトルが動きシフトとして決定できる。動きシフトとして決定された動きベクトルは、時間動きベクトルと呼ばれることもできる。一方、周辺ブロックから上述の動きベクトルが誘導できない場合、動きシフトは(0,0)に設定できる。
【0203】
図18はサブブロックベースのTMVPモードに従って動きベクトルフィールドを誘導する方法を説明するための図である。
【0204】
次に、動きシフトが指示するコロケートピクチャ上の参照ブロックが決定できる。例えば、現在ブロックの座標に動きシフトを加算することにより、colピクチャからサブブロックベースの動き情報(動きベクトル、参照ピクチャインデックス)を取得することができる。
図18に示されている例において、動きシフトは、A1ブロックの動きベクトルであると仮定する。現在ブロックに動きシフトを適用することにより、現在ブロックを構成する各サブブロックに対応するcolピクチャ内のサブブロック(colサブブロック)を特定することができる。その後、colピクチャの対応サブブロック(colサブブロック)の動き情報を用いて、現在ブロックの各サブブロックの動き情報が誘導できる。例えば、対応サブブロックの中央位置から対応サブブロックの動き情報が取得できる。このとき、中央位置は、対応サブブロックの中央に位置する4つのサンプルのうち、右下側サンプルの位置であり得る。もし、現在ブロックに対応するcolブロックの特定のサブブロックの動き情報が利用可能でない場合、colブロックの中心サブブロックの動き情報が当該サブブロックの動き情報として決定されることができる。対応サブブロックの動き情報が誘導されると、上述したTMVP過程と同様に、現在サブブロックの動きベクトルと参照ピクチャインデックスに切り替えられることができる。すなわち、サブブロックベースの動きベクトルが誘導される場合、参照ブロックの参照ピクチャのPOCを考慮して動きベクトルのスケーリングが行われることができる。
【0205】
上述したように、サブブロックに基づいて誘導された現在ブロックの動きベクトルフィールド又は動き情報を用いて現在ブロックに対するサブブロックベースのTMVP候補が誘導できる。
【0206】
以下、サブブロック単位で構成されるマージ候補リストをサブブロック単位マージ候補リストと定義する。上述したアフィンマージ候補及びサブブロックベースのTMVP候補が併合されてサブブロック単位マージ候補リストが構成できる。
【0207】
一方、現在ブロックに対してサブブロックベースのTMVPモードが適用できるか否かを指示するサブブロックベースのTMVPモードフラグが定義できる。これは、シーケンス、ピクチャ、スライス、タイル、タイルグループ、ブリックなど、現在ブロックの上位レベルのうちの少なくとも一つのレベルでシグナリングできる。例えば、サブブロックベースのTMVPモードフラグは、sps_sbtmvp_enabled_flagと命名できる。現在ブロックに対してサブブロックベースのTMVPモードが適用可能である場合、サブブロック単位マージ候補リストにサブブロックベースのTMVP候補が先に追加できる。以後、アフィンマージ候補がサブブロック単位マージ候補リストに追加できる。一方、サブブロック単位マージ候補リストに含まれ得る最大候補の数がシグナリングされることができる。一例として、サブブロック単位マージ候補リストに含まれ得る最大候補の数は5であり得る。
【0208】
サブブロック単位マージ候補リストの誘導に使用されるサブブロックのサイズは、シグナリングされるか、或いはM×Nに既に設定されることができる。例えば、M×Nは8×8であり得る。よって、現在ブロックのサイズが8×8以上である場合にのみ、現在ブロックに対してアフィンモード又はサブブロックベースのTMVPモードが適用できる。
【0209】
以下、本開示の予測実行方法の一実施例について説明する。以下の予測実行方法は、
図5のステップS510又は
図7のステップS730で行われることができる。
【0210】
予測モードに従って導出された動き情報に基づいて、現在ブロックに対する予測されたブロックを生成することができる。前記予測されたブロック(予測ブロック)は前記現在ブロックの予測サンプル(予測サンプルアレイ)を含むことができる。現在ブロックの動きベクトルが分数サンプル(fractional sample)単位を指す場合、補間(interpolation)手順が行われることができ、これにより参照ピクチャ内で分数サンプル単位の参照サンプルに基づいて前記現在ブロックの予測サンプルが導出されることができる。現在ブロックにアフィンインター予測が適用される場合、サンプル/サブブロック単位MVに基づいて予測サンプルを生成することができる。双予測(bi-prediction)が適用される場合、L0予測(すなわち、参照ピクチャリストL0内の参照ピクチャとMVL0を用いた予測)に基づいて導出された予測サンプルと、L1予測(すなわち、参照ピクチャリストL1内の参照ピクチャとMVL1を用いた予測)に基づいて導出された予測サンプルの(位相による)加重和又は加重平均によって導出された予測サンプルが現在ブロックの予測サンプルとして用いられることができる。双予測が適用される場合、L0予測に用いられた参照ピクチャとL1予測に用いられた参照ピクチャが現在ピクチャを基準に互いに異なる時間方向に位置する場合(すなわち、双予測でありながら双方向予測に該当する場合)、これをtrue双予測と呼ぶことができる。
【0211】
画像復号化装置において、導出された予測サンプルに基づいて復元サンプル及び復元ピクチャが生成でき、その後、インループフィルタリングなどの手順が行われることができる。また、画像符号化装置において、導出された予測サンプルに基づいてレジデュアルサンプルが導出され、予測情報及びレジデュアル情報を含む画像情報の符号化が行われることができる。
【0212】
上述したように現在ブロックに双予測が適用される場合、加重平均(weightedaverage)に基づいて予測サンプルを導出することができる。この場合、加重平均を行うための重みは、CUレベルで誘導される重みインデックスに基づいて決定できる。従来は、双予測信号(すなわち、双予測サンプル)はL0予測信号(L0予測サンプル)とL1予測信号(L1予測サンプル)の単純平均を介して導出できた。すなわち、双予測サンプルは、L0参照ピクチャ及びMVL0に基づくL0予測サンプルと、L1参照ピクチャ及びMVL1に基づくL1予測サンプルとの平均によって導出された。しかし、本開示によれば、双予測が適用される場合、数式3のようにL0予測信号とL1予測信号の加重平均を介して双予測信号(双予測サンプル)を導出することができる。このような双予測は、CUレベルの重みを用いた双方向予測(Bi-prediction with CU-level weight、BCW)と呼ぶことができる。
【0213】
【0214】
前記数式3において、Pbi-predは、加重平均によって導出された双予測信号(双予測ブロック)を示し、P0とP1は、それぞれL0予測サンプル(L0予測ブロック)とL1予測サンプル(L1予測ブロック)を示す。また、(8-w)とwは、それぞれP0とP1に適用される重みを示す。
【0215】
加重平均による双予測信号の生成において、5つの重みが許容できる。例えば、重みwは{-2,3,4,5,10}から選択できる。双予測されたCUのそれぞれに対して、重みwは、2つの方法のうちの一つで決定できる。これらの2つの方法のうちの第1方法として、現在CUがマージモードでない場合(non-merge CU)、動きベクトル差分と共に重みインデックス(weight index)がシグナリングされることができる。例えば、ビットストリームは、動きベクトル差分に関する情報の後に重みインデックスに関する情報を含むことができる。これらの2つの方法のうちの第2方法として、現在CUがマージモードである場合(merge CU)、重みインデックスはマージ候補インデックス(マージインデックス)に基づいて周辺ブロックから誘導できる。
【0216】
加重平均による双予測信号の生成は、256個以上のサンプル(ルマ成分サンプル)を含むサイズのCUに対してのみ適用されるように制限できる。すなわち、現在ブロックの幅(width)と高さ(height)の積が256以上であるCUに対してのみ加重平均による双予測が行われることができる。また、重みwは、上述したように5つの重みのうちの一つが使用されてもよく、異なる個数の重みのうちの一つが使用されてもよい。例えば、現在画像の特性に応じて、low-delay pictureに対しては5つの重みが使用され、non-low-delay pictureに対しては3つの重みが使用されることができる。このとき、3つの重みは{3,4,5}であり得る。
【0217】
画像符号化装置は、fast search algorithmを適用して複雑度を大幅に増加させることなく重みインデックスを決定することができる。この場合、前記fast search algorithmは、次のように要約できる。以下において、不均等重み(unequal weight)とは、P0とP1に適用される重みが均等でないことを意味することができる。また、均等重み(equal weight)とは、P0とP1に適用される重みが均等であることを意味することができる。
【0218】
-動きベクトルの解像度が適応的に変更されるAMVRモードが一緒に適用される場合、現在ピクチャがlow-delay pictureであれば、1-pel動きベクトル解像度と4-pel動きベクトル解像度のそれぞれに対して不均等重みのみが条件的にチェックできる。
【0219】
-アフィンモードが一緒に適用され、アフィンモードが現在ブロックの最適のモードとして選択された場合、画像符号化装置は、不均等重みのそれぞれに対してaffine ME(motion estimation)を行うことができる。
【0220】
-双予測に使用される2つの参照ピクチャが同一である場合、不均等重みのみが条件的にチェックできる。
【0221】
-不均等重みは、所定の条件が満たされた場合、チェックされないことができる。前記所定の条件は、現在ピクチャと参照ピクチャとのPOC距離(POC distance)、量子化パラメータ(QP)、時間レベル(temporal level)などに基づく条件であり得る。
【0222】
BCWの重みインデックスは、一つのコンテキスト符号化ビン(bin)と後続する一つ以上のバイパス符号化ビン(bypass coded bins)を用いて符号化できる。一番目のコンテキスト符号化ビンは、均等重み(equal weight)が使用されるか否かを指示する。不均等重みが使用される場合、追加ビンがバイパス符号化されてシグナリングされることができる。追加ビンは、どの重みが使用されるかを指示するためにシグナリングされることができる。
【0223】
加重予測(weighted prediction、WP)は、フェージング(fading)を含む画像を効率よく符号化するためのツールである。加重予測によれば、参照ピクチャリストL0とL1のそれぞれに含まれた各参照ピクチャに対して重み付けパラメータ(重み及びオフセット)がシグナリングされることができる。次に、動き補償が行われるとき、重み(ら)及びオフセット(ら)が、対応する参照画像(ら)に適用され得る。荷重予測とBCWは、互いに異なるタイプの画像に対して使用できる。加重予測とBCWとの間の相互作用を避けるために、加重予測を使用するCUに対しては、BCW重みインデックスはシグナリングされないことができる。この場合、重みは4と推論できる。すなわち、均等重みが適用できる。
【0224】
マージモードが適用されたCUの場合、重みインデックスは、マージ候補インデックスに基づいて周辺ブロックから推論できる。これは、通常のマージモードと継承アフィンマージモードの両方に対して適用できる。
【0225】
組み合わせアフィンマージモードの場合、最大3つのブロックの動き情報に基づいてアフィン動き情報が構成できる。この場合、組み合わせアフィンマージモードを使用するCUに対するBCW重みインデックスを誘導するために、次の過程が行われることができる。
【0226】
(1)まず、BCW重みインデックス{0,1,2,3,4}の範囲を3つのグループ{0}、{1,2,3}及び{4}に分割することができる。もしすべてのCPのBCW重みインデックスが同じグループから導出される場合、BCW重みインデックスは、以下のステップ(2)によって誘導できる。そうでなければ、BCW重みインデックスは2に設定できる。
【0227】
(2)少なくとも二つのCPが同じBCW重みインデックスを有する場合、前記同じBCW重みインデックスが組み合わせアフィンマージ候補の重みインデックスとして割り当てられることができる。そうでなければ、組み合わせアフィンマージ候補の重みインデックスは2に設定できる。
【0228】
以下で説明する本開示による発明は、加重平均ベースの双方向予測に関連し、具体的には、マージモードのための時間候補又はサブブロックマージモードの時間候補を構成するとき、BCW重みインデックスを誘導する方法を含む。また、本開示によれば、pair-wise(マージ)候補を導出するとき、BCW重みインデックスを誘導する方法が提供される。以下において、BCW重みインデックスは、簡略に重みインデックスと呼ばれることがある。また、本開示によれば、組み合わせアフィンマージ候補の重みインデックスを誘導する様々な実施例が提供される。本開示に含まれた様々な実施例は、それぞれが単独で使用されてもよく、2つ以上の実施例が組み合わせられて使用されてもよい。
【0229】
本開示の一実施例によれば、サブブロック単位のマージモードのためのマージ候補を誘導する際に、組み合わせアフィンマージ候補に対する重みインデックスを効率よく誘導することにより、符号化効率を向上させることができる。
【0230】
図15を参照して説明したように、k番目のCPに対する代表動きベクトルCPMVk(kは1~4の整数)が導出できる。すなわち、CPMV1は一番目のCP(左上側CP、CP0)を代表する動きベクトルであり、CPMV2は二番目のCP(右上側CP、CP1)を代表する動きベクトルであり、CPMV3は三番目のCP(左下側CP、CP2)を代表する動きベクトルであり、CPMV4は四番目のCP(右下側CP、RB又はCP3)を代表する動きベクトルであり得る。組み合わせアフィンマージ候補を誘導するためのCPの組み合わせは、{CP0,CP1,CP2}、{CP0,CP1,CP3}、{CP0,CP2,CP3}、{CP1,CP2,CP3}、{CP0,CP1}及び{CP0,CP2}を含み、前記組み合わせの順序で組み合わせアフィンマージ候補が誘導できる。
【0231】
本実施例の一例によれば、組み合わせアフィンマージ候補に対する重みインデックスは、組み合わせ内のCPのうちの所定のCPを誘導するのに用いられたブロックの重みインデックスに誘導できる。例えば、前記所定のCPが一番目のCP又はCP0である場合、組み合わせアフィンマージ候補に対する重みインデックスは、一番目のCP又はCP0の候補ブロックのうち、CPMV1を誘導するのに用いられたブロックの重みインデックスに誘導されることができる。例えば、
図15において、B2、B3及びA2のうちのB2の動きベクトルがCPMV1であると決定される場合、組み合わせアフィンマージ候補に対する重みインデックスは、B2の重みインデックスに誘導されることができる。しかし、これは例示に過ぎず、前記所定のCPは、組み合わせ内の二番目のCP又は三番目のCPであってもよく、CP0、CP1、CP2及びRBのうちの一つのCPであってもよい。例えば、前記所定のCPがCP1である場合、組み合わせアフィンマージ候補に対する重みインデックスは、CPMV2を誘導するのに用いられたブロックの重みインデックスに誘導されることができる。例えば、
図15において、B1及びB0のうちのB0の動きベクトルがCPMV2であると決定される場合、組み合わせアフィンマージ候補に対する重みインデックスは、B0の重みインデックスに誘導されることができる。
【0232】
本実施例の他の例によれば、各CPの重みインデックスのうち、デフォルトインデックスではない重みインデックスを組み合わせアフィンマージ候補に対する重みインデックスとして利用することができる。例えば、組み合わせアフィンマージ候補を誘導するためのCPの組み合わせが{CP0,CP1,CP2}であり、CP0とCP2の重みインデックスがデフォルトインデックスであり、CP1の重みインデックスがデフォルトインデックスではない場合、組み合わせアフィンマージ候補の重みインデックスは、CP1の重みインデックスに誘導されることができる。
【0233】
本実施例の別の例によれば、重みインデックスの発生頻度に基づいて、組み合わせアフィンマージ候補に対する重みインデックスを決定することができる。例えば、特定のCP(例えば、CP0)の候補ブロックの重みインデックスのうち、発生頻度の高い重みインデックスを活用して組み合わせアフィンマージ候補に対する重みインデックスを誘導することができる。又は、組み合わせアフィンマージ候補を構成するCPの重みインデックスのうち、発生頻度の高い重みインデックスを活用することもできる。例えば、{CP0,CP2,CP3(RB)}の組み合わせである場合、CP2及びRBの重みインデックスが同一であるとき、組み合わせアフィンマージ候補に対する重みインデックスは、発生頻度の最も高いCP2及びRBの重みインデックスに誘導されることができる。このとき、RBの重みインデックスは、本開示による時間候補に対する重みインデックスの誘導方法に基づいて誘導されることができる。
【0234】
以下、
図19~
図22を参照して、本開示の他の実施例による組み合わせアフィン候補誘発方法を詳細に説明する。
【0235】
本実施例による組み合わせアフィンマージ候補誘導方法は、現在ブロックの各CP(CP0~CP3)についての情報を誘導するステップと、誘導された各CPの情報を用いて各組み合わせに対する組み合わせアフィンマージ候補を誘導するステップとで構成されることができる。
【0236】
図19は本開示の他の実施例によって、組み合わせアフィンマージ候補を誘導する方法を説明するための図である。
図19の誘導方法は、組み合わせアフィンマージ候補に対する重みインデックスを誘導する方法を含む。
【0237】
図19に示すように、画像符号化装置又は画像復号化装置は、組み合わせアフィンマージ候補を誘導するために、まず、現在ブロックの各CPに対する情報を誘導することができる(S1910)。現在ブロックの各CPは、上述したCP0、CP1、CP2及びCP3(RB)を含むことができる。CPn(nは0~3の整数)に対する情報は、参照ピクチャインデックス(refIdxLXCorner[n])、予測方向情報(predFlagLXCorner[n])、動きベクトル(cpMvLXCorner[n])、CPnの利用可否(availableFlagCorn])及びCPnの重みインデックス(bcwIdxCorner[n])のうちの少なくとも一つを含むことができる。
【0238】
本実施例によれば、組み合わせアフィンマージ候補に対する重みインデックスは、各組み合わせ内の一番目のCPの重みインデックスに誘導されることができる。上述したように、組み合わせアフィンマージ候補を誘導するための組み合わせは、{CP0,CP1,CP2}、{CP0,CP1,CP3}、{CP0,CP2,CP3}、{CP1,CP2,CP3}、{CP0,CP1}、{CP0,CP2}のうちのいずれか一つであり得る。上述したように、各組み合わせ内の一番目のCPはCP0又はCP1である。よって、上述したCPnに対する情報のうち、CPnの重みインデックスは、CP0及びCP1に対してのみ誘導できる。すなわち、CP2及びCP3に対しては、CPnの重みインデックスの誘導過程が省略できる。なぜなら、CP2又はCP3の重みインデックスを誘導しても、これらの重みインデックスが組み合わせアフィンマージ候補に対する重みインデックスとして活用されないからである。
【0239】
ステップS1910で各CPに対する情報が誘導されると、画像符号化装置又は画像復号化装置は、各CPに対する情報に基づいて組み合わせアフィンマージ候補を誘導することができる(S1920)。ステップS1920は、組み合わせアフィンマージ候補を誘導するための前記組み合わせのそれぞれに対して行われることができる。このとき、画像符号化装置又は画像復号化装置は、6-パラメータモデルが使用できるか否かを示す情報に基づいてステップS1920を行うことができる。例えば、6-パラメータモデルが使用できる場合、前記3つのCPを含む組み合わせ及び前記2つのCPを含む組み合わせの全てに対してステップS1920が行われることができる。そうでなく、6-パラメータモデルが使用できない場合、前記2つのCPを含む組み合わせに対してのみステップS1920が行われることができる。6-パラメータモデルは、3つのCPを参照するモデルであるので、6-パラメータモデルが使用できない場合、3つのCPを含む組み合わせに対する組み合わせアフィンマージ候補を構成する必要がないからである。6-パラメータモデルが使用できるかを示す情報は、ビットストリームを介してシグナリングできる。例えば、ブロックの上位レベルであるシーケンスパラメータセットに含まれてシグナリングされることができる。
【0240】
図20は
図19の実施例によって現在ブロックのCPに対する情報を誘導する方法を説明するためのフローチャートである。
【0241】
現在ブロックのCPは、上述したCP0、CP1、CP2及びCP3(RB)を含むことができる。
図20の方法は、現在ブロックのCPのそれぞれに対して実行できる。その実行順序は、CP0、CP1、CP2及びCP3の順序であり得る。しかし、これに限定されず、異なる順序で行われてもよく、CPの一部又は全部に対して同時に行われてもよい。
【0242】
まず、ステップS2010で、現在CPに対する候補ブロックが識別できる。各CPに対する候補ブロックは、
図15を参照して説明したとおりである。例えば、CP0の候補ブロックはB2、B3及びA2であり、CP1の候補ブロックはB1及びB0であり、CP2の候補ブロックはA1及びA0であり、CP3の候補ブロックはTであり得る。各CPに対して
図20の方法が行われる場合、上述した順序(スキャン順序)に従って候補ブロックがチェックできる。したがって、候補ブロックが複数である場合、一番目の候補ブロックが先に識別できる。例えば、CP0に対する一番目の候補ブロックであるB2が先に識別できる。
【0243】
現在CPに対する候補ブロックが識別されると、ステップS2020で、識別された候補ブロックが利用可能である否かがチェックできる。候補ブロックが利用可能であるか否かは、前記候補ブロックが現在ピクチャ内に存在するか否か、前記候補ブロックと現在ブロックが同じスライス又は同じタイル内にあるか否か、前記候補ブロックの予測モードと現在ブロックの予測モードとが同一であるか否かなどに基づいて判断できる。例えば、候補ブロックが現在ピクチャの外に存在するか、候補ブロックと現在ブロックが相異なるスライス又は相異なるタイル内に存在するか、或いは候補ブロックの予測モードが現在ブロックの予測モードと異なる場合、当該候補ブロックは利用可能でないと判断できる。
【0244】
識別された候補ブロックが利用可能でない場合(S2020-No)、現在CPに対する次の候補ブロックが存在するか否かが判断できる(S2030)。例えば、現在CPがCP0であり、識別された候補ブロックがB2であるとき、上述した順序による次の候補ブロックB3が存在するので、ステップS2030で、次の候補ブロックが存在すると判断できる。例えば、現在CPがCP0であり、識別された候補ブロックがA2である場合、上述した順序による次の候補ブロックが存在しないので、ステップS2030で、次の候補ブロックが存在しないと判断できる。
【0245】
現在CPに対する次の候補ブロックが存在する場合(S2030-Yes)、次の候補ブロックに対してステップS2010~S2020が行われることができる。現在CPに対する次の候補ブロックが存在しない場合(S2030-No)、現在CPの利用可否(availableFlagCorner)は、「利用不可」に設定されることができる(S2060)。
【0246】
識別された候補ブロックが利用可能である場合(S2020-Yes)、利用可能な候補ブロックの情報に基づいて現在CPに対する情報が誘導できる(S2040)。例えば、利用可能な候補ブロックの参照ピクチャインデックス、予測方向情報、動きベクトル及び重みインデックスを現在CPに対する情報として活用することができる。このとき、上述したように、現在CPがCP0又はCP1である場合にのみ、利用可能な候補ブロックの重みインデックスを現在CPの重みインデックスとして活用することができる。また、識別された候補ブロックが利用可能である場合、現在CPの利用可否(availableFlagCorner)は、「利用可能」に設定されることができる(S2050)。
【0247】
現在ブロックの各CPに対する情報が誘導されると、これらの情報に基づいて組み合わせアフィンマージ候補が誘導できる。
【0248】
図21は
図19の実施例によって各CPに対する情報に基づいて組み合わせアフィンマージ候補を誘導する方法を示す図である。
【0249】
図21の方法は、組み合わせアフィンマージ候補を誘導するための組み合わせ{CP0,CP1,CP2}、{CP0,CP1,CP3}、{CP0,CP2,CP3}、{CP1,CP2,CP3}、{CP0,CP1}、{CP0,CP2}のそれぞれに対して実行できる。その実行順序は、例えば、上記に羅列された順序であり得る。さらに、上述したように、6-パラメータモデルの利用可否に応じて、前記組み合わせのうちの一部に対してのみ
図21の方法が行われることもできる。
【0250】
まず、ステップS2110で、組み合わせアフィンマージ候補を誘導するための現在組み合わせ内のCPが識別できる。その後、ステップS2120で、現在組み合わせ内のCPに対する利用可否が判断できる。ステップS2120は、組み合わせ内の各CPに対する利用可否情報(availableFlagCorner)に基づいて行われることができる。例えば、現在組み合わせが{CP0,CP1,CP2}である場合、availableFlagCorner[0]、availableFlagCorner[1]、及びavailableFlagCorner[2]に基づいてステップS2120が行われることができる。現在組み合わせ内のCPがいずれも利用可能である場合(S2120-Yes)、予測方向(L0方向及びL1方向)別にステップS2130乃至S2150が行われることができる。そうでなければ(S2120-No)、現在組み合わせに対しては組み合わせアフィンマージ候補を誘導することができないので、
図21の方法を終了する。
【0251】
組み合わせ内の全てのCPが利用可能である場合(S2120-Yes)、ステップS2130で、L0予測方向及びL1予測方向のそれぞれに対する利用可否(availableFlagL0及びavailableFlagL1)が誘導されることができる。たとえば、現在組み合わせが{CP0,CP1,CP2}である場合、予測方向LX(Xは0又は1)に対して、CP0、CP1及びCP2の予測方向情報(predFlagLXCorner[n])がいずれも1であり、CP0、CP1及びCP2の参照ピクチャインデックス(refIdxLXCorner[n])がいずれも同一である場合、予測方向LXに対する利用可否は「利用可能」に誘導され、そうでない場合、「利用不可」に誘導されることができる。
【0252】
その後、ステップS2140で、予測方向LXに対する利用可否が判断され、「利用可能」である場合(S2140-Yes)には、ステップS2150に進むことができる。ステップS2150で、予測方向LXに対してCPの情報に基づいて組み合わせアフィンマージ候補を誘導することができる。例えば、入力された組み合わせが{CP0,CP1,CP2}である場合、利用可能な予測方向LX(Xは0又は1)に対して、CP0の参照ピクチャインデックス(refIdxLXCorner[0])、CP0の動きベクトル(cpMvLXCorner[0])、CP1の動きベクトル(cpMvLXCorner[1])及びCP2の動きベクトル(cpMvLXCorner[2])を、当該組み合わせアフィンマージ候補の参照ピクチャインデックス(refIdxLXConst1)、CPMV1、CPMV2及びCPMV3にそれぞれ割り当てることができる。予測方向LXに対する利用可否が「利用不可」である場合(S2140-No)、ステップS2150はスキップされ、ステップS2160に進むことができる。
【0253】
その後、ステップS2160で組み合わせアフィンマージ候補の重みインデックスが誘導されることができる。ステップS2160は、予測方向LXに対する利用可否に基づいて行われることができる。例えば、L0とL1の双方向がいずれも利用可能である場合、組み合わせアフィンマージ候補の重みインデックスは、組み合わせ内の一番目のCPの重みインデックスに誘導されることができる。例えば、現在組み合わせが{CP0,CP1,CP2}である場合、CP0の重みインデックスが組み合わせアフィンマージ候補の重みインデックスとして活用できる。もし、L0又はL1が利用可能でない場合、組み合わせアフィンマージ候補の重みインデックスは所定のインデックスに誘導できる。前記所定のインデックスは、デフォルトインデックスであることができ、例えば、均等重みを指示するインデックスであってもよい。
【0254】
その後、ステップS2170で、現在組み合わせに対する利用可否及び/又は動きモデルなどが誘導されることができる。ステップS2170は、予測方向LXに対する利用可否及び/又は組み合わせ内のCPの数に基づいて行われることができる。例えば、L0又はL1が利用可能である場合、現在組み合わせに対する利用可否は「利用可能」に誘導されることができる。このとき、現在組み合わせ内のCPの数が3つである場合には、現在組み合わせの動きモデルは6-パラメータアフィンモデルに誘導されることができる。現在組み合わせ内のCPの数が2つである場合には、現在組み合わせの動きモデルは4-パラメータアフィンモデルに誘導されることができる。
【0255】
そうでない場合(L0とL1はいずれも利用不可である場合)、現在組み合わせに対する利用可否は「利用不可」に誘導されることができる。また、現在組み合わせの動きモデルは、従来のTranslational動きモデルに誘導されることができる。
【0256】
図22は
図21の実施例によって組み合わせアフィンマージ候補の重みインデックスを誘導する方法を例示的に示す図である。
【0257】
上述したように、組み合わせアフィンマージ候補の重みインデックスは、予測方向LXに対する利用可否に基づいて誘導されることができる。このために、ステップS2130で誘導された予測方向別の利用可否情報が入力されることができる(S2210)。
【0258】
その後、ステップS2220で、L0とL1の双方向がいずれも利用可能であるか否かが判断されることができる。L0とL1の双方向がいずれも利用可能である場合(S2220-Yes)、組み合わせアフィンマージ候補の重みインデックスは、組み合わせ内の一番目のCPの重みインデックスに誘導されることができる(S2230)。例えば、入力された組み合わせが{CP0,CP1,CP2}である場合、CP0の重みインデックスが組み合わせアフィンマージ候補の重みインデックスとして活用できる。例えば、入力された組み合わせが{CP1,CP2,CP3}である場合、CP1の重みインデックスが組み合わせアフィンマージ候補の重みインデックスとして活用できる。
【0259】
もしL0又はL1が利用可能でない場合(S2220-No)、組み合わせアフィンマージ候補の重みインデックスは、上述したように、所定のインデックスに誘導されることができる(S2240)。前記所定のインデックスは、デフォルトインデックスであることができ、例えば、均等重みを指示するインデックスであってもよい。
【0260】
図19乃至
図22を参照して説明した実施例によれば、L0とL1の双方向がいずれも利用可能であるか否かに基づいて、組み合わせ内の一番目のCPの重みインデックス又はデフォルトインデックスを組み合わせアフィンマージ候補の重みインデックスとして設定する。本実施例の他の例によれば、L0とL1の利用可否に関係なく、組み合わせ内の一番目のCPの重みインデックスを組み合わせアフィンマージ候補の重みインデックスとして設定することもできる。又は、組み合わせ内の所定の位置のCPの重みインデックスを活用することもできる。これによれば、L0とL1の利用可否を判断する過程を省略することができるので、計算複雑度が低くなり、迅速な処理が可能となる効果を期待することができる。
【0261】
以下、
図23を参照して、本開示の別の実施例による組み合わせアフィンマージ候補に対する重みインデックス誘導方法について説明する。
【0262】
本実施例によれば、組み合わせアフィンマージ候補に対する重みインデックスは、各CPの重みインデックス及び/又は重みインデックスグループに基づいて誘導されることができる。各CPの重みインデックスに基づいて5個の既に定義された重みセット(例えば、{-2,3,4,5,10})から重みWが選択されることができる。このとき、重みインデックスは、0~4の値を有することができ、3つのグループに分類されることができる。例えば、重みインデックスは、{0}、{1,2,3}及び{4}の3つのグループに分類されることができる。このとき、各重みインデックスの属するグループを指示する重みインデックスグループは0~2の値を有することができる。重みインデックスを3つのグループに分類することにより、各インデックスが指示する重みのペアも3つのグループに分類されることができる。例えば、重みのペアは、{(-1/4,5/4)}、{(1/4,3/4)、(2/4,2/4)、(3/4,1/4)}及び{(5/4,-1/4)}の3つのグループに分類されることができる。
【0263】
図23は本開示による組み合わせアフィンマージ候補に対する重みインデックス誘導方法の一例を説明するためのフローチャートである。
【0264】
図23において、bcwIdxCorner0、bcwIdxCorner1、及びbcwIdxCorner2は、それぞれ組み合わせ内の一番目のCPの重みインデックス、組み合わせ内の二番目のCPの重みインデックス、及び組み合わせ内の三番目のCPの重みインデックスを示す。また、bcwIdxGroup0、bcwIdxGroup1、及びbcwIdxGroup2は、それぞれ組み合わせ内の一番目のCPの重みインデックスグループ、組み合わせ内の二番目のCPの重みインデックスグループ、及び組み合わせ内の三番目のCPの重みインデックスグループを示す。また、bcwIdxConstは、組み合わせアフィンマージ候補の重みインデックスを示す。
【0265】
図23に示すように、ステップS2310で、bcwIdxCorner0とbcwIdxCorner1とが同じであるか否か、及びbcwIdxGroup0とbcwIdxGroup2とが同じであるか否かをチェックすることができる。もし両者がいずれも同じである場合(S2310-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2320)。
【0266】
そうでない場合(S2310-No)、ステップS2330で、bcwIdxCorner0とbcwIdxCorner2とが同じであるか否か、及びbcwIdxGroup0とbcwIdxGroup1とが同じであるか否かをチェックすることができる。もし両者がいずれも同じである場合(S2330-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2320)。
【0267】
そうでない場合(S2330-No)、ステップS2340で、bcwIdxCorner1とbcwIdxCorner2とが同じであるか否か、及びbcwIdxGroup1とbcwIdxGroup0とが同じであるか否かをチェックすることができる。もし両者がいずれも同じである場合(S2340-Yes)、bcwIdxConstはbcwIdxCorner2に誘導されることができる(S2350)。
【0268】
そうでない場合(S2340-No)、bcwIdxConstはデフォルトインデックスに誘導されることができる(S2360)。デフォルトインデックスは、例えば、均等重みを指示するインデックスであってもよい。
【0269】
図23に示されている例によれば、3つのCPが用いられる場合、最大6回の比較動作によって組み合わせアフィンマージ候補に対する重みインデックスが誘導されることができる。
【0270】
図23に示されている方法は、次のように単純化するこができる。上述したように、時間候補に対する重みインデックスはデフォルトインデックスに誘導され、時間候補は各組み合わせの最後のCPとして含まれる。よって、
図23に示されている方法において、bcwIdxCorner2に対する比較を省略することができる。
【0271】
この場合、ステップS2330は、bcwIdxGroup0とbcwIdxGroup1とが同じであるか否かをチェックすることにより行われ得る。また、ステップS2340は、bcwIdxGroup0とbcwIdxGroup1とが同じであるか否かをチェックすることにより行われ得る。この場合、ステップS2330とステップS2340は、実質的に同じ条件をチェックするので、一つのステップに併合可能である。
【0272】
図24は本開示によってbcwIdxCorner2に対する比較を省略した方法を示すフローチャートである。
【0273】
図24に示すように、ステップS2410で、bcwIdxCorner0とbcwIdxCorner1とが同じであるか否か、及びbcwIdxGroup0とbcwIdxGroup2とが同じであるか否かをチェックすることができる。もし両者がいずれも同じである場合(S2410-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2420)。
【0274】
そうでない場合(S2410-No)、bcwIdxGroup0とbcwIdxGroup1とが同じであるか否かをチェックすることができる(S2430)。もし同じである場合(S2430-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2420)。
【0275】
そうでない場合(S2430-No)、bcwIdxConstはデフォルトインデックスに誘導されることができる(S2440)。
【0276】
図23に示されている方法は、次のように単純化することができる。例えば、non-low-delay pictureのように3つの重みが使用され、3つの重みが1つのグループに属することができる。この場合、
図23に示されている方法において、重みインデックスグループに対する比較を省略することができる。
【0277】
図25は本開示によって重みインデックスグループに対する比較を省略した方法を示すフローチャートである。
【0278】
図25に示すように、ステップS2510で、bcwIdxCorner0とbcwIdxCorner1とが同じであるか否かをチェックすることができる。もし同じである場合(S2510-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2520)。
【0279】
そうでない場合(S2510-No)、bcwIdxCorner0とbcwIdxCorner2とが同じであるか否かをチェックすることができる(S2530)。もし同じである場合(S2530-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2520)。
【0280】
そうでない場合(S2530-No)、bcwIdxCorner1とbcwIdxCorner2とが同じであるか否かをチェックすることができる(S2540)。もし同じである場合(S2540-Yes)、bcwIdxConstはbcwIdxCorner2に誘導されることができる(S2550)。
【0281】
そうでない場合(S2540-No)、bcwIdxConstはデフォルトインデックスに誘導されることができる(S2560)。
【0282】
図23に示されている方法は、次のようにより単純化することができる。例えば、
図23に示されている方法において、bcwIdxCorner2に対する比較と重みインデックスグループに対する比較を全て省略することができる。
【0283】
図26は本開示によってbcwIdxCorner2に対する比較と重みインデックスグループに対する比較を省略した方法を示すフローチャートである。
【0284】
図26に示すように、ステップS2610で、bcwIdxCorner0とbcwIdxCorner1とが同じであるか否かをチェックし、同じであれば(S2610-Yes)、bcwIdxConstはbcwIdxCorner0に誘導されることができる(S2620)。そうでなければ(S2610-No)、bcwIdxConstはデフォルトインデックスに誘導されることができる(S2630)。
【0285】
本実施例の別の例によれば、何らの比較も行うことなくbcwIdxConstをbcwIdxCorner0に誘導することもできる。
【0286】
本開示の別の実施例によれば、サブブロック単位のマージモードのための動きベクトル候補の構成時に、代表予測ベクトル候補が双方向予測を使用する場合の重みインデックスの誘導方法が提供できる。
図18を参照して説明したように、サブブロックベースのTMVPは、動きシフトに基づいて現在ブロックに対応するcolブロックを誘導することができる。このとき、
図18に示すように、動きシフトは、現在ブロックに空間的に隣接する左側ブロックA1から誘導されることができる。すなわち、左側ブロックの重みインデックスを信頼することができる確率が高い。したがって、これを考慮して、左側ブロックの重みインデックスを現在ブロックの重みインデックスとして使用することができる。すなわち、ATMVPで誘導された候補が双方向予測を使用する場合、左側ブロックの重みインデックスをサブブロックのマージモードのための重みインデックスとして使用することができる。又は、動きシフトがA1ブロックではなく他の周辺ブロックから誘導される場合、当該周辺ブロックの重みインデックスを現在ブロックの重みインデックスとして使用することができる。本実施例によれば、サブブロック単位のマージモードのための動きベクトル候補の構成時に、代表予測ベクトル候補に対する重みインデックスを効率よく構成することにより、複雑度を増加させず、符号化効率を向上させることができる。
【0287】
本開示の別の実施例によれば、マージモードのためのマージ候補を誘導する上で時間マージ候補が双方向予測を使用するとき、時間候補の重みインデックスを誘導することにより、符号化効率を向上させることができる。
【0288】
本実施例の一例によれば、時間マージ候補の重みインデックスは、常にデフォルトインデックス(例えば、0)に誘導されることができる。本開示において、デフォルトインデックスは、各予測方向(すなわち、双予測においてL0予測方向及びL1予測方向)に対する重みが同一であること(均等重み)を指示するインデックスであり得る。
【0289】
本実施例の他の例によれば、時間マージ候補の重みインデックスは、colブロック(collocated block)の重みインデックスに誘導されることができる。
【0290】
本開示の別の実施例によれば、サブブロック単位のマージモードのためのマージ候補を誘導する際に、時間候補が双方向予測を使用するとき、時間候補の重みインデックスを効率よく誘導することにより、符号化効率を向上させることができる。
【0291】
本実施例の一例によれば、時間候補の重みインデックスは、常にデフォルトインデックス(例えば0)に誘導されることができる。この場合、マージインデックスに基づいてサブブロックマージ候補リストから時間候補が選択された場合、現在ブロックの重みインデックスをデフォルトインデックスに設定することもできる。
【0292】
本実施例の他の例によれば、時間候補の重みインデックスは、中央ブロック(center block)の重みインデックスに誘導されることができる。前記中央ブロックは、現在ブロックの中央位置に対応する座標を含むcolピクチャ内のブロックであり得る。前記中央位置に対応する座標は、現在ブロックの左上側座標(x,y)と現在ブロックの幅(width)及び高さ(height)に基づいて誘導されることができる。例えば、前記中央位置に対応する座標は(x+width/2,y+height/2)であってもよい。
【0293】
本実施例の別の例によれば、時間候補の重みインデックスは、現在サブブロックに対応するcolサブブロックの重みインデックスに誘導されることができる。もしcolサブブロックが利用可能でないか或いはcolサブブロックの重みインデックスが利用可能でない場合、現在サブブロックの時間候補の重みインデックスは、前記中央ブロックの重みインデックスに誘導されることができる。
【0294】
本開示の別の実施例によれば、マージモードのためのマージ候補を誘導する際に、ペアワイズ(pair-wise)候補に対する重みインデックスを効率よく誘導することにより、符号化効率を向上させることができる。上述したように、ペアワイズ候補は、マージ候補リストに含まれている候補から選択された、既に定義された候補ペアに基づいて誘導されることができる。このとき、ペアワイズ候補を誘導するための候補ペアは、cand0とcand1で表すことができる。
【0295】
本実施例の一例によれば、ペアワイズ候補が双方向予測を使用するとき、ペアワイズ候補の重みインデックスはcand0の重みインデックスに誘導されることができる。又は、ペアワイズ(pair-wise)候補の重みインデックスはcand0の重みインデックスに誘導されることもでき、cand0の重みインデックスとcand1の重みインデックスのうち、デフォルトインデックス(1:1の重みを指示するインデックス)ではない重みインデックスに誘導されることもできる。
【0296】
本実施例の他の例によれば、ペアワイズ候補の重みインデックスは、下記4つの方法のうちの少なくとも一つによって誘導されることができる。
【0297】
-cand0の重みインデックス
【0298】
-cand0とcand1のうち、双方向予測された候補の重みインデックス
【0299】
-cand0とcand1とが同じ重みインデックスを有する場合には、当該重みインデックスに設定され、そうでない場合には、デフォルトインデックスに設定されることができる。
【0300】
-cand0とcand1とが同じ重みインデックスを有する場合には、当該重みインデックスに設定され、そうでない場合には、cand0の重みインデックスとcand1の重みインデックスのうち、デフォルトインデックスではない重みインデックスに設定されることができる。
【0301】
本実施例の別の例によれば、組み合わせアフィン候補に対する誘導方法との一貫性を考慮することができる。これは、複数の候補を組み合わせて生成されるという点で、ペアワイズ候補と組み合わせアフィン候補とが類似の特性を有するためである。すなわち、cand0の重みインデックスをbcwIdx0とし、cand1の重みインデックスをbcwIdx1とするとき、ペアワイズ候補の重みインデックスを誘導するために、次の2つの方法のうちの少なくとも一つが適用できる。
【0302】
-bcwIdx0とbcwIdx1とが同じであるか否かに基づいて、重みインデックスが設定できる。まず、bcwIdx0とbcwIdx1とが同じであるか否かが判断できる。両者が同じである場合、ペアワイズ候補の重みインデックスはbcwIdx0に誘導されることができる。両者が同じでない場合、ペアワイズ候補の重みインデックスはデフォルトのインデックスに誘導されることができる。
【0303】
-単純に、ペアワイズ候補の重みインデックスは、一番目の候補の重みインデックス(例えば、bcwIdx0)に設定されることができる。
【0304】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが行われる順序を制限するためのものではなく、必要な場合には、それぞれのステップが同時に又は異なる順序で行われることもできる。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、或いは一部のステップを除いて追加の他のステップを含むこともできる。
【0305】
本開示において、所定の動作(ステップ)を行う画像符号化装置又は画像復号化装置は、当該動作(ステップ)の実行条件や状況を確認する動作(ステップ)を行うことができる。例えば、所定の条件が満足される場合、所定の動作を行うと記載された場合、画像符号化装置又は画像復号化装置は、前記所定の条件が満足されるか否かを確認する動作を行った後、前記所定の動作を行うことができる。
【0306】
本開示の様々な実施例は、すべての可能な組み合わせを羅列したものではなく、本開示の代表的な態様を説明するためのものであり、様々な実施例で説明する事項は、独立して適用されてもよく、2つ以上の組み合わせで適用されてもよい。
【0307】
また、本開示の様々な実施例は、ハードウェア、ファームウェア(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)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0308】
また、本開示の実施例が適用された画像復号化装置及び画像符号化装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号又はデータ信号を処理するために使用できる。例えば、OTTビデオ(Over the top video)装置としては、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0309】
図27は本開示の実施例が適用できるコンテンツストリーミングシステムを例示する図である。
【0310】
図27に示すように、本開示の実施例が適用されたコンテンツストリーミングシステムは、大きく、符号化サーバ、ストリーミングサーバ、Webサーバ、メディアストレージ、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0311】
前記符号化サーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに伝送する役割を果たす。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、前記符号化サーバは省略できる。
【0312】
前記ビットストリームは、本開示の実施例が適用された画像符号化方法及び/又は画像符号化装置によって生成でき、前記ストリーミングサーバは、前記ビットストリームを伝送又は受信する過程で一時的に前記ビットストリームを保存することができる。
【0313】
前記ストリーミングサーバは、Webサーバを介してユーザの要求に基づいてマルチメディアデータをユーザ装置に伝送し、前記Webサーバは、ユーザにどんなサービスがあるかを知らせる媒介体の役割を果たすことができる。ユーザが前記Webサーバに所望のサービスを要求すると、前記Webサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを伝送することができる。この時、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たすことができる。
【0314】
前記ストリーミングサーバは、メディアストレージ及び/又は符号化サーバからコンテンツを受信することができる。例えば、前記符号化サーバからコンテンツを受信する場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間保存することができる。
【0315】
前記ユーザ装置の例としては、携帯電話、スマートフォン(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、デスクトップコンピュータ、デジタルサイネージなどがあり得る。
【0316】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
【0317】
本開示の範囲は、様々な実施例の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能なコマンド(例えば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又はコマンドなどが保存されて装置又はコンピュータ上で実行できる非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0318】
本開示による実施例は、画像を符号化/復号化するために利用可能である。
【手続補正書】
【提出日】2024-08-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像復号化装置によって行われる画像復号化方法であって、
前記画像復号化方法は、
現在ブロックのインター予測モードがサブブロックマージモードであるかどうかを第1フラグに基づいて決定するステップと、
前記現在ブロックの前記インター予測モードが前記サブブロックマージモードであることに基づいて、前記現在ブロックに対するサブブロックマージ候補リストを構成するステップと、
前記サブブロックマージ候補リストから一つのサブブロックマージ候補を選択するステップと、
前記選択されたサブブロックマージ候補の動き情報に基づいて前記現在ブロックの動き情報を導出するステップと、
前記現在ブロックの前記動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックのレジデュアルブロックを導出するステップと、
前記現在ブロックの前記予測ブロックと前記現在ブロックの前記レジデュアルブロックとに基づいて、前記現在ブロックを復元するステップと、を含み、
前記サブブロックマージ候補リストを構成するステップは、組み合わせサブブロックマージ候補を導出するステップを含み、前記組み合わせサブブロックマージ候補を導出するステップは、前記組み合わせサブブロックマージ候補の双予測のための重みインデックスを導出するステップを含み、
前記組み合わせサブブロックマージ候補を導出するステップは、前記現在ブロックに対する複数の候補CP(Control Points)のうちの予め定義された候補CPの組み合わせに含まれるそれぞれの候補CPの動き情報に基づいて行われ、
前記組み合わせサブブロックマージ候補の前記重みインデックスは、前記候補CPの重みインデックス間での比較を行わずに、前記組み合わせに含まれた前記候補CPのうちの第1候補CPの双予測のための重みインデックスとして導出され、
前記組み合わせに含まれた前記候補CPのうちの前記第1候補CPは、前記現在ブロックに対する左上側候補CP又は右上側候補CPである、画像復号化方法。
【請求項2】
前記候補CPの前記動き情報は、前記候補CPに対する候補ブロックの動き情報に基づいて導出され、
前記候補ブロックは、前記候補CPに対する少なくとも一つの候補ブロックのうちの利用可能な候補ブロックである、請求項1に記載の画像復号化方法。
【請求項3】
前記候補CPの前記動き情報は、双予測のための重みインデックスを含み、
前記候補CPの前記重みインデックスは、前記候補CPが前記現在ブロックに対する前記左上側候補CP又は前記右上側候補CPであることに基づいて導出される、請求項1に記載の画像復号化方法。
【請求項4】
前記候補CPの前記動き情報は、双予測のための重みインデックスを含み、
前記候補CPの前記重みインデックスは、前記候補CPが前記現在ブロックに対する左下側候補CP又は右下側候補CPであることに基づいて導出されない、請求項1に記載の画像復号化方法。
【請求項5】
前記候補CPに対する少なくとも一つの候補ブロックのうちの利用可能な候補ブロックが存在しないことに基づいて、前記候補CPは利用可能でないと決定される、請求項2に記載の画像復号化方法。
【請求項6】
前記組み合わせサブブロックマージ候補を導出するステップは、前記予め定義された候補CPの前記組み合わせに含まれる全ての候補CPが利用可能であることに基づいて行われる、請求項4に記載の画像復号化方法。
【請求項7】
前記組み合わせサブブロックマージ候補の前記重みインデックスは、前記組み合わせに対する予測方向が利用可能かどうかに基づいて導出され、
前記組み合わせに対する前記予測方向が利用可能かどうかは、前記組み合わせに含まれる前記候補CPの動き情報に基づいて導出される、請求項1に記載の画像復号化方法。
【請求項8】
前記組み合わせに対する前記予測方向がL0方向及びL1方向の両方に対して利用可能であるかどうかに基づいて、前記組み合わせサブブロックマージ候補の前記重みインデックスは、前記組み合わせに含まれる前記候補CPのうちの前記第1候補CPとして導出される、請求項7に記載の画像復号化方法。
【請求項9】
前記組み合わせに対する前記予測方向がL0方向及びL1方向の少なくとも一つに対して利用可能でないかどうかに基づいて、前記組み合わせサブブロックマージ候補の前記重みインデックスは、所定の重みインデックスとして導出される、請求項7に記載の画像復号化方法。
【請求項10】
画像符号化装置によって行われる画像符号化方法であって、前記画像符号化方法は、
現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記予測ブロックに基づいて前記現在ブロックのレジデュアルブロックを導出するステップと、
前記現在ブロックの前記予測ブロックと前記現在ブロックの前記レジデュアルブロックとに基づいて前記現在ブロックを復元するステップと、
前記現在ブロックのインター予測モードがサブブロックマージモードであるかどうかを示す第1フラグを符号化するステップと、
前記予測ブロックに基づいて前記現在ブロックを符号化するステップと、
前記現在ブロックの動き情報を符号化するステップと、を含み、
前記現在ブロックの前記動き情報を符号化するステップは、
前記現在ブロックの前記インター予測モードが前記サブブロックマージモードであることに基づいて、前記現在ブロックに対するサブブロックマージ候補リストを構成するステップと、
前記サブブロックマージ候補リストに基づいて前記現在ブロックの前記動き情報を符号化するステップと、を含み、
前記サブブロックマージ候補リストを構成するステップは、組み合わせサブブロックマージ候補を導出するステップを含み、前記組み合わせサブブロックマージ候補を導出するステップは、前記組み合わせサブブロックマージ候補の双予測のための重みインデックスを導出するステップを含み、
前記組み合わせサブブロックマージ候補を導出するステップは、前記現在ブロックに対する複数の候補CP(Control Points)のうちの予め定義された候補CPの組み合わせに含まれるそれぞれの候補CPの動き情報に基づいて行われ、
前記組み合わせサブブロックマージ候補の前記重みインデックスは、前記候補CPの重みインデックス間での比較を行わずに、前記組み合わせに含まれた前記候補CPのうちの第1候補CPの双予測のための重みインデックスとして導出され、
前記組み合わせに含まれた前記候補CPのうちの前記第1候補CPは、前記現在ブロックに対する左上側候補CP又は右上側候補CPである、画像符号化方法。
【請求項11】
画像符号化方法により生成されたビットストリームを送信する方法であって、
前記画像符号化方法は、
現在ブロックの動き情報に基づいて前記現在ブロックの予測ブロックを生成するステップと、
前記予測ブロックに基づいて前記現在ブロックのレジデュアルブロックを導出するステップと、
前記現在ブロックのインター予測モードがサブブロックマージモードであるかどうかを示す第1フラグを符号化するステップと、
前記予測ブロックに基づいて前記現在ブロックを符号化するステップと、
前記現在ブロックの動き情報を符号化するステップと、を含み、
前記現在ブロックの前記動き情報を符号化するステップは、
前記現在ブロックの前記インター予測モードが前記サブブロックマージモードであることに基づいて、前記現在ブロックに対するサブブロックマージ候補リストを構成するステップと、
前記サブブロックマージ候補リストに基づいて前記現在ブロックの前記動き情報を符号化するステップと、を含み、
前記サブブロックマージ候補リストを構成するステップは、組み合わせサブブロックマージ候補を導出するステップを含み、前記組み合わせサブブロックマージ候補を導出するステップは、前記組み合わせサブブロックマージ候補の双予測のための重みインデックスを導出するステップを含み、
前記組み合わせサブブロックマージ候補を導出するステップは、前記現在ブロックに対する複数の候補CP(Control Points)のうちの予め定義された候補CPの組み合わせに含まれるそれぞれの候補CPの動き情報に基づいて行われ、
前記組み合わせサブブロックマージ候補の前記重みインデックスは、前記候補CPの重みインデックス間での比較を行わずに、前記組み合わせに含まれた前記候補CPのうちの第1候補CPの双予測のための重みインデックスとして導出され、
前記組み合わせに含まれた前記候補CPのうちの前記第1候補CPは、前記現在ブロックに対する左上側候補CP又は右上側候補CPである、方法。