JP6342477B2 - ビデオコーディング予測のためのメモリ削減 - Google Patents

ビデオコーディング予測のためのメモリ削減 Download PDF

Info

Publication number
JP6342477B2
JP6342477B2 JP2016505592A JP2016505592A JP6342477B2 JP 6342477 B2 JP6342477 B2 JP 6342477B2 JP 2016505592 A JP2016505592 A JP 2016505592A JP 2016505592 A JP2016505592 A JP 2016505592A JP 6342477 B2 JP6342477 B2 JP 6342477B2
Authority
JP
Japan
Prior art keywords
video
block
motion vector
prediction
video block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016505592A
Other languages
English (en)
Other versions
JP2016518052A5 (ja
JP2016518052A (ja
Inventor
セレジン、バディム
ワン、シャンリン
ソル・ロジャルス、ジョエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016518052A publication Critical patent/JP2016518052A/ja
Publication of JP2016518052A5 publication Critical patent/JP2016518052A5/ja
Application granted granted Critical
Publication of JP6342477B2 publication Critical patent/JP6342477B2/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Description

[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、2013年3月29日に出願された米国仮出願第61/806,700号、および2013年4月4日に出願された米国仮出願第61/808,479号の利益を主張する。
[0002]本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディングのための動き情報(たとえば、動きベクトル)予測に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、アドバンストビデオコーディング(AVC)、現在開発中の高効率ビデオコーディング(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法のような、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶することができる。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実施する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)がビデオブロックに区分されてよく、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに関する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャの中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームに参照されることがある。
[0005]空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に2次元アレイで構成される量子化された変換係数は、変換係数の1次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
[0006]概して、本開示は、ビデオコーディングのためのメモリ帯域幅削減のための技法について記載する。特に、本開示は、ビデオコーダ、たとえば、ビデオエンコーダまたはビデオデコーダが、ビデオ符号化のための予測ブロックを取得するためにピクチャバッファから読み取られるべきサンプルの数を低減するための技法について記載する。これらの技法は、ビデオサンプル用に非4:2:0クロマフォーマットを使うビデオコーディングに特に適用可能であり得る。
[0007]いくつかの例において、技法は、双方向インター予測、または「双予測」のための制約を、追加ビデオブロックサイズに、または、代替として、所与のビデオブロックのすべてよりも少ない成分に拡張することを含み得る。そのような例において、ビデオコーダは、ビデオブロックについての予測子を取得するために受信された双方向動きベクトルを単方向動きベクトルにコンバートすることができる。いくつかの例において、技法は、たとえば、ビデオコーダが、予測に必要とされるピクセルサンプルの数を低減するために少なくとも1つのクロマ成分を分割することを慎むと同時に、追加圧縮効率のためにルーマ成分を分割することができるように、所与のビデオブロックの異なる成分を異なるように区分することを含み得る。いくつかの例において、技法は、双予測のためのそれぞれの動きベクトル用の異なる参照ピクチャリストについての異なる区分サイズをシグナリングすることを含み得る。いくつかの例において、技法は、たとえば、双予測に対する制約についての閾、ビデオブロック用のエリアに基づく閾、サイズエリア内のブロックの数、またはビデオブロックの高さおよび幅の合計値を適用することを含み得る。上記技法のうちの任意の1つまたは複数に従って動作するビデオコーダは、その結果、緩和されたハードウェア仕様要件に対するコスト低減とともに、ビデオコーディング規格に対して、ビデオコーダ向けのハードウェア仕様要件を定義するピークメモリ帯域幅低減を有し得る。
[0008]一例では、ビデオデータをコーディングする方法は、非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得することと、ビデオブロックのビデオブロックサイズを判断することと、ビデオブロックサイズがサイズ基準を満たす場合、ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、動きベクトルを修正することと、少なくとも1つの参照ピクチャのサンプルと修正動きベクトルとを使って、ビデオブロックについての予測ブロックを生成することとを備える。
[0009]別の例では、ビデオデータをコーディングするための装置は、非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得し、ビデオブロックのビデオブロックサイズを判断し、ビデオブロックサイズがサイズ基準を満たす場合、ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、動きベクトルを修正し、少なくとも1つの参照ピクチャのサンプルと修正動きベクトルとを使って、ビデオブロックについての予測ブロックを生成するように構成されたビデオコーダを備える。
[0010]別の例では、ビデオデータをコーディングするための装置は、非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得するための手段と、ビデオブロックのビデオブロックサイズを判断するための手段と、ビデオブロックサイズがサイズ基準を満たす場合、ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、動きベクトルを修正するための手段と、少なくとも1つの参照ピクチャのサンプルと修正動きベクトルとを使って、ビデオブロックについての予測ブロックを生成するための手段とを備える。
[0011]別の例では、コンピュータ可読記憶媒体が、実行されると、ビデオデータをコーディングするための装置の1つまたは複数のプロセッサに、非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得させ、ビデオブロックのビデオブロックサイズを判断させ、ビデオブロックサイズがサイズ基準を満たす場合、ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、動きベクトルを修正させ、少なくとも1つの参照ピクチャのサンプルと修正動きベクトルとを使って、ビデオブロックについての予測ブロックを生成させる命令を記憶している。
[0012]1つまたは複数の例の詳細は、添付図面および発明の詳細な説明で以下に示される。他の特徴、目的、および利点は、説明および図面、ならびに請求項から明らかになるであろう。
[0013]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0014]例示的ビデオブロック、ならびに例示的ビデオブロックについての動きベクトル情報を構築するための代表的な空間的および時間的隣接ブロックを示す概念図。 [0015]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0016]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0017]メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの異なる成分を異なるように区分することを含む例示的方法を示す流れ図。 [0018]メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの成分についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図。 [0019]メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの成分についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図。 [0020]メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの成分についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図。 [0021]メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの成分についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図。 [0022]メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの成分についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図。 [0023]成分補間のための例示的整数および分数サンプル位置行列を示すブロック図。
[0024]同様の参照符号は、テキストおよび図面を通して同じ要素を示す。
[0025]上述したように、ビデオ圧縮技法は、別のピクチャ中の別のブロック中の参照サンプルに対して、ビデオデータのブロック、すなわち、ビデオブロックの時間的(インターピクチャ)予測を含む。インターコード化ブロックは、動き情報、たとえば、別のピクチャ中の予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトルに従ってコーディングされる。いくつかの例において、さらなるビットストリーム効率を達成するために、ビデオブロックについての動き情報、たとえば、動きベクトル、予測方向および参照ピクチャインデックス値自体が、動きベクトル予測(MVP)技法と呼ばれることがある動き情報予測技法を使って予測され得る。
[0026]そのような動き情報予測技法に従って、ビデオコーダは、現在のビデオブロックについての動きベクトルおよび/または他の動き情報を参照ブロックから導出することができる。動き情報がそこから導出され得る参照ブロックは概して、複数の事前定義された空間的に隣接するブロックと、1つまたは複数の異なる(たとえば、時間的に)ピクチャからの、1つまたは複数のコロケートされたまたは隣接するブロックとを含む。ビデオコーダ、たとえば、ビデオエンコーダまたはビデオデコーダは、ビデオブロックをコーディングするための候補動き情報として空間的および時間的隣接ブロックの動き情報を含む、候補リストまたは候補セットとも呼ばれる動き情報候補リストを構築することができる。ビデオコーダは、ビデオブロックをコーディングするための、選択された動き情報候補を識別するための、候補リストへのインデックスを符号化または復号することができる。
[0027]高効率ビデオコーディング(HEVC)(H.265またはISO/IEC23008−HEVCとも呼ばれる)のための動き情報予測モードには、マージモードおよびアドバンスト動きベクトル予測(AMVP)モードがある。両方のモードに対して、ビデオコーダ、たとえば、ビデオエンコーダまたはビデオデコーダは、空間的および時間的に隣接するブロックの動き情報に基づいて、動き情報候補のリストを構築することができる。さらに、ビデオコーダは、動きベクトル用にサブサンプル精度を使うことができる。HEVCに従って取得されたルーマブロックに対して、たとえば、ビデオコーダは、分数サンプル位置を補間するための7タップ(4分の1サンプル位置用)または8タップフィルタ(2分の1サンプル位置用)をもつ4分の1サンプル精度、すなわち、ルーマサンプルの間の距離の4分の1を使うことができる。
[0028]4:2:0クロマフォーマットと比べてより多数のクロマピクセルをサンプリングする非4:2:0サンプリングフォーマットに対して、クロマブロックを予測するためにクロマ成分の各々について多数のクロマピクセルを補間すると、ビデオコーダ用のメモリ帯域幅が大幅に増大する場合がある。メモリ帯域幅は、コンピュータ可読記憶媒体から読み取られ、またはそこに書き込まれるデータについてのデータレートを指す。したがって、メモリ帯域幅の増大は、そのような媒体から読み取られ、またはそこに書き込まれるデータについてのレートの増大を指すことができ、このコンテキストでは、非4:2:0サンプリングのための補間用に要求される追加クロマピクセル数により、より多くのデータロードから生じる場合がある。これにより、非4:2:0のための仕様を満たすためにビデオコーダのハードウェアコストが増大する場合があり、これは、いくつかの使用ケースでは許容できない場合がある。たとえば、より高い要求メモリ帯域幅は、より高い要求メモリ帯域幅のための仕様を満たすために、より大きいバス、より大きいメモリ、より速いバス、より速いメモリ、またはこれらの向上の何らかの組合せを要求する場合がある。
[0029]本開示の技法による例において、ビデオコーダは、追加状況のための非4:2:0フォーマット用のビデオコーディングにおける双予測モードの使用を制限することができる。たとえば、クロマフォーマットが4:2:2または4:4:4である場合、ビデオコーダは、帯域幅削減動作をより大きいサイズブロックに展開してよい。したがって、たとえば、4×8および8×4ブロック用の双予測を制限するのに加え、ビデオコーダは、非4:2:0フォーマットを検出するか、または符号化するように構成され、したがって、たとえば8×8ブロック、8×16/16×8ブロックなど、どの1つまたは複数のより大きいブロック区分サイズに対する双予測もさらに制限し得る。ビデオコーダはしたがって、(やはり、ビデオコーダが、拡張された制約を適用するとき)そのようなブロックについての双方向動きベクトルを単方向動きベクトルにコンバートすることができる。ビデオコーダは、上述したマージモードまたはAMVP用のコンバージョン技法のうちの1つを使って、双方向動きベクトルを単方向動きベクトルにコンバートすることができる。
[0030]本明細書に記載する非4:2:0フォーマット用のビデオコーディングにおける双予測モードの使用を制限するビデオコーダのいくつかの例において、ビデオコーダは、HEVC規格に従う4×8および8×4ブロック向けの双予測を制限するのに加え、または代替として、成分のタイプによる、より大きいサイズブロック向けの双予測を制限してよい。たとえば、非4:2:0フォーマットで符号化された8×8ブロックに対して、ビデオコーダは、ルーマ成分についての双予測を認めると同時に、クロマ成分のうちの少なくとも1つについての双予測を制限してよい。したがって、ビデオコーダは、そのような成分についての双方向動きベクトルを(やはり、ビデオがこの拡張された成分ごとの制約を適用するとき)、単方向動きベクトルにコンバートすることができる。拡張された帯域幅削減制約は、全体的コーディング効率に対して均等でない影響を有するので、この制約をクロマ成分に適用すると、ルーマ成分に制約を適用する全体的コーディング性能と比べて比較的小さい影響が生じ得るとともに、依然として、ビデオコーディングプロセスのための要求メモリ帯域幅の削減が得られる可能性がある。
[0031]図1は、本開示に記載される技法を利用することができる例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信のために装備され得る。
[0032]宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信することができる。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備える場合がある。一例では、リンク16は、ソースデバイス12が符号化ビデオデータをリアルタイムに宛先デバイス14に直接送信することを可能にするために、通信媒体を備える場合がある。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信される場合がある。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの任意のワイヤレスまたはワイヤード通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成する場合がある。通信媒体は、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含む場合がある。
[0033]代替的に、符号化データは、出力インターフェース22から記憶デバイス36に出力され得る。同様に、符号化データは、宛先デバイス14の入力インターフェース28によって記憶デバイス36からアクセスされ得る。記憶デバイス36は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイス36は、ソースデバイス12によって生成された符号化ビデオを保持できるファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイス36から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。記憶デバイス36からの符号化ビデオデータの送信は、ストリーミング送信であっても、またはダウンロード送信であっても、またはそれらの組合せであってもよい。
[0034]本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。本開示の技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体上に記憶されたデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションなどの様々なマルチメディアアプリケーションのうちの任意のマルチメディアアプリケーションのサポートとしてビデオコーディングに適用されてよい。一部の例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0035]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのようなソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
[0036]キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータは、さらに(または代替的に)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために記憶デバイス36上に記憶され得る。
[0037]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、符号化ビデオデータを、リンク16を介して受信することができる。リンク16を介して伝達されるかまたは記憶デバイス36上に供給される符号化ビデオデータは、ビデオデコーダ30などのビデオデコーダによってビデオデータを復号する際に使用できる、ビデオエンコーダ20によって生成された様々なシンタックス要素を含んでよい。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータに含まれ得る。
[0038]ディスプレイデバイス32は、宛先デバイス14と一体化されるか、またはその外部に存在する場合がある。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0039]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格に従って動作することができ、HEVCテストモデル(HM)に準拠することができる。代替として、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格などの、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作することができる。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としては、MPEG−2およびITU−T H.263がある。
[0040]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合される場合があり、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するのに適したMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含むことができる。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0041]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアのような、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実施し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。
[0042]本開示は、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及する場合がある。「シグナリング」という用語は、概して、圧縮ビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムに起こり得る。代替的に、そのような通信は、符号化時に符号化されたビットストリーム内でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われる場合があるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
[0043]HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、三刺激値(tristimulus)YCbCr色空間による、SL、SCb、およびSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。Cbクロミナンスサンプルは本明細書では「Uサンプル」と呼ばれることもある。Crクロミナンスサンプルは本明細書では「Vサンプル」と呼ばれることもある。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
[0044]ビデオエンコーダ20は、クロマに対するルーマへの人間視覚システムの感受性を反映するために4:2:0サンプリングを使用してもよい。このまたは他の例において、ビデオエンコーダ20は、ルーマアレイに対して、ピクチャのクロマアレイ(すなわち、SCbおよびSCr)をダウンサンプリングしてもよい。ただし、さらに他のケースでは、ダウンサンプリングは、最高品質ビデオを保証するために回避されてよい。たとえば、ビデオエンコーダ20はYUV4:2:0ビデオフォーマット、YUV4:2:2ビデオフォーマット、または4:4:4ビデオフォーマットを使用してもよい。YUV4:2:0ビデオフォーマットにおいて、ビデオエンコーダ20は、クロマアレイの高さおよび幅がルーマアレイの2分の1になるようにクロマアレイをダウンサンプリングしてもよい。YUV4:2:2ビデオフォーマットにおいて、ビデオエンコーダ20は、クロマアレイの幅がルーマアレイの2分の1になり、かつクロマアレイの高さがルーマアレイと同じになるようにクロマアレイをダウンサンプリングしてもよい。YUV4:4:4ビデオフォーマットにおいて、ビデオエンコーダ20はクロマアレイをダウンサンプリングしない。Y、Cr、およびCr成分の各々についてのサンプルは、たとえば8ビットまたは10ビット精度を使って表され得る。
[0045]ビデオエンコーダ20は、ピクチャの符号化表現を生成するために、コーディングツリーユニット(CTU)のセットを生成してもよい。CTUの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。3つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、CTUは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのN×Nブロックであり得る。CTUは「ツリーブロック」または「最大コーディングユニット」(LCU)とも呼ばれることもある。HEVCのCTUは、H.264/AVCのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニットを含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のCTUを含み得る。
[0046]本開示は、1つまたは複数のサンプルブロックのサンプルをコーディングするのに使われるサンプルの1つまたは複数のブロックおよびシンタックス構造を指すのに、「ビデオユニット」または「ビデオブロック」という用語を使う場合がある。例示的なタイプのビデオユニットは、CTU、CU、PU、変換ユニット(TU)、マクロブロック、マクロブロック区分などを含み得る。
[0047]コード化CTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックに対して4分木区分を再帰的に実施して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって「コーディングツリーユニット」という名称がある。コーディングブロックは、サンプルのN×Nのブロックであり得る。CUは、ルーマサンプルアレイとCbサンプルアレイとCrサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。3つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
[0048]ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分してもよい。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ピクチャのルーマサンプルの1つの予測ブロック(PB)と、クロマサンプルの2つの対応する予測ブロック(PB)と、PBサンプルを予測するために使用されるシンタックス構造とを備え得る。3つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、PUは、単一の予測ブロックと、その予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成してもよい。
[0049]ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記のように、CUのサイズはCUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズはPUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズを2N×2Nと仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測の場合は2N×2NまたはN×NのPUサイズをサポートすることができ、インター予測の場合は2N×2N、2N×N、N×2N、N×N、または同様の対称のPUサイズをサポートすることができる。ビデオエンコーダ20およびビデオデコーダ30はまた、インター予測用の2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズ用の非対称区分化をサポートすることができる。
[0050]ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PUのための予測ブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいてPUのPBを生成し得る。PBサイズは、ビットストリーム中で許容可能な最も小さいコーディングブロックサイズを例外として、すべてのブロックサイズに対して(たとえば、すべてのNに対して)CBサイズと同じに設定されてよい。この例外ケースにおいて、CBは、別個のイントラピクチャ予測モードを各々が有する4つの予測ブロック象限(quadrants)に分割され得る。
[0051]ビデオエンコーダ20が、PUのPBを生成するのにインター予測を使う場合、ルーマおよびクロマCBは、1、2、または4つのPBに分割され得る。PUに分割されるCUに関して上述したように、CUのCBは、PB用の対称的または非対称的な動き区分に分割され得る。ビデオエンコーダ20は、各インター予測された予測ブロックに、1つまたは2つの動きベクトル(MV)と、(以下でさらに詳しく説明する)参照ピクチャリストへのインデックスとを割り当てる。さもなければ参照ピクチャメモリローディングにより起こることになるメモリ帯域幅ボトルネックにより、4×4のサイズを有するルーマPBはインター予測することができず、4×8サイズおよび8×4サイズのルーマは双予測を使ってインター予測することができない(すなわち、これらの寸法のルーマは単予測に制限される)と、HEVCは規定している。
[0052]さらに、ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。インター予測は、単方向インター予測(すなわち、単予測)でも双方向インター予測(すなわち、双予測)でもよい。単予測または双予測を実施するために、ビデオエンコーダ20は、現在のスライスに対して、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを生成し得る。参照ピクチャリストの各々は、1つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ20は、参照ピクチャ内の参照ロケーションを判断するために、RefPicList0とRefPicList1のいずれかまたは両方の中の参照ピクチャを探索することができる。さらに、単予測を使うとき、ビデオエンコーダ20は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、PUのための予測サンプルブロックを生成すればよい。さらに、単予測を使うとき、ビデオエンコーダ20は、PUの予測ブロックと参照ロケーションとの間の空間的変位を示す単一の動きベクトルを生成すればよい。PUの予測ブロックと参照ロケーションとの間の空間的変位を示すために、動きベクトルは、PUの予測ブロックと参照位置との間の水平方向の変位を規定する水平成分を含んでよく、PUの予測ブロックと参照位置との間の垂直方向の変位を規定する垂直成分を含んでよい。
[0053]PUを符号化するのに双予測を使うとき、ビデオエンコーダ20は、RefPicList0中の参照ピクチャ中の第1の参照ロケーションと、RefPicList1中の参照ピクチャ中の第2の参照ロケーションとを判断すればよい。ビデオエンコーダ20は次いで、現在のビデオユニットの予測ブロックを、第1および第2の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて生成し得る。さらに、PUを符号化するのに双予測を使うとき、ビデオエンコーダ20は、PUの予測ブロックと第1の参照ロケーションとの間の空間変位を示す第1のMVと、PUのサンプルブロックと第2の参照ロケーションとの間の空間変位を示す第2のMVとを生成すればよい。本明細書では、「双方向」インター予測用に使用可能と記載されるが、異なる参照ピクチャリストRefPicList0およびRefPicList1中の参照ピクチャは、それぞれ、時間的意味において、必ずしも先行する/前であり、および後続するとは限らない。そうではなく、2つの参照ピクチャリストは、いくつかのケースでは、両方とも、1つまたは複数の前のフレームからのデータを含み得るか、両方とも、1つまたは複数の後続フレームからのデータを含み得る。2つの参照ピクチャリスト中のデータは、いくつかの状況では同一であってもよい。
[0054]ビデオエンコーダ20は、MV用にサブサンプル精度を使うことができる。HEVCに従って取得されたルーマPBに対して、たとえば、ビデオエンコーダ20は、分数サンプル位置を補間するための7タップ(4分の1サンプル位置用)または8タップフィルタ(2分の1サンプル位置用)をもつ4分の1サンプル精度、すなわち、ルーマサンプルの間の距離の4分の1を使うことができる。
[0055]クロマサンプルMV分数確度は、クロマサンプリングフォーマットに従って変化可能であり得る。たとえば、4:2:0フォーマットは、水平および垂直寸法の各々に対して半分のクロマサンプルがあるとすると、クロマサンプルの間の距離の1/8のユニットを生じる。ただし、クロマPB用の分数サンプル補間は、ルーマPBのものと同様である。ただし、ビデオエンコーダ20は、クロマ成分の補間には、4タップフィルタを使うことができ、これはやはり、4:2:0フォーマットに対して1/8分数確度を生じる。4:2:2フォーマットに対して、4タップフィルタでの水平分数確度は1/8であり、垂直分数確度は1/4である。4:4:4フォーマットに対して、クロマサンプルMV分数確度は、ルーマブロックのものと同一である。
[0056]したがって、ルーマPBを導出するために、ビデオエンコーダ20は、8タップフィルタを使って分数サンプル補間を実施する。図11は、成分補間のための例示的整数および分数サンプル位置行列400を示すブロック図である。現行のHEVC規格は、これらの8タップフィルタを、テーブル1に示すように、2分の1サンプル(hfilter)および4分の1サンプル(qfilter)補間位置について定義する。
Figure 0006342477
[0057]A0,0と表示される行列400中の位置は、整数位置Ai,jの事例であり、これは、整数i、jの異なる値についてのルーマサンプルを表す。ビデオエンコーダ20は、次のように、分数サンプル値を取得するために、分数サンプル補間フィルタを適用する。
Figure 0006342477
[0058]上の式において、Bは、参照サンプルのビット深度、たとえば、8ビットを指し、>>は右シフト演算を示す。ビデオエンコーダ20は、行列400中の残りの位置、すなわちe、f、g、i、j、k、p、q、およびrに置かれた分数サンプルを、残りの位置のための対応する公式に従って、垂直方向に隣接する位置に置かれたサンプルに、対応するフィルタを適用することによって導出することができる。ここで図1に戻ると、ビデオエンコーダ20はしたがって、補間を行うために、参照ブロックの外に置かれているピクセル/サンプルを取得する。ルーマPB向けの8タップフィルタ用の上記フィルタリング公式のケースにおいて、ビデオエンコーダ20は、8×8ルーマ予測ブロックについて単予測のために参照ピクチャのピクセルの15×15セットをフェッチすることを要求する、位置−3〜+4にあるサンプルを水平および垂直方向の両方において読み取ることができる。双予測に対しては、ピクセルの数が、参照ピクチャの数とともに倍にされ、15×15*2ピクセルを生じる。8×4および4×8ルーマPBに対して、フェッチされるべきピクセルの数は、単予測用には15×11*2である。上述したように、HEVCは、8×4および4×8ルーマPBを単予測に制限する。
[0059]ビデオエンコーダ20は、ルーマに対するのと同様に、ただし4タップフィルタを使って、クロマ成分に分数サンプル補間を適用する。ビデオエンコーダ20はしたがって、−2〜+1の位置にあるサンプルを、水平および垂直方向の両方において読み取ることができる。これは、4:2:0フォーマットの、8×8の双予測されたクロマ予測ブロックに対して、参照ピクチャのピクセルの11×11*2*2セットをフェッチすることを要求する。8×4および4×8の単予測クロマPBに対して、フェッチされるべきピクセルの数は11×7*2*2である。分数サンプル補間のためにHEVCに従って必要とされるピクセルの数を、テーブル2に挙げる。
Figure 0006342477
[0060]テーブル2から分かるように、4:2:0クロマフォーマットと4:4:4クロマフォーマットの両方についてのワーストケースは、双予測を使ってインター予測される8×8予測ユニットである。ルーマインター予測に要求されるピクセルの数は、ルーマが4:2:0、4:2:2、または4:4:4ではダウンサンプリングされないので変わらないことに留意されたい。ただし、4:4:4クロマフォーマット用の分数サンプル補間のためにメモリからサンプルをフェッチするのに要求される帯域幅は、4:2:0クロマフォーマットよりも約45%高い。非4:2:0クロマフォーマット(たとえば、4:2:2および4:4:4)をサポートするためのハードウェア設計は、必要とされるフレーム生成速度において必要とされる余剰帯域幅を考慮しなければならない。これは、より多いおよび/またはより速いメモリのためのハードウェア実装コストの増大、システムバス速度の増大などにつながり得る。
[0061]ビデオエンコーダ20は、CUの1つまたは複数のPUの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後、CUのルーマ残差ブロックを生成してもよい。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルと、CUの元のルーマコーディングブロック(CB)中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ20はCUのCb残差ブロックを生成することができる。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルと、CUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUのCr残差ブロックを生成することができる。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルと、CUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
[0062]さらに、ビデオエンコーダ20は4分木区分を使用してCUのルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解してもよい。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであってもよい。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。3つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、TUは、単一の変換ブロックと、その変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロックおよびCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックはCUのルーマ残差ブロックのサブブロックであってもよい。Cb変換ブロックはCUのCb残差ブロックのサブブロックであってもよい。Cr変換ブロックはCUのCr残差ブロックのサブブロックであってもよい。
[0063]ビデオエンコーダ20はTUのルーマ変換ブロックに1回または複数回の変換を適用してTUのルーマ係数ブロックを生成してよい。係数ブロックは変換係数の2次元ブロックであってよい。変換係数はスカラー量であり得る。ビデオエンコーダ20は、TUのCb変換ブロックに1回または複数回の変換を適用して、TUのCb係数ブロックを生成することができる。ビデオエンコーダ20は、TUのCr変換ブロックに1回または複数回の変換を適用して、TUのCr係数ブロックを生成することができる。
[0064]ビデオエンコーダ20は、係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、係数ブロックを量子化してもよい。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。さらに、ビデオエンコーダ20は、変換係数を逆量子化し、ピクチャのCUのTUの変換ブロックを再構築するために変換係数に逆変換を適用することができる。ビデオエンコーダ20は、CUのコーディングブロックを再構築するために、CUのTUの再構築された変換ブロックと、CUのPUの予測ブロックとを使うことができる。ピクチャの各CUのコーディングブロックを再構築することによって、ビデオエンコーダ20はピクチャを再構築することができる。ビデオエンコーダ20は、復号ピクチャバッファ(DPB)に再構築ピクチャを記憶し得る。ビデオエンコーダ20は、DPB中の再構築ピクチャを、インター予測およびイントラ予測用に使うことができる。
[0065]ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC:Context-Adaptive Binary Arithmetic Coding)を実施し得る。ビデオエンコーダ20は、エントロピー符号化シンタックス要素をビットストリーム中で出力し得る。
[0066]ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダの中で、ビデオデコーダ30へ送り得る。GOPシンタックスデータは、それぞれのGOP内のフレームの数を記述することができ、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示すことができる。
[0067]加えて、ビデオエンコーダ20は、たとえば、残差データを逆量子化し、逆変換することによって符号化ピクチャを復号し、残差データを予測データと組み合わせることができる。このようにして、ビデオエンコーダ20は、ビデオデコーダ30によって実施される復号プロセスをシミュレートし得る。したがって、ビデオエンコーダ20とビデオデコーダ30の両方は、インターピクチャ予測に使用するために実質的に同じ復号ピクチャにアクセスできる。
[0068]概して、ビデオデコーダ30は、ビデオエンコーダによって実行される符号化プロセスの逆である復号プロセスを実施し得る。たとえば、ビデオデコーダ30は、量子化されたビデオデータをエントロピー符号化するためにビデオエンコーダによって使用されるエントロピー符号化技法の逆を使用してエントロピー復号を実施し得る。ビデオデコーダ30は、ビデオエンコーダ20によって使用される量子化技法の逆を使用してビデオデータをさらに逆量子化することができ、量子化された変換係数を生成するためにビデオエンコーダ20によって使用された変換の逆を実施し得る。次いで、ビデオデコーダ30は、最終的な表示用のビデオブロックを生成するために、隣接参照ブロック(イントラ予測)または別のピクチャからの参照ブロック(インター予測)に、得られた残差ブロックを適用し得る。ビデオデコーダ30は、ビデオデコーダ30によって受信されたビットストリーム中の符号化ビデオデータとともに、ビデオエンコーダ20によって提供されるシンタックス要素に基づいて、ビデオエンコーダ20によって実施される様々なプロセスの逆を実施するために構成され、命令され、制御され、または導かれ得る。
[0069]インターピクチャ予測のさらなる効率のために、ビデオエンコーダ20およびビデオデコーダ30は、動き情報予測、たとえば、動きベクトル予測(MVP)のための技法を実装すればよい。HMによってサポートされる動き情報予測のモードには、たとえば、マージモードおよびAMVPがある。
[0070]マージモードは、コーディングすべき現在ビデオブロックのための、動きベクトル、参照フレームインデックス、予測方向、または他の情報などの動き情報が、現在のビデオブロックと同じピクチャ中の空間的に近隣するビデオブロック、または(時間的に)異なるピクチャ中のコロケートされた、もしくは隣接するビデオブロックから継承される1つまたは複数のビデオコーディングモードを指す。同じピクチャ中の空間的に隣接するブロックはローカル空間隣接ブロックと呼ばれることがある。異なるピクチャ中のコロケートされたまたは隣接するブロックは時間的隣接ブロックと呼ばれることがある。
[0071]マージモードを実装するために、ビデオエンコーダ20およびビデオデコーダ30は両方とも、隣接ブロックの動き情報を評価するとともに、そのような動き情報から動き情報候補リストを構築するための、共通の、事前定義されたプロセスを実装する。ビデオエンコーダ20からビデオデコーダ30にシグナリングされるインデックス値が、候補リスト中のどの候補が、ビデオブロックをコーディングするのに使われるのかおよび、したがってどの隣接ブロックから(たとえば、現在のブロックに対して上、右上、左、左下、もしくは左上ブロック、または時間的に隣接するピクチャから)、現在のビデオブロックがその動き情報を継承するのかを識別するのに使われ得る。
[0072]スキップモードはマージモードの1つのタイプ(またはマージモードと同様のモード)を備え得る。スキップモードを用いると、動き情報は継承されるが、残差情報はコーディングされない。残差情報は、概して、コーディングされるべきブロックの元の符号化されていないバージョンと、空間的に隣接するブロックまたはコロケートされたブロックから継承される動き情報によって識別される予測ブロックとの間のピクセル差分を示すピクセル差分情報を指す。直接モードは別のタイプのマージモード(またはマージモードと同様のモード)であり得る。直接モードは、動き情報が継承されるという点でスキップモードと同様であり得るが、直接モードを用いると、ビデオブロックは、残差情報を含むようにコーディングされる。「マージモード」という句は、本明細書では、スキップモード、直接モード、またはマージモードと呼ばれることがある、これらのモードのうちのいずれか1つを指すために使用される。
[0073]上述したように、HEVC規格向けのインター予測は、8×4および4×8PUのための単方向予測に制限される。8×4および4×8Puのための単方向予測にコンバートするために、HEVC規格に従って動作するビデオエンコーダ20は、そのようなPUについての双方向MVを、マージモード用に、RefPicList0からの単方向MVにコンバートすればよい。AMVP用には、HEVC規格に従って動作するビデオエンコーダ20は、単方向MV予測子に関連付けられたMVPインデックスのみをシグナリングすればよい。
[0074]本開示の技法の一例によると、ビデオエンコーダ20は、圧縮を向上するために修正圧縮技法を適用することができる。たとえば、ビデオエンコーダ20は、メモリ帯域幅要件を低減するために確立された、インター予測に対する上述した制約を、ビットストリームの圧縮効率を向上するためになくすことができる。したがって、ビデオエンコーダ20は、非4:2:0フォーマット用であっても、8×4および4×8PUについての双予測MV情報を取得し、シグナリングすればよい。マージモード用に、したがって、ビデオエンコーダ20は、双予測されたMVと、RefPicList0およびRefPicList1についてのインデックスとをシグナリングする。AMVP用に、したがって、ビデオエンコーダ20は、双予測のための第1および第2のMVに関連付けられた、に関連付けられたMVPインデックスをシグナリングする。
[0075]修正圧縮技法を適用する別の例では、ビデオエンコーダ20は、8×4または4×8など、特定の区分サイズに従って区分されたコーディングユニットの異なる成分のための異なる形の区分化を適用することによって、帯域幅削減のための制約を緩和することができる。たとえば、非2N×2N区分タイプを有するCUについて、ビデオエンコーダ20は、ルーマCBをCB区分タイプに従って区分し、さらに、クロマCBのうちの少なくとも1つを2N×2N区分タイプに従って区分すれば(すなわち、分割しなくて)よい。一例として、ビデオエンコーダ20は、2N×N区分タイプをもつCUを、2つのルーマ2N×2PB、2N×2N Cr成分PB、および2N×2N Cb成分PBに区分すればよい。ビデオエンコーダ20は、常に第1のルーマPBから、常に第2、第3、もしくは第4のルーマPBから、動き情報を取得することによって、または様々なルーマPBからの動き情報を何らかのやり方で組み合わせることによって、ルーマCBとは異なるように区分される少なくとも1つのクロマCBについての動き情報を導出することができる。これにより、クロマ成分PB向けの分数サンプル補間を実施するために要求されるメモリ帯域幅を削減することができる。
[0076]修正圧縮技法を適用する別の例では、ビデオエンコーダ20は、双予測インター予測について、1つの参照ピクチャリストからの参照ピクチャを使うと同時に、別の参照ピクチャリストのピクチャから予測子を取得するために、同じブロック用に2N×2N区分タイプ(すなわち、分割されてない)を使って、予測されるべきブロックについての非2N×2N区分タイプを有するべき少なくとも1つのルーマまたはクロマ成分をシグナリングすることができる。たとえば、ビデオエンコーダ20は、ブロックを双予測するために、RefPicList1用に2N×2N区分を使うとともに、参照リストRefPicList0用に2N×N区分タイプをシグナリングすればよい(またはその反対)。これらの技法は、インター予測についての帯域幅要件を低減し、上で言及した、付随するハードウェアコスト増大を回避し得ることを可能にし得る。
[0077]本開示の技法による別の例において、ビデオエンコーダ20は、追加状況のための非4:2:0フォーマット用のビデオコーディングにおける双予測モードの使用を制限することができる。たとえば、クロマフォーマットが4:2:2または4:4:4である場合、ビデオエンコーダ20は、帯域幅削減動作をより大きいサイズのPUに展開してよい。したがって、たとえば、4×8および8×4PU用の双予測を制限するのに加え、ビデオエンコーダ20は、非4:2:0フォーマットを検出し、または符号化するように構成され、したがって、サイズ基準を満たすPU区分サイズ用の、たとえば、8×8PU、8×16/16×8PUなどのような、任意の1つまたは複数のより大きいPU区分サイズ用の双予測をさらに制限することができる。ビデオエンコーダ20はしたがって、(やはり、ビデオエンコーダ20が、拡張された制約を適用するとき)そのようなPUについての双方向動きベクトルを単方向動きベクトルにコンバートすることができる。ビデオエンコーダ20は、上述したマージモードまたはAMVP用のコンバージョン技法のうちの1つを使って、双方向MVを単方向MVにコンバートすることができる。
[0078]別の例では、ビデオエンコーダ20は、PUについての1つまたは複数のMVを、PU、4×8および8×4PUなど、より小さいサイズのPUについての整数ペルに丸めればよい。動きベクトルを整数ペルに丸めることは、動きベクトルの水平および垂直成分を、参照ピクチャ中の成分についての最も近いサンプル位置に丸めることを指し得る。いくつかのケースでは、ビデオエンコーダ20は、双予測を使って取得されたPUについてのみ、整数ペルの丸めを適用することができる。
[0079]上記技法は、帯域幅削減をもたらすことができ、ここで、PU分数サンプル補間用にフェッチされるピクセルの数は、テーブル3に従う。クロマフォーマット4:4:4についてのワーストケースは、934ピクセルから638ピクセルに向上し、これは、双予測−単予測が4×8および8×4PUに適用される4:2:0クロマフォーマットについてのワーストケースに匹敵する。
Figure 0006342477
[0080]本明細書に記載する非4:2:0フォーマット向けのビデオコーディングにおける双予測モードの使用を制限するビデオエンコーダ20のいくつかの例において、ビデオエンコーダ20は、HEVC規格に従う4×8および8×4PU向けの双予測を制限するのに加え、または代替として、成分のタイプによる、より大きいサイズのPU向けの双予測を制限してよい。たとえば、非4:2:0フォーマットで符号化された8×8CUに対して、ビデオエンコーダ20は、ルーマPBについての双予測を認めると同時に、クロマPBのうちの少なくとも1つについての双予測を制限してよい。したがって、ビデオエンコーダ20は、そのようなPBについての双方向動きベクトルを(やはり、ビデオエンコーダ20がこの拡張された成分ごとの制約を適用するとき)、単方向動きベクトルにコンバートすることができる。拡張された帯域幅削減制約は、全体的コーディング効率に対して均等でない影響を有するので、この制約をクロマ成分に適用すると、ルーマ成分に制約を適用する全体的コーディング性能に比較的小さい影響が生じ得るとともに、依然として、ビデオコーディングプロセスのための要求メモリ帯域幅の削減が得られる可能性がある。
[0081]上記技法は、メモリ帯域幅削減を生じる場合があり、ここで、PU分数サンプル補間用にフェッチされるピクセルの数は、テーブル4に従う。クロマフォーマット4:4:4についてのワーストケースは、934ピクセルから692ピクセルに向上し、これも、双予測−単予測が4×8および8×4PUに適用される4:2:0クロマフォーマットについてのワーストケースに匹敵する。
Figure 0006342477
[0082]そのようなメモリ帯域幅削減は、本明細書に記載する技法を利用しないシステムと比べて、メモリバッファのサイズ、メモリバッファの速度、メモリバスのサイズおよび/または速度を低減し、メモリ読取り/書込みを円滑にするのに必要とされる電力の量、または上記の何らかの組合せを減少することができる。
[0083]本明細書に記載する非4:2:0フォーマットのためのビデオコーディングにおける双予測モードの使用を制限するビデオエンコーダ20のいくつかの例において、ビデオエンコーダ20が、双予測に対する制約があるCUについての少なくとも1つのクロマPBを判断するという上記記述の代替として、ビデオエンコーダ20は代わりに、クロマPBに対して双予測を使う(つまり、2つの予測子を取得する)が、2つの予測子に対して同じ動き情報を使うことができる。言い換えると、ビデオエンコーダ20は、単方向予測子のいずれかを他方の単方向予測子にコピーすればよい。単方向予測子は、RefPicList0またはRefPicList1のいずれかからであり得る。ビデオエンコーダ20は次いで、第1の予測子および第1の予測子のコピーである第2の予測子用のそれぞれの重みw0およびw1を用いて、重み付けされた双予測を2つの予測子に適用すればよい。たとえば、RefPicList0に関する動き情報を使って取得されたインター予測であり得るPred0について検討し、Pred1は、RefPicList1に関する動き情報を使って取得されたインター予測であり得る。双予測を使って取得された、判断された予測子は、重み付けされた双予測に従って、
Figure 0006342477
となる。
上式で、MV0およびMV1は、対応する予測子についての動きベクトルであり、refIdx0およびrefIdx1は、対応するRefPicList0およびRefPicList1へのインデックスである。上述した代替技法を使って、ビデオエンコーダ20は、Pred1=Pred0またはPred0=Pred1と設定する。Pred1およびPred0が等しいとき、PredBi=(w0+w1)*Pred0またはPredBi=(w0+w1)*Pred1である。w0+w1は合計するとすべてのケースにおいて1になるとは限らないが、w0+w1=1の場合、この技法は、ビデオエンコーダ20がクロマPBのうちの少なくとも1つについての双予測を制限し、クロマPB(すなわち、クロマ成分)のうちの少なくとも1つについて双予測動きベクトルを単予測動きベクトルにコンバートし得る上記技法に対して取得された同様の予測子を取得する。
[0084]上記記述では、8×8ブロックが、説明のためにのみ使われた。上述した技法は、他のブロックサイズにも適用可能である。
[0085]本開示の技法による別の例では、ビデオエンコーダ20は、ブロック中のピクセルの数に従って双予測制約を適用することができる。たとえば、所与の閾Tの場合、ビデオエンコーダ20は、H*W≦TであるH×Wのサイズのどのブロックについても、双予測制約と双単コンバージョンとを適用することができる。たとえば、T=64の場合、4×8、8×4、8×8、4×16、および16×4PUが双予測制約に含まれる。いくつかの例において、ビデオエンコーダ20は、閾Tについての双予測制約を、H+W≦TであるH×Wのサイズのどのブロックにも適用することができる。ビデオエンコーダ20は代替として、他のタイプの閾値処理を適用することができる。
[0086]上記段落に記載した次元ベースの閾技法に加え、ビデオエンコーダ20は、双予測制約を、コーディングユニットまたはサイズエリアについての閾数のブロックに限定することができる。双予測制約が適用されるCUのブロックの数を超える場合、ビデオエンコーダ20は、CUによって定義されるサイズエリアの残りのブロックについて制約を適用するのを慎めばよく、CU自体が、4分木分割プロセスに従って分割され得る。上記の一例では、16×16CUは4つの8×8PUを含み得る。ブロックの閾数が2である場合、ビデオエンコーダ20は、双予測制約を、16×16CUの最初の2つ(または何らかの他の2つ)のブロックのみに適用すればよい。残りの8×8PUは、8×8サイズが他の場合に(少なくとも、非4:2:0フォーマットでのクロマ成分について)双予測のためのサイズ制約を満たすとしても、双予測され得る。
[0087]ビデオエンコーダによって実施されるものとして上述した技法は、ビデオデコーダ30によって同様に実施され得る。ビデオエンコーダ20およびビデオデコーダ30は、上記例のうちのいずれも、組み合わせて、または代替として適用することができる。上記技法のうちのどの1つまたは複数を適用した結果として、ビデオエンコーダ20およびビデオデコーダ30は、分数サンプル補間のためにフェッチされるべきピクセルの数を低減し、そうすることによって、ビデオエンコーダ20およびビデオデコーダ30についてのハードウェア仕様要件を定義するピークメモリ帯域幅を削減することができる。
[0088]図2は、現在のビデオブロック40の例、ならびに例示的ビデオブロック40についての動き情報候補リストを構築するための代表的な空間的および時間的隣接ブロックを示す概念図である。上述したように、マージモードとAMVPモードの両方が、空間的および時間的隣接ブロックの動き情報から、コーディングされる現在のビデオブロックについての動き情報候補を識別することを含む。さらに、HEVCによると、マージモードとAMVPモードの両方について、ビデオコーダが、動き情報候補リストを構築するとき、同じ候補ブロック、たとえば、図2によって示される候補ブロックのセットの動き情報を検討し得る。
[0089]図2の例は、その動き情報が、マージモードまたはAMVPモードに従って現在のブロック40をコーディングするための潜在的動き情報候補と見なされ得る隣接ブロックとして、空間的隣接ブロック41〜45と、時間的隣接ブロックT1およびT2とを示す。ブロック41(左ネイバー)、ブロック42(上のネイバー)、ブロック43(右上ネイバー)、ブロック44(左下ネイバー)およびブロック45(左上ネイバー)が、図2に示される現在のビデオブロック40についての空間的隣接ブロックである。ブロック41〜45は、マージモードまたはAMVPモードのいずれかまたは両方に従って現在のビデオブロック40をコーディングするための動き情報候補リストを構築するための動き情報候補を識別するための空間的隣接ブロックであり得る。
[0090]時間的隣接ブロックT1およびT2は、それぞれ、現在のビデオブロック40に隣接して、およびその内部に示されているが、実際は現在のビデオブロック40とは異なる(したがって、時間的ネイバーである)ピクチャ中に置かれていることを反映するように破線境界を有する。時間的隣接ブロックT1およびT2の一方または両方は、マージモードまたはAMVPモードのいずれかまたは両方に従って現在のビデオブロック40をコーディングするための動き情報候補リストを構築するための動き情報候補を識別するための時間的隣接ブロックであり得る。時間的候補ブロックT1は、図2に示すように、現在のブロック40(ただし参照ピクチャからの)の右下にあってよく、時間的候補T2は、現在のビデオブロック40(ただし参照ピクチャからの)の中心に、またはその近くにあってよい。
[0091]ビデオエンコーダ20およびビデオデコーダ30は各々、マージモードまたはAMVPモードに従って現在のブロック40をコーディングする際に使用するために、同じまたは同様のやり方で、動き情報候補のリストを形成し得る。候補リストから候補を選択した後、ビデオエンコーダ20は、選択された候補のインデックスをビデオデコーダにシグナリングすればよい。インデックスに基づいて、ビデオデコーダ30などのビデオデコーダは、ビデオエンコーダ20によって選択された候補を識別することができる。選択された候補に関連付けられた動き情報に基づいて、ビデオデコーダ30は、現在のビデオブロックを復号することができる。候補リストから正しい候補を選択するために、ビデオデコーダ30は、ビデオエンコーダ20によって使われる同じ候補セットを構築すればよい。
[0092]HEVCコーディング規格において、ビデオブロックは、マージモードに基づくマージインター予測モードとスキップモードとを使ってコーディングされてよく、ここで、動き情報候補からの、動きベクトル、参照ピクチャインデックス、およびインター方向などの動き情報が、現在のブロック40の動き情報にコピーされ得る。いくつかの例において、5つの空間的候補が、1つの時間的動き情報候補(時間的動きベクトル予測子または「TMVP」と呼ばれることがある)とともに、候補のリスト、たとえば、最大5つの動き情報候補のリストを形成するために検討され得る。HEVCによると、マージモード動き情報候補リスト中で使われるべき候補の総数は、5に固定され(または、5を最大値として、ビデオエンコーダによって選択され得る)、リストは、最大4つの空間的動き情報候補と1つの時間的動き情報候補とを含む。したがって、いくつかの例において、マージモード動き情報候補リストは、空間的候補のうちの4つ(すなわち、図2においてブロック41〜45によって示される候補のうちの4つ)と、1つの時間的動き情報候補(すなわち、図2においてブロックT1およびT2によって示される2つの候補のうちの1つ)とを含み得る。時間的動き情報候補は、T1、またはT1が利用可能でない場合は、T2であり得る。
[0093]空間的または時間的動き情報候補のうちの1つが利用不可能であるか、またはすでに含まれる動き情報候補により冗長である場合、ビデオコーダは、冗長または利用不可能な候補を第5の空間的候補で置き換えればよい。いくつかの例において、冗長または利用不可能な候補は、T1またはT2のうちの他方によって置き換えられ得る。図2に示す番号付けは、候補のリストに空間的候補が追加され得る例示的順序に対応し得る。したがって、この例示的順序を使うと、空間的候補45が、第5の空間的候補であり、空間的候補41〜44の後に追加される。
[0094]動き情報候補リストに含めるための候補ブロック41〜45、T1およびT2に隣接する動き情報の検討のための走査順は、たとえば、41〜44、T1、45であり得る。他の例では、ビデオエンコーダ20とビデオデコーダ30の両方によって利用される限り、ためのどの走査順が使われてもよい。たとえば、他の構成では、時間的動き情報候補の前に第5の空間的候補が検討されてよい。動き情報候補リストへの追加のために動き情報候補が検討される走査順は、たとえば、その候補に関連付けられたインデックスに影響し得る。インデックス0〜4をもつ5つの候補がリスト中にある場合、時間的動き情報候補は、それらのインデックスのうちのどれに割り当てられてもよい。同様に、空間的候補も、どのインデックスに割り当てられてもよい。
[0095]ビデオエンコーダ20およびビデオデコーダ30は、予測子を判断するために、候補ブロックT1およびT2のうちのいずれにも分数サンプル補間を適用することができ、これは、フェッチされるピクセルの数により高いメモリ帯域幅を生じ得る。本明細書に記載する技法によると、ビデオエンコーダ20およびビデオデコーダ30は、非4:2:0クロマフォーマットで符号化された現在のブロック40および候補T1、T2を用いて予測子を判断するために、帯域幅削減を適用することができる。ビデオエンコーダ20およびビデオデコーダ30はしたがって、そうしないと標準HEVCで経験されるピークメモリ帯域幅を削減することができる。
[0096]図3は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために、空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの、時間的な冗長性を低減または除去するために、時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
[0097]図3の例では、ビデオエンコーダ20は、区分ユニット135と、予測処理ユニット141と、参照ピクチャメモリ164と、加算器150と、変換処理ユニット152と、量子化ユニット154と、エントロピー符号化ユニット156とを含む。予測処理ユニット141は、動き推定ユニット142と、動き補償ユニット144と、イントラ予測処理ユニット146とを含む。ビデオブロックの再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット158と、逆変換処理ユニット160と、加算器162とを含む。デブロッキングフィルタ(図3に示さず)も、ブロック境界をフィルタして、再構築されたビデオからブロッキネスアーティファクトを除去するために、含まれ得る。所望であれば、デブロッキングフィルタは、通常、加算器162の出力をフィルタするはずである。デブロッキングフィルタに加えて追加のループフィルタ(ループ内またはループ後)も使用され得る。
[0098]図3に示されるように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット135はデータをビデオブロックに区分する。この区分はまた、たとえば、LCUおよびCUの4分木構造に従って、ビデオブロック区分としてのウェルズとして、スライス、タイル、または他のより大きいユニットへの区分をも含み得る。図3に示すビデオエンコーダ20の例示的構成は概して、符号化すべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。
[0099]予測処理ユニット141は、誤差結果(たとえばコーディングレートおよびひずみのレベル)に基づいて現在のビデオブロックについて、複数のイントラコーディングモードの1つ、または複数のインターコーディングモードの1つなど、複数の可能なコーディングモードの1つを選択することができる。予測処理ユニット141は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器150に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために加算器162に与え得る。
[0100]予測処理ユニット141内に見られるイントラ予測処理ユニット146は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット141内の動き推定ユニット142および動き補償ユニット144は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実施する。
[0101]動き推定ユニット142は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Pスライス、Bスライス、またはGPBスライスに指定し得る。動き推定ユニット142と動き補償ユニット144とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット142によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
[0102]予測ブロックは、絶対値差分和(SAD)、差分2乗和(SSD)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングすべきビデオブロックのPUにぴったり一致することが分かるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ164に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット142は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
[0103]動き推定ユニット142は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0もしくはRefPicList0)または第2の参照ピクチャリスト(リスト1もしくはRefPicList1)から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ164に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット142は、計算された動きベクトルをエントロピー符号化ユニット156および動き補償ユニット144に送る。
[0104]動き補償ユニット144によって実施される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット144は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器150は、この減算演算を実施する1つまたは複数の構成要素を表す。動き補償ユニット144はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0105]イントラ予測処理ユニット146は、上に記述したように、動き推定ユニット142および動き補償ユニット144によって実施されたインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測処理ユニット146は、現在のブロックを符号化するために使用するためにイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット146は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測処理ユニット146(または、いくつかの例では、モード選択ユニット(図示せず))は、テストされたモードから使用するのに適切なイントラ予測モードを選択すればよい。たとえば、イントラ予測処理ユニット146は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測処理ユニット146は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
[0106]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット146は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット156に与え得る。エントロピー符号化ユニット156は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリームに、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、コンテキストの各々に対して使用する、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含む場合がある、構成データを含めることができる。
[0107]予測処理ユニット141がインター予測またはイントラ予測を介して現在のビデオブロックの予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット152に適用され得る。変換処理ユニット152は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット152は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0108]変換処理ユニット152は、結果として生成された変換係数を量子化ユニット154に送ることができる。量子化ユニット154は、ビットレートをさらに低減するために変換係数を量子化する。量子化処理は、係数の一部または全部と関連したビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット154は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替として、エントロピー符号化ユニット156が走査を実施し得る。
[0109]量子化の後、エントロピー符号化ユニット156は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット156は、コンテキスト適応型バイナリ算術コーディング(CABAC)、コンテキスト適応型可変長コーディング(CAVLC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット156によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット156はまた、コーディングされている現在のビデオスライスについての動きベクトルと、他の動き情報と、他のシンタックス要素とをエントロピー符号化することができる。
[0110]逆量子化ユニット158および逆変換処理ユニット160は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構築する。動き補償ユニット144は、残差ブロックを参照ピクチャリストのうち1つ内の参照ピクチャのうち1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット144はまた、再構築された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器162は、参照ピクチャメモリ164に記憶するための参照ブロックを生成するために、再構築された残差ブロックを動き補償ユニット144によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット142および動き補償ユニット144によって参照ブロックとして使用され得る。
[0111]たとえば、動き推定ユニット142および動き補償ユニット144によって実施される動き推定および動き補償は、複数の異なる動き情報予測モード、たとえば、マージモードおよびAMVPモードによる動き情報予測を含み得る。本開示の技法によると、動き推定ユニット142および/または動き補償ユニット144は、非4:2:0クロマフォーマット用の異なる動き情報予測モードのうちのどれによっても実施されるインター予測のための双予測に対する制約を展開するか、または場合によっては修正することができる。概して、動き推定ユニット142および/または動き補償ユニット144は、インター予測のための双予測に対する制約を制限し、または場合によっては修正するために、本明細書に記載する技法(たとえば、図1、図5〜図10を参照して記載したものを含む)のうちのどれを実施してもよい。
[0112]図4は、本開示で説明する技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図4の例では、ビデオデコーダ30は、エントロピー復号ユニット180と、予測処理ユニット181と、逆量子化ユニット186と、逆変換処理ユニット188と、加算器190と、参照ピクチャメモリ192とを含む。予測処理ユニット181は、動き補償ユニット182とイントラ予測処理ユニット184とを含む。ビデオデコーダ30は、いくつかの例では、図3のビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
[0113]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット180は、量子化された係数と、動きベクトルと、他の動き情報と、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット180は、予測処理ユニット181に動き情報と他のシンタックス要素とを転送する。ビデオデコーダ30は、例として、ビデオスライスレベルおよび/またはビデオブロックレベルでのシンタックス要素を受信し得る。ビデオデコーダ30は、いくつかのケースでは、ビデオデコーダ30によって受信されたビットストリームから、シンタックス要素を抽出することができる。
[0114]ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、予測処理ユニット181のイントラ予測処理ユニット184は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックについての予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、予測処理ユニット181の動き補償ユニット182は、エントロピー復号ユニット180から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうち1つ内の参照ピクチャのうち1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ192に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構築することができる。
[0115]動き補償ユニット182は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を判断し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット182は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライス用の参照ピクチャリストのうちの1つまたは複数についての構築情報と、スライスのインター符号化ビデオブロックごとの動きベクトルと、スライスのインターコード化ビデオブロックごとのインター予測ステータスと、現在ビデオスライス内のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のうちのいくつかを使用する。
[0116]動き補償ユニット182はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット182は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。このケースでは、動き補償ユニット182は、受信したシンタックス要素からビデオエンコーダ20で使用された補間フィルタを判断し、補間フィルタを使用して予測ブロックを生成し得る。
[0117]逆量子化ユニット186は、ビットストリーム中で与えられエントロピー復号ユニット180によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット188は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0118]動き補償ユニット182が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット188からの残差ブロックを動き補償ユニット182によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器190は、この加算演算を実施する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、(コーディングループ内またはコーディングループ後のいずれかの)他のループフィルタも使用され得る。次いで、所与のフレームまたはピクチャ内の復号ビデオブロックが、以後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ192に記憶される。参照ピクチャメモリ192はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
[0119]動き補償プロセスの一部として予測処理ユニット181および/または動き補償ユニット182によってビデオデコーダ30中で実施され得る動き推定は、複数の動き情報予測モード、たとえば、マージモードおよびAMVPモードによる動き情報予測を含み得る。本開示の技法によると、複数の動き情報予測モードによる動き情報予測は、共通の動き情報候補リスト構築プロセスを含み得る。いくつかの例において、予測処理ユニット181および/または動き補償ユニット182は、マージモードまたはAMVPモードのいずれかに従ってビデオブロックをコーディングするときに使われ得る、動き情報予測モードのうちの1つ、たとえば、マージモードのためのリスト構築プロセスに従って動き情報候補リストを生成することができる。
[0120]予測処理ユニット181および/または動き補償ユニット182は、エントロピー復号ユニット180から、ビデオエンコーダ20によって、現在のビデオブロックを復号するための動き情報を示し得る、ビットストリーム中に含まれるシンタックス要素を受信することができる。本開示の技法によると、予測処理ユニット181および/または動き補償ユニット182は、非4:2:0クロマフォーマット用の異なる動き情報予測モードのうちのどれによっても実施されるインター予測のための双予測に対する制約を展開するか、または場合によっては修正することができる。概して、予測処理ユニット181および/または動き補償ユニット182は、インター予測のための双予測に対する制約を制限し、または場合によっては修正するために、本明細書に記載する技法(たとえば、図1、図5〜図10を参照して記載したものを含む)のうちのどれを実施してもよい。
[0121]図5は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの異なる構成要素を異なるように区分することを含む例示的方法を示す流れ図である。図5の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ20またはビデオデコーダ30は、インター予測プロセスの一部として、ビデオブロックのルーマ成分を、ビデオブロックの区分タイプに従って区分する(200)。たとえば、ビデオブロックは2N×N区分タイプを有する場合があり、ビデオコーダは、ルーマ成分を2つの2N×N予測ブロックに区分すればよい。ただし、ビデオコーダは、ビデオブロックの少なくとも1つのクロマ成分を、ビデオブロックについての区分タイプとは異なる区分タイプに従って区分する(202)。たとえば、ビデオブロックは2N×N区分タイプを有する場合があり、ビデオコーダは、ビデオブロックのCbおよびCr成分のうちの少なくとも1つを、1つの2N×2N予測ブロックに区分すればよい。
[0122]図6は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図6の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ20またはビデオデコーダ30は、インター予測プロセスの一部として、第1の参照リスト用のビットストリーム中でシグナリングされた区分タイプを有するビデオブロックの成分を受信する(210)。双予測が指定される場合(212のYES分岐)、ビデオコーダは、第2の参照リストからの予測子に対応するとともに、第1の参照リスト用にビットストリーム中でシグナリングされた区分タイプとは異なる区分タイプに従って双予測されるビデオブロックを区分する(214)。ビデオコーダは次いで、第1および第2の参照ピクチャリストの参照ピクチャ用のそれぞれの区分について、対応するブロック領域を取得し、双予測と対応するブロック領域とを使うインター予測を適用する(216)。双予測が指定されない場合(212のNO分岐)、ビデオコーダは、単予測を使うインター予測を適用する(218)。
[0123]図7は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図7の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ20またはビデオデコーダ30は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する(220)。ビデオブロックが非4:2:0クロマフォーマットでサンプリングされ、ビデオブロックが8×8以下、(たとえば、8×8、8×4、または4×8)のサイズである場合(222および224のYES分岐)、ビデオコーダは、双方向動きベクトルを単方向動きベクトルにコンバートし(226)、ビデオブロックについての予測子を取得するために、単方向動きベクトルを使ってインター予測を適用する(228)。ビデオブロックが、8×8よりも大きいサイズであるか、またはクロマフォーマットが4:2:0である場合(222および224のNO分岐)、ビデオコーダは、双方向動きベクトルを使って、ビデオブロックについての予測子を取得する(228)。
[0124]図8は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図8の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ20またはビデオデコーダ30は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する(240)。ビデオブロックが非4:2:0クロマフォーマットでサンプリングされ、ビデオブロックが8×8以下、(たとえば、8×8、8×4、または4×8)のサイズである場合(242および244のYES分岐)、ビデオコーダは、双方向動きベクトルを単方向動きベクトルにコンバートするが、ビデオブロックのクロマ成分の一方または両方についてのみであり、ルーマ成分についてではない(246)。コンバートされたベクトルを有する成分については、成分についての予測子を取得するために、単方向動きベクトルを使ってインター予測を適用する(248)。ビデオブロックが、8×8よりも大きいサイズであるか、またはクロマフォーマットが4:2:0である場合(222および224のNO分岐)、ビデオコーダは、双方向動きベクトルを使って、ビデオブロックについての予測子を取得する(248)。
[0125]図9は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図9の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ20またはビデオデコーダ30は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する(250)。ビデオブロックが非4:2:0クロマフォーマットでサンプリングされ、ビデオブロックが8×8以下、(たとえば、8×8、8×4、または4×8)のサイズである場合(252および254のYES分岐)、ビデオコーダは、第1の参照ピクチャリスト(たとえば、List0)からの、ビデオブロックのクロマブロックについての双方向動きベクトルについての第1の予測子を、第2の参照ピクチャリスト(たとえば、List1)からの第2の予測子に設定する(256)。
[0126]ビデオコーダは、クロマブロックについての予測子を取得するために、第1および第2の予測子をそれぞれの重みに従って重み付けすることによって、第1および第2の予測子を使って双予測インター予測を適用する(258)。このようにして、ビデオコーダは、予測子を導出するのに必要とされるピクセルをフェッチするためのメモリ帯域幅を削減することができる。
[0127]図10は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも1つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図10の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ20またはビデオデコーダ30は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する(270)。ビデオブロックのサイズ(たとえば、H×WまたはH+W)が構成可能閾を超え(272のYES分岐)、ビデオブロック用のクロマフォーマットが4:2:0以外である(274のYES分岐)場合、ビデオコーダは、双方向動きベクトルを単方向動きベクトルにコンバートする(276)。ビデオコーダは次いで、動きベクトルの数による、ビデオブロックについての予測子を取得するために、インター予測(たとえば、2つの動きベクトル用の双予測またはコンバートされた動きベクトル用の単予測)を実施する(278)。
[0128]1つまたは複数の例において、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体のような有形媒体、または、たとえば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または、(2)信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載された技法を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータ、または1つもしくは複数のプロセッサによってアクセスできる任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
[0129]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、代わりに非一時的な有形記憶媒体を指すことを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、一方ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
[0130]命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の統合された、もしくは個別の論理回路などの、1つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書において、前述の構造のうちの任意のものまたは本明細書に記載される技法の実施のために適当な任意の他の構造を参照し得る。加えて、いくつかの態様では、本明細書に記載される機能性は、符号化および復号のために構成され、または組み合わされたコーデックに組み込まれる、専用のハードウェア内および/またはソフトウェアモジュール内で提供され得る。また、技法は、1つまたは複数の回路または論理素子内で完全に実施されてよい。
[0131]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む多種多様なデバイスまたは装置において実施されてよい。様々な構成要素、モジュール、またはユニットが、開示された技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わされ、または、上述される1つまたは複数のプロセッサを含む、適当なソフトウェアおよび/またはファームウェアと一緒に相互作用するハードウェアユニットが集まったものによって提供され得る。
[0132]様々な例について説明してきた。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータをコーディングする方法であって、
非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得することと、
前記ビデオブロックのビデオブロックサイズを判断することと、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正することと、
前記少なくとも1つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成することとを備える方法。
[C2] 前記ビデオブロックサイズが4×8または8×4以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、C1に記載の方法。
[C3] 前記ビデオブロックについての区分タイプを取得することと、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第1の成分を区分することと、
前記ビデオブロックについての区分タイプとは異なる第2の成分についての前記区分タイプに従って前記ビデオブロックの前記第2の成分を区分することとをさらに備え、
ここにおいて、前記動きベクトルを修正することは、前記ビデオブロックの前記第1の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第2の成分についての動きベクトルを生成することを備える、C1に記載の方法。
[C4] 前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正することは、前記双方向動きベクトルを、前記ビデオブロックについての単方向動きベクトルにコンバートすることを備える、C1に記載の方法。
[C5] 前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正することは、前記ビデオブロックの前記複数の成分のうちの第1の成分についてのみの前記双方向動きベクトルを、前記第1の成分についての単方向動きベクトルにコンバートすることを備える、C1に記載の方法。
[C6] 前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正することは、前記双方向動きベクトルを単方向動きベクトルにコンバートすることを備え、
前記ビデオブロックについての予測ブロックを生成することは、前記ビデオブロックの前記複数の成分のうちのすべてよりも少ないものにのみ、単方向動きベクトルを適用することを備える、C1に記載の方法。
[C7] 前記ビデオブロックについての第1の予測子は双予測時間的予測のための第1の動きベクトルを備え、前記ビデオブロックについての第2の予測子は双予測時間的予測のための第2の動きベクトルを備え、
前記動きベクトルを修正することは、前記第1の予測子を前記第2の予測子に設定するように、前記動きベクトルを備える動き情報を修正することを備え、
前記ビデオブロックについての予測ブロックを生成することは、前記第1の予測子と前記第2の予測子とを使って双予測を適用することを備える、C1に記載の方法。
[C8] 前記第1の予測子と前記第2の予測子とを使って双予測を適用することは、前記第1の予測子に第1の重みを適用することと、前記第2の予測子に第2の重みを適用することとを備える、C7に記載の方法。
[C9] ビデオデータをコーディングすることは、前記ビデオデータを復号することを備え、
前記非4:2:0クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得することは、ビットストリームから、前記動きベクトルについての動き情報を指定する1つまたは複数のシンタックス要素を抽出することを備える、C1に記載の方法。
[C10] ビデオデータをコーディングすることは、前記ビデオデータを符号化することを備え、
前記非4:2:0クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得することは、前記ビデオブロックについての前記動きベクトルを少なくとも1つの参照ブロックから導出することと、前記動きベクトルについての動き情報を、ビットストリームについての1つまたは複数のシンタックス要素に符号化することとを備える、C1に記載の方法。
[C11] ビデオデータをコーディングするための装置であって、
非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得し、
前記ビデオブロックのビデオブロックサイズを判断し、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正し、
前記少なくとも1つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成するように構成されたビデオコーダを備える装置。
[C12] 前記ビデオブロックサイズが4×8または8×4以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、C11に記載の装置。
[C13] 前記ビデオコーダは、
前記ビデオブロックについての区分タイプを取得し、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第1の成分を区分し、
前記ビデオブロックについての区分タイプとは異なる第2の成分についての前記区分タイプに従って前記ビデオブロックの前記第2の成分を区分するようにさらに構成され、
ここにおいて、前記動きベクトルを修正するために、前記ビデオコーダは、前記ビデオブロックの前記第1の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第2の成分についての動きベクトルを生成するようにさらに構成される、C11に記載の装置。
[C14] 前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記双方向動きベクトルを、前記ビデオブロックについての単方向動きベクトルにコンバートするようにさらに構成される、C11に記載の装置。
[C15] 前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記ビデオブロックの前記複数の成分のうちの第1の成分についてのみの前記双方向動きベクトルを、前記第1の成分についての単方向動きベクトルにコンバートするようにさらに構成される、C11に記載の装置。
[C16] 前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記双方向動きベクトルを、単方向動きベクトルにコンバートするようにさらに構成され、
前記ビデオブロックについての前記予測ブロックを生成するために、前記ビデオコーダは、前記ビデオブロックの前記複数の成分のうちのすべてよりも少ないものにのみ、単方向動きベクトルを適用するようにさらに構成される、C11に記載の装置。
[C17] 前記ビデオブロックについての第1の予測子は双予測時間的予測のための第1の動きベクトルを備え、前記ビデオブロックについての第2の予測子は双予測時間的予測のための第2の動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記第1の予測子を前記第2の予測子に設定するように、前記動きベクトルを備える動き情報を修正するようにさらに構成され、
前記ビデオブロックについての予測ブロックを生成するために、前記ビデオコーダは、前記第1の予測子と前記第2の予測子とを使って双予測を適用するようにさらに構成される、C11に記載の装置。
[C18] 前記第1の予測子と前記第2の予測子とを使って双予測を適用するために、前記ビデオコーダは、前記第1の予測子に第1の重みを適用し、前記第2の予測子に第2の重みを適用するようにさらに構成される、C17に記載の装置。
[C19] 前記ビデオコーダは、前記ビデオデータを復号するように構成されたビデオデコーダを備え、
前記非4:2:0クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得するために、前記ビデオデコーダは、ビットストリームから、前記動きベクトルについての動き情報を指定する1つまたは複数のシンタックス要素を抽出するように構成される、C11に記載の装置。
[C20] 前記ビデオコーダは、前記ビデオデータを符号化するように構成されたビデオエンコーダを備え、
前記非4:2:0クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得するために、前記ビデオエンコーダは、前記ビデオブロックについての前記動きベクトルを少なくとも1つの参照ブロックから導出し、前記動きベクトルについての動き情報を、ビットストリームについての1つまたは複数のシンタックス要素に符号化するように構成される、C11に記載の装置。
[C21] ビデオデータをコーディングするための装置であって、
非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得するための手段と、
前記ビデオブロックのビデオブロックサイズを判断するための手段と、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正するための手段と、
前記少なくとも1つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成するための手段とを備える装置。
[C22] 前記ビデオブロックサイズが4×8または8×4以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、C21に記載の装置。
[C23] 前記ビデオブロックについての区分タイプを取得するための手段と、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第1の成分を区分するための手段と、
前記ビデオブロックについての区分タイプとは異なる第2の成分についての前記区分タイプに従って前記ビデオブロックの前記第2の成分を区分するための手段とをさらに備え、
ここにおいて、前記動きベクトルを修正するための前記手段は、前記ビデオブロックの前記第1の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第2の成分についての動きベクトルを生成するための手段を備える、C21に記載の装置。
[C24] 前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正するための前記手段は、前記ビデオブロックの前記複数の成分のうちの第1の成分についてのみの前記双方向動きベクトルを、前記第1の成分についての単方向動きベクトルにコンバートするための手段を備える、C21に記載の装置。
[C25] 前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正するための前記手段は、前記双方向動きベクトルを単方向動きベクトルにコンバートすることを備え、
前記ビデオブロックについての予測ブロックを生成するための前記手段は、前記ビデオブロックの前記複数の成分のうちのすべてよりも少ないものにのみ、単方向動きベクトルを適用するための手段を備える、C21に記載の装置。
[C26] 前記ビデオブロックについての第1の予測子は双予測時間的予測のための第1の動きベクトルを備え、前記ビデオブロックについての第2の予測子は双予測時間的予測のための第2の動きベクトルを備え、
前記動きベクトルを修正するための前記手段は、前記第1の予測子を前記第2の予測子に設定するように、前記動きベクトルを備える動き情報を修正するための手段を備え、
前記ビデオブロックについての予測ブロックを生成するための前記手段は、前記第1の予測子と前記第2の予測子とを使って双予測を適用するための手段を備える、C21に記載の装置。
[C27] 実行されると、ビデオデータをコーディングするための装置の1つまたは複数のプロセッサに、
非4:2:0クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得させ、
前記ビデオブロックのビデオブロックサイズを判断させ、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正させ、
前記少なくとも1つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成させる命令を記憶したコンピュータ可読記憶媒体。
[C28] 前記ビデオブロックサイズが4×8または8×4以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、C27に記載のコンピュータ可読記憶媒体。
[C29] 実行されると、前記1つまたは複数のプロセッサに、
前記ビデオブロックについての区分タイプを取得させ、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第1の成分を区分させ、
前記ビデオブロックについての区分タイプとは異なる第2の成分についての前記区分タイプに従って前記ビデオブロックの前記第2の成分を区分させる命令をさらに備え、
前記動きベクトルを修正するために、前記命令は、前記1つまたは複数のプロセッサに、前記ビデオブロックの前記第1の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第2の成分についての動きベクトルを生成させる、C27に記載のコンピュータ可読記憶媒体。
[C30] 前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記命令は、前記1つまたは複数のプロセッサに、前記ビデオブロックの前記複数の成分のうちの第1の成分についてのみの前記双方向動きベクトルを、前記第1の成分についての単方向動きベクトルにコンバートさせる、C27に記載のコンピュータ可読記憶媒体。

