JP2015536630A - 3dビデオのための高度マージ/スキップモード及び高度動きベクトル予測(amvp)モード - Google Patents

3dビデオのための高度マージ/スキップモード及び高度動きベクトル予測(amvp)モード Download PDF

Info

Publication number
JP2015536630A
JP2015536630A JP2015545884A JP2015545884A JP2015536630A JP 2015536630 A JP2015536630 A JP 2015536630A JP 2015545884 A JP2015545884 A JP 2015545884A JP 2015545884 A JP2015545884 A JP 2015545884A JP 2015536630 A JP2015536630 A JP 2015536630A
Authority
JP
Japan
Prior art keywords
ipmvc
inter
video
block
predicted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015545884A
Other languages
English (en)
Other versions
JP6271575B2 (ja
JP2015536630A5 (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 JP2015536630A publication Critical patent/JP2015536630A/ja
Publication of JP2015536630A5 publication Critical patent/JP2015536630A5/ja
Application granted granted Critical
Publication of JP6271575B2 publication Critical patent/JP6271575B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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

Landscapes

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

Abstract

ビュー間予測動きベクトル候補(IPMVC)及びビュー間視差動きベクトル候補(IDMVC)が、シフト視差ベクトルに基づいて導出される場合、但し、視差ベクトルがIPMVC及びIDMVCのためにシフトされる量が異なる、技法が説明される。それらの技法はまた、候補リスト中でIDMVCよりもIPMVCの包含を優先させ、重複されたIPMVC又はIDMVCが候補リスト中にある場合、IPMVC及びIDMVCをプルーニングする。

Description

[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、
2012年12月7日に出願された米国仮出願第61/734,929号、及び2012年12月30日に出願された米国仮出願第61/747,350号の利益を主張する。
[0002]本開示は、ビデオコード化に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップコンピュータ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、所謂「スマートフォン」、ビデオ遠隔会議機器、ビデオストリーミング機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、高度ビデオコード化(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコード化(HEVC:High Efficiency Video Coding)規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び/又は記憶し得る。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的(イントラピクチャ)予測及び/又は時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコード化では、ビデオスライス(即ち、ビデオフレーム又はビデオフレームの一部分)がビデオブロックに区分されてよく、これらのビデオブロックは、ツリーブロック、コード化単位(CU)及び/又はコード化ノードと呼ばれることもある。ピクチャのイントラコード化された(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化された(P又はB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、又は他の参照ピクチャ中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測又は時間的予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと、予測ブロックとの間の画素差分を表す。インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化されたブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化されたブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコード化が適用され得る。
[0006]概して、本開示は、マルチビュー及び3Dビデオコード化における動き予測のコード化効率を改善するための技法について説明する。例えば、それらの技法は、マージ/スキップモード及び高度動きベクトル予測(AMVP:advanced motion vector prediction)モードのための候補リスト中の候補として、ビュー間予測動きベクトル候補と、ビュー間視差動きベクトル候補とを利用し得る。それらの技法は、ビュー間予測動きベクトル候補を導出するために、参照ビュー中の参照ブロックを識別するために、インター予測されている現在ブロックのための、視差ベクトルを第1のオフセットだけシフトし、シフトされた視差ベクトルをビュー間視差動きベクトル候補に変換するために、視差ベクトルを第2の異なるオフセットだけシフトし得る。
[0007]幾つかの例では、それらの技法は、ビュー間予測動きベクトル候補が利用可能である場合、ビュー間予測動きベクトル候補のみを候補リスト中に含め、ビュー間予測動きベクトル候補が利用可能ではない場合、ビュー間視差動きベクトル候補のみを候補リスト中に含め得る。幾つかの例では、それらの技法は、別のビュー間予測動きベクトル候補(例えば、視差ベクトルをシフトすることなしに導出されたもの)のための動き情報が、既に候補リスト中に含まれている場合、ビュー間予測動きベクトル候補が利用可能である場合でも、ビュー間予測動きベクトル候補を候補リスト中に含めなくてよい。
[0008]一例では、本開示は、ビデオデータをコード化する方法について説明し、その方法は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC:inter-view disparity motion vector candidate)を導出するか、ビュー間予測動きベクトル候補(IPMVC:inter-view predicted motion vector candidate)を導出するかを決定することと、現在ブロックがマージモード又はスキップモードでインター予測される場合、IPMVCの利用可能性を決定することとを含む。この例では、IPMVCは、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。その方法はまた、IPMVCが候補リスト中に含まれるべきであるか、IDMVCが候補リスト中に含まれるべきであるかを決定することと、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化することとを含む。
[0009]一例では、本開示は、ビデオデータをコード化するための機器について説明しており、その機器はビデオコーダを備え、ビデオコーダは、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、現在ブロックがマージモード又はスキップモードでインター予測される場合、IPMVCの利用可能性を決定することとを行うように構成される。この例では、IPMVCは、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。ビデオコーダはまた、IPMVCが候補リスト中に含まれるべきであるか、IDMVCが候補リスト中に含まれるべきであるかを決定することと、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化することとを行うように構成される。
[0010]一例では、本開示は、実行されたとき、ビデオデータをコード化するための機器の1つ又は複数のプロセッサに、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、現在ブロックがマージモード又はスキップモードでインター予測される場合、IPMVCの利用可能性を決定することとを行わせる命令を記憶した、コンピュータ可読記憶媒体について説明する。この例では、IPMVCは、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。それらの命令はまた、IPMVCが候補リスト中に含まれるべきであるか、IDMVCが候補リスト中に含まれるべきであるかを決定することと、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化することとを、1つ又は複数のプロセッサに行わせる。
[0011]一例では、本開示は、ビデオデータをコード化するための機器について説明し、その機器は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定するための手段と、現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定するための手段と、現在ブロックがマージモード又はスキップモードでインター予測される場合、IPMVCの利用可能性を決定するための手段とを備える。この例では、IPMVCは、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルを備える。その機器はまた、IPMVCが候補リスト中に含まれるべきであるか、IDMVCが候補リスト中に含まれるべきであるかを決定するための手段と、候補リストに基づいて、異なる形式参照ビュー、現在ビュー中の現在ピクチャ中の現在ブロックをインター予測コード化するための手段とを含む。
[0012]1つ又は複数の例の詳細が、添付の図面及び以下の説明に記載されている。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
[0013]本開示のインター予測技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。 [0014]マルチビュービデオのための例示的な復号順序を示す概念図。 [0015]マルチビュービデオのための例示的な予測構造を示す概念図。 [0016]マージモードとAMVPモードの両方で使用され得る候補ブロックの例示的なセットを示す図。 [0017]現在ブロックのための視差ベクトルを決定するための候補ピクチャ中でチェックされるブロックの一例を示す図。 [0018]ビュー間予測動きベクトル候補の例示的な導出プロセスを示す概念図。 [0019]本開示のインター予測技法を実装し得る、ビデオエンコーダの一例を示すブロック図。 [0020]本開示のインター予測技法を実装し得る、ビデオデコーダの一例を示すブロック図。 [0021]本開示の技法による例示的な符号化プロセスを示すフローチャート。 [0022]本開示の技法による例示的な復号プロセスを示すフローチャート。
[0023]本開示は、一般に3D HEVCと呼ばれる新生の3次元の高効率ビデオコード化規格中を含む、マルチビュービデオコード化中の動きパラメータの信号伝達に関係する技法について説明する。ビデオ圧縮技法は、ビデオデータの既にコード化されたブロックに基づいて、ビデオデータの現在ブロックを予測することを含み得る。本開示では、現在ブロックという用語は、一般に、既にコード化されているビデオブロック、又は、まだコード化されていないビデオブロックの対語として、現在コード化(例えば、符号化又は復号)されているビデオデータのブロックを指す。イントラ予測モードでは、現在ブロックは、現在ブロックと同じピクチャ中の1つ又は複数の前にコード化されたブロックに基づいて予測されるが、インター予測モードでは、現在ブロックは、異なるピクチャ中の既にコード化されたブロックに基づいて予測される。異なるピクチャは、現在ブロックと同じビューからの異なる時間インスタンスのピクチャ(例えば、現在ピクチャを含むアクセス単位とは別のアクセス単位中のピクチャ)であってよく、又は、同じ時間インスタンスからであるが、異なるビューからのピクチャ(例えば、現在ピクチャを含むアクセス単位と同じアクセス単位中のピクチャ)であってよい。
[0024]ビデオデコーダが、所与のビデオブロックのためのインター予測を実行することになるとき、動きパラメータは、符号化されたビデオビットストリーム中で信号伝達される。動きパラメータは、例えば、どのピクチャ中のどのブロックを現在ブロックのための予測ブロックとして使用するべきかを、ビデオデコーダが決定することができるように、動きベクトルと、参照ピクチャインデックスと、予測方向とを定義する。ビデオコーダは、符号化されたビットストリーム中で動きパラメータを信号伝達(signaling)するための、様々なモードを使用し得る。インター予測コード化を実施するために必要とされるビット数を低減するために、それらのモードのうちの幾つかは、動きパラメータの明示的な信号伝達ではなく、動きパラメータの予測を利用し得る。高効率ビデオコード化(HEVC)規格では、動きパラメータの予測のための様々なモードがあり、そのうちの1つは、マージモードと呼ばれる。マージモードでは、ビデオコーダは、空間隣接ブロックと時間隣接ブロックとを含み、また、3D−HEVCの場合にはビュー間隣接ブロックをも含む、隣接ブロックからの候補動きパラメータとして使用して、動きパラメータ(例えば、参照ピクチャ及び動きベクトル)の候補リストを構築する。選ばれた動きパラメータは、候補リストからの選択された候補のインデックスを送信することによって、ビデオエンコーダからビデオデコーダへ信号伝達される。ビデオデコーダにおいて、インデックスが復号されると、選択された候補の対応するブロックの全ての動きパラメータが継承される。ビデオエンコーダ及びビデオデコーダは、既にコード化されたブロックに基づいて同じリストを構築するように構成される。従って、インデックスに基づいて、ビデオデコーダは、ビデオエンコーダによって選択された候補の動きパラメータを識別することができる。
[0025]動きパラメータを予測するための別のモードは、スキップモードである。スキップモードは、一般に、マージモードについて上記で説明された同じ方法で動作するが、スキップモードでは、残差データが予測されたブロックに加算されないのに対して、マージモードでは、残差データが予測されたブロックに加算される。マージモードを参照しながら上記で説明された、リストの構築、及び、リスト中の候補を識別するためのインデックスの送信はまた、一般に、スキップモードでも実行される。幾つかのビデオコーデックは、スキップモードをマージモードとは別個のモードとして扱うことができるが、HEVC及びその拡張を含む他のビデオコード化規格は、スキップモードをマージモードの特殊な場合として扱うことができる。
[0026]動きパラメータを予測するための別のモードは、高度動きベクトル予測(AMVP)モードである。AMVPモードでは、各動き仮定のための動きベクトル予測子の候補リストは、コード化された参照インデックスに基づいて導出される。このリストは、同じ参照インデックスと、時間参照ピクチャにおいて同一位置配置されたブロックの隣接ブロックの動きパラメータに基づいて導出される時間動きベクトル予測子とに関連する、隣接ブロックの動きベクトルを含む。選ばれた動きベクトルは、候補リストへのインデックスを送信することによって信号伝達される。加えて、参照インデックス値及び動きベクトル差分も信号伝達される。本開示では、動きベクトル予測子という用語は、一般に、それから1つ又は複数の動きベクトルが予測される、任意の動きベクトルを指すために使用される。幾つかの事例では、動きベクトル予測子及び予測された動きベクトルは同一であり得るが、他の事例では、動きベクトル予測子及び予測された動きベクトルは異なり得る。AMVPモードでは、例えば、予測された動きベクトルは、動きベクトル予測子プラス動きベクトル差分値に対応する。本開示はまた、方向動き予測子という用語にも言及し、方向動き予測子は、一般に、動きベクトル予測子が特定の方向に関連付ける(即ち、特定の参照ピクチャリスト)を指す。双予測の場合、動きベクトル予測子は、2つの方向動き予測子を含み得る。
[0027]視差ベクトルは、一般に、現在ビューの現在ブロックに対応するビュー間参照ピクチャ中のブロックの位置(location)を識別するために使用される。現在ブロックのための視差ベクトル(DV:disparity vector)を導出するために、隣接ブロックベース視差ベクトル(NBDV:Neighboring Blocks based Disparity Vector)導出と呼ばれる技法が、3D−HEVCテストモデル(3D−HTM)の幾つかの現在バージョンにおいて使用される。NBDVは、現在ブロックの空間及び時間隣接ブロックからの、視差動きベクトルを利用する。NBDVでは、空間又は時間隣接ブロックの視差動きベクトルは、固定された順序でチェックされる。視差動きベクトル(即ち、ビュー間参照ピクチャを指す動きベクトル)が識別されると、チェックプロセスが終了させられ、識別された視差動きベクトルが、現在ブロックのためのDVに変換される。DVは、ビュー間動き予測及び/又はビュー間残余予測において使用され得る。全ての予め定義された隣接ブロックをチェックした後、視差動きベクトルが見つからない場合、ゼロDVがビュー間動き予測のために使用され得るが、ビュー間残差予測は、対応する予測単位(PU)に対して使用禁止にされ得る。
[0028]幾つかの例では、現在ブロックのための視差ベクトルは、隣接ブロックの視差ベクトルから導出され得る。例えば、隣接ブロック(例えば、空間又は時間隣接ブロック)は、視差動きベクトルを用いてインター予測されていないことがある。しかしながら、隣接ブロックの符号化又は復号中に、その隣接ブロックのための視差ベクトルが導出されていることがある。この隣接ブロックの導出された視差ベクトルは、現在ブロックのための視差ベクトルとして使用され得る。例えば、評価される隣接ブロックのいずれも、視差動きベクトルを用いてインター予測されないが、導出された視差ベクトルが隣接ブロックのために出る場合、ビデオエンコーダ及びビデオデコーダは、隣接ブロックの導出された視差ベクトルを、現在ブロックのための視差ベクトルとして設定し得る。
[0029]DVに基づいて、ビュー間予測動きベクトルと呼ばれる新しい動きベクトル候補が、利用可能な場合、AMVP及びスキップ/マージモードのための候補リストに追加され得る。ビュー間予測動きベクトルは、利用可能な場合、時間動きベクトルである。概して、本開示は、マルチビュー及び3Dビデオコード化における動き予測のコード化効率を改善するための技法について説明する。
[0030]図1は、本開示の技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。図1に示されるように、システム10は、宛先機器14によって後で復号されるべき符号化されたビデオデータを与える発信源機器12を含む。具体的には、発信源機器12は、コンピュータ可読媒体16を介してビデオデータを宛先機器14に与える。発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレス通信のために装備され得る。
[0031]宛先機器14は、コンピュータ可読媒体16を介して復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、発信源機器12から宛先機器14に符号化されたビデオデータを移動させることができる任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体16は、発信源機器12が、符号化されたビデオデータをリアルタイムで宛先機器14に直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器14に送信され得る。通信媒体は、無線周波数(RF)スペクトル又は1つもしくは複数の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器12から宛先機器14への通信を可能にするために有用であり得る、ルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
[0032]幾つかの例では、符号化されたデータは、出力インターフェース22から記憶装置に出力され得る。同様に、符号化されたデータは、入力インターフェース28によって記憶装置からアクセスされ得る。記憶装置は、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は不揮発性メモリ、若しくは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置は、発信源機器12によって生成された符号化されたビデオを記憶し得る、ファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器14は、ストリーミング又はダウンロードを介して、記憶装置から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先機器14に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(例えば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)装置、又はローカルディスクドライブがある。宛先機器14は、インターネット接続を含む、任意の標準的なデータ接続を通じて、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、又は両方の組合せを含み得る。記憶装置からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
[0033]本開示の技法は、必ずしもワイヤレスの適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
[0034]図1の例では、発信源機器12は、ビデオ発信源18と、深度推定ユニット19と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、深度画像ベースレンダリング(DIBR:depth image based rendering)ユニット31と、表示装置32とを含む。他の例では、発信源機器及び宛先機器は、他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラなど、外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。本開示で説明される技法の多数は、ビデオエンコーダ20とビデオデコーダ30の両方によって実行され得る。従って、説明を簡単にするために、ビデオエンコーダ20及びビデオデコーダ30は、時々、一緒にビデオコーダ20/30と呼ばれることがある。ビデオコーダ20/30に関して説明される技法は、ビデオエンコーダ20又はビデオデコーダ30のいずれかによって実行され得る。
[0035]図1の図示されたシステム10は一例にすぎない。本開示の技法は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するためのコード化されたビデオデータを生成するような、コード化機器の例にすぎない。幾つかの例では、機器12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、機器12、14は、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。
[0036]発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。更なる代替として、ビデオ発信源18は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラフォン又はビデオフォンを形成し得る。但し、上述のように、本開示で説明される技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び/又はワイヤード適用例に適用され得る。各場合において、撮影されたビデオ、プリ撮影されたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0037]ビデオ発信源18は、ビデオエンコーダ20にビデオデータの複数のビューを与え得る。例えば、ビデオ発信源18は、各々が、撮影されている特定のシーンに対して一意の水平位置を有するカメラのアレイに対応し得る。代替として、ビデオ発信源18は、例えば、コンピュータグラフィックスを使用して、異種水平カメラ奥行きからビデオデータを生成し得る。深度推定ユニット19は、テクスチャ画像中の画素に対応する深度画素のための値を決定するように構成され得る。例えば、深度推定ユニット19は、音響航法及び測距(SONAR:Sound Navigation and Ranging)ユニット、光検出及び測距(LIDAR:Light Detection and Ranging)ユニット、又は、シーンのビデオデータを記録しながら、実質的に同時に深度値を直接決定することができる他のユニットを表し得る。
[0038]追加又は代替として、深度推定ユニット19は、異なる水平カメラ奥行き(perspectives)から実質的に同時に撮影された2つ以上の画像を比較することによって、間接的に深度値を計算するように構成され得る。画像中の実質的に同様の画素値の間の水平視差を計算することによって、深度推定ユニット19は、シーン中の様々なオブジェクトの深度を概算することができる。深度推定ユニット19は、幾つかの例では、ビデオ発信源18と機能的に統合され得る。例えば、ビデオ発信源18がコンピュータグラフィックス画像を生成するとき、深度推定ユニット19は、例えば、画素のz座標と、テクスチャ画像をレンダリングするために使用されたオブジェクトとを使用して、グラフィカルオブジェクトのための実際の深度マップを与え得る。
[0039]コンピュータ可読媒体16は、ワイヤレスブロードキャスト又はワイヤードネットワーク送信などの一時媒体、若しくは、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、又は他のコンピュータ可読媒体などの記憶媒体(即ち、非一時的記憶媒体)を含み得る。幾つかの例では、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、発信源機器12から符号化されたビデオデータを受信し、宛先機器14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピュータ機器は、発信源機器12から符号化されたビデオデータを受信し、その符号化されたビデオデータを含んでいるディスクを生成し得る。従って、コンピュータ可読媒体16は、様々な例において、様々な形態の1つ又は複数のコンピュータ可読媒体を含むことが理解されよう。
[0040]宛先機器14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロック及び他のコード化単位、例えば、ピクチャグループ(GOP)の特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。幾つかの例では、表示装置32は、例えば、視聴者に対する3D視覚効果を生成するために、同時に又は実質的に同時に2つ以上のビューを表示することが可能な機器を備え得る。
[0041]宛先機器14のDIBRユニット31は、ビデオデコーダ30から受信された復号されたビューのテクスチャ及び深度情報を使用して、合成されたビューをレンダリングし得る。例えば、DIBRユニット31は、対応する深度マップ中の画素の値に応じて、テクスチャ画像の画素データのための水平視差を決定し得る。DIBRユニット31は、次いで、決定された水平視差によって、テクスチャ画像中の画素を左又は右にオフセットすることによって、合成された画像を生成し得る。このようにして、表示装置32は、1つ又は複数のビューを表示することができ、1つ又は複数のビューは、任意の組合せにおける、復号されたビュー及び/又は合成されたビューに対応し得る。本開示の技法によれば、ビデオデコーダ30は、深度範囲及びカメラパラメータのための元の精度値と更新された精度値とを、DIBRユニット31に与えることができ、DIBRユニット31は、ビューを適切に合成するために、深度範囲とカメラパラメータとを使用することができる。
[0042]図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0043]ビデオエンコーダ20及びビデオデコーダ30は、高効率ビデオコード化(HEVC)規格などのビデオコード化規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。今度のHEVC規格の最近のドラフトは、文書HCTVC−J1003、Brossら、「High Efficiency Video Coding(HEVC) Text Specification Draft 8」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT-VC)、第10回会合:ストックホルム、スウェーデン、2012年7月11日から2012年7月12日に記載されており、この文書は、2013年12月4日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipからダウンロード可能である。「HEVC Working Draft 10」又は「WD10」と呼ばれるHEVC規格の別の最近のドラフトは、文書JCTVC-L1003v34、Brossら、「High efficiency video coding(HEVC) text specification draft 10(for FDIS&Last Call)」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT-VC)、第12回会合:ジュネーブ、スイス、2013年1月14〜23日に記載されており、この文書は、2013年12月4日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipからダウンロード可能である。HEVC規格の更に別のドラフトは、本明細書で「WD10改訂」と呼ばれ、Brossら、「Editors’ proposed corrections to HEVC version 1」、ITU-T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT-VC)、第13回会合、仁川、韓国、2013年4月に記載されており、この文書は、2013年12月4日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zipから入手可能である。
[0044]例示のために、本開示の技法について、主に、HEVCの3DV拡張に関して説明される。但し、これらの技法が、3次元効果を生成するために使用されるビデオデータをコード化するための他の規格にも適用され得ることを理解されたい。
[0045]VCEG及びMPEGのJoint Collaboration Team on 3D Video Coding(JCT-3C)は、HEVCに基づいて3DV規格を開発中であり、そのための規格化の取組みの一部は、HEVCに基づくマルチビュービデオコーデック(MV−HEVC)と、HEVCに基づく3Dビデオコード化(3D−HEVC)のための別の部分との規格化を含む。MV−HEVCでは、一般に、HEVC中のCU/PUレベルにおけるモジュールが再設計される必要がなく、完全にMV−HEVCに対して再使用され得るように、HEVCに関してハイレベルシンタックス(HLS)の変更しかないことが望まれる。3D−HEVCでは、テクスチャビューと深度ビューの両方のための、ユニット/予測ユニットレベルにおけるコード化におけるものを含む、新しいコード化ツールが含まれ、サポートされ得る。3D−HEVCのための最新のソフトウェア3D−HTMは、2013年12月4日現在、以下のリンクからダウンロードされ得、即ち、https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/trunk/又はhttps://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM-5.0/である。
[0046]代替として、ビデオエンコーダ20及びビデオデコーダ30は、代替としてMPEG−4、Part 10、高度ビデオコード化(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格又は業界規格、又はITU−T H.264/AVCのMVC拡張など、そのような規格の拡張に従って動作し得る。特に、本開示の技法は、高度コーデックに基づいたマルチビュー及び/又は3Dビデオコード化に関する。概して、本開示の技法は、多種多様なビデオコード化規格のいずれかに適用され得る。例えば、これらの技法は、ITU−T H.264/AVC(高度ビデオコード化)のマルチビュービデオコード化(MVC:multi-view video coding)拡張、今度のHEVC規格の3Dビデオ(3DV)拡張(例えば、3D−HEVC)、又は他のコード化規格に適用され得る。
[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つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む機器は、集積回路、マイクロプロセッサ、及び/又は携帯電話などのワイヤレス通信機器を備え得る。
[0049]最初に、HEVCの例示的なコード化技法について説明される。JCT−VCが、HEVC規格を開発した。HEVC規格化の取組みは、HEVCテストモデル(HM)と呼ばれるビデオコード化機器の発展的モデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、H.264は9個のイントラ予測符号化モードを提供するが、HMは33個もの角度イントラ予測符号化モードプラスDCモードと平面モードとを提供することができる。
[0050]概して、HMの作業モデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位(LCU:largest coding unit)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、画素の数に関して最大コード化単位であるLCUのサイズを定義し得る。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、1つ又は複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコード化単位(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブ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)及び変換単位(TU)とを含む。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に対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用してより小さいユニットに再分割され得る。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は、(画素領域とも呼ばれる)空間領域において予測画素データを生成する方法又はモードを記述するシンタックスデータを備えてよく、TUは、変換、例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャの画素と、PUに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0062]変換係数を生成するための任意の変換の後、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中に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におけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構築され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられるコンテキストに基づき得る。
[0065]このセクションでは、マルチビューコード化技法、及びマルチビュープラス深度コード化技法について説明される。最初に、MVC技法について説明される。上述されたように、MVCは、ITU−T H.264/AVCの拡張である。MVCでは、複数のビューのためのデータが時間優先順序でコード化され、従って、復号順序構成は、時間優先コード化と呼ばれる。具体的には、共通の時間インスタンスにおける複数のビューの各々のためのビュー構成要素(即ち、ピクチャ)がコード化され得、次いで、異なる時間インスタンスのための別のセットのビュー構成要素がコード化され得、以下同様である。アクセス単位は、1つの出力時間インスタンスのための全てのビューのコード化されたピクチャを含み得る。アクセス単位の復号順序は、必ずしも出力(又は表示)順序と同一であるとは限らないことを理解されたい。
[0066]図2は、典型的なMVC復号順序(即ち、ビットストリーム順序)を示す。復号順序の構成は、時間優先コード化と呼ばれる。アクセス単位の復号順序は、出力又は表示の順序と同一ではない場合があることに留意されたい。図2では、S0〜S7はそれぞれ、マルチビュービデオの異なるビューを指す。T0〜T8はそれぞれ、1つの出力時間インスタンスを表す。アクセス単位は、1つの出力時間インスタンスに対する全てのビューのコード化されたピクチャを含み得る。例えば、第1のアクセス単位は時間インスタンスT0に対するビューS0〜S7の全てを含むことができ、第2のアクセス単位は時間インスタンスT1に対するビューS0〜S7の全てを含むことができ、以下同様である。
[0067]簡潔にするために、本開示は以下の定義を使用し得る。
ビュー構成要素:単一のアクセス単位中のビューのコード化表現。ビューが、コード化テクスチャ表現とコード化深度表現の両方を含むとき、ビュー構成要素は、テクスチャビュー構成要素及び深度ビュー構成要素からなる。
テクスチャビュー構成要素:単一のアクセス単位中のビューのテクスチャのコード化表現。
深度ビュー構成要素:単一のアクセス単位中のビューの深度のコード化表現。
[0068]図2では、ビューの各々はピクチャのセットを含む。例えば、ビューS0は、ピクチャ0、8、16、24、32、40、48、56、及び64のセットを含み、ビューS1は、ピクチャ1、9、17、25、33、41、49、57、及び65のセットを含み、以下同様である。各セットは2つのピクチャを含み、一方のピクチャはテクスチャビュー構成要素と呼ばれ、他方のピクチャは深度ビュー構成要素と呼ばれる。ビューのピクチャのセット内のテクスチャビュー構成要素及び深度ビュー構成要素は、互いに対応すると見なされ得る。例えば、ビューのピクチャのセット内のテクスチャビュー構成要素は、そのビューのピクチャのセット内の深度ビュー構成要素に対応すると見なされ、その逆も同様である(即ち、深度ビュー構成要素はセット中のそのテクスチャビュー構成要素に対応し、その逆も同様である)。本開示で使用される場合、深度ビュー構成要素に対応するテクスチャビュー構成要素は、テクスチャビュー構成要素と見なされ得、深度ビュー構成要素は、単一のアクセス単位の同じビューの一部である。
[0069]テクスチャビュー構成要素は、表示される実際の画像コンテンツを含む。例えば、テクスチャビュー構成要素は、ルーマ(Y)成分と、クロマ(Cb及びCr)成分とを含み得る。深度ビュー構成要素は、その対応するテクスチャビュー構成要素中の画素の相対深度を示し得る。一例として、深度ビュー構成要素は、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビュー構成要素は、任意の画像コンテンツを伝達するのではなく、テクスチャビュー構成要素中の画素の相対深度の測定値を与え得る。
[0070]例えば、深度ビュー構成要素中の純白の画素は、対応するテクスチャビュー構成要素中のその対応する1つ又は複数の画素が閲覧者から見てより近いことを示し、深度ビュー構成要素中の純黒の画素は、対応するテクスチャビュー構成要素中のその対応する1つ又は複数の画素が閲覧者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる深度レベルを示す。例えば、深度ビュー構成要素中の濃いグレーの画素は、テクスチャビュー構成要素中のその対応する画素が、深度ビュー構成要素中のより薄いグレーの画素よりも遠いことを示す。画素の深度を識別するためにグレースケールのみが必要とされるので、深度ビュー構成要素用の色値がいかなる目的も果たし得ないことから、深度ビュー構成要素はクロマ成分を含む必要がない。
[0071]深度を識別するためにルーマ値(例えば、強度値)のみを使用する深度ビュー構成要素が説明のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビュー構成要素中の画素の相対深度を示すために任意の技法が利用され得る。
[0072]図3は、マルチビュービデオコード化のための(各ビュー内のピクチャ間予測とビュー間予測の両方を含む)典型的なMVC予測構造を示す。図3中の予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。MVCでは、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。
[0073]図3の例では、(ビューID「S0」〜「S5」を有する)6個のビューが示され、各ビューについて12個の時間位置(「T0」〜「T11」)が示されている。即ち、図3中の各行はビューに対応し、各列は時間位置を示す。
[0074]MVCがH.264/AVCデコーダによって復号可能である、所謂ベースビューを有し、また、ステレオビューペアがMVCによってサポートされ得るが、MVCの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートすることができることである。MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを予想し得る。
[0075]図3中のピクチャは、各行と各列の交点に示されている。H.264/AVC規格は、ビデオの一部分を表すためにフレームという用語を使用する場合がある。本開示は、ピクチャという用語とフレームという用語とを互換的に使用する場合がある。
[0076]図3中のピクチャは、対応するピクチャがイントラコード化される(即ち、Iピクチャである)のか、又は一方向に(即ち、Pピクチャとして)インターコード化されるのか、複数の方向に(即ち、Bピクチャとして)インターコード化されるのかを指定する文字を含むブロックを使用して示される。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。例えば、時間位置T0にあるビューS2のPピクチャは、時間位置T0にあるビューS0のIピクチャから予測される。
[0077]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコード化ビデオシーケンスのピクチャは、異なる時間位置にあるピクチャに関して予測符号化され得る。例えば、時間位置T1にあるビューS0のbピクチャは、時間位置T0にあるビューS0のIピクチャからそのbピクチャに向けられた矢印を有し、その矢印は、bピクチャがIピクチャから予測されることを示す。しかしながら、加えて、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。即ち、ビュー構成要素は、参照のために他のビュー中のビュー構成要素を使用することができる。MVCでは、例えば、別のビュー中のビュー構成要素がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張において信号伝達され、インター予測又はビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構築プロセスによって変更され得る。ビュー間予測は、3D−HEVC(マルチビュープラス深度)を含むHEVCの提案されたマルチビュー拡張の機能でもある。
[0078]図3は、ビュー間予測の様々な例を提供する。図3の例では、ビューS1のピクチャは、ビューS1の異なる時間位置にあるピクチャから予測されるものとして、及び同じ時間位置にあるビューS0並びにS2のピクチャからビュー間予測されるものとして示されている。例えば、時間位置T1にあるビューS1のbピクチャは、時間位置T0及びT2にあるビューS1のBピクチャの各々、並びに時間位置T1にあるビューS0及びS2のbピクチャから予測される。
[0079]幾つかの例では、図3はテクスチャビュー構成要素を示すものとして見なされ得る。例えば、図2に示されたIピクチャ、Pピクチャ、Bピクチャ、及びbピクチャは、ビューの各々のためのテクスチャビュー構成要素と見なされ得る。本開示で説明される技法によれば、図3に示されたテクスチャビュー構成要素の各々について、対応する深度ビュー構成要素がある。幾つかの例では、深度ビュー構成要素は、対応するテクスチャビュー構成要素について図3に示された方式と同様の方式で予測され得る。
[0080]2つのビューのコード化もまたサポートされ得、またMVCである。MVCの利点のうちの1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、また、MVCデコーダがそのようなマルチビュー表現を復号することができることである。従って、MVCデコーダをもつ任意のレンダラは、3つ以上のビューをもつ3Dビデオコンテンツを予想し得る。
[0081]MVCでは、同じアクセス単位中の(即ち、同じ時間インスタンスをもつ)ピクチャ間でビュー間予測が可能にされる。非ベースビューのうちの1つの中のピクチャをコード化するとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。図3に示されたように、ビュー構成要素は、参照用に他のビュー中のビュー構成要素を使用することができる。MVCでは、別のビュー中のビュー構成要素がインター予測参照であるかのように、ビュー間予測が実現される。
[0082]以下は、マルチビューコード化、及び/又は、深度を用いたマルチビューコード化(MV−HEVC)(3D−HEVC)とともに使用され得る、インター予測に関係する幾つかの関連HEVC技法について説明する。説明のための第1の技法は、インター予測のための参照ピクチャリスト構築である。
[0083]インター予測を使用してPUをコード化することは、現在ブロック(例えば、PU)と参照フレーム中のブロックとの間の動きベクトルを計算することを伴う。動きベクトルは、動き推定(又は動き探索)と呼ばれるプロセスを通して計算される。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of squared difference)、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されているPUを含むCUの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレーム又は参照スライス内のどこにでも発生し得る。幾つかの例では、参照サンプルは分数画素位置において発生し得る。現在部分に最も良く一致する参照フレームの部分を見つけると、エンコーダは、現在ブロックのための現在動きベクトルを、現在ブロックから参照フレーム中の一致する部分までの(例えば、現在ブロックの中心から一致する部分の中心までの)位置の差分として決定する。
[0084]幾つかの例では、エンコーダは、符号化されたビデオビットストリーム中で、各ブロックのための動きベクトルを信号伝達し得る。信号伝達された動きベクトルは、ビデオデータを復号するために、デコーダによって動き補償を実行するために使用される。但し、元の動きベクトルを直接信号伝達すると、一般に、情報を搬送するために多数のビットが必要とされるので、コード化があまり効率的でなくなることがある。
[0085]幾つかの事例では、元の動きベクトルを直接信号伝達するのではなく、エンコーダは、各区分について、即ち、各PUについて動きベクトルを予測し得る。この動きベクトル予測を実行する際に、エンコーダは、現在ブロックと同じフレーム中の空間的に隣接するブロックから決定される動きベクトル候補のセット、又は、参照フレーム(即ち、現在フレーム以外のフレーム)中の同一位置配置ブロック(co-located block)から決定される時間動きベクトル候補を選択し得る。ビデオエンコーダ20は、動きベクトル予測を実行し、必要な場合、信号伝達する際のビットレートを低減するために、元の動きベクトルを信号伝達するのではなく、動きベクトルを予測するために参照ピクチャへのインデックスを信号伝達し得る。空間的に隣接するブロックからの動きベクトル候補は、空間MVP候補と呼ばれることがあるが、別の参照フレーム中の同一位置配置ブロックからの動きベクトル候補は、時間MVP候補と呼ばれることがある。
[0086]動きベクトル予測の2つの異なるモード又はタイプが、HEVC規格において提案されている。一方のモードは「マージ」モードと呼ばれる。他方のモードは適応動きベクトル予測(AMVP)と呼ばれる。
[0087]マージモードでは、ビデオエンコーダ20は、フレームの現在ブロックのための選択された動きベクトル候補から、動きベクトルと、(所与の参照ピクチャリストにおいて動きベクトルが指す参照フレームを識別する)参照インデックスと、(即ち、参照フレームが時間的に現在にフレームに先行するか又は後続するかに関して、参照ピクチャリスト(リスト0又はリスト1)を識別する)動き予測方向とをコピーするように、予測シンタックスのビットストリーム信号伝達を通して、ビデオデコーダ30に命令する。これは、選択された動きベクトル候補(即ち、特定の空間MVP候補又は時間MVP候補)を識別する動きベクトル候補リストへのインデックスをビットストリーム中で信号伝達することによって達成される。
[0088]従って、マージモードでは、予測シンタックスは、モード(この場合は「マージ」モード)を識別するフラグと、選択された動きベクトル候補を識別するインデックスとを含み得る。幾つかの事例では、動きベクトル候補は、現在ブロックに関する因果的ブロック中にあることになる。即ち、動きベクトル候補は、ビデオデコーダ30によって既に復号されていることになる。従って、ビデオデコーダ30は、因果的ブロックのための動きベクトルと参照インデックスと動き予測方向とを、既に受信及び/又は決定している。従って、ビデオデコーダ30は、単に、メモリから、因果的ブロックに関連する動きベクトルと参照インデックスと動き予測方向とを取り出し、これらの値を現在ブロックのための動き情報としてコピーし得る。マージモードでブロックを再構築するために、ビデオデコーダ30は、現在ブロックのための導出された動き情報を使用して予測ブロックを取得し、予測ブロックに残差データを加算して、コード化されたブロックを再構築する。スキップモードでは、同じマージ候補リストが生成されるが、残差は信号伝達されない。簡単のために、スキップモードは、マージモードと同じ動きベクトル導出プロセスを有するので、本書で説明される全ての技法は、マージモードとスキップモードの両方に適用される。
[0089]AMVPでは、ビデオエンコーダ20は、候補ブロックから動きベクトルのみをコピーし、コピーされたベクトルを現在ブロックの動きベクトルのための予測子として使用するように、ビットストリーム信号伝達を通してビデオデコーダ30に命令し、動きベクトル差分(MVD:motion vector difference)を信号伝達する。現在ブロックの動きベクトルに関連する参照フレーム及び予測方向は別に信号伝達される。MVDは、現在ブロックのための現在動きベクトルと、候補ブロックから導出された動きベクトル予測子との間の差分である。この場合、ビデオエンコーダ20は、動き推定を使用して、コード化されるべきブロックのための実際の動きベクトルを決定し、次いで、実際の動きベクトルと動きベクトル予測子との間の差分をMVD値として決定する。このようにして、ビデオデコーダ30は、マージモードの場合のように、現在動きベクトルとして動きベクトル候補の厳密なコピーを使用しないが、そうではなく、動き推定から決定された現在動きベクトルに値が「近接」し得る動きベクトル候補を使用し、現在動きベクトルを再生するためにMVDを加算し得る。AMVPモードでブロックを再構築するために、デコーダは、対応する残差データを加算してコード化されたブロックを再構築する。
[0090]たいていの状況では、MVDは、信号伝達するために現在動きベクトル全体よりも少ないビットを必要とする。従って、AMVPは、動きベクトル全体を送ることに勝るコード化効率を維持しながら、現在動きベクトルをより正確に信号伝達することを可能にする。対照的に、マージモードはMVDの指定に対応しておらず、従って、マージモードは、増加された信号伝達効率(即ち、より少ないビット)のために動きベクトル信号伝達の精度を犠牲にする。AMVPの予測シンタックスは、モードのフラグ(この場合はAMVPフラグ)と、候補ブロックのインデックスと、現在動きベクトルと候補ブロックからの予測動きベクトルとの間のMVDと、参照インデックスと、動き予測方向とを含み得る。
[0091]図4は、マージモードとAMVPモードの両方で使用され得る候補ブロックの例示的なセット120を示す。この例では、候補ブロックは、左下(A0)121、左(A1)122、左上(B2)125、上(B1)124、及び右上(B0)123空間位置、ならびに、時間(T)126位置にある。この例では、左候補ブロック122は、現在ブロック127の左エッジに隣接する。左ブロック122の下エッジは、現在ブロック127の下エッジに整合される。上ブロック124は、現在ブロック127の上エッジに隣接する。上ブロック124の右エッジは、現在ブロック127の右エッジに整合される。
[0092]ブロックA0、A1、B0、B1及びB2は、共通に、空間的に隣接するブロック又は空間的に隣接するPUと呼ばれる。ビデオコーダ20/30は、現在ピクチャの左上のサンプルに対する現在PU(例えば、図4中の現在ブロック127)の左上のルーマサンプルの位置を最初に決定することによって、空間的に隣接するブロックの位置を決定し得る。このルーマ位置は、位置(xP,yP)と呼ばれることになる。ビデオコーダ20/30は、加えて、ルーマPUの幅(nPSWと略される)と、ルーマPUの高さ(nPSHと略される)とを決定し得る。現在PUの左上のルーマサンプルの位置と、現在PUの高さ及び幅とに基づいて、空間隣接ブロックのルーマサンプルの位置は、次のように決定され得る。
ブロックA0は、位置(xP−1,yP+nPSH)にあるルーマサンプルを含む、
ブロックA1は、位置(xP−1,yP+nPSH−1)にあるルーマサンプルを含む、
ブロックB0は、位置(xP+nPSW,yP−1)にあるルーマサンプルを含む、
ブロックB1は、位置(xP+nPSW−1,yP−1)にあるルーマサンプルを含む、
ブロックB2は、位置(xP−1,yP−1)にあるルーマサンプルを含む。
空間隣接ブロックは、同じサイズであり得、又は、現在PUとは異なるサイズであり得る。
[0093]マージモードにおいて使用するための候補リストは、上記で説明された空間隣接ブロックを使用して導出され得る。両方の参照リストのための動きベクトル及び参照インデックスは、次の順序付きステップによって指定されるように導出され得、それらのステップは、空間マージング候補のための導出プロセスの一例である。導出プロセスの一部として、ビデオエンコーダ20及びビデオデコーダ30は、次の順序、即ち、A1、B1、B0、A0、又はB2で空間隣接PUの動き情報をチェックする。ビデオエンコーダ20及びビデオデコーダ30は、重複候補が候補リストに追加されることを低減又はなくすために、制約付きプルーニング(constrained pruning)を実行し得る。ビデオコーダ20/30は、次のように、マージモード候補リスト中に含まれるべきである空間候補を導出し得る。
− ビデオコーダ20/30は、A1が利用可能である場合、A1を候補リストに挿入する。
− B1及びA1が同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオコーダ20/30は、B1を候補リストに挿入しない。B1及びA1が同じ動きベクトルと同じ参照インデックスとを有していない場合、ビデオコーダ20/30は、B1が利用可能である場合、B1を候補リストに挿入する。
− B0及びB1が同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオコーダ20/30は、B0を候補リストに挿入しない。B0及びB1が同じ動きベクトルと同じ参照インデックスとを有していない場合、ビデオコーダ20/30は、B0が利用可能な場合、B0を候補リストに挿入する。
− A0及びA1が同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオコーダ20/30は、A0を候補リストに挿入しない。A0及びA1が同じ動きベクトルと同じ参照インデックスとを有していない場合、ビデオコーダ20/30は、A0が利用可能である場合、A0を候補リストに挿入する。
− ビデオコーダ20/30は、次の条件の両方が満たされないとき、B2を候補リストに挿入する。
− B2及びB1又はB2及びA1が、同じ動きベクトルと同じ参照インデックスとを有する。
− A1、B1、B0、A0から導出された4個の空間マージング候補の全てが、候補リスト中に含まれる。
[0094]ビデオコーダ20/30は、次のように、マージモード候補リスト中に含まれるべきである時間候補を導出し得る。
− 時間マージング候補を得るために、ビデオコーダ20/30は、同一位置配置ピクチャを最初に識別する。現在ピクチャがBスライスである場合、シンタックス要素「collocated_from_l0_flag」が、同一位置配置ピクチャがRefPicList0からのものかRefPicList1からのものかを示すために、スライスヘッダ中で信号伝達される。
− ビデオコーダ20/30が参照ピクチャリストを識別した後、ビデオコーダ20/30は、スライスヘッダ中で信号伝達された、シンタックス要素collocated_ref_idxを使用して、リスト中のピクチャ中のピクチャを識別する。
− ビデオコーダ20/30は、次いで、同一位置配置ピクチャをチェックすることによって、同一位置配置PUを識別する。ビデオコーダ20/30は、時間候補として、このPUを含んでいるCUの右下のPUの動き、又は、このPUを含んでいるCUの中心PU内の右下のPUの動きのいずれかを使用する。
− 上記のプロセスによって識別された動きベクトルが、マージモードのための動き候補を生成するために使用されるとき、ビデオコーダ20/30は、(ピクチャ順序カウント、即ち、POCに反映される)時間位置に基づいて、動きベクトルをスケーリングする必要があり得る。
− HEVCでは、PPSは、フラグenable_temporal_mvp_flagを含む。0に等しいtemporal_idをもつ特定のピクチャが、0に等しいenable_temporal_mvp_flagを有するPPSを参照するとき、ビデオコーダ20/30は、DPB中の全ての参照ピクチャに、「時間動きベクトル予測のために使用されない」としてマークすることができ、復号順序でその特定のピクチャの前のピクチャからの動きベクトルは、特定のピクチャの復号又は復号順序でその特定のピクチャの後のピクチャの復号において、時間動きベクトル予測子として使用されないことになる。
[0095]現在スライスがBスライスであり、上記で説明された空間及び時間候補導出プロセスから導出された候補の総数が、候補の最大数よりも小さく、1よりも大きい場合、ビデオコーダ20/30は、双予測候補を生成するためのプロセスを呼び出し得る。ビデオコーダ20/30は、次のように、マージモード候補リスト中に含まれるべきである双予測候補を導出し得る。
− 以下の表1に基づいて、インデックスcombIdxをもつ複合双予測候補を生成するために、利用可能な場合、l0CandIdxに等しいエントリをもつ候補リストのRefList0動き情報(MotList0)と、利用可能であり、MotList0と同一ではない場合、l1CandIdxに等しいエントリをもつ候補リストのRefList1動き情報(MotList1)とが、ビデオコーダ20/30によって、複合双予測候補のRefList0及びRefList1動き情報として、再使用され得る。
[0096]ビデオコーダ20/30は、空間、時間、及び双予測候補を決定するための、上記で説明された上記の3つのプロセスから導出された候補の総数が、候補の最大数未満を生じる場合、マージモード候補リスト中に含まれるべきであるゼロ動きベクトル候補を導出し得る。そのような事例では、ビデオコーダ20/30は、参照ピクチャごとにゼロ動きベクトルを候補リストに挿入し得る。HEVC WD10では、マージ(MRG)リスト中の候補の総数は最大5であり、five_minus_max_num_merge_candが、スライスヘッダ中で5から減算されるMRG候補の最大数を指定するために信号伝達される。
[0097]3Dビデオをコード化するためのコード化効率を更に改善するために、2つの新しい技術、即ち、「ビュー間動き予測」及び「ビュー間残差予測」が、3D−HEVCに導入されている。これらの2つのコード化ツールを可能にするために、ビデオコーダ20/30は、現在ブロックのための視差ベクトルを導出するように構成される。
[0098]ビデオコーダ20/30は、現在ブロックのための視差ベクトルを決定するために、空間及び時間隣接ブロックからの視差動きベクトル、又は隣接ブロックからの導出された視差ベクトルを利用する、隣接ブロックベース視差ベクトル(NBDV)と呼ばれる技法を使用して、視差ベクトルを導出するように構成され得る。NBDVでは、ビデオコーダ20/30は、固定されたチェック順序で空間又は時間隣接ブロックの動きベクトルをチェックし、視差動きベクトルが識別されると、即ち、動きベクトルがビュー間参照ピクチャを指すと、ビデオコーダ20/30は、チェックプロセスを終了する。ビデオコーダ20/30は、識別された視差動きベクトルを戻し、それを、ビュー間動き予測及びビュー間残差予測において使用され得る現在ブロックのための視差ベクトルに変換する。全ての予め定義された隣接ブロックをチェックした後、視差動きベクトルが見つからない場合、ビデオコーダ20/30は、ビュー間動き予測のためにゼロ視差ベクトルを使用し得るが、ビュー間残差予測は、対応する予測単位(PU)に対して使用禁止にされ得る。
[0099]NBDVのためにビデオコーダ20/30によって使用されるブロックは、空間隣接ブロックと時間隣接ブロックとを含む。ビデオコーダ20/30は、視差ベクトルを導出することの一部として、最大5個の空間隣接ブロックを解析する。5個の空間隣接ブロックは、A0、A1、B0、B1又はB2によって示される、現在PUの左下ブロックと、左ブロックと、右上ブロックと、上ブロックと、左上ブロックとを含む。この点について、NBDVの一部として解析された空間隣接ブロックは、図4中のマージモードに関して上記で説明された同じ空間隣接ブロックに対応し得るが、NBDV、及び、AMVP及びマージモードのための候補リスト構築のために使用される空間隣接ブロックは、必ずしも同じである必要があるとは限らない。
[0100]ビデオコーダ20/30はまた、時間隣接ブロックを決定する。ビデオコーダ20/30は、現在ビューからの全ての参照ピクチャを候補ピクチャとして扱うことができ、又は、幾つかの実装形態では、候補ピクチャの数は、例えば、4個の候補ピクチャに更に制約され得る。ビデオコーダ20/30は、同一位置配置参照ピクチャを最初にチェックし、例えば、参照インデックス(refIdx)の昇順で、候補ピクチャの残りをチェックする。RefPicList0[refIdx]とRefPicList1[refIdx]の両方が利用可能であるとき、RefPicListX[refIdx]は、他のピクチャに先行し、ここにおいて、Xは、collocated_from_l0_flagに等しい。
[0101]候補ピクチャごとに、ビデオコーダ20/30は、時間隣接ブロックを導出するための3個の候補領域を決定する。ある領域が2つ以上の16×16ブロックをカバーするとき、ビデオコーダ20/30は、例えば、ラスタ走査順序で、そのような領域中の全ての16×16ブロックをチェックすることができる。3個の候補領域は、次のように定義され、即ち、(1)CPU−現在PU又は現在CUの同一位置配置領域、(2)CLCU−現在PUの同一位置配置領域をカバーする最大コード化単位(LCU)、及び(3)BR−CPUの右下の4×4ブロックである。
[0102]参照ピクチャの時間隣接ブロックをチェックするための上記で説明された技法は、一例であることを理解されたい。チェックされる参照ピクチャの他の例があり得る。
[0103]図5は、現在ブロックのための視差ベクトルを決定するための候補ピクチャ中でチェックされるブロックの一例を示す。例えば、ビデオコーダ20/30は、現在ビューからの最大2個の候補ピクチャを考慮し得る。現在ビューからの第1の候補ピクチャは、候補リストの構築の一部として識別された同一位置配置ピクチャ(例えば、時間候補)であり得る。第2の候補ピクチャは、ランダムアクセスピクチャ、又は、最小POC差分と最小temporalIdとをもつ参照ピクチャであり得る。幾つかの例では、ビデオコーダ20/30は、ランダムアクセスピクチャを最初にチェックし、視差動きベクトルが見つからない場合、同一位置配置ピクチャをチェックし得る。
[0104]これらの候補ピクチャごとに、ビデオコーダ20/30は、2個のブロックをチェックし得る。第1のブロックは、中心ブロック(CR)であり得、中心ブロック(CR)は、図5中のPos.Aによって示されるような、現在PUの同一位置配置領域の中心の4×4ブロックであり得る。第2のブロックは、右下ブロック(BR)であり得、右下ブロック(BR)は、図5中のPos.Bによって示されるような、現在PUの同一位置配置領域の右下の4×4ブロックであり得る。
[0105]ビデオコーダ20/30は、特定の順序、即ち、チェック順序でブロックをチェックするように構成され得る。ビデオコーダ20/30は、空間隣接ブロックを最初にチェックし、時間隣接ブロックが後続し得る。5個の空間隣接ブロックのチェック順序は、例えば、A1、B1、B0、A0及びB2、又は任意の他のそのような順序として定義され得る。候補ピクチャごとに、ビデオコーダ20/30は、チェック順序で、候補ピクチャ中の3個の候補領域をチェックすることができる。3個の領域のチェック順序は、例えば、第1の非ベースビューのためのCPU、CLCU、及びBR、第2の非ベースビューのためのBR、CPU、及びCLU、又は任意の他のそのような順序として定義され得る。別の例では、候補ピクチャごとに(例えば、最大2個の候補ピクチャがある場合)、2個のブロックが、第1の非ベースビューのためのCR及びBR、又は第2の非ベースビューのためのBR、CRの順序でチェックされる。
[0106]上記で説明されたように、ビデオコーダ20/30は、隣接ブロックのための視差動きベクトルをチェックし、隣接ブロックのための視差動きベクトルが見つかる場合、その視差動きベクトルを現在ブロックの視差ベクトルとして変換することによって、現在ブロックのための視差ベクトルを決定し得る。加えて、幾つかの例では、隣接ブロックのための導出された視差ベクトルは、現在ブロックのための視差ベクトルを決定するために使用され得る。例えば、隣接ブロックは、視差動きベクトルを用いてインター予測されないことがあるが、隣接ブロックのための視差ベクトルは、隣接ブロックの予測中に導出されていることがある。この導出された視差ベクトルは、暗示的視差ベクトル(IDV:implicit disparity vector)と呼ばれることがあり、チェックされる隣接ブロックのいずれも、視差動きベクトルを用いてインター予測されないときなど、現在ブロックのための視差ベクトルを決定するために使用され得る。
[0107]例えば、暗示的視差ベクトル(IDV)は、PUがビュー間動きベクトル予測を採用するとき、即ち、AMVP又はマージモードのための候補が、視差ベクトルの助けとともに他のビュー中の対応するブロックから導出されるとき、生成される。そのような視差ベクトルが、IDVと呼ばれる。IDVは、視差ベクトル導出の目的で、PUに記憶される。
[0108]より詳細に説明されるように、ビデオコーダ20/30は、ビュー間候補導出を実行するように構成され得る。視差ベクトル(DV)に基づいて、ビデオコーダ20/30は、ビュー間候補と呼ばれる新しい動きベクトル候補を決定し、新しい動きベクトル候補を、AMVP及びスキップ/マージモードにおいて使用するための候補リストに追加することができる。
[0109]例えば、ビュー間候補導出の一例は、ビュー間予測動きベクトル候補(IPMVC)、及び、ビュー間視差動きベクトル候補(IDMVC)の別の例である。IPMVCは、現在ブロックの視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報(例えば、動きベクトル、及び、参照ピクチャリストのための1つ又は複数の参照インデックス)を含み、但し、現在ブロックのための視差ベクトルは、上記の例示的な技法に基づいて決定される。IDMVCは、視差動きベクトルに変換された視差ベクトルである。
[0110]幾つかの例では、ビデオコーダ20/30は、(例えば、視差ベクトルからオフセット値を加算又は減算することによって)視差ベクトルをシフトし得る。ビデオコーダ20/30は、視差ベクトルをシフトすることがない技法と同様の技法を使用して、シフトされた視差ベクトルに基づいて、追加のIPMVCとIDMVCとを導出し得る。例えば、ビデオコーダ20/30は、(例えば、視差ベクトルのx成分から、固定されたオフセット値を加算又は減算することによって)ある方向に水平に視差ベクトルをシフトし得る。
[0111]ビデオコーダ20/30は、オフセット値だけシフトされた視差ベクトルによって識別された参照ビュー中の参照ブロックを識別し得る。オフセット値だけシフトされた視差ベクトルによって識別された参照ブロックのための動き情報は、(即ち、視差ベクトルをシフトすることなしに導出されたIPMVCに加えて)追加のIPMVCの一例であり得る。別の例として、ビデオコーダ20/30は、視差ベクトルをシフトすることができ、シフトされた視差ベクトルを、(即ち、視差ベクトルをシフトすることなしに導出されたIDMVCに加えて)追加のIDMVCとして変換し得る。
[0112]幾つかの例では、ビデオコーダ20/30がIPMVCを導出するために視差ベクトルをシフトし得る量は、ビデオコーダ20/30がIDMVCを導出するために視差ベクトルをシフトし得る量とは異なり得る。言い換えれば、ビデオコーダ20/30は、追加のIPMVCを導出するための第1のオフセット値だけ、現在ブロックのための、視差ベクトルをシフトし、追加のIDMVCを導出するための第2の異なるオフセット値だけ、現在ブロックのための、視差ベクトルをシフトし得る。
[0113]第1のオフセット値又は第2のオフセット値は、水平シフト値と垂直シフト値とを含むベクトルと見なされ得る。例えば、IPMVCを導出するための第1のオフセット値だけ視差ベクトルをシフトするために、ビデオコーダ20/30は、水平シフト値と垂直シフト値とを含む第1のベクトルを用いて、現在ブロックのための、視差ベクトルを加算又は減算し得る。同様に、IDMVCを導出するための第2のオフセット値だけ視差ベクトルをシフトするために、ビデオコーダ20/30は、水平シフト値と垂直シフト値とを含む第2のベクトルを用いて、現在ブロックのための、視差ベクトルを加算又は減算し得る。本開示で説明される技法では、第1のオフセット値だけ視差ベクトルをシフトするために使用される第1のベクトル、及び、第2のオフセット値だけ視差ベクトルをシフトするために使用される第2のベクトルは、異なるベクトルであり得る。幾つかの例では、第1又は第2のオフセット値のための垂直シフト値は、IPMVCとIDMVCとを導出するための視差ベクトルにおける水平シフトのみを達成するために、0に等しくなり得る。
[0114]図6は、ビュー間予測動きベクトル候補(IPMVC)の導出プロセスの一例を示す。(例えば、上記で説明された技法を使用して決定された)視差ベクトルを用いて、ビデオコーダ20/30は、異なるビュー(例えば、同じく参照ビューであるビュー0又はV0)中の対応するブロック142を、現在コード化されているビュー(ビュー1又はV1)中の現在PU140を検索し得る。参照ブロックとも呼ばれる、対応するブロック142が、イントラコード化されず、ビュー間予測されず、その参照ピクチャが、現在PU140の参照ピクチャリスト中にあるPOC値(例えば、図6に示されるような、Ref0,List 0、Ref0,List1、Ref1,List 1)を有する場合、対応するブロック142のための動き情報(例えば、動きベクトル及び参照ピクチャインデックスのうちの少なくとも1つ)が、ビュー間予測動きベクトルとして使用される。
[0115]対応するブロック142(例えば、参照ブロック)のための動き情報がIPMVCであると見なされ得るかどうかについて、幾つかの要件があり得る。言い換えれば、IPMVCが利用可能であるかどうかを決定するための、幾つかの要件があり得る。1つの要件は、対応するブロック142のための動きベクトルが時間動きベクトルであることであり得る。時間動きベクトルは、同じビュー中のピクチャを参照する動きベクトルである。例えば、図6では、対応するブロック142(例えば、参照ブロック142)がビュー0中にあり、対応するブロック142が時間動きベクトルを有するために、対応するブロック142のための動きベクトルは、対応するブロック142と同じビュー(例えば、ビュー0)中のピクチャを参照する必要があることになる。図6に示されているように、対応するブロック142のための動きベクトルは、対応するブロック142と同じ参照ビュー(例えば、ビュー0)中のピクチャを参照するので、時間動きベクトルである。
[0116]別の要件は、参照ブロック(例えば、対応するブロック142)の時間動きベクトルが、現在ブロック(例えば、現在PU140)のための参照ピクチャリスト(例えば、RefPicList0又はRefPicList1)中のピクチャのピクチャ順序カウント(POC)値に等しいPOC値をもつ参照ビュー中のピクチャを参照することであり得る。理解を支援するための1つの例示的な例として、対応するブロック142のための参照ピクチャリストは、対応するブロック142をインター予測するために使用される2個のピクチャを、RefPicList0中の第1の参照インデックス、及び、RefPicList1の第2の参照インデックスにあるものとして識別し得る。対応するブロック142をインター予測するために使用される2個のピクチャのためのPOC値は、POC X及びPOC Yであり得る。IPMVCが利用可能であると見なされるために、少なくとも1つの参照ピクチャリスト(即ち、RefPicList0又はRefPicList1)は、POC X及びPOC Yに等しいPOC値をもつピクチャを含むべきである。言い換えれば、IPMVCが利用可能であると見なされるために、参照ブロック(例えば、対応するブロック142)のための時間動きベクトルは、現在ブロック(例えば、現在PU140)のための参照ピクチャリスト中のピクチャのPOC値に等しいPOC値をもつ参照ビュー(例えば、ビュー0)中のピクチャを参照する必要がある。
[0117]現在PU140では、POC値X及びYをもつピクチャは、RefPicList0中の第1の参照インデックス及びRefPicList1中の第2の参照インデックスに位置しないことがあるが、代わりに、それぞれ、RefPicList0中の第3の参照インデックス及びRefPicList1中の第4の参照インデックスに位置し得る。この例では、対応するブロック142の動き情報が、ビュー間予測動きベクトル候補として追加されるとき、ビデオコーダ20/30は、参照インデックスとして、RefPicList0中の第3の参照インデックスとRefPicList1中の第4の参照インデックスとを追加し得る。
[0118]加えて、ビデオコーダ20/30は、視差ベクトルをビュー間視差動きベクトルに変換することができ、ビュー間視差動きベクトルは、それが利用可能であるとき、IPMVCからの異なる位置においてマージ候補リストに追加され、又は、IPMVCと同じ位置においてAMVP候補リストに追加され得る。IPMVCとビュー間視差動きベクトル候補(IDMVC)の両方は、このコンテキストにおいて、「ビュー間候補」と呼ばれることがある。
[0119]AMVPモードでは、参照ピクチャインデックスが時間参照ピクチャを参照する(例えば、ターゲット参照インデックスが時間動きベクトルに対応する)場合、ビデオコーダ20/30は、IPMVCを導出することができ、IDMVCを導出しなくてよい。例えば、ビデオコーダ20/30は、視差ベクトルによって検索された現在PU(即ち、ブロック140)の対応するブロック(即ち、ブロック142)の動きベクトルをチェックすることによって、IPMVCを見つけ得る。それが利用不可能である(即ち、動きベクトルがない)場合、ビデオコーダ20/30は、ゼロ動きベクトル候補を候補リストに追加し得る。AMVPモードでは、参照ピクチャインデックスがビュー間参照ピクチャを参照する(例えば、ターゲット参照インデックスが視差動きベクトルに対応する)場合、ビデオコーダ20/30は、導出及びIPMVCではないことがあるが、代わりに、視差ベクトルをビュー間視差動きベクトルに変換し、変換された視差ベクトルを候補リストに追加(即ち、ビュー間視差動きベクトルをIDMVCとして候補リストに追加)し得る。
[0120]言い換えれば、現在ブロックがAMVPモードでインター予測される場合、ビデオコーダ20/30は、少なくとも1つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、IPMVCを導出するか、IDMVCを導出するかを決定し得る。例えば、AMVPモードでは、ビデオエンコーダ20は、ビデオデコーダ30がインター予測のために使用されるべきである参照ピクチャを識別するために使用する参照ピクチャインデックスを、信号伝達する。このようにして、ビデオコーダ20/30は、参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかを決定し得る。時間参照ピクチャは、同じビュー中の参照ピクチャであり、ビュー間参照ピクチャは、別の異なるビュー中の参照ピクチャである。幾つかの例では、ビデオコーダ20/30が、参照ピクチャインデックスが時間参照ピクチャを参照すると決定する場合、ビデオコーダ20/30は、IPMVCを導出することができ、ビデオコーダ20/30が、参照ピクチャインデックスがビュー間参照ピクチャを参照すると決定する場合、ビデオコーダ20/30は、IDMVCを導出することができる。
[0121]マージ/スキップモードでは、ビデオコーダ20/30は常に、利用可能な場合、IPMVCを、マージ候補リストに、全ての空間及び時間マージ候補の前に挿入し得る。ビデオコーダ20/30は、例えば、図4に上記で示されたように、A0から導出された空間マージング候補の前に、IPMVCを挿入し得る。3D−HTMソフトウェアのある実装形態では、ビュー間予測動きベクトル又はビュー間視差動きベクトルは、常に、AMVP候補リストに、全ての空間及び時間候補の前に挿入される。
[0122]上記で導入されたように、ビデオコーダ20/30は、3D−HEVCにおいてマージ候補リストを構築し得る。ビデオコーダ20/30は、最初に、例えば、上記で説明されたNBDV技法を使用して、視差ベクトルを導出する。そのような視差ベクトルが見つからない場合、ビデオコーダ20/30は、ゼロ視差ベクトルを利用し得る。視差ベクトルを用いて、ビデオコーダ20/30は、次のようにマージング候補リストを構築する。ビデオコーダ20/30は、上記で説明されたように、IPMVCを導出し、利用可能な場合、IPMVCをマージリストに挿入する。
[0123]ビデオコーダ20/30は、空間マージング候補のための導出プロセスと、IDMVC挿入とを実施するように構成され得る。ビデオコーダ20/30は、例えば、次の順序、即ち、A1、B1、B0、A0、又はB2で空間隣接PUの動き情報をチェックし得る。ビデオコーダ20/30は、次の手順によって、制約付きプルーニングを実行し得る。
− 利用可能であり、IPMVCとは異なる場合、A1を候補リストに挿入する。
− B1及びA1/IPMVCが同じ動きベクトルと同じ参照インデックスとを有する場合、B1が候補リストに挿入されない。そうでない場合、利用可能な場合、B1を候補リストに挿入する。
− B0及びB1が同じ動きベクトルと同じ参照インデックスとを有する場合、B0が候補リストに挿入されない。そうでない場合、利用可能な場合、B0を候補リストに挿入する。
− IDMVCが、上記で説明された手順によって導出される。IDMVCが利用可能であり、A1及びB1から導出された候補とは異なる場合、IDMVCが候補リストに挿入される。
− A0及びA1が同じ動きベクトルと同じ参照インデックスとを有する場合、A0が候補リストに挿入されない。そうでない場合、利用可能な場合、A0を候補リストに挿入する。
− 次の条件の両方が満たされないとき、B2が候補リストに挿入される。
− B2及びB1又はB2及びA1が、同じ動きベクトルと同じ参照インデックスとを有する。
− A1、B1、B0、A0から導出された4個の空間マージング候補、及びIPMVCの全てが、候補リスト中に含まれる。
[0124]ビデオコーダ20/30はまた、時間マージング候補のための導出プロセスを実施するようにも構成され得る。この導出プロセスは、例えば、上記で簡単に説明される、HEVCにおいて定義されているものと同じ手順であり得る。
[0125]ビデオコーダ20/30はまた、複合双予測マージング候補のための導出プロセスを実施するようにも構成され得る。例えば、上記の2つのステップから導出された候補の総数が、候補の最大数未満である場合、ビデオコーダ20/30は、l0CandIdx及びl1CandIdxの指定を除いて、HEVCにおいて定義されているものと同じプロセスを実行し得る。combIdx、l0CandIdx及びl1CandIdxの間の関係は、次の表において定義されている。
[0126]ビデオコーダ20/30はまた、ゼロ動きベクトルマージング候補のための導出プロセスを実施するようにも構成され得る。ビデオコーダ20/30は、例えば、HEVCにおいて定義されているものと同じ手順を実施し得る。
[0127]最新のソフトウェアでは、マージ(MRG)リスト中の候補の総数は最大6であり、シンタックス要素「five_minus_max_num_merge_cand」が、スライスヘッダ中で6から減算されるMRG候補の最大数を指定するために信号伝達される。five_minus_max_num_merge_candは、両端値を含む0〜5の範囲内にあることに留意されたい。上述されたように、WD10では、MRGリスト中の候補の総数は、最大5である。
[0128]上記で説明された方法に加えて、視差ベクトルからの他の提案マージ候補導出によれば、次の技法もまた、2013年12月4日現在、http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=237から入手可能な、「3D-CE5.h:Merge candidates derivation from disparity vector」という名称のZhangらによるJCT3V−B0048、2012年10月15日において提案された。参照ビュー中の視差ベクトルによって識別された対応するブロック(即ち、参照ブロック)が、現在の方法として、IPMVCを導出するために使用される。対応するブロックを含んでいるPUのその左PU及び右PUが検索され、2つのシフトされた視差ベクトルが、適用可能な場合、導出される。左シフト視差ベクトル(LDV:Left shifted Disparity Vector):水平成分のための左PUの幅だけ、視差ベクトルを減算する。右シフト視差ベクトル(RDV:Right shifted Disparity Vector):水平成分中の対応するブロックを含んでいるPUの幅だけ、視差ベクトルを加算する。IPMVCを導出するためのLDV/RDVの使用は、現在の3D−HEVCにおける視差ベクトルと同じである。導出されたIPMVCが利用可能である場合、それがマージ候補リストに追加され、そうでない場合、シフトされた視差ベクトルが、マージ候補リストに追加されるために視差動きベクトルに変換される。
[0129]HEVCベースのマルチビュー/3DVコード化における動き関連技術の現在の設計は、導出された視差ベクトルが十分に正確ではないことがあるという事実のために、幾つかの潜在的な問題を有する。一例として、不正確な視差ベクトルは、不正確なビュー間予測動きベクトル候補及びビュー間視差動きベクトル候補につながり得る。別の例として、IPMVCを導出するための参照ビュー中の対応するブロックの左/右PUの利用は、ハードウェア実装にとってフレンドリーではないことがあり、その理由は、左/右PUへのアクセスが、対応するブロックから、可変であるその幅を用いてシフトする必要があるからである。別の例として、重複された候補をプルーニングするために、全ての参照インデックス及び動きベクトルがチェックされる必要があり、過度の複雑さをもたらす。
[0130]本開示は、視差ベクトル精度と、ビュー間予測動きベクトル及びビュー間視差動きベクトルの精度とを改善し得る、様々な技法をもたらす。本開示の1つの技法によれば、ビデオコーダ20/30は、1つのスライス/ピクチャ/シーケンス内の全てのPUのための固定されたオフセット値を用いて、シフトされた視差ベクトルから、参照ビューからのより多くのIPMVCを導出し得る。一例では、ビデオコーダ20/30は、視差ベクトルを、−4*M(Mは、1、2、4、8などの正の整数である)及び/又は4*M(M個の画素に対応する)だけ水平にシフトし得る。シフトされた視差ベクトルを用いて、ビデオコーダ20/30は、対応するブロックから、IPMVC生成プロセスと同様に、IPMVCを生成するために、対応するブロックを含んでいるPUの左側及び/又は右側に位置するPUを使用し得る。
[0131]本開示の別の技法によれば、ビデオコーダ20/30は、シフトされた視差ベクトルを用いて、より多くのIDMVCを変換し得る。一例では、シフト値(即ち、オフセット値)は、水平に−4*N(Nは、1、2、4、8などの正の整数である)及び/又は4*N(N個の画素に対応する)である。一例では、更に、IPMVCとIDMVCとを導出するためのシフト値(即ち、オフセット値)は、異なることがあり、即ち、NはMとは異なる。
[0132]本開示の別の技法によれば、視差ベクトルに基づく変異ごと(即ち、視差ベクトルのシフトごと)に、ビデオコーダ20/30は、ただ1つの追加の候補を生成することができ、候補は、第1のシフト視差ベクトルに基づいたIPMVC、又は、第2のシフト視差ベクトルに基づいたIDMVCからのいずれかである。IPMVCが利用可能である場合、ビデオコーダ20/30は、追加の候補としてそれを使用し得る。IPMVCがマージ候補リストに追加される場合、ビデオコーダ20/30は、IDMVCを変換しなくてよい。一例では、IDMVCが利用可能である場合、ビデオコーダ20/30は、IPMVCを導出しなくてよい。別の例では、それらのうちの2つが、利用可能な場合、追加の候補として導出され得る。
[0133]言い換えれば、現在ブロックが、マージモード又はスキップモードでインター予測される場合、ビデオコーダ20/30は、IPMVCの利用可能性を決定することができ、但し、IPMVCは、オフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報(例えば、動きベクトル、及び、1つ又は複数の参照インデックス)である。例えば、ビデオコーダ20/30は、参照ブロックのための動きベクトルが、現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント(POC)値に等しいPOC値をもつ参照ビュー中のピクチャを参照する、時間動きベクトルである場合、IPMVCが利用可能であると決定し得る。
[0134]そのような例では、ビデオコーダ20/30は、(以下で説明されるプルーニングを受ける)候補リスト中の可能な包含のために、IPMVCを導出することができ、IDMVCの導出を回避することができる(即ち、IDMVCの導出を回避する)。例えば、この例では、ビデオコーダ20/30は、現在ブロックがマージ又はスキップモードでインター予測される場合、IDMVCよりもIPMVCを優先させることができ、そこで、IPMVCが利用可能である場合、ビデオコーダ20/30は、IPMVCを導出することができ、IDMVCを導出しなくてよい(即ち、IDMVCの導出を回避する)。
[0135]本開示の別の技法によれば、視差ベクトルに基づく変異ごとに、IPMVCの導出のために使用される第1のシフト視差ベクトル、及び、IPMVCの変換のために使用される第2のシフト視差ベクトルは、異なるオフセット値を有することができ、但し、それらのオフセット値は、ビデオコーダ20/30が視差ベクトルをシフトする量を示す。例えば、第1のシフト視差ベクトルのためのオフセット値は16であり、第2のシフト視差ベクトルのためのオフセットは4である。幾つかの例では、両方のシフト視差ベクトルは、水平方向及び同じ方向であるべきであり、それらのオフセットの符号値が同じであることを意味する。一例では、2つの変異のみがあり、左への変異、及び右への変異である。代替として、ただ1つの左への変異がある。代替として、ただ1つの右への変異がある。本開示の別の技法によれば、候補の各々は、候補リストの任意の位置に挿入され得る。
[0136]一例として、ビデオコーダ20/30がIPMVCを導出する場合、IPMVCのための動き情報は、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動きベクトル(例えば、時間動きベクトル)を含み得る。また、IPMVCの動きベクトルは、そのPOC値が、現在ブロックの参照ピクチャリスト中で識別されたピクチャのPOC値に等しい、同じビュー中のピクチャ(例えば、時間参照ピクチャ)を参照し得る。ビデオコーダ20/30がIDMVCを導出する場合、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルであり得る。幾つかの例では、ビデオコーダ20/30は、第1のオフセット値だけシフトされた視差ベクトルを決定するために、視差ベクトルに第1のオフセット値を加算するか、又は、視差ベクトルから第1のオフセット値を減算し得る。ある例では、ビデオコーダ20/30は、第2のオフセット値だけシフトされた視差ベクトルを決定するために、視差ベクトルに第2のオフセット値を加算するか、又は、視差ベクトルから第2のオフセット値を減算し得る。
[0137]本開示の別の技法によれば、タイプベースのプルーニングが、第1の視差ベクトルから導出されたものさえも含む、新たに追加された動きベクトル候補の各々に対して適用され得る。ビデオコーダ20/30は、参照ピクチャタイプ(ビュー間参照ピクチャ又は時間参照ピクチャ)が同じであるときのみ、2つの候補に対してプルーニングプロセスを適用し得る。この場合、RefPicList0又はRefPicList1のいずれかに対応する参照ピクチャのタイプが、比較されるべき候補のものとは異なるとき、参照インデックスと動きベクトルとの比較は必要とされない(即ち、ビデオコーダ20/30は、第1の候補によって参照される参照ピクチャのタイプが第2の候補とは異なる場合、参照インデックスと動きベクトルとの比較を実行しなくてよい)。ビデオコーダ20/30は、2つのビュー間候補が両方ともIDMVC又はIPMVCであるときのみ、それらに対してプルーニングプロセスを適用し得る。
[0138]例えば、シフト視差ベクトルに基づいてIPMVCとIDMVCとを導出することに加えて、ビデオコーダ20/30は、視差ベクトルをシフトすることなしに、現在ブロックのための視差ベクトルに基づいて、IPMVCとIDMVCとを導出し得る。一例として、第1のIPMVCが、オフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される第1の参照ブロックのための動きベクトルであると仮定されたい。幾つかの例では、ビデオコーダ20/30は、候補リスト中に第2のIPMVCを含んでよく、但し、第2のIPMVCは、視差ベクトルをシフトすることなしに、視差ベクトルによって参照される参照ビュー中の第2の参照ブロックのための動きベクトルである。
[0139]ビデオコーダ20/30は、動きベクトル、参照ピクチャインデックス、及び参照ピクチャリストなど、第1のIPMVCの動き情報と第2のIPMVCの動き情報とを比較し得る。幾つかの例では、ビデオコーダ20/30は、第1のIPMVCの動き情報を、第2のIPMVCの動き情報のみと比較し、候補リスト中の他の候補とは比較しなくてよい。ビデオコーダ20/30が、第1のIPMVCの動き情報と第2のIPMVCの動き情報とが同じである(例えば、動きベクトルが同じであるか、又は、動きベクトルと参照ピクチャインデックスの両方が同じである)と決定する場合、ビデオコーダ20/30は、第1のIPMVCが候補リスト中に含まれるべきではないと決定し得る。ビデオコーダ20/30が、第1のIPMVCの動き情報と第2のIPMVCの動き情報とが異なる(例えば、動きベクトルが異なる、動きベクトルが同じであるが参照ピクチャインデックスが異なる、動きベクトルが異なるが参照ピクチャインデックスが異なる、又は、動きベクトルと参照ピクチャインデックスの両方が異なる)と決定する場合、ビデオコーダ20/30は、第1のIPMVCが候補リスト中に含まれるべきであると決定し得る。
[0140]幾つかの例では、上記の例の第2のIPMVCは、常に候補リスト中に含まれ得る。そのような例では、プルーニング技法(例えば、第1のIPMVCと第2のIPMVCとを、及び、幾つかの例では第2のIPMVCのみと比較すること)は、第1のIPMVCを候補リスト中に含めるかどうかを決定し得る。
[0141]本開示の別の技法によれば、上記の技法は、NBDVの後、視差ベクトルが利用可能であるときのみ、適用され得る。NBDVの後、視差ベクトルが見つからない場合、ビデオコーダ20/30は、追加のIPMVCとIDMVCとを導出するために視差ベクトルをシフトする上記の技法を適用しなくてよい(上記が適用されるべきではない)。一例では、上記の方法を用いて導出されたIPMVCは、常に適用される。但し、新たに導出されたIDMVCは、視差ベクトルがNBDVとともに利用可能であるときのみ、マージ候補リストに挿入される。
[0142]更に、マージ及びスキップモードでは、ビデオコーダ20/30は、IPMVCが利用可能である場合、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルからIPMVCを導出し、IPMVCが利用可能ではないと決定される場合、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルからIDMVCを導出し得る。また、AMVPモードでは、ビデオコーダ20/30は、参照ピクチャインデックスに基づいて、IPMVC又はIDMVCのいずれかを導出し得る。従って、幾つかの例では、IPMVC又はIDMVCのうちの1つのみが、候補リスト中に含まれる。
[0143]上記で導入された様々な技法は、ビデオコーダ20/30によって実施され得る。上記で導入された技法の様々な例示的な実装形態について、ここで説明される。視差ベクトルは、HEVC方法に従って導出され得る。但し、より多くの候補が、スキップ/マージモード又はAMVPモードでは、視差ベクトルに基づいて導出され得る。
[0144]本開示の一態様によれば、ビデオコーダ20/30は、IPMVC及びIDMVCのための視差ベクトルの変異を実行するように構成され得る。視差ベクトルに基づいて、視差ベクトルの2つの変異が、IPMVCとIDMVCとを導出するために使用される。IPMVCの導出のための左シフト視差ベクトル及び/又は右シフト視差ベクトル(LDV及び/又はRDV)の変異は、水平成分中で−16及び/又は16だけ視差ベクトルを加算することによって達成される。IDMVCの導出のための左シフト視差ベクトル及び/又は右シフト視差ベクトル(LDV及び/又はRDV)の変異は、水平成分中で−4及び/又は4だけ視差ベクトルを加算することによって達成される。
[0145]ビデオコーダ20/30は、変異視差ベクトルからIPMVCを導出し得る。シフト視差ベクトルを用いて、2つの追加のIPMVCが、現在の方法におけるIPMVCと同じ方法で導出され得る。LDV及びRDVを用いた、2つの新たに導出されたIPMVCは、それぞれ、左IPMVC及び右IPMVCによって示される。簡単のために、LDV及びRDVから導出されたIPMVC(時間動き候補)は、それぞれ、LTMV及びRTMVと命名される。
[0146]ビデオコーダ20/30は、変異視差ベクトルからIDMVCを導出し得る。シフト視差ベクトルを用いて、2つの追加のIDMVCが、現在の方法におけるIDMVCと同じ方法で導出され得る。LDV及びRDVを用いた、2つの新たに導出されたIDMVCは、それぞれ、左IDMVC及び右IDMVCによって示される。簡単のために、LDV及びRDVから導出されたIDMVC(視差動きベクトル候補)は、それぞれ、LDMV及びRDMVと命名される。変異視差ベクトル、LDV又はRDVのいずれかに基づいて、LTMV(RTMV)又はLDMV(RDMV)のいずれか、唯一の候補が導出される。そのような候補は、LDVから導出されるとき、LMVとして示され、又は、RDVから導出されるとき、RMVとして示される。LMVは、次のように導出されてよく、即ち、LTMVが利用可能である場合、LMVがLTMVに設定され、そうでない場合、LMVがLDMVに設定される。RMVは、次のように導出されてよく、即ち、RTMVが利用可能である場合、RMVがRTMVに設定され、そうでない場合、RMVがRDMVに設定される。
[0147]ビデオコーダ20/30は、IPMVC及びIDMVCが、視差ベクトルをシフトすることによって生成された後、次のチェック及びプルーニングプロセスを適用し得る。新たに導出された左IPMVCは、利用可能な場合、順番に、変異なしの視差ベクトルを用いて導出されたIPMVC、A1又はB1からの空間マージング候補と比較される。新たに導出された左IPMVCが、これらの3つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された左IPMVCは、全ての空間マージング候補の後、従って、時間マージング候補の前に、マージング候補リストに追加される。
[0148]左IPMVCがマージング候補リストに追加されない場合、新たに導出された左IDMVCは、利用可能な場合、順番に、A1又はB1からの空間マージング候補と比較される。新たに導出された左IDMVCが、これらの2つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された左IDMVCは、利用可能な場合、左IPMVCと同じ位置において、即ち、全ての空間マージング候補の後、従って、時間マージング候補の前に、マージング候補リストに追加される。
[0149]新たに導出された右IPMVCは、利用可能な場合、順番に、変異なしの視差ベクトルを用いて導出されたIPMVC、A1又はB1からの空間マージング候補、左IPMVCと比較される。新たに導出された右IPMVCが、これらの4つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された右IPMVCは、全ての空間マージング候補及び左IPMVC又は左IDMVCの後、マージング候補リストに追加される。
[0150]右IPMVCがマージング候補リストに追加されない場合、新たに導出された右IDMVCは、利用可能な場合、順番に、A1又はB1からの空間マージング候補と比較される。新たに導出された右IDMVCが、これらの2つの候補のいずれかに等しい場合、マージ候補リストから除去される。そうでない場合、新たに導出された右IDMVCは、利用可能な場合、右IPMVCと同じ位置において、即ち、全ての空間マージング候補及び左IPMVC又は左IDMVCの後、マージング候補リストに追加される。
[0151]1つの代替形態では、2つの候補が同じタイプを有する、即ち、それらが視差動きベクトルであるか、又は、それらが時間動きベクトルであるときのみ、比較される。例えば、A1から導出された候補が時間参照ピクチャを有する場合、それと左/右IDMVCとの間の比較は必要とされない。
[0152]ビデオコーダ20/30は、上記で説明された様々な態様の代替形態を実施するように構成され得る。例えば、ビデオコーダ20/30は、新たに導出された候補のための挿入位置を決定するように構成され得る。新たに導出された候補が、全ての空間マージング候補の後、挿入され、LDVから導出された候補(IPMVC又はIDMVCのいずれか)が、RDVから導出されたものに先行する、上記で説明された例とは対照的に、次の位置及び順序が適用され得る。
○ 空間マージング候補のサブセットの後。
○ 代替として、全ての空間、時間候補、及び、視差ベクトルによって導出された候補の後、従って、複合候補の前。
○ 代替として、利用可能な場合、−4*Mに等しいシフト値を用いて導出されたIPMVCが、−4*Nに等しいシフト値を用いて導出されたIDMVCの前に挿入される。利用可能な場合、4*Mに等しいシフト値を用いて導出されたIPMVCが、4*Nに等しいシフト値を用いて導出されたIDMVCの前に挿入される。
○ 代替として、シフト値を用いて導出された全てのIPMVCが、視差ベクトルから導出されたIPMVCに後続して、従って、全ての空間マージング候補の前に、リストに挿入される。
○ 代替として、シフト値を用いて導出された全てのIDMVCが、視差ベクトルから導出されたIDMVCに後続して、従って、A0及びB2から導出された空間マージング候補の前に、リストに挿入される。
○ 1つの代替形態では、新たに追加されたIPMVC及び/又はIDMVCが、任意の位置に、任意の順序で、候補リストに挿入され得る。
○ 更に、RDVから導出された候補が、LDVから導出されたものに先行する。
○ 代替として、LDV及びRDVから導出された候補が、連続的に挿入されなくてよい。代わりに、LDVから導出された候補は、最後の空間マージング候補の直後、及び、時間マージング候補の直前に挿入され得るが、RDVから導出された候補は、時間マージング候補の直後に挿入され得、その逆も同様であり得る。
[0153]ビデオコーダ20/30は、上記で説明されたプルーニングプロセス以外のプルーニングプロセスを実行するように構成され得る。例えば、ビデオコーダ20/30は、次のプルーニングプロセスを適用するように構成され得る。
○ 1つ又は複数の選択的な空間候補(例えば、A1)のみが、新たに導出された候補と比較される。
a.例えば、新たに導出された候補(LMV及び/又はRMV)が、A1からの空間マージ候補のみと比較される。
b.例えば、新たに導出された候補(LMV及び/又はRMV)が、B1からの空間マージ候補のみと比較される。
○ 代替として、新たに導出された候補が、いかなる空間又は時間候補とも比較されない。
○ 加えて、視差ベクトルから導出されたものを除く、新たに追加された動きベクトル候補が、重複を回避するために互いに比較される必要があった。
○ 代替として、視差ベクトルから導出されたものを含む、新たに追加された動きベクトル候補が、重複を回避するために互いに比較される必要があった。
○ 代替として、新たに追加された動きベクトル候補が、重複を回避するために、視差ベクトルから導出されたもののみと比較され、互いに比較されない。
○ 1つの代替形態では、新たに追加されたIDMVC及び/又はIPMVCが、利用可能なマージング候補の全部又はサブセットと比較される必要がある。
○ 代替として、加えて、RDV又はLDVからの導出された候補(LMV及び/又はRMV)が視差動きベクトルである場合、それは決してIDMVCと比較されない。
○ 1つの代替形態では、シフト視差ベクトル(−4*M/4*M)を用いて探索された参照ブロック、及び、視差ベクトルを用いて探索された参照ブロックが、同じPUに属するとき、新たに追加されたIPMVCと視差ベクトルから導出されたものとの間のプルーニングプロセスが、スキップされてよく、新たに追加されたIPMVCが、マージ候補リストから除去される。
a.1つの代替形態では、更に、シフト視差ベクトル(−4*N/4*N)から導出されたIDMVCが、マージ候補リストに追加されない。
b.別の代替形態では、更に、シフト視差ベクトル(−4*N/4*N)から導出されたIDMVCが、マージ候補リストに追加されない。
[0154]プルーニングプロセスの一部として、ビデオコーダ20/30は、上記で導入されたように、1つ又は複数の比較を実行し得る。一例では、次の(最大5個の)動きベクトル候補ペアが(それらの両方が利用可能である場合)比較される。
LTMVが利用可能であるとき、(LMV,視差ベクトルから導出されたIPMVC)、
(LMV,B1からの空間マージング候補)、
RTMVが利用可能であるとき、(RMV,視差ベクトルから導出されたIPMVC)、
(RMV,B1からの空間マージング候補)、
LTMVとLTMVの両方が利用可能であるとき、(RMV,LMV)
ある条件が所与の候補ペアにおいて与えられる場合、例えば、「LTMVが利用可能であるとき」、それは、その条件が真でない場合、対応するペアが比較されないことを意味する。
[0155]候補ペア(C0,C1)ごとに、それらが異なる場合、C0がマージ候補リストに挿入され、そうでない場合、C0が更にマージ候補リストに挿入されない。加えて、C1がマージ候補リストにない場合、比較が回避される。C0及びC1の参照インデックス及び動きベクトルが、それぞれ、RefIdxLXC0、mvLXC0及びRefIdxLXC1、mvLXC1であり、Xは0及び1に等しいと仮定されたい。C0及びC1は、次の条件のうちの1つ又は複数が真である場合、異なると見なされる。
0及び1である予測リスト指示Xについて、
− RefIdxLXC0がRefIdxLXC1に等しくない、
− RefIdxLXC0が−1に等しくないとき、mvLXC0[0]がmvLXC1[0]に等しくない、
− RefIdxLXC0が−1に等しくないとき、mvLXC0[1]がmvLXC1[1]に等しくない、
動きベクトルが所与の予測リスト指示Xについて利用可能ではない場合、対応する参照インデックスは、−1に等しいと見なされ得ることに留意されたい。
[0156]第2の例では、次の(最大2個の)動きベクトル候補ペアが(それらの両方が利用可能である場合)比較される。
LTMVが利用可能であるとき、(LMV,視差ベクトルから導出されたIPMVC)
RTMVが利用可能であるとき、(RMV,視差ベクトルから導出されたIPMVC)。
[0157]第3の例では、次の動きベクトル候補ペアが(それらの両方が利用可能である場合)比較される。
LTMVが利用可能であるとき、(LMV,視差ベクトルから導出されたIPMVC)、
(LMV,B1からの空間マージング候補)、
RTMVが利用可能であるとき、(RMV,視差ベクトルから導出されたIPMVC)
(RMV,B1からの空間マージング候補)。
[0158]第4の例では、次の動きベクトル候補ペアが(それらの両方が利用可能である場合)比較される。
LTMVが利用可能であるとき、(LMV,視差ベクトルから導出されたIPMVC)、
(LMV,A1からの空間マージング候補)、
RTMVが利用可能であるとき、(RMV,視差ベクトルから導出されたIPMVC)
(RMV,A1からの空間マージング候補)
[0159]第5の例では、次の(最大5個の)動きベクトル候補ペアが(それらの両方が利用可能である場合)比較される。
LTMVが利用可能であるとき、(LMV,視差ベクトルから導出されたIPMVC)、
(LMV,A1からの空間マージング候補)、
RTMVが利用可能であるとき、(RMV,視差ベクトルから導出されたIPMVC)、
(RMV,A1からの空間マージング候補)、
LTMVとLTMVの両方が利用可能であるとき、(RMV,LMV)
[0160]図7は、上記で説明されたビュー間予測技法を含む、本開示で説明される技法を実装し得る、例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行することができる。ビデオエンコーダ20によって実行されるとき、イントラコード化は、イントラ予測符号化と呼ばれることがあり、インターコード化は、インター予測符号化と呼ばれることがある。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために、空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去するために、時間的予測に依拠する。インターコード化はまた、ビュー間コード化を指すこともあり、そこで、別のビュー中のピクチャが、現在ビュー中の現在ピクチャ中の現在ブロックを符号化するための参照ピクチャとして使用される。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースの圧縮モード又はビュー間圧縮モードのいずれかを指すことがある。
[0161]図7の例では、ビデオエンコーダ20は、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、参照ピクチャメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き及び視差推定ユニット42と、動き及び視差補償ユニット44と、イントラ予測処理ユニット46とを含む。ビデオブロック再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、及びサンプル適応オフセット(SAO)フィルタなど、1つ又は複数のループフィルタを表すように意図されている。フィルタユニット63は、図7では、ループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装され得る。
[0162]図7に示されるように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。この区分はまた、例えば、LCU及びCUの4分木構造に従って、ビデオブロック区分としてのウェルズとして、スライス、タイル、又は他のより大きい単位への区分をも含み得る。ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(及び、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(例えば、コード化レート及び歪みレベル)に基づいて現在ビデオブロックのために、複数のイントラコード化モードのうちの1つ、又は複数のインターコード化モードのうちの1つなど、複数の可能なコード化モードのうちの1つを選択し得る。予測処理ユニット41は、得られたイントラコード化されたブロック又はインターコード化されたブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器62に与え得る。
[0163]予測処理ユニット41内のイントラ予測処理ユニット46は、空間圧縮を行うために、コード化されるべき現在ブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対して、現在ビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット41内の動き及び視差推定ユニット42並びに動き及び視差補償ユニット44は、時間又はビュー圧縮を行うために、1つ又は複数の参照ピクチャ及び/又は参照ビュー中の1つ又は複数の予測ブロックに対して、現在ビデオブロックのインター予測コード化及び/又はビュー間コード化を実行する。
[0164]動き及び視差推定ユニット42は、ビデオシーケンスのための所定のパターンに従って、ビデオスライスのためのインター予測モード及び/又はビュー間予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをPスライス又はBスライスに指定し得る。動き及び視差推定ユニット42並びに動き及び視差補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示される。動き及び視差推定ユニット42によって実行される動き及び視差推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在ビデオフレーム又はピクチャ内のビデオブロックのPUの変位を示し得る。動き及び視差推定ユニット42によって実行される視差推定は、異なるビュー中のブロックから現在コード化されているブロックを予測するために使用され得る視差動きベクトルを生成するプロセスである。
[0165]予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックのPUにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間し得る。従って、動き及び視差推定ユニット42は、フル画素位置及び分数画素位置に対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
[0166]動き及び視差推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化されたスライス又はビュー間予測されたスライスにおけるビデオブロックのPUのための(動き補償予測のための)動きベクトル及び/又は(視差補償予測のための)視差動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(RefPicList0)又は第2の参照ピクチャリスト(RefPicList1)から選択され得、それらの各々は、参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを識別する。動き及び視差推定ユニット42は、計算された動きベクトル及び/又は視差ベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0167]動き及び視差補償ユニット44によって実行される動き補償及び/又は視差補償は、動き推定及び/又は視差推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在ビデオブロックのPUのための動きベクトル及び/又は視差を受信すると、動き及び視差補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトル及び/又は視差ベクトルが指す予測ブロックを検索し得る。ビデオエンコーダ20は、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つ又は複数の構成要素を表す。動き及び視差補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0168]イントラ予測処理ユニット46は、上記で説明されたように、動き及び視差推定ユニット42並びに動き及び視差補償ユニット44によって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測処理ユニット46は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測処理ユニット46は、テストされたモードから使用するために適切なイントラ予測モードを選択することができる。例えば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化されたブロックを生成するために使用されるビットレート(即ち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化されたブロックの歪み及びレートから比を計算し得る。
[0169]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測処理ユニット46は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピーコード化単位56に提供し得る。エントロピーコード化単位56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブル及び複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
[0170]予測処理ユニット41が、インター予測又はイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、1つ又は複数のTUに含まれ得、変換ユニット52に適用され得る。変換ユニット52は、離散コサイン変換(DCT)又は概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換ユニット52は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
[0171]変換ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替として、エントロピー符号化ユニット56が走査を実施し得る。
[0172]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分エントロピー(PIPE)コード化、又は別のエントロピー符号化方法もしくは技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ30に送信されるか、又はビデオデコーダ30が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コード化されている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0173]逆量子化ユニット58及び逆変換処理ユニット60は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、画素領域において残差ブロックを再構築する。動き及び視差補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き及び視差補償ユニット44はまた、再構築された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するためのサブ整数画素値を計算し得る。加算器62は、再構築された残差ブロックを、動き及び視差補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き及び視差推定ユニット42ならびに動き及び視差補償ユニット44によって参照ブロックとして使用され得る。
[0174]図8は、上記で説明されたビュー間予測技法を含む、本開示で説明される技法を実装し得る、例示的なビデオデコーダ30を示すブロック図である。図8の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、動き及び視差補償ユニット82と、イントラ予測処理ユニット84とを含む。ビデオデコーダ30は、幾つかの例では、図7からのビデオエンコーダ20に関して説明された符号化パスとは概して逆の復号パスを実行し得る。
[0175]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトルと他のシンタックス要素とを予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信し得る。
[0176]ビデオスライスが、イントラコード化された(I)スライスとしてコード化されるとき、予測処理ユニット81のイントラ予測処理ユニット84は、信号伝達されたイントラ予測モードと、現在フレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームが、インターコード化された(即ち、B、P又はGPB)スライスとしてコード化されるとき、予測処理ユニット81の動き及び視差補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトル及び他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、即ち、リスト0とリスト1とを構築し得る。
[0177]動き及び視差補償ユニット82は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き及び視差補償ユニット82は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)と、インター予測又はビュー間予測スライスタイプ(例えば、Bスライス又はPスライス)と、スライスの参照ピクチャリストのうちの1つ又は複数についての構築情報と、スライスの各インター符号化されたビデオブロックのための動きベクトル及び/又は視差ベクトルと、スライスの各インターコード化されたビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
[0178]幾つかの例では、動き及び視差補償ユニット82は、動きベクトル予測プロセスを使用して、動きベクトルを示す信号伝達されたシンタックス要素を決定し得る。動きベクトル予測プロセスは、AMVPモードとマージモードとを含み得る。動き及び視差補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き及び視差補償ユニット82は、ビデオブロックの符号化中にビデオエンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き及び視差補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0179]逆量子化ユニット86は、ビットストリーム中で提供され、エントロピー復号ユニット80によって復号された、量子化変換係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定することを含み得る。逆変換処理ユニット88は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
[0180]動き及び視差補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを、動き及び視差補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つ又は複数の構成要素を表す。所望される場合、ループフィルタ(コード化ループで、又はコード化ループの後のいずれか)も、画素移行を平滑化するか、又は他の場合にはビデオ品質を向上させるために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、及びサンプル適応オフセット(SAO)フィルタなど、1つ又は複数のループフィルタを表すように意図されている。フィルタユニット91は、図8では、ループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1の表示装置32などの表示装置上での後の提示のために、復号されたビデオを記憶する。
[0181]図9は、本開示の技法による例示的な符号化プロセスを示すフローチャートである。図9の技法は、ビデオエンコーダ20に関して説明されるが、他のタイプのビデオエンコーダによって実行され得る。ビデオエンコーダ20は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを決定する(180)。
[0182]現在ブロックがAMVPモードでインター予測される場合、ビデオエンコーダ20は、参照ピクチャインデックスに基づいて、IDMVCを導出するか、IPMVCを導出するかを決定し得る(182)。例えば、参照ピクチャインデックスが時間参照ピクチャを参照する場合、ビデオエンコーダ20は、IPMVCを決定することができ、参照ピクチャインデックスがビュー間参照ピクチャを参照する場合、ビデオエンコーダ20は、IDMVCを決定することができる。
[0183]現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオエンコーダ20は、IPMVCの利用可能性を決定し得る(184)。ビデオエンコーダ20は、オフセット値だけシフトされた、現在ブロックの、視差ベクトルによって参照される参照ブロックのための動き情報が、現在ブロックの参照ピクチャリスト中で識別されたピクチャのPOC値に等しいPOC値をもつ参照ビュー中のピクチャを参照する、時間動きベクトルである動きベクトルを含む場合、IPMVCが利用可能であると決定し得る。上記で説明されたように、IPMVCは、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックの動き情報であり得、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルであり得る。
[0184]幾つかの例では、IPMVCが利用可能である場合、ビデオエンコーダ20は、IPMVCを導出し、マージ又はスキップモードにおけるIDMVCの導出を回避し得る。IPMVCが利用可能ではなく、現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオエンコーダ20は、IDMVCを導出し得る。
[0185]ビデオエンコーダ20は、IPMVCが候補リスト中に含まれるべきであるか、IDMVCが候補リスト中に含まれるべきであるかを決定し得る(186)。幾つかの例では、ビデオエンコーダ20は、IPMVC及びIDMVCのうちの1つのみを含めてよく、両方を含めるのでなくてもよい(即ち、IPMVC及びIDMVCのうちの1つのみが候補リスト中に含まれる)。例えば、マージモードでは、ビデオエンコーダ20が、IPMVCが利用可能であるので、IPMVCを導出する場合、ビデオエンコーダ20は、IDMVCの導出を回避し得る。AMVPモードでは、ビデオエンコーダ20は、参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、IPMVC又はIDMVCのうちの1つを候補リスト中に含めることができる。
[0186]また、ある例では、ビデオエンコーダ20は、視差ベクトルをシフトすることなしに、視差ベクトルに基づいて、別のIPMVCを導出し得る。これらの例では、ビデオエンコーダ20は、2つのIPMVC(即ち、シフト視差ベクトルに基づくもの、及び、シフトなしの1つのベースの視差ベクトル)のための動き情報を比較し得る。幾つかの例では、ビデオエンコーダ20は、視差ベクトルをシフトすることから導出されたIPMVCのための動き情報を、視差ベクトルをシフトすることなしに導出されたIPMVCのための動き情報のみと比較し得る。それらの2つのIPMVCの動き情報が同じである場合、ビデオエンコーダ20は、シフト視差ベクトルに基づくIPMVCを候補リスト中に含めなくてよく、それらの2つのIPMVCの動き情報が異なる場合、ビデオエンコーダ20は、シフト視差ベクトルに基づくIPMVCを候補リスト中に含め得る。ビデオエンコーダ20は、常に、シフトなしの視差ベクトルに基づくIPMVCを含め得る。
[0187]ビデオエンコーダ20は、候補リストに基づいて、現在ブロックをインター予測符号化し得る(188)。ビデオエンコーダ20はまた、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素(例えば、シンタックス要素を信号伝達すること)と、ビデオデコーダ30が現在ブロックをインター予測符号化するために現在ブロックのための動きベクトルを決定するために使用する候補リストへのインデックスとを、信号伝達し得る(190)。
[0188]図10は、本開示の技法による例示的な復号プロセスを示すフローチャートである。図10の技法は、ビデオデコーダ30に関して説明されるが、他のタイプのビデオデコーダによって実行され得る。ビデオデコーダ30は、受信し、及び、候補リストへのインデックスである(200)。ビデオデコーダ30は、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を受信して(例えば、シンタックス要素を復号する、又は、シンタックス要素を復号すること)、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを決定し得る(202)。
[0189]ビデオデコーダ30が、現在ブロックがAMVPモードでインター予測されると決定する場合、ビデオデコーダ30は、参照ピクチャインデックスに基づいて、IDMVCを導出するか、IPMVCを導出するかを決定し得る(204)。例えば、参照ピクチャインデックスが時間参照ピクチャを参照する場合、ビデオデコーダ30は、IPMVCを決定することができ、参照ピクチャインデックスがビュー間参照ピクチャを参照する場合、ビデオデコーダ30は、IDMVCを決定することができる。
[0190]現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオデコーダ30は、IPMVCの利用可能性を決定し得る(206)。ビデオデコーダ30は、オフセット値だけシフトされた、現在ブロックの、視差ベクトルによって参照される参照ブロックのための動き情報が、現在ブロックの参照ピクチャリスト中で識別されたピクチャのPOC値に等しいPOC値をもつ参照ビュー中のピクチャを参照する、時間動きベクトルである動きベクトルを含む場合、IPMVCが利用可能であると決定し得る。再び、上記で説明されたように、IPMVCは、第1のオフセット値だけシフトされた、現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動きベクトルであり得、IDMVCは、第2の異なるオフセット値だけシフトされた、現在ブロックのための、視差ベクトルであり得る。
[0191]幾つかの例では、IPMVCが利用可能である場合、ビデオデコーダ30は、IPMVCを導出し、マージ又はスキップモードにおけるIDMVCの導出を回避し得る。IPMVCが利用可能ではなく、現在ブロックがマージモード又はスキップモードでインター予測される場合、ビデオデコーダ30は、IDMVCを導出し得る。
[0192]ビデオデコーダ30は、IPMVCが候補リスト中に含まれるべきであるか、IDMVCが候補リスト中に含まれるべきであるかを決定し得る(208)。幾つかの例では、ビデオデコーダ30は、IPMVC及びIDMVCのうちの1つのみを含めてよく、両方を含めるのでなくてもよい(即ち、IPMVC及びIDMVCのうちの1つのみが候補リスト中に含まれる)。例えば、マージモードでは、ビデオデコーダ30が、IPMVCが利用可能であるので、IPMVCを導出する場合、ビデオデコーダ30は、IDMVCの導出を回避し得る。AMVPモードでは、ビデオデコーダ30は、参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、IPMVC又はIDMVCのうちの1つを候補リスト中に含めることができる。ビデオデコーダ30は、候補リストに基づいて、現在ブロックをインター予測復号し得る(210)。
[0193]また、幾つかの例では、ビデオデコーダ30は、視差ベクトルをシフトすることなしに、視差ベクトルに基づいて、別のIPMVCを導出し得る。これらの例では、ビデオデコーダ30は、2つのIPMVC(即ち、シフト視差ベクトルに基づくもの、及び、シフトなしの1つのベースの視差ベクトル)のための動き情報を比較し得る。幾つかの例では、ビデオデコーダ30は、視差ベクトルをシフトすることから導出されたIPMVCのための動き情報を、視差ベクトルをシフトすることなしに導出されたIPMVCのための動き情報のみと比較し得る。それらの2つのIPMVCの動き情報が同じである場合、ビデオデコーダ30は、シフト視差ベクトルに基づくIPMVCを候補リスト中に含めなくてよく、それらの2つのIPMVCの動き情報が異なる場合、ビデオデコーダ30は、シフト視差ベクトルに基づくIPMVCを候補リスト中に含め得る。ビデオデコーダ30は、常に、シフトなしの視差ベクトルに基づくIPMVCを含め得る。
[0194]その上、上記の例示的な技法は、マルチビュービデオコード化に関して説明されているが、本開示で説明される技法は、そのように限定されない。例えば、本開示で説明される技法は、スケーラブルビデオコード化のためのHEVC規格への拡張(SHEVC)を含む、スケーラブルビデオコード化(SVC)に拡張され得る。
[0195]スケーラブルビデオコード化(SVC)では、多重レイヤがあり得る。最下位レベルにあるレイヤはベースレイヤ(BL:base layer)としてのみ働き得、最上位レベルにあるレイヤは拡張レイヤ(EL:enhancement layer)としてのみ働き得る。中間にある全てのレイヤは、ELとBLの両方として働き得る。例えば、中間にあるレイヤは、それの下のレイヤのためのELであり、同時にそれの上のレイヤのためのBLとしてあり得る。説明を簡単にするために、本開示は、現在の技法を例示する際に、2つのレイヤ、BL及びELがあると仮定する。本開示で説明される技法は、多重レイヤを伴う場合にも適用可能であることに留意されたい。
[0196]SCVにおける視差ベクトルの概念は、参照レイヤ中の参照ブロックを参照するベクトルを指すことがあり、但し、参照レイヤは、インター予測されているブロックを含むレイヤとは別のレイヤである。そのようなレイヤ間ベクトルの一例は、ゼロベクトル(例えば、成分(0,0)をもつベクトル)であり得る。SCVでは、レイヤ間ベクトルは、3Dビデオに関して視差ベクトルについて上記で説明されたものと同様の方法で利用され得る。
[0197]上記で説明されたように、3Dビデオでは、ビデオコーダ20/30は、視差ベクトルをシフトすることなしに、IPMVCとIDMVCとを導出し、視差ベクトルを、及び、幾つかの例では、追加のIDMVCと比較して追加のIPMVCに対して異なる量(即ち、異なるオフセット値)だけシフトすることによって、一般にビュー間候補と呼ばれる、追加のIPMVCとIDMVCとを導出し得る。SVCでは、ビデオコーダ20/30は、レイヤ間候補を同様に導出し得る。一例として、ビデオコーダ20/30は、レイヤ間ベクトルが参照する参照レイヤ中の参照ブロックから継承された動き情報に基づいて、及び/又は、オフセット値だけシフトされた、レイヤ間ベクトルが参照する参照レイヤ中の参照ブロックから継承された動き情報に基づいて、レイヤ間候補を導出し得る。別の例として、ビデオコーダ20/30は、レイヤ間ベクトルをレイヤ間候補に変換することによって、及び/又は、オフセット値だけシフトされた、レイヤ間ベクトルをレイヤ間候補に変換することによって、レイヤ間候補を導出し得る。
[0198]従って、幾つかの例では、IPMVCとIDMVCとを導出するための本開示で説明される技法、及び、IPMVC並びにIDMVCが(例えば、マージモード、スキップモード、又はAMVPモードで)導出されるときのための技法は、SVCに拡張され得る。SVCでは、ビデオコーダ20/30は、IPMVCを導出することと同様の方法で(例えば、現在ブロックのためのレイヤ間ベクトル又はシフトされたレイヤ間ベクトルが参照する、参照レイヤ中の参照ブロックのための動き情報に基づいて)、第1のレイヤ間候補を導出することができ、IDMVCを導出することと同様の方法(例えば、現在ブロックのためのレイヤ間ベクトル又はシフトされたレイヤ間ベクトルを、レイヤ間候補に変換すること)で、第2のレイヤ間候補を導出することができる。SVCでは、ビデオコーダ20/30は、第1のレイヤ間候補及び第2のレイヤ間候補のための、3Dビデオについて上記で説明されたものと同様の技法を実装し得る。
[0199]1つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体又は通信媒体のような有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、又は、(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード及び/又はデータ構造を取り出すために、1つもしくは複数のコンピュータ、又は1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0200]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、あるいは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0201]命令は、1つ又は複数のデジタル信号プロセッサ(DSP)などの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の等価な集積回路若しくはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実装に好適な任意の他の構造のいずれかを指すことがある。更に、幾つかの態様では、本明細書で説明された機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に与えられてよく、若しくは複合コーデックに組み込まれてよい。また、本技法は、1つ又は複数の回路又は論理要素中で十分に実装され得る。
[0202]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示されている技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明されているが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明された1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
[0203]様々な例が説明された。これら及び他の例は、以下の特許請求の範囲内に入る。
[0203]様々な例が説明された。これら及び他の例は、以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオデータをコード化する方法であって、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定することと、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記IPMVC又は前記IDMVCが候補リスト中に含まれるべきであるかを決定することと、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することとを備える方法。
[2] 前記IPMVCの利用可能性を決定することは、前記第1のオフセット値だけシフトされた前記視差ベクトルによって参照される前記参照ビュー中の前記参照ブロックのための動きベクトルが、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント(POC)値に等しいPOC値をもつ前記参照ビュー中のピクチャを参照する、時間動きベクトルである場合、前記IPMVCが利用可能であると決定することを備え、前記方法は、前記IPMVCを導出することと、前記IDMVCの前記導出を回避することとを更に備える、[1]の方法。
[3] 前記IPMVCが利用可能ではなく、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IDMVCを導出することを更に備える、[1]の方法。
[4] 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記方法は、第2のIPMVCを決定することと、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、前記第1のIPMVCの動き情報と、前記第2のIPMVCの動き情報とを比較することとを更に備え、前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定することは、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定することと、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定することとを備える、[1]の方法。
[5] 比較することは、前記第1のIPMVCの前記動き情報を、前記第2のIPMVCの前記動き情報のみと比較することを備える、[4]の方法。
[6] 少なくとも1つの参照ピクチャインデックスに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定することは、前記少なくとも1つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定することを備える、[1]の方法。
[7] 隣接ブロックのための視差動きベクトル、及び、隣接ブロックのための導出された視差ベクトルのうちの1つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、前記第1のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第1のオフセット値を加算すること、又は、前記視差ベクトルから前記第1のオフセット値を減算することと、前記第2のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第2のオフセット値を加算すること、又は、前記視差ベクトルから前記第2のオフセット値を減算することとを更に備える、[1]の方法。
[8] 前記IPMVC又は前記IDMVCのうちの1つのみが、前記候補リスト中に含まれる、[1]の方法。
[9] 前記第2のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、[1]の方法。
[10] 前記参照ブロックの前記動き情報は、動きベクトル、及び、参照ピクチャリストのための1つ以上の参照インデックスのうちの、少なくとも1つを備える、[1]の方法。
[11] 前記方法は、前記候補リストへのインデックスを受信することを更に備え、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを決定することは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を復号することを備え、インター予測コード化することは、前記候補リストに基づいて、前記現在ブロックをインター予測復号することを備える、[1]の方法。
[12] 前記方法は、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を信号伝達することと、前記候補リストへのインデックスを信号伝達することとを更に備え、インター予測コード化することは、前記候補リストに基づいて、前記現在ブロックをインター予測符号化することを備える、[1]の方法。
[13] ビデオデータをコード化するための機器であって、前記機器はビデオコーダを備え、前記ビデオコーダは、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定することと、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記IPMVCが候補リスト中に含まれるべきであるか、前記IDMVCが候補リスト中に含まれるべきであるかを決定することと、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することとを行うように構成される機器。
[14] 前記IPMVCの利用可能性を決定するために、前記ビデオコーダは、前記第1のオフセット値だけシフトされた前記視差ベクトルによって参照される前記参照ビュー中の前記参照ブロックのための動きベクトルが、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント(POC)値に等しいPOC値をもつ前記参照ビュー中のピクチャを参照する、時間動きベクトルである場合、前記IPMVCが利用可能であると決定するように構成され、前記ビデオコーダは、前記IPMVCを導出することと、前記IDMVCの前記導出を回避することとを行うように構成される、[13]の機器。
[15] 前記ビデオコーダが、前記IPMVCが利用可能ではなく、前記現在ブロックがマージモードでインター予測されると決定する場合、前記ビデオコーダは、前記IDMVCを導出するように構成される、[13]の機器。
[16] 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記ビデオコーダは、第2のIPMVCを決定することと、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、前記第1のIPMVCの動き情報と、前記第2のIPMVCの動き情報とを比較することとを行うように構成され、前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定するために、前記ビデオコーダは、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定することと、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定することとを行うように構成される、[13]の機器。
[17] 比較するために、前記ビデオコーダは、前記第1のIPMVCのための前記動き情報を、前記第2のIPMVCの前記動き情報のみと比較するように構成される、[16]の機器。
[18] 少なくとも1つの参照ピクチャインデックスに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定するために、前記ビデオコーダは、前記少なくとも1つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定するように構成される、[13]の機器。
[19] 前記ビデオコーダは、隣接ブロックのための視差動きベクトル、及び、隣接ブロックのための導出された視差ベクトルのうちの1つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、前記第1のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第1のオフセット値を加算するか、又は、前記視差ベクトルから前記第1のオフセット値を減算することと、前記第2のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第2のオフセット値を加算するか、又は、前記視差ベクトルから前記第2のオフセット値を減算することとを行うように構成される、[13]の機器。
[20] 前記IPMVC又は前記IDMVCのうちの1つのみが、前記候補リスト中に含まれる、[13]の機器。
[21] 前記第2のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、[13]の機器。
[22] 前記参照ブロックの前記動き情報は、動きベクトル、及び、参照ピクチャリストのための1つ以上の参照インデックスのうちの、少なくとも1つを備える、[13]の機器。
[23] 前記ビデオコーダは、ビデオデコーダを備え、前記ビデオデコーダは、前記候補リストへのインデックスを受信するように構成され、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを決定するために、前記ビデオコーダは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を復号するように構成され、インター予測コード化するために、前記ビデオデコーダは、前記候補リストに基づいて、前記現在ブロックをインター予測復号するように構成される、[13]の機器。
[24] 前記ビデオコーダは、ビデオエンコーダを備え、前記ビデオエンコーダは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を信号伝達することと、前記候補リストへのインデックスを信号伝達することとを行うように構成され、インター予測コード化するために、前記ビデオエンコーダは、前記候補リストに基づいて、前記現在ブロックをインター予測符号化するように構成される、[13]の機器。
[25] 前記機器は、集積回路(IC)と、マイクロプロセッサと、ワイヤレス通信機器とのうちの1つを備える、[13]の機器。
[26] 実行されたとき、ビデオデータをコード化するための機器の1つ以上のプロセッサに、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定することと、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記IPMVCが候補リスト中に含まれるべきであるか、前記IDMVCが候補リスト中に含まれるべきであるかを決定することと、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することとを行わせる命令を記憶したコンピュータ可読記憶媒体。
[27] 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記コンピュータ可読記憶媒体は、前記1つ以上のプロセッサに、第2のIPMVCを決定することと、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、前記第1のIPMVCの動き情報を、前記第2のIPMVCの前記動き情報のみと比較することとを行わせる命令を更に備え、前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定することを、前記1つ以上のプロセッサに行わせる前記命令は、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定することと、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定することとを、前記1つ以上のプロセッサに行わせる命令を備える、[26]のコンピュータ可読記憶媒体。
[28] 前記IPMVC又は前記IDMVCのうちの1つのみが、前記候補リスト中に含まれる、[26]のコンピュータ可読記憶媒体。
[29] ビデオデータをコード化するための機器であって、現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定するための手段と、前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定するための手段と、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定するための手段と、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、前記IPMVCが候補リスト中に含まれるべきであるか、前記IDMVCが候補リスト中に含まれるべきであるかを決定するための手段と、前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化するための手段とを備える機器。
[30] 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記機器は、第2のIPMVCを決定するための手段と、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、前記第1のIPMVCの動き情報を、前記第2のIPMVCの動き情報のみと比較するための手段とを更に備え、前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定するための前記手段は、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定するための手段と、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定するための手段とを備える、[29]の機器。

