(57)【特許請求の範囲】
【請求項１】
ビデオ圧縮および符号化システムでレート歪みを制御するための方法であって、
所望の歪み値に近い歪み値Ｄを選択するステップと、
前記歪み値Ｄを用いて量子化値Ｑを決定するステップと、
前記量子化値Ｑを用いてラグランジュ乗数λを計算するステップと、
前記ラグランジュ乗数λおよび前記量子化値Ｑに基づいてラグランジュ関数を最小化する符号化モードを選択するステップと、
前記選択された符号化モードを用いて画素ブロックを符号化するステップと、
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させるステップとから構成されることを特徴とする方法。
【請求項２】
前記量子化値Ｑが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに有することを特徴とする請求項１に記載の方法。
【請求項３】
前記ラグランジュ乗数λは、前記量子化値Ｑに応じた量だけ増加または減少するステップをさらに有することを特徴とする請求項１に記載の方法。
【請求項４】
ビデオ圧縮および符号化システムでレート歪みを制御するための方法であって、
所望の歪み値に近い歪み値Ｄを選択するステップと、
前記歪み値Ｄを用いて量子化値Ｑを決定するステップと、
前記量子化値Ｑを用いてラグランジュ乗数λを計算するステップと、
前記ラグランジュ乗数λおよび前記量子化値Ｑに基づいてラグランジュ関数を最小化する符号化モードを選択するステップと、
前記選択された符号化モードを用いて画素ブロックを符号化するステップと、
少なくとも１つのビデオ画像に対して、その少なくとも１つのビデオ画像に対する符号化雑音の可視性を表すビジュアル・マスク値Ｍを計算するステップと、
前記ビジュアル・マスクＭ×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より大きいとき、前記量子化値Ｑを増加させるステップとから構成されることを特徴とする方法。
【請求項５】
前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Ｑに依存することを特徴とする請求項４に記載の方法。
【請求項６】
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させるステップとをさらに有することを特徴とする請求項４に記載の方法。
【請求項７】
前記量子化値Ｑが調整された場合に、前記ラグランジュ乗数λを再計算するステップをさらに有することを特徴とする請求項６に記載の方法。
【請求項８】
少なくとも１つのプロセッサによってレート歪みを制御するためのコンピュータ・プログラムが実行されるとき、前記少なくとも１つのプロセッサに実行させる前記コンピュータ・プログラムを格納するコンピュータ可読媒体であって、
前記コンピュータ・プログラムは、
所望の歪み値に近い歪み値Ｄを選択する命令と、
前記歪み値Ｄを用いて量子化値Ｑを決定する命令と、
前記量子化値Ｑを用いてラグランジュ乗数λを計算する命令と、
前記ラグランジュ乗数λおよび前記量子化値Ｑに基づいてラグランジュ関数を最小化する符号化モードを選択する命令と、
前記選択された符号化モードを用いて画素ブロックを符号化する命令と、
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させる命令と、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させる命令とを有することを特徴とするコンピュータ可読媒体。
【請求項９】
前記量子化値Ｑが調整される場合に、前記ラグランジュ乗数λを再計算する命令を前記少なくとも１つのプロセッサに実行させることを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記ラグランジュ乗数λが前記量子化値Ｑに応じた量だけ増加または減少することを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１１】
少なくとも１つのプロセッサによってレート歪みを制御するためのコンピュータ・プログラムが実行されるとき、前記少なくとも１つのプロセッサに実行させる前記コンピュータ・プログラムを格納するコンピュータ可読媒体であって、
前記コンピュータ・プログラムは、
所望の歪み値に近い歪み値Ｄを選択する命令と、
前記歪み値Ｄを用いて量子化値Ｑを決定する命令と、
前記量子化値Ｑを用いてラグランジュ乗数λを計算する命令と、
前記ラグランジュ乗数λおよび前記量子化値Ｑに基づいてラグランジュ関数を最小化する符号化モードを選択する命令と、
前記選択された符号化モードを用いて画素ブロックを符号化する命令と、
少なくとも１つのビデオ画像に対して、その少なくとも１つのビデオ画像に対する符号化雑音の可視性を表すビジュアル・マスク値Ｍを計算する命令と、
前記ビジュアル・マスクＭ×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より大きいとき前記量子化値Ｑを増加させる命令を有することを特徴とするコンピュータ可読媒体。
【請求項１２】
前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Ｑに依存することを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させる命令と、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させる命令とを前記少なくとも１つのプロセッサに実行させることを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１４】
前記量子化値Ｑが調整された場合に、前記ラグランジュ乗数λを再計算する命令を前記少なくとも１つのプロセッサに実行させることを特徴とする請求項１３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本出願では、「ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置」（Ｍｅｔｈｏｄ  ａｎｄ  ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｃｏｎｔｒｏｌ  ｏｆ  Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  Ｔｒａｄｅｏｆｆ  ｂｙ  Ｍｏｄｅ  Ｓｅｌｅｃｔｉｏｎ  ｉｎ  Ｖｉｄｅｏ  Ｅｎｃｏｄｅｒｓ）という名称の２００２年１１月７日出願の米国仮特許出願番号６０／４２４，７３８号（特許文献１）、および「ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置」（Ｍｅｔｈｏｄ  ａｎｄ  ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｃｏｎｔｒｏｌ  ｏｆ  Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  Ｔｒａｄｅｏｆｆ  ｂｙ  Ｍｏｄｅ  Ｓｅｌｅｃｔｉｏｎ  ｉｎ  Ｖｉｄｅｏ  Ｅｎｃｏｄｅｒｓ）という名称の２００３年７月７日出願の米国非仮特許出願番号１０／６１５１１７号（特許文献２）の利益を主張する。
【０００２】
（技術分野）
本発明は、マルチメディア圧縮および符号化システムの分野に関する。より詳細には、本発明は、デジタル・ビデオ・エンコーダのレート歪みトレードオフを制御するための方法およびシステムを開示する。
【背景技術】
【０００３】
デジタル・ベースの電子媒体フォーマットは、完全に従来のアナログ電子媒体フォーマットにとって代わっている。オーディオの分野では、デジタル・コンパクト・ディスク（ＣＤ）が何年も前にアナログのビニール・レコードに取って代わっている。アナログ磁気カセット・テープはますます珍しくなりつつある。現在では、ミニディスクおよびＭＰ３（ＭＰＥＧオーディオ・レイヤ３）ベースのフォーマットなどの第２および第３世代デジタル・オーディオ・システムはコンパクト・ディスクという第１世代デジタル・オーディオ・フォーマットから市場のシェアを奪いつつある。
【０００４】
フィルム・ベースのスチル写真はデジタル・スチル写真によって急速に取って代わられつつある。インターネットを介した映像の即時入手可能性と映像配信はユーザに魅力ある機能を提供する。
しかし、オーディオおよび静止画像と比較して、映像の分野はデジタル記憶および伝送フォーマットへの移行に関して遅れている。これは、主として、映像をデジタル形式で正確に表現するのに必要なデジタル情報の量が膨大であることが理由である。映像を正確に表現するのに必要な膨大なデジタル情報の量は、大容量のデジタル記憶システムおよび高帯域幅伝送システムを必要とする。
【０００５】
そうであっても、映像の分野はデジタル記憶および伝送フォーマットを最終的に採用する。高速コンピュータ・プロセッサ、高密度記憶システム、高帯域幅光伝送回線、および新しい効率的なビデオ符号化アルゴリズムが、最終的に消費者の価格帯でデジタル・ビデオ・システムを実現した。デジタル・ビデオ・システムであるＤＶＤ（デジタル多用途ディスク）はこれまでに最も売れ行きがよかった消費者向け電子製品の１つである。ＤＶＤは、その並外れた映像品質、高品質の５．１チャネル・デジタル音声、利便性、およびその他の機能によって、選択される実施形態では、事前記録されたビデオ再生システムとして、ビデオカセット・レコーダ（ＶＣＲ）に急速に取って代わりつつある。映像伝送システムの分野では、廃れたアナログＮＴＳＣ（国内テレビジョン標準委員会）の映像伝送標準は、デジタル圧縮および符号化技術を使用するデジタルＡＴＳＣ（先進テレビジョン標準委員会）の映像伝送システムに最終的に取って代わられつつある。
【０００６】
コンピュータ・システムは何年もの間、さまざまな異なるデジタル・ビデオ符号化フォーマットを使用してきた。コンピュータ・システムによって使用されてきた最良のデジタル・ビデオ圧縮および符号化システムには、頭字語ＭＰＥＧで一般に周知である動画映像専門家グループ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）が支援するデジタル・ビデオ・システムが含まれる。ＭＰＥＧの３つの最も知られ、使用されているデジタル・ビデオ・フォーマットは、ＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＥＧ−４である。ビデオＣＤおよび消費者グレードのデジタル・ビデオ編集システムは初期のＭＰＥＧ−１フォーマットを使用する。デジタル多用途ディスク（ＤＶＤ）およびディッシュ・ネットワーク・ブランドの直接放送衛星（ＤＢＳ）テレビジョン放送システムは、ＭＰＥＧ−２デジタル・ビデオ圧縮および符号化システムを使用する。ＭＰＥＧ−４符号化システムは、最新のコンピュータ・ベースのデジタル・ビデオ・エンコーダおよびそれに関連するデジタル・ビデオ・プレーヤに急速に採用されつつある。
【０００７】
ＭＰＥＧ−２およびＭＰＥＧ−４標準は、一連のビデオ・フレームまたはビデオ・フィールドを圧縮し、次に、圧縮されたフレームまたはフィールドをデジタル・ビットストリームに符号化する。デジタル・ビットストリームのレートは、メモリ・バッファのオーバフロー、メモリ・バッファのアンダフロー、または伝送チャネル容量の超過を起こさないように慎重に監視しなければならない。こうして、バッファのオーバフローまたはアンダフローを起こさずに割り当てられたチャネル容量内で可能な最良の画像品質を提供するデジタル・ビデオ・エンコーダで最新の速度制御システムを実施しなければならない。
【特許文献１】米国仮特許出願番号６０／４２４，７３８号
【特許文献２】米国非仮特許出願番号１０／６１５１１７号
【発明の開示】
【０００８】
ビデオ・エンコーダのモード選択によるレート歪みトレードオフの制御方法および装置を開示する。
【０００９】
本発明のシステムは、最初に所望の歪み値に近い歪み値Ｄを選択する。次に、システムは選択した歪み値Ｄを用いて量子化値Ｑを決定する。次に、システムは量子化値Ｑを用いてラグランジュ乗数λを計算する。選択したラグランジュ乗数λおよび量子化値Ｑを用いて、システムは画素ブロックの符号化を開始する。
システムが潜在的なバッファ・オーバフローを検出すると、システムはラグランジュ乗数λを増加させる。潜在的なバッファ・オーバフローは、メモリ・バッファ占有値がオーバフローしきい値を超えると検出できる。ラグランジュ乗数λが最大λしきい値を超えると、システムは量子化値Ｑを増加させる。
【００１０】
システムが潜在的なバッファ・アンダフローを検出すると、システムはラグランジュ乗数λを減少させる。潜在的なバッファ・アンダフローは、メモリ・バッファ占有値がバッファ・アンダフローしきい値を下回ると検出できる。ラグランジュ乗数λが最小λしきい値を下回ると、システムは量子化値Ｑを減少させる。
本発明のその他の目的、特徴、および利点は、添付の図面と以下の詳細な説明から明らかになるだろう。
当業者なら、本発明の上記目的、特徴、および利点は、下記の詳細な説明を読めば明らかになるだろう。
【００１１】
（図面の簡単な説明）
図１は、１つの可能なデジタル・ビデオ・エンコーダ・システムの高レベル・ブロック図である。
図２は、異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す順序で画像が表示される一連のビデオ画像を示す図である。
図３は、異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す好ましいビデオ画像の送信順序で図２の画像を再配列した一連のビデオ画像を示す図である。
図４は、量子化Ｑの値が異なるごとに１本の曲線で描いたＲ、Ｄ曲線のファミリを示すグラフである。
【発明を実施するための最良の形態】
【００１２】
ビデオ・エンコーダのモード選択によるレート歪みトレードオフを制御する態様を以下に開示する。以下の説明では、説明を分かりやすくするために、特定の命名法を用いて本発明の完全な理解を図る。しかし、本発明を実施する際にこれらの特定の詳細な内容が必要ではないことは当業者には明らかであろう。例えば、本発明をＭＰＥＧ−４  Ｐａｒｔ  １０（Ｈ．２６４）マルチメディア圧縮および符号化システムに関して記載している。しかし、他のタイプの圧縮および符号化システムにも同じ技法を容易に適用することができる。
マルチメディア圧縮および符号化の概要
【００１３】
図１は、当技術分野で周知の典型的なデジタル・ビデオ・エンコーダ１００の高レベル・ブロック図である。デジタル・ビデオ・エンコーダ１００はブロック図の左側で着信ビデオ・ストリーム１０５を受信する。各ビデオ・フレームは離散コサイン変換（ＤＣＴ）ユニット１１０によって処理される。ビデオ・フレームは、動き予測ユニット１６０を用いて、独立して処理でき（イントラフレーム）、または他のフレームからの情報に関連して処理できる（インターフレーム）。次に、量子化（Ｑ）ユニット１２０は離散コサイン変換ユニット１１０からの情報を量子化する。次に、量子化されたフレームはエントロピー・エンコーダ（Ｈ）ユニット１８０によって符号化され、符号化されたビデオ・ビットストリームを生成する。
【００１４】
インターフレーム符号化されたビデオ・フレームは他の近くのビデオ・フレームに関連して定義されるので、デジタル・ビデオ・エンコーダ１００は、インターフレームが符号化できるように、参照されたデジタル・ビデオ・フレームがデジタル・ビデオ・デコーダ内でどのように表示されるかの正確な複製を作成する必要がある。こうして、デジタル・ビデオ・エンコーダ１００の下の部分は実際にデジタル・ビデオ・デコーダになる。特に、逆量子化器（Ｑ−１）１３０はフレーム情報の量子化を反転し、逆離散コサイン変換（ＤＣＴ−１）ユニット１４０はビデオ・フレーム情報の離散コサイン変換を反転する。逆離散コサイン変換からすべてのＤＣＴ係数が再構成されると、動き補償ユニットが動きベクトルと共にこの情報を使用してビデオ・フレームを再構成する。このビデオ・フレームを他のビデオ・フレームの動き予測の基準ビデオ・フレームとして使用することができる。
復号されたビデオ・フレームを用いて、復号されたビデオ・フレーム内の情報に関して定義されたインターフレームを符号化することができる。特に、動き補償（ＭＣ）ユニット１５０および動き予測（ＭＥ）ユニット１６０を用いて動きベクトルを決定し、インターフレームの符号化に用いる差分値を生成することができる。
【００１５】
レート・コントローラ１９０は、デジタル・ビデオ・エンコーダ１００内の多くの異なる構成要素から情報を受信し、この情報を用いて符号化するビデオ・フレームごとにビット・バジェットを割り当てる。ビット・バジェットは指定された一組の制約事項に適合する最高品質のデジタル・ビデオ・ビット・ストリームを生成するように割り当てる必要がある。特に、レート・コントローラ１９０は、メモリ・バッファのオーバフロー（ビデオ・フレーム情報の表示とその後の削除よりもはるかに速くビデオ・フレーム情報を送信することで利用可能なバッファ・メモリの量を超過すること）、またはメモリ・バッファのアンダフロー（ビデオ・フレーム情報の送信が遅く、受信側デジタル・ビデオ・デコーダが表示するビデオ・フレーム情報が不足すること）を引き起こすことなく、最高品質の圧縮ビデオ・ストリームを生成しようとする。
画素ブロック符号化
【００１６】
多くのデジタル・ビデオ符号化アルゴリズムは、最初に、各ビデオ画像を一般に画素ブロックと呼ばれる画素の小さいサブセットに分割する。特に、ビデオ画像は矩形の画素ブロックのグリッドに分割される。マクロブロック、ブロック、サブブロックという用語も一般に画素のサブセットを表す。本明細書では画素ブロックという用語にこれらの異なるが類似の構造をすべて含む。異なるデジタル・ビデオ符号化システムはサイズが異なる画素ブロックを使用できる。例えば、使用される異なる画素ブロックのサイズは、８画素×８画素の画素ブロック、８画素×４画素の画素ブロック、１６画素×１６画素の画素ブロック、４画素×４画素の画素ブロックなどを含む。
【００１７】
ビデオ画像を符号化する場合、ビデオ画像の各々の個々の画素ブロックがある種の符号化方法によって符号化される。イントラブロックとして周知のいくつかの画素ブロックは他のいかなる画素ブロックも参照せずに符号化される。また、同じまたは異なるビデオ画像内の一致度が高い画素ブロックを参照する動き補償などの予測符号化方法を用いて符号化される画素ブロックもある。
【００１８】
ビデオ画像内の各々の個々の画素ブロックは別々に圧縮され符号化される。ＩＳＯ  ＭＰＥＧまたはＩＴＵ  Ｈ．２６４などのビデオ符号化標準は、別のタイプの予測画素ブロックを用いてデジタル・ビデオ画像を符号化する。１つのシナリオでは、画素ブロックは以下の３つのタイプのいずれかである。
１．Ｉ画素ブロック  −  イントラ（Ｉ）画素ブロックは符号化に際して他のビデオ画像の情報を使用しない（したがって、イントラ画素ブロックは完全に自己定義される）。
２．Ｐ画素ブロック  −  片方向予測（Ｐ）画素ブロックは以前のビデオ画像の画像情報を参照する。
３．Ｂ画素ブロック  −  双方向予測（Ｂ）画素ブロックは以前のビデオ画像および将来のビデオ画像の情報を使用する。
【００１９】
符号化されたデジタル・ビデオ画像内の画素ブロックのすべてがイントラ画素ブロック（Ｉ画素ブロック）の場合、符号化されたデジタル・ビデオ画像フレームはイントラフレームとして周知のものである。イントラフレームは、イントラフレーム・デジタル・ビデオ画像が完全に自己定義されるように他のいかなるビデオ画像も参照しないことに留意されたい。
デジタル・ビデオ画像が片方向予測画素ブロック（Ｐ画素ブロック）とイントラ画素ブロック（Ｉ画素ブロック）のみを含み、双方向予測画素ブロック（Ｂ画素ブロック）を含まない場合、ビデオ画像フレームはＰフレームとして周知のものである。予測符号化（Ｐ画素ブロック符号化）の利用に個々に符号化される画素ブロック（Ｉ画素ブロック）より多くのビットが必要である時には、Ｉ画素ブロックはＰフレーム内に存在できる。
【００２０】
デジタル・ビデオ画像フレームが双方向予測画素ブロック（Ｂ画素ブロック）を含む場合、ビデオ画像フレームはＢフレームとして周知のものである。話を分かりやすくするために、本明細書では所与の画像内のすべての画素ブロックが同じタイプである場合を想定する。（イントラフレームはＩ画素ブロックのみを含み、ＰフレームはＰ画素ブロックのみを含み、ＢフレームはＢ画素ブロックのみを含む。）
【００２１】
符号化されるビデオ画像のシーケンスの例は以下のように表現される。
Ｉ１Ｂ２Ｂ３Ｂ４Ｐ５Ｂ６Ｂ７Ｂ８Ｂ９Ｐ１０Ｂ１１Ｐ１２Ｂ１３Ｉ１４．．．
ここで、文字（Ｉ、Ｐ、またはＢ）は、デジタル・ビデオ画像フレームがＩフレーム、Ｐフレーム、またはＢフレームのいずれであるかを表し、数字の下付き文字はビデオ画像のシーケンス内のビデオ画像のカメラの順序を表す。カメラ順序はカメラがそのビデオ画像を記録した順序で、それ故ビデオ画像を表示する順序（表示順）でもある。
上記の一連のビデオ画像の例を図２に概念図で示す。図２を参照すると、矢印は記憶された画像（この場合、ＩフレームまたはＰフレーム）の画素ブロックが他のデジタル・ビデオ画像（ＢフレームおよびＰフレーム）の動き補償予測で使用されることを示す。
【００２２】
図２を参照すると、他のビデオ画像の情報は第１のビデオ画像フレーム、すなわちイントラフレーム・ビデオ画像Ｉ１の符号化で使用されない。ビデオ画像Ｐ５は、符号化に以前のビデオ画像Ｉ１内のビデオ情報を使用するＰフレームであり、したがって、イントラフレーム・ビデオ画像Ｉ１からＰフレーム・ビデオ画像Ｐ５に矢印が引かれている。ビデオ画像Ｂ２、ビデオ画像Ｂ３およびビデオ画像Ｂ４はすべてその符号化にビデオ画像Ｉ１およびビデオ画像Ｐ５の情報を使用する。したがって、情報依存の矢印がビデオ画像Ｉ１およびビデオ画像Ｐ５からビデオ画像Ｂ２、ビデオ画像Ｂ３およびビデオ画像Ｂ４に引かれている。
Ｂフレーム・ビデオ画像は以後のビデオ画像（後で表示される画像）の情報を使用するので、一組のデジタル・ビデオ画像の送信順はデジタル・ビデオ画像の表示順とは普通異なる。特に、他のビデオ画像を構成するのに必要な参照先ビデオ画像は参照先ビデオ画像に依存するビデオ画像より前に送信しなければならない。したがって、図２の表示順では、好ましい送信順は以下の通りである。
Ｉ１Ｐ５Ｂ２Ｂ３Ｂ４Ｐ１０Ｂ６Ｂ７Ｂ８Ｂ９Ｐ１２Ｂ１１Ｉ１４Ｂ１３．．．
【００２３】
図３は、図２のこの好ましいビデオ画像の送信順を示す。さらに、図中の矢印は参照先ビデオ画像（この場合、ＩフレームまたはＰフレーム・ビデオ画像）の画素ブロックが他のビデオ画像（ＰフレームおよびＢフレーム・ビデオ画像）の動き補償予測に使用されることを示す。
図３を参照すると、送信システムは最初に他のビデオ・フレームに依存しないＩフレームＩ１を送信する。次に、システムは以前に送信されたビデオ画像Ｉ１にのみ依存するＰフレーム・ビデオ画像Ｐ５を送信する。次に、ビデオ画像Ｂ２がビデオ画像Ｐ５の前に表示されるとしても、システムはビデオ画像Ｐ５の後にＢフレーム・ビデオ画像Ｂ２を送信する。これは、依存するビデオ画像Ｂ２を復号しレンダリングする時点では、デジタル・ビデオ・デコーダは依存するビデオ画像Ｂ２を復号するのに必要なビデオ画像Ｉ１およびビデオ画像Ｐ５内の情報をすでに受信し復号しているからである。同様に、復号されたビデオ画像Ｉ１および復号されたビデオ画像Ｐ５を直ちに用いて、次の２つの依存するビデオ画像、すなわち、依存するビデオ画像Ｂ３および依存するビデオ画像Ｂ４を復号しレンダリングすることができる。
【００２４】
次に、受信機／デコーダ・システムは、正しく表示するためにビデオ画像シーケンスを並び替える。この動作で、参照先ビデオ画像Ｉ１および参照先ビデオ画像Ｐ５は「記憶画像」と呼ばれる。記憶画像は、記憶画像を参照する他の依存するビデオ画像を再構成するために使用される。（デジタル・ビデオ符号化システムによってはＢフレームも記憶画像として使用できることに留意されたい。）
【００２５】
Ｐピクチャ
Ｐピクチャの符号化は、通常、以前のビデオ画像のある位置をポイントする動きベクトル（ＭＶ）が現在のビデオ画像内の画素ブロックごとに計算される動き補償（ＭＣ）を使用する。動きベクトルは参照先ビデオ画像内の一致度が高い画素ブロックを参照する。動きベクトルを用いて、前述の以前のビデオ画像内の基準画素を並進して予測画素ブロックを形成できる。次に、Ｐピクチャ内の実際の画素ブロックと予測画素ブロックとの差が符号化されて送信される。次に、この差を用いて元の画素ブロックが正確に再構成される。
また、各動きベクトルは予測符号化方法によって送信できる。例えば、動きベクトル予測は近くの動きベクトルを用いて形成できる。その場合、実際の動きベクトルと予測動きベクトルとの差が符号化されて送信される。次に、この差を用いて予測動きベクトルから実際の動きベクトルが作成される。
【００２６】
Ｂピクチャ
Ｂフレーム内の各Ｂ画素ブロックは、以前のビデオ画像内の画素ブロックを参照する第１の動きベクトルと、以後のビデオ画像内の別の画素ブロックを参照する第２の動きベクトルという２つの異なる動きベクトルを使用する。これら２つの動きベクトルから２つの予測画素ブロックが計算される。次に、２つの予測画素ブロックはある機能を用いて結合され、最終予測画素ブロックが形成される。（２つの予測画素ブロックを単に平均してもよい。）Ｐ画素ブロックの場合、Ｂフレーム画像の実際の所望の画素ブロックと最終予測画素ブロックとの差が符号化され、送信される。次に、画素ブロックの差を用いて元の所望の画素ブロックが正確に再構成される。
【００２７】
Ｐ画素ブロックの場合、予測符号化方法を用いてＢ画素ブロックの各動きベクトル（ＭＶ）を送信することもできる。特に、予測動きベクトルは近くの動きベクトルの何らかの組み合わせを用いて形成することができる。次に、実際の動きベクトルと予測動きベクトルとの差が符号化され、送信される。次に、この差を用いて、予測動きベクトルから実際の動きベクトルが再作成される。
しかし、Ｂ画素ブロックの場合、並んだ、または近くの記憶画像画素ブロック内の動きベクトルから動きベクトルを補間する余地がある。そのような動きベクトル補間はデジタル・ビデオ・エンコーダとデジタル・ビデオ・デコーダの両方で実行される。（デジタル・ビデオ・エンコーダは常にデジタル・ビデオ・デコーダを含むことを思い出されたい。）
【００２８】
ある場合には、補間された動きベクトルは、補間された動きベクトルへのいかなるタイプの補正もせずに使用できる。その場合、動きベクトル・データを送信する必要はない。これは、ＩＴＵ  Ｈ．２６３およびＨ．２６４デジタル・ビデオ符号化標準では「ダイレクト・モード」と呼ばれている。
動きベクトル補間の技法は、固定された背景をゆっくりとパンするカメラによって作成されるビデオ・シーケンスの一連のデジタル・ビデオ画像で特に有効である。実際、そのような動きベクトル補間は単独で使用できる。特に、これは、そのような動きベクトル補間を用いて符号化されたこれらのＢ画素ブロック動きベクトルに関して差分動きベクトル情報を計算したり送信したりする必要がないということを意味する。
【００２９】
画素ブロック符号化
各ビデオ画像内で、画素ブロックは異なる方法でも符号化できる。例えば、画素ブロックをより小さいサブブロックに分割し、動きベクトルを計算して各サブブロックに送信できる。サブブロックの形状は異なっていてもよく、必ずしも正方形でなくてもよい。
ＰピクチャまたはＢピクチャ内では、一致度が高い画素ブロックが記憶基準画像内に見つからない場合に、動き補償を用いずに一部の画素ブロックをより効率的に符号化することができる。次に、そのような画素ブロックはイントラ画素ブロック（Ｉ画素ブロック）として符号化される。Ｂピクチャ内では、双方向動き補償の代わりに片方向動き補償を用いて一部の画素ブロックをより良好に符号化することができる。それ故、これらの画素ブロックは、最も一致度が高い画素ブロックが以前のビデオ画像内にあるか以後のビデオ画像にあるかによって、順方向予測画素ブロック（Ｐ画素ブロック）または逆方向予測画素ブロックとして符号化される。
【００３０】
送信前に、画素ブロックまたはサブブロックの予測エラーは、通常、離散コサイン変換またはその近似などの直交変換によって変換される。変換処理の結果は、変換される画素ブロックまたはサブブロック内の画素数に数が等しい一組の変換係数である。受信機／デコーダで、受信された変換係数は、さらに復号で使用する予測エラー値を復元するために逆変換される。許容されるビデオ品質のためにすべての変換係数を送信する必要はない。利用可能な送信ビット・レートに応じて、変換係数の半分以上、または場合により半分よりはるかに多くを削除して、送信しないようにすることができる。デコーダでは、削除された係数の値は逆変換の前にゼロで置き換えられる。
さらに、送信前に、変換係数は、図１に関して述べたように、通常、量子化され、エントロピー符号化される。量子化では、変換係数は可能な値の有限サブセットで表現され、その結果、送信の精度が低下する。さらに、量子化によって、小さい変換係数の値が強制的にゼロになることが多く、送信される変換係数の値の数はさらに減少する。
【００３１】
量子化ステップで、各変換係数の値は、通常、量子化ステップのサイズＱで除算され、最も近い整数に丸められる。例えば、元の変換係数Ｃは以下の式を用いて量子化された係数の値Ｃｑに量子化できる。
Ｃｑ＝（Ｃ＋Ｑ／２）／Ｑ      （整数未満切り捨て）
量子化ステップの後で、整数はハフマン符号または算術符号などの可変長符号（ＶＬＣ）を用いてエントロピー符号化される。多くの変換係数の値がゼロに切り捨てられるので、量子化および可変長符号化ステップでかなりの量の圧縮が達成される。
【００３２】
ラグランジュ関数を用いたビット・レートおよび歪み値の選択
デジタル・ビデオ・エンコーダは、ビデオ画像内の各画素ブロックを符号化するためのすべての可能な符号化方法（または符号化モード）から最良の符号化方法を決定しなければならない。この符号化問題は一般にモード選択問題として知られている。モード選択問題を扱うために、さまざまなデジタル・ビデオ・エンコーダの実施態様で多くの特別の解決策が使用されている。変換係数の削除、送信する変換係数の量子化、およびモード選択を組み合わせて送信に使用するビット・レートＲを減少させることができる。しかし、これらのビット・レートＲを減少させる技法は復号されたビデオ画像の歪みＤを引き起こす。
理想的には、ビデオ・エンコーダを設計する時に、ビット・レートＲを定数値に固定して符号化歪みＤを最小限にするか、ビット・レートＲを最小限にしながら符号化歪みＤを定数値に固定するとよい。しかし、特に画素ブロック・レベルでは、ビット・レートＲおよび／または歪み値Ｄは所望の固定値とはかなり異なる場合があり、制約付き最適化手法を成り立たなくさせる。
【００３３】
これに代えて、取るべき方法は、ラグランジュ乗数を用いて制約付き最適化問題を制約なし最適化問題に変換する方法である。こうして、変数の一方（ビット・レートＲまたは歪みＤ）を固定して他方を最適化する代わりに、ラグランジュ関数を最小化するだけでよい。
Ｄ＋λ×Ｒ
ここで、λはラグランジュ乗数である。したがって、ビデオ画像内の各画素ブロックで、エンコーダはラグランジュ関数Ｄ＋λ×Ｒを最小化する画素ブロック符号化モードを選択する。
【００３４】
理論的には、すべての可能なλの値を繰り返し使用し、各λが｛Ｄ，Ｒ｝のペアを生成することで個々のビデオ画像ごとの完全な最適化が実行されよう。ここから、所望のビット・レートＲ（または歪みＤ）について、対応する歪みＤ（またはビット・レートＲ）およびλ値が得られる。次に、この選択されたλ値を用いて今度はビデオ画像が最終的に符号化され、所望の結果が得られる。
実際には、この理想的な手法は、普通、あらゆるビデオ画像について実行するには複雑すぎ、リソースを浪費する。一般の方法としては、広範囲のλ値で上記の完全な最適化方法を用いて多数のビデオ画像で多数の予備実験を実行して、λ、歪みＤおよび量子化Ｑの近似的な関係を決定する。
【００３５】
広範囲のλ値で完全な最適化方法を用いた多数のビデオ画像による予備実験によって、λ、歪みＤおよび量子化Ｑの近似的な関係が決定される。この実験では、ラグランジュ乗数λを変化させ、量子化Ｑを一定にすることが有利な場合が多い。各実験で、量子化Ｑが一定に保たれれば、最終的な結果は、１つの曲線が異なる量子化Ｑの値を表すＲ、Ｄ曲線のファミリになる。図４はそのようなＲ、Ｄ曲線のファミリの一例を示す。異なる定数Ｑの曲線ごとに、あるλ値で得られる特定の｛Ｒ、Ｄ｝点で、曲線の勾配は（−λ）である。最適な｛Ｒ、Ｄ｝の関係はすべてのＲ、Ｄ曲線の最小値を取ることで得られる。
【００３６】
これに従って、異なる量子化Ｑ値について、代表的なλ値がλＱとして選択される。例えば、λＱは図４のＱ＋１とＱ−１のクロスオーバ・ポイントの途中で歪みＤ値を提供する値である。代表的なλ値を選択するために使用するその他の方法は、λＱ＝０．８５Ｑ２およびλＱ＝０．８５×２Ｑ／３を含む。Ｂピクチャが複数の場合、はるかに大きいλＱ値が使用されることが多い。したがって、
λＱ＝ｆ（Ｑ）
ＤＱ＝ｇ（Ｑ）、ここからＱ＝ｈ（ＤＱ）が得られる。
次に、所望の歪みＤのビデオ画像シーケンスを符号化する場合、最初に最も近いＤＱを求め、そこからＱ＝ｈ（ＤＱ）を得る。次に、対応するλＱ＝ｆ（Ｑ）を用いてビデオ画像符号化が実行され、その結果、歪みＤＱの最適ビット・レートＲが得られる。
【００３７】
多くの応用例で、結果として得られるビット・レートＲは大きすぎ、または小さすぎるので、速度制御を用いてバッファ・オーバフローまたはバッファ・アンダフローを確実に防止する必要がある。大半の速度制御アルゴリズムでは、一般には画素ブロックごとおよび／またはビデオ画像ごとに量子化Ｑを変更する方法が用いられる。エンコーダ・バッファが満杯に近づく（およびオーバフローの可能性がある）と、量子化Ｑの値が増加してビット・レートＲを減少させる。エンコーダ・バッファが空に近づく（およびアンダフローの可能性がある）と、量子化Ｑが減少してビット・レートＲを増加させる。
【００３８】
しかし、量子化Ｑ値を変更すると、ビット・レートＲの変化が大きすぎる結果を招く。さらに、量子化Ｑの変化をデコーダに知らせる必要があり、デコーダはデコーダに送信すべきオーバヘッド・ビットの量を増加させる。さらに、量子化Ｑを変更すると、ループ・フィルタリングなどのビデオ画像品質に関するその他の影響が生じることがある。
【００３９】
量子化Ｑの変更の代替策は、ラグランジュ乗数λを変更して所望の速度制御を達成する方法である。ラグランジュ乗数λの値を小さくすると、ビット・レートＲが大きくなる（また歪みＤが小さくなる）。同様に、ラグランジュ乗数λの値を大きくすると、ビット・レートＲが減少する（また歪みＤが増加する）。ラグランジュ乗数λの変更は、デジタル化され符号化されて量子化Ｑがある値にのみ限定される量子化Ｑの変更とは異なり、任意に細かくすることができる。すべてのＭＰＥＧビデオ圧縮および符号化標準を含む多くのデジタル・ビデオ圧縮および符号化システムでは、量子化Ｑの整数値のすべてを送信できるわけではない。その場合、ビット・レートＲの突然の変化がさらに顕著になろう。
【００４０】
ラグランジュ乗数λが一定のビット・レートの低減を達成するために一定のしきい値λ＿ｍａｘ（Ｑ）より大きいことが必要な時には、量子化Ｑを増加させて、ラグランジュ乗数λは新たに増加した量子化Ｑ値を用いてその公称値ｆ（Ｑ）に戻る。ラグランジュ乗数λが一定のビット・レートの増加を達成するために一定のしきい値λ＿ｍｉｎ（Ｑ）より小さいことが必要な時には、量子化Ｑを減少させて、ラグランジュ乗数λは新たに減少した量子化Ｑを用いてその公称値ｆ（Ｑ）に戻る。
【００４１】
λ＿ｍａｘ（Ｑ）およびλ＿ｍｉｎ（Ｑ）の値は図４に示すビット・レート−歪みの関係図のクロスオーバ・ポイントによって決定される。ラグランジュ乗数λと量子化ステップ・サイズＱを用いた符号化で、Ｄ（λ，Ｑ）を達成する歪みとして定義する場合、演算関係は以下のようになる。
Ｄ（λ＿ｍｉｎ（Ｑ＋１），Ｑ＋１）＝Ｄ（λ＿ｍａｘ（Ｑ），Ｑ）
λ＿ｍｉｎ（Ｑ）＜＝ｆ（Ｑ）＜＝λ＿ｍａｘ（Ｑ）
ビデオ符号化システムのそのような速度制御アルゴリズムの詳細な動作を以下の擬似コードで述べる。
【００４２】
開始＿符号化＿ピクチャ：          ／／ビデオ画像の符号化を開始
所望のＤを入力；            ／／所望の歪Ｄ値を確保
Ｄに最も近いＤＱを発見；    ／／所望のＤに最も近いＤＱ値を発見
Ｑ＝ｈ（ＤＱ）；            ／／量子化値Ｑを決定
λ＝ｆ（Ｑ）；            ／／ラグランジュ乗数λを決定
開始＿符号化＿画素ブロック：    ／／画像から画素ブロックの符号化を開始
符号＿画素ブロック（λ、Ｑ）；／／λおよびＱを用いて画素ブロックを符号化
（ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒ＞Ｔｆｕｌｌ）の場合｛    ／／バッファはオーバフローの恐れあるか？
λ＝λ＋Δλ；        ／／ΔλはＱに依存する
（λ＞λ＿ｍａｘ（Ｑ））の場合｛    ／／λが大きすぎる場合、Ｑを増加
Ｑ＝Ｑ＋ΔＱ；  ／／量子化Ｑのサイズを増加
λ＝ｆ（Ｑ）；  ／／新ラグランジュ乗数λを設定
｝
｝
（ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒ＜Ｔｅｍｐｔｙ）の場合｛    ／／バッファはアンダフローの恐れあるか？
λ＝λ−Δλ；      ／／はい  λを減少
（λ＜λ＿ｍｉｎ（Ｑ））の場合｛    ／／λが小さすぎる場合、λを減少
Ｑ＝Ｑ−ΔＱ；      ／／量子化Ｑのサイズを減少
λ＝ｆ（Ｑ）；        ／／新ラグランジュ乗数λを設定
｝
｝
（最終の画素ブロックでない）の場合、開始＿符号化＿画素ブロックへ飛越し；／／次のブロック／／画像で処理
【００４３】
この一般的な速度制御アルゴリズムの変形例は、ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒ値の複数の異なるしきい値を含み、ここで、ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒがＴｆｕｌｌしきい値を大幅に超えた場合、ラグランジュ乗数λがそのしきい値を超えるのを待たずに直ちに量子化Ｑをインクリメントできる。同様に、ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒがＴｅｍｐｔｙしきい値を大幅に下回った場合、直ちに量子化Ｑをデクリメントできる。あるいは、ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒがＴｆｕｌｌしきい値を大幅に超えた場合、またはＴｅｍｐｔｙしきい値を大幅に下回った場合、Δλステップのサイズを増大できる。
【００４４】
ΔλおよびΔＱの値は量子化Ｑまたはビデオ画像タイプ（Ｉピクチャ、Ｐピクチャ、またはＢピクチャ）によって変化する。さらに、ラグランジュ乗数λのインクリメント演算はラグランジュ乗数λをある割合だけ変更する乗算に替えることができる。例えば、ラグランジュ乗数λはλ増加演算の以下の等式を用いて変更できる。
λ＝（１＋Δλ）×λ
同様に、以下の等式のλデクリメント演算を使用できる。
λ＝（１−Δλ）×λ
この簡単な速度制御アルゴリズムは、この応用例の変動するλの使用法を示す。他のより複雑な速度制御アルゴリズムも考案されており、これらの他の速度制御アルゴリズムもラグランジュ乗数λを変更する方法を利用することができる。
【００４５】
視覚的歪みトレードオフ
ラグランジュ乗数λを変更する方法の別の応用例は、視覚的歪みの判定基準の使用である。歪みＤは、元の画素値と復号された画素値の差の自乗を総計して測定されることが多い。しかし、この簡単な歪み測定方法はビデオ画像内の画素エラーの実際の可視性に十分に対応していない。したがって、そのような簡単な歪み測定方法では、先行する最小化で最適に満たない結果を生むことがある。それ故、主観的な影響を考慮するアルゴリズムのほうが有用である場合が多い。
【００４６】
ビデオ画像内で符号化される画素ブロックまたはサブブロックごとのビジュアル・マスク値Ｍを計算することで符号化雑音の可視性も考慮することができる。ビジュアル・マスク値Ｍは領域内の画素の空間的な変化および時間的な変化に基づく。
ビジュアル・マスクＭの大きい値は、歪みを目視で検出することをより困難にするより大きいマスキングを示す。そのような領域では、歪みＤを増加させ、ビット・レートＲを減少させることができる。これは、好都合には、符号化最適化アルゴリズム内でラグランジュ乗数λを単独で使用する代わりにＭ×λ（ラグランジュ乗数）を使用することで達成できる。以下の擬似コードは変更されたアルゴリズムを示す。
【００４７】
開始＿符号化＿ピクチャ： ／／ビデオ画像の符号化を開始
所望のＤを入力； ／／所望の歪Ｄ値を確保
Ｄに最も近いＤＱを発見； ／／所望のＤに最も近いＤ値を発見
Ｑｎｏｒｍ＝ｈ（ＤＱ）； ／／マスキングのないノーマルＱを決定
λ＝ｆ（Ｑｎｏｒｍ）； ／／ラグランジュ乗数λを決定
開始＿符号化＿画素ブロック： ／／画像から画素ブロックの符号化を開始
Ｑ＝Ｑｎｏｒｍ； ／／ＱをマスキングのないノーマルＱに設定
ビジュアル・マスク値Ｍを計算； ／／ビジュアル・マスキング量を決定
（Ｍ×λ＞λ＿ｍａｘ（Ｑ））の場合｛／／マスキングが強い場合、Ｑを増加
Ｑ＝Ｑ＋ΔＱ； ／／量子化のサイズを増加
｝
符号 画像ブロック（Ｍ×λ、Ｑ）；／／Ｍ×λおよびＱを用いて符号化
（ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒ＞Ｔｆｕｌｌ）の場合｛／／バッファはオーバフローを満たす恐れがある場合
λ＝λ＋Δλ； ／／λを増加
（λ＞λ＿ｍａｘ（Ｑｎｏｒｍ））の場合｛ ／／λを試験
Ｑｎｏｒｍ＝Ｑｎｏｒｍ＋ΔＱ；／／λが大きすぎる場合Ｑを増加
λ＝ｆ（Ｑｎｏｒｍ）； ／／新λを計算
｝
｝
（ｅｎｃｏｄｅｒ＿ｂｕｆｆｅｒ＜Ｔｅｍｐｔｙ）の場合｛ ／／バッファはアンダフローを満たす恐れがある場合
λ＝λ−Δλ； ／／λを減少
（λ＜λ＿ｍｉｎ（Ｑｎｏｒｍ））｛ ／／λを試験
Ｑｎｏｒｍ＝Ｑｎｏｒｍ−ΔＱ；／／λが小さすぎる場合Ｑを減少
λ＝ｆ（Ｑｎｏｒｍ）； ／／新λを計算
｝
｝
（最終の画素ブロックでない）の場合、開始＿符号化＿画素ブロックへ飛越し；／／次のブロック／／画像で処理ックでない)の場合、開始#符号化#画素ブロックへ飛越し；//次のブロック//画像で処理
【００４８】
この第２の簡単なビジュアル・マスキング・アルゴリズムはこの応用例のλを変更する方法の使用法を示す。その他のより複雑なビジュアル・マスキング・アルゴリズムも考案されており、これらのビジュアル・マスキング・アルゴリズムもλを変更する方法を利用することができる。
【００４９】
ラグランジュ乗数λの変更は他の符号化決定方法でも有用である。例えば、一連のビデオ画像の符号化の際にいくつのＢピクチャを符号化するかという決定は困難である場合が多い。量子化ＱおよびλＱ＝ｆ（Ｑ）の特定の値では、Ｐピクチャにつき１つのＢピクチャで符号化した結果はＲ１、Ｄ１であるが、Ｐピクチャにつき２つのＢピクチャで符号化した結果はＲ２、Ｄ２である。
【００５０】
Ｒ２＜Ｒ１でかつＤ２＜Ｄ１の場合、Ｂピクチャが２つの方がよいというのが正解であることは明らかである。しかし、結果がＲ２＜Ｒ１でかつＤ２＞Ｄ１で、Ｂピクチャがいくつであればよいのかは明らかでない。この場合、Ｄ１にほぼ等しいＤ２が得られるより小さいλでＰピクチャにつき２つのＢピクチャで再符号化することができる。次に、結果として得られるＲ２およびＲ１の値を比較してどちらのビット・レートが小さいかを比較するだけでよい。
例えば、インタレース対プログレッシブ・コーディング、さまざまな動き検索範囲によるコーディング、ある種の符号化モード付き／なしの符号化など、他のシナリオも同様に比較することができる。
【００５１】
結論として、本出願人はビデオ符号化で多くの用途がある簡単で強力なレート歪みトレードオフの方法を提示する。以上、マルチメディア圧縮および符号化システムでの符号化モード選択によってレート歪みトレードオフを制御するシステムについて説明した。通常の当業者であれば、本発明の範囲から逸脱することなく、本発明の要素の材料および装置を修正および変更することができる。
なお、この明細書に開示した新技術の態様を列挙すれば次のようである。
（１）ビデオ圧縮および符号化システムでレート歪みを制御するための方法であって、
所望の歪み値に近い歪み値Ｄを選択するステップと、
前記歪み値Ｄを用いて量子化値Ｑを決定するステップと、
前記量子化値Ｑを用いてラグランジュ乗数λを計算するステップと、
前記ラグランジュ乗数λおよび前記量子化値Ｑを用いて画素ブロックを符号化するステップとを含む方法。
（２）バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させるステップとをさらに含む、上記（１）に記載の方法。
（３）前記量子化値Ｑが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに含む、上記（２）に記載の方法。
（４）前記ラグランジュ乗数λが前記量子化値Ｑに応じた量だけ増加または減少するステップをさらに含む、上記（２）に記載の方法。
（５）ビジュアル・マスク値Ｍを計算するステップと、
前記ビジュアル・マスクＭ×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より小さい時に、前記ラグランジュ乗数λを増加させるステップとをさらに含む、上記（１）に記載の方法。
（６）前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Ｑに依存する、上記（５）に記載の方法。
（７）バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させるステップとをさらに含む、上記（５）に記載の方法。
（８）前記量子化値Ｑが調整された場合に、前記ラグランジュ乗数λを再計算するステップをさらに含む、上記（７）に記載の方法。
（９）ビデオ圧縮および符号化システムでレート歪みを制御する方法を実施するための一組のコンピュータ命令を含むコンピュータ可読媒体であって、
所望の歪み値に近い歪み値Ｄを選択するステップと、
前記歪み値Ｄを用いて量子化値Ｑを決定するステップと、
前記量子化値Ｑを用いてラグランジュ乗数λを計算するステップと、
前記ラグランジュ乗数λおよび前記量子化値Ｑを用いて画素ブロックを符号化するステップとを含むコンピュータ可読媒体。
（１０）前記コンピュータ命令の組が、
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させるステップとをさらに実施する、上記（９）に記載のコンピュータ可読媒体。
（１１）前記コンピュータ命令の組が、
前記量子化値Ｑが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに実施する、上記（１０）に記載のコンピュータ可読媒体。
（１２）前記ラグランジュ乗数λが前記量子化値Ｑに応じた量だけ増加または減少する、上記（１０）に記載のコンピュータ可読媒体。
（１３）前記コンピュータ命令の組が、
ビジュアル・マスク値Ｍを計算するステップと、
前記ビジュアル・マスク値Ｍ×前記ラグランジュ乗数λが前記ラグランジュ乗数λの最大しきい値より小さい時に前記ラグランジュ乗数λを増加させるステップとをさらに実施する、上記（９）に記載のコンピュータ可読媒体。
（１４）前記ラグランジュ乗数λの前記最大しきい値が前記量子化値Ｑに依存する、上記（１３）に記載のコンピュータ可読媒体。
（１５）前記コンピュータ命令の組が、
バッファがオーバフローしきい値を超えると前記ラグランジュ乗数λを増加させ、前記ラグランジュ乗数λが最大λしきい値を超えた場合に前記量子化値Ｑを増加させるステップと、
バッファがアンダフローしきい値を下回ると前記ラグランジュ乗数λを減少させ、前記ラグランジュ乗数λが最小λしきい値を下回った場合に前記量子化値Ｑを減少させるステップとをさらに実施する、上記（１３）に記載のコンピュータ可読媒体。
（１６）前記コンピュータ命令の組が、
前記量子化値Ｑが調整された場合に前記ラグランジュ乗数λを再計算するステップをさらに実施する、上記（１５）に記載のコンピュータ可読媒体。
【図面の簡単な説明】
【００５２】
【図１】１つの可能なデジタル・ビデオ・エンコーダ・システムの高レベル・ブロック図である。
【図２】異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す順序で画像が表示される一連のビデオ画像を示す図である。
【図３】異なる画像を結ぶ矢印が動き補償を用いて作成される画像間依存を示す好ましいビデオ画像の送信順序で図２の画像を再配列した一連のビデオ画像を示す図である。
【図４】量子化Ｑの値が異なるごとに１本の曲線で描いたＲ、Ｄ曲線のファミリを示すグラフである。
【符号の説明】
【００５３】
１００  デジタル・ビデオ・エンコーダ      
１０５  着信ビデオ・ストリーム
１１０  離散コサイン変換ユニット（ＤＣＴ）
１２０  量子化（Ｑ）ユニット
１３０  逆量子化器（Ｑ−１）
１４０  逆離散コサイン変換ユニット（ＤＣＴ−１）
１５０  動き補償（ＭＣ）ユニット
１６０  動き予測（ＭＥ）ユニット
１８０  エントロピー・エンコーダ（Ｈ）ユニット
１９０  レート・コントローラ
Ｉ１，Ｂ２〜Ｂ４，Ｂ６〜Ｂ９，Ｂ１１，Ｂ１３，Ｐ５，Ｐ１０，Ｐ１２，Ｉ１４  … ビデオ画像
【図１】
0004480671.tif 000002
【図２】
0004480671.tif 000003
【図３】
0004480671.tif 000004
【図４】
0004480671.tif 000005