(57)【特許請求の範囲】
【請求項１】
非圧縮デジタル画像シーケンスのピクチュアであって、各ピクチュアが複雑度のレベルを有するものをコード化する方法であって、
非圧縮デジタル画像シーケンスの第１のピクチュアを第１のアルゴリズムによって分析し、前記第１のピクチュアの複雑度の第１の値とその第１のピクチュアのピクチュアタイプ（Ｉピクチュアタイプ、Ｐピクチュアタイプ、又は、Ｂピクチュアタイプ）を割り当てることと、
前記第１のピクチュアが第２のアルゴリズムによってコード化されたときの複雑度である前記第１のピクチュアの複雑度の第３の値を測定することと、
前記第１のピクチュアの前記ピクチュアタイプと、前記第１のピクチュアの複雑度の第１の値を前記第１のピクチュアの複雑度の第３の値によって除算することによって得られる第１のピクチュアの複雑度の比を格納することと、
前記第１のピクチュアが前記第２のアルゴリズムによってコード化された過去のピクチュアのコード化バージョンを発生することと、
パラメータとして前記第１のピクチュアを含まない将来のピクチュアの複雑度の第１の値を、前記第２のアルゴリズムによってコード化され且つ第１のピクチュアと同じピクチュアタイプを有するピクチュアである、複数の過去のピクチュアのサブセットに関連して格納された前記複雑度の比を平均化することによって得られた前記過去のピクチュアのトランス係数で除算して、将来の１つのピクチュアの複雑度の第２の値を推定することと、
パラメータとして前記過去のピクチュアをコード化した際に発生する符合量である前記過去のピクチュアのサイズと前記将来の１つのピクチュアの複雑度の第２の値を積算して、前記第１のピクチュアに対するターゲットサイズを決定することと、
パラメータとして前記第１のピクチュアのピクチュアタイプと前記第１のピクチュアのターゲットサイズを用いて前記第１のピクチュアを前記第２のアルゴリズムによってコード化することからなる方法。
【請求項２】
前記第１のピクチュアを前記第２のアルゴリズムによってコード化する工程が前記第１のピクチュアのコード化バージョンを生成することを含み、そして、前記第１のピクチュアに対するターゲットサイズを決定する工程が、前記第１のピクチュアの前記コード化バージョンのサイズを決定することを含むことを特徴とする前記請求項１に記載の方法。
【請求項３】
前記第１のピクチュアに続いて非圧縮画像シーケンスの複数のピクチュアが続き、前記方法が、更に、
非圧縮デジタル画像シーケンスの複数のピクチュアのそれぞれを第１のアルゴリズムによって分析し、各ピクチュアの複雑度の第１の値と該各ピクチュアのピクチュアタイプ（Ｉピクチュアタイプ、Ｐピクチュアタイプ、又は、Ｂピクチュアタイプ）を割り当てることと、
前記各ピクチュアが前記第２のアルゴリズムによってコード化されたときの複雑度である前記各ピクチュアの複雑度の第３の値を測定することと、
前記各ピクチュアの前記ピクチュアタイプと、前記各ピクチュアの複雑度の第１の値を前記各ピクチュアの複雑度の第３の値によって除算することによって得られる前記各ピクチュアの複雑度の比を格納することと、
パラメータとして前記将来のピクチュアの複雑度の第１の値を、前記第２のアルゴリズムによってコード化され且つ前記第１のピクチュアと同じピクチュアタイプを有するピクチュアである、前記過去の各ピクチュアのサブセットに関連して格納された前記複雑度の比を平均化することによって得られた前記過去のピクチュアのトランス係数で除算して、将来の１つのピクチュアの複雑度の第２の値を推定することと、
パラメータとして前記過去のピクチュアをコード化した際に発生する符合量である前記過去のピクチュアのサイズと前記将来の１つのピクチュアの複雑度の第２の値を積算して、前記各ピクチュアのターゲットサイズを決定することと、
パラメータとして前記各ピクチュアのピクチュアタイプと前記各ピクチュアのターゲットサイズを用いて前記各ピクチュアのそれぞれを前記第２のアルゴリズムによってコード化することからなることを特徴とする前記請求項１及び２のいずれかに記載の方法。
【請求項４】
前記将来の１つのピクチュアの複雑度の第２の値を推定する工程が、前記第１のピクチュアのピクチュアタイプに基づくデホルト値によって前記第１のピクチュアの複雑度の第１の値を除算することを含むことを特徴とする前記請求項１乃至３のうちいずれかに記載の方法。
【請求項５】
更に、前記第１のピクチュアを受信することと、
前記第１のピクチュアを前記第２のアルゴリズムによってコード化する前に前記第１のピクチュアの濾過されたバージョンを生成することと、
前記第２のアルゴリズムによるコード化のために、前記第１のピクチュアをコード化するために大きなビットレートを必要とする場合には前記第１のピクチュアの濾過されたバージョンを選択するが、それ以外のときは前記第１のピクチュアを選択することを特徴とする前記請求項１乃至４のうちいずれかに記載の方法。
【請求項６】
圧縮されたデジタル画像ストリームのピクチュアであって、各ピクチュアが第１のコード化アルゴリズムに従ってコード化されており、且つ複雑度のレベルを有するものをトランスコード化する方法であって、
前記圧縮されたデジタル画像ストリームの第１のピクチュアをデコードアルゴリズムによってデコードして、前記第１のピクチュアのデコード化バージョンを生成し、前記第１のピクチュアの複雑度の第１の値とその第１のピクチュアのピクチュアタイプ（Ｉピクチュアタイプ、Ｐピクチュアタイプ、又は、Ｂピクチュアタイプ）を抽出することと、
前記第１のピクチュアのデコード化バージョンが第２のコード化アルゴリズムによってコード化されたときの複雑度である前記第１のピクチュアの複雑度の第３の値を測定することと、
前記第１のピクチュアの前記ピクチュアタイプと、前記第１のピクチュアの複雑度の第１の値を前記第１のピクチュアの複雑度の第３の値によって除算することによって得られる第１のピクチュアの複雑度の比を格納することと、
前記第１のピクチュアのデコード化バージョンが前記第２のコード化アルゴリズムによってコード化された過去のピクチュアのコード化バージョンを発生することと、
パラメータとして前記第１のピクチュアを含まない将来のピクチュアの複雑度の第１の値を、前記第２のコード化アルゴリズムによってコード化され且つ第１のピクチュアと同じピクチュアタイプを有するピクチュアである、複数の過去のピクチュアのサブセットに関連して格納された前記複雑度の比を平均化することによって得られた前記過去のピクチュアのトランス係数で除算して、将来の１つのピクチュアの複雑度の第２の値を推定することと、
パラメータとして前記過去のピクチュアをコード化した際に発生する符合量である前記過去のピクチュアのサイズと前記将来の１つのピクチュアの複雑度の第２の値を積算して、前記第１のピクチュアのデコード化バージョンに対するターゲットサイズを決定することと、
パラメータとして前記第１のピクチュアのピクチュアタイプと前記第１のピクチュアのデコード化バージョンのターゲットサイズを用いて第２のコード化アルゴリズムにより前記第１のピクチュアのデコード化バージョンをコード化することからなる方法。
【請求項７】
前記第１のピクチュアのデコード化バージョンを前記第２のコード化アルゴリズムによってコード化する工程が前記第１のピクチュアのコード化バージョンを生成することを含み、そして、前記第１のピクチュアのデコード化バージョンに対するターゲットサイズを決定する工程が前記第１のピクチュアのコード化バージョンのサイズを決定することを含むことを特徴とする前記請求項６に記載の方法。
【請求項８】
前記第１のピクチュアに続いて圧縮された画像ストリームの複数のピクチュアが続き、前記方法が、更に、
前記圧縮されたデジタル画像ストリームの複数のピクチュアのそれぞれを第１のデコード化アルゴリズムによってデコードして、各ピクチュアのデコード化バージョンを生成し、各ピクチュアの複雑度の第１の値と該各ピクチュアのピクチュアタイプ（Ｉピクチュアタイプ、Ｐピクチュアタイプ、又は、Ｂピクチュアタイプ）を抽出することと、
前記各ピクチュアのデコード化バージョンが前記第２のコード化アルゴリズムによってコード化されたときの複雑度である前記各ピクチュアの複雑度の第３の値を測定することと、
前記各ピクチュアの前記ピクチュアタイプと、前記各ピクチュアの複雑度の第１の値を前記各ピクチュアの複雑度の第３の値によって除算することによって得られる前記各ピクチュアの複雑度の比を格納することと、
パラメータとして将来の各ピクチュアの複雑度の第１の値を、前記第２のコード化アルゴリズムによってコード化され且つ前記第１のピクチュアと同じピクチュアタイプを有するピクチュアである、前記過去の各ピクチュアのサブセットに関連して格納された前記複雑度の比を平均化することによって得られた前記過去のピクチュアのトランス係数で除算して、前記将来の各ピクチュアの複雑度の第２の値を推定することと、
パラメータとして前記過去のピクチュアをコード化した際に発生する符合量である前記過去のピクチュアのサイズと前記将来の１つのピクチュアの複雑度の第２の値を積算して、前記各ピクチュアのターゲットサイズを決定することと、
パラメータとして前記各ピクチュアのピクチュアタイプと前記各ピクチュアのターゲットサイズを用いて前記各ピクチュアのそれぞれを前記第２のコード化アルゴリズムによってコード化することからなることを特徴とすることを特徴とする前記請求項６及び７のうちのいずれかに記載の方法。
【請求項９】
前記将来の各ピクチュアの複雑度の第２の値を推定する工程が、前記第１のピクチュアのピクチュアタイプに基づくデホルト値によって前記第１のピクチュアの複雑度の第１の値を除算することを含むことを特徴とする前記請求項６乃至８のうちのいずれかに記載の方法。
【請求項１０】
更に、前記第１のピクチュアを前記第２のコード化アルゴリズムによってコード化する前に前記第１のピクチュアの濾過バージョンを生成することと、
前記第２のコード化アルゴリズムによるコード化のために、前記第１のピクチュアをコード化するために大きなビットレートを必要とする場合には第１のピクチュアの濾過されたバージョンを選択するが、それ以外のときは前記第１のピクチュアを選択することを特徴とする前記請求項６乃至９のうちのいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像信号の圧縮コーディングに関し、より詳細には、二重経路の圧縮コード化／トランスコード化のためのピクチュアベースの先読みウィンドウによるレート制御に関する。
【背景技術】
【０００２】
デジタル画像圧縮のための２つの国際的な標準がＭＰＥＧ２（Ｈ．２６２）とＨ．２６４（ＭＰＥＧ４パート１０）として知られている。Ｈ．２６１やＭＰＥＧ１やＨ．２６３のような本発明にも適用されうる他の標準も存在するが、本発明の実施の形態の以下の説明は主にＭＰＥＧ２とＨ．２６４について言及しており、前記他の標準を説明するものではない。
【０００３】
非圧縮画像ストリームは、連続する一連のピクチュア又はフレームとして記述されうる。個々のフレームは特定の瞬間における特定の状況を描写するものである。シーンは、連続する各瞬間における同じ状況を描写した一連のフレームである。シーン中の第２のフレームは第１のフレームと同じ状況を示しているが、将来的には若干更に進んでいる。ＭＰＥＧ標準は、時間記銘（ｔｅｍｐｏｒａｌ  ｅｎｃｏｄｉｎｇ）として知られているものを用いた情報の再現を利用している。ＭＰＥＧ２のようなＭＰＥＧ画像圧縮に関して、エンコーダは、画像ストリームを、一群のピクチュア（ＧＯＰ）として知られている、関連するピクチュアの組に分割する。ＧＯＰ内の各フレームは、エンコーダによってイントラ符号化フレーム又は予測符号化フレーム若しくは双方向予測符号化フレームとして称されている。イントラ符号化フレーム（Ｉタイプフレーム）は、そのフレーム内からの情報のみを用いてコード化される。そのフレームを圧縮するためには、時間記銘は用いられない。予測符号化（Ｐタイプ）フレームは、そのフレーム内からの情報を用いてコード化され、時間圧縮のための基準として以前のＩフレーム又はＰフレームを用いる。ＩフレームとＰフレームは、アンカーフレームと称される。双方向予測符号化（Ｂタイプ）フレームは、そのフレーム内からの情報を用いてコード化され、少なくとも一つ前のアンカーフレームと少なくとも一つ後のアンカーフレームからの情報を使用することも可能である。ＧＯＰ内において、Ｉフレームは一般的に最も複雑であり、次いでＰフレームであり、更に、Ｂフレームは主に最少の複雑度を有する。
【０００４】
ＭＰＥＧ２の従来の一つの実施例においては、各ＧＯＰ（以下標準ＧＯＰと称する）は、１５ピクチュアすなわちフレームの周期（Ｎ）を有し、ＧＯＰにおける先頭のピクチュアである単独のＩタイプピクチュアを含んでいる。４番目と７番目と１０番目と１３番目のピクチュアはＰタイプピクチュアであり、残りの１０個のピクチュアはＢタイプピクチュアである。このように、標準ＧＯＰはそれぞれが３個のピクチュアである５つのサブグループで構成されている。各サブグループは、アンカーピクチュアと２つのＢタイプピクチュアで構成されている。各アンカーピクチュア間の間隔は、この３個の場合、ＧＯＰ内のイントラ期間（Ｍ）として知られている。したがって、標準ＧＯＰは、表示順に、ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢとなる。
【０００５】
ＭＰＥＧ２のこの従来例においては、標準ＧＯＰは閉じている、すなわち、ＧＯＰ外部のフレームに基づいていかなる予測をするものではない。
【０００６】
ＭＰＥＧ標準においては、映像ストリームは更に細分化されており、フレームを一連のマクロブロック（ＭＢ）で構成されるものとする。マクロブロック（ＭＢ）は、１６輝度画素×１６輝度画素で表す領域を表示するのに必要な全ての情報を有する。
【０００７】
ＭＰＥＧ２とＨ．２６４は、有効ビットストリームのシンタックスとデコーダがそのようなビットストリームを解釈して非圧縮デジタル映像である所定の出力に到る方法を規定している。しかし、ＭＰＥＧ標準はエンコーダを規定してはいない。エンコーダは、ＭＰＥＧに準拠したデコーダに入力されたときに所望の出力を生成するビットストリームを出力することができるいずれかのデバイス、ハードウェア又はソフトウェアとして規定されている。
【０００８】
エンコーダの典型的な用途においては、非圧縮画像信号がエンコーダに入力されて適用可能な圧縮標準に関連してコード化されるが、新たにコード化された信号はエンコーダから出力されてデコーダによって受信されて検分のためにデコードされる。データがデコーダによって受信されるレートの変動に対処するために、デコーダはコード化されたデータを受信してデコード処理に対してデータを提供するバッファを有することもある。デコーダがコード化された信号を連続的にデコードしデコードされた信号を送信し続けることができるようなレートでコード化された信号が出力され続けることをエンコーダは、確実にしなければならない。エンコーダがあまりにも緩慢に信号を送信していると、デコーダはエンコーダからのデータを待機するのでデコーダによって送信されるデータにギャップが生じる。エンコーダがあまりにも急速に信号を送信しすぎると、デコーダはデータ保持することができずにデコーダにおいてバッファオバーフローとして容認できない情報の欠如を引き起こす。エンコーダの送信レートを管理する方法はレート制御として知られている。エンコーダは、仮想バッファの利用によって、デコーダのバッファ装填を監視している。
【０００９】
レート制御の簡単な方法は、決められた数のビットをコード化されるべき画像信号の各ピクチュア又はフレームに割り当てることである。しかしながら、実際青い空のピクチュアような単純なフレームが複雑なフレーム（水平線に雲の懸かった朝日が昇るピクチュア）に比べてコード化するのにより少ないビット数を要するときに、画像ストリームにおける全てのピクチュアをコード化するのに使用されるビット数が可能な最も複雑なフレームに適応するためには十分大きくしなければならないので、これは効率的ではない。ピクチュアがコード化される前にピクチュアの複雑さを測定することは、そのピクチュアをコード化するのに何ビットを使用すべきかに関連して、エンコーダがよりよい決定をすることを可能にする。この方法は、エンコーダが将来においてコード化されるフレームの複雑度を知っていれば、更に改善される。初めに快晴の青い空を示し、そして、その後パンダウンして日没を示す画像ストリームを考えてみる。先頭のフレームは、複雑度の程度は低く、比較的に小さなビット数を用いてコード化される。しかし、それ以後のフレームは、はるかにより多くの複雑な情報を含んでおり、コード化するのに大きなビット数を必要とする。先頭の単純な画像フレームに対して割り当てるビット数を決定した状態で、エンコーダがコード化しているより複雑なフレームに対してすぐに大きなビット数を割り当てることが必要であることを知った場合、エンコーダは単純なフレームをコード化するのに使用したビット数を更に減らして下流のデコーダのオーバーフローの危険をなくすか又は減らすことができる。
【００１０】
ピクチュアをコード化するために使用されるビット数を制御する他の有効な方法は、フレーム内の各ＭＢに対する量子化ステップサイズを動的に調整することである。一般的に単一の色と輝度のＭＢに対しては、小さな数の可能なピクセル値のみが必要であり、したがって、より少ないビットがそれを記述するのに必要となる。エンコーダはより広範囲のピクセル値を記述しなければならないので、多様な色と輝度の値を有するＭＢに対しては反対のことが言える。このやり方に関連して、各ＭＢには量子化ステップサイズを調整するのに使用される量子化スケール係数（Ｍｑｕａｎｔ）が割り当てられる。
【００１１】
ＭＰＥＧ標準化の開発中において、ビットストリームシンタックスをテストするために、デコーダ設計と標準化の他の諸相に関して汎用のレート制御と量子化手法を設計することが必要となった。この手法はテストモデルＴＭとして知られていたし、引き続きＭＰＥＧ２の開発として発展した。モデルの第５即ち最終バージョン（ＴＭ−５）は、ＭＰＥＧ２標準の開発停止と共に生成された。ＴＭ−５は、（ａ）ターゲットビット割り当てと、（ｂ）レート制御と、（ｃ）適応量子化の３つの主要なステップに分けられている。
（ａ）ターゲットビット割り当て
上記のように、コード化のためにあるピクチュアに割り当てられるビット量は、他のピクチュアに対するそのピクチュアの複雑度の関数である。特定のＧＯＰに関連して、複雑度の重み係数が各ピクチュアタイプに対して割り当てられている（それぞれＩタイプピクチュアとＰタイプピクチュアとＢタイプピクチュアに対するＸI2とＸP2とＸB2）。ＸI2とＸP2とＸB2 は、ＩタイプピクチュアとＰタイプピクチュアとＢタイプピクチュアの複雑度の程度を表し、以下のように計算される。
【００１２】
ＸI2＝ＳI2ＱI2
ＸP2＝ＳP2ＱP2
ＸB2＝ＳB2ＱB2
であり、ここで、ＳI2、ＳP2、ＳB2 は、各ピクチュアのビット数であり、ＱI2、ＱP2、ＱB2は各ピクチュアにおける全てのＭＢのための平均量子化パラメータである（以下参照）。
【００１３】
ＴＭ−５において、ピクチュアに対するビット割り当ては、ＧＯＰに対して割り当てられたビット空間がどのくらい残っているか、コード化されたピクチュアのタイプ、そして、同タイプにおいて最近コード化されたピクチュアの複雑度の統計に基づいて、その対象（ターゲット）が決められる。このターゲットビット割り当ては、ＴＭ−５が予想するそのフレームをコード化するために必要となるビット数を割り当てることである。
（ｂ）レート制御
ターゲットビット割り当て（Ｂtar）とピクチュアをコード化するために必要な現実のビット数（Ｂact）の間に差異が存在する場合には、ＴＭ−５の仮想バッファのアンダーファイリング又はオバーファイリングの危険が存在することとなる。ピクチュアがコード化されている間に、仮想バッファは、ＭＢ上のデコーダのバッファの完全充填をＭＢベースで追跡する。ｊ番目未満の全てのＭＢをコード化することは、ターゲットされた全ビットのある部分を使用すべきである。この部分は、既にコード化された（ｊ−１）個のＭＢ数を乗じ更にピクチュア（ＭＢ＿ｃｎｔ）内の全ＭＢ数によって除されたＢtarに等しい。ｊ番目未満のＭＢをコード化することによって得られた実際のビット数は、Ｂ(j-1)に等しい。各ＭＢ（ｄｊ）がコード化されてｊ番目のＭＢをコード化するのに先立って以下のように計算されたあとで、ターゲットビット数と発生されたビット数の間のデルタは仮想バッファの完全装填における変動を示している。
【００１４】
ｄj＝ｄ0＋Ｂ(j-1)−Ｂtar＊（ｊ−１）／ＭＢ＿ｃｎｔ
ここでｄ0は、カレントピクチュアの初めの仮想バッファの完全装填に等しい。
【００１５】
仮想バッファがオーバーフローを始めた場合、量子化ステップサイズが増加して、後続のＭＢに対してより小さなビット収量に至らす。同様に、仮想バッファがアンダーファイリングし始めた場合、量子化ステップサイズが減少して、後続のＭＢに対してより大きなビット収量に至らす。仮想バッファの完全装填のこのやり方はＭＢの基準量子化数（Ｑj）を発生するために使用される。
（ｃ）適応量子化
マクロブロック量子化ステップサイズは空間的な活動（ａｃｔj）の関数として更に調整される。マクロブロックは、４つの８×８サブブロックに分割され、そして、各サブブロックに対する空間的な活動が測定される。そして、予めコード化されたピクチュアの平均的な空間活動（ａｖｇ＿ａｃｔ）に対して、４つの測定のうち最も小さいものが正規化される（Ｎ＿ａｃｔj）。マクロブロックの質が最高にゆがんだ描写のサブブロックと同視できるので、最少の空間活動測定値が使用される。
【００１６】
Ｎ＿ａｃｔj＝（２＊ａｃｔj＋ａｖｇ＿ａｃｔ）／（ａｃｔj＋２＊ａｖｇ＿ａｃｔ）
ＭＢの正規化された空間的な活動と基準量子化パラメータの積は、ＭＢの量子化スケール係数（Ｍｑｕａｎｔj）を与える。
【００１７】
Ｍｑｕａｎｔj＝Ｑj＊Ｎ＿ａｃｔj
一般に、より新しい圧縮標準により推奨されるコード化アルゴリズムはより効率的ではあるが、それらを通常実行することはより複雑である。中央演算装置（ＣＰＵ）とデジタル信号処理（ＤＳＰ）チップの演算速度の早急な向上に伴い、だんだんと非常に複雑なアルゴリズムの実行が実際に可能となった。より新しい標準に基づいて構築された画像エンコーダ／デコーダ（コーデック）が、結局、ビットレートやレゾルーションなどのような仕様が重複した場合においては従来の標準に基づいて構築されたものと置き換わる。従来の画像コーデックをより新しいものに置き換えることは費用が掛かることなので、この置き換え手続きには長い時間が掛かる。従来のコーデックが引き続き使用される他の理由は、多くの画像ストリームが既に従来の画像コーデックにより圧縮されていて、その従来のコーデックによっても容易に復元されうるからである。しかし、高度なコード化効率が求められる場合、従来のコーデックとより新しいコーデックの混在使用の問題が起こる。ある種の場合においては、従来のコーデックによって圧縮された画像ストリームを同一の画像品質を達成することのできるその従来のコーデックよりも低い新たなビットレートで再び送信することが望ましい。したがって、より高圧縮率を達成するためには、混在するコーデック（従来のデコーダとより新しいエンコーダ）を有するトランスコーダが使用される。一つのよい例が、ＭＰＥＧ２で圧縮された画像ストリームをＨ．２６４で圧縮される画像ストリームに変換するトランスコーダである。
【００１８】
先読みウィンドウを備えた二重経路のコード化が単独経路のコード化に比べてより高い圧縮率を提供することがデジタル圧縮産業界において認識されている。台頭してくるより複雑な圧縮技術にとっては、単独経路のコード化すら高価であって二重経路のコード化のコストは単独経路のコード化のそれと比べてはるかに高いものである。二重経路アーキテクチュアにおけるコード化／トランスコード化のためには２つの複雑なコーデックを使用するので、従来技術のコーデックよりもほとんど桁違いに大きなエンコーダ／トランスコーダのコストが上昇する。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
望ましいことは、混在するコーデックを使用するエンコーダ／トランスコーダにおいて最少のコストでより高度なコード化効率を達成する機能を獲得することである。
【課題を解決するための手段】
【００２０】
本発明の第１の側面に関連して、「非圧縮デジタル画像ストリームのフレームであって、各フレームが複雑度のレベルを有するものをコード化する方法であって、非圧縮デジタル画像ストリームの第１のフレームを第１のアルゴリズムによって分析して、第１のフレームの複雑度の第１の値を測定してその第１のフレームのピクチュアタイプを割り当てることと、パラメータとして前記第１の測定値を用いて前記第１のフレームの複雑度の第２の値を推定することと、パラメータとして前記第１のフレームの複雑度の第２の値と前記第１のフレームのピクチュアタイプを用いた別個の第２のアルゴリズムにより前記第１のフレームをコード化することからなる方法」が提供される。
【００２１】
本発明の第２の側面に関連して、「圧縮されたデジタル画像ストリームのフレームであって、各フレームが第１のコード化アルゴリズムに従ってコード化されており、且つ複雑度のレベルを有するものをトランスコード化する方法であって、前記圧縮されたデジタル画像ストリームの第１のフレームを第１のデコードアルゴリズムによってデコードして、第１のフレームのデコードバージョンを生成し、前記第１のフレームの複雑度の第１の値を測定し、更に、その第１のフレームのピクチュアタイプを決定することと、パラメータとして前記第１の値を用いて前記第１のフレームの複雑度の第２の値を推定することと、パラメータとして前記第１のフレームの複雑度の第２の値と前記第１のフレームのピクチュアタイプを用いて別個の第２のコード化アルゴリズムにより前記第１のフレームのデコード化バージョンをコード化することからなる方法」が提供される。
【００２２】
本発明の第３の側面に関連して、「一連のフレームからなる非圧縮デジタル画像入力ストリームであって、各フレームが関連する複数の特徴を有するものをコード化する装置であって、前記非圧縮デジタル画像入力ストリームの一連のフレームを受信して、第１の方法を用いて前記入力ストリームのフレームの複数の特徴に関する測定値を得て、該フレームにピクチュアタイプを割り当てる抽出手段と、前記入力ストリームの連続するフレームを受信して、該入力ストリームの各フレームに対して遅延して各フレームを出力する遅延手段と、前記遅延手段内で前記フレームの測定値とピクチュアタイプを格納する値格納手段と、前記遅延手段からフレームを受信して、そのフレームをコード化するコード化手段であって、前記フレームのコード化されたバージョンのサイズを調整するために前記値格納手段に格納された測定値に応答するものとからなる装置」が提供される。
【００２３】
本発明の第４の側面に関連して、「一連のコード化されたフレームからなる圧縮されたデジタル画像入力ストリームであって、コード化された各フレームが関連する複数の特徴を有するものをトランスコード化する装置であって、前記圧縮されたデジタル画像入力ストリームの一連のコード化された各フレームを受信して、第１の方法を用いて一連のデコードされたフレームとデコードされたフレームの複数の特徴の測定値を取得して、前記デコードされたフレームにピクチュアタイプを割り当てるデコード手段と、前記入力ストリームの一連のデコードされたフレームを受信して、前記入力ストリームのコード化された各フレームに対して遅延して前記デコードされた各フレームを出力する遅延手段と、前記遅延手段内でデコードされたフレームの前記測定値とピクチュアタイプを格納する値格納手段と、前記遅延手段からデコードされたフレームを受信して、そのフレームをコード化するコード化手段であって、前記フレームのコード化されたバージョンのサイズを調整するために前記値格納手段に格納された測定値に応答するものとからなる装置」が提供される。
【００２４】
本発明の実施の形態は、二重経路圧縮画像アーキテクチャにおいて混在するコーデックを有するエンコーダ／トランスコーダ用のピクチュアベースの先読みウィンドウによるレート制御を提供する。トランスコーダにおいて、入力画像信号が圧縮された画像信号である場合、シンプル圧縮デコーダを使用することによって統計データ（ｓｔａｔｉｓｔｉｃｓ）が抽出されて、その圧縮された画像信号から統計データ（ｓｔａｔｉｓｔｉｃｓ）を生成する。そして、エンコーダにおいては、入力画像信号が非圧縮画像信号である場合、シンプル圧縮エンコーダを使用することによって統計データ（ｓｔａｔｉｓｔｉｃｓ）が抽出されて、その非圧縮画像信号から統計データ（ｓｔａｔｉｓｔｉｃｓ）を発生する。トランス係数がスライドする「過去」ウィンドウにおいて以前のピクチュアに基づいてカレントピクチュアのために算出されて、カレントピクチュアの複雑度を予測するが、そのトランス係数は複雑圧縮標準に対するシンプル圧縮標準のためのグローバルな複雑度の単位の比である。そして、先読みウィンドウ又は「将来」ウィンドウ内の将来のピクチュアの複雑度に基づいて、カレントピクチュアに対してビットが割り当てられる。将来のピクチュアがコード化することが難しい場合、より少数のビットがカレントピクチュアに割り当てられ、そして、その反対の場合もある。このことはシーン変更の場合に有効である。先読みウィンドウは将来のピクチュアすなわち、複雑圧縮標準に基づいてはまだ圧縮されていないピクチュアの統計データ（ｓｔａｔｉｓｔｉｃｓ）を考慮に入れているので、より妥当なビット割り当てと良好な品質が得られる。複雑圧縮標準によるカレントピクチュアのコード化後には、実際のビットとピクチュアの複雑度とコード化されたピクチュアのトランス係数が従前のように更新され、更に、先読みウィンドウが一ピクチュア分だけシフトされる、すなわち、新たなピクチュアが先読みウィンドウ内に導入されたときにはコード化されたピクチュアは過去ウィンドウに移動して先読みウィンドウから退出する。
【００２５】
本発明の目的や利点や他の新規な特徴は、別紙特許請求の範囲や添付の図面に関連して以下の詳細な説明を読んだときにはそこから明らかとなる。
【発明の効果】
【００２６】
本発明は、混在するコーデックを使用するエンコーダ／トランスコーダにおいて最少のコストでより高度なコード化効率を達成することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
図１は、ＭＰＥＧ２のようなシンプルな圧縮標準に従ってコード化された圧縮画像ストリームを受信しデコードして、非圧縮画像信号と関連する統計データ（ｓｔａｔｉｓｔｉｃｓ）を生成するシンプル圧縮デコーダ１２を具備するエンコーダ／トランスコーダを図示している。それとは別に、シンプル圧縮エンコーダ１４は、非圧縮画像ストリームを受信して、関連する統計データ（ｓｔａｔｉｓｔｉｃｓ）を発生する。この統計データ（ｓｔａｔｉｓｔｉｃｓ）は、以下に詳述する、レート制御アルゴリズムによる処理のために先読みウィンドウモジュール１８に入力されるが、一方（トランスコーダ又はエンコーダ）構成内の非圧縮画像信号が格納及び遅延モジュール１６に入力される。この格納及び遅延モジュール１６は、非圧縮画像ストリームを受信し、遅延し、そして、出力するバッファメモリである。先読みウィンドウモジュール１８は、たとえば、ピクチュアに対するビット数やピクチュアタイプやそのピクチュアのための全てのマクロブロックの平均量子化ステップサイズのような、格納及び遅延モジュール１６内の各ピクチュアに対する統計データ（ｓｔａｔｉｓｔｉｃｓ）を内蔵する。先読みウィンドウモジュール１８は、複雑なコード化処理のためのレート制御を決定するときに、Ｈ．２６４エンコーダのような複雑な圧縮エンコーダ２４によって使用されるビット割り当てデータを統計データ（ｓｔａｔｉｓｔｉｃｓ）から発生する。格納及び遅延モジュール１６は、先読みウィンドウモジュール１８がビット割り当てデータを発生するのに必要な時間を補償する。
【００２８】
格納及び遅延モジュール１６からの遅延された非圧縮画像ストリームが適応プレフィルタ２０に入力され濾過された非圧縮画像ストリームを生成する。このフィルタ２０は、非圧縮画像ストリームによって描写される画像内の高周波空間周波数を減衰するローパスフィルタであり、その非圧縮画像ストリームを「ぼける（ｂｌｕｒ）」ようにして圧縮することを容易にする、すなわち、あまり複雑にならないようにして圧縮のために必要なビット数を少なくするのに役立つ。フィルタの濾過強度は、それを越えた空間周波数成分が減衰される閾値すなわちカットオフ周波数と高周波空間周波数が減衰される程度に依存する。
【００２９】
格納及び遅延モジュール１６からの遅延された非圧縮画像ストリームと濾過された非圧縮画像ストリームの双方が、スイッチ２２に入力されそれらのストリームのいずれか一方を選択する。スイッチ２２からの選択された非圧縮画像ストリームと先読みウィンドウモジュール１８からのビット割り当てデータは、複雑圧縮エンコーダ２４に入力されＨ．２６４（ＭＰＥＧ４パート１０）のような複雑圧縮画像標準に従って圧縮画像ストリームを生成する。複雑圧縮エンコーダ２４は、また、フィルタの「濾過強度」を決定する適応プレフィルタ２０とどちらの非圧縮画像ストリームがコード化されるべきかを決定するスイッチ２２に制御信号を提供する。フィルタの濾過強度は、異なる濾過レベルとしてあるいは連続するレベルとしても実現される。適応プレフィルタ２０は、濾過された非圧縮画像ストリームが複雑圧縮エンコーダ２４によるコード化のために選択されていない場合には停止されているか又は最少濾過のための低強度に設定される。
【００３０】
入力側に複雑エンコーダ／デコーダの代わりにシンプルエンコーダ／デコーダ１２／１４を使用することによって、実施コストは減少して単独経路の複雑なコーデックのそれに近づく。しかし、先読みウィンドウモジュール１８内のピクチュアの複雑度推定に関する情報は、必ずしも完全に複雑圧縮エンコーダ２４のための所望の情報ではない。例えば、Ｐタイプピクチュアは、その対応する元のピクチュアがライトのオフ／オン／オフ経過時間中に記憶された場合には、シンプルな圧縮コード化（ＭＰＥＧ２）における動き補償のためには高ビットレートが必要である。反対に、このＰタイプピクチュアは複雑エンコーダ（Ｈ．２６４）のためのシンプルなピクチュアであってもよい。この不完全さにもかかわらず、シンプルな圧縮標準と複雑な圧縮標準の双方に基づいて、ピクチュアの複雑度の推定の相関関係が生じる。多くの場合、シンプルな圧縮標準に対して比較的に複雑／シンプルであるピクチュア又はピクチュア群（ＧＯＰ）は、複雑圧縮エンコーダ２４に対しても比較的に複雑／シンプルである。複雑度の統計データ（ｓｔａｔｉｓｔｉｃｓ）は、各ピクチュアと各マクロブロック（ＭＢ）との間の重要な関係を示しており、エラーも許容可能である。したがって、単独経路の複雑コード化と比べると、擬似二重経路複雑コード化は若干高い実施コストを有してはいるものの、画像コード化効率において優れている。
【００３１】
ピクチュア複雑度の統計データ（ｓｔａｔｉｓｔｉｃｓ）は次のような場合に使用される。すなわち、
−ビットレートターゲットの推定と、第２の経路でのコード化以前にカレントピクチュアのマクロブロックの量子化ステップサイズを選択する場合であり、そして、
−第２の経路でのコード化以前にカレントピクチュアを含むカレントＧＯＰに対する適応プレフィルタ２０の濾過強度を制御する場合である。
複雑圧縮エンコーダ２４に提供されるビット割り当てを計算するのに役立つ統計データ（ｓｔａｔｉｓｔｉｃｓ）の量が大きければ大きいほど、エンコーダ／トランスコーダの画質パーフォーマンスは良好となる。そのため、格納及び遅延モジュール１６は、複数の非圧縮画像を格納している。非圧縮画像ストリームの各画像は、Ｉタイプピクチュア、Ｐタイプピクチュア又はＢタイプピクチュアとして、複雑圧縮エンコーダ２４によって最終的にコード化される。所定の非圧縮画像がコード化されるピクチュアタイプ（Ｉタイプ、Ｐタイプ又はＢタイプ）は、先読みウィンドウモジュール１８に提供される統計データ（ｓｔａｔｉｓｔｉｃｓ）に基づく。したがって、モジュール１６内に格納された画像がコード化されていなくとも、それらの画像をＩタイプピクチュア、Ｐタイプピクチュア又はＢタイプピクチュアとして参照するのに都合がよい。モジュール１６に格納される画像の数は、メモリサイズと最大許容遅延によって制限される。入力画像信号の少なくとも２つのＧＯＰに対応するストレージレングスが望ましい。説明のために、格納及び遅延モジュール１６がそれぞれ１５個のピクチュアの２つの標準的なＧＯＰを有するように設計されていることとする。
【００３２】
先読みウィンドウモジュール１８は、ピクチュアタイプ（Ｉタイプ、Ｐタイプ又はＢタイプ）とピクチュアサイズ（バイトでのサイズ）と各ピクチュアレベルにおける平均量子化ステップサイズを含む、受信した統計データ（ｓｔａｔｉｓｔｉｃｓ）に基づいてコード化されている、カレントピクチュアのためのビットレートターゲットを設定する。
【００３３】
コード化という意味においては、ピクチュアの複雑度は２つの異なる圧縮標準にとって同じものではない。Ｐタイプピクチュアは複雑であり、その対応する元のピクチュアがフラッシュライトのオフ／オン／オフ経過時間中に記憶された場合には、ＭＰＥＧ２コード化における動き補償のためには高いビットレートが必要である。反対に、動き予測のための６つまでの参照ピクチュアのうちから一つを選択することができる（上記のように、この参照のうちの一つがこのＰタイプピクチュアと強い相関関係がある）Ｈ．２６４エンコーダについては、このＰタイプピクチュアはシンプルなピクチュアであるかも知れない。
【００３４】
ビットレートターゲットを設定することに加えて、先読みウィンドウモジュール１８によって得られたピクチュア複雑度の統計データ（ｓｔａｔｉｓｔｉｃｓ）は、適応プレフィルタ２０がローパスフィルタの濾過強度を制御するための制御信号を発生するためにも使用することができる。カレントピクチュアがコード化するためにより多くのビットレートを必要とする手間のかかるピクチュアであることをレート制御情報が示している場合には、適応プレフィルタ２０の濾過強度は大きくなりそのピクチュアが深くローパスフィルタ処理され、すなわち、より軟調でよりコード化し易くなる。複雑圧縮エンコーダ２４はスイッチ２２を用いて、レート制御情報と複雑圧縮エンコーダ２４の仮想バッファ装填状態に基づいて、格納及び遅延モジュール１６から出力された遅延非圧縮画像信号又は適応プレフィルタ２０によって出力された濾過された画像信号のいずれかを選択する。たとえば、仮想バッファが充満状態に近づき、コード化するためのピクチュアが仮想バッファに入れることのできるよりも多くのビット数が必要であることをレート情報が示している場合には、プレフィルタ２０の量が引き上げられて仮想バッファがオーバーフローしないようにすると共に、濾過された非圧縮画像がコード化された画像信号であるようにする。仮想バッファがオーバーフローする恐れがない場合、カレントピクチュアは多少濾過されているか、又は全く濾過されない。後者の場合、格納及び遅延モジュール１６からの非圧縮画像信号が、コード化のための入力として使用される。しかし、しばしばそして突然濾過強度を変更すること及び／又はＧＯＰ内で非圧縮画像信号と濾過された非圧縮画像信号を切り換ることはＰタイプピクチュアとＢタイプピクチュアのための動き補償残留信号を引き起こすことがある。このことはＧＯＰ内でプレフィルタ２０を円滑に制御することによって避けられる。ピクチュアが濾過されている場合、参照としてそれを使用するいかなる他のピクチュアも少なくとも同じ濾過強度によって濾過されるべきである。
【００３５】
例示のために使用されたレート制御アルゴリズムは、テストモデル５（ＴＭ５）仕様に基づく。ＴＭ５は、各ピクチュアに対してターゲットビットを割り当てるために複雑な手段を取り、そして、仮想バッファの装填状態に基づいて各ＭＢに対し量子化パラメータを設定する。トランスコーダ構成の場合には、入力画像信号に関する情報の全てがデコーダ１２を介してコード化された圧縮画像ストリームから、特に、入力コンテンツの複雑度についての統計データ（ｓｔａｔｉｓｔｉｃｓ）から入手可能である。エンコーダ構成の場合には、入力画像信号に関する情報の全てがシンプルエンコーダ１４を介して非圧縮画像ストリームから、特に、入力コンテンツの複雑度についての統計データ（ｓｔａｔｉｓｔｉｃｓ）から入手可能である。レート制御アルゴリズムは以下の２つの部分を有する。すなわち、
１．複雑度予測のために「過去」の統計データ（ｓｔａｔｉｓｔｉｃｓ）を取ることと、
２．ビット割り当てのために「将来」の統計データ（ｓｔａｔｉｓｔｉｃｓ）を取ることである。
【００３６】
両方の処理は共に適応性があり、過去にスライドするウィンドウと将来にスライドするウィンドウが、各ピクチュアがコード化された後で、特定データ（ｓｔａｔｉｓｔｉｃｓ）を更新するように管理される。将来にスライドするウィンドウは先読みウィンドウ１８に配置され、そして、過去にスライドするウィンドウは複雑圧縮エンコーダ２４に配置されるものとする。ＧＯＰ単位でインクリメントするスライドウィンドウを用いた従来のものに反して、本発明のスライドウィンドウはピクチュアベースであり、各ピクチュアをコード化した後で前進する。
【００３７】
レート制御アルゴリズムは以下の４つの工程を有する。（ａ）統計データ（ｓｔａｔｉｓｔｉｃｓ）抽出と（ｂ）複雑度予測と（ｃ）ビット割り当てと（ｄ）統計データ（ｓｔａｔｉｓｔｉｃｓ）更新である。
（ａ）統計データ（ｓｔａｔｉｓｔｉｃｓ）抽出
可変ビットレート（ＶＢＲ）ＭＰＥＧ２ストリームから定速ビットレート（ＣＢＲ）Ｈ．２６４ストリームにトランスコードする場合には、又は、非圧縮画像ストリームをコード化してＨ．２６４ＣＢＲストリームにする場合には、以下の情報が収集される。
【００３８】
１．各ピクチュアに対する平均量子化パラメータ（量子化ステップサイズ）
２．各ピクチュアの出力ビット
３．各ピクチュアのピクチュアタイプ（Ｉ，Ｐ，Ｂ）
上記１と２は入力画像の複雑度の算出のために使用されるが、上記３は複雑圧縮エンコーダ２４によって使用されるピクチュアタイプを記録している。
（ｂ）複雑度予測
複雑度予測とは、以前のシンプル／複雑（ＭＰＥＧ２／Ｈ．２６４）の複雑度の比とカレントピクチュアの入力複雑度からカレントピクチュアの複雑度を予測することである。ＴＭ５においては、カレントピクチュアの複雑度が同タイプの前のピクチュアのそれによって予測される。本発明の実施の形態においては、カレントピクチュアの複雑度は過去のウィンドウ内の同タイプの全てのピクチュアの複雑度に基づいて予測される。しかし、統計データ（ｓｔａｔｉｓｔｉｃｓ）がシンプルなコード化フォーマットに基づくものなので、トランス係数として参照されたスケーリング係数の形式のアルゴリズムの調整が、２つの標準及び／又は２つのビットレートの複雑さの間の差異を考慮して導入される。このトランス係数は以前のシンプル／複雑の比の平均として算出され、各ピクチュアのコード化の後に更新される。異なるピクチュアタイプの異なる特性のために、トランス係数は各ピクチュアタイプについて個別に算出される。
【００３９】
複雑度予測アルゴリズムは、以下の２つの工程を有する。
【００４０】
１．以前のトランス係数を平均化してカレントピクチュアのカレントなトランス係数を算出すること
コード化／トランスコード化されるべき画像シーケンスの初めには、それぞれ３つのピクチュアタイプ（Ｉ、Ｐ、Ｂ）に対応するトランス係数の３つの初期値が存在する。過去にスライドしたウィンドウの平均的なトランス係数は、一般的に一つのピクチュアのそれ以上であり、過去のウィンドウ内に存在していて複雑圧縮エンコーダ２４によって既にコード化されている各ピクチュアを考慮に入れている。
【００４１】
ＧＯＰは、ＮI個のＩタイプピクチュアとＮP個のＰタイプピクチュアとＮB個のＢタイプピクチュアを含むものとして記述される。上記のように、標準的なＧＯＰについては、
Ｎ＝１５
Ｍ＝３
ＮI＝１
ＮP＝（Ｎ／Ｍ）−ＮI ＝（１５／３）−１＝４
ＮB＝Ｎ−ＮI−ＮP＝１５−１−４＝１０
となる。
【００４２】
格納及び遅延モジュール１６は、Ｗ個のＧＯＰを有する。説明のために、モジュール１６が２個の標準ＧＯＰを格納するように設計されていることとする。ＷIとＷPとＷBは、格納及び遅延モジュール１６内のそれぞれＩタイプピクチュアとＰタイプピクチュアとＢタイプピクチュアの総数を表す。すなわち、
ＷI＝ＷＮI＝２＊（１）＝２
ＷP＝Ｗ（ＮP）＝２＊（４）＝８
ＷB＝Ｗ（ＮB）＝２＊（１０）＝２０
である。
【００４３】
非圧縮画像ストリームのピクチュアのトランス係数Ｔcurは、同じタイプ（Ｉ又はＰ若しくはＢ）の以前のＷtype個のピクチュアのトランス係数を平均化することによって算出されるが、平均化される以前のトランス係数の数は格納及び遅延モジュール１６内のそのタイプのピクチュアの総数（ＷI、ＷP、ＷB）に等しい。
【００４４】
【数１】
0004434959.tif 000002
ここでｊはカレントピクチュアのピクチュア番号である。
【００４５】
２つの標準ＧＯＰを有する格納及び遅延モジュール１６について、上記のように、それぞれＩタイプピクチュアとＰタイプピクチュアとＢタイプピクチュアに対して２個，８個，２０個の以前のトランス係数が平均化される。
【００４６】
２．カレントピクチュアの複雑度を予測すること
ＩタイプピクチュアとＰタイプピクチュアについて、カレントピクチュアの複雑、すなわちＭＰＥＧ４の複雑度（ＸI4，ＸP4，又はＸB4）は、更新されたトランス係数（Ｔcur）を用いて、そのピクチュアのシンプルな、すなわちＭＰＥＧ２の複雑度（ＸI2，ＸP2，又はＸB2）から予測され、シンプル／複雑度係数を適切にスケールする。Ｂタイプピクチュアのトランス係数は、更に、重み係数（ＫB4）によって更に調整されて、異なるピクチュアタイプの異なる品質要件を考慮に入れる。この重み係数は、経験的に決められており、カレントＧＯＰのＩタイプシンプル／複雑度とそのＧＯＰのＢタイプピクチュアの平均的なシンプル／複雑度の比の関数である。すなわち、
ＸI4＝ＸI2／ＴIcur
ＸP4＝ＸP2／ＴPcur
ＸB4＝ＸB2／（ＴBcur＊ＫB4）
ＫB4は、よく予測されたシーケンス、すなわち、速い動きのないシーケンスにとってはより大きく、速い動きのあるシーケンスにとってはより小さいものである。比ＸI／ＸBに関連して（ＸIとＸBはカレントＧＯＰ内のＩピクチュアとＢピクチュアの全ての平均シンプル／複雑度である）、各ＧＯＰをコード化した後で、ＫB4は適応変更して設定される。
【００４７】
【表１】
0004434959.tif 000003
原理的には、Ｐタイプピクチュアの複雑な複雑度ＸP4は、また、重み計数（ＫP4）によって調整されることもあり得るが、このことは実際には必要ないことが判明した。
（ｃ）ビット割り当て
ビット割り当ては、ＧＯＰ層とピクチュア層に基礎をおくことができる。ピクチュア層はＧＯＰ限界をブレークしており、ＧＯＰ層に比べてよりよいパーフォーマンスを行う。このことは画像信号内のシーン変更の場合に特に有効である。ビット割り当ては以下の２つの工程を有する。
【００４８】
１．カレントピクチュア（ｋ番目のピクチュア）に対しターゲットビットを割り当てること
スライドする先読みウィンドウ内でカレントに参照された全てのピクチュアに対するターゲットサイズＴW（ビット）は、ウィンドウ（ＷF）内のピクチュア数と定速ビットレートＲ（ビット／秒）とピクチュアレートＦ（ピクチュア／秒）に基づいて以下のように算出される。
【００４９】
ＴW＝ＷF（Ｒ／Ｆ）
次いで、ｋ番目のピクチュアのために割り当てられるべきターゲットビット数（Ｂ4_tar（ｋ））は、Ｔwにカレントピクチュア複雑度係数の、スライドする先読みウィンドウ内の全てのピクチュアの複雑度係数に対する比を掛けることによって以下のように算出される。
【００５０】
【数２】
0004434959.tif 000004
この計算はカレントピクチュアのために使用されるべきターゲットサイズ（Ｔw）の割合を基本的に特定する。複雑なコード化アルゴリズムによってコード化されたときのカレントピクチュアのサイズが、シンプルな圧縮アルゴリズム（Ｂ2（ｋ））によってコード化されたときのカレントピクチュアのサイズに比べて大きいことは認められていない。したがって、コード化されたときのカレントピクチュアのサイズはＢ2（ｋ）にとどめられる。Ｂ4_tar（ｋ）がＢ2（ｋ）を越えた場合には、ｋ番目のピクチュアのためにターゲットされたビット数はＢ4_tar（ｋ）のままである。しかし、より小さな数Ｂ2（ｋ）がコード化が実際に行われたときに使用されたビットの上限であることが既に知られている。このように、ターゲットウィンドウ内には既知の余分なビットが存在する。そして、その余分なビットを考慮に入れてターゲットウィンドウサイズが以下のように修正される。
【００５１】
Ｔw（ｋ＋１）＝Ｔw（ｋ）＋Ｂ4_tar（ｋ）−Ｂ2（ｋ）
２．適応量子化とコード化（ＴＭ５）
ＭＢjをコード化する前に、仮想バッファの装填度がＩ、Ｐ、Ｂそれぞれについて以下のように計算される。
【００５２】
ｄj＝ｄ0＋Ｂj-1−（Ｔ＊（ｊ−１））／ＭＢ＿ｃｎｔ
ここでＢjはｊ番目以前のピクチュア内の全てのＭＢをコード化することによって発生されたビット数であり、ＭＢ＿ｃｎｔはそのピクチュア内のＭＢの数であり、Ｔはピクチュア当たりの定速ビットレート（ＣＢＲ）であり、ｄ0は仮想バッファの当初の装填度であり、ｄjはＭＢｊにおける仮想バッファの装填度である。そして、基準量子化パラメータＱjはＭＢjに対して以下のように計算される。
【００５３】
Ｑj＝ｄj＊５１／ｒ
ここで、反応パラメータｒはｒ＝２＊Ｒ／Ｆである。
適応量子化
４つの輝度ピクチュア構成サブブロック（ｎ＝１．．．４）と４つの輝度フィールド構成サブブロック（ｎ＝５．．．８）からＭＢjの空間的な活動は、元の画素値を用いて次のように計算される。
【００５４】
ａｃｔj＝１＋ｍｉｎ（ｖｂｌｋ1，ｖｂｌｋ2，．．．，ｖｂｌｋ8）
ここで、
【００５５】
【数３】
0004434959.tif 000005
であり、
【００５６】
【数４】
0004434959.tif 000006
である。
【００５７】
ここで、Ｐは画素のグレーレベルである。
【００５８】
そして、ａｃｔjを次のように正規化する。
【００５９】
Ｎ＿ａｃｔj＝（（２＊ａｃｔj）＋ａｖｇ＿ａｃｔ）／（ａｃｔj＋（２＊ａｖｇ＿ａｃｔ））
ここで、ａｖｇ＿ａｃｔはコード化されるべき最後のピクチュアのためのａｃｔjの平均値である。そして、Ｍｑｕａｎｔjを以下のように調整する。
【００６０】
Ｍｑｕａｎｔj＝Ｑj＊Ｎ＿ａｃｔj
Ｍｑｕａｎｔjの最終値はレンジ「１．．．５１」にとどめられており、量子化のために使用される。デルタＱＰは、Ｈ．２６４セマンティックスによって定義されるように、「−２６，２６」にとどめられる。そして、一つのＭＢをＭｑｕａｎｔjによってコード化し、この工程をカレントピクチュアの全てのＭＢがコード化されるまで繰り返す。
（ｄ）直前にコード化されたピクチュアのピクチュア複雑度とトランス係数を更新すること
直前にコード化されたピクチュアに対してピクチュア複雑度とトランス係数が更新され将来ピクチュアでの使用のためにスライドする過去ウィンドウ内に格納される。
【００６１】
１．トランス係数が以下のように対応するシンプルな圧縮標準ピクチュアと複雑な圧縮標準ピクチュアの「グローバル複雑基準」の比として定義される。
【００６２】
ＴI［ｃｕｒｒｅｎｔ＿ｐｉｃｔｕｒｅ＿ＳＮ］＝ＸI2／ＸI4
ＴP［ｃｕｒｒｅｎｔ＿ｐｉｃｔｕｒｅ＿ＳＮ］＝ＸP2／ＸP4
ＴB［ｃｕｒｒｅｎｔ＿ｐｉｃｔｕｒｅ＿ＳＮ］＝ＸB2／ＸB4
ここで、ＸI4とＸP4とＸB4は、複雑な圧縮標準（Ｈ２６４）出力ストリームのＩピクチュア、Ｐピクチュア、Ｂピクチュアのための以下のような複雑度
ＸI4＝ＳI4ＱI4
ＸP4＝ＳP4ＱP4
ＸB4＝ＳB4ＱB4
を表しており、ＳI4とＳP4とＳB4とＱI4とＱP4とＱB4の定義はシンプルな圧縮標準（ＭＰＥＧ２）の基で対応するそれぞれの量の定義に対応する。
【００６３】
２．ピクチュアビットターゲット（Ｂ4_tar）は先読みウィンドウのターゲットサイズの関数であるので、ｋ番目のピクチュアの実際にコード化されたサイズＳ（ｋ）とコード化された各ピクチュアの平均サイズＲ／Ｆ（Ｒは定速ビットレートでありＦはフレームレートである）の間の違いを明らかにするために、ｋ番目のピクチュアがコード化された後で（ｋ＋１）番目のピクチュアのために先読みウィンドウのターゲットサイズＴWを以下のように調整する。
【００６４】
ＴW（ｋ＋１）＝ＴW（ｋ）＋Ｒ／Ｆ−Ｓ（ｋ）
この調整は、仮想バッファ充填を適切なレベルに維持するために、そして、（ｋ＋１）番目のピクチュアのビットレートを算出するためにＴW（ｋ＋１）を先読みウィンドウのより妥当なターゲットサイズにするために行われる。入力シーケンスが無限長でない場合、そのシーケンスの終わりにおいて、先読みウィンドウサイズＷFとターゲットサイズＴWの双方が減少する。各ピクチュアのコード化後に、トランス係数ＴI、ＴP、ＴBが更新され、スライドする将来ウィンドウ内の全ての予測された複雑度の値も更新される。
【００６５】
図３に図示されているように、コード化のためにカレントピクチュアの複雑度を決めるときに使用されるべきトランス係数は、過去ウィンドウにおける同じピクチュアタイプのためのトランス係数の平均に基づいているが、一方カレントピクチュアのためのビット割り当ては先読みウィンドウ内のピクチュアの全体の複雑度に基づいている。各ピクチュアがコード化された後に、実際に複雑な標準の複雑度が決められて過去ウィンドウ内に挿入されるが、一方最も古いものは移行されて外に出される。新たなピクチュアの統計データ（ｓｔａｔｉｓｔｉｃｓ）が先読みウィンドウにロードされて、コード化されるべき次のピクチュアがカレントピクチュアになったときにそのウィンドウの新たな複雑度を決定する。
【００６６】
このように本発明は、シンプルな圧縮標準を用いて画像信号の統計データ（ｓｔａｔｉｓｔｉｃｓ）を抽出し、その抽出された統計データと仮想バッファ充填を用いて非圧縮画像信号のためのローパスプレフィルタを制御し、更に、ピクチュア毎にスライドするウィンドウによってシンプルな圧縮と複雑な圧縮で発生された標準ピクチュアのためのグローバルな複雑度の比であるトランス係数を用いて濾過されたか又は濾過されていない非圧縮画像信号をコード化し、各ピクチュアのためにトランス係数を更新し、更にウィンドウをスライドすることによって簡単にシンプルな圧縮標準から複雑な圧縮標準へのトランスコード化／コード化を単純にするために、ピクチュアベースでスライドするウィンドウでのレート制御を提供する。
【００６７】
本発明が上記の特定の実施の形態に限定されるものではないことは明らかであり、特許請求の範囲に記載された発明の範囲を逸脱することなく、各種の変更をなすことが可能であることも明らかである。更に、文脈上他のものが示されていない限り、請求項において言及された構成要素の数量例は、一の例又はそれ以上の例に対する言及であり、少なくとも陳述された構成要素の数を必要とするものではあるが、特許請求の範囲から陳述されたその構成要素の例以上数を有する構造や方法を排除することを意図するものではない。
【産業上の利用可能性】
【００６８】
上述したように、本発明は非圧縮デジタル画像ストリームのフレームをコード化するときなどに利用される。また、本発明は圧縮されたデジタル画像ストリームのフレームをトランスコード化するときなどにも利用される。
【図面の簡単な説明】
【００６９】
【図１】本発明に従ってピクチュアベースの先読みウィンドウによるレート制御を実現する二重経路エンコーダ／トランスコーダアーキテクチュアのブロック図である。
【図２】本発明に従ったレート制御アルゴリズムのフローチャート図である。
【図３】本発明に従った仮想スライドウィンドウの概念図である。
【図１】
0004434959.tif 000007
【図２】
0004434959.tif 000008
【図３】
0004434959.tif 000009