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

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

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

特開2024-36478映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
<>
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図1
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図2
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図3
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図4
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図5
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図6
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図7
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図8
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図9
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図10
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図11
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図12
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図13
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図14
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図15
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図16
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図17
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図18
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図19
  • 特開-映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024036478
(43)【公開日】2024-03-15
(54)【発明の名称】映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
(51)【国際特許分類】
   H04N 19/52 20140101AFI20240308BHJP
【FI】
H04N19/52
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024014784
(22)【出願日】2024-02-02
(62)【分割の表示】P 2022095981の分割
【原出願日】2019-07-09
(31)【優先権主張番号】62/698,001
(32)【優先日】2018-07-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/703,415
(32)【優先日】2018-07-25
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【弁理士】
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】イ チェホ
(57)【要約】
【課題】映像コーディング効率を上げる方法及び装置を提供する。
【解決手段】デコード装置によって行われる映像デコード方法は、ビットストリームから現在ブロックに対する動き予測情報を獲得するステップと、前記現在ブロックに対するアフィン動きベクトル予測子候補を含むアフィンMVP候補リストを生成するステップと、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、いずれか一つのアフィンMVP候補に基づいて、前記現在ブロックのCPに対するCPMVPを導き出すステップと、前記動き予測情報に基づいて前記現在ブロックの前記CPに対するCPMVDを導き出すステップと、前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するCPMVを導き出すステップと、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出すステップとを含む。
【選択図】図18
【特許請求の範囲】
【請求項1】
デコード装置によって行われる映像デコード方法であって、
ビットストリームから現在ブロックに対する動き予測情報を獲得するステップと、
前記ビットストリームから前記現在ブロックに対するレジデュアル情報を獲得するステップと、
前記現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを生成するステップであって、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含む、ステップと、
前記アフィンMVP候補リストに含まれた前記アフィンMVP候補の一つのコントロールポイント動きベクトル予測子(CPMVP)候補に基づいて、前記現在ブロックのコントロールポイント(CP)に対するCPMVPを導出するステップと、
前記動き予測情報に基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル差分(CPMVD)を導出するステップと、
前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル(CPMV)を導出するステップと、
前記CPMVに基づいて、前記現在ブロックの予測サンプルを導出するステップと、
前記レジデュアル情報に基づいて、前記現在ブロックのレジデュアルサンプルを導出するステップと、
前記予測サンプル及び前記レジデュアルサンプルに基づいて、前記現在ブロックに対する復元ピクチャを生成するステップと、を含み、
左下側コーナー周辺ブロック及び左側周辺ブロックを含む左側ブロックグループ内の第1ブロックのアフィン動きモデルに基づいて導出されるCPMVは、前記第1アフィンMVP候補のCPMVP候補として導出され、
前記第1ブロックは、前記第1ブロックの前記アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であり、
右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループ内の第2ブロックのアフィン動きモデルに基づいて導出されるCPMVは、前記第2アフィンMVP候補のCPMVP候補として導出され、
前記第2ブロックは、前記第2ブロックの前記アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一である、映像デコード方法。
【請求項2】
エンコード装置によって行われる映像エンコード方法であって、
現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを生成するステップであって、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含む、ステップと、
前記アフィンMVP候補リストに含まれた前記アフィンMVP候補の一つのコントロールポイント動きベクトル予測子(CPMVP)候補に基づいて、前記現在ブロックのコントロールポイント(CP)に対するCPMVPを導出するステップと、
前記現在ブロックの前記CPに対するコントロールポイント動きベクトル(CPMV)を導出するステップと、
前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル差分(CPMVD)を導出するステップと、
前記CPMVDに関する情報を含む動き予測情報を生成するステップと、
前記現在ブロックに対する前記動き予測情報及びレジデュアル情報をエンコードするステップと、を含み、
左下側コーナー周辺ブロック及び左側周辺ブロックを含む左側ブロックグループ内の第1ブロックのアフィン動きモデルに基づいて導出されるCPMVは、前記第1アフィンMVP候補のCPMVP候補として導出され、
前記第1ブロックは、前記第1ブロックの前記アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であり、
右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループ内の第2ブロックのアフィン動きモデルに基づいて導出されるCPMVは、前記第2アフィンMVP候補のCPMVP候補として導出され、
前記第2ブロックは、前記第2ブロックの前記アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一である、映像エンコード方法。
【請求項3】
映像に対するデータの送信方法であって、
前記映像に対するビットストリームを獲得するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記ビットストリームは、現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを生成し、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補の一つのコントロールポイント動きベクトル予測子(CPMVP)候補に基づいて、前記現在ブロックのコントロールポイント(CP)に対するCPMVPを導出し、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル(CPMV)を導出し、前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル差分(CPMVD)を導出し、前記CPMVDに関する情報を含む動き予測情報を生成し、前記現在ブロックに対する前記動き予測情報及びレジデュアル情報をエンコードすることに基づいて生成され、
左下側コーナー周辺ブロック及び左側周辺ブロックを含む左側ブロックグループ内の第1ブロックのアフィン動きモデルに基づいて導出されるCPMVは、前記第1アフィンMVP候補のCPMVP候補として導出され、
前記第1ブロックは、前記第1ブロックの前記アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であり、
右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループ内の第2ブロックのアフィン動きモデルに基づいて導出されるCPMVは、前記第2アフィンMVP候補のCPMVP候補として導出され、
前記第2ブロックは、前記第2ブロックの前記アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一である、データ送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、映像コーディング技術に関し、さらに詳細には、映像コーディングシステムにおけるアフィン動き予測(affine motion prediction)に基づいた映像デコード方法及び装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)映像及びUHD(Ultra High Definition)映像のような高解像度、高品質の映像に対する需要が多様な分野において増加しつつある。映像データが高解像度、高品質になるほど、従来の映像データに比べて相対的に転送される情報量またはビット量が増加するから、従来の有無線広帯域回線のような媒体を利用して映像データを転送するか、または従来の格納媒体を利用して映像データを格納する場合、転送費用と格納費用が増加する。
【0003】
そのため、高解像度、高品質映像の情報を効果的に転送または格納し、再生するために、高効率の映像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本文書の技術的課題は、映像コーディング効率を上げる方法及び装置を提供することにある。
【0005】
本文書の他の技術的課題は、アフィン予測が適用された周辺ブロックに基づいて前記現在ブロックのアフィンMVP候補リストを導き出し、導き出されたアフィンMVP候補リストに基づいて前記現在ブロックに対する予測を行う映像デコード方法及び装置を提供することにある。
【0006】
本文書の他の技術的課題は、左側ブロックグループに基づいて第1アフィンMVP候補を導き出し、上側ブロックグループに基づいて第2アフィンMVP候補を導き出して、前記現在ブロックのアフィンMVP候補リストを導き出し、導き出されたアフィンMVP候補リストに基づいて、前記現在ブロックに対する予測を行う映像デコード方法及び装置を提供することにある。
【課題を解決するための手段】
【0007】
本文書の一実施形態によれば、デコード装置によって行われる映像デコード方法が提供される。前記方法は、ビットストリームから現在ブロックに対する動き予測情報(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)を導き出すステップと、前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導き出すステップと、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出すステップと、前記導き出された予測サンプルに基づいて、前記現在ブロックに対する復元ピクチャを生成するステップとを含むものの、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナー周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)内の第1ブロックに基づいて導き出され、前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一で、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナー周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)及び左上側コーナー周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)内の第2ブロックに基づいて導き出され、前記第2ブロックは、アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同じであることを特徴とする。
【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)を導き出し、前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導き出し、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出す予測部と、前記導き出された予測サンプルに基づいて、前記現在ブロックに対する復元ピクチャを生成する加算部とを含むものの、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナー周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)内の第1ブロックに基づいて導き出され、前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一で、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナー周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)及び左上側コーナー周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)内の第2ブロックに基づいて導き出され、前記第2ブロックは、アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同じであることを特徴とする。
【0009】
本文書のさらに他の一実施形態によれば、エンコード装置によって行われるビデオエンコード方法を提供する。前記方法は、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成するステップと、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、いずれか一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導き出すステップと、前記現在ブロックの前記CPに対するCPMVを導き出すステップと、前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導き出すステップと、前記CPMVDに対する情報を含む動き予測情報(motion prediction information)をエンコードするステップとを含むものの、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナー周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)内の第1ブロックに基づいて導き出され、前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一で、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナー周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)及び左上側コーナー周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)内の第2ブロックに基づいて導き出され、前記第2ブロックは、アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同じであることを特徴とする。
【0010】
本文書のさらに他の一実施形態によれば、ビデオエンコード装置を提供する。前記エンコード装置は、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成し、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、いずれか一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導き出し、前記現在ブロックの前記CPに対するCPMVを導き出す予測部と、前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導き出す減算部と、前記CPMVDに対する情報を含む動き予測情報(motion prediction information)をエンコードするエントロピーエンコード部とを含むものの、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナー周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)内の第1ブロックに基づいて導き出され、前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一で、前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナー周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)及び左上側コーナー周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)内の第2ブロックに基づいて導き出され、前記第2ブロックは、アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同じであることを特徴とする。
【発明の効果】
【0011】
本文書によれば、全般的な映像/ビデオ圧縮効率を上げることができる。
【0012】
本文書によれば、アフィン動き予測に基づいた映像コーディングの効率を上げることができる。
【0013】
本文書によれば、アフィンMVP候補リストを導き出すことにおいて、周辺ブロックを左側ブロックグループ及び上側ブロックグループに分け、各ブロックグループにおいてMVP候補を導き出して、アフィンMVP候補リストを構成でき、これによってアフィンMVP候補リストを構成する過程の複雑度を減らし、コーディング効率を向上させることができる。
【図面の簡単な説明】
【0014】
図1】本文書が適用されることができるビデオエンコード装置の構成を概略的に説明する図である。
図2】本文書が適用されることができるビデオデコード装置の構成を概略的に説明する図である。
図3】前記アフィン動きモデルを介して表現される動きを例示的に示す。
図4】3個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。
図5】2個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。
図6】前記アフィン動きモデルに基づいてサブブロック単位で動きベクトルを誘導する方法を例示的に示す。
図7】本文書の一実施形態によるアフィン動き予測方法のフローチャートを例示的に示す。
図8】本文書の一実施形態によるコントロールポイントでの動きベクトル予測子を導き出す方法を説明するための図である。
図9】本文書の一実施形態によるコントロールポイントでの動きベクトル予測子を導き出す方法を説明するための図である。
図10】周辺ブロックAがアフィンマージ候補として選択された場合に行われるアフィン予測の一例を示す。
図11】前記継承されたアフィン候補を導き出すための周辺ブロックを例示的に示す。
図12】前記コンストラクテッドアフィン候補に対する空間的候補を例示的に示す。
図13】アフィンMVPリストを構成する一例を例示的に示す。
図14】アフィンMVPリストを構成する一例を例示的に示す。
図15】アフィンMVPリストを構成する一例を例示的に示す。
図16】本文書によるエンコード装置による映像エンコード方法を概略的に示す。
図17】本文書による映像エンコード方法を行うエンコード装置を概略的に示す。
図18】本文書によるデコード装置による映像デコード方法を概略的に示す。
図19】本文書による映像デコード方法を行うデコード装置を概略的に示す。
図20】本文書が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【発明を実施するための形態】
【0015】
本文書は、多様な変更を加えることができ、様々な実施形態を有することができるから、特定実施形態を図面に例示し詳細に説明しようとする。しかしながら、これは、本文書を特定実施形態に限定しようとするものではない。本明細書において常用する用語は、但し特定の実施形態を説明するために使用されたもので、本文書の技術的思想を限定しようとする意図として使用されるものではない。単数の表現は、文脈上明白に異なって意味しない限り、複数の表現を含む。本明細書において“含む”または“有する”などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたことが存在することを指定しようとすることであり、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加可能性を予め排除しないものと理解されなければならない。
【0016】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立的に示されたものであり、各構成が互いに別のハードウェアまたは別のソフトウェアにより具現化されるということを意味しない。例えば、各構成のうち、二つ以上の構成が合わせられて一つの構成をなすこともでき、一つの構成が複数の構成に分けられることもできる。各構成が統合及び/または分離された実施形態も本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【0017】
以下、添付した図面を参照して、本文書の好ましい実施形態をさらに詳細に説明する。以下、図面上の同じ構成要素については、同じ参照符号を使用し同じ構成要素について重なった説明は省略する。
【0018】
一方、本文書は、ビデオ/映像コーディングに関する。例えば、本文書において開示された方法/実施形態は、VVC(versatile video coding)標準または次世代ビデオ/イメージコーディング標準に開示された方法に適用されることができる。
【0019】
本明細書においてピクチャ(picture)は、一般に特定時間帯の一つの映像を表す単位を意味し、スライス(slice)は、コーディングにおいてピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されることができ、必要に応じてピクチャ及びスライスは、互いに混用して使用されることができる。
【0020】
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または映像)を構成する最小の単位を意味できる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般にピクセルまたはピクセルの値を表すことができ、輝度(luma)成分のピクセル/ピクセル値だけを表すこともでき、彩度(chroma)成分のピクセル/ピクセル値だけを表すこともできる。
【0021】
ユニット(unit)は、映像処理の基本単位を表す。ユニットは、ピクチャの特定領域及び該当領域に関連した情報のうち、少なくとも一つを含むことができる。ユニットは、場合によってブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、MxNブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を表すことができる。
【0022】
図1は、本文書が適用されうるビデオエンコード装置の構成を概略的に説明する図である。
【0023】
図1を参照すると、ビデオエンコード装置100は、ピクチャ分割部105、予測部110、レジデュアル処理部120、エントロピーエンコード部130、加算部140、フィルタ部150及びメモリ160を含むことができる。レジデュアル処理部120は、減算部121、変換部122、量子化部123、再整列部124、逆量子化部125及び逆変換部126を含むことができる。
【0024】
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理ユニット(processing unit)に分割できる。
【0025】
一例として、処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からQTBT(Quad-tree binary-tree)構造に従って再帰的に(recursively)分割されることができる。例えば、一つのコーディングユニットは、クアッドツリー構造及び/またはバイナリツリー構造に基づいて、下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えばクアッドツリー構造がまず適用され、バイナリツリー構造が後ほど適用されることができる。または、バイナリツリー構造がまず適用されることもできる。もうこれ以上分割されない最終コーディングユニットに基づいて、本文書によるコーディング手順が行われることができる。この場合、映像特性に応じるコーディング効率などに基づいて、最大コーディングユニットが直に最終コーディングユニットとして使用されることができ、または必要によってコーディングユニットは、再帰的に(recursively)より下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。
【0026】
他の例として、処理ユニットは、コーディングユニット(coding unit、CU)予測ユニット(prediction unit、PU)または変換ユニット(transform unit、TU)を含むこともできる。コーディングユニットは、最大コーディングユニット(largest coding unit、LCU)からクアッドツリー構造に従って下位(deeper)デプスのコーディングユニットに分割(split)されることができる。この場合、映像特性に応じるコーディング効率などに基づいて、最大コーディングユニットが直に最終コーディングユニットとして使用されることができ、または必要によってコーディングユニットは、再帰的に(recursively)より下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。最小コーディングユニット(smallest coding unit、SCU)が設定された場合、コーディングユニットは、最小コーディングユニットよりさらに小さなコーディングユニットに分割されることができない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割される基盤になるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであって、サンプル予測のユニットでありうる。このとき、予測ユニットは、サブブロック(sub block)に分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造に従って分割されることができ、変換係数を誘導するユニット及び/または変換係数からレジデュアル信号(residual signal)を誘導するユニットでありうる。以下、コーディングユニットは、コーディングブロック(coding block、CB)、予測ユニットは、予測ブロック(prediction block、PB)、変換ユニットは、変換ブロック(transform block、TB)と呼ばれることができる。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定領域を意味でき、予測サンプルのアレイ(array)を含むことができる。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定領域を意味でき、変換係数またはレジデュアルサンプルのアレイを含むことができる。
【0027】
予測部110は、処理対象ブロック(以下、現在ブロックという)に対した予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部110において行われる予測の単位は、コーディングブロックでもあり、変換ブロック場合でもあり、予測ブロックでもある。
【0028】
予測部110は、現在ブロックにイントラ予測が適用されるか、それともインター予測が適用されるかを決定できる。一例として、予測部110は、CU単位としてイントラ予測またはインター予測が適用されるかを決定できる。
【0029】
イントラ予測の場合に、予測部110は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロック外部の参照サンプルに基づいて、現在ブロックに対する予測サンプルを誘導できる。このとき、予測部110は、(i)現在ブロックの周辺(neighboring)参照サンプルの平均(average)あるいはインターポレーション(interpolation)に基づいて予測サンプルを誘導でき、(ii)現在ブロックの周辺参照サンプルのうち、予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性モードまたは非角度モード、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。イントラ予測において予測モードは、例えば33個の方向性予測モードと少なくとも2個以上の非方向性モードを有することができる。非方向性モードは、DC予測モード及びプランナーモード(Planarモード)を含むことができる。予測部110は、周辺ブロックに適用された予測モードを利用して、現在ブロックに適用される予測モードを決定することもできる。
【0030】
インター予測の場合に、予測部110は、参照ピクチャ上において動きベクトルにより特定されるサンプルに基づいて、現在ブロックに対する予測サンプルを誘導できる。予測部110は、スキップ(skip)モード、マージ(merge)モード、及びMVP(motion vector prediction)モードのうち、いずれか一つを適用して、現在ブロックに対する予測サンプルを誘導できる。スキップモードとマージモードの場合に、予測部110は、周辺ブロックの動き情報を現在ブロックの動き情報として利用できる。スキップモードの場合、マージモードとは異なり、予測サンプルと原本サンプルとの間の差(レジデュアル)が転送されない。MVPモードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用して、現在ブロックの動きベクトル予測子として利用して、現在ブロックの動きベクトルを誘導できる。
【0031】
インター予測の場合に、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャ(reference picture)に存在する時間的周辺ブロック(temporal neighboring block)を含むことができる。前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。動き情報(motion information)は、動きベクトルと参照ピクチャインデックスを含むことができる。予測モード情報と動き情報などの情報は、(エントロピー)エンコードされて、ビットストリーム形態で出力されることができる。
【0032】
スキップモードとマージモードにおいて時間的周辺ブロックの動き情報が利用される場合に、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして利用されることもできる。参照ピクチャリスト(Picture Order Count)に含まれる参照ピクチャは、現在ピクチャと該当参照ピクチャ間のPOC(Picture order count)差に基づいて整列されることができる。POCは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分されることができる。
【0033】
減算部121は、原本サンプルと予測サンプル間の差であるレジデュアルサンプルを生成する。スキップモードが適用される場合には、上述したように、レジデュアルサンプルを生成しなくても良い。
【0034】
変換部122は、変換ブロック単位でレジデュアルサンプルを変換して変換係数(transform coefficient)を生成する。変換部122は、該当変換ブロックのサイズと、該当変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードに応じて変換を行うことができる。例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが4×4のレジデュアルアレイ(array)であると、レジデュアルサンプルは、DST(Discrete Sine Transform)変換ケネルを利用して変換され、その他の場合であると、レジデュアルサンプルは、DCT(Discrete Cosine Transform)変換ケネルを利用して変換できる。
【0035】
量子化部123は、変換係数を量子化して、量子化された変換係数を生成できる。
【0036】
再整列部124は、量子化された変換係数を再整列する。再整列部124は、係数スキャニング(scanning)方法によりブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。ここで、再整列部124は、別の構成として説明したが、再整列部124は、量子化部123の一部でありうる。
【0037】
エントロピーエンコード部130は、量子化された変換係数に対するエントロピーエンコードを行うことができる。エントロピーエンコードは、例えば指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのようなエンコード方法を含むことができる。エントロピーエンコード部130は、量子化された変換係数の他、ビデオ復元に必要な情報(例えばシンタックス要素(syntax element)の値等)を共にまたは別にエンコードすることもできる。エントロピーエンコードされた情報は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で転送または格納されることができる。
【0038】
逆量子化部125は、量子化部123において量子化された値(量子化された変換係数)を逆量子化し、逆変換部126は、逆量子化部125において逆量子化された値を逆変換して、レジデュアルサンプルを生成する。
【0039】
加算部140は、レジデュアルサンプルと予測サンプルを合わせてピクチャを復元する。レジデュアルサンプルと予測サンプルは、ブロック単位で加えられて復元ブロックが生成されることができる。ここで加算部140は、別の構成として説明したが、加算部140は、予測部110の一部でありうる。一方、加算部140は、復元部または復元ブロック生成部と呼ばれることができる。
【0040】
復元されたピクチャ(reconstructed picture)に対してフィルタ部150は、デブロッキングフィルタ及び/またはサンプル適応的オフセット(sample adaptive offset)を適用できる。デブロッキングフィルタリング及び/またはサンプル適応的オフセットを介して、復元ピクチャ内のブロック境界のアーチファクトまたは量子化過程での歪みが補正されうる。サンプル適応的オフセットは、サンプル単位で適用されることができ、デブロッキングフィルタリングの過程が完了した後に適用されることができる。フィルタ部150は、ALF(Adaptive Loop Filter)を復元されたピクチャに適用することもできる。ALFは、デブロッキングフィルタ及び/またはサンプル適応的オフセットが適用された後の復元されたピクチャに対して適用されることができる。
【0041】
メモリ160は、復元ピクチャ(デコードされたピクチャ)またはエンコード/デコードに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部150によってフィルタリング手順が完了した復元ピクチャでありうる。前記格納された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして活用されることができる。例えば、メモリ160は、インター予測に用いられる(参照)ピクチャを格納することができる。このとき、インター予測に用いられるピクチャは、参照ピクチャセット(reference picture set)あるいは参照ピクチャリスト(reference picture list)により指定されることができる。
【0042】
図2は、本文書が適用されることができるビデオデコード装置の構成を概略的に説明する図である。
【0043】
図2を参照すると、ビデオデコード装置200は、エントロピーデコード部210、レジデュアル処理部220、予測部230、加算部240、フィルタ部250及びメモリ260を含むことができる。ここで、レジデュアル処理部220は、再整列部221、逆量子化部222、逆変換部223を含むことができる。
【0044】
ビデオ情報を含むビットストリームが入力されると、ビデオデコード装置200は、ビデオエンコード装置においてビデオ情報が処理されたプロセスに対応してビデオを復元できる。
【0045】
例えば、ビデオデコード装置200は、ビデオエンコード装置において適用された処理ユニットを利用して、ビデオデコードを行うことができる。したがって、ビデオデコードの処理ユニットブロックは、一例としてコーディングユニットでありえ、他の例としてコーディングユニット、予測ユニットまたは変換ユニットでありうる。コーディングユニットは、最大コーディングユニットからクアッドツリー構造及び/またはバイナリツリー構造に従って分割されることができる。
【0046】
予測ユニット及び変換ユニットが場合によってより使用されることができ、この場合、予測ブロックは、コーディングユニットから導出またはパーティショニングされるブロックであって、サンプル予測のユニットでありうる。このとき、予測ユニットは、サブブロックに分けられることもできる。変換ユニットは、コーディングユニットからクアッドツリー構造に従って分割されることができ、変換係数を誘導するユニットまたは変換係数からレジデュアル信号を誘導するユニットでありうる。
【0047】
エントロピーデコード部210は、ビットストリームをパッシングしてビデオ復元またはピクチャ復元に必要な情報を出力できる。例えば、エントロピーデコード部210は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、ビデオ復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値を出力できる。
【0048】
さらに詳細に、CABACエントロピーデコード方法は、ビットストリームにおいて各構文要素に該当するビンを受信し、デコード対象構文要素情報と周辺及びデコード対象ブロックのデコード情報あるいは以前ステップにおいてデコードされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルに応じてビン(bin)の発生確率を予測して、ビンの算術デコード(arithmetic decoding)を行って、各構文要素の値に該当するシンボルを生成できる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後に次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して、文脈モデルをアップデートできる。
【0049】
エントロピーデコード部210においてデコードされた情報のうち、予測に関する情報は予測部230に提供され、エントロピーデコード部210においてエントロピーデコードが行われたレジデュアル値、すなわち量子化された変換係数は、再整列部221に入力されることができる。
【0050】
再整列部221は、量子化されている変換係数を2次元のブロック形態で再整列することができる。再整列部221は、エンコード装置において行われた係数スキャニングに対応して再整列を行うことができる。ここで、再整列部221は、別の構成として説明したが、再整列部221は、逆量子化部222の一部であっても良い。
【0051】
逆量子化部222は、量子化されている変換係数を(逆)量子化パラメータに基づいて逆量子化して、変換係数を出力できる。このとき、量子化パラメータを誘導するための情報は、エンコード装置からシグナリングされることができる。
【0052】
逆変換部223は、変換係数を逆変換してレジデュアルサンプルを誘導できる。
【0053】
予測部230は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部230において行われる予測の単位は、コーディングブロックでもあり、変換ブロックでもあり、予測ブロックでもある。
【0054】
予測部230は、前記予測に関する情報に基づいてイントラ予測を適用するか、またはインター予測を適用するかを決定できる。このとき、イントラ予測とインター予測のうち、どれを適用するかを決定する単位と予測サンプルを生成する単位とは異なりうる。また、インター予測とイントラ予測において予測サンプルを生成する単位もまた相異なることができる。例えば、インター予測とイントラ予測のうち、どれを適用するかは、CU単位で決定できる。また、例えば、インター予測においてPU単位で予測モードを決定し、予測サンプルを生成でき、イントラ予測においてPU単位で予測モードを決定し、TU単位で予測サンプルを生成することもできる。
【0055】
イントラ予測の場合に、予測部230は、現在ピクチャ内の周辺参照サンプルに基づいて、現在ブロックに対する予測サンプルを誘導できる。予測部230は、現在ブロックの周辺参照サンプルに基づいて方向性モードまたは非方向性モードを適用して、現在ブロックに対する予測サンプルを誘導できる。このとき、周辺ブロックのイントラ予測モードを利用して、現在ブロックに適用する予測モードが決定されることもできる。
【0056】
インター予測の場合に、予測部230は、参照ピクチャ上において動きベクトルにより参照ピクチャ上において特定されるサンプルに基づいて現在ブロックに対する予測サンプルを誘導できる。予測部230は、スキップ(skip)モード、マージ(merge)モード及びMVPモードのうち、いずれか一つを適用して、現在ブロックに対する予測サンプルを誘導できる。このとき、ビデオエンコード装置から提供された現在ブロックのインター予測に必要な動き情報、例えば動きベクトル、参照ピクチャインデックスなどに関する情報は、前記予測に関する情報に基づいて獲得または誘導されることができる
【0057】
スキップモードとマージモードの場合に、周辺ブロックの動き情報が現在ブロックの動き情報として利用されることができる。このとき、周辺ブロックは、空間的周辺ブロックと時間的周辺ブロックを含むことができる。
【0058】
予測部230は、可用の周辺ブロックの動き情報でマージ候補リストを構成し、マージインデックスがマージ候補リスト上において指示する情報を現在ブロックの動きベクトルとして使用することができる。マージインデックスは、エンコード装置からシグナリングされることができる。動き情報は、動きベクトルと参照ピクチャを含むことができる。スキップモードとマージモードにおいて時間的周辺ブロックの動き情報が利用される場合に、参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして利用されることができる。
【0059】
スキップモードの場合、マージモードとは異なり、予測サンプルと原本サンプルとの間の差(レジデュアル)が転送されない。
【0060】
MVPモードの場合、周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として利用して、現在ブロックの動きベクトルが誘導されることができる。このとき、周辺ブロックは、空間的周辺ブロックと時間的周辺ブロックを含むことができる。
【0061】
一例として、マージモードが適用される場合、復元された空間的周辺ブロックの動きベクトル及び/または時間的周辺ブロックであるColブロックに対応する動きベクトルを利用して、マージ候補リストが生成されることができる。マージモードでは、マージ候補リストから選択された候補ブロックの動きベクトルが現在ブロックの動きベクトルとして使用される。前記予測に関する情報は、前記マージ候補リストに含まれた候補ブロックの中から選択された最適の動きベクトルを有する候補ブロックを指示するマージインデックスを含むことができる。このとき、予測部230は、前記マージインデックスを利用して、現在ブロックの動きベクトルを導き出すことができる。
【0062】
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的周辺ブロックの動きベクトル及び/または時間的周辺ブロックであるColブロックに対応する動きベクトルを利用して、動きベクトル予測子候補リストが生成されることができる。すなわち、復元された空間的周辺ブロックの動きベクトル及び/または時間的周辺ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として使用されることができる。前記予測に関する情報は、前記リストに含まれた動きベクトル候補の中から選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含むことができる。このとき、予測部230は、前記動きベクトルインデックスを利用して、動きベクトル候補リストに含まれた動きベクトル候補の中から、現在ブロックの予測動きベクトルを選択できる。エンコード装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子間の動きベクトル差分(MVD)を求めることができ、これをエンコードしてビットストリーム形態で出力できる。すなわち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値で求めることができる。このとき、予測部230は、前記予測に関する情報に含まれた動きベクトル差分を獲得し、前記動きベクトル差分と前記動きベクトル予測子の加算を介して現在ブロックの前記動きベクトルを導き出すことができる。予測部は、また参照ピクチャを指示する参照ピクチャインデックスなどを前記予測に関する情報から獲得または誘導できる。
【0063】
加算部240は、レジデュアルサンプルと予測サンプルを足して現在ブロックあるいは現在ピクチャを復元できる。加算部240は、レジデュアルサンプルと予測サンプルをブロック単位で足して、現在ピクチャを復元することもできる。スキップモードが適用された場合には、レジデュアルが転送されないので、予測サンプルが復元サンプルになることができる。ここでは、加算部240を別の構成として説明したが、加算部240は、予測部230の一部でありうる。一方、加算部240は、復元部または復元ブロック生成部と呼ばれることができる。
【0064】
フィルタ部250は、復元されたピクチャにデブロッキングフィルタリングサンプル適応的オフセット、及び/またはALFなどを適用できる。このとき、サンプル適応的オフセットは、サンプル単位で適用されることができ、デブロッキングフィルタリング以後に適用されることもできる。ALFは、デブロッキングフィルタリング及び/またはサンプル適応的オフセット以後に適用されることもできる。
【0065】
メモリ260は、復元ピクチャ(デコードされたピクチャ)またはデコードに必要な情報を格納することができる。ここで、復元ピクチャは、前記フィルタ部250によってフィルタリング手順が完了した復元ピクチャでありうる。例えば、メモリ260は、インター予測に用いられるピクチャを格納することができる。このとき、インター予測に用いられるピクチャは、参照ピクチャセットあるいは参照ピクチャリストにより指定されることもできる。復元されたピクチャは、他のピクチャに対する参照ピクチャとして利用されることができる。また、メモリ260は、復元されたピクチャを出力順序に従って出力することもできる。
【0066】
一方、インター予測の場合、映像の歪みを考慮したインター予測方法が提案されている。具体的に、現在ブロックのサブブロックまたはサンプルポイントに対する動きベクトルを效率的に導き出し、映像の回転、ズームインまたはズームアウトなどの変形にもかかわらず、インター予測の正確度を高めるアフィン動きモデルが提案されている。すなわち、現在ブロックのサブブロックまたはサンプルポイントに対する動きベクトルを導き出すアフィン動きモデルが提案されている。前記アフィン動きモデルを使用する予測は、アフィンインター予測(affine inter prediction)またはアフィンモーション予測(affine motion prediction)と呼ばれることができる。
【0067】
例えば、前記アフィン動きモデルを使用する前記アフィンインター予測は、後述する内容のように、4通りの動き、すなわち、後述する内容のような4通りの変形を效率的に表現できる。
【0068】
図3は、前記アフィン動きモデルを介して表現される動きを例示的に示す。図3を参照すると、前記アフィン動きモデルを介して表現されることができる動きは、並進(translate)動き、スケール(scale)動き、回転(rotate)動き及びせん断(shear)動きを含むことができる。すなわち、図3に示す時間の流れに従って、映像(の一部)が平面移動する並進動きだけでなく、時間の流れに従って映像(の一部)がスケール(scale)されるスケール動き、時間の流れに従って映像(の一部)が回転する回転動き、時間の流れに従って映像(の一部)が平衡正方形変形されるせん断動きを前記アフィンインター予測を介して效率的に表現できる。
【0069】
エンコード装置/デコード装置は、前記アフィンインター予測を介して現在ブロックのコントロールポイント(control point、CP)での動きベクトルに基づいて、前記映像の歪み形態を予測でき、これを通じて予測の正確度を高めることによって、映像の圧縮性能を向上させることができる。また、前記現在ブロックの周辺ブロックの動きベクトルを利用して、前記現在ブロックの少なくとも一つのコントロールポイントに対する動きベクトルが誘導されうるので、追加される付加情報に対するデータ量負担を減らし、インター予測効率をかなり向上させることができる。
【0070】
前記アフィンインター予測の一例として、3個のコントロールポイント、すなわち3個の基準点での動き情報を必要とすることができる。
【0071】
図4は、3個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。
【0072】
現在ブロック400内の左上端(top-left)サンプル位置(position)を(0,0)とする場合、前記図4に示すように、(0,0)、(w,0)、(0,h)サンプルポジションを前記コントロールポイントと決めることができる。以下(0,0)サンプルポジションのコントロールポイントは、CP0、(w,0)、サンプルポジションのコントロールポイントは、CP1、(0,h)サンプルポジションのコントロールポイントは、CP2と表すことができる。
【0073】
上述した各コントロールポイントと該当コントロールポイントに対する動きベクトルを利用して、前記アフィン動きモデルに対する式が導き出されることができる。前記アフィン動きモデルに対する式は、次の通りに表すことができる。
【0074】
【数1】
【0075】
式中、wは、前記現在ブロック400の幅(width)を表し、hは、前記現在ブロック400の高さ(height)を表し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を表し、v2x、v2yは、それぞれCP2の動きベクトルのx成分、y成分を表す。また、xは、前記現在ブロック400内の対象サンプルの位置のx成分を表し、yは、前記現在ブロック400内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在ブロック400内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック400内の前記対象サンプルの前記動きベクトルのy成分を表す。
【0076】
前記CP0の動きベクトル、前記CP1の動きベクトル及び前記CP2の動きベクトルは知っているので、前記式1に基づいて現在ブロック内のサンプル位置に応じる動きベクトルが誘導されることができる。すなわち、前記アフィン動きモデルによると、対象サンプルの座標(x、y)と3個のコントロールポイントとの距離比に基づいて、前記コントロールポイントでの動きベクトルv0(v0x、v0y)、v1(v1x、v1y)、v2(v2x、v2y)がスケーリングされて、前記対象サンプル位置に応じる前記対象サンプルの動きベクトルが導き出されることができる。すなわち、前記アフィン動きモデルによれば、前記コントロールポイントの動きベクトルに基づいて、前記現在ブロック内の各サンプルの動きベクトルが導き出されることができる。一方、前記アフィン動きモデルに応じて導き出された前記現在ブロック内のサンプルの動きベクトルの集合は、アフィン動きベクトルフィールド(affine Motion Vector Field、MVF)と表すことができる。
【0077】
一方、前記式1に対する6個のパラメータは、次の式のようにa、b、c、d、e、fで表すことができ、前記6個のパラメータで表した前記アフィン動きモデルに対する式は、次の通りでありうる。
【0078】
【数2】
【0079】
式中、wは、前記現在ブロック400の幅(width)を表し、hは、前記現在ブロック400の高さ(height)を表し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を表し、v2x、v2yは、それぞれCP2の動きベクトルのx成分、y成分を表す。また、xは、前記現在ブロック400内の対象サンプルの位置のx成分を表し、yは、前記現在ブロック400内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在ブロック400内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック400内の前記対象サンプルの前記動きベクトルのy成分を表す。
【0080】
前記6個のパラメータを使用する前記アフィン動きモデルまたは前記アフィンインター予測は、6パラメータアフィン動きモデルまたはAF6と表すことができる。
【0081】
また、前記アフィンインター予測の一例として、2個のコントロールポイント、すなわち2個の基準点での動き情報を必要とすることができる。
【0082】
図5は、2個のコントロールポイントに対する動きベクトルが使用される前記アフィン動きモデルを例示的に示す。2個のコントロールポイントを使用する前記アフィン動きモデルは、並進動き、スケール動き、回転動きを含む3通りの動きを表現できる。3通りの動きを表現する前記アフィン動きモデルは、シミラリティアフィン動きモデル(similarity affine motion model)またはシンプリファイドアフィン動きモデル(simplified affine motion model)と表すことができる。
【0083】
現在ブロック500内の左上端(top-left)サンプル位置(position)を(0,0)とする場合、前記図5に示すように、(0,0)、(w,0)、サンプルポジションを前記コントロールポイントで決めることができる。以下(0,0)サンプルポジションのコントロールポイントは、CP0、(w,0)、サンプルポジションのコントロールポイントは、CP1と表すことができる。
【0084】
上述した各コントロールポイントと該当コントロールポイントに対する動きベクトルを利用して、前記アフィン動きモデルに対する式が導き出されることができる。前記アフィン動きモデルに対する式は、次の通りに表すことができる。
【0085】
【数3】
【0086】
式中、wは、前記現在ブロック500の幅(width)を表し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を表す。また、xは、前記現在ブロック500内の対象サンプルの位置のx成分を表し、yは、前記現在ブロック500内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在ブロック500内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック500内の前記対象サンプルの前記動きベクトルのy成分を表す。
【0087】
一方、前記式3に対する4個のパラメータは、次の式のようにa、b、c、dで表すことができ、前記4個のパラメータで表した前記アフィン動きモデルに対する式は、次の通りでありうる。
【0088】
【数4】
【0089】
式中、wは、前記現在ブロック500の幅(width)を表し、v0x、v0yは、それぞれCP0の動きベクトルのx成分、y成分を表し、v1x、v1yは、それぞれCP1の動きベクトルのx成分、y成分を表す。また、xは、前記現在ブロック500内の対象サンプルの位置のx成分を表し、yは、前記現在ブロック500内の前記対象サンプルの前記位置のy成分を表し、vは、前記現在ブロック500内の前記対象サンプルの動きベクトルのx成分、vは、現在ブロック500内の前記対象サンプルの前記動きベクトルのy成分を表す。前記2個のコントロールポイントを使用する前記アフィン動きモデルは、前記式4のように4個のパラメータa、b、c、dで表れることができるから、前記4個のパラメータを使用する前記アフィン動きモデルまたは前記アフィンインター予測は、4パラメータアフィン動きモデルまたはAF4と表すことができる。すなわち、前記アフィン動きモデルによれば、前記コントロールポイントの動きベクトルに基づいて、前記現在ブロック内の各サンプルの動きベクトルが導き出されることができる。一方、前記アフィン動きモデルに応じて導き出された前記現在ブロック内のサンプルの動きベクトルの集合は、アフィン動きベクトルフィールド(Motion Vector Field、MVF)と表すことができる。
【0090】
一方、上述した内容のように、前記アフィン動きモデルを介してサンプル単位の動きベクトルが導き出されることができ、これによりインター予測の正確度がかなり向上することができる。ただし、この場合、動き補償(motion compensation)過程での複雑度が大きく増加しうる。
【0091】
このため、サンプル単位の動きベクトルが導き出される代わりに、前記現在ブロック内のサブブロック単位の動きベクトルが導き出されるように制限できる。
【0092】
図6は、前記アフィン動きモデルに基づいてサブブロック単位で動きベクトルを誘導する方法を例示的に示す。図6は、前記現在ブロックのサイズが16×16で、4×4サブブロック単位で動きベクトルが誘導される場合を例示的に示す。前記サブブロックは、多様なサイズに設定されることができ、例えば、サブブロックがn×nサイズ(nは、正の整数、ex、nは、4)に設定された場合、前記アフィン動きモデルに基づいて現在ブロック内のn×nサブブロック単位で動きベクトルが導き出されることができ、各サブブロックを代表する動きベクトルを誘導するための多様な方法が適用されることができる。
【0093】
例えば、図6を参照すると、各サブブロックのセンターまたはセンター右下側(lower right side)サンプルポジションを代表座標として、各サブブロックの動きベクトルが導き出されることができる。ここで、センター右下側ポジションとは、サブブロックのセンターに位置する4個のサンプルのうち、右下側に位置するサンプルポジションを表すことができる。例えば、nが奇数の場合、サブブロックの真ん中には、一つのサンプルが位置でき、この場合、センターサンプルポジションが前記サブブロックの動きベクトルの導出のために使用されることができる。しかし、nが偶数の場合、サブブロックの中央には、4個のサンプルが隣接して位置でき、この場合、右下側サンプルポジションが前記動きベクトルの導出のために使用されることができる。例えば、図6を参照すると、各サブブロック別代表座標は、(2,2)、(6,2)、(10,2),...,(14,14)に導き出されることができ、エンコード装置/デコード装置は、前記サブブロックの代表座標の各々を上述した式1または3に代入して、各サブブロックの動きベクトルを導き出すことができる。前記アフィン動きモデルを介して導き出された現在ブロック内のサブブロックの動きベクトルは、アフィンMVFと表すことができる。
【0094】
一方、一例として、前記現在ブロック内のサブブロックのサイズは、次のような式に基づいて導き出されることもできる。
【0095】
【数5】
【0096】
式中、Mは、サブブロックの幅(width)を表し、Nは、サブブロックの高さ(height)を表す。また、v0x、v0yは、各々前記現在ブロックのCPMV0のx成分、y成分を表し、v0x、v0yは、各々前記現在ブロックのCPMV1のx成分、y成分を表し、wは、前記現在ブロックの幅を表し、hは、前記現在ブロックの高さを表し、MvPreは、動きベクトル分数正確度(motion vector fraction accuracy)を表す。例えば、前記動きベクトル分数正確度は、1/16に設定されることができる。
【0097】
一方、上述したアフィン動きモデルを使用したインター予測、すなわち、アフィン動き予測は、アフィンマージモード(affine merge mode、AF_MERGE)とアフィンインターモード(affine inter mode、AF_INTER)が存在できる。ここで、前記アフィンインターモードは、アフィンMVPモード(affine motion vector prediction mode、AF_MVP)と表すことができる。
【0098】
前記アフィンマージモードでは、前記コントロールポイントの動きベクトルに対するMVDを転送しないという側面において、従来のマージモードと似ている。すなわち、前記アフィンマージモードは、従来のスキップ(skip)/マージ(merge)モードと同様にMVD(motion vector difference)に対するコーディングなしで前記現在ブロックの周辺ブロックから2個または3個のコントロールポイントの各々に対するCPMVを誘導して予測を行うエンコード/デコード方法を表すことができる。
【0099】
例えば、前記現在ブロックに前記AF_MRGモードが適用される場合、現在ブロックの周辺ブロックのうち、アフィンモードが適用された周辺ブロックからCP0及びCP1に対したMV(すなわち、CPMV0及びCPMV1)を導き出すことができる。すなわち、前記アフィンモードが適用された前記周辺ブロックのCPMV0及びCPMV1がマージ候補として導き出されることができ、前記マージ候補が前記現在ブロックに対するCPMV0及びCPMV1として導き出されることができる。
【0100】
前記アフィンインターモードは、前記コントロールポイントの動きベクトルに対するMVP(motion vector predictor)を導き出し、受信されたMVD(motion vector difference)及び前記MVPに基づいて前記コントロールポイントの動きベクトルを導き出し、前記コントロールポイントの動きベクトルに基づいて、前記現在ブロックのアフィンMVFを導き出して、アフィンMVFに基づいて予測を行うインター予測を表すことができる。ここで、前記コントロールポイントの動きベクトルは、CPMV(Control Point Motion Vector)、前記コントロールポイントのMVPは、CPMVP(Control Point Motion Vector Predictor)、前記コントロールポイントのMVDは、CPMVD(Control Point Motion Vector Difference)と表すことができる。具体的に、例えば、エンコード装置は、CP0及びCP1(または、CP0、CP1及びCP2)の各々に対するCPMVP(control point point motion vector predictor)とCPMV(control point point motion vector)を導き出すことができ、前記CPMVPに対した情報及び/または前記CPMVPとCPMVの差値であるCPMVDを転送または格納することができる。
【0101】
ここで、現在ブロックに前記アフィンインターモードが適用される場合、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックに基づいて、アフィンMVP候補リストを構成でき、アフィンMVP候補は、CPMVPペア(pair)候補として指し示すことができ、アフィンMVP候補リストは、CPMVP候補リストとして指し示すこともできる。
【0102】
また、各アフィンMVP候補は、4パラメータアフィン動きモデル(foul parameter affine motion model)では、CP0とCP1のCPMVPの組み合わせを意味でき、6パラメータアフィン動きモデル(six parameter affine motion model)では、CP0、CP1及びCP2のCPMVPの組み合わせを意味できる。
【0103】
図7は、本文書の一実施形態によるアフィン動き予測方法のフローチャートを例示的に示す。
【0104】
図7を参照すると、アフィン動き予測方法は、大きく次の通りに表すことができる。アフィン動き予測方法が始まると、まずCPMVペア(pair)が獲得されうる(S700)。ここで、CPMVペアは、4パラメータアフィンモデルを利用する場合、CPMV0及びCPMV1を含むことができる。
【0105】
以後、CPMVペアに基づいてアフィン動き補償が行われることができ(S710)、アフィン動き予測が終了できる。
【0106】
また、前記CPMV0及び前記CPMV1を決定するために、2個のアフィン予測モードが存在できる。ここで、2個のアフィン予測モードは、アフィンインターモード及びアフィンマージモードを含むことができる。アフィンインターモードは、CPMV0及びCPMV1に対した2個の動きベクトル差分(MVD、Motion Vector Difference)情報をシグナリングして、明確にCPMV0及びCPMV1を決定できる。反面、アフィンマージモードは、MVD情報シグナリング無しでCPMVペアを導き出すことができる。
【0107】
換言すれば、アフィンマージモードは、アフィンモードでコーディングされた周辺ブロックのCPMVを利用して、現在ブロックのCPMVを導き出すことができ、動きベクトルをサブブロック単位で決定する場合、アフィンマージモードは、サブブロックマージモードと指し示すこともできる。
【0108】
アフィンマージモードにおいてエンコード装置は、現在ブロックのCPMVを導き出すためのアフィンモードでコーディングされた周辺ブロックに対するインデックスをデコード装置にシグナリングでき、周辺ブロックのCPMV及び現在ブロックのCPMV間の差分値をさらにシグナリングすることもできる。ここで、アフィンマージモードは、周辺ブロックに基づいてアフィンマージ候補リストを構成でき、周辺ブロックに対するインデックスは、アフィンマージ候補リストのうち、現在ブロックのCPMVを導き出すために参照する周辺ブロックを表すことができる。アフィンマージ候補リストは、サブブロックマージ候補リストと指し示すこともできる。
【0109】
アフィンインターモードは、アフィンMVPモードと指し示すこともできる。アフィンMVPモードにおいて現在ブロックのCPMVは、CPMVP(Control Point Motion Vector Predictor)及びCPMVD(Control Point Motion Vector Difference)に基づいて導き出されることができる。換言すれば、エンコード装置は、現在ブロックのCPMVに対してCPMVPを決定し、現在ブロックのCPMVとCPMVPの差分値であるCPMVDを導き出して、CPMVPに対した情報及びCPMVDに対した情報をデコード装置にシグナリングできる。ここで、前記アフィンMVPモードは、周辺ブロックに基づいてアフィンMVP候補リストを構成でき、CPMVPに対した情報は、アフィンMVP候補リストのうち、現在ブロックのCPMVに対したCPMVPを導き出すために参照する周辺ブロックを表すことができる。アフィンMVP候補リストは、コントロールポイント動きベクトル予測子候補リストと指し示すこともできる。
【0110】
例えば、6パラメータアフィン動きモデルのアフィンインターモードが適用される場合、後述するように現在ブロックがエンコードされることができる。
【0111】
図8は、本文書の一実施形態によるコントロールポイントでの動きベクトル予測子を導き出す方法を説明するための図である。
【0112】
図8を参照すると、現在ブロックのCP0の動きベクトルをv、CP1の動きベクトルをv、左下端(bottom-left)サンプルポジションのコントロールポイントの動きベクトルをv、CP2の動きベクトルをvと表現できる。すなわち、前記vは、CP0のCPMVP、前記vは、CP1のCPMVP、前記vは、CP2のCPMVPを表すことができる。
【0113】
アフィンMVP候補は、前記CP0のCPMVP候補、前記CP1のCPMVP候補、前記CP2の候補の組み合わせでありうる。
【0114】
例えば、前記アフィンMVP候補は、次の通りに導き出されることができる。
【0115】
具体的に、次の式のように、最大12個のCPMVP候補の組み合わせが決定されることができる。
【0116】
【数6】
【0117】
ここで、vは、周辺ブロックAの動きベクトル、vは、周辺ブロックBの動きベクトル、vは、周辺ブロックCの動きベクトル、vは、周辺ブロックDの動きベクトル、vは、周辺ブロックEの動きベクトル、vは、周辺ブロックFの動きベクトル、vは、周辺ブロックGの動きベクトルを表すことができる。
【0118】
また、前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左側に位置する周辺ブロックを表すことができる。また、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができる。また、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左側に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0119】
すなわち、上述した式6を参照すると、前記CP0のCPMVP候補は、前記周辺ブロックAの動きベクトルv、前記周辺ブロックBの動きベクトルv及び/または前記周辺ブロックCの動きベクトルvを含むことができ、前記CP1のCPMVP候補は、前記周辺ブロックDの動きベクトルv、及び/または前記周辺ブロックEの動きベクトルvを含むことができ、前記CP2のCPMVP候補は、前記周辺ブロックFの動きベクトルv、及び/または前記周辺ブロックGの動きベクトルvを含むことができる。
【0120】
換言すれば、前記CP0のCPMVP vは、左上端サンプルポジションの周辺ブロックA、B、及びCのうち、少なくとも一つの動きベクトルに基づいて導き出されることができる。ここで、周辺ブロックAは、現在ブロックの左上端サンプルポジションの左上端に位置するブロックを意味でき、周辺ブロックBは、現在ブロックの左上端サンプルポジションの上端に位置するブロックを意味でき、周辺ブロックCは、現在ブロックの左上端サンプルポジションの左側に位置するブロックを意味できる。
【0121】
前記周辺ブロックの動きベクトルに基づいて前記CP0のCPMVP候補、前記CP1のCPMVP候補、前記CP2のCPMVP候補を含む最大12個のCPMVP候補組み合わせが導き出されることができる。
【0122】
以後、導き出されたCPMVP候補組み合わせをDVが小さな順に整列して、上位2個のCPMVP候補組み合わせが前記アフィンMVP候補として導き出されることができる。
【0123】
CPMVP候補組み合わせのDVは、次の式のように導き出されることができる。
【0124】
【数7】
【0125】
以後、エンコード装置は、前記アフィンMVP候補の各々に対するCPMVを決定でき、前記CPMVに対するRD(Rate Distortion)コストを比較して、小さなRDコストを有するアフィンMVP候補を前記現在ブロックに対する最適のアフィンMVP候補として選択できる。エンコード装置は、前記最適の候補を指すインデックス及びCPMVDをエンコード及びシグナリングできる。
【0126】
また、例えば、アフィンマージモードが適用される場合、後述するように現在ブロックがエンコードされることができる。
【0127】
図9は、本文書の一実施形態によるコントロールポイントでの動きベクトル予測子を導き出す方法を説明するための図である。
【0128】
図9に示す現在ブロックの周辺ブロックに基づいて、前記現在ブロックのアフィンマージ候補リストが構成されることができる。前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックEを含むことができる。前記周辺ブロックAは、前記現在ブロックの左側周辺ブロック、前記周辺ブロックBは、前記現在ブロックの上側周辺ブロック、前記周辺ブロックCは、前記現在ブロックの右上側コーナー周辺ブロック、前記周辺ブロックDは、前記現在ブロックの左下側コーナー周辺ブロック、前記周辺ブロックEは、前記現在ブロックの左上側コーナー周辺ブロックを表すことができる。
【0129】
例えば、前記現在ブロックのサイズがWxHであり、現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0の場合、前記左側周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックで、前記上側周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックで、前記右上側コーナー周辺ブロックは、(W、-1)座標のサンプルを含むブロックで、前記左下側コーナー周辺ブロックは、(-1、H)座標のサンプルを含むブロックで、前記左上側コーナー周辺ブロックは、(-1、-1)座標のサンプルを含むブロックでありうる。
【0130】
具体的に、例えば、エンコード装置は、前記現在ブロックの周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックEを特定スキャニング順にスキャニングでき、スキャニング順序において第1番目にアフィン予測モードでエンコードされた周辺ブロックをアフィンマージモードの候補ブロック、すなわち、アフィンマージ候補として決定できる。ここで、例えば、前記特定スキャニング順序は、アルファベット(alphabet)の順でありうる。すなわち、前記特定スキャニング順序は、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックEの順でありうる。
【0131】
以後、エンコード装置は、前記決定された候補ブロックのCPMVを利用して、前記現在ブロックのアフィン動きモデルを決定でき、前記アフィン動きモデルに基づいて前記現在ブロックのCPMVを決定でき、前記CPMVに基づいて前記現在ブロックのアフィンMVFを決定できる。
【0132】
一例として、周辺ブロックAが前記現在ブロックの候補ブロックとして決定された場合、後述するようにコーディングされることができる。
【0133】
図10は、周辺ブロックAがアフィンマージ候補として選択された場合に行われるアフィン予測の一例を示す。
【0134】
図10を参照すると、エンコード装置は、前記現在ブロックの周辺ブロックAを候補ブロックとして決定でき、前記周辺ブロックのCPMV、v及びvに基づいて前記現在ブロックのアフィン動きモデルを導き出すことができる。以後、エンコード装置は、前記アフィン動きモデルに基づいて前記現在ブロックのCPMV、v及びvを決定できる。エンコード装置は、前記現在ブロックのCPMV、v及びvに基づいてアフィンMVFを決定でき、前記アフィンMVFに基づいて前記現在ブロックに対するエンコード過程を行うことができる。
【0135】
一方、アフィンインター予測と関連して、アフィンMVP候補リスト構成に対して継承されたアフィン候補(inherited affine candidate)が考慮されている。
【0136】
ここで、前記継承されたアフィン候補は、次の通りでありうる。
【0137】
例えば、前記現在ブロックの周辺ブロックがアフィンブロックで、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同じ場合、前記周辺ブロックのアフィンモーションモデルから前記現在ブロックのアフィンMVPペアが決定されることができる。ここで、前記アフィンブロックは、前記アフィンインター予測が適用されたブロックを表すことができる。前記継承されたアフィン候補は、前記周辺ブロックのアフィン動きモデルに基づいて導き出されたCPMVP(例えば、前記アフィンMVPペア)を表すことができる。
【0138】
具体的に、一例として、後述するように前記継承されたアフィン候補が導き出されることができる。
【0139】
図11は、前記継承されたアフィン候補を導き出すための周辺ブロックを例示的に示す。
【0140】
図11を参照すると、前記現在ブロックの周辺ブロックは、前記現在ブロックの左側周辺ブロックA0、前記現在ブロックの左下側コーナー周辺ブロックA1、前記現在ブロックの上側周辺ブロックB0、前記現在ブロックの右上側コーナー周辺ブロックB1、前記現在ブロックの左上側コーナー周辺ブロックB2を含むことができる。
【0141】
例えば、前記現在ブロックのサイズがWxHであり、現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0の場合、前記左側周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックで、前記上側周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックで、前記右上側コーナー周辺ブロックは、(W、-1)座標のサンプルを含むブロックで、前記左下側コーナー周辺ブロックは、(-1、H)座標のサンプルを含むブロックで、前記左上側コーナー周辺ブロックは、(-1、-1)座標のサンプルを含むブロックでありうる。
【0142】
エンコード装置/デコード装置は、周辺ブロックA0、A1、B0、B1及びB2を順次にチェックでき、周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャが同じ場合、前記周辺ブロックのアフィン動きモデルに基づいて、前記現在ブロックの2個のCPMVまたは3個のCPMVを導き出すことができる。前記CPMVは、 前記現在ブロックのアフィンMVP候補として導き出されることができる。前記アフィンMVP候補は、前記継承されたアフィン候補を表すことができる。
【0143】
一例として、前記周辺ブロックに基づいて最大2個の継承されたアフィン候補が導き出されることができる。
【0144】
例えば、エンコード装置/デコード装置は、周辺ブロック内の第1ブロックに基づいて前記現在ブロックの第1アフィンMVP候補を導き出すことができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第1ブロックは、特定順序に応じて前記周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0145】
以後、エンコード装置/デコード装置は、周辺ブロック内の第2ブロックに基づいて、前記現在ブロックの第2アフィンMVP候補を導き出すことができる。ここで、前記第2ブロックは、アフィン動きモデルでコーディングされることができ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第2ブロックは、特定順序に応じて前記周辺ブロックをチェックして、第2番目に確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0146】
または、一例として、前記周辺ブロックに基づいて最大1個の継承されたアフィン候補が導き出されることができる。
【0147】
例えば、エンコード装置/デコード装置は、周辺ブロック内の第1ブロックに基づいて、前記現在ブロックの第1アフィンMVP候補を導き出すことができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第1ブロックは、特定順序に応じて前記周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0148】
前記現在ブロックのMVP候補導出に対するソースコード(source code)は、次の表のように導き出されることができる。
【0149】
【表1】
【0150】
表1を参照すると、エンコード装置/デコード装置は、左側周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記左側周辺ブロックの参照ピクチャが同じであるかどうかを判断でき、上述した条件を満たす場合、前記左側周辺ブロックのアフィン動きモデルに基づいて導き出されたCPMVは、前記現在ブロックのCPMVP候補として導き出されることができる。
【0151】
次に、エンコード装置/デコード装置は、導き出されたCPMVP候補の数が2個より小さいかどうかを判断できる。導き出されたCPMVP候補の数が2個より小さくない場合、CPMVP候補の導出過程は終了できる。
【0152】
また、導き出されたCPMVP候補の数が2個より小さな場合、上側周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記上側周辺ブロックの参照ピクチャが同じであるかどうかを判断でき、上述した条件を満たす場合、前記上側周辺ブロックのアフィン動きモデルに基づいて導き出されたCPMVは、前記現在ブロックのCPMVP候補として導き出されることができる。
【0153】
次に、エンコード装置/デコード装置は、導き出されたCPMVP候補の数が2個より小さいかどうかを判断できる。導き出されたCPMVP候補の数が2個より小さくない場合、CPMVP候補導出過程は終了できる。
【0154】
また、導き出されたCPMVP候補の数が2個より小さな場合、右上側コーナー周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記右上側コーナー周辺ブロックの参照ピクチャとが同じであるかどうかを判断でき、上述した条件を満たす場合、前記右上側コーナー周辺ブロックのアフィン動きモデルに基づいて導き出されたCPMVは、前記現在ブロックのCPMVP候補として導き出されることができる。
【0155】
次に、エンコード装置/デコード装置は、導き出されたCPMVP候補の数が2個より小さいかどうかを判断できる。導き出されたCPMVP候補の数が2個より小さくない場合、CPMVP候補導出過程は終了できる。
【0156】
また、導き出されたCPMVP候補の数が2個より小さな場合、左下側コーナー周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記左下側コーナー周辺ブロックの参照ピクチャが同じであるかどうかを判断でき、上述した条件を満たす場合、前記左下側コーナー周辺ブロックのアフィン動きモデルに基づいて導き出されたCPMVは、前記現在ブロックのCPMVP候補として導き出されることができる。
【0157】
次に、エンコード装置/デコード装置は、導き出されたCPMVP候補の数が2個より小さいかどうかを判断できる。導き出されたCPMVP候補の数が2個より小さくない場合、CPMVP候補導出過程は終了できる。
【0158】
また、導き出されたCPMVP候補の数が2個より小さな場合、左上側コーナー周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記左上側コーナー周辺ブロックの参照ピクチャが同じであるかどうかを判断でき、上述した条件を満たす場合、前記左上側コーナー周辺ブロックのアフィン動きモデルに基づいて導き出されたCPMVは、前記現在ブロックのCPMVP候補として導き出されることができる。
【0159】
また、他の一例として、後述するように前記継承されたアフィン候補が導き出されることができる。
【0160】
例えば、エンコード装置/デコード装置は、前記周辺ブロックを特定順に順次にチェックでき、周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同じ場合、前記周辺ブロックに基づいてスケーリングが適用されない継承されたアフィン候補が導き出されることができ、前記周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャが同一でない場合、前記周辺ブロックに基づいてスケーリングが適用された継承されたアフィン候補が導き出されることができる。
【0161】
具体的に、前記周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同じ場合、上述した以前実施形態のようにエンコード装置/デコード装置は、前記周辺ブロックのアフィン動きモデルに基づいて、前記現在ブロックの前記アフィンMVP候補を導き出すことができる。
【0162】
また、前記周辺ブロックがアフィン動きモデルを使用してコーディングされ、前記現在ブロックの参照ピクチャと前記周辺ブロックの参照ピクチャとが同一でない場合、エンコード装置/デコード装置は、前記周辺ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、スケーリングファクターで前記動きベクトルをスケーリングでき、スケーリングされた動きベクトルを前記アフィンMVP候補として導き出すことができる。ここで、前記スケーリングファクターは、第1時間距離と第2時間距離との距離比でありうる。すなわち、前記スケーリングファクターは、前記第1時間距離を前記第2時間距離で割り算した値でありうる。前記第1時間距離は、前記現在ブロックを含む現在ピクチャのPOC(Picture Order Count)と前記現在ブロックの参照ピクチャのPOCとの差でありえ、前記第2時間距離は、前記現在ピクチャのPOCと前記周辺ブロックの参照ピクチャのPOCとの差でありうる。
【0163】
上述した現在ブロックのMVP候補導出に対するソースコード(source code)は、次の表のように導き出されることができる。
【0164】
【表2】
【0165】
上述した実施形態の性能及びエンコード/デコード時間は、ほぼ類似の面があり、よって、複雑度の分析(complexity analysis)を行って、より低い複雑度を有する実施形態が選択されることができる。
【0166】
前記実施形態に対する複雑度の分析は、次の表のように導き出されることができる。
【0167】
【表3】
【0168】
表3を参照すると、第2の実施形態がスケール(scaled)アフィンMVP候補及びノン-スケール(non-scaled)アフィンMVP候補ともを考慮することとは異なり、第1の実施形態がノン-スケールアフィンMVP候補だけを考慮する点において、コンプ(comp)、シフト(shift)、アッド(add)の数が少ないという観点において優秀でありうる。
【0169】
一方、本文書では、上述した実施形態と性能及びエンコード/デコード時間が似ており、かつ複雑度は、明確にさらに低い方法を提案する。
【0170】
例えば、左側予測子(left predictor)と上側予測子(above predictor)を分け、左側予測子は、左側周辺ブロック及び左下側コーナー周辺ブロックを特定順にスキャニングして、初めて導き出された現在ブロックと同じ参照ピクチャを有するアフィンコーディングされたブロックに基づいて導き出されることができ、上側予測子は、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを特定順にスキャニングして、初めて導き出された現在ブロックと同じ参照ピクチャを有するアフィンコーディングされたブロックに基づいて導き出されることができる。
【0171】
すなわち、エンコード装置/デコード装置は、左側周辺ブロック及び左下側コーナー周辺ブロックを含む左側ブロックグループから前記現在ブロックの第1アフィンMVP候補を導き出すことができ、エンコード装置/デコード装置は、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループから前記現在ブロックの第2アフィンMVP候補を導き出すことができる。
【0172】
ここで、前記第1アフィンMVP候補は、前記左側ブロックグループ内の第1ブロックに基づいて導き出されることができ、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一でありうる。すなわち、前記第1ブロックは、特定順序に応じて前記左側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0173】
また、前記第2アフィンMVP候補は、前記上側ブロックグループ内の第2ブロックに基づいて導き出されることができ、前記第2ブロックは、アフィン動きモデルでコーディングされることができ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第2ブロックは、特定順序に応じて前記上側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0174】
また、一例として、前記左側周辺ブロック及び前記左下側コーナー周辺ブロックをスキャニングする順序は、前記左側周辺ブロック、前記左下側コーナー周辺ブロックの順でありえ、前記右上側コーナー周辺ブロック、前記上側周辺ブロック及び前記左上側コーナー周辺ブロックをスキャニングする順序は、右上側コーナー周辺ブロック、上側周辺ブロック、左上側コーナー周辺ブロックの順でありうる。また、上述した前記周辺ブロックをスキャニングする順序は、上述した例以外の例が使用されることもできる。
【0175】
上述した現在ブロックのアフィンMVP候補導出方法に対するソースコード(source code)は、次の表のように導き出されることができる。
【0176】
【表4】
【0177】
また、本文書において提案した前記アフィンMVP候補導出方法に対する複雑度の分析は、次の表のように導き出されることができる。
【0178】
【表5】
【0179】
前記表5を参照すると、提案された前記アフィンMVP候補導出方法は、従来の実施形態と比較して、pos、cand、comp、shift、addの数が最も小さいか、または同じであり、ノンスケール(non-scaled)アフィンMVP候補だけを考慮して行われるから、前記実施形態に比べて最も少ない複雑度(complexity)を有することができる。したがって、本文書において提案された前記アフィンMVP候補導出方法は、符号化性能及びエンコード/デコード時間(encoding/decoding time)観点では、従来の実施形態と似ており、最も少ない複雑度を有するから、従来の実施形態より優れていると判断できる。
【0180】
一方、例えば、継承されたアフィン候補の可用の数が2より小さな場合、コンストラクテッドアフィン候補(constructed affine candidate)が考慮されうる。前記構成されたアフィン候補は、下記のように導き出されることができる。
【0181】
図12は、前記コンストラクテッドアフィン候補に対する空間的候補を例示的に示す。
【0182】
図12に示すように、前記現在ブロックの周辺ブロックの動きベクトルは、3個のグループに分けられることができる。図12を参照すると、前記周辺ブロックは、周辺ブロックA、周辺ブロックB、周辺ブロックC、周辺ブロックD、周辺ブロックE、周辺ブロックF及び周辺ブロックGを含むことができる。
【0183】
前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができる。また、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができる。また、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0184】
例えば、前記3個のグループは、S、S、Sを含むことができ、前記S、前記S、前記Sは、次の表のように導き出されることができる。
【0185】
【表6】
【0186】
式中、Mvは、前記周辺ブロックAの動きベクトル、mvは、前記周辺ブロックBの動きベクトル、mvは、前記周辺ブロックCの動きベクトル、mvは、前記周辺ブロックDの動きベクトル、mvは、前記周辺ブロックEの動きベクトル、mvは、前記周辺ブロックFの動きベクトル、mvは、前記周辺ブロックGの動きベクトルを表す。前記Sは、第1グループ、Sは、第2グループ、前記Sは、第3グループと表すこともできる。
【0187】
エンコード装置/デコード装置は、前記Sからmvを導き出すことができ、Sからmvを導き出すことができ、Sからmvを導き出すことができ、前記mv、前記mv、前記mvを含むアフィンMVP候補を導き出すことができる。前記アフィンMVP候補は、前記コンストラクテッドアフィン候補を表すことができる。また、前記mvは、CP0のCPMVP候補でありえ、前記mvは、CP1のCPMVP候補でありえ、前記mvは、CP2のCPMVP候補でありうる。
【0188】
ここで、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記S内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0189】
また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記S内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0190】
また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記S内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0191】
一方、前記mv及び前記mvだけが導き出される場合、前記mvは、次の式のように導き出されることができる。
【0192】
【数8】
【0193】
式中、Mv は、前記mvのx成分を表し、mv は、前記mvのy成分を表し、mv は、前記mvのx成分を表し、mv は、前記mvのy成分を表し、mv は、前記mvのx成分を表し、mv は、前記mvのy成分を表す。また、wは、前記現在ブロックの幅を表し、hは、前記現在ブロックの高さを表す。
【0194】
一方、前記mv及び前記mvだけが導き出される場合、前記mvは、次の式のように導き出されることができる。
【0195】
【数9】
【0196】
式中、Mv は、前記mvのx成分を表し、mv は、前記mvのy成分を表し、mv は、前記mvのx成分を表し、mv は、前記mvのy成分を表し、mv は、前記mvのx成分を表し、mv は、前記mvのy成分を表す。また、wは、前記現在ブロックの幅を表し、hは、前記現在ブロックの高さを表す。
【0197】
また、可用の(available)前記継承されたアフィン候補及び/またはコンストラクテッドアフィン候補の数が2より小さな場合、従来のHEVC標準のAMVP過程が前記アフィンMVPリスト構成に適用されることができる。すなわち、可用の(available)前記継承されたアフィン候補及び/またはコンストラクテッドアフィン候補の数が2より小さな場合、従来のHEVC標準でのMVP候補を構成する過程が行われることができる。
【0198】
一方、上述したアフィンMVPリストを構成する実施形態のフローチャートは、後述するとおりである。
【0199】
図13は、アフィンMVPリストを構成している一例を例示的に示す。
【0200】
図13を参照すると、エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストに継承された候補(inherited candidate)を追加できる(S1300)。前記継承された候補は、上述した継承されたアフィン候補を表すことができる。
【0201】
具体的に、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックから最大2個の継承されたアフィン候補が導き出されることができる(S1305)。ここで、前記周辺ブロックは、前記現在ブロックの左側周辺ブロックA0、左下側コーナー周辺ブロックA1、上側周辺ブロックB0、右上側コーナー周辺ブロックB1及び左上側コーナー周辺ブロックB2を含むことができる。
【0202】
例えば、エンコード装置/デコード装置は、周辺ブロック内の第1ブロックに基づいて、前記現在ブロックの第1アフィンMVP候補を導き出すことができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第1ブロックは、特定順序に応じて前記周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0203】
以後、エンコード装置/デコード装置は、周辺ブロック内の第2ブロックに基づいて、前記現在ブロックの第2アフィンMVP候補を導き出すことができる。ここで、前記第2ブロックは、アフィン動きモデルでコーディングされることができ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第2ブロックは、特定順序に応じて前記周辺ブロックをチェックして、第2番目に確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0204】
一方、前記特定順序は、左側周辺ブロックA0→左下側コーナー周辺ブロックA1→上側周辺ブロックB0→右上側コーナー周辺ブロックB1→左上側コーナー周辺ブロックB2でありうる。また、上述した順序以外の順に行われても良く、上述した例に限定されなくても良い。
【0205】
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる(S1310)。前記コンストラクテッド候補は、上述したコンストラクテッドアフィン候補を表すことができる。可用の継承された候補の数が2個より小さな場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる。
【0206】
エンコード装置/デコード装置は、第1グループからmvを導き出すことができ、第2グループからmvを導き出すことができ、第3グループからmvを導き出すことができ、前記mv、前記mv、前記mvを含む前記コンストラクテッドアフィン候補を導き出すことができる。前記mvは、前記現在ブロックのCP0のCPMVP候補でありえ、前記mvは、CP1のCPMVP候補でありえ、前記mvは、CP2のCPMVP候補でありうる。
【0207】
ここで、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0208】
また、前記第1グループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2グループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3グループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0209】
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる(S1320)。可用の継承された候補及び/またはコンストラクテッド候補の数が2個より小さな場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる。すなわち、可用の継承された候補及び/またはコンストラクテッド候補の数が2個より小さな場合、エンコード装置/デコード装置は、従来のHEVC標準でのMVP候補を構成する過程が行われることができる。
【0210】
図14は、アフィンMVPリストを構成している一例を例示的に示す。
【0211】
図14を参照すると、エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストに継承された候補(inherited candidate)を追加できる(S1400)。前記継承された候補は、上述した継承されたアフィン候補を表すことができる。
【0212】
具体的に、エンコード装置/デコード装置は、左側周辺ブロック及び左下側コーナー周辺ブロックを含む左側ブロックグループから前記現在ブロックの第1アフィンMVP候補を導き出すことができ(S1405)、エンコード装置/デコード装置は、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループから前記現在ブロックの第2アフィンMVP候補を導き出すことができる(S1410)。
【0213】
ここで、前記第1アフィンMVP候補は、前記左側ブロックグループ内の第1ブロックに基づいて導き出されることができ、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第1ブロックは、特定順序に応じて前記左側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0214】
また、前記第2アフィンMVP候補は、前記上側ブロックグループ内の第2ブロックに基づいて導き出されることができ、前記第2ブロックは、アフィン動きモデルでコーディングされることができ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第2ブロックは、特定順序に応じて前記上側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0215】
一方、前記左側ブロックグループをチェックする前記特定順序は、前記左側周辺ブロック、前記左下側コーナー周辺ブロックの順でありうる。または、前記左側ブロックグループをチェックする前記特定順序は、前記左下側コーナー周辺ブロック、前記左側周辺ブロックの順でありうる。また、前記上側ブロックグループをチェックする前記特定順序は、右上側コーナー周辺ブロック、上側周辺ブロック、左上側コーナー周辺ブロックの順でありうる。または、前記上側ブロックグループをチェックする前記特定順序は、上側周辺ブロック、右上側コーナー周辺ブロック、左上側コーナー周辺ブロックの順でありうる。上述した順序以外の順に行われることもでき、上述した例に限定されるものではない
【0216】
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる(S1420)。前記コンストラクテッド候補は、上述したコンストラクテッドアフィン候補を表すことができる。可用の継承された候補の数が2個より小さな場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる。
【0217】
エンコード装置/デコード装置は、第1グループからmvを導き出すことができ、第2グループからmvを導き出すことができ、第3グループからmvを導き出すことができ、前記mv、前記mv、前記mvを含む前記コンストラクテッドアフィン候補を導き出すことができる。前記mvは、前記現在ブロックのCP0のCPMVP候補でありえ、前記mvは、CP1のCPMVP候補でありえ、前記mvは、CP2のCPMVP候補でありうる。
【0218】
ここで、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0219】
また、前記第1グループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2グループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3グループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0220】
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる(S1430)。可用の継承された候補及び/またはコンストラクテッド候補の数が2個より小さな場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる。すなわち、可用の継承された候補及び/またはコンストラクテッド候補の数が2個より小さな場合、エンコード装置/デコード装置は、従来のHEVC標準でのMVP候補を構成する過程が行われることができる。
【0221】
図15は、アフィンMVPリストを構成する一例を例示的に示す。
【0222】
図15を参照すると、エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストに継承された候補(inherited candidate)を追加できる(S1500)。前記継承された候補は、上述した継承されたアフィン候補を表すことができる。
【0223】
具体的に、エンコード装置/デコード装置は、前記現在ブロックの周辺ブロックから最大1個の継承されたアフィン候補が導き出されることができる(S1505)。ここで、前記周辺ブロックは、前記現在ブロックの左側周辺ブロックA0、左下側コーナー周辺ブロックA1、上側周辺ブロックB0、右上側コーナー周辺ブロックB1及び左上側コーナー周辺ブロックB2を含むことができる。
【0224】
例えば、エンコード装置/デコード装置は、周辺ブロック内の第1ブロックに基づいて、前記現在ブロックの第1アフィンMVP候補を導き出すことができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記第1ブロックは、特定順序に応じて前記周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0225】
一方、前記特定順序は、左側周辺ブロックA0→左下側コーナー周辺ブロックA1→上側周辺ブロックB0→右上側コーナー周辺ブロックB1→左上側コーナー周辺ブロックB2でありうる。また、上述した順序以外の順に行われることもでき、上述した例に限定されなくても良い。
【0226】
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる(S1510)。前記コンストラクテッド候補は、上述したコンストラクテッドアフィン候補を表すことができる。可用の継承された候補の数が2個より小さな場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにコンストラクテッド候補(constructed candidate)を追加できる。
【0227】
エンコード装置/デコード装置は、第1グループからmvを導き出すことができ、第2グループからmvを導き出すことができ、第3グループからmvを導き出すことができ、前記mv、前記mv、前記mvを含む前記コンストラクテッドアフィン候補を導き出すことができる。前記mvは、前記現在ブロックのCP0のCPMVP候補でありえ、前記mvは、CP1のCPMVP候補でありえ、前記mvは、CP2のCPMVP候補でありうる。
【0228】
ここで、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記mvに対した参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記mvは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。
【0229】
また、前記第1グループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2グループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3グループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左端に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0230】
エンコード装置/デコード装置は、現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる(S1520)。可用の継承された候補及び/またはコンストラクテッド候補の数が2個より小さな場合、エンコード装置/デコード装置は、前記現在ブロックのアフィンMVPリストにHEVC AMVP候補を追加できる。すなわち、可用の継承された候補及び/またはコンストラクテッド候補の数が2個より小さな場合、エンコード装置/デコード装置は、従来のHEVC標準でのMVP候補を構成する過程が行われることができる。
【0231】
上述したフローチャートに開示された実施形態は、前記継承されたアフィン候補を導き出す過程において差がある。したがって、前記継承されたアフィン候補を導き出す過程での複雑度の分析を行って、上述した実施形態を比較できる。
【0232】
上述した実施形態の複雑度の分析は、次の表のように導き出されることができる。
【0233】
【表7】
【0234】
また、上述した実施形態のコーディング性能は、次の表のように導き出されることができる。
【0235】
【表8】
【0236】
前記表7を参照すると、図13の実施形態より図14の実施形態及び図15の実施形態が低い複雑度を有するのを確認することができる。また、前記表8を参照すると、図13の実施形態、図14の実施形態及び図15の実施形態のコーディングパフォーマンス(coding performance)がほぼ同一であることを確認することができる。したがって、複雑度が小さくコーディング性能が同じである図14の実施形態及び図15の実施形態のエンコード/デコード過程にさらに考慮されることができる。
【0237】
図16は、本文書によるエンコード装置による映像エンコード方法を概略的に示す。図16において開示された方法は、図1において開示されたエンコード装置によって行われることができる。具体的に例えば、図16のS1600ないしS1630は、前記エンコード装置の予測部によって行われることができ、S1640は、前記エンコード装置のエントロピーエンコード部によって行われることができる。また、たとえ図示されていないが、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出す過程は、前記エンコード装置の予測部によって行われることができ、前記現在ブロックに対する原本サンプルと予測サンプルに基づいて前記現在ブロックに対するレジデュアルサンプルを導き出す過程は、前記エンコード装置の減算部によって行われることができ、前記レジデュアルサンプルに基づいて前記現在ブロックに対するレジデュアルに関する情報を生成する過程は、前記エンコード装置の変換部によって行われることができ、前記レジデュアルに関する情報をエンコードする過程は、前記エンコード装置のエントロピーエンコード部によって行われることができる。
【0238】
エンコード装置は、現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成する(S1600)。
【0239】
一例として、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含むことができる。
【0240】
前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナー周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)内の第1ブロックに基づいて導き出されることができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。
【0241】
すなわち、前記第1ブロックは、特定順序に応じて前記左側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。例えば、エンコード装置は、前記左側ブロックグループ内のブロックを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす第1ブロックを導き出すことができ、前記第1ブロックに基づいて前記第1アフィンMVP候補を導き出すことができる。
【0242】
具体的に、例えば、エンコード装置は、前記第1ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、前記動きベクトルをCPMVP候補として含む前記第1アフィンMVP候補を導き出すことができる。前記アフィン動きモデルは、上述した式1または式3のように導き出されることができる。
【0243】
一方、前記左側ブロックグループ内のブロックをチェックする前記特定順序は、前記左側周辺ブロックから前記左下側コーナー周辺ブロックへの順でありうる。または、前記左側ブロックグループをチェックする前記特定順序は、前記左下側コーナー周辺ブロックから前記左側周辺ブロックへの順でありうる。
【0244】
前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナー周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)及び左上側コーナー周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)内の第2ブロックに基づいて導き出されることができる。ここで、前記第2ブロックは、アフィン動きモデルでコーディングされることができ、前記第2ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同一でありうる。
【0245】
すなわち、前記第2ブロックは、特定順序に応じて前記上側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。例えば、エンコード装置は、前記上側ブロックグループ内のブロックを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす第2ブロックを導き出すことができ、前記第2ブロックに基づいて前記第2アフィンMVP候補を導き出すことができる。
【0246】
具体的に、例えば、エンコード装置は、前記第2ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、前記動きベクトルをCPMVP候補として含む前記第2アフィンMVP候補を導き出すことができる。前記アフィン動きモデルは、上述した式1または式3のように導き出されることができる。
【0247】
一方、前記上側ブロックグループ内のブロックをチェックする前記特定順序は、前記上側周辺ブロックから右上側コーナー周辺ブロック、左上側コーナー周辺ブロックへの順でありうる。
【0248】
また、他の一例として、前記アフィンMVP候補は、後述するように導き出される第1アフィンMVP候補を含むことができる。
【0249】
前記第1アフィンMVP候補は、前記現在ブロックの周辺ブロック内の第1ブロックに基づいて導き出されることができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記周辺ブロックは、前記現在ブロックの前記左側周辺ブロック、前記左下側コーナー周辺ブロック、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含むことができる。
【0250】
前記第1ブロックは、特定順序に応じて前記周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。例えば、エンコード装置は、前記周辺ブロックを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす第1ブロックを導き出すことができ、前記第1ブロックに基づいて前記第1アフィンMVP候補を導き出すことができる。
【0251】
具体的に、例えば、エンコード装置は、前記第1ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、前記動きベクトルをCPMVP候補として含む前記第1アフィンMVP候補を導き出すことができる。前記アフィン動きモデルは、上述した式1または式3のように導き出されることができる。
【0252】
一方、前記周辺ブロックをチェックする前記特定順序は、前記左側周辺ブロックから前記左下側コーナー周辺ブロック、前記上側周辺ブロック、前記右上側コーナー周辺ブロック、前記左上側コーナー周辺ブロックへの順でありうる。
【0253】
ここで、例えば、前記現在ブロックのサイズがWxHであり、前記現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0の場合、前記左側周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックで、前記上側周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックで、前記右上側周辺ブロックは、(W、-1)座標のサンプルを含むブロックで、前記左下側周辺ブロックは、(-1、H)座標のサンプルを含むブロックで、前記左上側周辺ブロックは、(-1、-1)座標のサンプルを含むブロックでありうる。
【0254】
一方、前記第1アフィンMVP候補及び/または前記第2アフィンMVP候補が導き出されない場合、すなわち、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、前記アフィンMVP候補は、コンストラクテッドアフィンMVP候補を含むことができる。
【0255】
すなわち、例えば、前記第1アフィンMVP候補及び/または前記第2アフィンMVP候補が導き出されない場合、すなわち、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、エンコード装置は、周辺ブロックに基づいてコンストラクテッドアフィンMVP候補を導き出すことができる。
【0256】
具体的に、エンコード装置は、前記周辺ブロックの動きベクトルを第1グループ、第2グループ、第3グループに分けられることができる。前記第1グループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2グループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3グループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。
【0257】
また、エンコード装置は、前記第1グループから前記現在ブロックのCP0に対したCPMVP候補を導き出すことができ、前記第2グループから前記現在ブロックのCP1に対したCPMVP候補を導き出すことができ、前記第3グループから前記現在ブロックのCP2に対したCPMVP候補を導き出すことができ、前記CPに対するCPMVP候補を含む前記コンストラクテッドアフィンMVP候補を導き出すことができる。
【0258】
前記CP0に対したCPMVPは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記CP0に対したCPMVPは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された参照ピクチャが前記現在ブロックの参照ピクチャと同じ動きベクトルでありうる。例えば、エンコード装置は、前記第1グループ内の動きベクトルを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす動きベクトルを前記CP0に対したCPMVPとして導き出すことができる。ここで、例えば、前記特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順でありうる。
【0259】
前記CP1に対したCPMVPは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記CP1に対したCPMVPは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された参照ピクチャが前記現在ブロックの参照ピクチャと同じ動きベクトルでありうる。例えば、エンコード装置は、前記第2グループ内の動きベクトルを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす動きベクトルを前記CP1に対したCPMVPとして導き出すことができる。ここで、例えば、前記特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順でありうる。
【0260】
前記CP2に対したCPMVPは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記CP2に対したCPMVPは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された参照ピクチャが前記現在ブロックの参照ピクチャと同じ動きベクトルでありうる。例えば、エンコード装置は、前記第3グループ内の動きベクトルを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす動きベクトルを前記CP2に対したCPMVPとして導き出すことができる。ここで、例えば、前記特定順序は、前記周辺ブロックFから前記周辺ブロックGへの順でありうる。
【0261】
ここで、前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左側に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左側に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0262】
例えば、前記現在ブロックのサイズがWxHであり、前記現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0の場合、前記周辺ブロックAは、(-1、-1)座標のサンプルを含むブロックで、前記周辺ブロックBは、(0、-1)座標のサンプルを含むブロックで、前記周辺ブロックCは、(-1、0)座標のサンプルを含むブロックで、前記周辺ブロックDは、(W-1、-1)座標のサンプルを含むブロックで、前記周辺ブロックEは、(W、-1)座標のサンプルを含むブロックで、前記周辺ブロックFは、(-1、H-1)座標のサンプルを含むブロックで、前記周辺ブロックGは、(-1、H)座標のサンプルを含むブロックでありうる。また、前記CP0は、前記現在ブロックの左上端位置を表すことができ、前記CP1は、前記現在ブロックの右上端位置を表すことができ、前記CP2は、前記現在ブロックの左下端位置を表すことができる。すなわち、前記CPは、現在ブロックの左上側(top-left)サンプルポジションに位置したCP0及び現在ブロックの右上側(top-right)サンプルポジションに位置したCP1を含むことができ、現在ブロックの左下側(bottom-left)サンプルポジションに位置したCP2をさらに含むこともできる。
【0263】
一方、前記第1グループから前記現在ブロックのCP0に対したCPMVP候補が導き出され、前記第2グループから前記現在ブロックのCP1に対したCPMVP候補が導き出され、前記第3グループから前記現在ブロックのCP2に対したCPMVP候補が導き出されない場合、前記CP0に対したCPMVP候補及び前記CP1に対したCPMVP候補に基づいて、上述した式8により前記CP2に対したCPMVP候補が導き出されることができる。
【0264】
また、前記第1グループから前記現在ブロックのCP0に対したCPMVP候補が導き出され、前記第3グループから前記現在ブロックのCP2に対したCPMVP候補が導き出され、前記第2グループから前記現在ブロックのCP1に対したCPMVP候補が導き出されない場合、前記CP0に対したCPMVP候補及び前記CP2に対したCPMVP候補に基づいて、上述した式9により前記CP1に対したCPMVP候補が導き出されることができる。
【0265】
一方、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、前記アフィンMVP候補は、従来のHEVC標準でのMVP候補を含むことができる。
【0266】
すなわち、例えば、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、エンコード装置は、従来のHEVC標準でのMVP候補を導き出すことができる。
【0267】
エンコード装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、いずれか一つのアフィンMVP候補に基づいて、前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導き出す(S1610)。エンコード装置は、最適のRDコストを有する前記現在ブロックの前記CPに対するCPMVを導き出すことができ、前記アフィンMVP候補のうち、前記CPMVと最も類似のアフィンMVP候補を前記現在ブロックに対するアフィンMVP候補として選択できる。エンコード装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、前記選択されたアフィンMVP候補に基づいて前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導き出すことができる。
【0268】
エンコード装置は、前記アフィンMVP候補のうち、前記選択されたアフィンMVP候補を指すアフィンMVP候補インデックスをエンコードできる。前記アフィンMVP候補インデックスは、前記現在ブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、前記一つのアフィンMVP候補を指すことができる。
【0269】
エンコード装置は、前記現在ブロックの前記CPに対するCPMVを導き出す(S1620)。エンコード装置は、前記現在ブロックの前記CPの各々に対するCPMVを導き出すことができる。
【0270】
エンコード装置は、前記CPMVP及び前記CPMVに基づいて前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導き出す(S1630)。エンコード装置は、前記CPの各々に対する前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するCPMVDを導き出すことができる。
【0271】
エンコード装置は、前記CPMVDに対する情報を含む動き予測情報(motion prediction information)をエンコードする(S1640)。エンコード装置は、前記CPMVDに対する情報を含む動き予測情報をビットストリーム形態で出力できる。すなわち、エンコード装置は、前記動き予測情報を含む映像情報をビットストリーム形態で出力できる。エンコード装置は、前記CPの各々に対するCPMVDに対した情報をエンコードでき、前記動き予測情報は、前記CPMVDに対する情報を含むことができる。
【0272】
また、前記動き予測情報は、前記アフィンMVP候補インデックスを含むことができる。前記アフィンMVP候補インデックスは、前記現在ブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、前記選択されたアフィンMVP候補を指すことができる。
【0273】
一方、一例として、エンコード装置は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出すことができ、前記現在ブロックに対する原本サンプルと予測サンプルに基づいて、前記現在ブロックに対するレジデュアルサンプルを導き出すことができ、前記レジデュアルサンプルに基づいて前記現在ブロックに対するレジデュアルに関する情報を生成でき、前記レジデュアルに関する情報をエンコードできる。前記映像情報は、前記レジデュアルに関する情報を含むことができる。
【0274】
一方、前記ビットストリームは、ネットワークまたは(デジタル)格納媒体を介してデコード装置に転送されることができる。ここで、ネットワークは、放送網及び/または通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。
【0275】
図17は、本文書による映像エンコード方法を行うエンコード装置を概略的に示す。図16において開示された方法は、図17において開示されたエンコード装置によって行われることができる。具体的に、例えば、図17の前記エンコード装置の予測部は、図16のS1600ないしS1630を行うことができ、図17の前記エンコード装置のエントロピーエンコード部は、図16のS1640を行うことができる。また、たとえ図示していないが、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出す過程は、図17のエンコード装置の予測部によって行われることができ、前記現在ブロックに対する原本サンプルと予測サンプルに基づいて、前記現在ブロックに対するレジデュアルサンプルを導き出す過程は、図17の前記エンコード装置の減算部によって行われることができ、前記レジデュアルサンプルに基づいて、前記現在ブロックに対するレジデュアルに関する情報を生成する過程は、図17の前記エンコード装置の変換部によって行われることができ、前記レジデュアルに関する情報をエンコードする過程は、図17の前記エンコード装置のエントロピーエンコード部によって行われることができる。
【0276】
図18は、本文書によるデコード装置による映像デコード方法を概略的に示す。図18において開示された方法は、図2において開示されたデコード装置によって行われることができる。具体的に、例えば、図18のS1800は、前記デコード装置のエントロピーデコード部によって行われることができ、S1810ないしS1850は、前記デコード装置の予測部によって行われることができ、S1860は、前記デコード装置の加算部によって行われることができる。また、たとえ図示していないが、ビットストリームを介して現在ブロックのレジデュアルに関する情報を獲得する過程は、前記デコード装置のエントロピーデコード部によって行われることができ、前記レジデュアル情報に基づいて前記現在ブロックに対する前記レジデュアルサンプルを導き出す過程は、前記デコード装置の逆変換部によって行われることができる。
【0277】
デコード装置は、ビットストリームから動き予測情報(motion prediction information)を獲得できる(S1800)。デコード装置は、前記ビットストリームから前記動き予測情報を含む映像情報を獲得できる。
【0278】
また、例えば、前記動き予測情報は、前記現在ブロックのCP(contro
l point)に対するCPMVD(Control Point Motion Vector Differences)に対する情報を含むことができる。すなわち、前記動き予測情報は、前記現在ブロックのCPの各々に対するCPMVDに対した情報を含むことができる。
【0279】
また、例えば、前記動き予測情報は、前記現在ブロックに対するアフィンMVP候補インデックスを含むことができる。前記アフィンMVP候補インデックスは、前記現在ブロックに対するアフィン動きベクトル予測子(Motion Vector Predictor、MVP)候補リストに含まれたアフィンMVP候補のうち、いずれか一つを指すことができる。
【0280】
デコード装置は、前記現在ブロックに対するアフィン(affine)動きベクトル予測子(Motion Vector Predictor、MVP)候補(candidates)を含むアフィンMVP候補リストを生成する(S1810)。
【0281】
一例として、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含むことができる。
【0282】
前記第1アフィンMVP候補は、前記現在ブロックの左下側コーナー周辺ブロック(bottom-left corner neighboring block)及び左側周辺ブロック(left neighboring block)を含む左側ブロックグループ(left block group)内の第1ブロックに基づいて導き出されることができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。
【0283】
すなわち、前記第1ブロックは、特定順序に応じて前記左側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。例えば、デコード装置は、前記左側ブロックグループ内のブロックを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす第1ブロックを導き出すことができ、前記第1ブロックに基づいて前記第1アフィンMVP候補を導き出すことができる。
【0284】
具体的に、例えば、デコード装置は、前記第1ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、前記動きベクトルをCPMVP候補として含む前記第1アフィンMVP候補を導き出すことができる。前記アフィン動きモデルは、上述した式1または式3のように導き出されることができる。
【0285】
一方、前記左側ブロックグループ内のブロックをチェックする前記特定順序は、前記左側周辺ブロックから前記左下側コーナー周辺ブロックへの順でありうる。または、前記左側ブロックグループをチェックする前記特定順序は、前記左下側コーナー周辺ブロックから前記左側周辺ブロックへの順でありうる。
【0286】
前記第2アフィンMVP候補は、前記現在ブロックの右上側コーナー周辺ブロック(top-right corner neighboring block)、上側周辺ブロック(top neighboring block)及び左上側コーナー周辺ブロック(top-left corner neighboring block)を含む上側ブロックグループ(top block group)内の第2ブロックに基づいて導き出されることができる。ここで、前記第2ブロックは、アフィン動きモデルでコーディングされることができ、前記第2ブロックの参照ピクチャは、前記現在ブロックの前記参照ピクチャと同一でありうる。
【0287】
すなわち、前記第2ブロックは、特定順序に応じて前記上側ブロックグループ内の周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。例えば、デコード装置は、前記上側ブロックグループ内のブロックを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす第2ブロックを導き出すことができ、前記第2ブロックに基づいて前記第2アフィンMVP候補を導き出すことができる。
【0288】
具体的に、例えば、デコード装置は、前記第2ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、前記動きベクトルをCPMVP候補として含む前記第2アフィンMVP候補を導き出すことができる。前記アフィン動きモデルは、上述した式1または式3のように導き出されることができる。
【0289】
一方、前記上側ブロックグループ内のブロックをチェックする前記特定順序は、前記上側周辺ブロックから右上側コーナー周辺ブロック、左上側コーナー周辺ブロックへの順でありうる。
【0290】
また、他の一例として、前記アフィンMVP候補は、後述するように導き出される第1アフィンMVP候補を含むことができる。
【0291】
前記第1アフィンMVP候補は、前記現在ブロックの周辺ブロック内の第1ブロックに基づいて導き出されることができる。ここで、前記第1ブロックは、アフィン動きモデルでコーディングされることができ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一なものでありうる。また、前記周辺ブロックは、前記現在ブロックの前記左側周辺ブロック、前記左下側コーナー周辺ブロック、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含むことができる。
【0292】
前記第1ブロックは、特定順序に応じて前記周辺ブロックをチェックして、初めて確認された条件を満たすブロックでありうる。前記条件は、アフィン動きモデルでコーディングされ、ブロックの参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。例えば、デコード装置は、前記周辺ブロックを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす第1ブロックを導き出すことができ、前記第1ブロックに基づいて前記第1アフィンMVP候補を導き出すことができる。
【0293】
具体的に、例えば、デコード装置は、前記第1ブロックのアフィン動きモデルに基づいて、前記現在ブロックのCPに対する動きベクトルを導き出すことができ、前記動きベクトルをCPMVP候補として含む前記第1アフィンMVP候補を導き出すことができる。前記アフィン動きモデルは、上述した式1または式3のように導き出されることができる。
【0294】
一方、前記周辺ブロックをチェックする前記特定順序は、前記左側周辺ブロックから前記左下側コーナー周辺ブロック、前記上側周辺ブロック、前記右上側コーナー周辺ブロック、前記左上側コーナー周辺ブロックへの順でありうる。
【0295】
ここで、例えば、前記現在ブロックのサイズがWxHであり、前記現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0の場合、前記左側周辺ブロックは、(-1、H-1)座標のサンプルを含むブロックで、前記上側周辺ブロックは、(W-1、-1)座標のサンプルを含むブロックで、前記右上側周辺ブロックは、(W、-1)座標のサンプルを含むブロックで、前記左下側周辺ブロックは、(-1、H)座標のサンプルを含むブロックで、前記左上側周辺ブロックは、(-1、-1)座標のサンプルを含むブロックでありうる。
【0296】
一方、前記第1アフィンMVP候補及び/または前記第2アフィンMVP候補が導き出されない場合、すなわち、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、前記アフィンMVP候補は、コンストラクテッドアフィンMVP候補を含むことができる。
【0297】
すなわち、例えば、前記第1アフィンMVP候補及び/または前記第2アフィンMVP候補が導き出されない場合、すなわち、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、デコード装置は、周辺ブロックに基づいてコンストラクテッドアフィンMVP候補を導き出すことができる。
【0298】
具体的に、デコード装置は、前記周辺ブロックの動きベクトルを第1グループ、第2グループ、第3グループに分けられることができる。前記第1グループは、周辺ブロックAの動きベクトル、周辺ブロックBの動きベクトル、周辺ブロックCの動きベクトルを含むことができ、前記第2グループは、周辺ブロックDの動きベクトル、周辺ブロックEの動きベクトルを含むことができ、前記第3グループは、周辺ブロックFの動きベクトル、周辺ブロックGの動きベクトルを含むことができる。
【0299】
また、デコード装置は、前記第1グループから前記現在ブロックのCP0に対したCPMVP候補を導き出すことができ、前記第2グループから前記現在ブロックのCP1に対したCPMVP候補を導き出すことができ、前記第3グループから前記現在ブロックのCP2に対したCPMVP候補を導き出すことができ、前記CPに対するCPMVP候補を含む前記コンストラクテッドアフィンMVP候補を導き出すことができる。
【0300】
前記CP0に対したCPMVPは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記CP0に対したCPMVPは、特定順序に応じて前記第1グループ内の動きベクトルをチェックして、初めて確認された参照ピクチャが前記現在ブロックの参照ピクチャと同じ動きベクトルでありうる。例えば、デコード装置は、前記第1グループ内の動きベクトルを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす動きベクトルを前記CP0に対したCPMVPとして導き出すことができる。ここで、例えば、前記特定順序は、前記周辺ブロックAから前記周辺ブロックB、前記周辺ブロックCへの順でありうる。
【0301】
前記CP1に対したCPMVPは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記CP1に対したCPMVPは、特定順序に応じて前記第2グループ内の動きベクトルをチェックして、初めて確認された参照ピクチャが前記現在ブロックの参照ピクチャと同じ動きベクトルでありうる。例えば、デコード装置は、前記第2グループ内の動きベクトルを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす動きベクトルを前記CP1に対したCPMVPとして導き出すことができる。ここで、例えば、前記特定順序は、前記周辺ブロックDから前記周辺ブロックEへの順でありうる。
【0302】
前記CP2に対したCPMVPは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された条件を満たす動きベクトルでありうる。前記条件は、動きベクトルに対する参照ピクチャが前記現在ブロックの参照ピクチャと同一なものでありうる。すなわち、前記CP2に対したCPMVPは、特定順序に応じて前記第3グループ内の動きベクトルをチェックして、初めて確認された参照ピクチャが前記現在ブロックの参照ピクチャと同じ動きベクトルでありうる。例えば、デコード装置は、前記第3グループ内の動きベクトルを前記特定順に前記条件を満しているかどうかをチェックでき、初めて前記条件を満たす動きベクトルを前記CP2に対したCPMVPとして導き出すことができる。ここで、例えば、前記特定順序は、前記周辺ブロックFから前記周辺ブロックGへの順でありうる。
【0303】
ここで、前記周辺ブロックAは、前記現在ブロックの左上端サンプルポジションの左上端に位置する周辺ブロックを表すことができ、前記周辺ブロックBは、前記現在ブロックの左上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックCは、前記現在ブロックの左上端サンプルポジションの左側に位置する周辺ブロックを表すことができ、前記周辺ブロックDは、前記現在ブロックの右上端サンプルポジションの上端に位置する周辺ブロックを表すことができ、前記周辺ブロックEは、前記現在ブロックの右上端サンプルポジションの右上端に位置する周辺ブロックを表すことができ、前記周辺ブロックFは、前記現在ブロックの左下端サンプルポジションの左側に位置する周辺ブロックを表すことができ、前記周辺ブロックGは、前記現在ブロックの左下端サンプルポジションの左下端に位置する周辺ブロックを表すことができる。
【0304】
例えば、前記現在ブロックのサイズがWxHであり、前記現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0の場合、前記周辺ブロックAは、(-1、-1)座標のサンプルを含むブロックで、前記周辺ブロックBは、(0、-1)座標のサンプルを含むブロックで、前記周辺ブロックCは、(-1、0)座標のサンプルを含むブロックで、前記周辺ブロックDは、(W-1、-1)座標のサンプルを含むブロックで、前記周辺ブロックEは、(W、-1)座標のサンプルを含むブロックで、前記周辺ブロックFは、(-1、H-1)座標のサンプルを含むブロックで、前記周辺ブロックGは、(-1、H)座標のサンプルを含むブロックでありうる。また、前記CP0は、前記現在ブロックの左上端位置を表すことができ、前記CP1は、前記現在ブロックの右上端位置を表すことができ、前記CP2は、前記現在ブロックの左下端位置を表すことができる。すなわち、前記CPは、現在ブロックの左上側(top-left)サンプルポジションに位置したCP0及び現在ブロックの右上側(top-right)サンプルポジションに位置したCP1を含むことができ、現在ブロックの左下側(bottom-left)サンプルポジションに位置したCP2をさらに含むこともできる。
【0305】
一方、前記第1グループから前記現在ブロックのCP0に対したCPMVP候補が導き出され、前記第2グループから前記現在ブロックのCP1に対したCPMVP候補が未響き出され、前記第3グループから前記現在ブロックのCP2に対したCPMVP候補が導き出されない場合、前記CP0に対したCPMVP候補及び前記CP1に対したCPMVP候補に基づいて、上述した式8により前記CP2に対したCPMVP候補が導き出されることができる。
【0306】
また、前記第1グループから前記現在ブロックのCP0に対したCPMVP候補が導き出され、前記第3グループから前記現在ブロックのCP2に対したCPMVP候補が導き出され、前記第2グループから前記現在ブロックのCP1に対したCPMVP候補が導き出されない場合、前記CP0に対したCPMVP候補及び前記CP2に対したCPMVP候補に基づいて、上述した式9により前記CP1に対したCPMVP候補が導き出されることができる。
【0307】
一方、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、前記アフィンMVP候補は、従来のHEVC標準でのMVP候補を含むことができる。
【0308】
すなわち、例えば、上述した過程により2個より小さな数のアフィンMVP候補が導き出された場合、デコード装置は、従来のHEVC標準でのMVP候補を導き出すことができる。
【0309】
デコード装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、いずれか一つのアフィンMVP候補に基づいて前記現在ブロックのCP(Control Point)に対するCPMVP(Control Point Motion Vector Predictors)を導き出す(S1820)。
【0310】
デコード装置は、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、特定アフィンMVP候補を選択でき、前記選択されたアフィンMVP候補を前記現在ブロックの前記CPに対するCPMVPとして導き出すことができる。例えば、デコード装置は、ビットストリームから前記現在ブロックに対する前記アフィンMVP候補インデックスを獲得でき、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補のうち、前記アフィンMVP候補インデックスが指すアフィンMVP候補を前記現在ブロックの前記CPに対するCPMVPとして導き出すことができる。
【0311】
デコード装置は、前記動き予測情報に基づいて前記現在ブロックの前記CPに対するCPMVD(Control Point Motion Vector Differences)を導き出す(S1830)。前記動き予測情報は、前記CPの各々に対するCPMVDに対した情報を含むことができ、デコード装置は、前記CPの各々に対する前記CPMVDに対した情報に基づいて、前記現在ブロックの前記CPの各々に対する前記CPMVDを導き出すことができる。
【0312】
デコード装置は、前記CPMVP及び前記CPMVDに基づいて前記現在ブロックの前記CPに対するCPMV(Control Point Motion Vectors)を導き出す(S1840)。デコード装置は、前記CPの各々に対するCPMVP及びCPMVDに基づいて、各CPに対したCPMVを導き出すことができる。例えば、デコード装置は、各CPに対したCPMVP及びCPMVDを加算して、前記CPに対したCPMVを導き出すことができる。
【0313】
デコード装置は、前記CPMVに基づいて前記現在ブロックに対する予測サンプルを導き出す(S1850)。デコード装置は、前記CPMVに基づいて前記現在ブロックのサブブロック単位またはサンプル単位の動きベクトルを導き出すことができる。すなわち、デコード装置は、前記CPMVに基づいて前記現在ブロックの各サブブロックまたは各サンプルの動きベクトルを導き出すことができる。前記サブブロック単位または前記サンプル単位の動きベクトルは、上述した式1または式3に基づいて導き出されることができる。前記動きベクトルは、アフィン動きベクトルフィールド(Motion Vector Field、MVF)または動きベクトルアレイと表すことができる。
【0314】
デコード装置は、前記サブブロック単位または前記サンプル単位の動きベクトルに基づいて、前記現在ブロックに対する予測サンプルを導き出すことができる。デコード装置は、前記サブブロック単位または前記サンプル単位の動きベクトルに基づいて参照ピクチャ内の参照領域を導き出すことができ、前記参照領域内の復元されたサンプルに基づいて、前記現在ブロックの予測サンプルを生成できる。
【0315】
デコード装置は、前記導き出された予測サンプルに基づいて前記現在ブロックに対する復元ピクチャを生成する(S1860)。デコード装置は、前記導き出された予測サンプルに基づいて、前記現在ブロックに対する復元ピクチャを生成できる。デコード装置は、予測モードに応じて予測サンプルをまさに復元サンプルとして利用することもでき、または前記予測サンプルにレジデュアルサンプルを加えて復元サンプルを生成することもできる。デコード装置は、前記現在ブロックに対するレジデュアルサンプルが存在する場合、前記ビットストリームから前記現在ブロックに対するレジデュアルに関する情報を獲得できる。前記レジデュアルに関する情報は、前記レジデュアルサンプルに関する変換係数を含むことができる。デコード装置は、前記レジデュアル情報に基づいて前記現在ブロックに対する前記レジデュアルサンプル(またはレジデュアルサンプルアレイ)を導き出すことができる。デコード装置は、前記予測サンプルと前記レジデュアルサンプルに基づいて復元サンプルを生成でき、前記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導き出すことができる。以後、デコード装置は、必要に応じて主観的/客観的画質を向上させるために、デブロッキングフィルタリング及び/またはSAO手順のようなインループフィルタリング手順を前記復元ピクチャに適用できることは、上述したとおりである。
【0316】
図19は、本文書による映像デコード方法を行うデコード装置を概略的に示す。図18において開示された方法は、図19において開示されたデコード装置によって行われることができる。具体的に、例えば、図19の前記デコード装置のエントロピーデコード部は、図18のS1800を行うことができ、図19の前記デコード装置の予測部は、図18のS1810ないしS1850を行うことができ、図19の前記デコード装置の加算部は、図18のS1860を行うことができる。また、たとえ図示していないが、ビットストリームを介して現在ブロックのレジデュアルに関する情報を含む映像情報を獲得する過程は、図19の前記デコード装置のエントロピーデコード部によって行われることができ、前記レジデュアル情報に基づいて前記現在ブロックに対する前記レジデュアルサンプルを導き出す過程は、図19の前記デコード装置の逆変換部によって行われることができる。
【0317】
上述した本文書によれば、アフィン動き予測に基づいた映像コーディングの効率を上げることができる。
【0318】
また、本文書によれば、アフィンMVP候補リストを導き出すにおいて、周辺ブロックを左側ブロックグループ及び上側ブロックグループに分け、各ブロックグループからMVP候補を導き出して、アフィンMVP候補リストを構成でき、これによりアフィンMVP候補リストを構成する過程の複雑度を減らし、コーディング効率を向上させることができる。
【0319】
上述した実施形態において、方法は、一連のステップまたはブロックでフローチャートに基づいて説明されているが、本文書は、ステップの順序に限定されるものではなく、あるステップは、上述したことと異なるステップと異なる順序でまたは同時に発生できる。また、当業者であれば、フローチャートに示されたステップが排他的でなく、他のステップが含まれたりフローチャートの一つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除されうることを理解できるはずである。
【0320】
本ドキュメントにおいて説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上において具現化されて行われることができる。例えば、各図面において示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたは、チップ上において具現されて行われることができる。この場合、具現のための情報(ex.informationon in structions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0321】
また、本文書が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、ビデオカメラ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(ex.車両端末、飛行機端末、船舶端末等)及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置では、ゲームコンソール、ブルーレイプレーヤー、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを含むことができる。
【0322】
また、本文書が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本文書によるデータ構造を有するマルチメディアデータもまたコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納されるすべての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した転送)の形態により具現化されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納されるか、または有無線通信ネットワークを介して転送されることができる。
【0323】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品により具現化されることができ、前記プログラムコードは、本文書の実施形態によりコンピュータにおいて行われることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリアに格納されることができる。
【0324】
図20は、本文書が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
【0325】
本文書が適用されるコンテンツストリーミングシステムは、大きくエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置及びマルチメディア入力装置を含むことができる。
【0326】
前記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを前記ストリーミングサーバに転送する役割をする。他の例として、スマートフォン、カメラ、ビデオカメラなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0327】
前記ビットストリームは、本文書が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを転送または受信する過程において一時的に前記ビットストリームを格納することができる。
【0328】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいて、マルチメディアデータをユーザ装置に転送し、前記ウェブサーバは、ユーザにいかなるサービスがあるかどうかを知らせる媒介体として機能する。ユーザが前記ウェブサーバに望みのサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを転送する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間命令/応答を制御する役割をする。
【0329】
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間に格納することができる。
【0330】
前記ユーザ装置の例には、携帯電話、スマートフォン(smart phone)、ノート型パソコン(laptop)、デジタル放送用端末機、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末機(smart watch)、グラス型端末機(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ 、デジタルサイニジなどがありうる。前記コンテンツストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバから受信するデータは、分散処理されることができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
【手続補正書】
【提出日】2024-03-01
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デコード装置によって行われる映像デコード方法であって、
ビットストリームから現在ブロックに対する動き予測情報を獲得するステップと、
前記ビットストリームから前記現在ブロックに対するレジデュアル情報を獲得するステップと、
前記現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを構成するステップであって、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含む、ステップと、
前記アフィンMVP候補リストに含まれた前記アフィンMVP候補の一つのコントロールポイント動きベクトル予測子(CPMVP)候補に基づいて、前記現在ブロックのコントロールポイント(CP)に対するCPMVPを導出するステップと、
前記動き予測情報に基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル差分(CPMVD)を導出するステップと、
前記CPMVP及び前記CPMVDに基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル(CPMV)を導出するステップと、
前記CPMVに基づいて、前記現在ブロックに対する予測サンプルを導出するステップと、
前記レジデュアル情報に基づいて、前記現在ブロックのレジデュアルサンプルを導出するステップと、
前記導出された予測サンプル及び前記導出されたレジデュアルサンプルに基づいて、前記現在ブロックに対する復元ピクチャを生成するステップと、
前記復元ピクチャにデブロッキングフィルタリングを適用するステップと、を含み、
前記第1アフィンMVP候補は、左下側コーナー周辺ブロック及び左側周辺ブロックを含む左側ブロックグループ内の第1ブロックに基づいて導出され
前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であり、
前記第2アフィンMVP候補は、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループ内の第2ブロックに基づいて導出され
前記第2ブロックは、前記アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一である、映像デコード方法。
【請求項2】
エンコード装置によって行われる映像エンコード方法であって、
現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを構成するステップであって、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含む、ステップと、
前記アフィンMVP候補リストに含まれた前記アフィンMVP候補の一つのコントロールポイント動きベクトル予測子(CPMVP)候補に基づいて、前記現在ブロックのコントロールポイント(CP)に対するCPMVPを導出するステップと、
前記現在ブロックの前記CPに対するコントロールポイント動きベクトル(CPMV)を導出するステップと、
前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル差分(CPMVD)を導出するステップと、
前記CPMVDに関する情報を含む動き予測情報を生成するステップと、
前記現在ブロックに対する前記動き予測情報及びレジデュアル情報をエンコードするステップと、を含み、
前記第1アフィンMVP候補は、左下側コーナー周辺ブロック及び左側周辺ブロックを含む左側ブロックグループ内の第1ブロックに基づいて導出され
前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であり、
前記第2アフィンMVP候補は、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループ内の第2ブロックに基づいて導出され
前記第2ブロックは、前記アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一である、映像エンコード方法。
【請求項3】
映像に対するデータの送信方法であって、
前記映像に対するビットストリームを獲得するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記ビットストリームは、現在ブロックに対するアフィン動きベクトル予測子(MVP)候補を含むアフィンMVP候補リストを構成し、前記アフィンMVP候補は、第1アフィンMVP候補及び第2アフィンMVP候補を含み、前記アフィンMVP候補リストに含まれた前記アフィンMVP候補の一つのコントロールポイント動きベクトル予測子(CPMVP)候補に基づいて、前記現在ブロックのコントロールポイント(CP)に対するCPMVPを導出し、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル(CPMV)を導出し、前記CPMVP及び前記CPMVに基づいて、前記現在ブロックの前記CPに対するコントロールポイント動きベクトル差分(CPMVD)を導出し、前記CPMVDに関する情報を含む動き予測情報を生成し、前記現在ブロックに対する前記動き予測情報及びレジデュアル情報をエンコードすることに基づいて生成され、
前記第1アフィンMVP候補は、左下側コーナー周辺ブロック及び左側周辺ブロックを含む左側ブロックグループ内の第1ブロックに基づいて導出され
前記第1ブロックは、アフィン動きモデルでコーディングされ、前記第1ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一であり、
前記第2アフィンMVP候補は、右上側コーナー周辺ブロック、上側周辺ブロック及び左上側コーナー周辺ブロックを含む上側ブロックグループ内の第2ブロックに基づいて導出され
前記第2ブロックは、前記アフィン動きモデルでコーディングされ、前記第2ブロックの参照ピクチャは、前記現在ブロックの参照ピクチャと同一である、データ送信方法。