(57)【特許請求の範囲】
【請求項１】
複数の制御信号を非同期で生成する装置であって、
非同期のデータ信号を供給する信号源と、
複数のデータ処理チャネルであって、該データ処理チャネルのそれぞれは、それぞれの制御信号に応答して、前記データ信号のそれぞれの１つを処理する複数のデータ処理チャネルと、
複数のパラメータ決定回路であって、該パラメータ決定回路のそれぞれは、前記データ信号のそれぞれの１つに応答して、前記データ信号のそれぞれの１つのパラメータを表す信号を出力する複数のパラメータ決定回路と、
複数の前記パラメータ決定回路に結合されており、連続したサンプリングタイムインターバル中における既定のサンプリングタイムと実質的に同時に、複数の前記パラメータ決定回路から得られる前記パラメータを表す信号をサンプルするデータサンプラと、
前記データサンプラによりサンプルされた前記パラメータを表す信号に応答して、それぞれの前記制御信号を複数の前記データ処理チャネルに対して生成する制御信号ジェネレータとを備え、
前記制御信号は、該サンプルされた前記パラメータを表す信号、および、それぞれの前記データ処理チャネルに関して先に生じているそれぞれのサンプリングタイムインターバルの双方に基づいて、現在のサンプリングタイムインターバルにおける値を有しており、関連したサンプリングタイムインターバルから実質的に独立した値を有する
ことを特徴とする装置。
【発明の詳細な説明】
発明の分野
本発明は、非同期で動作する複数の協調信号プロセッサ(cooperative signal processor)へ制御信号を供給する装置に関する。
発明の背景
複数の協調信号プロセッサ(cooperative signal processor)の各々へ制御信号を供給することが必要になることがある。すべての信号プロセッサが同期して動作する場合には、これは、プロセッサからのパラメータ値を測定装置でサンプリングし、パラメータ値の相対値に基づく値をもつ制御信号を生成し、これらの制御信号を処理チャネルへ供給することによって行われ、すべてが処理される信号と同期して行われている。しかるに、データ信号が相互に同期していないが、それでもなお、データ信号のすべての処理を、それぞれの信号パラメータの相対値に基づいて協調して制御する必要があるような場合には、信号パラメータをデータ信号のすべてでほぼ同時にサンプリングすることが必要であり、また、制御信号を信号プロセッサの非同期性を補償するように正しい値にして、適当な時刻に信号プロセッサに供給することが必要である。
あるシステム例では、それぞれのチャネル（これらはテレビジョン・ネットワーク供給(television network feed)やテレビジョン・ステーション、その他のビデオ・ソースである場合がある）からの複数のビデオ（映像）信号は衛星リンクを経由して伝送され、消費者の家庭のそれぞれのテレビジョン受信装置にブロードキャストされている。各ビデオ信号は、シーケンスに並んだデータ・グループからなる信号に符号化され、各グループは一定数の連続ビデオ・ピクチャまたはフレームを表すデータを含んでおり、ピクチャ・グループ(group of pictures-ＧＯＰ)と呼ばれている。しかるに、これらのチャネルから供給されるビデオ信号は同期しているとは限らない。例えば、標準的ビデオ（米国の場合）を搬送するチャネルは毎秒約３０フレームで動作し、フィルム・イメージ（映画）を搬送するチャネルは毎秒２０フレームで動作し、カートーン（動画）を搬送するチャネルは毎秒１５フレームで動作している。また、チャネルが異なると、ＧＯＰ内のピクチャ数またはフレームが異なることも起こり得る。その結果として、異なるチャネルのＧＯＰは持続時間が異なることになる。つまり、非同期になる。
上記のようなシステムでは、異なるチャネルからのデータはヘッドエンド・ステーション(head end station)で単一のデータ・ストリームに結合、つまり、多重化されている。多重化データ・ストリームは、ワイヤや光ファイバ、無線リンクなどの伝送リンクを経由してバックエンド・ステーション(back end station)に伝送され、そこで多重化データ・ストリームからのデータのチャネルが分離、つまり、デマルチプレクスされ、目的の受信者へ供給されている。衛星リンクの例としては、毎秒２４メガビット(Mbps)の伝送能力をもつディジタル伝送経路がある。この種のリンクの効率と利用効率を最大限にするためには、複数のビデオ信号がリンクを共有する必要がある。例えば、上記の衛星伝送リンクを少なくとも６つのビデオ信号チャネル間で共有することが望ましい場合がある。
発明の概要
衛星リンク経由で搬送される多重化信号の総ビットレートを、チャネルで伝送されるイメージ（画像など）の現在の符号化複雑度(coding complexity)に基づいて、異なるチャネルに動的に割り当てることが提案されている。すべてのチャネル用に現在伝送されているイメージの符号化複雑度はＧＯＰ単位で計算され、スライディング・ウィンドウ(sliding window)をベースとするピクチャ単位で利用できるようにしている。すべてのチャネルからの符号化複雑度は実質的に同時にサンプリングされている。伝送リンクの総ビットレートの割当分は、各チャネルの符号化複雑度とすべてのチャネルの総符号化複雑度との関係に基づいて、次の割当量周期にわたって各チャネルに割り当てられている。
本願の発明者は、それぞれのチャネルのＧＯＰは持続時間が異なることがあっても、ＧＯＰの符号化複雑度を時間正規化し、時間正規化された相対的符号化複雑度に基づいて割当てを行うと、ビットレートを異なるチャネル間で正確に割り当てることが可能であることを認識した。さらに、発明者は、現在利用可能な時間正規化符号化複雑度に基づいた制御信号を、任意の制御時刻にチャネルに供給できることを認識した。ただし、どのチャネルの場合も、単一のピクチャまたはフレーム・インターバル期間内に出される制御信号が１つまでであることが条件である。具体的に説明すると、制御信号は、各チャネルがそれぞれの一定整数個の制御信号更新を各ＧＯＰで受信するように選択された一定インターバルで供給することが可能である。この場合には、それぞれの制御信号群の各々は、その一定インターバル期間にそれぞれのチャネルが利用できるビット数を割り当てることになる。別の方法として、チャネルのいずれかが新しいＧＯＰを開始するたびに制御信号をすべてのチャネルに供給することも可能である。この場合には、制御信号群の各々は、最後の制御信号群がチャネルに供給されてからの（変化する）時間周期の間に利用可能なビット数を割り当てることになる。また、外部割当量更新信号(external quota update signal)に応答して、任意の時刻に制御信号をすべてのチャネルに供給することも可能であるが、どのチャネルにおいても、任意の更新時刻が単一ピクチャまたはフレームで一回以上現れないことが条件である。
本発明の原理によれば、制御信号を非同期に生成する装置は、複数の非同期データ信号ソース（発生源）と複数のデータ処理チャネルを備え、各チャネルは制御信号に応答してデータ信号の１つを処理するようになっている。複数のパラメータ決定回路(parameter determining circuit)の各々は、複数のデータ信号のうちの１つの信号のパラメータを表す信号を出力する。データ・サンプラ(data sampler)はパラメータ決定回路のすべてからの信号を、あらかじめ決められたサンプリング時間インターバルで実質的に同期してサンプリングする。制御信号ジェネレータは、サンプリングされたパラメータ表現信号(sampled parameter representative signal)と先行サンプリング時間インターバルに基づいた値をもつ制御信号をデータ処理チャネルに対して生成する。
【図面の簡単な説明】
図１は、本発明によるマルチプレクサ・システムを示すブロック図である。
図２は、図１に示すマルチプレクサ・システムで使用できるチャネル・プロセッサを示すブロック図である。
図３は、図２に示すチャネル・プロセッサで使用できるＭＰＥＧエンコーダ（符号器）の一部を示すブロック図である。
図４は、図１に示すマルチプレクサ・システムで使用できるビットレート・アロケータを示すブロック図である。
図５は、図２に示すチャネル・プロセッサで使用できる複雑度アナライザを示す詳細ブロック図である。
図６、図７、図８および図９は、複雑度情報のサンプリングを示すタイミング図である。
好ましい実施例の詳細な説明
図１は、本発明に従ったマルチプレクサ・システムを示すブロック図である。図１において、すべての信号経路は単一の信号ラインで示されている。しかし、この分野の精通者ならば理解されるように、図示の信号経路はマルチビット・ディジタル信号をパラレル（並列）で伝達することも、シリアル（直列）で伝達することも可能である。パラレルで伝達する場合は、信号経路は複数の信号ラインで構成されることになり、シリアルで伝達する場合は、信号経路は単一データ・ラインにすることも、および／またはデータ・クロック信号ラインを含めることも可能である。本発明を理解することと密接な関係のない他の制御信号経路とクロック信号経路は、図を簡略化するために図には示されていない。
図１に示すように、複数の入力端子５はビデオ信号(CHANNEL 1-CHANNEL K)のソース（図示せず）に結合され、これらの信号はデータ・リンクを経由して一緒に伝送されるものである。複数の入力端子５は、対応する複数のチャネル・プロセッサ１０のそれぞれのデータ入力端子に結合されている。複数のチャネル・プロセッサ１０のそれぞれのデータ出力端子はマルチプレクサ（ＭＵＸ）２０の対応するデータ入力端子１−Ｋに結合されている。マルチプレクサ２０のデータ出力端子はマルチプレクサ・システムの出力端子１５に結合されている。出力端子１５は、多重化されたデータ・ストリーム(MUX'ED DATA)を伝送リンク経由で伝送するために利用回路（図示せず）に結合されている。
複数のチャネル・プロセッサ１０の各々はさらに、複雑度出力端子と制御入力端子も備ええている。複数のチャネル・プロセッサの各々のそれぞれの複雑度出力端子はビットレート・アロケータ(bit rate allocator)３０の対応する複雑度入力端子に結合されており、ビットレート・アロケータ３０のそれぞれの割当量出力端子(quota output terminal)は複数のチャネル・プロセッサ１０の対応する制御入力端子に結合されている。マルチプレクサ２０には割当量更新制御入力端子(quota update control input terminal)を含めることが可能であり、その場合は、図１に破線で示すように、ビットレート・アロケータ３０の対応する割当量更新制御入力端子に結合される。
動作時には、各チャネル・プロセッサは、次の割当量周期(quota period)の間に割り当てられたビットレートを表す信号をその制御入力端子から受信する。次に、チャネル・プロセッサは、次の割当量周期の間に、そのデータ入力端子に現れた信号を割り当てられたビットレートでディジタル符号化信号に符号化する。この符号化データ信号はマルチプレクサ２０の対応する入力端子に入力される。マルチプレクサ２０は公知のように動作し、すべてのチャネル・プロセッサからの信号を結合して多重化データ・ストリームにする。多重化データ・ストリームは、データ・リンクを構成する回路に入力され、これも公知のように伝送される。
符号化プロセス期間に、チャネル・プロセッサ１０は符号化される信号の符号化複雑度を表す信号をその複雑度出力端子から発生する。ビットレート・アロケータ３０はチャネル・プロセッサ１０の複雑度出力端子から信号を受信し、複雑度信号のすべてに基づいて、次の割当量周期の間のビットレート割当量を複数のチャネル・プロセッサ１０間で動的に調整する。好ましい実施例では、複雑な信号には、複雑でない信号よりも相対的に高いビットレートが動的に割り当てられることになっている。ビデオ信号の複雑度を判断し、その複雑度に基づいてビットレートを割り当てるいくつかの方法については、以下で説明する。
図２は、図１に示すマルチプレクサ・システムで使用できるチャネル・プロセッサを示すブロック図である。図２において、図１に示すエレメントと類似のエレメントは同一参照符号で示し、以下では詳しく説明することは省略する。図２に示すように、データ入力端子５はビデオ信号ソース（図示せず）に結合されている。データ入力端子５は一定ビットレート・エンコーダ(constant bit rate encoder-ＣＢＲ)１４のデータ入力端子と複雑度アナライザ(complexity analyzer）１６に結合されている。ＣＢＲエンコーダ１４のデータ出力端子はマルチプレクサ（ＭＵＸ）２０（図１）の入力端子に結合されている。チャネル・プロセッサ１０の制御入力端子(CONTROL)はＣＢＲエンコーダ１４の割当量入力端子Ｑに結合されている。複雑度アナライザ１６の出力端子はチャネル・プロセッサ１０の複雑度出力端子(COMPLEXITY)に結合されている。
動作時には、複雑度アナライザ１６はデータ入力端子５のビデオ信号の複雑度を分析する。複雑度アナライザ１６の出力端子に生成される信号は、入力信号の複雑度を表している。複雑度を表す信号はビットレート・アロケータ３０（図１）に入力される。この複雑度信号（および他のチャネル・プロセッサ１０の複雑度信号）に応答して、ビットレート・アロケータ３０は、そのチャネル・プロセッサ１０（および他のチャネル・プロセッサ１０）の制御入力端子(CONTROL)へ信号を供給し、この信号はそのチャネル・プロセッサ１０に割り当てられたビットレートを表している。ＣＢＲエンコーダ１４は、そのデータ入力端子とデータ出力端子間にデータ経路をもち、一定ビットレートで符号化された出力信号を出力する。一定ビットレートは、ビットレート・アロケータ３０からのチャネル・プロセッサ１０の制御入力端子(CONTROL)からの、割当量入力端子Ｑにおける信号に応答してセットされる。
ＣＢＲエンコーダ１４内の回路は、その分析を行う際に複雑度アラナイザ１６によって利用することも可能である。そのような場合には、図２に破線で示すように、データはＣＢＲエンコーダ１４内部から直接に複雑度アナライザ１６に渡される。ＣＢＲエンコーダ１４からのこのようなデータは、入力端子５からのデータを補足することも、そのデータと完全に入れ替わることもできるが、後者の場合には、複雑度アナライザとデータ入力端子５とは直接に接続されない。
好ましい実施例では、各ＣＢＲエンコーダ１４は、動画専門家グループ(Moving Pictures Expert Group-ＭＰＥＧ)が公表した標準に従ってビデオ信号を圧縮・符号化するエンコーダであり、ＭＰＥＧエンコーダと呼ばれている。図３は、ＭＰＥＧエンコーダ１４の一部を示すブロック図である。ＭＰＥＧエンコーダ１４の公知コンポーネントは以下で詳しく説明することは省略する。ＭＰＥＧエンコーダには他のエレメントもあるが、これらは本発明を理解することとは無関係であるので、図面を簡略化するために図示されていない。
図３に示すように、ＭＰＥＧエンコーダ１４のデータ入力端子５(DATA IN)は圧縮・符号化しようとするビデオ信号のソース（図示せず）に結合されている。入力端子５はフレーム・バッファ４１の入力端子に結合されている。フレーム・バッファ４１は複数のフレーム周期バッファまたはディレイラインと、異なっているが時間的に隣り合うフレームまたはピクチャの部分を表す、それぞれの信号を出力するための複数の出力端子とを備えている。フレーム・バッファ４１の複数の出力端子は動き予測器(motion estimator)４２の対応する入力端子に結合されている。動き予測器の出力端子は離散コサイン変換（discrete cosine transform-ＤＣＴ）回路４３に結合されている。ＤＣＴ回路４３の出力端子は可変量子化回路(variable quantizer-Ｑｕ)回路４６のデータ入力端子に結合されている。可変量子化回路４６の出力端子は可変長コーダ（variable lengthcoder-ＶＬＣ）４７の入力端子に結合されている。ＶＬＣ４７の出力端子は出力バッファ４８の入力端子に結合されている。出力バッファ４８のデータ出力端子はＭＰＥＧエンコーダ１４のデータ出力端子(DATA OUT)に結合されている。ＭＰＥＧエンコーダ１４のデータ出力端子(DATA OUT)はマルチプレクサ２０（図１の）の対応する入力端子に結合されている。
出力バッファ４８のステータス出力端子はビットレート・レギュレータ４９のステータス入力端子に結合されている。ビットレート・レギュレータ４９の制御出力端子は可変量子化器(variable quantizer)４６の制御入力端子に結合されている。ＭＰＥＧエンコーダ１４の割当量入力端子Ｑはビットレート・アロケータ３０の対応する割当量出力端子に結合されている。ＭＰＥＧエンコーダ１４の割当量入力端子Ｑはレギュレータ４９の制御入力端子に結合されている。
動作時には、ＭＰＥＧエンコーダ１４は公知のように動作して、その入力端子に現れたビデオ信号を、そのＱ入力端子に現れた信号によって決まるビットレートで次の割当量周期の間に圧縮・符号化する。以下の例では、ＭＰＥＧエンコーダが１２ピクチャまたはフレームからなるグループ（ＧＯＰ）に分割されたビデオ信号を符号化する場合について説明する。なお、当然に理解されるように、ＧＯＰにおけるピクチャまたはフレーム数は可変である。また、以下の例では、各ＭＰＥＧエンコーダ用のビットレート割当ては各ＧＯＰごとに一度更新されるものと想定している。つまり、割当量周期がＧＯＰ期間であるものと想定している。なお、この場合も当然に理解されるように、割当量周期は異なる場合があり、時期の経過と共に変化する場合もある。これについては、以下で詳しく説明する。
フレーム・バッファ４１は、例示のＧＯＰ内の１２フレームのうち現在符号化されている部分を表しており、動き予測を行うために必要なデータを受信し、ストアする。その方法については、以下で説明する。このデータは動き予測器４２に渡される。好ましい実施例では、１２フレームまたはピクチャの最初の１つは参照フレーム（Ｉフレーム）として使用され、動き予測器を経由してＤＣＴ回路４３へ渡される。残りのフレームについては、各ピクチャまたはフレームに含まれる複数の１６ピクセルｘ１６ライン・ブロックの各々ごとに、動きベクトル(motion vector)が先行フレーム（Ｐフレーム）単独から、あるいは先行フレームと後続フレーム（Ｂフレーム）の両方からインタポレートされたものから、動き予測器４２で生成される。なお、このブロックはＭＰＥＧ標準ドキュメントではマクロブロック(macroblock)と名づけられている。上述したように、フレーム・バッファ４１は、動き予測器が先行フレームまたは先行フレームと後続フレームからインタポレートしたものから予測を行うとき必要になるデータを格納している。特定フレームの生成された動きベクトルは、そのあと、予測しようとするフレームに含まれる実際のデータと比較され、動き差信号(motion defference signal)が生成され、ＤＣＴ回路４３に渡される。
ＤＣＴ回路４３では、Ｉフレームからの空間的データの１６ピクセル×１６ライン・マクロブロックと、ＰフレームおよびＢフレームからの動き差信号とは、６個の８ピクセルｘ８ライン・ブロック（４個のルミナンス・ブロック(luminance block)と、サブサンプリングされた２個のクロミナンス・ブロック(chrominance block)）とに分割される。なお、以下の説明では、これらのブロックはＭＰＥＧ標準ドキュメントに従ってマクロブロックと呼ぶことにする。離散コサイン変換が各マクロブロックについて行われる。その結果得られた係数の８×８ブロックは可変量子化器４６に渡される。係数の８×８ブロックは量子化され、ジグザグ順にスキャンされ、ＶＬＣ４７に渡される。量子化された係数、およびＧＯＰを表す他のサイド情報（符号化ＧＯＰのパラメータに関するもの）はＶＬＣ４７でランレングス符号化(run-length coding)によって符号化され、出力バッファ４８に渡される。
ＶＬＣ４７の出力ビットレートを制御し、もってＭＰＥＧエンコーダ１４用に割り当てられた一定ビットレートを保つ最も直接的方法は、可変量子化器４６でＤＣＴ係数の各ブロックを量子化するとき使用される量子化レベル数（言い換えれば、量子化ステップ・サイズ）を制御することであることは知られている。ビットレート・レギュレータ４９から可変量子化器４６に渡された割当量更新制御信号Ｑはこの制御機能を実行する。ビットレート・アロケータ３０（図１）からの連続的ビットレート割当量更新信号Ｑ相互間の期間である割当量周期内に、ビットレート・レギュレータ４９は制御信号を可変量子化器４６へ送り、この制御信号はＧＯＰ内の各１６×１６マクロブロックが量子化されるレベル数を変更して、割り当てられたビットレートをその割当量周期の間維持するようにするが、これは公知である。
この例では、ビットレート・レギュレータ４９のビットレート割当ては、各チャネルにおけるビデオ信号の符号化複雑度値に応じて、各ＧＯＰ期間ごとに変化するが、これについては以下で説明する。なお、ビットレート・レギュレータ４９はいずれかの単一ピクチャまたはフレームを符号化するとき、一定割当てビットレートに基づく制御ストラテジを使用する。従って、単一ピクチャまたはフレーム期間の間にビットレート・レギュレータ４９から送られてくる単一割当量更新信号Ｑは１つだけであり、ピクチャまたはフレーム期間に受信した割当量更新信号Ｑは次のピクチャまたはフレームの始まりで有効になる。
好ましい実施例では、ビットレート・アロケータ３０（図１）は、複数のチャネル・プロセッサ１０内の種々回路コンポーネントに結合された接続個所をもつコンピュータ・システムである。図４はビットレート・アロケータ３０を構成するハードウェアを示すブロック図である。図４に示すように、マイクロプロセッサ（μＰ）３１は、コンピュータ・システム・バス３５を介して読み／書きメモリ（ＲＡＭ）３２、リードオンリメモリ（ＲＯＭ）３３および入出力（Ｉ／Ｏ）コントローラ３４に結合されている。コンピュータ・システムには、大量記憶デバイスやユーザ端末などの他のコンポーネントもあるが、これらは図面を簡単にするために図示されていない。入出力コントローラ３４は、複数のチャネル・プロセッサ１０（図１）の対応する複雑度出力端子に結合された複数の入力端子(COMPLEXITY)と、複数のチャネル・プロセッサ１０の対応する割当量入力端子に結合された複数の出力端子(QUOTA)とをもっている。入出力コントローラ３４には、図４に破線で示すように、マルチプレクサ２０（図１）に結合されて割当量更新制御信号を受信するための入力端子を含めることも可能である。
マイクロプロセッサ３１、ＲＡＭ３２、ＲＯＭ３３および入出力コントローラ３４は公知のようにコンピュータ・システムとして動作して、ＲＯＭ３３に格納されたプログラムを実行し、データをＲＡＭ３３にストアし、そこからデータを取り出し、入出力コントローラ３４に接続されたデバイスとの間でデータを送受信する。複数のチャネル・プロセッサ１０（図１）で符号化されるビデオ信号の現在の符号化複雑度を表しているデータは、これらのチャネル・プロセッサ３４の対応する出力端子からCOMPLEXITY入力端子を経由して入出力コントローラ３４で受信される。なお、これについては以下で説明する。このデータを受信したことは、例えば、ポーリングや割込みなどの公知の方法でマイクロプロセッサ３１に通知される。マイクロプロセッサ３１はこれらの信号を入出力コントローラ３４からコンピュータ・システム・バス３５経由で取り出し、エンコーダの各々ごとに次の割当量周期の間のビット割当量を判断し、その割当量を表している信号を、次の割当量周期の間にQUOTA出力端子を経由して複数のチャネル・プロセッサ１０へ渡す。割当量更新信号を複数のチャネル・プロセッサ１０へ送信するタイミングはマイクロプロセッサ３１によって内部で制御することも、複雑度アナライザ１６からの複雑度信号のタイミングに応答して制御することも、マルチプレクサ２０からの割当量更新信号に応答して制御することも可能である。なお、これについては以下で詳しく説明する。
ＭＰＥＧエンコーダ１４（図３）によって符号化されるビデオ信号の符号化複雑度を判断する好ましい方法では、各１６×１６マクロブロックの量子化スケール係数(quantization scale factor：QMBと呼ぶ)とそのマクロブロックを符号化するために使用されたビット数（ＴMBと呼ぶ）が、ＧＯＰの各ピクチャまたはフレームに含まれるすべてのマクロブロックについて使用されている。図５はＭＰＥＧエンコーダ１４（図３）のビットレート・レギュレータ４９と、符号化複雑度を表す信号をこの方法に従って生成する複雑度アナライザ１６（図２）とを示すブロック図である。種々のクロック信号と制御信号は図面を簡略化するために図６には示されていない。なお、どのような信号が必要であるか、さらに、これらの信号の必要なタイミングと電圧特性は自明であるので、説明は省略する。
図５に示す複雑度アナライザ１６は、図２に破線で示すようにＣＢＲエンコーダ１４からの情報だけを利用する複雑度アナライザの例である。図５に示すように、ビットレート・レギュレータ４９は出力バッファ４８（図３）のステータス出力端子に結合されたステータス入力端子ＴMBをもっている。ビットレート・レギュレータ４９の制御出力端子ＱMBは可変量子化器４６（図３）の制御出力端子に結合されている。レギュレータ４９は、さらに、ビットレート・アロケータ３０（図１）の対応する割当量出力端子に結合された制御出力端子（Ｑ）をもっている。
ビットレート・レギュレータ４９のステータス入力端子ＴMBは第１加算器９２の第１入力端子にも結合されている。第１加算器９２の出力端子は第１ラッチ９３の入力端子に結合されている。第１ラッチ９３の出力端子は乗算器９４の第１入力端子と第１加算器９２の第２入力端子に結合されている。乗算器９４の出力端子は第２ラッチ９５の入力端子に結合されている。第２ラッチ９５の出力端子は符号化複雑度出力端子Ｘpicに結合されている。複雑度出力端子Ｘpicはビットレート・アロケータ３０（図１）の対応する複雑度入力端子に結合されている。
ビットレート・レギュレータ４９の制御出力端子ＱMBは第２加算器９６の第１入力端子にも結合されている。第２加算器９６の出力端子は第３ラッチ９７の入力端子に結合されている。第３ラッチ９７の出力端子は除算器(divider)９８の分子入力端子Ｎと第２加算器９６の第２入力端子に結合されている。除算器９８の出力端子は乗算器９４の第２入力端子に結合されている。レジスタ９９は除算器９８の分母入力端子Ｄに結合された出力端子をもっている。
動作時には、各マクロブロックごとに、ビットレート・レギュレータ４９は可変量子化器４６の量子化スケール係数信号ＱMBを、現在のビットレート割当量と先行ピクチャを符号化するために使用されたビット数に基づいて公知のように生成し、そのあと、そのマクロブロックを符号化するために使用されたビット数ＴMBを示している信号を出力バッファ４８から受信する。可変量子化器４６（図３）は、各マクロブロックに含まれるＤＣＴ係数を量子化スケール係数ＱMBに従って量子化する。量子化スケール係数ＱMBは量子化ステップ・サイズ、つまり、各量子化レベルにおいて係数が全ダイナミックレンジに占めるパーセンテージを表している。ＱMBの値が高いときは、大きな量子化ステップ・サイズが存在し、従って、量子化レベルが少ないことを意味する。逆に、ＱMBの値が低いときは、小さな量子化ステップ・サイズが存在し、従って、量子化レベルが多いことを意味する。好ましい実施例では、ＱMBは５ビット整数（１と３１の間の値をもつ）になっている。
次に、完全ピクチャまたはフレームに含まれるすべてのマクロブロックの平均量子化スケール係数（
0003703488.tif 000002
と呼ぶ）が以下のように計算される。各フレームまたはピクチャの始まりで、ラッチ９３と９７はクリア信号（図示せず）に応答してゼロにクリアされる。第２加算器９６と第３ラッチ９７の組合せはアキュムレータとして動作して、ビットレート・レギュレータ４９からのマクロブロック量子化スケール係数ＱMBを連続的に加算する。これと同時に、第１加算器９２と第１ラッチ９３の組合せはアキュムレータとして動作して、フレームまたはピクチャを符号化するためにそれまでに使用されたビット数を連続的に加算する。
フレームまたはピクチャ内のマクロブロックのすべて（その数はＮMBと呼ぶ）が処理されたとき、ラッチ９７にはビットレート・レギュレータ４９から得たマクロブロック量子化スケール係数ＱMBのすべての和が入っており、ラッチ９３にはピクチャまたはフレームを符号化するために使用されたビットの全ての和Ｔpicが入っている。除算器９８はピクチャまたはフレームに含まれる全マクロブロック量子化スケール係数ＱMBの総和を、ピクチャまたはフレームに含まれるマクロブロック数ＮMBで除した商を出力する。この商は、そのフレームまたはピクチャの平均量子化スケール係数
0003703488.tif 000003
である。乗算器９４は
0003703488.tif 000004
の積を出力し、これはそのピクチャの符号化複雑度(coding complexity：Ｘpicと呼ぶ）である。つまり、
0003703488.tif 000005
である。ピクチャまたはフレームの終わりで、符号化複雑度信号Ｘpicはクロック信号（図示せず）に応答して第２ラッチ９５にラッチされる。上述したサイクルは、符号化されるビデオ信号内の各フレームまたはピクチャごとに繰り返される。
次に、符号化複雑度Ｘpicはラッチ９５からビットレート・アロケータ３０（図４）の入出力コントローラ３４の複雑度入力端子へ送られ、そこで残余の処理が行われて、ＧＯＰの符号化複雑度が得られる。ＧＯＰの符号化複雑度（ＸGOPと呼ぶ）はそのＧＯＰに含まれる全ピクチャのＸpicの総和である（式（１）を参照）。
0003703488.tif 000006
μＰ３１はアキュムレータの働きをして、各Ｘpic値を入出力コントローラ３４から取り出し、ＧＯＰに含まれる全フレームまたはピクチャにわたってその総和をとる。
ＧＯＰ内のフレームまたはピクチャ数（Ｎと呼ぶ）は一般に一定のままになっている。Ｎが一定である間に、ＸGOPは、最新ピクチャの符号化複雑度値Ｘpicを加算し、その符号化複雑度値をＧＯＰの最古ピクチャから減算することによって、スライディングウィンドウ単位で計算される。この場合には、ＸGOPの更新値は各フレームまたはピクチャのあとで得られる。なお、Ｎは変化することもある。Ｎが変化したときは、新たに定義されたＧＯＰのＸGOPは、式（１）に示すように、新たに定義されたＧＯＰ内の新しい数の先行ピクチャからの符号化複雑度値Ｘpicの総和をとることによって計算しなければならない。
上述したように、異なるチャネルは異なるフレームまたはピクチャ・レートで動作することが起こり得る。例えば、標準ビデオ・フレーム・レート（米国の場合）は毎秒２９．９７フレームであり、フィルムイメージでは毎秒２４フレーム、カートーンでは毎秒１５フレームである。また、チャネルが異なると、ＧＯＰに含まれるピクチャまたはフレーム数が異なることも起こり得る。従って、チャネルが異なると、ＧＯＰ時間周期が異なることが起こり得る。そのような条件下でチャネルにビットを正確に割り当てるためには、そのようなことが起こったときの複数のチャネルのＧＯＰ符号化複雑度値は、各チャネルについて式（１）で得たＧＯＰ複雑度値を、そのチャネルのＧＯＰ時間周期（ＧＯＰtimeと呼ぶ）で除することにより、ビットレート・アロケータ３０で時間正規化される（式（２）を参照）。
0003703488.tif 000007
正規化されたＧＯＰ符号化複雑度値（ＸｎｏｒｍGOPと呼ぶ）は、ビットを異なるチャネル間で割り当てるために使用される。こうようなシステムで複雑度値をサンプリングし、割当量を生成するタイミングについては、以下で詳しく説明する。
図５に戻って説明すると、上述したように、各マクロブロックごとに、ビットレート・レギュレータ４９は可変量子化器４６に対して量子化スケール係数信号ＱMBを生成し、そのあと、そのマクロブロックを符号化するために使用されたビット数ＴMBを示す信号を出力バッファ４８から受信する。これらの信号は、別の方法として、ビットレート・アロケータ３０（図４）内の入出力コントローラ３４へ直接に送ることも可能である。そのあと、μＰ３１は該当の符号化複雑度測定値を内部で計算することができる（式（１）または式（１）と（２）から）。
さらに、伝送を単純化するために、各ピクチャの符号化複雑度値Ｘpicをスケーリングすることが可能である。好ましい実施例では、この値は、乗算器９４のあとで８ビット数にスケーリングされている。このスケーリングされた値はビットレート・アロケータ３０（図４）に渡される。コンピュータ・システムは、Ｎが変化した場合に符号化複雑度値の再計算を可能にするといった他の理由で、ピクチャ複雑度値Ｘpicのファイルを、例えば、大量記憶デバイス（図示せず）に保管しておくことが望ましい場合もある。一時間の８ビットＸpic値をストアするには、標準ビデオでは１０８キロバイト（ＫＢ）、フィルムでは８６ＫＢが必要になる。
以下の説明では、Ｘiは、ｉ番目のチャネル・プロセッサからのＸGOP（すべてのチャネルが同じＧＯＰ時間周期をもつ場合）またはＸｎｏｒｍGOP（異なるＧＯＰ時間周期をもつチャネルが存在する場合）のうち現在利用可能であって、該当するものを表している。ビットレート・アロケータ３０（図１）は、次の割当量周期の間の伝送リンクにおける利用可能ビット数の割当てを表しているそれぞれの割当量（Ｑ）信号を、複数のチャネル・プロセッサ１０を構成するＫ個のチャネル・プロセッサのすべてからの符号化複雑度値Ｘiに基づいて生成する。マルチプレクサ２０（図１）の出力端子からの、あらかじめ決められた伝送リンク・ビットレート（Ｒと呼ぶ）は、ｉ番目のプロセッサがＲiと名づけられたビットレート割当てを受け取るように、複数のチャネル・プロセッサ１０間で割り当てられる。
伝送リンクにおけるビットレートを異なるチャネルに割り当てる１つの方法は、複数のチャネル・プロセッサ１０（図１）のすべてについて（上述したように、スライディングウィンドウ単位で）先行ＧＯＰ周期の現在利用可能な符号化複雑度Ｘiに基づいたリニア割当(linear allocation)である。この方法では、各プロセッサｉは、そのエンコーダの符号化複雑度Ｘiがすべてのエンコーダの総符号化複雑度と係わりがあるので、総ビット容量Ｒの同一割当量Ｒiを受け取る（式（３）を参照）。
0003703488.tif 000008
なお、下限ビットレート割当て以下になると、再現イメージの品質が急激に低下することが分かっている。さらに、図示の実施例では、次の割当量周期の間のビットレート割当ては、先行ＧＯＰからの複雑度測定値に依存している。従って、シーンが単純なイメージから複雑なイメージに変化する場合は、新しいシーンの割当てが先行の単純シーンに基づいているので、新しい複雑なシーンを符号化するために割り当てられたビット数が不足することになる。
伝送リンクにおけるビットレートを異なるチャネルに割り当てる別の方法によれば、各エンコーダｉへの最小限ビットレート割当てＲＧiが保証され、式（３）に示すように、残りのビットは線形的に割り当てられる（式（４）を参照）。
0003703488.tif 000009
各チャネルに保証される最小限ビットレートは、そのチャネル経由で伝送されるビデオの予想される総複雑度および／またはビデオ信号のプロバイダに対するチャネルの値段に応じて異なる場合がある。
伝送リンクにおけるビットを異なるチャネルに割り当てる、さらに別の方法によれば、各エンコーダｉに重み係数Ｐiを用意し、重み係数Ｐiで重み付けされた符号化複雑度値Ｘiに応じてビットを比例的に割り当てている（式（５）を参照）。
0003703488.tif 000010
式（４）の最小限保証割当て方法と同じように、重み係数Ｐiはチャネル経由で伝送されるビデオ信号の予想される総複雑度および／またはビデオ信号のプロバイダに対するチャネルの値段によって左右される場合がある。
伝送リンクにおけるビットを異なるチャネルに割り当てる好ましい方法は、式（５）の重み付け割当て方法と式（４）の最小限保証割当て方法を組み合わせたものである。この方法では、各チャネルには最小限割当てが保証され、残余のビットは重付け按分法で割り当てられる（式（６）を参照）。
0003703488.tif 000011
上述したように、最小限保証割当てと重み係数は、チャネル経由で伝送されるビデオ信号の予想される総複雑度および／またはビデオ信号のプロバイダに対するチャネルの値段によって左右される場合がある。
システムの他のパラメータに応じてビット割当てＲiをさらに改善することが可能である。例えば、上限ビットレート割当値を越えると、再現イメージの品質が改善しないことが分かっている。従って、この上限割当値を越えてビットを割り当てることは、伝送リンクにおけるビットを無駄に消費することになる。また、伝送リンクの運用者には、各チャネルごとに上記最大限ビットレート割当てＲmax（これは上記の上限ビットレート割当値を反映する場合がある）および／または最小限ビットレート割当てＲminが課される場合もある。
さらに、ビットレート制御が変動する可能性を最小限にし、従って、ビットレート制御の安定性を最大限にするためには、あるチャネルの、ある割当量周期から次の割当量周期までのビットレート割当ての増加αおよび／または減少βの最大限の増分量（インクリメント）が課される場合がある。上述したように、上限ビットレート割当値、最大限および最小限ビットレート割当て、および増減の最大限増分量の値じゃチャネルが異なると、異なることがあり、そのチャネル経由で伝送されるビデオ信号の予想される総複雑度およびビデオ信号のプロバイダに対するチャネルの値段によって左右されることがある。さらに、増減の最大限および最小限増分量は、チャネルのバッファの空き度または満杯度に応じて動的に変化することも起こり得る。
さらに、割り当てられるビットレートは、バッファ管理が行えるように、例えば、ＣＢＲエンコーダ１０（図１）の出力バッファ４８および対応する受信側デコーダ（図示せず）の入力バッファがオーバフローまたはアンダフローしないようにさらに改善することが可能である。エンコーダのバッファ・サイズＥが不等式（７）に示すように制御される場合には、明示的なバッファ管理は不要である。式において、Ｄはデコーダの固定バッファ・サイズである。
0003703488.tif 000012
エンコーダ側バッファ・サイズが不等式（７）に従って選択されていれば、ビットレート割当ては、エンコーダ側とデコーダ側のどちらのバッファにもオーバフローまたはアンダフローを引き起こさないで、ＲminからＲmaxまで変化させることが不可能である。なお、この方法によると、エンコーダ側バッファのサイズが不当に制限されるので、レート制御の柔軟性が不当に制限される。
別のバッファ管理方式は適応方式であり、固定パラメータＲminとＲmaxではなく、現在の瞬時ビットレートを使用してバッファ管理を行うものである。デコーダ側バッファ・サイズは最高レートＲmaxで伝送されたデータを処理できるように選択されているので、ビットレート割当てはデコーダ側バッファにオーバフローを引き起こすことなく、常に増加（システム最大値Ｒmaxまで）することが可能である。しかるに、エンコーダ側バッファにすでに存在するデータがそのデコード時以前にデコーダ側バッファに伝送されることを保証するには、維持しなければならない瞬時最小限ビットレートが存在する。従って、デコーダ側バッファにアンダフローが起こらないことを保証する最小限ビットレートは動的に計算しなければならない。
この最小限ビットレート割当てを動的に計算する際、ビットレート割当てを減少するときは、新たに判断されるエンコーダ側バッファ・サイズと、ある先行時間量の間にエンコーダ側バッファにすでに存在するデータ量の両方を考慮に入れなければならない。フレームｎ用の新たに判断されるエンコーダ側バッファ・サイズ（Ｅnと呼ぶ）は式（８）に従って判断される。
0003703488.tif 000013
ただし、Δはシステムの遅延時間であり、これはビデオのフレームがエンコーダに到着した時からそのフレームがデコーダ側に現れる時までの一定の時間遅延である。Ｒnewは新たに提案されたビットレート割当てである。このバッファ・サイズにすると、新ビットレート割当てで安定状態が得られるので、エンコーダ側とデコーダ側のバッファにオーバフローまたはアンダフローが起こらないことが保証される。
なお、上述したように、新たに提案されたビットレート割当てが減少された場合は、システム遅延時間Δに等しい遷移期間が生じ、その期間にエンコーダ側バッファにすでに存在するビット数が多くなりすぎて、新しい減少レートでデコーダに正常に伝送できないことが起こる。新たに提案されたビットレート割当てを改善する１つの提案方法では、実際にはエンコーダ側バッファに置かれているビット数（ｅと呼ぶ）（バッファ満杯）を最初に調べて、システム遅延時間Δにおけるフレーム数（Γと呼ぶ）を確かめている。次に、先行フレーム数Γの最大バッファ満杯数（ｅmax,Γ）は式（８）から求めた、新たに判断されたエンコーダ側バッファ・サイズと比較される。先行フレーム数Γからのすべてのビットが受信側デコーダに正常に伝送されることを保証する、チャネルｉの最小限減少ビットレート割当てＲreducedは式（９）で求められる。
0003703488.tif 000014
上記のような限界値がマルチプレクサ・システムで課されている場合は、ビットレート割当てが式（３），（４），（５）または（６）に従って計算されたあと、これらのビットレート割当てがチェックされ、そのチャネルの現在の上限と下限の範囲内にあるかどうかが判断される。最初に、各チャネルｉの上限と下限が判断される。任意の割当量周期ｋの間の上限ビットレート割当て（Ｒiupper[k]と呼ぶ）は先行割当量周期ｋ−１にわたる最大許容増加割当てと、最大ビットレート割当て限界値とのうちの最小のものである（式（１０）を参照）。
0003703488.tif 000015
任意の割当量周期ｋの間の下限ビット割当てＲilower[k]は、最小限ビットレート割当てと、先行割当量周期ｋ−１にわたる最小許容減少割当てと、式（９）から求めた最小限バッファ管理減少ビットレート割当てのうちの最大のものである（式（１１）を参照）。次に、チャネルのビットレート割当ての調整が行われる。
0003703488.tif 000016
いずれかのチャネル用に割り当てられたビットレートがどちらかの限界値を越えたときは、そのチャネルのビットレート割当てとはその限界値にセットされ、利用可能な残余ビットレートは他のチャネル間で再割当てされる。例えば、チャネルｉに割り当てられたビットレート（式（３），（４），（５）または（６）で計算したもの）がそのチャネルの上限値（式（１０）で計算したもの）より大であれば、チャネルｉのビットレートはその上限値Ｒiupperにセットされる。逆に、ビットレートが式（１１）で計算した下限値より小であれば、ビットレートはその下限値Ｒilowerにセットされる（式（１２）を参照）。
0003703488.tif 000017
ビットレート割当てのいずれかが式（１０），（１１）および（１２）の制限的演算によって変更されたときは、利用可能な残余ビットレートは制限を受けないチャネル間で、式（３），（４），（５）または（６）に従って再割当てされる。そのあと、これらのチャネルは、再度、式（１０），（１１）および（１２）の限界値と突合わせ検査される。このサイクルは、すべてのビットレートが割当てが完了するまで繰り返される。上記実施例では、符号化複雑度周期はスライディング・ウィンドウをベースとするピクチャ単位で判断されたＧＯＰ周期であり、これは十分な持続時間になっているため、ある割当量周期から次の割当量周期までの、チャネルにおけるビットレート割当ての変更が一般的に相対的に小さくなるようにしている。その結果、式（１０），（１１）および（１２）はまれにしか呼び出されないようになっている。
符号化複雑度のサンプリングと符号化複雑度に基づく更新ビットレートの生成のタイミングは、チャネルが異なるＧＯＰ時間周期で動作する場合には複雑になっている。しかるに、そのような場合に正確な符号化複雑度サンプリングとビットレート割当量の割当てが得られるようにするアプローチがいくつかある。第１のアプローチでは、各チャネルが各ＧＯＰの中で同数の割当量更新周期をもつような形で一定の割当量更新周期が計算される。このアプローチでは、ＧＯＰ当たりのサンプルと割当量更新周期の数はチャネルとチャネルとの間で変化することがあるが、どのチャネルの場合も、ＧＯＰ内の上記サンプルと割当量更新周期は一定になっている。第２のアプローチでは、サンプルがとられ、いずれかのチャネルが新しいＧＯＰを開始すると新しい割当てが生成され、新しい割当量で割り当てられるビット数は先行サンプルから現サンプルまでの時間の長さを考慮に入れて計算される。第３のアプローチは第２アプローチの変形であり、サンプルがとられ、割当量更新制御信号に応答して新しい割当てが生成される。割当量更新制御信号のタイミングは、上述したように、任意的であるが、どのチャネルにおいてもピクチャまたはフレーム当たりの更新が一回までであることが条件である。第３アプローチでは、新しい割当量で割り当てられるビット数は先行サンプルから次のサンプルまでの時間の長さを考慮に入れて計算される。
図７は、第１アプローチを使用するシステムでのサンプリングと割当量更新を示すタイミング図である。図面を簡単にするために、図には２チャネルしか示されていない。図７において、チャネル１はフレームレートが毎秒約３０フレーム（米国の場合）である標準ビデオを伝送するチャネルの例である。チャネル２はフレームレートが毎秒２４フレームであるフィルムを伝送するチャネルの例である。これらのチャネルの各々は、ＧＯＰ当たりのフレーム数が１２であるものと想定している。従って、チャネル１は０．４秒ごとに新しいＧＯＰを開始する。つまり毎秒２．５個のＧＯＰを開始するのに対し、チャネル２は０．５秒ごとに新しいＧＯＰを開始する。つまり、毎秒２個のＧＯＰを開始する。選択されたサンプリングレートは０．１秒ごとに１サンプルになっている。従って、チャネル１では、４つのサンプルと割当量更新が各ＧＯＰにあり、チャネル２では、５つのサンプルと割当量更新が各ＧＯＰにある。サンプリング時刻ｔsは縦の破線で示されている。
サンプル間の時間周期Δｔは一定（０．１秒）であるので、式（３）〜（１２）から求められるビットレート割当てＲiは割り当てられるビット数Ｃiで表すことができ、これはビットレート割当量Ｒiと一定サンプル周期Δｔの積である。つまり、Ci=RiΔｔである。このビットレート割当量Ｒiは未変更のまま使用することも可能である。これらのビットレート割当ては、「トークン・リーキィバケット(token and leaky bucket)」方式と呼ばれる公知の方式に従って、チャネル・プロセッサ（図１）で累積して使用することが可能である。
図８は、第２アプローチを上述したように使用するシステムでの符号化複雑度値のサンプリングと割当量更新を示すタイミング図である。図８に示すそれぞれのチャネルは図７に示すものと同じ信号を伝送する。図８に示すように、すべてのチャネルからの現在の符号化複雑度値のサンプルは、いずれかのチャネルが新しいＧＯＰを開始するととられる。新しい割当てはこれらのサンプルの値と、最後のサンプル以後の時間周期Δｔに基づいて行われる。これらのサンプル時刻は図８に縦の破線ｔ１〜ｔ８で示されている。ただし、ｔ２、ｔ３、ｔ４、ｔ６およびｔ８はチャネル１におけるＧＯＰの開始に対応し、ｔ１、ｔ３、ｔ５およびｔ７はチャネル２におけるＧＯＰの開始に対応している。ｔ３は両方のチャネル１と２におけるＧＯＰの開始に対応するサンプル時刻を示しているが、そのような時刻が現れることは必要条件ではない。
各サンプル時刻に、すべてのチャネルにおける現在の符号化複雑度値（先行ＧＯＰからのもので、スライディング・ウィンドウをベースとするピクチャ単位で利用可能である）がサンプリングされる。式（１）〜（１２）は、次のビットレート割当量の大きさを計算するために使用できるが、割当てのために利用できる実際のビット数を求めるには、最後のサンプル以後の時間量Δｔを考慮に入れなければならない。異なるサンプル周期を正しく補償するためには、式（３）〜（１２）における総利用可能ビットレートＲに、割当てのために利用できるビット数Ｃが代入されるが、これは総利用可能ビットレートＲとサンプル周期Δｔの積である。つまりＣ＝ＲΔｔである。式（３）〜（１２）で求めたビット数はそれぞれのチャネル・プロセッサ１０（図１）に割り当てられたあと、チャネル・プロセッサは、上述したように「トークン・リーキィバケット」方式を使用して割当てビットを累積して使用する。
図９は、第３アプローチを上述したように使用するシステムでの符号化複雑度値のサンプリングと割当量更新を示すタイミング図である。図９に示すそれぞれのチャネルは図７および図８におけるものと同じ信号を伝送する。図９に示すように、すべてのチャネルからの現在の符号化複雑度値のサンプルは任意の時刻にとられるが、これは、例えば、マルチプレクサ２０（図１）から出される割当量更新信号で制御することが可能である。新しい割当てはこれらのサンプルの値と、最後のサンプル以後の時間周期に基づいて生成される。これらのサンプル時刻は図９に縦の破線ｔ１−ｔ４で示されている。図９には一定の時間周期Δｔをもつものと示されているが、そのようにすることは必要条件ではない。割当量更新の時間周期は一定のままにしておくことも、ある時間周期から次の時間周期にシフトさせることも、完全に任意的なものにすることも可能であるが、割当量更新信号間の時間インターバルはすべてのチャネルの最短フレーム周期より長く、どのチャネルも単一ピクチャまたはフレーム内で２つの割当量更新を受け取らないようにすることが条件である（これについては上述した）。なお、好ましい実施例では、割当量更新周期は比較的長い時間期間にわたって一定のままになっている。
各サンプル時刻に、すべてのチャネルにおける現在の符号化複雑度値（先行ＧＯＰからのものであって、スライディング・ウィンドウをベースとするピクチャ単位で利用可能である）がサンプリングされる。上述したように、式（３）〜（１２）は次のビットレート割当量の大きさを計算するために使用できるが、この場合には、最後のサンプル以後の時間量Δｔが考慮に入れられ、総利用可能ビットレートＲには割当てのために使用できるビット数Ｃ＝ＲΔｔが代入される。式（３）〜（１２）で求めたビット数はそれぞれのチャネル・プロセッサ１０（図１）に割り当てられたあと、チャネル・プロセッサは上述したように、「トークン・リーキィバケット」方式を使用して割当てビットを累積して使用する。上述したアプローチはいずれも、異なるチャネル５からのビデオ信号が異なるＧＯＰ時間周期をもっているとき、ビットレートをそれぞれのチャネル・プロセッサ１０に正確に割り当てる。
符号化複雑度値のサンプリングと異なるチャネル用の更新ビットレート割合量の生成のタイミングは、チャネルのすべてが同一フレームレートで動作し、ＧＯＰ内のフレーム数が同一である場合には、つまり、すべてのチャネルが同一ＧＯＰ時間周期ＧＯＰtimeをもつ場合には、単純化することが可能である。図６は、そのようなシステムでの符号化複雑度サンプルと割当量更新のタイミングを示すタイミング図である。図６において、各水平線はそれぞれのチャネル１−ｋに対応している。水平線から上方に延びた短い縦線は、Ｉフレームの符号化がそのチャネルで開始される時刻を表し、これはそのチャネルのＧＯＰの開始とみなされる。ＧＯＰの時間周期ＧＯＰtimeはどのチャネルの場合も等しくなっているが、それぞれのチャネルのＧＯＰの開始時刻は異なっている。事実、それぞれのチャネルのＧＯＰの開始時刻が異なっていると、Ｉフレームの符号化がオーバラップしないという点で望ましいことが判明している。このようにすると、異なるチャネル間の複雑度に変化をもたせることができる。
符号化複雑度値を計算するとき考慮に入れるＩフレーム、ＰフレームおよびＢフレームが同数であるかぎり、これらのフレームが異なるＧＯＰからのものであることは重要でない。従って、すべてのチャネルの時間軸を横切る実線で示すように、符号化複雑度値のサンプルは、ＧＯＰ内でいつでもすべてのチャネルから同時にとることができる。そのあと、チャネルのすべてのビットレート割当量の更新をそのサンプルから生成して、チャネル・プロセッサ１０（図１）へ送り返すことができる。
上述のマルチプレクサ・システムは一箇所に配置されたシステムとして説明してきた。しかし、複数のチャネル・プロセッサ１０はビットレート・アロケータ３０およびマルチプレクサ２０から離れたロケーションに置いておくことも可能である。そのようなシステムでは、通信リンクはエンコーダとビットレート・アロケータの間で確立されることになる。その場合には、プロセッサ１０とマルチプレクサとの間で伝送されるビットの一部を、プロセッサからの複雑度情報の伝送に専用することが可能である。
【図１】
0003703488.tif 000018
【図２】
0003703488.tif 000019
【図３】
0003703488.tif 000020
【図４】
0003703488.tif 000021
【図５】
0003703488.tif 000022
【図６】
0003703488.tif 000023
【図７】
0003703488.tif 000024
【図８】
0003703488.tif 000025
【図９】
0003703488.tif 000026