(57)【要約】      （修正有）【課題】ビデオ符号化を改善するレート制御技術を提供する。【解決手段】レート制御技術はフレームごとに符号化されたビットの数と量子化後のビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のビデオ・ブロックの非ゼロ係数の数はロー（ρ）と呼ばれる。ρの値はビデオ符号化に使用されるビットの数に一般的に比例する。この発明はレート制御ビデオ符号化を達成するためにρと量子化パラメータ（ＱＰ）との間の関係を利用する。さらに明確には、この発明はρの値を異なるＱＰに写像する参照表（ＬＵＴ）を生成する。【選択図】図２
2006121657.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ・ブロックの量子化されない係数について閾値を計算し、ここに閾値は量子化係数が異なる量子化パラメータ（ＱＰ）について非ゼロになるときを特定し、且つ閾値を使用して量子化後の非ゼロ係数の数（ρ）をＱＰに写像するρ‐ＱＰ参照表（ＬＵＴ）を生成する符号器、及び
ρ‐ＱＰ  ＬＵＴを記憶するメモリ、を具備するビデオ符号化デバイス。
【請求項２】
ρ‐ＱＰ  ＬＵＴを使用してビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する、請求項１記載のビデオ符号化デバイス。
【請求項３】
符号器は選択されたＱＰに基づいてビデオ・ブロックの係数を量子化し、且つフレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化する、請求項２記載のビデオ符号化デバイス。
【請求項４】
符号器は、
閾値をＱＰに写像する閾値‐ＱＰ  ＬＵＴを生成し、且つ
閾値‐ＱＰ  ＬＵＴを使用してρ‐ＱＰ  ＬＵＴを生成し、
ここでメモリは閾値‐ＱＰ  ＬＵＴ及びρ‐ＱＰ  ＬＵＴを記憶する、請求項１記載のビデオ符号化デバイス。
【請求項５】
符号器は最大ＱＰから最小ＱＰのＱＰについて閾値を累積することによって閾値‐ＱＰ  ＬＵＴを生成する、請求項４記載のビデオ符号化デバイス。
【請求項６】
所定の閾値（Ｔi ）は、
全てのＱＰ＞Ｔi について、Ｑ（Ｃi ，ＱＰ）＝０
全てのＱＰ≦Ｔi について、Ｑ（Ｃi ，ＱＰ）≠０
であり、関数Ｑ（Ｃi ，ＱＰ）は量子化パラメータＱＰを使用する所定の係数Ｃi の量子化演算を表す、請求項４記載のビデオ符号化デバイス。
【請求項７】
符号器はビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐ＱＰ  ＬＵＴを生成し、且つ所定のビデオ・ブロックについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する、請求項１記載のビデオ符号化デバイス。
【請求項８】
符号器はビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐ＱＰ  ＬＵＴを生成し、且つ所定のビデオ・フレームについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する、請求項１記載のビデオ符号化デバイス。
【請求項９】
ρ‐ＱＰ  ＬＵＴを生成するため符号器によって必要な計算処理の全数は約２N+Mであり、ここでNは係数の数を表し、ＭはＱＰの可能な値の数を表す、請求項１記載のビデオ符号化デバイス。
【請求項１０】
ビデオ・ブロックの量子化されない係数について閾値を計算すること、ここに閾値は異なる量子化パラメータ（ＱＰ）について量子化係数が非ゼロになるときを特定する、及び
閾値を使用して量子化後の非ゼロ係数の数（ρ）をＱＰに写像するρ‐ＱＰ参照表（ＬＵＴ）を生成することを含む、レート制御ビデオ符号化を提供する方法。
【請求項１１】
さらにρ‐ＱＰ  ＬＵＴを使用してビデオ・ブロックのレート制御符号化のためにＱＰを選択することを含む、請求項１０記載の方法。
【請求項１２】
さらに選択されたＱＰに基づいてビデオ・ブロックの係数を量子化すること、及びフレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化することを含む、請求項１１記載の方法。
【請求項１３】
閾値を量子化パラメータ（ＱＰ）に写像する閾値‐ＱＰ  ＬＵＴを生成すること、及び
閾値‐ＱＰ  ＬＵＴを使用してρ‐ＱＰ  ＬＵＴを生成することをさらに含む、請求項１０記載の方法。
【請求項１４】
閾値‐ＱＰ  ＬＵＴを生成することは最大ＱＰから最小ＱＰの量子化パラメータＱＰについて閾値を累積することを含む、請求項１３記載の方法。
【請求項１５】
さらにビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐ＱＰ  ＬＵＴを生成すること、及び所定のビデオ・ブロックについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択することを含む、請求項１０記載の方法。
【請求項１６】
さらにビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐ＱＰ  ＬＵＴを生成すること、及び所定のビデオ・フレームについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択することを含む、請求１０記載の方法。
【請求項１７】
所定の閾値（Ｔi ）は、
全てのＱＰ＞Ｔi について、Ｑ（Ｃi ，ＱＰ）＝０
全てのＱＰ≦Ｔi について、Ｑ（Ｃi ，ＱＰ）≠０
であり、関数Ｑ（Ｃi ，ＱＰ）は量子化パラメータＱＰを使用する所定の係数Ｃi の量子化演算を表す、請求項１０記載の方法。
【請求項１８】
ρ‐ＱＰ  ＬＵＴを生成するため符号器によって必要な計算処理の全数は約２N+Mであり、ここでNは係数の数を表し、ＭはＱＰの可能な値の数を表す、請求項１０記載の方法。
【請求項１９】
ビデオ・ブロックの量子化されない係数について閾値を計算する手段であって、ここに閾値は異なる量子化パラメータ（ＱＰ）について量子化係数が非ゼロになるときを特定し、及び
閾値を使用して量子化後の非ゼロ係数の数（ρ）をＱＰに写像するρ‐ＱＰ参照表（ＬＵＴ）を生成する手段、を具備する装置。
【請求項２０】
さらにρ‐ＱＰ  ＬＵＴを使用してビデオ・ブロックのレート制御符号化のためのＱＰを選択する手段を具備する、請求項１９記載の装置。
【請求項２１】
さらに選択されたＱＰに基づいてビデオ・ブロックの係数を量子化する手段、及びフレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化する手段を具備する、請求項２０記載の装置。
【請求項２２】
閾値を量子化パラメータ（ＱＰ）に写像する閾値‐ＱＰ  ＬＵＴを生成する手段、及び
閾値‐ＱＰ  ＬＵＴを使用してρ‐ＱＰ  ＬＵＴを生成する手段をさらに具備する、請求項１９記載の装置。
【請求項２３】
閾値‐ＱＰ  ＬＵＴを生成する手段は最大ＱＰから最小ＱＰの量子化パラメータＱＰについて閾値を累積する手段を具備する、請求項２２記載の装置。
【請求項２４】
所定の閾値（Ｔi ）は：
全てのＱＰ＞Ｔi について、Ｑ（Ｃi ，ＱＰ）＝０
全てのＱＰ≦Ｔi について、Ｑ（Ｃi ，ＱＰ）≠０
であり、関数Ｑ（Ｃi ，ＱＰ）は量子化パラメータＱＰを使用する所定の係数Ｃi の量子化演算を表す、請求項２２記載の装置。
【請求項２５】
さらにビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐ＱＰ  ＬＵＴを生成する手段、及び所定のビデオ・ブロックについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する手段を具備する、請求項１９記載の装置。
【請求項２６】
さらにビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐ＱＰ  ＬＵＴを生成する手段、及び所定のビデオ・フレームについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する手段を具備する、請求項１９記載の装置。
【請求項２７】
ρ‐ＱＰ  ＬＵＴを生成するために必要な計算処理の全数は約２N+Mであり、ここでNは係数の数を表し、ＭはＱＰの可能な値の数を表す、請求項１９記載の装置。
【請求項２８】
ビデオ・ブロックの量子化されない係数について閾値を計算する手段はディジタル信号プロセッサ上で実行するソフトウェアを含む、請求項１９記載の装置。
【請求項２９】
ビデオ・ブロックの量子化されない係数について閾値を計算する手段はファームウェアを含む、請求項１９記載の装置。
【請求項３０】
ビデオ・ブロックの量子化されない係数について閾値を計算する手段はハードウェアを含む、請求項１９記載の装置。
【請求項３１】
ρ‐ＱＰ  ＬＵＴを生成する手段はディジタル信号プロセッサ上で実行するソフトウェアを含む、請求項３０記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許
本出願は２００４年７月８日出願の米国仮出願特許第６０／５８６，９６３号の特典を主張する。
この発明はディジタル・ビデオ処理に関係し、特にビデオ・シーケンスのレート制御符号化に関係する。
【背景技術】
【０００２】
ディジタル・テレビジョン、ディジタル衛星放送システム、無線通信デバイス、携帯情報機器（ＰＤＡ）、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録デバイス、携帯もしくは衛星無線電話等を含めて、ビデオ機能は広範囲のデバイスに組込まれている。ディジタル・ビデオ・デバイスは完全動画ビデオ・シーケンスの制作、修正、伝送、記憶、記録及び表示において従来のアナログ・ビデオ・システムに対して大きな改善を行うことができる。
【０００３】
いくつかの異なるビデオ符号化規格がディジタル・ビデオ・シーケンスを符号化するために策定されてきた。例えば、動画専門委員会（ＭＰＥＧ）はＭＰＥＧ‐１、ＭＰＥＧ‐２及びＭＰＥＧ‐４を含むいくつかの規格を作成してきた。他の規格には、国際電気通信連合（ＩＴＵ）Ｈ．２６３規格、カリフォルニア州クパーチノ市のアップル・コンピュータによって作成されたＱｕｉｃｋＴｉｍｅＴＭ技術、ワシントン州レドモンド市のマイクロソフト社によって作成されたＶｉｄｅｏ  ｆｏｒ  Ｗｉｎｄｏｗｓ(登録商標）ＴＭ、インテル社によって作成されたＩｎｄｅｏＴＭ、ワシントン州シアトル市のリアルネットワ−ク社のＲｅａｌＶｉｄｅｏＴＭ、及びスーパーマック社によって作成されたＣｉｎｅｐａｋＴＭがある。さらに、ＩＴＵ Ｈ．２６４及びいくつかの独自の規格（proprietary standards）を含め、新しい規格が出現し、発展し続けている。
【０００４】
多くのビデオ符号化規格は圧縮方式でデータを符号化することによってビデオ・シーケンスの伝送速度の改良を可能にする。圧縮はビデオ・フレームの効率的な伝送のために必要なデータの全体の量を低減することができる。例えば、殆どの符号化規格は圧縮しないで達成できるよりも狭い帯域幅でビデオ及び画像伝送を容易にするように設計されたグラフィックス及びビデオ圧縮技術を利用する。
【０００５】
ＭＰＥＧ規格及びＩＴＵ  Ｈ．２６３並びにＩＴＵ  Ｈ．２６４規格は、例えば、フレーム間圧縮を行うために、時間的もしくはフレーム間（inter-frame）相関と呼ばれる、連続ビデオ・フレーム間の類似性を利用するビデオ符号化技術に対応する。フレーム間圧縮技術はビデオ・フレームのピクセルによる表現を動き表現に変換することによってフレームに亘るデータ冗長性を利用する。さらに、いくつかのビデオ符号化技術はビデオ・フレームをさらに圧縮するために空間もしくはフレーム内（intra-frame）相関と呼ばれるフレーム内の類似性を利用する。
【０００６】
圧縮を行うために、ディジタル・ビデオ・デバイスは一般的にディジタル・ビデオ・シーケンスを圧縮する符号器（encoder）と、ディジタル・ビデオ・シーケンスを伸長（decompressing）する復号器（decoder）を含む。多くの場合、符号器及び復号器はビデオ・シーケンスを定義するフレーム内のピクセルのブロックを操作する統合化した符号器／復号器（コーデック）を形成する。ＭＰＥＧでは、例えば、符号器は伝送されるビデオ・フレームを「マクロブロック」と呼ばれるビデオ・ブロックに分割する。ＩＴＵ  Ｈ．２６４規格は１６×１６ビデオ・ブロック、１６×８ビデオ・ブロック、８×１６ビデオ・ブロック、８×８ビデオ・ブロック、８×４ビデオ・ブロック、４×８ビデオ・ブロック、４×４ビデオ・ブロックに対応する。他の規格は異なったサイズのビデオ・ブロックに対応する。
【０００７】
ビデオ・フレーム中の各ビデオ・ブロックについて、符号器は「最良予測（best prediction）」と呼ばれる、最も類似するビデオ・ブロックを特定するために一以上の直前のビデオ・フレーム（または後続フレーム）の類似サイズのビデオ・ブロックを探索する。現在のビデオ・ブロックを他のフレームのビデオ・ブロックと比較する処理は一般に動き推定と呼ばれる。一旦、「最良予測」がビデオ・ブロックについて特定されれば、符号器は現在のビデオ・ブロックと最良予測との間の差分を符号化する。現在のビデオ・ブロックと最良予測との間の差分を符号化するこの処理は動き補償と呼ばれる処理を含む。動き補償は符号化される現在のビデオ・ブロックと最良予測との間の差分を表す差分ブロックを作成する処理を含む。特に、動き補償は動きベクトルを使用して最良予測ブロックを取込み、そして差分ブロックを生成するために入力ブロックから最良予測を減算する処理を通常云う。
【０００８】
動き補償は差分ブロックを作成した後で、一連の追加の符号化手続きが差分ブロックを符号化するために一般的に実行される。これらの追加の符号化手続きは使用される符号化規格に依存する。ＭＰＥＧ‐４準拠符号器では、例えば、追加の符号化手続きは８×８の離散コサイン変換を含み、スカラー量子化、ラスター・ジグザグ再配列、ランレングス符号化、ハフマン符号化が後に続く。符号化された差分ブロックは前のフレームのどのビデオ・ブロックが符号化に使用されたかを示す動きベクトルと共に伝送される。復号器は動きベクトル及び符号化差分ブロックを受取り、ビデオ・シーケンスを復元するために受信情報を復号する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
いくつかのレート制御技術はビデオ符号化のために開発されてきた。レート制御技術はビデオ・シーケンスの実時間伝送を促進するために特に重要であるが、非実時間符号化設定においても使用される。レート制御について、符号化技術はフレームごとに符号化されるビットの数を動的に調整する。特に、割当てられた帯域幅でビデオ・シーケンスが或るレートで効率的に符号化され、且つ伝送されることを保証するためにレート制御はフレームごとに符号化されるビットの数を制限する。符号化技術がビデオ・シーケンスの場面変化（scenes change）に対応しなければ、ビデオ・シーケンスの実時間伝送のビット・レートは場面が変化すると著しく変動する。従って、実質的に一定なビット・レートを定義するために、フレームごとのビットの数は符号化の間に動的に調整される。
【００１０】
レート制御符号化を達成する一方法はビデオ符号化処理の間に量子化パラメータ（ＱＰ）の調整を可能にすることである。ＱＰは秒当たり符号化されるビットの数に直接影響する。ＱＰが増加すると、より少ないデータしか維持されず、ビデオ符号化の品質は劣化する。ＱＰが減少すると、より多くのデータが維持され、ビデオ符号化の品質は向上する。しかしながら、ＱＰがあまりにも小さければ、秒ごとの符号化ビットの数は割当てられた帯域幅を超え、限られた帯域幅の量以内でフレームを転送する能力を下げることになる。動的な方法でＱＰを選択することによって、ビデオ・フレームの伝送のビット・レートは実質的に一定にすることができる。
【課題を解決するための手段】
【００１１】
この発明はビデオ符号化を改善することができるレート制御技術を述べる。特に、記載のレート制御技術はフレームごとに符号化されるビットの数と量子化後のビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のフレームのビデオ・ブロックの非ゼロ係数の数はロー（ρ）と呼ばれる。ρの値はビデオ符号化処理で使用されるビットの数に一般的に比例する。この発明はレート制御ビデオ符号化を達成するためにρと量子化パラメータ（ＱＰ）との間の関係を利用する。特に、この発明はρの値を異なるＱＰに写像する参照表（lookup table：ＬＵＴ）を生成する技術を提供する。そして、ＱＰは所望の符号化レートを達成するために選択することができ、それはρと一次的に関係する。記述の技術はビデオ符号器を単純化し、且つレート制御ビデオ符号化に使用されるＬＵＴを生成するために必要な計算の数を著しく低減することができる。
【００１２】
この発明はまたここに示されたようにレート制御技術を実施するビデオ符号化デバイスを述べる。一実施例では、ビデオ符号化デバイスはビデオ・ブロックの量子化されない係数について閾値（そこでは量子化係数が異なる量子化パラメータについて非ゼロになるときを特定する）を計算し、閾値を使用して量子化後の非ゼロ係数の数（ρ）をρ‐ＱＰ参照表（ＬＵＴ）に写像する符号器を具備する。ビデオ符号化デバイスはρ‐ＱＰ  ＬＵＴを記憶するメモリを含む。さらに特定の実施例では、符号器は閾値をＱＰに写像する閾値‐ＱＰ  ＬＵＴを生成し、閾値‐ＱＰ  ＬＵＴを使用してρ‐ＱＰ  ＬＵＴを生成する。いずれにせよ、量子化係数が異なる量子化パラメータについて非ゼロになるときを特定する閾値を利用することによって、記載の技術はρ‐ＱＰ  ＬＵＴの生成を著しく単純化することができる。
【００１３】
ここに記載のこれらの及び他の技術はハードウェア、ソフトウェア、ファームウェア、またはそれらのあらゆる組合せで実施される。ソフトウェアで実施されれば、ソフトウェアはディジタル信号プロセッサ内で実行される。その場合には、その技術を実行するソフトウェアはコンピュータ可読媒体に初めに記憶され、そしてディジタル・ビデオ・デバイスにおける効率的レート制御符号化のためにＤＳＰに搭載され、且つ実行される。様々な実施例のさらなる詳細は下に付随の図及び記述において説明される。他の特徴、目的及び利点はその説明及び図から、且つ請求項から明白になるであろう。
【発明を実施するための最良の形態】
【００１４】
この発明はビデオ符号化を改善するために使用できるレート制御技術を述べる。その技術はＭＰＥＧ‐４規格、ＩＴＵ  Ｈ．２６３規格、ＩＴＵ  Ｈ．２６４規格、または他の規格といった、多種多様なビデオ符号化規格のどれとでも使用される。特に、その技術はフレームごとに符号化されるビットの数（符号化レート）と、量子化後のフレームのビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のフレームのビデオ・ブロックの非ゼロ係数の数はロー（ρ）と呼ばれる。ρの値は一般にビデオ符号化に使用される量子化パラメータ（ＱＰ）に比例する。従って、この発明はレート制御ビデオ符号化を達成するためにρとＱＰとの間の関係を利用する。もっと明確には、この発明はρの値を異なるＱＰに写像する参照表（ＬＵＴ）を生成する技術を提供する。記載の技術はビデオ符号器を単純化し、ρ‐領域におけるレート制御ビデオ符号化に使用されるＬＵＴを生成するために必要な計算の数を著しく低減することができる。ビデオ符号器は所望の符号化レートが達成されることを保証するＱＰを選択するためにＬＵＴを使用する。
【００１５】
図１は発信デバイス１２が通信回線１５経由でビデオ・データの符号化シーケンスを受信デバイス１４に伝送するシステム例１０を例示するブロック図である。発信デバイス１２及び受信デバイス１４は両方ともディジタル・ビデオ・デバイスである。特に、発信デバイス１２はＭＰＥＧ‐４規格、ＩＴＵ  Ｈ．２６３規格、ＩＴＵ  Ｈ．２６４規格、またはレート制御ビデオ符号化に利用できる多種多様なあらゆる規格など、ビデオ規格に整合するビデオ・データを符号化する。システム１０の一つもしくは両デバイス１２、１４はビデオ符号化処理を改善するために、下記でさらに詳細に記述されるように、レート制御技術を実施する。そのようなレート制御技術は、無線通信回線のような限られた帯域幅の通信回線１５上でのビデオ・シーケンスの実時間伝送にとって特に有用である。
【００１６】
通信回線１５は無線回線、物理的伝送回線、ファイバ光学、構内情報通信網（ＬＡＮ）のようなパケットによる網、広域網（ＷＡＮ）、またはインターネットのような世界的な網（global network）、公衆交換電話網（ＰＳＴＮ）、またはデータを転送可能な他のあらゆる通信回線を含む。このように、通信回線１５は発信デバイス１２から受信デバイス１４にビデオ・データを送るためのあらゆる適切な通信媒体、または恐らくは異なる網の集まりを表す。上記のように、通信回線１５は回線１５上でビデオ・シーケンスの実時間伝送のために非常に重要なレート制御を行い、帯域幅を制限してきた。
【００１７】
発信デバイス１２はビデオ・データを符号化し、且つ伝送することが可能なあらゆるディジタル・ビデオ・デバイスを含む。発信デバイス１２はディジタル・ビデオ・シーケンスを記憶するビデオ・メモリ１６、そのシーケンスを符号化するビデオ符号器１８、及び符号化されたシーケンスを通信回線１５上で受信デバイス１４に伝送する送信器２０を含む。ここに述べられたように、ビデオ符号器１８は、例えば、様々なハードウェア、ソフトウェア或いはファームウェア、またはビデオ符号化技術を制御するプログラム可能なソフトウェア・モジュールを実行する一以上のディジタル信号プロセッサ（ＤＳＰ）を含む。関連するメモリ及び論理回路はビデオ符号化技術を制御する際にＤＳＰを支援するために提供される。
【００１８】
発信デバイス１２はまたビデオ・シーケンスを取得し、且つ取得したシーケンスをメモリ１６に記憶するために、ビデオ・カメラのようなビデオ取得デバイス（video capture device）２３を含む。特に、ビデオ取得デバイス２３は電荷結合素子（ＣＣＤ）、電荷注入デバイス、フォトダイオード・アレイ、相補型金属酸化膜半導体（ＣＭＯＳ）デバイス、またはビデオ画像またはディジタル・ビデオ・シーケンスを取得することが可能な感光デバイスを含む。
【００１９】
さらなる例として、ビデオ取得デバイス２３は、例えばテレビジョン、ビデオ・カセット・レコーダ、ビデオカメラ（camcorder）、または別のビデオ・デバイスから、アナログ・ビデオ・データをディジタル・ビデオ・データに変換するビデオ変換器（video converter）である。いくつかの実施例では、発信デバイス１２は実時間ビデオ・シーケンスを通信回線１５上で伝送するように構成される。そのような場合には、受信デバイス１４は実時間ビデオ・シーケンスを受取り、ユーザーにそのビデオ・シーケンスを表示する。代りに、発信デバイス１２は受信デバイス１４にビデオ・データ・ファイルとして、即ち、実時間でなく送られるビデオ・シーケンス を取得し、且つ符号化する。このように、発信デバイス１２及び受信デバイス１４はビデオ遠距離通信、ビデオ・クリップ再生、ビデオ郵便、またはテレビ会議といったアプリケーションに、例えば、移動無線網において対応する。デバイス１２及び１４は図１に特に例示されない様々な他の要素を含む。
【００２０】
受信デバイス１４はビデオ・データを受取り、且つ復号することが可能なあらゆるディジタル・ビデオ・デバイスの形をとる。例えば、受信デバイス１４は、例えば、中間の回線、ルータ、他の網設備などを経由して、符号化ディジタル・ビデオ・シーケンスを送信器２０から受取る受信器２２を含む。受信デバイス１４はまたそのシーケンスを復号するビデオ復号器２４、及びそのシーケンスをユーザーに表示する表示デバイス（display device）２６を含む。いくつかの実施例では、しかしながら、受信デバイス１４は統合化表示デバイス２６を含まない。そのような場合には、受信デバイス１４は個別表示デバイス、例えば、テレビまたはモニタを駆動するために受信ビデオ・データを復号する受信器としての役をする。
【００２１】
発信デバイス１２及び受信デバイス１４のデバイス例はコンピュータ網、ワークステーションまたは他のデスクトップ型計算デバイス、及びラップトップ・コンピュータまたは携帯情報機器（PDA）といった携帯式計算デバイスに置かれたサーバを含む。他の例では、ディジタル・テレビのようなディジタル・テレビ放送衛星及び受信デバイス、ディジタル・カメラ、ディジタル・ビデオ・カメラまたは他のディジタル記録デバイス、ビデオ機能を有する携帯電話のようなディジタル・ビデオ電話、ビデオ機能を持つ直接二重通信デバイス、他の無線ビデオ・デバイス、等々がある。
【００２２】
いくつかの場合には、発信デバイス１２及び受信デバイス１４は各々ディジタル・ビデオ・データを符号化し、且つ復号するための符号器／復号器（コーデック）（示されない）を含む。特に、発信デバイス１２及び受信デバイス１４双方はメモリ及び表示のみならず送信器及び受信器を含む。下記で概説される多くの符号化技術は符号器を含むディジタル・ビデオ・デバイスとの関連で記述される。しかしながら、その符号器がコーデックの一部を形成することは当然である。その場合には、コーデックはハードウェア、ソフトウェア、ファームウェア、ＤＳＰ、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、個別のハードウェア部品、またはその様々な組合せにおいて実施される。
【００２３】
発信デバイス１２内のビデオ符号器１８はビデオ・データを符号化するために一連のビデオ・フレーム中のピクセルのブロックを操作する。例えば、ビデオ符号器１８は動き推定及び動き補償技術を実行し、その中で伝送られるビデオ・フレームがピクセルのブロック（ビデオ・ブロックと呼ばれる）に分割される。ビデオ・ブロックは、例示目的のために、あらゆるサイズのブロックを含み、或るビデオ・シーケンスの中で変動する。例として、ＩＴＵ  Ｈ．２６４規格は１６×１６ビデオ・ブロック、１６×８ビデオ・ブロック、８×１６ビデオ・ブロック、８×８ビデオ・ブロック、８×４ビデオ・ブロック、４×８ビデオ・ブロック、４×４ビデオ・ブロックに対応する。ビデオ符号化においてさらに小さなビデオ・ブロックの使用は符号化においてさらに良い分解能を実現することができ、特に高レベルの細部を含むビデオ・フレームの場所について使用される。さらに、ビデオ符号器１８は４×４ビデオ・ブロックに作用するように設計され、必要に応じて、４×４ビデオ・ブロックからより大きなビデオ・ブロックを再構成する。
【００２４】
ビデオ・ブロック中の各ピクセルは様々なｎ‐ビット値で、例えば、８ビットで表され、それは色、及び色度及び明度値の強度といったピクセルの視覚的特性を定義する。各ピクセルは色度と明度の双方について一以上の８ビット値を有する。この発明の原理は、しかしながら、ピクセルのフォーマットに制限されず、さらに単純な少数ビット・ピクセル・フォーマット、またはさらに複雑な多ビット・ピクセル・フォーマットとの使用に拡張される。ピクセルはまた他の色座標系に従って定義される。
【００２５】
ビデオ・フレーム中の各ビデオ・ブロックについて、発信デバイス１２のビデオ符号器１８は、予測ビデオ・ブロックと呼ばれる類似のビデオ・ブロックを特定するために既に伝送された先行ビデオ・フレーム（または後続ビデオ・フレーム）についてメモリ１６に記憶されたビデオ・ブロックを探索することによって動き推定を行う。いくつかの場合には、予測ビデオ・ブロックは先行もしくは後続ビデオ・フレームからの「最良予測」を含むが、この発明はその点に制限されない。ビデオ符号器１８は符号化されるべき現在のビデオ・ブロックと最良予測との間の差分を表す差分ブロックを作成するために動き補償を行う。動き補償は、動きベクトルを使う最も良い予測ビデオ・ブロックを取込んで、その後、差分ブロックを生成するために、入力ブロックからの最も良い予測を減算する処理を通常云う。
【００２６】
動き補償処理が差分ブロックを作成した後、一連の追加符号化手続きが差分ブロックを符号化するために一般的に行われる。これらの追加符号化手続きは使用される符号化規格に依存する。ＭＰＥＧ‐４準拠符号器では、例えば、追加符号化手続きは８×８離散コサイン変換を含み、スカラー符号化が続き、ラスタ・ジグザグ再配列が続き、ランレングス符号化が後に続き、ハフマン符号化がその後に続く。
【００２７】
一旦符号化されると、符号化差分ブロックは符号化に使用された前のフレーム（或いは、後のフレーム）からビデオ・ブロックを特定する動きベクトルと共に伝送される。この方法では、独立した画像として各フレームを符号化する代りに、ビデオ符号器１８は隣接のフレーム間の差分を符号化する。そのような技術はビデオ・シーケンスの各フレームを正確に表す必要があったデータの量を著しく低減することができる。
【００２８】
動きベクトルは符号化されるビデオ・ブロックの左上手隅部に関してピクセル場所を定義するが、動きベクトルについて他のフォーマットも使用することができる。いずれにせよ、動きベクトルを使用してビデオ・ブロックを符号化することによって、ビデオ・データのストリームの伝送のために必要な帯域幅は著しく低減することができる。
【００２９】
いくつかの場合には、ビデオ符号器１８はフレーム間符号化に加えて、フレーム内符号化に対応することができる。フレーム内符号化はビデオ・フレームをさらに圧縮するために空間もしくはフレーム内相関と呼ばれる、フレーム内の類似性を利用する。フレーム内符号化は離散コサイン変換（ＤＣＴ）符号化といった静止画像を圧縮するためのテクスチャ符号化に基づいている。フレーム内符号化はフレーム間圧縮と共にしばしば使われるが、いくつかの実施において代替手段としてまた使用される。
【００３０】
受信デバイス１４の受信器２２は動きベクトルの形式の符号化ビデオ・データ、及び符号化されたビデオ・ブロックと動き推定において使用された最良予測との間の符号化差分を示す符号化差分ブロックを受取る。いくつかの場合には、しかしながら、動きベクトルではなく、動きベクトルと以前に計算された動きベクトル予測器（ＭＶＰ）との間の差分が伝送される。いずれにせよ、復号器２４は表示のために表示デバイス２６経由でユーザーへのビデオ・シーケンスを生成するためにビデオデ復号を行うことができる。受信デバイス１４の復号器２４はまた符号器／復号器（コーデック）として実装される。その場合には発信デバイス１２及び受信デバイス１４双方はディジタル・ビデオ・シーケンスを符号化し、伝送し、受取り、且つ復号することが可能である。
【００３１】
この発明に従って、ビデオ符号器１８は効率的なレート制御符号化を達成するために動的な方法で量子化パラメータ（ＱＰ）を選択する。ビデオ符号器はロー（ρ）の値をビデオ符号化に使用される量子化パラメータ（ＱＰ）に写像するために、ビデオ・ブロックまたはビデオ・フレームに基づいて参照表（ＬＵＴ）を生成する。量ρは量子化の後のビデオ・ブロックの非ゼロ係数の数を表し、ビデオ符号化に使用されるビットの数に一般的に比例する。従って、ビデオ符号器１８はレート制御ビデオ符号化を達成するためにρとＱＰとの間の関係を利用する。もっと明確には、ビデオ符号器１８はρの値を異なるＱＰに写像する参照表（ＬＵＴ）を生成するための技術を実行する。ρはおおよそ一次的にレートと関係があるので、ρ‐ＱＰ  ＬＵＴは効率的なレート制御ビデオ符号化をもたらすＱＰを選択するために使用することができる。ρ‐ＱＰ  ＬＵＴはまたρ（ＱＰ）としてここにラベル付される。
【００３２】
図２はデバイス３０の典型的なブロック図で、それは発信デバイス１２に対応する。一般に、デバイス３０は、ここに示されたように、レート制御符号化技術を実行することが可能なディジタル・ビデオ・デバイスを含む。デバイス３０はＭＰＥＧ‐４、ＩＴＵ  Ｈ．２６３、ＩＴＵ  Ｈ．２６４、フレーム間ビデオ符号化に関する動き推定及び動き補償技術に対応する別のビデオ符号化規格といったビデオ符号化規格に適合する。
【００３３】
図２に示されたように、デバイス３０はビデオ・シーケンスを符号化する装置３２、及び符号化の前後にビデオ・シーケンスを記憶するビデオ・メモリ３４を含む。デバイス３０は符号化されたシーケンスを別のデバイスに伝送する送信器３６、及び恐らくはビデオ・シーケンスを取得し、且つ取得されたシーケンスをメモリ３４に記憶する、ビデオ・カメラのようなビデオ取得デバイス３８を含む。デバイス３０の様々な要素は通信バス３５によって通信可能に接続される。フレーム内符号器要素、様々なフィルタ、または他の要素といった様々な他の要素はまたデバイス３０に含まれるが、簡単にするために特に例示されない。
【００３４】
ビデオ・メモリ３４は一般的に比較的大きなメモリ空間を含む。ビデオ・メモリ３４は、例えば、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）またはフラッシュ（ＦＬＡＳＨ）メモリを含む。他の例では、ビデオ・メモリ３４は不揮発性メモリまたは他のデータ記憶デバイスを含む。
【００３５】
ビデオ符号化装置３２はハードウェア、ソフトウェア、ファームウェア、及び／またはプロセッサもしくはディジタル信号プロセッサ（ＤＳＰ）の組合せを含め、携帯無線電話に関するチップ・セットを含む。ビデオ符号化装置３２は局所メモリ３７に接続された符号器２８を一般的に含む。局所メモリ３７はビデオ・メモリ３４と比較してさらに小さく、且つさらに速いメモリ空間を含む。一例として、局所メモリ３７は同期ランダム・アクセス・メモリ（ＳＲＡＭ）を含む。局所メモリ３７はプロセッサ集中的符号化処理の間データへ非常に速くアクセスするようにビデオ符号化装置３２の他の要素と共に集積化された「オン・チップ」メモリを含む。所定のビデオ・フレームの符号化の間、符号化される現在のビデオ・ブロックはビデオ・メモリ３４から局所メモリ３７へ搭載される。最良予測を設置する際に使用される探索空間はまたビデオ・メモリ３４から局所メモリ３７へ搭載される。
【００３６】
探索空間は一以上の先行ビデオ・フレーム（或いは、後続フレーム）のピクセルの部分集合を含む。選択された部分集合は符号化される現在のビデオ・ブロックに綿密に合致する最良予測の特定のための最尤場所として予め特定される。さらに、異なる探索段階が使用されれば、探索空間は粗い動き推定上で変化する。その場合には、探索空間は、前の探索より大きな解像度で行われるこれらの後の探索に関して探索空間のサイズに関して次第に小さくなる。
【００３７】
局所メモリ３７は符号化される現在のビデオ・ブロック、及びフレーム間符号化で使用される一以上のビデオ・フレームのいくつかまたは全てを含む探索空間を搭載している。動き推定器４０は最良予測を特定するために現在のビデオ・ブロックを探索空間内の様々なビデオ・ブロックと比較する。いくつかの例では、符号化の適正な合致は全ての可能な候補を特に検査せずにより早く特定され、その場合には、適正な合致は、効率的なビデオ符号化に適切であっても、実際に「最良の」予測ではないかもしれない。一般に、語句「予測ビデオ・ブロック」は適切な合致を云い、それは最良の予測である。
【００３８】
動き推定器４０は符号化される現在のビデオ・ブロックとメモリ３７の探索空間内の候補ビデオ・ブロックとの間で比較を行う。いくつかの場合には、候補ビデオ・ブロックは部分補間（fractional interpolation）のために生成された非整数ピクセル値を含む。一例として、動き推定器４０は候補ビデオ・ブロックに関する差分値を定義するために、絶対差分和（sum of absolute difference：ＳＡＤ）技術、二乗差分和（sum of squared difference：ＳＳＤ）技術、または比較技術を実行する。より低い差分値は候補ビデオ・ブロックがより良い合致であることを一般的に示し、このように動き推定符号化において使用する他の候補ビデオ・ブロックよりも良い候補がより高い差分値をもたらす。
【００３９】
最終的に動き推定器は「最良予測」を特定し、それは符号化されるビデオ・ブロックに最も綿密に合致する候補ビデオ・ブロックである。しかしながら、多くの場合、適切な合致は最良の予測の前に位置していることは当然かもしれず、それらの場合には、適切な合致が符号化のために使用される。さらに、予測ビデオ・ブロックは適切な合致を参照し、それは最良の予測である。
【００４０】
一旦、最良の予測がビデオ・ブロックについて動き推定器４０によって特定されると、動き補償器４２は現在のビデオ・ブロックと最良予測との間の差分を示す差分ブロックを作成する。差分ブロック符号器４４は差分ブロックを圧縮するためにさらに差分ブロックを符号化し、探索空間からどの候補ビデオ・ブロックが符号化のために使用されたかを特定するために、符号化された差分ブロックは動きベクトル（或いは、動きベクトルと動きベクトル推定器との間の差分）とともに別のデバイスへ送られる。簡単にするため、特定の要素部品（components）は対応する特定の規格に応じて変るであろうから、動き補償の後で符号化を行うために使用される追加要素部品は差分ブロック符号器４４ として一般化される。換言すれば、差分ブロック符号器４４は差分ブロックに対して一以上の従来の符号化技術を実行し、それはここに示されたように生成される。
【００４１】
動き推定及び動き補償を含め、符号化処理は非常に計算集中的である。しかしながら、レート制御を行うために必要な計算の数は制限することができる。そのようなレート制御を行うために、ビデオ符号器２８はレート制御ユニット４６を含む。レート制御ユニット４６はフレームごとに符号化されるビットの数と量子化後のビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のビデオ・ブロックの非ゼロ係数の数を表すρの値はフレームごとに符号化されたビットの数（従って、一定のフレーム・レートにおける秒ごとに符号化されたビットの数）に一般的に比例する。従って、レート制御ユニット４６はレート制御ビデオ符号化を達成するためにρとＱＰとの間の関係を利用する。もっと明確には、レート制御ユニット４６はρの値を異なるＱＰに写像するために一以上のＬＵＴを生成する。そして、ＱＰはビデオ符号化に望ましいレートに対応するρの望ましい値について選択することができる。
【００４２】
下記でさらに詳細に述べられるように、ビデオ符号器２８のレート制御ユニット４６はビデオ・ブロックの量子化されない係数について閾値を計算し、そこでは閾値は量子化係数が異なる量子化パラメータ（ＱＰ）について非ゼロになるときを特定する。そして、レート制御ユニット４６は閾値を使用して量子化後の非ゼロの係数の数をＱＰに写像するρ‐ＱＰ  ＬＵＴを生成する。局所メモリ３７はρ‐ＱＰ  ＬＵＴを記憶する。さらに特定の実施例では、ビデオ符号器２８のレート制御ユニット４６は閾値をＱＰに写像する閾値‐ＱＰ  ＬＵＴを生成し、そして閾値‐ＱＰ  ＬＵＴを使用してρ‐ＱＰ  ＬＵＴを生成する。ＬＵＴ４８は、ここに概説されたように、ρ‐ＱＰ  ＬＵＴ及び恐らくρ‐ＱＰ  ＬＵＴを生成するために使用される閾値‐ＱＰ  ＬＵＴといった、一以上のＬＵＴを一般的に表す。
【００４３】
ρ‐ＱＰ  ＬＵＴを生成する際に、ビデオ符号器２８はビデオ・ブロックのレート制御ビデオ符号化についてＱＰをρ‐ＱＰ  ＬＵＴから選択し、そしてビデオ符号器２８は選択されたＱＰに基づいてビデオ・ブロックの係数を量子化し、例えば上で概説したように、フレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化する。
【００４４】
ρ‐ＱＰ  ＬＵＴの作成はビデオ・ブロック基準またはビデオ・フレーム基準で行うことができる。前者の場合には、ビデオ符号器２８はビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐ＱＰ  ＬＵＴを生成し、所定のビデオ・ブロックについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する。後者の場合には、ビデオ符号器２８はビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐ＱＰ  ＬＵＴを生成し、所定のビデオ・フレームについて対応するρ‐ＱＰ  ＬＵＴを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのＱＰを選択する。
【００４５】
ビデオ符号化では、正確なレート‐歪みモデルを持つことが一般的に望ましい。正確なレート‐歪みモデルは目標（target）ビット・レートを達成するだけではなくフレームごとのビットの数の変動が低くなるレート制御手法に帰着することができる。ビット・レートを予測するために非ゼロ係数の数（ρ）を使用するレート制御手法は多くの他のレート制御アルゴリズム、特に固定二次レート‐歪みモデル（fixed quadratic rate-distortion model）を使用するアルゴリズムに較べて著しく良い性能を達成する。固定二次レート‐歪みモデルを使用する従来のアルゴリズムは従来の基線方法（onventional baseline）または基線手法（baseline approach）とここでは呼ばれる。
【００４６】
基本的に、ρ‐領域レート制御は次の二つの簡単な原理に基づいている：
１．ρは使用されるビットの数に一次的に関係がある、及び
２．特定のρ値を生じるＱＰ値は量子化されない変換係数から推定することができる。
Ｒがフレーム上で使用するために必要なビットの数であれば、量子化の後で生じる非ゼロ係数の数は次の式によって示される：
R=Aρ＋B                        式１
上記の式１において、パラメータＢは非テクスチャ情報と考えらることができ、パラメータＡは非ゼロ係数を符号化するために必要なビットの平均数と見なすことができる。パラメータＡ及びＢは前のフレームからのＲ及びρの値から推定することができる。上記の式１から、Ｒが与えられれば、ρを推定することはかなり簡単である。図３はフレームごとに使用されるビットの数及び異なるフレームに関するρのプロットである。図３から見られるように、Ｒとρの関係はほぼ線形である。
【００４７】
従って、レート制御技術はρの所望の値を生じるＱＰ値を選択することができる。そのようなＱＰ値を選択するために、しかしながら、使用される規格に対応する許容可能な各 ＱＰに由来するであろう非ゼロ係数の数を知る必要がある。変換係数がＴｉによって与えられ、且つＱＰに対応する量子化手続きがＳＱＰによって与えられれば、ρ‐ＱＰ表は：
【００４８】
【数１】
2006121657.tif 000003
によって与えられ、ここで
ｆ(Ｔｉ，ＳＱＰ)＝１  （｜Ｔｉ＋ｒｑｐ｜≧ＳＱＰであれば）
＝０  （それ以外）
上記の式２では、ステップ・サイズＳＱＰ及び丸め因数（rounding factor）ｒｑｐは次の要件に依存する：
１．符号化規格、例えば、ＩＴＵ  Ｈ．２６４、ＭＰＥＧ‐４またはＩＴＵ  Ｈ．２６３、
２．フレーム内符号化またはフレーム間符号化のいずれかが実行されている、及び
３．係数指標（coefficient index）。
【００４９】
例えば、ＭＰＥＧ‐４では、全ての係数ＳＱＰに関する仲介マクロブロックは２ＱＰによって与えられ、ｒＱＰは−（ＱＰ／２）によって与えられる。ρ‐ＱＰ表を生成するために使用される式２は加算器（adders）及び比較器（comparators）によって実施することができる。表入力ρ（ＱＰ）はＱＰの全ての値について計算する必要がある。ＱＰはＭＰＥＧ‐４については１から３１の範囲、 Ｈ．２６４については０から５１の範囲に及ぶ。計算は一般的にＱＰの全ての可能な値について繰返す必要がある。特定の量子化パラメータρがゼロであれば、ρは全てのより大きな量子化パラメータ値についてゼロにとどまることを保証され、従って計算する必要がない。換言すれば、ρ（ＱＰｉ）＝０であれば、全てのＱＰ＞ＱＰｉについてρ（ＱＰ）＝０である。
【００５０】
マクロブロックから得られたρ‐ＱＰ表はフレームのρ‐ＱＰ表を得るために全体のフレーム上で累積することができる。「マクロブロック」は一般的に１６×１６ピクセルのビデオ・ブロックを参照する。ビデオ・シーケンスの画像がかなり静止していると仮定すれば、前のフレームから推定されたρ‐ＱＰ表は現在のフレームに関するＱＰを予測するために使用することができる。さらに、ＱＰの初期値はマクロブロック・レベルのレート制御を使用してマクロブロック基準で変えることができる。
【００５１】
次の手続きは基本的なρ‐領域レート制御アルゴリズムを実施するために使用される。
手続き１：現在のフレームのビット量Ｒｆを推定する。
手続き２：上記の式１を使用して対応するρｆを推定する。最初のフレームについてはＡ及びＢに関する初期値を使用する。
手続き３：ρｆ（ＱＰ）を使用して、ρｆに最も近いρを与えるＱＰ＝ＱＰｆを選択する。
手続き４（ａ）：マクロブロック・レベルのレート制御初期化：ρａ＝０；ｉ＝０を行う、ここでＮはフレームごとのマクロブロックの数で、ｉはマクロブロック指数である。
手続き４（ｂ）：ρｍ＝（ρｆ−ρａ）／（Ｎ−ｉ）。 ρｍ（ＱＰ）を使用して、ρｍに最も近いρを与えるＱＰ＝ＱＰｍを選ぶ。ρｍ（ＱＰ）はρｆ（ＱＰ）の尺度化された版であるか、もしくは前のマクロブロックから推定することができる。その変動が前のマクロブロックから［−２  ＋２］以内にあるようにＱＰｍをクランプする（ＭＰＥＧ４の場合）。
手続き４（ｃ）：各々のＱＰについて、上記の式２を使用してρｉ（ＱＰ）を計算する。
手続き４（ｄ）：各々のＱＰについて、ρ（ＱＰ）をρ（ＱＰ）＋ρｉ（ＱＰ）と置替える。
手続き４（ｅ）：ρａ（ＱＰ）をρａ（ＱＰ）＋ρｉ（ＱＰ）と置替える。ｉをｉ＋１と置替える。
手続き４（ｆ）：（ｉ＜Ｎ）までは手続き４（ｂ）に戻る（loop）。
手続き５：ρｆ（ＱＰ）をρ（ＱＰ）と置替える。ρａ及び現在のフレームにおいて費やされるテクスチャ・ビット（Ｒｔ）及び非テクスチャ・ビット（Ｒｎ）を使用して、Ａ及びＢを再推定する。Ｂ＝Ｒｎ及びＡ＝（Ｒｔ／ρａ）。 
手続き６： 全てのフレームが終わるまでに、手続き（１）に戻る。
【００５２】
ＭＰＥＧ‐４及びＩＴＵ  Ｈ．２６３準拠の符号器については、ρ‐ＱＰ表の計算はＩＴＵ  Ｈ．２６４に準拠する符号器についてよりも簡単な方法で行うことができる。次の擬似コードはＭＰＥＧ‐４及びＩＴＵ  Ｈ．２６３規格に準拠してビデオ・ブロックに関するそのような一つの計算を例示する。
【００５３】
For QP = 1to 31
{
p(QP)=0;
If (INTRA)
{
if (|(DCT(0) + (dc_scalar>>1)| >= dc_scalar)
p(QP)++;
for i = 1 to 63
if (|DCT(i)| >= (QP<<1)}
p(QP}++;
end
}
else
{
for i = 0 to 63
if (|(|DCT(i)| - (QP>>1))| >= (QP<<1))
p(QP)++;
end
}
if ( p(QP)) = 0)
break;
}
図４はＭＰＥＧ‐４またはＩＴＵ  Ｈ．２６３符号化規格に準拠する符号器についてρ（ＱＰ）表を計算するために使用できる典型的なハードウェア回路を例示する。図４で示された累積は全ての明度（luminosity：luma）及び色度（chromaticity：chroma）ブロック、例えば４明度及び２色度ブロックについて繰返す必要があるであろう。
【００５４】
図４に例示されたように、回路４００は入力としてＤＣＴ（ｉ）を受取る。ＤＣＴ（ｉ）は指数（ｉ）をもつ離散コサイン変換係数である。ブロック４０１はＤＣＴ（ｉ）の絶対値を生成し、それは加算器４０２に送られる。そして、ＤＣＴ（ｉ）の絶対値はマルチプレクサ４０３の出力に加えられる。マルチプレクサ４０３は三つの値の一つを選択する。マルチプレクサ４０３への入力は１だけ右に移行した dc_scaler 値、及び１だけ右に移行した負の量子化パラメータＱＰである。マルチプレクサ４０３はＩ及びＤＣ双方が１のとき１だけ右に移行した dc_scaler 値を選択し、Ｉが１でＤＣが０のとき値０を選択し、Ｉが０のときＤＣの値に関係なく１だけ右に移行した負の量子化パラメータＱＰを選択する。Ｉの値は入力ブロックがイントラ（intra）ブロックのとき１で、入力ブロックがインター（inter）ブロックのとき０である。ＤＣの値は入力パラメータがＤＣのとき１で、入力パラメータがＡＣのとき０である。ＤＣ係数はビデオ・ブロックの平均値を表し、一方、ＡＣ係数はビデオ・ブロックの残りの係数である。
【００５５】
マルチプレクサ４０３の出力は加算器４０２によってブロック４０１の出力に加えられる。そして、ブロック４０４は加算器４０２の出力の絶対値を生成し、この値の負数を入力として加算器４０５に提供し、それはマルチプレクサ４０６の出力に加えられる。マルチプレクサ４０６は dc_scaler 値、及び１だけ左に移行した量子化パラメータＱＰを受取る。マルチプレクサ４０６はＩ及びＤＣが双方共１のとき dc_scaler 値を出力として選択し、他の場合には１だけ左に移行した量子化パラメータＱＰを出力として選択する。
【００５６】
加算器４０５はブロック４０４の出力をマルチプレクサ４０６の出力から減算する。ブロック４０７は加算器４０５の出力の１２番目のビット（正負記号ビット）を調べ、このビットを加算器４０８に提供する。ブロック４０９は正負記号ビットを前の各入力に加えることによってρ（ＱＰ）表を累積する。このように、加算器４０８及びρ（ＱＰ）表はρ（ＱＰ）表を生成する累算器として集合的に見なすことができる。回路４００はこれらの計算をＩ＝１から６３まで、及びＱＰ＝１から３１まで繰返す。
【００５７】
ＩＴＵ  Ｈ．２６４準拠符号器では、量子化ステップは変換の係数依存スケーリングと結合される。これはρ（ＱＰ）表の計算をさらに複雑にする。その量子化は次の式を用いて実施することができる。
Ｆij＝（ＭＷij＋Ａ）＞＞Ｓ              式３
ここで、Ｆij は量子化係数で、Ｗij は量子化されない変換係数である。乗算因数Ｍ、加算因数Ａ、及び移行因数ＳはＱＰ、係数指標ｉ、ｊ、イントラ予測モードに依存し、及びブロックが明度或いは色度のいずれであるかにも依存する。式３から、量子化された値Ｆij は：
Ｗij＞＝（２Ｓ−Ａ）／Ｍ                式４
＞＝Ｃ
の場合にのみ非ゼロになるであろう。
ここで、    Ｓ＝１６＋（ＱＰ／６）  （イントラ１６×１６のＤＣ及び色度）
Ｓ＝１５＋（ＱＰ／６）  （その他）
Ａ＝２Ｓ−１                （イントラ）
Ａ＝２Ｓ−２                （インター）
量子化はＱＰの増加６に対して、量子化ステップが二倍になるように設計することができる。従って、Ｍは６個の一意値（unique values）の集合を有し、そしてＭは（ＱＰ％６）と指数ｉ、ｊの関数としての値の範囲を持つ 。記号％はＭＯＤ関数を表し、それは剰余を提供する。このように、ＱＰ％６はＱＰ ＭＯＤ ６と同じで、それはＱＰを６で除算し、除算の剰余を与える。Ｍの指数への依存度は整数変換により必要なスケーリングが量子化処理に吸収されるという事実による。次の表１はＭの値を示す。特に、表１は様々な指数及びＱＰ％６について乗数値（また、乗算因数と呼ばれる）Ｍを表記する。
【００５８】
【表１】
2006121657.tif 000004
式４から、量子化されない値 Ｗij がＣより大きいか等しければ、結果は非ゼロ係数であることに気付くであろう。式４の右辺は分数であるから、Ｗij が比較される整数値は：
【００５９】
【数２】
2006121657.tif 000005
によって与えられる。次の表２はイントラ及びインター・マクロブロックについて様々な指数及びＱＰ％６に関する比較器値Ｃの表である。
【００６０】
【表２】
2006121657.tif 000006
特に、表２は様々なＱＰ％６についてＳ＝２４の最大移行値に関する比較器値Ｃを与える。これらの値は３６×１３ＲＯＭ中に縦列ごとに左から右へ記憶することができる。図５Ａ及び５ＢはＩＴＵ  Ｈ．２６４規格に従ってρ（ＱＰ）表を計算するために使用できる典型的な回路構成を例示する回路図である。
【００６１】
図５Ａに例示されたように、値１５が加算器５０１によって値ＱＰ／６に加えられる。加算器５０２の出力は加算器５０１の出力と同様にマルチプレクサ５０５に提供され、それは加算器５０１の出力に１を加える。マルチプレクサ５０５の出力はＡＮＤゲート５０３及びＯＲゲート５０４からの制御信号に基づいて選択される。ＡＮＤゲート５０３への入力ｉ及びｊは入力係数の指数値であり、反転される。ＯＲゲート５０４へ入力は現在のブロックがイントラ・ブロックであるかどうか、及び現在のブロックが色度ブロックであるかどうかを指示する。マルチプレクサ５０５への両入力が１であるとき、加算器５０２の出力はマルチプレクサによって選択され、他の場合には加算器５０１の出力が選択される。回路５００の出力Ｓは図５Ｂの回路６００によって使用される。
【００６２】
図５Ｂに示されたように、マルチプレクサ６０３はＡＮＤゲート６０１及びＮＯＲゲート６０２からの入力信号に基づいて値０、１及び２のうちの一つを選択する。ゲート６０１及び６０２への入力はそれぞれｉ及びｊ次元における指標係数のゼロ番目のビットである。ゲート６０１の出力がゼロであり、且つゲート６０２の出力が１であれば、値０がマルチプレクサ６０３によって選択される。ゲート６０１の出力が１であり、且つゲート６０２の出力がゼロであれば、値１がマルチプレクサ６０３によって選択される。ゲート６０１の出力がゼロであり、且つゲート６０２の出力がゼロであれば、値２がマルチプレクサ６０３によって選択される。
【００６３】
マルチプレクサ６０４はマルチプレクサ６０３の出力を６で乗算し、この値をメモリ６０５及び６０６に入力する。ＩＲＯＭ６０５はイントラ・ブロックに対応し、ＰＲＯＭ６０６はインター・ブロックに対応する。インター・ブロックが処理されているとき、マルチプレクサ６０７への入力値Ｐは１である。
【００６４】
マルチプレクサ６０７はメモリ６０５、６０６の一つを入力Ｐに基づいて選択する。マルチプレクサ６０７の出力は加算器６０８に提供される。図５Ａの回路からの値Ｓは１５から減算される。値５１１はブロック６０９によって（１５−Ｓ）の結果だけ右に移行され、ブロック６０９の出力は加算器６０８に提供される。加算器６０８はブロック６０９及びマルチプレクサ６０７の出力を合計する。そして、加算器６０８の出力は２４−Ｓだけ右に移行され、 それは変数Ｃで表され、比較器値を表し、値Ｃは加算器６１１に提供される。値 Ｗij は入力係数を表す。ブロック６１２は値 Ｗij の絶対値を生成し、それは加算器６１１によって値Ｃから減算される。
【００６５】
ブロック６１３は加算器６１１の出力の正負記号ビット（１５番目のビット）を生成する。そして、正負記号ビットは加算器６１４に提供される。ブロック６１５は正負記号ビットを前の各入力に加えることによってρ（ＱＰ）表に累積する。このように、加算器６１４及びρ（ＱＰ）表ブロック６１５はρ（ＱＰ）表を生成する累算器として集合的に見なすことができる。回路５００及び６００はこれらの計算をｉ、ｊ＝１から３まで、及びＱＰ＝１から５１まで繰返す。
【００６６】
図５Ａ及び５Ｂでさらに一般的に示されたように、丸め因数は記憶された比較器値にそれが移行される前に加算される。除算の結果生じる分数値が常に切上げられるように、この因数は選択することができる。そのようにすることによって、１５と２４の間のＳの全ての値についてその結果生じるＣは式５において端数の切上げであることが保証される。また、図５Ａ及び５Ｂに例示された回路構成の多くは、アドレス生成器及びＳを計算する構成要素を含めて、ＩＴＵ  Ｈ．２６４規格に従って順方向量子化を実施するハードウェア要素中に既に配置されている。図５Ａ及び５Ｂに示された累算は全ての明度及び色度ブロック（１６明度及び８色度ブロック）について繰返される。
【００６７】
上記で述べられ、図４及び図５Ａ及び５Ｂに例示されたρ‐ＱＰ表の直接計算は計算的に複雑である。最悪の場合には、直接的計算はＱＰごとの係数につき一つの比較及び一つの加算を含む。ＱＰがＭ個の可能な値を有し、且つＮ個の係数があると、ρ‐ＱＰ表の直接計算に必要な演算の数はＭ＊Ｎである。様々な「閾値」手法を含めて、もっと単純化された手法は下記でさらに詳細に述べられる。
【００６８】
「閾値」手法では、ρ‐ＱＰ表は全ての量子化されない係数Ｃi についてＱＰ閾値τi の計算を含む。閾値τi は次のような量子化パラメータである：
全てのＱＰ＞τi について、Ｑ（Ｃi ，ＱＰ）＝０
全てのＱＰ≦τi について、Ｑ（Ｃi ，ＱＰ）≠０              式６
関数Ｑ（Ｃi ，ＱＰ）は量子化パラメータＱＰを使用する係数Ｃi の量子化演算を表す。閾値‐ＱＰ表Ｔ（ＱＰ）は次の疑似コードを使用して計算することができる：
for QP = 1 to 31
T(QP) = 0
End
for 1= 1 to N
T(τi) ++;
End
そして、ρ‐ＱＰ表は次の疑似コードを使用してＴ（ＱＰ）から容易に計算することができる：
for QP = QPMAX−1 to QPMIN
T(QP) = T(QP + 1) + T(QP) 
End
ρ(QP) = T(QP)
閾値手法（また閾値方法とも呼ばれる）を用いて、ρ‐ＱＰ表を計算するために必要な演算の数は直接計算に必要なＮ＊Ｍの計算処理に較べて２Ｎ＋Ｍに低減することができる。これは一般的に各々の係数について計算するために表を検索するためのＮ演算、及びＮ係数の閾値を累積するためのＮ演算、続いてρ‐ＱＰ表を得るためにＴ（ＱＰ）表を累積するためのＭ演算を必要とすることを仮定する。
【００６９】
ρ‐ＱＰ表の計算が全てのマクロブロックについて行われれば、閾値方法は計算処理を９０％以上低減させる。さらに、その表がフレームごとに一度計算されるだけになれば、計算処理の低減はなお大きくなるであろう。ρ‐ＱＰ表を計算する閾値方法はまた並行して動作するＭ累算器を持つ必要性を回避するので、ハードウェア実装について非常に有利である。ハードウェアに実装されれば、そのハードウェアは各マクロブロックについてＴ（ＱＰ）表を計算し、それをＤＳＰに渡すことができる。ＤＳＰはρ‐ＱＰ表を計算するためにこの閾値表を使用するであろう。
【００７０】
ＭＰＥＧ‐４及びＨ．２６３について、τi の計算は次のように実行することができる：
τi ＝|Ｃi|＞＞１  （イントラＡＣ及びＤＣ係数）
τi ＝|２Ｃi|／５
＝（|Ｃi|×０ｘ６６６＋０ｘ４ＣＤ）（インターＡＣ及びＤＣ係数）
イントラの場合には、|Ｃi|は［０６２］に制限され、インターの場合には、|Ｃi|は［０７７］に制限される。０ｘ６６６は（２／５）であり、０ｘ４ＣＤはＱ１２において（３／１０）である。これらの式から、ＭＰＥＧ‐４及びＨ．２６３について、τi を推定するために必要な計算がわずかであることに気付くであろう。量子化の後でこれらの係数がゼロになる可能性は遠いので、イントラＡＣ係数について別の式（または表参照）を使用する必要はない。これは図６に示されたイントラＤＣ係数のヒストグラムから観察できる。
下記の表３はＭＰＥＧ‐４のインター係数に関する閾値を求めるための典型的な一つの参照表（ＬＵＴ）である。
【００７１】
【表３】
2006121657.tif 000007
下記の表４はＭＰＥＧ‐４のイントラ係数に関する閾値を求めるための典型的な一つの参照表（ＬＵＴ）である。
【００７２】
【表４】
2006121657.tif 000008
特に、ハードウェアを考慮し表を使用してＭＰＥＧ‐４の閾値計算を実施することが必要であれば、インター及びイントラ係数に関する典型的入力は表３及び表４においてそれぞれ与えられる。
ＩＴＵ  Ｈ．２６４規格について、ＩＴＵ  Ｈ．２６４規格では、除数はＱＰに依存しているだけでなく、他の因数にも依存しているので、量子化されない係数からの閾値の直接計算はさらに難しい。ＩＴＵ  Ｈ．２６４規格に従って閾値を計算するために使用できる一つの一般的なハードウェア構造は図７に示される。
【００７３】
図７に示されたように、入力係数 Wij はブロック７０１への入力で、それは Wij  の絶対値を生成する。ブロック７０２は Wij の絶対値を２０４７に制限し、その出力を加算器７０７に送る。ブロック７０２の出力はまたブロック７０３によって５だけ右に移行される。ブロック７０３の出力はマルチプレクサ７０４への入力信号である。マルチプレクサ７０４への入力の最上位ビットは値０、１、２、３、４、５及び６から出力を選択するために使用される。
【００７４】
加算器７０５はマルチプレクサ７０４の出力から１を減算する。そして、加算器７０５の出力は１だけ左に移行される。ブロック７０６の出力は加算器７０７に提供され、ブロック７０２の出力に加えられる。そして、加算器７０７の出力はマルチプレクサ７０４によって出力された値だけ右に移行される。ブロック７０９はブロック７０８の値を３１に制限する。そして、ブロック７０９の出力はアドレス生成器７１０に提供される。
【００７５】
アドレス生成器７１０はＬＵＴ７１１によって使用されるアドレスを生成する。特に、アドレス生成器７１０はＬＵＴ７１１に供給されるアドレスを生成するためにｉ、ｊ及びイントラと同様にブロック７０９の出力を受取る。ＬＵＴ７１１の例は下記の表６及び７において提供される。表６はイントラ値に関するＬＵＴを表し、表７はインター値に関するＬＵＴ例を表す。アドレス生成器７１０へのそれぞれの入力値はＬＵＴの一つの特定値に写像することができる。アドレス（addr）が与えられると、適切なデータがＬＵＴ７１１から選択される。
【００７６】
ＬＵＴ７１１のそれぞれの出力は加算器７１７に提供される。マルチプレクサ７０４の出力はまたマルチプレクサ７１５に提供される。加算器７１２はマルチプレクサ７０４の出力から１を減算し、この値を他の出力としてマルチプレクサ７１５に提供する。マルチプレクサ７１５の出力はＡＮＤゲート７１３及びＯＲゲート７１４からの制御信号に基づいて選択される。ＡＮＤゲート７１３への入力ｉ及びｊは入力係数の指数値であり、反転される。ＯＲゲート７１４への入力は現在のブロックがイントラ・ブロックであるかどうか、及び現在のブロックが色度ブロックであるかどうかを示す。加算器７１２の出力はマルチプレクサ７１５への両入力が１であるときマルチプレクサによって選択され、そうでなければマルチプレクサ７０４の出力はマルチプレクサ７１５によって選択される。
【００７７】
そして、マルチプレクサ７１５の出力は乗算器７１６によって６で乗算される。乗算器７１６の出力は加算器７１７によって選択されたＬＵＴ７１１の一つの出力によって加算される。加算器７１７の出力はブロック７１８によって下限が０及び上限が５２に制限される。回路７００の出力は量子化パラメータ閾値ＱＰＴである。値ＱＰＴは、下記で論ずるように、図９の回路９００への入力として使用される。
【００７８】
図７のハードウェア回路図では、制限因数Ｌは量子化されない係数の絶対値を量子化のために使用される最大の除数以下に制限するために使用される。Ｌより大きいＷij について、τij（ＱＰＴ）がＱＰmax に等しくなることが一般的に保証される。従って、Ｌより大きいＷij に対応するＬＵＴの入力を記憶しておく必要性はない。Ｌの値は係数指標及びマクロブロックのモード（イントラまたはインター）に依存する。Ｌの様々な値は下記の表５に示される。特に、表５はＱＰ閾値がＱＰmax にクランプされるであろう以上の絶対値を記載する。
【００７９】
【表５】
2006121657.tif 000009
いくつかの実施例では、２の累乗である最大制限値（２０４７）が共通のクリップ因数として使用される。ＬＵＴは僅か３２個の入力値［０〜３１］について記憶することができる。ＩＴＵ  Ｈ．２６４では、量子化ステップ・サイズ（除数）はＱＰが６増えるごとに二倍になる。従って、入力値を写像するために、クリップされた入力を０と３１の間の数に変換するであろう（２の累乗である）最小除数 Ｄ＝２Ｓが計算されることになる。これは入力を３２で除算し、且つ出力を表すために使用される数を計数する（シフト・レジスタ及びマルチプレクサで実施される）ことによって行われる。そして、クリップされた値はＳだけ下に移行される。この除算が丸めによって行われれば、参照における誤差はあまり偏らないであろう。図８Ａ及び８Ｂは閾値ＬＵＴのアドレス計算に使用される偏り（bias）を丸める効果を例示するグラフである。
【００８０】
移行因数Ｓは６倍され、その後、最終閾値ＱＰを得るために参照の結果に加えられる。ＬＵＴはマクロブロックがイントラ・ブロック或いはインター・ブロックのいずれであるか、及び係数の指標に依存する。イントラ及びインター係数に関する典型的入力は表６及び７においてそれぞれ与えられる。特に、表６はＩＴＵ  Ｈ．２６４イントラ係数について閾値を求めるための典型的な参照表で、一方、表７はＩＴＵ  Ｈ．２６４インター係数について閾値を求めるための典型的な参照表である。
【００８１】
【表６】
2006121657.tif 000010
【００８２】
【表７】
2006121657.tif 000011
さらに閾値‐ＱＰ表の作成を簡単化するために、Ｔ（ＱＰ）表を形成するため全ての係数上で閾値ＱＰを累積するハードウェアが設計される。Ｔ（ＱＰ）表を形成するため閾値ＱＰを累積するために使用できる典型的な回路構成は図９で示される。
【００８３】
図９に示されたように、回路９００は量子化パラメータ閾値ＱＰＴ入力を受取る。加算器９０１はＱＰＴから３０を減算し、この値を色度ＱＰ  ＬＵＴ９０２に提供し、その例は表８において提供される。マルチプレクサ９０４はブロック９０３によって決定される加算器９０１の出力の正負記号（sign）に対応する入力信号及び明度及びＨ．２６４入力信号に基づいてＱＰＴの値と色度ＱＰ  ＬＵＴ９０２に記憶された値との間で選択する。正負記号値がゼロで、ブロックが明度ブロックでないことを示す明度値がゼロで、且つ符号化規格がＩＴＵ  Ｈ．２６４であることを示すＨ．２６４値が１であれば、色度ＱＰ  ＬＵＴに記憶された値が選択される。そうでない場合には、マルチプレクサ９０４は出力としてＱＰＴを選択する。マルチプレクサ９０４の出力はＴ（ＱＰ）表９０５に記憶された入力アドレス（addr）を含む。マルチプレクサ９０４から出力される元のアドレス値は加算器９０６に出力され、１を加算され、そしてＴ（ＱＰ）表９０５における元のアドレス値上に記憶される。特定のＱＰＴは各係数及び各々のこれらのＱＰＴについて生成される。
【００８４】
ＩＴＵ  Ｈ．２６４に従って色度ＱＰ値をＱＰ値に変換するために使用されるＬＵＴは表８ において与えられる。特に、表８は色度‐ＱＰ閾値をＱＰ閾値に写像する表を例示する。
【００８５】
【表８】
2006121657.tif 000012
表９は異なるビデオ・クリップのビット・レート変動の実験的結果を表にする。比較の目的のために、表は従来の基線手法を用いた結果、及びここに概説されたρ‐領域手法を用いた結果を表にする。表９は実験に使用された五つの異なるビデオ・クリップを表にする。異なるクリップは四つの異なるレート制御方法で符号化された：即ち、６４キロビット／秒（Kbps）及び四分の一共通インタフェース・フォーマット（QCIF）‐１５フレーム／秒（FPS）；２８Kbps 及び QCIF‐１５FPS；５５Kbps 及び QCIF‐１０ FPS；そして３５Kbps 及び QCIF ‐１０FPS。基線手法は前に述べた固定二乗手法を一般的に参照する。
【００８６】
【表９】
2006121657.tif 000013
表９から、従来の基線手法及び提案されたρ‐領域手法の双方は目標ビット・レートを達成するのに十分であることに気付くであろう。ρ‐領域手法は様々なクリップにわたってビット・レートの変動を低減する。
表１０は異なる目標ビット・レートで符号化された様々なビデオ・クリップについてフレームごとに使用されるビットの標準偏差を定量化する実験結果の表である。表１０は従来の基線手法を用いた結果及びここに概説されたρ‐領域手法を用いた結果の表である。表１０は異なる目標ビット・レートで符号化された、五つの異なるビデオ・クリップに関するデータを含む。異なるクリップは四つの異なるレート制御方法で符号化された：即ち、２８キロビット／秒（Kbps）及び四分の一共通インタフェース・フォーマット（QCIF）‐１５フレーム／秒（FPS）；３５Kbps 及び QCIF‐１０FPS；５５Kbps 及び QCIF‐１０ FPS；そして６４Kbps 及び QCIF ‐１５FPS。
【００８７】
【表１０】
2006121657.tif 000014
表１０から理解されるように、ρ‐領域技術は従来の基線システムより著しく優れている。平均して、ρ‐領域技術は標準偏差を５０％以上低減する。いくつかのクリップ（mother_daughter）について、この低減は劇的な８５％であった。
【００８８】
図１０はフレームごとに使用されるビット及び従来の基線手法及びここに述べたρ‐領域レート制御手法によってもたらされるフレームごとのピーク信号対雑音比（ＰＳＮＲ）を示す四つの異なるプロットを含む。図１０のプロットは６４Kbps における mother-daughter（母娘）クリップの符号化に対応する。
【００８９】
図１０のプロットから、フレームに費やされたビットの変動の低減が劇的であるとき、ρ‐領域レート制御はＰＳＮＲに否定的には影響を与えないことが理解されるであろう。この例では、ρ‐領域レート制御は時間をこえてより滑らかな振る舞いをＰＳＮＲ曲線にもたらし、それは望ましい結果である。
【００９０】
符号化の性能へのさらなる改善は上で表にした式１におけるパラメータＡ及びＢを適応させることによって達成することができる。特に、式１のパラメータＡ及びＢを適応させることは図１１に示されたフレーム・レベルのビット変動を減少させることによってレート制御をさらに改善することができる。適応は別の平均によって変動を３７％さらに低減する。この例では、パラメータはロー（ρ）‐適応技術におけるすべてのフレームに一度更新される。ここに述べられた閾値手法に関連するパラメータＡ及びＢの適応は適応閾値手法と呼ばれる。
【００９１】
フレーム内のＱＰの変動の低減はデルタ‐ＱＰを符号化するために必要なビットを低減させるのに役立ち、且つＱＰの変動の低減はフレームにわたって品質を比較的安定にすることによって符号化品質を改善することができるので、フレーム内のＱＰの変動を低減させることはまた重要であろう。フレーム内のＱＰの変動を低減させるこの目的（goal）はマクロブロック・レベルのレート制御を行うために前のフレームから調整されたρ‐ＱＰ表を使うことによって達成することができる。これはρ‐ＱＰ表推定の変動を低減させ、従ってフレーム内のＱＰ値の変動の揺らぎを低減させるのを助ける。前のマクロブロックからのρ‐ＱＰ表がレート制御のために使用されれば、マクロブロックの約２５％だけは不変のＱＰ値を有する。マクロブロックの殆ど８０％について、前のフレームから調整されたρ‐ＱＰ表を使うことによってＱＰの値の変化がないことに気付かれるであろう。
【００９２】
表１１に示されるように、ρ‐領域レート制御によってもたらされるフレーム・レベルのビット・レート変動の著しい低減は符号化されたビデオ・シーケンスの品質の低下を生じない。表１１は様々な符号化シーケンスから得られたＰＳＮＲを提供する。
【００９３】
【表１１】
2006121657.tif 000015
図１２はρ‐領域レート制御によってもたらされるフレーム・レベルのビット・レート変動の著しい低減が符号化されたビデオ・シーケンスの品質の低下を生じないことをさらに例示する。ρ‐領域方法の使用によってさらに緊密なレート制御が達成されることが既に示されてきたが、図１２からρ‐領域レート制御はまたさらに低いＱＰ値を維持することができることに気付かれるであろう。平均して、これはＰＳＮＲを増加しない。さらに、品質の変動は提案されたレート制御手法によって低減される。
【００９４】
様々な実施例が述べられてきた。特に、ρ‐領域レート制御は従来の基線方法と比較してフレームごとのビットの変動を５０〜８０％低減させる優れた結果を生じることが実証されてきた。このビット・レート変動の低減はＰＳＮＲ及び画質認識にいかなる劣化のないこともまた示される。閾値‐ＱＰ  ＬＵＴが作成され、そしてρ‐ＱＰ  ＬＵＴを作成するために使用される閾値手法を含め、ρ‐ＱＰ  ＬＵＴの生成を単純化できるいくつかの技術もまた述べられてきた。
【００９５】
ここに述べられた技術はハードウェア、ソフトウェア、ファームウェア、またはそのあらゆる組合せで実施される。ソフトウェアで実施されれば、その技術はビデオ・シーケンスを符号化するデバイスにおいて実施されるとき、上で述べられた一以上の方法を実行するプログラム・コードを含むコンピュータ可読媒体に適用される。その場合には、コンピュータ可読媒体は同期式ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）といったランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電気的消去プログラム可能読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ（ＦＬＡＳＨ）メモリ、等々を含む。
【００９６】
プログラム・コードはコンピュータ可読命令の形式でメモリに記憶される。その場合には、ＤＳＰのようなプロセッサはここに述べられた一以上の技術を実行するためにメモリに記憶された命令を実行する。いくつかの場合には、その技術は符号化処理を促進するために様々なハードウェア要素を行使するＤＳＰによって実行される。他の場合では、ビデオ符号器はマイクロプロセッサ、一以上の特定用途向け集積回路（ＡＳＩＣ）、一以上のフィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、または他のいくつかのハードウェア‐ソフトウェアの組合せとして実施される。これらや他の実施例は請求項の範囲内にある。
【図面の簡単な説明】
【００９７】
【図１】源ディジタル・ビデオ・デバイスがビデオ・データの符号化シーケンスを受信ディジタル・ビデオ・デバイスに伝送する典型的システムを例示するブロック図である。
【図２】この発明の実施例に基づくディジタル・ビデオ・デバイスの典型的なブロック図である。
【図３】フレームごとのビットの数とロー（ρ）との間のほぼ線形関係を例示するグラフである。
【図４】ＭＰＥＧ‐４規格またはＩＴＵ  Ｈ．２６３規格に従ってρ（ＱＰ）参照表（ＬＵＴ）を直接計算することができる回路を示す典型的な回路図である。
【図５Ａ】ＩＴＵ  Ｈ．２６４規格に従ってρ（ＱＰ）参照表（ＬＵＴ）を直接計算するために使用できる回路を示す典型的な回路図である。
【図５Ｂ】ＩＴＵ  Ｈ．２６４規格に従ってρ（ＱＰ）参照表（ＬＵＴ）を直接計算するために使用できる回路を示す典型的な回路図である。
【図６】これらの係数が量子化の後ゼロになる可能性が遠いときイントラＡＣ係数について別の式（または参照表）を使用する必要がないことを例示するイントラＤＣ係数のヒストグラムである。
【図７】ＩＴＵ  Ｈ．２６４規格に従って、閾値‐ＱＰ  ＬＵＴの作成に使用される閾値を計算するために使われる典型的な回路図である。
【図８Ａ】閾値ＬＵＴのアドレス計算のために使われるバイアスを丸める効果を例示するグラフである。
【図８Ｂ】閾値ＬＵＴのアドレス計算のために使われるバイアスを丸める効果を例示するグラフである。
【図９】閾値‐ＱＰ表を形成するために閾値ＱＰを累積するために使用できる回路の典型的な回路図である。
【図１０】従来の基線方法及びここに記述されたρ‐領域レート制御方法から得られるフレームごとに使用されるビット及びフレームごとのピーク信号対雑音比（ＰＳＮＲ）を示す四つの異なるグラフを含む。
【図１１】従来の基線方法、ここに記述されたρ‐領域方法、及びここに記述された適応ρ‐領域方法を使用して異なるビデオ・クリップに使用されたビットの標準偏差のグラフである。
【図１２】ρ‐領域レート制御方法によってもたらされたフレーム・レベルのビット・レート変動における著しい低減が符号化ビデオ・シーケンスの品質の劣化を全く生じないことを例示するグラフ及び対応するビデオ・フレームである。
【図１】
2006121657.tif 000016
【図２】
2006121657.tif 000017
【図３】
2006121657.tif 000018
【図４】
2006121657.tif 000019
【図５Ａ】
2006121657.tif 000020
【図５Ｂ】
2006121657.tif 000021
【図６】
2006121657.tif 000022
【図７】
2006121657.tif 000023
【図８Ａ】
2006121657.tif 000024
【図８Ｂ】
2006121657.tif 000025
【図９】
2006121657.tif 000026
【図１０】
2006121657.tif 000027
【図１１】
2006121657.tif 000028
【図１２】
2006121657.tif 000029
【外国語明細書】
2006121657000001.pdf