(57)【要約】      （修正有）【課題】ＭＰＥＧエンコーダにおけるレート制御のための改善された装置、システム、方法の提供。【解決手段】ビデオエンコーダはプログラム可能なレート制御器を含み、一実施形態において、プログラム可能なレート制御器は可変ビットレート制御器、固定ビットレート制御器、並びに、２つの出力のうち一方を選択する調整論理回路を含む。可変ビットレート制御器の実施形態は、ビットレートを平均化するために長期的変化を追跡する。固定ビットレート制御器の実施形態は、マクロブロックタイプを分類し、各マクロブロックタイプに対するコンプレキシティの統計的指標を決定し、推定コンプレキシティに基づいて目標ビットレートを生成する。【選択図】図２
2005192193.tif 000002
【特許請求の範囲】
【請求項１】
第１の量子化ステップサイズを生成する可変ビットレート（ＶＢＲ）制御器と、
第２の量子化ステップサイズを生成する固定ビットレート（ＣＢＲ）制御器と、
変換データの量子化において量子化器によって使用されるように、前記第１の量子化ステップサイズおよび前記第２の量子化ステップサイズから最大許容量子化ステップサイズを選択するよう構成されるセレクタと、
を備える、ブロックベースのビデオエンコーダ用レート制御器。
【請求項２】
前記ＶＢＲ制御器および前記ＣＢＲ制御器の少なくとも一つに対して動作の少なくとも一つのパラメータを処理する入力を更に備える、請求項１記載のレート制御器。
【請求項３】
前記少なくとも一つのパラメータが、長期平均ビットレートにおける変化を追跡するために、ＶＢＲレート制御器に対する目標ピークビットレート、目標平均ビットレート、最大量子化スケール、最小量子化スケール、目標量子化スケール、目標バッファスケール、ＶＢＶバッファサイズ、および時定数の少なくとも一つを含む、請求項２記載のレート制御器。
【請求項４】
前記ＶＢＲ制御器の平均ビットレートが前記ビデオ圧縮エンコーダの出力ビットストリームの長期平均ビットレートにおける変動を追跡する、請求項１記載のレート制御器。
【請求項５】
前記ＶＢＲ制御器が前記長期平均ビットレートにおける変動を追跡することに適合される比例積分制御器を備える、請求項４記載のレート制御器。
【請求項６】
前記ＶＢＲ制御器が長期平均ビットレートにおける変化に適合するプログラム可能な時定数を含む、請求項５記載のレート制御器。
【請求項７】
前記ＣＢＲ制御器が、
現在のピクチャのマクロブロックを少なくとも二つの異なるマクロブロックタイプに分類し、各マクロブロックタイプに対してコンプレキシティの統計的指標を計算するよう構成されるピクチャ解析モジュールと、
前記現在のピクチャ内の前記マクロブロックタイプの統計的頻度に基づいて予測されるピクチャコンプレキシティ推定値を形成するよう構成される前記ピクチャ解析モジュールに結合されるコンプレキシティモデルモジュールと、
前記予測されるピクチャコンプレキシティ推定値と一致するビット割り当てを形成するよう適合されるビット割り当てモジュールと、
前記ビット割り当てと一致する量子化ステップサイズを割り当てるよう適合されるピクチャレベルの量子化付与モジュールと、
を備える、請求項１記載のレート制御器。
【請求項８】
前記コンプレキシティの指標がマクロブロックのアクティビティ測定値から計算されるエネルギー値を備える、請求項７記載の制御器。
【請求項９】
前記ビット割り当てモジュールが、
ピクチャの推定コンプレキシティに基づいて理想ビット割り当てを計算するよう構成される理想ビット割り当てモジュールと、
所望のＶＢＶバッファフルネス範囲を維持するために前記理想ビット割り当てを調節するよう構成されるビデオビットストリーム確認（ＶＢＶ）フルネス調節モジュールと、
ＶＢＶコンプライアンスを維持するために前記理想ビット割り当てを調節するよう構成されるＶＢＶコンプライアンス調節モジュールと、
を備える、請求項７記載の制御器。
【請求項１０】
現在のピクチャ内の少なくとも二つの異なるタイプのマクロブロックそれぞれの統計的頻度を決定し、前記少なくとも二つの異なるタイプのマクロブロックそれぞれのコンプレキシティの少なくとも一つの統計的指標を形成するよう構成されるピクチャ解析モジュールと、
前記マクロブロックの統計値に基づいて予測されるピクチャコンプレキシティ推定値を形成するよう構成される前記ピクチャ解析モジュールに結合されるコンプレキシティモデルモジュールと、
前記予測されるピクチャコンプレキシティ推定値と一致するビット割り当てを形成するよう適合されるビット割り当てモジュールと、
前記ビット割り当てと一致する量子化ステップサイズを付与するよう適合されるピクチャレベルの量子化器付与と、
を備える、ビデオ圧縮エンコーダ用の固定ビットレート制御器。
【請求項１１】
前記ビット割り当てモジュールが、
ピクチャの推定コンプレキシティに基づいて理想ビット割り当てを計算するよう構成される理想ビット割り当てモジュールと、
所望のＶＢＶバッファフルネス範囲を維持するために前記理想ビット割り当てを調節するよう構成されるビデオビットストリーム確認（ＶＢＶ）フルネス調節モジュールと、
ＶＢＶコンプライアンスを維持するために前記理想ビット割り当てを調節するよう構成されるＶＢＶコンプライアンス調節モジュールと、
を有する、請求項１０記載の固定ビットレート制御器。
【請求項１２】
前記ピクチャ解析モジュールの前記少なくとも一つの統計的指標が各マクロブロックタイプに対するエネルギー値を備える、請求項１０記載の固定ビットレート制御器。
【請求項１３】
各エネルギー値が、元のピクセル輝度値と平均ピクセル輝度値との間の各マクロブロックタイプの差測定値を含む計算によって決定される、請求項１２記載の固定ビットレート制御器。
【請求項１４】
前記ピクチャ解析モジュールの前記少なくとも一つの統計的指標が、少なくとも一つのマクロブロックタイプに対する時間平均化されたエネルギー推定値を含む、請求項１０記載の固定ビットレート制御器。
【請求項１５】
前記コンプレキシティモデルモジュールが各タイプのマクロブロックのコンプレキシティの測定値、並びに、マクロブロックタイプのコンプレキシティの現行の推定値を生成する、請求項１０記載の固定ビットレート制御器。
【請求項１６】
現在のピクチャに対してマクロブロックタイプの統計的頻度を決定するステップと、
各タイプのマクロブロックのコンプレキシティを示す統計的指標を生成するステップと、
マクロブロックタイプの重み付けされた合計を形成することで予測されるピクチャコンプレキシティを形成するようピクチャコンプレキシティを予測するステップであって、各マクロブロックタイプが統計的頻度および前記統計的指標の値と共に増加する重みを有する、ステップと、
前記予測されるピクチャコンプレキシティと一致するビット割り当てを生成するステップと、
前記ビット割り当てと一致する量子化ステップサイズを付与するステップと、
を含む、ビデオ圧縮エンコーダにおける固定ビットレート（ＣＢＲ）レート制御方法。
【請求項１７】
前記統計的指標を生成するステップが、
元のピクセル輝度値と平均ピクセル輝度値との間で各マクロブロックタイプの差測定値を計算することを含む、請求項１６記載の方法。
【請求項１８】
各マクロブロックタイプに関して、経験的因子によって対応する差測定値をスケーリングし、前記現在のピクチャにおける同じタイプの全てのマクロブロックにわたってスケーリングされた差測定値を平均化するステップを更に含む、請求項１７記載の方法。
【請求項１９】
少なくとも一つのマクロブロックタイプに対して時間平均化されたエネルギー推定値を生成するマクロブロックエージングパラメータを利用するステップを更に含む、請求項１８記載の方法。
【請求項２０】
各タイプのマクロブロックのコンプレキシティの測定値を生成するステップを更に含む、請求項１９記載の方法。
【請求項２１】
マクロブロックタイプのコンプレキシティの現行の推定値を生成するステップを更に含む、請求項１８記載の方法。
【請求項２２】
前記マクロブロックタイプのコンプレキシティの現行の推定値を生成するステップが、現在のピクチャに対するマクロブロックコンプレキシティを先行するピクチャの値と組み合わせるステップを含む、請求項２１記載の方法。
【請求項２３】
前記先行するピクチャの前記値がエージング係数によって重み付けされる、請求項１８記載の方法。
【請求項２４】
ビデオビットストリームコンプライアンスチェックにおいてビット予測のためのイントラエネルギー出力を生成するステップを更に含む、請求項１６記載の方法。
【請求項２５】
現在のピクチャに対する前記イントラエネルギーを測定し、先行するピクチャに対するイントラエネルギーの測定値と組み合わせるステップを更に含む、請求項２４記載の方法。
【請求項２６】
前記先行するピクチャに対する前記イントラエネルギーの前記測定値がピクチャレベルのエージングパラメータによって重み付けされる、請求項２５記載の方法。
【請求項２７】
ピークビットレートおよび選択可能な平均ビットレートを有する可変ビットレート制御器を含むビデオ圧縮エンコーダにおける可変ビットレート制御方法であって、
前記エンコーダの出力ビットストリームの長期平均ビットレートにおける変化を測定するステップと、
前記長期平均ビットレートにおける変化を追跡するために前記可変ビットレート制御器の前記平均ビットレートを調節するステップと、
を含む、方法。
【請求項２８】
前記調節ステップが、時定数に従って前記長期平均ビットレートにおける変化に適合するステップを含む、請求項２７記載の方法。
【請求項２９】
前記調節ステップが、比例積分制御器応答に従って前記長期平均ビットレートにおける変化に適合するステップを含む、請求項２７記載の方法。
【請求項３０】
固定ビットレートエンコーダを用いて第１の量子化ステップサイズを生成するステップと、
可変ビットレートエンコーダを用いて第２の量子化ステップサイズを形成するステップと、
圧縮されたビデオ画像データの量子化で使用する最大量子化ステップサイズを選択するステップと、
を含む、ビデオ圧縮エンコーダにおけるレート制御方法。
【請求項３１】
前記形成ステップが長期平均ビットレートを追跡するステップを含む、請求項３０記載の方法。
【請求項３２】
前記形成ステップが比例積分エンコーダを用いて長期平均ビットレートを追跡するステップを含む、請求項３０記載の方法。
【発明の詳細な説明】
【発明の分野】
【０００１】
[0001]  本発明は、ビデオ圧縮エンコーダのレート制御に一般的に関わる。特に、本発明は、ＭＰＥＧ互換ビデオエンコーディングを含むがこれに制限されないブロックベースのビデオエンコーディングに対する固定ビットレート（ＣＢＲ）および可変ビットレート（ＶＢＲ）制御に関わる。
【発明の背景】
【０００２】
[0002］  ビデオの圧縮は、データ記憶および／または記録されたビデオストリームの送信要件を減らすために一般的に用いられる。例えば、動画エキスパートグループ（ＭＰＥＧ）規格は、幾つかの一般的に用いられるビデオ圧縮規格を定義する。
【０００３】
[0003］  ＭＰＥＧ−1はプログレッシブビデオを対象とし、ビデオ・コンパクト・ディスク（ＶＣＤ）のようなコンパクトディスクにビデオを記憶するために一般的に用いられる。ＭＰＥＧ−１規格は、グループ・オブ・ピクチャ（ＧＯＰ）を定める。従来技術の図１を参照するに、各ＧＯＰはイントラ符号化ピクチャフレームＩから始められる。後のイントラ符号化フレームＰを圧縮するために動き補償予測フィードバックが使用される。双方向予測フレームＢは、先行するおよび後続するＩまたはＰフレームに基づいて動き補償予測を用いて符号化される。ＭＰＥＧ−２は、インターレースビデオコンテンツに対して圧縮サポートを提供する。
【０００４】
[0004］ＭＰＥＧビデオ圧縮は、個々のフレームをそれぞれマクロブロックと呼ばれる領域に分割する。個々のマクロブロックは、隣接するフレームから予測され得る。離散コサイン変換（DCT）がフレームに適用されてフレームが圧縮される。次に、各マクロブロックに対して結果として得られるＤＣＴ係数が量子化される。可変長エンコーダがデータをエンコードするために使用される。
【０００５】
[0005]レート制御器は、所与の画像コンプレキシティに対してビットレートを決定する量子化ステップサイズを選択するために使用される。更に、画像の質は、量子化ステップサイズにも依存する。従来ビットレートＲは、式 R = X / Q にしたがってモデリングされ、このときＸは合計画像コンプレキシティであり、Ｑは量子化ステップサイズである。したがって、ビットレート、量子化ステップサイズ、画像コンプレキシティ、および画像の質は相互関係にある。 
【０００６】
[0006］従来のＭＰＥＧエンコーダが行うビットレート／質のトレード・オフは、望まれるほどよくない。多くの適用法において、従来のＭＰＥＧエンコーダは、特に、リアルタイムシステムで使用されるシングルパスＭＰＥＧに対して十分なレベルの制御を提供しない。
【０００７】
[0007］したがって、ＭＥＰＧエンコーダにおけるレート制御のための改善された装置、システム、および方法が望まれる。
【発明の概要】
【０００８】
[0008］ビデオ圧縮エンコーダ用のプログラム可能なレート制御器が開示される。一実施形態において、プログラム可能なレート制御器は、第１の量子化ステップサイズを生成する可変ビットレートエンコーダ、第２の量子化ステップサイズを生成する固定ビットレートエンコーダ、並びに、最大許容量子化ステップサイズを選択するセレクタを含む。
【０００９】
[0009］可変ビットレート制御器は、目標ピークビットレートおよび目標平均ビットレートを有する。一実施形態において、可変ビットレート制御器は、エンコーダの出力ビットストリームの平均ビットレートが目標平均ビットレートを追跡するよう量子化ステップを調節する。幾つかの実施形態では、比例積分制御技術が選択可能な時定数にしたがって目標平均ビットレートを追跡するために用いられる。
【００１０】
[0010］一実施形態において、固定ビットレート制御器は、現在のピクチャ内のマクロブロックの統計的頻度を決定し、各タイプのマクロブロックのコンプレキシティを示す統計的指標を生成し、マクロブロックタイプの統計的指標およびマクロブロックタイプコンプレキシティの統計的指標を用いてピクチャコンプレキシティを予測し、予測されるピクチャコンプレキシティと一致するビット割り当てを生成し、ビット割り当てと一致する量子化ステップサイズを付与する。
【００１１】
[0011]  本発明は、添付の図面とともに以下の詳細な説明によってより完全に理解されるであろう。
【００１２】
[0019]  幾つかの図面において同様の参照番号は同様の構成要素を示す。
【００１３】
[0020］図２は、本発明の一実施形態によるビデオ圧縮エンコーダ２００のブロック図である。ビデオ圧縮エンコーダは、ビデオ画像を受信し、ビデオ画像をエンコードしてＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４等のブロックベースのビデオ圧縮規格にしたがって出力ビットストリームを生成するよう適合されることは理解されるであろう。
【００１４】
[0021］エンコーダ２００は、ＭＰＥＧ動き推定モジュール２１０、マクロブロック符号化判断モジュール２２０、離散コサイン変換（ＤＣＴ）を実施する変換モジュール２３０、量子化ステップサイズに応じて１マクロブロックに対する圧縮されたＤＣＴ係数を量子化する量子化モジュール２４０、圧縮された画像データを出力ビットストリームにエンコードする可変長エンコードモジュール２５０、および、量子化ステップサイズを選択するプログラム可能なレート制御器２６０を含む。一実施形態では、量子化モジュール２４０は、２から全ての任意の高値、例えば、５１２の値である仮想量子化スケールを含む。エンコーダビデオビットストリーム確認（ＶＢＶ）バッファ（図示せず）はエンコーダに含まれてもよい。ＶＢＶバッファは、潜在的なデコーダバッファのアンダーフローおよびオーバーフロー状況を決定するために用いられるモデル仮定デコーダバッファである。対応するデコーダが悪影響なアンダーフローまたはオーバーフロー状況を受けないようビットストリームがＶＢＶコンプライアンスであることが望ましい。
【００１５】
[0022］プログラム可能なレート制御器２６０は、結果として生ずるデコードされたピクチャのビデオの質に対してエンコーダの短期と長期な出力ビット生成のバランスをとるようプログラムされる。ＭＰＥＧ−１およびＭＰＥＧ−２に関して、このバランスは画像の質を劣化させる悪影響なデコーダバッファ状態（例えば、固定ビットレートエンコーディングに対するアンダーフローまたはオーバーフロー）を回避するよう１マクロブロック毎のＤＣＴ係数の量子化ステップサイズを設定することで実現される。
【００１６】
[0023］一実施形態では、プログラム可能なレート制御器２６０は、可変ビットレート（ＶＢＲ）レート制御器２８０、固定ビットレート（ＣＢＲ）レート制御器２９０、並びに、ＶＢＲレート制御器２８０またはＣＢＲレート制御器２９０のいずれか一方からの出力を選択するセレクタ（図示せず）を含む。一実施形態では、セレクタ５１０は、出力が最も大きい量子化ステップサイズのレート制御器を選ぶ。ＶＢＲレート制御器２８０は、動作の可変ビットレートモードを許可する。ＣＢＲレート制御器２９０は、動作の固定ビットレートモードを許可する。ＣＢＲレート制御器２９０に関して、目標平均と目標ピークビットレートは同じである。ＶＢＲレート制御器２８０に関して、目標平均と目標ピークビットレートは独立して設定される。
【００１７】
[0024］以下により詳細に説明するように、一実施形態ではＣＢＲレート制御器２９０はマクロブロックタイプを分類し、マクロブロックタイプのエネルギー推定値を生成し、マクロブロック統計値からコンプレキシティ推定値を作成し、そこから目標ビットレートが推定される。更に、以下により詳細に説明するように、一実施形態ではＶＢＲレート制御器２８０は、長期にわたって出力ビットストリームの平均ビットレートにおける変化を測定することで、例えば、実際のおよび目標の長期平均ビットレート間の瞬間的または累積的偏差を追跡し、それに応じて目標ビット割り当てを再調整することで目標ビット割り当てを作成する。
【００１８】
[0025］プログラム可能なレート制御器２６０の動作のモード（ＣＢＲまたはＶＢＲ）は、プログラム可能なレート制御器２６０に入力されるパラメータ制約とＣＢＲまたはＶＢＲのいずれか一方を選択するために調整論理回路用に選択される論理的条件に依存する。これにより、例えば、動作のモードは、全体的にＣＢＲ、全体的にＶＢＲまたは、エンコードされているピクチャフレームのコンプレキシティおよび選択される他のパラメータに応じてＣＢＲとＶＢＲの間で往復して切り換えられるよう選択されることが可能となる。その結果、プログラム可能なレート制御器２６０はパラメータ制約の値を選択することで異なるエンコーディング適用に適合される応答を有する。
【００１９】
[0026］プログラム可能なレート制御器２６０は、プログラム可能なレート制御器２６０の機能を調節するためにパラメータを定めるパラメータ選択入力２１５を含む。以下により詳細に説明するように、ビデオビットストリーム確認（ＶＢＶ）バッファの大きさおよびピークレートのようなある制約は、ＭＰＥＧ−２コンプライアンスおよび／または特定の装置、例えば、ＶＣＤまたはＤＶＤプレーヤーでの再生を保障するために選択される。目標長期平均ビットレートのような他の制約は、適用がエンコーディングの前に出力ビットストリームの大きさを予測および／または予め割り当てることができるよう課せられ得る。プログラム可能なレート制御パラメータの実施例は、目標平均ビットレートＲａｖｇ、ビデオビットストリーム確認モデルによって用いられるビットストリームのヘッダで特定される最大ビットレートに対応する最大ビットレートＲｐｅａｋ、平均ビットレートにおける偏差に対してＶＢＲ動作を調整するビットレート時定数τ、ビット単位でのＶＢＶバッファの大きさＢＶＢＶ、ＶＢＲレート制御器によって用いられる全てのマクロブロックに対する目標量子化スケールＱｔａｒｇｅｔ、ＶＢＲレート制御器に対する初期の量子化スケールＱ０、目標ＶＢＲ量子化スケール値に対する下バウンドである最小量子化スケール値Ｑｍｉｎ、およびピクチャに対する目標ＶＢＲ量子化スケール値に対する上バウンドである最大量子化スケール値Ｑｍａｘを含む。更に、ディザ更新期間およびピクチャ重み付け要素のような他のパラメータが選択されてもよい。一実施形態では、固定レートフラグが設定された場合、ピクチャのＶＢＶ遅延フィールドはＭＰＥＧ−２ビットストリームに関して非０ｘＦＦＦＦ値でエンコードされ、それによりゼロ・スタッフィングの真のＭＰＥＧ  ＣＢＲストリームが得られる。ＣＢＲレート制御器またはＶＢＲレート制御器を有効または無効にするために有効／無効信号が含まれてもよいことは理解されるだろう。これら幾つかのパラメータは、ビットレート、量子化ステップサイズ、画質、および画像コンプレキシティの相互関係によって生ずるこれらパラメータを独立して設定することにおける幾つかの関連する制限とともに付録１に更に説明される。
【００２０】
[0027］図３を参照するに、一実施形態ではＣＢＲレート制御器２９０はピクチャ解析モジュール３１０、コンプレキシティモデルモジュール３２０、ビット割り当てモジュール３３０、およびピクチャレベルの量子化付与モジュール３４０を含む。ＣＢＲレート制御器２９０はＮの将来的ピクチャのローリングウィンドウにわたって一貫したビデオの質を得ようとし、このときＮはＧＯＰサイズの倍数である。固定ビットレートの要件は、出力ビットバッファ（ＭＰＥＧコンプライアンスエンコーディングに関してＶＢＶバッファ）におけるオーバーフローおよびアンダーフローを防止することで暗黙のうちに実現される。ＶＢＶビットバッファが１ピクチャ毎に一回、固定レートで満たされるため、ビットストリームは、ＶＢＶバッファがオーバーフローまたはアンダーフローにならない場合はＣＢＲコンプライアンスとなることが保障される。ＣＢＲレート制御器２９０は、現在のピクチャにおける統計値、並びに、前にエンコードされたピクチャにおけるレートと量子化ステップサイズ間の観察された関係に基づいてレートと量子化ステップサイズとの関係を予測する。これらの関係に基づいてビットは、次のＮのピクチャにわたって一定の質を維持することを目的として現在のピクチャに割り当てられる。
【００２１】
[0028］プログラム可能なレート制御器が量子化依存および量子化独立ビットに対して別個のレート量子化モデルを実施することは理解されるであろう。量子化依存ビットは、量子化ステップサイズと直接的に変化するエンコードされたビットである。イントラブロックに関して、量子化依存ビットは、ＡＣ  ＤＣＴ係数のエンコーディングから結果として生ずるビットである。非イントラブロックに関して、量子化依存ビットは、全てのＤＣＴ係数のエンコーディングから結果として生ずるビットである。両方の場合において、量子化依存ビットは、動きベクトル、ヘッダ、およびスキップされたマクロブロックのエンコーディングから結果として生ずるビットを除外している。量子化独立ビットは、ピクチャにおける全ての非量子化依存ビットである。ＣＢＲレート制御器２９０は、各ピクチャタイプに対して独立してピクチャにおける量子化独立ビットの数に対する現行の推定値を作成する。推定値は、単に、同じタイプのピクチャからの量子化依存ビットの過去の合計に対して動作される簡単な一次の無限インパルス応答（ＩＩＲ）フィルタの出力である。
【００２２】
[0029］ピクチャ解析モジュール３１０は、マクロブロックタイプ毎にマクロブロックを分類し、各タイプのマクロブロックをエンコードするために必要なビットの数を示すエネルギー値と呼ばれる統計的測定値を計算する。ピクチャ解析モジュールは、入力画像データ１、動き補償された差画像データ２、およびピクチャiに対するマクロブロック符号化判断データ３を入力として受信する。レート量子化モデルで用いられる幾つかの変数を列挙した表は付録２に含まれる。レート制御器における幾つかの信号の概要は付録３に含まれる。
【００２３】
[0030]一実施形態では、入力画像データ１は、式 {P x, y (i, j); j ∈ J} P x, y (i, j) によって表される各ピクセルの輝度値の形態にあり、ピクチャにおけるマクロブロックインデックスの組Ｊに対する元の入力ピクチャにおけるマクロブロックｊの行ｘおよび列ｙの各ピクセルの輝度値 P x, y (i, j) の組に対応する。一実施形態において、動き補償された差画像データ２は、式 {R x, y (i, j); j ∈ J} によって表され、ピクチャにおけるマクロブロックインデックスの組Ｊに対するピクチャＩの動き補償から得られる差画像におけるマクロブロックｊの行ｘおよび列ｙに対応する各ピクセルの輝度値の組に対応する。
【００２４】
[0031］各入力画像に関して、ピクチャ解析モジュール３１０は、明確なレート量子化特性を有するマクロブロックタイプ毎にマクロブロックを分類する。マクロブロックタイプは、異なる量子化特性を有するマクロブロックの頻度に関する統計値を生成するために分類される。可能なマクロブロックタイプの組は、異なるマクロブロックの組Ｋ（Ｋは少なくとも２つのメンバー）によって特定され、マクロブロック符号化判断モジュール２２０によってレート制御の開始前に行われると仮定されるマクロブロック符号化判断に基づく。組Ｋにおけるマクロブロックタイプの実施例は、Ｉピクチャにおけるイントラブロック、ＰまたはＢピクチャにおけるイントラブロック、双方向動き補償のないＰピクチャにおける非イントラブロック、双方向動き補償のないＢピクチャにおける非イントラブロック、および双方向動きのあるＢピクチャにおける非イントラブロックを含む。
【００２５】
[0032]組Ｋ内の各タイプのマクロブロックの数がカウントされる。一実施形態では、マクロブロックカウント {Ф k (i); k ∈ K} は、以下の式
【００２６】
【数１】
2005192193.tif 000003
【００２７】
にしたがって計算され、このとき、
【００２８】
【数２】
2005192193.tif 000004
【００２９】
であり、Ｊは現在のピクチャにおける各マクロブロックを示すインデックスの組である。次に、カウントはピクチャ中のマクロブロックの合計数によって正規化され、結果として、以下の式
【００３０】
【数３】
2005192193.tif 000005
【００３１】
による関連する発生頻度 {Γk (i); k ∈ K} の組が得られる。
【００３２】
[0033]現在のピクチャに対する頻度測定は、過去の推定値と組み合わされて、以下の式
【００３３】
【数４】
2005192193.tif 000006
【００３４】
によって計算され、現行の頻度推定値
【００３５】
【数５】
2005192193.tif 000007
【００３６】
が生成され、このとき、ｎは現在のピクチャに対するピクチャタイプである。
【００３７】
【数６】
2005192193.tif 000008
【００３８】
はタイプｋのマクロブロックがタイプｍのピクチャにおいて発生する可能性を推定するために用いられる。
【００３９】
[0034］ピクチャ解析モジュール３１０は、所与の量子化ステップサイズで特定のタイプのマクロブロックをエンコードするために必要なビットの数を示す統計的情報も生成する。一実施形態では、ＣＢＲレート制御器２９０は、所与の量子化ステップサイズのマクロブロックタイプをエンコードするために必要なビットの数を示すエネルギー値を計算するために各マクロブロックタイプの平均絶対差（ＭＡＤ）測定値のような差測定値をアクティビティ測定値として用いる。ＭＡＤの実施形態では、比較的大きいＭＡＤ値を有するマクロブロックタイプは小さいＭＡＤ値を有するマクロブロックタイプよりもエンコードするためにより多くのビットを必要とすると考えられる。
【００４０】
[0035]ピクチャｉにおけるインデックスｊを有するイントラマクロブロックに関して、ＭＡＤ値は元の輝度ピクセル
【００４１】
【数７】
2005192193.tif 000009
【００４２】
とマクロブロックの平均ピクセル輝度
【００４３】
【数８】
2005192193.tif 000010
【００４４】
間の平均絶対差として式
【００４５】
【数９】
2005192193.tif 000011
【００４６】
に従って計算され得る。
【００４７】
[0036]ピクチャiにおけるインデックスjを有する非イントラマクロブロックに関して、ＭＡＤ値は値
【００４８】
【数１０】
2005192193.tif 000012
【００４９】
【数１１】
2005192193.tif 000013
【００５０】
に従って計算されてもよい。
【００５１】
[0037]ピクチャ解析モジュール３１０は、ＭＡＤ値を用いて各マクロブロックタイプに対するエネルギー値を計算し、エネルギー値は画像コンプレキシティのおおよその表示を提供するために経験的因子によってＭＡＤ値をスケーリングする。一実施形態において、各マクロブロックタイプに対するエネルギー測定値
【００５２】
【数１２】
2005192193.tif 000014
【００５３】
は、式
【００５４】
【数１３】
2005192193.tif 000015
【００５５】
にしたがって各マクロブロックタイプにおける全てのマクロブロックにわたってＭＡＤ値（β乗にする）を平均化することで計算される。経験的調査から決定されるβの典型的な値はβ＝１．４５である。
【００５６】
[0038]ピクチャ解析モジュール３１０は、コンプレキシティを理解するためにも有用な時間平均化されたエネルギー推定値
【００５７】
【数１２３】
2005192193.tif 000016
【００５８】
も生成する。時間平均化されたエネルギー推定値は、以下の式
【００５９】
【数１４】
2005192193.tif 000017
【００６０】
および
【００６１】
【数１５】
2005192193.tif 000018
【００６２】
にしたがって表される。
【００６３】
[0039]図３を参照するに、一実施形態においてピクチャ解析モジュールはＶＢＶコンプライアンスチェック中のビット予測を改良するためにビット割り当てモジュール３３０によって使用されるイントラエネルギー出力８を生成する。以下により詳細に説明するように、イントラエネルギー出力８は、ピクチャコンプレキシティにおける突然の変化を予期することを補助するためにビット割り当てモジュール３３０によって用いられ、さもなければＶＢＶアンダーフローまたはオーバーフローがもたらされる。ピクチャ解析モジュール３１０は、画像中の各マクロブロックに対する元のピクセルのエネルギーを合計することで現在のピクチャに対するイントラエネルギー
【００６４】
【数１６】
2005192193.tif 000019
【００６５】
を測定する。この測定は、Ｉフレームが典型的には１２乃至１５フレームずつ離れているため有用である。同測定は、先のイントラエネルギー推定値と組み合わされてＩピクチャに対する現在のエネルギー推定値を生成し、以下の一次のＩＩＲフィルタ式
【００６６】
【数１７】
2005192193.tif 000020
【００６７】
を用いて更新され得る。
【００６８】
[0040]コンプレキシティモデルモジュール３２０は、ピクチャ解析モジュール３１０からマクロブロック分類およびエネルギー計算情報を受信し、
【００６９】
【数１８】
2005192193.tif 000021
【００７０】
によって与えられる各マクロブロックタイプに対する相対的な符号化「コンプレキシティ」を計算する。一実施形態では、コンプレキシティモデルモジュール３２０は、式
【００７１】
【数１９】
2005192193.tif 000022
【００７２】
にしたがってマクロブロックタイプｍに対するコンプレキシティをモデリングし、このときb(i,j)およびq(i,j)はそれぞれピクチャｉからマクロブロックｊをエンコードするために使用される量子化依存ビットの数および量子化スケールである。
【００７３】
[0041]コンプレキシティモデルモジュール３２０は、マクロブロックタイプコンプレキシティの推定値も形成する。現在のピクチャに対するマクロブロックコンプレキシティは、過去の値と組み合わされてマクロブロックタイプコンプレキシティに対する現行の推定値
【００７４】
【数２０】
2005192193.tif 000023
【００７５】
を生成する。特定の時間的瞬間に対応するマクロブロックタイプの全てのマクロブロックからの寄与を含む、ピクチャにおける該タイプのマクロブロックの数に比例させるよう特定のピクチャの寄与を特定のマクロブロックタイプに対する現行の平均コンプレキシティ推定値に基づかせる、および、過去のマクロブロックの寄与が時間とともに減少されるよう推定値を統計的にエージングさせるなど、様々な要素がマクロブロックタイプコンプレキシティの現行の推定値を作成するために用いられる。
【００７６】
[0042]一実施形態において、以下の式
【００７７】
【数２１】
2005192193.tif 000024
【００７８】
および
【００７９】
【数２２】
2005192193.tif 000025
【００８０】
がコンプレキシティに対する現行の平均推定値を計算するために使用され、このとき、ｉは現在のピクチャインデックスであり、
【００８１】
【数２３】
2005192193.tif 000026
【００８２】
はマクロブロックタイプｋに関連するエージング要素であり、
【００８３】
【数２４】
2005192193.tif 000027
【００８４】
はマクロブロックタイプｋに対するマクロブロックカウントである。分母の正規化項
【００８５】
【数２５】
2005192193.tif 000028
【００８６】
は一定の入力が一定の出力を生ずることを保障する。
【００８７】
[0043]コンプレキシティモデルモジュール３２０は、以下により詳細に説明するように、目標ビットレートを調整するためにビット割り当てモジュールによって使用されるピクチャのコンプレキシティの推定値を計算する。現在のピクチャの（エンコーディング後に決定される）実際のコンプレキシティ
【００８８】
【数２６】
2005192193.tif 000029
【００８９】
は、式
【００９０】
【数２７】
2005192193.tif 000030
【００９１】
にしたがって個々のマクロブロックのエンコーディングコンプレキシティ
【００９２】
【数２８】
2005192193.tif 000031
【００９３】
から計算され得る。
【００９４】
[0044]予測されるピクチャコンプレキシティは、実際のマクロブロックコンプレキシティ
【００９５】
【数２９】
2005192193.tif 000032
【００９６】
（ピクチャがエンコードされた後まで分からない）に対するマクロブロックコンプレキシティの推定値
【００９７】
【数３０】
2005192193.tif 000033
【００９８】
と置き換えることで計算される。更に、マクロブロックコンプレキシティ推定値は改善された精度のためにスケーリングされる。スケール係数は、実際のマクロブロックエネルギーとマクロブロックエネルギー推定値との比である。したがって、予測されるピクチャコンプレキシティ
【００９９】
【数３１】
2005192193.tif 000034
【０１００】
は、式
【０１０１】
【数３２】
2005192193.tif 000035
【０１０２】
にしたがって計算され、
このとき、ｅ０は小さいエネルギー値の影響を緩和する小さい定数（例えば、０．５）である。
【０１０３】
[0045]時間平均化されたピクチャコンプレキシティは、各ピクチャタイプに対しても推定される。各ピクチャタイプに対するコンプレキシティ
【０１０４】
【数３３】
2005192193.tif 000036
【０１０５】
は、
【０１０６】
【数３４】
2005192193.tif 000037
【０１０７】
にしたがってマクロブロックタイプコンプレキシティおよびその対応する頻度から直接合成される。
【０１０８】
[0046］ビット割り当てモジュール３３０は、コンプレキシティモデルモジュール３２０からコンプレキシティモデルデータ９、ピクチャ解析モジュール３１０からイントラエネルギー推定値８、および可変長エンコーダ２５０からＶＢＶフルネスデータ６を受信する。コンプレキシティモデルデータは、理想目標ビットレートの推定値を生成するために使用され、それは次にＶＢＶフルネスおよびコンプライアンスを許容可能な制限内で維持するためにイントラエネルギー推定値およびＶＢＶフルネスデータを用いて調整される。
【０１０９】
[0047]図４を参照するに、一実施形態においてビット割り当てモジュール３３０は理想ビット割り当てモジュール４１０、ＶＢＶフルネス調節モジュール４２０、およびＶＢＶコンプライアンス調節モジュール４３０を含む。理想ビット割り当てモジュール４１０は、前方ウィンドウのための公称のまたは「理想的な」ビットバジェット
【０１１０】
【数３５】
2005192193.tif 000038
【０１１１】
から開始して実際のＶＢＶフルネスとピクチャ調節された「理想的な」ＶＢＶフルネスとの間の差に基づいて調節して
【０１１２】
【数３６】
2005192193.tif 000039
【０１１３】
を結果として生じさせる。このバジェットは、反復ＶＢＶコンプライアンスチェックの結果により、ＶＢＶアンダーフローを防止するために調節されてもよい。最終的なバジェット
【０１１４】
【数３７】
2005192193.tif 000040
【０１１５】
は、ピクチャに対するビット割り当ておよび後の量子化付与を決定する。
【０１１６】
[0048]一実施形態において、理想ビット割り当てモジュール４１０は、ピクチャiをエンコードした後のタイプｍのピクチャに対する推定コンプレキシティである
【０１１７】
【数３８】
2005192193.tif 000041
【０１１８】
を受信し、Ｍはピクチャタイプ（Ｉ、ＰまたはＢ）の組である。このデータより、理想ビット割り当てモジュール４１０は理想／目標ビット割り当てを生成し、
【０１１９】
【数３９】
2005192193.tif 000042
【０１２０】
は式
【０１２１】
【数４０】
2005192193.tif 000043
【０１２２】
に従う、各ピクチャタイプに対してピクチャiをエンコードする前のタイプｍのピクチャに対する理想／公称ＣＢＲビット割り当てであり、このとき、
【０１２３】
【数４１】
2005192193.tif 000044
【０１２４】
は次のＮのピクチャに対するビットバジェットであり、ｍはピクチャタイプインデックスであり、Ｗｍはタイプｍのピクチャに対する相対的な重み付けを示すパラメータであり、ＮｍはＮのピクチャ（必須ではないが通常はＧＯＰ)のウィンドウ内のタイプｍのピクチャの数である。ビット割り当てはフォワードルッキングローリングウィンドウを用いて１ピクチャ毎に基づいて動的に更新されることに注意する。  
[0049]目標ビット割り当てアルゴリズムは、幾つかの仮定に基づく。第１の仮定は、各ピクチャに対するビット割り当ての合計が全てのピクチャに対する合計ビットバジェットに等しくなくてはならないことである。第２に、全てのピクチャにわたって一定の質のビデオを実現することが望ましいことが仮定され、これはローリングウィンドウにおける全てのピクチャタイプに対して単一の量子化スケール係数を意味する。最後に、各ピクチャタイプに対するビット生成物Ｂｎ、量子化スケール係数Ｑおよび重み付けコンプレキシティ
【０１２５】
【数４２】
2005192193.tif 000045
【０１２６】
間の以下の簡略化された式
【０１２７】
【数４３】
2005192193.tif 000046
【０１２８】
が適用されると仮定される。
【０１２９】
[0050]ＶＢＶフルネス調節モジュール４２０は、目標／理想ビット割り当て、更に、
【０１３０】
【数１２４】
2005192193.tif 000047
【０１３１】
を示す信号を受信し、このときＶＢＶ(i)はピクチャiをエンコードした後のＶＢＶフルネスである。ＣＢＲビット割り当てモジュール３３０は、将来的に「理想」ＶＢＶ(i)フルネスＮピクチャを実現するよう努める。この「理想」ＶＢＶバッファフルネス
【０１３２】
【数４４】
2005192193.tif 000048
【０１３３】
は、エンコーダが指定ＣＢＲビットレートに応じて、および
【０１３４】
【数４５】
2005192193.tif 000049
【０１３５】
の公称または「理想」ビットバジェットを用いる目標ビット割り当てモデルに応じてビットを割り当て、生成するという仮定の下でＶＢＶバッファの安定状態のフルネスを表し、このとき、
【０１３６】
【数４６】
2005192193.tif 000050
【０１３７】
である。（ＣＢＲについて、ピークおよび平均レートが等しいことに注意する）。  
[0051]Ｎの影響は、Ｎが増加するとアログリズムが公称または「理想」ＶＢＶバッファフルネスからの偏差により遅く反応するものである。より大きいＮは、一定の質のビデオとなる機会をより多く与えるが、ＶＢＶアンダーフローになる危険もより高くなる。理想ＶＢＶフルネスが第１のＩフレームをエンコードする直前に指定される場合、理想ＶＢＶフルネス
【０１３８】
【数４７】
2005192193.tif 000051
【０１３９】
は、理想ＩＰＢビット割り当てを用いてローリングウィンドウにおける全ての残留するピクチャに対して決定され得る。したがって、Ｉフレームが１ピクチャ当たり最も多くのビットを通常生成するため、Ｉフレームをエンコードする直前に比較的フルなバッファを割り当てることが望ましい。更に、
【０１４０】
【数４８】
2005192193.tif 000052
【０１４１】
がＮの倍数に対してシフト不変、すなわち、
【０１４２】
【数４９】
2005192193.tif 000053
【０１４３】
であることに注意する。
【０１４４】
[0052]将来的に理想ＶＢＶフルネスNピクチャを実現するためには、ＶＢＶフルネス調節モジュール４２０は、実際のＶＢＶフルネスＶＢＶ（ｉ）と理想フルネス
【０１４５】
【数５０】
2005192193.tif 000054
【０１４６】
との間の差に基づいて、
【０１４７】
【数５１】
2005192193.tif 000055
【０１４８】
の式にしたがって公称の合計ビットバジェット
【０１４９】
【数５２】
2005192193.tif 000056
【０１５０】
を上下に調節してもよい。
【０１５１】
[0053]ビット割り当てモデルにしたがってビットが生成されると仮定して、上述の式は理想ＶＢＶフルネスがNのピクチャにおいて実現されることを確実にする。
【０１５２】
【数５３】
2005192193.tif 000057
【０１５３】
に基づき、レート制御は変更されたビットバジェットに基づいてビット割り当て
【０１５４】
【数５４】
2005192193.tif 000058
【０１５５】
を作成する。
【０１５６】
[0054]ＶＢＶコンプライアンスチェックモジュール４３０は、ＶＢＶアンダーフローが生ずると予想した場合にＶＢＶアンダーフローを防止するために提案された合計ビットバジェット
【０１５７】
【数５５】
2005192193.tif 000059
【０１５８】
を減少させる反復ＶＢＶコンプライアンスチェックを使用する。コンプライアンス処理は、エンコーダが所定の方法でビットを生成するという仮定に基づいて次のＮのピクチャに対してＶＢＶフルネスの将来的なパス
【０１５９】
【数５６】
2005192193.tif 000060
【０１６０】
を予想することでこのタスクを達成する。主として、ＣＢＲアルゴリズムは、ビットが提案されたビット割り当てにしたがって生成されると仮定する。しかしながら、２つの例外がある。特に、レート制御は
【０１６１】
【数５７】
2005192193.tif 000061
【０１６２】
に関してビットが
【０１６３】
【数５８】
2005192193.tif 000062
【０１６４】
にしたがって生成されると仮定し、このとき、ｍｉはピクチャｉに対するピクチャタイプであり、ｉｃｕｒｒは現在のピクチャのインデックスであり、
【０１６５】
【数５９】
2005192193.tif 000063
【０１６６】
は、
【０１６７】
【数６０】
2005192193.tif 000064
【０１６８】
であるスケール係数である。
コンプライアンスアルゴリズムは、
【０１６９】
【数６１】
2005192193.tif 000065
【０１７０】
を
【０１７１】
【数６２】
2005192193.tif 000066
【０１７２】
に初期化し、
【０１７３】
【数６３】
2005192193.tif 000067
【０１７４】
にしたがって更新する。
【０１７５】
[0055]ある時点で
【０１７６】
【数６４】
2005192193.tif 000068
【０１７７】
が特定の最小閾値ＶＢＶminより下になると、アルゴリズムは、次の更新手順
【０１７８】
【数６５】
2005192193.tif 000069
【０１７９】
に基づいてビット割り当てを減少させ、このとき、
【０１８０】
【数６６】
2005192193.tif 000070
【０１８１】
はＶＢＶアンダーフローを生じさせると予想される将来的ピクチャインデックスである。一旦合計ビットバジェットが減少されると、ＣＢＲアルゴリズムは減少されたビット割り当て
【０１８２】
【数６７】
2005192193.tif 000071
【０１８３】
を用いてＶＢＶコンプライアンスチェックを繰り返す。
【０１８４】
【数６８】
2005192193.tif 000072
【０１８５】
に対する式は、
【０１８６】
【数６９】
2005192193.tif 000073
【０１８７】
が
【０１８８】
【数７０】
2005192193.tif 000074
【０１８９】
に等しいという制約を課すことで導出される。
【０１９０】
[0056]ＶＢＶコンプライアンス調節の出力１０は、ビットバジェット
【０１９１】
【数７１】
2005192193.tif 000075
【０１９２】
および次のＮのピクチャにわたってＶＢＶアンダーフローを回避すると予想される対応するビット割り当て
【０１９３】
【数７２】
2005192193.tif 000076
【０１９４】
である。このビット割り当てを用いて、量子化モジュール２４０は、式
【０１９５】
【数７３】
2005192193.tif 000077
【０１９６】
を用いて現在のピクチャに対する目標量子化ステップサイズを生成してもよく、このときｍｉはピクチャｉのピクチャタイプである。
【０１９７】
[0057］エンコードする前、名目上は実の値である各マクロブロックに対する目標量子化スケールはＭＰＥＧと互換性をもたせるために整数に変換されなくてはならない。ディザアルゴリズムは、指定された更新レートで翻訳を実施してもよい。
【０１９８】
[0058]図５を参照するに、一実施形態においてプログラム可能なレート制御器２６０はＣＢＲレート制御器２９０およびコアＶＢＲレート制御器２８０を含む。ＣＢＲレート制御器２９０およびコアＶＢＲレート制御器２８０は、ビットレートの独自の計算を行い、選択モジュール５１０は２つのビットレートの最大の方を選択する。最終ＶＢＲ量子化スケールＱＶＢＲが２つの提案された値のうち大きい方として選択される
【０１９９】
【数７４】
2005192193.tif 000078
【０２００】
[0059]一実施形態において、コアレート制御器２８０は長期平均ビットレートを追跡することで各ピクチャに対する目標ビット割り当て
【０２０１】
【数７５】
2005192193.tif 000079
【０２０２】
を作成する。様々な追跡技法が用いられてもよい。これらは、例えば、ビットレートにおける短期的偏差をフィルタ除去する一方で長期平均ビットレートがグループ・オブ・ピクチャ内の後のピクチャに対してゆっくりと変化することを可能にするフィルタを含んでもよい。一つの好適な追跡技法は、応答の性質を決定する時定数を入力することで選択可能となる応答を選択するために比例積分制御技法を使用することである。
【０２０３】
[0060]図６は、長期平均ビットレートを追跡するために二次の比例積分（ＰＩ）制御器を有するコアＶＢＲレート制御器２８０のモデルを示すブロック図である。平均ビットレートＢａｖｇと実際のビットレートＢａｃｔｕａｌとの間のビットレートの差Ｂｄｅｌｔａは、長期平均ビットレートを調整するために入力として用いられる。目標ＶＢＲビットレートは、
【０２０４】
【数７６】
2005192193.tif 000080
【０２０５】
によって得られ、このとき
【０２０６】
【数７７】
2005192193.tif 000081
【０２０７】
は瞬間的ビットレート偏差を表し、
【０２０８】
【数７８】
2005192193.tif 000082
【０２０９】
によって得られ、
【０２１０】
【数７９】
2005192193.tif 000083
【０２１１】
は累積ビットレート偏差を表し、
【０２１２】
【数８０】
2005192193.tif 000084
【０２１３】
によって得られ、
【０２１４】
【数８１】
2005192193.tif 000085
【０２１５】
はピクチャ
【０２１６】
【数８２】
2005192193.tif 000086
【０２１７】
に対してエンコーダによって生成される実際のビットであり、
【０２１８】
【数８３】
2005192193.tif 000087
【０２１９】
は
【０２２０】
【数８４】
2005192193.tif 000088
【０２２１】
である。
【０２２２】
[0061]これら更新式は結果として、
【０２２３】
【数８５】
2005192193.tif 000089
【０２２４】
によって得られる開ループ伝達関数を生ずる。
【０２２５】
[0062]目標ビット割り当ては、
【０２２６】
【数８６】
2005192193.tif 000090
【０２２７】
にしたがってコアＶＢＲアルゴリズム
【０２２８】
【数８７】
2005192193.tif 000091
【０２２９】
に対する提案された量子化スケールを導出するために使用され、このときＸ０はＸ０＝Ｑ０・Ｂａｖｇによって得られるコンプレキシティの公称の測定値を表し、Ｑ０は初期の所望の量子化スケールに対応する。この式は、量子化選択と、量子化並びに可変長エンコーディングによって生成される出力ビットとの間の逆関係をモデリングする。
【０２３０】
[0063]図７に示すように、レート量子化モデル
【０２３１】
【数８８】
2005192193.tif 000092
【０２３２】
が正確な場合、
【０２３３】
【数８９】
2005192193.tif 000093
【０２３４】
と量子化並びに可変長エンコーディングブロックは互いを相殺し、すなわち、
【０２３５】
【数９０】
2005192193.tif 000094
【０２３６】
となり、ＶＢＲレート制御器モデルは
【０２３７】
【数９１】
2005192193.tif 000095
【０２３８】
のフィードバック伝達関数
【０２３９】
【数９２】
2005192193.tif 000096
【０２４０】
で従来の線形フィードバック制御システムに還元される。一次システムに関して、
【０２４１】
【数９３】
2005192193.tif 000097
【０２４２】
および
【０２４３】
【数９４】
2005192193.tif 000098
【０２４４】
は
【０２４５】
【数９５】
2005192193.tif 000099
【０２４６】
にしたがって所望の時定数τから直接決定され得る。
二次制御に関して、一次システムからのポール
【０２４７】
【数９６】
2005192193.tif 000100
【０２４８】
を単に複製し、
【０２４９】
【数９７】
2005192193.tif 000101
【０２５０】
および
【０２５１】
【数９８】
2005192193.tif 000102
【０２５２】
により導かれるＰＩ係数が結果として得られる。
【０２５３】
[0064]双一次変換を用いて、フィードバック伝達関数
【０２５４】
【数９９】
2005192193.tif 000103
【０２５５】
はラプラスドメインにマッピングされ、結果として生ずる伝達関数を従来のアナログ二次ＰＩ制御システム（サンプリングレートが関心周波数範囲と比較して相当大きいという追加的な仮定の下）の閉ループ伝達関数と同等にする。このマッピングは、
【０２５６】
【数１００】
2005192193.tif 000104
【０２５７】
【数１０１】
2005192193.tif 000105
【０２５８】
および
【０２５９】
【数１０２】
2005192193.tif 000106
【０２６０】
によって得られるダンピングされていない自然周波数
【０２６１】
【数１０３】
2005192193.tif 000107
【０２６２】
時定数
【０２６３】
【数１０４】
2005192193.tif 000108
【０２６４】
ダンピング要素
【０２６５】
【数１０５】
2005192193.tif 000109
【０２６６】
のような従来の線形制御システムパラメータに対する推定値の計算を可能にする。
【０２６７】
[0065］本発明のレート制御器の一つの利点は、小さい時間遅延を必要とする実時間適用法にも使用され得る点である。特に、レートエンコーダは、ＶＢＶオーバーフローおよびアンダーフローを回避するために十分に高い精度でピクチャのコンプレキシティを推定するために計算上効率的なシングルパスレートエンコーダ、すなわち、データの多数の繰り返しを必要としないレートエンコーダとして実行されてもよい。
【０２６８】
[0066］本発明の別の利点は、レートと質の間の柔軟なトレード・オフを実現するために特定の用途の必要性に対してパラメトリック制約が設定され得る点である。ＲｐｅａｋおよびＢＶＢＶは、ＶＢＶコンプライアンス出力ビットストリームを確実にするよう設定される。多くの適用法では、これらの値はビットストリームを再生するためにどのクラスのデコーダが保障されるかを決定する。例えば、ＤＶＤに対する最大適合値はＲｐｅａｋ＝９．８ＭｂｓとＢＶＢＶ＝１，８３５，００８ビットに対応する。同様にして、ＭＰＥＧ−１に対する制約されたパラメータ制限は、Ｒｐｅａｋ＝１．８５６ＭｂｓとＢＶＢＶ＝３２７，６８０ビットである。
【０２６９】
[0067］一実施例として、レート制御器は最高の質を提供するために一定の質モードに設定され得る。この場合、Ｑｔａｒｇｅｔは、所望の質レベルに設定される。Ｒｐｅａｋ、ＢＶＢＶおよびＶＢＶコンプライアンスフラグは、ＶＢＶコンプライアンスが望まれる場合に適宜設定される。しかしながら、一定の質の欠点は、ファイルの大きさが予測不可能な点である。
【０２７０】
[0068］別の動作のモードにおいて、所定のファイルの大きさに対して最良の質が選択される。一実施形態において、この動作のモードに対する設定は、Ｒａｖｇを長期平均ビットレート目的値に設定すること、時定数τを全ての所与のコンプレキシティの最長の予想されたシーンよりもτが好ましくは長いよう質に対する短期ビットレート生成の影響を最小化するために大きい値に設定すること、Ｑ０をＶＢＲアルゴリズムに対して適当な初期値に設定すること、Ｑｍｉｎをエンコーダが平均ビットレート目的値を維持するために簡単なコンテンツに対して過度にビットを生成しないよう適当な値に設定すること、Ｑｍａｘをエンコーダが平均ビットレート目的値を維持するためにコンプレックスシーンを過度に量子化しないよう適当な値に設定すること、並びに、Ｒｐｅａｋ、ＢＶＢＶおよびＶＢＶコンプライアンスフラグをＶＢＶコンプライアンスを可能にするよう設定することを含む。この動作のモードの利点は、所定のファイルの大きさに対して最良の質を提供する点である。しかしながら、シーンの長さが指定されたＶＢＲ時定数よりも長い場合に中および高コンプレキシティシーンが同じ数のビットとなるといった欠点を有する。
【０２７１】
[0069]別の動作のモードは、真のＣＢＲビデオモードである。このモードに対する設定は、Ｒｐｅａｋを所望のビットレートに設定すること、固定レートフラグを真に設定すること、および、ＢＶＢＶとＶＢＶコンプライアンスフラグをＶＢＶコンプライアンスに適当に設定することを含む。このモードの利点は、ＶＣＤに書き込まれ得る真のＣＢＲビデオを提供する点である。しかしながら、欠点は、他のモードに比べてビデオの質が低いといった点である。ＶＣＤに対するＣＢＲビデオモードの実施例として、設定は
【０２７２】
【数１０６】
2005192193.tif 000110
【０２７３】
並びに
【０２７４】
【数１０７】
2005192193.tif 000111
【０２７５】
に設定され、固定レートフラグを真に設定する。
【０２７６】
[0070]コンパクトディスクに
【０２７７】
【数１０８】
2005192193.tif 000112
【０２７８】
および
【０２７９】
【数１０９】
2005192193.tif 000113
【０２８０】
で焼き付ける実施例を考える。
【０２８１】
【数１１０】
2005192193.tif 000114
【０２８２】
は
【０２８３】
【数１１１】
2005192193.tif 000115
【０２８４】
に等しくなくてもよく、媒体の記憶容量およびソースコンテンツの持続時間によって決定され、完全なビデオの質でディスクに入るようレートの折り合いが付けられなくてはならない。固定レートフラグは、この場合偽に設定される。この場合、
【０２８５】
【数１１２】
2005192193.tif 000116
【０２８６】
を指定する自由はあるが、（レート制御アルゴリズムが
【０２８７】
【数１１３】
2005192193.tif 000117
【０２８８】
を実現することを防止する可能性があるため）
【０２８９】
【数１１４】
2005192193.tif 000118
【０２９０】
にはない。
【０２９１】
[0071]パーソナルビデオレコーダ（ＰＶＲ）に関して、圧縮されたＭＰＥＧファイルを記憶するハードドライブメモリ記憶容量が大きいと仮定すると
【０２９２】
【数１１５】
2005192193.tif 000119
【０２９３】
に対する制約は厳しくない。
【０２９４】
【数１１６】
2005192193.tif 000120
【０２９５】
【数１１７】
2005192193.tif 000121
【０２９６】
および
【０２９７】
【数１１８】
2005192193.tif 000122
【０２９８】
を選ぶことにより大きい自由が存在する。
【０２９９】
【数１１９】
2005192193.tif 000123
【０３００】
に対する制約が緩やかであるため、
【０３０１】
【数１２０】
2005192193.tif 000124
【０３０２】
および
【０３０３】
【数１２１】
2005192193.tif 000125
【０３０４】
を指定するための自由が存在する。大型のハードドライブに関して、質はレートよりも効果的に勝り、即ち、ビデオの質を劣化させるよりも
【０３０５】
【数１２２】
2005192193.tif 000126
【０３０６】
を超える方が好ましいと考えられる。
【０３０７】
[0072］図８は、デュアル・モードＶＢＲ/ＣＢＲ動作に対する量子化ステップサイズの典型的なプロット図である。本実施例において、エンコーダはＣＢＲモードで動作し、より複雑なシーンについてモードをＶＢＲにシフトする。
【０３０８】
[0073］したがって、これらの実施例より、本発明のビデオ圧縮エンコーダは、ビデオ圧縮エンコーダが異なる制約、例えば、ＣＤ、ＰＶＲ等に焼き付けるような用途に使用される適用法において特に有益であることが理解されるであろう。
【０３０９】
[0074］プログラム可能なレート制御器２６０およびエンコーダ２００がハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実行されてもよいことは理解されるであろう。その結果、本発明のソフトウェア実施形態は、様々なコンピュータ実行動作を実施するためのコンピュータコードを有するコンピュータ読み取り可能媒体を含むコンピュータ記憶製品に関わる。媒体およびコンピュータコードは、本発明の目的に特別に設計され構成されたものでもよく、または、コンピュータソフトウェア技術に熟練しているものに周知であり利用可能な種類でもよい。コンピュータ読み取り可能媒体の実施例は、ハードディスク、フロッピーディスク、磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびホログラフィック装置のような光媒体、フロプティカルディスクのような光磁気媒体、並びに、特定用途向け集積回路（「ＡＳＩＣ」）、プログラム可能論理回路（「ＰＬＤ」）およびＲＯＭおよびＲＡＭ装置のようなプログラムコードを記憶し実行するよう特別に構成されたハードウェア装置を含むがこれらに制限されない。コンピュータコードの実施例は、コンパイラより生成されるマシンコード、および、インタープリタを用いてコンピュータによって実行される高水準コードを含むファイルである。例えば、本発明の実施形態は、Ｊａｖａ、Ｃ＋＋または他のオブジェクト指向プログラミング言語および開発ツールを用いて実行され得る。本発明の別の実施形態は、マシン実行可能ソフトウェア指示の代わりにまたはそれと組み合わされてハードワイヤード回路で実行され得る。
【０３１０】
[0075]説明目的のため前述の説明は本発明の完全な理解を提供するために特定の専門用語を用いている。しかしながら、特定の詳述が本発明を実施するために必要でないことは当業者には明らかであろう。したがって、本発明の特定の実施形態の前述の説明は、例示および説明目的のために提供される。それらは、網羅的でなく、本発明を開示される明確な形態に制限することも意図せず、多数の変更態様および変形例が上述の教示を鑑みて可能となることは明らかであろう。実施形態は、本発明の原理およびその実際的な適用法を最もよく説明するために選ばれ説明されているため、他の当業者が検討される特定の使用に適すよう本発明および様々な実施形態を様々な変更態様とともに最適に利用することを可能にする。添付の特許請求の範囲およびその等価物は本発明の範囲を定めるものである。
【０３１１】
【表１】
2005192193.tif 000127
【０３１２】
【表２】
2005192193.tif 000128
【０３１３】
2005192193.tif 000129
【０３１４】
【表３】
2005192193.tif 000130
【図面の簡単な説明】
【０３１５】
【図１】本発明は、ＭＰＥＧグループ・オブ・ピクチャ（ＧＯＰ）を示す従来技術の図である。
【図２】本発明の一実施形態によるビデオ圧縮エンコーダのブロック図である。
【図３】本発明の一実施形態によるＣＢＲレート制御器のブロック図である。
【図４】本発明の一実施形態によるＣＢＲビット割り当て部のブロック図である。
【図５】本発明の一実施形態によるデュアルＣＢＲ／ＶＢＲレート制御器のブロック図である。
【図６】本発明の一実施形態によるコアＶＢＲレート制御器のブロック図である。
【図７】一組の条件に対するＶＢＲレート制御器の等価モデルのブロック図である。
【図８】デュアルＶＢＲ／ＣＢＲレート制御器に対する典型的な量子化ステップサイズの挙動を示すプロット図である。
【符号の説明】
【０３１６】
１…入力画像データ。２…動き補償された差画像データ、３…マクロブロック符号化判断データ３、６…ＶＢＶフルネスデータ、８…イントラエネルギー出力、９…コンプレキシティモデルデータ、１０…ＶＢＶコンプライアンス調節の出力、２００…エンコーダ、２１０…ＭＰＥＧ動き推定モジュール、２１５…パラメータ選択入力、２２０…マクロブロック符号化判断モジュール、２３０…変換モジュール、２４０…量子化モジュール、２５０…可変長エンコードモジュール、２６０…プログラム可能なレート制御器、２８０…可変ビットレート（ＶＢＲ）レート制御器、２９０…固定ビットレート（ＣＢＲ）レート制御器、３１０…ピクチャ解析モジュール、３２０…コンプレキシティモデルモジュール、３３０…ビット割り当てモジュール、３４０…ピクチャレベルの量子化付与モジュール、４１０…理想ビット割り当てモジュール、４２０…ＶＢＶフルネス調節モジュール、４３０…ＶＢＶコンプライアンス調節モジュール、５１０…セレクタ。
【図１】
2005192193.tif 000131
【図２】
2005192193.tif 000132
【図３】
2005192193.tif 000133
【図４】
2005192193.tif 000134
【図５】
2005192193.tif 000135
【図６】
2005192193.tif 000136
【図７】
2005192193.tif 000137
【図８】
2005192193.tif 000138
【外国語明細書】
2005192193000001.pdf