JP2017508345A - 予測ブロックからのイントラ予測 - Google Patents

予測ブロックからのイントラ予測 Download PDF

Info

Publication number
JP2017508345A
JP2017508345A JP2016545317A JP2016545317A JP2017508345A JP 2017508345 A JP2017508345 A JP 2017508345A JP 2016545317 A JP2016545317 A JP 2016545317A JP 2016545317 A JP2016545317 A JP 2016545317A JP 2017508345 A JP2017508345 A JP 2017508345A
Authority
JP
Japan
Prior art keywords
block
chroma
vector
coding unit
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016545317A
Other languages
English (en)
Other versions
JP2017508345A5 (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 JP2017508345A publication Critical patent/JP2017508345A/ja
Publication of JP2017508345A5 publication Critical patent/JP2017508345A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ビデオデータをコーディングするためのデバイスであって、本デバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、第1のクロマ参照ブロックがピクチャ中にあり、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測することと、ベクトルを使用して第2のクロマ参照ブロックの位置を特定することと、ここにおいて、第2のクロマ参照ブロックがピクチャ中にあり、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測することとを行うように構成された1つまたは複数のプロセッサを備えるビデオコーダとを備える、デバイス。

Description

[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、以下の米国仮出願、すなわち、2014年1月9日に出願された米国仮出願第61/925,647号、2014年1月10日に出願された米国仮出願第61/926,224号の利益を主張する。
[0002]本開示はビデオコーディングに関し、より詳細には、他のビデオブロックに基づくビデオブロックの予測に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングでは、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部分)がビデオブロックに区分され得、これらのビデオブロックは、ツリーブロック、コーディングユニット(CU:coding unit)および/またはコーディングノードと呼ばれることもある。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間予測または時間予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に2次元アレイで構成される量子化変換係数は、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
[0006]概して、本開示では、イントラBCまたはイントラMCモードと呼ばれることがある、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測のためのモードを含むビデオデータをコーディングするための技法について説明する。
[0007]一例では、ビデオデータを復号する方法は、ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、コーディングユニットに関連する複数のベクトルから、コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、第1のクロマ参照ブロックがピクチャ中にあり、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測することと、ベクトルを使用して第2のクロマ参照ブロックの位置を特定することと、ここにおいて、第2のクロマ参照ブロックがピクチャ中にあり、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測することとを含む。
[0008]別の例では、ビデオデータを符号化する方法は、コーディングユニットに関連する複数のベクトルから、ピクチャのコーディングユニットの第1のクロマブロックのためのベクトルを決定することと、ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、第1のクロマ参照ブロックがピクチャ中にあり、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測することと、ベクトルを使用して第2のクロマ参照ブロックの位置を特定することと、ここにおいて、第2のクロマ参照ブロックがピクチャ中にあり、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測することと、符号化ビデオデータ中に含めるために、ピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされているという指示と、コーディングユニットの各ルーマブロックのためのベクトルの指示とを生成することとを含む。
[0009]別の例では、ビデオデータをコーディングするための装置は、コーディングユニットに関連する複数のベクトルから、ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定するための手段と、コーディングユニットの第1のクロマブロックのためのベクトルを決定するための手段と、ベクトルを使用して第1のクロマ参照ブロックの位置を特定するための手段と、ここにおいて、第1のクロマ参照ブロックがピクチャ中にあり、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測するための手段と、ベクトルを使用して第2のクロマ参照ブロックの位置を特定するための手段と、ここにおいて、第2のクロマ参照ブロックがピクチャ中にあり、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測するための手段とを含む。
[0010]ビデオデータをコーディングするためのデバイスであって、本デバイスは、ビデオデータを記憶するように構成されたメモリと、コーディングユニットに関連する複数のベクトルから、ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、第1のクロマ参照ブロックがピクチャ中にあり、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測することと、ベクトルを使用して第2のクロマ参照ブロックの位置を特定することと、ここにおいて、第2のクロマ参照ブロックがピクチャ中にあり、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測することとを行うように構成された1つまたは複数のプロセッサを備えるビデオコーダとを備える、デバイス。
[0011]別の例では、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、コーディングユニットに関連する複数のベクトルから、ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、第1のクロマ参照ブロックがピクチャ中にあり、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測することと、ベクトルを使用して第2のクロマ参照ブロックの位置を特定することと、ここにおいて、第2のクロマ参照ブロックがピクチャ中にあり、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測することとを行わせる命令を記憶するコンピュータ可読記憶媒体。
[0012]1つまたは複数の例の詳細が以下の添付の図面および説明に記載されている。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
[0013]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0014]本開示の技法による、現在ピクチャ内のビデオデータの現在ブロックを予測するための現在ピクチャ内のビデオデータの例示的な予測ブロックを示す概念図。 [0015]ビデオデータの予測ブロックがそこから選択され得る、対象とする領域を定義するための例示的な技法を示す概念図。 [0016]ビデオデータの現在ブロック、およびビデオデータの現在ブロックのための候補予測ベクトルがそこから導出され得るビデオデータの隣接ブロックの一例概念図。 [0017]マージモードのための空間隣接動きベクトル候補の一例を示す図。 [0018]高度動きベクトル予測(AMVP:Advanced Motion Vector Prediction)モードのための空間隣接動きベクトル候補の一例を示す図。 [0019]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。 [0020]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。 [0021]本開示の技法によるビデオデータを符号化するための例示的な方法を示す流れ図。 [0022]本開示の技法によるビデオデータデータを復号するための例示的な方法を示す流れ図。
[0023]ビデオシーケンスは、概して、ピクチャのシーケンスとして表される。一般に、ブロックベースのコーディング技法は、個々のピクチャの各々をコーディングするために使用される。すなわち、各ピクチャはブロックに分割され、ブロックの各々は個別にコーディングされる。ビデオデータのブロックをコーディングすることは、概して、ブロックの予測値を形成することと、残差値、すなわち、元のブロックと予測値との間の差分をコーディングすることとを伴う。詳細には、ビデオデータの元のブロックはピクセル値の行列を含み、予測値は予測されたピクセル値の行列を含む。残差値は、元のブロックのピクセル値と予測されたピクセル値との間のピクセルごとの差分に対応する。
[0024]ビデオデータのブロックのための予測技法は、概して、イントラ予測およびインター予測としてカテゴリー分類される。イントラ予測、または空間予測は、概して、前にコーディングされたブロックの一部である隣接するピクセル値からブロックを予測することを伴う。インター予測、または時間予測は、概して、前にコーディングされたピクチャ(たとえば、フレームまたはスライス)のピクセル値からブロックを予測することを伴う。
[0025]リモートデスクトップ、リモートゲーミング、ワイヤレスディスプレイ、自動車インフォテインメント、クラウドコンピューティングなどの多くの適用例が日常生活におけるルーチンになりつつある。これらの適用例におけるビデオコンテンツは、通常、自然コンテンツ、テキスト、人工グラフィックス、および他のコンテンツの組合せである。テキストおよび人工グラフィックス領域では、(文字、アイコン、シンボルなどの)反復パターンがしばしば存在する。
[0026]イントラブロックコピー(イントラBC)またはイントラ動き補償(イントラMC)と呼ばれることがある、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測は、ビデオコーダが、そのような冗長性を除去し、イントラフレームコーディング効率を改善することを可能にし得る技法である。いくつかのビデオコーディング技法では、ビデオコーダは、現在ビデオブロックの予測のために、同じピクチャ中のビデオデータの現在ブロックのすぐ上またはすぐ下あるいは現在ブロックに対して水平方向に一直線上のいずれかにある、前に再構成されたビデオデータのブロックを使用し得る。言い換えれば、ビデオデータのピクチャまたはフレームが2Dグリッドに課された場合、ビデオデータの各ブロックは、x値およびy値の一意の範囲を占有する。したがって、いくつかのビデオコーダは、x値の同じセット(すなわち、現在ビデオブロックに対して垂直方向に一直線上にある)またはy値の同じセット(すなわち、現在ビデオブロックに対して水平方向に一直線上にある)のみを共有する同じピクチャ中の前にコーディングされたビデオデータのブロックに基づいてビデオデータの現在ブロックを予測し得る。
[0027]ビデオコーダが、必ずしもビデオデータの現在ブロックのすぐ上またはすぐ左(すぐ右またはすぐ下)にあるとは限らない、同じフレーム、すなわち、同じピクチャ内のビデオデータの前に再構成されたブロックから現在ビデオブロックを予測することが有利であり得る。予測セット中により多くのビデオブロックを含めることによって、ビデオコーダは、現在ビデオブロックのより正確な予測を実現し得、それによってコーディング効率が高まる。
[0028]概して、本開示では、イントラBCまたはイントラMCモードと呼ばれることがある、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測のためのモードを含むビデオデータをコーディングするための技法について説明する。本開示のイントラBCまたはイントラMC技法は、ビデオデータの現在ブロックのためのビデオデータの予測ブロックを識別することを含み得る。ビデオデータの予測ブロックは、たとえば、ビデオデータの現在ブロックと同じピクチャ内のビデオデータの再構成されたブロックに対応し得る。ビデオデータの予測ブロックは、ピクチャ内にある対象とする領域、たとえば、ビデオデータの現在ブロックの上、右上、左上、および/または左の領域内からであり得る。ビデオデータの予測ブロックは現在ビデオブロックのすぐ上またはすぐ左のいずれかにあることに限定されず、したがって、現在ブロックに対する予測ブロックを識別するために使用されるベクトルは必ずしも1次元ベクトルであるとは限らない。代わりに、ビデオデータの予測ブロックを識別または決定するために、ビデオコーダは、ビデオデータの現在ブロックに対する水平変位成分および垂直変位成分を含む2次元ベクトルを定義する1つまたは複数のシンタックス要素をコーディングし得る。2次元ベクトルは、ブロックベクトル、オフセットベクトル、または動きベクトルと呼ばれることがあり、たとえば、現在ブロックの左上コーナーに対する予測ブロックを識別するために使用され得る。
[0029]以下でより詳細に説明するように、コーディングユニットと呼ばれるビデオデータのブロックは複数の予測ユニットを含み得る。各予測ユニットは別個に予測され得る。したがって、各予測ユニットについて、ブロックベクトルはビットストリーム中でシグナリングされ得、ビデオデコーダは、予測ユニットのルーマ成分と予測ユニットの2つのクロマ成分とを予測するためにそのブロックベクトルを使用し得る。ビデオデータのクロマサブサンプリングフォーマットに応じて、ビデオデコーダは、予測ユニットの2つのクロマ成分を予測するためにブロックベクトルをスケーリングし得る。クロマ成分を予測するためのブロックベクトルのスケーリングは、可読性を支援するために複数回繰り返されない。クロマ成分を予測するためのブロックベクトルのそのようなスケーリングは、クロマ成分を予測したときに行われ得るが、ブロックベクトルのそのようなスケーリングは、クロマ成分を予測することのあらゆる事例において必要であるとは限らないことを理解されたい。
[0030]既存の技法によれば、コーディングユニットの各予測ユニットのための参照ブロックを識別するために、異なるブロックベクトルが使用され得る。たとえば、コーディングユニットの第1の予測ユニットのための第1のブロックベクトルが、第1の予測ユニットのルーマ成分のためのルーマ参照ブロック(すなわち、ルーマサンプルの予測ブロック)を識別するために使用され、第1の予測ユニットの2つのクロマ成分のためのクロマ参照ブロック(すなわち、クロマサンプルの2つの対応するクロマブロック)を識別するために使用され得る。コーディングユニットの第2の予測ユニットのための第2のブロックベクトルが、第2の予測ユニットのルーマ成分のためのルーマ参照ブロック(すなわち、ルーマサンプルの予測ブロック)を識別するために使用され、第2の予測ユニットの2つのクロマ成分のためのクロマ参照ブロック(すなわち、クロマサンプルの2つの対応するクロマブロック)を識別するために使用され得、以下同様である。
[0031]しかしながら、本開示の技法によれば、異なるブロックベクトルが、コーディングユニットの各予測ユニットのルーマ成分を予測するために使用され得、同じブロックベクトルが、コーディングユニットの予測ユニットの2つまたはそれ以上のクロマ成分を予測するために使用され得る。たとえば、上記のように、コーディングユニットの第1の予測ユニットのための第1のブロックベクトルが、第1の予測ユニットのルーマ成分のためのルーマ参照ブロック(すなわち、ルーマサンプルの予測ブロック)を識別するために使用され、第1の予測ユニットの2つのクロマ成分のためのクロマ参照ブロック(すなわち、クロマサンプルの2つの対応するクロマブロック)を識別するために使用され得る。しかしながら、第2の予測ユニットの2つのクロマ成分の場合、(上記の例の場合のように)第2のブロックベクトルを使用するのではなく、同じ第1のブロックベクトルが、クロマ参照ブロックを識別するために使用される。第2のブロックベクトルは、依然として、第2の予測ユニットのルーマ成分のためのルーマ参照ブロックを識別するために使用され得る。
[0032]より詳細には、本開示では、ピクチャまたはスライス内で予測されたブロックを用いたブロックのコーディングをサポートするための技法について説明する。提案する技法は、たとえば、高ビット深度(たとえば8ビット超)と(たとえば、4:4:4および4:2:2を含む)高クロマサンプリングフォーマットとをサポートし得る新生のHEVC範囲拡張(RCEx)とともに使用され得る。本開示の技法はスクリーンコンテンツコーディングにも適用され得る。
[0033]本明細書で使用する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的にビデオ符号化またはビデオ復号を指すことがある。したがって、別段に記載されていない限り、コーディングに関して説明する技法はビデオエンコーダまたはビデオデコーダのいずれかによって実行され得ると仮定されるべきである。本出願のいくつかの部分では、いくつかの技法について、ビデオ復号またはビデオデコーダに関して説明し得る。しかしながら、そのような技法は、ビデオ符号化に適用可能でないか、またはビデオエンコーダによって実行されないことがあると仮定されるべきでない。そのような技法は、たとえば、ビデオデータをどのように符号化するかを決定することの一部として実行され得るか、またはビデオエンコーダ中のビデオ復号ループの一部として実行され得る。
[0034]本開示で使用する現在ブロックという用語は、すでにコーディングされているまたはまだコーディングされていないブロックとは対照的に、現在コーディングされているブロックを指す。同様に、現在コーディングユニット、現在予測ユニット、または現在変換ユニットは、現在コーディングされているコーディングユニット、予測ユニット、または変換ユニットを指す。
[0035]図1は、本明細書で説明する技法のうちの1つまたは複数を実装し得る例示的なビデオ符号化および復号システムを示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0036]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動させることが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、リアルタイムで宛先デバイス14に直接符号化ビデオデータを送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、インターネットなどのグローバルネットワーク、ワイドエリアネットワーク、またはローカルエリアネットワークなどのパケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得る任意の他の機器を含み得る。
[0037]いくつかの例では、コンピュータ可読媒体16はストレージデバイスを備え得、ソースデバイスは、出力インターフェース22を介してストレージデバイスに符号化ビデオデータを出力し得る。同様に、符号化データは入力インターフェース28によってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。たとえば、ディスクスタンピング設備など、媒体製造施設のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0038]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0039]図1は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶し得、および/またはビデオ復号デバイスはメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、単にメモリにデータを符号化し、および/またはメモリからデータを取り出し、復号するデバイスによって実行される。
[0040]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、一体化したディスプレイデバイス32を含むのではなく、外部ディスプレイデバイス32とインターフェースし得る。
[0041]図1の図示されたシステム10は、一例にすぎない。任意のデジタルビデオ符号化および/または復号デバイスが本明細書で説明する技法を実行し得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はビデオプリプロセッサによっても実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0042]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14はいわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。
[0043]宛先デバイス14の入力インターフェース28はコンピュータ可読媒体16から情報を受信する。いくつかの例では、入力インターフェース28は受信機および/またはモデムを含む。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、ビデオデコーダ30によって使用され、ブロックおよび他のコード化ユニット、たとえば、スライス、ピクチャ、ピクチャグループ(GOP)、またはビデオデータの特性および/または処理を記述する符号化ビデオデータおよび他のシンタックス情報を含み得る、符号化ビデオビットストリームを含み得る。ディスプレイデバイス32は、ユーザに復号ビデオデータを表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0044]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法がソフトウェアで部分的に実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、オーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0045]本開示では、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及することがある。「シグナリング」という用語は、概して、圧縮ビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
[0046]ビデオエンコーダ20およびビデオデコーダ30について、本開示では、例示のために、1つまたは複数のビデオコーディング規格に従って動作するように構成されるものとして説明する。しかしながら、本開示の技法は、必ずしも任意の特定のコーディング規格に限定されるとは限らず、様々な異なるコーディング規格のために適用され得る。
[0047]ビデオエンコーダ20およびビデオデコーダ30は、任意の拡張、変更、または追加を含む、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part10,アドバンストビデオコーディング(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、MPEG−2およびITU−T H.263がある。
[0048]他のプロプライエタリまたは業界規格の例としては、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそれのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264、あるいはそのような規格の拡張、変更、または追加がある。さらに、H.264/AVCへの3次元ビデオ(3DV:three-dimensional video)コーディング拡張、すなわちAVCベース3DVを生成するための取り組みが進行中である。言い換えれば、例示的なビデオコーディング規格としては、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそれのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264がある。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264、Advanced Video Coding for generic audiovisual servicesに記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶことがある。ジョイントビデオチーム(JVT)は、H.264/MPEG−4 AVCへの拡張に取り組み続けている。MVCの最近のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されている。
[0049]さらに、ITU−Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコーディング(JCT−VC:Joint Collaboration Team on Video Coding)によって開発された、新開発のビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)がある。図1の例では、ビデオエンコーダ20およびビデオデコーダ30は、HEVCに従って動作し得る。その内容全体が参照により組み込まれる、2013年10月17日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipから入手可能である、Brossら、「High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call)、ITU−T SG16 WP3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコーディング(JCT−VC:Joint Collaborative Team on Video Coding)、第12回会議:ジュネーブ、スイス、2013年1月14日〜23日、文書JCTVC−L1003−v34、以下、「JCTVC−L1003−v34」はHEVCの最近のドラフトである。JCTVC−L1003−v34において定義されたHEVCのバージョンはHEVCバージョン1または「HEVCv1」と呼ばれることがある。その内容全体が参照により組み込まれる、http://phenix.int−evry.fr/jct/doc_end_user/current_document.php?id=8143から入手可能である、McCannら、「High Efficiency Video Coding (HEVC) Test Model 12 (HM 12) Encoder Description」、文書JCTVC−
N1002はHEVCの最近のエンコーダの説明である。
[0050]3DサービスをサポートするHEVCの2つの拡張が、ITU−Tビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のジョイントコラボレーションチームオン3Dビデオコーディング(JCT−3V:Joint Collaboration Team on 3D Video coding)によって開発中である。すなわち、この2つの拡張はそれぞれ、MV−HEVCおよび3D−HEVCである。図1の例では、ビデオエンコーダ20およびビデオデコーダ30は、MV−HEVCおよび/または3D−HEVCに従って動作し得る。
[0051]MV−HEVCは、ブロックレベル設計を変更することなしに複数の(テクスチャ)ビューのコーディングをサポートする。その内容全体が参照により組み込まれる、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V−E1004−v6.zipから入手可能である、Techら、「MV-HEVC Draft Text 5」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、文書番号JCT3V−E1004−v6はMV−HEVCの最近のドラフトである。
[0052]3D−HEVCは、マルチビュービデオ+深度フォーマットをコーディングし、HEVCコーディングモジュールに加えて組み込まれた新しいコーディングツールを含む。新たに導入されたコーディングツールは、テクスチャコーディングと深度コーディングの両方に適用可能である。その内容全体が参照により組み込まれる、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V−E1001−v3.zipから入手可能である、Techら、「3D-JEVC Draft Text 1」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、第5回会議:ウィーン、オーストリア、2013年7月27日〜8月2日、文書番号JCT3V−E1001−v3は3D−HEVCの最近のドラフトである。3D−HEVCのための最近のソフトウェア3D−HTMは、以下のリンク、すなわち、[3D−HTM version 8.0]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM−8.0/からダウンロードされ得る。最近のソフトウェアの説明、すなわち、その内容全体が参照により組み込まれる、Zhangら、「3D-HEVC Test Model 5」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオン3Dビデオコーディング拡張開発、第5回会議:ウィーン、オーストリア、2013年7月27日〜8月2日、文書番号JCT3V−E1005は、http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=1360から入手可能である。
[0053]HEVC規格のさらなる開発および拡張はHEVC範囲拡張を含む。HEVC範囲拡張の例は、その全体が参照により本明細書に組み込まれる、http://phenix.int−evry.fr/jct/doc_end_user/current_document.php?id=8139において入手可能である、Flynnら、「High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、文書JCTVC−N1005_v3、第13回会議:仁川、韓国、2013年4月18日〜26日に記載されている。
[0054]HEVC規格のさらなる開発および拡張はスクリーンコンテンツコーディング(SCC:screen content coding)拡張を含む。
[0055]HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、SL、SCbおよびSCrと示される3つのサンプルアレイを含み得る。SLはルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbはCbクロミナンスサンプルの2次元アレイである。SCrはCrクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
[0056]HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを与えるが、HMは33個ものイントラ予測符号化モードを与え得る。
[0057]概して、HMの作業モデルは、ビデオエンコーダ20が、ビデオフレームまたはピクチャを、最大コーディングユニット(LCU:largest coding unit)またはツリーブロックとも呼ばれる、コーディングツリーユニット(CTU:coding tree unit)のシーケンスに分割し得ることを記載している。CTUの各々は、ルーマサンプルのコーディングツリーブロック(CTB:coding tree block)と、クロマサンプルの2つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは別個のカラープレーン(color plane)を備えるピクチャでは、CTUは、単一のコーディングツリーブロックと、単一のコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
[0058]ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大コーディングユニットである、CTUのサイズを定義し得る。CTUはサンプルのN×Nブロックであり得る。HEVCのCTUは、H.264/AVCなど、他のビデオコーディング規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。
[0059]ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。スライスは、コーディング順序または走査順序でいくつかの連続するCTUを含む。各CTUは、4分木に従ってコーディングユニット(CU)に分割され得る。CUはサンプルのN×Nブロックであり得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割される場合、CUに対応するノードは4つのリーフノードを含み、その各々はサブCUのうちの1つに対応する。CU、またはCUと呼ばれることもあるサブCUは、ルーマサンプルアレイとCbサンプルアレイとCrサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの2つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは別個のカラープレーンを備えるピクチャでは、CUは、単一のコーディングブロックと、単一のコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
[0060]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深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。したがって、ビットストリームはまた、最小コーディングユニット(SCU:smallest coding unit)を定義し得る。
[0061]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64ピクセル以上をもつツリーブロックのサイズまでに及び得る。概して、ビデオエンコーダ20およびビデオデコーダ30は、1つのモード、たとえば、イントラ予測またはインター予測を用いて各CUをコーディングする。
[0062]各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含んでいることがある。CUに関連するシンタックスデータは、たとえば、CUの1つまたは複数のPUへの区分を記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非正方形(たとえば、矩形)に区分され得る。CUに関連するシンタックスデータはまた、たとえば、4分木に従うCUの1つまたは複数のTUへの区分を記述し得る。TUは、形状が正方形または非正方形(たとえば、矩形)であり得る。
[0063]CUのPUおよびTUは、ピクチャのルーマサンプルの1つの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUについて予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成し得る。モノクロームピクチャまたは別個のカラープレーンを備えるピクチャでは、PUは、単一の予測ブロックと、単一の予測ブロックを予測するために使用されるシンタックス構造とを備え得る。
[0064]ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、2N×2NまたはN×NのPUサイズでのイントラ予測と、2N×2N、2N×N、N×2N、またはN×Nの対称PUサイズでのインター予測とをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30は、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測に対する非対称区分をもサポートし得る。非対称区分では、CUの一方向は区分されないが、他の方向は25%および75%に区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。HEVCでは、最小PUサイズは8×4および4×8である。
[0065]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)、および水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負整数値を表す。ブロック中のピクセルは行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備え得、ここで、Mは必ずしもNに等しいとは限らない。
[0066]概して、PUは、対応するCUの全部または一部分に対応する空間エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのためのデータは、PUに対応する予測ブロックのためのイントラ予測モードを記述し得る。
[0067]別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)とを記述し得る。PUは、参照ピクチャを含む参照ピクチャリストへのインデックスなど、動きベクトルが指す参照ピクチャを識別するデータをも含み得る。
[0068]インター予測は単方向(すなわち、単予測)または双方向(すなわち、双予測)であり得る。単予測または双予測を実行するために、ビデオエンコーダ20およびビデオデコーダは、現在ピクチャに対して、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを生成し得る。参照ピクチャリストの各々は1つまたは複数の参照ピクチャを含み得る。参照ピクチャリストが構成された後(すなわち、利用可能な場合、RefPicList0およびRefPicList1)、参照ピクチャリスト中に含まれる任意の参照ピクチャを識別するために、参照ピクチャリストへの参照インデックスが使用され得る。
[0069]参照ピクチャは、時間順序、たとえば、表示順序での前のピクチャ、将来のピクチャ、あるいは2つまたはそれ以上の前に符号化されたピクチャからの予測の組合せであり得る。ビデオコーダ、たとえば、ビデオエンコーダ20およびビデオデコーダ30は、ピクチャの時間順序を識別するためにピクチャ順序カウント(POC)を使用する。ビデオコーダはまた、参照ピクチャリストの構成および動きベクトルのスケーリングのためにピクチャのPOC値を使用する。ビデオエンコーダ20またはビデオデコーダ30は、参照ピクチャを、参照ピクチャメモリ、たとえば、参照ピクチャメモリ368(図6)および参照ピクチャメモリ396(図7)に記憶し得る。
[0070]現在ビデオブロック、たとえば、PUが、本開示の技法によるイントラBCを使用してコーディングされたとき、そのブロックのための(ブロックベクトル、オフセットベクトル、動きベクトル、または変位ベクトルと呼ばれることがある)2次元ベクトルを定義するデータは、たとえば、ベクトルの水平成分、ベクトルの垂直成分、ベクトルの解像度(たとえば、1/4ピクセル精度または1/8ピクセル精度)を表し得る。しかしながら、本開示の技法によるイントラBCを使用して予想されたPUのデータは、参照ブロックが現在ビデオブロックと同じフレームまたはピクチャ内にあるので、動きベクトルが指す参照ピクチャを識別する必要がない。
[0071]ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後、ビデオエンコーダ20は、CUのためのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUのPUの予測ルーマブロック中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ20はCUのためのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUのPUの予測Cbブロック中のCbサンプルとCUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUのためのCr残差ブロックを生成し得る。CUのCr残差ブロック中の各サンプルは、CUのPUの予測Crブロック中のCrサンプルとCUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
[0072]1つまたは複数のPUを有するリーフCUは1つまたは複数の変換ユニット(TU)をも含み得る。CUのTUは、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、変換係数を生成するためにTUに関連する残差ブロック内のピクセル差分値を変換し得、その変換係数は量子化され得る。たとえば、ビデオエンコーダ20は、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換を残差ビデオデータに適用し得る。
[0073]TUは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブTUにさらに分割され得る。TUがさらに分割されないとき、それはリーフTUと呼ばれることがある。TUは、必ずしもPUのサイズに限定されるとは限らない。したがって、TUは、PUよりも大きいことも小さいこともある。イントラコーディングの場合、PUは、同じCUのための対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。概して、本開示では、別段に明記されていない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0074]本開示では、本明細書で説明するように、サンプルの任意の1つまたは複数のブロックと、サンプルの1つまたは複数のブロックのサンプルをコーディングするために使用されるシンタックス構造とを指すために、「ビデオユニット」、「ビデオブロック」、または「ビデオデータのブロック」という用語を使用し得る。例示的なタイプのビデオブロックは、HEVCのコンテキストにおけるCTU、CU、PU、またはTU、あるいは他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそのマクロブロック区分)を含み得る。
[0075]変換係数を生成するための変換の後で、ビデオエンコーダ20は変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、nビット値は、量子化中にmビット値に切り捨てられ得、ここで、nはmよりも大きい。
[0076]量子化の後に、ビデオエンコーダは、変換係数を走査し、量子化変換係数を含む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が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0077]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLC中のコードワードは、比較的より短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのための等長コードワードを使用することに勝るビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
[0078]さらに、ビデオエンコーダ20は、たとえば、残差データを逆量子化し、逆変換することによって符号化ピクチャを復号し、残差データを予測データと組み合わせ得る。このようにして、ビデオエンコーダ20は、ビデオデコーダ30によって実行される復号プロセスをシミュレートすることができる。したがって、ビデオエンコーダ20とビデオデコーダ30の両方は、イントラピクチャ予測、インターピクチャ予測、またはイントラBC予測において使用するための、実質的に同じ復号ビデオデータ、たとえば、ピクチャまたはピクチャからのブロックへのアクセスを有する。
[0079]ビデオエンコーダ20は、シンタックス要素を含む、コード化ピクチャおよび関連データの表現を形成するビットのシーケンスを含む符号化ビデオビットストリームを出力し得る。ビットストリームは、ネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットのシーケンスを備え得る。NALユニットの各々は、NALユニットヘッダを含み得、ローバイトシーケンスペイロード(RBSP:raw byte sequence payload)をカプセル化し得る。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造を備え得る。いくつかの事例では、RBSPは0ビットを含む。
[0080]異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、第1のタイプのNALユニットはパラメータセットのためのRBSPをカプセル化し得、第2のタイプのNALユニットはコード化スライスのためのRBSPをカプセル化し得、第3のタイプのNALユニットは補足エンハンスメント情報(SEI:supplemental enhancement information)のためのRBSPをカプセル化し得、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPとは対照的に)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL:video coding layer)NALユニットと呼ばれることがある。コード化スライスをカプセル化するNALユニットは、本明細書ではコード化スライスNALユニットと呼ばれることがある。コード化スライスのためのRBSPはスライスヘッダとスライスデータとを含み得る。
[0081]ビデオエンコーダ20は、符号化ビデオデータに加えて、ビデオデータの特定のブロックをどのように復号すべきか、またはそれのグルーピングをビデオデコーダに通知するシンタックス要素を符号化ビデオビットストリーム中に含め得る。ビデオエンコーダ20は、たとえば、それが参照するビデオ構造のタイプ(たとえば、シーケンス、ピクチャ、スライス、ブロック)、およびそれの値がどのくらい頻繁に変化し得るかに応じて、シンタックス要素を様々なシンタックス構造中に含め得る。たとえば、ビデオエンコーダ20は、シンタックス要素を、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)など、パラメータセット中に含め得る。他の例として、ビデオエンコーダ20は、シンタックス要素をSEIメッセージおよびスライスヘッダ中に含め得る。
[0082]概して、ビデオデコーダ30は、ビデオエンコーダによって実行される符号化プロセスの逆である復号プロセスを実行し得る。たとえば、ビデオデコーダ30は、量子化されたビデオデータをエントロピー符号化するためにビデオエンコーダによって使用されるエントロピー符号化技法の逆を使用してエントロピー復号を実行し得る。ビデオデコーダ30は、ビデオエンコーダ20によって採用される量子化技法の逆を使用してビデオデータをさらに逆量子化し得、量子化された変換係数を生成するためにビデオエンコーダ20によって使用された変換の逆を実行し得る。ビデオデコーダ30は、次いで、最終的な表示のためにビデオブロックを生成するために、隣接参照ビデオデータ(イントラ予測)、別のピクチャからの予測ブロック(インター予測)、または同じピクチャからの予測ブロック(イントラBC)に、得られた残差ブロックを適用し得る。ビデオデコーダ30は、ビデオデコーダ30によって受信されたビットストリーム中の符号化ビデオデータとともに、ビデオエンコーダ20によって与えられるシンタックス要素に基づいて、ビデオエンコーダ20によって実行される様々なプロセスの逆を実行するために構成、命令、制御、または指示され得る。
[0083]各ピクチャは、ルーマ成分と1つまたは複数のクロマ成分とを備え得る。したがって、本明細書で説明するブロックベースの符号化および復号動作は、ルーマピクセル値またはクロマピクセル値を含むか、あるいはそれに関連する、ブロック、たとえば、CU、PUおよびTUに等しく適用可能であり得る。
[0084](イントラBCとも呼ばれる)イントラMCは、Budagaviら、「AHG8: Video coding using Intra motion compensation」、文書:JCTVC−M0350、ITU−T SG 16 WP 3とISO/IECJTC1/SC 29/WG 11とのジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、第13回会議、仁川、韓国、2013年4月18日〜26日(以下、「JCT−VC M03050」)において報告されるように、イントラピクチャ冗長性を除去し、イントラフレームコーディング効率を改善することを可能にする専用技法である。JCT−VC M0350は、その全体が参照により本明細書に組み込まれ、http://phenix.int−evry.fr/jct/doc_end_user/current_document.php?id=7601からダウンロードのために利用可能である。JCT−VC M0350によれば、イントラMCは、(1)現在ビデオブロック、たとえば、CUから変位された予測信号の位置、たとえば、同じフレームまたはピクチャ内のブロックを示す1次元オフセットまたは(ここではブロックベクトル、動きベクトル、または「MV」とも呼ばれる)変位ベクトルを(2)残差信号とともにコーディングすることを含む。イントラMCを使用するCUまたは他のブロックの場合、予測信号は、同じピクチャ中のすでに再構成された領域から取得される。
[0085]図2は、本開示による、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測のためのモードに従って、たとえば、本開示の技法によるイントラBCモードに従って、現在ピクチャ103内のビデオデータの現在ブロック102を予測するための例示的な技法を示す概念図である。図2は、現在ピクチャ103内のビデオデータの予測ブロック104を示している。ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、本開示の技法によるイントラBCモードに従って現在ビデオブロック102を予測するために予測ビデオブロック104を使用し得る。
[0086]ビデオエンコーダ20は、ビデオデータの前に再構成されたブロックのセットから、現在ビデオブロック102を予測するための予測ビデオブロック104を選択する。ビデオエンコーダ20は、符号化ビデオビットストリーム中にも含まれるビデオデータを逆量子化し、逆変換し、得られた残差ブロックを、ビデオデータの再構成ブロックを予測するために使用される予測ブロックと加算することによって、ビデオデータのブロックを再構成する。図2の例では、「対象とするエリア」または「ラスタエリア」とも呼ばれることがある、ピクチャ103内の対象とする領域108は、前に再構成されたビデオブロックのセットを含む。ビデオエンコーダ20は、以下でより詳細に説明するように、様々な方法でピクチャ103内の対象とする領域108を定義し得る。ビデオエンコーダ20は、対象とする領域108内の様々なビデオブロックに基づいて現在ビデオブロック102を予測しコーディングする相対的な効率と精度との分析に基づいて、対象とする領域108中のビデオブロックの中から現在ビデオブロック102を予測するための予測ビデオブロック104を選択し得る。
[0087]ビデオエンコーダ20は、現在ビデオブロック102に対する予測ビデオブロック104のロケーションまたは変位を表す2次元ベクトル106を決定する。2次元ブロックベクトル106は、それぞれ現在ビデオブロック102に対する予測ビデオブロック104の水平変位および垂直変位を表す、水平変位成分112および垂直変位成分110を含む。ビデオエンコーダ20は、2次元ブロックベクトル106を識別または定義する、たとえば、水平変位成分112および垂直変位成分110を定義する1つまたは複数のシンタックス要素を符号化ビデオビットストリーム中に含め得る。ビデオデコーダ30は、2次元ブロックベクトル106を決定するために1つまたは複数のシンタックス要素を復号し、現在ビデオブロック102のための予測ビデオブロック104を識別するために、決定されたベクトルを使用し得る。
[0088]いくつかの例では、2次元ブロックベクトル106の解像度は、整数ピクセルであり、たとえば、整数ピクセル解像度を有するように制約され得る。そのような例では、水平変位成分112および垂直変位成分110の解像度は整数ピクセルであり得る。そのような例では、ビデオエンコーダ20およびビデオデコーダ30は、現在ビデオブロック102のための予測子を決定するために予測ビデオブロック104のピクセル値を補間する必要はない。
[0089]他の例では、水平変位成分112および垂直変位成分110の一方または両方の解像度はサブピクセルであり得る。たとえば、成分112および114のうちの一方は整数ピクセル解像度を有し得、他方はサブピクセル解像度を有する。いくつかの例では、水平変位成分112および垂直変位成分110の両方の解像度はサブピクセルであり得るが、水平変位成分112および垂直変位成分110は異なる解像度を有し得る。
[0090]いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、特定のレベル、たとえば、ブロックレベル、スライスレベル、またはピクチャレベルの適応に基づいて、水平変位成分112および垂直変位成分110の解像度を適応させる。たとえば、ビデオエンコーダ20は、スライスレベルにおいて、たとえば、スライスヘッダ中で、水平変位成分112および垂直変位成分110の解像度が整数ピクセル解像度であるのか整数ピクセル解像度でないのかを示すフラグをシグナリングし得る。水平変位成分112および垂直変位成分110の解像度が整数ピクセル解像度でないことをフラグが示す場合、ビデオデコーダ30は、解像度がサブピクセル解像度であると推論し得る。いくつかの例では、必ずしもフラグであるとは限らない、1つまたは複数のシンタックス要素が、水平変位成分112および/または垂直変位成分110の集合的な解像度または個々の解像度を示すために、ビデオデータのスライスまたは他のユニットごとに送信され得る。
[0091]さらに他の例では、フラグまたはシンタックス要素の代わりに、ビデオエンコーダ20は、水平変位成分112および/または垂直変位成分110の解像度を解像度コンテキスト情報に基づいて設定し得、ビデオデコーダ30は、解像度コンテキスト情報から水平変位成分112および/または垂直変位成分110の解像度を推論し得る。解像度コンテキスト情報は、例として、現在ビデオブロック102を含むピクチャまたはピクチャのシーケンスについての色空間(たとえば、YUV、RGBなど)、特定のカラーフォーマット(たとえば、4:4:4、4:2:2、4:2:0など)、フレームサイズ、フレームレート、または量子化パラメータ(QP)を含み得る。少なくともいくつかの例では、ビデオコーダは、前にコーディングされたフレームまたはピクチャに関係する情報に基づいて、水平変位成分112および/または垂直変位成分110の解像度を決定し得る。このようにして、水平変位成分112の解像度および垂直変位成分110のための解像度は、あらかじめ定義され、シグナリングされ得るか、他のサイド情報(たとえば、解像度コンテキスト情報)から推論され得るか、またはすでにコーディングされたフレームに基づき得る。
[0092]現在ビデオブロック102は、CU、またはCUのPUであり得る。いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラBCに従って予測されるCUをいくつかのPUに分割し得る。そのような例では、ビデオコーダは、CUのPUの各々について、それぞれの(たとえば、異なる)2次元ベクトル106を決定し得る。たとえば、ビデオコーダは、2N×2N CUを2つの2N×N PU、2つのN×2N PU、または4つのN×N PUに分割し得る。他の例として、ビデオコーダは、2N×2N CUを((N/2)×N+(3N/2)×N)PU、((3N/2)×N+(N/2)×N)PU、(N×(N/2)+N×(3N/2))PU、(N×(3N/2)+N×(N/2))PU、4つの(N/2)×2N PU、または4つの2N×(N/2)PUに分割し得る。いくつかの例では、ビデオコーダは2N×2N PUを使用して2N×2N CUを予測し得る。
[0093]現在ビデオブロック102は、ルーマビデオブロック、またはルーマビデオブロックに対応するクロマビデオブロックであり得る。いくつかの例では、ビデオエンコーダ20は、ルーマビデオブロックのための2次元ベクトル106を定義する1つまたは複数のシンタックス要素のみを符号化ビデオビットストリーム中に符号化し得る。そのような例では、ビデオデコーダ30は、ルーマブロックについてシグナリングされた2次元ベクトルに基づいて、ルーマブロックに対応する1つまたは複数のクロマブロックの各々について2次元ベクトル106を導出し得る。
[0094]カラーフォーマット、たとえば、カラーサンプリングフォーマットまたはクロマサンプリングフォーマットに応じて、ビデオコーダは、ルーマビデオブロックに対して、対応するクロマビデオブロックをダウンサンプリングし得る。カラーフォーマット4:4:4はダウンサンプリングを含まず、これは、クロマブロックが水平方向および垂直方向においてルーマブロックと同数のサンプルを含むことを意味する。カラーフォーマット4:2:2は水平方向においてダウンサンプリングされ、これは、ルーマブロックに対してクロマブロック中では水平方向において半数のサンプルがあることを意味する。カラーフォーマット4:2:0は水平方向および垂直方向においてダウンサンプリングされ、これは、ルーマブロックに対してクロマブロック中では水平方向および垂直方向において半分の数のサンプルがあることを意味する。
[0095]ビデオコーダが、対応するルーマブロックのためのベクトル106に基づいてクロマビデオブロックのためのベクトル106を決定する例では、ビデオコーダはルーマベクトルを変更する必要があり得る。たとえば、ルーマベクトル106が、水平変位成分112および/または垂直変位成分110が奇数のピクセルである整数解像度を有し、カラーフォーマットが4:2:2または4:2:0である場合、変換されたルーマベクトルは、対応するクロマブロック中の整数ピクセルロケーションを指さないことがある。そのような例では、ビデオコーダは、対応するクロマブロックを予測するためのクロマベクトルとして使用するためにルーマベクトルをスケーリングし得る。いくつかの例では、ビデオエンコーダ20は、クロマブロックを予測するために使用される変換されたルーマベクトル106が、再構成されない、またはインループフィルタ処理された予測クロマブロックを指さないことがあるように、対象とする領域108を定義するか、または変換されたベクトルをスケーリングし得る。本開示では、クロマブロックのためのベクトルのスケーリングが明示的に言及されない場合、そのようなスケーリングが行われないと仮定されるべきでない。クロマブロックのためのベクトルのスケーリングは、本開示で説明する例において明示的に説明されない場合でも行われ得る(しかし、あらゆる場合において必要であるとは限らない)。
[0096]図3は、ビデオエンコーダ20が、ビデオデータの現在ブロックを予測するためのビデオデータの予測ブロックをそこから選択し得る、対象とする領域を定義するための例示的な技法を示す概念図である。図3によって示されている例では、ビデオエンコーダ20は、ビデオデータの現在ブロック122を予測し、符号化している。ビデオエンコーダ20は、現在ビデオブロック122を予測するために、対象とする領域128内のビデオデータの予測ブロック124を選択する。ビデオエンコーダ20は、現在ビデオブロック122に対する予測ビデオブロック124の変位を示す、水平変位成分132および垂直変位成分130を含む、2次元ベクトル126を決定する。ビデオエンコーダ20は、2次元ベクトル126を定義する符号化ビデオビットストリーム中の1つまたは複数のシンタックス要素を符号化する。
[0097]いくつかの例では、ビデオエンコーダ20は、特にビデオデコーダ30における実装形態および処理の複雑さが低減され得るように、対象とする領域128を定義し、たとえば、高さ、幅、または他の寸法など、対象とする領域のサイズを定義する。そうする際に、ビデオエンコーダ20は、2次元ベクトル126のサイズを限定し得、たとえば、垂直変位成分130および/または水平変位成分132のサイズを限定する。いくつかの例では、ビデオエンコーダ20は、ビデオエンコーダ20およびビデオデコーダ30によるビデオデータ並列処理を可能にするために、対象とする領域128を限定し得る。いくつかの例では、ビデオエンコーダ20は、デブロッキングおよびサンプル適応オフセット(SAO:sample adaptive offset)フィルタ処理などのインループフィルタ処理なしに、ならびにビデオコーダのメモリ要件に過度に負担をかけることまたはそのようなインループフィルタ処理の適用を遅延させることなしに、予測ビデオブロックの使用を可能にするために、対象とする領域128を限定し得る。
[0098]図3に示されているように、現在ビデオブロック122は現在LCU134内にある。図3は、現在LCUの左に隣接する(左)LCU136をも示している。左LCU136は、ピクチャのビデオブロックが、一般に、左上から右下へのラスタ走査順序で符号化されるので、図3に示されている。ピクチャのビデオブロックが異なる順序でコーディングされる例では、左LCU136に関する以下の説明は、現在LCU134の異なる隣接LCUに適用され得る。
[0099]いくつかの例では、ビデオエンコーダ20は、フェッチされた予測ビデオブロック124が現在ビデオブロック122と同じLCU内、すなわち、現在LCU134内にあるように、対象とする領域128を限定し得る。対象とする領域128を現在LCU134に限定することは、ビデオコーダの処理ユニットが、現在LCUのブロックをコーディングするときに別のLCUからの情報を必要としないことがあるので、ビデオコーダによるLCUの並列処理を可能にし得る。
[0100]対象とする領域128が現在LCU134に限定されるいくつかの例では、2次元ベクトル126は、現在ビデオブロック122が現在LCU134の最上ブロックである場合、水平ベクトルに限定され、現在ビデオブロック122が現在LCU134の最左ブロックである場合、垂直ベクトルに限定され得る。そのような例では、ビデオエンコーダ20は、2次元ベクトル126の水平変位成分132を定義する1つまたは複数のシンタックス要素を符号化し得、現在ビデオブロック122が現在LCU134の最上ブロックである場合、ゼロになるであろう、2次元ベクトル126の垂直変位成分130を定義する1つまたは複数のシンタックス要素を符号化する必要はない。同様に、ビデオエンコーダ20は、2次元ベクトル126の垂直変位成分130を定義する1つまたは複数のシンタックス要素を符号化し得、現在ビデオブロック122が現在LCU134の最左ブロックである場合、ゼロになるであろう、2次元ベクトル126の水平変位成分132を定義する1つまたは複数のシンタックス要素を符号化する必要はない。同様に、対象とする領域128が現在LCU134に限定され、現在ビデオブロック122が現在LCU134の左上ユニットである場合、2次元ベクトル126の垂直変位成分130と水平変位成分132の両方はゼロでなければならない。この状況に遭遇するいくつかの例では、ビデオエンコーダ20は、イントラBCを実行しないことがあり、2次元ベクトル126を示すためのシンタックス要素など、イントラBCのためのシンタックス要素、または現在ビデオブロック122がイントラBCに従って予測されるかどうかを示すフラグをシグナリングする必要はない。
[0101]対象とする領域が現在LCUに限定され、現在ビデオブロックが現在LCU内の特定の位置内にあるときにイントラBCのためのシグナリングを低減するためのこれらの技法は、同様に、JCT−VC M0350において提案された技法など、1次元動きベクトルに限定されたイントラBC技法にも適用され得る。たとえば、垂直動きベクトルが現在LCU内にあるように制限され、現在ユニットが最上ユニットである場合、動きが垂直方向であるのか水平方向であるのかをシグナリングする必要はない。
[0102]いくつかの例では、ビデオエンコーダ20は、対象とする領域128が現在LCU134および1つまたは複数の隣接LCU、たとえば、図3に示されているように左LCU136中の再構成されたエリアの一部内にあるように限定し得る。このようにして、ビデオエンコーダ20は、現在LCU134内の再構成されたブロックに加えて、図3に示されているように、左LCU136などの1つまたは複数の隣接LCUの再構成されたエリア中のブロックのみを2次元ベクトル126が参照し得るように、それらを限定する。
[0103]いくつかの例では、ビデオエンコーダ20は、現在LCU134のサイズに基づいて、対象とする領域128のサイズを限定する。たとえば、図3に示されているように、ビデオエンコーダ20は、対象とする領域128が、現在LCU134および左LCU136を越えて垂直方向に延びないように、現在LCU134の高さ(または垂直方向上限)に基づいて、対象とする領域128の高さ138を限定し得る。LCU(またはCTB)のサイズは、ビデオエンコーダ20によって、たとえば、スライスヘッダ、パラメータセット、またはSEIメッセージを介して、符号化ビデオビットストリーム中でビデオデコーダ30にシグナリングされ得、したがって、LCUサイズに基づく対象とする領域に対する限定もビデオデコーダ30に効果的にシグナリングされ得る。いくつかの例では、ビデオエンコーダ20は、整数個のピクセルに基づいて、サイズ、たとえば、対象とする領域128の現在ビデオブロック122の左側の幅140または高さ138を限定する。たとえば、ビデオエンコーダ20は、現在ビデオブロック122の左側の幅140を、LCU134および136の幅に対応し得る、64個など、整数個のピクセルに限定し得る。
[0104]ビデオエンコーダ20は、デブロッキングおよびサンプル適応オフセット(SAO)フィルタ処理などのインループフィルタ処理なしに、再構成されたビデオブロックを含むように、対象とする領域128を限定し得る。このようにして、ビデオエンコーダ20は、現在LCU134に加えて、インループフィルタ処理が実行されなかった、左LCU136などの隣接LCUの再構成されたエリア中のブロックのみをイントラBCのための2次元ベクトルが参照し得るように、それらを限定し得る。ビデオエンコーダ20は、対象とする領域128のサイズを増加させることができるが、そのような増加は、対象とする領域中のビデオブロックのインループフィルタ処理およびさらなる処理を遅延させるか、またはインループフィルタ処理より前にサンプルを記憶するための追加のメモリを必要とし得る。したがって、ビデオエンコーダ20は、予測精度と効率との間のバランスをとるために、たとえば、本明細書で説明するように、対象とする領域128を限定し得る。
[0105]図4は、ビデオデータの現在ブロック260、およびビデオデータの現在ブロックのための候補予測ベクトルがそこから導出され得るビデオデータの隣接ブロック262、264、266の一例概念図である。いくつかの例では、インター予測のためのマージモードまたは高度動きベクトル予測(AMVP)モードと同様に、ビデオコーダは、イントラBCを使用して、隣接ビデオブロック、たとえば、PUを予測するために使用される2次元ベクトルに基づいて、現在ビデオブロック、たとえばPUのための予測2次元ベクトルを決定し得る。図4に示された隣接ブロックは、左隣接ブロック262と、上(above)(上(top))隣接ブロック264と、左上(above-left)(左上(top-left))隣接ブロック266とを含む。図4に示された隣接ブロックは一例である。他の例では、ビデオコーダは、より多くの隣接ブロック、より少ない隣接ブロック、および/またはインター予測のためのマージモードおよびAMVPモードに従って考慮され得る任意の隣接ブロックなど異なる隣接ブロックのベクトルを考慮し得る。
[0106]予測子は、隣接ブロックのうちの選択された隣接ブロックからの2次元ブロックベクトルの水平変位成分および/または垂直変位成分であり得る。いくつかの例では、予測子は、常に、特定の隣接ユニット、たとえば、上隣接ユニットまたは左隣接ユニットからである。いくつかの例では、隣接ブロックのうちのどれが現在PUのための予測2次元ブロックベクトルを与えるかは、PUのインデックスおよび/またはPU形状に基づいて決定される。いくつかの例では、予測子は、複数の隣接ユニットからの2次元ブロックベクトルの水平および/または垂直成分の(平均値または中央値などの)関数であり得る。
[0107]概して、隣接ブロックが予測2次元ベクトルを与えることができない場合、予測2次元ベクトル(または候補予測2次元ベクトル)はゼロまたはデフォルト2次元ベクトルに設定され得る。いくつかの例では、隣接ブロックのベクトルは、隣接ビデオブロックがイントラBCに従って予測されたとき、現在ビデオブロックのための予測ベクトルとして利用可能であるにすぎないことがある。言い換えれば、イントラMCモードを用いてコーディングされない隣接ブロックは、現在ビデオブロックのためのブロックベクトル予測のために利用不可能であると見なされ得る。たとえば、予測子が常に左隣接ブロックからであり、左隣接ブロックがイントラMCモードを用いて予測されたとき、それの2次元ベクトルは予測2次元ベクトルとして使用される。予測子が常に左隣接ブロックからであり、左隣接ブロックが、イントラMCモードを用いて予測されなかったとき、ビデオコーダは、現在ビデオブロックのための予測2次元ベクトルとしてゼロベクトルまたはデフォルトベクトルを使用し得る。
[0108]いくつかの例では、ビデオコーダは、隣接ビデオブロックの2次元ベクトルが、現在ビデオブロック、たとえば、CUまたはPUと同じLCUあるいは他のより大きいまたは最も大きいコーディングユニット中にない場合、隣接ビデオブロックの2次元ベクトルを現在ビデオブロックの2次元ベクトルの予測のために利用不可能であると見なし得る。いくつかの例では、現在ビデオブロック、たとえば、PUまたはCUのための現在2次元ベクトルが現在CUまたはLCUの第1のものである場合、現在ビデオブロックのための予測2次元ベクトルはゼロまたはデフォルト2次元ベクトルに設定され得る。上隣接CUと現在CUとが同じLCU中にない場合、上隣接CUが利用不可能であると見なされることが可能である。また、左隣接CUと現在CUとが同じLCU中にない場合、左隣接CUが利用不可能であると見なされることが可能である。
[0109]いくつかの例では、インター予測のためのマージモードおよびAMVPモードと同様の様式で、ビデオエンコーダ20およびビデオデコーダ30は、いくつかの隣接ブロックのブロックベクトルを含む現在ビデオブロックのための候補予測ベクトルのセットを構成し得る。そのような例では、ビデオエンコーダ20は、現在ビデオブロックのための予測2次元ベクトルを与えるためにどの候補が使用されるかをシグナリングするインデックスを符号化し得、ビデオデコーダ30はそれを復号し得る。いくつかの例では、ビデオコーダは、それぞれ、たとえば、異なる隣接ブロックからの異なる候補ベクトルに基づいて予測2次元ベクトルの水平変位成分および垂直変位成分を決定し得る。そのような例では、ビデオコーダは、それぞれのインデックスを候補リスト水平変位成分および垂直変位成分にコーディングし得る。
[0110]一例として、イントラBCモードに従ってコーディングされた現在CUの場合、それのブロックベクトルをコーディングするために、ビデオコーダは左隣接CUおよび上隣接CUをチェックする。それらのいずれも利用可能でなく、たとえば、イントラBCに従ってコーディングされなかった場合、ビデオコーダは、現在CUの予測2次元ベクトルが(水平成分と垂直成分の両方について)ゼロベクトルであると決定し得る。隣接CUのうちの1つのみが利用可能であり、たとえば、イントラBCによってコーディングされた場合、ビデオコーダは、現在CUの現在2次元ベクトルの予測2次元ベクトルとして利用可能な隣接CUを予測するために使用されたベクトルを使用する。両方の隣接CUが利用可能であり、たとえば、イントラBCによってコーディングされており、それらの2次元ベクトルが同じである場合、この2次元ベクトルは予測2次元ベクトルとして使用される。両方の隣接CUが利用可能であり、たとえば、イントラBCによってコーディングされており、それらのブロックベクトルが異なる場合、ビデオコーダは、上隣接CUからのブロックベクトルが現在CUのための予測2次元ベクトルとして使用されるのか、左隣接CUからのブロックベクトルが現在CUのための予測2次元ベクトルとして使用されるのかを示すためのフラグまたは他のシンタックス要素をコーディングし得る。
[0111]別の例では、ビデオコーダは、(非制限的な例として)セット(−w,0)、(−2w,0)、(−8,0)、(0,0)、(0,8)、(0,−h)、(0,−2h)からであり得る、2つまたはそれ以上のデフォルトブロックベクトルを定義し得、ここで、wおよびhは、現在ビデオブロック、たとえば、CUの幅および高さであり、第1の成分は水平変位であり、第2の成分は垂直変位である。左隣接CUと上隣接CUの両方が利用可能である場合、ビデオコーダは、それらのベクトルを現在CUのための第1および第2の予測2次元ベクトルとして使用し得る。それらの一方が利用可能でない場合、ビデオコーダは、候補予測ベクトルのリスト中の利用不可能な予測ベクトルを置き換えるために、デフォルト予測ベクトルを使用し得る。それらの両方が利用可能でない場合、ビデオコーダは、候補予測ベクトルのリスト中の利用不可能な予測ベクトルを置き換えるために、同じまたは異なり得る2つのデフォルト予測ベクトルを使用し得る。利用不可能な予測ベクトルを候補リスト中のデフォルトベクトルと置き換えることの利点は、ビデオデコーダ30がこのフラグを条件付きでパースする必要がないように、予測子間の選択のためのフラグも符号化ビデオビットストリーム中に含められ得ることである。本明細書では、例について、2つの隣接ブロックから導出される2つの予測ベクトルを含む候補リストに関して説明するが、他の例では、ブロック/ベクトルが利用可能である場合、ビデオコーダは、より多いまたはより少ない隣接ブロックを考慮し、より多いまたはより少ない予測2次元ベクトルを候補リスト中に含め得る。
[0112]いくつかの例では、各LCU中の第1のビデオブロックおよびイントラBCのために使用される対応する2次元ベクトルについて、ビデオコーダは、LCU内の他のブロックおよび関連するベクトルの場合とは異なる、それの予測2次元ベクトルを決定するための導出プロセスを使用し得る。たとえば、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、LCU中の第1のビデオブロックのための予測2次元ベクトルおよびイントラBCのために使用される対応する2次元ベクトルがデフォルト2次元ベクトルであると決定し得る。デフォルト2次元ベクトルは(−w,0)であり得、ここで、wは現在ビデオブロック、たとえば、CUの幅である。他の例では、デフォルト2次元ベクトルは、(−2w,0)、(−8,0)、(0,0)、(0,8)、(0,−h)、(0,−2h)であり得、ここで、wおよびhは、現在ビデオブロック、たとえば、CUの幅および高さである。他の例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、LCU中の第1のビデオブロックのための予測2次元ベクトルと、イントラBCのために使用される対応する2次元ベクトルとを導出し得る。いくつかの例では、ビデオコーダは、LCU中の異なるサイズをもつまたは異なる位置における、ビデオブロック、たとえば、CUの場合とは別様に、LCU中のイントラBCを使用してコーディングされた第1のビデオブロックのための予測2次元ベクトルを導出し得るか、あるいは言い換えれば、LCU中のビデオブロックサイズまたは位置に基づいて、LCU中のイントラBCを使用してコーディングされた第1のビデオブロックのための予測2次元ベクトルを別様に導出し得る。
[0113]いくつかの例では、ビデオコーダは、現在ビデオブロックの2次元ベクトルの水平および垂直成分が、フラグ、シンタックス要素に基づくか、または他の情報に基づき得る(特定の色空間(たとえば、YUV、RGBなど)、特定のカラーフォーマット(たとえば、4:2:0、4:4:4など)、フレームサイズ、フレームレート、または量子化パラメータ(QP)あるいは前にコーディングされたフレームに基づき得る)と決定するために使用される1つまたは複数の方法を選択し得る。
[0114]いくつかの例では、ビデオエンコーダ20は、ビデオブロック、たとえば、CUが、イントラMCまたはイントラBCモードと呼ばれることがある、同じピクチャ中の予測ビデオブロックに基づいて現在ビデオブロックを予測するためのモードを使用して符号化されるかどうかをビデオデコーダ30に示すためのフラグ、たとえば、IntraMC_flagまたはIntraBC_flagを符号化し得る。フラグは、値が、1つまたは複数のCU、あるいは他のブロックまたはユニットが、たとえば、本明細書で説明するようにイントラMCまたはイントラBCモードを使用して符号化されるか否かを示す1ビットフラグであり得る。ビデオコーダは、各ビデオブロック、たとえば、CUまたはPUのためのフラグの値をコーディングし得るか、あるいは、たとえば、スライス内の、またはフレームもしくはピクチャ、またはピクチャのシーケンス内の複数のビデオブロックの各々に対するフラグの値をコーディングし得る。ビデオコーダは、例として、スライスヘッダ、パラメータセット(たとえば、PPS)、またはSEIメッセージ中にフラグをコーディングし得る。
[0115]ビデオコーダは、バイパスモードでフラグをコーディングするか、またはコンテキストを用いてフラグを算術符号化し、たとえば、CABAC符号化し得る。いくつかの例では、ビデオコーダは、隣接ビデオブロックに依存しない単一の固定コンテキストを用いてフラグを算術コーディングし、たとえば、CABAC符号化し得る。他の例では、ビデオコーダは、隣接ビデオブロックから導出されたコンテキストを用いてフラグを算術コーディングし、たとえば、CABAC符号化し得る。
[0116]図4を参照すると、ビデオコーダがCABACコンテキストを使用して現在ビデオブロック260のためのフラグをコーディングしたとき、コンテキストの値は、上(上)隣接ビデオブロック264、左上(左上)隣接ビデオブロック266、または左隣接ビデオブロック262などの隣接ビデオブロックから導出され得る。ビデオコーダは、上隣接ビデオブロック264などの隣接ビデオブロックを、それが現在ビデオブロックと同じLCU内にあるとき、現在ビデオブロックのためのコンテキストを導出するために利用可能であり、隣接ビデオブロックが現在LCUの外側にあるとき、利用不可能であると見なし得る。
[0117]一例として、現在ビデオブロックの場合、ビデオコーダはコンテキスト値=(top IntraMC_flag==0)?0:1+(left IntraMC_flag==0)?0:1を導出し得る。いくつかの例では、ビデオコーダは、常に、隣接ビデオブロック262、264、266のうちの特定の隣接ビデオブロック、たとえば、左隣接ビデオブロック262から現在ビデオブロック260のためのコンテキストを導出し得、現在ビデオブロックのためのコンテキスト値は(left IntraMC_flag==0)?0:1である。いくつかの例では、ビデオコーダは、ビデオブロック、たとえば、CUのサイズに依存するコンテキスト値を使用してフラグをコーディングする。いくつかの例では、異なるサイズをもつビデオブロックは、異なるコンテキスト値を有する。言い換えれば、各ビデオブロック、たとえば、CUのサイズは、それぞれの一意のコンテキスト値に関連し得る。いくつかの例では、異なるあらかじめ定義されたサイズをもついくつかのビデオブロック、たとえば、CUは、同じコンテキスト値を共有し、他のサイズをもつビデオブロックは1つまたは複数の異なるコンテキスト値を使用する。言い換えれば、ビデオコーダは、複数のコンテキスト値の各々を、考えられるビデオブロック、たとえば、CUのサイズのそれぞれのセットまたは(1つまたは複数の)範囲に関連付け得る。
[0118]いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、単項コードに基づいてイントラBCのための2次元ベクトルの水平変位成分および垂直変位成分(たとえば、図2の2次元ベクトル106の水平変位成分112および垂直変位成分110)をコーディングし得る。他の例では、ビデオコーダは、指数ゴロムコードまたはライスゴロムコードに基づいて水平変位成分および垂直変位成分をコーディングし得る。
[0119]いくつかの例では、水平変位成分および垂直変位成分は、現在ビデオブロックの上および左の領域のみを示し得、ビデオコーダは、これらの値のための符号ビットを保持またはコーディングする必要がないことがある。いくつかの例では、ビデオコーダは、現在ビデオブロックの上および左のエリアが現在ビデオブロックに対して正の方向を表し得るように基準系を構成し得る。そのような例では、現在ビデオブロックの上および/または左のビデオブロックのみが候補予測ビデオブロックと見なされる場合、ビデオコーダは、水平変位成分および垂直変位成分のすべての値が正(または負)値を表し、現在ビデオブロックの上および/または左のビデオブロックを示すことがあらかじめ定義され得るので、符号ビットを保持またはコーディングする必要がないことがある。
[0120]いくつかの例では、これらの2次元ベクトルの最大サイズ(または残差2次元ベクトルなど、1つまたは複数の2次元ベクトル間の差)は、上記で説明したように、たとえば、対象とする領域の定義および/またはパイプライン制約により、小さくなり得る。そのような例では、ビデオエンコーダ20は、切捨て値を用いてこれらの2次元ブロックベクトルを2値化し得る。いくつかの例では、ビデオエンコーダ20は、2次元ベクトルをエントロピー符号化する際に、たとえば、2次元ベクトルの水平変位成分および垂直変位成分を符号化する際に、切捨て単項コード、切捨て指数ゴロムコード、または切捨てゴロムライスコードを採用し得る。
[0121]本明細書で説明する様々な切捨て符号化方式のいずれかにおいてビデオエンコーダ20が使用し得る切捨て値は、たとえば、LCUサイズに基づいて一定であり得る。いくつかの例では、切捨て値は、水平変位成分と垂直変位成分とについて同じであり得る。他の例では、切捨て値は、水平変位成分と垂直変位成分とについて異なり得る。
[0122]1つの例示的な例として、LCUのサイズが64、たとえば、64×64であり、たとえば、図3に関して上記で説明したように、2次元ベクトルの垂直成分がLCU内にあると限定される場合、切捨ては、2次元ベクトルの水平成分の場合、63に等しく、2次元ベクトルの垂直成分の場合、63−MinCUSizeに等しくなり得る。いくつかの例では、切捨て値は、LCU内の現在ビデオブロックの位置に応じて適応され得る。たとえば、2次元ベクトルの垂直成分がLCU内にあるように限定される場合、ビデオエンコーダは、ベクトル2値化を現在ビデオブロックの上位置とLCUの上位置との間の差に切り捨てることができる。
[0123]ビデオエンコーダ20は、バイパスモードを使用して2次元ベクトルの水平および垂直成分の2値化をエントロピー符号化し得るか、または、たとえば、CABACコンテキストを用いて、2値化を算術符号化し得る。たとえば、ビデオエンコーダ20は、たとえば、図3に示されているように、予測ビデオブロックの探索を対象とする領域に限定し、2次元ベクトル(MV)の成分の分布はゼロを中心としないことがある。たとえば、MV_xは、(同じ行の)現在ビデオブロック、たとえば、CUの右のピクセルが符号化/再構成されていないので、負になる傾向がある。同様に、MV_yは、(同じ列の)現在ビデオブロック、たとえば、CUの下のピクセルが符号化/再構成されていないので、負になる傾向がある。
[0124]バイパスモードでは、0と1とについて等しい確率を仮定し得る。符号について、これは、バイパスモードが、正または負になる等しい確率を仮定することを意味する。2次元ベクトルの成分は、正または負になる等しい確率を有しないので、ビデオエンコーダ20は、コンテキストを用いて、たとえば0.5以外の初期確率を用いて符号を算術符号化し、たとえば、CABAC符号化し得る。
[0125]ビデオエンコーダ20が2次元ベクトルの水平成分(MV_x)をどのように符号化し得るかについての一例は以下の通りである。MV_xに関して説明するが、本技法はまた、2次元ベクトルの垂直成分(MV_y)、または現在ベクトルと予測ベクトルとの間の差を表す残差2次元ベクトルの水平または垂直成分、たとえば、mvd_xおよびmvd_yを符号化するために適用され得る。
[0126]MV_xは、符号値と、(abs(MV_x)のための)2値化ストリングb0b1...とによって表され得る。第1のビンb0は、abs(Mv_x)>0である場合は(b0=1)、またはabs(Mv_x)>0でない場合は(b0=0)を示す。ビデオエンコーダ20は、コンテキストをもつCABACを使用して第1のビンb0をエンコーダし得る。Mv_xおよびMv_yのためのb0は、別個のコンテキストを有し得るか、または同じコンテキストを共有し得る。いくつかの例では、イントラBCのMVコーディングにおけるi番目のビンは、インター動き補償のブロックベクトルコーディングにおけるi番目のビンと同じコンテキストを共有する。いくつかの例では、イントラBCのMVコーディングにおけるi番目のビンとインター動き補償のブロックベクトルコーディングにおけるi番目のビンとはコンテキストを共有しない。
[0127]後続のビンb1b2...はabs(MV_x)−1の値を表し、ビデオエンコーダ20は、バイパスモードでパラメータ3をもつ指数ゴロムコードを使用してこれらのビンを符号化し得る。いくつかの例では、ビデオエンコーダ20は、指数ゴロムコードの他の次数、たとえば、1、2、4、5を使用する。いくつかの例では、b1は、abs(MV_x)=1である場合は(b1=1)、またはabs(MV_x)=1でない場合は(b1=0)を表す。いくつかの例では、ビデオエンコーダ20は、バイパスモードを用いてまたはCABACコンテキストを用いてb1を符号化し得る。
[0128]いくつかの例では、b2b3...はabs(MV_x)−2の値を表し、ビデオエンコーダ20は、バイパスモードで、パラメータ3をもつ指数ゴロムコードを使用して、または指数ゴロムコードの他の次数を使用して、これらのビンを符号化し得る。最後のビンはMV_xの符号を示し得、ビデオエンコーダ20は、コンテキストを用いずにバイパスモードでこのビンを符号化し得る。他の例では、ビデオエンコーダ20は、1つまたは複数のコンテキストをもつCABACを使用して符号化された符号ビンを符号化し得る。MV_xおよびMV_yの符号ビンは別個のコンテキストを有し得るか、またはそれらが同じコンテキストを共有することが可能である。
[0129]いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30は、イントラBCモードの適用、およびフラグ、ベクトル成分、または他のシンタックスの関連するコーディングを、特定のサイズの、すなわち、特定のサイズ基準を満たすビデオブロックに限定し得る。サイズ基準は、最大ブロックサイズおよび/または最小ブロックサイズ(たとえば、IntraMC_MaxSizeおよびIntraMC_MinSize)の一方または両方であり得る。ビデオエンコーダ20は、たとえば、フラグまたは他のシンタックス要素を使用して、符号化ビデオビットストリーム中で1つまたは複数のサイズ基準をビデオデコーダ30に示し得るか、あるいは、ビデオコーダは、特定の色空間(たとえば、YUV、RGBなど)、特定のカラーフォーマット(たとえば、4:2:0、4:4:4など)、フレームサイズ、フレームレート、量子化パラメータ(QP)など、他の情報に基づいて、または前にコーディングされたフレームに基づいてサイズ基準を暗黙的に決定し得る。たとえば、小さいサイズのためのイントラBCは、システムのメモリ帯域幅要件に影響を及ぼし得、ビデオコーダは、イントラBCをサイズしきい値を上回るブロックに制限するように最小ブロックサイズ基準を適用し得る。
[0130]図5Aおよび図5Bに、2つのPU(すなわちPU0とPU1)に分割されるCUの一例を示す。図5Aおよび図5Bは、HEVC AMVPおよびマージのための空間ネイバー導出の図解イメージを示している。空間ネイバーは、イントラBC AMVPモードまたはイントラBCマージモードのための候補を決定するためになど、ブロックベクトルコーディングのために使用され得る。ビデオエンコーダ20および/またはビデオデコーダ30は、特定のPU(PU0)について、図5Aおよび図5Bに示されている隣接ブロックから空間MV候補を導出し得るが、ブロックから候補を生成する方法は、マージモードおよびAMVPモードについて異なり得る。マージモードでは、ビデオエンコーダ20および/またはビデオデコーダ30は、図5Aに示されている順序を使用して最高4つの空間MV候補を導出し得る。順序は、図5Aに示されているように、左(0)、上(1)、右上(2)、左下(3)、および左上(4)である。
[0131]AVMPモードでは、隣接ブロックは、図5Bに示されているように、2つのグループ、すなわち、ブロック0および1からなる左グループと、ブロック2、3、および4からなる上グループとに分割される。各グループについて、シグナリングされた参照インデックスによって示された参照ピクチャと同じ参照ピクチャを指す隣接ブロック中の潜在的な候補は、そのグループの最終候補を形成するために選定される最高優先順位を有する。すべての隣接ブロックが、同じ参照ピクチャを指すブロックベクトルを含んでいるとは限らない可能性があり得る。したがって、そのような候補が見つけられ得ない場合、第1の利用可能な候補は、最終候補を形成するためにスケーリングされ得、したがって、時間距離差分が補償され得る。
[0132]イントラBCのための現在の技法はいくつかの潜在的な問題を有し得る。一例では、クロマサンプリングフォーマットが4:4:4でない(すなわち、4:2:0または4:2:2のいずれかである)とき、クロマ動き補償ブロックサイズは、2×2と同じくらい小さくなり、したがって、ベースHEVC仕様においてサポートされるような最小ブロックサイズよりも小さくなり得る。参照ブロックにアクセスするとき、ビデオコーダは、一般に、あらかじめ定義されたメモリブロックのユニット(たとえば4×2、8×2)のブロックを読み取る。したがって、ブロックサイズが、あらかじめ定義されたメモリブロックユニットよりも小さい場合、補償において使用されないことがある余分のピクセルがアクセスされ、したがって、メモリアクセス効率が低下する。
[0133]潜在的な問題の別の例として、クロマ成分のためにルーマブロックベクトルを単にスケーリングすることにより、現在CUまたはPU内の領域を指すブロックベクトルが生じ得る。別の例として、ブロックベクトル予測のAMVP様式は、イントラBCの既存の実装形態において十分にサポートされない。
[0134]本開示は、イントラBC予測を改善し得る技法を導入する。本開示の一技法によれば、コード化ビデオデータが4:2:0のクロマサンプリングフォーマットを有するとき、ビデオデコーダ30は、対応するルーマ成分を予測するために使用されるブロックベクトルとは異なる、クロマ成分を予測するためのブロックベクトルを使用し得る。たとえば、第1のルーマ成分のためのブロックベクトルとそれの対応する第1のクロマ成分のためのブロックベクトルとは同じであり得るが、第2のクロマ成分のためのブロックベクトルは、それの対応する第2のルーマ成分のためのブロックベクトルと同じでないことがある。そうではなく、第2のクロマ成分のためのブロックベクトルは、第1のルーマ成分のためのブロックベクトルと同じであり得る。
[0135]ビデオデコーダ30は、ルーマのために使用されるブロックベクトルからクロマのためのブロックベクトルを導出し得る。たとえば、4つのN×N PUに分割された2N×2N CUの場合、ビデオエンコーダ20は、現在CU中の4つのPU/TUについて、コーディング順序で、4つのBV、すなわちBV1、BV2、BV3、およびBV4をシグナリングし得る。本開示の技法によれば、ビデオデコーダ30は、現在CUのルーマ成分のイントラBC予測のために、およびCU全体の複数のクロマブロックのイントラBC予測のための1つの単一のブロックベクトルの導出のために、4つのBVを使用し得る。したがって、4つのPU/TUを含んでいるCUが、複数のPUのクロマブロックのための(BVcとして示される)1つの共通ブロックベクトルを共有し得る。
[0136]ビデオデコーダ30は、4つのルーマブロックベクトルから共通クロマブロックベクトルを生成し、クロマ成分のための動き補償の前に、HEVCバージョン1において行われるようにルーマブロックベクトルをクロマブロックベクトルに変換するか、またはルーマブロックベクトルをクロマブロックベクトルとして直接使用し得る。ビデオデコーダ30は、以下の方法のうちの1つによってルーマブロックベクトルBVLを導出し得る。
1.ビデオデコーダ30は、BV1、BV2、BV3、BV4のうちの最小ブロックベクトルBVLを選択し、たとえばスケーリングによって、BVLをBVcに変換する。説明の目的で、ブロックベクトルBVaは、以下の可能な方法のうちの1つにおいて他のBVbよりも小さいと定義される。
a.BVa(BVa[0])の水平成分がBVbの水平成分よりも小さい場合
b.BVaの水平成分の(値aに関して、|x|として示される)絶対値がBVbの絶対値よりも小さい場合
c.|BVa[0]|+|BVa[1]|が|BVb[0]|+|BVb[1]|のものよりも小さい場合
d.BVa(BVa[1])の垂直成分がBVbの垂直成分よりも小さい場合
2.上記の最小ブロックベクトル選択と同様に、ビデオデコーダ30は、上記で定義したように1つのベクトルが他のベクトルよりも小さいとの様々な定義のうちの1つを用いて、4つのブロックベクトルのうちの最大ブロックベクトルを選択し得る。
3.ビデオデコーダ30は、ルーマブロックベクトルBVLを導出するために4つのルーマブロックベクトルのための水平および垂直成分を平均化することによって、平均ブロックベクトルを決定し得、ここにおいて、+2/−2を加算することの丸めが、平均化中に適用することも適用しないこともある。BVLは、共通クロマブロックベクトルを決定するためにスケーリングされ得る。
4.ビデオデコーダ30は、BVLとしてBV1、BV2、BV3、およびBV4から1つのブロックベクトルを選択し得る。選定されたブロックベクトルは、たとえば、常にBV1、常にBV2など、4つのうちの固定された1つであり得るか、またはビットストリーム中で明示的にシグナリングされ得る。
[0137]本開示の別の技法によれば、コード化ビデオデータが4:2:2のクロマサンプリングフォーマットを有するとき、ビデオデコーダ30は、ルーマのために使用されるBVとは異なる、クロマのためのBVを使用し得る。代わりに、ビデオデコーダ30は、ルーマのために使用される(1つまたは複数の)BVからクロマのために使用されるBVを導出し得る。たとえば、イントラBCは、PU/TUに拡張され、PU/TUが2N×2N CUについてN×Nであると仮定し得、次いで、現在CU中の2つのPU/TUについて、コーディング順序で、2つのBV、すなわちBV1、およびBV2がある。上記で説明した技法と同様に、最小ベクトル、最大ベクトル、または平均ベクトルは、CU全体のクロマブロックのために現在PUの2つのPU/TUの2つのブロックベクトルから生成され得る。
[0138]本開示の一技法によれば、4つのN×NイントラBC PU/TUを用いてコーディングされる2N×2N CUの場合、ビデオデコーダ30は、クロマサンプリングフォーマットが4:4:4でないとき、N×N PU/TUのブロックベクトルから生成された単一のブロックベクトルを用いてクロマ成分を予測し得る。しかしながら、ビデオデコーダ30は、依然として、PUのルーマ成分を予測するために4つの別個のブロックベクトルを使用し得る。たとえば、4つのNXN PUに分割される2N×2N CUの場合、ビデオエンコーダ20は、4つの別個のブロックベクトル、すなわち、CUの各PUのためのブロックベクトルをシグナリングし得る。ビデオデコーダ30は、それらの4つの別個のブロックベクトルを復号し、4つのPUのルーマ成分を予測するために4つの別個のブロックベクトルを使用し得る。しかしながら、4つのPUのクロマ成分について、ビデオデコーダ30は、4つのブロックベクトルのうちの1つを選択し、CUのPUのうちの2つ以上のためのクロマ成分を予測するためにその1つのブロックベクトルを使用し得る。いくつかの事例では、ビデオデコーダ30は、CUのすべての4つのPUのためのクロマ成分を予測するために1つのブロックベクトルを使用し得る。
[0139]別の例では、4つのN×NイントラBC PU/TUを用いてコーディングされる2N×2N CUの場合、ビデオデコーダ30は、クロマサンプリングフォーマットが4:4:4以外であるとき、N×N PU/TUのブロックベクトルから生成された2つのブロックベクトルを用いてクロマ成分を予測し得る。2つのブロックベクトルの各々は、1つのN/2xNブロックまたはNxN/2ブロックを予測するために使用され得る。言い換えれば、2つのブロックベクトルの各々は、CUの4つのPUのうちの2つを予測するために使用され得る。ビデオデコーダ30は、CUのPUの4つのブロックベクトルのうちの少なくとも1つがチェックされ、2つのルーマブロックベクトルがこれらのブロックベクトルに応じて導出されることをチェックし得る。より詳細には、たとえば、4つのブロックベクトルは比較され、他のペアよりも近い距離をもつ2つの隣接ブロックベクトルが選定され得る。
[0140]一例では、dis(BV0、BV1)、dis(BV0、BV2)、dis(BV1、BV3)およびdis(BV2、BV3)が計算される。(1)最小のものは、2N×NまたはN×2Nブロックに結合され得るペアに対応する。たとえば、dis(BV0、BV1)が最小である場合、上の2つのN×Nブロックは2N×Nブロックに結合される。残りのものは、自動的に他の2N×Nブロックになる。(2)最大のものは、2N×NまたはN×2Nブロックに結合されないことがあるペアに対応する。たとえば、dis(BV0、BV1)が最大である場合、左の2つのN×Nブロックは2N×Nブロックに結合される。残りのものは、自動的に他の2N×Nブロックになる。(3)各結合された2N×Nブロックについて、2つのブロックベクトルは、処理され、単一のルーマブロックベクトルを導出する。(4)2つのブロックベクトルの距離は、2つのブロックベクトルBVaおよびBVbのための(BVa[0]−BVb[0])の絶対値+(BVa[1]−BVb[1])の絶対値として単に定義され得る。代替的に、非負値を返す他の距離定義も適用し得る。
[0141]本開示の別の技法によれば、ビデオデータが4:2:0または4:2:2フォーマットに従ってコーディングされたとき、ビデオデコーダ30は、4つのN×N PU/TUの4つのブロックベクトルから1つの動きを導出し得る。一例では、ビデオデコーダ30は、右下ブロック(すなわち右下PU)のためのブロックベクトルを導出し、CUの4つのPUを予測するためにこのブロックベクトルを使用し得る。右下PUのブロックベクトルを選択することによって、ブロックベクトルがCUの別のPUを指さないことが保証され得る。
[0142]他の例では、ビデオデコーダ30は、左下ブロック、右上ブロック、左上ブロックのブロックベクトルが、このCUのクロマブロックのためのブロックベクトルを生成するための唯一のブロックベクトルであるように選択し得る。
[0143]本開示の別の技法によれば、ビデオデータが4:2:2フォーマットに従ってコーディングされたとき、1つのブロックベクトルは2つのブロックベクトルから導出され得る。そのような実装形態では、4つのN×N PUに分割される2N×2N CUの場合、ビデオデコーダ30は、CUの4つのPUの2つを予測するために同じブロックベクトルを使用し得る。一例では、ビデオデコーダ30は、右上PUと左上PUの両方を予測するために右上ブロック(すなわち右上PU)のブロックベクトルを使用し得る。この例では、ビデオデコーダ30は、左下PUと右下PUとを予測するために右下ブロック(すなわち右下PU)のブロックベクトルを使用し得る。別の例では、ビデオデコーダ30は、CUの上の2つのクロマブロックを予測するために左上ブロックのブロックベクトルを使用し、下の2つのクロマブロックを予測するために左下ブロックのブロックベクトルを使用し得る。
[0144]ビデオデータが4:2:0または4:2:2フォーマットに従ってコーディングされたとき、および2N×2N CUが2N×NまたはN×2NイントラBC PU/TUに分割されたとき、ビデオデコーダ30は、異なるブロックベクトルを用いてPU/TUのクロマブロックを予測し得る。本開示の別の技法によれば、ビデオデコーダ30は、2つのルーマブロックベクトルから1つのブロックベクトルを導出し、CU全体の両方のクロマブロックを予測するために1つのブロックベクトルを使用し得る。一例では、ビデオデコーダ30は、CUのクロマブロックのためのブロックベクトルとして、(N×2Nを用いてコーディングされたとき)右ブロックのブロックベクトルを選択するか、または(2N×Nを用いてコーディングされたとき)下ブロックのブロックベクトルを選択し得る。別の例では、ビデオデコーダ30は、CUのクロマブロックを予測するためのブロックベクトルとして、(N×2Nを用いてコーディングされたとき)左ブロックのブロックベクトルを選択するか、または(2N×Nを用いてコーディングされたとき)上ブロックのブロックベクトルを選択し得る。
[0145]ビデオデコーダ30がルーマPUからどのようにブロックベクトルを導出するかにかかわらず(導出されたブロックベクトルをdBVとして示す)、最終クロマブロックベクトルを形成するために、ビデオデコーダ30は、正当なブロックベクトルを生成するために、導出されたルーマブロックベクトルをクリッピングし得る。一例では、ビデオデコーダ30は、クロマブロックベクトルが同じPU/TU内のピクセルを指していない方法でクリッピングを実行し得る。別の例では、ビデオデコーダ30は、クロマブロックベクトルが同じCU内のピクセルを指していない方法でクリッピングを実行し得る。
[0146]2N×2N CUが4つのN×N PUに分割される場合、ビデオデコーダ30は水平クリッピング動作と垂直クリッピング動作とを実行し得る。ビデオデコーダ30は、以下のように水平クリッピングを適用し得る。
水平クリップ:max(−leftW−(CUx%ctbW),dBV[0])であり、ここにおいて、
1.leftWは、たとえば、64のフィックス値であるか、あるいは、現在CTUの幅、またはビットストリーム中で、たとえば、ビデオパラメータセット、シーケンスパラメータセットおよびピクチャパラメータセットなど、高レベルシンタックス中で送信された他の値であり得る。
2.CUxは現在CUの左上ピクセルの水平座標である。
3.ctbWはCTBの幅である。
垂直クリップ:max(−CUy%ctbH,dBV[1])であり、ここにおいて、
1.CUyは現在CUの左上ピクセルの垂直座標である。
2.ctbHはCTBの高さである。
[0147]いくつかの例によれば、ビデオデコーダ30は、たとえば、2N×2N CUがN×2N PUに分割されたとき、水平クリッピングのみを実行するか、または、2N×2N CUが2N×N PUに分割されたとき、垂直クリッピングのみを実行し得る。上記で説明したように、2つのN×Nブロックからの2つのブロックベクトルがN×2Nブロックのために結合されるべきである事例では、ビデオデコーダ30は水平クリッピングのみを適用し得る。上記で説明したように、2つのN×Nブロックからの2つのブロックベクトルが2N×Nブロックのために結合されるべきである事例では、ビデオデコーダ30は垂直クリッピングのみを適用し得る。
[0148]いくつかの実装形態では、上記で説明した様々なプロセスは、特定のCUサイズのためにのみ実装され得る。たとえば、ビデオデコーダ30は、8×8に等しいまたはより小さいCUサイズのための複数のクロマブロックを予測するために、単一のブロックベクトルのみを使用し得る。本明細書で説明する技法は、たとえば、32×32、16×16、または8×8など、あらかじめ定義されたサイズよりも大きくないCUサイズのためにのみ適用され得る。このサイズは、あらかじめ定義され得るか、または代替的に、sps/pps/スライスレベルにおいてシグナリングされ得る。
[0149]図6は、本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの冗長性を低減または除去するために時間予測またはビュー間予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを含み得る。ビデオエンコーダ20はまた、本明細書で説明するように、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測のためのモード、たとえば、イントラBCモードまたはイントラMCモードを利用するように構成され得る。
[0150]図6の例では、ビデオエンコーダ20は、ビデオデータメモリ334と、区分ユニット335と、予測処理ユニット341と、対象領域メモリ364と、フィルタ処理ユニット366と、参照ピクチャメモリ368と、加算器350と、変換処理ユニット352と、量子化処理ユニット354と、エントロピー符号化ユニット356とを含む。予測処理ユニット341は、動き推定ユニット342と、動き補償ユニット344と、イントラ予測処理ユニット346と、イントラブロックコピー(イントラBC)ユニット348とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化処理ユニット358と、逆変換処理ユニット360と、加算器362とを含む。
[0151]様々な例では、ビデオエンコーダ20のユニットは、本開示の技法を実行する役割を担い得る。また、いくつかの例では、本開示の技法は、ビデオエンコーダ20のユニットのうちの1つまたは複数の中で分割され得る。たとえば、イントラBCユニット348は、本開示の技法を、単独で、または、動き推定ユニット342、動き補償ユニット344、イントラ予測処理ユニット346、対象領域メモリ364、およびエントロピー符号化ユニット356など、ビデオエンコーダの他のユニットと組み合わせて実行し得る。
[0152]ビデオデータメモリ334は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ334に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。対象領域メモリ364は、たとえば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ブロックメモリであり得る。ビデオデータメモリ334および対象領域メモリ364は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ334および対象領域メモリ364は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ334は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
[0153]区分ユニット335は、ビデオデータメモリ334からのデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。
[0154]予測処理ユニット341は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの1つ、複数のインターコーディングモードのうちの1つ、または本開示で説明する技法によるイントラBCモードなど、複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット341は、得られた予測ブロックを、残差ブロックデータを生成するために加算器250に与え、たとえば、参照ピクチャとして他のビデオブロックの予測において使用するための現在ブロックを再構成するために加算器262に与え得る。
[0155]予測処理ユニット341内のイントラ予測処理ユニット346は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット341内の動き推定ユニット342および動き補償ユニット344は、たとえば、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実行する。
[0156]動き推定ユニット342は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。動き推定ユニット342および動き補償ユニット344は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット342によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。同様に、本開示の技法によるイントラBCに使用される2次元ベクトルは、同じフレームまたはピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示す。イントラBCユニット348は、インター予測のための動き推定ユニット342による動きベクトルの決定と同様の様式でイントラBCコーディングのための2次元ベクトル、たとえば、ブロックベクトルまたは動きベクトルを決定し得るか、または2次元ベクトルを決定するために動き推定ユニット342を利用し得る。
[0157]たとえば、インター予測またはイントラBC予測のために動き推定ユニット342および/またはイントラBCユニットによって識別される予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、対象領域メモリ364に記憶された現在ピクチャの対象とする領域または参照ピクチャメモリ368に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット342および/またはイントラBCユニット348は、フルピクセル位置と分数ピクセル位置とに対して予測ブロックの探索を実行し、分数ピクセル精度をもつベクトルを出力し得る。
[0158]動き推定ユニット342は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0またはRefPicList0)または第2の参照ピクチャリスト(リスト1またはRefPicList1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ368に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット342は、計算された動きベクトルをエントロピー符号化ユニット356と動き補償ユニット344とに送る。
[0159]動き補償ユニット344によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット344は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。
[0160]いくつかの例では、イントラBCユニット348は、動き推定ユニット342および動き補償ユニット344に関して上記で説明した様式と同様の様式で、2次元ベクトルを生成し、予測ブロックをフェッチし得るが、予測ブロックは現在ブロックと同じピクチャまたはフレーム中にある。他の例では、イントラBCユニット348は、本明細書で説明する技法によるイントラBC予測のためのそのような機能を実行するために、動き推定ユニット342および動き補償ユニット344を全体的または部分的に使用し得る。いずれの場合も、イントラBCでは、予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得る、ピクセル差分に関して、コーディングされるべきブロックとぴったり一致することがわかるブロックであり、ブロックの識別は、サブ整数ピクセル位置の値の計算を含み得る。
[0161]予測ビデオブロックがイントラBC予測に従って同じピクチャからであるのか、インター予測に従って異なるピクチャからであるのかにかかわらず、ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成し得る。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器250は、この減算演算を実行する1つまたは複数の構成要素を表す。イントラBCユニット348および/または動き補償ユニット344はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。シンタックス要素は、たとえば、予測ブロックを識別するために使用されるベクトル、予測モードを示す任意のフラグ、または本開示の技法に関して説明する任意の他のシンタックスを定義する、シンタックス要素を含み得る。
[0162]イントラ予測処理ユニット346は、上記で説明したように、動き推定ユニット342と動き補償ユニット344とによって実行されるインター予測、またはイントラBCユニット348によって実行されるイントラBC予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット346は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット346は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ビデオブロックを符号化し得、イントラ予測処理ユニット346(または、いくつかの例では、予測処理ユニット341)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット346は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット346は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
[0163]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット346は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット356に与え得る。エントロピー符号化ユニット356は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
[0164]予測処理ユニット341が、インター予測、イントラ予測、またはイントラBC予測を介して現在ビデオブロックの予測ブロックを生成した後に、ビデオエンコーダ20は、たとえば加算器350を介して、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つまたは複数のTU中に含まれ、変換処理ユニット352に適用され得る。変換処理ユニット352は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット352は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
[0165]変換処理ユニット352は、得られた変換係数を量子化処理ユニット354に送り得る。量子化処理ユニット354は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化処理ユニット354は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット356が走査を実行し得る。
[0166]量子化の後に、エントロピー符号化ユニット356は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット356は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングあるいは別のエントロピー符号化方法または技法を実行し得る。エントロピー符号化ユニット356は、イントラBCモードによる予測のために、ベクトル成分、フラグ、および他のシンタックス要素を含む、シンタックス要素の2値化および符号化のための本明細書で説明する技法のいずれかを実行し得る。エントロピー符号化ユニット356によるエントロピー符号化の後に、符号化ビデオビットストリームは、ビデオデコーダ30に送信されるか、あるいは後で送信するかまたはビデオデコーダ30よって取り出すためにアーカイブされ得る。
[0167]逆量子化処理ユニット358および逆変換処理ユニット360は、他のビデオブロックの予測のために参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット344および/またはイントラBCユニット348は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット344および/またはイントラBCユニット348はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用し得る。
[0168]加算器362は、再構成されたビデオブロックを生成するために、再構成された残差ブロックを、動き補償ユニット344および/またはイントラBCユニット348によって生成された動き補償予測ブロックに加算する。対象領域メモリ364は、本明細書で説明するように、ビデオエンコーダ20、たとえば、イントラBCユニット348によって、現在ビデオブロックのイントラBCのための対象とする領域の定義に従って、再構成されたビデオブロックを記憶する。対象領域メモリ364は、フィルタ処理ユニット366によってインループフィルタ処理されていない再構成されたビデオブロックを記憶し得る。加算器362は、再構成されたビデオブロックを対象領域メモリ364と並列にフィルタ処理ユニット366に与え得るか、または対象領域メモリ364は、イントラBCのための対象とする領域がもはや必要でないとき、再構成されたビデオブロックをフィルタ処理ユニット366に解放し得る。いずれの場合も、イントラBCユニット348は、現在ビデオブロックを予測するために、対象領域メモリ364中の再構成されたビデオブロックを現在ビデオブロックと同じピクチャ内の予測ビデオブロックについて探索し得る。
[0169]フィルタ処理ユニット366は、再構成されたビデオブロックに対してインループフィルタ処理を実行し得る。インループフィルタ処理は、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するためのデブロックフィルタ処理を含み得る。インループフィルタ処理は、再構成されたビデオを改善するためにSAOフィルタ処理をも含み得る。そのうちのいくつかがインループフィルタ処理され得る、再構成されたブロックは、参照ピクチャとして参照ピクチャメモリ368に記憶され得る。参照ピクチャは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット342および動き補償ユニット344によって予測ブロックとして使用され得る再構成されたブロックを含み得る。
[0170]このようにして、ビデオエンコーダ20は、たとえば、イントラBCモードに従って、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測のための本開示の例示的な技法を実装するように構成され得る。たとえば、ビデオエンコーダ20は、同じピクチャ内のビデオデータの予測ブロックからのビデオデータのブロックのイントラ予測のためのモードを含むビデオデータを符号化する方法を実行するように構成されたビデオエンコーダの一例であり得、本方法は、ビデオデータの現在ブロックと同じピクチャ内のビデオデータの前に符号化されたブロックのセットからビデオデータの現在ブロックのためのビデオデータの予測ブロックを選択することを備える。本方法は、2次元ベクトルを決定することをさらに備え、ここにおいて、2次元ベクトルが水平変位成分と垂直変位成分とを有し、ここにおいて、水平変位成分が、ビデオデータの予測ブロックとビデオデータの現在ブロックとの間の水平変位を表し、垂直変位成分が、ビデオデータの予測ブロックとビデオデータの現在ブロックとの間の垂直変位を表す。本方法は、ビデオデータの現在ブロックとビデオデータの予測ブロックとに基づいて残差ブロックを決定することと、符号化ビデオビットストリーム中で、2次元ベクトルの水平変位成分および垂直変位成分ならびに残差ブロックを定義する1つまたは複数のシンタックス要素を符号化することとをさらに備える。
[0171]ビデオエンコーダ20はまた、符号化ビデオビットストリームを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを備えるビデオエンコーダの一例であり得る。1つまたは複数のプロセッサは、ビデオデータの現在ブロックと同じピクチャ内のビデオデータの前に符号化されたブロックのセットからビデオデータの現在ブロックのためのビデオデータの予測ブロックを選択するように構成される。1つまたは複数のプロセッサは、2次元ベクトルを決定するようにさらに構成され、ここにおいて、2次元ベクトルが水平変位成分と垂直変位成分とを有し、ここにおいて、水平変位成分が、ビデオデータの予測ブロックとビデオデータの現在ブロックとの間の水平変位を表し、垂直変位成分が、ビデオデータの予測ブロックとビデオデータの現在ブロックとの間の垂直変位を表す。1つまたは複数のプロセッサは、ビデオデータの現在ブロックとビデオデータの予測ブロックとに基づいて残差ブロックを決定することと、符号化ビデオビットストリーム中で、2次元ベクトルの水平変位成分および垂直変位成分ならびに残差ブロックを定義する1つまたは複数のシンタックス要素を符号化することとを行うようにさらに構成される。
[0172]図7は、本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図である。図7の例では、ビデオデコーダ30は、ビデオデータメモリ378と、エントロピー復号ユニット380と、予測処理ユニット381と、逆量子化処理ユニット386と、逆変換処理ユニット388と、加算器390と、対象領域メモリ392と、フィルタ処理ユニット394と、参照ピクチャメモリ396とを含む。予測処理ユニット381は、動き補償ユニット382と、イントラ予測処理ユニット384と、イントラブロックコピー(イントラBC)ユニット385とを含む。ビデオデコーダ30は、いくつかの例では、図6からのビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0173]様々な例では、ビデオデコーダ30のユニットは、本開示の技法を実行する役割を担い得る。また、いくつかの例では、本開示の技術は、ビデオデコーダ30のユニットのうちの1つまたは複数の中で分割され得る。たとえば、イントラBCユニット385は、本開示の技法を、単独で、または、動き補償ユニット382、イントラ予測処理ユニット384、対象領域メモリ392、およびエントロピー復号ユニット380など、ビデオデコーダ30の他のユニットと組み合わせて実行し得る。
[0174]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダから、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデータメモリ378は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ378内に記憶されたビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスのネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ378は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。対象領域メモリ392は、たとえば、イントラブロックコーディングモードでビデオデコーダ30によってビデオデータを複号する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ378および対象領域メモリ392は、SDRAMを含むDRAM、MRAM、RRAM、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ378および対象領域メモリ392は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ378は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
[0175]ビデオデコーダ30のエントロピー復号ユニット380は、量子化係数と、インター予測のための動きベクトルと、イントラBC予測のための2次元ベクトルと、本明細書で説明する他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット380は、イントラBCモードによる予測のために、ベクトル成分、フラグ、および他のシンタックス要素を含む、シンタックス要素の2値化および符号化のための本明細書で説明する技法のいずれかの逆を実行し得る。エントロピー復号ユニット380は、予測処理ユニット381にベクトルおよび他のシンタックス要素をフォワーディングする。ビデオデコーダ30は、シーケンスレベル、ピクチャレベル、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信し得る。
[0176]ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット381のイントラ予測処理ユニット384は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとしてコーディングされたとき、予測処理ユニット381の動き補償ユニット382は、エントロピー復号ユニット280から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ396に記憶された参照ピクチャに基づいて、デフォルト構成技法または任意の他の技法を使用して、参照フレームリスト、すなわち、RefPicList0とRefPicList1とを構成し得る。ビデオブロックが、本明細書で説明するイントラBCモードに従ってコーディングされたとき、予測処理ユニット381のイントラBCユニット385は、エントロピー復号ユニット380から受信された2次元ベクトルおよび他のシンタックス要素に基づいて、現在ビデオブロックのための予測ブロックを生成する。予測ブロックは、ビデオエンコーダ20によって定義され、対象領域メモリ392から取り出される現在ビデオブロックと同じピクチャ内の対象とする領域内にあり得る。
[0177]動き補償ユニット382およびイントラBCユニット385は、ベクトルおよび他のシンタックス要素をパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット282は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。同様に、イントラBCユニット385は、現在ビデオブロックがイントラBCモードを使用して予測されたこと、ピクチャのどのビデオブロックが対象とする領域内にあり、対象領域メモリに記憶されるべきであるかを示す対象領域メモリ392のための構成情報、スライスの各イントラBC予測ビデオブロックのための2次元ベクトル、スライスの各イントラBC予測ビデオブロックのためのイントラBC予測ステータス、および現在ビデオスライス中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のうちのいくつか、たとえば、フラグを使用し得る。
[0178]動き補償ユニット382およびイントラBCユニット385はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット382およびイントラBCユニット385は、予測ブロックのサブ整数ピクセルのための補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット382およびイントラBCユニット385は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用し得る。
[0179]逆量子化処理ユニット386は、ビットストリーム中で与えられ、エントロピー復号ユニット380によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(dequantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット388は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0180]動き補償ユニット382またはイントラBCユニット385が、ベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット388からの残差ブロックを動き補償ユニット382およびイントラBCユニット385によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器390は、再構成されたビデオブロックを生成するためにこの加算演算を実行する1つまたは複数の構成要素を表す。
[0181]対象領域メモリ392は、本明細書で説明するように、ビデオエンコーダ20によって現在ビデオブロックのイントラBCのための対象とする領域の定義に従って、再構成されたビデオブロックを記憶する。対象領域メモリ392は、フィルタ処理ユニット394によってインループフィルタ処理されていない再構成されたビデオブロックを記憶し得る。加算器390は、再構成されたビデオブロックを対象領域メモリ392と並列にフィルタ処理ユニット394に与え得るか、または対象領域メモリ392は、イントラBCのための対象とする領域がもはや必要でないとき、再構成されたビデオブロックをフィルタ処理ユニット394に解放し得る。いずれの場合も、イントラBCユニット385は、対象領域メモリ392から現在ビデオブロックのための予測ビデオブロックを取り出す。
[0182]フィルタ処理ユニット394は、再構成されたビデオブロックに対してインループフィルタ処理を実行し得る。インループフィルタ処理は、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するためのデブロックフィルタ処理を含み得る。インループフィルタ処理は、再構成されたビデオを改善するためにSAOフィルタ処理をも含み得る。そのうちのいくつかがインループフィルタ処理され得る、再構成されたブロックは、参照ピクチャとして参照ピクチャメモリ368に記憶され得る。参照ピクチャは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き補償ユニット382によって予測ブロックとして使用され得る再構成されたブロックを含み得る。参照ピクチャメモリ396はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
[0183]このようにして、ビデオデコーダ30は、同じピクチャ内のビデオデータの予測ブロックに基づいてビデオデータの現在ブロックをイントラ予測するための本開示の例示的な技法を実装するように構成され得る。たとえば、ビデオデコーダ30は、同じピクチャ内のビデオデータの予測ブロックからビデオデータのブロックのイントラ予測のためのモードを含むビデオデータを復号する方法を実行するように構成されたビデオデコーダの一例であり得、本方法は、符号化ビデオビットストリーム中で、2次元ベクトルの水平変位成分および垂直変位成分ならびにビデオデータの現在ブロックのための残差ブロックを定義する1つまたは複数のシンタックス要素を受信することと、1つまたは複数のシンタックス要素を復号することとを備える。本方法は、2次元ベクトルの水平変位成分および垂直変位成分を定義する復号されたシンタックス要素に基づいてビデオデータの現在ブロックのためのビデオデータの予測ブロックを決定することと、ここにおいて、ビデオデータの予測ブロックが、ビデオデータの現在ブロックと同じピクチャ内のビデオデータの再構成されたブロックであり、ビデオデータの予測ブロックと残差ブロックとに基づいてビデオデータの現在ブロックを再構成することとをさらに備える。
[0184]ビデオデコーダ30はまた、ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを備えるビデオデコーダの一例であり得る。ビデオデコーダの1つまたは複数のプロセッサは、1つまたは複数のシンタックス要素を復号することと、2次元ベクトルの水平変位成分および垂直変位成分を定義する復号されたシンタックス要素に基づいてビデオデータの現在ブロックのためのビデオデータの予測ブロックを決定することと、ここにおいて、ビデオデータの予測ブロックが、ビデオデータの現在ブロックと同じピクチャ内のビデオデータの再構成されたブロックであり、ビデオデータの予測ブロックと残差ブロックとに基づいてビデオデータの現在ブロックを再構成することとを行うように構成され得る。
[0185]図8は、本開示で説明する技法による、ビデオデータを符号化するための例示的な方法を示すフローチャートである。図8の技法について、ビデオエンコーダ20など、ビデオエンコーダに関して説明する。ビデオエンコーダ20は、コーディングユニットに関連する複数のベクトルから、ピクチャのCUの第1のクロマブロックのためのベクトルを決定する(402)。ビデオエンコーダ20は、ベクトルを使用して第1のクロマ参照ブロックの位置を特定する(404)。第1のクロマ参照ブロックはCUと同じピクチャ中にあり得る。ビデオエンコーダ20は、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測する(406)。ビデオエンコーダ20は、ベクトルを使用して第2のクロマ参照ブロックの位置を特定する(408)。第2のクロマ参照ブロックはCUと同じピクチャ中にあり得る。ビデオエンコーダ20は、第2のクロマ参照ブロックに基づいてコーディングユニットの第2のクロマブロックを予測する(410)。
[0186]ビデオエンコーダ20は、符号化ビデオデータ中に含めるために、ピクチャのCUがイントラブロックコピーモードを使用してコーディングされているという指示と、CUの各ルーマブロックのためのベクトルの指示とを生成する(412)。上記で説明したように、ビデオエンコーダ20は、別個のブロックベクトルを使用してルーマ成分の各々を予測するが、ルーマ成分を予測するために使用される別個のブロックベクトルから決定される共通ブロックベクトルを使用してCUのクロマ成分を予測し得る。したがって、ビデオエンコーダ20は、符号化ビデオデータ中に、CUの各ルーマ成分のための別個のブロックベクトル指示を含め得る。
[0187]図9は、本開示で説明する技法による、ビデオデータを復号するための例示的な方法を示すフローチャートである。図9の技法について、ビデオデコーダ30など、ビデオデコーダに関して説明する。ビデオデコーダ30は、ビデオデータのピクチャのCUがイントラブロックコピーモードを使用してコーディングされていると決定する(420)。ビデオデコーダ30は、コーディングユニットに関連する複数のベクトルから、CUの第1のクロマブロックのためのベクトルを決定する(422)。ビデオデコーダ30は、ベクトルを使用して第1のクロマ参照ブロックの位置を特定する(424)。第1のクロマ参照ブロックはCUと同じピクチャ中にある。ビデオデコーダ30は、第1のクロマ参照ブロックに基づいて第1のクロマブロックを予測する(426)。ビデオデコーダ30は、ベクトルを使用して第2のクロマ参照ブロックの位置を特定する(428)。第2のクロマ参照ブロックはCUと同じピクチャ中にある。ビデオデコーダ30は、第2のクロマ参照ブロックに基づいてCUの第2のクロマブロックを予測する(430)。
[0188]CUは、たとえば、2つまたはそれ以上のPUを含み得、第1のクロマブロックは第1のPUに対応し、第2のクロマブロックは第2のPUに対応する。ビデオデコーダ30は、第1のPUのためのベクトルを取得することによってCUの第2のクロマブロックのためのベクトルを決定し得る。
[0189]一例では、CUは2つまたはそれ以上のPUを含み得、各PUは、関連するベクトルを有する。ビデオデコーダ30は、第1の予測ユニットに関連するベクトルを使用して第1のルーマ参照ブロックの位置を特定し得る。第1のルーマ参照ブロックは第1のPUに対応し得る。ビデオデコーダ30は、第2のPUに関連するベクトルを使用して第2のルーマ参照ブロックの位置を特定し得る。第2の参照ルーマブロックは第2のPUに対応し得る。ビデオデコーダ30は、第1のPUに関連するベクトルを使用して第1のクロマ参照ブロックの位置を特定し、第1のPUに関連するベクトルを使用して第2のクロマ参照ブロックの位置を特定し得る。
[0190]一例では、CUのためのクロマサンプリングフォーマットが4:2:0であるとき、第1のクロマブロックはCUの右下ブロックであり得る。第2のクロマブロックはCUの右上ブロックであり得、ビデオデコーダ30は、ベクトルを使用して第3の参照ブロックの位置を特定し得る。第3の参照ブロックはピクチャ中にあり得る。ビデオデコーダ30は、第1の参照ブロックに基づいて第3のクロマブロックを予測し得る。第3のクロマブロックはCUの左上ブロックであり得る。ビデオデコーダ30は、ベクトルを使用して第4の参照ブロックの位置を特定し、第2の参照ブロックに基づいてCUの第4のクロマブロックを予測し得る。第4の参照ブロックはピクチャ中にあり得、第4のクロマブロックはCUの左下ブロックであり得る。
[0191]一例では、CUのためのクロマサンプリングフォーマットが4:2:2であり得る。第1のクロマブロックは右上ブロックであり得、第2のクロマブロックはCUの左上ブロックであり得る。ビデオデコーダ30は、CUの第3のクロマブロックのための第2のベクトルを決定し、第2のベクトルを使用して第3の参照ブロックの位置を特定し得る。第3の参照ブロックはピクチャ中にあり得る。ビデオデコーダ30は、第3のクロマブロックのための予測子として第3の参照ブロックを使用し得る。ビデオデコーダ30は、ベクトルを使用して第4の参照ブロックの位置を特定し得る。第4の参照ブロックはピクチャ中にあり得る。ビデオデコーダ30は、CUの第4のクロマブロックのための予測子として第4の参照ブロックを使用し得る。
[0192]上記例に応じて、本明細書で説明した技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行され得、全体的に追加、マージ、または除外され得る(たとえば、すべての説明した行為またはイベントが本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実行され得る。
[0193]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0194]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0195]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0196]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0197]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。

