[0032]概して、本開示は、コード化ビデオデータが2つ以上のビューを含むマルチビュービデオコード化に関する。幾つかの例では、マルチビュービデオコード化は、マルチビュープラス深度ビデオコード化プロセスを含む。幾つかの例では、マルチビューコード化は、3次元(3D)ビデオのコード化を含み得、3Dビデオコード化と呼ばれることがある。本開示の様々な例では、マルチビュー及び/又は3Dビデオコード化シーケンスの非ベースビューにおける高度残差予測(APR)のための技法について説明する。本開示の技法は、ARP又は任意の下にあるインター予測(例えば、時間及び/又はビュー間インター予測及び双予測)を実行するために、ビデオコーダ(例えば、ビデオエンコーダ及び/又はビデオデコーダ)が、例えば、メモリから動き情報にアクセスする回数を低減し得る。このようにして、動き情報についてより少ないメモリアクセスが実行されるので、ビデオコード化(即ち、符号化又は復号)の速度が増加し得る。
[0033]例えば、本開示は、第1のアクセス単位中でビデオデータの第1の符号化ブロックを受信することと、ここにおいて、ビデオデータの第1の符号化ブロックが、高度残差予測と双方向ビュー間予測とを使用して符号化された、ビデオデータの第1の符号化ブロックのための第1の予測方向についての時間動き情報を決定することと、第1の予測方向について決定された時間動き情報を使用して、第1の予測方向とは異なる第2の予測方向のための参照ブロックを識別することと、ここにおいて、参照ブロックが、第2のアクセス単位中にある、を備える、ビデオデータを復号するための方法について説明する。
[0034]図1は、本開示の技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。図1に示すように、システム10は、宛先機器14によって後で復号されるべき符号化ビデオデータを提供する発信源機器12を含む。具体的には、発信源機器12は、コンピュータ可読媒体16を介して宛先機器14にビデオデータを提供し得る。発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレス通信に対する機能を備え得る。
[0035]宛先機器14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータを発信源機器12から宛先機器14に移動することが可能な、任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体16は、発信源機器12が符号化ビデオデータを宛先機器14にリアルタイムで直接送信するのを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器14に送信され得る。通信媒体は、無線周波(RF)スペクトル又は1つ以上の物理伝送線路など、任意のワイヤレス通信媒体又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークのような、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、若しくは発信源機器12から宛先機器14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
[0036]幾つかの例では、符号化データは、出力インターフェース22から記憶装置へ出力され得る。同様に、符号化データは、記憶装置から入力インターフェースによってアクセスされ得る。記憶装置は、ハードドライブ、Blue−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は不揮発性のメモリ若しくは符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散された又はローカルにアクセスされるデータ記憶媒体のいずれをも含み得る。更なる例では、記憶装置は、発信源機器12によって生成された符号化ビデオを記憶することができるファイルサーバ又は別の中間記憶装置に対応し得る。宛先機器14は、ストリーミング又はダウンロードを介して、記憶装置から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、ウェブサーバ(例えば、ウェブサイト用の)、FTPサーバ、ネットワークアタッチド記憶(NAS)装置、又はローカルディスクドライブがある。宛先機器14は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、又は、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、両方の組合せを含み得る。記憶装置からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
[0037]本開示の技法は、ワイヤレス応用又はワイヤレス設定に必ずしも制限されない。本技法は、無線テレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、HTTP上の動的適応ストリーミング(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、又は他の応用例など、様々なマルチメディア応用のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び/又はビデオ電話などの応用をサポートするために一方向又は両方向のビデオ送信をサポートするように構成され得る。
[0038]図1の例では、発信源機器12は、ビデオ発信源18と、深度推定ユニット19と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、深度画像ベースのレンダリング(DIBR:depth image based rendering)ユニット31と、表示装置32とを含む。他の例では、発信源機器及び宛先機器は、他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部のビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。
[0039]図1の図示のシステム10は一例にすぎない。本開示の技法は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。一般に、本開示の技法は、ビデオ符号化機器によって実行されるが、これらの技法は、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はビデオプリプロセッサによっても実施され得る。発信源機器12及び宛先機器14は、発信源機器12が、宛先機器14に送信するためのコード化されたビデオデータを生成するコード化機器の例にすぎない。幾つかの例では、機器12、14は、機器12、14の各々がビデオ符号化構成要素と復号構成要素とを含むように、実質的に対称的な方式で動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオ電話のためのビデオ機器12とビデオ機器14との間の一方向若しくは双方向のビデオ送信をサポートし得る。
[0040]発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像装置、前に撮られたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。更なる代替として、ビデオ発信源18は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラ付き電話又はビデオ付き電話を形成し得る。しかしながら、上記で述べたように、本開示で説明する技法は、一般にビデオコード化に適用可能であり、ワイヤレス及び/又は有線用途に適用され得る。各場合において、撮られたビデオ、前に撮られたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化ビデオ情報は、出力インターフェース22によってコンピュータ可読媒体16に出力され得る。
[0041]ビデオ発信源18は、ビデオエンコーダ20にビデオデータの1つ又は複数のビューを提供し得る。例えば、ビデオ発信源18は、各々が、撮影されている特定のシーンに対して一意の水平位置を有する、カメラのアレイに対応し得る。代替的に、ビデオ発信源18は、例えばコンピュータグラフィックスを使用して異なる水平カメラの視点からビデオデータを生成し得る。深度推定ユニット19は、テクスチャ画像内の画素に対応する深度画素に関する値を決定するように構成され得る。例えば、深度推定ユニット19は、音響航法/測距(SONAR:Sound Navigation and Ranging)ユニット、光検出/測距(LIDAR:Light Detection and Ranging)ユニット、又はシーンのビデオデータを記録しながら実質的に同時に深度値を直接決定することが可能な他のユニットを表し得る。
[0042]追加又は代替として、深度推定ユニット19は、異なる水平カメラ視点から実質的に同時に撮られた2つ以上の画像を比較することによって間接的に深度値を計算するように構成され得る。画像内の実質的に同様の画素値の間の水平視差を計算することによって、深度推定ユニット19は、シーン内の様々なオブジェクトの深度を概算し得る。深度推定ユニット19は、幾つかの例では、ビデオ発信源18と機能的に統合され得る。例えば、ビデオ発信源18がコンピュータグラフィックス画像を生成するとき、深度推定ユニット19は、例えば、画素のz座標と、テクスチャ画像をレンダリングするために使用されたオブジェクトとを使用して、グラフィカルオブジェクトのための実際の深度マップを与え得る。
[0043]コンピュータ可読媒体16は、ワイヤレスブロードキャスト又はワイヤードネットワーク送信などの一時媒体若しくはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、又は他のコンピュータ可読媒体などの記憶媒体(即ち、非一時的記憶媒体)を含み得る。幾つかの例では、ネットワークサーバ(図示せず)は、発信源機器12から符号化ビデオデータを受信し、例えば、ネットワーク送信を介して、その符号化ビデオデータを宛先機器14に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピュータ機器は、発信源機器12から符号化されたビデオデータを受信し、その符号化されたビデオデータを包含しているディスクを生成し得る。従って、様々な例では、コンピュータ可読媒体16は、様々な形態の1つ又は複数のコンピュータ可読媒体を含むと理解され得る。
[0044]宛先機器14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロック及び他のコード化されたユニット、例えば、GOPの特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。表示装置32は、ユーザに復号ビデオデータを表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。幾つかの例では、表示装置32は、例えば、視聴者のための3D視覚影響を生成するために、同時に又は実質的に同時に2つ以上のビューを表示することが可能な機器を備え得る。
[0045]宛先機器14のDIBRユニット31は、ビデオデコーダ30から受信された復号されたビューのテクスチャ及び深度情報を使用して、合成されたビューをレンダリングし得る。例えば、DIBRユニット31は、対応する深度マップ中の画素の値に応じて、テクスチャ画像の画素データのための水平視差を決定し得る。DIBRユニット31は、次いで、決定された水平視差によって、テクスチャ画像中の画素を左又は右にオフセットすることによって、合成された画像を生成し得る。このようにして、表示装置32は、任意の組合せにおける、復号ビュー及び/又は合成ビューに対応し得る、1つ以上のビューを表示し得る。本開示の技法によれば、ビデオデコーダ30は、深度範囲及びカメラパラメータのための元の精度値と更新された精度値とを、DIBRユニット31に与え得、DIBRユニット31は、ビューを適切に合成するために、深度範囲とカメラパラメータとを使用し得る。
[0046]図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は各々、オーディオエンコーダ及びデコーダと統合され得、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能なとき、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP:user datagram protocol)などの他のプロトコルに準拠し得る。
[0047]ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための1つ又は複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ以上のエンコーダ又はデコーダの中に含まれ得、そのいずれかが、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む機器は、集積回路、マイクロプロセッサ、及び/又は携帯電話のようなワイヤレス通信機器を備え得る。
[0048]本開示の一例では、ビデオデコーダ30は、第1のビューの第1のアクセス単位中でビデオデータの第1の符号化ブロックを受信すること、ここにおいて、ビデオデータの第1の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、双方向予測が、第1の予測方向のための時間的予測と第2の予測方向のためのビュー間予測とを含む、を行うように構成され得る。ビデオデコーダ30は、ビデオデータの第1の符号化ブロックのための第1の予測方向についての時間動き情報を決定することと、ビデオデータの第1の符号化ブロックのための第2の予測方向についての視差動き情報を決定することとを行うように更に構成され得る。ビデオデコーダ30は、第1の予測方向についての決定された時間動き情報を使用して、第1の予測方向とは異なる第2の予測方向のための参照ブロックを識別することと、ここにおいて、参照ブロックが、第1のアクセス単位とは異なるアクセス単位中にある、第2の予測方向のための識別された参照ブロックを使用してビデオデータの第1の符号化ブロックに対して高度残差予測を実行することとを行うように更に構成され得る。このようにして、第1の予測方向についての時間動き情報が第2の予測方向のために再使用される。従って、第2の予測方向に対応する第1の符号化ブロックの動きベクトルによって識別されるブロックの時間動き情報にアクセスする必要がないので、時間動き情報のメモリアクセスを行う必要が少なくなり、従って、より高速なビデオ復号が可能になる。更に、ARPを実行するときに使用される参照ブロックの総数が6から5に低減され得、これによって、乗算及び加算演算を使用した補間に関する計算複雑さが少なくなる。同様に、双方向インター予測を実行するとき、ビデオエンコーダ20は、第2の予測方向を符号化するときに第1の予測方向についての時間動き情報を再使用するように構成され得る。
[0049]ビデオエンコーダ20及びビデオデコーダ30は、現在開発中の高効率ビデオコード化(HEVC)規格などの、ビデオコード化規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part 10、高度動画像符号化(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格もしくは業界規格、又はITU−T H.264/AVCのMVC拡張など、そのような規格の拡張に従って動作し得る。MVCの最新のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されている。具体的には、ビデオエンコーダ20及びビデオデコーダ30は、HEVC規格(例えば、3D−HEVC)の3D拡張を含む、3D及び/又はマルチビューコード化規格に従って動作し得る。
[0050]「HEVC Working Draft 10」又は「WD10」と呼ばれるHEVC規格の1つのドラフトは、文書JCTVC−L1003v34、Brossら、「(FDIS & Last Callに対して)High efficiency video coding(HEVC)text specification draft 10」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11のビデオコード化共同研究部会(JCT−VC:Joint Collaborative Team on Video Coding)、第12回会合:ジュネーブ、スイス、2013年1月14日〜23日に記載されており、この文書は、2015年1月5日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipからダウンロード可能である。
[0051]HEVC規格の別のドラフトは、本明細書で、Brossら、「Editors’ proposed corrections to HEVC version 1」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化共同研究部会(JCT−VC)、第13回会合、仁川、韓国、2013年4月に記載された「WD10改訂版」と呼ばれ、この文書は2015年1月5日現在、http://phenix.int−evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC−M0432−v3.zipから入手可能である。また、HEVCに対するマルチビュー拡張、即ちMV−HEVCがJCT−3Vによって開発されている。
[0052]現在、VCEG及びMPEGの3Dビデオコード化共同研究部会(JCT−3C:Joint Collaboration Team on 3D Video Coding)は、HEVCに基づく3DV規格を開発中であり、そのために、規格化作業の一部は、HEVCに基づくマルチビュービデオコーデック(MV−HEVC)と、HEVCに基づく3Dビデオコード化(3D−HEVC)のための別の部分との規格化を含む。MV−HEVCでは、HEVCにおけるコード化単位/予測単位レベルにおけるモジュールが再設計される必要がなく、MV−HEVCに完全に再使用され得ないように、MV−HEVCにおいてハイレベルシンタックス(HLS)の変更しか存在しないことが保証されるべきである。3D−HEVCでは、コード化単位/予測単位レベルのコード化ツールを含む新たなコード化ツールが、テクスチャビューと深度ビューの両方に関して含められ、サポートされ得る。
[0053]参照ソフトウェアの1つのバージョンである3D−HEVC用の3D−HTMは、リンク[3D−HTM version 9.01r1]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM−9.0r1/からダウンロード可能である。参照ソフトウェア記述の1つのバージョンは、Li Zhang、Gerhard Tech、Krzysztof Wegner、Sehoon Yea、「Test Model 6 of 3D−HEVC and MV−HEVC」、JCT3V−F1005、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11との3Dビデオコード化拡張開発共同研究部会、第6回会合、ジュネーブ、スイス、2013年11月(JCT3V−F1005)に記載されている。JCT3V−F1005は、http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=1636からダウンロードされ得る。
[0054]3D−HEVCの1つのワーキングドラフトは、Gerhard Tech、Krzysztof Wegner、Ying Chen、Sehoon Yea、「3D−HEVC Draft Text 2」、JCT3V−F1001、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11との3Dビデオコード化拡張開発共同研究部会、第6回会合、ジュネーブ、スイス、2013年11月(JCT3V−F1−001)に記載されている。JCT3V−F1001は、http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=1361から入手可能である。最新のソフトウェア記述(文書番号:E1005)は、http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=1360から入手可能である。
[0055]3D−HEVC用の最近のソフトウェア3D−HTMは、リンク[3D−HTM version 12.0]:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM−12.0/からダウンロード可能である。3D−HEVCの対応するワーキングドラフト(文書番号I1001)は、http://phenix.int−evry.fr/jct3v/doc_end_user/current_document.php?id=2299から入手可能である。最新のソフトウェア記述(文書番号:I1005)は、http://phenix.int−evry.fr/jct3v/doc_end_user/current_document.php?id=2301からビー入手可能である。
[0056]最初に、HEVCの例示的なコード化技法について説明する。HEVC規格化の取組みは、HEVCテストモデル(HM)と呼ばれるビデオコード化機器の発展的モデルに基づいていた。HMは、例えば、ITU−T H.264/AVCに従う既存の機器に対して、ビデオコード化機器の幾つかの追加の能力を仮定した。例えば、H.264は9個のイントラ予測符号化モードを提供するが、HMは33個もの角度イントラ予測符号化モードプラスDCモードと平面モードとを与え得る。
[0057]HEVC及び他のビデオコード化仕様では、ビデオシーケンスは、一般に、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、及びSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(即ち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
[0058]ピクチャの符号化された表現を生成するために、ビデオエンコーダ20はコード化ツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコード化ツリーブロックと、クロマサンプルの2つの対応するコード化ツリーブロックと、それらのコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。モノクロームピクチャ、又は3つの別個のカラープレーンを有するピクチャでは、CTUは、単一のコード化ツリーブロックと、そのコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。コード化ツリーブロックは、サンプルのN×Nのブロックであり得る。CTUは、「ツリーブロック」又は「最大コード化単位」(LCU)とも呼ばれることがある。HEVCのCTUは、H.264/AVCのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズには限定されず、1つ又は複数のコード化単位(CU)を含み得る。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のCTUを含み得る。
[0059]コード化されたCTUを生成するために、ビデオエンコーダ20は、コード化ツリーブロックをコード化ブロックに分割するように、CTUのコード化ツリーブロック、以降名称「コード化ツリー単位」に対して4分木区分化を再帰的に実行することができる。コード化ブロックは、N×Nブロックのサンプルである。コード化単位(CU)は、ルーマサンプルアレイと、Cbサンプルアレイと、Crサンプルアレイとを有するピクチャの、ルーマサンプルのコード化ブロックと、クロマサンプルの2つの対応するコード化ブロックと、それらのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。モノクロームピクチャ、又は3つの別個のカラープレーンを有するピクチャでは、CUは、単一のコード化ブロックと、そのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。
[0060]ビデオエンコーダ20は、CUのコード化ブロックを1つ又は複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(即ち、正方形又は非正方形)ブロックである。CUの予測単位(PU)は、ルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロームピクチャ、又は3つの別個のカラープレーンを有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、及びCr予測ブロックに関する予測ルーマブロックと、予測Cbブロックと、予測Crブロックとを生成し得る。
[0061]ビデオエンコーダ20は、PUのための予測ブロックを生成するために、イントラ予測又はインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。各PUのルーマ成分に関するHEVCの幾つかのバージョンでは、(2〜34までインデックス付けされた)33個の角度予測モードと、(1とインデックス付けされた)DCモードと、(0とインデックス付けされた)平面モードとを有するイントラ予測方法が利用される。
[0062]ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つ又は複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。インター予測は、単方向インター予測(即ち、単予測又は単予測的予測(predictive prediction))又は双方向インター予測(即ち、双予測又は双予測的予測)であり得る。単予測又は双予測を実行するために、ビデオエンコーダ20は、現在のスライスに関して、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを生成し得る。参照ピクチャリストの各々は、1つ又は複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ20は、参照ピクチャ内の参照位置を決定するために、RefPicList0とRefPicList1のいずれか又は両方の中の参照ピクチャを探索し得る。更に、単予測を使用するとき、ビデオエンコーダ20は、参照位置に対応するサンプルに少なくとも部分的に基づいて、PUのための予測サンプルブロックを生成し得る。更に、単予測を使用するとき、ビデオエンコーダ20は、PUの予測ブロックと参照位置との間の空間変位を示す単一の動きベクトルを生成し得る。PUの予測ブロックと参照位置との間の空間変位を示すために、動きベクトルは、PUの予測ブロックと参照位置との間の水平変位を指定する水平成分を含み得、PUの予測ブロックと参照位置との間の垂直変位を指定する垂直成分を含み得る。
[0063] PUを符号化するために双予測を使用するとき、ビデオエンコーダ20は、RefPicList0中の参照ピクチャ中の第1の参照位置と、RefPicList1中の参照ピクチャ中の第2の参照位置とを決定し得る。ビデオエンコーダ20は、次いで、第1及び第2の参照位置に対応するサンプルに少なくとも部分的に基づいて、PUのための予測ブロックを生成し得る。更に、PUを符号化するために双予測を使用するとき、ビデオエンコーダ20は、PUのサンプルブロックと第1の参照位置との間の空間変位を示す第1の動きベクトルと、PUの予測ブロックと第2の参照位置との間の空間変位を示す第2の動きベクトルとを生成し得る。
[0064]一般に、Bピクチャの第1の参照ピクチャリスト又は第2の参照ピクチャリスト(例えば、RefPicList0又はRefPicList1)に関する参照ピクチャリスト構築は、2つのステップ、即ち、参照ピクチャリスト初期化と、参照ピクチャリスト並べ替え(修正)とを含む。参照ピクチャリスト初期化は、参照ピクチャメモリ(復号ピクチャバッファとしても知られる)中の参照ピクチャを、POC(ピクチャの表示順で整列されるピクチャオーダーカウント)値の順序に基づいてリストに入れる明示的機構である。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中にリスト中に置かれたピクチャの位置を任意の新しい位置に修正すること、又は参照ピクチャメモリ中の任意の参照ピクチャが初期化リストに属していない場合でもそのピクチャを任意の位置に置くことができる。参照ピクチャリスト並べ替え(修正)後の幾つかのピクチャは、リスト中のはるかに離れた位置に入れられることがある。但し、ピクチャの位置が、リストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終的な参照ピクチャリストのエントリとは見なされない。アクティブ参照ピクチャの数は、リストごとにスライスヘッダにおいて信号伝達(signal)され得る。
[0065]参照ピクチャリスト(即ち、利用可能な場合、RefPicList0及びRefPicList1)が構成された後、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを識別するために使用され得る。
[0066]ビデオエンコーダ20がCUの1つ又は複数のPUに関する、予測ルーマブロックと、予測Cbブロックと、予測Crブロックとを生成した後、ビデオエンコーダ20は、CUに関するルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックの1つの中のルーマサンプルとCUの元のルーマコード化ブロック中の対応するサンプルとの間の差分を示す。更に、ビデオエンコーダ20は、CUのためのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコード化ブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUのためのCr残差ブロックを生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコード化ブロック中の対応するサンプルとの間の差分を示し得る。
[0067]更に、ビデオエンコーダ20は、CUのルーマ残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを、1つ又は複数のルーマ変換ブロック、Cb変換ブロック、及びCr変換ブロックに分解するために、4分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(例えば、正方形又は非正方形)ブロックである。CUの変換単位(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2個の対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。従って、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、及びCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックはCUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャ、又は3つの別個のカラープレーンを有するピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
[0068]ビデオエンコーダ20は、TUに関するルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1回又は複数回の変換を適用し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUのCb変換ブロックに1回又は複数回の変換を適用して、TUのCb係数ブロックを生成し得る。ビデオエンコーダ20は、TUのためのCr係数ブロックを生成するために、TUのCr変換ブロックに1つ又は複数の変換を適用し得る。
[0069]係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロック又はCr係数ブロック)を生成した後、ビデオエンコーダ20は、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を実現するプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コード化(CABAC:Context-Adaptive Binary Arithmetic Coding)を実行し得る。
[0070]ビデオエンコーダ20は、コード化ピクチャと関連付けられたデータとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、一連のネットワーク抽象化レイヤ(NAL)単位を備え得る。NAL単位は、NAL単位中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造である。NAL単位の各々は、NAL単位ヘッダを含み、RBSPをカプセル化する。NAL単位ヘッダは、NAL単位タイプコードを示すシンタックス要素を含み得る。NAL単位のNAL単位ヘッダによって指定されるNAL単位タイプコードは、NAL単位のタイプを示す。RBSPは、NAL単位内にカプセル化された整数個のバイトを含む、シンタックス構造であり得る。幾つかの事例では、RBSPは0ビットを含む。
[0071]異なるタイプのNAL単位は、異なるタイプのRBSPをカプセル化し得る。例えば、第1のタイプのNAL単位はピクチャパラメータセット(PPS)に関するRBSPをカプセル化することができ、第2のタイプのNAL単位はコード化スライスに関するRBSPをカプセル化することができ、第3のタイプのNAL単位はSEIに関するRBSPをカプセル化し得、以下同様である。ビデオコード化データのためのRBSPをカプセル化するNAL単位は(パラメータセット及びSEIメッセージのためのRBSPとは対照的に)、ビデオコード化レイヤ(VCL)NAL単位と呼ばれることがある。
[0072]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。更に、ビデオデコーダ30は、ビットストリームを構文解析(parse)して、ビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ20によって実行されるプロセスの逆であり得る。例えば、ビデオデコーダ30は、現在のCUのPUのための予測ブロックを決定するために、PUの動きベクトルを使用し得る。更に、ビデオデコーダ30は、現在のCUのTUに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在のCUのTUに関連付けられた変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ30は、現在のCUのPUのための予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加算することによって、現在のCUのコード化ブロックを再構成し得る。ピクチャの各CUのためのコード化ブロックを再構成することによって、ビデオデコーダ30はピクチャを再構成し得る。
[0073]幾つかの例では、ビデオエンコーダ20は、マージモード又は高度動きベクトル予測(AMVP)モードを使用して、PUの動き情報を信号伝達し得る。言い換えれば、HEVCでは、動きパラメータの予測のために2つのモードがあり、一方はマージモードであり、他方はAMVPである。動き予測は、1つ又は複数の他のビデオユニットの動き情報に基づく、ビデオ単位(例えば、PU)の動き情報の決定を備え得る。PUの動き情報は、PUの動きベクトルと、PUの参照インデックスとを含み得る。
[0074]ビデオエンコーダ20がマージモードを使用して現在のPUの動き情報を信号伝達するとき、ビデオエンコーダ20は、マージ候補リストを生成する。言い換えれば、ビデオエンコーダ20は、動きベクトル予測子リスト構築プロセスを実行し得る。マージ候補リストは、現在のPUに空間的又は時間的に隣接するPUの動き情報を示すマージ候補のセットを含む。即ち、マージモードでは、動きパラメータ(例えば、参照インデックス、動きベクトルなど)の候補リストが構築され、候補は、空間的隣接ブロック及び時間的隣接ブロックからであり得る。幾つかの例では、これらの候補は人工的に生成された候補も含み得る。
[0075]更に、マージモードでは、ビデオエンコーダ20は、マージ候補リストからマージ候補を選択し得、現在のPUの動き情報として、選択されたマージ候補によって示される動き情報を使用し得る。ビデオエンコーダ20は、選択されたマージ候補のマージ候補リスト中の位置を信号伝達し得る。例えば、ビデオエンコーダ20は、インデックスを候補リスト中に送信することによって、選択された動きベクトルパラメータを信号伝達し得る。ビデオデコーダ30は、ビットストリームから、候補リストの中へのインデックス(即ち、候補リストインデックス)を取得し得る。更に、ビデオデコーダ30は、同じマージ候補リストを生成し得、選択されたマージ候補の位置の指示に基づいて、選択されたマージ候補を決定し得る。ビデオデコーダ30は、次いで、現在のPUに関する予測ブロックを生成するために、選択されたマージ候補の動き情報を使用し得る。即ち、ビデオデコーダ30は、候補リストインデックスに少なくとも部分的に基づいて、候補リスト中の選択された候補を決定し得、ここにおいて、選択された候補は、現在のPUについての動きベクトルを指定する。このように、デコーダ側では、インデックスが復号されると、インデックスが指す対応するブロックの全ての動きパラメータは、現在のPUによって継承され得る。
[0076]スキップモードはマージモードと同様である。スキップモードでは、ビデオエンコーダ20及びビデオデコーダ30は、マージモードにおいてビデオエンコーダ20及びビデオデコーダ30がマージ候補リストを使うのと同じようにマージ候補リストを生成し、使用する。但し、ビデオエンコーダ20がスキップモードを使用して現在のPUの動き情報を信号伝達するとき、ビデオエンコーダ20は、現在のPUに関するどの残差データも信号伝達しない。従って、ビデオデコーダ30は、残差データを使用せずに、マージ候補リスト中の選択された候補の動き情報によって示される参照ブロックに基づいて、PUに関する予測ブロックを決定し得る。
[0077]AMVPモードは、ビデオエンコーダ20が候補リストを生成し得、候補リストから候補を選択し得るという点で、マージモードと同様である。但し、ビデオエンコーダ20がAMVPモードを使用して現在のPUのRefPicListX動き情報を信号伝達するとき、ビデオエンコーダ20は、現在のPUに関するRefPicListX MVPフラグを信号伝達するのに加え、現在のPUに関するRefPicListX動きベクトル差分(MVD)と、現在のPUに関するRefPicListX参照インデックスとを信号伝達し得る。現在のPUに関するRefPicListX MVPフラグは、AMVP候補リスト中の選択されたAMVP候補の位置を示し得る。現在のPUに関するRefPicListX MVDは、現在のPUのRefPicListX動きベクトルと選択されたAMVP候補の動きベクトルとの間の差分を示し得る。このようにして、ビデオエンコーダ20は、RefPicListX動きベクトル予測子(MVP)フラグと、RefPicListX参照インデックス値と、RefPicListX MVDとを信号伝達することによって、現在のPUのRefPicListX動き情報を信号伝達し得る。言い換えれば、現在のPUに関する動きベクトルを表す、ビットストリーム中のデータは、参照インデックスと、候補リストへのインデックスと、MVDとを表すデータを含み得る。
[0078]更に、AMVPモードを使って現在のPUの動き情報が信号伝達されるとき、ビデオデコーダ30は、ビットストリームから、現在のPUに関するMVDと、MVPフラグとを取得し得る。ビデオデコーダ30は、同じAMVP候補リストを生成し得、MVPフラグに基づいて、選択されたAMVP候補を決定し得る。ビデオデコーダ30は、MVDを選択されたAMVP候補によって示される動きベクトルに加算することによって、現在のPUの動きベクトルを復元し得る。即ち、ビデオデコーダ30は、選択されたAMVP候補によって示される動きベクトル及びMVDに基づいて、現在のPUの動きベクトルを決定し得る。ビデオデコーダ30は、次いで、現在のPUのための予測ブロックを生成するために、復元された動きベクトル、又は現在のPUの動きベクトルを使用し得る。
[0079]ビデオデコーダ30が現在のPUに関するAMVP候補リストを生成するとき、ビデオデコーダ30は、現在のPUに空間的に隣接する位置をカバーするPU(即ち、空間的隣接PU)の動き情報に基づいて、1つ又は複数のAMVP候補を導出し得る。PUの予測ブロックがある位置を含むとき、PUはその位置をカバーし得る。
[0080]現在のPUに時間的に隣接するPU(即ち、現在のPUとは異なる時間インスタンス中にあるPU)の動き情報に基づくマージ候補リスト又はAMVP候補リスト中の候補は、TMVPと呼ばれることがある。即ち、TMVPは、HEVCのコード化効率を向上させるために使用され得、他のコード化ツールとは異なり、TMVPは、復号ピクチャバッファ中、より具体的には、参照ピクチャリスト中のフレームの動きベクトルにアクセスする必要があり得る。
[0081]TMVPの使用は、CVS(コード化ビデオシーケンス)ごとに、スライスごとに、又は別の方式で、有効若しくは無効にされ得る。SPS中のシンタックス要素(例えば、sps_temporal_mvp_enable_flag)は、TMVPの使用がCVSに対して有効にされるかどうかを示し得る。更に、TMVPの使用がCVSのために有効にされるとき、TMVPの使用は、CVS内の特定のスライスに対して有効又は無効にされ得る。例えば、スライスヘッダ中のシンタックス要素(例えば、slice_temporal_mvp_enable_flag)は、TMVPの使用がスライスに対して有効にされるかどうかを示し得る。従って、インター予測スライスでは、TMVPがCVS全体に対して有効にされる(例えば、SPS中のsps_temporal_mvp_enable_flagが1に設定される)とき、TMVPが現在のスライスに対して有効にされているかどうかを示すために、slice_temporal_mvp_enable_flagがスライスヘッダ中で信号伝達される。
[0082]TMVPを決定するために、ビデオコーダは、現在のPUとコロケートされるPUを含む参照ピクチャを最初に識別し得る。言い換えれば、ビデオコーダはコロケートピクチャ(co-located picture)を識別し得る。現在のピクチャの現在のスライスがBスライス(即ち、双方向インター予測されたPUを含むことが可能にされるスライス)である場合、ビデオエンコーダ20は、コロケートピクチャがRefPicList0からのものであるか、又はRefPicList1からのものであるかを示すシンタックス要素(例えば、collocated_from_l0_flag)を、スライスヘッダ中で信号伝達し得る。言い換えれば、TMVPの使用が現在のスライスに対して有効にされ、現在のスライスがBスライス(例えば、双方向インター予測されたPUを含むことが可能にされるスライス)であるとき、ビデオエンコーダ20は、コロケートピクチャがRefPicList0の中にあるか、又はRefPicList1の中にあるかを示すために、シンタックス要素(例えば、collocated_from_l0_flag)を、スライスヘッダ中で信号伝達し得る。言い換えれば、TMVPを得るために、最初に、コロケートピクチャが識別されることになる。現在のピクチャがBスライスである場合、コロケートピクチャがRefPicList0からのものか、又はRefPicList1からのものかを示すために、collocated_from_l0_flagがスライスヘッダにおいて信号伝達される。
[0083]ビデオデコーダ30がコロケートピクチャを含む参照ピクチャリストを識別した後、ビデオデコーダ30は、識別された参照ピクチャリスト中のピクチャ(即ち、コロケートピクチャ)を識別するために、スライスヘッダ中で信号伝達され得る別のシンタックス要素(例えば、collocated_ref_idx)を使用し得る。即ち、参照ピクチャリストが識別された後、スライスヘッダで信号伝達されるcollocated_ref_idxが、参照ピクチャリスト中のピクチャを識別するために使用される。
[0084]ビデオコーダは、コロケートピクチャを確認することによって、コロケートPUを識別し得る。TMVPは、コロケートPUを含むCUの右下のPUの動き情報、又はこのPUを含むCUの中心PU内の右下のPUの動き情報のいずれかを示し得る。従って、このPUを含むCUの右下のPUの動き、又はこのPUを含むCUの中心PU内の右下のPUの動きのいずれかが使用される。コロケートPUを含むCUの右下のPUは、PUの予測ブロックの右下のサンプルのすぐ下及び右の位置をカバーするPUであり得る。言い換えれば、TMVPは、参照ピクチャの中にあり現在のPUの右下コーナーとコロケートされる位置をカバーするPUの動き情報を示すことができ、又は、TMVPは、参照ピクチャの中にあり、現在のPUの中心とコロケートされる位置をカバーするPUの動き情報を示し得る。
[0085]マージモード又はAMVPモードのための動き候補を生成するために、上記のプロセスによって識別された動きベクトル(即ち、TMVPの動きベクトル)が使用されるとき、ビデオコーダは、(POC値によって反映される)時間的位置に基づいて、動きベクトルをスケーリングし得る。例えば、ビデオコーダは、現在のピクチャのPOC値と参照ピクチャのPOC値との差分が大きいとき、より大きな量だけ動きベクトルの大きさを増加させ、現在のピクチャのPOC値と参照ピクチャのPOC値との差分が小さいとき、より少ない量だけ動きベクトルの大きさを増加させ得る。
[0086]TMVPから導出される時間的マージング候補に対する全てのあり得る参照ピクチャリストのターゲット参照インデックスは、常に0に設定され得る。しかしながら、AMVPでは、全てのあり得る参照ピクチャのターゲット参照インデックスは、復号参照インデックスに等しく設定される。言い換えれば、TMVPから導出される時間マージング候補に関する全てのあり得る参照ピクチャリストのターゲット参照インデックスは常に0に設定されるが、AMVPでは、時間マージ用候補は、復号参照インデックスに等しく設定され得る。HEVCでは、SPSはフラグ(例えば、sps_temporal_mvp_enable_flag)を含み得、sps_temporal_mvp_enable_flagが1に等しいとき、スライスヘッダはフラグ(例えば、pic_temporal_mvp_enable_flag)を含み得る。ある特定のピクチャに対してpic_temporal_mvp_enable_flagとtemporal_idの両方が0に等しいとき、復号順序においてその特定のピクチャの前にあるピクチャからの動きベクトルは、その特定のピクチャ、又は復号順序でその特定のピクチャの後にあるピクチャの復号において、TMVPとして使用されない。
[0087]幾つかの例では、ビデオエンコーダ20及びビデオデコーダ30(図1)は、マルチビュー及び/又は3Dビデオコード化、例えば、2つ以上のビューを含むビデオデータのコード化のための技法を採用し得る。そのような例では、ビデオエンコーダ20は、2つ以上のビューのための符号化ビデオデータを含むビットストリームを符号化し得、ビデオデコーダ30は、例えば、表示装置32に2つ以上のビューを与えるために符号化ビデオデータを復号し得る。幾つかの例では、ビデオデコーダ30は、表示装置32が3Dビデオを表示することを可能にするためにビデオデータの複数のビューを与え得る。幾つかの例では、ビデオエンコーダ20及びビデオデコーダ30は、例えば、マルチビューコード化グプロセス又はマルチビュープラス深度コード化プロセスが使用されるHEVC規格の3D−HEVC拡張に準拠し得る。マルチビュー及び/又は3Dビデオコード化は、2つ以上のテクスチャビューを及び/又はテクスチャ成分と深度成分とを含むビューのコード化を伴い得る。幾つかの例では、ビデオエンコーダ20によって符号化され、ビデオデコーダ30によって復号されるビデオデータは、即ち、「アクセス単位」内の所与の瞬間の2つ以上のピクチャ、又は所与の瞬間における2つ以上のピクチャが導出され得るデータを含む。
[0088]幾つかの例では、機器、例えば、ビデオ発信源18は、例えば、共通シーンをキャプチャするため2つ以上の空間オフセットカメラ又は他の撮像装置を使用することによって2つ以上のピクチャを生成し得る。3次元効果を生成するために、わずかに異なる水平位置から同時に又はほぼ同時に撮られた同じシーンの2つのピクチャが使用され得る。幾つかの例では、ビデオ発信源18(又は発信源機器12の別の構成要素)は、所与の時間における第1のビューの第1のピクチャから、その所与の時間における第2の(又は他の追加の)ビューの第2の(又は他の追加の)ピクチャを生成するために深度情報又は視差情報を使用し得る。この場合、アクセス単位内のビューは、第2のビューを生成するために、第1のビューに対応するテクスチャ成分とそのテクスチャ成分とともに使用され得る深度成分とを含み得る。深度情報又は視差情報は、例えば、撮像装置の構成に関して知られているカメラパラメータ又は他の情報、及び第1のビューについてのビデオデータのキャプチャに基づいて、第1のビューを撮る撮像装置によって決定され得る。深度又は視差情報は、追加又は代替として、第1のビュー中のカメラパラメータ及び/又はビデオデータから、例えば、発信源機器12のビデオ発信源18又は別の構成要素によって計算され得る。
[0089]3Dビデオを提示するために、表示装置32は、同時に又はほぼ同時に撮られた共通シーンの異なるビューに関連する2つのピクチャを同時に又はほぼ同時に表示し得る。幾つかの例では、宛先機器14のユーザは、シャッターの左レンズと右レンズとを迅速、交互に閉じるアクティブ眼鏡を装着し得、表示装置32は、アクティブ眼鏡と同期して左ビューと右ビューとの間で迅速に切り替わり得る。他の例では、表示装置32は2つのビューを同時に表示し得、ユーザは、適切なビューがそれを通ってユーザの眼に届くようにビューをフィルタ処理する、例えば、偏光レンズをもつパッシブ眼鏡を着用し得る。他の例では、表示装置32は、ユーザが3D効果を知覚するために眼鏡を必要としない自動立体視表示器を備え得る。
[0090]マルチビュービデオコード化は、複数のビューがコード化される方法を指す。3Dビデオコード化の場合、複数のビューは、例えば、左眼ビューと右眼ビューとに対応し得る。複数のビューの各ビューは複数のピクチャを含む。3Dシーンの視聴者の知覚は、異なるビューのピクチャ内のオブジェクト間の水平視差に起因する。
[0091]現在のピクチャの現在のブロックのための視差ベクトル(DV)は、現在のピクチャとは異なるビュー中である対応するピクチャ中の対応するブロックを指すベクトルである。従って、DVを使用して、ビデオコーダは、対応するピクチャ中で、現在のピクチャの現在のブロックに対応するブロックの位置を特定し得る。この場合、対応するピクチャは、現在のピクチャと同じ時間インスタンスのものであるが、異なるビュー中にあるピクチャである。対応するピクチャ中の対応するブロック及び現在のピクチャ中の現在のブロックは、同様のビデオコンテンツを含み得るが、現在のピクチャ中の現在のブロックの位置と対応するピクチャ中の対応するブロックの位置との間に少なくとも水平視差がある。現在のブロックのDVは、対応するピクチャ中のブロックと現在のピクチャ中の現在のブロックとの間のこの水平視差の測度を提供する。
[0092]幾つかの事例では、対応するピクチャ内のブロックの位置と現在のピクチャ内の現在のブロックの位置との間に垂直視差もあり得る。現在のブロックのDVはまた、対応するピクチャ中のブロックと現在のピクチャ中の現在のブロックとの間のこの垂直視差の測度を提供し得る。DVは、2つの成分(x成分及びy成分)を含んでいるが、多くの事例では、垂直成分はゼロに等しくなる。現在のビューの現在のピクチャ及び異なるビューの対応するピクチャが表示される時間は、同じであり得、即ち、現在のピクチャ及び対応するピクチャは、同じ時間インスタンスのピクチャである。
[0093]ビデオコード化では、概して、一般にイントラ予測及びインター予測と呼ばれる2つのタイプの予測がある。イントラ予測では、ビデオコーダは、同じピクチャ中のすでにコード化されているブロックに基づいてピクチャ中のビデオのブロックを予測する。インター予測では、ビデオコーダは、異なるピクチャ(即ち参照ピクチャ)のすでにコード化されているブロックに基づいてピクチャ中のビデオのブロックを予測する。本開示で使用する参照ピクチャは、概して、復号順序で後続のピクチャの復号プロセスにおけるインター予測のために使用され得るサンプルを含んでいる任意のピクチャを指す。現在のピクチャに対して、例えば、3D−HEVCに従って、マルチビューコンテンツをコード化するとき、参照ピクチャは、異なるビュー中にあるが同じ時間インスタンスのものであり得るか、又は異なる時間インスタンスのものであるが同じビュー中にあり得る。例えば、3D−HEVCでのマルチビューコード化の場合、インターピクチャ予測は、時間的に異なるピクチャ中の別のビデオブロックからの、即ち、現在のピクチャとは異なるアクセス単位からの現在のビデオブロック、例えば、CUの現在のコード化ノードの予測及び現在のピクチャと同じアクセス単位中にあるが、現在のピクチャとは異なるビューに関連する異なるピクチャからの予測を含み得る。
[0094]インター予測の後者の場合、ビュー間コード化又はビュー間予測と呼ばれることがある。現在のピクチャと同じアクセス単位中にあるが、現在のピクチャとは異なるビューに関連する参照ピクチャは、ビュー間参照ピクチャと呼ばれることがある。マルチビューコード化では、ビュー間予測は、ビューの間の相関を取り除くために、同じ(即ち、同じ時間インスタンスをもつ)アクセス単位の異なるビュー中で撮られたピクチャの間で実行される。非ベースビューのピクチャ、例えば、従属ビューをコード化するとき、同じアクセス単位だが異なるビューからのピクチャ、例えば、ベースビューなどの参照ビューからのピクチャが、参照ピクチャリストに追加され得る。ビュー間参照ピクチャは、任意のインター予測(例えば、時間又はビュー間)参照ピクチャの場合のように、参照ピクチャリストの任意の位置に置かれ得る。
[0095]現在のピクチャのブロックを予測するために使用される参照ピクチャのブロックは、動きベクトルによって識別される。マルチビューコード化では、少なくとも2つの種類の動きベクトルがある。時間動きベクトル(TMV)は、コード化されているブロックと同じビュー(例えば、上記で説明したインター予測の第1の例)だが、コード化されているブロックとは異なる時間インスタンス又はアクセス単位中にある時間参照ピクチャ中のブロックを指す動きベクトルであり、対応するインター予測は、動き補償予測(MCP)と呼ばれる。別のタイプの動きベクトルは、同じアクセス単位現在のピクチャ中のものだが、異なるビューのピクチャ中のブロックを指す視差動きベクトル(DMV)である。DMVでは、対応するインター予測は、視差補償予測(DCP)又はビュー間予測と呼ばれる。
[0096]次のセクションでは、(例えば、H.264/MVCにおけるような)マルチビューコード化技法及び(例えば、3D−HEVCにおけるような)マルチビュープラス深度コード化技法について論じる。最初に、MVC技法について論じる。上述されたように、MVCは、ITU−T H.264/AVCのマルチビューコード化拡張である。MVCでは、複数のビューに関するデータが時間第一(time-first)順序でコード化され、従って、復号順序構成は、時間第一コード化と呼ばれる。具体的には、共通の時間インスタンスにおける複数のビューの各々のビューコンポーネント(即ち、ピクチャ)がコード化され得、次いで、異なる時間インスタンスのビューコンポーネントの別のセットがコード化され得、以下同様である。アクセス単位は、1つの出力時間インスタンスについての全てのビューのコード化ピクチャを含み得る。アクセス単位の復号順序は、必ずしも出力(又は表示)順序と同一であるとは限らないことを理解されたい。
[0097]典型的なMVC復号順序(即ち、ビットストリーム順序)を図2に示す。復号順序構成は時間第一(time-first)コード化と呼ばれる。アクセス単位の復号順序は出力又は表示の順序と同じでないことがあることに留意されたい。図2では、S0〜S7はそれぞれ、マルチビュービデオの異なるビューを指す。T0〜T8はそれぞれ、1つの出力時間インスタンスを表す。アクセス単位は、1つの出力時間インスタンスについての全てのビューのコード化ピクチャを含み得る。例えば、第1のアクセス単位は時間インスタンスT0についてのビューS0〜S7の全てを含み得、第2のアクセス単位は時間インスタンスT1についてのビューS0〜S7の全てを含み得、以下同様である。
[0098]簡潔のために、本開示では、以下の定義を使用し得る。
ビューコンポーネント:単一のアクセス単位中のビューのコード化表現。ビューが、コード化テクスチャ表現とコード化深度表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネントと深度ビューコンポーネントからなる。
テクスチャビューコンポーネント:単一のアクセス単位中のビューのテクスチャのコード化表現。
深度ビューコンポーネント:単一のアクセス単位中のビューの深度のコード化表現。
[0099]図2では、ビューの各々はピクチャのセットを含む。例えば、ビューS0はピクチャ0、8、16、24、32、40、48、56、及び64のセットを含み、ビューS1はピクチャ1、9、17、25、33、41、49、57、及び65のセットを含み、以下同様である。3Dビデオコード化、例えば、3D−HEVCでは、各ピクチャは2つのコンポーネントピクチャを含む場合があり、一方のコンポーネントピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントと深度ビューコンポーネントとは、互いに対応すると見なされ得る。例えば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の深度ビューコンポーネントに対応すると見なされ、その逆も同様である(即ち、深度ビューコンポーネントはセット中のそのテクスチャビューコンポーネントに対応し、その逆も同様である)。本開示で使用する、深度ビューコンポーネントに対応するテクスチャビューコンポーネントは、単一のアクセス単位の同じビューの一部であるテクスチャビューコンポーネント及び深度ビューコンポーネントと見なされ得る。
[0100]テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。例えば、テクスチャビューコンポーネントは、ルーマ(Y)成分と、クロマ(Cb及びCr)成分とを含み得る。深度ビューコンポーネントは、その対応するテクスチャビューコンポーネント中の画素の相対深度を示し得る。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビューコンポーネントは、画像コンテンツを搬送するのではなく、テクスチャビューコンポーネント中の画素の相対深度の測度を与え得る。
[0101]例えば、深度ビューコンポーネント中の純白の画素は、対応するテクスチャビューコンポーネント中のその対応する1つ又は複数の画素が視聴者から見てより近いことを示し、深度ビューコンポーネント中の純黒の画素は、対応するテクスチャビューコンポーネント中のその対応する1つ又は複数の画素が視聴者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる深度レベルを示す。例えば、深度ビューコンポーネント中の濃いグレーの画素は、テクスチャビューコンポーネント中のその対応する画素が、深度ビューコンポーネント中のより薄いグレーの画素よりも遠いことを示す。画素の深度を識別するためにグレースケールのみが必要とされるので、深度ビューコンポーネント用の色値がいかなる目的も果たし得ないことから、深度ビューコンポーネントはクロマ成分を含む必要がない。
[0102]深度を識別するためにルーマ値(例えば、強度値)のみを使用する深度ビューコンポーネントが説明のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビューコンポーネント中の画素の相対深度を示すために任意の技法が利用され得る。
[0103]マルチビュービデオコード化のための(各ビュー内のピクチャ間予測とビュー間予測の両方を含む)典型的なMVC予測構造を図3に示す。予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。MVCでは、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。
[0104]図3の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、12個の時間位置(「T0」〜「T11」)がビューごとに示されている。即ち、図3中の各行はビューに対応し、各列は時間位置を示す。
[0105]MVCがH.264/AVCデコーダによって復号可能である、所謂ベースビューを有し、また、ステレオビューペアがMVCによってもサポートされ得るが、MVCの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートできることである。MVCデコーダを有するクライアントのレンダラ(renderer)は、複数のビューを用いて3Dビデオコンテンツを予想し得る。
[0106]図3中のピクチャは、各行と各列の交点に示されている。H.264/AVC規格は、ビデオの一部分を表すためにフレームという用語を使用し得る。本開示では、ピクチャという用語とフレームという用語とを互換的に使用し得る。
[0107]図3中のピクチャは、対応するピクチャがイントラコード化される(即ち、Iピクチャである)か又は一方向に(即ち、Pピクチャとして)若しくは複数の方向に(即ち、Bピクチャとして)インターコード化されるかを指定する、文字を含むブロックを使用して示されている。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。例えば、時間位置T0にあるビューS2のPピクチャは、時間位置T0にあるビューS0のIピクチャから予測される。
[0108]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコード化ビデオシーケンスのピクチャは、異なる時間位置にあるピクチャに対して予測符号化され得る。例えば、時間位置T1にあるビューS0のbピクチャは、時間位置T0にあるビューS0のIピクチャからそのbピクチャに向けられた矢印を有し、その矢印は、bピクチャがIピクチャから予測されることを示す。しかしながら、更に、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。即ち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。MVCでは、例えば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張において信号伝達され、インター予測又はビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。ビュー間予測は、3D−HEVC(マルチビュープラス深度)を含む、HEVCの提案されたマルチビュー拡張の機能でもある。
[0109]図3は、ビュー間予測の様々な例を提供する。図3の例では、ビューS1のピクチャは、ビューS1の異なる時間位置にあるピクチャから予測されるものとして及び同じ時間位置にあるビューS0及びS2のピクチャからビュー間予測されるものとして示されている。例えば、時間位置T1にあるビューS1のbピクチャは、時間位置T0及びT2にあるビューS1のBピクチャの各々、ならびに時間位置T1にあるビューS0及びS2のbピクチャから予測される。
[0110]幾つかの例では、図3は、テクスチャビューコンポーネントを示すものとして見なされ得る。例えば、図2に示すIピクチャ、Pピクチャ、Bピクチャ、及びbピクチャは、ビューの各々に関するテクスチャビューコンポーネントと見なされ得る。本開示で説明される技法によれば、図3に示すテクスチャビューコンポーネントの各々について、対応する深度ビューコンポーネントが存在する。幾つかの例では、深度ビューコンポーネントは、対応するテクスチャビューコンポーネントについて図3に示す方法と同様の方法で予測され得る。
[0111]2つのビューのコード化もMVCにおいてサポートされ得る。MVCの利点のうちの1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、また、MVCデコーダがそのようなマルチビュー表現を復号することができることである。従って、MVCデコーダをもつ任意のレンダラは、3つ以上のビューをもつ3Dビデオコンテンツを予想し得る。
[0112]MVCでは、同じアクセス単位中の(即ち、同じ時間インスタンスをもつ)ピクチャ間でビュー間予測が可能になる。非ベースビューのうちの1つの中のピクチャをコード化するとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。図3に示すように、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。MVCでは、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
[0113]マルチビュービデオコード化のコンテキストでは、概して、2種類の動きベクトルが存在する。1つは、正常動きベクトルと呼ばれる。正常動きベクトルは時間参照ピクチャを指し、対応する時間インター予測は動き補償予測(MCP)である。もう1つの動きベクトルは視差動きベクトル(DMV)である。DMVは、異なるビュー中のピクチャ(即ち、ビュー間参照ピクチャ)を指し、対応するインター予測は視差補償予測(DCP:disparity-compensated prediction)である。
[0114]別のタイプのマルチビュービデオコード化フォーマットは、(例えば、3D−HEVCにおけるような)深度値の使用を導入する。3Dテレビジョン及び自由視点ビデオ(free viewpoint video)用に普及しているマルチビュービデオプラス深度(MVD)データフォーマットでは、マルチビューテクスチャピクチャを用いて、テクスチャ画像と深度マップとが独立してコード化され得る。図4は、テクスチャ画像及びその関連するサンプルごとの深度マップを有するMVDデータフォーマットを示す。深度範囲は、対応する3Dポイントに関してカメラからの最小距離znear及び最大距離zfarの範囲内にあるように制限され得る。
[0115]HEVCでは、動きベクトル予測のための技法は、マージモードと、スキップモードと、高度動きベクトル予測(AMVP:advance motion vector prediction)モードとを含み得る。概して、マージモード及び/又はスキップモードに従って、現在のビデオブロック(例えば、PU)は、別の以前にコード化された隣接ブロック、例えば、同じピクチャ中の空間的に隣接するブロックあるいは時間又はビュー間参照ピクチャ中のブロックから動き情報、例えば、動きベクトル、予測方向、及び参照ピクチャインデックスを継承する。マージ/スキップモードを実施するとき、ビデオエンコーダ20は、定義された物体中の参照ブロックの動き情報であるマージング候補のリストを構築し、マージング候補のうちの1つを選択し、ビットストリーム中でビデオデコーダ30に選択されたマージング候補を識別する候補リストインデックスを信号伝達する。
[0116]ビデオデコーダ30は、マージ/スキップモードを実装する際に、定義された方法に従ってマージング候補リストを再構成し、インデックスによって示された候補リスト中のマージング候補のうちの1つを選択する。ビデオデコーダ30は、次いで、マージング候補のうちの選択された1つの動きベクトルと同じ分解能で、マージング候補のうちの選択された1つの動きベクトルと同じ参照ピクチャを指す現在のPUの動きベクトルとしてマージング候補のうちの選択された1つを使用し得る。マージモード及びスキップモードは、ビデオエンコーダ20が、現在のビデオブロックのインター予測についての動き情報の全てではなく、マージング候補リストへのインデックスを信号伝達することを可能にすることによってビットストリーム効率を促進する。
[0117]AMVPを実施するとき、ビデオエンコーダ20は、定義された物体中の候補動きベクトル予測子(MVP)のリストを構築し、候補MVPのうちの1つを選択し、ビットストリーム中でビデオデコーダ30に選択されたMVPを識別する候補リストインデックスを信号伝達する。マージモードと同様に、AMVPを実施するとき、ビデオデコーダ30は、定義された物体中の候補MVPのリストを再構成し、候補リストインデックスに基づいてMVPのうちの1つを選択する。
[0118]しかしながら、マージ/スキップモードに反して、AMVPを実施するとき、ビデオエンコーダ20はまた、参照ピクチャインデックスと予測方向とを信号伝達し、このようにして、候補リストインデックスによって指定されたMVPが指す参照ピクチャを指定する。更に、ビデオエンコーダ20は、現在のブロックのための動きベクトル差分(MVD:motion vector difference)を決定し、ここで、MVDは、MVPと、通常ならば現在のブロックのために使用されたであろう実際の動きベクトルとの間の差である。AMVPでは、参照ピクチャインデックス、参照ピクチャ方向及び候補リストインデックスに加えて、ビデオエンコーダ20は、ビットストリーム中で現在のブロックのためのMVDを信号伝達する。所与のブロックのための参照ピクチャインデックスと予測ベクトル差分との信号伝達により、AMVPは、マージ/スキップモードほど効率的でないことがあるが、コード化ビデオデータの忠実度が改善し得る。
[0119]図5に、現在のビデオブロック47と、5つの空間的隣接ブロック(41、42、43、44及び45)と、別のピクチャからのものだが現在のピクチャと同じビュー中の時間参照ブロック46との一例を示す。時間参照ブロック46は、例えば、異なる時間インスタンスのピクチャだが現在のビデオブロック47と同じビュー中のコロケートされたブロックであり得る。幾つかの例では、現在のビデオブロック47と参照ビデオブロック41〜46とは、現在開発中のHEVC規格において概して定義された通りのものであり得る。参照ビデオブロック41〜46は、HEVC規格に従ってA0、A1、B0、B1、B2及びTと標示される。ビデオエンコーダ20及びビデオデコーダ30は、動き情報予測モード、例えば、マージ/スキップモード又はAMVPモードに従って参照ビデオブロック41〜46の動き情報に基づいて現在のビデオブロック47の、TMVを含む動き情報を予測し得る。以下でより詳細に説明するように、ビデオブロックのTMVは、本開示の技法によれば、高度残差予測のためのDMVとともに使用され得る。
[0120]図5に示すように、ビデオブロック42、44、43、41、及び45は、現在のビデオブロック47に対して、それぞれ、左、上、右上、左下、及び左上にあり得る。但し、図5に示す現在のビデオブロック47に対する隣接ブロック41〜45の数と位置とは例にすぎない。異なる数の隣接ブロック及び/又は異なる位置にあるブロックの動き情報が、現在のビデオブロック47のための動き情報予測候補リストへの包含について考慮され得る。
[0121]現在のビデオブロック47に対する空間的に隣接するブロック42、44、43、41、及び45の各々の空間関係は、次のように説明され得る。現在のピクチャの左上のサンプルに対する現在のブロックの左上のルーマサンプルを指定するために、ルーマ位置(xP,yP)が使用される。変数nPSW及びnPSHは、ルーマについて現在のブロックの幅と高さとを示す。空間的に隣接するブロック42の左上のルーマサンプルは、xP−1、yP+nPSH−1である。空間的に隣接するブロック44の左上のルーマサンプルは、xP+nPSW−1、yP−1である。空間的に隣接するブロック43の左上のルーマサンプルは、xP+nPSW、yP−1である。空間的に隣接するブロック41の左上のルーマサンプルは、xP−1、yP+nPSHである。空間的に隣接するブロック45の左上のルーマサンプルは、xP−1、yP−1である。ルーマ位置に関して説明したが、現在のブロックと参照ブロックとはクロマ成分を含み得る。
[0122]空間的に隣接するブロック41〜45の各々は、現在のビデオブロック47の動き情報、例えば、TMVを予測するための空間動き情報候補を与え得る。ビデオコーダ、例えば、ビデオエンコーダ20(図1)及び/又はビデオデコーダ30(図1)は、所定の順序、例えば、走査順序で、空間的に隣接する参照ブロックの動き情報を考慮し得る。3D−HEVCの場合、例えば、ビデオデコーダは、42、44、43、41、及び45の順序でマージモードのためのマージング候補リストへの包含について参照ブロックの動き情報を考慮し得る。図示の例では、空間的に隣接するブロック41〜45は、現在のビデオブロック47の左側に及び/又はそれの上にある。大部分のビデオコーダがピクチャの左上からラスタ走査順序でビデオブロックをコード化するので、この構成は典型的なものである。従って、そのような例では、空間的に隣接するブロック41〜45は、一般に、現在のビデオブロック47より前にコード化されることになる。但し、他の例では、例えば、ビデオコーダが異なる順序でビデオブロックをコード化するとき、空間的に隣接するブロック41〜45は、現在のビデオブロック47の右側に及び/又はそれの下に位置し得る。
[0123]時間参照ブロック46は、現在のビデオブロック47の現在のピクチャの必ずしもコード化順序で直前とは限らないが、それより前にコード化された時間参照ピクチャ内に位置する。更に、ブロック46の参照ピクチャは、必ずしも表示順序で現在のビデオブロック47のピクチャより前にあるとは限らない。参照ビデオブロック46は、概して、現在のピクチャ中の現在のビデオブロック47の位置に対して参照ピクチャ中でコロケートされ得る。幾つかの例では、参照ビデオブロック46は、現在のピクチャ中の現在のビデオブロック47の位置の右側に及びそれの下に位置し、又は現在のピクチャ中の現在のビデオブロック47の中心位置をカバーする。
[0124]図6は、例えば、マージ/スキップモード又はAMVPモードによる、現在のビデオブロック50の動き情報の予測のためのビュー間予測動きベクトル候補(IPMVC:inter-view predicted motion vector candidate)とビュー間視差動きベクトル候補(IDMVC:inter-view disparity motion vector candidate)との導出の例を示す概念図である。ビュー間予測が使用可能であるとき、ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック50のための動き情報候補リストに新しい動きベクトル候補IPMVC又はIDMVCを追加し得る。IPMVCは、現在のビデオブロック50のためのTMVを予測し得、これを、ビデオエンコーダ20及び/又はビデオデコーダ30は、以下でより詳細に説明するように、本開示の技法に従って現在のビデオブロック50又は別のビデオブロックのARPのために使用し得る。IDMVCは、ビデオエンコーダ20及び/又はビデオデコーダ30が現在のビデオブロック50のARPのために使用し得る現在のビデオブロック50のためのDMVを予測し得る。
[0125]図6の例では、現在のブロック50は現在のビューVm中にある。ビデオエンコーダ20及び/又はビデオデコーダ30は、視差ベクトル(DV)51を使用して参照ビューV0中の対応するブロック又は参照ブロック52の位置を特定し得る。ビデオコーダは、カメラパラメータに基づいて、又は本明細書で説明する技法のいずれかに従ってDV51を決定し得る。例えば、ビデオコーダは、例えば、隣接ブロックベースの視差ベクトル導出(NBDV)を使用して、隣接ブロックのDMV又はDVに基づくことを含めて現在のビデオブロック50のためのDV51を決定し得る。
[0126]参照ブロック52が、イントラコード化もビュー間予測もされず、それの参照ピクチャ、例えば、参照ピクチャ58又は参照ピクチャ60が、現在のビデオブロック50の同じ参照ピクチャリスト中の1つのエントリの値に等しいピクチャ順序カウント(POC)値を有する場合、ビデオエンコーダ20及び/又はビデオデコーダ30は、POCに基づいて参照インデックスを変換した後に、現在のビデオブロック50のためのIPMVCとされるべきそれの動き情報(予測方向、参照ピクチャ、及び動きベクトル)を導出し得る。
[0127]図6の例では、参照ビデオブロック52は、指定された第1の参照ピクチャリスト(RefPicList0)である参照ビューV0中の第1の参照ピクチャ58を指すTMV54と、第2の参照ピクチャリスト(RefPicList1)中に指定された参照ビューV0中の第2のピクチャ60を指すTMV56とに関連付けられる。現在のビデオブロック50によるTMV54及び56の継承を、図6中の破線矢印によって示す。参照ビデオブロック52の動き情報に基づいて、ビデオコーダは、例えば、第1の参照ピクチャリスト(RefPicList0)中で参照ピクチャ58と同じPOCをもつ、第1の参照ピクチャリスト中に指定された現在のビューVm中の第1の参照ピクチャ66を指すTMV62と、例えば、参照ピクチャ60と同じPOCをもつ、第2の参照ピクチャリスト(RefPicList1)中に指定された現在のビューVm中の第2のピクチャ68を指すTMV64とのうちの少なくとも1つとされるべき現在のビデオブロック50のためのIPMVCを導出する。
[0128]ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック50のARPのためにTMV62及び/又はTMV64を使用し得る。ビデオエンコーダ20及び/又はビデオデコーダ30はまた、現在のビデオブロック50のためのIDMVCにDV51を変換し、現在のビデオブロック50のための動き情報候補リストにIDMVCをIPMVCとは異なる位置に追加し得る。IPMVC又はIDMVCの各々は、このコンテキストでは「ビュー間候補」と呼ばれることがある。
[0129]マージ/スキップモードでは、ビデオコーダは、利用可能な場合、IPMVCを、マージ候補リストに、全ての空間及び時間マージング候補の前に挿入する。マージ/スキップモードでは、ビデオコーダは、A0(図5のブロック41)から導出された空間マージング候補の前にIDMVCを挿入する。IDMVCへのDV51の変換は、現在のビデオブロック50のためのDMVへのDV51の変換と見なされ得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック50のARPのためにDMVを使用し得る。
[0130]幾つかの状況では、ビデオコーダは、現在のビデオブロックのDVを導出し得る。例えば、図6に関して上記で説明したように、ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック50のためのDV51を導出し得る。幾つかの例では、ビデオコーダは、現在のビデオブロックのDVを導出するために、NBDV導出を使用し得る。NBDV導出は、3D−HEVCでは視差ベクトル導出方法として使用される。
[0131]3D−HEVCに関する提案は、ビューの全てについてテクスチャ優先コード化順序を使用する。言い換えれば、ビットストリーム中の複数のビューの各々について、ビューのためのいかなる深度成分よりも前にテクスチャ成分オブがコード化され、例えば、符号化又は復号される。場合によっては、例えば、ビュー間予測では、特定のアクセス単位中のビューのテクスチャ成分中のビデオブロックをコード化するためにDVが必要とされる。しかしながら、テクスチャ優先コード化では、現在のビデオブロックの対応する深度成分は、現在のビデオブロックのDVを決定するために利用可能でない。そのような状況では現在のビデオブロックのDVを導出するために、NBDV導出が、ビデオコーダによって採用され得、3D−HEVCのために提案される。現在の3D−HEVCの設計では、NBDV導出から導出されたDVは、NBDVプロセスからのDVによって指された参照ビューの深度マップから深度データを取り出すことによって、更に改善され得る。
[0132]DVは、2つのビュー間の変位を推定するものとして使用される。隣接ブロックは、ビデオコード化においてほぼ同じ動き/視差情報を共有するので、現在のビデオブロックは、それの動き/視差情報の良好な予測子として、隣接ブロック中の動きベクトル情報を使用することができる。この考えに従って、NBDV導出は、異なるビュー中のDVを推定するために、隣接視差情報を使用する。
[0133]NBDV導出に従って、ビデオコーダは、幾つかの空間的及び時間的隣接ブロックを識別する。隣接ブロックの2つのセットが利用される。一方のセットは、空間的隣接ブロックからのものであり、他方のセットは、時間的隣接ブロックからのものである。ビデオコーダは、次いで、現在のブロックと候補(隣接)ブロックとの間の相関の優先順位によって決定された予め定義された順序で空間的及び時間的隣接ブロックの各々を検査する。ビデオコーダが、DMV、即ち、候補の動き情報中で、隣接候補ブロックから(同じアクセス単位中だが、異なるビュー中の)ビュー間参照ピクチャを指す動きベクトルを識別すると、ビデオコーダは、DMVをDVに変換し、関連するビュー順序インデックスを戻す。例えば、ビデオコーダは、現在のブロックのDVの水平成分をDMVの水平成分に等しく設定し得、DVの垂直成分を0に設定し得る。
[0134]3D−HEVCは、最初に、Zhangら、「3D−CE5.h:Disparity vector generation results」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化拡張開発共同研究部会第1回会合、ストックホルム、スウェーデン、2012年7月16〜20日、文書JCT3V−A0097(MPEG番号m26052)、以下「JCT3V−A0097」において提案されたNBDV導出技法を採用した。JCT3V−A0097は、以下のリンクからダウンロードされ得る。http://phenix.int−evry.fr/jct2/doc_end_user/current_document.php?id=89。JCT3V−A0097の内容全体が、参照により本明細書に組み込まれる。
[0135]3D−HEVCの幾つかの提案では、ビデオコーダがNBDV導出プロセスを実行するとき、ビデオコーダは、順番に、時間的隣接ブロック中の視差動きベクトル、空間的隣接ブロック中の視差動きベクトル、次いで、暗黙的視差ベクトル(IDV:implicit disparity vector)を検査する。IDVは、ビュー間予測を使用してコード化された空間的又は時間的隣接PUの視差ベクトルであり得る。IDVは、導出された視差ベクトルと呼ばれることもある。IDVは、PUがビュー間予測を採用するとき、即ち、AMVP又はマージモードのための候補が視差ベクトルの助けをかりて他のビュー中の参照ブロックから導出されるときに生成され得る。そのような視差ベクトルはIDVと呼ばれる。IDVは、DV導出の目的でPUに記憶され得る。例えば、ブロックが動き予測でコード化されるとしても、そのブロックについて導出されたDVは後続のブロックをコード化する目的のために破棄されない。従って、ビデオコーダがDMV又はIDVを識別するとき、ビデオコーダは、識別されたIDV又はIDVを戻し得る。
[0136]暗黙的視差ベクトル(IDV)は、Sungら、「3D−CE5.h:Simplification of disparity vector derivation for HEVC−based 3D video coding」ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化拡張開発共同研究部会、第1回会合、ストックホルム、スウェーデン、2012年7月16〜20日、文書JCT3V−A0126(MPEG番号m26079)、以下「JCT3V−A0126」に記載されている簡略化されたNBDV導出プロセスに含まれた。JCT3V−A0126は、以下のリンクからダウンロードされ得る。http://phenix.int−evry.fr/jct2/doc_end_user/current_document.php?id=142。
[0137]3D−HEVCのためのNBDV導出プロセスの更なる開発は、Kangら、「3D−CE5.h:Improvement for disparity vector derivation」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化拡張開発共同研究部会、第2回会合、上海、中国、2012年10月13〜19日、文書JCT3V−B0047(MPEG番号m26736)、以下「JCT3V−B0047」に記載された。JCT3V−B0047は、以下のリンクからダウンロードされ得る。http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=236。
[0138]JCT3V−B0047では、3D−HEVCのためのNBDV導出プロセスは、復号ピクチャバッファ中に記憶されるIDVを除去することによって更に簡略化された。コード化利得はまた、ランダムアクセスポイント(RAP)ピクチャ選択を用いて改善された。ビデオコーダは、戻された視差動きベクトル又はIDVを視差ベクトルに変換し得、ビュー間予測及びビュー間残差予測のために視差ベクトルを使用し得る。ランダムアクセスは、ビットストリーム中の第1のコード化ピクチャではないコード化ピクチャから始まるビットストリームの復号を指す。一定の間隔でのビットストリーム中へのランダムアクセスピクチャ又はランダムアクセスポイントの挿入はランダムアクセスを有効にし得る。ランダムアクセスピクチャの例示的なタイプは、瞬時復号リフレッシュ(IDR:Instantaneous Decoder Refresh)ピクチャ、クリーンランダムアクセス(CRA:Clean Random Access)ピクチャ、及び切断リンクアクセス(BLA:Broken Link Access)ピクチャを含む。従って、IDRピクチャ、CRAピクチャ、及びBLAピクチャは、RAPピクチャと総称される。幾つかの例では、RAPピクチャは、NAL単位タイプを有し得、BLA_W_LP、BLA_W_RADL、BLA_N_LP、IDR_W_RADL、IDR_N_LP、RSV_IRAP_VCL22、RSV_IRAP_VCL23、又はCRA_NUTに等しい。
[0139]3D−HEVCのためのCUベースのDV導出のための技法は、Kangら、「CE2.h:CU−based disparity vector derivation in 3D−HEVC」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化拡張開発共同研究部会、第4回会合、仁川、韓国、2013年4月20〜26日、文書JCT3V−D0181(MPEG番号m29012)、以下「JCT3V−D0181」において提案された。JCT3V−D0181は、以下のリンクからダウンロードされ得る。http://phenix.it−sudparis.eu/jct3v/doc_end_user/current_document.php?id=866。
[0140]ビデオコーダがDMV又はIDVを識別すると、ビデオコーダは、検査プロセスを終了し得る。従って、ビデオコーダが現在のブロックのDVを発見すると、ビデオコーダはNBDV導出プロセスを終了し得る。ビデオコーダがNBDV導出プロセスを実行することによって現在のブロックのDVを決定することができないとき(即ち、NBDV導出プロセス中にDMV又はIDVが発見されないとき)、NBDVは利用不可能であると標識され得る。言い換えれば、NBDV導出プロセスが利用不可能な視差ベクトルを戻したと見なされ得る。
[0141]ビデオコーダがNBDV導出プロセスを実行することによって現在のブロックのDVを導出することができない場合(即ち、視差ベクトルが発見されない場合)、ビデオコーダは、現在のPUのDVとしてゼロDVを使用し得る。ゼロDVは、0に等しい水平成分と垂直成分の両方を有するDVである。従って、NBDV導出プロセスが利用不可能な結果を戻すときでも、DVを必要とするビデオコーダの他のコード化プロセスは、現在のブロックのためにゼロ視差ベクトルを使用し得る。幾つかの例では、ビデオコーダが、NBDV導出プロセスを実行することによって現在のブロックのDVを導出することができない場合、ビデオコーダは、現在のブロックのためのビュー間残差予測を無効にし得る。しかしながら、ビデオコーダが、導出NBDVプロセスを実行することによって現在のブロックのDVを導出することができるかどうかにかかわらず、ビデオコーダは、現在のブロックにビュー間予測を使用し得る。即ち、全ての予め定義された隣接ブロックを検査した後にDVが発見されない場合、ビュー間予測のためにゼロ視差ベクトルが使用され得るが、ビュー間残差予測は対応するCUに対して無効にされ得る。
[0142]図7は、現在のビデオブロック90に対する、NBDV導出を使用して現在のビデオブロックのDVが導出され得る例示的な空間的隣接ブロックを示す概念図である。図7に示す5つの空間的隣接ブロックは、現在のビデオブロックに対する左下ブロック96、左ブロック95、右上ブロック92、上ブロック93、及び左上ブロック94である。空間的隣接ブロックは、現在のビデオブロックをカバーするCUの左下ブロック、左ブロック、右上ブロック、上ブロック、及び左上ブロックであり得る。NBDVのこれらの空間的隣接ブロックは、HEVCにおけるマージ/AMVPモードなどに従って現在のビデオブロックのための動き情報予測のためにビデオコーダによって使用される空間的隣接ブロックと同じであり得ることに留意されたい。そのような場合、空間的隣接ブロックの動き情報が現在のビデオブロックのための動き情報予測のためにすでに考慮されているので、ビデオコーダによるNBDVのための追加のメモリアクセスが必要とされ得ない。
[0143]時間的隣接ブロックを検査するために、ビデオコーダは、候補ピクチャリストを構築する。幾つかの例では、ビデオコーダは、現在のビュー、即ち、現在のビデオブロックと同じビューからの最大2つの参照ピクチャを候補ピクチャとして扱い得る。ビデオコーダは、最初に、コロケートされた参照ピクチャを候補ピクチャリストに挿入し、続いて、候補ピクチャの残りを、参照ピクチャインデックスの昇順で挿入する。両方の参照ピクチャリスト中で同じ参照インデックスをもつ参照ピクチャが利用可能であるとき、ビデオコーダは、他の参照ピクチャリストからの他の参照ピクチャより前に、コロケートされたピクチャと同じ参照ピクチャリスト中にある参照ピクチャを挿入し得る。幾つかの例では、ビデオコーダは、候補ピクチャリスト中の候補ピクチャの各々から時間的隣接ブロックを導出するための3つの候補領域を識別し得る。3つの候補領域は、次のように定義され得る。
CPU:現在のPU又は現在のCUのコロケート領域。
CLCU:現在のブロックのコロケート領域をカバーする最大コード化単位(LCU)。
BR:CPUの右下の4×4のブロック。
候補領域をカバーするPUがDMVを指定する場合、ビデオコーダは、PUの視差動きベクトルに基づいて現在のビデオユニットのDVを決定し得る。
[0144]上記で説明したように、空間的及び時間的隣接ブロックから導出されたDMVに加えて、ビデオコーダはIDVについて検査し得る。3D−HTM7.0及び後のバージョンのための提案されたNBDV導出プロセスでは、ビデオコーダは、順番に、時間的隣接ブロック中のDMV、次いで、空間的隣接ブロック中のDMV、次いでIDVを検査する。DMV又はIDVが発見されると、プロセスは終了される。更に、NBDV導出プロセスにおいて検査される空間隣接ブロックの数は、更に、2つに低減される。
[0145]ビデオコーダが隣接PU(例えば、空間的隣接PU又は時間的隣接PU)を確認すると、ビデオコーダは、最初に、隣接PUが視差動きベクトルを有するかどうかを確認し得る。隣接PUのいずれもが視差動きベクトルを有しない場合、ビデオコーダは、空間的隣接PUのいずれかがIDVを有するかどうかを決定し得る。空間的隣接PUの1つがIDVを有し、IDVがマージ/スキップモードとしてコード化される場合、ビデオコーダは検査処理を終了し得、現在のPUの最終視差ベクトルとしてIDVを使用し得る。
[0146]上記のように、ビデオコーダは、現在のブロック(例えば、CU、PUなど)のDVを導出するために、NBDV導出プロセスを適用し得る。現在のブロックについての視差ベクトルは、参照ビュー中の参照ピクチャ(即ち、参照成分)中の位置を示し得る。幾つかの3D−HEVC設計では、ビデオコーダは参照ビューについての深度情報にアクセスすることが許容される。幾つかのそのような3D−HEVC設計では、ビデオコーダが現在のブロックのDVを導出するためにNBDV導出プロセスを使用するとき、ビデオコーダは、現在のブロックの視差ベクトルを更に改善するために改善プロセスを適用し得る。ビデオコーダは、参照ピクチャの深度マップに基づいて現在のブロックのDVを改善し得る。ビデオコーダは、後方ビュー合成予測のためにDMVを改善するために同様の改善プロセスを使用し得る。このようにして、後方ビュー合成予測のために使用されるべきDV又はDMVを改善するために深度が使用され得る。この改善プロセスは、本明細書では、NBDV改善(「NBDV−R」:NBDV refinement)、NBDV改善プロセス、又は深度指向NBDV(Do−NBDV:depth-oriented NBDV)と呼ばれることがある。
[0147]NBDV導出プロセスが利用可能な視差ベクトルを戻すと(例えば、NBDV導出プロセスが、そのNBDV導出プロセスが視差動きベクトル又は隣接ブロックのIDVに基づいて、現在のブロックの視差ベクトルを導出することが可能であったことを示す変数を返すと)、ビデオコーダは、参照ビューの深度マップから深度データを取り出すことによって、視差ベクトルを更に改善し得る。幾つかの例では、改善プロセスは以下の2つのステップを含む。
1) ベースビューなど、前にコード化された参照深度ビュー中の導出されたDVによって、対応する深度ブロックの位置を特定し、対応する深度ブロックのサイズは、現在のPUのものと同じである。
2) 対応する深度ブロックの4つのコーナー画素から1つの深度値を選択し、それを、改善されたDVの水平成分に変換する。DVの垂直成分は不変である。
[0148]改善されたDVは、現在のビデオブロックのためのビュー間予測のために使用され得、一方、改善されていないDVは、現在のビデオブロックのためのビュー間残差予測のために使用され得る。更に、改善されたDVは、以下でより詳細に説明する、後方ビュー合成予測(BVSP)モードでコード化される場合、1つのPUの動きベクトルとして記憶される。3D−HTM7.0及び後のバージョンのための提案されたNBDVプロセスでは、ベースビューの深度ビューコンポーネントは、NBDVプロセスから導出されたビュー順序インデックスの値にかかわらずアクセスされる。
[0149]新しいマージング候補を生成するためのサブPUレベルのビュー間動き予測技法は、Anら、「3D−CE3:Sub−PU level inter−view motion prediction」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11との3Dビデオコード化拡張開発共同研究部会、第6回会合、ジュネーブ、スイス、2013年10月25日〜11月1日、文書JCT3V−F0110、以下「JCT3V−F0110」において提案されている。JCT3V−F0110は、以下のリンクからダウンロードされ得る。http://http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=1447。新しい候補がマージ候補リストに追加される。
[0150]図8は、サブ予測単位(PU)ビュー間動き予測を示す概念図である。図8に示すように、現在のビューV1中の現在のPU98は、複数のサブPU(例えば、4つのサブPU)に分割され得る。各サブPUに関する視差ベクトルは、参照ビューV0中の対応する参照ブロックを位置特定するために使用され得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のPU8の対応するサブPUとともに使用するために、参照ブロックの各々に関連付けられた動きベクトルを複写(即ち、再使用)するように構成され得る。
[0151]一例では、サブPUマージング候補という名前の新しい候補が以下の技法を使用して導出される。最初に、現在のPUのサイズをnPSW×nPSHで示し、信号伝達されるサブPUサイズをN×Nで示し、最終サブPUサイズをsubW×subHによって示す。現在のPUは、次のようにPUサイズと信号伝達されるサブPUサイズとに応じて1つ又は複数のサブPUに分割され得る。
subW = max ( N, nPSW ) != N ? N: nPSW;
subH = max ( N, nPSH ) != N ? N: nPSH;
[0152]ビデオエンコーダ20及び/又はビデオデコーダ30は、参照ピクチャリストごとにデフォルトの動きベクトルtmvLXを(0,0)に設定し、参照インデックスrefLXを−1に設定し得る(Xは、参照ピクチャリスト0又は参照ピクチャリスト1のいずれかを表す)。ラスタ走査順序の各サブPUに関して、以下が適用される。
− 次式によって参照サンプル位置(xRefSub,yRefSub)を取得するために現在のサブPUの中間位置にDoNBDV導出プロセス又はNBDVプロセスから取得されたDVを加算する。
xRefSub = Clip3( 0, PicWidthInSamplesL - 1, xPSub + nPSWsub/2 + ( ( mvDisp[ 0 ] + 2 ) >> 2 ) )
yRefSub = Clip3( 0, PicHeightInSamplesL - 1, yPSub + nPSHSub /2 + ( ( mvDisp[ 1 ] + 2 ) >> 2 ) )
現在のサブPUに関する参照ブロックとして(xRefSub,yRefSub)をカバーする参照ビュー中のブロックが使用される。
− 識別された参照ブロックについて、
1)識別された参照ブロックが、時間的動きベクトルを使用してコード化される場合、以下が適用される。
− 関連する動きパラメータが、現在のサブPUについての候補動きパラメータとして使用され得る。
− tmvLX及びrefLXが現在のサブPUの動き情報に更新される。
− 現在のサブPUがラスタ走査順序で最初のものでない場合、動き情報(tmvLX及びrefLX)が全ての前のサブPUによって継承される。
2)そうでない場合(参照ブロックがイントラコード化される場合)、現在のサブPUの動き情報がtmvLX及びrefLXに設定される。
[0153]4×4、8×8、及び16×16を含むサブPUレベルのビュー間動き予測のためのインザ上記で説明した技法のために異なるサブPUブロックサイズが使用され得る。サブPUブロックのサイズは、ビューパラメータセット(VPS:view parameter set)などのパラメータセット中で信号伝達され得る。
[0154]高度残差予測(ARP)は、追加のコード化効率をもたらすためにビューの間の残差相関を活用しようとするコード化ツールである。ARPでは、参照ビューにおける動き補償のために現在のビューにおける動き情報を整合させることによって残差予測子が生成される。更に、ビューの間の品質差を補償するために重み係数が導入される。1つのブロックのためにARPが使用可能であるとき、現在の残差と残差予測子との間の差が信号伝達される。即ち、現在のブロックのための残差が残差予測子の残差から減算され、得られた差が信号伝達される。3D−HEVCのための幾つかの提案では、ARPは、Part_2Nx2Nに等しい区分化モードをもつインターコード化CUにのみ適用される。
[0155]図9は、時間的に予測されたビデオブロックの時間的ARP)のために提案する例のための例示的な予測構造を示す概念図である。Part_2Nx2Nに等しい区分化モードをもつCUに適用されるARPは、Zhangら、「CE4:Advanced residual prediction for multiview coding」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化拡張開発共同研究部会、第4回会合、仁川、韓国、2013年4月20〜26日、文書JCT3V−D0177(MPEG番号m29008)、以下「JCT3V−D0177」において提案されたように、第4回JCT3V会合において採用された。JCT3V−D0177は、以下のリンクからダウンロードされ得る。
http://phenix.it−sudparis.eu/jct3v/doc_end_user/current_document.php?id=862。
[0156]図9に示すように、ビデオコーダは、現在のビュー、例えば、従属ビューVmの現在のピクチャ102中の現在のビデオブロック100の残差の予測において以下のブロックの呼出し又は識別を行う。
1)(ビューVm中の)現在のビデオブロック100:Curr
2)参照/ベースビュー(図9中のV0)のビュー間参照ピクチャ108中のビュー間参照ビデオブロック106:Base。ビデオコーダは、現在のビデオブロック100(Curr)のDV104に基づいてビュー間参照ビデオブロック106を導出する。ビデオコーダは、上記で説明したように、NBDV導出を使用してDV104を決定し得る。
3)現在のビデオブロック100(Curr)と同じビュー(Vm)中の時間参照ピクチャ114中の時間参照ビデオブロック112:CurrTRef。ビデオコーダは、現在のビデオブロック100のTMV110に基づいて時間参照ビデオブロック112を導出する。ビデオコーダは、本明細書で説明する技法のうちのいずれかを使用して、TMV110を決定し得る。
4)参照ビュー、即ち、ビュー間参照ビデオブロック106(Base)と同じビュー中の時間参照ピクチャ118中の時間参照ビデオブロック116:BaseTRef。ビデオコーダは、現在のビデオブロック100(Curr)のTMV110を使用して参照ビュー中の時間参照ビデオブロック116を導出する。TMV+DVのベクトル121は、現在のビデオブロック100(Curr)に対する時間参照ビデオブロック116(BaseTRef)を識別し得る。
[0157]ビデオエンコーダ20が、TMV110を使用してビデオエンコーダ20が識別する時間参照ビデオブロック112に基づいて現在のビデオブロック100を時間的にインター予測するとき、ビデオエンコーダ20は、現在のビデオブロック100と時間参照ビデオブロック112との間の画素ごとの差を残差ブロックとして決定する。ARPがなければ、ビデオエンコーダ20は、残差ブロックを変換し、量子化し、エントロピー符号化することになる。ビデオデコーダ30は、符号化ビデオビットストリームをエントロピー復号し、逆量子化及び変換を実行して残差ブロックを導出し、参照ビデオブロック112の再構成に残差ブロックを適用して現在のビデオブロック100を再構成することになる。
[0158]ARPを使用すると、ビデオコーダは、残差ブロックの値を予測する、即ち、現在のビデオブロック100(Curr)と時間参照ビデオブロック112(CurrTRef)との間の差を予測する残差予測子ブロックを決定する。ビデオエンコーダ20は、従って、残差ブロックと残差予測子ブロックとの間の差を符号化するだけでよく、現在のビデオブロック100を符号化するために符号化ビデオビットストリーム中に含まれる情報量が低減し得る。図9の時間的ARPの例では、現在のビデオブロック100の残差の予測子は、現在のビデオブロック100(Curr)と時間参照ビデオブロック112(CurrTRef)とに対応し、DV104によって識別される、参照/ベースビュー(V0)中のブロックに基づいて決定される。参照ビュー中のこれらの対応するブロック間の差は、残差、即ち、現在のビデオブロック100(Curr)と時間参照ビデオブロック112(CurrTRef)との間の差の良好な予測子であり得る。特に、ビデオコーダは、参照ビュー中のビュー間参照ビデオブロック106(Base)と時間参照ビデオブロック116(BaseTRef)とを識別し、ビュー間参照ビデオブロック106と時間参照ビデオブロック116(BaseTRef−Base)との間の差に基づいて残差予測子ブロックを決定し、ここにおいて、示された画素アレイの各画素に減算演算が適用される。幾つかの例では、ビデオコーダは、重み係数wを残差予測子に適用し得る。そのような例では、現在のブロック、即ち、参照ブロックを残差予測子ブロックと加算したものの最終予測子は、CurrTRef+w*(BaseTRef−Base)として示され得る。
[0159]図10は、現在のビュー(Vm)中の現在のビデオブロック120の時間的ARPのための例示的な双方向予測構造を示す概念図である。上記の説明及び図9に単方向予測を示す。ARPを双方向予測の場合に拡大するとき、ビデオコーダは、現在のビデオブロック120のための残差予測子ブロックを識別するために、参照ピクチャリストの一方又は両方に上記技法を適用し得る。特に、ビデオコーダは、参照リストのうちの1つが時間的ARPのために使用可能なTMVを含んでいるかどうか決定するために、現在のビデオブロック120のための参照リストの一方又は両方を検査し得る。図10によって示される例では、現在のビデオブロック120は、第1の参照ピクチャリスト(RefPicList0)中の第1の時間参照ピクチャ134を指すTMV130に関連付けられ、第2の時間参照ピクチャ136を指すTMV132は、第2の参照ピクチャリスト(RefPicList1)である。
[0160]幾つかの例では、ビデオコーダは、それらのうちの1つが時間的ARPのために使用可能なTMVを含むかどうか決定するために検査順序に従って参照ピクチャリストを検査することになり、第1のリストがそのようなTMVを含む場合、検査順序に従って第2のリストを検査する必要はない。幾つかの例では、ビデオコーダは、両方の参照ピクチャリストを検査し、両方のリストがTMVを含む場合、例えば、現在のビデオブロックの残差に対してTMVを使用して生成される得られた残差予測子の比較に基づいて、どちらのTMVを使用すべきかを決定することになる。特に、ARPに関する現在の提案、例えば、JCT3VC−D0177、によれば、現在のブロックが、1つの参照ピクチャリストのための(異なるビュー中の)ビュー間参照ピクチャを使用するとき、残差予測プロセスは無効にされる。
[0161]図10に示すように、ビデオコーダは、異なる参照ビュー(V0)中にあるが、現在のピクチャ122と同じアクセス単位中にあるビュー間参照ピクチャ128中の対応するビュー間参照ビデオブロック126(Base)を識別するために、例えば、NBDV導出プロセスに従って現在のビデオブロック120のために識別されたDV124を使用し得る。ビデオコーダはまた、両方の参照ピクチャリスト、例えば、RefPicList0及びRefPicList1中の参照ビューの様々な時間参照ピクチャ中のビュー間参照ビデオブロック126(Base)のための時間参照ブロック(BaseTRef)を識別するために現在のビデオブロック120のためのTMV130及び132を使用し得る。図10の例では、ビデオコーダは、現在のビデオブロック120のTMV130及び132に基づいて、第1の参照ピクチャリスト、例えば、RefPicList0中の時間参照ピクチャ142中の時間参照ビデオブロック(BaseTRef)140と、第2の参照ピクチャリスト、例えば、RefPicList1中の時間参照ピクチャ146中の時間参照ビデオブロック(BaseTRef)144とを識別する。
[0162]参照ビュー中の現在のビデオブロック120のTMV130及び132の使用を、図10中の破線矢印によって示す。図10では、参照ビュー中の時間参照ビデオブロック140及び144を、TMV130及び132に基づくそれらの識別のために動き補償参照ブロックと呼ぶ。ビデオコーダは、時間参照ビデオブロック140とビュー間参照ビデオブロック126との間の差に基づいて、又は時間参照ビデオブロック144とビュー間参照ビデオブロック126との間の差に基づいて、現在のビデオブロック120のための残差予測子ブロックを決定し得る。
[0163]繰り返すが、デコーダ側における提案された時間的ARPプロセスは、次のように(図10を参照しながら)説明され得る。
1.ビデオデコーダ30が、ターゲット参照ビュー(V0)を指す、例えば、NBDV導出を使用して現在の3D−HEVCにおいて指定されているようにDV124を取得する。次いで、同じアクセス単位内の参照ビューのピクチャ128中で、ビデオデコーダ30が、DV124により対応するビュー間参照ビデオブロック126(Base)を識別する。
2.ビデオデコーダ30が、対応するビュー間参照ビデオブロック126についての動き情報を導出するために、現在のビデオブロック120の動き情報、例えば、TMV130、132を再使用する。ビデオデコーダ30が、動き補償時間参照ビデオブロック140、144(BaseTRef)を識別し、BaseTRef−Baseを決定することによって残差予測子ブロックを決定するために、現在のビデオブロック120のTMV130、132と参照ビデオブロック126のための参照ビュー中の導出された参照ピクチャ142、146とに基づいて対応するビュー間参照ビデオブロック126の動き補償を適用し得る。現在のブロックと、対応するブロック(Base)と、動き補償ブロック(BaseTRef)との間の関係を、図9及び図10に示す。幾つかの例では、現在のビュー(Vm)の参照ピクチャと同じPOC(ピクチャ順序カウント)値を有する参照ビュー(V0)中の参照ピクチャは、対応するブロックの参照ピクチャとして選択される。
3.ビデオデコーダ30が、残差予測子ブロックに重み係数wを適用して重み付け残差予測子ブロックを得、予測サンプルに重み付け残差ブロックの値を追加して現在のビデオブロック120を再構成し得る。
[0164]図11は、本開示で説明する技法による、ビュー間予測ビデオブロックのビュー間ARPのための概念図、例示的な予測構造である。図11に関する技法は、Zhangら、「CE4:Further improvements on advanced residual prediction」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11との3Dビデオコード化拡張開発共同研究部会、第6回会合、ジュネーブ、スイス、2013年10月25日〜11月1日、以下「JCT3V−F0123」において提案されている。JCT3V−F0123は、以下のリンクからダウンロードされ得る。http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=1460。
[0165]図11に示す例示的な技法によれば、ビデオコーダ、例えば、ビデオエンコーダ20及び/又はビデオデコーダ30は、ビュー間予測される現在のブロックの残差を予測するために、異なるアクセス単位からのビュー間残差を使用し得る。現在のブロックの動きベクトルがDMVであるときはARPが実行されず、現在のビデオブロックの動きベクトルがTMVであるときにのみARPが実行されるARPに関する提案とは対照的に、図11の例示的な技法は、ARPを実行するためにDMVを使用する。
[0166]特に、図11の例示的な技法は、現在のピクチャ152中の現在のビデオブロック150(Curr)の動きベクトルがDMV154であり、参照ビュー(V0)中のビュー間参照ピクチャ158中のビュー間参照ビデオブロック156(Base)が少なくとも1つのTMV160を含んでいるときに、ビデオコーダ、例えば、ビデオエンコーダ20又はビデオデコーダ30によって実行され得る。幾つかの例では、DMV154は、現在のビデオブロック150の動き情報予測のためのIDMVCとして働くためにDMVに変換されたDVであり得る。
[0167]ビデオコーダは、現在のビデオブロック150のためのDMV154を使用して、ビュー間参照ピクチャ158中のビュー間参照ビデオブロック156(Base)を識別する。ビデオコーダは、参照ビュー(V0)中の時間参照ピクチャ164中の時間参照ビデオブロック162(BaseTRef)を識別するために、TMV160と、DMVとともにビュー間参照ビデオブロック156の関連する参照ピクチャ、例えば、参照ビュー(V0)中の時間参照ピクチャ164とを使用する。TMV160とDMV154とに基づく時間参照ビデオブロック162(BaseTRef)の識別は、破線ベクトル170(TMV+DMV)によって表される。ビデオコーダはまた、現在のビュー(Vm)中の時間参照ピクチャ168中の時間参照ビデオブロック166(CurrTRef)を識別するためにTMV160を使用する。参照ビュー(V0)中の時間参照ビデオブロック162(BaseTRef)と現在のビュー(Vm)中の時間参照ビデオブロック166(CurrTRef)とは、同じアクセス単位、即ち、参照ビュー(V0)中の時間参照ピクチャ164中にあり得、現在のビュー(Vm)中の時間参照ピクチャ168は、同じアクセス単位中にあり得る。
[0168]ビデオコーダ、例えば、ビデオエンコーダ20及び/又はビデオデコーダ30は、次いで、これらの2つの後のブロック間の画素ごとの差、即ち、現在のビュー中の時間参照ビデオブロック166と参照ビュー中の時間参照ビデオブロック162との間の差、又はCurrTRef−BaseTRefに基づいて、現在のビデオブロック150からの異なるアクセス単位中のビュー間残差予測子ブロックを計算し得る。ビュー間残差予測子として示される差分信号は、現在のビデオブロック150の残差を予測するために使用され得る。現在のビデオブロック150の予測信号は、ビュー間予測子、即ち、ビュー間参照ビデオブロック156(Base)と、現在のビュー中の時間参照ビデオブロック166と参照ビュー中の時間参照ビデオブロック162との間の差に基づいて決定された異なるアクセス単位中の予測ビュー間残差との和であり得る。幾つかの例では、異なるアクセス単位中の予測ビュー間残差に重み係数wが適用される。そのような例では、現在のビデオブロック150の予測信号は、Base+w*(CurrTRef−BaseTRef)であり得る。
[0169]幾つかの例では、ビデオコーダは、例えば、上記で説明したように時間的ARPのためのターゲット参照ピクチャの決定と同様に、ビュー間ARPのためのターゲットアクセス単位中のターゲット参照ピクチャを決定し得る。幾つかの例では、JCT3V−D0177に関して上記で説明したように、各参照ピクチャリストのためのターゲット参照ピクチャは、参照ピクチャリスト中の第1の参照ピクチャである。他の例では、一方又は両方の参照ピクチャリストのためのターゲット参照ピクチャ、例えば、ターゲットPOCが、PU、CU、スライス、ピクチャ、又は他のものごとにビデオエンコーダ20からビデオデコーダ30に信号伝達され得る。他の例では、各参照ピクチャリストのためのターゲット参照ピクチャは、現在のブロックと比較して最も小さいPOC差を有し、より小さい参照ピクチャインデックスを有する参照ピクチャリスト中の時間参照ピクチャである。他の例では、2つの参照ピクチャリストのためのターゲット参照ピクチャは同じものである。
[0170]TMV160によって示される参照ビュー中の時間参照ビデオブロックを含んでいるピクチャが、異なるアクセス単位(時間インスタンス)、従って、ターゲットARP参照ピクチャ中にある場合、ビデオコーダは、ビュー間ARPのための参照ビュー中の時間参照ビデオブロック162(BaseTRef)を識別するために、ターゲット参照ピクチャ、例えば、ターゲット参照ピクチャ164にTMV160をスケーリングし得る。そのような例では、ビデオコーダは、ターゲットARP参照ピクチャを含んでいるアクセス単位中の時間参照ビデオブロック162の位置を特定する。ビデオコーダは、POCスケーリングによってTMV160をスケーリングし得る。更に、スケーリングされたTMVは、ターゲットARP参照ピクチャ中にある現在のビュー中の時間参照ビデオブロック(CurrTRef)166を識別するために使用される。
[0171]幾つかの例では、ビデオコーダは、LX(Xは0又は1である)ターゲット参照ピクチャにTMV160をスケーリングし、ここで、LXは、TMVを含むPUのRefPicListXに対応する。幾つかの例では、ビデオコーダは、TMVをRefPicList0又はRefPicList1のいずれか又は両方から、それぞれ、L0又はL1ターゲット参照ピクチャにスケーリングし得る。幾つかの例では、ビデオコーダは、LXターゲット参照ピクチャにTMV160をスケーリングし、ここにおいて、Xは、現在のビデオブロック150、例えば、現在のPUのDMV154がRefPicListXに対応するという条件を満たす。
[0172]同様に、幾つかの例では、ビデオコーダは、ターゲット参照ビュー中の参照ピクチャ158中のビュー間参照ビデオブロック156を識別するより前に、ARPのためのターゲット参照ビューにDMV154をスケーリングする。ビデオコーダは、ビュー順序差スケーリングによってDMV154をスケーリングし得る。ターゲット参照ビューは、ビデオエンコーダ20及びビデオデコーダ30によって予め決定されているか、又は知られていることがあり、あるいは、例えば、PU、CU、スライス、ピクチャ、又は他のものごとにビデオエンコーダ20からビデオデコーダ30に信号伝達され得る。
[0173]ビュー間ARPの幾つかの例では、ビデオコーダ、例えば、ビデオエンコーダ20及び/又はビデオデコーダ30は、同じ予測構造と、図11に示す識別された参照ビデオブロック156、162及び166とを使用して現在のブロック150のための予測信号を導出し得るが、異なるアクセス単位中の参照ブロック162及び166ではなく、参照ビュー中の参照ブロック156と参照ブロック162との間の差に基づいて残差予測子ブロックを決定し得る。そのような例では、ビデオコーダは、他のサンプルアレイ、例えば、参照ビュー中の参照ブロック156と参照ブロック162との間の差に重み係数を適用し、それに応じて、CurrTRef+w*(Base−BaseTRef)のように現在のビデオブロック150のための予測信号を導出し得る。ビュー間ARPの幾つかの例では、ビデオコーダは、参照ビデオブロック156、162及び166が分数画素位置と整合する場合にそれらを導出するために、バイリニアフィルタを含む様々な補間フィルタを使用し得る。
[0174]図11に、現在のビューと参照ビューとの中の時間参照ビデオブロックがビュー間参照ブロックに関連するTMVとビュー間参照ビデオブロックの関連する参照ピクチャとを使用して識別されるビュー間ARP例を示すが、他の例では、現在のビューと参照ビューとの中の時間参照ビデオブロックを識別するために他のTMVと関連する参照ピクチャとが使用され得る。例えば、現在のビデオブロックのDMVが、現在のビデオブロックの第1の参照ピクチャリスト(例えば、RefPicList0又はRefPicList1)からのものである場合、ビデオコーダは、現在のブロックの第2の参照ピクチャリストに対応するTMVと現在のビデオブロックの第2の参照ピクチャリスト(例えば、RefPicList0又はRefPicList1の他方)からの関連する参照ピクチャとを使用し得る。そのような例では、ビデオコーダは、TMVに関連する参照ピクチャ中の現在のビュー中の時間参照ビデオブロックを識別するか、又は現在のビュー中の時間参照ビデオブロックを識別するために、ARPのためのターゲットアクセス単位とターゲット参照ピクチャとにTMVをスケーリングし得る。そのような例では、ビデオコーダは、現在のビュー中の時間参照ビデオブロックが位置していた参照ピクチャと同じアクセス単位中にある参照ピクチャ中の参照ビュー中の時間参照ビデオブロックを識別し得る。他の例では、ビュー間参照ビデオブロックのTMV又は現在のビデオブロックの他の参照ピクチャリストのTMVではなく、ビデオコーダは、ARPのための現在のビューと参照ビューとの中の時間参照ビデオブロックを識別するために、現在のビデオブロックの空間的又は時間的隣接ビデオブロックの動き情報から導出されたTMVと関連する参照ピクチャとを同様に使用し得る。
[0175]以下の説明では、1つの参照ピクチャリストのための対応する参照が時間参照ピクチャであり、ARPが適用される場合、ARPプロセスは時間ARPとして示される。そうではなく、1つの参照ピクチャリストのための対応する参照がビュー間参照ピクチャであり、ARPが適用される場合、ARPプロセスはビュー間ARPとして示される。
[0176]ARPに関する幾つかの提案では、3つの重み付け係数、即ち、0、0.5、及び1が使用され得る。現在のCUについて最小レート歪コストをもたらす重み係数が最終重み係数として選択され、対応する重み係数インデックス(それぞれ、重み係数0、1、及び0.5に対応する0、1、及び2)がCUレベルでビットストリーム中で送信される。1つのCU中の全てのPU予測が同じ重み係数を共有する。重み係数が0に等しくなると、現在のCUのためにARPが使用されない。
[0177]3D−HEVCのためのARPに関する追加の態様は、Zhangら、「3D−CE4:Advanced residual prediction for multiview coding」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコード化拡張開発共同研究部会、第3回会合、ジュネーブ、スイス、2013年1月17〜23日、文書JCT3V−C0049(MPEG番号m27784)、以下「JCT3V−C0049」に記載されている。JCT3V−C0049は、以下のリンクからダウンロードされ得る。
http://phenix.int−evry.fr/jct3v/doc_end_user/current_document.php?id=487。
[0178]JCT3V−C0049では、非ゼロ重み係数を用いてコード化された異なるPUの参照ピクチャは、PUごとに(又は現在のビデオブロックごとに)異なり得る。従って、動き補償ブロック(BaseTRef)、例えば、図9及び図10中の時間参照ビデオブロック116、140及び144、又は参照ビュー(Base)中の対応するビュー間参照ビデオブロック、例えば、図9及び図10中のビュー間参照ビデオブロック106及び126を生成するために、参照ビューとは異なるピクチャにアクセスする必要があり得る。
[0179]重み係数が0に等しくないとき、時間残差について、現在のPUの動きベクトルは、残差生成プロセスと残差予測子生成プロセスとの両方の動き補償を実行する前に、固定ピクチャに向けてスケーリングされる。ビュー間残差にARPが適用されるとき、参照ブロック(例えば、図11中のブロック156)の時間動きベクトルが、残差生成プロセスと残差予測子生成プロセスとの両方の動き補償を実行する前に固定ピクチャに向けてスケーリングされる。いずれ(即ち、時間残差又はビュー間残差)の場合も、固定ピクチャは、各参照ピクチャリストの最初の利用可能な時間参照ピクチャとして定義される。復号動きベクトルは、固定ピクチャを指さないとき、最初にスケーリングされ、次いでCurrTRef及びBaseTRefを識別するために使用される。
[0180]ARPのために使用されるそのような参照ピクチャはターゲットARP参照ピクチャと呼ばれる。現在のスライスがBスライスであるとき、ターゲットARP参照ピクチャが1つの特定の参照ピクチャリストに関連付けられることに留意されたい。従って、2つのターゲットARP参照ピクチャが利用され得る。
[0181]ターゲットARP参照ピクチャの利用可能性検査は、次のように実行され得る。最初に、RpRefPicLXによって1つの参照ピクチャリストX(Xは0又は1である)に関連するターゲットARP参照ピクチャを示し、RefPicInRefViewLXによって、ビュー順序インデックスがNBDV導出プロセスから導出されたビュー順序インデックスに等しく、RpRefPicLXの同じPOC値をもつビュー中のピクチャを示す。
[0182]以下の条件のうちの1つが偽であるとき、ARPは参照ピクチャリストXについて無効にされる。
− RpRefPicLXが利用不可能である
− RefPicInRefViewLXが、復号ピクチャバッファ中に記憶されない
− RefPicInRefViewLXが、NBDV導出プロセスからのDV又は現在のブロックに関連するDMVによって位置を特定される対応するブロック(例えば、図9中のブロック106又は図11中のブロック156)の参照ピクチャリストのいずれかの中に含まれない、ARPは、この参照ピクチャリストについて無効にされる。
[0183]ARPが適用されるとき、残差と残差予測子とを生成するときにバイリニアフィルタが使用され得る。即ち、例えば、図9中のブロック106、112、及び116は、バイリニアフィルタを使用して生成される。
[0184]図12は、1つの参照ピクチャリストのためにビュー間予測を使用し、別の参照ピクチャリストのために時間的予測を使用する双方向ARPのための例示的な予測構造を示す概念図である。図12の例示的な技法は、現在のビデオブロック250の双方向予測の1つの予測方向が、(例えば、参照ピクチャリストXのために)時間的予測を使用し、現在のビデオブロック250の他の予測方向が、(例えば、参照ピクチャリストY(Y=1−X)のために)ビュー間予測を使用するときにビデオエンコーダ20及び/又はビデオデコーダ30によって実行され得る。
[0185]図12の例では、現在のビデオブロック250は、TMV210及びDMV254に関連付けられ得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、図9に関して上記で説明したのと同様の方法で、参照ピクチャリストX(即ち、第1の予測方向)のための参照ブロックを識別し、アクセスするように構成され得る。
[0186]ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビュー、例えば、従属ビューVmの現在のピクチャ253中の現在のビデオブロック250の残差の予測において以下のブロックを識別する。ビデオエンコーダ20及び/又はビデオデコーダ30は、参照/ベースビュー(図12中のV0)のビュー間参照ピクチャ258中のビュー間参照ビデオブロック206(BaseX)を識別する。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック250(Curr)のDV204に基づいてビュー間参照ビデオブロック206を識別する。ビデオエンコーダ20及び/又はビデオデコーダ30は、上記で説明したように、NBDV導出を使用してDV204を決定し得る。
[0187]ビデオエンコーダ20及び/又はビデオデコーダ30は、更に、現在のビデオブロック250(Curr)と同じビュー(Vm)中の時間参照ピクチャ270中の時間参照ビデオブロック212(CurrTRefX)を識別し得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック250のTMV210を使用して時間参照ビデオブロック212を識別する。ビデオエンコーダ20及び/又はビデオデコーダ30は、本明細書で説明する技法のいずれかを使用してTMV210を決定し得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、更に、参照ビュー、即ち、ビュー間参照ビデオブロック206(BaseX)と同じビュー中の時間参照ピクチャ272中の時間参照ビデオブロック216(BaseTRefX)を識別し得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック250(Curr)のTMV210を使用して参照ビュー中で時間参照ビデオブロック216を識別し得る。TMV210+DV204のベクトル220は、現在のビデオブロック250(Curr)に対する時間参照ビデオブロック216(BaseTRefX)を識別し得る。図12でわかるように、参照ピクチャリストX(即ち、第1の予測方向)について、ビデオエンコーダ20及び/又はビデオデコーダ30は、3つの参照ブロック(即ち、参照ブロック206、212、及び216)を識別し、アクセスするように構成される。
[0188]ビデオエンコーダ20及び/又はビデオデコーダ30は、図11に関して上記で説明したのと同様の方法で、参照ピクチャリストY(即ち、第1の予測方向)のための参照ブロックを識別し、アクセスするように構成され得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、参照/ベースビュー(図12中のV0)のビュー間参照ピクチャ258中のビュー間参照ビデオブロック256(BaseY)を識別する。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック250(Curr)のDMV254に基づいてビュー間参照ビデオブロック256を識別する。
[0189]ビデオエンコーダ20及び/又はビデオデコーダ30は、更に、現在のビデオブロック250(Curr)と同じビュー(Vm)中の時間参照ピクチャ268中の時間参照ビデオブロック273(CurrTRefY)を識別し得る。ビデオエンコーダ20及び/又はビデオデコーダ30は、現在のビデオブロック250のTMV285を使用して時間参照ビデオブロック273を識別し得る。ビデオコーダは、参照ビュー(V0)中の時間参照ピクチャ265中の時間参照ビデオブロック271(BaseTRefY)を識別するために、TMV285と、DMV254とともにビュー間参照ビデオブロック256の関連する参照ピクチャ、例えば、参照ビュー(V0)中の時間参照ピクチャ265とを使用する。TMV285とDMV254とに基づく時間参照ビデオブロック271(BaseTRefY)の識別は、破線ベクトル(TMV+DMV)によって表される。参照ビュー(V0)中の時間参照ビデオブロック271(BaseTRefY)と現在のビュー(Vm)中の時間参照ビデオブロック273(CurrTRefY)とは、同じアクセス単位、即ち、参照ビュー(V0)中の時間参照ピクチャ265中にあり得、現在のビュー(Vm)中の時間参照ピクチャ268は、同じアクセス単位中にあり得る。
[0190]図12で分かるように、参照ピクチャリストY(即ち、第2の予測方向)について、ビデオエンコーダ20及び/又はビデオデコーダ30は、追加の3つの参照ブロック(即ち、参照ブロック256、271、及び273)を識別し、アクセスするように構成される。
[0191]3D−HEVCにおけるARPのための上述の技法は、幾つかの欠点を示す。一例として、双方向予測が2つの異なる参照ピクチャリストについての動き情報の使用を本質的に含むので、双方向予測と併せてブロックレベルのARP又はPUレベルのARPを実行するときに動き情報へのメモリアクセスの数が増加する。更に、識別され、アクセスする参照ブロックの数は多い。従って、ARPと組み合わせた双方向予測はデコーダ複雑さが増加する。
[0192]本開示は、ビデオデコーダの複雑さを低減するために、ARPについての上述の問題に対処する様々な例示的な技法を提案する。以下に記載する技法の各々は、ARPと、ARPについての現在の提案に関係する他の関連するビデオコード化技法を実行するために必要とされるメモリアクセスの数を減少させる。
[0193]図13は、本開示の技法による、1つの参照ピクチャリストのためにビュー間予測を使用し、別の参照ピクチャリストのために時間的予測を使用する双方向ARPのための例示的な予測構造を示す概念図である。図13の例では、ビデオエンコーダ20及び/又はビデオデコーダ30は、双方向予測とARPとを使用して現在のビデオブロック250をコード化するように構成される。双方向予測は、参照ピクチャリストX(例えば、第1の予測方向)のための時間的予測と、参照ピクチャリストY(例えば、第2の予測方向)のためのビュー間予測とを含む。
[0194]図13の技法によれば、ビデオエンコーダ20及び/又はビデオデコーダ30は、図12に関して上記で説明したのと同様の方法で参照ピクチャリストX(例えば、第1の予測方向)のための参照ブロック206(BaseX)と、参照ブロック216(BaseTrefX)と、参照ブロック212(CurrTrefX)とを識別するように構成される。即ち、TMV210は、それぞれ、参照ブロック206(BaseX)及び現在のビデオブロック250に対する参照ブロック216(BaseTrefX)及び参照ブロック212(CurrTrefX)を識別するために使用される。更に、ビデオエンコーダ20及び/又はビデオデコーダ30は、(図12に関して上記で説明したのと同様の方法で)DMV254を使用して参照ピクチャリストY(例えば、第2の予測方向)のための参照ブロック256(BaseY)を識別するように構成される。
[0195]しかしながら、ビデオエンコーダ20及び/又はビデオデコーダ30は、CurrTrefY及びBaseTrefYを識別するために参照ブロック256(BaseY)に関連する時間動き情報を使用しない。代わりに、本開示の技法によれば、ビデオエンコーダ20及び/又はビデオデコーダ30は、CurrTrefY及びBaseTrefYを識別するために、参照リストX(即ち、TMV210)についての時間動き情報を使用するように構成され得る。図13に示すように、ビデオエンコーダ20及び/又はビデオデコーダ30は、参照ブロック256(BaseY)に対するTMV210を使用して、ビューV0中の参照ブロック290(BaseTrefY)を識別するように構成される。即ち、ビデオエンコーダ20及び/又はビデオデコーダ30は、DMV254とTMV210との両方を使用して参照ブロック290(BaseTrefY)を識別するように構成される。ビデオエンコーダ20及び/又はビデオデコーダ30は、更に、TMV210を使用して現在のビデオブロック250と同じビュー(Vm)中のCurrTrefYを識別するように構成される。従って、参照ブロック212は、CurrTrefXとCurrTrefYとの両方として働く。従って、本開示の技法を使用して、ビデオエンコーダ20及び/又はビデオデコーダ30は、双方向予測を用いるARPを実行するときに、6つではなく5つの参照ブロックのみを識別し、アクセスする。
[0196]要約すれば、参照ピクチャリストY(例えば、第2の予測方向)に対応するビュー間ARPのための参照ブロックを識別すると、ビデオエンコーダ20及びビデオデコーダ30は、異なるアクセス単位(即ち、参照ブロック290及び212)中の参照ブロックを識別するために参照ピクチャリストXのための時間的予測に関連する時間動き情報(例えば、図13中のTMV210)を使用し得る。この場合、ビュー間ARPを実行するとき、現在のビュー(即ち、参照ブロック212)とは異なるアクセス単位中の参照ブロックは、参照ピクチャリストXのための時間ARPのために識別された参照ブロックと同じであるので、生成される必要がない。即ち、時間ARPとビュー間ARPとの両方のために参照ブロック212が使用される。
[0197]このようにして、第1の予測方向についての時間動き情報が第2の予測方向のために再使用される。従って、第2の予測方向に対応する第1の符号化ブロックの動きベクトルによって識別されるブロックの時間動き情報にアクセスする必要がないので、時間動き情報のメモリアクセスを行う必要が少なくなり、従って、より高速なビデオ復号が可能になる。更に、ARPを実行するときに使用される参照ブロックの総数が6から5に低減され得、これによって、乗算及び加算演算を使用した補間に関する計算複雑さが少なくなる。同様に、双方向インター予測を実行するとき、ビデオエンコーダ20は、第2の予測方向を符号化するときに第1の予測方向についての時間動き情報を再使用するように構成され得る。
[0198]本開示の別の例では、双方向予測の(例えば、参照ピクチャリストXに対応する)1つの予測方向が、時間参照ピクチャに対応し、(例えば、参照ピクチャリストYに対応する)他の予測方向が、ビュー間参照ピクチャに対応するとき、ビデオエンコーダ20及びビデオデコーダ30は、簡略化されたARPプロセスを実行するように構成され得る。この場合、参照ピクチャリストXに対応する時間ARPについて、ビデオエンコーダ20及びビデオデコーダ30は、NBDV/DoNBDV導出プロセスから導出される視差ベクトルを使用する代わりに、参照ビュー中の参照ブロック(例えば、図12中の参照ブロック273)を識別するためにビュー間参照ピクチャに関連する視差動きベクトル(MVY)を使用するように構成され得る。一方、NBDV又はDoNBDVプロセスからの視差ベクトルは変化し続け、IPMVC又はIDMVCを生成するためにビュー間動き予測において依然として使用され得る。
[0199]上記の方法がPUレベルのARP又はブロックレベルのARPの両方に適用され得ることに留意されたい。PUレベルのARPとブロックレベルのARPとについて以下でより詳細に説明する。
[0200]次に、ブロックレベルのARPのための技法について説明する。1つのPU内の全てのブロックが(PUレベルのARPと呼ばれることがある)ARPについての同じ動き情報を共有する上記の説明とは異なり、ブロックレベルのARPでは、1つのPUが幾つかのサブブロック(例えば、8×8のサブブロック)に分割され、各サブブロックが、ARPを実行するためにそれ自体の導出された動き情報に関連付けられる。即ち、各サブブロックは、現在のPUと同じ動き情報を共有する。しかしながら、導出された動きベクトル(即ち、時間ARPでの視差ベクトル又はビュー間ARPでの時間動きベクトル)が、サブブロックごとに決定され得る。
[0201]図14は、ブロックベースの時間ARPを示す概念図である。図14に示すように、現在のピクチャ302は、4つのサブブロック300a、300b、300c、及び300dに分割される現在のブロック300(Curr)を含む。動きベクトル310(mvLX)は、現在のブロック300に対してインター予測を実行するために使用される動きベクトルである。動きベクトル310は、参照ピクチャ314中の、サブブロック312a〜dを含む参照ブロック312(CurrTref)を指す。現在のピクチャ302と参照ピクチャ314とは同じビュー(Vm)中にある。
[0202]ブロックベースの時間ARPについて、サブブロック300a〜dの各々のためにデフォルトの導出された動きベクトルが使用される。時間ARPについて、デフォルトの導出された動きベクトルは、図14中のi番目のサブブロックのためのDV[i]によって示される視差ベクトルであり、現在のARPの場合のように、NBDV導出プロセスを使用して導出され得る。即ち、NBDV導出プロセスは、サブブロック300a〜dの各々のためのDVを導出するために、サブブロック300a〜dの各々に対して実行され得る。導出されたDVの各々は、参照ビュー308中の特定の参照ブロック306a〜d(Base)を指す。例えば、DV304(DV[0])は、参照ブロック306aを指し、DV305(DV[1])は、参照ブロック306bを指す。
[0203]参照ビュー308は、現在のピクチャ302と同じ時間インスタンスにあるが、別のビュー中にある。参照ブロック312内のサブブロック312a〜dのうちの1つの中心位置が視差動きベクトルを含んでいるとき、現在のサブブロック300a〜dの対応する1つのための視差ベクトルDV[i]は、その視差動きベクトルを使用するように更新される。即ち、例えば、現在のサブブロック300aに対応する、参照サブブロック312aの中心位置が、関連する視差動きベクトルを有する場合、参照サブブロック312aに関連する視差動きベクトルが、サブブロック300aのための視差ベクトルとして使用される。
[0204]参照ブロック306a〜dの各々が識別されると、参照ピクチャ318中の参照ブロック316a〜d(BaseTRef)を発見するために動きベクトル310が使用され得る。参照ピクチャ318は、現在のピクチャ302とは異なる時間インスタンスならびに異なるビュー中にある。残差予測子は、次いで、対応する参照ブロック316a〜d(BaseTref)から参照ブロック306a〜d(Base)を減算することによって決定され得る。次いで、サブブロック300a〜dの各々に対してARPが実行され得る。
[0205]図15は、ブロックベースのビュー間ARPを示す概念図である。図15に示すように、現在のピクチャ352は、4つのサブブロック350、350b、350c、及び350dに分割される現在のブロック350(Curr)を含む。視差動きベクトル360(DMV)は、現在のブロック350に対してビュー間予測を実行するために使用される視差動きベクトルである。視差動きベクトル360は、参照ピクチャ358中の、サブブロック356a〜dを含む参照ブロック356(Base)を指す。現在のピクチャ352及び参照ピクチャ358は、同じ時間インスタンス中にあるが、異なるビュー中にある。
[0206]ブロックベースのビュー間ARPについて、サブブロック350a〜dの各々のためにデフォルトの導出された動きベクトルが使用される。ビュー間ARPについて、デフォルトの導出された動きベクトルは、図15中のi番目のサブブロックのためにmvLX[i]によって示される動きベクトルであり、現在のARPの場合のように、サブブロック356a〜dの各々の中心位置をカバーする時間動きベクトルとして設定され得る。即ち、サブブロック356内のi番目の8×8のブロックの中心位置をカバーするブロックは、時間動きベクトルを含んでおり、mvLX[i]は、その時間的動きベクトルになるように更新される。
[0207]導出された動きベクトルの各々は、参照ビュー368中の特定の参照ブロック366a〜d(BaseTref)を指す。例えば、動きベクトル354(mvLX[0])は、参照ブロック368aを指し、動きベクトル355(mvLX[3])は、参照ブロック366dを指す。
[0208]参照ブロック366a〜dの各々が識別されると、参照ピクチャ364中の参照ブロック362a〜d(CurrTRef)を発見するために視差動きベクトル360が使用され得る。参照ピクチャ364は、現在のピクチャ352とは異なる時間インスタンス中にある。残差予測子は、次いで、対応する参照ブロック366a〜d(BaseTref)から参照ブロック362a〜d(CurrTref)を減算することによって決定され得る。次いで、サブブロック350a〜dの各々に対してARPが実行され得る。
[0209]上記で説明したように、ブロックベースの時間ARPについて、参照ブロック312(CurrTref)の位置を特定するために、動きベクトル310がアクセスされ、使用される。同様に、ブロックベースのビュー間ARPについて、参照ブロック356(Base)の位置を特定するために、視差動きベクトル360がアクセスされ、使用される。
[0210]図16は、サブPUマージング候補を用いるブロックベースのARPを示す概念図である。サブPUビュー間動き予測が使用可能であるとき、NBDV/DoNBDV導出プロセスからの導出された視差ベクトル410によって識別される1つの参照ブロック(406)の動き情報が、サブPUマージング候補を導出するためにアクセスされる。即ち、ブロック400(Curr)内のサブPUごとに、サブPUマージング候補が決定された後、それは、図14に示す動きベクトル404(mvLX[0])と動きベクトル405(mvLX[1])とによって示されるように、それの時間動き情報を有することになる。参照ブロック412(CurrTref)及び参照ブロック416(BaseTref)を識別するために、動きベクトル404及び405が使用され得る。
[0211]ARPプロセスが呼び出されると、参照ブロック412(CurrTRef)内の各サブブロック(例えば、8×8のブロック)の動き情報もアクセスされる。対応するサブブロック412a〜d(CurrRef)が、視差動きベクトルに関連付けられると、参照ビュー中の参照ブロック(例えば、ブロック406)の位置を特定するために視差動きベクトルが使用され得る。
[0212]従って、2つのブロックの動き情報にアクセスする必要があり得る。即ち、サブPUビュー間マージ候補のために、NBDV/DoNBDVプロセスからのDVによって識別される1つのブロックについての動き情報がアクセスされる。更に、動き情報は、任意の導出された時間動き情報によって識別されるブロックのためのアクセスである。
[0213]3D−HEVCにおけるARPのための上述の技法は、幾つかの欠点を示す。一例として、1つのPUをコード化するためにサブPUビュー間マージ予測とブロックレベルの時間ARPとの両方が使用されるとき、2つの参照ブロックの動き情報がアクセスされる。1つは、DoNBDV/NBDV導出プロセスから導出される視差ベクトルによって識別される参照ビュー中の参照ブロックである。更に、サブPUビュー間マージ候補を導出するために、対応する動き情報がアクセスされる。サブPUビュー間マージ候補が導出された後、時間参照ピクチャ中のブロックが視差動きベクトルを含んでいるかどうかを検査するために、時間参照ピクチャ中の別のブロックがアクセスされる。異なるブロックに関連する動き情報の二重アクセスは、著しくビデオデコーダ設計の複雑さを著しく増加させ、デコーダスループットを減少させ得る。
[0214]別の欠点として、サブPU(即ち、ブロックレベルの)ARPが使用されるとき、デフォルトの視差ベクトルを更新するために、現在のブロックの時間動きベクトルによって指された参照ブロックに関連する視差動きベクトルが使用される。1つのサブブロックブロックについて、サブブロックがそれの隣接ブロック(左、上、下又は右のいずれか)と同じ視差動きベクトルを有する場合でも、各サブブロックにおいてARPプロセスが依然として実行され、それにより、ビデオデコーダの複雑さが増加する。
[0215]本開示は、ビデオデコーダの複雑さを低減するために、ARPのための上述の問題に対処する様々な例示的な技法を提案する。以下に記載する技法の各々は、ARPと、ARPについての現在の提案に関係する他の関連するビデオコード化技法を実行するために必要とされるメモリアクセスの数を減少させる。
[0216]本開示の一例では、サブPUビュー間動き予測が使用可能であり、(時間動き情報に対応する)サブPUビュー間マージ候補が現在のPUに適用されるとき、ビデオエンコーダ20及びビデオデコーダ30は、ブロックレベルのARPを無効にするように構成され得る。代わりに、PUレベルのARPが使用可能であり得る。
[0217]サブPUビュー間動き予測が使用可能であり、PUレベルのARPが適用されるとき、ビデオエンコーダ20及びビデオデコーダ30は、各サブPUについての時間動き情報を決定し得る。即ち、各サブPUは、それ自体の時間動き情報を有する。しかしながら、ビデオエンコーダ20及びビデオデコーダ30は、全てのサブPUに対して同じ視差ベクトルを決定する。上記で説明したように、残差及び残差予測子を導出するために、時間動き情報と視差ベクトルとが使用される。サブPUビュー間動き予測が適用されるとき、使用されるARPプロセスが時間ARPであることに留意されたい。
[0218]サブPUビュー間動き予測が使用されないとき、以下の例示的な技法が使用される。一例では、時間ARPについて、ビデオエンコーダ20及びビデオデコーダ30は、各サブPUのための視差ベクトルを決定し得る。一例では、決定された視差ベクトルは、時間参照ピクチャ中の現在のサブPUの時間動き情報によって識別される現在のサブPUの参照ブロックから導出される視差動き情報であり得る。ビュー間ARPについて、ビデオエンコーダ20及びビデオデコーダ30は、各サブPUについての時間動き情報を決定し得る。一例では、時間動き情報は、ビュー間参照ピクチャ中の現在のサブPUの視差動き情報によって識別される現在のサブPUの参照ブロックから導出され得る。
[0219]本開示の別の例では、サブPUビュー間動き予測が使用可能であるとき、関連する参照ピクチャが時間参照ピクチャである場合、ビデオエンコーダ20及びビデオデコーダは、特定の参照ピクチャリストに対応する1つの予測方向についてブロックレベルのARPを無効にするように構成され得る。この場合、ビデオエンコーダ20及びビデオデコーダ30は、この予測方向についてPUレベルのARPのみを使用可能にするように構成され得る。
[0220]一例では、以下のプロセスが適用される。現在のPUがビュー間マージ候補を使用する場合、ビデオエンコーダ20及びビデオデコーダ30は、各サブPUについての時間動き情報を決定し得る。しかしながら、ビデオエンコーダ20及びビデオデコーダ30は、全てのサブPUに対して同じ視差ベクトルを決定する。上記で説明したように、残差及び残差予測子を導出するために、時間動き情報と視差ベクトルとが使用される。
[0221]そうではなく、現在のPUが、他の利用可能なマージ候補のうちの1つ(即ち、ビュー間マージ候補でない)を使用する場合、ビデオエンコーダ20及びビデオデコーダ30は、PUレベルの時間ARPを適用し、ここにおいて、1つの予測方向について、対応する参照ピクチャが時間参照ピクチャである場合、現在のPU内の全てのブロックが同じ動き情報を共有する。1つの予測方向について、対応する参照ピクチャがビュー間参照ピクチャである場合、ビデオエンコーダ20及びビデオデコーダ30は、PUレベルのビュー間ARPを使用し、ここにおいて、現在のPU内の全てのブロックが同じ動き情報を共有する。この場合、ブロックレベルのARPも適用され得、ここにおいて、現在のPU内のブロックは、同じ視差動き情報と異なる時間動き情報とを共有し得る。
[0222]本開示の別の例では、ブロックレベルのARPが使用可能であるとき、ビデオエンコーダ20及びビデオデコーダ30は、動き情報に基づいてARPを実行するためのブロックサイズを決定し得る。一例では、特定の参照ピクチャリストに対応する1つの予測方向について、対応する参照ピクチャが時間参照ピクチャである場合、ビデオエンコーダ20及びビデオデコーダ30は、ブロックレベルのARPを使用し得る。この場合、現在のブロックは、それの隣接ブロック(例えば、左、上、下及び/又は右の隣接ブロック)と同じ視差動き情報を有する。更に、現在のブロックと隣接ブロックとが一緒にマージされ、ARPは、マージされたブロックに対して1回実行される。
[0223]本開示の別の例では、参照ピクチャリストに対応する1つの予測方向について、対応する参照ピクチャが、ビュー間参照ピクチャである場合、ビデオエンコーダ20及びビデオデコーダ30は、ブロックレベルのARPを使用し得る。この場合、現在のブロックは、それの隣接ブロック(例えば、左、上、下及び/又は右の隣接ブロックと同じ時間動き情報を有する。更に、現在のブロックと隣接ブロックとが一緒にマージされ、ARPは、マージされたブロックに対して1回実行される。
[0224]図17は、本開示で説明する技法を実行するように構成され得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの冗長性を低減又は除去するために時間的予測又はビュー間予測に依拠する。イントラモード(Iモード)は、空間ベースの幾つかの圧縮モードのいずれかを指すことがある。単方向予測(Pモード)又は双予測(Bモード)などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかに含み得る。
[0225]図17の例では、ビデオエンコーダ20は、ビデオデータメモリ235と、予測処理ユニット241と、復号ピクチャバッファ(DPB)264と、加算器251と、変換処理ユニット252と、量子化処理ユニット255と、エントロピー符号化ユニット257とを含む。予測処理ユニット241は、動き推定ユニット242と、動き及び視差補償ユニット244と、高度残差予測(ARP)ユニット245と、イントラ予測処理ユニット246とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化処理ユニット259と、逆変換処理ユニット260と、加算器262とを含む。再構成されたビデオからブロック歪(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図17に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器262の出力をフィルタ処理することになる。デブロッキングフィルタに加えて追加的なループフィルタ(インループ又はポストループ)が使用され得る。
[0226]様々な例では、ビデオエンコーダ20の1つ又は複数のハードウェアユニットは、本開示の技法を実行するように構成され得る。例えば、動き及び視差補償ユニット244とARPユニット245とは、単独で、又はビデオエンコーダ20の他のユニットと組み合わせて本開示の技法を実行し得る。
[0227]図17に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム(例えば、テクスチャ画像又は深度マップ)内のビデオデータ(例えば、ルミナンスブロック、クロミナンスブロック、又は深度ブロックなどのビデオデータのブロック)を受信する。ビデオデータメモリ235は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ40に記憶されるビデオデータは、例えば、ビデオ発信源18から得られ得る。DPB264は、(例えば、イントラ予測コード化モード又はインター予測コード化モードとも呼ばれる、イントラコード化モード又はインターコード化モードで)ビデオエンコーダ20によってビデオデータを符号化する際に使用する参照ビデオデータを記憶するメモリバッファである。ビデオデータメモリ235及びDPB264は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、又は他のタイプのメモリ機器など、様々なメモリ機器のうちのいずれかによって形成され得る。ビデオデータメモリ235及びDPB264は、同じメモリ機器又は別個のメモリ機器によって与えられ得る。様々な例では、ビデオデータメモリ235は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
[0228]図17に示されたように、ビデオエンコーダ20はビデオデータを受信し、データをビデオブロックに区分化する。この区分化はまた、例えば、LCU及びCUの4分木構造に従って、スライス、タイル、又は他のより大きい単位への区分化、及びビデオブロック区分化をも含み得る。ビデオエンコーダ20は概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(及び、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。
[0229]予測処理ユニット241は、エラー結果(例えば、コード化レート及び歪レベル)に基づいて、現在のビデオブロックのために、複数のイントラコード化モードのうちの1つ、又は複数のインターコード化モードのうちの1つなど、複数の可能なコード化モードのうちの1つを選択し得る。予測処理ユニット241は、得られたイントラコード化ブロック又はインターコード化ブロックを、残差ブロックを生成するために加算器251に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器262に与え得る。
[0230]予測処理ユニット241内のイントラ予測処理ユニット246は、空間圧縮を行うために、コード化されるべき現在のブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット241内の動き推定ユニット242と動き及び視差補償ユニット244とは、例えば、時間及び/又はビュー間圧縮を実現するために、(ビュー間参照ピクチャを含む)1つ又は複数の予測ブロックに対して現在のビデオブロックの(ビュー間コード化を含む)インター予測コード化を実行する。
[0231]動き推定ユニット242は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。動き推定ユニット242と動き及び視差補償ユニット244とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット242によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在のビデオフレーム又はピクチャ内のビデオブロックのPUの変位を示し得る。
[0232]予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックのPUにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ20は、DPB264に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット242は、完全な画素位置及び分数画素位置に対して動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
[0233]動き推定ユニット242は、PUの位置を(時間又はビュー間参照ピクチャを含む)参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUの動きベクトル及び/又は視差動きベクトルを計算する。上記で説明したように、動きベクトルは、動き補償予測のために使用され、一方、視差動きベクトルは、視差補償予測のために使用され得る。参照ピクチャは、第1の参照ピクチャリスト(リスト0若しくはRefPicList0)又は第2の参照ピクチャリスト(リスト1若しくはRefPicList1)から選択され得、それらの参照ピクチャリストの各々は、DPB264に記憶された1つ又は複数の参照ピクチャを識別する。動き推定ユニット242は、計算された動きベクトルを、エントロピー符号化ユニット257と動き及び視差補償ユニット244とに送る。
[0234]動き及び視差補償ユニット244によって実行される動き及び/又は視差補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在のビデオブロックのPUの動きベクトルを受信すると、動き及び視差補償ユニット244は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器251は、この減算演算を実行する1つ又は複数の構成要素を表す。動き及び視差補償ユニット244はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0235]ARPユニット245と動き及び視差補償ユニット244とを含むビデオエンコーダ20は、双方向予測及びARP技法のいずれか、例えば、本明細書で説明するビュー間ARP技法又は時間的ARP技法を実行し得る。特に、本開示の一例では、ビデオエンコーダは、双方向予測とビュー間ARPとを使用してビデオデータの現在のブロックを符号化するように構成され得る。ビデオデータの現在のブロックについて、動き及び視差補償ユニット244は、ビデオデータの現在のブロックのための第1の予測方向(例えば、参照ピクチャリストX)についての時間動き情報を決定することと、第1の予測方向のために決定された時間動き情報を使用して第2の予測方向(例えば、参照ピクチャリストY)のための参照ブロックを識別することと、ここにおいて、第2の予測方向のための参照ブロックは、ビデオデータの異なるアクセス単位、現在のブロック中にある、を行うように構成され得る。このようにして、現在のビデオブロックを符号化するために、動き情報と参照ブロックとのメモリアクセスを行う必要が少なくなる。
[0236]イントラ予測処理ユニット246は、上記で説明したように、動き推定ユニット242と動き及び視差補償ユニット244とによって実行されるインター予測の代替として、現在のブロックに対してイントラ予測を実行し得る。特に、イントラ予測処理ユニット246は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット246は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のビデオブロックを符号化し得、イントラ予測処理ユニット246(又は、幾つかの例では、予測処理ユニット241)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0237]例えば、イントラ予測処理ユニット246は、様々なテストされたイントラ予測モードにレート歪分析を使用してレート歪値を計算し、テストされたモードのうちで最良のレート歪特性を有するイントラ予測モードを選択し得る。レート歪分析は、一般に、符号化されたブロックと、符号化されたブロックを作るために符号化された、元の符号化されていないブロックとの間の歪(又は、誤差)の量、及び符号化されたブロックを作るのに使用されたビットレート(即ち、ビットの個数)を決定する。イントラ予測処理ユニット246は、様々な符号化ブロックの歪及びレートから比を計算して、どのイントラ予測モードがブロックの最良のレート歪値を示すのかを決定し得る。
[0238]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット246は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット257に与え得る。エントロピー符号化ユニット257は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブル及び複数の変更イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び変更イントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
[0239]予測処理ユニット241が、インター予測又はイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、1つ又は複数のTU中に含まれ、変換処理ユニット252に適用され得る。変換処理ユニット252は、離散コサイン変換(DCT)又は概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット252は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
[0240]変換処理ユニット252は、得られた変換係数を量子化処理ユニット255に送り得る。量子化処理ユニット255は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。幾つかの例では、量子化処理ユニット255は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット257が走査を実行し得る。
[0241]量子化の後に、エントロピー符号化ユニット257は、量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット257は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分化エントロピー(PIPE)コード化又は別のエントロピー符号化方法又は技法を実行し得る。エントロピー符号化ユニット257によるエントロピー符号化に続いて、符号化ビデオビットストリームは、ビデオデコーダ30に送信されるか、又はビデオデコーダ30が後で送信するか若しくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット257はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
[0242]逆量子化処理ユニット259及び逆変換処理ユニット260は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために画素領域において残差ブロックを再構成する。動き及び視差補償ユニット244は、残差ブロックを参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き及び視差補償ユニット244はまた、再構成された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するためのサブ整数画素値を計算し得る。加算器262は、再構成された残差ブロックを、動き及び視差補償ユニット244によって生成された動き補償予測ブロックに加算して、DPB264に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定ユニット242と動き及び視差補償ユニット244によって参照ブロックとして使用され得る。
[0243]図18は、本開示で説明する技法を実施し得る例示的なビデオデコーダ30を示すブロック図である。図18の例では、ビデオデコーダ30は、ビデオデータメモリ278と、エントロピー復号ユニット280と、予測処理ユニット281と、逆量子化処理ユニット286と、逆変換処理ユニット288と、加算器291と、復号ピクチャバッファ(DPB)292とを含む。予測処理ユニット281は、動き及び視差補償ユニット282と、ARPユニット283と、イントラ予測処理ユニット284とを含む。ビデオデコーダ30は、幾つかの例では、図17からのビデオエンコーダ20に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
[0244]様々な例では、ビデオデコーダ30の1つ又は複数のハードウェアユニットは、本開示の技法を実行する役割を担い得る。例えば、ARPユニット283と動き及び視差補償ユニット282とは、単独で、又はビデオエンコーダの他のユニットと組み合わせて本開示の技法を実行し得る。
[0245]ビデオデータメモリ278は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ278に記憶されたビデオデータは、カメラなどのローカルビデオ発信源から、ビデオデータのワイヤード又はワイヤレスのネットワーク通信を介して、若しくは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ278は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化済みピクチャバッファ(CPB)を形成し得る。DPB292は、(例えば、イントラ予測コード化モード又はインター予測コード化モードとも呼ばれる、イントラコード化モード又はインターコード化モードで)ビデオデコーダ30によってビデオデータを復号する際に使用する参照ビデオデータを記憶するDPBの一例である。ビデオデータメモリ278及びDPB292は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、又は他のタイプのメモリ機器など、様々なメモリ機器のうちのいずれかによって形成され得る。ビデオデータメモリ278及びDPB292は、同じメモリ機器又は別個のメモリ機器によって提供され得る。様々な例では、ビデオデータメモリ278は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
[0246]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連付けられたシンタックス要素とを表す、符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット280は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット280は、動きベクトルと他のシンタックス要素とを予測処理ユニット281に転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信し得る。
[0247]ビデオスライスがイントラコード化(I)スライスとしてコード化されたとき、信号伝達されたイントラ予測モードと、現在のフレーム又はピクチャの以前に復号されたブロックからのデータとに基づいて、予測処理ユニット281のイントラ予測処理ユニット284は、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(即ち、B、又はP)スライス又はビュー間コード化スライスとしてコード化されたとき、予測処理ユニット281の動き及び視差補償ユニット282は、エントロピー復号ユニット280から受信された動きベクトルと、視差動きベクトルと、他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、ビュー間参照ピクチャを含む参照ピクチャリストのうちの1つの内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、DPB292に記憶された参照ピクチャに基づいて、デフォルトの構成技法又は任意の他の技法を使用して、参照フレームリストのRefPicList0及びRefPicList1を構成し得る。
[0248]動き及び視差補償ユニット282は、動きベクトルと他のシンタックス要素とを構文解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。例えば、動き及び視差補償ユニット282は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、及び/又はビュー間予測スライス)と、スライスの参照ピクチャリストのうちの1つ又は複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトル及び/又は視差動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
[0249]動き及び視差補償ユニット282はまた、補間フィルタに基づいて補間を実行し得る。動き及び視差補償ユニット282は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き及び視差補償ユニット282は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0250]逆量子化処理ユニット286は、ビットストリーム中で与えられ、エントロピー復号ユニット280によって復号された、量子化変換係数を逆の量子化(inverse quantize)、即ち、逆量子化(dequantize)する。逆量子化プロセスは、ビデオエンコーダ20によって算出された量子化パラメータをビデオスライス中のビデオブロックごとに使用して、適用すべき量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。逆変換ユニット288は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
[0251]ARPユニット283と動き及び視差補償ユニット282とを含むビデオデコーダ30は、双方向予測及び/又はARP技法のいずれか、例えば、本明細書で説明するビュー間ARP技法又は時間的ARP技法を実行し得る。特に、本開示の一例では、ビデオデコーダ30は、双方向予測とビュー間ARPとを使用して符号化されたビデオデータの受信された現在のブロックであり得る。ビデオデータの符号化されたブロックは、ビデオデータメモリ278内に記憶され得る。ビデオデータの符号化ブロックについて、動き及び視差補償ユニット282は、ビデオデータの符号化ブロックのための第1の予測方向(例えば、参照ピクチャリストX)についての時間動き情報を決定することと、第1の予測方向のために決定された時間動き情報を使用して第2の予測方向(例えば、参照ピクチャリストY)のための参照ブロックを識別することと、ここにおいて、第2の予測方向のための参照ブロックは、ビデオデータの異なるアクセス単位、現在のブロック中にある、を行うように構成され得る。このようにして、符号化ビデオブロックを復号するために、動き情報と参照ブロックとのメモリアクセスを行う必要が少なくなる。
[0252]動き及び視差補償ユニット282が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換処理ユニット288からの残差ブロックを、動き及び視差補償ユニット282によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器291は、この加算演算を実行する1つ又は複数の構成要素を表す。所望される場合、ブロック歪を削除するために、復号ブロックをフィルタ処理するためのデブロッキングフィルタも適用され得る。(コード化ループ中の、又はコード化ループ後のいずれかにおける)他のループフィルタも、画素の遷移を平滑化し、又は場合によっては、ビデオ品質を改善するために使用され得る。所与のフレーム又はピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶するDPB292に記憶される。DPB292はまた、図1の表示装置32のような表示装置上での後の表示のために、復号ビデオを記憶する。
[0253]図19は、本開示で説明する技法による、ビデオブロックを符号化するための例示的なARP方法を示す流れ図である。図19の技法は、動き及び視差補償ユニット244とARPユニット245とを含む、ビデオエンコーダ20のハードウェア構造の任意の組合せによって実行され得る。
[0254]本開示の一例では、ビデオエンコーダ20は、ARPと双方向予測とを使用してビデオデータのブロックを符号化するように構成され得る。この例では、双方向予測は、第1の予測方向のための(例えば、参照ピクチャリストXのための)時間的予測と、第2の予測方向のための(例えば、参照ピクチャリストYのための)ビュー間予測とを含む。動き及び視差補償ユニット244は、ビデオデータのブロックのための第1の予測方向についての時間動き情報を決定する(1900)ように構成され得る。ARPユニット245は、決定された時間動き情報を使用して第1の予測方向のための参照ブロックを識別し(1910)、第1の予測方向についての決定された時間動き情報を使用して、第1の予測方向とは異なる第2の予測方向のための参照ブロックを識別する(1920)ように構成され得る。参照ブロックは、ビデオデータのブロックのためのアクセス単位とは異なるアクセス単位中にあり得る。ARPユニット245は、第1の予測方向と第2の予測方向とのための識別された参照ブロックを使用してビデオデータのブロックに対して高度残差予測を実行する(1930)ように更に構成され得る。
[0255]本開示の他の例では、動き及び視差補償ユニット244は、ビデオデータの第1の符号化ブロックのための第2の予測方向についての視差動き情報を決定するように構成され得る。更に、ARPユニット245は、決定された時間動き情報を使用して第1の予測方向のための第1の参照ブロックを識別すること、ここにおいて、第1の参照ブロックが、第1のビューの第2のアクセス単位中にある、を行うように構成され得る。ARPユニット245は、決定された時間動き情報を使用して第2の予測方向のための第2の参照ブロックを識別することと、決定された時間動き情報と決定された視差動き情報とを使用して第2の予測方向のための第3の参照ブロックを識別することと、ここにおいて、第3の参照ブロックが、第2のビューの第3のアクセス単位中にある、を行うように更に構成され得る。
[0256]図20は、本開示で説明する技法による、ビデオブロックを復号するための例示的なARP方法を示す流れ図である。図20の技法は、ビデオデコーダ、ARPユニット283並びに動き及び視差補償ユニット282のハードウェア構造の任意の組合せによって実行され得る。
[0257]本開示の一例では、ビデオデコーダ30は、第1のビューの第1のアクセス単位中でビデオデータの第1の符号化ブロックを記憶すること、ここにおいて、ビデオデータの第1の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化される(2000)、を行うように構成され得る。双方向予測は、第2の予測方向のための第1の予測方向とビュー間予測とのための時間的予測を含み得る。
[0258]動き及び視差補償ユニット282は、ビデオデータの第1の符号化ブロックのための第1の予測方向についての時間動き情報を決定する(2010)ように構成され得る。ARPユニット283は、ビデオデータの第1の符号化ブロックのための第2の予測方向についての視差動き情報を決定し(2020)、第1の予測方向についての決定された時間動き情報を使用して、第1の予測方向とは異なる第2の予測方向のための参照ブロックを識別する(2030)ように構成され得る。参照ブロックは、第1のアクセス単位とは異なるアクセス単位中にあり得る。ARPユニット283は、第2の予測方向のための識別された参照ブロックを使用してビデオデータの第1の符号化ブロックに対して高度残差予測を実行する(2040)ように更に構成され得る。
[0259]本開示の別の例では、ARPユニット238は、決定された時間動き情報を使用し、第1の予測方向のための識別された参照ブロックを使用してビデオデータの第1の符号化ブロックに対して高度残差予測を実行することによって、第1の予測方向のための参照ブロックを識別するように構成され得る。ARPユニット283は、決定された時間動き情報を使用して第2の予測方向のための第2の参照ブロックを識別することと、決定された時間動き情報と決定された視差動き情報とを使用して第2の予測方向のための第3の参照ブロックを識別することと、ここにおいて、第3の参照ブロックが、第2のビューの第3のアクセス単位中にある、を行うように更に構成され得る。第1の予測方向の第1の参照ブロックは、第2の予測方向の第2の参照ブロックと同じである。
[0260]本開示の別の例では、ビデオデコーダ30は、第1の予測方向のための識別された参照ブロックと第2の予測方向のための識別された参照ブロックとを使用してビデオデータの第1の符号化ブロックを復号するように構成され得る。
[0261]本開示の別の例では、ビデオデコーダ30は、残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測ユニットレベルの高度残差予測のうちの1つを使用してビデオデータの第1の符号化ブロックを復号することと、ビデオデータの復号ブロックを生成するために双方向予測と、第1の予測方向のための識別された参照ブロックと、第2の予測方向のための識別された参照ブロックとを使用して残差データを復号することとを行うように構成され得る。
[0262]本開示の別の例では、ビデオデコーダ30は、第3のビューの第4のアクセス単位中でビデオデータの第2の符号化ブロックを記憶すること、ここにおいて、ビデオデータの第2の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化される、を行うように更に構成され得る。双方向予測は、第4の予測方向のための第3の予測方向とビュー間予測とのための時間的予測を含み得る。
[0263]動き及び視差補償ユニット282は、ビデオデータの第1の符号化ブロックのための第1の予測方向についての時間動き情報を決定するように構成され得る。ARPユニット283は、決定された時間動き情報を使用して第1の予測方向のための参照ブロックを識別するように構成され得る。ARPユニット283は、更に、第1の予測方向についての決定された時間動き情報を使用して、第1の予測方向とは異なる第2の予測方向のための参照ブロックを識別し得、ここにおいて、参照ブロックが、第1のアクセス単位とは異なるアクセス単位中にある。ARPユニット283はまた、第1の予測方向と第2の予測方向とのための識別された参照ブロックを使用してビデオデータの第1の符号化ブロックに対して高度残差予測を実行し得る。
[0264]本開示の別の例では、動き及び視差補償ユニット282は、ビデオデータの第1の符号化ブロックのための第2の予測方向についての視差動き情報を決定するように構成され得る。ARPユニット283は、決定された時間動き情報を使用して第1の予測方向のための第1の参照ブロックを識別すること、ここにおいて、第1の参照ブロックが、第1のビューの第2のアクセス単位中にある、を行うように構成され得る。ARPユニット283は、決定された時間動き情報と決定された視差動き情報とを使用して第2の予測方向のための第2の参照ブロックを識別すること、ここにおいて、第2の参照ブロックが、第2のビューの第3のアクセス単位中にある、を行うように更に構成され得る。
[0265]本開示の別の例では、ビデオデコーダ30は、第1の予測方向のための識別された参照ブロックと第2の予測方向のための識別された参照ブロックとを使用してビデオデータの第1の符号化ブロックを復号するように構成され得る。ビデオデコーダ30は、残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測ユニットレベルの高度残差予測のうちの1つを使用してビデオデータの第1の符号化ブロックを復号することと、ビデオデータの復号ブロックを生成するために双方向予測と、第1の予測方向のための識別された参照ブロックと、第2の予測方向のための識別された参照ブロックとを使用して残差データを復号することとを行うように更に構成され得る。
[0266]幾つかの例では、本開示で説明する技法の1つ又は複数の態様は、例えばメディアアウェアネットワーク要素(MANE)、ストリーム適応プロセッサ、スプライシングプロセッサ、又は編集プロセッサなど、中間ネットワーク機器によって実行され得る。例えば、そのような中間機器は、本開示で説明するように、様々な信号伝達のうちの任意のものを生成又は受信するように構成され得る。
[0267]1つ又は複数の例では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。ソフトウェアで実装される場合、機能は1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、若しくはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、又は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、又は(2)信号若しくは搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明する技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ又は複数のコンピュータあるいは1つ又は複数のプロセッサによってアクセスされ得る任意の使用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0268]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ若しくは命令若しくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、ウェブサイト、サーバ、又は他の遠隔発信源から、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的媒体を含まないが、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びBlu−rayディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)はデータをレーザーで光学的に再生する。上の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
[0269]命令は、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積論理回路又はディスクリート論理回路など、1つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は、本明細書で説明する技法の実装に好適な他の構造のいずれかを指し得る。加えて、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成されるか、又は複合コーデックに組み込まれる、専用のハードウェアモジュール及び/又はソフトウェアモジュール内で提供され得る。また、本技法は、1つ又は複数の回路又は論理要素で十分に実装され得る。
[0270]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置で実装され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。そうではなく、上で説明されたように、様々なユニットは、コーデックハードウェアユニット中で組み合わせられるか、又は上で説明された1つ又は複数のプロセッサを含む、適切なソフトウェア及び/又はファームウェアとともに相互動作可能なハードウェアユニットの集合体によって提供され得る。様々な例が、説明された。これら及び他の例は、以下の特許請求の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号するための方法であって、
第1のビューの第1のアクセス単位中でビデオデータの第1の符号化ブロックを受信することと、ここにおいて、ビデオデータの前記第1の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第1の予測方向のための時間的予測と第2の予測方向のためのビュー間予測とを含み、
ビデオデータの前記第1の符号化ブロックのための前記第1の予測方向についての時間動き情報を決定することと、
ビデオデータの前記第1の符号化ブロックのための前記第2の予測方向についての視差動き情報を決定することと、
前記第1の予測方向についての決定された前記時間動き情報を使用して、前記第1の予測方向とは異なる前記第2の予測方向のための参照ブロックを識別することと、ここにおいて、前記参照ブロックが、前記第1のアクセス単位とは異なるアクセス単位中にあり、
前記第2の予測方向のための識別された前記参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行することと
を備える方法。
[C2]
決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別することと、
前記第1の予測方向のための識別された前記参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行することと、
ここにおいて、決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別することが、決定された前記時間動き情報を使用して前記第1の予測方向のための第1の参照ブロックを識別することを備える、ここにおいて、前記第1の参照ブロックが、前記第1のビューの第2のアクセス単位中にあり、
ここにおいて、前記第2の予測方向のための参照ブロックを識別することが、決定された前記時間動き情報を使用して前記第2の予測方向のための第2の参照ブロックを識別することと、決定された前記時間動き情報と決定された前記視差動き情報とを使用して前記第2の予測方向のための第3の参照ブロックを識別することとを備える、ここにおいて、前記第3の参照ブロックが、第2のビューの第3のアクセス単位中にあり、
ここにおいて、前記第1の予測方向の前記第1の参照ブロックが、前記第2の予測方向の前記第2の参照ブロックと同じである、
を更に備える、C1に記載の方法。
[C3]
前記第1の予測方向のための識別された前記参照ブロックと前記第2の予測方向のための識別された前記参照ブロックとを使用してビデオデータの前記第1の符号化ブロックを復号すること
を更に備える、C2に記載の方法。
[C4]
ビデオデータの前記第1の符号化ブロックを復号することが、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第1の符号化ブロックを復号することと、
ビデオデータの復号ブロックを生成するために双方向予測と、前記第1の予測方向のための識別された前記参照ブロックと、前記第2の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号することと
を備える、C3に記載の方法。
[C5]
第3のビューの第4のアクセス単位中でビデオデータの第2の符号化ブロックを受信することと、ここにおいて、ビデオデータの前記第2の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第3の予測方向のための時間的予測と第4の予測方向のためのビュー間予測とを含み、
ビデオデータの前記第2の符号化ブロックのための前記第4の予測方向についての視差動き情報を決定することと、
決定された前記視差動き情報を使用して前記第4の予測方向のための参照ブロックを識別することと、
前記第4の予測方向についての決定された前記視差動き情報を使用して、前記第4の予測方向とは異なる前記第3の予測方向のための参照を識別することと、ここにおいて、前記参照ブロックが、前記第4のアクセス単位とは異なるアクセス単位中にあり、
前記第3の予測方向と前記第4の予測方向とのための識別された前記参照ブロックを使用してビデオデータの前記第2の符号化ブロックに対して高度残差予測を実行することと
を更に備える、C1に記載の方法。
[C6]
ビデオデータの前記第2の符号化ブロックのための前記第3の予測方向についての時間動き情報を決定すること、
を更に備え、
ここにおいて、決定された前記視差動き情報を使用して前記第3の予測方向のための参照ブロックを識別することが、決定された前記視差動き情報と決定された前記時間動き情報とを使用して前記第3の予測方向のための第3の参照ブロックを識別することを備える、ここにおいて、前記第3の参照ブロックが、前記第3のビューの第4のアクセス単位中にある、
ここにおいて、前記第4の予測方向のための参照ブロックを識別することが、決定された前記視差動きを使用して前記第4の予測方向のための第4の参照ブロックを識別することを備える、ここにおいて、前記第4の参照ブロックが、第4のビューの第5のアクセス単位中にある、C5に記載の方法。
[C7]
前記第3の予測方向のための識別された前記参照ブロックと前記第4の予測方向のための識別された前記参照ブロックとを使用してビデオデータの前記第2の符号化ブロックを復号すること
を更に備える、C6に記載の方法。
[C8]
ビデオデータの前記第2の符号化ブロックを復号することが、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第2の符号化ブロックを復号することと、
双方向予測と、前記第3の予測方向のための識別された前記参照ブロックと、前記第4の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号することと
を備える、C7に記載の方法。
[C9]
ビデオデータを復号するように構成された装置であって、
第1のビューの第1のアクセス単位中でビデオデータの第1の符号化ブロックを記憶することを行うように構成されたビデオデータメモリと、ここにおいて、ビデオデータの前記第1の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第1の予測方向のための時間的予測と第2の予測方向のためのビュー間予測とを含み、
前記ビデオデータメモリと通信しており、
ビデオデータの前記第1の符号化ブロックのための前記第1の予測方向についての時間動き情報を決定することと、
ビデオデータの前記第1の符号化ブロックのための前記第2の予測方向についての視差動き情報を決定することと、
前記第1の予測方向についての決定された前記時間動き情報を使用して、前記第1の予測方向とは異なる前記第2の予測方向のための参照ブロックを識別することと、ここにおいて、前記参照ブロックが、前記第1のアクセス単位とは異なるアクセス単位中にあり、
前記第2の予測方向のための識別された前記参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行することと
を行うように構成された1つ以上のプロセッサと
を備える装置。
[C10]
前記1つ以上のプロセッサが、
決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別することと、
前記第1の予測方向のための前記識別された参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行することと、
を行うように更に構成され、
ここにおいて、決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別するために、前記1つ以上のプロセッサが、決定された前記時間動き情報を使用して前記第1の予測方向のための第1の参照ブロックを識別することを行うように更に構成される、ここにおいて、前記第1の参照ブロックが、前記第1のビューの第2のアクセス単位中にある、
ここにおいて、前記第2の予測方向のための参照ブロックを識別するために、前記1つ以上のプロセッサが、前記第2の予測方向のための参照ブロックを識別することを行うように更に構成され、前記1つ以上のプロセッサが、決定された前記時間動き情報を使用して前記第2の予測方向のための第2の参照ブロックを識別することと、決定された前記時間動き情報と決定された前記視差動き情報とを使用して前記第2の予測方向のための第3の参照ブロックを識別することとを行うように更に構成される、ここにおいて、前記第3の参照ブロックが、第2のビューの第3のアクセス単位中にある、
ここにおいて、前記第1の予測方向の前記第1の参照ブロックが、前記第2の予測方向の前記第2の参照ブロックと同じである、C9に記載の装置。
[C11]
前記1つ以上のプロセッサが、
前記第1の予測方向のための識別された前記参照ブロックと前記第2の予測方向のための識別された前記参照ブロックとを使用してビデオデータの前記第1の符号化ブロックを復号すること
を行うように更に構成された、C10に記載の装置。
[C12]
前記1つ以上のプロセッサが、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第1の符号化ブロックを復号することと、
ビデオデータの復号ブロックを生成するために双方向予測と、前記第1の予測方向のための識別された前記参照ブロックと、前記第2の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号することと
を行うように更に構成された、C11に記載の装置。
[C13]
ビデオデータの前記復号ブロックを表示するように構成された表示器
を更に備える、C12に記載の装置。
[C14]
前記ビデオデータメモリと前記1つ以上のプロセッサとが、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、タブレットコンピュータ、テレビジョン、カメラ、デジタルメディアプレーヤ、ビデオゲームコンソール、又はビデオストリーミング機器のうちの1つ内に格納される、C9に記載の装置。
[C15]
前記ビデオデータメモリが、第3のビューの第4のアクセス単位中でビデオデータの第2の符号化ブロックを記憶することを行うように更に構成され、ここにおいて、ビデオデータの前記第2の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第3の予測方向のための時間的予測と第4の予測方向のためのビュー間予測とを含む、
ここにおいて、前記1つ以上のプロセッサが、
ビデオデータの前記第2の符号化ブロックのための前記第4の予測方向についての視差動き情報を決定することと、
決定された前記視差動き情報を使用して前記第4の予測方向のための参照ブロックを識別することと、
前記第4の予測方向についての決定された前記視差動き情報を使用して、前記第4の予測方向とは異なる前記第3の予測方向のための参照を識別することと、ここにおいて、前記参照ブロックが、前記第4のアクセス単位とは異なるアクセス単位中にあり、
前記第3の予測方向と前記第4の予測方向とのための識別された前記参照ブロックを使用してビデオデータの前記第2の符号化ブロックに対して高度残差予測を実行することと
を行うように更に構成された、C9に記載の装置。
[C16]
前記1つ以上のプロセッサが、
ビデオデータの前記第2の符号化ブロックのための前記第3の予測方向についての時間動き情報を決定すること、
を行うように更に構成され、
ここにおいて、決定された前記視差動き情報を使用して前記第3の予測方向のための参照ブロックを識別するために、前記1つ以上のプロセッサが、決定された前記視差動き情報と決定された前記時間動き情報とを使用して前記第3の予測方向のための第3の参照ブロックを識別することを行うように構成される、ここにおいて、前記第3の参照ブロックが、前記第3のビューの第4のアクセス単位中にある、
ここにおいて、前記第4の予測方向のための参照ブロックを識別するために、前記1つ以上のプロセッサが、決定された前記視差動きを使用して前記第4の予測方向のための第4の参照ブロックを識別することを行うように構成される、ここにおいて、前記第4の参照ブロックが、第4のビューの第5のアクセス単位中にある、
C15に記載の装置。
[C17]
前記1つ以上のプロセッサが、
前記第3の予測方向のための識別された前記参照ブロックと前記第4の予測方向のための識別された前記参照ブロックとを使用してビデオデータの前記第2の符号化ブロックを復号すること
を行うように更に構成された、C16に記載の装置。
[C18]
前記1つ以上のプロセッサが、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測ユニットレベルの高度残差予測のうちの1つを使用してビデオデータの前記第2の符号化ブロックを復号することと、
双方向予測と、前記第3の予測方向のための識別された前記参照ブロックと、前記第4の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号することと
を行うように更に構成された、C17に記載の装置。
[C19]
ビデオデータを復号するように構成された装置であって、
第1のビューの第1のアクセス単位中でビデオデータの第1の符号化ブロックを受信するための手段と、ここにおいて、ビデオデータの前記第1の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第1の予測方向のための時間的予測と第2の予測方向のためのビュー間予測とを含み、
ビデオデータの前記第1の符号化ブロックのための前記第1の予測方向についての時間動き情報を決定するための手段と、
ビデオデータの前記第1の符号化ブロックのための前記第2の予測方向についての視差動き情報を決定するための手段と、
前記第1の予測方向についての決定された前記時間動き情報を使用して、前記第1の予測方向とは異なる前記第2の予測方向のための参照ブロックを識別するための手段と、ここにおいて、前記参照ブロックが、前記第1のアクセス単位とは異なるアクセス単位中にあり、
前記第2の予測方向のための識別された前記参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行するための手段と
を備える装置。
[C20]
決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別するための手段と、
前記第1の予測方向のための識別された前記参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行するための手段と、
を更に備え、
ここにおいて、決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別するための前記手段が、決定された前記時間動き情報を使用して前記第1の予測方向のための第1の参照ブロックを識別するための手段を備える、ここにおいて、前記第1の参照ブロックが、前記第1のビューの第2のアクセス単位中にある、
ここにおいて、前記第2の予測方向のための参照ブロックを識別するための前記手段が、決定された前記時間動き情報を使用して前記第2の予測方向のための第2の参照ブロックを識別することを備える前記第2の予測方向のための参照ブロックを識別するための手段と、決定された前記時間動き情報と決定された前記視差動き情報とを使用して前記第2の予測方向のための第3の参照ブロックを識別するための手段とを備える、ここにおいて、前記第3の参照ブロックが、第2のビューの第3のアクセス単位中にある、
ここにおいて、前記第1の予測方向の前記第1の参照ブロックが、前記第2の予測方向の前記第2の参照ブロックと同じである、C19に記載の装置。
[C21]
ビデオデータの前記第1の符号化ブロックを復号するための前記手段が、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第1の符号化ブロックを復号するための手段と、
ビデオデータの復号ブロックを生成するために双方向予測と、前記第1の予測方向のための前記識別された参照ブロックと、前記第2の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号するための手段と
を備える、C20に記載の装置。
[C22]
第3のビューの第4のアクセス単位中でビデオデータの第2の符号化ブロックを受信するための手段と、ここにおいて、ビデオデータの前記第2の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第3の予測方向のための時間的予測と第4の予測方向のためのビュー間予測とを含み、
ビデオデータの前記第2の符号化ブロックのための前記第4の予測方向についての視差動き情報を決定するための手段と、
決定された前記視差動き情報を使用して前記第4の予測方向のための参照ブロックを識別するための手段と、
前記第4の予測方向についての決定された前記視差動き情報を使用して、前記第4の予測方向とは異なる前記第3の予測方向のための参照を識別するための手段と、ここにおいて、前記参照ブロックが、前記第4のアクセス単位とは異なるアクセス単位中にあり、
前記第3の予測方向と前記第4の予測方向とのための識別された前記参照ブロックを使用してビデオデータの前記第2の符号化ブロックに対して高度残差予測を実行するための手段と
を更に備える、C19に記載の装置。
[C23]
ビデオデータの前記第2の符号化ブロックのための前記第3の予測方向についての時間動き情報を決定するための手段と、
前記第3の予測方向のための識別された前記参照ブロックと前記第4の予測方向のための識別された前記参照ブロックとを使用してビデオデータの前記第2の符号化ブロックを復号するための手段と、
を更に備え、
ここにおいて、決定された前記視差動き情報を使用して前記第3の予測方向のための参照ブロックを識別するための前記手段が、決定された前記視差動き情報と決定された前記時間動き情報とを使用して前記第3の予測方向のための第3の参照ブロックを識別するための手段を備える、ここにおいて、前記第3の参照ブロックが、前記第3のビューの第4のアクセス単位中にある、
ここにおいて、前記第4の予測方向のための参照ブロックを識別するための前記手段が、決定された前記視差動きを使用して前記第4の予測方向のための第4の参照ブロックを識別するための手段を備える、ここにおいて、前記第4の参照ブロックが、第4のビューの第5のアクセス単位中にある、C22に記載の装置。
[C24]
ビデオデータの前記第2の符号化ブロックを復号するための前記手段が、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第2の符号化ブロックを復号するための手段と、
双方向予測と、前記第3の予測方向のための前記識別された参照ブロックと、前記第4の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号するための手段と
を備える、C23に記載の装置。
[C25]
実行されたとき、ビデオデータを復号するように構成された機器の1つ以上のプロセッサに、
第1のビューの第1のアクセス単位中でビデオデータの第1の符号化ブロックを受信することと、ここにおいて、ビデオデータの前記第1の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第1の予測方向のための時間的予測と第2の予測方向のためのビュー間予測とを含み、
ビデオデータの前記第1の符号化ブロックのための前記第1の予測方向についての時間動き情報を決定することと、
ビデオデータの前記第1の符号化ブロックのための前記第2の予測方向についての視差動き情報を決定することと、
前記第1の予測方向についての前記決定された時間動き情報を使用して、前記第1の予測方向とは異なる前記第2の予測方向のための参照ブロックを識別することと、ここにおいて、前記参照ブロックが、前記第1のアクセス単位とは異なるアクセス単位中にあり、
前記第2の予測方向のための識別された前記参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。
[C26]
前記命令が、前記1つ以上のプロセッサに、
決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別することと、
前記第1の予測方向のための前記識別された参照ブロックを使用してビデオデータの前記第1の符号化ブロックに対して高度残差予測を実行することと、
を更に行わせる、
ここにおいて、決定された前記時間動き情報を使用して前記第1の予測方向のための参照ブロックを識別するために、前記命令が、前記1つ以上のプロセッサに、決定された前記時間動き情報を使用して前記第1の予測方向のための第1の参照ブロックを識別することを更に行わせる、ここにおいて、前記第1の参照ブロックが、前記第1のビューの第2のアクセス単位中にある、
ここにおいて、前記第2の予測方向のための参照ブロックを識別するために、前記命令が、前記1つ以上のプロセッサに、前記第2の予測方向のための参照ブロックを識別することを更に行わせる、前記命令が、前記1つ以上のプロセッサに、決定された前記時間動き情報を使用して前記第2の予測方向のための第2の参照ブロックを識別することと、決定された前記時間動き情報と決定された前記視差動き情報とを使用して前記第2の予測方向のための第3の参照ブロックを識別することとを更に行わせる、ここにおいて、前記第3の参照ブロックが、第2のビューの第3のアクセス単位中にある、
ここにおいて、前記第1の予測方向の前記第1の参照ブロックが、前記第2の予測方向の前記第2の参照ブロックと同じである、C25に記載のコンピュータ可読記憶媒体。
[C27]
前記命令が、前記1つ以上のプロセッサに、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第1の符号化ブロックを復号することと、
ビデオデータの復号ブロックを生成するために双方向予測と、前記第1の予測方向のための識別された前記参照ブロックと、前記第2の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号することと
を更に行わせる、C26に記載のコンピュータ可読記憶媒体。
[C28]
前記命令が、前記1つ以上のプロセッサに、
第3のビューの第4のアクセス単位中でビデオデータの第2の符号化ブロックを受信することと、ここにおいて、ビデオデータの前記第2の符号化ブロックが、高度残差予測と双方向予測とを使用して符号化され、前記双方向予測が、第3の予測方向のための時間的予測と第4の予測方向のためのビュー間予測とを含む、
ビデオデータの前記第2の符号化ブロックのための前記第4の予測方向についての視差動き情報を決定することと、
決定された前記視差動き情報を使用して前記第4の予測方向のための参照ブロックを識別することと、
前記第4の予測方向についての決定された前記視差動き情報を使用して、前記第4の予測方向とは異なる前記第3の予測方向のための参照を識別することと、ここにおいて、前記参照ブロックが、前記第4のアクセス単位とは異なるアクセス単位中にあり、
前記第3の予測方向と前記第4の予測方向とのための識別された前記参照ブロックを使用してビデオデータの前記第2の符号化ブロックに対して高度残差予測を実行することと
を更に行わせる、C25に記載のコンピュータ可読記憶媒体。
[C29]
前記命令が、前記1つ以上のプロセッサに、
ビデオデータの前記第2の符号化ブロックのための前記第3の予測方向についての時間動き情報を決定することと、
前記第3の予測方向のための識別された前記参照ブロックと前記第4の予測方向のための識別された前記参照ブロックとを使用してビデオデータの前記第2の符号化ブロックを復号することと、
を更に行わせ、
ここにおいて、決定された前記視差動き情報を使用して前記第3の予測方向のための参照ブロックを識別するために、前記命令が、前記1つ以上のプロセッサに、決定された前記視差動き情報と決定された前記時間動き情報とを使用して前記第3の予測方向のための第3の参照ブロックを識別することを更に行わせる、ここにおいて、前記第3の参照ブロックが、前記第3のビューの第4のアクセス単位中にある、
ここにおいて、前記第4の予測方向のための参照ブロックを識別するために、前記命令が、前記1つ以上のプロセッサに、決定された前記視差動きを使用して前記第4の予測方向のための第4の参照ブロックを識別することを更に行わせる、ここにおいて、前記第4の参照ブロックが、第4のビューの第5のアクセス単位中にある、C28に記載のコンピュータ可読記憶媒体。
[C30]
前記命令が、前記1つ以上のプロセッサに、
残差ビデオデータを生成するために、ブロックレベルの高度残差予測又は予測単位レベルの高度残差予測のうちの1つを使用してビデオデータの前記第2の符号化ブロックを復号することと、
双方向予測と、前記第3の予測方向のための識別された前記参照ブロックと、前記第4の予測方向のための識別された前記参照ブロックとを使用して前記残差データを復号することと
を更に行わせる、C29に記載のコンピュータ可読記憶媒体。