JP2015515227A - ビデオコーディングのためのビュー間予測のための視差ベクトル生成 - Google Patents

ビデオコーディングのためのビュー間予測のための視差ベクトル生成 Download PDF

Info

Publication number
JP2015515227A
JP2015515227A JP2015507229A JP2015507229A JP2015515227A JP 2015515227 A JP2015515227 A JP 2015515227A JP 2015507229 A JP2015507229 A JP 2015507229A JP 2015507229 A JP2015507229 A JP 2015507229A JP 2015515227 A JP2015515227 A JP 2015515227A
Authority
JP
Japan
Prior art keywords
block
adjacent block
current block
mer
adjacent
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
JP2015507229A
Other languages
English (en)
Other versions
JP2015515227A5 (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 JP2015515227A publication Critical patent/JP2015515227A/ja
Publication of JP2015515227A5 publication Critical patent/JP2015515227A5/ja
Pending legal-status Critical Current

Links

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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Landscapes

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

Abstract

一例で、ビデオコーダ(例えば、ビデオエンコーダまたはビデオデコーダ)は、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用してコーディングされていると判断することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルをコーディングすることとを行うように構成される。このようにして、本開示の技法は、包含ブロック内のブロックが並列にコーディングされることを可能にし得る。【選択図】図8

Description

関連出願
[0001] 本出願は、その内容全体が参照により本明細書に組み込まれる、2012年4月20日に出願された米国仮出願第61/636,554号の利益を主張する。
[0002] 本開示は、ビデオコーディングに関する。
[0003] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,Advanced Video Coding(AVC)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。HEVCが、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている。HEVCのドラフトは、http://phenix.int−evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC−H1003−v22.zipから入手可能である。H.264/AVCは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されている、Scalable Video Coding(SVC)およびMultiview Video Coding(MVC)の拡張を含む。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004] ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ(intra-picture))予測および/または時間的(インターピクチャ(inter-picture))予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(例えば、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU:coding units)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ(reference pictures)中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレーム(reference frames)と呼ばれることがある。
[0005] 空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数(residual transform coefficients)が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数(quantized transform coefficients)は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディング(entropy coding)が適用され得る。
[0006] 概して、本開示は、来たるべき高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格の技法を行うように構成されたコーデックなどのアドバンストコーデックに基づくマルチビュービデオコーディングに関する技法について説明する。そのようなアドバンストコーデックは、HEVCに従って2つ以上のビューをコーディングするように構成されることがあり、こうしたビューの画像が実質的に同時にレンダリングされて、3次元(3D)ビデオ効果をもたらすことができる。より具体的には、本開示は、視差動きベクトル生成(disparity motion vector generation)に関する技法について説明する。
[0007] 一例で、ビデオデータを復号する方法は、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトル(disparity motion vector)を使用して符号化されていると判断することと、現在のブロック(current block)の隣接ブロック(neighboring block)も包含ブロック(containing block)内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子(disparity motion vector predictor)を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを復号することとを含む。
[0008] 別の例で、ビデオデータを復号するためのデバイスは、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを復号することとを行うように構成されたビデオデコーダを含む。
[0009] 別の例で、ビデオデータを復号するためのデバイスは、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断するための手段と、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替するための手段と、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択するための手段と、視差動きベクトル予測子に基づいて視差動きベクトルを復号するための手段とを含む。
[0010] 別の例で、コンピュータ可読記憶媒体は、実行されたとき、1つまたは複数のプロセッサに、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを復号することとを行わせる命令を記憶している。
[0011] 別の例で、ビデオデータを符号化する方法は、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを符号化することとを含む。
[0012] 別の例で、ビデオデータを符号化するためのデバイスは、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを符号化することとを行うように構成されたビデオエンコーダを含む。
[0013] 1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、並びに特許請求の範囲から明らかになろう。
ビュー間予測(inter-view prediction)のための視差ベクトルを生成するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 ビュー間予測のための視差ベクトルを生成するための技法を実装し得るビデオエンコーダの一例を示すブロック図。 ビュー間予測のための視差ベクトルを生成するための技法を実装し得るビデオデコーダの一例を示すブロック図。 例示的なマルチビュービデオコーディング(MVC)の予測パターンを示す概念図。 現在の予測ユニット(PU:prediction unit)並びに空間的に隣接するブロックA0、A1、B0、B1、およびB2の例を示すブロック図。 様々なピクチャグループ(GOP:groups of pictures)のピクチャを示す、ピクチャが様々なタイプを有する概念図。 一連のブロックにおける動きデータ圧縮を示す概念図。 PUを含む動き推定範囲(MER:motion estimation range)の外での代替の例を示す概念図。 視差ベクトルが確認されるPUの一例を示す概念図。 PUを含むMERの外での代替の代替例を示す概念図。 PUの視差ベクトルに関する1つまたは複数の候補ブロックがPUを含むCU内にある例を示す概念図。 視差生成ブロックユニットのための視差ベクトル生成の一例を示す概念図。 1つの領域として結合されたときの隣接ブロックの走査順序の例を示す概念図。 時間的視差ベクトル確認(temporal disparity vector checking)のための例示的な方法を示す概念図。 本開示の技法による、視差動きベクトルを符号化するための例示的な方法を示すフローチャート。 本開示の技法による、視差動きベクトルを復号するための例示的な方法を示すフローチャート。
詳細な説明
[0030] 概して、ビデオコーディングで、ビデオコーダは、空間的予測(またはイントラ予測)または時間的予測(またはインター予測)のいずれかを使用して、シーケンス中のピクチャを予測コーディングする。3次元(3D)効果を達成するために、2つ(またはそれ以上)のピクチャが実質的に同時に提示されてよく、それにより、異なるビューからの異なるピクチャが観察者の両目の各々によって認識される。特定のカメラアングルまたは水平カメラ位置に対応するシーケンス中のピクチャは、3Dビデオデータのビューを指す。3Dビデオコーディングで、ピクチャは、時間的予測の追加または代替としてビュー間予測され得る。
[0031] ISO/IEC Moving Picture Experts Group(MPEG)とITU−T Video Coding Experts Group(VCEG)とのJoint Collaborative Team on Video Coding(JCT−VC)における高効率ビデオコーディング(HEVC)に関するビデオコーディングの規格化の継続的取り組みがある。HEVCのワーキングドラフトは、JCTVC−H1003、「High efficiency video coding (HEVC) text specification draft 6」、第8回会議:サンノゼ、カリフォルニア、米国、2012年2月に記載されており、http://phenix.int−evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC−H1003−v22.zipで入手可能である。
[0032] 本開示の技法は一般に、3DVとも呼ばれるHEVCベースの3Dビデオコーディングに関する。特に、本開示は、3DVにおけるビュー合成モードを可能にするための技法を提供する。以下でさらに詳細に説明するように、HEVCでは、ビデオエンコーダおよびビデオデコーダなどのビデオコーダが、コーディングユニット(CU)と呼ばれるブロックベースのユニットを使用してピクチャをコーディングする。CUは、様々なコーディングモードを使用してコーディングされ得る。
[0033] 視差補償予測(DCP:disparity-compensated prediction)と呼ばれる1つのコーディングモードでは、(CUまたはCUの予測ユニット(PU)などの)ビデオデータのブロックが、視差ベクトルを使用して予測され得る。視差ベクトルは、同じ時間インスタンスからの異なるビューにおけるぴったり一致するブロックを、現在のCUを含むピクチャとして識別できる。「視差(Disparity)」は一般に、オブジェクトの画像をキャプチャまたは生成するときにカメラパースペクティブ(camera perspectives)の水平オフセットによって生じた1つのシーンにおける本質的に同じオブジェクトの2つのブロックの水平オフセットを指す。視差ベクトルは一般に、異なるビューにおけるピクチャに対するCUまたはCUのPUをコーディングするために使用されるベクトルに対応する。
[0034] 視差ベクトル構成を行うための従来のHEVC技法は、いくつかの問題に遭遇している。例えば、動き推定領域(MER)が使用されるとき、空間的視差ベクトル(spatial disparity vector)を得るために使用される空間的隣接ブロックが、同じMER中にあるために利用不可能である可能性がある。この場合、最後の視差ベクトルは、利用不可能であるか、またはさほど正確ではないかのいずれかであり得る。また、いくつかのビュー間予測技法、例えば残差予測がCUレベルで行われ、いくつかのビュー間予測技法、例えば動き予測がPUレベルで行われる。そのため、視差ベクトル生成は、ブロックユニットの異なるレベルに適用される異なるビュー間予測技法に起因して、複数回行われる必要があり得る。視差動きベクトル予測が行われているCUまたはPUをMERが含むときに、MERが包含ブロックと呼ばれることがあり、視差動きベクトル予測が行われているPUをCUが含むときに、CUが包含ブロックと呼ばれることがある。
[0035] その上、視差ベクトル構成がPUごとに必要とされる可能性があっても、このPUの時間的視差ベクトル(temporal disparity vectors)は、同じCU中の他のPUの時間的視差ベクトルと同様であり得る。さらに、時間的視差ベクトルを確認するとき、多数のPUが確認され得る。ビュー間参照ピクチャ(inter-view reference picture)のブロックが時間的と見なされ得るときでも、動きベクトルは必ずしも16×16ブロックユニットとして圧縮されるとは限らない。
[0036] 本開示の技法は、これらの問題のうちの1つまたは複数を克服することを目的とする。これらの技法は、現在の視差ベクトル生成技法を簡略化しかつ統一できる。いくつかの例で、MERが使用され、MERがPUよりも大きいとき、PUのビュー間予測は、現在のMERに隣接するブロックの空間的視差ベクトルに基づき得る。いくつかの例で、ビュー間予測がPUレベルで行われるときでも、視差ベクトル生成は、PUを包含するCUのために行われ得る。いくつかの例では、PUのためのより正確な視差ベクトルを生成するために、CUレベルで生成された視差ベクトルが改良され得る。改良は、現在のPUを包含するCUの空間的隣接ブロックをさらに確認することによってのみ起こり得る。代替または追加として、改良は、現在のPUを包含するMERの空間的隣接ブロックをさらに確認することのみによって起こり得る。代替または追加として、改良は、現在のPUの空間的隣接ブロックをさらに確認することのみによって起こり得る。
[0037] 図1は、ビュー間予測のための視差ベクトルを生成するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス(destination device)14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス(source device)12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0038] 宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例で、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0039] いくつかの例で、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例で、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続(standard data connection)を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0040] 本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例で、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0041] 図1の例で、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス32を含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、ビュー間予測のための視差ベクトルを生成するための本技法を適用するように構成され得る。他の例で、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。例えば、ソースデバイス12は、外部カメラなどの、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0042] 図1の図示のシステム10は一例にすぎない。ビュー間予測のための視差ベクトルを生成するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって行われ得る。概して、本開示の技法はビデオ符号化デバイスによって行われるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても行われ得る。さらに、本開示の技法は、ビデオプリプロセッサによっても行われ得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例で、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0043] ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、予めキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。但し、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0044] コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例で、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、宛先デバイス14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。従って、様々な例で、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0045] 宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、例えば、GOPの特性および/または処理を記述するシンタックス要素(syntax elements)を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0046] ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格もしくは工業規格、またはそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、MPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様で、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0047] ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様で、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書でH.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
[0048] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を行い得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、該当のデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0049] JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0050] 概して、HMの作業モデルは、ビデオフレームまたはピクチャが、「コーディングツリーユニット」または「CTU」とも呼ばれる、ルーマサンプル(luma sample)とクロマサンプル(chroma sample)の両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノード(leaf nodes)を含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0051] 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とも呼ぶ。
[0052] CUは、CUがサイズの差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、もしくはTU、または他の規格のコンテキストにおける同様のデータ構造(例えば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0053] CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、かつ形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、例えば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、例えば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形(例えば、矩形)であり得る。
[0054] HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例で、CUに対応する残差サンプルは、「残差クワッドツリー」(RQT:residual quad tree)として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
[0055] リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。例えば、PUがイントラモード符号化されるとき、PUについてのデータは、PUに対応するTUについてのイントラ予測モードを記述するデータを含み得る残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4ピクセル精度または1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(例えば、リスト0、リスト1、またはリストC)を記述し得る。
[0056] 1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。例えば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値をTUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUの対応するリーフTUとコロケートされ得る。いくつかの例で、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0057] さらに、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0058] ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、該当のスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、かつ指定のコーディング規格に応じてサイズが異なり得る。
[0059] 一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分で、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。従って、例えば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0060] 本開示で、「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に等しいとは限らない。
[0061] CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域(pixel domain)とも呼ばれる)空間領域(spatial domain)において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、例えば、残差ビデオデータへの離散コサイン変換(DCT:discrete cosine transform)、整数変換(integer transform)、ウェーブレット変換(wavelet transform)、または概念的に同様の変換の適用後に、変換領域(transform domain)において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数(transform coefficients)を生成し得る。
[0062] 変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を行い得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度(bit depth)を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、但し、nはmよりも大きい。
[0063] 量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む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が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0064] CABACを行うために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを行うために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボル(more probable symbols)に対応し、より長いコードが劣勢シンボル(less probable symbols)に対応するように構成され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワード(equal-length codewords)を使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられたコンテキストに基づき得る。
[0065] ビデオエンコーダ20およびビデオデコーダ30は、本開示の技法のいずれかまたはすべてを行うように構成され得る。例えば、ビデオエンコーダ20およびビデオデコーダ30は、動き推定領域(MER)を使用して並列にビデオデータをコーディングするように構成され得る。本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30が、現在コーディングされているPUよりも大きいMERを使用するとき、ビデオエンコーダ20およびビデオデコーダ30は、現在のMER内のブロックではなく、そのMERに隣接するブロックの空間的視差ベクトルに基づいてPUのビュー間予測を行うように構成され得る。そのような技法の例が、図8〜図10に関して以下でより詳細に説明される。
[0066] 追加または代替として、ビデオエンコーダ20およびビデオデコーダ30が、PUレベルでビュー間予測を行うように構成されるとき、それでもビデオエンコーダ20およびビデオデコーダ30は、PUを包含するCUのための視差ベクトル生成を行い得る。そのような技法の例が、図11に関して以下でより詳細に説明される。同様に、ビデオエンコーダ20およびビデオデコーダ30は、PUのためのより正確な視差ベクトルを生成するために、CUレベルで生成された視差ベクトルを改良するように構成され得る。例えば、ビデオエンコーダ20およびビデオデコーダ30は、改良のために、現在のPUを包含するCUの空間的隣接ブロックを確認できる。別の例として、ビデオエンコーダ20およびビデオデコーダ30は、改良のために、現在のPUを包含するMERの空間的隣接ブロックを確認できる。また別の例として、ビデオエンコーダ20およびビデオデコーダ30は、改良のために、現在のPUの空間的隣接ブロックを確認できる。
[0067] 従って、ビデオエンコーダ20は、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化するように構成され得る。例えば、ビデオエンコーダ20は、ビュー間予測を使用して現在のブロックを符号化することが最良の、または少なくとも許容できるレートひずみ最適化(RDO:rate-distortion optimization)特性をもたらすと判断し得る。その上、現在のブロックは、動き推定領域(MER)などの包含ブロック内で生じ得る。代替として、現在のブロックは、CU内で生じるPUを備え得る。
[0068] いずれの場合にも、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、ビデオエンコーダ20は、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替できる。すなわち、動きベクトル符号化(例えば、ビュー間予測の場合の視差動きベクトル符号化)を行う目的で、ビデオエンコーダ20は、動きベクトル予測子候補のリストを含む候補リストを構成できる。概して、ビデオエンコーダ20は、リストに含める候補動きベクトル予測子として、現在のブロックの空間的隣接ブロックおよび/または時間的隣接ブロックから動きベクトルを選択できる。本開示の技法によれば、ビデオエンコーダ20は、包含ブロック内のビデオデータの並列符号化(および同様に、並列復号)を可能にするために、包含ブロック内のブロックの動きベクトルを、包含ブロック外のブロックの動きベクトルで代替できる。
[0069] ビデオエンコーダ20は次いで、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択できる。例えば、ビデオエンコーダ20は、(例えば、ベクトル差分計算によって割り出されるような)現在のブロックの視差動きベクトルと最もぴったり一致するリスト中の候補動きベクトル予測子のうちの1つを選択できる。ビデオエンコーダ20は次いで、視差動きベクトル予測子に基づいて視差動きベクトルを符号化できる。例えば、ビデオエンコーダ20は、マージモード(merge mode)または高度動きベクトル予測(AMVP:advanced motion vector prediction)技法を使用して視差動きベクトルを符号化し得る。
[0070] マージモードで、ビデオエンコーダ20は、動き情報の取り出し元になる隣接ブロックを識別するマージインデックス値を、その隣接ブロックの動き情報を現在のブロックに関する動き情報としてビデオデコーダ30に使用させるために、シグナリングできる。本開示の技法によれば、シグナリングされた隣接ブロックが包含ブロックの外にある場合、そのようなシグナリングは、ビデオデコーダ30に、現在のブロックに関する動き情報として使用するために、代替ブロックに関する動き情報を取り出すことを促し得る。マージインデックスに対応するブロックから継承された動き情報は、参照ピクチャリストと参照ピクチャに対応する参照ピクチャインデックスとをさらに含み得る。HEVCに対する高レベルシンタックス(HLS)のみの拡張を利用するために、ビデオエンコーダ20は、長期参照ピクチャとしてビュー間参照ピクチャを、および短期参照ピクチャとしてビュー内参照ピクチャ(intra-view reference pictures)をシグナリングするように構成されてよく、この場合に参照ピクチャインデックスおよび参照ピクチャリストのシグナリングは、単一のビューコーディングのためのHEVCの技法と実質的に同じまたは同一のままであり得る。
[0071] AMVPで、ビデオエンコーダ20は、マージモードの場合のマージインデックスと実質的に同じ方法で隣接ブロックに対応し得る、動き情報の取り出し元になる隣接ブロックを識別するAMVPインデックスをシグナリングできる。但し、ビデオエンコーダ20はさらに、視差動きベクトルとAMVPインデックスに対応するブロックの動きベクトル予測子との間の差分を表す動きベクトル差分値を符号化できる。本開示の技法によれば、AMVPインデックスが、同じく包含ブロック内にある現在のブロックの隣接ブロックに対応するとき、動きベクトル予測子を定義する動き情報は、実際には、包含ブロック外のブロックから取り出され得る。ビデオエンコーダ20はまた、参照ピクチャリストと参照インデックスとを表すデータをシグナリングし得る。その上、ビデオデコーダ30は、視差動きベクトルを使用して現在のブロックを符号化できる。
[0072] 従って、ビデオデコーダ30は、ビデオエンコーダ20の技法とは実質的に逆の技法を行うように構成され得る。例えば、ビデオデコーダ30は、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを復号することとを行うように構成され得る。
[0073] 例えば、ビデオデコーダ30は、現在のブロックが視差動きベクトルを使用して符号化されていることを示すシグナリングデータを受信し得る。ビデオデコーダ30はさらに、包含ブロック内の現在のブロックの位置、並びに現在のブロックの隣接ブロックの位置を、候補リストに隣接ブロックを追加するか、または包含ブロックの外にあって包含ブロックに隣接するブロックを追加するかを決定するために、判断できる。
[0074] ビデオデコーダ30は、視差動きベクトルを復号するために隣接ブロックのうちのいずれを使用するかを識別する識別子(例えば、マージインデックスまたはAMVPインデックス)を受信し得る。本開示の技法によれば、シグナリングされた隣接ブロックが、現在のブロックを包含する包含ブロック内にある場合、ビデオデコーダ30は、実際には、包含ブロックの外にある包含ブロックの隣接ブロックから動き情報を取り出し得る。ビデオデコーダ30は次いで、識別子に対応するブロックから取り出された動きベクトル予測子を使用して視差動きベクトルを復号できる。同様に、ビデオデコーダ30は、視差動きベクトルを使用して現在のブロックを復号できる。
[0075] ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0076] 図2は、ビュー間予測のための視差ベクトルを生成するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックの時間的イントラコーディングと時間的インターコーディングとビュー間コーディングとを行い得る。時間的イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。時間的インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。ビュー間コーディングは、パースペクティブによって水平にシフトされ得る別のビューからのピクチャの冗長性を低減または除去するためにビュー間予測に依拠する。時間的イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などの時間的インターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。ビュー間モードは、視差動きベクトルまたは他のそのようなビュー間コーディング技法の使用を指し得る。一般に、ビュー間予測は、時間的インターコーディングと実質的に同様の方法で行われ得る。
[0077] 図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例で、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーエンコーディングユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、パーティションユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクト(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(deblocking filter)(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
[0078] 符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディング(時間的かビュー間か)を行う。イントラ予測ユニット46は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを行い得る。ビデオエンコーダ20は、例えば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを行い得る。
[0079] その上、パーティションユニット48は、前のコーディングパスにおける前の区分方式(previous partitioning schemes)の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、パーティションユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(例えば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、LCUをサブCUに区分することを示す4分木データ構造をさらに生成し得る。4分木のリーフノードCUは、1つまたは複数のPUおよび1つまたは複数のTUを含み得る。
[0080] モード選択ユニット40は、例えば、誤差結果に基づいて、コーディングモード、(時間的イントラコーディング、時間的インターコーディング、またはビュー間コーディング)のうちの1つを選択でき、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされた(時間的またはビュー間)ブロックを加算器50に与え、かつ参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル(例えば、時間的動きベクトルまたは視差動きベクトル)、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0081] 動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって行われる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。視差動きベクトルは、一般に、水平シフト、すなわち、異なるビューのやや異なるカメラパースペクティブから生じる、異なるビューからの対応するピクチャの2つのブロックの間の視差を表す。動きベクトルは、例えば、現在のフレーム(または他のコード化ユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例で、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置(sub-integer pixel positions)の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置(fractional pixel positions)の値を補間し得る。従って、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を行い、分数ピクセル精度で動きベクトルを出力し得る。
[0082] 動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化(時間的またはビュー間)スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。いくつかの例で、ビュー間参照ピクチャは長期参照ピクチャとしてシグナリングされてよく、時間的参照ピクチャは短期参照ピクチャとしてシグナリングされてよい。代替として、ビュー間参照ピクチャは短期参照ピクチャとしてシグナリングされてよく、時間的参照ピクチャは長期参照ピクチャとしてシグナリングされてよい。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0083] 動き補償ユニット44によって行われる動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例で、動き推定ユニット42および動き補償ユニット44は機能的に統合され得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を行い、かつ動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0084] さらに、ビデオエンコーダ20は、例えば、マージモードまたはAMVPのうちの1つを使用して、動きベクトルを符号化できる。本開示の技法によれば、現在のブロックが包含ブロック(例えば、MER)内に包含される場合、包含ブロックが並列にコーディングされることが可能な領域を定義すると仮定すると、現在のブロックの隣接ブロックが包含ブロック内にあるとき、ビデオエンコーダ20は、現在のブロックに包含ブロックの隣接ブロックの動きベクトルを適用できる。すなわち、現在のブロックが包含ブロック内にあるとき、また現在のブロックに隣接するブロックも包含ブロック内にあるとき、ビデオエンコーダ20は、動きベクトルコーディングの目的で、現在のブロックの隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替できる。
[0085] 本開示による動きベクトルコーディング技法の説明の目的で、「隣接ブロック」という用語は、現在のブロックを包含する包含ブロックの外に隣接ブロックがあるときには、現在のブロックに隣接するブロックを指すと理解されるべきであるが、別様に隣接ブロックが包含ブロック内にあるときには、包含ブロックに隣接し、包含ブロックの外にあるブロックを指すと理解されるべきである。マージモードで、ビデオエンコーダ20は、現在のブロック(例えば、現在のPU)に隣接ブロックの動きベクトルを適用できる。AMVPモードで、ビデオエンコーダ20は、現在のブロックの動きベクトルと隣接ブロックの動きベクトルとの間の動きベクトル差分を計算でき、エントロピー符号化ユニット56は、動きベクトル差分を表すデータを符号化できる。その上、マージモードで、エントロピー符号化ユニット56は、隣接ブロックを識別するマージインデックスを定義するデータを符号化でき、AMVPで、エントロピー符号化ユニット56は、隣接ブロックを識別するAMVPインデックスを定義するデータを符号化できる。マージインデックスまたはAMVPインデックスは、隣接ブロック識別子の例を表す。
[0086] より詳細には、ビデオエンコーダ20は、現在のブロック(例えば、現在のPU)の1つまたは複数の空間ネイバーに関する識別子を含む候補リストを構成できる。空間ネイバーの例は以下の図5に示されている。但し、現在のブロックが包含ブロック内にある(また包含ブロックが、並列コーディングを許容する領域を定義する)と仮定すると、ビデオエンコーダ20は、同じく包含ブロック内にある現在のブロックの隣接ブロックのいずれかに対する代替を決定できる。代替方式の例は図8〜図11に示されている。
[0087] 概して、ビデオエンコーダ20は、包含ブロック内にある現在のブロックの隣接ブロックと同様に位置付けられる包含ブロック外のブロックで代替できる。例えば、いくつかの例で、包含ブロック内の隣接ブロックが現在のブロックの特定の隅にある場合、代替ブロックは、包含ブロックの同じ隅にあり得る。別の例として、隣接ブロックが現在のブロックの左側にある場合、代替ブロックは、同じ垂直位置であるが、包含ブロックの外であるが包含ブロックの隣に代替ブロックを配置する水平位置を有し得る。同様に、隣接ブロックが現在のブロックの上側にある場合、代替ブロックは、同じ水平位置であるが、包含ブロックの外であるが包含ブロックの隣に代替ブロックを配置する垂直位置を有し得る。ビデオエンコーダ20は、包含ブロック外の隣接ブロックを表すデータを、隣接ブロックが包含ブロック内にあって現在のブロックに隣接しているかのように符号化できる。但し、図3に関して以下で説明するように、ビデオデコーダ30は、隣接ブロックが本来であれば包含ブロック内にある場合に、コード化データが包含ブロック外の隣接ブロックに対応すると判断するように構成され得る。
[0088] イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって行われるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例で、イントラ予測ユニット46は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例で、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0089] 例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、並びに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0090] ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
[0091] ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を行う1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例で、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を行い得る。代替的に、エントロピー符号化ユニット56が走査を行い得る。
[0092] 量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive variable length coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:probability interval partitioning entropy)コーディングまたは別のエントロピーコーディング技法を行い得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接するブロックに基づき得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス(例えば、ビデオデコーダ30)に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
[0093] 逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、例えば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0094] 図2のビデオエンコーダ20は、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを符号化することとを行うように構成されたビデオエンコーダの例を表している。
[0095] 図3は、ビュー間予測のための視差ベクトルを生成するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例で、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを行い得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された時間的または視差動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
[0096] 復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトル(時間的および/または視差)とインター予測(時間的および/または視差)に関係する他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0097] ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、時間的B、時間的Pまたはビュー間)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0098] 動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラ予測、時間的インター予測、またはビュー間予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
[0099] 本開示の技法によれば、動き補償ユニット72は、現在のブロックに関する動き情報を再生する方法を示すシンタックス要素を受信し得る。動き補償ユニット72は、現在のブロックに関する動き情報を復号するために使用される動き情報の取り出し元になる空間的隣接ブロックまたは時間的隣接ブロックの識別子を示す1つまたは複数のシンタックス要素を受信し得る。そのようなシンタックス要素は、例えば、マージインデックスまたはAMVPインデックスを含み得る。現在のブロックは、包含ブロック内にあることがあり(例えば、現在のブロックが、MER内のCUもしくはPUまたはCU内のPUを備え得る場合)、シンタックス要素によって示される空間的隣接ブロックは、同じく包含ブロック内にある現在のブロックの隣接ブロックに対応し得る。
[0100] そのような場合、本開示の技法によれば、動き補償ユニット72は、(識別子が、シンタックス要素のうちの1つ、例えばマージインデックスまたはAMVPインデックスに対応し得る場合)識別子によって示される現在のブロックの隣接ブロックを、包含ブロック外にある包含ブロックの隣接ブロックで代替できる。例えば、識別子が現在のブロックの隅にある隣接ブロックに対応する場合、動き補償ユニット72は、例えば、図8に関して後述するように、包含ブロックの対応する隅にあるブロックで代替できる。代替として、識別子が現在のブロックの隅にある隣接ブロックに対応する場合、動き補償ユニット72は、例えば、図10に関して後述するように、同様の垂直位置または水平位置にあるが、垂直または水平にシフトされて現在のブロックの外にあるブロックで代替できる。概して、ビデオデコーダ30は、動き情報が適切に復号され得るように、ビデオエンコーダ20によって使用される方法と同じ方法で、現在のブロックのそのような隣接ブロックを、包含ブロックの隣接ブロックで代替するように構成され得る。
[0101] より詳細には、動き補償ユニット72は、動き情報の取り出し元になり得る1つまたは複数の候補隣接ブロック(空間的または時間的)を含む候補リストを作ることができる。本開示の技法によれば、現在のブロックの隣接ブロックが、現在のブロックを包含する包含ブロック内にあるとき、ビデオデコーダ30は候補リスト中で、現在のブロックの隣接ブロックを、包含ブロックの隣接ブロックで代替できる。予測動き情報の取り出し元になるブロックを識別する識別子(例えば、マージインデックスまたはAMVPインデックス)は、候補リスト中のエントリに対応し得る。
[0102] 包含ブロックは、並列復号領域(parallel decoding region)を定義し得る。包含ブロック外のデータを使用して(例えば、マージモードまたはAMVPモードを使用して)現在のブロックに関する動き情報を予測することによって、現在のブロックに関する動き情報を復号する前に包含ブロック内の情報が復号される必要がなくなる。このようにして、動き補償ユニット72は、包含ブロック内の2つ以上のブロックに関する動き情報を復号できる。従って、包含ブロックは、並列復号領域を定義すると言われ得る。言い換えれば、本開示の技法は、ビデオデコーダ30が、包含ブロック内のデータを並列に復号することを可能にでき、それにより、包含ブロック内の2つ以上のブロックの実質的に同時の復号を可能にし得る。
[0103] 動き補償ユニット72は、前に復号されたピクチャから、例えば、参照ピクチャメモリ82からデータを取り出すために復号された動きベクトルを使用し得る。動き補償ユニット72はまた、補間フィルタに基づいて補間を行い得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0104] 逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中のビデオブロックごとにビデオデコーダ30によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために、逆変換、例えば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0145] 動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を行う1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
[0106] このようにして、図3のビデオデコーダ30は、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを復号することとを行うように構成されたビデオデコーダの例を表している。
[0107] 図4は、例示的なMVC予測パターンを示す概念図である。マルチビュービデオコーディング(MVC)は、ITU−T H.264/AVCの拡張である。同様の技法が、HEVCに適用され得る。図4の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、12個の時間ロケーション(「T0」〜「T11」)がビューごとに示されている。すなわち、図4中の各行はビューに対応し、各列は時間ロケーションを示す。
[0108] MVCがH.264/AVCデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがMVCによってサポートされ得るが、MVCの1つの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートできることである。MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを予想し得る。
[0109] 典型的なMVC復号順序は、タイムファーストコーディングと呼ばれる。アクセスユニットは、1つの出力時間インスタンスのためのすべてのビューのコーディングされたピクチャを含み得る。例えば、時間T0のピクチャの各々は、共通のアクセスユニットに含まれ得るが、時間T1のピクチャの各々は、第2の共通のアクセスユニットに含まれ得る、など。復号順序は、出力順序または表示順序と必ずしも同一とは限らない。
[0110] 図4中のフレームは、対応するフレームがイントラコード化される(すなわち、Iフレームである)のか、または一方向に(すなわち、Pフレームとして)インターコード化されるのか、もしくは複数の方向に(すなわち、Bフレームとして)インターコード化されるのかを指定する、文字を含む影付きブロックを使用して、図4中の各行と各列との交差部において示されている。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。例えば、時間ロケーションT0におけるビューS2のPフレームは、時間ロケーションT0におけるビューS0のIフレームから予測される。
[0111] シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。例えば、時間ロケーションT1におけるビューS0のbフレームは、時間ロケーションT0におけるビューS0のIフレームからそのbフレームに向けられた矢印を有し、その矢印は、bフレームがIフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用できる。MVCでは、例えば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。
[0112] H.264/AVCのMVC拡張で、一例として、ビュー間予測は視差動き補償によってサポートされ、視差動き補償は、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることが可能になる。MVCによって2つのビューのコーディングがサポートされ得、それは、一般に、立体視ビューと呼ばれる。MVCの利点のうちの1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、また、MVCデコーダがそのようなマルチビュー表現を復号できることである。従って、MVCデコーダをもつレンダリングデバイスは、3つ以上のビューをもつ3Dビデオコンテンツを予想し得る。
[0113] MVCでは、同じアクセスユニット中の(すなわち、同じ時間インスタンスを有する)ピクチャ間でビュー間予測(IVP)が可能になる。アクセスユニットは、概して、共通の時間インスタンスのためのすべてのビューコンポーネント(例えば、すべてのNALユニット)を含むデータのユニットである。従って、MVCでは、同じアクセスユニット中のピクチャ間でビュー間予測が許可される。非ベースビューのうちの1つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス(例えば、同じPOC値)をもつ場合(従って、同じアクセスユニット中にある)、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測の参照ピクチャは、任意のインター予測の参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
[0114] マルチビュービデオコーディングのコンテキストでは、2種類の動きベクトルが存在する。一方は、時間的参照ピクチャを指す動きベクトルであり、対応するインター予測モードは、動き補償予測(MCP:motion compensated prediction)と呼ばれる。他方は、異なるビューにおけるピクチャを指す視差動きベクトルであり、対応するビュー間予測モードは、視差補償予測(DCP:disparity-compensated prediction)と呼ばれる。
[0115] 従来のHEVCでは、動きパラメータの予測に関する2つのモードが存在するが、一方はマージモードであり、他方は高度動きベクトル予測(AMVP)である。マージモードでは、動きパラメータ(参照ピクチャおよび動きベクトル)の候補リストが構成され、候補は、空間的隣接ブロックまたは時間的隣接ブロックからであり得る。空間的隣接ブロックおよび時間的隣接ブロックは、候補リスト、すなわち動き予測情報が選択され得る1組の候補を形成できる。従って、動き予測情報として選択される動きパラメータは、候補リストへのインデックスをコーディングすることによってシグナリングされ得る。デコーダ側で、インデックスが復号されると、インデックスが指す対応するブロックのすべての動きパラメータは、マージモードにおいて継承され得る。
[0116] AMVP、従って従来のHEVCで、各動き仮定のための動きベクトル予測子の候補リストは、コーディングされた参照インデックスに基づいて導出される。このリストは、同じ参照インデックスと、時間的参照ピクチャにおいてコロケートブロックの隣接ブロックの動きパラメータに基づいて導出される時間的動きベクトル予測子とに関連する隣接ブロックの動きベクトルを含む。選択された動きベクトルは、候補リストへのインデックスを送信することによってシグナリングされる。加えて、参照インデックス値および動きベクトル差分もシグナリングされる。
[0117] さらに、2つの動きデータ圧縮方法がHEVCにおいて定義されている。これらの方法については、以下で図6に関してより詳細に説明する。
[0118] 図4は、ビュー間予測の様々な例を提供する。図4の例で、ビューS1のフレームは、ビューS1の異なる時間ロケーションにおけるフレームから予測されるものとして、並びに同じ時間ロケーションにおけるビューS0およびS2のフレームのうちのフレームからビュー間予測されるものとして示されている。例えば、時間ロケーションT1におけるビューS1のbフレームは、時間ロケーションT0およびT2におけるビューS1のBフレームの各々、並びに時間ロケーションT1におけるビューS0およびS2のbフレームから予測される。
[0119] 図4の例で、大文字の「B」および小文字の「b」は、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。概して、大文字の「B」フレームは、小文字の「b」フレームよりも予測階層が比較的高い。図4はまた、異なるレベルの陰影を使用して予測階層の変形形態を示し、より大きい量の陰影の(すなわち、比較的より暗い)フレームは、より少ない陰影を有する(すなわち、比較的より明るい)それらのフレームよりも予測階層が高い。例えば、図4中のすべてのIフレームは、完全陰影を用いて示されるが、Pフレームは、いくぶんより明るい陰影を有し、Bフレーム(および小文字のbフレーム)は、互いに様々なレベルの陰影を有するが、PフレームおよびIフレームの陰影よりも常に明るい。
[0120] 概して、階層が比較的高いそれらのフレームが、階層が比較的低いフレームの復号中に参照フレームとして使用され得るように、予測階層が比較的高いフレームは、階層が比較的低いフレームを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。H.264/AVC(MVC追補)の付属書類Hにおいて規定されているように、ビュー順序インデックスはSPS MVC拡張において暗示されている。SPSでは、各インデックスiについて、対応するview_idがシグナリングされる。いくつかの例で、ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスは、0からnum_views_minus_1までの連続する順序になっている。
[0121] このようにして、参照フレームとして使用されるフレームは、その参照フレームを参照して符号化されたフレームを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。各ビュー順序インデックスiについて、対応するview_idがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数までの連続的な順序付きセットを備え得る。
[0122] 階層の等しいレベルにおけるいくつかのフレームの場合、復号順序は、互いに重要でないことがある。例えば、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームのための参照フレームとして使用され、そのPフレームは今度は、時間ロケーションT0におけるビューS4のPフレームのための参照フレームとして使用される。従って、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームの前に復号されるべきであり、そのPフレームは、時間ロケーションT0におけるビューS4のPフレームの前に復号されるべきである。しかしながら、ビューS1およびS3は、予測のために互いに依拠しないが、代わりに、予測階層がより高いビューからのみ予測されるので、ビューS1とS3との間で復号順序は重要でない。その上、ビューS1がビューS0およびS2の後に復号される限り、ビューS1はビューS4の前に復号され得る。
[0123] このようにして、ビューS0〜S7を記述するために階層順序が使用され得る。表記法SA>SBは、ビューSAがビューSBの前に復号されるべきであることを意味する。この表記法を使用すると、図4の例で、S0>S2>S4>S6>S7である。また、図4の例に関して、S0>S1、S2>S1、S2>S3、S4>S3、S4>S5、およびS6>S5である。これらの要件に違反しないビューのための任意の復号順序が可能である。従って、いくつかの制限のみをもつ、多くの異なる復号順序が可能である。
[0124] 本開示の技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、ブロック(例えば、包含ブロック)内のデータを並列にコーディングするように構成され得る。これを達成するために、ビデオエンコーダ20およびビデオデコーダ30は、包含ブロック内のデータを、包含ブロック内の他のデータを予測するために使用しないように構成され得る。例えば、ビデオエンコーダ20およびビデオデコーダ30は、包含ブロック内の現在のブロックの動き情報を、現在のブロックの外にあるブロックからの予測動き情報を使用してコーディングするように構成され得る。従って、ビデオエンコーダ20およびビデオデコーダ30は、例えば時間的動きベクトルおよび/または視差動きベクトルをコーディングするための動き予測候補で代替できる。このようにして、ビデオエンコーダ20およびビデオデコーダ30は、本開示の技法を使用して、例えば図4の時間的動きベクトルおよび/または視差動きベクトルを符号化できる。
[0125] 図5は、現在のPU並びに空間的に隣接するブロックA0、A1、B0、B1、およびB2の例を示すブロック図である。図5は、現在のPUとその空間的に隣接するPUとの間の関係を示している。この説明のために、以下のシンボルが定義される。
[0126] 現在のピクチャの左上のサンプルに関連する現在のPUの左上のルーマサンプルを明示するために、ルーマロケーション(xP,yP)(すなわち、ルミナンス成分)が使用され得る。
[0127] 変数nPSWおよびnPSHは、ルーマに関する、すなわちルミナンス成分における現在のPUの幅および高さを示し得る。
[0128] この例で、現在のピクチャの左上のサンプルに関連する現在の予測ユニットNの左上のルーマサンプルは(xN,yN)である。その場合、(xN,yN)(Nは、A0、A1、B0、B1またはB2によって置き換えられる)は、それぞれ(xP−1,yP+nPSH)、(xP−1,yP+nPSH−1)、(xP+nPSW,yP−1)、(xP+nPSW−1,yP−1)または(xP−1,yP−1)と定義され得る。
[0129] 上述のように、いくつかの例で、ビデオエンコーダ20またはビデオデコーダ30のようなビデオコーダは、時間的動きベクトル予測を行なえる。すなわち、現在のPUのための動きベクトルは、時間的動きベクトル予測子(TMVP)に関連してコーディングされ得る。まず、TMVPを得るために、ビデオコーダは、コロケートピクチャ(例えば、現在のピクチャと同じアクセスユニット内のピクチャ)を識別し得る。現在のピクチャのスライスがBスライスである場合、collocated_from_l0_flagが、コロケートピクチャがRefPicList0からのものかまたはRefPicList1からのものかを示すために、スライスヘッダにおいてシグナリングされ得る。
[0130] さらに、Bスライスの場合、最終参照ピクチャリスト(RefPicList0およびRefPicList1)が構成された後、複合リスト(RefPicListC)が構成され得る。複合リストに関して参照ピクチャリスト変更シンタックスが存在する場合、複合リストはさらに変更され得る。
[0131] 参照ピクチャリストが識別された後、スライスヘッダでシグナリングされるcollocated_ref_idxが、リスト中のピクチャの中のピクチャを識別するために使用され得る。コロケートPUが次いで、コロケートピクチャを確認することによって識別され得る。このPUを包含するCUの右下のPUの動き、またはこのPUを包含するCUの中心PU内の右下のPUの動きのいずれかが、使用され得る。
[0132] AMVPまたはマージモードの動き候補を生成するために、上記のプロセスによって識別された動きベクトルが使用されるとき、動きベクトルは、(ピクチャのピクチャ順序カウント(POC:picture order count)値によって反映される)時間ロケーションに基づいてスケーリングされ得る。HEVCで、ピクチャパラメータセット(PPS:picture parameter set)は、フラグenable_temporal_mvp_flagを含む。0に等しいtemporal_idをもつ特定のピクチャが、0に等しいenable_temporal_mvp_flagを有するPPSを参照するとき、DPB中のすべての参照ピクチャは、「時間的動きベクトル予測のために使用されない」としてマークされ得、復号順序でその特定のピクチャの前のピクチャからの動きベクトルは、特定のピクチャの復号または復号順序でその特定のピクチャの後のピクチャの復号において時間的動きベクトル予測子として使用されないことになる。
[0133] 図6は、様々なピクチャグループ(GOP)のピクチャを示す、ピクチャが様々なタイプを有する概念図である。具体的には、図6は、前のGOP100と、現在のGOP102と、次のGOP104とを示している。前のGOP100は、ピクチャ106、108を含む。現在のGOP102は、ピクチャ110〜124(ピクチャ124は、図6の例でクリーンランダムアクセスピクチャ(CRA:clean random access picture)の例を表している)を含む。次のGOP104は、ピクチャ126、128を含む。
[0134] ピクチャ106〜128の各々は、対応するピクチャのPOC値を表す数値を含む。復号順序は、POC値によって示される表示順序とは異なり得ることに留意されたい。図6中の矢印は、潜在的予測を表している。具体的には、矢印が指すピクチャは、矢印の起点となっているピクチャによって参照ピクチャとして使用され得る。例えば、ピクチャ108(POC値16を有する)は、ピクチャ116(POC値20を有する)を予測するための参照ピクチャとして使用され得る。
[0135] HEVCでは、ネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットタイプによって識別され得る4つのピクチャタイプが存在する。これらは、瞬時復号リフレッシュ(IDR: instantaneous decoding refresh)ピクチャ、クリーンランダムアクセス(CRA:clean random access)ピクチャ、時間レイヤアクセス(TLA:temporal layer access)ピクチャ、およびIDRピクチャ、CRAピクチャまたはTLAピクチャでないコード化ピクチャである。この例で、POC値24をもつピクチャはCRAピクチャである。
[0136] IDRピクチャおよびコード化ピクチャは、H.264/AVC規格から実質的に継承されたピクチャタイプである。CRAおよびTLAのピクチャタイプはHEVCにおいて新しく、H.264/AVC規格において利用できない。CRAピクチャは、IDRピクチャを挿入するよりも効率的である、ビデオシーケンスの中央の任意のランダムアクセスポイントから始まる復号を可能にするピクチャタイプである。HEVCでは、これらのCRAピクチャから始まるビットストリームもまた、ビットストリームに適合している。TLAピクチャは、有効な時間レイヤスイッチングポイントを示すために使用され得るピクチャタイプである。
[0137] ブロードキャストおよびストリーミング(例えば、動的適応ストリーミングオーバーHTTP(DASH:Dynamic Adaptive Streaming over HTTP)、リアルタイムトランスポートプロトコル(RTP:Real-time Transport Protocol)またはリアルタイムストリーミングプロトコル(RTSP:Real-Time Streaming Protocol)に従うなどしてネットワークを介する)などのビデオ適用では、ユーザが最小限の遅延で異なるチャネル間で切り替えて、ビデオの特定の部分にジャンプするための重要な機能が必要とされる。この機能は、ビデオビットストリームで一定の間隔をおいてランダムアクセスピクチャを有することによって可能にされ得る。H.264/AVCとHEVCの両方の中で指定されるIDRピクチャは、ランダムアクセスに使用され得る。しかしながら、IDRピクチャは、コード化ビデオシーケンスを開始させ、復号ピクチャバッファ(DPB)を常に削除するので、復号順序でIDRに続くピクチャは、IDRピクチャの前に復号されたピクチャを参照として使用できない。その結果、ランダムアクセスに対するIDRピクチャに依存するビットストリームは、著しく低いコーディング効率(例えば、6%)を有することがある。コーディング効率を改善するために、復号順序でCRAピクチャに後続するが出力順序でCRAピクチャに先行するピクチャが、CRAピクチャより前に復号されたピクチャを参照ピクチャとして使用することを、HEVCにおけるCRAピクチャが可能にする。
[0138] CRAピクチャ(ピクチャ124)の前後の例示的な予測構造が図6に示されている。CRAピクチャ124(POC24を有する)は現在のGOP102に属し、現在のGOP102は、復号順序でCRAピクチャ124に後続するが出力順序でCRAピクチャ124に先行する他のピクチャ110〜122(POC値17〜23を有する)を包含する。すなわち、図6の例におけるピクチャ110〜122(POC17〜23を有する)は、ピクチャ124に、またはやはりピクチャ124に依存するピクチャに依存し得るので、ピクチャ124はピクチャ110〜122の前に復号されなければならない。従って、ピクチャ110〜122は、CRAピクチャ124の先行ピクチャと呼ばれ、現在のCRAピクチャの前のIDRピクチャまたはCRAピクチャから復号が開始された場合に適切に復号され得る。しかしながら、先行ピクチャは、CRAピクチャ124からのランダムアクセスが生じたときには適切に復号され得ない。すなわち、図6の例に示すように、先行ピクチャは、ピクチャ108などのビットストリームにおけるより早い段階のピクチャに依存し得る。従って、先行ピクチャ110〜122は通常、ランダムアクセス復号中に処分され得る。
[0139] どこで復号が開始されるかに応じて利用不可能なことがある参照ピクチャからのエラー伝搬を防ぐために、復号順序と出力順序の両方でCRAピクチャ124に後続する、図6に示す次のGOP104におけるすべてのピクチャは、復号順序または出力順序のいずれかでCRAピクチャ124に先行するピクチャ(POC値17〜23を有する先行ピクチャ110〜122を含む)を参照に一切使用しないようにコーディングされ得る。
[0140] 同様のランダムアクセス機能が、リカバリポイントSEIメッセージを有するH.264/AVCにおいてサポートされる。H.264/AVCデコーダ実装がその機能をサポートすることもまたはサポートしないこともある。HEVCにおいて、CRAピクチャによって開始するビットストリームは、適合ビットストリームと見なされる。ビットストリームがCRAピクチャによって開始するとき、CRAピクチャの先行ピクチャは利用不可能参照ピクチャを指し、従って正しく復号され得ない。しかしながら、HEVCは、開始するCRAピクチャの先行ピクチャは出力されず、従って「クリーンランダムアクセス」という名称であることを明記している。ビットストリーム適合性要件を確立するために、HEVCは、非出力先行ピクチャを復号するために利用不可能参照ピクチャを生成するための復号プロセスを指定する。しかしながら、復号プロセスがビットストリームの開始から行われるときと比較して、適合デコーダ実装が同等の出力を生成し得る限り、適合デコーダ実装は、その復号プロセスに従う必要はない。
[0141] HEVCにおいて、適合ビットストリームは、IDRピクチャをまったく含まず、従ってコード化ビデオシーケンスのサブセットまたは不完全なコード化ビデオシーケンスを含み得ることは注目に値する。
[0142] 図7は、一連のブロックにおける動きデータ圧縮を示す概念図である。具体的には、ブロックは、16×16ブロック境界150A〜150Eによって分割される。図7の例において、影付きブロックに関する動き情報がラインバッファに記憶され得る。影なしブロックは、隣接ブロックの動き情報を共有できる。従って、ブロックペア152A〜152Iの各々は動き情報を共有できる。HEVCにおける動きベクトル記憶圧縮方法は、マージ/スキップモードおよびAMVPのための時間的動きベクトルの記憶およびローディングに費やされるメモリ帯域幅を減らすように設計される。16×圧縮方法は基本的に、水平方向と垂直方向の両方において4倍で動きベクトルフィールドをダウンサンプリングし、16×16領域ごとに同じ動きベクトルが生じる。
[0143] 動きデータは一般に、インター予測方向(例えば、より早い表示時間(List0)を有するピクチャに、より遅い表示時間(List1)を有するピクチャに、または双方向)と、参照ピクチャインデックス(例えば、参照ピクチャリストへのインデックス)と、水平成分と垂直成分とを含み得る動きベクトル(MV)とを含む。上位LCU行の動きデータにアクセスする必要があるPUごとに、ラインバッファにおける圧縮動きデータのみがアクセスされ得る。図7は、1つのラインの2:1の動きデータ圧縮を示している。4つの4×4ブロックごとに、最初と最後の4×4ブロックの動きデータがラインバッファに記憶される。最初のブロックの動きデータは、最初の2つのブロックの動きデータを表す。最後のブロックの動きデータは、最後の2つのブロックの動きデータを表す。このようにして、ちょうど半分だけのメモリが必要とされる。
[0144] HEVCで、LCUは、並列動き推定領域(MER)に分割されてよく、現在のPUとは異なるMERに属する隣接PUのみがマージ/スキップMVPリスト構成プロセスに含まれることを許容し得る。MERのサイズは、log2_parallel_merge_level_minus2としてピクチャパラメータセット(PPS)でシグナリングされ得る。2N×2Nが最小CUサイズであって、MERサイズがN×Nよりも大きいとき、空間的隣接ブロックが、それが現在のPUと同じMERの中にある場合に利用不可能と見なされる方式で、MERは実施され得る。
[0145] MPEGにおけるHEVCベースの3Dビデオコーディング(3D−HEVC)コーデックは、m22570(Heiko Schwarz、Christian Bartnik、Sebastian Bosse、Heribert Brust、Tobias Hinz、Haricharan Lakshman、Detlev Marpe、Philipp Merkle、Karsten Muller、Hunn Rhee、Gerhard Tech、Martin Winken、Thomas Wiegand、「Description of 3D Video Technology Proposal by Fraunhofer HHI(HEVC compatible;configuration A)」、ISO/IEC JTC1/SC29/WG11 MPEG2011/m22570、ジュネーブ、スイス、2011年11月)およびm22571で提案された解決策に基づいている。3D−HEVCの参照ソフトウェアの記述は、Heiko Schwarz、Krzysztof Wegner、「Test Model under Consideration for HEVC based 3D video coding」、ISO/IEC JTC1/SC29/WG11 MPEG2011/N12559、サンノゼ、米国、2012年2月として入手可能である。参照ソフトウェアは、HTMと呼ばれ、https://hevc.hhi.fraunhofer.de/svn_3DVCSoftware/trunkで入手可能である。
[0146] Chenらによる「Disparity Vector Construction Method for 3D−HEVC」、代理人整理番号第121833U1/1212:178USP1号および代理人整理番号第121833U2/1212:178USP2号、2012年3月14日に出願された米国仮出願第61/610,961号および2012年4月11日に出願された米国仮出願第61/623,041号では、空間的視差ベクトル(SDV)、時間的視差ベクトル(TDV)または暗黙的視差ベクトル(IDV:Implicit Disparity Vector)による視差ベクトル生成(構成)方法がビュー間動き予測について説明されている。その中で定義されているように、SDVは、ビュー間参照を指している現在のPUの空間的隣接PUの動きベクトルである。TDVは、同じアクセスユニットによる任意の参照ピクチャまたはビュー間ピクチャにおけるコロケートPUまたはコロケートLCUからの視差動きベクトルであり得る。代替として、TMVPに使用されたピクチャからのコロケートPUの動きベクトルまたはTMVPによって生成された動きベクトルが視差ベクトルである場合、それはTDVとして扱われてもよい。現在のPUの空間的隣接PUまたは時間的隣接PUがビュー間動き予測を使用した場合、隣接PUに使用された視差ベクトルはIDVであり得る。上記3種類による視差ベクトルは、視差ベクトル候補リストを構成するために使用されてよく、それらのうちの1つは、いくつかの基準に基づいて選択され、IMPに直接使用され得る。
[0147] ビュー間動き予測は、AMVPモードとMERGEモードの両方に適用され得る。PUごとに、ビュー間動き予測用視差ベクトル(DVIVMP:Disparity Vector for Inter-View Motion Prediction)が、構成される視差ベクトルであり、ビュー間動き予測に使用され得る。ビュー間動き予測を含めるために、AMVPモードは、ビュー間動きベクトル予測子が候補リストに追加され得るように拡張されている。現在のブロックの中央サンプルの深度推定に基づいて、視差ベクトルおよび参照ビューにおける参照ブロックが上述のように決定され得る。現在のブロックの参照インデックスがビュー間参照ピクチャを指す場合、ビュー間動きベクトル予測子は、対応する視差ベクトルに等しく設定される。現在の参照インデックスが時間的参照ピクチャを指し、参照ブロックが、現在の参照インデックスと同じアクセスユニットを指す動き仮定を使用する場合には、この動き仮定に関連付けられる動きベクトルは、ビュー間動きベクトル予測子として使用され得る。他の場合には、ビュー間動きベクトル予測子は、無効とマークされ、動きベクトル予測子候補のリストに含まれないことがある。
[0148] AMVPモードと同様に、動きパラメータの候補リストは、ビュー間動き予測を使用して取得され得る動きパラメータセットによって拡張され得る。潜在的動き仮定ごとに、参照ピクチャリストの最初の2つの参照インデックスが所与の順序で調査され得る。AMVPモードの場合と同様に、参照インデックス0の動きベクトル候補が導出され得る。導出された動きベクトルが有効である場合、参照インデックス0および導出された動きベクトルは、当該仮定に使用され得る。そうでない場合、参照インデックス1が同様にテストされ得る。それがまた無効な動きベクトルをもたらす場合、動き仮定は利用不可能とマークされる。時間的予測を選好するために、第1のインデックスがビュー間参照ピクチャを指す場合、参照インデックスがテストされる順序が逆転し得る。すべての潜在的動き仮定が利用不可能とマークされた場合、ビュー間候補は選択され得ない。
[0149] ビュー間残差予測(IRP)が3D−HEVCで有効にされる。現在のピクチャの対応する深度マップ(それは推定深度マップであり得る)に基づいて、現在のブロックについて視差ベクトルが決定され得る。次いで視差ベクトルは、参照ビューにおける残差ブロック(残差参照ブロック)の位置を特定するために使用され得る。残差予測がブロックに対して有効であるとき、残差参照ブロックが、動き補償予測子およびこのブロックに対するシグナリングされた残差の他に加えられ得る。
[0150] 代理人整理番号第122144P1/1212:203USP1号を有するChenらによる「Motion Parameter Prediction and Coding for Multiview Video」、2012年4月9日に出願された米国仮出願第61/621,929号では、空間的隣接ブロックおよび時間的隣接ブロックによる視差ベクトル生成方法が、IMPとIRPの両方について説明されている。それらの解決策のうちの1つは次のように定義されている。
[0151] 候補空間的隣接ブロックは、AMVP中に確認されたものと同じであってよく、それらの順序は、図5に示すように、A0、A1、B0、B1、またはB2である。順序付けられた空間的隣接ブロックのうちの1つの動きベクトルが視差動きベクトルである場合、それは視差ベクトルを生成するために使用され得る。時間的隣接ブロックの動きベクトルからの時間的視差ベクトル(TDV)が、参照ピクチャ(指定された候補ピクチャ)のセットに基づいて導出されてよく、候補ピクチャごとに、異なるブロックからなるセットが確認され得る。
[0152] 参照インデックスの昇順に候補ピクチャが確認され得る。1つの参照インデックスがRefPicList0およびRefPicList1における2つのピクチャに対応するとき、RefPicListXからのピクチャは他方のピクチャに先行し、ここでXは、collocated_from_l0_flagに等しい。候補ピクチャごとに3つの候補領域が決定され得る。1つの領域が複数のPUまたは16×16領域をカバーするとき、そのような候補領域のPUまたは各16×16領域の左上4×4ブロックはラスタ走査順序で走査され得る。他の場合、左上4×4ブロックが視差ベクトル導出のために選択され得る。CPUは、現在のPUのコロケート領域に対応することがあり、CLCUは、現在のPUのコロケート領域をカバーする最大コーディングユニット(LCU)に対応することがあり、かつBRは、右下4×4ブロックに対応することがある。視差ベクトル生成プロセスは、それぞれ、IMPまたはIRPに視差ベクトルが使用されるとき、PUレベルまたはCUレベルで行われ得る。
[0153] 最も効率的なコーディングツールのうちの1つは、ビュー間動き予測(IMP)であり、この場合、従属ビューにおけるブロックの動きパラメータが、同じアクセスユニットの他のビューにおけるすでにコーディングされた動きパラメータに基づいて予測または推測される。
[0154] 図8は、PUを含む動き推定範囲(MER)の外での代替の例を示す概念図である。図8の例では、PU162、PU164、およびPU166がMER160内にある。すなわち、MER160は、PU162と、PU164と、PU166とを包含する包含ブロックの例を表している。本開示の技法によれば、ビデオエンコーダ20および/またはビデオデコーダ30などのビデオコーダが、空間的視差ベクトル確認を行うように構成され得る。いくつかの例で、ビデオコーダは、PUをコーディングするときにMERを使用し得る。このように、ビデオコーダは、空間的視差ベクトルを得るためにMER内のブロックを使用できないことがある。この場合、代替ブロックが使用され得る。
[0155] PU162、PU164、PU166は、図5のブロックA0、A1、B0、B1、およびB2に対応する隣接ブロックを有する。例えば、PU162は、隣接ブロック172A、176B、176C、176D、および176Eに隣接する。別の例として、PU164は、隣接ブロック174A〜174Eに隣接する。さらに別の例として、PU166は、隣接ブロック178A〜178Eに隣接する。さらに、MER160は、それ自体の隣接ブロック、ブロック172A〜172Eに隣接する。全般に、終わりに文字「A」を有する隣接ブロックは、図5のブロックB2に対応し、終わりに文字「B」を有する隣接ブロックは、図5のブロックB1に対応し、終わりに文字「C」を有する隣接ブロックは、図5のブロックB0に対応し、終わりに文字「C」を有する隣接ブロックは、図5のブロックB0に対応し、終わりに文字「D」を有する隣接ブロックは、図5のブロックA1に対応し、終わりに文字「E」を有する隣接ブロックは、図5のブロックA0に対応する。
[0156] 図8に示すように、PUのA0またはA1の隣接(左下)ブロックがMER160内にある(ブロック174Dおよび174Eなど)とき、それらのブロックは利用不可能と見なされ得る。従って、MER160のA0またはA1の隣接ブロック(ブロック172Dおよび172E)が代替として使用され得る。図8でPU164に関して示すように、PU164のA0およびA1ブロックはブロック174Dおよび174Eであり、この例でPU164をも含むMER160内にあるので利用不可能と見なされる。従って、ビデオエンコーダ20およびビデオデコーダ30は、ブロック174Dをブロック172Dで、およびブロック174Eをブロック172Eで代替できる。
[0157] このようにして、ブロック174Dおよび174Eは、現在のブロック(この例ではPU164)の左下隣接ブロックの例を表している。その上、この例では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれブロック174Dおよびブロック174Eを、ブロック172Dおよびブロック172Eで代替できる。この代替は、現在のブロックの左下隣接ブロック(例えば、PU164のブロック174D、174E)を、MER160の左隣接ブロック(例えば、ブロック172D、172E)で代替する例を表している。
[0158] PUのB0またはB1の隣接(右上)ブロックがMER160内にあるとき、それらのブロックは利用不可能と見なされ得る。例えば、PU166に隣接する隣接ブロック178B、178C、およびPU164に隣接する隣接ブロック174B、174Cは、利用不可能と見なされ得る。従って、MER160のB0またはB1の隣接ブロック(この例ではブロック172B、172C)が代替として使用され得る。図8でPU166に関して示すように、ブロック178B、178Cは、この例ではPU166をも含むMER160内にあるので利用不可能である。従って、ビデオエンコーダ29およびビデオデコーダ30は、隣接ブロック178B、178Cを、隣接ブロック172B、172C(MER160の隣接ブロック)で代替できる。同様に、ビデオエンコーダ20およびビデオデコーダ30は、PU164の隣接ブロック174B、174Cを、隣接ブロック172B、172C(MER160の隣接ブロック)で代替できる。
[0159] この代替は、現在のブロック(例えば、PU164、166のうちの1つ)をも包含する包含ブロックにおける隣接ブロックが、現在のブロックの右上隣接ブロック(例えば、ブロック174B、174C、178B、178Cのうちの1つ)に対応するときに、ビデオエンコーダ20およびビデオデコーダ30が、現在のブロック(例えば、PU164、166のうちの1つ)の右上隣接ブロック(例えば、ブロック174B、174C、178B、178Cのうちの1つ)を、MER160の右上隣接ブロック(例えば、ブロック172B、172Cのうちの1つ)で代替できる例を表している。図8で隣接ブロック間に引かれている矢印は、代替を表している。
[0160] PUのB2隣接(左上)ブロックが、PUをも含むMER160内にある(例えば、PU164の隣接ブロック174A)とき、隣接ブロックは利用不可能であると見なされ得る。従って、ビデオエンコーダ20およびビデオデコーダ30は、PU164の隣接ブロック174Aの代替として、MER160のB2隣接ブロック(例えば、隣接ブロック172A)で代替できる。この代替は、隣接ブロックが現在のブロックの左上隣接ブロックに対応するときに、ビデオエンコーダ20および/またはビデオデコーダ30が、現在のブロックの左上隣接ブロックを、MERの左上隣接ブロックで代替できる例を表している。
[0161] PUのすべての隣接ブロックが、PUを含むMERの外にあるとき、代替は必要とされない。これは、図8の例におけるPU162の隣接ブロック172A、176B〜176Eに当てはまる。
[0162] 図9は、視差ベクトルが確認されるPU210の一例を示す概念図である。図9は、矢印を使用して相対隣接位置を示し、各位置定義の下に数字を示している。PU210は、隣接空間的ブロック212〜220と隣接時間的ブロック222とを有する。上述したChenらによる「Motion Parameter Prediction and Coding for Multiview Video」で説明されているように、視差ベクトル生成を行うビデオコーダが、図9の空間ネイバー視差ベクトルに加えて他のタイプの視差ベクトル、例えば時間的視差ベクトルを確認し得ることに留意されたい。図9の例は、図らずもAMVPまたはMERGEで確認されるものと同じである、隣接ブロック212〜220から空間的視差ベクトルが確認される場合について説明している。そのような場合、MERが使用されるとき、図8に関して上述したように代替がもたらされ得る。他のプロセスは変わらないままでよい。
[0163] 代替として、空間的隣接ブロックがMER内にあるとき、MER内のブロックを確認する代わりに、MERの境界にある水平または垂直に位置合わせされたブロックが確認され得る。(それぞれブロックA0、A1に対応する)ブロック220、218の場合、MERの左境界にある水平に位置合わせされたブロックが代替として使用され得る。(それぞれブロックB0、B1に対応する)ブロック216、214の場合、MERの上境界にある垂直に位置合わせされたブロックが代替として使用され得る。(ブロックB2に対応する)ブロック212の場合、MERの左境界にある水平に位置合わせされたブロックとMERの上境界にある垂直に位置合わせされたブロックの両方が代替として使用され得る。
[0164] 図10は、PUを含むMERの外での代替の代替例を示す概念図である。図10の例は、PU232、236を含むMER230を示している。PU232は、空間的隣接ブロック234A〜234Eを有する。PU236は、空間的隣接ブロック238A〜238Eを有する。図10に示すように、PUのA0またはA1の隣接ブロックが、PUを含むMER内にあるとき、それらは利用不可能と見なされ得る。従って、水平方向におけるMERの外の位置合わせされたブロック(すなわち、垂直に位置合わせされたブロック)が代替として使用され得る。図10でPU232に関して示すように、PU232の(ブロックA0およびA1に対応する)ブロック234Dおよび234Eは、PU232をも含むMER230内にあるので利用不可能である。従って、ビデオエンコーダ20およびビデオデコーダ30は、それぞれブロック234D、234Eをブロック244D、244Eで代替できる。この例では、ブロック244D、244Eは、ブロック234D、234Eと同じ垂直位置を有するが、MER230の外にあり、MER230に隣接する。
[0165] このようにして、ブロック234Dおよび234Eをブロック244Dおよび244Eで代替することは、現在のブロック(例えば、PU232)の隣接ブロックが現在のブロックの左下隣接ブロック(ブロック234D、234E)に対応するときに、ビデオエンコーダ20およびビデオデコーダ30が、現在のブロックの左下隣接ブロック(例えば、ブロック234D、234Eのうちの1つ)を、MER230の左隣接ブロック(例えば、ブロック244D、244Eのうちの対応する1つ)で代替でき、結果的にMERの左隣接ブロックが、現在のブロックの左下隣接ブロックと同じ垂直位置を有するようになる例を表している。具体的には、この例で、ブロック244Dはブロック234Dと同じ垂直位置を有し、ブロック244Eはブロック234Eと同じ垂直位置を有する。
[0166] PUのB0またはB1の隣接(右上)ブロックが、PUを含むMER内にあるとき、それらは利用不可能と見なされ得る。従って、垂直方向におけるMERの外の位置合わせされたブロック(すなわち、水平に位置合わせされたブロック)が代替として使用され得る。図10でPU236に関して示すように、PU236の隣接ブロック238B、238Cは、PU236を含むMER230内にあるので利用不可能である。ビデオエンコーダ20およびビデオデコーダ30は、ブロック238B、238Cをブロック246B、246Cを代替でき、この場合、ブロック246B、246Cは、それぞれブロック238B、238Cと同じ水平位置を有するが、ブロック246B、246CをMER230の外に配置する垂直位置を有する。これはまた、PU232、具体的には、ビデオエンコーダ20およびビデオデコーダ30がそれぞれブロック244B、244Cで代替し得るPU232の隣接ブロック234B、234Cに当てはまる。
[0167] それぞれブロック238B、238C、234B、234Cをブロック246B、246C、244B、244Cで代替することは、現在のブロックの隣接ブロックが現在のブロックの右上隣接ブロックに対応するときに、ビデオエンコーダ20およびビデオデコーダ30が、現在のブロックの右上隣接ブロックをMERの上隣接ブロックで代替でき、結果的にMERの上隣接ブロックが現在のブロックの右上隣接ブロックと同じ水平位置を有するようになる例を表している。
[0168] PUのB2の隣接(左上)ブロックがMER内にあるとき、そのブロックは利用不可能と見なされ得る。ビデオエンコーダ20およびビデオデコーダ30は、水平方向または垂直方向にあるが、MER230の外にある位置合わせされたブロックのいずれかで代替できる。これは、ブロック240、242が代替として使用され得る、図10のPU232の隣接ブロック234Aに当てはまる。ブロック234Aをブロック240で代替することは、現在のブロックの隣接ブロックが現在のブロックの左上隣接ブロックに対応するときに、ビデオエンコーダ20およびビデオデコーダ30が、現在のブロックの左上隣接ブロックをMERの左隣接ブロックで代替でき、結果的にMERの左隣接ブロックが現在のブロックの左上隣接ブロックと同じ垂直位置を有するようになる例を表している。ブロック234Aをブロック242で代替することは、現在のブロックの隣接ブロックが現在のブロックの左上隣接ブロックに対応するときに、現在のブロックの左上隣接ブロックをMERの上隣接ブロックで代替でき、結果的にMERの上隣接ブロックが現在のブロックの左上隣接ブロックと同じ水平位置を有するようになる例を表している。
[0169] このようにして、図8の例の代替として、ビデオエンコーダ20およびビデオデコーダ30によって行われる視差動き生成方法は、様々な隣接ブロックを確認し得る。この場合、PUの隣接ブロックがMER内にあるとき、ビデオエンコーダ20およびビデオデコーダ30は、MER内にあるPUの隣接ブロックを、PUを包含するMERの同様のロケーションまたは方向における隣接ブロックで代替できる。
[0170] 図11は、PUの視差ベクトルに関する1つまたは複数の候補ブロックがPUを含むCU内にある例を示す概念図である。この例は、PUレベル視差ベクトル生成とCUレベル視差生成との統一に関する。この例では、所与のPU(例えば、現在のPU260)の場合、空間的隣接ブロック266、274、278を確認する代わりに、現在のPU260を包含するCU280の空間的隣接ブロックのみが確認され得る。
[0171] 図11に示す例に関して、確認されることになっていた現在のPU260の隣接ブロック266、274、278は、CU280の隣接ブロックでない可能性があるか、またはCUのB0、B1、B2、A0、A1のロケーション(ロケーションB0、B1、B2、A0、A1は、図9の説明に関連して定義されている)のいずれかに属さない可能性があるので、今は確認されない。上述のChenらによる「Motion Parameter Prediction and Coding for Multiview Video」で説明されているように、視差ベクトル生成は他のタイプの視差ベクトル、例えば時間的視差ベクトルを確認し得る。このようにして、この例は、PUおよびCUの空間的隣接ブロックを統一でき、それにより、そのような空間的隣接ブロックは、空間的視差ベクトル確認についての同じプロセスを共有し、同じ結果をもたらすことができる。
[0172] 従って、CU280は、現在のPU260を包含する包含ブロックの例を表している。ビデオエンコーダ20およびビデオデコーダ30は、現在のPU260の動きベクトルをコーディングするために、ブロック266をブロック264で、ブロック274をブロック272で、ブロック278をブロック276で代替できる。このようにして、PU260、262は並列にコーディングされ得る。
[0173] いくつかの例で、ビデオコーダは、MERの場合に図11に関して説明した技法と同様の技法を行なえ、例えば、MER内のPUの場合、PUの空間的視差ベクトル確認のプロセスおよび結果は、PUを包含するMERの場合と同じであり得る。
[0174] いくつかの例では、MERおよびPU/CUの視差ベクトル生成技法が統一され得る。MERおよびCUの最大サイズは、空間的視差ベクトル確認に使用される視差生成ブロックユニットのサイズになるように選択され得る。上記の例と同様に、MERまたはCUの中の各PUまたはCUは、空間的視差ベクトル確認についての同じプロセスおよび結果を共有し得る。
[0175] 例えば、現在のCUのサイズが16×16であり、MERのサイズが32×32であると仮定する。この場合、空間的視差ベクトルを得るために使用される視差生成ブロックユニットは32×32のサイズを有し、現在のPUをカバーし、この32×32ブロックユニット内の各CUおよびPUは、空間的視差ベクトル確認についての同じプロセスおよび結果を共有する。
[0176] 別の例として、現在のCUのサイズが16×16であり、MERのサイズが4×4であると仮定する。この場合、空間的視差ベクトルを得るために使用される視差生成ブロックユニットは16×16のサイズを有し、現在のPUをカバーし、この16×16コーディングユニット内の各PUは、空間的視差ベクトル確認についての同じプロセスおよび結果を共有する。
[0177] 図12は、視差生成ブロックユニットのための視差ベクトル生成の一例を示す概念図である。この例で、視差生成ブロックユニットは、現在のCUおよび任意のPUを包含するMERのうちの大きい方として定義され得る。視差生成ブロックユニットが2M×2Mピクセルのサイズを有し、左上ピクセル座標が(x0,y0)であると仮定する。視差生成ブロックユニット(DGBU)300の(T0 312およびT1 314における)上隣接(4×4)ブロックおよび(L0 316およびL1 318における)左隣接ブロックは、所与のPUを予測するために使用され得る。
[0178] 上隣接ブロックは2つの部分、T0 312およびT1 314に分けられ、T0 312は、DGBU300の幅の第1の半分(M)内のブロックをカバーし、T1 314は、DGBU300の幅の第2の半分(M)を含むブロックとDGBU300の右上隣接ブロックであるもう1つのブロックとをカバーする。
[0179] 左隣接ブロックは2つの部分、L0 316およびL1 318に分けられ、L0 316は、DGBU300の高さの第1の半分(M)内のブロックをカバーし、L1 318は、DGBU300の高さの第2の半分(M)を含むブロックとDGBU300の左下隣接であるもう1つのブロックとをカバーする。
[0180] B310として示された左上ブロックは、例えば領域のズーム0 302、ズーム1 304、ズーム2 306、ズーム3 308のうちの1つの中の、PUまたはCUのロケーションに応じて、T0 312またはL0 314のいずれかの一部であり得る。代替として、B310は常にT0 312に属し得る。代替として、Bは常にL0 316に属し得る。従って、隣接領域についてT0 312、T1 314、L0 316、およびL1 318が示され得る。
[0181] 確認される4つの領域の順序は、(dx,dy)として示される、DGBU300の左上ピクセル(x0,y0)に対する中央のPUまたはCUの選択されたピクセルの相対ロケーションに依存し得る。選択されたピクセルは、PUまたはCUの中央からのものであり得る。まず、DGBU300は、4つのズーム(ズーム0 302、ズーム1 304、ズーム2 306、ズーム3 308)に分けられてよく、各ズームは次のように(図12に示す)、左上ピクセルロケーションおよび右下ピクセルロケーションの相対座標によって表される。ズーム0 302:(0,0)および(M,M)、ズーム1 304:(M+1,0)および(2M−1,M)、ズーム2 306:(0,M+1)および(M,2M−1)、並びにズーム3 308:(M+1,M+1)および(2M−1,2M−1)。代替として、選択されたピクセルは、PUまたはCUの左上隅であってよく、4つのズームは相応に再定義され得る。
[0182] T0 312、T1 314、L0 316、およびL1 318の順序は次のように定義され得る。(dx,dy)がズーム0 312にあり、dx=dyである場合、順序は、L0 316、T0 312 312、L1 318 318、T1 314 314であり得る。代替として、L0 316 316およびT0 312 312の順序は交換可能なことがあり、かつL1 318 318およびT1 314 314の順序は交換可能なことがある。(dx,dy)がズーム0 302にあり、dx<dyである場合、順序は、L0 316、T0 312、L1 318、T1 314であってよく、代替として、順序は、L0 316、L1 318、T0 312、T1 314であり得る。(dx,dy)がズーム0 302にあり、dx>dyである場合、順序は、T0 312、L0 316、T1 314、L1 318であってよく、代替として、順序は、T0 312、T1 314、L0 316、L1 318であり得る。(dx,dy)がズーム1 304にある場合、順序は、T1 314、T0 312、L0 316、L1 318であり得る。(dx,dy)がズーム2 306にあり、dx=dyである場合、順序は、L1 318、T1 314、L0 316、T0 312であってよく、代替として、L0 316およびT0 312の順序は交換可能であることがあり、かつL1 318およびT1 314の順序は交換可能であることがある。(dx,dy)がズーム3 308にあり、dx<dyである場合、順序は、L1 318、T1 314、L0 316、T0 312であってよく、代替として、順序は、L1 318、T1 314、L0 316、T0 312であり得る。(dx,dy)がズーム3にあり、dx>dyである場合、順序は、T1 314、L1 318、T0 312、L0 316であってよく、代替として、順序は、T1 314、T0 312、L1 318、L0 316であり得る。
[0183] 領域ごとに、ビデオコーダはすべてのブロック(4×4)を、それが上の領域に属するか、または左の領域に属するかに応じて、左から右に、または上から下に確認できる。視差ベクトルが利用可能であるとき、視差ベクトルが生成され、領域全体の走査が終了し、生成プロセスはこの視差ベクトルを返すことができる。視差ベクトルが利用不可能なとき、生成プロセスは空を返すことができる。
[0184] 視差ベクトルの利用可能性は、以下が真である場合に利用可能と定義され得る。ブロック中の少なくとも1つの動きベクトルが視差動きベクトルであり、視差動きベクトルが、参照ビューおよびターゲットビューに関してターゲット視差ベクトルと一致する。代替として、視差ベクトルの利用可能性は、ブロック中の少なくとも1つの動きベクトルが視差動きベクトルである場合に利用可能と定義され得る。
[0185] ビデオコーダは、任意のPUの空間的視差ベクトルを生成するように構成され得る。まず、各領域の視差ベクトルが生成され、一時的に記憶されてよく、そのためこの例では最大4つの視差ベクトルがあり得る。PUまたはCUごとに、L0 316、L1 318、T0 312、T1 314の順序が上述のように決定され得るので、各領域は所与の順序で確認され得る。領域の各々が確認され、その対応する視差ベクトル(すでに生成されているか、または空として知られている)が空でないとき、それはPUまたはCUの視差ベクトルに設定されてよく、プロセス全体が停止し得る。視差ベクトルが発見されない場合、プロセス全体は空(視差ベクトルを利用できない)を返すことができる。
[0186] ビデオコーダは、左上ブロック「B310」を割り振ることもできる。ブロックBがいずれの領域に属するかに関して上述した1つの選択肢は、領域の順序に依存し得る。一例で、ビデオコーダは、いずれの領域が最初に確認されるかに応じて、B310をL0 316またはT0 312に割り振る。
[0187] 代替例で、L0 316およびL1 318はLに結合されてよく、かつT0 312およびT1 314はTに結合されてよい。一方、B310は、場合によりTまたはLのいずれかから除去され得る。(dx,dy)は依然として、選択されたピクセルの相対座標であり得る。確認対象領域の順序は、B、(dx≦dy)の場合にL、そうでない場合にT、および(dx≦dy)の場合にT、そうでない場合にLと定義され得る。代替として、確認対象領域の順序は、(dx≦dy)の場合にL、そうでない場合にT、(dx≦dy)の場合にT、そうでない場合にL、そしてBであり得る。
[0188] 別の代替で、LまたはT内の走査順序は、左から右または上から下だけではない。(dx,dy)は依然として、選択されたピクセルの相対座標である。dx≦Mである場合、T中のブロックの走査順序は左から右であり、そうでない場合は右から左であり得る。dy≦Mである場合、L中のブロックの走査順序は上から下であってよく、そうでない場合は下から上である。
[0189] 別の代替で、L0 316、L1 318、T0 312またはT1 314内の走査順序は、左から右または上から下だけではない。L0 316、L1 318、T0 312またはT1 314内の順序は、選択されたピクセルの相対座標(dx,dy)に応じて逆転し得る。例えば、M/2<dx≦Mである場合、T0 312内のブロックの走査順序は右から左であり得る。
[0190] 別の代替では、L0 316、L1 318、T0 312またはT1 314中のブロックのすべてが走査されるとは限らず、各領域(L0 316、L1 318、T0 312およびT1 314)の中央のブロックのみが走査され得る。すべての座標が(x0,y0)との対比であり得る。L0 316の場合、中央ブロックはM/2の相対y座標から始まる。L1 318の場合、中央ブロックはM*3/2の相対y座標から始まる。T0 312の場合、中央ブロックはM/2の相対x座標から始まる。T1 314の場合、中央ブロックはM*3/2の相対x座標から始まる。この場合、Bは追加的に加えられ得る。従って、全部で、視差ベクトル生成中に空間的ブロックについて、4つまたは5つのブロックのみが確認され得る。
[0191] 代替として、上述の結合された各領域(LおよびT)の中央ブロックのみが走査され得る。Lの場合、中央ブロックはMの相対y座標から始まってよく、Tの場合、中央ブロックはMの相対x座標から始まってよい。さらに、Bが追加され得る。従って、全部で、2つまたは3つのブロックのみが確認され得る。
[0192] 代替として、各領域(LおよびT)の中央ブロックのみが走査され得る。ここでは、LまたはTはBを含むことができる。
[0193] 別の代替で、T0 312、T1 314、L0 316およびL1 318の順序は、視差生成ブロックユニットにおいてすべてのPUまたはCUについて固定され得る。確認順序は、L1 318、L0 316、T1 314、T0 312、Bであり得る。代替として、上記順序の任意の置換が適用され得る。L1 318またはL0 316中のブロックの場合、確認順序は、上から下または下から上のいずれかであり得る。T1 314またはT0 312中のブロックの場合、確認順序は、左から右または右から左のいずれかであり得る。
[0194] 代替として、LまたはT内の走査順序は、左から右または上から下だけではないことがある。例えば、Lは右から左に走査されてよく、Tは下から右に走査されてよい。代替として、走査順序の任意の他の置換が適用され得る。
[0195] 図13は、1つの領域として結合されたときの近隣ブロックの走査順序の例を示す概念図である。図13の例は、図12のL、T、およびBの領域がさらに結合されて領域N332を形成していることを除いて、図12の上記例と同様である。図13に示すように、ビデオコーダはN332を下から上に(図12のB310の位置に)、次いで左から右に走査できる。
[0196] 代替的に、L、T、およびBの領域がさらに領域Nに結合されてよく、Nは逆転した順序から(例えば、右から左に、次いで上から下に)走査され得る。
[0197] 代替的に、順序は(上のブロックでは)右から左に、そして(左のブロックでは)上から下になるように逆転してよく、それが元の順序であるか、または逆転した順序であるかは、dx≦dyであるかどうかによって判断され得る。例えば、(dx≦dy)である場合、ビデオコーダは元の順序を使用でき、そうでない場合、ビデオコーダは逆転した順序を使用できる。
[0198] 図14は、時間的視差ベクトル確認のための例示的な方法を示す概念図である。図14は、PUレベル視差ベクトル生成が空間的隣接ブロックについてCUレベルに統一される一例を示している。従って、この例は、PUレベル視差ベクトル生成とCUレベル視差生成との統一に関する。
[0199] 現在のピクチャ352のLCU360におけるCU362の所与のPU364について、PU364が視差動きベクトル366を使用して予測される場合、例えば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダによって、コロケートCU(CCU)が常に確認され得る。現在のピクチャ352のCU中の各PUまたは各CUについて、CCU356として示されたCUのコロケート領域が識別され得る。図14に示すように、CLCU354によって示された、CCU356と(BR’358によって示された)CCU356の右下4×4ブロックとを包含する最大CUは、時間的隣接ブロックとして使用され得る。
[0200] 上記3つの領域の順序は、Chenらによる「Motion Parameter Prediction and Coding for Multiview Video」に記述されている順序と同様であってよいことに留意されたい。例えば、順序は、CCU356、CLCU354、そしてBR’358、またはBR’358、CCU356、そしてCLCU354であり得る。
[0201] 複数のブロックを含むCCUまたはCLCUを確認するとき、各CCUまたはCLCUの16×16ブロックがラスタ走査順序で確認され得る。視差ベクトルが利用可能なとき、確認プロセスは終了し得る。代替として、BR’はCCUにおける中央の4×4ブロックのうちの1つに置き換えられ得る。代替として、BR’はCCUにおける任意の他の4×4ブロックに置き換えられ得る。代替として、BR’は利用不可能に設定され、確認されないことがある。代替として、BR’とCCUの両方が利用不可能に設定され、確認されないことがある。
[0202] Chenらによる「Motion Parameter Prediction and Coding for Multiview Video」で説明されているように、視差ベクトル生成は他のタイプの視差ベクトル、例えば空間的視差ベクトルを確認し得ることに留意されたい。図14の例は、PUおよびCUの時間的隣接ブロックを統一でき、それにより、それらは、時間的視差ベクトル確認についての同じプロセスと同じ結果とを共有できる。候補ピクチャ選択方法は、Chenらによる「Motion Parameter Prediction and Coding for Multiview Video」で説明されている方法と同じであり得る。
[0203] 代替として、CUサイズが16×16よりも小さい場合、CCUは、このCUを包含する16×16ブロックに拡張され得る。残りのプロセスは同じであるが、拡張されたCCUに適用され得る。
[0204] 代替として、プロセスは、Chenらによる「Motion Parameter Prediction and Coding for Multiview Video」で説明されているプロセスと同様であり得るが、PUサイズが16×16よりも小さい場合、CPUは、このCUを包含する16×16ブロックに拡張され得る。残りのプロセスは同じであるが、拡張されたCCUに適用され得る。
[0205] 図15は、本開示の技法による、視差動きベクトルを符号化するための例示的な方法を示すフローチャートである。ビデオエンコーダ20に関して説明するが、他のデバイスまたは構成要素が図15の方法を行うように構成され得ることを理解されたい。その上、ただ1つの例が示されているが、図15の方法の複数の例が、共通包含ブロック(例えば、MERまたは共通CUの複数のPU)の複数のブロックについて実質的に同時に、例えば並列に行われ得ることを理解されたい。
[0206] この例で、ビデオエンコーダ20は最初に、ビュー間予測を使用して包含ブロック中の現在のブロックを符号化できる(380)。例えば、様々な試験符号化パスを行った後、ビデオエンコーダ20は最終的に、現在のブロックがビュー間予測を使用して符号化されるべきであると判断できる。従って、ビデオエンコーダ20は、ビュー間参照ピクチャを指す視差動きベクトルを使用して現在のブロックを符号化できる。
[0207] ビデオエンコーダ20は、次いで、視差動きベクトルを符号化し得る。そうするために、ビデオエンコーダ20は、視差動きベクトルのための候補動きベクトル予測子を含む候補リストを形成できる。特に、本開示の技法によれば、ビデオエンコーダ20は、現在のブロックの特定の隣接ブロックが、現在のブロックを含む包含ブロック中にあるかどうかを判断できる(382)。隣接ブロックが包含ブロック中にない場合(382の「いいえ」分岐)、ビデオエンコーダ20は、現在のブロックの隣接ブロックを候補リストに追加できる(384)。一方、隣接ブロックが、現在のブロックをも含む包含ブロック中にある場合(382の「はい」分岐)、ビデオエンコーダ20は、包含ブロックの隣接ブロックを候補リストに追加できる(386)。言い換えれば、ビデオエンコーダ20は、現在のブロックの隣接ブロックを包含ブロックの隣接ブロックで代替できる。ビデオエンコーダ20は、例えば図8〜図11に関して上述した様々な例または他の代替方式に従って、この代替を行い得る。
[0208] 次いでビデオエンコーダ20は、前の隣接ブロックが、候補リストへの追加について検討されるべき最後の隣接ブロックであったかどうかを判断できる(388)。前の隣接ブロックが検討されるべき最後の隣接ブロックでなかった場合(388の「いいえ」分岐)、ビデオエンコーダ20は、次の隣接ブロック、また特に、上述したように、現在のブロックの次の隣接ブロックを、包含ブロックの隣接ブロックで代替するかどうかを検討できる。一方、前の隣接ブロックが最後の隣接ブロックであった場合(388の「はい」分岐)、ビデオエンコーダ20は、いくつかの例では、場合によっては候補リストをプルーニングした後、候補リストから視差動きベクトル予測子を選択できる(390)。ビデオエンコーダ20は、次いで、視差動きベクトル予測子を使用して、例えばマージモードまたはAMVPモードを使用して、視差動きベクトルを符号化できる(392)。
[0209] このようにして、図15の方法は、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを符号化することとを含む方法の例を表している。
[0210] 図16は、本開示の技法による、視差動きベクトルを復号するための例示的な方法を示すフローチャートである。ビデオデコーダ30に関して説明するが、他のデバイスまたは構成要素が図16の方法を行うように構成され得ることを理解されたい。その上、ただ1つの例が示されているが、図16の方法の複数の例が、共通包含ブロック(例えば、MERまたは共通CUの複数のPU)の複数のブロックについて実質的に同時に、例えば並列に行われ得ることを理解されたい。
[0211] 最初に、ビデオデコーダ30は、包含ブロック中の現在のブロックがビュー間予測を使用して符号化されていると判断し得る(400)。そこで、ビデオデコーダ30は、視差動きベクトルが復号されるべきであると判断し得る。従って、ビデオデコーダ30は、上記の図15に関して説明したのと実質的に同じ方法で候補リストを構成できる。例えば、ビデオデコーダ30は、視差動きベクトルのための候補動きベクトル予測子を含む候補リストを形成できる。特に、本開示の技法によれば、ビデオデコーダ30は、現在のブロックの特定の隣接ブロックが、現在のブロックを含む包含ブロック中にあるかどうかを判断できる(402)。隣接ブロックが包含ブロック中にない場合(402の「いいえ」分岐)、ビデオデコーダ30は、現在のブロックの隣接ブロックを候補リストに追加できる(404)。一方、隣接ブロックが、現在のブロックをも含む包含ブロック中にある場合(402の「はい」分岐)、ビデオデコーダ30は、包含ブロックの隣接ブロックを候補リストに追加できる(406)。言い換えれば、ビデオデコーダ30は、現在のブロックの隣接ブロックを包含ブロックの隣接ブロックで代替できる。ビデオデコーダ30は、例えば図8〜図11に関して上述した様々な例または他の代替方式に従って、この代替を行い得る。
[0212] 次いでビデオデコーダ30は、前の隣接ブロックが、候補リストへの追加について検討されるべき最後の隣接ブロックであったかどうかを判断できる(408)。前の隣接ブロックが検討されるべき最後の隣接ブロックでなかった場合(388の「いいえ」分岐)、ビデオデコーダ30は、次の隣接ブロック、また特に、上述したように、現在のブロックの次の隣接ブロックを、包含ブロックの隣接ブロックで代替するかどうかを検討できる。一方、前の隣接ブロックが最後の隣接ブロックであった場合(408の「はい」分岐)、ビデオデコーダ30は、いくつかの例では、場合によっては候補リストをプルーニングした後、候補リストから視差動きベクトル予測子を選択できる(410)。例えば、ビデオデコーダ30は、候補リストへのインデックスを表す、マージインデックスまたはAMVPインデックスを復号し、候補リストへのインデックスに対応する隣接ブロックの動き情報から視差動きベクトル予測子を選択できる。
[0213] ビデオデコーダ30は、次いで、視差動きベクトル予測子を使用して、例えばマージモードまたはAMVPモードを使用して、視差動きベクトルを復号できる(412)。例えば、マージモードで、ビデオデコーダ30は、現在のブロックの視差動きベクトルが、ステップ410で選択された視差動きベクトル予測子に相当すると判断し得る。代替として、AMVPモードで、ビデオデコーダ30はさらに、動きベクトル差分値を定義するデータを復号でき、ビデオデコーダ30は、視差動きベクトル予測子に動きベクトル差分値を追加することによって、視差動きベクトルを再生できる。
[0214] いずれの場合にも、ビデオデコーダ30は、次いで、復号された視差動きベクトル予測子を使用して、現在のブロックを復号し得る(414)。すなわち、ビデオデコーダ30は、視差動きベクトルによって識別されたビュー間参照ブロックから予測ブロックを生成し、量子化変換係数を定義するシンタックス要素を復号し、これらの係数を逆量子化し逆変換して残差ブロックを再生し、(残差ブロックのピクセル値に予測ブロックのピクセル値を追加することによって)予測ブロックを残差ブロックと結合して最終的に現在のブロックをもたらすことができる。
[0215] このようにして、図16の方法は、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、現在のブロックの隣接ブロックも包含ブロック内にあるとの判断に基づいて、候補リスト中で隣接ブロックを、包含ブロックの外にあって包含ブロックに隣接するブロックで代替することと、候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、視差動きベクトル予測子に基づいて視差動きベクトルを復号することとを含む方法の例を表している。
[0216] 例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なるシーケンスで行われ得、追加、マージ、または完全に除外され得る(例えば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例で、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に行われ得る。
[0217] 1つまたは複数の例で、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0218] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0219] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様で、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において十分に実装され得る。
[0220] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(例えば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0221] 様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
[0221] 様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] ビデオデータを復号する方法であって、
包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、
前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、
前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、
前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号することと
を備える方法。
[C2] 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、C1に記載の方法。
[C3] 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替することを備える、C2に記載の方法。
[C4] 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、C2に記載の方法。
[C5] 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替することを備える、C2に記載の方法。
[C6] 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替することを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、C2に記載の方法。
[C7] 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替することを備える、C2に記載の方法。
[C8] 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、C2に記載の方法。
[C9] 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替ことを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、C2に記載の方法。
[C10] 前記包含ブロックがコーディングユニット(CU)を備え、前記現在のブロックが予測ユニット(PU)を備える、C1に記載の方法。
[C11] 前記視差動きベクトルを使用してビデオデータの前記現在のブロックを復号することをさらに備える、C1に記載の方法。
[C12] 前記視差動きベクトルを復号することが、
動きベクトル差分値を復号することと、
前記視差動きベクトル予測子に前記動きベクトル差分値を追加して前記視差動きベクトルを再生することと
を備える、C1に記載の方法。
[C13] ビデオデータを復号するためのデバイスであって、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
[C14] 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、C13に記載のデバイス。
[C15] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替するように構成される、C14に記載のデバイス。
[C16] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、C14に記載のデバイス。
[C17] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替するように構成される、C14に記載のデバイス。
[C18] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、C14に記載のデバイス。
[C19] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替するように構成される、C14に記載のデバイス。
[C20] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、C14に記載のデバイス。
[C21] 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、C14に記載のデバイス。
[C22] 前記包含ブロックがコーディングユニット(CU)を備え、前記現在のブロックが予測ユニット(PU)を備える、C13に記載のデバイス。
[C23] 前記ビデオデコーダが、前記視差動きベクトルを使用してビデオデータの前記現在のブロックを復号するようにさらに構成される、C13に記載のデバイス。
[C24] 前記ビデオデコーダが、動きベクトル差分値を復号することと、前記視差動きベクトル予測子に前記動きベクトル差分値を追加して前記視差動きベクトルを再生することとを行うように構成される、C13に記載のデバイス。
[C25] 前記デバイスが、
集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイス
のうちの少なくとも1つを備える、C13に記載のデバイス。
[C26] ビデオデータを復号するためのデバイスであって、
包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断するための手段と、
前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替するための手段と、
前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択するための手段と、
前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号するための手段と
を備えるデバイス。
[C27] 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、C26に記載のデバイス。
[C28] 実行されたとき、1つまたは複数のプロセッサに、
包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、
前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、
前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、
前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
[C29] 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、C28に記載のコンピュータ可読記憶媒体。
[C30] ビデオデータを符号化する方法であって、
視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、
前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、
前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、
前記視差動きベクトル予測子に基づいて前記視差動きベクトルを符号化することと
を備える方法。
[C31] 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、C30に記載の方法。
[C32] 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替することを備える、C31に記載の方法。
[C33] 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、C31に記載の方法。
[C34] 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替することを備える、C31に記載の方法。
[C35] 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替することを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、C31に記載の方法。
[C36] 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替することを備える、C31に記載の方法。
[C37] 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、C31に記載の方法。
[C38] 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替することを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、C31に記載の方法。
[C39] 前記包含ブロックがコーディングユニット(CU)を備え、前記現在のブロックが予測ユニット(PU)を備える、C30に記載の方法。
[C40] 前記視差動きベクトルを符号化することが、
前記視差動きベクトルと前記視差動きベクトル予測子との間の差分を計算することと、
前記差分を符号化することと
を備える、C30に記載の方法。
[C41] ビデオデータを符号化するためのデバイスであって、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、前記視差動きベクトル予測子に基づいて前記視差動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
[C42] 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、C41に記載のデバイス。
[C43] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替するように構成される、C42に記載のデバイス。
[C44] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、C42に記載のデバイス。
[C45] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替するように構成される、C42に記載のデバイス。
[C46] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、C42に記載のデバイス。
[C47] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替するように構成される、C42に記載のデバイス。
[C48] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、C42に記載のデバイス。
[C49] 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、C42に記載のデバイス。
[C50] 集積回路、
マイクロプロセッサ、および
ワイヤレス通信デバイス
のうちの少なくとも1つを備える、C41に記載のデバイス。

