JP2019535192A - ビデオコーディングにおけるアフィン動きモデルのための動きベクトル予測 - Google Patents

ビデオコーディングにおけるアフィン動きモデルのための動きベクトル予測 Download PDF

Info

Publication number
JP2019535192A
JP2019535192A JP2019517341A JP2019517341A JP2019535192A JP 2019535192 A JP2019535192 A JP 2019535192A JP 2019517341 A JP2019517341 A JP 2019517341A JP 2019517341 A JP2019517341 A JP 2019517341A JP 2019535192 A JP2019535192 A JP 2019535192A
Authority
JP
Japan
Prior art keywords
block
affine
motion vector
control point
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019517341A
Other languages
English (en)
Other versions
JP6817425B2 (ja
JP2019535192A5 (ja
Inventor
イ−ウェン・チェン
ウェイ−ジュン・チエン
リ・ジャン
ユ−チェン・スン
ジエンレ・チェン
マルタ・カルチェヴィッチ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2019535192A publication Critical patent/JP2019535192A/ja
Publication of JP2019535192A5 publication Critical patent/JP2019535192A5/ja
Application granted granted Critical
Publication of JP6817425B2 publication Critical patent/JP6817425B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ビデオデコーダはソースアフィンブロックを選択する。ソースアフィンブロックは、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである。加えて、ビデオデコーダは、ソースアフィンブロックの制御点の動きベクトルを外挿して、現在のブロックの制御点の動きベクトル予測子を決定する。ビデオデコーダは、現在のブロックの制御点の動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストに挿入する。ビデオデコーダはまた、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定する。ビデオデコーダは、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)を取得する。

Description

本出願は、その内容全体が参考として本明細書に組み込まれる、2016年10月5日に出願された米国仮特許出願第62/404,719号の利益を主張する。
本開示は、ビデオコーディングのためのデバイス、システム、および方法に関する。
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、Advanced Video Coding (AVC)、ITU-T H.265、High Efficiency Video Coding (HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実施する。ビデオデバイスは、そのようなビデオ圧縮技法を実施することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶し得る。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)がビデオブロックに区分されることがあり、ビデオブロックは、ツリーブロック、コーディング単位(CU)、および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた(I)スライスの中のビデオブロックは、同じピクチャの中の隣接ブロックの中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライスの中のビデオブロックは、同じピクチャの中の隣接ブロックの中の参照サンプルに対する空間的予測または他の参照ピクチャの中の参照サンプルに対する時間的予測を使用し得る。空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことがあり、残差変換係数は次いで、量子化されることがある。
全般に、本開示は、アフィン動き予測モードのための動きベクトル予測および動きベクトル再構築に関する技法を説明する。本技法は、HEVC(High Efficiency Video Coding)などの既存のビデオコーデックのいずれにも適用されることが可能であり、またはあらゆる未来のビデオコーディング規格における効率的なコーディングツールになり得る。
一例では、本開示は、ビデオデータを復号する方法を説明し、この方法は、ソースアフィンブロックを選択するステップであって、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、ステップと、ソースアフィンブロックの制御点の動きベクトルを外挿して現在のブロックの制御点の動きベクトル予測子を決定するステップと、アフィン動きベクトル予測子(MVP)セット候補リストに、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入するステップと、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定するステップと、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)を取得するステップと、選択されたアフィンMVPセットに含まれる動きベクトル予測子およびMVDに基づいて、現在のブロックの制御点の動きベクトルを決定するステップと、現在のブロックの制御点の動きベクトルに基づいて、予測ブロックを生成するステップと、残差データおよび予測ブロックに基づいて現在のブロックを再構築するステップとを備える。
別の例では、本開示は、ビデオデータを符号化する方法を説明し、この方法は、ソースアフィンブロックを選択するステップであって、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、ステップと、ソースアフィンブロックの制御点の動きベクトルを外挿して現在のブロックの制御点の動きベクトル予測子を決定するステップと、アフィン動きベクトル予測子(MVP)セット候補リストに、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入するステップと、アフィンMVPセット候補リストの中のアフィンMVPセットを選択するステップと、ビットストリームにおいて、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)をシグナリングするステップと、ビットストリームにおいて、選択されたアフィンMVPセットのアフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングするステップとを備える。
別の例では、本開示は、ビデオデータを復号するためのデバイスを説明し、このデバイスは、ビデオデータを記憶するように構成されるメモリと、1つまたは複数の処理回路とを備え、1つまたは複数の処理回路は、ソースアフィンブロックを選択し、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、ソースアフィンブロックの制御点の動きベクトルを外挿して現在のブロックの制御点の動きベクトル予測子を決定し、アフィン動きベクトル予測子(MVP)セット候補リストに、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入し、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定し、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)を取得し、選択されたアフィンMVPセットに含まれる動きベクトル予測子およびMVDに基づいて、現在のブロックの制御点の動きベクトルを決定し、現在のブロックの制御点の動きベクトルに基づいて、予測ブロックを生成し、残差データおよび予測ブロックに基づいて現在のブロックを再構築するように構成される。
別の例では、本開示は、ビデオデータを符号化するためのデバイスを説明し、このデバイスは、ビデオデータを記憶するように構成されるメモリと、1つまたは複数の処理回路とを備え、1つまたは複数の処理回路は、ソースアフィンブロックを選択し、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、ソースアフィンブロックの制御点の動きベクトルを外挿して現在のブロックの制御点の動きベクトル予測子を決定し、アフィン動きベクトル予測子(MVP)セット候補リストに、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入し、アフィンMVPセット候補リストの中のアフィンMVPセットを選択し、ビットストリームにおいて、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)をシグナリングし、ビットストリームにおいて、選択されたアフィンMVPセットのアフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングするように構成される。
別の例では、本開示は、ビデオデータを復号するためのデバイスを説明し、このデバイスは、ソースアフィンブロックを選択するための手段であって、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、手段と、ソースアフィンブロックの制御点の動きベクトルを外挿して現在のブロックの制御点の動きベクトル予測子を決定するための手段と、アフィン動きベクトル予測子(MVP)セット候補リストに、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入するための手段と、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定するための手段と、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)を取得するための手段と、選択されたアフィンMVPセットに含まれる動きベクトル予測子およびMVDに基づいて、現在のブロックの制御点の動きベクトルを決定するための手段と、現在のブロックの制御点の動きベクトルに基づいて、予測ブロックを生成するための手段と、残差データおよび予測ブロックに基づいて現在のブロックを再構築するための手段とを備える。
別の例では、本開示は、ビデオデータを符号化するためのデバイスを説明し、このデバイスは、ソースアフィンブロックを選択するための手段であって、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、手段と、ソースアフィンブロックの制御点の動きベクトルを外挿して現在のブロックの制御点の動きベクトル予測子を決定するための手段と、アフィン動きベクトル予測子(MVP)セット候補リストに、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入するための手段と、アフィンMVPセット候補リストの中のアフィンMVPセットを選択するための手段と、ビットストリームにおいて、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)をシグナリングするための手段と、ビットストリームにおいて、選択されたアフィンMVPセットのアフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングするための手段とを備える。
別の例では、本開示は、命令を記憶したコンピュータ可読記憶媒体を説明し、この命令は、実行されると、ビデオ復号のためのデバイスの1つまたは複数の処理回路に、ソースアフィンブロックを選択させ、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、ソースアフィンブロックの制御点の動きベクトルを外挿させて現在のブロックの制御点の動きベクトル予測子を決定させ、アフィン動きベクトル予測子(MVP)セット候補リストへ、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入させ、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定させ、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)を取得させ、選択されたアフィンMVPセットに含まれる動きベクトル予測子およびMVDに基づいて、現在のブロックの制御点の動きベクトルを決定させ、現在のブロックの制御点の動きベクトルに基づいて、予測ブロックを生成させ、残差データおよび予測ブロックに基づいて現在のブロックを再構築させる。
別の例では、本開示は、命令を記憶したコンピュータ可読記憶媒体を説明し、この命令は、実行されると、ビデオデータを符号化するためのデバイスの1つまたは複数の処理回路に、ソースアフィンブロックを選択させ、ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、ソースアフィンブロックの制御点の動きベクトルを外挿させて現在のブロックの制御点の動きベクトル予測子を決定させ、アフィン動きベクトル予測子(MVP)セット候補リストへ、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを挿入させ、アフィンMVPセット候補リストの中のアフィンMVPセットを選択させ、ビットストリームにおいて、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との差分を示す動きベクトル差分(MVD)をシグナリングさせ、ビットストリームにおいて、選択されたアフィンMVPセットのアフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングさせる。
本開示の1つまたは複数の態様の詳細が、添付の図面および下記の説明に記載される。本開示において説明される技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示において説明される1つまたは複数の技法を利用することができる例示的なビデオ符号化および復号システムを示すブロック図である。 マージモードのための空間隣接動きベクトル(MV)候補を示す図である。 高度動きベクトル予測(AMVP)モードのための空間隣接MV候補を示す図である。 時間動きベクトル予測子(TMVP)候補を導出するための例示的な技法を示す概念図である。 動きベクトルのスケーリングを示す図である。 現在のブロックのための簡略化されたアフィン動きモデルを示す図である。 サブブロックごとのアフィン動きベクトルフィールド(MVF)を示す図である。 AF_INTERモードにおいて使用されるような現在のブロックおよび隣接ブロックを示すブロック図である。 4パラメータのアフィン動きモデルにおいて使用される例示的なアフィンMVPセット候補リストを示す図である。 AF_MERGEモードで現在のブロックをコーディングするときに使用される隣接ブロックを示す図である。 AF_MERGEのための候補を示す図である。 6パラメータのアフィン動きモデルにおいて使用される例示的なブロックを示す図である。 6パラメータのアフィン動きモデルにおいて使用される例示的なアフィンMVPセット候補リストを示す図である。 本開示の技法に従って、外挿されたMVPセットを含む例示的なアフィンMVPセット候補リストを示す図である。 現在のブロックの各サブブロックのアフィン動きがそれ自体の隣接ブロックの外挿された動きから予測され、または直接継承され得る、本開示の技法に従ったサブブロック動き予測またはパラメータ予測を示す図である。 本開示の技法に従って、4パラメータのアフィン動きモデルのための例示的なアフィンMVPセット候補リストを示す図である。 本開示の技法に従って、6パラメータのアフィン動きモデルのための例示的なアフィンMVPセット候補リストを示す図である。 本開示において説明される1つまたは複数の技法を実施することができる例示的なビデオエンコーダを示すブロック図である。 本開示において説明される1つまたは複数の技法を実施することができる例示的なビデオデコーダを示すブロック図である。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。 本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。
ビデオデータのさらなる圧縮を実現するために、アフィン動きモデルの使用が提案されている。ブロックのためのアフィン動きモデルは、一連のピクチャの中のブロックの回転を表す。ブロックのアフィン動きモデルは、ブロックの制御点の動きベクトルに基づいて決定され得る。いくつかの実装形態では、ブロックの制御点はブロックの左上および右上の角である。いくつかの実装形態では、ブロックの制御点はさらにブロックの左下の角を含む。ビデオコーダ(すなわち、ビデオエンコーダまたはビデオデコーダ)は、ブロックの制御点の動きベクトルに基づいて、ブロックのサブブロックの動きベクトルを計算し得る。
ブロックの制御点の動きベクトルをシグナリングするために、2つの主要な技法が提案されている。第1の技法はアフィンインターモードである。第2の技法はアフィンマージモードである。アフィンインターモードでは、ビデオエンコーダは、現在のブロックのためのアフィン動きベクトル予測子(MVP)セット候補リストを生成する。アフィンMVPセット候補リストはアフィンMVPセットのリストである。各アフィンMVPセットは、現在のブロックの異なる制御点に対応するMVPのセットである。ビデオエンコーダは、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットをビデオデコーダに対して特定するインデックスをシグナリングする。加えて、ビデオエンコーダは、現在のブロックの制御点の各々の動きベクトル差分(MVD)をシグナリングする。制御点の動きベクトルは、制御点のMVDと選択されたアフィンMVPセットの中の制御点の動きベクトル予測子とを足したものに等しいことがある。ビデオエンコーダはまた、ビデオデコーダが現在のブロックとともに使用する参照ピクチャを特定する参照インデックスをシグナリングする。ビデオデコーダは、同じアフィンMVPセット候補リストを生成し、シグナリングされたインデックスを使用して選択されるアフィンMVPセットを決定する。ビデオデコーダは、MVDを選択されたアフィンMVPセットの動きベクトルに加算して、現在のブロックの制御点の動きベクトルを決定し得る。
アフィンマージモードでは、ビデオエンコーダおよびビデオデコーダは、現在のブロックのための同じアフィンソースブロックを特定する。アフィンソースブロックは、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり得る。ビデオエンコーダおよびビデオデコーダは、アフィンソースブロックの制御点の動きベクトルから、現在のブロックの制御点の動きベクトルを外挿する。たとえば、ビデオエンコーダおよびビデオデコーダは、現在のブロック内の位置の動きベクトルを記述するアフィン動きモデルを構築し得る。アフィン動きモデルは、アフィンパラメータのセットによって定義される。ビデオエンコーダおよびビデオデコーダは、現在のブロックの制御点の動きベクトルに基づいてアフィンパラメータを決定し得る。ビデオエンコーダおよびビデオデコーダは、アフィンソースブロックの制御点の動きベクトルに基づいて、現在のブロックの制御点の動きベクトルを決定し得る。
本開示の1つの例示的な技法によれば、アフィンインターモードでアフィンMVPセット候補リストを生成するとき、ビデオエンコーダは、現在のブロックのためのアフィンMVPセット候補リストに、アフィンソースブロックの制御点の外挿された動きベクトルを指定するアフィンMVPセットを含め得る。この例では、ビデオエンコーダは、アフィンMVPセット候補リストへのインデックス、現在のブロックの各制御点のMVD、および参照インデックスをシグナリングし得る。ビデオデコーダは、現在のブロックのために同じアフィンMVPセット候補リストを生成し得る。加えて、ビデオデコーダは、アフィンMVPセット候補リストへのインデックスを使用して、選択されるアフィンMVP候補セットを特定する。ビデオデコーダは次いで、MVDおよび選択されたアフィンMVP候補セットの動きベクトル予測子を使用して、現在のブロックの制御点の動きベクトルを決定し得る。さらに、ビデオデコーダは、その動きベクトルと参照インデックスにより示される参照ピクチャとを使用して、現在のブロックのための予測ブロックを生成し得る。ビデオデコーダは、現在のブロックの予測ブロックを使用して現在のブロックを再構築し得る。アフィンソースブロックの制御点の外挿された動きベクトルを指定するアフィンMVPセットを、現在のブロックのアフィンMVPセット候補リストに含めることで、コーディング効率を上げることができる。
図1は、本開示の技法を使用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレットコンピュータ、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備え得る。いくつかの場合、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイスであり得る。ソースデバイス12は、例示的なビデオ符号化デバイス(すなわち、ビデオデータを符号化するためのデバイス)である。宛先デバイス14は例示的なビデオ復号デバイス(すなわち、ビデオデータを復号するためのデバイス)である。
図1の例では、ソースデバイス12は、ビデオソース18、ビデオデータを記憶するように構成された記憶媒体19、ビデオエンコーダ20、および出力インターフェース22を含む。宛先デバイス14は、入力インターフェース26、符号化されたビデオデータを記憶するように構成された記憶媒体28、ビデオデコーダ30、およびディスプレイデバイス32を含む。他の例では、ソースデバイス12および宛先デバイス14は、他の構成要素または構成を含む。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースしてもよい。
図1の図示されるシステム10は一例にすぎない。ビデオデータを処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。ソースデバイス12および宛先デバイス14は、単に、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成するようなコーディングデバイスの例である。いくつかの例では、ソースデバイス12および宛先デバイス14は、ソースデバイス12および宛先デバイス14の各々がビデオ符号化構成要素および復号構成要素を含むように実質的に対称的な方式で動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ソースデバイス12と宛先デバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータで生成されたビデオとの組合せを生成し得る。ソースデバイス12は、ビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体(たとえば、記憶媒体19)を備え得る。本開示において説明される技法は、ビデオコーディング全般に適用可能であることがあり、ワイヤレスおよび/または有線の適用例において適用されることがある。各々の場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。出力インターフェース22は、符号化されたビデオ情報をコンピュータ可読媒体16に出力し得る。
出力インターフェース22は、様々なタイプの構成要素またはデバイスを備え得る。たとえば、出力インターフェース22は、ワイヤレス送信機、モデム、有線ネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、または別の物理的な構成要素を備え得る。出力インターフェース22がワイヤレス受信機を備える例では、出力インターフェース22は、4G、4G-LTE、LTE Advanced、5Gなどのセルラー通信規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。出力インターフェース22がワイヤレス受信機を備えるいくつかの例では、出力インターフェース22は、IEEE 802.11仕様、IEEE 802.15仕様(たとえば、ZigBee(商標))、Bluetooth(登録商標)規格などの他のワイヤレス規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。いくつかの例では、出力インターフェース22の回路は、ビデオエンコーダ20の回路および/またはソースデバイス12の他の構成要素に組み込まれ得る。たとえば、ビデオエンコーダ20および出力インターフェース22は、システムオンチップ(SoC)の一部であり得る。SoCは、汎用マイクロプロセッサ、グラフィックス処理装置などの、他の構成要素も含み得る。
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。いくつかの例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムで宛先デバイス14に符号化されたビデオデータを直接送信することを可能にする通信媒体を含む。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つまたは複数の物理伝送線路などの、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含み得る。宛先デバイス14は、符号化されたビデオデータおよび復号されたビデオデータを記憶するように構成された1つまたは複数のデータ記憶媒体を備え得る。
いくつかの例では、符号化されたデータは、出力インターフェース22から記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、分散されるかまたはローカルにアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに相当し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶するとともにその符号化されたビデオデータを宛先デバイス14へ送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワークアタッチストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適した両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、有線送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されているデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例もしくは上の例の組合せなどの、様々なマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
コンピュータ可読媒体16は、ワイヤレス放送もしくは有線ネットワーク送信などの一時的媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを宛先デバイス14に提供し得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスが、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを製造し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
宛先デバイス14の入力インターフェース26は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用される、シンタックス情報を含むことがあり、シンタックス情報は、ブロックおよび他のコーディングされたユニット、たとえばピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む。入力インターフェース26は、様々なタイプの構成要素またはデバイスを備え得る。たとえば、入力インターフェース26は、ワイヤレス受信機、モデム、有線ネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、または別の物理的な構成要素を備え得る。入力インターフェース26がワイヤレス受信機を備える例では、入力インターフェース26は、4G、4G-LTE、LTE Advanced、5Gなどのセルラー通信規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。入力インターフェース26がワイヤレス受信機を備えるいくつかの例では、入力インターフェース26は、IEEE 802.11仕様、IEEE 802.15仕様(たとえば、ZigBee(商標))、Bluetooth(登録商標)規格などの他のワイヤレス規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。いくつかの例では、入力インターフェース26の回路は、ビデオデコーダ30の回路および/または宛先デバイス14の他の構成要素に組み込まれ得る。たとえば、ビデオデコーダ30および入力インターフェース26は、SoCの一部であり得る。SoCは、汎用マイクロプロセッサ、グラフィックス処理装置などの、他の構成要素も含み得る。
記憶媒体28は、入力インターフェース26によって受け取られた符号化されたビデオデータ(たとえば、ビットストリーム)などの、符号化されたビデオデータを記憶するように構成され得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体の中にソフトウェア用の命令を記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれることがあり、それらのいずれもが、それぞれのデバイスの中で複合エンコーダ/デコーダ(コーデック)の一部として統合されることがある。
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、現行はたは将来の規格などのビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、限定はされないが、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 VisualおよびITU-T H.264(ISO/IEC MPEG-4 AVCとしても知られる)(そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む)を含む。加えて、新しいビデオコーディング規格、すなわちHigh Efficiency Video Coding(HEVC)またはITU-T H.265が、その範囲拡張、スクリーンコンテンツコーディング拡張、3Dビデオコーディング拡張(3D-HEVC)、マルチビュー拡張(MV-HEVC)およびスケーラブル拡張(SHVC)を含めて、Joint Collaboration Team on Video Coding(JCT-VC)、ならびに、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on 3D Video Coding Extension Development(JCT-3V)によって最近開発された。以後HEVC WDと呼ばれる、HEVC暫定仕様書は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能な、Wang他、「High Efficiency Video Coding (HEVC) Defect Report」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第14回会合、ウィーン、オーストリア、2013年7月25日〜8月2日、文書JCTVC-N1003_v1から入手可能である。HEVCはまた、Recommendation ITU-T H.265, Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services - Coding of moving video、High efficiency video coding、2016年12月として公開されている。
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、現在のHEVC規格(その現在の拡張ならびにスクリーンコンテンツコーディングおよびハイダイナミックレンジコーディングのための目先の拡張を含む)の圧縮能力を大きく超える圧縮能力を有する、将来のビデオコーディング技術の標準化の潜在的な必要性について現在研究している。このグループは、この分野の専門家により提案されている圧縮技術の設計を評価するために、Joint Video Exploration Team(JVET)として知られている共同研究においてこの調査活動に一緒に取り組んでいる。JVETは、2015年10月19〜21日に最初の会合を開いた。参照ソフトウェアの最新バージョン、すなわちJoint Exploration Model 3 (JEM 3)は、https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-3.0/からダウンロードすることができる。J. Chen、E. Alshina、G. J. Sullivan、J.-R. Ohm、J. Boyce、「Algorithm Description of Joint Exploration Test Model 3」、JVET-C1001、2016年5月、(以後「JVET-C1001」)は、Joint Exploration Test Model 3 (JEM3.0)のアルゴリズム記述を含む。
HEVCおよび他のビデオコーディング規格では、ビデオデータは一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、1つまたは複数のサンプルアレイを含み得る。ピクチャの各々のそれぞれのサンプルアレイは、それぞれの色成分に対するサンプルのアレイを備え得る。HEVCでは、ピクチャは、SL、SCb、およびSCrと表記される3つのサンプルアレイを含み得る。SLは、輝度サンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cb色差サンプルの2次元アレイである。SCrは、Cr色差サンプルの2次元アレイである。他の事例では、ピクチャはモノクロームであってよく、輝度サンプルのアレイしか含まないことがある。
ビデオデータを符号化することの一部として、ビデオエンコーダ20はビデオデータのピクチャを符号化し得る。言い換えると、ビデオエンコーダ20は、ビデオデータのピクチャの符号化された表現を生成し得る。ピクチャの符号化された表現は、「コーディングされたピクチャ」または「符号化されたピクチャ」と本明細書で呼ばれ得る。
ピクチャの符号化された表現を生成するために、ビデオエンコーダ20は、ピクチャのブロックを符号化し得る。ビデオエンコーダ20は、ビットストリームに、ビデオブロックの符号化された表現を含め得る。たとえば、ピクチャの符号化された表現を生成するために、ビデオエンコーダ20は、ピクチャの各サンプルアレイをコーディングツリーブロック(CTB)へと区分し、CTBを符号化し得る。CTBは、ピクチャのサンプルアレイにおけるサンプルのN×Nブロックであり得る。HEVCメインプロファイルでは、CTBのサイズは16×16から64×64にわたり得るが、技術的には8×8のCTBサイズがサポートされ得る。
ピクチャのコーディングツリー単位(CTU)は、1つまたは複数のCTBを備えることがあり、1つまたは複数のCTBのサンプルを符号化するために使用されるシンタックス構造を備えることがある。たとえば、各CTUは、輝度サンプルのCTBと、色差サンプルの2つの対応するCTBと、CTBのサンプルを符号化するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CTUは、単一のCTBと、そのCTBのサンプルを符号化するために使用されるシンタックス構造とを備え得る。CTUは、「ツリーブロック」または「最大コーディング単位」(LCU)と呼ばれることもある。本開示では、「シンタックス構造」は、指定された順序でビットストリームに一緒に現れる0個以上のシンタックス要素として定義され得る。いくつかのコーデックでは、符号化されたピクチャは、ピクチャのすべてのCTUを含む符号化された表現である。
ピクチャのCTUを符号化するために、ビデオエンコーダ20は、CTUのCTBを1つまたは複数のコーディングブロックへと区分し得る。コーディングブロックは、サンプルのN×Nブロックである。いくつかのコーデックでは、ピクチャのCTUを符号化するために、ビデオエンコーダ20は、CTUのコーディングツリーブロック上で四分木区分を再帰的に実行してCTBをコーディングブロックへと区分することができ、したがって、「コーディングツリー単位」という名前である。コーディング単位(CU)は、1つまたは複数のコーディングブロックと、1つまたは複数のコーディングブロックのサンプルを符号化するために使用されるシンタックス構造とを備え得る。たとえば、CUは、輝度サンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの輝度サンプルのコーディングブロックおよび色差サンプルの2つの対応するコーディングブロックと、コーディングブロックのサンプルを符号化するために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、CUは、単一のコーディングブロック、およびコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を備え得る。
さらに、ビデオエンコーダ20は、ビデオデータのピクチャのCUを符号化し得る。いくつかのコーデックでは、CUを符号化することの一部として、ビデオエンコーダ20が、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの長方形(すなわち、正方形または非正方形)ブロックである。CUの予測単位(PU)は、CUの1つまたは複数の予測ブロックと、1つまたは複数の予測ブロックを予測するために使用されるシンタックス構造とを備え得る。たとえば、PUは、輝度サンプルの予測ブロック、色差サンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。
ビデオエンコーダ20は、CUの予測(prediction)ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)の予測(predictive)ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成し得る。ビデオエンコーダ20は、予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20が予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUを含むピクチャの復号されたサンプルに基づいて、予測ブロックを生成し得る。ビデオエンコーダ20が現在のピクチャのCUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、参照ピクチャ(すなわち、現在のピクチャ以外のピクチャ)の復号されたサンプルに基づいて、CUの予測ブロックを生成し得る。
HEVCおよび特定の他のコーデックでは、ビデオエンコーダ20は、1つの予測モード(すなわち、イントラ予測またはインター予測)のみを使用してCUを符号化する。したがって、HEVCおよび特定の他のコーデックでは、ビデオエンコーダ20は、イントラ予測を使用してCUの予測ブロックを生成することができ、ビデオエンコーダ20は、インター予測を使用してCUの予測ブロックを生成することができる。ビデオエンコーダ20がCUを符号化するためにインター予測を使用するとき、ビデオエンコーダ20は、CUを2つまたは4つのPUへと区分することがあり、または1つのPUがCU全体に相当する。1つのCUの中に2つのPUが存在するとき、2つのPUは、CUの半分のサイズの長方形であることがあり、またはCUの1/4もしくは3/4のサイズを有する2つの長方形であることがある。HEVCでは、インター予測モードでコーディングされるCUに対して8つの予測モード、すなわち、PART_2N×2N、PART_2N×N、PART_N×2N、PART_N×N、PART_2N×nU、PART_2N×nD、PART_nL×2N、およびPART_nR×2Nがある。CUがイントラ予測されるとき、2N×2NおよびN×Nのみが許されるPU形状であり、各PU内で、単一のイントラ予測モードがコーディングされる(一方で色差予測モードはCUレベルでシグナリングされる)。
ビデオエンコーダ20は、CUの1つまたは複数のCr残差ブロックを生成し得る。たとえば、ビデオエンコーダ20は、CUの輝度残差ブロックを生成し得る。CUの輝度残差ブロックの中の各サンプルは、CUの予測輝度ブロックの1つの中の輝度サンプルとCUの元の輝度コーディングブロック中の対応するサンプルとの差分を示す。加えて、ビデオエンコーダ20は、CUのCb残差ブロックを生成し得る。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロックの中の対応するサンプルとの差分を示し得る。ビデオエンコーダ20はまた、CUのCr残差ブロックを生成し得る。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロックの中の対応するサンプルとの差分を示し得る。
さらに、ビデオエンコーダ20は、CUの残差ブロックを1つまたは複数の変換ブロックに分解し得る。たとえば、ビデオエンコーダ20は、四分木区分を使用してCUの残差ブロックを1つまたは複数の変換ブロックに分解し得る。変換ブロックとは、同じ変換が適用されるサンプルの長方形(たとえば、正方形または非正方形)ブロックである。CUの変換単位(TU)は、1つまたは複数の変換ブロックを備え得る。たとえば、TUは、輝度サンプルの変換ブロック、色差サンプルの2つの対応する変換ブロック、およびそれらの変換ブロックサンプルを変換するために使用されるシンタックス構造を備え得る。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUの輝度変換ブロックは、CUの輝度残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロック、および変換ブロックのサンプルを変換するために使用されるシンタックス構造を含み得る。
ビデオエンコーダ20は、1つまたは複数の変換をTUの変換ブロックに適用して、TUの係数ブロックを生成し得る。係数ブロックは変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。いくつかの例では、1つまたは複数の変換は、画素領域から周波数領域に変換ブロックを変換する。したがって、そのような例では、変換係数は、周波数領域において考慮されるべきスカラー量であり得る。変換係数レベルは、変換係数値の計算のためのスケーリングの前の復号プロセスにおける特定の2次元周波数インデックスと関連付けられる値を表す整数量である。
いくつかの例では、ビデオエンコーダ20は、変換ブロックへの変換の適用をスキップする。そのような例では、ビデオエンコーダ20は、変換係数と同じ方法で残差サンプル値を扱い得る。したがって、ビデオエンコーダ20が変換の適用をスキップする例では、変換係数および係数ブロックの以下の議論は、残差サンプルの変換ブロックに適用可能であり得る。
係数ブロックを生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化は一般に、変換係数を表すために使用されるデータの量をできるだけ減らすために変換係数が量子化され、さらなる圧縮をもたらすプロセスを指す。いくつかの例では、ビデオエンコーダ20は量子化をスキップする。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素を生成し得る。ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素のうちの1つまたは複数をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行することができる。したがって、符号化されたブロック(たとえば、符号化されたCU)は、量子化された変換係数を示すエントロピー符号化されたシンタックス要素を含み得る。
ビデオエンコーダ20は、符号化されたビデオデータを含むビットストリームを出力し得る。言い換えると、ビデオエンコーダ20は、ビデオデータの符号化された表現を含むビットストリームを出力し得る。たとえば、ビットストリームは、ビデオデータの符号化されたピクチャの表現および関連するデータを形成するビットのシーケンスを備え得る。いくつかの例では、コーディングされたピクチャの表現は、ブロックの符号化された表現を含み得る。
ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットは、NALユニットの中のデータのタイプの指示、および必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード(RBSP:raw byte sequence payload)の形態でそのデータを含むバイトを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含むことがあり、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0ビットを含む。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。上で述べられたように、ビットストリームは、ビデオデータの符号化された表現を備え得る。ビデオデコーダ30は、ビットストリームを復号してビデオデータのピクチャを再構築し得る。ビットストリームを復号することの一部として、ビデオデコーダ30は、ビットストリームを構文解析してビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータのピクチャを再構築するためのプロセスは、全般に、ピクチャを符号化するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ30は、インター予測またはイントラ予測を使用して、現在のCUの各PUの1つまたは複数の予測ブロックを生成することができ、PUの動きベクトルを使用して現在のCUのPUの予測ブロックを決定することができる。加えて、ビデオデコーダ30は、現在のCUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在のCUのTUの変換ブロックを再構築し得る。いくつかの例では、ビデオデコーダ30は、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応する復号されたサンプルに加算することによって、現在のCUのコーディングブロックを再構築し得る。ピクチャのCUごとにコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築することができる。
ピクチャのスライスは、ピクチャの整数個のCTUを含み得る。スライスのCTUは、ラスター走査順序などの走査順序で連続的に順序付けられ得る。HEVCでは、スライスは、1つの独立スライスセグメントに含まれ、同じアクセス単位内に次の独立スライスセグメントが(もしあれば)それに先行するすべての後続の従属スライスセグメントが(もしあれば)それらに含まれる、整数個のCTUとして定義される。さらに、HEVCでは、スライスセグメントは、タイル走査において連続的に順序付けられ単一のNALユニットに含まれている、整数個のコーディングツリー単位として定義される。タイル走査は、CTBがタイルにおいてCTBラスター走査で連続的に順序付けられる一方で、ピクチャの中のタイルがピクチャのタイルのラスター走査で連続的に順序付けられるような、ピクチャを区分するCTBの特定の逐次的な順序付けである。タイルは、ピクチャにおける特定のタイル列および特定のタイル行の中のCTUの長方形領域である。スライスセグメントヘッダは、スライスセグメントで表される第1またはすべてのコーディングツリー単位に関係するデータ要素を含むコーディングされたスライスセグメントの一部である。「スライスヘッダ」という用語は、現在のスライスセグメントである独立スライスセグメントの、または復号順序において現在の従属スライスセグメントに先行する直近の独立スライスセグメントの、スライスセグメントヘッダに適用される。
上で簡単に言及されたように、HEVCでは、スライスの中の最大のコーディング単位は、コーディングツリーブロック(CTB)またはコーディングツリー単位(CTU)と呼ばれる。CTBは、そのノードがコーディング単位である四分木を含む。(技術的には8×8のCTBサイズがサポートされ得るが)CTBのサイズは、HEVCメインプロファイルでは16×16から64×64にわたり得る。コーディング単位(CU)は、同じサイズのCTBであり得るが、8×8程度に小さくてもよい。各コーディング単位は、1つのモードを用いてコーディングされる。CUがインターコーディングされるとき、CUは、2つもしくは4つの予測単位(PU)へとさらに区分されることがあり、またはさらなる区分が適用されないときには1つだけのPUになることがある。1つのCUの中に2つのPUが存在するとき、PUは、CUの半分のサイズの長方形であることがあり、またはCUの1/4もしくは3/4のサイズを有する2つの長方形であることがある。CUがインターコーディングされるとき、動き情報の1つのセットが各PUに対して存在する。加えて、各PUは、動き情報のセットを導出するために固有のインター予測モードでコーディングされる。いくつかのビデオコーディング規格では、CUは複数のPUに分割されない。したがって、そのようなビデオコーディング規格では、PUとCUの区別はない。したがって、本開示の技法がそのような規格において適用されるとき、PUの議論はCUに適用可能であり得る。
ビデオコーダは、現在のブロック(たとえば、CUまたはPU)のための単方向インター予測または双方向インター予測を実行し得る。現在のブロックのための単方向インター予測を実行するとき、ビデオコーダは、動きベクトルを使用して参照ピクチャにおける位置を決定する。ビデオコーダは次いで、現在のブロックの予測ブロックを生成し得る。予測ブロックは、動きベクトルによって示される位置における参照ピクチャの中のサンプルのブロック、または参照ピクチャのサンプルから補間されるサンプルのブロックを備え得る。双方向インター予測を実行するとき、ビデオコーダは、第2の参照ピクチャおよび第2の動きベクトルを用いてこのプロセスを実行し、それにより、現在のブロックの第2の予測ブロックを生成し得る。双方向インター予測では、単一の参照ピクチャから生成された予測ブロックは、予備予測ブロックと本明細書で呼ばれることがある。さらに、双方向インター予測では、ビデオコーダは、2つの予備ブロックに基づいて、現在のブロックの最終予測ブロックを生成し得る。いくつかの例では、ビデオコーダは、最終予測ブロックの中の各サンプルが予備予測ブロックの中の対応するサンプルの加重平均となるように、最終予測ブロックを生成し得る。
ピクチャにおけるインター予測をサポートするために、ビデオコーダは、ピクチャのために2つの参照ピクチャリストを生成する。ピクチャの参照ピクチャリストは、そのピクチャの中のブロックのインター予測を実行する際に使用可能な参照ピクチャを含む。2つの参照ピクチャリストは、リスト0およびリスト1と一般に呼ばれる。一例では、ピクチャのリスト0の中の各参照ピクチャは、出力順序においてそのピクチャの前にある。この例では、ピクチャのリスト1の中の各参照ピクチャは、出力順序においてそのピクチャの後にある。したがって、リスト0の中の参照ピクチャの使用は第1のインター予測方向であると見なされることがあり、リスト1の中の参照ピクチャの使用は第2のインター予測方向であると見なされることがある。ビデオエンコーダ20およびビデオデコーダ30は、同じ順序の参照ピクチャを伴うピクチャのリスト0を生成する。同様に、ビデオエンコーダ20およびビデオデコーダ30は、同じ順序の参照ピクチャを伴うピクチャのリスト1を生成する。したがって、ビデオエンコーダ20は、参照ピクチャの参照ピクチャリストにおける位置を示す参照インデックスをシグナリングすることによって、参照ピクチャリストの中のある参照ピクチャをビデオデコーダ30に示し得る。
HEVC規格は、マージモードおよび高度動きベクトル予測(AMVP)モードを含む、複数のインター予測モードを提供する。マージモードでは、ビデオエンコーダ20およびビデオデコーダ30は、PUのための一致するマージ動きベクトル(MV)候補リストを生成する。PUのためのマージMV候補リストは1つまたは複数のマージ候補を含み、これらのマージ候補は動きベクトル予測子(MVP)とも呼ばれることがある。HEVCでは、マージMV候補リストは最大で5つのマージ候補を含む。マージMV候補リストの中の各々のそれぞれのマージ候補は、1つまたは複数の動きベクトルおよび1つまたは複数の参照インデックスを指定する。たとえば、マージ候補はリスト0動きベクトルおよび/またはリスト1動きベクトルを指定することがあり、リスト0参照インデックスおよび/またはリスト1参照インデックスを指定することがある。リスト0動きベクトルは、リスト0の中の参照ピクチャにおける位置を示す動きベクトルである。リスト1動きベクトルは、リスト1の中の参照ピクチャにおける位置を示す動きベクトルである。ビデオエンコーダ20は、PUのための選択されたマージ候補のマージMV候補リストにおける位置を示すマージインデックスをシグナリングし得る。ビデオデコーダ30は、マージインデックスを使用して選択されたマージ候補を特定し得る。ビデオデコーダ30は次いで、選択されたマージ候補の動きベクトルおよび参照インデックスを、PUの動きベクトルおよび参照インデックスとして使用し得る。
AMVPモードでは、ビデオエンコーダ20は、PUのためのリスト0AMVP候補リストおよび/またはリスト1AMVP候補リストを生成し、これらのいずれもがAMVP候補リストと呼ばれ得る。ビデオデコーダ30は、ビデオエンコーダ20によって生成されるAMVP候補リストと一致するAMVP候補リストを生成する。HEVCでは、AMVP候補リストは2つのAMVP候補を含む。リスト0AMVP候補リストの中の各々のそれぞれのAMVP候補が、それぞれのリスト0動きベクトルを指定する。リスト1AMVP候補リストの中の各々のそれぞれのAMVP候補が、それぞれのリスト1動きベクトルを指定する。AMVPモードにおいて、PUがリスト0から単方向インター予測され、または双方向インター予測される場合、ビデオエンコーダ20は、リスト0MVPインデックス、リスト0参照インデックス、およびリスト0動きベクトル差分(MVD)をシグナリングする。リスト0MVPインデックスは、リスト0AMVP候補リストにおける選択されたAMVP候補の位置を指定する。リスト0参照インデックスは、選択されたリスト0参照ピクチャの位置を指定する。リスト0MVDは、PUのリスト0動きベクトルと、リスト0AMVP候補リストの中の選択されたAMVP候補によって指定されるリスト0動きベクトルとの間の差分を指定する。したがって、ビデオデコーダ30は、リスト0MVPインデックスおよびリスト0MVDを使用して、PUのリスト0動きベクトルを決定し得る。ビデオデコーダ30は次いで、PUのリスト0動きベクトルによって特定される選択されたリスト0参照ピクチャにおける位置に対応するサンプルを備える、PUの予備予測ブロックまたは最終予測ブロックを決定し得る。ビデオエンコーダ20はリスト1のための同様のシンタックス要素をシグナリングすることができ、ビデオデコーダ30はリスト1のためのシンタックス要素を同様の方法で使用することができる。
以上のように、マージ候補は、動き情報のフルセットに対応するが、AMVP候補は、特定の予測方向のための1つだけの動きベクトルを含む。マージモードとAMVPモードの両方に対する候補は、同じ空間的隣接ブロックおよび時間的隣接ブロックから同様に導出され得る。
空間的MV候補が、特定のPU(PU0)に対して図2Aおよび図2Bに示される隣接ブロックから導出されるが、ブロックから候補を生成する方法は、マージモードとAMVPモードとで異なる。図2Aは、マージモードのための空間的隣接MV候補を示す。マージモードでは、最高で4つの空間的MV候補を、図2Aにおいて番号で示される順序で導出することができ、その順序は、左(0)、上(1)、右上(2)、左下(3)、および左上(4)である。
図2Bは、AMVPモードのための空間的隣接MV候補を示す。図2Bに示されるように、AMVPモードでは、隣接ブロックは2つのグループ、すなわちブロック0および1からなる左のグループと、ブロック2、3および4からなる上のグループに分割される。各グループに対して、シグナリングされた参照インデックスによって示される参照ピクチャと同じ参照ピクチャを参照する隣接ブロックの中の潜在的な候補は、グループの最終候補を形成するために選択される際の優先順位が最高である。たとえば、リスト0AMVP候補リストを生成することの一部として、ビデオコーダは、ブロック0がリスト0から予測されるかどうかを確認し、そうである場合、ブロック0のリスト0参照ピクチャが現在のPUのリスト0参照ピクチャと同じであるかどうかを確認する。ブロック0がリスト0から予測され、ブロック0のリスト0参照ピクチャが現在のPUのリスト0参照ピクチャと同じである場合、ビデオコーダは、リスト0AMVP候補リストにブロック0のリスト0動きベクトルを含める。そうではない場合、ビデオコーダは、ブロック0がリスト1から予測されるかどうかを確認し、そうである場合、ブロック0のリスト1参照ピクチャが現在のPUのリスト0参照ピクチャと同じであるかどうかを確認する。ブロック0がリスト0から予測され、ブロック0のリスト1参照ピクチャが現在のPUのリスト0参照ピクチャと同じである場合、ビデオコーダは、リスト0AMVP候補リストにブロック0のリスト1動きベクトルを含める。ブロック0のリスト1参照ピクチャが現在のPUのリスト0参照ピクチャと同じではない場合、ビデオコーダはブロック0の代わりにブロック1についてこのプロセスを繰り返す。
しかしながら、ブロック1がリスト1から予測されない場合、またはブロック1のリスト1参照ピクチャが現在のPUのリスト0参照ピクチャと同じではない場合、ビデオコーダは、ブロック0がリスト0から予測されるかどうかを決定し、そうである場合、ブロック0のリスト0参照ピクチャと現在のPUのリスト0参照ピクチャがともに長期参照ピクチャであるか、またはともに短期ピクチャであるかを決定する。ブロック0のリスト0参照ピクチャおよび現在のPUのリスト0参照ピクチャがともに長期参照ピクチャである場合、またはブロック0のリスト0参照ピクチャおよび現在のPUのリスト0参照ピクチャがともに短期参照ピクチャである場合、ビデオコーダは、ブロック0のリスト0参照ピクチャと現在のPUのリスト0参照ピクチャとの間の時間的な差に基づいて、ブロック0のリスト0動きベクトルをスケーリングし得る。ビデオコーダは、スケーリングされたリスト0動きベクトルをリスト0AMVP候補リストへと含める。ブロック0のリスト0参照ピクチャが長期参照ピクチャであり、現在のPUのリスト0参照ピクチャが短期参照ピクチャである場合、またはその逆である場合、ビデオコーダは、ブロック0がリスト1から予測されるかどうかを決定し、そうである場合、ブロック0のリスト1参照ピクチャと現在のPUのリスト0参照ピクチャがともに長期参照ピクチャであるか、またはともに短期ピクチャであるかを決定する。ブロック0のリスト1参照ピクチャおよび現在のPUのリスト0参照ピクチャがともに長期参照ピクチャである場合、またはブロック0のリスト1参照ピクチャおよび現在のPUのリスト0参照ピクチャがともに短期参照ピクチャである場合、ビデオコーダは、ブロック0のリスト1参照ピクチャと現在のPUのリスト0参照ピクチャとの間の時間的な差に基づいて、ブロック0のリスト1動きベクトルをスケーリングし得る。ビデオコーダは、スケーリングされたリスト0動きベクトルをリスト0AMVP候補リストへと含める。ブロック0のリスト1参照ピクチャが長期参照ピクチャであり、現在のPUのリスト0参照ピクチャが短期参照ピクチャである場合、またはその逆である場合、ビデオコーダはブロック0の代わりにブロック1についてこのプロセスを繰り返す。
ビデオコーダは、現在のPUのリスト0AMVP候補リストに第2の候補を含めるように、ブロック2、3、および4について同様のプロセスを実行し得る。加えて、ビデオコーダは、リスト0への言及をリスト1に変え、リスト1への言及をリスト0に変えた上で、このプロセス全体を繰り返して、現在のPUのリスト1AMVP候補リストを生成し得る。
したがって、図2Bに示されるように、AMVPモードでは、隣接ブロックは2つのグループ、すなわちブロック0および1からなる左のグループと、ブロック2、3および4からなる上のグループに分割される。各グループに対して、シグナリングされた参照インデックスによって示される参照ピクチャと同じ参照ピクチャを参照する隣接ブロックの中の潜在的な候補は、グループの最終候補を形成するために選択される際の優先順位が最高である。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含まないことがあり得る。したがって、そのような候補を見出すことができない場合、第1の利用可能な候補が、最終候補を形成するようにスケーリングされ得るので、時間的距離の差が補償され得る。
ビデオコーダは、時間的動きベクトル予測子(TMVP)候補を、有効であり利用可能である場合、空間的動きベクトル候補の後にマージMV候補リストへ含め、またはAMVP候補リストへ含め得る。たとえば、AMVPの場合、ビデオコーダは、空間的隣接ブロックが利用可能ではない(たとえば、空間的隣接ブロックがピクチャ、スライス、またはタイルの境界の外側にあるので、空間的隣接ブロックがイントラ予測されるので、など)場合、AMVP候補リストにTMVP候補を含め得る。マージモードでは、TMVP候補は、時間的隣接ブロックのリスト0および/またはリスト1動きベクトルを指定し得る。マージモードにおけるTMVP候補のための参照インデックスは常に0に設定される。AMVPモードでは、TMVP候補は、時間的隣接ブロックのリスト0動きベクトルまたは時間的隣接ブロックのリスト1動きベクトルのいずれかを指定する。時間的隣接ブロックは参照ピクチャの中のブロックである。TMVP候補のための動きベクトル導出のプロセスは、マージモードとAMVPモードの両方に対して同じであり得る。
図3Aは、TMVP候補を導出するための例示的な技法を示す概念図である。図3Aに示されるように、TMVP候補導出のための主要なブロック位置は、併置された(collocated)PUの外側の右下のブロック300である。ビデオコーダがTMVP候補をそれから導出する時間的隣接ブロックは、右下のブロック300と併置される。図3Aの例では、右下のブロック300は「時間的」であることを示すためにブロック「T」としてマークされる。ビデオコーダは、空間的隣接候補を生成するために使用される上と左のブロックに対する偏りを補償するために、上または左のブロックの代わりに右下のブロック300を使用する。右下のブロック300が現在のCTB行の外側に位置する場合、または動き情報が利用可能ではない場合(たとえば、右下のブロック300と併置された時間的参照ブロックがイントラ予測されるので)、右下のブロック300はPUの中心のブロック302で置き換えられる。
TMVP候補の動きベクトルは、いわゆる「併置されたピクチャ」の併置されたPUから導出される。併置されたピクチャは、スライスレベルで(たとえば、collocated_ref_idxシンタックス要素を使用して)示され得る。併置されたPUの動きベクトルは併置されたMVと呼ばれる。H.264/AVCにおける時間的直接モードと同様に、TMVP候補動きベクトルを導出するために、併置されたMVは、図3Bに示されるように、時間的距離差分を補償するためにスケーリングされ得る。具体的には、図3Bにおいて、現在のピクチャ322の現在のブロック320をコーディングするとき、ビデオコーダは、併置されたピクチャ324の中の併置されたブロック323を決定する。併置されたブロック323の動きベクトル326(すなわち、併置された動きベクトル)は、併置された参照ピクチャ328の中の位置を示す。ビデオコーダは、併置された時間的距離と現在の時間的距離との差分に基づいて動きベクトル326をスケーリングすることによって、TMVP330を生成する。併置された時間的距離は、併置されたピクチャ324と併置された参照ピクチャ328との間の時間的距離である。現在の時間的距離は、現在のピクチャ322と現在の参照ピクチャ332との間の時間的距離である。
上で述べられたように、ビデオコーダは動きベクトルをスケーリングし得る。動きベクトルをスケーリングするとき、動きベクトルの値は提示の時間におけるピクチャの距離に比例すると仮定される。動きベクトルは、2つのピクチャ、すなわち、参照ピクチャと、動きベクトルを含むピクチャ(すなわち、格納ピクチャ)とを関連付ける。他の動きベクトルを予測するためにある動きベクトルが使用されるとき、格納ピクチャと参照ピクチャの距離は、参照ピクチャおよび格納ピクチャのピクチャ順序カウント(POC)値に基づいて計算される。
予測されるべき動きベクトルに対して、その関連する格納ピクチャと参照ピクチャの両方が異なることがある。したがって、新しい距離(POCに基づく)が計算される。動きベクトルは、これらの2つのPOC距離に基づいてスケーリングされる。空間的隣接候補について、2つの動きベクトルの格納ピクチャは同じであるが、参照ピクチャは異なる。HEVCでは、動きベクトルのスケーリングは、空間的隣接候補および時間的隣接候補のためのTMVPとAMVPの両方に適用される。
さらに、いくつかの実装形態では、MV候補リスト(たとえば、マージMV候補リストまたはAMVP候補リスト)が完全ではない場合、ビデオコーダは、MV候補リストが必要とされる数の候補を有するまで、人工的な動きベクトル候補を生成してそれをMV候補リストの終わりに挿入することができる。マージモードでは、Bスライスのためだけに導出された合成候補およびゼロ候補という、2つのタイプの人工的なMV候補がある。合成候補は、1つのマージ候補からのリスト0動きベクトルと、異なるマージ候補のためのリスト1動きベクトルとの合成を指定する。ゼロ候補は、第1のタイプ(すなわち、合成候補)が十分な人工的な候補を提供しない場合にのみ、動きベクトル予測に使用される。ゼロ候補は、その水平成分と垂直成分が各々0に等しいMVを指定する候補である。
候補リストの中にすでにあり、必要な動き情報を有する候補の各ペアに対して、リスト0の中のピクチャを参照する第1の候補の動きベクトルと、リスト1の中のピクチャを参照する第2の候補の動きベクトルの合成によって、双方向合成動きベクトル候補が導出される。
加えて、ビデオコーダは、候補の挿入のために剪定(pruning)プロセスを適用し得る。異なるブロックからの候補が偶然同じであることがあり、これは、マージ/AMVP候補リストの効率を下げることがある。この問題を解決するために剪定プロセスが適用される。剪定プロセスは、同一の候補を挿入するのをある程度避けるために、ある候補を現在の候補リストの中の他の候補と比較する。複雑さを下げるために、各々の可能性のある候補をすべての他の既存の候補と比較する代わりに、限られた数の剪定プロセスのみが適用される。
HEVCでは、変換動きモデルのみが、動き補償予測(MCP)のために適用される。しかしながら、現実の世界では、多くの種類の動き、たとえばズームイン/アウト、回転、遠近法の動き、および他の不規則な動きがある。JEMでは、簡略化されたアフィン変換動き補償予測が、コーディング効率を改善するために適用される。ブロックがアフィン動きモデルに従う場合、ブロックの中の場所(x,y)のMVは、以下のアフィン動きモデルによって決定され得る。
式(1)において、vxはブロック内の場所(x,y)のための動きベクトルの水平成分であり、vyはブロック内の場所(x,y)のための動きベクトルの垂直成分である。式(1)において、a、b、c、d、e、およびfはパラメータである。アフィン動きモデルでは、ブロック内の異なる場所が異なる動きベクトルを有することに留意されたい。
JEM3.0において、アフィン動きモデルは、a=eかつb=-dを仮定することによって、4パラメータのアフィン動きモデルに簡略化される。したがって、式(1)は、以下の式(1')に示されるように簡略化され得る。
4パラメータのアフィン動きモデルは、左上の制御点(V0)の動きベクトルおよび右上の制御点(V1)の動きベクトルによって表され得る。図4は、現在のブロック400のための簡略化されたアフィン動きモデルを示す。図4に示されるように、ブロックのアフィン動きフィールドは、2つの制御点動きベクトル
によって記述される。
は、現在のブロック400の左上の制御点402の制御点動きベクトルである。
は、現在のブロック400の右上の制御点404の制御点動きベクトルである。
ブロックの動きベクトルフィールド(MVF)は、以下の式によって記述される。
式(2)において、vxはブロックの中の場所(x,y)の動きベクトルの水平成分であり、vyはブロックの中の場所(x,y)の動きベクトルの垂直成分であり、(v0x,v0y)は左上の角の制御点(たとえば、左上の制御点402)の動きベクトルであり、(v1x,v1y)は右上の角の制御点(たとえば、右上の制御点404)の動きベクトルであり、wはブロックの幅である。したがって、ビデオコーダは、式(2)を使用して、ブロックの制御点の動きベクトルに基づいて場所(x,y)の動きベクトルを「外挿する」ことができる。
動き補償予測をさらに簡略化するために、ブロックベースのアフィン変換予測が適用される。したがって、ブロックの中の各位置の動きベクトルを導出するのではなく、ビデオコーダは、ブロックのサブブロックの動きベクトルを導出し得る。JEMでは、サブブロックは4×4のブロックである。サブブロックの動きベクトルを導出するために、ビデオコーダは、式(2)に従ってサブブロックの中心サンプルの動きベクトルを計算し得る。ビデオコーダは次いで、計算された動きベクトルを1/16分数精度に丸め得る。丸められた動きベクトルは、高精度動きベクトルと本明細書で呼ばれ得る。次いで、ビデオコーダは、動き補償補間フィルタを適用して、導出された動きベクトルを用いてサブブロックの各々の予測(すなわち、予測ブロック)を生成し得る。
図5は、サブブロックごとの例示的なアフィン動きベクトルフィールド(MVF)を示す。図5の例に示されるように、現在のブロック500は、左上の制御点502および右上の制御点504を有する。ビデオコーダは、左上の制御点502の動きベクトル506および右上の制御点504の動きベクトル508に基づいて、現在のブロック500のサブブロックの動きベクトルを計算し得る。図5は、サブブロックの動きベクトルを小さい矢印として示す。
MCPの後で、各サブブロックの高精度動きベクトルは、通常の動きベクトルと同じ精度に丸められて保存される。いくつかの例では、高精度動きベクトルの丸めは、記憶された動きベクトルの精度が高精度動きベクトル未満であるときだけ実行される。
JEMには、AF_INTERモードおよびAF_MERGEモードという2つのアフィン動きモードがある。JEMでは、AF_INTERモードは、幅と高さの両方が8を超えるCUのために適用され得る。AF_INTERモードが使用されるかどうかを示すために、ビットストリームの中のCUレベルにおいてアフィンフラグがシグナリングされる。AF_INTERモードでは、ビデオエンコーダ20は、リスト0参照ピクチャおよび/またはリスト1参照ピクチャを示すために、現在のブロックのためのリスト0参照インデックスおよび/またはリスト1参照インデックスをシグナリングする。
AF_INTERモードでは、ビデオエンコーダ20およびビデオデコーダ30は各々、現在のブロックのための1つまたは複数の候補リスト(すなわち、アフィンMVPセット候補リスト)を構築する。たとえば、ビデオエンコーダ20およびビデオデコーダ30は各々、リスト0アフィンMVPセット候補リストおよび/またはリスト1アフィンMVPセット候補リストを構築し得る。アフィンMVPセット候補リストの各々は、アフィンMVPセットのそれぞれのセットを含む。4パラメータのアフィン動きモデルでは、リスト0アフィンMVPセット候補リストの中のアフィンMVPセットは、2つのリスト0動きベクトル(すなわち、動きベクトルペア)を指定する。4パラメータのアフィン動きモデルでは、リスト1アフィンMVPセット候補リストの中のアフィンMVPセットは、2つのリスト1動きベクトルを指定する。
最初に、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、隣接ブロックを使用するタイプの動きベクトルペア{(v0,v1 )|v0={vA,vB,vc},v1={vD, vE}}でアフィンMVPセット候補リストを埋めることを試みる。図6Aは、AF_INTERモードにおいて使用されるような現在のブロック600および隣接ブロックを示すブロック図である。図6Aに示されるように、V0は、ブロックA、B、またはCの動きベクトルから選択される。隣接ブロックからの動きベクトルは、参照リストと、隣接ブロックに対する参照のPOC、現在のCUに対する参照のPOC、および現在のCUのPOCの間の関係とに従ってスケーリングされる。たとえば、ビデオコーダが隣接ブロック(たとえば、ブロックA、B、またはC)のリスト0動きベクトルをV0として選択すると仮定する。この例では、隣接ブロックのリスト0動きベクトルは、隣接ブロックの参照ピクチャ(すなわち、隣接ブロックに対する参照)の中の場所を示す。さらに、この例では、ビデオエンコーダ20は、現在のCUに対する参照ピクチャ(すなわち、現在のCUに対する参照)を示すリスト0参照インデックスを選択してシグナリングし得る。隣接ブロックの参照ピクチャが現在のCUに対する参照ピクチャと同じではない場合、ビデオコーダは、参照の時間的距離と現在の時間的距離との間の差分に基づいて、隣接ブロックのリスト0動きベクトルをスケーリングし得る。参照の時間的距離は、隣接ブロックの参照ピクチャのPOCと現在のCUのPOCとの間の時間的距離である。現在の時間的距離は、現在のCUのPOCと現在のCUに対する参照ピクチャのPOCとの間の時間的距離である。ビデオコーダは、リスト1動きベクトルのために同様のプロセスを実行し得る。隣接ブロックDおよびEからv1を選択するための手法は同様である。
候補リストの中の候補の数が2より少ない場合、候補リストは、AMVP候補{AMVP0,AMVP0}および{AMVP1,AMVP1}の各々を複製することによって組み立てられる動きベクトルペアによってパディングされる。言い換えると、ビデオコーダは、上で説明された方式で2つのAMVP候補を生成し得る。2つのAMVP候補はAMVP0およびAMVP1と表記される。ビデオコーダは次いで、図6Bの候補リスト620に、AMVP0を第1の制御点の動きベクトルとして指定しAMVP0を第2の制御点の動きベクトルとして指定する第1のアフィン動きベクトル予測子候補を含める。候補リストの中の候補の数が、候補リスト620に第1のアフィンMVP候補を含めた後でも2より少ない場合、ビデオコーダは候補リスト620に第2のアフィンMVP候補を含め、ここで、第2のアフィンMVP候補は、第1の制御点の動きベクトルとしてAMVP1を指定し、第2の制御点の動きベクトルとしてAMVP1を指定する。
候補リスト620が2より大きいとき、ビデオコーダはまず、隣接動きベクトルの一貫性(候補ペアの中の2つの動きベクトルの類似性)に従って、候補リスト620の中の候補をソートする。ビデオコーダは、図6Bにおいて線の標識「サイズ=2」で示されるように、最初の2つの候補を保つ。ビデオエンコーダ20は、レート-ひずみコストの確認を使用して、どの動きベクトルセット候補が現在のCUの制御点動きベクトル予測(CPMVP)として選択されるかを決定し得る。ビデオエンコーダ20は、候補リスト620におけるCPMVPの場所を示すインデックスをビットストリームにおいてシグナリングし得る。ビデオデコーダ30は、ビットストリームからインデックスを取得し、インデックスを使用して候補リスト620の中の候補のいずれがCPMVPであるかを決定し得る。現在のアフィンCUのCPMVPが決定された後で、アフィン動き推定が適用され、制御点動きベクトル(CPMV)が発見される。ビデオエンコーダ20は、CPMVとCPMVPとの間の差分をビットストリームにおいてシグナリングする。言い換えると、ビデオエンコーダ20は、ビットストリームにおいて動きベクトル差分(MVD)をシグナリングする。
その上、HEVCとJEMの両方において、インターピクチャ予測シンタックス要素inter_pred_idcは、ブロック(たとえば、CUまたはPU)のためにリスト0が使用されるか、リスト1が使用されるか、または両方が使用されるかをシグナリングする。1つの参照ピクチャリストから取得される各MVPに対して、対応する参照ピクチャは参照ピクチャリストに対するインデックスref_idx_l0/1によってシグナリングされ、MV(_x;_y)はMVPに対するインデックスmvp_l0/1_flagおよびそのMV差分(MVD)によって表される。MVDシンタックスはまた、MVがデコーダ側で再構築され得るように、ビットストリームにおいてシグナリングされる。言い換えると、ブロックがリスト0から単方向予測され、または双方向予測される場合、ビデオエンコーダ20は、リスト0の中の参照ピクチャの位置を示すためのref_idx_l0_flagをシグナリングし、選択された動きベクトル予測子のリスト0AMVP候補リストにおける位置を示すためのmvp_l0_flagをシグナリングし、リスト0MVDをシグナリングする。ブロックがリスト1から単方向予測され、または双方向予測される場合、ビデオエンコーダ20は、リスト1の中の参照ピクチャの位置を示すためのref_idx_l1_flagをシグナリングし、選択された動きベクトル予測子のリスト1AMVP候補リストにおける位置を示すためのmvp_l1_flagをシグナリングし、リスト1MVDをシグナリングする。
加えて、ビデオエンコーダ20は、スライスヘッダにおいてフラグ(たとえば、mvd_l1_zero_flag)をシグナリングし得る。このフラグは、第2の参照ピクチャリスト(たとえば、リスト1)に対するMVDが0に等しく、したがってビットストリームにおいてシグナリングされないかどうかを示す。第2の参照ピクチャリストに対するMVDをシグナリングしないことで、いくつかの状況においてコーディング効率をさらに改善することができる。
CUがAF_MERGEモードでコーディングされるとき、ビデオコーダは、訪問順序A→B→C→D→Eにおいて最初に生じる有効な隣接する再構築されたブロックからアフィンモードでコーディングされるブロックのアフィン動きモデルを、CUに割り当てる。図7Aは、AF_MERGEモードで現在のブロック700をコーディングするときに使用される隣接ブロックを示す。隣接ブロックに対する訪問順序(すなわち、選択順序)は、図7Aに示されるように左、上、右上、左下から左上である。たとえば、隣接ブロックBがアフィンモードを使用してコーディングされる順序A→B→C→D→Eにおいて最初の隣接ブロックである場合、ビデオコーダは、隣接ブロックBのアフィン動きモデルを現在のブロックのアフィン動きモデルとして使用し得る。たとえば、この例では、X=0および/またはX=1に対して、ビデオコーダは、隣接ブロックBの左上の制御点のリストX動きベクトルを外挿して現在のブロック700の左上の制御点のリストX動きベクトルを生成し、隣接ブロックBの左上の制御点のリストX参照インデックスを現在のブロック700の左上の制御点のリストX参照インデックスとして使用し、隣接ブロックBの右上の制御点のリストX動きベクトルを外挿して現在のブロック700の右上の制御点のリストX動きベクトルを生成し、隣接ブロックBの右上の制御点のリストX参照インデックスを現在のブロック700の右上の制御点のリストX参照インデックスとして使用し得る。この例では、ビデオコーダは、上の式(2)を使用して隣接ブロックBの制御点の動きベクトルを外挿し、現在のブロック700の制御点の(x,y)の場所を式(2)におけるxおよびyとして使用して、現在のブロック700の制御点の動きベクトルを決定し得る。
隣の左下のブロックAが図7Bにおいて示されるようにアフィンモードでコーディングされる場合、ブロックAを含む現在のブロック720の左上の角、右上の角、および左下の角の動きベクトルv2、v3、およびv4が導出される。現在のブロック720の左上の角の動きベクトルv0は、v2、v3、およびv4に従って計算される。第2に、現在のCUの右上の動きベクトルv1が計算される。具体的には、6パラメータのアフィン動きモデルがまず、以下の式(3)に示されるように動きベクトルv2、v3、およびv4によって構築され、v0およびv1の値は次いで、この6パラメータのアフィン動きモデルによって計算される。すなわち、現在のブロック720(すなわち、
)の左上の制御点の(x,y)の場所とともに使用されるとき、式(3)の中のvxは、
(すなわち、v0x)の動きベクトルのx成分であり、式(3)の中のxyは、
(すなわち、v0y)のy成分である。同様に、現在のブロック720(すなわち、
)の右上の制御点の(x,y)の場所とともに使用されるとき、式(3)の中のvxは、
(すなわち、v1x)の動きベクトルのx成分であり、式(3)の中のxyは、
(すなわち、v1y)のy成分である。
現在のCUのv0およびv1のCPMVが導出された後で、式(1)の簡略化されたアフィン動きモデルに従って、現在のCUの動きベクトルフィールドが生成される。現在のCUがAF_MERGEモードでコーディングされるかどうかを特定するために、アフィンモードでコーディングされる少なくとも1つの隣接ブロックがあるとき、アフィンフラグがビットストリームにおいてシグナリングされる。
JEMにおける4パラメータのアフィン動きモデルに加えて、6パラメータを伴うアフィン動きモデルがJVET-C0062において記述される。6パラメータのアフィンモデルでは、水平方向と垂直方向との間のスケーリング係数に制約はない。6パラメータのモデルを表すために、3つの角の動きベクトルが使用される。
図8Aは、6パラメータのアフィン動きモデルにおいて使用される例示的なブロックを示す。図8Bは、6パラメータのアフィン動きモデルにおいて使用される例示的なアフィンMVPセット候補リスト820を示す。以下の6つの式は、3つの角における動きベクトル(図8Aに示されるようなV0、V1、およびV2)の水平(x)成分および垂直(y)成分を記述する。
式(4)を解くことによって、6パラメータのアフィンモデルは、解を式(1)に代入することにより決定され得る。
4パラメータのAF_INTERモードと同様に、6パラメータのAF_INTERモードに対する動きベクトルセット{(v0,v1,v2 )|v0={vA,vB,vc},v1={vD, vE},v2={vF, vG}}を伴う候補リストが、隣接ブロックを使用して構築される。したがって、図8Bの例では、アフィンMVPセット候補リスト820の中の各アフィンMVPセット(すなわち、各候補)は、3つの動きベクトルを含む。AF_INTERモードでは、ビデオコーダは、図8Bに示されるタイプの2つのアフィンMVPセット候補リストを生成し得る。アフィンMVPセット候補リストのうちの1つが、リスト0動きベクトルを指定するアフィンMVPセットを含む。他のアフィンMVPセット候補リストが、リスト1動きベクトルを指定するアフィンMVPセットを含む。
HEVC/JEMにおけるアフィン動きの設計には以下の問題があり得る。たとえば、リスト0およびリスト1のアフィン動きの相関は、アフィンモードでコーディングされるブロックに対するMV予測のために利用されない。別の例では、現在のブロックおよび隣接ブロックのアフィン動きの相関は、アフィンモードでコーディングされるブロックに対するMV予測のために利用されない。さらに別の例では、リスト1ゼロMVDは、制御点の不正確なMVが原因で、アフィン動きモデルの性能を損なうことがある。本開示は、これらの問題を克服し、場合によってはコーディング効率を改善し得る技法を説明する。
本開示のいくつかの例では、アフィン動きモデルは、式(1)において示されるような6パラメータの動きモデルである。JEM-3.0では、ブロックのためのアフィン動きモデルは、制御点(V0,V1)の動きベクトルによって表される。JVET-C0062では、ブロックのためのアフィン動きモデルは、制御点(V0,V1,V2)の動きベクトルによって表される。しかしながら、式(1)のパラメータa、b、c、d、e、fまたは簡略化された4つのパラメータをシグナリングすることによって、アフィン動きモデルを表すことが望ましいことがある。アフィン動きモデルはまた、式(5)としてさらに解釈されることが可能であり、ここでOxおよびOyは変換オフセットであり、SxおよびSyはx方向とy方向におけるスケーリング比であり、ΘxおよびΘyは回転角である。
本開示は、アフィン動き予測の動きベクトル予測子(MVP)またはパラメータ予測を改善するためのいくつかの方法を提案する。ビデオコーダは、式(1)のa、b、c、d、e、fまたは式(5)のOx、Oy、Sx、Sy、Θx、およびΘyの表現のためのパラメータ予測を実行し得ることに留意されたい。
本開示のいくつかの技法が以下で列挙される。
1)リスト0とリスト1との間のアフィン動きベクトル予測およびアフィンパラメータ予測。
2)制御点間のアフィン動きベクトル予測およびパラメータのセット間のアフィンパラメータ予測。
3)隣接ブロックからのアフィン動きベクトル予測およびアフィンパラメータ予測。隣接ブロックは空間的隣接ブロックに限定されない。むしろ、いくつかの例では、時間的隣接ブロックが使用される。
4)サブブロックアフィン動き予測およびサブブロックアフィンパラメータ予測、各サブブロックは固有の制御点および/またはパラメータを有し得る。
5)追加のMVP候補の生成を精緻化する。
6)GPBスライスにおいてアフィンインターモードに対するゼロL1 MVDを無効にする。
本開示の技法は個別に適用され得る。代わりに、技法の任意の組合せが適用され得る。本開示は、以下の技法の各々のさらなる詳細を詳述する。
上で言及されたように、HEVCおよびJEMにおけるアフィン動きの設計の欠点の1つは、リスト0のアフィン動きとリスト1のアフィン動きとの間の相関が利用されないことである。言い換えると、既存の手法は、リスト0およびリスト1に対して独立にアフィン制御点をシグナリングする。リスト0のアフィン動きとリスト1のアフィン動きとの間の相関を活用することで、コーディング効率を上げる機会が生まれ得る。
したがって、本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、1つのインター予測方向においてアフィン動きモデルを使用して、別のインター予測方向におけるアフィン動きモデルのシグナリングを改善し得る。特定のインター予測方向におけるアフィン動きモデルは、インター予測方向に対応する特定の参照ピクチャリストの中の参照ピクチャにおける位置を指し示す動きベクトルを指定する、アフィン動きモデルである。
たとえば、リスト0のMVとリスト1のMVとの間の相関を利用するために、ビデオエンコーダ20およびビデオデコーダ30は、リスト0のMVをリスト1のMVのためのMV予測子として使用することができ、またはその逆を行うことができる。ビデオデコーダ30は、予測方向の指示に従って、リスト0からリスト1へのMV予測またはリスト1からリスト0へのMV予測を使用することを決め得る。予測方向の指示は、明示的にシグナリングされることがあり、または暗黙的に導出されることがある。
ビデオデコーダ30は、復号または再構築された情報を使用して、暗黙的な予測方向の指示を導出し得る。一例では、予測方向の指示は、各予測方向のアフィンMVPセット候補リスト(すなわち、MVPリスト)の中のMVPに依存する。1つの予測方向のMVPリストが、いくつかのより好ましくない方法から導出されたMVP(たとえば、スケーリングされた動きベクトル予測子、または局所照明補償モードでコーディングされたブロックから導出されたMVP)を含む場合、別の予測方向からのアフィンモデルが、現在の予測方向におけるアフィンモデルを予測するために使用される。代わりに、予測方向の指示は、どれだけの異なるMV予測子が各リストの中にあるかに依存し得る。
別の例では、1つの予測方向のMVPリストが、いくつかのより好ましい方法から導出されたMVP(たとえば、スケーリングされていない動きベクトル予測子、またはフレームレートアップコンバージョン(FRUC)モードでコーディングされたブロックからのMVP)を含む場合、現在の予測方向からのアフィンモデルが、他の予測方向におけるアフィンモデルを予測するために使用される。FRUCモードでは、ブロックの動き情報はシグナリングされず、デコーダ側で導出される。
一例では、リスト1に対するMVPセット候補リストの中に低優先度のMVPがある場合、予測方向の指示はリスト0からリスト1として設定され、MV予測プロセスにおいて、リスト0のMVがリスト1のMVのためのMVPとして使用される。そうではなく、リスト1に対するMVPセット候補リストの中に低優先度のMVPがない場合、予測方向の指示はリスト1からリスト0として設定され、MV予測プロセスにおいて、リスト1のMVがリスト0のMVのためのMVPとして使用される。
予測方向の指示が決定された後で、置き換えられるべきMVPセット候補(N個の候補を伴う)が、復号された情報または再構築情報に従ってデコーダ側で決定される。一例では、置き換えられるべきMVPセット候補は、少なくとも1つの低優先度のMVPを含む第1のMVPセット候補である。一例では、POC情報に従ってスケーリングされた空間的MVP、パディングされたAMVP MVP、および時間的MVPに対して、低い優先度が与えられ得る。
一例では、さらに、置き換えられるべきMVPセット候補がないとき、リスト0とリスト1との間でのアフィン動きベクトル予測は実行されない。いくつかの例では、置き換えられるべきMVPセット候補の数Nは1に設定される。一例では、予測方向の指示がリスト0からリスト1へのMV予測として設定される場合、リスト1の中の置き換えられるべきMVPセット候補のMVPが次いで、リスト0の中の対応する制御点のスケーリングされたMVによってそれぞれ置き換えられ、またはこの逆が行われる。
別の例では、予測方向の指示がリスト0からリスト1へのMV予測として設定される場合、リスト1の中の置き換えられるべきMVPセット候補の部分的なMVPのみが、リスト0の中の対応する制御点のスケーリングされたMVによってそれぞれ置き換えられ、またはこの逆が行われる。たとえば、第1のMVP(V0)のみが置き換えられる。
別の例では、予測方向の指示がリスト0からリスト1へのMV予測として設定される場合、リスト1の中の置き換えられるべきMVPセット候補の第1のMVP(V0)のみが、リスト0の中の対応する制御点のスケーリングされたMVによってそれぞれ置き換えられる。リスト1の中の置き換えられるべきMVPセット候補の第2のMVP(V1)は、リスト0の中の第1の制御点(V0)のスケーリングされたMVと、リスト0における第1の制御点のMVと第2の制御点のMVとの間の差分(V1-V0)とを足したものによって置き換えられる。6パラメータのアフィンモデルのための第3のMVP(V2)を置き換える手法は同様である。予測方向の指示がリスト1からリスト0へのMV予測として設定される場合、リスト0の中の置き換えられるべきMVPセット候補の第1のMVP(V0)のみが、リスト1の中の対応する制御点のスケーリングされたMVによってそれぞれ置き換えられる。リスト0の中の置き換えられるべきMVPセット候補の第2のMVP(V1)は、リスト1の中の第1の制御点(V0)のスケーリングされたMVと、リスト1における第1の制御点のMVと第2の制御点のMVとの間の差分(V1-V0)とを足したものによって置き換えられる。そして、6パラメータのアフィンモデルのための第3のMVP(V2)を置き換える手法は同様である。
いくつかの例では、制御点のMVは、他の制御点のMVのためのMVP候補として使用され得る。一例では、左上の制御点(V0)のMVは、右上の制御点(V1)のMVのためのMVP候補として使用される。同様に、6パラメータのアフィン動きモデルのもとでは、左上の制御点(V0)のMVは、右上の制御点(V1)のMVのためのMVP候補として使用される。その上、制御点間の動きベクトル予測は、選択的に適用され得る。代わりに、6パラメータのアフィンモデルのもとでは、左上の制御点(V0)の動きベクトルが右上の制御点(V1)(または左下の制御点(V2))の動きベクトルの予測子として使用され、V0およびV1のペア(またはV0およびV2のペア)が4パラメータのアフィン動きモデルを使用することによってV2(またはV1)のための動きベクトル予測子を導出するために使用される。一例では、第2のMVPセット候補のみが、制御点間のMV予測を適用される。
別の例では、アフィンモデルは、1つの制御点の動きベクトルおよび追加のシグナリングされるモデルパラメータから導出され得る。シグナリングされるパラメータは、限定はされないが、制御点間またはアフィン回転角間などでの動きベクトル差分を含む。一例では、現在のブロックの制御点の1つの動きベクトルが、回転角とともに、アフィン動きモードとしてコーディングされるブロックのためにシグナリングされる。各アフィンブロックに対して、アフィン動きモデルは、制御点の動きベクトルと回転角とを使用して構築される。
本開示の特定の技法によれば、ビデオコーダは、現在のアフィンブロックの制御点のためのアフィン動きベクトル予測子として、隣接する外挿された動きベクトルを使用し得る。たとえば、現在のインターブロックに対して、ビデオコーダは、ソースアフィンブロックと名付けられる現在のインターブロックの隣接アフィンブロック(たとえば、AF_INTERモードまたはAF_MERGEモードで符号化される隣接ブロック)のうちの1つまたは複数の動きモデルを利用して、現在のインターブロック(すなわち、現在のアフィン動きモデル)のためのアフィン動きモデルを予測し得る。たとえば、現在のブロックの制御点のMVPは、隣接ブロックの制御点から外挿され得る。たとえば、現在のブロックの各々のそれぞれの制御点に対して、ビデオコーダは、上の式(2)を使用して、ソースアフィンブロックの制御点の動きベクトルから、現在のブロックのそれぞれの制御点に対するMVPを外挿し得る。ソースアフィンブロックは、1つまたは複数の空間的隣接ブロックまたは時間的隣接ブロックであり得る。
一例では、ソースアフィンブロックは、事前に定義された訪問順序(たとえば、A→B→C→D→EまたはB→A→D→C→Eまたは図7Aに示されるブロックの任意の他の訪問順序)に基づいて、有効な空間的隣接ブロックからアフィンモードでコーディングされる最初のブロックとして決定される。
別の例では、ソースアフィンブロックは、事前に定義された訪問順序(たとえば、A→B→C→D→EまたはB→A→D→C→Eまたは図7Aおよび図7Bに示されるような任意の他の訪問順序)に基づいて、1つまたは複数の事前に定義された優先度セットに従って隣接ブロックからアフィンモードでコーディングされる最初のブロックとして決定される。優先度のいずれも満たさない隣接アフィンブロックは、利用可能ではないものと見なされる。
いくつかの例では、ソースアフィンブロックは、まず訪問順序に従って、次いで事前に定義された優先順序に従って決定される。たとえば、ソースアフィンブロックは、A (優先度1) → B (優先度1) → C (優先度1) → D (優先度1) → E (優先度1) → A (優先度2) → などの順序に従って決定され得る。この例では、ビデオコーダは次いで、ブロックAが優先度セット1の中にあるかどうかを確認し、ない場合、ビデオコーダは、ブロックBが優先度セット1の中にあるかどうかを確認し、ない場合、ビデオコーダは、ブロックCが優先度セット1の中にあるかどうかを確認し、以下同様である。
別の例では、ビデオコーダは、まず事前に定義された優先順序に従って、次いで訪問順序に従ってソースアフィンブロックを決定し得る。たとえば、A (優先度1) → A (優先度2) → B (優先度1) → B (優先度2)→ C (優先度1)→ C (優先度2) → など。したがって、この例では、ビデオコーダは次いで、ブロックAが優先度セット1の中にあるかどうかを確認し、ない場合、ビデオコーダは、ブロックAが優先度セット2の中にあるかどうかを確認し、ない場合、ビデオコーダは、ブロックBが優先度セット1の中にあるかどうかを確認し、以下同様である。
様々な例において、優先度セットは様々な方法で定義される。様々な例示的な優先度セットの定義が以下のように列挙される。以下の優先度セットの定義は、個別に適用され得る。代わりに、それらの任意の組合せが適用され得る。
第1の例示的な優先度セットは以下のように定義され、より小さい番号がより高い優先度を表す。
1. 隣接アフィンブロックのリストX参照ピクチャが現在のブロックのリストX参照ピクチャと同じ参照ピクチャである場合、隣接アフィンブロックは優先度セット1の中にあり、リストXは現在評価されている現在のブロックの参照ピクチャリストであり、Xは0または1のいずれかである。
2. 隣接アフィンブロックのリストX参照ピクチャが現在のブロックのリストY参照ピクチャと同じ参照ピクチャである場合、隣接アフィンブロックは優先度セット2の中にあり、リストYは現在評価されている現在のブロックの参照ピクチャリスト以外の参照ピクチャリストであり、Yは0または1のいずれかである。
別の例では、優先度セットは以下のように定義される。
1. 隣接アフィンブロックのリストX参照ピクチャが現在のブロックのリストX参照ピクチャと異なる場合、隣接アフィンブロックは優先度セット1の中にあり、リストXは現在評価されている現在のブロックの参照ピクチャリストであり、Xは0または1のいずれかである。
2. 隣接アフィンブロックのリストY参照ピクチャが現在のブロックのリストY参照ピクチャと異なる場合、隣接アフィンブロックは優先度セット2の中にあり、リストYは現在評価されている現在のブロックの参照ピクチャリスト以外の参照ピクチャリストであり、Yは0または1のいずれかである。
別の例では、優先度セットは以下のように定義される。
1. 隣接アフィンブロックのMVの差分が事前に定義された範囲内にある。
2. 隣接アフィンブロックのMVの差分が事前に定義された範囲内にない。
別の例では、優先度セットは以下のように定義される。この例および他の例では、より小さい番号がより高い優先度を表し得る。
1. 隣接アフィンブロックがAF_INTERモードでコーディングされる場合、その隣接アフィンブロックは優先度セット1の中にある。
2. 隣接アフィンブロックがAF_MERGEモードでコーディングされる場合、その隣接アフィンブロックは優先度セット2の中にある。
別の例では、隣接アフィンブロックの優先度は、隣接アフィンブロックが現在のアフィンブロックと同じインター予測方向を有するかどうかに依存する。別の例では、隣接アフィンブロックの優先度は、隣接アフィンブロックのサイズに依存する。たとえば、よりサイズの大きい隣接アフィンブロックがより高い優先度を有し得る。
一例では、ビデオコーダは、リストXのためのソースアフィンブロックとして、現在のブロックと同じリストX参照ピクチャを有しB→A→D→C→Eという訪問順序において最初に生じる隣接アフィンブロックを選択する。この例では、隣接アフィンブロックが利用可能ではない(たとえば、隣接アフィンブロックのいずれもが現在のブロックと同じリストX参照ピクチャを有しない)場合、ビデオコーダは、ソースアフィンブロックとして、現在のブロックのリストX参照ピクチャをそのリストY参照ピクチャとして有しB→A→D→C→Eという訪問順序において最初に生じる隣接アフィンブロックを選択することができ、ここでXは0または1であり、Yは(1-X)である。
一例では、双予測アフィンモデルが現在のブロックにおいて使用される場合、リスト0およびリスト1のためのソースアフィンブロックは異なり得る。言い換えると、ビデオコーダは、現在のブロックのためのリスト0およびリスト1を評価するとき、異なるソースアフィンブロックを使用し得る。上で言及されたソースアフィンブロック選択プロセスは、各参照ピクチャリストのために個別に適用され得る。
ビデオコーダがソースアフィンブロックを選択した後で、ビデオコーダは、ソースアフィンブロックの制御点のMVを使用して、現在のブロックの制御点のためのMV予測子のセットを外挿する。たとえば、4パラメータのアフィン動きモデルでは、ビデオコーダは、ソースアフィンブロックの第1の制御点のリストX MVから、現在のブロックの第1の制御点のリストX MVを外挿し得る。加えて、この例では、ビデオコーダは、ソースアフィンブロックの第2の制御点のリストX MVから、現在のブロックの第2の制御点のリストX MVを外挿し得る。この例では、Xは0または1のいずれかであり、外挿されるリストX MVの得られるペアは、外挿された動きベクトル予測子(MVP)セットと名付けられ、{V'0, V'1}と表記され得る。本開示の他の箇所で説明されるように、ビデオコーダは式(2)を使用して補間を実行し得る。6パラメータのアフィン動きモデルでは、ビデオコーダはまた、ソースアフィンブロックの第3の制御点のリストX MVから、現在のブロックの第3の制御点のリストX MVを外挿し得る。現在のブロックの第3の制御点の外挿されたリストX MVは、動きベクトル予測子セットにも含まれることがあり、{V'0, V'1, V'2}と表記されることがある。
ビデオコーダは次いで、外挿されたリストX MVPセット(たとえば、4パラメータのアフィン動きモデルに対して{V'0, V'1}または6パラメータのアフィン動きモデルに対して{V'0, V'1, V'2})をリストXアフィンMVPセット候補リストへと挿入し得る。ビデオコーダが外挿されたMVPセットをリストXアフィンMVPセット候補リストへと挿入した後で、ビデオコーダは、従来のアフィンMVPセット候補をリストXアフィンMVPセット候補リストへと挿入する。従来のアフィンMVPセット候補は、本開示において提供される他の例に従って生成されるアフィンMVPセット候補であり得る。ビデオコーダは、補間されたMVPセットの後または前に、従来のMVPセット候補をリストXアフィンMVPセット候補リストへと挿入し得る。現在のブロックが双方向予測される場合、ビデオコーダはリストYのために同様のプロセスを実行することができ、Yは1-Xに等しい。
図9は、本開示の技法に従って、外挿されたMVPセット902を含む例示的なアフィンMVPセット候補リスト900を示す。図9の例では、補間されたMVPセット{V'i, V'j}(902)は、従来のMVPセット候補が後に続くアフィンMVPセット候補リスト900の第1の場所へと挿入される。ビデオコーダは、候補リスト620(図6B)またはアフィンMVPセット候補リスト820(図8B)と同じ方式で、アフィンMVPセット候補リスト900の残りを構築し得る。
一例では、外挿プロセスは、MV外挿を実行するために4パラメータのアフィン動きモデルが使用されるか6パラメータのアフィン動きモデルが使用されるかに応じて、式(1)または(2)を使用して上で説明されたAF_MERGEモードと同じであり得る。代わりに、他の外挿関数が適用され得る。たとえば、ビデオコーダは、双線形関数をアフィンソースブロックの制御点の動きベクトルに適用して外挿プロセスを実行し得る。
いくつかの例では、ビデオコーダは、上で説明されたようにソースアフィンブロックを選択することに加えて第2のソースアフィンブロックを選択する。ビデオコーダは、第1のソースアフィンブロックを選択した後でソースアフィンブロックを探し続けることによって、第2のソースアフィンブロックを選択し得る。ビデオコーダは、ソースアフィンブロックを選択するための上で説明された例のいずれかに従って探索を行い得る。ビデオコーダは、第2のソースアフィンブロックの制御点のMVを使用して、現在のブロックの制御点のための第2のMVPセットを外挿することができ、アフィンMVPセット候補リストに別のMVPセット候補として第2のMVPセットを挿入することができる。
別の例では、ビデオコーダは、現在のブロックをコーディングするとき、2つ以上のソースアフィンブロックを選択する。この例では、ビデオコーダは、いくつかのMVを使用して現在のブロックの制御点のためのMV予測子のセットを導出し、または、ビデオコーダは、ソースアフィンブロックのすべての制御点を別のMVPセット候補として挿入する。
本開示の技法によれば、アフィンインターモード(すなわち、AF_INTER)またはアフィンマージモード(すなわち、AF_MERGE)において、現在のブロックの各サブブロック(たとえば、4×4のブロック)のアフィン動きは、それ自体の隣接ブロックの外挿された動きから予測され、または直接継承され得る。一例では、隣接ブロックは、各サブブロックのための最も近い隣接アフィンブロックとして選択される。言い換えると、現在のブロックは、複数の等しいサイズのサブブロック(たとえば、4×4のサブブロック)へと区分され得る。複数のサブブロックの各々のそれぞれのサブブロックに対して、ビデオコーダは、アフィン動きモデルを使用して予測された最も近いブロックを決定し得る。それぞれのサブブロックが現在のブロックの境界に沿っている場合、アフィン動きモデルを使用して予測された最も近いブロックは、現在のブロックの外側にあり得る。たとえば、現在のブロックの左上のサブブロックに対して、アフィン動きモデルを使用して予測された最も近いブロックは、左上のサブブロックの上および左のブロックであり得る。同様に、現在のブロックの右上のサブブロックに対して、アフィン動きモデルを使用して予測された最も近いブロックは、右上のサブブロックの上のブロックまたは右上のサブブロックの右上のブロックであり得る。現在のブロックの内部のサブブロックサブブロックに対して、アフィン動きモデルを使用して予測された最も近いブロックは、サブブロックの上または左の現在のブロックの別のサブブロックであり得る。
この手法は、サブブロックがJEM3.0において使用される方法と異なる。上で論じられたように、JEM3.0では、ビデオコーダは、現在のブロックの左上および右上の角にある制御点の動きベクトルだけに基づいて、現在のブロックの各サブブロックの動きベクトルを計算する。対照的に、本開示のこの技法によれば、サブブロックの動きベクトルは、制御点の動きベクトルに基づいて計算されず、むしろ、隣接ブロックの外挿された動きから予測され、または直接継承される。これにより、サブブロックの動きベクトルをサブブロックにより近い位置からとることができるので、コーディング効率がより高くなり得る。
図10は、現在のブロック1000の各サブブロック(たとえば、4×4のブロック)のアフィン動きがそれ自体の隣接ブロックの外挿された動きから予測され、または直接継承され得る、本開示の技法に従ったサブブロック動き予測またはパラメータ予測を示す。図10の例に示されるように、TLサブブロック1002のアフィン動きは隣接ブロックB2の外挿された動きを使用して予測される(1004)が、TRサブブロック1006は隣接ブロックB1の外挿された動きを使用する。別の例では、サブブロックはまた、時間的隣接ブロックの外挿された動きを使用することができる。
アフィンインターモードまたはアフィンマージモードでは、現在のブロックのアフィンパラメータ(たとえば、各サブブロック(たとえば、4×4のブロック)の式(1)または(4)におけるa、b、c、d、e、およびf)は、それ自体の隣接ブロックから予測され、または直接継承され得る。一例では、隣接ブロックは、各サブブロックのための最も近い隣接アフィンブロックとして選択される。たとえば、図10に示されるように、TLサブブロック1002のアフィンパラメータは隣接ブロックB2を使用して予測される(1004)が、TRサブブロック1006は隣接ブロックB1を使用する(1008)。
JEM3.0におけるアフィン動き予測の現在の設計では、現在のブロックのアフィンMVPセット候補リストのサイズが2より小さい場合、ビデオコーダは、AMVP候補の各々を複製することによって合成される1つまたは複数のアフィンMVPセットを、アフィンMVPセット候補リストにパディングする。本開示は、AMVP候補を複製することによって合成されるアフィンMVPセットを指して、「AMVPで導出された候補」という用語を使用することがある。しかしながら、制御点V0(図6A)のリストX動きベクトルおよび制御点V1のリストX動きベクトルが4パラメータのアフィン動きモデルにおいて同じである場合、または、制御点V0、V1、およびV2(図8A)のリストX動きベクトルが6パラメータのアフィン動きモデルにおいて同じである場合、現在のブロックの各サブブロックのための計算されたMVは同一である。現在のブロックの各サブブロックのための計算されたMVが同一であるとき、その結果は従来の動き補償された予測と同じである。しかしながら、アフィン動き予測を使用して同じ動き補償された予測結果に達すると、従来の動き補償された予測よりもコーディング効率が低くなり得る。したがって、従来の動き補償された予測と同じ結果をもたらす、AMVPで導出された候補をアフィンMVPセット候補リストに含めることは、従来の動き補償された予測より高いコーディング効率をもたらし得るアフィンMVPセットをアフィンMVPセット候補リストへ含めるための機会の喪失となる。
したがって、本開示の技法によれば、ビデオコーダは、AMVPで導出された候補内のすべてのMVPが同一とは限らないことを確実にするために、1つまたは複数のMVPに対するオフセットをAMVPで導出された候補へ加算する。アフィンMVPセット候補リストに多様なアフィンMVPセットを含めることで、アフィンMVPセット候補リストにおけるアフィンMVPセットのうちの1つの使用がより高いコーディング効率をもたらす確率を高めることができる。
図11Aは、本開示の技法に従って、4パラメータのアフィン動きモデルのための例示的なアフィンMVPセット候補リストを示す。図11Bは、本開示の技法に従って、6パラメータのアフィン動きモデルのための例示的なアフィンMVPセット候補リストを示す。図11Aの例に示されるように、4パラメータのアフィン動きモデルのもとで、ビデオコーダは、制御点V1のためのMVPにオフセットを加算する。図11Bの例に示されるように、6パラメータのアフィン動きモデルのもとで、ビデオコーダは、制御点V2のためのMVPにオフセットを加算する。いくつかの例では、オフセットは、アフィンMVPセット候補リストの中の異なる場所にある、AMVPで導出された候補に対しては異なる。たとえば、ビデオコーダは、第1のAMVPで導出された候補のためのオフセットとして+4を使用することがあり、第2のAMVPで導出された候補のためのオフセットとして-4を使用することがある。
図11Aの例では、ビデオコーダは、現在のブロックのためのリストX候補リスト1100(すなわち、アフィンMVPセット)を生成し、ここでXは0または1である。候補リスト1100を生成するために、ビデオコーダは潜在的な候補を確認する。潜在的な候補の各々は、ブロックVA、VB、およびVC(図6A)から選択されたブロックのリストX動きベクトルと、VDおよびVE(図6A)から選択されたブロックのリストX動きベクトルとの組合せである。潜在的な候補の中の両方のブロックがリストX動きベクトルを指定する場合、ビデオコーダは、その潜在的な候補を候補リスト1100に候補として含める。ビデオコーダは、候補リスト1100が2つの候補を含んだ後で、候補の追加を止める。
潜在的な候補のすべてを確認した後で、候補リスト1100の中にまだ2つ未満の候補しかない場合、ビデオコーダは、第1のAMVPで導出される候補1102を候補リスト1100に追加し得る。第1のAMVPで導出される候補1102は、第1のAMVPで導出される動きベクトル予測子1104および第2のAMVPで導出される動きベクトル予測子1106を指定する。第1のAMVPで導出される動きベクトル予測子1104は、現在のブロックの第1の制御点の動きベクトル予測子である。第2のAMVPで導出される動きベクトル予測子1106は、現在のブロックの第2の制御点の動きベクトル予測子である。ビデオコーダは、ビデオコーダがAMVPにおいて第1の動きベクトル候補を導出するために使用するのと同じ方式で、第1のAMVPで導出される動きベクトル予測子1104を導出する。本開示は、上記のAMVPにおいて動きベクトル候補を導出するための技法を説明する。第2のAMVPで導出される動きベクトル予測子1106は、第1のAMVPで導出される動きベクトル予測子1104と、第1のAMVPで導出される動きベクトル予測子1104の水平成分または垂直成分の少なくとも1つに対する第1のオフセット(すなわち、Offset0)とを足したものに等しい。
第1のAMVPで導出される候補1102を候補リスト1100に追加した後で、候補リスト1100の中にまだ2つ未満の候補しかない場合、ビデオコーダは、第2のAMVPで導出された候補1108を候補リスト1100に追加する。第2のAMVPで導出される動き候補1108は、第3のAMVPで導出される動きベクトル予測子1110および第4のAMVPで導出される動きベクトル予測子1112を指定する。ビデオコーダは、ビデオコーダがAMVPにおいて第2の動きベクトル候補を導出するために使用するのと同じ方式で、第3のAMVPで導出される動きベクトル予測子1110を導出する。第4のAMVPで導出される動きベクトル予測子1112は、ビデオコーダが第3のAMVPで導出される動きベクトル予測子1110の水平成分または垂直成分の少なくとも1つに対する第2のオフセット(すなわち、Offset1)を加算することを除き、第3のAMVPで導出される動きベクトル1110と同じである。第1のAMVPで導出される候補1102を候補リスト1100に追加した後で、候補リスト1100の中に2つの候補がある場合、ビデオコーダは、第2のAMVPで導出された候補1108を候補リスト1100に追加しない。現在のブロックが双方向予測される場合、ビデオコーダはリストY動きベクトルに関して候補リスト1100を生成するための上で説明されたプロセスを繰り返すことができ、Yは1-Xに等しい。
図11Bの例は、6パラメータのアフィン動きモデルを使用することを除き、同様のプロセスを示す。したがって、候補リスト1120を生成するために、ビデオコーダは潜在的な候補を確認する。潜在的な候補の各々は、ブロックVA、VB、およびVC(図8A)から選択されたブロックのリストX動きベクトルと、VDおよびVE(図8A)から選択されたブロックのリストX動きベクトルと、VFおよびVG(図8A)から選択されたブロックのリストX動きベクトルの組合せである。組合せの各々を確認した後で、候補リスト1120の中にまだ2つ未満の候補しかない場合、ビデオコーダは、第1のAMVPで導出される候補1122を候補リスト1120に追加し得る。第1のAMVPで導出される候補1122は、第1のAMVPで導出される動きベクトル予測子1124(図11BにおいてAMVP0と表記される)、第2のAMVPで導出される動きベクトル予測子1126、および第3のAMVPで導出される動きベクトル予測子1128を指定する。第1のAMVPで導出される動きベクトル予測子1124は現在のブロックの第1の制御点の動きベクトル予測子であり、第2のAMVPで導出される動きベクトル予測子1126は現在のブロックの第2の制御点の動きベクトル予測子であり、第3のAMVPで導出される動きベクトル予測子1128は現在のブロックの第3の制御点の動きベクトル予測子である。ビデオコーダは、ビデオコーダがAMVPにおいて第1の動きベクトル候補を導出するために使用するのと同じ方式で、第1のAMVPで導出される動きベクトル予測子1124を導出する。第2のAMVPで導出される動きベクトル予測子1128は、第1のAMVPで導出される動きベクトル予測子1126に等しい。第3のAMVPで導出される動きベクトル予測子1128は、第1のAMVPで導出される動きベクトル予測子と、第1のAMVPで導出される動きベクトル予測子1124の水平成分または垂直成分の少なくとも1つに対する第1のオフセット(すなわち、Offset0)とを足したものに等しい。
第1のAMVPで導出される候補1122を候補リスト1120に追加した後で、候補リスト1120の中にまだ2つ未満の候補しかない場合、ビデオコーダは、第2のAMVPで導出された候補1130を候補リスト1120に追加する。第2のAMVPで導出される候補1130は、第4のAMVPで導出される動きベクトル予測子1132(図11BにおいてAMVP1と表記される)、第5のAMVPで導出される動きベクトル予測子1134、および第6のAMVPで導出される動きベクトル予測子1136を指定する。ビデオコーダは、ビデオコーダがAMVPにおいて第2の動きベクトル候補を導出するために使用するのと同じ方式で、第4のAMVPで導出される動きベクトル予測子1132を導出する。第5のAMVPで導出される動きベクトル予測子1134は、第4のAMVPで導出される動きベクトル予測子1132と同じである。第6のAMVPで導出される動きベクトル予測子1136は、第3のAMVPで導出される動きベクトル予測子1132と、第3のAMVPで導出される動きベクトル予測子1132の水平成分または垂直成分の少なくとも1つに対する第2のオフセット(すなわち、Offset1)とを足したものに等しい。第1のAMVPで導出される候補1122を候補リスト1120に追加した後で、候補リスト1120の中に2つの候補がある場合、ビデオコーダは、第2のAMVPで導出された候補1130を候補リスト1120に追加しない。現在のブロックが双方向予測される場合、ビデオコーダはリストYに関して候補リスト1120を生成するための上で説明されたプロセスを繰り返すことができ、Yは1-Xに等しい。
いくつかの例では、HEVCにおけるMVP導出のために使用される隣接ブロック以外のブロックからの動きベクトル予測は、候補リストに追加され得る。いくつかの例では、ビデオコーダはアフィン動きのためのグローバルMVPをオンザフライで更新し、ビデオコーダは、候補リストのサイズが2より小さいとき、アフィン動きのためのグローバルMVPを使用する。たとえば、ビデオコーダは、利用可能なアフィンブロックを使用してグローバルアフィン動きモデルを構築することができ、ビデオコーダがアフィンブロックを再構築するときは常に、グローバルアフィン動きモデルを更新することができる。ビデオコーダは次いで、このグローバルアフィン動きモデルを使用して、後続のアフィンブロックのためのグローバルMVPを生成することができる。
HEVCおよびJEM3.0において、スライスヘッダの中のフラグmvd_l1_zero_flagは、第2の参照ピクチャリスト(たとえば、リスト1)のためのMVDが0に等しく、したがってコーディング効率をさらに改善するためにビットストリームにおいてシグナリングされないかどうかを示す。言い換えると、スライスのスライスヘッダの中の単一のフラグが、スライスのすべてのブロックのためのすべてのリスト1 MVDが0に等しいことを示し得る。このフラグを使用すると、スライスの各々のAMVPコーディングされたブロックまたはAF_INTRAコーディングされたブロックに対して0に等しいリスト1 MVDを別々にシグナリングする必要をなくすことによって、コーディング効率を高めることができる。
しかしながら、本開示の技法によれば、mvd_l1_zero_flagはいくつかのコーディングモードに適用可能であることがあり、他のモードでは、このフラグは、MVDが0に等しいことを示す場合であっても無視される。一例では、このゼロMVD設計はアフィン動きモードでは無効であるが、このゼロMVD設計は従来のインターモード(AMVPモード)では依然として保たれる。言い換えると、スライスのmvd_l1_zero_flagが、スライスの中のすべてのリスト1 MVDが0に等しいことを示す場合であっても、ビデオエンコーダ20はまだ、アフィン動きモードを使用して符号化されるスライスのブロックのためにリスト1 MVDをシグナリングすることができる。リスト1 MVDが0に等しいことをmvd_l1_zero_flagが示していても、アフィン動きモードを使用して符号化されるブロックのためにリスト1 MVDを依然としてシグナリングできることで、ビデオエンコーダ20は、アフィン動きモードを使用して符号化されないブロックのためにリスト1 MVDをシグナリングするのを回避することが可能でありながら、依然として、アフィン動きモードを使用して符号化されるブロックのためにリスト1 MVDをシグナリングすることが可能であり得る。これはコーディング効率の上昇をもたらし得る。本開示は、図19Aおよび図19Bに関する以下の例示的な技法に従った例示的な動作を記述する。
図12は、本開示の技法を実施することができる例示的なビデオエンコーダ20を示すブロック図である。図12は説明のために提供され、広く例示されるとともに本開示において説明されるような技法の限定と見なされるべきでない。本開示の技法は、様々なコーディング規格または方法に適用可能であり得る。
図12の例では、ビデオエンコーダ20は、予測処理ユニット1200、ビデオデータメモリ1201、残差生成ユニット1202、変換処理ユニット1204、量子化ユニット1206、逆量子化ユニット1208、逆変換処理ユニット1210、再構築ユニット1212、フィルタユニット1214、復号ピクチャバッファ1216、およびエントロピー符号化ユニット1218を含む。予測処理ユニット1200は、インター予測処理ユニット1220およびイントラ予測処理ユニット1222を含む。インター予測処理ユニット1220は、動き推定ユニットおよび動き補償ユニット(図示せず)を含み得る。
ビデオデータメモリ1201は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ1201の中に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ1216は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ1201および復号ピクチャバッファ1216は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ1201および復号ピクチャバッファ1216は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ1201は、ビデオエンコーダ20の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。ビデオデータメモリ1201は、図1の記憶媒体19と同じであるか、またはその一部であり得る。
ビデオエンコーダ20は、ビデオデータを受信する。ビデオエンコーダ20は、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。CTUの各々は、ピクチャの、等しいサイズの輝度コーディングツリーブロック(CTB)、および対応するCTBと関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット1200は、区分を実行して、CTUのCTBを次第に小さくなるブロックに分割し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット1200は、CTUと関連付けられたCTBを木構造に従って区分し得る。
ビデオエンコーダ20は、CTUのCUを符号化して、CUの符号化された表現(すなわち、コーディングされたCU)を生成し得る。CUを符号化することの一部として、予測処理ユニット1200は、CUの1つまたは複数のPUの間でCUと関連付けられたコーディングブロックを区分し得る。したがって、各PUは、輝度予測ブロックおよび対応する色差予測ブロックと関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上で示されたように、CUのサイズは、CUの輝度コーディングブロックのサイズを指すことがあり、PUのサイズは、PUの輝度予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測に対して2N×2NまたはN×NというPUサイズ、およびインター予測に対して2N×2N、2N×N、N×2N、N×N、または類似の、対称のPUサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測に対して、2N×nU、2N×nD、nL×2N、およびnR×2NというPUサイズのための非対称区分をサポートし得る。
インター予測処理ユニット1220は、PUの予測データを生成し得る。PUの予測データを生成することの一部として、インター予測処理ユニット1220は、PUに対するインター予測を実行する。PUに対する予測データは、PUの予測ブロックおよびPUのための動き情報を含み得る。インター予測処理ユニット1220は、PUがIスライスの中にあるか、Pスライスの中にあるか、またはBスライスの中にあるかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライスでは、すべてのPUがイントラ予測される。したがって、PUがIスライスの中にある場合、インター予測処理ユニット1220は、PUに対してインター予測を実行しない。したがって、Iモードで符号化されるブロックの場合、予測されるブロックは、同じフレーム内の以前に符号化された隣接ブロックから空間予測を使用して形成される。PUがPスライスの中にある場合、インター予測処理ユニット1220は、単方向インター予測を使用してPUの予測ブロックを生成し得る。PUがBスライスの中にある場合、インター予測処理ユニット1220は、単方向または双方向インター予測を使用してPUの予測ブロックを生成し得る。
インター予測処理ユニット1220は、本開示の他の箇所で説明されたように、アフィン動きモデルのための技法を適用し得る。たとえば、インター予測処理ユニット1220はソースアフィンブロックを選択することができ、ソースアフィンブロックは現在のブロックに空間的に隣接するアフィンコーディングされたブロックである。この例では、インター予測処理ユニット1220は、ソースアフィンブロックの制御点の動きベクトルを外挿して、現在のブロックの制御点の動きベクトル予測子を決定し得る。さらに、この例では、インター予測処理ユニット1220は、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを、アフィンMVPセット候補リストに挿入し得る。この例では、インター予測処理ユニット1220は、アフィンMVPセット候補リストの中のアフィンMVPセットを選択し得る。加えて、この例では、インター予測処理ユニット1220は、ビットストリームにおいて、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示すMVDをシグナリングし得る。インター予測処理ユニット1220はまた、ビットストリームにおいて、選択されたアフィンMVPセットのアフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングし得る。
イントラ予測処理ユニット1222は、PUに対してイントラ予測を実行することによって、PUの予測データを生成し得る。PUの予測データは、PUの予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット1222は、Iスライス、Pスライス、およびBスライスの中のPUに対して、イントラ予測を実行し得る。
イントラ予測をPUに対して実行するために、イントラ予測処理ユニット1222は、複数のイントラ予測モードを使用して、PUの予測データの複数のセットを生成し得る。イントラ予測処理ユニット1222は、隣接PUのサンプルブロックからのサンプルを使用して、PUの予測ブロックを生成し得る。PU、CU、およびCTUに対して左から右、上から下への符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左であり得る。イントラ予測処理ユニット1222は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUと関連付けられる領域のサイズに依存し得る。
予測処理ユニット1200は、PUに対してインター予測処理ユニット1220によって生成された予測データ、またはPUに対してイントラ予測処理ユニット1222によって生成された予測データの中から、CUのPUの予測データを選択し得る。いくつかの例では、予測処理ユニット1200は、予測データのセットのレート/ひずみの尺度に基づいて、CUのPUの予測データを選択する。選択される予測データの予測ブロックは、本明細書で選択予測ブロックと呼ばれることがある。
残差生成ユニット1202は、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)およびCUのPUの選択された予測ブロック(たとえば、予測輝度ブロック、予測Cbブロック、および予測Crブロック)に基づいて、CUの残差ブロック(たとえば、輝度残差ブロック、Cb残差ブロック、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット1202は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択される予測ブロックの中の対応するサンプルとの間の差分に等しい値を有するような、CUの残差ブロックを生成し得る。
変換処理ユニット1204は、四分木区分を実行して、CUの残差ブロックをCUのTUの変換ブロックに区分し得る。たとえば、変換処理ユニット1204は、四分木区分を実行して、CUの残差ブロックをCUのTUの変換ブロックに区分し得る。したがって、TUは、輝度変換ブロックおよび2つの色差変換ブロックと関連付けられ得る。CUのTUの輝度変換ブロックおよび色差変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいても基づかなくてもよい。「残差四分木」(RQT)と呼ばれる四分木構造が、領域の各々と関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに相当し得る。
変換処理ユニット1204は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット1204は、TUと関連付けられる変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット1204は、離散コサイン変換(DCT)、方向変換、または概念的に類似の変換を、変換ブロックに適用し得る。いくつかの例では、変換処理ユニット1204は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われ得る。
量子化ユニット1206は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部またはすべてと関連付けられるビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、nはmよりも大きい。量子化ユニット1206は、CUと関連付けられる量子化パラメータ(QP)値に基づいて、CUのTUと関連付けられる係数ブロックを量子化し得る。ビデオエンコーダ20は、CUと関連付けられるQP値を調整することによって、CUと関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の喪失をもたらし得る。したがって、量子化された変換係数は、元の精度よりも精度が低いことがある。
逆量子化ユニット1208および逆変換処理ユニット1210は、それぞれ、逆量子化および逆変換を係数ブロックに適用して、係数ブロックから残差ブロックを再構築し得る。再構築ユニット1212は、予測処理ユニット1200によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構築された残差ブロックを加算して、TUと関連付けられる再構築された変換ブロックを生成し得る。このようにしてCUのTUごとに変換ブロックを再構築することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構築し得る。
フィルタユニット1214は、1つまたは複数のデブロッキング動作を実行して、CUと関連付けられるコーディングブロックにおけるブロッキングアーティファクトを低減し得る。フィルタユニット1214が1つまたは複数のデブロッキング動作を再構築されたコーディングブロックに対して実行した後、復号ピクチャバッファ1216は、再構築されたコーディングブロックを記憶し得る。インター予測処理ユニット1220は、インター予測を他のピクチャのPUに対して実行するために、再構築されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット1222は、CUと同じピクチャの中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ1216の中の再構築されたコーディングブロックを使用し得る。
エントロピー符号化ユニット1218は、ビデオエンコーダ20の他の機能構成要素からデータを受け取り得る。たとえば、エントロピー符号化ユニット1218は、係数ブロックを量子化ユニット1206から受け取ることができ、シンタックス要素を予測処理ユニット1200から受け取ることができる。エントロピー符号化ユニット1218は、1つまたは複数のエントロピー符号化動作をデータに対して実行して、エントロピー符号化されたデータを生成し得る。たとえば、エントロピー符号化ユニット1218は、CABAC動作、コンテキスト適応型可変長コーディング(CAVLC)動作、可変長対可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率区間区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット1218によって生成された、エントロピー符号化されたデータを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUのための変換係数の値を表すデータを含み得る。
図13は、本開示の技法を実施するように構成される例示的なビデオデコーダ30を示すブロック図である。図13は説明のために提供され、本開示において広く例示され説明されるような技法の限定でない。説明のために、本開示は、HEVCコーディングの文脈においてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用であり得る。
図13の例において、ビデオデコーダ30は、エントロピー復号ユニット1300、ビデオデータメモリ1301、予測処理ユニット1302、逆量子化ユニット1304、逆変換処理ユニット1306、再構築ユニット1308、フィルタユニット1310、および復号ピクチャバッファ1312を含む。予測処理ユニット1302は、動き補償ユニット1314およびイントラ予測処理ユニット1316を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
ビデオデータメモリ1301は、ビデオデコーダ30の構成要素によって復号されるべき、符号化されたビデオビットストリームなどの符号化されたビデオデータを記憶し得る。ビデオデータメモリ1301に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、取得され得る。ビデオデータメモリ1301は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ1312は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための、または出力のための、参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ1301および復号ピクチャバッファ1312は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗変化RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ1301および復号ピクチャバッファ1312は、同一のメモリデバイスまたは別々のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ1301は、ビデオデコーダ30の他の構成要素とともにオンチップであることがあり、または、それらの構成要素に対してオフチップであることがある。ビデオデータメモリ1301は、図1の記憶媒体28と同じであることがあり、またはその一部であることがある。
ビデオデータメモリ1301は、ビットストリームの符号化されたビデオデータ(たとえば、NALユニット)を受信し記憶する。エントロピー復号ユニット1300は、符号化されたビデオデータ(たとえば、NALユニット)をビデオデータメモリ1301から受信することができ、NALユニットを構文解析して、シンタックス要素を取得することができる。エントロピー復号ユニット1300は、NALユニットの中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット1302、逆量子化ユニット1304、逆変換処理ユニット1306、再構築ユニット1308、およびフィルタユニット1310は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。エントロピー復号ユニット1300は、エントロピー符号化ユニット1218のプロセスとは全般に逆のプロセスを実行し得る。
ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ30は、CUに対して再構築動作を実行し得る。CUに対して再構築動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構築動作を実行し得る。CUのTUごとに再構築動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構築し得る。
CUのTUに対して再構築動作を実行することの一部として、逆量子化ユニット1304は、TUと関連付けられる係数ブロックを逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)し得る。逆量子化ユニット1304が係数ブロックを逆量子化した後、逆変換処理ユニット1306は、TUと関連付けられた残差ブロックを生成するために、1つまたは複数の逆変換を係数ブロックに適用し得る。たとえば、逆変換処理ユニット1306は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。
逆量子化ユニット1304は、本開示の特定の技法を実行し得る。たとえば、ビデオデータのピクチャのCTUのCTB内の複数の量子化グループの少なくとも1つのそれぞれの量子化グループに対して、逆量子化ユニット1304は、ビットストリームにおいてシグナリングされるローカル量子化情報に少なくとも一部基づいて、それぞれの量子化グループのためのそれぞれの量子化パラメータを導出し得る。加えて、この例では、逆量子化ユニット1304は、それぞれの量子化グループのためのそれぞれの量子化パラメータに基づいて、CTUのCUのTUの変換ブロックの少なくとも1つの変換係数を逆量子化し得る。この例では、逆量子化グループはコーディング順序において連続するCUまたはコーディングブロックのグループとして定義されるので、それぞれの量子化グループの境界がCUまたはコーディングブロックの境界であるはずであり、それぞれの量子化グループのサイズは閾値以上である。ビデオデコーダ30(たとえば、逆変換処理ユニット1306、再構築ユニット1308、およびフィルタユニット1310)は、変換ブロックの逆量子化された変換係数に基づいて、CUのコーディングブロックを再構築し得る。
PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット1316は、イントラ予測を実行してPUの予測ブロックを生成し得る。イントラ予測処理ユニット1316は、イントラ予測モードを使用して、空間的に隣接するブロックのサンプルに基づいて、PUの予測ブロックを生成し得る。イントラ予測処理ユニット1316は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PUのイントラ予測モードを決定し得る。
PUがインター予測を使用して符号化される場合、動き補償ユニット1314は、PUの動き情報を決定し得る。動き補償ユニット1314は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット1314は、1つまたは複数の参照ブロックに基づいて、PUの予測ブロック(たとえば、予測輝度ブロック、予測Cbブロック、および予測Crブロック)を生成し得る。
動き補償ユニット1314は、本開示の他の箇所で説明されたように、アフィン動きモデルのための技法を適用し得る。たとえば、動き補償ユニット1314はソースアフィンブロックを選択することができ、ソースアフィンブロックは現在のブロックに空間的に隣接するアフィンコーディングされたブロックである。この例では、動き補償ユニット1314は、ソースアフィンブロックの制御点の動きベクトルを外挿して、現在のブロックの制御点の動きベクトル予測子を決定し得る。この例では、動き補償ユニット1314は、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを、アフィンMVPセット候補リストに挿入する。さらに、動き補償ユニット1314は、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定する。この例では、エントロピー復号ユニット1300は、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示すMVDを取得し得る。動き補償ユニット1314は、この例では、選択されたアフィンMVPセットおよびMVDに含まれる動きベクトル予測子に基づいて、現在のブロックの制御点の動きベクトルを決定し得る。この例では、動き補償ユニット1314は、現在のブロックの制御点の動きベクトルに基づいて、予測ブロックを生成し得る。
再構築ユニット1308は、CUのTUのための変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)、ならびにCUのPUの予測ブロック(たとえば、輝度ブロック、Cbブロック、およびCrブロック)、すなわちイントラ予測データまたはインター予測データのいずれかを適宜使用して、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構築し得る。たとえば、再構築ユニット1308は、予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)の対応するサンプルに、変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)のサンプルを加算して、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構築し得る。
フィルタユニット1310は、デブロッキング動作を実行して、CUのコーディングブロックと関連付けられるブロッキングアーティファクトを低減し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ1312に記憶し得る。復号ピクチャバッファ1312は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ1312の中のブロックに基づいて、他のCUのPUのためにイントラ予測動作またはインター予測動作を実行し得る。
図14Aは、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。本開示のフローチャートは、例として与えられる。本開示の技法による他の例は、より多数の、少数の、もしくは異なる活動を含むことがあり、または、活動は異なる順序で実行されることがある。
上で説明されたように、本開示の1つまたは複数の技法によれば、1つのインター予測方向のためのアフィン動きモデルが、別のインター予測方向のためのアフィン動きモデルのシグナリングを改善するために使用され得る。図14Aおよび図14Bは、そのような技法に従った例示的な動作を示す。
図14Aの例では、ビデオエンコーダ20は、ビデオデータの現在のブロックのアフィン動きモデルの制御点の第1の動きベクトルに基づいて、現在のブロックのアフィン動きモデルの制御点の第2の動きベクトルを決定する(1400)。第1の動きベクトルはリストX(Xは0または1である)に対応し、第2の動きベクトルはリストY(Yは1-Xである)に対応する。制御点の第2の動きベクトルを決定するための一例では、ビデオエンコーダ20は、制御点のリストX動きベクトルを決定する。ビデオエンコーダ20は、本開示において提供される例のいずれかに従って、制御点のリストX動きベクトルを決定し得る。さらに、ビデオエンコーダ20は、制御点のリストX動きベクトルのもとで最良のレート-ひずみコストをもたらす、制御点のリストY動きベクトルを決定するための探索を実行し得る。この例では、ビデオエンコーダ20は、制御点のリストX動きベクトルと制御点のリストY動きベクトルとの間の差分を示す、動きベクトル差分をシグナリングし得る。
加えて、ビデオエンコーダ20は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(1402)。ビデオエンコーダ20は、本開示の他の箇所で提供される例に従って、予測ブロックを生成し得る。たとえば、ビデオエンコーダ20は、現在のブロックのアフィン動きモデルの制御点のリストX動きベクトルおよびリストY動きベクトルを使用して、現在のブロックのサブブロックのためのリストX動きベクトルおよびリストY動きベクトルを決定することができ、次いで、動き補償補間フィルタを適用してサブブロックの各々の予測ブロックを生成し、それにより現在のブロックの予測ブロックを生成することができる。
図14Aの例では、ビデオエンコーダ20はまた、予測ブロックに基づいて現在のブロックを復号するために使用されるデータを生成する(1404)。ビデオエンコーダ20は、本開示の他の箇所で提供される例のいずれかに従って、現在のブロックを復号するために使用されるデータを生成し得る。たとえば、本開示の他の箇所で説明されるように、ビデオエンコーダ20は、残差データを生成し、変換を残差データに適用し、変換された残差データを量子化し、量子化された変換された残差データを表すシンタックス要素にエントロピー符号化を適用し得る。
図14Bは、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図14Bの例では、ビデオデコーダ30は、ビデオデータの現在のブロックのアフィン動きモデルの制御点の第1の動きベクトルに基づいて、現在のブロックのアフィン動きモデルの制御点の第2の動きベクトルを決定する(1420)。第1の動きベクトルは、第1の参照ピクチャリスト(すなわち、リストX、ここでXは0または1である)に対応する。第2の動きベクトルは、第2の異なる参照ピクチャリスト(すなわち、リストY、ここでYは1-Xである)に対応する。この例では、ビデオデコーダ30は、本開示において提供される他の例に従って、制御点のリストX動きベクトルを決定し得る。さらに、この例では、制御点のリストY動きベクトルを決定するために、ビデオエンコーダ30は、制御点のリストX動きベクトルと制御点のリストY動きベクトルとの間の差分を示す動きベクトル差分を、ビットストリームから取得し得る。この例では、ビデオデコーダ30は、動きベクトル差分を制御点のリストX動きベクトルに加算して、制御点のリストY動きベクトルを決定し得る。
加えて、ビデオデコーダ30は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(1422)。ビデオデコーダ30は、図14Aのビデオエンコーダ20と同じ方式で予測ブロックを生成し得る。ビデオデコーダ30は、残差データおよび予測ブロックに基づいて現在のブロックを再構築し得る(1424)。たとえば、ビデオデコーダ30は、残差データのサンプルを予測ブロックの対応するサンプルに加算することによって少なくとも一部、現在のブロックを再構築し得る。
図15Aは、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。上で論じられたように、本開示のいくつかの技法によれば、現在のブロックの制御点のMVは、現在のブロックの他の制御点のMVのためのMVP候補として使用され得る。図15Aおよび図15Bは、これらの技法に従った例示的な動作を示す。
図15Aの例では、ビデオエンコーダ20は、ビデオデータの現在のブロックのアフィン動きモデルの第1の制御点の動きベクトルに基づいて、現在のブロックのアフィン動きモデルの第2の制御点の動きベクトルを決定する(1500)。たとえば、ビデオエンコーダ20は、現在のブロックのアフィン動きモデルの第1の制御点(たとえば、左上の制御点)の動きベクトルを、現在のブロックのアフィン動きモデルの第2の制御点(たとえば、右上の制御点)の動きベクトルの予測のために使用される候補リストに候補として含め得る。候補リストの中の他の候補は、隣接するアフィンコーディングされたブロックの対応する制御点(たとえば、左上の制御点)の動きベクトルを含み得る。この例では、ビデオエンコーダ20は次いで、(たとえば、レート-ひずみコストに基づいて)候補リストからある候補を選択し得る。さらに、この例では、ビデオエンコーダ20は次いで、第2の制御点の動きベクトル予測子として、選択された候補の動きベクトルを使用し得る。いくつかの例では、ビデオエンコーダ20は、選択された候補の動きベクトルと第2の制御点の動きベクトル予測子との間の差分を示すMVDをシグナリングする。
さらに、ビデオエンコーダ20は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(1502)。加えて、ビデオエンコーダ20は、予測ブロックに基づいて現在のブロックを復号するために使用されるデータを生成する(1504)。ビデオエンコーダ20は、本開示の他の箇所で提供される例に従って、予測ブロックを生成し、現在のブロックを復号するために使用されるデータを生成し得る。
図15Bは、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図15Bの例では、ビデオデコーダ30は、ビデオデータの現在のブロックのアフィン動きモデルの第1の制御点の動きベクトルに基づいて、現在のブロックのアフィン動きモデルの第2の制御点の動きベクトルを決定する(1520)。ビデオデコーダ30は、図15Aにおいてビデオエンコーダ20に関して上で説明されたのと同じ方式で、現在のブロックのアフィン動きモデルの第2の制御点の動きベクトルを決定し得る。第2の制御点の動きベクトルを決定するために、ビデオデコーダ30は、候補リストの中の選択された候補を示すインデックスをビットストリームから取得し得る。候補リストは、現在のブロックの第1の制御点の動きベクトルを含む、制御点の動きベクトルを含み得る。いくつかの例では、ビデオデコーダ30は、シグナリングされたMVDを選択された候補の動きベクトルに加算することによって、第2の制御点の動きベクトルを決定し得る。
加えて、ビデオデコーダ30は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(1522)。ビデオデコーダ30は、予測ブロックに基づいてブロックを再構築する(1524)。ビデオデコーダ30は、本開示の他の箇所で提供される例に従って、予測ブロックを生成し、ブロックを再構築し得る。たとえば、ビデオデコーダ30は、予測ブロックおよび復号された残差データに基づいてブロックを再構築し得る。
図16Aは、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。上で論じられたように、本開示のいくつかの技法によれば、ビデオコーダは、現在のブロックの1つまたは複数の隣接アフィンブロックの動きモデルを使用して、現在のアフィン動きモデルを予測し得る。図16Aの例では、ビデオエンコーダ20は、単一の隣接アフィンブロックの動きモデルを使用して、現在のブロックのためのアフィン動きモデルの少なくとも2つの制御点を予測する(1600)。加えて、ビデオエンコーダ20は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(1602)。ビデオエンコーダ20は次いで、予測ブロックに基づいて現在のブロックを復号するために使用されるデータを生成する(1604)。ビデオエンコーダ20は、本開示の他の箇所で提供される例に従って、データを生成し得る。
図16Bは、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図16Bの例では、ビデオデコーダ30は、単一の隣接アフィンブロックの動きモデルを使用して、現在のブロックのためのアフィン動きモデルを予測する(1620)。さらに、ビデオデコーダ30は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(1622)。ビデオデコーダ30は次いで、予測ブロックに基づいて現在のブロックを再構築し得る(1624)。ビデオデコーダ30は、本開示の他の箇所で提供される例のいずれかに従って、予測ブロックを生成し、現在のブロックを再構築し得る。
図17は、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。図17および図18は、図16Aおよび図16Bにおいて概説された動作のためのより詳細なフローチャートである。図17の例では、ビデオエンコーダ20がソースアフィンブロックを選択する(1700)。ソースアフィンブロックは、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである。ビデオエンコーダ20は、様々な方法でソースアフィンブロックを選択し得る。たとえば、ビデオエンコーダ20は、ソースアフィンブロックが、事前に定義された訪問順序で訪問される複数の隣接ブロックの最初に生じるアフィンコーディングされたブロックであると決定し得る。いくつかの例では、ビデオエンコーダ20は、ソースアフィンブロックが、事前に定義された訪問順序に基づく複数の事前に定義された優先度セットに従って複数の隣接ブロックの最初に発生する利用可能なアフィンコーディングされたブロックであると決定し得る。アフィンコーディングされたブロックは、アフィンコーディングされたブロックが事前に定義された優先度セットのうちの1つの中にない場合、利用可能であると見なされない。優先度セットの様々な例が、本開示の他の箇所で説明される。
加えて、ビデオエンコーダ20は、ソースアフィンブロックの制御点の動きベクトルを外挿して、現在のブロックの制御点の動きベクトル予測子を決定し得る(1702)。たとえば、ビデオエンコーダ20は、アフィンソースブロックの制御点の動きベクトルによって決定されるアフィンパラメータによって定義されるアフィン動きモデルを構築し得る。ビデオエンコーダ20は次いで、構築されたアフィン動きモデルを使用して、現在のブロック(またはいわゆる外挿された)の制御点の動きベクトルを導出し得る。たとえば、現在のブロックの制御点の動きベクトルを外挿するために、ビデオエンコーダ20は、構築されたアフィン動きモデルの動きベクトルと、式2の現在のブロックの制御点の(x,y)の場所とを使用して、制御点の動きベクトルを決定し得る。
さらに、ビデオエンコーダ20は、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを、アフィンMVPセット候補リストに挿入し得る(1704)。いくつかの例では、ビデオエンコーダ20はまた、アフィンMVPセットに従来のアフィンMVPセットを含め得る。たとえば、一例では、ビデオエンコーダ20は、現在のブロックの第1の制御点の隣のブロックの動きベクトルとして、第1の動きベクトル予測子を決定し得る。この例では、ビデオエンコーダ20は、現在のブロック(たとえば、図6AのブロックA、B、もしくはC、またはブロックDもしくはE)の第2の制御点の隣のブロックの動きベクトルとして第2の動きベクトル予測子を決定する。この例では、ビデオエンコーダ20は、アフィンMVPセット候補リストに、第1の動きベクトル予測子および第2の動きベクトル予測子を含むアフィンMVPセットを挿入する。
いくつかの例では、ビデオエンコーダ20は第2のソースアフィンブロックを選択する。第2のソースアフィンブロックは、現在のブロックに空間的に隣接する異なるアフィンコーディングされたブロックである。この例では、ビデオエンコーダ20は、第2のソースアフィンブロックの制御点の動きベクトルを外挿して、現在のブロックの制御点の第2の動きベクトル予測子を決定する。さらに、ビデオエンコーダ20は、第2のアフィンMVPセットをアフィンMVPセット候補リストに挿入する。第2のアフィンMVPセットは、現在のブロックの制御点の第2の動きベクトル予測子を含む。
続いて、ビデオエンコーダ20は、アフィンMVPセット候補リストの中のアフィンMVPセットを選択する(1706)。ビデオエンコーダ20は、アフィンMVPセット候補リストの中のアフィンMVPセットのレート-ひずみ分析に基づいて、アフィンMVPセットを選択し得る。
ビデオエンコーダ20は、ビットストリームにおいて、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示すMVDをシグナリングし得る(1708)。加えて、ビデオエンコーダ20は、ビットストリームにおいて、選択されたアフィンMVPセットのアフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングし得る(1710)。
図18は、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図18の例では、ビデオデコーダ30がソースアフィンブロックを選択する(1800)。ソースアフィンブロックは、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである。ビデオデコーダ30は、本開示の他の箇所で説明されるように、ビデオエンコーダ20と同じ方法でソースアフィンブロックを選択し得る。
加えて、ビデオデコーダ30は、ソースアフィンブロックの制御点の動きベクトルを外挿して、現在のブロックの制御点の動きベクトル予測子を決定する(1802)。ビデオエンコーダ30は、現在のブロックの制御点の動きベクトル予測子を含むアフィンMVPセットを、アフィンMVPセット候補リストに挿入する(1804)。本開示の他の箇所で説明されるように、ビデオデコーダ30は、制御点の動きベクトルを外挿し、ビデオエンコーダ20と同じ方法でアフィンMVPセットを挿入し得る。ビデオデコーダ30はまた、ビデオエンコーダ20に関して上で説明されたように、追加のアフィンMVPセットをアフィンMVPセット候補リストに追加し得る。
さらに、ビデオデコーダ30は、ビットストリームにおいてシグナリングされるインデックスに基づいて、アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定する(1806)。ビデオデコーダ30は、ビットストリームから、現在のブロックの制御点の動きベクトルと選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示すMVDを取得する(1808)。加えて、ビデオデコーダ30は、選択されたアフィンMVPセットおよびMVDに含まれる動きベクトル予測子に基づいて、現在のブロックの制御点の動きベクトルを決定する(1810)。たとえば、ビデオデコーダ30は、MVDを対応する動きベクトル予測子に加算して、現在のブロックの制御点の動きベクトルを決定し得る。
ビデオデコーダ30は次いで、現在のブロックの制御点の動きベクトルに基づいて、予測ブロックを生成し得る(1812)。ビデオデコーダ30は、残差データおよび予測ブロックに基づいて現在のブロックを再構築し得る(1814)。ビデオデコーダ30は、本開示の他の箇所で提供される例に従って、予測ブロックを生成し、現在のブロックを再構築し得る。
図19Aは、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。上で論じられたように、本開示のいくつかの技法によれば、アフィンインターモードまたはアフィンマージモードにおいて、現在のブロックの各サブブロック(たとえば、4×4のブロック)のアフィンパラメータは、サブブロック自体の隣接ブロックから予測され、または直接継承され得る。図19Aおよび図19Bは、そのような技法に従った例示的な動作を示す。
図19Aの例では、ビデオデータの現在のブロックは複数のサブブロックに区分される。複数のサブブロックの各々のそれぞれのサブブロックに対して、ビデオエンコーダ20は、それぞれの隣接アフィンブロックの外挿された動きを使用して、それぞれのサブブロックのアフィン動きを予測する(1900)。ビデオエンコーダ20は、本開示の他の箇所で説明されるのと同じ方式で、それぞれの隣接アフィンブロックの動きを外挿し得る。いくつかの例では、それぞれの隣接アフィンブロックの外挿された動きを使用してそれぞれのサブブロックのアフィン動きを予測するために、ビデオエンコーダ20は、隣接アフィンブロックの外挿された動きからそれぞれのサブブロックのアフィン動きを予測する。いくつかの事例では、隣接アフィンブロックは現在のブロックの別のサブブロックである。いくつかの例では、それぞれの隣接アフィンブロックの外挿された動きを使用するために、ビデオエンコーダ20は、隣接アフィンブロックの外挿された動きから直接、各々のそれぞれのサブブロックのアフィン動きを継承する。言い換えると、ビデオエンコーダ20は、動きインデックスに等しいそれぞれのサブブロックの制御点の参照インデックスおよび動きベクトルと、それぞれの隣接アフィンブロックの制御点の外挿された動きベクトルとを設定する。たとえば、図10に示されるように、サブブロック1002は、アフィンブロック1004の制御点の参照インデックスおよび外挿された動きベクトルを継承し得る。
加えて、ビデオエンコーダ20は、サブブロックのアフィン動きに基づいて、予測ブロックを生成する(1902)。たとえば、複数のサブブロックの各々のそれぞれのサブブロックに対して、ビデオエンコーダ20は、それぞれのサブブロックのアフィン動きを使用して、それぞれのサブブロックのそれぞれの予測サブブロックを生成し得る。この例では、ビデオエンコーダ20は、アフィン動きを使用して予測ブロックを生成することについて本開示の他の箇所で説明されたのと同じ方式で、それぞれのサブブロックのアフィン動きを使用してそれぞれのサブブロックのそれぞれの予測サブブロックを生成し得る。たとえば、ビデオエンコーダ20は、式(2)を使用してそれぞれのサブブロックの動きベクトルのx成分およびy成分を計算し得る。ビデオエンコーダ20は次いで、それぞれのサブブロックの動きベクトルを使用して、それぞれのサブブロックの予備予測ブロックまたは最終予測ブロックを決定し得る。さらに、この例では、ビデオエンコーダ20は、予測サブブロックを合成して現在のブロックの予測ブロックを生成し得る。
ビデオエンコーダ20は、予測ブロックに基づいて現在のブロックを復号するために使用されるデータを生成する(1904)。ビデオエンコーダ20は、本開示の他の箇所で提供される対応する例のいずれかに従って、現在のブロックを復号するために使用されるデータを生成し得る。
図19Bは、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図16Bの例では、ビデオデータの現在のブロックは複数のサブブロックに区分される。複数のサブブロックの各々のそれぞれのサブブロックに対して、ビデオデコーダ30は、それぞれの隣接アフィンブロックの外挿された動きを使用して、それぞれのサブブロックのアフィン動きを予測する(1920)。ビデオデコーダ30は、ビデオエンコーダ20に関して上で説明されたのと同じ方式で、それぞれのサブブロックのアフィン動きを予測し得る。いくつかの例では、それぞれの隣接アフィンブロックの外挿された動きを使用するために、ビデオデコーダ30は、隣接アフィンブロックの外挿された動きから、各々のそれぞれのサブブロックのアフィン動きを予測する。いくつかの例では、それぞれの隣接アフィンブロックの外挿された動きを使用するために、ビデオデコーダ30は、隣接アフィンブロックの外挿された動きから直接、各々のそれぞれのサブブロックのアフィン動きを継承する。
さらに、ビデオデコーダ30は、サブブロックのアフィン動きに基づいて、予測ブロックを生成する(1922)。ビデオデコーダ30は、ビデオエンコーダ20に関して上で説明されたのと同じ方式で、予測ブロックを生成し得る。ビデオデコーダ30は、予測ブロックに基づいて現在のブロックを再構築する(1924)。たとえば、ビデオデコーダ30は、ビットストリームから復号された対応する残差サンプルに予測ブロックのサンプルを加算することによって、現在のブロックを再構築し得る。
図20Aは、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。上で論じられたように、本開示のいくつかの技法によれば、1つのMVP候補セット内のすべてのMVPが同一であるとは限らないことを確実にするために、オフセットがMVPに加算され得る。図20Aおよび図20Bは、これらの技法に従った例示的な動作を示す。
具体的には、図20Aの例では、第1の動きベクトルは、現在のブロックのアフィン動きモデルの第1の制御点の動きベクトルである。第2の動きベクトルは、現在のブロックのアフィン動きモデルの第2の制御点の動きベクトルである。動きベクトルの候補リストの中の候補の総数が2未満であることと、第1の動きベクトルおよび第2の動きベクトルが同じであることとに基づいて、ビデオエンコーダ20はオフセットを動きベクトル予測子に加算する(2000)。本開示の他の箇所で説明されるように、オフセットは、候補リストの中の異なる場所に対しては異なり得る。
加えて、ビデオエンコーダ20は、動きベクトル予測子を候補リストに含める(2002)。たとえば、ビデオエンコーダ20は、動きベクトル予測子を動きベクトル予測子のアレイに含め得る。加えて、ビデオエンコーダ20は、候補リストの中の候補を選択する(2004)。ビデオエンコーダ20は、選択された候補が候補リストの中の候補のうちで最良のレート-ひずみ値をもたらすように、候補を選択し得る。さらに、ビデオエンコーダ20は、選択された候補を使用して予測ブロックを決定する(2006)。たとえば、ビデオエンコーダ20は、選択された候補によって指定される動きベクトルを使用して、参照ピクチャの中の位置を特定し得る。この例では、ビデオエンコーダ20は、参照ピクチャの中の特定された位置にあるサンプルのブロックのコピーに回転を適用することによって、予測ブロックを決定し得る。いくつかの例では、ビデオエンコーダ20は、選択された候補を使用して第1の予備予測ブロックを決定し、また、第2の予測ブロックを(たとえば、異なる参照ピクチャリストの中の参照ピクチャの中のサンプルに基づいて)決定し得る。この例では、ビデオエンコーダ20は、第1の予備予測ブロックおよび第2の予備予測ブロックの中の対応するサンプルの加重平均として、予測ブロックの中のサンプルを決定し得る。
ビデオエンコーダ20は次いで、現在のブロックおよび予測ブロックのサンプルに基づいて残差データを生成し得る(2008)。たとえば、ビデオエンコーダ20は、残差データの各サンプルが、現在のブロックの中の対応するサンプルと予測ブロックの中の対応するサンプルとの間の差分を示すように、残差データを生成し得る。加えて、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、候補リストの中の選択された候補の指示を含める(2010)。
図20Bは、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図18Bの例では、動きベクトルの候補リストの中の候補の総数が2未満であることと、第1の動きベクトルおよび第2の動きベクトルが同じであることとに基づいて、ビデオデコーダ30はオフセットを動きベクトル予測子に加算する(2020)。この例では、第1の動きベクトルは、ビデオデータの現在のブロックのアフィン動きモデルの第1の制御点の動きベクトルである。第2の動きベクトルは、現在のブロックのアフィン動きモデルの第2の制御点の動きベクトルである。
さらに、図20Bの例では、ビデオエンコーダ30は、動きベクトル予測子を候補リストに含める(2022)。ビデオデコーダ30は次いで、候補リストの中の選択された候補を決定し得る(2024)。加えて、ビデオデコーダ30は、選択された候補を使用して予測ブロックを決定し得る(2026)。ビデオデコーダ30は次いで、予測ブロックに基づいて現在のブロックを再構築し得る(2028)。いくつかの例では、ビデオデコーダ30は、予測ブロックおよび残差データに基づいて現在のブロックを再構築し得る。
図21Aは、本開示の技法による、ビデオデータを符号化するための例示的な動作を示すフローチャートである。上で述べられたように、本開示の技法によれば、mvd_l1_zero_flagはいくつかのコーディングモードに適用可能であることがあり、他のモードでは、このフラグは、MVDが0に等しいことをmvd_l1_zero_flagが示す場合であっても無視される。図21Aおよび図21Bは、この技法に従った例示的な動作を示す。
具体的には、図21Aの例では、ビデオエンコーダ20は、ビットストリームに、第2の参照ピクチャリスト(たとえば、リスト1)に対する動きベクトル差分がビットストリームにおいてシグナリングされるかどうかを示すフラグ(たとえば、mvd_l1_zero_flag)を含める(2100)。ビデオデータの現在のブロックの動きがアフィン動きモードであることに基づいて、フラグの値とは無関係に、ビデオエンコーダ20はビットストリームにMVDを含める(2102)。たとえば、ビデオエンコーダ20は、MVDの垂直成分を示すシンタックス要素およびMVDの水平成分を示す第2の要素をビットストリームに含め得る。
さらに、ビデオエンコーダ20は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(2104)。ビデオデコーダ20は、本開示の他の箇所で提供される例のいずれかに従って、現在のブロックのアフィン動きモデルに基づいて予測ブロックを生成し得る。ビデオエンコーダ20は次いで、予測ブロックに基づいて現在のブロックを復号するために使用されるデータを生成し得る(2106)。たとえば、本開示の他の箇所で説明されるように、ビデオエンコーダ20は、残差データを生成し、変換を残差データに適用し、変換された残差データを量子化し、量子化された変換された残差データを表すシンタックス要素にエントロピー符号化を適用し得る。
図21Bは、本開示の技法による、ビデオデータを復号するための例示的な動作を示すフローチャートである。図21Bの例では、ビデオデコーダ30は、ビットストリームから、第2の参照ピクチャリスト(たとえば、リスト1)に対する動きベクトル差分がビットストリームにおいてシグナリングされるかどうかを示すフラグ(たとえば、mvd_l1_zero_flag)を取得する(2120)。
加えて、図21Bの例では、ビデオデータの現在のブロックの動きがアフィン動きモードであることに基づいて、フラグの値とは無関係に、ビデオデコーダ30はビットストリームからMVDを取得する(2122)。言い換えると、ビデオデコーダ30はMVDをビットストリームから復号する。いくつかの例では、ビットストリームからMVDを取得するために、ビデオデコーダ30は、MVDの垂直成分を示す第1のシンタックス要素およびMVDの水平成分を示す第2のシンタックス要素をビットストリームから取得する。ビデオデコーダ30は、動きベクトル差分に基づいて、現在のブロックのアフィン動きモデルを決定する(2124)。加えて、ビデオデコーダ30は、現在のブロックのアフィン動きモデルに基づいて、予測ブロックを生成する(2126)。さらに、ビデオデコーダ30は、予測ブロックに基づいてブロックを再構築する(2128)。ビデオデコーダ30は、本開示の他の箇所で提供される例のいずれかに従って、予測ブロックを生成し、ブロックを再構築し得る。
本開示のいくつかの態様は、説明を目的にHEVC規格の拡張に関して説明されている。しかしながら、本開示において説明される技法は、現在開発中のまたはまだ開発されていない他の標準的なまたは独自のビデオコーディングプロセスを含む、他のビデオコーディングプロセスにとって有用であり得る。
本開示で説明されるようなビデオコーダは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、場合により、ビデオ符号化またはビデオ復号を指すことがある。本開示では、「に基づいて」という句は、「だけに基づいて」、「に少なくとも一部基づいて」、または「何らかの形で基づいて」を示し得る。本開示は、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオ単位」または「ビデオブロック」または「ブロック」という用語を使用することがある。例示的なタイプのビデオ単位は、CTU、CU、PU、変換単位(TU)、マクロブロック、マクロブロック区分などを含み得る。いくつかの文脈では、PUの議論はマクロブロックまたはマクロブロック区分の議論と相互に交換され得る。例示的なタイプのビデオブロックは、コーディングツリーブロック、コーディングブロック、およびビデオデータの他のタイプのブロックを含み得る。
例によっては、本明細書において説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行されてよく、追加され、統合され、または完全に除外されてよい(たとえば、説明されたすべての行為またはイベントが技法の実践にとって必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて並行して実行されてよい。
1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるかまたはコンピュータ可読媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に相当するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コード、および/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数の処理回路によってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびblu-rayディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
本開示において説明される機能は、固定された機能および/またはプログラム可能な処理回路によって実行され得る。たとえば、命令は、固定された機能および/またはプログラム可能な処理回路によって実行され得る。そのような処理回路は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積論理回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサを含み得る。したがって、本明細書において使用される「プロセッサ」という用語は、上記の構造、または本明細書において説明される技法の実装に適した任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で与えられることがあり、または複合コーデックに組み込まれることがある。また、技法は、1つまたは複数の回路または論理要素で全体的に実装され得る。処理回路は、様々な方法で他の構成要素に結合され得る。たとえば、処理回路は、内部のデバイス相互接続、有線もしくはワイヤレスのネットワーク接続、または別の通信媒体を介して、他の構成要素に結合され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示で説明されるが、それらは必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わされてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、上で説明されたような1つまたは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
10 ビデオ符号化および復号システム
12 ソースデバイス
14 宛先デバイス
16 コンピュータ可読媒体
18 ビデオソース
19 記憶媒体
20 ビデオエンコーダ
22 出力インターフェース
26 入力インターフェース
28 記憶媒体
30 ビデオデコーダ
32 ディスプレイデバイス
300 右下のブロック
302 中心のブロック
320 現在のブロック
322 現在のピクチャ
323 併置されたブロック
324 併置されたピクチャ
326 併置されたMV
328 併置された参照ピクチャ
330 TMVP
332 現在の参照ピクチャ
400 現在のブロック
402 左上の制御点
404 右上の制御点
500 現在のブロック
502 左上の制御点
504 右上の制御点
506 動きベクトル
508 動きベクトル
600 現在のブロック
620 候補リスト
700 現在のブロック
720 現在のブロック
820 アフィンMVPセット候補リスト
900 アフィンMVPセット候補リスト
902 外挿されたMVPセット
1000 現在のブロック
1002 TLサブブロック
1004 隣接ブロックB2
1006 TRサブブロック
1008 隣接ブロックB1
1100 リストX候補リスト
1102 第1のAMVPで導出される候補
1104 第1のAMVPで導出される動きベクトル予測子
1106 第2のAMVPで導出される動きベクトル予測子
1108 第2のAMVPで導出される動き候補
1110 第3のAMVPで導出される動きベクトル予測子
1112 第4のAMVPで導出される動きベクトル予測子
1120 候補リスト
1122 第1のAMVPで導出される候補
1124 第1のAMVPで導出される動きベクトル予測子
1126 第2のAMVPで導出される動きベクトル予測子
1128 第3のAMVPで導出される動きベクトル予測子
1130 第2のAMVPで導出される動き候補
1132 第4のAMVPで導出される動きベクトル予測子
1134 第5のAMVPで導出される動きベクトル予測子
1136 第6のAMVPで導出される動きベクトル予測子
1200 予測処理ユニット
1201 ビデオデータメモリ
1202 加算器
1204 変換処理ユニット
1206 量子化ユニット
1208 逆量子化ユニット
1210 逆変換処理ユニット
1212 加算器
1214 フィルタユニット
1216 復号ピクチャバッファ
1218 エントロピー符号化ユニット
1222 インター予測処理ユニット
1226 イントラ予測処理ユニット
1300 エントロピー復号ユニット
1301 ビデオデータメモリ
1302 予測処理ユニット
1304 逆量子化ユニット
1306 逆変換処理ユニット
1308 加算器
1310 フィルタユニット
1312 復号ピクチャバッファ
1314 動き補償ユニット
1316 イントラ予測処理ユニット

Claims (36)

  1. ビデオデータを復号する方法であって、
    ソースアフィンブロックを選択するステップであって、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、ステップと、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの制御点の動きベクトル予測子を決定するステップと、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストに挿入するステップと、
    ビットストリームにおいてシグナリングされるインデックスに基づいて、前記アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定するステップと、
    前記ビットストリームから、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)を取得するステップと、
    前記選択されたアフィンMVPセットおよび前記MVDに含まれる前記動きベクトル予測子に基づいて、前記現在のブロックの前記制御点の動きベクトルを決定するステップと、
    前記現在のブロックの前記制御点の前記動きベクトルに基づいて、予測ブロックを生成するステップと、
    残差データおよび前記予測ブロックに基づいて前記現在のブロックを再構築するステップとを備える、方法。
  2. 前記現在のブロックの前記制御点が、第1の制御点および第2の制御点を含み、前記方法が、
    前記現在のブロックの前記第1の制御点の隣のブロックの動きベクトルとして、第1の動きベクトル予測子を決定するステップと、
    前記現在のブロックの前記第2の制御点の隣のブロックの動きベクトルとして、第2の動きベクトル予測子を決定するステップと、
    前記アフィンMVPセット候補リストに、前記第1の動きベクトル予測子および前記第2の動きベクトル予測子を含むアフィンMVPセットを挿入するステップとをさらに備える、請求項1に記載の方法。
  3. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記ソースアフィンブロックを選択するステップが、
    前記ソースアフィンブロックが、事前に定義された訪問順序で訪問される前記複数の隣接ブロックの最初に生じるアフィンコーディングされたブロックであると、決定するステップを備える、請求項1に記載の方法。
  4. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記ソースアフィンブロックを選択するステップが、
    前記ソースアフィンブロックが、事前に定義された訪問順序に基づく複数の事前に定義された優先度セットに従って前記複数の隣接ブロックの最初に生じる利用可能なアフィンコーディングされたブロックであると、決定するステップを備え、アフィンコーディングされたブロックが前記事前に定義された優先度セットのうちの1つの中にない場合、前記アフィンコーディングされたブロックが利用可能であると見なされない、請求項1に記載の方法。
  5. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと同じであるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1であり、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと同じであるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項4に記載の方法。
  6. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと異なるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1であり、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと異なるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項4に記載の方法。
  7. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックがアフィンインターモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、
    前記それぞれの隣接ブロックがアフィンマージモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にある
    ように定義される、請求項4に記載の方法。
  8. アフィンソースブロックが第1のアフィンソースブロックであり、前記方法が、
    第2のソースアフィンブロックを選択するステップであって、前記第2のソースアフィンブロックが、前記現在のブロックに空間的に隣接する異なるアフィンコーディングされたブロックである、ステップと、
    前記第2のソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの前記制御点の第2の動きベクトル予測子を決定するステップと、
    前記現在のブロックの前記制御点の前記第2の動きベクトル予測子を含む第2のアフィンMVPセットを、前記アフィンMVPセット候補リストに挿入するステップとをさらに備える、請求項1に記載の方法。
  9. ビデオデータを符号化する方法であって、
    ソースアフィンブロックを選択するステップであって、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、ステップと、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの制御点の動きベクトル予測子を決定するステップと、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィンMVPセットを、アフィン動きベクトル予測子(MVP)セット候補リストに挿入するステップと、
    前記アフィンMVPセット候補リストの中のアフィンMVPセットを選択するステップと、
    ビットストリームにおいて、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)をシグナリングするステップと、
    前記ビットストリームにおいて、前記選択されたアフィンMVPセットの前記アフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングするステップとを備える、方法。
  10. 前記現在のブロックの前記制御点が、第1の制御点および第2の制御点を含み、前記方法が、
    前記現在のブロックの前記第1の制御点の隣のブロックの動きベクトルとして、第1の動きベクトル予測子を決定するステップと、
    前記現在のブロックの前記第2の制御点の隣のブロックの動きベクトルとして、第2の動きベクトル予測子を決定するステップと、
    前記アフィンMVPセット候補リストに、前記第1の動きベクトル予測子および前記第2の動きベクトル予測子を含むアフィンMVPセットを挿入するステップとをさらに備える、請求項9に記載の方法。
  11. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記ソースアフィンブロックを選択するステップが、
    前記ソースアフィンブロックが、事前に定義された訪問順序で訪問される前記複数の隣接ブロックの最初に生じるアフィンコーディングされたブロックであると、決定するステップを備える、請求項9に記載の方法。
  12. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記ソースアフィンブロックを選択するステップが、
    前記ソースアフィンブロックが、事前に定義された訪問順序に基づく複数の事前に定義された優先度セットに従って前記複数の隣接ブロックの最初に生じる利用可能なアフィンコーディングされたブロックであると、決定するステップを備え、アフィンコーディングされたブロックが前記事前に定義された優先度セットのうちの1つの中にない場合、前記アフィンコーディングされたブロックが利用可能であると見なされない、請求項9に記載の方法。
  13. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと同じであるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1に等しく、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと同じであるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項12に記載の方法。
  14. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと異なるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1に等しく、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと異なるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項12に記載の方法。
  15. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックがアフィンインターモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、
    前記それぞれの隣接ブロックがアフィンマージモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にある
    ように定義される、請求項12に記載の方法。
  16. アフィンソースブロックが第1のアフィンソースブロックであり、前記方法が、
    第2のソースアフィンブロックを選択するステップであって、前記第2のソースアフィンブロックが、前記現在のブロックに空間的に隣接する異なるアフィンコーディングされたブロックである、ステップと、
    前記第2のソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの前記制御点の第2の動きベクトル予測子を決定するステップと、
    前記現在のブロックの前記制御点の前記第2の動きベクトル予測子を含む第2のアフィンMVPセットを、前記アフィンMVPセット候補リストに挿入するステップとをさらに備える、請求項9に記載の方法。
  17. ビデオデータを復号するためのデバイスであって、
    前記ビデオデータを記憶するように構成されるメモリと、
    1つまたは複数の処理回路とを備え、前記1つまたは複数の処理回路が、
    ソースアフィンブロックを選択し、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの制御点の動きベクトル予測子を決定し、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストに挿入し、
    ビットストリームにおいてシグナリングされるインデックスに基づいて、前記アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定し、
    前記ビットストリームから、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)を取得し、
    前記選択されたアフィンMVPセットおよび前記MVDに含まれる前記動きベクトル予測子に基づいて、前記現在のブロックの前記制御点の動きベクトルを決定し、
    前記現在のブロックの前記制御点の前記動きベクトルに基づいて、予測ブロックを生成し、
    残差データおよび前記予測ブロックに基づいて前記現在のブロックを再構築する
    ように構成される、デバイス。
  18. 前記現在のブロックの前記制御点が、第1の制御点および第2の制御点を含み、前記1つまたは複数の処理回路がさらに、
    前記現在のブロックの前記第1の制御点の隣のブロックの動きベクトルとして、第1の動きベクトル予測子を決定し、
    前記現在のブロックの前記第2の制御点の隣のブロックの動きベクトルとして、第2の動きベクトル予測子を決定し、
    前記アフィンMVPセット候補リストに、前記第1の動きベクトル予測子および前記第2の動きベクトル予測子を含むアフィンMVPセットを挿入するように構成される、請求項17に記載のデバイス。
  19. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記1つまたは複数の処理回路が、前記ソースアフィンブロックを選択することの一部として、
    前記ソースアフィンブロックが、事前に定義された訪問順序で訪問される前記複数の隣接ブロックの最初に生じるアフィンコーディングされたブロックであると、前記1つまたは複数の処理回路が決定する
    ように構成される、請求項17に記載のデバイス。
  20. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記1つまたは複数の処理回路が、前記ソースアフィンブロックを選択することの一部として、
    前記ソースアフィンブロックが、事前に定義された訪問順序に基づく複数の事前に定義された優先度セットに従って前記複数の隣接ブロックの最初に生じる利用可能なアフィンコーディングされたブロックであると、前記1つまたは複数の処理回路が決定する
    ように構成され、アフィンコーディングされたブロックが前記事前に定義された優先度セットのうちの1つの中にない場合、前記アフィンコーディングされたブロックが利用可能であると見なされない、請求項17に記載のデバイス。
  21. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと同じであるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1に等しく、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと同じであるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項20に記載のデバイス。
  22. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと異なるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1に等しく、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと異なるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項20に記載のデバイス。
  23. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックがアフィンインターモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、
    前記それぞれの隣接ブロックがアフィンマージモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にある
    ように定義される、請求項20に記載のデバイス。
  24. アフィンソースブロックが第1のアフィンソースブロックであり、前記1つまたは複数の処理回路がさらに、
    第2のソースアフィンブロックを選択し、前記第2のソースアフィンブロックが、前記現在のブロックに空間的に隣接する異なるアフィンコーディングされたブロックであり、
    前記第2のソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの前記制御点の第2の動きベクトル予測子を決定し、
    前記現在のブロックの前記制御点の前記第2の動きベクトル予測子を含む第2のアフィンMVPセットを、前記アフィンMVPセット候補リストに挿入するように構成される、請求項17に記載のデバイス。
  25. ビデオデータを符号化するためのデバイスであって、
    前記ビデオデータを記憶するように構成されるメモリと、
    1つまたは複数の処理回路とを備え、前記1つまたは複数の処理回路が、
    ソースアフィンブロックを選択し、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの制御点の動きベクトル予測子を決定し、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストに挿入し、
    前記アフィンMVPセット候補リストの中のアフィンMVPセットを選択し、
    ビットストリームにおいて、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)をシグナリングし、
    前記ビットストリームにおいて、前記選択されたアフィンMVPセットの前記アフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングする
    ように構成される、デバイス。
  26. 前記現在のブロックの前記制御点が、第1の制御点および第2の制御点を含み、前記1つまたは複数の処理回路がさらに、
    前記現在のブロックの前記第1の制御点の隣のブロックの動きベクトルとして、第1の動きベクトル予測子を決定し、
    前記現在のブロックの前記第2の制御点の隣のブロックの動きベクトルとして、第2の動きベクトル予測子を決定し、
    前記アフィンMVPセット候補リストに、前記第1の動きベクトル予測子および前記第2の動きベクトル予測子を含むアフィンMVPセットを挿入するように構成される、請求項25に記載のデバイス。
  27. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記1つまたは複数の処理回路が、前記ソースアフィンブロックを選択することの一部として、
    前記ソースアフィンブロックが、事前に定義された訪問順序で訪問される前記複数の隣接ブロックの最初に生じるアフィンコーディングされたブロックであると、前記1つまたは複数の処理回路が決定する
    ように構成される、請求項25に記載のデバイス。
  28. 前記現在のブロックが複数の隣接ブロックの隣にあり、前記1つまたは複数の処理回路が、前記ソースアフィンブロックを選択することの一部として、
    前記ソースアフィンブロックが、事前に定義された訪問順序に基づく複数の事前に定義された優先度セットに従って前記複数の隣接ブロックの最初に生じる利用可能なアフィンコーディングされたブロックであると、前記1つまたは複数の処理回路が決定する
    ように構成され、アフィンコーディングされたブロックが前記事前に定義された優先度セットのうちの1つの中にない場合、前記アフィンコーディングされたブロックが利用可能であると見なされない、請求項25に記載のデバイス。
  29. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと同じであるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1であり、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと同じであるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項28に記載のデバイス。
  30. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックが、前記現在のブロックのリストX参照ピクチャと異なるリストX参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、Xが0または1であり、
    前記それぞれの隣接ブロックが、前記現在のブロックの前記リストX参照ピクチャと異なるリストY参照ピクチャを有する場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にあり、Yが1-Xに等しい
    ように定義される、請求項28に記載のデバイス。
  31. 前記複数の事前に定義された優先度セットが第1の優先度セットおよび第2の優先度セットを含み、
    前記第1の優先度セットおよび前記第2の優先度セットが、前記複数の隣接ブロックの各々のそれぞれの隣接ブロックに対して、
    前記それぞれの隣接ブロックがアフィンインターモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第1の優先度セットの中にあり、
    前記それぞれの隣接ブロックがアフィンマージモードでコーディングされる場合、前記それぞれの隣接ブロックが前記第2の優先度セットの中にある
    ように定義される、請求項28に記載のデバイス。
  32. アフィンソースブロックが第1のアフィンソースブロックであり、前記1つまたは複数の処理回路がさらに、
    第2のソースアフィンブロックを選択し、前記第2のソースアフィンブロックが、前記現在のブロックに空間的に隣接する異なるアフィンコーディングされたブロックであり、
    前記第2のソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの前記制御点の第2の動きベクトル予測子を決定し、
    前記現在のブロックの前記制御点の前記第2の動きベクトル予測子を含む第2のアフィンMVPセットを、前記アフィンMVPセット候補リストに挿入するように構成される、請求項25に記載のデバイス。
  33. ビデオデータを復号するためのデバイスであって、
    ソースアフィンブロックを選択するための手段であって、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、手段と、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの制御点の動きベクトル予測子を決定するための手段と、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストに挿入するための手段と、
    ビットストリームにおいてシグナリングされるインデックスに基づいて、前記アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定するための手段と、
    前記ビットストリームから、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)を取得するための手段と、
    前記選択されたアフィンMVPセットおよび前記MVDに含まれる前記動きベクトル予測子に基づいて、前記現在のブロックの前記制御点の動きベクトルを決定するための手段と、
    前記現在のブロックの前記制御点の前記動きベクトルに基づいて、予測ブロックを生成するための手段と、
    残差データおよび前記予測ブロックに基づいて前記現在のブロックを再構築するための手段とを備える、デバイス。
  34. ビデオデータを符号化するためのデバイスであって、
    ソースアフィンブロックを選択するための手段であって、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックである、手段と、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿して、前記現在のブロックの制御点の動きベクトル予測子を決定するための手段と、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィンMVPセットを、アフィン動きベクトル予測子(MVP)セット候補リストに挿入するための手段と、
    前記アフィンMVPセット候補リストの中のアフィンMVPセットを選択するための手段と、
    ビットストリームにおいて、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)をシグナリングするための手段と、
    前記ビットストリームにおいて、前記選択されたアフィンMVPセットの前記アフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングするための手段とを備える、デバイス。
  35. 実行されると、ビデオ復号のためのデバイスの1つまたは複数の処理回路に、
    ソースアフィンブロックを選択させ、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿させて、前記現在のブロックの制御点の動きベクトル予測子を決定させ、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストへ挿入させ、
    ビットストリームにおいてシグナリングされるインデックスに基づいて、前記アフィンMVPセット候補リストの中の選択されたアフィンMVPセットを決定させ、
    前記ビットストリームから、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)を取得させ、
    前記選択されたアフィンMVPセットおよび前記MVDに含まれる前記動きベクトル予測子に基づいて、前記現在のブロックの前記制御点の動きベクトルを決定させ、
    前記現在のブロックの前記制御点の前記動きベクトルに基づいて、予測ブロックを生成させ、
    残差データおよび前記予測ブロックに基づいて前記現在のブロックを再構築させる、命令を記憶したコンピュータ可読記憶媒体。
  36. 実行されると、ビデオデータを符号化するためのデバイスの1つまたは複数の処理回路に、
    ソースアフィンブロックを選択させ、前記ソースアフィンブロックが、現在のブロックに空間的に隣接するアフィンコーディングされたブロックであり、
    前記ソースアフィンブロックの制御点の動きベクトルを外挿させて、前記現在のブロックの制御点の動きベクトル予測子を決定させ、
    前記現在のブロックの前記制御点の前記動きベクトル予測子を含むアフィン動きベクトル予測子(MVP)セットを、アフィンMVPセット候補リストへ挿入させ、
    前記アフィンMVPセット候補リストの中のアフィンMVPセットを選択させ、
    ビットストリームにおいて、前記現在のブロックの前記制御点の動きベクトルと前記選択されたアフィンMVPセットの中の動きベクトル予測子との間の差分を示す動きベクトル差分(MVD)をシグナリングさせ、
    前記ビットストリームにおいて、前記選択されたアフィンMVPセットの前記アフィンMVPセット候補リストにおける場所を示すインデックスをシグナリングさせる、命令を記憶したコンピュータ可読記憶媒体。
