(57)【要約】  いくつかの態様による、ビデオデータをコーディングするための装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットはビデオデータを記憶する。ビデオデータは、より低いビット深度をもつサンプルを備えるベースレイヤと、より高いビット深度をもつサンプルを備えるエンハンスメントレイヤとを含み得る。プロセッサは、ベースレイヤ中のサンプルの値に基づいてエンハンスメントレイヤ中のサンプルの値を予測する。プロセッサによって行なわれる予測は、予備予測を取得するためにベースレイヤサンプルに予備マッピングを適用することと、次いで、改良予測を取得するために予備予測に適応調整を適用することとを含む。適応調整のために使用されるパラメータはベースレイヤサンプルの値および分布に依存し得る。プロセッサはビデオデータを符号化または復号し得る。【選択図】図６
2016506684.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングするように構成された装置であって、前記装置は、
ベースレイヤとエンハンスメントレイヤとに関連付けられたビデオデータを記憶するように構成されたメモリユニットと、前記ベースレイヤが、第１のビット深度を有するベースレイヤサンプルを含む、
前記メモリユニットと通信しているプロセッサと、前記プロセッサは、
予備予測サンプルを生成するために前記ベースレイヤサンプルに関数を適用することと、
前記ベースレイヤサンプルに関連付けられた１つまたは複数のカテゴリーを決定することと、
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーの各々に対応する調整パラメータを決定することと、
前記予備予測サンプルから改良予測サンプルを決定するために、前記決定された調整パラメータの各々を使用して調整計算を行うことと、前記改良予測サンプルが、前記第１のビット深度よりも大きい第２のビット深度を有する、
を行うように構成された、
を備える、装置。
【請求項２】
前記第１のビット深度が８ビットであり、前記第２のビット深度が１０ビット、１２ビット、および１４ビットのうちの１つである、請求項１に記載の装置。
【請求項３】
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーのうちの少なくとも１つが、前記ベースレイヤサンプルの１つまたは複数のルミナンス値またはクロミナンス値から決定される、請求項１に記載の装置。
【請求項４】
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーのうちの少なくとも１つが、前記ベースレイヤサンプルの１つまたは複数のルミナンス値またはクロミナンス値と、受信したビデオデータからの少なくとも１つの他のサンプルの１つまたは複数のルミナンス値またはクロミナンス値とから決定される、請求項１に記載の装置。
【請求項５】
前記ベースレイヤサンプルが、可能なルミナンス値のスケール上のルミナンス値を表し、
可能なルミナンス値の前記スケールが複数のルミナンス帯域に分割され、
前記ベースレイヤサンプルによって表される前記ルミナンス値が前記ルミナンス帯域のうちの１つ内にあり、
前記ベースレイヤサンプルに関連付けられた前記カテゴリーのうちの１つは、前記ベースレイヤサンプルがその内にある前記ルミナンス帯域に対応する、請求項１に記載の装置。
【請求項６】
前記ベースレイヤサンプルが、可能なクロミナンス値のスケール上のクロミナンス値を表し、
可能なクロミナンス値の前記スケールが複数のクロミナンス帯域に分割され、
前記ベースレイヤサンプルによって表される前記クロミナンス値が前記クロミナンス帯域のうちの１つ内にあり、
前記ベースレイヤサンプルに関連付けられた前記カテゴリーのうちの１つは、前記ベースレイヤサンプルがその内にある前記クロミナンス帯域に対応する、請求項１に記載の装置。
【請求項７】
前記ベースレイヤサンプルに関連付けられた前記カテゴリーのうちの１つが、前記ベースレイヤサンプルと、前記ビデオデータ中の前記ベースレイヤサンプルに空間的に隣接する他のサンプルとの間の複数の比較の結果に依存する、請求項１に記載の装置。
【請求項８】
前記関数が少なくとも１つの対数演算または指数演算を備える、請求項１に記載の装置。
【請求項９】
前記関数が、左ビットシフト、または２よりも大きいかまたはそれに等しい数による乗算を備える、請求項１に記載の装置。
【請求項１０】
前記関数が、各可能なベースレイヤサンプル値を対応するエンハンスメントレイヤサンプル値にマッピングするルックアップテーブルを備える、請求項１に記載の装置。
【請求項１１】
前記予備予測サンプルが、前記第２のビット深度に等しいビット深度を有する、請求項１に記載の装置。
【請求項１２】
前記調整パラメータが、比、係数、指数、または対数の底を備える、請求項１に記載の装置。
【請求項１３】
前記調整計算が、加算、減算、乗算、除算、累乗、または対数を備える、請求項１に記載の装置。
【請求項１４】
前記プロセッサが、エンハンスメントレイヤサンプルを決定するために、前記改良予測サンプルに残差値を加算するようにさらに構成された、請求項１に記載の装置。
【請求項１５】
ビデオデータをコーディングする方法であって、前記方法は、
第１のビット深度を有するベースレイヤサンプルを備える前記ビデオデータを受信することと、
予備予測サンプルを生成するために前記ベースレイヤサンプルに関数を適用することと、
前記ベースレイヤサンプルに関連付けられた１つまたは複数のカテゴリーを決定することと、
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーの各々に対応する調整パラメータを決定することと、
前記予備予測サンプルから改良予測サンプルを決定するために、前記決定された調整パラメータの各々を使用して調整計算を行うことと、前記改良予測サンプルが、前記第１のビット深度よりも大きい第２のビット深度を有する、
を備える、方法。
【請求項１６】
前記第１のビット深度が８ビットであり、前記第２のビット深度が１０ビット、１２ビット、および１４ビットのうちの１つである、請求項１５に記載の方法。
【請求項１７】
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーのうちの少なくとも１つが、前記ベースレイヤサンプルの１つまたは複数のルミナンス値またはクロミナンス値から決定される、請求項１５に記載の方法。
【請求項１８】
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーのうちの少なくとも１つが、前記ベースレイヤサンプルの１つまたは複数のルミナンス値またはクロミナンス値と、前記受信したビデオデータからの少なくとも１つの他のサンプルの１つまたは複数のルミナンス値またはクロミナンス値とから決定される、請求項１５に記載の方法。
【請求項１９】
前記ベースレイヤサンプルが、可能なルミナンス値のスケール１ルミナンス値を表し、
可能なルミナンス値の前記スケールが複数のルミナンス帯域に分割され、
前記ベースレイヤサンプルによって表される前記ルミナンス値が前記ルミナンス帯域のうちの１つ内にあり、
前記ベースレイヤサンプルに関連付けられた前記カテゴリーのうちの１つは、前記ベースレイヤサンプルがその内にある前記ルミナンス帯域に対応する、請求項１５に記載の方法。
【請求項２０】
前記ベースレイヤサンプルが、可能なクロミナンス値のスケール上のクロミナンス値を表し、
可能なクロミナンス値の前記スケールが複数のクロミナンス帯域に分割され、
前記ベースレイヤサンプルによって表される前記クロミナンス値が前記クロミナンス帯域のうちの１つ内にあり、
前記ベースレイヤサンプルに関連付けられた前記カテゴリーのうちの１つは、前記ベースレイヤサンプルがその内にある前記クロミナンス帯域に対応する、請求項１５に記載の方法。
【請求項２１】
前記ベースレイヤサンプルに関連付けられた前記カテゴリーのうちの１つが、前記ベースレイヤサンプルと、前記ビデオデータ中の前記ベースレイヤサンプルに空間的に隣接する他のサンプルとの間の複数の比較の結果に依存する、請求項１５に記載の方法。
【請求項２２】
前記関数が少なくとも１つの対数演算または指数演算を備える、請求項１５に記載の方法。
【請求項２３】
前記関数が、左ビットシフト、または２よりも大きいかまたはそれに等しい数による乗算を備える、請求項１５に記載の方法。
【請求項２４】
前記関数が、各可能なベースレイヤサンプル値を対応するエンハンスメントレイヤサンプル値にマッピングするルックアップテーブルを備える、請求項１５に記載の方法。
【請求項２５】
前記予備予測サンプルが、前記第２のビット深度に等しいビット深度を有する、請求項１５に記載の方法。
【請求項２６】
前記調整パラメータが、比、係数、指数、または対数の底を備える、請求項１５に記載の方法。
【請求項２７】
前記調整計算が、加算、減算、乗算、除算、累乗、または対数を備える、請求項１５に記載の方法。
【請求項２８】
前記プロセッサが、エンハンスメントレイヤサンプルを決定するために、前記改良予測サンプルに残差値を加算するようにさらに構成された、請求項１５に記載の方法。
【請求項２９】
実行されたとき、
第１のビット深度を有するベースレイヤサンプルを備えるビデオデータを受信することと、
予備予測サンプルを生成するために前記ベースレイヤサンプルに関数を適用することと、
前記ベースレイヤサンプルに関連付けられた１つまたは複数のカテゴリーを決定することと、
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーの各々に対応する調整パラメータを決定することと、
前記予備予測サンプルから改良予測サンプルを決定するために、前記決定された調整パラメータの各々を使用して調整計算を行うことと、前記改良予測サンプルが、前記第１のビット深度よりも大きい第２のビット深度を有する、
を装置に行わせるコードを備える非一時的コンピュータ可読媒体。
【請求項３０】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、前記ビデオコーディングデバイスは、
第１のビット深度を有するベースレイヤサンプルを備える前記ビデオデータを受信するための手段と、
予備予測サンプルを生成するために前記ベースレイヤサンプルに関数を適用するための手段と、
前記ベースレイヤサンプルに関連付けられた１つまたは複数のカテゴリーを決定するための手段と、
前記ベースレイヤサンプルに関連付けられた前記１つまたは複数のカテゴリーの各々に対応する調整パラメータを決定するための手段と、
前記予備予測サンプルから改良予測サンプルを決定するために、前記決定された調整パラメータの各々を使用して調整計算を行うための手段と、前記改良予測サンプルが、前記第１のビット深度よりも大きい第２のビット深度を有する、
を備える、ビデオコーディングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本開示は、一般に、ビデオコーディングおよび圧縮の分野に関し、より詳細には、スケーラブルビデオコーディング（ＳＶＣ：scalable video coding）におけるレイヤ間予測（inter-layer prediction）のための技法に関する。
【背景技術】
【０００２】
[0002]  デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]  ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を行う。ブロックベースのビデオコーディングの場合、ビデオスライス（例えば、ビデオフレーム、ビデオフレームの一部分など）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測(spatial prediction)を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測(temporal prediction)を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]  空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピー符号化が適用され得る。
【０００５】
[0005]  あるブロックベースのビデオコーディングおよび圧縮はスケーラブル技法を使用し得る。スケーラブルビデオコーディング（ＳＶＣ）は、参照レイヤ（ＲＬ：reference layer）と呼ばれることがあるベースレイヤ（ＢＬ：base layer）と、１つまたは複数のスケーラブルエンハンスメントレイヤ（ＥＬ：enhancement layer）とが使用されるビデオコーディングを指す。ＳＶＣの場合、ベースレイヤは、ベースレベルの品質でビデオデータを搬送できる。１つまたは複数のエンハンスメントレイヤは、より高い空間レベル、時間レベル、および／または信号対雑音（ＳＮＲ）レベルをサポートするために追加のビデオデータを搬送できる。エンハンスメントレイヤは、前に符号化されたレイヤに対して定義され得る。例えば、最下位レイヤはＢＬとして働き得、最上位レイヤはＥＬとして働き得る。中間レイヤは、ＥＬまたはＲＬのいずれか、あるいはその両方として働き得る。例えば、中間にあるレイヤは、ベースレイヤまたは介在エンハンスメントレイヤ（intervening enhancement layer）など、それの下のレイヤのためのＥＬであり、同時に、それの上の１つまたは複数のエンハンスメントレイヤのためのＲＬとして働き得る。同様に、ＨＥＶＣ規格のマルチビューまたは３Ｄ拡張では、複数のビューがあり得、あるビューの情報が、別のビューの情報（例えば動き推定(motion estimation)、動きベクトル予測(motion vector prediction)および／または他の冗長性(redundancy)）をコーディング（例えば、符号化または復号）するために利用され得る。場合によっては、ベースレイヤは、エンハンスメントレイヤの送信よりも信頼できる方法で送信され得る。ＳＶＣのための技法はまた、ベースレイヤとエンハンスメントレイヤとの間の冗長性を低減または除去するためにレイヤ間予測(inter-layer prediction)を使用し得る。レイヤ間予測は、対応するベースレイヤブロックから予測エンハンスメントレイヤブロックを生成する。エンハンスメントレイヤブロックは、予測ブロックとコーディングされるべきブロックとの間の差分を示す残差データとともに、ベースレイヤから生成された予測ブロックを使用してコーディングされ得る。この残差データは、空間予測および時間予測に関連付けられた残差データと同様に、変換され、量子化され、エントロピー符号化され得る。
【発明の概要】
【０００６】
[0006]  高ダイナミックレンジ（ＨＤＲ：high dynamic range）シーケンスは専門生成環境において使用され、１０ビットまたはより高いコンテンツを再生できる高品質ディスプレイが利用可能である。そのようなＨＤＲコンテンツを表し、配信する１つの方法は、シングルレイヤエンコーダを用いてビットストリームを生成することである。例えば、１０ビットコンテンツは、（例えば、ハイ１０プロファイルにおいて）ＨＥＶＣまたはＨ．２６４／ＡＶＣなどのシングルレイヤエンコーダで符号化され得る。そのような場合、１０ビットディスプレイのみが、復号されたコンテンツを再生することが可能であり、レガシー８ビットディスプレイは、８ビットへの１０ビットコンテンツのダウンコンバージョンを必要とし、これは、それでも１０ビット対応デコーダを必要とする。レガシー８ビットデコーダは、１０ビットビットストリームを復号することが可能でない。この例では、８ビットディスプレイと１０ビットディスプレイの両方が同じＨＤＲビデオコンテンツへのアクセスを必要とする場合、ＨＤＲビデオコンテンツは、２つのディスプレイのために別個のビットストリーム（例えば、８ビットビットストリームおよび１０ビットビットストリーム）中でサイマルキャスト（simulcast）され得る。しかしながら、そのような手法は、２つのビットストリーム中に多くの冗長情報があり得るので、高い帯域幅要件を有する。
【０００７】
[0007]  代替的に、スケーラブルビットストリームがスケーラブルエンコーダによって生成され得る。スケーラブルデコーダは、スケーラブルビットストリームからの１０ビットビデオコンテンツを復号することが可能であり得、８ビットデコーダは、エンハンスメントレイヤ中に含まれている情報（例えば、８ビットから１０ビットに進むために使用される情報）を無視しながら、８ビットベースレイヤを復号し得る。代替的に、サーバ側またはネットワーク内に位置するビットストリーム抽出器が、例えば、スケーラブルビットストリームから８ビットベースレイヤを抽出し得る。
【０００８】
[0008]  従って、より低いビット深度（例えば、８ビット）を有するビデオコンテンツを生成するためにレガシーデコーダ（例えば、８ビット）によって復号され得るベースレイヤと、より高いビッド深度ビデオコンテンツ（例えば、１０ビット）を生成するためにスケーラブルデコーダによって復号され得る１つまたは複数のエンハンスメントレイヤとを含んでいるスケーラブルビットストリームを生成するためにＳＶＣを使用することによって、レガシーデコーダとの後方互換性が与えられ得、別個のビットストリームをサイマルキャストすることと比較して帯域幅要件が低減され得、それによってコーディング効率および性能が改善される。従って、本開示で説明する技法は、ビデオ情報をコーディングする方法に関連付けられた計算複雑さを低減し、コーディング効率を改善し、および／または全体的コーディング性能を改善し得る。
【０００９】
[0009]  本開示のシステム、方法およびデバイスは、それぞれいくつかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示する望ましい属性を単独で担当するとは限らない。
【００１０】
[0010]  本開示の一態様は、ビデオデータをコーディングするように構成された装置を提供する。本装置は、ビデオデータを記憶するように構成されたメモリユニットを備える。ビデオデータはベースレイヤとエンハンスメントレイヤとを備え得る。ベースレイヤは、あるビット深度をもつ（ピクセルとしても知られる）ビデオサンプルを備える。エンハンスメントレイヤは、ベースレイヤ中のビデオサンプルよりも高いビット深度を有するサンプルを備える。ベースレイヤ中のサンプルとエンハンスメントレイヤ中のサンプルの両方はビデオブロックにグループ化され得、ブロックの寸法は各レイヤ内でおよび異なるレイヤ間で変動し得るが、ベースレイヤ中のビデオブロックは、概して、エンハンスメントレイヤ中の１つまたは複数のビデオブロックに対応する。
【００１１】
[0011]  本装置は、メモリユニットと通信しているプロセッサをさらに備え、プロセッサは、ベースレイヤに関連付けられたビデオサンプルに基づいて、エンハンスメントレイヤのための予測ビデオサンプル(predicted video samples)を決定するように構成される。プロセッサは、最初に、予備予測（preliminary prediction）を決定するためにベースレイヤからのビデオサンプルに予備マッピング関数(preliminary mapping function)を適用することと、次いで、改良予測（refined prediction）を決定するために予備予測に適応調整（adaptive adjustment）を適用することとによって、エンハンスメントレイヤのための予測ビデオサンプルを決定し得る。プロセッサは、異なるカテゴリーのベースレイヤサンプルのために異なる適応調整を適用し得る。
【００１２】
[0012]  いくつかの実施形態では、予備マッピング関数は、例えば、ベースレイヤサンプルの対数または累乗を計算することによって、ベースレイヤサンプルを予測エンハンスメントレイヤサンプルにマッピングする非線形の数理関数にを備え得る。他の実施形態では、予備マッピング関数は、まったく使用されないことがあるか、または単にベースレイヤサンプルをエンハンスメントレイヤサンプルの予備予測として使用し得る。いくつかの実施形態では、適応調整は、改良予測を決定するために予備予測がそれによって乗算される比または係数を備え得る。追加または代替として、調整は、改良予測を決定するために予備予測に加算されるオフセットを備え得る。いくつかの実施形態では、適応調整は、個々のサンプルの強度範囲または隣接サンプルのパターンなどのカテゴリーに依存し得る。
【００１３】
[0013]  いくつかの実施形態では、ベースレイヤサンプルのビット深度は８ビットであり得、エンハンスメントレイヤサンプルのビット深度は１０ビットであり得る。ベースレイヤサンプルは、ベースレイヤサンプルおよび／またはビデオデータ中の他のサンプルの１つまたは複数のルミナンス値またはクロミナンス値に基づいて１つまたは複数のカテゴリーを割り当てられ得る。
【００１４】
[0014]  本開示の別の態様は、ビデオデータをコーディングするための方法を提供する。本方法は、ビデオデータのベースレイヤに関連付けられたサンプルに基づいてエンハンスメントレイヤのための予測サンプル(predicted samples)を決定することを備える。エンハンスメントレイヤのための予測ビデオサンプルは、最初に、予備予測を決定するためにベースレイヤからのビデオサンプルに予備マッピング関数を適用することと、次いで、改良予測を決定するために予備予測に適応調整を適用することとによって決定され得る。異なる適応調整が、異なるカテゴリーのベースレイヤサンプルのために適用され得る。
【００１５】
[0015]  本開示の別の態様は、実行されたとき、装置に、ビデオデータのベースレイヤに関連付けられたサンプルに基づいてエンハンスメントレイヤのための予測サンプルを決定させるコードを備える、非一時的コンピュータ可読媒体を提供する。装置は、最初に、予備予測を決定するためにベースレイヤからのビデオサンプルに予備マッピング関数を適用することと、次いで、改良予測を決定するために予備予測に適応調整を適用することとによって、エンハンスメントレイヤのための予測ビデオサンプルを決定するようにプログラムされ得る。装置は、異なるカテゴリーのベースレイヤサンプルのために異なる適応調整を適用するように構成され得る。
【００１６】
[0016]  本開示の別の態様は、ビデオデータをコーディングするビデオコーディングデバイスを提供する。本デバイスは、ビデオデータのベースレイヤに関連付けられたビデオサンプルに基づいてエンハンスメントレイヤのための予測ビデオサンプルを決定するための手段を含む。本デバイスは、予備予測を決定するためにベースレイヤからのビデオサンプルに予備マッピング関数を適用するための手段と、改良予測を決定するために予備予測に適応調整を適用するための手段とを含み得る。本デバイスは、異なるカテゴリーのベースレイヤサンプルのために異なる適応調整を適用し得る。
【００１７】
[0017]  開示される装置、方法、コンピュータ可読媒体、およびデバイスはまた、ベースレイヤサンプルへの適応調整の適用によって生成される予測サンプルに関連付けられた誤差またはひずみの１つまたは複数の測度を最小限に抑えるために、計算を行うことによって様々なカテゴリーのベースレイヤサンプルについて適応調整を決定するための構成要素、ステップ、モジュール、または機能を含み得る。誤差の測度は、例えば、平均誤差、平均２乗誤差、またはそのいずれかの計算効率の良い近似値を含み得る。
【００１８】
[0018]  １つまたは複数の例の詳細が添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面、並びに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１９】
【図１】本開示で説明する態様による技法を利用し得るビデオ符号化および復号システムの一例を示すブロック図である。
【図２】本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。
【図３】本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。
【図４】本開示で説明する態様による技法を利用し得る例示的なスケーラブルビデオエンコーダ(scalable video encoder)を示すブロック図である。
【図５】本開示で説明する態様による技法を利用し得るスケーラブルビデオデコーダ(scalable video decoder)の一例を示すブロック図である。
【図６】本開示の態様による、対応するベースレイヤサンプルよりも高いビット深度を有するエンハンスメントレイヤサンプルの予測を決定するための例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【００２０】
[0025]  本明細書で説明するいくつかの実施形態は、ＨＥＶＣ（高効率ビデオコーディング）など、アドバンストビデオコーデックのコンテキストにおけるスケーラブルビデオコーディングのためのレイヤ間予測に関する。より詳細には、本開示は、ＨＥＶＣのスケーラブルビデオコーディング（ＳＶＣ）拡張におけるレイヤ間予測の性能の改善のためのシステムおよび方法に関する。
【００２１】
[0026]  以下の説明では、いくつかの実施形態に関係するＨ．２６４／ＡＶＣ技法について説明し、ＨＥＶＣ規格および関係する技法についても説明する。いくつかの実施形態について、ＨＥＶＣおよび／またはＨ．２６４規格のコンテキストにおいて本明細書で説明するが、本明細書で開示するシステムおよび方法が任意の好適なビデオコーディング規格に適用可能であり得ることを、当業者は諒解されよう。例えば、本明細書で開示する実施形態は、以下の規格、すなわち、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４のうちの１つまたは複数に適用可能であり得る。
【００２２】
[0027]  ＨＥＶＣは、概して、多くの点で、前のビデオコーディング規格のフレームワークに従う。ＨＥＶＣにおける予測のユニットは、いくつかの前のビデオコーディング規格におけるユニット（例えば、マクロブロック）とは異なる。事実上、マクロブロックの概念は、いくつかの前のビデオコーディング規格において理解されているように、ＨＥＶＣ中に存在しない。マクロブロックは、考えられる利益の中でも、高いフレキシビリティを与え得る、４分木方式に基づく階層構造と置き換えられ得る。例えば、ＨＥＶＣ方式内で、コーディングユニット（ＣＵ）、予測ユニット（ＰＵ：Prediction Unit）、および変換ユニット（ＴＵ：Transform Unit）という３つのタイプのブロックが定義される。ＣＵは領域分割の基本ユニットを指すことがある。ＣＵはマクロブロックの概念に類似すると見なされ得るが、それは、最大サイズを制限せず、コンテンツ適応性を改善するために４つの等しいサイズのＣＵへの再帰的分割を可能にし得る。ＰＵはインター／イントラ予測の基本ユニットと見なされ得、それは、不規則な画像パターンを効果的にコーディングするために、単一のＰＵ中に複数の任意の形状区分を含んでいることがある。ＴＵは変換の基本ユニットと見なされ得る。それは、ＰＵとは無関係に定義され得るが、それのサイズは、ＴＵが属するＣＵに制限され得る。３つの異なる概念へのブロック構造のこの分離は、各々がそれの役割に従って最適化されることを可能にし得、それによりコーディング効率が改善され得る。
【００２３】
[0028]  単に説明の目的で、本明細書で開示するいくつかの実施形態について、ただ２つのレイヤ（例えば、ベースレイヤなどの下位レベルレイヤ、およびエンハンスメントレイヤなどの上位レベルレイヤ）を含む例を用いて説明する。そのような例は、複数のベースレイヤおよび／またはエンハンスメントレイヤを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。ただし、これらの用語は限定的なものではない。例えば、以下で説明する技法は、ブロック（例えば、ＣＵ、ＰＵ、ＴＵ、マクロブロックなど）、スライス、フレームなど、任意の好適なビデオユニットとともに使用され得る。
【００２４】
ビデオコーディング規格
[0029]  ビデオ画像、ＴＶ画像、静止画像、あるいはビデオレコーダまたはコンピュータによって生成された画像など、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮なしに、画像エンコーダから画像デコーダに搬送されるべき情報の量は、リアルタイム画像送信を不可能にするほど非常に大きい。送信されるべき情報の量を低減するために、ＪＰＥＧ、ＭＰＥＧおよびＨ．２６３規格など、いくつかの異なる圧縮方法が開発された。
【００２５】
[0030]  ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含み、その全ての全体が参照により組み込まれる。
【００２６】
[0031]  さらに、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている。
【００２７】
ＨＥＶＣの最近のドラフトは、２０１３年１１月２２日現在、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipから利用可能であり、その全体が参照により組み込まれる。ＨＥＶＣドラフト１０についての完全引用は、文書ＪＣＴＶＣ−Ｌ１００３、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２０１３年１月２３日である。
【００２８】
[0032]  添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、本発明の他の態様と組み合わせられるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。例えば、本明細書に記載の態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示する任意の態様が請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００２９】
[0033]  本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００３０】
[0034]  添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語（例えば、「第１の」、「第２の」、「第３の」など）で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
【００３１】
ビデオコーディングシステム
[0035]  図１は、本開示で説明する態様による技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
【００３２】
[0036]  図１に示されているように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は符号化ビデオデータを生成する。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（例えば、ラップトップなど）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたるデバイスを備え得る。いくつかの例では、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３３】
[0037]  宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理伝送線路など、ワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするルータ、スイッチ、基地局、または他の機器を含み得る。
【００３４】
[0038]  別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体に対応し得る。この例では、宛先デバイス１４は、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。さらなる例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオを記憶する、ファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間ストレージデバイスに記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイトなどのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続など）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００３５】
[0039]  本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信（例えば、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）など）、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３６】
[0040]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。
【００３７】
[0041]  ビデオエンコーダ２０は、キャプチャされたビデオデータ、以前にキャプチャされたビデオデータ、またはコンピュータ生成されたビデオデータを符号化するように構成され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータはまた、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上に記憶され得る。
【００３８】
[0042]  図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信する。符号化ビデオデータは、ビデオデータを表す、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。シンタックス要素は、ブロックおよび他のコード化ユニット、例えば、ピクチャグループ（ＧＯＰ：group of pictures）の特性および／または処理を記述し得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
【００３９】
[0043]  ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み得、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は復号ビデオデータをユーザに表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４０】
[0044]  ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としてはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００４１】
[0045]  図１の例には示されていないが、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ：user datagram protocol）などの他のプロトコルに準拠し得る。
【００４２】
[0046]  この場合も、図１は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（例えば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。符号化デバイスは、データを符号化し、メモリに記憶し得、および／または、復号デバイスは、メモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および／またはメモリからデータを取り出して復号するだけであるデバイスによって行われる。
【００４３】
[0047]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を行い得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００４４】
[0048]  上記で手短に述べたように、ビデオエンコーダ２０はビデオデータを符号化する。ビデオデータは１つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ２０がビデオデータを符号化するとき、ビデオエンコーダ２０はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームはコード化ピクチャと関連データとを含み得る。コード化ピクチャはピクチャのコード化表現である。
【００４５】
[0049]  ビットストリームを生成するために、ビデオエンコーダ２０は、ビデオデータ中の各ピクチャに対して符号化演算を行い得る。ビデオエンコーダ２０がピクチャに対して符号化演算を行うとき、ビデオエンコーダ２０は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、ビデオパラメータセット（ＶＰＳ：video parameter set）と、シーケンスパラメータセットと、ピクチャパラメータセットと、適応パラメータセットと、他のシンタックス構造とを含み得る。シーケンスパラメータセット（ＳＰＳ：sequence parameter set）は、ピクチャの０個以上のシーケンスに適用可能なパラメータを含んでいることがある。ピクチャパラメータセット（ＰＰＳ：picture parameter set）は、０個以上のピクチャに適用可能なパラメータを含んでいることがある。適応パラメータセット（ＡＰＳ：adaptation parameter set）は、０個以上のピクチャに適用可能なパラメータを含んでいることがある。ＡＰＳ中のパラメータは、ＰＰＳ中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００４６】
[0050]  コード化ピクチャを生成するために、ビデオエンコーダ２０は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの２次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット（ＬＣＵ：largest coding unit）と呼ばれることがある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。ビデオエンコーダ２０は、４分木区分（quadtree partitioning）を使用して、ツリーブロックのビデオブロックを、ＣＵに関連付けられたビデオブロックに区分し得、従って「ツリーブロック」という名前がある。
【００４７】
[0051]  いくつかの例では、ビデオエンコーダ２０はピクチャを複数のスライスに区分し得る。スライスの各々は整数個のＣＵを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
【００４８】
[0052]  ピクチャに対して符号化演算を行うことの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を行い得る。ビデオエンコーダ２０がスライスに対して符号化演算を行うとき、ビデオエンコーダ２０は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
【００４９】
[0053]  コード化スライスを生成するために、ビデオエンコーダ２０は、スライス中の各ツリーブロックに対して符号化演算を行い得る。ビデオエンコーダ２０がツリーブロックに対して符号化演算を行うとき、ビデオエンコーダ２０はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
【００５０】
[0054]  ビデオエンコーダ２０がコード化スライスを生成するとき、ビデオエンコーダ２０は、ラスタ走査順序に従って、スライス中のツリーブロックに対して符号化演算を行い得る（例えば、そのツリーブロックを符号化し得る）。例えば、ビデオエンコーダ２０は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む、順序で、ビデオエンコーダ２０がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００５１】
[0055]  ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。従って、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
【００５２】
[0056]  コード化ツリーブロックを生成するために、ビデオエンコーダ２０は、ツリーブロックのビデオブロックに対して４分木区分を再帰的に行って、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるＣＵに関連付けられ得る。例えば、ビデオエンコーダ２０は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分された、ＣＵであり得る。区分されていないＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分されていない、ＣＵであり得る。
【００５３】
[0057]  ビットストリーム中の１つまたは複数のシンタックス要素は、ビデオエンコーダ２０がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。ＣＵのビデオブロックは形状が正方形であり得る。ＣＵのビデオブロックのサイズ（例えば、ＣＵのサイズ）は、８×８ピクセルから、最大６４×６４以上のピクセルをもつツリーブロックのビデオブロックのサイズ（例えば、ツリーブロックのサイズ）までに及び得る。
【００５４】
[0058]  ビデオエンコーダ２０は、ｚ走査順序に従って、ツリーブロックの各ＣＵに対して符号化演算を行い得る（例えば、各ＣＵを符号化し得る）。言い換えれば、ビデオエンコーダ２０は、左上のＣＵと、右上のＣＵと、左下のＣＵと、次いで右下のＣＵとを、その順序で符号化し得る。ビデオエンコーダ２０が、区分されたＣＵに対して符号化演算を行うとき、ビデオエンコーダ２０は、ｚ走査順序に従って、区分されたＣＵのビデオブロックのサブブロックに関連付けられたＣＵを符号化し得る。言い換えれば、ビデオエンコーダ２０は、左上のサブブロックに関連付けられたＣＵと、右上のサブブロックに関連付けられたＣＵと、左下のサブブロックに関連付けられたＣＵと、次いで右下のサブブロックに関連付けられたＣＵとを、その順序で符号化し得る。
【００５５】
[0059]  ｚ走査順序に従ってツリーブロックのＣＵを符号化した結果として、所与のＣＵの上、左上、右上、左、および左下のＣＵは符号化されていることがある。所与のＣＵの下および右のＣＵはまだ符号化されていない。従って、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接するいくつかのＣＵを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する他のＣＵを符号化することによって生成された情報にアクセスすることができないことがある。
【００５６】
[0060]  ビデオエンコーダ２０が、区分されていないＣＵを符号化するとき、ビデオエンコーダ２０は、ＣＵのために１つまたは複数の予測ユニット（ＰＵ）を生成し得る。ＣＵのＰＵの各々は、ＣＵのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのための予測ビデオブロックを生成し得る。ＰＵの予測ビデオブロックはサンプルのブロックであり得る。ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵのための予測ビデオブロックを生成し得る。
【００５７】
[0061]  ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ビデオブロックを生成するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０がイントラ予測を使用してＣＵのＰＵの予測ビデオブロックを生成する場合、ＣＵはイントラ予測されたＣＵである。ビデオエンコーダ２０がインター予測を使用してＰＵの予測ビデオブロックを生成するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０がインター予測を使用してＣＵのＰＵの予測ビデオブロックを生成する場合、ＣＵはインター予測されたＣＵである。
【００５８】
[0062]  さらに、ビデオエンコーダ２０がインター予測を使用してＰＵのための予測ビデオブロックを生成するとき、ビデオエンコーダ２０はＰＵの動き情報を生成し得る。ＰＵの動き情報は、ＰＵの１つまたは複数の参照ブロックを示し得る。ＰＵの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはＰＵに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、ＰＵの参照ブロックはＰＵの「参照サンプル」と呼ばれることもある。ビデオエンコーダ２０は、ＰＵの参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。
【００５９】
[0063]  ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ビデオブロックを生成した後、ビデオエンコーダ２０は、ＣＵのＰＵのための予測ビデオブロックに基づいて、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのＰＵのための予測ビデオブロック中のサンプルと、ＣＵの元のビデオブロック中のサンプルとの間の差を示し得る。
【００６０】
[0064]  さらに、区分されていないＣＵに対して符号化演算を行うことの一部として、ビデオエンコーダ２０は、ＣＵの残差データに対して再帰的な４分木区分を行って、ＣＵの残差データを、ＣＵの変換ユニット（ＴＵ）に関連付けられた残差データの１つまたは複数のブロック（例えば、残差ビデオブロック）に区分し得る。ＣＵの各ＴＵは異なる残差ビデオブロックに関連付けられ得る。
【００６１】
[0065]  ビデオコーダ２０は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用して、ＴＵに関連付けられた変換係数ブロック（例えば、変換係数のブロック）を生成し得る。概念的に、変換係数ブロックは変換係数の２次元（２Ｄ）行列であり得る。
【００６２】
[0066]  変換係数ブロックを生成した後、ビデオエンコーダ２０は、変換係数ブロックに対して量子化プロセスを行い得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。例えば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。
【００６３】
[0067]  ビデオエンコーダ２０は、各ＣＵを量子化パラメータ（ＱＰ：quantization parameter）値に関連付け得る。ＣＵに関連付けられたＱＰ値は、ビデオエンコーダ２０が、ＣＵに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００６４】
[0068]  ビデオエンコーダ２０が変換係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ２０は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）演算などのエントロピー符号化演算を適用し得る。コンテンツ適応型可変長コーディング（ＣＡＶＬＣ：content adaptive variable length coding）、確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または他のバイナリ算術コーディングなど、他のエントロピーコーディング技法も使用され得る。
【００６５】
[0069]  ビデオエンコーダ２０によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：Network Abstraction Layer）ユニットを含み得る。ＮＡＬユニットの各々は、ＮＡＬユニット中のデータのタイプの指示と、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。例えば、ＮＡＬユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含み得る。ＮＡＬユニット中のデータは様々なシンタックス構造を含み得る。
【００６６】
[0070]  ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ２０によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ３０がビットストリームを受信するとき、ビデオデコーダ３０は、ビットストリームに対してパース演算を行い得る。ビデオデコーダ３０がパース演算を行うとき、ビデオデコーダ３０は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ３０は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ２０によって行なわれるプロセスとは逆であり得る。
【００６７】
[0071]  ビデオデコーダ３０がＣＵに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ３０は、シンタックス要素に基づいて、ＣＵのＰＵのための予測ビデオブロックを生成し得る。さらに、ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、変換係数ブロックに対して逆変換を行って、ＣＵのＴＵに関連付けられた残差ビデオブロックを再構成し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ３０は、予測ビデオブロックと残差ビデオブロックとに基づいて、ＣＵのビデオブロックを再構成し得る。このようにして、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、ＣＵのビデオブロックを再構成し得る。
【００６８】
ビデオエンコーダ
[0072]  図２は、本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ２０は、本開示の技法のいずれかまたは全てを行うるように構成され得る。一例として、予測ユニット１００は、本開示で説明する技法のいずれかまたは全てを行うように構成され得る。別の実施形態では、ビデオエンコーダ２０は、本開示で説明する技法のいずれかまたは全てを行うように構成された随意のレイヤ間予測ユニット１２８を含む。他の実施形態では、レイヤ間予測は予測ユニット１００（例えば、インター予測ユニット１２１および／またはイントラ予測ユニット１２６）によって行なわれ得、その場合、レイヤ間予測ユニット１２８は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ２０の様々な構成要素間で共有され得る。いくつかの例では、追加としてまたは代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたは全てを行うように構成され得る。図６に関して以下でさらに説明するように、ビデオエンコーダ２０の１つまたは複数の構成要素は、図６に示されている方法を行うように構成され得る。例えば、インター予測ユニット１２１（例えば、動き推定ユニット１２２および／または動き補償ユニット１２４を介して）、イントラ予測ユニット１２６、またはレイヤ間予測ユニット１２８は、一緒にまたは別々に、図６に示されている方法を行うように構成され得る。
【００６９】
[0073]  いくつかの事例では、ビデオエンコーダ２０は、図４に示されているビデオエンコーダ４００（後述）と同じであると見なされ得るが、それぞれの図においてビデオエンコーダの異なる態様が強調されている。詳細には、図１のビデオエンコーダ２０の説明は、ブロックベース符号化に関係する特徴に全般的に焦点を当てているが、図４におけるビデオエンコーダ４００の説明は、スケーラブルビデオコーディングと増加したビット深度をもつＥＬサンプルのレイヤ間予測とに関係する特徴に特に焦点を当てている。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ２０およびビデオエンコーダ４００の様々な構成要素間で共有され得る。いくつかの例では、追加としてまたは代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたは全てを行うように構成され得る。
【００７０】
[0074]  説明の目的で、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。
【００７１】
[0075]  ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを行い得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指すことがある。
【００７２】
[0076]  図２の例では、ビデオエンコーダ２０は複数の機能構成要素を含む。ビデオエンコーダ２０の機能構成要素は、予測ユニット１００と、残差生成ユニット１０２と、変換ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１３と、復号ピクチャバッファ１１４と、エントロピー符号化ユニット１１６とを含む。予測ユニット１００は、インター予測ユニット１２１と、動き推定ユニット１２２と、動き補償ユニット１２４と、イントラ予測ユニット１２６と、レイヤ間予測ユニット１２８とを含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含み得る。さらに、動き推定ユニット１２２と動き補償ユニット１２４は、高度に統合され得るが、図２の例では、説明の目的で別々に表されている。
【００７３】
[0077]  ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０は、様々なソースからビデオデータを受信し得る。例えば、ビデオエンコーダ２０は、ビデオソース１８（図１）または別のソースからビデオデータを受信し得る。ビデオデータは一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ２０は、ピクチャの各々に対して符号化演算を行い得る。ピクチャに対して符号化演算を行うことの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を行い得る。スライスに対して符号化演算を行うことの一部として、ビデオエンコーダ２０は、スライス中のツリーブロックに対して符号化演算を行い得る。
【００７４】
[0078]  ツリーブロックに対して符号化演算を行うことの一部として、予測ユニット１００は、ツリーブロックのビデオブロックに対して４分木区分を行って、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は異なるＣＵに関連付けられ得る。例えば、予測ユニット１００は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００７５】
[0079]  ＣＵに関連付けられたビデオブロックのサイズは、８×８サンプルから、最大６４×６４以上のサンプルをもつツリーブロックのサイズまでに及び得る。本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのサンプル寸法、例えば、１６×１６（16x16）サンプルまたは１６×１６（16 by 16）サンプルを指すために互換的に使用され得る。概して、１６×１６ビデオブロックは、垂直方向に１６個のサンプルを有し（ｙ＝１６）、水平方向に１６個のサンプルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のサンプルを有し、水平方向にＮ個のサンプルを有し、ここで、Ｎは非負整数値を表す。
【００７６】
[0080]  さらに、ツリーブロックに対して符号化演算を行うことの一部として、予測ユニット１００は、ツリーブロック用の階層的な４分木データ構造を生成し得る。例えば、ツリーブロックは、４分木データ構造のルートノードに対応し得る。予測ユニット１００が、ツリーブロックのビデオブロックを４つのサブブロックに区分する場合、ルートノードは、４分木データ構造中に４つの子ノードを有する。子ノードの各々は、サブブロックのうちの１つに関連付けられたＣＵに対応する。予測ユニット１００が、サブブロックのうちの１つを４つのサブサブブロックに区分する場合、サブブロックに関連付けられたＣＵに対応するノードは、サブサブブロックのうちの１つに関連付けられたＣＵに各々が対応する、４つの子ノードを有し得る。
【００７７】
[0081]  ４分木データ構造の各ノードは、対応するツリーブロックまたはＣＵのシンタックスデータ（例えば、シンタックス要素）を含み得る。例えば、４分木の中のノードは、そのノードに対応するＣＵのビデオブロックが４つのサブブロックに区分される（例えば、分割される）かどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないＣＵは、４分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロック用の４分木データ構造に基づくデータを含み得る。
【００７８】
[0082]  ビデオエンコーダ２０は、ツリーブロックの区分されていない各ＣＵに対して符号化演算を行い得る。ビデオエンコーダ２０が、区分されていないＣＵに対して符号化演算を行うとき、ビデオエンコーダ２０は、区分されていないＣＵの符号化表現を表すデータを生成する。
【００７９】
[0083]  ＣＵに対して符号化演算を行うことの一部として、予測ユニット１００は、ＣＵの１つまたは複数のＰＵの中で、ＣＵのビデオブロックを区分し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なＰＵサイズをサポートし得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、または同様の対称ＰＵサイズでのインター予測とをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。いくつかの例では、予測ユニット１００は、ＣＵのビデオブロックの辺と直角に交わらない境界に沿って、ＣＵのＰＵの間でＣＵのビデオブロックを区分するように、幾何学的な区分を行い得る。
【００８０】
[0084]  インター予測ユニット１２１は、ＣＵの各ＰＵに対してインター予測を行い得る。インター予測は時間圧縮を実現し得る。ＰＵに対してインター予測を行うために、動き推定ユニット１２２はＰＵの動き情報を生成し得る。動き補償ユニット１２４は、動き情報と、ＣＵに関連付けられたピクチャ以外のピクチャ（例えば、参照ピクチャ）の復号サンプルと基づくＰＵのための予測ビデオブロックを生成し得る。本開示では、動き補償ユニット１２４によって生成された予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
【００８１】
[0085]  スライスは、Ｉスライス、Ｐスライス、またはＢスライスであり得る。動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵがＩスライス中にあるのか、Ｐスライス中にあるのか、Ｂスライス中にあるのかに応じて、ＣＵのＰＵに対して異なる演算を行い得る。Ｉスライス中では、全てのＰＵがイントラ予測される。従って、ＰＵがＩスライス中にある場合、動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵに対してインター予測を行わない。
【００８２】
[0086]  ＰＵがＰスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」と呼ばれる参照ピクチャのリストに関連付けられる。リスト０中の参照ピクチャの各々は、他のピクチャのインター予測のために使用され得るサンプルを含んでいる。動き推定ユニット１２２が、Ｐスライス中のＰＵに関して動き推定演算を行うとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得る。ＰＵの参照ブロックは、ＰＵのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、例えば、サンプルのブロックであり得る。動き推定ユニット１２２は、様々なメトリックを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。例えば、動き推定ユニット１２２は、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。
【００８３】
[0087]  Ｐスライス中のＰＵの参照ブロックを識別した後、動き推定ユニット１２２は、参照ブロックを含んでいる、リスト０中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット１２２は動きベクトルを異なる精度に生成し得る。例えば、動き推定ユニット１２２は、１／４サンプル精度、１／８サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット１２２は、ＰＵの動き情報として参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって識別された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８４】
[0088]  ＰＵがＢスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」および「リスト１」と呼ばれる参照ピクチャの２つのリストに関連付けられ得る。いくつかの例では、Ｂスライスを含んでいるピクチャは、リスト０とリスト１の組合せである、リストの組合せに関連付けられ得る。
【００８５】
[0089]  さらに、ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵについての単方向予測または双方向予測を行い得る。動き推定ユニット１２２が、ＰＵについての単方向予測を行うとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０またはリスト１の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０またはリスト１中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト０中の参照ピクチャを示すか、リスト１中の参照ピクチャを示すかを示し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８６】
[0090]  動き推定ユニット１２２が、ＰＵについての双方向予測を行うとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得、また、ＰＵのための別の参照ブロックについて、リスト１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０およびリスト１中の参照ピクチャを示す参照インデックスと、参照ブロックとＰＵの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報としてＰＵの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８７】
[0091]  いくつかの事例では、動き推定ユニット１２２は、ＰＵの動き情報のフルセットをエントロピー符号化ユニット１１６に出力しない。そうではなく、動き推定ユニット１２２は、別のＰＵの動き情報を参照して、ＰＵの動き情報をシグナリングし得る。例えば、動き推定ユニット１２２は、ＰＵの動き情報が、隣接ＰＵの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、ＰＵが隣接ＰＵと同じ動き情報を有することをビデオデコーダ３０に示す値を示し得る。別の例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、隣接ＰＵと動きベクトル差分（ＭＶＤ）とを識別し得る。動きベクトル差分は、ＰＵの動きベクトルと、示される隣接ＰＵの動きベクトルとの間の差分を示す。ビデオデコーダ３０は、示される隣接ＰＵの動きベクトルと、動きベクトル差分とを使用して、ＰＵの動きベクトルを決定し得る。第２のＰＵの動き情報をシグナリングするときに第１のＰＵの動き情報を参照することによって、ビデオエンコーダ２０は、より少数のビットを使用して、第２のＰＵの動き情報をシグナリングすることが可能であり得る。
【００８８】
[0092]  ＣＵに対して符号化演算を行うことの一部として、イントラ予測ユニット１２６は、ＣＵのＰＵに対してイントラ予測を行い得る。イントラ予測は空間圧縮を実現し得る。イントラ予測ユニット１２６がＰＵに対してイントラ予測を行うとき、イントラ予測ユニット１２６は、同じピクチャ中の他のＰＵの復号サンプルに基づいて、ＰＵの予測データを生成し得る。ＰＵの予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を行い得る。
【００８９】
[0093]  ＰＵに対してイントラ予測を行うために、イントラ予測ユニット１２６は、複数のイントラ予測モードを使用して、ＰＵの予測データの複数のセットを生成し得る。イントラ予測ユニット１２６が、イントラ予測モードを使用してＰＵの予測データのセットを生成するとき、イントラ予測ユニット１２６は、イントラ予測モードに関連付けられた方向および／または勾配で、隣接ＰＵのビデオブロックからＰＵのビデオブロックにわたって、サンプルを延ばし得る。隣接ＰＵは、ＰＵ、ＣＵ、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測ユニット１２６は、ＰＵのサイズに応じて、様々な数のイントラ予測モード、例えば、３３個の方向性イントラ予測モードを使用し得る。
【００９０】
[0094]  予測ユニット１００は、ＰＵについての、動き補償ユニット１２４によって生成された予測データ、またはＰＵについての、イントラ予測ユニット１２６によって生成された予測データの中から、ＰＵの予測データを選択し得る。いくつかの例では、予測ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＰＵの予測データを選択する。
【００９１】
[0095]  予測ユニット１００が、イントラ予測ユニット１２６によって生成された予測データを選択する場合、予測ユニット１００は、ＰＵの予測データを生成するために使用されたイントラ予測モード、例えば、選択されたイントラ予測モードをシグナリングし得る。予測ユニット１００は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。例えば、選択されたイントラ予測モードは隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは現在ＰＵに対して最確モードであり得る。従って、予測ユニット１００は、選択されたイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示すために、シンタックス要素を生成し得る。
【００９２】
[0096]  上記で説明したように、ビデオエンコーダ２０はレイヤ間予測ユニット１２８を含み得る。レイヤ間予測ユニット１２８は、ＳＶＣにおいて利用可能である１つまたは複数の異なるレイヤ（例えば、ベースレイヤまたは参照レイヤ）を使用して現在ブロック（例えば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１２８は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ベースレイヤ中のコロケートブロックの再構成を使用してエンハンスメントレイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。
【００９３】
[0097]  予測ユニット１００がＣＵのＰＵの予測データを選択した後、残差生成ユニット１０２は、ＣＵのビデオブロックからＣＵのＰＵの予測ビデオブロックを差し引くこと（例えば、マイナス符号によって示される）によって、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのビデオブロック中のサンプルの異なるサンプル成分に対応する、２Ｄ残差ビデオブロックを含み得る。例えば、残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのルミナンス成分と、ＣＵの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、ＣＵの残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのクロミナンス成分と、ＣＵの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【００９４】
[0098]  予測ユニット１００は、４分木区分を行って、ＣＵの残差ビデオブロックをサブブロックに区分し得る。各分割されていない残差ビデオブロックは、ＣＵの異なるＴＵに関連付けられ得る。ＣＵのＴＵに関連付けられた残差ビデオブロックのサイズおよび位置は、ＣＵのＰＵに関連付けられたビデオブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【００９５】
[0099]  変換ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための１つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の２Ｄ行列であり得る。変換ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに様々な変換を適用し得る。例えば、変換ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に同様の変換を適用し得る。
【００９６】
[00100]  変換ユニット１０４が、ＴＵに関連付けられた変換係数ブロックを生成した後、量子化ユニット１０６は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット１０６は、ＣＵに関連付けられたＱＰ値に基づいて、ＣＵのＴＵに関連付けられた変換係数ブロックを量子化し得る。
【００９７】
[00101]  ビデオエンコーダ２０は、様々な方法でＱＰ値をＣＵに関連付け得る。例えば、ビデオエンコーダ２０は、ＣＵに関連付けられたツリーブロックに対してレートひずみ分析を行い得る。レートひずみ分析では、ビデオエンコーダ２０は、ツリーブロックに対して符号化演算を複数回行うことによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ２０がツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ２０は、異なるＱＰ値をＣＵに関連付け得る。ビデオエンコーダ２０は、最小のビットレートおよびひずみメトリックを有するツリーブロックのコード化表現で所与のＱＰ値がＣＵに関連付けられるとき、所与のＱＰ値がＣＵに関連付けられることをシグナリングし得る。
【００９８】
[00102]  逆量子化ユニット１０８および逆変換ユニット１１０は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ビデオブロックを再構成し得る。再構成ユニット１１２は、再構成された残差ビデオブロックを、予測ユニット１００によって生成された１つまたは複数の予測ビデオブロックからの対応するサンプルに追加して、ＴＵに関連付けられた再構成されたビデオブロックを生成し得る。このようにＣＵの各ＴＵについてビデオブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのビデオブロックを再構成し得る。
【００９９】
[00103]  再構成ユニット１１２がＣＵのビデオブロックを再構成した後、フィルタユニット１１３は、ＣＵに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するためにデブロッキング演算を行い得る。１つまたは複数のデブロッキング演算を行った後、フィルタユニット１１３は、ＣＵの再構成されたビデオブロックを復号ピクチャバッファ１１４に記憶し得る。動き推定ユニット１２２および動き補償ユニット１２４は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続のピクチャのＰＵに対してインター予測を行い得る。さらに、イントラ予測ユニット１２６は、復号ピクチャバッファ１１４中の再構成されたビデオブロックを使用して、ＣＵと同じピクチャ中の他のＰＵに対してイントラ予測を行い得る。
【０１００】
[00104]  エントロピー符号化ユニット１１６は、ビデオエンコーダ２０の他の機能構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット１１６は、量子化ユニット１０６から変換係数ブロックを受信し得、予測ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１６がデータを受信するとき、エントロピー符号化ユニット１１６は、１つまたは複数のエントロピー符号化演算を行って、エントロピー符号化データを生成し得る。例えば、ビデオエンコーダ２０は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）演算、ＣＡＢＡＣ演算、変数間（Ｖ２Ｖ：variable-to-variable）レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ）コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して行い得る。エントロピー符号化ユニット１１６は、エントロピー符号化データを含むビットストリームを出力し得る。
【０１０１】
[00105]  データに対してエントロピー符号化演算を行うことの一部として、エントロピー符号化ユニット１１６はコンテキストモデルを選択し得る。エントロピー符号化ユニット１１６がＣＡＢＡＣ演算を行っている場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。ＣＡＢＡＣのコンテキストでは、「ビン」という用語は、シンタックス要素の２値化されたバージョンのビットを指すために使用される。
【０１０２】
ビデオデコーダ
[00106]  図３は、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。ビデオデコーダ３０は、本開示の技法のいずれかまたは全てを行うように構成され得る。一例として、動き補償ユニット１６２および／またはイントラ予測ユニット１６４は、本開示で説明する技法のいずれかまたは全てを行うように構成され得る。一実施形態では、ビデオデコーダ３０は、本開示で説明する技法のいずれかまたは全てを行うように構成されたレイヤ間予測ユニット１６６を随意に含み得る。他の実施形態では、レイヤ間予測は予測ユニット１５２（例えば、動き補償ユニット１６２および／またはイントラ予測ユニット１６４）によって行われ得、その場合、レイヤ間予測ユニット１６６は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオデコーダ３０の様々な構成要素間で共有され得る。いくつかの例では、追加としてまたは代わりに、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたは全てを行うように構成され得る。図６に関して以下でさらに説明するように、ビデオデコーダ３０の１つまたは複数の構成要素は、図６に示されている方法を行うように構成され得る。例えば、動き補償ユニット１６２、イントラ予測ユニット１６４、またはレイヤ間予測ユニット１６６は、一緒にまたは別々に、図６に示されている方法を行うように構成され得る。
【０１０３】
[00107]  図３の例では、ビデオデコーダ３０は複数の機能構成要素を含む。ビデオデコーダ３０の機能構成要素は、エントロピー復号ユニット１５０と、予測ユニット１５２と、逆量子化ユニット１５４と、逆変換ユニット１５６と、再構成ユニット１５８と、フィルタユニット１５９と、復号ピクチャバッファ１６０とを含む。予測ユニット１５２は、動き補償ユニット１６２と、イントラ予測ユニット１６４と、レイヤ間予測ユニット１６６とを含む。いくつかの例では、ビデオデコーダ３０は、図２のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを行い得る。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含み得る。
【０１０４】
[00108]  ビデオデコーダ３０は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは複数のシンタックス要素を含み得る。ビデオデコーダ３０がビットストリームを受信するとき、エントロピー復号ユニット１５０は、ビットストリームに対してパース演算を行い得る。ビットストリームに対してパース演算を行った結果として、エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を抽出し得る。パース演算を行うことの一部として、エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化シンタックス要素をエントロピー復号し得る。予測ユニット１５２、逆量子化ユニット１５４、逆変換ユニット１５６、再構成ユニット１５８、およびフィルタユニット１５９は、ビットストリームから抽出されたシンタックス要素に基づいて復号ビデオデータを生成する再構成演算を行い得る。
【０１０５】
[00109]  上記で説明したように、ビットストリームは一連のＮＡＬユニットを備え得る。ビットストリームのＮＡＬユニットは、ビデオパラメータセットＮＡＬユニット、シーケンスパラメータセットＮＡＬユニット、ピクチャパラメータセットＮＡＬユニット、ＳＥＩ  ＮＡＬユニットなどを含み得る。ビットストリームに対してパース演算(parsing operations)を行うことの一部として、エントロピー復号ユニット１５０は、シーケンスパラメータセットＮＡＬユニットからのシーケンスパラメータセット、ピクチャパラメータセットＮＡＬユニットからのピクチャパラメータセット、ＳＥＩ  ＮＡＬユニットからのＳＥＩデータなどを抽出し、エントロピー復号する、パース演算を行い得る。
【０１０６】
[00110]  さらに、ビットストリームのＮＡＬユニットはコード化スライスＮＡＬユニットを含み得る。ビットストリームに対してパース演算を行うことの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからコード化スライスを抽出し、エントロピー復号する、パース演算を行い得る。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット１５０は、スライスヘッダを復元するために、コード化スライスヘッダ中のシンタックス要素に対して、ＣＡＢＡＣ復号演算などのエントロピー復号演算を行い得る。
【０１０７】
[00111]  コード化スライスのＮＡＬユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット１５０は、スライスデータ中のコード化ＣＵからシンタックス要素を抽出するパース演算を行い得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット１５０は、次いで、シンタックス要素のうちのいくつかに対してＣＡＢＡＣ復号演算を行い得る。
【０１０８】
[00112]  エントロピー復号ユニット１５０が、区分されていないＣＵに対してパース演算を行った後、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を行い得る。区分されていないＣＵに対して再構成演算を行うために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構成演算を行い得る。ＣＵの各ＴＵについて再構成演算を行うことによって、ビデオデコーダ３０は、ＣＵに関連付けられた残差ビデオブロックを再構成し得る。
【０１０９】
[00113]  ＴＵに対して再構成演算を行うことの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた変換係数ブロックを逆量子化（inverse quantize）、例えば、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、ＨＥＶＣのために提案された、またはＨ．２６４復号規格によって定義された逆量子化プロセスと同様の様式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、変換係数ブロックのＣＵのためにビデオエンコーダ２０によって計算される量子化パラメータＱＰを使用し得る。
【０１１０】
[00114]  逆量子化ユニット１５４が変換係数ブロックを逆量子化した後、逆変換ユニット１５６は、変換係数ブロックに関連付けられたＴＵのための残差ビデオブロックを生成し得る。逆変換ユニット１５６は、ＴＵのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。例えば、逆変換ユニット１５６は、変換係数ブロックに、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット１５６は、ビデオエンコーダ２０からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット１５６は、変換係数ブロックに関連付けられたツリーブロックの４分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット１５６は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性から逆変換を推論し得る。いくつかの例では、逆変換ユニット１５６はカスケード逆変換を適用し得る。
【０１１１】
[00115]  いくつかの例では、動き補償ユニット１６２は、補間フィルタに基づく補間を行うことによって、ＰＵの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償のために使用されるべき補間フィルタのための識別子が、シンタックス要素中に含まれ得る。動き補償ユニット１６２は、ＰＵの予測ビデオブロックの生成中にビデオエンコーダ２０によって使用された同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについての補間値を計算し得る。動き補償ユニット１６２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
【０１１２】
[00116]  ＰＵが、イントラ予測を使用して符号化される場合、イントラ予測ユニット１６４は、ＰＵのための予測ビデオブロックを生成するためにイントラ予測を行い得る。例えば、イントラ予測ユニット１６４は、ビットストリーム中のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。ビットストリームは、ＰＵのイントラ予測モードを決定するためにイントラ予測ユニット１６４が使用し得るシンタックス要素を含み得る。
【０１１３】
[00117]  いくつかの事例では、シンタックス要素は、イントラ予測ユニット１６４が別のＰＵのイントラ予測モードを使用して現在ＰＵのイントラ予測モードを決定するべきであることを示し得る。例えば、現在ＰＵのイントラ予測モードは隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは現在ＰＵに対して最確モードであり得る。従って、この例では、ビットストリームは、ＰＵのイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット１６４は、次いで、イントラ予測モードを使用して、空間的に隣接するＰＵのビデオブロックに基づいて、ＰＵの予測データ（例えば、予測サンプル）を生成し得る。
【０１１４】
[00118]  再構成ユニット１５８は、適用可能なとき、ＣＵのＴＵに関連付けられた残差ビデオブロックとＣＵのＰＵの予測ビデオブロックとを使用して、例えば、イントラ予測データまたはインター予測データのいずれかを使用して、ＣＵのビデオブロックを再構成し得る。従って、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
【０１１５】
[00119]  再構成ユニット１５８がＣＵのビデオブロックを再構成した後、フィルタユニット１５９は、ＣＵに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を行い得る。フィルタユニット１５９が、ＣＵに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を行った後、ビデオデコーダ３０はＣＵのビデオブロックを復号ピクチャバッファ１６０に記憶し得る。復号ピクチャバッファ１６０は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。例えば、ビデオデコーダ３０は、復号ピクチャバッファ１６０中のビデオブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を行い得る。
【０１１６】
スケーラブルビデオコーディング（ＳＶＣ）およびビット深度スケーリング
[00120]  上記で説明したように、スケーラブルビデオコーディング（ＳＶＣ）は、品質スケーラビリティ（例えば、信号対雑音比（ＳＮＲ）スケーラビリティ、空間スケーラビリティ、時間スケーラビリティ、ビット深度スケーラビリティ、色域（color gamut）スケーラビリティ、またはダイナミックレンジスケーラビリティ）を与えるために使用され得る。エンハンストレイヤは、対応するベースレイヤサンプルよりも高いビット深度を有するサンプルを備え得る。例えば、エンハンスメントレイヤ中のサンプルは１０ビットのビット深度を有し得るが、ベースレイヤ中の対応するサンプルは８ビットのビット深度を有し得る。サンプルのビット深度に追加される各追加のビットは、サンプルが表すことができる離散値の数を２倍にする。従って、１０ビットサンプルによって表され得る離散値の数は、８ビットサンプルによって表され得る離散値の数よりも４倍大きい。もちろん、ベースレイヤサンプルは８ビット以外のビット深度を有し得、エンハンスメントレイヤサンプルは１０ビット以外のビット深度を有し得る。ルミナンスサンプルの場合、エンハンスメントレイヤ中の追加のビット深度は、ハイダイナミックレンジ（ＨＤＲ）ビデオのコーディングを可能にし、ビデオ画像の最も暗い部分と最も明るい部分との間の増加したコントラストをサポートする。クロミナンスサンプルの場合、エンハンスメントレイヤ中の追加のビット深度は、より幅広い色を備えるビデオのコーディングを可能にする。
【０１１７】
[00121]  ＳＶＣのいくつかの実装形態は、ベースレイヤ中のサンプルまたはブロックに基づく、エンハンスメントレイヤ中のサンプルまたはブロックの予測を含み得る。この種類の予測はレイヤ間予測と呼ばれることがあり、それは、レイヤ間冗長性を低減するためにＳＶＣにおいて利用され得る。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測があり得る。レイヤ間イントラ予測は、ベースレイヤ中の対応するブロックまたはサンプルの再構成を使用して、エンハンスメントレイヤ中のブロックまたはサンプルを予測する。レイヤ間動き予測は、ベースレイヤの動き情報を使用してエンハンスメントレイヤ中の動き情報を予測する。レイヤ間残差予測は、ベースレイヤの残差を使用してエンハンスメントレイヤの残差を予測する。
【０１１８】
[00122]  レイヤ間予測は、ベースレイヤ中のより低いビット深度サンプルを使用してエンハンスメントレイヤ中のより高いビット深度サンプル(bit depth samples)を予測するために、本開示の態様に従って使用され得る。場合によっては、エンハンスメントレイヤサンプルは、定数による乗算または左ビットシフトなどの単純な演算によってベースレイヤサンプルから予測され得る。左ビットシフトは２による乗算と等価であり、ベースレイヤサンプルの末尾への１つまたは複数のビットの追加を伴い、それによってベースレイヤサンプルのビット深度を上げる。この種類の単純な演算はいくつかの場合には十分であり得るが、それらは他の適用例には良好な結果を与えないことがある。
【０１１９】
[00123]  ベースレイヤサンプルからエンハンスメントレイヤサンプルを予測するための単純な演算の有用性は、それぞれのレイヤによって使用されるサンプル表現の関係に依存する。単純な演算は、例えば、エンハンスメントレイヤサンプルがベースレイヤサンプルとは異なる色度（chromaticity）成分を表すとき、例えば、ベースレイヤサンプルはＢＴ．７０９に従って表され、エンハンスメントレイヤサンプルはＢＴ．２０２０に従って表されるとき（ＢＴ．７０９とＢＴ．２０２０の両方はＩＴＵ−Ｒ、国際電気通信連合−無線通信セクタによって定義されている）、不十分な予測を与え得る。単純な演算はまた、ベースレイヤサンプルがエンハンスメントレイヤサンプルとは異なるガンマ非線形性をもつルミナンス値を表すとき、または、あるレイヤ中のサンプルは線形スケール上のルミナンス値を表すが、別のレイヤ中のサンプルは非線形スケール上のサンプルを表すとき、不十分な予測を与え得る。本明細書で使用する非線形スケールという用語は、それの一般的な意味を有し、また、一部は線形であり、一部は非線形であるスケール、複数の異なる線形成分から構成されたスケール、およびそれらの等価物を指す。
【０１２０】
[00124]  いくつかの実施形態では、エンハンスメントレイヤサンプルは、各可能なベースレイヤサンプル値を対応するエンハンスメントレイヤサンプル値にマッピングするルックアップテーブルを使用することによって、ベースレイヤサンプルに基づいて予測され得る。
【０１２１】
[00125]  予測品質は、各レイヤ中のサンプルによって表され得る可能なクロミナンス値およびルミナンス値の範囲にだけでなく、コーディングされる特定のビデオ中の実際のサンプル値の分布にも依存し得る。例えば、エンハンスメントレイヤによって使用されるサンプル表現は、ベースレイヤによって使用されるサンプル表現に線形的にマッピングし得るが、実際のサンプルの分布は、可能な値の全範囲にわたって一様に拡散されないことがある。むしろ、実際のサンプルは、スケールのいくつかの部分にクラスタ化され得る。この状況では、サンプルがクラスタ化されるスケールの部分のほうへ予測をスキューすることによって、より良い結果が取得され得る。
【０１２２】
[00126]  本開示の態様による実施形態は、異種サンプル表現とサンプル値の一様でない分布とをもつレイヤ間の予測を含む、スケーラブルビデオコーディングにおけるレイヤ間予測のための利点を与える。特定の態様を添付図に関して以下でさらに詳細に開示する。
【０１２３】
[00127]  図４は、本開示の態様による技法を実装し得るスケーラブルビデオエンコーダの一例を示すブロック図である。図４のビデオエンコーダ４００は、図１および図２のビデオエンコーダ２０に対応し得る。ただし、図４におけるエンコーダ４００の図は、ブロックベースビデオコーディングに関係する態様により全般的に焦点を当てるのではなく、スケーラブルビデオコーディングおよびレイヤ間予測に関係する態様に特に焦点を当てている。
【０１２４】
[00128]  図４の例では、ビデオエンコーダ４００は、ＢＬサブシステム４２０とＥＬサブシステム４４０とを含むスケーラブルビデオエンコーダである。ＢＬサブシステム４２０は、ＢＬに関連付けられたビデオデータを符号化し、ＥＬサブシステム４４０は、ＥＬに関連付けられたビデオデータを符号化する。ＢＬサブシステム４２０によって生成された符号化ビデオデータは、ベースレベルの品質をもつ再構成されたビデオを生成するために単独で復号され得る。ＥＬサブシステム４４０によって生成された符号化ビデオデータは、単独で有意味に復号することが不可能であり得るが、それは、拡張品質をもつ再構成されたビデオを生成するために、ＢＬデータと組み合わせて復号され得る。いくつかの実施形態では、ＢＬに関連付けられたビデオデータは、より古いデコーダ、または、組み合わせられた、より高い品質のビデオを効果的に復号し、提示するために十分な計算リソースを有しないデコーダに適合し得る。図４に示されているように、ＥＬサブシステム４４０は、ＢＬサブシステム４２０によって符号化されたＢＬに対して増加したビット深度をもつサンプル値をサポートするＥＬを符号化する。増加したビット深度をもつサンプルは、例えば、より高いダイナミックレンジまたはより多様な色をもつ、ビデオの提示を可能にし得る。
【０１２５】
[00129]  ＢＬサブシステム４２０およびＥＬサブシステム４４０は、ハードウェアで、ソフトウェアで、またはハードウェアとソフトウェアの組合せで実装され得る。ＢＬサブシステム４２０とＥＬサブシステム４４０は、概念的な目的のために図４では別々に示されているが、それらはいくつかのハードウェア構成要素またはソフトウェアモジュールを共有し得る。例えば、ＢＬサブシステム４２０中のエントロピー符号化ユニット４２８は、ＥＬサブシステム４４０のエントロピー符号化ユニット４４８として同じハードウェア構成要素またはソフトウェアモジュールで実装され得る。
【０１２６】
[00130]  ＢＬサブシステム４２０は、マッピングユニット４２２と、残差計算ユニット４２４と、エントロピー符号化ユニット４２８と、再構成および記憶ユニット４３０と、予測ユニット４３２とを含む。ＥＬサブシステム４４０は、逆マッピングユニット４４２と、残差計算ユニット４４４と、エントロピー符号化ユニット４４８と、再構成および記憶ユニット４５０と、予測ユニット４５２とを含む。ＢＬサブシステム４２０およびＥＬサブシステム４４０の様々な構成要素であるユニットは概念的な目的のために別々に示されているが、それらは、いくつかの実施形態では、組み合わせられてより少数のユニットになるか、または再分割されて追加のユニットになり得る。以下で説明する機能の大部分は、ＢＬサブシステム４２０とＥＬサブシステム４４０の両方中に存在する。両方のサブシステムによって共有される共通機能をカバーする詳細な例については、図２のビデオエンコーダ２０に関して上記で説明した。図４では、説明は、２つのサブシステムが、一緒に動作し、スケーラブル出力を生成することを可能にするビデオエンコーダ４００の態様に焦点を当てる。
【０１２７】
[00131]  符号化プロセス中に、ビデオエンコーダ４００は、符号化されるべきビデオデータを受信する。入力として受信されたビデオデータは、ＢＬサブシステム４２０とＥＬサブシステム４４０の両方によって処理され得る。ＢＬサブシステム４２０では、処理はマッピングユニット４２２において開始し、ビデオ入力中のサンプルが、より高いＥＬビット深度からより低いＢＬビット深度にマッピングされる。例えば、マッピングユニット４２２への入力は、例えば、１０、１２または１４ビットのビット深度をもつＨＤＲビデオを表すサンプルを備え得る。マッピングユニット４２２の出力は、次いで、８ビットなどのより低いビット深度をもつＬＤＲビデオを表すサンプルを備え得る。マッピングユニット４２２は、ＥＬサンプルに１つまたは複数の算術演算または数理関数を適用することによってなど、様々な方法でＢＬサンプルの値を計算し得る。いくつかの実施形態では、マッピングユニット４２２は、異なる範囲にあるＥＬサンプル値に異なる乗法係数（multiplicative factor）を適用する区分的線形関数を適用することによって、ＢＬサンプルを計算し得る。他の実施形態では、マッピングユニット４２２は、ＥＬサンプル値に対数関数を適用することによってＢＬサンプルを計算し得る。その上、マッピングユニット４２２は、ＥＬサブシステム４４０に関して以下でさらに詳細に説明する逆マッピングユニット４４２において使用され得る何らかの関数の反転を適用できる。いくつかの実施形態では、しかしながら、マッピングユニット４２２がビット深度を減少させる効果を有し、逆マッピングユニット４４２がビット深度を増加させる効果を有することを除いて、マッピングユニット４２２によって適用される動作と、逆マッピングユニット４４２によって適用される動作との間には明らかな対応がない。マッピングユニット４２２はまた、正確に適用することが不可能または実現性のないであろう数理関数を近似するように設計された一連の演算を適用し得る。いくつかの実施形態では、マッピングユニット４２２は、各サンプルの値とは別にまたはそれに加えて基準に基づいて、異なるＥＬサンプルに異なる算術演算または数理関数を適用するように構成され得る。例えば、基準は、ブロックまたはフレームに対するサンプルの位置、同じスライス中の他のＥＬサンプルの値、シンタックス情報、または構成パラメータに依存し得る。マッピングユニット４２２によって適用された特定の演算にかかわらず、入力ビデオスライスのＥＬサンプルは、より低いビット深度をもつＢＬサンプルに変換される。
【０１２８】
[00132]  マッピングユニット４２２によって生成されたＢＬサンプルは、予測ユニット４３２および残差計算ユニット４２４によって使用され得る。予測ユニット４３２は様々な予測モードをサポートし得、それは、いくつかの異なるモードのいずれが特定のビデオスライスのために最良の予測を生成するかを決定するために、ＢＬサンプルをそれらのモードからの予測サンプルと比較し得る。予測ユニット４３２はまた、例えば、ビデオフレームを、最大コーディングユニット（ＬＣＵ）と、コーディングユニット（ＣＵ）と、サブＣＵとの異なる組合せに分割することによって、様々な区分オプションを比較し得る。いくつかの実施形態では、様々な区分および予測可能性は、レートひずみ分析を使用して評価され得る。予測ユニット４３２によって適用される区分およびモード選択プロセスは、図２の予測ユニット１００によって使用されるものに一致していることがある。予測ユニット４３２によって行われ得る予測の例については、図２の動き推定ユニット１２２、動き補償ユニット１２４、およびイントラ予測ユニット１２６に関してさらに詳細に上記で説明した。
【０１２９】
[00133]  残差計算ユニット４２４において、エンコーダ４００は、マッピングユニット４２２によって決定された実際のＢＬサンプルと、予測ユニット４３２によって前に処理されたビデオスライスから生成された予測サンプルとの間の差分を計算する。実際のＢＬサンプルと対応する予測サンプルとの間の差分は残差サンプルと呼ばれることがある。同様に、サンプルの実際のブロックと対応する予測ブロックとの間の差分は残差ブロックと呼ばれることがある。残差計算ユニット４２４からの残差は、サンプル領域から、周波数領域などの代替領域に変換され得る。得られた変換係数は、エントロピー符号化ユニット４２８によって符号化される前に量子化され得る。エントロピー符号化ユニット４２８はまた、予測ユニット４３２からのシンタックスデータを符号化する。このシンタックスデータは、量子化された変換係数がそれから導出された残差を計算するために使用された区分および予測を記述する。エントロピー符号化ユニット４２８の出力は、エンコーダ４００によって生成されるスケーラブルビデオビットストリームの一部になる、符号化ＢＬビデオである。変換、量子化、およびエントロピー符号化のより詳細な例は、図２の変換ユニット１０４、量子化ユニット１０６、およびエントロピー符号化ユニット１１６に関して上記に与えた。
【０１３０】
[00134]  再構成および記憶ユニット４３０において、変換および量子化演算は、サンプル領域において残差値を再構成するために反転される。再構成された残差値は、変換および量子化より前に、元の残差値を決定するために使用された予測サンプルと組み合わせられ得る。再構成された残差と対応する予測との組合せは、再構成されたビデオスライスを生じる。再構成されたビデオスライスは、例えば、変換および量子化中に、コーディングプロセスによって導入されたひずみを含み得る。再構成プロセスのより詳細な例については、図２の逆量子化ユニット１０８、逆変換ユニット１１０、および再構成ユニット１１２に関して上記で説明した。
【０１３１】
[00135]  再構成および記憶ユニット４３０は、再構成されたビデオスライスからのビデオデータを記憶するためのメモリを含み得る。メモリに記憶された再構成されたビデオデータは、ＢＬサブシステム４２０またはＥＬサブシステム４４０における予測の将来のラウンドのための基礎として使用され得る。エンコーダ４００は、コーディングプロセスにおいて導入されるひずみを考慮することと、エンコーダによって行われた予測が、デコーダにとって利用可能であるデータを使用して再生され得ることを保証することとのために、（マッピングユニット４２２によって生成された元のデータではなく）再構成されたデータに基づいて予測を行う。予測は、例えば、予測ユニット４３２によってまたは逆マッピングユニット４４２によって、行われ得る。例えば、再構成されたビデオデータは参照フレームを備え得、予測ユニット４３２は、フレーム間予測を使用して後続のフレームを予測し得る。再構成されたビデオデータは参照ブロックをも備え得、予測ユニット４３２は、フレーム内予測を使用して隣接ブロックを予測し得る。エンコーダ４００はまた、ＥＬサブシステム４４０に関して以下で説明するように、逆マッピングユニット４４２を使用してレイヤ間予測を行い得る。記憶プロセスのより詳細な例は、図２の復号ピクチャバッファ１１４に関して上記に与えており、様々な予測方式のより詳細な例については、図２の動き推定ユニット１１２、動き補償ユニット１２４、およびイントラ予測ユニット１２６に関して説明した。
【０１３２】
[00136]  前に説明したように、エンコーダ４００はＢＬサブシステム４２０とＥＬサブシステム４４０とを含む。ＢＬサブシステム４２０の出力は、ベースレベルの品質をもつビデオ出力を生成するために単独で十分である。一方、ＥＬサブシステム４４０の出力は、レンダリングされたビデオの品質を、ＢＬに関連付けられたベースレベルの品質から、ＥＬに関連付けられた高められたレベルの品質に高めるのに必要な情報のみを含む。その上、ＥＬサブシステムの出力は、ＢＬビデオとＥＬビデオとの間の差分を直接表さないことがある。そうではなく、それは、実際のＥＬビデオと、ＢＬビデオから導出されたＥＬビデオの何らかの予測バージョンとの間の差分を表し得る。従って、ＥＬサブシステムによって生成される出力は、ＢＬとＥＬとの間のレイヤ間予測のために採用される方法に高度に依存し得る。より良い予測方法は、実際のＥＬビデオにより近い予測を生じ、これは、ＥＬサブシステム１４０が、増加した空間効率またはより高い視覚的品質をもつ符号化を生じることを可能にする。
【０１３３】
[00137]  ＢＬサンプルからのＥＬサンプルの予測に関連する一般的な考慮事項については、この図４の説明より前に、この発明を実施するための形態セクションにおいて前に説明した。上記で説明したように、定数による乗算または固定数のビットによる左ビットシフトなどの単純な演算が、より低いビット深度を有するＢＬサンプルからＥＬサンプルを予測するために使用され得る。これらの単純な演算は、それらが、ＥＬサンプルの予想されるビット深度に一致するようにＢＬサンプルのビット深度を増加させる簡単な手段を与えるので、有用であり得る。しかしながら、この種類の単純な演算は、ＥＬサンプルのために使用されるスケールがＢＬサンプルのために使用されるスケールに正比例しない状況では、不十分な予測性能を与え得る。そのような状況では、ＢＬスケールの異なる部分上にあるＢＬサンプルに異なる演算を適用することによって、より良い予測が取得され得る。言い換えれば、固定または一定の調整ではなく、ＢＬサンプルに対する適応調整に基づいてＥＬサンプルを予測することによって、より良い結果が取得され得る。
【０１３４】
[00138]  上記で説明したように、レイヤ間予測性能は、ＢＬおよびＥＬサンプルのために使用されるそれぞれのスケールにだけでなく、個々のサンプルがそれらのスケールに関してどのように分布しているかにも依存する。サンプルは一様に分布していないことがあるので、異なるサンプル分布に適応できる予測方法を採用することが有益であり得る。詳細には、ＢＬサンプルからＥＬサンプルを予測するために適応調整が使用される場合、特定のＢＬサンプルのために選定される特定の調整パラメータは、ＢＬスケール上の特定のサンプルの値にだけでなく、ＢＬサンプルの全体的分布およびその分布に関する特定のサンプルの位置にも有利に依存し得る。適用例によっては、完全なサンプル分布の網羅的な分析は計算量的に実現可能でないことがあるが、サンプル分布における分散の少なくとも一部を考慮する適応パラメータを決定するためにヒューリスティック（heuristic）が使用され得る。
【０１３５】
[00139]  ＥＬサブシステム４４０に示されているように、逆マッピングユニット４４２はレイヤ間予測のために使用され得る。より詳細には、逆マッピングユニット４４２は、上記で説明した種類の適応調整を適用することによってレイヤ間予測を行い得る。例えば、逆マッピングユニット４４２は、予測ＥＬサンプルを決定するために、再構成されたＢＬサンプルに特定の比を乗算し得る。特定の比は、例えば、ＢＬサンプルの値、並びに再構成されたサンプルが属するビデオスライス中のＢＬサンプルの全体的分布に関係する１つまたは複数のヒューリスティックに応じて、逆マッピングユニット４４２によって適応的に選択され得る。
【０１３６】
[00140]  逆マッピングユニット４４２は、予測ＥＬサンプル中の誤差を最小限に抑える適応調整パラメータのセットを選定するように構成され得る。予測サンプル中の誤差は、例えば、予測サンプルとビデオスライス中の実際のサンプルとの間の符号付き差分の平均値、絶対差分の平均値、または２乗差分の平均値によって測定され得る。これらの平均値のいずれかの計算効率の良い近似値も使用され得る。いくつかの実施形態では、逆マッピングユニット４４２は、調整パラメータを選定し、予測サンプル中の誤差を最小限に抑えるために、レートひずみ分析を使用し得る。逆マッピングユニット４４２が適応調整パラメータを決定すると、それらはシンタックスデータの形態でエントロピー符号化ユニット４４８に送信され得、シンタックスデータは、ＥＬビデオデータを復号しながらレイヤ間予測を行うために、例えば、図５のデコーダ５００によって使用され得る。
【０１３７】
[00141]  レイヤ間予測の使用以外は、ＥＬサブシステム４４０はＢＬサブシステム４２０と同様の様式で機能する。逆マッピングユニット４４２によって与えられるレイヤ間予測機能は、ＢＬサブシステム４２０の予測ユニット４３２によって与えられる同じモードである、予測ユニット４５２によって与えられるピクチャ内およびピクチャ間予測モードを補足する追加の予測モードとして働く。予測ユニット４５２は、様々なビデオスライスについて最適予測モードを選択するために、予測ユニット４３２に関して前に説明したモード選択を行い得る。モード選択についてはまた、図２の予測ユニット１００に関してさらに詳細に上記で説明した。
【０１３８】
[00142]  ＥＬサブシステム４４０の残りのユニットは、それらが、より大きいビット深度を有するサンプルに対して動作することを除いて、ＢＬサブシステム４２０の対応するユニットと同じ様式で機能する。従って、残差計算ユニット４４４は、予測ＥＬサンプルと実際のＥＬサンプルとの間の差分を表す残差を計算する。残差は代替領域に変換され得、得られた係数は、予測ユニット４５２からのシンタックスデータとともに、エントロピー符号化ユニット４４８によって符号化される前に量子化され得る。再構成および記憶ユニット４５０において、量子化された変換係数は、再構成されたビデオスライスを形成するために、逆量子化され、逆変換され、予測ユニット４５２からの予測と組み合わせられ得る。再構成されたビデオスライスは、予測の追加のラウンドのための基礎として予測ユニット４５２によって使用され得る。ＥＬサブシステム４４０からの出力は、エンコーダ４００の出力である符号化ケーラブルビットストリームを形成するために、ＢＬサブシステム４２０からの出力と組み合わせられ得る。
【０１３９】
[00143]  図５は、本開示の態様による技法を実装し得るスケーラブルビデオデコーダの一例を示すブロック図である。図５のビデオデコーダ５００は、図１および図３のビデオデコーダ３０に対応し得る。ただし、図５におけるデコーダ５００の図は、ブロックベースビデオコーディングに関係する態様により全般的に焦点を当てるのではなく、スケーラブルビデオコーディングおよびレイヤ間予測に関係する態様に特に焦点を当てている。
【０１４０】
[00144]  図５の例では、ビデオデコーダ５００は、ＢＬサブシステム５２０とＥＬサブシステム５４０とを含むスケーラブルビデオデコーダである。ビデオデコーダ５００は、図４において説明した、ビデオエンコーダ４００によって行われる符号化プロセスとは概して逆である復号プロセスを行い得る。デコーダ５００は、ＥＬとＢＬの両方を符号化したビデオを備える符号化スケーラブルビットストリームを入力として受信し得る。ＢＬサブシステム５２０は、ＢＬに関連付けられたビデオデータを復号し得、ＥＬサブシステム５４０は、ＥＬに関連付けられたビデオデータを復号し得る。図５に示すように、デコーダ５００の出力は、復号ＢＬビットストリームと復号ＥＬビットストリームとを含み得る。いくつかの実施形態では、デコーダ５００は、ＢＬフォーマットまたはＥＬフォーマットのうちの１つのみで出力を与える。例えば、デコーダ５００が、ＥＬに関連付けられたより高いビット深度ビデオをサポートしないレガシーデコーダである場合、それはＢＬサブシステム５２０のみを含み得、その場合、符号化スケーラブルビットストリームのＥＬ部分は無視され、ＢＬ出力のみが与えられることになる。代替的に、デコーダ５００はより高いビット深度ＥＬビデオをサポートするが、レイヤ間予測のみの目的で、ＢＬサブシステム５２０によって生成されたＢＬビットストリームを内部で使用して、ＥＬフォーマットのみで出力し得る。
【０１４１】
[00145]  ＢＬサブシステム５２０およびＥＬサブシステム５４０は、ハードウェアで、ソフトウェアで、またはハードウェアとソフトウェアの組合せで実装され得る。ＢＬサブシステム５２０とＥＬサブシステム５４０は、概念的な目的のために図５では別々に示されているが、それらはいくつかのハードウェア構成要素またはソフトウェアモジュールを共有し得る。例えば、ＢＬサブシステム５２０中のエントロピー符号化ユニット５２４は、ＥＬサブシステム５４０のエントロピー符号化ユニット５４６として同じハードウェア構成要素またはソフトウェアモジュールで実装され得る。
【０１４２】
[00146]  ＢＬサブシステム５２０は、ＢＬ抽出ユニット５２２と、エントロピー復号ユニット５２４と、予測ユニット５２６と、再構成および記憶ユニット５２８とを含む。ＢＬ抽出ユニット５２２は、ＥＬビデオデータとＢＬビデオデータの両方を備える符号化スケーラブルビデオ情報を入力として受信する。ＢＬ抽出ユニット５２２は、ベースレベルのビデオ品質に対応するあるビット深度をもつ符号化ビデオサンプルを備える、データのＢＬ部分を抽出する。より高いビット深度をもつ拡張ビデオサンプルを導出するのに必要な追加情報を備える、データのＥＬ部分は、ＢＬサブシステム５２０内では使用されないことがある。
【０１４３】
[00147]  ＢＬデータがスケーラブルビットストリームから抽出されると、それは、エントロピー復号ユニット５２４によってエントロピー復号され、シンタックスデータ、並びに、例えば周波数領域において、残差ビデオ情報を表す量子化された変換係数を生じる。予測ユニット５２６において、シンタックスデータは、例えば、フレーム内（空間）予測またはフレーム間（動き）予測によって、予測ビデオブロックまたは予測ビデオフレームを生成するために使用される。再構成および記憶ユニット５２８において、量子化された変換係数は、逆量子化され、逆変換され、サンプル領域において残差情報を生じる。残差情報は、予測ユニット５２６によって生成された予測に加算され、再構成されたＢＬビデオサンプルからなるビデオブロックを含んでいる再構成されたビデオフレームまたはピクチャを生じる。一連のこれらの再構成されたビデオフレームは、ＢＬサブシステム５２０の出力である、復号ＢＬビデオを構成する。再構成されたビデオフレームおよびブロックは、次いで、予測の追加のラウンドを行うために予測ユニット５２６によって使用され得る。（１）エントロピー復号ユニット５２４、（２）予測ユニット５２６、並びに（３）再構成および記憶ユニット５２８によって行われるプロセスのより詳細な例は、図３の、それぞれ（１）エントロピー復号ユニット１５０、（２）動き補償ユニット１６２およびイントラ予測ユニット１６４、並びに（３）逆量子化ユニット１５４、逆変換ユニット１５６、再構成ユニット１５８、および復号ピクチャバッファ１６０に関して上記に与えた。
【０１４４】
[00148]  前に説明したように、デコーダ５００はＢＬサブシステム５２０とＥＬサブシステム５４０とを含む。ＥＬサブシステム５４０は、符号化スケーラブルビットストリームのＥＬ部分からの拡張情報を、ＢＬサブシステム５２０によって生成された復号ＢＬビデオから生成された予測と組み合わせることによって、拡張された復号ビデオを生成する。ＥＬサブシステム５４０は、逆マッピングユニット５４２と、ＥＬ抽出ユニット５４４と、エントロピー復号ユニット５４６と、予測ユニット５４８と、再構成および記憶ユニット５５０とを含む。ＥＬ抽出ユニット５４４は、ＥＬサブシステム５４０への入力として受信された、符号化スケーラブルビットストリームからＥＬデータを抽出する。エントロピー復号ユニット５４６において、抽出されたＥＬデータはエントロピー復号され、シンタックスデータ、並びに、例えば周波数領域において、残差ビデオ情報を表す量子化された変換係数を生じる。シンタックスデータは、予測サンプルを備える、予測ビデオフレームまたはビデオブロックを生成するために使用され得る。予測は、予測ユニット５４８によって、フレーム間予測モード、フレーム内予測モードなどに従って生成され得る。予測ユニット５４８はまた、上述のフレーム間およびフレーム内予測の代わりにまたはそれと組み合わせて、逆マッピングユニット５４２によって与えられるレイヤ間予測を使用し得る。エントロピー復号ユニット５４６によって与えられるシンタックスデータは、どの予測モードが、ＥＬサブシステム５４０によって復号されるＥＬビデオシーケンスの各部分のために使用されるべきかを指定し得る。
【０１４５】
[00149]  逆マッピングユニット５４２は、それが、最適化計算に基づいてパラメータを選定するのではなく、エントロピー符号化ユニット５４６によって与えられたシンタックスデータから適応調整パラメータを受信（例えば、決定または抽出）することを除いて、図４の逆マッピングユニット４４２と同様の様式でレイヤ間予測を行う。逆マッピングユニット５４２は、それが、符号化ＥＬビデオデータを作成するために使用された元のＥＬサンプルへのアクセスを有しないことがあるので、そのような最適化計算を行わない。逆に、図４の逆マッピングユニット４４２は、シンタックスデータを作成し、それを、逆マッピングユニット５４２、またはデコーダ５００の他の実施形態における同様のレイヤ間予測ユニットにとって利用可能にするために、最適化計算を行う。
【０１４６】
[00150]  再構成および記憶ユニット５５０において、（場合によっては、逆マッピングユニット５４２からのレイヤ間予測を備える）予測ユニット５４８からの予測がサンプル領域において残差と組み合わせられる。再構成および記憶ユニット５５０は、エントロピー復号ユニット５４６からの量子化された変換係数を逆量子化し、逆変換することによって、残差を決定する。残差と予測の組合せは、復号ＥＬピクチャまたはフレームを備える、再構成されたＥＬビデオを生じ、これは、図５に示すようにＥＬサブシステム５４０およびデコーダ５００の最終出力である。デコーダ５００のある機能に関するより詳細な例は、図１および図３のビデオデコーダ３０に関して上記に与えた。
【０１４７】
[00151]  次に図６を参照すると、ＢＬサンプルからＥＬサンプルの予測を決定するための例示的な方法を示すフローチャートが与えられている。図６の方法６００は、対応するＢＬサンプルよりも高いビット深度を有するＥＬサンプルの予測に特に適応する。いくつかの実施形態では、ＥＬは、ＢＬ中の対応する低ダイナミックレンジサンプルよりも大きい範囲のルミナンス値を表すことが可能な高ダイナミックレンジサンプルを備える。他の実施形態では、ＥＬは、ＢＬ中の対応するクロミナンスサンプルよりも広範囲の色を表すことが可能なクロミナンスサンプルを備える。方法６００が、２つ以上のＥＬと１つのＢＬとをサポートするビデオコーダ（例えば、エンコーダまたはデコーダ）において実装される場合、方法６００のステップは、他のレイヤ間予測方法とインターリーブされるかまたは同時に行なわれ得る。例えば、方法６００が、ビット深度と空間解像度の両方のスケーリングをサポートするビデオコーダ（例えば、エンコーダまたはデコーダ）において実装される場合、空間スケーリングに関連付けられた（アップサンプリングなどの）任意のレイヤ間予測ステップが、方法６００の前に、それの間に、またはそれの後に行なわれ得る。
【０１４８】
[00152]  簡単のために、方法６００の説明は、強度値または強度と呼ばれることもあるルミナンス値を表すＢＬおよびＥＬサンプルに焦点を当てる。ただし、方法６００において実施される本開示の技法は、クロミナンスまたはビデオピクチャの他の態様を測定するサンプルに同様に適用され得ることを、ビデオコーディングの当業者は諒解されよう。さらに、方法６００の説明は、単一のビデオブロック内で水平、垂直、または対角線に配置された３つのサンプルなど、少数の空間的に隣接するサンプルの間の相対強度の分布を指すことがあるパターンに言及する。ただし、本開示の技法は、クロミナンスサンプルを伴う分布、３つ以上のサンプルの分布、単一の線に構成されないサンプルの分布、２つ以上のブロック中のサンプルの分布、より大きいセットからのランダムまたは擬似ランダム選択などによって、サンプルのより大きいセットを統計的に表すように選択されたサンプルのセットを備える分布など、他の種類のサンプル分布に基づいて適応調整を選択し、適用するために同様に使用され得る。
【０１４９】
[00153]  図６に示されたステップは、エンコーダ（例えば、図２または図４に示されているビデオエンコーダ）、デコーダ（例えば、図３または図５に示されているビデオデコーダ）、または任意の他の構成要素によって行なわれ得る。便宜上、ステップについて、エンコーダ、デコーダまたは別の構成要素であり得る、コーダによって行なわれるものとして説明する。
【０１５０】
[00154]  方法６００はブロック６０１において開始する。ブロック６０５において、コーダは、ＢＬ中の各サンプルについて強度カテゴリーとパターンカテゴリーとを決定する。いくつかの実施形態では、ＢＬサンプルによって表され得る可能な強度の範囲は複数の帯域に分割され得る。例えば、ＢＬサンプルが８ビットのビット深度を有する場合、それは、０から２５５にわたる範囲内の強度値を表し得る。この範囲は、範囲０〜６３、６４〜１２７、１２８〜１９１、および１９２〜２５５に対応する、等しいサイズの４つの帯域に分割され得る。そのような帯域が使用される場合、サンプルに関連付けられた強度カテゴリーは、サンプルが位置する強度帯域に対応し得る。いくつかの実施形態では、定義された帯域は、可能なサンプル値の範囲全体を満たさないことがあり、従って、定義された帯域の外部にあるサンプルのために追加のカテゴリーが必要とされ得る。さらなる実施形態では、帯域は一様にサイズ決定されないことがある。例えば、帯域は、全体的サンプル分布が大部分の中域サンプルを含んでいるビデオのために特に有利であり得る、中域サンプルのよりきめの細かい調整を可能にするために、強度スペクトルの中心の近くでより小さいことがある。強度カテゴリーは、ＢＬサンプルのルミナンス値、ＢＬサンプルの（１つまたは複数の）クロミナンス値、またはＢＬサンプルのルミナンス値とクロミナンス値の組合せに基づいて決定され得る。
【０１５１】
[00155]  パターンカテゴリーは、例えば、カテゴリー分類されているＢＬサンプルと、カテゴリー分類されたサンプルに隣接する複数のサンプルとに基づき得る。例えば、隣接サンプルは、カテゴリー分類されたサンプルの左側の１つのサンプルと、カテゴリー分類されたサンプルの右側の１つのサンプルとを含み得る。右側サンプルと左側サンプルの両方の強度がカテゴリー分類されたサンプルの強度よりも大きい場合、第１のカテゴリーが割り当てられ得、カテゴリー分類されたサンプルとそれのネイバーとの間の相対強度の他の組合せに他のカテゴリーが割り当てられ得る。いくつかの実施形態では、パターンカテゴリーは、上側または下側のサンプル、あるいはカテゴリー分類されたサンプルに対して対角線方向に位置するサンプルなど、左側および右側のサンプル以外の近隣サンプルに基づいて決定され得る。上述したように、いくつかの実施形態では、３つ以上の隣接サンプルが考慮され得、他の実施形態では、考慮されるサンプルは隣接していないことがある。パターンカテゴリーは分布カテゴリーと呼ばれることもある。
【０１５２】
[00156]  方法６００はブロック６１０に進み、ブロック３０２においてカテゴリー分類されたＢＬサンプルの各々に予備マッピングを適用する。いくつかの実施形態では、予備マッピングは決定されたカテゴリーを考慮に入れない。予備マッピングは、対応するＥＬサンプルの予備予測を決定するために、ＢＬサンプルに数理関数または一連の計算演算を適用する。いくつかの実施形態では、予備マッピングは、ＢＬサンプルのビット深度をＥＬサンプルの必要とされるビット深度に増加させる効果を有し得る。いくつかの実施形態では、予備マッピングは、ブロック３０６に関して以下で説明する適応調整よりも粗い調整を行い得る。例えば、予備マッピングは累乗または乗算を伴い得るが、適応調整は乗算または加算を伴い得る。いくつかの実施形態では、予備マッピングは、各ＢＬサンプル値（または値のセット）を対応するＥＬサンプル値（または値のセット）にマッピングするルックアップテーブルを利用する。いくつかの実施形態では、予備マッピングは完全にスキップされ得、ＢＬサンプル自体が、方法６００の後のステップにおいて予備予測に代わり得る。予備マッピングのために使用され得る演算の追加の例については、そのような演算の間で選定するための関連する考慮事項とともに、この発明を実施するための形態セクションにおいて上記で説明した。
【０１５３】
[00157]  ブロック６１５において、ブロック６１０からの予備予測は、適応調整パラメータを使用して調整演算によって改良される。ブロック６０５において決定されたカテゴリーの各々について１つの調整演算が行なわれ得る。例えば、１つの強度カテゴリーと１つのパターンカテゴリーとが特定のＢＬサンプルについて決定された場合、そのサンプルから導出された予備予測に２つの調整演算が適用され得る。各調整演算は、対応するカテゴリーに関連付けられた適応調整パラメータを使用する。いくつかの実施形態では、調整演算はカテゴリーの各タイプについて同じである。例えば、強度カテゴリーとパターンカテゴリーの両方のための調整演算が乗算であり得、その場合、予備予測は、強度調整パラメータとパターン調整パラメータの両方を乗算されることになる。代替的に、異なる調整演算が異なるタイプのカテゴリーのために使用され得、例えば、強度カテゴリーに関連付けられた調整パラメータを適用するために乗算が使用され得、パターンカテゴリーに関連付けられた調整パラメータを適用するために加算が使用され得、またはその逆も同様である。この発明を実施するための形態セクションにおいて上記で説明したように、調整パラメータは、乗法比（multiplicative ratio）または係数、加法（additive）または減法（subtractive）オフセットなどを含み得る。さらに、図４および図５の逆マッピングユニット４４２および５４２に関して前に説明したように、予測ＥＬサンプルと実際のＥＬサンプルとの間のひずみまたは誤差を最小限に抑えるために、各カテゴリーについて調整パラメータが選定され得る（例えば、ＥＬビデオが符号化されるときに決定され得る）。いくつかの実施形態では、単一の調整パラメータが、単一のカテゴリーに収まる特定のビデオ中の全てのサンプルについてそのカテゴリーに関連付けられる。他の実施形態では、しかしながら、異なる調整パラメータが、ビデオの異なる部分中のサンプルについて同じカテゴリーに関連付けられ得る。例えば、特定の強度帯域にある第１のブロックのサンプルは調整パラメータａに関連付けられ得るが、同じ強度帯域にある第２のブロックのサンプルは調整パラメータｂに関連付けられ得、ただし、ｂはａに等しくない。異なる調整パラメータは、異なるブロックについてだけでなく、ブロックの異なるグループ、ブロックの異なる部分、異なるフレームなどについても単一のカテゴリーに関連付けられ得る。コーディング効率を改善するために、特定の領域（例えば、ブロック、フレームなど）のための調整パラメータは時間的にまたは空間的に近接した領域から予測され得る。
【０１５４】
[00158]  ブロック６２０において、適応調整パラメータが、予備予測から改良予測を決定するために適用されると、方法６００の最終生成物である再構成されたＥＬサンプルを決定するために、改良予測に残差値を加算する。方法６００はブロック６２５において終了する。
【０１５５】
[00159]  上記で説明したように、図２のビデオエンコーダ２０、図３のビデオデコーダ３０、図４のビデオエンコーダ４００、または図５のビデオデコーダ５００の１つまたは複数の構成要素は、各ＢＬサンプルについて１つまたは複数のカテゴリーを決定すること、予備ＥＬ予測を決定するために適用する予備マッピングを適用すること、各予備ＥＬ予測に適応調整を適用すること、および改善されたＥＬ予測に残差を加算することなど、本開示で説明した技法のいずれかを実装するために使用され得る。
【０１５６】
[00160]  本明細書で開示する情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【０１５７】
[00161]  本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【０１５８】
[00162]  本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたとき、上記で説明した方法のうちの１つまたは複数を行う命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０１５９】
[00163]  プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明した技法のいずれかを行うように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。従って、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明した技法の実装に好適な他の構造または装置のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に与えられるか、あるいは複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素において完全に実装され得る。
【０１６０】
[00164]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を行うように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０１６１】
[00165]  本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
【図１】
2016506684.tif 000003
【図２】
2016506684.tif 000004
【図３】
2016506684.tif 000005
【図４】
2016506684.tif 000006
【図５】
2016506684.tif 000007
【図６】
2016506684.tif 000008
【国際調査報告】
2016506684.tif 000009
2016506684.tif 000010