Claims (30)

  1. ビデオデータをコード化する方法であって、
    現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、
    前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、
    前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定することと、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、
    前記IPMVC又は前記IDMVCが候補リスト中に含まれるべきであるかを決定することと、
    前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することと
    を備える方法。
  2. 前記IPMVCの利用可能性を決定することは、前記第1のオフセット値だけシフトされた前記視差ベクトルによって参照される前記参照ビュー中の前記参照ブロックのための動きベクトルが、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント(POC)値に等しいPOC値をもつ前記参照ビュー中のピクチャを参照する、時間動きベクトルである場合、前記IPMVCが利用可能であると決定することを備え、前記方法は、
    前記IPMVCを導出することと、
    前記IDMVCの前記導出を回避することと
    を更に備える、請求項1に記載の方法。
  3. 前記IPMVCが利用可能ではなく、前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IDMVCを導出すること
    を更に備える、請求項1に記載の方法。
  4. 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記方法は、
    第2のIPMVCを決定することと、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、
    前記第1のIPMVCの動き情報と、前記第2のIPMVCの動き情報とを比較することと
    を更に備え、
    前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定することは、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定することと、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定することとを備える、請求項1に記載の方法。
  5. 比較することは、前記第1のIPMVCの前記動き情報を、前記第2のIPMVCの前記動き情報のみと比較することを備える、請求項4に記載の方法。
  6. 少なくとも1つの参照ピクチャインデックスに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定することは、前記少なくとも1つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定することを備える、請求項1に記載の方法。
  7. 隣接ブロックのための視差動きベクトル、及び、隣接ブロックのための導出された視差ベクトルのうちの1つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、
    前記第1のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第1のオフセット値を加算すること、又は、前記視差ベクトルから前記第1のオフセット値を減算することと、
    前記第2のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第2のオフセット値を加算すること、又は、前記視差ベクトルから前記第2のオフセット値を減算することと
    を更に備える、請求項1に記載の方法。
  8. 前記IPMVC又は前記IDMVCのうちの1つのみが、前記候補リスト中に含まれる、請求項1に記載の方法。
  9. 前記第2のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、請求項1に記載の方法。
  10. 前記参照ブロックの前記動き情報は、動きベクトル、及び、参照ピクチャリストのための1つ以上の参照インデックスのうちの、少なくとも1つを備える、請求項1に記載の方法。
  11. 前記方法は、
    前記候補リストへのインデックスを受信すること
    を更に備え、
    前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを決定することは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を復号することを備え、インター予測コード化することは、前記候補リストに基づいて、前記現在ブロックをインター予測復号することを備える、請求項1に記載の方法。
  12. 前記方法は、
    前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を信号伝達することと、前記候補リストへのインデックスを信号伝達することと
    を更に備え、
    インター予測コード化することは、前記候補リストに基づいて、前記現在ブロックをインター予測符号化することを備える、請求項1に記載の方法。
  13. ビデオデータをコード化するための機器であって、前記機器はビデオコーダを備え、前記ビデオコーダは、
    現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、
    前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、
    前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定することと、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、
    前記IPMVCが候補リスト中に含まれるべきであるか、前記IDMVCが候補リスト中に含まれるべきであるかを決定することと、
    前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することと
    を行うように構成される機器。
  14. 前記IPMVCの利用可能性を決定するために、前記ビデオコーダは、前記第1のオフセット値だけシフトされた前記視差ベクトルによって参照される前記参照ビュー中の前記参照ブロックのための動きベクトルが、前記現在ブロックのための参照ピクチャリスト中のピクチャのピクチャ順序カウント(POC)値に等しいPOC値をもつ前記参照ビュー中のピクチャを参照する、時間動きベクトルである場合、前記IPMVCが利用可能であると決定するように構成され、
    前記ビデオコーダは、
    前記IPMVCを導出することと、
    前記IDMVCの前記導出を回避することと
    を行うように構成される、請求項13に記載の機器。
  15. 前記ビデオコーダが、前記IPMVCが利用可能ではなく、前記現在ブロックがマージモードでインター予測されると決定する場合、前記ビデオコーダは、前記IDMVCを導出するように構成される、請求項13に記載の機器。
  16. 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記ビデオコーダは、
    第2のIPMVCを決定することと、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、
    前記第1のIPMVCの動き情報と、前記第2のIPMVCの動き情報とを比較することと
    を行うように構成され、
    前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定するために、前記ビデオコーダは、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定することと、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定することとを行うように構成される、請求項13に記載の機器。
  17. 比較するために、前記ビデオコーダは、前記第1のIPMVCのための前記動き情報を、前記第2のIPMVCの前記動き情報のみと比較するように構成される、請求項16に記載の機器。
  18. 少なくとも1つの参照ピクチャインデックスに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定するために、前記ビデオコーダは、前記少なくとも1つの参照ピクチャインデックスが時間参照ピクチャを参照するか、ビュー間参照ピクチャを参照するかに基づいて、前記IPMVCを導出するか、前記IDMVCを導出するかを決定するように構成される、請求項13に記載の機器。
  19. 前記ビデオコーダは、
    隣接ブロックのための視差動きベクトル、及び、隣接ブロックのための導出された視差ベクトルのうちの1つに基づいて、前記現在ブロックのための前記視差ベクトルを決定することと、
    前記第1のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第1のオフセット値を加算するか、又は、前記視差ベクトルから前記第1のオフセット値を減算することと、
    前記第2のオフセット値だけシフトされた前記視差ベクトルを決定するために、前記視差ベクトルに前記第2のオフセット値を加算するか、又は、前記視差ベクトルから前記第2のオフセット値を減算することと
    を行うように構成される、請求項13に記載の機器。
  20. 前記IPMVC又は前記IDMVCのうちの1つのみが、前記候補リスト中に含まれる、請求項13に記載の機器。
  21. 前記第2のオフセット値は、前記視差ベクトルを水平にシフトするための固定されたオフセット値を備える、請求項13に記載の機器。
  22. 前記参照ブロックの前記動き情報は、動きベクトル、及び、参照ピクチャリストのための1つ以上の参照インデックスのうちの、少なくとも1つを備える、請求項13に記載の機器。
  23. 前記ビデオコーダは、ビデオデコーダを備え、前記ビデオデコーダは、前記候補リストへのインデックスを受信するように構成され、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを決定するために、前記ビデオコーダは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を復号するように構成され、インター予測コード化するために、前記ビデオデコーダは、前記候補リストに基づいて、前記現在ブロックをインター予測復号するように構成される、請求項13に記載の機器。
  24. 前記ビデオコーダは、ビデオエンコーダを備え、前記ビデオエンコーダは、前記現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、AMVPモードでインター予測されるかを示すシンタックス要素を信号伝達することと、前記候補リストへのインデックスを信号伝達することとを行うように構成され、インター予測コード化するために、前記ビデオエンコーダは、前記候補リストに基づいて、前記現在ブロックをインター予測符号化するように構成される、請求項13に記載の機器。
  25. 前記機器は、
    集積回路(IC)と、
    マイクロプロセッサと、
    ワイヤレス通信機器と
    のうちの1つを備える、請求項13に記載の機器。
  26. 実行されたとき、ビデオデータをコード化するための機器の1つ以上のプロセッサに、
    現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定することと、
    前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定することと、
    前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定することと、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、
    前記IPMVCが候補リスト中に含まれるべきであるか、前記IDMVCが候補リスト中に含まれるべきであるかを決定することと、
    前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化することと
    を行わせる命令を記憶したコンピュータ可読記憶媒体。
  27. 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記コンピュータ可読記憶媒体は、前記1つ以上のプロセッサに、
    第2のIPMVCを決定することと、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、
    前記第1のIPMVCの動き情報を、前記第2のIPMVCの前記動き情報のみと比較することと
    を行わせる命令を更に備え、
    前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定することを、前記1つ以上のプロセッサに行わせる前記命令は、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定することと、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定することとを、前記1つ以上のプロセッサに行わせる命令を備える、請求項26に記載のコンピュータ可読記憶媒体。
  28. 前記IPMVC又は前記IDMVCのうちの1つのみが、前記候補リスト中に含まれる、請求項26に記載のコンピュータ可読記憶媒体。
  29. ビデオデータをコード化するための機器であって、
    現在ブロックがマージモードでインター予測されるか、スキップモードでインター予測されるか、高度動きベクトル予測(AMVP)モードでインター予測されるかを決定するための手段と、
    前記現在ブロックがAMVPモードでインター予測される場合、少なくとも1つの参照ピクチャインデックスに基づいて、ビュー間視差動きベクトル候補(IDMVC)を導出するか、ビュー間予測動きベクトル候補(IPMVC)を導出するかを決定するための手段と、
    前記現在ブロックがマージモード又はスキップモードでインター予測される場合、前記IPMVCの利用可能性を決定するための手段と、ここにおいて、前記IPMVCは、第1のオフセット値だけシフトされた、前記現在ブロックのための、視差ベクトルによって参照される参照ビュー中の参照ブロックのための動き情報を備え、ここにおいて、前記IDMVCは、第2の異なるオフセット値だけシフトされた、前記現在ブロックのための、前記視差ベクトルを備える、
    前記IPMVCが候補リスト中に含まれるべきであるか、前記IDMVCが候補リスト中に含まれるべきであるかを決定するための手段と、
    前記候補リストに基づいて、異なる形式前記参照ビュー、現在ビュー中の現在ピクチャ中の前記現在ブロックをインター予測コード化するための手段と
    を備える機器。
  30. 前記IPMVCは第1のIPMVCを備え、前記参照ブロックは第1の参照ブロックを備え、前記機器は、
    第2のIPMVCを決定するための手段と、ここにおいて、前記第2のIPMVCは、前記視差ベクトルをシフトすることなしに、前記視差ベクトルによって参照される前記参照ビュー中の第2の参照ブロックのための動き情報を備える、
    前記第1のIPMVCの動き情報を、前記第2のIPMVCの動き情報のみと比較するための手段と
    を更に備え、
    前記IPMVCが前記候補リスト中に含まれるべきであるか、前記IDMVCが前記候補リスト中に含まれるべきであるかを決定するための前記手段は、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報と同じである場合、前記第1のIPMVCが前記候補リスト中に含まれないと決定するための手段と、前記第2のIPMVCのための前記動き情報が前記第1のIPMVCのための前記動き情報とは異なる場合、前記第1のIPMVCが前記候補リスト中に含まれるべきであると決定するための手段とを備える、請求項29に記載の機器。