Claims (43)

  1. ビデオデータを復号する方法であって、前記方法が、
    前記ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、
    前記コーディングユニットに関連する複数のベクトルから、前記コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、
    前記ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第1のクロマ参照ブロックが前記ピクチャ中にあり、
    前記第1のクロマ参照ブロックに基づいて前記第1のクロマブロックを予測することと、
    前記第1のクロマ参照ブロックの位置を特定するために使用されたのと同じベクトルを使用して、同じコーディングユニットの第2のクロマブロックのための第2のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、および前記第1のクロマ参照ブロックとは異なり、
    前記第2のクロマ参照ブロックに基づいて前記コーディングユニットの前記第2のクロマブロックを予測することと
    を備える、方法。
  2. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、前記第1のクロマブロックが前記コーディングユニットの第1の予測ユニットに対応し、前記第2のクロマブロックが前記コーディングユニットの第2の予測ユニットに対応し、ここにおいて、前記コーディングユニットの前記第1のクロマブロックのための前記ベクトルを決定することが、前記第1の予測ユニットのためのベクトルを取得することを備える、請求項1に記載の方法。
  3. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、各予測ユニットが、関連するベクトルを有し、前記方法が、
    前記コーディングユニットの第1の予測ユニットに関連する前記ベクトルを使用して第1のルーマ参照ブロックの位置を特定することと、
    前記コーディングユニットの前記第2の予測ユニットに関連する前記ベクトルを使用して第2のルーマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第1のクロマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第2のクロマ参照ブロックの位置を特定することと
    をさらに備える、請求項1に記載の方法。
  4. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:0であり、ここにおいて、前記複数のベクトルから決定された前記ベクトルが前記コーディングユニットの右下ブロックに関連する、請求項1に記載の方法。
  5. 前記第2のクロマブロックが前記コーディングユニットの右上ブロックであり、前記方法は、
    前記ベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第1の参照ブロックに基づいて第3のクロマブロックを予測することと、ここにおいて、前記第3のクロマブロックが前記コーディングユニットの左上ブロックであり、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記第2の参照ブロックに基づいて前記コーディングユニットの第4のクロマブロックを予測することと、ここにおいて、前記第4のクロマブロックが前記コーディングユニットの左下ブロックである、
    をさらに備える、請求項4に記載の方法。
  6. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:2であり、ここにおいて、前記第1のクロマブロックが右上ブロックであり、前記第2のクロマブロックが前記コーディングユニットの左上ブロックである、請求項1に記載の方法。
  7. 前記コーディングユニットの第3のクロマブロックのための第2のベクトルを決定することと、
    前記第2のベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第3のクロマブロックのための予測子として前記第3の参照ブロックを使用することと、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記コーディングユニットの第4のクロマブロックのための予測子として前記第4の参照ブロックを使用することと
    をさらに備える、請求項6に記載の方法。
  8. 前記コーディングユニットが残差データを備える、請求項1に記載の方法。
  9. ビデオデータを符号化する方法であって、前記方法は、
    コーディングユニットに関連する複数のベクトルから、ピクチャのコーディングユニットの第1のクロマブロックのためのベクトルを決定することと、
    前記ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第1のクロマ参照ブロックが前記ピクチャ中にあり、
    前記第1のクロマ参照ブロックに基づいて前記第1のクロマブロックを予測することと、
    前記第1のクロマ参照ブロックの位置を特定するために使用されたのと同じベクトルを使用して、同じコーディングユニットの第2のクロマブロックのための第2のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、および前記第1のクロマ参照ブロックとは異なり、
    前記第2のクロマ参照ブロックに基づいて前記コーディングユニットの第2のクロマブロックを予測することと、
    前記符号化ビデオデータ中に含めるために、前記ピクチャの前記コーディングユニットがイントラブロックコピーモードを使用してコーディングされているという指示と、前記コーディングユニットの各ルーマブロックのためのベクトルの指示とを生成することと
    を備える、方法。
  10. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、前記第1のクロマブロックが第1の予測ユニットに対応し、前記第2のクロマブロックが第2の予測ユニットに対応し、ここにおいて、前記コーディングユニットの前記第2のクロマブロックのためのベクトルを決定することが、前記第1の予測ユニットのためのベクトルを取得することを備える、請求項9に記載の方法。
  11. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、各予測ユニットが、関連するベクトルを有し、前記方法が、
    前記第1の予測ユニットに関連する前記ベクトルを使用して第1のルーマ参照ブロックの位置を特定することと、
    前記第2の予測ユニットに関連する前記ベクトルを使用して第2のルーマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第1のクロマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第2のクロマ参照ブロックの位置を特定することと
    をさらに備える、請求項9に記載の方法。
  12. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:0であり、ここにおいて、前記複数のベクトルから決定された前記ベクトルが前記コーディングユニットの右下ブロックに関連する、請求項9に記載の方法。
  13. 前記第2のクロマブロックが前記コーディングユニットの右上ブロックであり、前記方法は、
    前記ベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第1の参照ブロックに基づいて第3のクロマブロックを予測することと、ここにおいて、前記第3のクロマブロックが前記コーディングユニットの左上ブロックであり、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記第2の参照ブロックに基づいて前記コーディングユニットの第4のクロマブロックを予測することと、ここにおいて、前記第4のクロマブロックが前記コーディングユニットの左下ブロックである、
    をさらに備える、請求項12に記載の方法。
  14. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:2であり、ここにおいて、前記第1のクロマブロックが右上ブロックであり、前記第2のクロマブロックが前記コーディングユニットの左上ブロックである、請求項9に記載の方法。
  15. 前記コーディングユニットの第3のクロマブロックのための第2のベクトルを決定することと、
    前記第2のベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第3のクロマブロックのための予測子として前記第3の参照ブロックを使用することと、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記コーディングユニットの第4のクロマブロックのための予測子として前記第4の参照ブロックを使用することと
    をさらに備える、請求項14に記載の方法。
  16. 前記コーディングユニットが残差データを備える、請求項9に記載の方法。
  17. ビデオデータをコーディングするためのデバイスであって、前記デバイスは、
    ビデオデータを記憶するように構成されたメモリと、
    コーディングユニットに関連する複数のベクトルから、前記ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、
    前記コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、
    前記ベクトルを使用して第1のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第1のクロマ参照ブロックが前記ピクチャ中にあり、
    前記第1のクロマ参照ブロックに基づいて前記第1のクロマブロックを予測することと、
    前記第1のクロマ参照ブロックの位置を特定するために使用されたのと同じベクトルを使用して、同じコーディングユニットの第2のクロマブロックのための第2のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、および前記第1のクロマ参照ブロックとは異なり、
    前記第2のクロマ参照ブロックに基づいて前記コーディングユニットの第2のクロマブロックを予測することと
    を行うように構成された1つまたは複数のプロセッサを備えるビデオコーダと
    を備える、デバイス。
  18. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、前記第1のクロマブロックが第1の予測ユニットに対応し、前記第2のクロマブロックが第2の予測ユニットに対応し、ここにおいて、前記コーディングユニットの前記第2のクロマブロックのためのベクトルを決定することが、前記第1の予測ユニットのためのベクトルを取得することを備える、請求項17に記載のデバイス。
  19. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、各予測ユニットが、関連するベクトルを有し、ここにおいて、前記1つまたは複数のプロセッサが、
    前記第1の予測ユニットに関連する前記ベクトルを使用して第1のルーマ参照ブロックの位置を特定することと、
    前記第2の予測ユニットに関連する前記ベクトルを使用して第2のルーマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第1のクロマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第2のクロマ参照ブロックの位置を特定することと
    を行うようにさらに構成された、請求項17に記載のデバイス。
  20. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:0であり、ここにおいて、前記複数のベクトルから決定された前記ベクトルが前記コーディングユニットの右下ブロックに関連する、請求項17に記載のデバイス。
  21. 前記第2のクロマブロックが前記コーディングユニットの右上ブロックであり、ここにおいて、前記1つまたは複数のプロセッサは、
    前記ベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第1の参照ブロックに基づいて第3のクロマブロックを予測することと、ここにおいて、前記第3のクロマブロックが前記コーディングユニットの左上ブロックであり、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記第2の参照ブロックに基づいて前記コーディングユニットの第4のクロマブロックを予測することと、ここにおいて、前記第4のクロマブロックが前記コーディングユニットの左下ブロックである、
    を行うようにさらに構成された、請求項20に記載のデバイス。
  22. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:2であり、ここにおいて、前記第1のクロマブロックが右上ブロックであり、前記第2のクロマブロックが前記コーディングユニットの左上ブロックである、請求項17に記載のデバイス。
  23. 前記1つまたは複数のプロセッサは、
    前記コーディングユニットの第3のクロマブロックのための第2のベクトルを決定することと、
    前記第2のベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第3のクロマブロックのための予測子として前記第3の参照ブロックを使用することと、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記コーディングユニットの第4のクロマブロックのための予測子として前記第4の参照ブロックを使用することと
    を行うようにさらに構成された、請求項22に記載のデバイス。
  24. 前記コーディングユニットが残差データを備える、請求項17に記載のデバイス。
  25. 前記デバイスが、
    マイクロプロセッサと、
    集積回路(IC)と、
    ビデオエンコーダを備えるワイヤレス通信デバイスと
    のうちの1つを備える、請求項17に記載のデバイス。
  26. 前記ビデオコーダがビデオエンコーダを備える、請求項17に記載のデバイス。
  27. 前記ビデオコーダがビデオデコーダを備える、請求項17に記載のデバイス。
  28. ビデオデータをコーディングするための装置であって、前記装置は、
    コーディングユニットに関連する複数のベクトルから、前記ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定するための手段と、
    前記コーディングユニットの第1のクロマブロックのためのベクトルを決定するための手段と、
    同じコーディングユニットの第2のクロマブロックのための第2のクロマ参照ブロックの位置を特定するために、第1のクロマ参照ブロックの位置を特定するために使用されたのと同じベクトルを使用するための手段と、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、および前記第1のクロマ参照ブロックとは異なり、
    前記第1のクロマ参照ブロックに基づいて前記第1のクロマブロックを予測するための手段と、
    前記ベクトルを使用して第2のクロマ参照ブロックの位置を特定するための手段と、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、
    前記第2のクロマ参照ブロックに基づいて前記コーディングユニットの第2のクロマブロックを予測するための手段と
    を備える、装置。
  29. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、前記第1のクロマブロックが第1の予測ユニットに対応し、前記第2のクロマブロックが第2の予測ユニットに対応し、ここにおいて、前記コーディングユニットの前記第2のクロマブロックのためのベクトルを決定するための手段が、前記第1の予測ユニットのためのベクトルを取得するための手段を備える、請求項28に記載の装置。
  30. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、各予測ユニットが、関連するベクトルを有し、前記装置が、
    前記第1の予測ユニットに関連する前記ベクトルを使用して第1のルーマ参照ブロックの位置を特定するための手段と、
    前記第2の予測ユニットに関連する前記ベクトルを使用して第2のルーマ参照ブロックの位置を特定するための手段と、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第1のクロマ参照ブロックの位置を特定するための手段と、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第2のクロマ参照ブロックの位置を特定するための手段と
    をさらに備える、請求項28に記載の装置。
  31. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:0であり、ここにおいて、前記複数のベクトルから決定された前記ベクトルが前記コーディングユニットの右下ブロックに関連する、請求項28に記載の装置。
  32. 前記第2のクロマブロックが前記コーディングユニットの右上ブロックであり、前記装置は、
    前記ベクトルを使用して第3の参照ブロックの位置を特定するための手段と、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第1の参照ブロックに基づいて第3のクロマブロックを予測するための手段と、ここにおいて、前記第3のクロマブロックが前記コーディングユニットの左上ブロックであり、
    前記ベクトルを使用して第4の参照ブロックの位置を特定するための手段と、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記第2の参照ブロックに基づいて前記コーディングユニットの第4のクロマブロックを予測するための手段と、ここにおいて、前記第4のクロマブロックが前記コーディングユニットの左下ブロックである、
    をさらに備える、請求項31に記載の装置。
  33. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:2であり、ここにおいて、前記第1のクロマブロックが右上ブロックであり、前記第2のクロマブロックが前記コーディングユニットの左上ブロックである、請求項28に記載の装置。
  34. 前記コーディングユニットの第3のクロマブロックのための第2のベクトルを決定するための手段と、
    前記第2のベクトルを使用して第3の参照ブロックの位置を特定するための手段と、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第3のクロマブロックのための予測子として前記第3の参照ブロックを使用するための手段と、
    前記ベクトルを使用して第4の参照ブロックの位置を特定するための手段と、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記コーディングユニットの第4のクロマブロックのための予測子として前記第4の参照ブロックを使用するための手段と
    をさらに備える、請求項33に記載の装置。
  35. 前記コーディングユニットが残差データを備える、請求項28に記載の装置。
  36. 1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    コーディングユニットに関連する複数のベクトルから、前記ビデオデータのピクチャのコーディングユニットがイントラブロックコピーモードを使用してコーディングされていると決定することと、
    前記コーディングユニットの第1のクロマブロックのためのベクトルを決定することと、
    同じコーディングユニットの第2のクロマブロックのための第2のクロマ参照ブロックの位置を特定するために、第1のクロマ参照ブロックの位置を特定するために使用されたのと同じベクトルを使用することと、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、および前記第1のクロマ参照ブロックとは異なり、
    前記第1のクロマ参照ブロックに基づいて前記第1のクロマブロックを予測することと、
    前記ベクトルを使用して第2のクロマ参照ブロックの位置を特定することと、ここにおいて、前記第2のクロマ参照ブロックが前記ピクチャ中にあり、
    前記第2のクロマ参照ブロックに基づいて前記コーディングユニットの第2のクロマブロックを予測することと
    を行わせる命令を記憶するコンピュータ可読記憶媒体。
  37. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、前記第1のクロマブロックが第1の予測ユニットに対応し、前記第2のクロマブロックが第2の予測ユニットに対応し、ここにおいて、前記コーディングユニットの前記第2のクロマブロックのためのベクトルを決定することが、前記第1の予測ユニットのためのベクトルを取得することを備える、請求項36に記載のコンピュータ可読記憶媒体。
  38. 前記コーディングユニットが2つまたはそれ以上の予測ユニットを備え、ここにおいて、各予測ユニットが、関連するベクトルを有し、ここにおいて、前記コンピュータ可読記憶媒体が、前記1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    前記第1の予測ユニットに関連する前記ベクトルを使用して第1のルーマ参照ブロックの位置を特定することと、
    前記第2の予測ユニットに関連する前記ベクトルを使用して第2のルーマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第1のクロマ参照ブロックの位置を特定することと、
    前記第1の予測ユニットに関連する前記ベクトルを使用して前記第2のクロマ参照ブロックの位置を特定することと
    を行わせるさらなる命令を記憶する、請求項36に記載のコンピュータ可読記憶媒体。
  39. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:0であり、ここにおいて、前記複数のベクトルから決定された前記ベクトルが前記コーディングユニットの右下ブロックに関連する、請求項36に記載のコンピュータ可読記憶媒体。
  40. 前記第2のクロマブロックが前記コーディングユニットの右上ブロックであり、ここにおいて、前記コンピュータ可読記憶媒体は、前記1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    前記ベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第1の参照ブロックに基づいて第3のクロマブロックを予測することと、ここにおいて、前記第3のクロマブロックが前記コーディングユニットの左上ブロックである、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記第2の参照ブロックに基づいて前記コーディングユニットの第4のクロマブロックを予測することと、ここにおいて、前記第4のクロマブロックが前記コーディングユニットの左下ブロックである、
    を行わせるさらなる命令を記憶する、請求項39に記載のコンピュータ可読記憶媒体。
  41. 前記コーディングユニットのためのクロマサンプリングフォーマットが4:2:2であり、ここにおいて、前記第1のクロマブロックが右上ブロックであり、前記第2のクロマブロックが前記コーディングユニットの左上ブロックである、請求項36に記載のコンピュータ可読記憶媒体。
  42. 前記1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    前記コーディングユニットの第3のクロマブロックのための第2のベクトルを決定することと、
    前記第2のベクトルを使用して第3の参照ブロックの位置を特定することと、ここにおいて、前記第3の参照ブロックが前記ピクチャ中にあり、
    前記第3のクロマブロックのための予測子として前記第3の参照ブロックを使用することと、
    前記ベクトルを使用して第4の参照ブロックの位置を特定することと、ここにおいて、前記第4の参照ブロックが前記ピクチャ中にあり、
    前記コーディングユニットの第4のクロマブロックのための予測子として前記第4の参照ブロックを使用することと
    を行わせるさらなる命令を記憶する、請求項41に記載のコンピュータ可読記憶媒体。
  43. 前記コーディングユニットが残差データを備える、請求項36に記載のコンピュータ可読記憶媒体。
