JP2015510357A - Bスライス中の予測ユニットの単方向インター予測への制限 - Google Patents

Bスライス中の予測ユニットの単方向インター予測への制限 Download PDF

Info

Publication number
JP2015510357A
JP2015510357A JP2014556674A JP2014556674A JP2015510357A JP 2015510357 A JP2015510357 A JP 2015510357A JP 2014556674 A JP2014556674 A JP 2014556674A JP 2014556674 A JP2014556674 A JP 2014556674A JP 2015510357 A JP2015510357 A JP 2015510357A
Authority
JP
Japan
Prior art keywords
merge candidate
unidirectional
video
list
merge
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.)
Pending
Application number
JP2014556674A
Other languages
English (en)
Other versions
JP2015510357A5 (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 JP2015510357A publication Critical patent/JP2015510357A/ja
Publication of JP2015510357A5 publication Critical patent/JP2015510357A5/ja
Pending legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

コンピューティングデバイスは、Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断する。さらに、コンピューティングデバイスは、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断する。PUが単方向インター予測に制限される場合、コンピューティングデバイスは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成する。PUが単方向インター予測に制限されない場合、コンピューティングデバイスは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成する。

Description

[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、2012年2月8日に出願された米国仮特許出願第61/596,597号、および2012年4月11日に出願された米国仮特許出願第61/622,968号の利益を主張する。
[0002]本開示は、ビデオコーディングに関し、詳細には、ビデオコーディングにおけるインター予測に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(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)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)はビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることがある。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックに対する予測ビデオブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ビデオブロックとの間のピクセル差を表す。インターコード化ブロックは、予測ビデオブロックを形成する参照サンプルのブロックを指す動きベクトル(motion vector)、およびコード化ブロックと予測ビデオブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
[0006]概して、本開示では、ビデオコーディングプロセスにおけるインター予測のための技法について説明する。ビデオコーダは、Bスライス中の予測ユニット(PU:prediction unit)が単方向インター予測に制限されるかどうかを判断する。さらに、ビデオコーダは、PUのためのマージ候補リスト(merge candidate list)を生成し、マージ候補リスト中の選択されたマージ候補を判断する。PUが単方向インター予測に制限される場合、ビデオコーダは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成する。PUが単方向インター予測に制限されない場合、ビデオコーダは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成する。
[0007]一態様では、本開示では、ビデオデータをコーディングするための方法について説明する。本方法は、Bスライス中のPUが単方向インター予測に制限されるかどうかを判断することを備える。本方法はまた、PUのためのマージ候補リストを生成することを備える。さらに、本方法は、マージ候補リスト中の選択されたマージ候補を判断することを備える。さらに、本方法は、PUが単方向インター予測に制限される場合、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成することを備える。本方法はまた、PUが単方向インター予測に制限されない場合、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成することを備える。
[0008]別の態様では、本開示では、Bスライス中のPUが単方向インター予測に制限されるかどうかを判断するように構成された1つまたは複数のプロセッサを備えるビデオコーディングデバイスについて説明する。1つまたは複数のプロセッサはまた、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断するように構成される。1つまたは複数のプロセッサは、PUが単方向インター予測に制限される場合、1つまたは複数のプロセッサが、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成するように構成される。さらに、1つまたは複数のプロセッサは、PUが単方向インター予測に制限されない場合、1つまたは複数のプロセッサが、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成するように構成される。
[0009]別の態様では、本開示では、Bスライス中のPUが単方向インター予測に制限されるかどうかを判断するための手段を備えるビデオコーディングデバイスについて説明する。本ビデオコーディングデバイスはまた、PUのためのマージ候補リストを生成するための手段を備える。さらに、本ビデオコーディングデバイスは、マージ候補リスト中の選択されたマージ候補を判断するための手段を備える。本ビデオコーディングデバイスはまた、PUが単方向インター予測に制限される場合、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成するための手段を備える。本ビデオコーディングデバイスはまた、PUが単方向インター予測に制限されない場合、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成するための手段を備える。
[0010]別の態様では、本開示では、実行されると、1つまたは複数のプロセッサを、Bスライス中のPUが単方向インター予測に制限されるかどうかを判断するように構成する命令を記憶する1つまたは複数のコンピュータ可読記憶媒体を備えるコンピュータプログラム製品について説明する。命令はまた、1つまたは複数のプロセッサを、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断するように構成する。PUが単方向インター予測に制限される場合、命令は、1つまたは複数のプロセッサを、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成するように構成する。PUが単方向インター予測に制限されない場合、命令は、1つまたは複数のプロセッサを、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成するように構成する。
[0011]1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
[0012]本開示で説明する技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。 [0013]本開示で説明する技法を実装するように構成された例示的なビデオエンコーダを示すブロック図。 [0014]本開示で説明する技法を実装するように構成された例示的なビデオデコーダを示すブロック図。 [0015]例示的な動き補償演算を示すフローチャート。 [0016]別の例示的な動き補償演算を示すフローチャート。 [0017]マージ候補リストを生成するための例示的な演算を示すフローチャート。 [0018]アーティフィシャルマージ候補(artificial merge candidate)を生成するための例示的なプロセスを示すフローチャート。 [0019]高度動きベクトル予測(advanced motion vector prediction)モードを使用して予測ユニットの動き情報を判断するための例示的な演算を示すフローチャート。
[0020]以下で説明するように、ピクチャは、1つまたは複数のスライスに分割され得る。スライスの各々は、整数個のコーディングユニット(CU)を含み得る。各CUは、1つまたは複数の予測ユニット(PU)を有し得る。スライスは、Iスライス、Pスライス、またはBスライスであり得る。Iスライス中では、すべてのPUがイントラ予測される。ビデオエンコーダは、Pスライス中のPUに対してイントラ予測または単方向インター予測を実行し得る。ビデオエンコーダがPスライス中のPUに対して単方向インター予測を実行するとき、ビデオエンコーダは、参照ピクチャの第1のリスト(「リスト0」)に記載されている参照ピクチャ中の参照サンプルを識別または合成し得る。参照ブロックは、参照ピクチャ内の参照サンプルのブロックであり得る。参照サンプルは、参照ブロック中の実際のピクセル、または、たとえば、実際のピクセルを使用した補間によって、合成されたピクセルに対応し得る。ビデオエンコーダは、次いで、PUのための参照ブロックに基づいてPUのための予測ビデオブロックを生成し得る。
[0021]ビデオエンコーダは、Bスライス中のPUに対して、リスト0単方向インター予測、リスト1単方向インター予測、または双方向インター予測を実行し得る。ビデオエンコーダがPUに対してリスト0単方向インター予測を実行するとき、ビデオエンコーダは、リスト0に記載されている参照ピクチャ中の参照ブロックを識別するか、またはリスト0に記載されている参照ピクチャ中の参照サンプルに基づいて参照ブロックを合成し得る。ビデオエンコーダは、次いで、参照ブロックに基づいてPUのための予測ビデオブロックを生成し得る。ビデオエンコーダがPUに対してリスト1単方向インター予測を実行するとき、ビデオエンコーダは、第2の参照ピクチャリスト(「リスト1」)に記載されている参照ピクチャ中の参照ブロックを識別するか、リスト1に記載されている参照ピクチャ中の参照サンプルに基づいて参照ブロックを合成し得る。ビデオエンコーダは、次いで、参照ブロックに基づいてPUのための予測ビデオブロックを生成し得る。ビデオエンコーダがPUに対して双方向インター予測を実行するとき、ビデオエンコーダは、リスト0に記載されている参照ピクチャ中の参照ブロックを識別するか、またはリスト0に記載されている参照ピクチャ中の参照サンプルに基づいて参照ブロックを合成し得る。さらに、ビデオエンコーダがPUに対して双方向インター予測を実行するとき、ビデオエンコーダは、リスト1に記載されている参照ピクチャ中の参照ブロックを識別するか、またはリスト1に記載されている参照ピクチャ中の参照サンプルに基づいて参照ブロックを合成し得る。ビデオエンコーダは、次いで、2つの参照ブロックに基づいてPUのための予測ビデオブロックを生成し得る。
[0022]ビデオエンコーダは、ビデオエンコーダがPUのための予測ビデオブロックを生成するために使用した1つまたは複数の参照ブロックを識別することまたは合成することをビデオデコーダが行うことを可能にするために、PUの動き情報をシグナリングし得る。PUの動き情報は、1つまたは複数の動きベクトルと、参照ピクチャインデックスと、インター予測がリスト0および/またはリスト1に基づくかどうかを示すフラグとを含み得る。いくつかの事例では、ビデオエンコーダは、マージモードを使用してPUの動き情報をシグナリングし得る。ビデオエンコーダがマージモードを使用してPUの動き情報をシグナリングするとき、ビデオエンコーダは、PUのためのマージ候補リストを生成し得る。マージ候補リストは複数のマージ候補を含み得、マージ候補の各々は動き情報のセットを指定する。
[0023]マージ候補が、リスト0またはリスト1のいずれかに記載されている参照ピクチャ中の単一のロケーションを識別する動き情報を指定する場合、マージ候補は単方向マージ候補であり得る。参照ブロック中のサンプルが、動き情報によって識別された参照ピクチャ中の動き情報によって識別されたロケーションにあるサンプルに基づいて判断される場合、参照ブロックは、動き情報のセットに関連付けられ得る。たとえば、参照ブロック中のサンプルが、動き情報によって識別された参照ピクチャ中の動き情報によって識別されたロケーションにあるビデオブロック中のサンプルと同じ場合、参照ブロックは、動き情報のセットに関連付けられ得る。また、参照ブロック中のサンプルが、動き情報によって識別された参照フレーム中の動き情報によって識別されたロケーションにあるサンプルから合成される(たとえば、補間される)場合、参照ブロックは、動き情報のセットに関連付けられ得る。
[0024]マージ候補が、リスト0に記載されている参照ピクチャ中のロケーションと、リスト1に記載されている参照ピクチャ中のロケーションとを識別する動き情報を指定する場合、マージ候補は双方向マージ候補であり得る。ビデオエンコーダは、異なるピクチャ中の現在PUおよび/またはコロケート(co-located)PUに空間的に隣接するPUの動き情報に基づいて、マージ候補によって指定された動き情報を生成し得る。現在PUのためのマージリストを生成した後に、ビデオエンコーダは、マージ候補リスト中のマージ候補のうちの1つを選択し、選択されたマージ候補のマージ候補リスト内の位置をシグナリングし得る。ビデオデコーダは、選択されたマージ候補によって指定された動き情報に基づいて現在PUの動き情報を判断し得る。
[0025]演算および必要とされるメモリ帯域幅に関して、2つの参照ブロックに基づいてPUのための予測ビデオブロックを生成することは、単一の参照ブロックに基づいてPUのための予測ビデオブロックを生成することよりも複雑であり得る。Bスライス中の双方向インター予測PUの数が増加するにつれて、2つの参照ブロックに基づいて予測ビデオブロックを生成することに関連する複雑さは増加し得る。小さい双方向インター予測PUの数が増加するとき、これは特に当てはまり得る。したがって、Bスライス中のいくつかのPUを単方向インター予測に制限することは、有利であり得る。
[0026]ビデオエンコーダは、PUのためのマージ候補リストから単方向マージ候補のみを選択することによって、Bスライス中のPUを単方向インター予測に制限し得る。ただし、場合によっては、マージ候補リストは、単方向マージ候補を含まないことがある。そのような場合、ビデオエンコーダは、マージモードを使用してPUの動き情報をシグナリングすることができないことがある。これは、コーディング性能を低下させ得る。さらに、マージ候補リストが少なくとも1つの単方向マージ候補を含む場合でも、単方向マージ候補によって指定された動き情報に関連付けられた参照ブロックが、PUに関連付けられたビデオブロックと十分に類似していない場合、コーディング効率は低下し得る。
[0027]本開示の技法によれば、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)が、Bスライス中のPUが単方向インター予測に制限されるかどうかを判断し得る。たとえば、ビデオコーダは、PUを特徴づけるサイズが特定のしきい値よりも小さい場合、そのPUが単方向インター予測に制限されると判断し得る。PUを特徴づけるサイズは、PUに関連付けられたビデオブロックの高さ、幅、対角線の長さなど、PUに関連付けられたビデオブロックのサイズの特性であり得る。さらに、ビデオコーダは、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断し得る。PUが単方向インター予測に制限される場合、ビデオコーダは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。PUが単方向インター予測に制限されない場合、ビデオコーダは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。このようにしていくつかのPUを単方向インター予測に制限することによって、ビデオコーダは、複数の参照ブロックに基づいて予測ビデオブロックを生成することに関連する複雑さを低減し得る。これは、ビデオコーダがビデオデータをコーディングすることが可能である速度を増加させ、データ帯域幅要件を低減し得る。
[0028]説明を簡単にするために、本開示は、ロケーションまたはビデオブロックを、CUまたはPUと様々な空間関係を有していると説明することがある。そのような説明は、ロケーションまたはビデオブロックが、CUまたはPUに関連付けられたビデオブロックと様々な空間関係を有していることを意味すると解釈され得る。さらに、本開示では、ビデオコーダが現在コーディングしているPUを現在PUと呼ぶことがある。本開示では、ビデオコーダが現在コーディングしているCUを現在CUと呼ぶことがある。本開示では、ビデオコーダが現在コーディングしているピクチャを現在ピクチャと呼ぶことがある。
[0029]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数ワード(たとえば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
[0030]図1は、本開示の技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的にビデオ符号化またはビデオ復号を指すことがある。
[0031]図1に示されるように、ビデオコーディングシステム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12は、符号化ビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
[0032]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備え得る。いくつかの例では、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0033]宛先デバイス14は、チャネル16を介してソースデバイス12から符号化ビデオデータを受信し得る。チャネル16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能なタイプの媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス14に送信し得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線路など、ワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を支援するルータ、スイッチ、基地局、または他の機器を含み得る。
[0034]別の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する記憶媒体に対応し得る。この例では、宛先デバイス14は、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体など、種々のローカルにアクセスされるデータ記憶媒体を含み得る。さらなる例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオを記憶する、ファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス14は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された、符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス14に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブが含まれる。宛先デバイス14は、インターネット接続を含む標準のデータ接続を介して、符号化ビデオデータにアクセスし得る。データ接続の例示的なタイプとしては、ファイルサーバに記憶された符号化データにアクセスするのに好適な、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0035]本開示の技法は、ワイヤレスの用途または設定には限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
[0036]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/または、ビデオデータを生成するためのコンピュータグラフィックスシステムのようなソース、あるいはそのようなソースの組合せを含み得る。
[0037]ビデオエンコーダ20は、キャプチャされたビデオデータ、以前にキャプチャされたビデオデータ、またはコンピュータ生成されたビデオデータを符号化し得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータはまた、復号および/または再生のための宛先デバイス14による後のアクセスのために記憶媒体またはファイルサーバ上に記憶され得る。
[0038]図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信する。符号化ビデオデータは、ビデオデータを表す、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される、符号化ビデオデータとともに含まれ得る。
[0039]ディスプレイデバイス32は、宛先デバイス14と一体化され得るかまたはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み得、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号ビデオデータをユーザに表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0040]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格など、ビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。「HEVC Working Draft 7」または「WD7」と呼ばれる今度のHEVC規格の最近のドラフトは、文書JCTVC−J1003_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回会合:スイス、ジュネーブ、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規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格またはコーディング技法にも限定されない。ビデオ圧縮の規格および技法の他の例としては、MPEG−2、ITU−T H.263、ならびにVP8および関連するフォーマットなどのプロプライエタリまたはオープンソースの圧縮フォーマットがある。
[0041]図1の例には示されていないが、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0042]この場合も、図1は例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。符号化デバイスがデータを符号化し、メモリに記憶し得、および/または復号デバイスがメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および/またはメモリからデータを取り出して復号するだけであるデバイスによって実行される。
[0043]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)上記のいずれも、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0044]本開示では、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及することがある。ただし、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化部分のヘッダに記憶することによってデータを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ30によって受信され、復号されるより前に、符号化され、(たとえば、ストレージシステムに)記憶され得る。したがって、「シグナリング」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックスまたは他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替として、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素を媒体に記憶するときに行われることがあるなど、ある時間帯にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に、復号デバイスによって取り出され得る。
[0045]上記で手短に述べられたように、ビデオエンコーダ20は、ビデオデータを符号化する。ビデオデータは、1つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像であり得る。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと関連データとを含み得る。コード化ピクチャとは、ピクチャのコード化表現である。
[0046]ビットストリームを生成するために、ビデオエンコーダ20は、ビデオデータ中の各ピクチャに対して符号化演算を実行し得る。ビデオエンコーダ20がピクチャに対して符号化演算を実行するとき、ビデオエンコーダ20は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、シーケンスパラメータセット、ピクチャパラメータセット、適応パラメータセット、および他のシンタックス構造を含み得る。シーケンスパラメータセット(SPS)は、ピクチャの0個以上のシーケンスに適用可能なパラメータを含み得る。ピクチャパラメータセット(PPS)は、0個以上のピクチャに適用可能なパラメータを含み得る。適応パラメータセット(APS)は、0個以上のピクチャに適用可能なパラメータを含み得る。APS中のパラメータは、PPS中のパラメータよりも変化する可能性が高いパラメータであり得る。
[0047]コード化ピクチャを生成するために、ビデオエンコーダ20は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの2次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット(LCU:largest coding unit)またはコーディングツリーブロックと呼ばれることがある。HEVCのツリーブロックは、H.264/AVCなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。ビデオエンコーダ20は、4分木区分(quadtree partitioning)を使用して、ツリーブロックのビデオブロックを、CUに関連付けられたビデオブロックに区分し得、したがって「ツリーブロック」という名前がある。
[0048]いくつかの例では、ビデオエンコーダ20は、ピクチャを複数のスライスに区分し得る。スライスの各々は整数個のCUを含み得る。いくつかの事例では、スライスは、整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
[0049]ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。ビデオエンコーダ20がスライスに対して符号化演算を実行するとき、ビデオエンコーダ20は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
[0050]コード化スライスを生成するために、ビデオエンコーダ20は、スライス中の各ツリーブロックに対して符号化演算を実行し得る。ビデオエンコーダ20がツリーブロックに対して符号化演算を実行するとき、ビデオエンコーダ20は、コード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化表現を備え得る。
[0051]ビデオエンコーダ20がコード化スライスを生成するとき、ビデオエンコーダ20は、ラスタ走査順序に従ってスライス中の(この場合最大コーディングユニットを表す)ツリーブロックに対して符号化演算を実行し得る(すなわち、そのツリーブロックを符号化し得る)。言い換えれば、ビデオエンコーダ20は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む、順序で、ビデオエンコーダ20がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
[0052]ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
[0053]コード化ツリーブロックを生成するために、ビデオエンコーダ20は、ツリーブロックのビデオブロックに対して4分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるCUに関連付けられ得る。たとえば、ビデオエンコーダ20は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたCUは、それのビデオブロックが、他のCUに関連付けられたビデオブロックに区分された、CUであり得る。区分されていないCUは、それのビデオブロックが、他のCUに関連付けられたビデオブロックに区分されていない、CUであり得る。
[0054]ビットストリーム中の1つまたは複数のシンタックス要素は、ビデオエンコーダ20がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。CUのビデオブロックは形状が正方形であり得る。CUのビデオブロックのサイズ(すなわち、CUのサイズ)は、8×8ピクセルから、最大で64×64ピクセル以上をもつツリーブロックのビデオブロックのサイズ(すなわち、ツリーブロックのサイズ)までわたり得る。
[0055]ビデオエンコーダ20は、z走査順序に従って、ツリーブロックの各CUに対して符号化演算を実行し得る(すなわち、各CUを符号化し得る)。言い換えれば、ビデオエンコーダ20は、左上のCUと、右上のCUと、左下のCUと、次いで右下のCUとを、その順序で符号化し得る。ビデオエンコーダ20が区分されたCUに対して符号化演算を実行するとき、ビデオエンコーダ20は、z走査順序に従って、区分されたCUのビデオブロックのサブブロックに関連付けられたCUを符号化し得る。言い換えれば、ビデオエンコーダ20は、左上のサブブロックに関連付けられたCUと、右上のサブブロックに関連付けられたCUと、左下のサブブロックに関連付けられたCUと、次いで右下のサブブロックに関連付けられたCUとを、その順序で符号化し得る。
[0056]z走査順序に従ってツリーブロックのCUを符号化した結果として、所与のCUの上、左上、右上、左、および左下のCUは符号化されていることがある。所与のCUの下または右のCUはまだ符号化されていない。したがって、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接するいくつかのCUを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ20は、所与のCUを符号化するとき、所与のCUに隣接する他のCUを符号化することによって生成された情報にアクセスすることができない可能性がある。
[0057]ビデオエンコーダ20が区分されていないCUを符号化するとき、ビデオエンコーダ20は、CUのために1つまたは複数の予測ユニット(PU)を生成し得る。CUのPUの各々は、CUのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ20は、CUの各PUのための予測ビデオブロックを生成し得る。PUの予測ビデオブロックはサンプルのブロックであり得る。ビデオエンコーダ20は、イントラ予測またはインター予測を使用して、PUのための予測ビデオブロックを生成し得る。
[0058]ビデオエンコーダ20がイントラ予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはイントラ予測されたCUである。
[0059]ビデオエンコーダ20がインター予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ビデオブロックを生成し得る。ビデオエンコーダ20がインター予測を使用してCUのPUの予測ビデオブロックを生成する場合、CUはインター予測されたCUである。
[0060]さらに、ビデオエンコーダ20がインター予測を使用してPUの予測ビデオブロックを生成するとき、ビデオエンコーダ20は、PUの動き情報を生成し得る。PUの動き情報は、PUの1つまたは複数の参照ブロックを示し得る。PUの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはPUに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、PUの参照ブロックはPUの「参照サンプル」と呼ばれることもある。ビデオエンコーダ20は、PUの参照ブロックに基づいてPUの予測ビデオブロックを生成し得る。
[0061]上記で説明したように、スライスは、Iスライス、Pスライス、またはBスライスであり得る。Iスライス中では、すべてのPUがイントラ予測される。PスライスおよびBスライス中では、PUはイントラ予測またはインター予測される。ビデオエンコーダ20が、Pスライス中のPUに対してインター予測を実行するとき、ビデオエンコーダ20は、単一の参照ピクチャ中のロケーションを識別する動き情報を生成し得る。言い換えれば、PUは単方向にインター予測され得る。動き情報は、参照ピクチャインデックスと動きベクトルとを含み得る。参照ピクチャインデックスは、参照ピクチャの第1の参照ピクチャリスト(「リスト0」)中の位置を示し得る。動きベクトルは、PUに関連付けられたビデオブロックと、参照ピクチャ内の参照ブロックとの間の空間変位を示し得る。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、その後、PUの動き情報に関連付けられた単一の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。たとえば、ビデオコーダは、予測ビデオブロックが参照ブロックに一致するように、PUのための予測ビデオブロックを生成し得る。
[0062]Bスライス中のPUは、リスト0に基づいて単方向にインター予測され、第2の参照ピクチャリスト(「リスト1」)に基づいて単方向にインター予測され、または双方向にインター予測され得る。Bスライス中のPUがリスト0に基づいて単方向にインター予測される場合、PUの動き情報は、リスト0参照ピクチャインデックスと、リスト0動きベクトルとを含み得る。リスト0参照ピクチャインデックスは、参照ピクチャのリスト0中の位置を示すことによって、参照ピクチャを識別し得る。リスト0動きベクトルは、PUに関連付けられたビデオブロックと、参照ピクチャ内の参照ブロックとの間の空間変位を示し得る。ビデオエンコーダ20は、リスト0動きベクトルに関連付けられた参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。言い換えれば、ビデオエンコーダ20は、リスト0動きベクトルによって識別された参照サンプルのブロックに基づいて、PUのための予測ビデオブロックを生成し得、またはリスト0動きベクトルによって識別された参照サンプルのブロックから合成された(たとえば、補間された)参照サンプルのブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0063]Bスライス中のPUが、リスト1基づいて単方向にインター予測された場合、PUの動き情報は、リスト1参照ピクチャインデックスと、リスト1動きベクトルとを含み得る。リスト1参照ピクチャインデックスは、参照ピクチャのリスト1中の位置を示すことによって、参照ピクチャを識別し得る。リスト1動きベクトルは、PUと参照ピクチャ内の参照ブロックとの間の空間変位を示し得る。ビデオエンコーダ20は、リスト1動きベクトルに関連付けられた参照サンプルのブロックに基づいて、PUのための予測ビデオブロックを生成し得る。たとえば、ビデオエンコーダ20は、リスト1動きベクトルによって識別された参照サンプルのブロックに基づいて、PUのための予測ビデオブロックを生成し得、またはリスト1動きベクトルによって識別された参照サンプルのブロックから合成された(たとえば、補間された)参照サンプルのブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0064]Bスライス中のPUが双方向にインター予測される場合、PUの動き情報は、リスト0参照ピクチャインデックスと、リスト0動きベクトルと、リスト1参照ピクチャインデックスと、リスト1動きベクトルとを含み得る。いくつかの事例では、リスト0参照ピクチャインデックスとリスト1参照ピクチャインデックスとは、同じピクチャを識別し得る。ビデオエンコーダ20は、リスト0動きベクトルおよびリスト1動きベクトルに関連付けられた参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。いくつかの例では、ビデオエンコーダ20は、リスト0動きベクトルに関連付けられた参照ブロック中のサンプルと、リスト1動きベクトルに関連付けられた参照ブロック中のサンプルとから、予測ビデオブロックを補間することによって、PUのための予測ビデオブロックを生成し得る。
[0065]ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ビデオブロックを生成した後、ビデオエンコーダ20は、CUのPUのための予測ビデオブロックに基づいて、CUの残差データを生成し得る。CUの残差データは、CUのPUのための予測ビデオブロック中のサンプルと、CUの元のビデオブロック中のサンプルとの間の差分を示し得る。
[0066]さらに、区分されていないCUに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、CUの残差データに対して再帰的な4分木区分を実行して、CUの残差データを、CUの変換ユニット(TU:transform unit)に関連付けられた残差データの1つまたは複数のブロック(すなわち、残差ビデオブロック)に区分し得る。CUの各TUは、異なる残差ビデオブロックに関連付けられ得る。
[0067]ビデオコーダ20は、TUに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用して、TUに関連付けられた変換係数ブロック(すなわち、変換係数のブロック)を生成し得る。概念的に、変換係数ブロックは変換係数の2次元(2D)行列であり得る。
[0068]変換係数ブロックを生成した後、ビデオエンコーダ20は、変換係数ブロックに対して量子化プロセスを実行し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。
[0069]ビデオエンコーダ20は、各CUを量子化パラメータ(QP:quantization parameter)値に関連付け得る。CUに関連付けられたQP値は、ビデオエンコーダ20が、CUに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
[0070]ビデオエンコーダ20が変換係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ20は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング(CABAC:Context Adaptive Binary Arithmetic Coding)演算などのエントロピー符号化演算を適用し得る。
[0071]ビデオエンコーダ20によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ(NAL:Network Abstraction Layer)ユニットを含み得る。NALユニットの各々は、NALユニット中のデータのタイプの指示と、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。たとえば、NALユニットは、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報(SEI:supplemental enhancement information)、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含み得る。NALユニット中のデータは様々なシンタックス構造を含み得る。
[0072]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ20によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ30がビットストリームを受信するとき、ビデオデコーダ30は、ビットストリームに対してパース演算を実行し得る。ビデオデコーダ30がパース演算を実行するとき、ビデオデコーダ30は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ30は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。
[0073]ビデオデコーダ30がCUに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ30は、シンタックス要素に基づいて、CUのPUのための予測ビデオブロックを生成し得る。加えて、ビデオデコーダ30は、CUのTUに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ30は、変換係数ブロックに対して逆変換を実行して、CUのTUに関連付けられた残差ビデオブロックを再構成し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ30は、予測ビデオブロックおよび残差ビデオブロックに基づいて、CUのビデオブロックを再構成し得る。このようにして、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、CUのビデオブロックを再構成し得る。
[0074]上記で説明したように、ビデオエンコーダ20は、インター予測を使用して、CUのPUのための動き情報に関連付けられた予測ビデオブロックを生成し得る。多くの事例では、所与のPUの動き情報は、1つまたは複数の近くのPU(すなわち、空間的または時間的に所与のPUのビデオブロックの近くにあるビデオブロックをもつPU)の動き情報と同じまたは同様である可能性がある。近くのPUがしばしば同様の動き情報を有するので、ビデオエンコーダ20は、1つまたは複数の近くのPUの動き情報を参照して所与のPUの動き情報を符号化し得る。1つまたは複数の近くのPUの動き情報を参照して所与のPUの動き情報を符号化することは、所与のPUの動き情報を示すためにビットストリーム中で必要とされるビット数を低減し得る。
[0075]ビデオエンコーダ20は、様々な方法で、1つまたは複数の近くのPUの動き情報を参照して所与のPUの動き情報を符号化し得る。たとえば、ビデオエンコーダ20は、マージモードまたは高度動きベクトル予測(AMVP)モードを使用して所与のPUの動き情報を符号化し得る。マージモードを使用してPUの動き情報を符号化するために、ビデオエンコーダ20は、PUのためのマージ候補リストを生成し得る。マージ候補リストは1つまたは複数のマージ候補を含み得る。マージ候補の各々は動き情報のセットを指定する。ビデオエンコーダ20は、空間マージ候補と呼ばれることがある、同じピクチャ中のPUと空間的に隣接するPUによって指定された動き情報に基づいて、または時間マージ候補と呼ばれることがある、別のピクチャ中のコロケートPUに基づいて、マージ候補のうちの1つまたは複数を生成し得る。マージ候補によって指定された動き情報が2つの参照ブロックに関連付けられた場合、そのマージ候補を、本明細書では双方向マージ候補、または双方向であるマージ候補と呼ぶことがある。そうではなく、マージ候補によって指定された動き情報が単一の参照ブロックのみに関連付けられた場合、そのマージ候補を、本明細書では単方向マージ候補、または単方向であるマージ候補と呼ぶことがある。ビデオエンコーダ20は、マージ候補リストからマージ候補のうちの1つを選択し、PUのための候補インデックス値をシグナリングし得る。候補インデックス値は、選択されたマージ候補のマージ候補リスト中の位置を示し得る。
[0076]ビデオエンコーダ20がマージモードを使用してPUの動き情報を符号化するとき、ビデオデコーダ30は、ビデオエンコーダ20がPUのために生成したマージ候補リストと同じPUのためのマージ候補リストを生成し得る。ビデオデコーダ30は、次いで、PUのための候補インデックス値に基づいて、マージ候補リスト中のマージ候補のうちのいずれの1つがビデオエンコーダ20によって選択されたか判断し得る。ビデオデコーダ30は、次いで、選択されたマージ候補によって指定された動き情報をPUの動き情報に採用し得る。選択された候補によって指定された動き情報は、1つまたは複数の動きベクトルと、1つまたは複数の参照ピクチャインデックスとを含み得る。
[0077]ビデオエンコーダ20がAMVPを使用してPUの動き情報をシグナリングするとき、ビデオエンコーダ20は、PUがリスト0に基づいて単方向にインター予測される場合、またはPUがリスト0およびリスト1中の参照ピクチャに基づいて双方向にインター予測される場合、PUのためのリスト0MV予測子候補(predictor candidate)リストを生成し得る。リスト0MV予測子候補リストは、1つまたは複数のMV予測子候補を含み得る。MV予測子候補の各々は動き情報のセットを指定する。ビデオエンコーダ20は、リスト0MV予測子候補リストからリスト0MV予測子候補を選択し得る。ビデオエンコーダ20は、選択されたリスト0MV予測子候補のリスト0MV予測子候補リスト中の位置を示すリスト0MV予測子フラグをシグナリングし得る。リスト0MV予測子フラグは、「mvp_l0_flag」として示され得る。
[0078]さらに、デオエンコーダ20がAMVPを使用してPUの動き情報をシグナリングするとき、ビデオエンコーダ20は、PUがリスト1に基づいて単方向にインター予測される場合、またはPUが双方向にインター予測される場合、PUのためのリスト1MV予測子候補リストを生成し得る。リスト1MV予測子候補リストは、1つまたは複数のMV予測子候補を含み得る。MV予測子候補の各々は動き情報のセットを指定する。ビデオエンコーダ20は、次いで、リスト1MV予測子候補リストからリスト1MV予測子候補を選択し得る。ビデオエンコーダ20は、選択されたリスト1MV予測子候補のリスト1MV予測子候補リスト中の位置を示すリスト1MV予測子フラグをシグナリングし得る。リスト1MV予測子フラグは、「mvp_l1_flag」として示され得る。
[0079]さらに、デオエンコーダ20がAMVPを使用してPUの動き情報を符号化するとき、ビデオエンコーダ20は、PUがリスト0に基づいて単方向にインター予測される場合、またはPUが双方向にインター予測される場合、PUのためのリスト0動きベクトル差分(MVD:motion vector difference)を計算し得る。リスト0MVDは、PUのリスト0動きベクトルと、選択されたリスト0MV予測子候補によって指定されたリスト0動きベクトルとの間の差分を示す。さらに、ビデオエンコーダ20は、PUがリスト1に基づいて単方向予測される場合、またはPUが双方向にインター予測される場合、PUのためのリスト1MVDを出力し得る。リスト1MVDは、PUのリスト1動きベクトルと、選択されたリスト1MV予測子候補によって指定されたリスト1動きベクトルとの間の差分を示す。ビデオエンコーダ20は、リスト0MVDおよび/またはリスト1MVDをシグナリングし得る。
[0080]ビデオエンコーダ20がAMVPモードを使用してPUの動き情報をシグナリングするとき、ビデオデコーダ30は、ビデオエンコーダ20によって生成された同じリスト0MV予測子候補リストおよび/またはリスト1MV予測子候補リストを独立して生成し得る。他の例では、ビデオエンコーダ20は、リスト0MV予測子候補リストとリスト1MV予測子候補リストとを指定するシンタックス要素を符号化し得る。PUがリスト0に基づいて単方向にインター予測される場合、またはPUが双方向にインター予測される場合、ビデオデコーダ30は、リスト0MV予測子候補リストから選択されたリスト0MV予測子候補を判断し得る。ビデオデコーダ30は、次いで、選択されたリスト0MV予測子候補とPUのためのリスト0MVDとに基づいて、PUのリスト0動きベクトルを判断し得る。たとえば、ビデオデコーダ30は、選択されたリスト0MV予測子候補によって指定されたリスト0動きベクトルとリスト0MVDとを加算することによって、PUのリスト0動きベクトルを判断し得る。PUがリスト1に基づいて単方向にインター予測される場合、またはPUが双方向にインター予測される場合、ビデオデコーダ30は、リスト1MV予測子候補リストから選択されたリスト1MV予測子候補を判断し得る。ビデオデコーダ30は、次いで、選択されたリスト1MV候補によって指定されたリスト1動きベクトルとリスト1MVDとに基づいて、PUのリスト1動きベクトルを判断し得る。たとえば、ビデオデコーダ30は、選択されたリスト1MV候補によって指定されたリスト1動きベクトルとリスト1MVDとを加算することによって、PUのリスト1動きベクトルを判断し得る。
[0081]上記で手短に説明したように、ビデオエンコーダ20が、Bスライス中のPUに対してインター予測を実行するとき、ビデオエンコーダ20は、PUのための1つまたは2つの参照ブロックに関連付けられた動き情報を生成し得る。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、次いで、PUの動き情報に関連付けられた参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。2つの参照ブロックに基づいて予測ビデオブロックを生成するために、ビデオコーダは、メモリから参照ブロックの両方を取り出し得る。メモリ帯域幅(すなわち、データがメモリから転送され得るレート)は制限され得るので、メモリから2つの参照ブロックを取り出すのには、メモリから単一の参照ブロックを取り出すよりも時間がかかることがある。したがって、Bスライスが多くの小さい双方向インター予測PUを含む場合、PUの各々のための2つの参照ブロックを取り出すために必要とされる追加の時間は、ビデオコーダがBスライス中のPUのための予測ビデオブロックを生成することが可能である速度を低下させ得る。
[0082]本開示の技法の様々な例によれば、ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、Bスライス中のPUが単方向インター予測に制限されるかどうかを判断し得る。いくつかの例では、ビデオコーダは、PUを特徴づけるサイズまたはパラメータに基づいて、PUが単方向インター予測に制限されると判断し得る。さらに、ビデオコーダは、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断し得る。PUが単方向インター予測に制限される場合、ビデオコーダは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。一方、PUが単方向インター予測に制限されない場合、ビデオコーダは、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。ビデオコーダは、単一の参照ブロックに基づいて予測ビデオブロックを生成するとき、2つの参照ブロックに基づいて予測ビデオブロックを生成するときよりも少ないデータをメモリから転送するので、Bスライス中のいくつかのPUをビデオエンコーダおよびデコーダによる単方向インター予測に制限することは、ビデオエンコーダおよびデコーダがBスライス中のPUのための予測ビデオブロックを生成することが可能である速度を増加させ得る。
[0083]ビデオコーダ、すなわち、ビデオエンコーダまたはビデオデコーダは、様々な基準に基づいて、Bスライス中のPUが単方向インター予測に制限されると判断し得る。たとえば、ビデオコーダは、Bスライス中のPUを特徴づけるサイズが特定のしきい値を下回る場合、PUが単方向インター予測に制限されると判断し得る。この例では、ビデオコーダは、PUを特徴づけるサイズがしきい値を下回らない場合、PUが単方向インター予測に制限されないと判断し得る。たとえば、この例では、ビデオコーダは、PUに関連付けられたビデオブロックの高さまたは幅がしきい値を下回る場合、PUが単方向インター予測に制限されると判断し得る。たとえば、ビデオコーダは、PUに関連付けられたビデオブロックの高さおよび/または幅がN(たとえば、N=8)ピクセルよりも小さい場合、PUが単方向インター予測に制限されると判断し得る。
[0084]別の例では、ビデオコーダは、PUに関連付けられたビデオブロックの第1の寸法がしきい値よりも小さく、PUに関連付けられたビデオブロックの第2の寸法がしきい値以下である場合、Bスライス中のPUが単方向インター予測に制限されると判断し得る。ビデオブロックの寸法は、ビデオブロックの幅または高さであり得る。たとえば、しきい値が8に等しい場合、ビデオコーダは、ビデオブロックの幅が4に等しいが、ビデオブロックの高さが16に等しい場合、PUが単方向インター予測に制限されないと判断し得る。しかしながら、しきい値が8に等しい場合、ビデオコーダは、ビデオブロックの幅が4に等しく、ビデオブロックの高さが8に等しい場合、PUが単方向インター予測に制限されると判断し得る。
[0085]別の例では、ビデオコーダは、PUに関連付けられたビデオブロックの第1の寸法が第1のしきい値よりも小さく、PUに関連付けられたビデオブロックの第2の寸法が第2のしきい値よりも小さい場合、Bスライス中のPUが単方向インター予測に制限されると判断し得る。たとえば、ビデオコーダは、ビデオブロックの幅が8よりも小さく、ビデオブロックの高さが16よりも小さい場合、PUが単方向インター予測に制限されると判断し得る。いくつかの事例では、第1のしきい値は第2のしきい値と同じであり得る。
[0086]別の例では、ビデオコーダは、PU(たとえば、現在CU)に関連付けられたCUを特徴づけるサイズが特定のサイズに等しく、PUを特徴づけるサイズがしきい値を下回る場合、PUが単方向インター予測に制限されると判断し得る。この例では、ビデオコーダは、CUを特徴づけるサイズが特定のサイズに等しくないか、またはPUを特徴づけるサイズがしきい値を下回らない場合、PUが単方向インター予測に制限されないと判断し得る。この例では、特定のサイズはN(たとえば、N=8)ピクセルに等しくなり得、しきい値はまた、N(たとえば、N=8)ピクセルに等しくなり得る。この例では、8×8サイズをもつCUの場合、8×8よりも小さいサイズを有するCUのどのPUも、双方向インター予測を禁止され得る。
[0087]別の例では、ビデオコーダは、Bスライス中のPUが単方向インター予測に制限されるべきであることをパラメータが示す場合、Bスライス中のPUが単方向インター予測に制限されると判断し得る。
[0088]ビデオコーダは、様々な方法で、Bスライス中のPUを単方向インター予測に制限し得る。たとえば、ビデオコーダは、PUの動き情報に関連付けられた参照ブロックのうちの1つを無視し、PUの動き情報に関連付けられた参照ブロックのうちの他の1つに基づいてPUの予測ビデオブロックを生成し得る。たとえば、ビデオコーダはマージ候補リストを生成し得、選択されたマージ候補が双方向マージ候補である場合、ビデオコーダは、選択されたマージ候補のリスト0参照ピクチャインデックスに関連付けられた参照ブロックと、選択されたマージ候補のリスト0動きベクトルとに基づいて、PUのための予測ビデオブロックを生成し得る。同様の例では、ビデオコーダは、選択されたマージ候補のリスト1参照ピクチャインデックスに関連付けられた参照ブロックと、選択されたマージ候補のリスト1動きベクトルとに基づいて、PUのための予測ビデオブロックを生成し得る。
[0089]ビデオコーダがどのようにBスライス中のPUを単方向インター予測に制限し得るかについての別の例では、ビデオコーダは、双方向マージ候補をPUのためのマージ候補リストに含めることなしに単方向マージ候補をPUのためのマージ候補リストに含め得る。ビデオコーダは、この例では、双方向マージ候補を単方向マージ候補に変換しない。この例では、ビデオコーダは、利用可能な単方向マージ候補の数がマージ候補リストを満たすには不十分である場合、アーティフィシャル単方向マージ候補をマージ候補リストに含め得る。アーティフィシャルマージ候補は、1つまたは複数のPUの動き情報に基づいて生成されるが、1つまたは複数のPUの動き情報を指定しない、マージ候補であり得る。
[0090]ビデオコーダがどのようにBスライス中のPUを単方向インター予測に制限し得るかについての別の例では、ビデオコーダは、双方向マージ候補を1つまたは複数の単方向マージ候補に変換し、1つまたは複数の単方向マージ候補をマージ候補リストに含め得る。いくつかのそのような例では、ビデオコーダは、双方向マージ候補を、リスト0中の参照ピクチャまたはリスト1中の参照ピクチャに関連付けられた単一の単方向マージ候補に変換し得る。いくつかのそのような事例では、ビデオコーダが双方向マージ候補を単方向マージ候補に変換するときはいつでも、単方向マージ候補は特定の参照リスト中の参照ピクチャに関連付けられる。たとえば、ビデオコーダは、双方向マージ候補をリスト0中の参照ピクチャに関連付けられた単一の単方向マージ候補のみに変換し得る。代替として、ビデオコーダは、双方向マージ候補をリスト1中の参照ピクチャに関連付けられた単一の単方向マージ候補のみに変換し得る。他のそのような例では、ビデオコーダは、双方向マージ候補を、一方がリスト0中の参照ピクチャに関連付けられ、他方がリスト1中の参照ピクチャに関連付けられた2つの単方向マージ候補に変換し得る。したがって、いくつかの例では、マージ候補リストを生成した後、ビデオコーダは、マージ候補リスト中の双方向マージ候補を単方向マージ候補に変換し、双方向マージ候補の代わりに単方向マージ候補をマージ候補リストに含め得る。
[0091] いくつかの例では、ビデオコーダは、双方向マージ候補を単方向マージ候補に変換する前に、マージ候補リストから重複マージ候補を除去し得る。他の例では、ビデオコーダは、双方向マージ候補を単方向マージ候補に変換した後に、マージ候補リストから重複マージ候補を除去し得る。
[0092]ビデオエンコーダ20がAMVPを使用してBスライス中のPUの動き情報を符号化するとき、ビデオエンコーダ20は、PUのためのインター予測モードインジケータを生成し、エントロピー符号化し、出力し得る。インター予測モードインジケータは、「inter_pred_idc」として示され得る。インター予測モードインジケータは、PUがリスト0に基づいて単方向にインター予測されるか、リスト1に基づいて単方向にインター予測されるか、双方向にインター予測されるかを示し得る。ビデオデコーダ30は、PUに対してインター予測を実行するときにインター予測モードインジケータを使用し得る。インター予測モードインジケータは3つの可能な値を有するので、インター予測モードインジケータは従来では2ビットを使用して表され得る。
[0093]しかしながら、Bスライス中のPUが単方向インター予測に制限される場合、インター予測モードインジケータは、リスト0に基づく単方向インター予測とリスト1に基づく単方向インター予測という2つの可能な値を有し得る。したがって、本開示の技法によれば、Bスライス中のPUが単方向インター予測に制限される場合、インター予測モードインジケータは単一のビットを使用して表され得る。そうではなく、PUが単方向インター予測に制限されない場合、インター予測モードインジケータは2ビットを使用して表され得る。PUが単方向インター予測に制限されるときに、単一のビットを使用してインター予測モードインジケータを表すことは、コーディング効率を高め得る。
[0094]さらに、PUが単方向インター予測に制限される場合、PUが単方向インター予測に制限されない場合とは異なるコンテキストが、Bスライス中のPUのインター予測モードインジケータをエントロピーコーディングするために使用され得る。これは、コーディング効率をさらに高め得る。
[0095]図2は、本開示の技法を実装するように構成された例示的なビデオエンコーダ20を示すブロック図である。図2は、説明を目的に与えられており、本開示において広く例示され説明される技法を限定するものと見なされるべきではない。説明のために、本開示では、HEVCコーディングのコンテキストにおいてビデオエンコーダ20について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。
[0096]図2の例では、ビデオエンコーダ20は、複数の機能構成要素を含む。ビデオエンコーダ20の機能構成要素は、予測モジュール100と、残差生成モジュール102と、変換モジュール104と、量子化モジュール106と、逆量子化モジュール108と、逆変換モジュール110と、再構成モジュール112と、フィルタモジュール113と、復号ピクチャバッファ114と、エントロピー符号化モジュール116とを含む。予測モジュール100は、インター予測モジュール121と、動き推定モジュール122と、動き補償モジュール124と、イントラ予測モジュール126とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能構成要素を含み得る。さらに、動き推定モジュール122と動き補償モジュール124は、高度に統合され得るが、図2の例では、説明の目的で別々に表されている。
[0097]ビデオエンコーダ20はビデオデータを受信し得る。ビデオエンコーダ20は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ20は、ビデオソース18(図1)または別のソースからビデオデータを受信し得る。ビデオデータは、一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ20は、ピクチャの各々に対して符号化演算を実行し得る。ピクチャに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、ピクチャの各スライスに対して符号化演算を実行し得る。スライスに対して符号化演算を実行することの一部として、ビデオエンコーダ20は、スライス中のツリーブロックに対して符号化演算を実行し得る。
[0098]ツリーブロックに対して符号化演算を実行することの一部として、予測モジュール100は、ツリーブロックのビデオブロックに対して4分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるCUに関連付けられ得る。たとえば、予測モジュール100は、ツリーブロックのビデオブロックを4つの等しいサイズのサブブロックに区分し、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
[0099]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は非負整数値を表す。
[0100]さらに、ツリーブロックに対して符号化演算を実行することの一部として、予測モジュール100は、ツリーブロック用の階層的な4分木データ構造を生成し得る。たとえば、ツリーブロックは、4分木データ構造のルートノードに対応し得る。予測モジュール100が、ツリーブロックのビデオブロックを4つのサブブロックに区分する場合、ルートノードは、4分木データ構造中に4つの子ノードを有する。子ノードの各々は、サブブロックのうちの1つに関連付けられたCUに対応する。予測モジュール100が、サブブロックのうちの1つを4つのサブサブブロックに区分する場合、サブブロックに関連付けられたCUに対応するノードは、サブサブブロックのうちの1つに関連付けられたCUに各々が対応する、4つの子ノードを有し得る。
[0101]4分木データ構造の各ノードは、対応するツリーブロックまたはCUのシンタックスデータ(たとえば、シンタックス要素)を含み得る。たとえば、4分木の中のノードは、そのノードに対応するCUのビデオブロックが4つのサブブロックに区分される(すなわち、分割される)かどうかを示す分割フラグを含み得る。CUのためのシンタックス要素は、再帰的に定義され得、CUのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないCUは、4分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロック用の4分木データ構造に基づくデータを含み得る。
[0102]ビデオエンコーダ20は、ツリーブロックの区分されていない各CUに対して符号化演算を実行し得る。ビデオエンコーダ20が区分されていないCUに対して符号化演算を実行するとき、ビデオエンコーダ20は、区分されていないCUの符号化表現を生成し得る。
[0103]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のビデオブロックを区分するように、幾何学的な区分を実行し得る。
[0104]インター予測モジュール121はCUの各PUに対してインター予測を実行し得る。インター予測は時間圧縮を実現し得る。インター予測モジュール121がPUに対してインター予測を実行するとき、インター予測モジュール121は、PUのための予測データを生成し得る。PUのための予測データは、PUに対応する予測ビデオブロックとPUのための動き情報とを含み得る。動き推定モジュール122は、PUのための動き情報を生成し得る。場合によっては、動き推定モジュール122は、マージモードまたはAMVPモードを使用して、PUの動き情報をシグナリングし得る。動き補償モジュール124は、現在ピクチャとは異なる1つまたは複数のピクチャ(すなわち、参照ピクチャ)のサンプルに基づいて、PUの予測ビデオブロックを生成し得る。
[0105]スライスは、Iスライス、Pスライス、またはBスライスであり得る。動き推定モジュール122および動き補償モジュール124は、PUがIスライス中にあるか、Pスライス中にあるか、Bスライス中にあるかに応じて、CUのPUに対して異なる演算を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、動き推定モジュール122および動き補償モジュール124は、PUに対してインター予測を実行しない。
[0106]PUがPスライス中にある場合、PUを含んでいるピクチャは、「リスト0」と呼ばれる参照ピクチャのリストに関連付けられる。いくつかの例では、リスト0中に記載された各参照ピクチャは、表示順序において現在ピクチャの前に生じる。リスト0中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定モジュール122が、Pスライス中のPUに関して動き推定演算を実行するとき、動き推定モジュール122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得る。PUの参照ブロックは、PUのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定モジュール122は、様々なメトリクスを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを判断し得る。たとえば、動き推定モジュール122は、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分による評価基準によって、参照ピクチャ中のサンプルのセットがどの程度密接にPUのビデオブロック中のサンプルに対応するかを判断し得る。
[0107]Pスライス中のPUの参照ブロックを識別または合成した後、動き推定モジュール122は、参照ブロックを含んでいる、リスト0中の参照ピクチャを示す参照ピクチャインデックスと、PUと参照ブロックの間の空間変位を示す動きベクトルとを生成し得る。動き推定モジュール122は、動きベクトルを様々な精度に生成し得る。たとえば、動き推定モジュール122は、1/4サンプル精度、1/8サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定モジュール122は、PUの動き情報として、参照ピクチャインデックスと動きベクトルとを出力し得る。動き補償モジュール124は、PUの動き情報に関連付けられた参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0108]PUがBスライス中にある場合、PUを含むピクチャは、「リスト0」および「リスト1」と呼ばれる参照ピクチャの2つのリストと関連付けられ得る。いくつかの例では、Bスライスを含むピクチャは、リスト0とリスト1の組合せである、リストの組合せと関連付けられ得る。いくつかの例では、リスト1中に記載された各参照ピクチャは、表示順序において現在ピクチャの後に生じる。
[0109]さらに、PUがBスライス中にある場合、動き推定モジュール122は、PUについての単方向インター予測または双方向インター予測を実行し得る。動き推定モジュール122が、PUについての単方向インター予測を実行するとき、動き推定モジュール122は、PUのための参照ブロックについて、リスト0またはリスト1の参照ピクチャを探索し得る。動き推定モジュール122は、次いで、参照ブロックを含んでいる、リスト0またはリスト1中の参照ピクチャを示す参照ピクチャインデックスと、PUと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。
[0110]動き推定モジュール122が、PUについての双方向予測を実行するとき、動き推定モジュール122は、PUのための参照ブロックについて、リスト0中の参照ピクチャを探索し得、また、PUのための別の参照ブロックについて、リスト1中の参照ピクチャを探索し得る。動き推定モジュール122は、次いで、参照ブロックを含んでいる、リスト0およびリスト1中の参照ピクチャを示す参照ピクチャインデックスと、参照ブロックとPUの間の空間変位を示す動きベクトルとを生成し得る。PUの動き情報は、PUの参照ピクチャインデックスと動きベクトルとを含み得る。動き補償モジュール124は、PUの動き情報によって示された参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。
[0111]動き補償モジュール124は、PUの動き情報に関連付けられた1つまたは複数の参照ブロックに基づいて、PUの予測ビデオブロックを生成し得る。本開示の技法によれば、動き補償モジュール124は、PUが単方向インター予測に制限されるかどうかを判断し得る。さらに、動き補償モジュール124は、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断し得る。PUが単方向インター予測に制限される場合、動き補償モジュール124は、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。PUが単方向インター予測に制限されない場合、動き補償モジュール124は、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0112]CUに対して符号化演算を実行することの一部として、イントラ予測モジュール126は、CUのPUに対してイントラ予測を実行し得る。イントラ予測は空間的な圧縮を実現し得る。イントラ予測モジュール126がPUに対してイントラ予測を実行するとき、イントラ予測モジュール126は、同じピクチャ中の他のPUの復号サンプルに基づいて、PUのための予測データを生成し得る。PUのための予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測モジュール126は、Iスライス、Pスライス、およびBスライスの中のPUに対してイントラ予測を実行し得る。
[0113]PUに対してイントラ予測を実行するために、イントラ予測モジュール126は、複数のイントラ予測モードを使用して、PUのための予測データの複数のセットを生成し得る。イントラ予測モジュール126が、イントラ予測モードを使用してPUのための予測データのセットを生成するとき、イントラ予測モジュール126は、イントラ予測モードに関連付けられた方向および/または勾配で、隣接PUのビデオブロックからPUのビデオブロックにわたって、サンプルを延ばし得る。隣接PUは、PU、CU、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測モジュール126は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数はPUのサイズに依存し得る。
[0114]予測モジュール100は、PUについて動き補償モジュール124によって生成された予測データ、またはPUについてイントラ予測モジュール126によって生成された予測データの中から、PUのための予測データを選択し得る。いくつかの例では、予測モジュール100は、予測データのセットのレート/ひずみメトリックに基づいて、PUのための予測データを選択する。
[0115]予測モジュール100が、イントラ予測モジュール126によって生成された予測データを選択する場合、予測モジュール100は、PUの予測データを生成するために使用されたイントラ予測モード、すなわち、選択されたイントラ予測モードをシグナリングし得る。予測モジュール100は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUに対して最確モードであり得る。したがって、予測モジュール100は、選択されたイントラ予測モードが隣接PUのイントラ予測モードと同じであることを示すために、シンタックス要素を生成し得る。
[0116]予測モジュール100がCUのPUのための予測データを選択した後、残差生成モジュール102は、CUのビデオブロックからCUのPUの予測ビデオブロックを差し引くことによって、CUの残差データを生成し得る。CUの残差データは、CUのビデオブロック中のサンプルの異なるサンプル成分に対応する、2D残差ビデオブロックを含み得る。たとえば、残差データは、CUのPUの予測ビデオブロック中のサンプルのルミナンス成分と、CUの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。加えて、CUの残差データは、CUのPUの予測ビデオブロック中のサンプルのクロミナンス成分と、CUの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
[0117]予測モジュール100は、4分木区分を実行して、CUの残差ビデオブロックをサブブロックに区分し得る。各分割されていない残差ビデオブロックは、CUの異なるTUに関連付けられ得る。CUのTUに関連付けられた残差ビデオブロックのサイズおよび位置は、CUのPUに関連付けられたビデオブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT:residual quad tree)として知られる4分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
[0118]変換モジュール104は、TUに関連付けられた残差ビデオブロックに1つまたは複数の変換を適用することによって、CUの各TUのための1つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の2D行列であり得る。変換モジュール104は、TUに関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換モジュール104は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を、TUに関連付けられた残差ビデオブロックに適用し得る。
[0119]変換モジュール104が、TUに関連付けられた変換係数ブロックを生成した後、量子化モジュール106は、変換係数ブロック中の変換係数を量子化し得る。量子化モジュール106は、CUに関連付けられたQP値に基づいて、CUのTUに関連付けられた変換係数ブロックを量子化し得る。
[0120]ビデオエンコーダ20は、様々な方法でQP値をCUに関連付け得る。たとえば、ビデオエンコーダ20は、CUに関連付けられたツリーブロックに対して、レートひずみ分析を実行し得る。レートひずみ分析では、ビデオエンコーダ20は、ツリーブロックに対して符号化演算を複数回実行することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ20がツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ20は、異なるQP値をCUに関連付け得る。ビデオエンコーダ20は、最小のビットレートおよびひずみメトリックを有するツリーブロックのコード化表現で所与のQP値がCUに関連付けられるとき、所与のQP値がCUに関連付けられることをシグナリングし得る。
[0121]逆量子化モジュール108および逆変換モジュール110は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを再構成し得る。再構成モジュール112は、再構成された残差ビデオブロックを、予測モジュール100によって生成された1つまたは複数の予測ビデオブロックからの対応するサンプルに追加して、TUに関連付けられた再構成されたビデオブロックを生成し得る。このようにCUの各TUのためのビデオブロックを再構成することによって、ビデオエンコーダ20は、CUのビデオブロックを再構成し得る。
[0122]加算器として表された再構成モジュール112がCUのビデオブロックを再構成した後、フィルタモジュール113は、デブロッキング演算を実行して、CUに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減し得る。1つまたは複数のデブロッキング演算を実行した後、フィルタモジュール113は、復号ピクチャバッファ114にCUの再構成されたビデオブロックを記憶し得る。動き推定モジュール122および動き補償モジュール124は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続ピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測モジュール126は、復号ピクチャバッファ114中の再構成されたビデオブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行し得る。
[0123]エントロピー符号化モジュール116は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化モジュール116は、量子化モジュール106から変換係数ブロックを受信し得、予測モジュール100からシンタックス要素を受信し得る。エントロピー符号化モジュール116がデータを受信するとき、エントロピー符号化モジュール116は、1つまたは複数のエントロピー符号化演算を実行して、エントロピー符号化されたデータを生成し得る。たとえば、ビデオエンコーダ20は、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)演算、CABAC演算、変数−変数(V2V:variable-to-variable)レングスコーディング演算、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。エントロピー符号化モジュール116は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
[0124]データに対してエントロピー符号化演算を実行することの一部として、エントロピー符号化モジュール116は、コンテキストモデルを選択し得る。エントロピー符号化モジュール116がCABAC演算を実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。CABACのコンテキストでは、「ビン」という用語は、シンタックス要素の2値化されたバージョンのビットを指すために使用される。
[0125]図3は、本開示の技法を実装するように構成された例示的なビデオデコーダ30を示すブロック図である。図3は、説明のために与えられており、本開示おいて広く例示され説明される技法に対する限定ではない。説明のために、本開示では、HEVCコーディングの状況において、ビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。
[0126]図3の例では、ビデオデコーダ30は、複数の機能構成要素を含む。ビデオデコーダ30の機能構成要素は、エントロピー復号モジュール150と、予測モジュール152と、逆量子化モジュール154と、逆変換モジュール156と、再構成モジュール158と、フィルタモジュール159と、復号ピクチャバッファ160とを含む。予測モジュール152は、動き補償モジュール162とイントラ予測モジュール164とを含む。いくつかの例では、ビデオデコーダ30は、図2のビデオエンコーダ20に関して説明された符号化経路とは全般に逆の復号経路を実行し得る。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[0127]ビデオデコーダ30は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは、複数のシンタックス要素を含み得る。ビデオデコーダ30がビットストリームを受信したとき、エントロピー復号モジュール150は、ビットストリームに対してパース演算を実行し得る。ビットストリームに対してパース演算を実行した結果として、エントロピー復号モジュール150は、ビットストリームからシンタックス要素を抽出し得る。パース演算を実行することの一部として、エントロピー復号モジュール150は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測モジュール152、逆量子化モジュール154、逆変換モジュール156、再構成モジュール158、およびフィルタモジュール159は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実行し得る。
[0128]上記で説明したように、ビットストリームは、一連のNALモジュールを備え得る。ビットストリームのNALモジュールは、シーケンスパラメータセットNALモジュール、ピクチャパラメータセットNALモジュール、SEI NALモジュールなどを含み得る。ビットストリームに対してパース演算を実行することの一部として、エントロピー復号モジュール150は、シーケンスパラメータセットNALモジュールからのシーケンスパラメータセット、ピクチャパラメータセットNALモジュールからのピクチャパラメータセット、SEI NALモジュールからのSEIデータなどを抽出しエントロピー復号する、パース演算を実行し得る。
[0129]加えて、ビットストリームのNALモジュールは、コード化スライスNALモジュールを含み得る。ビットストリームに対してパース演算を実行することの一部として、エントロピー復号モジュール150は、コード化スライスNALモジュールからコード化スライスを抽出しエントロピー復号する、パース演算を実行し得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号モジュール150は、コード化されたスライスヘッダ中のシンタックス要素に対して、CABAC復号演算などのエントロピー復号演算を実行して、スライスヘッダを再構成し得る。
[0130]コード化スライスのNALモジュールからスライスデータを抽出することの一部として、エントロピー復号モジュール150は、スライスデータ中のコード化CUからシンタックス要素を抽出するパース演算を実行し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号モジュール150は、次いで、シンタックス要素のうちのいくつかに対してCABAC復号演算を実行し得る。
[0131]エントロピー復号モジュール150が区分されていないCUに対してパース演算を実行した後、ビデオデコーダ30は、区分されていないCUに対して再構成演算を実行し得る。区分されていないCUに対して再構成演算を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成演算を実行し得る。CUの各TUについて再構成演算を実行することによって、ビデオデコーダ30は、CUに関連付けられた残差ビデオブロックを再構成し得る。
[0132]TUに対して再構成演算を実行することの一部として、逆量子化モジュール154は、TUに関連付けられた変換係数ブロックを逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)し得る。逆量子化モジュール154は、HEVC用に提案された、またはH.264復号規格によって定義された逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化モジュール154は、量子化の程度を判断し、同様に、逆量子化モジュール154が適用するべき逆量子化の程度を判断するために、変換係数ブロックのCUのためにビデオエンコーダ20によって計算される量子化パラメータQPを使用し得る。
[0133]逆量子化モジュール154が変換係数ブロックを逆量子化した後、逆変換モジュール156は、変換係数ブロックに関連付けられたTUのための残差ビデオブロックを生成し得る。逆変換モジュール156は、TUのための残差ビデオブロックを生成するために、逆変換を変換係数ブロックに適用し得る。たとえば、逆変換モジュール156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向性変換、または別の逆変換を変換係数ブロックに適用し得る。
[0134]いくつかの例では、逆変換モジュール156は、ビデオエンコーダ20からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を判断し得る。そのような例では、逆変換モジュール156は、変換係数ブロックに関連付けられたツリーブロックの4分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を判断し得る。他の例では、逆変換モジュール156は、ブロックサイズ、コーディングモードなど、1つまたは複数のコーディング特性から逆変換を推論し得る。いくつかの例では、逆変換モジュール156はカスケード逆変換を適用し得る。
[0135]PUがスキップモードで符号化されるか、またはPUの動き情報がマージモードを使用して符号化される場合、動き補償モジュール162は、PUのためのマージ候補リストを生成し得る。動き補償モジュール162は、次いで、マージ候補リスト中の選択されたマージ候補を識別し得る。マージ候補リスト中の選択されたマージ候補を識別した後、動き補償モジュール162は、選択されたマージ候補によって示された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0136]本開示の技法によれば、動き補償モジュール162は、PUが単方向インター予測に制限されるかどうかを判断し得る。さらに、動き補償モジュール162は、PUのためのマージ候補リストを生成し、マージ候補リスト中の選択されたマージ候補を判断し得る。PUが単方向インター予測に制限される場合、動き補償モジュール162は、選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。そうではなく、PUが単方向インター予測に制限されない場合、動き補償モジュール162は、選択されたマージ候補によって指定された動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0137]PUの動き情報がAMVPモードを使用して符号化される場合、動き補償モジュール162は、リスト0MV予測子候補リストおよび/またはリスト1MV予測子候補リストを生成し得る。動き補償モジュール162は、次いで、選択されたリスト0MV予測子候補リストおよび/または選択されたリスト1MV予測子候補リストを判断し得る。次に、動き補償モジュール162は、リスト0MVD、リスト1MVD、選択されたリスト0MV予測子候補リストによって指定されたリスト0動きベクトル、および/または選択されたリスト1MV予測子候補リストによって指定されたリスト1動きベクトルに基づいて、PUのためのリスト0動きベクトルおよび/またはPUのためのリスト1動きベクトルを判断し得る。動き補償モジュール162は、次いで、リスト0動きベクトルおよびリスト0参照ピクチャインデックスならびに/またはリスト1動きベクトルおよびリスト1参照ピクチャインデックスに関連付けられた参照ブロックに基づいて、PUのための予測ビデオブロックを生成し得る。
[0138]いくつかの例では、動き補償モジュール162は、補間フィルタに基づいて補間を実行することによって、PUの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償に使用されるべき補間フィルタのための識別子は、シンタックス要素中に含まれ得る。動き補償モジュール162は、PUの予測ビデオブロックの生成中にビデオエンコーダ20によって使用された同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについて補間された値を計算し得る。動き補償モジュール162は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
[0139]イントラ予測を使用してPUが符号化される場合、イントラ予測モジュール164は、イントラ予測を実行して、PUのための予測ビデオブロックを生成し得る。たとえば、イントラ予測モジュール164は、ビットストリーム中のシンタックス要素に基づいて、PUのためのイントラ予測モードを判断し得る。ビットストリームは、PUのイントラ予測モードを判断するためにイントラ予測モジュール164が使用し得るシンタックス要素を含み得る。
[0140]いくつかの事例では、シンタックス要素は、イントラ予測モジュール164が別のPUのイントラ予測モードを使用して現在PUのイントラ予測モードを判断すべきであることを示し得る。たとえば、現在PUのイントラ予測モードが、隣接PUのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接PUのイントラ予測モードは、現在PUに対して最確モードであり得る。したがって、この例では、ビットストリームは、PUのイントラ予測モードが、隣接PUのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測モジュール164は、次いで、イントラ予測モードを使用して、空間的に隣接するPUのビデオブロックに基づいて、PUのための予測データ(たとえば、予測サンプル)を生成し得る。
[0141]再構成モジュール158は、適用可能なとき、CUのTUに関連付けられた残差ビデオブロックとCUのPUの予測ビデオブロックとを使用して、すなわち、イントラ予測データまたはインター予測データのいずれかを使用して、CUのビデオブロックを再構成し得る。詳細には、再構成モジュール158は、残差データを予測データに加算して、コード化ビデオデータを再構成し得る。したがって、ビデオデコーダ30は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
[0142]再構成モジュール158がCUのビデオブロックを再構成した後、フィルタモジュール159は、デブロッキング演算を実行して、CUに関連付けられたブロッキングアーティファクトを低減し得る。フィルタモジュール159がデブロッキング演算を実行してCUに関連付けられたブロッキングアーティファクトを低減した後、ビデオデコーダ30は、復号ピクチャバッファ160にCUのビデオブロックを記憶し得る。復号ピクチャバッファ160は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ160中のビデオブロックに基づいて、他のCUのPUに対して、イントラ予測演算またはインター予測演算を実行し得る。
[0143]図4は、例示的な動き補償演算200を示すフローチャートである。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、動き補償演算200を実行し得る。ビデオコーダは、動き補償演算200を実行して、現在PUのための予測ビデオブロックを生成し得る。
[0144]ビデオコーダが動き補償演算200を開始した後、ビデオコーダは、現在PUのための予測モードがスキップモードであるかどうかを判断する(202)。現在PUのための予測モードがスキップモードでない場合(202の「いいえ」)、ビデオコーダは、現在PUのための予測モードがインターモードであり、現在PUのインター予測モードがマージモードであるかどうかを判断する(204)。現在PUの予測モードがスキップモードである場合(202の「はい」)、または現在PUの予測モードがインターモードであり、現在PUのインター予測モードがマージモードである場合(204の「はい」)、ビデオコーダは、現在PUのためのマージ候補リストを生成する(206)。マージ候補リストは複数のマージ候補を含み得る。マージ候補の各々は、1つまたは複数の動きベクトル、1つまたは複数の参照ピクチャインデックス、リスト0予測フラグ、およびリスト1予測フラグなど、動き情報のセットを指定する。マージ候補リストは、1つまたは複数の単方向マージ候補または双方向マージ候補を含み得る。いくつかの例では、ビデオコーダは、図6に関して以下で説明する例示的な演算を実行して、マージ候補リストを生成し得る。
[0145]マージ候補リストを生成した後、ビデオコーダは、マージ候補リスト中の選択されたマージ候補を判断する(208)。ビデオコーダがビデオエンコーダである場合、ビデオコーダは、レートひずみ分析に基づいてマージ候補リストからマージ候補を選択し得る。ビデオコーダがビデオデコーダである場合、ビデオコーダは、マージ候補リスト中の選択されたマージ候補の位置を識別するシンタックス要素(たとえば、merge_idx)に基づいて、マージ候補を選択し得る。
[0146]ビデオコーダは、次いで、選択されたマージ候補によって指定された動き情報に基づいて、現在PUの動き情報を判断する(210)。動き情報は、1つまたは複数の動きベクトルと参照ピクチャインデックスとを含み得る。ビデオデコーダは、様々な方法で、選択されたマージ候補によって指定された動き情報に基づいて現在PUの動き情報を判断し得る。たとえば、ビデオコーダは、現在PUの動き情報が、選択されたマージ候補によって指定された動き情報と同じであると判断し得る。
[0147]現在PUのためのインター予測モードがマージモードでない場合(204の「いいえ」)、ビデオコーダは、AMVPモードを使用して現在PUの動き情報を判断する(212)。以下で詳細に説明する図8は、AMVPモードを使用してPUの動き情報を判断するための例示的な演算を示すフローチャートである。
[0148]現在PUの動き情報を判断した後、ビデオコーダは、現在PUが単方向インター予測に制限されるかどうかを判断する(214)。ビデオコーダは、様々な方法で、現在PUが単方向インター予測に制限されるかどうかを判断し得る。たとえば、ビデオコーダは、現在PUを特徴づけるサイズがしきい値よりも小さい場合、その現在PUが単方向インター予測に制限されると判断し得る。この例では、ビデオコーダは、PUのサイズが8×4、4×8、またはそれよりも小さい場合、現在PUが単方向インター予測に制限されると判断し得る。別の例では、ビデオコーダがビデオデコーダである場合、ビデオデコーダは、受信されたビットストリーム中のシンタックス要素に基づいて、現在PUが単方向インター予測に制限されると判断し得る。
[0149]現在PUが単方向インター予測に制限されると判断したことに応答して(214の「はい」)、ビデオコーダは、現在PUの動き情報に関連付けられた1つ以下の参照ブロックに基づいて、現在PUのための予測ビデオブロックを生成する(216)。上記のように、参照ブロックは、選択されたマージ候補によって指定された動き情報によって識別され得るか、または選択されたマージ候補によって指定された動き情報によって識別された参照サンプルから合成され得る。
[0150]一方、現在PUが単方向インター予測に制限されないと判断したことに応答して(214の「いいえ」)、ビデオコーダは、現在PUの動き情報に関連付けられた1つまたは複数の参照ブロックに基づいて、現在PUのための予測ビデオブロックを生成する(218)。上記のように、1つまたは複数の参照ブロックは、選択されたマージ候補によって指定された動き情報によって識別され得、および/または選択されたマージ候補によって指定された動き情報によって識別された参照サンプルから合成され得る。
[0151]図5は、別の例示的な動き補償演算270を示すフローチャートである。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、動き補償演算270を実行して、現在PUのための予測ビデオブロックを生成し得る。ビデオコーダは、動き補償演算200を実行することの代替として、動き補償演算270を実行し得る。
[0152]ビデオコーダが動き演算270を開始した後、ビデオコーダは、現在PUのための予測モードがスキップモードであるかどうかを判断する(272)。現在PUのための予測モードがスキップモードでない場合(272の「いいえ」)、ビデオコーダは、現在PUのための予測モードがインターモードであり、現在PUのインター予測モードがマージモードであるかどうかを判断する(273)。現在PUの予測モードがスキップモードである場合(272の「はい」)、または現在PUの予測モードがインターモードであり、現在PUのインター予測モードがマージモードである場合(273の「はい」)、ビデオコーダは、現在PUが単方向インター予測に制限されるかどうかを判断する(274)。現在PUが単方向インター予測に制限される場合(274の「はい」)、ビデオコーダは、マージ候補リストが双方向マージ候補を含まないように、現在PUのためのマージ候補リストを生成する(276)。ビデオコーダは、図6に示す例示的な演算を使用して、現在PUのためのマージ候補リストを生成し得る。
[0153]一方、現在PUが単方向インター予測に制限されない場合(274の「いいえ」)、ビデオコーダは、単方向マージ候補と双方向マージ候補とを含み得るマージ候補リストを生成する(278)。いくつかの例では、ビデオコーダは、図6に関して以下で説明する例示的な演算を実行して、マージ候補リストを生成し得る。したがって、現在PUが単方向インター予測に制限されない場合、マージ候補リストは、単方向マージ候補と双方向マージ候補とを含み得る。
[0154]現在PUのためのマージ候補リストを生成した後、ビデオコーダは、マージ候補リスト中の選択されたマージ候補を判断する(280)。ビデオコーダがビデオエンコーダである場合、ビデオコーダは、レートひずみ分析に基づいてマージ候補リストからマージ候補を選択し得る。ビデオコーダがビデオデコーダである場合、ビデオコーダは、マージ候補リスト中の選択されたマージ候補の位置を識別するシンタックス要素(たとえば、merge_idx)に基づいて、マージ候補を選択し得る。
[0155]ビデオコーダは、次いで、選択されたマージ候補によって指定された動き情報に基づいて、現在PUの動き情報を判断する(282)。選択されたマージ候補によって指定された動き情報は、1つまたは複数の動きベクトルと、1つまたは複数の参照ピクチャインデックスとを指定し得る。ビデオデコーダは、様々な方法で、選択されたマージ候補によって指定された動き情報に基づいて現在PUの動き情報を判断し得る。たとえば、ビデオコーダは、現在PUの動き情報が、選択されたマージ候補によって指定された動き情報と同じであると判断し得る。
[0156]現在PUのためのインター予測モードがマージモードでない場合(273の「いいえ」)、ビデオコーダは、AMVPモードを使用して現在PUの動き情報を判断する(284)。以下で詳細に説明する図8は、AMVPモードを使用してPUの動き情報を判断するための例示的な演算を示すフローチャートである。
[0157]現在PUの動き情報を判断した後、ビデオコーダは、現在PUのための予測ビデオブロックを生成する(286)。現在PUが単方向インター予測に制限される場合、マージ候補リストは単方向マージ候補のみを含むので、選択されたマージ候補は、単一の参照ブロックのみに関連付けられる。したがって、現在PUがBスライス中にあり、単方向インター予測に制限される場合、現在PUのための予測ビデオブロックは、選択されたマージ候補によって指定された動き情報に関連付けられた1つ以下の参照ブロックに基づき得る。
[0158]一方、現在PUが単方向インター予測に制限されない場合、マージ候補リストは、単方向マージ候補と双方向マージ候補とを含み得る。マージ候補リストが単方向マージ候補と双方向マージ候補とを含み得るので、選択されたマージ候補は、1つまたは2つの参照ブロックに関連付けられ得る。したがって、現在PUがBスライス中にあり、単方向インター予測に制限されない場合、現在PUのための予測ビデオブロックは、選択されたマージ候補に関連付けられた1つまたは複数の参照ブロックに基づき得る。
[0159]図6は、マージ候補リストを生成するための例示的な演算300を示すフローチャートである。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、演算300を実行して、現在PUのためのマージ候補リストを生成し得る。ビデオコーダは、現在PUの予測モードがスキップモードであるとき、または現在PUの予測モードがインターモードであり、現在PUのインター予測モードがマージモードであるとき、演算300を実行し得る。
[0160]ビデオコーダが演算300を開始した後、ビデオコーダは、空間マージ候補の動き情報と利用可能性とを判断する(302)。ビデオコーダは、現在PUに空間的に隣接するロケーションをカバーするPUの動き情報に基づいて、空間マージ候補の動き情報を判断し得る。たとえば、ビデオコーダは、現在PUの左、左下、左上、上、および右上のロケーションをカバーするPUの動き情報に基づいて、空間マージ候補の動き情報を判断し得る。
[0161]ビデオコーダは、様々な方法で、空間マージ候補の利用可能性を判断し得る。たとえば、ビデオコーダは、空間マージ候補が、イントラ予測され、現在フレームの外側に位置し、または現在スライスの外側に位置するPUに対応する場合、空間マージ候補が利用不可能であると判断し得る。さらに、ビデオコーダは、空間マージ候補の動き情報が別の空間マージ候補の動き情報と同じである場合、空間マージ候補が利用不可能であると判断し得る。
[0162]さらに、ビデオコーダは、時間マージ候補の動き情報と利用可能性とを判断する(304)。時間マージ候補は、現在PUとコロケートされるが、現在PUとは異なるピクチャ中にあるPUの動き情報を指定し得る。ビデオコーダは、様々な方法で、時間マージ候補の利用可能性を判断し得る。たとえば、ビデオコーダは、時間マージ候補が、イントラ予測されるPUに対応する場合、時間マージ候補が利用不可能であると判断し得る。
[0163]空間マージ候補と時間マージ候補とを生成した後、ビデオコーダは、空間マージ候補と時間マージ候補とのうちの利用可能なマージ候補を現在PUのためのマージ候補リストに含める(306)。ビデオコーダは、マージ候補が利用可能な場合、空間マージ候補または時間マージ候補をマージ候補リストに含め得、マージ候補が利用不可能な場合、マージ候補をマージ候補リストから除外し得る。利用不可能なマージ候補をマージ候補リストから除外することによって、ビデオコーダは、事実上、利用不可能なマージ候補をマージ候補リストからプルーニングする(たとえば、省略する)プルーニングプロセスを実行し得る。
[0164]いくつかの例では、ビデオコーダは、マージ候補リストが単方向マージ候補のみを含むように、マージ候補リストを生成する。いくつかのそのような例では、ビデオコーダは、双方向マージ候補が利用不可能であると判断し得る。すなわち、ビデオコーダは、マージ候補がリスト0動きベクトルとリスト1動きベクトルとを指定する場合、マージ候補が利用不可能であると判断し得る。したがって、現在PUが単方向予測に制限される場合、ビデオコーダは、単方向マージ候補が利用可能であるが、双方向マージ候補が利用可能でないと判断し得る。ビデオコーダは、利用不可能なマージ候補をマージ候補リストに含め得ないので、マージ候補リストは、いくつかの例では、単方向マージ候補のみを含み得る。この例では、ビデオコーダは、事実上、マージリストから双方向マージ候補をプルーニングするプルーニングプロセスを実行し得る。
[0165]ビデオコーダが、マージ候補リストが単方向マージ候補のみを含むように、マージ候補リストを生成する他の例では、ビデオコーダは、双方向マージ候補を単方向候補に変換し、次いで、単方向マージ候補のうちの利用可能な単方向マージ候補をマージ候補リストに含め得る。そのような例では、ビデオコーダは、単方向マージ候補が、マージ候補リストにすでに追加された単方向マージ候補と同じである場合、単方向マージ候補をマージ候補リストに追加し得ない。このようにして、ビデオコーダは、マージ候補リストから重複単方向マージ候補をプルーニングし得る。マージ候補リストから重複単方向マージ候補をプルーニングする前に双方向マージ候補を単方向マージ候補に変換することによって、ビデオコーダは、プルーニング後にマージ候補リスト中の冗長マージ候補を回避することが可能であり得る。重複単方向マージ候補をプルーニングする前に双方向マージ候補を単方向マージ候補に変換することは、ビデオコーダのハードウェア複雑さを増加させることがある。さらに、ビデオコーダは、同じである複数の双方向マージ候補を単方向マージ候補に変換し得る。
[0166]他の例では、ビデオコーダは、最初に、利用可能な双方向マージ候補を現在PUのためのマージ候補リストに含め得る。ビデオコーダは、次いで、マージ候補リストから重複マージ候補をプルーニングし得る。ビデオコーダがマージ候補リストを生成した後、ビデオコーダは、マージ候補リストから選択されたマージ候補を判断し、選択されたマージ候補が双方向マージ候補である場合、選択されたマージ候補を単方向マージ候補に変換し得る。この例では、ビデオコーダは、リスト0動きベクトルまたはリスト1動きベクトルによって示された参照ブロックのみを使用して現在PUのための予測ビデオブロックを生成することによって、選択された双方向マージ候補を単方向マージ候補に効果的に変換し得る。
[0167]マージ候補リストから重複マージ候補をプルーニングするより前に双方向マージ候補を単方向マージ候補に変換することとは対照的に、マージ候補リストから重複マージ候補をプルーニングした後に、選択された双方向マージ候補を単方向マージ候補に変換することは、複数の変換とは対照的に、単一の変換のみを伴い得る。たとえば、重複マージ候補をプルーニングした後に変換が行われ、選択されたマージ候補がマージ候補リスト中の第3のマージ候補であり、第3のマージ候補が双方向マージ候補である場合、ビデオコーダは、第3のマージ候補のみを単方向マージ候補に変換し得る。この例では、重複マージ候補をプルーニングする前に変換が行われ、選択されたマージ候補がマージ候補リスト中の第3のマージ候補であり、第3のマージ候補が双方向マージ候補である場合、変換の後にプルーニング演算を実行するので、ビデオコーダが選択されたマージ候補を判断することが可能になる前に、ビデオコーダは3つの双方向マージ候補を変換する必要があり得る。
[0168]ビデオコーダは、ビデオコーダが、マージ候補リストから重複マージ候補をプルーニングする前に双方向マージ候補を単方向マージ候補に変換するか、マージ候補リストから重複マージ候補をプルーニングした後に双方向マージ候補を単方向マージ候補に変換するかに応じて、異なるマージ候補リストを生成し得る。たとえば、ビデオコーダは、双方向マージ候補のリスト0動きベクトルを取り、双方向マージ候補のリスト1動きベクトルを無視することによって、双方向マージ候補を単方向マージ候補に変換し得る。この例では、第1のマージ候補は、単方向であり得、値MV1に等しいリスト0動きベクトルを指定し得る。この例では、第2のマージ候補は、双方向であり得、MV1に等しいリスト0動きベクトルと、値MV2に等しいリスト1動きベクトルとを指定し得る。第1のマージ候補と第2のマージ候補とは、同じリスト0参照ピクチャインデックスを指定し得る。この例では、ビデオコーダが、マージ候補リストから重複マージ候補をプルーニングする前に第2のマージ候補を単方向マージ候補に変換する場合、MV1に等しい2つの単方向マージ候補があり得る。したがって、ビデオコーダは、第1のマージ候補にわたって冗長であるので、第2のマージ候補から生成された単方向マージ候補をプルーニングし得る。その結果、ビデオコーダは、ただ1つのマージ候補(たとえば、第1のマージ候補)をマージ候補リストに含め得る。
[0169]ただし、前の段落の例では、ビデオコーダが、マージ候補リストから重複マージ候補をプルーニングした後に第2のマージ候補を単方向マージ候補に変換する場合、ビデオコーダは、第1のマージ候補と第2のマージ候補の両方をマージ候補リストに含め得る。第1のマージ候補と第2のマージ候補とをマージ候補リストに含めた後、ビデオコーダは、第2のマージ候補のリスト0動きベクトルを取り(すなわち、保ち)、第2のマージ候補のリスト1動きベクトルを無視することによって、第2のマージ候補を単方向マージ候補に変換し得る。したがって、マージ候補リストは、事実上、2つのマージ候補を含み得、2つのマージ候補の両方が、MV1に等しいリスト0動きベクトルを指定する。
[0170]利用可能なマージ候補をマージ候補リストに含めた後、ビデオコーダは、現在PUがBスライス中にあるかどうかを判断する(308)。現在PUがBスライス中にあると判断したことに応答して(308の「はい」)、ビデオコーダは、0個以上のアーティフィシャルマージ候補を生成し、アーティフィシャルマージ候補をマージ候補リストに含めるプロセスを実行する(310)。以下で詳細に説明する図7に、アーティフィシャルマージ候補を生成するための例示的なプロセスを示す。
[0171]現在PUがBスライス中にないと判断したことに応答して(308の「いいえ」)またはアーティフィシャルマージ候補を生成するプロセスを実行した後に、ビデオコーダは、マージ候補リスト中のマージ候補の数がマージ候補の最大数よりも小さいかどうかを判断する(312)。マージ候補リスト中のマージ候補の数がマージ候補の最大数以上である場合(312の「いいえ」)、ビデオコーダは、マージ候補リストを生成するのを終える。
[0172]しかしながら、マージ候補リスト中のマージ候補の数がマージ候補の最大数よりも小さいと判断したこと(312の「はい」)に応答して、ビデオコーダは、ゼロ値マージ候補を生成する(314)。現在PUがPスライス中にある場合、ゼロ値マージ候補は、0に等しい大きさを有するリスト0動きベクトルを指定し得る。現在PUがBスライス中にあり、現在PUが単方向インター予測に制限されない場合、ゼロ値マージ候補は、0に等しい大きさを有するリスト0動きベクトルと、0に等しい大きさを有するリスト1動きベクトルとを指定し得る。いくつかの例では、現在PUがBスライス中にあり、現在PUが単方向インター予測に制限される場合、ゼロ値マージ候補は、0に等しい大きさを有するリスト0動きベクトルまたはリスト1動きベクトルのいずれかを指定し得る。ビデオコーダは、次いで、ゼロ値マージ候補をマージ候補リストに含める(316)。
[0173]ゼロ値マージ候補をマージ候補リストに含めた後、ビデオコーダは、再び、マージ候補リスト中のマージ候補の数がマージ候補の最大数よりも小さいかどうかを判断し(312)、そうでない場合、ビデオコーダは、追加のゼロ値マージ候補を生成し得る。このようにして、ビデオコーダは、マージ候補リスト中のマージ候補の数がマージ候補の最大数に等しくなるまで、ゼロ値マージ候補を生成し、ゼロ値マージ候補をマージ候補リストに含め続け得る。
[0174]図7は、アーティフィシャルマージ候補を生成するための例示的なプロセス350を示すフローチャートである。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、プロセス350を実行して、現在PUのためのマージ候補リストに含めるためのアーティフィシャルマージ候補を生成し得る。
[0175]ビデオコーダがプロセス350を開始した後、ビデオコーダは、アーティフィシャルマージ候補を生成すべきかどうかを判断する(352)。ビデオコーダは、様々な方法で、アーティフィシャルマージ候補を生成すべきかどうかを判断し得る。たとえば、ビデオコーダは、マージ候補リスト中のアーティフィシャルマージ候補の数が、マージ候補リスト中の元のマージ候補に基づいて生成され得る固有のアーティフィシャル候補の総数に等しいかどうかを判断し得る。元のマージ候補は、現在PU以外のPUの動き情報を指定するマージ候補であり得る。さらに、この例では、ビデオコーダは、マージ候補リストがマージ候補の最大数を含むかどうかを判断し得る。この例では、これらの条件の両方が偽である場合、ビデオコーダは、アーティフィシャルマージ候補を生成するための判断を行い得る。
[0176]ビデオコーダがアーティフィシャルマージ候補を生成する判断を行った場合(352の「はい」)、ビデオコーダは、現在PUが単方向インター予測に制限されるかどうかを判断する(354)。上記で説明したように、ビデオコーダは、様々な方法で、現在PUが単方向インター予測に制限されるかどうかを判断し得る。たとえば、ビデオコーダは、現在PUを特徴づけるサイズに基づいて、現在PUが単方向インター予測に制限されるかどうかを判断し得る。別の例では、ビデオコーダは、現在ツリーブロック、現在CUまたは現在PUのシンタックス要素中、あるいはスライスヘッダ、PPS、APS、SPS中、あるいは別のパラメータセット中に示されたパラメータに基づいて、現在PUが単方向インター予測に制限されるかどうかを判断し得る。いくつかの例では、ツリーブロック中のパラメータが、ツリーブロックに関連付けられたすべてのPUが単方向インター予測に制限されることを指定し得る。いくつかの例では、CU中のパラメータが、CUに関連付けられたすべてのPUが単方向インター予測に制限されることを指定し得る。いくつかの例では、PPS中のパラメータが、PPSに関連付けられたピクチャに関連付けられたすべてのPUが単方向インター予測に制限されることを指定し得る。いくつかの例では、APS中のパラメータが、APSに関連付けられたピクチャに関連付けられたすべてのPUが単方向インター予測に制限されることを指定し得る。いくつかの例では、SPS中のパラメータが、SPSに関連付けられたシーケンス中のピクチャに関連付けられたすべてのPUが単方向インター予測に制限されることを指定し得る。
[0177]現在PUが単方向インター予測に制限されると判断したことに応答して(354の「はい」)、ビデオコーダはアーティフィシャル単方向マージ候補を生成する(356)。アーティフィシャル単方向マージ候補を生成した後、ビデオコーダは、アーティフィシャル単方向マージ候補をマージ候補リストに含める(358)。アーティフィシャル単方向マージ候補をマージ候補リストに含めた後、ビデオコーダは、別のアーティフィシャルマージ候補を生成すべきかどうかを判断し(352)、そうである場合、別のアーティフィシャルマージ候補を生成する。
[0178]ビデオコーダは、様々な方法でアーティフィシャル単方向マージ候補を生成し得る。たとえば、ビデオコーダは、すでに候補リストにある単方向マージ候補のペアを最初に取ることによって、アーティフィシャル単方向マージ候補を生成し得る。第1の単方向マージ候補と第2の単方向マージ候補は、それぞれ動きベクトルMV1と動きベクトルMV2とを指定し得る。この例では、ビデオコーダは、次いで、第1の単方向マージ候補によって指定された参照フレームと第2の単方向マージ候補によって指定された参照フレームとの間の時間差に従ってMV2をスケーリングし得る。この例では、ビデオコーダは、MV2のスケーリングされたバージョンを指定するアーティフィシャル単方向マージ候補を生成し得る。たとえば、この例では、第1の単方向マージ候補に関連付けられた参照ピクチャが、現在ピクチャの1ピクチャ後に生じ得、第2の単方向マージ候補に関連付けられた参照ピクチャが、現在ピクチャの4ピクチャ後に生じ得る。この例では、ビデオコーダは、MV2の水平成分とMV2の垂直成分の両方を4で除算し、MV1に対応する参照ピクチャインデックスをもつこのスケーリングされたMV2をアーティフィシャル候補として使用し得る。同様のスケーリングが、MV2に基づいてMV1について実行され得る。
[0179]別の例では、ビデオコーダは、双方向マージ候補によって指定された動きベクトルのうちの1つを指定するアーティフィシャル単方向マージ候補を生成し得る。たとえば、双方向マージ候補は、リスト0動きベクトルとリスト1動きベクトルとを指定し得る。この例では、ビデオコーダは、リスト0動きベクトルを指定するがリスト1動きベクトルを指定しないアーティフィシャル単方向マージ候補を生成し得る。この例では、ビデオコーダは、リスト1動きベクトルを指定するがリスト0動きベクトルを指定しない別のアーティフィシャル単方向マージ候補を生成し得る。このようにして、ビデオコーダは、双方向マージ候補を2つの単方向マージ候補、リスト0動きベクトルからの1つとリスト1動きベクトルからの別の1つとに分割することによって、双方向空間または時間マージ候補から単方向アーティフィシャルマージ候補を生成し得る。ビデオエンコーダは、単方向マージ候補のいずれかまたは両方をマージ候補リストに含め得る。言い換えれば、ビデオコーダは、アーティフィシャル単方向マージ候補が双方向マージ候補によって指定された動きベクトルを指定するように、アーティフィシャル単方向マージ候補を生成し得る。
[0180]ビデオコーダが、双方向マージ候補によって指定された動きベクトルに基づいてアーティフィシャル単方向マージ候補を生成する例では、ビデオコーダは、様々な順序に従ってアーティフィシャル単方向マージ候補をマージ候補リストに追加し得る。たとえば、ビデオコーダは、第1の双方向マージ候補のリスト0動きベクトルに基づくアーティフィシャル単方向マージ候補を追加し、次いで、第1の双方向マージ候補のリスト1動きベクトルに基づくアーティフィシャル単方向マージ候補を追加し、次いで、第2の双方向マージ候補のリスト0動きベクトルに基づくアーティフィシャル単方向マージ候補を追加し、次いで、第2の双方向マージ候補のリスト1動きベクトルに基づくアーティフィシャル単方向マージ候補を追加し得るなどである。
[0181]現在PUが単方向インター予測に制限されない場合(354の「いいえ」)、ビデオコーダは、アーティフィシャル双方向マージ候補を生成する(360)。上述のように、ビデオコーダは、PUを特徴づけるサイズなど、様々なファクタ、パラメータなどに基づいて、現在PUが単方向インター予測に制限されるかどうかを判断し得る。ビデオコーダは、様々な方法でアーティフィシャル双方向マージ候補を生成し得る。たとえば、ビデオコーダは、マージ候補リスト中の2つのマージ候補の組合せを選択し得る。この例では、ビデオコーダは、選択されたマージ候補のうちの第1のマージ候補がリスト0中の参照ピクチャを指定するかどうか、選択されたマージ候補のうちの第2のマージ候補がリスト1中の参照ピクチャを指定するかどうか、および指定された参照ピクチャが異なるピクチャ順序カウント(picture order count)を有するかどうかを判断し得る。これらの条件の各々が真である場合、ビデオコーダは、組合せ中の第1のマージ候補のリスト0動きベクトルと組合せ中の第2のマージ候補のリスト1動きベクトルとを指定するアーティフィシャル双方向マージ候補を生成し得る。マージ候補リストが単方向マージ候補と双方向マージ候補とを含み得る、図4の例など、いくつかの例では、プロセス350は行為354、356、および358を含まない。むしろ、ビデオコーダは、Bスライス中のPUのためのマージ候補リスト中のアーティフィシャル双方向マージ候補を生成し得る。
[0182]アーティフィシャル双方向マージ候補を生成した後、ビデオコーダは、アーティフィシャル双方向マージ候補を現在PUのためのマージ候補リストに含める(362)。ビデオコーダは、次いで、別のアーティフィシャルマージ候補を生成すべきかどうかを判断する(352)などである。
[0183]図8は、AMVPモードを使用してPUの動き情報を判断するための例示的な演算400を示すフローチャートである。ビデオエンコーダ20またはビデオデコーダ30など、ビデオコーダは、演算400を実行し、AMVPモードを使用してPUの動き情報を判断し得る。
[0184]ビデオコーダが演算400を開始した後、ビデオコーダは、現在PUのためのインター予測がリスト0に基づくかどうかを判断する(402)。現在PUのためのインター予測がリスト0に基づく場合(402の「はい」)、ビデオコーダは、現在PUのためのリスト0MV予測子候補リストを生成する(404)。リスト0MV予測子候補リストは、2つのリスト0MV予測子候補を含み得る。リスト0MV予測子候補の各々は、リスト0動きベクトルを指定し得る。
[0185]リスト0MV予測子候補リストを生成した後、ビデオコーダは、リスト0MV予測子候補リスト中の選択されたリスト0MV予測子候補を判断する(406)。ビデオコーダは、リスト0MV予測子フラグ(「mvp_l0_flag」)に基づいて、選択されたリスト0MV予測子候補を判断し得る。ビデオコーダは、次いで、現在PUのためのリスト0MVDと、選択されたリスト0MV予測子候補によって指定されたリスト0動きベクトルとに基づいて、現在PUのためのリスト0動きベクトルを判断する(408)。
[0186]さらに、現在PUのためのインター予測がリスト0に基づかないと判断した後(402の「いいえ」)または現在PUのためのリスト0動きベクトルを判断した後(408)、ビデオコーダは、現在PUのためのインター予測がリスト1に基づくかどうか、またはPUが双方向インター予測されるかどうかを判断する(410)。現在PUのためのインター予測がリスト1に基づかず、現在PUが双方向インター予測されない場合(410の「いいえ」)、ビデオコーダは、AMVPモードを使用して現在PUの動き情報を判断するのを終える。現在PUのためのインター予測がリスト1に基づくか、または現在PUが双方向にインター予測されると判断したことに応答して(410の「はい」)、ビデオコーダは、現在PUのためのリスト1MV予測子候補リストを生成する(412)。リスト1MV予測子候補リストは、2つのリスト1MV予測子候補を含み得る。リスト0MV予測子候補の各々は、リスト1動きベクトルを指定し得る。
[0187]リスト1MV予測子候補リストを生成した後、ビデオコーダは、リスト1MV予測子候補リスト中の選択されたリスト1MV予測子候補を判断する(414)。ビデオコーダは、リスト1MV予測子フラグ(「mvp_l1_flag」)に基づいて、選択されたリスト1MV予測子候補を判断し得る。ビデオコーダは、次いで、現在PUのためのリスト1MVDと、選択されたリスト1MV予測子候補によって指定されたリスト1動きベクトルとに基づいて、現在PUのためのリスト1動きベクトルを判断する(416)。
[0188]いくつかの例では、ビデオコーダは、双方向MV予測子候補をリスト0MV予測子候補リストとリスト1MV予測子候補リストとに追加し得ない。言い換えれば、MV予測子候補がリスト0動きベクトルとリスト1動きベクトルとを指定する場合、ビデオコーダは、MV予測子候補をリスト0MV予測子候補リストとリスト1MV予測子候補リストとから除外し得る。むしろ、ビデオコーダは、単方向MV予測子候補のみをリスト0MV予測子候補リストとリスト1MV予測子候補リストとに追加し得る。ビデオコーダは、各可能なおよび利用可能なMV予測子候補が単方向であるかどうかを確認し、単方向MV予測子候補のみをMV予測子候補リストに含めることによって、これを達成し得る。
[0189]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0190]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0191]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0192]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。開示された技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて本開示において説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアまたはソフトウェアのユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々な構成要素、モジュール、およびユニットは、適切なソフトウェアおよび/またはファームウェアとともに、上述のように1つまたは複数のプロセッサを含む、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
[0193]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
[0193]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
[C1] ビデオデータをコーディングするための方法であって、前記方法は、
Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断することと、
前記PUのためのマージ候補リストを生成することと、
前記マージ候補リスト中の選択されたマージ候補を判断することと、
前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成することと、
前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成することと
を備える、方法。
[C2] 前記PUが単方向予測に制限されるかどうかを判断することは、
前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
を備える、C1に記載の方法。
[C3] 前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することは、前記PUに関連付けられたビデオブロックの高さまたは幅が前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することを備える、C2に記載の方法。
[C4] 前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することは、前記PUに関連付けられたビデオブロックの第1の寸法がしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が前記しきい値以下である場合、前記PUが単方向インター予測に制限されると判断することを備える、C2に記載の方法。
[C5] 前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することは、前記PUに関連付けられたビデオブロックの第1の寸法が第1のしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が第2のしきい値よりも小さい場合、前記PUが単方向インター予測に制限されると判断することを備える、C2に記載の方法。
[C6] 前記第1のしきい値が前記第2のしきい値と同じである、C5に記載の方法。
[C7] 前記PUが単方向予測に制限されるかどうかを判断することは、
前記PUに関連付けられたコーディングユニット(CU)を特徴づけるサイズが特定のサイズ以下であり、前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することであって、前記CUを特徴づける前記サイズが、前記CUに関連付けられたビデオブロックの高さまたは幅である、判断することと、
前記CUを特徴づける前記サイズが前記特定のサイズに等しくなく、前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
を備える、C2に記載の方法。
[C8] 前記特定のサイズが8に等しく、前記しきい値が8に等しい、C7に記載の方法。
[C9] 前記マージ候補リストを生成した後、前記マージ候補リスト中の双方向マージ候補を単方向マージ候補に変換することと、
前記双方向マージ候補の代わりに前記単方向マージ候補を前記マージ候補リストに含めることと
をさらに備える、C1に記載の方法。
[C10] 前記双方向マージ候補を前記単方向マージ候補に変換することは、前記単方向マージ候補が特定の参照ピクチャリスト中の参照ピクチャに関連付けられるように、前記双方向マージ候補を前記単方向マージ候補に変換することを備え、双方向マージ候補が単方向マージ候補に変換されるときはいつでも、前記単方向マージ候補が、前記特定の参照ピクチャリスト中の参照ピクチャに関連付けられる、C9に記載の方法。
[C11] 前記マージ候補リストを生成することは、前記PUが単方向インター予測に制限される場合、前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成することを備える、C1に記載の方法。
[C12] 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成することが、
双方向マージ候補を1つまたは複数の単方向マージ候補に変換することと、
前記単方向マージ候補のいずれかまたは両方を前記マージ候補リストに含めることと
を備える、C11に記載の方法。
[C13] 前記双方向マージ候補を前記1つまたは複数の単方向マージ候補に変換する前に、重複マージ候補をプルーニングすることをさらに備える、C12に記載の方法。
[C14] 前記双方向マージ候補を前記単方向マージ候補に変換した後に、重複マージ候補をプルーニングすることをさらに備える、C12に記載の方法。
[C15] 前記双方向マージ候補を1つまたは複数の単方向マージ候補に変換することは、前記双方向マージ候補を単一の単方向マージ候補に変換することを備え、前記単一の単方向マージ候補がリスト0中の参照ピクチャまたはリスト1中の参照ピクチャを示す、C12に記載の方法。
[C16] 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成することが、
アーティフィシャル単方向マージ候補を生成することと、
前記アーティフィシャル単方向マージ候補を前記マージ候補リストに含めることと
を備える、C11に記載の方法。
[C17] 前記マージ候補リストが第1の単方向マージ候補と第2の単方向マージ候補とを含み、前記第1の単方向マージ候補が第1の動きベクトルを指定し、前記第2の単方向マージ候補が第2の動きベクトルを指定し、
前記アーティフィシャル単方向マージ候補を生成することは、前記第1の単方向マージ候補によって指定された参照ピクチャと前記第2の単方向マージ候補によって指定された参照ピクチャとの間の時間差に基づいて、前記第1の動きベクトルをスケーリングすることを備える、
C16に記載の方法。
[C18] 前記アーティフィシャル単方向マージ候補を生成することは、前記アーティフィシャル単方向マージ候補が前記双方向マージ候補によって指定された動きベクトルを指定するように、前記アーティフィシャル単方向マージ候補を生成することを備える、C16に記載の方法。
[C19] 前記選択されたマージ候補が双方向マージ候補である、C1に記載の方法。
[C20] 前記選択されたマージ候補を判断することが、
前記選択されたマージ候補の前記マージ候補リスト中の位置を示すシンタックス要素を、ビットストリームからパースすることと、
前記選択されたマージ候補の前記マージ候補リスト中の前記位置にある前記選択されたマージ候補を判断することと
を備える、C1に記載の方法。
[C21] 前記方法が、前記選択されたマージ候補の前記マージ候補リスト中の位置を示す符号化シンタックス要素を含むビットストリームを生成することを備える、C1に記載の方法。
[C22] 前記方法がモバイルコンピューティングデバイス上で実行される、C1に記載の方法。
[C23] Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断することと、
前記PUのためのマージ候補リストを生成することと、
前記マージ候補リスト中の選択されたマージ候補を判断することと、
前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成することと、
前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成することと
を行うように構成された1つまたは複数のプロセッサを備えるビデオコーディングデバイス。
[C24] 前記1つまたは複数のプロセッサは、
前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
を行うように構成された、C23に記載のビデオコーディングデバイス。
[C25] 前記1つまたは複数のプロセッサは、前記PUに関連付けられたビデオブロックの高さまたは幅が前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断するように構成された、C24に記載のビデオコーディングデバイス。
[C26] 前記1つまたは複数のプロセッサは、前記PUに関連付けられたビデオブロックの第1の寸法がしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が前記しきい値以下である場合、前記PUが単方向インター予測に制限されると判断するように構成された、C24に記載のビデオコーディングデバイス。
[C27] 前記1つまたは複数のプロセッサは、前記PUに関連付けられたビデオブロックの第1の寸法が第1のしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が第2のしきい値よりも小さい場合、前記PUが単方向インター予測に制限されると判断するように構成された、C24に記載のビデオコーディングデバイス。
[C28] 前記第1のしきい値が前記第2のしきい値と同じである、C27に記載のビデオコーディングデバイス。
[C29] 前記1つまたは複数のプロセッサは、
前記PUに関連付けられたコーディングユニット(CU)を特徴づけるサイズが特定のサイズ以下であり、前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
前記CUを特徴づける前記サイズが前記特定のサイズに等しくなく、前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
を行うように構成された、C24に記載のビデオコーディングデバイス。
[C30] 前記特定のサイズが8に等しく、前記しきい値が8に等しい、C29に記載のビデオコーディングデバイス。
[C31] 前記1つまたは複数のプロセッサが、
前記マージ候補リストを生成した後、前記マージ候補リスト中の双方向マージ候補を単方向マージ候補に変換することと、
前記双方向マージ候補の代わりに前記単方向マージ候補を前記マージ候補リストに含めることと
を行うようにさらに構成された、C23に記載のビデオコーディングデバイス。
[C32] 前記1つまたは複数のプロセッサは、前記単方向マージ候補が特定の参照ピクチャリスト中の参照ピクチャに関連付けられるように、前記双方向マージ候補を前記単方向マージ候補に変換するように構成され、前記1つまたは複数のプロセッサが双方向マージ候補を単方向マージ候補に変換するときはいつでも、前記単方向マージ候補が前記特定の参照ピクチャリスト中の参照ピクチャに関連付けられる、C31に記載のビデオコーディングデバイス。
[C33] 前記1つまたは複数のプロセッサは、前記PUが単方向インター予測に制限される場合、前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成するように構成された、C23に記載のビデオコーディングデバイス。
[C34] 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成するために、前記1つまたは複数のプロセッサは、
双方向マージ候補を1つまたは複数の単方向マージ候補に変換することと、
前記単方向マージ候補のいずれかまたは両方を前記マージ候補リストに含めることと
を行うように構成された、C33に記載のビデオコーディングデバイス。
[C35] 前記1つまたは複数のプロセッサが、前記双方向マージ候補を前記1つまたは複数の単方向マージ候補に変換する前に、重複マージ候補をプルーニングするように構成された、C34に記載のビデオコーディングデバイス。
[C36] 前記1つまたは複数のプロセッサが、前記双方向マージ候補を前記1つまたは複数の単方向マージ候補に変換した後に、重複マージ候補をプルーニングするように構成された、C34に記載のビデオコーディングデバイス。
[C37] 前記1つまたは複数のプロセッサが、前記双方向マージ候補を単一の単方向マージ候補に変換するように構成され、前記単一の単方向マージ候補がリスト0中の参照ピクチャまたはリスト1中の参照ピクチャに関連付けられた、C34に記載のビデオコーディングデバイス。
[C38] 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成するために、前記1つまたは複数のプロセッサは、
アーティフィシャル単方向マージ候補を生成することと、
前記アーティフィシャル単方向マージ候補を前記マージ候補リストに含めることと
を行うように構成された、C33に記載のビデオコーディングデバイス。
[C39] 前記マージ候補リストが第1の単方向マージ候補と第2の単方向マージ候補とを含み、前記第1の単方向マージ候補が第1の動きベクトルを指定し、前記第2の単方向マージ候補が第2の動きベクトルを指定し、
前記アーティフィシャル単方向マージ候補を生成するために、前記1つまたは複数のプロセッサが、前記第1の単方向マージ候補によって指定された参照ピクチャと前記第2の単方向マージ候補によって指定された参照ピクチャとの間の時間差に基づいて、前記第1の動きベクトルをスケーリングするように構成された、
C38に記載のビデオコーディングデバイス。
[C40] 前記1つまたは複数のプロセッサは、前記アーティフィシャル単方向マージ候補が双方向マージ候補によって指定された動きベクトルを指定するように、前記アーティフィシャル単方向マージ候補を生成するように構成された、C38に記載のビデオコーディングデバイス。
[C41] 前記選択されたマージ候補が双方向マージ候補である、C23に記載のビデオコーディングデバイス。
[C42] 前記ビデオコーディングデバイスがビデオデータを復号し、前記1つまたは複数のプロセッサが、前記選択されたマージ候補の前記マージ候補リスト中の位置を示すシンタックス要素に基づいて、前記選択されたマージ候補を判断するように構成された、C23に記載のビデオコーディングデバイス。
[C43] 前記ビデオコーディングデバイスがビデオデータを符号化し、前記1つまたは複数のプロセッサが、前記選択されたマージ候補の前記マージ候補リスト中の位置を示すシンタックス要素を出力するように構成された、C23に記載のビデオコーディングデバイス。
[C44] 前記ビデオコーディングデバイスがモバイルコンピューティングデバイスである、C23に記載のビデオコーディングデバイス。
[C45] Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断するための手段と、
前記PUのためのマージ候補リストを生成するための手段と、
前記マージ候補リスト中の選択されたマージ候補を判断するための手段と、
前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成するための手段と、
前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成ための手段と
を備える、ビデオコーディングデバイス。
[C46] 前記PUが単方向予測に制限されるかどうかを判断するための前記手段は、
前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断するための手段と、
前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断するための手段と
を備える、C45に記載のビデオコーディングデバイス。
[C47] 前記選択されたマージ候補が双方向マージ候補である、C45に記載のビデオコーディングデバイス。
[C48] 実行されると、1つまたは複数のプロセッサを、
Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断することと、
前記PUのためのマージ候補リストを生成することと、
前記マージ候補リスト中の選択されたマージ候補を判断することと、
前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成することと、
前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成することと
を行うように構成する命令を記憶する1つまたは複数のコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C49] 前記命令は、前記1つまたは複数のプロセッサを、
前記PUが単方向予測に制限されるかどうかを判断することと、
前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
を行うように構成する、C48に記載のコンピュータプログラム製品。
[C50] 前記選択されたマージ候補が双方向マージ候補である、C48に記載のコンピュータプログラム製品。

