(57)【特許請求の範囲】
【請求項１】
複数の情報信号源と、
複数の前記情報信号源の間で共有可能な最大ビットレートを有するデジタル通信チャネルと、
前記情報信号源のそれぞれと関連付けられている複数の必要量アナライザであって、関連した前記情報信号源による当該チャネルにおけるビットレートの相対的な必要量を表している信号をそれぞれ動的に生成する回路を備えた、複数の必要量アナライザと、
前記情報信号源のそれぞれと関連付けられている複数のデジタルエンコーダであって、関連した情報信号を、ビットレート割り当て信号に応答して、ビットレートセットを有するデジタル信号に符号化する回路を備えた、複数のデジタルエンコーダと、
割り当てられたビットレートを表しているそれぞれの前記ビットレート割り当て信号を、前記必要量アナライザから得られた複数の前記必要量を表している信号に応答して動的に生成する回路を備えたビットレートアロケータと、
を備えたデジタル通信システムであって、
前記情報信号源には、予め決められた最小ビットレートがそれぞれ割り当てられており、
前記ビットレートアロケータにおいて、
前記ビットレート割り当て信号をそれぞれ生成する回路は、前記情報信号源に予め決められた前記最小ビットレートを割り当てると共に、残余のチャネルビットレートの一部を割り当てるようにそれぞれの前記ビットレート割り当て信号を生成し、
前記残余のチャネルビットレートは、最大チャネルビットレートから、以前に割り当てられている予め決められた前記最小ビットレートを差し引いたものに等しく、前記割り当てられた残余のチャネルビットレートの一部は、全ての前記必要量を表している信号で表された結合必要量に対する、その情報信号源に関連する前記必要量を表している信号で表された必要量の一部に等しい、
ことを特徴とするシステム。
【請求項２】
請求項１に記載のシステムにおいて、
前記情報信号源の各々には、それぞれの予め決められた重み係数が割り当てられ、
前記ビットレートアロケータは、
前記情報信号源が、その情報信号源に関連する前記必要量を表している信号で表された必要量と、全ての前記必要量を表している信号で表された結合必要量との割合に等しい、前記残余チャネルビットレートの割り当て分が割り当てられるように、それぞれの前記ビットレート割り当て信号を生成する他の回路を有する、
ことを特徴とするシステム。
【請求項３】
請求項１に記載のシステムにおいて、
前記情報信号源の各々には、予め定められた最大のビットレート割り当てリミットが割り当てられており、
前記ビットレートアロケータは、
前記ビットレート割り当て信号を生成した後に、それぞれのビットレート割り当てを、それぞれの既定のビットレート割り当てリミットと比較し、もし、あるビットレート割り当てが、割り当てられている既定の最大ビットレート割り当てリミットを越えている場合には、それぞれの前記情報信号源のために以前に生成されたビットレート割り当ての代わりに、予め定められたビットレート割り当てリミットを表すビットレート割り当て信号を生成する回路を有する、
ことを特徴とするシステム。
【請求項４】
請求項１に記載のシステムにおいて、
前記情報信号源の各々には、予め定められたビットレート割り当て増分リミットが割り当てられており、
前記ビットレートアロケータは、
それぞれの前記ビットレート割り当て信号を生成した後に、それぞれのビットレート割り当てを、直前のそれぞれのビットレート割り当て信号で表された対応するビットレート割り当てと比較することにより、それぞれのビットレート割り当て増分を決定し、もし、あるビットレート割り当て増分が、割り当てられた既定のビットレート割り当て増分リミットを超えている場合には、それぞれの前記情報信号源のために以前に生成されたビットレート割り当ての代わりに、直前のビットレート割り当て信号で表されているビットレート割り当てを表すビットレート割り当て信号を生成し、ここで前記直前のビットレート割り当て信号は、予め決められたビットレート割り当て増分リミットにより変更される回路を有する、
ことを特徴とするシステム。
【請求項５】
請求項４に記載のシステムにおいて、
予め定められた前記ビットレート割り当て増分リミットは、ビットレート増加の最大増分であることを特徴とするシステム。
【請求項６】
請求項４に記載のシステムにおいて、
予め定められた前記ビットレート割り当て増分リミットは、ビットレート減少の最大増分であることを特徴とするシステム。
【請求項７】
請求項１に記載のシステムにおいて、
複数の前記情報信号源はそれぞれビデオ信号の信号源であって、該ビデオ信号は、連続したフレーム時間インターバルを有しており、
複数の前記必要量アナライザは、前記ビデオ信号の信号源から与えられた前記ビデオ信号によって表されるイメージの複雑度を推定し、該推定したイメージの複雑度を表す前記必要量を表している信号を生成し、
複数の前記デジタルエンコーダは、関連したビデオ信号を符号化してMPEGデジタル符号化ビデオ信号を形成するMPEGエンコーダであって、該MPEGデジタル符号化ビデオ信号は、前記関連したビデオ信号のフレーム時間の整数倍に等しいGOP時間インターバルを有し、且つ前記デジタルエンコーダは、前記関連したビデオ信号の信号源から得られるビデオ信号と、前記ビットレートアロケータから得られる前記ビットレート割り当て信号とに応答して、前記MPEGデジタル符号化ビデオ信号をほぼ割り当てられたビットレートで生成する回路を有し、
前記ビットレートアロケータは、前記GOP時間インターバルに関連した連続的割り当て時間インターバルにて、前記ビットレート割り当て信号のそれぞれを生成する回路を有する、
ことを特徴とするシステム。
【請求項８】
請求項７に記載のシステムにおいて、
前記GOP時間インターバルのそれぞれは全て同じであり、
前記ビットレートアロケータは、該GOP時間インターバルと同一の割り当て時間インターバルにて、前記ビットレート割り当て信号を生成する回路を有する、ことを特徴とするシステム。
【請求項９】
請求項７に記載のシステムにおいて、
前記GOP時間インターバルのそれぞれは互いに異なっており、
前記ビットレートアロケータは、割り当て時間インターバルの一定整数倍に等しい、それぞれのGOP時間インターバルを選択するような連続的割り当て時間インターバルにて、前記ビットレート割り当て信号をそれぞれ生成する回路を有する、
ことを特徴とするシステム。
【請求項１０】
請求項７に記載のシステムにおいて、
前記GOP時間インターバルのそれぞれは互いに異なっており、
前記ビットレートアロケータは、
前記MPEGエンコーダにより発生されるGOP時間インターバルのそれぞれに合わせて整列した連続的時間インターバルにて、それぞれの前記ビットレート割り当て信号を生成する回路と、
先行する割り当て時間インターバルの持続時間に応答して、前記ビットレート割り当て信号を生成する回路とを有する、
ことを特徴とするシステム。
【発明の詳細な説明】
本発明は、ユーザからの資必要量指示に応じて、複数の競合するユーザ間で不足する乏資源を動的に割り当てるシステムに関する。
発明の背景
不足する資源を複数のユーザ間で共有させることが必要になることがよくある。例えば、それぞれのソース（これはテレビジョン・ネットワーク給電線（television network feeds）やテレビジョン・ステーション、その他のビデオ・ソースである場合がある）からの複数のビデオ信号は結合されて、衛星リンクを経由して消費者の家庭のそれぞれのテレビジョン受信装置へブロードキャストすることが可能である。衛星リンクの例としては、毎秒24メガビット（ZMbps）の伝送能力をもつディジタル伝送経路がある。この種のリンクの効率と利用効率を最大にするためには、複数のビデオ信号がリンクを共有する必要がある。例えば、上記の衛星伝送リンクを少なくとも６つのビデオ信号チャネル間で共有することが望ましい場合がある。この場合、不足する資源は衛星伝送リンクにおけるバンド幅、つまり、ビットレートである。この資源は、伝送システムにおいては、伝送リンクのバンド幅またはビットレートの一部をビデオ信号の各々に割り当てることによって共有されている。
多重化機能を実行する１つの公知方法は、VBRエンコーダの問題のいくつかを解決することを試みているが、この方法では、各チャネル用に一定ビットレート（constant bit rate:CBR）エンコーダを使用している。この種のシステムでは、各チャネルからのビデオ信号はCBRエンコーダに入力されている。CBRエンコーダは、そこに入力されたビデオ信号を表す、ディジタルに符号化されたビットストリームを、あらかじめ決められた一定ビットレートで出力している。一定ビットレートの信号を出力するために、CBRエンコーダはビデオ信号が符号化される量子化レベルの数を絶えず変更している。使用する量子化レベルを少なくすると、これらのレベルを表すために必要なビット数が少なくなるので、ビデオ信号を表すために必要な総ビット数は減少する。逆に、使用する量子化レベルが多くなると、これらのレベルを表すために必要なビット数が多くなるので、イメージを表すために必要な総ビット数は増加する。
しかるに、イメージを表す符号化信号において量子化レベルを変えると、符号化信号から再現されたイメージの品質がこれに応じて変化することになる。使用する量子化レベルを少なくすると、使用する量子化レベルが多い場合よりも、再現イメージの品質が低下することになる。従って、CBRエンコーダでは、空間的および／または時間的に複雑なイメージを表すビデオ信号は、再現イメージの品質が複雑でないイメージの品質よりも低くなるように符号化されている。
CBRエンコーダは一定ビットレートを出力するので、複数のこの種のエンコーダからのビデオ信号の多重化制御は単純化される。各エンコーダには、伝送リンクの総利用可能ビットレートの割当量（quota）を表すビットレートがアプリオリ（a priori）に割り当てられている。ある公知の割当て方法では、伝送リンクの総ビットレートの等分を各エンコーダに割り当てている。しかるに、異なるプログラム・タイプを表すビデオ信号は、内在的に複雑度（complexity）が異なっている。例えば、バスケットボール・ゲームを伝送するビデオ・チャネルは、パネル・ディスカッションを伝送するものよりも複雑度がはるかに大きくなっている。従って、バスケットボール・ゲームを表す符号化ビデオ信号から再現されたイメージの品質は、パネル・ディスカッションのそれよりも低くなる（大幅に低くなることもある）。
もう１つの公知の割当て方法はこの問題を解決することを試みているが、この方法では、符号化される信号の予想イメージ複雑度に基づいて、異なるビットレートを各CBRエンコーダにアプリオリに割り当てている。従って、バスケットボール・ゲームを伝送するチャネルには、パネル・ディスカッションを伝送するチャネルよりも伝送リンクの総ビットレートの大きな割合が割り当てられることになる。このような割当て方法によると、バスケットボール・ゲームとパネル・ディスカッションを表す符号化信号から再現されたイメージの品質はより等しくなる。
さらに別の公知の割当て方法では、信号のプロバイダによる支払額に基づいて伝送リンクの総ビットレートの割合をチャネルに割り当てている。プロバイダがチャネルの伝送に支払う額が多ければ、そのチャネルに割り当てられる伝送リンクの総ビットレートの割合が大になるので、そのチャネルを利用する符号化信号から再現されたイメージの品質は良好化することになる。
発明の概要
しかるに、本願の発明者は、ビデオ信号の複雑度が常にアプリオリ（a priori）に規定できるとは限らないことを認識した。例えば、ニュース放送は複雑度が非常に低いシーン（例えば、デスクの背後に座ってニュースを読んでいるニュース・リーダ）を含み、それと共に、複雑度が非常に高いシーン（例えば、バスケットボール・ゲームのビデオ・クリップ）が散在している。このようなビデオ・チャネルに、伝送リンクの総ビットレートの高い部分がアプリオリに割り当てられたとすると、バスケットボール・ゲームのシーンは許容し得る品質で再現されることになるが、ニュース・リーダのシーンは余りにも高品質で、言い換えれば、必要以上に多いビットで符号化されることになる。逆に、このようなビデオ・チャネルに、伝送リンクの総ビットレートの低い部分が割り当てられていれば、ニュース・リーダのシーンは妥当なビット数を使用して許容し得る品質で再現されることになるが、この割り当てられたビットレートはバスケットボール・ゲームのシーンを許容し得る品質で再現するには不十分であることになる。
さらに、発明者は、各ビデオ・ソースは、平均的に、上記ニュース放送と同じように特徴づけることができるこを認識した。つまり、商業的に関心のある、ほとんどすべてのビデオ信号は複雑度の高いシーンを含み、それと共に、複雑度の低いシーンが散在している。また、発明者は、複雑度の異なるシーンは時間的に相関関係がないことも認識した。さらに、発明者は、どのフレーム周期の期間においても、異なるチャネルのイメージは複雑度が異なること、これらの複雑度の変化も時間的に相関関係がないことを知った。
伝送リンク・ビットレートの不足する資源を、各ユーザの必要量に基づいて動的に割り当てることが望ましいことが判明している。上記の例では、チャネルの現在のイメージ（画像）複雑度に基づいて、ビットレートを異なるチャネルに動的に割り当てることが望ましい。すべてのチャネル用に現在伝送されているイメージの複雑度は評価され、伝送リンクの総ビットレートの割当分は、そのチャネルの現在のイメージの複雑度とすべてのチャネルのイメージの総複雑度との関係となんらかの方法で対応するように、各チャネルに割り当てられる。
本発明の原理によれば、資源を動的に割り当てるシステムは、複数の資源ユーザと、複数の資源ユーザ間で共有可能な最大の利用レベルをもつ資源とを含んでいる。複数の必要量アナライザ（need analyzer）はそれぞれの資源ユーザと関連づけられていて、各々が関連資源ユーザによる資源の相対的必要量を表している、それぞれの信号を動的に生成する。複数のアクセス・コントローラはそれぞれの資源ユーザと関連づけられていて、割当て信号に応答して関連ユーザによる資源へのアクセスを制御する。資源アロケータ（resource allocator）は、関連ユーザの割当て資源利用レベルを表している割当て信号を、必要量アナライザからの複数の必要量を表す信号に応答して動的に生成する。
【図面の簡単な説明】
図１は、本発明によるマルチプレクサ・システムを示すブロック図である。
図２は、図１に示すマルチプレクサ・システムで使用できるチャネル・プロセッサを示すブロック図である。
図３は、図２に示すチャネル・プロセッサで使用できるMPEGエンコーダ（符号器）の一部を示すブロック図である。
図４は、図１に示すマルチプレクサ・システムで使用できるビットレート・アロケータを示すブロック図である。
図５は、図３に示すMPEGエンコーダで使用できるレギュレータを示す詳細ブロック図である。
図６、図７および図８は、複雑度情報のサンプリングを示すタイミング図である。
好ましい実施例の詳細な説明
図１は、本発明に従ったマルチプレクサ・システムを示すブロック図である。図１において、すべての信号経路は単一の信号ラインで示されている。しかし、この分野の精通者ならば理解されるように、図示の信号経路はマルチビット・ディジタル信号をパラレル（並列）で伝達することも、シリアル（直列）で伝達することも可能である。パラレルで伝達する場合は、信号経路は複数の信号ラインで構成されることになり、シリアルで伝達する場合は、信号経路は単一データ・ラインにすることも、および／またはデータ・クロック信号ラインを含めることも可能である。本発明を理解することと密接な関係のない他の制御信号経路とクロック信号経路は、図を簡略化するために図には示されていない。
図１に示すように、複数の入力端子５はビデオ信号（CHANNEL 1−CHANNEL K）のソース（図示せず）に結合され、これらの信号はデータ・リンクを経由して一緒に伝送されるものである。複数の入力端子５は、対応する複数のチャネル・プロセッサ10のそれぞれのデータ入力端子に結合されている。複数のチャネル・プロセッサ10のそれぞれのデータ出力端子はマルチプレクサ（MUX）20の対応するデータ入力端子１−Ｋに結合されている。マルチプレクサ20のデータ出力端子はマルチプレクサ・システムの出力端子15に結合されている。出力端子15は、多重化されたデータ・ストリーム（MUX'ED DATA）を伝送リンク経由で伝送するために利用回路（図示せず）に結合されている。
複数のチャネル・プロセッサ10の各々はさらに、複雑度出力端子と制御入力端子も備えている。複数のチャネル・プロセッサの各々のそれぞれの複雑度出力端子はビットレート・アロケータ（bit rate allocator）30の対応する複雑度入力端子に結合されており、ビットレート・アロケータ30のそれぞれの割当量出力端子（quota output terminal）は複数のチャネル・プロセッサ10の対応する制御入力端子に結合されている。
動作時には、各チャネル・プロセッサは、次の割当量周期（guota period）の間に割り当てられたビットレートを表す信号をその制御入力端子から受信する。次にチャネル・プロセッサは、次の割当量周期の間に、そのデータ入力端子に現れた信号を割り当てられたビットレートでディジタル符号化信号に符号化する。この符号化データ信号はマルチプレクサ20の対応する入力端子に入力される。マルチプレクサ20は公知のように動作し、すべてのチャネル・プロセッサからの信号を結合して多重化データ・ストリームにする。多重化データ・ストリームは、データ・リンクを構成する回路に入力され、これも公知のように伝送される。
符号化プロセス期間に、チャネル・プロセッサ10は符号化される信号の符号化複雑度を表す信号をその複雑度出力端子から出力する。ビットレート・アロケータ30はチャネル・プロセッサ10の複雑度出力端子から信号を受信し、複雑度信号のすべてに基づいて、次の割当量周期の間のビットレート割当量を複数のチャネル・プロセッサ10間で動的に調整する。好ましい実施例では、複雑な信号には、複雑でない信号よりも相対的に高いビットレートが動的に割り当てられるようになっている。ビデオ信号の複雑度を判断し、その複雑度に基づいてビットレートを割り当てるいくつかの方法については、以下で説明する。
図２は、図１に示すマルチプレクサ・システムで使用できるチャネル・プロセッサを示すブロック図である。図２において、図１に示すエレメントと類似のエレメントは同一参照符号で示し、以下では詳しく説明することは省略する。図２に示すように、データ入力端子５はビデオ信号ソース（図示せず）に結合されている。データ入力端子５は一定ビットレート・エンコーダ（constant bit rate encoder−CBR）14のデータ入力端子と複雑度アナライザ（complexity analyzer）16に結合されている。CBRエンコーダ14のデータ出力端子はマルチプレクサ（MUX）20（図１）の入力端子に結合されている。チャネル・プロセッサ10の制御入力端子（CONTROL）はCBRエンコーダ14の割当量入力端子Ｑに結合されている。複雑度アナライザ16の出力端子はチャネル・プロセッサ10の複雑度出力端子（COMPLEXITY）に結合されている。
動作時には、複雑度アナライザ16はデータ入力端子５のビデオ信号の複雑度を分析する。複雑度アナライザ16の出力端子に生成される信号は、入力信号の複雑度を表している。複雑度を表す信号はビットレート・アロケータ30（図１）に入力される。この複雑度信号（および他のチャネル・プロセッサ10の複雑度信号）に応答して、ビットレート・アロケータ30は、そのチャネル・プロセッサ10（および他のチャネル・プロセッサ10）の制御入力端子（CONTROL）へ信号を供給し、この信号はそのチャネル・プロセッサ10に割り当てられたビットレートを表している。CBRエンコーダ14は、そのデータ入力端子とデータ出力端子間にデータ経路をもち、一定ビットレートで符号化された出力信号を出力する。一定ビットレートは、ビットレート・アロケータ30からのチャネル・プロセッサ10の制御入力端子（CONTROL）からの割当量入力端子Ｑにおける信号に応答してセットされる。
CBRエンコーダ14内の回路は、その分析を行う際に複雑度アナライザ16によって利用することも可能である。そのような場合には、図２に破線で示すように、データはCBRエンコーダ14内部から直接に複雑度アナライザ16に渡される。CBRエンコーダ14からのこのようなデータは、入力端子５からのデータを補足することも、そのデータと完全に入れ替わることもできるが、後者の場合には、複雑度アナライザとデータ入力端子５とは直接に接続されない。
好ましい実施例では、各CBRエンコーダ14は、動画専門家グループ（Moving Pictures Expert Group−MPEG）が公表した標準に従ってビデオ信号を圧縮・符号化するエンコーダであり、MPEGエンコーダと呼ばれている。図３は、MPEGエンコーダ14の一部を示すブロック図である。MPEGエンコーダ14の公知コンポーネントは以下で詳しく説明することは省略する。MPEGエンコーダには他のエレメントもあるが、これらは本発明を理解することとは無関係であるので、図面を簡略化するために図示されていない。
図３に示すように、MPEGエンコーダ14のデータ入力端子５（DATA IN）は圧縮・符号化しようとするビデオ信号のソース（図示せず）に結合されている。入力端子５はフレーム・バッファ41の入力端子に結合されている。フレーム・バッファ41は複数のフレーム周期バッファまたはディレイラインと、異なっているが時間的に隣り合うフレームまたはピクチャの部分を表す、それぞれの信号を出力するための複数の出力端子とを備えている。フレーム・バッファ41の複数の出力端子は動き予測器（motion estimator）42の対応する入力端子に結合されている。動き予測器の出力端子は離散コサイン変換（discrete cosine transform−DCT）回路43に結合されている。DCT回路43の出力端子は可変量子化回路（variable quantizer−Qu）回路46のデータ入力端子に結合されている。可変量子化回路46の出力端子は可変長コーダ（variable length coder−VLC）47の入力端子に結合されている。VLC47の出力端子は出力バッファ48の入力端子に結合されている。出力バッファ48のデータ出力端子はMPEGエンコーダ14のデータ出力端子（DATA OUT）に結合されている。MPEGエンコーダ14のデータ出力端子（DATA OUT）はマルチプレクサ20（図１の）の対応する入力端子に結合されている。
出力バッファ48のステータス出力端子はビットレート・レギュレータ49のステータス入力端子に結合されている。ビットレート・レギュレータ49の制御出力端子は可変量子化器（variable quantizer）46の制御入力端子に結合されている。MPEGエンコーダ14の割当量入力端子Ｑはビットレート・アロケータ30の対応する割当量出力端子に結合されている。MPEGエンコーダ14の割当量入力端子Ｑはレギュレータ49の制御入力端子に結合されている。
動作時には、MPEGエンコーダ14は公知のように動作して、その入力端子に現れたビデオ信号を、そのＱ入力端子に現れた信号によって決まるビットレートで次の割当量周期の間に圧縮・符号化する。以下の例では、MPEGエンコーダが12ピクチャまたはフレームからなるグループ（GOP）に分割されたビデオ信号を符号化する場合について説明する。なお、当然に理解されるように、GOPにおけるピクチャまたはフレーム数は可変である。また、以下の例では、各MPEGエンコーダ用のビットレート割当ては各GOPごとに一度更新されるものと想定している。つまり、割当量周期がGOP期間であるものと想定している。なお、この場合も当然に理解されるように、割当量周期は異なる場合があり、時間の経過と共に変化する場合もある。
フレーム・バッファ41は、例示のGOP内の12フレームのうち現在符号化されている部分を表しており、動き予測を行うために必要なデータを受信し、ストアする。その方法については、以下で説明する。このデータは動き予測器42に渡される。好ましい実施例では、12フレームまたはピクチャの最初の１つは参照フレーム（Ｉフレーム）として使用され、動き予測器を経由してDCT回路43へ渡される。残りのフレームについては、各ピクチャまたはフレームに含まれる複数の16ピクセル×16ライン・ブロックの各々ごとに、動きベクトル（motion vector）が先行フレーム（Ｐフレーム）単独から、あるいは先行フレームと後続フレーム（Ｂフレーム）の両方からインタポレートされたものから、動き予測器42で生成される。なお、このブロックはMPEG標準ドキュメントではマクロブロック（macroblock）と名づけられている。上述したように、フレーム・バッファ41は、動き予測器が先行フレームまたは先行フレームと後続フレームからインタポレートしたものから予測を行うとき必要になるデータを格納している。特定フレームの生成された動きベクトルは、そのあと、予測しようとするフレームに含まれる実際のデータと比較され、動き差信号（motion defference signal）が生成され、DCT回路43に渡される。
DCT回路43では、Ｉフレームからの空間的データの16ピクセル×16ライン・マクロブロックとＰフレームとＢフレームからの動き差信号とは、６個の８ピクセル×８ライン・ブロック（４個のルミナンス・ブロック（luminance block）と、サブサンプリングされた２個のクロミナンス・ブロック（chrominance block））に分割される。なお、以下の説明では、これらのブロックはMPEG標準ドキュメントに従ってマクロブロックと呼ぶことにする。離散コサイン変換が各マクロブロックについて行われる。その結果得られたDCT係数の８×８ブロックは可変量子化器46に渡される。係数の８×８ブロックは量子化され、ジグザグ順にスキャンされ、VLC47に渡される。量子化されたDCT係数、およびGOPを表す他のサイド情報（符号化GOPのパラメータに関するもの）はVLC47でランレングス符号化（run−length coding）によって符号化され、出力バッファ48に渡される。
VLC47の出力ビットレートを制御し、もってMPEGエンコーダ14用に割り当てられた一定ビットレートを保つ最も直接的方法は、可変量子化器46でDCT係数の各ブロックを量子化するとき使用される量子化レベル数（言い換えれば、量子化ステップ・サイズ）を制御することであることは知られている。ビットレート・レギュレータ49から可変量子化器46に渡された制御信号Ｑはこの制御機能を実行する。ビットレート・アロケータ30（図１）からの連続的ビットレート割当量更新信号Ｑ相互間の期間である割当量周期内に、ビットレート・レギュレータ49は制御信号を可変量子化器46へ送り、この制御信号はGOP内の各16×16マクロブロックが量子化されるレベル数を変更して、割り当てられたビットレートをその割当量周期の間維持するようにするが、これは公知である。この例では、ビットレート・レギュレータ49のビットレート割当ては、各チャネルにおけるビデオ信号の符号化複雑度値に応じて、各GOP期間ごとに変化するが、これについては以下で説明する。
好ましい実施例では、ビットレート・アロケータ30（図１）は、複数のチャネル・プロセッサ10内の種々回路コンポーネントに結合された接続個所をもつコンピュータ・システムである。図４はビットレート・アロケータ30を構成するハードウェアを示すブロック図である。図４に示すように、マイクロプロセッサ（μＰ）31は、コンピュータ・システム・バス35を介して読み／書きメモリ（RAM）32、リードオンリメモリ（ROM）33および入出力（I/O）コントローラ34に結合されている。コンピュータ・システムには、大量記憶デバイスやユーザ端末などの他のコンポーネントもあるが、これらは図面を簡単にするために図示されていない。入出力コントローラ34は、複数のチャネル・プロセッサ10（図１）の対応する複雑度出力端子に結合された複数の入力端子（COMPLEXITY）と、複数のチャネル・プロセッサ10の対応する割当量入力端子に結合された複数の出力端子（QUOTA）とをもっている。
マイクロプロセッサ31、RAM32、ROM33および入出力コントローラ34は公知のようにコンピュータ・システムとして動作して、ROM33に格納されたプログラムを実行し、データをRAM33にストアし、そこからデータを取り出し、入出力コントローラ34に接続されたデバイスとの間でデータを送受信する。複数のチャネル・プロセッサ10（図１）で符号化されるビデオ信号の現在の符号化複雑度を表しているデータは、これらのチャネル・プロセッサ34の対応する出力端子からCOMPLEXITY入力端子を経由して入出力コントローラ34で受信される。なお、これについては以下で説明する。このデータを受信したことは、例えば、ポーリングや割込みなどの公知の方法でマイクロプロセッサ31に通知される。マイクロプロセッサ31はこれらの信号を入出力コントローラ34からコンピュータ・システム・バス35経由で取り出し、エンコーダの各々ごとに次の割当量周期の間のビット割当量を判断し、その割当量を表している信号を、次の割当量周期の間にQUOTA出力端子を経由して複数のチャネル・プロセッサ10へ渡す。
MPEGエンコーダ14（図３）によって符号化されるビデオ信号の符号化複雑度を判断する好ましい方法では、各16×16マクロブロックの量子化スケール係数（quontization scale factor:QMBと呼ぶ）とそのマクロブロックを符号化するために使用されたビット数（TMBと呼ぶ）が、GOPの各ピクチャまたはフレームに含まれるすべてのマクロブロックについて使用されている。図５はMPEGエンコーダ14（図３）のビットレート・レギュレータ49と、符号化複雑度を表す信号を本発明の方法に従って生成する複雑度アナライザ16（図２）とを示すブロック図である。種々のクロック信号と制御信号は図面を簡略化するために図６には示されていない。なお、どのような信号が必要であるか、さらに、これらの信号の必要なタイミングと電圧特性は自明であるので、説明は省略する。
図５に示す複雑度アナライザ16は、図２に破線で示すようにCBRエンコーダ14からの情報だけを利用する複雑度アナライザの例である。図５に示すように、ビットレート・レギュレータ49は出力バッファ48（図３）のステータス出力端子に結合されたステータス入力端子TMBをもっている。ビットレート・レギュレータ49の制御出力端子QMBは可変量子化器46（図３）の制御出力端子に結合されている。レギュレータ49は、さらに、ビットレート・アロケータ30（図１）の対応する割当量出力端子に結合された制御出力端子（Ｑ）をもっている。
ビットレート・レギュレータ49のステータス入力端子TMBは第１加算器92の第１入力端子にも結合されている。第１加算器92の出力端子は第１ラッチ93の入力端子に結合されている。第１ラッチ93の出力端子は乗算器94の第１入力端子と第１加算器92の第２入力端子に結合されている。乗算器94の出力端子は第２ラッチ95の入力端子に結合されている。第２ラッチ95の出力端子は符号化複雑度出力端子Xpicに結合されている。複雑度出力端子Xpicはビットレート・アロケータ30（図１）の対応する複雑度入力端子に結合されている。
ビットレート・レギュレータ49の制御出力端子QMBは第２加算器96の第１入力端子にも結合されている。第２加算器96の出力端子は第３ラッチ97の入力端子に結合されている。第３ラッチ97の出力端子は除算器（divider）98の分子入力端子Ｎと第２加算器96の第２入力端子に結合されている。除算器98の出力端子は乗算器94の第２入力端子に結合されている。レジスタ99は除算器98の分母入力端子Ｄに結合された出力端子をもっている。
動作時には、各マクロブロックごとに、ビットレート・レギュレータ49は可変量子化器46の量子化スケール係数信号QMBを、現在のビットレート割当量と先行ピクチャを符号化するために使用されたビット数に基づいて公知のように生成し、そのあと、そのマクロブロックを符号化するために使用されたビット数TMBを示している信号を出力バッファ48から受信する。可変量子化器46（図３）は、各マクロブロックに含まれるDCT係数を量子化スケール係数QMBに従って量子化する。量子化スケール係数QMBは量子化ステップ・サイズ、つまり、各量子化レベルにおいてDCT係数が全ダイナミックレンジに占めるパーセンテージを表している。QMBの値が高いときは、大きな量子化ステップ・サイズが存在し、従って、量子化レベルが少ないことを意味する。逆に、QMBの値が低いときは、小さな量子化ステップ・サイズが存在し、従って、量子化レベルが多いことを意味する。好ましい実施例では、QMBは５ビット整数（１と31の間の値をもつ）になっている。
次に、完全ピクチャまたはフレームに含まれるすべてのマクロブロックの平均量子化スケール係数（
0003583432.tif 000002
と呼ぶ）が以下のように計算される。各フレームまたはピクチャの始まりで、ラッチ93と97はクリア信号（図示せず）に応答してゼロにクリアされる。第２加算器96と第３ラッチ97の組合せはアキュムレータとして動作して、ビットレート・レギュレータ49からのマクロブロック量子化スケール係数QMBを連続的に加算する。これと同時に、第１加算器92と第１ラッチ93の組合せはアキュムレータとして動作して、フレームまたはピクチャを符号化するためにそれまでに使用されたビット数を連続的に加算する。
フレームまたはピクチャ内のマクロブロックのすべて（その数はNMBと呼ぶ）が処理されたとき、ラッチ97にはビットレート・レギュレータ49から得たマクロブロック量子化スケール係数QMBのすべての和が入っており、ラッチ93にはピクチャまたはフレームを符号化するために使用されたビットの全ての和Tpicが入っている。除算器98はピクチャまたはフレームに含まれる全マクロブロック量子化スケール係数QMBの総和を、ピクチャまたはフレームに含まれるマクロブロック数NMBで除した商を出力する。この商は、そのフレームまたはピクチャの平均量子化スケール係数
0003583432.tif 000003
である。乗算器94は
0003583432.tif 000004
とTpicの積を出力し、これはそのピクチャの符号化複雑度（coding complexity:Xpicと呼ぶ）である。つまり、
0003583432.tif 000005
である。ピクチャまたはフレームの終わりで、符号化複雑度信号Xpicはクロック信号（図示せず）に応答して第２ラッチ95にラッチされる。上述したサイクルは、符号化されるビデオ信号内の各フレームまたはピクチャごとに繰り返される。
次に、符号化複雑度Xpicはラッチ95からビットレート・アロケータ30（図４）の入出力コントローラ34の複雑度入力端子へ送られ、そこで残余の処理が行われて、GOPの符号化複雑度が得られる。GOPの符号化複雑度（XGOPと呼ぶ）はそのGOPに含まれる全ピクチャのXpicの総和である（式（１）を参照）。μP31は
0003583432.tif 000006
アキュムレータの働きをして、各Xpic値を入出力コントローラ34から取り出し、GOPに含まれる全フレームまたはピクチャにわたってその総和をとる。
GOP内のフレームまたはピクチャ数（Ｎと呼ぶ）は一般に一定のままになっている。Ｎが一定である間に、XGOPは、最新ピクチャの符号化複雑度値Xpicを加算し、その符号化複雑度値をGOPの最古ピクチャから減算することによって、スライディングウィンドウ単位で計算される。この場合には、XGOPの更新値は各フレームまたはピクチャのあとで得られる。なお、Ｎは変化することもある。Ｎが変化したときは、新たに定義されたGOPのXgopは、式（１）に示すように、新たに定義されたGOP内の新しい数の先行ピクチャからの符号化複雑度値Xpicの総和をとることによって計算しなければならない。
上述したように、異なるチャネルは異なるフレームまたはピクチャ・レートで動作することが起こり得る。例えば、標準ビデオ・フレーム・レート（米国の場合）は毎秒29.97フレームであり、フィルムイメージでは毎秒24フレーム、カートーンでは毎秒15フレームである。また、チャネルが異なると、GOPに含まれるピクチャまたはフレーム数が異なることも起こり得る。従って、チャネルが異なると、GOP時間周期が異なることが起こり得る。そのような条件下でチャネルにビットを正確に割り当てるためには、そのようなことが起こったときの複数のチャネルのGOP符号化複雑度値は、各チャネルについて式（１）で得たGOP複雑度値を、そのチャネルのGOP時間周期（GOPtimeと呼ぶ）で除することにより、ビットレート・アロケータ30で時間正規化される（式（２）を参照）。正規化されたGOP符号化複雑度値
0003583432.tif 000007
（XnormGOPと呼ぶ）は、ビットを異なるチャネル間で割り当てるために使用される。こうようなシステムで複雑度値をサンプリングし、割当量を生成するタイミングについては、以下で詳しく説明する。
図５に戻って説明すると、上述したように、各マクロブロックごとに、ビットレート・レギュレータ49は可変量子化器46に対して量子化スケール係数信号QMBを生成し、そのあと、そのマクロブロックを符号化するために使用されたビット数TMBを示す信号を出力バッファ48から受信する。これらの信号は、別の方法として、ビットレート・アロケータ30（図４）内の入出力コントローラ34へ直接に送ることも可能である。そのあと、μP31は該当の符号化複雑度測定値を内部で計算することができる（式（１）または式（１）と（２）から）。
さらに、伝送を単純化するために、各ピクチャの符号化複雑度値Xpicをスケーリングすることが可能である。好ましい実施例では、この値は、乗算器94のあとで８ビット数にスケーリングされている。このスケーリングされた値はビットレート・アロケータ30（図４）に渡される。コンピュータ・システムは、Ｎが変化した場合に符号化複雑度値の再計算を可能にするといった他の理由で、ピクチャ複雑度値Xpicのファイルを、例えば、大量記憶デバイス（図示せず）に保管しておくことが望ましい場合もある。一時間の８ビットXpic値をストアするには、標準ビデオでは108キロバイト（KB）、フィルムでは86KBが必要になる。
以下の説明では、Xiは、ｉ番目のチャネル・プロセッサからのXGOP（すべてのチャネルが同じGOP時間周期を持つ場合）またはXnormGOPのうち現在利用可能であって、該当するものを表している。ビットレート・アロケータ30（図１）は、次の割当量周期の間の伝送リンクにおける利用可能ビット数の割当てを表しているそれぞれの割当量（Ｑ）信号を、複数のチャネル・プロセッサ10を構成するＫ個のチャネル・プロセッサのすべてからの符号化複雑度値Xiに基づいて生成する。マルチプレクサ20（図１）の出力端子からの、あらかじめ決められた伝送リンク・ビットレート（Ｒと呼ぶ）は、ｉ番目のプロセッサがRiと名づけたビットレート割当てを受け取るように、複数のチャネル・プロセッサ10間で割り当てられる。
伝送リンクにおけるビットレートを異なるチャネルに割り当てる１つの方法は複数のチャネル・プロセッサ10（図１）のすべてについて（上述したようにスライディング・ウィンドウ単位で）先行GOP周期の現在利用可能な符号化複雑度Xiに基づいたリニア割当て（linear allocation）である。この方法では、各プロセッサｉは、そのエンコーダの符号化複雑度Xiがすべてのエンコーダの総符号化複雑度と係わりがあるので、総ビット容量Ｒの同一割当量Riを受け取る（式（３）を参照）。
0003583432.tif 000008
なお、下限ビットレート割当て以下になると、再現イメージの品質が急激に低下することが分かっている。さらに、図示の実施例では、次の割当量周期の間のビットレート割当ては、先行GOPからの複雑度測定値に依存している。従って、シーンが単純なイメージから複雑なイメージに変化する場合は、新しいシーンの割当てが先行の単純シーンに基づいているので、新しい複雑なシーンを符号化するために割り当てられたビット数が不足することになる。
伝送リンクにおけるビットレートを異なるチャネルに割り当てる別の方法によれば、各エンコーダｉへの最小ビットレート割当てRGiが保証され、式（３）に示すように、残りのビットは線形的に割り当てられる（式（４）を参照）。各チャネル
0003583432.tif 000009
に保証される最小ビットレートは、そのチャネル経由で伝送されるビデオの予想される総複雑度および／またはビデオ信号のプロバイダに対するチャネルの値段に応じて異なる場合がある。
伝送リンクにおけるビットを異なるチャネルに割り当てる、さらに別の方法によれば、各エンコーダｉに重み係数Piを用意し、重み係数Piで重み付けされた符号化複雑度値Xiに応じてビットを比例的に割り当てている（式（５）を参照）。式の最小保証割当て方法と同じように、重み係数Piはチャネル経由で伝送されるビデオ信号の予想される総複雑度および／またはビデオ信号のプロバイダに対するチャネルの値段によって左右される場合がある。
0003583432.tif 000010
伝送リンクにおけるビットを異なるチャネルに割り当てる好ましい方法は、式（５）の重み付け割当て方法と式（４）の最小保証割当て方法を組み合わせたものである。この方法では、各チャネルには最小割当てが保証され、残余のビットは重付け按分法で割り当てられる（式（６）を参照）。
0003583432.tif 000011
上述したように、最小保証割当てと重み係数は、チャネル経由で伝送されるビデオ信号の予想される総複雑度および／またはビデオ信号のプロバイダに対するチャネルの値段によって左右される場合がある。
システムの他のパラメータに応じてビット割当てRiをさらに改善することが可能である。例えば、上限ビットレート割当値を越えると、再現イメージの品質が改善しないことが分かっている。従って、この上限割当値を越えてビットを割り当てることは、伝送リンクにおけるビットを無駄に消費することになる。また、伝送リンクの運用者には、各チャネルごとに上記最大ビットレート割当てRmax（これは上記の上限ビットレート割当値を反映する場合がある）および／または最小ビットレート割当てRminが課される場合もある。
さらに、ビットレート制御が変動する可能性を最小にし、従って、ビットレート制御の安定性を最大にするためには、あるチャネルの、ある割当量周期から次の割当量周期までのビットレート割当ての増加αおよび／または減少βの最大の増分量（インクリメント）が課される場合がある。上述したように、上限ビットレート割当値、最大および最小ビットレート割当て、および増減の最大増分量の値はチャネルが異なると、異なることがあり、そのチャネル経由で伝送されるビデオ信号の予想される総複雑度およびビデオ信号のプロバイダに対するチャネルの値段によって左右されることがある。さらに、増減の最大および最小増分量は、チャネルのバッファの空き度または満杯度に応じて動的に変化することも起こり得る。
さらに、割り当てられるビットレートは、バッファ管理が行えるように、例えば、CBRエンコーダ10（図１）の出力バッファ48および対応する受信側デコーダ（図示せず）の入力バッファがオーバフローまたはアンダフローしないようにさらに改善することが可能である。エンコーダのバッファ・サイズＥが不等式（７）に示すように制御される場合には、明示的なバッファ管理は不要である。式において、Ｄはデコーダの固定バッファ・サイズである。
0003583432.tif 000012
エンコーダ側バッファ・サイズが不等式（７）に従って選択されていれば、ビットレート割当ては、エンコーダ側とデコーダ側のどちらのバッファにもオーバフローまたはアンダフローを引き起こさないで、RminからRmaxまで変化させることが可能である。なお、この方法によると、エンコーダ側バッファのサイズが不当に制限されるので、レート制御の柔軟性が不当に制限される。
別のバッファ管理方式は適応方式であり、固定パラメータRminとRmaxではなく、現在の瞬時ビットレートを使用してバッファ管理を行うものである。デコーダ側バッファ・サイズは最高レートRmaxで伝送されたデータを処理できるように選択されているので、ビットレート割当てはデコーダ側バッファにオーバフローを引き起こすことなく、常に増加（システム最大値Rmaxまで）することが可能である。しかるに、エンコーダ側バッファにすでに存在するデータがそのデコード時以前にデコーダ側バッファに伝送されることを保証するには、維持しなければならない瞬時最小ビットレートが存在する。従って、デコーダ側バッファにアンダフローが起こらないことを保証する最小ビットレートは動的に計算しなければならない。
この最小ビットレート割当てを動的に計算する際、ビットレート割当てを減少するときは、新たに判断されるエンコーダ側バッファ・サイズと、ある先行時間量の間にエンコーダ側バッファにすでに存在するデータ量の両方を考慮に入れなければならない。フレームｎ用の新たに判断されるエンコーダ側バッファ・サイズ（Enと呼ぶ）は式（８）に従って判断される。
0003583432.tif 000013
ただし、Δはシステムの遅延時間であり、これはビデオのフレームがエンコーダに到着した時からそのフレームがデコーダ側に現れる時までの一定の時間遅延である。Rnewは新たに提案されたビットレート割当てである。このバッファ・サイズにすると、新ビットレート割当てで安定状態が得られるので、エンコーダ側とデコーダ側のバッファにオーバフローまたはアンダフローが起こらないことが保証される。
なお、上述したように、新たに提案されたビットレート割当てが減少された場合は、システム遅延時間Δに等しい遷移期間が生じ、その期間にエンコーダ側バッファにすでに存在するビット数が多くなりすぎて、新しい減少レートでデコーダに正常に伝送できないことが起こる。新たに提案されたビットレート割当てを改善する１つの提案方法では、実際にはエンコーダ側バッファに置かれているビット数（ｅと呼ぶ）（バッファ満杯）を最初に調べて、システム遅延時間Δにおけるフレーム数（Γと呼ぶ）を確かめている。次に、先行フレーム数Γの最大バッファ満杯数（ｅmax,Γ）は式（８）から求めた、新たに判断されたエンコーダ側バッファ・サイズと比較される。先行フレーム数Γからのすべてのビットが受信側デコーダに正常に伝送されることを保証する、チャネルｉの最小減少ビットレート割当てRreducedは式（９）で求められる。
0003583432.tif 000014
上記のような限界値がマルチプレクサ・システムで課されている場合は、ビットレート割当てが式（３）、（４）、（５）または（６）に従って計算されたあと、これらのビットレート割当てがチェックされ、そのチャネルの現在の上限と下限の範囲内にあるかどうかが判断される。最初に、各チャネルｉの上限と下限が判断される。任意の割当量周期ｋの間の上限ビットレート割当て（Riupper［ｋ］と呼ぶ）は先行割当量周期ｋ−１にわたる最大許容増加割当てと、最大ビットレート割当て限界値とのうちの最小のものである（式（10）を参照）。
0003583432.tif 000015
任意の割当量周期ｋの間の下限ビット割当てRilower［ｋ］は、最小ビットレート割当てと、先行割当量周期ｋ−１にわたる最小許容減少割当てと、式（９）から求めた最小バッファ管理減少ビットレート割当てとのうちの最大のものである（式（11）を参照）。次に、チャネルのビットレート割当ての調整が行われる。
0003583432.tif 000016
いずれかのチャネル用に割り当てられたビットレートがどちらかの限界値を越えたときは、そのチャネルのビットレート割当てはその限界値にセットされ、利用可能な残余ビットレートは他のチャネル間で再割当てされる。例えば、チャネルｉに割り当てられたビットレート（式（３）、（４）、（５）または（６）で計算したもの）がそのチャネルの上限値（式（10）で計算したもの）より大であれば、チャネルｉのビットレートはその上限値Riupperにセットされる。逆に、ビットレートが式（11）で計算した下限値より小であれば、ビットレートはその下限値Rilowerにセットされる（式（12）を参照）。
0003583432.tif 000017
ビットレート割当てのいずれかが式（10）、（11）および（12）の制限的演算によって変更されたときは、利用可能な残余ビットレートは制限を受けないチャネル間で、式（３）、（４）、（５）または（６）に従って再割当てされる。そのあと、これらのチャネルは、再度、式（10）、（11）および（12）の限界値と突合わせ検査される。このサイクルは、すべてのビットレート割当てが完了するまで繰り返される。上記実施例では、符号化複雑度周期はスライディング・ウィンドウをベースとするピクチャ単位で判断されたGOP周期であり、これは十分な持続時間になっているため、ある割当量周期から次の割当量周期までの、チャネルにおけるビットレート割当ての変更が一般的に相対的に小さくなるようにしている。その結果、式（10）、（11）および（12）はまれにしか呼び出されないようになっている。
符号化複雑度のサンプリングと符号化複雑度に基づく更新ビットレートの生成のタイミングは、チャネルが異なるGOP時間周期で動作する場合には複雑になっている。しかるに、そのような場合に正確な符号化複雑度サンプリングとビットレート割当量の割当てが得られるようにするアプローチが２つある。第１のアプローチでは、各チャネルが各GOPの中で同数の割当量更新周期をもつような形で一定の割当量更新周期が計算される。このアプローチでは、GOP当たりのサンプルと割当量更新周期の数はチャネルとチャネルとの間で変化することがあるが、どのチャネルの場合も、GOP内の上記サンプルと割当量更新周期は一定になっている。第２のアプローチでは、サンプルがとられ、いずれかのチャネルが新しいGOPを開始すると新しい割当てが生成され、新しい割当量で割り当てられるビット数は先行サンプルから現サンプルまでの時間の長さを考慮に入れて計算される。
図７は、第１アプローチを使用するシステムでのサンプリングと割当量更新を示すタイミング図である。図面を簡単にするために、図には２チャネルしか示されていない。図７において、チャネル１はフレームレートが毎秒約30フレーム（米国の場合）である標準ビデオを伝送するチャネルの例である。チャネル２はフレームレートが毎秒24フレームであるフィルムを伝送するチャネルの例である。これらのチャネルの各々は、GOP当たりのフレーム数が12であるものと想定している。従って、チャネル１は0.4秒ごとに新しいGOPを開始する。つまり毎秒2.5個のGOPを開始するのに対し、チャネル２は0.5秒ごとに新しいGOPを開始する。つまり、毎秒２個のGOPを開始する。選択されたサンプリングレートは0.1秒ごとに１サンプルになっている。従って、チャネル１では、４つのサンプルと割当量更新が各GOPにあり、チャネル２では、５つのサンプルと割当量更新が各GOPにある。サンプリング時刻tsは縦の破線で示されている。サンプル間の時間周期Δｔは一定（0.1秒）であるので、上記の式（３）〜（12）は、次のサンプル周期の期間のレート割当を計算するとき未変更のままで使用することができる。これらのビットレート割当ては、「トークン・リーキィバケット（token and leaky bucket）」方式と呼ばれる公知の方式に従って、チャネル・プロセッサ10（図１）で累積して使用することが可能である。
図８は、第２アプローチを上述したように使用するシステムでの符号化複雑度値のサンプリングと割当量更新を示すタイミング図である。図８に示すそれぞれのチャネルは図７に示すものと同じ信号を伝送する。図８に示すように、すべてのチャネルからの現在の符号化複雑度値のサンプルは、いずれかのチャネルが新しいGOPを開始するととられる。新しい割当てはこれらのサンプルの値と、最後のサンプル以後の時間周期Δｔに基づいて行われる。これらのサンプル時刻は図８に縦の破線t1−t8で示されている。ただし、t2、t3、t4、t6およびt8はチャネル１におけるGOPの開始に対応し、t1、t3、t5およびt7はチャネル２におけるGOPの開始に対応している。t3は両方のチャネル１と２におけるGOPの開始に対応するサンプル時刻を示しているが、そのような時刻が現れることは必要条件ではない。
各サンプル時刻に、すべてのチャネルにおける現在の符号化複雑度値（先行GOPからのもので、スライディング・ウィンドウをベースとするピクチャ単位で利用可能である）がサンプリングされる。式（１）〜（12）は、次のビットレート割当量の大きさを計算するために使用できるが、割当てのために利用できる実際のビット数を求めるには、最後のサンプル以後の時間量Δｔを考慮に入れなければならない。異なるサンプル周期を正しく補償するためには、式（３）〜（12）における総利用可能ビットレートＲに、割当てのために利用できるビット数Ｃが代入されるが、これは総利用可能ビットレートＲとサンプル周期Δｔの積である。つまりＣ＝ＲΔｔである。式（３）〜（12）で求めたビット数はそれぞれのチャネル・プロセッサ10（図１）に割り当てられたあと、チャネル・プロセッサは、上述したように「トークン・リーキィバケット」方式を使用して割当てビットを累積して使用する。
上述した２アプローチでは、どちらも、異なるチャネル５からのビデオ信号が異なるGOP時間周期をもっているとき、ビットレートがそれぞれのチャネル・プロセッサ10に正確に割り当てられる。
符号化複雑度値のサンプリングと異なるチャネル用の更新ビットレート割当量の生成のタイミングは、チャネルのすべてが同一フレームレートで動作し、GOP内のフレーム数が同一である場合には、つまり、すべてのチャネルが同一GOP時間周期GOPtimeをもつ場合には、単純化することが可能でる。図６は、そのようなシステムでの符号化複雑度サンプルと割当量更新のタイミングを示すタイミング図である。図６において、各水平線はそれぞれのチャネル１−ｋに対応している。水平線から上方に延びた短い縦線は、Ｉフレームの符号化がそのチャネルで開始される時刻を表し、これはそのチャネルのGOPの開始とみなされる。GOPの時間周期GOPtimeはどのチャネルの場合も等しくなっているが、それぞれのチャネルのGOPの開始時刻は異なっている。事実、それぞれのチャネルのGOPの開始時刻が異なっていると、Ｉフレームの符号化がオーバラップしないという点で望ましいことが判明している。このようにすると、異なるチャネル間の複雑度に変化をもたせることができる。
符号化複雑度値を計算するとき考慮に入れるＩフレーム、ＰフレームおよびＢフレームが同数であるかぎり、これらのフレームが異なるGOPからのものであることは重要でない。従って、すべてのチャネルの時間軸を横切る実線で示すように、符号化複雑度値のサンプルは、GOP内でいつでもすべてのチャネルから同時にとることができる。そのあと、チャネルのすべてのビットレート割当量の更新をそのサンプルから生成して、チャネル・プロセッサ10（図１）へ送り返すことができる。
上述のマルチプレクサ・システムは一箇所に配置されたシステムとして説明してきた。しかし、複数のチャネル・プロセッサ10はビットレート・アロケータ30およびマルチプレクサ20から離れたロケーションに置いておくことも可能である。そのようなシステムでは、通信リンクはエンコーダとビットレート・アロケータの間で確立されることになる。その場合には、プロセッサ10とマルチプレクサとの間で伝送されるビットの一部を、プロセッサからの複雑度情報の伝送に専用することが可能である。
【図７】
0003583432.tif 000018
【図１】
0003583432.tif 000019
【図２】
0003583432.tif 000020
【図３】
0003583432.tif 000021
【図４】
0003583432.tif 000022
【図６】
0003583432.tif 000023
【図５】
0003583432.tif 000024
【図８】
0003583432.tif 000025