Claims (50)

  1. ビデオデータを復号する方法であって、
    包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、
    前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、
    前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、
    前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号することと
    を備える方法。
  2. 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、請求項1に記載の方法。
  3. 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替することを備える、請求項2に記載の方法。
  4. 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、請求項2に記載の方法。
  5. 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替することを備える、請求項2に記載の方法。
  6. 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替することを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、請求項2に記載の方法。
  7. 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替することを備える、請求項2に記載の方法。
  8. 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、請求項2に記載の方法。
  9. 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替ことを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、請求項2に記載の方法。
  10. 前記包含ブロックがコーディングユニット(CU)を備え、前記現在のブロックが予測ユニット(PU)を備える、請求項1に記載の方法。
  11. 前記視差動きベクトルを使用してビデオデータの前記現在のブロックを復号することをさらに備える、請求項1に記載の方法。
  12. 前記視差動きベクトルを復号することが、
    動きベクトル差分値を復号することと、
    前記視差動きベクトル予測子に前記動きベクトル差分値を追加して前記視差動きベクトルを再生することと
    を備える、請求項1に記載の方法。
  13. ビデオデータを復号するためのデバイスであって、包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
  14. 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、請求項13に記載のデバイス。
  15. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替するように構成される、請求項14に記載のデバイス。
  16. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、請求項14に記載のデバイス。
  17. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替するように構成される、請求項14に記載のデバイス。
  18. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、請求項14に記載のデバイス。
  19. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替するように構成される、請求項14に記載のデバイス。
  20. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、請求項14に記載のデバイス。
  21. 前記ビデオデコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、請求項14に記載のデバイス。
  22. 前記包含ブロックがコーディングユニット(CU)を備え、前記現在のブロックが予測ユニット(PU)を備える、請求項13に記載のデバイス。
  23. 前記ビデオデコーダが、前記視差動きベクトルを使用してビデオデータの前記現在のブロックを復号するようにさらに構成される、請求項13に記載のデバイス。
  24. 前記ビデオデコーダが、動きベクトル差分値を復号することと、前記視差動きベクトル予測子に前記動きベクトル差分値を追加して前記視差動きベクトルを再生することとを行うように構成される、請求項13に記載のデバイス。
  25. 前記デバイスが、
    集積回路、
    マイクロプロセッサ、および
    ワイヤレス通信デバイス
    のうちの少なくとも1つを備える、請求項13に記載のデバイス。
  26. ビデオデータを復号するためのデバイスであって、
    包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断するための手段と、
    前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替するための手段と、
    前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択するための手段と、
    前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号するための手段と
    を備えるデバイス。
  27. 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、請求項26に記載のデバイス。
  28. 実行されたとき、1つまたは複数のプロセッサに、
    包含ブロック内にあるビデオデータの現在のブロックが視差動きベクトルを使用して符号化されていると判断することと、
    前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、
    前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、
    前記視差動きベクトル予測子に基づいて前記視差動きベクトルを復号することと
    を行わせる命令を記憶したコンピュータ可読記憶媒体。
  29. 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、請求項28に記載のコンピュータ可読記憶媒体。
  30. ビデオデータを符号化する方法であって、
    視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、
    前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、
    前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、
    前記視差動きベクトル予測子に基づいて前記視差動きベクトルを符号化することと
    を備える方法。
  31. 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、請求項30に記載の方法。
  32. 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替することを備える、請求項31に記載の方法。
  33. 代替することが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、請求項31に記載の方法。
  34. 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替することを備える、請求項31に記載の方法。
  35. 代替することが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替することを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、請求項31に記載の方法。
  36. 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替することを備える、請求項31に記載の方法。
  37. 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替することを備え、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、請求項31に記載の方法。
  38. 代替することが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替することを備え、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、請求項31に記載の方法。
  39. 前記包含ブロックがコーディングユニット(CU)を備え、前記現在のブロックが予測ユニット(PU)を備える、請求項30に記載の方法。
  40. 前記視差動きベクトルを符号化することが、
    前記視差動きベクトルと前記視差動きベクトル予測子との間の差分を計算することと、
    前記差分を符号化することと
    を備える、請求項30に記載の方法。
  41. ビデオデータを符号化するためのデバイスであって、視差動きベクトルを使用して、包含ブロック内のビデオデータの現在のブロックを符号化することと、前記現在のブロックの隣接ブロックも前記包含ブロック内にあるとの判断に基づいて、候補リスト中で前記隣接ブロックを、前記包含ブロックの外にあって前記包含ブロックに隣接するブロックで代替することと、前記候補リスト中の複数のブロックのうちの1つから視差動きベクトル予測子を選択することと、前記視差動きベクトル予測子に基づいて前記視差動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
  42. 前記包含ブロックが動き推定領域(MER)を備え、前記現在のブロックがコーディングユニット(CU)および予測ユニット(PU)のうちの1つを備える、請求項41に記載のデバイス。
  43. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左下隣接ブロックで代替するように構成される、請求項42に記載のデバイス。
  44. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左下隣接ブロックに対応するときに、前記現在のブロックの前記左下隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左下隣接ブロックと同じ垂直位置を有するようになる、請求項42に記載のデバイス。
  45. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの右上隣接ブロックで代替するように構成される、請求項42に記載のデバイス。
  46. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの右上隣接ブロックに対応するときに、前記現在のブロックの前記右上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記右上隣接ブロックと同じ水平位置を有するようになる、請求項42に記載のデバイス。
  47. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左上隣接ブロックで代替するように構成される、請求項42に記載のデバイス。
  48. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの左隣接ブロックで代替するように構成され、結果的に前記MERの前記左隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ垂直位置を有するようになる、請求項42に記載のデバイス。
  49. 前記ビデオエンコーダが、前記隣接ブロックが前記現在のブロックの左上隣接ブロックに対応するときに、前記現在のブロックの前記左上隣接ブロックを前記MERの上隣接ブロックで代替するように構成され、結果的に前記MERの前記上隣接ブロックが前記現在のブロックの前記左上隣接ブロックと同じ水平位置を有するようになる、請求項42に記載のデバイス。
  50. 集積回路、
    マイクロプロセッサ、および
    ワイヤレス通信デバイス
    のうちの少なくとも1つを備える、請求項41に記載のデバイス。