Claims (50)

  1. ビデオデータをコーディングするための方法であって、前記方法は、
    Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断することと、
    前記PUのためのマージ候補リストを生成することと、
    前記マージ候補リスト中の選択されたマージ候補を判断することと、
    前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成することと、
    前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成することと
    を備える、方法。
  2. 前記PUが単方向予測に制限されるかどうかを判断することは、
    前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
    前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
    を備える、請求項1に記載の方法。
  3. 前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することは、前記PUに関連付けられたビデオブロックの高さまたは幅が前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することを備える、請求項2に記載の方法。
  4. 前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することは、前記PUに関連付けられたビデオブロックの第1の寸法がしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が前記しきい値以下である場合、前記PUが単方向インター予測に制限されると判断することを備える、請求項2に記載の方法。
  5. 前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することは、前記PUに関連付けられたビデオブロックの第1の寸法が第1のしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が第2のしきい値よりも小さい場合、前記PUが単方向インター予測に制限されると判断することを備える、請求項2に記載の方法。
  6. 前記第1のしきい値が前記第2のしきい値と同じである、請求項5に記載の方法。
  7. 前記PUが単方向予測に制限されるかどうかを判断することは、
    前記PUに関連付けられたコーディングユニット(CU)を特徴づけるサイズが特定のサイズ以下であり、前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することであって、前記CUを特徴づける前記サイズが、前記CUに関連付けられたビデオブロックの高さまたは幅である、判断することと、
    前記CUを特徴づける前記サイズが前記特定のサイズに等しくなく、前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
    を備える、請求項2に記載の方法。
  8. 前記特定のサイズが8に等しく、前記しきい値が8に等しい、請求項7に記載の方法。
  9. 前記マージ候補リストを生成した後、前記マージ候補リスト中の双方向マージ候補を単方向マージ候補に変換することと、
    前記双方向マージ候補の代わりに前記単方向マージ候補を前記マージ候補リストに含めることと
    をさらに備える、請求項1に記載の方法。
  10. 前記双方向マージ候補を前記単方向マージ候補に変換することは、前記単方向マージ候補が特定の参照ピクチャリスト中の参照ピクチャに関連付けられるように、前記双方向マージ候補を前記単方向マージ候補に変換することを備え、双方向マージ候補が単方向マージ候補に変換されるときはいつでも、前記単方向マージ候補が、前記特定の参照ピクチャリスト中の参照ピクチャに関連付けられる、請求項9に記載の方法。
  11. 前記マージ候補リストを生成することは、前記PUが単方向インター予測に制限される場合、前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成することを備える、請求項1に記載の方法。
  12. 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成することが、
    双方向マージ候補を1つまたは複数の単方向マージ候補に変換することと、
    前記単方向マージ候補のいずれかまたは両方を前記マージ候補リストに含めることと
    を備える、請求項11に記載の方法。
  13. 前記双方向マージ候補を前記1つまたは複数の単方向マージ候補に変換する前に、重複マージ候補をプルーニングすることをさらに備える、請求項12に記載の方法。
  14. 前記双方向マージ候補を前記単方向マージ候補に変換した後に、重複マージ候補をプルーニングすることをさらに備える、請求項12に記載の方法。
  15. 前記双方向マージ候補を1つまたは複数の単方向マージ候補に変換することは、前記双方向マージ候補を単一の単方向マージ候補に変換することを備え、前記単一の単方向マージ候補がリスト0中の参照ピクチャまたはリスト1中の参照ピクチャを示す、請求項12に記載の方法。
  16. 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成することが、
    アーティフィシャル単方向マージ候補を生成することと、
    前記アーティフィシャル単方向マージ候補を前記マージ候補リストに含めることと
    を備える、請求項11に記載の方法。
  17. 前記マージ候補リストが第1の単方向マージ候補と第2の単方向マージ候補とを含み、前記第1の単方向マージ候補が第1の動きベクトルを指定し、前記第2の単方向マージ候補が第2の動きベクトルを指定し、
    前記アーティフィシャル単方向マージ候補を生成することは、前記第1の単方向マージ候補によって指定された参照ピクチャと前記第2の単方向マージ候補によって指定された参照ピクチャとの間の時間差に基づいて、前記第1の動きベクトルをスケーリングすることを備える、
    請求項16に記載の方法。
  18. 前記アーティフィシャル単方向マージ候補を生成することは、前記アーティフィシャル単方向マージ候補が前記双方向マージ候補によって指定された動きベクトルを指定するように、前記アーティフィシャル単方向マージ候補を生成することを備える、請求項16に記載の方法。
  19. 前記選択されたマージ候補が双方向マージ候補である、請求項1に記載の方法。
  20. 前記選択されたマージ候補を判断することが、
    前記選択されたマージ候補の前記マージ候補リスト中の位置を示すシンタックス要素を、ビットストリームからパースすることと、
    前記選択されたマージ候補の前記マージ候補リスト中の前記位置にある前記選択されたマージ候補を判断することと
    を備える、請求項1に記載の方法。
  21. 前記方法が、前記選択されたマージ候補の前記マージ候補リスト中の位置を示す符号化シンタックス要素を含むビットストリームを生成することを備える、請求項1に記載の方法。
  22. 前記方法がモバイルコンピューティングデバイス上で実行される、請求項1に記載の方法。
  23. Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断することと、
    前記PUのためのマージ候補リストを生成することと、
    前記マージ候補リスト中の選択されたマージ候補を判断することと、
    前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成することと、
    前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成することと
    を行うように構成された1つまたは複数のプロセッサを備えるビデオコーディングデバイス。
  24. 前記1つまたは複数のプロセッサは、
    前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
    前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
    を行うように構成された、請求項23に記載のビデオコーディングデバイス。
  25. 前記1つまたは複数のプロセッサは、前記PUに関連付けられたビデオブロックの高さまたは幅が前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断するように構成された、請求項24に記載のビデオコーディングデバイス。
  26. 前記1つまたは複数のプロセッサは、前記PUに関連付けられたビデオブロックの第1の寸法がしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が前記しきい値以下である場合、前記PUが単方向インター予測に制限されると判断するように構成された、請求項24に記載のビデオコーディングデバイス。
  27. 前記1つまたは複数のプロセッサは、前記PUに関連付けられたビデオブロックの第1の寸法が第1のしきい値よりも小さく、前記PUに関連付けられた前記ビデオブロックの第2の寸法が第2のしきい値よりも小さい場合、前記PUが単方向インター予測に制限されると判断するように構成された、請求項24に記載のビデオコーディングデバイス。
  28. 前記第1のしきい値が前記第2のしきい値と同じである、請求項27に記載のビデオコーディングデバイス。
  29. 前記1つまたは複数のプロセッサは、
    前記PUに関連付けられたコーディングユニット(CU)を特徴づけるサイズが特定のサイズ以下であり、前記PUを特徴づける前記サイズが前記しきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
    前記CUを特徴づける前記サイズが前記特定のサイズに等しくなく、前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
    を行うように構成された、請求項24に記載のビデオコーディングデバイス。
  30. 前記特定のサイズが8に等しく、前記しきい値が8に等しい、請求項29に記載のビデオコーディングデバイス。
  31. 前記1つまたは複数のプロセッサが、
    前記マージ候補リストを生成した後、前記マージ候補リスト中の双方向マージ候補を単方向マージ候補に変換することと、
    前記双方向マージ候補の代わりに前記単方向マージ候補を前記マージ候補リストに含めることと
    を行うようにさらに構成された、請求項23に記載のビデオコーディングデバイス。
  32. 前記1つまたは複数のプロセッサは、前記単方向マージ候補が特定の参照ピクチャリスト中の参照ピクチャに関連付けられるように、前記双方向マージ候補を前記単方向マージ候補に変換するように構成され、前記1つまたは複数のプロセッサが双方向マージ候補を単方向マージ候補に変換するときはいつでも、前記単方向マージ候補が前記特定の参照ピクチャリスト中の参照ピクチャに関連付けられる、請求項31に記載のビデオコーディングデバイス。
  33. 前記1つまたは複数のプロセッサは、前記PUが単方向インター予測に制限される場合、前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成するように構成された、請求項23に記載のビデオコーディングデバイス。
  34. 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成するために、前記1つまたは複数のプロセッサは、
    双方向マージ候補を1つまたは複数の単方向マージ候補に変換することと、
    前記単方向マージ候補のいずれかまたは両方を前記マージ候補リストに含めることと
    を行うように構成された、請求項33に記載のビデオコーディングデバイス。
  35. 前記1つまたは複数のプロセッサが、前記双方向マージ候補を前記1つまたは複数の単方向マージ候補に変換する前に、重複マージ候補をプルーニングするように構成された、請求項34に記載のビデオコーディングデバイス。
  36. 前記1つまたは複数のプロセッサが、前記双方向マージ候補を前記1つまたは複数の単方向マージ候補に変換した後に、重複マージ候補をプルーニングするように構成された、請求項34に記載のビデオコーディングデバイス。
  37. 前記1つまたは複数のプロセッサが、前記双方向マージ候補を単一の単方向マージ候補に変換するように構成され、前記単一の単方向マージ候補がリスト0中の参照ピクチャまたはリスト1中の参照ピクチャに関連付けられた、請求項34に記載のビデオコーディングデバイス。
  38. 前記マージ候補リストが単方向マージ候補のみを含むように、前記マージ候補リストを生成するために、前記1つまたは複数のプロセッサは、
    アーティフィシャル単方向マージ候補を生成することと、
    前記アーティフィシャル単方向マージ候補を前記マージ候補リストに含めることと
    を行うように構成された、請求項33に記載のビデオコーディングデバイス。
  39. 前記マージ候補リストが第1の単方向マージ候補と第2の単方向マージ候補とを含み、前記第1の単方向マージ候補が第1の動きベクトルを指定し、前記第2の単方向マージ候補が第2の動きベクトルを指定し、
    前記アーティフィシャル単方向マージ候補を生成するために、前記1つまたは複数のプロセッサが、前記第1の単方向マージ候補によって指定された参照ピクチャと前記第2の単方向マージ候補によって指定された参照ピクチャとの間の時間差に基づいて、前記第1の動きベクトルをスケーリングするように構成された、
    請求項38に記載のビデオコーディングデバイス。
  40. 前記1つまたは複数のプロセッサは、前記アーティフィシャル単方向マージ候補が双方向マージ候補によって指定された動きベクトルを指定するように、前記アーティフィシャル単方向マージ候補を生成するように構成された、請求項38に記載のビデオコーディングデバイス。
  41. 前記選択されたマージ候補が双方向マージ候補である、請求項23に記載のビデオコーディングデバイス。
  42. 前記ビデオコーディングデバイスがビデオデータを復号し、前記1つまたは複数のプロセッサが、前記選択されたマージ候補の前記マージ候補リスト中の位置を示すシンタックス要素に基づいて、前記選択されたマージ候補を判断するように構成された、請求項23に記載のビデオコーディングデバイス。
  43. 前記ビデオコーディングデバイスがビデオデータを符号化し、前記1つまたは複数のプロセッサが、前記選択されたマージ候補の前記マージ候補リスト中の位置を示すシンタックス要素を出力するように構成された、請求項23に記載のビデオコーディングデバイス。
  44. 前記ビデオコーディングデバイスがモバイルコンピューティングデバイスである、請求項23に記載のビデオコーディングデバイス。
  45. Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断するための手段と、
    前記PUのためのマージ候補リストを生成するための手段と、
    前記マージ候補リスト中の選択されたマージ候補を判断するための手段と、
    前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成するための手段と、
    前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成ための手段と
    を備える、ビデオコーディングデバイス。
  46. 前記PUが単方向予測に制限されるかどうかを判断するための前記手段は、
    前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断するための手段と、
    前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断するための手段と
    を備える、請求項45に記載のビデオコーディングデバイス。
  47. 前記選択されたマージ候補が双方向マージ候補である、請求項45に記載のビデオコーディングデバイス。
  48. 実行されると、1つまたは複数のプロセッサを、
    Bスライス中の予測ユニット(PU)が単方向インター予測に制限されるかどうかを判断することと、
    前記PUのためのマージ候補リストを生成することと、
    前記マージ候補リスト中の選択されたマージ候補を判断することと、
    前記PUが単方向インター予測に制限される場合、前記選択されたマージ候補によって指定された動き情報に関連付けられた、1つ以下の参照ブロックに基づいて、前記PUのための予測ビデオブロックを生成することと、
    前記PUが単方向インター予測に制限されない場合、前記選択されたマージ候補によって指定された前記動き情報に関連付けられた、1つまたは複数の参照ブロックに基づいて、前記PUのための前記予測ビデオブロックを生成することと
    を行うように構成する命令を記憶する1つまたは複数のコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
  49. 前記命令は、前記1つまたは複数のプロセッサを、
    前記PUが単方向予測に制限されるかどうかを判断することと、
    前記PUを特徴づけるサイズがしきい値を下回る場合、前記PUが単方向インター予測に制限されると判断することと、
    前記PUを特徴づける前記サイズが前記しきい値を下回らない場合、前記PUが単方向インター予測に制限されないと判断することと
    を行うように構成する、請求項48に記載のコンピュータプログラム製品。
  50. 前記選択されたマージ候補が双方向マージ候補である、請求項48に記載のコンピュータプログラム製品。