JP2016545317A 2014-01-09 2015-01-09 予測ブロックからのイントラ予測 Pending JP2017508345A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461925647P 2014-01-09 2014-01-09
US61/925,647 2014-01-09
US201461926224P 2014-01-10 2014-01-10
US61/926,224 2014-01-10
US14/592,819 US9883197B2 (en) 2014-01-09 2015-01-08 Intra prediction of chroma blocks using the same vector
US14/592,819 2015-01-08
PCT/US2015/010783 WO2015106078A1 (en) 2014-01-09 2015-01-09 Intra prediction from a predictive block

Publications (2)

Publication Number Publication Date
JP2017508345A true JP2017508345A (ja) 2017-03-23
JP2017508345A5 JP2017508345A5 (ja) 2018-02-01

Family

ID=53496198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545317A Pending JP2017508345A (ja) 2014-01-09 2015-01-09 予測ブロックからのイントラ予測

Country Status (7)

Country Link
US (1) US9883197B2 (ja)
EP (1) EP3092802B1 (ja)
JP (1) JP2017508345A (ja)
KR (1) KR20160106616A (ja)
CN (1) CN105874797B (ja)
BR (1) BR112016015954A2 (ja)
WO (1) WO2015106078A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019129371A (ja) * 2018-01-23 2019-08-01 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
KR20200116502A (ko) * 2018-02-05 2020-10-12 텐센트 아메리카 엘엘씨 비디오 코딩을 위한 방법 및 장치
JP2023052340A (ja) * 2018-11-29 2023-04-11 北京字節跳動網絡技術有限公司 イントラブロックコピーモードとインター予測ツールとの間の相互作用
JP2024020340A (ja) * 2019-02-02 2024-02-14 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶
US12389022B2 (en) 2019-02-02 2025-08-12 Beijing Bytedance Network Technology Co., Ltd. Buffer resetting for intra block copy in video coding
US12568201B2 (en) 2019-07-11 2026-03-03 Beijing Bytedance Network Technology Co., Ltd. Bitstream conformance constraints for intra block copy in video coding

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120140181A (ko) 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
CA2928495C (en) 2013-10-14 2020-08-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
CN105659606B (zh) 2013-10-14 2019-06-18 微软技术许可有限责任公司 用于视频和图像编码和解码的方法、系统和介质
WO2015078304A1 (en) * 2013-11-27 2015-06-04 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
KR102353787B1 (ko) 2014-01-03 2022-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
EP3253059A1 (en) 2014-03-04 2017-12-06 Microsoft Technology Licensing, LLC Block flipping and skip mode in intra block copy prediction
KR102319384B1 (ko) * 2014-03-31 2021-10-29 인텔렉추얼디스커버리 주식회사 템플릿 매칭 기반의 화면 내 픽쳐 부호화 및 복호화 방법 및 장치
JP6341756B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 画像処理装置、画像処理装置の制御方法
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
JP6640751B2 (ja) * 2014-06-19 2020-02-05 ヴィド スケール インコーポレイテッド ブロックベクトル導出を用いるイントラブロックコピー符号化のための方法およびシステム
KR101748620B1 (ko) * 2014-06-20 2017-07-04 성균관대학교산학협력단 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2015194913A1 (ko) * 2014-06-20 2015-12-23 성균관대학교 산학협력단 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2016004850A1 (en) * 2014-07-07 2016-01-14 Mediatek Singapore Pte. Ltd. Method of intra block copy search and compensation range
US10412387B2 (en) 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
MX379020B (es) 2014-09-30 2025-03-11 Microsoft Technology Licensing Llc Reglas para modos de prediccion intra-imagen cuando se habilita el procesamiento paralelo de onda frontal.
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
US9591325B2 (en) * 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US20160345018A1 (en) * 2015-05-19 2016-11-24 Microsoft Technology Licensing, Llc Video encoding and decoding
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
EP3310054A4 (en) * 2015-06-11 2019-02-27 Intellectual Discovery Co., Ltd. METHOD FOR CODING AND DECODING AN IMAGE USING ADAPTIVE DEFLECTION FILTRATION AND DEVICE THEREFOR
WO2017139937A1 (en) * 2016-02-18 2017-08-24 Mediatek Singapore Pte. Ltd. Advanced linear model prediction for chroma coding
CA3025490A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding using affine motion compensation
CN107786874A (zh) * 2016-08-24 2018-03-09 浙江大学 双向的帧内方向性预测方法和装置
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20250184487A1 (en) * 2017-09-20 2025-06-05 Intellectual Discovery Co., Ltd. Method and device for encoding/decoding image, and recording medium having stored bitstream
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11012715B2 (en) * 2018-02-08 2021-05-18 Qualcomm Incorporated Intra block copy for video coding
US10638137B2 (en) 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
US10462483B1 (en) 2018-04-26 2019-10-29 Tencent America LLC Method and apparatus for video coding
US10448025B1 (en) 2018-05-11 2019-10-15 Tencent America LLC Method and apparatus for video coding
CN111869215B (zh) * 2018-05-31 2023-06-06 华为技术有限公司 受限长距离运动矢量预测方法及装置
WO2020016795A2 (en) * 2018-07-17 2020-01-23 Beijing Bytedance Network Technology Co., Ltd. Block size restrictions for visual media coding
US11265579B2 (en) * 2018-08-01 2022-03-01 Comcast Cable Communications, Llc Systems, methods, and apparatuses for video processing
WO2020058893A1 (en) 2018-09-19 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. History based motion vector predictor for intra block copy
US11140404B2 (en) * 2018-10-11 2021-10-05 Tencent America LLC Method and apparatus for video coding
US20200169757A1 (en) * 2018-11-23 2020-05-28 Mediatek Inc. Signaling For Multi-Reference Line Prediction And Multi-Hypothesis Prediction
JP7524188B2 (ja) 2018-12-12 2024-07-29 ヒューマックス・カンパニー・リミテッド 現在ピクチャ参照を用いたビデオ信号処理方法及び装置
US11051035B2 (en) * 2019-02-08 2021-06-29 Qualcomm Incorporated Processing of illegal motion vectors for intra block copy mode in video coding
CN118870034A (zh) 2019-02-19 2024-10-29 数码士有限公司 基于帧内预测的视频信号处理方法和设备
WO2020177661A1 (en) 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Order-based updating for intra block copy in video coding
JP7405861B2 (ja) * 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのための方向に基づく予測
JP7284284B2 (ja) 2019-03-04 2023-05-30 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーの実装形態の態様
CN119094757A (zh) * 2019-03-04 2024-12-06 Lg 电子株式会社 基于帧内块编译的视频或图像编译
US11012686B2 (en) * 2019-03-08 2021-05-18 Tencent America LLC Unified block vector prediction for intra picture block compensation
TWI752438B (zh) * 2019-03-15 2022-01-11 聯發科技股份有限公司 色度殘差縮放之延遲降低方法和裝置
WO2020244536A1 (en) 2019-06-03 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Combined intra and intra-block copy prediction for video coding
WO2020244659A1 (en) 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Interactions between sub-block based intra block copy and different coding tools
WO2020253650A1 (en) 2019-06-16 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Interaction between screen content coding tools and motion information
US11070816B2 (en) 2019-06-18 2021-07-20 Tencent America LLC Conversion of decoded block vector for intra picture block compensation
WO2020259426A1 (en) 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
JP7273339B2 (ja) * 2019-06-24 2023-05-15 日本電信電話株式会社 画像符号化方法、及び画像復号方法
PH12022550024A1 (en) 2019-07-06 2022-11-21 Beijing Bytedance Network Tech Co Ltd Virtual prediction buffer for intra block copy in video coding
CN114175633B (zh) 2019-07-10 2023-12-29 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的样点标识
US11399199B2 (en) * 2019-08-05 2022-07-26 Qualcomm Incorporated Chroma intra prediction units for video coding
CN114208195B (zh) 2019-08-06 2025-06-27 北京字节跳动网络技术有限公司 基于颜色格式的尺寸限制
KR20240040129A (ko) 2019-09-02 2024-03-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 포맷에 기초한 코딩 모드 결정
EP4011076A4 (en) 2019-09-09 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. INTRA-BLOCK COPY ENCODING AND DECODING
WO2021052494A1 (en) 2019-09-21 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Size restriction based for chroma intra mode
JP7442673B2 (ja) 2020-04-10 2024-03-04 北京字節跳動網絡技術有限公司 ビデオコーディングにおけるスキップブロックの変換のための最小許容量子化
WO2022108421A1 (ko) * 2020-11-23 2022-05-27 현대자동차주식회사 적응적 대체 모드를 이용한 영상 부호화 및 복호화 방법
JP2024512785A (ja) * 2021-04-02 2024-03-19 ヒョンダイ モーター カンパニー 適応的空間解像度を有するブロックベクトルを用いるビデオコーディング方法及び装置
EP4409894A1 (en) * 2021-09-30 2024-08-07 Comcast Cable Communications, LLC Video compression using block vector predictor refinement
US12206861B2 (en) * 2022-01-12 2025-01-21 Tencent America LLC Motion vector restriction for out-of-frame boundary conditions
WO2023200241A1 (ko) * 2022-04-12 2023-10-19 한국전자통신연구원 화면내 블록 복사를 이용한 비디오 부호화/복호화를 위한 방법 및 장치
WO2024107210A1 (en) * 2022-11-15 2024-05-23 Google Llc Dc only transform coefficient mode for image and video coding
CN120642333A (zh) * 2022-12-28 2025-09-12 抖音视界有限公司 用于视频处理的方法、装置和介质
KR20260019516A (ko) * 2023-06-20 2026-02-10 엘지전자 주식회사 인트라 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100255754B1 (ko) 1997-08-30 2000-05-01 전주범 이진 형상 신호 부호화 방법
US6091777A (en) 1997-09-18 2000-07-18 Cubic Video Technologies, Inc. Continuously adaptive digital video compression system and method for a web streamer
US5987180A (en) 1997-09-26 1999-11-16 Sarnoff Corporation Multiple component compression encoder motion search method and apparatus
US6665344B1 (en) 1998-06-29 2003-12-16 Zenith Electronics Corporation Downconverting decoder for interlaced pictures
US7110459B2 (en) 2002-04-10 2006-09-19 Microsoft Corporation Approximate bicubic filter
KR100896279B1 (ko) 2005-04-15 2009-05-07 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR100727969B1 (ko) 2005-08-27 2007-06-14 삼성전자주식회사 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
US8681867B2 (en) * 2005-10-18 2014-03-25 Qualcomm Incorporated Selective deblock filtering techniques for video coding based on motion compensation resulting in a coded block pattern value
CN101385356B (zh) 2006-02-17 2011-01-19 汤姆森许可贸易公司 采用帧内预测模式的图像编码方法
US20080031333A1 (en) 2006-08-02 2008-02-07 Xinghai Billy Li Motion compensation module and methods for use therewith
US8259804B2 (en) 2007-01-03 2012-09-04 International Business Machines Corporation Method and system for signal prediction in predictive coding
KR101408698B1 (ko) 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101441905B1 (ko) 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US20110200108A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Chrominance high precision motion filtering for motion interpolation
TWI662797B (zh) 2010-04-13 2019-06-11 Ge影像壓縮有限公司 在樣本陣列多元樹細分中之繼承技術
US8548062B2 (en) 2010-07-16 2013-10-01 Sharp Laboratories Of America, Inc. System for low resolution power reduction with deblocking flag
ES2536202T3 (es) 2010-07-30 2015-05-21 Deutsche Telekom Ag Métodos y aparatos para la sincronización temporal entre un flujo de bits encriptado y la secuencia de vídeo procesada de un descodificador de vídeo exterior
KR20120025111A (ko) * 2010-09-07 2012-03-15 에스케이 텔레콤주식회사 참조 화소들의 특성을 이용하여 예측모드 정보의 전송을 생략할 수 있는 화면 내 예측 부호화/복호화 장치 및 그 방법
EP2617198A1 (de) 2011-01-12 2013-07-24 Siemens Aktiengesellschaft Kompression und dekompression von referenzbildern in einem videokoder
US8711248B2 (en) 2011-02-25 2014-04-29 Microsoft Corporation Global alignment for high-dynamic range image generation
CN102137257B (zh) * 2011-03-01 2013-05-08 北京声迅电子有限公司 基于tms320dm642芯片的嵌入式h.264编码方法
GB2495990A (en) 2011-10-28 2013-05-01 Canon Kk Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set.
WO2013077659A1 (ko) 2011-11-24 2013-05-30 에스케이텔레콤 주식회사 모션 벡터의 예측 부호화/복호화 방법 및 장치
US10015515B2 (en) 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
US20150016533A1 (en) 2013-07-12 2015-01-15 Qualcomm Incorporated Intra motion compensation extensions
WO2015078304A1 (en) * 2013-11-27 2015-06-04 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
US20150271515A1 (en) 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GARY SULLIVAN, JENS-RAINER OHM: "Meeting report of the 14th meeting of the Joint Collaborative Team on Video Coding (JCT-VC), Vienna,", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JPN6018034477, 22 October 2013 (2013-10-22), pages 61 - 62, ISSN: 0003870790 *
M. NACCARI, ET AL.: "HEVC Range extensions test model 5 encoder description", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 15TH, JPN6018034479, 14 December 2013 (2013-12-14), pages 8 - 9, ISSN: 0003870789 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019129371A (ja) * 2018-01-23 2019-08-01 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
JP7208261B2 (ja) 2018-02-05 2023-01-18 テンセント・アメリカ・エルエルシー ビデオ復号化のための方法、装置およびコンピュータプログラム
JP2021513303A (ja) * 2018-02-05 2021-05-20 テンセント・アメリカ・エルエルシー ビデオ復号化のための方法、装置およびコンピュータプログラム
US11252425B2 (en) 2018-02-05 2022-02-15 Tencent America LLC Method and apparatus for video coding
KR102442931B1 (ko) 2018-02-05 2022-09-13 텐센트 아메리카 엘엘씨 비디오 코딩을 위한 방법 및 장치
US11503320B2 (en) 2018-02-05 2022-11-15 Tencent America LLC Method and apparatus for video coding
KR20200116502A (ko) * 2018-02-05 2020-10-12 텐센트 아메리카 엘엘씨 비디오 코딩을 위한 방법 및 장치
JP2023052340A (ja) * 2018-11-29 2023-04-11 北京字節跳動網絡技術有限公司 イントラブロックコピーモードとインター予測ツールとの間の相互作用
JP7618710B2 (ja) 2018-11-29 2025-01-21 北京字節跳動網絡技術有限公司 イントラブロックコピーモードとインター予測ツールとの間の相互作用
US12395671B2 (en) 2018-11-29 2025-08-19 Beijing Bytedance Network Technology Co., Ltd. Interaction between Intra Block Copy mode and inter prediction tools
JP2024020340A (ja) * 2019-02-02 2024-02-14 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶
US12389022B2 (en) 2019-02-02 2025-08-12 Beijing Bytedance Network Technology Co., Ltd. Buffer resetting for intra block copy in video coding
US12568201B2 (en) 2019-07-11 2026-03-03 Beijing Bytedance Network Technology Co., Ltd. Bitstream conformance constraints for intra block copy in video coding

