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

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

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

特許7404488アフィン動き予測に基づく映像コーディング方法及び装置
<>
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図1
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図2
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図3
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図4
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図5
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図6
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図7
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図8
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図9
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図10
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図11
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図12
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図13
  • 特許-アフィン動き予測に基づく映像コーディング方法及び装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】アフィン動き予測に基づく映像コーディング方法及び装置
(51)【国際特許分類】
   H04N 19/52 20140101AFI20231218BHJP
   H04N 19/54 20140101ALI20231218BHJP
【FI】
H04N19/52
H04N19/54
【請求項の数】 5
(21)【出願番号】P 2022185636
(22)【出願日】2022-11-21
(62)【分割の表示】P 2021502682の分割
【原出願日】2019-04-01
(65)【公開番号】P2023010845
(43)【公開日】2023-01-20
【審査請求日】2022-11-21
(31)【優先権主張番号】62/651,244
(32)【優先日】2018-04-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】イ チェホ
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2018/0098063(US,A1)
【文献】米国特許出願公開第2017/0374379(US,A1)
【文献】国際公開第2017/148345(WO,A1)
【文献】国際公開第2017/118409(WO,A1)
【文献】Feng Zou, et al.,EE4: Improved affine motion prediction,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-D0121,4th Meeting: Chengdu, CN,2016年10月,pp.1-4
【文献】Jianle Chen, et al.,Algorithm Description of Joint Exploration Test Model 7 (JEM 7),Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-G1001-v1,7th Meeting: Torino, IT,2017年08月,pp.18-20
【文献】Moonmo Koo, et al.,Description of SDR video coding technology proposal by LG Electronics,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0017-v1,10th Meeting: San Diego, CA,2018年04月,pp.15-17
【文献】Y. Chen, et al.,Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-J0021,10th Meeting: San Diego, US,2018年04月,pp.18-20
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーディング装置により行われるピクチャデコーディング方法において、
ビットストリームから動き予測情報及びレジデュアル情報を獲得するステップと、
現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを生成するステップと、
前記動き予測情報内のアフィンMVP候補インデックスに基づいて、前記アフィンMVP候補リスト内の前記アフィンMVP候補の1つを選択するステップと、
前記選択されたアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導出するステップと、
前記動き予測情報に含まれた前記CPに対するCPMVD(Control Point Motion Vector Differences)に関する情報に基づいて、前記現在ブロックの前記CPに対する前記CPMVDを導出するステップと、
前記CPMVP及び前記CPMVDに基づいて前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vector)を導出するステップと、
前記現在ブロックの前記CPに対する前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出するステップと、
前記レジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記予測サンプル及び前記レジデュアルサンプルに基づいて、前記現在ブロックに対する復元サンプルを生成するステップと、を含み、
前記アフィンMVP候補リスト内の前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、
前記CPは、CP0、CP1及びCP2を含み、前記CPに対するCPMVPは、前記CP0に対する第1MVP、前記CP1に対する第2MVP及び前記CP2に対する第3MVPを含み、
前記CP0は前記現在ブロックの左上側コーナーに位置し、前記CP1は前記現在ブロックの右上側コーナーに位置し、及び前記CP2は前記現在ブロックの左下側コーナーに位置し、
前記第1アフィンMVP候補を構成する前記第1MVP、前記第2MVP及び前記第3MVPは、左側ブロックグループ内のアフィン動きモデルに基づいてコーディングされた第1ブロックに基づいて導出され、
前記左側ブロックグループは、前記現在ブロックの左下側コーナーの周辺ブロック及び前記左下側コーナーの周辺ブロックの上部に隣接する左側周辺ブロックを含み、
前記第2アフィンMVP候補を構成する前記第1MVP、前記第2MVP及び前記第3MVPは、上側ブロックグループ内の前記アフィン動きモデルに基づいてコーディングされた第2ブロックに基づいて導出され、
前記上側ブロックグループは、前記現在ブロックの右上側コーナーの周辺ブロック、前記右上側コーナーの周辺ブロックの左部に隣接する上側周辺ブロック及び左上側コーナーの周辺ブロックを含む、ピクチャデコーディング方法。
【請求項2】
前記動き予測情報は、前記アフィン動きモデルに基づいてコーディングされた前記現在ブロックに対する周辺ブロックが存在するか否かを示すコンテキストインデックスに対する情報を含む、請求項1に記載のピクチャデコーディング方法。
【請求項3】
エンコーディング装置により行われるピクチャエンコーディング方法において、
現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成するステップと、
前記アフィンMVP候補リスト内の前記アフィンMVP候補の1つを選択するステップと、
前記選択されたアフィンMVP候補に関連するアフィンMVP候補インデックスを導出するステップと、
前記選択されたアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)に対するCPMVPを導出するステップと、
前記現在ブロックの前記CPに対するCPMVを導出するステップと、
前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVDを導出するステップと、
前記現在ブロックの前記CPに対する前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出するステップと、
前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、
前記アフィンMVP候補インデックスに関連する情報、前記CPMVDに関する情報及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディングするステップと、を含み、
前記アフィンMVP候補リスト内の前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、
前記CPは、CP0、CP1及びCP2を含み、前記CPに対するCPMVPは、前記CP0に対する第1MVP、前記CP1に対する第2MVP及び前記CP2に対する第3MVPを含み、
前記CP0は前記現在ブロックの左上側コーナーに位置し、前記CP1は前記現在ブロックの右上側コーナーに位置し、及び前記CP2は前記現在ブロックの左下側コーナーに位置し、
前記第1アフィンMVP候補を構成する前記第1MVP、前記第2MVP及び前記第3MVPは、左側ブロックグループ内のアフィン動きモデルに基づいてコーディングされた第1ブロックに基づいて導出され、
前記左側ブロックグループは、前記現在ブロックの左下側コーナーの周辺ブロック及び前記左下側コーナーの周辺ブロックの上部に隣接する左側周辺ブロックを含み、
前記第2アフィンMVP候補を構成する前記第1MVP、前記第2MVP及び前記第3MVPは、上側ブロックグループ内の前記アフィン動きモデルに基づいてコーディングされた第2ブロックに基づいて導出され、
前記上側ブロックグループは、前記現在ブロックの右上側コーナーの周辺ブロック、前記右上側コーナーの周辺ブロックの左部に隣接する上側周辺ブロック及び左上側コーナーの周辺ブロックを含む、ピクチャエンコーディング方法。
【請求項4】
前記アフィンMVP候補インデックスに対するコンテキストインデックスに関する情報をエンコーディングするステップを更に含み、
前記コンテキストインデックスに関する情報は、前記アフィン動きモデルに基づいてコーディングされた前記現在ブロックに対する周辺ブロックが存在するか否かに関連する、請求項3に記載のピクチャエンコーディング方法。
【請求項5】
ピクチャに対するデータの送信方法において、
前記ピクチャに対するビットストリームを取得するステップであって、前記ビットストリームは、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成し、前記アフィンMVP候補リスト内の前記アフィンMVP候補の1つを選択し、前記選択されたアフィンMVP候補に関連するアフィンMVP候補インデックスを導出し、前記選択されたアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)に対するCPMVPを導出し、前記現在ブロックの前記CPに対するCPMVを導出し、前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVDを導出し、前記現在ブロックの前記CPに対する前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出し、前記予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出し、前記アフィンMVP候補インデックスに関連する情報、前記導出されたCPMVDに対する情報及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディングすることに基づいて生成される、ステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記アフィンMVP候補リスト内の前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、
前記CPは、CP0、CP1及びCP2を含み、前記CPに対するCPMVPは、前記CP0に対する第1MVP、前記CP1に対する第2MVP及び前記CP2に対する第3MVPを含み、
前記CP0は前記現在ブロックの左上側コーナーに位置し、前記CP1は前記現在ブロックの右上側コーナーに位置し、及び前記CP2は前記現在ブロックの左下側コーナーに位置し、
前記第1アフィンMVP候補を構成する前記第1MVP、前記第2MVP及び前記第3MVPは、左側ブロックグループ内のアフィン動きモデルに基づいてコーディングされた第1ブロックに基づいて導出され、
前記左側ブロックグループは、前記現在ブロックの左下側コーナーの周辺ブロック及び前記左下側コーナーの周辺ブロックの上部に隣接する左側周辺ブロックを含み、
前記第2アフィンMVP候補を構成する前記第1MVP、前記第2MVP及び前記第3MVPは、上側ブロックグループ内の前記アフィン動きモデルに基づいてコーディングされた第2ブロックに基づいて導出され、
前記上側ブロックグループは、前記現在ブロックの右上側コーナーの周辺ブロック、前記右上側コーナーの周辺ブロックの左部に隣接する上側周辺ブロック及び左上側コーナーの周辺ブロックを含む、データ送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像コーディング技術に関し、より詳細には、映像コーディングシステムでアフィン動き予測(affine motion prediction)に基づく映像コーディング方法及びその装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)画像及びUHD(Ultra High Definition)画像のような高解像度、高品質の画像に対する需要が多様な分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量又はビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、又は既存の格納媒体を利用して画像データを格納する場合、送信費用と格納費用が増加する。
【0003】
これによって、高解像度、高品質画像の情報を効果的に送信又は格納し、再生するために高効率の画像圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の技術的課題は、映像コーディングの効率を高める方法及び装置を提供することにある。
【0005】
本発明の別の技術的課題は、アフィン動き予測に基づく映像コーディングの効率を高める方法及び装置を提供することにある。
【0006】
本発明のまた別の技術的課題は、アフィン動き予測に用いられる周辺ブロックの組み合わせを効率的に決定することによって、映像コーディングの効率を高める方法及び装置を提供することにある。
【0007】
本発明のまた別の技術的課題は、アフィン動き予測に用いられるアフィンMVP候補リストに対する情報をシグナリングすることによって、映像コーディングの効率を高める方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一実施例によれば、デコーディング装置により行われるピクチャデコーディング方法が提供される。前記方法は、ビットストリームから動き予測情報(motion prediction information)を獲得するステップと、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成するステップと、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVP(Control Point Motion Vector Predictors)を導出するステップと、前記獲得した動き予測情報に含まれた前記CPそれぞれに対するCPMVD(Control Point Motion Vector Differences)に対する情報に基づいて、前記現在ブロックの前記CPに対する前記CPMVDを導出するステップと、前記CPMVP及び前記CPMVDに基づいて前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vector)を導出するステップと、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出するステップと、前記導出された予測サンプルに基づいて、前記現在ブロックに対する復元サンプルを生成するステップとを含むことを特徴とする。
【0009】
本発明の別の一実施例によれば、ピクチャデコーディングを行うデコーディング装置が提供される。前記デコーディング装置は、ビットストリームから動き予測情報(motion prediction information)を獲得するエントロピーデコーディング部と、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成し、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVP(Control Point Motion Vector Predictors)を導出し、前記獲得した動き予測情報に含まれた前記CPそれぞれに対するCPMVD(Control Point Motion Vector Differences)に対する情報に基づいて、前記現在ブロックの前記CPに対する前記CPMVDを導出し、前記CPMVP及び前記CPMVDに基づいて前記現在ブロックの前記CPに対するCPMVを導出し、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出する予測部と、前記導出された予測サンプルに基づいて、前記現在ブロックに対する復元サンプルを生成する加算部とを含むことを特徴とする。
【0010】
本発明のまた別の一実施例によれば、エンコーディング装置により行われるピクチャエンコーディング方法が提供される。前記方法は、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成するステップと、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVPを導出するステップと、前記現在ブロックの前記CPそれぞれに対するCPMVを導出するステップと、前記CPそれぞれに対する前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVDを導出するステップと、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出するステップと、前記導出された予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するステップと、前記導出されたCPMVDに対する情報及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディングするステップとを含むことを特徴とする。
【0011】
本発明のまた別の一実施例によれば、ピクチャエンコーディングを行うエンコーディング装置が提供される。前記エンコーディング装置は、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成し、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVPを導出し、前記現在ブロックの前記CPそれぞれに対するCPMVを導出し、前記CPそれぞれに対する前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVDを導出し、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出する予測部と、前記導出された予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出するレジデュアル処理部と、前記導出されたCPMVDに対する情報及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディングするエントロピーエンコーディング部とを含むことを特徴とする。
【発明の効果】
【0012】
本発明によれば、全般的な映像/ビデオ圧縮の効率を高めることができる。
【0013】
本発明によれば、アフィン動き予測に基づく映像コーディングの効率を高めることができる。
【0014】
本発明によれば、アフィン動き予測に用いられるアフィンMVP候補リストに対する情報をシグナリングすることによって、映像コーディングの効率を高めることができる。
【図面の簡単な説明】
【0015】
図1】一実施例に係るエンコーディング装置の構成を概略的に説明する図である。
図2】一実施例に係るデコーディング装置の構成を概略的に説明する図である。
図3】一実施例に係るアフィン動き(affine motion)モデルを介して表現される動きの一例を示す図である。
図4】現在ブロックに対する3つのCP(Control Point)のCPMV(Control Point Motion Vector)を用いるアフィン動きモデルの一例を示す図である。
図5】現在ブロックに対する2つのCPのCPMVを用いるアフィン動きモデルの一例を示す図である。
図6】アフィン動きモデルに基づいて、サブブロック単位で動きベクトルを導出する一例を示す図である。
図7】アフィン動き予測に基づいてコーディングされた周辺ブロックを検出する方法の例示を示している。
図8】アフィン動き予測に基づいてコーディングされた周辺ブロックを検出する方法の例示を示している。
図9】アフィン動き予測に基づいてコーディングされた周辺ブロックを検出する方法の例示を示している。
図10】アフィン動き予測に基づいてコーディングされた周辺ブロックを検出する方法の例示を示している。
図11】一実施例に係るエンコーディング装置の動作方法を示すフローチャートである。
図12】一実施例に係るエンコーディング装置の構成を示すブロック図である。
図13】一実施例に係るデコーディング装置の動作方法を示すフローチャートである。
図14】一実施例に係るデコーディング装置の構成を示すブロック図である。
【発明を実施するための形態】
【0016】
本発明は、多様な変更を加えることができ、様々な実施例を有することができ、特定の実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施例に限定するものではない。本明細書で使用する用語は、単に特定の実施例を説明するために使われたものであり、本発明の技術的思想を限定しようとする意図に使われるものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本明細書において、“含む”又は“有する”などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品又はそれらを組合せたものが存在することを指定するものであり、一つ又はそれ以上の他の特徴や数字、段階、動作、構成要素、部品又はそれらを組合せたものの存在又は付加の可能性を予め排除しないと理解しなければならない。
【0017】
一方、本発明で説明される図面上の各構成は、互いに異なる特徴的な機能に対する説明の便宜のために独立して図示されたものであり、各構成が互いに別個のハードウェアや別個のソフトウェアで具現されるということを意味しない。例えば、各構成のうち二つ以上の構成が合わせて一つの構成をなすこともあり、一つの構成が複数の構成に分けられることもある。各構成が統合及び/又は分離された実施例も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0018】
以下の説明は、ビデオ、イメージまたは映像に対して扱う技術分野で適用されることができる。例えば、以下の説明で開示された方法または実施例は、VVC(Versatile Video Coding)標準(ITU-T Rec.H.266)、VVC以後の次世代ビデオ/イメージコーディング標準、またはVVC以前の標準(例えば、HEVC(High Efficiency Video Coding)標準(ITU-T Rec.H.265)等)の開始内容と関連することができる。
【0019】
以下、添付図面を参照し、本発明の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素については同一の参照符号を使用し、同一の構成要素について重複説明は省略する。
【0020】
本明細書において、ビデオ(video)は、時間の流れによる一連の映像(image)の集合を意味する。ピクチャ(picture)は、一般的に特定時間帯の一つの映像を示す単位を意味し、スライス(slice)は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されることができ、必要によって、ピクチャ及びスライスは、互いに混用されて使われることができる。
【0021】
ピクセル(pixel)又はペル(pel)は、一つのピクチャ(又は映像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセル又はピクセルの値を示し、輝度(ルマ)成分のピクセル/ピクセルの値のみを示してもよく、彩度(クロマ)成分のピクセル/ピクセルの値のみを示してもよい。
【0022】
ユニット(unit)は、映像処理の基本単位を示す。ユニットは、ピクチャの特定領域及び該当領域に関する情報のうち少なくとも一つを含むことができる。ユニットは、場合によってブロック(block)又は領域(area)などの用語と混用して用いられてもよい。一般的な場合、MxNのブロックは、M個の列とN個の行からなるサンプル又は変換係数(transform coefficient)の集合を示すことができる。
【0023】
図1は、本発明が適用され得るエンコーディング装置(video encoding apparatus)の構成を概略的に説明する図である。以下、エンコーディング/デコーディング装置は、ビデオエンコーディング/デコーディング装置及び/又は映像エンコーディング/デコーディング装置を含むことがあり、ビデオエンコーディング/デコーディング装置が映像エンコーディング/デコーディング装置を含む概念として使用されるか、映像エンコーディング/デコーディング装置がビデオエンコーディング/デコーディング装置を含む概念として使用されることもある。
【0024】
図1を参照すると、ビデオエンコーディング装置100は、ピクチャ分割部(picture partitioning module)105、予測部(prediction module)110、レジデュアル処理部(residual processing module)120、エントロピーエンコーディング部(entropy encoding module)130、加算部(adder)140、フィルタ部(filtering module)150、及びメモリ(memory)160を含むことができる。レジデュアル処理部120は、減算部(substractor)121、変換部(transform module)122、量子化部(quantization module)123、再整列部(rearrangement module)124、逆量子化部(dequantization module)125、及び逆変換部(inverse transform module)126を含むことができる。
【0025】
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理ユニット(processing unit)に分割できる。
【0026】
一例として、処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれる。この場合、コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からQTBT(Quad-tree binary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造及び/またはターナリ(ternary)ツリー構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及びターナリツリー構造が後に適用されることができる。または、バイナリツリー構造/ターナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本発明によるコーディング手順が実行されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。
【0027】
他の例として、処理ユニットは、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)または変換ユニット(transform unit、TU)を含むこともできる。コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からクアッドツリー構造によって下位(deeper)デプスのコーディングユニットに分割(split)されることができる。この場合、映像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使われることができ、または、必要によって、コーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使われることができる。最小コーディングユニット(smallest coding unit、SCU)が設定された場合、コーディングユニットは、最小コーディングユニットより小さいコーディングユニットに分割されることができない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割の基盤となるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロック(subblock)に分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニット及び/または変換係数からレジデュアル信号(residual signal)を誘導するユニットである。以下、コーディングユニットはコーディングブロック(coding block、CB)、予測ユニットは予測ブロック(prediction block、PB)、変換ユニットは変換ブロック(transform block、TB)とも呼ばれる。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定領域を意味し、予測サンプルのアレイ(array)を含むことができる。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定領域を意味し、変換係数またはレジデュアルサンプルのアレイを含むことができる。
【0028】
予測部110は、処理対象ブロック(以下、現在ブロックまたはレジデュアルブロックを意味することもある)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部110で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0029】
予測部110は、現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。一例として、予測部110は、CU単位にイントラ予測またはインター予測が適用されるかを決定することができる。
【0030】
イントラ予測の場合、予測部110は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロック外部の参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。このとき、予測部110は、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの隣接参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含むことができる。予測部110は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
【0031】
インター予測の場合、予測部110は、参照ピクチャ上で動きベクトルにより特定されるサンプルに基づいて、現在ブロックに対する予測サンプルを誘導することができる。予測部110は、スキップ(skip)モード、マージ(merge)モード、及びMVP(motion vector prediction)モードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。スキップモードとマージモードの場合、予測部110は、隣接ブロックの動き情報を現在ブロックの動き情報として利用できる。スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差(レジデュアル)が送信されない。MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用して現在ブロックの動きベクトル予測子として利用して現在ブロックの動きベクトルを誘導することができる。
【0032】
インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャ(reference picture)に存在する時間的隣接ブロック(temporal neighboring block)を含むことができる。前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)とも呼ばれる。動き情報(motion information)は、動きベクトルと参照ピクチャインデックスを含むことができる。予測モード情報と動き情報などの情報は、(エントロピー)エンコーディングされてビットストリーム形態で出力されることができる。
【0033】
スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして利用されることもできる。参照ピクチャリスト(Picture Order Count)に含まれる参照ピクチャは、現在ピクチャと該当参照ピクチャとの間のPOC(Picture order count)差に基づいて整列されることができる。POCは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分されることができる。
【0034】
減算部121は、原本サンプルと予測サンプルとの間の差であるレジデュアルサンプルを生成する。スキップモードが適用される場合には、前述したようにレジデュアルサンプルを生成しない。
【0035】
変換部122は、変換ブロック単位にレジデュアルサンプルを変換して変換係数(transform coefficient)を生成する。変換部122は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードによって変換を実行することができる。例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが4×4のレジデュアルアレイ(array)である場合、レジデュアルサンプルは、DST(Discrete Sine Transform)変換カーネルを利用して変換され、その他の場合、レジデュアルサンプルは、DCT(Discrete Cosine Transform)変換カーネルを利用して変換できる。
【0036】
量子化部123は、変換係数を量子化し、量子化された変換係数を生成することができる。
【0037】
再整列部124は、量子化された変換係数を再整列する。再整列部124は、係数スキャニング(scanning)方法を介してブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。ここで、再整列部124は、別途の構成で説明したが、量子化部123の一部であってもよい。
【0038】
エントロピーエンコーディング部130は、量子化された変換係数に対するエントロピーエンコーディングを実行することができる。エントロピーエンコーディングは、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのようなエンコーディング方法を含むことができる。エントロピーエンコーディング部130は、量子化された変換係数外にビデオ復元に必要な情報(例えば、シンタックス要素(syntax element)の値等)を共にまたは別途にエントロピーエンコーディングまたは既設定された方法によってエンコーディングすることもできる。エンコーディングされた情報は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。
【0039】
逆量子化部125は、量子化部123で量子化された値(量子化された変換係数)を逆量子化し、逆変換部126は、逆量子化部125で逆量子化された値を逆変換してレジデュアルサンプルを生成する。
【0040】
加算部140は、レジデュアルサンプルと予測サンプルを加算してピクチャを復元する。レジデュアルサンプルと予測サンプルは、ブロック単位に加算されて復元ブロックが生成されることができる。ここで、加算部140は、別途の構成で説明したが、予測部110の一部であってもよい。一方、加算部140は、復元部(reconstruction module)または復元ブロック生成部とも呼ばれる。
【0041】
復元されたピクチャ(reconstructed picture)に対してフィルタ部150は、デブロッキングフィルタ及び/またはサンプル適応的オフセット(sample adaptive offset)を適用することができる。デブロッキングフィルタリング及び/またはサンプル適応的オフセットを介して、復元ピクチャ内のブロック境界のアーチファクトや量子化過程での歪曲が補正されることができる。サンプル適応的オフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリングの過程が完了した後に適用されることができる。フィルタ部150は、ALF(Adaptive Loop Filter)を復元されたピクチャに適用することもできる。ALFは、デブロッキングフィルタ及び/またはサンプル適応的オフセットが適用された後の復元されたピクチャに対して適用されることができる。
【0042】
メモリ160は、復元ピクチャ(デコーディングされたピクチャ)またはエンコーディング/デコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部150によりフィルタリング手順が完了した復元ピクチャである。前記格納された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして活用されることができる。例えば、メモリ160は、インター予測に使われる(参照)ピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されることができる。
【0043】
図2は、本発明が適用されることができるビデオ/映像デコーディング装置(video decoding apparatus)の構成を概略的に説明する図面である。以下、ビデオデコーディング装置とは、映像デコーディング装置を含むことができる。
【0044】
図2を参照すると、ビデオデコーディング装置200は、エントロピーデコーディング部(entropy decoding module)210、レジデュアル処理部(residual processing module)220、予測部(prediction module)230、加算部(adder)240、フィルタ部(filtering module)250、及びメモリ(memory)260を含むことができる。ここで、レジデュアル処理部220は、再整列部(rearrangement module)221、逆量子化部(dequantization module)222、逆変換部(inverse transform module)223を含むことができる。また、図示されていないが、ビデオデコーディング装置200は、ビデオ情報を含むビットストリームを受信する受信部を含むことができる。前記受信部は、別途のモジュールで構成されることもでき、またはエントロピーデコーディング部210に含まれることもできる。
【0045】
ビデオ/映像情報を含むビットストリームが入力されると、ビデオデコーディング装置200は、ビデオエンコーディング装置でビデオ/映像情報が処理されたプロセスに対応してビデオ/映像/ピクチャを復元することができる。
【0046】
例えば、ビデオデコーディング装置200は、ビデオエンコーディング装置で適用された処理ユニットを利用してビデオデコーディングを実行することができる。したがって、ビデオデコーディングの処理ユニットブロックは、一例としてコーディングユニットであり、他の例としてコーディングユニット、予測ユニットまたは変換ユニットである。コーディングユニットは、最大コーディングユニットからクアッドツリー構造、バイナリツリー構造及び/またはターナリツリー構造によって分割されることができる。
【0047】
予測ユニット及び変換ユニットが場合によってさらに使用されることができ、この場合、予測ブロックは、コーディングユニットから導出またはパーティショニングされるブロックであって、サンプル予測のユニットである。このとき、予測ユニットは、サブブロックに分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造によって分割されることができ、変換係数を誘導するユニットまたは変換係数からレジデュアル信号を誘導するユニットである。
【0048】
エントロピーデコーディング部210は、ビットストリームをパーシングしてビデオ復元またはピクチャ復元に必要な情報を出力することができる。例えば、エントロピーデコーディング部210は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコーディングし、ビデオ復元に必要なシンタックスエレメントの値、レジデュアルに対する変換係数の量子化された値を出力することができる。
【0049】
より詳細に、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に該当するBINを受信し、デコーディング対象シンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報または以前ステップでデコーディングされたシンボル/BINの情報を利用してコンテキスト(context)モデルを決定し、決定されたコンテキストモデルによってBINの発生確率を予測してBINの算術デコーディング(arithmetic decoding)を実行することで、各シンタックス要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコーディング方法は、コンテキストモデル決定後、次のシンボル/BINのコンテキストモデルのためにデコーディングされたシンボル/BINの情報を利用してコンテキストモデルをアップデートすることができる。
【0050】
エントロピーデコーディング部210でデコーディングされた情報のうち予測に対する情報は、予測部230に提供され、エントロピーデコーディング部210でエントロピーデコーディングが実行されたレジデュアル値、即ち、量子化された変換係数は、再整列部221に入力されることができる。
【0051】
再整列部221は、量子化されている変換係数を2次元のブロック形態で再整列できる。再整列部221は、エンコーディング装置で実行された係数スキャニングに対応して再整列を実行することができる。ここで、再整列部221は、別途の構成で説明したが、逆量子化部222の一部であってもよい。
【0052】
逆量子化部222は、量子化されている変換係数を(逆)量子化パラメータに基づいて逆量子化して変換係数を出力することができる。このとき、量子化パラメータを誘導するための情報は、エンコーディング装置からシグナリングされることができる。
【0053】
逆変換部223は、変換係数を逆変換してレジデュアルサンプルを誘導することができる。
【0054】
予測部230は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部230で実行される予測の単位は、コーディングブロック、または変換ブロック、または予測ブロックである。
【0055】
予測部230は、前記予測に対する情報に基づいて、イントラ予測を適用するか、またはインター予測を適用するかを決定することができる。このとき、イントラ予測とインター予測のうちいずれかを適用するかを決定する単位と予測サンプルを生成する単位は異なる。併せて、インター予測とイントラ予測において、予測サンプルを生成する単位も異なる。例えば、インター予測とイントラ予測のうちいずれかを適用するかは、CU単位に決定できる。また、例えば、インター予測において、PU単位に予測モードを決定して予測サンプルを生成することができ、イントラ予測において、PU単位に予測モードを決定し、TU単位に予測サンプルを生成することもできる。
【0056】
イントラ予測の場合、予測部230は、現在ピクチャ内の隣接参照サンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部230は、現在ブロックの隣接参照サンプルに基づいて方向性モードまたは非方向性モードを適用して現在ブロックに対する予測サンプルを誘導することができる。このとき、隣接ブロックのイントラ予測モードを利用して現在ブロックに適用する予測モードが決定されることもできる。
【0057】
インター予測の場合、予測部230は、参照ピクチャ上で動きベクトルにより参照ピクチャ上で特定されるサンプルに基づいて現在ブロックに対する予測サンプルを誘導することができる。予測部230は、スキップ(skip)モード、マージ(merge)モード、及びMVPモードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。このとき、ビデオエンコーディング装置で提供された現在ブロックのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックスなどに対する情報は、前記予測に対する情報に基づいて取得または誘導されることができる。
【0058】
スキップモードとマージモードの場合、隣接ブロックの動き情報が現在ブロックの動き情報として利用されることができる。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
【0059】
予測部230は、可用な隣接ブロックの動き情報でマージ候補リストを構成し、マージインデックスがマージ候補リスト上で指示する情報を現在ブロックの動きベクトルとして使用することができる。マージインデックスは、エンコーディング装置からシグナリングされることができる。動き情報は、動きベクトルと参照ピクチャを含むことができる。スキップモードとマージモードで時間的隣接ブロックの動き情報が利用される場合、参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして利用されることができる。
【0060】
スキップモードの場合、マージモードと違って予測サンプルと原本サンプルとの間の差(レジデュアル)が送信されない。
【0061】
MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用して現在ブロックの動きベクトルが誘導されることができる。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含むことができる。
【0062】
一例として、マージモードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、マージ候補リストが生成されることができる。マージモードではマージ候補リストから選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使われる。前記予測に対する情報は、前記マージ候補リストに含まれている候補ブロックの中から選択された最適の動きベクトルを有する候補ブロックを指示するマージインデックスを含むことができる。このとき、予測部230は、前記マージインデックスを利用し、現在ブロックの動きベクトルを導出することができる。
【0063】
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを利用し、動きベクトル予測子候補リストが生成されることができる。即ち、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として使われることができる。前記予測に対する情報は、前記リストに含まれている動きベクトル候補の中から選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含むことができる。このとき、予測部230は、前記動きベクトルインデックスを利用し、動きベクトル候補リストに含まれている動きベクトル候補の中から、現在ブロックの予測動きベクトルを選択することができる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分(MVD)を求めることができ、これをエンコーディングしてビットストリーム形態で出力できる。即ち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値として求められる。このとき、予測部230は、前記予測に対する情報に含まれている動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導出することができる。また、予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に対する情報から取得または誘導できる。
【0064】
加算部240は、レジデュアルサンプルと予測サンプルを加算して現在ブロックまたは現在ピクチャを復元することができる。加算部240は、レジデュアルサンプルと予測サンプルをブロック単位に加算して現在ピクチャを復元することもできる。スキップモードが適用された場合にはレジデュアルが送信されないため、予測サンプルが復元サンプルになることができる。ここで、加算部240は、別途の構成で説明したが、予測部230の一部であってもよい。一方、加算部240は、復元部(reconstruction module)または復元ブロック生成とも呼ばれる。
【0065】
フィルタ部250は、復元されたピクチャにデブロッキングフィルタリングサンプル適応的オフセット、及び/またはALFなどを適用することができる。このとき、サンプル適応的オフセットは、サンプル単位に適用されることができ、デブロッキングフィルタリング以後に適用されることもできる。ALFは、デブロッキングフィルタリング及び/またはサンプル適応的オフセット以後に適用されることもできる。
【0066】
メモリ260は、復元ピクチャ(デコーディングされたピクチャ)またはデコーディングに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部250によりフィルタリング手順が完了した復元ピクチャである。例えば、メモリ260は、インター予測に使われるピクチャを格納することができる。このとき、インター予測に使われるピクチャは、参照ピクチャセットまたは参照ピクチャリストにより指定されることもできる。復元されたピクチャは、他のピクチャに対する参照ピクチャとして利用されることができる。また、メモリ260は、復元されたピクチャを出力順序によって出力することもできる。
【0067】
一方、前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコーディング装置及びデコーディング装置で同じに導出され、前記エンコーディング装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに対する情報(レジデュアル情報)をデコーディング装置でシグナリングすることで映像コーディング効率を上げることができる。デコーディング装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0068】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコーディング装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコーディング装置でシグナリングできる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコーディング装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコーディング装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコーディング装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0069】
図3は、一実施例に係るアフィン動きモデルを介して表現される動きの一例を示す図である。
【0070】
本明細書で、「CP」はコントロールポイントの略字であって、現在ブロックにアフィン動きモデルを適用する過程で基準になるサンプル又は基準点を意味し得る。CPの動きベクトルは、「CPMV(Control Point Motion Vector)」と称されることがあり、CPMVは、CPMV予測子である「CPMVP(Control Point Motion Vector Predictor)」に基づいて導出され得る。
【0071】
図3を参照すると、一実施例に係るアフィン動きモデルを介して表現され得る動きは、並進(translate)動き、スケール(scale)動き、回転(rotate)動き、及びせん断(shear)動きを含み得る。即ち、アフィン動きモデルは、時間の流れに応じて映像(の一部)が平面移動する並進動き、時間の流れに応じて映像(の一部)がスケール(scale)されるスケール動き、時間の流れに応じて映像(の一部)が回転する回転動き、時間の流れに応じて映像(の一部)が平衡四辺形の形状に変形されるせん断動き等を効率的に表現し得る。
【0072】
一実施例に係るアフィン動きモデルを用いてアフィンインター予測(affine inter prediction)が行われ得る。エンコーディング装置/デコーディング装置は、アフィンインター予測を介して現在ブロックのCPでの動きベクトルに基づいて映像の歪み形態を予測することができ、これを介して、予測の正確度を高めることによって、映像の圧縮性能を向上させることができる。また、現在ブロックの周辺ブロックの動きベクトルを利用し、前記現在ブロックの少なくとも一つのCPに対する動きベクトルが誘導され得るので、追加される付加情報に対するデータ量の負担を減らし、インター予測の効率を向上させることができる。
【0073】
一例示において、アフィンインター予測は、現在ブロックに対する3つのCP、即ち、3つの基準点での動き情報に基づいて行われ得る。現在ブロックに対する3つのCPでの動き情報は、各CPのCPMVを含み得る。
【0074】
図4は、3つのCPに対する動きベクトルが使用されるアフィン動きモデルを例示的に示す。
【0075】
現在ブロック内の左上段(top-left)サンプルの位置(position)が(0,0)であり、現在ブロックの幅(width)がwであり、高さ(height)がhである場合、図4に示すように、(0,0)、(w,0)及び(0,h)に位置したサンプルを現在ブロックに対するCPと決め得る。以下、(0,0)のサンプル位置のCPはCP0、(w,0)のサンプル位置のCPはCP1、(0,h)のサンプル位置のCPはCP2と示し得る。
【0076】
前述した各CPと該当CPに対する動きベクトルを用いて、一実施例に係るアフィン動きモデルを適用できる。アフィン動きモデルは、下記の数式1のように示し得る。
【0077】
【数1】
【0078】
ここで、wは、前記現在ブロックの幅(width)を示し、hは、前記現在ブロックの高さ(height)を示し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を示し、v2x、v2yは、それぞれCP2の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック内の前記対象サンプルの前記位置のy成分を示し、vは、前記現在ブロック内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック内の前記対象サンプルの前記動きベクトルのy成分を示す。
【0079】
一方、アフィン動きモデルを示す数式1は一例示に該当するだけであり、アフィン動きモデルを示すための数式は、数式1に限定されない。例えば、数式1に開示された各係数の符号は、場合に応じて数式1と異なってもよく、各係数の絶対値の大きさもまた場合に応じて数式1と異なってもよい。
【0080】
前記CP0の動きベクトル、前記CP1の動きベクトル、及び前記CP2の動きベクトルは知っているので、前記数式1に基づいて現在ブロック内のサンプル位置による動きベクトルが誘導され得る。即ち、前記アフィン動きモデルによると、対象サンプルの座標(x,y)と3つのCPとの距離比に基づき、前記CPでの動きベクトルv0(v0x,v0y)、v1(v1x,v1y)、v2(v2x,v2y)がスケーリングされ、前記対象サンプルの位置による前記対象サンプルの動きベクトルが導出され得る。即ち、前記アフィン動きモデルによると、前記CPの動きベクトルに基づいて、前記現在ブロック内の各サンプルの動きベクトルが導出され得る。一方、前記アフィン動きモデルに応じて導出された前記現在ブロック内のサンプルの動きベクトルの集合は、アフィン動きベクトルフィールド(affine Motion Vector Field)と示し得る。
【0081】
一方、前記数式1に対する6つのパラメータは、次の数式のようにa、b、c、d、e、fと示し得、前記6つのパラメータで示した前記アフィン動きモデルに対する数式は次の通りである。
【0082】
【数2】
【0083】
ここで、wは、前記現在ブロックの幅(width)を示し、hは、前記現在ブロックの高さ(height)を示し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を示し、v2x、v2yは、それぞれCP2の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック内の対象サンプルの位置のx成分を示し、 yは、前記現在ブロック内の前記対象サンプルの前記位置のy成分を示し、vは、前記現在ブロック内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック内の前記対象サンプルの前記動きベクトルのy成分を示す。
【0084】
一方、6つのパラメータに基づくアフィン動きモデルを示す数式2は一例示に該当するだけであり、6つのパラメータに基づくアフィン動きモデルを示すための数式は数式2に限定されない。例えば、数式2に開示された各係数の符号は、場合に応じて数式2と異なってもよく、各係数の絶対値の大きさもまた場合に応じて数式2と異なってもよい。
【0085】
前記6つのパラメータを使用する前記アフィン動きモデル又は前記アフィンインター予測は、6パラメータアフィン動きモデル又はAF6と示し得る。
【0086】
一例示において、アフィンインター予測は、現在ブロックに対する3つのCP、即ち、3つの基準点での動き情報に基づいて行われ得る。現在ブロックに対する3つのCPでの動き情報は、各CPのCPMVを含み得る。
【0087】
一例示において、アフィンインター予測は、現在ブロックに対する2つのCP、即ち、2つの基準点での動き情報に基づいて行われ得る。現在ブロックに対する2つのCPでの動き情報は、各CPのCPMVを含み得る。
【0088】
図5は、2つのCPに対する動きベクトルが使用されるアフィン動きモデルを例示的に示す。
【0089】
2つのCPを使用するアフィン動きモデルは、並進動き、スケール動き、回転動きを含む3つの動きを表現し得る。3つの動きを表現するアフィン動きモデルは、シミラリティーアフィン動きモデル(similarity affine motion model)又はシンプリファイドアフィン動きモデル(simplified affine motion model)と称することもある。
【0090】
現在ブロック内の左上段(top-left)サンプルの位置(position)が(0,0)であり、現在ブロックの幅がwであり、高さがhである場合、図5に示すように、(0,0)、(w,0)に位置したサンプルを現在ブロックに対するCPと決め得る。以下、(0,0)のサンプル位置のCPはCP0、(w,0)のサンプル位置のCPはCP1と示し得る。
【0091】
前述した各CPと該当CPに対する動きベクトルを用いて、4つのパラメータに基づくアフィン動きモデルを適用できる。アフィン動きモデルは、下記の数式3のように示し得る。
【0092】
【数3】
【0093】
ここで、wは、前記現在ブロックの幅(width)を示し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック内の前記対象サンプルの前記位置のy成分を示し、vは、前記現在ブロック内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック内の前記対象サンプルの前記動きベクトルのy成分を示す。
【0094】
一方、4つのパラメータに基づくアフィン動きモデルを示す数式3は一例示に該当するだけであり、4つのパラメータに基づくアフィン動きモデルを示すための数式は数式3に限定されない。例えば、数式3に開示された各係数の符号は、場合に応じて数式3と異なってもよく、各係数の絶対値の大きさもまた場合に応じて数式3と異なってもよい。
【0095】
一方、前記数式3に対する4つのパラメータは、次の数式4のようにa、b、c、dで示し得、前記4つのパラメータで示した前記アフィン動きモデルに対する数式4は次の通りである。
【0096】
【数4】
【0097】
ここで、wは、前記現在ブロックの幅(width)を示し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を示し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を示す。また、xは、前記現在ブロック内の対象サンプルの位置のx成分を示し、yは、前記現在ブロック内の前記対象サンプルの前記位置のy成分を示し、vは、前記現在ブロック内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック内の前記対象サンプルの前記動きベクトルのy成分を示す。前記2つのCPを使用する前記アフィン動きモデルは、前記数式4のように4つのパラメータa、b、c、dで表現され得るので、前記4つのパラメータを使用する前記アフィン動きモデル又は前記アフィンインター予測は、4パラメータアフィン動きモデル又はAF4と示し得る。即ち、前記アフィン動きモデルによると、前記コントロールポイントの動きベクトルに基づいて、前記現在ブロック内の各サンプルの動きベクトルが導出され得る。一方、前記アフィン動きモデルに応じて、導出された前記現在ブロック内のサンプルの動きベクトルの集合は、アフィン動きベクトルフィールドと示し得る。
【0098】
一方、4つのパラメータに基づくアフィン動きモデルを示す数式4は一例示に該当するだけであり、4つのパラメータに基づくアフィン動きモデルを示すための数式は数式4に限定されない。例えば、数式4に開示された各係数の符号は、場合に応じて数式4と異なってもよく、各係数の絶対値の大きさもまた場合に応じて数式4と異なってもよい。
【0099】
一方、前述した内容のように、前記アフィン動きモデルを介してサンプル単位の動きベクトルが導出され得、これを介してインター予測の正確度がかなり向上し得る。但し、この場合、動き補償(motion compensation)過程での複雑度が大きく増加することもある。
【0100】
別の一実施例では、サンプル単位の動きベクトルが導出される代わりに、前記現在ブロック内のサブブロック単位の動きベクトルが導出されるように制限され得る。
【0101】
図6は、アフィン動きモデルに基づいて、サブブロック単位で動きベクトルを導出する一例を示す図である。
【0102】
図6は、前記現在ブロックのサイズが16x16であり、4x4のサブブロック単位で動きベクトルが誘導される場合を例示的に示す。前記サブブロックは様々なサイズに設定されることができ、例えば、サブブロックがnxnサイズ(nは正の整数、例えば、nは4)に設定された場合、前記アフィン動きモデルに基づいて現在ブロック内のnxnのサブブロック単位で動きベクトルが導出され得、各サブブロックを代表する動きベクトルを誘導するための様々な方法が適用され得る。
【0103】
例えば、図6を参照すると、各サブブロックのセンター又はセンターの右下側(lower right side)サンプルポジションを代表座標として、各サブブロックの動きベクトルが導出され得る。ここで、センターの右下側ポジションとは、サブブロックのセンターに位置する4つのサンプルのうち、右下側に位置するサンプルポジションを示し得る。例えば、nが奇数の場合、サブブロックの真ん中には一つのサンプルが位置し得、この場合、センターのサンプルポジションが前記サブブロックの動きベクトルの導出のために使用され得る。しかし、nが偶数の場合、サブブロックの中央には4つのサンプルが隣接するように位置し得、この場合、右下側サンプルポジションが前記動きベクトルの導出のために使用され得る。例えば、図6を参照すると、各サブブロック別の代表座標は、(2,2)、(6,2)、(10,2)、...、(14,14)として導出され得、エンコーディング装置/デコーディング装置は、前記サブブロックの代表座標それぞれを前述した数式1又は3に代入し、各サブブロックの動きベクトルを導出し得る。前記アフィン動きモデルを介して導出された現在ブロック内のサブブロックの動きベクトルはアフィンMVFと示し得る。
【0104】
一実施例において、前述したアフィン動きモデルを二つのステップに整理すると、CPMVを導出するステップ及びアフィン動き補償(affine motion compensation)を行うステップで構成できる。
【0105】
一方、前述したアフィン動きモデルを使用したインター予測、即ち、アフィン動き予測は、アフィンマージモード(affine merge mode、AF_MERGE又はAAM)とアフィンインターモード(affine inter mode、AF_INTER又はAAMVP)が存在し得る。
【0106】
一実施例にかかるアフィンマージモード(AAM)は、既存のスキップ(skip)/マージ(merge)モードと同様にMVD(motion vector difference)に対するコーディングなしで、前記現在ブロックの周辺ブロックから2つ又は3つのCPそれぞれに対するCPMVを誘導して予測を行うエンコーディング/デコーディング方法を示し得る。アフィンインターモード(AAMVP)は、AMVPと同様にCPMVとCPMVPとの差異情報を明示的にエンコーディング/デコーディングする方法を示し得る。
【0107】
一方、図3乃至図6で前述したアフィン動きモデルに対する説明は、本明細書で後述する本発明の一実施例に係るエンコーディング/デコーディング方法の原理に対する理解を助けるためのものであり、よって、本発明の範囲が図3乃至図6で前述した内容により制限されるものではないことは、当該技術分野の通常の技術者にとって容易に理解されるはずだ。
【0108】
一実施例では、アフィンインター予測のためのアフィンMVP候補リストを構成する方法について説明する。本明細書で、アフィンMVP候補リストはアフィンMVP候補で構成され、各アフィンMVP候補は、4-パラメータ(アフィン)動きモデル(foul parameter (affine) motion model)ではCP0とCP1のCPMVPの組み合わせを意味し得、6-パラメータ(アフィン)動きモデル(six parameter (affine) motion model)では、CP0、CP1及びCP2のCPMVPの組み合わせを意味し得る。本明細書に記載されたアフィンMVP候補は、CPMVP候補、アフィンCPMVP候補、CPMVPペア(pair)候補、CPMVPペア等様々な名称で異なって称されることがある。アフィンMVP候補リストは、n個のアフィンMVP候補を含み得、nが1より大きい整数の場合、最適の(optimal)アフィンMVP候補を指示する情報の符号化及び復号化が必要なことがある。nが1の場合には、最適のアフィンMVP候補を指示する情報の符号化及び復号化が必要ではないことがある。nが1より大きい整数である場合のシンタックスの例示は下記の表1の通りであり、nが1である場合のシンタックスの例示は下記の表2の通りである。
【0109】
【表1】
【0110】
【表2】
【0111】
表1及び表2において、merge_flagは、マージモードであるか否かを示すためのフラグである。merge_flagの値が1である場合、マージモードが行われ、merge_flagの値が0である場合、マージモードが行われないことがある。affine_flagは、アフィン動き予測が使用されるか否かを示すためのフラグである。affine_flagの値が1である場合、アフィン動き予測が使用され、affine_flagの値が0である場合、アフィン動き予測が使用されないことがある。aamvp_idxは、n個のアフィンMVP候補のうち、最適のアフィンMVP候補を示すためのインデックス情報である。nが1より大きい整数の場合を示す表1では、前記aamvp_idxに基づいて最適のアフィンMVP候補を示す反面、nが1の場合を示す表2では、アフィンMVP候補が1つしかないので、aamvp_idxがパーシングされないことを確認することができる。
【0112】
一実施例では、アフィンMVP候補を決定する際、アフィン動き予測に基づいて符号化された周辺ブロック(以下では、「アフィンコーディングブロック(affine coding block)」と称することもある)のアフィン動きモデルを使用することができる。一例示において、アフィンMVP候補を決定する際、第1ステップ及び第2ステップを行うことができる。第1ステップで、周辺ブロックを既定義された順序に従ってスキャン(scan)しつつ、各周辺ブロックがアフィン動き予測に基づいて符号化されたか否かを確認できる。第2ステップで、アフィン動き予測に基づいて符号化された周辺ブロックを用いて、現在ブロックのアフィンMVP候補を決定することができる。
【0113】
前記第1ステップでアフィン動き予測に基づいて符号化されたブロックは、最大m個まで考慮し得る。例えば、mが1の場合、スキャニング順序(scanning order)上、一番目のアフィンコーディングブロックを用いて、アフィンMVP候補を決定できる。例えば、mが2の場合、スキャニング順序上、一番目と二番目のアフィンコーディングブロックを用いて、少なくとも一つのアフィンMVP候補を決定することができる。その際、プルーニングチェック(pruning check)を行い、一番目のアフィンMVP候補と二番目のアフィンMVP候補とが同一である場合、さらにスキャニング過程を行い、アフィンMVP候補をさらに決定できる。一方、一例示において、本実施例で説明されたmは、表1及び表2に対する説明で前述したnの値を超えないことがある。
【0114】
一方、前記第1のステップで周辺ブロックをスキャンしつつ、各周辺ブロックがアフィン動き予測に基づいて符号化されたかを確認する過程に対する実施例は様々なことがある。以下、図7乃至図10では、周辺ブロックをスキャンしつつ、各周辺ブロックがアフィン動き予測に基づいて符号化されたか否かを確認する過程に対する実施例について説明することとする。
【0115】
図7乃至図10は、アフィン動き予測に基づいてコーディングされた周辺ブロックを検出する方法の例示を示している。
【0116】
図7を参照すると、現在ブロックの周辺に4x4のブロックであるA、B、C、D、及びEが示されている。CP0の周辺に左上側コーナーの周辺ブロックであるEブロックが位置し、CP1の周辺に右上側コーナーの周辺ブロックであるCブロックと上側周辺ブロックであるBブロックが位置し、CP2の周辺に左下側コーナーの周辺ブロックであるDブロックと左側周辺ブロックであるAブロックが位置している。図7による配置は、AMVP又はマージモードによる方法と構造を共有することができるので、設計コストを減らすのに寄与できる。
【0117】
図8を参照すると、現在ブロックの周辺に4x4のブロックでるA、B、C、D、E、F、及びGが示されている。CP0の周辺に左上側コーナーの周辺ブロックであるEブロック、第1左側周辺ブロックであるGブロック、及び第1上側周辺ブロックであるFブロックが位置し、CP1の周辺に右上側周辺ブロックであるCブロック、及び第2上側周辺ブロックであるBブロックが位置し、CP2の周辺に左下側コーナーの周辺ブロックであるDブロック、並びに第2左側周辺ブロックであるAブロックが位置している。図8による配置は、3つのCPに隣接した4x4のブロックのみに基づいてアフィン動き予測に基づいてコーディングされたか否かを判断するので、スキャニング複雑度の増加を最小化すると同時に、符号化性能の側面で効果的であり得る。
【0118】
図9は、アフィン動き予測に基づいてコーディングされた周辺ブロックを検出する際にスキャンされる周辺ブロックの配置が図8と同一である。但し、図9による実施例では、現在ブロックの左側に位置した点線内に含まれた4x4の周辺ブロックのうちの最大p個、現在ブロックの上側に位置した点線内に含まれた4x4の周辺ブロックのうちの最大q個に基づいて、アフィンMVP候補を決定することができる。例えば、pとqがそれぞれ1である場合、現在ブロックの左側に位置した点線内に含まれた4x4の周辺ブロックのうち、スキャン順序上、一番目のアフィンコーディングブロック及び現在ブロックの上側に位置した点線内に含まれた4x4の周辺ブロックのうち、スキャン順序上、一番目のアフィンコーディングブロックに基づいてアフィンMVP候補を決定することができる。
【0119】
図10を参照すると、CP0の周辺に位置した左上側コーナーの周辺ブロックであるEブロック、第1左側周辺ブロックであるGブロック、及び第1上側周辺ブロックであるFブロックのうち、スキャン順序上、一番目のアフィンコーディングブロック、CP1の周辺に位置した右上側周辺ブロックであるCブロック、及び第2上側周辺ブロックであるBブロックのうち、スキャン順序上、一番目のアフィンコーディングブロック、並びにCP2の周辺に位置した左下側コーナーの周辺ブロックであるDブロック、及び第2左側周辺ブロックであるAブロックのうち、スキャン順序上、一番目のアフィンコーディングブロックに基づいてアフィンMVP候補を決定することができる。
【0120】
一方、前述したスキャン方法(scanning method)のスキャン順序(scanning order)は、特定のエンコーディング装置又はデコーディング装置の確率及び性能分析に基づいて決定され得る。従って、一実施例によれば、スキャン順序が特定されることなく、本実施例が適用されるエンコーディング装置又はデコーディング装置の統計的特性又は性能に基づいて、スキャン順序が決定され得る。
【0121】
図11は、一実施例に係るエンコーディング装置の動作方法を示すフローチャートであり、図12は、一実施例に係るエンコーディング装置の構成を示すブロック図である。
【0122】
図11及び図12によるエンコーディング装置は、後述する図13及び図14によるデコーディング装置と対応する動作を行うことができる。従って、図13及び図14で後述する内容は、図11及び図12によるエンコーディング装置にも同様に適用され得る。
【0123】
図11に開示された各ステップは、図1に開示されたエンコーディング装置100により行われ得る。より具体的に、S1100乃至S1140は、図1に開示された予測部110により行われ、S1150は、図1に開示されたレジデュアル処理部120により行われ、S1160は、図1に開示されたエントロピーエンコーディング部130により行われ得る。また、S1100乃至S1160による動作は、図3乃至図10で前述した内容のうちの一部に基づいたものである。従って、図1及び図3乃至図10で前述した内容と重複する具体的な内容は、説明を省略するか、簡単にすることとする。
【0124】
図12に示すように、一実施例に係るエンコーディング装置は、予測部110及びエントロピーエンコーディング部130を含み得る。しかし、場合に応じては、図12に示された構成要素がいずれもエンコーディング装置の必須構成要素ではないことがあり、エンコーディング装置は、図12に示された構成要素よりも多いか、少ない構成要素により実現され得る。
【0125】
一実施例に係るエンコーディング装置で、予測部110及びエントロピーエンコーディング部130は、それぞれ別途のチップ(chip)で実現されるか、少なくとも二つ以上の構成要素が一つのチップを介して実現されることもある。
【0126】
一実施例に係るエンコーディング装置は、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成することができる(S1100)。より具体的に、エンコーディング装置の予測部110は、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成することができる。
【0127】
一実施例に係るエンコーディング装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVPを導出することができる(S1110)。より具体的に、エンコーディング装置の予測部110は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVPを導出することができる。
【0128】
一実施例に係るエンコーディング装置は、前記現在ブロックの前記CPそれぞれに対するCPMVを導出することができる(S1120)。より具体的に、エンコーディング装置の予測部110は、前記現在ブロックの前記CPそれぞれに対するCPMVを導出することができる。
【0129】
一実施例に係るエンコーディング装置は、前記CPそれぞれに対する前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVDを導出することができる(S1130)。より具体的に、エンコーディング装置の予測部110は、前記CPそれぞれに対する前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVDを導出することができる。
【0130】
一実施例に係るエンコーディング装置は、前記CPMVに基づいて、前記現在ブロックに対する予測サンプルを導出することができる(S1140)。より具体的に、エンコーディング装置の予測部110は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出することができる。
【0131】
一実施例に係るエンコーディング装置は、前記導出された予測サンプルに基づいて、前記現在ブロックに対するレジデュアルサンプルを導出することができる(S1150)。より具体的に、エンコーディング装置のレジデュアル処理部120は、前記導出された予測サンプルに基づいて、前記現在ブロックに対するレジデュアルサンプルを導出することができる。
【0132】
一実施例に係るエンコーディング装置は、前記導出されたCPMVDに対する情報、及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディングすることができる(S1160)。より具体的に、エンコーディング装置のエントロピーエンコーディング部130は、前記導出されたCPMVDに対する情報、及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディングすることができる。
【0133】
図11及び図12に開示されたエンコーディング装置及びエンコーディング装置の動作方法によれば、エンコーディング装置は、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成し(S1100)、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVPを導出し(S1110)、前記現在ブロックの前記CPそれぞれに対するCPMVを導出し(S1120)、前記CPそれぞれに対する前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVDを導出し(S1130)、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出し(S1140)、前記導出された予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導出し(S1150)、前記導出されたCPMVDに対する情報、及び前記レジデュアルサンプルに関するレジデュアル情報をエンコーディング(S1160)することができる。即ち、アフィン動き予測に用いられるアフィンMVP候補リストに対する情報をシグナリングすることによって、映像コーディングの効率を高めることができる。
【0134】
図13は、一実施例に係るデコーディング装置の動作方法を示すフローチャートであり、図14は、一実施例に係るデコーディング装置の構成を示すブロック図である。
【0135】
図13に開示された各段階は、図2に開示されたデコーディング装置200により行われ得る。より具体的に、S1300は、図2に開示されたエントロピーデコーディング部210により行われ、S1310乃至S1350は、図2に開示された予測部230により行われ、S1360は、図2に開示された加算部240により行われ得る。また、S1300乃至S1360による動作は、図3乃至図10で前述した内容のうち一部に基づいたものである。従って、図2乃至図10で前述した内容と重複する具体的な内容は、説明を省略するか、簡単にすることとする。
【0136】
図14に示すように、一実施例に係るデコーディング装置は、エントロピーデコーディング部210、予測部230、及び加算部240を含み得る。しかし、場合に応じては、図14に示された構成要素がいずれもデコーディング装置の必須構成要素ではないことがあり、デコーディング装置は、図14に示された構成要素より多いか、少ない構成要素により実現され得る。
【0137】
一実施例に係るデコーディング装置で、エントロピーデコーディング部210、予測部230、及び加算部240は、それぞれ別途のチップ(chip)で実現されるか、少なくとも二つ以上の構成要素が一つのチップを介して実現されることもある。
【0138】
一実施例に係るデコーディング装置は、ビットストリームから動き予測情報(motion prediction information)を獲得することができる(S1300)。より具体的に、デコーディング装置のエントロピーデコーディング部210は、ビットストリームから動き予測情報(motion prediction information)を獲得することができる。
【0139】
一実施例に係るデコーディング装置は、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成することができる(S1310)。より具体的に、デコーディング装置の予測部230は、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成することができる。
【0140】
一実施例において、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナーの周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)から導出され、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナーの周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)、及び左上側コーナーの周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)から導出され得る。その際、前記第1アフィンMVP候補は、前記左側ブロックグループに含まれた第1ブロックに基づいて導出され、前記第1ブロックはアフィン動き予測(affine motion prediction)に基づいてコーディングされ、前記第2アフィンMVP候補は、前記上側ブロックグループに含まれた第2ブロックに基づいて導出され、前記第2ブロックは、アフィン動き予測に基づいてコーディングされたものであり得る。
【0141】
別の一実施例において、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナーの周辺ブロック、第1左側周辺ブロック、及び第2左側周辺ブロックを含む左側ブロックグループから導出され、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナーの周辺ブロック、第1上側周辺ブロック、第2上側周辺ブロック、及び左上側コーナーの周辺ブロックを含む上側ブロックグループから導出され得る。その際、前記第1アフィンMVP候補は、前記左側ブロックグループに含まれた第1ブロックに基づいて導出され、前記第1ブロックはアフィン動き予測に基づいてコーディングされ、前記第2アフィンMVP候補は、前記上側ブロックグループに含まれた第2ブロックに基づいて導出され、前記第2ブロックはアフィン動き予測に基づいてコーディングされたものであり得る。
【0142】
また別の一実施例において、前記アフィンMVP候補は、第1アフィンMVP候補、第2アフィンMVP候補、及び第3アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナーの周辺ブロック、及び第1左側周辺ブロックを含む左下側ブロックグループから導出され、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナーの周辺ブロック及び第1上側周辺ブロックを含む右上側ブロックグループから導出され、前記第3アフィンMVP候補は、前記現在ブロックの左上側コーナーの周辺ブロック、第2上側周辺ブロック、及び第2左側周辺ブロックを含む左上側ブロックグループから導出され得る。その際、前記第1アフィンMVP候補は、前記左下側ブロックグループに含まれた第1ブロックに基づいて導出され、前記第1ブロックはアフィン動き予測に基づいてコーディングされ、前記第2アフィンMVP候補は、前記右上側ブロックグループに含まれた第2ブロックに基づいて導出され、前記第2ブロックはアフィン動き予測に基づいてコーディングされ、前記第3アフィンMVP候補は、前記左上側ブロックグループに含まれた第3ブロックに基づいて導出され、前記第3ブロックはアフィン動き予測に基づいてコーディングされたものであり得る。
【0143】
一実施例に係るデコーディング装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVP(Control Point Motion Vector Predictors)を導出することができる(S1320)。より具体的に、デコーディング装置の予測部230は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCPそれぞれに対するCPMVPを導出することができる。
【0144】
一実施例において、前記動き予測情報に含まれたアフィンMVP候補インデックスに基づいて、前記アフィンMVP候補のうち、前記一つのアフィンMVP候補が選択され得る。
【0145】
一実施例に係るデコーディング装置は、前記獲得した動き予測情報に含まれた前記CPそれぞれに対するCPMVDに対する情報に基づいて、前記現在ブロックの前記CPに対する前記CPMVDを導出することができる(S1330)。より具体的に、デコーディング装置の予測部230は、前記獲得した動き予測情報に含まれた前記CPそれぞれに対するCPMVDに対する情報に基づいて、前記現在ブロックの前記CPに対する前記CPMVDを導出することができる。
【0146】
一実施例に係るデコーディング装置は、前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するCPMVを導出することができる(S1340)。より具体的に、デコーディング装置の予測部230は、前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するCPMVを導出することができる。
【0147】
一実施例に係るデコーディング装置は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出することができる(S1350)。より具体的に、デコーディング装置の予測部230は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出することができる。
【0148】
一実施例に係るデコーディング装置は、前記導出された予測サンプルに基づいて、前記現在ブロックに対する復元サンプルを生成することができる(S1360)。より具体的に、デコーディング装置の加算部240は、前記導出された予測サンプルに基づいて、前記現在ブロックに対する復元サンプルを生成することができる。
【0149】
一実施例において、前記動き予測情報は、アフィン動き予測に基づいてコーディングされた前記現在ブロックに対する周辺ブロック(neighboring block)が存在するか否かを示すコンテキストインデックス(context index)に対する情報を含み得る。
【0150】
一実施例において、前記第1ステップに対する説明で前述したmの値は1であり、前記表1及び表2に対する説明で前述したnの値は2である場合に関して、最適のアフィンMVP候補を示すためのインデックス情報を符号化及び復号化するためのCABACコンテキストモデル(CABAC context model)が構成され得る。現在ブロックの周辺にアフィンコーディングブロックが存在する場合には、図7乃至図10で前述したように、アフィン動きモデルに基づいて現在ブロックのアフィンMVP候補を決定できるが、現在ブロックの周辺にアフィンコーディングブロックが存在しない場合には、本実施例が適用できる。アフィンコーディングブロックに基づいてアフィンMVP候補を決定する場合、前記アフィンMVP候補の信頼性が高いので、アフィンコーディングブロックに基づいてアフィンMVP候補を決定する場合と、そうでない場合とを分類し、コンテキストモデルを設計できる。その際、アフィンコーディングブロックに基づいて決定されたアフィンMVP候補に対して、インデックス0が割り当てられ得る。本実施例に係るCABACコンテキストインデックスは、下記の数式5の通りである。
【0151】
【数5】
【0152】
CABACコンテキストインデックスによる初期値は、下記の表3のように決定され得、CABACコンテキストインデックス及び初期値は、下記の数式6の条件を満たす必要がある。
【0153】
【表3】
【0154】
【数6】
【0155】
図13及び図14のデコーディング装置及びデコーディング装置の動作方法によれば、デコーディング装置はビットストリームから動き予測情報(motion prediction information)を獲得し(S1300)、現在ブロックに対するアフィンMVP候補を含むアフィンMVP候補リストを生成し(S1310)、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)それぞれに対するCPMVP(Control Point Motion Vector Predictors)を導出し(S1320)、前記獲得した動き予測情報に含まれた前記CPそれぞれに対するCPMVD(Control Point Motion Vector Differences)に対する情報に基づいて、前記現在ブロックの前記CPに対する前記CPMVDを導出し(S1330)、前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vector)を導出し(S1340)、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導出し(S1350)、前記導出された予測サンプルに基づいて、前記現在ブロックに対する復元サンプルを生成(S1360)することができる。即ち、アフィン動き予測に用いられるアフィンMVP候補リストに対する情報をシグナリングすることによって、映像コーディングの効率を高めることができる。
【0156】
一方、本明細書の前述した実施例による方法は、映像及びビデオ圧縮に関するものであって、エンコーディング装置と復号器化にすべて適用され、ビットストリームを生成する装置又はビットストリームを受信する装置にすべて適用され、端末機でディスプレイ装置を介して出力するか否かと関係なく適用され得る。例えば、映像はエンコーディング装置を有する端末により圧縮されたデータに生成され、圧縮されたデータはビットストリームの形態を有し、ビットストリームは様々な形態の保存装置に保存され、ネットワークを介してストリーミングされ、デコーディング装置を有する端末機の方に伝達され得る。端末機がディスプレイ装置を装着した場合には、ディスプレイ装置で復号された映像をディスプレイすることができ、単純にビットストリームデータを保存することもできる。
【0157】
前述した本発明による方法は、ソフトウェアの形態で実現され得、本発明によるエンコーディング装置及び/又はデコーディング装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置等の映像処理を行う装置に含まれ得る。
【0158】
前述したそれぞれのパート、モジュール又はユニットは、メモリ(又は保存ユニット)に保存された連続された実行過程を実行するプロセッサ又はハードウェアパートであり得る。前述した実施例に記述された各ステップは、プロセッサ又はハードウェアパートにより行われ得る。前述した実施例に記述された各モジュール/ブロック/ユニットは、ハードウェア/プロセッサとして動作できる。また、本発明が提示する方法は、コードとして実行され得る。このコードは、プロセッサが読むことができる保存媒体に使用され得、よって、装置(apparatus)が提供するプロセッサにより読まれる。
【0159】
前述した実施例において、方法は一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、本発明は、ステップの順序に限定されるわけではなく、あるステップは、前述したところと異なるステップと異なる順序で、又は同時に発生し得る。また、当業者であれば、フローチャートに示されたステップが排他的ではなく、異なるステップが含まれるか、フローチャートの一つ又はそれ以上のステップが本発明の範囲に影響を与えずに削除され得ることを理解できるはずだ。
【0160】
本発明で実施例がソフトウェアとして実現される際、前述した方法は、前述した機能を行うモジュール(過程、機能等)として実現され得る。モジュールはメモリに保存され、プロセッサにより実行され得る。メモリはプロセッサの内部または外部にあってもよく、よく知られている様々な手段でプロセッサと連結されてもよい。プロセッサは、ASIC(appICation-specific integrated circuit)、他のチップセット、論理回路及び/又はデータ処理装置を含み得る。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、保存媒体及び/又は他の保存装置を含み得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14