JP2014556674A 2012-02-08 2013-02-07 Bスライス中の予測ユニットの単方向インター予測への制限 Pending JP2015510357A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261596597P 2012-02-08 2012-02-08
US61/596,597 2012-02-08
US201261622968P 2012-04-11 2012-04-11
US61/622,968 2012-04-11
US13/628,562 US9451277B2 (en) 2012-02-08 2012-09-27 Restriction of prediction units in B slices to uni-directional inter prediction
US13/628,562 2012-09-27
PCT/US2013/025153 WO2013119816A1 (en) 2012-02-08 2013-02-07 Restriction of prediction units in b slices to uni-directional inter prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018078328A Division JP2018142972A (ja) 2012-02-08 2018-04-16 Bスライス中の予測ユニットの単方向インター予測への制限

Publications (2)

Publication Number Publication Date
JP2015510357A true JP2015510357A (ja) 2015-04-02
JP2015510357A5 JP2015510357A5 (ja) 2016-12-28

Family

ID=48902866

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014556674A Pending JP2015510357A (ja) 2012-02-08 2013-02-07 Bスライス中の予測ユニットの単方向インター予測への制限
JP2018078328A Pending JP2018142972A (ja) 2012-02-08 2018-04-16 Bスライス中の予測ユニットの単方向インター予測への制限

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018078328A Pending JP2018142972A (ja) 2012-02-08 2018-04-16 Bスライス中の予測ユニットの単方向インター予測への制限