JP2019517341A 2016-10-05 2017-10-05 ビデオコーディングにおけるアフィン動きモデルのための動きベクトル予測 Active JP6817425B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662404719P 2016-10-05 2016-10-05
US62/404,719 2016-10-05
US15/725,052 2017-10-04
US15/725,052 US10448010B2 (en) 2016-10-05 2017-10-04 Motion vector prediction for affine motion models in video coding
PCT/US2017/055350 WO2018067823A1 (en) 2016-10-05 2017-10-05 Motion vector prediction for affine motion models in video coding

Publications (3)

Publication Number Publication Date
JP2019535192A true JP2019535192A (ja) 2019-12-05
JP2019535192A5 JP2019535192A5 (ja) 2020-01-30
JP6817425B2 JP6817425B2 (ja) 2021-01-20

Family

ID=61757401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019517341A Active JP6817425B2 (ja) 2016-10-05 2017-10-05 ビデオコーディングにおけるアフィン動きモデルのための動きベクトル予測

Country Status (17)

Country Link
US (2) US10448010B2 (ja)
EP (2) EP3758378B1 (ja)
JP (1) JP6817425B2 (ja)
KR (1) KR102147614B1 (ja)
CN (1) CN109792533B (ja)
AU (1) AU2017340631B2 (ja)
BR (1) BR112019006838A2 (ja)
CA (1) CA3035587C (ja)
ES (1) ES2841312T3 (ja)
HU (1) HUE051174T2 (ja)
MX (1) MX2019003762A (ja)
MY (1) MY200181A (ja)
PH (1) PH12019500417A1 (ja)
RU (1) RU2718225C1 (ja)
SG (1) SG11201901632QA (ja)
TW (1) TWI696384B (ja)
WO (1) WO2018067823A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022501959A (ja) * 2018-10-04 2022-01-06 テンセント・アメリカ・エルエルシー ビデオ符号化及び復号のための方法および装置
JP2022502899A (ja) * 2018-09-21 2022-01-11 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. ビデオ信号符号化/復号化方法及びそのための機器
JP2022113815A (ja) * 2018-07-13 2022-08-04 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
JP7393326B2 (ja) 2017-08-03 2023-12-06 エルジー エレクトロニクス インコーポレイティド アフィン予測を用いてビデオ信号を処理する方法及び装置

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
EP3432578A4 (en) * 2016-03-24 2019-11-20 LG Electronics Inc. METHOD AND APPARATUS FOR INTER-PREDICTION IN A VIDEO CODING SYSTEM
EP3456058A1 (en) * 2016-05-13 2019-03-20 VID SCALE, Inc. Bit depth remapping based on viewing parameters
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US11503314B2 (en) 2016-07-08 2022-11-15 Interdigital Madison Patent Holdings, Sas Systems and methods for region-of-interest tone remapping
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
JP6895247B2 (ja) * 2016-10-06 2021-06-30 日本放送協会 符号化装置、復号装置及びプログラム
WO2018070152A1 (en) * 2016-10-10 2018-04-19 Sharp Kabushiki Kaisha Systems and methods for performing motion compensation for coding of video data
US11765406B2 (en) 2017-02-17 2023-09-19 Interdigital Madison Patent Holdings, Sas Systems and methods for selective object-of-interest zooming in streaming video
CN110383848B (zh) 2017-03-07 2022-05-06 交互数字麦迪逊专利控股公司 用于多设备呈现的定制视频流式传输
CN110651474B (zh) * 2017-05-18 2022-02-18 联发科技股份有限公司 用于视频编解码的运动向量限制方法和装置
WO2019002215A1 (en) * 2017-06-26 2019-01-03 Interdigital Vc Holdings, Inc. MULTIPLE PREDICTION CANDIDATES FOR MOTION COMPENSATION
CN116708780A (zh) * 2017-08-11 2023-09-05 华为技术有限公司 视频图像编码和解码的方法、装置及设备
US11082721B2 (en) * 2017-09-07 2021-08-03 Lg Electronics Inc. Method and apparatus for entropy-encoding and entropy-decoding video signal
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
US10856003B2 (en) 2017-10-03 2020-12-01 Qualcomm Incorporated Coding affine prediction motion information for video coding
EP3468195A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Improved predictor candidates for motion compensation
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
CN116915986A (zh) * 2017-12-12 2023-10-20 华为技术有限公司 视频数据的帧间预测方法和装置
US20190208211A1 (en) 2018-01-04 2019-07-04 Qualcomm Incorporated Generated affine motion vectors
US11172229B2 (en) 2018-01-12 2021-11-09 Qualcomm Incorporated Affine motion compensation with low bandwidth
CN118042154A (zh) 2018-01-25 2024-05-14 三星电子株式会社 使用基于子块的运动补偿进行视频信号处理的方法和装置
EP3747192A1 (en) 2018-01-29 2020-12-09 InterDigital VC Holdings, Inc. Encoding and decoding with refinement of the reconstructed picture
KR102568879B1 (ko) * 2018-04-01 2023-08-21 엘지전자 주식회사 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치
CN112106369A (zh) * 2018-04-06 2020-12-18 艾锐势有限责任公司 减少双向时间预测中的运动矢量信息传输
EP4351146A3 (en) 2018-04-13 2024-06-12 LG Electronics Inc. Method and apparatus for inter prediction in video processing system
WO2019203504A1 (ko) * 2018-04-15 2019-10-24 엘지전자 주식회사 비디오 처리 시스템에서 움직임 정보에 대한 저장 공간을 감소시키는 방법 및 장치
US11451816B2 (en) * 2018-04-24 2022-09-20 Mediatek Inc. Storage of motion vectors for affine prediction
KR20230109772A (ko) * 2018-04-24 2023-07-20 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
CN111316641B (zh) * 2018-05-03 2022-08-09 Lg电子株式会社 根据块尺寸使用变换来解码图像的方法和设备
CA3100970A1 (en) * 2018-05-24 2019-11-28 Kt Corporation Method and apparatus for processing video signal
US11503300B2 (en) 2018-05-25 2022-11-15 Hfi Innovation Inc. Method and apparatus of affine mode motion-vector prediction derivation for video coding system
WO2019235822A1 (ko) * 2018-06-04 2019-12-12 엘지전자 주식회사 어파인 움직임 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
GB2588023B (en) 2018-06-05 2023-04-12 Beijing Bytedance Network Tech Co Ltd Interaction between IBC and BIO
CN118250474A (zh) * 2018-06-07 2024-06-25 韦勒斯标准与技术协会公司 使用自适应运动矢量分辨率的视频信号处理方法及装置
CN118138761A (zh) * 2018-06-18 2024-06-04 Lg电子株式会社 图像解码设备、编码设备和发送设备
WO2019244052A1 (en) 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Different precisions for different reference list
US20210297691A1 (en) * 2018-06-20 2021-09-23 Mediatek Inc. Method and Apparatus of Motion Vector Buffer Management for Video Coding System
TWI739120B (zh) 2018-06-21 2021-09-11 大陸商北京字節跳動網絡技術有限公司 合併仿射模式與非合併仿射模式的統一拘束
CN110636300B (zh) 2018-06-21 2022-07-29 北京字节跳动网络技术有限公司 颜色分量之间的子块运动矢量继承
CN110662043B (zh) * 2018-06-29 2021-12-21 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
AU2019293670B2 (en) 2018-06-29 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: FIFO, constrained FIFO
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
WO2020005572A1 (en) 2018-06-29 2020-01-02 Interdigital Vc Holdings, Inc. Virtual temporal affine candidates
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
JP7328330B2 (ja) 2018-06-29 2023-08-16 北京字節跳動網絡技術有限公司 Lutにおける動き候補のチェック順序
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
KR20210016054A (ko) * 2018-06-30 2021-02-10 김기백 영상 부호화/복호화 방법 및 장치
CA3238058A1 (en) * 2018-06-30 2020-01-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Merge mode-based inter-prediction method and apparatus
WO2020008348A1 (en) 2018-07-02 2020-01-09 Beijing Bytedance Network Technology Co., Ltd. Order of rounding and pruning in lamvr
WO2020009446A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN115695791A (zh) 2018-07-02 2023-02-03 华为技术有限公司 视频图像编码方法以及用于对视频数据进行编码的设备
KR102608181B1 (ko) * 2018-07-02 2023-11-30 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
US10715812B2 (en) * 2018-07-13 2020-07-14 Tencent America LLC Method and apparatus for video coding
US11051025B2 (en) * 2018-07-13 2021-06-29 Tencent America LLC Method and apparatus for video coding
WO2020017861A1 (ko) * 2018-07-16 2020-01-23 엘지전자 주식회사 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
US10805624B2 (en) * 2018-07-16 2020-10-13 Tencent America LLC Determination of parameters of an affine model
SG11202100434TA (en) 2018-07-17 2021-02-25 Huawei Tech Co Ltd Motion model signaling
WO2020024966A1 (en) * 2018-07-31 2020-02-06 Mediatek Inc. Method and apparatus of merge with motion vector difference for video coding
US10827195B2 (en) * 2018-08-03 2020-11-03 Tencent America LLC Method and apparatus for unifying adjacent merge candidates and non-adjacent merge candidates
US11057617B2 (en) * 2018-08-03 2021-07-06 Tencent America LLC Method and apparatus for video coding
CN110809155B (zh) * 2018-08-04 2023-01-31 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读介质
EP4376409A2 (en) * 2018-08-06 2024-05-29 LG Electronics Inc. Image decoding method and device on basis of affine motion prediction using constructed affine mvp candidate in image coding system
WO2020032609A1 (ko) * 2018-08-09 2020-02-13 엘지전자 주식회사 영상 코딩 시스템에서 어파인 머지 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
US11140398B2 (en) * 2018-08-20 2021-10-05 Mediatek Inc. Methods and apparatus for generating affine candidates
CN110868587B (zh) * 2018-08-27 2023-10-20 华为技术有限公司 一种视频图像预测方法及装置
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
EP3840384A4 (en) * 2018-08-28 2021-12-08 Huawei Technologies Co., Ltd. CONSTRUCTION PROCEDURE FOR CANDIDATE MOVEMENT INFORMATION LIST, INTER-FRAME PREDICTION METHOD AND DEVICE
CN117241039A (zh) * 2018-08-28 2023-12-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
TWI729483B (zh) * 2018-09-04 2021-06-01 聯發科技股份有限公司 視訊編解碼系統的運動向量湊整統一的方法以及裝置
CN116647693A (zh) * 2018-09-06 2023-08-25 Lg电子株式会社 编解码设备、存储介质和数据发送设备
WO2020049539A2 (en) 2018-09-08 2020-03-12 Beijing Bytedance Network Technology Co., Ltd. Affine mode calculations for different video block sizes
EP3700216B1 (en) * 2018-09-10 2022-08-03 LG Electronics Inc. Affine motion prediction-based image coding using affine mvp candidate list
CN110891176B (zh) * 2018-09-10 2023-01-13 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
CN111247805B (zh) 2018-09-12 2023-12-01 Lg电子株式会社 在图像编码系统中基于以子块为单元进行的运动预测的图像解码方法和设备
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
EP3850849A1 (en) * 2018-09-13 2021-07-21 InterDigital VC Holdings, Inc. Improved virtual temporal affine candidates
CN110933427B (zh) * 2018-09-19 2023-05-12 北京字节跳动网络技术有限公司 仿射模式编码的模式相关自适应运动矢量分辨率
US11212550B2 (en) * 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
EP3854096A1 (en) * 2018-09-21 2021-07-28 VID SCALE, Inc. Affine motion estimation for affine model-based video coding
US11647203B2 (en) * 2018-09-21 2023-05-09 Lg Electronics Inc. Method and apparatus for deriving motion vector
WO2020060354A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 압축된 움직임 벡터를 제어하는 방법 및 그 장치
GB2579763B (en) * 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
WO2020060757A1 (en) * 2018-09-21 2020-03-26 Interdigital Vc Holdings, Inc. Translational and affine candidates in a unified list
GB2577318B (en) * 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
US11595639B2 (en) 2018-09-21 2023-02-28 Lg Electronics Inc. Method and apparatus for processing video signals using affine prediction
US11039157B2 (en) * 2018-09-21 2021-06-15 Tencent America LLC Techniques for simplified affine motion model coding with prediction offsets
CN110944182B (zh) * 2018-09-23 2023-06-09 北京字节跳动网络技术有限公司 仿射模式中的子块的运动矢量推导
TWI834727B (zh) 2018-09-23 2024-03-11 大陸商北京字節跳動網絡技術有限公司 從仿射運動預測的非仿射塊
TWI835864B (zh) 2018-09-23 2024-03-21 大陸商北京字節跳動網絡技術有限公司 簡化的空時運動矢量預測
WO2020058955A1 (en) * 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Multiple-hypothesis affine mode
US11277628B2 (en) * 2018-09-24 2022-03-15 Qualcomm Incorporated Restrictions for the worst-case bandwidth reduction in video coding
CN110944170B (zh) 2018-09-24 2023-05-02 北京字节跳动网络技术有限公司 扩展Merge预测
US11582480B2 (en) 2018-09-25 2023-02-14 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
CN110958457B (zh) * 2018-09-26 2023-05-12 北京字节跳动网络技术有限公司 模式依赖的仿射继承
US20210400298A1 (en) * 2018-09-28 2021-12-23 Lg Electronics Inc. Method and apparatus for processing video signal by using affine prediction
WO2020071672A1 (ko) * 2018-10-02 2020-04-09 엘지전자 주식회사 움직임 벡터를 압축하는 방법 및 그 장치
CN112913233B (zh) 2018-10-02 2023-08-04 Lg电子株式会社 基于hmvp构造预测候选的方法和设备
WO2020070612A1 (en) 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Improvement for temporal gradient calculating in bio
EP3849190A4 (en) 2018-10-08 2021-11-03 LG Electronics Inc. SYNTAX DESIGN PROCESS AND APPARATUS ALLOWING THE PERFORMANCE OF A CODING USING A SYNTAX
CN111010571B (zh) * 2018-10-08 2023-05-16 北京字节跳动网络技术有限公司 组合仿射Merge候选的生成和使用
CA3115689A1 (en) 2018-10-10 2020-04-16 Interdigital Vc Holdings, Inc. Affine mode signaling in video encoding and decoding
GB2578150C (en) 2018-10-18 2022-05-18 Canon Kk Video coding and decoding
CN111083487B (zh) * 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 仿射模式的运动信息的存储
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
WO2020084510A1 (en) * 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Adaptive control point selection for affine coding
CN111093073B (zh) * 2018-10-24 2024-04-19 北京字节跳动网络技术有限公司 用于子块运动矢量预测的基于搜索的运动候选推导
WO2020094076A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Motion candidates for inter prediction
US11212521B2 (en) * 2018-11-07 2021-12-28 Avago Technologies International Sales Pte. Limited Control of memory bandwidth consumption of affine mode in versatile video coding
CN112970262B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
WO2020098647A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for affine prediction
WO2020098714A1 (en) * 2018-11-13 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Multiple hypothesis for sub-block prediction blocks
WO2020098753A1 (en) * 2018-11-14 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Improvements of Affine Prediction Mode
CN113170192B (zh) * 2018-11-15 2023-12-01 北京字节跳动网络技术有限公司 仿射的merge与mvd
CN113170105A (zh) * 2018-11-16 2021-07-23 北京字节跳动网络技术有限公司 基于历史的仿射参数继承
CN113039790B (zh) 2018-11-17 2023-04-14 北京字节跳动网络技术有限公司 视频处理的方法、装置和非暂时性计算机可读介质
KR20210091161A (ko) 2018-11-20 2021-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 부분적 위치에 기반한 차분 계산
WO2020103933A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Configuration method for default motion candidate
CN113366834A (zh) * 2018-11-26 2021-09-07 弗劳恩霍夫应用研究促进协会 使用切片独立约束的间预测概念
WO2020108560A1 (en) * 2018-11-30 2020-06-04 Mediatek Inc. Video processing methods and apparatuses of determining motion vectors for storage in video coding systems
WO2020114517A1 (en) * 2018-12-08 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Shifting on affine parameters
CN113196771B (zh) * 2018-12-21 2023-12-22 北京字节跳动网络技术有限公司 基于运动矢量精度的运动矢量范围
EP3868107A4 (en) 2018-12-21 2021-12-15 Beijing Bytedance Network Technology Co. Ltd. MOTION VECTOR ACCURACY IN INTERACTING WITH MOTION VECTOR DIFFERENCE MODE
CN111355961B (zh) * 2018-12-24 2023-11-03 华为技术有限公司 一种帧间预测的方法和装置
CN112237003B (zh) * 2018-12-26 2024-05-31 苹果公司 用于对图像信号编码/解码的方法及其装置
MX2021007753A (es) * 2018-12-28 2021-08-05 Jvckenwood Corp Dispositivo de codificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes y metodo de decodificacion de imagenes.
CN112954366A (zh) * 2018-12-28 2021-06-11 Jvc建伍株式会社 动图像编码装置及编码方法、动图像解码装置及解码方法
US11902566B2 (en) * 2018-12-28 2024-02-13 Telefonaktiebolaget Lm Ericsson (Publ) Generating a motion vector predictor list
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
US11758125B2 (en) 2019-01-02 2023-09-12 Lg Electronics Inc. Device and method for processing video signal by using inter prediction
CN113273207A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 基于几何分区的具有运动矢量差(MVD)的Merge
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
US10904553B2 (en) * 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
US11202089B2 (en) * 2019-01-28 2021-12-14 Tencent America LLC Method and apparatus for determining an inherited affine parameter from an affine model
WO2020156516A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Context for coding affine mode adaptive motion vector resolution
US11089325B2 (en) * 2019-02-08 2021-08-10 Qualcomm Incorporated Constrained affine motion inheritance for video coding
WO2020169109A1 (en) 2019-02-22 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Sub-table for history-based affine mode
US11134262B2 (en) 2019-02-28 2021-09-28 Tencent America LLC Method and apparatus for video coding
CN113615194B (zh) * 2019-03-05 2023-06-06 华为技术有限公司 使用抽取预测块的dmvr
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
US11166015B2 (en) * 2019-03-06 2021-11-02 Tencent America LLC Method and apparatus for video coding
KR20210129721A (ko) * 2019-03-11 2021-10-28 알리바바 그룹 홀딩 리미티드 병합 모드를 위한 예측 가중치를 결정하는 방법, 디바이스, 및 시스템
CN111698515B (zh) * 2019-03-14 2023-02-14 华为技术有限公司 帧间预测的方法及相关装置
US11343525B2 (en) 2019-03-19 2022-05-24 Tencent America LLC Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113678444B (zh) * 2019-03-27 2023-08-18 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的仿射模式的熵编解码
WO2020192726A1 (en) 2019-03-27 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. History-based motion vector prediction
EP3928521A4 (en) * 2019-04-02 2022-08-17 Beijing Bytedance Network Technology Co., Ltd. BIDIRECTIONAL OPTICAL FLOW BASED VIDEO ENCODING AND DECODING
US11134257B2 (en) * 2019-04-04 2021-09-28 Tencent America LLC Simplified signaling method for affine linear weighted intra prediction mode
KR102662024B1 (ko) 2019-04-19 2024-05-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 모션 벡터 정제의 그레디언트 계산
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
WO2020211866A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Applicability of prediction refinement with optical flow process
EP3957072A4 (en) 2019-04-19 2023-01-11 Beijing Dajia Internet Information Technology Co., Ltd. VIDEO CODING METHODS AND APPARATUS USING OPTICAL FLOW PREDICTION REFINEMENT
WO2020216381A1 (en) 2019-04-25 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
US11432004B2 (en) * 2019-04-25 2022-08-30 Hfi Innovation Inc. Method and apparatus of constraining merge flag signaling in video coding
EP3959884A4 (en) * 2019-04-25 2022-06-01 OP Solutions, LLC SIGNALING A GLOBAL MOTION VECTOR IN AN IMAGE HEAD
BR112021021352A2 (pt) * 2019-04-25 2022-02-01 Op Solutions Llc Candidatos de previsão de vetor de movimento adaptativo em quadros com movimento global
EP3959873A4 (en) 2019-04-25 2022-08-10 OP Solutions, LLC EFFICIENT CODING OF GLOBAL MOTION VECTORS
KR102662874B1 (ko) 2019-04-28 2024-05-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 대칭 모션 벡터 차이 코딩
US20220224912A1 (en) * 2019-05-12 2022-07-14 Lg Electronics Inc. Image encoding/decoding method and device using affine tmvp, and method for transmitting bit stream
CN113841408B (zh) * 2019-05-17 2024-02-06 北京字节跳动网络技术有限公司 用于视频处理的运动信息确定和存储
JP7377894B2 (ja) * 2019-05-21 2023-11-10 北京字節跳動網絡技術有限公司 サブブロックマージモードでのシンタックスシグナリング
CN111988625A (zh) * 2019-05-23 2020-11-24 腾讯美国有限责任公司 视频解码方法和装置以及计算机设备和存储介质
WO2020243100A1 (en) * 2019-05-26 2020-12-03 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for improving motion estimation in video coding
JP7425808B2 (ja) 2019-06-04 2024-01-31 北京字節跳動網絡技術有限公司 動き候補リスト構築プロセスの条件付き実行
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
KR102662603B1 (ko) 2019-06-06 2024-04-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 움직임 후보 리스트 구성
CN114026861B (zh) 2019-06-25 2023-11-17 北京字节跳动网络技术有限公司 对运动矢量差的约束
CN114073080A (zh) * 2019-06-26 2022-02-18 三星电子株式会社 通过考虑编码顺序来执行基于仿射模型的预测的视频编码方法及其装置以及通过考虑解码顺序来执行基于仿射模型的预测的视频解码方法及其装置
KR20220017427A (ko) * 2019-07-05 2022-02-11 엘지전자 주식회사 머지 후보의 양방향 예측을 위한 가중치 인덱스를 유도하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021008511A1 (en) 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Geometric partition mode candidate list construction in video coding
CN112333450B (zh) * 2019-08-05 2023-07-14 腾讯美国有限责任公司 一种视频编解码的方法和装置
WO2021036980A1 (en) 2019-08-23 2021-03-04 Beijing Bytedance Network Technology Co., Ltd. Using boundary strength in deblocking filtering
WO2021056220A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码的方法与装置
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
US11936877B2 (en) * 2021-04-12 2024-03-19 Qualcomm Incorporated Template matching based affine prediction for video coding
WO2023049219A1 (en) * 2021-09-24 2023-03-30 Beijing Dajia Internet Information Technology Co., Ltd. Candidate derivation for affine merge mode in video coding
US11936903B2 (en) 2022-04-19 2024-03-19 Tencent America LLC Bilateral matching based scaling factor derivation for JMVD
US20230396797A1 (en) * 2022-06-06 2023-12-07 Tencent America LLC Translational motion vector coding in affine mode
US20240089487A1 (en) * 2022-09-09 2024-03-14 Tencent America LLC Systems and methods for subblock motion vector coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017130696A1 (ja) * 2016-01-29 2017-08-03 シャープ株式会社 予測画像生成装置、動画像復号装置、および動画像符号化装置
JP2018511997A (ja) * 2015-03-10 2018-04-26 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 画像予測方法および関連装置

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990248B2 (en) * 1996-05-09 2006-01-24 Koninklijke Philips Electronics N.V. Segmented video coding and decoding method and system
GB2317525B (en) * 1996-09-20 2000-11-08 Nokia Mobile Phones Ltd A video coding system
EP1511325A3 (en) * 1997-02-13 2006-07-19 Mitsubishi Denki Kabushiki Kaisha Moving picture prediction system
WO1998042134A1 (en) 1997-03-17 1998-09-24 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US6285804B1 (en) * 1998-12-21 2001-09-04 Sharp Laboratories Of America, Inc. Resolution improvement from multiple images of a scene containing motion at fractional pixel values
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US6738423B1 (en) 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
KR100359115B1 (ko) 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
WO2003063502A1 (en) * 2002-01-18 2003-07-31 Kabushiki Kaisha Toshiba Moving picture coding method and apparatus and decoding method and apparatus
US7426285B2 (en) 2004-09-21 2008-09-16 Euclid Discoveries, Llc Apparatus and method for processing video data
US8340185B2 (en) * 2006-06-27 2012-12-25 Marvell World Trade Ltd. Systems and methods for a motion compensated picture rate converter
KR101003105B1 (ko) * 2008-01-29 2010-12-21 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
WO2009096721A2 (en) * 2008-01-29 2009-08-06 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation
US8363721B2 (en) * 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
WO2011013253A1 (ja) 2009-07-31 2011-02-03 株式会社 東芝 幾何変換動き補償予測を用いる予測信号生成装置、動画像符号化装置及び動画像復号化装置
JP2011130327A (ja) * 2009-12-21 2011-06-30 Sony Corp 画像処理装置および方法、並びにプログラム
WO2011128259A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A video decoder and a video encoder using motion-compensated prediction
EP3703373B1 (en) * 2010-10-08 2024-04-17 GE Video Compression, LLC Picture coding supporting block partitioning and block merging
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
RU2480941C2 (ru) * 2011-01-20 2013-04-27 Корпорация "Самсунг Электроникс Ко., Лтд" Способ адаптивного предсказания кадра для кодирования многоракурсной видеопоследовательности
US9288501B2 (en) * 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9282338B2 (en) * 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US9083983B2 (en) * 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US20130336405A1 (en) * 2012-06-15 2013-12-19 Qualcomm Incorporated Disparity vector selection in video coding
US20140071235A1 (en) * 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
CN104704819B (zh) * 2012-10-03 2016-12-21 联发科技股份有限公司 3d视频编码的视差矢量推导和视图间运动矢量预测的方法及装置
CN104704827B (zh) * 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
KR102121558B1 (ko) * 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
US9854168B2 (en) * 2014-03-07 2017-12-26 Futurewei Technologies, Inc. One-pass video stabilization
US9438910B1 (en) * 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
WO2015169200A1 (en) * 2014-05-06 2015-11-12 Mediatek Singapore Pte. Ltd. Method of block vector prediction for intra block copy mode coding
WO2016008157A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN112188206B (zh) * 2014-10-31 2023-10-20 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
KR20180028513A (ko) * 2015-08-04 2018-03-16 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
CN114866770A (zh) * 2015-08-07 2022-08-05 Lg 电子株式会社 视频编译系统中的帧间预测方法和装置
WO2017051072A1 (en) * 2015-09-23 2017-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic video
EP3355578B1 (en) * 2015-09-24 2020-12-09 LG Electronics Inc. Motion vector predictor derivation and candidate list construction
KR102646890B1 (ko) 2015-10-13 2024-03-12 삼성전자주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
US11082713B2 (en) 2015-11-20 2021-08-03 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
CN109076234A (zh) * 2016-05-24 2018-12-21 华为技术有限公司 图像预测方法和相关设备
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018511997A (ja) * 2015-03-10 2018-04-26 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 画像予測方法および関連装置
WO2017130696A1 (ja) * 2016-01-29 2017-08-03 シャープ株式会社 予測画像生成装置、動画像復号装置、および動画像符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 3", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 3RD MEETING: G, vol. JVET-C1001 (version 3), JPN6020019251, 6 July 2016 (2016-07-06), pages 16 - 18, ISSN: 0004279948 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393326B2 (ja) 2017-08-03 2023-12-06 エルジー エレクトロニクス インコーポレイティド アフィン予測を用いてビデオ信号を処理する方法及び装置
JP2022113815A (ja) * 2018-07-13 2022-08-04 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
JP7431889B2 (ja) 2018-07-13 2024-02-15 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
JP2022502899A (ja) * 2018-09-21 2022-01-11 オッポ広東移動通信有限公司Guangdong Oppo Mobile Telecommunications Corp., Ltd. ビデオ信号符号化/復号化方法及びそのための機器
JP7449279B2 (ja) 2018-09-21 2024-03-13 オッポ広東移動通信有限公司 ビデオ信号符号化/復号化方法及びそのための機器
JP2022501959A (ja) * 2018-10-04 2022-01-06 テンセント・アメリカ・エルエルシー ビデオ符号化及び復号のための方法および装置
US11470338B2 (en) 2018-10-04 2022-10-11 Tencent America LLC Method and apparatus for video coding
JP7209819B2 (ja) 2018-10-04 2023-01-20 テンセント・アメリカ・エルエルシー ビデオ符号化及び復号のための方法および装置
US11985342B2 (en) 2018-10-04 2024-05-14 Tencent America LLC Signaling of flag indicating zero motion vector difference for a control point