Claims (9)

  1. ビデオデータを復号する方法であって、前記ビデオデータはサイズ2N×2Nのビデオブロックを備え、Nは数であり、前記方法は、
    前記ビデオブロックのルーマ成分を2つの2N×N部分に区分することと、
    非4:2:0であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも1つのクロマ成分を単一の非分割2N×2N部分に区分することと、
    前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための動きベクトルを生成することと、
    前記ビデオブロックのビデオブロックサイズを判断することと、
    前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正すること、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正することは、前記ビデオブロックのクロマ成分のうちの少なくとも1つの双方向動きベクトルを単方向動きベクトルにコンバートすることを備える、と、
    前記少なくとも1つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成することと
    を備え、
    ここにおいて、非4:2:0である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも1つのクロマ成分についての動き情報を提供することを備える、方法。
  2. ビデオデータを符号化する方法であって、前記ビデオデータはサイズ2N×2Nのビデオブロックを備え、Nは数であり、前記方法は、
    前記ビデオブロックのルーマ成分を2つの2N×N部分に区分することと、
    非4:2:0であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも1つのクロマ成分を単一の非分割2N×2N部分に区分することと、
    前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための動きベクトルを生成することと、
    前記ビデオブロックのビデオブロックサイズを判断することと、
    前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正すること、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正することは、前記ビデオブロックのクロマ成分のうちの少なくとも1つの双方向動きベクトルを単方向動きベクトルにコンバートすることを備える、と、
    前記少なくとも1つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成することと
    を備え、
    ここにおいて、非4:2:0である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも1つのクロマ成分についての動き情報を提供することを備える、方法。
  3. 前記ビデオブロックの前記ルーマ成分は、第1の2N×N予測ブロックと第2の2N×N予測ブロックとに区分され、前記少なくとも1つのクロマ成分についての前記2N×2N予測ブロックのための動き情報は、前記ルーマ成分についての前記第1の2N×Nルーマ予測ブロックからの動き情報に基づく、請求項1または2に記載の方法。
  4. 前記ビデオブロックの前記ルーマ成分は、第1の2N×N予測ブロックと第2の2N×N予測ブロックとに区分され、前記少なくとも1つのクロマ成分についての前記2N×2N予測ブロックのための動き情報は、前記ルーマ成分についての前記第1および第2の2N×Nルーマ予測ブロックからの動き情報の組み合わせに基づく、請求項1または2に記載の方法。
  5. ビデオデータを復号する装置であって、前記ビデオデータはサイズ2N×2Nのビデオブロックを備え、Nは数であり、前記装置は、
    前記ビデオブロックのルーマ成分を2つの2N×N部分に区分するための手段と、
    非4:2:0であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも1つのクロマ成分を単一の非分割2N×2N部分に区分するための手段と、
    前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための動きベクトルを生成するための手段と、
    前記ビデオブロックのビデオブロックサイズを判断するための手段と、
    前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正するための手段、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正するための手段は、前記ビデオブロックのクロマ成分のうちの少なくとも1つの双方向動きベクトルを単方向動きベクトルにコンバートするための手段を備える、と、
    前記少なくとも1つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成するための手段と
    を備え、
    ここにおいて、非4:2:0である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも1つのクロマ成分についての動き情報を提供することを備える、装置。
  6. ビデオデータを符号化する装置であって、前記ビデオデータはサイズ2N×2Nのビデオブロックを備え、Nは数であり、前記装置は、
    前記ビデオブロックのルーマ成分を2つの2N×N部分に区分するための手段と、
    非4:2:0であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも1つのクロマ成分を単一の非分割2N×2N部分に区分するための手段と、
    前記ビデオブロックを予測するための少なくとも1つの参照ピクチャのサンプルを取得するための動きベクトルを生成することと、
    前記ビデオブロックのビデオブロックサイズを判断するための手段と、
    前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正するための手段、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正するための手段は、前記ビデオブロックのクロマ成分のうちの少なくとも1つの双方向動きベクトルを単方向動きベクトルにコンバートするための手段を備える、と、
    前記少なくとも1つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成するための手段と
    を備え、
    ここにおいて、非4:2:0である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも1つのクロマ成分についての動き情報を提供することを備え、
    ここにおいて、前記ビデオブロックの前記ルーマ成分は、第1の2N×N予測ブロックと第2の2N×N予測ブロックとに区分される、装置。
  7. 前記ビデオブロックの前記ルーマ成分は、第1の2N×N予測ブロックと第2の2N×N予測ブロックとに区分され、前記少なくとも1つのクロマ成分についての前記2N×2N予測ブロックのための動き情報は、前記ルーマ成分についての前記第1の2N×Nルーマ予測ブロックからの動き情報に基づく、請求項5または6に記載の装置。
  8. 前記ビデオブロックの前記ルーマ成分は、第1の2N×N予測ブロックと第2の2N×N予測ブロックとに区分され、前記少なくとも1つのクロマ成分についての前記2N×2N予測ブロックのための動き情報は、前記ルーマ成分についての前記第1および第2の2N×Nルーマ予測ブロックからの動き情報の組み合わせに基づく、請求項または6に記載の装置。
  9. 実行されると、1つまたは複数のプロセッサに、請求項1乃至4のいずれか一項に記載の方法を実行させる命令を記憶した、コンピュータ可読記憶媒体。