Country Status (21)

Country Link
US (2) US9451277B2 (ja)
EP (2) EP2813080B1 (ja)
JP (2) JP2015510357A (ja)
KR (1) KR101825262B1 (ja)
CN (2) CN104980762B (ja)
AU (1) AU2013217035B2 (ja)
BR (1) BR112014019444B1 (ja)
CA (1) CA2862311C (ja)
DK (1) DK2813080T3 (ja)
ES (1) ES2874848T3 (ja)
HK (2) HK1201000A1 (ja)
HU (1) HUE054366T2 (ja)
IL (1) IL233522A (ja)
MY (1) MY168356A (ja)
PH (1) PH12014501622A1 (ja)
RU (1) RU2620723C2 (ja)
SG (1) SG11201403844PA (ja)
SI (1) SI2813080T1 (ja)
UA (1) UA114314C2 (ja)
WO (1) WO2013119816A1 (ja)
ZA (1) ZA201406544B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022515725A (ja) * 2019-01-02 2022-02-22 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 候補mvリストの構築方法、プログラム、及び電子デバイス
JP2022521554A (ja) * 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
US11516480B2 (en) 2018-11-12 2022-11-29 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
US11838539B2 (en) 2018-10-22 2023-12-05 Beijing Bytedance Network Technology Co., Ltd Utilization of refined motion vector
JP7457010B2 (ja) 2018-11-20 2024-03-27 ホアウェイ・テクノロジーズ・カンパニー・リミテッド マージモードのためのエンコーダ、デコーダ、および対応する方法
US11956465B2 (en) 2018-11-20 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Difference calculation based on partial position

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071458B (zh) * 2010-12-14 2020-01-03 M&K控股株式会社 用于编码运动画面的设备
WO2012087034A2 (ko) * 2010-12-22 2012-06-28 엘지전자 주식회사 화면 내 예측 방법 및 이러한 방법을 사용하는 장치
WO2013005966A2 (ko) * 2011-07-01 2013-01-10 한국전자통신연구원 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
CN103828364B (zh) 2011-09-29 2018-06-12 夏普株式会社 图像解码装置、图像解码方法及图像编码装置
JP5972888B2 (ja) 2011-09-29 2016-08-17 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
US9426463B2 (en) 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
BR112014025617A2 (pt) * 2012-04-15 2017-09-19 Samsung Electronics Co Ltd método para determinar uma imagem de referência para previsão inter, e aparelho para determinar uma imagem de referência
US9591312B2 (en) * 2012-04-17 2017-03-07 Texas Instruments Incorporated Memory bandwidth reduction for motion compensation in video coding
US10721487B2 (en) 2012-04-17 2020-07-21 Texas Instruments Incorporated Converting a bi-predicted merging candidate in a merging candidate list for a prediction unit of a picture
JP5969695B2 (ja) 2012-10-12 2016-08-17 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像復号化方法
JP5524405B1 (ja) * 2013-12-10 2014-06-18 ユニ・チャーム株式会社 芳香性粒状物及び動物用トイレ砂
EP3111642B1 (en) * 2014-03-11 2021-05-12 HFI Innovation Inc. Method and apparatus of single sample mode for video coding
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
US10778976B2 (en) * 2016-09-28 2020-09-15 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
KR102580910B1 (ko) * 2017-08-29 2023-09-20 에스케이텔레콤 주식회사 양방향 옵티컬 플로우를 이용한 움직임 보상 방법 및 장치
CN116744018A (zh) * 2017-08-29 2023-09-12 Sk电信有限公司 视频编码方法、视频解码方法和传输比特流的方法
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
US11490077B2 (en) * 2018-06-27 2022-11-01 Digitalinsights Inc. Image encoding/decoding method and apparatus involving merge candidate list and triangular shape partitions
US11218721B2 (en) * 2018-07-18 2022-01-04 Mediatek Inc. Method and apparatus of motion compensation bandwidth reduction for video coding system utilizing multi-hypothesis
AU2018435559A1 (en) 2018-08-09 2021-03-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video image component prediction method and device, and computer storage medium
WO2020063599A1 (zh) * 2018-09-24 2020-04-02 华为技术有限公司 图像预测方法、装置以及相应的编码器和解码器
US11582480B2 (en) 2018-09-25 2023-02-14 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
WO2020073896A1 (en) * 2018-10-08 2020-04-16 Huawei Technologies Co., Ltd. Apparatuses and methods for inter prediction of a triangle partition of a coding block
WO2020084476A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
WO2020094051A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Signaling of side information for inter prediction with geometric partitioning
WO2020103870A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Inter prediction with refinement in video processing
CN113170112B (zh) * 2018-11-22 2024-05-10 北京字节跳动网络技术有限公司 用于具有几何分割的帧间预测的构建方法
CN113170128B (zh) * 2018-12-03 2024-05-28 北京字节跳动网络技术有限公司 帧间预测的部分修剪方法
WO2020139903A1 (en) 2018-12-25 2020-07-02 Beijing Dajia Internet Information Technology Co., Ltd. Video coding with triangular shape prediction units
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
US11140406B2 (en) * 2019-02-20 2021-10-05 Qualcomm Incorporated Signalling for merge mode with motion vector differences in video coding
AR118250A1 (es) * 2019-03-08 2021-09-22 Jvckenwood Corp Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento
CN111726617B (zh) * 2019-03-18 2024-03-15 华为技术有限公司 用于融合运动矢量差技术的优化方法、装置及编解码器
CN113632477A (zh) * 2019-03-24 2021-11-09 北京字节跳动网络技术有限公司 转换后的单向预测候选的推导
CN113647099B (zh) 2019-04-02 2022-10-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导
KR20220016075A (ko) * 2019-06-04 2022-02-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 후보 리스트 구성 프로세스의 조건부 구현
WO2020244571A1 (en) 2019-06-04 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction using neighboring block information
JP7381615B2 (ja) * 2019-06-25 2023-11-15 オッポ広東移動通信有限公司 動き補償処理方法、エンコーダ、デコーダ、記憶媒体
CN114128295B (zh) 2019-07-14 2024-04-12 北京字节跳动网络技术有限公司 视频编解码中几何分割模式候选列表的构建
CN110611820A (zh) * 2019-09-11 2019-12-24 北京达佳互联信息技术有限公司 视频编码方法、装置、电子设备及存储介质
CN114450959A (zh) 2019-09-28 2022-05-06 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
JP2022541687A (ja) * 2019-10-10 2022-09-26 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド 三角分割を用いたビデオ符号化の方法および装置
US11831909B2 (en) 2021-03-11 2023-11-28 Qualcomm Incorporated Learned B-frame coding using P-frame coding system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009041215A1 (ja) * 2007-09-25 2009-04-02 Sharp Kabushiki Kaisha 動画像符号化装置及び動画像復号装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026232A (en) 1995-07-13 2000-02-15 Kabushiki Kaisha Toshiba Method and system to replace sections of an encoded video bitstream
US7321626B2 (en) 2002-03-08 2008-01-22 Sharp Laboratories Of America, Inc. System and method for predictive motion estimation using a global motion predictor
WO2004006586A1 (ja) 2002-07-02 2004-01-15 Matsushita Electric Industrial Co., Ltd. 画像符号化方法および画像復号化方法
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
EP1582060A4 (en) * 2003-01-10 2009-09-23 Thomson Licensing SCHEDULE DECISION FOR INTERFRAME ENCODING
EP1585326A1 (en) * 2004-03-30 2005-10-12 Matsushita Electric Industrial Co., Ltd. Motion vector estimation at image borders for frame rate conversion
EP1808025B1 (en) * 2004-11-04 2016-03-09 Thomson Licensing Method and apparatus for fast mode decision of b-frames in a video encoder
JP4755093B2 (ja) 2005-02-01 2011-08-24 パナソニック株式会社 画像符号化方法および画像符号化装置
JP5224459B2 (ja) * 2006-02-02 2013-07-03 トムソン ライセンシング 動き補償予測のための適応重み選択を行う方法および装置
CN101379835B (zh) 2006-02-02 2011-08-24 汤姆逊许可公司 使用组合参考双向预测进行运动估计的方法和设备
RU2395174C1 (ru) * 2006-03-30 2010-07-20 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для декодирования/кодирования сигнала видео
EP3139615A1 (en) 2006-03-30 2017-03-08 LG Electronics Inc. A method and apparatus for decoding/encoding a video signal
CN104822062B (zh) 2007-01-08 2018-11-30 诺基亚公司 用于视频编码中扩展空间可分级性的改进层间预测
US8619853B2 (en) * 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
JP4325708B2 (ja) * 2007-07-05 2009-09-02 ソニー株式会社 データ処理装置、データ処理方法およびデータ処理プログラム、符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
EP2262267A1 (en) 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
WO2011095260A1 (en) 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Managing predicted motion vector candidates
US9503743B2 (en) * 2010-05-12 2016-11-22 Thomson Licensing Methods and apparatus for uni-prediction of self-derivation of motion estimation
US9357229B2 (en) 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US8934552B2 (en) 2011-03-31 2015-01-13 Qualcomm Incorporated Combined reference picture list construction and mapping
US9247266B2 (en) 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US9282338B2 (en) 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
DK2744204T3 (en) * 2011-09-14 2019-01-14 Samsung Electronics Co Ltd PROCEDURE FOR DECODING A PREVIEW UNIT (PU) BASED ON ITS SIZE.
CN103828364B (zh) * 2011-09-29 2018-06-12 夏普株式会社 图像解码装置、图像解码方法及图像编码装置
JP5972888B2 (ja) 2011-09-29 2016-08-17 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
US8964845B2 (en) * 2011-12-28 2015-02-24 Microsoft Corporation Merge mode for motion information prediction
JP5924553B2 (ja) * 2012-01-19 2016-05-25 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JPWO2013111596A1 (ja) * 2012-01-26 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法および動画像符号化装置
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9426463B2 (en) 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US20130272409A1 (en) 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009041215A1 (ja) * 2007-09-25 2009-04-02 Sharp Kabushiki Kaisha 動画像符号化装置及び動画像復号装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KENJI KONDO(外1名): "AHG7: Modification of merge candidate derivation to reduce MC memory bandwidth", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6016048158, 20 January 2012 (2012-01-20), US, pages 1 - 8 *
SHIGERU FUKUSHIMA(外1名): "Non-CE9: Merge candidates pruning without reference index", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6018022931, 20 January 2012 (2012-01-20), JP, pages 1 - 6 *
TOMOHIRO IKAI: "AHG7: Controllable memory bandwidth reduction with bi-pred to uni-pred conversion", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6016048159, 2 February 2012 (2012-02-02), US, pages 1 - 8 *
TOMOHIRO IKAI: "Bi-prediction restriction in small PU", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6016048160, 30 November 2011 (2011-11-30), US, pages 1 - 5 *
TOMOHIRO IKAI: "Bi-prediction restriction in small PU", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6016048160, 30 November 2012 (2012-11-30), US, pages 1 - 5 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838539B2 (en) 2018-10-22 2023-12-05 Beijing Bytedance Network Technology Co., Ltd Utilization of refined motion vector
US11889108B2 (en) 2018-10-22 2024-01-30 Beijing Bytedance Network Technology Co., Ltd Gradient computation in bi-directional optical flow
US11516480B2 (en) 2018-11-12 2022-11-29 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
US11843725B2 (en) 2018-11-12 2023-12-12 Beijing Bytedance Network Technology Co., Ltd Using combined inter intra prediction in video processing
US11956449B2 (en) 2018-11-12 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
JP7457010B2 (ja) 2018-11-20 2024-03-27 ホアウェイ・テクノロジーズ・カンパニー・リミテッド マージモードのためのエンコーダ、デコーダ、および対応する方法
US11956465B2 (en) 2018-11-20 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Difference calculation based on partial position
JP2022515725A (ja) * 2019-01-02 2022-02-22 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 候補mvリストの構築方法、プログラム、及び電子デバイス
JP2022521554A (ja) * 2019-03-06 2022-04-08 北京字節跳動網絡技術有限公司 変換された片予測候補の利用
US11509923B1 (en) 2019-03-06 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
US11930165B2 (en) 2019-03-06 2024-03-12 Beijing Bytedance Network Technology Co., Ltd Size dependent inter coding

