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

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

▶ グァンドン オッポ モバイル テレコミュニケーションズ コーポレーション リミテッドの特許一覧

特許7395518マージモードに基づくインター予測方法及び装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】マージモードに基づくインター予測方法及び装置
(51)【国際特許分類】
   H04N 19/105 20140101AFI20231204BHJP
   H04N 19/139 20140101ALI20231204BHJP
   H04N 19/159 20140101ALI20231204BHJP
   H04N 19/176 20140101ALI20231204BHJP
   H04N 19/52 20140101ALI20231204BHJP
【FI】
H04N19/105
H04N19/139
H04N19/159
H04N19/176
H04N19/52
【請求項の数】 11
(21)【出願番号】P 2020573285
(86)(22)【出願日】2019-07-01
(65)【公表番号】
(43)【公表日】2021-11-25
(86)【国際出願番号】 KR2019007981
(87)【国際公開番号】W WO2020005045
(87)【国際公開日】2020-01-02
【審査請求日】2022-06-03
(31)【優先権主張番号】10-2018-0076177
(32)【優先日】2018-06-30
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0085680
(32)【優先日】2018-07-24
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【弁理士】
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【弁理士】
【氏名又は名称】出口 智也
(72)【発明者】
【氏名】キム、ギベク
【審査官】久保 光宏
(56)【参考文献】
【文献】国際公開第2018/067823(WO,A1)
【文献】村上 篤道(外2名)編,「高効率映像符号化技術 HEVC/H.265とその応用」,第1版,日本,株式会社オーム社,2013年02月25日,第69~73,109~136頁,ISBN: 978-4-274-21329-8.
【文献】Jicheng An, et al.,"Enhanced Merge Mode based on JEM7.0",Document: JVET-J0059-v1, [online],JVET-J0059 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2018年04月03日,Pages 1-9,[令和5年5月19日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3468> and <URL: https://jvet-experts.org/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0059-v1.zip>. ,(See document file "JVET-J0059.docx" included in the zip file "JVET-J0059-v1.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
現在ブロックのマージ候補リストを構成するステップと、
前記マージ候補リストから前記現在ブロックの動き情報を導出するステップであって、前記動き情報は、予測方向のフラグ、参照ピクチャインデックスまたは動きベクトルのうちの少なくとも一つを含む、スッテプと、
前記動き情報を用いて、現在ブロックのインター予測を行うステップと、
を含み、
前記マージ候補リストが組み合わせマージ候補を含み、前記組み合わせマージ候補が、マージ候補リストに属しているn個のマージ候補を組み合わせて導出され、
前記n個のマージ候補が、第1のマージ候補及び第2のマージ候補を含み、前記組み合わせマージ候補の動き情報が、前記第1のマージ候補の動き情報と前記第2のマージ候補の動き情報を加重平均して導出され
前記第1のマージ候補が第1の単方向予測動きベクトルに対応し、前記第2のマージ候補が第2の単方向予測動きベクトルに対応し、前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルの方向が同じであり、
前記組み合わせマージ候補の参照ピクチャインデックスが、前記第1のマージ候補及び前記第2のマージ候補のいずれか1つの参照ピクチャインデックスとして導出され、
前記動き情報を用いて、現在ブロックのインター予測を行うステップは、
前記現在ブロックの参照ピクチャインデックスに基づいて、参照ピクチャリストから参照ピクチャを選択することと、
前記現在ブロックの動きベクトルに基づいて、前記参照ピクチャ内の参照ブロックを特定することと、
前記特定された参照ブロックの再構成画素を用いて、現在ブロックの予測画素を生成することと、
前記現在ブロックの予測画素と残差画素を加算して現在ブロックを再構成することと、を含む、ビデオ信号の復号化方法。
【請求項2】
前記n個のマージ候補が、前記マージ候補リストにおける0から(n-1)のインデックスに対応するマージ候補である、請求項1に記載のビデオ信号の復号化方法。
【請求項3】
前記組み合わせマージ候補のインデックスが、時間的マージ候補のインデックスよりも大きい、請求項1に記載のビデオ信号の復号化方法。
【請求項4】
前記加重平均の重みが、[1:1]、[1:2]、[1:3]または[2:3]のいずれか1つである、請求項1に記載のビデオ信号の復号化方法。
【請求項5】
前記動きベクトルは、現在ブロックのサブブロックの単位で導出される、請求項1に記載のビデオ信号の復号化方法。
【請求項6】
前記サブブロックのサイズは固定されたサイズである、請求項に記載のビデオ信号の復号化方法。
【請求項7】
前記サブブロックのサイズは4×4である、請求項又はに記載のビデオ信号の復号化方法。
【請求項8】
前記方法は、ビットストリームによりシグナリングされる残差係数に逆量子化または逆変換の少なくとも一方を行って前記残差画素を得ることを含む、請求項に記載のビデオ信号の復号化方法。
【請求項9】
インター予測を行うためのプログラムを格納するためのメモリと、
前記プログラムを実行して請求項1からのいずれか一項に記載のビデオ信号の復号化方法を実行するためのプロセッサと、を備える、ビデオ信号の復号化装置。
【請求項10】
現在ブロックのマージ候補リストを構成するステップと、
前記マージ候補リストから前記現在ブロックの動き情報を導出するステップであって、前記動き情報は、予測方向のフラグ、参照ピクチャインデックスまたは動きベクトルのうちの少なくとも一つを含む、スッテプと、
前記動き情報を用いて、現在ブロックのインター予測を行うステップと、
を含み、
前記マージ候補リストが組み合わせマージ候補を含み、
前記組み合わせマージ候補が、マージ候補リストに属しているn個のマージ候補を組み合わせて導出され、
前記n個のマージ候補が、第1のマージ候補及び第2のマージ候補を含み、前記組み合わせマージ候補の動き情報が、前記第1のマージ候補の動き情報と前記第2のマージ候補の動き情報を加重平均して導出され
前記第1のマージ候補が第1の単方向予測動きベクトルに対応し、前記第2のマージ候補が第2の単方向予測動きベクトルに対応し、前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルの方向が同じであり、
前記組み合わせマージ候補の参照ピクチャインデックスが、前記第1のマージ候補及び前記第2のマージ候補のいずれか1つの参照ピクチャインデックスとして導出され、
前記動き情報を用いて、現在ブロックのインター予測を行うステップは、
前記現在ブロックの参照ピクチャインデックスに基づいて、参照ピクチャリストから参照ピクチャを選択することと、
前記現在ブロックの動きベクトルに基づいて、前記参照ピクチャ内の参照ブロックを特定することと、
前記特定された参照ブロックの再構成画素を用いて、現在ブロックの予測画素を生成することと、
前記現在ブロックの予測画素と残差画素を加算して現在ブロックを再構成することと、を含む、ビデオ信号の符号化方法。
【請求項11】
インター予測を行うためのプログラムを格納するためのメモリと、
前記プログラムを実行して請求項10に記載のビデオ信号の符号化方法を実行するためのプロセッサと、を備える、ビデオ信号の符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インター予測方法及び装置に関する。
【背景技術】
【0002】
近年では、高精細度(HD;High Definition)画像及び超高精細度(UHD;Ultra High Definition)画像などの高解像度、高品質の画像への需要が様々な応用分野において増えており、それに伴い、高効率の画像圧縮技術が検討されている。
【0003】
画像圧縮技術として、現在ピクチャの前または後のピクチャから現在ピクチャに含まれている画素値を予測するインター予測技術、現在ピクチャ内の画素情報を用いて、現在ピクチャに含まれている画素値を予測するイントラ予測技術、出現頻度の高い値に短い符号を割り当て、出現頻度の低い値に長い符号を割り当てるエントロピー符号化技術などの様々な技術が存在し、このような画像圧縮技術を用いて、画像データを効果的に圧縮して伝送または格納することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、インター予測方法及び装置を提供することを目的とする。
【0005】
本発明は、マージ候補リストを構成する方法及び装置を提供することを目的とする。
【0006】
本発明は、サブブロック単位の動き補償方法及び装置を提供することを目的とする。
【0007】
本発明は、アフィン候補を決定する方法及び装置を提供することを目的とする。
【0008】
本発明は、360ビデオのプロジェクションフォーマットに従ったインター予測方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るビデオ符号化/復号化方法及び装置は、現在ブロックのマージ候補リストを構成し、前記マージ候補リストから前記現在ブロックの動き情報を導出し、前記動き情報を用いて、現在ブロックのインター予測を行ってもよい。
【0010】
本発明に係るビデオ符号化/復号化方法及び装置において、前記マージ候補リストは、空間的マージ候補、時間的マージ候補または組み合わせマージ候補のうち少なくとも1つを含んでいてもよい。
【0011】
本発明に係るビデオ符号化/復号化方法及び装置において、前記組み合わせマージ候補は、マージ候補リストに属しているn個のマージ候補を組み合わせて導出されてもよい。
【0012】
本発明に係るビデオ符号化/復号化方法及び装置において、前記n個のマージ候補は、前記マージ候補リストにおける0から(n-1)のインデックスに対応するマージ候補であってもよい。
【0013】
本発明に係るビデオ符号化/復号化方法及び装置において、前記組み合わせマージ候補のインデックスは、前記時間的マージ候補のインデックスよりも大きくてもよい。
【0014】
本発明に係るビデオ符号化/復号化方法及び装置において、前記n個のマージ候補は、第1のマージ候補と第2のマージ候補を含み、前記組み合わせマージ候補の動き情報は、前記第1のマージ候補の予測方向と前記第2のマージ候補の予測方向を考慮して導出されてもよい。
【0015】
本発明に係るビデオ符号化/復号化方法及び装置において、前記組み合わせマージ候補の動き情報は、前記第1のマージ候補の動き情報と前記第2のマージ候補の動き情報を加重平均して導出されてもよい。
【0016】
本発明に係るビデオ符号化/復号化方法及び装置において、前記加重平均の重みは、[1:1]、[1:2]、[1:3]または[2:3]のいずれか1つであってもよい。
【0017】
本発明に係るビデオ符号化/復号化方法及び装置は、現在ブロックの動き情報を予測するための候補リストを生成し、前記候補リストと候補インデックスに基づいて、前記現在ブロックの制御点ベクトルを導出し、前記現在ブロックの制御点ベクトルに基づいて、前記現在ブロックの動きベクトルを導出し、前記動きベクトルを用いて、前記現在ブロックに対してインター予測を行ってもよい。
【0018】
本発明に係るビデオ符号化/復号化装置において、前記候補リストは、複数のアフィン候補を含んでいてもよい。
【0019】
本発明に係るビデオ符号化/復号化装置において、前記アフィン候補は、空間的候補、時間的候補または構成された候補のうち少なくとも1つを含んでいてもよい。
【0020】
本発明に係るビデオ符号化/復号化装置において、前記現在ブロックの動きベクトルは、前記現在ブロックのサブブロックの単位で導出されてもよい。
【0021】
本発明に係るビデオ符号化/復号化装置において、前記空間的候補は、前記現在ブロックの境界が符号化木(ツリー)ブロックの境界(CTU boundary)に接するか否かを考慮して決定されてもよい。
【0022】
本発明に係るビデオ符号化/復号化装置において、前記構成された候補は、前記現在ブロックの各隅部に対応する制御点ベクトルのうち少なくとも2つの組み合わせに基づいて決定されてもよい。
【0023】
本発明に係るビデオ符号化/復号化方法及び装置は、インター予測のための参照領域が参照ピクチャの境界または不連続的な表面間の境界を含む場合、相関性のある領域のデータを用いて、参照領域の全部または一部の画素を取得してもよい。
【発明の効果】
【0024】
本発明によると、空間的/時間的マージ候補のみならず、組み合わせマージ候補を用いることにより、動き情報の精度を向上することができる。
【0025】
本発明によると、アフィンモデルに基づくインター予測により、画像の符号化/復号化の性能を向上することができる。
【0026】
本発明によると、サブブロック単位のインター予測により、予測の正確性を向上させることができる。
【0027】
本発明によると、効率よいアフィン候補を決定することで、インター予測の符号化/復号化の効率を向上させることができる。
【0028】
本発明によると、相関性を考慮した参照領域の設定により、インター予測の符号化効率を向上させることができる。
【図面の簡単な説明】
【0029】
図1】本発明の一実施形態に係る画像符号化装置のブロック図である。
図2】本発明の一実施形態に係る画像復号化装置のブロック図である。
図3】木ベースのブロックの形状を示す例示図である。
図4】本発明のブロック分割部において取得可能な様々なブロックの形状を示す例示図である。
図5】本発明の一実施形態に係るブロック分割過程を示す図である。
図6】本発明が適用される一実施形態であって、ブロック単位のマージモードに基づくインター予測を行う方法を示す図である。
図7】本発明が適用される一実施形態であって、アフィンモデルに基づくインター予測方法を示す図である。
図8】本発明が適用される一実施形態であって、空間的/時間的隣接ブロックの制御点ベクトルからアフィン候補を導出する方法を示す図である。
図9】本発明が適用される一実施形態であって、空間的/時間的隣接ブロックの動きベクトルの組み合わせに基づいて、構成された候補を導出する方法を示す図である。
図10】本発明が適用される一実施形態であって、サブブロックに基づく時間的候補の動き情報を導出する方法を示す図である。
図11】本発明が適用される一実施形態であって、ERPプロジェクションフォーマットにおけるインター予測方法を示す図である。
図12】本発明が適用される一実施形態であって、CMPプロジェクションフォーマットにおけるインター予測方法を示す図である。
図13】本発明が適用される一実施形態であって、CMPプロジェクションフォーマットにおけるインター予測方法を示す図である。
図14】本発明が適用される一実施形態であって、CMPプロジェクションフォーマットにおけるインター予測方法を示す図である。
図15】本発明が適用される一実施形態であって、CMPプロジェクションフォーマットにおけるインター予測方法を示す図である。
【発明を実施するための形態】
【0030】
本発明に係るビデオ符号化/復号化方法及び装置は、現在ブロックのマージ候補リストを構成し、前記マージ候補リストから前記現在ブロックの動き情報を導出し、前記動き情報を用いて、現在ブロックのインター予測を行ってもよい。
【0031】
本発明に係るビデオ符号化/復号化方法及び装置において、前記マージ候補リストは、空間的マージ候補、時間的マージ候補または組み合わせマージ候補のうち少なくとも1つを含んでいてもよい。
【0032】
本発明に係るビデオ符号化/復号化方法及び装置において、前記組み合わせマージ候補は、マージ候補リストに属しているn個のマージ候補を組み合わせて導出されてもよい。
【0033】
本発明に係るビデオ符号化/復号化方法及び装置において、前記n個のマージ候補は、前記マージ候補リストにおける0から(n-1)のインデックスに対応するマージ候補であってもよい。
【0034】
本発明に係るビデオ符号化/復号化方法及び装置において、前記組み合わせマージ候補のインデックスは、前記時間的マージ候補のインデックスよりも大きくてもよい。
【0035】
本発明に係るビデオ符号化/復号化方法及び装置において、前記n個のマージ候補は、第1のマージ候補と第2のマージ候補を含み、前記組み合わせマージ候補の動き情報は、前記第1のマージ候補の予測方向と前記第2のマージ候補の予測方向を考慮して導出されてもよい。
【0036】
本発明に係るビデオ符号化/復号化方法及び装置において、前記組み合わせマージ候補の動き情報は、前記第1のマージ候補の動き情報と前記第2のマージ候補の動き情報を加重平均して導出されてもよい。
【0037】
本発明に係るビデオ符号化/復号化方法及び装置において、前記加重平均の重みは、[1:1]、[1:2]、[1:3]または[2:3]のいずれか1つであってもよい。
【0038】
本発明に係るビデオ符号化/復号化方法及び装置は、現在ブロックの動き情報を予測するための候補リストを生成し、前記候補リストと候補インデックスに基づいて、前記現在ブロックの制御点ベクトルを導出し、前記現在ブロックの制御点ベクトルに基づいて、前記現在ブロックの動きベクトルを導出し、前記動きベクトルを用いて、前記現在ブロックに対してインター予測を行ってもよい。
【0039】
本発明に係るビデオ符号化/復号化装置において、前記候補リストは、複数のアフィン候補を含んでいてもよい。
【0040】
本発明に係るビデオ符号化/復号化装置において、前記アフィン候補は、空間的候補、時間的候補または構成された候補のうち少なくとも1つを含んでいてもよい。
【0041】
本発明に係るビデオ符号化/復号化装置において、前記現在ブロックの動きベクトルは、前記現在ブロックのサブブロックの単位で導出されてもよい。
【0042】
本発明に係るビデオ符号化/復号化装置において、前記空間的候補は、前記現在ブロックの境界が符号化木ブロックの境界(CTU boundary)に接するか否かを考慮して決定されてもよい。
【0043】
本発明に係るビデオ符号化/復号化装置において、前記構成された候補は、前記現在ブロックの各隅部に対応する制御点ベクトルのうち少なくとも2つの組み合わせに基づいて決定されてもよい。
【0044】
本発明に係るビデオ符号化/復号化方法及び装置は、インター予測のための参照領域が参照ピクチャの境界または不連続的な表面間の境界を含む場合、相関性のある領域のデータを用いて、参照領域の全部または一部の画素を取得してもよい。
【0045】
本発明は、様々な変更を加えることができ、また種々の実施形態を有することができるが、特定の実施形態を図面に例示し、詳しく説明する。しかしながら、これは、本発明を特定の実施形態に限定するためのものではなく、本発明の思想及び技術範囲に含まれるあらゆる変更、均等物乃至代替物を含むものとして理解されるべきである。
【0046】
「第1の」、「第2の」、「A」、「B」などの用語は、様々な構成要素を説明する上で使用可能であるが、前記構成要素は、前記用語によって何ら限定されない。前記の用語は、ある構成要素を他の構成要素から区別する目的のみで用いられる。例えば、本発明の権利範囲を逸脱しない範囲内において第1の構成要素は第2の構成要素と命名されてもよく、同様に、第2の構成要素もまた第1の構成要素と命名されてもよい。及び/またはという用語は、複数の関連する記載項目の組み合わせまたは複数の関連する記載項目のうちのいずれか一つの項目を含む。
【0047】
ある構成要素が他の構成要素と「連結」されているとか、「接続」されていると言及される場合、その他の構成要素に直接的に連結されたり接続されたりしている場合もあるが、間に別の構成要素が存在することもあると理解されるべきである。これに対し、ある構成要素が他の構成要素と「直接的に連結」されているとか、「直接的に接続されている」と言及されたときには、間に別の構成要素が存在しないものと理解されるべきである。
【0048】
また、本出願において用いる用語は、単に特定の実施形態を説明するために用いられたものであり、本発明を限定しようとする意図はない。単数形の表現は、コンテキストからみて明らかに他の意味を有さない限り、複数形の言い回しを含む。本出願における「含む」または「有する」などの用語は、明細書に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するものに過ぎず、一つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加の可能性を予め排除しないものとして理解されるべきである。
【0049】
特に断りのない限り、技術的用語及び科学的用語をはじめとするここで用いられる全ての用語は、本発明が属する技術分野において通常の知識を有する者にとって一般的に理解されるものと同様の意味を有する。一般に用いられる、辞書に定義されているような用語は、関連技術のコンテキスト上有する意味と一致する意味を有するものと解釈されるべきであり、本出願において明らかに定義しない限り、理想的な意味として、または過度に形式的な意味として解釈してはならない。
【0050】
画像符号化装置及び復号化装置は、パソコン(PC;Personal Computer)、ノート型パソコン、個人情報端末(PDA;Personal Digital Assistant)、携帯型マルチメディアプレーヤー(PMP;Portable Multimedia Player)、プレイステーションポータブル(PSP;PlayStation Portable)、無線通信端末(Wireless Communication Terminal)、スマートフォン(Smart Phone)、TV、仮想現実デバイス(Virtual Reality;VR)、拡張現実デバイス(Augmented Reality;AR)、複合現実デバイス(Mixed Reality;MR)、頭部装着ディスプレイ(Head Mounted Display;HMD)、スマートグラス(Smart Glasses)などのユーザー端末であるか、あるいは応用サーバとサービスサーバなどのサーバ端末であってもよく、各種の機器もしくは有無線通信網と通信を行うための通信モデムなどの通信装置、画像を符号化もしくは復号化し、符号化もしくは復号化のためにイントラ(Intra)またはインター(Inter)予測を行うための各種のプログラムとデータを格納するためのメモリ(Memory)、プログラムを起動して演算及び制御するためのプロセッサ(Processor)などを有する様々な装置を備えていてもよい。なお、画像符号化装置によりビットストリームで符号化された画像は、リアルタイムまたは非リアルタイムにてインターネット、近距離無線通信網、無線LAN網、ワイブロ(WiBro)網、移動通信網などの有無線通信網(Network)などを介して、もしくは、ケーブル、汎用直列バス(USB;Universal Serial Bus)などの様々な通信インターフェースを介して画像復号化装置に伝送され、画像復号化装置において復号化されて画像に復元され且つ再生されてもよい。
【0051】
また、画像符号化装置によりビットストリームで符号化された画像は、コンピュータにて読み取り可能な記録媒体を介して符号化装置から復号化装置へと受け渡されてもよい。
【0052】
前述した画像符号化装置と画像復号化装置は、それぞれ別々の装置であってもよいが、必要に応じて、1台の画像符号化/復号化装置として作製されてもよい。その場合、画像符号化装置の一部の構成は、画像復号化装置の一部の構成と実質的に同じ技術的な要素であって、少なくとも同じ構造を含むか、あるいは、少なくとも同じ機能を行うように実現されてもよい。
【0053】
従って、以下において技術要素とこれらの作動原理などについての詳細な説明を行うに当たっては、対応する技術要素の重複する説明を省略する。
【0054】
そして、画像復号化装置は、画像符号化装置において行われる画像符号化方法を復号化に適用するコンピューティング装置に対応するため、以下の説明においては、画像符号化装置に重点をおいて説明する。
【0055】
コンピューティング装置は、画像符号化方法及び/または画像復号化方法を実現するプログラムやソフトウェアモジュールを格納するメモリと、メモリに接続されてプログラムを実行するプロセッサと、を備えていてもよい。なお、画像符号化装置は符号化器と称され、画像復号化装置は復号化器と称されることもある。
【0056】
通常、画像は、一連の静止画(Still Image)から構成され、これらの静止画は、GOP(Group of Pictures)単位で区分されて、各静止画をピクチャ(Picture)と称することもある。この際、ピクチャは、プログレッシブ(Progressive)信号、インタレース(Interlace)信号におけるフレーム(Frame)、フィールド(Field)の一つを表わしても良く、画像は、符号化/復号化がフレーム単位で行われる場合に「フレーム」で、かつ、フィールド単位で行われる場合に「フィールド」で表わすことができる。本発明においては、プログレッシブ信号であることを想定して説明を行うが、インタレース信号にも適用可能である。上位概念としては、GOP、シーケンス(Sequence)などの単位が存在してもよく、かつ、各ピクチャは、スライス、タイル、ブロックなどの所定の領域に分割されてもよい。また、1つのGOPにはIピクチャ、Pピクチャ、Bピクチャなどの単位が含まれてもよい。Iピクチャは、参照ピクチャを用いることなく、自体的に符号化/復号化が行われるピクチャを意味し、PピクチャとBピクチャは、参照ピクチャを用いて動き推定(Motion Estimation)及び動き補償(Motion Compensation)などの過程を行って符号化/復号化を行うピクチャを意味する。一般に、Pピクチャの場合、IピクチャとPピクチャを参照ピクチャとして用いてもよく、Bピクチャの場合、IピクチャとPピクチャを参照ピクチャとして用いてもよいが、これに限定されず、符号化/復号化の設定により前記の定義もまた変更可能である。
【0057】
ここで、符号化/復号化を行う上で参照されるピクチャを参照ピクチャ(Reference Picture)と称し、参照されるブロックまたは画素を参照ブロック(Reference Block)、参照画素(Reference Pixel)と称する。また、参照されるデータ(Reference Data)は、空間領域(Spatial Domain)の画素値のみならず、周波数領域(Frequency Domain)の係数値、符号化/復号化の最中に生成・決定される様々な符号化/復号化情報であってもよい。例えば、予測部におけるイントラ予測に関連する情報または動きに関連する情報、変換部/逆変換部における変換に関連する情報、量子化部/逆量子化部における量子化に関連する情報、符号化部/復号化部における符号化/復号化に関連する情報(コンテキスト情報)、ループ内(In-Loop)フィルタ部におけるフィルタに関連する情報などがこれに相当する。
【0058】
画像をなす最小単位は画素(Pixel)であり、1つの画素を表わす上で用いられるビット数をビット深度(Bit Depth)と称する。一般に、ビット深度は8ビットであり、符号化の設定に応じて、それ以上のビット深度にも対応可能である。ビット深度は、カラー空間(Color Space)に応じて少なくとも1つのビット深度に対応可能であってもよい。また、画像のカラーフォーマット(Color Format)に応じて、少なくとも1つのカラー空間から構成されてもよい。カラーフォーマットに応じて、一定のサイズを有する1枚以上のピクチャまたは異なるサイズを有する1枚以上のピクチャから構成されてもよい。例えば、YCbCr=4:2:0である場合、1つの輝度成分(この例において、Y)と2つの色差成分(この例において、Cb/Cr)とから構成されてもよく、この際、色差成分と輝度成分との構成比としては、横:縦=1:2を有していてもよい。他の例として、4:4:4である場合、横と縦が同じである構成比を有していてもよい。前記の例のように、1つ以上のカラー空間から構成される場合、ピクチャは、各カラー空間への分割を行ってもよい。
【0059】
本発明においては、一部のカラーフォーマット(この例において、YCbCr)の一部のカラー空間(この例において、Y)を基準として説明し、カラーフォーマットに応じた他のカラー空間(この例において、Cb、Cr)にも同一もしくは類似の適用(特定のカラー空間に依存的な設定)をしてもよい。しかしながら、各カラー空間に部分的な違い(特定のカラー空間に独立的な設定)を置くことも可能である。すなわち、各カラー空間に依存的な設定は、各成分の構成比(例えば、4:2:0、4:2:2、4:4:4などに応じて決定)に比例する設定、あるいは、依存的な設定を有することを意味してもよく、各カラー空間に独立的な設定は、各成分の構成比とは無関係に、あるいは独立的に当該カラー空間のみの設定を有することを意味してもよい。本発明においては、符号化器/復号化器に応じて、一部の構成に対しては独立的な設定を有してもよく、あるいは、依存的な設定を有してもよい。
【0060】
画像符号化過程において必要な設定情報または構文要素(Syntax Element)は、ビデオ、シーケンス、ピクチャ、スライス、タイル、ブロックなどの単位レベルで定められてもよく、これは、VPS(Video Parameter Set)、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)、スライスヘッダ(Slice Header)、タイルヘッダ(Tile Header)、ブロックヘッダ(Block Header)などの単位でビットストリームに収録されて復号化器に伝送されてもよく、復号化器においては、同じレベルの単位でパーシング(Parsing)して符号化器から伝送された設定情報を復元して画像復号化過程に用いてもよい。また、SEI(Supplement Enhancement Information)またはメタデータ(Metadata)などの形で関連情報をビットストリームに伝送しかつパーシングして用いてもよい。各パラメータセットは、固有のID値を有しており、下位パラメータセットにおいては、参照すべき上位パラメータセットのID値を有していてもよい。例えば、下位パラメータセットにおいて、1つ以上の上位パラメータセットのうち、一致するID値を有する上位パラメータセットの情報を参照してもよい。以上において言及された様々な単位の例のうち、いずれか1つの単位が1つ以上の他の単位を含む場合に相当する単位は上位単位と称され、含まれる単位は下位単位と称されることがある。
【0061】
前記単位において発生する設定情報の場合、当該単位ごとに独立的な設定に関する内容を含んでいてもよく、あるいは、前、後または上位の単位などに依存的な設定に関する内容を含んでいてもよい。ここで、依存的な設定とは、前、後、上位の単位の設定に従うというフラグ情報(例えば、1ビットフラグで1であれば従う。0であれば従わない)で当該単位の設定情報を表わすものと理解され得る。本発明における設定情報については、独立的な設定に関する例に重点をおいて説明を行うが、現在単位の前、後の単位または上位の単位の設定情報に依存的な関係に関する内容への追加または代替が行われる例もまた含まれ得る。
【0062】
図1は、本発明の一実施形態に係る画像符号化装置のブロック図である。図2は、本発明の一実施形態に係る画像復号化装置のブロック図である。
【0063】
図1を参照すると、画像符号化装置は、予測部と、減算部と、変換部と、量子化部と、逆量子化部と、逆変換部と、加算部と、ループ内フィルタ部と、メモリ及び/または符号化部を備えていてもよく、前記の構成の一部は必ずしも配備されるとは限らず、必要に応じて、一部または全部が選択的に配備されてもよく、図示しないさらなる一部の構成が配備されてもよい。
【0064】
図2を参照すると、画像復号化装置は、復号化部と、予測部と、逆量子化部と、逆変換部と、加算部と、ループ内フィルタ部及び/またはメモリを備えていてもよく、前記の構成の一部は必ずしも配備されるとは限らず、必要に応じて、一部または全部が選択的に配備されてもよく、図示しないさらなる一部の構成が配備されてもよい。
【0065】
画像符号化装置と画像復号化装置は、それぞれ別々の装置であってもよいが、必要に応じて、1台の画像符号化/復号化装置として作製されてもよい。その場合、画像符号化装置の一部の構成は、画像復号化装置の一部の構成と実質的に同じ技術的な要素であって、少なくとも同じ構造を含むか、あるいは、少なくとも同じ機能を行うように実現されてもよい。従って、以下において技術要素とこれらの作動原理などについての詳細な説明を行うに当たっては、対応する技術要素の重複する説明を省略する。画像復号化装置は、画像符号化装置において行われる画像符号化方法を復号化に適用するコンピューティング装置に対応できるため、以下の説明に際しては、画像符号化装置に重点をおいて説明する。画像符号化装置は符号化器と称され、画像復号化装置は復号化器と称されることもある。
【0066】
予測部は、イントラ予測を行うイントラ予測部と、インター予測を行うインター予測部と、を備えていてもよい。イントラ予測は、現在ブロックに隣接するブロックの画素を参照画素として構成してイントラ予測モードを決定し、前記イントラ予測モードを用いて予測ブロックを生成し、インター予測は、1枚以上の参照画像を用いて現在ブロックの動き情報を決定し、前記動き情報を用いて動き補償を行うことにより、予測ブロックを生成する。現在ブロック(符号化単位または予測単位)に対してイントラ予測方式またはインター予測方式のうち、どちらの方式を用いるかを決定し、各予測方法に伴う具体的な情報(例えば、イントラ予測モード、動きベクトル、参照画像など)を決定する。この際、予測が行われる処理単位と予測方法及び具体的な内容が定められる処理単位は、符号化/復号化の設定に従って定められてもよい。例えば、予測方法、予測モードなどは予測単位(または、符号化単位)で決定され、予測は予測ブロック単位(または、符号化単位、変換単位)で行われる。
【0067】
減算部は、現在ブロックから予測ブロックを減算して残差ブロック(Residual Block)を生成する。すなわち、減算部は、符号化しようとする現在ブロックの各画素の画素値と予測部により生成された予測ブロックの各画素の予測画素値との差分を計算して、ブロック形状の残差信号(Residual Signal)である残差ブロックを生成する。
【0068】
変換部は、空間領域に属する信号を周波数領域に属する信号に変換することができ、この際、変換過程を経て取得される信号を変換係数(Transformed Coefficient)と称する。例えば、減算部から受け渡された残差信号を有する残差ブロックを変換して変換係数を有する変換ブロックを取得するが、入力された信号は、符号化の設定に従って決定され、これは、残差信号に限定されない。
【0069】
変換部は、残差ブロックをアダマール変換(Hadamard Transform)、離散サイン変換(DST Based-Transform;Discrete Sine Transform)、離散コサイン変換(DCT Based-Transform;Discrete Cosine Transform)などの変換手法を用いて変換してもよく、これに限定されず、これを改良及び変形した様々な変換手法を用いてもよい。
【0070】
変換は、水平/垂直の方向に行われてもよい。例えば、変換における基底ベクトルを用いて水平方向に1次元変換を行い、垂直方向に1次元変換を行って、合計で2次元の変換を行うことにより、空間領域の画素値を周波数領域に変換してもよい。
【0071】
また、変換部は、変換ブロックを生成する上で必要な情報を符号化部に受け渡してこれを符号化するようにしてもよく、それに伴う情報をビットストリームに収録してこれを復号化器に伝送し、復号化器の復号化部は、これに関する情報をパーシングして逆変換過程に用いてもよい。
【0072】
量子化部は、入力された信号を量子化してもよく、この際、量子化過程を経て取得される信号を量子化係数(Quantized Coefficient)と称する。例えば、変換部から受け渡された残差変換係数を有する残差ブロックを量子化して量子化係数を有する量子化ブロックを取得するが、入力された信号は、符号化の設定に従って決定され、これは、残差変換係数に限定されない。
【0073】
量子化部は、変換された残差ブロックをデッドゾーン均一閾値量子化(Dead Zone Uniform Threshold Quantization)、量子化重みマトリックス(Quantization Weighted Matrix)などの量子化手法を用いて量子化してもよく、これに限定されず、これを改良及び変形した様々な量子化手法を用いてもよい。
【0074】
量子化部は、量子化ブロックを生成する上で必要な情報を符号化部に受け渡してこれを符号化するようにしてもよく、それに伴う情報をビットストリームに収録してこれを復号化器に伝送し、復号化器の復号化部は、これに関する情報をパーシングしてこれを逆量子化過程に用いてもよい。
【0075】
前記の例においては、変換部と量子化部により残差ブロックを変換しかつ量子化することを想定して説明したが、残差信号を変換して変換係数を有する残差ブロックを生成し、残差ブロックの量子化過程は行わなくてもよく、残差ブロックの残差信号を変換係数に変換せず、量子化過程のみを行ってもよいのみならず、変換と量子化過程を両方とも行わなくてもよい。これは、符号化器の設定に従って決定すればよい。
【0076】
符号化部は、生成された残差ブロックの量子化係数、変換係数、または残差信号などを少なくとも1つのスキャン順序(例えば、千鳥状スキャン、垂直スキャン、水平スキャンなど)に従ってスキャンして量子化係数列、変換係数列、または信号列を生成し、少なくとも1つのエントロピー符号化(Entropy Coding)手法を用いて符号化してもよい。この際、前記スキャン順序に関する情報は、符号化の設定(例えば、符号化モード、予測モードなど)に従って定められてもよく、黙示的に定めてもよく、明示的に関連情報を生成してもよい。例えば、イントラ予測モードに応じて、複数のスキャン順序の1つを選択してもよい。この際、スキャンパターンは、千鳥状(Zig-Zag)、対角線、ラスタ(Raster)などの様々なパターンの1つに設定してもよい。
【0077】
また、各構成部から受け渡される符号化情報を含む符号化データを生成してビットストリームとして出力してもよく、これは、マルチプレクサ(MUX;Multiplexer)により実現されてもよい。この際、符号化手法として、指数ゴロム(Exponential Golomb)、コンテキスト適応型可変長符号化(CAVLC;Context Adaptive Variable Length Coding)、コンテキスト適応型二値算術符号化(CABAC;Context Adaptive Binary Arithmetic Coding)などの方法を用いて符号化してもよく、これに限定されず、これを改良及び変形した様々な符号化手法が用いられ得る。
【0078】
前記残差ブロックデータと符号化/復号化過程において生成される情報などの構文要素(Syntax)に対するエントロピー符号化(この例においては、CABACであると仮定する)を行う際、エントロピー符号化装置は、二値化部(Binarizer)、コンテキストモデラ(Context Modeler)、二値算術符号化部(Binary Arithmetic Coder)を備えていてもよい。この際、二値算術符号化部は、レギュラ符号化部(Regular Coding Engine)と、バイパス符号化部(Bypass Coding Engine)と、を備えていてもよい。この際、レギュラ符号化部は、コンテキストモデラに関連して行われる過程であってもよく、バイパス符号化部は、コンテキストモデラとは無関係に行われる過程であってもよい。
【0079】
前記エントロピー符号化装置に入力される構文要素は、二値ではない可能性があるため、構文要素が二値ではない場合、二値化部は、構文要素を二値化して0または1から構成されたビンストリング(Bin String)を出力してもよい。この際、ビンは、0または1から構成されたビットを示すものであって、二値算術符号化部により符号化されてもよい。この際、0と1の発生確率に基づいて、レギュラ符号化部またはバイパス符号化部のどちらか一方が選択されてもよく、これは、符号化/復号化の設定に従って決定されてもよい。構文要素が0と1の頻度が同じであるデータであれば、バイパス符号化部を用いてもよく、そうではない場合には、レギュラ符号化部を用いてもよく、コンテキストモデリング(または、コンテキスト情報更新)のよって次のレギュラ符号化部による過程を行う際に参照してもよい。
【0080】
この際、コンテキストは、ビン(Bin)の発生確率に関する情報であって、コンテキストモデリングは、二値化の結果であるビンを入力として二値算術符号化に必要なビンの確率を推定する過程である。確率の推定のために、ビンの構文要素情報、ビンストリングにおけるビンの位置であるインデックス、ブロックの周辺ブロックに含まれているビンの確率などが用いられてもよく、このための少なくとも1つのコンテキストテーブルを用いてもよい。例えば、一部のフラグのための情報は、周辺ブロックのフラグの使用有無の組み合わせに応じて複数のコンテキストテーブルが用いられてもよい。
【0081】
前記構文要素に対する二値化を行う際、様々な方法が用いられてもよい。例えば、固定長二値化(Fixed Length Binarization)と可変長二値化(Variable Length Binarization)に分けられてもよく、可変長二値化の場合、単項二値化(Unary Binarization、Trunacted Unary Binarization)、ライス二値化(Truncated Rice Binarization)、K次のExp-Golomb二値化、切り捨てられたバイナリ二値化などが用いられてもよい。また、構文要素が有する値の範囲に応じて、符号付き二値化または符号なし二値化が行われてもよい。本発明において発生する構文要素に対する二値化過程は、前記の例において言及された二値化の方法のみならず、その他のさらなる二値化方法により行われてもよい。
【0082】
逆量子化部及び逆変換部は、前記変換部及び量子化部における過程を逆に行って実現されてもよい。例えば、逆量子化部は、量子化部において生成された量子化済みの変換係数を逆量子化してもよく、逆変換部は、逆量子化済みの変換係数を逆変換して復元済みの残差ブロックを生成してもよい。
【0083】
加算部は、予測ブロックと復元済みの残差ブロックを加算して現在ブロックを復元する。復元済みのブロックは、メモリに格納されて参照データ(予測部及びフィルタ部など)として用いられてもよい。
【0084】
ループ内フィルタ部は、非ブロック化フィルタ、画素適応オフセット(Sample Adaptive Offset;SAO)、適応ループフィルタ(Adaptive Loop Filter;ALF)などの少なくとも1つの後処理フィルタリング過程を備えていてもよい。非ブロック化フィルタは、復元済みの画像からブロック間の境界に生じたブロックひずみを除去してもよい。ALFは、復元済みの画像と入力画像とを比較した値に基づいてフィルタリングを行ってもよい。詳しくは、非ブロック化フィルタによりブロックがフィルタリングされた後、復元済みの画像と入力画像とを比較した値に基づいてフィルタリングを行ってもよい。あるいは、SAOによりブロックがフィルタリングされた後、復元済みの画像と入力画像とを比較した値に基づいてフィルタリングを行ってもよい。
【0085】
メモリは、復元済みのブロックまたはピクチャを格納してもよい。メモリに格納された復元ブロックまたはピクチャは、イントラ予測またはインター予測を行う予測部に供されてもよい。詳しくは、符号化器において圧縮されたビットストリームのキュー(Queue)タイプの格納空間を符号化済みのピクチャバッファ(Coded Picture Buffer;CPB)として用意して処理してもよく、復号化済みの画像をピクチャ単位で格納する空間を復号化済みのピクチャバッファ(Decoded Picture Buffer;DPB)として用意して処理してもよい。CPBの場合、復号化単位が復号化順序に従って格納され、符号化器内において復号化動作をエミュレーション(Emulation)し、エミュレーション過程において圧縮されたビットストリームを格納してもよく、CPBから出力されたビットストリームは、復号化過程を経て復元され、復元済みの画像はDPBに格納され、DPBに格納されたピクチャは、以降、画像符号化、復号化過程において参照される。
【0086】
復号化部は、前記符号化部における過程を逆に行って実現されてもよい。例えば、ビットストリームから量子化係数列、変換係数列、または信号列を受信し、これを復号化してもよく、復号化情報を含む復号化データをパーシングして各構成部に受け渡してもよい。
【0087】
本発明の一実施形態に係る画像符号化装置及び画像復号化装置にブロック分割部が配備されてもよい。基本符号化単位は、画像符号化/復号化過程における予測、変換、量子化などに関する基本(または、開始)単位を意味する。この際、符号化単位は、カラーフォーマット(この例において、YCbCr)に従って1つの輝度符号化ブロックと2つの色差符号化ブロックから構成されてもよく、カラーフォーマットに従って各ブロックのサイズが定められてもよい。後述する例においては、ブロック(この例において、輝度成分)を基準として説明する。この際、ブロックは、各単位が決定された後に取得可能な単位であることを前提とし、他の種類のブロックに類似の設定が適用可能であることを想定して説明する。
【0088】
ブロック分割部は、画像符号化装置及び復号化装置の各構成部に関連して設定されてもよく、この過程によってブロックのサイズと形状が定められてもよい。この際、設定されるブロックは、構成部に応じて異なるように定義されてもよく、予測部の場合に予測ブロック、変換部の場合に変換ブロック、量子化部の場合に量子化ブロックなどがこれに相当する。これに限定されず、他の構成部に伴うブロック単位がさらに定義されてもよい。ブロックのサイズ及び形状は、ブロックが有する横、縦の長さにより定義されてもよい。
【0089】
ブロック分割部において、ブロックはM×Nで表わされ、各ブロックの最大値と最小値が範囲内において取得される。例えば、ブロックの形状としては、正方形に対応可能であり、ブロックの最大値を256×256、最小値を8×8とした場合、2m×2mのサイズのブロック(この例において、mは、3から8までの整数。例えば、8×8、16×16、32×32、64×64、128×128、256×256)または2m×2mのサイズのブロック(この例において、mは、4から128までの整数)またはm×mのサイズのブロック(この例において、mは、8から256までの整数)を取得してもよい。あるいは、ブロックの形状としては、正方形と直方形に対応可能であり、前記の例と同一の範囲を有する場合、2m×2nのサイズのブロック(この例において、mとnは、3から8までの整数。横と縦の比が最大で2:1である場合を仮定して例を挙げると、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、64×64、64×128、128×64、128×128、128×256、256×128、256×256。符号化/復号化の設定に従って横と縦の比に対する制限がないか、あるいは、横と縦の比の最大値が存在し得る)を取得してもよい。あるいは、2m×2nのサイズのブロック(この例において、mとnは、4から128までの整数)を取得してもよい。あるいは、m×nのサイズのブロック(この例において、mとnは、8から256までの整数)を取得してもよい。
【0090】
ブロック分割部において、入力ブロックは、1つ以上のブロックを取得してもよい。例えば、入力されたブロックがそのまま出力されてもよく、あるいは、2つ以上のサブブロックに分割されて取得されてもよい。この際、サブブロックの数は、2、3、4個などであってもよく、これは、分割方式(分割タイプ)に応じて定められてもよい。前記サブブロックの形状は、分割前のブロック(この例において、入力ブロック)に基づいて取得されてもよく、ブロック分割の設定に従って様々な形状を有してもよい。
【0091】
本発明においては、木ベースの分割方式に重点をおいて説明するが、本発明は、決してこれに限定されるものではない。
【0092】
符号化/復号化の設定(例えば、ブロックの種類、分割方式、分割設定など)に従って取得可能なブロックが定められてもよい。例えば、符号化ブロックは、2m×2nのサイズのブロック、予測ブロックは、2m×2nまたはm×nのサイズのブロック、変換ブロックは、2m×2nのサイズのブロックを取得してもよい。前記設定に基づいて、ブロックのサイズ、範囲などの情報(例えば、指数、倍数に関連する情報など)が生成されてもよい。
【0093】
ブロックの種類に応じて、前記範囲(この例において、最大値及び最小値により定められる)が定められてもよい。また、一部のブロックは、ブロックの範囲情報が明示的に生成されてもよく、一部のブロックは、ブロックの範囲情報が黙示的に定められてもよい。例えば、符号化、変換ブロックは、明示的に関連情報が生成されてもよく、予測ブロックは、黙示的に関連情報が処理されてもよい。
【0094】
明示的である場合には、少なくとも1つの範囲情報が生成されてもよい。例えば、符号化ブロックの場合、範囲に関する情報は、最大値と最小値に関する情報を生成してもよい。あるいは、最大値と既に設定された最小値(例えば、8)との差分(例えば、前記設定に基づいて生成。最大値と最小値との間の指数の差分値情報など)に基づいて生成されてもよい。なお、直方形のブロックの横、縦の長さのための複数の範囲に関する情報が生成されてもよい。
【0095】
黙示的である場合には、符号化/復号化の設定(例えば、ブロックの種類、分割方式、分割設定など)に基づいて、範囲情報が取得されてもよい。例えば、予測ブロックの場合、上位単位である符号化ブロック(例えば、符号化ブロックの最大サイズM×N、最小サイズm×n)から予測ブロックの分割設定(例えば、四分木分割+分割深さ0)により取得可能な候補群(この例において、M×Nとm/2×n/2)として最大値と最小値の情報を取得してもよい。
【0096】
ブロック分割部の初期(または、開始)ブロックのサイズ及び形状は、上位単位から定められてもよい。符号化ブロックの場合、基本符号化ブロックが初期ブロックであってもよく、予測ブロックの場合、符号化ブロックが初期ブロックであってもよく、変換ブロックの場合、符号化ブロックまたは予測ブロックが初期ブロックであってもよく、これは、符号化/復号化の設定に従って定められてもよい。例えば、符号化モードがイントラ(Intra)である場合には、予測ブロックは変換ブロックの上位単位であってもよく、インター(Inter)である場合には、予測ブロックは変換ブロックに対して独立した単位であってもよい。初期ブロックは、分割の開始単位であって、小さいサイズのブロックに分割してもよい。各ブロックの分割に応じた最適なサイズ及び形状が定められると、そのブロックは、下位単位の初期ブロックとして定められてもよい。例えば、前者の場合には符号化ブロック、後者の場合(下位単位)には予測ブロックまたは変換ブロックであってもよい。前記の例のように、下位単位の初期ブロックが定められれば、上位単位のように最適なサイズ及び形状のブロックを探し出すための分割過程が行われてもよい。
【0097】
要するに、ブロック分割部は、基本符号化単位(または、最大の符号化単位)を少なくとも1つの符号化単位(または、下位符号化単位)として分割を行ってもよい。また、符号化単位は、少なくとも1つの予測単位で分割を行ってもよく、少なくとも1つの変換単位で分割を行ってもよい。符号化単位は、少なくとも1つの符号化ブロックに分割を行ってもよく、符号化ブロックは、少なくとも1つの予測ブロックに分割を行ってもよく、少なくとも1つの変換ブロックに分割を行ってもよい。予測単位は、少なくとも1つの予測ブロックに分割を行ってもよく、変換単位は、少なくとも1つの変換ブロックに分割を行ってもよい。
【0098】
前記の例のように、モード決定過程により最適なサイズ及び形状のブロックを探し出す場合、これに関するモード情報(例えば、分割情報など)が生成されてもよい。モード情報は、ブロックが属する構成部において生じる情報(例えば、予測に関連する情報、変換に関連する情報など)とともにビットストリームに収録されて復号化器に伝送されてもよく、復号化器において同じレベルの単位でパーシングして画像復号化過程において用いられてもよい。
【0099】
後述する例においては、分割方式に関する説明を行い、初期ブロックが正方形であることを想定して説明を行うが、直方形である場合、同一もしくは類似の適用が可能であってもよい。
【0100】
図3は、木ベースのブロックの形状を示す例示図である。
【0101】
aは、分割が行われていない1つの2N×2N、bは、一部の分割フラグ(この例において、二分木の横分割)を介して2つの2N×N、cは、一部の分割フラグ(この例において、二分木の縦分割)を介して2つのN×2N、dは、一部の分割フラグ(この例において、四分木の四分割)を介して4個のN×Nが取得される例を示す。分割に用いられる木の種類に応じて、取得されるブロックの形状が定められてもよい。例えば、四分木(Quad Tree)分割を行う場合、取得可能な候補ブロックは、a、dであってもよい。二分木(Binary Tree)分割を行う場合、取得可能な候補ブロックは、a、b、cであってもよい。四分木の場合、1つの分割フラグに対応可能であり、当該フラグが「0」である場合にa、「1」である場合にdを取得してもよい。二分木の場合、複数の分割フラグに対応可能であり、これらの1つは、分割有無を示すフラグであってもよく、これらの1つは、横/縦の分割有無を示すフラグであってもよい。四分木の場合、基本的な木に基づく分割方式であってもよく、これにさらに木分割方式(この例において、二分木)が木に基づく分割方式に含まれてもよい。さらなる木分割を許容するフラグが黙示的にまたは明示的に活性化される場合、複数の木分割を行ってもよい。木に基づく分割は、再帰分割(Recursive Partition)が可能な方式であってもよい。すなわち、分割されたブロックが再び初期ブロックに設定されて木に基づく分割が行われてもよく、これは、分割範囲、分割許容深さなどの分割設定に従って定められてもよい。これは、階層的な分割方式の一例であってもよい。
【0102】
図4は、本発明のブロック分割部において取得可能な様々なブロックの形状を示す例示図である。
【0103】
図4を参照すると、分割設定、分割方式に応じて、a~sのブロックを取得してもよく、図示しないさらなるブロックの形状もまた取得可能であってもよい。
【0104】
一例1によれば、木に基づく分割に非対称分割を許容してもよい。例えば、二分木の場合、b、cなどのブロックが取得可能であってもよく、あるいは、b~gなどのブロックが取得可能であってもよい。非対称分割を許容するフラグが符号化/復号化の設定に従って明示的または黙示的に非活性化される場合、取得可能な候補ブロックは、bまたはcであってもよく、非対称分割を許容するフラグが活性化される場合、取得可能な候補ブロックは、b、d、e(この例において、横分割)であってもよく、c、f、g(この例において、縦分割)であってもよい。
【0105】
前記の例において、非対称分割の左:右または上:下の長さの比は、1:3または3:1である場合を想定して説明するが、これに限定されず、その他の比を有する候補群(例えば、1:2、1:4、2:3、2:5、3:5など)を有することも符号化の設定に従って可能である。
【0106】
次は、二分木分割(この例において、1:1、1:3、3:1の候補群)において生じる分割情報に対する様々な例を示す。
【0107】
例えば、分割有無を示すフラグ、分割方向を示すフラグにさらに分割形状を示すフラグが発生してもよい。この際、分割形状は、対称または非対称の分割を意味してもよい。これらのうち、非対称分割が分割形状として決定される場合には、分割比率を示すフラグが発生してもよく、既に設定された候補群に応じてインデックスが割り当てられてもよい。もし、候補群として1:3または3:1の分割比率に対応可能である場合、1ビットのフラグにより分割比率を選択してもよい。
【0108】
あるいは、分割有無を示すフラグ、分割方向を示すフラグにさらに分割比率を示すフラグが発生してもよい。この例において、分割比率に対する候補群として、1:1の対称比率を有する候補が含まれて構成されてもよい。
【0109】
本発明においては(非対称分割を許容するフラグが活性化される場合)、二分木分割において前者の例のような構成を有する場合を仮定し、特に断りのない限り、二分木は、対称二分木を意味する。
【0110】
一例2によれば、木に基づく分割にさらなる木分割を許容してもよい。例えば、三分木(Ternary Tree)、四分木(Quad Type Tree)、八分木(Octa Tree)などの分割が可能であり、これにより、n個の分割ブロック(この例において、3、4、8。nは、整数)を取得してもよい。三分木の場合、対応可能なブロック(この例において、複数のブロックに分割された場合)は、h~mであってもよく、四分木の場合、対応可能なブロックは、n~pであってもよく、八分木の場合、対応可能なブロックは、qであってもよい。前記木に基づく分割の対応可否は、符号化/復号化の設定に従って黙示的に定められてもよく、あるいは、明示的に関連情報が生成されてもよい。なお、符号化/復号化の設定に従って単独で用いられてもよく、あるいは、二分木、四分木分割などと併用されてもよい。
【0111】
例えば、二分木の場合、b、cなどのブロックが取得可能であり、二分木と三分木が併用される場合(この例においては、二分木の使用範囲と三分木の使用範囲が一部重複する場合であると仮定する)、b、c、i、lなどのブロックが取得可能であってもよい。既存の木に加えてさらなる分割を許容するフラグが符号化/復号化の設定に従って明示的または黙示的に非活性化される場合、取得可能な候補ブロックは、bまたはcであってもよく、活性化される場合、取得可能な候補ブロックは、b、iまたはb、h、i、j(この例において、横分割)であってもいか、あるいは、c、lまたはc、k、l、m(この例において、縦分割)であってもよい。
【0112】
前記の例において、三分木分割の左:中:右または上:中:下の長さの比は、2:1:1または1:2:1または1:1:2である場合を想定して説明するが、これに限定されず、その他の比率を有することも符号化の設定によって可能である。
【0113】
次は、三分木分割(この例において、1:2:1である候補)において生じる分割情報に対する例を示す。
【0114】
例えば、分割有無を示すフラグ、分割方向を示すフラグにさらに分割種類を示すフラグが発生してもよい。この際、分割種類は、二分木または三分木分割を意味してもよい。
【0115】
本発明においては、分割方式に応じて、適応的な符号化/復号化の設定を適用してもよい。
【0116】
一例によれば、ブロックの種類に応じて分割方式が定められてもよい。例えば、符号化ブロックと変換ブロックは四分木分割を、予測ブロックは四分木と二分木(または、三分木など)分割方式を用いてもよい。
【0117】
一例によれば、ブロックのサイズに応じて分割方式が定められてもよい。例えば、ブロックの最大値と最小値との間における一部の範囲(例えば、a×b~c×d。後者がさらに大きいサイズである場合)には四分木分割を、一部の範囲(例えば、e×f~g×h)には二分木(または、三分木など)分割が可能であってもよい。この際、分割方式に応じた範囲情報が明示的に生成されてもよく、黙示的に定められてもよく、前記範囲としては、重なり合う場合もまた採用可能である。
【0118】
一例によれば、ブロック(または、分割前のブロック)の形状に応じて分割方式が定められてもよい。例えば、ブロックの形状が正方形である場合、四分木と二分木(または、三分木など)分割が可能であってもよい。あるいは、ブロックの形状が直方形である場合に、二分木(または、三分木など)に基づく分割が可能であってもよい。
【0119】
一例によれば、ブロックの種類に応じて分割設定が定められてもよい。例えば、木に基づく分割において、符号化ブロックと予測ブロックは四分木を、変換ブロックは二分木分割を用いてもよい。あるいは、符号化ブロックの場合、分割許容深さをmに、予測ブロックの場合、分割許容深さをnに、変換ブロックの場合、分割許容深さをoに設定してもよく、mとnとoは、同一であってもよく、同一ではなくてもよい。
【0120】
一例によれば、ブロックのサイズに応じて分割設定が定められてもよい。例えば、ブロックの一部の範囲(例えば、a×b~c×d)には四分木分割を、一部の範囲(例えば、e×f~g×h。この例において、c×dは、g×hよりも大きいと仮定する)には二分木分割を、一部の範囲(例えば、i×j~k×l。この例において、g×hはk×lよりも大きいかあるいはそれに等しいと仮定)には三分木分割が可能であってもよい。この際、前記範囲としてブロックの最大値と最小値との間のすべての範囲を含んでいてもよく、前記範囲は、重なり合わない設定を有していてもよく、重なり合う設定を有していてもよい。例えば、一部の範囲の最小値は、一部の範囲の最大値に等しくてもよく、あるいは、一部の範囲の最小値は、一部の範囲の最大値よりも小さくてもよい。重なり合う範囲を有する場合、さらに高い最大値を有する分割方式が優先順位を有してもよく、あるいは、どのような分割方式を用いるかに関する情報が明示的に生成されてもよい。すなわち、優先順位を有する分割方式において、分割結果に従って後順位を有する分割方式の遂行有無が定められてもよく、あるいは、分割方式の選択情報に従ってどのような分割方式を用いられるかが定められてもよい。
【0121】
一例によれば、ブロックの形状に応じて分割設定が定められてもよい。例えば、ブロックの形状が正方形である場合、四分木分割が可能である。あるいは、ブロックの形状が直方形である場合、二分木または三分木分割が可能である。
【0122】
一例によれば、符号化/復号化情報(例えば、スライスタイプ、カラー成分、符号化モードなど)に従って分割設定が定められてもよい。例えば、スライスタイプがIである場合、四分木(または、二分木、三分木)分割は一部の範囲(例えば、a×b~c×d)において、Pである場合、一部の範囲(例えば、e×f~g×h)において、Bである場合、一部の範囲(例えば、i×j~k×l)において可能であってもよい。また、スライスタイプがIである場合、四分木(または、二分木、三分木分割)分割の分割許容深さmに、Pである場合、分割許容深さnに、Bである場合、分割許容深さoに設定してもよく、mとnとoは、同じであってもよく、同じではなくてもよい。一部のスライスタイプの場合、他のスライス(例えば、PとBスライス)と同じ設定を有していてもよい。
【0123】
別の例によれば、カラー成分が輝度成分である場合、四分木(または、二分木、三分木)分割許容深さをmに、色差成分である場合、nに設定してもよく、mとnは、同じであってもよく、同じではなくてもよい。なお、カラー成分が輝度成分である場合における四分木(または、二分木、三分木)分割の範囲(例えば、a×b~c×d)と、色差成分である場合における四分木(quad tree)(または、二分木、三分木)分割の範囲(例えば、e×f~g×h)は、同じであってもよく、同じではなくてもよい。
【0124】
別の例によれば、符号化モードがイントラである場合、四分木(または、二分木、三分木)分割許容深さがmであってもよく、インターである場合、n(この例において、nはmよりも大きいことを想定)であってもよく、mとnは、同じであってもよく、同じではなくてもよい。また、符号化モードがイントラである場合における四分木(または、二分木、三分木)分割の範囲と、符号化モードがインターである場合における四分木(または、二分木、三分木)分割の範囲は、同じであってもよく、同じではなくてもよい。
【0125】
前記の例の場合、符号化/復号化情報に応じた適応的な分割候補群の構成への対応可否に関する情報が明示的に生成されてもよく、あるいは、黙示的に定められてもよい。
【0126】
前記の例を挙げて符号化/復号化の設定に従って分割方式と分割設定が定められる場合について説明した。前記の例は、各要素に伴う一部の場合を示し、他の場合への変形もまた可能である。また、複数の要素による組み合わせに応じて分割方式と分割設定が定められてもよい。例えば、ブロックの種類、サイズ、形状、符号化/復号化情報などにより分割方式と分割設定が定められてもよい。
【0127】
また、前記の例において分割方式、設定などに関与する要素は、黙示的に定められてもよく、あるいは、明示的に情報を生成して前記の例などの適応的な場合の許容有無を定めてもよい。
【0128】
前記分割設定のうち、分割深さは、初期ブロックを基準として空間的に分割した回数(この例において、初期ブロックの分割深さは0)を意味し、分割深さが増えるにつれてさらに小さいブロックに分割され得る。なお、分割方式に応じて深さに関連する設定を異ならせてもよい。例えば、木に基づく分割を行う方式のうち、二分木の分割深さ及び三分木の分割深さとしては、共通する1つの深さを用いても良く、四分木の分割深さ及び二分木の分割深さとしては、互いに異なる深さを用いてもよいなど、木の種類に応じた個別的な深さを用いてもよい。
【0129】
前記の例において、木の種類に応じて個別的な分割深さを用いる場合、木の分割開始位置(この例において、分割を行う前のブロック)において分割深さ0に設定してもよい。各木の分割範囲(この例において、最大値)に基づくことなく、分割が開始される位置を中心として分割深さが計算されてもよい。
【0130】
図5は、本発明の一実施形態に係るブロック分割過程を示す。詳しくは、基本符号化ブロックを開始として1つ以上の分割方法に従って取得可能なブロックのサイズ及び形状に対する例を示す。
【0131】
図中、太い実線は、基本符号化ブロックを、太い点線は、四分木分割境界を、二重実線は、対称二分木分割境界を、実線は、三分木分割境界を、細い点線は、非対称二分木分割境界を意味する。太い実線を除いては、各分割方法に従って仕切られる境界を意味する。以下において説明する分割設定(例えば、分割種類、分割情報、分割情報の構成順序など)は、当該例の場合にのみ限定されず、様々な変形の例が存在可能である。
【0132】
説明の便宜上、基本符号化ブロック(2N×2N。128×128)を基準として左上、右上、左下、右下のブロック(N×N。64×64)に個別的なブロック分割設定を有する場合を仮定して説明する。まず、初期ブロックにおいて一回の分割動作(分割深さ0→1.すなわち、分割深さが1増加)により4個のサブブロックが取得された状態であり、四分木に関する分割設定により、最大符号化ブロックは128×128、最小符号化ブロックは8×8であり、最大の分割深さは4である場合であって、これは、各ブロックに共通して適用される設定であることを想定する。
【0133】
(1番.左上ブロック。A0~A6)
この例は、単一木方式の分割(この例において、四分木)に対応可能な場合であって、最大符号化ブロック、最小符号化ブロック、分割深さなどの1つのブロック分割設定により取得可能なブロックのサイズ及び形状が定められても良い。この例においては、分割に伴って取得可能なブロックが1つである場合(横と縦をそれぞれ2分割)であって、一回の分割動作(分割前のブロック4M×4Nを基準とする。分割深さが1増加)に求められる分割情報は分割有無を示すフラグ(この例において、0であれば分割なし。1であれば分割あり)であり、取得可能な候補は、4M×4Nと2M×2Nである。
【0134】
(2番.右上ブロック。A7~A11)
【0135】
この例は、多重木方式の分割(この例において、四分木、二分木)に対応可能な場合であって、複数のブロック分割設定により取得可能なブロックのサイズ及び形状が定められる。この例において、二分木の場合、最大符号化ブロックは64×64、最小符号化ブロックは、一方の長さが4であり、最大の分割深さが4である場合であることを想定している。
【0136】
この例においては、分割に伴って取得可能なブロックは2つ以上である場合(この例において、2または4個)であるため、一回の分割動作(四分木分割深さが1増加)に求められる分割情報は、分割有無を示すフラグ、分割種類を示すフラグ、分割形状を示すフラグ、分割方向を示すフラグであり、取得可能な候補は、4M×4N、4M×2N、2M×4N、4M×N/4M×3N、4M×3N/4M×N、M×4N/3M×4N、3M×4N/M×4Nである。
【0137】
もし、四分木と二分木の分割範囲が重なり合い(すなわち、現在段階において四分木分割と二分木分割が両方とも可能な範囲)、現在ブロック(まだ分割する前の状態)が四分木分割により取得されたブロック(親ブロック<分割深さが現在より1だけ小さい場合>から四分木分割により取得されたブロック)である場合に、分割情報は、次のような場合に区別されて構成される。すなわち、各分割設定に従って対応可能なブロックが複数の分割方法により取得可能である場合には、次のような過程により分類して分割情報を生じることが可能である。
【0138】
(1)四分木分割と二分木分割が重なり合う場合
【0139】
【表1】
【0140】
前記の表において、aは、四分木分割の有無を示すフラグを意味し、1であれば、四分木分割(QT)を行う。前記のフラグが0であれば、二分木分割の有無を示すフラグであるbを確認する。bが0であれば、当該ブロックにおいてそれ以上の分割は行わず(No Split)、1であれば、二分木分割を行う。
【0141】
cは、分割方向を示すフラグであって、0であれば、横分割(hor)を、1であれば、縦分割(ver)を意味し、dは、分割形状を示すフラグであって、0であれば、対称分割(SBT;Symmetric Binary Tree)を、1であれば、非対称分割(ABT;Asymmetric Binary Tree)を意味する。dが1であるときにのみ非対称分割における細部分割比率に関する情報(1/4または3/4)を確認し、0であるときは、左/右または上/下のブロックにおいて左と上のブロックが1/4の比率を有し、右と下のブロックが3/4の比率を有し、1であれば、反対の比率を有する。
【0142】
(2)二分木分割のみ可能である場合
前記の表において、aを除くb~eのフラグで分割情報について表すことができる。
【0143】
図5において、A7ブロックの場合、分割前のブロックA7~A11において四分木分割が可能である場合(すなわち、四分木分割が可能であったものの、四分木分割ではない二分木分割が行われた場合)であったため、(1)における分割情報が生成される場合に相当する。
【0144】
これに対し、A8~A11の場合、分割前のブロックA8~A11において既に四分木分割が行われず、二分木分割が行われた場合(すなわち、それ以上当該ブロック<A8~A11>においては四分木分割が不可能である場合)であるため、(2)における分割情報が生成される場合に相当する。
【0145】
(3番.左下ブロック。A12~A15)
この例は、多重木方式の分割(この例において、四分木、二分木、三分木)に対応可能な場合であって、複数のブロック分割設定により取得可能なブロックのサイズ及び形状が定められる。この例において、二分木/三分木の場合、最大符号化ブロックは64×64、最小符号化ブロックは、一方の長さが4であり、最大分割深さが4である場合であることを想定する。
【0146】
この例においては、分割に伴って取得可能なブロックは2つ以上である場合(この例において、2、3、4個)であるため、一回の分割動作に求められる分割情報は、分割有無を示すフラグ、分割種類を示すフラグ、分割方向を示すフラグであり、取得可能な候補は、4M×4N、4M×2N、2M×4N、4M×N/4M×2N/4M×N、M×4N/2M×4N/M×4Nである。
【0147】
もし、四分木と二分木/三分木の分割範囲が重なり合い、現在ブロックが四分木分割により取得されたブロックである場合に、分割情報は、次のような場合に区別されて構成される。
【0148】
(1)四分木分割と二分木/三分木分割が重なり合う場合
【0149】
【表2】
【0150】
前記の表において、aは、四分木分割の有無を示すフラグであり、1であれば、四分木分割を行う。前記フラグが0であれば、二分木または三分木分割の有無を示すフラグであるbを確認する。bが0であれば、当該ブロックにおいてそれ以上の分割は行わず、1であれば、二分木または三分木分割を行う。
【0151】
cは、分割方向を示すフラグであって、0であれば、横分割を、1であれば、縦分割を意味し、dは、分割種類を示すフラグであって、0であれば、二分木分割(BT)を、1であれば、三分木分割(TT)を意味する。
【0152】
(2)二分木/三分木分割のみ可能である場合
前記の表において、aを除くb~dのフラグで分割情報について表すことができる。
【0153】
図5において、A12、A15ブロックの場合、分割前のブロックA12~A15において四分木分割が可能である場合であったため、(1)における分割情報が生成される場合に相当する。
【0154】
これに対し、A13とA14は、分割前のブロックA13、A14において既に四分木に分割が行われず、三分木に分割された場合であるため、(2)における分割情報が生成される場合に相当する。
【0155】
(4番.左下ブロック。A16~A20)
この例は、多重木方式の分割(この例において、四分木、二分木、三分木)に対応可能な場合であって、複数のブロック分割設定により取得可能なブロックのサイズ及び形状が定められる。この例において、二分木/三分木の場合、最大符号化ブロックは64×64であり、最小符号化ブロックは、一方の長さが4であり、最大分割深さが4である場合を仮定する。
【0156】
この例においては、分割に伴って取得可能なブロックは、2つ以上である場合(この例において、2、3、4個)であるため、一回の分割動作に求められる分割情報は、分割有無を示すフラグ、分割種類を示すフラグ、分割形状を示すフラグ、分割方向を示すフラグであり、取得可能な候補は、4M×4N、4M×2N、2M×4N、4M×N/4M×3N、4M×3N/4M×N、M×4N/3M×4N、3M×4N/M×4N、4M×N/4M×2N/4M×N、M×4N/2M×4N/M×4Nである。
【0157】
もし、四分木と二分木/三分木の分割範囲が重なり合い、現在ブロックが四分木分割により取得されたブロックである場合に、分割情報は、次のような場合に区別されて構成される。
【0158】
(1)四分木分割と二分木/三分木分割が重なり合う場合
【0159】
【表3】
【0160】
前記の表において、aは、四分木分割の有無を示すフラグを意味し、1であれば、四分木分割を行う。前記フラグが0であれば、二分木分割の有無を示すフラグであるbを確認する。bが0であれば、当該ブロックにおいてそれ以上の分割は行わず、1であれば、二分木または三分木分割を行う。
【0161】
cは、分割方向を示すフラグであって、0であれば、横分割を、1であれば、縦分割を意味し、dは、分割種類を示すフラグであって、0であれば、三分木分割を、1であれば、二分木分割を意味する。dが1であるときは、分割形状に対するフラグであるeを確認し、eが0であるときには対称分割を、1であるときには非対称分割を行う。eが1であるときは、非対称分割における細部分割比率に関する情報を確認し、これは、前の例と同様である。
【0162】
(2)二分木/三分木分割のみ可能である場合
前記の表において、aを除くb~fのフラグで分割情報について表すことができる。
【0163】
図5において、A20ブロックは、分割前のブロックA16~A19において四分木分割が可能である場合であったため、(1)における分割情報が生成される場合に相当する。
【0164】
これに対し、A16~A19の場合、分割前のブロックA16~A19において既に四分木分割が行われず、二分木分割が行われた場合であるため、(2)における分割情報が生成される場合に相当する。
【0165】
以下、マージモード(merge mode)に基づくインター予測方法について述べる。マージモードにおいては、1つのブロック単位で動き情報が導出されてもよい。ここで、ブロックは、前述したブロック分割により決定された符号化ブロックを意味してもよい。また、ブロックは、葉ノード(leaf node)の符号化ブロックであって、それ以上さらに小さい符号化ブロックに分割されないブロックを意味してもよい。前記マージモードにおいては、1つのブロックに属しているサブブロック単位で動き情報が導出されてもよい。このために、1つのブロックは、複数のサブブロックにさらに分割されてもよい。例えば、アフィン動きモデリング(affine motion modeling)が前記サブブロック単位のマージモードに基づいて行われてもよい。現在ブロックは、ブロック単位のマージモードまたはサブブロック単位のマージモードのどちらか一方を選択的に用いてもよく、このために、所定のフラグが用いられてもよい。ここで、フラグは、サブブロック単位のマージモードが適用されるか否かを示す情報であってもよい。前記フラグは、所定の符号化パラメータに基づいて、符号化装置において符号化されてシグナリングされてもよく、復号化装置から導出されてもよい。前記符号化パラメータは、ブロックのサイズ/形状、成分タイプ、分割タイプ、分割深さなどを意味してもよい。例えば、現在ブロックのサイズがN×Mよりも大きいかあるいはそれに等しい場合、前記フラグはシグナリングされてもよく、そうではない場合、前記フラグは既に定義された値として導出されてもよい。ここで、NとMは、8、16またはそれ以上の整数であってもよい。NとMは、同じであってもよく、互いに異なっていてもよい。ブロック単位のマージモードについては図6を、サブブロック単位のマージモードについては図7図10をそれぞれ参照して説明する。
【0166】
図6は、本発明が適用される一実施形態であって、ブロック単位のマージモードに基づくインター予測を行う方法を示す図である。
【0167】
図6を参照すると、現在ブロックのマージ候補リストを構成する(S600)。
【0168】
マージ候補リストは、現在ブロックの空間的マージ候補または時間的マージ候補の少なくとも一方を含んでいてもよい。
【0169】
空間的マージ候補の動き情報は、現在ブロックの空間的隣接ブロックの動き情報から導出されてもよい。ここで、空間的隣接ブロックは、現在ブロックと同一のピクチャに属するブロックであって、現在ブロックに隣接するブロックを意味する。空間的隣接ブロックは、現在ブロックの左側、上端、右上端、左下端または左上端の少なくとも1つに隣接するブロックを含んでいてもよい。左上端の隣接ブロックは、左側、上端、右上端及び左下端に隣接するブロックの少なくとも1つが可用(使用可能)ではない場合に限って用いられても良い。
【0170】
時間的マージ候補の動き情報は、現在ブロックの時間的隣接ブロックの動き情報から導出されてもよい。時間的隣接ブロックは、現在ブロックとは異なるピクチャに属するブロックであって、現在ブロックと同一位置のブロックと定義される。ここで、同一位置のブロックは、現在ブロックの右下端の隅部に隣接するブロック(BR)、現在ブロックの中央のサンプルの位置を含むブロック(CTR)または現在ブロックの左上端のサンプルの位置を含むブロック(TL)の少なくとも1つを意味してもよい。あるいは、同一位置のブロックは、現在ブロックの左上端のサンプルの位置から所定の視差ベクトル(disparity vector)に見合う分だけずらした位置を含むブロックを意味してもよい。ここで、視差ベクトルは、前述した空間的隣接ブロックの動きベクトルのいずれか1つに基づいて決定されてもよい。あるいは、視差ベクトルは、前述した空間的隣接ブロックの動きベクトルの少なくとも2つの組み合わせに基づいて決定されてもよい。前記組み合わせは、最大値、最小値、中間値、加重平均値などの演算を意味してもよい。例えば、前記視差ベクトルは、左側に隣接するブロックまたは上端に隣接するブロックの動きベクトルに設定されてもよい。あるいは、視差ベクトルは、左側に隣接するブロックの動きベクトルと左下端に隣接するブロックの動きベクトルとの間の中間値または平均値に設定されてもよい。
【0171】
時間的マージ候補の動きベクトルと参照ピクチャインデックスは、前述した時間的隣接ブロックの動きベクトルと参照ピクチャインデックスにそれぞれ導出されてもよい。あるいは、時間的マージ候補の動きベクトルは、時間的隣接ブロックの動きベクトルとして導出され、時間的マージ候補の参照ピクチャインデックスは、時間的隣接ブロックとは無関係に、復号化装置に既に約束されたデフォルト(例えば、0)に設定されてもよい。
【0172】
マージ候補リストは、組み合わせマージ候補をさらに含んでいてもよい。組み合わせマージ候補は、既に生成されたマージ候補リストに属しているn個のマージ候補を組み合わせて導出されてもよい。
【0173】
ここで、nは、2、3、4またはそれ以上の整数であってもよい。組み合わせ対象であるマージ候補の数(n)は、符号化/復号化装置に既に約束された固定値であってもよく、符号化装置において符号化されてシグナリングされてもよい。前記シグナリングは、シーケンス、ピクチャ、スライス、タイル、サブタイル(レンガ、brick)または所定のブロックの少なくとも1つの単位で行われてもよい。組み合わせ対象であるマージ候補の数(n)は、残りのマージ候補の数に基づいて、可変的に決定されてもよい。ここで、残りのマージ候補の数は、マージ候補リストに含まれ得るマージ候補の最大数とマージ候補リストに属しているマージ候補の現在の数との差分を意味する。前記最大数は、符号化/復号化装置に既に約束された数であってもよく、符号化装置において符号化されてシグナリングされてもよい。前記現在の数は、組み合わせマージ候補を追加する前まで構成されたマージ候補の数を意味する。例えば、残りのマージ候補の数が1である場合、2つのマージ候補が用いられ、残りのマージ候補の数が1よりも大きい場合、3個またはそれ以上のマージ候補が用いられてもよい。
【0174】
前記n個のマージ候補の位置は、マージ候補リストにおいて既に決定された位置であってもよい。例えば、マージ候補リストに属しているマージ候補別にインデックス(0~(k-1))が割り当てられてもよい。ここで、kは、マージ候補リストに属しているマージ候補の総数を意味してもよい。この際、n個のマージ候補の位置は、マージ候補リストにおけるインデックス0~インデックス(n-1)に対応してもよい。あるいは、前記n個のマージ候補は、マージ候補リストに属している各マージ候補の予測方向を考慮して決定されてもよい。例えば、マージ候補リストに属しているマージ候補のうち、両方向予測であるマージ候補のみを選択的に用いてもよく、単方向予測であるマージ候補のみを選択的に用いてもよい。
【0175】
組み合わせマージ候補は、空間的マージ候補と時間的マージ候補を両方とも用いて導出されてもよく、空間的マージ候補または時間的マージ候補のどちらか一方のみを用いて導出されてもよい。例えば、組み合わせマージ候補は、空間的マージ候補のみを用いて導出されるように制限されてもよい。この場合、組み合わせ対象であるマージ候補の数は、既に生成されたマージ候補リストに属している空間的マージ候補の数以下に制限されてもよい。
【0176】
前記組み合わせマージ候補は、マージ候補リストにおける空間的/時間的マージ候補の以降に追加されてもよい。すなわち、組み合わせマージ候補のインデックスは、空間的/時間的マージ候補のインデックスよりも大きくてもよい。あるいは、前記組み合わせマージ候補は、マージ候補リストにおける空間的マージ候補と時間的マージ候補との間に追加されてもよい。すなわち、組み合わせマージ候補のインデックスは、空間的マージ候補のインデックスより大きく、時間的マージ候補のインデックスより小さくてもよい。あるいは、組み合わせマージ候補の位置は、組み合わせマージ候補の予測方向を考慮して可変的に決定されてもよい。組み合わせマージ候補の予測方向が両方向予測であるか否かに応じて、マージ候補リスト内において組み合わせマージ候補の位置が並べ替えられてもよい。例えば、組み合わせマージ候補が両方向予測である場合、空間的または時間的マージ候補よりも小さいインデックスが割り当てられても良く、そうではない場合、空間的または時間的マージ候補よりも大きいインデックスが割り当てられてもよい。
【0177】
以下、説明のしやすさのために、2つのマージ候補に基づいて、組み合わせマージ候補を導出する方法について述べる。
【0178】
組み合わせマージ候補の動き情報は、第1のマージ候補と第2のマージ候補の動き情報を加重平均して導出されてもよい。ここで、加重平均の重みは、[1:1]、[1:2]、[1:3]、[2:3]などであるが、これに限定されない。前記重みは、符号化/復号化装置に既に定義されたものであってもよく、復号化装置から導出されてもよい。この際、重みは、現在ピクチャとマージ候補の参照ピクチャとの間の距離またはマージ候補の予測方向の少なくとも一方を考慮して導出されてもよい。あるいは、組み合わせマージ候補の動き情報は、第1のマージ候補からL0方向の動き情報を、第2のマージ候補からL1方向の動き情報をそれぞれ取得し、これらを組み合わせて導出されてもよい。前述した導出方法の少なくとも一方に基づいて、組み合わせマージ候補の動き情報が導出されてもよく、これは、後述するように、組み合わせ対象であるマージ候補の予測方向を考慮して行われてもよい。
【0179】
この明細書において、動き情報は、予測方向のフラグ、参照ピクチャインデックスまたは動きベクトルの少なくとも1つを含んでいてもよい。前記動き情報は、L0予測とL1予測についてそれぞれ定義されてもよい。ここで、L0予測は、参照ピクチャリストL0を参照する予測を意味し、L1予測は、参照ピクチャリストL1を参照する予測を意味する。
【0180】
1.第1のマージ候補と第2のマージ候補が両方とも単方向予測である場合
(CASE1)第1のマージ候補がL0予測であり、第2のマージ候補がL1予測である場合、組み合わせマージ候補のL0方向の参照ピクチャインデックスは、第1のマージ候補の参照ピクチャインデックスとして導出される。組み合わせマージ候補のL0方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL0方向の動きベクトルは、第1のマージ候補の動きベクトルとして導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは、第2のマージ候補の参照ピクチャインデックスとして導出される。組み合わせマージ候補のL1方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL1方向の動きベクトルは、第2のマージ候補の動きベクトルとして導出される。
【0181】
(CASE2)第1のマージ候補がL1予測であり、第2のマージ候補がL0予測である場合、組み合わせマージ候補のL0方向の参照ピクチャインデックスは、第2のマージ候補の参照ピクチャインデックスとして導出される。組み合わせマージ候補のL0方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL0方向の動きベクトルは、第2のマージ候補の動きベクトルとして導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは、第1のマージ候補の参照ピクチャインデックスとして導出される。組み合わせマージ候補のL1方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL1方向の動きベクトルは、第1のマージ候補の動きベクトルとして導出される。
【0182】
(CASE3)第1のマージ候補及び第2のマージ候補がL0予測である場合、組み合わせマージ候補のL0方向の参照ピクチャインデックスは、第1のマージ候補または第2のマージ候補のどちらか一方の参照ピクチャインデックスとして導出される。例えば、第1のマージ候補及び第2のマージ候補のうち、インデックスが最も小さいマージ候補の参照ピクチャインデックスが組み合わせマージ候補のL0方向の参照ピクチャインデックスに設定される。組み合わせマージ候補のL0方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL0方向の動きベクトルは、第1のマージ候補の動きベクトルと第2のマージ候補との加重平均として導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは-1として導出され、L1方向の予測方向のフラグは0として導出され、L1方向の動き情報は0として導出される。
【0183】
(CASE4)第1のマージ候補及び第2のマージ候補がL1予測である場合、組み合わせマージ候補のL0方向の参照ピクチャインデックスは、-1として導出され、L0方向の予測方向のフラグは0として導出され、L0方向の動き情報は0として導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは、第1のマージ候補または第2のマージ候補のどちらか一方の参照ピクチャインデックスとして導出される。例えば、第1のマージ候補及び第2のマージ候補のうち、インデックスが最も小さいマージ候補の参照ピクチャインデックスが組み合わせマージ候補のL1方向の参照ピクチャインデックスに設定される。組み合わせマージ候補のL1方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL1方向の動きベクトルは、第1のマージ候補の動きベクトルと第2のマージ候補との加重平均として導出される。
【0184】
2.第1のマージ候補と第2のマージ候補が両方とも両方向予測である場合
(CASE5)組み合わせマージ候補のL0方向の参照ピクチャインデックスは、第1のマージ候補または第2のマージ候補のどちらか一方の参照ピクチャインデックスとして導出される。例えば、第1のマージ候補及び第2のマージ候補のうち、インデックスが最も小さいマージ候補の参照ピクチャインデックスが組み合わせマージ候補のL0方向の参照ピクチャインデックスに設定される。組み合わせマージ候補のL0方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL0方向の動きベクトルは、第1のマージ候補の動きベクトルと第2のマージ候補との加重平均として導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは、第1のマージ候補または第2のマージ候補のどちらか一方の参照ピクチャインデックスとして導出される。例えば、第1のマージ候補及び第2のマージ候補のうち、インデックスが最も小さいマージ候補の参照ピクチャインデックスが組み合わせマージ候補のL1方向の参照ピクチャインデックスに設定される。組み合わせマージ候補のL1方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL1方向の動きベクトルは、第1のマージ候補の動きベクトルと第2のマージ候補との加重平均として導出される。
【0185】
3.第1のマージ候補は両方向予測であり、第2のマージ候補は単方向予測である場合
(CASE6)第2のマージ候補がL0予測である場合、組み合わせマージ候補のL0方向の参照ピクチャインデックスは、第1のマージ候補または第2のマージ候補のどちらか一方の参照ピクチャインデックスとして導出される。例えば、第1のマージ候補及び第2のマージ候補のうち、インデックスが最も小さいマージ候補の参照ピクチャインデックスが組み合わせマージ候補のL0方向の参照ピクチャインデックスに設定される。組み合わせマージ候補のL0方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL0方向の動きベクトルは、第1のマージ候補の動きベクトルと第2のマージ候補との加重平均として導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは、第1のマージ候補の参照ピクチャインデックスとして導出される。組み合わせマージ候補のL1方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL1方向の動きベクトルは、第1のマージ候補の動きベクトルとして導出される。
【0186】
(CASE7)第2のマージ候補がL1予測である場合、組み合わせマージ候補のL0方向の参照ピクチャインデックスは、第1のマージ候補の参照ピクチャインデックスとして導出される。組み合わせマージ候補のL0方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL0方向の動きベクトルは、第1のマージ候補の動きベクトルとして導出される。組み合わせマージ候補のL1方向の参照ピクチャインデックスは、第1のマージ候補または第2のマージ候補のどちらか一方の参照ピクチャインデックスとして導出される。例えば、第1のマージ候補及び第2のマージ候補のうち、インデックスが最も小さいマージ候補の参照ピクチャインデックスが組み合わせマージ候補のL1方向の参照ピクチャインデックスに設定される。組み合わせマージ候補のL1方向の予測方向のフラグは1として導出される。組み合わせマージ候補のL1方向の動きベクトルは、第1のマージ候補の動きベクトルと第2のマージ候補との加重平均として導出される。
【0187】
図6を参照すると、マージ候補リストから現在ブロックの動き情報が導出される(S610)。
【0188】
具体的に、現在ブロックのマージインデックス(merge index)がシグナリングされてもよい。マージインデックスは、マージ候補リストに属している複数のマージ候補のいずれか1つを特定してもよい。すなわち、マージインデックスと同一のインデックスをもったマージ候補を抽出し、抽出されたマージ候補の動き情報を用いて現在ブロックの動き情報が導出されてもよい。
【0189】
図6を参照すると、導出された動き情報を用いて、現在ブロックのインター予測を行う(S620)。
【0190】
具体的に、現在ブロックの参照ピクチャインデックスに基づいて、参照ピクチャリストから参照ピクチャを選択してもよい。現在ブロックの動きベクトルに基づいて、前記参照ピクチャ内の参照ブロックを特定してもよい。特定された参照ブロックの復元画素を用いて、現在ブロックの予測画素を生成してもよい。前記現在ブロックの予測画素と残差画素を加算して現在ブロックを復元してもよい。ここで、残差画素は、ビットストリームによりシグナリングされる残差係数に逆量子化または逆変換の少なくとも一方を行って導出されてもよい。
【0191】
図7は、本発明が適用される一実施形態であって、アフィンモデルに基づくインター予測方法を示す図である。
【0192】
図7を参照すると、現在ブロックの動き情報を予測するための候補リストを生成する(S700)。
【0193】
前記候補リストは、1つまたはそれ以上のアフィンモデルに基づく候補(以下、アフィン候補と称する。)を含んでいてもよい。アフィン候補(Affine Candidate)は、制御点ベクトル(control point vector)をもった候補を意味する。制御点ベクトルは、アフィンモデルのための制御点の動きベクトルを意味し、ブロックの隅部の位置(例えば、左上端、右上端、左下端、または右下端の隅部の少なくとも1つの位置)に対して定義されてもよい。
【0194】
アフィン候補は、空間的候補、時間的候補または構成された候補のうち少なくとも1つを含んでいてもよい。ここで、空間的候補は、現在ブロックに空間的に隣接する隣接ブロックのベクトルから導出されてもよく、時間的候補は、現在ブロックに時間的に隣接する隣接ブロックのベクトルから導出されてもよい。ここで、前記隣接ブロックは、アフィンモデルで符号化されたブロックを意味する。前記ベクトルは、動きベクトルを意味してもよく、制御点ベクトルを意味してもよい。
【0195】
空間的/時間的隣接ブロックのベクトルに基づいて、空間的/時間的候補を導出する方法については、図8に基づいて詳しく述べる。
【0196】
一方、前記構成された候補は、現在ブロックに空間的/時間的隣接ブロックの動きベクトル間の組み合わせに基づいて導出されてもよく、これについては、図9に基づいて詳しく述べる。
【0197】
前述した複数のアフィン候補は、所定の優先順位に基づいて前記候補リストに配列されてもよい。例えば、複数のアフィン候補は、空間的候補、時間的候補、構成された候補の順に候補リストに配列されてもよい。あるいは、複数のアフィン候補は、時間的候補、空間的候補、構成された候補の順に候補リストに配列されてもよい。但し、これに限定されず、時間的候補は、構成された候補に後続して配列されてもよい。あるいは、構成された候補のうち、一部は、空間的候補の前に配列され、残りは、空間的候補の後ろに配列されてもよい。
【0198】
前記候補リストは、サブブロックに基づく時間的候補(temporal candidate)をさらに含んでいてもよい。前記時間的候補の動き情報は、現在ブロックに対応するコロケーテッドブロック(collocated block)で導出されてもよく、これについては、図10に基づいて詳しく述べる。
【0199】
前記候補リストと候補インデックスに基づいて、現在ブロックの制御点ベクトルが導出される(S710)。
【0200】
候補インデックスは、現在ブロックの制御点ベクトルを導出するために符号化されたインデックスを意味する。前記候補インデックスは、候補リストに属している複数のアフィン候補のいずれか1つを特定してもよい。前記候補インデックスにより特定されたアフィン候補の制御点ベクトルを用いて、現在ブロックの制御点ベクトルが導出されてもよい。
【0201】
例えば、現在ブロックのアフィンモデルのタイプが4パラメータである場合(すなわち、現在ブロックが2つの制御点ベクトルを用いると決定された場合)を仮定する。この際、前記候補インデックスにより特定されたアフィン候補が3つの制御点ベクトルをもった場合、前記3つの制御点ベクトルのうち、2つの制御点ベクトル(例えば、Idx=0,1の制御点ベクトル)のみを選び出し、これを現在ブロックの制御点ベクトルに設定してもよい。あるいは、前記特定されたアフィン候補の3つの制御点ベクトルを現在ブロックの制御点ベクトルに設定してもよい。この場合、現在ブロックのアフィンモデルのタイプは、6パラメータに更新されてもよい。
【0202】
逆に、現在ブロックのアフィンモデルのタイプが6パラメータである場合(すなわち、現在ブロックが3つの制御点ベクトルを用いると決定された場合)を仮定する。この際、前記候補インデックスにより特定されたアフィン候補が2つの制御点ベクトルをもった場合、1つのさらなる制御点ベクトルを生成し、前記アフィン候補の2つの制御点ベクトル及びさらなる制御点ベクトルを現在ブロックの制御点ベクトルに設定してもよい。前記さらなる制御点ベクトルは、アフィン候補の2つの制御点ベクトル、現在/隣接ブロックのサイズまたは位置情報の少なくとも一方に基づいて導出されてもよい。
【0203】
あるいは、前記特定されたアフィン候補の2つの制御点ベクトルを現在ブロックの制御点ベクトルに設定してもよい。この場合、現在ブロックのアフィンモデルのタイプは、4パラメータに更新されてもよい。
【0204】
現在ブロックの制御点ベクトルに基づいて、現在ブロックの動きベクトルが導出される(S720)。
【0205】
前記動きベクトルは、現在ブロックのサブブロックの単位で導出されてもよい。このために、現在ブロックは、複数のN×Mサブブロックに分割されてもよい。ここで、N×Mサブブロックは、直方形(N>MまたはN<M)または正方形(N=M)の形状であってもよい。前記NとMの値は、4、8、16、32またはそれ以上であってもよい。
【0206】
例えば、サブブロックのサイズ/形状は、復号化装置に既に定義されている固定されたサイズ/形状であってもよい。例えば、サブブロックのサイズ/形状は、4×4、8×8、16×16などの正方形であってもよく、2×4、2×8、4×8、4×16などの直方形であってもよい。あるいは、前記サブブロックは、幅と高さの和が8、12、16またはそれ以上の整数であるブロックと定義されてもよい。あるいは、前記サブブロックは、幅と高さの積が16、32、64またはそれ以上の整数であるブロックと定義されてもよい。
【0207】
あるいは、サブブロックのサイズ/形状は、前述したブロックの属性に基づいて可変的に導出されてもよい。例えば、現在ブロックのサイズが所定の閾値のサイズよりも大きいかあるいはそれに等しい場合、現在ブロックは、第1のサブブロックの単位(例えば、8×8、16×16)に分割され、そうではない場合、現在ブロックは、第2のサブブロックの単位(例えば、4×4)に分割されてもよい。
【0208】
あるいは、サブブロックのサイズ/形状に関する情報が符号化装置において符号化されてシグナリングされてもよい。前記情報は、サブブロックのサイズまたは形状の少なくとも一方を示し、これは、シーケンス、ピクチャ、タイルグループ、タイル、CTUの少なくとも1つのレベルにおいてシグナリングされてもよい。
【0209】
現在ブロックを代表する制御点は、左上端の位置と右上端の位置を含んでいてもよい。但し、これに限定されず、前記制御点は、左上端の位置、右上端の位置及び左下端の位置といった3個所を含んでいてもよく、さらなる多数の個所をさらに含んでいてもよい。
【0210】
2つの制御点が用いられる場合、第1の制御点に対応する第1の制御点ベクトル、第2の制御点に対応する第2の制御点ベクトル、サブブロックの位置(x,y)または現在ブロックのサイズ(幅または高さ)の少なくとも1つを用いて、現在ブロックの各サブブロックに対する動きベクトルが導出されてもよい。
【0211】
3つの制御点が用いられる場合、第1の制御点に対応する第1の制御点ベクトル、第2の制御点に対応する第2の制御点ベクトル、第3の制御点に対応する第3の制御点ベクトル、サブブロックの位置(x,y)または現在ブロックのサイズ(幅または高さ)の少なくとも1つを用いて、現在ブロックの各サブブロックに対する動きベクトルが導出されてもよい。この際、第2の制御点ベクトルと第1の制御点ベクトルとの差分ベクトルが用いられてもよく、第3の制御点ベクトルと第1の制御点ベクトルとの差分ベクトルが用いられてもよい。前記差分ベクトルは、水平方向(x軸方向)と垂直方向(y軸方向)のそれぞれに対して算出されてもよい。
【0212】
前記動きベクトルの導出過程は、制御点ベクトルに基づいて導出された動きベクトルに所定のオフセットを適用する過程をさらに含んでいてもよい。オフセットは、既に導出された動きベクトルを改善するためのベクトルを意味する。オフセットは、オフセットのサイズまたは方向の少なくとも一方に関する情報に基づいて決定されてもよい。前記サイズ(Absolute)は、1、2、3、またはそれ以上の整数であってもよい。前記方向は、左側、右側、上端または下端の少なくとも1つの方向を含んでいてもよい。前記オフセットのサイズ及び/または方向に関する情報は、符号化装置において符号化されてシグナリングされてもよい。あるいは、オフセットのサイズは、復号化装置に既に設定された固定値であってもよい。
【0213】
前記導出された動きベクトルを用いて、現在ブロックに対してインター予測を行う(S730)。
【0214】
具体的に、現在ブロックの動きベクトルを用いて参照ブロックを特定してもよい。前記参照ブロックは、現在ブロックのサブブロック別にそれぞれ特定されてもよい。各サブブロックの参照ブロックは、1つの参照ピクチャに属していてもよい。すなわち、現在ブロックに属しているサブブロックは、1つの参照ピクチャを共有してもよい。あるいは、現在ブロックのサブブロックごとに参照ピクチャインデックスが独立的に設定されてもよい。
【0215】
一方、前記導出された動きベクトルは、L0動きベクトルまたはL1動きベクトルの少なくとも一方を含んでいてもよい。前記動きベクトルがL0及びL1動きベクトルを含む場合、復号化装置は、前記L0及びL1動きベクトルのいずれか一方を0に設定して単方向予測を行ってもよい。
【0216】
前記設定は、ブロックのサイズまたは予測モードの少なくとも一方を考慮して選択的に行われてもよい。ここで、ブロックは、現在ブロックまたは現在ブロックのサブブロックを意味する。前記予測モードは、スキップモード、マージモード、AMVPモード、アフィンモデルに基づく予測モード、現在ピクチャ参照モードなどを意味する。
【0217】
例えば、現在ブロック(または、現在ブロックのサブブロック)のサイズが所定の閾値のサイズよりも小さいかあるいはそれに等しい場合、L1動きベクトルを0に設定して単方向予測を行い、そうではない場合、L0及びL1動きベクトルを用いて両方向予測を行ってもよい。ここで、閾値のサイズは、幅と高さの少なくとも一方が4、8または16であるブロックのサイズと定義されてもよい。
【0218】
あるいは、現在ブロックが第1の予測モードで符号化された場合、L1動きベクトルを0に設定して単方向予測を行い、そうではない場合、L0及びL1動きベクトルを用いて両方向予測を行ってもよい。
【0219】
前記特定された参照ブロックは、現在ブロックの予測ブロックに設定されてもよい。前記予測ブロックに残差ブロックを加算して、現在ブロックを復元してもよい。
【0220】
図8は、本発明が適用される一実施形態であって、空間的/時間的隣接ブロックの制御点ベクトルからアフィン候補を導出する方法を示す図である。
【0221】
現在ブロック800の幅と高さは、それぞれcbW、cbHであり、現在ブロックの位置は、(xCb,yCb)である。空間的隣接ブロック810~850の幅と高さは、それぞれnbW、nbHであり、空間的隣接ブロックの位置は、(xNb,yNb)である。空間的隣接ブロックは、現在ブロックの左側ブロック810、左下端ブロック840、右上端ブロック830、上端ブロック820または左上端ブロック850の少なくとも1つを含んでいてもよい。あるいは、前記空間的隣接ブロックは、前記左上端ブロック850の右側に隣接するブロックまたは下端に隣接するブロックの少なくとも一方をさらに含んでいてもよい。
【0222】
空間的候補は、n個の制御点ベクトル(cpMV)を有していてもよい。ここで、n値は、1、2、3、またはそれ以上の整数であってもよい。n値は、サブブロック単位で復号化されるか否かに関する情報、アフィンモデルで符号化されたブロックであるか否かに関する情報またはアフィンモデルのタイプ(4パラメータまたは6パラメータ)に関する情報の少なくとも1つに基づいて決定されてもよい。
【0223】
例えば、前記情報に従って、当該ブロックがサブブロック単位で復号化されたか、あるいは、アフィンモデルで符号化されたブロックである場合、当該ブロックは、2つの制御点ベクトルを有していてもよい。これに対し、そうではない場合、当該ブロックは、アフィンモデルに基づく予測を行わなくてもよい。
【0224】
あるいは、前記情報に従って、当該ブロックがアフィンモデルで符号化されたブロックであり、アフィンモデルのタイプが6パラメータである場合、当該ブロックは、3つの制御点ベクトルを有していてもよい。これに対し、そうではない場合、当該ブロックは、アフィンモデルに基づく予測を行わなくてもよい。
【0225】
前述した情報は、符号化装置において符号化されてシグナリングされてもよい。あるいは、前記情報の全部または一部は、ブロックの属性に基づいて復号化装置から導出されてもよい。ここで、ブロックは、現在ブロックを意味してもよく、現在ブロックの空間的/時間的隣接ブロックを意味してもよい。前記属性は、サイズ、形状、位置、分割タイプ、インターモード、残差係数に関するパラメータなどを意味してもよい。前記インターモードは、復号化装置に既に定義されたモードであって、マージモード、スキップモード、AMVPモード、アフィンモデル、イントラ/インター組み合わせモード、現在ピクチャ参照モードなどを意味してもよい。あるいは、n値は、前述したブロックの属性に基づいて復号化装置から導出されてもよい。
【0226】
この実施形態において、n個の制御点ベクトルは、第1の制御点ベクトル(cpMV[0])、第2の制御点ベクトル(cpMV[1])、第3の制御点ベクトル(cpMV[2])、及び第nの制御点ベクトル(cpMV[n-1])で表わされてもよい。
【0227】
一例によれば、第1の制御点ベクトル(cpMV[0])、第2の制御点ベクトル(cpMV[1])、第3の制御点ベクトル(cpMV[2])及び第4の制御点ベクトル(cpMV[3])は、ブロックの左上端サンプル、右上端サンプル、左下端サンプル及び右下端サンプルの位置にそれぞれ対応するベクトルであってもよい。ここで、空間的候補は、3つの制御点ベクトルを有することを想定し、3つの制御点ベクトルは、第1乃至第nの制御点ベクトルのうちから選び出された任意の制御点ベクトルであってもよい。但し、これに限定されず、空間的候補は、2つの制御点ベクトルを有していてもよく、2つの制御点ベクトルは、第1乃至第nの制御点ベクトルのうちから選び出された任意の制御点ベクトルであってもよい。
【0228】
以下、空間的候補の制御点ベクトルを導出する方法について述べる。
【0229】
1.現在ブロックの境界がCTU境界に接しない場合
前記第1の制御点ベクトルは、空間的隣接ブロックの第1の制御点ベクトル、所定の差分値、現在ブロックの位置情報(xCb,yCb)または空間的隣接ブロックの位置情報(xNb,yNb)の少なくとも1つに基づいて導出されてもよい。
【0230】
前記差分値の数は、1つ、2つ、3つまたはそれ以上であってもよい。前記差分値の数は、前述したブロックの属性を考慮して可変的に決定されてもよく、復号化装置に既に約束された固定値であってもよい。前記差分値は、複数の制御点ベクトルのいずれか1つと他の1つとの差分値と定義されてもよい。例えば、前記差分値は、第2の制御点ベクトルと第1の制御点ベクトルとの第1の差分値、第3の制御点ベクトルと第1の制御点ベクトルとの第2の差分値、第4の制御点ベクトルと第3の制御点ベクトルとの第3の差分値、または第4の制御点ベクトルと第2の制御点ベクトルとの第4の差分値の少なくとも1つを含んでいてもよい。
【0231】
例えば、第1の制御点ベクトルは、次の数式1のように導出されてもよい。
【0232】
【数1】
【0233】
数式1において、変数mvScaleHorとmvScaleVerは、空間的隣接ブロックの第1の制御点ベクトルを意味してもよく、第1の制御点ベクトルにkに見合う分だけのシフト演算を適用して導出された値を意味してもよい。ここで、kは、1、2、3、4、5、6、7、8、9またはそれ以上の整数であってもよい。変数dHorXとdVerXは、第2の制御点ベクトルと第1の制御点ベクトルとの間の第1の差分値のx成分とy成分にそれぞれ対応する。変数dHorYとdVerYは、第3の制御点ベクトルと第1の制御点ベクトルとの間の第2の差分値のx成分とy成分にそれぞれ対応する。前述した変数は、次の数式2のように導出されてもよい。
【0234】
【数2】
【0235】
第2の制御点ベクトルは、空間的隣接ブロックの第1の制御点ベクトル、所定の差分値、現在ブロックの位置情報(xCb,yCb)、ブロックサイズ(幅または高さ)または空間的隣接ブロックの位置情報(xNb,yNb)の少なくとも1つに基づいて導出されてもよい。ここで、ブロックサイズは、現在ブロック及び/または空間的隣接ブロックのサイズを意味する。前記差分値は、第1の制御点ベクトルにおいて述べたとおりであるため、ここでは、それについての詳しい説明を省略する。但し、第2の制御点ベクトルの導出過程において用いられる差分値の範囲及び/または数は、第1の制御点ベクトルとは異なっていてもよい。
【0236】
例えば、第2の制御点ベクトルは、次の数式3のように導出されてもよい。
【0237】
【数3】
【0238】
数式3において、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは、数式1において述べたとおりであり、ここでは、それについての詳しい説明を省略する。
【0239】
第3の制御点ベクトルは、空間的隣接ブロックの第1の制御点ベクトル、所定の差分値、現在ブロックの位置情報(xCb,yCb)、ブロックサイズ(幅または高さ)または空間的隣接ブロックの位置情報(xNb,yNb)の少なくとも1つに基づいて導出されてもよい。ここで、ブロックサイズは、現在ブロック及び/または空間的隣接ブロックのサイズを意味する。前記差分値は、第1の制御点ベクトルにおいて述べたとおりであるため、ここでは、それについての詳しい説明を省略する。但し、第3の制御点ベクトルの導出過程において用いられる差分値の範囲及び/または数は、第1の制御点ベクトルまたは第2の制御点ベクトルとは異なっていてもよい。
【0240】
例えば、第3の制御点ベクトルは、次の数式4のように導出されてもよい。
【0241】
【数4】
【0242】
数式4において、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは、数式1において述べたとおりであり、ここでは、それについての詳しい説明を省略する。一方、前述した過程により、空間的候補の第nの制御点ベクトルが導出されてもよい。
【0243】
2.現在ブロックの境界がCTU境界に接する場合
前記第1の制御点ベクトルは、空間的隣接ブロックの動きベクトル(MV)、所定の差分値、現在ブロックの位置情報(xCb,yCb)または空間的隣接ブロックの位置情報(xNb,yNb)の少なくとも1つに基づいて導出されてもよい。
【0244】
前記動きベクトルは、空間的隣接ブロックの最下端に位置しているサブブロックの動きベクトルであってもよい。前記サブブロックは、空間的隣接ブロックの最下端に位置している複数のサブブロックのうち、最左側、中央または最右側に位置しているものであってもよい。あるいは、前記動きベクトルは、サブブロックの動きベクトルの平均値、最大値または最小値を意味してもよい。
【0245】
前記差分値の数は、1つ、2つ、3つまたはそれ以上であってもよい。前記差分値の数は、前述したブロックの属性を考慮して可変的に決定されてもよく、復号化装置に既に約束された固定値であってもよい。前記差分値は、空間的隣接ブロックにおいてサブブロックの単位で格納された複数の動きベクトルのいずれか1つと他の1つとの差分値と定義されてもよい。例えば、前記差分値は、空間的隣接ブロックの右下端サブブロックの動きベクトルと左下端サブブロックの動きベクトルとの差分値を意味してもよい。
【0246】
例えば、第1の制御点ベクトルは、次の数式5のように導出されてもよい。
【0247】
【数5】
【0248】
数式5において、変数mvScaleHorとmvScaleVerは、前述した空間的隣接ブロックの動きベクトル(MV)または前記動きベクトルにkに見合う分だけのシフト演算を適用して導出された値を意味してもよい。ここで、kは、1、2、3、4、5、6、7、8、9またはそれ以上の整数であってもよい。
【0249】
前記変数dHorXとdVerXは、所定の差分値のx成分とy成分にそれぞれ対応する。ここで、差分値は、空間的隣接ブロック内の右下端サブブロックの動きベクトルと左下端サブブロックの動きベクトルとの差分値を意味する。変数dHorYとdVerYは、前記変数dHorXとdVerXに基づいて導出されてもよい。前述した変数は、次の数式6のように導出されてもよい。
【0250】
【数6】
【0251】
第2の制御点ベクトルは、空間的隣接ブロックの動きベクトル(MV)、所定の差分値、現在ブロックの位置情報(xCb,yCb)、ブロックサイズ(幅または高さ)または空間的隣接ブロックの位置情報(xNb,yNb)の少なくとも1つに基づいて導出されてもよい。ここで、ブロックサイズは、現在ブロック及び/または空間的隣接ブロックのサイズを意味する。前記動きベクトルと差分値については、第1の制御点ベクトルにおいて述べたとおりであるため、ここでは、それについての詳しい説明を省略する。但し、第2の制御点ベクトルの導出過程において用いられる動きベクトルの位置、差分値の範囲及び/または数は、第1の制御点ベクトルとは異なっていてもよい。
【0252】
例えば、第2の制御点ベクトルは、次の数式7のように導出されてもよい。
【0253】
【数7】
【0254】
数式7において、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは、数式5において述べたとおりであり、ここでは、それについての詳しい説明を省略する。
【0255】
第3の制御点ベクトルは、空間的隣接ブロックの動きベクトル(MV)、所定の差分値、現在ブロックの位置情報(xCb,yCb)、ブロックサイズ(幅または高さ)または空間的隣接ブロックの位置情報(xNb,yNb)の少なくとも1つに基づいて導出されてもよい。ここで、ブロックサイズは、現在ブロック及び/または空間的隣接ブロックのサイズを意味する。前記動きベクトルと差分値は、第1の制御点ベクトルにおいて述べたとおりであるため、ここでは、それについての詳しい説明を省略する。但し、第3の制御点ベクトルの導出過程において用いられる動きベクトルの位置、差分値の範囲及び/または数は、第1の制御点ベクトルまたは第2の制御点ベクトルとは異なっていてもよい。
【0256】
例えば、第3の制御点ベクトルは、次の数式8のように導出されてもよい。
【0257】
【数8】
【0258】
数式8において、変数mvScaleHor、mvScaleVer、dHorX、dVerX、dHorY、dVerYは、数式5において述べたとおりであり、ここでは、それについての詳しい説明を省略する。一方、前述した過程によって、空間的候補の第nの制御点ベクトルが導出されてもよい。
【0259】
前述したアフィン候補の導出過程は、既に定義された空間的隣接ブロックのそれぞれに対して行われてもよい。既に定義された空間的隣接ブロックは、現在ブロックの左側ブロック、左下端ブロック、右上端ブロック、上端ブロックまたは左上端ブロックの少なくとも1つを含んでいてもよい。
【0260】
あるいは、前記アフィン候補の導出過程は、前記空間的隣接ブロックのグループ別にそれぞれ行われてもよい。ここで、空間的隣接ブロックは、左側ブロック及び左下端ブロックを含む第1のグループと、右上端ブロック、上端ブロック及び左上端ブロックを含む第2のグループと、に分類されてもよい。
【0261】
例えば、第1のグループに属している空間的隣接ブロックから1つのアフィン候補が導出されてもよい。前記導出は、所定の優先順位に基づいて、可用のアフィン候補が見つかるまで行われてもよい。前記優先順位は、左側ブロック→左下端ブロックの順であってもよく、その逆順であってもよい。前記優先順位に従って第1のグループ内の当該空間的隣接ブロックがアフィンモデルに基づく予測により復号化されたブロックであるか否かを判断し、最初にアフィンモデルに基づく予測により復号化されたブロックがアフィン候補として選び出されても良い。
【0262】
同様に、第2のグループに属している空間的隣接ブロックから1つのアフィン候補が導出されてもよい。前記導出は、所定の優先順位に基づいて、可用のアフィン候補が見つかるまで行われてもよい。前記優先順位は、右上端ブロック→上端ブロック→左上端ブロックの順であってもよく、その逆順であってもよい。前記優先順位に従って、第2のグループ内の当該空間的隣接ブロックがアフィンモデルに基づく予測により復号化されたブロックであるか否かを判断し、最初にアフィンモデルに基づく予測により復号化されたブロックがアフィン候補として選び出されてもよい。
【0263】
前述した実施形態は、時間的隣接ブロックに対しても同様に/類似に適用されてもよい。ここで、時間的隣接ブロックは、現在ブロックとは異なるピクチャに属するものの、現在ブロックと同一位置のブロックであってもよい。同一位置のブロックとは、現在ブロックの左上端サンプルの位置、中央位置または現在ブロックの右下端サンプルに隣接するサンプルの位置を含むブロックであってもよい。
【0264】
あるいは、時間的隣接ブロックは、前記同一位置のブロックから所定の視差ベクトルに見合う分だけずらした位置のブロックを意味する。ここで、視差ベクトルは、前述した現在ブロックの空間的隣接ブロックのいずれか1つの動きベクトルに基づいて決定されてもよい。
【0265】
図9は、本発明が適用される一実施形態であって、空間的/時間的隣接ブロックの動きベクトルの組み合わせに基づいて、構成された候補を導出する方法を示す図である。
【0266】
本発明の構成された候補は、現在ブロックの各隅部に対応する制御点ベクトル(以下、制御点ベクトル(cpMVCorner[n])と称する。)の少なくとも2つの組み合わせに基づいて導出されてもよい。ここで、nは、0、1、2、3であってもよい。
【0267】
前記制御点ベクトル(cpMVCorner[n])は、空間的隣接ブロック及び/または時間的隣接ブロックの動きベクトルに基づいて導出されてもよい。ここで、空間的隣接ブロックは、現在ブロックの左上端サンプルに隣接する第1の隣接ブロックA、BまたはC、現在ブロックの右上端サンプルに隣接する第2の隣接ブロックDまたはEまたは現在ブロックの左下端サンプルに隣接する第3の隣接ブロックFまたはGの少なくとも1つを含んでいてもよい。時間的隣接ブロックは、現在ブロックとは異なるピクチャに属するブロックであって、現在ブロックと同一位置のブロック(以下、第4の隣接ブロック(Col)と称する。)を意味する。ここで、第4の隣接ブロックは、現在ブロックの左上端サンプル、右上端サンプルまたは左下端サンプルの位置を含むブロックH、IまたはJを意味してもよく、あるいは、現在ブロックの右下端サンプルの位置の隣接ブロックを意味してもよい。
【0268】
第1の隣接ブロックは、現在ブロックの左上端A、上端Bまたは左側Cの隣接ブロックを意味してもよい。所定の優先順位に従って、隣接ブロックA、B、Cの動きベクトルが可用であるか否かを判断し、可用の隣接ブロックの動きベクトルを用いて制御点ベクトルを決定してもよい。前記可用性の判断は、可用の動きベクトルをもった隣接ブロックが見つかるまで行われてもよい。ここで、優先順位は、A→B→Cの順であってもよい。但し、これに限定されず、A→C→B、C→A→B、B→A→Cの順であってもよい。
【0269】
第2の隣接ブロックは、現在ブロックの上端Dまたは右上端Eの隣接ブロックを意味してもよい。同様に、所定の優先順位に従って、隣接ブロックD、Eの動きベクトルが可用であるか否かを判断し、可用の隣接ブロックの動きベクトルを用いて制御点ベクトルを決定してもよい。前記可用性の判断は、可用の動きベクトルをもった隣接ブロックが見つかるまで行われてもよい。ここで、優先順位は、D→Eの順であってもよく、E→Dの順であってもよい。
【0270】
第3の隣接ブロックは、現在ブロックの左側Fまたは左下端Gの隣接ブロックを意味してもよい。同様に、所定の優先順位に従って、隣接ブロックの動きベクトルが可用であるか否かを判断し、可用の隣接ブロックの動きベクトルを用いて制御点ベクトルを決定してもよい。前記可用性の判断は、可用の動きベクトルをもった隣接ブロックが見つかるまで行われてもよい。ここで、優先順位は、G→Fの順であってもよく、F→Gの順であってもよい。
【0271】
例えば、第1の制御点ベクトル(cpMVCorner[0])は、第1の隣接ブロックの動きベクトルに設定されてもよく、第2の制御点ベクトル(cpMVCorner[1])は、第2の隣接ブロックの動きベクトルに設定されてもよく、第3の制御点ベクトル(cpMVCorner[2])は、第3の隣接ブロックの動きベクトルに設定されてもよい。第4の制御点ベクトル(cpMVCorner[3])は、第4の隣接ブロックの動きベクトルに設定されてもよい。
【0272】
あるいは、第1の制御点ベクトルは、第1の隣接ブロックまたは第4の隣接ブロックの少なくとも一方の動きベクトルを用いて導出されてもよく、ここで、第4の隣接ブロックは、左上端サンプルの位置を含むブロックHであってもよい。第2の制御点ベクトルは、第2の隣接ブロックまたは第4の隣接ブロックの少なくとも1つの動きベクトルを用いて導出されてもよい。ここで、第4の隣接ブロックは、右上端サンプルの位置を含むブロックIであってもよい。第3の制御点ベクトルは、第3の隣接ブロックまたは第4の隣接ブロックの少なくとも1つの動きベクトルを用いて導出されてもよい。ここで、第4の隣接ブロックは、左下端サンプルの位置を含むブロックJであってもよい。
【0273】
あるいは、前記第1乃至第4の制御点ベクトルのいずれか1つは、他の1つに基づいて導出されてもよい。例えば、第2の制御点ベクトルは、第1の制御点ベクトルに所定のオフセットベクトルを適用して導出されてもよい。オフセットベクトルは、第3の制御点ベクトルと第1の制御点ベクトルとの間の差分ベクトルであってもよく、前記差分ベクトルに所定のスケーリングファクタを適用して導出されてもよい。スケーリングファクタは、現在ブロック及び/または隣接ブロックの幅または高さの少なくとも一方に基づいて決定されてもよい。
【0274】
前述した第1乃至第4の制御点ベクトルのうち少なくとも2つの組み合わせにより、本発明に係るK個の構成された候補(ConstK)が決定されてもよい。K値は、1、2、3、4、5、6、7またはそれ以上の整数であってもよい。K値は、符号化装置においてシグナリングされる情報に基づいて導出されてもよく、復号化装置に既に約束された値であってもよい。前記情報は、候補リストに含まれる構成された候補の最大数を指示する情報を含んでいてもよい。
【0275】
具体的に、第1の構成された候補(Const1)は、第1乃至第3の制御点ベクトルを組み合わせて導出されてもよい。例えば、第1の構成された候補(Const1)は、次の表4のような制御点ベクトルを有していてもよい。一方、第1の隣接ブロックの参照ピクチャ情報が第2及び第3の隣接ブロックの参照ピクチャ情報と同一である場合に限って、表4のように、制御点ベクトルが構成されるように制限されてもよい。ここで、参照ピクチャ情報は、参照ピクチャリスト内において当該参照ピクチャの位置を示す参照ピクチャインデックスを意味してもよく、出力順序を示すPOC(picture order count)値を意味してもよい。
【0276】
【表4】
【0277】
第2の構成された候補(Const2)は、第1、第2及び第4の制御点ベクトルを組み合わせて導出されてもよい。例えば、第2の構成された候補(Const2)は、次の表5のような制御点ベクトルを有していてもよい。一方、第1の隣接ブロックの参照ピクチャ情報が第2及び第4の隣接ブロックの参照ピクチャ情報と同一である場合に限って、表5のように、制御点ベクトルが構成されるように制限されてもよい。ここで、参照ピクチャ情報は、前述したとおりである。
【0278】
【表5】
【0279】
第3の構成された候補(Const3)は、第1、第3及び第4の制御点ベクトルを組み合わせて導出されてもよい。例えば、第3の構成された候補(Const3)は、次の表6のような制御点ベクトルを有していてもよい。一方、第1の隣接ブロックの参照ピクチャ情報が第3及び第4の隣接ブロックの参照ピクチャ情報と同一である場合に限って、表6のように、制御点ベクトルが構成されるように制限されてもよい。ここで、参照ピクチャ情報は、前述したとおりである。
【0280】
【表6】
【0281】
第4の構成された候補(Const4)は、第2、第3及び第4の制御点ベクトルを組み合わせて導出されてもよい。例えば、第4の構成された候補(Const4)は、次の表7のような制御点ベクトルを有していてもよい。一方、第2の隣接ブロックの参照ピクチャ情報が第3及び第4の隣接ブロックの参照ピクチャ情報と同一である場合に限って、表7のように構成されるように制限されてもよい。ここで、参照ピクチャ情報は、前述したとおりである。
【0282】
【表7】
【0283】
第5の構成された候補(Const5)は、第1及び第2の制御点ベクトルを組み合わせて導出されてもよい。例えば、第5の構成された候補(Const5)は、次の表8のような制御点ベクトルを有していてもよい。一方、第1の隣接ブロックの参照ピクチャ情報が第2の隣接ブロックの参照ピクチャ情報と同一である場合に限って、表8のように、制御点ベクトルが構成されるように制限されてもよい。ここで、参照ピクチャ情報は、前述したとおりである。
【0284】
【表8】
【0285】
第6の構成された候補(Const6)は、第1及び第3の制御点ベクトルを組み合わせて導出されてもよい。例えば、第6の構成された候補(Const6)は、次の表9のような制御点ベクトルを有していてもよい。一方、第1の隣接ブロックの参照ピクチャ情報が第3の隣接ブロックの参照ピクチャ情報と同一である場合に限って、表9のように、制御点ベクトルが構成されるように制限されてもよい。ここで、参照ピクチャ情報は、前述したとおりである。
【0286】
【表9】
【0287】
表9において、cpMvCorner[1]は、前記第1及び第3の制御点ベクトルに基づいて導出された第2の制御点ベクトルであってもよい。第2の制御点ベクトルは、第1の制御点ベクトル、所定の差分値または現在/隣接ブロックのサイズの少なくとも一方に基づいて導出されてもよい。例えば、第2の制御点ベクトルは、次の数式9のように導出されてもよい。
【0288】
【数9】
【0289】
前述したK個の構成された候補(ConstK)において、K値は、候補リストに配列される構成された候補の位置または優先順位を限定するものではない。
【0290】
また、前記第1乃至第6の構成された候補のすべてが前記候補リストに含まれてもよく、一部のみが候補リストに含まれてもよい。
【0291】
例えば、現在ブロックが3つの制御点ベクトルを用いると決定された場合、第1乃至第4の制御点ベクトルのうち3つの組み合わせにより生成される構成された候補のみが用いられてもよい。現在ブロックが2つの制御点ベクトルを用いると決定された場合、第1乃至第4の制御点ベクトルのうち少なくとも2つの組み合わせにより生成される構成された候補が用いられてもよく、第1乃至第4の制御点ベクトルのうち2つの組み合わせのみにより生成される構成された候補が用いられてもよい。
【0292】
あるいは、候補リストに含まれるアフィン候補の最大数を考慮して一部の構成された候補のみが候補リストに含まれてもよい。ここで、最大数は、符号化装置においてシグナリングされる最大数情報に基づいて決定されてもよく、前述した現在ブロックの属性を考慮して可変的に決定されてもよい。この際、構成された候補(ConstK)のK値は、候補リストに挿入される優先順位を意味してもよい。
【0293】
一方、前記構成された候補に属している2つの制御点ベクトルの間の差分値が所定の閾値よりも小さい場合、当該構成された候補は、候補リストに挿入されなくてもよい。前記2つの制御点ベクトルの間の差分値は、水平方向の差分値と垂直方向の差分値とに区別されてもよい。ここで、水平方向の差分値は、第1の制御点ベクトル910と第2の制御点ベクトル920との差分値を意味し、垂直方向の差分値は、第1の制御点ベクトル910と第3の制御点ベクトル930との差分値を意味する。前記閾値は、0または符号化/復号化装置に既に約束されたサイズのベクトルを意味してもよい。
【0294】
図10は、本発明が適用される一実施形態であって、サブブロックに基づく時間的候補の動き情報を導出する方法を示す図である。
【0295】
本発明に係る時間的候補(temporal candidate)の動き情報は、コロケーテッドブロック(collocated block)の動き情報から導出されてもよい。前記動き情報は、サブブロックの単位で導出されてもよい。
【0296】
ここで、コロケーテッドブロックは、現在ブロック1010とは異なるピクチャ(すなわち、コロケーテッドピクチャ)に属するブロックであって、現在ブロックと同一位置のブロック1040または現在ブロックの位置から時間的ベクトル(temporal vector)に見合う分だけずらした位置のブロック1030であってもよい。前記時間的ベクトルは、現在ブロックの空間的隣接ブロックの動きベクトルに基づいて決定されてもよい。空間的隣接ブロックは、現在ブロックの左側、左下端、上端、右上端または左上端の少なくとも1つに隣接するブロックを意味してもよい。時間的ベクトルは、符号化/復号化装置に既に約束された位置の隣接ブロックのみを用いて決定されてもよい。例えば、既に約束された位置は、左側1011または上端1012であってもよく、左側1011及び上端1012であってもよい。左側に複数の隣接ブロックがある場合、複数の隣接ブロックのうち、最下端、最上端または中央のいずれか1つに位置しているブロックが用いられてもよい。上端に複数の隣接ブロックがある場合、複数の隣接ブロックのうち、最左側、最右側または中央のいずれか1つに位置しているブロックが用いられてもよい。
【0297】
サブブロックに基づく時間的候補を導出するに当たって、前記現在ブロック及び/またはコロケーテッドブロックは、複数のサブブロックに分割されてもよい。
【0298】
ここで、サブブロックは、符号化/復号化装置に既に約束された一定のサイズ/形状を有していてもよい。例えば、前記サブブロックは、N×Mブロックで表わされ、NとMの値は、4、8またはそれ以上の整数であってもよい。前記サブブロックは、正方形(N=M)であってもよく、直方形(N>M、N<M)であってもよい。サイズを意味してもよい。あるいは、符号化装置は、前記サブブロックのサイズ/形状に関する情報を符号化してシグナリングし、復号化装置は、シグナリングされる情報に基づいてサブブロックのサイズ/形状を決定してもよい。
【0299】
あるいは、現在ブロック及び/またはコロケーテッドブロックは、所定の数に基づいて、複数のサブブロックに分割されてもよい。ここで、数は、符号化/復号化装置に既に約束された固定数であってもよく、あるいは、ブロックサイズ/形状を考慮して可変的に決定されてもよい。あるいは、前記数は、符号化装置においてシグナリングされる数情報に基づいて決定されてもよい。
【0300】
以下、サブブロック単位で時間的候補の動き情報を導出する方法について述べる。時間的候補の動きベクトルは、コロケーテッドブロックのサブブロック別に格納された動きベクトルに設定されてもよい。時間的候補の参照ピクチャインデックスは、符号化/復号化装置に既に定義された値(例えば、0)に設定されてもよい。あるいは、前記時間的候補の参照ピクチャインデックスは、コロケーテッドブロックの参照ピクチャインデックスまたはサブブロックのうち、左上端サブブロックの参照ピクチャインデックスに設定されてもよい。あるいは、動きベクトルと同様に、時間的候補の参照ピクチャインデックスもまた、サブブロック別に格納された参照ピクチャインデックスに設定されてもよい。
【0301】
但し、コロケーテッドブロックに属しているサブブロックのうち、非可用のサブブロックが存在する場合、前記非可用のサブブロックの動きベクトルは、コロケーテッドブロック内の可用のサブブロックの動きベクトルに入れ替えられても良い。ここで、可用のサブブロックは、非可用のサブブロックの左側、右側、上端または下端のいずれか1つに隣接するブロックを意味する。あるいは、可用のサブブロックは、符号化/復号化装置に既に約束された位置のブロックであってもよい。例えば、既に約束された位置は、コロケーテッドブロック内の右下端サブブロックの位置であってもよく、あるいは、コロケーテッドブロックの中央位置(center position)を含むサブブロックの位置であってもよい。前述したサブブロックに基づく時間的候補は、前記可用のサブブロックが存在する場合に限って候補リストに追加されてもよい。あるいは、前述したサブブロックに基づく時間的候補は、前記既に約束された位置のサブブロックが可用である場合に限って候補リストに追加されてもよい。
【0302】
図11は、本発明が適用される一実施形態であって、ERPプロジェクションフォーマットにおけるインター予測方法を示す図である。
【0303】
図11を参照すると、ERPプロジェクションフォーマットの場合、動きベクトルにより特定された参照領域が参照ピクチャの境界にまたがる場合がある。
【0304】
この場合、当該参照ピクチャの境界を拡張し、拡張された領域に前記境界に隣接するデータを水平方向に詰め込んでもよい(Aを参照)。あるいは、当該参照ピクチャの境界を拡張し、拡張された領域とは反対側の境界に隣接するデータ(境界と連続性または相関性をもったデータ)を詰め込んでもよい(Bを参照)。あるいは、存在しない領域のデータは、反対側の境界に隣接するデータを用いて詰め込まれてもよい(Cを参照)
【0305】
AとBは、参照ピクチャのデータを拡張する過程が必要であるが、演算過程の簡便化が可能であり、Cは、拡張によるさらなるメモリが求められないものの、さらなる演算過程が求められることがある。
【0306】
AとBの場合、現在ピクチャのサイズと、(拡張された)参照ピクチャのサイズとが同一ではない場合がある。このようなサイズの違いを考慮した所定の調整過程が予測画素を取得する過程に含まれてもよい。
【0307】
横長さのみを比較する際、現在ピクチャは、0~(pic_width-1)の範囲を有し、参照ピクチャ(右側のように拡張)は、-L_offset~(pic_width-1+R_offset)の範囲または0~(pic_width-1+L_offset+R_offset)の範囲を有していてもよい。前者の場合、現在ブロックの座標と動きベクトルを加算して取得された位置のそのままで拡張された参照ピクチャから予測画素を取得することができる。後者の場合、取得された位置の調整過程が行われた後、再調整された位置から予測画素を取得することができる。ここで、L_offest、R_offsetは、左方向、右方向に拡張された長さを意味してもよい。本発明においては、前述のように、現在ピクチャまたは既存の参照ピクチャの範囲を基準として座標が計算される場合を仮定して説明する。
【0308】
Cの場合、現在ブロックの座標と動きベクトルを加算して参照ピクチャ内の位置を計算してもよい。計算された画素の位置が参照ピクチャの範囲(<0,0>~<pic_width-1,pic_height-1>)から外れているか否かを確認することができる。もし、計算された画素の位置が参照ピクチャの範囲から外れていない場合、計算された画素の位置から予測画素を取得してもよい。これに対し、計算された画素の位置が参照ピクチャの範囲から外れている場合、当該境界の内側<ピクチャの内部>の反対側の位置(左側であるときは右側、右側であるときは左側)から前記計算された位置と対応する位置を計算し、計算された対応位置から予測画素を取得してもよい。
【0309】
前述した実施形態の少なくとも1つに基づいて、参照ピクチャの境界におけるインター予測を行ってもよい。参照ピクチャ境界におけるインター予測方法は、符号化/復号化装置において既に約束されたものであってもよく、前述した実施形態のいずれか1つを特定する選択情報及び選択された方法に関連する情報(データ処理方法、拡張サイズ情報など)に基づいて決定されてもよい。これは、後述する実施形態においても同様に適用可能である。
【0310】
図12乃至図15は、本発明が適用される一実施形態であって、CMPプロジェクションフォーマットにおけるインター予測方法を示す図である。
【0311】
図12を参照すると、CMPプロジェクションフォーマットの場合、地域別梱包(region-wise packing)により上と下のそれぞれ3×1の表面(face)の間には3次元空間における連続性が存在し得る。但し、上の3×1の表面と下の3×1の表面との間には、3次元空間における連続性が存在しないこともある。
【0312】
同様に、動きベクトルにより特定された参照領域が参照ピクチャの境界にまたがるか、あるいは、一部の表面の境界にまたがる場合がある。Aの場合、参照ピクチャの内部を示すものの、一部の表面の境界(3次元空間における相互の連続性がないため相関性が低い)に位置し、Bの場合、参照領域が参照ピクチャの境界に位置する。
【0313】
特に、Aの場合、参照ピクチャの内部を示すものの、参照領域が不連続的な表面の境界を含むため、インター予測の精度が低下する虞がある。
【0314】
AとBの場合、現在ブロックの座標と動きベクトルを加算して参照ピクチャ内の参照領域の位置を計算してもよい。当該参照領域の少なくとも一部が参照ピクチャの範囲から外れているか否か、あるいは、参照ピクチャ内の不連続的な境界を含むか否かを確認してもよい。
【0315】
もし、参照領域が参照ピクチャの範囲から外れている場合、3次元空間における連続性または相関性が存在する位置を決定し、決定された位置から予測画素を取得してもよい。
【0316】
これに対し、参照領域が参照ピクチャの範囲から外れていない場合、現在ブロックの動きベクトルによって示される参照領域内の少なくとも1つの画素が2つ以上の表面に属するか否かを確認してもよい。ここで、確認過程は、現在ブロックの左上、右上、左下、右下などの画素位置により行われてもよい。
【0317】
参照領域内の少なくとも1つの画素が2つ以上の表面に属しない場合、参照領域から予測画素を取得してもよい。但し、そうではない場合、現在ブロックが属する表面との連続性が存在する表面であるか否かを確認してもよい。参照領域A’の場合、上端領域は、現在ブロックが属する表面との連続性が存在し、下端領域は、現在ブロックが属する表面との連続性が存在しない。
【0318】
もし、前述した連続性が存在する場合、参照領域から予測画素を取得してもよい。但し、そうではない場合、3次元空間における連続性または相関性がある領域から予測画素を取得してもよい。
【0319】
前述したインター予測順序は、単なる一つの例示に過ぎず、順序の変更、一部の構成の変更などにより様々な変形を加えることができる。
【0320】
CとDの場合、参照ピクチャを拡張してもよく、拡張された領域は、境界に隣接するデータを水平/垂直方向にパディングするか、あるいは、相関性のある領域のデータを用いて詰め込まれてもよい。Dの場合、ERPにおいて述べたとおりであるため、ここでは、それについての詳しい説明を省略する。Cの場合、Aのように、参照領域が参照ピクチャの内部に位置するものの、相関性が低い表面境界を含んでいる。従って、参照ピクチャの内部に別途の拡張領域を生成しない場合、インター予測の精度が低下する虞があり、これについては、図13に基づいて詳しく述べる。
【0321】
CとDの場合、参照ピクチャの拡張により現在ピクチャのサイズと参照ピクチャのサイズが同一ではない場合がある。この際、参照ピクチャは、(-L_offset,-U_offset)~(pic_width-1+R_offset,pic_height-1+D_offset)の範囲を有していてもよい。ここで、L_、R_、U_、D_offsetは、参照ピクチャから左、右、上、下の方向に拡張された長さを意味してもよい。前記オフセット(offset)は、同一の値を有していてもよく、または互いに異なる値を有していてもよい。参照ピクチャに従って拡張する長さが、明示的にシグナリングされてもよく、黙示的に決定されてもよい。
【0322】
例えば、2、4、8などのように、ブロック分割部において対応可能な長さの1つに対応可能であってもよい。あるいは、最小符号化ブロック、最大符号化ブロック、最小予測ブロック、最大予測ブロックなどに基づいて拡張長さが決定されてもよい。あるいは、タイル、レンガなどの単位に基づいて決定されてもよい。
【0323】
例えば、最大予測ブロックの長さに見合う分だけ拡張されてもよく、この場合、すべてのブロックの予測ブロックの取得が拡張された範囲内において処理可能であってもよい。もし、参照ピクチャを拡張したにも拘わらず、現在ブロックの動きベクトルによって示される領域が拡張された参照ピクチャの範囲から外れている場合であれば、水平、垂直、対角線の方向のパディングなどにより外れている範囲に相当する部分の予測画素を取得してもよい。
【0324】
図13を参照すると、A~Dの場合は、参照ピクチャを1枚またはそれ以上の表面単位で拡張する場合に当該する。AとBの場合、連続性が存在する表面をくくって参照ピクチャ(または、サブ参照ピクチャ)を拡張した例示である。CとDの場合、表面単位で個別的に参照ピクチャを拡張した例示である。拡張された領域のデータ処理は、前述した実施形態と同様であるか、あるいは、類似している。前述した実施形態においては、参照ピクチャに関する1つの範囲が存在していたが、この例は、参照ピクチャを2枚以上に分けて各領域(サブ参照ピクチャと称する。)を拡張するものであるため、重なり合った範囲が生じることがある。
【0325】
AとBの例において、上側に位置している拡張済みのサブ参照ピクチャは、(-L_offset,-U_offset)~(pic_width-1+R_offset,pic_height/2-1+D_offset)の範囲を有し、下側に位置している拡張済みのサブ参照ピクチャは、(-L_offset,pic_height/2-U_offset)~(pic_width-1+R_offset,pic_height-1+D_offset)の範囲を有する。各サブ参照ピクチャにおいて、拡張された左、右、上、下の長さが同一であると仮定する。しかしながら、拡張される単位ではいずれも同様に左、右、上、下の方向に拡張される長さが設定されてもよく、異なるように設定されてもよい。そして、拡張される単位に応じて個別的に拡張長さが設定されてもよい。
【0326】
この際、上側のサブ参照ピクチャから下側に向かって拡張された範囲の座標は、下側のサブ参照ピクチャの内部の座標と同一であるが、上側のサブ参照ピクチャの場合、当該領域は、相関性のあるデータを拡張して有しており、下側のサブ参照ピクチャの場合、拡張する前の元のデータを有している。
【0327】
要するに、参照ピクチャは、(-L_offset,-U_offset)~(pic_width-1+R_offset,pic_height-1+D_offset)の範囲を有していてもよい。一般的であれば、各位置に1つの画素値が割り当てられることが妥当であるが、全方位画像の特性を考慮して2つ以上の領域に分けて拡張済みの参照画像を有しているため、一部の範囲においては、2つ以上の画素値が割り当てられることがある。この場合、2つ以上の画素値が割り当てられている位置からどのような画素値を予測画素値として取得するかを決定することが求められる場合がある。
【0328】
図14を参照すると、Eの場合、どのようなサブ参照ピクチャにさらに大きい領域が含まれているかを確認し、さらに大きい領域を含むサブ参照ピクチャのデータを用いて予測値を取得してもよい。
【0329】
Fの場合、現在ブロックを含むサブ参照ピクチャに既に設定された数の画素またはそれ以上を含んでいる場合、または所定の広さを含んでいる場合、当該サブ参照ピクチャのデータを用いてもよい。但し、そうではない場合、Eのようにさらに大きい領域を含んでいる領域のサブ参照ピクチャのデータを用いる処理が可能であってもよい。
【0330】
Gの場合、両サブ参照ピクチャに均等に含まれている場合である。この際には、現在ブロックを含むサブ参照ピクチャに優先権を与えて当該サブ参照ピクチャのデータを用いてもよい。この例は、FとEの細部条件として含まれてもよい。
【0331】
要するに、現在ブロックの動きベクトルによって示される領域がサブ参照ピクチャの間の境界であるとき、包含面積、現在ブロックと同一のサブ参照ピクチャであるか否かなどに応じて、どのようなサブ参照ピクチャのデータを用いるかを決定してもよい。符号化/復号化の設定に従って、前記の条件の全部または一部を含み、どのようなサブ参照ピクチャのデータを用いてインター予測を行うことができるかを決定してもよい。
【0332】
前述した例は、参照ピクチャを2枚に分けて各領域を拡張するものであるが、この例においては、表面単位でさらに多くのサブ参照ピクチャが生成される場合について説明する。
【0333】
図15においては、各表面単位がサブ参照ピクチャであることを想定する。同様に、2つ以上の画素値が割り当てられている位置からどのような画素値を予測画素値として取得するかを決定することが必要である。
【0334】
図15を参照すると、Hの場合、さらに多く含まれる領域のサブ参照ピクチャのデータを用いてもよく、あるいは、現在ブロックを含むサブ参照ピクチャのデータを用いてもよい。
【0335】
例えば、既に設定された数の画素または既に定義された広さ以上に現在ブロックを含むサブ参照ピクチャが含まれるならば、当該サブ参照ピクチャのデータを用いてもよい。あるいは、さらに多く含まれる領域のサブ参照ピクチャのデータを用いる場合であれば、当該サブ参照ピクチャのデータを用いてもよい。但し、含まれる領域が同一であれば、現在ブロックを含むサブ参照ピクチャのデータを用いるように制限してもよい。
【0336】
Iの場合、さらに多く含まれる領域のサブ参照ピクチャのデータを用いてもよい。この例は、表面単位でサブ参照ピクチャに対応可能であるが、表面の設定が、上端3×1の領域と下端3×1の領域が連続していないという特性を有するため、不連続的な特性を有する側のサブ参照ピクチャよりは、連続的な特性を有する側のサブ参照ピクチャの方に優先権を与えることができる。
【0337】
Jの場合、さらに多く含まれる領域のサブ参照ピクチャのデータを用いてもよい。但し、含まれる領域が均等である場合であるが、この例もまた、Iのように、現在ブロックを含むサブ参照ピクチャ(3×2のうち、上における右側)は、またがる対象ではない。そして、当該サブ参照ピクチャ(3×2のうち、上における左側、中央)は、現在ブロックを含むサブ参照ピクチャと同一である3×1に属する場合である。この際、現在ブロックを含むサブ参照ピクチャにさらに近いものに優先権を与えることができる。
【0338】
要するに、現在ブロックの動きベクトルによって示される領域がサブ参照ピクチャの間の境界であるとき、包含面積、サブ参照ピクチャの使用優先権などに応じてどのようなサブ参照ピクチャのデータを用いるかを決定してもよい。
【0339】
一方、図7乃至図10に基づいて、アフィン動きモデリングに基づいて、インター予測を行う方法について述べた。これは、360ビデオを符号化/復号化する上で同様に/類似に利用可能であり、ここでは、それについての詳しい説明を省略する。
【0340】
本発明に係る方法は、様々なコンピュータ手段により行われ得るプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてもよい。コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでいてもよい。コンピュータ読み取り可能な媒体に記録されるプログラム命令は、本発明のために特別に設計され且つ構成されたものであってもよく、あるいは、コンピュータソフトウェアの当業者にとって公知となって使用可能なものであってもよい。
【0341】
コンピュータ読み取り可能な媒体の例としては、ロム(ROM)、ラム(RAM)、フラッシュメモリ(flash memory)などのように、プログラム命令を格納し且つ行うように特別に講じられたハードウェア装置が挙げられる。プログラム命令の例には、コンパイラ(compiler)により作成されるもののような機械語コードのみならず、インタプリタ(interpreter)などを使ってコンピュータにより実行され得る高級言語コードを含んでいてもよい。前述したハードウェア装置は、本発明の動作を行うために少なくとも1つのソフトウェアモジュールとして作動するように構成されてもよく、その逆もまた同様である。
【0342】
また、前述した方法または装置は、その構成や機能の全部または一部が結合されて実現されてもよく、分離されて実現されてもよい。
【0343】
以上において、本発明の好適な実施形態について説明したが、当該技術分野における熟練した当業者であれば、添付の特許請求の範囲に記載の本発明の思想及び領域から逸脱しない範囲内において本発明を種々に修正及び変更することができるということを理解できる筈である。
【産業上の利用可能性】
【0344】
本発明は、ビデオ信号を符号化/復号化する上で利用可能である。
図1
図2
図3(a)】
図3(b)】
図3(c)】
図3(d)】
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15