JP2015545884A 2012-12-07 2013-12-06 3dビデオのための高度マージ/スキップモード及び高度動きベクトル予測(amvp)モード Active JP6271575B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261734929P 2012-12-07 2012-12-07
US61/734,929 2012-12-07
US201261747350P 2012-12-30 2012-12-30
US61/747,350 2012-12-30
US14/098,151 2013-12-05
US14/098,151 US9357214B2 (en) 2012-12-07 2013-12-05 Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
PCT/US2013/073649 WO2014089475A1 (en) 2012-12-07 2013-12-06 Advanced merge/skip mode and advanced motion vector prediction (amvp) mode for 3d video

Publications (3)

Publication Number Publication Date
JP2015536630A true JP2015536630A (ja) 2015-12-21
JP2015536630A5 JP2015536630A5 (ja) 2016-09-08
JP6271575B2 JP6271575B2 (ja) 2018-01-31

Family

ID=50880952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015545884A Active JP6271575B2 (ja) 2012-12-07 2013-12-06 3dビデオのための高度マージ/スキップモード及び高度動きベクトル予測(amvp)モード

Country Status (12)

Country Link
US (1) US9357214B2 (ja)
EP (1) EP2929688B1 (ja)
JP (1) JP6271575B2 (ja)
KR (1) KR102033206B1 (ja)
CN (1) CN104956678B (ja)
DK (1) DK2929688T3 (ja)
ES (1) ES2734574T3 (ja)
HU (1) HUE045410T2 (ja)
PL (1) PL2929688T3 (ja)
PT (1) PT2929688T (ja)
SI (1) SI2929688T1 (ja)
WO (1) WO2014089475A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071461B (zh) * 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
US9609353B2 (en) * 2010-12-14 2017-03-28 M&K Holdings Inc. Apparatus for encoding a moving picture
US9473789B2 (en) * 2010-12-14 2016-10-18 M&K Holdings Inc. Apparatus for decoding a moving picture
EP3139611A1 (en) * 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
HUE061938T2 (hu) 2011-03-21 2023-09-28 Lg Electronics Inc Mozgásvektor-prediktor kiválasztása
CN103563386A (zh) 2011-05-31 2014-02-05 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
JP2013207755A (ja) * 2012-03-29 2013-10-07 Sony Corp 画像処理装置および方法
WO2014075625A1 (en) * 2012-11-16 2014-05-22 Mediatek Inc. Method and apparatus of constrained disparity vector derivation in 3d video coding
GB2509563A (en) * 2013-01-04 2014-07-09 Canon Kk Encoding or decoding a scalable video sequence using inferred SAO parameters
US9609347B2 (en) 2013-04-04 2017-03-28 Qualcomm Incorporated Advanced merge mode for three-dimensional (3D) video coding
KR102186461B1 (ko) * 2013-04-05 2020-12-03 삼성전자주식회사 정수 픽셀의 위치와 관련하여 비디오의 부호화 및 복호화를 수행하는 방법과 그 장치
WO2014166109A1 (en) * 2013-04-12 2014-10-16 Mediatek Singapore Pte. Ltd. Methods for disparity vector derivation
RU2654129C2 (ru) 2013-10-14 2018-05-16 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений
KR102250092B1 (ko) * 2013-10-14 2021-05-10 삼성전자주식회사 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치
CN111193929B (zh) * 2013-12-16 2022-04-12 浙江大学 一种前向双假设编码图像块的编解码方法和装置
US10469863B2 (en) * 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
EP3155812B1 (en) * 2014-06-16 2023-04-05 QUALCOMM Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
AU2014408228B2 (en) 2014-09-30 2019-09-19 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
EP3203743A4 (en) 2014-10-31 2018-01-10 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
KR20220162877A (ko) 2014-10-31 2022-12-08 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
CN107409214B (zh) * 2015-01-21 2021-02-02 三星电子株式会社 用于对层间视频进行解码的方法和设备以及用于对层间视频进行编码的方法和设备
KR102583501B1 (ko) * 2015-04-27 2023-09-27 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
JP6626319B2 (ja) * 2015-11-18 2019-12-25 キヤノン株式会社 符号化装置、撮像装置、符号化方法、及びプログラム
WO2017122997A1 (ko) * 2016-01-11 2017-07-20 삼성전자 주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
JP7054677B2 (ja) * 2016-08-10 2022-04-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ カメラワーク生成方法及び映像処理装置
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
EP3301929A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
KR20180041831A (ko) * 2016-10-17 2018-04-25 디지털인사이트 주식회사 블록 분할에 따른 skip 후보 리스트를 사용하는 비디오 코딩 방법 및 장치
CN109983773A (zh) * 2016-11-29 2019-07-05 联发科技股份有限公司 用于合并模式推导的视频编解码方法和装置
CN116233416A (zh) * 2017-01-16 2023-06-06 世宗大学校产学协力团 影像编码/解码方法
US10523934B2 (en) * 2017-05-31 2019-12-31 Mediatek Inc. Split based motion vector operation reduction
CN109005412B (zh) * 2017-06-06 2022-06-07 北京三星通信技术研究有限公司 运动矢量获取的方法及设备
KR20230135157A (ko) * 2017-09-19 2023-09-22 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
US11516496B2 (en) * 2018-03-21 2022-11-29 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream
US10397603B1 (en) * 2018-05-08 2019-08-27 Tencent America LLC Method and apparatus for video coding
JP2018164265A (ja) * 2018-05-14 2018-10-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
CN114466197A (zh) 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
CN110662064B (zh) 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 Lut中的运动候选的检查顺序
CN110662041B (zh) * 2018-06-29 2022-07-29 北京字节跳动网络技术有限公司 视频比特流处理的方法和装置,存储视频比特流的方法和非暂时性计算机可读记录介质
WO2020003258A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Virtual merge candidates
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
CN110662054B (zh) 2018-06-29 2023-01-06 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
TWI734133B (zh) 2018-07-02 2021-07-21 大陸商北京字節跳動網絡技術有限公司 更新查找表的規則
CN110719464B (zh) * 2018-07-15 2023-05-30 北京字节跳动网络技术有限公司 用时间信息扩展基于查找表的运动矢量预测
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
CN116634170A (zh) * 2018-10-10 2023-08-22 华为技术有限公司 帧间预测方法及装置
US20200169757A1 (en) * 2018-11-23 2020-05-28 Mediatek Inc. Signaling For Multi-Reference Line Prediction And Multi-Hypothesis Prediction
CN113170182B (zh) 2018-12-03 2024-01-26 北京字节跳动网络技术有限公司 不同预测模式下的修剪方法
US10778977B2 (en) * 2018-12-05 2020-09-15 Qualcomm Incorporated Triangle motion information for video coding
JP7222086B2 (ja) * 2018-12-13 2023-02-14 テンセント・アメリカ・エルエルシー スキップ及びマージモードのためのマルチ仮説のシグナリング及び動きベクトル差分によるマージの距離オフセットテーブルのシグナリングのための方法及び装置
CN113454990A (zh) * 2018-12-28 2021-09-28 英迪股份有限公司 帧间预测编解码方法及装置
BR112021012462A2 (pt) * 2018-12-29 2021-09-08 Vid Scale, Inc. Dispositivo e método de codificação de vídeo
JP7343097B2 (ja) 2018-12-29 2023-09-12 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 動画処理方法、装置、およびコンピュータプログラム
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
WO2020143774A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd based on geometry partition
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN111264061B (zh) * 2019-03-12 2023-07-25 深圳市大疆创新科技有限公司 视频编码的方法与装置,以及视频解码的方法与装置
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113994698B (zh) 2019-06-04 2023-11-24 北京字节跳动网络技术有限公司 有条件地实施运动候选列表构建过程
EP3963890A4 (en) 2019-06-04 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION
WO2020244660A1 (en) 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for video coding
CN114128295B (zh) 2019-07-14 2024-04-12 北京字节跳动网络技术有限公司 视频编解码中几何分割模式候选列表的构建
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
US11418810B2 (en) 2020-09-21 2022-08-16 Tencent America LLC Methods of inter picture motion prediction for multi-view video compression

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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480787B1 (ko) * 2001-11-27 2005-04-07 삼성전자주식회사 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치
CN101507267B (zh) * 2005-09-07 2011-09-14 维德约股份有限公司 用于使用可缩放视频编码进行可缩放和低延迟视频会议的系统和方法
US9020033B2 (en) * 2010-11-04 2015-04-28 Nice-Systems Ltd. System and method for enhancing compression using skip macro block on a compressed video
CN102055982B (zh) * 2011-01-13 2012-06-27 浙江大学 三维视频编解码方法及装置
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding

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 (1)

