(57)【要約】  記録デバイスから受信デバイスに複数のビデオ又は他の記録信号をストリーミングするシステムは、信号ストリームの各々をそれらの符号化ビットレートで維持する。各ストリームのビットレートは、記録信号から検出され、検出されたビットレートでデータを出力するためにメモリに又はネットワークインタフェースカードに設定される。チャネルタイミングモジュールは、各ビットレートに対し２段ディザ化カウンタを含む。カウンタの第１の段は、第２の段より１クロックサイクル長くカウントする。第２のカウンタの第１の段がタイムアウトする度に、データのパケットは、ネットワークインタフェースの対応する待ち行列に送出される。その結果、ネットワークインタフェースは、１メガビット／秒と２０メガビット／秒との間の所望のビットレートの１ビット／秒内の平均ビットレートで、且つ２ミリ秒未満のジッタでパケットアイソクロナス信号を出力することができる。【選択図】  図１
2009505500.tif 000002
【特許請求の範囲】
【請求項１】
複数のビットレートのうち１つのビットレートで符号化され且つ記録媒体から読み出された複数のストリームを出力するマルチチャンネルビデオ出力装置において、
記録媒体に記録された記録信号を符号化するために使用されるビットレートを検出し、検出した１つのビットレートでパケットアイソクロナス信号としてそれぞれのストリームを出力するストリーミングデバイスを備え、
前記ストリーミングデバイスは、記録信号を符号化するために使用されたビットレートの１つの３０ビット／ミリオンビット／秒内の平均ビットレートでパケットアイソクロナス信号のストリームを出力することを特徴とするマルチチャンネルビデオ出力装置。
【請求項２】
請求項１に記載のマルチチャンネルビデオ出力装置において、
前記ストリーミングデバイスは、記録信号を符号化するために使用されたビットレートのうちの１つの２４ビット／ミリオンビット／秒内の平均ビットレートでパケットアイソクロナス信号のストリームを出力することを特徴とするマルチチャンネルビデオ出力装置。
【請求項３】
請求項１に記載のマルチチャンネルビデオ出力装置において、
前記ストリーミングデバイスは、２ミリ秒未満のジッタでパケットアイソクロナス信号のストリームを出力することを特徴とするマルチチャンネルビデオ出力装置。
【請求項４】
請求項１に記載のマルチチャンネルビデオ出力装置において、
前記ストリーミングデバイスは複数のタイマ回路を備え、
前記複数のタイマ回路は、パケットを送信するための打切り期間をカウントするベースカウンタと、
ディザサイクル内の所定回数で、前記打切り期間より１クロックパルス後にパケットの１つを送信する指示をするディザカウンタを備えることを特徴とするマルチチャンネルビデオ出力装置。
【請求項５】
複数のストリームを受信デバイスに送信する送信システムにおいて、
複数のビットレートのうち１つのビットレートで符号化された記録信号が記録された記録媒体にアクセスする少なくとも１つの再生デバイスと、
前記再生デバイスに結合され、指定された記録媒体を再生する要求を受け取り、指定された記録媒体において記録信号を符号化するために使用されたビットレートを検出し、検出したビットレートのうちの１つのビットレートで指定された記録媒体の記録信号に基づいてパケットアイソクロナス信号のストリームを前記受信デバイスに出力するストリーミングデバイスと、
前記受信デバイス及び前記ストリーミングデバイスに結合され、前記受信デバイスにパケットアイソクロナス信号のストリームを配信するネットワークとを備え、
前記ストリーミングデバイスは、指定された記録媒体の記録信号が符号化するために使用されたビットレートのうち１つの３０ビット／ミリオンビット／秒内の平均ビットレートでパケットアイソクロナス信号のストリームを前記受信デバイスに出力することを特徴とする送信システム。
【請求項６】
請求項５に記載の送信システムにおいて、
前記ストリーミングデバイスは、指定された記録媒体の記録信号が符号化するために使用されたビットレートのうち１つの２４ビット／ミリオンビット／秒内の平均ビットレートでパケットアイソクロナス信号のストリームを前記受信デバイスに出力することを特徴とする送信システム。
【請求項７】
請求項５に記載の送信システムにおいて、
前記ストリーミングデバイスは、２ミリ秒未満のジッタでパケットアイソクロナス信号のストリームを前記受信デバイスに出力することを特徴とする送信システム。
【請求項８】
請求項５に記載の送信システムにおいて、
前記ストリーミングデバイスは複数のタイマ回路を備え、
前記複数のタイマ回路は、パケットを送信するための打切り期間をカウントするベースカウンタと、ディザサイクル内の所定回数で、前記打切り期間より１クロックパルス後にパケットの１つを送信する指示をするディザカウンタを備えることを特徴とする送信システム。
【請求項９】
複数のストリームを受信デバイスに送信する送信方法であって、
記録媒体から複数のビットレートのうち１つのビットレートで符号化された記録信号を読み出し、
記録信号を符号化するために使用されたビットレートを検出し、
検出したビットレートのうち１つのビットレートでパケットアイソクロナス信号として前記受信デバイスに出力し、
前記パケットアイソクロナス信号のストリームは、符号化するために使用されたビットレートのうち１つの３０ビット／ミリオンビット／秒内の平均ビットレートで出力されることを特徴とする送信方法。
【請求項１０】
請求項９に記載の送信方法において、
前記パケットアイソクロナス信号のストリームは、符号化するために使用されたビットレートのうち１つの２４ビット／ミリオンビット／秒内の平均ビットレートで出力されることを特徴とする送信方法。
【請求項１１】
請求項９に記載の送信方法において、
前記パケットアイソクロナス信号のストリームは、２ミリ秒未満のジッタでパケットアイソクロナス信号のストリームで出力されることを特徴とする送信方法。
【請求項１２】
請求項９に記載の送信方法において、
アイソクロナス信号のパケットの出力は、クロックレートで生成されるクロックパルスから生成されるタイミングパルスで発生し、このタイミングパルスは、前記クロックレートより高い精度の平均期間で生成されることを特徴とする送信方法。
【請求項１３】
請求項１２に記載の送信方法において、
前記平均期間に基づいて打切り期間に対し前記クロックパルスをカウントし、
ディザサイクル内の所定回数で、前記打切り期間より１クロックパルス後にタイミングパルスを生成することを特徴とする送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングビデオ信号を対象とし、特に、単一ネットワークにわたり変動するビットレートで符号化されるユーザ指定のビデオファイルを同時にストリーミングする装置を対象とする。
【背景技術】
【０００２】
【特許文献１】本出願は、１９９８年１２月１８日に出願されたTimothy W. Dygertによる「Multi-Channel Video Pump」と題する米国仮特許出願第６０／１１２，８６６号に関連すると共に１９９９年１月７日に出願されたTimothy W. Dygertによる「Multi-channel Video Pump」と題する米国特許第６，４７３，４４１号に関連し、且つ、２０００年１月６日に出願されたTimothy W. Dygertによる「Multi-Channel Video Pump」と題する米国特許出願第０９／４７８，４０７号の一部継続出願である。
【０００３】
ローカルエリアネットワークにおけるストリーミングビデオの役割は、ビデオ圧縮の開発と帯域幅が増大した伝送システムの配備とにより、近い将来、急速に増大することが予期されている。ＭＰＥＧ（Moving Pictures Expert Group）標準規格を使用することにより、固定ビットレートストリームが生成されるようにオーディオ／ビデオソースを圧縮することが可能である。このストリームを取り込み、独立ディスクの冗長アレイ（ＲＡＩＤ）又はデジタルビデオ（又はバーサタイル）ディスク（ＤＶＤ）等の適当な媒体に格納することができる。その後、ＭＰＥＧデータストリームは、再生デバイスによって使用されるために符号化レートで再現されなければならない。
【０００４】
ＭＰＥＧ圧縮標準規格は、固定ビットレートのデジタルビデオ符号化のために世界中で使用されている。各ピクチャフレーム及び各オーディオフレームが一度だけ再生されるようにＭＰＥＧビデオを復号することは、各ビットをエンコーダからデコーダに一定の遅延で配信する能力に依存する。この固定ビットレート配信は、一般にアイソクロナス（等時性）ストリーミングと呼ばれる。ライブブロードキャストでは、エンコーダは、ＭＰＥＧビットストリームを適切なレートで生成する必要がある。しかしながら、この情報が後に再生されるために格納されると、データを記憶媒体から再生デバイスにメータリングするために別のメカニズムが必要となる。通常、ＭＰＥＧビデオの受信機により送信側にフィードバックは提供されない。受信機は、ＭＰＥＧビデオを適切に復号するために、平滑且つ正確であるべき伝送レートに依存する。
【０００５】
ＭＰＥＧオーディオ及びビデオコンテンツは、いかなる任意のレートで記録されてもよい。例には、３．２８２メガビット／秒、３．４２０メガビット／秒、６．１４４メガビット／秒及び６．０００メガビット／秒のストリームがある。従来のシステムによっては、受信デバイスに対し、送信されるビデオストリームのビットレートが何であるかを通知するためにハンドシェイクプロトコルを使用する。しかしながら、それには、受信デバイスが、送信デバイスと通信するためのプロトコルを使用するようにプログラムされている必要がある。ＭＰＥＧデータをデータの大きいチャンク（最大数十キロバイト）で配信するシステムもあり、これには、受信デバイスが、平滑な表示に対しデータをバッファリングするために十分に高価なメモリを有している必要がある。この種の配信では、正確な再生のために必要なＭＰＥＧシステムクロック同期メカニズムは使用しない。
【０００６】
圧縮ビデオ（たとえばＭＰＥＧ−２）データは、通常、衛星、ケーブル、地上デジタル放送、及びシリアルビットストリームメカニズムを使用する他の伝送システムを介して送信される。それらシステムでは、圧縮ビデオデータは、伝送システムのビットレベルクロックを使用して、一度に１ビット、伝送データストリームにクロッキングされる。その結果、平均データレートは、ビットレベルクロックによって直接調整され、ジッタは、ビットレベルクロック（通常、実質的に１ミリ秒未満）に存在するのみである。ジッタは、特定のビットが意図された到着時刻からどれくらい早く又はどれくらい遅く到着するかの測定値である。
【０００７】
これらのタイプの伝送システムで送信されるＭＰＥＧデータストリームは、総ＭＰＥＧストリームレートがネットワークペイロードビットレートと正確に同じであるように（複数のプログラム及びパディングにより）多重化される。ＭＰＥＧデータストリームを、イーサネット（登録商標）又は非同期転送モード（ＡＴＭ）のような非同期伝送システム又はネットワークを使用して容易に送信することはできない。これは、かかる非同期ネットワークがビットレベルではなくパケット（又はセル）レベルで動作するためである。データを送信するためにパケットを使用するため、同様のレートで送信される多重化シリアル信号からより、イーサネット（登録商標）又はＡＴＭのようなネットワークからの方が、データストリームに対する入力ビットレートを回復することが困難である。パケットネットワークは、パケットネットワークのビットレート、たとえばＡＴＭ  ＯＣ−３（Optical Carrier - Level 3）の場合は１５５．５２メガビット／秒（Ｍｂ／ｓ）で、ＭＰＥＧデータのパケット全体を送信する。最良の場合、すなわち、パケットの最初のビットが厳密に正しい時刻に受信される場合、パケットのＭＰＥＧデータの最大ジッタは、最後のビットがどれくらい尚早に受信されるかによって確定される。パケットオーバヘッドを無視すると、最初のビットが時間通りである場合の最後のビットの最大ジッタに対する公式を、式（１）に示す。
（パケットサイズ／ストリームレート）−（パケットサイズ／ネットワークレート）  （１）
【０００８】
この公式から明らかであるように、パケットサイズが増大するに従い、且つ入力データストリームレートとネットワーク伝送レートとの差が増大するに従い、ジッタは増大する。
【０００９】
たとえば、ＡＴＭ  ＯＣ−３では、送信することができるデータの最小単位を「セル」と呼び、ビットレートは１５５．５２Ｍｂ／ｓであり、セルサイズは５３バイト（およそ４８ペイロード及び５オーバヘッドバイト）である。その結果、１５５．５２Ｍｂ／ｓで送信される１つのＡＴＭセルは、通常、３８４ビットのＭＰＥＧデータを含む。３．４２Ｍｂ／ｓストリームを想定すると、ＡＴＭセルにおけるＭＰＥＧデータの最初のビットが正しい時刻に受信される場合、セルにおける最後のＭＰＥＧデータビットは、（３８４ｂ／３．４２Ｍｂ／ｓ）−（３８４ｂ／１５５．５２Ｍｂ／ｓ）だけ早く受信されることになり、最大ジッタは約０．１１ｍｓとなる。１００Ｍｂ／ｓのイーサネット（登録商標）の場合、パケットサイズは、通常１０００バイトにより近い。そのため、およそ１００バイトに対し、３．４２Ｍｂ／ｓで生成されるＭＰＥＧデータストリームが１００Ｍｂ／ｓで送信されることにより、２．２６ｍｓの最大ジッタがもたらされる。
【００１０】
より小さいパケットサイズを使用することが可能である（オーバヘッドが増大する）が、パケット又はセルは依然として、ＡＴＭ  ＯＣ−３及び１００Ｍｂ／ｓのイーサネットにより、入力ＭＰＥＧデータストリームのレートよりはるかに高速で送信される。データを、ネットワークに導入される際に適切に成形するためには、ＡＴＭ等のネットワーク技術によっては、トラフィックシェーピングメカニズムを用いる。このメカニズムがいかに機能するかの詳細は異なるが、一般に、或るレベルの粒度で固定ビットレートがネットワークにメータリングされる。ＯＣ−３速度（およそ１５５Ｍｂ／ｓ）で実行しているネットワークインタフェースの場合、この粒度は、約４０，０００ビット／秒程度になる。６Ｍｂ／ｓのより高いＭＰＥＧデータレートのうちの１つにおいて、且つ２００，０００ビットの平均フレームサイズで３０フレーム／秒を想定すると、最悪の場合のこの粒度は、５秒毎にフルフレームオーバラン又はアンダーランをもたらし、これは、高品質ビデオの再生には許容不可能である。このため、固定ビットレート伝送を提供するメカニズムを有するネットワークにおいてさえも、固有のトラフィックシェーピングメカニズムのみに頼ることは不可能である。ＩＥＥＥ１３９４等の他のネットワーク技術にも同様の限界がある。
【００１１】
ハンドシェイクプロトコルを使用するようにプログラムされていないデバイスにＭＰＥＧデータを送信するために、１００Ｍｂ／ｓのイーサネット又はＡＴＭのようなパケットネットワークを使用するビデオ配信システムは、オーバヘッドを許容可能なレベルで維持し且つ依然として平滑なデータの流れを提供するように、受信ビデオバッファのサイズとパケットサイズとの間のつりあいをとらなければならない。パケットサイズが確定されると、受信ビデオバッファの絶対最小サイズが、式（１）を使用して計算される最後のビットの最良のジッタによって確定される。
【００１２】
さらに、所与のネットワークセグメントにおいて、同時に発生するビデオストリームの数が増大すると、ネットワーク効率を最大化するように各ストリームは正常に動作することが必要である。正常に動作するとは、各ストリームが、ネットワークのパケット構造内で可能な限り略アイソクロナスであることを意味する。これを、パケットアイソクロナス伝送と呼ぶ。ストリーミングトラフィックの割合が大きいネットワークでは、ネットワークにおけるＭＰＥＧビデオストリームのバースト伝送によって、固定ビットレート伝送よりはるかに急速に輻輳及びネットワーク障害が発生することになる。個々のデータストリームが固定ビットレートに近いように維持されるほど、所望のサービス品質を維持しながらネットワークで伝送することができるストリームの総集約度が高くなる。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、ビデオ信号が符号化されたレートの３０ビット／ミリオンビット／秒内の平均レートでビデオ信号を出力することができるビデオストリーミングデバイスを提供することである。
【００１４】
本発明の別の目的は、各々が２ミリ秒未満のジッタを有する種々の信号レートでビデオ信号を出力することができるビデオストリーミングデバイスを提供することである。
【００１５】
本発明のさらなる目的は、ビデオ信号を受信するネットワークの最大に近いペイロードを使用して、さまざまなレートで複数のビデオ信号を出力することができるビデオストリーミングデバイスを提供することである。
【００１６】
本発明のさらに別の目的は、最小量のバッファメモリで、且つハンドシェイクプロトコルを使用することなく、ビデオ信号を表示デバイスに出力することができるビデオストリーミングデバイスを提供することである。
【００１７】
本発明のさらに別の目的は、適当なデコーダを埋込みシステムクロックを適切に回復し、ＭＰＥＧデータストリームを復元し、元のオーディオ及びビデオコンテンツを再現することができるように、複数のＭＰＥＧデータストリームをアイソクロナスに又はパケットアイソクロナスにより送信することである。
【課題を解決するための手段】
【００１８】
上記の目的は、複数のストリームを受信デバイスに送信するシステムであって、記録媒体にアクセスする少なくとも１つの再生デバイスと、
再生デバイスに結合され、指定された記録媒体を再生する要求を受け取り、指定された記録媒体において記録信号を符号化するために使用されたビットレートを検出し、検出したビットレートのうちの１つのビットレートで指定された記録媒体の記録信号に基づいてパケットアイソクロナス信号のストリーム信号を出力するストリーミングデバイスと、ストリーミングデバイス及び受信デバイスに結合され、受信デバイスにパケットアイソクロナス信号を配信するネットワークとを具備し、記録信号の複数のストリーム信号を受信デバイスに送信するシステムによって達成される。
【００１９】
ストリーミングデバイスは、複数のタイマ回路を備え、この複数のタイマ回路はパケットを送信するために打切り期間をカウントするベースカウンタと、打切り期間の１クロックパルス後に、ディザサイクル内の所定回数で、パケットのうちの１つの送信を指示するディザカウンタを備えることが好ましい。
【００２０】
これら目的及び利点は、実質的に明らかとなる他の目的及び利点と共に、以下により十分に説明し、構成及び動作の詳細に記載する。説明では、その一部を形成する添付図面が参照され、図面において、全体を通して同様の数字は同様の部分を示す。
【発明を実施するための最良の形態】
【００２１】
図１ＡにＭＰＥＧストリーム（アイソクロナス伝送）に対して望まれるビットパターンを示す。図１Ｂに同じＭＰＥＧデータストリームが、パケットネットワーク、すなわちパケットアイソクロナス伝送で送信される場合のビットパターンを示す。図１Ａ及び図１Ｂに示すように、パケットが厳密に正しい時刻に出力される場合、各パケットにおける最初のビットの後の各ビットは早く到着し、その量は徐々に大きくなる。最大の早期ジッタは、パケットの最後のビットで発生する。理想的には、次のパケットの出力は、次のパケットの最初のビットが、受信デバイスによって厳密に時間通りに受信されるように遅延する。
【００２２】
上記背景技術から明らかあるように、所与のパケットの厳密な出力時点は、所望の出力に対する実際の出力の誤差の大きさが、ネットワークのビットレートとストリームビットレートとの差によってもたらされる最後のビットのジッタ（最後のビットの最良のジッタと呼ぶ）に比較して小さい限り、ジッタにそれほど影響を与えない。図１Ａ及び図１Ｂに示すように、最初のビットを、最後のビットの最良のジッタの大きさの桁を変えることなく、数ビット早く又は遅く出力することができる。
【００２３】
制御されるべき別の要素は、平均ビットレートである。最後のビットの最良のジッタを低減するために小さいパケットが使用される場合、パケットは、より大きいパケットを使用して同じＭＰＥＧデータストリームを送信するために必要である周波数より、高い周波数で出力されることになる。さらに、各パケットの最初のビットが正確な時刻に出力されるように、各パケットの出力が遅延すると想定すると、パケットが小さいほど、パケット間の間隔が短くなる。出力の期間における単方向誤差（すなわち、常に早いか又は常に遅い）は、出力の数／秒によって乗算され、そのため、正確なパケット間時間が、固定平均ビットレートを維持するために重要である。
【００２４】
受信ＭＰＥＧデータバッファのサイズに制限がない場合、パケットサイズは、周波数及び出力毎の絶対タイミング公差を低減するために大きくてもよい。たとえば、１つのパケットが毎秒出力される場合、１００ｋＨｚクロックと１０００００に設定された１７ビットカウントダウンタイマとを使用して、１ｂ／ｓの精度を得ることができる。このタイマが１クロックサイクルずれる場合、誤差はわずか１／１０００００である。しかしながら、上記例を使用して１秒間隔で出力する場合、３．３５３Ｍｂ／ｓのストリームに対し９６６ｍｓのジッタが生成される。
【００２５】
同じ３．３５３Ｍｂ／ｓのＭＰＥＧデータストリームに対し、先の例のような３．３５３メガビットではなく８０００ビットのパケットサイズが使用される場合、パケットは、４１９．１２５回／秒出力されなければならない。このレートを厳密に達成することはより困難である。再び１００ｋＨｚクロックを使用すると、カウンタは、各パケットの出力間に２３８．５９２３０５４クロックパルスをカウントしなければならない。期間が２３８クロックパルスである場合、３，３６１，３４４ｂ／ｓのビットレートの場合、毎秒４２０．１６８０６７２パケットが出力されることになる。期間が２３９クロックパルスである場合、わずか３，３４７，２８０ｂ／ｓのビットレートに対して毎秒４１８．４１００４１８セルが出力されることになる。
【００２６】
２３８又は２３９クロックパルスの期間からもたらされる誤差の量により、デコーダクロックは、ＭＥＰＧデータストリームに埋め込まれたプログラムクロックリファレンス（ＰＣＲ）にロックされない。それは、それによって、表示クロックに対する復号クロックの比がＮＴＳＣ（National Television Standard Committee）範囲外となるためである。２３９クロックパルスの期間を使用することにより、毎秒５７１９（３，３５３，０００−３，３４７，２８０）ビットが喪失し、それは、わずか０．１７％（５７１９／３，３５３，０００）のビットレートエラーである。しかしながら、３０のフレームレートを想定すると、３．３５３Ｍｂ／ｓのＭＰＥＧデータストリームは、１１１．７６６ビットの平均フレームサイズを有し、受信デバイスには１９．５４（１１１７６６／５７１９）秒毎に１フレーム足りないままとなる。このため、約２０秒毎にフレームホールドが発生する必要がある。固定ネットワーク速度の場合、ＭＰＥＧデータレートが増大し、パケットサイズが低減するか、又はパケット出力のタイミングをとるために使用されるクロック周波数が低減することにより、単段カウンタからの誤差が増大する。
【００２７】
図２に、同じクロック周波数で単段カウンタよりはるかに高いカウンタ分解能を可能にする２段タイマメカニズムを使用するデジタルメディア検索システム１０のブロック図を示す。デジタルメディア検索システム１０は、高速デジタルネットワークにわたってビデオ、テキスト、グラフィックス及びインターネットコンテンツの対話的配信を提供する。デジタルメディア検索システム１０において、ビデオポンプ１２が重要なコンポーネントである。ビデオポンプ１２の目的は、ＲＡＩＤアレイ１４及びＤＶＤジュークボックス１６等のさまざまな記録デバイスからＭＰＥＧオーディオ／ビデオストリームを検索し、このデータを、各ストリームに必要な特定のレートでセットトップデバイス２０に配信するために、ＡＴＭネットワーク１８内に配置することである。図２に示すシステムにおいて、チャネルがオープンされることにより、データがＲＡＩＤアレイ１４およびＤＶＤジュークボックス１６からＡＴＭネットワーク１８を介してセットトップデバイス２０に転送される。これらチャネルは、固定ビットレート（ＣＢＲ）ＰＶＣ  ６Ｍｂ／ｓチャネル等、相手固定接続（ＰＶＣ）又は相手選択接続（ＳＶＣ）であってもよい。ビデオポンプ１２は、オーディオ及びビデオの両方を含むアイソクロナスデータの検索及び配信のために、システム制御サーバ２２からのシステムコマンドに応答する。簡単のために、このデータは、以降、ビデオ又は簡単にデータと呼ぶことにする。図２では、ネットワーク化されてもよい別個のコンポーネントとして示すが、デジタルメディア検索システム１０をビデオポンプ１２及びシステム制御サーバ２２が同じコンピュータシステムにあるように構築することも可能である。
【００２８】
ＡＴＭネットワーク１８は、帯域幅可用性が保証されたエンド・ツー・エンドコネクションを確立することができ、確立されたコネクションレートが超過されないようにデータがＡＴＭネットワーク１８に導入されることを必要とする。特定のコネクションが確立された時にそのコネクションのビットレートが超過すると、ＡＴＭネットワーク１８は、余分なデータを破棄する可能性がある。ＡＴＭインタフェースと共に使用される本発明のタイミングメカニズムは、およそ１Ｍｂ／ｓと２０Ｍｂ／ｓとの間のビットレートに対して必要な仕様のすべてを満たすＭＰＥＧデータストリーミングを提供する。
【００２９】
ビデオポンプ１２はサーバであってもよく、コマンドがリアルタイムストリーミングプロトコル（ＲＴＳＰ）等、ＴＣＰ／ＩＰによるコマンドプロトコルを介して受け取られる。これらコマンドは、ビデオストリームをオープン且つクローズし、ビデオストリームを特定のＰＶＣ／ＳＶＣチャネルに割り当て、これらビデオストリームに対し、一時停止、再生、停止、早送り、巻戻し等の動作を実行する。ビデオポンプ１２は、コマンドを介して、ＡＴＭネットワーク１８を通じてストリーミングされるべき所与のファイル内のデータのスタートアドレス及びストップアドレスを受け取る。ビデオポンプ１２は、各個々のチャネルが任意のレートでストリーミングされるのを可能にするタイミングを提供する。この実施形態では、最大６０チャネルをストリーミングしてもよく、最大総集約ビットレートは１２０Ｍｂ／ｓである。各チャネルに対するタイミングを、システム制御サーバ２２又はセットトップデバイス２０で実行しているアプリケーションプログラムインタフェース（ＡＰＩ）を介して指定してもよく、又は、少なくとも１００ミリ秒毎にＭＰＥＧ転送ストリームデータに格納されているプログラムクロックリファレンス（ＰＣＲ）を使用して、ビデオポンプ１２によりストリーム自体から直接指定してもよい。ビデオポンプ１２は、ＰＣＲ間のビットの数とＰＣＲ間の時間の差とにより、信号のビットレートを確定することができる。ビデオポンプ１２は、２つのＭＰＥＧ転送パケット（３７６バイト）程度のデータのブロックに対して動作することにより、システム内のビデオの配信によって課されるジッタを最小限にし、且つＭＰＥＧ−２伝送に対するＡＴＭフォーラム要件に準拠することができる。
【００３０】
本発明によるパケットアイソクロナス信号のストリームを生成するためのフローチャートを図３に示す。従来の方法で再生されるために指定された記録媒体から、記録信号を読み出す（２４）。そして、ＰＣＲを検出することにより、記録信号を記録媒体において符号化するために使用されたビットレートを検出する（２６）。最後に、パケットアイソクロナス信号のストリームを、後述するように、２段タイマを使用することにより、デバイスのクロック信号より正確なタイミングで出力する（２８）。
【００３１】
図４に、ビデオポンプ１２のブロック図を示す。ビデオポンプ１２は、個々のプロセスとして動作する４つの主な機能コンポーネントを有する。ＲＡＩＤストリーミングロジック３０は、Ｕｌｔｒａ ＳＣＳＩ３１に対して制御信号を発行し且つそこから制御信号を受け取り、コントロール・ステータスロジック３２にステータス情報を送出する。リアルタイムポンプ３４は、ＤＲＡＭバッファ３５からデータを受け取り、且つＲＡＩＤストリーミングロジック３０からデータレート情報を受け取り、データ及びチャネル識別子をＡＴＭアダプタ３６に出力する。また、コントロール・ステータスロジック３２は、リアルタイムポンプ３４及びＡＴＭアダプタ３６からステータス情報を受け取り、ＲＡＩＤストリーミングロジック３０、リアルタイムポンプ３４及びＡＴＭアダプタ３６にコマンドを発行する。たとえば、スタートアドレス及びストップアドレス並びにスタートコマンド及びストップコマンドは、ＲＡＩＤストリーミングロジック３０に送出され、カウンタ値の優先度リストを含むオープンチャネル及びクローズチャネルコマンド並びにパラメータは、リアルタイムポンプ３４に送出され、チャネル帯域幅を示すオープンチャネル及びクローズチャネルコマンド並びにパラメータは、ＡＴＭアダプタ３６に送出される。
【００３２】
ＲＡＩＤストリーミングロジック３０は、ＲＡＩＤアレイ１４からのデータを取得する。このデータは、ＤＲＡＭバッファ３５に記憶され、リアルタイムポンプ３４により読み出される。ＲＡＩＤストリーミングロジック３０は、コントロール・ステータスロジック３２からのデータアドレスと同様にスタートコマンド及びストップコマンドを受け取る。ＲＡＩＤストリーミングロジック３０は、符号化レートを確定するビデオファイルからのＰＣＲを含むデータを読み出し、このレートをリアルタイムポンプ３４に送出することが好ましい。後に詳細に説明するように、符号化レートは、セットトップデバイスデコーダがデータを使用するレートであり、したがって、ビデオポンプ１２がデータをデコーダに送出しなければならないレートである。ＲＡＩＤストリーミングロジック３０は、ＲＡＩＤアレイ１４から読み出されているデータが、整列された転送パケットであることを確実にする。これは、ビデオポンプ１２の動作に対して非常に重要であり、いかなる誤りも、コントロール・ステータスロジック３２に即座に報告される。
【００３３】
リアルタイムポンプ３４は、ビデオポンプ１２の中心部である。各チャネルに対するデータが、指定されたレートで、各チャネルに対するＤＲＡＭバッファ３５から引き出されるのはリアルタイムポンプ３４である。各チャネルに対するデータは、ＡＴＭネットワーク１８に送出するために、リアルタイムポンプ３４からＡＴＭアダプタ３６内のバッファに渡される。後述する例示的な設計では、リアルタイムポンプ３４は、各々が任意のデータレートを有する６０の別個のビデオストリームを維持し、データがストリームに配置される際にジッタを最小限にするようにデータフローを処理することができる。この実施形態では、リアルタイムポンプ３４は、１２０Ｍｂｐｓの集約データフロー帯域幅を維持することができる。
【００３４】
ＡＴＭアダプタ３６は、リアルタイムポンプ３４からビデオデータを受け取り、このデータをＡＴＭセルにパケット化し、このデータストリームを、セットトップデバイス２０に配信するためにＡＴＭネットワーク１８に出力する。リアルタイムポンプ３４から受け取るデータは、ＭＰＥＧ転送ストリームパケットの形式であり、ＡＴＭカプセル化は、ＡＴＭアダプテーション層５（ＡＡＬ５）に従って実行される。ＡＴＭアダプタ３６の出力は、ＯＣ−３ｃファイバに結合される。
【００３５】
ＡＴＭアダプタ３６におけるネットワークインタフェースデバイストラフィックシェーパは、現チャネルに対し、要求されたレートより高く、要求されたレートに最も近いレートでデータをネットワークに出力するように初期化される。チャネルタイミングモジュール４０は、チャネルに対するタイマが満了する度に、データブロックをＡＴＭアダプタ３６のネットワークインタフェースデバイストラフィックシェーパに転送するための信号を生成する。これにより、データの各ブロックが、望ましいレートより高速なレートでネットワークに出力されるという結果になる。しかしながら、ネットワークインタフェースデバイスに転送されたデータしか送信することができないため、時々、トラフィックシェーパに利用可能なデータがなくなる。これにより、データの次のブロックが利用可能となるまで、データがまったく送信されないことになる。結果としてデータストリームは、データが非常に高速に送信されている期間と、それに続く、データがまったく送信されない期間とから成ることになる。所定期間が経過すると、後述するように、所望のデータレートが、チャネルタイミングモジュール４０の精度まで達成される。
【００３６】
リアルタイムポンプ３４がビデオポンプ１２の中心部である場合、コントロール・ステータスロジック３２は、内部構成及びプロセスのすべてを調整し指示することにより、ビデオポンプ１２に対するブレーンとしての役割を果たす。コントロール・ステータスロジック３２は、コマンドを受け取り且つデジタルメディア検索システム１０内の構成に対しステータスを出力する。コントロール・ステータスロジック３２は、これらシステムレベルのコマンドを処理して、ビデオポンプ１２の他の構成に対して要求されるように局所コマンドを生成する。
【００３７】
図５に、本発明によるビデオポンプ１２のハードウェアアーキテクチャのブロック図を示す。図２及び図４に示す機能コンポーネントは、以下のように図５に示す物理コンポーネントに対応する。ビデオポンプ１２を、プロセッサ４２がＰＣＩ（Peripheral Component Interconnect）バス４４に接続された標準「ＩＢＭ  ＰＣ」タイプＩｎｔｅｌ（登録商標）Ｐｅｎｔｉｕｍ（登録商標）プラットフォームを使用して構築してもよい。複数の２段タイマを実装するチャネルタイミングモジュール４０は、ＰＣＩバス４４に挿入されたカスタムＰＣＩインタフェースカードであってもよい。ＤＲＡＭバッファＡ３５及びＤＲＡＭバッファＢ３５は、ＲＡＭ４６によって提供される。ハードドライブ４８は、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ４．０等のオペレーティングシステムと、コントロール・ステータスロジック３２と、リアルタイムポンプ３４と、ＲＡＩＤストリーミングロジック３０と、システム制御サーバ２２の機能を提供するようにプロセッサ４２によって実行されるポンプソフトウェアとを格納する。ＳＣＳＩコントローラ５０は、Ｕｌｔｒａ ＳＣＳＩ３１を介して接続されるＲＡＩＤ記憶ユニット（図示せず）等のデバイスに対するインタフェースを提供する。ネットワークインタフェース５２は、ＡＴＭアダプタ３６に対応する。別個のシステム制御サーバ２２による外部制御を提供するために、イーサネットネットワークインタフェース（図示せず）も含めてもよい。当業者には明らかとなるように、図５に示すコンポーネントを、それらが動作するシステムの要件に応じて、能力をより高く又は低くすることができ、図２及び図４に示す機能を実行する異なるコンポーネントに置き換えることができる。
【００３８】
図６に、チャネルタイミングモジュール４０のブロック図を示す。この例では、ＰＣＩインタフェース７０は、チャネルタイミングモジュール４０をＰＣＩバス４４に接続可能な、ＰＣＩ仕様２．１に準拠するＰＬＸ  Ｔｅｃｈｎｏｌｏｇｙ  ＰＣＩ９０５０−１  ＰＣＩバスターゲットインタフェースによって提供される。ＰＣＩインタフェース７０は、ローカルバス７１にブリッジを提供するＰＣＩスレーブインタフェースである。チャネルタイミングモジュール４０におけるすべてのリソースが、３２ビットでアクセス可能であることが好ましい。以下の例において説明するように、ローカルバス７１は、１０ＭＨｚでクロッキングされることが好ましく、それにより、ジッタを所望のレベルまで低減することができる。ローカルバスアクセスのタイミングは、後述するように、タイマフィールドプログラマブルゲートアレイ（ＦＰＧＡ）７２によって確定される。
【００３９】
チャネルタイミングモジュール４０の初期コンフィギュレーションは、ＰＣＩインタフェース７０に接続されたコンフィギュレーションＥＥＰＲＯＭ７４からロードされる。ＰＣＩコンフィギュレーションレジスタ（図示せず）の以下のフィールドは、起動時にコンフィギュレーションＥＥＰＲＯＭ７４からロードされる。すなわち、デバイスＩＤ、ベンダＩＤ、クラスコード、サブシステムＩＤ、サブシステムベンダＩＤ及び割込みピンである。これらレジスタは、ＰＣＩリセット信号のアサート毎にリロードされる。コンフィギュレーションＥＥＰＲＯＭ７４は、１０２４ビットの情報を保持するＦａｉｒｃｈｉｌｄ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ＮＭ９３ＣＳ４６であってもよい。デバイス内のデータを、ＥＥＰＲＯＭ７４内の保護レジスタの状態に応じて、ＰＣＩインタフェース７０内のレジスタを介して変更してもよい。
【００４０】
チャネルタイミングモジュール４０に、いくつかのＡｌｔｅｒａ  ＥＰＦ６０２４Ａ  ＦＰＧＡ７２が含まれる。図７に、タイマＦＰＧＡ７２のブロック図を示す。タイマＦＰＧＡ７２は、１５個のタイマ８０回路（図７には１つを示す）と、割込みコントローラ８２と、ローカルバスへ７１へのインタフェース（図示せず）とを含む。タイマＦＰＧＡ７２は、リセット時に、４００Ｋ×１ビットの情報を含むＡｌｔｅｒａ  ＥＰＣ１４４１デバイスによって提供されてもよいローダＥＰＲＯＭ８４によって設定される。
【００４１】
以下の実施形態では、タイマ回路８０によって使用されるディザサイクルは１０２４であり、クロックレートは１０ＭＨｚである。チャネルタイミングモジュール４０における各タイマ回路８０の動作は、２２ビットカウント値及び１０ビットディザ値から成るカウントデータを、ＰＣＴバス４４を介してチャネルタイミングモジュール４０の対応するレジスタ８５、８６にロードするプロセッサ４２によって開始される。タイムアウト時（後述する）、プロセッサ４２に対し、どのタイマ回路８０がタイムアウトしたかを求めるために、チャネルステータスロジック（図示せず）の割込みステータスレジスタを読み出す割込みが生成される。
【００４２】
タイマ回路８０は、２つのカウンタ、すなわちベースカウンタ８７及びディザカウンタ８８から成る。タイマ回路８０は、２２ビットカウント値がレジスタ８５及び１０ビットディザ値がレジスタ８６に書き込まれたときに動作を開始し、２２ビットカウント値はベースカウンタ８７に転送される。ディザカウンタ８８は、最初にすべて１（１０進値１０２３）に設定されている。動作中、ベースカウンタ８７は、１０ＭＨｚクロックの各サイクルにおいてデクリメントされる。ベースカウンタ８７がゼロに達すると、レジスタ８６における１０ビットディザ値とディザカウンタ８８における１０ビットディザ値との間で比較が行われる。ディザカウンタ８８が１０ビットディザ値以下である場合、タイムアウトが発生する。ディザカウンタ８８がレジスタ８６における１０ビットディザ値より大きい場合、タイムアウトは１クロックサイクルだけ遅延する。ディザカウンタ８８は、各タイムアウトにおいてデクリメントされる。ベースカウンタ８７は、タイムアウト毎にレジスタ８５における２２ビットカウント値でリロードされる。ディザカウンタ８８は、１０ビット幅であり、そのため、自動的に１０２４タイムアウト毎にその最大値にリセットする。割込み制御レジスタに適当なビットを設定することにより割込みがイネーブルとなった場合、タイムアウトが発生する度に、タイマ回路８０に対する割込みが生成される。したがって、平均タイムアウト期間が公式（２）によって定義される。そこでは、Ｂａｓｅはレジスタ８５における２２ビットカウント値であり、Ｄｉｔｈｅｒはレジスタ８６における１０ビットディザ値である。
Ｐｅｒｉｏｄ＝（Ｂａｓｅ×（１０２４−Ｄｉｔｈｅｒ）＋（Ｂａｓｅ＋１）×Ｄｉｔｈｅｒ）／（Ｃｌｋ×１０２４）      （２）
【００４３】
１０００バイト（８０００ビット）のパケットにおいてＭＰＥＧデータレートより高い伝送レートを有する適当なネットワーク上で送信される３．３５３Ｍｂ／ｓのＭＰＥＧデータストリームの上記例では、パケットは、３，３５３，０００／８０００すなわち４１９．１２５回／秒放出されるべきである。１００ｋＨｚクロックを使用する（先の例と一貫するように）ことにより、パケットが放出される度に、１００，０００／４１９．１２４１７７８回のクロック信号すなわち２３８．５９２３０５４回のクロック信号がカウントされる。小数部は、．５９２３０５４である。小数部を１０２４（タイマ回路８０の１ディザサイクル中に放出されるパケットの数）によって乗算することにより、６０６．５２がもたらされ、それを６０７に丸めることができる。これは、カウントが２３９になる１０２４のタイムアウトの数である。２３８におけるカウントの数は（１０２４−６０７）＝４１７である。この例における１０２４放出にわたる平均カウントを、公式（３）によって２３８．５９として計算することができる。
（（６０７×２３９）＋（４１７×２３８））／１０２４＝２３８．５９２７７      （３）
【００４４】
このように、チャネルタイミングモジュール４０は、平均４１９．１２４１７７８回／秒（１００，０００／２３８，５９２７７）で８０００ビットパケットのＭＰＥＧデータを放出することになる。したがって、平均データレート（１０２４の整数の放出にわたる）は、４１９．１２４１７７８×８０００＝３，３５２，９９３．４ｂ／ｓである。この例では、本発明は、同じクロック周波数を使用して、５９１７ｂ／ｓから６．６ｂ／ｓまで、すなわち約３桁のｂ／ｓ誤りを低減することができる。
【００４５】
平均ビットレートにおける誤りを、たとえば１ｂ／ｓ以内までさらに低減するために、クロック周波数を増大させてもよい。クロック周波数を１０ＭＨｚまで増大させることにより、上記例における誤りが０．０１ｂ／ｓまで低減する。１０ＭＨｚクロックを使用することにより、問題は依然として、８０００ビット、４１９．１２５回／秒の放出を必要とする。クロックパルス／タイムアウトの数は、１０，０００，０００／４１９．１２５であり、すなわち、２３，８５９．２３０５４である。小数部は、．２３０５４である。小数部を１０２４で乗算することにより、２３６．０７がもたらされ、これは２３６に丸めることができる。これは、カウントが２３８６０になる１０２４のタイムアウトの数である。２３８５９における１０２４からのカウントの数は７８８（１０２４−２３６）である。１０２４タイムアウト（１ディザサイクル）にわたる平均は、（（２３６×２３８６０）＋（７８８×２３８５９））／１０２４であり、すなわち、２３，８５９．２３０４７である。放出の数／秒は、１０，０００，０００／２３８５９．２３０４７すなわち４１９．１２５００１２である。これにより、平均ビットレートは、４１９．１２５００１２×８０００すなわち３，３５３，０００．０１となる。
【００４６】
この方法には、非常に低い周期的ジッタが関連する。このジッタは、１０２４クロックサイクル（１ディザサイクル）毎に無効され、数ビット時間にしかならず、これは重要ではない。
【００４７】
タイマ回路８０は、ベースカウンタ値及びディザカウンタ値をベースカウンタ８７及びディザカウンタ８８にロードすると、カウントを開始する。これは、単一３２ビット書込みとして行われなければならない。実際には、ベースカウンタ８７にロードされる値は、所望の値から１を引いた値であり、それは、タイムアウトに対する検査が各クロックサイクル後に発生するためである。上記説明を簡単にするために、この詳細は無視した。タイマ回路８０を、２２ビットカウントのレジスタ８５にすべてゼロを書き込むことにより停止させてもよい。タイマＦＰＧＡ７２におけるローカルバスインタフェースは、タイマＦＰＧＡ７２のリソースにアクセスするためのタイミング及びアドレス復号を提供する。ローカルバスは、タイマを駆動するものと同じ１０ＭＨｚのソースからクロッキングされる。
【００４８】
なお、上述したさまざまな効果を理解するために或る範囲のビットレートを見ることが重要であることに留意されたい。いくつかの値に対し、低クロックレート及び単段タイマを使用して誤りを非常に低くすることが重要である。しかしながら、チャンネルタイミングモジュール４０は、広範囲のビットレート内のすべての組合せに対して非常に近い結果をもたらす。たとえば、１０２４のディザサイクルと１０ＭＨｚのクロックレートとを使用して、１ｂ／ｓ未満の最大平均データレート誤りで、２Ｍｂ／ｓ〜２０Ｍｂ／ｓのビデオデータレートに対し、ＡＴＭ  ＯＣ−３ネットワーク上への８０００ビットパケットのビデオデータの出力を制御することが可能である。
【００４９】
この例から、データレートを正しくするために必要な微細なタイミングを行うように試みることは、従来の汎用オペレーティングシステムでは実際的でないということも明らかなはずである。上述したハードウェアの実施形態は、各カウンタを正確に且つプロセッサから独立して維持する。オペレーティングシステムの特徴とホストコンピュータの速度とにより、各パケットが実際に、スケジュールされた時刻にどれくらい近く出力されるかが確定される。しかしながら、所与のパケットの出力時刻におけるいかなる誤差も累積しない。それは、タイマが、各サイクルの終了時に自動的にリセットし、メインプロセッサ及びオペレーティングシステムから完全に独立しているためである。
【００５０】
別の点では、データストリームを受け取る各デバイスは、ビデオタイミングクロックを有してもよい。ビデオタイミングクロックを使用して、ＮＴＳＣビデオ信号又は位相反転線（ＰＡＬ）（Phase Alternating Line）ビデオ信号等のビデオ信号の出力を駆動してもよい。ビデオポンプ１２からデータストリームを受け取るデバイスは、データストリームに埋め込まれるクロックを取得（すなわち回復）することができる。埋込みクロックの一例は、ＭＰＥＧデータストリームに埋め込まれたＰＣＲである。
【００５１】
データストリームから埋込みクロックを取得した後（且つ／又は取得し続けている間）、データストリームを受け取るデバイスは、それらのそれぞれのビデオタイミングクロックを、データストリームから取得された埋込みクロックに位相ロックしてもよい。ビデオタイミングクロックの位相ロックを確立する時、ビデオポンプ１２は、ストリーミングされているデータを符号化するために使用されたビットレートと等価な平均ビットレートでデータストリームを出力することが理想的である。しかしながら、さまざまな要因（たとえば、周波数不正確、安定性及び／又はデータストリームを出力するために使用されるコンポーネントの老朽化）により、受信デバイスは、ビデオタイミングクロックの位相ロックを確立する時、ビデオポンプ１２からのデータストリームを、平均伝送レートの範囲内にある平均伝送レートで出力することができる。
【００５２】
平均伝送レートの範囲は、（ｉ）ストリーミングされているデータを符号化するために使用されたビットレートと、（ｉｉ）平均伝送レートに対する上下限許容値とに基づいてもよい。平均伝送レートに対する上下限許容値は、データストリームを受け取るデバイスに対するシステムクロック周波数に対して指定された許容周波数偏差に基づくことができる。たとえば、２７ＭＨｚクロック信号に対する許容周波数偏差を、±８０１Ｈｚとして指定してもよい。これに関して、システムクロックは、２６，９９９，１９０Ｈｚ〜２７，０００，８１０Ｈｚの範囲で動作してもよい。このようなシステムクロック周波数標準規格は、「Information technology - Generic coding of moving pictures and associated audio information: Systems」（International Standard ISO/IEC 13818-1）（Second edition）において指定されており、これは、参照により本明細書に援用される。
【００５３】
別の点で、回復したクロック信号に対する許容周波数偏差を、誤差／Ｈｚ（error-per-Hz）の量で指定してもよい。たとえば、８１０Ｈｚの許容周波数偏差を有する２７ＭＨｚクロックの例に関して、許容周波数偏差を、０．００００３％（８１０Ｈｚ÷２７ＭＨｚ）として指定してもよい。便宜上、許容周波数偏差を、「百万分の一」（ｐｐｍ）で指定してもよく、このため、０．００００３％の許容周波数偏差を、３０ｐｐｍとして指定してもよい。
【００５４】
回復したクロック信号に対する許容周波数偏差を、ビデオポンプ１２から出力されているデータストリームの平均伝送レートに対する上限周波数許容値及び下限周波数許容値に変換してもよい。３０ｐｐｍの許容周波数偏差の場合、データストリームを出力するための上下限許容値は、Ｍｂ／ｓでのビットレートを３０で乗算した値である。これに関して、上下限許容値は３０ビット／ミリオンビット／秒である。一例として、３０ｐｐｍの許容周波数偏差及び１Ｍｂ／ｓで符号化されたビデオ信号の場合、ビデオポンプ１２は、１Ｍｂ／ｓ±３０ｂ／ｓの範囲（すなわち、９９９，９７０ｂ／ｓ〜１，０００，０３０ｂ／ｓ）内でデータストリームを出力するべきである。別の例では、３０ｐｐｍの許容周波数偏差及び６Ｍｂ／ｓで符号化されたビデオ信号の場合、ビデオポンプ１２は、６Ｍｂ／ｓ±１８０ｂ／ｓの範囲（すなわち、５，９９９，８２０ｂ／ｓ〜６，０００，１８０ｂ／ｓ）内でデータストリームを出力するべきである。
【００５５】
さらに別の点では、ビデオポンプ１２から受信デバイスにデータストリームを転送するネットワークにより、受信デバイスにストリーミングされているデータの誤差／Ｈｚの量において幾分かの誤差がもたらされる可能性がある。ネットワークによって（又は他の要因により）もたらされる誤差を補償するために、ビデオポンプ１２から出力されているデータストリームの平均伝送レートに対する上下限周波数許容値を、最大上下限周波数許容値未満の上下限許容値まで低減してもよい。たとえば、最大上下限許容値を、０．８等の所要の係数で乗算してもよい。最大上下限許容値が３０であり係数が０．８である場合、低減された上下限許容値は２４ｐｐｍ（３０ｐｐｍ×０．８）である。これに関して、１Ｍｂ／ｓで符号化されたビデオ信号の場合、ビデオポンプ１２は、１Ｍ／ｂ±２４ｂ／ｓの範囲（すなわち、９９９．９７６ｂ／ｓ〜１，０００，０２４ｂ／ｓ）内でデータストリームを出力するべきである。上下限許容値を低減する係数の他の例も可能である。
【００５６】
図８は、複数のビデオストリーミングデバイスを使用するデジタルメディア検索システムのブロック図である。図８に示すように、本発明は、単一のＡＴＭスイッチ１２０に接続された複数のビデオポンプ１２を結合することによって拡張可能である。ビデオポンプ１２を、ＲＡＩＤアレイ１４、ＤＶＤジュークボックス１６、及び図示しないコンパクトディスクチェンジャ等の他のデバイス等、１つ又は複数の記録デバイスに接続してもよい。
【００５７】
詳細な明細書から、本発明の多くの特徴及び利点が明らかであり、そのため、添付の特許請求の範囲により、本発明のこのような特徴及び利点のすべてを包含することが意図されている。たとえば、開示した実施形態は、より古典的なネットワークトラフィックによってもたらされるバーストトラフィックと同様にセグメント毎に複数の固定ビットレートストリームをサポートすることができる非同期転送モード（ＡＴＭ）ネットワークで使用する。本発明は、ＡＴＭネットワークでの使用に限定されず、必要な量のデータを配信することができるいかなるネットワークでも使用することができる。配信の質は、ネットワークによって提供されるサービス品質によって決まる。スイッチドイーサネットネットワーク及びギガビットイーサネットネットワークによるＴＣＰ／ＵＤＰに対する新たなプロトコルは、最終的にＡＴＭネットワークによって提供されるサービス品質をサポートする可能性があるが、目下、イーサネットネットワークは、ネットワークセグメント毎に送信することができる高品質ビデオストリームの数がＡＴＭより少なく、他のネットワークトラフィックによって悪影響を受けることになる。本発明は、ＩＥＥＥ１３９４及びＰＮＡ（Home Phone Network Alliance）Ｖ２．０仕様に準拠するネットワークを含む、高サービス品質能力を有するいかなるネットワークにおいても非常に良好に機能する。さらに、当業者には多数の変更及び変形が容易に思いつくはずであるため、本発明を、例示し説明した厳密な構成及び動作に限定することは望ましくなく、したがって、本発明の範囲内にあるすべての適切な変更形態及び均等物を用いてもよい。
【図面の簡単な説明】
【００５８】
【図１】所望のＭＰＥＧデータタイミングとパケットネットワークによって提供されるタイミングとの差を示すタイミング図、所望のＭＰＥＧデータタイミングとパケットネットワークによって提供されるタイミングとの差を示すタイミング図である。
【図２】本発明を使用するデジタルメディア検索システムのブロック図である。
【図３】本発明によるビデオストリーミングデバイスの動作のフローチャートである。
【図４】本発明によるビデオポンプのブロック図である。
【図５】本発明によるビデオポンプのハードウェアアーキテクチャのブロック図である。
【図６】本発明によるチャネルタイミングモジュールのブロック図である。
【図７】本発明によるタイマＦＰＧＡ７２のブロック図である。
【図８】複数のビデオストリーミングデバイスを使用するデジタルメディア検索システムのブロック図である。
【図１】
2009505500.tif 000003
【図２】
2009505500.tif 000004
【図３】
2009505500.tif 000005
【図４】
2009505500.tif 000006
【図５】
2009505500.tif 000007
【図６】
2009505500.tif 000008
【図７】
2009505500.tif 000009
【図８】
2009505500.tif 000010
【国際調査報告】
2009505500.tif 000011