(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
逆適応色変換（ＩＡＣＴ）への入力を、（ｉ）１６ビットと、（ｉｉ）予測ピクセルのビット深度＋ある値に等しいビット深度とのうちの最大値にクリッピングすることと、ここで、前記ある値は４よりも大きいかまたはそれに等しく、前記ある値は３２−前記予測ピクセルの前記ビット深度よりも小さいかまたはそれに等しく、前記ＩＡＣＴへの前記入力は第１の残差データである、
前記クリッピングされた入力に前記ＩＡＣＴを適用することに少なくとも部分的によって第２の残差データを生成することと、
前記第２の残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することと
を備える、方法。
【請求項２】
前記予測ピクセルは第１の予測ピクセルであり、前記ＩＡＣＴへの前記入力は前記ＩＡＣＴへの第１の入力であり、前記ＣＵは第１のＣＵであり、前記第１の入力をクリッピングすることは、
前記予測ピクセルの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データのビット深度を１６ビットに保持することと、前記方法は、
前記ＩＡＣＴへの第２の入力を、（ｉ）１６と、（ｉｉ）第２の予測ピクセルのビット深度＋、４よりも大きいかまたはそれに等しく３２−前記第２の予測ピクセルの前記ビット深度よりも小さいかまたはそれに等しい値、に等しいビット深度とのうちの最大値にクリッピングすること、ここにおいて、前記ＩＡＣＴへの前記第２の入力は第３の残差データである、
をさらに備え、前記第２の入力をクリッピングすることは、前記第２の予測ピクセルの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第３の残差データにクリッピング演算を適用することと、
前記クリッピングされた第２の入力に前記ＩＡＣＴを適用することに少なくとも部分的によって第４の残差データを生成することと、
前記第４の残差データに基づいて、前記ビデオデータの第２のコーディングユニット（ＣＵ）のコーディングブロックを再構成することと
を備える、請求項１に記載の方法。
【請求項３】
前記特定の値は１２である、請求項２に記載の方法。
【請求項４】
前記第１の残差データを生成するために逆クロス成分予測（ＩＣＣＰ）変換を適用することをさらに備える、請求項１に記載の方法。
【請求項５】
前記第１の残差データを生成するために変換領域からサンプル領域への逆変換を適用することをさらに備える、請求項１に記載の方法。
【請求項６】
前記逆変換は逆離散コサイン変換である、請求項５に記載の方法。
【請求項７】
ワイヤレス通信デバイス上で実行可能であり、ここにおいて、前記ワイヤレス通信デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリに記憶された前記ビデオデータを処理するための命令を実行するように構成されたプロセッサと、
前記ビデオデータの符号化表現を備えるビットストリームを送信するように構成された送信機、前記ビデオデータの前記符号化表現が前記ＣＵの符号化表現を備える、または    前記ビデオデータの前記符号化表現を備える前記ビットストリームを受信するように構成された受信機
のうちの少なくとも１つと
を備える、請求項１に記載の方法。
【請求項８】
前記ワイヤレス通信デバイスはセルラー電話であり、
前記ビットストリームはセルラー通信規格に従って変調され、
前記ビットストリームは前記送信機によって送信される、または
前記ビットストリームは前記受信機によって受信される
のうちの少なくとも１つ、
請求項７に記載の方法。
【請求項９】
前記入力をクリッピングすることは、
前記予測ピクセルの前記ビット深度が特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用すること
を備える、請求項１に記載の方法。
【請求項１０】
ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
逆適応色変換（ＩＡＣＴ）への入力を、（ｉ）１６ビットと、（ｉｉ）予測ピクセルのビット深度＋ある値に等しいビット深度とのうちの最大値にクリッピングすることと、ここで、前記ある値は４よりも大きいかまたはそれに等しく、前記ある値は３２−前記予測ピクセルの前記ビット深度よりも小さいかまたはそれに等しく、前記ＩＡＣＴへの前記入力は第１の残差データである、
前記クリッピングされた入力に前記ＩＡＣＴを適用することに少なくとも部分的によって第２の残差データを生成することと、
前記第２の残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することと
を行うように構成された１つまたは複数のプロセッサと
を備える、デバイス。
【請求項１１】
前記１つまたは複数のプロセッサは、前記入力をクリッピングすることの一部として、前記１つまたは複数のプロセッサが、
前記予測ピクセルの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データのビット深度を１６ビットに保持することと、
前記予測ピクセルの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用することと
を行うように構成された、請求項１０に記載のデバイス。
【請求項１２】
前記特定の値は１２である、請求項１１に記載のデバイス。
【請求項１３】
前記１つまたは複数のプロセッサは、前記第１の残差データを生成するために逆クロス成分予測（ＩＣＣＰ）変換を適用するように構成された、請求項１０に記載のデバイス。
【請求項１４】
前記１つまたは複数のプロセッサは、前記第１の残差データを生成するために変換領域からサンプル領域への逆変換を適用するように構成された、請求項１０に記載のデバイス。
【請求項１５】
前記逆変換は逆離散コサイン変換である、請求項１４に記載のデバイス。
【請求項１６】
前記１つまたは複数のプロセッサに通信可能に結合された送信機、前記送信機が、前記ビデオデータの符号化表現を備えるビットストリームを送信するように構成され、前記ビデオデータの前記符号化表現が前記ＣＵの符号化表現を備える、または
前記１つまたは複数のプロセッサに通信可能に結合された受信機、前記受信機が、前記ビデオデータの前記符号化表現を備える前記ビットストリームを受信するように構成された、
のうちの少なくとも１つをさらに備える、ワイヤレス通信デバイスである、請求項１０に記載のデバイス。
【請求項１７】
前記ワイヤレス通信デバイスはセルラー電話であり、
前記ビットストリームはセルラー通信規格に従って変調され、
前記ビットストリームは前記送信機によって送信される、または
前記ビットストリームは前記受信機によって受信される
のうちの少なくとも１つ、
請求項１６に記載のデバイス。
【請求項１８】
ビデオデータをコーディングするためのデバイスであって、
逆適応色変換（ＩＡＣＴ）への入力を、（ｉ）１６ビットと、（ｉｉ）予測ピクセルのビット深度＋ある値に等しいビット深度とのうちの最大値にクリッピングするための手段と、ここで、前記ある値は４よりも大きいかまたはそれに等しく、前記ある値は３２−前記予測ピクセルの前記ビット深度よりも小さいかまたはそれに等しく、前記ＩＡＣＴへの前記入力は第１の残差データである、
前記クリッピングされた入力に前記ＩＡＣＴを適用することに少なくとも部分的によって第２の残差データを生成するための手段と、
前記第２の残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成するための手段と
を備える、デバイス。
【請求項１９】
前記入力をクリッピングするための前記手段は、
前記予測ピクセルの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データのビット深度を１６ビットに保持するための手段と、
前記予測ピクセルの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用するための手段と
を備える、請求項１８に記載のデバイス。
【請求項２０】
前記特定の値は１２である、請求項１９に記載のデバイス。
【請求項２１】
前記第１の残差データを生成するために逆クロス成分予測（ＩＣＣＰ）変換を適用するための手段をさらに備える、請求項１８に記載のデバイス。
【請求項２２】
前記第１の残差データを生成するために変換領域からサンプル領域への逆変換を適用するための手段をさらに備える、請求項１８に記載のデバイス。
【請求項２３】
前記逆変換は逆離散コサイン変換である、請求項２２に記載のデバイス。
【請求項２４】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は実行されたとき、ビデオデータをコーディングするためのデバイスの１つまたは複数のプロセッサに、
逆適応色変換（ＩＡＣＴ）への入力を、（ｉ）１６ビットと、（ｉｉ）予測ピクセルのビット深度＋ある値に等しいビット深度とのうちの最大値にクリッピングすることと、ここで、前記ある値は４よりも大きいかまたはそれに等しく、前記ある値は３２−前記予測ピクセルの前記ビット深度よりも小さいかまたはそれに等しく、前記ＩＡＣＴへの前記入力は第１の残差データである、
前記クリッピングされた入力に前記ＩＡＣＴを適用することに少なくとも部分的によって第２の残差データを生成することと、
前記第２の残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することと
を行わせる、コンピュータ可読記憶媒体。
【請求項２５】
前記命令は、
前記予測ピクセルの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データのビット深度を１６ビットに保持することと、
前記予測ピクセルの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用することと
を前記１つまたは複数のプロセッサに行わせることに部分的によって、前記入力をクリッピングすることを前記１つまたは複数のプロセッサに行わせる、請求項２４に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１５年１月３０日に出願された米国仮特許出願第６２／１１０，３２４号、２０１５年２月６日に出願された米国仮特許出願第６２／１１３，２６９号、および２０１５年２月１２日に出願された米国仮特許出願第６２／１１５，４８７号の恩恵を主張する。
【０００２】
[0002]  本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，アドバンストビデオコーディング（ＡＶＣ）、ＩＴＵ−Ｔ  Ｈ．２６５、高効率ビデオコーディング（ＨＥＶＣ）によって定義された規格、並びにスケーラブルビデオコーディング（ＳＶＣ）、マルチビュービデオコーディング（ＭＶＣ）、スケーラブルＨＥＶＣ（ＳＨＶＣ）、マルチビューＨＥＶＣ（ＭＶ−ＨＥＶＣ）、３Ｄ−ＨＥＶＣ、およびＨＥＶＣ範囲拡張など、そのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実施する。ビデオデバイスは、そのようなビデオコーディング技法を実施することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]  ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（例えば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングツリーユニット（ＣＴＵ）、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ビデオブロックはルーマブロックとクロマブロックとを含み得る。ピクチャのイントラコード化（Ｉ）スライス中では、ブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間的または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データはピクセル領域から変換領域に変換されて残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化された変換係数は、なお一層の圧縮を達成するためにエントロピーコーディングされ得る。
【発明の概要】
【０００６】
[0006]  本開示は、ビデオコーディングの分野に関係し、より詳細には、適応色変換（ＡＣＴ：adaptive color transform）およびクロス成分予測（ＣＣＰ：cross component prediction）などのツールが適用されるときのビット深度の考慮に関係する。本開示の特定の技法は、ＡＣＴとＣＣＰとの適用によるサンプルのビット深度の増加を緩和するか、なくすか、またはそうでなく制御し得る。
【０００７】
[0007]  一態様では、本開示では、ビデオデータを符号化または復号する方法について説明し、本方法は、第１の残差データのビット深度に基づいて第１の残差データを可変範囲にクリッピングすることと、クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ：inverse Adaptive Color Transform）を適用することに少なくとも部分的によって第２の残差データを生成することと、第２の残差データに基づいて、ビデオデータのコーディングユニット（ＣＵ：coding unit）のコーディングブロックを再構成することとを備える。
【０００８】
[0008]  別の態様では、本開示では、ビデオデータを符号化または復号するためのデバイスについて説明し、本デバイスは、ビデオデータを記憶するように構成されたメモリと、第１の残差データのビット深度に基づいて第１の残差データを可変範囲にクリッピングすることと、クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の逆変換された残差データを生成することと、第２の逆変換された残差データに基づいて、ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することとを行うように構成された１つまたは複数のプロセッサとを備える。
【０００９】
[0009]  別の態様では、本開示では、ビデオデータを符号化または復号するためのデバイスについて説明し、本デバイスは、第１の残差データのビット深度に基づいて第１の残差データを可変範囲にクリッピングするための手段と、クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の残差データを生成するための手段と、第２の逆変換された残差データに基づいて、ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成するための手段とを備える。
【００１０】
[0010]  別の態様では、本開示では、命令を記憶したコンピュータ可読記憶媒体について説明し、命令は実行されたとき、ビデオデータを符号化または復号するためのデバイスの１つまたは複数のプロセッサに、第１の残差データのビット深度に基づいて第１の残差データを可変範囲にクリッピングすることと、クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の残差データを生成することと、第２の残差データに基づいて、ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することとを行わせる。
【００１１】
[0011]  本開示の１つまたは複数の例の詳細が添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】本開示の技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。
【図２】例示的な適応色変換（ＡＣＴ）およびクロス成分予測（ＣＣＰ）処理順序を示す概念図。
【図３】例示的な高効率ビデオコーディング（ＨＥＶＣ）コード化入出力（ＩＯ）ビット深度を示す概念図。
【図４Ａ】ＣＣＰを使用するスクリーンコンテンツコーディングの構成のための例示的なビット深度情報を示す概念図。
【図４Ｂ】ＡＣＴとＣＣＰとを使用するスクリーンコンテンツコーディングの構成のための例示的なビット深度情報を示す概念図。
【図５Ａ】本開示の１つまたは複数の技法による、ＣＣＰのみを用いた、順ＣＣＰの後のクリッピングを示す概念図。
【図５Ｂ】本開示の１つまたは複数の技法による、ＣＣＰのみを用いた、順ＣＣＰの後のクリッピングに起因する動的範囲変化を示す概念図。
【図５Ｃ】本開示の１つまたは複数の技法による、ＡＣＴとＣＣＰとを用いた、順ＣＣＰの後のクリッピングを示す概念図。
【図５Ｄ】本開示の１つまたは複数の技法による、ＡＣＴとＣＣＰとを用いた、順ＣＣＰの後のクリッピングに起因する動的範囲変化を示す概念図。
【図６Ａ】本開示の１つまたは複数の技法による、ビデオデコーダにおける例示的なクリッピングロケーションを示す概念図。
【図６Ｂ】図６Ａに示されたクリッピングロケーションにおけるクリッピングの一例を示す概念図。
【図６Ｃ】図６Ａに示されたクリッピングロケーションにおけるクリッピングの一例を示す概念図。
【図６Ｄ】図６Ａに示されたクリッピングロケーションにおけるクリッピングの一例を示す概念図。
【図７】本開示の１つまたは複数の技法による、前のモジュールが逆ＣＣＰ（ＩＣＣＰ）に関する場合の、逆ＡＣＴ入力におけるクリッピングの一例を示す概念図。
【図８】本開示の１つまたは複数の技法による、前のモジュールが逆変換に関する場合の、逆ＡＣＴ入力におけるクリッピングの一例を示す概念図。
【図９Ａ】本開示の１つまたは複数の技法による、ＩＣＣＰへの入力が制約を受ける、例示的な一連の変換を示す概念図。
【図９Ｂ】本開示の１つまたは複数の技法による、ＩＡＣＴへの入力が制約を受ける、例示的な一連の変換を示す概念図。
【図９Ｃ】本開示の１つまたは複数の技法による、図９Ａと図９Ｂとの凝縮形態を示す例示的な一連の変換を示す概念図。
【図１０】本開示の１つまたは複数の態様に従って技法を行い得るビデオエンコーダの一例を示すブロック図。
【図１１】本開示の１つまたは複数の態様に従って技法を行い得るビデオデコーダの一例を示すブロック図。
【図１２】本開示の技法による、ビデオコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0033]  高効率ビデオコーディング（ＨＥＶＣ）は、最近確定されたビデオコーディング規格である。スクリーンコンテンツコーディング（ＳＣＣ）のためのＨＥＶＣの拡張は開発中である。ＨＥＶＣのＳＣＣ拡張は、色成分間の冗長性を低減するために適応色変換（ＡＣＴ）およびクロス成分予測（ＣＣＰ）変換を実施する。概して、本開示は、ビデオコーディングの分野に関係し、より詳細には、ＡＣＴおよびＣＣＰなどのツールが適用されるときのビット深度の考慮に関係する。提案される技法は、主にＳＣＣに関係するが、（例えば、８ビットよりも大きい）高いビット深度、様々なクロマサンプリングフォーマットなどをサポートするものを含む、ＨＥＶＣ拡張および他のビデオコーディング規格に概して適用可能であり得る。
【００１４】
[0034]  ＨＥＶＣのＳＣＣ拡張では、ビデオエンコーダは、ビデオデータのコーディングブロックのサンプルと予測ブロックの対応するサンプルとの間の差分を示す残差データを生成し得る。ビデオエンコーダは、次いで、残差データにＡＣＴを適用して、変換された残差データの第１のセットを取得し得る。ビデオエンコーダは、次いで、変換された残差データの第１のセットにＣＣＰ変換を適用して、変換された残差データの第２のセットを取得し得る。その後、ビデオエンコーダは、変換された残差データの第２のセットに、離散コサイン変換（ＤＣＴ）などの変換（Ｔ）を適用して、変換された残差データの第３のセットを取得し得る。変換された残差データの第１および第２のセットとは対照的に、変換された残差データの第３のセットは、サンプル領域ではなく周波数領域中にあり得る。「周波数領域」中の残差データは、異なる周波数で振動している関数（例えば、コサインまたはサイン関数）に関して表される。「サンプル領域」中の残差データは、ルーマまたはクロマ値など、ビデオデータのサンプルの値に関して表される。ビデオエンコーダは、次いで、変換された残差データの第３のセットを量子化し得る。
【００１５】
[0035]  ビデオデコーダはこのプロセスを反転させ得る。例えば、ビデオデコーダは、変換された残差データの量子化された第３のセットを示すシンタックス要素を取得し得る。ビデオデコーダは、次いで、変換された残差データの第３のセットを逆量子化して、変換された残差データの第３のセットを再生成し得る。次に、ビデオデコーダは、逆ＤＣＴなどの逆変換（ＩＴ：inverse transform）を適用して、変換された残差データの第２のセットを再生成し得る。ビデオデコーダは、次いで、変換された残差データの再生成された第２のセットに逆ＣＣＰ（ＩＣＣＰ）変換を適用して、変換された残差データの第１のセットを再生成し得る。その後、ビデオデコーダは、変換された残差データの再生成された第１のセットに逆ＡＣＴ（ＩＡＣＴ）を適用して、残差データを再生成し得る。ビデオデコーダは、再生成された残差データと予測ブロックとに基づいてコーディングブロックを再構成し得る。
【００１６】
[0036]  上記で概説したプロセスでは、変換された残差データの再生成された第２のセット（すなわち、ＩＴの出力）の各サンプルは、コーディングブロックのサンプルの元のビット深度よりも７ビット大きいビット深度を有する。このコンテキストでは、「ビット深度」という用語は、単一のサンプルを表すために使用されるビット数を意味する。さらに、変換された残差データの再生成された第２のセット（すなわち、ＩＣＣＰ変換の出力）の各サンプルは、コーディングブロックのサンプルの元のビット深度よりも８ビット大きいビット深度を有する。変換された残差データの再生成された第１のセット（すなわち、ＩＡＣＴの出力）の各サンプルは、コーディングブロックのサンプルの元のビット深度よりも９ビット大きいビット深度を有する。
【００１７】
[0037]  ＡＣＴおよびＣＣＰ変換を使用することに関連するビット深度の増加は、ビデオエンコーダおよびビデオデコーダのための実施複雑さとコストとを増加させ得る。例えば、ビデオエンコーダとビデオデコーダとのハードウェア実施形態では、変換された残差データのサンプルを搬送し記憶するためのデータ経路は、より多くのチャネルおよび／または記憶ロケーションを必要とし得る。
【００１８】
[0038]  本開示では、ビデオコーディングにおいてＡＣＴおよびＣＣＰ変換を使用することに関連するビット深度の増加を緩和するかまたはなくすいくつかの技法について説明する。例えば、ビデオデータを復号するためのプロセスの一部として、ビデオデコーダは、第１の残差データのビット深度に基づいて第１の残差データを可変範囲にクリッピングし得る。クリッピングは、値が上限値を超えた場合、その値を上限値に設定するか、または値が下限値よりも小さい場合、その値を下限値に設定するプロセスを指し得る。いくつかの例では、ビデオデコーダは、ＩＣＣＰを適用して第１の残差データを生成し得る。いくつかの例では、ビデオデコーダは、ＩＣＣＰを適用することなしに、変換領域からサンプル領域への変換を適用して、第１の残差データを生成し得る。次に、ビデオデコーダは、クリッピングされた入力にＩＡＣＴを適用することに少なくとも部分的によって第２の残差データを生成し得る。このようにして、ビデオデコーダは、ＩＡＣＴへの入力のビット深度に基づいてＩＡＣＴへの入力をクリッピングし得る。ビデオデコーダは、第２の残差データに基づいて、ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成し得る。例えば、ビデオデコーダは、第２の残差データ中のサンプルに対応するコーディングブロックのそれぞれのサンプルごとに、コーディングブロックのそれぞれのサンプルが、第２の残差データ中の対応するサンプル＋ＣＵの予測ユニット（ＰＵ）の予測ブロック中の対応するサンプルに等しくなるように、ＣＵのコーディングブロックを再構成し得る。ビデオエンコーダは、ビデオエンコーダの再構成ループ（すなわち、復号ループ）の一部として同じまたは同様のプロセスを行い得る。有利には、この例で説明したプロセスは、ＡＣＴおよび／またはＣＣＰを使用しているとき、ビット深度が特定の数を超えて増加することを防ぎ得る。
【００１９】
[0039]  図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指し得る。ビデオコーディングシステム１０のビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明する様々な例に従ってビデオコーディングのための技法を行うように構成され得るデバイスの例を表す。
【００２０】
[0040]  図１に示されているように、ビデオコーディングシステム１０は、ソースデバイス１２と、宛先デバイス１４とを含む。ソースデバイス１２は符号化ビデオデータを生成する。従って、ソースデバイス１２はビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。従って、宛先デバイス１４はビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２１】
[0041]  ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（例えば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたるデバイスを備え得る。
【００２２】
[0042]  宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。１つまたは複数の通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、ワイヤレスおよび／またはワイヤード通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（例えば、インターネット）など、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００２３】
[0043]  別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、例えば、ディスクアクセスまたはカードアクセスを介して、記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００２４】
[0044]  さらなる例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間記憶デバイスに記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶すること、および符号化ビデオデータを宛先デバイス１４に送信することが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、（例えば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブがある。
【００２５】
[0045]  宛先デバイス１４は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００２６】
[0046]  本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００２７】
[0047]  図１に示されているビデオコーディングシステム１０は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（例えば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データが、ローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶し得、および／またはビデオ復号デバイスはメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および／またはメモリからデータを取り出し、復号するだけのデバイスによって行われる。ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータを記憶するように構成されたメモリを備え得る。ビデオエンコーダ２０は、メモリに記憶されたビデオデータを符号化し得る。ビデオデコーダ３０は、符号化ビデオデータを復号し、得られたビデオデータをメモリに記憶し得る。
【００２８】
[0048]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、ビデオキャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィックスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
【００２９】
[0049]  ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータは、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上にも記憶され得る。
【００３０】
[0050]  図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は、受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信し得る。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るか、またはその外部にあり得る。概して、ディスプレイデバイス３２は復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスを備え得る。
【００３１】
[0051]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実施され得る。本技法が部分的にソフトウェアで実施された場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、本開示の技法を行うために１つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組合せなどを含む）上記のいずれも、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として組み込まれ得る。
【００３２】
[0052]  本開示は、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリングすること」または「送信すること」に言及することがある。「シグナリングすること」または「送信すること」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指すことがある。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
【００３３】
[0053]  図１の例では、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信デバイスをそれぞれ備え得る。ソースデバイス１２は、ソースデバイス１２の１つまたは複数のプロセッサに通信可能に結合された送信機を備え得る。言い換えれば、ソースデバイス１２の１つまたは複数のプロセッサは、ソースデバイス１２の１つまたは複数のプロセッサが送信機と通信することを可能にする方法で直接または間接的に送信機に結合され得る。出力インターフェース２２は送信機を備え得る。送信機は、ビデオデータの符号化表現を備えるビットストリームを送信するように構成され得る。例えば、ビデオデータのこの符号化表現は、コーディングユニットの符号化表現を備え得る。同様に、宛先デバイス１４は、宛先デバイス１４の１つまたは複数のプロセッサに通信可能に結合された受信機を備え得る。言い換えれば、宛先デバイス１４の１つまたは複数のプロセッサは、宛先デバイス１４の１つまたは複数のプロセッサが受信機と通信することを可能にする方法で直接または間接的に受信機に結合され得る。入力インターフェース２８は受信機を備え得る。受信機は、ビデオデータの符号化表現を備えるビットストリームを受信するように構成され得る。いくつかの例では、ワイヤレス通信デバイスはセルラー電話であり、ビットストリームはセルラー通信規格に従って変調される。そのような例では、ビットストリームは送信機によって送信され得るか、またはビットストリームは受信機によって受信され得る。
【００３４】
[0054]  最近では、新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）の設計が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定された。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ規格などのビデオ圧縮規格に従って動作する。Ｗａｎｇら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｄｅｆｅｃｔ  Ｒｅｐｏｒｔ  ２」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１５回会合：ジュネーブ、スイス、２０１３年１０月２３日〜１１月１日、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１５＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｏ１００３−ｖ２．ｚｉｐから入手可能なドキュメントＪＣＴＶＣ−０１００３＿ｖ２は、ＨＥＶＣドラフト仕様書であり、以下でＨＥＶＣ  ＷＤと呼ばれる。Ｗａｎｇら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｄｅｆｅｃｔ  Ｒｅｐｏｒｔ  ４」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１７回会合：バレンシア、スペイン、２０１４年３月２７日〜４月４日、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１７＿Ｖａｌｅｎｃｉａ／ｗｇ１１／ＪＣＴＶＣ−Ｑ１００３−ｖ１．ｚｉｐから入手可能なドキュメントＪＣＴＶＣ−Ｑ１００３（ｖ．１）（以下、ＨＥＶＣバージョン１）は、ＨＥＶＣ規格について説明している別のドキュメントである。ｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６５−２０１３０４−Ｉから入手可能な、Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇは、最新のＨＥＶＣ仕様を含んでいる別のドキュメントである。ベースＨＥＶＣ規格に加えて、ＨＥＶＣのためのスケーラブルビデオコーディング拡張と、マルチビュービデオコーディング拡張と、３Ｄコーディング拡張とを作成するための作業が進行中である。
【００３５】
[0055]  ＨＥＶＣ規格への別の拡張であるＨＥＶＣ範囲拡張は、（「色フォーマット」とも呼ばれる）追加の色表現について、並びに増加した色ビット深度についてＨＥＶＣへのサポートを追加する。「ＨＥＶＣ  ＲＥｘｔ」と呼ばれることがあるＨＥＶＣへの範囲拡張も、ＪＣＴ−ＶＣによって開発されている。ＨＥＶＣ範囲拡張の最近のドラフトは、Ｆｌｙｎｎら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ：  Ｄｒａｆｔ  ７」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１７回会合：バレンシア、スペイン、２０１４年３月２７日〜４月４日、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１７＿Ｖａｌｅｎｃｉａ／ｗｇ１１／ＪＣＴＶＣ−Ｑ１００５−ｖ９．ｚｉｐから入手可能であるＪＣＴＶＣ−Ｑ１００５＿ｖ９である。以下でＲＥｘｔ  ＷＤ７と呼ばれる、ＨＥＶＣ範囲拡張の別の最近のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１７＿Ｖａｌｅｎｃｉａ／ｗｇ１１／ＪＣＴＶＣ−Ｑ１００５−ｖ４．ｚｉｐから入手可能である、Ｆｌｙｎｎら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ：  Ｄｒａｆｔ  ７」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１７回会合：バレンシア、スペイン、２０１４年３月２７日〜４月４日に記載されている。
【００３６】
[0056]  上記のように、ＨＥＶＣ範囲拡張は、増加した色ビット深度のためのＨＥＶＣへのサポートを追加し得る。色ビット深度は、色表現の各成分を表すために使用されるビット数である。他の色フォーマットのためのサポートは、ビデオデータの赤緑青（ＲＧＢ）ソース、並びに他の色表現を有するビデオデータを符号化および復号することと、ＨＥＶＣメインプロファイルとは異なるクロマサブサンプリングパターンを使用することとのためのサポートを含み得る。
【００３７】
[0057]  範囲拡張仕様は、ＨＥＶＣのバージョン２になり得る。しかしながら、おおむね、本開示の提案される技法、例えば、動きベクトル予測に関する限り、ＨＥＶＣバージョン１およびＨＥＶＣ範囲拡張仕様は技術的に同様である。従って、本開示がＨＥＶＣバージョン１に基づく変更に言及するときは常に、同じ変更がＨＥＶＣ範囲拡張仕様に適用され得、本開示がＨＥＶＣバージョン１モジュールを再使用するときは常に、本開示は、実際には（同じサブクローズによって）ＨＥＶＣ範囲拡張モジュールをも再使用していることがある。
【００３８】
[0058]  ＨＥＶＣの別の拡張、すなわち、動きをもつテキストおよびグラフィックスなどのスクリーンコンテンツ素材をコーディングするための、スクリーンコンテンツコーディング（ＳＣＣ）も開発中である。ＳＣＣの最近のワーキングドラフト（ＷＤ）、Ｊｏｓｈｉら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  Ｓｃｒｅｅｎ  Ｃｏｎｔｅｎｔ  Ｃｏｄｉｎｇ：  Ｄｒａｆｔ  １」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会合：札幌、日本、２０１４年６月３０日〜７月９日、ドキュメントＪＣＴＶＣ−Ｒ１００５＿ｖ３（以下、「ＪＣＴＶＣ−Ｒ１００５」）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１８＿Ｓａｐｐｏｒｏ／ｗｇ１１／ＪＣＴＶＣ−Ｒ１００５−ｖ３．ｚｉｐから入手可能である。
【００３９】
[0059]  ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは、通常、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCbおよびＳCrと示される３つのサンプルアレイを含み得る。ＳLはルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbはＣｂクロミナンスサンプルの２次元アレイである。ＳCrはＣｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の事例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００４０】
[0060]  ピクチャの符号化表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）と呼ばれることもある。スライスは、ラスター走査で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００４１】
[0061]  コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するように、ＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に行い得、従って、「コーディングツリーユニット」という名称がある。コーディングブロックはサンプルのＮ×Ｎブロックである。コーディングユニット（ＣＵ）は、ルーマサンプルアレイと、Ｃｂサンプルアレイと、Ｃｒサンプルアレイとを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００４２】
[0062]  ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの長方形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ピクチャのルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロックとＣｂ予測ブロックとＣｒ予測ブロックとのための予測ルーマブロックと予測Ｃｂブロックと予測Ｃｒブロックとを生成し得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。
【００４３】
[0063]  ビデオエンコーダ２０は、ＰＵの予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連するピクチャの復号サンプルに基づいてＰＵの予測ブロックを生成し得る。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連するピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。
【００４４】
[0064]  ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ブロック（例えば、予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロック）を生成した後に、ビデオエンコーダ２０は、ＣＵの残差ブロックを生成し得る。ＣＵの残差ブロック中の各サンプルは、ＣＵのＰＵのための予測ブロック中のサンプルと、ＣＵのコーディングブロック中の対応するサンプルとの間の差分を示す。例えば、ビデオエンコーダ２０はＣＵのルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵのＰＵの予測ルーマブロック中のルーマサンプルと、ＣＵのルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０は、ＣＵのＣｂ残差ブロックを生成し得る。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵのＰＵの予測Ｃｂブロック中のＣｂサンプルと、ＣＵのＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はＣＵのＣｒ残差ブロックをも生成し得る。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵのＰＵのための予測Ｃｒブロック中のＣｒサンプルと、ＣＵのＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００４５】
[0065]  さらに、ビデオエンコーダ２０は、ＣＵの残差ブロック（例えば、ルーマ残差ブロック、Ｃｂ残差ブロックおよびＣｒ残差ブロック）を１つまたは複数の変換ブロック（例えば、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロック）に分解するために、４分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの長方形ブロックであり得る。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。従って、ＣＵの各ＴＵは、ルーマ変換ブロックと、Ｃｂ変換ブロックと、Ｃｒ変換ブロックとに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであり得る。モノクロームピクチャまたは３つの別々の色平面を有するピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００４６】
[0066]  ビデオエンコーダ２０は、ＴＵのための係数ブロックを生成するために、ＴＵの変換ブロックに１つまたは複数の変換を適用し得る。例えば、ビデオエンコーダ２０は、ＴＵのためのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用し得る。ビデオエンコーダ２０は、ＴＵのためのＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用し得る。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。
【００４７】
[0067]  係数ブロック（例えば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後に、ビデオエンコーダ２０は係数ブロックを量子化し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を行い得る。ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素をビットストリーム中に出力し得る。ビットストリームはビデオデータの符号化表現を備え得る。
【００４８】
[0068]  ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャおよび関連するデータの表現を形成するビットのシーケンスを含み得る。ビットストリームは、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットのシーケンスを備え得る。ＮＡＬユニットの各々はＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって規定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの例では、ＲＢＳＰはゼロビットを含む。
【００４９】
[0069]  異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。例えば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは補足エンハンスメント情報（ＳＥＩ）のためのＲＢＳＰをカプセル化し得、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰではなく）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。
【００５０】
[0070]  図１の例では、ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信する。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するために、ビットストリームをパースし得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ２０によって行われるプロセスの逆であり得る。例えば、ビデオデコーダ３０は、現在ＣＵのＰＵの予測ブロックを決定するためにイントラ予測またはインター予測を使用し得る。さらに、ビデオデコーダ３０は、現在ＣＵのＴＵのための係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在ＣＵのＴＵのための変換ブロックを再生成するために、係数ブロックに対して逆変換を行い得る。ビデオデコーダ３０は、現在ＣＵのＰＵのための予測ブロックのサンプルを現在ＣＵのＴＵのための変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構成し得る。ピクチャの各ＣＵのコーディングブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００５１】
[0071]  ビデオデータの各ブロックのピクセルは、「色表現」と呼ばれる、特定のフォーマットでの色をそれぞれ表す。異なるビデオコーディング規格は、ビデオデータのブロックのために異なる色表現を使用し得る。一例として、ＨＥＶＣビデオ規格の主要プロファイルは、ビデオデータのブロックのピクセルを表すためにＹＣｂＣｒ色表現を使用する。
【００５２】
[0072]  ＹＣｂＣｒ色表現は、ビデオデータの各ピクセルが色情報の３つの成分またはチャネル、「Ｙ」、「Ｃｂ」、および「Ｃｒ」によって表される色表現を概して指す。Ｙチャネルは、特定のピクセルのためのルミナンス（すなわち、光強度または輝度）データを表す。Ｃｂ成分およびＣｒ成分は、それぞれ、青色差および赤色差クロミナンス、すなわち、「クロマ」成分である。Ｙ成分とＣｂ成分とＣｒ成分との各々の間に強い無相関(decorrelation)があり、これは、Ｙ成分とＣｂ成分とＣｒ成分の各々の間で重複しているかまたは冗長であるデータがほとんどないことを意味するので、ＹＣｂＣｒはしばしば、圧縮されたビデオデータで色を表すために使用される。従って、ＹＣｂＣｒ色表現を使用してビデオデータをコーディングすると、多くの場合、良好な圧縮性能が提供される。
【００５３】
[0073]  さらに、多くのビデオコーディング技法は、色データの圧縮をさらに改善するために「クロマサブサンプリング」と呼ばれる技法を利用する。ＹＣｂＣｒ色表現を有するビデオデータのクロマサブサンプリングは、パターンに従ってクロマ成分を選択的に省略することによって、コード化ビデオビットストリーム中でシグナリングされるクロマ値の数を低減する。クロマサブサンプリングされたビデオデータのブロックでは、概して、ブロックのピクセルごとにルーマ値がある。しかしながら、Ｃｂ成分およびＣｒ成分は、クロマ成分がルーマ成分に対してサブサンプリングされるように、ブロックのピクセルのうちのいくつかについてのみシグナリングされ得る。
【００５４】
[0074]  ビデオコーダ（すなわち、ビデオエンコーダまたはビデオデコーダ）は、ピクセルについてＣｂ成分とＣｒ成分とを補間し得、ここで、Ｃｂ値とＣｒ値とは、ピクセルのクロマサブサンプリングされたブロックについて明示的にシグナリングされない。クロマサブサンプリングは、より均一であるピクセルのブロック中にひずみをもたらすことなしにクロミナンスデータの量を低減するためにうまく動作する。クロマサブサンプリングは、大幅に異なるクロマ値を有するビデオデータを表すためにあまりうまく動作せず、それらの場合、大量のひずみをもたらし得る。
【００５５】
[0075]  上述のように、ＨＥＶＣメインプロファイルは、色表現（色フォーマットとも呼ばれる）のルーマ成分と、２つのクロマ成分との間の概して強い色無相関のために、ＹＣｂＣｒを使用する。しかしながら、場合によっては、Ｙ成分とＣｂ成分とＣｒ成分との間に相関が依然としてあり得る。色表現の成分間の相関は、クロス色成分相関またはインター色成分相関と呼ばれることがある。
【００５６】
[0076]  ビデオコーダは、異なる成分（例えば、ルーマ成分のサンプル）の値に基づいて、ある成分（例えば、クロマ成分のサンプル）の値を予測するように構成され得る。第２の成分に基づいて第１の成分からのサンプルを予測するプロセスは、「カラービデオのための成分間予測」または「インター色成分予測」と呼ばれる。ビデオコーダは、第１の成分と第２の成分との間の相関に基づいて第１の成分の値を予測し得る。
【００５７】
[0077]  ビデオデータがキャプチャされたとき、それは、様々な前処理のためにＲＧＢ色空間にしばしば変換される。前処理の後に、ビデオコーディングのために、ビデオデータは、通常、より良い圧縮効率のためにＹＣｂＣｒ４：２：０に変換される。しかしながら、色変換は、主観的な品質劣化につながる色ひずみを引き起こし得る。ＨＥＶＣの範囲拡張は、ＹＣｂＣｒ４：２：２、ＹＣｂＣｒ４：４：４、およびＲＧＢ４：４：４など、ＹＣｂＣｒ４：２：０以外の色空間のためのビデオコーディングを提供する。
【００５８】
[0078]  ＲＧＢデータが色変換（例えば、色コンバージョン）なしに直接圧縮された場合、色チャネル間の冗長性が低減されないので、コーディング効率は低減され得る。一方、ＹＣｂＣｒのような従来の色変換は色ひずみを引き起こし得る。従って、色ひずみがより少ないコーディング効率改善を達成することができる技術を開発することが望ましいことがある。
【００５９】
[0079]  ＨＥＶＣのスクリーンコンテンツコーディング（ＳＣＣ）は、３つの色成分間の冗長性を活用してより高い圧縮比を達成するために、２つのコーディングツール、すなわち、適応色変換（ＡＣＴ）とクロス成分予測（ＣＣＰ）とを採用する。Ｌ．Ｚｈａｎｇら、「ＳＣＣＥ５  Ｔｅｓｔ  ３．２．１：  Ｉｎ−ｌｏｏｐ  ｃｏｌｏｒ−ｓｐａｃｅ  ｔｒａｎｓｆｏｒｍ」、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会合：札幌、日本、２０１４年６月３０日〜７月９日、ドキュメントＪＣＴＶＣ−Ｒ０１４７（以下、「ＪＣＴＶＣ−Ｒ０１４７」）に記載されているように、ＡＣＴは、以下のように定義された、不可逆コーディングのためのそれの順色空間変換と逆色空間変換とがＹＣｏＣｇ変換行列を使用するループ内色空間変換である。
【００６０】
【数１】
0006608454.tif 000002
【００６１】
上式において、元の色空間（Ｃ０，Ｃ１，Ｃ２）は（Ｒ，Ｇ，Ｂ）または（Ｙ，Ｕ，Ｖ）に対応し得る。
【００６２】
[0080]  ＣＣＰは、ルーマ（または第１の成分）からクロマ（または第２および第３の成分）を予測するためのプロセスである。ＣＣＰは、Ｒ．ＪｏｓｈｉおよびＪ．Ｘｕ、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｔ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｓｃｒｅｅｎ  ｃｏｎｔｅｎｔ  ｃｏｄｉｎｇ：  Ｄｒａｆｔ  ２」、ＪＣＴＶＣ−Ｓ１００５、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３とＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第１８回会合：札幌、日本、２０１４年６月３０日〜７月９日（以下、「ＪＣＴＶＣ−Ｓ１００５」）に記載されている。ＣＣＰの式は次のように示される。
【００６３】
【数２】
0006608454.tif 000003
【００６４】
[0081]  図２は、例示的なＡＣＴおよびＣＣＰ処理順序を示す概念図である。ＡＣＴとＣＣＰの両方は残差ベースの演算であり、コーデック内のそれらの対応する処理順序が図２に示されている。図２の例では、ビデオエンコーダ（図２では「Ｅｎｃ」と省略）は、残差生成演算４８を行って、（例えば、本開示の他の場所において説明した様式で）残差データ５０を取得する。残差データ５０は、図２では「Ｒｅｓ」と省略されている。さらに、図２において、ビデオエンコーダは、残差データ５０にＡＣＴ５２を適用し、それによって残差データ５４を取得する。次に、ビデオエンコーダは、残差データ５４にＣＣＰ変換５６を適用し、それによって残差データ５８を取得する。ビデオエンコーダは、次いで残差データ５８に変換６０を適用し、それによって残差データ６２を取得する。残差データ６２は、周波数領域などの変換領域中にあり得る。さらに、ビデオエンコーダは、残差データ６２に量子化演算６４を適用し、それによって量子化された残差データ６６を取得し得る。
【００６５】
[0082]  図２において、ビデオデコーダは、量子化された残差データ６６に逆量子化演算６８を適用し、それによって逆量子化された残差データ７０を取得する。次に、ビデオデコーダは、逆量子化された残差データ７０に逆変換７２を適用し、それによって残差データ７４を取得する。残差データ７４はサンプル領域中にあり得る。さらに、ビデオデコーダは、残差データ７４に逆ＣＣＰ変換（ＩＣＣＰ）７６を適用し、それによって残差データ７８を取得する。次に、ビデオデコーダは、残差データ７８に逆ＡＣＴ（ＩＡＣＴ）８０を適用し、それによって残差データ８２を取得する。ビデオデコーダは、残差データ８２に部分的に基づいて再構成演算８４を適用してコーディングブロックを再構成し得る。ビデオエンコーダは、復号ループの一部としてビデオデコーダに関して説明した図２の一部分を行い得る。
【００６６】
[0083]  ＨＥＶＣデータ経路に沿う動的範囲分析は、Ｃ．Ｙｅｏら、「Ｄｙｎａｍｉｃ  Ｒａｎｇｅ  Ａｎａｌｙｓｉｓ  ｉｎ  Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｒｅｓｉｄｕａｌ  Ｃｏｄｉｎｇ  ａｎｄ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ」、ＩＥＥＥ  Ｔｒａｎｓ．  Ｃｉｒｃｕｉｔｓ  Ｓｙｓｔ．  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌ．、第２３巻、第７号、１１３１〜１１３６ページ、２０１３年７月と、Ｍ．Ｚｈｏｕ、「ＡＨＧ７：  ＩＤＣＴ  Ｏｕｔｐｕｔ  Ｒａｎｇｅ  Ａｆｔｅｒ  Ｔ＋Ｑ＋ＩＱ＋ＩＴ  Ｗｉｔｈ  Ｖａｌｉｄ  Ｒｅｓｉｄｕａｌ  Ｉｎｐｕｔｓ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ）、第７回会合：ジュネーブ、スイス、２０１１年１１月１９〜３０日、ドキュメントＪＣＴＶＣ−Ｇ８５６とにおいて詳細に研究されている。
【００６７】
[0084]  図３は、例示的なＨＥＶＣコード化入出力（ＩＯ）ビット深度を示す概念図である。図３に示されているように、再構成された残差中に最高５ビットのビット深度拡張が発生することができ、ここで、Ｂビットは、入力ピクセルと予測ピクセルとのビット深度である。特に、図３では、ビデオエンコーダは、残差生成演算１００を行って残差データ１０２（図３では「Ｒｅｓ」と省略）を取得し得る。残差データ１０２の各サンプルはＢ＋１のビット深度を有し得る。次に、図３において、ビデオエンコーダは、残差データ１０２に変換１０４を適用して残差データ１０６を取得し得る。ビデオエンコーダは、残差データ１０６に量子化演算１０８を適用し、それによって量子化された残差データ１１０を取得し得る。
【００６８】
[0085]  図３において、ビデオデコーダは、量子化された残差データ１１０に逆量子化演算１１２を適用し、それによって逆量子化された残差データ１１４を取得し得る。次に、ビデオデコーダは、逆量子化された残差データ１１４に逆変換（ＩＴ）１１６を適用し、それによって逆変換（例えば、逆離散コサイン変換または逆サイン変換）された残差データ１１８を取得し得る。ＩＴ１１６は、変換領域からサンプル領域（すなわち、ピクセル領域）に残差データを変換し得る。図３に示されているように、逆変換１１６を適用したことの結果として、残差データ１１８の各サンプルはＢ＋６のビット深度を有し得る。さらに、図３において、ビデオデコーダは、残差データ１１８に再構成演算１２０を適用してコーディングブロックのサンプルを再構成し得る。図３では、ビデオデコーダは、再構成演算１２０を行うことの一部としてクリッピング演算を適用し得る。クリッピング演算は、コーディングブロックの再構成されたサンプルのビット深度がＢに等しくなることを保証し得る。
【００６９】
[0086]  図４Ａは、ＣＣＰを使用するスクリーンコンテンツコーディングの構成のための例示的なビット深度情報を示す概念図である。図４Ｂは、ＡＣＴとＣＣＰとを使用するスクリーンコンテンツコーディングの構成のための例示的なビット深度情報を示す概念図である。図４Ａおよび図４Ｂは図３と同様であるが、ＣＣＰを含み、および図４Ｂでは、ＡＣＴを含む。図４Ａでは、ビデオエンコーダは、残差データ１６０にＣＣＰ変換１５０を適用し、ビデオデコーダ（またはビデオエンコーダ再構成ループ）は、ＩＴ１１６によって取得された残差データ１６２に逆ＣＣＰ変換１５２を適用する。図４Ｂでは、ビデオエンコーダは、残差データ１６４にＡＣＴ１５４を、それに続いてＣＣＰ変換１５０を適用し、ビデオデコーダ（またはビデオエンコーダ再構成ループ）は、逆ＣＣＰ変換１５２を、それに続いて逆ＡＣＴ１５６を適用する。
【００７０】
[0087]  ＳＣＣのＡＣＴおよびＣＣＰ演算を考慮して、動的範囲拡張が図４Ａおよび図４Ｂに示されており、ここで、ＩＡＣＴは逆ＡＣＴを表し、ＩＣＣＰは逆ＣＣＰを表す。図４Ａおよび図４Ｂから、逆変換（ＩＴ）１１６の後のビット深度が、順ＣＣＰ演算１５０と、図４Ｂでは、順ＡＣＴ演算１５４との追加により、（Ｂ＋７）ビットに増加されることが明らかである。これは、クロマ残差（または残差Δ）のビット深度を、１ビット多く（Ｂ＋２）ビットに増加させ得る。ＣＣＰは、ルーマ残差データを使用してクロマ残差データのみに適用されるので、ルーマ残差データのビット深度はＣＣＰによって不変である。
【００７１】
[0088]  図４Ａおよび図４Ｂにおけるビット深度分析からわかるように、変換の入力におけるビット深度増加は、転置バッファ、ＩＣＣＰ、およびＩＡＣＴにおけるように、データ経路に沿って動的範囲に影響を及ぼし得、これは、より高い実施コストを生じ得、概して実施では望ましくないことがある。「動的範囲」および「ビット深度」という用語は、本開示では同義で使用され得る。
【００７２】
[0089]  本開示は、ＡＣＴおよびＣＣＰツールが有効にされたとき、ビット深度を不変に保持し得るかまたはビット深度増加を低減し得る技法を提案する。例えば、本開示の第１の例では、ビデオエンコーダにおけるクリッピング演算は、図５Ａおよび図５ＢにおいてＣｌｉｐ＿Ａとして示されているように順ＣＣＰ演算の後に適用されることが提案される。本開示は、ＨＥＶＣバージョン２（Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ＩＴＵ−Ｔ  Ｈ．２６５、２０１４年１０月）に示されている限界にＣＣＰの出力の動的範囲が戻され得るように、ＣＣＰの出力の動的範囲をＢ＋１ビットにクリッピングすることを提案し、ここで、Ｂビットは、入力ピクセルと予測ピクセルとのビット深度である。本開示の技法の潜在的恩恵は、デコーダ側を変更する必要がないことと、元のデータ経路の動的範囲の維持とを含み得、これは、既存の設計がデータ経路に沿ってそれのビット深度を変更する必要がないことを意味し得る。
【００７３】
[0090]  図５Ａは、本開示の１つまたは複数の技法による、ＣＣＰのみを用いた、順ＣＣＰの後のクリッピングを示す概念図である。図５Ｂは、本開示の１つまたは複数の技法による、ＣＣＰのみを用いた、順ＣＣＰの後のクリッピングに起因する動的範囲変化を示す概念図である。図５Ａの例では、ビデオエンコーダ２０は、ＣＣＰ１５０の出力に対してクリッピング演算１７０を行う。図５Ｂの例に示されているように、クリッピング演算１７０を行った結果は、変換１０４への入力のビット深度がＢ＋２ビットではなくＢ＋１ビットになる。さらに、図５Ｂの例に示されているように、クリッピング演算１７０を行った結果として、ＩＣＣＰ変換１５２への入力はＢ＋７ビットではなくＢ＋６ビットになる。同様に、図５Ｂの例に示されているように、クリッピング演算１７０を行った結果として、再構成演算１２０への入力はＢ＋８ビットではなくＢ＋７ビットになる。
【００７４】
[0091]  従って、図５Ａおよび図５Ｂの例では、ビデオエンコーダ２０は、コーディングブロックの元のサンプルと１つまたは複数の予測ブロックのサンプルとに基づいて、ビデオデータのＣＵのための残差データを生成し得る。さらに、ビデオエンコーダ２０は、残差データにＣＣＰ変換を適用することによって、変換された残差データを生成し得る。残差データにＣＣＰ変換を適用した後に、ビデオエンコーダ２０は、変換された残差データにクリッピング演算を適用し得る。図５Ａおよび図５Ｂの例では、ビデオエンコーダ２０は、変換された残差データの各サンプルのビット深度がＢ＋１ビットになるようにクリッピング演算を行い得、ここで、Ｂは、コーディングブロックの元のサンプルのビット深度である。
【００７５】
[0092]  図５Ｃは、本開示の１つまたは複数の技法による、ＡＣＴとＣＣＰとを用いた、順ＣＣＰの後のクリッピングを示す概念図である。図５Ｄは、本開示の１つまたは複数の技法による、ＡＣＴとＣＣＰとを用いた、順ＣＣＰの後のクリッピングに起因する動的範囲変化を示す概念図である。図５Ｃの例では、ビデオエンコーダ２０は、ＣＣＰ１５０の出力に対してクリッピング演算１７０を行う。図５Ｄの例に示されているように、クリッピング演算１７０を行った結果は、変換１０４への入力のビット深度がＢ＋２ビットではなくＢ＋１ビットになる。さらに、図５Ｄの例に示されているように、クリッピング演算１７０を行った結果として、ＩＣＣＰ変換１５２への入力はＢ＋７ビットではなくＢ＋６ビットになる。同様に、図５Ｄの例に示されているように、クリッピング演算１７０を行った結果として、ＩＡＣＴ１５６への入力はＢ＋８ビットではなくＢ＋７ビットになる。さらに、図５Ｂの例に示されているように、クリッピング演算１７０を行った結果として、再構成演算１２０の入力はＢ＋９ビットではなくＢ＋８ビットになる。
【００７６】
[0093]  従って、図５Ｃおよび図５Ｄの例では、ビデオエンコーダ２０は、コーディングブロックの元のサンプルと１つまたは複数の予測ブロックのサンプルとに基づいて、ビデオデータのＣＵのための残差データを生成し得る。さらに、ビデオエンコーダ２０は、残差データに適応色変換を適用することによって第１の残差データを生成し得る。第１の残差データを生成した後に、ビデオエンコーダ２０は、第１の残差データにＣＣＰ変換を適用することによって第２の残差データを生成し得る。第１の残差データにＣＣＰ変換を適用した後に、ビデオエンコーダ２０は、第２の残差データにクリッピング演算を適用し得る。図５Ｃおよび図５Ｄの例では、ビデオエンコーダ２０は、残差データの各サンプルのビット深度がＢ＋１ビットになるようにクリッピング演算を行い得、ここで、Ｂは、コーディングブロックの元のサンプルのビット深度である。
【００７７】
[0094]  本開示の第２の例によれば、ＩＣＣＰへの入力の動的範囲をＢ＋ｎ１ビットにクリッピングすることが提案され、ここで、Ｂビットは、入力ピクセルと予測ピクセルとのビット深度であり、ｎ１は、前段の結果の動的範囲および性能要件に依存する、１〜６であり得る。図６Ａは、本開示の１つまたは複数の技法による、ビデオデコーダ３０における例示的なクリッピングロケーション（Ｃｌｉｐ＿Ｂ、Ｃｌｉｐ＿Ｃ、およびＣｌｉｐ＿Ｄ）を示す概念図である。図６Ｂ、図６Ｃ、および図６Ｄは、図６Ａに示されたクリッピングロケーションにおける例示的なクリッピングを示す概念図である。
【００７８】
[0095]  図６Ａおよび図６Ｂの例では、ＩＣＣＰ１５２への入力の動的範囲をＢ＋ｎ１ビットにクリッピングするためのクリッピング演算１８０がＣｌｉｐ＿Ｂとして示されている。例えば、Ｃｌｉｐ＿Ｂはデコーダ側において逆ＣＣＰ入力に適用されるので、Ｃｌｉｐ＿Ｂを追加するための修正は、そのようなクリッピングが存在せず不要である範囲拡張（ＲＥｘｔ：range extension）デコーダとの適合性がないことがある。従って、ＳＣＣデコーダは範囲拡張ビットストリームを復号することが可能であることが好ましいことがあるが、そのような修正はＳＣＣ規格に適しないことがある。図６Ａに示されているクリッピングロケーションはまた、ビデオエンコーダ２０の復号ループ中に存在し得る。
【００７９】
[0096]  このようにして、図６Ｂに示されている、本開示の第２の例によれば、ビデオデコーダ３０は、逆変換１１６を適用することによって残差データ２６０を生成し得る。ＩＴ１１６は、変換領域からサンプル値領域に残差データを変換し得る。例えば、ＩＴ１１６は逆コサイン変換または逆サイン変換であり得る。さらに、ＩＴ１１６を適用して残差データ２６０を生成した後に、ビデオデコーダ３０は、残差データ２６０にクリッピング演算１８０を適用することによって、クリッピングされた残差データ２６１を生成し得る。残差データ２６０にクリッピング演算１８０を適用した後に、ビデオデコーダ３０は、クリッピングされた残差データ２６１にＩＣＣＰ１５２変換を適用することによって残差データ２６２を生成し得る。ビデオデコーダ３０は、残差データ２６２に基づいて、ビデオデータのＣＵのコーディングブロックを再構成し得る。いくつかの事例では、コーディングブロックを再構成することの一部として、ビデオデコーダ３０は、残差データ２６２にＩＡＣＴ１５６を適用することによって残差データ２６４を生成し得、残差データ２６４に基づいて、ＣＵのコーディングブロックを生成し得る。この例では、クリッピングされた残差データ２６１を生成することの一部として、ビデオデコーダ３０は、残差データ２６０の各サンプルのビット深度がＢ＋ｎ１ビットになるように残差データ２６０をクリッピングし得、ここで、Ｂはコーディングブロックのサンプルのビット深度であり、ｎ１は１〜６の範囲内の値である。いくつかのそのような例では、ｎ１の値は第１の逆変換の動的範囲に依存する。この例はまた、ビデオエンコーダ２０の復号ループの一部として行われ得る。
【００８０】
[0097]  図６Ｂに示されている、本開示の第３の例では、ＩＡＣＴ１５６への入力の動的範囲をＢ＋ｎ２ビットにクリッピングすることが提案され、ここで、Ｂビットは、入力ピクセルと予測ピクセルとのビット深度であり、ｎ２の実施例は、前段の結果の動的範囲および性能要件に依存する、１〜７であり得る。この例では、クリッピングロケーションは、図６に示されているＣｌｉｐ＿Ｃである。言い換えれば、図６Ａの例では、ＩＡＣＴ１５２への入力の動的範囲をＢ＋ｎ２ビットにクリッピングするためのクリッピング演算１８２はＣｌｉｐ＿Ｃとして示されている。
【００８１】
[0098]  このようにして、本開示の第３の例によれば、ビデオデコーダ３０は、ＩＴ１１６を適用することによって残差データ２６０を生成し得る。残差データ２６０を生成した後に、ビデオデコーダ３０は、残差データ２６０にＩＣＣＰ変換１５２を適用することによって残差データ２６２を生成し得る。残差データ２６２を生成した後に、ビデオデコーダ３０は、残差データ２６２にクリッピング演算１８２を適用することによって、クリッピングされた残差データ２６３を生成し得る。さらに、この例では、ビデオデコーダ３０は、クリッピングされた残差データ２６３にＩＡＣＴ１５６を適用することによって残差データ２６４を生成し得る。この例では、ビデオデコーダ３０は、残差データ２６４に基づいて、ビデオデータのＣＵのコーディングブロックを再構成し得る。この例では、クリッピングされた残差データ２６３を生成することの一部として、ビデオデコーダ３０は、残差データ２６２の各サンプルのビット深度がＢ＋ｎ２ビットになるように残差データ２６２をクリッピングし得、ここで、Ｂはコーディングブロックのサンプルのビット深度であり、ｎ１は１〜７の範囲内の値である。さらに、この例では、ｎ２の値はＩＣＣＰ１５２の動的範囲に依存し得る。この例はまた、ビデオエンコーダ２０の復号ループの一部として行われ得る。
【００８２】
[0099]  図６Ｄに示されている、本開示の第４の例では、ＩＡＣＴ１５６の出力の動的範囲をＢ＋ｎ３ビットにクリッピングすることが提案され、ここで、Ｂビットは、入力ピクセルと予測ピクセルとのビット深度であり、ｎ３の例は、前段の結果の動的範囲および性能要件に依存し得る、１〜８であり得る。この例では、クリッピングロケーションは、図６Ａおよび図６Ｄに示されているＣｌｉｐ＿Ｄである。言い換えれば、図６Ａおよび６Ｄの例では、ＩＡＣＴへの入力の動的範囲をＢ＋ｎ２ビットにクリッピングするためのクリッピング演算１８４はＣｌｉｐ＿Ｄとして示されている。
【００８３】
[0100]  このようにして、本開示の第４の例によれば、ビデオデコーダ３０は、ＩＴ１１６を適用することによって残差データ２６０を生成し得る。残差データ２６０を生成した後に、ビデオデコーダ３０は、残差データ２６０にＩＣＣＰ変換１５２を適用することによって残差データ２６２を生成し得る。残差データ２６２を生成した後に、ビデオデコーダ３０は、残差データ２６２にＩＡＣＴ１５６を適用することによって残差データ２６４を生成し得る。残差データ２６４を生成した後に、ビデオデコーダ３０は、残差データ２６４にクリッピング演算１８４を適用することによって、クリッピングされた残差データ２６５を生成し得る。この例では、ビデオデコーダ３０は、クリッピングされた残差データ２６５に基づいて、ビデオデータのＣＵのコーディングブロックを再構成し得る。この例では、クリッピングされた残差データ２６５を生成することの一部として、ビデオデコーダ３０は、残差データ２６４の各サンプルのビット深度がＢ＋ｎ３ビットになるように残差データ２６４をクリッピングし得、ここで、Ｂはコーディングブロックのサンプルのビット深度であり、ｎ３は１〜８の範囲内の値である。この例では、ｎ３の値はＩＡＣＴ１５６の動的範囲に依存し得る。この例はまた、ビデオエンコーダ２０の復号ループの一部として行われ得る。
【００８４】
[0101]  本開示の第５の例は、ＩＡＣＴの入力バッファまたはアレイが以下のようになるように、ＩＡＣＴへの入力をＭａｘ（Ｂ＋ｎ４，１６）ビットにクリッピングすることを提供する。
【００８５】
（１）入力のビット深度Ｂ≦１２ビットである場合、１６ビット解像度に保持され得る、または
（２）入力のビット深度Ｂ＞１２ビットである場合、（Ｂ＋ｎ４）ビット解像度まで行くようになる、ここで、ｎ４の実施例は、ｎ４≧４、およびｎ４＜＝３２−Ｂなどである。
【００８６】
[0102]  このクリッピングは、それの前のモジュールがＩＣＣＰもしくはＩＴまたは任意の他の可能な有効なモジュールであり得るように、ＩＡＣＴの入力において提案される。それは、拡張精度が無効にされ、入力ビット深度Ｂ≦１２ビットおよびＢ＞１２ビットが考慮されるという仮定の下にある（ＪＣＴＶＣバグトラック＃１３２１を参照されたい）。恩恵は、入力ビット深度＜＝１２ビットの場合のために３２ビットアレイではなく１６ビットアレイ解像度が依然として保持され得るので、ソフトウェアとハードウェアの両方の、特にソフトウェアの記憶域が節約され得ることである。この第５の例におけるクリッピングから生じるビット深度は所定の値（例えば、１６）または元のビット深度＋ｎ４であり得るので、この第５の例におけるクリッピングから生じるビット深度は可変範囲内にあり得る。範囲は、それが元のビット深度とｎ４とに依存するので、可変である。
【００８７】
[0103]  本開示の第５の例のための図は図７および図８に示されている。特に、図７は、本開示の１つまたは複数の技法による、前のモジュールが逆ＣＣＰに関する場合の、ＩＡＣＴ入力におけるクリッピングの一例を示す概念図である。図７の例において、ビデオデコーダ３０、またはビデオエンコーダ２０の復号ループは、出力ＩＣＣＰ１５２（すなわち、ＩＡＣＴ１５６への入力）にクリッピング演算２００を適用し得る。クリッピング演算２００の結果として、ＩＡＣＴ１５６への入力は、Ｂ＋ｎ４と１６とのうちの最大値である。
【００８８】
[0104]  図８は、本開示の１つまたは複数の技法による、前のモジュールが逆変換に関する場合の、ＩＡＣＴ入力におけるクリッピングの一例を示す概念図である。図８の例において、ビデオデコーダ３０、またはビデオエンコーダ２０の復号ループは、ＩＴ１１６の出力（すなわち、ＩＡＣＴ１５６への入力）にクリッピング演算２１０を適用し得る。クリッピング演算２１０の結果として、逆ＡＣＴ１５６への入力は、Ｂ＋ｎ４と１６とのうちの最大値である。
【００８９】
[0105]  このようにして、図７と図８の両方において、ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダは、残差データ２８２に逆変換（例えば、図７のＩＣＣＰ１５２または図８のＩＴ１１６）を適用することによって残差データ２８０を生成し得る。図７の例では、残差データ２８２はサンプル領域中にあり、図８の例では、残差データ２８２は変換領域（例えば、周波数領域）中にある。残差データ２８０はＩＡＣＴ１５６への入力である。残差データ２８０を生成した後に、および残差データ２８４を生成するより前に、ビデオコーダは、ＩＡＣＴ１５６への入力のビット深度に基づいてＩＡＣＴ１５６への入力を可変範囲にクリッピングし得る。さらに、ビデオコーダは、クリッピングされた入力にＩＡＣＴ１５６を適用することによって残差データ２８４を生成し得る。さらに、ビデオコーダは、残差データ２８４に基づいて、ビデオデータのＣＵのコーディングブロック２８６を再構成し得る。
【００９０】
[0106]  ＩＡＣＴ１５６への入力（すなわち、残差データ２８０）をクリッピングすることの一部として、残差データ２８０のビット深度が特定の値（例えば、１２）よりも小さいかまたはそれに等しいことに基づいて、ビデオコーダは、残差データ２８０の解像度を特定の解像度（例えば、１５または１６）に保持し得る。本開示では、ビット深度および解像度という用語は同義であり得る。残差データ２８０のビット深度が特定の値よりも大きいことに基づいて、ビデオコーダは、残差データ２８０にクリッピング演算を適用し得る。例えば、クリッピング演算は、入力の（すなわち、残差データ２８０の）ビット深度Ｂ≦１２ビットである場合、ビット深度を１６ビット解像度に保持し得るか、または入力のビット深度Ｂ＞１２ビットである場合、ビット深度が（Ｂ＋ｎ４）ビット解像度まで行くことを可能にし得、ここで、ｎ４≧４およびｎ４＜＝３２−Ｂである。図７と図８の両方において、ビデオコーダは、残差データ２８０が（ｉ）残差データ２８０のビット深度＋ある値と（ｉｉ）特定の解像度とのうちの最大値に等しいビット深度を有するように、残差データ２８０をクリッピングし得る。
【００９１】
[0107]  本開示の第５の例の別のバージョンでは、ビデオコーダは、残差データに逆変換を適用することによって残差データ２８０を生成し得る。残差データ２８０を生成した後に、および残差データ２８４を生成するより前に、残差データ２８０のビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、ビデオコーダは、残差データ２８０の解像度を特定の解像度に保持し得る。代替的に、残差データ２８０のビット深度が特定の値よりも大きいことに基づいて、ビデオコーダは、残差データ２８０にクリッピング演算を適用し得る。この例では、ビデオコーダは、残差データ２８２にＩＣＣＰ変換１５２を適用することによって残差データ２８０を生成し得る。さらに、ビデオコーダは、残差データ２８４に基づいて、ビデオデータのＣＵのコーディングブロックを再構成し得る。
【００９２】
[0108]  図９Ａは、本開示の第６の例による、ＩＣＣＰへの入力が制約を受ける、例示的な一連の変換を示す概念図である。本開示の第６の例は、ＩＣＣＰへの入力がＭａｘ（Ｂ＋ｎ５，１５）ビットに限定されるように、すなわち、ＩＣＣＰへの入力が以下のようになるようにビットストリームの符号化を抑制する。
【００９３】
（１）入力のビット深度Ｂ＜＝１２ビットである場合、１５ビット解像度に保持され得る、または
（２）入力のビット深度Ｂ＞１２ビットである場合、（Ｂ＋ｎ５）ビット解像度まで行くようになる、ここで、ｎ５の実施例は、ｎ５＞＝３、およびｎ５＜＝３２−Ｂなどである。
概して、「制約」は、その制約に違反しているビットストリームがビデオコーディング規格に準拠しないことを指定する、ビデオコーディング規格によって定義される制限である。従って、ビットストリームがビデオコーディング規格に準拠する場合、ビットストリームは制約に違反しない。
【００９４】
[0109]  ＩＣＣＰは、データ経路に沿ってもう１ビットを導入することができる。その結果、ＩＣＣＰの使用は、本開示の第５の例に関して上述したように、ＩＡＣＴの入力バッファ／アレイビット深度を依然としてＭａｘ（Ｂ＋ｎ４，１６）ビットに整合させることができる。図９Ａは、本開示の１つまたは複数の技法による、例示的な一連の変換を示す概念図である。この例については、拡張精度が無効にされ、入力ビット深度Ｂ≦１２ビットおよびＢ＞１２ビットが考慮されるという仮定とともに説明した（ＪＣＴＶＣバグトラック＃１３２１を参照されたい）。恩恵は、ソフトウェアとハードウェアの両方の、特にソフトウェアの記憶域が節約され得、入力ビット深度≦１２ビットの場合のために３２ビットアレイではなく１６ビットアレイ解像度が依然として保持され得ることである。
【００９５】
[0110]  図９Ａの例に示されているように、本開示の第６の例では、ビットストリームは、ＩＣＣＰ１５２への入力（すなわち、残差データ２９２）がＢ＋ｎ５と１５のうちの最大値になるように符号化される。その上、図９Ａの例に示されているように、本開示のこの第６の例では、ビットストリームは、ＩＡＣＴ１５６への入力（すなわち、残差データ２９４）がＢ＋ｎ４と１６のうちの最大値になるように符号化される。
【００９６】
[0111]  このようにして、本開示の第６の例では、ビデオエンコーダ２０は、ＩＣＣＰ１５２への入力として与えられる、残差データ２９２のサンプル値の解像度を限定する制約を受けるビットストリームを生成し得る。符号化ビットストリームはビデオデータの符号化表現を備える。この例では、ビデオエンコーダ２０はビットストリームを出力し得る。この例では、残差データ２９２のそれぞれのサンプル値ごとに、制約は、それぞれのサンプル値の解像度を、予め定義された値、またはＣＵの元のサンプル値の解像度に依存する値のうちのどちらのより大きい値にも限定し得る。
【００９７】
[0112]  同様に、本開示の第６の例では、ビデオデコーダ３０は、ビデオデータの符号化表現を備える符号化ビットストリームから取得されたシンタックス要素に基づいて、ビデオデータのＣＵのための残差データ２９２を決定し得る。この例では、符号化ビットストリームは、残差データ２９２のサンプル値の解像度を限定する制約を受ける。さらに、この例では、ビデオデコーダ３０は、残差データ２９２に逆ＩＣＣＰを適用することによって残差データ２９４を生成し得る。ビデオデコーダ３０は、残差データ２９４に基づいて、ＣＵのコーディングブロック２９８を再構成し得る。例えば、ビデオデコーダ３０は、残差データ２９４にＩＡＣＴ１５６を適用することによって、残差データ２９４に基づいてコーディングブロックを再構成して残差データ２９６を生成し得、ビデオデコーダ３０は、この残差データ２９６を使用してコーディングブロック２９８を再構成し得る。
【００９８】
[0113]  ビデオエンコーダ２０とビデオデコーダ３０の両方について、第６の例では、残差データ２９２のそれぞれのサンプル値ごとに、制約は、それぞれのサンプル値の解像度を、予め定義された値（例えば、１５）、またはＣＵの元のサンプル値の解像度に依存する値（Ｂ＋ｎ５）のうちのより大きいどちらかに限定し得る。この例では、ＣＵの元のサンプル値の解像度に依存する値は、ＣＵの元のサンプル値の解像度＋ある値（例えば、ｎ５）に等しいもので、ある値は３よりも大きいかまたはそれに等しく３２−ＣＵの元のサンプル値の解像度よりも小さいかまたはそれに等しいものである（例えば、ｎ５≧３およびｎ５≦３２−Ｂ）。いくつかの事例では、予め定義された値は、１６に等しいか、または特定の実施形態のために必要な精度に等しい別の値に等しい。
【００９９】
[0114]  この第６の例では、ＣＵの元のサンプル値のビット深度が第１の値（例えば、１２）よりも小さいかまたはそれに等しいとき、残差データ２９２のサンプル値の解像度は第２の値（例えば、１５））に保持される。ＣＵの元のサンプル値のビット深度が第１の値よりも大きいとき、残差データ２９２のサンプル値の解像度は、ＣＵの元のサンプル値のビット深度＋第３の値（例えば、ｎ５）に限定される。この第６の例では、第３の値は、３よりも大きいかまたはそれに等しい値と、３２よりも小さいかまたはそれに等しい値−ＣＵの元のサンプル値のビット深度との間にあり得る（例えば、ｎ５≧３およびｎ５≦３２−Ｂ）。
【０１００】
[0115]  図９Ｂは、本開示の第７の例による、ＩＡＣＴへの入力が制約を受ける、例示的な一連の変換を示す概念図である。本開示の第７の例は、ＩＡＣＴ１５６への入力がＭａｘ（Ｂ＋ｎ５，１６）ビットに限定されるように、すなわちＩＡＣＴ１５６への入力が以下のようになるように符号化ビットストリームを抑制する。
【０１０１】
（１）入力のビット深度Ｂ＜＝１２ビットである場合、１６ビット解像度に保持され得る、または
（２）入力のビット深度がＢ＞１２ビットである場合、（Ｂ＋ｎ５）ビット解像度まで行くようになる、ここで、ｎ５の実施例は、ｎ５＞＝３、およびｎ５＜＝３２−Ｂである。
【０１０２】
[0116]  このようにして、本開示の第７の例では、ビデオエンコーダ２０は、ビデオデータのＣＵのための残差データ２９４のサンプル値の解像度を限定する制約を受けるビットストリームを生成し得る。この例では、符号化ビットストリームはビデオデータの符号化表現を備える。ビデオデコーダにおいて、残差データ２９４はＩＡＣＴ１５６への入力である。ビデオエンコーダ２０はビットストリームを出力し得る。
【０１０３】
[0117]  同様に、本開示の第７の例では、ビデオデコーダ３０は、ビデオデータの符号化表現を備える符号化ビットストリームから取得されたシンタックス要素に基づいて、ビデオデータのＣＵのための残差データ２９４を決定し得る。例えば、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得し、シンタックス要素に基づいて量子化変換係数を決定し、量子化変換係数を逆量子化し、逆変換ＩＴ１１６を適用し、ＩＣＣＰ１５２を適用し、それによって残差データ２９４を取得し得る。他の事例では、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得し、シンタックス要素（例えば、データ２３０）に基づいて量子化サンプルを決定し、量子化サンプルを逆量子化し、ＩＣＣＰ１５２を適用し、それによって残差データ２９４を取得し得る。
【０１０４】
[0118]  符号化ビットストリームは、残差データ２９４のサンプル値の解像度を限定する制約を受ける。この例では、ビデオデコーダ３０は、残差データ２９２にＩＣＣＰ１５２を適用することによって残差データ２９４を生成し得る。ビデオデコーダ３０は、残差データ２９４にＩＡＣＴ１５６を適用することによって残差データ２９６を生成し得る。ビデオデコーダ３０は、残差データ２９６に基づいて、ＣＵのコーディングブロック２９８を再構成し得る。
【０１０５】
[0119]  本開示の第７の例では、ビデオエンコーダ２０とビデオデコーダ３０の両方について、残差データ２９４のそれぞれのサンプル値ごとに、制約は、それぞれのサンプル値の解像度を、予め定義された値（例えば、１６）、またはＣＵの元のサンプル値の解像度に依存する値（例えば、Ｂ＋ｎ４）のうちのより大きいどちらかに限定する。さらに、ＣＵの元のサンプル値の解像度に依存する値は、ＣＵの元のサンプル値の解像度＋ある値に等しいものであり得、ある値は３よりも大きいかまたはそれに等しく３２−ＣＵの元のサンプル値の解像度よりも小さいかまたはそれに等しいものである。
【０１０６】
[0120]  さらに、本開示の第７の例では、ビデオエンコーダ２０とビデオデコーダ３０の両方について、ＣＵの元のサンプル値のビット深度が第１の値（例えば、１２）よりも小さいかまたはそれに等しいとき、残差データ２９４のサンプル値の解像度は第２の値（例えば、１６）に保持される。ＣＵの元のサンプル値のビット深度が第１の値（例えば、１２）よりも大きいとき、残差データ２９４のサンプル値の解像度は、ＣＵの元のサンプル値のビット深度（例えば、Ｂ）＋第３の値（例えば、ｎ４）に限定される。第３の値は、３よりも大きいかまたはそれに等しい値と、３２よりも小さいかまたはそれに等しい値−ＣＵの元のサンプル値のビット深度との間にある（例えば、ｎ５≧３およびｎ５≦３２−Ｂ）。
【０１０７】
[0121]  図９Ｃは、本開示の１つまたは複数の技法による、図９Ａと図９Ｂとの凝縮形態を示す例示的な一連の変換を示す概念図である。図９Ｃは、上記で説明した第６の例と第７の例の両方の効果を同時に示している。
【０１０８】
[0122]  図１０は、本開示の１つまたは複数の態様に従って技法を行い得るビデオエンコーダ２０の一例を示すブロック図である。図１０の例では、ビデオエンコーダ２０は、ビデオデータメモリ３００と、モード選択ユニット３０２と、復号ピクチャバッファ３０４と、加算器３０６と、変換処理ユニット３０８と、量子化ユニット３１０と、エントロピー符号化ユニット３１２とを含む。モード選択ユニット３０２は、動き補償ユニット３１４と、動き推定ユニット３１６と、イントラ予測処理ユニット３１８と、区分ユニット３２０とを含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット３２２と、逆変換ユニット３２４と、加算器３２６とを含む。
【０１０９】
[0123]  ビデオデータメモリ３００は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３００に記憶されたビデオデータは、例えば、ビデオソース１８から取得され得る。復号ピクチャバッファ３０４は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオエンコーダ２０によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３００および復号ピクチャバッファ１１６は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ３００および復号ピクチャバッファ３０４は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ３００は、ビデオエンコーダ２０の他の構成要素とのオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０１１０】
[0124]  符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。このようにして、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信し得る。
【０１１１】
[0125]  動き推定ユニット３１６および動き補償ユニット３１４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを行う。イントラ予測処理ユニット３１８は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを行い得る。ビデオエンコーダ２０は、例えば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを行い得る。
【０１１２】
[0126]  区分ユニット３２０は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、区分ユニット３２０は、レートひずみ分析（例えば、レートひずみ最適化）に基づいて、最初にフレームまたはスライスをＬＣＵに区分し、ＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット３０２は、さらに、ＣＵへのＬＣＵの区分を示す４分木データ構造を生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【０１１３】
[0127]  モード選択ユニット３０２は、例えば、誤差結果に基づいて、コーディングモード、イントラまたはインターのうちの１つを選択し得、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器３０６に与え得る。加算器３０６は残差ブロックデータを生成し得る。例えば、加算器３０６は、残差ブロックデータの各サンプルが、現在ＣＵのコーディングブロック中のサンプルと、現在ＣＵのＰＵの予測ブロックの対応するサンプルとの間の差分に等しくなるように、現在ＣＵの残差ブロックデータを生成し得る。加算器３０６は、図２の残差生成演算４８と、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、および図５Ｄの残差生成演算１００とを行い得る。
【０１１４】
[0128]  加算器３２６は、参照フレームとして使用するために符号化ブロック（すなわち、コーディングブロック）を再構成し得る。加算器３２６は、図２の再構成演算８４と、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、図５Ｄ、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図７、図８、図９Ａ、図９Ｂ、および図９Ｃの再構成演算１２０とを行い得る。モード選択ユニット３０２はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット３１２に与える。
【０１１５】
[0129]  動き推定ユニット３１６によって行われる動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロック（すなわち、予測ブロック）にぴったり一致することがわかるブロックである。
【０１１６】
[0130]  動き補償ユニット３１４は動き補償を行い得る。動き補償は、動き推定ユニット３１６によってＰＵについて決定された１つまたは複数の動きベクトルに基づいて、ＰＵのための１つまたは複数の予測ブロックをフェッチまたは生成することを伴い得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット３１４は、動きベクトルに基づいて、参照ピクチャリストのうちの１つのピクチャから予測ブロックを位置特定し得る。概して、動き推定ユニット３１６は、ルーマ成分に対して動き推定を行い、動き補償ユニット３１４は、クロマ成分とルーマ成分の両方について、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット３０２はまた、ビデオスライスのビデオブロックを復号する際のビデオデコーダ３０による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
【０１１７】
[0131]  イントラ予測処理ユニット３１８は、動き推定ユニット３１６と動き補償ユニット３１４とによって行われるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット３１８は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット３１８は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測処理ユニット３１８（または、いくつかの例では、モード選択ユニット３０２）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。ブロックのイントラ予測モードを選択した後に、イントラ予測処理ユニット３１８は、エントロピー符号化ユニット３１２にブロックのための選択されたイントラ予測モードを示す情報を提供し得る。エントロピー符号化ユニット３１２は、選択されたイントラ予測モードを示す情報を符号化し得る。
【０１１８】
[0132]  ビデオエンコーダ２０は、モード選択ユニット３０２からの予測データ（例えば、予測ブロック）と、コーディングされている元のビデオブロック（例えば、コーディングブロック）からのデータとの間の差分を決定することによって、残差ビデオブロックを形成し得る。加算器３０６は、この差分演算を行う１つまたは複数の構成要素を表す。変換処理ユニット３０８は、残差ブロックに変換を適用して、残差変換係数値を備えるビデオブロック（すなわち、変換係数ブロック）を生成し得る。例えば、変換処理ユニット３０８は、残差ブロックプロデュース残差係数値に離散コサイン変換（ＤＣＴ）または概念的に同様の変換を適用し得る。
【０１１９】
[0133]  変換処理ユニット３０８は、ＤＣＴと概念的に同様である他の変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合でも、変換処理ユニット３０８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル（またはサンプル）値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット３０８は、得られた変換係数を量子化ユニット３１０に送り得る。
【０１２０】
[0134]  さらに、変換処理ユニット３０８は、残差データにＡＣＴ変換および／またはＣＣＰ変換を適用し得る。さらに、本開示の１つまたは複数の技法によれば、変換処理ユニット３０８は、残差データにクリッピング演算を適用して、サンプル対変換領域変換、ＡＣＴ変換、および／またはＣＣＰ変換から生じる残差データのビット深度を低減し得る。このようにして、変換処理ユニット３０８は、図２の変換６０と、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、および図５Ｄの変換１０４とを行い得る。さらに、変換処理ユニット３０８は、図２のＣＣＰ５６と、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、および図５ＤのＣＣＰ１５０とを行い得る。さらに、変換処理ユニット３０８は、図２のＡＣＴ５２と、図４Ａ、図４Ｂ、図５Ｃ、および図５ＤのＡＣＴ１５４とを行い得る。いくつかの例では、変換処理ユニット３０８は、上記の第６および第７の例に関して説明した制約をエンフォースし得る。
【０１２１】
[0135]  量子化ユニット３１０は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全てに関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット３１０は、図２の量子化演算６４と、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、および図５Ｄの量子化演算１０８とを行う。さらに、いくつかの例では、量子化ユニット３１０は、次いで、量子化された変換係数を含む行列の走査を行い得る。代替的に、エントロピー符号化ユニット３１２が走査を行い得る。
【０１２２】
[0136]  ビデオエンコーダ２０は、コード化ビデオビットストリーム中で様々なパラメータセットを符号化し得る。そのようなパラメータセットは、１つもしくは複数のピクチャに共通であるシンタックス要素を含み得るピクチャパラメータセット（ＰＰＳ）、および／またはピクチャの１つもしくは複数のシーケンスに共通であるシンタックス要素を含み得るシーケンスパラメータセットを含み得る。
【０１２３】
[0137]  量子化に続いて、エントロピー符号化ユニット３１２は、量子化された変換係数をエントロピーコーディングする。言い換えれば、エントロピー符号化ユニット３１２は、量子化変換係数を表すシンタックス要素をエントロピー符号化し得る。例えば、エントロピー符号化ユニット３１２は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を行い得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット３１２によるエントロピーコーディングに続いて、ビデオエンコーダ２０は、符号化ビットストリームを別のデバイス（例えば、ビデオデコーダ３０）に送信するか、または後の送信もしくは取出しのためにアーカイブされ得る。図１０の例では、送信機３１３がビットストリームを送信する。送信機３１３は出力インターフェース２２の一部であり得る。
【０１２４】
[0138]  逆量子化ユニット３２２および逆変換ユニット３２４は、例えば、参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを生成するために、それぞれ逆量子化と逆変換とを適用する。例えば、逆量子化ユニット３２２は変換係数ブロックを逆量子化し得る。逆変換ユニット３２４は、逆量子化された変換係数ブロックに逆変換を適用することによってＴＵの変換ブロックを生成し得る。逆量子化ユニット３２２は、図２の逆量子化演算６８と、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、図５Ｄ、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図７、図８、図９Ａ、図９Ｂ、および図９Ｃの逆量子化演算１１２とを行い得る。逆変換ユニット３２２は、図２の逆変換７２と、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、図５Ｄ、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図７、図８、図９Ａ、図９Ｂ、および図９Ｃの逆変換１１６とを行い得る。さらに、逆変換ユニット３２２は、図２のＩＣＣＰ７６と、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、図５Ｄ、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図７、図９Ａ、図９Ｂ、および図９ＣのＩＣＣＰ１５２とを行い得る。逆変換ユニット３２２は、図２のＩＡＣＴ８０と、図４Ｂ、図５Ｃ、図５Ｄ、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図７、図８、図９Ａ、図９Ｂ、および図９ＣのＩＡＣＴ１５６とを行い得る。
【０１２５】
[0139]  逆量子化ユニット３２２、逆変換ユニット３２４、および加算器３２６は、ビデオエンコーダ２０の復号ループを形成し得る。本開示の１つまたは複数の技法によれば、逆変換ユニット３２４は、逆ＡＣＴと逆ＣＣＰ変換とを適用し得る。さらに、本開示の１つまたは複数の技法によれば、逆変換ユニット３２４は、本開示の他の場所の例において説明しているように、クリッピング演算を行い得る。
【０１２６】
[0140]  加算器３２６は、残差ブロックを、動き補償ユニット３１４によって生成された動き補償された予測ブロックに加算して、復号ピクチャバッファ３０４に記憶するための再構成されたビデオブロックを生成する。動き推定ユニット３１６および動き補償ユニット３１４は、後続のビデオフレーム中のブロックをインターコーディング（すなわち、インター予測）するために、再構築されたビデオブロックを参照ブロックとして使用し得る。
【０１２７】
[0141]  動き推定ユニット３１６は、インター予測された１つまたは複数のＰＵのピクセル値を予測するためにビデオエンコーダ２０が使用し得る１つまたは複数の参照ピクチャを決定し得る。動き推定ユニット３１６は、ピクチャが参照のために使用されないとマークされるまで、参照ピクチャを復号ピクチャバッファ３０４に記憶し得る。ビデオエンコーダ２０のモード選択ユニット３０２は、１つまたは複数の参照ピクチャについての識別情報を含む様々なシンタックス要素を符号化し得る。
【０１２８】
[0142]  図１１は、本開示の１つまたは複数の態様に従って技法を行い得るビデオデコーダの一例を示すブロック図である。図１１の例では、ビデオデコーダ３０は、ビデオデータメモリ３５０と、エントロピー復号ユニット３５２と、動き補償ユニット３５４と、イントラ予測処理ユニット３５６と、逆量子化ユニット３５８と、逆変換ユニット３６０と、復号ピクチャバッファ３６２と、加算器３６４とを含む。いくつかの例では、ビデオデコーダ３０は、ビデオエンコーダ２０（図１および図１０）に関して説明した符号化パスとは概して逆の復号パスを行い得る。
【０１２９】
[0143]  ビデオデータメモリ３５０は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ３５０に記憶されるビデオデータは、例えば、チャネル１６（図１）から、例えば、カメラなどのローカルビデオソースから、ビデオデータのワイヤードまたはワイヤレスネットワーク通信を介して、あるいは物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ３５０は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコーディングピクチャバッファ（ＣＰＢ）を形成し得る。復号ピクチャバッファ３６２は、例えば、イントラコーディングモードまたはインターコーディングモードでビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ３５０および復号ピクチャバッファ３６２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ３５０および復号ピクチャバッファ３６２は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ３５０は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。図１１の例に示されているように、ビデオデコーダ３０は、受信機３６１から符号化ビデオビットストリームを受信し得る。受信機３６１は入力インターフェース２８の一部であり得る。
【０１３０】
[0144]  復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から符号化ビデオスライスのビデオブロック並びに関連するシンタックス要素および／またはシンタックスデータを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット３５２は、量子化係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット３５２は、シンタックス要素を動き補償ユニット３５４に転送し得る。
【０１３１】
[0145]  エントロピー複号ユニット３５２は、様々なパラメータセット中の追加のシンタックス要素を復号し、パースし得る。そのようなパラメータセットは、１つもしくは複数のピクチャに共通であるシンタックス要素を含み得るＰＰＳ、および／またはピクチャの１つもしくは複数のシーケンスに共通であるシンタックス要素を含み得るＳＰＳを含み得る。
【０１３２】
[0146]  ビデオデコーダ３０は、復号ピクチャバッファ３６２に記憶された参照ピクチャに基づいて（例えば、デフォルト構成技法を使用して）、参照ピクチャリストと、リスト０とリスト１とを構成し得る。ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測処理ユニット３５６は、現在ビデオスライスのビデオブロックについての予測データを生成し得る。イントラ予測処理ユニット３５６は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて予測データを生成し得る。ビデオデコーダ３０がビデオフレームのスライスをインターコード化（すなわち、ＢまたはＰ）スライスとしてコーディングするとき、動き補償ユニット３５４は、エントロピー復号ユニット３５２から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成し得る。動き補償ユニット３５４は、参照ピクチャリストのうちの１つ内の参照ピクチャのうち１つから予測ブロックを生じ得る。
【０１３３】
[0147]  動き補償ユニット３５４は、現在ビデオスライスのビデオブロックについての予測情報を決定するために動きベクトルおよび／またはシンタックス要素を使用し得る。いくつかの例では、動き補償ユニット３５４は、エントロピー復号ユニット３５２から受信された動きベクトルに基づいて予測情報を生成し得る。動き補償ユニット３５４は、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成し得る。例えば、動き補償ユニット３５４は、現在ビデオスライスのビデオブロックをコーディングするために使用される予測モード（例えば、イントラ予測またはインター予測）と、インター予測スライスタイプ（例えば、ＢスライスまたはＰスライススライス）と、スライスのための参照ピクチャリストのうちの１つまたは複数についての構成情報と、現在ビデオスライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０１３４】
[0148]  逆量子化ユニット３５８は、ビットストリーム中で与えられ、エントロピー復号ユニット３５２によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、量子化パラメータＱＰYの使用を含み得る。ビデオデコーダ３０は、ビデオスライス中の各ビデオブロックについて量子化パラメータＱＰYを計算し得る。
【０１３５】
[0149]  逆変換ユニット３６０は、量子化解除された変換係数ブロックを受信し得る。現在ブロックについて変換がスキップされる場合、逆変換ユニット３６０は、量子化解除された残差ブロックを受信し得る。逆変換ユニット３６０は、逆変換を使用して、受信されたブロックを変換し得る。いくつかの例では、ピクセル領域中に残差ブロック（例えば、変換ブロック）を生成するための、変換係数への逆変換（例えば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセス）。逆変換ユニット３６０は、「残差信号」と呼ばれる信号を出力し得る。
【０１３６】
[0150]  さらに、逆変換ユニット３６０は、（逆コサイン変換または逆サイン変換など）逆変換された残差データに逆ＡＣＴ変換および／または逆ＣＣＰ変換を適用し得る。さらに、本開示の１つまたは複数の技法によれば、逆変換ユニット３６０は、逆変換された残差データにクリッピング演算を適用して、変換対サンプル領域変換、逆ＡＣＴ変換、および／または逆ＣＣＰ変換から生じる逆変換された残差データのビット深度を低減し得る。
【０１３７】
[0151]  ビデオデコーダ３０はまた、シンタックス要素または他の情報に基づいて現在ブロックがイントラ予測されていることを決定し得る。現在ビデオブロックがイントラ予測される場合、イントラ予測処理ユニット３５６は現在ブロックを復号し得る。イントラ予測処理ユニット３５６は、現在ブロックと同じピクチャから隣接する予測ブロックを決定し得る。イントラ予測処理ユニット３５６は、予測ブロックに基づいて変換係数ブロックおよび／または残差ブロックを生成し得る。
【０１３８】
[0152]  動き補償ユニット３５４またはイントラ予測処理ユニット３５６が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための変換係数ブロックおよび／または残差ブロックを生成した後に、ビデオデコーダ３０は、逆変換ユニット３５８からの残差ブロックを、動き補償ユニット３５４によって生成された対応する予測ブロックと合成することによって、復号ビデオブロックを形成する。加算器３６４は、この加算演算を行う１つまたは複数の構成要素を表す。復号ピクチャバッファ３６２は、復号ビデオブロックを所与のフレームまたはピクチャに記憶し、ビデオデコーダ３０は、それを後続の動き補償のために使用し得る。復号ピクチャバッファ３６２はまた、図１のディスプレイデバイス３２など、ディスプレイデバイス上での後の表示のために、復号ビデオを記憶し得る。
【０１３９】
[0153]  動き補償ユニット３５４および／またはイントラ予測処理ユニット３５６は、ルーマ残差ブロックと、スケールファクタと、予測クロマ残差サンプルとに基づいて、クロマ残差サンプルのブロックを決定し得る。クロマ残差サンプルのブロックを用いて、加算器３６４は、クロマ残差サンプルおよびルーマ残差サンプルを予測ブロックのそれぞれのクロマサンプルおよびルーマサンプルと加算して、現在ブロックを復号（例えば、現在ブロックを再構成）し得る。加算器３６４は、図３、図４Ａ、図４Ｂ、図５Ａ、図５Ｂ、図５Ｃ、図５Ｄ、図６Ａ、図６Ｂ、図６Ｃ、図６Ｄ、図７、図８、図９Ａ、図９Ｂ、および図９Ｃの再構成演算１２０を行い得る。ビデオデコーダ３０が、再構成されたビデオを生成すると、ビデオデコーダ３０は、いくつかの例では、再構成されたビデオブロックを（例えば、表示または記憶のために）復号ビデオとして出力し得る。
【０１４０】
[0154]  上記で説明したように、インター予測中に、動き補償ユニット３５４は、復号されている現在ブロックのための予測ビデオブロックを形成するためにビデオデコーダ３０が使用し得る１つまたは複数の参照ピクチャを決定し得る。動き補償ユニット３５４は、参照ピクチャが参照のために使用されないとマークされるまで、参照ピクチャを復号ピクチャバッファ３６２に記憶し得る。
【０１４１】
[0155]  図１２は、本開示の技法による、ビデオコーダの例示的な動作を示すフローチャートである。図１２の動作は、ビデオエンコーダ（例えば、図１および図１０のビデオエンコーダ２０）、ビデオデコーダ（例えば、図１および図１１のビデオデコーダ３０）、あるいは別のユニットまたはデバイスによって行われ得る。
【０１４２】
[0156]  図１２の例では、ビデオコーダは、第１の残差データのビット深度に基づいて第１の残差データを可変範囲にクリッピングし得る（４０２）。いくつかの例では、ビデオコーダは、変換された残差データに逆変換を適用することによって第１の逆変換された残差データを生成し得る。いくつかの例では、逆変換は、変換領域からサンプル領域への変換である。例えば、逆変換は逆離散コサイン変換または逆離散サイン変換であり得る。他の例では、逆変換はＩＣＣＰであり得る。第１の残差データはＩＡＣＴへの入力である。
【０１４３】
[0157]  さらに、ビデオコーダは、クリッピングされた第１の残差データにＩＡＣＴを適用することに少なくとも部分的によって第２の残差データを生成し得る（４０４）。いくつかの例では、第２の残差データを生成するためにＩＡＣＴに加えて１つまたは複数の変更が適用され得る。ビデオコーダは、第２の残差データに基づいて、ビデオデータのＣＵのコーディングブロックを再構成し得る（４０６）。例えば、ビデオコーダは、第２の残差データのサンプルに対応するコーディングブロックの各それぞれのサンプルが、第２の残差データのサンプルとＣＵのＰＵの予測ブロックの対応するサンプルとの和に（例えば、可能な丸め誤差で）実質的に等しくなるように、ＣＵのコーディングブロックを再構成し得る。
【０１４４】
[0158]  この例では、ビデオコーダは、残差データに逆変換を適用することによって第１の残差データを生成し得る。第１の残差データを生成した後に、および第２の残差データを生成するより前に、
（ｉ）第１の逆変換された残差データのビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、ビデオコーダは、第１の逆変換された残差データの解像度を特定の解像度に保持することができるか、あるいは
（ｉｉ）第１の逆変換された残差データのビット深度が特定の値よりも大きいことに基づいて、ビデオコーダは、第１の逆変換された残差データにクリッピング演算を適用し得る。
この例では、ビデオコーダは、第１の残差データにＩＡＣＴを適用することによって第２の残差データを生成し得る。ビデオコーダは、第２の残差データに基づいて、ビデオデータのＣＵのコーディングブロックを再構成し得る。
【０１４５】
[0159]  上記の例に応じて、本明細書で説明した技法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで行われ得、追加、マージ、または完全に除外され得る（例えば、全ての説明した行為またはイベントが本技法の実践のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に行われ得る。
【０１４６】
[0160]  １つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。例えば、図１０および図１１のブロックは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実施され得る。ソフトウェアで実施された場合、機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的な有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１４７】
[0161]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなるコン（con）もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【０１４８】
[0162]  命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、または本明細書で説明した技法の実施に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素において完全に実施され得る。
【０１４９】
[0163]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示された技法を行うように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられ得るか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０１５０】
[0164]  様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内にある。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを符号化または復号する方法であって、
第１の残差データのビット深度に基づいて前記第１の残差データを可変範囲にクリッピングすることと、
前記クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の残差データを生成することと、
前記第２の残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することとを備える、方法。
［Ｃ２］
前記第１の残差データをクリッピングすることは、
前記第１の残差データの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データの解像度を特定の解像度に保持することと、
前記第１の残差データの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用することとを備える、Ｃ１に記載の方法。
［Ｃ３］
前記特定の値は１２である、Ｃ２に記載の方法。
［Ｃ４］
前記第１の残差データをクリッピングすることは、前記第１の残差データが（ｉ）前記第１の残差データのビット深度＋ある値と、（ｉｉ）前記特定の解像度とのうちの最大値に等しいビット深度を有するように、前記第１の残差データをクリッピングすることを備える、Ｃ２に記載の方法。
［Ｃ５］
前記第１の残差データを生成するために逆クロス成分予測（ＩＣＣＰ）変換を適用することをさらに備える、Ｃ１に記載の方法。
［Ｃ６］
前記第１の残差データを生成するために変換領域からサンプル領域への逆変換を適用することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記逆変換は逆離散コサイン変換である、Ｃ６に記載の方法。
［Ｃ８］
ワイヤレス通信デバイス上で実行可能であり、ここにおいて、前記ワイヤレス通信デバイスは、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリに記憶された前記ビデオデータを処理するための命令を実行するように構成されたプロセッサと、
前記ビデオデータの符号化表現を備えるビットストリームを送信するように構成された送信機、前記ビデオデータの前記符号化表現が前記ＣＵの符号化表現を備える、または
前記ビデオデータの前記符号化表現を備える前記ビットストリームを受信するように構成された受信機
のうちの少なくとも１つとを備える、Ｃ１に記載の方法。
［Ｃ９］
前記ワイヤレス通信デバイスはセルラー電話であり、
前記ビットストリームはセルラー通信規格に従って変調され、
前記ビットストリームは前記送信機によって送信される、または
前記ビットストリームは前記受信機によって受信される
のうちの少なくとも１つ、Ｃ８に記載の方法。
［Ｃ１０］
ビデオデータを符号化または復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
第１の残差データのビット深度に基づいて前記第１の残差データを可変範囲にクリッピングすることと、
前記クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の逆変換された残差データを生成することと、
前記第２の逆変換された残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することと
を行うように構成された１つまたは複数のプロセッサとを備える、デバイス。
［Ｃ１１］
前記１つまたは複数のプロセッサは、前記第１の残差データをクリッピングすることの一部として、前記１つまたは複数のプロセッサが、
前記第１の残差データの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データの解像度を特定の解像度に保持することと、
前記第１の残差データの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用することとを行うように構成された、Ｃ１０に記載のデバイス。
［Ｃ１２］
前記特定の値は１２である、Ｃ１１に記載のデバイス。
［Ｃ１３］
前記１つまたは複数のプロセッサは、前記第１の残差データに前記クリッピング演算を適用することの一部として、前記１つまたは複数のプロセッサが、前記第１の残差データが（ｉ）前記第１の残差データのビット深度＋ある値と、（ｉｉ）前記特定の解像度とのうちの最大値に等しいビット深度を有するように、前記第１の残差データをクリッピングするように構成された、Ｃ１１に記載のデバイス。
［Ｃ１４］
前記１つまたは複数のプロセッサは、前記第１の残差データを生成するために逆クロス成分予測（ＩＣＣＰ）変換を適用するように構成された、Ｃ１０に記載のデバイス。
［Ｃ１５］
前記１つまたは複数のプロセッサは、前記第１の残差データを生成するために変換領域からサンプル領域への逆変換を適用するように構成された、Ｃ１０に記載のデバイス。
［Ｃ１６］
前記逆変換は逆離散コサイン変換である、Ｃ１５に記載のデバイス。
［Ｃ１７］
前記１つまたは複数のプロセッサに通信可能に結合された送信機、前記送信機が、前記ビデオデータの符号化表現を備えるビットストリームを送信するように構成され、前記ビデオデータの前記符号化表現が前記ＣＵの符号化表現を備える、または
前記１つまたは複数のプロセッサに通信可能に結合された受信機、前記受信機が、前記ビデオデータの前記符号化表現を備える前記ビットストリームを受信するように構成された、のうちの少なくとも１つをさらに備える、ワイヤレス通信デバイスである、Ｃ１０に記載のデバイス。
［Ｃ１８］
前記ワイヤレス通信デバイスはセルラー電話であり、
前記ビットストリームはセルラー通信規格に従って変調され、
前記ビットストリームは前記送信機によって送信される、または
前記ビットストリームは前記受信機によって受信される
のうちの少なくとも１つ、Ｃ１７に記載のデバイス。
［Ｃ１９］
ビデオデータを符号化または復号するためのデバイスであって、
第１の残差データのビット深度に基づいて前記第１の残差データを可変範囲にクリッピングするための手段と、
前記クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の残差データを生成するための手段と、
前記第２の逆変換された残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成するための手段とを備える、デバイス。
［Ｃ２０］
前記第１の残差データをクリッピングするための前記手段は、
前記第１の残差データの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データの解像度を特定の解像度に保持するための手段と、
前記第１の残差データの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用するための手段とを備える、Ｃ１９に記載のデバイス。
［Ｃ２１］
前記特定の値は１２である、Ｃ２０に記載のデバイス。
［Ｃ２２］
前記第１の残差データをクリッピングするための前記手段は、前記第１の残差データが（ｉ）前記第１の残差データのビット深度＋ある値と、（ｉｉ）前記特定の解像度とのうちの最大値に等しいビット深度を有するように、前記第１の残差データをクリッピングするための手段を備える、Ｃ２０に記載のデバイス。
［Ｃ２３］
前記第１の残差データを生成するために逆クロス成分予測（ＩＣＣＰ）変換を適用するための手段をさらに備える、Ｃ１９に記載のデバイス。
［Ｃ２４］
前記第１の残差データを生成するために変換領域からサンプル領域への逆変換を適用するための手段をさらに備える、Ｃ１９に記載のデバイス。
［Ｃ２５］
前記逆変換は逆離散コサイン変換である、Ｃ２４に記載のデバイス。
［Ｃ２６］
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は実行されたとき、ビデオデータを符号化または復号するためのデバイスの１つまたは複数のプロセッサに、
第１の残差データのビット深度に基づいて前記第１の残差データを可変範囲にクリッピングすることと、
前記クリッピングされた第１の残差データに逆適応色変換（ＩＡＣＴ）を適用することに少なくとも部分的によって第２の残差データを生成することと、
前記第２の残差データに基づいて、前記ビデオデータのコーディングユニット（ＣＵ）のコーディングブロックを再構成することとを行わせる、コンピュータ可読記憶媒体。
［Ｃ２７］
前記命令は、
前記第１の残差データの前記ビット深度が特定の値よりも小さいかまたはそれに等しいことに基づいて、前記第１の残差データの解像度を特定の解像度に保持することと、
前記第１の残差データの前記ビット深度が前記特定の値よりも大きいことに基づいて、前記第１の残差データにクリッピング演算を適用することとを前記１つまたは複数のプロセッサに行わせることに部分的によって、前記第１の残差データをクリッピングすることを前記１つまたは複数のプロセッサに行わせる、Ｃ２６に記載のコンピュータ可読記憶媒体。
［Ｃ２８］
前記命令は、前記第１の残差データが（ｉ）前記第１の残差データのビット深度＋ある値と、（ｉｉ）前記特定の解像度とのうちの最大値に等しいビット深度を有するように、前記第１の残差データをクリッピングすることを前記１つまたは複数のプロセッサに行わせることに部分的によって、前記第１の残差データをクリッピングすることを前記１つまたは複数のプロセッサに行わせる、Ｃ２６に記載のコンピュータ可読記憶媒体。
【図１】
0006608454.tif 000004
【図２】
0006608454.tif 000005
【図３】
0006608454.tif 000006
【図４Ａ】
0006608454.tif 000007
【図４Ｂ】
0006608454.tif 000008
【図５Ａ】
0006608454.tif 000009
【図５Ｂ】
0006608454.tif 000010
【図５Ｃ】
0006608454.tif 000011
【図５Ｄ】
0006608454.tif 000012
【図６Ａ】
0006608454.tif 000013
【図６Ｂ】
0006608454.tif 000014
【図６Ｃ】
0006608454.tif 000015
【図６Ｄ】
0006608454.tif 000016
【図７】
0006608454.tif 000017
【図８】
0006608454.tif 000018
【図９Ａ】
0006608454.tif 000019
【図９Ｂ】
0006608454.tif 000020
【図９Ｃ】
0006608454.tif 000021
【図１０】
0006608454.tif 000022
【図１１】
0006608454.tif 000023
【図１２】
0006608454.tif 000024