* Cited by examiner, † Cited by third party
Title
LI ZHANG (外2名): "3D-CE5.h: Merge candidates derivation from disparity vector", JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG 16 WP 3 AND ISO/IEC JT, JPN6017008093, 19 October 2012 (2012-10-19), US, pages 1 - 4 *

Also Published As

Publication number Publication date
US20140161186A1 (en) 2014-06-12
EP2929688A1 (en) 2015-10-14
CN104956678B (zh) 2018-06-26
KR20150092249A (ko) 2015-08-12
SI2929688T1 (sl) 2019-07-31
HUE045410T2 (hu) 2019-12-30
US9357214B2 (en) 2016-05-31
JP6271575B2 (ja) 2018-01-31
CN104956678A (zh) 2015-09-30
WO2014089475A1 (en) 2014-06-12
PT2929688T (pt) 2019-07-17
PL2929688T3 (pl) 2019-10-31
ES2734574T3 (es) 2019-12-10
KR102033206B1 (ko) 2019-10-16
EP2929688B1 (en) 2019-04-10
DK2929688T3 (da) 2019-07-22

Similar Documents

Publication Publication Date Title
JP6271575B2 (ja) 3dビデオのための高度マージ/スキップモード及び高度動きベクトル予測(amvp)モード
JP6585200B2 (ja) ビデオコード化における視差ベクトル予測
US9699450B2 (en) Inter-view predicted motion vector for 3D video
JP6336987B2 (ja) 3d映像に関するインタービュー動き予測
JP6231203B2 (ja) ビデオコード化における視差ベクトルを使用するブロック識別
EP3155812B1 (en) Simplified shifting merge candidate and merge list derivation in 3d-hevc
US9357195B2 (en) Inter-view predicted motion vector for 3D video
JP2019068447A (ja) 3dビデオコーディングにおける視差ベクトル導出および動きベクトル予測の簡略化
KR102264104B1 (ko) 백워드 뷰 합성 예측
JP6855242B2 (ja) ビデオコーディングのためのディスパリティベクトルおよび/または高度残差予測
US20130265388A1 (en) Disparity vector construction method for 3d-hevc
US9438926B2 (en) Constraints on neighboring block based disparity vector (NBDV) techniques for 3D video
JP2015507883A (ja) 深度を用いた3dビデオコーディングにおける多仮説視差ベクトル構成
CN109547800B (zh) 用于3d-hevc的简化高级残余预测

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160715

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160715

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171116

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171227

R150 Certificate of patent or registration of utility model

Ref document number: 6271575

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250