(57)【特許請求の範囲】
【請求項１】
デジタルデータフォーマット変換のための方法において、
第１のデータパケット構造のパケット化された入力データストリームを非パケット化するステップと、
前記第１のデータパケット構造と異なる第２のデータパケット構造を、ＭＰＥＧ準拠トランスポートプロトコルパケット構造を含む複数の候補トランスポートプロトコルパケット構造から適応的に選択するステップと、
前記第２のデータパケット構造に応じて、前記パケット化された入力データストリームのデータレートを超えるデータレートで再パケット化されたデータを回復するためのタイミング回復パラメータを形成するステップと、
前記第２のデータパケット構造に応じて前記非パケット化されたデータを再パケット化するステップと、
前記再パケット化したデータに、前記タイミング回復パラメータを取り込むステップと、
前記第２のデータパケット構造に応じて前記再パケット化されたデータを多重するステップと、
前記パケット化された入力データストリームのデータレートを超える前記データレートで出力チャネルに前記多重したデータを出力するステップとを有する方法。
【請求項２】
前記パケット化された入力データストリームのデータレートを超える前記データレートを使用することにより生成された超過の帯域の少なくとも１部は、（ａ）誤り訂正データ、及び（ｂ）ヌルデータの種類の内の少なくとも１つの種類のデータパケットにより占められる請求項１に記載の方法。
【請求項３】
前記非パケット化するステップは、
ヘッダ情報を前記パケット化した入力データストリームのパケットから取り除くステップを有し、
前記再パケット化ステップは、
前記第２のデータパケット構造に適合するヘッダ情報を前記非パケット化データに加えるステップを有する請求項１に記載の方法。
【請求項４】
前記再パケット化ステップは、
前記第２のデータパケット構造に整合するように、前記非パケット化されたデータの再位置合わせを行う請求項１に記載の方法。
【請求項５】
前記第２のデータパケット構造に適合した誤り訂正コードを前記多重したデータに取り込むステップを更に有する請求項１に記載の方法。
【請求項６】
前記第２のデータパケット構造に適合した条件付きアクセス情報を前記多重したデータに取り込むステップを更に有する請求項１に記載の方法。
【請求項７】
前記パケット化した入力データストリームのデータレートを超える前記データレートで多重したデータを提供するために決定された周波数で、前記非パケット化されたデータにヌルデータを多重するステップを更に有する請求項１に記載の方法。
【請求項８】
前記多重するステップは、
前記パケット化した入力データストリームのデータレートを超える前記データレートで出力するために、前記再パケット化されたデータに対するスケジューリングを行うステップを有する請求項１に記載の方法。
【請求項９】
前記再パケット化されたデータのパケット、及び前記パケット化した入力データストリームのソースとは異なるソースからのパケットに対してパケット挿入のスケジューリングを行うステップと、
前記パケット化した入力データストリームのデータレートを超える前記データレートで出力する合成多重データを提供するために決定された周波数で、前記スケジュールされたパケットを多重するステップを有する請求項１に記載の方法。
【請求項１０】
前記入力パケット化データストリームのデータレートを超える前記データレートを使用することにより生成された超過の帯域の少なくとも１部は、（ａ）ヌルデータ、（ｂ）条件付きアクセスデータ、（ｃ）タイミングデータ、及び（ｄ）異なるプログラムデータの種類の内の少なくとも１つの種類のデータパケットにより占められる請求項９に記載の方法。
【請求項１１】
前記タイミング回復パラメータを形成するステップは、
クロック基準周波数代表データと、
（ａ）回復されたデータのプレゼンテーションのタイミングを決定するプレゼンテーションタイムスタンプ、及び（ｂ）回復されたデータのデコーディングのタイミングを決定するデコーディングタイムスタンプのうちの少なくとも１つと、
を形成することを含む請求項１に記載の方法。
【請求項１２】
前記パケット化した入力データストリームを形成するために、入力データストリームを多重分離するステップと、
前記第２のデータパケット構造に整合するように、前記非パケット化されたデータの再位置合わせを行うステップとを更に有する請求項１に記載の方法。
【請求項１３】
デジタルデータフォーマット変換のための方法において、
第１のデータパケット構造のパケット化された入力データストリームを非パケット化するステップと、
前記第１のデータパケット構造と異なる第２のデータパケット構造に応じて、前記パケット化された入力データストリームのデータレートを超えるデータレートで再パケット化されたデータを回復するためのタイミング回復パラメータを形成するステップと、
前記第２のデータパケット構造に応じて前記非パケット化されたデータを再パケット化するステップと、
前記再パケット化したデータに、前記タイミング回復パラメータを取り込むステップと、
前記再パケット化されたデータのパケット、及び前記パケット化された入力データストリームのソースとは異なるソースからのパケットに対してパケット挿入のスケジューリングを行うステップと、
前記第２のデータパケット構造に応じて、前記パケット化された入力データストリームのデータレートを超える前記データレートで出力する合成多重データを提供するために決定された周波数で、前記スケジュールされたパケットを多重するステップと、
前記パケット化された入力データストリームのデータレートを超える前記データレートで出力チャネルに前記多重したデータを出力するステップとを有し、
前記パケット化された入力データストリームのソースとは異なるソースは、アナログソースである方法。
【請求項１４】
複数のデータソースからのデジタルデータをマージするための方法において、
第１のデータパケット構造のパケット化された第１の入力データストリームを非パケット化するステップと、
前記第１のデータパケット構造と異なる第２のデータパケット構造を、ＭＰＥＧ準拠トランスポートプロトコルパケット構造を含む複数の候補トランスポートプロトコルパケット構造から適応的に選択するステップと、
前記第１のデータパケット構造と異なる前記第２のデータパケット構造の第２のパケット化された入力データストリームを非パケット化するステップと、
前記第２のデータパケット構造に応じて、前記第１及び第２の入力パケット化データストリームにおけるデータの合成データレートを超えるデータレートで再パケット化されたデータを回復するためのタイミング回復パラメータを形成するステップと、
第１の再パケット化データを形成するために前記第１の非パケット化された入力データを再パケット化するステップと、
第２の再パケット化データを形成するために前記第２の非パケット化された入力データを再パケット化するステップと、
前記第１及び第２の再パケット化したデータに、前記タイミング回復パラメータを取り込むステップと、
前記第２のデータパケット構造に応じて前記第１及び第２の再パケット化されたデータを多重するステップと、
前記第１と第２の入力パケット化データストリームのデータにおける合成データレートを超える前記データレートで出力チャネルに前記多重したデータを出力するステップとを有する方法。
【請求項１５】
前記第１と第２の入力パケット化データストリームのデータにおける合成データレートを超える前記データレートを使用することにより生成された超過の帯域の少なくとも１部は、（ａ）誤り訂正データ、及び（ｂ）ヌルデータの種類の内の少なくとも１つの種類のデータパケットにより占められる請求項１４に記載の方法。
【請求項１６】
前記非パケット化するステップは、
ヘッダ情報を前記第１及び第２のパケット化した入力データストリームのパケットから取り除くステップを有し、
前記再パケット化ステップは、
前記第２のデータパケット構造に適合するヘッダ情報を前記第１の非パケット化入力データ及び前記第２の非パケット化入力データに加えるステップとを有する請求項１４に記載の方法。
【請求項１７】
前記再パケット化ステップは、
前記第２のデータパケット構造に整合するように、前記第１の非パケット化された入力データ及び前記第２の非パケット化された入力データの再位置合わせを行う請求項１４に記載の方法。
【請求項１８】
前記第２のデータパケット構造に適合した誤り訂正コードを前記多重したデータに付加するステップを更に有する請求項１４に記載の方法。
【請求項１９】
前記再パケット化ステップは、
前記第２のデータパケット構造に適合した条件付きアクセス情報を、前記第１の再パケット化された入力データ及び前記第２の再パケット化された入力データに取り込むステップを有する請求項１４に記載の方法。
【請求項２０】
前記合成データレートを超える前記データレートで多重したデータを提供するために決定された周波数で、前記第１及び第２の非パケット化されたデータにヌルデータを多重するステップを更に有する請求項１４に記載の方法。
【請求項２１】
前記合成データレートを超える前記データレートで出力するために、前記第１及び第２の再パケット化されたデータに対するスケジューリングを行うステップを更に有する請求項１４に記載の方法。
【請求項２２】
前記合成データレートを超える前記データレートを使用することにより生成された超過の帯域の少なくとも１部は、（ａ）ヌルデータ、（ｂ）条件付きアクセスデータ、及び（ｃ）タイミングデータの内の少なくとも１つのデータパケットにより占められる請求項２１に記載の方法。
【請求項２３】
前記第１と第２の再パケット化されたデータのパケットに対してパケット挿入のスケジューリングを行うステップと、
前記合成データレートを超える前記データレートで前記多重データを提供するために決定された周波数で、前記スケジュールされたパケットを多重するステップを有する請求項１４に記載の方法。
【請求項２４】
前記タイミング回復パラメータを形成するステップは、
クロック基準周波数代表データと、
（ａ）回復されたデータのプレゼンテーションのタイミングを決定するプレゼンテーションタイムスタンプ、及び（ｂ）回復されたデータのデコーディングのタイミングを決定するデコーディングタイムスタンプのうちの少なくとも１つと、
を形成することを含む請求項１４に記載の方法。
【請求項２５】
所望の出力フォーマットのデータを提供するためのデータフォーマット変換装置において、
中央処理ユニットを含むプロセッサ、キャッシュ、メモリコントローラ、システムメモリ、内部システムバス、格納デバイスメモリ、格納デバイスコントローラ、グラフィックコントローラ、及びモニタと、
２つの信号ソースからの異なるパケット構造の少なくとも２つの信号をパケット化し、前記少なくとも２つの信号からのデータを多重し、前記２つの信号からのデータの合成データレートを超えるデータレートで多重データを提供するために決定された周波数で、前記２つの信号からのデータにヌルデータを多重することにより、前記合成データレートを超える前記データレートで、適応的に選択されたデータフォーマットを用いて符号化した出力を生成し、前記プロセッサに前記システムバスを介して接続されるシステムインタフェースを有し、
前記符号化した出力は、復号システムのための入力となり、前記合成データレートを超える前記データレートを使用することにより生成された超過の帯域の少なくとも１部は、誤り訂正データにより占められるデータフォーマット変換装置。
【請求項２６】
前記システムインタフェースは、前記合成データレートを超える前記データレートで出力するために、前記２つの信号からのデータ及び前記ヌルデータに対するスケジューリングを行う手段を含む請求項２５に記載の装置。
【発明の詳細な説明】
本発明はデジタル信号処理及び、特に、選択された出力フォーマットにおける出力のためのデジタルビットストリームを形成するための、異なる入力ソース及び異なる入力フォーマットからのデータの変換に関する。
家庭及び職場では種々のアプリケーションのために、異なるデータフォーマットで異なる種類のデータを受信する。例えば、家庭では、高精細度テレビ（ＨＤＴＶ）放送、マルチポイントマイクロウェーブ分配システム（ＭＭＤＳ）放送、及びデジタルビデオ放送）（ＤＶＢ）からなる衛星もしくは地上源からデータを受信し得る。家庭ではまた、電話を介したデータ（例えばインターネット）及び同軸線を介したデータ（例えばケーブルＴＶ）、及び、ＰＣ、デジタルビデオディスク（ＤＶＤ）、ＣＤＲＯＭ、ＶＨＳそしてデジタルＶＨＳ（ＤＶＨＳTM）タイプのプレーヤー、その他の多くの種類のソースからのデータを受信し得る。従って、複数の異なるソースから異なるデータフォーマットでデータを受け入れることが可能で、そのデータをマージし、選択された伝送チャネル上での伝送のための選択された出力データフォーマットにそれを変換することが可能な変換システムへの必要が増加している。そのような変換システムは、マルチメディアアプリケーションのための編集、格納及び伝送を含むデータ処理活動をサポートするために必要である。
そのような変換システムにおいて、複数のソースからの入力データは、パケット化されたデジタルデータの形にある。例えばアナログビデオ放送のような他のソースからの入力データが、変換システムにおいて処理のためにパケット化されたデジタルデータに変換される。しかしながら、パケット化されたマルチメディアデータを、異なる入力フォーマットソースから選択された出力データフォーマットにマージし変換することには多くの問題点がある。例えば、１つもしくはそれ以上の異なる入力ソースからのデータをマージさせ再パケット化させるやり方を決定する重要な要因は、受信装置もしくは所望の出力信号フォーマットの符号化の要求事項により許容されるデータレートの範囲である。
望ましい出力データフォーマットは典型的には、受信装置における入力データバッファのアンダーフローもしくはオーバーフローを回避するために、最小及び最大のデータレート制限を課している。出力データフォーマットのデータレートはまた、伝送チャネルの帯域特性によっても制約を受ける。従って、これらのデータレート制約を満足するように入力データを再コード化し再パケット化することが必要である。マルチメディア入力データのフォーマット変換における他の制約条件は入力データフォーマットと所望の出力データフォーマット間の符号化特性の違いから生じる。これらの符号化特性は、タイミング、誤り訂正、条件付きのアクセス及び符号化種類特性を含む。デジタルデータを異なる入力フォーマットソースから選択された出力データフォーマットへマージし変換する際の問題は、本発明によるシステムにより扱われている。
本発明の原理によれば、変換システムは、複数の異なるソースからの複数の異なるデータフォーマットにおけるデータを、選択された伝送チャネル上での伝送のための選択された出力データフォーマットにマージして変換する。その変換システムは、選択された出力フォーマットに適合したタイミング、誤り訂正、条件付アクセス及び符号化種類パラメータを含ませるために、入力データを再コード化し、再パケット化する。変換システムはまた、選択されたデータフォーマット、受信装置及び伝送チャネル特性に適合したデータレートでデータを出力する。
デジタルデータフォーマット変換のための方法は、入力パケット化データストリームを非パケット化することを含む。タイミング回復パラメーターは所望の出力フォーマットに応じて形成される。その非パケット化されたデータは、所望の出力フォーマットに応じて再パケット化され、タイミング回復パラメータが再パケット化されたデータに組み込まれる。再パケット化されたデータは選択されたフォーマットに応じて多重され、出力チャネルに提供される。
【図面の簡単な説明】
図１は、２つの異なるソースからの２つの異なるデータフォーマットのデータを、選択された伝送チャネル上の伝送のための選択された出力データフォーマットにマージし変換するためのプロセスのフローチャートを示す。
図２は、２つの異なるソースからの２つの異なるデータフォーマットのデータをフォーマットし、パケット化し、マージし、変換し、選択された伝送チャネル上での伝送のための選択された出力データにするための、本発明におけるシステムを示す。
図３は、２つの異なるソースからのデータを含むデータストリームを受信しデコードする、本発明におけるデコーダシステムを示す。
図４は、２つの異なるソースからのデータを含むデータストリームのためのタイミング情報を生成するためのシステムを示す。
図５は、２つの異なるソースからのデータを含む合成パケット化データストリームを示す。
図６は、２つの異なるソースからの２つの異なるデータフォーマットのデータを、選択された伝送チャネル上で伝送するための選択された出力データフォーマットにマージし変換するための、本発明による変換システムを実装するコンピュータアーキテクチャを示す。
図７は、図６のコンピュータアーキテクチャのための制御及びデータ信号インプリメンテーションを示す。
図８は、図６のコンピュータアーキテクチャのためのメモリ割り当てを示す。
この説明において、本発明を表す異なる図において、同じ要素は同じ数字で識別される。
本発明における変換システムは図１−８に示されている。変換システムは、２つのＭＰＥＧのようなトランスポートストリーム入力ソースからのＭＰＥＧに適合した出力を提供するよう説明されているが、これは例のためのみである。ＭＰＥＧ（Moving Pictures Expert Group）という用語は、以下で”ＭＰＥＧ標準”と称される、広く適用されているイメージ符号化の標準を示す。ＭＰＥＧ標準は、以下でそれぞれ”ＭＰＥＧシステム標準”及び”ＭＰＥＧビデオ標準”と称される、システム符号化セクション（ＩＳＯ／ＩＥＣ  １３８１８−１、１９９４年６月１０日）及びビデオ符号化セクション（ＩＳＯ／ＩＥＣ  １３８１８−２、１９９５年１月２０日）からなる。説明された変換はまた、ＭＰＥＧシステム標準の付録Ａに準拠したデジタル格納メディア制御コマンド（ＤＳＭＣＣ）のような音声データ及び種々のデータに適用されるということは注目すべきである。
本発明の原理はまた、非ＭＰＥＧ準拠のソース及び非ＭＰＥＧ準拠の出力を含む他の種類の変換に適用され得る。非ＭＰＥＧ準拠ソース及び出力は、例えば、アナログ（ＮＴＳＣ）ビデオ、ケーブルＴＶもしくは電話ソースを含み得る。更に、開示されたシステムは、放送プログラムデータの処理として説明されているが、これはただの例である。”プログラム”という用語は、例えば、電話メッセージ、コンピュータプログラム、インターネットデータもしくは他の通信のようなパケット化されたデータの形を示している。
概要として、図１は、２つの異なるソースからの２つの異なるデータフォーマットのデータを、選択された伝送チャネル上の伝送のための選択された出力データフォーマットにマージし変換するためのプロセスのフローチャートを示す。
図１のアンテナ２０２は衛星ビデオ放送ソースからのデータを受信する。ステップ２０４にて、アンテナ２０２から入力データストリームを受信するために、変換システムの中の復調器は同調される。ステップ２０６において、ユーザの要求したプログラムチャネルを含むトランスポートストリームを回復させるために、その入力データストリームは、復調され復号される。ステップ２０８において、ユーザの要求したプログラムチャネルからなるデータパケットを回復させるために、そのトランスポートストリームは多重分離される。回復したプログラムチャネルパケットにおけるデータは、ステップ２１０において、補助ヘッダ情報から分離される。
ステップ２１４及びステップ２１６において、ステップ２１０で形成されたヘッダのないパケットは、ユーザによる出力データフォーマット選択に応じて、ＭＰＥＧ準拠トランスポートパケット形式に再フォーマットされる。ステップ２１４において、ステップ２１０にて形成されたヘッダのないパケットは、再位置合わせが行われ、出力フォーマット準拠のタイミング情報を取り入れる新たなＭＰＥＧ準拠のヘッダに付加される。ステップ２１４における再位置合わせのプロセスは、正しい順序に並び替えて合成するために、ヘッダのないパケットの１つもしくはその他及び新たなヘッダを遅延させることを含む。加えて、ステップ２１４において、条件付アクセス情報が、選択された出力データフォーマットの要求によって決められるように、ヘッダデータに取り入れられ得る。ステップ２１６において、ＭＰＥＧ準拠パケットを形成するために、誤り訂正データがステップ２１４にて生成されたヘッダ付きデータに加えられる。
また、図１において、選択されたプログラム素材を表すトランスポートデータストリームが、ステップ２３０においてＤＶＨＳTM格納ソースから回復される。そのトランスポートデータストリームは、ステップ２３５において、多重分離され、ステップ２０２にて事前にアンテナから取得した衛星ソース素材とマージされるプログラム素材からなるデータパケットを回復する。ＤＶＨＳTMデータパケットにおけるデータは、ステップ２４０において補助ヘッダ情報から分離される。
ステップ２４５及び２５０において、ステップ２４０にて形成されたヘッダなしパケットは、ユーザの出力データフォーマット選択に応じてＭＰＥＧ準拠トランスポートパケット形式に再フォーマットされる。ステップ２４５において、ステップ２４０にて形成されたヘッダなしパケットは再位置合わせがなされ、出力フォーマットに適合したタイミング情報を取り入れる新たなＭＰＥＧ準拠ヘッダに付加される。ステップ２４５の再位置合わせプロセスは、正しい順序に並び替えて合成するために、ヘッダのないパケットデータの１つもしくはその他及び新たなヘッダを遅延させることを含む。加えて、ステップ２４５において、条件付アクセス情報が、選択された出力データフォーマットの要求によって決められるように、ヘッダデータに取り入れられ得る。ステップ２５０において、ＭＰＥＧ準拠パケットを形成するために、誤り訂正データがステップ２４５にて生成されたヘッダ付きパケットに加えられる。
ステップ２１８において、ステップ２１６及び２５０で形成されたＭＰＥＧ準拠パケットは多重される。また、ステップ２１８において、条件付きアクセスを含む追加のパケット、もしくは選択されたデータ出力フォーマットに適合した他のアプリケーション固有の情報がデータストリームに挿入され得る。そのようなアプリケーション固有情報は、例えば、多重データストリームの復号を促進する変調及び符号化種別もしくは情報のような伝送特性に関する情報を含み得る。また、ステップ２１８で形成された出力における未使用データ容量を埋めるために、ヌルパケットがステップ２１８における出力データストリームに挿入され得る。更に、ステップ２１８において、マージされたデータパケットはバッファされ、選択出力データフォーマット、伝送チャネル帯域及び使用する受信装置の要求に適合したデータレートで合成ＭＰＥＧ準拠トランスポートストリームとして出力される。
図１と関連して説明された変換システムにおける再フォーマット、再パケット化及びマージのステップ（ステップ２１４、２１６、２１８、２４５及び２５０）を支配する発明の原理は、以下図２−８に関連してより詳細に説明される。本発明の原理は、例えば、アナログもしくはデジタルテレビをサポートするためのコンピュータシステムの変換、ＭＰＥＧ対応セットトップボックスへのＤＶＤビデオビットストリームもしくはＤＶＨＳTMビットストリームの変換及びチャネリング、もしくはコンピュータ表示ビットストリームのＶＣＲ、ビデオサーバアプリケーションへのスイッチングに適用されるということは注目すべきである。更に、出力データフォーマット変換は、ソフトウェアにより変換システムの中で制御されるので、例えばＩＥＥＥ１３９４を含む広範囲のパケット化された入力もしくは出力ビットストリームがサポートされ得る。
本実施例において、変換システムは、後述する図６のシステム１００に示すようなデスクトップＰＣ（パーソナルコンピュータ）アーキテクチャの中でインプリメントされる。
図２は、選択出力データフォーマットにおける合成データを形成するために、衛星及びＤＶＨＳTMソースからのデータをフォーマットし、パケット化し、多重化するためのエンコーダシステム１０を示す。図２におけるユニット１４において、衛星ソースデータのヘッダなしパケットは、ＭＰＥＧフォーマット出力データのためのユーザ要求に応じて、ＭＰＥＧ準拠の形に再フォーマットされる。ユニット１４は、そのヘッダなしパケットの位置合わせをし、出力フォーマット準拠タイミング情報を取り入れるＭＰＥＧ準拠パラメータを付加する。ＭＰＥＧ準拠パケットを形成するために、ユニット１８ｂはＭＰＥＧトランスポートヘッダを付加し、ユニット１４により生成されたデータを有するＭＰＥＧトランスポートパケットを形成する。同様に、ユニット１２において、ＤＶＨＳTMソースデータのヘッダなしパケットは、ＭＰＥＧフォーマット出力データのためのユーザ要求に応じて、ＭＰＥＧ準拠の形に再フォーマットされる。ユニット１２は、そのヘッダなしパケットの位置合わせをし、出力フォーマット準拠タイミング情報を取り入れるＭＰＥＧ準拠パラメータを付加する。ＭＰＥＧ準拠パケットを形成するために、ユニット１８ａはＭＰＥＧトランスポートヘッダを付加し、ユニット１２により生成されたデータを有するＭＰＥＧパケットを形成する。ユニット１２及びユニット１４で生成されたＭＰＥＧトランスポートパケットに準拠したタイミング及び条件付きアクセスデータがユニット１６にて形成される。ＭＰＥＧ準拠システムトランスポートパケットを形成するために、ユニット１８ｃは、周期的にヘッダを有するパケットにおけるシステムクロック基準を取り込む。
ユニット２０は、それぞれユニット１８ａ、１８ｂ及び１８ｃにて生成された、衛星データ、ＤＶＨＳTMデータ及びタイミングＭＰＥＧ準拠パケットを多重化し、マージする。ユニット２０のデータレートと帯域は、多数のビデオ、音声、タイミング、及び条件付きアクセスデータ信号を収容することができる。ユニット２０はまた、ユニット２０からの出力データストリームにおける未使用データ伝送容量を生めるために、多重データストリームにヌルパケットを生成し挿入する。また、本発明の原理によれば、ユニット２０は選択出力データフォーマット、伝送チャネル帯域及び使用する受信装置の要求に適合したデータレートで合成ＭＰＥＧ準拠トランスポートストリームをバッファし出力する。
ユニット２０からの合成データストリーム出力は、ユニット２２によって、選択伝送チャネル上の伝送に適するように変調される。ユニット２２において、出力２０からの合成データストリーム出力はデジタル的に変調され、フィルタをかけられ、デジタルからアナログに変換され、ミキサ２６においてローカル発振器２４により生成されたキャリア信号と混合される。結果の変調信号は、伝送チャネル上をデコーダ装置へ出力される。
図３は、２つの異なるソースからのデータを含むデータストリームを受信しデコードする、本発明におけるデコーダシステムを示す。図２のシステム１０からの変調されたキャリア信号２８は、デジタル形式に変換され、チューナ３２及び復調器３４により処理される。チューナ３２は、無線周波数（ＲＦ）チューナ、中間周波数（ＩＦ）ミキサ、及び、入力信号を更なる処理に適したより低い周波数帯に下方変換するための増幅ステージを含む。結果のデジタル出力信号は、ユニット３４にて復調及びデコードされ、ユニット３０による更なる復号のためのトランスポートデータストリームを提供する。
ユニット３４からのトランスポートストリームはデコーダ３０のユニット３６にて多重分離される。ユニット３６は、ユニット３４からのトランスポートストリームにおけるヘッダ情報の中に含まれるパケット識別子（ＰＩＤ）の解析に基づく種別に応じて、データを分離する。ユニット３６は、ビデオ情報パケットをユニット３８ａに、音声情報パケットをユニット３８ｂに、タイミング及び条件付アクセス情報パケットをユニット３８ｃに提供する。非パケット化ユニット３８ａ、３８ｂ、及び３８ｃは、データを提供し、ビデオデコーダ４４及び音声デコーダ４６へのビデオ、音声及びタイミングデータのシーケンシャルな出力を可能とする接続されたバッファ４０ａ、４０ｂ及び４０ｃの制御を提供する。ＭＰＥＧビデオ及び音声デコーダ４４及び４６のそれぞれは、ユニット４２により提供されるタイミングと条件付アクセスデータを使用して、ＭＰＥＧ標準に従い、ユニット４０ａ及び４０ｂからの入力ビデオ及び音声データをデコードする。
図２のエンコーダ１０と図３のデコーダ３０からなる符号化と復号のシステムはレートバッファリングシステムとして作られ得る。デコーダ３０におけるバッファ４０ａと４０ｂをオーバフロー、アンダーフローさせないために、このレートバッファリングシステムにおけるデータレートを制御することが必要である。この問題は、デコーダ３０において消費されるデータの平均レートが、エンコーダ１０にてデータが生成される平均レートと同一の場合には起こらない。従って、エンコーダ１０とデコーダ３０は、互いにそろって動作するように同期していなければならない。これは、ＭＰＥＧビデオ及び音声データに供給されるタイミングデータの目的である。
ビデオと音声ＭＰＥＧ符号化はフレーム境界で行われる。このことは、図２のシステム１０のマージされたソースからのビデオと音声の合成出力が、各々のソースから得られるデジタル的に圧縮されたＭＰＥＧデータフレームから構成されるということを意味する。一般的に、圧縮されたビデオフレームは圧縮された音声フレームとはサイズが等しくない。復号タイミングデータ及びプレゼンテーションタイミングデータは、ビデオと音声データの各々の圧縮されたフレームで生成される。このタイミングデータは、ビデオと音声フレームの復号とプレゼンテーションがデコーダのバッファに入ったときにそれらを同期化するためにデコーダによって使用される。復号タイミングデータのサンプルはＤＴＳ（デコーディングタイムスタンプ）値として称される。プレゼンテーションタイミングデータサンプルはＰＴＳ（プレゼンテーションタイムスタンプ）値として称される。
ＤＴＳ及びＰＴＳタイミングサンプルは共通エンコーダシステムクロックから得られる。ビデオ及び音声目標復号間隔でエンコーダシステムクロックをサンプリングすることで、ビデオと音声各々のためのＤＴＳ値が生成される。同様にして、ビデオフレームレート及び音声フレームレートでエンコーダシステムクロックをサンプリングすることで、ビデオと音声各々のためのＰＴＳ値が生成される。例として、以下の定義から始める：
Ｆap＝毎秒の音声フレームにおける音声フレームレート
Ｆvp＝毎秒のビデオフレームにおけるビデオフレームレート
0004240545.tif 000002
Ｔad（n）＝音声目標復号時間
Ｔvd（n）＝ビデオ目標復号時間
ＤＴＳa＝音声復号タイムスタンプ
ＤＴＳv＝ビデオ復号タイムスタンプ
ＰＴＳa＝音声プレゼンテーションタイムスタンプ
ＰＴＳv＝ビデオプレゼンテーションタイムスタンプ
φ＝エンコーダシステムクロック
そして、ビデオと音声のＤＴＳとＰＴＳサンプルは以下の式によりシステムエンコーダクロックと関係付けられる：
DTSa（n）=φ（Tad（n））
PTSa（n）=φ（nTap）
DTSv（n）=φ（Tvd（n））
PTSv（n）=φ（nTvp）
n=1,2,3,...
目標復号時間、Ｔad（n）及びＴvd（n）は、プレゼンテーション時間周期Ｔap及びＴvpは固定で周期的であるが、変動し得る。
ＤＴＳ及びＰＴＳサンプルに加え、エンコーダシステムクロックの周期的サンプルはデコーダ３０に転送される。エンコーダシステムクロックのこれらのサンプルは、復号プロセスを符号化プロセスに同期させるためにデコーダによって使用される。エンコーダシステムクロックの周期的サンプルはＳＣＲ（システムクロック基準）値と称される。エンコーダ１０（図２）と適合したデコーダ３０（図３）は音声及びビデオ復号のための共通デコーダシステムクロックを有する。エンコーダシステム１０によって転送されるＳＣＲ値は、エンコーダシステムクロックをエンコーダシステムクロックと同じ時間に設定するためにデコーダ３０によって使用される。図４は、異なる２つのソースからのデータを含むデータストリームのためのタイミング情報を生成するシステムを示す。
図２のシステムに続き、ユニット１６にて取得された条件付きアクセスデータは、送信データにセキュリティ機能を提供するために符号化システム１０に備えられる。このことは、ユニット１２と１４それぞれにおける衛星及びＤＶＨＳTMソースによって生成された圧縮データをスクランブルするために暗号化アルゴリズムを使用することを必要とする。デコーダ３０は、ユニット３８ａ及び３８ｂそれぞれにおける受信スクランブルデータを、ビデオ及び音声ＭＰＥＧデコーダ４４と４６により使用されるために、暗号解読する。暗号解読機能は、条件付きアクセスコードをデコーダ３０に送信することによって起動される。
図２の実施例において、ユニット１２、１４、１６により生成されたデータは、固定長トランスポートパケットにフォーマットされる。加えて、前述のとおり、ＤＶＨＳTMと衛星データソースに関連する音声とビデオデータパケットは個々にパケット識別コードによって識別される。図２のエンコーダシステム１０において、４つのトランスポートパケット種別がある。これらはＭＰＥＧビデオパケット、ＭＰＥＧ音声パケット、システムパケット及びヌルパケットである。ＭＰＥＧビデオパケットはＭＰＥＧビデオデータを含み、ＭＰＥＧ音声パケットはＭＰＥＧ音声データを含む。典型的には、トランスポートパケットのグループは１つのＭＰＥＧビデオフレームと関連付けられた全てのデータを保持するために必要とされる。このことはまた、ＭＰＥＧ音声フレームについてもあてはまる。この構造において、ＭＰＥＧビデオパケットのグループにおける１つのパケットは、そのグループにおいて表されるＭＰＥＧビデオフレームのためのＤＴＳ及びＰＴＳ値を含む。同様にして、ＭＰＥＧ音声パケットのグループにおける１つのパケットは、そのグループにおいて表されるＭＰＥＧ音声フレームのためのＤＴＳ及びＰＴＳ値を含む。システムパケットはＳＣＲ値と条件付きアクセスデータを含む。ヌルパケットは典型的にはゼロが満たされたデータからなる。
エンコーダ１０（図２）において、ユニット２０は、前述のように、ユニット１２、１４、及び１６により生成され、ユニット１８ａ、１８ｂ及び１８ｃにおける処理が続くトランスポートパケットを多重化する。多重化プロセスは、衛星及びＤＶＨＳTMソースからのデータを含むトランスポートパケットの連続ストリームを生成する。特定のデータソースにより生成されたトランスポートパケットは、ユニット２０により出力された多重合成パケットストリームの中で、その対応するデータソースのデータレートに直接比例する周波数で現れる。図５は、衛星及びＤＶＨＳTMソースからのデータを含む、ユニット２０（図２）からの合成パケット化データストリームを示す。
実施例において、ユニット２０の出力における固定データレートは、ユニット１２、１４及び１６に対応する全てのデータソースの合成データレートを収容するために選択される。ユニット２０の出力データレート容量は、典型的には、全てのデータソースの結合したデータレートより大きい。図５に示す例において、フィラートランスポートパケットが、ユニット２０の出力データレート容量を合致させるために送信される。これらのフィラーパケットは前述したヌルトランスポートパケットである。ヌルパケットはデコーダのためにいかなる有用な情報を含まない。その目的は、ユニット２０の残りのデータレート容量を埋めることである。
エンコーダシステム１０におけるデジタル変調器２２（図２）は、典型的には、ユニット２０の出力にいくつかの形の誤り訂正コードを付加する。誤り訂正コードは、図３のデコーダ３０で受信したデータにおける誤りを訂正するために、図３の復調器３４により使用される。これらの誤り訂正コードはデータ送信の信頼性を増大させる。ユニット２０（図２）により生成された各トランスポートパケットは、それに付加される有限長の誤り訂正コードを有する。従って、ユニット２０は、変調器２２によるこの誤り訂正コードの挿入のために、合成出力トランスポートストリームの各トランスポートストリームの終わりに有限長の隙間を残す。付加された誤り訂正コードにより、図３のデコーダ３０の復調器３４は伝送の間にパケットデータに入った誤りを訂正できる。
図６は、本発明における、選択された伝送チャネル上の伝送のための選択された出力データフォーマットに、２つの異なるソースからの２つの異なるデータフォーマットにおけるデータをマージし変換するための変換システムを実装するコンピュータアーキテクチャを示す。変換システムインタフェースボード１２０は、内部ＰＣバス１１０カードスロットの１つと接続する。従って、変換システムインターフェースボードが差し込まれたＰＣ１００は変換システムのハードウェア実装を構成する。
システム１００は、データフォーマット変換のプロセスの実行における３つの初期タスクを実行する。第１に、変換システムインタフェースボードが、選択された入力及び出力データフォーマットのために設定される。第２に、タイミングと条件付きアクセスデータとともに、衛星とＤＶＨＳTMソースからのデータからなる入力データが、ＰＣ１００のＲＡＭ（ランダムアクセスメモリ）にシーケンシャルにロードされる。そして、各データソースからのトランスポートパケットを伝送するスケジュールが確立される。
ＰＣは、その良く知られたアーキテクチャと低コストからコンピューティングプラットフォームとして選択された。ユニット２０（図２）からの合成トランスポートストリームデータを、選択された出力データフォーマット要求及びデコーダ３０（図３）のバッファリング容量に適合したレートで出力する必要がある。この要求は、データがＰＣ１００を、ユニット２０の出力データレートより大きいか等しいデータレートで流れなければならないことを意味する。データの転送以外に、データフォーマット変換に含まれるタスクがある。結果的に、ＰＣを通るデータ転送レートは目標出力データレートより数倍大きいことが要求される。ＰＣ１００は、必要なデータ転送レートをサポートする内部バスアーキテクチャを実装する。ＰＣアーキテクチャは以下の３つの利点を提供する：
１．変換システムインタフェースボード１２０（図６）への高レートデータ転送。
２．プログラム可能性を通した柔軟性。
３．低コスト実装と確立されたアーキテクチャ。
全ての転送データはトランスポートパケットフォーマットで格納される。このフォーマットは、種々のデータソースがＰＣのＲＡＭにロードされたときに保持される。変換システムを介したデータの流れは、ＰＣ  ＲＡＭから、ＰＣの内部バス１１０を通り、そして変換システムインタフェースボード１２０へのものである。このデータフローは、内部ＰＣバスクロックサイクルごとに３２ビットのレートで起こる。変換システムの開発のときは、ＰＣの内部バスの最大データ転送レートは１３２Ｍｂｐｓ（メガバイト毎秒）であった。この転送レートは、ＭＰＥＧフォーマット標準を満足させるために必要なデータレートを超える。典型的なＭＰＥＧ準拠出力データレートは、３０Ｍｂｐｓ（メガビット毎秒）のオーダーである。内部ＰＣバス１１０のデータ転送レートは、図２のユニット２０の出力におけるデータレートより高いため、図６に示すアーキテクチャを使用して、広範囲のデータフォーマット変換を行うことが可能である。
図７に示す変換システムインタフェースボード１２０は、ＦＩＦＯ（先入先出）メモリ１２８を使用してデータレート変換を実行する。データは、内部ＰＣバス１１０のデータ転送レートにてＦＩＦＯに入り、データは、生成される多重パケットストリームのデータレートにてＦＩＦＯ１２８から出る。変換システムインタフェースボード１２０の出力データレートは、ボード上の発振器１３２によって制御される。発振器１３２の周波数はビットクロックとして解釈される。データは、変換システムインタフェースＦＩＦＯ１２８を一度に３２ビットにて流れるが、それは、ビットシリアルフォーマットもしくはバイトシリアルフォーマットで変換システムインタフェースボードを出る。従って、データに伴う出力クロックは、発振器クロック１３２と同じ周波数か、８分割された発振器クロック周波数である。これらの２つの出力クロックは、それぞれビットシリアル出力及びバイトシリアル出力のために使用される。
ＭＰＥＧ標準は、特定のアプリケーションで採用される種々のユーザデータを許容する。図６のシステム１００はピクチャーレイヤにおけるユーザデータの２つのカテゴリを生成する。第１のカテゴリは必須のユーザデータを含む。ＭＰＥＧ準拠合成ビットストリームにおける各ピクチャはこのタイプのユーザデータを採用する。例えば、必須のユーザデータはデコーダ３０により必要とされる同期情報を含む。他のユーザデータのカテゴリは、例えばサブタイトルを付けるというような特定機能を実装するオプションのデータである。
システム１００は、プレゼンテーションタイムスタンプ（ＰＴＳ）及びデコーディングタイムスタンプ（ＤＴＳ）タイミング指示子を含む同期情報を運ぶために、ＭＰＥＧピクチャレイヤにおけるユーザデータフィールドを生成する。ＰＴＳはディスプレイプロセスを同期させるために設計される。ＰＴＳは、関連するピクチャ情報のデコーダにおいてプレゼンテーションの所期の時間を指定する。ＤＴＳは復号プロセスを同期化するために使用される。ＤＴＳは、関連するピクチャ情報が復号される所期の時間を示す。システム１００は、ＭＰＥＧの基本のビデオビットストリーム入力を解析し、各ピクチャのためにＰＴＳ及びＤＴＳ指示子を計算する。特定のピクチャのためのＰＴＳとＤＴＳの値は、ディスプレイと復号特性及びピクチャタイプ、すなわちフィールドピクチャもしくはフレームピクチャ、に応じて計算される。ＰＴＳとＤＴＳの両方は、システム１００のエンコーダクロックの数周期の間に計測される。
また、システム１００は、ユーザの選択に応じ、字幕（クローズドキャプション）、サブタイトル、パンとスキャン、非カラーバースト、クロマフラグ、及びフィールドディスプレイフラグを含む多くのオプションのユーザデータフィールドを生成する。これらの各ユーザデータ種別により特別の機能を実現する。例えば、パンとスキャンユーザデータフィールドは、１６×９のビデオピクチャディスプレイフォーマットを４×３のディスプレイフォーマットに変換するために使用され得る。ユーザがパンとスキャンのオプションを選択すると、システム１００のソフトウェアはパンとスキャンのユーザデータフィールドを生成し、それを合成出力データストリームに挿入する。サブタイトルユーザデータフィールドは、出力合成データストリームに多言語のクローズドキャプションを挿入するために使用され得る。これは、例えば、英語が母国語でなくビデオ受信機が内蔵のクローズドキャプション回路を持たない地域で使用され得る。ユーザは、キーボードインタフェース、遠隔制御、電話キーパッドもしくは他のインタフェースシステムを介して、サポートされた言語の組み合わせで、出力合成データストリームにサブタイトルユーザデータを生成して挿入するようシステム１００に命令し得る。
システム１００はまた、例えば、マルチチャネルマルチポイント分配システム（ＭＭＤＳ）もしくはデジタルビデオディスク（ＤＶＤ）のようなテスト目的のために、選択できるデータフォーマットにおけるビットストリームを生成するために使用され得る。
合成出力データストリームにおけるユーザデータフィールドの挿入に続き、システム１００は、このデータストリームからなるパケットをＭＰＥＧ準拠トランスポートパケットにフォーマットする。フォーマットされた各パケットは、ヘッダとペイロードからなる固定数バイトからなる。トランスポートパケットヘッダは、暗号化制御、非同期セル多重、及び誤り制御のような一般的なトランスポートサービスをサポートする。ヘッダは、ビデオ、音声及びデータサービスの多重機能をサポートするための制御情報とパケット識別子（ＰＩＤ）からなる。ヘッダはまた、可変長ＭＰＥＧデータを固定長セルにパックするために使用し得るアダプテーションフィールドを含む。トランスポートパケットペイロードは、例えば、タイミングと条件付きアクセス情報を含むデータと、ＭＰＥＧビデオサービスに関連するサービス固有データを含む。
図６のシステム１００は、内部ソフトウェアパラメータを初期化し、及びインタフェースボード１２０を多重合成出力データストリームを供給するように設定することによって、変換されたデータストリームの合成出力を生成する。
データパケットフォーマット変換のためにインタフェースボード１２８を初期化するための重要な要素は、合成データストリームを出力する際に使用されるデータレートである。その出力データレートは、トランスポートパケットサイズ、パケットあたりの誤り制御バイトの数、及び出力クロック周波数を含む多くのパラメータに依存する。トランスポートパケットサイズは、変換された合成データストリーム出力フォーマット（ここではＭＰＥＧフォーマット）のために望まれる特定のトランスポートプロトコルに基づき選ばれる。前述したように、各トランスポートパケットは、変調器２２（図２）により付加される誤り訂正コードを有する。誤り訂正コードのサイズは、各トランスポートパケットの誤り訂正バイトの数と等しい。システム１００（図６）は、転送された各パケットの終わりにバイトの隙間を残す。この隙間は、所望の誤り訂正バイトの数と同じサイズを有する。図２の変調器２２は、システム１００によりバイト隙間が残されたパケットストリームに誤り訂正コードを挿入する。トランスポートパケットサイズ、及びパケットあたりの誤り訂正バイトの数を決定すると、合成出力トランスポートストリームが、図２のユニット２０について前述したのと同様にして入力データを多重することによって生成される。
トランスポートパケットサイズ、パケットあたりの誤り訂正バイトの数、及び出力クロック周波数が決定すると、出力情報データレート容量が計算される。その情報データレート容量は、誤り訂正コードにより追加される追加のデータを説明せずに、システム１００の変換システムを通りデータが転送される最大のレートと解釈される。データの１ビットは、クロックの各サイクルで処理され、出力クロックはビットクロックとして解釈され得る。従って、誤り訂正コードからのデータを含む全体のデータレート容量は、出力クロックの周波数と等しい。従って、全体のデータレートと情報レートはｂｐｓ（ビット毎秒）で計測される。その情報レート容量は次のようにして得られる。
0004240545.tif 000003
ここで：
Ｒ＝ｂｐｓでの情報データレート容量
Ｙ＝ｂｐｓでの全体のデータレート容量
Ｐsize＝バイトでのトランスポートパケットサイズ
ＥＣsize＝誤り訂正バイトの数
図８は、図６のコンピュータアーキテクチャのメモリ１０８のメモリ割り当てを示す。メモリ１０８は、衛星とＤＶＨＳTM入力からのビデオ及び音声入力データパケット、及びシステムとヌルパケットをシーケンシャルに保持するために使用される。割り当てられたシステム１００のメモリは、これらのトランスポートパケットを格納するためのバッファにセグメント分けされている。前述した通り、システムパケットの内容は、ＳＣＲ値と条件付きアクセス情報である。転送された各システムパケットは単一バッファに保持され、継続的にＳＣＲ値を更新するために使用される。なぜならばＳＣＲ値は現在の時間を表すからである。ヌルパケットの内容は時間により変わらない。従って、１つのトランスポートパケット長バッファはまた、ヌルパケットデータを保持するためにも使用される。
多重スケジュールを設定するために、各トランスポートパケット種別のためのデータレートが決定されなければならない。しかしながら、ヌルパケットのためのデータレートは異なるように扱われる。このことは、ヌルパケットが使用される方法による。ヌルパケットは、出力パケット種別により残された未使用情報データレート容量の埋め合わせをするためのフィラーとして使用される。全てのパケット種別の結合したデータレートはＲと等しくなければならないということが必要とされる。従って、ヌルパケットのためのデータレートは他のパケット種別の結合したデータレートに依存する。
システム１００は、ユーザデータ挿入及びパケット化処理の間に加えられたデータに対応するよう計算されたデータレートにて、ＭＰＥＧ準拠の合成出力データストリームを生成する。この処理の間に加えられたデータはＭＰＥＧ合成トランスポートパケットストリームのために必要とされる情報データレートに影響を与える。そのデータレートは、ＭＰＥＧトランスポートパケットデータもしくは変換されるファイルのサイズ、ビデオフレームレート、及び、変換される圧縮フレームの数を使用して次のように計算される。
0004240545.tif 000004
ここで：
ＢＲ＝ｂｐｓでの情報レートもしくはビットレート
Ｆsize＝ＭＰＥＧトランスポートパケットデータもしくは変換されたファイルのバイトサイズ
Ｆrate＝ｆｐｓ（フレーム毎秒）でのフレームレート
Ｆcount＝フレームカウント
この式は、ＭＰＥＧビデオ及びＭＰＥＧ音声トランスポートパケットストリームの両方に使用され得る。
また、システム１００は、トランスポートパケットの各種類のための多重比を決定する。多重比は、特定のトランスポートパケット種別が多重された合成パケットストリームにどれだけ頻繁に現れるかを示す無次元数である。この数は、ゼロから１の間の正の少数である。多重比は、システムパケットを除き、全てのトランスポートパケット種類で設定される。ＭＰＥＧビデオ、ＭＰＥＧ音声、及びヌルパケットのための多重比は以下のようにして決定される。
0004240545.tif 000005
パケットスケジュールが各パケット種別のために設定される。パケットスケジュールは、特定のパケット種別が送信されるべき時を示す数である。パケットが送られた後、関連するパケットスケジュールは、その対応するパケット種別が送られるべき次の時を反映するように更新される。パケットスケジュールを更新することは、対応するパケットスケジュールデルタを現在のパケットスケジュール番号に加えることによってなされる。システムパケットを除く各パケット種別のためのパケットスケジュールデルタ式は以下に示される。
0004240545.tif 000006
ここで  PSD＝パケットスケジュールデルタ
パケットスケジュールのための更新式は次のように与えられる。
0004240545.tif 000007
ここで
Ｐ（ｎ）＝ｎの時点でのパケットスケジュール
ｎ＝パケット送信時点
システムパケットはＳＣＲ値を運ぶので、システムパケットを送るスケジュールは単純な周期的伝送に基づく。ＳＣＲ値が１００ミリ秒毎に少なくと１回送られることが典型的には要求される。送信されたパケットの数を数えることによってシステムパケットをいつ送るかを決定することが可能である。情報データレートＲの知識により、１つのトランスポートパケットがシステム１００のインタフェースボード１２０を流れ出るのにかかる時間を決定することを許容するので、これは正しい。この時間はＰtimeとして定義される。従って、Ｐtimeは以下のようにして計算される。
0004240545.tif 000008
システムパケットは、少なくともＴsystem秒毎にシステム１００により出力される。Ｔsystemが経過する間に送信されるトランスポートパケットの数Ｎは整数であり、Ｎは次のようにして与えられる値より小さいか等しい最大の整数である。
0004240545.tif 000009
システム１００はパケットカウントがＮになるときにシステムパケットを出力する。
ＳＣＲ値はエンコーダシステムクロックのサイクルφとして表現される。従って、システム１００は、Ｐtime及びφの知識から転送されたときにＳＣＲ値を更新し得る。初期ＳＣＲ値は、システム遅延及び初期入力ＰＴＳ値として知られたパラメータに基づいて決定される。システムは、それに割当てられた値によって第１のＭＰＥＧビデオフレームの表示を遅延させる。ＳＣＲの更新式は従って、次のようになる。
SCR（n）=PTS（0）-SYSdelay    for n=0
SCR（n）=SCR（n-1）+Ptime*φ    for n>0
ここで
ＳＣＲ（n）＝φのサイクルにおけるｎの時のＳＣＲ値
ＰＴＳ（0）＝第１の入力ＰＴＳ値
ＳＹＳdelay＝システム遅延値
前述した通り、ヌルパケットのためのデータレートは他のパケット種別の結合データレートに依存していた。多重出力合成データストリームは、パケットスロット（図５参照）に区分される。他の入力データソース無しに、多重パケットストリームにおける各パケットスロットは、ヌルパケットにより占有される。この例では、ヌルパケットのデータレートはＲと等しい。しかしながら、入力ＭＰＥＧビデオソースが加えられると、いくつかのパケットスロットにおいて、ヌルパケットはＭＰＥＧビデオパケットと置き換えられる。この例では、ヌルパケットのデータレートはＲより小さい。これより多くのパケット種別が多重パケットストリームに加えられる場合、もしくは１つのパケット種別のデータレートが増加する場合、この概念は拡張され得る。従って、多重合成データストリームの各パケットスロットにおいて、ヌルパケットは、そのパケットスロットを埋める予定の他のパケット種類がなければ、そのスロットを占有する。結果的に、ヌルパケットの多重比は１つである。
システム１００（図６）の多重アルゴリズムは、多重パケットストリームをパケットスロットの区画として扱うことに基づき得られる。システム１００の多重アルゴリズムの例が、多重音声、ビデオ、及びヌルパケットについて以下示される。そのアルゴリズムはすぐに、前述した衛星及びＤＶＨＳTMソースのような２つのソースからの多重ビデオ及び音声パケットに拡張される。Ｐcountは転送されたパケットのカウントである、ということを指摘する。
1.  Pcount=Pcount+1
SCR（n）=SCR（n）+Ptime*φ
2.  IF:
Pcount=N
THEN:
a）システムパケットを送る
b）PSNULL（n+1）=PSNULL（n）+PSD（NULL）
c）Pcount=0
d）GOTO 1
ELSE:
続く
3.  IF:
PSNULL<PSvideo and PSNULL<PSaudio
THEN:
a）Send a NULL packet
b）PSNULL（n+1）=PSNULL（n）+PSD（NULL）
c）GOTO 1
ELSE IF:
PSvideo £ PSaudio and PSvideo £ PSNULL
THEN:
a）ビデオパケットを送る
b）PSvideo（n+1）=PSvideo（n）+PSD（video）
c）PSNULL（n+1）=PSNULL（n）+PSD（NULL）
d）GOTO 1
ELSE:
a）音声パケットを送る
b）PSaudio（n+1）=PSaudio（n）+PSD（audio）
c）PSNULL（n+1）=PSNULL（n）+PSD（NULL）
d）GOTO 1
このアルゴリズムの単純さにより、図６のシステム１００のコンピュータアーキテクチャを使用してリアルタイムにインプリメントされることを可能とする。
図６のアーキテクチャは排他的でない。他のアーキテクチャも、同様な目的を達成するために、本発明の原理に従って得られ得る。更に、図６のアーキテクチャの要素の機能及び図１のプロセスステップは、全体もしくは一部がハードウェアでインプリメントされ、もしくは、図６のプロセッサ１０２のようなマイクロプロセッサのプログラムされた命令でインプリメントされ得る。加えて、本発明の原理は非ＭＰＥＧ準拠の入力及び出力データフォーマットに適用される。
【図１】
0004240545.tif 000010
【図２】
0004240545.tif 000011
【図３】
0004240545.tif 000012
【図４】
0004240545.tif 000013
【図５】
0004240545.tif 000014
【図６】
0004240545.tif 000015
【図７】
0004240545.tif 000016
【図８】
0004240545.tif 000017