JP2015507229A 2012-04-20 2013-04-19 ビデオコーディングのためのビュー間予測のための視差ベクトル生成 Pending JP2015515227A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261636554P 2012-04-20 2012-04-20
US61/636,554 2012-04-20
US13/865,894 US9549180B2 (en) 2012-04-20 2013-04-18 Disparity vector generation for inter-view prediction for video coding
US13/865,894 2013-04-18
PCT/US2013/037442 WO2013159038A1 (en) 2012-04-20 2013-04-19 Disparity vector generation for inter-view prediction for video coding

Publications (2)

Publication Number Publication Date
JP2015515227A true JP2015515227A (ja) 2015-05-21
JP2015515227A5 JP2015515227A5 (ja) 2016-05-19

Family

ID=48325898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015507229A Pending JP2015515227A (ja) 2012-04-20 2013-04-19 ビデオコーディングのためのビュー間予測のための視差ベクトル生成

Country Status (6)

Country Link
US (1) US9549180B2 (ja)
EP (1) EP2839657A1 (ja)
JP (1) JP2015515227A (ja)
KR (1) KR20150015462A (ja)
CN (1) CN104335589B (ja)
WO (1) WO2013159038A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171836B2 (en) 2012-10-07 2019-01-01 Lg Electronics Inc. Method and device for processing video signal

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6039178B2 (ja) * 2011-09-15 2016-12-07 シャープ株式会社 画像符号化装置、画像復号装置、並びにそれらの方法及びプログラム
JP6480186B2 (ja) * 2012-01-19 2019-03-06 ヴィド スケール インコーポレイテッド ビデオコーディング量子化およびダイナミックレンジ制御のシステムおよび方法
US9609341B1 (en) * 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9860555B2 (en) * 2012-05-22 2018-01-02 Lg Electronics Inc. Method and apparatus for processing video signal
CN104521236B (zh) * 2012-07-27 2017-10-20 寰发股份有限公司 三维视频编码或解码方法
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US10075728B2 (en) * 2012-10-01 2018-09-11 Inria Institut National De Recherche En Informatique Et En Automatique Method and device for motion information prediction refinement
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
CN102946535B (zh) * 2012-10-09 2015-05-13 华为技术有限公司 预测块的视差矢量预测值获取的方法和装置
JP6280128B2 (ja) * 2012-11-07 2018-02-14 エルジー エレクトロニクス インコーポレイティド 多視点ビデオ信号の処理方法及び装置
EP2920966B1 (en) * 2012-11-15 2019-12-18 MediaTek Inc. Inter-layer texture coding with adaptive transform and multiple inter-layer motion candidates
CN105308970B (zh) * 2013-04-05 2018-11-23 三星电子株式会社 针对整数像素的位置对视频进行编码和解码的方法和设备
WO2014166063A1 (en) * 2013-04-09 2014-10-16 Mediatek Inc. Default vector for disparity vector derivation for 3d video coding
PL2984841T3 (pl) * 2013-04-12 2016-12-30 Tworzenie list międzywarstwowych obrazów referencyjnych
US20160134891A1 (en) * 2013-04-23 2016-05-12 Samsung Electronics Co., Ltd. Multi-viewpoint video encoding method using viewpoint synthesis prediction and apparatus for same, and multi-viewpoint video decoding method and apparatus for same
US10356426B2 (en) * 2013-06-27 2019-07-16 Google Llc Advanced motion estimation
US10264290B2 (en) 2013-10-25 2019-04-16 Microsoft Technology Licensing, Llc Hash-based block matching in video and image coding
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
WO2015089721A1 (en) * 2013-12-17 2015-06-25 Mediatek Singapore Pte. Ltd. Improved advanced residual prediction in 3dvc
CN103747265B (zh) * 2014-01-03 2017-04-12 华为技术有限公司 一种nbdv获取方法及视频解码装置
CN105556971B (zh) 2014-03-04 2019-07-30 微软技术许可有限责任公司 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN105393537B (zh) 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
US10666968B2 (en) 2014-05-06 2020-05-26 Hfi Innovation Inc. Method of block vector prediction for intra block copy mode coding
KR20170018838A (ko) 2014-06-16 2017-02-20 퀄컴 인코포레이티드 3d―hevc 에서의 간략화된 병합 후보의 시프팅 및 병합 리스트 유도
US10681372B2 (en) 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
RU2679981C2 (ru) 2014-09-30 2019-02-14 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Основанные на хешах решения кодера для кодирования видео
JP2016127372A (ja) * 2014-12-26 2016-07-11 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10880573B2 (en) 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
WO2019036080A1 (en) * 2017-08-15 2019-02-21 Google Llc ESTIMATION OF CONSTRAINED MOTION FIELD FOR INTERPRETING
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
JP2018164265A (ja) * 2018-05-14 2018-10-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出
US10469869B1 (en) 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
US10587885B2 (en) * 2018-06-04 2020-03-10 Tencent America LLC Method and apparatus for merge mode with additional middle candidates in video coding
US10798394B2 (en) * 2018-06-27 2020-10-06 Avago Technologies International Sales Pte. Limited Low complexity affine merge mode for versatile video coding
CN110944184B (zh) * 2018-09-25 2022-05-31 华为技术有限公司 视频解码方法及视频解码器
WO2020098807A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Controlling merge with motion vector differencing mode
EP3664451B1 (en) * 2018-12-06 2020-10-21 Axis AB Method and device for encoding a plurality of image frames
CN110832869B (zh) * 2019-01-02 2023-04-14 深圳市大疆创新科技有限公司 用于视频编码或解码的运动信息获取方法与装置
WO2020192726A1 (en) 2019-03-27 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. History-based motion vector prediction
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
JP7460661B2 (ja) 2019-06-06 2024-04-02 北京字節跳動網絡技術有限公司 映像符号化のための動き候補リストの構成
CN114175636B (zh) 2019-07-14 2024-01-12 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519226A (ja) * 2008-04-25 2011-06-30 トムソン ライセンシング 奥行きを用いた視点間スキップモード

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612735A (en) * 1995-05-26 1997-03-18 Luncent Technologies Inc. Digital 3D/stereoscopic video compression technique utilizing two disparity estimates
US6970206B1 (en) 2000-04-20 2005-11-29 Ati International Srl Method for deinterlacing interlaced video by a graphics processor
JP4262014B2 (ja) 2003-07-31 2009-05-13 キヤノン株式会社 画像撮影装置および画像処理方法
KR100888962B1 (ko) 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8854486B2 (en) 2004-12-17 2014-10-07 Mitsubishi Electric Research Laboratories, Inc. Method and system for processing multiview videos for view synthesis using skip and direct modes
US8644386B2 (en) 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
KR101276720B1 (ko) 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
KR101370919B1 (ko) 2006-07-12 2014-03-11 엘지전자 주식회사 신호처리방법 및 장치
GB2445008B (en) 2006-12-20 2008-12-31 Sony Comp Entertainment Europe Image compression and/or decompression
US20080159407A1 (en) 2006-12-28 2008-07-03 Yang Nick Y Mechanism for a parallel processing in-loop deblock filter
JP5249242B2 (ja) 2007-01-24 2013-07-31 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
US8953684B2 (en) 2007-05-16 2015-02-10 Microsoft Corporation Multiview coding with geometry-based disparity prediction
JP5303556B2 (ja) 2007-08-06 2013-10-02 トムソン ライセンシング 複数のインタービュー参照ピクチャを用いたモーションスキップモードのための方法及び装置
RU2010120518A (ru) * 2007-10-15 2011-11-27 Нокиа Корпорейшн (Fi) Пропуск информации движения и одноцикловое кодирование для многоракурсного видеоконтента
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
US9479786B2 (en) * 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
EP2338281A4 (en) * 2008-10-17 2012-08-15 Nokia Corp SHARING THE MOTION VECTOR IN 3D VIDEO CODING
US8982183B2 (en) 2009-04-17 2015-03-17 Lg Electronics Inc. Method and apparatus for processing a multiview video signal
KR20110090511A (ko) 2010-02-04 2011-08-10 삼성전자주식회사 통신 기기에서 3차원 영상을 위한 영상 처리 방법 및 장치
ES2561078T3 (es) 2010-07-15 2016-02-24 Ge Video Compression, Llc Codificación de vídeo híbrido que soporta síntesis de vistas intermedias
JP6004271B2 (ja) 2011-01-12 2016-10-05 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US20120189060A1 (en) 2011-01-20 2012-07-26 Industry-Academic Cooperation Foundation, Yonsei University Apparatus and method for encoding and decoding motion information and disparity information
US20120236115A1 (en) * 2011-03-14 2012-09-20 Qualcomm Incorporated Post-filtering in full resolution frame-compatible stereoscopic video coding
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9247266B2 (en) 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
AU2012269583B2 (en) 2011-06-15 2015-11-26 Hfi Innovation Inc. Method and apparatus of motion and disparity vector prediction and compensation for 3D video coding
WO2013001748A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
EP2781091B1 (en) 2011-11-18 2020-04-08 GE Video Compression, LLC Multi-view coding with efficient residual handling
JP6421931B2 (ja) 2012-03-06 2018-11-14 サン パテント トラスト 動画像符号化方法及び動画像符号化装置
US9445076B2 (en) 2012-03-14 2016-09-13 Qualcomm Incorporated Disparity vector construction method for 3D-HEVC
US9525861B2 (en) 2012-03-14 2016-12-20 Qualcomm Incorporated Disparity vector prediction in video coding
WO2013169031A1 (ko) 2012-05-10 2013-11-14 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US20130336405A1 (en) 2012-06-15 2013-12-19 Qualcomm Incorporated Disparity vector selection in video coding
US9237345B2 (en) * 2013-02-26 2016-01-12 Qualcomm Incorporated Neighbor block-based disparity vector derivation in 3D-AVC

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519226A (ja) * 2008-04-25 2011-06-30 トムソン ライセンシング 奥行きを用いた視点間スキップモード

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIN YU, ET AL.: "Parallel AMVP candidate list construction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 9TH M, vol. JCTVC-I0036, JPN6017001821, 17 April 2012 (2012-04-17) *
YONGJOON JEON, ET AL.: "AHG10: Unified design on parallel merge/skip", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 8TH M, vol. JCTVC-H0090, JPN6017001823, 30 January 2012 (2012-01-30) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171836B2 (en) 2012-10-07 2019-01-01 Lg Electronics Inc. Method and device for processing video signal