Also Published As

Publication number Publication date
CN105874797A (zh) 2016-08-17
EP3092802B1 (en) 2020-08-12
EP3092802A1 (en) 2016-11-16
US20150195559A1 (en) 2015-07-09
BR112016015954A2 (pt) 2017-08-08
KR20160106616A (ko) 2016-09-12
US9883197B2 (en) 2018-01-30
WO2015106078A1 (en) 2015-07-16
CN105874797B (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
US9883197B2 (en) Intra prediction of chroma blocks using the same vector
US10015515B2 (en) Intra prediction from a predictive block
JP6580562B2 (ja) イントラ予測フィルタリングの無効化
CN113196749B (zh) 用于译码视频数据的方法和设备
JP6767508B2 (ja) ビデオコーディングのためのアフィンモーション予測
KR102447297B1 (ko) 통합된 인트라 블록 복사 및 인터 예측
JP6378433B2 (ja) イントラbcとインター予測の統合のためのamvpおよびマージ候補リスト導出
JP6545667B2 (ja) Hevcにおけるサブ予測ユニット(pu)ベースの時間的動きベクトル予測および3d−hevcにおけるサブpu設計
JP6672145B2 (ja) インター色成分残差予測
JP6608275B2 (ja) ビデオコード化における視差ベクトル予測
US20160219278A1 (en) Sub-prediction unit based advanced temporal motion vector prediction
JP2020503815A (ja) ビデオコーディングのためのイントラ予測技法
JP2020536443A (ja) ビデオコーディングのためのアフィン予測動き情報をコーディングすること
JP2018521539A (ja) ビデオデータの特定のピクチャ内のインターコーディングのための探索範囲決定
JP2017523685A (ja) イントラブロックコピーイングのためのブロックベクトルコーディング
CN107251556A (zh) 用于运动搜索中低复杂度四分之一像素产生的方法及设备
NZ715952B2 (en) Intra prediction from a predictive block using displacement vectors
HK1216961B (zh) 使用位移向量从预测性块的帧内预测

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190402