JP6767508B2 - ビデオコーディングのためのアフィンモーション予測 - Google Patents

ビデオコーディングのためのアフィンモーション予測 Download PDF

Info

Publication number
JP6767508B2
JP6767508B2 JP2018559949A JP2018559949A JP6767508B2 JP 6767508 B2 JP6767508 B2 JP 6767508B2 JP 2018559949 A JP2018559949 A JP 2018559949A JP 2018559949 A JP2018559949 A JP 2018559949A JP 6767508 B2 JP6767508 B2 JP 6767508B2
Authority
JP
Japan
Prior art keywords
video data
value
affine
motion
syntax element
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.)
Active
Application number
JP2018559949A
Other languages
English (en)
Other versions
JP2019519980A5 (ja
JP2019519980A (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 JP2019519980A publication Critical patent/JP2019519980A/ja
Publication of JP2019519980A5 publication Critical patent/JP2019519980A5/ja
Application granted granted Critical
Publication of JP6767508B2 publication Critical patent/JP6767508B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/124Quantisation
    • 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/18Methods 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 a set of transform coefficients
    • 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
    • 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
    • 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/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2016年5月16日に出願された米国仮出願第62/337,301号の利益を主張する。
本開示はビデオコーディングに関する。
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ビデオコーディング規格において記述されるものなどの、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および/または記憶することができる。
いくつかのビデオコーディング規格が、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、スケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含むAdvanced Video Coding(AVC)、 High Efficiency Video Coding(HEVC)とも呼ばれるITU-T H.265、およびそのような規格の拡張によって定義される。最近、新たなビデオコーディング規格、すなわち、High-Efficiency Video Coding(HEVC)の設計が、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって確定された。以後HEVC WDと呼ばれる最新のHEVCドラフト仕様は、itu.int/rec/T-REC-H.265-201504-S/enで入手可能である。HEVCに対するRange Extensions、すなわちHEVC-Rextも、JCT-VCによって開発中である。以降ではRExt WD6と呼ばれる、Range extensionsの最近のワーキングドラフト(WD)は、phenix.int-evry.fr/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P1005-v1.zipから入手可能である。
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックベースビデオコーディングでは、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)が、いくつかの技法ではツリーブロック、コーディング単位(CU)および/またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指すモーションベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされるブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことがあり、残差変換係数は次いで、量子化されることがある。最初に2次元アレイで構成される量子化された変換係数は、変換係数の1次元ベクトルを生成するために走査されることがあり、なお一層の圧縮を達成するためにエントロピーコーディングが適用されることがある。
米国特許出願公開第2013/0128974A1号 米国特許出願公開第2012/0177120A号
「Algorithm Description of Joint Exploration Test Model 2」、Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11、第2回会合:サンディエゴ、米国、2016年2月20-26日、文書:JVET-B1001_v3、phenix.it-sudparis.eu/jvet/doc_end_user/documents/2_San%20Diego/wg11/JVET-B1001-v3.zip Huawei Technologies Co, Ltd、「Affine transform prediction for next generation video coding」、Document ITU-T SG 16 (Study Period 2013) Contribution 1016、itu.int/md/T13-SG16-C-1016/en https://jvet.hhi.fraunhofer.de
一例では、ビデオデータを復号する方法は、ビデオデコーダの1つまたは複数のプロセッサによって、ビデオデータの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得するステップと、1つまたは複数のプロセッサによって、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値から、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出するステップと、1つまたは複数のプロセッサによって、符号化されたビデオビットストリームから、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分の表現を復号するステップと、1つまたは複数のプロセッサによって、予測子の値および復号された差分からビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値を決定するステップと、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの決定された値に基づいて、ビデオデータの予測子ブロックを決定するステップと、ビデオデータの予測子ブロックに基づいてビデオデータの現在のブロックを再構築するステップとを含む。
別の例では、ビデオデータを符号化する方法は、ビデオエンコーダの1つまたは複数のプロセッサによって、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルの値を決定するステップであって、アフィンモーションモデルのモーションベクトルがビデオデータの現在のブロックに対するビデオデータの予測子ブロックを特定する、ステップと、1つまたは複数のプロセッサによって、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得するステップと、1つまたは複数のプロセッサによって、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値から、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出するステップと、1つまたは複数のプロセッサによって、符号化されたビデオビットストリームにおいて、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分の表現を符号化するステップとを含む。
別の例では、ビデオデータのブロックを復号するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、回路において実装される1つまたは複数の処理ユニットとを含む。この例では、1つまたは複数の処理ユニットは、ビデオデータの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得し、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値から、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出し、符号化されたビデオビットストリームから、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分の表現を復号し、予測子の値および復号された差分からビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値を決定し、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの決定された値に基づいて、ビデオデータの予測子ブロックを決定し、ビデオデータの予測子ブロックに基づいてビデオデータの現在のブロックを再構築するように構成される。
別の例では、ビデオデータのブロックを符号化するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、回路において実装される1つまたは複数の処理ユニットとを含む。この例では、1つまたは複数の処理ユニットは、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルの値を決定し、アフィンモーションモデルのモーションベクトルがビデオデータの現在のブロックに対するビデオデータの予測子ブロックを特定し、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得し、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値から、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出し、符号化されたビデオビットストリームにおいて、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分の表現を符号化するように構成される。
別の例では、ビデオデータを符号化または復号するためのデバイスは、ビデオデータの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得するための手段と、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値から、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出するための手段と、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分を取得するための手段と、予測子の値および復号された差分からビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値の各々を決定するための手段と、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの決定された値に基づいて、ビデオデータの予測子ブロックを特定するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、実行されると、ビデオエンコーダまたはビデオデコーダの1つまたは複数のプロセッサに、ビデオデータの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得させ、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値から、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出させ、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分を取得させ、予測子の値および復号された差分からビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値の各々を決定させ、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの決定された値に基づいて、ビデオデータの予測子ブロックを特定させる、命令を記憶している。
1つまたは複数の例の詳細が、添付の図面および以下の説明において記載される。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
本開示の技法を実行するように構成され得る例示的なビデオ符号化および復号システムを示すブロック図である。 本開示の技法を実行するように構成され得るビデオエンコーダの例を示すブロック図である。 本開示の技法を実行するように構成され得るビデオデコーダの例を示すブロック図である。 High Efficiency Video Coding(HEVC)における空間的に隣接する候補を示す概念図である。 High Efficiency Video Coding(HEVC)における空間的に隣接する候補を示す概念図である。 4つのアフィンパラメータに関してアフィンである2点モーションベクトルを示す概念図である。 アフィンインターモードを示す概念図である。 アフィンマージモードに対する候補を示す概念図である。 アフィンマージモードに対する候補を示す概念図である。 本開示の1つまたは複数の技法による、6パラメータのアフィンモーションモデルを示す概念図である。 本開示の1つまたは複数の技法による、アフィンモーションベクトルの評価を示す概念図である。 H.263における重複ブロックモーション補償(OBMC)を示す概念図である。 HEVCでのOBMCを示す概念図である。 HEVCでのOBMCを示す概念図である。 OBMCが適用され得るサブブロックを示す概念図である。 OBMCが適用され得るサブブロックを示す概念図である。 本開示の1つまたは複数の技法による、(たとえば、ビデオ符号化プロセスの間に)ビデオエンコーダによってアフィンモーション補償を実行するための例示的な方法を示すフローチャートである。 本開示の1つまたは複数の技法による、(たとえば、ビデオ復号プロセスの間に)ビデオデコーダによってアフィンモーション補償を実行するための例示的な方法を示すフローチャートである。
一般に、本開示は、ビデオデータのブロックに対するアフィンモーション情報のコーディング(たとえば、符号化または復号)に関する技法を説明する。現在のビデオコーディング規格では、並進モーションモデルだけがモーション補償予測(MCP)のために適用される。MCPのための並進モーションモデルを使用するとき、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)は、ビデオデータの現在のブロックとビデオデータの対応する予測子ブロックとの間の変異を示す、現在のブロックに対する単一の2次元モーションベクトル(MV)を利用することができる。MVは、各MVがビデオデータの現在のブロックとビデオデータの予測子ブロックとの間の水平方向の変異を示すx成分と、ビデオデータの現在のブロックとビデオデータの予測子ブロックとの間の垂直方向の変異を示すy成分とを有し得るという点で、2次元であり得る。以下でさらに詳細に論じられるように、HEVCなどの現在のビデオコーディング規格では、マージモード(スキップはマージの特別な場合であると見なされる)および高度モーションベクトル予測(AMVP)モードという名称の、2つのインター予測モードがある。マージモードでは、現在のブロックのMVの値はMV候補の値から直接受け継がれ、これは現在のブロックの隣接ブロックのMVの値であり得る。対照的に、AMVPモードでは、MV候補の値はさらに精緻化され得る。具体的には、ビデオコーダは、MV候補の値と現在のブロックに対するMVの値との差分の値をシグナリングすることができる。差分の値は、モーションベクトル差分(MVD)と呼ばれ得る。
しかしながら、ズームインのモーション、ズームアウトのモーション、回転のモーション、遠近法のモーション、および他の不規則なモーションなどの、並進モーション以外の多くの種類のモーションがある。不規則なモーションを伴うそのようなテストシーケンスにおいてMCPのために並進モーションモデルだけを適用することは、予測精度に影響を与えることがあり、低いコーディング効率をもたらすことがある。たとえば、並進モーションモデルだけを使用すると、コーディングされている元のブロックと予測ブロックがさほど一致しなくなることがある。結果として、残差データのサイズ(すなわち、コーディングされるべき元のブロックと予測ブロックとの画素差分を表す値)が増大することがあり、これはコーディング効率を低下させることがある。
ITU-T VCEG(Q6/16)およびISO/IEC MPEG(JTC 1/SC 29/WG 11)は、現在のHEVC規格(その現在の拡張ならびにスクリーンコンテンツコーディングおよびハイダイナミックレンジコーディングのための目先の拡張を含む)を大きく超える圧縮能力を有する、将来のビデオコーディング技術の標準化の潜在的な必要性について研究している。このグループは、この分野の専門家により提案されている圧縮技術の設計を評価するために、Joint Video Exploration Team(JVET)として知られている共同研究においてこの調査活動に一緒に取り組んでいる。JVETは、HEVCの能力を超える可能性のある改良されたビデオコーディング技術として、協調的なテストモデルの研究の対象であるコーディング機構を記述するJoint Exploration Model(JEM)を発表した。JEMでは、MCPへの適用のためにアフィンモーションモデルが提案されている。JEMの最近のアルゴリズムの説明である、「Algorithm Description of Joint Exploration Test Model 2」、Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11、第2回会合:サンディエゴ、米国、2016年2月20-26日、文書:JVET-B1001_v3(以後「JEMテストモデル」)は、phenix.it-sudparis.eu/jvet/doc_end_user/documents/2_San%20Diego/wg11/JVET-B1001-v3.zipから入手可能である。
MCPのためにアフィンモーションモデルを使用するとき、ビデオコーダは、ビデオデータの現在のブロックとビデオデータの対応する予測子ブロックとの間のアフィン変換(たとえば、並進、スケーリング、反射、回転など)を集合的に示す、現在のブロックに対する複数のモーションベクトルを利用することができる。たとえば、アフィンモーションモデルは、現在のブロックの左上の角と対応する予測子ブロックの左上の角との間の変位を示す第1の2次元モーションベクトルと、現在のブロックの右上の角と対応する予測子ブロックの右上の角との間の変位を示す第2の2次元モーションベクトルとを含み得る。アフィンモーションモデルの中のモーションベクトルは、制御点モーションベクトル(CPMV)と呼ばれることがあり、現在のブロック上での位置(すなわち、制御点)を基準とすることがある。たとえば、現在のブロックの左上の角と対応する予測子ブロックの左上の角との間の変位を示す2次元モーションベクトルは、現在のブロックの左上CPMVと呼ばれ得る。以下でさらに詳細に論じられるように、JEMテストモデルでは、アフィンインター(たとえば、AF_INTER)およびアフィンマージ(たとえば、AF_MERGE)という2つのインター予測モードがある。
アフィンマージモードでは、現在のブロックの各CPMVの値は、アフィンモーションモデルを使用してコーディングされる現在のブロックの単一の隣接ブロックのCPMVから直接導出される。言い換えると、アフィンマージモードでは、隣接ブロックのCPMVは現在のブロックのCPMVに対して歪められるだけであり、アフィンモデルパラメータを変更または調整するための柔軟性はない。具体的には、MVDを使用してCPMVの値を修正することは可能ではない。
アフィンインターモードでは、現在のブロックの各CPMVの値は、対応する制御点およびMVDに隣接するブロックのMVの値に基づいて個別に導出される。CPMVがそれに基づいて決定されるMVの値は、制御点モーションベクトル予測子(CPMVP)と呼ばれ得る。一例として、現在のブロックの左上CPMVの値は、現在のブロックの左上の点に隣り合う左のブロック、左上のブロック、または上の隣接ブロックのうちの1つのMVと、MVDとに基づいて導出され得る。別の例として、現在のブロックの右上CPMVの値は、現在のブロックの右上の点に隣り合う右上のブロックまたは上の隣接ブロックのうちの1つのMVと、MVDとに基づいて導出され得る。
HEVCテストモデルとJEMテストモデルの両方において、ビデオエンコーダは、MVがデコーダ側で再構築され得るように、ビットストリームにおいてMVDシンタックス(すなわち、MVDの値を表すシンタックス要素)をシグナリングすることができる。MVDシンタックスをシグナリングするために使用されるデータの量は、MVD値のサイズに関連し得る。たとえば、比較的値が小さいMVDと比較して、比較的値が大きいMVDに対しては、MVDシンタックスをシグナリングするためにより多くのデータが必要であり得る。
しかしながら、対応する制御点の隣接ブロックのMVの値に基づいて各CPMVの値を導出する現在の技法には、1つまたは複数の欠点があり得る。一例として、現在の技法は、現在のブロックのアフィンモーションモデルと隣接ブロックのアフィンモーションモデルとの相関を利用しない。
本開示の1つまたは複数の技法によれば、ビデオコーダは、ビデオデータの特定の隣接ブロックのアフィンモーションモデルのモーションベクトルの値、および、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値とビデオデータの隣接ブロックのアフィンモーションモデルに基づいて導出されるモーションベクトルの値との間の差分の値に基づいて、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルの値を決定することができる。たとえば、ビデオコーダは、現在のブロックのCPMVのためのCPMVPとして隣接ブロックのCPMVを利用することができる。隣接ブロックのCPMVは現在のブロックのCPMVと相関付けられ得るので、現在のブロックの予測子(たとえば、CPMVP)とモーションベクトル(たとえば、CPMV)との間の差分(たとえば、MVD)を減らすことができる。このように、差分を符号化するために使用されるデータの量は差分のサイズに比例し得るので、本開示の技法はビデオ圧縮の効率を改善することができる。
4パラメータのアフィンモーションモデルは、Huawei Technologies Co, Ltd、「Affine transform prediction for next generation video coding」、Document ITU-T SG 16 (Study Period 2013) Contribution 1016(以後「Contribution 1016」)において進化しており、itu.int/md/T13-SG16-C-1016/enから入手可能である。Contribution 1016は、式(1)において以下で示される4パラメータのアフィンモデルを導入する。
Figure 0006767508
(v0x, v0y)が現在のブロックの左上の角に対するCPMVであり、(v1x, v1y)が現在のブロックの右上の角に対するCPMVである場合、モーションベクトルフィールド(MVF)とも呼ばれるアフィンモーションモデルは、以下の式(2)に従って表現され得る。
Figure 0006767508
式(1)において上で示される4パラメータのアフィンモデルには、1つまたは複数の欠点があることがある。具体的には、4パラメータのアフィンモーションは、x成分およびy成分のアフィンパラメータを制約し、それらが対称的なスケーリングの性質を有することを強いる。しかしながら、この制約は多様化したビデオコンテンツにおいては当てはまらないことがある。
本開示の1つまたは複数の技法によれば、ビデオコーダは、4パラメータのアフィンモーションモデルまたは6パラメータのアフィンモーションモデルのいずれかを選択的に利用することができる。たとえば、ビデオデコーダは、現在のブロックが式(1)において上で示される4パラメータのアフィンモーションモデルを使用してコーディングされるか、または式(3)において下で示される6パラメータのアフィンモーションモデルを使用してコーディングされるかを決定することができる。
Figure 0006767508
いくつかの例では、ビデオデコーダは、明示的なシグナリングに基づいて、どのアフィンモーションモデルが使用されるかを決定することができる。たとえば、ビデオコーダは、ビットストリームから、ビデオデータの現在のブロックに対するアフィンモーションモデルが4パラメータモデルを備えるか6パラメータモデルを備えるかを示す、シンタックス要素を復号することができる。いくつかの例では、シンタックス要素は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびビデオデータの現在のブロックによって参照されるスライスヘッダのうちの1つまたは複数においてコーディングされ得る。いくつかの例では、シンタックス要素は、ビデオデータの現在のブロックを含むコーディング単位(CU)のCUレベルでコーディングされ得る。
4パラメータモデルの処理および/またはシグナリングの要件は、6パラメータモデルの処理および/またはシグナリングの要件より低いことがある。しかしながら、いくつかの例では、6パラメータモデルにより、コーディングされているブロックと予測ブロックがより良く一致するようになることがあり、これにより残差値のサイズが減ることがある。したがって、いくつかの例では、ビデオエンコーダは、ブロックに対する残差値の低減という利点に対して、6パラメータモデルを使用してブロックを符号化することの処理およびシグナリングのコストのバランスをとり、どちらのモデルがより有利であるかを選択することができる。このようにして、本開示の技法はさらに、アフィンモーションモデルを使用してビデオ圧縮の効率を改善することができる。
図1は、本開示のアフィンモーション補償を実行するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広い範囲のデバイスのうちのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムで宛先デバイス14へ符号化されたビデオデータを直接送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14へ送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つまたは複数の物理伝送線路などの、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
いくつかの例では、符号化されたデータは、出力インターフェース22から記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに相当し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶するとともにその符号化されたビデオデータを宛先デバイス14へ送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはファイルサーバ上に記憶された符号化されたビデオデータにアクセスするのに適した両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
本開示の技法は、ワイヤレスの適用例または設定に必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向ビデオ送信をサポートするように構成され得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、本開示のアフィンモーション補償を実行するための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスが、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
図1の図示されたシステム10は一例にすぎない。本開示のアフィンモーション補償を実行するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。その上、本開示の技法はまた、ビデオプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成するようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化および復号構成要素を含むように実質的に対称的な方法で動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ビデオデバイス12、14間の一方向または双方向ビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどのビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータで生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかしながら、上述のように、本開示で説明される技法は、全般にビデオコーディングに適用可能であることがあり、ワイヤレスおよび/または有線の適用例に適用されることがある。各々の場合において、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース22によって、コンピュータ可読媒体16に出力され得る。
コンピュータ可読媒体16は、ワイヤレス放送もしくは有線ネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを宛先デバイス14に提供し得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスが、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを製造し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解されてよい。
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ブロックおよび他のコーディングされた単位の特性ならびに/または処理を記述するシンタックス要素を含み、ビデオデコーダ30によっても使用される、ビデオエンコーダ20によって定義されるシンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は、ITU-T H.265とも呼ばれるHigh Efficiency Video Coding(HEVC)規格などのビデオコーディング規格に従って動作し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU-T H.264規格、またはそのような規格の拡張などの、他のプロプライエタリな規格または業界規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例は、MPEG-2とITU-T H.263とを含む。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合されることがあり、共通のデータストリームまたは別個のデータストリームの中でオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、処理回路構成(固定機能回路構成および/またはプログラマブル処理回路構成を含む)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な好適なエンコーダ回路構成のいずれかとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するための1つまたは複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれることがあり、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されることがある。
一般に、ITU-T H.265によれば、ビデオピクチャは、輝度サンプルと色差サンプルの両方を含み得るコーディングツリー単位(CTU)(または最大コーディング単位(LCU))のシーケンスへと分割され得る。代替的に、CTUはモノクロームデータ(すなわち、輝度サンプルのみ)を含み得る。ビットストリーム内のシンタックスデータは、画素数の観点から最大のコーディング単位であるCTUのサイズを定義し得る。スライスは、コーディング順にいくつかの連続するCTUを含む。ビデオピクチャは、1つまたは複数のスライスへと区分され得る。各CTUは、四分木に従ってコーディング単位(CU)へと分割され得る。一般に、四分木データ構造はCUごとに1つのノードを含み、ルートノードがCTUに対応する。CUが4つのサブCUに分割される場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
四分木データ構造の各ノードは、対応するCUにシンタックスデータを提供し得る。たとえば、四分木の中のノードは、ノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのためのシンタックス要素は再帰的に定義されることがあり、CUがサブCUに分割されるかどうかに依存することがある。CUがそれ以上分割されない場合、それはリーフCUと呼ばれる。本開示では、リーフCUの4つのサブCUはまた、元のリーフCUの明示的な分割が存在しない場合でも、リーフCUと呼ばれる。たとえば、16×16サイズのCUがそれ以上分割されない場合、4つの8×8サブCUもリーフCUと呼ばれるが、16×16CUは決して分割されない。
CUは、CUがサイズの区別をもたないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、CTUは、4つの(サブCUとも呼ばれる)子ノードに分割されることがあり、各子ノードは、次に親ノードになり、別の4つの子ノードに分割されることがある。最後の、四分木のリーフノードと呼ばれる分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コーディングされたビットストリームと関連付けられるシンタックスデータは、最大CU深度と呼ばれる、CTUが分割され得る最大の回数を定義することができ、コーディングノードの最小のサイズを定義することもできる。したがって、ビットストリームは、最小コーディング単位(SCU)を定義することもできる。本開示は、HEVCの文脈におけるCU、予測単位(PU)、もしくは変換単位(TU)のいずれか、または、他の規格の文脈における同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそのサブブロック)を指すために、「ブロック」という用語を使用する。
CUは、コーディングノードと、コーディングノードと関連付けられる予測単位(PU)および変換単位(TU)とを含む。CUのサイズはコーディングノードのサイズに対応し、一般的には、形状が正方形である。CUのサイズは、8×8画素から、最大のサイズ、たとえば64×64画素以上のCTUのサイズまでの範囲であり得る。各CUは、1つまたは複数のPUと1つまたは複数のTUとを含み得る。CUと関連付けられたシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述し得る。区分モードは、CUがスキップもしくは直接モードで符号化されているか、イントラ予測モードで符号化されているか、またはインター予測モードで符号化されているかに応じて異なり得る。PUは、形状が非正方形であるように区分され得る。CUと関連付けられたシンタックスデータはまた、たとえば、四分木に従った1つまたは複数のTUへのCUの区分を記述し得る。TUは、形状が正方形または非正方形(たとえば、矩形)であることが可能である。
HEVC規格は、異なるCUによって異なり得る、TUに従った変換を可能にする。TUは、典型的には、区分されたCTUについて定義された所与のCU内のPU(またはCUの区分)のサイズに基づいてサイズが決められるが、これは必ずしもそうではないことがある。TUは、典型的には、PU(または、たとえばイントラ予測の場合、CUの区分)とサイズが同じであるか、またはより小さい。いくつかの例では、CUに対応する残差サンプルは、「残差四分木」(RQT)と呼ばれる四分木構造を使用して、より小さい単位に再分割され得る。RQTのリーフノードは、変換単位(TU)と呼ばれることがある。TUと関連付けられた画素差分値は、量子化され得る変換係数を生成するために変換され得る。
リーフCUは、インター予測を使用して予測されるとき、1つまたは複数の予測単位(PU)を含み得る。一般に、PUは、対応するCUのすべてまたは一部分に対応する空間領域を表し、PUのための参照サンプルを取り出すためおよび/または生成するためのデータを含み得る。その上、PUは予測に関連するデータを含む。CUがインターモード符号化されるとき、CUの1つまたは複数のPUは、1つまたは複数のモーションベクトルなどのモーション情報を定義するデータを含むことがあり、またはPUはスキップモードでコーディングされることがある。PUのモーションベクトルを定義するデータは、たとえば、モーションベクトルの水平成分、モーションベクトルの垂直成分、モーションベクトルの分解能(たとえば、1/4画素精度または1/8画素精度)、モーションベクトルが指す参照ピクチャ、および/またはモーションベクトルのための参照ピクチャリスト(たとえば、リスト0またはリスト1)を記述し得る。
リーフCUはまた、イントラモード予測され得る。一般に、イントラ予測は、イントラモードを使用してリーフCU(またはその区分)を予測することを伴う。ビデオコーダは、リーフCU(またはその区分)を予測するために使用すべき、リーフCUに隣接する以前にコーディングされた画素のセットを選択することができる。
リーフCUはまた、1つまたは複数の変換単位(TU)を含み得る。変換単位は、上で論じられたように、RQT(TU四分木構造とも呼ばれる)を使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換単位に分割されるかどうかを示し得る。次いで、各TUは、さらなるサブTUにさらに分割され得る。TUは、それ以上分割されないとき、リーフTUと呼ばれ得る。一般に、イントラコーディングでは、1つのリーフCUに属するすべてのリーフTUは、同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードは、一般に、リーフCUのすべてのTUに対する予測される値を計算するために適用される。イントラコーディングでは、ビデオエンコーダは、各リーフTUに対する残差値を、TUに対応するCUの部分と元のブロックとの間の差分としてイントラ予測モードを使用して計算し得る。TUは、必ずしもPUのサイズに限定されるとは限らない。したがって、TUは、PUより大きくても小さくてもよい。イントラコーディングでは、CUの区分、またはCU自体が、CUの対応するリーフTUと併置され得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに相当し得る。
その上、リーフCUのTUはまた、残差四分木(RQT)と呼ばれるそれぞれの四分木データ構造と関連付けられ得る。すなわち、リーフCUがTUへとどのように区分されるかを示す四分木を、リーフCUが含み得る。TUの四分木のルートノードは一般にリーフCUに対応するが、CUの四分木のルートノードは一般にCTU(またはLCU)に対応する。分割されないRQTのTUは、リーフTUと呼ばれる。一般に、本開示は、別段に記載されていない限り、リーフCUを指すためにCUという用語を、リーフTUを指すためにTUという用語をそれぞれ使用する。
ビデオシーケンスは通常、ランダムアクセスポイント(RAP)ピクチャで始まる、一連のビデオフレームまたはピクチャを含む。ビデオシーケンスは、ビデオシーケンスの特性を記述するシンタックスデータをシーケンスパラメータセット(SPS)の中に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは固定サイズまたは可変サイズを有することがあり、指定されたコーディング規格に従ってサイズが異なることがある。
一例として、予測は、様々なサイズのPUに対して実行され得る。特定のCUのサイズが2N×2Nであると仮定すると、イントラ予測は、2N×2NまたはN×NのPUサイズに対して実行され、インター予測は、2N×2N、2N×N、N×2N、またはN×Nの対称PUサイズに対して実行され得る。インター予測に対する非対称区分はまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズに対して実行され得る。非対称区分では、CUの一方の方向は区分されず、他方の方向は25%および75%に区分される。25%区分に対応するCUの部分は、「n」とその後に続く「上」、「下」、「左」、または「右」の表示によって示される。したがって、たとえば、「2N×nU」は、上の2N×0.5NのPUおよび下の2N×1.5NのPUで水平方向に区分された2N×2NのCUを指す。
本開示では、「N×N」および「N対N」は、垂直方向および水平方向の寸法に関するビデオブロックの画素の寸法、たとえば、16×16画素、または16対16画素を指すために、互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16画素(y=16)と水平方向に16画素(x=16)とを有する。同様に、N×Nブロックは、一般に、垂直方向にN画素と水平方向にN画素とを有し、ここでNは、負ではない整数値を表す。ブロック中の画素は、行および列に配置され得る。その上、ブロックは、必ずしも水平方向に垂直方向と同じ数の画素を有する必要があるとは限らない。たとえば、ブロックはN×M画素を備えることがあり、ここでMは必ずしもNと等しいとは限らない。
ピクチャ順序カウント(POC)は、ピクチャの表示順序を識別するためにビデオコーディング規格において広く使用されている。1つのコーディングされたビデオシーケンス内の2つのピクチャが同じPOC値を有し得る場合があるが、それは通常、コーディングされたビデオシーケンス内で発生しない。複数のコーディングされたビデオシーケンスがビットストリーム中に存在するとき、POCの同じ値をもつピクチャは、復号順序に関して互いに近いことがある。ピクチャのPOC値は、一般に、参照ピクチャリスト構築、HEVCの場合のような参照ピクチャセットの導出、およびモーションベクトルスケーリングのために使用される。
HEVCにおけるモーション補償は、現在のインターブロックのための予測子を生成するために使用される。1/4画素精度のモーションベクトルが使用され、分数精度の画素値が輝度成分と色差成分の両方のために隣接する整数画素値を使用して補間される。
HEVCでは、各ブロックについて、モーション情報のセットが利用可能であり得る。モーション情報のセットは、前方予測方向および後方予測方向のためのモーション情報を含む。ここで、前方予測方向および後方予測方向は、双方向予測モードの2つの予測方向であり、「前方」および「後方」という用語は、必ずしも幾何学的な意味を有するとは限らず、代わりに、これらの用語は、現在のピクチャの参照ピクチャリスト0(RefPicList0)および参照ピクチャリスト1(RefPicList1)に対応する。ピクチャまたはスライスについて1つの参照ピクチャリストのみが利用可能であるとき、RefPicList0のみが利用可能であり、スライスの各ブロックのモーション情報は常に前方である。
各予測方向について、モーション情報は、参照インデックスとモーションベクトルとを含まなければならない。場合によっては、簡単のために、モーションベクトルが関連する参照インデックスを有すると仮定されるような方法で、モーションベクトル自体が参照されることがある。参照インデックスは、現在の参照ピクチャリスト(RefPicList0またはRefPicList1)中の参照ピクチャを特定するために使用される。モーションベクトルは水平成分と垂直成分とを有する。
HEVC規格では、予測単位(PU)に対して、それぞれ、マージモード(スキップはマージの特別な場合であると見なされる)および高度モーションベクトル予測(AMVP)モードと名付けられた、2つのインター予測モードがある。AMVPモードまたはマージモードのいずれでも、モーションベクトル(MV)候補リストは、複数のモーションベクトル予測子のために維持される。現在のPUの、モーションベクトル、ならびにマージモードにおける参照インデックスは、MV候補リストから1つの候補をとることによって生成される。
MV候補リストは、マージモードのための最高で5つの候補とAMVPモードのための2つだけの候補とを含んでいる。マージ候補は、モーション情報のセット、たとえば、参照ピクチャリスト(リスト0およびリスト1)と参照インデックスの両方に対応するモーションベクトルを含み得る。マージ候補がマージインデックスによって特定される場合、現在のブロックの予測のために参照ピクチャが使用され、ならびに関連するモーションベクトルが決定される。しかしながら、リスト0またはリスト1のいずれかからの各々の潜在的な予測方向に対するAMVPモードのもとでは、AMVP候補がモーションベクトルのみを含んでいるので、MVPインデックスとともに参照インデックスがMV候補リストに明示的にシグナリングされる必要がある。AMVPモードでは、予測されるモーションベクトルはさらに改良され得る。
このように、マージ候補は、モーション情報のフルセットに対応し得るが、AMVP候補は、特定の予測方向および参照インデックスのための1つだけのモーションベクトルを含み得る。両モードに対する候補は、同じ空間的および時間的に隣接するブロックから同様に導出される。マージモードおよびAMVPモードに対する空間的に隣接する候補のさらなる詳細が、図4に関して以下で論じられる。
ビデオエンコーダ20およびビデオデコーダ30は、アフィンモーションモデルを使用してモーション補償を実行するように構成され得る。たとえば、単一の2次元モーションベクトルを伴う並進モーションモデルだけを使用する(すなわちHEVCのように)のとは対照的に、ビデオエンコーダ20およびビデオデコーダ30は、複数のモーションベクトルを含むアフィンモーションモデルを利用することができる。アフィンモーションモデルの使用のさらなる詳細が以下で論じられる。
CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、空間領域(画素領域とも呼ばれる)における予測画素データを生成する方法またはモードを記述するシンタックスデータを備えることがあり、TUは、変換、たとえば離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換を残差ビデオデータに適用することに続いて、変換領域における係数を備えることがある。残差データは、符号化されていないピクチャの画素と、PUに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ20は、CUに対する残差データを表す量子化された変換係数を含むようにTUを形成し得る。すなわち、ビデオエンコーダ20は、(残差ブロックの形で)残差データを計算し、残差ブロックを変換して変換係数のブロックを作成し、次いで変換係数を量子化して量子化された変換係数を形成することができる。ビデオエンコーダ20は、量子化された変換係数、ならびに(たとえば、TUに対する情報を分割する)他のシンタックス情報を含むTUを形成し得る。
上述のように、変換係数を作成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮が行われるプロセスを指す。量子化プロセスは、係数の一部またはすべてと関連付けられたビット深度を低減することができる。たとえば、nビット値は、量子化の間にmビット値に丸められることがあり、ここで、nはmよりも大きい。
量子化に続いて、ビデオエンコーダは、変換係数を走査することができ、量子化された変換係数を含む2次元行列から1次元ベクトルを作成する。走査は、より高いエネルギー(それゆえより低い周波数)の係数をアレイの前方に置き、より低いエネルギー(それゆえより高い周波数)の係数をアレイの後方に置くように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化されることが可能なシリアル化されたベクトルを生成するために、量子化された変換係数を走査するためにあらかじめ定められた走査順序を利用し得る。他の例では、ビデオエンコーダ20は、適応走査を実行し得る。1次元ベクトルを形成するために、量子化された変換係数を走査した後、ビデオエンコーダ20は、たとえば、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応2値算術コーディング(CABAC)、シンタックスベースコンテキスト適応2値算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30によって使用するための符号化されたビデオデータと関連付けられるシンタックス要素をエントロピー符号化し得る。
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルにコンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が0ではないかどうかに関連し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおける符号語は、比較的より短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このように、VLCの使用は、たとえば、送信されるべき各シンボルに等長符号語を使用して、ビットの節約を達成し得る。確率の決定は、シンボルに割り当てられたコンテキストに基づき得る。
一般に、ビデオデコーダ30は、符号化されたデータを復号するために、ビデオエンコーダ20によって実行されたプロセスと実質的に同様であるが逆のプロセスを実行する。たとえば、ビデオデコーダ30は、残差ブロックを再現するために受信されたTUの係数を逆量子化および逆変換する。ビデオデコーダ30は、予測されたブロックを形成するために、シグナリングされた予測モード(イントラ予測またはインター予測)を使用する。次いで、ビデオデコーダ30は、元のブロックを再現するために、予測されたブロックと残差ブロックとを(画素ごとに)組み合わせる。ブロック境界に沿った視覚的アーティファクトを低減するためにデブロッキングプロセスを実行するなど、追加の処理が実行され得る。さらに、ビデオデコーダ30は、ビデオエンコーダ20のCABAC符号化プロセスと逆ではあるが実質的に同様の方法で、CABACを使用してシンタックス要素を復号し得る。
ビデオエンコーダ20はさらに、ブロックベースのシンタックスデータ、ピクチャベースのシンタックスデータ、およびシーケンスベースのシンタックスデータなどのシンタックスデータを、たとえば、ピクチャヘッダ、ブロックヘッダ、スライスヘッダ、または、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、もしくはビデオパラメータセット(VPS)などの他のシンタックスデータにおいて、ビデオデコーダ30に送信することができる。
ビデオエンコーダ20およびビデオデコーダ30は各々、適用可能な場合、1つまたは複数のマイクロプロセッサ、処理回路(固定機能の回路および/またはプログラマブル処理回路を含む)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路またはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれることがあり、これらのいずれもが、複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合されることがある。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/または携帯電話などのワイヤレス通信デバイスを備え得る。
図2は、本開示のアフィンモーション補償を実行するための技法を実施し得るビデオエンコーダ20の例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースコーディングモードのいずれかを指し得る。
図2に示されるように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64(復号ピクチャバッファ(DPB)と呼ばれることもある)と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。次に、モード選択ユニット40は、モーション補償ユニット44と、モーション推定ユニット42と、イントラ予測ユニット46と、区分ユニット48とを含む。ビデオブロックの再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構築されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするための、(図2に示されていない)デブロッキングフィルタも含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器62の出力をフィルタリングする。追加のフィルタ(ループ内またはループ後)もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタリングし得る。
符号化プロセスの間に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。モーション推定ユニット42およびモーション補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレームの中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニット46は、代わりに、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測符号化を実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
その上、区分ユニット48は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット48は、最初にフレームまたはスライスをCTUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてCTUの各々をサブCUに区分し得る。モード選択ユニット40はさらに、CTUをサブCUに区分することを示す四分木データ構造を生成し得る。四分木のリーフノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含み得る。
モード選択ユニット40は、たとえば誤差結果に基づいてイントラ予測モードまたはインター予測モードのうちの一方を選択することができ、得られた予測されたブロックを、残差データを生成するために加算器50に提供し、参照フレームとして使用するための符号化されたブロックを再構築するために加算器62に提供する。モード選択ユニット40はまた、モーションベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素を、エントロピー符号化ユニット56に与える。
モーション推定ユニット42およびモーション補償ユニット44は高度に集積され得るが、概念的な目的のために別々に図示される。モーション推定ユニット42によって実行されるモーション推定は、ビデオブロックのモーションを推定するモーションベクトルを生成するプロセスである。モーションベクトルは、たとえば、現在のフレーム(または他のコーディングされたユニット)内でコーディングされている現在のブロックに対する、参照フレーム(または他のコーディングされたユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分尺度によって決定され得る画素差分に関して、コーディングされるべきブロックとよく一致することが判明しているブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64内に記憶される参照ピクチャのサブ整数画素場所のための値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1画素場所の値、8分の1画素場所の値、または他の分数画素場所の値を補間し得る。したがって、モーション推定ユニット42は、フル画素場所および分数画素場所に対するモーション探索を実行し、分数画素精度でモーションベクトルを出力し得る。
モーション推定ユニット42は、PUの場所を参照ピクチャの予測ブロックの場所と比較することによって、インターコーディングされたスライス中のビデオブロックのPUのモーションベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されることがあり、それらの各々が、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを特定する。モーション推定ユニット42は、計算されたモーションベクトルをエントロピー符号化ユニット56およびモーション補償ユニット44に送る。
モーション補償ユニット44によって実行されるモーション補償は、モーション推定ユニット42によって決定されたモーションベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。同じく、モーション推定ユニット42およびモーション補償ユニット44は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのPUのモーションベクトルを受信すると、モーション補償ユニット44は、モーションベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックを位置特定し得る。加算器50は、以下で論じられるように、コーディングされている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。一般に、モーション推定ユニット42は、輝度成分に対してモーション推定を実行し、モーション補償ユニット44は、色差成分と輝度成分の両方について、輝度成分に基づいて計算されたモーションベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際のビデオデコーダ30による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
ビデオエンコーダ20は、図1に関して上で論じられ以下でより詳細に説明されるような、本開示の様々な技法のいずれかを実行するように構成され得る。たとえば、モーション補償ユニット44は、HEVCに従ってAMVPモードまたはマージモードを使用してビデオデータのブロックのモーション情報をコーディングするように構成されることがあり、かつ/または、本開示の技法に従ってアフィンインターモードもしくはアフィンマージモードを使用してアフィンモーション情報もしくはビデオデータのブロックをコーディングするように構成されることがある。
イントラ予測ユニット46は、上で説明されたように、モーション推定ユニット42とモーション補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。
たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの間で最も良好なレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに、符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比を計算し得る。
ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(符号語マッピングテーブルとも呼ばれる)を含み得る、送信されたビットストリーム構成データの中に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最もあり得るイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、修正されたイントラ予測モードインデックステーブルとを含め得る。
ビデオエンコーダ20は、モード選択ユニット40からの予測データをコーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、離散サイン変換(DST)、または他のタイプの変換が、DCTの代わりに使用され得る。いずれの場合にも、変換処理ユニット52は、変換を残差ブロックに適用し、変換係数のブロックを生成する。変換は、画素領域からの残差情報を、周波数領域などの変換領域に転換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてと関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。
量子化の後に、エントロピー符号化ユニット56は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングに続いて、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後の送信もしくは取り出しのためにアーカイブされ得る。
逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、画素領域中で残差ブロックを再構築する。具体的には、加算器62は、参照ピクチャメモリ64に記憶するための再構築されたビデオブロックを生成するために、モーション補償ユニット44またはイントラ予測ユニット46によって早期に生成されたモーション補償された予測ブロックに、再構築された残差ブロックを加える。再構築されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために、参照ブロックとして、モーション推定ユニット42およびモーション補償ユニット44によって使用され得る。
図3は、本開示のアフィンモーション補償を実行するための技法を実施し得るビデオデコーダ30の例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、モーション補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。モーション補償ユニット72は、エントロピー復号ユニット70から受信されたモーションベクトルに基づいて予測データを生成し得るが、一方、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
復号プロセスの間に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、ビットストリームをエントロピー復号して、量子化された係数と、モーションベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成する。エントロピー復号ユニット70は、モーション補償ユニット72にモーションベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。
ビデオスライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックの予測データを生成し得る。ビデオフレームがインターコーディングされる(すなわち、BまたはP)スライスとしてコーディングされるとき、モーション補償ユニット72は、エントロピー復号ユニット70から受信されたモーションベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づくデフォルトの構築技法を使用して、参照フレームリスト、リスト0、およびリスト1を構築し得る。
モーション補償ユニット72は、モーションベクトルと他のシンタックス要素とを構文解析することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、モーション補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)、スライスのための参照ピクチャリストのうちの1つまたは複数に対する構築情報、スライスの各々のインター符号化されたビデオブロックに対するモーションベクトル、スライスの各々のインターコーディングされたビデオブロックに対するインター予測状態、および現在のビデオスライスの中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
ビデオデコーダ30は、図1に関して上で論じられ以下でより詳細に論じられるような、本開示の様々な技法のいずれかを実行するように構成され得る。たとえば、モーション補償ユニット72は、HEVCに従ってAMVPモードまたはマージモードを使用してモーションベクトル予測を実行するように構成されることがあり、かつ/または、本開示の技法に従ってアフィンインターモードもしくはアフィンマージモードを使用してアフィンモーション情報もしくはビデオデータのブロックを実行するように構成されることがある。エントロピー復号ユニット70は、モーション情報がどのようのコーディングブロックのためにコーディングされるかを表す1つまたは複数のシンタックス要素を復号し得る。
モーション補償ユニット72は、補間フィルタに基づいて補間を実行することもできる。モーション補償ユニット72は、参照ブロックのサブ整数画素の補間された値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ20によって使用された補間フィルタを使用することができる。この場合に、モーション補償ユニット72は、受け取られたシンタックス要素から、ビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用することができる。
逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化された変換係数を逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオデコーダ30によって計算された量子化パラメータQPYをビデオスライス中の各ビデオブロックに使用することを含み得る。
逆変換ユニット78は、画素領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
モーション補償ユニット72が、モーションベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックの予測ブロックを生成した後に、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックをモーション補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングする、デブロッキングフィルタも適用され得る。他のループフィルタ(コーディングループの中、またはコーディングループの後のいずれかにおける)も、画素の遷移を平滑化し、または場合によってはビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャ内の復号されたビデオブロックは次いで、参照ピクチャメモリ82に記憶され、参照ピクチャメモリ82は、後続のモーション補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上で後で提示するための、復号されたビデオを記憶する。
図4Aおよび図4Bは、High Efficiency Video Coding(HEVC)における空間的に隣接する候補を示す概念図である。上で論じられたように、空間的MV候補は、特定のPU(PU0)に対して隣接ブロックから導出され得るが、ブロックから候補を生成する方法は、マージモードとAMVPモードとで異なる。
図4Aは、マージモードにおいてビデオコーダがどのように空間的MV候補を導出し得るかの例を示す。マージモードでは、最高で4つの空間的MV候補が、図4Aにおいて番号で示される順序で導出されてよく、順序は、図4Aに示されるように、左(0)、上(1)、右上(2)、左下(3)、および左上(4)である。
図4Bは、AVMPモードにおいてビデオコーダがどのように空間的MV候補を導出し得るかの例を示す。図4Bに示されるように、AMVPモードでは、隣接ブロックは2つのグループ、すなわちブロック0および1からなる左のグループと、ブロック2、3および4からなる上のグループに分割される。各グループに対して、シグナリングされた参照インデックスによって示される参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、グループの最終候補を形成するために選択されるための最高の優先度を有する。すべての隣接ブロックが、同じ参照ピクチャを指すモーションベクトルを含まないことが可能である。したがって、そのような候補を見出すことができない場合、第1の利用可能な候補が、最終候補を形成するようにスケーリングされるので、時間的距離の差が補償され得る。
図5は、4つのアフィンパラメータに関してアフィンである2点モーションベクトルを示す概念図である。図5に示されるように、v0と表記される(v0x, v0y)は現在のブロック500の左上の角502に対するCPMVであり、v1と表記される(v1x, v1y)は現在のブロック500の右上の角504に対するCPMVである。上で論じられたように、現在のブロック500に対するCPMVは、上の式(2)に従って表されるモーションベクトルフィールド(MVF)を形成し得る。
JEMテストモデルでは、アフィンモーション予測は正方形のブロックだけに適用される。自然な拡張として、アフィンモーション予測は非正方形のブロックに適用され得る。
図6は、アフィンインターモードを示す概念図である。16×16以上のサイズを有するブロック(たとえば、CU/PU)に対して、ビデオコーダ(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)は、次のようにアフィンインター(AF_INTER)モードを適用することができる。いくつかの例では、現在のブロック(たとえば、現在のCU/PU)がアフィンインターモードにある場合、ビデオコーダはビットストリームの中のCU/PUレベルにおいてアフィンフラグをシグナリングすることができる。ビデオコーダは、現在のブロックの隣接する有効な再構築されたブロックのモーションベクトルを使用して、現在のブロックに対するモーションベクトル候補リストを構築することができる。たとえば、図6の例に示されるように、左上のCPMV v0に対するモーションベクトル候補予測子は、ブロック602A、602B、および602C(すなわち、現在のブロック600の左上の角と接触している隣接ブロック)のモーションベクトルから選択され得る。ビデオコーダは、参照リストと、隣接ブロックに対する参照のPOC、現在のCU/PUに対する参照のPOC、および現在のCU/PUのPOCの間の関係とに従って、隣接ブロックからのモーションベクトルをスケーリングすることができる。ビデオコーダは、隣接ブロック602Dおよび602E(すなわち、現在のブロック600の右上の角と接触している隣接ブロック)から右上のCPMV v1に対するモーションベクトル候補予測子を選択するために、同様の手法を実行することができる。したがって、いくつかの例では、候補リストは次のように表され得る。{(v0,v1)|v0={v602A,v602B,v602C},v1={v602D,v602E}}
候補リストの数が閾値(たとえば、2、3、または4)より小さい場合、ビデオコーダはAMVPの候補をv0およびv1に割り当てることができる。ビデオコーダは、現在のブロックの制御点モーションベクトル予測(CPMVP)としてどの(v0,v1)を選択すべきかを決定するために、現在のブロックのレートひずみ最適化(RDO)コストを利用することができる。ビデオコーダは、ビットストリームの中の候補リストにおいて、CPMVPの場所を示すためのインデックスをシグナリングすることができる。
現在のアフィンブロックのCPMVPに基づいて、ビデオコーダはアフィンモーション推定を適用してCPMVを決定することができる。ビデオコーダは、ビットストリームにおいてCPMVとCPMVPとの差分の表現をコーディングすることができる。
ビデオコーダは、上で説明されたようなアフィンモーション補償予測を実行して、現在のブロックの残差を生成することができる。ビデオコーダは、現在のブロックの生成された残差を変換および量子化し、量子化された残差をビットストリームへと(たとえば、HEVCと同様の方式で)コーディングすることができる。
図7Aおよび図7Bは、アフィンマージモードに対する候補を示す概念図である。アフィンマージ(AF_MERGE)モードを現在のブロックに適用するとき、ビデオコーダ(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)は、現在のブロックの有効な隣接する再構築されたブロックからアフィンモードでコーディングされる最初のブロックを取得することができる。いくつかの例では、ビデオコーダは、アフィンモードでコーディングされる最初のブロックを取得するために、特定の選択順序で隣接する再構築されたブロックを解析することができる。図7Aは、例示的な選択順序を示す。図7Aに示されるように、選択順序は、左のブロック702A、上のブロック702B、右上のブロック702C、左下のブロック702D、左上のブロック702Eであり得る。
図7Bは、左のブロックがアフィンモードでコーディングされる選択順序において最初のブロックである例を示す。図7Bに示されるように、ビデオコーダは、選択されたブロック1002Aを含むCU/PU704の左上の角(v2)、右上の角(v3)、および左下の角(v4)のモーションベクトルを導出することができる。ビデオコーダは、選択されたブロックの導出されたモーションベクトル(すなわち、v2、v3、およびv4)に基づいて、現在のブロック700の左上の角のモーションベクトル(すなわち、v0)および現在のブロック700の右上の角のモーションベクトル(すなわち、v1)を決定/計算することができる。
ビデオコーダは、式(2)において上で説明された簡略化されたアフィンモーションモデルに従って、現在のブロック700のCPMV v0およびv1に基づいて現在のブロック700のMVFを決定することができる。ビデオコーダは、上で説明されたようにMVFを使用してアフィンMCPを適用することができる。
現在のブロックがアフィンマージモードでコーディングされるかどうかを特定するために、ビデオコーダは、アフィンモードでコーディングされる少なくとも1つの隣接ブロックがあるとき、アフィンフラグをビットストリームにおいてシグナリングすることができる。隣接するアフィンブロックが現在のブロックに対して存在しない場合、ビデオコーダは、ビットストリームにおいてアフィンフラグをコーディングすることを省略でき、または、現在のブロックに対して隣接するアフィンブロックが存在しないことを示すためにアフィンフラグをコーディングすることができる。
上で論じられたように、既存のアフィンモーションモデルの方法(たとえば、JEMテストモデルおよびContribution 1016における)には、いくつかの問題および/またはいくつかの欠点がある。一例として、Contribution 1016では、4パラメータのアフィンモーションが、MVxおよびMVyにおけるアフィンパラメータに対する制約を課しており、対称的なスケーリング特性を有することをMVxおよびMVyに強いる。この制約は多様化したビデオコンテンツにおいては当てはまらないことがある。
別の例として、アフィンマージモードは、左下の角および右上の角に主に依存するあらかじめ定められた確認順序に依存する。このあらかじめ定められた順序は、左上の角の優先度を最低にする一方で、この角の情報は以下のアフィンモデル導出において大いに使用される。
別の例として、アフィンマージは、隣接ブロックの角のMVを現在のブロックの角へと歪めることによって、隣接モデルを受け継ぐことだけが可能である。隣接アフィンモデルを受け継ぐときにアフィンモデルパラメータを変更または調整するための柔軟性はない。
本開示の1つまたは複数の技法によれば、ビデオコーダは、ビデオデータの予測子ブロックがどのように特定されるかを示すシンタックス要素をコーディングすることができる。たとえば、ビデオコーダは、ビデオデータの現在のブロックに対するビデオデータの予測子ブロックを特定するために、4パラメータのアフィンモデルが使用されるか6パラメータのアフィンモデルが使用されるかを示すシンタックス要素をコーディングすることができる。4パラメータのアフィンモデルと6パラメータのアフィンモデルとの間での選択を可能にすることによって、本開示の技法は非対称なスケーリング特性をモーションベクトルが有することを可能にでき、これはコーディング効率を改善し得る。
いくつかの例では、ビデオコーダは、コーディング単位(CU)レベルでシンタックス要素をコーディングすることができる。たとえば、CUの中の現在のブロックに対して4パラメータのアフィンモーションモデルが使用されるか6パラメータのアフィンモーションモデルが使用されるかを示すために、CUレベルにおいてフラグが導入され得る。
いくつかの例では、ビデオコーダは、ビデオデータの現在のブロックによって参照される、スキップモードシンタックスまたはマージモードシンタックスにおいてシンタックス要素をコーディングすることができる。たとえば、現在のブロックに対して4パラメータのアフィンモーションモデルが使用されるか6パラメータのアフィンモーションモデルが使用されるかを示すために、スキップモードまたはマージモードにおいてフラグが導入され得る。
いくつかの例では、ビデオコーダは、ビデオデータの現在のブロックによって参照される、インターモードシンタックスにおいてシンタックス要素をコーディングすることができる。たとえば、現在のブロックに対して4パラメータのアフィンモーションモデルが使用されるか6パラメータのアフィンモーションモデルが使用されるかを示すために、(現在のブロックがスキップモードでもマージモードでもない場合)インターモードにおいてフラグが導入され得る。
いくつかの例では、ビデオデータの現在のブロックに対するビデオデータの予測子ブロックが4パラメータモデルのアフィンモデルを使用して特定されるか6パラメータモデルのアフィンモデルを使用して特定されるかを示すだけであることとは対照的に、ビデオコーダは、ビデオデータの現在のブロックに対するビデオデータの予測子ブロックが、単一のモーションベクトルを使用して特定されるか、4パラメータのアフィンモデルを使用して特定されるか、6パラメータのアフィンモデルを使用して特定されるか、または切り替え可能な4/6パラメータのアフィンモデルを使用して特定されるかを示すために、シンタックス要素をコーディングすることができる。たとえば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、および/またはスライスヘッダの中の1つのシンタックス要素が、1)アフィン無効、2)4パラメータのアフィン、3)6パラメータのアフィン、4)4/6切り替え可能なアフィンのうちのいずれが現在のシーケンス/ピクチャ/スライスに使用されるかをシグナリングするために存在し得る。シンタックス要素は、単項符号語、切捨単項(truncated unary)符号語、または固定長符号語を使用してコーディングされ得る。
いくつかの例では、ビデオコーダは、ビデオデータの予測子ブロックを特定するために使用されるアフィンモデルにおいて使用されるパラメータの数が切り替え可能であるかどうかを示す、有効化シンタックス要素をコーディングすることができる。たとえば、ビデオコーダは、切り替え可能なアフィンモデルがシーケンスパラメータセット(SPS)を参照するピクチャに対して有効にされるか、ピクチャパラメータセット(PPS)を参照するピクチャに対して有効にされるか、またはスライスヘッダを参照するピクチャに対して有効にされるかを示すために、SPS、PPS、および/またはスライスヘッダにおいてフラグをコーディングすることができる。
ビデオデータの予測子ブロックを特定するために使用されるアフィンモデルにおいて使用されるパラメータの数が切り替え可能であることを有効化シンタックス要素が示す場合(たとえば、有効化シンタックス要素が値1を伴うフラグである場合)、ビデオコーダは、上で論じられたようなビデオデータの現在のブロックに対するビデオデータの予測子ブロックを特定するために、4パラメータのアフィンモデルが使用されるか6パラメータのアフィンモデルが使用されるかを示すシンタックス要素をコーディングすることができる。たとえば、ビデオデータの予測子ブロックを特定するために使用されるアフィンモデルにおいて使用されるパラメータの数が切り替え可能であることを有効化シンタックス要素が示す場合(たとえば、有効化シンタックス要素が値1を伴うフラグである場合)、4パラメータのアフィンモデルと6パラメータのアフィンモデルの両方が有効にされ、4パラメータモデルまたは6パラメータモデルの使用を示すために、各ブロックに対する追加のフラグがシグナリングされ得る。
ビデオデータの予測子ブロックを特定するために使用されるアフィンモデルにおいて使用されるパラメータの数が切り替え可能ではないことを有効化シンタックス要素が示す場合(たとえば、有効化シンタックス要素が値0を伴うフラグである場合)、ビデオコーダは、4パラメータのアフィンモデルが使用される(すなわち、アフィンが使用される場合)と決定することができる。そのような例では、ビデオコーダは、ビデオデータの現在のブロックに対するビデオデータの予測子ブロックを特定するために、4パラメータのアフィンモデルが使用されるか6パラメータのアフィンモデルが使用されるかを示すシンタックス要素のコーディングを省略することができる。
いくつかの例では、上で説明されたシンタックス要素(すなわち、アフィンパラメータ(4パラメータまたは6パラメータ)フラグおよび/または有効化シンタックス要素)のうちの1つまたは複数が、隣接ブロックのアフィンパラメータの使用法に応じてCABACコンテキストモデルを使用してコーディングされ得る。一例では、現在のアフィンパラメータコンテキストインデックスCtxValは、左および上の隣接ブロックに依存する。左の隣接ブロックが利用可能ではない場合、またはアフィンモードではない場合、または6パラメータのアフィンではない場合、leftCtxは0に設定され、それ以外の場合(左が利用可能である、かつ6パラメータのアフィンモード)leftCtxは1に等しく設定される。aboveCtxを得るために、上の隣接ブロックに対して同様の計算が行われ得る。次いで、現在のブロックのCtxValがleftCtx+aboveCtxに等しく設定される。この場合、CtxValは両端を含めて[0,2]の範囲にある。leftCtx(aboveCtx)を設定する他の変形も可能である。たとえば、leftCtx(aboveCtx)は、左(上)の隣接ブロックが利用可能ではない場合、またはアフィンコーディングされない場合、0に等しく設定され、左(上)の隣接ブロックが4パラメータのアフィンを使用している場合、1に等しく設定され、左(上)の隣接ブロックが6パラメータのアフィンを使用している場合、2に等しく設定される。この場合、CtxValは両端を含めて[0,4]の範囲にある。
いくつかの例では、上で説明されたシンタックス要素(すなわち、アフィンパラメータ(4パラメータまたは6パラメータ)フラグおよび/または有効化シンタックス要素)のうちの1つまたは複数が、現在のブロックのサイズに応じてCABACコンテキストモデルを使用してコーディングされることがあり、異なるコンテキストを区別するためにブロックサイズの閾値が使用されることがある。たとえば、context0が16×16以下のブロックサイズに使用され、一方、コンテキスト1が16×16より大きいブロックサイズに使用される。閾値はビットストリームにおいてあらかじめ定められ、またはシグナリングされ得る。ブロックのサイズは、現在のブロックの幅および高さによって、別々にまたは一緒に指定され得る。たとえば、サイズは幅*高さの値で表され得る。
いくつかの例では、上で説明されたシンタックス要素(すなわち、アフィンパラメータ(4パラメータまたは6パラメータ)フラグおよび/または有効化シンタックス要素)のうちの1つまたは複数はまた、どのようなコンテキストもなしでCABACバイパスモードを使用してコーディングされ得る。
図8は、本開示の1つまたは複数の技法による、6パラメータのアフィンモーションモデルを示す概念図である。4パラメータのアフィンモデルは2つのモーションベクトルを含むことがあり、6パラメータのアフィンモデルは3つのモーションベクトルを含むことがある。6パラメータのアフィンモーションモデルが使用されるときなどの、いくつかの例では、ビデオコーダは、インターモードのために、ビットストリームにおいて3つのモーションベクトル差分(MVD)をコーディングすることができる。3つのモーションベクトル予測子は、隣接モーションベクトルから生成され、または隣接モーションベクトルから導出され得る。隣接するモーションベクトルは、アフィンモーションベクトルであることがあり、またはそうではないことがある。たとえば、現在のブロック800の3つの角の中の現在のブロックv0(MV0)、v1(MV1)、およびv2(MV2)の中の3つのモーションベクトルは、図8に示されるようにコーディングされ得る。v0を予測するために、802A(左上)、802B(上)、および802C(左)のモーションベクトルが可能性のある候補である。同様に、802D(上)および802E(右上)のモーションベクトルがv1を予測するための可能性のある候補であり、802F(左)および802G(左下)のモーションベクトルがv2を予測するための可能性のある候補である。いくつかの例では、あらかじめ定められた確認順序における各場所に対する最初の利用可能な候補が、その予測子として直接使用される。
3つのモーションベクトル予測子は、検証、分類、および重複解消の方式を使用して組合せのリストから選択されることがあり、最初の少数(K個)の組合せだけが可能性のある予測子として使用され、ここでK≧1である。いくつかの例では、ビデオコーダは、隣接する利用可能なモーションベクトルを使用して、すべての予測子の完全な組合せを生成することができる。図8に示されるように、全体で3×2×2=12個の組合せがあり得る。
第1のステップにおいて、各組合せに対して、ビデオコーダは検証確認を実行することができる。MV0がMV1に等しくMV0がMV2に等しい場合、この組合せは無効である。それ以外の場合、有効である。第2のステップにおいて、ビデオコーダは、パラメータの類似性に基づいて分類を実行することができる。たとえば、現在のブロックが次のように6パラメータのアフィンモードを使用しており、a、b、c、d、e、およびfがモデルパラメータである場合、アフィンモーションモデルは、以下で複製される式(3)に従って表され得る。
Figure 0006767508
6パラメータのアフィンモデルを使用すると、3つの角のモーションベクトルは次のように表され得る。
Figure 0006767508
図9は、本開示の1つまたは複数の技法による、アフィンモーションベクトルの評価を示す概念図である。モデルの正確さを評価するために、本開示は、推定差分(ED:estimated difference)と呼ばれるパラメータを導入する。同時に、2つの隣接ブロックMVが、図9に示されるように幅の半分および高さの半分に位置する隣接ブロック902Hおよび902Iにおいて強調される評価プロセスにおいて使用され得る。したがって、以下の通りである。
Figure 0006767508
すべての組合せの中で、小さい方から最初の少数(K個)のEDの組合せが、最終的な予測子として選択され得る。以下は例示的なEDの計算である。
Δa×高さ=abs((MV1_vx-MV0_vx)-(MVH_vx-MV0_vx)×2)×高さ
Δb×幅=abs((MV2_vx-MV0_vx)-(MVI_vx-MV0_vx)×2)×幅
Δd×高さ=abs((MV1_vy-MV0_vy)-(MVH_vy-MV0_vy)×2)×高さ
Δe×幅=abs((MV2_vx-MV0_vx)-(MVI_vy-MV0_vy)×2)×幅 (6)
ビデオコーダは、上の4つの要素の合計に等しくEDを設定することができる。
ED=Δa+Δb+Δd+Δe (7)
いくつかの例では、ビデオコーダは、アフィンモーションベクトルの類似性に基づいて分類を実行することができる。一例では、3つのモーションベクトルが与えられると、ビデオコーダは6パラメータのアフィンモデルを使用して第4のモーションベクトルを予測することができる。予測の差分はEDにおいて加算されることがあり、EDが最も小さい方から最初の少数の組合せがMV予測候補として選ばれることがある。
モーションベクトル予測子は、4パラメータのアフィンモデルを使用して他の予測値にまたがって生成され得る。たとえば、最初の2つの再構築されたMVが与えられると、ビデオコーダは、4パラメータのアフィンモデルを使用して第3のMV予測子を生成することができる。たとえば、MV2に対するMV予測子は、上の式(2)を使用することによって、現在のブロックのMV0およびMV1に基づいて導出され得る。
いくつかの例では、アフィンモーションベクトル予測子は、現在のフレーム内の以前にコーディングされたアフィンモーションベクトルから生成され得る。一例では、N(N≧0)個のアフィンモーションベクトルのセットを、各フレームの最初に初期化することができ、各アフィンブロックをコーディングした後で、最近コーディングされたアフィンモーションベクトルでリストが更新され、リストの中から選ばれたアフィンモーション予測子を示すためにインデックスがシグナリングされる。ビデオコーダは、切捨単項符号、またはフラグプラス切捨単項符号を使用して、インデックスをコーディングすることができる。
いくつかの例では、K(K≧0)個のアフィンモデルパラメータのセットが、各フレームの最初に初期化される。各アフィンブロックがコーディングされた後で、パラメータのセットは、コーディングされたアフィンモデルパラメータで更新される。たとえば、6パラメータモデルでは、ビデオコーダはN個のベクトルのリストを維持することができ、ここで各ベクトルは6個の要素をもち{ai, bi, ci, di, ei, fi}によって表される。同様に、4パラメータモデルでは、ビデオコーダはM個のベクトル{aj, bj, cj, dj}のリストを維持することができる。MおよびNは同じであってもよく同じではなくてもよいことに留意されたい。
上で言及された技法では、アフィンインターモードのために、ビデオコーダは、アフィンモデルの各MVのモーションベクトル予測子を、その隣接する場所のMVを使用することによって個別に導出することができる。本開示の1つまたは複数の技法によれば、アフィンモーションが隣接ブロックによって使用されるとき、隣接ブロックのアフィンモーションモデルを使用し得るビデオコーダは、現在のブロックのアフィンモーションモデルのすべてのMVを予測することができ、すなわち、現在のアフィンモデルのMV0およびMV1(および6パラメータモデルではMV2)の予測子が隣接ブロックのアフィンモーションから外挿され、次いでMVDをコーディングすることができる。
上で言及された差分予測方法は共同で使用され得る。たとえば、どのMV予測方法が使用されるかを示すために、フラグまたはインデックスがシグナリングされ得る。いくつかの例では、上で言及された差分予測方法を使用することによって導出される予測子は、MV予測子候補リストを生成するために使用され、どの候補が現在のアフィンモーションモデルを予測するために使用されるかを示すために、フラグまたはインデックスが使用される。
4パラメータのアフィンモーションモデルが使用されるとき、「MV0およびMV1」または「MV0およびMV2」(図8に示されるようなv0およびv1またはv0およびv2)のいずれかが、現在のCU/PUのアフィンモーションを表すために使用され得る。現在のCU/PUの幅および高さが異なるとき、モーションベクトルのどのペアが使用されるかを決定するために、ある種の規則が使用され得る。
一例では、幅が高さ以上である(または高さより少しだけ大きい)とき、または幅と高さの比が閾値より大きいとき、MV0およびMV1のペアを使用することができ、それ以外の場合、MV0およびMV2のペアを使用することができる。閾値は、ブロックサイズに依存することがあり、または幅/高さに依存することがある。
技法は、アフィンマージモードとアフィンインターモードの両方に適用されることがあり、または、それらのうちの一方、たとえばアフィンマージモードだけに適用されることがある。
ビデオコーダは、(たとえば、マージモードにおいて)隣接ブロックを選択するために、特定の確認/評価順序を使用することができる。いくつかの例では、ビデオコーダは、アフィンマージモードに対して、隣接ブロックを確認するために上→左→左上→右上→左下の順序を使用することができる。この順序は、D→F→A→E→Gとして図9のブロックに対応する。隣接ブロックが利用可能ではないとき、またはアフィンコーディングされるブロックではないとき、ビデオコーダは、5つの候補すべてが確認されるまで、あらかじめ定められた順序で確認を適用することができる。
いくつかの例では、利用可能な隣接アフィンモーションブロックがない場合、ビデオコーダは、マージモードのための候補として、あるデフォルトの、またはあらかじめ定められた、またはあらかじめ計算されたアフィンモーションモデルを挿入することができる。挿入されたモデルは、ピクチャレベルとして初期化することができ、オンザフライで更新され得る。
いくつかの例では、有効な隣接アフィンモデルがない場合、ビデオコーダは、「上→左→左上→右上→左下」の順序に従って隣接ブロックを確認した後で、デフォルトの、またはあらかじめ定められた、またはあらかじめ計算されたアフィンモーションモデルの挿入を実行することができる。
いくつかの例では、ビデオコーダは、現在のブロック、および切捨単項符号語、または単項符号語、または指数ゴロム符号語、またはゴロムファミリー符号語、またはインデックスをコーディングするために使用され得るこれらの連結のために、どの隣接アフィンモデルがコピーされるかを示すために、アフィンマージインデックスをコーディングすることができる。
他の情報から導出/推測される切り替え可能な4パラメータおよび6パラメータのアフィンモデル。いくつかの例では、ビデオコーダは、インター予測方向情報からアフィンパラメータを導出することができる。各ブロックに対して、ブロックがインターモードを使用してコーディングされるとき、予測参照フレームインデックスは、refList0から、またはrefList1から、またはrefList0とrefList1の両方からのものであり得る。本開示の1つまたは複数の技法によれば、単予測が使用されるとき(refList0から予測されるか、またはrefList1から予測されるかのいずれか)、ビデオコーダは、3つのモーションベクトルの差分がビットストリームにおいてコーディングされる、6パラメータのアフィンモデルを使用することができる。(refList0とrefList1の両方から予測される)双予測が使用されるとき、ビデオコーダは、2つのモーションベクトルの差分がビットストリームにおいてコーディングされる、4パラメータのアフィンモデルを使用することができる。そのような例の一部では、ビデオコーダは、ビデオデータの現在のブロックに対するビデオデータの1つまたは複数の予測子ブロックを特定するために、4パラメータのアフィンモデルが使用されるか6パラメータのアフィンモデルが使用されるかを明示的に示すシンタックス要素のコーディングを省略することができる。
本開示の1つまたは複数の技法によれば、双予測ブロックに対して、L1ZeroMVDFlagがオンであるとき、ビデオコーダは、送信されるMVDがなくても、refList1に対して6パラメータのアフィンモデルを有効にすることができる。この場合、ビデオコーダは、3つのモーションベクトル予測子によって確立される6パラメータのアフィンモデルを通じて、モーション補償された予測子を生成することができる。
いくつかの例では、アフィンパラメータは隣接ブロックから導出され得る。隣接ブロックの多数派が4パラメータのアフィンモデルを使用している場合、現在のブロックも4パラメータのアフィンモデルを使用する。同様に、隣接ブロックの多数派が6パラメータのアフィンモデルを使用している(6パラメータのアフィンの数が4パラメータのアフィンの数より大きい)とき、現在のブロックも6パラメータのアフィンモデルを使用する。多数派の隣接ブロックによるアフィンの使用法を決定する際に、ある単位サイズ(4×4ブロックに対する)での隣接ブロックの数を計算するために、カウンタが使用され得る。隣接するアフィンモデルがない場合、デフォルトモードとして6パラメータのアフィンモデルが使用される(あるいは、4パラメータのアフィンモデルがデフォルトとして使用される)。4パラメータのアフィンモデルの数が6パラメータモデルの数に等しいとき、6パラメータのアフィンモデルがデフォルトとして使用される(あるいは、4パラメータのアフィンモデルがデフォルトとして使用される)。
アフィンモデルフラグおよびモーションベクトルのフレームにまたがる決定。本開示の1つまたは複数の技法によれば、ビデオコーダは、アフィンパラメータフラグ(4パラメータモードまたは6パラメータモード)またはアフィンモーションベクトル情報を明示的にシグナリングする代わりに、フレームにまたがるアフィンモーションモデルパラメータを使用することができる。一例では、現在のブロックは、併置されたブロックからアフィンパラメータモデルフラグを受け継ぐ。併置されたブロックは、同じ位置からのものであるが、同じ時間レベルで以前にコーディングされたピクチャの中にあるブロックである。併置されたブロックは、現在のブロックと同じ区分サイズを有することも有しないこともある。本開示の1つまたは複数の技法によれば、ビデオコーダは、併置された領域の中のすべてのサブブロック(4×4の単位の)を確認することができ、多数派のアフィンモデルが現在のブロックのために使用される。併置された領域の中にアフィンモデルがない場合、ビデオコーダは、4パラメータまたは6パラメータを切り替えるフラグを明示的にコーディングすることができる。いくつかの例では、6(または4)パラメータのアフィンがデフォルトとして使用される。いくつかの例では、複雑さを下げるために、ラスター走査順序において併置された領域の中の最初のアフィンサブブロックが確認され、現在のブロックによって受け継がれる。
別の例では、現在のブロックは、併置されたブロックから直接、アフィンモーションモデルパラメータ{a, b, c, d, e, f}または{a, b, c, d}を受け継ぐ。併置されたブロックは、同じ位置からのものであるが、同じ時間レベルで以前にコーディングされたピクチャの中にあるブロックである。併置されたブロックは、現在のブロックと同じ区分サイズを有することも有しないこともある。本開示の1つまたは複数の技法によれば、ビデオコーダは、併置された領域の中のすべてのサブブロック(4×4の単位の)を確認することができ、現在のブロックは、多数派のアフィンエリアのモーションモデルパラメータを受け継ぐ。併置された領域の中にアフィンモデルがない場合、ビデオコーダは、4パラメータまたは6パラメータを切り替えるフラグを明示的にコーディングすることができる。いくつかの例では、6(または4)パラメータのアフィンがデフォルトとして使用される。いくつかの例では、複雑さを下げるために、ラスター走査順序において併置された領域の中の最初のアフィンサブブロックが確認され、現在のブロックによって受け継がれる。いくつかの例では、上の例の組合せが一緒に使用され得る。ビデオコーダは、そのような継承が、PU、CUレベル、PPS、またはSPSなどの異なるレベルにおいて使用されるかどうかを示すために、フラグをコーディングすることができる。
アフィンパラメータ情報を前提としたアフィンモーション補償。再構築プロセスにおいて、3つのモーションベクトル(たとえば、現在のブロックの中の角のモーションベクトル)が与えられると、6パラメータのアフィンモデルが式(4)を解くことによって確立され得る。6パラメータのモデルが与えられると、画素ごとのモーションベクトルが、画素場所(x,y)を式(3)に代入することによって計算され得る。モーション補償の複雑さを下げるために、各サブブロックK×Kに対して1つのモーションベクトルを使用することができ、Kは1以上の整数である。代表的なモーションベクトルは、K×Kのサブブロック内の左上の画素場所を使用して、またはK×Kのサブブロックの中心の場所を使用して計算され得る。サイズKは、明示的にシグナリングされ、またはデフォルト値として設定され、または、画素のグループが同じモーションベクトルを共有するかどうかに基づいてオンザフライで計算され得る。
アフィンモーションベクトルのコーディング。隣接する(アフィンモデルの検証に関して)有効な重複解消されたモーションベクトルからの予測子が、現在のアフィンモーションベクトルを特定/予測するために使用され得る。直近の以前に重複解消されたコーディングされたアフィンモーションベクトルからの予測子が、現在のアフィンモーションベクトルを特定/予測するために保持され得る。予測子の数はKであることがあり、Kは1以上の整数である。そのような予測子はアフィン予測子リストを形成する。Kはビットストリームにおいてあらかじめ定められ、またはシグナリングされ得る。
いくつかの例では、上の技法の両方の組合せが、予測子リストを保持するために使用され得る。たとえば、ビデオコーダは、現在のアフィンモーションベクトルを特定/予測するために、直近の以前に重複解消されたコーディングされたアフィンモーションベクトルからの予測子とともに、隣接する(アフィンモデル検証に関して)有効な重複解消されたモーションベクトルからの予測子を使用することができる。
ビデオコーダは、予測子の使用法を示すために、ビットストリームにおいて予測子インデックスを明示的にシグナリングすることができる。6パラメータモデルの場合は3つのMVDがコーディングされ得るが、4パラメータモデルの場合は2つのMVDがコーディングされ得る。
MVDは、従来のMVDコーディングとは異なる二値化方法を使用し得る。一例では、アフィンMVDは別個のコンテキストモデリングを使用してコーディングされる。別の例では、アフィンMVDコーディングは、従来のインターMVDコーディング(たとえば、HEVCの場合のような)と同じMVDコーディングのコンテキストモデリングを共有する。
MVDは、4パラメータのアフィンモデルまたは6パラメータのアフィンモデルのいずれかに対するブロックの中での相対的な位置に基づいて、各MVDに対して異なる二値化方法を使用することができる。一例では、アフィンMVDは、4パラメータのアフィンモデルまたは6パラメータのアフィンモデルのいずれかに対するブロックの中での相対的な位置に基づいて、異なるコンテキストモデリングを使用してコーディングされ得る。
モーションベクトルのコーディングをさらに改善するために、両方の方向(X方向およびY方向)におけるMVDが、アフィンモーションベクトルのうちの1つまたはすべてに対して0であるかどうかを示すための、フラグがシグナリングされ得る。そのようなフラグ(AllZeroFlag)が1である場合、MVD_xおよびMVD_yを一緒にコーディングするために、新規のMVDVコーディングが導入される。具体的には、AllZeroFlagが1である場合、MVD_xとMVD_yの両方が0であると推測され、そうではなくMVD_xが0である場合、MVD_yは0以外でなければならない。この場合、abs(MVD_y)-1がコーディングされる。言い換えると、各モーションベクトルに対して、フラグAllZeroFlagがシグナリングされ、AllZeroFlagが0である場合、2つのMVDコーディングがそれに続く。4パラメータのアフィンでは、各リストに対して、2つのAllZeroFlagがコーディングされ、一方6パラメータのアフィンでは、各リストに対して、3つのAllZeroFlagがコーディングされる。
いくつかの例では、AllZeroFlagは拡張されて、双予測における両方の参照リストの中のすべての0のMVDを表すことができる。たとえば、4パラメータのアフィンでは、全体で2つのAllZeroFlagが2つの参照リストに対してコーディングされ、6パラメータのアフィンでは、全体で3つのAllZeroFlagが2つの参照リストに対してコーディングされる。
図10は、重複ブロックモーション補償(OBMC)の例を示す。H.263の開発において提案されているが、OBMCは、8×8ブロックに対して実行され、2つの接続された隣接する8×8ブロックのモーションベクトルが、現在のブロックのために使用される。たとえば、現在のマクロブロックの中の第1の8×8ブロックに対して、第1の8×8ブロックのモーションベクトルのほかに、第1の8×8ブロックの上および左の隣接モーションベクトルも、2つの追加の予測ブロックを生成するために適用される。同様に、現在のマクロブロックの中の第2の8×8ブロックに対して、第2の8×8ブロックのモーションベクトルのほかに、第2の8×8ブロックの上および右の隣接モーションベクトルも、2つの追加の予測ブロックを生成するために適用される。たとえば、図10の例では、ブロック1004Aおよびブロック1004Bのモーションベクトルは、16×16のマクロブロック1000の8×8ブロック1002Aに対する追加の予測ブロックを生成するために使用されることがあり、ブロック1006Aおよびブロック1006Bのモーションベクトルは、マクロブロック1000の8×8のブロック1002Bに対する追加の予測ブロックを生成するために使用されることがある。このようにして、現在の8×8ブロックの各画素は3つの予測ブロックを有することがあり、これらの3つの予測値の加重平均が最終的な予測ブロックとして使用され得る。
隣接ブロックがコーディングされないとき、またはイントラとしてコーディングされる(すなわち、隣接ブロックが利用可能なモーションベクトルを有しない)とき、現在の8x8ブロックのモーションベクトルは、隣接モーションベクトルとして使用される。一方、(図10に示されるような)現在のマクロブロックの第3および第4の8×8ブロックに対して、下の隣接ブロックは常に使用されない。たとえば、図10の例に示されるように、ブロック1008Bのモーションベクトルは、ブロック1008Bがコーディングされるべきではないと見なされるので8×8ブロック1002Cに対する追加の予測ブロックを生成するために使用されず、ブロック1010Bのモーションベクトルは、ブロック1010Bがコーディングされるべきではないと見なされるので8×8ブロック1002Dに対する追加の予測ブロックを生成するために使用されない。言い換えると、各マクロブロックに対して、その下のマクロブロックからのモーション情報は、OBMCの間に現在のマクロブロックの画素を再構築するために使用されない。
図11Aおよび図11Bは、HEVCでのOBMCを示す概念図である。HEVCでは、米国特許出願公開第2013/0128974A1号および米国特許出願公開第2012/0177120A1号において、PU境界を平滑化するためにOBMCも提案された。提案された方法の例が、図11Aおよび図11Bに示される。図11Aおよび図11Bにおいて、白の領域の各々が第1のPU1102(PU0)であり、影付きの領域の各々が第2のPU1104(PU1)である。CUが、2つ(またはより多く)のPUを含むときに、PU境界付近の行/列は、OBMCによって平滑化される。PU0 1102またはPU1 1104の中で「A」または「B」を用いてマークされた画素に対して、たとえばそれぞれPU0およびPU1のモーションベクトルを適用することによって、2つの予測値が生成され、それらの加重平均が最終的な予測として使用される。
図12Aおよび図12Bは、OBMCが適用され得るサブブロックを示す概念図である。Joint Exploration Model(JEM)参照ソフトウェア(https://jvet.hhi.fraunhofer.de/において入手可能である)において、サブPUレベルのOBMCが適用される。OBMCは、CUの右および下の境界を除き、すべてのモーション補償された(MC)ブロック境界のために実行される。その上、OBMCは輝度成分と色差成分の両方に対して適用される。HEVCでは、MCブロックはPUに相当する。JEMでは、PUがサブPUモードでコーディングされるとき、PUの各サブブロックはMCブロックである。CU/PU境界を均一に処理するために、OBMCはすべてのMCブロック境界に対してサブブロックレベルで実行され、ここで図12Aおよび図12Bに示されるように、サブブロックサイズは4×4に等しく設定される。
OBMCが現在のサブブロックに適用されるとき、現在のモーションベクトル以外に、4つの接続された隣接サブブロックのモーションベクトルも、それらが利用可能であり現在のモーションベクトルと同一でなければ、現在のサブブロックの予測ブロックを導出するために使用される。複数のモーションベクトルに基づくこれらの複数の予測ブロックは、現在のサブブロックの最終的な予測信号を生成するために重み付けられる。
隣接サブブロックのモーションベクトルに基づく予測ブロックはPNと表記されることがあり、Nは上、下、左、および右の隣接サブブロックに対するインデックスを示す。現在のブロックのモーションベクトルに基づく予測ブロックは、PCと表記され得る。PNがPCと同じPUに属するとき(したがって、同じモーション情報を含むとき)、OBMCはPNから実行されない。それ以外の場合、PNの1つ1つの画素がPC中の同じ画素に加算され、すなわち、PNの4つの行/列がPCに加算される。加重係数{1/4, 1/8, 1/16, 1/32}はPNのために使用され、加重係数{3/4, 7/8, 15/16, 31/32}はPCのために使用される。例外には、PNの2つの行/列しかPCに追加されない、小さいMCブロックがある(すなわち、PUサイズが8×4、4×8に等しいとき、またはPUがATMVPモードでコーディングされるとき)。この場合、加重係数{1/4, 1/8}がPNのために使用されることがあり、加重係数{3/4, 7/8}がPCのために使用される。垂直に(または水平に)隣接するサブブロックのモーションベクトルに基づいて生成されるPNに対して、PNの同じ行(列)の中の画素は、同じ加重係数を用いてPCに加算される。PU境界に対して、OBMCは境界の各側に適用され得ることに留意されたい。図12Aおよび図12Bにおけるように、OBMCはPU1とPU2の間の境界に沿って2回適用され得る。まず、OBMCは、PU1の内部の境界に沿って影付きブロックにPU2のMVを用いて適用される。第2に、OBMCは、PU2の内部の境界に沿って影付きブロックにPU1のMVを用いて適用される。対照的に、OBMCはCU境界の一辺だけに適用されることがあり、それは、現在のCUをコーディングするとき、コーディングされたCUを変更できないからである。
図13は、本開示の1つまたは複数の技法による、(たとえば、ビデオ符号化プロセスの間に)ビデオエンコーダによってアフィンモーション補償を実行するための例示的な方法を示すフローチャートである。例および説明を目的に、図13の方法は、図1および図2のビデオエンコーダ20に関して説明される。
ビデオエンコーダ20は、符号化されるべきビデオデータの現在のブロックを受信し得る(1302)。たとえば、ビデオエンコーダ20は、ビデオソース18から、ビデオデータの現在のブロックを含むビデオデータの現在のピクチャに対する生の画素値(たとえば、RGB、CMYK、YUVなど)を受信し得る。ビデオエンコーダ20のモード選択ユニット40の区分ユニット48は、そのうちの1つが現在のブロックであり得る、現在のピクチャを複数のブロックへと分割することができる。
ビデオエンコーダ20は、アフィンモーション予測を使用して、ビデオデータの現在のブロックを符号化すると決定し得る(1304)。たとえば、モード選択ユニット40は、インター予測モードを使用してビデオデータの現在のブロックを符号化することを決定し、モーション情報予測モードとしてアフィンモーションモデルを選択することができる。モード選択ユニット40は、現在のピクチャのフレームタイプ(たとえば、Pフレーム、Iフレーム、Bフレームなど)などの多種多様な要因に基づいてインター予測モードを使用すると決定することができ、どの予測モードが最低のレートひずみ最適化(RDO)コストをもたらすかを決定することができる。
ビデオエンコーダ20は、現在のブロックがアフィンモーション予測を使用して符号化されることの指示を符号化し得る(1306)。たとえば、モード選択ユニット40は、ビデオエンコーダ20のエントロピー符号化ユニット56に、現在のブロックがインター予測モードを使用して符号化されることを示す1つまたは複数のシンタックス要素、アフィンモーションモデルが現在のブロックのモーション情報予測モードであることを示す1つまたは複数のシンタックス要素、および/または、現在のブロックがインター予測モードを使用して符号化され、アフィンモーションモデルが現在のブロックのモーション情報予測モードであることを示す1つまたは複数のシンタックス要素を、ビデオビットストリームにおいて符号化させ得る。
ビデオエンコーダ20は、ビデオデータの現在のブロックのアフィンモーションモデルのモーションベクトルの値を決定し得る(1308)。たとえば、ビデオエンコーダ20のモーション推定ユニット42および/またはモーション補償ユニット44は、ビデオデータの現在のブロックの画素値とよく一致する画素値を有するビデオデータの予測子ブロックを特定し得る。モーション推定ユニット42および/またはモーション補償ユニット44は、ビデオデータの現在のブロックとビデオデータの予測子ブロックとの間のアフィン変換を表す2つ以上のモーションベクトルを決定し得る。
上で論じられたように、いくつかの例では、モーション推定ユニット42および/またはモーション補償ユニット44は常に、2つのモーションベクトルを含む4パラメータのアフィンモーションモデルを使用して、予測子ブロックを特定することができる。同様に、いくつかの例では、モーション推定ユニット42および/またはモーション補償ユニット44は常に、3つのモーションベクトルを含む6パラメータのアフィンモーションモデルを使用して、予測子ブロックを特定することができる。さらに他の例では、モーション推定ユニット42および/またはモーション補償ユニット44は、2つのモーションベクトル(たとえば、MV0およびMV1とも呼ばれる、図8のv0およびv1)を含む4パラメータのアフィンモーションモデルと、3つのモーションベクトルを含む6パラメータのアフィンモーションモデル(たとえば、MV0、MV1、およびMV2とも呼ばれる、図8のv0、v1、およびv2)とのいずれかを選択的に使用して、予測子ブロックを特定することができる。
いくつかの例では、ビデオエンコーダ20は、現在のブロックが4パラメータのモデルを使用してコーディングされるか6パラメータのモデルを使用してコーディングされるかの指示を符号化することができる。たとえば、モーション推定ユニット42および/またはモーション補償ユニット44は、エントロピー符号化ユニット56に、符号化されたビデオビットストリームにおいて、ビデオデータの現在のブロックに対するアフィンモーションモデルが4パラメータモデルを備えるか6パラメータモデルを備えるかを示す、シンタックス要素を符号化させることができる。いくつかの例では、エントロピー符号化ユニット56は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはビデオデータの現在のブロックによって参照されるスライスヘッダのうちの1つまたは複数において、シンタックス要素を符号化し得る。いくつかの例では、エントロピー符号化ユニット56は、ビデオデータの現在のブロックを含むCUのコーディング単位(CU)レベルでシンタックス要素を符号化し得る。
ビデオエンコーダ20は、ビデオデータの現在のブロックに対して、アフィンモーションモデルを有するビデオデータの隣接ブロックを選択し得る(1310)。たとえば、図8の現在のブロック800を符号化するとき、モーション推定ユニット42および/またはモーション補償ユニット44は、特定の順序で図8のブロック802A〜802Gを評価し、その特定の順序において、ビデオデータの選択された隣接ブロックとしてアフィンモーション補償を使用してコーディングされる最初のブロック(たとえば、利用可能なアフィンモーションモデルを有する最初のブロック)を選択することができる。いくつかの例では、ビデオデータの現在のブロックはアフィンインターモードを使用してコーディングされ得る。いくつかの例では、ビデオデータの選択された隣接ブロックは、アフィンインターモード(たとえば、AF_INTER)またはアフィンマージモード(たとえば、AF_MERGE)を使用してコーディングされ得る。
ビデオエンコーダ20は、ビデオデータの選択された隣接ブロックのアフィンモーションモデルのモーションベクトルの予測子の値を取得し得る(1312)。たとえば、モーション推定ユニット42および/またはモーション補償ユニット44は、参照ピクチャメモリ64などの、ビデオエンコーダ20のメモリまたは記憶デバイスからビデオデータの選択された隣接ブロックのアフィンモーションモデルの値を取得し得る。モーション推定ユニット42および/またはモーション補償ユニット44は、ビデオデータの選択された隣接ブロックのアフィンモーションモデルの値を現在のブロックの場所へと歪め、予測子の値を導出し得る。言い換えると、モーション推定ユニット42および/またはモーション補償ユニット44は、ビデオデータの選択された隣接ブロックのアフィンモーションモデルの値から予測子の値を外挿し得る。一例として、選択された隣接ブロックが図8のブロック802Fである場合、ビデオエンコーダ20は、ブロック802Fの複数のモーションベクトルの値(たとえば、ブロック802FのCPMVの値)を取得し、ブロック802Fの複数のモーションベクトルの値を現在のブロック800の場所へと歪め得る。別の例として、選択された隣接ブロックが図8のブロック802Fである場合、ビデオエンコーダ20は、ブロック802Fの複数のモーションベクトルの値(たとえば、ブロック802FのCPMVの値)を予測子として使用し得る。
ビデオエンコーダ20は、符号化されたビデオビットストリームにおいて、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分の表現を符号化し得る(1314)。たとえば、モーション推定ユニット42および/またはモーション補償ユニット44は、現在のブロックのアフィンモーションモデルの各々のそれぞれのモーションベクトルに対して、現在のブロックのアフィンモーションモデルのそれぞれのモーションベクトルの値と、選択された隣接ブロックのアフィンモーションモデルのモーションベクトルから導出された対応する予測子の値との差分を表す、それぞれのモーションベクトル差分(MVD)値を決定し得る。一例として、現在のブロックのアフィンモーションモデルのモーションベクトルの値がMV0およびMV1であり、選択された隣接ブロックのアフィンモーションモデルのモーションベクトルから導出された予測子の値がMVP0およびMVP1である場合、モーション推定ユニット42および/またはモーション補償ユニット44は、MV0とMVP0との間の差分として第1のMVD値を決定し、MV1とMVP1との間の差分として第2のMVD値を決定し得る。モーション推定ユニット42および/またはモーション補償ユニット44は、エントロピー符号化ユニット56に、符号化されたビデオビットストリームにおいて、決定されたMVDの値を表す1つまたは複数のシンタックス要素を符号化させ得る。
いくつかの例では、ビデオエンコーダ20はさらに、符号化されたビデオビットストリームにおいて、現在のブロックと、現在のブロックのアフィンモーションモデルによって特定される予測子ブロックとの間の画素差分を表す残差データを符号化し得る。ビデオエンコーダ20は、(たとえば、未来のブロックを予測するときに使用するための)現在のブロックの画素値を再構築するために、デコーダループを実装し得る。たとえば、ビデオエンコーダ20は、現在のブロックに対するアフィンモーションモデルに基づいて予測子ブロックを特定し、参照ピクチャメモリ64から予測子ブロックの画素値を取得し、残差値を予測子ブロックの画素値に加算して、現在のブロックの画素値を再構築し得る。
図14は、本開示の1つまたは複数の技法による、(たとえば、ビデオ復号プロセスの間に)ビデオデコーダによってアフィンモーション補償を実行するための例示的な方法を示すフローチャートである。例および説明を目的に、図14の方法は、図1および図3のビデオデコーダ30に関して説明される。
ビデオデコーダ30は、現在のブロックがアフィンモーション予測を使用して符号化されることの指示を復号し得る(1402)。たとえば、エントロピー復号ユニット70は、ビデオビットストリームから、現在のブロックがインター予測モードを使用して符号化されることを示す1つまたは複数のシンタックス要素、アフィンモーションモデルが現在のブロックのモーション情報予測モードであることを示す1つまたは複数のシンタックス要素、および/または、現在のブロックがインター予測モードを使用して符号化され、アフィンモーションモデルが現在のブロックのモーション情報予測モードであることを示す1つまたは複数のシンタックス要素を復号し得る。エントロピー復号ユニット70は、復号されたシンタックス要素の値をモーション補償ユニット72に与え得る。
ビデオデコーダ30は、ビデオデータの現在のブロックに対して、アフィンモーションモデルを有するビデオデータの隣接ブロックを選択し得る(1404)。たとえば、図8の現在のブロック800を復号するとき、モーション補償ユニット72は、特定の順序で図8のブロック802A〜802Gを評価し、その特定の順序において、ビデオデータの選択された隣接ブロックとしてアフィンモーション補償を使用してコーディングされる最初のブロック(たとえば、利用可能なアフィンモーションモデルを有する最初のブロック)を選択することができる。いくつかの例では、ビデオデータの現在のブロックはアフィンインターモードを使用してコーディングされ得る。いくつかの例では、ビデオデータの選択された隣接ブロックは、アフィンインターモード(たとえば、AF_INTER)またはアフィンマージモード(たとえば、AF_MERGE)を使用してコーディングされ得る。
ビデオデコーダ30は、ビデオデータの選択された隣接ブロックのアフィンモーションモデルのモーションベクトルから導出された予測子の値を取得し得る(1406)。たとえば、モーション補償ユニット72は、参照ピクチャメモリ82などの、ビデオデコーダ30のメモリまたは記憶デバイスからビデオデータの選択された隣接ブロックのアフィンモーションモデルの値を取得し得る。モーション補償ユニット72は、ビデオデータの選択された隣接ブロックのアフィンモーションモデルの値を現在のブロックの場所へと歪め、予測子の値を導出し得る。言い換えると、モーション補償ユニット72は、ビデオデータの選択された隣接ブロックのアフィンモーションモデルの値から予測子の値を外挿し得る。一例として、選択された隣接ブロックが図8のブロック802Fである場合、ビデオデコーダ30は、ブロック802Fの複数のモーションベクトルの値(たとえば、ブロック802FのCPMVの値)を取得し、ブロック802Fの複数のモーションベクトルの値を現在のブロック800の場所へと歪め得る。別の例として、選択された隣接ブロックが図8のブロック802Fである場合、ビデオデコーダ30は、ブロック802Fの複数のモーションベクトルの値(たとえば、ブロック802FのCPMVの値)を予測子として使用し得る。
ビデオデコーダ30は、符号化されたビデオビットストリームから、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値と予測子の値との差分の表現を復号し得る(1408)。たとえば、エントロピー復号ユニット70は、符号化されたビデオビットストリームから、現在のブロックのアフィンモーションモデルのそれぞれのモーションベクトルの値と、選択された隣接ブロックのアフィンモーションモデルのモーションベクトルから導出された対応する予測子の値との差分の値を表す、シンタックス要素を復号し得る。一例として、現在のブロックのアフィンモーションモデルのモーションベクトルの値がMV0およびMV1であり、選択された隣接ブロックのアフィンモーションモデルのモーションベクトルから導出された予測子の値がMVP0およびMVP1である場合、エントロピー復号ユニット70は、第1のMVD値および第2のMVD値の値を表すシンタックス要素を復号することができ、第1のMVD値はMV0とMVP0との間の差分であり、第2のMVD値はMV1とMVP1との間の差分である。エントロピー復号ユニット70は、復号されたシンタックス要素の値をモーション補償ユニット72に与え得る。
ビデオデコーダ30は、予測子の値および復号された差分に基づいて、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの値を決定し得る(1410)。たとえば、モーション補償ユニット72は、MVP0の値を第1のMVD値の値に加算してMV0の値を決定し、MVP1の値を第2のMVD値の値に加算してMV1の値を決定し得る。
ビデオデコーダ30は、ビデオデータの現在のブロックに対するアフィンモーションモデルのモーションベクトルの決定された値に基づいて、ビデオデータの予測子ブロックを決定し得る(1412)。たとえば、モーション補償ユニット72は、参照ピクチャメモリ82から、ビデオデータの現在のブロックに対するアフィンモーションモデルによって特定される予測子ブロックの画素値を取得し得る。
ビデオデコーダ30は、ビデオデータの予測子ブロックに基づいてビデオデータの現在のブロックを再構築し得る(1414)。たとえば、エントロピー復号ユニット70は、符号化されたビデオビットストリームから、現在のブロックと、現在のブロックのアフィンモーションモデルによって特定される予測子ブロックとの間の画素差分を表す残差データを復号し得る。モーション補償ユニット72は、残差値を予測子ブロックの画素値に加算して、現在のブロックの画素値を再構築し得る。
例によっては、本明細書において説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行されてよく、追加され、統合され、または完全に除外されてよい(たとえば、説明されたすべての行為またはイベントが技法の実践にとって必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて同時に実行され得る。
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 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 ディスプレイデバイス
40 モード選択ユニット
42 モーション推定ユニット
44 モーション補償ユニット
46 イントラ予測ユニット
48 区分ユニット
50 加算器
52 変換処理ユニット
54 量子化ユニット
56 エントロピー符号化ユニット
58 逆量子化ユニット
60 逆変換ユニット
62 加算器
64 参照ピクチャメモリ
70 エントロピー復号ユニット
72 モーション補償ユニット
74 イントラ予測ユニット
76 逆量子化ユニット
78 逆変換ユニット
80 加算器
82 参照ピクチャメモリ
500 現在のブロック
502 左上の角
504 右上の角
600 現在のブロック
602A、602B、602C ブロック
602D、602E 隣接ブロック
700 現在のブロック
702A、702B、702C、702D、702E ブロック
704 CU/PU
800 現在のブロック
802A、802B、802C、802D、802E、802F、802G モーションベクトル、ブロック
900 現在のブロック
902H、902I ブロック
1000 マクロブロック
1002A、1002B、1002C、1002D ブロック
1004A、1004B ブロック
1006A、1006B ブロック
1008B ブロック
1010、1010B ブロック
1102 第1のPU、PU0
1104 第2のPU、PU1

Claims (37)

  1. ビデオデータを復号するための方法であって、
    ビデオデコーダの1つまたは複数のプロセッサによって、ビデオデータの現在のピクチャの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得するステップと、
    前記1つまたは複数のプロセッサによって、符号化されたビデオビットストリームから、前記現在のピクチャによって参照されるシーケンスパラメータセット(SPS)に含まれる第1のシンタックス要素を復号するステップであって、
    前記第1のシンタックス要素の第1の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第1のシンタックス要素の第2の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、ステップと、
    前記第1のシンタックス要素が前記第2の値を有することに応答して、前記1つまたは複数のプロセッサによって、前記符号化されたビデオビットストリームから、第2のシンタックス要素を復号するステップであって、
    前記第2のシンタックス要素の第1の値は、前記現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第2のシンタックス要素の第2の値は、前記現在のブロックに対するモーション補償が、3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、ステップと、
    前記1つまたは複数のプロセッサによって、ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、前記第2のシンタックス要素によって示されるビデオデータの前記現在のブロックの前記アフィンモーションモデルのモーションベクトルに対する予測子の値を導出するステップと、
    前記1つまたは複数のプロセッサによって、前記符号化されたビデオビットストリームから、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値と前記予測子の前記値との差分の表現を復号するステップと、
    前記1つまたは複数のプロセッサによって、前記予測子の前記値および前記復号された差分から、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値を決定するステップと、
    ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記決定された値に基づいて、ビデオデータの予測子ブロックを決定するステップと、
    ビデオデータの前記予測子ブロックに基づいてビデオデータの前記現在のブロックを再構築するステップと
    を備える、方法。
  2. ビデオデータの前記現在のブロックがアフィンインターモードを使用して復号される、請求項1に記載の方法。
  3. ビデオデータの前記隣接ブロックがアフィンインターモードまたはアフィンマージモードを使用して復号される、請求項2に記載の方法。
  4. ビデオデータの前記隣接ブロックがビデオデータの選択された隣接ブロックを備え、ビデオデータの前記選択された隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値を取得するステップが、
    あらかじめ定められた順序で、ビデオデータの前記現在のブロックのビデオデータの隣接ブロックを評価するステップと、
    アフィンモーション補償を使用して復号されたビデオデータの複数の隣接ブロックのうちのビデオデータの最初の隣接ブロックを、ビデオデータの前記選択された隣接ブロックとして選択するステップと
    を備える、請求項1に記載の方法。
  5. 前記第2のシンタックス要素を復号するステップが、ビデオデータの前記現在のブロックを含むコーディング単位(CU)から前記第2のシンタックス要素を復号するステップを備える、請求項1に記載の方法。
  6. ワイヤレス通信デバイス上で実行可能であり、前記ワイヤレス通信デバイスが、
    モリと、
    前記1つまたは複数のプロセッサと、
    信機と
    を備え、前記方法が、
    前記メモリによって、前記ビデオデータを記憶するステップと、
    前記受信機によって、前記符号化されたビデオビットストリームを受信するステップと
    をさらに備える、請求項1に記載の方法。
  7. ビデオデータを符号化するための方法であって、
    ビデオエンコーダの1つまたは複数のプロセッサによって、ビデオデータの現在のピクチャの現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されるか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されるかを決定するステップと、
    前記ビデオエンコーダの1つまたは複数のプロセッサによって、ビデオデータの前記現在のブロックの前記アフィンモーションモデルのモーションベクトルの値を決定するステップであって、前記アフィンモーションモデルの前記モーションベクトルがビデオデータの前記現在のブロックに対するビデオデータの予測子ブロックを特定する、ステップと、
    前記1つまたは複数のプロセッサによって、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得するステップと、
    前記1つまたは複数のプロセッサによって、ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、ビデオデータの前記現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出するステップと、
    前記1つまたは複数のプロセッサによって、符号化されたビデオビットストリームにおいて、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値と前記予測子の前記値との差分の表現を符号化するステップと
    前記1つまたは複数のプロセッサによって、前記符号化されたビデオビットストリームにおいて、前記現在のピクチャによって参照されるシーケンスパラメータセット(SPS)に含まれる第1のシンタックス要素を符号化するステップであって、
    前記第1のシンタックス要素の第1の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第1のシンタックス要素の第2の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、ステップと、
    前記第1のシンタックス要素が前記第2の値を有するとき、前記1つまたは複数のプロセッサによって、前記符号化されたビデオビットストリームにおいて、第2のシンタックス要素を符号化するステップであって、
    前記第2のシンタックス要素の第1の値は、前記現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第2のシンタックス要素の第2の値は、前記現在のブロックに対するモーション補償が、3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、ステップと
    を備える、方法。
  8. ビデオデータの前記現在のブロックがアフィンインターモードを使用して符号化される、請求項7に記載の方法。
  9. ビデオデータの前記隣接ブロックがアフィンインターモードまたはアフィンマージモードを使用して符号化される、請求項8に記載の方法。
  10. ビデオデータの前記隣接ブロックがビデオデータの選択された隣接ブロックを備え、ビデオデータの前記選択された隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値を取得するステップが、
    あらかじめ定められた順序で、ビデオデータの前記現在のブロックのビデオデータの隣接ブロックを評価するステップと、
    アフィンモーション補償を使用して復号されたビデオデータの複数の隣接ブロックのうちのビデオデータの最初の隣接ブロックを、ビデオデータの前記選択された隣接ブロックとして選択するステップと
    を備える、請求項7に記載の方法。
  11. 前記第2のシンタックス要素を符号化するステップが、ビデオデータの前記現在のブロックを含むコーディング単位(CU)において前記第2のシンタックス要素を符号化するステップを備える、請求項7に記載の方法。
  12. ワイヤレス通信デバイス上で実行可能であり、前記ワイヤレス通信デバイスが、
    モリと、
    前記1つまたは複数のプロセッサと、
    信機と
    を備え、前記方法が、
    前記メモリによって、前記ビデオデータを記憶するステップと、
    前記送信機によって、前記符号化されたビデオビットストリームを送信するステップと
    をさらに備える、請求項7に記載の方法。
  13. 前記ワイヤレス通信デバイスが携帯電話であり、前記方法が、
    前記符号化されたビデオビットストリームセルラー通信規格に従って変調するステップ
    をさらに備える、請求項12に記載の方法。
  14. ビデオデータのブロックを復号するためのデバイスであって、
    前記ビデオデータを記憶するように構成されたメモリと、
    回路で実装される1つまたは複数の処理ユニットと
    を備え、前記処理ユニットが、
    ビデオデータの現在のピクチャの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得することと
    符号化されたビデオビットストリームから、前記現在のピクチャによって参照されるシーケンスパラメータセット(SPS)に含まれる第1のシンタックス要素を復号することであって、
    前記第1のシンタックス要素の第1の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第1のシンタックス要素の第2の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、復号することと、
    前記第1のシンタックス要素が前記第2の値を有することに応答して、前記1つまたは複数のプロセッサによって、前記符号化されたビデオビットストリームから、第2のシンタックス要素を復号することであって、
    前記第2のシンタックス要素の第1の値は、前記現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第2のシンタックス要素の第2の値は、前記現在のブロックに対するモーション補償が、3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、復号することと、
    ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、前記第2のシンタックス要素によって示されるビデオデータの前記現在のブロックの前記アフィンモーションモデルのモーションベクトルに対する予測子の値を導出することと
    前記符号化されたビデオビットストリームから、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値と前記予測子の前記値との差分の表現を復号することと
    前記予測子の前記値および前記復号された差分から、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値を決定することと
    ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記決定された値に基づいて、ビデオデータの予測子ブロックを決定することと
    ビデオデータの前記予測子ブロックに基づいてビデオデータの前記現在のブロックを再構築することと
    を行うように構成される、デバイス。
  15. ビデオデータの前記現在のブロックがアフィンインターモードを使用して復号される、請求項14に記載のデバイス。
  16. ビデオデータの前記隣接ブロックがアフィンインターモードまたはアフィンマージモードを使用して復号される、請求項15に記載のデバイス。
  17. ビデオデータの前記隣接ブロックがビデオデータの選択された隣接ブロックを備え、ビデオデータの前記選択された隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値を取得するために、前記1つまたは複数の処理ユニットが、
    あらかじめ定められた順序で、ビデオデータの前記現在のブロックのビデオデータの隣接ブロックを評価し、
    アフィンモーション補償を使用して復号されたビデオデータの複数の隣接ブロックのうちのビデオデータの最初の隣接ブロックを、ビデオデータの前記選択された隣接ブロックとして選択する
    ように構成される、請求項14に記載のデバイス。
  18. 前記第2のシンタックス要素を復号するために、前記1つまたは複数の処理ユニットが、ビデオデータの前記現在のブロックを含むコーディング単位(CU)から前記第2のシンタックス要素を復号するように構成される、請求項14に記載のデバイス。
  19. 前記再構築されたビデオデータを表示するように構成されたディスプレイ、または、
    前記ビデオデータをキャプチャするように構成されたカメラ
    のうちの少なくとも1つをさらに備える、請求項14に記載のデバイス。
  20. カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの1つまたは複数を備える、請求項14に記載のデバイス。
  21. ビデオデータのブロックを符号化するためのデバイスであって、
    前記ビデオデータを記憶するように構成されたメモリと、
    回路で実装される1つまたは複数の処理ユニットと
    を備え、前記処理ユニットが、
    ビデオデータの現在のピクチャの現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されるか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されるかを決定することと、
    ビデオデータの前記現在のブロックの前記アフィンモーションモデルのモーションベクトルの値を決定することであって、前記アフィンモーションモデルの前記モーションベクトルがビデオデータの前記現在のブロックに対するビデオデータの予測子ブロックを特定する、決定することと、
    ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得することと、
    ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、ビデオデータの前記現在のブロックのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出することと、
    符号化されたビデオビットストリームにおいて、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値と前記予測子の前記値との差分の表現を符号化することと
    前記符号化されたビデオビットストリームにおいて、前記現在のピクチャによって参照されるシーケンスパラメータセット(SPS)に含まれる第1のシンタックス要素を符号化することであって、
    前記第1のシンタックス要素の第1の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第1のシンタックス要素の第2の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、符号化することと、
    前記第1のシンタックス要素が前記第2の値を有し、前記符号化されたビデオビットストリームにおいて、第2のシンタックス要素を符号化することであって、
    前記第2のシンタックス要素の第1の値は、前記現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される前記4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第2のシンタックス要素の第2の値は、前記現在のブロックに対するモーション補償が、3つのモーションベクトルによって定義される前記6パラメータのアフィンモーションモデルを使用して実行されることを示す、符号化することと
    を行うように構成される、デバイス。
  22. ビデオデータの前記現在のブロックがアフィンインターモードを使用して符号化される、請求項21に記載のデバイス。
  23. ビデオデータの前記隣接ブロックがアフィンインターモードまたはアフィンマージモードを使用して符号化される、請求項22に記載のデバイス。
  24. ビデオデータの前記隣接ブロックがビデオデータの選択された隣接ブロックを備え、ビデオデータの前記選択された隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値を取得するために、前記1つまたは複数の処理ユニットが、
    あらかじめ定められた順序で、ビデオデータの前記現在のブロックのビデオデータの隣接ブロックを評価し、
    アフィンモーション補償を使用して復号されたビデオデータの複数の隣接ブロックのうちのビデオデータの最初の隣接ブロックを、ビデオデータの前記選択された隣接ブロックとして選択する
    ように構成される、請求項21に記載のデバイス。
  25. 前記第2のシンタックス要素を符号化するために、前記1つまたは複数の処理ユニットが、ビデオデータの前記現在のブロックを含むコーディング単位(CU)において前記第2のシンタックス要素を符号化するように構成される、請求項21に記載のデバイス。
  26. 再構築されたビデオデータを表示するように構成されたディスプレイ、または、
    前記ビデオデータをキャプチャするように構成されたカメラ
    のうちの少なくとも1つをさらに備える、請求項21に記載のデバイス。
  27. カメラ、コンピュータ、モバイルデバイス、ブロードキャスト受信機デバイス、またはセットトップボックスのうちの1つまたは複数を備える、請求項21に記載のデバイス。
  28. ビデオデコーダデバイスであって、
    ビデオデータの現在のピクチャの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得するための手段と、
    符号化されたビデオビットストリームから、前記現在のピクチャによって参照されるシーケンスパラメータセット(SPS)に含まれる第1のシンタックス要素を復号するための手段であって、
    前記第1のシンタックス要素の第1の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第1のシンタックス要素の第2の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、手段と、
    前記符号化されたビデオビットストリームから、前記第1のシンタックス要素が前記第2の値を有することに応答して、第2のシンタックス要素を復号するための手段であって、
    前記第2のシンタックス要素の第1の値は、前記現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第2のシンタックス要素の第2の値は、前記現在のブロックに対するモーション補償が、3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、手段と、
    ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、前記第1のシンタックス要素が前記第2の値を有することに応答して、前記第2のシンタックス要素によって示されるビデオデータの前記現在のブロックの前記アフィンモーションモデルのモーションベクトルに対する予測子の値を導出するための手段と、
    ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値と前記予測子の前記値との差分を取得するための手段と、
    前記予測子の前記値および復号された差分から、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値の各々を決定するための手段と、
    ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記決定された値に基づいて、ビデオデータの予測子ブロックを特定するための手段と
    を備える、デバイス。
  29. 実行されると、ビデオデコーダの1つまたは複数のプロセッサに、
    ビデオデータの現在のピクチャの現在のブロックに対して、ビデオデータの隣接ブロックのアフィンモーションモデルのモーションベクトルの値を取得させ、
    符号化されたビデオビットストリームから、前記現在のピクチャによって参照されるシーケンスパラメータセット(SPS)に含まれる第1のシンタックス要素を復号することあって、
    前記第1のシンタックス要素の第1の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記第1のシンタックス要素の第2の値は、前記SPSを参照するピクチャに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルか、または3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、復号することと、
    前記第1のシンタックス要素が前記第2の値を有することに応答して、シンタックス要素を復号することであって、
    前記シンタックス要素の第1の値は、前記現在のブロックに対するモーション補償が、2つのモーションベクトルによって定義される4パラメータのアフィンモーションモデルを使用して実行されることを示し、
    前記シンタックス要素の第2の値は、前記現在のブロックに対するモーション補償が、3つのモーションベクトルによって定義される6パラメータのアフィンモーションモデルを使用して実行されることを示す、復号することと、
    ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、前記シンタックス要素によって示されるビデオデータの前記現在のブロックの前記アフィンモーションモデルのモーションベクトルに対する予測子の値を導出することと
    ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値と前記予測子の前記値との差分を取得することと
    前記予測子の前記値および復号された差分から、ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記値の各々を決定することと
    ビデオデータの前記現在のブロックに対する前記アフィンモーションモデルの前記モーションベクトルの前記決定された値に基づいて、ビデオデータの予測子ブロックを特定することと
    を行わせる命令を記憶した、コンピュータ可読記憶媒体。
  30. 第1のシンタックス要素および/または前記第2のシンタックス要素が、前記第1の値または前記第2の値を伴ってコーディングされるフラグである、請求項1に記載の方法。
  31. 第1のシンタックス要素および/または前記第2のシンタックス要素が、前記第1の値または前記第2の値を伴ってコーディングされるフラグである、請求項7に記載の方法。
  32. 第1のシンタックス要素および/または前記第2のシンタックス要素が、前記第1の値または前記第2の値を伴ってコーディングされるフラグである、請求項14に記載のデバイス。
  33. 第1のシンタックス要素および/または前記第2のシンタックス要素が、前記第1の値または前記第2の値を伴ってコーディングされるフラグである、請求項21に記載のデバイス。
  34. 前記第1のシンタックス要素が前記第1の値を有することに応答して、
    前記第2のシンタックス要素を復号しないステップと、
    前記1つまたは複数のプロセッサによって、ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、ビデオデータの前記現在のブロックに対する4パラメータのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出するステップと
    をさらに備える、請求項1に記載の方法。
  35. 前記第1のシンタックス要素が前記第1の値を有し、前記第2のシンタックス要素を復号しないステップをさらに備える、請求項7に記載の方法。
  36. 前記第1のシンタックス要素が前記第1の値を有することに応答して、前記1つまたは複数の処理ユニットが、
    前記第2のシンタックス要素を復号しないことと、
    ビデオデータの前記隣接ブロックの前記アフィンモーションモデルの前記モーションベクトルの前記値から、ビデオデータの前記現在のブロックに対する4パラメータのアフィンモーションモデルのモーションベクトルに対する予測子の値を導出することと
    を行うように構成される、請求項14に記載のデバイス。
  37. 前記第1のシンタックス要素が前記第1の値を有し、前記1つまたは複数の処理ユニットが、前記第2のシンタックス要素を復号しないように構成される、請求項21に記載のデバイス。
JP2018559949A 2016-05-16 2017-05-05 ビデオコーディングのためのアフィンモーション予測 Active JP6767508B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662337301P 2016-05-16 2016-05-16
US62/337,301 2016-05-16
US15/587,044 2017-05-04
US15/587,044 US10560712B2 (en) 2016-05-16 2017-05-04 Affine motion prediction for video coding
PCT/US2017/031258 WO2017200771A1 (en) 2016-05-16 2017-05-05 Affine motion prediction for video coding

Publications (3)

Publication Number Publication Date
JP2019519980A JP2019519980A (ja) 2019-07-11
JP2019519980A5 JP2019519980A5 (ja) 2020-05-07
JP6767508B2 true JP6767508B2 (ja) 2020-10-14

Family

ID=60297144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018559949A Active JP6767508B2 (ja) 2016-05-16 2017-05-05 ビデオコーディングのためのアフィンモーション予測

Country Status (9)

Country Link
US (2) US10560712B2 (ja)
EP (1) EP3459249A1 (ja)
JP (1) JP6767508B2 (ja)
KR (1) KR102177089B1 (ja)
CN (2) CN109155855B (ja)
BR (1) BR112018073397A2 (ja)
CA (1) CA3020244C (ja)
TW (1) TWI703860B (ja)
WO (1) WO2017200771A1 (ja)

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3029055B1 (fr) * 2014-11-24 2017-01-13 Ateme Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
CN105872539B (zh) * 2015-02-08 2020-01-14 同济大学 图像编码方法和装置及图像解码方法和装置
WO2017157259A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10715818B2 (en) * 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
US10778999B2 (en) 2016-09-30 2020-09-15 Qualcomm Incorporated Frame rate up-conversion coding mode with affine motion model
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
EP3523980A1 (en) * 2016-10-10 2019-08-14 Sharp Kabushiki Kaisha Systems and methods for performing motion compensation for coding of video data
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
BR112019013978A2 (pt) * 2017-01-12 2020-03-03 Sony Corporation Dispositivo e método de processamento de imagem.
US10701390B2 (en) 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US10873760B2 (en) * 2017-04-07 2020-12-22 Futurewei Technologies, Inc. Motion vector (MV) constraints and transformation constraints in video coding
JP7261750B2 (ja) * 2017-06-26 2023-04-20 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 動き補償のための複数の予測子候補
US11184636B2 (en) * 2017-06-28 2021-11-23 Sharp Kabushiki Kaisha Video encoding device and video decoding device
WO2019027286A1 (ko) * 2017-08-03 2019-02-07 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
CN116708780A (zh) * 2017-08-11 2023-09-05 华为技术有限公司 视频图像编码和解码的方法、装置及设备
CN117221523A (zh) * 2017-08-29 2023-12-12 株式会社Kt 视频解码方法、视频编码方法及装置
WO2019050385A2 (ko) * 2017-09-07 2019-03-14 엘지전자 주식회사 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US10841794B2 (en) * 2017-09-18 2020-11-17 Futurewei Technologies, Inc. Adaptive motion vector resolution
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
MX2020002586A (es) * 2017-09-28 2020-07-20 Samsung Electronics Co Ltd Metodo y dispositivo de codificacion, y metodo y dispositivo de decodificacion.
US10856003B2 (en) 2017-10-03 2020-12-01 Qualcomm Incorporated Coding affine prediction motion information for video coding
US10582212B2 (en) * 2017-10-07 2020-03-03 Google Llc Warped reference motion vectors for video compression
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
CN117354540A (zh) * 2017-10-27 2024-01-05 松下电器(美国)知识产权公司 编码装置、编码方法、生成装置、发送装置和存储介质
US11503333B2 (en) 2017-11-14 2022-11-15 Qualcomm Incorporated Unified merge candidate list usage
US10735758B2 (en) * 2017-12-07 2020-08-04 Tencent America LLC Method and apparatus for video coding
CN109922336B (zh) * 2017-12-12 2023-07-18 华为技术有限公司 视频数据的帧间预测方法和装置
WO2019117659A1 (ko) * 2017-12-14 2019-06-20 엘지전자 주식회사 움직임 벡터 도출을 기반으로 하는 영상 코딩 방법 및 그 장치
KR20200096550A (ko) * 2018-01-02 2020-08-12 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
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
US20190222834A1 (en) * 2018-01-18 2019-07-18 Mediatek Inc. Variable affine merge candidates for video coding
KR20190090728A (ko) * 2018-01-25 2019-08-02 주식회사 윌러스표준기술연구소 서브블록 기반의 모션 보상을 이용한 비디오 신호 처리 방법 및 장치
EP3744094A4 (en) * 2018-01-26 2021-11-03 MediaTek Inc. METHOD AND DEVICE FOR AFFINE INTER-PREDICTION FOR A VIDEO ENCODING SYSTEM
US11202079B2 (en) * 2018-02-05 2021-12-14 Tencent America LLC Method and apparatus for video decoding of an affine model in an intra block copy mode
CN112042199A (zh) * 2018-02-14 2020-12-04 华为技术有限公司 自适应插值滤波器
US11563970B2 (en) * 2018-02-26 2023-01-24 Interdigital Vc Holdings, Inc. Method and apparatus for generalized OBMC
CN116866563A (zh) * 2018-03-21 2023-10-10 Lx 半导体科技有限公司 图像编码/解码方法、存储介质以及图像数据的传输方法
CN116684638A (zh) * 2018-04-01 2023-09-01 Lg电子株式会社 图像编码/解码方法、视频数据发送方法和存储介质
TWI700922B (zh) * 2018-04-02 2020-08-01 聯發科技股份有限公司 用於視訊編解碼系統中的子塊運動補償的視訊處理方法和裝置
CN116668726A (zh) * 2018-04-03 2023-08-29 英迪股份有限公司 对图像编码和解码的方法、非暂态计算机可读存储介质
EP3777173A1 (en) * 2018-04-06 2021-02-17 ARRIS Enterprises LLC Reducing motion vector information transmission in bi-directional temporal prediction
WO2019199127A1 (ko) * 2018-04-12 2019-10-17 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
EP3780616B1 (en) 2018-04-13 2024-03-06 LG Electronics Inc. Method and apparatus for inter prediction in video processing system
WO2019199152A1 (ko) * 2018-04-14 2019-10-17 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US10986343B2 (en) * 2018-04-15 2021-04-20 Arris Enterprises Llc Reducing overhead for multiple-hypothesis temporal prediction
US11451816B2 (en) * 2018-04-24 2022-09-20 Mediatek Inc. Storage of motion vectors for affine prediction
EP4246979A3 (en) * 2018-04-24 2023-11-01 LG Electronics Inc. Method and apparatus for inter prediction in video coding system
US10506251B2 (en) 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
WO2019235819A1 (ko) * 2018-06-04 2019-12-12 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
WO2019235822A1 (ko) * 2018-06-04 2019-12-12 엘지전자 주식회사 어파인 움직임 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019234598A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
WO2019244719A1 (en) * 2018-06-18 2019-12-26 Sharp Kabushiki Kaisha Systems and methods for performing affine motion compensation prediction for coding of video data
EP3799430A4 (en) * 2018-06-18 2021-07-21 LG Electronics Inc. METHOD AND DEVICE FOR PROCESSING VIDEO IMAGE SIGNALS WITH THE AID OF AFFINER PREDICTION
CN110620929B (zh) 2018-06-19 2023-04-18 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
KR20210024565A (ko) * 2018-06-20 2021-03-05 미디어텍 인크. 비디오 코딩 시스템을 위한 모션 벡터 버퍼 관리 방법 및 장치
WO2019244119A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Sub-block mv inheritance between color components
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
WO2019244809A1 (ja) * 2018-06-21 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11394960B2 (en) * 2018-06-29 2022-07-19 Interdigital Vc Holdings, Inc. Virtual temporal affine candidates
WO2020003278A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: fifo, constrained fifo
GB2588531B (en) 2018-06-29 2023-02-01 Beijing Bytedance Network Tech Co Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
CN110662057B (zh) 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
EP3797516A1 (en) 2018-06-29 2021-03-31 Beijing Bytedance Network Technology Co. Ltd. Interaction between lut and amvp
KR102611261B1 (ko) * 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
CN110662063B (zh) 2018-06-29 2020-12-15 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读存储介质
WO2020003283A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
JP7100200B2 (ja) 2018-06-29 2022-07-12 北京字節跳動網絡技術有限公司 マージ/amvpにhmvp候補を追加する際の一部/全部プルーニング
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
CN115733974A (zh) 2018-07-02 2023-03-03 华为技术有限公司 视频图像编码方法以及用于对视频数据进行编码的设备
WO2020009445A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
TWI723446B (zh) 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
US20200021836A1 (en) * 2018-07-10 2020-01-16 Tencent America LLC Method and apparatus for ordering and selection of affine merge candidates in motion compensation
EP3817382A4 (en) * 2018-07-11 2021-07-28 Huawei Technologies Co., Ltd. VIDEO ENCODER, VIDEO DECODER AND RELEVANT PROCEDURE
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding
KR102386836B1 (ko) 2018-07-13 2022-04-14 엘지전자 주식회사 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
US10805624B2 (en) * 2018-07-16 2020-10-13 Tencent America LLC Determination of parameters of an affine model
US11032563B2 (en) * 2018-07-17 2021-06-08 Tencent America LLC Method and apparatus for affine model prediction
CN112425176B (zh) * 2018-07-17 2022-05-24 华为技术有限公司 基于运动模型指示的解码方法、装置和可读存储介质
US10958934B2 (en) * 2018-07-27 2021-03-23 Tencent America LLC History-based affine merge and motion vector prediction
BR122021006490A2 (pt) * 2018-08-09 2021-05-18 Lg Electronics Inc. método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
CN117528115A (zh) * 2018-08-27 2024-02-06 华为技术有限公司 一种视频图像预测方法及装置
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
BR112021003917A2 (pt) * 2018-08-28 2021-05-18 Huawei Technologies Co., Ltd. método e aparelho para construir lista de informações de movimentos de candidatos, método de inter predição, e aparelho
CN117241039A (zh) * 2018-08-28 2023-12-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
US11184635B2 (en) 2018-08-31 2021-11-23 Tencent America LLC Method and apparatus for video coding with motion vector constraints
US11310520B2 (en) 2018-09-04 2022-04-19 Hfi Innovation Inc. Method and apparatus of motion-vector rounding unification for video coding system
WO2020050281A1 (ja) * 2018-09-06 2020-03-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
CN116647696A (zh) * 2018-09-06 2023-08-25 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法
TW202017377A (zh) 2018-09-08 2020-05-01 大陸商北京字節跳動網絡技術有限公司 視頻編碼和解碼中的仿射模式
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 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
EP4262212A3 (en) 2018-09-12 2023-11-22 LG Electronics Inc. Image decoding and encoding method by an apparatus based on motion prediction in sub-block unit in image coding system
EP3850849A1 (en) * 2018-09-13 2021-07-21 InterDigital VC Holdings, Inc. Improved virtual temporal affine candidates
TW202025737A (zh) 2018-09-19 2020-07-01 大陸商北京字節跳動網絡技術有限公司 仿射模式中自適應運動矢量分辨率的快速算法
US10834417B2 (en) * 2018-09-21 2020-11-10 Tencent America LLC Method and apparatus for video coding
GB2579763B (en) * 2018-09-21 2021-06-09 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
GB2577318B (en) * 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
GB2597616B (en) * 2018-09-21 2023-01-18 Canon Kk Video coding and decoding
GB2589735B (en) * 2018-09-21 2021-12-01 Canon Kk Video coding and decoding
CN110944181B (zh) 2018-09-23 2023-03-10 北京字节跳动网络技术有限公司 仿射模型的多个假设
WO2020058951A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Utilization of non-sub block spatial-temporal motion vector prediction in inter mode
TW202029771A (zh) 2018-09-23 2020-08-01 大陸商北京字節跳動網絡技術有限公司 涉及仿射運動的一般應用
WO2020065517A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Simplified history based motion vector prediction
TWI826542B (zh) * 2018-09-26 2023-12-21 大陸商北京字節跳動網絡技術有限公司 模式依賴的仿射繼承
US20210400298A1 (en) * 2018-09-28 2021-12-23 Lg Electronics Inc. Method and apparatus for processing video signal by using affine prediction
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
CN112956201B (zh) * 2018-10-08 2024-03-29 Lg电子株式会社 使用句法来执行编码的句法设计方法和设备
SG11202103601RA (en) * 2018-10-10 2021-05-28 Interdigital Vc Holdings Inc Affine mode signaling in video encoding and decoding
GB2595054B (en) * 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2595053B (en) * 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
CN112913249B (zh) * 2018-10-22 2022-11-08 北京字节跳动网络技术有限公司 广义双向预测索引的简化编解码
CN111083485A (zh) * 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 仿射模式的运动信息的利用
CN111357294B (zh) * 2018-10-23 2022-12-30 北京字节跳动网络技术有限公司 基于子块的运动信息列表的简化熵编解码
WO2020085953A1 (en) * 2018-10-25 2020-04-30 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for inter prediction
CN111131822B (zh) 2018-10-31 2023-08-01 北京字节跳动网络技术有限公司 具有从邻域导出的运动信息的重叠块运动补偿
WO2020088690A1 (en) * 2018-11-02 2020-05-07 Beijing Bytedance Network Technology Co., Ltd. Table maintenance for hmvp candidate storage
CN112970261A (zh) * 2018-11-05 2021-06-15 北京字节跳动网络技术有限公司 预测精度改进视频编解码
CN111418210A (zh) * 2018-11-06 2020-07-14 北京字节跳动网络技术有限公司 使用几何分割模式的有序的运动候选列表生成
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
CN116886926A (zh) 2018-11-10 2023-10-13 北京字节跳动网络技术有限公司 成对平均候选计算中的取整
KR102649138B1 (ko) * 2018-11-12 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인터 및 인트라 통합 예측의 단순화
US11736713B2 (en) * 2018-11-14 2023-08-22 Tencent America LLC Constraint on affine model motion vector
CN113273208A (zh) * 2018-11-14 2021-08-17 北京字节跳动网络技术有限公司 仿射预测模式的改进
CN112997487A (zh) * 2018-11-15 2021-06-18 北京字节跳动网络技术有限公司 仿射模式与其他帧间编解码工具之间的协调
WO2020098812A1 (en) 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Pruning method for history-based affine parameters
WO2020098807A1 (en) * 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Controlling merge with motion vector differencing mode
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
KR20210090176A (ko) * 2018-11-22 2021-07-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 서브 블록 기반 인터 예측을 위한 조정 방법
WO2020103936A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Pruning method for inter prediction with geometry partition
US20200169757A1 (en) * 2018-11-23 2020-05-28 Mediatek Inc. Signaling For Multi-Reference Line Prediction And Multi-Hypothesis Prediction
EP3871410A4 (en) * 2018-11-29 2021-12-22 Beijing Bytedance Network Technology Co., Ltd. INTERACTION BETWEEN AN INTRABLOCK COPY MODE AND INTERPRETATION TOOLS
US11115652B2 (en) * 2018-12-07 2021-09-07 Tencent America LLC Method and apparatus for further improved context design for prediction mode and coded block flag (CBF)
CN113170111B (zh) * 2018-12-08 2024-03-08 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读存储介质
TW202101982A (zh) * 2018-12-14 2021-01-01 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法、及解碼方法
US11876957B2 (en) * 2018-12-18 2024-01-16 Lg Electronics Inc. Method and apparatus for processing video data
GB2580084B (en) * 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
CN113228675A (zh) * 2018-12-21 2021-08-06 北京字节跳动网络技术有限公司 视频处理中的运动矢量比特深度
WO2020125750A1 (en) * 2018-12-21 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Motion vector precision in merge with motion vector difference mode
CN114245136B (zh) * 2018-12-21 2022-12-27 北京达佳互联信息技术有限公司 用于视频编解码的方法和装置及存储介质
WO2020135371A1 (zh) * 2018-12-24 2020-07-02 华为技术有限公司 一种标志位的上下文建模方法及装置
CN111355961B (zh) * 2018-12-24 2023-11-03 华为技术有限公司 一种帧间预测的方法和装置
EP3905688A4 (en) * 2018-12-28 2022-09-28 JVCKENWOOD Corporation DYNAMIC IMAGE CODING DEVICE, DYNAMIC IMAGE CODING METHOD, DYNAMIC IMAGE CODING PROGRAM, DYNAMIC IMAGE DECODING DEVICE, DYNAMIC IMAGE DECODING METHOD AND DYNAMIC IMAGE DECODING PROGRAM
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
CN113273207A (zh) * 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 基于几何分区的具有运动矢量差(MVD)的Merge
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
US11025951B2 (en) * 2019-01-13 2021-06-01 Tencent America LLC Method and apparatus for video coding
CN111435993B (zh) 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
CN113302937A (zh) 2019-01-16 2021-08-24 北京字节跳动网络技术有限公司 运动候选推导
CN113302919A (zh) * 2019-01-17 2021-08-24 北京字节跳动网络技术有限公司 在视频处理中使用虚拟候选预测和加权预测
US10904553B2 (en) * 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN111526362B (zh) * 2019-02-01 2023-12-29 华为技术有限公司 帧间预测方法和装置
WO2020164544A1 (en) 2019-02-13 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Updating of history based motion vector prediction tables
WO2020169109A1 (en) 2019-02-22 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Sub-table for history-based affine mode
WO2020173477A1 (en) * 2019-02-27 2020-09-03 Beijing Bytedance Network Technology Co., Ltd. Regression-based motion vector field based sub-block motion vector derivation
JP2022521554A (ja) 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
US11323731B2 (en) * 2019-03-08 2022-05-03 Tencent America LLC Method and apparatus for video coding
CN117478876A (zh) * 2019-03-17 2024-01-30 北京字节跳动网络技术有限公司 基于光流的预测细化的计算
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
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
KR102609947B1 (ko) 2019-04-02 2023-12-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 양방향 광학 흐름 기반 비디오 코딩 및 디코딩
EP3949419A4 (en) * 2019-04-12 2023-01-04 HFI Innovation Inc. METHOD AND APPARATUS FOR SIMPLIFIED AFFINE SUB-BLOCK PROCESS FOR VIDEO CODING SYSTEM
WO2020211864A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Region based gradient calculation in different motion vector refinements
WO2020211866A1 (en) 2019-04-19 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Applicability of prediction refinement with optical flow process
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
WO2020219969A1 (en) * 2019-04-25 2020-10-29 Op Solutions, Llc Signaling of global motion vector in picture header
EP3959886A4 (en) * 2019-04-25 2022-06-22 OP Solutions, LLC SIGNALING A GLOBAL MOTION VECTOR IN AN IMAGE HEAD
MX2021013063A (es) * 2019-04-25 2021-12-10 Op Solutions Llc Modelos de movimiento globales para la prediccion inter del vector de movimiento.
BR112021021348A2 (pt) * 2019-04-25 2022-01-18 Op Solutions Llc Candidatos de previsão de vetor de movimento seletiva em quadros com movimento global
WO2020219945A1 (en) 2019-04-25 2020-10-29 Op Solutions, Llc Adaptive motion vector prediction candidates in frames with global motion
KR20220002990A (ko) * 2019-04-25 2022-01-07 오피 솔루션즈, 엘엘씨 인터 예측에서의 글로벌 모션 제약 모션 벡터
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
CN113853793B (zh) * 2019-05-21 2023-12-19 北京字节跳动网络技术有限公司 基于光流的帧间编码的语法信令
CN114175658A (zh) * 2019-05-26 2022-03-11 北京达佳互联信息技术有限公司 用于改进视频编解码中的运动估计的方法和装置
US11153598B2 (en) * 2019-06-04 2021-10-19 Tencent America LLC Method and apparatus for video coding using a subblock-based affine motion model
CN114128285A (zh) 2019-06-14 2022-03-01 现代自动车株式会社 用于利用帧间预测来编码和解码视频的方法和装置
WO2020251325A1 (ko) * 2019-06-14 2020-12-17 현대자동차주식회사 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치
US11405648B2 (en) * 2019-08-08 2022-08-02 FG Innovation Company Limited Device and method for coding video data
JP2022544260A (ja) 2019-08-13 2022-10-17 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測における動き精度
WO2021052504A1 (en) 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Scaling method for sub-block based inter prediction
CN112204973A (zh) * 2019-09-24 2021-01-08 北京大学 视频编解码的方法与装置
CN114450958B (zh) * 2019-09-30 2023-08-22 华为技术有限公司 用于减小增强插值滤波器的内存带宽的仿射运动模型限制
CN114503558B (zh) * 2019-09-30 2023-10-20 华为技术有限公司 插值滤波器在仿射运动补偿中的适应性使用
KR20220065880A (ko) * 2019-09-30 2022-05-20 후아웨이 테크놀러지 컴퍼니 리미티드 아핀 모션 보상에서 dct 기반 보간 필터 및 향상된 쌍선형 보간 필터의 사용
EP4054192A4 (en) * 2019-10-31 2023-12-20 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND APPARATUS, AND VIDEO CODING METHOD AND APPARATUS FOR PERFORMING INTER PREDICTION ACCORDING TO AN AFFINE MODEL
MX2022007299A (es) * 2019-12-24 2022-07-19 Interdigital Vc Holdings France Orden de exploracion de predictores espaciales.
CN111050168B (zh) * 2019-12-27 2021-07-13 浙江大华技术股份有限公司 仿射预测方法及其相关装置
CN114930840A (zh) * 2020-01-07 2022-08-19 华为技术有限公司 增强型插值滤波器的运动矢量范围的推导
KR102587601B1 (ko) 2021-01-20 2023-10-10 조창용 커피 및 귀리와 메밀껍질액상발효액을 포함하는 커피막걸리 제조방법 및 그에 의해 제조되는 커피막걸리
US11936877B2 (en) * 2021-04-12 2024-03-19 Qualcomm Incorporated Template matching based affine prediction for video coding
CN117337409A (zh) * 2021-06-17 2024-01-02 Sage电致变色显示有限公司 电致变色玻璃的基于叠层电压的闭环反馈控制
US20230164351A1 (en) * 2021-11-19 2023-05-25 Tencent America LLC Methods and devices for refining motion vector candidates
US11943448B2 (en) 2021-11-22 2024-03-26 Tencent America LLC Joint coding of motion vector difference
WO2023177799A1 (en) * 2022-03-16 2023-09-21 Beijing Dajia Internet Information Technology Co., Ltd. Adaptive picture modifications for video coding
WO2023219616A1 (en) * 2022-05-11 2023-11-16 Google Llc Local motion extension in video coding
US20240015303A1 (en) * 2022-07-06 2024-01-11 Tencent America LLC Local warp motion prediction modes

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654771A (en) 1995-05-23 1997-08-05 The University Of Rochester Video compression system using a dense motion vector field and a triangular patch mesh overlay model
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
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 삼성전자 주식회사 영상 코딩 방법
US20030123738A1 (en) * 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
CN1897701A (zh) 2002-01-18 2007-01-17 株式会社东芝 视频编码方法和装置以及视频解码方法和装置
EP1800238A4 (en) * 2004-09-21 2012-01-25 Euclid Discoveries Llc APPARATUS AND METHOD FOR PROCESSING VIDEO DATA
JP2012080151A (ja) * 2009-02-09 2012-04-19 Toshiba Corp 幾何変換動き補償予測を用いる動画像符号化及び動画像復号化の方法と装置
WO2011013253A1 (ja) 2009-07-31 2011-02-03 株式会社 東芝 幾何変換動き補償予測を用いる予測信号生成装置、動画像符号化装置及び動画像復号化装置
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
PT3703377T (pt) * 2010-04-13 2022-01-28 Ge Video Compression Llc Codificação de vídeo utilizando subdivisões multi-árvore de imagens
EP2596636A1 (en) * 2010-07-21 2013-05-29 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
WO2012045886A1 (en) 2010-10-08 2012-04-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding supporting block partitioning and block merging
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 Корпорация "Самсунг Электроникс Ко., Лтд" Способ адаптивного предсказания кадра для кодирования многоракурсной видеопоследовательности
US9282338B2 (en) 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US20130070855A1 (en) 2011-09-17 2013-03-21 Qualcomm Incorporated Hybrid motion vector coding modes for video coding
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
CN104704819B (zh) 2012-10-03 2016-12-21 联发科技股份有限公司 3d视频编码的视差矢量推导和视图间运动矢量预测的方法及装置
WO2014078068A1 (en) 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
JP6614472B2 (ja) * 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
CN105594215B (zh) 2013-10-11 2019-04-23 夏普株式会社 颜色信息和色度信令
WO2015055111A1 (en) * 2013-10-14 2015-04-23 Mediatek Inc. Method of lossless mode signaling for video system with lossless and lossy coding
US10666968B2 (en) 2014-05-06 2020-05-26 Hfi Innovation Inc. 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
CN104539966B (zh) 2014-09-30 2017-12-22 华为技术有限公司 图像预测方法及相关装置
CN104363451B (zh) 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN112188206B (zh) 2014-10-31 2023-10-20 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
EP3264762A4 (en) 2015-03-10 2018-05-02 Huawei Technologies Co., Ltd. Image prediction method and related device
CN104935938B (zh) * 2015-07-15 2018-03-30 哈尔滨工业大学 一种混合视频编码标准中帧间预测方法
KR102267922B1 (ko) 2015-09-23 2021-06-22 노키아 테크놀로지스 오와이 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
WO2017052081A1 (ko) 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
KR20240034898A (ko) * 2015-10-13 2024-03-14 삼성전자주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
CN108293128A (zh) 2015-11-20 2018-07-17 联发科技股份有限公司 视频编解码系统中全局运动补偿的方法及装置
CN108432250A (zh) * 2016-01-07 2018-08-21 联发科技股份有限公司 用于视频编解码的仿射帧间预测的方法及装置
US10798403B2 (en) 2016-01-29 2020-10-06 Sharp Kabushiki Kaisha Prediction image generation device, video decoding device, and video coding device
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
EP3457694A4 (en) 2016-05-24 2019-05-22 Huawei Technologies Co., Ltd. IMAGE FORECASTING METHOD AND ASSOCIATED DEVICE
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Also Published As

Publication number Publication date
KR20190006967A (ko) 2019-01-21
US20200145688A1 (en) 2020-05-07
WO2017200771A1 (en) 2017-11-23
TWI703860B (zh) 2020-09-01
US11503324B2 (en) 2022-11-15
US20170332095A1 (en) 2017-11-16
JP2019519980A (ja) 2019-07-11
CA3020244A1 (en) 2017-11-23
CN109155855A (zh) 2019-01-04
CA3020244C (en) 2023-01-03
CN109155855B (zh) 2022-09-20
TW201742465A (zh) 2017-12-01
KR102177089B1 (ko) 2020-11-10
US10560712B2 (en) 2020-02-11
CN115379237A (zh) 2022-11-22
BR112018073397A2 (pt) 2019-03-19
EP3459249A1 (en) 2019-03-27

Similar Documents

Publication Publication Date Title
JP6767508B2 (ja) ビデオコーディングのためのアフィンモーション予測
JP7000565B2 (ja) ビデオコーディングのためのアフィン予測動き情報をコーディングすること
EP3251361B1 (en) Sub-prediction unit based advanced temporal motion vector prediction
JP6720153B2 (ja) イントラbcとインターの統合
CA2912447C (en) Intra prediction from a predictive block
JP6672145B2 (ja) インター色成分残差予測
CN112806012A (zh) 用于帧间预测译码的基于历史的运动向量预测
JP2019528025A (ja) 分離ツリー構造を使用したイントラビデオコーディング
JP2019525659A (ja) 分離ツリー構造を使用したイントラビデオコーディング
CN111213376A (zh) 使用基于编码结构的候选列表构建对视频数据的运动信息进行编码
KR20180016389A (ko) 비디오 코딩을 위한 조명 보상 상태를 결정하는 시스템들 및 방법들
KR20180016390A (ko) 비디오 코딩을 위한 조명 보상 상태를 결정하는 시스템들 및 방법들
JP2017508345A (ja) 予測ブロックからのイントラ予測
JP2022538061A (ja) ビデオコーディングのための組み合わされたインターおよびイントラ予測モード
KR20160078493A (ko) 비디오 코딩을 위한 칼라 레지듀얼 예측
KR20210119991A (ko) 비디오 코딩에서 인트라 블록 카피 모드를 위한 모션 벡터 예측자 리스트 생성
KR20210091190A (ko) 비디오 코딩을 위한 공간-시간적 모션 벡터 예측 패턴
JP2021527999A (ja) シグナリングサブ予測ユニット動きベクトル予測子
NZ715952B2 (en) Intra prediction from a predictive block using displacement vectors

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200325

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200720

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200814

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: 20200824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200917

R150 Certificate of patent or registration of utility model

Ref document number: 6767508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250