(57)【特許請求の範囲】
【請求項１】
ビデオデータを処理する方法であって、
参照ビューのための参照ビュー成分に対応する第１の深度ビュー成分に対する、第１の知覚される深度範囲を決定することと、
現在のビューのための現在のビュー成分に対応する第２の深度ビュー成分に対する第２の知覚される深度範囲を決定することと、ここにおいて前記現在のビューは、前記参照ビューとは異なるビューであり、前記現在のビュー成分は、前記参照ビュー成分に対して予測される、
前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定することと、
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整することと、ここにおいて前記値を調整することは、前記予測ブロックの深度値をスケーリングすることを備える、
前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分をコーディングすることとを備える、方法。
【請求項２】
予測ブロックを決定することが、前記予測ブロックを形成することを備える、請求項１に記載の方法。
【請求項３】
前記現在のビュー成分の前記部分をコーディングすることが、前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分を符号化することを備える、請求項１に記載の方法。
【請求項４】
前記現在のビュー成分の前記部分をコーディングすることが、前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分を復号することを備える、請求項１に記載の方法。
【請求項５】
前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分に含まれるスライスの１つまたは複数のブロックのコーディングに対して可能であるという指示をコーディングすることをさらに備える、請求項１に記載の方法。
【請求項６】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することを備える、請求項１に記載の方法。
【請求項７】
前記予測ブロックの値を調整することは、前記スケーリングされた深度値にオフセットを加算することをさらに備える、請求項１に記載の方法。
【請求項８】
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、請求項７に記載の方法。
【請求項９】
８ビットの深度マップに対する値を備える参照テーブルに基づいて、前記関数を決定することをさらに備える、請求項６に記載の方法。
【請求項１０】
前記予測ブロックの前記値に前記関数を適用することがさらに、前記予測ブロック中の各ピクセルに前記関数を適用することを備え、前記関数が
【数１】
0006026534.tif 000029
として与えられ、ここにおいてｄは前記予測ブロックの値を表し、
【数２】
0006026534.tif 000030
は、前記予測されたブロックの調整された値を表し、
【数３】
0006026534.tif 000031
は、前記第１の深度ビュー成分のための最小の知覚される深度値を表し、
【数４】
0006026534.tif 000032
は、前記第１の深度ビュー成分のための最大の知覚される深度値を表し、
【数５】
0006026534.tif 000033
は、前記第２の深度ビュー成分のための最小の知覚される深度値を表し、
【数６】
0006026534.tif 000034
は、前記第２の深度ビュー成分のための最大の知覚される深度値を表す、請求項６に記載の方法。
【請求項１１】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することを備える、請求項１に記載の方法。
【請求項１２】
前記参照ビュー成分に対して動き補償を実行することをさらに備え、前記予測ブロックの値を調整することが、前記参照ビュー成分の前記動き補償の後で実行される、請求項１に記載の方法。
【請求項１３】
参照ビューのための参照ビュー成分を備える第１の深度ビュー成分に対する第１の知覚される深度範囲を決定し、現在のビューのための現在のビュー成分を備える第２の深度ビュー成分に対する第２の知覚される深度範囲を決定し、ここにおいて前記現在のビューは、前記参照ビューとは異なるビューであり、前記現在のビュー成分は、前記参照ビュー成分に対して予測される、前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定し、前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整し、ここにおいて前記値を調整することは、前記予測ブロックの深度値をスケーリングすることを備える、前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分をコーディングするように構成されるビデオコーダを備える、ビデオデータをコーディングするためのデバイス。
【請求項１４】
前記ビデオコーダがビデオエンコーダであり、予測ブロックを決定することは、前記予測ブロックを形成することを備え、前記現在のビュー成分の前記部分をコーディングすることは、前記予測ブロックの前記調整された値に基づいて前記現在のビュー成分の前記部分を符号化することを備える、請求項１３に記載のデバイス。
【請求項１５】
前記ビデオコーダがさらに、前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分に含まれるスライスの１つまたは複数のブロックのコーディングに対して可能であるという指示をコーディングするように構成される、請求項１３に記載のデバイス。
【請求項１６】
前記ビデオコーダがさらに、前記参照ビュー成分から決定される前記予測ブロックの前記値が調整されたという指示を、前記参照ビュー成分のある部分に対するスライスヘッダにおいてコーディングするように構成される、請求項１３に記載のデバイス。
【請求項１７】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整することは、関数を前記予測ブロックの前記値に適用することを備える、請求項１３に記載のデバイス。
【請求項１８】
前記予測ブロックの値を調整することは、前記スケーリングされた深度値にオフセットを加算することをさらに備える、請求項１３に記載のデバイス。
【請求項１９】
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、請求項１８に記載のデバイス。
【請求項２０】
前記ビデオコーダがさらに、８ビットの深度マップの値を備える参照テーブルに基づいて前記関数を決定するように構成される、請求項１７に記載のデバイス。
【請求項２１】
前記予測ブロックの前記値に前記関数を適用することは、前記予測ブロック中の各ピクセルに前記関数を適用することをさらに備え、前記関数が
【数７】
0006026534.tif 000035
として与えられ、ここにおいてｄは前記予測ブロックの値を表し、
【数８】
0006026534.tif 000036
は、前記予測されたブロックの調整された値を表し、
【数９】
0006026534.tif 000037
は、前記第１の深度ビュー成分のための最小の知覚される深度値を表し、
【数１０】
0006026534.tif 000038
は、前記第１の深度ビュー成分のための最大の知覚される深度値を表し、
【数１１】
0006026534.tif 000039
は、前記第２の深度ビュー成分のための最小の知覚される深度値を表し、
【数１２】
0006026534.tif 000040
は、前記第２の深度ビュー成分のための最大の知覚される深度値を表す、請求項１７に記載のデバイス。
【請求項２２】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することは、前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することを備える、請求項１３に記載のデバイス。
【請求項２３】
前記ビデオコーダがさらに、前記参照ビュー成分に対して動き補償を実行するように構成され、前記予測ブロックの値を調整することは、前記参照ビュー成分の前記動き補償の後で実行される、請求項１３に記載のデバイス。
【請求項２４】
実行されると、ビデオコーディングデバイスのプロセッサに、
参照ビューのための参照ビュー成分に対応する第１の深度ビュー成分に対する、第１の知覚される深度範囲を決定させ、
現在のビューのための現在のビュー成分に対応する第２の深度ビュー成分に対する第２の知覚される深度範囲を決定させ、ここにおいて前記現在のビューは、前記参照ビューとは異なるビューであり、前記現在のビュー成分は、前記参照ビュー成分に対して予測される、
前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定させ、
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整させ、ここにおいて前記値を調整することは、前記予測ブロックの深度値をスケーリングすることを備える、
前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分をコーディングさせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項２５】
予測ブロックを決定することが前記予測ブロックを形成することを備え、
前記現在のビュー成分の前記部分をコーディングすることが、前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分を符号化することを備える、請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２６】
前記命令がさらに、実行されると、前記ビデオコーディングデバイスの前記プロセッサに、
前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分に含まれるスライスの１つまたは複数のブロックのコーディングに対して可能であるという指示をコーディングさせる、請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することを備える、請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記予測ブロックの値を調整することが、前記スケーリングされた深度値にオフセットを加算することをさらに備える、請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、請求項２８に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記命令がさらに、実行されると、前記ビデオコーディングデバイスの前記プロセッサに、
８ビットの深度マップに対する値を備える参照テーブルに基づいて、前記関数を決定させる、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項３１】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することを備える、請求項２４に記載のコンピュータ可読記憶媒体。
【請求項３２】
ビデオデータを処理するためのデバイスであって、
参照ビューのための参照ビュー成分に対応する第１の深度ビュー成分に対する、第１の知覚される深度範囲を決定するための手段と、
現在のビューのための現在のビュー成分に対応する第２の深度ビュー成分に対する第２の知覚される深度範囲を決定するための手段と、ここにおいて前記現在のビューは、前記参照ビューとは異なるビューであり、前記現在のビュー成分は、前記参照ビュー成分に対して予測される、
前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定するための手段と、
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整するための手段と、ここにおいて前記予測ブロックの前記値を調整することは、前記予測ブロックの深度値をスケーリングすることを備える、
前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分をコーディングするための手段とを備える、デバイス。
【請求項３３】
予測ブロックを決定することが前記予測ブロックを形成することを備え、
前記現在のビュー成分の前記部分をコーディングすることが、前記予測ブロックの前記調整された値に基づいて、前記現在のビュー成分の前記部分を符号化することを備える、請求項３２に記載のデバイス。
【請求項３４】
前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分に含まれるスライスの１つまたは複数のブロックのコーディングに対して可能であるという指示をコーディングするための手段をさらに備える、請求項３２に記載のデバイス。
【請求項３５】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することを備える、請求項３２に記載のデバイス。
【請求項３６】
前記予測ブロックの値を調整することが、前記スケーリングされた深度値にオフセットを加算することをさらに備える、請求項３２に記載のデバイス。
【請求項３７】
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、請求項３６に記載のデバイス。
【請求項３８】
８ビットの深度マップに対する値を備える参照テーブルに基づいて、前記関数を決定するための手段をさらに備える、請求項３５に記載のデバイス。
【請求項３９】
前記予測ブロックの前記値に前記関数を適用することがさらに、前記予測ブロック中の各ピクセルに前記関数を適用することを備え、前記関数が
【数１３】
0006026534.tif 000041
として与えられ、ｄは前記予測ブロックの値を表し、
【数１４】
0006026534.tif 000042
は、前記予測されたブロックの調整された値を表し、
【数１５】
0006026534.tif 000043
は、前記第１の深度ビュー成分のための最小の知覚される深度値を表し、
【数１６】
0006026534.tif 000044
は、前記第１の深度ビュー成分のための最大の知覚される深度値を表し、
【数１７】
0006026534.tif 000045
は、前記第２の深度ビュー成分のための最小の知覚される深度値を表し、
【数１８】
0006026534.tif 000046
は、前記第２の深度ビュー成分のための最大の知覚される深度値を表す、請求項３５に記載のデバイス。
【請求項４０】
前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の知覚される深度範囲と前記第２の知覚される深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することを備える、請求項３２に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、その全体が参照により本明細書に組み込まれる、２０１１年７月２２日に出願された米国仮出願第６１／５１０，７５３号に関し、その優先権を主張する。
【０００２】
本開示は、ビデオコーディングの分野に関し、たとえば、３次元ビデオデータをコーディングすることに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線電話ハンドセットなどのワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＨ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）などのビデオ圧縮技法を実装する。ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的予測と時間的予測とを実行する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングでは、ビデオフレームまたはスライスは、マクロブロックに区分され得る。各マクロブロックは、さらに区分され得る。イントラコーディングされた（Ｉ）フレームまたはスライス中のマクロブロックは、隣接するマクロブロックに関する空間的予測を使用して符号化される。インターコーディングされた（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の隣接するマクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【０００５】
ビデオデータが符号化された後、ビデオデータは送信または記憶のためにパケット化され得る。ビデオデータは、ＡＶＣのような、国際標準化機構（ＩＳＯ）ベースのメディアファイルフォーマットおよびその拡張など、種々の規格のいずれかに準拠するビデオファイルにアセンブルされ得る。
【０００６】
Ｈ．２６４／ＡＶＣに基づく新しいビデオコーディング規格を開発するために、取り組みが行われている。１つのそのような規格は、Ｈ．２６４／ＡＶＣのスケーラブルな拡張であるスケーラブルビデオコーディング（ＳＶＣ）規格である。別の規格は、Ｈ．２６４／ＡＶＣのマルチビュー拡張になったマルチビュービデオコーディング（ＭＶＣ）である。ＭＶＣの共同草案は、ＪＶＴ−ＡＢ２０４、「Ｊｏｉｎｔ  Ｄｒａｆｔ  ８．０  ｏｎ  Ｍｕｌｔｉｖｉｅｗ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」、２８th  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｈａｎｎｏｖｅｒ、Ｇｅｒｍａｎｙ、２００８年７月に記載されており、これは、ｈｔｔｐ：／／ｗｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｖｔ−ｓｉｔｅ／２００８＿０７＿Ｈａｎｎｏｖｅｒ／ＪＶＴ−ＡＢ２０４．ｚｉｐにおいて入手可能である。ＡＶＣ規格のあるバージョンが、ＪＶＴ−ＡＤ００７、「Ｅｄｉｔｏｒｓ’  ｄｒａｆｔ  ｒｅｖｉｓｉｏｎ  ｔｏ  ＩＴＵ−Ｔ  Ｒｅｃ．  Ｈ．２６４  ｜  ＩＳＯ／ＩＥＣ  １４４９６−１０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  −  ｉｎ  ｐｒｅｐａｒａｔｉｏｎ  ｆｏｒ  ＩＴＵ−Ｔ  ＳＧ  １６  ＡＡＰ  Ｃｏｎｓｅｎｔ  （ｉｎ  ｉｎｔｅｇｒａｔｅｄ  ｆｏｒｍ）」、３０ｔｈ  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｇｅｎｅｖａ、ＣＨ、２００９年２月」に記載されており、これは、ｈｔｔｐ：／／ｗｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｖｔ−ｓｉｔｅ／２００９＿０１＿Ｇｅｎｅｖａ／ＪＶＴ−ＡＤ００７．ｚｉｐから入手可能である。この文書は、ＳＶＣとＭＶＣとをＡＶＣ仕様に組み込んでいる。
【発明の概要】
【０００７】
本開示は全般に、３次元（３Ｄ）ビデオコーディングとレンダリングとをサポートするための技法を説明する。具体的には、本開示の技法は、３Ｄビデオコンテンツをコーディングし復号することに関する。本開示の技法は、テクスチャ情報（輝度またはルミナンスのデータおよび色またはクロミナンスのデータ）とともに、テクスチャ情報の深度マップを含む。深度マップは、テクスチャ情報をコーディングするために適用される技法と同様の技法、たとえば、イントラ予測コーディングおよび／またはインター予測コーディングを使用して、予測的にコーディングされ得る。インター予測コーディング技法を使用してコーディングされる深度マップは、「動き深度マップ」と本明細書では呼ばれる。本開示は、参照深度マップに対する深度範囲の変動を有する、動き深度マップをコーディングすることを提案する。たとえば、本開示は、参照深度ビュー成分の第１の現実世界の深度範囲と、現在の深度ビュー成分の第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整することを提案する。たとえば、予測された深度マップの値は、動き補償の後に実行されるピクセル値再マッピングコーディング処理に従って調整され得る。
【０００８】
３Ｄコーデックでは、特定の時間インスタンスにおけるビデオデータの各ビューのビュー成分は、テクスチャビュー成分と深度ビュー成分とを含み得る。テクスチャビュー成分は、ルミナンス（Ｙ）成分とクロミナンス（ＣｂおよびＣｒ）成分とを含んでよく、これらは「テクスチャ情報」または「テクスチャ成分」と総称される。ルミナンス（輝度）成分およびクロミナンス（色）成分は、本明細書では「テクスチャ」成分と総称される。深度ビュー成分は、画像の深度マップからのものであり得る。３Ｄ画像レンダリングでは、深度マップは、深度値を含み、別のビュー、たとえばテクスチャ情報を含むビューに対する、与えられた視点からの仮想ビューを生成するために使用され得る。本開示では単に「コーディングされたブロック」とも呼ばれるコーディングされたブロックユニットは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）におけるマクロブロックまたはＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）のコーディングユニットに対応し得る。
【０００９】
一態様では、ビデオデータを処理する方法は、参照ビュー成分に対応する第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定することと、参照ビュー成分に対して予測される現在のビュー成分に対応する第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定することとを備える。方法はまた、参照ビュー成分から、現在のビュー成分のある部分の予測ブロックを決定することを備える。方法はさらに、第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整することと、予測ブロックの調整された値に基づいて、現在のビューの上記部分を予測することとを備える。
【００１０】
別の態様では、データを符号化するためのデバイスは、参照ビュー成分を備える第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定し、参照ビュー成分に対して予測される現在のビュー成分を備える第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定し、参照ビュー成分から、現在のビュー成分のある部分の予測ブロックを決定し、第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整し、予測ブロックの調整された値に基づいて、現在のビューの上記部分を予測するように構成される、ビデオコーダを備える。
【００１１】
別の態様では、コンピュータ可読媒体は、実行されると、ビデオコーディングデバイスのプロセッサに、参照ビュー成分に対応する第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定させ、参照ビュー成分に対して予測される現在のビュー成分に対応する第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定させ、参照ビュー成分から、現在のビュー成分のある部分の予測ブロックを決定させ、第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整させ、予測ブロックの調整された値に基づいて、現在のビューの上記部分を予測させる、命令を記憶した、コンピュータ可読記憶媒体を備える。
【００１２】
別の態様では、参照ビュー成分に対応する第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定するための手段と、参照ビュー成分に対して予測される現在のビュー成分に対応する第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定するための手段と、参照ビュー成分から、現在のビュー成分のある部分に対する予測ブロックを決定するための手段とを備える、デバイスが提供される。デバイスはさらに、第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整するための手段と、予測ブロックの調整された値に基づいて、現在のビューの上記部分を予測するための手段とを備える。
【００１３】
本開示で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装され得る。ソフトウェアで実装される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）、あるいは他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを指すことがあるプロセッサで実行され得る。本技法を実行する命令を備えるソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサによってロードされて実行され得る。
【００１４】
したがって、本開示はまた、プロセッサに、本開示で説明される種々の技法のいずれかを実行させる命令を備えるコンピュータ可読媒体を企図する。場合によっては、コンピュータ可読媒体はコンピュータプログラム製品の一部をなしてよく、コンピュータプログラム製品は、製造業者に販売され、かつ／またはデバイス中で使用され得る。コンピュータプログラム製品はコンピュータ可読媒体を含むことがあり、場合によってはパッケージング材料を含むこともある。
【００１５】
本開示はまた、情報を搬送する電磁信号にも適用され得る。たとえば、電磁信号は、参照サンプルのサブ整数ピクセルのための値を補間するために使用されるフルピクセルサポートに関係する情報を備え得る。いくつかの例では、信号は、本明細書で説明される技法を実装するデバイスから生成され、または、そのようなデバイスによって送信され得る。他の例では、本開示は、本明細書で説明される技法を実装するデバイスにおいて受信され得る信号に適用され得る。
【００１６】
本開示の１つまたは複数の態様の詳細が、添付の図面および以下の説明に記載される。本開示で説明される技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１７】
【図１】本開示の技法による、ビデオ符号化および復号システムの一例を示すブロック図。
【図２】本開示の技法による、図１のビデオエンコーダの例をさらに詳しく示すブロック図。
【図３】本開示の技法による、マルチビュービデオコーディングのためのＭＶＣ予測構造の一例の図。
【図４】本開示の技法による、図１のビデオデコーダのある例をさらに詳しく示すブロック図。
【図５】本開示の技法による、本開示と一致するビデオエンコーダの例示的な動作を示す流れ図。
【図６】本開示の技法による、深度マップの動き補償された値を調整するための、別の例示的なコーディングデバイスのコンポーネント間の、例示的なフローを示す概念図。
【発明を実施するための形態】
【００１８】
本開示は、ビデオ符号化処理とビデオ復号処理の少なくとも１つの少なくともインター予測段階において、エンコーダが適用できデコーダが使用できる、シグナリング技法を説明する。説明される技法は、３次元（「３Ｄ」）ビデオコンテンツのコーディングに関する。本開示は、参照深度マップに対して深度範囲の変動を有する、動き深度マップをコーディングすることを提案する。たとえば、本開示は、参照深度ビュー成分の第１の現実世界の深度範囲と、現在の深度ビュー成分の第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整することを提案する。たとえば、ピクセル値再マッピングコーディング処理は、動き補償の後に実行され得る。これらの技法は、本開示の技法に従って、マルチビュービデオコーディング（ＭＶＣ）ビットストリームのいずれかまたはすべてのビューが深度情報をさらに含み得る、ＭＶＣビットストリームに似ているビットストリームを符号化するために適用され得る。本開示では、「コーディング」という用語は、符号化および／または復号のいずれかまたはその両方を指し得る。
【００１９】
より具体的には、本技法は、テクスチャビュー成分と深度ビュー成分とを有する少なくとも１つの２次元画像の受信を伴う。いくつかのテクスチャビュー成分および深度ビュー成分が、単一のコーディングされたブロックへと一緒に符号化されてよく、または別々のブロックとして符号化されてよい。画像は、深度ビュー成分およびテクスチャビュー成分によって定義され得る。
【００２０】
画像フレームの深度値は、その画像フレームまたはピクチャに特有の深度範囲に対して定義され得る。しかしながら、異なるフレームの深度ビュー成分は、異なる深度範囲を有し得る。したがって、２つの異なるフレームの２つの深度値は、２つのフレームの深度範囲が異なる場合、異なる現実世界の深度値に対応することがある。たとえば、現在のビューフレームおよび対応する参照フレームは、同じ深度値を有し得る。しかしながら、現在のビューフレームおよび対応する参照フレームが異なる現実世界の深度値を有する場合、同じ深度値が、異なる現実世界の深度値に対応する。本明細書で説明される技法は、動き深度マップをコーディングして、参照ビューと現在のビューとの間のこれらの深度値の差を補償する。
【００２１】
深度推定と仮想ビュー合成とに基づくビデオ変換が、３Ｄビデオなどの３Ｄ画像アプリケーションを作成するために使用され得る。特に、シーンの３Ｄビューを作成するために、シーンの仮想ビューが使用され得る。シーンの既存のビューに基づくシーンの仮想ビューの生成は、従来、仮想ビューを合成する前にオブジェクト深度値を推定することによって達成される。深度推定は、ステレオペアまたはモノスコープコンテンツから、オブジェクトとカメラ平面との間の絶対距離または相対距離を推定する処理である。深度情報は、深度マップ（たとえば、ピクセルごとの深度値）またはパララックスマップ（たとえば、ピクセルごとの水平視差）など、３次元ビデオを形成する際に有用な情報を含み得る。深度情報は、深度範囲と呼ばれる、現実世界の深度値の範囲を有し得る。ピクチャの現実世界の深度値は、そのピクチャの深度マップを作成するために、通常深度範囲に対して量子化され得る。
【００２２】
グレーレベルの画像深度マップによって通常表される推定深度情報は、深度画像ベースレンダリング（ＤＩＢＲ：depth image based rendering）技法を使用して、仮想ビューの任意の角度を生成するために使用され得る。マルチビューシーケンスが効率的なビュー間圧縮という課題に直面する、従来の３次元テレビジョン（３ＤＴＶ）システムと比較して、深度マップベースのシステムは、効率的に符号化され得る（１つまたは複数の）深度マップとともに１つまたは少数のビューのみを送信することによって帯域幅の使用量を低減し得る。深度マップベースの変換において使用される（１つまたは複数の）深度マップは、深度マップがビュー合成において使用される前に、エンドユーザによって（たとえば、スケーリングを通じて）制御可能であり得る。異なる量の知覚される深度をもつ、カスタマイズされた仮想ビューが生成され得る。また、深度の推定は、１ビューの２Ｄコンテンツのみが利用可能であるモノスコープビデオを使用して実行され得る。
【００２３】
ブロックベースのインターコーディングは、ビデオシーケンスの連続するコーディングされたユニットのビデオブロック間の時間的冗長性を低減または除去するために時間的予測を利用するコーディング技法である。インターコーディングは、テクスチャ情報と深度情報の両方に適用され得る。コーディングされたユニットは、ビデオフレーム、ビデオフレームのスライス、ピクチャのグループ、または符号化されたビデオブロックの別の定義されたユニットを備え得る。本明細書で使用される場合、「フレーム」および「ピクチャ」という用語は、互換的に使用され得る。インターコーディングの場合、ビデオエンコーダは、２つ以上の隣接するコーディングされたユニットのビデオブロック間の動きを推定するために、動き推定と動き補償とを実行する。動き推定のための技法を使用して、ビデオエンコーダは、１つまたは複数の参照フレームまたは他のコーディングされたユニット中の対応する予測ビデオブロックに対するビデオブロックの変位を示し得る、動きベクトルを生成する。動き補償のための技法を使用して、ビデオエンコーダは、１つまたは複数の参照フレームまたは他のコーディングされたユニットから予測ビデオブロックを生成するために、動きベクトルを使用し得る。動き補償の後、ビデオエンコーダは、コーディングされている元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックを計算し得る。ビュー間コーディングも、他のビューの参照ビュー成分からテクスチャ情報および／または深度情報を予測するために使用されてよく、この場合、変位ベクトルは、参照ビュー成分に対して予測ブロックを形成するために計算され使用され得る。
【００２４】
図１は、本開示の技法のうちの１つまたは複数を実装するために使用され得るビデオ符号化および復号システム１０の一例を示すブロック図である。図１に示されるように、システム１０は、通信チャネル１５を介して符号化されたビデオを宛先デバイス１６に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１６は、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１６のいずれかまたはその両方は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話のなどのワイヤレス通信デバイス、または通信チャネル１５を介してビデオ情報を通信することができ、その場合、通信チャネル１５がワイヤレスである任意のワイヤレスデバイスを備え得る。しかしながら、テクスチャ情報と深度情報の両方を含むビデオデータのブロックをコーディングすることに関する本開示の技法は、必ずしもワイヤレス用途または設定に限定されるとは限らない。本技法はまた、物理ワイヤ、光ファイバーまたは他の物理媒体もしくはワイヤレス媒体を介して通信するデバイスを含む、広範囲の他の設定およびデバイスにおいて有用であり得る。
【００２５】
加えて、本符号化技法または復号技法は、必ずしも他のデバイスと通信するとは限らないスタンドアロンデバイスにおいても適用され得る。たとえば、ビデオデコーダ２８は、デジタルメディアプレーヤまたは他のデバイス内に存在し、ストリーミング、ダウンロードまたは記憶媒体を介して、符号化されたビデオデータを受信することができる。したがって、互いに通信しているソースデバイス１２および宛先デバイス１６の図は、例示的な実装形態の例示のために与えられるものであり、一般に種々の環境、適用例または実装形態におけるビデオコーディングに適用可能であり得る、本開示において説明される技法に対する制限として見なされるべきでない。
【００２６】
図１の例では、ソースデバイス１２は、ビデオソース２０と、深度処理ユニット２１と、ビデオエンコーダ２２と、変調器／復調器（モデム）２３と、送信機２４とを含み得る。宛先デバイス１６は、受信機２６と、モデム２７と、ビデオデコーダ２８と、ディスプレイデバイス３０とを含み得る。本開示によれば、ソースデバイス１２のビデオエンコーダ２２は、ビデオ符号化処理の一部として本開示の技法のうちの１つまたは複数を適用するように構成され得る。同様に、宛先デバイス１６のビデオデコーダ２８は、ビデオ復号処理の一部として本開示の技法のうちの１つまたは複数を適用するように構成され得る。
【００２７】
ビデオシーケンスは、一般に、ビデオピクチャとも呼ばれる一連のビデオフレームを含む。ビデオエンコーダ２２は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、サイズが一定であっても変化してもよく、指定されたコーディング規格に応じてサイズが異なることがある。各ビデオフレームは、一連の１つまたは複数のスライスを含む。ＩＴＵ−Ｔ  Ｈ．２６４規格では、たとえば、各スライスは一連のマクロブロックを含んでよく、それらのマクロブロックはサブブロックへと構成され得る。Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８のように、２次元（２Ｄ）ビデオ符号化のための様々なブロックサイズのイントラ予測をサポートし、ならびに、ルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズのように、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、ピクセルデータのブロック、または、たとえば離散コサイン変換（ＤＣＴ）もしくは概念的に同様の変換処理などの変換処理の後の変換係数のブロックを備え得る。これらの技法は、３Ｄビデオに拡張され得る。
【００２８】
ビデオブロックは、小さいほどより良い解像度が得られ、高いレベルの詳細を含むビデオフレームの位置決めに使用され得る。一般に、マクロブロックおよび様々なサブブロックはビデオブロックであると見なされ得る。加えて、スライスは、マクロブロックおよび／またはサブブロックのような、一連のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。あるいは、フレーム自体が復号可能なユニットであってよく、または、フレームの他の部分が復号可能なユニットとして定義され得る。
【００２９】
ＩＴＵ−Ｔ  Ｈ．２６４規格の２Ｄマクロブロックは、深度マップまたはパララックスマップからの深度情報を、そのビデオフレームまたはスライスの関連するルーマ成分およびクロマ成分（すなわち、テクスチャ成分）とともに符号化することによって、３Ｄに拡張され得る。（仮想変位マッピングまたはオフセットマッピングとも呼ばれる）パララックスマッピングは、ピクセル位置におけるビュー角度と高さマップとの関数に基づいて、ピクセル位置におけるテクスチャ成分を変位させる。ビデオエンコーダ２２は、深度情報を単色ビデオとして符号化し得る。
【００３０】
コーディングされるブロックのようなビデオブロックを符号化するために、ビデオエンコーダ２２は、イントラ予測またはインター予測を実行して、１つまたは複数の予測ブロックを生成する。ビデオエンコーダ２２は、符号化されるべき元のビデオブロックから予測ブロックを減算して、残差ブロックを生成する。したがって、残差ブロックは、コーディングされているブロックと予測ブロックとの間のピクセルごとの差分を表し得る。
【００３１】
ビデオエンコーダ２２はまた、残差ブロックの通信に関連するビットレートをさらに低減するために、変換処理と、量子化処理と、エントロピーコーディング処理とを適用し得る。変換技法は、離散コサイン変換（ＤＣＴ）または概念的に同様の処理を備え得る。代替的に、ウェーブレット変換、整数変換、または他のタイプの変換が使用され得る。ＤＣＴ処理では、ある例として、ピクセル値のセットが、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換され得る。
【００３２】
ビデオエンコーダ２２は、変換係数を量子化することができ、これは一般に、対応する変換係数に関連するビット数を低減する処理を伴い得る。量子化は一般に、係数を表すために使用されるデータ量をできるだけ低減するように係数を量子化する処理を指す。量子化の後、エントロピーコーディング方法に従ってエントロピーコーディングが実行され得る。エントロピーコーディングは、ビットストリームへの出力のためにデータをまとめて圧縮する１つまたは複数の処理を含んでよく、圧縮されたデータは、たとえば、一連のコーディングモードと、動き情報と、コーディングされたブロックパターンと、量子化された変換係数とを含み得る。エントロピーコーディングの例には、限定はされないが、コンテキスト適応可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）およびコンテキスト適応バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）がある。ビデオエンコーダ２２によって実行される符号化処理の追加の詳細が、図２に関して以下で説明される。
【００３３】
コーディングされたビデオブロックは、予測ブロックを生成または識別するために使用され得る予測情報と、元のブロックを再現するために予測ブロックに適用され得るデータの残差ブロックとによって表され得る。予測情報は、データの予測ブロックを識別するために使用される１つまたは複数の動きベクトルを備え得る。動きベクトルを使用して、ビデオデコーダ２８は、残差ブロックをコーディングするために使用された予測ブロックを復元することが可能であり得る。したがって、残差ブロックのセットと動きベクトルのセット（場合によってはいくつかの追加のシンタックス）とが与えられれば、ビデオデコーダ２８は、最初に符号化されたビデオフレームを復元することができる。連続するビデオフレームまたは他のタイプのコーディングされたユニットはしばしば類似しているので、動き推定と動き補償とに基づくインターコーディングは、過大なデータ損失を伴わずに比較的大量の圧縮を達成することができる。符号化されたビデオシーケンスは、残差データのブロックと、（インター予測符号化されたときの）動きベクトルと、イントラ予測のためのイントラ予測モードの指示と、シンタックス要素とを備え得る。
【００３４】
深度値の範囲に基づいてピクセル値を補償または再マッピングすることによって、これらの技法は、深度マップを符号化する処理を改善することができる。その上、本明細書で説明される技法は、動き補償の効率を改善することができる。再マッピングは、補間を使用したサブペル動き補償の後で、現在のビューの深度値に対して実行され得る。
【００３５】
いくつかの例では、ビデオエンコーダ２２およびビデオデコーダ２８は、ブロック動き補償を使用する、Ｈ．２６４／ＡＶＣ規格に準拠する。ブロック動き補償（ＢＭＣ：block motion compensation）では、フレームはピクセルのブロックに区分される。各ブロックは、参照フレーム中の等しいサイズのブロックから予測され得る。ブロックは、予測されたブロックの位置へとシフトされること以外のいかなる方法でも、変換され得ない。このシフトは、動きベクトルによって表される。
【００３６】
近隣の複数のブロックベクトル（たとえば、複数のブロックによって包含される単一の動いているオブジェクトに対する）の間の冗長性を利用して、いくつかの場合には、現在の動きベクトルと以前の動きベクトルとの間の差分のみが、ビットストリームにおいてコーディングされ得る。この差分処理の結果は、パンニングが可能なグローバル動き補償と数学的に同様であり得る。エントロピーコーディングユニット（図２に示されるエントロピーコーディングユニット４６など）は、０ベクトルの周囲で得られる動きベクトルの統計的な分布を利用して、出力サイズを下げることができる。
【００３７】
ブロックは、非整数のピクセルの分だけシフトされることがあり、これはサブピクセル精度と呼ばれ得る。サブピクセルは、複数のフル整数ピクセルの間にあり、近隣のピクセルを補間することによって生成され得る。一般に、２分の１ピクセル精度または４分の１ピクセル精度が使用され得る。サブピクセル精度の計算負荷は、補間に必要な余剰の処理が原因で、フル整数ピクセル精度よりも大きいことがある。さらに、より多数の可能性のあるソースブロックが、エンコーダ側で評価される。
【００３８】
ブロック動き補償は、ブロッキングアーチファクトまたはブロッキネスアーチファクトと呼ばれる、ブロック境界における非連続性をもたらし得る。これらのブロッキングアーチファクトは、人の目によって発見され得る鮮明な水平方向または垂直方向の境界という形で現れ、残差フレームの変換コーディングのために使用されるフーリエ関連変換において、リンギング効果（高周波サブバンドにおける大きな係数）を生成する。
【００３９】
ブロック動き補償は、現在のフレームを複数の重複しないブロックへと分割し、動きベクトルは、これらのブロックに対する予測された値を取り出すための情報を提供する。参照のために使用されるブロックは、参照フレーム（ソースフレームとも呼ばれる）において重複し得るので、必ずしも参照フレーム内のブロック境界において発生する必要はない。何らかのビデオ圧縮アルゴリズムが、いくつかの異なる以前送信されたフレームの断片から現在のフレームを組み立てる。
【００４０】
フレームはまた、未来のフレーム、すなわち、コーディングされている現在のフレームよりも時間的に後に表示されるフレームから予測され得る（しかし、これらの後で表示されるフレームは、現在のフレームより前にコーディングされ、したがって、これらのフレームのデータはビットストリーム自体より早く提供される）。未来のフレームは、予測されるフレームよりも前に符号化され得る。したがって、符号化順序は、現実のフレーム順序と必ずしも一致しない。そのようなフレームは通常、２つの方向、すなわち、予測されるフレームのすぐ前または後ろのＩフレームもしくはＰフレームから、予測される。これらの双方向に予測されるフレームは、Ｂフレームと呼ばれる。たとえば、コーディング方式は、ＩＢＢＰＢＢＰＢＢＰＢＢであり得る。
【００４１】
パラメータセットは、（シーケンスパラメータセット−ＳＰＳ中の）シーケンスレベルヘッダ情報と、（ピクチャパラメータセット−ＰＰＳ中の）まれに変化するピクチャレベルヘッダ情報とを含み得る。パラメータセットがある場合、このまれに変化する情報はシーケンスごとまたはピクチャごとに繰り返される必要がなく、したがってコーディング効率が改善される。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避する。帯域外送信では、他のＮＡＬユニットとは異なるチャネル上で、パラメータセットＮＡＬユニットが送信され得る。
【００４２】
ここでも、図１の示されるシステム１０は一例にすぎない。本開示の様々な技法は、ブロックベースの予測符号化をサポートする任意の符号化デバイスによって、またはブロックベースの予測復号をサポートする任意の復号デバイスによって実行され得る。ソースデバイス１２および宛先デバイス１６は、ソースデバイス１２が宛先デバイス１６に送信するためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。場合によっては、デバイス１２および１６は、デバイス１２および１６の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のための、ビデオデバイス１２とビデオデバイス１６との間の一方向または双方向のビデオ送信をサポートし得る。
【００４３】
ソースデバイス１２のビデオソース２０は、ビデオカメラ、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードのような、１つまたは複数のビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース２０は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、あるいは、ライブビデオ、アーカイブされたビデオ、および／またはコンピュータで生成されたビデオの組合せを生成し得る。場合によっては、ビデオソース２０がビデオカメラである場合、ソースデバイス１２および宛先デバイス１６は、いわゆるカメラ付き電話またはビデオ電話、あるいは、タブレットコンピューティングデバイスなど、ビデオデータを操作するように構成された他のモバイルデバイスを形成し得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ２２によって符号化され得る。ビデオソース２０は、ビューをキャプチャし、それを深度処理ユニット２１に与える。いくつかの例では、深度処理ユニット２１は、ビデオエンコーダ２２の一部である。
【００４４】
深度画像は、ビデオソース２０によってキャプチャされるビューから、ビュー中のオブジェクトに対して決定され得る。深度処理ユニット２１は、ビュー中のオブジェクトの深度値を自動的に計算するように構成され得る。たとえば、深度処理ユニット２１は、ルミナンス情報に基づいて、オブジェクトの深度値を計算することができる。深度処理ユニット２１はまた、ビュー中の深度値に対する深度範囲を決定することができる。深度範囲は、最小の（たとえば、最も近い）現実世界の深度値から最大の（たとえば、最も遠い）現実世界の深度値という範囲に対応し得る。本明細書で使用される場合、深度値はｄと示され、深度範囲はｚnear〜ｚfarと示される。
【００４５】
いくつかの例では、深度処理ユニット２１は、ユーザから深度情報を受信するように構成される。いくつかの例では、ビデオソース２０は、異なる視点におけるシーンの２つのビューをキャプチャし、次いで、２つのビュー中のオブジェクトの間の視差に基づいて、シーン中のオブジェクトに対する深度情報を計算する。様々な例では、ビデオソース２０は、標準的な２次元カメラ、シーンの立体ビューを提供する２カメラシステム、シーンの複数のビューをキャプチャするカメラアレイ、または１つのビューと深度情報とをキャプチャするカメラを備える。
【００４６】
深度処理ユニット２１は、テクスチャビュー成分と深度ビュー成分とをビデオエンコーダ２２に渡す。深度処理ユニット２１はまた、ビューをビデオエンコーダ２２に渡し得る。深度ビュー成分は、ビューの深度マップ画像からのものであり得る。深度マップは、表示されるべきエリア（たとえば、ブロック、スライス、またはフレーム）に関連するピクセルの各領域の深度値のマップを備え得る。ピクセルの領域は、単一のピクセル、または１つまたは複数のピクセルのグループであり得る。深度マップのいくつかの例は、ピクセルごとに１つの深度成分を有する。サブピクセル精度を有する他の例では、複数の深度成分が、ピクセルごとに存在する。深度マップは、たとえば、他の以前にコーディングされた深度データに対するイントラ予測またはインター予測を使用して、テクスチャデータと実質的に同様の方式でコーディングされ得る。
【００４７】
いくつかの例では、深度マップは推定される。２つ以上のビューが利用可能な場合、深度マップを推定するためにステレオマッチングが使用され得る。しかしながら、２Ｄから３Ｄへの変換では、深度を推定することはより難しくなり得る。とはいえ、様々な方法によって推定された深度マップが、深度画像ベースレンダリング（ＤＩＢＲ）に基づく３Ｄレンダリングのために使用され得る。
【００４８】
ビデオソース２０はシーンの複数のビューを与え得るが、深度処理ユニット２１は、複数のビューに基づいて深度情報を計算することができ、ソースデバイス１２は一般に、１つのビューとシーンの各ビューについての深度情報とを送信することができる。
【００４９】
ビューがデジタル静止ピクチャであるとき、ビデオエンコーダ２２は、たとえば、Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＪＰＥＧ）画像としてビューを符号化するように構成され得る。ビューがビデオデータのフレームであるとき、ビデオエンコーダ２２は、たとえば、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）、国際標準化機構（ＩＳＯ）／国際電気標準会議（ＩＥＣ）ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、国際電気通信連合（ＩＴＵ）Ｈ．２６１、ＩＴＵ−Ｔ  Ｈ．２６２、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｈ．２６４  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、（Ｈ．２６５とも呼ばれる）来たるＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格、または他のビデオ符号化規格のような、ビデオコーディング規格に従って、第１のビューを符号化するように構成され得る。ビデオエンコーダ２２は、符号化された画像とともに深度ビュー成分を含めて、１つまたは複数のコーディングされたブロックを形成することができる。ビデオエンコーダ２２は、１つまたは複数のコーディングされたブロックを送信機２４に渡す。コーディングされたブロックは、コーディングされたブロックとともにシグナリング情報を含むビットストリームにおいて、受信機２６へ転送され得る。
【００５０】
符号化されたビデオ情報は、テクスチャビュー成分と深度ビュー成分とを含み得る。テクスチャ成分は、ビデオ情報のルミナンス（ルーマ）成分とクロミナンス（クロマ）成分とを含み得る。ルーマ成分は一般に輝度を表し、クロミナンス成分は一般に色の色相を表す。深度処理ユニット２１は、キャプチャされたビューの深度マップから深度情報を抽出し得る。ビデオエンコーダ２２は、テクスチャビュー成分と深度ビュー成分とを、符号化されたビデオデータの単一のコーディングされたブロックへと符号化することができる。同様に、ビデオエンコーダ２２は、ルーマ成分のための動きまたはイントラ予測モードの情報がクロマ成分および深度成分に対して再使用されるように、ブロックを符号化することができる。ビデオエンコーダ２２は、現在のビューの深度範囲と参照ビューの深度範囲との差に対して、現在のビューの深度値を再マッピングすることができる。
【００５１】
コーディングされたブロックは、たとえば、符号分割多元接続（ＣＤＭＡ）または別の通信規格などの通信規格に従ってモデム２３によって変調され、送信機２４および通信チャネル１５を介して宛先デバイス１６に送信され得る。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。送信機２４は、増幅器と、フィルタと、１つまたは複数のアンテナとを含む、データを送信するために設計された回路を含み得る。いくつかの例では、通信チャネル上で送信するのではなく、ソースデバイス１２は、デジタルビデオディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク、フラッシュドライブなどの記憶媒体上に、テクスチャ成分と深度成分とを有するブロックを含む、符号化されたビデオデータを記憶する。
【００５２】
宛先デバイス１６の受信機２６は通信チャネル１５を介して情報を受信し、モデム２７はその情報を復調する。送信機２４と同様に、受信機２６は、増幅器と、フィルタと、１つまたは複数のアンテナとを含む、データを受信するために設計された回路を含み得る。いくつかの例では、送信機２４および／または受信機２６は、受信回路と送信回路の両方を含む単一の送受信機コンポーネント内に組み込まれ得る。モデム２７は、信号復調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。いくつかの例では、モデム２３および２７は、変調と復調の両方を実行するためのコンポーネントを含み得る。
【００５３】
また、ビデオエンコーダ２２によって実行されるビデオ符号化処理は、動き推定と動き補償とを含み得るインター予測符号化中、およびイントラ予測符号化中に、本明細書で説明される技法のうちの１つまたは複数を実装し得る。ビデオデコーダ２８によって実行されるビデオ復号処理もまた、復号処理の動き補償段階中にそのような技法を実行し得る。
【００５４】
「コーダ」という用語は、本明細書では、ビデオ符号化またはビデオ復号を実行する専用のコンピュータデバイスまたは装置を指すために使用される。「コーダ」という用語は一般に、任意のビデオエンコーダ、ビデオデコーダ、または複合エンコーダ／デコーダ（コーデック）を指す。「コーディング」という用語は、符号化または復号を指す。「コーディングされたブロック」、「コーディングされたブロックユニット」または「コーディングされたユニット」という用語は、フレーム全体、フレームのスライス、ビデオデータのブロック、または使用されるコーディング技法に従って定義される別の単独で復号可能なユニットなど、ビデオフレームの単独で復号可能な任意のユニットを指し得る。
【００５５】
ディスプレイデバイス３０は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、種々の１つまたは複数のディスプレイデバイスのいずれかを備え得る。いくつかの例では、ディスプレイデバイス３０は、３次元再生が可能なデバイスに対応する。たとえば、ディスプレイデバイス３０は、閲覧者によって着用される眼鏡類とともに使用される立体視ディスプレイを備え得る。眼鏡類は、能動的な眼鏡を備えてよく、その場合、ディスプレイデバイス３０は、能動的な眼鏡のレンズの交互のシャッタリングと同期して、異なるビューの画像を高速に入れ替える。あるいは、眼鏡類は、受動的な眼鏡を備えてよく、その場合、ディスプレイデバイス３０は、異なるビューからの画像を同時に表示し、受動的な眼鏡は、異なるビュー間でフィルタリングするために概ね直交方向に偏光された偏光レンズを含み得る。
【００５６】
図１の例では、通信チャネル１５は、高周波（ＲＦ）スペクトルまたは１つまたは複数の物理的伝送線路など、ワイヤレスまたは有線の任意の通信媒体、あるいはワイヤレスおよび有線の媒体の任意の組合せを備え得る。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１５は一般に、ビデオデータをソースデバイス１２から宛先デバイス１６に送信するのに適切な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１５は、ソースデバイス１２から宛先デバイス１６への通信を支援するのに有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００５７】
ビデオエンコーダ２２およびビデオデコーダ２８は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）として説明されるＩＴＵ−Ｔ  Ｈ．２６４規格のような、ビデオ圧縮規格に従って動作し得る。ビデオエンコーダ２２およびビデオデコーダ２８によって使用され得るＩＴＵ  Ｈ．２６４／ＡＶＣ規格に基づく追加のビデオ圧縮規格には、ＩＴＵ  Ｈ．２６４／ＡＶＣ規格のスケーラブルな拡張であるスケーラブルビデオコーディング（ＳＶＣ）規格がある。ビデオエンコーダ２２およびビデオデコーダ２８がそれに従って動作し得る別の規格には、ＩＴＵ  Ｈ．２６４／ＡＶＣ規格のマルチビュー拡張であるマルチビュービデオコーディング（ＭＶＣ）規格がある。しかしながら、本開示の技法は、いかなる特定のビデオコーディング規格にも限定されない。
【００５８】
いくつかの態様では、ビデオエンコーダ２２およびビデオデコーダ２８は、それぞれオーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００５９】
ビデオエンコーダ２２およびビデオデコーダ２８は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。本開示の技法のうちのいずれかまたはすべてがソフトウェアで実装されるとき、実装するデバイスは、ソフトウェアのための命令を記憶および／または実行するためのハードウェア、たとえば、命令を記憶するためのメモリおよび命令を実行するための１つまたは複数の処理ユニットをさらに含み得る。ビデオエンコーダ２２およびビデオデコーダ２８の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれかは、符号化機能と復号機能とを与える複合コーデックの一部として、それぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
【００６０】
Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。この来たる規格はＨ．２６５とも呼ばれる。この規格化の取り組みは、ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ（ＨＭ）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供する。ＨＥＶＣは、本明細書で説明されるように、スライスヘッダ情報技法をサポートするように拡張され得る。
【００６１】
ＨＭでは、ビデオデータのブロックをコーディングユニット（ＣＵ）と呼ぶ。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットである、最大コーディングユニット（ＬＣＵ：largest coding unit）を定義し得る。一般に、ＣＵは、ＣＵがサイズの差異を有さないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。ＨＭ規格によれば、コーディングされるブロックはＣＵであり得る。したがって、ＣＵは、サブＣＵに分割され得る。一般に、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニット（ＬＣＵ）またはＬＣＵのサブＣＵを指し得る。ＬＣＵはサブＣＵに分割されてよく、各サブＣＵはサブＣＵに分割されてよい。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ）も定義し得る。本開示ではまた、ＣＵ、予測ユニット（ＰＵ）、または変換ユニット（ＴＵ）のいずれかを指すために「ブロック」という用語を使用する。
【００６２】
ＬＣＵは、４分木データ構造と関連付けられ得る。一般に、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義されてよく、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００６３】
分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。一般に、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを表すデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を表し得る。動きベクトルはまた、テクスチャビュー成分と深度ビュー成分とについて異なる解像度を有するものとして扱われ得る。（１つまたは複数の）ＰＵを定義するＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを表し得る。区分モードは、ＣＵがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。
【００６４】
１つまたは複数のＰＵを有するＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。ＰＵを使用した予測の後に、ビデオエンコーダ２２は、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値は、変換され、走査され、量子化され得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００６５】
上で述べられたように、イントラ予測は、あるピクチャの現在のＣＵのＰＵを、同じピクチャの以前コーディングされたＣＵから予測することを含む。より具体的には、ビデオエンコーダ２２は、特定のイントラ予測モードを使用して、あるピクチャの現在のＣＵをイントラ予測し得る。ＨＭエンコーダは、最高で３３個のイントラ予測モードで構成され得る。したがって、方向性イントラ予測モードと方向性変換との間の１対１のマッピングをサポートするために、ＨＭエンコーダおよびデコーダは、サポートされる各変換サイズについて６６個の行列を記憶する必要があろう。さらに、すべての３３個のイントラ予測モードがサポートされるブロックサイズは、比較的大きなブロック、たとえば、３２×３２ピクセル、６４×６４ピクセル、またはより一層大きなピクセルであり得る。
【００６６】
宛先デバイス１６において、ビデオデコーダ２８が、符号化されたビデオデータを受信する。ビデオデコーダ２８は、量子化された係数を得るために、ＣＡＶＬＣまたはＣＡＢＡＣのようなエントロピーコーディング方法に従って、コーディングされたブロックのような、受信されたビデオデータをエントロピー復号する。ビデオデコーダ２８は、逆量子化（inverse quantization）（逆量子化（de-quantization））機能と逆変換機能とを適用して、ピクセル領域中で残差ブロックを復元する。ビデオデコーダ２８はまた、符号化されたビデオデータ中に含まれる（たとえば、コーディングモード、動きベクトル、フィルタ係数を定義するシンタックスなどの）制御情報またはシンタックス情報に基づいて、予測ブロックを生成する。ビデオデコーダ２８は、予測ブロックと復元された残差ブロックとの和を計算して、表示のための復元されたビデオブロックを生成し得る。ビデオデコーダ２８によって実行される例示的な復号処理の追加の詳細が、図５に関して以下で説明される。
【００６７】
本明細書で説明されるように、Ｙはルミナンスを表すことができ、ＣｂおよびＣｒは３次元ＹＣｂＣｒ色空間のクロミナンスの２つの異なる値（たとえば、青および赤の色相）を表すことができ、ｄは深度情報を表すことができる。いくつかの例では、各ピクセル位置は、３次元色空間に対する３つのピクセル値と、ピクセル位置の深度に対する１つのピクセル値とを実際に定義し得る。他の例では、クロマ成分あたり、異なる数のルーマ成分が存在し得る。たとえば、クロマ成分あたり、４つのルーマ成分が存在し得る。加えて、深度成分とテクスチャ成分とは、異なる解像度を有し得る。そのような例では、テクスチャビュー成分（たとえば、ルーマ成分）と深度ビュー成分との間には、１対１の関係はないことがある。さらに、深度値は、異なるビューの間で、深度範囲が異なっていてよい。しかしながら、本開示の技法は、簡単のために１次元に関する予測に言及し得る。技法が１次元のピクセル値に関して説明される限り、同様の技法が他の次元に拡張され得る。具体的には、本開示の一態様によれば、ビデオエンコーダ２２および／またはビデオデコーダ２８は、ピクセルのブロックを取得することができ、ピクセルのブロックは、テクスチャビュー成分と深度ビュー成分とを含む。
【００６８】
いくつかの例では、ビデオエンコーダ２２およびビデオデコーダ２８は、動き補償中に１つまたは複数の補間フィルタリング技法を使用し得る。すなわち、ビデオエンコーダ２２および／またはビデオデコーダ２８は、フル整数ピクセル位置のセットを備えるフィルタサポートに補間フィルタを適用し得る。
【００６９】
宛先デバイス１６のビデオデコーダ２８は、テクスチャビュー成分に関連するシンタックス要素を含む追加の情報とともに、符号化されたビデオビットストリームの一部として、１つまたは複数のコーディングされたブロックを受信し得る。ビデオデコーダ２８は、コーディングされたブロックおよびシンタックス要素に基づいて、３Ｄ再生のためにビデオデータをレンダリングすることができる。シンタックス要素は、スライスヘッダにおいてシグナリングされ得る。深度ビュー成分のいくつかのシンタックス要素が、シグナリングされ得る。現在の深度スライスを復号するために再マッピングが必要であるかどうかを示すフラグが、スライスレベルにおいて含まれ得る。別の例では、各参照ビューまたはピクチャのスライスヘッダにおいて、動き補償がその特定の参照ビューまたはピクチャからのものである場合、再マッピングが必要かどうかを示す異なるフラグが含まれ得る。他の例では、シンタックス要素は、スライスレベル（たとえば、スライスヘッダ中）に加えて、シーケンスレベルにおいて（たとえば、シーケンスパラメータセット（ＳＰＳ）データ構造中で）、ピクチャレベルにおいて（たとえば、ピクチャパラメータセット（ＰＰＳ）データ構造もしくはフレームヘッダ中で）、またはブロックレベルにおいて（たとえば、ブロックヘッダ中で）、シグナリングされ得る。
【００７０】
図２は、図１のビデオエンコーダ２２のある例をさらに詳しく示すブロック図である。ビデオエンコーダ２２は、様々な深さ範囲で動き深度マップを符号化し得る。ビデオエンコーダ２２は、本明細書では「コーダ」と呼ばれる、専用のビデオコンピュータデバイスまたは装置の一例である。図２に示されるように、ビデオエンコーダ２２は、ソースデバイス１２のビデオエンコーダ２２に対応する。しかしながら、他の例では、ビデオエンコーダ２２は、異なるデバイスに対応し得る。さらなる例では、（たとえば、他のエンコーダ／デコーダ（コーデック）などの）他のユニットも、ビデオエンコーダ２２によって実行されるものと同様の技法を実行することができる。本明細書で説明されるように、ユニットまたはモジュールは機能を表すために与えられ、別々のハードウェアユニットであってもなくてもよく、別々のソフトウェア機能であってもなくてもよく、またさらに別々の処理であってもなくてもよい。
【００７１】
ビデオエンコーダ２２は、ビデオフレーム内のブロックのイントラコーディングとインターコーディングを実行し得るが、説明を簡単にするために、イントラコーディングコンポーネントは図２に示されていない。イントラコーディングは、空間的予測を利用して、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去する。インターコーディングは、時間的予測を利用して、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去する。イントラモード（Ｉモード）は、空間ベースの圧縮モードを指し得る。予測（Ｐモード）または双方向（Ｂモード）などのインターモードは、時間ベースの圧縮モードを指し得る。本開示の技法は、インターコーディング中およびイントラコーディング中に適用される。しかしながら、説明を簡単かつ容易にするために、空間的予測ユニットなどのイントラコーディングユニットは、図２に示されていない。
【００７２】
図２に示されるように、ビデオエンコーダ２２は、符号化されるべきビデオフレーム内のビデオブロックを受信する。たとえば、ビデオエンコーダ２２は、テクスチャビュー成分と深度ビュー成分とを受信し得る。図２の例では、ビデオエンコーダ２２は、動き推定ユニット（ＭＥＵ）３５と、動き補償ユニット（ＭＣＵ）３７と、１つまたは複数の補間フィルタ３９とを含む、予測処理ユニット３２を含む。ビデオエンコーダ２２はさらに、マルチビュービデオプラス深度（ＭＶＤ）ユニット３３と、メモリ３４と、第１の加算器４８と、変換処理ユニット３８と、量子化ユニット４０と、深度値再マッピング（再マップ）ユニット４１と、エントロピーコーディングユニット４６とを含む。ビデオブロック復元のために、ビデオエンコーダ２２はまた、逆量子化ユニット４２と、逆変換処理ユニット４４と、第２の加算器５１と、デブロッキングユニット４３とを含む。ビデオエンコーダ２２はまた、参照フレームバッファのような、データを記憶するために使用されるメモリ３４を含む。
【００７３】
デブロッキングユニット４３は、復元されたビデオからブロッキネスアーチファクトを除去するためにブロック境界をフィルタリングする、デブロッキングフィルタであり得る。ビデオエンコーダ２２中に含まれる場合、デブロッキングユニット４３は通常、第２の加算器５１の出力をフィルタリングする。デブロッキングユニット４３は、１つまたは複数のテクスチャ成分に対するデブロッキング情報を決定し得る。デブロッキングユニット４３はまた、深度マップ成分に対するデブロッキング情報を決定し得る。いくつかの例では、１つまたは複数のテクスチャ成分に対するデブロッキング情報は、深度マップ成分に対するデブロッキング情報とは異なり得る。
【００７４】
マルチビュービデオプラス深度（ＭＶＤ）ユニット３３は、テクスチャ成分と深度情報とを備える１つまたは複数のビデオブロック（図２において「ビデオブロック」と標識された）を受信する。ＭＶＤユニット３３は、ブロックユニット中の深度成分を符号化するための機能をビデオエンコーダ２２に与える。ＭＶＤユニット３３は、予測処理ユニット３２が深度情報を処理することを可能にするフォーマットで、テクスチャビュー成分と深度ビュー成分とを、組み合わせて、または別々に、予測処理ユニット３２に与え得る。ＭＶＤユニット３３は、各深度ビュー成分またはフレームの深度値に対する、現実世界の深度範囲を決定することができる。他の例では、ビデオエンコーダ２２の各ユニット、たとえば、予測処理ユニット３２、変換処理ユニット３８、量子化ユニット４０、エントロピーコーディングユニット４６などが、テクスチャビュー成分に加えて深度情報を処理するための機能を備える。
【００７５】
一般に、動き補償ユニット３７が、あるブロックの深度成分の予測される値を計算するとき、そのブロックのルミナンス成分のために計算された動きベクトルを再使用するように構成され得るという点で、ビデオエンコーダ２２は、クロミナンス情報と同様の方式で深度情報を符号化し得る。同様に、ビデオエンコーダ２２のイントラ予測ユニットは、イントラ予測を使用して深度成分を符号化するとき、ルミナンス成分のために選択されたイントラ予測モードを使用する（すなわち、ルミナンス成分の分析に基づいて）ように構成され得る。
【００７６】
予測処理ユニット３２は、動き推定（ＭＥ）ユニット３５と動き補償（ＭＣ）ユニット３７とを含み得る。予測処理ユニット３２は、ピクセル位置の深度情報を、テクスチャ成分とともに予測し得る。（本明細書では「フィルタ３９」と呼ばれる）１つまたは複数の補間フィルタ３９は、予測処理ユニット３２中に含められてよく、動き推定および／または動き補償の一部として補間を実行するために、ＭＥユニット３５とＭＣユニット３７の一方または両方によって起動されてよい。補間フィルタ３９は、実際は、多数の様々なタイプの補間および補間タイプフィルタリングを支援するための、複数の様々なフィルタを表し得る。したがって、予測処理ユニット３２は複数の補間または補間様フィルタを含み得る。
【００７７】
符号化処理中に、ビデオエンコーダ２２は、（図２では「ビデオブロック」と標識された）コーディングされるべきビデオブロックを受信し、予測処理ユニット３２は、インター予測コーディングを実行して（図２では「予測ブロック」と標識された）予測ブロックを生成する。予測ブロックは、テクスチャビュー成分と深度ビュー情報の両方を含み得る。具体的には、ＭＥユニット３５は、動き推定を実行してメモリ３４中の予測ブロックを識別することができ、ＭＣユニット３７は、動き補償を実行して予測ブロックを生成することができる。
【００７８】
動き推定は通常、ビデオブロックの動きを推定する、動きベクトルを生成する処理と考えられる。動きベクトルは、たとえば、現在のフレーム（または、他のコーディングされたユニット）内のコーディングされるべきブロックに対する、予測フレームまたは参照フレーム（または、他のコーディングされたユニット、たとえばスライス）内の予測ブロックの変位を示し得る。動きベクトルは、フル整数ピクセル精度またはサブ整数ピクセル精度を有し得る。たとえば、動きベクトルの水平成分と垂直成分の両方が、それぞれのフル整数成分とサブ整数成分とを有し得る。参照フレーム（または参照フレームの部分）は、時間的に、現在のビデオブロックが属するビデオフレーム（またはビデオフレームの部分）より前にまたは後に位置し得る。動き補償は通常、メモリ３４から予測ブロックをフェッチまたは生成する処理と考えられ、動き推定によって決定された動きベクトルに基づいて、予測データを補間し、または場合によっては生成することを含み得る。
【００７９】
ＭＥユニット３５は、コーディングされるべきビデオブロックを１つまたは複数の参照フレーム（たとえば、前のフレームおよび／または後続のフレーム）の参照ブロックと比較することによって、そのビデオブロックのための少なくとも１つの動きベクトルを計算する。参照フレームのためのデータは、メモリ３４に記憶され得る。ＭＥユニット３５は、分数ピクセル、分数ペル、サブ整数、またはサブピクセル動き推定と呼ばれることがある分数ピクセル精度を用いて、動き推定を実行し得る。分数ピクセル動き推定では、ＭＥユニット３５は、整数ピクセル位置以外の位置に対する変位を示す動きベクトルを計算し得る。したがって、動きベクトルは、分数ピクセル精度、たとえば、１／２ピクセル精度、１／４ピクセル精度、１／８ピクセル精度、または他の分数ピクセル精度を有し得る。このようにして、分数ピクセル動き推定により、予測処理ユニット３２は、整数ピクセル（または、フルピクセル）位置よりも高い精度を用いて動きを推定することが可能になり、したがって、予測処理ユニット３２は、より正確な予測ブロックを生成し得る。分数ピクセル動き推定は、予測処理ユニット３２が、第１の解像度で深度情報を予測し、第２の解像度でテクスチャ成分を予測することを可能にし得る。たとえば、テクスチャ成分はフルピクセル精度で予測されるが、深度情報は２分の１ピクセル精度で予測され得る。他の例では、動きベクトルの他の解像度が、深度情報およびテクスチャ成分に対して使用され得る。
【００８０】
ＭＥユニット３５は、動き推定処理中に任意の必要な補間のために、（１つまたは複数の）フィルタ３９を起動することができる。いくつかの例では、メモリ３４は、サブ整数ピクセルのための補間された値を記憶することができ、この補間された値は、たとえば、（１つまたは複数の）フィルタ３９を使用して第２の加算器５１によって計算され得る。たとえば、第２の加算器５１は、（１つまたは複数の）フィルタ３９を、メモリ３４に記憶されるべき復元されたブロックに適用し得る。
【００８１】
深度値再マッピング（「再マップ」）ユニット４１のような、ビデオエンコーダ２２は、現在の深度ビュー成分の第１の現実世界の深度範囲と参照ビュー成分の第２の現実世界の深度範囲との差に基づいて、現在の深度ビュー成分の再マッピングを実行することができる。再マップユニット４１は、参照ビュー成分を備える第１の深度ビュー成分に対する、第１の現実世界の深度範囲を決定することができる。再マップユニット４１はまた、たとえば、現在のビュー成分が参照ビュー成分に対して予測される場合、現在のビュー成分を備える第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定することができる。参照ビュー成分から、現在のビュー成分のある部分の予測ブロックが決定され得る。第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値が調整され得る。この値は、関数に基づいて調整され得る。現在のビューの上記部分は、予測ブロックの調整された値に基づいてコーディングされ得る。
【００８２】
一例では、可能性のある関数を含む参照テーブルが、メモリ３４に記憶され得る。再マップユニット４１は、参照テーブルを調べて、各深度ビュー成分または参照ビュー成分に対する関数を選択することができる。一例では、参照テーブルは、８バイトの深度マップに対して２５６個の値を含む。参照テーブルを確認することによって、線形関数が計算され得る。関数は、予測されるブロックの深度範囲値に適用され得る。
【００８３】
予測処理ユニット３２が予測ブロックを生成するまたは予測ブロックを再マッピングすると、ビデオエンコーダ２２は、コーディングされている元のビデオブロックから予測ブロックを減算することによって、（図２で「残差ブロック」と標識された）残差ビデオブロックを形成する。この減算は、元のビデオブロック中のテクスチャ成分と予測ブロック中のテクスチャ成分との間で、ならびに元のビデオブロック中の深度情報に対して、または予測ブロック中の深度情報からの深度マップに対して行われ得る。第１の加算器４８は、この減算演算を実行する１つまたは複数のコンポーネントを表す。
【００８４】
変換処理ユニット３８は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換処理ユニット３８は、ＨＥＶＣによって定義されたＣＵのＴＵとは対照的に、変換をビデオデータのブロックの残差係数に適用するビデオエンコーダ２２のコンポーネントを表すことを理解されたい。すなわち、図２に示される例では、変換処理ユニット３８は、ＨＥＶＣに関する「ＴＵ」ではなく、機能ブロックであり得る。
【００８５】
変換処理ユニット３８は、たとえば、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義される変換などの他の変換を実行することができる。そのような変換には、たとえば、方向性変換（カルーネンレーベ（Karhunen-Loeve）定理変換など）、ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換が含まれ得る。いずれの場合も、変換処理ユニット３８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換処理ユニット３８は、同じタイプの変換を、対応する残差ブロック中の、テクスチャ成分と深度情報との両方に適用し得る。各テクスチャ成分および深度成分に対して、別々の残差ブロックがあることになり得る。変換は、残差情報をピクセル領域から周波数領域に変換し得る。
【００８６】
量子化ユニット４０は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化処理は、係数の一部またはすべてに関連するビット深度を低減することができる。量子化ユニット４０は、深度画像コーディング残余を量子化することができる。量子化の後、エントロピーコーディングユニット４６が、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット４６は、ＣＡＶＬＣ、ＣＡＢＡＣ、または別のエントロピーコーディング方法を実行することができる。
【００８７】
エントロピーコーディングユニット４６はまた、予測処理ユニット３２、または量子化ユニット４０などのビデオエンコーダ２２の他のコンポーネントから取得された、１つまたは複数の動きベクトルとサポート情報とをコーディングし得る。１つまたは複数の予測シンタックス要素は、コーディングモード、１つまたは複数の動きベクトルについてのデータ（たとえば、水平および垂直成分、参照リスト識別子、リストインデックス、ならびに／あるいは動きベクトル解像度シグナリング情報）、使用された補間技法の指示、フィルタ係数のセット、ルーマ成分の解像度に対する深度画像の相対解像度の指示、深度画像コーディング残余の量子化行列、深度画像のためのデブロッキング情報、または予測ブロックの生成に関連する他の情報を含み得る。これらの予測シンタックス要素は、シーケンスレベルにおいてまたはピクチャレベルにおいて与えられ得る。
【００８８】
１つまたは複数のシンタックス要素はまた、ルーマ成分と深度成分との間の量子化パラメータ（ＱＰ）差分を含み得る。ＱＰ差分は、スライスレベルにおいてシグナリングされてよい。また、深度ビュー成分のコーティングされたブロックのパターン、深度ビュー成分のデルタＱＰ、動きベクトル差分、または予測ブロックの生成に関連する他の情報を含む、他のシンタックス要素が、コーディングされたブロックユニットのレベルでシグナリングされ得る。動きベクトル差分は、目標動きベクトルとテクスチャ成分の動きベクトルとの間のデルタ値として、または、目標動きベクトル（すなわち、コーディングされているブロックの動きベクトル）とブロック（たとえば、ＣＵのＰＵ）のための隣接する動きベクトルからの予測子との間のデルタ値として、シグナリングされ得る。エントロピーコーディングユニット４６によるエントロピーコーディングの後、符号化されたビデオおよびシンタックス要素は、別のデバイスに送信されてよく、あるいは、後で送信するかまたは取り出すために（たとえば、メモリ３４中に）アーカイブされてよい。
【００８９】
逆量子化ユニット４２および逆変換処理ユニット４４は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを復元する。復元された残差ブロック（図２で「復元された残差ブロック」と標識された）は、変換処理ユニット３８に提供される残差ブロックの復元されたバージョンを表し得る。復元された残差ブロックは、量子化演算および逆量子化演算によって生じた細部の損失により、第１の加算器４８によって生成された残差ブロックとは異なり得る。第２の加算器５１は、復元された残差ブロックを、予測処理ユニット３２によって生成された動き補償された予測ブロックに加算して、メモリ３４に記憶するための復元されたビデオブロックを生成する。復元されたビデオブロックは、後続のビデオフレームまたは後続のコーディングされたユニット中のブロックユニットをその後コーディングするために使用され得る参照ブロックとして、予測処理ユニット３２によって使用され得る。
【００９０】
このようにして、ビデオエンコーダ２２は、参照ビュー成分を備える第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定し、参照ビュー成分に対して予測される現在のビュー成分を備える第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定し、参照ビュー成分から、現在のビュー成分のある部分の予測ブロックを決定し、第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整し、予測ブロックの調整された値に基づいて、現在のビューの上記部分を処理するように構成される、ビデオエンコーダの例を表す。
【００９１】
図３は、マルチビュービデオコーディングのためのＭＶＣ予測構造の一例の図である。ＭＶＣ予測構造は、各ビュー内のピクチャ間予測とビュー間予測の両方を含む。図３Ｂでは、予測は矢印によって示され、ここで矢印の終点のオブジェクトは、予測の基準のために矢印の始点のオブジェクトを使用する。テクスチャと深度マップの両方が、ビュー間予測されることが可能であり得る。図３のＭＶＣ予測構造は、時間順の（time-first）復号順序構成とともに使用され得る。時間順の復号順序では、各アクセスユニットは、１つの出力時間インスタンスに対するすべてのビューのコーディングされたピクチャを含むように定義され得る。アクセスユニットの復号順序は、出力または表示順序と同一ではないこともある。
【００９２】
ＭＶＣでは、ビュー間予測は視差動き補償によってサポートされ得、視差動き補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして置かれることを可能にする。２つのビューのコーディングも、ＭＶＣによってサポートされ得る。ＭＶＣエンコーダは、３Ｄビデオ入力として３つ以上のビューをとらえることができ、ＭＶＣデコーダは、マルチビューの表現を復号することができる。ＭＶＣデコーダを有するレンダラは、複数のビューを伴う３Ｄビデオコンテンツを復号することができる。
【００９３】
ＭＶＣでは、同じアクセスユニット中の（すなわち、同じ時間インスタンスを伴う）ピクチャはビュー間予測され得る。ベースのないビューの１つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンスを伴う場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測の参照ピクチャは、任意のインター予測の参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
【００９４】
ＭＶＣでは、別のビュー中のビュー成分がインター予測の参照であるかのように、ビュー間予測が実現され得る。可能性のあるビュー間の参照は、シーケンスパラメータセット（ＳＰＳ）のＭＶＣ拡張においてシグナリングされ得る。可能性のあるビュー間の参照は、参照ピクチャリスト構築処理によって修正されてよく、これによって、インター予測またはビュー間予測の参照の順序を柔軟にできる。
【００９５】
ビットストリームは、たとえば、図１のソースデバイス１２と宛先デバイス１６との間で、マルチビュービデオプラス深度ブロックユニットとシンタックス要素とを転送するために使用され得る。ビットストリームは、コーディング規格ＩＴＵ  Ｈ．２６４／ＡＶＣに準拠することができ、特に、マルチビュービデオコーディング（ＭＶＣ）ビットストリーム構造に従う。すなわち、いくつかの例では、ビットストリームは、Ｈ．２６４／ＡＶＣのＭＶＣ拡張に準拠し得る。他の例では、ビットストリームは、ＨＥＶＣのマルチビュー拡張または別の規格のマルチビュー拡張に準拠し得る。さらに他の例では、他のコーディング規格が使用され得る。
【００９６】
典型的なＭＶＣビットストリーム順序（復号順序）構成は、時間順コーディングである。各アクセスユニットは、１つの出力時間インスタンスのためのすべてのビューのコーディングされたピクチャを含むように定義される。アクセスユニットの復号順序は、出力または表示順序と同じであることも同じでないこともある。一般に、ＭＶＣ予測は、各ビュー内のピクチャ間予測とビュー間予測の両方を含み得る。ＭＶＣでは、ビュー間予測は視差動き補償によってサポートされてよく、視差動き補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする。
【００９７】
２つのビューのコーディングがＭＶＣによってサポートされる。ＭＶＣの利点の１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとらえることができ、また、ＭＶＣデコーダが２つのビューをマルチビュー表現へと復号することができることである。したがって、ＭＶＣデコーダをもつレンダラは、３Ｄビデオコンテンツを、複数のビューを有するものとして扱い得る。以前は、ＭＶＣは、ＳＥＩメッセージ（ステレオ情報または空間インターリービングピクチャ）を用いるＨ．２６４／ＡＶＣと同様に、深度マップ入力を処理しなかった。
【００９８】
Ｈ．２６４／ＡＶＣ規格では、Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ（ＮＡＬ）ユニットは、ビデオ電話、ストレージ、またはストリーミングビデオなどの用途に対処する「ネットワークフレンドリーな」ビデオ表現を与えるように定義される。ＮＡＬユニットは、Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとに分類され得る。ＶＣＬユニットは、コア圧縮エンジンを含んでよく、ブロックレベルと、マクロブロック（ＭＢ）レベルと、スライスレベルとを備え得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットである。
【００９９】
２Ｄビデオ符号化の場合、各ＮＡＬユニットは、１バイトのＮＡＬユニットヘッダと可変サイズのペイロードとを含み得る。ＮＡＬユニットタイプを指定するために、５ビットが使用され得る。ＮＡＬユニットが他のピクチャ（ＮＡＬユニット）によって参照されることに関してどのくらい重要かを示す、ｎａｌ＿ｒｅｆ＿ｉｄｃのために３ビットが使用され得る。たとえば、ｎａｌ＿ｒｅｆ＿ｉｄｃを０に等しく設定することは、ＮＡＬユニットがインター予測のために使用されないことを意味する。Ｈ．２６４／ＡＶＣが、スケーラブルビデオコーディング（ＳＶＣ）規格のような、３Ｄビデオ符号化を含むように拡張され得るとき、ＮＡＬヘッダは２Ｄの状況のＮＡＬヘッダと同様であり得る。
【０１００】
ＮＡＬユニットヘッダは、ＭＶＣ  ＮＡＬユニットのためにも使用され得る。しかしながら、ＭＶＣでは、ＮＡＬユニットヘッダ構造は、前置ＮＡＬユニットおよびＭＶＣコーデッドスライスＮＡＬユニットを除いて保持され得る。ＭＶＣコーデッドスライスＮＡＬユニットは、４バイトヘッダと、図１のコーディングされたブロック８などのブロックユニットを含み得るＮＡＬユニットペイロードとを備え得る。ＭＶＣ  ＮＡＬユニットヘッダ中のシンタックス要素は、ｐｒｉｏｒｉｔｙ＿ｉｄと、ｔｅｍｐｏｒａｌ＿ｉｄと、ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇと、ｖｉｅｗ＿ｉｄと、ｎｏｎ＿ｉｄｒ＿ｆｌａｇと、ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇとを含み得る。他の例では、他のシンタックス要素がＭＶＣ  ＮＡＬユニットヘッダ中に含まれ得る。
【０１０１】
シンタックス要素ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇは、ピクチャがアンカーピクチャであるのか非アンカーピクチャであるのかを示し得る。アンカーピクチャと出力順序（すなわち、表示順序）でそれに続くすべてのピクチャとは、復号順序（すなわち、ビットストリーム順序）で前のピクチャを復号することなく正しく復号されることが可能であり、したがってランダムアクセスポイントとして使用され得る。アンカーピクチャと非アンカーピクチャとは異なる依存性を有してよく、その両方がシーケンスパラメータセット中でシグナリングされ得る。
【０１０２】
ＭＶＣにおいて定義されているビットストリーム構造は、ｖｉｅｗ＿ｉｄおよびｔｅｍｐｏｒａｌ＿ｉｄという２つのシンタックス要素によって特徴づけられ得る。シンタックス要素ｖｉｅｗ＿ｉｄは各ビューの識別子を示し得る。ＮＡＬユニットヘッダ中のこの識別子は、デコーダにおけるＮＡＬユニットの容易な識別と、表示のための復号されたビューの高速アクセスとを可能にする。シンタックス要素ｔｅｍｐｏｒａｌ＿ｉｄは、時間スケーラビリティ階層を示し、またはフレームレートを間接的に示し得る。たとえば、より小さい最大ｔｅｍｐｏｒａｌ＿ｉｄ値をもつＮＡＬユニットを含む動作点は、より大きい最大ｔｅｍｐｏｒａｌ＿ｉｄ値をもつ動作点よりも低いフレームレートを有し得る。より高いｔｅｍｐｏｒａｌ＿ｉｄ値をもつコーディングされたピクチャは通常、ビュー内のより低いｔｅｍｐｏｒａｌ＿ｉｄ値をもつコーディングされたピクチャに依存するが、より高いｔｅｍｐｏｒａｌ＿ｉｄをもついずれのコーディングされたピクチャにも依存しないことがある。
【０１０３】
ＮＡＬユニットヘッダ中のシンタックス要素ｖｉｅｗ＿ｉｄおよびｔｅｍｐｏｒａｌ＿ｉｄは、ビットストリーム抽出と適応の両方のために使用され得る。シンタックス要素ｐｒｉｏｒｉｔｙ＿ｉｄは、単純な一経路ビットストリーム適応処理のために主に使用され得る。シンタックス要素ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇは、このＮＡＬユニットが、異なるビュー中の別のＮＡＬユニットをビュー間予測するために使用されるかどうかを示し得る。
【０１０４】
ＭＶＣはまた、シーケンスパラメータセット（ＳＰＳ）を利用し、ＳＰＳ  ＭＶＣ拡張を含み得る。パラメータセットは、Ｈ．２６４／ＡＶＣではシグナリングのために使用される。パラメータセットは、シーケンスパラメータセット中のシーケンスレベルヘッダ情報と、ピクチャパラメータセット（ＰＰＳ）中のまれに変化するピクチャレベルヘッダ情報とを含み得る。パラメータセットがある場合、このまれに変化する情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善される。さらに、パラメータセットの使用は、ヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避する。帯域外送信のいくつかの例では、パラメータセットＮＡＬユニットは、他のＮＡＬユニットとは異なるチャネル上で送信され得る。ＭＶＣでは、ビュー依存性は、ＳＰＳ  ＭＶＣ拡張においてシグナリングされ得る。すべてのビュー間予測は、ＳＰＳ  ＭＶＣ拡張によって規定された範囲内で行われ得る。
【０１０５】
いくつかの従来の３Ｄビデオ符号化技法では、たとえばＹＣｂＣｒ色空間中の色成分が、１つまたは複数のＮＡＬユニット中でコーディングされ、一方深度画像が、１つまたは複数の別個のＮＡＬユニット中でコーディングされるように、コンテンツがコーディングされる。しかしながら、いずれの単一のＮＡＬユニットもアクセスユニットのテクスチャおよび深度画像のコーディングされたサンプルを含まない場合、いくつかの問題が起こり得る。たとえば、３Ｄビデオデコーダでは、各フレームのテクスチャと深度画像の両方を復号した後、深度マップおよびテクスチャに基づくビューレンダリングが、仮想ビューを生成するためにアクティブにされることが予想される。深度画像のＮＡＬユニットおよびアクセスユニットのテクスチャのＮＡＬユニットが順番にコーディングされる場合、ビューレンダリングは、アクセスユニット全体が復号されるまで開始できない。このことは、３Ｄビデオがレンダリングされるのにかかる時間の増大につながり得る。
【０１０６】
本明細書で説明されるように、技法は、３Ｄビデオをサポートするために、ＭＶＣなどの既存の規格に追加され得る。マルチビュービデオプラス深度（ＭＶＤ）が、３Ｄビデオ処理のためにＭＶＣに追加され得る。３Ｄビデオ符号化技法は、たとえば、ビュー角度をスムーズに変更するため、あるいは、デバイスの仕様またはユーザ選好に基づいて収束または深度知覚を後方または前方に調整するために、既存のビデオ規格により多くの柔軟性と拡張性とを与え得る。また、コーディング規格は、３Ｄビデオ中の仮想ビューの生成のために深度マップを利用するように拡張され得る。
【０１０７】
図４は、本明細書で説明される方法で符号化されたビデオシーケンスを復号し得る、ビデオデコーダ２８のある例を示すブロック図である。ビデオデコーダ２８は、本明細書では「コーダ」と呼ばれる専用のビデオコンピュータデバイスまたは装置の一例である。図３に示されるように、ビデオデコーダ２８は、宛先デバイス１６のビデオデコーダ２８に対応する。しかしながら、他の例では、ビデオデコーダ２８は、異なるデバイスに対応し得る。さらなる例では、（たとえば、他のエンコーダ／デコーダ（コーデック）などの）他のユニットも、ビデオデコーダ２８と同様の技法を実行することができる。
【０１０８】
ビデオデコーダ２８は、量子化された係数と予測シンタックス要素とを生成するために、受信されたビットストリームをエントロピー復号するエントロピー復号ユニット５２を含む。ビットストリームは、３Ｄビデオをレンダリングするために使用され得る、テクスチャ成分と対応する深度成分とを有するコーディングされたブロックを含み得る。ビットストリームはまた、シンタックス要素を含み得る。予測シンタックス要素は、コーディングモード、１つまたは複数の動きベクトル、使用された補間技法を識別する情報、補間フィルタリング中に使用するための係数、および／または、予測ブロックの生成に関連する他の情報を含み得る。
【０１０９】
予測シンタックス要素、たとえば動きベクトルデータは、予測処理ユニット５５に転送される。予測処理ユニット５５は、動きベクトルデータを使用して、テクスチャ成分または深度成分に対する予測されたブロックを生成することができる。予測処理ユニット５５は、テクスチャ成分に対する予測されたブロックを直接加算器６４に与えることができ、一方予測処理ユニット５５は、深度成分に対する予測されたブロックを再マップユニット６３に与えることができる。再マップユニット６３は、参照フレーム（またはスライス）に対する現実世界の深度範囲と現在のフレーム（またはスライス）に対する現実世界の深度範囲の差を求め、それに従って、たとえば、参照テーブルを使用して、または、深度マップの予測された値を調整するための本開示で説明されるような他の技法を使用して、深度成分に対する予測された値の中の値を調整することができる。このようにして、再マップユニット６３は、参照フレームまたはスライスの第１の現実世界の深度範囲と、コーディングされている現在のフレームまたはスライスの第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整するためのユニットの例を備える。
【０１１０】
予測処理ユニット５５は、ビデオエンコーダ２２の予測処理ユニット３２に関して上で詳しく説明されたのとほとんど同じ方法で、メモリ６２に記憶された予測シンタックス要素と１つまたは複数の以前に復号されたブロックとに基づいて、予測データを生成し得る。特に、予測処理ユニット５５は、動き補償中に本開示のマルチビュービデオプラス深度技法のうちの１つまたは複数を実行して、深度成分とともにテクスチャ成分を組み込む予測ブロックを生成し得る。予測ブロック（ならびにコーディングされたブロック）は、深度成分とテクスチャ成分とでは異なる解像度を有し得る。たとえば、深度成分は１／４ピクセル精度を有し得るが、テクスチャ成分はフル整数ピクセル精度を有する。したがって、本開示の技法の１つまたは複数は、予測ブロックを生成する際に、ビデオデコーダ２８によって使用され得る。予測処理ユニット５５は、本開示の補間および補間様フィルタリング技法のために使用されるフィルタを備える動き補償ユニットを含み得る。動き補償コンポーネントは、説明を簡単かつ容易にするために図４に示されない。これらのフィルタは、予測処理ユニット３２（図２）の補間フィルタ３９と実質的に一致し得る。
【０１１１】
逆量子化ユニット５６は、量子化された係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化処理は、Ｈ．２６４復号のために、またはいずれかの他の復号規格のために定義された処理であり得る。逆変換処理ユニット５８は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば逆ＤＣＴまたは概念的に同様の逆変換処理を適用する。加算器６４は、残差ブロックを、予測処理ユニット５５によって生成された対応する予測ブロックと加算して、ビデオエンコーダ２２によって符号化された元のブロックの復元されたバージョンを形成する。必要に応じて、ブロッキネスアーチファクトを除去するために、デブロッキングフィルタを適用して、復号されたブロックをフィルタリングすることもできる。復号されたビデオブロックは、次いで、メモリ６２に記憶され、メモリ６２は、その後の動き補償のための参照ブロックを与え、また、（図１のデバイス２８などの）ディスプレイデバイスを駆動するために復号されたビデオを生成する。
【０１１２】
復号されたビデオは、３Ｄビデオをレンダリングするために使用され得る。３Ｄビデオは３次元仮想ビューを備え得る。すなわち、仮想ビューは、ビュー成分のテクスチャ成分と深度成分を使用してレンダリング（構築）され得る。ビュー成分の各ブロック中の各ピクセルに対して、水平オフセット（水平視差）を決定するために、深度情報が使用され得る。また、オクルージョン処理が、仮想ビューを生成するために実行され得る。ビデオデコーダ２８は、仮想ビューのレンダリングのために、復号されたテクスチャ情報と深度情報とを、外部ユニットに与えることができる。
【０１１３】
このようにして、ビデオデコーダ２８は、参照ビュー成分を備える第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定し、参照ビュー成分に対して予測される現在のビュー成分を備える第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定し、参照ビュー成分から、現在のビュー成分のある部分の予測ブロックを決定し、第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて、予測ブロックの値を調整し、予測ブロックの調整された値に基づいて、現在のビューの上記部分を処理するように構成される、ビデオデコーダの例を表す。
【０１１４】
図５は、本開示と一致するビデオコーダの例示的な動作を示す流れ図である。ビデオエンコーダまたはビデオデコーダは、図５の例示的な方法を実行することができる。ビデオエンコーダ２２などのビデオコーダは、参照ビュー成分を備える第１の深度ビュー成分に対する、第１の現実世界の深度範囲を決定する（１０２）。ビデオコーダは、参照ビュー成分に対して予測される現在のビュー成分を備える第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定する（１０４）。現実世界の深度範囲は、深度カメラによって直接捕捉されてよく、コンテンツがコンピュータグラフィックスの３Ｄモデルから生成される場合は計算されてよく、または、視差推定のような技法から推定されてよい。
【０１１５】
ビデオコーダは、参照ビュー成分から、現在のビュー成分のある部分の予測ブロックを決定することができる（１０６）。予測ブロックは、Ｈ．２６４／ＡＶＣ、ＨＥＶＣ、または他のビデオコーディング規格において説明される、予測ブロックを決定するための技法に基づいて、決定され得る。
【０１１６】
予測ブロックが決定されると、参照ビューの深度ビュー成分の現実世界の深度範囲が現在のビューの深度ビュー成分の現実世界の深度範囲とは異なる場合、予測ブロックの深度値は調整される必要があり得る。参照ビューの深度ビュー成分の現実世界の深度範囲が、現在のビューの深度ビュー成分の現実世界の深度範囲と比較されて、それらが異なるかどうか決定することができる。いくつかの例では、これらの現実世界の深度範囲が異なる場合、ビデオコーダは、第１の現実世界の深度範囲と第２の現実世界の深度範囲の差に基づいて、予測ブロックの値を調整する（１０８）。
【０１１７】
現在のビューは、調整された予測ブロックの値を使用してコーディングされ得る。ビデオコーダは、予測ブロックの調整された値に基づいて、現在のビューの上記部分を予測する（１１０）。
【０１１８】
ビデオコーダがビデオエンコーダである例では、予測ブロックを決定することは、予測ブロックを形成することを備え得る。現在のビューのある部分を予測することは、予測ブロックの調整された値に基づいて、現在のビューの上記部分をコーディングすることを備える。ビデオコーダがビデオデコーダである別の例では、予測ブロックを決定することは、予測ブロックを受信することを備え、現在のビューの部分を処理することは、予測ブロックの調整された値に基づいて現在のビューの部分を復号することを備える。
【０１１９】
予測ブロックの値が調整されたかどうかを示すフラグが、予測ブロックのヘッダ、たとえばスライスヘッダにおいて与えられ得る。ヘッダは、コーディングされたビデオブロックのシンタックス要素を提供する、ビットストリーム中のデータであり得る。たとえば、エントロピーコーディングユニット４６（図２）がそのようなフラグを提供することができ、エントロピー復号ユニット５２（図４）がフラグの値の意味を解釈することができる。予測ブロックの値が参照ビュー成分から決定した参照ビュー成分のある部分が調整されたかどうかを示すフラグも、ヘッダ情報において与えられ得る。第１の現実世界の深度範囲と第２の現実世界の深度範囲との差に基づいて予測ブロックの値を調整することは、ある関数を予測ブロックの値に適用することを含み得る。関数は線形関数であり得る。いくつかの例では、関数は、予測ブロックの深度値をスケーリングすることと、スケーリングされた深度値にオフセットを加算することとを含む。スケーリングおよびオフセットは、第１の深度範囲および第２の深度範囲に関連し得る。たとえば、スケーリングおよびオフセットの量は、第１の深度範囲値または第２の深度範囲値に基づき得る。関数は、８バイトの深度マップに対する値を備える、参照テーブルに基づいて計算され得る。
【０１２０】
深度マップシーケンスは、Ｈ．２６４／ＡＶＣまたはＨＥＶＣのような既存のコーディング規格を使用した、通常のビデオシーケンスとして使用され得る。３ＤＶコンテンツでは、深度マップシーケンスは、テクスチャビデオシーケンスと関連付けられ得る。深度マップ画像は通常、画像とともに、量子化された現実世界のｚ値を含み得る。たとえば、深度マップ画像は、たとえば以下のような特定の式に従って、８ビットへと量子化され得る。
【数１】
0006026534.tif 000002
【０１２１】
ここで、ｄは、０〜２５５の範囲の量子化された深度値であり、ｚは、ｚnear〜ｚfarの範囲の現実世界の値である。
【０１２２】
ｚnear〜ｚfarは変化し得るので、現実世界の深度値から８ビットの深度値への量子化は、フレームごと、またビューごとに変化し得る。したがって、現在のフレームおよびその参照フレーム中の同じ深度値は、異なる現実世界の深度値に対応することがある。現在のフレームおよび対応する参照フレーム中の同じ深度値が異なる現実世界の深度値に当てはまる場合、動き補償の効率は下がり得る。さらに、現在のビューフレームおよびビュー間参照フレーム中の同じ深度値が、異なる現実世界の深度値に対応することがあるので、ビュー間予測は効率的ではないことがある。
【０１２３】
再マッピングが、ピクセルごとに適用され得る。他の例では、深度値の再マッピングが、ピクセルのグループに適用され得る。
【０１２４】
フレームレベルにおいて現実世界の深度範囲の変動がある場合、本明細書で説明される技法が適用され得る。深度値再マッピング復号処理が、動き補償の後に設けられ得る。ピクセル値の再マッピングが、補間技法を使用して実行されたサブペル動き補償の後で行われ得るように、再マッピングは線形関数であると仮定され得る。再マッピングは、同じダイナミックレンジに量子化されるが異なる照明範囲に由来する複数のピクチャ間の、ビュー間深度予測および任意のテクスチャ予測を含む、任意の形式のテクスチャ予測へと一般化され得る。いくつかの例では、関数は、各ビデオブロックまたはフレームの他の部分に対して別々に決定されるが、他の例では、単一の関数がフレーム全体を再マッピングするために適用され得る。
【０１２５】
いくつかの例では、現在の深度ビューに適用すべき関数がマッピングデータベースまたは参照テーブルを確認することによって計算され得るように、参照テーブルが導入され得る。一例では、マッピングデータベースは、８バイトの深度マップに対して２５６個の値を備え、ビデオエンコーダとビデオデコーダのいずれかまたは両方によってアクセス可能であり得る。マッピングデータベースの参照テーブルは、ビデオエンコーダ２２のメモリ３４のようにビデオコーダの内部に、またはビデオコーダによってアクセス可能な外部ストレージに記憶され得る。
【０１２６】
従来のビデオコーディングプラットフォームと比較して、深度値再マッピング処理が、本明細書で説明される技法に従って提案される。動き補償されたブロックの各ピクセルは、動き補償されたブロックの各ピクセルに対する共通の関数に従うことによって、新たな値へとマッピングされ得る。この技法は、動き補償に基づく任意のコーデックに適用可能であり得るので、Ｈ．２６４／ＡＶＣおよびＨＥＶＣのための可能な拡張に適用可能である。
【０１２７】
線形の再マッピング関数を決定するために、深度ｚのピクセルは、深度範囲
【数２】
0006026534.tif 000003
【０１２８】
を伴う参照ピクチャに中のｄへとマッピングされ、現在のピクチャは、
【数３】
0006026534.tif 000004
【０１２９】
の深度範囲を有する。より正確な予測のために、ｄ値はｄ1へとマッピングされる必要があり、式（１）は以下のようになる。
【数４】
0006026534.tif 000005
【０１３０】
深度範囲を式（２）に適用すると、以下のようになる。
【数５】
0006026534.tif 000006
【０１３１】
式３を簡略化するために、以下の表示が行われ得る。
【数６】
0006026534.tif 000007
【数７】
0006026534.tif 000008
【数８】
0006026534.tif 000009
【０１３２】
ここで、ｔ＝０，１である。
【０１３３】
式４〜６を式３にマッピングすると、以下の式７を得ることができる。
【数９】
0006026534.tif 000010
【０１３４】
次のことに留意されたい。
【数１０】
0006026534.tif 000011
【０１３５】
以下の関係を定義する。
【数１１】
0006026534.tif 000012
【数１２】
0006026534.tif 000013
【０１３６】
したがって、式９および１０を式７に適用すると、式１の再マッピング関数は以下のようになる。
【数１３】
0006026534.tif 000014
【０１３７】
この例では、
【数１４】
0006026534.tif 000015
【０１３８】
かつ
【数１５】
0006026534.tif 000016
【０１３９】
であるので、再マッピング関数は線形関数である。
【０１４０】
また、以下の関係に留意されたい。
【数１６】
0006026534.tif 000017
【０１４１】
式１４は、再マッピングされた参照ピクチャに適用されるサブペル動き補償が、いくつかの例では、サブペル動き補償を最初に行い、次いで補償された信号に再マッピングを適用することと等価であり得る、ということを示す。再マッピング関数は、以下のように示され得る。
【数１７】
0006026534.tif 000018
【０１４２】
いくつかの例では、各ピクセルに対する上記の再マッピング関数を計算することは、より複雑であることがあり、所望されるより多くのコンピューティングリソースを使用し得る。あるいは、参照テーブルは、各ピクセルに対する再マッピング関数を計算する代わりに使用され得る。参照テーブルは、参照ピクチャに対応し得る。ｎ番目の参照ピクチャは、
【数１８】
0006026534.tif 000019
【０１４３】
という参照テーブルを有する。ｎ番目の参照ピクチャからの補償されたピクセルブロック（サイズＫ×Ｌ）が、Ｐｒｅ＝｛ｐｒｅi,j｝、０≦ｉ＜Ｋ、０≦ｊ＜Ｌというアレイであると仮定する。再マッピング処理は、以下のように最終的な予測アレイＦＰｒｅ＝｛ｆｐｒｅi,j｝を生成する。
【数１９】
0006026534.tif 000020
【０１４４】
参照テーブル中の値のいくつかは、２５５より小さくても大きくてもよいことに留意されたい。そのような場合、１６ビットの符号付きの整数が、値を表すために使用され得る。
【０１４５】
量子化関数を伴う他の例において、再マッピング関数は、同様に計算され得る。２つの例が与えられる。第１の例では、ｚ値はｄ値に比例する。
【数２０】
0006026534.tif 000021
【０１４６】
式１７の例では、以下の再マッピング線形関数が得られる。
【数２１】
0006026534.tif 000022
【０１４７】
第２の例では、ｚ値は、ｄ値の参照テーブルであり、これは、参照ピクチャに対するｚ0（ｄ）および現在のピクチャに対するｚ1（ｄ）として、これらの２つの関数がシグナリングされるということを意味する。したがって、この例における再マッピングは以下のようになる。
【数２２】
0006026534.tif 000023
【０１４８】
ｚ0（ｄ）とｚ1（ｄ）の両方が単調関数であるので、ｚ1の逆関数は、ｚ1（ｄ）関数を探索することによって計算され得る。たとえば、一般性を失うことなく、両方の関数は、単調減少関数であると仮定され得る。範囲［０，２５５］中にある任意の値ｄが与えられると、得られる現実世界の深度値
【数２３】
0006026534.tif 000024
【０１４９】
は、ｚ0（ｄ）に対応する参照テーブルを確認することによって決定される。たとえば、
【数２４】
0006026534.tif 000025
【０１５０】
である。
【０１５１】
再マッピングが実行されるかどうかを示すためのフラグが、コーディングされたビットストリーム中に存在し得る。フラグは、ビットストリーム中でシグナリングされてよく、再マッピングが実行されていないことを示すために第１の値に設定され、再マッピングが実行されたことを示すために第１の値とは異なる第２の値に設定され得る。再マッピングが可能かどうかを示すために、ｄｅｐｔｈ＿ｒｅｍａｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇのようなフラグが、スライスヘッダに含まれ得る。たとえば、このフラグが真である場合、再マッピングが必要であり、真ではない場合、再マッピングは必要ではない。いくつかの例では、たとえば、現在のフレームと任意の参照フレームとの間で深度範囲の変化がないので、または、深度範囲の変化が許容可能な深度範囲の差の閾値レベルを下回るので、再マッピングは必要ではない。別の例では、予測ブロックのスライスヘッダは、予測ブロックの深度範囲に基づく調整が、スライスの１つまたは複数のブロックのコーディングに対して可能であることを示し得る。スライスは、現在のビュー成分を含み得る。
【０１５２】
再マッピングが現在のピクチャに対して必要であるいくつかの例では、現在のピクチャの深度範囲と同一または同様の深度範囲を有する参照ピクチャと、同一または同様の深度範囲を有さない別の参照ピクチャとがあり得る。したがって、ｄｅｐｔｈ＿ｒｅｍａｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇが真であれば、各参照ピクチャのスライスヘッダにフラグが導入され得る。このフラグは、再マッピングが特定の参照ピクチャおよび現在のピクチャに必要かどうかを示す。
【０１５３】
図６は、深度マップの動き補償された値を調整するための、別の例示的なコーディングデバイス２００のコンポーネント間の、例示的なフローを示す概念図である。  図６の例では、コーディングデバイス２００は、コーダ制御装置２０２と、変換／スケーリング量子化ユニット２０４と、スケーリング／逆量子化ユニット２０６と、フィルタリングユニット２０８と、フレーム内予測ユニット２１０と、動き補償ユニット２１２と、深度値再マッピングユニット２１４と、動き推定ユニット２１６と、エントロピーコーディングユニット２２０とを含む。コーディングデバイス２００は、符号化デバイスまたは復号デバイスを表し得る。
【０１５４】
ビデオエンコーダ２２の対応するコンポーネントと同様に名づけられたコーディングデバイス２００のコンポーネントは、機能に関してビデオエンコーダ２２と実質的に一致し得る。この例では、コーディングデバイス２００は入力画像２２２を受信し、入力画像２２２は、対応するテクスチャ画像（たとえば、対応するテクスチャ成分）の複数の部分の深度値を表す深度マップである。深度値は一般に、クロミナンスデータを伴わずにルミナンスデータをコーディングするのと実質的に同様の方式でコーディングされ得るので、イントラ予測および／またはインター予測が、そのような深度情報をコーディングするために使用され得る。したがって、コーダ制御ユニット２０２は、入力画像２２２をコーディングするためのコーディングモード、たとえば、イントラモードまたはインターモードを決定する。
【０１５５】
一般性を失うことなく、コーダ制御ユニット２０２が入力画像２２２を符号化するためにインター予測を選択すると仮定すると、動き推定ユニット２１６は、コーディングデバイス２００のメモリ（図示せず）に記憶され得る参照画像２１８によって表される以前にコーディングされた画像の部分に対して、入力画像２２２のブロックを予測するのに使用されるべき動きベクトルを計算することができる。動き推定ユニット２１６は、計算された動きベクトルを動き補償ユニット２１２に与えることができ、動き補償ユニット２１２は、参照画像２１８を使用して、入力画像２２２のための予測されたブロックを生成することができる。入力画像２２２および参照画像２１８は、それぞれの現実世界の深度範囲を有し得る。
【０１５６】
本開示の技法によれば、動き補償ユニット２１２は、深度値再マッピングユニット２１４に予測ブロックを与えることができ、深度値再マッピングユニット２１４は、入力画像２２２および参照画像２１８のそれぞれの現実世界の深度範囲を示すものも受け取ることができる。その上、これらの技法によれば、深度値再マッピングユニット２１４は、入力画像２２２の現実世界の深度範囲と参照画像２１８の現実世界の深度範囲との差に基づいて、動き補償ユニット２１２から受け取られた予測ブロックの値を調整することができる。
【０１５７】
深度値再マッピングユニット２１４は、本開示の技法のいずれかまたはすべてを使用して、深度マップの予測されたブロックの値を調整することができる。たとえば、深度値再マッピングユニット２１４は、線形関数を実行し、または参照テーブルを参照して、予測されたブロックの値を調整することができる。いくつかの例では、深度値再マッピングユニット２１４（またはコーディングデバイス２００の別のユニット）は、スライスの現実世界の深度範囲と、スライスのブロックを予測するために使用される参照フレームまたはスライスの現実世界の深度範囲との差に基づいて、スライスの深度値が再マッピングされる必要があるかどうかを表す指示（たとえば、フラグ）を、スライスヘッダにおいて提供することができる。
【０１５８】
コーダ制御ユニット２０２がイントラ予測を選択する場合、フレーム内予測ユニット２１０は、予測されたブロックを計算することができる。イントラ予測は、同じフレームの近隣の以前コーディングされたピクセルから予測されたブロックを形成することを伴うので、予測されたブロックの現実世界の深度範囲および参照サンプルの現実世界の深度範囲は、同じ参照フレームに対応し、通常は異ならない。しかしながら、異なる深度範囲が同じフレーム（またはスライス）内で与えられる場合、これらの技法も、イントラ予測により発生する予測されたブロックの値を調整するために適用され得る。
【０１５９】
予測されたブロック（深度値再マッピングユニット２１４によって調整されている可能性がある）は、入力画像２２２からの対応する（すなわち、同じ位置にある）ブロックとともに、加算器２２６に与えられる。加算器２２６は、これらのブロックの間の差を計算して残差値を生成し、残差値は、変換／スケーリング／量子化ユニット２０４によって変換され、スケーリングされ、量子化されて、量子化された変換係数を生成する。エントロピーコーディングユニット２２０は、量子化された変換係数とともに、動きベクトルデータまたはイントラ予測モード情報および／または現在のブロックの他のシンタックスデータをエントロピー符号化することができる。同様に、スケーリング／逆量子化／逆変換ユニット２０６は、量子化された変換係数を逆量子化し、逆変換し、スケーリングして、残差データを再現することができる。加算器２２８は、再現された残差データを予測されたブロックと組み合わせて、予測されたブロックはやはり、本開示の技法に従って、深度値再マッピングユニット２１４によって調整されていてよい。フィルタリングユニット２２８は、加算器２２８の出力をフィルタリングし、フィルタリングされている可能性のある出力を、後でコーディングされるビデオデータのための参照として使用するために、参照画像２１８のような参照画像を記憶するメモリに与えることができる。
【０１６０】
１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は一般に、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１６１】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。同様に、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１６２】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、または本明細書で説明される技法の実装に適切な任意の他の構造を指し得る。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内で与えられてよく、あるいは複合コーデックに組み込まれてよい。また、本技法は、１つまたは複数の回路または論理要素中で完全に実装され得る。
【０１６３】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上で説明されたように、様々なユニットが、適切なソフトウェアおよび／またはファームウェアとともに、上で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられてよく、または相互動作可能なハードウェアユニットの集合によって与えられてよい。
【０１６４】
本開示の様々な例が説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを処理する方法であって、
参照ビュー成分に対応する第１の深度ビュー成分に対する、第１の現実世界の深度範囲を決定することと、
前記参照ビュー成分に対して予測される現在のビュー成分に対応する第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定することと、
前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定することと、
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整することと、
前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分を予測することとを備える、方法。
［Ｃ２］
予測ブロックを決定することが、前記予測ブロックを形成することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記現在のビューの前記部分を処理することが、前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分を符号化することを備える、Ｃ２に記載の方法。
［Ｃ４］
前記現在のビューの前記部分を処理することが、前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分を復号することを備える、Ｃ２に記載の方法。
［Ｃ５］
前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分を備えるスライスの１つまたは複数のブロックのコーディングに対して可能であることを示すことをさらに備える、Ｃ２に記載の方法。
［Ｃ６］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記関数を適用することが、前記予測ブロックの深度値をスケーリングすることと、前記スケーリングされた深度値にオフセットを加算することとを備える、Ｃ６に記載の方法。
［Ｃ８］
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、Ｃ７に記載の方法。
［Ｃ９］
８バイトの深度マップに対する値を備える参照テーブルに基づいて、前記関数を決定することをさらに備える、Ｃ６に記載の方法。
［Ｃ１０］
前記予測ブロックの前記値に前記関数を適用することがさらに、前記予測ブロック中の各ピクセルに前記関数を適用することを備え、前記関数が
【数２５】
0006026534.tif 000026
として与えられる、Ｃ８に記載の方法。
［Ｃ１１］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することをさらに備える、Ｃ１に記載の方法。
［Ｃ１２］
前記参照ビュー成分に対して動き補償を実行することをさらに備え、前記予測ブロックの値を調整することが、前記参照ビュー成分の前記動き補償の後で実行される、Ｃ１に記載の方法。
［Ｃ１３］
参照ビュー成分を備える第１の深度ビュー成分に対する第１の現実世界の深度範囲を決定し、前記参照ビュー成分に対して予測される現在のビュー成分を備える第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定し、前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定し、前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整し、前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分を予測するように構成されるビデオコーダを備える、ビデオデータをコーディングするためのデバイス。
［Ｃ１４］
前記ビデオコーダがビデオエンコーダであり、予測ブロックを決定することが、前記予測ブロックを形成することをさらに備え、前記現在のビューの前記部分を処理することが、前記予測ブロックの前記調整された値に基づいて前記現在のビューの前記部分を符号化することをさらに備える、Ｃ１３に記載のデバイス。
［Ｃ１５］
前記ビデオエンコーダがさらに、前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分を備えるスライスの１つまたは複数のブロックのコーディングに対して可能であることを示すように構成される、Ｃ１４に記載のデバイス。
［Ｃ１６］
前記ビデオエンコーダがさらに、前記参照ビュー成分から決定される前記予測ブロックの前記値が調整されたことを、前記参照ビュー成分のある部分に対するスライスヘッダにおいて示すように構成される、Ｃ１４に記載のデバイス。
［Ｃ１７］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することをさらに備える、Ｃ１３に記載のデバイス。
［Ｃ１８］
前記関数を適用することが、前記予測ブロックの深度値をスケーリングすることと、前記スケーリングされた深度値にオフセットを加算することとを備える、Ｃ１７に記載のデバイス。
［Ｃ１９］
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、Ｃ１８に記載のデバイス。
［Ｃ２０］
前記ビデオコーダがさらに、８バイトの深度マップの値を備える参照テーブルに基づいて前記関数を決定するように構成される、Ｃ１７に記載のデバイス。
［Ｃ２１］
前記予測ブロックの前記値に前記関数を適用することがさらに、前記予測ブロック中の各ピクセルに前記関数を適用することを備え、前記関数が
【数２６】
0006026534.tif 000027
として与えられる、Ｃ１８に記載のデバイス。
［Ｃ２２］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することをさらに備える、Ｃ１３に記載のデバイス。
［Ｃ２３］
前記ビデオコーダがさらに、前記参照ビュー成分に対して動き補償を実行するように構成され、前記予測ブロックの値を調整することが、前記参照ビュー成分の前記動き補償の後で実行される、Ｃ１３に記載のデバイス。
［Ｃ２４］
実行されると、ビデオコーディングデバイスのプロセッサに、
参照ビュー成分に対応する第１の深度ビュー成分に対する、第１の現実世界の深度範囲を決定させ、
前記参照ビュー成分に対して予測される現在のビュー成分に対応する第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定させ、
前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定させ、
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整させ、
前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分を予測させる命令を記憶した、コンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ２５］
予測ブロックを決定することが前記予測ブロックを形成することを備え、
前記現在のビューの前記部分を処理することが、前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分をコーディングすることを備える、Ｃ２４に記載のコンピュータプログラム製品。
［Ｃ２６］
前記命令がさらに、
前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分を備えるスライスの１つまたは複数のブロックのコーディングに対して可能であることを示すことを備える、Ｃ２４に記載のコンピュータプログラム製品。
［Ｃ２７］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することをさらに備える、Ｃ２４に記載のコンピュータプログラム製品。
［Ｃ２８］
前記関数を適用することが、前記予測ブロックの深度値をスケーリングすることと、前記スケーリングされた深度値にオフセットを加算することとを備える、Ｃ２７に記載のコンピュータプログラム製品。
［Ｃ２９］
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、Ｃ２８に記載のコンピュータプログラム製品。
［Ｃ３０］
前記命令がさらに、
８バイトの深度マップに対する値を備える参照テーブルに基づいて、前記関数を決定することを備える、Ｃ２７に記載のコンピュータプログラム製品。
［Ｃ３１］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することをさらに備える、Ｃ２４に記載のコンピュータプログラム製品。
［Ｃ３２］
ビデオデータを処理するためのデバイスであって、
参照ビュー成分に対応する第１の深度ビュー成分に対する、第１の現実世界の深度範囲を決定するための手段と、
前記参照ビュー成分に対して予測される現在のビュー成分に対応する第２の深度ビュー成分に対する第２の現実世界の深度範囲を決定するための手段と、
前記参照ビュー成分から、前記現在のビュー成分のある部分の予測ブロックを決定するための手段と、
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整するための手段と、
前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分を予測するための手段とを備える、デバイス。
［Ｃ３３］
予測ブロックを決定することが前記予測ブロックを形成することを備え、
前記現在のビューの前記部分を処理することが、前記予測ブロックの前記調整された値に基づいて、前記現在のビューの前記部分をコーディングすることを備える、Ｃ３２に記載のデバイス。
［Ｃ３４］
前記予測ブロックのスライスヘッダにおいて、前記予測ブロックの深度範囲に基づく調整が、前記現在のビュー成分を備えるスライスの１つまたは複数のブロックのコーディングに対して可能であることを示すための手段をさらに備える、Ｃ３３に記載のデバイス。
［Ｃ３５］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との差に基づいて、前記予測ブロックの値を調整することが、関数を前記予測ブロックの前記値に適用することをさらに備える、Ｃ３２に記載のデバイス。
［Ｃ３６］
前記関数を適用することが、前記予測ブロックの深度値をスケーリングすることと、前記スケーリングされた深度値にオフセットを加算することとを備える、Ｃ３５に記載のデバイス。
［Ｃ３７］
前記スケーリングと前記オフセットの両方が、前記第１の深度範囲および前記第２の深度範囲に関連する、Ｃ３６に記載のデバイス。
［Ｃ３８］
８バイトの深度マップに対する値を備える参照テーブルに基づいて、前記関数を決定するための手段をさらに備える、Ｃ３５に記載のデバイス。
［Ｃ３９］
前記予測ブロックの前記値に前記関数を適用することがさらに、前記予測ブロック中の各ピクセルに前記関数を適用することを備え、前記関数が
【数２７】
0006026534.tif 000028
として与えられる、Ｃ３２に記載のデバイス。
［Ｃ４０］
前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差に基づいて前記予測ブロックの前記値を調整することが、前記第１の現実世界の深度範囲と前記第２の現実世界の深度範囲との前記差が閾値レベルを超えるときに、前記予測ブロックの前記値を調整することをさらに備える、Ｃ３２に記載のデバイス。
【図１】
0006026534.tif 000047
【図２】
0006026534.tif 000048
【図４】
0006026534.tif 000049
【図５】
0006026534.tif 000050
【図３】
0006026534.tif 000051
【図６】
0006026534.tif 000052