JP2016505592A 2013-03-29 2014-03-28 ビデオコーディング予測のためのメモリ削減 Active JP6342477B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361806700P 2013-03-29 2013-03-29
US61/806,700 2013-03-29
US201361808479P 2013-04-04 2013-04-04
US61/808,479 2013-04-04
US14/227,839 US9491460B2 (en) 2013-03-29 2014-03-27 Bandwidth reduction for video coding prediction
US14/227,839 2014-03-27
PCT/US2014/032180 WO2014160943A1 (en) 2013-03-29 2014-03-28 Memory reduction for video coding prediction

Publications (3)

Publication Number Publication Date
JP2016518052A JP2016518052A (ja) 2016-06-20
JP2016518052A5 JP2016518052A5 (ja) 2017-04-06
JP6342477B2 true JP6342477B2 (ja) 2018-06-13

Family

ID=51620836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016505592A Active JP6342477B2 (ja) 2013-03-29 2014-03-28 ビデオコーディング予測のためのメモリ削減

Country Status (6)

Country Link
US (1) US9491460B2 (ja)
EP (1) EP2979448B1 (ja)
JP (1) JP6342477B2 (ja)
KR (1) KR20150139881A (ja)
CN (1) CN105075259B (ja)
WO (1) WO2014160943A1 (ja)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103283237B (zh) * 2010-12-22 2017-03-22 Lg电子株式会社 帧内预测方法和使用该方法的设备
CN103828364B (zh) 2011-09-29 2018-06-12 夏普株式会社 图像解码装置、图像解码方法及图像编码装置
KR102341826B1 (ko) * 2012-07-02 2021-12-21 엘지전자 주식회사 영상 정보 코딩 방법 및 이를 이용하는 장치
US9213781B1 (en) 2012-09-19 2015-12-15 Placemeter LLC System and method for processing image data
CN111193930B (zh) * 2013-12-16 2021-11-30 浙江大学 一种前向双假设编码图像块的编解码方法和装置
CN105874789B (zh) * 2014-01-29 2019-10-29 联发科技股份有限公司 利用自适应运动向量精度的方法
EP3149909A4 (en) 2014-05-30 2018-03-07 Placemeter Inc. System and method for activity monitoring using video data
CN107809642B (zh) 2015-02-16 2020-06-16 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
US10043078B2 (en) 2015-04-21 2018-08-07 Placemeter LLC Virtual turnstile system and method
US11334751B2 (en) 2015-04-21 2022-05-17 Placemeter Inc. Systems and methods for processing video data for activity monitoring
US10997428B2 (en) 2015-06-01 2021-05-04 Placemeter Inc. Automated detection of building entrances
ES2737843B2 (es) * 2016-07-05 2021-07-15 Kt Corp Metodo y aparato para procesar una senal de video
WO2018008905A1 (ko) 2016-07-05 2018-01-11 주식회사 케이티 비디오 신호 처리 방법 및 장치
ES2737874B2 (es) 2016-07-05 2020-10-16 Kt Corp Metodo y aparato para procesar senal de video
CN116708784A (zh) * 2016-07-12 2023-09-05 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
WO2018062892A1 (ko) * 2016-09-28 2018-04-05 엘지전자(주) 가중치 인덱스에 기초하여 최적의 예측을 수행하는 방법 및 장치
EP3306937A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for encoding and decoding a video
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
US10262393B2 (en) * 2016-12-29 2019-04-16 Intel Corporation Multi-sample anti-aliasing (MSAA) memory bandwidth reduction for sparse sample per pixel utilization
CN116193110A (zh) * 2017-01-16 2023-05-30 世宗大学校产学协力团 影像编码/解码方法
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
TWI812414B (zh) * 2017-07-13 2023-08-11 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置及記錄媒體
JP6825506B2 (ja) * 2017-07-19 2021-02-03 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
US10609384B2 (en) 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
CN111886867B (zh) * 2018-01-09 2023-12-19 夏普株式会社 运动矢量推导装置、运动图像解码装置以及运动图像编码装置
GB2588003B (en) 2018-06-05 2023-04-19 Beijing Bytedance Network Tech Co Ltd Interaction between pairwise average merging candidates and IBC
WO2019244118A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Component-dependent sub-block dividing
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
JP7414742B2 (ja) 2018-06-27 2024-01-16 ヴィド スケール インコーポレイテッド デコーダ側動きリファインメントのコーディング待ち時間を低減させる方法および装置
CA3102615A1 (en) * 2018-07-06 2020-01-09 Mitsubishi Electric Corporation Bi-prediction video coding with adaptive weights
CN117294852A (zh) * 2018-07-15 2023-12-26 北京字节跳动网络技术有限公司 跨分量编解码顺序导出
US11277628B2 (en) * 2018-09-24 2022-03-15 Qualcomm Incorporated Restrictions for the worst-case bandwidth reduction in video coding
US11582480B2 (en) * 2018-09-25 2023-02-14 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
CN112997489B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
CN112970262B (zh) * 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
WO2020098643A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
CN113170116A (zh) * 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 为帧内模式视频处理使用参考行
JP7319365B2 (ja) 2018-11-22 2023-08-01 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測のための調整方法
WO2020132556A2 (en) * 2018-12-21 2020-06-25 Vid Scale, Inc. Methods, architectures, apparatuses and systems directed to improved linear model estimation for template based video coding
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
US11431987B2 (en) 2019-01-08 2022-08-30 Tencent America LLC Method and apparatus for memory bandwidth reduction for small inter blocks
CN113475079A (zh) * 2019-02-01 2021-10-01 北京字节跳动网络技术有限公司 环路整形和帧内块复制之间的相互作用
KR20210118400A (ko) 2019-02-01 2021-09-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 루마 종속적 크로마 잔차 스케일링의 구성
CN113366846A (zh) 2019-02-02 2021-09-07 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区更新
MX2021008963A (es) 2019-02-02 2021-08-24 Beijing Bytedance Network Tech Co Ltd Manejo de bufer para copia intra-bloque en codificacion de video.
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
EP3915252A4 (en) 2019-03-04 2022-03-23 Beijing Bytedance Network Technology Co., Ltd. IMPLEMENTATION OF ASPECTS IN AN INTRA BLOCK COPY IN VIDEO ENCODING
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
CA3132485A1 (en) * 2019-03-12 2020-09-17 Tencent America LLC Method and apparatus for video encoding or decoding
KR20210134038A (ko) * 2019-03-13 2021-11-08 에스지 디제이아이 테크놀러지 코., 엘티디 비디오 처리 방법 및 기기
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020192614A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Restrictions on adaptive-loop filtering parameter sets
US11039150B2 (en) 2019-04-19 2021-06-15 Tencent America LLC Method and apparatus for video coding
WO2020229394A1 (en) * 2019-05-10 2020-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Matrix-based intra prediction
JP2022539468A (ja) 2019-07-06 2022-09-09 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための仮想予測バッファ
CN114175633B (zh) 2019-07-10 2023-12-29 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的样点标识
KR20220030957A (ko) 2019-07-11 2022-03-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약
WO2021027862A1 (en) * 2019-08-13 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Motion precision in sub-block based inter prediction
JP7481430B2 (ja) 2019-08-13 2024-05-10 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測における動き精度
CN114762330A (zh) 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
EP4078951A1 (en) * 2019-12-20 2022-10-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Factional sample interpolation for reference picture resampling
US11546592B2 (en) * 2020-01-08 2023-01-03 Tencent America LLC Flexible block partitioning for chroma component
KR20220161409A (ko) * 2020-03-31 2022-12-06 알리바바 그룹 홀딩 리미티드 팔레트 예측을 위한 방법
US20220286675A1 (en) * 2021-03-05 2022-09-08 Tencent America LLC Decoupled transform partitioning
US11838498B2 (en) 2021-06-28 2023-12-05 Tencent America LLC Harmonized design for intra bi-prediction and multiple reference line selection
US20230336748A1 (en) * 2022-04-19 2023-10-19 Tencent America LLC Chroma from luma prediction using mapping and different types
US20240031566A1 (en) * 2022-07-20 2024-01-25 Tencent America LLC Signaling of downsampling filters for chroma from luma intra prediction mode

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
KR100716791B1 (ko) * 2005-08-08 2007-05-14 삼성전기주식회사 이미지 압축디바이스 및 그 방법
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
US7545293B2 (en) * 2006-11-14 2009-06-09 Qualcomm Incorporated Memory efficient coding of variable length codes
US8432968B2 (en) * 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
EP2269379B1 (en) * 2008-04-11 2019-02-27 InterDigital Madison Patent Holdings Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
US20110002391A1 (en) * 2009-06-11 2011-01-06 Motorola, Inc. Digital image compression by resolution-adaptive macroblock coding
JP5234368B2 (ja) * 2009-09-30 2013-07-10 ソニー株式会社 画像処理装置および方法
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
PT3301648T (pt) * 2010-04-13 2020-04-20 Ge Video Compression Llc Herança em matriz de amostras em subdivisão multitree
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US9398308B2 (en) * 2010-07-28 2016-07-19 Qualcomm Incorporated Coding motion prediction direction in video coding
US9008175B2 (en) * 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US9288496B2 (en) * 2010-12-03 2016-03-15 Qualcomm Incorporated Video coding using function-based scan order for transform coefficients
GB2501836B (en) * 2011-03-09 2014-08-06 Canon Kk Video encoding
US11184623B2 (en) * 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
JP2013102305A (ja) * 2011-11-07 2013-05-23 Nippon Hoso Kyokai <Nhk> 画像復号装置、画像復号方法、プログラム及び画像符号化装置
KR20140098114A (ko) * 2011-11-07 2014-08-07 브이아이디 스케일, 인크. 홀수-짝수 정수 변환 백그라운드를 사용하는 비디오 및 데이터 처리
US9253487B2 (en) * 2012-05-31 2016-02-02 Qualcomm Incorporated Reference index for enhancement layer in scalable video coding
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding

