(57)【特許請求の範囲】
【請求項１】
一連の情報フレームを表現する複数の情報セグメントを備えたビットストリームを接続する方法であって、
出力に繋がれて、接続するセグメントの適切な最後の情報セグメントを指示することのできる少なくとも１つの出口指示を含んだ第１のビットストリームを、前記出口指示を検出するために監視するステップと、
接続するセグメントの適切な最初の情報セグメントを指示する少なくとも１つの入口指示を含んだ第２のビットストリームを提供するステップと、
制御信号、前記第１のビットストリームにおける前記出口指示の検出、及び前記第２のビットストリームにおける前記入口指示の検出に応答して、前記第２のビットストリームを前記出力に繋ぐステップと、
を備え、
該方法は、前記第２のビットストリームを監視するステップを更に備え、該第２のビットストリームを監視する該ステップが、前記第２のビットストリームにおける入口指示の検出に応答して、前記検出された入口指示に関連する前記適切な最初の情報セグメントとそれに続く複数の情報セグメントとを、先入れ先出しバッファに記憶するステップを更に備え、
前記第２のビットストリームが前記出力に繋がれるまで、各入口指示を検出する度に前記記憶するステップが反復され、
前記記憶するステップにおいて、各入口指示が検出される度に前記バッファがフラッシュされる、
方法。
【請求項２】
前記制御信号が接続決定信号を備え、
前記繋ぐステップが、
出口指示を検出した時点で、前記第１のビットストリームを前記出力から切り離すステップと、
入口指示を検出した時点で、前記第２のビットストリームを前記出力に繋ぐステップと、
接続応答信号を送信するステップと、
を備えた請求項１に記載の方法。
【請求項３】
前記接続決定信号が、少なくとも１つの所望の時間的なパラメータと、所望の接続品質パラメータと、優先順位パラメータとを備え、
前記接続応答信号が、少なくとも１つの実際の時間的なパラメータと、実際の接続品質パラメータとを備える、請求項２に記載の方法。
【請求項４】
前記所望の時間的なパラメータが、前記繋ぐステップを実行する所望の時刻を指示し、
前記所望の接続品質パラメータが、継ぎ目のない接続品質レベルよりも小さい又はそれに等しい最小限の接続レベルを指示し、
前記実際の時間的なパラメータが、前記繋ぐステップが実行された時刻を指示し、
前記実際の接続品質パラメータが、前記繋ぐステップにおいて発生されたビットストリームの品質レベルを指示する、請求項３に記載の方法。
【請求項５】
一連の情報フレームを表現する複数の情報セグメントを備えたストリームを接続するための装置であって、
出力に繋がれて、接続するセグメントの適切な最後の情報セグメントを指示することのできる少なくとも１つの出口指示を含んだ第１のビットストリームを、前記出口指示を検出するために監視するモニタと、
接続するセグメントの適切な最初の情報セグメントを指示する少なくとも１つの入口指示を含んだ第２のビットストリームを提供するビットストリームソースと、
制御信号、前記第１のビットストリームにおける前記出口指示の検出、及び前記第２のビットストリームにおける前記入口指示の検出に応答して、前記第２のビットストリームを前記出力に繋ぐスプライサと、
を備え、
前記モニタは、第２のビットストリームにおける入口指示の検出に応答して、前記検出された入口指示に関連する前記適切な最初の情報セグメントとそれに続く複数の情報セグメントとを、先入れ先出しバッファに記憶し、
前記記憶することが、各入口指示を検出する度に反復され、
前記バッファが、各入口指示が検出される度にフラッシュされる、
装置。
【発明の詳細な説明】
本出願は、１９９６年５月２９日に出願された米国特許仮出願第６０／０１８５５４号の権利を主張するものである。
本発明は、契約番号第７０ＮＡＮＢ５Ｈ１１７４号に基づく米国政府の支援によってなされたものである。米国政府は本発明にある権利を有する。
本出願は、本出願と同時に出願された米国特許第 号（代理人整理番号第１２０７０号）に関連している。
本発明は、一般的には通信システムに関し、より詳細には、複数の圧縮されたデータストリームを同期させてストリームの選択、接続操作及びその他の操作を容易にする方法及び装置に関する。
発明の背景
様々な通信システムにおいては、送信されるべきデータが圧縮されて、利用可能な帯域幅がより効率的に使用される。例えば、動画専門家グループ（ＭＰＥＧ）は、ディジタルデータ転送システムに関する幾つかの規格を発布してきた。まず第１に、ＭＰＥＧ−１として知られるＩＳＯ／ＩＥＣ標準１１１７２があり、本明細書に援用されている。第２に、ＭＰＥＧ−２として知られるＩＳＯ／ＩＥＣ標準１３８１８があり、本明細書に援用されている。圧縮ディジタルビデオシステムに関しては、新型テレビジョンシステム委員会（ＡＴＳＣ）のディジタルテレビジョン標準化文書（degital television standard system）Ａ／５３に記述されており、本明細書に援用されている。
共通の参照時刻（即ち、同一の２７ＭＨｚクロックソース）を共有する個々の単（elementary）ストリームを多重化することによって、プログラム移送ストリームが形成される。単ストリームは、ビデオ、オーディオ、或いはその他の符号化されたビットストリームを含む。移送用に多重化される前に単ストリームは、必ずしもそうでなければならないわけではないが、パケット化単ストリーム（ＰＥＳ）のフォーマットを有しているであろう。ＰＥＳは、パケットヘッダとそれに続くパケットペイロードからなる。単ストリームは、多重化されると移送パケットの形にされて、プログラム（同様に、移送パケットに形成されている）が記載された制御ビットストリームが付加される。
一方の符号化即ち圧縮されたビットストリームから、他方のビットストリームに切り換えなければならない場合も多い。一方の圧縮されたＭＰＥＧビデオビットストリームから他方のビットストリームに切り換える場合は、復号化された画像の時間差のない正しく連続するプレゼンテーションを保証するために、画像ビットストリームが送信される順序で適切な処置がなされなければならない。このような時間差は、好ましくないビデオアーティファクト又はオーディオアーティファクト（例えば、バッファオーバフロー／アンダフローによるブランクスクリーン、貧弱な「リップシンク（lip sync）」等）を発生させる。移送ストリームを互いに接続するための継ぎ目のない（seamless）接続方法及び装置はこれまでに存在しなかった。
このように、圧縮されたディジタル情報ビットストリームを接続するための方法及び装置がこの分野に必要とされている。
発明の概要
従来技術に関する以前の不都合は、圧縮ディジタル情報ストリームを接続するための本発明の方法及び装置によって克服される。より詳細には、本発明は、第１の情報ストリームを第２の情報ストリームに接続するものである。第１の情報ストリームは、ストリームへの適切な入口を識別するのに役立つ少なくとも１の入口指示（entrance indicium）を含む。第２の情報ストリームは、ストリームからの適切な出口を識別する少なくとも１つの出口指示（exit indicium）を含む。本発明は、適切な箇所が検出されるまで２つのストリームを監視し、制御信号に応答して、第１のストリームを第２のストリームに接続する。
具体的には、本発明によるスプライサは、第１の情報ストリームを受信してバッファリングされた情報ストリームを発生するプレ接続バッファと、第１の情報ストリームを受信して、それに応答して、プレ接続バッファが、バッファリングされた情報ストリームの入口点がバッファの出力点に配置されるようにするためのビットストリーム検査器と、バッファリングされた情報ストリーム又は第２の情報ストリームの何れかを出力に繋ぐスイッチと、第２の情報ストリームを監視し、制御信号と第２の情報ストリームの出口点の検出とに応答して、スイッチを、バッファリングされた情報ストリームが出力に繋がれるようにするスイッチコントローラとを含む。
【図面の簡単な説明】
添付の図面を参照して以下の詳細な説明を考察することによって、本発明の教示内容が容易に理解されるであろう。
図１は、本発明を含んだ圧縮ビットストリーム接続システムのブロック構成図である。
図２は、本発明による継ぎ目のない接続処理のフローチャートである。
図３は、図１に示したスプライサの詳細なブロック構成図である。
図４は、相互作用する複数のアイランドを備え、本発明を含んだディジタルスタジオのブロック構成図である。
理解を容易にするために、図面を通して同一の構成要素には可能な限り同一の符号を使用した。
発明の詳細な説明
様々なビットストリームを受信及び処理し、また、本発明による切り換え能力に関する多くの動作環境を含んだディジタルテレビジョンスタジオを背景にして本発明を概略的に説明する。この切り換え能力は、出力ストリームを発生するために、例えば複数のビデオ移送ストリームの継ぎ目のない又は継ぎ目のある（non-seamless）接続を可能にする。制御された劣化（degraded）出力ストリームを発生するために、継ぎ目のないストリームと継ぎ目のあるストリームとの組み合わせが提供されてもよい。
本発明は、切り換え操作、接続操作、或いは挿入操作を一対のＭＰＥＧ準拠入力移送ストリームに実行して出力ストリームを発生する２入力ビットストリームスプライサである。本発明の原理は、２以上の入力を有するビットストリームスイッチャ即ちスプライザに適用され、かつ、ＭＰＥＧに準拠しない入力ストリームに適用されてもよいことに注意すべきである。本発明は、以下で説明される機能を実行するようにプログラムされた汎用コンピュータシステムを用いて実現されてもよい。プログラムされると、汎用コンピュータは、ディジタルデータビットストリームを接続するための特殊用途向け装置となる。
本発明は、継ぎ目のないビットストリームの接続だけでなく、継ぎ目のあるビットストリームの接続に使用することもできる。継ぎ目のない接続とは、２つのストリームの継ぎ目のないつき合わせ接続（butt−splicing）によって出力ストリームを形成し、それが連続した乱れのない情報の流れ（例えば、グリッチ（glitch）又はアーティファクトのないビデオ又はオーディオ）を結果として提供することを意味する。継ぎ目のある接続は、乱れのある情報の流れ（例えば、視覚的又は聴覚的な歪み、妨害、及び、アーティファクト）を有する可能性のある出力ストリームを結果として提供する。この説明のために、それぞれのビットストリームは、ビデオ、オーディオ、及び、（場合によっては）他の情報からなる移送ストリームと仮定する。本発明はパケット化単ストリーム及びその他の単ストリームに適用できることに注意すべきである。更に、接続点はビデオ情報に基づいて決定されるものとする。これは、接続されたオーディオ及びその他の情報に何らかの歪みをもたらす可能性がある。なぜなら、オーディオ及びその他の情報は、パケット単位では時間的に「整列」されないことがあるからである。
接続は、出力ストリームにおいて「フロムストリーム（from−stream）」から「ツーストリーム（to−stream）」に変えることを含む。理想的には、「出力点」においてフロムストリームから出て、「入力点」においてツーストリームに入る。出力点は、現在選択されているストリーム（即ち、「フロムストリーム」）における位置であり、その位置において、ストリームが終了され、何か別のストリーム（即ち、「ツーストリーム」）が接続されてもよい。「入力点」は、別のストリームでの位置であり、その位置で、情報は、別のストリームに接続され始めることもできる。
「接続セグメント」は、情報ストリームの入力点と出力点との間の部分として定義される。接続セグメントは、複数の出力点及び入力点を含むであろう。従って、接続に最大限の柔軟性をもたせるためには、ストリームにできるだけ多くの入力点及び出力点を含むことが望ましい。「入力点」及び「出力点」の定義の中には遅延パラメータ、即ち、ＭＰＥＧ準拠ストリームに対してのビデオバッファリング検証器（ＶＢＶ：video buffering verifier）が含まれる。既知の入力点遅延パラメータを備え、かつ、それと同じ値の既知の遅延パラメータを有する出力点を備えた接続セグメントは、異なった値の遅延パラメータを備えた短い有効接続セグメントを内部に含んでもよい。
本発明の具体的実施形態のスタジオ環境において情報ストリームは、移送パケットに分割される。ビデオを含むパケットは、オーディオ、補助データ、或いは他の情報を含むパケットと混合されてもよい。この環境においては、ビデオストリーム出力点は、関係するストリームの最後のビデオ移送パケットの終了点である。最後のパケットを含むそれ以前のビデオストリームは、出力点の接続の定義を満足しなければならない。同様に、ビデオストリーム入力点は、接続セグメント（ＳＳ）の最初のビデオ移送パケットの開始点である。移送ストリームにおけるその他の情報、特にオーディオは、入力点及び出力点において適切にセグメント化される見込みがないことに注意すべきである。オーディオ移送パケットが位置合わせされないことによって発生するエラーを補正する方法は、本出願と同時に出願されここに援用される米国特許第 号（代理人整理番号第１２０７０号）に開示されている。
情報ストリームを接続することの重要な側面は、様々な遅延パラメータを適切に処理することである。関係する１つのパラメータは、様々な情報ストリームに関連する遅延パラメータである。ＭＰＥＧ準拠ストリームの場合、遅延パラメータは、ビデオバッファリング検証器（ＶＢＶ）である。その他のパラメータは、接続操作に固有の潜在的な期間即ち過度的な期間である。例えば、典型的な接続が、ある時刻、即ち「接続時刻」に発生する。接続時刻より前には、出力情報ストリームはフロムストリームを備える。接続時刻において、ツーストリームへの切り換えが発生する。所定の期間、出力ストリームはフロムストリームとツーストリームの両方からの情報を含むであろう。やがては、出力ストリームは、ツーストリームだけからの情報を含む。
フロムストリーム及びツーストリームはそれぞれ有効であると仮定する。接続に継ぎ目がなければ、満足しなければならないある特定の制約がストリームに存在する。継ぎ目のない接続とは、結果として得られた接続されたビットストリームが不連続性を将来発生させないことを意味するものである。
継ぎ目なく接続されることのできる有効接続セグメントの１つの具体例は、ＭＰＥＧ準拠接続セグメントである。ＭＰＥＧ接続セグメント（ＳＳ）は、移送レベルにおいて定義され、ビデオ（及び、オーディオ）レベルでの機能を含む。情報を保持する接続セグメントは、単一フレームと同じ程度に短くてもよい。接続セグメントは、フレームの長さがゼロのセグメントさえもあり得る（そのようなＳＳはＭＰＥＧに準拠しないかもしれないが）。そのような長さがゼロのセグメントは、単に入力点とそれに続く出力点（即ち、イン出力点）でしかない。また、ＳＳは、非常に長いものであってもよく、多くのＧＯＰを含む。一般的には、ＳＳの長さは制限されずに、ＳＳは複数の出力点を含み、セグメントからの継ぎ目のない出力を可能にするものであるべきである。例外としては、テレビジョンコマーシャルからなるＳＳが考えられる。テレビジョンコマーシャルＳＳは、定義された出力点を備えることなく熟慮して制作されるので、コマーシャルセグメントからの出力は継ぎ目がある。
ＭＰＥＧのＳＳは、矛盾のない移送ストリーム及び単ストリームのタイムスタンプ（例えば、ＰＣＲ、ＰＴＳ、ＤＴＳ）、及び、関連する遅延パラメータ（例えば、ＶＢＶ遅延）を有するＭＰＥＧ準拠ストリームでなければならず、それによって、復号器はＳＳに含まれる情報を適切に復号化して提供することができる。ＭＰＥＧビデオＳＳの入力点における最初の情報フレーム（例えば、ビデオアクセスユニット）は、Ｉ−フレームでなければならない。第２のフレームは、入力点より前の情報フレームを参照してはならない（即ち、第２のフレームがＢ−フレームであれば、このＢ−フレームは、入力点より前のフレームを参照できない）。出力点の前の最後のフレームは、Ｂ−フレームであってはならない（ディスプレイされる順序で）。オーディオＳＳは、オーディオフレームの開始点からなる入力点と、オーディオフレームの最後のバイトからなる出力点とを有する。例えば、符号化エラーの蓄積、同調時刻（tuning−time）、最低限の画像品質などの問題を解決するために、ストリームに課される他の制約が存在してもよい。
ビデオＳＳが複数のシーケンスヘッダを含んでいても、ビデオＳＳの入力点は、シーケンスヘッダとともに開始しなければならない。シーケンスヘッダが入力点でもあることを指示するための追加ヘッダ情報をＳＳは含んでもよい。ＳＳ入力点シーケンスヘッダを同調時刻又は画像品質として含まれるシーケンスヘッダと区別する必要がある。なぜなら、継ぎ目のない接続は、入力点に基づいて保証されるにすぎないからである。入力点は、シーケンス終了コード（ＳＥＣ）に続かなければならないので、入力点の直前にＳＥＣコードを含むことが望ましく、それによって、出力点の終わりにＳＥＣを含む必要がなくなる。出力点はＳＥＣを含んでもよい。ＭＰＥＧ型のスプライスカウントダウンが使用されるのであれば、出力点で終了しなければならない（即ち、ゼロに等しい）。
図１は、本発明を含んだ圧縮ビットストリーム接続システム１００のブロック構成図を示す。システム１００は、第１の圧縮ビットストリームのストリームソース１１０、第２の圧縮ビットストリームのストリームソース１２０、スプライサ３００、コントローラ１０５、及び、任意の接続モニタ１３０を含む。第１の圧縮ビットストリームのストリームソース１１０、即ち、移送ストリーム符号器からの「ライブフィード送り（live feed）」によって、第１のＭＰＥＧ準拠移送ストリームＳ６が提供される。第２の圧縮ビットストリームのストリームソース１２０、即ち、ビデオ及びオーディオの単ストリーム及び移送ストリームを記憶するサーバ（例えば、ビデオディスク、テープ装置、又はその他の記憶装置）によって、記憶されたストリームが符号化されて第２のＭＰＥＧ準拠移送ストリームＳ７が提供される。記憶された情報は、例えば、第１の移送ストリームに接続されるべき広告情報又はローカルプログラミング情報を含んでいるであろう。スプライサ３００は、２つの入力移送ストリームＳ６及びＳ７のどちらか一方を出力ストリームＳ９として送信機又はその他のサブシステムに選択的に繋ぐ。任意の接続モニタ１３０は、例えば、遅延パラメータ、バッファ使用情報、同期、ビットストリームソースなどの、接続された出力信号Ｓ９の様々なパラメータをモニタする。任意の接続モニタ１３０は、コントローラ１０５及びスプライサ３００に応答して動作する。
スプライサ３００は、第１の移送ストリームＳ６、即ち第１のソースによって発生されたテレビジョンプログラム、及び第２の移送ストリームＳ７、即ち第２のソースによって発生された広告を受け取る。制御信号ＳＥＬＥＣＴに応答して、スプライサは、第１の移送ストリームＳ６又は第２の移送ストリームＳ７のどちらかの出力信号Ｓ９を発生する。制御信号ＳＥＬＥＣＴは、所定の時間内、或いは特定の条件が現れたときに、即座にスプライサ３００を応答させる（即ち、ストリーム入口点又はストリーム出口点の特定の位置合わせする）優先順位情報を含んでもよい。スプライサ３００は信号ＡＣＫＮＯＷＬＥＤＧＥを発生し、この信号は、ＳＥＬＥＣＴ信号に応答して接続操作についての詳細情報（例えば、接続の正確な時刻、エラー条件、など）を提供するのに使用される。スプライサ３００の動作については、図３を参照して以下でより詳細に説明される。
実際の接続操作は、ビットストリーム間の実際の切り換えに必要なあらゆることを実行するスプライサ３００内で発生する処理である。これらの操作には、フロムストリームからのパケットの流れを整然とした態様で停止すること、ツーストリームからのパケットの流れを整然とした態様で開始すること、そして、出力ストリームでのヘッダ情報を調整することが含まれる。ある期間だけ、フロムストリーム及びツーストリームの両方からのパケットが混合されるかもしれない。
接続操作は、継ぎ目がなくなるように同期をとらなければならない。入力ストリームが要求された時刻に適切なスプライサに確実に到着するためには、幾つかの同期をとるための操作が実行されるであろう。出力ストリームは途切れがないものであり、かつ、実際の接続は、フロムストリームからツーストリームへの出力ストリームの内容の変化であると考えるものとする。更に、出力ストリームにおけるタイムスタンプは、あるスタンプから次のスタンプまでの連続性を維持すべきであり（これはストリームの内容に関係する）、接続メカニズムは、出力ストリームのタイムスタンプを調整すべきである。ＭＰＥＧシステムにおいてタイムスタンプの連続性がない場合には、ＭＰＥＧの「不連続性」ヘッダフラグが使用されるべきであり、それによって、新しいタイムスタンプ（即ち、タイムスタンプ不連続性）の指示が復号器に提供される。
調整を実行するために、接続処理は、何らかの時刻の概念を持たなければならない。なぜなら、このローカル時刻概念が、出力タイムスタンプを発生するのに使用されなければならないからである。接続処理は、ＯＣ−１２ｃインタフェース等の何らかのタイミングソースからそれの時刻概念を取り込んで、ストリーム内容又は時刻設定メッセージから現在時刻が得られる。ローカル時刻概念は、適度の連続性を有して、良好に動作（well behaved）しなくてはならない。接続する場合、フロムストリームの終了点及びツーストリームの開始点の何れもが、出力を発生している実際の接続ハードウェアにおいて利用できるものでなければならない。更に、接続処理における全てのバッファリングは、有限であり、規定されたものである。
上述したことに加えて、考慮すべき同期問題がある。例えば、接続処理におけるパケットジッタの影響を考察することは重要なことである。接続される実際のストリームに含まれる情報の他に何らかの更なる情報（例えば、優先順位情報、ソース識別情報、エラーコード、など）が必要であれば、この更なる情報は、実際の接続ストリームに適切に同期させなければならない。
接続機能の同期に関連する幾つかの条件が存在する。これらは、所望の操作と実際の操作との間のタイミング関係、そして、連続流ストリーム（continuous-flow stream）、サーバ発生ストリーム、及び、遠隔発生ストリーム間のタイミング関係である。
所望の操作と実際の操作との間のタイミング関係を最初に説明する。例えばプレイツーエアスイッチャ（Play-to-Air Switcher）等のある操作ユニットにおいては、ストリームを切り換えるための決定がなされなければならない。その決定に応答して、出力ストリームのソースが実際に切り換えられる。
接続決定は、内容に関するデータエレメントが１つのストリームにおいて発生したときにフロムストリームからツーストリームに切り換えるといった、内容に関係したものであってもよい。例えば、フロムストリームはモニタされてもよく、例えば、ブラックスクリーン（black-screen）又はシーンチェンジの検出に応答して、接続決定がなされてもよい。この操作による決定は同期を必要としない。この決定は、むしろ、スプライサ（又はコントローラ）が、例えば、フロムストリームを解析してデータエレメントを検出することを必要とする。また、接続決定は、ある特定のパケットが検出されたとき、或いは情報の流れが開始又は停止したときにフロムストリームからツーストリームに切り換えるような、データの流れに関係したものであってもよい。
接続決定は、正午になったらあるプログラムからコマーシャルに切り換えるといった、時刻に関係したものであってもよい。時刻に関係した決定は、スプライサのローカル参照フレーム（local frame-of-reference）が参照されなければならない。メッセージ通過処理（message-passing process）は、スプライサがそれの参照フレームを用いて接続を実行する準備ができるのに間に合わせて、決定情報をスプライサに通過させる。ある時点で接続決定がなされたと仮定すれば、フロムストリーム及びツーストリームに基づいて、次の有効な接続点において接続が実行される。
接続決定は、ボタンを押すような（例えば、図１のスプライサ１００に示されるようなディレクタの「テイク」コマンド）イベント駆動型であってもよい。イベントを指示するメッセージがスプライサに到着したときの動作は、時刻に関係した決定において、その時刻になったときの動作と同じである。
所定の形式の応答メッセージが必要である。このメッセージは、接続決定の発信者（例えば、コントローラ）に配達されると、タイムアウト、及び、異常に継ぎ目のある接続等の動作に関して賢い選択をなすことを可能にする。接続障害を収拾するための補正動作に関するタイムアウト及び決定は、接続決定の発信者の政策的な問題である。タイムアウト及び強制的な切り換えは、スプライサによって実行されるサービスの可能性があり、便宜上のことにすぎない。
操作ユニット（例えば、スプライサ又はスイッチャ）は、制御エンティティに適切な肯定応答メッセージをフィードバックしてもよい。そのようなフィードバックメッセージの内容は、１以上の次のパラメータを含んでもよい。１）接続が実行されたかどうか、２）接続が発生したローカル時刻、３）ツーストリームの遅延パラメータ値、４）フロムストリームの遅延パラメータ値、５）現在の（接続後の）同期バッファ遅延（例えば、遅れの秒数）、６）接続が実行される将来の時刻（スイッチャがこの値を計算できる場合）、７）例外又はエラー。例外又はエラーには、接続が発生しなかったこと、コントローラを通過した決定パラメータが不正であったこと（例えば、シンタックス上又は論理的に）、ツーストリームが準備のできなかったこと、タイムアウトが発生したこと、或いはオーディオ障害が発生したこと（例えば、多くの数のオーディオフレームが欠落した）、が含まれるであろう。
更なる数値情報には、１）フロムストリームからのオーディオ情報が必要とする時間量、２）入力が正しくバッファリングされて新しい接続の準備ができたことの指示、３）コントローラ又は接続処理自体に有益なその他の情報、が含まれる。
継ぎ目のない接続が実行される正確な時刻は、前もって決定されていなくてもよい。なぜなら、継ぎ目のない接続は、入力点がツーストリームに到着することに依存しているからである。継ぎ目なく接続することが決定された場合、ある制限時間内に接続が実行されないときに何をすべきかについてなされなければならない幾つかの二次的な決定が存在する。その選択は以下の通りである。まず第１に、継ぎ目のない接続が発生することを単に待つことである。スタジオの使用目的によっては、これは受け入れられないかもしれない。第２に、所定のタイムアウト時間を規定して、スプライサがその規定されたタイムアウト時間内に接続してしまわなければ、継ぎ目のある接続を実行する（即ち、できる限り制御可能な態様でストリームを切り換える）ことである。これは簡単な方法ではあるが、決定の柔軟性を制限する。第３に、継ぎ目のない接続が発生することを単に待つが、制御エンティティにこの状態を報告する。どのような処理がなされようとも、接続決定は、継ぎ目のある接続を受け入れることを決定してもよい。これは、理にかなった操作上の柔軟性を可能にする。第４に、デフォルトのタイムアウトをオプションとして含み、かつ、制御しているエンティティにこの状態を報告することをオプションとして含むプログラマブルなタイムアウトを提供することである。このオプションは、制御エンティティがタイムアウト値を変更することを可能にし、もって、操作上最も大きな柔軟性を提供する。タイムアウトは補助的な操作上の形態であって、通常の動作においては例外であることに注意すべきである。
ここで、連続流ストリームを接続する場合の同期について説明する。ストリームが到着し、そして、出力点がフロムストリームに検出されと、例えばツーストリームの入力点が得られるような何らかの方法によって、スプライサにバッファリングされなければならない（例えば、１秒間分の情報量）。バッファ容量が不十分であれば（例えば、フロムストリームにおける連続する入力点の間隔が１秒よりも大きい）、バッファはオーバフローして無効の情報を含むであろう。この状態は、適切な数の入力点及び出力点をビットストリームに挿入することによって解除される。何度もビットストリームが入力点及び出力点を持たなければ、その度に、これらのビットストリームが継ぎ目なく接続されることは不可能である。更に、入力ビットストリームの到着時刻においてパケット又はセルのジッタが存在するので、流れを円滑にするには、先入れ先出し（ＦＩＦＯ）バッファ（出力は公称データ転送速度でクロックされる）が必要である。
ここで、サーバ発生ストリームの同期を説明する。サーバ発生ストリームは、データのスプライサ到着が早過ぎず又は遅過ぎないように注意深く発生されなければならない。データの到着が早過ぎる場合には、入力バッファがオーバフローする危険性がある。スプライサが十分に同期がとれたバッファリングを行って１秒程度のビデオを保持すると仮定すると、時間通りであるいう制限（just−in−time limit）及び１秒早いという制限（one−second−early limit）を越えなければどのような形態の流れでもその流れでサーバストリームを送り出すことができると考えられる。もちろん、ピーク時転送速度制限がスプライサに存在してもよい。
ここで、遠隔発生ストリームの同期について説明する。スプライサを含んだスタジオで処理されるどのようなストリームも同一の参照クロック速度を有することが要求されることに注意しなければならない。遠隔発生ストリームは、それらがスプライサに到着するまでには、ローカルに発生されたリアルタイムストリームと同じものでなければならない。遠隔発生ストリームがローカルマスタークロックを参照するために、遠隔ソースは、ローカルスタジオにクロックされてもよい。これは、逆方向チャンネル（reverse channel）を介して、或いは全地球測位システム（ＧＰＳ）から得られるタイミング信号のような外部参照に両方をクロックすることによって実現することができる。２つの独立したスタジオがあり、各々が独立したマスタークロックを備え、各々が互いに遠隔供給しているならば、一方はデータを他方に送るのが遅すぎ、他方はデータを送るのが早過ぎるであろう。別の方法は、ある動作間隔における最大のクロックドリフトに等しい時間だけ遠隔供給を遅延させることである。３０ｐｐｍのドリフト速度は、２４時間経過すれば２．６秒になる。初期設定によって３秒だけ満たされた６秒のバッファは、クロックドリフトを吸収するのに十分である。
接続のモニタリングは、特にスタジオ環境において、接続操作の重要な側面である。内容に関するモニタリングは、表示装置（即ち、モニタ）上の画像を観察して、それに応答して、その画像を発生する（例えば、接続する）ビットストリームのパラメータを変化させる段階を備えてもよい。任意の接続モニタ１３０が、例えばディレクタによって、内容に関するモニタリングに使用されてもよい。もう１つの形態のモニタリングは、モニタされたビットストリームの定性的な評価である。任意の接続モニタ１３０は、例えば遅延パラメータ、バッファ使用情報、同期情報、ビットストリームソース識別情報等の定性的な情報を接続された出力信号Ｓ９から検索するのに使用されてもよい。任意の接続モニタ１３０は、コントローラ１０５及びスプライサ３００に応答して動作し、情報を処理して例えば動作の概況を報告し、或いは更なる処理のために定性的な情報をそのままコントローラ１０５及びスプライサ３００に送出する。
内容に基づくモニタリングに関しては、ディレクタ（即ち、人）が、モニタ（即ち、復号器が駆動するディスプレイ）を通して様々なビットストリームを観察し、それに応答して接続し、出力ストリーム（即ち、プログラム）を発生してもよい。このことは、複雑なＧＯＰストリームに関するプロダクション又はライブ切り換えにおいて特に意義がある。小さい遅延（例えば、Ｉ−フレームだけ）のプロダクションモードで動作していれば、問題は大幅に抑制される。接続が「今」なされるべきであることをディレクタが指示したとき、その決定は、ディレクタが見たこと及び見るであろうことに基づくと考えられる。復号器は、その性質上、それの入力ビットストリームからいくらか遅延した後に（例えば、エンドツーエンド遅延及び何らかの付加的な復号化及びフォーマット遅延の一部又は全部）その画像を再生出力するので、ＭＰＥＧスタジオ環境におけるディレクタに適した動作モードは、現行のＮＴＳＣに関係した動作と異なるものとなる。以下の具体例のために、ディレクタは、ＭＰＥＧスタジオ環境において動作しており、接続セグメントは１／４秒の長さであり、かつ、接続されたストリームのエンドツーエンド遅延は１／２秒であると仮定する。
第１の具体例は、「最も早い」モードの動作である。このモードにおいては、ディレクタが、出力モニタ１３２、フロムストリームモニタ１３６、或いはツーストリームモニタ１３４で観察されるイベントに基づいて、「テイク」ボタンＴＡＫＥを押す。待機状態である（例えば、サーバに記憶された）ツーストリームが動作可能となり、入力点に位置合わせされる。接続コマンドが入力されてから１／４秒以内に、出力点が、フロムストリーム同期バッファの末尾に到着し、接続が実行される。フロムストリームは１／４秒までの遅延を含むことに注意しなければならない。１モニタ遅延（１／２秒）の後、出力モニタ上のシーンがチェンジする。
ディレクタが出力モニタ１３２上のシーンに応答すれば、出力モニタ遅延の量（即ち、「テイク」コマンドＴＡＫＥと出力モニタ１３２上のシーンにおけるチェンジとの間の時間）は、１／２〜１秒となる。ディレクタがフロムストリームモニタ１３６上のシーンに応答すれば、フロムストリームモニタ遅延の量は、１／４〜１／２秒となり、出力モニタ遅延は１／２秒となる。ディレクタがツーストリームモニタ１３４上のシーンに応答すれば、ツーストリームモニタ１３４は、連続的なものとなり（即ち、モニタ遅延がない）、出力モニタ遅延は、マイナスの１／４秒となる（即ち、「テイク」ボタンＴＡＫＥが押されて１／４秒後にシーンがチェンジし、ボタンが押される１／４秒前に画像表示が発生する）。
第２の具体例は、「次に」モードの動作である。このモードにおいては、待機状態のツーストリームが、ツーストリーム同期バッファからフラッシュされ、１／４秒以内に、入力点から始まる次のセグメントが待機状態となる。更に、このツーストリーム同期バッファは、０〜１／４秒のランダム遅延を有する。入力点が到着すると、接続が実行される。
ディレクタが出力モニタ１３２上のシーンに応答すれば、出力モニタ遅延の量は、１／２〜１秒となる。ディレクタがフロムストリームモニタ１３６上のシーンに応答すれば、フロムストリームモニタ遅延の量は、１／２〜３／４秒となり、出力モニタ遅延は１／２秒となる。ディレクタがツーストリームモニタ１３４上のシーンに応答すれば、ツーストリームモニタ１３４は、連続的なものとなり、０〜１／４秒後に、出力モニタ１３２は、新しいシーンに切り換わる。
「最も早く」モードの接続又は「次に」モードの接続かの選択は、操作によるものであり、どちらがより不快に操作を混乱させたか（遅延又はバックアップ）に基づいてもよい。これらの不快感を軽減するために、遅延量がスプライサ入力に挿入されてもよい。この遅延がモニタ遅延と一致すれば、そして、モニタがこの遅延の入力に繋がれるならば、モニタシーンとボタン動作との間の見かけ上の遅延はより小さくなるが、最終的な出力までの遅延はより大きくなる。更に、個々のモニタ制御ユニットが、ビットストリーム切り換えをシミュレートして、ビットストリーム切り換えのシュミレーション結果を示すように構成されてもよく、もって、ディレクタに更に大きな柔軟性が提供される。
図３は、図１に示されるスプライサ３００の詳細なブロック構成図である。スプライサ３００は、第１の入力ビットストリームＳ６及び第２の入力ビットストリームＳ７の何れか１つを出力ビットストリームＳ８として選択する。出力ビットストリームＳ８は、オプションとしてタイムスタンプを付加され、リタイムされた出力ストリームＳ９を発生する。第１及び第２の入力ビットストリームＳ６及びＳ７は、例えば、少なくともビデオ及びオーディオの単ストリームを含んだＭＰＥＧ準拠移送ストリームである。ビデオ及びオーディオの単ストリームは、パケット化単ストリーム（ＰＥＳ）の形式であってもよい。
以下の説明のために、第２のビットストリームＳ７が出力ビットストリームとして現在選択されており（即ち、Ｓ７はフロムストリームである）、かつ、第１のビットストリームＳ６が、接続操作の後、出力ビットストリームとして選択される（即ち、Ｓ６はツーストリームである）と仮定する。
第１の入力ビットストリームＳ６は、第１のビットストリーム検査器３１０Ａ及び第１の同期バッファ３２０Ａに繋がれる。第１のビットストリーム検査器３１０Ａは、第２のビットストリームを検査し、第１の入力ビットストリームＳ６に含まれている入口点を検出する。入力点が検出されると、同期バッファの内容が破棄され（即ち、バッファがフラッシュされる）、入力点は、第１のメモリ部分である同期バッファに記憶される。同期バッファは、先入れ先出し（ＦＩＦＯ）バッファとして構成されてもよい。スプライサによって第１の入力ビットストリームＳ６が選択されるまで、入力点を探索してバッファをフラッシュする処理が反復される。このように、入力点は、常に、現在出力されていないストリームの同期バッファの末尾に位置する。第１の同期バッファ３２０Ａの出力ビットストリームＳ３Ａは、スイッチコントローラ３４０及び第１のワーキングバッファ３３０Ａに繋がれる。第１のワーキングバッファ３３０Ａは、パケットスイッチユニット３５０に繋がれる出力信号Ｓ４Ａを発生する。
第２の入力ビットストリームＳ７は、第２のビットストリーム検査器３１０Ｂ及び第２の同期バッファ３２０Ｂに繋がれる。第２のビットストリームが出力ストリームとして現在選択されていなければ、第２のビットストリーム検査器３１０Ｂ及び同期バッファ３２０Ｂは、第１のビットストリーム検査器３１０Ａ及び同期バッファ３２０Ａについて説明したものと同じ態様で動作する。第２のビットストリーム検査器３１０Ｂは、第２のビットストリームを検査し、第２の入力ビットストリームＳ７に含まれている出口点を検出する。「選択されたモード」の動作においては、第２のビットストリーム検査器３１０Ｂは使用されず、第２の同期バッファ３２０Ｂは、遅延したビットストリームＳ３Ｂを発生する一定の遅延バッファとして動作する。
遅延したビットストリームＳ３Ｂは、ワーキングバッファ３３０Ｂ及びスイッチコントローラ３４０に繋がれる。第２のワーキングバッファ３３０Ｂは、パケットスイッチユニット３５０に繋がれる出力信号Ｓ４Ｂを発生する。第２のワーキングバッファ３３０Ｂは、選択されたビットストリームを、過去のオーディオパケットが現在のビデオパケットに重ねられることを十分に見込めるほど長い時間にわたり保持する。これは、接続が実行された後に、オーディオフレームが切れ目なく連続して完成することを可能にする。オーディオフレームとビデオフレームとの同期については、以下でより詳細に説明する。また本明細書に援用されており本出願と同時に出願された米国特許第 号（代理人整理番号第１２０７０号）にも、より詳細に説明されている。
接続の決定は、コントローラ（例えば、コントローラ１０５）によってなされ、制御信号ＳＥＬＥＣＴによってスイッチコントローラ３４０に送出される。接続の決定が、コマンド「次の機会に継ぎ目なく接続せよ」と等価であると仮定すれば、スイッチコントローラ３４０は、現在選択されている出力ストリーム（即ち、ビットストリームＳ３Ｂ）を走査して出力点を検出することによって応答する。入力点は、第１の同期バッファ３２０Ａの末尾に位置合わせされているものと考える。出力点がフロムストリームに現れると、スイッチコントローラ３４０は、制御信号Ａ／Ｂによって、スイッチ３５０が、ツーストリームからスイッチを通って任意のヘッダ調整器にビデオパケットを送出することを開始するようにする。適切な時刻に、ツーストリーム中のオーディオパケットも同様に切り換えられる。
任意のヘッダ調整器３６０は、選択された出力ストリームＳ８のタイムスタンプを変更してリタイムされた出力ストリームＳ９を発生する。選択されたストリームＳ８のプログラム時刻参照値（ＰＣＲ）、プレゼンテーションタイムスタンプ（ＰＴＳ）、及び、復号化タイムスタンプ（ＤＴＳ）のリタイミングは、復号器のために接続が実際に継ぎ目がないことを保証するのに必要な場合がある。ヘッダ調整器３６０は、ローカルＰＣＲ及びＰＣＲＢ発生器３６４によって使用される２７ＭＨｚ（ローカル）ステーションクロック３６２を含む。プレゼンテーションタイムスタンプ及び復号化タイムスタンプをリタイムするために、選択された移送ストリームＳ８を部分的に（即ち、パケット化単ストリーム（ＰＥＳ）レイヤ）復号化することが必要である。ＰＴＳ及びＤＴＳの部分的な復号化及びリタイミングは、ＰＴＳ及びＤＴＳの検出及びリタイミングユニット３６６によって実行され、ＰＴＳ及びＤＴＳがリタイムされたストリームＳ８Ｐを発生する。ＰＴＳ及びＤＴＳがリタイムされたストリームは、ＰＣＲの検出及びリタイミングユニット３６８によって、移送用の符号化がなされ、タイムスタンプを付加されて、リタイムされた移送ストリームＳ９が発生される。ヘッダ調整器の別の具体例には、ここで援用され本出願と同時に出願された米国特許第 号（代理人整理番号第１２３８９号）により詳細に説明されているＰＴＳ−ＤＴＳリタイマがある。
上述したように、本発明は、様々な機能を実行するようにプログラムされた汎用コンピュータシステムを用いて実現されてもよい。図３に示される実施の形態は、メモリの一部分を使用してバッファリングと、検査、制御、切り換え、ヘッダ調整などの機能を実行するアルゴリズムとを提供するコンピュータプログラムとして実現されてもよい。上述したように、スプライサ３００は、信号ＡＣＫＮＯＷＬＥＤＧＥを発生し、この信号は、ＳＥＬＥＣＴ信号に応答し、かつ、接続操作についての詳細情報（例えば、接続の正確な時刻、エラー条件、など）を提供するのに使用される。ここで、図２を参照して、接続処理ルーチンを説明する。
図２は、本発明による接続処理ルーチンを示す。接続の決定がなされると、ステップ２０２から接続処理ルーチンに入る。ここでの説明のために、決定は、現在選択されている（フロム）ストリームＳ４Ｂから別の（ツー）ストリームＳ４Ａに継ぎ目なく接続するものであると仮定する。ステップ２０４において、決定が検査される。ステップ２０２の決定が、できるだけ早く接続しなければならないものであれば、ルーチンはステップ２０８に進む。決定が、次の入力点（例えば、ツーストリームにおいて、現在バッファリングされているＧＯＰをスキップする）から接続しなければならないものであれば、同期バッファ（例えば、３２０Ａ）がフラッシュされる。ツーストリーム同期バッファ（例えば、３２０Ａ）が、記憶された正しい入力点を有し（ステップ２０８）、かつ、フロムストリームが正しい出力点にあれば（ステップ２１０）、接続が実行され（ステップ２２０）、ルーチンから出る（ステップ２３０）。接続の決定（ステップ２０２）がなされる文脈（context）は、継ぎ目のない接続を実行するのに必要な情報量に関連する。接続の決定が、プレイツーエア編集リスト（play−to−air edit list）を構築することに関してなされるならば、接続されるべきストリームは、同じ値の遅延パラメータを有することが必要である。接続の決定が、ライブ作品（live production）を創作することに関してなされるならば、接続されるストリームは、一致した遅延パラメータ及び操作条件を十分に満足するほど頻繁に発生する接続点を有することが必要である。接続の決定が、ライブ作品を創作することに関してなされ、かつ、サーバに記憶された情報を作品が含むならば、期待される接続点がまもなく到着しようとしていることを知ること（例えば、接続点カウントダウン又は接続テーブルによって）は有益なことである。接続の決定及びそれに関連する問題について、以下に詳細に説明する。
ここで、様々な情報ストリームを受信し、処理し、送信する多くの異なった動作環境（サーバ又は編集室など）を含んだディジタルテレビジョンスタジオに関連して本発明を説明する。動作環境即ち「相互運用することのできるアイランド」は、１つ又はそれ以上の操作を様々な情報ストリームに施すように相互接続されてもよい。スタジオ出力は、ＡＴＳＣ放送、ケーブル、電話、衛星放送などを介してエンドユーザ（例えば、大衆）に配達されるであろう。また、スタジオ出力は、後の使用のために、例えば、サーバ、ＣＤ−ＲＯＭ、又はビデオテープに記憶されるであろう。更に、本発明は、テレビ会議又はその他の利用形態にも役に立つ。
放送の顧客に転送されるストリームは、例えば、ＡＴＳＣ規格などを満足しなければならないが、スタジオ内の情報の全ては転送しなくてもよい。例えば、高いビットレートのスタジオフォーマットは、スタジオ又はスタジオのような環境においてのみ有効である。接続を行う場合、需要者復号器には意味のない情報がストリームに存在することがあるが、これはスタジオでの接続操作になくてはならないものである。
図４は、相互運用性のある複数のアイランドを備え、かつ、本発明を含むディジタルスタジオのブロック構成図である。図４に示されるディジタルスタジオ４００は、相互運用性のあるアイランド４０１、４０２、及び、４０４〜４０９を含む。更に、ディジタルスタジオ４００は、第１の圧縮ビットストリームのストリームソース１１０、第２の圧縮ビットストリームのストリームソース１２０、スプライサ３００、コントローラ１０５、及び、任意の接続監視ユニットを含む。第１の圧縮ビットストリームのストリームソース１１０、即ち、移送ストリーム符号器からの「ライブフィード」は、第１のＭＰＥＧ準拠移送ストリームＳ６を提供する。第２の圧縮ビットストリームのストリームソース１２０、即ち、ビデオ及びオーディオの単ストリーム及び移送を記憶したサーバ（例えば、ビデオディスク、テープ機器、又はその他の記憶装置）は、記憶されたストリームを符号化して第２のＭＰＥＧ準拠移送ストリームＳ７を提供する。第１及び第２の圧縮ビットストリームソース１１０及び１２０は、図１のビットストリーム接続システム１００に関連して上述した態様とほぼ同じ態様で動作する。ディジタルスタジオ４００は、図１のビットストリーム接続システム１００に関連して上述した機能と以下で説明するその他の機能とを実行するコントローラ１０５を含む。アイランド３００は、図１のビットストリーム接続システム１００のスプライサ３００とほぼ等価なものである。
アイランドのそれぞれは、複数の情報ストリームを受信する。例えば、アイランド４０１及び４０２は、それぞれ、ＮＥＴＷＯＲＫ  ＦＥＥＤ及びＬＯＣＡＬ  ＦＥＥＤからの情報ストリームを受信する。コントローラ１０５は、制御チャンネルＣを介して、アイランドのそれぞれと通信する。制御チャンネルＣは、スタジオ全体にわたる（即ち、アイランド間の）情報の流れを管理し、また、アイランド内での情報の処理を管理するのに使用される。コントローラ１０５は、接続の決定及び意図された接続に関連する必要なあらゆるパラメータを提供する。それに応答して、アイランドは、（制御チャンネルＣを介して）様々な接続操作を実行し、監視し、応答する。
本発明によるディジタルスタジオは、受信したビットストリームに特定の処理機能を実行して出力ビットストリームを発生する相互接続された「接続アイランド」のグループとして説明することができる。これは、１つ又はそれ以上の出力ビットストリーム（例えば、Ｓ９、ＯＵＴＰＵＴ  ＳＴＲＥＡＭ）を発生するためにコントローラ１０５を介して互いに協力する個々に異なる動作環境（例えば、記憶環境、編集環境、処理環境、など）をアイランドが形成するからである。それぞれのアイランドは既知の遅延パラメータ値によって動作し、アイランド内での全ての接続は、（理想的には）継ぎ目がない。接続機能及び処理機能は、コントローラ１０５の全体的な制御下におかれるが、必要であれば局所的に制御されてもよい。例えば、編集ステーションに座っているオペレータが、１つのアイランドを論理的に備えてもよい。コントローラ１０５から制御チャンネルＣを介して送信されたコマンドに応答して、編集されるべきストリームが、編集アイランド（例えば、アイランド４０７）に発送される。コマンドに応答して、編集アイランド（例えば、４０７）の記憶装置（図示しない）に記憶される前に、信号が幾つかのアイランド（例えば、４０６及び３００）を経由して交換されてもよい。
代替モードのスタジオ動作は、継ぎ目のないモードで１以上のアイランドを制御可能に動作させることができる。ビットストリーム間の接続又はその他の遷移が素早く発生しなければならず、かつ、ある程度のビットストリームの性能低下（degradation）が許容されるような幾つかの環境においては、継ぎ目のあるモードが必要とされる場合がある。継ぎ目のある切り換えは、性能低下したビットストリームを受信する次のアイランドに伝搬するエラーを発生させることがあることに注意しなければならない。これらのエラーは、必要ならば、例えば損傷を受けた或いは不良のアクセスユニット又はアクセスユニットのグループを破棄することによって、或いは補助的なアクセスユニットを付加することによって軽減することができる。例えば、短い遅延パラメータを有するツーストリームが長い遅延パラメータを有するフロムストリームに接続されるならば、接続操作は、継ぎ目がないとは考えられない（即ち、バッファはおそらくオーバフローするであろう）。この場合には、オーバフロー状態を回避するためにフレームを破棄してもよい。また、長い遅延パラメータを有するツーストリームが短い遅延パラメータを有するフロムストリームに接続される場合、スプライサは、タイムスタンプを調整して、バッファが一杯になるまで、多くのフレームを反復（即ち、フレームを付加する）しなければならない。更に、短い全てブラックのフレームを短い遅延パラメータシーケンスの最後に接続して、現在使用している遅延パラメータの値を増大させることによってバッファを増加させてもよい。
図１、図３及び図４の好ましい実施形態においては、接続操作は、ルーティングスイッチャ、プレイツーエアスイッチャ、プロダクションスイッチャ等の操作ユニット（例えば、接続アイランド）において実行される。従って、複数のデータフォーマット及びビットレートをサポートすることは好ましいことである。例えば、いわゆる４２２＠ＨＩＧＨ及び４２０＠ＨＩＧＨテレビジョンスタジオフォーマットは、それぞれ、複数の画像フォーマット及びビットレートをサポートする。ゆえに、例えば、１２８０×９６０画素の６０Ｈｚ順次走査による画像を備えたビットストリームを、１９２０×１０８０画素の５９．９４Ｈｚインタレース走査による画像を備えたビットストリームの最後に接続する必要があるかもしれない。また更に、４５Ｍｂ／ｓのストリームを１５５Ｍｂ／ｓのストリームの最後に接続する必要があるかもしれない。
上述の例の何れにおいても、接続されるストリームが一致した遅延パラメータを有するならば、接続は継ぎ目なく実行されることが可能である。従って、接続決定をなすコントローラが、接続されるべき様々なストリームの遅延パラメータを知ることは重要である。ストリームの遅延パラメータは、ストリームを受信する操作ユニットによって計算されるか、或いはストリームのヘッダ情報の一部としてストリームの中に含まれてもよい。図３に示されるスプライサ３００において、スイッチコントローラ３４０は、入力ストリームＳ６及びＳ７の遅延パラメータを計算するビットストリーム計算器を含む。また、遅延パラメータの計算は、ビットストリーム検査器３１０Ａ及び３１０Ｂ、又は任意の接続モニタ１３０によって実行されてもよいことに注意すべきである。
情報ストリームの接続操作のもう１つの重要な側面は、接続されるべきストリームにおける入力点及び出力点の位置を決定することである。継ぎ目のない接続を適切に実行するためには、ツーストリームの入力点及びフロムストリームの出力点を検出しなければならない。更に、接続セグメントは、異なる遅延パラメータ値を有する入力点及び出力点を含んでもよい。適切な接続点を検出するのに役立つ幾つかのオプションが存在する。
まず第１に、ツーストリーム又はフロムストリームの全体が、スプライサによってリアルタイムに（即ち、「オンザフライ」で）解析されてもよい。ツーストリームの場合、リアルタイム解析は難しい。なぜなら、ストリームをその最後までプレイすることなく入力点をストリームから推定することは容易ではないからである。たとえストリームが良好な挙動を示すものとわかっていても、前もってＩ−フレームの長さはわからない。最初のＩ−フレームが終了するころには、長さがわかるが、その情報を使用するにはおそらく遅すぎるであろう。この問題は、例えば、より強力な演算装置を使用することによって克服してもよいことに注意しなければならない。リアルタイム解析は、フロムストリームの場合にはより簡単である。なぜなら、フロムストリームの遅延パラメータが（入力点から又は別の方法で）判明し、ストリームのプレゼンテーションタイムスタンプがいつフレームが復号化バッファから出たかを指示し、ビットカウント（又はパケットカウント）が、いつフレームが復号化バッファに入ったかを指示するからである。また、シーケンスヘッダからフレームレートが判明する。上述の情報によって、新しいフレームの開始時点で、先行するビデオが出力点の状態でバッファを出たことを予測することが可能になる。この情報は、ほんのわずかに遅れて到着する。
第２に、接続点がどこにあるかの指示を含ませるために外部テーブルを作ってもよい。この方法は、入力点及び出力点の位置に関する情報はどこか別の場所（例えば、ストリーム符号化処理において）ですでに計算されているものと仮定する。この方法は、入力点及び出力点が、何らかのやり方で（例えば、マーカからＮ番目のパケット、時刻参照値の後の第１のパケット等）、索引が付されることが必要である。更に、この方法は、情報ストリームが処理されるとき、情報ストリームに対応する接続テーブルを更新しなければならず、かつ、情報ストリームが送信されるとき（例えば、衛星リンクを介して）、テーブルを送信又は再度作成しなければならない。伝送符号化及び伝送復号化がストリームに施される場合、接続位置を決定するための独立した情報テーブルの使用はあまり実践的ではないにしても、テーブルのこのような使用方法は、サーバ又はアイランドの操作性からいえば実践的であることに注意すべきである。
第３に、入力点及び出力点のマーカが、情報ストリームに直接に配置されてもよい。ＭＰＥＧ準拠情報ストリームは、そのようなマーカが含まれ得るヘッダ部分を含む。入力点及び出力点のマーカをシステムレベル、移送レベル、及び、ＰＥＳレベルで挿入するために適したヘッダ部分が存在する。また、単ストリームにマーカを挿入する機会も存在する。
入力点及び出力点の何れもがマーカを付されるべきであり、理想的には、マーカの付与は、システムレベル、移送レベル、及び、ＰＥＳレベルで発生すべきである。入力点マーカ及び出力点マーカの挿入に加えて、ストリーム又は接続セグメントに対応した遅延パラメータ及びオーディオオフセット（即ち、対応するビデオフレームからのオーディオフレーム境界のずれ）も情報ストリームの１以上の層に挿入されるべきである。また、ＭＰＥＧカウントダウン機能も、例えば、出力点が近づきつつあること（減少する正のカウントダウン）、或いは入力点がすでに送信されたこと（増加する負のカウントダウン）を指示するのに使用されるべきである。営業的な様々な理由から、ＭＰＥＧ又はＡＴＳＣ信号をエンドユーザ（即ち、利用者）に送信するのに先立って、これらのマーカを取り除くことが望ましいかもしれない。エンドユーザはビデオを編集したいかもしれないが、ユーザはコマーシャルを自動的に切り取れないことが重要である。
上述したマーカを付与するための幾つもの態様が、システム設計者に最大限の柔軟性を提供し、また、幾つもの操作の態様を提供し、そのことが、接続操作が、実際に、確実に継ぎ目なくなされること（即ち、適切な入力点及び出力点においてなされること）を支援する。
ビットストリーム発生
確実な継ぎ目のない接続を支援するためには、接続されるべきビットストリームをある特定の方法で発生することが必要かもしれない。接続されるビットストリームの発生には２つの側面がある。即ち、ストリーム内容の発生及び適切な接続制御情報（即ち、入力点マーカ及び出力点マーカ）の挿入である。説明を簡単にするために、遅延パラメータの望ましい値は予めわかっていると仮定する。更に、どのくらい頻繁に入力点が必要とされるかなどのその他の目標値も同様に既知とする。
最も簡単な場合、全てのＩ−フレームを低い遅延フォーマットで符号化すれば、ビットストリームの発生は、レート制御の問題となる。フレームごとに、越えてはいけないビットカウント（not−to−be−exceeded bit−count）が存在する。レート制御タスクは、ビット予算（bit−budget）の範囲内で可能な最高の品質でそれぞれのフレームを符号化しなければならない。フレームごとのビット予算が、送信ビットレートをフレームレートで割り算することによって計算される。
複雑なＧＯＰの符号化の場合、発生されたストリームの前方向解析がなされてもよい。復号器バッファをアンダフローさせないように、フレーム間のビット割り当てがなされなければならない。発生されたストリームに適用されるかもしれない第１の制約は、接続セグメントを固定ＧＯＰストラクチャ（例えば、「．．．ＩＢＢＰＢＢＰＢＢＰＢＢＰ．．．」のディスプレイ順序で配置された１３のフレーム）と定義することである。この方法は、不必要に性能低下させた画像品質の犠牲に基づいた単純なやり方である。例えば、「．．．ＩＢＢＰＢＢＰＢＢＰＢＢＰ．．．」ＧＯＰの最後のＰ−フレームにおけるカットされたシーンは、非常に少ないビット予算で再生される。残念ながら、あらゆる適用形態に対しても理想的である単一ＧＯＰストラクチャは存在しない。更に、この適用形態に付随する柔軟性の減少は、おそらく受け入れられないであろう。
複雑なＧＯＰ符号化に適用されるかもしれない第２の制約は、所定の時間間隔で入力点及び出力点を挿入することである（例えば、それぞれ２秒及び０．５秒）。この方法は、特定のＧＯＰストラクチャを使用することを必要としないので、符号器は、入力画像に基づいてフレームタイプを自由に選択することができる。
ＭＰＥＧストリーム間或いは接続セグメント間で切り換えを行う場合、解決されるべき様々なレート制御に関する問題がある。そういうものとして、例えば、符号化画像ビットストリームの内容又はサイズに制約を課す必要があるかもしれない。レート制御に関する問題の１つには、復号器バッファに送信されるデータ量がある。例えば、任意の出力点において測定された（ビット数で表現された）バッファ内容が、時間的に最も近い入力点において測定された（ビット数で表現された）復号器バッファ内容よりも少ない又は等しければ、復号器バッファはオーバフローしないであろう。実際のビット数はわからなくてもよく、復号器バッファにおけるビット数が、入力点から出力点まで増加しないことを保証しさえすればよい。いわゆる「スタッフィングビット」は指定された伝送速度を達成するために含まれるだけであり、実際のビットが使用されるとバッファから消え去るので（即ち、スタッフィングビットはバッファに蓄積されない）、これらのスタッフィングビットはカウントされないことに注意しなければならない。
レート制御に関するもう１つの問題は、バッファが次のフレームを受信する時刻に関連しての復号化される情報フレームのプレゼンテーション時刻である。例えば、出力点において、まだディスプレイされていないバッファ内容をディスプレイするための時刻（時間単位で表現された）が、第１のＩ−フレームが、指定されたビットレートで復号器に配達されるべき時刻（時間単位で表現された）よりも遅いならば、復号器バッファはアンダフローしないであろう。即ち、バッファが空になる前に、次のＩ−フレーム（ツーストリームの最初のフレーム）が、復号器バッファに配達されなければならない。
上述の時間量は、ストリームに対する「遅延パラメータ」で定義されてもよい。フレームサイズ（動作ビットレートでフレームを送信する時間で表現）は、継ぎ目のない接続を保証するために、動作遅延パラメータに一致しなければならない。遅延パラメータは、ストリームの開始点／終了点におけるエンドツーエンドのＶＢＶサイズ（時間で表現）及びＶＢＶ内容（時間で表現）である。グローバルに定義された更なる値は、物理的なバッファの最大サイズ（ビット数で表現）である。この最大サイズは、ＭＰＥＧプロフィール及びレベル指示の基準によって規定される最大ＶＢＶサイズよりも大きいものでなければならない。最後に、フロムストリームの出力点における復号化タイムスタンプは、フロムストリームの最後のフレームのＤＴＳ及びＰＴＳよりも大きいストリームの１フレーム時間であるべきである。
上述したように、接続決定と実際の接続処理とを区別することが重要である。接続決定はある人間によってなされる。決定は、テレビジョンスタジオによって送信されるべきプログラム表を発生する過程でなされてもよい。或いはスタジオが送信しているときにリアルタイムにさなれてもよい。接続決定は、毎日午前１２時０５分にステーション識別アナウンスメントをスタジオ送信に接続するための予めプログラムされたコマンドのような、何らかの代理プロセスによってなされてもよい。決定は、将来の特定の時刻で接続するものであってもよく、或いは即座に接続するものであってもよい。
接続されるべきストリームの幾つかのパラメータは、それらが実際の接続操作の前には変化することがあっても、決定の時点で既知であるかもしれない。例えば、接続決定は、通常、例えばストリーム長、ＶＢＶ遅延パラメータ、などについてツーストリームをある程度認識した上でなされる。フロムストリームに関しては、決定の時点では、おそらく知られていないであろう（例えば、デイリーメッセージは、その時点で送信されているどのストリームにも挿入される）。
決定は次の要素を含む。第１に、ツーストリームを供給する操作ユニット、接続を実行する操作ユニット、及び、接続されるべきストリーム又はセグメントがある。第２に、接続が実行される時刻である。時刻は、「今」、１日の中の特定の時刻、又は何らかの論理的な条件の発生であってもよい。「今」は、接続開始メッセージ（splice−now message）の到着後すぐに接続することを意味する。「今」の決定は、人間の動作（例えば、ボタンの押下）によって直接に発生してもよく、或いは接続開始メッセージを送信することを決定する何らかの外部からの制御処理によって発生してもよい。論理的な条件は、特定の情報ストリームにおけるタイムコード（例えば、ＳＭＰＴＥ）、ビデオストリーム又はオーディオストリームにおけるタイムスタンプ（例えば、ＰＴＳ又はＤＴＳ）、情報ストリームにおける参照時刻（例えば、ＰＣＲ）、又はその他の検出可能なイベント（例えば、入力ストリームのＰＩＤの変化）の発生であってもよい。論理的なイベントが論理的に組み合わせられて、接続時刻が決定されて接続のための適切なストリームが選択されてもよい。
決定がなされた後、それが適切な操作ユニットに連絡される。エラー（例えば、複数の論理的なイベントを組み合わせる複雑さのために）が発生する可能性があるので、制御エンティティが接続処理を厳密に監視して、エラー条件又はその他の条件に適合させることが重要である。
決定の結果として、接続作業をなす処理のある部分が、正しい時刻に、正しいビットストリームが操作ユニットの正しい入力として用いられることを保証しなければならない。これは、総合的なシステム動作の役割であり、サーバからスイッチャへの情報の流れの同期が含まれてもよい。接続決定を受信した後、スプライサが接続を実行する。継ぎ目のない接続処理は、入力点においてツーストリームに進入し、フロムストリームを出力点から退去する必要があり、また、おそらく、１以上のバッファ及びタイミングパラメータを管理する必要がある。
ビデオ接続操作の具体例
ここで、ＭＰＥＧビットストリームの接続操作の幾つかの具体例を用いて上述の概念を説明する。第１の具体例は、全てがＩ−フレームの低遅延接続の例である。ツーストリームは、Ｉ−フレームのみを含んだ２４又は３０フレーム／秒（ｆｐｓ）のビデオストリームからなる。ツーストリームの遅延パラメータは、最も遅いフレームレート（即ち、２４ｆｐｓの場合には４２ｍＳ）での１フレーム時間に等しい。この例では、それぞれのＩ−フレームは、フレームに対するビットレートで１単位のディスプレイ時間（即ち、１フレーム時間（４２ｍＳ））によって送信できるビット数より少ないビットを含む。ビットレートが１５０Ｍｂ／ｓであれば、１つの３０ｆｐｓのフレームは、５Ｍｂを含むにすぎない。ビットレートが１５０Ｍｂ／ｓであれば、１つの２４ｆｐｓのフレームは、６．２５Ｍｂを含むにすぎない。
同じ遅延パラメータを有するフロムストリームの最後のビットが復号器バッファに入力していれば、最後のフレームがいつ再生出力されるべきかを指示するプレゼンテーションタイムスタンプは、将来、値４２ｍＳを持つ。従って、フロムストリームが３０Ｈｚ（３３ｍＳのフレームレート）であれば、出力点の９ｍｓ後に、フロムストリームの最後のフレームが復号器バッファから得られ、それから３３ｍＳ後に、ツーストリームの最初のフレームが必要となる。ツーストリームも３０Ｈｚであれば、最初のフレームは、それが必要とされる９ｍＳ前にすでに配達されている。スロムストリームが２４Ｈｚであり、かつ、ツーストリームも２４Ｈｚであれば、ツーストリームのフレームはちょうどよい時刻に到着する。フロムストリームが６０Ｈｚ（１７ｍＳ）であれば、フロムストリームの最後のビットが配達されたとき、復号器バッファは２つのフレーム（３３ｍＳ）を含み、復号器は、９ｍＳの間、それらの第１のフレームを使用しない。フロムシーケンス及びツーシーケンスのビットレートが異なる場合、シーケンスのビットレートに対応するレートでビットが配達されさえすれば、フレームを取り込むための時間はずっと適切なままである。要するに、ストリームは、ビットレート及びフレーム時間（即ち、ビットレート×フレーム時間）から計算された入力点とそれに続く出力点との間のビットカウントによって符号化される。プレゼンテーションタイムスタンプは、全ての遅延パラメータに適合する値（即ち、最初のビットが到着してから最初のフレームが再生出力されるまでの遅延パラメータ）がセットされる。
第２の具体例は、複雑なＧＯＰ送信フォーマットである。第２の具体例のために、ストリームは、２５０ｍＳの遅延パラメータ、「．．．ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢＰ．．．」のディスプレイ順序、及び、「．．．ＩＰＢＢＰＢＢＰＢＢＰＢＢＰＢＢ」の送信順序を有する３０フレーム／秒のビデオ（及び、対応するオーディオ）ストリームであると仮定する（ここで、「Ｉ」はＩ−フレームであり、「Ｐ」はＰ−フレームであり、「Ｂ」はＢ−フレームである）。このＧＯＰストラクチャは、Ｉ−フレームに入力点を含み、Ｉ−フレームの直前のフレームに出力点を含む。それぞれの出力点において、最後のＰ−フレームに対応するＰＴＳは、将来、２５０ｍＳとなる。レート制御が、復号器バッファがＩ−フレームによってアンダフローしないことを保証する。Ｉ−フレームに含まれるビット数は、２５０ｍＳ間分のビット数より少ないものでなければならない。有効なＭＰＥＧ制約は、Ｉ−フレームに続くＰ−フレームもアンダフローしないことを規定する。Ｉ−フレームは２５０ｍＳの全てを使用しなくてもよい。Ｉ−フレームが２５０ｍｓの全てを使用すれば、次のＰ−フレームが使用するのは３３ｍＳよりも少ないものでなければならない（即ち、Ｉ−フレームが２３０ｍｓを使用すれば、次のＰ−フレームは、必要でなくても、５３ｍＳを使用することができる）。
第３の具体例は、複数の出力の例である。第３の具体例のために、ストリームは、「．．．ＩＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＰＩＰＰＰＰ．．．」であるＧＯＰストラクチャを有する３０フレーム／秒のビデオ（及び、対応するオーディオ）ストリームであると仮定する。また、ストリームは、２５０ｍＳの遅延パラメータ、及び、２０Ｍｂ／ｓ（即ち、６７０Ｋｂ／フレーム）の送信ビットレートを有すると仮定する。Ｉ−フレームが２３１ｍＳを要し、Ｐ−フレームが２０ｍＳを要すれば、１５フレームの後、復号器バッファの内容は、ストリームへの入力点におけるレベルよりも低いレベルにまで低下している。これは、次のような式を用いて計算することができる。
（２３１＋２０Ｎ）＝３３*（Ｎ＋１）
この式は、１個のＩ−フレームの２３１ｍＳ分のデータ量から始まり、Ｎ個の２０ｍＳのＰ−フレームがそれに続くビットが進入するのに必要な時間を表現し、この時間は、同じ（Ｎ＋１）個のフレーム分のビット数を、それぞれが３３ｍＳを要するバッファの（Ｎ＋１）個のフレームから得るのに必要な時間に等しいことを示している。この具体例では、Ｉ−フレームそれぞれが入力点であってもよく、また、１５番目のＰ−フレームの後の全てのＰ−フレームが出力点であってもよい。
復号器バッファは以下のように反応する。接続点において、バッファは７つのフレームを含み、プレゼンテーションタイムスタンプは、最後のフレームが２５０ｍＳ内に再生出力されるべきであることを指示する。７つのフレームは、それぞれ、２０又は３３ｍＳのビット／フレームの割り当てを使用する（即ち、Ｐ−フレームは、それぞれ、４００ｋｂであり、バッファは２．８Ｍｂを含む）。次の７つのフレームまでに、Ｉ−フレームが入力し、バッファ内容を増加させる。それぞれのＩ−フレームは６７０Ｋｂだけ増加させ、取り出されるそれぞれのＰ−フレームは４００Ｋｂを取り去るので、バッファは、７つのＰ−フレームが取り出された後には４．７Ｍｂを含む。そして、Ｉ−フレームが再生出力され、バッファから４．６Ｍｂを取り去るので、１００Ｋｂがバッファに残る。バッファにおける遅延はほぼゼロである。ここで、それぞれのＰ−フレームが２０ｍＳの間に４００Ｋｂだけ増加させ、３３ｍＳごとに、４００Ｋｂが使用される。従って、バッファにおける遅延は、フレーム時間ごとに１３ｍＳだけ増加する。１５フレームの後、バッファに蓄積された遅延が、遅延パラメータ値に達してしまう。この時点で、更なるシーケンスに対しての接続がなされてもよい。それはバッファは、Ｉ−フレームを受信することができるからである。
本明細書で、本発明の趣旨を具体化した様々な実施の形態を図示して詳細に説明したが、当業者は、本発明の趣旨を更に具体化した別の多くの変形された実施の形態を容易に工夫することができる。
補助データの接続
多くのＭＰＥＧストリームには補助データが含まれる。このデータは、通常、未知の長さの連続した分解できないストリームとして現れる。これとは対照的に、圧縮されたオーディオストリームは、比較的に、良好な挙動を示し、予測することができるものである。補助データストリームは、ここでは詳細に説明しない遅延を有する対応したビデオストリームに関連付けることができる。
接続方法において補助データを処理するための幾つかの方法があり、それらの方法には、１）補助データを無視し、ビデオデータと同時に補助データを接続する、２）独立したパスを介して補助データを例えばプレイツーエアスイッチャに挿入する（このデータは、プログラムガイド又はその他の利用者に関連した情報を備えてもよい）、３）補助データのための一組のセグメンテーションマーカを定義し、これらのマーカに依存して、セグメンテーションをスイッチャにおいて正しく維持する（これは、補助データストリームの内容及びこれらのストリーム内にある補助データセグメントの長さについての知識を必要とする）、ことが含まれる。また、補助データは遅延をともなって又は遅延なしでスイッチされてもよく、遅延は、決定をなすコントローラによってスイッチャに送られるパラメータであってもよい。補助データは、補助入力装置を介してスプライサに入力されてもよい。補助データ入力装置に到着する入力データは、バッファリングされ、利用可能な空きに基づいて、ヌルパケットの代わりとして出力ストリームに挿入されてもよい。この場合、そのようなデータをストリーム内に配置し、例えばビデオストリームのデータレートを減少させることによって挿入された補助データに必要なチャンネル容量を提供するのは、何らかの別のシステムユニットの役割である。
【図１】
0004358910.tif 000002
【図２】
0004358910.tif 000003
【図３】
0004358910.tif 000004
【図４】
0004358910.tif 000005