Also Published As

Publication number Publication date
MY200181A (en) 2023-12-12
EP3758378A1 (en) 2020-12-30
SG11201901632QA (en) 2019-04-29
WO2018067823A1 (en) 2018-04-12
ES2841312T3 (es) 2021-07-08
AU2017340631B2 (en) 2020-11-19
JP6817425B2 (ja) 2021-01-20
CN109792533A (zh) 2019-05-21
MX2019003762A (es) 2019-08-12
TW201817237A (zh) 2018-05-01
EP3523972B1 (en) 2020-09-30
US20180098063A1 (en) 2018-04-05
AU2017340631A1 (en) 2019-03-14
KR20190058503A (ko) 2019-05-29
KR102147614B1 (ko) 2020-08-24
US10448010B2 (en) 2019-10-15
BR112019006838A2 (pt) 2019-06-25
TWI696384B (zh) 2020-06-11
EP3523972A1 (en) 2019-08-14
PH12019500417A1 (en) 2019-06-03
HUE051174T2 (hu) 2021-03-01
RU2718225C1 (ru) 2020-03-31
CA3035587C (en) 2022-07-19
US20200045310A1 (en) 2020-02-06
EP3758378B1 (en) 2022-03-09
CA3035587A1 (en) 2018-04-12
US11082687B2 (en) 2021-08-03
CN109792533B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
JP6817425B2 (ja) ビデオコーディングにおけるアフィン動きモデルのための動きベクトル予測
US11363288B2 (en) Motion vector generation for affine motion model for video coding
US11889100B2 (en) Affine motion vector prediction in video coding
JP6585200B2 (ja) ビデオコード化における視差ベクトル予測
US11425387B2 (en) Simplified local illumination compensation
JP2021182743A (ja) 復号器側動きベクトル導出によって導出された動きベクトル情報を制約すること
US20190208211A1 (en) Generated affine motion vectors
KR20200058445A (ko) Fruc 를 위한 저 복잡도 설계
US20180199055A1 (en) Encoding optimization with illumination compensation and integer motion vector restriction
JP2018513612A (ja) ビデオコーディングにおける動き情報導出モードの決定
US9693077B2 (en) Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191211

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200424

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201224

R150 Certificate of patent or registration of utility model

Ref document number: 6817425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250