Also Published As

Publication number Publication date
US20140294078A1 (en) 2014-10-02
CN105075259A (zh) 2015-11-18
KR20150139881A (ko) 2015-12-14
EP2979448A1 (en) 2016-02-03
WO2014160943A1 (en) 2014-10-02
EP2979448B1 (en) 2018-07-04
JP2016518052A (ja) 2016-06-20
US9491460B2 (en) 2016-11-08
CN105075259B (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
JP6342477B2 (ja) ビデオコーディング予測のためのメモリ削減
JP7186745B2 (ja) ビデオコーディングのための重複動き補償
JP7211816B2 (ja) イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング
JP7000565B2 (ja) ビデオコーディングのためのアフィン予測動き情報をコーディングすること
JP6746620B2 (ja) ビデオコーディングのための照明補償ステータスを決定するシステムおよび方法
CN109691102B (zh) 跨分量滤波器
JP7233218B2 (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
CN111567043B (zh) 对视频数据进行译码的方法、装置和计算机可读存储介质
CN107690810B (zh) 确定用于视频译码的照明补偿状态的系统及方法
US10687077B2 (en) Motion information propagation in video coding
JP6740243B2 (ja) ビデオコーディングにおける動きベクトル導出
JP2021182743A (ja) 復号器側動きベクトル導出によって導出された動きベクトル情報を制約すること
JP5989794B2 (ja) 適応型重複ブロック動き補償
JP5893729B2 (ja) 一体化されたマージモードおよび適応動きベクトル予測モード候補選択
JP2018142972A (ja) Bスライス中の予測ユニットの単方向インター予測への制限
US10542280B2 (en) Encoding optimization with illumination compensation and integer motion vector restriction
KR20200108432A (ko) 개선된 디코더측 모션 벡터 도출
US9491458B2 (en) Scalable video coding prediction with non-causal information
JP2018520581A (ja) スライスレベルのイントラブロックコピーおよび他のビデオコーディングの改善
JP2022521979A (ja) デコーダ側動きベクトル改良に対する制約
JP2015510358A (ja) Bスライス中の予測単位の単方向インター予測への制限

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180516

R150 Certificate of patent or registration of utility model

Ref document number: 6342477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250