(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化するための方法であって、前記方法は、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して符号化することと、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを符号化すること、ビデオデータの前記１つまたは複数の他のブロックの前記サンプルは、前記出力ビット深度よりも大きいビット深度を有し、
を備え、
前記出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記１つまたは複数の他のブロックのサンプルを符号化することは、
前記出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータの前記１つまたは複数の他のブロックの前記サンプルを量子化することと、前記量子化ステップは、前記量子化パルスコード変調を使用して符号化される前記１つまたは複数の他のブロックとイントラ予測を使用して符号化される前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入し、
前記量子化されたサンプルをパルスコード変調することと、
を備える、方法。
【請求項２】
前記出力ビット深度は定義可能なパラメータである、請求項１に記載の方法。
【請求項３】
前記出力ビット深度を定義するために前記量子化されたサンプルのための前記量子化ステップを選択すること、
をさらに備える請求項１に記載の方法。
【請求項４】
前記量子化ステップを選択することは、前記ビデオデータの１つまたは複数の特性に基づいて前記量子化ステップを選択することを備える、請求項３に記載の方法。
【請求項５】
前記量子化ステップに従ってビデオデータの前記１つまたは複数の他のブロックの前記サンプルを量子化することは、ビデオデータの前記ブロックの前記サンプルの右シフトの数を備え、前記右シフトの数は前記量子化ステップに基づく、請求項１に記載の方法。
【請求項６】
量子化パルスコード変調を使用してビデオデータの前記１つまたは複数の他のブロックのサンプルを符号化することは、
共通の量子化ステップに従ってビデオデータの複数のブロックのサンプルを量子化することと、
ビデオデータの前記複数のブロック中で前記量子化されたサンプルをパルスコード変調することと、
を備える請求項１に記載の方法。
【請求項７】
量子化パルスコード変調を使用してビデオデータの前記１つまたは複数の他のブロックのサンプルを符号化することは、
第１の量子化ステップに従ってビデオデータの第１のブロックのサンプルを量子化することと、
前記第１の量子化ステップとは異なる第２の量子化ステップに従ってビデオデータの第２のブロックのサンプルを量子化することと、
ビデオデータの前記第１のブロックおよび前記第２のブロック中で前記量子化されたサンプルをパルスコード変調することと、
を備える請求項１に記載の方法。
【請求項８】
前記第１の量子化ステップと前記第２の量子化ステップとをベース量子化ステップに対するデルタ値として表すこと
をさらに備える請求項７に記載の方法。
【請求項９】
前記出力ビット深度の指示を生成することと、前記指示を符号化ビットストリーム中に含めることと、
をさらに備える請求項１に記載の方法。
【請求項１０】
前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含めること、
さらに備える請求項９に記載の方法。
【請求項１１】
ビデオデータのコーディングされたブロックを含む符号化ビットストリーム中に丸めオフセットの指示を含めること、
をさらに備える請求項９に記載の方法。
【請求項１２】
ビデオデータを復号するための方法であって、前記方法は、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して復号することと、
復号されたサンプルを生成するために出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを復号すること、前記復号されたサンプルは、前記出力ビット深度よりも大きいビット深度を有する、
を備え、
前記出力ビット深度に従ってビデオデータの前記１つまたは複数の他のブロックのサンプルを復号することは、
パルスコード復調を使用してビデオデータの前記１つまたは複数の他のブロックの前記サンプルを復号することと、
量子化ステップに従って前記復号されたサンプルを逆量子化することと、前記量子化ステップは、前記量子化パルスコード変調を用いてコーディングされる前記１つまたは複数のブロックとイントラ予測を使用して復号された前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入する、
を備える、方法。
【請求項１３】
前記量子化ステップは前記出力ビット深度に基づく、請求項１２に記載の方法。
【請求項１４】
前記復号されたサンプルを逆量子化することは、
前記量子化ステップと丸めオフセットとに従って前記復号されたサンプルを逆量子化すること、を備える請求項１３に記載の方法。
【請求項１５】
ビデオデータの前記フレームを含む符号化ビットストリームにおける前記出力ビット深度を受信すること、をさらに備える請求項１２に記載の方法。
【請求項１６】
ビデオデータの前記フレームの１つまたは複数の特性に基づいて前記量子化ステップを決定すること、をさらに備える請求項１２に記載の方法。
【請求項１７】
ビデオデータを符号化するように構成された装置であって、前記装置は、
ビデオデータを記憶するように構成されたメモリと、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して符号化し、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを符号化するように構成されたビデオ符号化ユニットと、ビデオデータの前記１つまたは複数の他のブロックの前記サンプルは、前記出力ビット深度よりも大きいビット深度を有する、
を備え、
前記ビデオ符号化ユニットは、
前記出力ビット深度を生成するための量子化の量を定義する量子化ステップに従ってビデオデータの前記１つまたは複数の他のブロックの前記サンプルを量子化するように構成された量子化ユニットと、前記量子化ステップは、前記量子化パルスコード変調を使用してコーディングされる前記１つまたは複数のブロックとイントラ予測を使用して符号化される前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入し、
パルスコード変調を使用して前記量子化されたサンプルを符号化するように構成された変調ユニットと、
を備える、装置。
【請求項１８】
前記出力ビット深度は定義可能なパラメータである、請求項１７に記載の装置。
【請求項１９】
前記ビデオ符号化ユニットは、前記出力ビット深度を定義するために前記量子化されたサンプルのための前記量子化ステップを選択するようにさらに構成された、請求項１８に記載の装置。
【請求項２０】
前記ビデオ符号化ユニットは、前記ビデオデータの１つまたは複数の特性に基づいて前記量子化ステップを選択するように構成された、請求項１９に記載の装置。
【請求項２１】
前記量子化ユニットは、ビデオデータの前記ブロックの前記サンプルの右シフトの数を使用してビデオデータの前記１つまたは複数の他のブロックの前記サンプルを量子化するように構成され、右シフトの前記数は前記量子化ステップに基づく、請求項１７に記載の装置。
【請求項２２】
前記量子化ユニットは、共通の量子化ステップに従ってビデオデータの複数のブロックのサンプルを量子化するように構成され、
前記変調ユニットは、ビデオデータの前記複数のブロック中でパルスコード変調を使用して前記量子化されたサンプルを符号化するように構成された、
請求項１７に記載の装置。
【請求項２３】
前記量子化ユニットは、第１の量子化ステップに従ってビデオデータの第１のブロックのサンプルを量子化し、前記第１の量子化ステップとは異なる第２の量子化ステップに従ってビデオデータの第２のブロックのサンプルを量子化するように構成され、
前記変調ユニットは、パルスコード変調を使用してビデオデータの前記第１のブロックおよび前記第２のブロック中で前記量子化されたサンプルを符号化するように構成された、
請求項１７に記載の装置。
【請求項２４】
前記ビデオ符号化ユニットは、前記第１の量子化ステップと前記第２の量子化ステップとをベース量子化ステップに対するデルタ値として表すようにさらに構成された、請求項２３に記載の装置。
【請求項２５】
前記ビデオ符号化ユニットは、前記出力ビット深度の指示を生成し、前記指示を符号化ビットストリーム中に含めるようにさらに構成された、請求項１７に記載の装置。
【請求項２６】
前記ビデオ符号化ユニットは、前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含めるようにさらに構成された、請求項２５に記載の装置。
【請求項２７】
前記ビデオ符号化ユニットは、ビデオデータの前記コーディングされたブロックを含む符号化ビットストリーム中に丸めオフセットの指示を含めるようにさらに構成された、請求項２５に記載の装置。
【請求項２８】
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータを記憶するように構成されたメモリと、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して復号し、
復号されたサンプルを生成するために出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを復号するように構成されたビデオ復号ユニット、ビデオデータの前記１つまたは複数の他のブロックの前記サンプルは、前記出力ビット深度よりも大きいビット深度を有する、
を備え、
前記ビデオ復号ユニットは、
パルスコード復調を使用してビデオデータの前記１つまたは複数の他のブロックの前記サンプルを復号するように構成された復調ユニットと、
量子化ステップに従って前記復号されたサンプルを逆量子化するように構成された逆量子化ユニットと、前記量子化ステップは、前記量子化パルスコード変調を用いてコーディングされた前記１つまたは複数の他のブロックとイントラ予測を使用して復号された前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入する、
を備える、装置。
【請求項２９】
前記量子化ステップは前記出力ビット深度に基づく、請求項２８に記載の装置。
【請求項３０】
前記逆量子化ユニットは、前記量子化ステップと丸めオフセットとに従って前記復号されたサンプルを逆量子化するようにさらに構成された、請求項２９に記載の装置。
【請求項３１】
前記ビデオ復号ユニットは、ビデオデータの前記フレームを含む符号化ビットストリームから前記出力ビット深度を受信するようにさらに構成された、請求項３０に記載の装置。
【請求項３２】
前記ビデオ復号ユニットは、ビデオデータの前記フレームの１つまたは複数の特性に基づいて前記量子化ステップを決定するようにさらに構成された、請求項２８に記載の装置。
【請求項３３】
ビデオデータを符号化するように構成された装置であって、前記装置は、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して符号化する手段と、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを符号化する手段と、ビデオデータの前記１つまたは複数の他のブロックの前記サンプルは、前記出力ビット深度よりも大きいビット深度を有し、
前記出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記１つまたは複数の他のブロックのサンプルを符号化する手段は、
前記出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータの前記１つまたは複数の他のブロックの前記サンプルを量子化する手段と、前記量子化ステップは、前記量子化パルスコード変調を使用して符号化される前記１つまたは複数の他のブロックとイントラ予測を使用して符号化される前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入し、
前記量子化されたサンプルをパルスコード変調する手段と、
を備える、装置。
【請求項３４】
前記出力ビット深度の指示を生成し、前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含める手段と、
をさらに備える請求項３３に記載の装置。
【請求項３５】
ビデオデータを復号するように構成された装置であって、前記装置は、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して復号する手段と、
復号されたサンプルを生成するために出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを復号する手段と、前記復号されたサンプルは、前記出力ビット深度よりも大きいビット深度を有する、
を備え、
前記出力ビット深度に従ってビデオデータの前記１つまたは複数の他のブロックのサンプルを復号する手段は、
パルスコード復調を使用してビデオデータの前記１つまたは複数の他のブロックのサンプルを復号する手段と、
量子化ステップに従って前記復号されたサンプルを逆量子化する手段と、前記量子化ステップは、前記量子化パルスコード変調を用いてコーディングされた前記１つまたは複数の他のブロックとイントラ予測を使用して復号された前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入する、
を備える、装置。
【請求項３６】
前記量子化ステップは前記出力ビット深度に基づく、請求項３５に記載の装置。
【請求項３７】
ビデオデータの前記フレームを含む符号化ビットストリームにおける前記出力ビット深度を受信する手段、
をさらに備える請求項３５に記載の装置。
【請求項３８】
実行されたとき、ビデオを符号化するためのデバイスの１つまたは複数のプロセッサに、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して符号化させ、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを符号化させる
命令を備え、
ビデオデータの前記１つまたは複数の他のブロックの前記サンプルは、前記出力ビット深度よりも大きいビット深度を有し、
前記出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記１つまたは複数の他のブロックのサンプルを符号化するための前記命令は、
前記出力ビット深度を生成するための量子化の量を定義する量子化ステップに従ってビデオデータの前記１つまたは複数の他のブロックの前記サンプルを量子化し、前記量子化ステップは、前記量子化パルスコード変調を使用してコーディングされる前記１つまたは複数の他のブロックとイントラ予測を使用して符号化される前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入する、
前記量子化されたサンプルを、パルスコード変調を使用して符号化する
ための命令を備える、コンピュータプログラム。
【請求項３９】
前記１つまたは複数のプロセッサに、さらに、
前記出力ビット深度の指示を生成させ、前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含めさせる、請求項３８に記載のコンピュータプログラム。
【請求項４０】
実行されたとき、ビデオデータを復号するためのデバイスの１つまたは複数のプロセッサに、
ビデオデータのフレームの少なくとも１つのブロックを、ビデオデータの前記フレームの別のブロックに関するイントラ予測を使用して復号させ、
復号されたサンプルを生成するために出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータの前記フレームの１つまたは複数の他のブロックのサンプルを復号させる
命令を備え、
ビデオデータの前記１つまたは複数の他のブロックの前記サンプルは、前記出力ビット深度よりも大きいビット深度を有し、
前記出力ビット深度に従って、ビデオデータの前記１つまたは複数の他のブロックのサンプルを復号するための前記命令は、
パルスコード復調を使用してビデオデータの前記１つまたは複数の他のブロックの前記サンプルを復号し、
量子化ステップに従って前記復号されたサンプルを逆量子化する、前記量子化ステップは、前記量子化パルスコード変調を使用してコーディングされる前記１つまたは複数の他のブロックとイントラ予測を使用して復号された前記少なくとも１つのブロックとの間の視覚的差異を低減するように前記サンプルに損失を導入する、
ための命令を備える、コンピュータプログラム。
【請求項４１】
前記量子化ステップは前記出力ビット深度に基づく、請求項４０に記載のコンピュータプログラム。
【請求項４２】
前記１つまたは複数のプロセッサに、さらに、
ビデオデータの前記フレームを含む符号化ビットストリームにおける前記出力ビット深度を受信させる
請求項４０に記載のコンピュータプログラム。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれる、２０１１年３月４日に出願された米国仮出願第６１／４４９，４１３号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータの量子化パルスコード変調（ＰＣＭ：pulse code modulation）のための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を含む。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに関する空間的予測、あるいは他の参照フレーム中の参照サンプルに関する時間的予測を使用し得る。空間的予測または時間的予測は、コーディングされるべきブロックについての予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。
【０００５】
[0005]インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され得、次いで量子化され得る残差変換係数を生じる。最初は２次元アレイに構成される量子化された変換係数は、エントロピーコーディングのために変換係数の１次元ベクトルを生成するために、特定の順序で走査され得る。
【発明の概要】
【０００６】
[0006]概して、本開示では、量子化パルスコード変調（ＰＣＭ）を使用したビデオコーディングのためのデバイスおよび方法について説明する。量子化ＰＣＭは、いくつかの状況では、ひずみがコード化ビデオに加算され得るようにビデオサンプルを量子化するステップを含む。このようにして、量子化ＰＣＭを用いてコーディングされたビデオブロックは、インター予測コーディングまたはイントラ予測コーディングなど、他の非可逆圧縮（lossy compression）技法を用いてコーディングされた隣接するビデオブロックとより均一に見える。
【０００７】
[0007]ビデオエンコーダは、たとえば、量子化されたサンプルをＰＣＭコーディングするより前に、まず、量子化ステップを用いて入力ビデオサンプルを量子化し得る。量子化ステップは、概して、ビデオにひずみを加算し、量子化されたＰＣＭコード化サンプルの出力ビット深度を定義する。この量子化ステップおよび／または出力ビット深度は、符号化ビデオビットストリーム中でデコーダにシグナリングされ得る。一例として、出力ビット深度の指示が、４ビットシンタックス要素として符号化ビットストリームのシーケンスヘッダ中に含まれ得る。
【０００８】
[0008]ビデオデコーダは、別の例として、量子化されたＰＣＭコード化ビデオサンプルを含む符号化ビデオビットストリームを受信し得る。これらのサンプルは、最初に、パルスコード復調を使用して復号され、次いで、ビデオを符号化するために使用されるのと同じ量子化ステップを用いて逆量子化される。一例として、ビデオデコーダは、符号化ビデオビットストリームからこの量子化ステップを抽出し得る。
【０００９】
[0009]一例では、本開示では、出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングすることを備える、ビデオデータをコーディングするための方法について説明する。量子化パルスコード変調は、出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータのブロックのサンプルを量子化することと、量子化されたサンプルをパルスコード変調することとを含む。本開示ではまた、パルスコード復調を使用してビデオデータのコード化ブロックのサンプルを復号することと、量子化ステップに従って、復号されたサンプルを逆量子化することとを備える、ビデオデータを復号するための方法について説明する。
【００１０】
[0010]別の例では、本開示では、ビデオデータをコーディングするように構成された装置について説明する。本装置は、出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングするように構成されたビデオ符号化ユニットを含む。ビデオコーディングユニットは、出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータのブロックのサンプルを量子化するように構成された量子化ユニットと、パルスコード変調を使用して、量子化されたサンプルをコーディングするように構成された変調ユニットとを含む。本開示ではまた、ビデオデータを復号するように構成された装置について説明する。本装置は、出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータのコード化ブロックのサンプルを復号するように構成されたビデオ復号ユニットを含む。ビデオ復号ユニットは、パルスコード復調を使用してビデオデータのコード化ブロックのサンプルを復号するように構成された復調ユニットと、量子化ステップに従って、復号されたサンプルを逆量子化するように構成された逆量子化ユニットとを含む。
【００１１】
[0011]別の例では、本開示では、実行されたとき、出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングすることを、ビデオをコーディングするためのデバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品について説明する。量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングするための命令は、出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータのブロックのサンプルを量子化することと、量子化されたサンプルをパルスコード変調することとを行うための命令を含む。本開示ではまた、出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータのコード化ブロックのサンプルを復号するための命令を含むビデオデータを復号するためのコンピュータプログラム製品について説明する。ビデオデータのブロックのサンプルを復号するための命令は、パルスコード復調を使用してビデオデータのコード化ブロックのサンプルを復号することと、量子化ステップに従って、復号されたサンプルを逆量子化することとを行うための命令を含む。
【００１２】
[0012]本発明の１つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載する。本発明の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１３】
【図１】例示的なビデオ符号化および復号システムを示すブロック図。
【図２】例示的なビデオエンコーダを示すブロック図。
【図３】ビデオエンコーダの例示的な量子化ＰＣＭユニットを示すブロック図。
【図４】シーケンスヘッダをもつ例示的な符号化ビデオビットストリームを示す図。
【図５】例示的なビデオデコーダを示すブロック図。
【図６】ビデオデコーダの例示的な量子化ＰＣＭ復号ユニットを示すブロック図。
【図７】例示的な符号化プロセスを示すフローチャート。
【図８】例示的な復号プロセスを示すフローチャート。
【発明を実施するための形態】
【００１４】
[0021]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（すなわち、フレーム内）予測および／または時間的（すなわち、フレーム間）予測技法を適用し得る。
【００１５】
[0022]高効率ビデオコーディング（ＨＥＶＣ）規格に従うビデオコーディングでは、ビデオフレームが、コーディングユニットと、予測ユニットと、変換ユニットとに区分され得る。コーディングユニットは、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。コーディングユニットは、一般に方形であり、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４などの他のビデオコーディング規格の下でのいわゆるマクロブロックと同様であると見なされ得る。コーディングユニットは、４分木区分（quadtree partitioning）スキームに従って、ますます小さいコーディングユニットに区分され得る。
【００１６】
[0023]より良好なコーディング効率を達成するために、コーディングユニットは、ビデオコンテンツに応じて可変サイズを有し得る。さらに、コーディングユニットは、予測または変換のためにより小さいブロックに分割され得る。具体的には、各コーディングユニットは、予測ユニットと変換ユニットとにさらに区分され得る。予測ユニットは、他のビデオコーディング規格の下でのいわゆるマクロブロックパーティションと同様であると見なされ得る。変換ユニットは、変換係数を生成するために変換が適用される残差データのブロックを指す。
【００１７】
[0024]コーディングユニットは、通常、Ｙとして示される１つのルミナンス成分と、ＵおよびＶとして示される２つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、サンプル数で表されるＵおよびＶ成分のサイズは、Ｙ成分のサイズと同じであるかまたはそれとは異なり得る。
【００１８】
[0025]ブロック（たとえば、ビデオデータの予測ユニット）をコーディングするために、ブロックの予測子が最初に導出される。予測子は、イントラ（Ｉ）予測（すなわち、空間的予測）またはインター（ＰまたはＢ）予測（すなわち、時間的予測）のいずれかを通して導出され得る。したがって、いくつかの予測ユニットは、同じフレーム中の隣接参照ブロックに関する空間的予測を使用してイントラコーディング（Ｉ）され得、他の予測ユニットは、他のフレーム中の参照ブロックに関してインターコーディング（ＰまたはＢ）され得る。
【００１９】
[0026]予測子が識別されると、元のビデオデータブロックとそれの予測子との間の差分が計算される。この差分は、予測残差とも呼ばれ、コーディングされるべきブロック中のピクセルと、参照ブロック、すなわち、予測子との間のピクセル差分を指す。より良好な圧縮を達成するために、予測残差は、概して、たとえば、離散コサイン変換（ＤＣＴ）、整数変換、カルーネンレーベ（Karhunen-Loeve）（Ｋ−Ｌ）変換、または他の変換を使用して変換され得る。
【００２０】
[0027]変換は、空間領域におけるピクセル差分値を、変換領域、たとえば、周波数領域における変換係数に変換する。変換係数は、通常、各変換ユニットのための２次元（２Ｄ）アレイに配列される。さらなる圧縮のために、変換係数は量子化され得る。次いで、エントロピーコーダが、量子化された変換係数に、エントロピーコーディング、それぞれコンテキスト適応型可変長コーディング（ＣＡＶＬＣ：Context Adaptive Variable Length Coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）などを適用する。
【００２１】
[0028]場合によっては、上記で説明した技法を使用するときに、ビデオエンコーダがデータコンプレッサではなくデータエキスパンダとして働くことが可能である。エンコーダは、概して、大部分のビデオコンテンツに対して極めて良好な圧縮を達成するが、変換領域において非定型コンテンツを含んでいるビデオフレームの分離部分（isolated parts）は大量の符号化データを生成し得る。したがって、あるビデオコンテンツでは、エンコーダは、ビデオデータを圧縮する目的を果たさないことがあり、代わりに、過剰なデータを生成することがある。これらの場合では、予測コーディングの代わりにパルスコード変調（ＰＣＭ）コーディングを適用することによって、ビデオエンコーダが全体的なビデオ圧縮を改善し得る。ＰＣＭコーディングは、通常、予測ベース圧縮なしにビデオデータの個々のサンプルを符号化する可逆コーディングプロセスである。
【００２２】
[0029]ＭＰＥＧ−２ビデオコーディング規格は、一例として、ビデオデータの符号化されたマクロブロックのために生成され得るコード化ビットの数に対する上限を指定する。上限は、マクロブロック復号のために取得され、次いで処理される特定のデータ量を指定することによって、デコーダ設計を助ける。この上限を上回るコーディングビットの生成はＭＰＥＧ−２デコーダ設計と矛盾することになる。
【００２３】
[0030]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格（以下Ｈ．２６４）によって指定されたイントラＰＣＭモードでは、エンコーダは、予測、変換コーディング、およびエントロピーコーディングなしにマクロブロックのサンプル値を送信する。すなわち、マクロブロックのためのイントラＰＣＭモードでは、エンコーダは、たとえば、サンプル当たり８ビットを使用して、単にマクロブロックの領域中のピクセル値を符号化する。エンコーダは、未加工バイト値としてＰＣＭ符号化ピクセル値を生成する。イントラＰＣＭモードは、エンコーダが、複雑な計算なしに各マクロブロックのビット数を所定の値またはそれ以下に調整することを可能にする。
【００２４】
[0031]Ｈ．２６４におけるイントラＰＣＭモードコーディングの使用はマクロブロックモードシンタックス要素によって示される。イントラＰＣＭモードコーディングが使用されるとき、各関連するマクロブロックのサンプル値は、予測、変換コーディング、およびエントロピーコーディングなしに送信される。エントロピーコーディングがコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）であるとき、バイナリ算術コーディング（ＢＡＣ）は、サンプル値を送信するより前に終了され、初期化されることに留意されたい。
【００２５】
[0032]ＨＥＶＣの現在のモデルは、Ｈ．２６４におけるイントラＰＣＭに匹敵するツールを有しない。１つの問題は、ＨＥＶＣの特性がＨ．２６４の特性とは異なるということである。Ｈ．２６４では、データ量は、１６×１６ピクセルのサイズを有するマクロブロックレベルにおいて制限される。対照的に、ＨＥＶＣは、６４×６４ピクセルまでの、または場合によってはより大きいコーディングユニットおよび予測ユニットを有する。したがって、ユニット当たりのデータ量を制限する制約は、実際に発見された、いくつかのネットワーク要件を満たすために、Ｈ．２６４の場合よりもＨＥＶＣのほうが高い。
【００２６】
[0033]Ｈ．２６４におけるイントラＰＣＭモードの別の問題は、それが可逆であるということである。可逆コーディングの場合、符号化データはデコーダ側において完全再構成を有する。したがって、完全に無ひずみのマクロブロックは、そうではない不可逆の符号化フレーム中に現れることがある。これは、可逆（lossless）データと隣接する不可逆(lossy)データとの間の視覚的差異により、視覚的に衝撃的であるか、または少なくとも視覚的に顕著であり得る。
【００２７】
[0034]ＨＥＶＣのさらに別の問題は、それが８ビット、１０ビット、１２ビットまたはさらに大きいビット深度のコンテンツをサポートし得るということである。したがって、サンプル当たり１２ビットの６４×６４コーディングユニット（またはより大きい）のシグナリングは、ＰＣＭモードのための望ましくないデータ量を生じ得る。
【００２８】
[0035]本開示は、Ｈ．２６４およびＨＥＶＣ規格に従って定義されるビデオコーディングプロセスなど、ビデオコーディングプロセスにおいて使用する量子化ＰＣＭモードの概念を導入する。量子化ＰＣＭモードでは、ビデオエンコーダは、ＰＣＭコーディングの適用より前に入力ピクセルのブロックを量子化する。同様に、ビデオデータが量子化ＰＣＭモードを使用してコーディングされると、ビデオデコーダは、最初にコード化ビデオデータをパルス復調し、次いで逆量子化を適用することになる。コーディングユニット（ＨＥＶＣ）、予測ユニット（ＨＥＶＣ）、変換ユニット（ＨＥＶＣ）、マクロブロック（Ｈ．２６４）、およびパーティション（Ｈ．２６４）を、本開示では概してブロックと呼ぶ。
【００２９】
[0036]量子化ＰＣＭモードは２つの目的をサポートし得る。第１に、量子化ＰＣＭコーディングは、エンコーダが、異なるレベル、プロファイル、フレームレート、量子化パラメータ（ＱＰ）、解像度など、異なる状況におけるコーディングユニットのための最大データ量に対するフレキシブルな制限を指定することを可能にし得る。そのような制限がない場合、ＰＣＭコーディングは、ブロックのための利用可能なコーディングビットのレベルに勝ることがある。このフレキシビリティは、出力ビット深度、したがってＰＣＭコード化ビデオデータのために生成される最大データ量を制御するようにコンテキスト固有量子化ステップを適用することによって達成され得る。第２に、ＰＣＭプロセスに損失を導入することによって、量子化ＰＣＭコーディングは、簡単な方法で不可逆（lossy）部分と可逆(lossless)部分との両方を含むビデオフレームの望ましくない視覚的外観を低減または除去し得る。
【００３０】
[0037]図１は、本開示の例による量子化パルスコード変調／復調のための技法を利用するように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。符号化ビデオはまた、記憶媒体３４またはファイルサーバ３６に記憶され得、必要に応じて宛先デバイス１４によってアクセスされ得る。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。
【００３１】
[0038]本開示の例による、量子化パルスコード変調／復調のための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３２】
[0039]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００３３】
[0040]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３４】
[0041]ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体３４またはファイルサーバ３６に記憶され得る。記憶媒体３４は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための他の好適なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００３５】
[0042]ファイルサーバ３６は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含むいずれかの標準データ接続を通して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、またはその両方の組合せを含み得る。
【００３６】
[0043]図１の例では、宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４またはファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００３７】
[0044]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３８】
[0045]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３９】
[0046]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、またはそのような規格の拡張など、他のプロプライエタリまたは業界標準に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例には、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００４０】
[0047]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４１】
[0048]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法がソフトウェアで部分的に実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４２】
[0049]ビデオエンコーダ２０は、ビデオ符号化プロセスにおいて量子化ＰＣＭモードを使用するために本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ３０は、ビデオ復号プロセスにおいて量子化ＰＣＭモードを使用するためにこれらの技法のいずれかまたはすべてを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオエンコーダおよびビデオデコーダは、それぞれビデオ符号化ユニットおよびビデオ復号ユニットと呼ばれることがある。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指し得る。
【００４３】
[0050]図２は、本開示で説明するビデオコーディングプロセスにおける量子化ＰＣＭモードのための技法を使用し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０について、例示のためにＨＥＶＣコーディングのコンテキストにおいて説明するが、量子化ＰＣＭモードから恩恵を受け得る他のコーディング規格または方法に関して本開示を限定するものではない。量子化ＰＣＭビデオコーディングに加えて、ビデオエンコーダ２０は、ビデオフレーム内のコーディングユニットのイントラコーディングおよびインターコーディングを実行し得る。
【００４４】
[0051]イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在のフレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
【００４５】
[0052]図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、量子化ＰＣＭユニット４７と、参照フレームバッファ６４と、加算器５０と、変換ユニット５２と、変換量子化ユニット５４と、エントロピーコーディングユニット５６とを含む。図２に示す変換ユニット５２は、残差データのブロックに実際の変換を適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、変換逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。
【００４６】
[0053]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。量子化ＰＣＭユニット４７は、本開示の技法に従って、入力ビデオブロックに対して量子化ＰＣＭコーディングを実行する。
【００４７】
[0054]モード選択ユニット４０は、たとえば、各モードについての誤差（すなわち、ひずみ）および／または圧縮結果に基づいて、コーディングモードのうちの１つ、すなわちイントラ、インターまたは量子化ＰＣＭを選択し得る。インターモードまたはイントラモードが選択された場合、モード選択ユニット４０は、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレーム中で使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。いくつかのビデオフレームはＩフレームに指定され得、Ｉフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット４６は、ＰフレームまたはＢフレーム中のブロックのイントラ予測符号化を実行し得る。
【００４８】
[0055]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在のフレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ユニットの値をフェッチまたは生成することを伴い得る。
【００４９】
[0056]動き推定ユニット４２は、予測ユニットを参照フレームバッファ６４に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。いくつかの例では、ビデオエンコーダ２０は、参照フレームバッファ６４に記憶された参照フレームのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照フレームの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を計算し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。動き推定ユニット４２は、計算された動きベクトルをエントロピーコーディングユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、たとえば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在ＣＵの予測ユニットについての予測値を計算し得る。
【００５０】
[0057]イントラ予測ユニット４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測コーディングの代替として、受信ブロックに対してイントラ予測符号化を実行し得る。イントラ予測ユニット４６は、隣接する、前にコーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを符号化し得る。イントラ予測ユニット４６は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測ユニット４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、たとえば、３３個の方向性予測モードで構成され得る。
【００５１】
[0058]イントラ予測ユニット４６は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、ＰＵのための予測ブロックの１つまたは複数のピクセルを形成するために、空間的に隣接するピクセルの値を合成し、その合成された値を適用するための機能を含み得る。ＰＵ中のすべてのピクセル位置の値が計算されると、イントラ予測ユニット４６は、ＰＵと予測ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測ユニット４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測ユニット４６は、次いで、ＰＵを加算器５０に送り得る。
【００５２】
[0059]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４またはイントラ予測ユニット４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の２次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中のピクセルの数と同じである。残差ブロック中の値は、ＰＵ中のコロケートピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じてクロマ差分またはルーマ差分になり得る。
【００５３】
[0060]変換ユニット５２は、残差ブロックから１つまたは複数の変換ユニット（ＴＵ）を形成し得る。変換ユニット５２は、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に同様の変換などの変換をＴＵに適用して、変換係数を備えるビデオブロックを生成する。変換ユニット５２は、得られた変換係数を変換量子化ユニット５４に送り得る。変換量子化ユニット５４は、次いで、その変換係数を量子化し得る。次いで、エントロピー符号化ユニット５６は、指定された走査順序に従って行列中の量子化された変換係数の走査を実行して、１次元アレイを生成し得る。本開示では、エントロピーコーディングユニット５６が走査を実行するものとして説明する。ただし、他の例では、変換量子化ユニット５４などの他の処理ユニットが走査を実行することができることを理解されたい。エントロピー符号化ユニット５６は、次いで、変換係数の１Ｄアレイをエントロピー符号化してエントロピーコード化ビットストリームを生成する。
【００５４】
[0061]エントロピー符号化ユニット５６は、走査された係数にＣＡＶＬＣまたはＣＡＢＡＣなどのエントロピーコーディングを適用し得る。さらに、エントロピーコーディングユニット５６は、動きベクトル（ＭＶ）情報と、ビデオデコーダ３０においてビデオデータを復号する際に有用な様々なシンタックス要素のいずれかとを符号化し得る。ビデオデコーダ３０は、これらのシンタックス要素を使用して符号化ビデオデータを再構成し得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオデコーダ３０などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【００５５】
[0062]変換逆量子化ユニット５８および逆変換ユニット６０は、たとえば、参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照フレームバッファ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームバッファ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【００５６】
[0063]量子化ＰＣＭユニット４７は、量子化ＰＣＭモードが選択されると、モード選択ユニット４０からビデオブロック（たとえば、コーディングユニット）を受信する。上記で説明したように、量子化ＰＣＭモードは、他のコーディングモード（たとえば、イントラ予測コーディングまたはインター予測コーディング）がビデオフレームの１つまたは複数のコーディングユニットのためのデータコンプレッサではなく、データエキスパンダとして働くであろうと決定されたときに選択され得る。たとえば、モード選択ユニット４０は、ブロックに対する様々なコーディングモードをテストし、それらのモードが所望のレートひずみメトリックを満たすか否かを決定し得る。あるコーディングモードが、ひずみの所望の最大量を達成するために割り振られるべき大量のコーディングビットを生じることをテストが示す場合、モード選択ユニット４０は量子化ＰＣＭモードを選択し得る。したがって、上記で説明したように、ビデオブロックに対して予測技法を実行するのではなく、エンコーダは、量子化ＰＣＭユニット４７を使用してブロックの各サンプル（すなわち、ピクセル）に対して量子化ＰＣＭコーディングプロセスを実行し、ビデオデータの符号化ビットストリーム中でそれらの量子化ＰＣＭコード化ブロックを送信することになる。
【００５７】
[0064]ＰＣＭコーディングの使用は、符号化ビデオビットストリーム中でビデオデコーダにシグナリングされ得る。ＰＣＭコーディングが使用されたことを示すために、予測ユニットレベルにおいてＰＣＭフラグ（ｐｃｍ＿ｆｌａｇ）がシグナリングされ得る。予測モードがイントラであり、パーティションサイズが２Ｎ×２Ｎであり、ブロックサイズが最小ＰＣＭブロックサイズよりも大きいかまたはそれに等しい場合、ｐｃｍ＿ｆｌａｇはシグナリングされる。ｐｃｍ＿ｆｌａｇが１に等しい場合、いくつかの０ビットは、（たとえば、バイトアラインメントを有するために）次のバイトの開始までパディングするためにビットストリーム中でシグナリングされ得ることに留意されたい。ＰＣＭコーディングに関する追加のシンタックス要素は、シーケンスパラメータセット（ＳＰＳ）中でシグナリングされ得る。たとえば、シンタックス要素は、ピクセルのルーマ成分とクロマ成分の両方（たとえば、ｐｃｍ＿ｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ１とｐｃｍ＿ｂｉｔ＿ｄｅｐｔｈ＿ｃｈｒｏｍａ＿ｍｉｎｕｓ１）のためのＰＣＭビット深度（または量子化ステップ）を示す。
【００５８】
[0065]図３に、本開示の一態様による量子化ＰＣＭユニット４７のブロック図を示す。上述のように、本開示は、ビデオデータのブロック中で量子化ＰＣＭコーディングをビデオサンプル（すなわち、ピクセル）に適用するための技法を提示する。量子化ＰＣＭコーディングは、ＰＣＭコーディングの前に量子化ステップを導入することによって達成され得る。このコンテキストでは、量子化は圧縮プロセスであり、したがって、あるビット深度ｍ（たとえば、１０ビットによって表されるピクセルデータ）における入力値が、より小さいビット深度ｎ（たとえば、６ビット）をもつ出力値にマッピングされる。したがって、入力ビット深度ｍは出力ビット深度ｎよりも大きい。このプロセスは、本質的に、入力値のいくつかを丸めることを伴い、したがって、圧縮に損失を導入する。
【００５９】
[0066]図３に示すように、ビデオサンプルは、量子化ＰＣＭユニット４７によって受信され、最初に量子化ユニット４９によって量子化される。この場合、ビデオサンプルの量子化は、量子化されたＰＣＭコード化ビデオの最終的な出力ビット深度を定義する。そのような「ピクセル領域」量子化（すなわち、ビット深度を定義すること）は、ピクセルの入力値を量子化するために使用され得、図２に示した変換量子化ユニット５４などによって、残差変換係数を量子化するために一般に使用される「変換領域」量子化パラメータ（ＱＰ）とは異なることを理解されたい。入力サンプルは、出力ビット深度を定義するためにこのピクセル領域量子化ステップを使用して量子化ユニット４９によって量子化され得る。図５〜図６を参照しながらより詳細に論じるように、デコーダは、量子化ステップと丸めオフセットとを使用してコード化サンプルを逆量子化し得る。丸めオフセットは、ビットストリーム中でエンコーダによって指定されるか、または量子化ステップのちょうど半分（または量子化ステップの何らかの他の指定された部分）になるように課され得る。
【００６０】
[0067]量子化ステップ選択ユニット５３は、量子化ステップを選択するように構成され得る。代替的に、量子化ステップユニット４９は所定の量子化ステップを使用するように構成され得る。所定の量子化ステップが量子化ステップ選択メモリ５５に記憶され得る。量子化ステップ選択ユニット５３は、量子化ＰＣＭプロセスによってコーディングされるべきビデオデータのブロックの特性、または量子化ＰＣＭプロセスによってコーディングされるべきビデオデータのブロックの空間的に近くのビデオデータのブロックの特性を含む、様々な基準のいずれかに基づいて量子化ステップを選択し得る。
【００６１】
[0068]たとえば、量子化ステップは、所与のブロックに対して許可される最大データ量を満たす符号化ビデオデータを生成するために選択され得る。より高い量子化ステップ、したがってより小さい出力ビット深度は、より低いデータサイズの量子化ＰＣＭコード化データを生じることになる。逆に、より低い量子化ステップ、したがってより大きい出力ビット深度は、より高いデータサイズの量子化ＰＣＭコード化データを生じることになる。したがって、量子化ステップは、出力ビット深度を定義する選択可能なパラメータであり得る。量子化ステップは、出力ビット深度自体のフォーマットであり得るか、または量子化を実行するために使用される右シフトの数として示され得、量子化は、次いで、ある出力ビット深度において、量子化されたＰＣＭコード化ビデオサンプルを生じる。以下でより詳細に説明するように、出力ビット深度および／または量子化ステップは、デコーダが量子化ステップおよび／または出力ビット深度を受信し、コード化ビットストリーム中でＰＣＭビデオデータを復号し得るように、符号化ビットストリーム中で示され得る。
【００６２】
[0069]別の例として、量子化ステップは、ＰＣＭコード化ビデオデータと、空間的に近くのブロック中の予測コーディングによって生成された不可逆データとの間の外観の差を低減するために選択され得る。特に、量子化ステップは、ＰＣＭコード化ビデオデータによって提示されるひずみの量が予測コード化ビデオデータによって提示されるひずみの量と同様であるように選択され得る。ひずみの量は、たとえば、予測コード化ビデオデータのための変換量子化ユニット５４によって使用される量子化パラメータ（ＱＰ）に基づいて、エンコーダ２０によって明示的に決定されるか、または推定され得る。
【００６３】
[0070]量子化ステップを選択するために量子化ステップ選択ユニット５３によって使用され得る他の基準は、フレーム空間解像度、適切なコーディングユニットのための量子化（ＱＰ）、適切なコーディングユニットのコーディング構造、フレームレート、フレームタイプ（たとえば、イントラ（Ｉ）またはインター（ＰまたはＢ）フレーム）、入力データ、内部データまたは出力データのビット深度、特定のビデオアプリケーション、あるいは適切なビデオシーケンスが符号化されるレベルまたはプロファイルを含む。
【００６４】
[0071]ＰＣＭブロックの所望の品質は特定のフレームの全体的な品質に関係する。フレームの品質（たとえば、フレームタイプ、ビット深度）が良好であるほど、ＰＣＭモードについてより良好な品質が望まれる。また、解像度が極めて大きく、ＰＣＭブロックが小さい場合、その逆の場合よりも視覚的影響がはるかに少ない。一例として、ビデオ会議アプリケーションのためのビデオは、一般に、ＤＶＤのためのビデオよりもＰＣＭの品質が低い。また、ＰＣＭに費やされるビットを低減することがビデオ会議おいて大いに必要である。これらの基準の組合せを考慮することは、単一の基準を考慮することよりも良い結果をもたらし得る。
【００６５】
[0072]これらの例の各々では、量子化ステップは、量子化ステップ選択ユニット５３によって実行されるアルゴリズムに基づいて選択され得る。別の例として、異なるコンテキスト状況に適した複数の所定の量子化ステップは、量子化ステップ選択ユニット５３によってアクセスされ得る量子化ステップ選択メモリ５５に記憶され得る。
【００６６】
[0073]一例では、量子化ユニット４９は、単に入力データを右シフトすることによってビデオサンプルに対して量子化を実行し得る。右シフト量子化プロセスでは、事実上、入力サンプル（すなわち、ピクセル）の各々の最下位ビットを落とす。この例では、量子化ステップは、右シフトの量を示す整数として、量子化ステップ選択ユニット５３によって量子化ユニット４９に与えられ得る。たとえば、入力データの２だけの右シフトは４による除算と同じである。８ビットピクセル入力の場合、入力データの２だけの右シフトは、７５％低い最大データ量を暗示し、すなわち、サンプル当たり８ビットからサンプル当たり６ビットになる。別の例では、右シフトを適用する前に、ピクセル値にオフセットが加算される。別の例では、量子化ユニット４９によって実行される量子化（または右シフト）は、入力ビデオサンプルのビット深度に基づき得る。入力ビデオサンプルのビット深度が大きくなるほど、顕著なアーティファクトなしにそれはより多く量子化され得る。したがって、量子化ステップ選択ユニット５３は、１０ビット入力データに対し、８ビット入力データの量子化ステップよりも大きい量子化ステップを選択するように構成され得る。
【００６７】
[0074]量子化の後に、パルスコード変調ユニット５１は量子化ビデオサンプルをパルスコード変調する。Ｈ．２６４のための従来のイントラＰＣＭモードは、符号化ビットストリームに圧縮されていないピクセルのデジタル値を単に受け渡す。したがって、Ｈ．２６４のためのイントラＰＣＭは可逆（lossless）である。本開示によれば、パルスコード変調ユニット５１は、量子化（すなわち、不可逆（lossy）圧縮の形態）の後にビデオサンプルのデジタル値を変調する。したがって、量子化ステップ選択ユニット５３によって選択された量子化ステップは、パルスコード変調ユニットによってコーディングされたビデオサンプルの出力ビット深度を定義する。上述のように、いくつかの状況では、量子化ステップは、出力ビット深度自体のフォーマットであり得るか、または出力ビット深度を定義する右シフトの数として示され得る。
【００６８】
[0075]出力ビット深度、丸めオフセット、および／または量子化ステップは、符号化ビットストリーム中でシンタックス要素としてエンコーダによってシグナリングされ得る。このコンテキストでは、符号化ビットストリーム中でシンタックス要素をシグナリングすることは、エンコーダからデコーダへのそのような要素のリアルタイム送信を必要とするのではなく、そのようなシンタックス要素がビットストリーム中に符号化され、任意の方法でデコーダにとってアクセス可能にされることを意味する。これは、（たとえば、ビデオ会議における）リアルタイム送信、ならびに（たとえば、ストリーミング、ダウンロード、ディスクアクセス、カードアクセス、ＤＶＤ、ブルーレイなどにおける）デコーダによる将来の使用のために符号化ビットストリームをコンピュータ可読媒体に記憶することを含み得る。上述のように、量子化ステップは、出力ビット深度自体を示し得るか、または入力ビデオサンプルを量子化するために実行された右シフトの数を表し得る。出力ビット深度または量子化ステップのいずれかは、符号化データを復号するために、デコーダが適切なプロセスを適用するためにデコーダにシグナリングされ得る。
【００６９】
[0076]一例では、量子化ステップは、エンコーダとデコーダの両方によってすべての状況のために使用される所定の値であり得る。別の例では、上記で説明したように、量子化ステップ選択ユニット５３は、入力ビデオブロックおよび／または周囲のビデオブロックの特性に基づいて量子化ステップを決定し得る。デコーダは、量子化ステップを選択するためにエンコーダによって使用されるのと同じ特性に基づいて、量子化ＰＣＭコード化ビデオデータの量子化ステップのある値を推測し得る。
【００７０】
[0077]別の例として、出力ビット深度および／または量子化ステップは、符号化ビットストリーム中でデコーダにシグナリングされ得る。さらに、丸めオフセットは、ビットストリーム中でエンコーダによって指定され得るか、または量子化ステップの半分（または量子化ステップの何らかの他の指定された分数（fraction））になるようにあらかじめ決定され得る。出力ビット深度、丸めオフセット、および／または量子化ステップをシグナリングするための１つの方法は、量子化ＰＣＭサンプルのビット深度を示すシンタックス要素を符号化することによるものである。図３に、符号化ビットストリーム中で、選択された量子化ステップを符号化する量子化ステップ選択ユニット５３を示す。ただし、このプロセスは、量子化ユニット４９、パルスコード変調ユニット５１、あるいは量子化ＰＣＭユニット４７またはエンコーダ２０の別のユニットによって達成され得る。
【００７１】
[0078]別の例では、シンタックス要素は、シーケンスヘッダ、シーケンスパラメータセットレベル（たとえば、ピクチャパラメータセットレベル）において送られるか、スライスレベルにおいて送られるか、または符号化ビットストリーム中の他のシンタックスレベルにおいて送られ得る。図４に、シーケンスヘッダをもつ例示的な符号化ビデオビットストリームを示す。シーケンスヘッダ６７は、量子化ＰＣＭ符号化ビデオの出力ビット深度を示すビット深度シンタックス要素６５を含む。一例として、ビット深度シンタックス要素６５は、１ビットから１６ビットまでのビット深度低減または拡張を示す４ビットシンタックス要素であり得る。出力ビット深度を示すために任意の長さのシンタックス要素が選択され得ることに留意されたい。図４の例では、シンタックス要素６５は、符号化されたサンプルの出力ビット深度、したがって、デコーダにおいて続くプロセスを示す。シンタックス要素はまた、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、またはスライスヘッダ中でシグナリングされ得る。
【００７２】
[0079]別の例では、量子化ステップ自体（たとえば、右シフトの数）は、エンコーダによってデコーダにシグナリングされるか、シーケンスヘッダにおいてシグナリングされるか、フレームヘッダにおいてシグナリングされるか、またはコーディングユニット、予測ユニットまたはブロックのためのＰＣＭモードのシグナリングの直後にシグナリングされ得る。量子化ＰＣＭモードがフレーム中で選択された第１のブロックについてＰＣＭモードがシグナリングされると、エンコーダはビットストリーム中で量子化ステップをシグナリングし得る。フレーム中の量子化ＰＣＭモードブロックの残りは、フレーム中の第１のＰＣＭモードブロックについてシグナリングされるのと同じ量子化ステップをとることになる。
【００７３】
[0080]別の例では、フレーム中で遭遇する後続の量子化ＰＣＭモードブロックは、ベースライン量子化ステップからそのブロックのために使用される量子化ステップのデルタをシグナリングし得る。いくつかの例では、ベースライン量子化は、量子化ＰＣＭモードが使用された前のブロックにおいて使用される量子化ステップであり得る。この例では、ベースライン量子化ステップは、量子化ＰＣＭが使用された第１のブロックについてビットストリーム中でシグナリングされる第１の量子化ステップであろう。次いで、フレーム中の後続のＰＣＭモードブロックの各々のための量子化ステップは、前にシグナリングされた量子化ステップに対するデルタ値としてシグナリングされ得る。
【００７４】
[0081]したがって、フレームまたはスライス中の各ＰＣＭモードブロックは、ブロックについて個別に明示的にシグナリングされる量子化ステップを有するか、フレームまたはスライス中の第１のＰＣＭモードブロックについて初めにシグナリングされるのと同じ量子化ステップを共有するか、またはフレームまたはスライス中の第１のＰＣＭモードブロックについて初めにシグナリングされる量子化ステップに対するデルタによってシグナリングされる量子化ステップを有し得る。
【００７５】
[0082]説明しやすいように別個の機能的ユニットとして示されているが、量子化ユニット４９、パルスコード変調ユニット５１、量子化ステップ選択ユニット５３、および量子化ステップ選択メモリ５５の構造および機能は互いに高度に統合され得ることに留意されたい。
【００７６】
[0083]図５は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図５の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、量子化ＰＣＭ復号ユニット７１と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆変換量子化ユニット７６と、逆変換ユニット７８と、参照フレームバッファ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、図２を参照しながら説明したビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信した動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームの前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。
【００７７】
[0084]いくつかの例では、エントロピー復号ユニット７０（または逆変換量子化ユニット７６）は、ビデオエンコーダ２０のエントロピー符号化ユニット５６（または変換量子化ユニット５４）によって使用された走査順序をミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆変換量子化ユニット７６において実行され得るが、走査については、例示のために、エントロピー復号ユニット７０によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆変換量子化ユニット７６、および他のユニットの構造および機能は互いに高度に統合され得る。
【００７８】
[0085]エントロピー復号ユニット７０は、変換係数の１Ｄベクトルを変換係数の２Ｄアレイに変換するために走査順序を適用するように構成され得る。エントロピー復号ユニット７０は、走査順序の逆を使用して１Ｄベクトルを２Ｄアレイに走査する。エントロピー復号ユニット７０によって生成された変換係数の２Ｄアレイは、量子化され得、変換係数の１Ｄベクトルを生成するためにビデオエンコーダ２０のエントロピー符号化ユニット５６によって走査された変換係数の２Ｄアレイに概して一致し得る。
【００７９】
[0086]逆変換量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、ＨＥＶＣのために提案されたプロセスまたはＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、コーディングユニットについてビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換量子化ユニット７６は、係数が１Ｄベクトルから２Ｄアレイに変換される前または変換された後のいずれかに変換係数を逆量子化し得る。
【００８０】
[0087]逆変換ユニット７８は、逆変換、たとえば、逆ＤＣＴ、逆整数変換、逆ＫＬＴ、逆回転変換、逆方向性変換、または別の逆変換を適用する。いくつかの例では、逆変換ユニット７８は、ビデオエンコーダ２０からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードなどの１つまたは複数のコーディング特性から変換を推論することによって、逆変換を決定し得る。いくつかの例では、逆変換ユニット７８は、現在ブロックを含む最大コーディングユニットのための４分木のルートノードにおけるシグナリングされた変換に基づいて、現在ブロックに適用すべき変換を決定し得る。いくつかの例では、逆変換ユニット７８はカスケード逆変換を適用し得る。
【００８１】
[0088]動き補償ユニット７２は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【００８２】
[0089]動き補償ユニット７２およびイントラ予測ユニット７４は、ＨＥＶＣの例では、（たとえば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用される最大コーディングユニットのサイズと、符号化ビデオシーケンスのフレームの各コーディングユニットがどのように分割されるか（および、同様に、サブコーディングユニットがどのように分割されるか）を記述する分割情報と、各分割がどのように符号化されるかを示すモード（たとえば、イントラ予測またはインター予測、およびイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化予測ユニットについての１つまたは複数の参照フレーム（および／またはそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを決定し得る。
【００８３】
[0090]加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測ユニット７４によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。また、所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタ処理し得る。復号ビデオブロックは、次いで、参照フレームバッファ８２に記憶され、参照フレームバッファ８２は、参照ブロックを後続の動き補償に与え、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号ビデオを生成する。
【００８４】
[0091]量子化ＰＣＭ復号ユニット７１は、量子化ＰＣＭモードがエンコーダ２０によって使用されたときに符号化ビデオを復号するように構成される。量子化ＰＣＭ復号ユニット７１は、最初に、符号化ビデオをパルスコード復調する。次に、量子化ＰＣＭ復号ユニット７１は、符号化プロセスにおいて使用されるのと同じ量子化ステップと丸めオフセットとを使用して、パルスコード復調されたビデオを逆量子化する。量子化ステップは、符号化ビデオビットストリーム中で直接シグナリングされ得るか、または符号化ビデオビットストリーム中でシグナリングされる出力ビット深度から推測され得る。
【００８５】
[0092]図６に、量子化ＰＣＭ復号ユニット７１の一例を示すブロック図を示す。量子化ＰＣＭ復号ユニットは、パルスコード復調ユニット７３と、逆量子化ステップユニット７５と、量子化ステップ選択ユニット７７と、量子化ステップ選択メモリ７９とを含み得る。説明しやすいように別個の機能的ユニットとして示されているが、パルスコード復調ユニット７３、逆量子化ステップユニット７５、量子化ステップ選択ユニット７７、および量子化ステップ選択メモリ７９の構造および機能は互いに高度に統合され得ることに留意されたい。
【００８６】
[0093]初めに、パルスコード復調ユニット７３は量子化ＰＣＭ符号化ビデオをパルスコード復調する。このステップは、エンコーダによって適用されたパルスコード変調を本質的に逆転させる。次に、逆量子化ユニット７５は、ビデオを符号化するために使用されるのと同じ量子化ステップならびに丸めオフセットを使用して、復調されたビデオを逆量子化する。
【００８７】
[0094]量子化ステップ選択ユニット７７は、符号化ビットストリームから出力ビット深度および／または量子化ステップを示すシンタックス要素を取り出し得る。一例として、図４に示したように、出力ビット深度は、１ビットから１６ビットまでのビット深度低減または拡張を示す４ビットシンタックス要素としてシグナリングされ得る。別の例では、出力ビット深度は、間接的ではなく、明示的にシグナリングされ得る。代替的に、デコーダは、フレーム空間解像度（spatial resolution）、適切なコーディングユニットのための量子化（ＱＰ）、適切なコーディングユニットのコーディング構造、またはフレームタイプ（たとえば、イントラ（Ｉ）またはインター（ＰまたはＢ）フレーム）、入力データ、内部データまたは出力データのビット深度、特定のビデオアプリケーション、あるいは適切なビデオシーケンスが符号化されるレベルまたはプロファイルなど、量子化ステップを選択するためにエンコーダによって使用されるのと同じ基準またはビデオ特性に基づいて、ＰＣＭサンプルの量子化ステップのある値を推測し得る。別の例として、量子化ステップ選択ユニット７７は、量子化ステップ選択メモリ７９に記憶された所定の量子化ステップに単にアクセスし得る。
【００８８】
[0095]シグナリングされた、所定の、または推測された量子化ステップが与えられれば、逆量子化ユニット７５は、その量子化ステップと、シグナリングされた、推測された、または所定の丸めオフセットとを使用して逆量子化を実行し得る。逆量子化を実行するために、逆量子化ユニット７５は、単に、ビット（すなわち、エンコーダにおいて使用される右シフトの数に等しい左シフトの数）を復調されたサンプルに加算し、選択された丸めオフセットを適用して、復号されたビデオを生成し得る。
【００８９】
[0096]図７は、例示的な符号化プロセスを示すフローチャートである。方法１００は、図２〜図４を参照しながら上記で説明した量子化ＰＣＭコーディングプロセスに従ってビデオのブロックを符号化する。方法１００では、ビデオエンコーダ２０が、出力ビット深度を定義するために量子化ステップを選択する（１２０）。この出力ビット深度に基づいて、ビデオエンコーダ２０は量子化ＰＣＭ符号化を実行する（１２１）。量子化ＰＣＭ符号化の第１のステップは、選択された量子化ステップに従ってビデオデータのブロックのサンプルを量子化することである（１２２）。ステップ１２２は、ビデオデータのブロックのサンプルをある数だけ右シフトすることによってビデオデータのブロックのサンプルを量子化することを含み得、右シフトの数が量子化ステップに基づく。次に、ビデオエンコーダ２０は、量子化されたサンプルをパルスコード変調する（１２４）。オプションのステップとして、ビデオエンコーダ２０はまた、出力ビット深度の指示を生成し、符号化ビデオビットストリーム中でその指示をシグナリングする（１２６）。
【００９０】
[0097]上記で説明したように、出力ビット深度は定義可能なパラメータである。その点において、それは、量子化プロセスのために使用される量子化ステップの選択によって定義され得る。量子化ステップは、所定の値であり得るか、またはビデオデータの１つまたは複数の特性に基づいて選択され得る。別の例として、量子化ステップは、ＰＣＭコード化ビデオデータと、予測コーディングによって生成された不可逆データとの間の外観の差を低減するために選択され得る。特に、量子化ステップは、ＰＣＭコード化ビデオデータによって提示されるひずみの量が予測コード化ビデオデータによって提示されるひずみの量と同様であるように選択され得る。ひずみの量は、たとえば、予測コード化ビデオデータのための変換量子化ユニット５４によって使用される量子化パラメータ（ＱＰ）に基づいて、明示的に決定されるか、または推定され得る。量子化ステップを選択するために使用され得る他の基準および特性は、フレーム空間解像度、適切なコーディングユニットのための量子化（ＱＰ）、適切なコーディングユニットのコーディング構造、フレームレート、フレームタイプ（たとえば、イントラ（Ｉ）またはインター（ＰまたはＢ）フレーム）、入力データ、内部データまたは出力データのビット深度、特定のビデオアプリケーション、あるいは適切なビデオシーケンスが符号化されるレベルまたはプロファイルを含む。量子化ステップは、ビデオデータの複数のブロックに共通であり得るか、またはビデオデータの各個々のブロックのために選択され得る。
【００９１】
[0098]ステップ１２６は、出力ビット深度および／または量子化ステップ自体の指示を生成し、符号化ビデオデータのビットストリーム中でその指示をシグナリングし得る。出力ビット深度および／または量子化ステップの指示は、デコーダが量子化プロセスを逆にすることを可能にする。特に、出力ビット深度は、１ビットから１６ビットまでのビット深度低減または拡張を示す４ビットシンタックス要素としてシーケンスヘッダ中でシグナリングされ得る。さらに、ステップ１２６はまた、デコーダが逆量子化プロセスをどのように実行するかを示すためにビデオビットストリーム中で丸めオフセットをシグナリングし得る。個々の量子化ステップがビデオデータの異なるブロックのために使用される場合、エンコーダ２０はベース量子化ステップに対するデルタ値として個々の量子化ステップを表し得る。
【００９２】
[0099]図８は、例示的な復号プロセスを示すフローチャートである。方法１５０は、図５および図６を参照しながら上記で説明した量子化ＰＣＭ復号プロセスに従ってビデオのブロックを復号する。方法１５０では、ビデオデコーダ３０が、最初に量子化ステップを決定する（１６０）。次に、ビデオデコーダは量子化ＰＣＭ復号プロセス１６１を実行する。量子化ＰＣＭ復号プロセスは、パルスコード復調を用いて符号化ビデオブロック復号することを含む（１６２）。次に、決定された量子化ステップと丸めオフセットとを使用して、ビデオデコーダ３０は、復調されたビデオブロックを逆量子化する。
【００９３】
[0100]ステップ１６０では、量子化ステップは、あらかじめ選択された値を使用することによって決定されるか、出力ビットストリーム中で出力ビット深度および／または量子化ステップの指示を受信することによって決定されるか、または符号化プロセスにおいて量子化ステップを選択するのと同じ方法でビデオデータ自体の特性から決定され得る。
【００９４】
[0101]１つまたは複数の例では、本開示において説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、コンピュータ可読命令またはコードの形態のソフトウェアを実行する１つまたは複数のプロセッサなど、ハードウェアベースの処理ユニットによって実行され得る。そのような命令またはコードは、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形、非一時的媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【００９５】
[0102]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭまたは光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイスを含む、他の固体、光学または磁気データ記憶媒体、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、有形コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（disc）（登録商標）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００９６】
[0103]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素において完全に実装され得る。
【００９７】
[0104]本開示の技法は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスまたは装置によって実行され得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。さらに、そのような技法は、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）によって実装され得る。本開示の技法を実行するように構成されたデバイスは、前述のデバイスのいずれかを含み得、場合によっては、ビデオエンコーダまたはビデオデコーダ、あるいはハードウェア、ソフトウェア、およびファームウェアの組合せによって形成され得る複合ビデオエンコーダデコーダ、すなわち、ビデオコーデックであり得る。本開示では、開示した技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明することがあるが、それらの構成要素、モジュール、またはユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【００９８】
[0105]本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコーディングするための方法であって、前記方法は、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングすること、
を備える方法。
［２］  出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータの前記ブロックのサンプルをコーディングすることは、
前記出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータの前記ブロックの前記サンプルを量子化することと、
前記量子化されたサンプルをパルスコード変調することと、
を備える［１］に記載の方法。
［３］  前記出力ビット深度は定義可能なパラメータである、［２］に記載の方法。
［４］  前記出力ビット深度を定義するために前記量子化されたサンプルのための前記量子化ステップを選択すること、
をさらに備える［３］に記載の方法。
［５］  前記量子化ステップを選択することは、前記ビデオデータの１つまたは複数の特性に基づいて前記量子化ステップを選択することを備える、［４］に記載の方法。
［６］  量子化ステップに従ってビデオデータの前記ブロックの前記サンプルを量子化することは、ビデオデータの前記ブロックの前記サンプルの右シフトの数を備え、前記右シフトの数は前記量子化ステップに基づく、［２］に記載の方法。
［７］  量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングすることは、
共通の量子化ステップに従ってビデオデータの複数のブロックのサンプルを量子化することと、
ビデオデータの前記複数のブロック中で前記量子化されたサンプルをパルスコード変調することと、
を備える［１］に記載の方法。
［８］  量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングすることは、
第１の量子化ステップに従ってビデオデータの第１のブロックのサンプルを量子化することと、
前記第１の量子化ステップとは異なる第２の量子化ステップに従ってビデオデータの第２のブロックのサンプルを量子化することと、
ビデオデータの前記第１のブロックおよび前記第２のブロック中で前記量子化されたサンプルをパルスコード変調することと、
を備える［１］に記載の方法。
［９］  前記第１の量子化ステップと前記第２の量子化ステップとをベース量子化ステップに対するデルタ値として表すこと
をさらに備える［８］に記載の方法。
［１０］  前記出力ビット深度の指示を生成することと、前記指示を符号化ビットストリーム中に含めることと、
をさらに備える［１］に記載の方法。
［１１］  前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含めること、
さらに備える［１０］に記載の方法。
［１２］  ビデオデータの前記コード化ブロックを含む符号化ビットストリーム中に丸めオフセットの指示を含めること、
をさらに備える［１０］に記載の方法。
［１３］  ビデオデータのコード化ブロックを復号するための方法であって、前記方法は、
出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータの前記コード化ブロックのサンプルを復号すること、
を備える方法。
［１４］  出力ビット深度に従ってビデオデータのブロックのサンプルを復号することは、
パルスコード復調を使用してビデオデータの前記コード化ブロックの前記サンプルを復号することと、
量子化ステップに従って前記復号されたサンプルを逆量子化することと、
を備える［１３］に記載の方法。
［１５］  前記量子化ステップは前記出力ビット深度に基づく、［１４］に記載の方法。
［１６］  前記復号されたサンプルを逆量子化することは、
前記量子化ステップと丸めオフセットとに従って前記復号されたサンプルを逆量子化すること、を備える［１５］に記載の方法。
［１７］  ビデオデータの前記コード化ブロックを含む符号化ビットストリームから、前記出力ビット深度と、前記量子化ステップと、前記丸めオフセットとのうちの少なくとも１つを受信すること、をさらに備える［１６］に記載の方法。
［１８］  ビデオデータの前記コード化ブロックの１つまたは複数の特性に基づいて前記量子化ステップを決定すること、をさらに備える［１４］に記載の方法。
［１９］  ビデオデータをコーディングするように構成された装置であって、前記装置は、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングするように構成されたビデオ符号化ユニット、
を備える装置。
［２０］  前記ビデオ符号化ユニットは、
前記出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータの前記ブロックの前記サンプルを量子化するように構成された量子化ユニットと、
パルスコード変調を使用して前記量子化されたサンプルをコーディングするように構成された変調ユニットと、
を備える［１９］に記載の装置。
［２１］  前記出力ビット深度は定義可能なパラメータである、［２０］に記載の装置。
［２２］  前記ビデオコーディングユニットは、前記出力ビット深度を定義するために前記量子化されたサンプルのための前記量子化ステップを選択するようにさらに構成された、［２１］に記載の装置。
［２３］  前記ビデオ符号化ユニットは、前記ビデオデータの１つまたは複数の特性に基づいて前記量子化ステップを選択するように構成された、［２２］に記載の装置。
［２４］  前記量子化ユニットは、ビデオデータの前記ブロックの前記サンプルの右シフトの数を使用してビデオデータの前記ブロックの前記サンプルを量子化するように構成され、右シフトの前記数は前記量子化ステップに基づく、［２０］に記載の装置。
［２５］  前記ビデオ符号化ユニットは、
共通の量子化ステップに従ってビデオデータの複数のブロックのサンプルを量子化するように構成された量子化ユニットと、
ビデオデータの前記複数のブロック中でパルスコード変調を使用して前記量子化されたサンプルをコーディングするように構成された変調ユニットと、
を備える［１９］に記載の装置。
［２６］  前記ビデオ符号化ユニットは、
第１の量子化ステップに従ってビデオデータの第１のブロックのサンプルを量子化し、前記第１の量子化ステップとは異なる第２の量子化ステップに従ってビデオデータの第２のブロックのサンプルを量子化するように構成された量子化ユニットと、
パルスコード変調を使用してビデオデータの前記第１のブロックおよび前記第２のブロック中で前記量子化されたサンプルをコーディングするように構成された変調ユニットと、
を備える［１９］に記載の装置。
［２７］  前記ビデオ符号化ユニットは、前記第１の量子化ステップと前記第２の量子化ステップとをベース量子化ステップに対するデルタ値として表すようにさらに構成された、［２６］に記載の装置。
［２８］  前記ビデオ符号化ユニットは、前記出力ビット深度の指示を生成し、前記指示を符号化ビットストリーム中に含めるようにさらに構成された、［１９］に記載の装置。
［２９］  前記ビデオ符号化ユニットは、前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含めるようにさらに構成された、［２８］に記載の装置。
［３０］  前記ビデオ符号化ユニットは、ビデオデータの前記コード化ブロックを含む符号化ビットストリーム中に丸めオフセットの指示を含めるようにさらに構成された、［２８］に記載の装置。
［３１］  ビデオデータのコード化ブロックを復号するように構成された装置であって、前記装置は、
出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータの前記コード化ブロックのサンプルを復号するように構成されたビデオ復号ユニット、
を備える装置。
［３２］  前記ビデオ復号ユニットは、
パルスコード復調を使用してビデオデータの前記コード化ブロックの前記サンプルを復号するように構成された復調ユニットと、
量子化ステップに従って前記復号されたサンプルを逆量子化するように構成された逆量子化ユニットと、
を備える［３１］に記載の装置。
［３３］  前記量子化ステップは前記出力ビット深度に基づく、［３２］に記載の装置。
［３４］  前記逆量子化ユニットは、前記量子化ステップと丸めオフセットとに従って前記復号されたサンプルを逆量子化するようにさらに構成された、［３３］に記載の装置。
［３５］  前記ビデオ復号ユニットは、ビデオデータの前記コード化ブロックを含む符号化ビットストリームから、前記出力ビット深度と、前記量子化ステップと、前記丸めオフセットとのうちの少なくとも１つを受信するようにさらに構成された、［３４］に記載の装置。
［３６］  前記ビデオ復号ユニットは、ビデオデータの前記コード化ブロックの１つまたは複数の特性に基づいて前記量子化ステップを決定するようにさらに構成された、［３２］に記載の装置。
［３７］  ビデオデータをコーディングするように構成された装置であって、前記装置は、
出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータのブロックのサンプルを量子化する手段と、
前記量子化されたサンプルをパルスコード変調する手段と、
を備える装置。
［３８］  前記出力ビット深度の指示を生成し、前記出力ビット深度の前記指示を要素としてシーケンスヘッダ中に含める手段と、
をさらに備える［３７］に記載の装置。
［３９］  ビデオデータのコード化ブロックを復号するように構成された装置であって、前記装置は、
パルスコード復調を使用してビデオデータの前記コード化ブロックのサンプルを復号する手段と、
量子化ステップに従って前記復号されたサンプルを逆量子化する手段と、
を備える装置。
［４０］  前記量子化ステップは出力ビット深度に基づく、［３９］に記載の装置。
［４１］  ビデオデータの前記コード化ブロックを含む符号化ビットストリームから、前記出力ビット深度と、前記量子化ステップと、丸めオフセットとのうちの少なくとも１つを受信する手段、
をさらに備える［３９］に記載の装置。
［４２］  実行されたとき、ビデオをコーディングするためのデバイスのプロセッサに、
出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングさせる
命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［４３］  出力ビット深度に従って、量子化パルスコード変調を使用してビデオデータのブロックのサンプルをコーディングするための前記命令は、
前記出力ビット深度を生成するために量子化の量を定義する量子化ステップに従ってビデオデータの前記ブロックの前記サンプルを量子化し、
前記量子化されたサンプルをパルスコード変調する
ための命令を備える、［４２］に記載のコンピュータプログラム製品。
［４４］  プロセッサに、さらに、
前記出力ビット深度の指示を生成させ、前記出力ビット深度の前記指示をシンタックス要素としてシーケンスヘッダ中に含める、［４２］に記載のコンピュータプログラム製品。
［４５］  実行されたとき、ビデオデータの前記コード化ブロックを復号するためのデバイスのプロセッサに、
出力ビット深度に従って、量子化パルスコード変調を用いて符号化されたビデオデータのコード化ブロックのサンプルを復号させる
命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［４６］  出力ビット深度に従って、ビデオデータのブロックのサンプルを復号するための前記命令は、
パルスコード復調を使用してビデオデータの前記コード化ブロックの前記サンプルを復号し、
量子化ステップに従って前記復号されたサンプルを逆量子化する
ための命令を備える、［４５］に記載のコンピュータプログラム製品。
［４７］  前記量子化ステップは前記出力ビット深度に基づく、［４５］に記載のコンピュータプログラム製品。
［４８］  前記プロセッサに、
ビデオデータの前記コード化ブロックを含む符号化ビットストリームから、前記出力ビット深度と、前記量子化ステップと、丸めオフセットとのうちの少なくとも１つを受信させる
［４５］に記載のコンピュータプログラム製品。
【図１】
0005722468.tif 000002
【図２】
0005722468.tif 000003
【図３】
0005722468.tif 000004
【図４】
0005722468.tif 000005
【図５】
0005722468.tif 000006
【図６】
0005722468.tif 000007
【図７】
0005722468.tif 000008
【図８】
0005722468.tif 000009