(57)【要約】概して本開示は、レートと歪みとの所望のバランスを達成することのできる方法でビデオブロック係数の量子化のための技法を提供する。記述される技法は、最小符号化コストに帰着する個別係数に対する量子化レベルを選択するために、各個別係数に関連付けられた複数の量子化レベルを分析する。CAVLCが各係数を個別に符号化しないため、技法は、以前に量子化された係数に対して選択された量子化レベル、および係数ベクトルの後の係数に対して推定（または予測）される量子化レベルに基づいて、個別係数に関連付けられた各候補量子化レベルに対する符号化コストを計算する。各係数に対する量子化レベルは、レート歪みモデルを最小化する量子化係数のセットを獲得するために、計算された符号化コストに基づいて選択される。【選択図】図4
2011517911.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ符号化プロセスにおいて、ビデオブロックの係数の少なくとも一部を量子化するための方法であって、
前記ビデオブロックの前記係数の一部の各々について、前記それぞれの係数に関連付けられた複数の候補量子化レベルに対する符号化コストを決定することと；
量子化された係数のセットを獲得するために、前記符号化コストに基づいて前記係数の各々に対する前記複数の候補量子化レベルの１つを選択することと；
を備える方法。
【請求項２】
前記符号化コストを決定することは、前記それぞれの候補量子化レベル、以前に量子化された係数に関連付けられた、以前に選択された量子化レベル、および後の非量子化係数に関連付けられた予測される量子化レベルに基づいて、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する符号化コストを計算することを備え；
前記複数の候補量子化レベルの１つを選択することは、前記それぞれの係数について、最小符号化コストと一致する前記複数の量子化レベルの1つを選択することを備える；
請求項1の方法。
【請求項３】
前記符号化コストを決定することは、前の係数に関連付けられた生存パス、現在の係数に関連付けられた前記それぞれの候補量子化レベル、および後の非量子化係数に関連付けられた予測される量子化レベルに基づいて、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する複数の符号化コストを計算することを備え、なお、前記生存パスは前記ブロック内の前記現在の係数の前の係数に対する量子化決定のシーケンスを表す；
前記複数の候補量子化レベルの１つを選択することは、最低符号化コストに対応する前記現在の係数に関連付けられた前記候補量子化レベルの各々のための生存パスを選択することを備える；
請求項1の方法。
【請求項４】
前記ビデオブロックの最後の係数について、前記最後の係数と関連付けられた前記候補量子化レベルの前記複数の生存パスから最低符号化コストを有する前記生存パスの1つを選択することをさらに備える、請求項3の方法。
【請求項５】
前記符号化コストを決定することは、レート歪みモデルに関連付けられたラグランジュコスト関数を使用して、符号化コストを計算することを備える、請求項1の方法。
【請求項６】
前記ビデオブロック、量子化パラメータ、および量子化行列のそれぞれの個別係数の絶対値に基づいて、前記それぞれの個別係数の前記複数の候補量子化レベルの少なくとも１つを計算することをさらに備える、請求項1の方法。
【請求項７】
前記複数の候補量子化レベルは量子化レベル0を含む、請求項6の方法。
【請求項８】
前記量子化係数の現在の係数が量子化レベル1よりも前記量子化レベル0に近い場合に、前記複数の候補量子化レベルに対する符号化コストの決定を省くことをさらに備える、請求項7の方法。
【請求項９】
前記量子化された係数のセットをビットストリームにエントロピー符号化するために、前記量子化された係数のセット上で、コンテキスト適応型可変長符号化（CAVLC）を実行することと；
前記符号化されたビットストリームを出力することと；
をさらに備える、請求項1の方法。
【請求項１０】
ビデオ符号化プロセスにおいて、ビデオブロックの係数の少なくとも一部を量子化するための装置であって、前記装置は：
前記ビデオブロックの前記係数の一部の各々について、前記それぞれの係数に関連付けられた複数の候補量子化レベルに対する符号化コストを決定し；
量子化された係数のセットを獲得するために、前記符号化コストに基づいて、前記係数の各々に対する前記複数の候補量子化レベルの1つを選択する；
量子化ユニットを備える。
【請求項１１】
前記量子化ユニットは、
前記それぞれの候補量子化レベル、以前に量子化された係数に関連付けられた、以前に選択された量子化レベル、および、後の非量子化係数に関連付けられた予測される量子化レベル基づいて、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する符号化コストを計算し；
前記それぞれの係数について、最小符号化コストに一致する前記複数の候補量子化レベルの1つを選択する；
請求項10の装置。
【請求項１２】
前記量子化ユニットは：
前の係数に関連付けられた生存パス、現在の係数に関連付けられた前記それぞれの候補量子化レベル、および後の非量子化係数に関連付けられた予測される量子化レベルに基づいて、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する複数の符号化コストを計算し、なお、前記生存パスは、前記ブロック内の前記現在の係数の前の係数についての量子化決定のシーケンスを表す；
最小量子化コストに対応する前記現在の係数に関連付けられた前記候補量子化レベルの各々のための生存パスを選択する；
請求項10の装置。
【請求項１３】
前記量子化ユニットは、前記ビデオブロックの最後の係数について、前記最後の係数に関連付けられた前記候補量子化レベルの前記複数の生存パスから最小符号化コストを有する前記生存パスの1つを選択する、請求項12の装置。
【請求項１４】
前記量子化ユニットは、レート歪みモデルに関連付けられたラグランジュコスト関数を使用して、符号化コストを計算する、請求項10の装置。
【請求項１５】
前記量子化ユニットは、前記ビデオブロック、量子化パラメータ、および量子化行列のそれぞれの個別係数の絶対値に基づいて、前記それぞれの個別係数の前記複数の候補量子化レベルの少なくとも1つを計算する、請求項10の装置。
【請求項１６】
前記複数の候補量子化レベルは量子化レベル0を含む、請求項15の装置。
【請求項１７】
前記量子化ユニットは、前記量子化された係数の現在の係数が量子化レベル1よりも前記量子化レベル0に近い場合に、前記複数の候補量子化レベルに対する符号化コストの決定を省く、請求項16の装置。
【請求項１８】
前記量子化された係数のセットをビットストリームにエントロピー符号化するために、前記量子化された係数のセット上でコンテキスト適応型可変長符号化（CAVLC）を実行するエントロピー符号化器と；
前記符号化されたビットストリームを送信するための送信器と；
をさらに備える、請求項10の装置。
【請求項１９】
前記装置は無線通信デバイスに組み込まれる、請求項10の装置。
【請求項２０】
前記装置は集積回路を備える、請求項10の装置。
【請求項２１】
実行されることで、ビデオ符号化プロセスにおいて、デバイスに、ビデオブロック係数の少なくとも一部を量子化させる命令を備えるコンピュータ読み取り可能媒体であって、前記命令は、前記デバイスに：
前記ビデオブロックの前記係数の一部の各々について、前記それぞれの係数に関連づけられた複数の候補量子化レベルに対する符号化コストを決定させ；
量子化された係数のセットを獲得するために、前記符号化コストに基づいて、前記係数の各々に対して前記複数の候補量子化レベルの1つを選択させる；
コンピュータ読み取り可能媒体。
【請求項２２】
前記デバイスに前記符号化コストを決定させる命令は、前記それぞれの候補量子化レベル、以前に量子化された係数に関連づけられた以前に選択された量子化レベル、および後の非量子化係数に関連付けられた予測される量子化レベルに基づいて、前記デバイスに、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する符号化コストを計算させる命令を備え；
前記デバイスに前記複数の候補量子化レベルの1つを選択させる命令は、前記それぞれの係数について、前記デバイスに最小符号化コストに一致する前記複数の候補量子化レベルの１つを選択させる命令を備える；
請求項21のコンピュータ読み取り可能媒体。
【請求項２３】
前記デバイスに前記符号化コストを決定させる命令は、前の係数に関連付けられた生存パス、現在の係数に関連付けられた前記それぞれの候補量子化レベル、および後の非量子化係数に関連付けられた予測される量子化レベルに基づいて、前記デバイスに、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する複数の符号化コストを計算させる命令を備え、なお、前記生存パスは前記ブロック内の前記現在の係数の前の係数に対する量子化決定のシーケンスを表す；
前記デバイスに前記複数の候補量子化レベルの1つを選択させる命令は、前記デバイスに最小符号化コストに対応する前記現在の係数に関連付けられた前記候補量子化レベルの各々のための生存パスを選択させる命令を備える；
請求項21のコンピュータ読み取り可能媒体。
【請求項２４】
前記ビデオブロックの最後の係数について、前記デバイスに、前記最後の係数に関連付けられた前記候補量子化レベルの前記複数の生存パスから最低符号化コストを有する前記生存パスの1つを選択させる命令をさらに備える、請求項23のコンピュータ読み取り可能媒体。
【請求項２５】
前記デバイスに前記符号化コストを決定させる命令はレート歪みモデルに関連づけられたラグランジュコスト関数を使用して、前記デバイスに符号化コストを計算させる命令を備える、請求項21のコンピュータ読み取り可能媒体。
【請求項２６】
前記ビデオブロック、量子化パラメータ、および量子化行列のそれぞれの個別係数の絶対値に基づいて、前記デバイスに、前記それぞれの個別係数の前記複数の候補量子化レベルの少なくとも１つを計算させる命令をさらに備える、請求項21のコンピュータ読み取り可能媒体
【請求項２７】
前記複数の候補量子化レベルは量子化レベル0を含む、請求項26のコンピュータ読み取り可能媒体。
【請求項２８】
前記量子化係数の現在の係数が量子化レベル1よりも前記量子化レベル0に近い場合に、前記デバイスに前記複数の候補量子化レベルに対する符号化コストの決定を省かせる命令をさらに備える、請求項27のコンピュータ読み取り可能媒体。
【請求項２９】
前記デバイスに：
前記量子化された係数のセットをビットストリームにエントロピー符号化するために、前記量子化された係数のセット上でコンテキスト適応型可変長符号化（CAVLC）を実行させ；
前記符号化されたビットストリームを出力させる；
命令をさらに備える、請求項21のコンピュータ読み取り可能媒体。
【請求項３０】
ビデオ符号化プロセスにおいて、ビデオブロックの係数の少なくとも一部を量子化するためのデバイスであって、前記デバイスは：
前記ビデオブロックの前記係数の一部の各々について、前記それぞれの係数に関連付けられた複数の候補量子化レベルに対する符号化コストを決定するための手段と；
量子化された係数のセットを獲得するために、前記符号化コストに基づいて、前記係数の各々に対する前記複数の候補量子化レベルの１つを選択するための手段と；
を備える。
【請求項３１】
前記決定する手段は、前記それぞれの候補量子化レベル、以前に量子化された係数に関連付けられた、以前に選択された量子化レベル、および後の非量子化係数に関連付けられた予測される量子化レベル基づいて、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する符号化コストを計算し；
前記選択する手段は、前記それぞれの係数について、最小符号化コストに一致する前記複数の候補量子化レベルの1つを選択する；
請求項30のデバイス。
【請求項３２】
前記決定する手段は、前の係数に関連付けられた生存パス、現在の係数に関連付けられた前記それぞれの候補量子化レベル、および後の非量子化係数に関連づけられた予測される量子化レベルに基づいて、前記それぞれの係数に関連付けられた前記候補量子化レベルの各々に対する複数の符号化コストを計算し、なお前記生存パスは、前記ブロック内の前記現在の係数の前の係数に対する量子化決定のシーケンスを表す；
前記選択する手段は、最小符号化コストに対応する前記現在の係数に関連付けられた前記候補量子化レベルの各々に対する生存パスを選択する；
請求項30のデバイス。
【請求項３３】
前記選択する手段は、前記ビデオブロックの最後の係数について、前記最後の係数に関連付けられた前記候補量子化レベルの前記複数の生存パスから、最小符号化コストを有する前記生存パスの１つを選択する、請求項32のデバイス。
【請求項３４】
前記決定する手段は、レート歪みモデルに関連付けられたラグランジュコスト関数を使用して、符号化コストを計算する、請求項30のデバイス。
【請求項３５】
前記ビデオブロック、量子化パラメータ、量子化行列のそれぞれの個別係数の絶対値に基づいて、前記それぞれの個別係数の前記複数の候補量子化レベルの少なくとも１つを計算する手段をさらに備える、請求項30のデバイス。
【請求項３６】
前記複数の候補量子化レベルは量子化レベル0を含む、請求項35のデバイス。
【請求項３７】
前記量子化された係数の現在の係数が量子化レベル1よりも前記量子化レベル0に近い場合に、前記複数の候補量子化レベルに対する符号化コストの決定を省くための手段をさらに備える、請求項36のデバイス。
【請求項３８】
前記量子化された係数のセットをビットストリームにエントロピー符号化するために、前記量子化された係数のセット上でコンテキスト適応型可変長符号化（CAVLC）を実行する手段と；
前記符号化されたビットストリームを出力する手段と；
をさらに備える、請求項30のデバイス。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、コンテンツ全体が参照により本明細書に組み込まれる、2008年4月11日に出願された米国仮出願61/044,232号の利益を主張する。
【技術分野】
【０００２】
本開示はデジタルビデオ符号化に関し、さらに詳細にはビデオ符号化のための量子化技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、無線ブロードキャストシステム、携帯情報端末（PDA）、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲーム機器、ビデオゲームコンソール、携帯無線電話または衛星無線電話、および同様のものを含む広範囲のデバイスに組み込まれうる。デジタルビデオデバイスは、より効率的にデジタルビデオ情報を送受信するために、MPEG-2、MPEG-4、またはITU-T H.264/MPEG-4 Part 10 アドバンスドビデオ符号化(Advanced Video Coding：AVC)などのビデオ圧縮技法を実施する。ビデオ圧縮技法は、ビデオシーケンスに内在する冗長性を削減または除去するために、空間予測（spatial prediction）および時間予測（temporal prediction）を実行する。
【０００４】
イントラ符号化（intra-coding）は、ビデオフレーム、ビデオフレームのスライス、ピクチャのグループ、または別の定義されるビデオブロックのユニットを備える所与の符号化ユニット内のビデオブロック間の空間的冗長性を削減または除去するために空間予測に依存する。対照的に、インター符号化（inter-coding）は、ビデオシーケンスの連続符号化ユニットのビデオブロック間の時間的冗長性を削減または除去するために時間予測に依存する。イントラ符号化の場合、ビデオ符号器は、同一の符号化ユニット内の別のデータに基づいてデータを圧縮するために空間予測を実行する。インター符号化の場合、ビデオ符号器は、2個以上の隣接符号化ユニットの対応するビデオブロックの動きを追跡するために、動き推定（motion estimation）および動き補償（motion compensation）を実行する。
【０００５】
符号化されたビデオブロックは、予測ブロック、および、符号化されているブロックと予測ブロックとの間の差を示すデータの残差ブロックを作成または識別するために使用される予測情報によって表される。インター符号化の場合、データの予測ブロックを識別するために1つ以上の動きベクトルが使用され、イントラ符号化の場合、予測ブロックを生成するために予測モードが使用される。イントラ符号化およびインター符号化の両方は、符号化に使用される異なるブロックサイズおよび／または予測技法を定義する幾つかの異なる予測モードを定義する。付加的なタイプのシンタックスエレメントは、また、符号化プロセスにおいて使用される符号化技法またはパラメータを制御あるいは定義するために、符号化されたビデオデータの一部として含まれる。
【０００６】
ブロックベースの予測符号化の後、ビデオ符号器は、残差ブロックの通信に関連付けられたビットレートをさらに削減すために、変換、量子化、およびエントロピー符号化プロセスを適用する。変換技法は、離散コサイン変換（discrete cosine transform）、または概念的に類似したプロセスを備える。あるいは、ウェーブレット変換（wavelet transform）、整数変換（integer transform）、または別のタイプ変換が使用される。離散コサイン変換（DCT）プロセスにおいて、例として、変換プロセスは、ピクセル値のセットを変換係数(transform coefficients)に変換し、変換係数は周波数ドメインにおけるピクセル値のエネルギーを表す。量子化は、変換係数に適用され、一般に、任意の所与の変換係数に関連付けられたビット数を限定するプロセスを含む。エントロピー符号化は、量子化された変換係数のシーケンスをまとめて圧縮する1つ以上のプロセスを備える。
【０００７】
コンテキスト適応型可変長符号化（context-adaptive variable length coding：CAVLC）は、ITU-T H.264/ MPEG-4第10部AVC（International Telecommunication Union Standardization Sector Motion Pictures Expert Group-4 Part 10 Advanced Video Coding：以降「H.264/ MPEG-4 Part 10 AVC標準」）などの幾つかの符号化標準において現在サポートされるエントロピー符号化技法の1つのタイプである。H.264/MPEG-4第10部AVC標準において定義されるようなCAVLCに従って、符号器は、係数ベクトルを表す複数のシンタックスエレメントを符号化する。シンタックスエレメントは、係数ベクトル内の全ての係数、係数ベクトル内のいくつかの後端の係数、後端の係数の各々の符号、後端の係数以外の非ゼロ係数の大きさ（またはレベル）、全ての実行(run)の合計（すなわち、最後の非ゼロ係数の前のトータル実行数）、および各非ゼロ係数前のゼロの実行時間を含む。CAVLCは、符号器が係数ベクトルの特定の特徴に基づいてシンタックスエレメントを符号化する際に使用するVLC符号化テーブルを適応して選択するという点で適応型である。
【発明の概要】
【０００８】
一般に、本開示は、レートおよび歪みの所望のバランスを達成することができる方法でビデオブロック係数の量子化のための技法を記述する。記述される技法は、最小符号化コスト（lowest coding cost）に帰着する個別係数に対する量子化レベルを選択するために、各個別係数に関連付けられた複数の量子化レベルを分析する。CAVLCは各係数を個別に符号化しないため、技法は、以前に量子化された係数に対して選択された量子化レベル、および係数ベクトルの後の係数に対して推定される（または予測される）量子化レベルに基づいて、個別係数に関連付けられた候補量子化レベルの各々に対する符号化コストを計算する。各係数に対する量子化レベルは、レート歪みモデル（rate-distortion model）を最小化する量子化された係数のセットを獲得するために、計算された符号化コストに基づいて選択される。
【０００９】
ある例において、本開示は、ビデオ符号化プロセスにおいてビデオブロック係数の少なくとも一部を量子化するための方法を提供する。方法は、ビデオブロック係数の各部分について、それぞれの係数に関連付けられた複数の候補量子化レベルに対する符号化コストを決定することと、量子化された係数のセットを獲得するために、符号化コストに基づいて各係数に対して複数の候補量子化レベルの1つを選択することとを含む。
【００１０】
別の例において、本開示は、ビデオ符号化プロセスにおいてビデオブロック係数の少なくとも一部を量子化するための装置を提供する。装置は、ビデオブロック係数の各部分について、それぞれの係数に関連づけられた複数の候補量子化レベルに対する符号化コストを決定し、量子化された係数のセットを獲得するために符号化コストに基づいて各係数に対する複数の候補量子化レベルの1つを選択する量子化ユニットを含む。
【００１１】
別の例において、装置は、ビデオ符号化プロセスにおいて、ビデオブロック係数の少なくとも一部を量子化する。装置は、ビデオブロック係数の各部分について、それぞれの係数に関連付けられた複数の候補量子化レベルに対する符号化コストを決定するための手段と、量子化された係数のセットを獲得するために符号化コストに基づいて各係数に対する複数の候補量子化レベルの1つを選択するための手段とを備える。
【００１２】
本開示に記述される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせに実施されうる。ソフトウェアに実施される場合、ソフトウェアは、マイクロプロセッサ、特定用途向けIC（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、またはデジタル信号プロセッサ（DSP）などの1つ以上のプロセッサで実行される。この技法を実行するソフトウェアは、初めにコンピュータ読み取り可能媒体に記憶され、プロセッサにおいてロードおよび実行される。
【００１３】
従って、本開示は、また、実行されることでデバイスに、ビデオ符号化プロセスにおいてビデオブロック係数の少なくとも一部を量子化させる命令を備えるコンピュータ読み取り可能媒体を企図する。命令は、デバイスに、ビデオブロック係数の各部分について、それぞれの係数に関連付けられた複数の候補量子化レベルに対する符号化コストを決定させ、量子化係数のセットを獲得するために符号化コストに基づいて各係数に対する複数の候補量子化レベルの1つを選択させる。
【００１４】
本開示の1つ以上の態様の詳細は、添付図および以下の記述において示される。本開示に記述される技法の他の特徴、目的、および利点は、説明および図面から、また、請求項から明白となろう。
【図面の簡単な説明】
【００１５】
【図１】図1は、本開示の1つ以上の技法を実施するビデオ符号化および復号システムを示す例示的なブロック図である。
【図２】図2は、本開示と一致するビデオ符号器の例を示すブロック図である。
【図３】図3は、4x4のビデオブロックのジグザグ走査を示す概念図である。
【図４】図4は、本開示と一致する量子化トレリスを示すブロック図である。
【図５】図5は、本開示と一致する技法を示すフロー図である。
【図６】図6は、本開示と一致する技法を示すフロー図である。
【図７】図7は、本開示と一致する技法を示すフロー図である。
【図８】図8は、本開示と一致する技法を示すフロー図である。
【発明の詳細な説明】
【００１６】
図1は、本開示の技法を実施する例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、通信チャネル16を介して符号化されたビデオを目的デバイス(destination device)14に送信するソースデバイス12を含む。ソースデバイス12および目的デバイス14は、広帯域の有線または無線デバイスのいずれかを備える。幾つかの場合において、ソースデバイス12および目的デバイス14は、無線ハンドセット（いわゆる、携帯または衛星無線電話機）、または通信チャネル16を通してビデオ情報を通信することができる任意の無線デバイスなどの無線通信デバイスを備える。本開示の技法は、無線のアプリケーションまたは設定との関連で本開示全体に記述されるが、そのように限定されるべきではない。この技法は、また、有線のアプリケーションまたは設定にも利用される。
【００１７】
図1の例において、ソースデバイス12は、ビデオソース20、ビデオ符号器22、変調器／復調器（モデム）23、および送信機24を含む。目的デバイス14は、受信機26、モデム27、ビデオ復号器28、およびディスプレイデバイス30を含む。本開示に従って、ソースデバイス12のビデオ符号器22は、本開示に記述される量子化技法を適用するように構成される。このように、ソースデバイス12は、所望のレベルの量子化を達成し、それにより符号化プロセスを改善する。
【００１８】
一般に、ソースデバイス12は、目的デバイス14への送信のための符号化されたビデオデータを生成する。しかし、幾つかの場合において、デバイス12、14は実質的に対称的な方法で動作する。例えば、デバイス12、14の各々は、送信および受信コンポーネントと同様に、ビデオ符号化および復号コンポーネントを含む。それゆえ、システム10は、例えば、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスト、またはビデオ電話などのために、デバイス12と14との間で一方向または両方向のビデオ送信をサポートすることができる。
【００１９】
ソースデバイス12のビデオソース20は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダから（例えば衛星を介して）のビデオフィードなどのビデオキャプチャデバイスを含む。さらなる代替として、ビデオソース20は、ソースビデオ、または、ライブビデオ、アーカイブビデオ、コンピュータ作成ビデオの組み合わせとしてのコンピュータグラフィックベースのデータを生成する。幾つかの場合において、ビデオソース20がビデオカメラであるとすると、ソースデバイス12および目的デバイス14は、いわゆるカメラ電話またはビデオ電話を形成する。それぞれの場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ作成ビデオは、ビデオ符号器22によって符号化される。次に、符号化されたビデオ情報は、例えば、符号分割多元接続（CDMA）のような通信標準または別の通信標準に従ってモデム23によって変調され、送信機24を介して目的デバイス14に送信される。モデム23は、種々のミキサー、フィルタ、増幅器、または信号変調のために設計される別のコンポーネントを含む。送信機24は、増幅器、フィルタ、および1つ以上のアンテナを含む、データを送信するために設計される回路を含む。
【００２０】
目的デバイス14の受信機26は、チャネル16を通して情報を受信し、モデム27は情報を復調する。ビデオ復号器28は、ビデオシーケンスを復元するために、符号化されたビデオデータを復号する。ディスプレイデバイス30は、復号されたビデオデータをユーザに表示し、それは、陰極線管、液晶ディスプレイ（LCD）、プラズマディスプレイ、有機発光ダイオード（OLED）ディスプレイ、または別のタイプのディスプレイデバイスといった様々なディスプレイデバイスのいずれかを含む。
【００２１】
図1の例において、通信チャンネル16は、無線周波数（RＦ）スペクトルまたは1つ以上の物理的送信ライン、または無線および有線メディアの任意の組み合わせなど、任意の無線または有線の通信メディアを備える。通信チャンネル16は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバルネットワークなどのパケットベースのネットワークの一部を形成する。通信チャンネル16は、一般に、ソースデバイス12から目的デバイス14にビデオデータを送信するための任意の適切な通信メディアまたは異なる通信メディアの集まりを表わす。
【００２２】
ビデオ符号器22およびビデオ復号器28は、H.264/MPEG-4第10部AVC標準のようなビデオ圧縮標準に従って動作する。ITU-T H.264/MPEG-4第10部AVC標準は、JVT（Joint Video Team）として知られる共同体の成果物として、ITU-TのVCEG（Video Coding Experts Group）とMPEG（Moving Picture Experts Group）とによって公式化された。幾つかの態様において、本開示に記述される技法は、全体的にH.264標準に合致するデバイスに適用される。
【００２３】
ビデオ符号器22およびビデオ復号器28は、各々、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ（DSP）、特定用途向けIC（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせとして実施されうる。ビデオ符号器22およびビデオ復号器28の各々は、1つ以上の符号器あるいは復号器に含まれ、そのどちらか一方は、複合型符号器/復号器の（コーデック）の一部として、それぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバ、または同様のものに一体化されうる。
【００２４】
ビデオシーケンスは典型的に一連のビデオフレームを含む。ビデオ符号器22は、ビデオデータを符号化するために個々のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは固定または可変サイズを有し、特定の符号化標準に従ってサイズが異なる。各ビデオフレームは、個々に復号可能なビデオフレームのユニットである一連のスライスを含む。各スライスは、一連のマクロブロックを含み、それはサブブロックに配列される。例として、H.264標準は、様々なブロックサイズ（ルーマ成分（luma component）の場合、16×16、8×8または4ｘ4、およびクロマ成分（chroma component）の場合、8×8など）におけるイントラ予測に加えて、様々なブロックサイズ（ルーマ成分の場合、16×16、16×8、8×16、8×8、8×4、4×8、4×4、およびクロマ成分の場合、対応するスケールサイズなど）におけるインター予測をサポートする。より小さいビデオブロックは、より良い解像度を提供することができ、高レベルの詳細を含むビデオフレームの位置に対して使用される。一般に、マクロブロック（MB）および様々なサブブロックは、ビデオブロックであると考えられる。
【００２５】
ビデオブロックは、ピクセルデータのブロック、または、例えば、離散コサイン変換（DCT）または別の変換プロセスといった変換プロセスの結果として生じる変換係数(transformation coefficients)のブロックを備える。本開示で使用されるような「係数」という用語は、一般的に変換係数を指すが、代替的に、ピクセル値のような別のタイプの係数あるいは値、または別のタイプの係数を指す。本開示の量子化技法は、典型的に、変換されたビデオブロックの変換係数（時々、残差変換係数(residual transform coefficients)と呼ばれる）に適用される。
【００２６】
ビデオブロックを符号化するために、ビデオ符号器22は、予測ブロックを生成するためにイントラ予測またはインター予測を実行する。ビデオ符号器22は、残差ブロックを生成するために、符号化されるべきオリジナルのビデオブロックから予測ブロックを引く。従って、残差ブロックは、符号化されているブロックと予測ブロックとの間の差を示す。ビデオ符号器22は、ブロックの変換係数を生成するために、残差ブロック上で変換を実行する。イントラまたはインターベースの予測符号化および変換技法に続いて、ビデオ符号器22は量子化を実行する。量子化は、より詳細に以下に議論されるが、一般に、係数を表わすために使用されるデータの量をできる限り削減するように係数が量子化されるプロセスを指す。量子化に続いて、エントロピー符号化が、CAVLCのようなエントロピー符号化方法論に従って実行される。ビデオ符号器22によって実行される符号化プロセスの各ステップのさらなる詳細は、図2に関して以下により詳しく記述されるであろう。
【００２７】
本開示は、レートと歪みとの所望のバランスを達成することができる方法で、ビデオブロック係数を量子化するための技法を提供する。換言すると、技法は、通信レートのための所与のビットバジェットで所望のレベルの品質を達成するために、符号化プロセスの量子化ステップを改善する。本開示の技法によると、ビデオ符号器22は、ブロック係数の少なくとも一部について、最低符号化コストを有する個別係数に対する量子化レベルを選択するために、複数の量子化レベルを分析する。
【００２８】
ある例において、ビデオ符号器22は、例えば、レート歪みモデルに関連付けられたラグランジュコスト関数(Lagrange cost function)を使用して、連続して個別係数に関連付けられた候補量子化レベルの各々に対する符号化コストを計算する。CAVLCが各係数を個々に符号化しないため、ビデオ符号器22は、係数ベクトルの他の係数全ての量子化レベルに基づいて、個別係数に関連付けられた候補量子化レベルの各々に対する符号化コストを計算する。現在と前の係数の量子化レベルは知られている；現在の係数の量子化レベルは候補量子化レベルの1つと等しく、前の係数の量子化レベルは以前に選択されている。現在の係数の後の量子化レベルの係数は未知であるため、以下に詳細に記述されるように推定される。ビデオ符号器22は、現在分析されている個別係数に対して、最低符号化コストを有する候補量子化レベルを選択する。ビデオ符号器22は、ブロックの全ての係数に対して上に記述された方法で量子化レベルを選択する。このアプローチはワンパスまたは単一パスアプローチと呼ばれる。
【００２９】
あるいは、ビデオ符号器22は、個別係数に関連付けられた候補量子化レベルの各々に対して1つ以上の符号化コスト（または複数の符号化コスト）を計算する。複数の符号化コストは、前の係数に関連付けられた、以前に選択された量子化レベルの生存パス、および後の係数に対する将来（後）の量子化レベルの推定に基づいて計算される。図2および4に関して以下にさらに詳細に記述されるように、生存パスは、ブロック内の前の係数についての量子化決定のシーケンスを表わす。ビデオ符号器22は、単一の生存パスが存在するまで、ブロックの全ての係数に対して、上に記述された方法で量子化レベルを選択し続ける。単一の生存パスは、ブロック中の全ての係数についての量子化決定のシーケンスを表わす。
【００３０】
本開示の量子化技法は、ビデオ符号器22が通信レートのための所与のビットバジェットで所望のレベルの品質を達成することを可能にする。本開示の技法に従って、ビデオ符号器22は、係数単位でレート歪みモデルを実施し、所望のレベルの量子化を達成することができる。対照的に、従来の量子化技法は、係数単位に対立するものとしてブロック単位でレート歪みモデルを実施する。換言すると、従来の量子化技法は、単に、全ブロックに対する符号化コストを計算する際に、各係数に対して単一の量子化レベルを分析するのみである。そのような技法は、量子化された係数または量子化レベルを選択することにおいて、本開示の技法ほど効果的ではなく、そのため、歪みメトリクは、最大目標符号化ビットレート制約に従って最小化され、または等価的に、符号化ビットレートは、最大許容歪み制約に従って最小化される。
【００３１】
図2は、本開示と一致するビデオブロック係数の量子化を実行するレート歪み（RD）量子化ユニット40を含むビデオ符号器50の例を示すブロック図である。例えば、ビデオ符号器50はソースデバイス12のビデオ符号器22に相当する。ビデオ符号器50は、ビデオフレーム内のブロックのイントラ符号化およびインター符号化を実行する。イントラ符号化は、所与のビデオフレーム内のビデオにおける空間的冗長性を削減または除去するために、空間予測に依存する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオにおける時間的冗長性を削減または除去するために、時間予測に依存する。インター符号化について、ビデオ符号器50は、2つ以上の隣接フレーム間のマッチングビデオブロックの動きを追跡するために動き推定を実行する。イントラモード（I-モード）は空間ベースの圧縮モードを指し、予測（P-モード）または双方向（B-モード）などのインターモードは時間ベースの圧縮モードを指す。
【００３２】
図2の例において、ビデオ符号器50は、予測ユニット32、参照フレーム記憶装置34、変換ユニット38、RD量子化ユニット40、逆量子化ユニット42、逆変換ユニット44、およびCAVLC符号化ユニット46を含む。非ブロック化フィルタ（deblocking filter）（図示されない）は、また、ブロックノイズアーティファクトを除去する目的でブロック境界をフィルタするために含まれる。ビデオ符号器50は、また、加算器48および加算器51を含む。
【００３３】
図2に示されるように、ビデオ符号器50は、符号化されるべきビデオフレームの現在のビデオブロックまたはビデオフレームのスライスを受信する。予測ユニット32は、予測ブロックを生成するために予測符号化技法を実行する。予測ユニット32は、イントラ予測ユニットおよび／またはインター予測ユニットを表す。インター符号化の場合、予測ユニット32は、予測ブロックを定義するために、符号化されるべき現在のビデオブロックと1つ以上の参照ビデオフレームまたはスライス内の様々なブロックとを比較する。イントラ符号化の場合、予測ユニット32は、同一の符号化されたユニット（例えば、ビデオフレームまたはスライス）内の隣接データに基づいて予測ブロックを生成する。
【００３４】
インター符号化の場合、予測ユニット32は、各々が参照フレーム内のブロックを指す1つ以上の動きベクトルを識別する動き推定(motion estimation)、および、その動きベクトルに基づいて予測ブロックを生成する動き補償ユニットを備える。そのため、動き推定は、動きを推定する動きベクトルを生成するプロセスであると考えられる。例えば、動きベクトルは、現在のフレーム内で符号化されている現在のブロックに関して参照フレーム内の予測ブロックの転位(displacement) を示す。参照フレームは、一時的に、現在のビデオブロックが属するビデオフレームまたはスライスの前または後に配置される。動き補償は、動き推定によって決定される動きベクトルに基づいて予測ブロックを取得または生成するプロセスであると考えられる。
【００３５】
述べられたように、イントラ符号化の場合、予測ユニット32は、同一の符号化されたユニット内の隣接データに基づいて予測ブロックを生成する。1つ以上のイントラ予測モードは、どのようにイントラ予測ブロックが定義されうるかを定義する。H.264/MPEG-4第10部AVC標準に従って、例えば、予測ユニット32は、9つの可能なイントラ予測モード：垂直予測モード、水平予測モード、DC予測モード、対角左下予測モード、対角右下予測モード、垂直右予測モード、水平下向き予測モード、垂直左予測モード、および水平上向き予測モードのうちの1つを使用して、4×4または8×8の予測ブロックを生成する。あるいは、予測ユニット32は、H.264/MPEG-4第10部AVC標準に定義される4つの可能なイントラ予測モード：垂直予測モード、水平予測モード、DC予測モード、および平面予測モードのうちの1つを使用して、16×16の予測ブロックを生成する。
【００３６】
ビデオ符号器50は、符号化されるべきオリジナルのビデオブロックから、予測ユニット32によってつくり出された予測ビデオブロックを差し引くことにより、残差ビデオブロック（「RESID BLOCK」とラベル付けされる）を形成する。加算器48は、残差ブロックを獲得するために、この減算動作を実行する。変換ユニット38は、残差変換係数のビデオブロックをつくり出すために残差ブロックに離散コサイン変換（DCT）などの変換を適用する。変換ユニット38は、8×8（Ｎ＝8）または4×4（Ｎ＝4）のブロックベースで変換を適用する。しかし、変換ユニット38は、概念的にDCTに類似する、H.264標準によって定義される別の変換を実行しうる。ウェーブレット変換、整数変換、サブバンド変換、または別のタイプの変換も、また、使用されうる。いかなる場合においても、変換ユニット38は残差ブロックに変換を適用し、残差変換係数のブロックをつくり出す。変換は残差情報をピクセルドメインから周波数ドメインに変換する。
【００３７】
RD量子化ユニット40（本明細書において「量子化ユニット40」とも呼ばれる）は、ビットレートをさらに減らすために、残差変換係数を量子化する。特に、量子化ユニット40は、通信レートのための所与のビットバジェットで所望のレベルの品質を達成するために、より詳しく以下に記述される1つ以上の量子化技法を実行する。このように、量子化ユニット40はレート歪みモデル(rate-distortion model)を実施し、例えば、所与のレートまたはビットバジェットに対して所望のビット数を達成する、所望の量子化レベルを達成することができる。
【００３８】
予測シンタックス（例えば、動きベクトル、予測モード、または別の制御情報）と共に、量子化された変換係数はエレメントの完全に符号化されたシーケンスを形成する。CAVLC符号化ユニット46は、それらの表現に必要なビット数をさらに減らすように、量子化された変換係数および予測シンタックスをエントロピー符号化する。CAVLC符号化ユニット46によるエントロピー符号化に続いて、符号化されたビデオは別のデバイスに送信され、もしくは、後の送信または検索のために保管される。
【００３９】
量子化された係数は、また、逆量子化ユニット（inverse quantization unit）42に提供される。逆量子化ユニット42および逆変換ユニット（inverse transform unit）44は、参照ブロックとして使用する目的で、ピクセルドメインの中の残差ブロックを復元（「RECON RESID」とラベル付けされる）するために、それぞれ、逆量子化および逆変換を適用する。加算器51は、参照フレーム記憶装置34への記憶の目的で、復元されたビデオブロックをつくり出すために、予測ユニット32によってつくり出された予測ブロックに、逆変換ユニット44によって出力された復元された残差ブロックを加える。参照フレーム記憶装置34に記憶された復元されたビデオブロックは、後のビデオフレーム内のブロックをインター符号化するため、または同一のフレーム内のブロックをイントラ符号化するために、参照ブロックとして予測ユニット32によって使用される。
【００４０】
予測誤差または残差ブロックE（x、y）、すなわち、符号化されるべきブロックI（x、y）と予測ブロックP（x、y）との間の差は、変換基底関数fij（x、y）の加重和として表わされる。
【数１】
2011517911.tif 000003
【００４１】
ここで、ｘおよびｙは、ビデオブロック内の所与の係数の位置を定義し、cijは重み係数であり、それは、時々、予測誤差係数または残差変換係数と呼ばれる。残差変換係数または重みcijは、続いて以下のように量子化される：
【数２】
2011517911.tif 000004
【００４２】
ここで、lijは量子化された係数またはレベルであり、Q（cij,QP）は、量子化パラメータQPでcijを量子化する関数である。関数Q（cij、QP）は、量子化ステップサイズを定義する量子化行列内のQPおよび位置（i、j）に従って導かれる値でcijを割る。量子化動作は情報の損失を持ち込む。しかし、量子化された係数は少数のビットで表わされ、それによって、送信帯域幅、記憶スペースおよび処理リソースを保存する。圧縮のレベル（情報の損失）は、一般的に、QPの値を調整することによって制御される。
【００４３】
復号器側で、現在のフレームのブロックは、最初にビデオ符号器50と同じ方法で予測ブロックを構成し、予測ブロック、復号予測誤差または残差ブロックに加えることによって獲得される。予測誤差または残差ブロックは符号化されたビットストリームをエントロピー復号することで獲得され、逆量子化および逆変換動作を適用する。逆量子化（inverse quantizationまたはde-quantization）は、例えば式
【数３】
2011517911.tif 000005
【００４４】
に従って、逆量子化係数rijを獲得するために実行される。ここで、Q-1（lij、QP）は、量子化パラメータQPでlijを逆量子化する関数を表わす。関数Q（lij、QP）は、lijに、量子化ステップサイズを定義する逆量子化行列内のQPおよび位置（i、j）に従って導かれる値を掛けかけ合わせる。逆変換動作は復元された残差ブロックまたは復元された予測誤差を獲得するために実行され、それは復元されたブロックR（x、y）とオリジナルのブロックＩ（x、y）との間の差を表わす。ある例において、残差ブロックまたは予測誤差
【数４】
2011517911.tif 000006
【００４５】
の復元されたバージョンは、逆量子化係数rijに下記の関数を適用することによって獲得される：
【数５】
2011517911.tif 000007
【００４６】
ここで
【数６】
2011517911.tif 000008
【００４７】
は逆変換基底関数である。
【００４８】
一般的に、ビデオコーデック内の変換係数の量子化は、通常、均一復元量子化器（uniform-reconstruction quantizer：URQ）に基づく。データを量子化するための分類規則は符号器によって定義される。量子化の一例は、いわゆるデッドゾーンプラスユニフォーム閾値量子化（dead-zone plus uniform threshold quantization：DZ-UTQ）アプローチである。以下の式は、そのようなデッドゾーン量子化器を定義する。ここでf0は0≦f0≦0.５のデッドゾーンパラメータ表す。
【数７】
2011517911.tif 000009
【００４９】
ここで、lijは、量子化レベルまたは量子化係数値に相当し、sgn（N）は、実数Ｎの符号を抽出する符号関数（signum function）であり、
【数８】
2011517911.tif 000010
【００５０】
は、M以下の最大整数を戻す床関数（floor function）である。
【００５１】
概念的に、復元された値またはレベルlijに対応する逆量子化された係数値rijは、対応するQPとlijとを乗算することによって導かれる：
【数９】
2011517911.tif 000011
【００５２】
式（5）および（6）は、対応する基底関数の正規化のための異なるスケール係数が簡素化のために無視されることから、H.264/MPEG-4第10部AVC標準に現時点で特定されるものの数学的な簡略版を表わす。
【００５３】
H.264/MPEG-4第10部AVC標準において、量子化は次の式に従って実行される：
【数１０】
2011517911.tif 000012
【００５４】
ここでi, j=0,…,3であり、Qは量子化ステップサイズの量子化行列を表し、％はモジューラ分割（modular division）を表し、fは、イントラ符号化フレームの場合に215+QP/6/3に等しく、インター符号化フレームの場合に215+QP/6/6と等しい。係数の逆量子化は次の式に従って実行される：
【数１１】
2011517911.tif 000013
【００５５】
ここでi,j＝0,…,3であり、rijは、ビデオブロック中の位置（i、j）での逆量子化係数値を表わし、Rは逆量子化ステップサイズを表わす。例えば、Rは式（3）のQ−1に等価である。幾つかの実施形態において、QPのQおよびRに関連付けられた値は、あらかじめ計算および記憶される。
【００５６】
所与のブロック内の残差変換係数は、ジグザグ走査または別の走査順序を使用して、順序づけられ（走査され）、それは、一次元の順序づけられた係数ベクトルに帰着する。ジグザグ走査のような走査方法は、また、それが、ブロックによって定義される二次元のパターンから一次元の直列係数を生み出すという点で、直列化(serialization)とも呼ばれる。4×4ブロックに対する例示的なジグザグ走査が図3に表される。図3に示されるそのようなジグザグ走査の走査順序は、ビデオブロック56を通る矢印を辿る。特に、係数C1−C16は走査順序でラベル付けされ、図3に示される数値は、連続する一次元ベクトル内の係数の位置を示し、係数の実際の値を表わさない。図7に例証されるジグザグ走査の結果は、一次元の係数ベクトルＸである。ここで、
【数１２】
2011517911.tif 000014
【００５７】
であり、C1-C16は、係数の二次元アレイ内の係数の位置を表わす。
【００５８】
ジグザグ走査は、一般的に、二次元（2Ｄ）変換の適用後、ほとんどのエネルギーを有する変換係数（すなわち、より高い値の係数）が低周波数変換関数に対応し、図3に描写されるように、ブロックの左上方に配置されることを推定する。それゆえに、ジグザグ走査を通してつくり出される係数ベクトルにおいて、より高い大きさの係数が、一次元の順序付けられた係数ベクトルの最初の方に現れる可能性が最も高い。量子化後、低エネルギー係数のほとんどは0に等しい。
【００５９】
本開示の技法は、任意の特定の走査順序または走査技法に制限されない。例えば、本開示で使用される走査順序は、図3に示されるジグザグ走査順序である。あるいは、本開示で使用される走査順序は、水平走査、垂直走査、あるいは他の走査技法といった別の走査順序である。幾つかの場合において、走査順序は、以前に走査されたブロックのコンテンツに基づいて、または現在のビデオブロックを符号化するために使用される同一の符号化モードに対応する、以前に走査されたブロックに基づいて適応する。ある実施形態において、係数は、それらの量子化前の値（例えば、残差変換係数値）の大きさに基づいて配列される。例えば、結果として得られる係数ベクトルは、最小の大きさを有する係数が係数ベクトルの最初に現われるように配列される。この基準に従って順序付けられた係数は、ciと表されるであろう。ここで、i＝1,...,M（Mは4×4ブロックの場合16に等しく、8×8ブロックの場合64に等しい）である。
【００６０】
CAVLCは、量子化された係数をエントロピー符号化するための1つの方法である。H.264/MPEG-4第10部AVC標準に定義されるようにCAVLCに従って、CAVLC符号化ユニット46は、係数ベクトル内の全ての係数、係数ベクトル内のいくつかの後端の係数、後端の係数の各々の符号、後端の係数以外の非ゼロ係数の大きさ（またはレベル）、全ての実行の合計（すなわち、最後の非ゼロ係数の前の全ての実行）、および、各非ゼロ係数の前のゼロの実行時間を符号化する。
【００６１】
各ブロックの変換係数について、歪みメトリクが最大目標符号化ビットレート制約（maximum target coding-bit-rate constraint）に従って最小化され、または等価的に、符号化ビットレートが最大許容歪み制約（maximum allowable distortion constraint）に従って最小化されるように、量子化された係数または量子化レベルを見つけることが望まれる。このように、トータル符号化ビットバジェットRbudgetに従って、予測誤差E（x, y）と予測誤差の復元バージョン・（x, y）との間の歪みメトリクDを最小化することが望まれる:
【数１３】
2011517911.tif 000015
【００６２】
歪みメトリクDは、平均二乗誤差（MSE）歪み、アクティビティ加重MSE、または別の歪みメトリクである。
【００６３】
いわゆる「難しい」制約閾値問題は、ラグランジュ乗算器λを通してレートと歪みを「組み合わせる」ことで、それを「容易な」等価的非制約問題に変換することにより解決することができる。非制約閾値問題は、以下の式のように表されるトータルラグランジュコストJ(λ)を最小化する係数レベルの決定（固定λに対する）になる。
【数１４】
2011517911.tif 000016
【００６４】
従って、
【数１５】
2011517911.tif 000017
【００６５】
は、レートおよび歪みをまとめて最小化するレート歪みモデルを形成する。
【００６６】
H.264に合致する符号器の場合、所与のブロックに対する二乗復元誤差
【数１６】
2011517911.tif 000018
【００６７】
は、二乗量子化誤差
【数１７】
2011517911.tif 000019
【００６８】
に比例する。
【００６９】
H.264標準で使用される変換が直交であるため、ラグランジュコストJ(λ)は次のように計算される：
【数１８】
2011517911.tif 000020
【００７０】
ここで、ｊ（λ, cij, lij）は、レベルlijに量子化される時の係数cijのラグランジュコストである：
【数１９】
2011517911.tif 000021
【００７１】
量子化誤差err(cij, lij)は、（rij-cij）2に比例する：
【数２０】
2011517911.tif 000022
【００７２】
量子化行列および逆量子化行列QおよびQ−1（またはR）の場合のように、標準化行列の値Ｎ（QP,ｉ,j）は、ブロック（iおよびjによって指定される）中の位置およびQPの値にのみ依存する。量子化値lijを符号化するために要求されるビットの数bits（lij）は、例えば、上に簡単に記述されたCAVLCアルゴリズムでlijを符号化することによって計算される。
【００７３】
非ゼロ係数の少なくとも1つの部分について、RD量子化ユニット40は1つ以上の候補量子化レベルを分析する。RD量子化ユニット40は、例示の目的のために、3つの候補量子化レベルを分析するとして以下に記述されるであろう。しかし、RD量子化ユニット40は、任意の数の候補量子化レベルを分析することができる。従って、本開示の技法は3つの候補量子化レベルに制限されるべきではない。ある例において、RD量子化ユニット40は、以下の3つの候補量子化レベルを分析する：
【数２１】
2011517911.tif 000023
【数２２】
2011517911.tif 000024
【数２３】
2011517911.tif 000025
【００７４】
ここで、
【数２４】
2011517911.tif 000026
【００７５】
は、係数に対する最大量子化レベルを表す。別の例において、RD量子化ユニット40は、以下の3つの候補量子化レベルを分析する：
【数２５】
2011517911.tif 000027
【００７６】
、1、および
【数２６】
2011517911.tif 000028
【００７７】
最大量子化レベル、
【数２７】
2011517911.tif 000029
【００７８】
は、4×4ブロックの場合に以下のように計算される。
【数２８】
2011517911.tif 000030
【００７９】
ある態様において、RD量子化ユニット40は、複数の候補量子化レベルから各個別係数の量子化レベルを選択するために、上に簡単に記述された単一のパスアプローチを使用する。RD量子化ユニット40は、個別係数に関連付けられた候補量子化レベルの全てに対して符号化コストを計算し、現在分析されている個別係数に対する量子化レベルとして最小符号化コストを有する候補量子化レベルを選択する。RD量子化ユニット40は、量子化レベルが係数ベクトルの各個別係数に対して選択されるまでこのプロセスを連続的に実行する。
【００８０】
各個別係数が3つの候補量子化レベル（例えば、0、
【数２９】
2011517911.tif 000031
【００８１】
および
【数３０】
2011517911.tif 000032
【００８２】
または、0、1、および
【数３１】
2011517911.tif 000033
【００８３】
）に関連付けられる上に記述された例において、RD量子化ユニット40は、個別係数に対する3つの符号化コストを計算する。3つの符号化コストの各々は、可能性のある候補量子化レベルの異なる1つに対応する。RD量子化ユニット40は、式（10）または（13）のラグランジュコスト関数に従ってコストを計算する。RD量子化ユニット40は、符号化コストを削減およびしばしば最小化する量子化された係数（またはレベル）のセットを選択するために、ベクトルの個別係数の各々に対して上に記述された量子化技法を連続的に実行する。
【００８４】
CAVLCは、幾つかの係数と関係する情報を単一のシンタックスエレメントに符号化する。例えば、H.264標準に定義されるようなシンタックスエレメント「トークン係数（coeff token）」は、量子化されたベクトル中の非ゼロ係数を全て符号化する。そのように、CAVLCは各係数を個別に符号化しない。従って、CAVLCが量子化された係数のベクトルを符号化するために使用するビット数を決定するために、ベクトルの各係数は、コストを計算するために知られなければならない。現在の係数の量子化レベルは分析されている候補量子化レベルの1つと等しく、そのため知られている。係数ベクトル内の現在の係数の前の係数の量子化レベルも、また、それらが以前に選択されているため知られている。しかし、係数ベクトル内の現在の係数の後の係数の量子化レベルはまだ選択されておらず、そのため容易に知られない。
【００８５】
しかし、RD量子化ユニット40は、これらの後の係数の量子化レベルについての推定を計算することができる。ある例において、RD量子化ユニット40は、上の式（15）によって定義されるように、後の係数の量子化レベルを
【数３２】
2011517911.tif 000034
【００８６】
に等しくなるように設定する。別の例において、RD量子化ユニット40は、以下のように、量子化前の値
【数３３】
2011517911.tif 000035
【００８７】
を計算する：
【数３４】
2011517911.tif 000036
【００８８】
ここで、fは、イントラフレームの場合に215+QP/6/3に等しく、インターフレームの場合に215+QP/6/6に等しい。係数統計に基づくfに対する別の値も、また、使用される。
【００８９】
別の態様において、RD量子化ユニット40は、係数の符号化コストを縮小および多くの場合に最小化する量子化された係数（またはレベル）のセットを選択するために、マルチパスアプローチを使用する。このアプローチにおいて、RD量子化ユニット40は、個別係数に関連付けられた各候補量子化レベルに対する複数の符号化コストを計算する。換言すると、各個別係数は、複数の候補量子化レベルに関連付けられ、各候補量子化レベルは複数の符号化コストに関連付けられる。量子化レベルは、レート歪み関数を最小化する量子化レベルの組み合わせを識別することによって選択される。
【００９０】
例として、RD量子化ユニット40は、図4に例証されるように、量子化トレリス60を使用して、レート歪み関数を最小化するためにマルチパスアプローチを実施する。量子化トレリス60は、各ステージが係数ベクトルの個別係数に対応するj個のステージを有する。例えば、4×4ブロックの場合にj＝16である。j個のステージの各々は、各々がステージに関連付けられた個別係数の候補量子化レベルに対応する3つの黒丸によって表わされる3つの状態を有する。図4に示される例において、各ステージの3状態（円）は、候補量子化レベル0、
【数３５】
2011517911.tif 000037
【００９１】
および
【数３６】
2011517911.tif 000038
【００９２】
を表す。あるいは、各ステージの3つの状態（円）は、0、1、および
【数３７】
2011517911.tif 000039
【００９３】
などの他の候補量子化レベルを表す。さらに、上に記述されるように、各ステージは、より多くの状態またはより少ない状態（例えば、2つの候補量子化レベル、または4つ以上の候補量子化レベル）を含む。
【００９４】
量子化トレリス60を通るパスは、ブロック内の全ての係数（すなわち、量子化された係数（またはレベル）のセット）についての量子化決定のシーケンスを表わす。RD量子化ユニット40は、量子化トレリス60を通る生存パスを見つけるためにビタビアルゴリズム（Viterbi’s algorithm）を使用する。ビタビアルゴリズムは、観察されたイベントのシーケンスに帰着する隠れ状態（またはビタビパス）の最も起こりうるシーケンスを見つけるための動的プログラミングアルゴリズムである。ビタビアルゴリズムは多数の仮定を作る。第1に、観察されたイベントおよび隠れイベントの両方はシーケンスに存在しなければならない。このシーケンスはしばしば時間に対応する。第2に、これら2つのシーケンスは整列される必要があり、観察されたイベントの例は、隠れイベントの1つの例に厳密に対応する必要がある。第3に、最も起こりうる隠れシーケンスを特定のポイントtまで計算することは、ポイントtでの観察されたイベントおよびポイントt-1での最も起こりうるシーケンスのみに依存しなければならない。
【００９５】
量子化トレリス60の各ステージにおいて、RD量子化ユニット40は、例えば、式（  ）または（13）のラグランジュコスト関数に従って、現在までの個別係数への各生存パスに基づく各候補量子化レベル、および後の係数の推定される量子化レベルに対してコストを計算する。現在のステージおよび生存パスの各々に沿った過去のステージの係数について、RD量子化ユニット40は量子化レベル情報を有する。将来のステージ（つまり後の係数）の量子化レベルは、式（15）および（16）をそれぞれ使用して計算される、予測される量子化レベル
【数３８】
2011517911.tif 000040
【００９６】
または
【数３９】
2011517911.tif 000041
【００９７】
もしくは別の推定または予測される量子化レベルを割り当てられる。
【００９８】
例えば、係数C2に対応する量子化トレリス60の第2のステージで、RD量子化ユニット40は、係数C1およびC2に関連付けられた候補量子化レベルの各組み合わせに対して符号化コストを計算する。候補量子化レベル0、
【数４０】
2011517911.tif 000042
【００９９】
、および
【数４１】
2011517911.tif 000043
【０１００】
を例として使用し、RD量子化ユニット40は、係数C2に関連付けられた各候補量子化レベルに対する3つの符号化コストを計算する。係数C2に関連付けられた候補量子化レベル0について、RD量子化ユニット40は量子化レベルl1＝0、l2＝0および、予測／推定される量子化レベル
【数４２】
2011517911.tif 000044
【０１０１】
または
【数４３】
2011517911.tif 000045
【０１０２】
にそれぞれ等しいl3からljを使用して、第1の符号化コストを計算し（ここで、l1、l2、l3 、...、ljはそれぞれC1、C2、C3、...、Cjに関連づけられた、選択された候補および／または予測される量子化レベルである）、量子化レベル
【数４４】
2011517911.tif 000046
【０１０３】
、l2＝0、および、予測／推定される量子化レベルにそれぞれ等しいl3からljを使用して第2の符号化コストを計算し、量子化レベル
【数４５】
2011517911.tif 000047
【０１０４】
、l2＝0、および、予測／推定される量子化レベルにそれぞれ等しいl3からljを使用して、第3の符号化コストを計算する。RD量子化レベル40は、係数C2に関連付けられた係数量子化レベル0のための生存パスとして、計算された最小符号化コストを有するパスを選択する。
【０１０５】
同様に、RD量子化ユニット40は、l1＝0、
【数４６】
2011517911.tif 000048
【０１０６】
および、
【数４７】
2011517911.tif 000049
【０１０７】
をそれぞれ使用して係数C2に関連付けられた候補量子化レベル
【数４８】
2011517911.tif 000050
【０１０８】
およびそれぞれの予測される量子化レベルに等しいl3からljに対して、第1、第2および第3の符号化コストを計算する。RD量子化ユニット40は、C2に関連付けられた係数量子化レベル
【数４９】
2011517911.tif 000051
【０１０９】
のための生存パスとして、計算された最小符号化コストを有するパスを選択する。RD量子化ユニット40は、また、l1＝0、
【数５０】
2011517911.tif 000052
【０１１０】
、および
【数５１】
2011517911.tif 000053
【０１１１】
をそれぞれ使用して係数C2に関連付けられた候補量子化レベル
【数５２】
2011517911.tif 000054
【０１１２】
、および予測される量子化レベルにそれぞれ等しいl3からljに対する第1、第2、および第3の符号化コストを計算する。RD量子化ユニット40は、係数C2に関連付けられた係数量子化レベル
【数５３】
2011517911.tif 000055
【０１１３】
のための生存パスとして、計算された最小符号化コストを有するパスを選択する。例示の目的のために、係数C2に関連付けられた量子化レベル0のための生存パスが
【数５４】
2011517911.tif 000056
【０１１４】
を含むパスであり、係数C2に関連付けられた量子化レベル
【数５５】
2011517911.tif 000057
【０１１５】
のための生存パスは、
【数５６】
2011517911.tif 000058
【０１１６】
を含むパスであり、および係数C2に関連付けられた量子化レベル
【数５７】
2011517911.tif 000059
【０１１７】
のための生存パスはl1＝0を含むパスであると仮定する。生存パスは図4の量子化トレリス60に点線で示される。
【０１１８】
係数C2のための生存パスの選択後、RD量子化ユニット40は、係数ベクトルの次（後）の係数（例えば図4の例におけるC3）に関連付けられた量子化レベルを決定する。RD量子化ユニット40は、生存パスおよび後の係数の予測／推定される量子化レベルを使用して、係数C3に関連付けられた各候補量子化レベルに対する複数の符号化コストを計算する。計算されたコストに基づいて、RD量子化ユニット40は、計算された符号化コストに基づいて各候補係数に関連付けられた生存パスを選択する。図4に示される例において、係数C3に関連付けられた量子化レベル0のための生存パスは、量子化レベルのC1、C2およびC3に対してそれぞれ
【数５８】
2011517911.tif 000060
【０１１９】
、0、および0であり、係数C3に関連付けられた量子化レベル
【数５９】
2011517911.tif 000061
【０１２０】
のための生存パスは、量子化レベルC1、C2およびC3に対してそれぞれ0、
【数６０】
2011517911.tif 000062
【０１２１】
および
【数６１】
2011517911.tif 000063
【０１２２】
であり、C3に関連付けられた量子化レベル
【数６２】
2011517911.tif 000064
【０１２３】
のための生存パスは、量子化レベルC1、C2およびC3に対してそれぞれ0、
【数６３】
2011517911.tif 000065
【０１２４】
、および
【数６４】
2011517911.tif 000066
【０１２５】
である。
【０１２６】
RD量子化ユニット40は、係数ベクトルの最後の係数（例えばCj）まで量子化レベルの生存パスを選択し続ける。RD量子化ユニット40は、最小符号化コストを有する最後の係数に関連付けられた単一の量子化レベルを選択し、それは、ブロック内の全ての係数についての量子化決定のシーケンスを表わす量子化トレリス60を通る生存パスに対応する。この技法は上に記述された単一のパス技法よりも多くの計算的リソースを要求するが、結果はより正確である。
【０１２７】
量子化プロセスを加速するために、量子化ユニット40は1つ以上の加速技法を実施する。例えば、量子化された係数の個別係数について、量子化された係数の個別係数が量子化レベル1よりも量子化レベル0に近い場合、量子化ユニット40は、さらなる分析を行わずに量子化レベル0に関連係数を量子化する。換言すると、個別係数は、トレリス中の量子化レベル0に対応する1つの状態のみを有し、量子化ユニット40は、個別係数に関連付けられた候補量子化レベルに関連付けられた符号化コストの計算を省く。これら、または別の技法は、符号化されたビデオ品質の多少の劣化が多少あったとしても、量子化プロセスを加速するために使用される。
【０１２８】
図5は、本開示のある量子化技法に従って量子化を実行するビデオ符号器の例示的な動作を示すフロー図である。ビデオ符号器は、例えば、図2のビデオ符号器50を備える。ビデオ符号器50のRD量子化ユニット40はビデオブロック係数を獲得する（70）。ビデオブロック係数は、ピクセル差異値のブロックを獲得するために、予測ユニット32によって生成される予測ビデオブロックを、符号化されるべきオリジナルのビデオブロックから引き、ブロックの変換係数を獲得するために、ピクセル差異値のブロックにDCTなどの変換動作を適用することによって形成される。
【０１２９】
RD量子化ユニット40または別のコンポーネントは、係数の一次元ベクトル（すなわち係数ベクトル）を獲得するために、ビデオブロック係数を走査する（71）。RD量子化ユニット40は、図3に関して記述されるようなジグザグ走査、または別の走査順序を使用して、ビデオブロック係数を走査する。別の例として、RD量子化ユニット40は、大きさの関数として係数を配列するために係数ベクトルの係数を走査する。この走査技法の結果は、最小の大きさを有する係数が係数ベクトルの最初の方に現われるように、係数ベクトルの中の配列されているビデオブロックの係数に帰着する。
【０１３０】
RD量子化ユニット40は、分析すべき係数ベクトルの係数のうちの1つを選択する（72）。RD量子化ユニット40は、順次的にベクトルの最初の係数で開始し、ベクトルの最後の係数で終了する係数を選択する。従って、選択される最初の係数は係数C1であろう。別の例として、RD量子化ユニット40は、順次的にベクトルの最後の係数で開始し、ベクトルの最初の係数で終了する係数を選択する。RD量子化ユニット40は、選択された係数に対して複数の候補量子化レベルを計算する（73）。ある例において、RD量子化ユニットは、選択された係数に対する3つの候補量子化レベルを計算する。上に記述されるように、RD量子化ユニット40は、3つの候補量子化レベル
【数６５】
2011517911.tif 000067
【０１３１】
、
【数６６】
2011517911.tif 000068
【０１３２】
および
【数６７】
2011517911.tif 000069
【０１３３】
を計算する。
【０１３４】
ここで、
【数６８】
2011517911.tif 000070
【０１３５】
である。別の例において、RD量子化ユニット40は3つの候補量子化レベル
【数６９】
2011517911.tif 000071
【０１３６】
、1、および
【数７０】
2011517911.tif 000072
【０１３７】
を計算する。この技法は3つの候補量子化レベルとの関連で記述されるが、本開示の量子化技法は特定の数の候補量子化レベルに制限されるべきでない。換言すると、RD量子化ユニット40は、2つのレベルあるいは4つ以上のレベルを含む、選択された係数に関連付けられた任意の数の候補量子化レベルを計算する。3つの候補量子化レベルについての本明細書の議論は単に例示的である。
【０１３８】
RD量子化ユニット40は、選択された係数に関連付けられた候補量子化レベルの各々に対する符号化コストを計算する（74）。RD量子化ユニット40は、式（10）または（13）のラグランジュコスト関数に従ってコストを計算する。CAVLCが各係数を個別に符号化しないため、ベクトルの各係数の量子化レベルは、CAVLCが係数ベクトルを符号化するために使用するビットの数（式（10）のR、または式（13）のbits（lij））を決定するために、知られなければならない。現在および前の係数の量子化レベルは知られている；現在の係数の量子化レベルは候補量子化レベルのうちの1つと等しく、前の係数の量子化レベルは以前に選択されている。現在の係数の後の係数の量子化レベルは、RD量子化ユニット40がそれらの係数をまだ分析していないため、知られていないが、それらのコストは式（15）または（16）に従って予測または推定される。
【０１３９】
RD量子化ユニット40は、分析されている、個別に選択された係数に対する量子化レベルとして、最小符号化コストを有する候補量子化レベルを選択する（75）。RD量子化ユニット40は、まだ量子化されていない係数ベクトルに、残余係数があるか否かを決定する（76）。係数ベクトルに残余係数がある場合（ブロック76の「YES」ブランチ）、RD量子化ユニット40は、ブロック72−75に関して上に記述されたように、係数に対する量子化レベルを選択する。RD量子化ユニット40は、量子化される必要がある係数が係数ベクトルからなくなるまで、それを継続する。この方法において、RD量子化ユニット40は、量子化レベルが係数ベクトルの個別係数の各々に対して選択されるまで、連続的に量子化を実行する。そのような量子化技法は、ビデオ符号器50がブロックに対する符号化コストを削減および多くの場合に最小化する量子化係数（またはレベル）のセットを選択することを可能にする。
【０１４０】
残余の変換係数がない場合、すなわち、係数ベクトルの全ての係数が量子化される場合（ブロック76の「NO」ブランチ）、CAVLC符号化ユニット46は、符号化されたビデオブロックを生成するために、予測シンタックス（例えば、動きベクトル、予測モード、または別の制御情報）と共に、量子化された変換係数をエントロピー符号化する（77）。CAVLC符号化ユニット46によるエントロピー符号化に続き、ビデオ符号器40は符号化されたビデオブロックを別のデバイスに送信し、または、符号化されたビデオブロックを後の送信または検索のために記憶／保管する（78）。
【０１４１】
図6は、さらに詳細に、候補量子化レベルに対する符号化コストを計算するRD量子化ユニット40の例示的な動作を示すフロー図である。図6に示されるプロセスは、図5に示されるプロセスのブロック74に対応し、または別のコンテンツ内の符号化コストの計算に対応する。図6に示されるように、RD量子化ユニット40は個別係数に関連付けられた候補量子化レベルの1つを選択する（80）。RD量子化ユニット81は、係数ベクトル内の以前に量子化された係数のいずれかの量子化レベルを獲得する（81）。任意の以前に量子化された係数の量子化レベルはメモリまたは他の記憶装置内に記憶される。
【０１４２】
RD量子化ユニット40は、後の係数（例えば、まだ量子化されていない係数）に対する予測（または推定）される量子化レベルを獲得する（82）。RD量子化ユニット40は、例えば、以下の式の1つに従って予測または推定される量子化レベルを計算する。
【数７１】
2011517911.tif 000073
【数７２】
2011517911.tif 000074
【０１４３】
しかし、RD量子化ユニット40は、係数ベクトルの後の係数の量子化レベルに対して別の推定を使用する。
【０１４４】
RD量子化ユニット40は、レート歪みモデルに関連付けられたラグランジュコスト関数を使用して、選択された候補量子化レベルの符号化コストを計算する（83）。ある例において、RD量子化ユニット40は、式（10）または（13）のラグランジュコスト関数を使用して、選択された候補量子化レベルに対する符号化コストを計算する。RD量子化ユニット40は、以前に量子化された係数に関連付けられた獲得された量子化レベル、選択された候補量子化レベル、まだ量子化されていない後の係数の予測（または推定）される量子化レベルに基づいて、選択された候補量子化レベルに対する符号化コストを計算する。CAVLCが各係数を個別に符号化しないため、ビット数（式（10）のRまたは式（13）のbits（lij））は、いつベクトルの各係数の量子化レベルが知られるかにのみ基づいて決定され、コストは予測／推定される量子化レベルを使用して計算される。
【０１４５】
RD量子化ユニット40は、符号化コストが計算される必要がある候補量子化レベルがさらにあるか否かを決定する（84）。残余候補量子化レベルがある場合（図6のブロック84の「ＹＥＳ」ブランチ）、RD量子化ユニット40は次の候補量子化レベルを選択し、図6のブロック80−83に関して上に記述されるように、次の候補量子化レベルに関連付けられた符号化コストを計算する。RD量子化ユニット40は、符号化コストを計算するための、個別係数に関連付けられた候補量子化レベルが存在しなくなるまで（図6のブロック84の「NO」ブランチ）それを継続する。その地点で、プロセスは図5のブロック75に戻る。
【０１４６】
図7は、本開示の別の量子化技法に従って量子化を実行するビデオ符号器の例示的な動作を示すフロー図である。ビデオ符号器は、例えば、図2のビデオ符号器50を備える。ビデオ符号器50のRD量子化ユニット40はビデオブロック係数を獲得する（90）。ビデオブロック係数は、ピクセル差異値のブロックを獲得するために、符号化されるべきオリジナルのビデオブロックから予測ユニット32によって生成される予測ブロックを引き、次に、変換係数のブロックを獲得するために、ピクセル差異値のブロックにDCTなどの変換動作を適用することによって形成される。
【０１４７】
RD量子化ユニット40または他のコンポーネントは、係数の一次元ベクトル（つまり係数ベクトル）を獲得するために、ビデオブロックの係数を走査する（91）。RD量子化ユニット40は、図3に関して記述されるようなジグザグ走査または別の走査順序を使用して、ビデオブロック係数を走査する。別の例として、RD量子化ユニット40は、大きさの関数として係数を配列するために、係数ベクトルの係数を走査する。この走査技法の結果は、最小の大きさを有する係数が係数ベクトルの最初の方に現われるように係数ベクトルの中の配列されているビデオブロック係数に帰着する。
【０１４８】
RD量子化ユニット40は、分析すべき係数ベクトルの係数の1つを選択する（92）。RD量子化ユニット40は、順次的にベクトルの最初の係数で開始し、ベクトルの最後の係数で終了する係数を選択する。従って、選択される最初の係数は係数C1であろう。別の例として、RD量子化ユニット40は、順次的にベクトルの最後の係数で開始し、ベクトルの最初の係数で終了する係数を選択する。RD量子化ユニット40は、選択された係数に対して複数の候補量子化レベルを計算する（93）。ある例において、RD量子化ユニットは、選択された係数に対して3つの候補量子化レベルを計算する。上に記述されるように、RD量子化ユニット40は、3つの候補量子化レベル
【数７３】
2011517911.tif 000075
【０１４９】
、
【数７４】
2011517911.tif 000076
【０１５０】
および
【数７５】
2011517911.tif 000077
【０１５１】
を計算する。ここで、
【数７６】
2011517911.tif 000078
【０１５２】
である。別の例において、RD量子化ユニット40は、3つの候補量子化レベル
【数７７】
2011517911.tif 000079
【０１５３】
、1、および
【数７８】
2011517911.tif 000080
【０１５４】
を計算する。この技法は3つの候補量子化レベルとの関連で記述されるが、本開示の量子化技法は、特定の数の候補量子化レベルに制限されるべきでない。換言すると、RD量子化ユニット40は、2つのレベルあるいは4つ以上のレベルを含む、選択された係数に関連した任意の数の候補量子化レベルを計算する。
【０１５５】
RD量子化ユニット40は、選択された係数に関連付けられた候補量子化レベルの各々に対する複数の符号化コストを計算する（94）。換言すると、各個別係数は、複数の候補量子化レベルに関連付けられ、候補量子化レベルの各々は複数の符号化コストに関連付けられる。複数の符号化コストは、前の係数の以前に選択された量子化レベルに関連付けられた生存パス、さらには後の係数に対する予測または推定される量子化レベルに基づいて計算される。上に記述されるように、生存パスは、ベクトル内の前の係数のために行われる量子化決定のシーケンスを表わす。
【０１５６】
RD量子化ユニット40は、候補量子化レベルの各々に対して最小符号化コストを有する生存パスを選択する（95）。そのため、選択された係数は、各生存パスが個別係数に関連付けられた候補量子化レベルの1つに関連付けられる3つの生存パスに対応する。ある例として、RD量子化ユニット40は、候補係数に対する符号化コストを計算し、図4に関して詳細に例証および記述されるように、量子化トレリス60に従って係数の各々に関連付けられた生存パスを選択する。
【０１５７】
RD量子化ユニット40は、まだ量子化されていない係数が係数ベクトルに存在するか否かを決定する（96）。係数ベクトルに残余係数がある場合（ブロック96の「YES」ブランチ）、RD量子化ユニット40は、ブロック92−95に関して上に記述されるように後の係数に対する量子化レベルの各々のための生存パスを選択する。
【０１５８】
残余変換係数が存在しない場合、すなわち、係数ベクトルの全ての係数が量子化される場合（ブロック96の「NO」ブランチ）、RD量子化ユニット40は、単一の生存パス、すなわち、最小符号化コストを有する、ベクトルの最後の係数に関連付けられた3つの生存パスの1つを選択する（97）。そのような量子化技法は、ビデオ符号器50が、ブロックに対する符号化コストを削減および多くの場合に最小化する量子化係数（またはレベル）のセットを選択することを可能にする。
【０１５９】
CAVLC符号化ユニット46は、符号化されたビデオブロックを生成するために、予測シンタックス（例えば、動きベクトル、予測モード、または別の制御情報）と共に量子化変換係数をエントロピー符号化する（98）。CAVLC符号化ユニット46によるエントロピー符号化に続いて、ビデオ符号器40は、符号化されたビデオブロックを別のデバイスに送信し、または、符号化されたデオブロックを、後の送信または検索のために記憶／保管する（99）。
【０１６０】
図8は、量子化係数の品質を実質的に犠牲にせずに量子化プロセスを加速するために使用される例示的な技法を示すフロー図である。図8に記述された加速技法は、ワンパス量子化プロセスに最も適用可能であり、また、マルチパス量子化プロセスにも有益である。図8に示されるように、RD量子化ユニット40は、個々の量子化された係数が次に高い候補量子化レベルよりも量子化レベル0に近いか否かを決定する（100）。候補量子化レベルが0、1、および
【数７９】
2011517911.tif 000081
【０１６１】
である例において、例えば、RD量子化ユニット40は、個々の量子化された係数が候補量子化レベル1よりも候補量子化レベル0に近いか否かを決定する。
【０１６２】
個々の量子化された係数が次に高い候補量子化レベルよりも量子化レベル0に近い場合（例えば、量子化レベル0）（100の「YES」ブランチ）、RD量子化ユニット40は、各量子化レベルに関連付けられた個別係数符号化コストの計算を省き、代わりとして、さらなる分析なしに量子化レベル0を選択する（102）。この場合、RD量子化ユニット40は、個々の量子化された係数に関連付けられた個別係数符号化コストが量子化レベル0で最小化されるであろうことを仮定する。従って、この場合、RD量子化ユニット40は、候補量子化レベルの各々に関連付けられた符号化コストの計算に関連付けられた不必要な計算を回避する。個別量子化係数が次に高い候補量子化レベルよりも量子化レベル0に近くない場合（例えば量子化レベル1）（100の「NO」ブランチ）、RD量子化ユニット40は、個別係数に関連付けられた候補量子化レベルに関連付けられた符号化コストの計算を省かない。
【０１６３】
本開示の技法は、無線ハンドセットおよび集積回路（IC）またはICのセット（すなわちチップセット）を含む種々様々なデバイスまたは装置に組み込まれる。任意のコンポーネント、モジュール、またはユニットは、機能的な態様を強調するために提供および記述されており、異なるハードウェアユニット、コンポーネントまたはモジュールによる実現化を必ずしも要求しない。
【０１６４】
従って、本明細書に記述された技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意のコンビネーションで実施されうる。モジュールまたはコンポーネントとして記述される任意の特徴は共に集積論理回路に、または独立した装置ではあるが相互動作可能な論理デバイスとして別々に実施されうる。ソフトウェアに実施された場合、その技法は、実行された時、上に記述された1つ以上の方法を実行する命令を備えるコンピュータ読み取り可能媒体によって少なくとも一部分を実現化される。コンピュータ読み取り可能データ記憶媒体は、包装材料を含むコンピュータプログラム製品の一部を形成する。コンピュータ読み取り可能媒体は、同期ダイナミックランダムアクセスメモリ（SDRAM）読み取り専用用メモリ（ROM）、不揮発性ランダムアクセスメモリ（NVRAM）、電気的消去可能PROM（EEPROM）、フラッシュメモリ（FLASHメモリ）、磁気または光学データ記憶メディア、および同様のものなどのランダムアクセスメモリ（RAM）を備える。さらに、または代替で、技法は、コンピュータによってアクセス、読み取り、および／または実行可能な命令またはデータ構造の形でコードを伝達または通信するコンピュータ読み取り可能通信媒体によって少なくとも一部分を実現化される。
【０１６５】
コードは、1つ以上のデジタル信号プロセッサ（DSP）、特定用途向けIC（ASIC）、フィールドプログラマブル論理アレイ（FPGA）、または別の同等の統合または個別の論理回路などの1つ以上のプロセッサによって実行される。従って、「プロセッサ」という用語は、本明細書に使用されるように、前述された構造、または、本明細書に記述された技法の実施に適当な任意の別の構造のいずれかを指す。加えて、幾つかの態様において、本明細書に記述された機能性は、符号化および復号のために構成された、または、複合型ビデオ符号器／復号器（CODEC）に組み込まれる専用ソフトウェアモジュールまたはハードウェアモジュール内に提供される。さらに、技法は、1つ以上の回路または論理エレメントにおいて完全に実施されうる。
【０１６６】
本開示の様々な態様が記述されている。これらおよび別の態様は、以下の請求項の範囲内である。
【図１】
2011517911.tif 000082
【図２】
2011517911.tif 000083
【図３】
2011517911.tif 000084
【図４】
2011517911.tif 000085
【図５】
2011517911.tif 000086
【図６】
2011517911.tif 000087
【図７】
2011517911.tif 000088
【図８】
2011517911.tif 000089
【国際調査報告】
2011517911.tif 000090
2011517911.tif 000091
2011517911.tif 000092