JP2014525198A - ビデオコーディングにおける予測データのバッファリング - Google Patents

ビデオコーディングにおける予測データのバッファリング Download PDF

Info

Publication number
JP2014525198A
JP2014525198A JP2014521717A JP2014521717A JP2014525198A JP 2014525198 A JP2014525198 A JP 2014525198A JP 2014521717 A JP2014521717 A JP 2014521717A JP 2014521717 A JP2014521717 A JP 2014521717A JP 2014525198 A JP2014525198 A JP 2014525198A
Authority
JP
Japan
Prior art keywords
block
intra prediction
lcu
blocks
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014521717A
Other languages
English (en)
Other versions
JP5869122B2 (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 JP2014525198A publication Critical patent/JP2014525198A/ja
Application granted granted Critical
Publication of JP5869122B2 publication Critical patent/JP5869122B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/11Selection of coding mode or of prediction mode among a plurality of spatial 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

一例では、本開示の態様は、ビデオデータをコーディングする方法に関し、この方法は、概して、ビデオデータのブロックについての予測情報を判断することであり、ブロックは、ビデオデータのコード化ユニット中に含まれ、コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、ブロックについての予測情報は、コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、コード化ユニット中の最上行のブロックのいずれからの予測情報にも基づかないことを含む。この方法はまた、概して、判断された予測情報に基づいて、ブロックをコーディングすることをも含む。

Description

本出願は、その内容全体が参照により本明細書に組み込まれる、2011年7月20日に出願された米国仮出願第61/509,933号、および2011年8月10日に出願された米国仮出願第61/522,136号の優先権を主張する。
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータのエントロピーコーディングに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、かつ/または記憶することができる。
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオピクチャまたはビデオピクチャの一部分)は、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。
空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
概して、本開示では、ビデオデータをコーディングするための技法について説明する。たとえば、本開示の技法は、ビデオコーディングにおいて予測技法を実行するときにバッファリングされるデータの量を低減することを含む。すなわち、空間的予測(すなわち、イントラ予測)または時間的予測(すなわち、インター予測)は、ビデオシーケンス中の冗長性を低減または除去するために使用され得る。ブロックベースのビデオコーディングでは、あるブロックからのビデオデータが、ビデオデータの1つまたは複数の他のブロックについての予測情報として使用され得る。現在コーディングされているブロックの1つまたは複数の隣接ブロックに関連付けられた予測情報が記憶(すなわち、バッファリング)され得るので、そのような予測情報が、現在ブロックをコーディングするために利用可能になる。本開示の技法は、コーディング中にバッファリングされる隣接ブロックからの予測情報の量を制限することに関する。本開示のいくつかの態様によれば、ビデオコーディングデバイスは、現在ブロックをコーディングするときに、(たとえば、「上に隣接するブロック」と呼ばれ、(以下、「上に隣接する」は、「上方に隣接する」若しくは「上側に隣接する」を含む。))現在コーディングされているビデオデータのブロックの上に位置する(「上方に位置する」若しくは「上側に位置する」を含む。以下、同じ。)ビデオデータのブロックからの予測情報を使用することを回避し得る。
一例では、本開示の態様は、ビデオデータをコーディングする方法に関し、この方法は、ビデオデータのブロックについての予測情報を判断することであり、ブロックは、ビデオデータのコード化ユニット中に含まれ、コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、ブロックについての予測情報は、コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、コード化ユニット中の最上行のブロックのいずれからの予測情報にも基づかないことと、判断された予測情報に基づいて、ブロックをコーディングすることとを含む。
別の例では、本開示の態様は、ビデオデータをコーディングするための装置に関する。この例では、この装置は、ビデオデータのブロックについての予測情報を判断することであり、ブロックは、ビデオデータのコード化ユニット中に含まれ、コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、ブロックについての予測情報は、コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、コード化ユニット中の最上行のブロックのいずれからの予測情報にも基づかないことと、判断された予測情報に基づいて、ブロックをコーディングすることとを行うように構成された、1つまたは複数のプロセッサを含む。
別の例では、本開示の態様は、命令を記憶した非一時的コンピュータ可読記憶媒体に関し、この命令は、実行されたとき、ビデオデータのブロックについての予測情報を判断することであり、ブロックは、ビデオデータのコード化ユニット中に含まれ、コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、ブロックについての予測情報は、コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、コード化ユニット中の最上行のブロックのいずれからの予測情報にも基づかないことと、判断された予測情報に基づいて、ブロックをコーディングすることとを、1つまたは複数のプロセッサに行わせる。
別の例では、本開示の態様は、ビデオデータをコーディングするための装置に関する。この例では、この装置は、ビデオデータのブロックについての予測情報を判断するための手段であり、ブロックは、ビデオデータのコード化ユニット中に含まれ、コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、ブロックについての予測情報は、コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、コード化ユニット中の最上行のブロックのいずれからの予測情報にも基づかない手段と、判断された予測情報に基づいて、ブロックをコーディングするための手段とを含む。
本開示の1つまたは複数の態様の詳細について添付の図面および以下の説明において述べる。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。 本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。 例示的な4分木(quadtree)を示す概念図。 対応する最大コーディングユニット(LCU)を示す概念図。 最確イントラモードが判断され得る元になる例示的な隣接ブロックを示す図。 動きベクトル予測子候補についての例示的なロケーションを示す図。 ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す図。 ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す別の図。 ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す別の図。 ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す別の図。 1つまたは複数の隣接ブロックの予測情報をクリッピングする一例を示す概念図。 1つまたは複数の隣接ブロックの予測情報をクリッピングする一例を示す別の概念図。 最大コーディングユニットの境界コーディングユニットを示すブロック図。 ビデオコーディング中にバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図。 イントラ予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図。 イントラ予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図。 インター予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図。 インター予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図。
ビデオコーディングデバイスは、空間的冗長性および/または時間的冗長性を利用することによってビデオデータを圧縮することを試み得る。たとえば、ビデオエンコーダは、隣接する、前にコーディングされたブロックに関連してブロックをコーディングすることによって、空間的冗長性を利用し得る。同様に、ビデオエンコーダは、前にコーディングされたピクチャのデータに関連してブロックをコーディングすることによって、時間的冗長性を利用し得る。特に、ビデオエンコーダは、空間的ネイバーのデータから、または前にコーディングされたピクチャのデータから現在ブロックを予測し得る。次いでビデオエンコーダは、ブロックの実際のピクセル値とブロックの予測ピクセル値との間の差分としてブロックの残差を計算し得る。したがって、ブロックの残差は、ピクセル(または空間的)領域におけるピクセルごとの差分値を含み得る。
イントラコーディングに関して、ビデオエンコーダは、既定のイントラ予測モードに従って、予測ブロックを生成し得る。ビデオエンコーダは、残差データのブロックを生成するために、現在符号化されているブロックの値から、予測ブロックの値を減算し得る。ビデオエンコーダは、ビデオデコーダによって復号され得る符号化ビットストリームにおいて、イントラ予測モードと残差データのブロックとをシグナリングし得る。デコーダは、残差データを予測ブロックのデータと組み合わせることによって、(たとえば、同じイントラ予測モードを使用して)同じ予測ブロックを生成し、符号化ビデオブロックを再構成し得る。
新生のHEVC規格は、35個以上ものイントラ予測モードを使用し得る。ビデオエンコーダによって選択されたイントラ予測モードをシグナリングするために必要とされるビット数を低減するために、ビデオエンコーダは、1つまたは複数の空間的に隣接するブロックなど、すでにコーディングされたビデオブロックについてのイントラ予測モードを識別し得る。これらの隣接ブロックのイントラ予測モードに基づいて、ビデオエンコーダは、現在ビデオブロックについての最確イントラ予測モードを識別し得る。最確イントラ予測モードは、現在ブロックについてのコンテキストに基づいて、現在ビデオブロックを符号化するために使用される可能性が最も高いイントラ予測モードを表す。コンテキストは、たとえば、隣接ブロックのために使用されるイントラ予測モード、現在ブロックのサイズ、および他の要素のある組合せによって定義され得る。現在ビデオブロックについてのコンテキストを判断するために、ビデオエンコーダによって使用される要素はまた、ビデオデコーダによっても識別可能である。したがって、ビデオエンコーダによって判断された最確イントラ予測モードは、ビデオデコーダに明示的にシグナリングされる必要なしに、ビデオデコーダによっても判断され得る。最確イントラ予測モードは、現在ブロックを符号化するために実際に使用されたイントラ予測モードと同じであってもなくてもよい。実際のイントラ予測モードは、どのイントラ予測モードが、再構成されたビデオの最良の品質を生じるかに基づいて、ビデオエンコーダによって判断され得る。
ビデオエンコーダは、最確イントラ予測モードが現在ビデオブロックについての実際の予測モードと同じであるかどうかを示す、ビットストリームに含めるためのシンタックス要素を生成し得る。シンタックス要素は、たとえば、単一ビットであってもよく、ただし、「1」は、実際のイントラ予測モードが最確イントラ予測モードであることを示し、「0」は、実際のイントラ予測モードが最確イントラ予測モードではないことを示す。したがって、現在ビデオブロックについての実際のイントラ予測モードが、最確イントラ予測モードであるとき、現在ビデオブロックについての実際のイントラ予測モードは、単一ビット(この例では「1」)を使用して、エンコーダからデコーダへシグナリングされ得る。実際のイントラ予測モードが最確イントラ予測モードではない場合には、実際のイントラ予測は、第1のビットの後に来るコードワード(すなわち、「0」の第1のビットと、その後に続くコードワード)を用いてシグナリングされ得る。
インターコーディングに関して、ビデオエンコーダは、たとえば、現在符号化されているブロックの値を予測するために使用され得る、別のビデオピクチャまたはスライスから、ビデオデータの予測ブロックを識別するために、動きベクトルを生成し得る。ビデオエンコーダは、残差データのブロックを生成するために、現在ブロックの値から予測ブロックの値を減算し得る。一般に、ビデオエンコーダは、ビデオデコーダによって復号され得る符号化ビットストリームにおいて、動きベクトルと残差データとをシグナリングし得る。デコーダは、残差データを予測ブロックのデータと組み合わせることによって、復号ピクチャバッファ中の復号ブロックのセットの中で(たとえば、動きベクトルに基づいて)同じ予測ブロックの位置を特定し、符号化ビデオブロックを再構成し得る。
いくつかの場合には、動きベクトルの予測コーディングはまた、動きベクトルを通信するために必要とされるデータの量をさらに低減するために適用される。この場合、動きベクトル自体を符号化し、通信するのではなく、エンコーダは、既知の(または知り得る)動きベクトルに対する動きベクトル差分(MVD)を符号化し、通信する。現在動きベクトルを定義するためにMVDとともに使用され得る既知の動きベクトルは、いわゆる動きベクトル予測子(MVP)によって定義され得る。
来るべきHEVC規格において、適応動きベクトル予測(AMVP:adaptive motion vector prediction)と呼ばれるプロセスが実施され得、このプロセスでは、動きベクトル候補セットが、空間的方向および時間的方向におけるいくつかの隣接ブロックから構築される。動きベクトル候補セットは、MVPのための複数の候補を含む。この場合、ビデオエンコーダは、符号化レートとひずみとの分析に基づいて(たとえば、いわゆるレートひずみコスト分析(rate-distortion cost analysis)を使用して)候補セットから最も正確な予測子を選択する。動きベクトル予測子インデックス(mvp_idx)は、どこでMVPの位置を特定するか、すなわち、MVP候補のうちのどれが復号のために使用されるべきであるかを、ビデオコーダに通知するために、そのデコーダに送信され得る。MVDも通信される。デコーダは、動きベクトルを再構成するように、MVDを(動きベクトル予測子インデックスによって定義された)MVPと組み合わせ得る。
コーディングされている現在ビデオブロックのために隣接ビデオブロックの動き情報(たとえば、動きベクトル、参照予測インデックス、予測方向、または他の情報)が継承される、いわゆる「マージモード」も利用可能であり得る。現在ビデオブロックがその動き情報をそこから継承する(たとえば、上部、右側上部、左側、または時間的に隣接するフレームからコロケートされた)ネイバーを識別するために、インデックス値が使用され得る。マージモードは、いくつかの候補ブロックのうちの1つからの動き情報を使用するが、MVDに依拠しない。
したがって、本開示は、概して、「予測情報」を、ビデオデータの予測ブロックを生成するためのイントラ予測情報および/またはインター予測情報と呼ぶ。すなわち、イントラコーディングに関して、予測情報は、ビデオデータのブロックをコーディングするために使用されるイントラコーディングモードを指し得る。予測情報はまた、隣接ブロックのイントラコーディングモードを指すこともあり、その例では、そのような隣接イントラコーディングモードが、(たとえば、上記で説明した最確モード導出プロセスを使用して)ブロックをコーディングするために使用される。追加または代替として、インター予測では、予測情報は、ビデオデータのブロックをコーディングするために使用される動き情報(たとえば、動きベクトル、参照ピクチャインデックス、予測方向、または他の情報)を指し得る。予測情報はまた、隣接ブロックの動き情報を指すこともあり、その例では、そのような隣接動き情報が、(たとえば、上記で説明したAMVPプロセスとマージモードプロセスとを使用して)ブロックをコーディングするために使用される。
いずれの場合にも、予測情報は、いわゆる「ラインバッファ」に記憶され得、それにより、予測情報がコーディング中に参照のために利用可能になる。イントラコーディングに関して、ビデオコーダは、ブロックの各々についてのイントラ予測モードを記憶し得る。インターコーディングに関して、ビデオコーダは、ブロックの各々についての動き情報(たとえば、動きベクトル(mvx,mvy)、参照ピクチャインデックス(ref_idx)、予測方向(inter_dir)、または他の情報)を記憶し得る。ラインバッファは、現在コーディングされているブロックまたはスライスの上に位置するブロックのラインに関連付けられた予測情報を記憶することができ、典型的には、ピクチャの幅全体の両端間に延在する。
ラインバッファは、ビデオコーダによってアクセスされ得るメモリを含み得る。ラインバッファは、比較的大量のデータであり得る、フレーム全体についての予測情報をバッファリングすることと、コーディング中にアクセスされる最高の可能性を有する予測情報をバッファリングすることとの間で、バランスをとり得る。すなわち、いくつかの例では、バッファのサイズをできる限り小さく保つために、最も頻繁に使用される予測情報のみがラインバッファに記憶され得る。
しかしながら、ビデオ解像度およびフレームの幅(たとえば、所与のビデオフレームの両端間の右から左までのピクセルの数)が増すにつれて、ラインバッファに記憶されるデータの量もまた増す。いくつかの例では、4×4ピクセルという小さいビデオデータのブロックが、ピクチャをコーディングするために使用され得る。一例として、1920×1080ピクセルピクチャ(たとえば、1080pビデオの場合)は、495ブロックもの4×4ピクセルを含み得る。したがって、予測情報がビデオデータのブロックごとに記憶される場合、ビデオコーダは、比較的かなりの量のデータをラインバッファに記憶することが必要とされ得る。
本開示の技法は一般に、コーディング中にバッファリングされる隣接ブロックからの予測情報の量を制限または低減することに関する。たとえば、現在ブロックをコーディングするとき、上に隣接するブロックの予測情報を使用するのではなく、いくつかの例では、ビデオコーディングデバイスは、左に隣接するブロックからの予測情報に基づいて、予測情報を判断し得る。他の例では、ビデオコーディングデバイスは、上に隣接するブロックからのデータに基づいて予測情報を判断し得るが、現在ブロックが(たとえば、以下でより詳細に説明するように、新生の高効率ビデオコーディング(HEVC)規格において最大コーディングユニット(LCU)と呼ばれる)より大きいパーティションのサブブロックであり、かつ、そのようなサブブロックが別のLCUに接していないときのみである。以下で説明するように、様々な他の技法もまた、ビデオコーディング中にバッファリングされる予測情報の量を低減するために使用され得る。
本開示の技法に従って、バッファリングされるデータの量を制限することによって、ビデオデータをコーディングすることに関連する複雑性を低減することができる。たとえば、本開示の態様により、ビデオコーディングデバイスがより少ないデータをバッファリングすることができ、それにより、そのようなバッファリングに関連するメモリ要件を軽減することができる。さらに、予測情報の導出元となるロケーションを低減することによって、エントロピーコーディング効率および/またはスループットを改善することができる。たとえば、本開示の技法は、解析スループットを改善するように実施され得る。すなわち、ビデオデータがビデオコーダによって受信されると、ビデオデータは特定の解析プロセス(たとえば、波面解析)に従って解析され(たとえば、読み取られ、セグメント化され)得る。いくつかの例では、解析プロセスは、スライスの各LCUを、1つまたは複数の初期LCU(たとえば、スライスにおける上および/または左端のLCU)を解析した後に解析することを含み得る。LCUを解析することによって、ビデオコーダは、解析されたLCUのうちの1つまたは複数を各処理スレッドが含む、複数の処理スレッド(たとえば、並列処理の場合)を形成することができる。
しかしながら、予測情報依存のために、いくつかのスレッドは他のスレッドに依存することがあり、これは並列処理アプリケーションにとって最適ではないことがある。たとえば、第1のスレッドは、第2の異なるスレッドによって処理されるデータに依存することがあり、これにより第1のスレッドは、第2のスレッドがデータを処理し終えるまで待機することになり得る。すなわち、データは一般に、データが有用であるところまで解析され、次いでデータはコーディングされる。従来型の波面の場合、ビデオコーダは、第1の(たとえば、上部)波面のデータをコーディングするために減速し得る。そして、それは次のスレッドを停止させることがあり、さらに次のスレッドを停止させ、以下同様である。本開示の態様によれば、予測情報依存を解消することによって、1つのスレッドの減速は、処理されている他のスレッドに影響を与えなくなる。解析に関して、これは、スレッドのパーサが、他のスレッドを参照する必要がなく、スレッドごとに独立して動作し得ることを意味する。
一例では、説明のために、現在コーディングされているLCUがスライスの最上行の下に位置し、そのスライスの1つまたは複数のLCUが現在のスライスの上に位置すると仮定する。この例では、現在のLCUをコーディングするための予測情報は、上位隣接LCU(たとえば、現在のLCUの上に位置するLCU)に含まれ得る。すなわち、現在のLCUをコーディングするための予測情報は、上位隣接LCUの1つまたは複数の値(たとえば、イントラ予測モード、動き情報など)に依存し得る。したがって、現在のLCUは、現在のLCUがコーディングされ得る前に、上位隣接LCUがコーディングされるのを待機しなければならないことがある。そのようなレイテンシが生じると、特に並列処理アプリケーションにおいて、コーディングプロセスが減速し得る。本開示の態様は、そのような依存を低減し、それによって、上記で説明したレイテンシの可能性を低減するように実施され得る。
図1は、予測情報の効率的な記憶のための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
本開示では、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及し得る。ただし、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化部分のヘッダに記憶することによってデータを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ30によって受信され、復号されるより前に、符号化され、記憶され(たとえば、記憶媒体34またはファイルサーバ36に記憶され)得る。したがって、「シグナリング」という用語は、そのような通信がリアルタイムまたはほぼリアルタイムで行われるか、あるいは、符号化時にシンタックス要素を記録媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックスまたは他のデータの通信を指し得る。
概して予測データの効率的な記憶に関係する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、動きベクトルをコーディングし、HEVCと、マルチビューまたは3次元ビデオ(3DV)拡張など、HEVCの拡張とにおいて双予測を実行するために本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
図1の図示のシステム10は一例にすぎない。予測データの効率的な記憶のための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、デバイス12、14は、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合に、キャプチャされたビデオ、以前にキャプチャされたビデオまたはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。具体的には、本開示は、スライス、ピクチャ、波面のセット、またはタイルなどの複数のブロックを含むデータのユニットとして「コード化ユニット」に言及する。したがって、「コード化ユニット」という用語は、複数のブロック、たとえば複数の最大コーディングユニット(LCU)を含むことを理解されたい。さらに、「コード化ユニット」という用語を、HEVCで使用される「コーディングユニット」またはCUという用語と混同すべきではない。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。HEVCの最新の作業草案(WD:Working Draft)であり、以下でHEVC WD7と呼ばれるものは、http://phenix.int−evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v5.zipから入手可能であり、より最近のバージョンは、http://phenix.int−evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v6.zipから入手可能であり、その両方が、その全体が本明細書に記載されているかのように、参照により本明細書に組み込まれる。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、MPEG−2およびITU−T H.263がある。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付のITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続的なツリーブロックを含む。ビデオピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、またはTU、あるいは他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。さらに、本開示では、ビデオデータの2つ以上のブロックを含み得るビデオデータの既定の量を記述するために、「コード化ユニット」という用語を使用し得る。すなわち、たとえば、コード化ユニットは、ピクチャ、スライス、タイル、もしくはタイルのセット、波面のセット、またはビデオデータを含む任意の他の既定のユニットを指し得る。したがって、「コード化ユニット」という用語を、「コーディングユニット」またはCUという用語と混同すべきではない。
CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルをもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形(たとえば、矩形)であり得る。
HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUのイントラ予測モードを記述するデータを含み得る残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述し得る。
1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれ得る。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダ20は、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUについて対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
ビデオシーケンスは、一般に一連のビデオピクチャを含む。ピクチャグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば「2N×nU」は、上部に2N×0.5N PUと下部に2N×1.5N PUとで水平方向に区分される2N×2N CUを指す。
本開示では、「N×(x)N」と「N×(by)N」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×(x)16ピクセルまたは16×(by)16ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列とに構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、この場合、nはmよりも大きい。
量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
一般に、ビデオデコーダ30によって実行されるビデオ復号プロセスは、ビデオエンコーダ20によって実行される符号化技法とは逆の技法を含み得る。概して逆であるが、ビデオデコーダ30は、場合によっては、ビデオエンコーダ20によって実行される技法と同様の技法を実行することがある。ビデオデコーダ30は、ビデオエンコーダ20に関して説明したデータを含む受信されたビットストリームに含まれるシンタックス要素または他のデータに依拠することもある。
本開示の態様によれば、ビデオエンコーダ20および/またはビデオデコーダ30は、たとえば、ラインバッファにおいて、コーディング中にバッファリングされる隣接ブロックからのデータの量を制限するための本開示の技法を実装し得る。たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、コーディング中にバッファリングされる隣接ブロックからの予測情報の量を制限し得る。上述したように、予測情報は、イントラ予測情報(たとえば、イントラコーディングモード)または動き情報(たとえば、動きベクトル、参照ピクチャインデックス、予測方向、または他の情報)を含み得る。本開示の態様によれば、現在ブロックをコーディングするとき、上に隣接するブロックの予測情報を使用するのではなく、いくつかの例では、ビデオエンコーダ20および/またはビデオデコーダ30は、左に隣接するブロックからの予測情報に基づいて、予測情報を判断し得る。他の例では、ビデオエンコーダ20および/またはビデオデコーダ30は、上に隣接するブロックからのデータに基づいて予測情報を判断し得るが、現在ブロックが(たとえば、以下でより詳細に説明するように、新生の高効率ビデオコーディング(HEVC)規格において最大コーディングユニット(LCU)と呼ばれる)より大きいパーティションのサブブロックであり、かつ、そのようなサブブロックが別のLCUに接していないときのみである。以下で説明するように、様々な他の技法もまた、ビデオコーディング中にビデオエンコーダ20および/またはビデオデコーダ30によってバッファリングされる予測情報の量を低減するために使用され得る。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
図2は、予測情報の効率的な記憶のための、本開示で説明する技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接ピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオデータを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56と、参照ピクチャメモリ64とを含む。モード選択ユニット40は、今度は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46と、パーティションユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のループフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオピクチャまたはスライスを受信する。ピクチャまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、空間圧縮を行うために、コーディングされるべきブロックと同じピクチャまたはスライス中の1つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
その上、パーティションユニット48は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット48は、初めにピクチャまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
モード選択ユニット40は、たとえば、誤差結果に基づいてコーディングモード、イントラまたはインターのうちの1つを選択し得、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ(または他のコード化ユニット)内のコーディングされている現在ブロックに対する参照ピクチャ(または他のコード化ユニット)内の予測ブロックに対する、現在ビデオピクチャ内のビデオブロックのPUの変位を示し得る。上記のように、動きベクトルは、予測情報を構成し得る。
予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
いくつかの例では、現在のPUについての実際の動きベクトルを送るのではなく、動き推定ユニット42は、動きベクトルを通信するために必要とされるデータの量をさらに低減するために、動きベクトルを予測し得る。この場合、動きベクトル自体を符号化および通信するのではなく、動き推定ユニット42は、既知の(または知り得る)動きベクトルに対する動きベクトル差分(MVD)を生成し得る。現在動きベクトルを定義するためにMVDとともに使用され得る既知の動きベクトルは、いわゆる動きベクトル予測子(MVP)によって定義され得る。概して、有効なMVPであるために、予測のために使用されている動きベクトルは、現在コーディングされている動きベクトルと同じ参照ピクチャをポイントしなければならない。
いくつかの例では、動き推定ユニット42は、MVPのための候補として空間的および/または時間的方向におけるいくつかの隣接ブロックを含む、動きベクトル予測子候補リストを構築し得る。複数の動きベクトル予測子候補が(複数の候補ブロックから)利用可能なとき、動き推定ユニット42は、所定の選択基準に従って現在ブロックについての動きベクトル予測子を判断し得る。たとえば、動き推定ユニット42は、符号化レートおよびひずみの分析に基づいて(たとえば、レートひずみコスト分析または他のコーディング効率分析を使用して)、候補セットから最も正確な予測子を選択し得る。他の例では、動き推定ユニット42は、動きベクトル予測子候補の平均を生成し得る。動きベクトル予測子を選択する他の方法も可能である。
動きベクトル予測子を選択するときに、動き推定ユニット42は、MVP候補ブロックを含んでいる参照ピクチャリスト中のどこでMVPの位置を特定すべきかを(たとえば、ビデオデコーダ30などの)ビデオデコーダに通知するために使用され得る、動きベクトル予測子インデックス(mvp_flag)を判断し得る。動き推定ユニット42はまた、現在ブロックと選択されたMVPとの間のMVDを判断し得る。MVPインデックスおよびMVDは、動きベクトルを再構成するために使用され得る。
いくつかの例では、動き推定ユニット42は、代わりに、いわゆる「マージモード」を実装し得、マージモードでは、動き推定ユニット42は、予測ビデオブロックの(動きベクトル、参照ピクチャインデックス、予測方向、または他の情報などの)動き情報を現在ビデオブロックと「マージ」し得る。したがって、マージモードに関して、現在ビデオブロックは、別の既知の(または知り得る)ビデオブロックから動き情報を継承する。動き推定ユニット42は、マージモードのための候補として空間的および/または時間的方向におけるいくつかの隣接ブロックを含む、マージモード候補リストを構築し得る。動き推定ユニット42は、マージング候補ブロックを含んでいる参照ピクチャリスト中のどこでマージングビデオブロックの位置を特定すべきか、すなわち、動き情報が取得される元のブロックを(たとえば、ビデオデコーダ30などの)ビデオデコーダに通知するために使用され得る、インデックス値(たとえば、merge_idx)を判断し得る。
本開示の態様によれば、動き推定ユニット42は、符号化中にバッファリングされる隣接ブロックからの動き情報、たとえば、動きベクトル、参照ピクチャインデックス、予測方向、または他の情報の量を制限し得る。たとえば、上に隣接するブロックからの動き情報に基づいて、現在ブロックのためのMVPまたはマージ候補を判断するのではなく、動き推定ユニット42は、左に隣接するブロックからの動き情報に基づいて、現在ブロックを符号化するための動き情報を判断し得る。他の例では、動き推定ユニット42は、上に隣接するブロックからのデータに基づいて、現在ブロックについての動き情報を判断し得るが、現在ブロックがLCUのサブブロックであり、かつ、上に隣接するブロックが同じLCUからのものであるときのみである。さらに他の例では、動き推定ユニット42は、他の技法(たとえば、以下でより詳細に説明するように、サブサンプリング、補間など)を実施して、符号化中にバッファリングされる動き情報の量を低減し得る。
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
いくつかの例では、イントラ予測ユニット46は、いわゆる最確モードを使用して、選択されたイントラ予測モードを示し得る。たとえば、イントラ予測ユニット46は、前に符号化されたブロックを含むコンテキストモデルに基づいて現在ブロックについてのイントラ予測モードを示し得る。一例では、イントラ予測ユニット46は、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの相対的な上側および相対的な左側に接している前に符号化されたブロックに基づいて最確モードを判断し得る。これらのブロックは、現在ブロックと同じイントラモードを有する高い確率を有し得る。
一例では、現在ブロックの上側および左側のブロックが異なるモードで符号化されていた場合、イントラ予測ユニット46は、イントラ予測ユニット46によって維持されているイントラモードの既定のランキング(たとえば、モード番号に従ったイントラモードの数値ランキング)に従って、最確モードとしてより低い数値ランキングを有するイントラモードを選択し得る。別の例では、現在ブロックの上側および左側のブロックが異なるモードで符号化されていた場合、イントラ予測ユニット46は、最確モードとしてDCイントラモードなどの既定のデフォルトモードを選択し得る。ただし、現在ブロックのコンテキストが2つ以上のイントラモードを含むときに最確モードを選択するプロセスは、例として与えたものにすぎず、イントラ予測ユニット46は、様々な他の方法で最確モードを判断するように構成され得る。
最確イントラモードを判断した後に、イントラ予測ユニット46は、最確モードと、現在ブロックを符号化するために使用される選択されたイントラモードとの比較に基づいて、フラグ(たとえば、most_probable_modeフラグ)を設定し得る。たとえば、最確モードが現在ブロックのための選択されたイントラモードと同じであった場合、イントラ予測ユニット46は、最確モードフラグを1の値に設定して、選択されたイントラモードと最確モードとが同じであることを示し得る。この例では、選択されたモードをシグナリングするために追加のビットが必要とされない。すなわち、1に設定されている最確モードフラグを受信すると、(ビデオデコーダ30などの)ビデオデコーダは、たとえば、エンコーダによって使用された、最確モードを判断するための同じプロシージャを再生し、次いで、最確モードを使用して、受信したブロックを復号し得る。
最確モードが現在ブロックのための選択されたイントラモードと同じでなかった場合、イントラ予測ユニット46は、最確モードフラグを0の値に設定して、それらのモードが同じでないことを示し得る。この例では、隣接ブロックのうちの別のものに、直接またはインデックスによってのいずれかで、現在ブロックを符号化するために使用された実際のイントラモードをシグナリングするために、追加のビットが必要とされ得る。いくつかの例によれば、イントラ予測ユニット46は、イントラモードの数値ランキングを維持し得、最も頻繁に使用されるイントラモードが最低数値ランキングを有する。そのような例では、イントラ予測ユニット46は、数値ランキングまたは別の数値識別子に基づいて、現在ブロックを符号化するために使用された実際のイントラモードをシグナリングし得る。
本開示の態様によれば、イントラ予測ユニット46は、符号化中にバッファリングされる隣接ブロックからの、予測情報、たとえば、イントラモードデータの量を制限し得る。たとえば、上に隣接するブロックからのイントラモードデータに基づいて、現在ブロックについての最確イントラモードを判断するのではなく、イントラ予測ユニット46は、左に隣接するブロックのイントラモードに基づいて、現在ブロックを符号化するための最確イントラモードを判断し得る。すなわち、たとえば、イントラ予測ユニット46は、上に隣接するブロックからのイントラモードを判断することなしに、左に隣接するブロックのイントラモードに基づくのみで、現在ブロックを復号するための最確イントラモードを判断し得る。他の例では、イントラ予測ユニット46は、1つまたは複数の左に隣接するブロックと上に隣接するブロックとからのデータに基づいて、現在ブロックについての最確イントラモードを判断し得るが、現在ブロックがLCUのサブブロックであり、かつ、上に隣接するブロックが同じLCUからのものであるときのみである。さらに他の例では、イントラ予測ユニット46は、他の技法(たとえば、以下でより詳細に説明するように、サブサンプリング、補間など)を実施して、符号化中にバッファリングされるイントラモードデータの量を低減し得る。
ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。
変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。
CABACに関して、エントロピー符号化ユニット56は、ビデオデータのブロックに関連するシンボルを符号化するためにコンテキストに作用するコンテキストモデルを選択し得る。たとえば、エントロピー符号化ユニット56は、シンタックス要素ごとに確率推定値を使用して、ビデオデータのブロックの各シンタックス要素をエントロピー符号化することができる。確率推定値は、要素が所与の値を有する可能性を示し得る。確率推定値は、「コンテキストモデル」とも呼ばれる確率モデル内に含まれ得る。エントロピー符号化ユニット56は、シンタックス要素に関するコンテキスト情報(またはより単純には「コンテキスト」)を判断することによって、コンテキストモデルを選択することができる。コンテキストごとに異なる確率モデルが定められる。シンタックス要素をコーディングした後、エントロピー符号化ユニット56は、最新の確率推定値を反映するために、シンタックス要素の実測値に基づいて、選択されたコンテキストモデルを更新することができる。すなわち、たとえば、エントロピー符号化ユニット56は、コンテキストモデルが新しいコンテキストモデルに移行するために選択される方法を更新することができる。
エントロピー符号化ユニット56によるエントロピーコーディングの後に、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、あるいは後で送信するかまたは取り出すために、たとえば、記録媒体にアーカイブされ得る。逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
このようにして、ビデオエンコーダ20は、ビデオデータの第1のブロックについての予測情報を判断することであり、第1のブロックは、ビデオデータのコード化ユニット内に含まれ、そこで、第1のブロックは、コード化ユニット中の最上行のブロックの下にあることと、ビデオデータの第1のブロックについての予測情報に基づいて、コード化ユニット中の最上行のブロックからの予測情報に基づくことなしに、コード化ユニット中の最上行のブロックの下のビデオデータの第2のブロックについての予測情報を判断することと、第2のブロックについての判断された予測情報に基づいて、第2のブロックをコーディングすることとを含む方法を実行し得る、ビデオコーダの一例である。
図3は、ビデオデータをエントロピーコーディングするための、本開示で説明する技法を実装し得る例示的なビデオデコーダ30を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。予測ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。
復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。
ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。たとえば、背景として、ビデオデコーダ30は、ネットワークを介した送信のために、いわゆる「ネットワークアブストラクションレイヤユニット(network abstraction layer unit)」またはNALユニットに圧縮された圧縮ビデオデータを受信し得る。各NALユニットは、NALユニットに記憶されるデータのタイプを識別するヘッダを含み得る。一般にNALユニットに記憶されるデータの2つのタイプがある。NALユニットに記憶されるデータの第1のタイプはビデオコーディングレイヤ(VCL:video coding layer)データであり、これは圧縮ビデオデータを含む。NALユニットに記憶されるデータの第2のタイプは非VCLデータと呼ばれ、これは、多数のNALユニットに共通のヘッダデータを定義するパラメータセットなどの追加情報と、補足エンハンスメント情報(SEI:supplemental enhancement information)とを含む。
たとえば、パラメータセットは、(たとえば、シーケンスパラメータセット(SPS:sequence parameter set)中の)シーケンスレベルヘッダ情報と(たとえば、ピクチャパラメータセット(PPS)中の)まれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット中に含まれているまれに変化する情報は、シーケンスまたはピクチャごとに繰り返される必要がなく、それによりコーディング効率が改善される。さらに、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、それにより誤り耐性のための冗長送信の必要を回避する。
エントロピー復号ユニット80は、図2のビデオエンコーダ20に関して上記で説明したエントロピー符号化ユニット56と同様に構成され得る。たとえば、エントロピーコーディングユニット80は、ビデオデータのブロックに関連するシンボルを復号するためにコンテキストに作用するコンテキストモデルを選択し得る。すなわち、エントロピーコーディングユニット80は、シンタックス要素ごとに確率推定値を使用して、ビデオデータのブロックの各シンタックス要素をエントロピー復号し得る。
エントロピー復号ユニット80は、予測ユニット81に動きベクトルと他の復号されたシンタックス要素とを転送する。ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、予測ユニット81のイントラ予測ユニット84は、(たとえば、隣接ブロックのうちの別のものに、直接またはインデックスによって、最確モードとしてシグナリングされた)シグナリングされたイントラ予測モードと、現在ピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックについての予測データを生成し得る。ビデオピクチャがインターコード化(すなわちB、PまたはGPB)スライスとしてコーディングされるとき、予測ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照ピクチャリスト、リスト0およびリスト1を構成し得る。
動き補償ユニット82は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を判断し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
本開示の態様によれば、動き補償ユニット82は、復号中にバッファリングされる隣接ブロックからの動き情報、たとえば、動きベクトル、参照ピクチャインデックス、予測方向、または他の情報の量を制限し得る。たとえば、上に隣接するブロックからの動き情報に基づいて、現在ブロックのためのMVPまたはマージ候補を判断するのではなく、動き補償ユニット82は、左に隣接するブロックからの動き情報に基づいて、現在ブロックを復号するための動き情報を判断し得る。他の例では、動き補償ユニット82は、上に隣接するブロックからのデータに基づいて、現在ブロックについての動き情報を判断し得るが、現在ブロックがLCUのサブブロックであり、かつ、上に隣接するブロックが同じLCUからのものであるときのみである。さらに他の例では、動き補償ユニット82は、他の技法(たとえば、以下でより詳細に説明するように、サブサンプリング、補間など)を実施して、復号中にバッファリングされる動き情報の量を低減し得る。
本開示の態様によれば、イントラ予測ユニット84は、復号中にバッファリングされる隣接ブロックからの予測情報、たとえば、イントラモードデータの量を制限し得る。たとえば、上に隣接するブロックからのイントラモードデータに基づいて、現在ブロックについての最確イントラモードを判断するのではなく、イントラ予測ユニット84は、左に隣接するブロックのイントラモードに基づいて、現在ブロックを復号するための最確イントラモードを判断し得る。すなわち、たとえば、イントラ予測ユニット84は、上に隣接するブロックからのイントラモードを判断することなしに、左に隣接するブロックのイントラモードに基づくのみで、現在ブロックを復号するための最確イントラモードを判断し得る。他の例では、イントラ予測ユニット84は、1つまたは複数の左に隣接するブロックと上に隣接するブロックとからのデータに基づいて、現在ブロックについての最確イントラモードを判断し得るが、現在ブロックがLCUのサブブロックであり、かつ、上に隣接するブロックが同じLCUからのものであるときのみである。さらに他の例では、イントラ予測ユニット84は、他の技法(たとえば、以下でより詳細に説明するように、サブサンプリング、補間など)を実施して、復号中にバッファリングされるイントラモードデータの量を低減し得る。
逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータを使用して量子化の程度を判断し、同様に、適用すべき逆量子化の程度を判断することを含み得る。
逆変換処理ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。本開示の態様によれば、逆変換処理ユニット88は、変換が残差データに適用された方法を判断し得る。すなわち、たとえば、逆変換処理ユニット88は、受信されたビデオデータのブロックに関連する残差ルーマサンプルおよび残差クロマサンプルに変換(たとえば、DCT、整数変換、ウェーブレット変換、または1つもしくは複数の他の変換)が適用された方法を表すRQTを判断し得る。
動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。次いで、所与のピクチャ中の復号ビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の提示のために、復号ビデオを記憶する。
このようにして、ビデオデコーダ30は、ビデオデータの第1のブロックについての予測情報を判断することであり、第1のブロックは、ビデオデータのコード化ユニット内に含まれ、そこで、第1のブロックは、コード化ユニット中の最上行のブロックの下にあることと、ビデオデータの第1のブロックについての予測情報に基づいて、コード化ユニット中の最上行のブロックからの予測情報に基づくことなしに、コード化ユニット中の最上行のブロックの下のビデオデータの第2のブロックについての予測情報を判断することと、第2のブロックについての判断された予測情報に基づいて、第2のブロックをコーディングすることとを含む方法を実行し得る、ビデオデコーダの一例である。
図4Aおよび図4Bは、例示的な4分木150と、対応する最大コーディングユニット172とを示す概念図である。図4Aは、階層式に構成されたノードを含む、例示的な4分木150を示している。4分木150は、たとえば、提案されたHEVC規格によるツリーブロックに関連付けられ得る。4分木150などの4分木中の各ノードは、子をもたないリーフノードであるか、または4つの子ノードを有し得る。図4Aの例では、4分木150はルートノード152を含む。ルートノード152は、リーフノード156A〜156C(リーフノード156)とノード154とを含む、4つの子ノードを有する。ノード154はリーフノードでないので、ノード154は、この例ではリーフノード158A〜158D(リーフノード158)である、4つの子ノードを含む。
4分木150は、この例ではLCU172など、対応する最大コーディングユニット(LCU)の特性を記述するデータを含み得る。たとえば、4分木150は、それの構造により、サブCUへのLCUの分割を記述し得る。LCU172が2N×2Nのサイズを有すると仮定する。LCU172は、この例では、4つのサブCU176A〜176C(サブCU176)および174を有し、各々はN×Nサイズである。サブCU174はさらに4つのサブCU178A〜178D(サブCU178)に分割され、各々はサイズN/2×N/2である。この例では、4分木150の構造はLCU172の分割に対応する。すなわち、ルートノード152はLCU172に対応し、リーフノード156はサブCU176に対応し、ノード154はサブCU174に対応し、リーフノード158はサブCU178に対応する。
4分木150のノードのデータは、ノードに対応するCUが分割されるかどうかを記述し得る。CUが分割される場合、4分木150中に4つの追加のノードが存在し得る。いくつかの例では、4分木のノードは以下の擬似コードと同様に実装され得る。
Figure 2014525198
split_flag値は、現在のノードに対応するCUが分割されるかどうかを表す1ビット値であり得る。CUが分割されない場合、split_flag値は「0」であり得るが、CUが分割される場合、split_flag値は「1」であり得る。4分木150の例に関して、分割フラグ値のアレイは101000000であり得る。
上記のように、CU深さは、LCU172などのLCUが分割された程度を指し得る。たとえば、ルートノード152は、CU深さ0に対応し得、ノード154およびリーフノード156は、CU深さ1に対応し得る。さらに、リーフノード158は、CU深さ2に対応し得る。本開示の態様によれば、CU深さおよび/またはTU深さは、いくつかのシンタックス要素をエントロピーコーディングするためのコンテキストとして使用され得る。説明のための一例では、リーフノード156Aは深さ1に位置し、リーフノード158Aは深さ2に位置するので、リーフノード156Aに関連する1つまたは複数のシンタックス要素は、リーフノード158Aとは異なるコンテキストモデルを使用して、エントロピーコーディングされ得る。
図4AではCU4分木の一例を示したが、同様の4分木がリーフノードCUのTUに適用され得ることを理解されたい。すなわち、リーフノードCUは、CUのためのTUの区分を記述する(残差4分木(RQT)と呼ばれる)TU4分木を含み得る。TU4分木は、TU4分木がCUのTUのイントラ予測モードを個々にシグナリングし得ることを除いて、概してCU4分木に似ていることがある。
本開示のいくつかの態様によれば、(ビデオエンコーダ20および/またはビデオデコーダ30などの)ビデオコーダは、いくつかの隣接するCUからの予測情報に基づいて、現在ブロックについての予測情報を判断し得る。たとえば、以下でより詳細に説明するように、ビデオコーダは、サブCU176Aなど、隣接するCUに基づいて、サブCU178Cについての予測情報を判断し得る。いくつかの例では、ビデオコーダは、上に隣接するサブCU178など、いくつかの隣接するCUに基づいて予測情報を判断することを回避し得る。しかしながら、本開示の態様によれば、以下でより詳細に説明するように、ビデオコーダは、上に隣接するCUについての情報がラインバッファに記憶されることを必要としないとすれば、上に隣接するCUを使用して、予測情報を判断し得る。
たとえば、本開示の態様によれば、ビデオコーダは、上に隣接するサブCU178AがサブCU178Cと同じLCU(すなわち、LCU172)に位置するので、上に隣接するサブCU178Aに基づいて、サブCU178Cについての予測情報を判断し得る。いくつかの例では、LCUのすべてのCUに関連付けられたデータが、LCUのコーディング中に(たとえば、外部バッファリングなしに)利用可能である。したがって、本開示の態様によれば、ビデオコーダは、予測情報をバッファリングすることなしに、ブロックLCUに関連付けられた予測情報を使用し得る。すなわち、本開示の態様によれば、ビデオコーダは、上に隣接するサブCU178Aの予測情報をラインバッファにバッファリングすることなしに、サブCU178Aに基づいて、サブCU178Cについての予測情報を判断し得る。
図5は、ブロックをイントラコーディングするときに最確イントラモードが判断され得る元になる、例示的な隣接ブロックを示す図である。たとえば、説明のために、(ビデオデコーダ30などの)ビデオデコーダは現在、現在ブロック180内のピクセルの特定の予測モード(たとえば、イントラ予測モード)を示すシンタックス要素を復号していると仮定する。この例では、ビデオデコーダ30は、現在のシンタックス要素に関するコンテキストを判断するために、上に隣接するブロック182および左に隣接するブロック184からイントラ予測モードを識別することができる。したがって、現在のシンタックス要素をエントロピー復号するために使用されるコンテキストモデルは、上に隣接するブロック182および左に隣接するブロック184のイントラ予測モードに依存し得る。
この例では、ビデオデコーダ30は、上に隣接するブロック182および左に隣接するブロック184のイントラ予測モードを示すデータを記憶またはバッファリングすることができ、それにより、イントラ予測を実行するときにそのようなデータが利用可能になる。たとえば、ビデオデコーダ30は、上に隣接するブロック182のイントラ予測モードを、ブロック180〜184を含むピクチャの幅を拡張するラインバッファに記憶することができ、それにより、イントラ予測モードが、現在ブロック180をコーディングするためのコンテキストとして使用されるために利用可能になる。
しかしながら、ビデオ解像度およびフレームの幅(たとえば、所与のビデオフレームの両端間の右から左までのピクセルの数)が増すにつれて、ラインバッファに記憶されるデータの量もまた増す。いくつかの例では、上記のように、4×4ピクセルという小さいビデオデータのブロックが、ピクチャをコーディングするために使用され得る。一例として、1920×1080ピクセルピクチャ(たとえば、1080pビデオの場合)は、495ブロックもの4×4ピクセルを有する幅を含み得る。各ブロックは、関連付けられたイントラ予測モードを有し得る。35個の潜在的なイントラ予測モードを用いて、ビデオデコーダ30は、495ブロックの各々のために、最大6ビットのイントラ予測情報を記憶し得る。したがって、ピクチャの各ブロックについてのイントラ予測モードが(図5に示す例では、ブロック182を含む)ラインバッファに記憶される場合、ビデオデコーダ30は、比較的かなりの量のデータをラインバッファに記憶することが必要とされ得る。
本開示の技法は一般に、コーディング中にバッファリングされる隣接ブロックからのイントラモードデータの量を制限することに関する。すなわち、本開示の態様は、最確モード導出を実行するときに使用するための、ラインバッファに記憶されるイントラモードデータの量を制限することに関する。図7に関して、および本開示における他の場所でより詳細に説明するように、本開示のいくつかの態様によれば、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダは、左に隣接するブロック184(ならびに、図8の例に示すように、1つまたは複数の他の左に隣接するブロック)に基づくが、上に隣接するブロック182に基づかずに、現在ブロック180についての最確イントラモードを判断し得る。この例では、ビデオコーダは、現在ブロック180についての最確イントラモードを判断するために、上に隣接するブロック182のイントラモードが使用されないので、上に隣接するブロック182のイントラモードをラインバッファに記憶することを回避し得る。
他の例では、ビデオコーダは、上に隣接するブロック182に基づいて、現在ブロック180のイントラモードを判断し得るが、上に隣接するブロック182が現在ブロック180と同じLCUからのものであるときのみである。そのような例では、LCUのすべての情報が、典型的にはLCUのコーディング中に利用可能であるので、上に隣接するブロック182についてのイントラモードが(ラインバッファに記憶されることなしに)利用可能であり得る。しかしながら、上に隣接するブロック182が異なるLCUからのものである場合、上に隣接するブロック182に関連付けられたデータは、(たとえば、符号化ビットストリーム中に)異なるLCUとともに含まれ得る。したがって、その例では、ビデオコーダは、イントラモードをバッファリングする必要があり得、そのことは、メモリリソースを必要とし、また、上記で説明したように、LCUの並列コーディングを妨げ得る。以下で説明するように、様々な他の技法もまた、ビデオコーディング中にバッファリングされる予測情報の量を低減するために使用され得る。
図6は、(AMVPとマージモードとを含む)動きベクトル予測を実行するときの潜在的な動きベクトル予測子候補を示す図である。すなわち、現在コーディングされているブロック188について、隣接ブロックA0、A1、B0、B1、およびB2からの動き情報(たとえば、水平成分と垂直成分とを備える動きベクトル、動きベクトルインデックス、予測方向、または他の情報)が、ブロック188についての動き情報を予測するために使用され得る。さらに、時間的コロケートブロックCOLに関連する動き情報も、ブロック188についての動き情報(たとえば、参照ピクチャ中のコロケートブロック)を予測するために使用され得る。隣接ブロックA0、A1、B0、B1、およびB2、ならびにコロケートブロックCOLを、動きベクトル予測に関して、概して、以下で動きベクトル予測子候補と呼ぶことがある。
いくつかの例では、図6に示す動きベクトル予測子候補は、(たとえば、MVDを生成するか、マージモードを実行するかにかかわらず)動きベクトル予測を実行するときに識別され得る。他の例では、マージモードと動きベクトル予測とを実行するときに、異なる候補が識別され得る。すなわち、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダは、動きベクトル予測を実行するためのものとは異なる、マージモードを実行するための動きベクトル予測子候補のセットを識別し得る。
マージモードを実行するために、一例では、(ビデオエンコーダ20などの)ビデオエンコーダは、初めに、動きベクトル予測子候補からのどの動きベクトルがブロック188とマージするために利用可能であるかを判断し得る。すなわち、いくつかの事例では、たとえば、動きベクトル予測子候補がイントラコーディングされているか、まだコーディングされていないか、または存在しない(たとえば、動きベクトル予測子候補のうちの1つまたは複数が別のピクチャまたはスライス中にある)ために、動きベクトル予測子候補のうちの1つまたは複数からの動き情報が利用不可能であり得る。ビデオエンコーダ20は、利用可能な動きベクトル予測子候補ブロックの各々を含む動きベクトル予測子候補リストを構成し得る。
候補リストを構成した後に、ビデオエンコーダ20は、現在ブロック100についての動きベクトルとして使用されるべき動きベクトルを候補リストから選択し得る。いくつかの例では、ビデオエンコーダ20は、ブロック188についての動きベクトルに最もよく一致する動きベクトルを候補リストから選択し得る。すなわち、ビデオエンコーダ20は、レートひずみ分析に従って動きベクトルを候補リストから選択し得る。
ビデオエンコーダ20は、ブロック188がマージモードを使用して符号化されるという指示を与え得る。たとえば、ビデオエンコーダ20は、ブロック188についての動きベクトルがマージモードを使用して予測されることを示す、フラグまたは他のシンタックス要素を設定し得る。一例では、ビデオエンコーダ20は、merge_flag[x0][y0]を設定することによって、ブロック188についてのインター予測パラメータが動きベクトル予測子候補から推測されることを示し得る。この例では、アレイインデックスx0、y0は、ピクチャ(またはスライス)の左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定し得る。
さらに、いくつかの例では、ビデオエンコーダ20は、ブロック188がそれの動きベクトルをそこから継承するマージング候補を識別するインデックスを与え得る。たとえば、merge_idx[x0][y0]は、マージング候補リスト中のピクチャを識別するマージング候補インデックスを指定し得、x0、y0は、ピクチャ(またはスライス)の左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。
(ビデオデコーダ30などの)ビデオデコーダは、ブロック188を復号するときに適切なマージ候補を識別するために同様のステップを実行し得る。たとえば、ビデオデコーダ30は、ブロック188がマージモードを使用して予測されるという指示を受信し得る。一例では、ビデオデコーダ30は、merge_flag[x0][y0]を受信し得、(x0,y0)は、ピクチャ(またはスライス)の左上ルーマサンプルに対する予測ブロックの(ブロック中のピクセルに対応する)左上ルーマサンプルのロケーションを指定する。ルーマサンプルに関して説明したが、上記で説明した技法は、クロマサンプルに対しても実行され得る。
いくつかの例では、ビデオデコーダ30は、ブロック188に候補ブロックの動き情報をマージする前に、動きベクトル予測子をスケーリングし得る。たとえば、動きベクトル予測子が、ブロック188によって参照された予測ブロック(たとえば、ブロック188についての実際の動きベクトル)とは異なる時間ロケーションにある参照ピクチャ中の予測ブロックを指す場合、ビデオデコーダ30は、動きベクトル予測子をスケーリングし得る。たとえば、ビデオデコーダ30は、動きベクトル予測子がブロック188のための参照ピクチャと同じ参照ピクチャを指すように動きベクトル予測子をスケーリングし得る。いくつかの例では、ビデオデコーダ30は、ピクチャ順序カウント(POC)値における差に従って動きベクトル予測子をスケーリングし得る。動きベクトル予測子を選択した後に、ビデオデコーダ30は、動きベクトル予測子に関連する動き情報をブロック188についての動き情報にマージし得る。
さらに、ビデオデコーダ30はマージ候補リストを構成し得る。たとえば、ビデオデコーダ30は、動きベクトル予測のために利用可能なビデオブロックを示す1つまたは複数のシンタックス要素(たとえば、フラグ)を受信し得る。ビデオデコーダ30は、受信したフラグに基づいてマージ候補リストを構成し得る。いくつかのマージング候補が同じ動きベクトルと同じ参照インデックスとを有する場合、冗長マージング候補の一部はリストから削除(すなわち、プルーニング)され得る。
ビデオデコーダ30は、受信したインデックスに従って適切なマージ候補を識別し得る。たとえば、ビデオデコーダ30は、ブロック188がそれの動きベクトルをそこから継承するマージング候補を識別するインデックスを受信し得る。一例では、merge_idx[x0][y0]は、マージング候補リスト中のピクチャを識別するマージング候補インデックスを指定し得、x0、y0は、ピクチャ(またはスライス)の左上ルーマサンプルに対する予測ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。
ビデオデータの現在ブロックについての動きベクトル予測を実行するために、同様のプロセスがビデオエンコーダ20およびビデオデコーダ30によって実装され得る。たとえば、ビデオエンコーダ20は、初めに、動きベクトル予測子候補からのどの動きベクトルがMVPとして使用されるために利用可能であるかを判断し得る。たとえば、動きベクトル予測子候補がイントラコーディングされているか、まだコーディングされていないか、または存在しない(たとえば、ピクチャまたはスライス中の最上行のブロックの上のブロックなど、ピクチャまたはスライス中に含まれない)ために、動きベクトル予測子候補のうちの1つまたは複数からの動き情報が利用不可能であり得る。
動きベクトル予測子候補のうちのどれが利用可能であるかを判断するために、ビデオエンコーダ20は、次に所定の優先度ベースの方式に従って動きベクトル予測子候補の各々を分析し得る。たとえば、各動きベクトル予測子候補について、ビデオエンコーダ20は、動きベクトル予測子がブロック188についての実際の動きベクトルと同じ参照ピクチャを指すかどうかを判断し得る。動きベクトル予測子が同じ参照ピクチャを指す場合、ビデオエンコーダ20は、MVP候補リストに動きベクトル予測子候補を追加し得る。動きベクトル予測子が同じ参照ピクチャを指さない場合、動きベクトル予測子は、MVP候補リストに追加される前にスケーリングされ得る(たとえば、上記で説明したように、POC距離に基づいてスケーリングされ得る)。
コロケートブロックCOLに関して、コロケートブロックが2つ以上の動きベクトル予測子を含む(たとえば、COLがBフレームとして予測される)場合、ビデオエンコーダ20は、(ブロック188についての)現在リストと現在参照ピクチャとに従って時間動きベクトル予測子のうちの1つを選択し得る。次いで、ビデオエンコーダ20は、選択された時間動きベクトル予測子を動きベクトル予測子候補リストに追加し得る。
ビデオエンコーダ20は、enable_temporal_mvp_flagを設定することによって、1つまたは複数の動きベクトル予測子が利用可能であることをシグナリングし得る。候補リストを構築した後に、ビデオエンコーダ20は、ブロック100についての動きベクトル予測子として使用されるべき動きベクトルを候補から選択し得る。いくつかの例では、ビデオエンコーダ20は、レートひずみ分析に従って候補動きベクトルを選択し得る。
ビデオエンコーダ20は、候補リスト中のMVPを識別するMVPインデックス(mvp_flag)を使用して、選択された動きベクトル予測子をシグナリングし得る。たとえば、ビデオエンコーダ20は、リスト0の動きベクトル予測子インデックスを指定するためにmvp_l0_flag[x0][y0]を設定し得、x0、y0は、ピクチャの左上ルーマサンプルに対する候補ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。別の例では、ビデオエンコーダ20は、リスト1の動きベクトル予測子インデックスを指定するためにmvp_l1_flag[x0][y0]を設定し得、x0、y0は、ピクチャの左上ルーマサンプルに対する候補ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。さらに別の例では、ビデオエンコーダ20は、リストcの動きベクトル予測子インデックスを指定するためにmvp_lc_flag[x0][y0]を設定し得、x0、y0は、ピクチャの左上ルーマサンプルに対する候補ブロックの左上ルーマサンプルのロケーション(x0,y0)を指定する。
ビデオエンコーダ20はまた、動きベクトル差分値(MVD)を生成し得る。MVDは、選択された動きベクトル予測子とブロック188についての実際の動きベクトルとの間の差を構成し得る。ビデオエンコーダ20は、MVPインデックスを用いてMVDをシグナリングし得る。
ビデオデコーダ30は、動きベクトル予測子を使用して、現在ブロックについての動きベクトルを判断するために同様の動作を実行し得る。たとえば、ビデオデコーダ30は、動きベクトル予測が1つまたは複数のピクチャのために使用可能であることを示す指示をパラメータセット(たとえば、ピクチャパラメータセット(PPS))中で受信し得る。すなわち、一例では、ビデオデコーダ30は、PPS中でenable_temporal_mvp_flagを受信し得る。特定のピクチャが、0に等しいenable_temporal_mvp_flagを有するPPSを参照するとき、参照ピクチャメモリ中の参照ピクチャは「時間動きベクトル予測のために未使用」としてマークされ得る。
動きベクトル予測が実装される場合、ブロック188を受信すると、ビデオデコーダ30はMVP候補リストを構成し得る。ビデオデコーダ30は、ビデオエンコーダ20に関して上述した方式と同じ方式を使用してMVP候補リストを構成し得る。いくつかの事例では、ビデオデコーダ30は、ビデオエンコーダ20に関して上述したものと同様の動きベクトルスケーリングを実行し得る。たとえば、動きベクトル予測子がブロック188と同じ参照ピクチャを指さない場合、動きベクトル予測子は、MVP候補リストに追加される前にスケーリングされ得る(たとえば、上記で説明したように、POC距離に基づいてスケーリングされ得る)。ビデオデコーダ30は、候補リスト中のMVPを識別する受信したMVPインデックス(mvp_flag)を使用して、ブロック188についての適切な動きベクトル予測子を識別し得る。次いで、ビデオデコーダ30は、MVPと受信したMVDとを使用してブロック100についての動きベクトルを生成し得る。
図6に示す動きベクトル予測子候補ブロックは単に例として与えたものにすぎず、より多い、より少ない、または異なるブロックが動き情報を予測するために使用され得ることを理解されたい。
いずれの場合にも、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダは、A0、A1、B0、B1、B2、およびコロケートブロックCOLについての動き情報を記憶またはバッファリングすることができ、それにより、MVDを生成しながら、またはマージモードを実行しながら、そのようなデータが利用可能になる。たとえば、ビデオコーダは、ブロック188の上に隣接するブロックB0、B1、およびB2の動き情報(たとえば、動きベクトル、参照ピクチャインデックス、予測方向、または他の情報)を、ブロックを含むピクチャの幅を拡張するラインバッファに記憶することができ、それにより、動き情報が、ブロック188のインター予測中に参照されるために利用可能になる。
しかしながら、上記のように、ラインバッファに記憶されるデータの量は、比較的大きくなり得る。たとえば、1920×1080ピクセルピクチャ(たとえば、1080pビデオの場合)は、495ブロックもの4×4ピクセルを有する幅を含み得、各ブロックは、それ自体の動き情報を潜在的に有する。その上、各ピクチャをコーディングするために利用可能な最大16の参照ピクチャがあり得る。したがって、ラインバッファ中のピクチャの各ブロックについてのすべての動き情報が記憶されるとき、ビデオコーダは、比較的かなりの量のデータをラインバッファに記憶することが必要とされ得る。
本開示の態様によれば、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダは、コーディング中にラインバッファに記憶されるデータの量を低減するために、ブロック188についての動き情報が判断される元になるロケーションの数を制限し得る。すなわち、たとえば、A0、A1、B0、B1、およびB2のすべてから、ブロック188をコーディングするための動き情報(たとえば、MVPまたはマージ候補)を判断するのではなく、ビデオコーダは、候補のサブセットのみに基づいて、ブロック188についての動き情報を判断し得る。本開示の態様によれば、ビデオコーダは、ブロック188の左に隣接するブロックA1、およびA0、ならびにコロケートブロックCOLに基づくが、ブロック188の上に隣接するブロックB0、B1、またはB2に基づかずに、ブロック188についての動き情報を判断し得る。すなわち、たとえば、ビデオコーダは、ブロック188の左に隣接するブロックA1、およびA0、ならびにコロケートブロックCOLに基づくのみで、ブロック188についての動き情報を判断し得る。この例では、ビデオコーダは、ブロック188をコーディングするためのMVPまたはマージ候補を判断するために、ブロック188の上に隣接するブロックB0、B1、またはB2に関連付けられた動き情報が使用されないので、その動き情報をラインバッファに記憶することを回避し得る。
他の例では、ビデオコーダは、(たとえば、A1、およびA0、ならびにコロケートブロックCOLに加えて)ブロック188の上に隣接するブロックB0、B1、またはB2のうちの1つまたは複数に基づいて、ブロック188についての動き情報を判断し得るが、上に隣接するブロックが現在ブロック188と同じLCUからのものであるときのみである。そのような例では、LCUのすべての情報が、典型的にはLCUのコーディング中に利用可能であるので、ブロック188の上に隣接するブロックB0、B1、またはB2についての動き情報が(ラインバッファに記憶されることなしに)利用可能であり得る。以下で説明するように、様々な他の技法もまた、ビデオコーディング中にバッファリングされる動き情報の量を低減するために使用され得る。
図7は、本開示の態様による、予測情報が判断され得る元になる例示的な隣接ブロックを示すブロック図である。図7に示す例は全体的に、ビデオコーダによって実行されるものとして記述している。いくつかの例では、図7の技法は、上述のビデオエンコーダ20(図1および図2)またはビデオデコーダ30(図1および図3)によって実行され得ることを理解されたい。他の例では、図7の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)のようなハードウェアベースのコーディングユニットなどによって実行され得る。
ビデオコーダは、現在、コード化ユニット191の現在ブロック190をコーディング(たとえば、インターコーディングまたはイントラコーディング)中であり得る。コード化ユニット191は一般に、たとえば、LCU、スライス、タイルもしくはタイルのセット、波面のセット、またはビデオデータの複数のブロックを含む任意の他の既定のユニットなど、ビデオデータの複数のブロックを含む既定の量のビデオデータを含み得る。図7の例では、現在ブロック190の上に隣接するブロック194、左に隣接するブロック192、およびブロック196は全体的に未分割ブロックとして示されているが、そのようなブロックが1つまたは複数のより小さいブロックに分割され得ることを理解されたい。
本開示の態様によれば、コーディングブロック190について、コーディングブロック190の上に隣接するブロック194からの予測情報を使用するのではなく、ビデオコーダは、コーディングブロック190の左に隣接するブロック192からの予測情報(たとえば、イントラ予測情報またはインター予測情報)を使用するのみであり得る。たとえば、ビデオコーダは、現在ブロック190についてのインター予測またはイントラ予測を実行するとき、現在ブロック190の上に隣接するブロック194、または現在ブロック190に隣接して位置していない、以前にコーディングされたブロック196からのデータを、使用することができない。この例では、ビデオコーダは、(たとえば、図5および図6に示すように)すべての隣接ブロックについての予測情報がコーディング中に使用される場合よりも少ないデータをバッファリングし得る。たとえば、64×64ピクセルの最大LCUサイズと、4×4ピクセルの最小CUサイズとを仮定すると、ビデオデコーダ30は、ビデオデータのちょうど16ブロック(たとえば、64/4=16個の潜在的な左に隣接するブロック)に関連するデータを潜在的にバッファリングし得る。
図7の例で図示し説明するように、コンテキスト情報の導出元となるロケーションを制限することによって、ビデオコーダは、予測の目的でバッファリングされるデータの量を低減し得る。加えて、ビデオコーダは、解析スループットを増し得る。たとえば、上記のように、(ビデオデコーダ30などの)ビデオデコーダは、特定の解析プロセス(たとえば、波面解析)に従って、受信されたビデオデータを解析し得る。ビデオデコーダ30が、上に隣接するブロック194など、いくつかの隣接ブロックからの予測情報を判断しない例では、ビデオデコーダ30は、依存を解消して、解析スループットとビデオデータの並列処理能力とを改善し得る。さらに、依存を解消することで、予測導出エラーの可能性を減らし、それにより、解析プロセスをさらに改善し得る。
図8は、ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す別のブロック図である。図8に示す例では、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダは、現在ブロック200の左に隣接するブロックLおよび現在ブロック200の下部の左(若しくは左下端)に隣接するブロックBLに基づいて、現在コーディングされているブロック200についての予測情報を判断し得る。図7に示す例と比較して、図8の例は、予測情報を導出するための元になる追加の左に隣接するブロックを追加する。
図8に示す例では、図7に示す例と同様に、現在ブロック200に対して上に隣接するブロックについての予測情報(たとえば、イントラモードまたは動き情報)を記憶するためのラインバッファは、まったく必要でなくてもよい。上記で説明したように、LCUは、CUの異なる構成に区分され得る。したがって、図8のブロックLおよびBLは、同じLCUの異なるCUであり得る。
イントラ予測に関して、ブロックLおよびブロックBLはともに、同じイントラ予測モードを使用してコーディングされ得るが、場合によっては、異なるイントラ予測モードを使用してコーディングされ得る。ブロックLのイントラ予測モードと、ブロックBLのイントラ予測モードとに基づいて、現在ブロック200についての最確イントラ予測モードが判断され得る。たとえば、ブロックLとブロックBLの両方が、(既定の数のイントラモードの)モード6を使用してコーディングされた場合、ブロック200についての最確イントラ予測モードもまたモード6であり得る。この場合も、モード6は、ブロック200についての実際の予測モードでないことがあるが、ブロック200についてのコンテキスト(すなわち、ブロック200に隣接するブロックの予測モード)が与えられれば、統計的に、ブロック200についての可能性が最も高いモードであり得る。
別の例では、コーディング効率を改善し、冗長性を回避するために、ブロックLおよびBLが同じイントラ予測モードを有する場合、現在ブロック200の左側の第3のブロックもまた、最確モードの判断において使用され得る。ブロックLおよびBL(または、第3の左のブロック)は、ブロック200に直接隣接する必要はないが、ブロック200の左側の1つまたは複数の列であり得ることに留意されたい。ブロックLおよびブロックBLが、それぞれモード3および8を使用して符号化される場合、ブロック200についての最確モードは、モード3、モード8、または異なるモードであり得る。特定のコンテキストについての最確モードは、そのコンテキストについて統計的に可能性が最も高いイントラ予測モードを識別することによって、選択され得る。最確モードを判断するために上位ブロックの使用を回避することによって、上位ブロックについてのイントラ予測モードを記憶するラインバッファの必要がなくなり得る。
インター予測に関して、動きベクトルのx座標とy座標とを示す動きベクトル(mvx,mvy)を含む動き情報、参照フレームリスト中の参照フレームを示す参照インデックス(ref_idx)、および、どの参照フレームリストを使用するべきか(たとえば、L0またはL1)を示す予測方向(inter_dir)が、ブロック200に隣接するブロックについて記憶され得る。いくつかの例では、すべてのそのような動き情報が、対応するラインバッファに記憶され得る。本開示の態様によれば、ビデオコーダは、ブロックLおよびブロックBLのみについての動き情報を記憶し、上に隣接するブロックについての動き情報を除外し得る。
いくつかの例によれば、動きベクトル予測のための候補の数を低減することに関連して起こり得る性能損失は、追加の動き候補を生成することによって補償され得る。たとえば、以下の例示的な表1に示すように、ビデオコーダは、ブロックLおよびBLの動き情報など、利用可能な動き情報を使用して、追加の動き候補を生成し得る。
Figure 2014525198
表1の例に示すように、ビデオコーダは、ブロックLおよびBLからの動き情報を使用して、動きマージ候補(2)、(3)、および(4)を生成し得る。すなわち、候補LおよびBLの動き情報(inter_dir、ref_idx、およびmv)は、新しい動き候補を生成するために使用され得る。この例では、mvLX_Yは、Y番目の候補におけるリストXの動きベクトルを表し得、mvLX’_Yは、mvLX_Yの処理された動きベクトルを表し得、参照リスト中のN番目の参照ピクチャにおけるrefNである。表1に示す、生成された動き情報は、既存の動き情報のスケーリング、オフセット、クリッピング、またはそれ以外で修正することによって生成され得る。
図8の例を、上記のように、LおよびBLに関して説明するが、他のブロックもまた使用され得る(たとえば、追加のブロック、ブロック200に隣接していないブロックなど)。その上、(たとえば、表1に示すような)マージモードに関して説明した技法は、MVDを使用した動きベクトル予測に同様に適用され得る。
図9は、ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す別のブロック図である。たとえば、本開示の態様は、複数の左に隣接するブロックL00〜L0N、L10〜L1N、L20〜L2N、BL0〜BLNなどに基づいて、現在ブロック205についての予測情報を判断することを含む。いくつかの例では、ビデオコーダは、コーディングされているブロックの左側の2つ以上の列からのブロックに基づいて、予測情報を判断し得る。すなわち、インターコーディングに関して、最終の動きベクトル候補リストが、複数の左に隣接するブロックから選択されたブロックによって構成され得る。イントラコーディングに関して、複数の左に隣接するブロックからのイントラモードが、最確モード導出のために使用され得る。
図9の例に示すように、(たとえば、境界ブロックLN0の左側の)追加の左に隣接するブロックは、左に隣接するブロックの予測情報をバッファリングしないことに関連して起こり得るコーディング性能損失を相殺するために使用され得る。たとえば、場合によっては、上に隣接するブロックのイントラモードは、ブロック205のイントラモードに一致し得る。他の場合には、上に隣接するブロックに関連付けられた動きベクトルは、ブロック205の動きベクトルに一致、またはほぼ一致し得る。これらの場合には、ビデオコーダがコーディング中に上に隣接するブロックのデータを取り出すことを防止することは、ビデオコーダがより正確でない予測子を発見することを強制され得るので、コーディング性能損失につながり得る。しかしながら、予測情報を判断するためにビデオコーダによってデータが取り出され得る元になる、左に隣接するブロックの数を増すことによって、比較的高品質の予測子を発見するための可能性が増し得る。
いくつかの例では、図9に示す左に隣接するブロックは、同じLCUの一部分を形成する異なるCUであり得る。他の例では、左に隣接するブロックは、異なるLCUに含まれ得る。
図10は、ブロックをコーディングするために予測情報が判断され得る元になる例示的な隣接ブロックを示す別の図である。たとえば、上に隣接するブロックに関連付けられた任意のデータを記憶することを控えることとは対照的に、予測(たとえば、インターコーディングまたはイントラコーディング)のためにラインバッファデータを低減するための別の方法は、ラインバッファに記憶されるブロックの数を低減することである。図10に示す例では、ブロック210は現在コーディングされているが、ブロック212は前にコーディングされたものである。いくつかの例では、ブロック214Aおよび214B(総称して、ブロック214)に関連付けられた予測情報(たとえば、イントラモードまたは動き情報)が、ラインバッファに記憶され得る。
本開示の態様によれば、しかしながら、ブロック214に関連付けられたデータのサブセットのみが、ラインバッファに記憶され得る。すなわち、図10に示す例では、ブロック214Aに関連付けられた予測情報は、ラインバッファに記憶され得るが、ブロック214Bに関連付けられた予測情報は、ラインバッファから抜かされ得る。図10の例は、ブロック214Aおよび214Bが等しいサイズであることを示すが、他の例では、ブロック214の予測情報の一部分のみがラインバッファに記憶されることを可能にする、異なるサブサンプリング方式が実施され得る。すなわち、他の例では、ブロック214Aは、ブロック214Bよりも大きいか、または小さくてもよい。
図10に示す例では、(ビデオエンコーダ20またはビデオデコーダ30などの)ビデオコーダが、ブロック214Aのうちの1つから予測情報を判断する必要がある場合、ビデオコーダは、バッファから予測情報を読み取り得る。すなわち、たとえば、ブロック214Aのうちの1つが、ブロック210についての最確モード判断のためのコンテキストを含む場合、ビデオコーダは、ラインバッファからイントラモードを読み取り得る。
代替的に、ビデオコーダが、ブロック214Bのうちの1つから予測情報を判断する必要がある場合、ビデオコーダは、バッファに記憶された予測情報のサブセットに基づいて、ブロックについての予測情報を導出し得る。導出は、たとえば、バッファに記憶される1つまたは複数の近くのブロック214Aについての予測情報をコピーすること、バッファに記憶される動き情報を補間すること、または、ブロック214Aについて記憶された予測情報に基づいて、ある他の方法で予測情報を導出することに基づき得る。
図11は、バッファに記憶された動きベクトルをクリッピングする(たとえば、ビット深さを低減する)一例を示す概念図である。すなわち、たとえば、ラインバッファに記憶される予測情報の量(および、より詳細には、インター予測のための動きベクトル)を低減するための別の方法は、各動きベクトルの各成分を記憶するときに使用されるビット数を低減することであり得る。
この例では、図11の例に示すように、ラインバッファに記憶された各動きベクトル(たとえば、上位に隣接するブロックに関連付けられた動きベクトル)は、Nビットにクリッピングされ得、ただし、各動きベクトルは、元はMビットである(MはNよりも大きい)。図11の例では、Mは12に等しく、Nは8に等しいが、他のビット数もまた実施され得る。図11に示す特定の整数の表現は、(2の補数演算(2-complement arithmetic)として知られる)物理的表現に対応しないことがあるが、説明のために与えられることを理解されたい。図11に示す例示的なビットクリッピングでは、サブピクセル(「サブペル」)精度なしの動きベクトルの最大範囲は、64である。動きが小さいとき、このクリッピングは、コーディング効率に比較的小さい影響を及ぼし得るか、またはまったく影響を及ぼさないことがある。
図12は、ラインバッファに記憶された動きベクトルをクリッピングする一例を示す別の概念図である。たとえば、関連のある動きベクトルが比較的大きい場合、より少ない有効ビットがクリッピングされ得る。すなわち、図12の例では、3つの最上位ビットと、サブペルビットのうちの1つとが、クリッピングされている。より詳細には、図12の例では、1/4ペルまたはサブペル精度が除去され、3つの最上位ビットが除去されるが、異なる構成が実施され得る。(たとえば、図11および図12に示すような)最上位ビットまたは最下位ビットから除去されるビット数は、SPSまたはPPSなどのパラメータセットにおいて指定され得る。
図13は、LCUの境界CUを示す図である。たとえば、LCU240には、1つまたは複数の他のLCUを含み得るブロック242が接している。図13に示す例では、LCU240は、ブロック242と境界を共有する境界CU244と、ブロック242と境界を共有していない内側CU246とを含む。LCU240のCUの各々は、関連付けられたPUを有し得る。
いくつかの例では、上記で説明したように、ビデオコーダは、上に隣接するブロックからの予測情報(たとえば、イントラモードまたは動き情報)を使用して、LCU240のPUをコーディングし得る。CU246の上に隣接するPUについての予測情報は、そのようなPUが同じLCU242中に含まれるので、容易に利用可能であり得る。しかしながら、CU244の境界PUをコーディングするとき、上に隣接するブロック242からの予測情報にアクセスするために、ビデオコーダは、コーディングされているLCU240とは異なるLCUからのそのような情報にアクセスしなければならない。たとえば、ビデオコーダの外部にあるメモリにアクセスすることなしに、利用可能であるために、ビデオコーダは、そのような上に隣接する予測情報をラインバッファに記憶し得る。
(境界CU244についての情報を記憶するためのバッファを含む)LCU240のすべてのPUに対してこの均一な方式を適用することは、ハードウェア実装を簡単にする助けとなり得る。すなわち、すべてのPUは、同じ相対ロケーションから予測情報にアクセスし得る。しかしながら、ブロック244、246を含むLCUとは異なるLCU中の、上に隣接するブロック242からのデータを、コーディング中に取り出されることから除外することは、ラインバッファに記憶されるデータの量を低減し得る。その上、上に隣接するブロック242からのデータを、コーディング中に取り出されることから除外することはまた、LCU240の外側のCUに依拠することから導入され得る不正確さの影響を最小限に抑え、それによって、コーディング性能を改善し得る。すなわち、上に隣接するブロック242からのデータが、失われているかまたは他の方法で破損した別のスライスの一部分を形成する場合、ビデオコーダはなお、境界CU244をコーディングし得る。
したがって、本開示全体にわたって説明する技法は、LCUのPUのサブセットのみに適用され得る。すなわち、たとえば、ラインバッファに記憶されたデータの量を制限するための技法は、ラインバッファへのアクセスを必要とし得る、LCU240の境界CU244のみに適用されるのみであり得る。
図14は、ビデオコーディング中にバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図である。図14に示す例は全体的に、ビデオコーダによって実行されるものとして記述している。いくつかの例では、図14の技法は、上述のビデオエンコーダ20(図1および図2)またはビデオデコーダ30(図1および図3)によって実行され得ることを理解されたい。他の例では、図14の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)のようなハードウェアベースのコーディングユニットなどによって実行され得る。
ビデオコーダは、エントロピーコーディングするためのコード化ユニット(たとえば、ピクチャ、スライス、タイル、波面のセットなど)のビデオデータのブロックを受信し得る(260)。本開示の態様によれば、ビデオデータのブロックは、コード化ユニット中の最上行のブロックの下に位置し得る。いくつかの例では、現在コーディングされているブロックは、上に隣接するサブCUと同じLCUに含まれるサブCUであり得る。他の例では、ブロックはLCUの端に、上に隣接するブロックが現在ブロックとは異なるLCUに属するように位置し得る。
ビデオコーダは、次いで、コード化ユニット中の1つまたは複数の他のブロックの予測情報に基づくが、コード化ユニットの最上行のブロックに基づかずに、ブロックについての予測情報を判断し得る(262)。たとえば、第1のブロックがインター予測される場合、ビデオコーダは、第1のブロックに関連付けられた動き情報(たとえば、動きベクトル、参照ピクチャインデックス、予測方向、または他の情報)を判断し得る。代替的に、第1のブロックがイントラ予測される場合、ビデオコーダは、第1のブロックのイントラモードを判断し得る。
いくつかの例では、本開示の態様によれば、上に隣接するブロックに基づいて、ブロックについての予測情報を判断するのではなく、ビデオコーダは、左に隣接するブロックからの予測情報を使用し得る。いくつかの例では、左に隣接するブロックは、現在コーディングされているブロックと同じLCU内に含まれ得る。他の例では、左に隣接するブロックは、現在コーディングされているブロックとは異なるLCUに含まれ得る。上記のように、いくつかの例では、1つまたは複数の他のブロックが、現在コーディングされているブロックに直接隣接して位置し得、またはブロックから数ブロックに位置し得る。
別の例では、ビデオデータのブロックは、LCUの1つまたは複数のブロックを含み得、最上行のブロックは、1つまたは複数の他のLCUを含み得る。そのような例では、本開示の態様によれば、ビデオコーダは、ブロックについての予測情報を、他のブロックLCUに関連付けられた予測情報を使用して判断するが、(他のLCUに含まれる)最上行の、上に隣接するブロックを除外し得る。説明のための一例では、コーディングされているブロックは、LCUの第1のサブCUを含み得、上に隣接するブロックは、1つまたは複数の他のLCUを含み得る。また、第2のサブCUは、(同じLCU内の)第1のサブCUの上に位置する。この例では、ビデオコーダは、第1のサブCUの上に位置する第2のサブCUに基づく情報を使用して、第1のサブCUについての予測情報を判断し得る。
次いでビデオコーダは、判断された予測情報に基づいて、ブロックをコーディングし得る(264)。たとえば、以下で図15および図16に関してより詳細に説明するように、ブロックがイントラコード化ブロックである場合、ビデオコーダは、1つまたは複数の他のブロックからのイントラ予測モードに基づいて、ブロックについての最確モードを判断することによって、ブロックをコーディングし得る。代替的に、以下で図17および図18に関してより詳細に説明するように、現在ブロックがインターコード化ブロックである場合、ビデオコーダは、1つまたは複数の他のブロックからの動き情報に基づいて、MVD(またはマージ情報)を判断することによって、ブロックをコーディングし得る。
図14に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。すなわち、図14の方法のステップは必ずしも図14に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
図15は、ビデオ符号化においてイントラ予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図である。ビデオエンコーダ20に関して説明するが、図15に関して説明する技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコーディングユニットなどによって行われ得ることを理解されたい。
図15に示す例では、ビデオエンコーダ20は、ビデオデータの第1のブロックについてのイントラ予測モードを判断し得る(270)。ビデオエンコーダ20はまた、ビデオデータの第2のブロックについてのイントラ予測モードをも判断し得る(272)。本開示の態様によれば、ビデオエンコーダ20は、第1のブロックについてのイントラ予測モードに基づいて、第2のブロックについてのイントラ予測モードを判断し得るが、第1のブロックが第2のブロックの上に隣接するブロックではない場合のみである(274)。第1のブロックが上に隣接するブロックである場合、ビデオエンコーダ20は、1つまたは複数の他のブロックに基づいて、第2のブロックについての最確イントラモードを判断し得る。すなわち、上に隣接するブロックは、第1のブロックとして見なされることから除外され得る。いくつかの例では、ビデオエンコーダ20は、第1のブロックが第2のブロックとは異なるLCUからのものである場合のみ、上に隣接するブロック制限を適用し得る。
ビデオエンコーダ20は、判断された最確イントラモードが、第2のブロックについて判断されたイントラモードと同じであるかどうかを判断し得る(276)。最確イントラモードが、第2のブロックについて判断されたイントラモードと同じである場合(ステップ276の、はいブランチ)、ビデオエンコーダは、符号化ビットストリーム中で最確モードの指示を与え得る(278)。いくつかの例によれば、ビデオエンコーダ20は、符号化ビットストリーム中に最確モードフラグを設定し、それによって、第2のブロックをイントラコーディングするために最確モードが使用されたことを示し得る。この例では、以下で図16に関してより詳細に説明するように、最確モードフラグを復号すると、(ビデオデコーダ30などの)ビデオデコーダは、第2のブロックを符号化するために使用されたイントラモードを判断するために、最確モード導出プロセスを再生し得る。最確イントラモードが、第2のブロックについてのイントラモードと同じではない場合(ステップ276の、いいえブランチ)、ビデオエンコーダ20は、符号化ビットストリーム中で、ブロックを符号化するために使用されたイントラモードの指示を与え得る(280)。
図15に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。すなわち、図15の方法のステップは必ずしも図15に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
図16は、ビデオ復号においてイントラ予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図である。ビデオデコーダ30に関して説明するが、図16に関して説明する技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコーディングユニットなどによって行われ得ることを理解されたい。
ビデオデコーダ30は、最初に、ビデオデータの第1のブロックについてのイントラ予測モードを判断し得る(290)。ビデオデコーダ30はまた、第2のブロックの最確イントラモードの指示を受信し得る(292)。たとえば、ビデオデコーダ30は、いくつかの例では、第2のブロックのピクセルをイントラ予測するために最確イントラモードが使用されたかどうかを示す、最確モードフラグを受信し得る。
ビデオデコーダ30は、受信された指示に基づいて、最確イントラモードが、第2のブロックを復号するためのイントラモードと同じであるかどうかを判断し得る(294)。最確イントラモードが、第2のブロックを復号するための適切なイントラモードである場合(ステップ294の、はいブランチ)、ビデオデコーダ30は、第2のブロックについての最確イントラモードを判断し得る(296)。たとえば、本開示の態様によれば、ビデオデコーダ30は、第1のブロックについてのイントラ予測モードに基づいて、第2のブロックについてのイントラ予測モードを判断し得るが、第1のブロックが第2のブロックの上に隣接するブロックではない場合のみである。第1のブロックが上に隣接するブロックである場合、ビデオデコーダ30は、1つまたは複数の他のブロックに基づいて、第2のブロックについての最確イントラモードを判断し得る。いくつかの例では、ビデオデコーダ30は、第1のブロックが第2のブロックとは異なるLCUからのものである場合のみ、上に隣接するブロック制限を適用し得る。
ビデオデコーダ30は、次いで、最確イントラモードを使用して、第2のブロックを復号し得る(298)。すなわち、たとえば、ビデオデコーダ30は、最確イントラ予測モードを使用して、第2のブロックを予測し、予測値および受信された残差値の組合せに基づいて、第2のブロックのピクセル値を決定し得る。
最確イントラモードが、第2のブロックを復号するための適切なイントラモードではない場合(ステップ294の、いいえブランチ)、ビデオデコーダ30は、たとえば、ある受信されたシグナリングに基づいて、第2のブロックを復号するためのイントラモードを判断し得る(300)。他の例では、ビデオデコーダ30は、第2のブロックについてのデフォルトイントラモードを適用し得る。いずれの場合にも、ビデオデコーダ30は、次いで、判断されたイントラモードに基づいて、第2のブロックを復号し得る(302)。すなわち、たとえば、ビデオデコーダ30は、判断されたイントラ予測モードを使用して、第2のブロックを予測し、予測値および受信された残差値の組合せに基づいて、第2のブロックのピクセル値を決定し得る。
図16に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。すなわち、図16の方法のステップは必ずしも図16に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
図17は、ビデオ符号化においてインター予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図である。ビデオエンコーダ20に関して説明するが、図17に関して説明する技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコーディングユニットなどによって行われ得ることを理解されたい。
図17に示す例では、ビデオエンコーダ20は、ビデオデータの第1のブロックについての動き情報を判断し得る(310)。ビデオエンコーダ20はまた、ビデオデータの第2のブロックについての動き情報をも判断し得る(312)。本開示の態様によれば、ビデオエンコーダ20は、第1のブロックについての動きベクトルに基づいて、第2のブロックについてのMVPを判断し得るが、第1のブロックが第2のブロックの上に隣接するブロックではない場合のみである(314)。第1のブロックが上に隣接するブロックである場合、ビデオエンコーダ20は、1つまたは複数の他のブロックに基づいて、第2のブロックについてのMVPを判断し得る。いくつかの例では、ビデオエンコーダ20は、第1のブロックが第2のブロックとは異なるLCUからのものである場合のみ、上に隣接するブロック制限を適用し得る。
ビデオエンコーダ20はまた、符号化ビットストリーム中で、判断されたMVPの指示を与え得る(316)。すなわち、ビデオエンコーダ20は、MVPが属する元になるブロックを識別し得る。加えて、ビデオエンコーダ20は、MVPとともに、符号化ビットストリーム中にMVDを含め得る。
MVPを判断すること、およびMVDを生成することに関して説明したが、図17に関して説明した技法はまた、マージモードのためにも使用され得ることを理解されたい。また、図17に関して図示し説明したステップは一例として与えたものにすぎないことを理解されたい。すなわち、図17の方法のステップは必ずしも図17に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
図18は、ビデオ符号化においてインター予測を実行するときにバッファリングされる予測情報の量を低減するための例示的な技法を示す流れ図である。ビデオデコーダ30に関して説明するが、図18に関して説明する技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコーディングユニットなどによって行われ得ることを理解されたい。
図18に示す例では、ビデオデコーダ30は、ビデオデータの第1のブロックについての動き情報を判断し得る(330)。ビデオデコーダ30はまた、ビデオデータの第2のブロックについての動きベクトル予測子の指示を受信し得る(332)。本開示の態様によれば、ビデオデコーダ30は、第1のブロックについての動きベクトルに基づいて、第2のブロックについてのMVPを判断し得るが、第1のブロックが第2のブロックの上に隣接するブロックではない場合のみである(334)。すなわち、ビデオデコーダ30は、第1のブロックが第2のブロックの上に隣接するブロックではない場合のみ、第1のブロックからの動きベクトルをMVP候補リストに追加し得る。第1のブロックが上に隣接するブロックである場合、ビデオデコーダ30は、1つまたは複数の他のブロックに基づいて、第2のブロックについてのMVPを判断し得る。いくつかの例では、ビデオデコーダ30は、第1のブロックが第2のブロックとは異なるLCUからのものである場合のみ、上に隣接するブロック制限を適用し得る。
ビデオデコーダ30は、第1のブロックについての動きベクトル(第1のブロックがMVPとして使用される場合)と、受信されたMVDとを組み合わせることによって、第2のブロックについての動き情報を判断し得る。ビデオデコーダ30は、次いで、判断された動き情報を使用して、第2のブロックを復号し得る(336)。すなわち、ビデオデコーダ30は、動きベクトルによって識別された予測ブロックを取り出し、予測値および受信された残差値の組合せに基づいて、第2のブロックについてのピクセル値を決定し得る。
MVPを判断すること、およびMVDを生成することに関して説明したが、図18に関して説明した技法はまた、マージモードのためにも使用され得ることを理解されたい。また、図18に関して図示し説明したステップは一例として与えたものにすぎないことを理解されたい。すなわち、図18の方法のステップは必ずしも図18に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
さらに、例によっては、本明細書で説明する方法のうちのいずれかの、いくつかの作用またはイベントは、異なる順序で実行され得、追加され、マージされ、または完全に除外され得る(たとえば、すべての説明した作用またはイベントが、本方法の実施に必要であるとは限らない)ことを理解されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。さらに、本開示のいくつかの態様は、明快にするために単一のモジュールまたはユニットによって実行されるものとして説明しているが、本開示の技法はビデオコーダに関連するユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータをコーディングする方法であって、
ビデオデータのブロックについての予測情報を判断することであり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかないことと、
前記判断された予測情報に基づいて、前記ブロックをコーディングすることと
を備える方法。
[C2]
前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、C1に記載の方法。
[C3]
前記予測情報を判断することが、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断することを備え、
前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断することを備え、
前記ブロックをコーディングすることが、前記最確イントラ予測モードに基づいて前記ブロックをコーディングすることを備える、C1に記載の方法。
[C4]
前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、C3に記載の方法。
[C5]
前記1つまたは複数の他のブロックが、前記ブロックに直接隣接する、C4に記載の方法。
[C6]
前記1つまたは複数の他のブロックが、前記ブロックに直接隣接しない1つまたは複数のブロックを含む、C4に記載の方法。
[C7]
前記ブロックについての前記最確イントラ予測モードを判断することが、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断することをさらに備える、C3に記載の方法。
[C8]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、C3に記載の方法。
[C9]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断することが、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断することを備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、C3に記載の方法。
[C10]
前記ブロックをコーディングすることが、前記最確イントラ予測モードに基づいて、前記ブロックを符号化することを備え、前記ブロックを符号化することが、
前記ブロックについてのイントラ予測モードを使用して、前記ブロックを符号化するための残差値をイントラ予測することと、
前記ブロックについての前記イントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかを判断することと、
符号化ビットストリーム中で、前記ブロックについての前記イントラ予測モードが前記最確イントラ予測モードに一致するかどうかを示すことと
を備える、C3に記載の方法。
[C11]
前記ブロックをコーディングすることが、前記最確イントラ予測モードに基づいて、前記ブロックを復号することを備え、前記ブロックを復号することが、
前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせることと
を備える、C3に記載の方法。
[C12]
前記予測情報を判断することが、前記ビデオデータのブロックについての動き情報を判断することを備え、
前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断することを備え、
前記ブロックをコーディングすることが、前記判断された動き情報に基づいて前記ブロックをコーディングすることを備える、C1に記載の方法。
[C13]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、C12に記載の方法。
[C14]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断することが、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断することを備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、C12に記載の方法。
[C15]
前記ブロックをコーディングすることが、前記ブロックを符号化することを備え、
前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての動きベクトル予測子を判断することを備え、
前記ブロックを符号化することが、符号化ビットストリーム中で前記動きベクトル予測子を示すことを備える、C12に記載の方法。
[C16]
前記ブロックをコーディングすることが、前記ブロックを復号することを備え、
前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせて、前記ブロックを再構成することと
である、C12に記載の方法。
[C17]
ビデオデータをコーディングするための装置であって、
ビデオデータのブロックについての予測情報を判断することであり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかないことと、
前記判断された予測情報に基づいて、前記ブロックをコーディングすることと
を行うように構成された1つまたは複数のプロセッサを備える装置。
[C18]
前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、C17に記載の装置。
[C19]
前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断することを行うように構成され、
前記ブロックについての前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断することを行うように構成され、
前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記最確イントラ予測モードに基づいて前記ブロックをコーディングすることを行うように構成される、C17に記載の装置。
[C20]
前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、C19に記載の装置。
[C21]
前記1つまたは複数の他のブロックが、前記ブロックに直接隣接する、C20に記載の装置。
[C22]
前記1つまたは複数の他のブロックが、前記ブロックに直接隣接しない1つまたは複数のブロックを含む、C20に記載の装置。
[C23]
前記ブロックについての前記最確イントラ予測モードを判断するために、前記1つまたは複数のプロセッサが、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断することを行うようにさらに構成される、C19に記載の装置。
[C24]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、C19に記載の装置。
[C25]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断するために、前記1つまたは複数のプロセッサが、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断することを行うように構成され、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、C19に記載の装置。
[C26]
前記装置が、ビデオエンコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記最確イントラ予測モードに基づいて、前記ブロックを符号化することを行うように構成され、前記ブロックを符号化するために、前記1つまたは複数のプロセッサが、
前記ブロックについてのイントラ予測モードを使用して、前記ブロックを符号化するための残差値をイントラ予測することと、
前記ブロックについての前記イントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかを判断することと、
符号化ビットストリーム中で、前記ブロックについての前記イントラ予測モードが前記最確イントラ予測モードに一致するかどうかを示すことと
を行うように構成される、C19に記載の装置。
[C27]
前記装置が、ビデオデコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記最確イントラ予測モードに基づいて、前記ブロックを復号することを行うように構成され、前記ブロックを復号するために、前記1つまたは複数のプロセッサが、
前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせることと
を行うように構成される、C19に記載の装置。
[C28]
前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記ビデオデータのブロックについての動き情報を判断することを行うように構成され、
前記ブロックについての前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断することを行うように構成され、
前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記判断された動き情報に基づいて前記ブロックをコーディングすることを行うように構成される、C17に記載の装置。
[C29]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、C28に記載の装置。
[C30]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断するために、前記1つまたは複数のプロセッサが、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断することを行うように構成され、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、C28に記載の装置。
[C31]
前記装置が、ビデオエンコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記ブロックを符号化することを行うように構成され、前記ブロックを符号化するために、前記1つまたは複数のプロセッサが、
前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての動きベクトル予測子を判断することを備えることと、
前記ブロックを符号化することが、符号化ビットストリーム中で前記動きベクトル予測子を示すことを備えることと
を行うように構成される、C28に記載の装置。
[C32]
前記装置が、ビデオデコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記ブロックを復号することを行うように構成され、前記ブロックを復号するために、前記1つまたは複数のプロセッサが、
前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせて、前記ブロックを再構成することと
を行うように構成される、C28に記載の装置。
[C33]
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、
ビデオデータのブロックについての予測情報を判断することであり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかないことと、
前記判断された予測情報に基づいて、前記ブロックをコーディングすることと
を1つまたは複数のプロセッサに行わせる、非一時的コンピュータ可読記憶媒体。
[C34]
前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、C33に記載の非一時的コンピュータ可読記憶媒体。
[C35]
前記予測情報を判断するために、前記命令が、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断することを、前記1つまたは複数のプロセッサに行わせ、
前記ブロックについての前記予測情報を判断するために、前記命令が、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断することを、前記1つまたは複数のプロセッサに行わせ、
前記ブロックをコーディングするために、前記命令が、前記最確イントラ予測モードに基づいて前記ブロックをコーディングすることを、前記1つまたは複数のプロセッサに行わせる、C33に記載の非一時的コンピュータ可読記憶媒体。
[C36]
前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、C35に記載の非一時的コンピュータ可読記憶媒体。
[C37]
前記ブロックについての前記最確イントラ予測モードを判断するために、前記命令が、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断することを、前記1つまたは複数のプロセッサに行わせる、C35に記載の非一時的コンピュータ可読記憶媒体。
[C38]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、C35に記載の非一時的コンピュータ可読記憶媒体。
[C39]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断するために、前記命令が、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断することを、前記1つまたは複数のプロセッサに行わせ、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、C35に記載の非一時的コンピュータ可読記憶媒体。
[C40]
前記予測情報を判断するために、前記命令が、前記ビデオデータのブロックについての動き情報を判断することを、前記1つまたは複数のプロセッサに行わせ、
前記ブロックについての前記予測情報を判断するために、前記命令が、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断することを、前記1つまたは複数のプロセッサに行わせ、
前記ブロックをコーディングするために、前記命令が、前記判断された動き情報に基づいて前記ブロックをコーディングすることを、前記1つまたは複数のプロセッサに行わせる、C33に記載の非一時的コンピュータ可読記憶媒体。
[C41]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、C40に記載の非一時的コンピュータ可読記憶媒体。
[C42]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断するために、前記命令が、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断することを、前記1つまたは複数のプロセッサに行わせ、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、C40に記載の非一時的コンピュータ可読記憶媒体。
[C43]
ビデオデータをコーディングするための装置であって、
ビデオデータのブロックについての予測情報を判断するための手段であり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかない手段と、
前記判断された予測情報に基づいて、前記ブロックをコーディングするための手段と
を備える装置。
[C44]
前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、C43に記載の装置。
[C45]
前記予測情報を判断するための手段が、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断するための手段を備え、
前記ブロックについての前記予測情報を判断するための手段が、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断するための手段を備え、
前記ブロックをコーディングするための手段が、前記最確イントラ予測モードに基づいて前記ブロックをコーディングするための手段を備える、C43に記載の装置。
[C46]
前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、C45に記載の装置。
[C47]
前記ブロックについての前記最確イントラ予測モードを判断するための手段が、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断するための手段をさらに備える、C45に記載の装置。
[C48]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、C45に記載の装置。
[C49]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断するための手段が、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断するための手段を備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、C45に記載の装置。
[C50]
前記予測情報を判断するための手段が、前記ビデオデータのブロックについての動き情報を判断するための手段を備え、
前記ブロックについての前記予測情報を判断するための手段が、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断するための手段を備え、
前記ブロックをコーディングするための手段が、前記判断された動き情報に基づいて前記ブロックをコーディングするための手段を備える、C43に記載の装置。
[C51]
前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、C50に記載の装置。
[C52]
前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断するための手段が、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断するための手段を備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、C50に記載の装置。

