(57)【特許請求の範囲】
【請求項１】
複数のコンポーネント信号を表わすデータを運ぶパケットのストリームを作成する伝送ストリーム・エンコーダを動作させる方法において、
パケット・ストリームを、所定数のパケット・スロットを含む連続したグループに分割するステップと、
パケット・スロットのグループ内のパケット・スロットのそれぞれに対応して、複数の優先順位リストを保持するステップで、各優先順位リストは複数のエントリを含み、各エントリは前記複数のコンポーネント信号のそれぞれを識別しており、
前記複数のパケット・スロットの各々に対して、前記複数のパケット・スロットの一つに対応する前記優先順位リスト内の前記複数のエントリを点検するステップと、
前記複数のパケット・スロットの一つに対応する前記優先順位リスト内の前記複数のエントリの各々に対して、
前記複数のエントリの一つにより識別される前記コンポーネント信号が、パケットを作成することができるかを決定するステップ、
および、
前記複数のエントリの一つにより識別される前記コンポーネント信号が、パケットを作成することができる場合、前記識別されたコンポーネント信号を表しているデータを含むパケットを作成するステップと
を備えることを特徴とする方法。
【請求項２】
前記複数のパケット・スロットの一つに対応する前記優先順位リスト中の前記複数のエントリにより識別される前記コンポーネント信号のどれもがパケットを作成することができない場合、ヌル・パケットを作成するステップを備えることを特徴とする請求項１記載の方法。
【請求項３】
前記保持するステップは、ユーザからのデータを受信し、前記複数の優先順位リスト内の前記複数のエントリにエントリを割り当てるステップを備えることを特徴とする請求項１記載の方法。
【請求項４】
前記保持するステップは、
前記複数の優先順位リストの各々の内の前記複数のエントリを、最初のエントリから最後のエントリの順に配列するステップと、
前記点検するステップは、前記最初のエントリから前記最後のエントリまでの順で複数のエントリに対して、前記決定するステップおよび前記作成するステップを実行するステップと
を備えることを特徴とする請求項１記載の方法。
【請求項５】
前記配列するステップは、前記複数の優先順位リストの各々の内の複数のエントリを、優先順位の一番高いエントリを前記最初のエントリとし、かつ優先順位の一番低いエントリを前記最後のエントリとするように置くステップを備えることを特徴とする請求項４記載の方法。
【請求項６】
前記伝送ストリーム・エンコーダは、前記複数のコンポーネント信号のそれぞれの供給源に結合している複数のバッファであって、各バッファは、前記バッファがパケットを作成するのに十分なデータを含んでいるかどうかを表わすフル信号を作成する出力端子を有しているバッファを含み、前記決定するステップは、
前記複数のエントリの一つにより識別されるコンポーネント信号の供給源に結合される前記バッファの前記フル信号を検知するステップと、
前記フル信号が、前記バッファがパケットを作成するのに十分なデータを含むことを表している場合、前記コンポーネント信号がパケットを作成することができると決定するステップと
を備えることを特徴とする請求項１記載の方法。
【請求項７】
前記伝送ストリーム・エンコーダは、前記複数のコンポーネント信号のそれぞれの供給源に結合している複数のバッファであって、各バッファは、前記バッファに対してコンポーネント信号データを作成するようにするイネーブル入力端子を有するバッファを含み、前記作成するステップは、前記複数のエントリの一つにより識別された前記コンポーネント信号の前記供給源に結合された前記バッファに、イネーブル信号を供給するステップを備えることを特徴とする請求項１記載の方法。
【請求項８】
前記伝送ストリーム・エンコーダは、各パケット・スロットの始まりで開始信号を生成する開始信号出力端子、コンポーネント信号データを受信するデータ入力端子、およびパケットのストリームを作成するデータ出力端子を有するパケタイザを含み、前記複数のバッファの各々は、前記パケタイザの前記データ入力端子に結合し、前記コンポーネント信号データを作成するデータ出力端子を含み、前記作成するステップは、
前記パケタイザから開始信号を受信するまで待機するステップと、
前記イネーブル信号を、前記複数のエントリの一つにより識別される前記コンポーネント信号の前記供給源に結合した前記バッファに供給するステップと
を備えることを特徴とする請求項７記載の方法。
【請求項９】
コンポーネント信号の供給源に結合される複数のバッファであって、各々は、パケットを作成するのに十分なデータを含んでいるかを表わすフル信号を作成する出力端子を有しているバッファと、
前記複数のバッファに結合され、所定数のパケット・スロットを含む連続したグループに分割されたパケット・ストリームを作成するパケタイザと、
パケット・スロットの前記グループ内のパケット・スロットのそれぞれに対応している複数の優先順位リストを格納しているメモリであって、各優先順位リストは複数のエントリを含み、エントリのそれぞれは複数のコンポーネント信号の一つを識別しているものと、
前記複数のバッファおよび前記メモリに結合され、前記複数のパケット・スロットの各々の内容を、前記複数のパケット・スロットの一つに対応する前記優先順位リスト内の前記複数のエントリの各々を点検することのより決定し、前記複数のエントリの一つにより識別される前記コンポーネント信号の前記供給源に結合したバッファからのフル信号を検知し、前記フル信号が、前記複数のエントリの一つにより識別される前記コンポーネント信号の前記供給源に結合したバッファがパケットを作成するのに十分なデータを含んでいることを示している場合、前記パケタイザにより前記識別されたコンポーネント信号を表わすデータを含むパケットを作成するスケジューラ・コントローラと
を備えることを特徴とする伝送ストリーム・エンコーダ。
【請求項１０】
前記複数のパケット・スロットの一つに対応する前記優先順位リスト内の前記複数のエントリにより識別される前記コンポーネント信号の前記それぞれの供給源に結合した前記バッファのどれもが、パケットを作成するのに十分なデータを含まない場合、パケタイザによりヌル・パケットを作成させる手段を含むことを特徴とする請求項９記載の伝送ストリーム・エンコーダ。
【請求項１１】
上記パケタイザは、パケット・スロットの始まりを表わす開始信号を作成する出力端子を有し、
各バッファは、前記バッファによりコンポーネント信号データを作成するようにするイネーブル信号を受信する入力端子を有し、
前記スケジューラ・コントローラは、前記開始信号に応答して、そのフル信号がパケットを作成するのに十分なデータを含むことを表している前記バッファに対して、前記イネーブル信号を作成する
ことを特徴とする請求項９記載の伝送ストリーム・エンコーダ。
【請求項１２】
前記メモリ中に格納されている前記複数の優先順位リストを保持するためのユーザ情報の供給源を備えることを特徴とする請求項９記載の伝送ストリーム・エンコーダ。
【請求項１３】
前記ユーザ情報の供給源は、マイクロコンピュータを備えることを特徴とする請求項１２記載の伝送ストリーム・エンコーダ。
【請求項１４】
前記スケジューラ・コントローラは、前記マイクロコンピュータと独立に動作し、前記メモリに直接結合されていることを特徴とする請求項１３記載の伝送ストリーム・エンコーダ。
【請求項１５】
前記スケジューラ・コントローラは、前記マイクロコンピュータにシステム・バスを介して結合されており、前記マイクロコンピュータの制御によりＩ／Ｏアダプタとして動作し、
前記メモリは、前記マイクロコンピュータに前記システム・バスを介して結合されている
ことを特徴とする請求項１３記載の伝送ストリーム・エンコーダ。
【請求項１６】
前記複数のバッファの各々は、コンポート信号データを作成するデータ出力端子を有し、
前記パケタイザは、コンポーネント信号データを受信するデータ入力端子を有し、
前記伝送ストリーム・エンコーダは、前記バッファのそれぞれのデータ出力端子および前記パケタイザのデータ入力端子に共通に結合しているデータ・バスを備える
ことを特徴とする請求項９記載の伝送ストリーム・エンコーダ。
【請求項１７】
各バッファは、所定のユニークな値により識別され、識別信号を受信する識別入力端子を有し、前記所定のユニークな値を有する識別信号に応答してフル信号を生成し、
前記メモリは、複数の優先順位テーブル内の複数のエントリの各々を用いて、前記複数のエントリの一つにより識別される前記コンポーネント信号の前記供給源に結合している前記バッファに対する前記所定のユニークな値を格納しており、
前記スケジューラ・コントローラは、前記複数のバッファのそれぞれの前記識別入力端子に結合している識別出力端子を有し、点検された前記優先順位テーブルの一つの内の前記複数のエントリの一つの前記値を有する識別信号を作成する
ことを特徴とする請求項９記載の伝送ストリーム・エンコーダ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、伝送ストリーム・エンコーダを動作して、複数のコンポーネント信号を表わすデータを運ぶパケットのストリームを作成する方法に関する。特に、本発明は、コンポーネント信号のスロットへの割り当てに柔軟性を与え、パケット・ストリームに挿入されるヌル・パケットの数を最小にすることができる方法に関する。
【０００２】
なお、本明細書の記述は本件出願の優先権の基礎たる米国特許出願第０８／４４２，４２９号（１９９５年５月１６日出願）の明細書の記載に基づくものであって、当該米国特許出願の番号を参照することによって当該米国特許出願の明細書の記載内容が本明細書の一部分を構成するものとする。
【０００３】
【従来の技術】
現在の高品位テレビおよび衛星放送システムでは、プログラムは、動画を表わすビデオ信号と、１つまたはそれ以上のオーディオ信号（ステレオまたは多国語機能用）と、１つまたはそれ以上のデータ信号（クローズド・キャプション、および／または対話型コンピュータ・プログラム・コードおよび／またはデータ）の組み合せを含む。特定の例として、米国のGrand Alliance（グランド・アライアンス）コンソーシアムが提案しているシステムでは、ビデオ信号コンポーネント、２つのオーディオ信号コンポーネントおよび４つの補助データ信号コンポーネントを含むプログラムを提供している。連続したデータ・パケットのストリームが形成され、それぞれのパケットにはコンポーネント信号の１つからのデータが含まれる。この方法では、７種類のコンポーネント信号が１つのパケット・ストリームに時分割多重化されて、伝送リンク上に放送される。
【０００４】
遠隔地でパケット・ストリームに含まれるデータを受信処理して、７種類のコンポーネント信号を再現する。ビデオ信号コンポーネントで表現される画像は表示画面上に表示され、オーディオ信号コンポーネントで表現される音声はスピーカから再現される。補助データ・コンポーネント信号は、遠隔地で適切な回路により処理され、意図したように使用される。たとえば、補助データ・コンポーネント信号の１つがクローズド・キャプション情報を表わす場合、クローズド・キャプション画像を表わすビデオ信号が生成され、この画像信号はビデオ信号コンポーネントを表わす画像信号と組み合される。組み合された画像信号で表現される画像は表示画面上に表示される。
【０００５】
７つのコンポーネント信号を組み合せるために使用する装置は、伝送ストリーム・エンコーダと呼ばれる。国際標準化機構ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１発行の、１９９３年９月の「ＭＰＥＧ−２システム試案（ＩＳＯ／ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ２１／Ｎ０５３１）」と題する、動画および関連オーディオの符号化試案では、伝送ストリーム・エンコーダのブロック図が示されている。このブロック図には、７種類のデジタル・データ信号コンポーネントを表わすデータを一時的に緩衝し、７つの信号コンポーネントのうちの選択した１つを表わすデータを作成するための、入力先入れ先出し（ＦＩＦＯ）バッファおよびデータ・セレクタを含む。このデータはパケタイザ（packetizer：パケット化部）に供給される。スケジューラは、信号コンポーネントのどれを次のパケット・スロットへ入れるか、後述する優先順位方式または固定時間スロット方式のいずれかを使って選択する。選択した信号コンポーネントからのデータを含むパケットを形成するには、スケジューラは、データ・セレクタを調整して、選択した信号コンポーネントの入力ＦＩＦＯの出力端子をパケタイザへ結合し、この入力ＦＩＦＯを調整してパケットに入れるべきデータを作成する。得られたパケットは伝送リンク上へ送信する。
【０００６】
【発明が解決しようとする課題】
知られている優先順位方式(priority scheme) において、コンポーネント信号のリストは、一番高い優先順位のコンポーネント信号から一番低いものの順に保持している。パケットが準備されるごとに、コンポーネント信号のＦＩＦＯは、一番高い優先順位のコンポーネント信号から一番低いものの順に検査される。パケットを形成するのに十分なデータを有すると検出された最初のＦＩＦＯが選択され、次のパケットを形成する。どのＦＩＦＯも十分なデータを有していないとき、ヌル・パケットが挿入される。この方式(scheme)は、上記のGrand Alliance
Consortium により図示されたシステムで使用されている。
【０００７】
この優先順位方式の問題点は、低いデータ速度のコンポーネント信号に、高いデータ速度のコンポーネント信号より高い優先順位を割り当てる必要があることである。これは、高いデータ速度のコンポーネント信号（例えば、ビデオ信号コンポーネント）は、低いデータ速度のコンポーネント信号（例えば、オーディオ信号コンポーネント）よりもより速く、そのＦＩＦＯ中にパケットを形成するのに十分なデータを蓄積し、かつ、これに対して高い優先順位を与えると、低いデータ速度のコンポーネント信号はパケットを形成することができないからである。その上、２以上のプログラムが伝送される場合、２以上の高い速度と低い速度のコンポーネント信号のセットが伝送されている。例えば、２つ以上のプログラムからのプログラムあたり２つのオーディオ信号がある場合がある。オーディオ信号全ては、ほとんど同じデータ速度であり、同程度の重要度であるが、ある信号には、他の信号に対して優先順位を与えなければならない。最後に、優先順位方式は、必要のないヌル・パケットを導入することがある。
【０００８】
知られている固定時間スロット方式(fixed time slot scheme)において、パケット・ストリームは、パケット・スロットの連続したグループに分割される。各コンポーネント信号は、グループ内の１つまたは２つ以上の所定のパケット・スロットに割り当てられる。特定のコンポーネント信号に割り当てられたあるパケット・スロットが形成されるべきときに、このコンポーネント信号のＦＩＦＯがパケットを形成するのに十分なデータを含んでいるかが検査される。
【０００９】
固定時間スロット方式の問題点は、コンポーネント信号が、パケット・スロットのグループ内の特定のパケット・スロットのみに割り当てられていることである。最悪の場合、コンポーネント信号は、（コンポーネント信号が２つ以上のパケット・スロットに割り当てられることが可能であるにもかかわらず）グループ内のただ１つのパケット・スロットに割り当てられることがある。そのパケット・スロットが起きたとき、このコンポーネントのＦＩＦＯがパケットを形成するのに十分なデータを有していない場合、ヌル・パケットがパケット・ストリームに挿入され、次のパケット・スロットで十分なデータを有する場合でも、コンポーネント信号はつぎのグループまで待つ必要がある。この問題点の解決は、大変小さいパケットを使用することである。しかし、これは、パケット・ストリームにオーバヘッドを増加させ、そして、コンポーネント信号が利用可能な全体のデータ速度を減少する。その上、他のコンポーネント信号がそのＦＩＦＯ中にパケットを形成するのに十分なデータを有している場合でも、ヌル・パケットがパケット・ストリームに挿入される。
【００１０】
上記の方式は両方とも、有効なスループット制御ができ、しかもヌル・パケットを最小にするような、十分な柔軟性を欠いている。
【００１１】
本発明において望まれるものは、コンポーネント信号のパケット・スロットへの割り当てを柔軟に行うことができ、パケット・ストリームに挿入されるヌル・パケットを最小にすることができる方式の提供である。
【００１２】
【課題を解決するための手段】
本発明の原理によれば、複数のコンポーネント信号を表わすデータを運ぶパケットのストリームを作成する伝送ストリーム・エンコーダを動作させる方法は、次に述べるステップで構成される。パケット・ストリームは連続したグループに分割され、各グループは、所定数のパケット・スロットを含んでいる。グループ内の各パケット・スロットに対して１つづつ、複数の優先順位リストが保持される。各優先順位リストは複数のエントリを含み、かつ、各エントリはコンポーネント信号の１つを識別している。パケット・スロットが作成されるべきときに、そのパケット・スロットに対応する優先順位リスト内のエントリが、一つずつ点検される(traverse)。このエントリの各々に対して、そのエントリにより識別されるコンポーネント信号がパケットを作成することができるかが決定される。できる場合は、そのコンポーネント信号を表しているデータを含んでいるパケットが作成される。１つの実施例によれば、優先順位リスト中のエントリにより識別されるコンポーネント信号のどれもパケットを作成することができない場合、ヌル・パケットが作成される。
【００１３】
本発明の原理による装置は、コンポーネント信号の供給源に結合される複数のバッファで構成される。各バッファは、パケットを作成するのに十分なデータを含んでいるかを表わすフル信号を作成する出力端子を有する。パケタイザ(packtizer：パケット化部) は、バッファに結合され、連続したグループに分割されたパケット・ストリームを作成する。各グループは、所定数のパケット・スロットをそれぞれ含んでいる。メモリは複数の優先順位リストを格納しており、リストはグループ内の各パケット・スロットに対応している。各優先順位リストは、複数のエントリを有し、エントリの各々はコンポーネント信号を識別する。スケジューラ・コントローラは、パケット・スロットの各々の内容を決定する。スケジューラ・コントローラはこれを、そのパケット・スロットに対応する優先順位中のエントリを点検することのより行う。エントリの各々に対して、スケジューラ・コントローラは、そのエントリにより識別されるコンポーネント信号の供給源に結合したバッファからのフル信号を検知する。フル信号が、そのバッファがパケットを作成するのに十分なデータを含んでいることを示している場合、パケタイザにより、そのコンポーネント信号を表わすデータを含むパケットが作成される。本発明の実施例において、優先順位中のエントリにより識別されたバッファのどこもパケットを作成するのに十分なデータを含まない場合、パケタイザによりヌル・パケットを作成する。
【００１４】
【発明の実施の形態】
図１は、本発明による伝送ストリーム・エンコーダのブロック図である。図１において、図示した信号線は、単一または多数ビットのデジタル信号線を表わす。他の信号、たとえばクロックや制御信号と、他の要素たとえばクロック生成器や同期回路は、図面を簡略化するために図示していない。図示していないがデジタル・システム設計の当業者には、どのような信号が必要とされ、どのように信号を生成してシステム内の適切な場所に分配するかは理解されよう。
【００１５】
図１において、１つまたはそれ以上のプログラム供給源（図示せず）は、対応する複数の入力端子５にそれぞれ結合された、複数のＮ個のデジタル信号コンポーネントを作成する。プログラム供給源は、たとえばＭＰＥＧエンコーダ等のデータ圧縮ネットワークを含み得る。第１、第２および第３の信号コンポーネントは、それぞれ入力端子２、４および６に結合される。Ｎ番目の信号コンポーネントは入力端子Ｎに結合される。図１において、信号コンポーネントはＨＤＴＶまたは衛星ＴＶプログラムを表わす。入力端子２、４および６に結合された第１、第２および第３の信号コンポーネントは、ビデオ信号Ｖ、オーディオ信号Ａおよびクローズド・キャプション情報信号ＣＣをそれぞれ表わしている。このようなプログラム供給源、その動作、および、これらが作成するビデオ、オーディオ、デジタルデータ信号は周知であるから、詳細にわたる説明は行なわない。
【００１６】
複数の入力端子５は、それぞれ対応する複数のＦＩＦＯバッファ１０のデータ入力端子ＤＩへ結合してある。入力端子２、４、６およびＮは、それぞれＦＩＦＯバッファ１２、１４、１６および１Ｎのそれぞれのデータ入力端子ＤＩへ結合される。ＦＩＦＯバッファ１２、１４、１６および１Ｎのデータ出力端子ＤＯそれぞれは、共通にデータ・バス２０へ結合される。データ・バス２０は、パケタイザ３０のデータ入力端子へも結合される。パケタイザ３０の出力端子は出力端子１５へ結合される。出力端子１５は、パケット・ストリームを処理し、これを遠隔地へ放送するための伝送リンク（図示せず）ヘ結合する。伝送リンクとその動作は周知であり、詳細にわたる説明は行なわない。伝送リンクは、符号化、スペクトル整形および変調器ネットワーク等の送信処理ネットワークを含むことがある。
【００１７】
スケジューラ・コントローラ５０は、レディ信号入力端子Ｒと、識別子信号ＩＤおよびイネーブル信号Ｅの出力端子を含む。複数のＦＩＦＯバッファ１０のそれぞれのレディ出力端子Ｒは、それぞれスケジューラ・コントローラ５０のレディ入力端子Ｒへ共通に結合される。スケジューラ・コントローラ５０の識別子出力端子ＩＤは、複数のＦＩＦＯバッファ１０のそれぞれの識別子入力端子ＩＤそれぞれに共通に結合され、スケジューラ・コントローラ５０のイネーブル出力端子Ｅは、複数のＦＩＦＯバッファ１０のそれぞれのイネーブル入力端子Ｅそれぞれに共通に結合される。レディＲ、識別子ＩＤおよびイネーブルＥ端子を共に結合する信号線は、制御バス２２を形成し、これがデータ・バス２０と連係して動作する。パケタイザ３０の開始信号出力端子Ｓは、スケジューラ・コントローラ５０の開始信号入力端子に結合される。メモリ７０はスケジューラ・コントローラ５０に結合される。
【００１８】
ユーザ入力端子２５は、コンピュータ端末（図示せず）等のユーザ入力の供給源へ結合でき、マイクロプロセッサ（μＰ）６０の入力ポートに結合される。μＰ６０は、スケジューラ・コントローラ５０の制御入力端子Ｃに結合する制御出力ポートを有する。１つの実施例において、スケジューラ・コントローラ５０は周知の様態で、スタンドアロン型制御装置として製作することができる。この実施例では、スケジューラ・コントローラ５０は、直接メモリ７０へ結合し、μＰ６０から制御情報だけを受信するそれ自身のプロセッサを含み、メモリ７０への情報の格納と情報の取り出しを制御する。第２の実施例において、スケジューラ・コントローラ５０は、μＰ６０のシステム・バス（図示せず）に結合したＩ／Ｏアダプタとして動作する。この実施例では、スケジューラ・コントローラ５０はμＰ６０で実行するプログラムの制御下で動作する。メモリ７０は、図１の破線で図示したように、μＰ６０のシステム・バス（図示せず）に結合され、μＰ６０がメモリ７０への情報格納および情報取り出しを制御する。
【００１９】
動作において、パケタイザ３０は、直列のパケットのストリームを作成する。それぞれのパケットは、コンポーネント信号の１つからのデータを含むか、または、パケットが形成される時点でそのコンポーネントのＦＩＦＯに十分なデータがない場合には、ヌル・パケットを含む。パケット・ストリームは、パケット・スロットの連続したグループに分割され、それぞれのグループは所定数のパケット・スロットを有する。スケジューラ・コントローラ５０は、どの信号コンポーネントがそれぞれのパケット・スロットに挿入されるかを制御する。以下で詳細に説明するように、スケジューラ・コントローラ５０は、一組の許容できる信号コンポーネントのリストを含み、それぞれのパケット・スロットにリスト１つづつある。リストの組は、スケジューラ・コントローラ５０に付属するメモリ内に格納される。スケジューラ・コントローラ５０がμＰ６０のＩ／Ｏアダプタとして動作する場合、リストの組はμＰ６０内のＲＡＭ（図示せず）に格納され、それ以外の場合には、スケジューラ・コントローラ５０は、このリストの組を含むために自分自身のメモリを含む。どこに格納されるかとは無関係に、このリストの組の内容は、周知の方法で、ユーザ入力端子２５からμＰ６０を経由しての入力により保持される。
【００２０】
それぞれのＦＩＦＯバッファ１０は、所定のユニークなアドレスまたは識別値を有しており、スケジューラ・コントローラ５０は、前述の許容できる信号コンポーネントのリストの一部として、それぞれのＦＩＦＯバッファ１０の識別値をリスト内に保持する。パケット・スロットを埋める時間になったら、そのパケット・スロットについて許容できる信号コンポーネントのリストを検討する。スケジューラ・コントローラ５０は、第１の信号コンポーネントのＦＩＦＯバッファ１０に対する所定のユニークな識別値を含む識別信号をＩＤ信号線上に置く。識別信号は、全てのＦＩＦＯバッファ１０のＩＤ入力端子により共通に受信される。あるＦＩＦＯバッファ１０のＩＤ入力端子により受信した識別信号がそれ自体の識別値と一致した場合、レディ出力端子ＲにＦＩＦＯ内にパケットを埋める十分なデータがあるかどうかを表わすレディ信号を生成する。それ以外の場合では識別信号を無視し、ＦＩＦＯバッファ１０は休止状態である。
【００２１】
スケジューラ・コントローラ５０は、レディ入力端子Ｒでレディ信号を受信する。レディ信号が、パケットを構成するだけの十分なデータがアドレスしたＦＩＦＯバッファ１０にないことを表わす場合、リスト内の許容できる信号コンポーネントの次のエントリがアドレスされ、この次のエントリ中の所定のユニークな識別値を有する識別信号が識別信号線に置かれ、レディ信号が同様に分析される。パケットを形成するのに十分なデータを有するＦＩＦＯバッファ１０が見つかるまで、またはリスト内にエントリがなくなるまで、この処理を繰り返す。
【００２２】
パケタイザ３０は、開始出力端子Ｓに開始信号を生成してパケット・スロットの開始時刻を示す。パケットを形成するのに十分なデータを有するＦＩＦＯバッファ１０が見つかった場合、開始信号がスケジューラ・コントローラ５０で受信された時点で、イネーブル信号がイネーブル出力端子Ｅに作成される。アドレスされたＦＩＦＯバッファ１０はイネーブル信号に応答し、他のアドレスされていないＦＩＦＯバッファ１０はこれを無視して休止状態を続ける。イネーブル信号に応答して、そのＦＩＦＯバッファ１０のデータ出力端子ＤＯがイネーブルとなり、ＦＩＦＯバッファ１０からのデータはデータ・バス２０に供給される。パケタイザ３０は、データ・バス２０からのこのデータを受信してそのデータを含むパケットを生成する。パケタイザがパケットを生成している間に、スケジューラ・コントローラ５０は、複数のＦＩＦＯバッファ１０を検査して、次のパケット・スロットの内容を決定する。しかし、リスト上のＦＩＦＯバッファ１０のどれもがパケットを埋めるのに十分なデータを有していない場合、そのパケット・スロットに対してヌル・パケットが作成される。
【００２３】
図２は、図１に図示した伝送ストリーム・エンコーダで使用するＦＩＦＯバッファ１０のさらに詳細なブロック図である。図２において、信号線は単一のまたは複数ビットのデジタル信号を表わす。他の要素および信号、たとえば同期用および／または刻時用は、図面を簡略化するために図示していない。デジタル回路設計の当業者には、どのような要素と信号が必要で、図示した要素をどのように設計し相互接続するかは理解されよう。
【００２４】
図２において、ＦＩＦＯバッファ１０のデータ入力端子ＤＩはＦＩＦＯ１０２の入力端子に結合される。ＦＩＦＯ１０２の出力端子ＯはＦＩＦＯバッファ１０のデータ出力端子ＤＯに結合される。識別子入力端子ＩＤはアドレス比較器１０４のアドレス入力端子に結合される。アドレス比較器１０４の第１の出力端子はバッファ／ドライバ１０６のイネーブル入力端子に結合され、アドレス比較器１０４の第２の出力端子は２入力ＡＮＤゲート１０８の第１の入力端子に結合される。ＦＩＦＯ１０２のフル出力端子Ｆはバッファ／ドライバ１０６のデータ入力端子に結合される。バッファ／ドライバ１０６のデータ出力端子はＦＩＦＯバッファ１０のレディ出力端子Ｒに結合される。ＦＩＦＯバッファ１０のイネーブル入力端子ＥはＡＮＤゲート１０８の第２の入力端子に結合される。ＡＮＤゲート１０８の出力端子はＦＩＦＯ１０２の出力イネーブル入力端子に結合される。
【００２５】
動作において、アドレス比較器１０４は、制御バス２２経由で（図１の）スケジューラ・コントローラ５０のＩＤ出力端子からの識別信号を受信する。周知の方法で、受信した識別信号をアドレス比較器１０４内においてこのＦＩＦＯバッファ１０に割り当てた所定のユニークな識別値と比較する。受信した識別信号がこのＦＩＦＯバッファ１０の識別値と同一の場合、アドレス比較器１０４の第１と第２の出力端子における信号は、ＦＩＦＯバッファ１０がアドレスされることを表わす第１の状態である。それ以外では、アドレス比較器１０４の第１と第２の出力信号における信号は、第２の状態を有し、このＦＩＦＯバッファがアドレスされていないことを表わす。デジタル回路設計の当業者には、データ・バスの物理的または論理的配置とは無関係に、他のＦＩＦＯバッファ１０に割り当てた識別子と互いに異なる識別子であれば、それぞれのＦＩＦＯバッファ１０にどんな識別子でも予め割り当てておけることが理解されよう。
【００２６】
ＦＩＦＯ１０２は、入力端子Ｉでデータを受信し、周知の方法で内部にこれを一時的に格納する。フル出力端子Ｆの信号は、これも周知の方法で、ＦＩＦＯ１０２に現在格納されているデータ量の指標を与える。（図１の）パケタイザ３０がパケットを形成するのに十分なデータがＦＩＦＯ１０２にある場合、フル出力端子Ｆの信号は第１の状態を有し、それ以外の場合第２の状態を有する。スケジューラ・コントローラ５０がＦＩＦＯバッファ１０をアドレスさせる場合、アドレス比較器１０４からのバッファ／ドライバ１０６のイネーブル入力端子の信号により、バッファ／ドライバ１０６は、ＦＩＦＯ１０２のフル出力端子Ｆからの信号をＦＩＦＯバッファ１０のレディ出力端子Ｒに渡すことになる。ＦＩＦＯバッファ１０がアドレスされない場合、バッファ／ドライバ１０６のイネーブル入力端子の信号により、バッファ／ドライバ１０６は、出力端子を高インピーダンス状態とし、基本的に制御バス２２からＦＩＦＯバッファ１０を切り放す。この方法で、アドレスされたＦＩＦＯバッファ１０だけが制御バス２２のレディ信号線Ｒに信号を置くことができる。
【００２７】
ＦＩＦＯ１０２は、イネーブル入力端子Ｅにおける適切な信号によりイネーブルになると、内部に現在格納しているデータをデータ出力端子Ｏに作成する。ＦＩＦＯバッファ１０がアドレスされるとき、アドレス比較器からＡＮＤゲート１０８の第１の入力端子への信号は、論理値「１」信号である。これにより、ＡＮＤゲート１０８は、ＦＩＦＯバッファ１０のイネーブル入力端子Ｅからの第２の入力端子の信号を出力端子に渡し、さらに、ＦＩＦＯ１０２のイネーブル入力端子Ｅへ渡すことになる。ＦＩＦＯバッファ１０がアドレスされないとき、アドレス比較器１０４からの信号は論理値「０」信号である。これにより、ＡＮＤゲート１０８は、出力端子に信号論理値「０」信号を作成し、ＦＩＦＯ１０２の出力端子Ｏをディスエーブルにする。この方法で、（図１の）スケジューラ・コントローラ５０によりイネーブルになったときに、アドレスされたＦＩＦＯバッファ１０のみが自分のデータ出力端子ＤＯにデータを作成する。
【００２８】
どのような信号を次のパケットに挿入するか選択するため、スケジューラで用いるテクニックは、優先順位方式と固定時間スロット方式の複合である。図３は、パケット・スロットにコンポーネント信号を表わすデータを割り当てるため、スケジューラ・コントローラ５０において保持される前述した一組のテーブルを表わすメモリ配置図である。図３において、（図１の）パケタイザ３０で作成されたパケット・ストリーム１１０の一部が図面の上部に図示してある。図示された部分のパケット・ストリーム１１０において、それぞれのパケットは四角により表現してある。パケット・ストリーム１１０は、それぞれが決まった所定数Ｍのパケット・スロット、すなわちスロット１、スロット２、スロット３からスロットＭを含むグループに分割される。このパケット・スロットのグループはパケット・ストリーム１１０内で連続的に反復する。つまり、図示したスロットＭの直後のパケットは次のグループのスロット１である。
【００２９】
サービス・テーブル１３０は、放送システムで放送されるコンポーネント信号のそれぞれに対するエントリを含む。それぞれのエントリはコンポーネント信号の内容と識別子ＩＤを含む。図示したサービス・テーブル１３０では、第１のエントリVIDEO 1 が第１のプログラムのビデオコンポーネントを表わし、識別子１を有する。第２のエントリAUDIO 1 は第１のプログラムのオーディオコンポーネントを表わして識別子２を有し、第３のエントリCLOSEDCAPTION 1 は第１のプログラムのクローズド・キャプション情報を表わして識別子３を有する。同様に、サービス・テーブル１３０の第４、第５および第６のエントリ（VIDEO 2 、AUDIO 2 、CLOSED CAPTION 2）は、それぞれ第２のプログラムのビデオ、オーディオおよびクローズド・キャプション情報を表わし、識別子４、５および６を有する。最後に、エントリには放送システム自体で生成されるコンポーネント信号が提供される。たとえば、識別子Ｎ−１を有するエントリはプログラム刻時基準信号を運ぶ信号コンポーネントと暗号化鍵とを表わし、識別子Ｎを有するエントリは各種システム・テーブル（たとえばサービス・テーブル）を運ぶ信号コンポーネントを表わす。
【００３０】
図１と図２を再び参照すると、図示した実施例では、サービス・テーブル１３０内のそれぞれのエントリの識別子は、関連するコンポーネント信号を運ぶＦＩＦＯバッファ１０に予め割り当てた識別番号を参照する。つまり、識別子１（VIDEO 1 ）を有するエントリは、図示した実施例において予め割り当てた識別番号「１」を有するいちばん上のＦＩＦＯバッファ１２に結合したビデオ信号コンポーネントＶを参照し、識別子２（AUDIO 1 ）を有するエントリは、予め割り当てた識別番号「２」を有するＦＩＦＯバッファ１４に結合したオーディオ信号コンポーネントＡを参照し、識別子３（CLOSED CAPTION 1）を有するエントリは、予め割り当てた識別番号「３」を有するＦＩＦＯバッファ１６に結合したクローズド・キャプション信号コンポーネントＣＣを参照する。識別子４、５および６を有するエントリも同様に、第２のプログラム供給源（図示せず）からのビデオ、オーディオおよびクローズド・キャプション信号コンポーネントを参照する。
【００３１】
パケットストリーム１１０内のそれぞれのパケット・スロットは、これに関連する優先順位リストを有する。図３では、複数の優先順位リスト１２０でこれを図示してあり、それぞれがそれぞれのパケット・スロットに関連しており、そして、関連するパケット・スロットの直下に図示してある。優先順位リストとパケット・スロットとの関連は、それぞれの優先順位リストとこれに関連するパケット・スロットの間の矢印で示してある。つまり、優先順位リスト１  １２２はパケット・スロット１に関連し、優先順位リスト２  １２４はパケット・スロット２に関連し、優先順位リスト３  １２６はスロット３に、また優先順位リストＭ１２９はパケット・スロットＭに関連する。それぞれの優先順位リストは、それぞれが四角で表わされる複数のエントリを含む。それぞれのエントリの内容は、サービス・テーブル１３０に含まれているコンポーネント信号を表わす識別子（ＩＤ）である。
【００３２】
たとえば、優先順位リスト１  １２２の第１のエントリＩＤ１は、第１のプログラム供給源からのビデオ信号コンポーネントＶを表わす識別子「１」を含む。図３において、これは、優先順位リスト１  １２２の第１のエントリＩＤ１とサービス・テーブル１３０の第１のエントリVIDEO 1 との間の矢印で示してある。優先順位リスト１  １２２の第２のエントリＩＤ２は、第２のプログラム供給源（図１には図示せず）のビデオ信号コンポーネント（これも図示せず）を表わす識別子「４」を含む。これは、図３において、優先順位リスト１  １２２の第２のエントリＩＤ２とサービス・テーブル１３０の第４のエントリVIDEO 2 の間の矢印で表わしている。優先順位リスト１  １２２のさらなるエントリ（ＩＤ３．．．）は、たとえば、放送される他のビデオ信号コンポーネント全てについての識別子を同様に含む。
【００３３】
同様に、優先順位リスト２  １２４は、たとえばオーディオ・コンポーネント信号の全てを識別するエントリを含む。つまり、優先順位リスト２  １２４の第１のエントリＩＤ１は第１のプログラム供給源からのオーディオ信号コンポーネントＡを表わす値２を有し（優先順位リスト２  １２４のＩＤ１からサービス・テーブル１３０内の第２のエントリAUDIO 1 への矢印で表わしてある）、第２のエントリＩＤ２は第２のプログラム供給源からのオーディオ信号コンポーネントを表わす値５を有し（優先順位リスト２  １２４のＩＤ２からサービス・テーブル１３０の第２のエントリAUDIO 2 への矢印で表わしてある）、と言うように続く。優先順位リスト３は、たとえば、優先順位リスト１と同様のビデオ・コンポーネント信号を識別するエントリを含み、優先順位リストで別の位置を有するビデオ信号コンポーネントによるものでありうる。次の優先順位リスト（図示していない）は、たとえば、クローズド・キャプション・コンポーネント信号の全てを識別するエントリを含み、これにさらに別のビデオ信号コンポーネント優先順位リストが続く。最後の優先順位リストＭは、たとえば、ＰＣＲおよびスクランブル鍵コンポーネント信号Ｎ−１とテーブル信号コンポーネントを識別するエントリを含むことがある。
【００３４】
グループ内のパケット・リスト数とそれぞれのパケット・リストについて関連する優先順位リストへのコンポーネント信号の割り当ては、それぞれのコンポーネント信号のそれぞれのデータ速度を考慮することで最もよく行なえる。つまり、高いデータ速度を有するコンポーネント信号（たとえばビデオ信号コンポーネント）は１つ以上の優先順位リストに割り当てるのでグループ内の１つ以上のパケット・スロットに割り当てられるが、低いデータ速度を有するコンポーネント信号（たとえばオーディオ信号コンポーネント）は１つだけの優先順位リストに割り当てられる。どのようにして、コンポーネント信号を優先順位リストに割り当ててシステムのデータ伝送効率を最適化し、同時にパケット・ストリーム内にヌル・パケットが挿入される確率を最小限に抑えるかは、デジタル・データ送信の当業者には理解されよう。
【００３５】
動作において、パケット・スロットが発生すると、（図１の）スケジューラ・コントローラ５０はそのパケット・スロットについて優先順位リストを検討する。スケジューラ・コントローラ５０は、その優先順位リストの第１のエントリから識別子を抽出し、制御バス２２のＩＤ信号線にその識別子を表わす識別信号を置く。アドレスされたＦＩＦＯバッファ１０は、（図２の）ＦＩＦＯ１０２のフル出力端子Ｆからの信号を制御バス２２のレディ信号線に送出することで応答する。アドレスされたＦＩＦＯバッファ１０がパケットを形成するのに十分なデータを有することをレディ信号が表わしていれば、スケジューラ・コントローラ５０は、パケタイザ３０からの開始信号を待ち、開始信号を受信すると、制御バス２２のイネーブル信号線にイネーブル信号を生成する。イネーブル信号に応答し、アドレスされたＦＩＦＯバッファ１０がそのパケット・スロットにデータを作成し、全て前述したように、データはデータ・バス２０を経由してパケタイザ３０へ送信される。
【００３６】
一方、アドレスされたＦＩＦＯバッファ１０がパケットを形成するのに十分なデータを有していないことをレディ信号が示す場合、スケジューラ・コントローラ５０は、優先順位リスト１２０の次のエントリからそのパケット・スロットに対する識別子を抽出して、その識別子を表わす信号を制御バス２２のＩＤ信号線に置き、新たにアドレスされたＦＩＦＯバッファ１０からのレディ信号を待つ。アドレスされたＦＩＦＯバッファ１０の１つが、パケットを形成するのに十分なデータを有することを表わすレディ信号を受信するか、または、優先順位リスト内の最後のエントリを処理するまで、これを繰り返し、最後のエントリの場合には、ヌル・パケットがパケット・スロットに送出される。さらに、同じ手順を次のパケット・スロットに対する優先順位リストで行なう。
【００３７】
入力ＦＩＦＯバッファをパケタイザへ結合するためにデータ・バスを使用する伝送ストリーム・エンコーダは、エンコーダへさらなるＦＩＦＯバッファを容易に追加するのに必要な柔軟性を提供する。新たなＦＩＦＯバッファは、制御バスおよびデータ・バスへ結合され、すでにバス上にあるＦＩＦＯバッファの識別子とは異なる識別子が割り当てられる。さらに、本発明による伝送ストリーム・エンコーダにおいては、多数のＦＩＦＯバッファをパケタイザに接続することができるので、多数のコンポーネント信号を伝送リンク上に送信することができる。
【００３８】
コンポーネント信号をパケット・スロットへ割り当てる複合方式は、大きな柔軟性を提供する。これによって、放送業者は、必要とするスループットをそれぞれのコンポーネント信号に提供すると同時に、送信されるヌル・パケットの数を低減することができる。
【図面の簡単な説明】
【図１】本発明による伝送ストリーム・エンコーダのブロック図である。
【図２】図１の伝送ストリーム・エンコーダで使用するＦＩＦＯバッファのさらに詳細なブロック図である。
【図３】パケット・スロットをコンポーネント信号に割り当てるためのスケジューラ・コントローラにおいて、保持される一組のテーブルを示すメモリ配置図である。
【符号の説明】
５  入力端子
１０  ＦＩＦＯバッファ
２０  データ・バス
２２  制御バス
３０  パケタイザ
５０  スケジューラ・コントローラ
６０  マイクロプロセッサ
７０  メモリ
１０２  ＦＩＦＯ
１０４  アドレス比較器
１０６  バッファ／ドライバ
１０８  ２入力ＡＮＤゲート
１１０  パケット・ストリーム
１２０  優先順位リスト
１３０  サービス・テーブル
【図１】
0003839520.tif 000002
【図２】
0003839520.tif 000003
【図３】
0003839520.tif 000004