Also Published As

Publication number Publication date
KR20150015462A (ko) 2015-02-10
CN104335589B (zh) 2017-10-31
US9549180B2 (en) 2017-01-17
CN104335589A (zh) 2015-02-04
US20130287108A1 (en) 2013-10-31
EP2839657A1 (en) 2015-02-25
WO2013159038A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
JP7342115B2 (ja) 履歴ベースの動きベクトル予測子の改善
JP6585200B2 (ja) ビデオコード化における視差ベクトル予測
JP6419808B2 (ja) ビデオコーディングのための照明補償を処理すること
JP6215295B2 (ja) Hevcおよびその拡張における動きベクトルのコーディングおよび双予測
JP6636530B2 (ja) サブ予測ユニットベース高度時間動きベクトル予測
JP2015515227A (ja) ビデオコーディングのためのビュー間予測のための視差ベクトル生成
JP6337104B2 (ja) テクスチャコーディングのためのより正確な高度残差予測(arp)
JP6430542B2 (ja) 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出
JP6185143B2 (ja) スキップおよびダイレクトモード用の3dビデオコーディングにおける視差ベクトル導出
US9491461B2 (en) Scalable extensions to HEVC and temporal motion vector prediction
JP6254254B2 (ja) 3次元(3d)ビデオコーディング用の進化型マージモード
JP6096217B2 (ja) 3dビデオコーディングにおけるビュー合成予測サポートのシグナリング
JP6258288B2 (ja) 高効率ビデオコーディングのためのハイレベルシンタックスの拡張
JP6855242B2 (ja) ビデオコーディングのためのディスパリティベクトルおよび/または高度残差予測
JP6765957B2 (ja) 後方ビュー合成予測
JP6227678B2 (ja) 3dビデオコーディングにおける導出視差ベクトル
KR20190120389A (ko) 아핀 모션 정보 도출
JP2019068447A (ja) 3dビデオコーディングにおける視差ベクトル導出および動きベクトル予測の簡略化
JP2018110413A (ja) マルチビューコード化及び3dコード化におけるビュー依存性
JP2018522468A (ja) 空間および/または時間動き情報を使用するサブ予測ユニット動きベクトル予測
US20140086328A1 (en) Scalable video coding in hevc
JP6559675B2 (ja) 3次元(3d)hevcまたは他の3dコーディングにおけるサブ予測ユニット(サブpu)動きパラメータ継承(mpi)の制御
JP2016506185A (ja) ビデオコーディング拡張規格のための時間動きベクトル予測
CN114503584A (zh) 基于历史的运动矢量预测
WO2014100610A1 (en) Constraints on neighboring block based disparity vector (nbdv) techniques for 3d video

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171010