Claims (52)

  1. ビデオデータをコーディングする方法であって、
    ビデオデータのブロックについての予測情報を判断することであり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかないことと、
    前記判断された予測情報に基づいて、前記ブロックをコーディングすることと
    を備える方法。
  2. 前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、請求項1に記載の方法。
  3. 前記予測情報を判断することが、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断することを備え、
    前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断することを備え、
    前記ブロックをコーディングすることが、前記最確イントラ予測モードに基づいて前記ブロックをコーディングすることを備える、請求項1に記載の方法。
  4. 前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、請求項3に記載の方法。
  5. 前記1つまたは複数の他のブロックが、前記ブロックに直接隣接する、請求項4に記載の方法。
  6. 前記1つまたは複数の他のブロックが、前記ブロックに直接隣接しない1つまたは複数のブロックを含む、請求項4に記載の方法。
  7. 前記ブロックについての前記最確イントラ予測モードを判断することが、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断することをさらに備える、請求項3に記載の方法。
  8. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、請求項3に記載の方法。
  9. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断することが、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断することを備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、請求項3に記載の方法。
  10. 前記ブロックをコーディングすることが、前記最確イントラ予測モードに基づいて、前記ブロックを符号化することを備え、前記ブロックを符号化することが、
    前記ブロックについてのイントラ予測モードを使用して、前記ブロックを符号化するための残差値をイントラ予測することと、
    前記ブロックについての前記イントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかを判断することと、
    符号化ビットストリーム中で、前記ブロックについての前記イントラ予測モードが前記最確イントラ予測モードに一致するかどうかを示すことと
    を備える、請求項3に記載の方法。
  11. 前記ブロックをコーディングすることが、前記最確イントラ予測モードに基づいて、前記ブロックを復号することを備え、前記ブロックを復号することが、
    前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
    前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
    前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせることと
    を備える、請求項3に記載の方法。
  12. 前記予測情報を判断することが、前記ビデオデータのブロックについての動き情報を判断することを備え、
    前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断することを備え、
    前記ブロックをコーディングすることが、前記判断された動き情報に基づいて前記ブロックをコーディングすることを備える、請求項1に記載の方法。
  13. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、請求項12に記載の方法。
  14. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断することが、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断することを備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、請求項12に記載の方法。
  15. 前記ブロックをコーディングすることが、前記ブロックを符号化することを備え、
    前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての動きベクトル予測子を判断することを備え、
    前記ブロックを符号化することが、符号化ビットストリーム中で前記動きベクトル予測子を示すことを備える、請求項12に記載の方法。
  16. 前記ブロックをコーディングすることが、前記ブロックを復号することを備え、
    前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
    前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
    前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせて、前記ブロックを再構成することと
    である、請求項12に記載の方法。
  17. ビデオデータをコーディングするための装置であって、
    ビデオデータのブロックについての予測情報を判断することであり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかないことと、
    前記判断された予測情報に基づいて、前記ブロックをコーディングすることと
    を行うように構成された1つまたは複数のプロセッサを備える装置。
  18. 前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、請求項17に記載の装置。
  19. 前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断することを行うように構成され、
    前記ブロックについての前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断することを行うように構成され、
    前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記最確イントラ予測モードに基づいて前記ブロックをコーディングすることを行うように構成される、請求項17に記載の装置。
  20. 前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、請求項19に記載の装置。
  21. 前記1つまたは複数の他のブロックが、前記ブロックに直接隣接する、請求項20に記載の装置。
  22. 前記1つまたは複数の他のブロックが、前記ブロックに直接隣接しない1つまたは複数のブロックを含む、請求項20に記載の装置。
  23. 前記ブロックについての前記最確イントラ予測モードを判断するために、前記1つまたは複数のプロセッサが、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断することを行うようにさらに構成される、請求項19に記載の装置。
  24. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、請求項19に記載の装置。
  25. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断するために、前記1つまたは複数のプロセッサが、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断することを行うように構成され、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、請求項19に記載の装置。
  26. 前記装置が、ビデオエンコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記最確イントラ予測モードに基づいて、前記ブロックを符号化することを行うように構成され、前記ブロックを符号化するために、前記1つまたは複数のプロセッサが、
    前記ブロックについてのイントラ予測モードを使用して、前記ブロックを符号化するための残差値をイントラ予測することと、
    前記ブロックについての前記イントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかを判断することと、
    符号化ビットストリーム中で、前記ブロックについての前記イントラ予測モードが前記最確イントラ予測モードに一致するかどうかを示すことと
    を行うように構成される、請求項19に記載の装置。
  27. 前記装置が、ビデオデコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記最確イントラ予測モードに基づいて、前記ブロックを復号することを行うように構成され、前記ブロックを復号するために、前記1つまたは複数のプロセッサが、
    前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
    前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
    前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせることと
    を行うように構成される、請求項19に記載の装置。
  28. 前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記ビデオデータのブロックについての動き情報を判断することを行うように構成され、
    前記ブロックについての前記予測情報を判断するために、前記1つまたは複数のプロセッサが、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断することを行うように構成され、
    前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記判断された動き情報に基づいて前記ブロックをコーディングすることを行うように構成される、請求項17に記載の装置。
  29. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、請求項28に記載の装置。
  30. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断するために、前記1つまたは複数のプロセッサが、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断することを行うように構成され、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、請求項28に記載の装置。
  31. 前記装置が、ビデオエンコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記ブロックを符号化することを行うように構成され、前記ブロックを符号化するために、前記1つまたは複数のプロセッサが、
    前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての前記予測情報を判断することが、前記1つまたは複数の他のブロックの前記動き情報に基づいて、前記ブロックについての動きベクトル予測子を判断することを備えることと、
    前記ブロックを符号化することが、符号化ビットストリーム中で前記動きベクトル予測子を示すことを備えることと
    を行うように構成される、請求項28に記載の装置。
  32. 前記装置が、ビデオデコーダを備え、前記ブロックをコーディングするために、前記1つまたは複数のプロセッサが、前記ブロックを復号することを行うように構成され、前記ブロックを復号するために、前記1つまたは複数のプロセッサが、
    前記ブロックについてのイントラ予測モードが、前記判断された最確イントラ予測モードに一致するかどうかに基づいて、前記ブロックを復号するためのイントラ予測モードを判断することと、
    前記ブロックを復号するための前記判断されたイントラ予測モードを使用して、前記ブロックについての残差値をイントラ予測することと、
    前記イントラ予測された残差値を、受信された前記ブロックの残差値と組み合わせて、前記ブロックを再構成することと
    を行うように構成される、請求項28に記載の装置。
  33. 命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、
    ビデオデータのブロックについての予測情報を判断することであり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかないことと、
    前記判断された予測情報に基づいて、前記ブロックをコーディングすることと
    を1つまたは複数のプロセッサに行わせる、非一時的コンピュータ可読記憶媒体。
  34. 前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  35. 前記予測情報を判断するために、前記命令が、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断することを、前記1つまたは複数のプロセッサに行わせ、
    前記ブロックについての前記予測情報を判断するために、前記命令が、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断することを、前記1つまたは複数のプロセッサに行わせ、
    前記ブロックをコーディングするために、前記命令が、前記最確イントラ予測モードに基づいて前記ブロックをコーディングすることを、前記1つまたは複数のプロセッサに行わせる、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  36. 前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、請求項35に記載の非一時的コンピュータ可読記憶媒体。
  37. 前記ブロックについての前記最確イントラ予測モードを判断するために、前記命令が、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断することを、前記1つまたは複数のプロセッサに行わせる、請求項35に記載の非一時的コンピュータ可読記憶媒体。
  38. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、請求項35に記載の非一時的コンピュータ可読記憶媒体。
  39. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断するために、前記命令が、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断することを、前記1つまたは複数のプロセッサに行わせ、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、請求項35に記載の非一時的コンピュータ可読記憶媒体。
  40. 前記予測情報を判断するために、前記命令が、前記ビデオデータのブロックについての動き情報を判断することを、前記1つまたは複数のプロセッサに行わせ、
    前記ブロックについての前記予測情報を判断するために、前記命令が、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断することを、前記1つまたは複数のプロセッサに行わせ、
    前記ブロックをコーディングするために、前記命令が、前記判断された動き情報に基づいて前記ブロックをコーディングすることを、前記1つまたは複数のプロセッサに行わせる、請求項33に記載の非一時的コンピュータ可読記憶媒体。
  41. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、請求項40に記載の非一時的コンピュータ可読記憶媒体。
  42. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断するために、前記命令が、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断することを、前記1つまたは複数のプロセッサに行わせ、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、請求項40に記載の非一時的コンピュータ可読記憶媒体。
  43. ビデオデータをコーディングするための装置であって、
    ビデオデータのブロックについての予測情報を判断するための手段であり、前記ブロックは、ビデオデータのコード化ユニット中に含まれ、前記コード化ユニット中の最上行の、上に隣接するブロックの下に位置し、前記ブロックについての前記予測情報は、前記コード化ユニット中の1つまたは複数の他のブロックからの予測情報に基づくが、前記コード化ユニット中の前記最上行のブロックのいずれからの予測情報にも基づかない手段と、
    前記判断された予測情報に基づいて、前記ブロックをコーディングするための手段と
    を備える装置。
  44. 前記コード化ユニットが、ピクチャ、スライス、タイル、および波面のセットのうちの1つを備える、請求項43に記載の装置。
  45. 前記予測情報を判断するための手段が、前記ビデオデータの1つまたは複数の他のブロックについてのイントラ予測モードを判断するための手段を備え、
    前記ブロックについての前記予測情報を判断するための手段が、前記1つまたは複数の他のブロックの前記イントラ予測モードに基づいて、前記コード化ユニット中の前記最上行のブロックからのイントラ予測モードに基づくことなしに、前記ブロックについての最確イントラ予測モードを判断するための手段を備え、
    前記ブロックをコーディングするための手段が、前記最確イントラ予測モードに基づいて前記ブロックをコーディングするための手段を備える、請求項43に記載の装置。
  46. 前記1つまたは複数の他のブロックが、前記ブロックの1つまたは複数の左に隣接するブロックを備える、請求項45に記載の装置。
  47. 前記ブロックについての前記最確イントラ予測モードを判断するための手段が、第1の左に隣接する第1のブロックと、前記ブロックの下に位置する第2の左に隣接するブロックとに基づいて、前記最確イントラ予測モードを判断するための手段をさらに備える、請求項45に記載の装置。
  48. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUのブロックを備え、前記最確イントラモード判断が、前記1つまたは複数の他のLCUの前記ブロックのイントラ予測モードに基づかない、請求項45に記載の装置。
  49. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記最確モードを判断するための手段が、前記第1のLCUの第2のサブCUからのイントラ予測モードに基づいて、前記最確モードを判断するための手段を備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上に位置する、請求項45に記載の装置。
  50. 前記予測情報を判断するための手段が、前記ビデオデータのブロックについての動き情報を判断するための手段を備え、
    前記ブロックについての前記予測情報を判断するための手段が、前記1つまたは複数の他のブロックについての前記動き情報に基づいて、前記コード化ユニット中の前記最上行のブロックからの動き情報に基づくことなしに、前記ブロックについての動き情報を判断するための手段を備え、
    前記ブロックをコーディングするための手段が、前記判断された動き情報に基づいて前記ブロックをコーディングするための手段を備える、請求項43に記載の装置。
  51. 前記ブロックが、最大コーディングユニットLCUの1つまたは複数のブロックを備え、前記最上行のブロックが、1つまたは複数の他のLCUを備え、前記動き情報判断が、前記1つまたは複数の他のLCUの動き情報に基づかない、請求項50に記載の装置。
  52. 前記ブロックが、前記コード化ユニットの第1の最大コーディングユニット(LCU)の第1のサブコーディングユニット(CU)を備え、前記最上行のブロックが、前記第1のLCUの上にある前記コード化ユニットの第2のLCUを備え、前記ブロックについての前記動き情報を判断するための手段が、前記第1のLCUの第2のサブCUからの動き情報に基づいて、前記動き情報を判断するための手段を備え、前記第2のサブCUが、前記第1のLCU中の前記第1のサブCUの上にある、請求項50に記載の装置。