Also Published As

Publication number Publication date
HK1216273A1 (zh) 2016-10-28
US20150229955A1 (en) 2015-08-13
JP2018142972A (ja) 2018-09-13
PH12014501622B1 (en) 2014-10-13
AU2013217035A1 (en) 2014-08-07
CN104094605A (zh) 2014-10-08
EP3849182B1 (en) 2024-03-20
ES2874848T3 (es) 2021-11-05
CA2862311A1 (en) 2013-08-15
BR112014019444B1 (pt) 2023-02-14
BR112014019444A8 (pt) 2017-07-11
UA114314C2 (uk) 2017-05-25
KR20140130465A (ko) 2014-11-10
ZA201406544B (en) 2017-08-30
RU2620723C2 (ru) 2017-05-29
HUE054366T2 (hu) 2021-09-28
SG11201403844PA (en) 2014-09-26
CA2862311C (en) 2018-08-21
RU2014136329A (ru) 2016-04-10
US9451277B2 (en) 2016-09-20
IL233522A (en) 2017-08-31
EP2813080B1 (en) 2021-03-17
US9699472B2 (en) 2017-07-04
CN104980762B (zh) 2018-07-31
EP3849182C0 (en) 2024-03-20
SI2813080T1 (sl) 2021-08-31
US20130202037A1 (en) 2013-08-08
EP3849182A1 (en) 2021-07-14
HK1201000A1 (en) 2015-08-14
MY168356A (en) 2018-10-31
PH12014501622A1 (en) 2014-10-13
BR112014019444A2 (pt) 2017-06-20
IL233522A0 (en) 2014-08-31
EP2813080A1 (en) 2014-12-17
WO2013119816A1 (en) 2013-08-15
CN104980762A (zh) 2015-10-14
AU2013217035B2 (en) 2017-04-13
DK2813080T3 (da) 2021-05-10
KR101825262B1 (ko) 2018-02-02

