JP6092222B2 - ビデオコード化のための動きベクトル決定 - Google Patents

ビデオコード化のための動きベクトル決定 Download PDF

Info

Publication number
JP6092222B2
JP6092222B2 JP2014530671A JP2014530671A JP6092222B2 JP 6092222 B2 JP6092222 B2 JP 6092222B2 JP 2014530671 A JP2014530671 A JP 2014530671A JP 2014530671 A JP2014530671 A JP 2014530671A JP 6092222 B2 JP6092222 B2 JP 6092222B2
Authority
JP
Japan
Prior art keywords
current
candidate list
pus
video
motion information
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
JP2014530671A
Other languages
English (en)
Other versions
JP2014526840A (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 JP2014526840A publication Critical patent/JP2014526840A/ja
Application granted granted Critical
Publication of JP6092222B2 publication Critical patent/JP6092222B2/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/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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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
    • 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

Description

本出願は、各々の内容全体が参照により本明細書に組み込まれる、2011年9月17日に出願された米国仮出願第61/535,964号、2011年11月29日に出願された米国仮出願第61/564,764号、及び2011年11月29日に出願された米国仮出願第61/564,799号の利益を主張する。
本開示は、ビデオコード化に関し、より詳細には、ビデオデータのフレーム間予測に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信、受信及び記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,Advanced Video Coding(AVC)によって定義された規格、現在開発中の高効率ビデオコード化(HEVC:High Efficiency Video Coding)規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的(イントラピクチャ)予測及び/又は時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライスが、ツリーブロック、コード化単位(CU:coding unit)及び/又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(P又はB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
概して、本開示では、ビデオデータを符号化及び復号するための技法について説明する。ビデオコーダは、マージモード又は高度動きベクトル予測(AMVP:advanced motion vector prediction)プロセスに従って、現在コード化単位(CU)の予測単位(PU:prediction unit)ごとに候補リストを生成する。ビデオコーダは、候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属する他のPUの動き情報を使用せずに生成されるように生成する。他のPUの動き情報に基づいて生成される候補は、他のPUの動き情報を示すオリジナル候補と、1つ又は複数の他のPUの動き情報から導出された動き情報を示す候補とを含み得る。PUのための候補リストを生成した後に、ビデオコーダは、PUの動き情報によって示された1つ又は複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。PUの動き情報は、PUのための候補リスト中の1つ又は複数の選択された候補によって示された動きベクトルに基づいて決定可能である。現在CUのPUのための候補リスト中の候補のいずれも現在CUの他のPUの動き情報を使用して生成されないので、ビデオコーダは、現在CUのPUの1つ又は複数について候補リストを並列に生成し得る。
本開示では、ビデオデータをコード化するための方法について説明する。本方法は、現在CUに属する複数のPU中のPUごとに、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属する他のPUの動き情報を使用せずに生成されるように生成することを備える。更に、本方法は、現在CUに属するPUごとに、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成することであって、PUの動き情報が、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、生成することを備える。
更に、本開示では、現在CUに属する複数のPU中のPUごとに、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属するPUのいずれかの動き情報を使用せずに生成されるように生成することを行うように構成された1つ又は複数のプロセッサを備えるビデオコード化機器について説明する。1つ又は複数のプロセッサは、現在CUに属するPUごとに、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成することであって、PUの動き情報が、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、生成することを行うように更に構成される。
更に、本開示では、現在CUに属する複数のPU中のPUごとに、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属するPUのいずれかの動き情報を使用せずに生成されるように生成するための手段を備えるビデオコード化機器について説明する。更に、ビデオコード化機器は、現在CUに属するPUごとに、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成するための手段であって、PUの動き情報が、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、生成するための手段を備える。
更に、本開示では、命令を記憶する1つ又は複数のコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、命令が、実行されたとき、現在CUに属する複数のPU中のPUごとに、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属するPUのいずれかの動き情報を使用せずに生成されるように生成することを行うように1つ又は複数のプロセッサを構成する、コンピュータプログラム製品について説明する。命令はまた、現在CUに属するPUごとに、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成することであって、PUの動き情報が、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、生成することを行うように1つ又は複数のプロセッサを構成する。
1つ又は複数の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【0011】
【図1】 本開示の技法を利用し得る例示的なビデオコード化システムを示すブロック図。
【図2】 本開示の技法を実施するように構成された例示的なビデオエンコーダを示すブロック図。
【図3】 本開示の技法を実施するように構成された例示的なビデオデコーダを示すブロック図。
【図4】 インター予測モジュールの例示的な構成を示すブロック図。
【図5】 例示的なマージ演算を示すフローチャート。
【図6】 例示的な高度動きベクトル予測(AMVP)演算を示すフローチャート。
【図7】 ビデオデコーダによって実行される例示的な動き補償演算を示すフローチャート。
【図8A】 コード化単位(CU)と、CUに関連する例示的な発信源位置とを示す概念図。
【図8B】 CUと、CUに関連する例示的な代替発信源位置とを示す概念図。
【図9A】 2N×N区分CUの左の例示的な参照インデックス発信源位置を示す概念図。
【図9B】 N×2N区分CUの左の例示的な参照インデックス発信源位置を示す概念図。
【図9C】 2N×N区分CUの上の例示的な参照インデックス発信源位置を示す概念図。
【図9D】 N×2N区分CUの上の例示的な参照インデックス発信源位置を示す概念図。
【図9E】 N×N区分CUの左の例示的な参照インデックス発信源位置を示す概念図。
【図9F】 N×N区分CUの上の例示的な参照インデックス発信源位置を示す概念図。
【図10A】 2N×N区分CUの左の例示的な参照インデックス発信源位置を示す概念図。
【図10B】 N×2N区分CUの左の例示的な参照インデックス発信源位置を示す概念図。
【図10C】 2N×N区分CUの上の例示的な参照インデックス発信源位置を示す概念図。
【図10D】 N×2N区分CUの上の例示的な参照インデックス発信源位置を示す概念図。
【図10E】 N×N区分CUの左の例示的な参照インデックス発信源位置を示す概念図。
【図10F】 N×N区分CU600の上の例示的な参照インデックス発信源位置を示す概念図
【図11】 PUのための時間候補を生成するための例示的な動作を示すフローチャート。
【図12】 PUのための候補リストを生成するための第1の例示的な動作を示すフローチャート。
【図13】 PUのための候補リストを生成するための第2の例示的な動作を示すフローチャート。
【図14A】 例示的なN×2N区分CUの左側PUに関連する例示的な空間候補発信源位置を示す概念図。
【図14B】 2N×N区分CUの下側PUに関連する例示的な空間候補発信源位置を示す概念図。
【図15A】 N×N区分CUのPUに関連する例示的な空間候補発信源位置を示す概念図。
【図15B】 N×N区分CUのPUに関連する例示的な空間候補発信源位置を示す概念図。
【図15C】 N×N区分CUのPUに関連する例示的な空間候補発信源位置を示す概念図。
【図15D】 N×N区分CUのPUに関連する例示的な空間候補発信源位置を示す概念図。
【発明を実施するための形態】
ビデオエンコーダが、ピクチャ間の時間的冗長性を低減するためにインター予測を実行し得る。以下で説明するように、コード化単位(CU)が複数の予測単位(PU)を有し得る。言い換えれば、複数のPUがCUに属し得る。ビデオエンコーダがインター予測を実行すると、ビデオエンコーダは、PUのための動き情報を信号伝達し得る。PUの動き情報は、参照ピクチャインデックスと、動きベクトルと、予測方向インジケータとを含み得る。動きベクトルは、PUのビデオブロックとPUの参照ブロックとの間の変位を示し得る。PUの参照ブロックは、PUのビデオブロックと同様である参照ピクチャの一部分であり得る。参照ブロックは、参照ピクチャインデックスと予測方向インジケータとによって示される参照ピクチャ中にあり得る。
PUの動き情報を表すために必要とされるビット数を低減するために、ビデオエンコーダは、マージモード又は高度動きベクトル予測(AMVP)プロセスに従ってPUの各々のための候補リストを生成し得る。PUのための候補リスト中の各候補は、動き情報を示し得る。候補リスト中の候補の幾つかによって示される動き情報は、他のPUの動き情報に基づき得る。例えば、候補リストは、指定された空間又は時間候補位置をカバーするPUの動き情報を示す「オリジナル」候補を含み得る。更に、幾つかの例では、候補リストは、異なるオリジナル候補からの部分動きベクトルを組み合わせることによって生成された候補を含み得る。更に、候補リストは、大きさ0を有する動きベクトルを示す候補など、他のPUの動き情報に基づいて生成されない「疑似(artificial)」候補を含み得る。
本開示の技法によれば、ビデオエンコーダは、CUのPUごとに、候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補がCUに属する他のPUの動き情報を使用せずに生成されるように生成し得る。候補リスト中の候補のいずれも同じCUの他のPUの動き情報を使用して生成されないので、ビデオエンコーダは、候補リストを並列に生成することが可能であり得る。候補リストを並列に生成することにより、ビデオエンコーダの実施が可能になり得る。幾つかの事例では、候補リストを並列に生成することは、候補リストを連続して生成することよりも速くなり得る。
CUのPUのための候補リストを生成した後に、ビデオエンコーダは、候補リストから候補を選択し、ビットストリームにおいて候補インデックスを出力し得る。候補インデックスは、候補リスト中の選択された候補の位置を示し得る。ビデオエンコーダはまた、PUの動き情報によって示された参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。PUの動き情報は、選択された候補によって示された動き情報に基づいて決定可能であり得る。例えば、マージモードでは、PUの動き情報は、選択された候補によって示された動き情報と同じであり得る。AMVPモードでは、PUの動き情報は、PUの動きベクトル差分と、選択された候補によって示された動き情報とに基づいて決定され得る。ビデオエンコーダは、CUのPUの予測ビデオブロックと、CUのためのオリジナルビデオブロックとに基づいて、CUのための1つ又は複数の残差ビデオブロックを生成し得る。ビデオエンコーダは、次いで、1つ又は複数の残差ビデオブロックを符号化し、ビットストリームにおいて出力し得る。
ビデオデコーダは、CUのPUの各々のための候補リストを生成し得る。本開示の技法によれば、ビデオデコーダは、PUの各々について、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補がCUに属する他のPUの動き情報を使用せずに生成されるように生成し得る。ビデオデコーダによってPUのために生成された候補リストは、ビデオエンコーダによってPUのために生成された候補リストと同じであり得る。ビデオデコーダは、候補リスト中の候補の各々をCUの他のPUの動き情報を使用せずに生成し得るので、ビデオデコーダは、候補リストを並列に生成することが可能であり得る。
ビットストリームは、PUの候補リスト中の選択された候補を識別するデータを含み得る。ビデオデコーダは、PUの候補リスト中の選択された候補によって示された動き情報に基づいてPUの動き情報を決定し得る。ビデオデコーダは、PUの動き情報に基づいて、PUのための1つ又は複数の参照ブロックを識別し得る。PUの1つ又は複数の参照ブロックを識別した後に、ビデオデコーダは、PUの1つ又は複数の参照ブロックに基づいてPUのための予測ビデオブロックを生成し得る。ビデオデコーダは、CUのPUのための予測ビデオブロックと、CUのための1つ又は複数の残差ビデオブロックとに基づいて、CUのためのビデオブロックを再構成し得る。
従って、本開示の技法は、ビデオコーダ(即ち、ビデオエンコーダ又はビデオデコーダ)が、現在CUに属する複数のPU中のPUごとに、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属する他のPUの動き情報を使用せずに生成されるように生成することを可能にし得る。ビデオコーダは、現在CUに属するPUごとに、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成し得、PUの動き情報は、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である。
説明を簡単にするために、本開示では、CU又はPUと様々な空間関係を有するとして、位置又はビデオブロックについて説明し得る。そのような説明は、位置又はビデオブロックが、CU又はPUに関連するビデオブロックに対して様々な空間関係を有することを意味すると解釈され得る。更に、本開示では、ビデオコーダが現在コード化しているPUを現在PUと呼ぶことがある。本開示では、ビデオコーダが現在コード化しているCUを現在CUと呼ぶことがある。本開示では、ビデオコーダが現在コード化しているピクチャを現在ピクチャと呼ぶことがある。
添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数ワード(例えば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。そうではなく、そのような順序を示す言葉は、同じ又は同様のタイプの異なる要素を指すために使用されるにすぎない。
図1は、本開示の技法を利用し得る例示的なビデオコード化システム10を示すブロック図である。本明細書で使用され説明される「ビデオコーダ」という用語は、総称的に、ビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、総称的に、ビデオ符号化とビデオ復号とを指し得る。
図1に示すように、ビデオコード化システム10は、発信源機器12と宛先機器14とを含む。発信源機器12は、符号化ビデオデータを生成する。従って、発信源機器12はビデオ符号化機器と呼ばれることがある。宛先機器14は、発信源機器12によって生成された符号化ビデオデータを復号し得る。従って、宛先機器14はビデオ復号機器と呼ばれることがある。発信源機器12及び宛先機器14はビデオコード化機器の例であり得る。
発信源機器12及び宛先機器14は、デスクトップコンピュータ、モバイルコンピュータ機器、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータなどを含む、多種多様な機器を備え得る。幾つかの例では、発信源機器12及び宛先機器14は、ワイヤレス通信のために装備され得る。
宛先機器14は、チャネル16を介して発信源機器12から符号化ビデオデータを受信し得る。チャネル16は、発信源機器12から宛先機器14に符号化ビデオデータを移動することが可能な、あるタイプの媒体又は機器を備え得る。一例では、チャネル16は、発信源機器12が符号化ビデオデータを宛先機器14にリアルタイムで直接送信することを可能にする通信媒体を備え得る。この例では、発信源機器12は、ワイヤレス通信プロトコルなどの通信規格に従って、符号化ビデオデータを変調し得、変調されたビデオデータを宛先機器14に送信し得る。通信媒体は、高周波(RF)スペクトル又は1つ又は複数の物理伝送線路のような、ワイヤレス通信媒体又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器12から宛先機器14への通信を可能にする、ルータ、スイッチ、基地局、又は他の機器を含み得る。
別の例では、チャネル16は、発信源機器12によって生成された符号化ビデオデータを記憶する、記憶媒体に対応し得る。この例では、宛先機器14は、ディスクアクセス又はカードアクセスを介して、記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、又は符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、種々のローカルにアクセスされるデータ記憶媒体を含み得る。さらなる例では、チャネル16は、発信源機器12によって生成された符号化ビデオを記憶する、ファイルサーバ又は別の中間記憶機器を含み得る。この例では、宛先機器14は、ストリーミング又はダウンロードを介して、ファイルサーバ又は他の中間記憶機器に記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器14に送信することとが可能な、あるタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)機器、及びローカルディスクドライブを含む。宛先機器14は、インターネット接続を含む、標準のデータ接続を介して符号化ビデオデータにアクセスし得る。データ接続の例示的なタイプは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適な、ワイヤレスチャネル(例えば、Wi−Fi接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、又は両方の組合せを含み得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はその両方の組合せであり得る。
本開示の技法は、ワイヤレス適用例又は設定には限定されない。本技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、ビデオコード化システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話などの適用例をサポートするために、単方向又は2方向のビデオ送信をサポートするように構成され得る。
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含み得る。発信源機器12において、ビデオ発信源18は、例えばビデオカメラなどのビデオキャプチャ機器、以前に撮影されたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、及び/又はビデオデータを生成するためのコンピュータグラフィックスシステムなどの発信源、若しくはそのような発信源の組合せを含み得る。
ビデオエンコーダ20は、撮影された、事前撮影された、又はコンピュータ生成されたビデオデータを符号化し得る。符号化ビデオデータは、発信源機器12の出力インターフェース22を介して宛先機器14に直接送信され得る。符号化ビデオデータは、復号及び/又は再生のために、宛先機器14によって後でアクセスするために、記憶媒体又はファイルサーバ上に記憶され得る。
図1の例では、宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、表示装置32とを含む。場合によっては、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先機器14の入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信する。符号化ビデオデータは、ビデオデータを表す、ビデオエンコーダ20によって生成された種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
表示装置32は、宛先機器14と一体化され得るか、又はその外部にあり得る。幾つかの例では、宛先機器14は、一体型表示装置を含み得、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器14は表示装置であり得る。一般に、表示装置32は、復号されたビデオデータをユーザに表示する。表示装置32は、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置など、種々の表示装置のいずれかを備え得る。
ビデオエンコーダ20及びビデオデコーダ30は、現在開発中の高効率ビデオコード化(HEVC)規格などのビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。「HEVC Working Draft 7」又は「WD7」と呼ばれる今度のHEVC規格の最近のドラフトは、文書JCTVC−I1003_d54、Brossら、「High efficiency video coding (HEVC) text specification draft 7」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding (JCT−VC)、第9回会合:Geneva、Switzerland、2012年5月に記載されおり、この文書は、2012年7月19日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zipからダウンロード可能であり、この文書は、参照によりその内容全体が本明細書に組み込まれる。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG-4,Part 10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格又は業界規格、若しくはそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格又は技法にも限定されない。ビデオ圧縮規格及び技法の他の例としては、VP8及び関係するフォーマットなどMPEG−2、ITU−T H.263及びプロプライエタリ又はオープン発信源圧縮フォーマットがある。
図1の例には示されていないが、ビデオエンコーダ20及びビデオデコーダ30は各々、オーディオエンコーダ及びオーディオデコーダと統合され得、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
この場合も、図1は例にすぎず、本開示の技法は、符号化機器と復号機器との間のデータ通信を必ずしも含むとは限らないビデオコード化設定(例えば、ビデオ符号化又はビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。符号化機器がデータを符号化し、メモリに記憶し得、及び/又は復号機器がメモリからデータを取り出し、復号し得る。多くの例では、符号化及び復号は、互いに通信しないが、メモリにデータを符号化し、及び/又はメモリからデータを取り出し、復号するだけである機器によって実行される。
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、又はそれらの任意の組合せとして実施され得る。本技法が部分的にソフトウェアで実施されるとき、機器は、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、1つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
上で手短に述べたように、ビデオエンコーダ20は、ビデオデータを符号化する。ビデオデータは、1つ又は複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。幾つかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ20はビデオデータを符号化すると、ビデオエンコーダ20は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと関連データとを含み得る。コード化ピクチャは、ピクチャのコード化表現である。
ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ20がピクチャに対して符号化演算を実行すると、ビデオエンコーダ20は、一連のコード化ピクチャと関連するデータとを生成し得る。関連するデータは、シーケンスパラメータセットと、ピクチャパラメータセットと、適応パラメータセットと、他のシンタックス構造とを含み得る。シーケンスパラメータセット(SPS)は、ピクチャの0個以上のシーケンスに適用可能なパラメータを含み得る。ピクチャパラメータセット(PPS)は、0個以上のピクチャに適用可能なパラメータを含み得る。適応パラメータセット(APS)は、0個以上のピクチャに適用可能なパラメータを含み得る。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
コード化ピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの2次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連する。幾つかの事例では、ツリーブロックは最大コード化単位(LCU)と呼ばれることがある。HEVCのツリーブロックは、H.264/AVCなど、従来の規格のマクロブロックに広い意味で類似し得る。但し、ツリーブロックは、特定のサイズに必ずしも限定されるものではなく、1つ又は複数のコード化単位(CU)を含み得る。ビデオエンコーダ20は、4分木区分を使用して、ツリーブロックのビデオブロックを、CUに関連するビデオブロックに区分し得るので、「ツリーブロック」という名前である。
幾つかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスに区分し得る。スライスの各々は整数個のCUを含み得る。幾つかの例では、スライスは整数個のツリーブロックを備える。他の例では、スライスの境界はツリーブロック内にあり得る。
ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ20がスライスに対して符号化演算を実行すると、ビデオエンコーダ20は、スライスに関連する符号化データを生成し得る。スライスに関連する符号化データは「コード化スライス」と呼ばれることがある。
コード化スライスを生成するために、ビデオエンコーダ20は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化演算を実行すると、ビデオエンコーダ20は、コード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
ビデオエンコーダ20がコード化スライスを生成すると、ビデオエンコーダ20は、ラスタ走査順序に従ってスライス中の(この場合、最大コード化単位を表す)ツリーブロックに対して符号化演算を実行(即ち、符号化)し得る。言い換えれば、ビデオエンコーダ20は、スライス中のツリーブロックの最上行にわたって左から右に進む順序で、スライスのツリーブロックを符号化し得、次いで、ツリーブロックの次の下の行にわたって左から右に進み、ビデオエンコーダ20がスライス中のツリーブロックの各々を符号化するまで以下同様に行う。
ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上及び左のツリーブロックは符号化され得るが、所与のツリーブロックの下及び右のツリーブロックはまだ符号化されていない。従って、ビデオエンコーダ20は、所与のツリーブロックを符号化するときに、所与のツリーブロックの上及び左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。但し、ビデオエンコーダ20は、所与のツリーブロックを符号化するときに、所与のツリーブロックの下及び右のツリーブロックを符号化することによって生成された情報にアクセスすることが不可能であり得る。
コード化ツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックのビデオブロックに対して4分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるCUに関連し得る。例えば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つ又は複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分CUは、ビデオブロックが、他のCUに関連するビデオブロックに区分されたCUであり得る。非区分CUは、ビデオブロックが、他のCUに関連するビデオブロックに区分されていないCUであり得る。
ビットストリーム中の1つ又は複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分し得る最大回数を示し得る。CUのビデオブロックは、正方形の形状であり得る。CUのビデオブロックのサイズ(即ち、CUのサイズ)は、8×8画素から、最大で64×64以上の画素をもつツリーブロックのビデオブロックのサイズ(即ち、ツリーブロックのサイズ)にまでわたり得る。
ビデオエンコーダ20は、z走査順序に従って、ツリーブロックの各CUに対して符号化演算を実行(即ち、符号化)し得る。言い換えれば、ビデオエンコーダ20は、その順序で、左上CU、右上CU、左下CU、次いで右下CUを符号化し得る。ビデオエンコーダ20が区分CUに対して符号化演算を実行するとき、ビデオエンコーダ20は、z走査順序に従って、区分CUのビデオブロックのサブブロックに関連するCUを符号化し得る。言い換えれば、ビデオエンコーダ20は、その順序で、左上サブブロックに関連するCU、右上サブブロックに関連するCU、左下サブブロックに関連するCU、次いで、右下サブブロックに関連するCUを符号化し得る。
z走査順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、上及び左、上及び右、左、並びに下及び左のCUは符号化され得る。所与のCUの下又は右のCUは、まだ符号化されていない。従って、ビデオエンコーダ20は、所与のCUを符号化するときに、所与のCUに隣接する幾つかのCUを符号化することによって生成された情報にアクセスすることが可能であり得る。但し、ビデオエンコーダ20は、所与のCUを符号化するときに、所与のCUに隣接する他のCUを符号化することによって生成された情報にアクセスすることが不可能であり得る。
ビデオエンコーダ20は非区分CUを符号化するとき、ビデオエンコーダ20は、CUのための1つ又は複数の予測単位(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックに関連し得る。ビデオエンコーダ20は、CUの各PUのための予測ビデオブロックを生成し得る。PUの予測ビデオブロックはサンプルのブロックであり得る。ビデオエンコーダ20は、イントラ予測又はインター予測を使用して、PUのための予測ビデオブロックを生成し得る。
ビデオエンコーダ20はイントラ予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUに関連するピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはイントラ予測されたCUである。ビデオエンコーダ20はインター予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUに関連するピクチャ以外の1つ又は複数のピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がインター予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはインター予測されたCUである。
更に、ビデオエンコーダ20はインター予測を使用してPUのための予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUのための動き情報を生成し得る。PUのための動き情報は、PUの1つ又は複数の参照ブロックを示し得る。PUの各参照ブロックは、参照ピクチャ内のビデオブロックであり得る。参照ピクチャは、PUに関連するピクチャ以外のピクチャであり得る。幾つかの事例では、PUの参照ブロックはPUの「参照サンプル」とも呼ばれることがある。ビデオエンコーダ20は、PUの参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
ビデオエンコーダ20がCUの1つ又は複数のPUのための予測ビデオブロックを生成した後、ビデオエンコーダ20は、CUのPUのための予測ビデオブロックに基づいて、CUのための残差データを生成し得る。CUの残差データは、CUのPUのための予測ビデオブロック中のサンプルと、CUのオリジナルビデオブロック中のサンプルとの間の差を示し得る。
更に、非区分CUに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、CUの残差データに対して再帰的な4分木区分を実行して、CUの残差データを、CUの変換ユニット(TU)に関連する残差データの1つ又は複数のブロック(即ち、残差ビデオブロック)に区分し得る。CUの各TUは、異なる残差ビデオブロックに関連し得る。
ビデオコーダ20は、TUに関連する残差ビデオブロックに1つ又は複数の変換を適用して、TUに関連する変換係数ブロック(即ち、変換係数のブロック)を生成し得る。概念的には、変換係数ブロックは、変換係数の2次元(2D)行列であり得る。
変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行う処理を指す。量子化プロセスは、変換係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられ得、但し、nはmよりも大きい。
ビデオエンコーダ20は、各CUを、量子化パラメータ(QP)値に関連付け得る。CUに関連するQP値は、ビデオエンコーダ20が、CUに関連する変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ20は、CUに関連するQP値を調整することによって、CUに関連する変換係数ブロックに適用される量子化の程度を調整し得る。
ビデオエンコーダ20は変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数ブロック中の変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ20は、これらのシンタックス要素の一部に、コンテキスト適応型バイナリ算術コード化(CABAC)演算など、エントロピー符号化演算を適用し得る。
ビデオエンコーダ20によって生成されるビットストリームは、一連のネットワーク抽象化レイヤ(NAL)単位を含み得る。NAL単位の各々は、NAL単位中のデータのタイプの指示と、データを含むバイトとを含むシンタックス構造であり得る。例えば、NAL単位は、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報(SEI:supplemental enhancement information)、アクセス単位デリミタ(access unit delimiter)、フィラーデータ(filler data)、又は別のタイプのデータを表すデータを含み得る。NAL単位中のデータは、様々なシンタックス構造を含み得る。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ30がビットストリームを受信すると、ビデオデコーダ30は、ビットストリームに対して構文解析演算を実行し得る。ビデオデコーダ30が構文解析演算を実行すると、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。
ビデオデコーダ30はCUに関連するシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、CUのPUのための予測ビデオブロックを生成し得る。更に、ビデオデコーダ30は、CUのTUに関連する変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、変換係数ブロックに対して逆変換を実行して、CUのTUに関連する残差ビデオブロックを再構成し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ30は、予測ビデオブロックと残差ビデオブロックとに基づいて、CUのビデオブロックを再構成し得る。このようにして、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構成し得る。
上記で手短に説明したように、ビデオエンコーダ20はインター予測を使用して、CUのPUのための予測ビデオブロック及び動き情報を生成し得る。多くの場合、所与のPUの動き情報は、1つ又は複数の近くのPU(即ち、ビデオブロックが所与のPUのビデオブロックに空間的に又は時間的に近くにあるPU)の動き情報と同じ又は同様である可能性がある。近くのPUが同様の動き情報を頻繁に有するので、ビデオエンコーダ20は近くのPUの動き情報を参照して所与のPUの動き情報を符号化し得る。近くのPUの動き情報を参照して所与のPUの動き情報を符号化することにより、所与のPUの動き情報を示すためにビットストリーム中で必要とされるビット数が低減され得る。
ビデオエンコーダ20は、様々な方法で、近くのPUの動き情報を参照して所与のPUの動き情報を符号化し得る。例えば、ビデオエンコーダ20は、所与のPUの動き情報が近くのPUの動き情報と同じであることを示し得る。本開示は、所与のPUの動き情報が近くのPUの動き情報と同じであること、又は近くのPUの動き情報から導出され得ることを示すことを指すために、「マージモード(merge mode)」という句を使用し得る。別の例では、ビデオエンコーダ20は、所与のPUのための動きベクトル差分(MVD)を計算し得る。MVDは、所与のPUの動きベクトルと近くのPUの動きベクトルとの間の差を示す。この例では、ビデオエンコーダ20は、所与のPUの動きベクトルの代わりに、MVDを所与のPUの動き情報中に含め得る。MVDを表すために、所与のPUの動きベクトルよりも少ないビットがビットストリームにおいて必要とされ得る。本開示では、このように所与のPUの動き情報を信号伝達(signaling)することを指すために、「高度動きベクトル予測(advanced motion vector prediction)」(AMVP)モードという句を使用し得る。
マージモード又はAMVPモードを使用して所与のPUの動き情報を信号伝達するために、ビデオエンコーダ20は、所与のPUのための候補リストを生成し得る。候補リストは1つ又は複数の候補を含み得る。所与のPUのための候補リスト中の候補の各々は、動き情報を指定し得る。候補によって示される動き情報は、動きベクトル、参照ピクチャインデックス、及び予測方向インジケータを含み得る。他のPUが、所与のPUに関連するCUに属さないとすれば、候補リスト中の候補は、所与のPU以外のPUの動き情報に基づく(例えば、動き情報を示す、動き情報から導出されたなど)候補を含み得る。
PUのための候補リストを生成した後に、ビデオエンコーダ20は、PUのための候補リストから候補のうちの1つを選択し得る。ビデオエンコーダ20は、PUのための候補インデックスを出力し得る。候補インデックスは、選択された候補についての候補リスト中の位置を識別し得る。
更に、ビデオエンコーダ20は、PUの動き情報によって示された参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。PUの動き情報は、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能であり得る。例えば、マージモードでは、PUの動き情報は、選択された候補によって示された動き情報と同じであり得る。AMVPモードでは、PUの動き情報は、PUの動きベクトル差分と、選択された候補によって示された動き情報とに基づいて決定可能であり得る。上記で説明したように、ビデオエンコーダ20は、PUのための予測ビデオブロックを処理し得る。
ビデオデコーダ30がビットストリームを受信すると、ビデオデコーダ30は、CUのPUの各々のための候補リストを生成し得る。ビデオデコーダ30によってPUのために生成された候補リストは、ビデオエンコーダ20によってPUのために生成された候補リストと同じであり得る。ビットストリームからパースされたシンタックスは、PUの候補リスト中の選択された候補の位置を示し得る。PUのための候補リストを生成した後に、ビデオデコーダ30は、PUの動き情報によって示された1つ又は複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。ビデオデコーダ30は、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて、PUの動き情報を決定し得る。ビデオデコーダ30は、PUのための予測ビデオブロックと、CUのための残差ビデオブロックとに基づいて、CUのためのビデオブロックを再構成し得る。
第2のPUの動き情報を参照して第1のPUの動き情報を符号化することにより、第1のPUの動き情報を示すためにビットストリームにおいて必要とされるビット数が低減され得るが、そうすることにより、ビデオエンコーダ20は第2のPUの動き情報を符号化するまで、ビデオエンコーダ20は第1のPUの動き情報を符号化することを妨げられ得る。従って、ビデオエンコーダ20は、第1のPUの動き情報と第2のPUの動き情報とを並列に符号化することが不可能であり得る。複数のPUの動き情報を並列に符号化する能力は、ビデオエンコーダ20のスループットを増加させ得る。
同様に、第2のPUの動き情報を参照して第1のPUの動き情報を符号化することにより、ビデオデコーダ30は第2のPUの動き情報を決定するまで、ビデオデコーダ30は第1のPUの動き情報を決定することを妨げられ得る。従って、ビデオデコーダ30は、第1のPUのための予測ブロックと第2のPUのための予測ブロックとを並列に生成することが不可能であり得る。複数のPUの動き情報を並列に復号する能力は、ビデオデコーダ30のスループットを増加させ得る。
本開示の技法によれば、ビデオエンコーダ20及びビデオデコーダ30は、CUのPUごとに、候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成されるPUのための候補リスト中の各候補が同じCUの他のPUの動き情報を使用せずに生成されるように生成し得る。候補は同じCUの他のPUの動き情報を使用して生成されないので、ビデオエンコーダ20は、CUの複数のPUの動き情報を並列に符号化し得る。候補は同じCUの他のPUの動き情報を使用して生成されないので、ビデオデコーダ30は、CUの複数のPUの動き情報を並列に復号し得る。これにより、ビデオエンコーダ20がビデオデータを符号化し得る速度、及びビデオデコーダ30がビデオデータを復号し得る速度が増加し得る。
このようにして、ビデオコーダ(即ち、ビデオエンコーダ20又はビデオデコーダ30)は、現在CUに属する複数のPU中のPUごとに、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が現在CUに属する他のPUの動き情報を使用せずに生成されるように生成し得る。ビデオコーダは、現在CUに属するPUごとに、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成し得、PUの動き情報は、PUのための候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である。
図2は、本開示の技法を実施するように構成された例示的なビデオエンコーダ20を示すブロック図である。図2は、説明のために与えられており、本開示において広く例示され説明される技法を限定するものと見なされるべきではない。説明のために、本開示では、HEVCコード化のコンテキストにおいて、ビデオエンコーダ20について説明する。但し、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
図2の例では、ビデオエンコーダ20は、複数の機能構成要素を含む。ビデオエンコーダ20の機能構成要素は、予測モジュール100と、残差生成モジュール102と、変換モジュール104と、量子化モジュール106と、逆量子化モジュール108と、逆変換モジュール110と、再構成モジュール112と、フィルタモジュール113と、復号ピクチャバッファ114と、エントロピー符号化モジュール116とを含む。予測モジュール100は、インター予測モジュール121と、動き推定モジュール122と、動き補償モジュール124と、イントラ予測モジュール126とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、又は異なる機能構成要素を含み得る。更に、動き推定モジュール122と動き補償モジュール124は、高度に統合され得るが、図2の例では、説明のために別々に表されている。
ビデオエンコーダ20は、ビデオデータを受信し得る。ビデオエンコーダ20は、様々な発信源からビデオデータを受信し得る。例えば、ビデオエンコーダ20は、ビデオ発信源18(図1)又は別の発信源からビデオデータを受信し得る。ビデオデータは、一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化演算を実行し得る。
ツリーブロックに対して符号化演算を実行することの一部として、予測モジュール100は、ツリーブロックのビデオブロックに対して4分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は、異なるCUに関連し得る。例えば、予測モジュール100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つ又は複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
CUに関連するビデオブロックのサイズは、8×8サンプルから、最大で64×64以上のサンプルをもつツリーブロックのサイズにまでわたり得る。本開示では、「N×N(NxN)」及び「N×N(N by N)」は、垂直方向の寸法及び水平方向の寸法に関するビデオブロックのサンプルの寸法、例えば、16×16(16x16)サンプル又は16×16(16 by 16)サンプルを指すために交換可能に使用され得る。一般に、16×16のビデオブロックは、垂直方向に16個のサンプルを有し(y=16)、水平方向に16個のサンプルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にN個のサンプルを有し、水平方向にN個のサンプルを有し、Nは非負整数値を表す。
更に、ツリーブロックに対して符号化演算を実行することの一部として、予測モジュール100は、ツリーブロックのための階層4分木データ構造を生成し得る。例えば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測モジュール100が、ツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックの1つに関連するCUに対応する。予測モジュール100が、サブブロックのうちの1つを4つのサブサブブロックに区分する場合、サブブロックに関連するCUに対応するノードは、サブサブブロックのうちの1つに関連するCUに各々が対応する4つの子ノードを有し得る。
4分木データ構造の各ノードは、対応するツリーブロック又はCUのためのシンタックスデータ(例えば、シンタックス要素)を含み得る。例えば、4分木中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分される(即ち、分割される)かどうかを示す分割フラグ(split flag)を含み得る。CUのためのシンタックス要素は、再帰的に定義され得、CUのビデオブロックがサブブロックに分割されるかどうかに依存し得る。ビデオブロックが区分されていないCUは、4分木データ構造中のリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロックのための4分木データ構造に基づくデータを含み得る。
ビデオエンコーダ20は、ツリーブロックの各非区分CUに対して符号化演算を実行し得る。ビデオエンコーダ20が非区分CUに対して符号化演算を実行するとき、ビデオエンコーダ20は、非区分CUの符号化表現を表すデータを生成する。
CUに対して符号化演算を実行することの一部として、予測モジュール100は、CUの1つ又は複数のPUの間で、CUのビデオブロックを区分し得る。ビデオエンコーダ20及びビデオデコーダ30は、様々な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サイズに対する非対称区分もサポートし得る。幾つかの例では、予測モジュール100は、CUのビデオブロックの辺に正しい角度で接触しない境界に沿ったCUのPUの間で、CUのビデオブロックを区分するように、幾何学的な区分を実行し得る。
インター予測モジュール121は、CUの各PUに対してインター予測を実行し得る。インター予測は時間圧縮を行い得る。PUに対してインター予測を実行するために、動き推定モジュール122は、PUのための動き情報を生成し得る。動き補償モジュール124は、動き情報と、CUに関連するピクチャ以外のピクチャ(即ち、参照ピクチャ)の復号されたサンプルとに基づいて、PUのための予測ビデオブロックを生成し得る。
スライスは、Iスライス、Pスライス、又はBスライスであり得る。動き推定モジュール122及び動き補償モジュール124は、PUがIスライス中にあるのか、Pスライス中にあるのか、Bスライス中にあるのかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライス中では、全てのPUがイントラ予測される。従って、PUがIスライス中にある場合、動き推定モジュール122及び動き補償モジュール124は、PUに対してインター予測を実行しない。
PUがPスライス中にある場合、PUを含むピクチャは、「リスト0」と呼ばれる参照ピクチャのリストに関連する。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定モジュール122は、Pスライス中のPUに関して動き推定演算を実行するとき、動き推定モジュール122は、PUの参照サブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、例えば、サンプルのブロックであり得る。動き推定モジュール122は、種々のメトリックを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。例えば、動き推定モジュール122は、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを決定し得る。
Pスライス中のPUの参照ブロックを識別した後、動き推定モジュール122は、参照ブロックを含んでいるリスト0中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例では、動き推定モジュール122は、動きベクトルを可変の精度で生成し得る。例えば、動き推定モジュール122は、1/4サンプル精度、1/8サンプル精度、又は他の分数のサンプル精度で、動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定モジュール122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償モジュール124は、PUの動き情報によって識別された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
PUがBスライス中にある場合、PUを含んでいるピクチャは、「リスト0」及び「リスト1」と呼ばれる参照ピクチャの2つのリストに関連し得る。幾つかの例では、Bスライスを含んでいるピクチャは、リスト0とリスト1の組合せである、リストの組合せに関連し得る。
更に、PUがBスライス中にある場合、動き推定モジュール122は、PUについての単方向予測又は双方向予測を実行し得る。動き推定モジュール122は、PUについての単方向予測を実行するとき、動き推定モジュール122は、PUの参照ブロックについて、リスト0又はリスト1の参照ピクチャを探索し得る。動き推定モジュール122は、次いで、参照ブロックを含んでいる、リスト0又はリスト1中の参照ピクチャを示す参照インデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定モジュール122は、PUの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト0中の参照ピクチャを示すのか、リスト1中の参照ピクチャを示すのかを示し得る。動き補償モジュール124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
動き推定モジュール122は、PUについての双方向予測を実行するとき、動き推定モジュール122は、PUの参照ブロックについて、リスト0中の参照ピクチャを探索し得、また、PUの別の参照ブロックについて、リスト1中の参照ピクチャを探索し得る。動き推定モジュール122は、次いで、参照ブロックを含んでいる、リスト0及びリスト1中の参照ピクチャを示す参照インデックスと、参照ブロックとPUとの間の空間変位を示す動きベクトルとを生成し得る。動き推定モジュール122は、PUの動き情報として、参照インデックスとPUの動きベクトルとを出力し得る。動き補償モジュール124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
幾つかの例では、動き推定モジュール122は、PUのための動き情報のフルセットをエントロピー符号化モジュール116に出力しない。そうではなく、動き推定モジュール122は、別のPUの動き情報を参照して、PUの動き情報を信号伝達し得る。例えば、動き推定モジュール122は、PUの動き情報が、隣接するPUの動き情報と十分に類似していると決定し得る。この例では、動き推定モジュール122は、PUに関連するシンタックス構造において、PUが隣接PUと同じ動き情報を有すること、又は近隣PUから導出され得る動き情報を有することを、ビデオデコーダ30に対して示す値を示し得る。別の例では、動き推定モジュール122は、PUに関連するシンタックス構造において、隣接するPUに関連する動き候補と動きベクトル差分(MVD)とを識別し得る。動きベクトル差分は、PUの動きベクトルと、示された動き候補の動きベクトルとの間の差を示す。ビデオデコーダ30は、示された動き候補の動きベクトルと、動きベクトル差分とを使用して、PUの動きベクトルを決定し得る。第2のPUの動き情報を信号伝達するときに第1のPUに関連する動き候補の動き情報を参照することによって、ビデオエンコーダ20は、より少数のビットを使用して、第2のPUの動き情報を信号伝達することが可能になり得る。
図4〜図6及び図8〜図15に関して以下で説明するように、インター予測モジュール121は、CUのPUごとに候補リストを生成し得る。インター予測モジュール121は、各候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が、CUに属するPUのうちのいずれかの動き情報を使用せずに生成されるように生成し得る。従って、インター予測モジュール121は、CUの2つ以上のPUのための候補リストを並列に生成することが可能であり得る。インター予測モジュール121がCUの2つ以上のPUのための候補リストを並列に生成することが可能であり得るので、インター予測モジュール121は、CUのPUのうちの2つ以上のための予測ビデオブロックを並列に生成することが可能であり得る。更に、このようにCUのPUごとに候補リストを生成することによって、ビデオエンコーダ20は、ビデオデコーダ(例えば、ビデオデコーダ30)がCUの2つ以上のPUのための候補リストを並列に生成することと、CUの2つ以上のPUのための予測ビデオブロックを並列に生成することとを可能にし得る。
CUに対して符号化演算を実行することの一部として、イントラ予測モジュール126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は空間圧縮を行い得る。イントラ予測モジュール126がPUに対してイントラ予測を実行するとき、イントラ予測モジュール126は、同じピクチャ中の他のPUの復号されたサンプルに基づいて、PUの予測データを生成し得る。PUの予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測モジュール126は、Iスライス、Pスライス、及びBスライス中のPUに対して、イントラ予測を実行し得る。
PUに対してイントラ予測を実行するために、イントラ予測モジュール126は、複数のイントラ予測モードを使用して、PUの予測データの複数のセットを生成し得る。イントラ予測モジュール126が、イントラ予測モードを使用してPUの予測データのセットを生成するとき、イントラ予測モジュール126は、イントラ予測モードに関連する方向及び/又は勾配に、近隣PUのビデオブロックからPUのビデオブロックにわたってサンプルを延ばし得る。PU、CU及びツリーブロックについて左から右、上から下の符号化順を仮定すると、隣接PUは、PUの上、上及び右、上及び左、又は左にあり得る。イントラ予測モジュール126は、様々な数のイントラ予測モード、例えば、33方向イントラ予測モードを使用し得る。幾つかの例では、イントラ予測モードの数はPUのサイズに依存し得る。
予測モジュール100は、PUについての、動き補償モジュール124によって生成された予測データ、又はPUについての、イントラ予測モジュール126によって生成された予測データの中から、PUの予測データを選択し得る。幾つかの例では、予測モジュール100は、予測データのセットのレート/歪みメトリックに基づいて、PUの予測データを選択する。
予測モジュール100が、イントラ予測モジュール126によって生成された予測データを選択する場合、予測モジュール100は、PUの予測データを生成するのに使用されたイントラ予測モード、即ち、選択されたイントラ予測モードを信号伝達し得る。予測モジュール100は、選択されたイントラ予測モードを様々な方法で信号伝達し得る。例えば、選択されたイントラ予測モードは、隣接するPUのイントラ予測モードと同じであることがある。言い換えると、隣接するPUのイントラ予測モードは、現在PUに対して最もあり得るモードであり得る。従って、予測モジュール100は、選択されたイントラ予測モードが隣接するPUのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
予測モジュール100がCUのPUの予測データを選択した後、残差生成モジュール102は、CUのビデオブロックからCUのPUの予測ビデオブロックを減じることによって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの様々なサンプル成分に対応する、2D残差ビデオブロックを含み得る。例えば、残差データは、CUのPUの予測ビデオブロック中のサンプルのルミナンス成分と、CUのオリジナルビデオブロック中のサンプルのルミナンス成分との間の差に対応する、残差ビデオブロックを含み得る。更に、CUの残差データは、CUのPUの予測ビデオブロック中のサンプルのクロミナンス成分と、CUのオリジナルビデオブロック中のサンプルのクロミナンス成分との間の差に対応する、残差ビデオブロックを含み得る。
予測モジュール100は、4分木区分を実行して、CUの残差ビデオブロックをサブブロックに区分し得る。各未分割残差ビデオブロックは、CUの異なるTUに関連し得る。CUのTUに関連する残差ビデオブロックのサイズ及び位置は、CUのPUに関連するビデオブロックのサイズ及び位置に基づくことも、基づかないこともある。「残差4分木」(RQT:residual quad tree)として知られる4分木構造は、残差ビデオブロックの各々に関連するノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
変換モジュール104は、TUに関連する残差ビデオブロックに1つ又は複数の変換を適用することによって、CUの各TUのための1つ又は複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換モジュール104は、TUに関連する残差ビデオブロックに様々な変換を適用し得る。例えば、変換モジュール104は、離散コサイン変換(DCT)、方向変換、又は概念的に同様の変換を、TUに関連する残差ビデオブロックに適用し得る。
変換モジュール104が、TUに関連する変換係数ブロックを生成した後、量子化モジュール106は、変換係数ブロック中の変換係数を量子化し得る。量子化モジュール106は、CUに関連するQP値に基づいて、CUのTUに関連する変換係数ブロックを量子化し得る。
ビデオエンコーダ20は、様々な方法でQP値をCUに関連付け得る。例えば、ビデオエンコーダ20は、CUに関連するツリーブロックに対して、レート歪み分析を実行し得る。レート歪み分析では、ビデオエンコーダ20は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ20がツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ20は、異なるQP値をCUに関連付け得る。所与のQP値が、ビットレート及び歪みメトリックが最小であるツリーブロックのコード化表現でCUに関連するとき、ビデオエンコーダ20は、所与のQP値がCUに関連することを信号伝達し得る。
逆量子化モジュール108及び逆変換モジュール110は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを再構成し得る。再構成モジュール112は、再構成された残差ビデオブロックを、予測モジュール100によって生成された1つ又は複数の予測ビデオブロックからの対応するサンプルに追加して、TUに関連する再構成されたビデオブロックを生成し得る。このようにCUの各TUのビデオブロックを再構成することによって、ビデオエンコーダ20は、CUのビデオブロックを再構成し得る。
再構成モジュール112がCUのビデオブロックを再構成した後、フィルタモジュール113は、デブロッキング動作を実行して、CUに関連するビデオブロックにおけるブロック歪み(blocking artifacts)を低減し得る。1つ又は複数のデブロッキング動作を実行した後、フィルタモジュール113は、復号ピクチャバッファ114にCUの再構成されたビデオブロックを記憶し得る。動き推定モジュール122及び動き補償モジュール124は、再構成されたビデオブロックを含む参照ピクチャを使用して、後続ピクチャのPUに対してインター予測を実行し得る。更に、イントラ予測モジュール126は、復号ピクチャバッファ114中の再構成されたビデオブロックを使用して、CUと同じピクチャ中の他のPUに対してイントラ予測を実行し得る。
エントロピー符号化モジュール116は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化モジュール116は、量子化モジュール106から変換係数ブロックを受信し得、予測モジュール100からシンタックス要素を受信し得る。エントロピー符号化モジュール116がデータを受信するとき、エントロピー符号化モジュール116は、1つ又は複数のエントロピー符号化演算を実行して、エントロピー符号化データを生成し得る。例えば、ビデオエンコーダ20は、コンテキスト適応型可変長コード化(CAVLC:context adaptive variable length coding)演算、CABAC演算、可変長対可変長コード化演算(variable-to-variable (V2V) length coding operation)、シンタックスベースコンテキスト適応型二値算術コード化(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE:probability interval partitioning entropy)コード化演算、又は別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化モジュール116は、エントロピー符号化データを含むビットストリームを出力し得る。
データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化モジュール116は、コンテキストモデルを選択し得る。エントロピー符号化モジュール116がCABAC演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。CABACのコンテキストでは、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すのに使用される。
図3は、本開示の技法を実施するように構成された例示的なビデオデコーダ30を示すブロック図である。図3は、説明を目的に与えられており、本開示において広く例示され説明される技法に対する限定ではない。説明のために、本開示では、HEVCコード化のコンテキストにおいて、ビデオデコーダ30について説明する。但し、本開示の技法は、他のコード化規格又は方法に適用可能であり得る。
図3の例では、ビデオデコーダ30は、複数の機能構成要素を含む。ビデオデコーダ30の機能構成要素は、エントロピー復号モジュール150と、予測モジュール152と、逆量子化モジュール154と、逆変換モジュール156と、再構成モジュール158と、フィルタモジュール159と、復号ピクチャバッファ160とを含む。予測モジュール152は、動き補償モジュール162と、イントラ予測モジュール164とを含む。幾つかの例では、ビデオデコーダ30は、図2のビデオエンコーダ20に関して説明された符号化パス(encoding pass)とは概して逆の復号パス(decoding pass)を実行し得る。他の例では、ビデオデコーダ30は、より多数の、より少数の、又は異なる機能構成要素を含み得る。
ビデオデコーダ30は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは、複数のシンタックス要素を含み得る。ビデオデコーダ30がビットストリームを受信すると、エントロピー復号モジュール150は、ビットストリームに対して構文解析演算(parsing operations)を実行し得る。ビットストリームに対して構文解析演算を実行した結果として、エントロピー復号モジュール150は、ビットストリームからシンタックス要素を抽出し得る。構文解析演算を実行することの一部として、エントロピー復号モジュール150は、ビットストリーム中のエントロピー符号化シンタックス要素を、エントロピー復号し得る。予測モジュール152、逆量子化モジュール154、逆変換モジュール156、再構成モジュール158、及びフィルタモジュール159は、ビットストリームから抽出されたシンタックス要素に基づいて復号されたビデオデータを生成する、再構成動作を実行し得る。
上記で説明したように、ビットストリームは、一連のNAL単位を備え得る。ビットストリームのNAL単位は、シーケンスパラメータセットNAL単位、ピクチャパラメータセットNAL単位、SEI NAL単位などを含み得る。ビットストリームに対して構文解析演算を実行することの一部として、エントロピー復号モジュール150は、シーケンスパラメータセットNAL単位からのシーケンスパラメータセット、ピクチャパラメータセットNAL単位からのピクチャパラメータセット、SEI NAL単位からのSEIデータなどを抽出し、エントロピー復号する構文解析演算を実行し得る。
更に、ビットストリームのNAL単位は、コード化スライスNAL単位を含み得る。ビットストリームに対して構文解析演算を実行することの一部として、エントロピー復号モジュール150は、コード化スライスNAL単位からコード化スライスを抽出し、エントロピー復号する構文解析演算を実行し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャに関連するピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号モジュール150は、コード化スライスヘッダ中のシンタックス要素に対して、CABAC復号演算などのエントロピー復号演算を実行して、スライスヘッダを回復し得る。
コード化スライスNAL単位からスライスデータを抽出することの一部として、エントロピー復号モジュール150は、スライスデータ中のコード化CUからシンタックス要素を抽出する構文解析演算を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連するシンタックス要素を含み得る。エントロピー復号モジュール150は、次いで、シンタックス要素のうちの幾つかに対してCABAC復号演算を実行し得る。
エントロピー復号モジュール150が非区分CUに対して構文解析演算を実行した後、ビデオデコーダ30は、非区分CUに対して再構成動作を実行し得る。非区分CUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行し得る。CUの各TUに対して再構成動作を実行することによって、ビデオデコーダ30は、CUに関連する残差ビデオブロックを再構成し得る。
TUに対して再構成動作を実行することの一部として、逆量子化モジュール154は、TUに関連する変換係数ブロックを逆量子化、即ち、量子化解除し得る。逆量子化モジュール154は、HEVCのために提案される、又はH.264復号規格によって定義される逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化モジュール154は、量子化の程度を決定し、同様に、逆量子化モジュール154が適用すべき逆量子化の程度を決定するための、変換係数ブロックのCUのためにビデオエンコーダ20によって計算される量子化パラメータQPを使用し得る。
逆量子化モジュール154が変換係数ブロックを逆量子化した後、逆変換モジュール156は、変換係数ブロックに関連するTUの残差ビデオブロックを生成し得る。逆変換モジュール156は、TUの残差ビデオブロックを生成するために、逆変換を変換係数ブロックに対して適用し得る。例えば、逆変換モジュール156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向変換、又は別の逆変換を変換係数ブロックに適用し得る。
幾つかの例では、逆変換モジュール156は、ビデオエンコーダ20からの信号伝達に基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換モジュール156は、変換係数ブロックに関連するツリーブロックの4分木のルートノードにおいて信号伝達された変換に基づいて、逆変換を決定し得る。他の例では、逆変換モジュール156は、ブロックサイズ、コード化モードなど、1つ又は複数のコード化特性から逆変換を推論し得る。幾つかの例では、逆変換モジュール156はカスケード逆変換を適用し得る。
インター予測を使用してCUのPUが符号化された場合、動き補償モジュール162は、PUのための候補リストを生成し得る。本開示の技法によれば、動き補償モジュール162は、PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が同じCUに属する他のPUの動き情報を使用せずに生成されるように生成し得る。ビットストリームは、PUの候補リスト中の選択された候補の一部を識別するデータを含み得る。PUのための候補リストを生成した後に、動き補償モジュール162は、PUの動き情報によって示された1つ又は複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。PUの参照サンプルは、PUとは異なる時間ピクチャ中にあり得る。動き補償モジュール162は、PUの候補リスト中の選択された候補によって示された動き情報に基づいてPUの動き情報を決定し得る。
幾つかの例では、動き補償モジュール162は、補間フィルタに基づく補間を実行することによって、PUの予測ビデオブロックを改善し得る。サブサンプル精度をもつ動き補償に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償モジュール162は、PUの予測ビデオブロックの生成中にビデオエンコーダ20によって使用されるのと同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルに対する補間される値を算出し得る。動き補償モジュール162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを判定し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
イントラ予測を使用してPUが符号化される場合、イントラ予測モジュール164は、イントラ予測を実行して、PUの予測ビデオブロックを生成し得る。例えば、イントラ予測モジュール164は、ビットストリーム中のシンタックス要素に基づいて、PUのイントラ予測モードを決定し得る。ビットストリームは、PUのイントラ予測モードを決定するためにイントラ予測モジュール164が使用し得る、シンタックス要素を含み得る。
幾つかの例では、シンタックス要素は、イントラ予測モジュール164が別のPUのイントラ予測モードを使用して、現在PUのイントラ予測モードを決定すべきであることを示し得る。例えば、現在PUのイントラ予測モードが、隣接するPUのイントラ予測モードと同じであることがあり得る。言い換えると、隣接するPUのイントラ予測モードは、現在PUに対して最もあり得るモードであり得る。従って、この例では、ビットストリームは、PUのイントラ予測モードが、隣接するPUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測モジュール164は、次いで、イントラ予測モードを使用して、空間的に隣接するPUのビデオブロックに基づいて、PUの予測データ(例えば、予測サンプル)を生成し得る。
再構成モジュール158は、適用可能なとき、CUのTUと関連する残差ビデオブロックと、CUのPUの予測ビデオブロックとを使用して、即ち、イントラ予測データ又はインター予測データのいずれかを使用して、CUのビデオブロックを再構成し得る。従って、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
再構成モジュール158がCUのビデオブロックを再構成した後、フィルタモジュール159は、デブロッキング動作を実行して、CUに関連するブロック歪みを低減し得る。フィルタモジュール159がデブロッキング動作を実行して、CUに関連するブロック歪みを低減した後、ビデオデコーダ30は、復号ピクチャバッファ160にCUのビデオブロックを記憶し得る。復号ピクチャバッファ160は、後続の動き補償、イントラ予測、及び図1の表示装置32などの表示装置上での提示のために、参照ピクチャを与え得る。例えば、ビデオデコーダ30は、復号ピクチャバッファ160中のビデオブロックに基づいて、他のCUのPUに対して、イントラ予測演算又はインター予測演算を実行し得る。
図4は、インター予測モジュール121の例示的な構成を示す概念図である。インター予測モジュール121は、複数の区分モードに従って現在CUをPUに区分し得る。例えば、インター予測モジュール121は、2N×2N、2N×N、N×2N、及びN×N区分モードに従って現在CUをPUに区分し得る。
インター予測モジュール121は、PUの各々に対して整数動き推定(IME:integer motion estimation)を実行し、次いで、分数動き推定(FME:fractional motion estimation)を実行し得る。インター予測モジュール121がPUに対してIMEを実行するとき、インター予測モジュール121は、PUの参照ブロックのための1つ又は複数の参照ピクチャを探索し得る。PUの参照ブロックを発見した後に、インター予測モジュール121は、整数精度で、PUとPUの参照ブロックとの間の空間変位を示す動きベクトルを生成し得る。インター予測モジュール121がPUに対してFMEを実行するとき、インター予測モジュール121は、PUに対してIMEを実行することによって生成された動きベクトルを改善し得る。PUに対してFMEを実行することによって生成された動きベクトルは、サブ整数精度(例えば、1/2画素精度、1/4画素精度など)を有し得る。PUの動きベクトルを生成した後に、インター予測モジュール121は、PUの動きベクトルを使用して、PUのための予測ビデオブロックを生成し得る。
インター予測モジュール121がAMVPモードを使用してPUの動き情報を信号伝達する幾つかの例では、インター予測モジュール121は、PUのための候補リストを生成し得る。候補リストは、他のPUの動き情報に基づいて生成された1つ又は複数の候補を含み得る。例えば、候補リストは、他のPUの動き情報を示すオリジナル候補、及び/又は1つ又は複数の他のPUの動き情報から導出された動き情報を示す候補を含み得る。PUのための候補リストを生成した後に、インター予測モジュール121は、候補リストから候補を選択し、PUのための動きベクトル差分(MVD)を生成し得る。PUのためのMVDは、選択された候補によって示された動きベクトルと、IME及びFMEを使用してPUのために生成された動きベクトルとの間の差を示し得る。そのような例では、インター予測モジュール121は、選択された候補の候補リスト中の位置を識別する候補インデックスを出力し得る。インター予測モジュール121はまた、PUのMVDを出力し得る。以下で詳細に説明する図6は、例示的なAMVP演算を示す。
PUに対してIME及びFMEを実行することによってPUのための動き情報を生成することに加えて、インター予測モジュール121は、PUの各々に対してマージ演算を実行し得る。インター予測モジュール121がPUに対してマージ演算を実行するとき、インター予測モジュール121はPUのための候補リストを生成し得る。PUのための候補リストは1つ又は複数のオリジナル候補を含み得る。候補リスト中のオリジナル候補は、1つ又は複数の空間候補と時間候補とを含み得る。空間候補は、現在ピクチャ中の他のPUの動き情報を示し得る。時間候補は、現在ピクチャ以外のピクチャの同一位置配置のPU(collocated PU)の動き情報に基づき得る。時間候補はまた、時間動きベクトル予測子(TMVP)と呼ばれることもある。
候補リストを生成した後に、インター予測モジュール121は、候補リストから候補のうちの1つを選択し得る。インター予測モジュール121は、次いで、PUの動き情報によって示された参照ブロックに基づいてPUのための予測ビデオブロックを生成し得る。マージモードでは、PUの動き情報は、選択された候補によって示された動き情報と同じであり得る。以下で説明する図5は、例示的なマージ演算を示すフローチャートである。
IME及びFMEに基づいてPUのための予測ビデオブロックを生成した後に、及びマージ演算に基づいてPUのための予測ビデオブロックを生成した後に、インター予測モジュール121は、FME演算によって生成された予測ビデオブロック又はマージ演算によって生成された予測ビデオブロックを選択し得る。幾つかの例では、インター予測モジュール121は、FME演算によって生成された予測ビデオブロック及びマージ演算によって生成された予測ビデオブロックのレート/歪み分析に基づいて、PUのための予測ビデオブロックを選択し得る。
インター予測モジュール121が、区分モードの各々に従って現在CUを区分することによって生成されたPUのための予測ビデオブロックを選択した後に、インター予測モジュール121は、現在CUのための区分モードを選択し得る。幾つかの例では、インター予測モジュール121は、区分モードの各々に従って現在CUを区分することによって生成されたPUのための選択された予測ビデオブロックのレート/歪み分析に基づいて、現在CUのための区分モードを選択し得る。インター予測モジュール121は、選択された区分モードに属するPUに関連する予測ビデオブロックを残差生成モジュール102に出力し得る。インター予測モジュール121は、選択された区分モードに属するPUの動き情報を示すシンタックス要素をエントロピー符号化モジュール116に出力し得る。
図4の例では、インター予測モジュール121は、IMEモジュール180A〜180N(集合的に、「IMEモジュール180」)と、FMEモジュール182A〜182N(集合的に、「FMEモジュール182」)と、マージモジュール184A〜184N(集合的に、「マージモジュール184」)と、PUモード決定モジュール186A〜186N(集合的に、「PUモード決定モジュール186」)と、CUモード決定モジュール188とを含む。
IMEモジュール180、FMEモジュール182、及びマージモジュール184は、現在CUのPUに対してIME演算、FME演算、及びマージ演算を実行し得る。図4の例は、インター予測モジュール121が、CUの各区分モードのPUごとに別個のIMEモジュール180、FMEモジュール182、及びマージモジュール184を含むとして示している。他の例では、インター予測モジュール121は、CUの各区分モードのPUごとに別個のIMEモジュール180、FMEモジュール182、及びマージモジュール184を含まない。
図4の例に示すように、IMEモジュール180A、FMEモジュール182A、及びマージモジュール184Aは、2N×2N区分モードに従ってCUを区分することによって生成されたPUに対してIME演算、FME演算、及びマージ演算を実行し得る。PUモード決定モジュール186Aは、IMEモジュール180A、FMEモジュール182A、及びマージモジュール184Aによって生成された予測ビデオブロックのうちの1つを選択し得る。
IMEモジュール180B、FMEモジュール182B、及びマージモジュール184Bは、N×2N区分モードに従ってCUを区分することによって生成された左側PUに対してIME演算、FME演算、及びマージ演算を実行し得る。PUモード決定モジュール186Bは、IMEモジュール180B、FMEモジュール182B、及びマージモジュール184Bによって生成された予測ビデオブロックのうちの1つを選択し得る。
IMEモジュール180C、FMEモジュール182C、及びマージモジュール184Cは、N×2N区分モードに従ってCUを区分することによって生成された右側PUに対してIME演算、FME演算、及びマージ演算を実行し得る。PUモード決定モジュール186Cは、IMEモジュール180C、FMEモジュール182C、及びマージモジュール184Cによって生成された予測ビデオブロックのうちの1つを選択し得る。
IMEモジュール180N、FMEモジュール182N、及びマージモジュール184は、N×N区分モードに従ってCUを区分することによって生成された右下PUに対してIME演算、FME演算、及びマージ演算を実行し得る。PUモード決定モジュール186Nは、IMEモジュール180N、FMEモジュール182N、及びマージモジュール184Nによって生成された予測ビデオブロックのうちの1つを選択し得る。
PUモード決定モジュール186が現在CUのPUのための予測ビデオブロックを選択した後、CUモード決定モジュール188は、現在CUのための区分モードを選択し、選択された区分モードに属するPUの予測ビデオブロックと動き情報とを出力する。
図5は、例示的なマージ演算200を示すフローチャートである。ビデオエンコーダ20などのビデオエンコーダは、マージ演算200を実行し得る。他の例では、ビデオエンコーダは、マージ演算200以外のマージ演算を実行し得る。例えば、他の例では、ビデオエンコーダは、ビデオエンコーダがマージ演算200よりも多数の、少数の、又は異なるステップを実行する、マージ演算を実行し得る。他の例では、ビデオエンコーダは、マージ演算200のステップを異なる順序で、又は並列に実行し得る。エンコーダはまた、スキップモードで符号化されたPUに対してマージ演算200を実行し得る。
ビデオエンコーダがマージ演算200を開始した後、ビデオエンコーダは、現在PUのための候補リストを生成する(202)。ビデオエンコーダは、様々な方法で現在PUのための候補リストを生成し得る。例えば、ビデオエンコーダは、図8〜図15に関して以下で説明する例示的な技法のうちの1つに従って現在PUのための候補リストを生成し得る。
上記で手短に説明したように、現在PUのための候補リストは時間候補を含み得る。時間候補は、同一位置配置のPUの動き情報を示し得る。同一位置配置のPUは、現在PUと空間的に同一位置に配置され得るが、現在ピクチャではなく参照ピクチャ中にある。本開示では、同一位置配置のPUを含む参照ピクチャを関係する参照ピクチャと呼ぶことがある。本開示では、関係する参照ピクチャの参照ピクチャインデックスを関係する参照ピクチャインデックスと呼ぶことがある。上記で説明したように、現在ピクチャは、参照ピクチャの1つ又は複数のリスト、例えば、リスト0、リスト1などに関連し得る。参照ピクチャインデックスは、参照ピクチャのリストのうちの1つの中の参照ピクチャの位置を示すことによって参照ピクチャを示し得る。幾つかの例では、現在ピクチャは複合参照ピクチャリストに関連し得る。
一部の従来のビデオエンコーダでは、関係する参照ピクチャインデックスは、現在PUに関連する参照インデックス発信源位置をカバーするPUの参照ピクチャインデックスである。そのような従来のビデオエンコーダでは、現在PUに関連する参照インデックス発信源位置は、現在PUのすぐ左、又は現在PUのすぐ上にある。本開示では、PUに関連するビデオブロックが特定の位置を含む場合、PUは特定の位置を「カバー」し得る。そのような従来のビデオエンコーダでは、参照インデックス発信源位置が利用可能でない場合、ビデオエンコーダは0の参照ピクチャインデックスを使用し得る。
しかしながら、現在PUに関連する参照インデックス発信源位置が現在CU内にある場合があり得る。そのような場合、このPUが現在CUの上、又は左にある場合、現在PUに関連する参照インデックス発信源位置をカバーするPUは利用可能であると見なされ得る。しかしながら、ビデオエンコーダは、同一位置配置のPUを含んでいる参照ピクチャを決定するために現在CUの別のPUの動き情報にアクセスする必要があり得る。従って、そのような従来のビデオエンコーダは、現在PUのための時間候補を生成するために現在CUに属するPUの動き情報(即ち、参照ピクチャインデックス)を使用し得る。言い換えれば、そのような従来のビデオエンコーダは、現在CUに属するPUの動き情報を使用して時間候補を生成し得る。従って、ビデオエンコーダは、現在PUのための候補リストと、現在PUに関連する参照インデックス発信源位置をカバーするPUのための候補リストとを並列に生成することができないことがある。
本開示の技法によれば、ビデオエンコーダは、他のPUの参照ピクチャインデックスと無関係に、関係する参照ピクチャインデックスを明示的に設定し得る。これにより、ビデオエンコーダは、現在CUの現在PU及び他のPUのための候補リストを並列に生成することが可能になり得る。ビデオエンコーダは、関係する参照ピクチャインデックスを明示的に設定するので、関係する参照ピクチャインデックスは、現在CUの他のPUの動き情報に基づかない。ビデオエンコーダが、関係する参照ピクチャインデックスを明示的に設定する幾つかの例では、ビデオエンコーダは、常に、関係する参照ピクチャインデックスを、0などの予め定義された固定デフォルト参照ピクチャインデックスに設定し得る。このようにして、ビデオエンコーダは、デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成し得、時間候補を現在CUの候補リスト中に含め得る。
ビデオエンコーダが、関係する参照ピクチャインデックスを明示的に設定する例では、ビデオエンコーダは、ピクチャヘッダ、スライスヘッダ、APS、又は別のシンタックス構造など、シンタックス構造中で、関係する参照ピクチャインデックスを明示的に信号伝達し得る。この例では、ビデオエンコーダは、あらゆるLCU、CU、PU、TU又は他のタイプのサブブロックのための関係する参照ピクチャインデックスを信号伝達し得る。例えば、ビデオエンコーダは、CUの各PUのための関係する参照ピクチャインデックスが「1」に等しいことを信号伝達し得る。
幾つかの例では、図9A〜9F及び図10A〜Fに関して以下で説明するものなど、関係する参照ピクチャインデックスは、明示的ではなく暗黙的に設定され得る。そのような例では、ビデオエンコーダは、現在CU外の位置が厳密には現在PU(即ち、現在CUのPU)に隣接しない場合でも、そのような位置をカバーするPUの参照ピクチャインデックスによって示された参照ピクチャ中のPUの動き情報を使用して、現在CUのPUのための候補リスト中の各時間候補を生成し得る。
現在PUのための候補リストを生成した後に、ビデオエンコーダは、候補リスト中の候補に関連する予測ビデオブロックを生成する(204)。ビデオエンコーダは、示された候補の動き情報に基づいて現在PUの動き情報を決定し、次いで、現在PUの動き情報によって示された1つ又は複数の参照ブロックに基づいて予測ビデオブロックを生成することによって、候補に関連する予測ビデオブロックを生成し得る。ビデオエンコーダは、次いで、候補リストから候補のうちの1つを選択する(206)。ビデオエンコーダは、様々な方法で候補を選択し得る。例えば、ビデオエンコーダは、候補に関連する予測ビデオブロックの各々に対するレート/歪み分析に基づいて候補のうちの1つを選択し得る。
候補を選択した後に、ビデオエンコーダは候補インデックスを出力する(208)。候補インデックスは、候補リスト中の選択された候補の位置を示し得る。幾つかの例では、候補インデックスは「merge_idx」として示され得る。
図6は、例示的なAMVP演算210を示すフローチャートである。ビデオエンコーダ20などのビデオエンコーダは、AMVP演算210を実行し得る。図6は、AMVP演算の一例にすぎない。
ビデオエンコーダがAMVP演算210を開始した後、ビデオエンコーダは、現在PUのための1つ又は複数の動きベクトルを生成する(211)。ビデオエンコーダは、整数動き推定と分数動き推定とを実行して、現在PUのための動きベクトルを生成し得る。上記で説明したように、現在ピクチャは、2つの参照ピクチャリスト、リスト0とリスト1とに関連し得る。現在PUが単方向予測された場合、ビデオエンコーダは、現在PUのためのリスト0動きベクトル又はリスト1動きベクトルを生成し得る。リスト0動きベクトルは、現在PUのビデオブロックと、リスト0中の参照ピクチャ中の参照ブロックとの間の空間変位を示し得る。リスト1動きベクトルは、現在PUのビデオブロックと、リスト1中の参照ピクチャ中の参照ブロックとの間の空間変位を示し得る。現在PUが双方向予測された場合、ビデオエンコーダは、現在PUのためのリスト0動きベクトルとリスト1動きベクトルとを生成し得る。
現在PUのための1つ又は複数の動きベクトルを生成した後に、ビデオエンコーダは、現在PUのための予測ビデオブロックを生成する(212)。ビデオエンコーダは、現在PUのための1つ又は複数の動きベクトルによって示された1つ又は複数の参照ブロックに基づいて現在PUのための予測ビデオブロックを生成し得る。
更に、ビデオエンコーダは、現在PUのための候補リストを生成する(213)。少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補が、現在CUに属する他のPUの動き情報を使用せずに生成される。ビデオコーダは、様々な方法で現在PUのための候補リストを生成し得る。例えば、ビデオエンコーダは、図8〜図15に関して以下で説明する例示的な技法のうちの1つ又は複数に従って現在PUのための候補リストを生成し得る。幾つかの例では、AMVP演算210においてビデオエンコーダが候補リストを生成するとき、候補リストは2つの候補に限定され得る。対照的に、マージ演算においてビデオエンコーダが候補リストを生成するとき、候補リストはより多くの候補(例えば、5つの候補)を含み得る。
現在PUのための候補リストを生成した後に、ビデオエンコーダは、候補リスト中の候補ごとに1つ又は複数の動きベクトル差分(MVD)を生成する(214)。ビデオエンコーダは、候補によって示された動きベクトルと現在PUの対応する動きベクトルとの間の差を決定することによって、候補のための動きベクトル差分を生成し得る。
現在PUが単方向予測される場合、ビデオエンコーダは、各候補について単一のMVDを生成し得る。現在PUが双方向予測される場合、ビデオエンコーダは、各候補について2つのMVDを生成し得る。第1のMVDは、候補の動きベクトルと現在PUのリスト0動きベクトルとの間の差を示し得る。第2のMVDは、候補の動きベクトルと現在PUのリスト1動きベクトルとの間の差を示し得る。
ビデオエンコーダは、候補リストから候補のうちの1つ又は複数を選択する(215)。ビデオエンコーダは、様々な方法で1つ又は複数の候補を選択し得る。例えば、ビデオエンコーダは、候補のための動きベクトル差分を表すために必要とされるビット数に基づいて、候補のうちの1つを選択し得る。
1つ又は複数の候補を選択した後に、ビデオエンコーダは、現在PUのための1つ又は複数の参照ピクチャインデックスと、1つ又は複数の候補インデックスと、1つ又は複数の選択された候補のための1つ又は複数の動きベクトル差分とを出力する(216)。
現在ピクチャが2つの参照ピクチャリスト、リスト0とリスト1とに関連し、現在PUが単方向予測される事例では、ビデオエンコーダは、リスト0のための参照ピクチャインデックス(「ref_idx_l0」)又はリスト1のための参照ピクチャインデックス(「ref_idx_l1」)を出力し得る。ビデオエンコーダはまた、現在PUのリスト0動きベクトルの選択された候補の候補リスト中の位置を示す候補インデックス(「mvp_l0_flag」)を出力し得る。代替的に、ビデオエンコーダは、現在PUのリスト1動きベクトルの選択された候補の候補リスト中の位置を示す候補インデックス(「mvp_l1_flag」)を出力し得る。ビデオエンコーダはまた、現在PUのリスト0動きベクトル又はリスト1動きベクトルについてのMVDを出力し得る。
現在ピクチャが2つの参照ピクチャリスト、リスト0とリスト1とに関連し、現在PUが双方向予測される事例では、ビデオエンコーダは、リスト0のための参照ピクチャインデックス(「ref_idx_l0」)又はリスト1のための参照ピクチャインデックス(「ref_idx_l1」)を出力し得る。ビデオエンコーダはまた、現在PUのリスト0動きベクトルの選択された候補の候補リスト中の位置を示す候補インデックス(「mvp_l0_flag」)を出力し得る。更に、ビデオエンコーダは、現在PUのリスト1動きベクトルの選択された候補の候補リスト中の位置を示す候補インデックス(「mvp_l1_flag」)を出力し得る。ビデオエンコーダはまた、現在PUのリスト0動きベクトルについてのMVDと、現在PUのリスト1動きベクトルについてのMVDとを出力し得る。
図7は、ビデオデコーダ30などのビデオデコーダによって実行される例示的な動き補償演算220を示すフローチャートである。図7は、1つの例示的な動き補償演算にすぎない。
ビデオデコーダが動き補償演算220を実行するとき、ビデオデコーダは、現在PUのための選択された候補の指示を受信する(222)。例えば、ビデオデコーダは、現在PUの候補リスト内の選択された候補の位置を示す候補インデックスを受信し得る。
現在PUの動き情報がAMVPモードを使用して符号化され、現在PUが双方向予測される場合、ビデオデコーダは、第1の候補インデックスと第2の候補インデックスとを受信し得る。第1の候補インデックスは、現在PUのリスト0動きベクトルの選択された候補の候補リスト中の位置を示す。第2の候補インデックスは、現在PUのリスト1動きベクトルの選択された候補の候補リスト中の位置を示す。
更に、ビデオデコーダは、現在PUのための候補リストを生成する(224)。本開示の技法によれば、ビデオデコーダは、候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される候補リスト中の各候補がCUに属する他のPUの動き情報を使用せずに生成されるように生成し得る。ビデオデコーダは、様々な方法で現在PUのためのそのような候補リストを生成し得る。例えば、ビデオデコーダは、現在PUのための候補リストを生成するために、図8〜図15に関して以下で説明する技法を使用し得る。ビデオデコーダが候補リストのための時間候補を生成するとき、図5に関して上記で説明したように、ビデオデコーダは、同一位置配置のPUを含む参照ピクチャを識別する参照ピクチャインデックスを明示的に、又は暗黙的に設定し得る。
幾つかの例では、ビデオエンコーダ又はビデオデコーダなどのビデオコーダは、PUサイズ、PU形状、PUインデックス、隣接ビデオブロックに関する情報、及び/又は他の情報に基づいて、CUのための候補リストのサイズを適応させ得る。隣接ビデオブロックに関する情報は、隣接ビデオブロックの予測モード、隣接ビデオブロックの動きベクトル、隣接ビデオブロックの動きベクトル差分、隣接ビデオブロックの参照ピクチャインデックス、隣接ビデオブロックの予測方向、隣接ビデオブロックの変換係数、及び/又は隣接ビデオブロックに関する他の情報を含み得る。例えば、2N×Nモードの場合のCUについて、第1のPU内に位置する第2のPUのためのオリジナル候補は、候補リストから削除され得る。その結果、この場合、第2のPUのための候補リストのサイズは、第1のPUのための候補リストのサイズよりも小さくなり得る。
幾つかの例では、ビデオコーダは、PUサイズ、PU形状、PUインデックス、隣接ビデオブロックに関する情報、及び/又は他の情報に基づいて、PUのための候補リストの順序を適応させ得る。隣接ビデオブロックに関する情報は、隣接ビデオブロックの予測モード、隣接ビデオブロックの動きベクトル、隣接ビデオブロックの動きベクトル差分、隣接ビデオブロックの参照ピクチャインデックス、隣接ビデオブロックの予測方向、隣接ビデオブロックの変換係数、及び/又は隣接ビデオブロックに関する他の情報を含み得る。例えば、マージ候補リストが現在CU外のPUの動き情報に基づいて生成されるとき、候補リスト中の候補の順序はPUごとに調整され得る。PUから更に離れて位置する候補の場合、リスト中のそれらの順序は、PUにより近い候補に対して低くされ得る。その結果、候補の同じセットを使用してPUごとに候補リストが形成されるが、それらの候補に対してPU位置が異なるので、リスト中の候補の順序はCU中のPUごとに異なり得る。
現在PUのための候補リストを生成した後に、ビデオデコーダは、現在PUのための候補リスト中の1つ又は複数の選択された候補によって示された動き情報に基づいて現在PUの動き情報を決定する(225)。例えば、現在PUの動き情報がマージモードを使用して符号化される場合、現在PUの動き情報は、選択された候補によって示される動き情報と同じであり得る。現在PUの動き情報がAMVPモードを使用して符号化される場合、ビデオデコーダは、選択された1つ又は複数の候補によって示された1つ又は複数の動きベクトルと、ビットストリーム中で示された1つ又は複数のMVDとを使用して、現在PUの1つ又は複数の動きベクトルを再構成し得る。現在PUの(1つ又は複数の)参照ピクチャインデックス及び(1つ又は複数の)予測方向インジケータは、1つ又は複数の選択された候補の(1つ又は複数の)参照ピクチャインデックス及び(1つ又は複数の)予測方向インジケータと同じであり得る。
現在PUの動き情報を決定した後に、ビデオデコーダは、現在PUの動き情報によって示された1つ又は複数の参照ブロックに基づいて、現在PUのための予測ビデオブロックを生成する(226)。
図8A及び図8Bでは、CUの全てのPUは、2N×2N PUのマージ候補リストと同等であり得る単一のマージ候補リストを共有する。従って、図8A及び図8Bでは、ビデオコーダは、現在CUのPUの全てによって共有されるマージ候補リストを生成し得る。このようにして、現在CUは、2N×2N区分モード以外の選択された区分モード(例えば、2N×N、N×2N、N×Nなど)に従って複数のPUに区分され得、PUの各々の動き情報は、マージ候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である。ビデオコーダは、CUが2N×2Nモードで区分された場合と同様の方法で複数のPUのための共有マージリストを生成し得る。言い換えれば、マージ候補リストは、現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである。そのような方式の1つの利点は、CUがいくつのPUを有するかにかかわらず、各CUについて、ただ1つのマージリストが生成され得ることであり得る。更に、そのような方式に基づいて、同じCU中の異なるPUのための動き推定が並列に行われ得る。この例では、CUが2N×2N区分モードに従って区分された場合と同様の方法で、CUの全てのPUによって共有されるマージリストが生成され得る。図8A及び図8Bは、マージ候補リストが現在CUのPUの動き情報を使用せずに生成され、同じマージ候補リストが現在CUの全てのPUによって共有される例である。
図8Aは、CU250と、CU250に関連する例示的な発信源位置252A〜Eとを示す概念図である。本開示では、発信源位置252A〜252Eを集合的に発信源位置252と呼ぶことがある。発信源位置252AはCU250の左に位置する。発信源位置252BはCU250の上に位置する。発信源位置252CはCU250の右上に位置する。発信源位置252DはCU250の左下に位置する。発信源位置252EはCU250の左上に位置する。発信源位置252の各々はCU250の外にある。
CU250は1つ又は複数のPUを含み得る。ビデオコーダは、発信源位置252をカバーするPUの動き情報に基づいてCU250のPUの各々のための動き候補を生成し得る。このようにして、ビデオコーダは、CU250のPUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される各候補がCU250に属する他のPUの動き情報を使用せずに生成されるように生成し得る。このようにCU250のPUのための候補リストを生成することにより、ビデオコーダは、CU250の複数のPUの候補リストを並列に生成することが可能になり得る。
図8Bは、CU260と、CU260に関連する例示的な発信源位置262A〜Gとを示す概念図である。本開示では、発信源位置262A〜Gを集合的に発信源位置262と呼ぶことがある。図8Bの例は、CU260が図8Aに示すように5つの発信源位置ではなく7つの発信源位置に関連することを除いて、図8Aの例と同様である。図8Bの例では、ビデオコーダは、発信源位置262をカバーする1つ又は複数のPUの動き情報に基づいて、CU260のPUごとに候補リストを生成し得る。
図9Aは、2N×N区分CU300の左の例示的な参照インデックス発信源位置を示す概念図である。PU302及びPU304はCU300に属する。図9Aの例では、参照インデックス発信源位置306はPU302に関連する。参照インデックス発信源位置308はPU304に関連する。
図9Bは、N×2N CU340の左の例示的な参照インデックス発信源位置を示す概念図である。PU342及びPU344はCU340に属する。図9Bの例では、参照インデックス発信源位置348はPU342及びPU344に関連する。
図9Cは、2N×N区分CU320の上の例示的な参照インデックス発信源位置を示す概念図である。PU322及びPU324はCU320に属する。図9Cの例では、参照インデックス発信源位置328はPU322及びPU324に関連する。
図9Dは、N×2N CU360の上の例示的な参照インデックス発信源位置を示す概念図である。PU362及びPU364はCU360に属する。図9Dの例では、参照インデックス発信源位置366はPU362に関連する。参照インデックス発信源位置368はPU364に関連する。
図9Eは、例示的なN×N区分CU400の左の例示的な参照インデックス発信源位置を示す概念図である。CU400は、PU402、404、406、及び408に区分される。参照インデックス発信源位置410はPU402及び404に関連する。参照インデックス発信源位置412はPU406及び408に関連する。
図9Fは、N×N区分CU420の上の例示的な参照インデックス発信源位置を示す概念図である。CU420は、PU422、424、426、及び428に区分される。参照インデックス発信源位置430はPU422及び426に関連する。参照インデックス発信源位置432はPU426及び428に関連する。
図9A〜図9Fの例に示すように、現在PUに関連するオリジナル参照インデックス発信源位置が現在CU内にある場合、ビデオコーダは、本開示の技法に従って、オリジナル参照インデックス発信源位置を使用する代わりに、現在PUに関連するオリジナル参照インデックス発信源位置に対応する現在CU外の位置を識別し得る。位置が同様の方法で現在PUに対して空間的に位置づけられる基準に基づいて、現在CU外の位置は、現在CU内のオリジナル参照インデックス発信源位置に対応し得る(例えば、両方ともが現在PUの左下、左、左上、又は右上にある)。ビデオコーダは、関係する参照ピクチャインデックスが、現在CU外の対応する位置をカバーするPUの参照ピクチャインデックスに等しいと推論し得る。このようにして、ビデオコーダは、現在CU内の他のPUの動き情報を使用せずに、関係する参照ピクチャインデックスを決定し得る。
図9Cの例に示すように、PU324のすぐ上の位置326はCU320内にある。位置326をカバーするPUの参照ピクチャインデックスを使用するよりはむしろ、ビデオコーダは、CU320外の対応する位置(即ち、参照インデックス発信源位置328)をカバーするPUの参照ピクチャインデックスを使用し得る。同様に、図9Bの例では、PU344のすぐ左の位置346はCU340内にある。位置346をカバーするPUの参照ピクチャインデックスを使用するよりはむしろ、ビデオコーダは、CU340外の対応する位置(即ち、参照インデックス発信源位置348)をカバーするPUの参照ピクチャインデックスを使用し得る。幾つかの例では、現在CU外の対応する位置は、現在CU内にあるオリジナル位置と同様の方法で、現在PUに対して空間的に位置づけられる。
従って、現在PUに関連する参照インデックス発信源位置が現在CU内にあると決定したことに応答して、ビデオコーダは、現在CU外の対応する位置を識別し得る。ビデオコーダは、次いで、現在CU外の対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成し得る。ビデオコーダは、次いで、時間候補を現在CUのための候補リスト中に含め得る。
図10Aは、2N×N区分CU500の左の例示的な参照インデックス発信源位置を示す概念図である。PU502及びPU504はCU500に属する。図10Bは、N×2N区分CU520の左の例示的な参照インデックス発信源位置を示す概念図である。PU522及びPU524はCU520に属する。図10Cは、2N×N区分CU540の上の例示的な参照インデックス発信源位置を示す概念図である。PU542及びPU544はCU540に属する。図10Dは、N×2N区分CU560の上の例示的な参照インデックス発信源位置を示す概念図である。PU562及びPU564はCU560に属する。図10Eは、N×N区分CU580の左の例示的な参照インデックス発信源位置を示す概念図である。CU580は、PU582、584、586、及び588に区分される。図10Fは、N×N区分CU600のの例示的な参照インデックス発信源位置を示す概念図である。CU600は、PU602、604、606、及び608に区分される。
図10A〜図10Fは、現在PUに関連する参照インデックス発信源位置をカバーするPUから現在PUのための関係する参照ピクチャインデックスを決定するようにビデオコーダが構成され得るという点で、図9A〜図9Fと同様である。しかしながら、図9A〜図9Fの例とは異なり、CUの各PUは、同じ参照インデックス発信源位置に関連する。言い換えれば、CU中の全てのPUのための参照ピクチャインデックスは、CU外の単一のネイバーブロック(近隣ブロック)から導出され得る。
例えば、図10Aの例では、PU502とPU504の両方は、CU500の左にある参照インデックス発信源位置506に関連する。対照的に、図9Aの例では、PU302及び304は、参照インデックス発信源位置306及び308に関連する。同様に、図10Dの例では、PU562とPU564の両方は、CU560の上にある単一の参照インデックス発信源位置566に関連する。図10Eの例では、PU582、584、586、及び588は、CU580の左に位置する単一の参照インデックス発信源位置590に関連する。図10Fの例では、PU602、604、606、及び608は、CU600の上に位置する単一の参照インデックス発信源位置610に関連する。
他の例では、ビデオコーダは、空間的にCU外に位置する他のPUから、CUの各PUの時間候補の参照ピクチャインデックスを決定し得る。例えば、ビデオコーダは、CUの左に位置する、上に位置する、上及び左に位置する、上及び右に位置する、又は下及び左に位置するPUから、CUの各PUの時間候補の参照ピクチャインデックスを決定し得る。現在CU内のコード情報に対する現在CU外の単一又は複数の発信源位置の使用は、他のタイプ、又は異なるレベルの現在CU又はブロックに適用され得る。
図11は、PUのための時間候補を生成するための例示的な動作700を示すフローチャートである。ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、動作700を実行し得る。図11は、PUのための時間候補を生成するための動作の一例にすぎない。
ビデオコーダが動作700を開始した後、ビデオコーダは、現在PUに関連する参照インデックス発信源位置をカバーするPUが利用可能であるかどうかを決定する(702)。本開示では、参照インデックス発信源位置をカバーするPUを参照インデックス発信源PUと呼ぶことがある。参照インデックス発信源PUは、様々な理由で利用不可能であることがある。例えば、参照インデックス発信源PUが現在ピクチャ内にない場合、参照インデックス発信源PUは利用不可能であることがある。別の例では、参照インデックス発信源PUがイントラ予測される場合、参照インデックス発信源PUは利用不可能であることがある。別の例では、参照インデックス発信源PUが現在PUとは異なるスライスである場合、参照インデックス発信源PUは利用不可能であることがある。
現在PUのための参照インデックス発信源PUが利用可能であると決定したこと(702の「はい」)に応答して、ビデオコーダは、参照インデックス発信源PUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報を示す時間候補を生成する(704)。例えば、図9Cの例では、位置328をカバーするPUは、PU324のための参照インデックス発信源PUであり得る。この事例では、ビデオコーダは、位置328をカバーするPUの参照ピクチャインデックスによって示される参照ピクチャ中の同一位置配置のPUの動き情報を示すPU324のための時間候補を生成し得る。
現在PUのための参照インデックス発信源PUが利用可能でないと決定したこと(702の「いいえ」)に応答して、ビデオコーダは、現在CUに空間的に隣接するPUの中で利用可能なPUを探索する(706)。ビデオコーダが利用可能なPUを発見しない場合(708の「いいえ」)、ビデオコーダは、デフォルト参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報を示す時間候補を生成する(710)。例えば、ビデオコーダが利用可能なPUを発見しない場合、ビデオコーダは、0、1、又はデフォルトで選択された別の数に等しい参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUから現在PUのための時間候補を生成し得る。
一方、ビデオコーダが利用可能なPUを発見した場合(708の「はい」)、ビデオコーダは、利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報を示す時間候補を生成する(712)。例えば、利用可能なPUの参照ピクチャインデックスが1に等しい場合、ビデオコーダは参照ピクチャインデックス1によって示された参照ピクチャ中の同一位置配置のPUの動き情報を示す時間候補を生成し得る。
別の例では、参照インデックス発信源PUが利用不可能である場合、ビデオコーダは、デフォルト参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報を示す時間候補を生成し得る。この例では、デフォルト参照ピクチャインデックスは、デフォルト値(例えば、0)であるか、又はピクチャパラメータセット、スライスヘッダ、APS、又は別のシンタックス構造中で信号伝達され得る。
従って、図11の例では、ビデオコーダは、参照インデックス発信源PUが利用可能でないと決定したことに応答して、現在CUに空間的に隣接する利用可能なPUを探索し得る。ビデオコーダは、次いで、利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成し得る。ビデオコーダは、時間候補を現在PUのための候補リスト中に含め得る。
図12は、PUのための候補リストを生成するための例示的な動作800を示すフローチャートである。ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、動作800を実行し得る。図12は、PUのための候補リストを生成するための動作の一例にすぎない。
ビデオコーダが動作800を開始した後、ビデオコーダは、現在PUに空間的に隣接し、現在CU外にあるPUの動き情報に基づいて空間候補を生成する(802)。このようにして、現在CU内にある候補は、候補リストから除外される。例えば、N×N区分CUの右上PUの場合、左候補(L)及び左下候補(BL)は、それの候補リストから除外される。N×N区分CUの左下PUの場合、上候補(A)及び右上候補(RA)は候補リストから除外される。N×N区分CUの右下PUの場合、左候補(L)と、上候補(A)と、左上候補(LA)とを含む3つの候補が、候補リストから除外される。
ビデオコーダは、次いで、空間候補を現在PUのための候補リストに追加する(804)。更に、ビデオコーダは、参照ピクチャ中の同一位置配置のPUの動き情報を示す時間候補を生成する(806)。ビデオコーダは、次いで、時間候補を現在PUのための候補リストに追加する(808)。
現在PUの動き情報がマージモードで信号伝達されるとき、ビデオコーダは動作800を実行し得る。また、現在PUの動き情報がAMVPモードで信号伝達されるとき、ビデオコーダは動作800又は同様の動作を実行し得る。現在CUがAMVPモードで信号伝達される例では、候補リスト中の候補はAMVP候補であり得る。
このようにして、ビデオコーダは、現在PUに空間的に隣接し、現在CU外にあるPUの動き情報に基づいて空間候補を生成し得る。ビデオコーダは、次いで、空間候補を現在PUのための候補リスト中に含め得る。
図13は、PUのための候補リストを生成するための例示的な動作850を示すフローチャートである。ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、動作850を実行し得る。図13は、PUのための候補リストを生成するための動作の一例にすぎない。
ビデオコーダが動作850を開始した後、ビデオコーダは、現在CUの空間的隣接であるPUの動き情報に基づいて現在PUのための空間候補を生成する(852)。ビデオコーダは、次いで、空間候補を現在PUのための候補リストに追加する(854)。図13の例では、ビデオコーダは、現在PUに隣接するが、現在CU内にある空間候補発信源位置を、現在CU外にある対応する空間候補発信源位置と置き換え得る。従って、空間候補を生成する図13中のビデオコーダによって使用される位置は、現在CU外の対応する位置に移動される(即ち、置き換えられる)。現在CU外の対応する位置は、近隣ブロック位置、即ち、現在CUの左、上、左上、右上、左下に位置し得る。従って、図12に関して上記で説明したように候補リストから従属候補を削除することの代わりに、現在CUの外に位置する隣接CUから候補が取られ得る。以下で説明するように、図14A、図14B、図15A、図15B、図15C、及び図15Dに、空間候補を生成するために動作850に従ってビデオコーダによって使用される空間候補発信源位置を示す。
幾つかの例では、現在PUに隣接する空間候補発信源位置が現在CU内になく、対応するPU(即ち、空間候補発信源位置をカバーするPU)が利用不可能である場合、ビデオコーダは、利用可能なPUを発見するために、近隣PUの間の探索プロセスを実行し得る。ビデオコーダが利用可能なPUを発見することが可能である場合、ビデオコーダは、利用可能なPUの動き情報に基づいて空間候補を生成し得る。代替的に、現在PUに隣接する空間候補発信源位置が現在CU内になく、対応するPU(即ち、空間候補発信源位置をカバーするPU)が利用不可能である場合、ビデオコーダは、0などのデフォルト値を有する空間候補を生成し得る。デフォルト値は、PPS、スライスヘッダ、APS、又は別のタイプのヘッダ中で信号伝達され得る。
追加として、ビデオエンコーダは、現在PUのための時間候補を生成する(856)。ビデオコーダは、次いで、時間候補を現在PUのための候補リストに追加する(858)。
現在PUの動き情報がマージモードで信号伝達されるとき、ビデオコーダは動作850を実行し得る。また、現在PUの動き情報がAMVPモードで信号伝達されるとき、ビデオコーダは動作850又は同様の動作を実行し得る。現在CUがAMVPモードで信号伝達される例では、候補リスト中の候補はAMVP候補であり得る。
図13の例では、現在CUのための空間候補発信源位置のセットは、最初に、現在PUの下及び左にある第1の空間候補発信源位置と、現在PUの左にある第2の空間候補発信源位置と、現在PUの左上にある第3の空間候補発信源位置と、現在PUの上にある第4の空間候補発信源位置と、現在PUの右上にある第5の空間候補発信源位置とを含み得る。ビデオコーダは、現在CU内にある空間候補発信源位置のうちのいずれかを、現在CU外の対応する空間候補発信源位置と置き換え得る。ビデオコーダは、次いで、空間候補発信源位置をカバーし、現在PUのための候補リスト中の空間候補を含むPUの動き情報に基づいて空間候補を生成し得る。
図14Aは、例示的なN×2N区分CU900の右側PUに関連する例示的な空間候補発信源位置を示す概念図である。PU902及びPU904はCU900に属する。ビデオコーダは、空間候補発信源位置906、908、910、914、及び918をカバーするPUの動き情報に基づいてPU904のための空間候補を生成し得る。空間候補発信源位置906は、PU904の左上に位置する。空間候補発信源位置908は、PU904の上に位置する。空間候補発信源位置910は、PU904の右上に位置する。空間候補発信源位置914は、PU904の左下に位置する。位置916は、空間的にPU904の左に位置する。しかしながら、位置916をカバーするPU(即ち、PU902)の動き情報を使用してPU904のための空間候補を生成するのではなく、ビデオコーダは、空間候補発信源位置918をカバーするPUの動き情報を使用して、PU904のための空間候補を生成し得る。空間候補発信源位置918は、空間的にCU900の左にある。
図14Bは、2N×N区分CU920の下側PUに関連する例示的な空間候補発信源位置を示す概念図である。PU922及びPU924はCU920に属する。ビデオコーダは、空間的にPU922の左上、上、右上、左、及び左下にある空間候補発信源位置に基づいて、PU922のための空間候補を生成し得る。CU920内のPU922の位置のために、これらの空間候補発信源位置のいずれもCU920内にない。従って、ビデオコーダは、CU920外のPUの動き情報に基づくPU922のための空間候補を生成するために、PU922に関連する空間候補発信源位置のいずれも「移動」させる必要がない。
ビデオコーダは、空間候補発信源位置926、928、932、934、及び936に基づいて、PU924のための空間候補を生成し得る。空間候補発信源位置928は、PU924の右上に位置する。空間候補発信源位置932は、空間的にPU924の左下に位置する。空間候補発信源位置934は、空間的にPU924の左に位置する。空間候補発信源位置936は、空間的にPU924の左上に位置する。
位置938は、空間的にPU924の上に位置する。しかしながら、位置938はCU920内に位置する。従って、位置938をカバーするPU(即ち、PU922)の動き情報を使用してPU924のための空間動き候補を生成するのではなく、ビデオコーダは、空間候補発信源位置926をカバーするPUの動き情報に基づいてPU924のための空間動き候補を生成し得る。
図15A〜図15Dは、N×N区分CU950のPUに関連する空間候補発信源位置を示す概念図である。PU952、954、956、及び958はCU950に属する。図15Aは、PU952に関連する例示的な空間候補発信源位置を示す概念図である。図15Aの例に示すように、ビデオコーダは、空間候補発信源位置960、962、964、966、及び968をカバーするPUの動き情報に基づいてPU952のための空間動き候補を生成し得る。空間候補発信源位置960、962、964、966、又は968のいずれも、CU950内に位置しない。従って、ビデオコーダは、PU952のための動き候補を生成するために、PU952に関連する空間候補発信源位置のいずれも「移動」させる必要がない。
図15Bは、PU954に関連する例示的な空間候補発信源位置を示す概念図である。図15Bの例に示すように、ビデオコーダは、空間候補発信源位置980、982、984、986、及び988をカバーするPUの動き情報に基づいてPU954のための空間動き候補を生成し得る。空間候補発信源位置980、982、及び984は、CU950の外に位置する。位置990は、空間的にPU954の左にある。位置992は、空間的にPU954の左下にある。しかしながら、位置990及び992はCU950内にある。従って、位置990及び992をカバーするPU(即ち、PU952及び956)の動き情報に基づいて空間動き候補を生成する代わりに、ビデオコーダは、CU950外の対応する位置(即ち、空間候補発信源位置986及び988)をカバーするPUの動き情報に基づいてPU954のための空間動き候補を生成し得る。空間候補発信源位置986及び988はPU950外にある。
図15Cは、PU956に関連する例示的な空間候補発信源位置を示す概念図である。図15Cの例に示すように、ビデオコーダは、空間候補発信源位置1000、1002、1004、1006、及び1008をカバーするPUの動き情報に基づいてPU956のための空間動き候補を生成し得る。空間候補発信源位置1000、1002、1004、1006、及び1008は、CU950外の位置である。位置1010は、空間的にPU956の上にある。位置1012は、空間的にPU956の右上にある。しかしながら、位置1010及び1012はCU950内にある。従って、位置990及び992をカバーするPU(即ち、PU952及び954)の動き情報に基づいて空間動き候補を生成する代わりに、ビデオコーダは、CU950外の対応する位置(即ち、空間候補発信源位置1000及び1002)をカバーするPUの動き情報に基づいてPU954のための空間動き候補を生成し得る。
図15Dは、PU958に関連する例示的な空間候補発信源位置を示す概念図である。図15Dの例に示すように、ビデオコーダは、空間候補発信源位置1020、1022、1024、1026、及び1028をカバーするPUの動き情報に基づいて空間動き候補を生成し得る。空間候補発信源位置1020、1022、1024、1026、及び1028は、CU950外の位置である。位置1030は、空間的にPU956の上にある。位置1032は、空間的にPU956の左上にある。位置1034は、空間的にPU958の左にある。しかしながら、位置1030、1032、及び1034はCU950内にある。従って、位置1030、1032、及び1034をカバーするPU(即ち、PU954、952、及び956)の動き情報に基づいて空間動き候補を生成する代わりに、ビデオコーダは、CU950外の対応する位置(即ち、空間候補発信源位置1020、1028及び1026)をカバーするPUの動き情報に基づいてPU954のための空間動き候補を生成し得る。
図14A、図14B、及び図15A〜図15Dは、N×2N、2N×N、及びN×N区分モードに従って区分されたCUを示す。しかしながら、同様の概念は、他の区分モードに関して適用され得る。
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)などの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実施に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素中に十分に実施され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実施され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオデータをコード化するための方法であって、
現在コード化単位(CU)に属する複数の予測単位(PU)中のPUごとに、前記PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される前記候補リスト中の各候補が前記現在CUに属するその他のPUの動き情報を使用せずに生成されるように生成することと、前記現在CUに属するPUごとに、前記PUの動き情報によって示された参照ブロックに基づいて前記PUのための予測ビデオブロックを生成することと、を備え、前記PUの前記動き情報が、前記PUのための前記候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、方法。
[2] 前記候補リストを生成することが、前記PUのうちの2つ以上のための前記候補リストを並列に生成することを備える、[1]に記載の方法。
[3] 前記候補リストを生成することが、前記現在CUの前記PUの全てによって共有されるマージ候補リストを生成することを備える、[1]に記載の方法。
[4] 前記マージ候補リストを生成することが、前記現在CU外のPUの動き情報に基づいて前記マージ候補リストを生成することを備える、[3]に記載の方法。
[5] 前記現在CUが、2N×2N区分モード以外の選択された区分モードに従って前記複数のPUに区分され、前記PUの各々の前記動き情報が、前記マージ候補リスト中の選択された候補によって示された動き情報に基づいて決定可能であり、前記マージ候補リストは、前記現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである、[4]に記載の方法。
[6] 前記候補リストを生成することが、デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、前記時間候補を現在PUの前記候補リスト中に含めることと、を備え、前記現在PUが前記現在CUに属する前記PUのうちの1つである、[1]に記載の方法。
[7] 前記候補リストを生成することが、前記現在CU外の位置をカバーするPUの参照ピクチャインデックスによって示された参照ピクチャ中のPUの動き情報に基づいて前記候補リスト中の各時間候補を生成することを備える、[1]に記載の方法。
[8] 前記候補リストを生成することが、現在PUに関連する参照インデックス発信源位置が前記現在CU内にあると決定したことに応答して、前記現在CU外の対応する位置を識別することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記現在CU外の前記対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、前記時間候補を前記現在CUのための前記候補リスト中に含めることと、を備える、[7]に記載の方法。
[9] 前記候補リストを生成することが、参照インデックス発信源PUが利用可能でないと決定したことに応答して、前記現在CUに空間的に隣接する利用可能なPUを探索することと、前記参照インデックス発信源PUが、現在PUに関連する参照インデックス発信源位置をカバーするPUであり、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、前記時間候補を前記現在CUのための前記候補リスト中に含めることと、を備える、[1]に記載の方法。
[10] 前記候補リストを生成することが、現在PUに空間的に隣接し、前記現在CU外にあるPUの動き情報に基づいて空間候補を生成することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記空間候補を前記現在PUのための前記候補リスト中に含めることと、を備える、[1]に記載の方法。
[11] 空間候補発信源位置のセットが、現在PUの下及び左にある第1の空間候補発信源位置と、前記現在PUの左にある第2の空間候補発信源位置と、前記現在PUの左上にある第3の空間候補発信源位置と、前記現在PUの上にある第4の空間候補発信源位置と、前記現在PUの右上にある第5の空間候補発信源位置とを含み、前記現在PUが前記現在CUに属する前記PUのうちの1つであり、前記候補リストを生成することが、前記現在CU内にある前記空間候補発信源位置のうちのいずれかを、前記現在CU外の対応する空間候補発信源位置と置き換えることと、前記空間候補発信源位置をカバーするPUの動き情報に基づいて空間候補を生成することと、前記空間候補を前記現在PUのための前記候補リスト中に含めることと、を備える、[1]に記載の方法。
[12] 前記ビデオデータをコード化することが、前記ビデオデータを符号化することを備え、選択された前記候補の前記候補リスト中の位置を示す候補インデックスを出力することを更に備える、[1]に記載の方法。
[13] 現在PUのための動きベクトルを生成することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、現在PUのための動きベクトル差分(MVD)を出力することと、前記現在PUのための前記MVDが、前記現在PUのための前記動きベクトルと前記現在PUのための前記選択された候補によって示された動きベクトルとの間の差を示す、を更に備える、[12]に記載の方法。
[14] 前記ビデオデータをコード化することが、前記ビデオデータを復号することを備え、前記PUの前記予測ビデオブロックに基づいて前記現在CUのための再構成されたビデオブロックを生成することを更に備える、[1]に記載の方法。
[15] 現在PUのための前記候補リスト中の前記選択された候補によって示された動きベクトルに基づいて前記現在PUの前記参照ブロックを識別することを更に備える、[14]に記載の方法。
[16] 現在PUのためのMVDを受信することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記現在PUのための前記候補リスト中の前記選択された候補によって示された動きベクトルに基づいて前記現在PUの動きベクトルを決定することと、前記現在PUの前記動きベクトルに基づいて前記現在PUの前記参照ブロックを識別することと、を更に備える、[14]に記載の方法。
[17] 現在コード化単位(CU)に属する複数の予測単位(PU)中のPUごとに、前記PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される前記候補リスト中の各候補が前記現在CUに属する前記PUのうちのいずれかの動き情報を使用せずに生成されるように生成することと、前記現在CUに属するPUごとに、前記PUの動き情報によって示された参照ブロックに基づいて前記PUのための予測ビデオブロックを生成することと、前記PUの前記動き情報が、前記PUのための前記候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、を行うように構成された1つ以上のプロセッサを備える、ビデオコード化機器。
[18] 前記1つ以上のプロセッサが、前記PUのうちの2つ以上のための前記候補リストを並列に生成するように構成された、[17]に記載のビデオコード化機器。
[19] 前記1つ以上のプロセッサが、前記現在CUの前記PUの全てによって共有されるマージ候補リストを生成するように構成された、[17]に記載のビデオコード化機器。
[20] 前記1つ以上のプロセッサが、前記現在CU外のPUの動き情報に基づいて前記マージ候補リストを生成するように構成された、[19]に記載のビデオコード化機器。
[21] 前記現在CUが、2N×2N区分モード以外の選択された区分モードに従って前記複数のPUに区分され、前記PUの各々の前記動き情報が、前記マージ候補リスト中の選択された候補によって示された動き情報に基づいて決定可能であり、前記マージ候補リストは、前記現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである、[20]に記載のビデオコード化機器。
[22] 前記1つ以上のプロセッサが、デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、前記時間候補を現在PUの前記候補リスト中に含めることであって、前記現在PUが前記現在CUに属する前記PUのうちの1つである、含めることと、を行うように構成された、[17]に記載のビデオコード化機器。
[23] 前記1つ以上のプロセッサが、前記現在CU外の位置をカバーするPUの参照ピクチャインデックスによって示された参照ピクチャ中のPUの動き情報に基づいて前記候補リスト中の各時間候補を生成するように構成された、[17]に記載のビデオコード化機器。
[24] 前記1つ以上のプロセッサが、現在PUに関連する参照インデックス発信源位置が前記現在CU内にあると決定したことに応答して、前記現在CU外の対応する位置を識別することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記現在CU外の前記対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、前記時間候補を前記現在CUのための前記候補リスト中に含めることと、を行うように構成された、[23]に記載のビデオコード化機器。
[25] 前記1つ以上のプロセッサが、参照インデックス発信源PUが利用可能でないと決定したことに応答して、前記現在CUに空間的に隣接する利用可能なPUを探索することと、前記参照インデックス発信源PUが、現在PUに関連する参照インデックス発信源位置をカバーするPUであり、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、前記時間候補を前記現在CUのための前記候補リスト中に含めることと、を行うように構成された、[17]に記載のビデオコード化機器。
[26] 前記1つ以上のプロセッサが、現在PUに空間的に隣接し、前記現在CU外にあるPUの動き情報に基づいて空間候補を生成することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記空間候補を前記現在PUのための前記候補リスト中に含めることと、を行うように構成された、[17]に記載のビデオコード化機器。
[27] 空間候補発信源位置のセットが、現在PUの下及び左にある第1の空間候補発信源位置と、前記現在PUの左にある第2の空間候補発信源位置と、前記現在PUの左上にある第3の空間候補発信源位置と、前記現在PUの上にある第4の空間候補発信源位置と、前記現在PUの右上にある第5の空間候補発信源位置とを含み、前記現在PUが前記現在CUに属する前記PUのうちの1つであり、前記1つ以上のプロセッサが、前記現在CU内にある前記空間候補発信源位置のうちのいずれかを、前記現在CU外の対応する空間候補発信源位置と置き換えることと、前記空間候補発信源位置をカバーするPUの動き情報に基づいて空間候補を生成することと、前記空間候補を前記現在PUのための前記候補リスト中に含めることと、を行うように構成された、[17]に記載のビデオコード化機器。
[28] 前記ビデオコード化機器が、ビデオデータを符号化し、前記選択された候補の前記候補リスト中の位置を示す候補インデックスを出力するように構成された、[17]に記載のビデオコード化機器。
[29] 前記1つ以上のプロセッサが、現在PUのための動きベクトルを生成することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、現在PUのための動きベクトル差分(MVD)を出力することと、前記現在PUのための前記MVDが、前記現在PUのための前記動きベクトルと前記現在PUのための前記選択された候補によって示された動きベクトルとの間の差を示す、を行うように構成された、[28]に記載のビデオコード化機器。
[30] 前記ビデオコード化機器が、ビデオデータを復号し、前記PUの前記予測ビデオブロックに基づいて前記現在CUのための再構成されたビデオブロックを生成するように構成された、[17]に記載のビデオコード化機器。
[31] 前記1つ以上のプロセッサが、現在PUのための前記候補リスト中の前記選択された候補によって示された動きベクトルに基づいて前記現在PUの前記参照ブロックを識別するように構成された、[30]に記載のビデオコード化機器。
[32] 前記1つ以上のプロセッサが、現在PUのためのMVDを受信することと、前記現在PUが前記現在CUに属する前記PUのうちの1つである、前記現在PUのための前記候補リスト中の前記選択された候補によって示された動きベクトルに基づいて前記現在PUの動きベクトルを計算することと、前記現在PUの前記動きベクトルに基づいて前記現在PUの前記参照ブロックを識別することと、を行うように更に構成された、[30]に記載のビデオコード化機器。
[33] 前記ビデオコード化機器がモバイルコンピュータ機器である、[17]に記載のビデオコード化機器。
[34] 現在コード化単位(CU)に属する複数の予測単位(PU)中のPUごとに、前記PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される前記候補リスト中の各候補が前記現在CUに属する前記PUのうちのいずれかの動き情報を使用せずに生成されるように生成するための手段と、前記現在CUに属するPUごとに、前記PUの動き情報によって示された参照ブロックに基づいて前記PUのための予測ビデオブロックを生成するための手段と、を備え、前記PUの前記動き情報が、前記PUのための前記候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、ビデオコード化機器。
[35] 前記1つ以上のプロセッサが、前記PUのうちの2つ以上のための前記候補リストを並列に生成するように構成された、[34]に記載のビデオコード化機器。
[36] 前記1つ以上のプロセッサが、前記現在CUの前記PUの全てによって共有されるマージ候補リストを生成するように構成された、[34]に記載のビデオコード化機器。
[37] 命令を記憶する1つ以上のコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、前記命令が、実行されたとき、現在コード化単位(CU)に属する複数の予測単位(PU)中のPUごとに、前記PUのための候補リストを、少なくとも1つの他のPUの動き情報に基づいて生成される前記候補リスト中の各候補が前記現在CUに属する前記PUのうちのいずれかの動き情報を使用せずに生成されるように生成することと、前記現在CUに属するPUごとに、前記PUの動き情報によって示された参照ブロックに基づいて前記PUのための予測ビデオブロックを生成することと、前記PUの前記動き情報が、前記PUのための前記候補リスト中の選択された候補によって示された動き情報に基づいて決定可能である、を行うように1つ以上のプロセッサを構成する、コンピュータプログラム製品。
[38] 前記命令が、前記PUのうちの2つ以上のための前記候補リストを並列に生成するように前記1つ以上のプロセッサを構成する、[37]に記載のコンピュータプログラム製品。
[39] 前記命令が、前記現在CUの前記PUの全てによって共有されるマージ候補リストを生成するように前記1つ以上のプロセッサを構成する、[37]に記載のコンピュータプログラム製品。

Claims (48)

  1. ビデオデータを復号するための方法であって、
    現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成することと、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    現在(CU)に属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リスト中の前記PUのための選択された候補によって示された動き情報に基づいて、前記PUの動きベクトルを決定することと、
    参照サンプルを識別するため前記PUの前記動きベクトルを用いることと、
    を備える、方法。
  2. 前記候補リストはマージ候補リストを備え、前記マージ候補リストを生成することが、前記現在CU外の複数のPUの動き情報に基づいて前記マージ候補リストを生成することを備える、請求項に記載の方法。
  3. 前記現在CUが、2N×2N区分モード以外の選択された区分モードに従って前記複数のPUに区分され、前記方法は、前記複数のPUの各々の前記動き情報を、前記マージ候補リスト中の選択された候補によって示された動き情報に基づいて決定することを備え、前記マージ候補リストは、前記現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである、請求項2に記載の方法。
  4. 前記PUのための前記候補リストを生成することが、
    デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記PUの前記候補リスト中に含めることと、
    を備える、請求項1に記載の方法。
  5. 前記PUのための前記候補リストを生成することが、前記現在CU外の位置をカバーする複数のPUの参照ピクチャインデックスによって示された参照ピクチャ中の複数のPUの動き情報に基づいて前記PUのための前記候補リスト中の各時間候補を生成することを備える、請求項1に記載の方法。
  6. 前記候補リストを生成することが、前記複数のPUの各それぞれのPUに対して、
    前記それぞれのPUに関連する参照インデックス発信源位置が前記現在CU内にあると決定したことに応答して、前記現在CU外の対応する位置を識別することと、
    前記現在CU外の前記対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を備える、請求項に記載の方法。
  7. 前記候補リストを生成することが、前記複数のPUの各それぞれのPUに対して
    参照インデックス発信源PUが利用可能でないと決定したことに応答して、前記現在CUに空間的に隣接する利用可能なPUを探索することと、前記参照インデックス発信源PUが、前記それぞれのPUに関連する参照インデックス発信源位置をカバーする、
    前記利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を備える、請求項1に記載の方法。
  8. 前記複数のPUのそれぞれのPUごとに、前記候補リストを生成することが、
    前記それぞれのPUに空間的に隣接し、前記現在CU外にある複数のPUの動き情報に基づいて前記1つ以上の空間候補を生成することと、
    前記1つ以上の空間候補を前記それぞれのPUのための前記候補リスト中に含めることと、
    を備える、請求項1に記載の方法。
  9. 前記PUのための前記参照サンプルに基づいて前記現在CUのための再構成されたビデオブロックを生成することを更に備える、請求項1に記載の方法。
  10. 前記候補リストはマージモードインタ予測モードを使用する一部として生成される、請求項9に記載の方法。
  11. 前記候補リストは、先進的動きベクトル予測インター予測モードの一部として生成される、請求項に記載の方法。
  12. ビデオデータを記憶するように構成されるメモリと、
    1つ以上のプロセッサと、を備え、前記1つ以上のプロセッサは
    現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成することと、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    前記現在CUに属する複数のPUの各予測単位(PU)毎に
    前記PUのための前記候補リスト中の前記PUのための選択された候補によって示された動き情報に基づいて、前記PUの動きベクトルを決定することと、
    参照サンプルを識別するために前記PUの前記動きベクトルを用いることと
    を行うように構成された、ビデオ復号機器。
  13. 前記候補リストはマージ候補リストを備え、前記1つ以上のプロセッサが、前記現在CU外の複数のPUの動き情報に基づいて前記マージ候補リストを生成するように構成された、請求項12に記載のビデオ復号機器。
  14. 前記現在CUが、2N×2N区分モード以外の選択された区分モードに従って前記複数のPUに区分され、前記1つ以上のプロセッサが、前記複数のPUの各々の前記動き情報を、前記マージ候補リスト中の選択された候補によって示された動き情報に基づいて決定するように構成され、前記マージ候補リストは、前記現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである、請求項13に記載のビデオ復号機器。
  15. 前記1つ以上のプロセッサが、
    デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を行うように構成された、請求項12に記載のビデオ復号機器。
  16. 前記1つ以上のプロセッサが、前記現在CU外の位置をカバーする複数のPUの参照ピクチャインデックスによって示された参照ピクチャ中の複数のPUの動き情報に基づいて前記PUのための前記候補リスト中の各時間候補を生成するように構成された、請求項12に記載のビデオ復号機器。
  17. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    前記それぞれのPUに関連する参照インデックス発信源位置が前記現在CU内にあると決定したことに応答して、前記現在CU外の対応する位置を識別することと、
    前記現在CU外の前記対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記それぞれのPUのための前記候補リスト中に含めることと、
    を行うように構成された、請求項16に記載のビデオ復号機器。
  18. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    参照インデックス発信源PUが利用可能でないと決定したことに応答して、前記現在CUに空間的に隣接する利用可能なPUを探索することと、前記参照インデックス発信源PUが、前記それぞれのPUに関連する参照インデックス発信源位置をカバーする、
    前記利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記それぞれのPUのための前記候補リスト中に含めることと、
    を行うように構成された、請求項12に記載のビデオ復号機器。
  19. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    前記それぞれのPUに空間的に隣接し、前記現在CU外にある複数のPUの動き情報に基づいて前記1つ以上の空間候補を生成することと、
    前記1つ以上の空間候補を前記候補リスト中に含めることと、
    を行うように構成された、請求項12に記載のビデオ復号機器。
  20. 前記1つ以上のプロセッサが、前記PUのための前記参照サンプルに基づいて前記現在CUのための再構成されたビデオブロックを生成するように構成された、請求項12に記載のビデオ復号機器。
  21. 前記候補リストはマージモードインター予測モードを用いる一部として生成される、請求項20に記載のビデオ復号機器。
  22. 前記候補リストは先進動きベクトル予測インター予測モードの一部として生成される、請求項20に記載のビデオ復号機器。
  23. 前記ビデオ復号機器がモバイルコンピュータ機器である、請求項12に記載のビデオ復号機器。
  24. 現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成する手段と、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    前記現在(CU)に属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リスト中の前記PUのための選択された候補によって示された動き情報に基づいて、前記PUの動きベクトルを決定するための手段と、
    参照サンプルを識別するために前記PUの前記動きベクトルを用いるための手段と、
    を備える、ビデオ復号機器。
  25. 命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、
    現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成することと、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    前記現在CUに属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リスト中の前記PUのための選択された候補によって示された動き情報に基づいて、前記PUの動きベクトルを決定することと、
    参照サンプルを識別するために前記PUの前記動きベクトルを使用することと、
    を行うように1つ以上のプロセッサを構成する、コンピュータ可読記憶媒体。
  26. ビデオデータを符号化するための方法であって、
    現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成することと、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    前記現在CUに属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リスト中の選択された候補によって示される動き情報に基づいて、前記PUのための参照サンプル識別することと、
    を備える、方法。
  27. 前記候補リストはマージ候補リストを備え、前記マージ候補リストを生成することが、前記現在CU外の複数のPUの動き情報に基づいて前記マージ候補リストを生成することを備える、請求項26に記載の方法。
  28. 前記現在CUが、2N×2N区分モード以外の選択された区分モードに従って前記複数のPUに区分され、前記複数のPUの各々の前記動き情報が、前記マージ候補リスト中の選択された候補によって示された動き情報に基づき、前記マージ候補リストは、前記現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである、請求項27に記載の方法。
  29. 前記候補リストを生成することが、
    デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を備える、請求項26に記載の方法。
  30. 前記候補リストを生成することが、前記現在CU外の位置をカバーする複数のPUの参照ピクチャインデックスによって示された参照ピクチャ中の複数のPUの動き情報に基づいて前記候補リスト中の各時間候補を生成することを備える、請求項26に記載の方法。
  31. 前記候補リストを生成することが、前記複数のPUの各それぞれのPUごとに
    前記それぞれのPUに関連する参照インデックス発信源位置が前記現在CU内にあると決定したことに応答して、前記現在CU外の対応する位置を識別することと、
    前記現在CU外の前記対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を備える、請求項30に記載の方法。
  32. 記候補リストを生成することが、前記複数のPUの各それぞれのPUごとに、
    参照インデックス発信源PUが利用可能でないと決定したことに応答して、前記現在CUに空間的に隣接する利用可能なPUを探索することと、前記参照インデックス発信源PUが、前記それぞれのPUに関連する参照インデックス発信源位置をカバーするPUであり、
    前記利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を備える、請求項26に記載の方法。
  33. 前記候補リストを生成することが、前記複数のPUの各それぞれのPUごとに、
    前記それぞれのPUに空間的に隣接し、前記現在CU外にある複数のPUの動き情報に基づいて前記1つ以上の空間候補を生成することと、
    前記1つ以上の空間候補を前記候補リスト中に含めることと、
    を備える、請求項26に記載の方法。
  34. 前記候補リストはマージモードインター予測モードを用いる部分として生成される、請求項26に記載の方法。
  35. 前記候補リストは先進的動きベクトル予測インター予測モードの一部として生成される、請求項26に記載の方法。
  36. ビデオデータを記憶するように構成されるメモリと、
    1つ以上のプロセッサと、を備え、前記プロセッサは、
    現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成することと、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    現在CUに属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リスト中の選択された候補によって示される動き情報に基づいて、前記PUのための参照サンプルを識別することと、
    を行うように構成された1つ以上のプロセッサを備える、ビデオ符号化機器。
  37. 前記候補リストはマージ候補リストを備え、前記1つ以上のプロセッサが、前記現在CU外の複数のPUの動き情報に基づいて前記マージ候補リストを生成するように構成された、請求項36に記載のビデオ符号化機器。
  38. 前記現在CUが、2N×2N区分モード以外の選択された区分モードに従って前記複数のPUに区分され、前記複数のPUの各々の前記動き情報が、前記マージ候補リスト中の選択された候補によって示された動き情報に基づいて決定可能であり、前記マージ候補リストは、前記現在CUが2N×2N区分モードに従って区分された場合に生成されるであろう候補リストと同じである、請求項37に記載のビデオ符号化機器。
  39. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    デフォルト参照ピクチャインデックスによって示された参照フレーム中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記それぞれのPUの前記候補リスト中に含めることと、
    を行うように構成された、請求項36に記載のビデオ符号化機器。
  40. 前記1つ以上のプロセッサが、前記現在CU外の位置をカバーする複数のPUの参照ピクチャインデックスによって示された参照ピクチャ中の複数のPUの動き情報に基づいて前記候補リスト中の各時間候補を生成するように構成された、請求項36に記載のビデオ符号化機器。
  41. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    前記それぞれのPUに関連する参照インデックス発信源位置が前記現在CU内にあると決定したことに応答して、前記現在CU外の対応する位置を識別することと、
    前記現在CU外の前記対応する位置をカバーするPUによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記候補リスト中に含めることと、
    を行うように構成された、請求項40に記載のビデオ符号化機器。
  42. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    参照インデックス発信源PUが利用可能でないと決定したことに応答して、前記現在CUに空間的に隣接する利用可能なPUを探索することと、前記参照インデックス発信源PUが、前記それぞれのPUに関連する参照インデックス発信源位置をカバーするPUである、
    前記利用可能なPUの参照ピクチャインデックスによって示された参照ピクチャ中の同一位置配置のPUの動き情報に基づいて時間候補を生成することと、
    前記時間候補を前記それぞれのCUのための前記候補リスト中に含めることと、
    を行うように構成された、請求項36に記載のビデオ符号化機器。
  43. 前記複数のPUのそれぞれのPUごとに、前記1つ以上のプロセッサが、
    前記それぞれのPUに空間的に隣接し、前記現在CU外にある複数のPUの動き情報に基づいて前記1つ以上の空間候補を生成することと、
    前記1つ以上の空間候補を前記候補リスト中に含めることと、
    を行うように構成された、請求項36に記載のビデオ符号化機器。
  44. 前記候補リストはマージモードインター予測モードを用いる部分として生成される、請求項36に記載のビデオ符号化機器。
  45. 前記候補リストは先進的動きベクトル予測インター予測モードの一部として生成される、 請求項36に記載のビデオ符号化機器。
  46. 前記ビデオ符号化機器がモバイルコンピュータ機器である、請求項36に記載のビデオ符号化機器。
  47. 現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成する手段と、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    前記現在CUに属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リストの中の選択された候補によって示される動き情報に基づいて、前記PUのための参照サンプルを生成するための手段と、
    を備える、ビデオ符号化機器。
  48. 命令を記憶するコンピュータ可読記憶媒体であって、前記命令が、実行されたとき、
    現在ピクチャの現在コード化単位(CU)の外の隣接ブロックだけを用いて候補リストを生成することと、発信源位置は前記現在CU上の前記現在ピクチャの発信源位置、前記現在CUの右上の前記現在ピクチャの発信源位置、前記現在CUの左上の前記現在ピクチャの発信源位置、前記現在CUの左の前記現在ピクチャの発信源位置、及び前記現在CUの左下の前記現在ピクチャの発信源位置を含み、
    前記現在CUに属する複数の予測単位(PU)中のPUごとに、
    前記PUのための前記候補リスト中の選択された候補によって示される動き情報に基づいて、前記PUのための参照サンプルを生成することと、
    を行うように1つ以上のプロセッサを構成する、コンピュータ可読記憶媒体。
JP2014530671A 2011-09-17 2012-08-15 ビデオコード化のための動きベクトル決定 Active JP6092222B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161535964P 2011-09-17 2011-09-17
US61/535,964 2011-09-17
US201161564764P 2011-11-29 2011-11-29
US201161564799P 2011-11-29 2011-11-29
US61/564,799 2011-11-29
US61/564,764 2011-11-29
US13/585,423 2012-08-14
US13/585,423 US9736489B2 (en) 2011-09-17 2012-08-14 Motion vector determination for video coding
PCT/US2012/050918 WO2013039639A1 (en) 2011-09-17 2012-08-15 Motion vector determination for video coding

Publications (2)

Publication Number Publication Date
JP2014526840A JP2014526840A (ja) 2014-10-06
JP6092222B2 true JP6092222B2 (ja) 2017-03-08

Family

ID=47880652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014530671A Active JP6092222B2 (ja) 2011-09-17 2012-08-15 ビデオコード化のための動きベクトル決定

Country Status (20)

Country Link
US (1) US9736489B2 (ja)
EP (1) EP2756674B1 (ja)
JP (1) JP6092222B2 (ja)
KR (2) KR101858885B1 (ja)
CN (1) CN103797799B (ja)
AU (1) AU2012309042B2 (ja)
BR (1) BR112014006185B1 (ja)
CA (1) CA2847849C (ja)
DK (1) DK2756674T3 (ja)
ES (1) ES2742026T3 (ja)
HU (1) HUE044692T2 (ja)
IL (1) IL231148A (ja)
MY (1) MY186970A (ja)
PL (1) PL2756674T3 (ja)
PT (1) PT2756674T (ja)
RU (1) RU2591645C2 (ja)
SG (2) SG11201400207QA (ja)
SI (1) SI2756674T1 (ja)
WO (1) WO2013039639A1 (ja)
ZA (1) ZA201402834B (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9094689B2 (en) * 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
EP4283995A3 (en) 2011-10-05 2024-02-21 Sun Patent Trust Decoding method and decoding apparatus
JP2013118627A (ja) * 2011-10-31 2013-06-13 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
PL409214A1 (pl) 2011-11-08 2015-07-20 Kt Corporation Sposób i urządzenie do skanowania współczynników na podstawie trybu podziału jednostki predykcji
CN110198449B (zh) 2011-11-08 2022-01-04 韩国电子通信研究院 用于共享候选者列表的方法和装置
EP3965425A3 (en) * 2011-12-23 2022-06-08 Electronics And Telecommunications Research Institute Method and apparatus for setting reference picture index of temporal merging candidate
JP5835208B2 (ja) * 2011-12-28 2015-12-24 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9900593B2 (en) * 2012-08-29 2018-02-20 Vid Scale, Inc. Method and apparatus of motion vector prediction for scalable video coding
US9491459B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Base layer merge and AMVP modes for video coding
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
JP5983430B2 (ja) * 2013-01-25 2016-08-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
CN103237213B (zh) * 2013-04-08 2016-03-30 华为技术有限公司 视频编码方法和视频解码方法及相关装置
KR102179383B1 (ko) * 2013-08-09 2020-11-16 삼성전자주식회사 병합 모드 결정 방법 및 장치
US9426465B2 (en) * 2013-08-20 2016-08-23 Qualcomm Incorporated Sub-PU level advanced residual prediction
US10313682B2 (en) * 2013-08-26 2019-06-04 Qualcomm Incorporated Determining regions when performing intra block copying
US9667996B2 (en) 2013-09-26 2017-05-30 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
CN106464894B (zh) * 2014-02-12 2019-10-18 明达半导体股份有限公司 视频处理方法及装置
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
WO2016143972A1 (ko) * 2015-03-11 2016-09-15 엘지전자(주) 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
CN109565595B (zh) * 2016-06-24 2021-06-22 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
KR102448635B1 (ko) * 2016-09-30 2022-09-27 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코딩 방법, 비디오 디코딩 방법, 및 단말
EP3509302A4 (en) * 2016-10-10 2019-09-25 Samsung Electronics Co., Ltd. METHOD AND DEVICE FOR ENCODING OR DECODING AN IMAGE USING A BLOCK CARD
WO2019083334A1 (ko) * 2017-10-26 2019-05-02 한국전자통신연구원 비대칭 서브 블록 기반 영상 부호화/복호화 방법 및 장치
US10587885B2 (en) * 2018-06-04 2020-03-10 Tencent America LLC Method and apparatus for merge mode with additional middle candidates in video coding
TWI723430B (zh) * 2018-06-19 2021-04-01 大陸商北京字節跳動網絡技術有限公司 不同精度的多個候選
EP3811621A4 (en) * 2018-07-06 2022-04-06 HFI Innovation Inc. ACQUIRED MOTION INFORMATION TO DECODE A CURRENT ENCODER UNIT IN A VIDEO ENCODER SYSTEM
TWI720551B (zh) 2018-07-18 2021-03-01 聯發科技股份有限公司 一種視訊編解碼的幀間預測方法及裝置
US11051010B2 (en) 2018-07-18 2021-06-29 Mediatek Inc. Merge candidates with multiple hypothesis
US11503329B2 (en) * 2018-08-17 2022-11-15 Hfi Innovation Inc. Method and apparatus of simplified sub-mode for video coding
US10924731B2 (en) * 2018-08-28 2021-02-16 Tencent America LLC Complexity constraints on merge candidates list construction
JP7128348B2 (ja) 2018-08-29 2022-08-30 ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド サブブロックベースの時間動きベクトル予測を使用するビデオコーディング方法及び装置
EP3827586A1 (en) 2018-09-19 2021-06-02 Beijing Bytedance Network Technology Co. Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
EP3857888A4 (en) * 2018-10-06 2022-08-03 HFI Innovation Inc. METHOD AND APPARATUS FOR AN AREA OF A SHARED MERGER CANDIDATE LIST FOR ENABLING VIDEO CODING
EP3847814A1 (en) * 2018-11-06 2021-07-14 Beijing Bytedance Network Technology Co. Ltd. Position dependent storage of motion information
JP7157246B2 (ja) * 2018-11-06 2022-10-19 北京字節跳動網絡技術有限公司 ジオメトリック分割を用いたインター予測のためのサイド情報信号通知方法
WO2020098683A1 (en) 2018-11-13 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction method for intra block copy
CN113170182B (zh) * 2018-12-03 2024-01-26 北京字节跳动网络技术有限公司 不同预测模式下的修剪方法
US11172214B2 (en) * 2018-12-21 2021-11-09 Qualcomm Incorporated Derivation of processing area for parallel processing in video coding
WO2020140862A1 (en) 2018-12-30 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Conditional application of inter prediction with geometric partitioning in video processing
CN113647109A (zh) * 2019-02-17 2021-11-12 北京字节跳动网络技术有限公司 帧内块复制(ibc)模式和非ibc帧间模式的运动候选列表构建
US10904558B2 (en) * 2019-04-26 2021-01-26 Tencent America LLC Method and apparatus for motion compensation for 360 video coding
US11284078B2 (en) * 2019-12-30 2022-03-22 FG Innovation Company Limited Device and method for coding video data
WO2023198135A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60312960T2 (de) 2002-02-01 2007-12-13 Matsushita Electric Industrial Co., Ltd., Kadoma Kodierungsverfahren und Dekodierungsverfahren für bewegliche Bilder
JP4804342B2 (ja) 2003-03-28 2011-11-02 デジタル アクセレレーター コーポレーション オーバーコンプリート基底変換ベースの、動き残差フレーム符号化方法およびビデオ圧縮用装置
ES2636917T3 (es) 2006-03-30 2017-10-10 Lg Electronics, Inc. Un método y un aparato para descodificar/codificar una señal de video
RU2395174C1 (ru) 2006-03-30 2010-07-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для декодирования/кодирования сигнала видео
US8432968B2 (en) 2007-10-15 2013-04-30 Qualcomm Incorporated Scalable video coding techniques for scalable bitdepths
EP2210421A4 (en) 2007-10-16 2013-12-04 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL
US20100158130A1 (en) 2008-12-22 2010-06-24 Mediatek Inc. Video decoding method
KR20110008653A (ko) 2009-07-20 2011-01-27 삼성전자주식회사 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
TWI566586B (zh) 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
US9877033B2 (en) 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US20130003843A1 (en) 2010-03-12 2013-01-03 Mediatek Singapore Pte. Ltd. Motion Prediction Method
US8837592B2 (en) 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
KR101772459B1 (ko) 2010-05-17 2017-08-30 엘지전자 주식회사 신규한 인트라 예측 모드
WO2011146451A1 (en) 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
PT2391129T (pt) 2010-05-25 2019-01-17 Lg Electronics Inc Novo modo de previsão planar
US8908755B2 (en) 2010-07-16 2014-12-09 Sony Corporation Multi-parameter motion for efficient prediction in video compression
KR101366648B1 (ko) * 2010-10-28 2014-02-27 경희대학교 산학협력단 영상 정보 복호화 장치
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9247266B2 (en) * 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US20120287999A1 (en) * 2011-05-11 2012-11-15 Microsoft Corporation Syntax element prediction in error correction
US20130003829A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US9094689B2 (en) 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
CN107197301B (zh) 2011-09-09 2020-03-03 Lg 电子株式会社 帧间预测方法及其装置
US20130177083A1 (en) 2012-01-05 2013-07-11 Qualcomm Incorporated Motion vector candidate index signaling in video coding

Also Published As

Publication number Publication date
CN103797799A (zh) 2014-05-14
PL2756674T3 (pl) 2019-10-31
US20130070854A1 (en) 2013-03-21
BR112014006185A2 (pt) 2017-04-11
KR20140064974A (ko) 2014-05-28
RU2591645C2 (ru) 2016-07-20
AU2012309042B2 (en) 2015-09-17
SG11201400207QA (en) 2014-05-29
ES2742026T3 (es) 2020-02-12
CA2847849A1 (en) 2013-03-21
SG10201601796SA (en) 2016-04-28
ZA201402834B (en) 2021-05-26
RU2014115340A (ru) 2015-10-27
IL231148A0 (en) 2014-04-30
JP2014526840A (ja) 2014-10-06
IL231148A (en) 2016-07-31
US9736489B2 (en) 2017-08-15
PT2756674T (pt) 2019-09-04
EP2756674A1 (en) 2014-07-23
AU2012309042A1 (en) 2014-03-27
SI2756674T1 (sl) 2019-08-30
HUE044692T2 (hu) 2019-11-28
MY186970A (en) 2021-08-26
BR112014006185B1 (pt) 2022-05-31
CA2847849C (en) 2017-03-14
WO2013039639A1 (en) 2013-03-21
CN103797799B (zh) 2017-06-30
KR101858885B1 (ko) 2018-05-16
DK2756674T3 (da) 2019-08-19
KR20160082265A (ko) 2016-07-08
EP2756674B1 (en) 2019-05-15

Similar Documents

Publication Publication Date Title
JP6092222B2 (ja) ビデオコード化のための動きベクトル決定
US9699472B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
RU2697744C2 (ru) Объединенное предсказание межкадровое и с внутрикадровой копией блока
US9426463B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
JP5908600B2 (ja) 追加マージ候補の生成
US9826244B2 (en) Device and method for scalable coding of video information based on high efficiency video coding
US9491458B2 (en) Scalable video coding prediction with non-causal information
US20130329782A1 (en) Adaptive upsampling filters
JP2015533462A (ja) ビデオコーディングのための参照ピクチャステータス
US9420285B2 (en) Inter-layer mode derivation for prediction in scalable video coding
US20130322538A1 (en) Reference index for enhancement layer in scalable video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170208

R150 Certificate of patent or registration of utility model

Ref document number: 6092222

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250