JP2014521717A 2011-07-20 2012-07-17 ビデオコーディングにおける予測データのバッファリング Active JP5869122B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161509933P 2011-07-20 2011-07-20
US61/509,933 2011-07-20
US201161522136P 2011-08-10 2011-08-10
US61/522,136 2011-08-10
US13/550,377 US9699456B2 (en) 2011-07-20 2012-07-16 Buffering prediction data in video coding
US13/550,377 2012-07-16
PCT/US2012/047073 WO2013012867A2 (en) 2011-07-20 2012-07-17 Buffering prediction data in video coding

Publications (2)

Publication Number Publication Date
JP2014525198A true JP2014525198A (ja) 2014-09-25
JP5869122B2 JP5869122B2 (ja) 2016-02-24

Family

ID=47555728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014521717A Active JP5869122B2 (ja) 2011-07-20 2012-07-17 ビデオコーディングにおける予測データのバッファリング

Country Status (15)

Country Link
US (1) US9699456B2 (ja)
EP (1) EP2735153A2 (ja)
JP (1) JP5869122B2 (ja)
KR (1) KR101521060B1 (ja)
CN (1) CN103688541B (ja)
AU (1) AU2012284123B2 (ja)
BR (1) BR112014001124A2 (ja)
CA (1) CA2842037C (ja)
IL (1) IL230281B (ja)
MX (1) MX338116B (ja)
MY (1) MY167510A (ja)
RU (1) RU2573744C2 (ja)
TW (1) TWI504237B (ja)
WO (1) WO2013012867A2 (ja)
ZA (1) ZA201401264B (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917763B2 (en) * 2011-03-07 2014-12-23 Panasonic Corporation Motion compensation apparatus, video coding apparatus, video decoding apparatus, motion compensation method, program, and integrated circuit
US9509989B2 (en) * 2011-08-04 2016-11-29 Hfi Innovation Inc. Method and apparatus for reordered binarization of syntax elements in CABAC
JP5768662B2 (ja) * 2011-10-31 2015-08-26 富士通株式会社 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
US9154796B2 (en) 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
US8693551B2 (en) 2011-11-16 2014-04-08 Vanguard Software Solutions, Inc. Optimal angular intra prediction for block-based video coding
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
WO2013139212A1 (en) * 2012-03-21 2013-09-26 Mediatek Singapore Pte. Ltd. Method and apparatus for intra mode derivation and coding in scalable video coding
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
US9185414B1 (en) 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
US9288484B1 (en) 2012-08-30 2016-03-15 Google Inc. Sparse coding dictionary priming
CN102883163B (zh) * 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
US9106922B2 (en) * 2012-12-19 2015-08-11 Vanguard Software Solutions, Inc. Motion estimation engine for video encoding
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
US9716894B2 (en) 2013-03-25 2017-07-25 Qualcomm Incorporated Intra prediction modes for lossy coding when transform is skipped
US9300906B2 (en) 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
US10904551B2 (en) 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US9374578B1 (en) 2013-05-23 2016-06-21 Google Inc. Video coding using combined inter and intra predictors
US9510024B2 (en) * 2014-09-12 2016-11-29 Spotify Ab System and method for early media buffering using prediction of user behavior
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
JP2015185897A (ja) * 2014-03-20 2015-10-22 パナソニックIpマネジメント株式会社 画像符号化方法及び画像符号化装置
US11323733B2 (en) * 2014-05-23 2022-05-03 Qualcomm Incorporated Predictor palette initialization in palette-based video coding
JP6482191B2 (ja) * 2014-06-12 2019-03-13 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN106464880B (zh) * 2014-06-26 2019-05-10 华为技术有限公司 用于减少高效率视频编码中的计算负荷的方法和设备
US9153017B1 (en) 2014-08-15 2015-10-06 Google Inc. System and method for optimized chroma subsampling
KR101746426B1 (ko) * 2015-07-13 2017-06-13 동국대학교 산학협력단 HEVC 4x4 인트라 예측 하드웨어 장치
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
RU2652424C2 (ru) * 2016-02-29 2018-04-26 Общество с ограниченной ответственностью "ВизКом" Способ и система организации спутникового телевидения с буферизацией на наземном транспорте
US9432668B1 (en) * 2016-03-15 2016-08-30 NGCodec Inc. Apparatus and method for inter and intra mode selection and block partitioning
CN114449287A (zh) * 2016-03-16 2022-05-06 联发科技股份有限公司 视频编码的样式基础的运动向量推导之方法及装置
US10593015B2 (en) * 2016-05-04 2020-03-17 Texas Instruments Incorporated Apparatus and method for efficient motion estimation
US11638027B2 (en) 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
MX2019007219A (es) * 2016-12-22 2019-09-05 Kt Corp Metodo y aparato para procesar señales de video.
EP3565248A4 (en) * 2016-12-28 2020-12-02 LG Electronics Inc. -1- INTERPREDICTION-BASED IMAGE PROCESSING METHOD AND DEVICE FOR IT
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US11496747B2 (en) 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
US10630978B2 (en) * 2017-05-12 2020-04-21 Blackberry Limited Methods and devices for intra-coding in video compression
EP3410717A1 (en) * 2017-05-31 2018-12-05 Thomson Licensing Methods and apparatus for candidate list pruning
CN117336511A (zh) * 2017-07-06 2024-01-02 Lx 半导体科技有限公司 图像编码方法、图像解码方法、发送方法和数字存储介质
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
CN116866565A (zh) * 2018-03-21 2023-10-10 Lx 半导体科技有限公司 图像编码/解码方法、存储介质以及图像数据的传输方法
RU2769840C1 (ru) 2018-05-10 2022-04-07 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования видео и способ и устройство декодирования видео
US10469869B1 (en) 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
US10587885B2 (en) * 2018-06-04 2020-03-10 Tencent America LLC Method and apparatus for merge mode with additional middle candidates in video coding
KR102546650B1 (ko) * 2018-06-26 2023-06-21 닛본 덴끼 가부시끼가이샤 영상 부호화 장치와 방법, 영상 복호 장치와 방법, 및 기록 매체
GB2609289B (en) 2018-06-27 2023-04-26 Kt Corp Method and apparatus for processing video signal
US10798394B2 (en) * 2018-06-27 2020-10-06 Avago Technologies International Sales Pte. Limited Low complexity affine merge mode for versatile video coding
US11509889B2 (en) 2018-06-27 2022-11-22 Kt Corporation Method and apparatus for processing video signal
WO2020003270A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
US11451786B2 (en) 2018-07-05 2022-09-20 Lg Electronics Inc. Image coding method using buffer compression in CTU unit, and apparatus therefor
US11606575B2 (en) 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
EP3821626A4 (en) * 2018-08-09 2021-08-04 Huawei Technologies Co., Ltd. HISTORY-BASED INTRA MODE CODING PROCESS AND APPARATUS
SG11202101742UA (en) * 2018-09-03 2021-03-30 Huawei Tech Co Ltd Method and apparatus for intra prediction
WO2020057504A1 (en) * 2018-09-17 2020-03-26 Mediatek Inc. Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
US11570442B2 (en) * 2019-06-05 2023-01-31 Qualcomm Incorporated Reducing motion field storage for prediction of video data using non-rectangular prediction modes
KR20220157765A (ko) * 2021-05-21 2022-11-29 삼성전자주식회사 영상 부호화 장치 및 이의 동작 방법
US11854264B2 (en) 2021-06-18 2023-12-26 Kyndryl, Inc. Speculative actions based on predicting negative circumstances
WO2023230443A2 (en) * 2022-05-23 2023-11-30 Bytedance Inc. Method, apparatus, and medium for video processing

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668111A (zh) 1997-12-01 2005-09-14 三星电子株式会社 运动向量预测方法
US7236524B2 (en) 2002-05-28 2007-06-26 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode communication
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
KR101104828B1 (ko) 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
KR100703748B1 (ko) 2005-01-25 2007-04-05 삼성전자주식회사 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치
EP1878232A2 (en) 2005-04-26 2008-01-16 Koninklijke Philips Electronics N.V. A device for and a method of processing a data stream having a sequence of packets and timing information related to the packets
US7603141B2 (en) 2005-06-02 2009-10-13 Qualcomm, Inc. Multi-antenna station with distributed antennas
KR100678911B1 (ko) * 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
JP4712643B2 (ja) 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
KR101364532B1 (ko) 2007-01-03 2014-02-18 삼성전자주식회사 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
CN103338366B (zh) 2007-06-29 2016-08-24 夏普株式会社 图像编码装置、图像编码方法、图像译码装置、图像译码方法
WO2009034487A2 (en) 2007-09-10 2009-03-19 Nxp B.V. Method and apparatus for motion estimation and motion compensation in video image data
BRPI0818444A2 (pt) * 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
CN102246526B (zh) 2008-12-10 2014-10-29 株式会社日立制作所 运动图像解码方法以及装置、运动图像编码方法以及装置
WO2010102935A1 (en) 2009-03-09 2010-09-16 Thomson Licensing Estimation of the prediction mode for the intra coding mode
US8965395B2 (en) 2009-06-05 2015-02-24 Qualcomm Incorporated Positioning of user equipment in a wireless communication network
KR101702553B1 (ko) * 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
EP2299717A1 (en) 2009-09-10 2011-03-23 Thomson Licensing Method and apparatus for image encoding using Hold-MBs, and method and apparatus for image decoding using Hold-MBs
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
US9071845B2 (en) 2009-12-17 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for video coding
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US8599794B2 (en) 2010-09-08 2013-12-03 Intel Corporation Enhanced base station and method for communicating through an enhanced distributed antenna system (eDAS)
US20120106622A1 (en) * 2010-11-03 2012-05-03 Mediatek Inc. Method and Apparatus of Slice Grouping for High Efficiency Video Coding
KR102210473B1 (ko) * 2011-10-18 2021-02-01 엘지전자 주식회사 인트라 예측 방법 및 그 장치

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
CSNC201318025300; Guo,M. et al: 'Intra Chroma LM Mode with Reduced Line Buffer' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC , 20110716, <URL:http://phenix.it-sudparis.eu/jct/doc_end_use *
CSNC201318026021; Seregin,V. et al: 'Intra mode parsing without access neighbouring information' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC , 20110718, http://phenix.it-sudparis.eu/jct/doc_end_user/docu *
JPN6015000706; Tzu-Der Chuang et al.: 'Luma Intra Prediction Mode Coding' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F062_r2, 20110715, pp.1-5, 6th Meeting: Torino, IT *
JPN6015001400; Guo,M. et al: 'Intra Chroma LM Mode with Reduced Line Buffer' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC , 20110716, <URL:http://phenix.it-sudparis.eu/jct/doc_end_use *
JPN6015001400; Mei Guo et al.: 'Intra Chroma LM Mode with Reduced Line Buffer' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F121, 20110716, pp.1-4, 6th Meeting: Torino, Italy *
JPN6015001402; Seregin,V. et al: 'Intra mode parsing without access neighbouring information' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC , 20110718, http://phenix.it-sudparis.eu/jct/doc_end_user/docu *
JPN6015001402; Vadim Seregin et al.: 'Intra mode parsing without access neighbouring information' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-F378_r3, 20110718, pp.1-14, 6th Meeting: Torino, IT *
JPN6015048629; Wenpeng Ding et al.: 'Improved Intra Mode Coding by Multiple Mode Candidates' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-D253, 201101, pp.1-5, 4th Meeting: Daegu, KR *
JPN6015048630; Mei Guo et al.: 'CE14 Subtest 1: The Most Probable Mode Signaling for Luma' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-E088, 201103, pp.1-4, 5th Meeting: Geneva, Switzerland *

Also Published As

Publication number Publication date
KR101521060B1 (ko) 2015-05-15
CN103688541A (zh) 2014-03-26
MX2014000760A (es) 2014-05-07
US20130022119A1 (en) 2013-01-24
AU2012284123A1 (en) 2014-02-13
US9699456B2 (en) 2017-07-04
CA2842037C (en) 2017-06-06
CA2842037A1 (en) 2013-01-24
JP5869122B2 (ja) 2016-02-24
RU2014106273A (ru) 2015-08-27
KR20140039082A (ko) 2014-03-31
CN103688541B (zh) 2018-10-02
EP2735153A2 (en) 2014-05-28
TWI504237B (zh) 2015-10-11
MY167510A (en) 2018-09-04
ZA201401264B (en) 2021-05-26
IL230281B (en) 2018-02-28
RU2573744C2 (ru) 2016-01-27
WO2013012867A3 (en) 2013-05-16
WO2013012867A2 (en) 2013-01-24
AU2012284123B2 (en) 2016-01-14
BR112014001124A2 (pt) 2017-02-14
TW201313033A (zh) 2013-03-16
MX338116B (es) 2016-04-01

Similar Documents

Publication Publication Date Title
JP5869122B2 (ja) ビデオコーディングにおける予測データのバッファリング
JP5869108B2 (ja) メモリ効率的コンテキストモデリング
CN107710764B (zh) 确定用于视频译码的照明补偿状态的系统及方法
JP6783788B2 (ja) ビデオコーディングにおけるサブブロックの動き情報の導出
CN107690810B (zh) 确定用于视频译码的照明补偿状态的系统及方法
JP5902307B2 (ja) イントラモードビデオコーディング
US9729873B2 (en) Video coding using parallel motion estimation
JP6293788B2 (ja) 高効率ビデオコーディングに基づくビデオ情報のスケーラブルコーディングのためのデバイスおよび方法
JP6092222B2 (ja) ビデオコード化のための動きベクトル決定
JP6081499B2 (ja) 変換係数コーディングのためのコンテキスト導出における走査ベーススライディングウィンドウ
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
US9584805B2 (en) Prediction mode information downsampling in enhanced layer coding
JP2018142972A (ja) Bスライス中の予測ユニットの単方向インター予測への制限
JP2018125863A (ja) ビデオプロパティの指示
JP6162228B2 (ja) ビデオコード化のための長期参照ピクチャについてのデータの信号伝達
JP2018537908A (ja) ビデオデータの符号情報をコーディングすること
JP6239609B2 (ja) ビデオコーディングのための長期参照ピクチャをシグナリングすること
US20130272411A1 (en) Scalable video coding prediction with non-causal information
JP2018511234A (ja) コード化パラメータのhevc予測についての利用可能性検査を低減するためのパディング
US9338452B2 (en) Motion vector difference coding extension for enhancement layer
CN111200735A (zh) 一种帧间预测的方法及装置
JP2016509436A (ja) レイヤ間シンタックス予測制御
JP6466349B2 (ja) スケーラブルビデオコーディングのための空間動きベクトルスケーリング
WO2020047807A1 (zh) 帧间预测方法、装置以及编解码器
WO2020043111A1 (zh) 基于历史候选列表的图像编码、解码方法以及编解码器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150420

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160106

R150 Certificate of patent or registration of utility model

Ref document number: 5869122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250