Similar Documents

Publication Publication Date Title
JP2018142972A (ja) Bスライス中の予測ユニットの単方向インター予測への制限
JP6783788B2 (ja) ビデオコーディングにおけるサブブロックの動き情報の導出
US9426463B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
JP6342477B2 (ja) ビデオコーディング予測のためのメモリ削減
US9736489B2 (en) Motion vector determination for video coding
JP6396439B2 (ja) 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和
JP5940726B2 (ja) ビデオコーディングにおけるバイパスコーディングされたシンタックス要素のグループ化
US9491458B2 (en) Scalable video coding prediction with non-causal information
JP6266605B2 (ja) 映像コーディングにおけるロスレスコーディングモード及びパルスコード変調(pcm)モードのシグナリングの統一
JP2018524906A (ja) イントラブロックコピーモードでの参照ピクチャリスト構成
JP2018532319A (ja) パレットモードビデオコーディングにおけるエスケープピクセルシグナリング値の制限
JP2016096550A (ja) 統合されたマージモードおよび適応動きベクトル予測モード候補選択
JP2017519447A (ja) ビデオコーディングのためのイントラブロックコピーブロックベクトルシグナリング
JP2017523685A (ja) イントラブロックコピーイングのためのブロックベクトルコーディング
JP2015502091A (ja) ビデオデータの波面並列処理における制限された参照ピクチャセット
JP2016506692A (ja) ビデオコーディングにおけるビデオタイミングについてのタイミング情報に対するピクチャ順序カウントの関係性のシグナリング
JP6067750B2 (ja) 並列動き推定範囲サイズの暗黙的導出
JP2017525316A (ja) パレットモードコーディングのための方法
JP2017527168A (ja) 高度パレット予測およびシグナリング
TW202133619A (zh) 用於合併估計區域的基於歷史的運動向量預測約束

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161110

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161114

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180416

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180424

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918