(57)【要約】      （修正有）【課題】第一の場所から離れた場所へのデジタル情報のテープレス転送のための、システム責任能力を提供するシステムおよび方法を提供する。【解決手段】 要求がありしだい音声／画像信号を記憶し、転送するためのシステムおよび方法であって、音声／画像信号を受信し、デジタル化し、データ流に圧縮するためのエンコーダ１０５と、エンコーダから受信したデータ流をさらに圧縮し、記憶し、のちに、そのデータ流を転送システムを介して第一の処理システムから離れた場所に転送するための第一の処理システムとを含むシステムおよび方法が開示されている。【選択図】図１
2004260841.tif 000002
【特許請求の範囲】
【請求項１】
要求がありしだい音声／画像信号を記憶し、転送するためのシステムにおいて、
該音声／画像信号の少なくとも一つを受信し、該音声／画像信号をデジタル化し、該デジタル化した信号をデータ流に圧縮するためのエンコーダと、
該エンコーダから該データ流を受信し、該データ流をさらに圧縮し、該データ流を記憶媒体に記憶し、のちに、該データ流を記憶媒体から転送するための第一の処理システムと、
該処理システムから該データ流を受信し、同データ流を、該処理システムから離れた場所に転送するための転送システムと、
該転送システムから該データ流を受信し、該データ流を処理し、該データ流を記憶媒体に記憶し、のちに、該音声／画像信号の再生の要求を受けしだい、該データ流の複写を圧縮解除したのち、該データ流の該複写を該記憶媒体から転送するためのマイクロプロセッサを含む第二の処理システムと、
該データ流の複写を該記憶媒体から受信し、該データ流をさらに圧縮解除し、該圧縮解除したデータ流をアナログ信号に変換して、少なくとも１台のテレビ受像機に転送して再生に備えるためのデコーダとを含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、デジタル情報の転送（transmission）および記憶（storage）に関し、詳細には、音声および／または画像情報（audio and/or visual information）を、要求がありしだい、記憶、転送して、離れた場所での表示に備えるためのシステムおよび方法に関する。
【背景技術】
【０００２】
さまざまなタイプのビデオ番組を見ることがますます一般的になっている。通常のビデオ番組には、映画、テレビ用に制作された娯楽番組ならびに教育および指導の番組がある。きわめて多様な番組が、標準のテレビで見るように設計されたり、適合されたりしている。
【０００３】
現在、市販の映画の電磁テープは、何万回も複写され、きわめて労働集約的であり、運営に費用がかかる多様な利用者、例えばホテル、病院、商店およびその他の事業体に配給されている。例えば、ホテルは、映画をそのＶＣＲシステムに載せて指定の放映開始時刻で放映し、特定の映画を見ることを希望するホテルの宿泊客はその指定の時間に所定のチャンネルに合わせるだけでよい。客が客室のテレビを映画に合わせるならば、料金が室料に加算される。
【０００４】
映画テープ配給のロジスティックスは、特定の期間中に上映することが経済的に可能である映画の本数を厳しく制限する。大部分のホテルは、限られた能力のため、月平均８本の映画を放映する。そのうえ、ビデオテープは放映のたびに劣化して、月末に近づくにつれ画質が目に見えて悪化するようになる。
【０００５】
ホテル宿泊客が要求どおりにビデオを利用することができるようにする試みとして、供給者の中には、多数のテープデッキ（通常は、ホテルの客室数によって３２〜１２８台）を集めて配備している。明らかに、そのような配備は相当に労働集約的であり、維持するのに費用がかかるものである。各テープデッキは、異なる映画の電磁テープコピーを含み、宿泊客が客室のテレビで特定の映画を見ることを要求するとき、現場システムがこれを作動させる。しかし、その映画の再生中に別の客室の客がその同じ映画を見たいと望む場合、その客は、映画を途中から見始めることを望まない限り、その選択した映画が現在利用できないと知らされる。途中から映画を見ることを選ぶとしても、それを全部見た場合と同じだけの完全な映画の料金を課せられる。
【０００６】
同様に、いくつかのマルチメディアプラットフォームは、何らかの形態の限られたビデオ・オン・デマンドまたはビデオ形態のアニメーションをサーバから提供する。それにもかかわらず、これらのプラットフォームは、ＶＨＳ解像品質のビデオ番組を提供できないだけでなく、相当に高価であり、他のコンピュータまたはプログラムがそのようなプラットフォームの作動を制御することを可能にする外部インタフェースを欠くものである。そのうえ、新たな利用者は、プラットフォームが、その新たなユーザとの対話の用意ができる前に、その番組における特定の設定に戻るまで、待たなければならないことがしばしばある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
関連技術に関する上記問題をかんがみて、本発明の目的は、第一の場所から離れた場所へのデジタル情報のテープレス転送のための、システム責任能力を提供するシステムおよび方法を提供することにある。
【０００８】
本発明のもう一つの目的は、希望の音声および／または画像情報（audio and/or video information）を、まさに要求がありしだい、費用効果的な方法で記憶し、転送するための自動化されたシステムおよび方法を提供することにある。
【０００９】
本発明のさらに別の目的は、完全な長さのビデオを、要求がありしだい、ＶＨＳよりも優れた解像品質で提供するためのシステムおよび方法を提供することにある。
【００１０】
本発明のさらなる目的は、そのようなシステムおよび方法をマイクロプロセッサベースのプラットフォーム上に提供することにある。
【課題を解決するための手段】
【００１１】
これらおよびその他の目的の達成において、本マイクロプロセッサベースのシステムおよび方法は、要求がありしだい、音声／画像信号を記憶し、転送する。このようなシステムおよび方法は、音声／画像信号を受信し、デジタル化し、データ流に圧縮するためのエンコーダと、エンコーダから受信したデータ流をさらに圧縮し（剥ぎ取り［stripping］）、記憶し、のちに、２回圧縮されたデータ流を転送システムを介して第一の処理システムから離れた場所に転送するための第一の処理システムとを含む。第二の処理システムが、離れたところにある第一の処理システムからデータ流を受信し、処理し、記憶し、のちに、音声／画像信号の再生の要求を受理した時に、データ流の複写を検索し、圧縮解除したのち、データ流の複写を転送する。このようなシステムおよび方法はまた、データ流をさらに圧縮解除し（decompress）、アナログ信号に変換して、少なくとも１台のテレビ受像機（television set）に転送して再生に備えるためのデコーダを含む。
【００１２】
本発明のこれらの特徴およびその他の特徴ならびに利点は、好ましい実施態様の以下の詳細な説明を添付の図面とともに参照することにより、当業者には明らかになるであろう。
【００１３】
初めに、ビデオ番組を見ることに加えて、厳密に音声のみのさまざまな番組を聞くことが非常に一般的であることに留意すべきである。そのような番組には、例えば、標準のテレビのスピーカを通して放送することができるコンサート、論説、スポーツならびに教育および指導の番組がある。以下に述べる説明は、ビデオ番組に関連する記憶・転送システムおよび方法を扱うが、本発明は、厳密に音声のみの番組を含むアナログソースの情報にも同等に応用しうることを理解すべきである。そのうえ、本発明のさらなる用途を本論述の中でのちに扱う。
【００１４】
本発明のシステムおよび方法は、保管記憶装置から映画を放映するように設計されたマイクロプロセッサベースのホストシステムによって転送される信頼しうる同時ビデオ再生を提供する。図１は、本発明によるそのような記憶・転送処理システム１００の構築例を示す。
【００１５】
記憶・転送システム１００への入力は、いかなる数の装置（図示せず）、例えばレーザディスク、カメラ、ＶＣＲ、標準テレビ入力または音声／画像ソース資材を出すいかなるアナログ音声／画像ソースによって生成してもよい。そのような資材は、例えばコンサートもしくはビデオ、フィルム、テレビ番組、マルチメディア制作物、コマーシャル、関連の音声プログラムをもつ会議ビデオ、ならびに音声のみもしくは画像のみの番組がある。当業者であれば、他にも多数の例が思い浮かぶであろう。
【００１６】
音声／画像ソース資材の入力はエンコーダ１０５に供給される。好ましいエンコーダは、SpectrumSaver 圧縮デジタルビデオ（ＣＤＶ）エンコーダ（Compression Labs社の商標および製品）であるが、他のエンコーダも本発明の真髄の範囲で作動することが察知されよう。エンコーダ１０５が音声／画像ソース資材をデジタル化し、直列ビットデータ流に圧縮して、このデータがワークステーション１１０に供給される。
【００１７】
ワークステーション１１０は、少なくとも４８６  ５０MHz クラスのパーソナルコンピュータであることが好ましい。本明細書中の論述に関して、システム１００は、少なくとも１台のワークステーションまたはクライアント／サーバ１１０を組み込む。ワークステーション１１０はまた、割込みのない転送に必要なスループットが可能であるメインフレームコンピュータまたは他の処理システムであってもよいことが理解されよう。そのようなワークステーションまたはメインフレーム１１０の正確な構成は周知であるため、本明細書には記載しない。
【００１８】
磁気ディスクに記録（記憶）する前に、ワークステーション１１０は、より効率的な記憶のためにデジタルデータ流をさらに圧縮する。これは、不必要なデータすべてを剥ぎ取ること（以下さらに詳述する）によって達成することが好ましい。そして、直列ビット流にコード化された音声／画像ソース資材は、好ましくは、ワークステーション１１０内の磁気（ハード）ディスクサブシステムに記録されるが、それは、いかなる適当な磁気媒体に記憶されてもよい。
【００１９】
データ流は、ワークステーション１１０により、所定の遅れをもって、デジタル画像ＳＣＰＣ（チャネルあたり単一のキャリヤ）信号を衛星（図示せず）に転送するためのアップリンク１２０に送られる。この衛星が逆にそのデジタル画像ＳＣＰＣ信号をデジタル受信専用地上局１３０に転送する。ワークステーション１１０から通信制御装置１４０への転送には、衛星を用いる必要はない。ケーブル、通常の電話回線、マイクロ波、ファイバ、セルラなどを用いてもよい。しかし、衛星が、多数の遠隔地の加入者に同時に送信するのに費用効果的な方法であるため、本システムは、衛星を用いることが好ましい。  データ流は、受信専用地上局１３０によって受信されたならば、データリンク１５０を介して画像ワークステーションに供給され、そこで捕捉され、その圧縮された形態で直接アクセス記憶装置（ＤＡＳＤ）１６０に記憶される。このワークステーションは、通信制御装置１４０と、データバス１５０と、ＤＡＳＤ１６０と、関連のソフトウェア（図示せず）とを含む。ＤＡＳＤは、本発明の現在の具現態様ではディスクであるが、いかなるタイプのランダムアクセス装置、例えばＤＲＡＭ、バブルメモリ、光ディスクまたは十分な容量のいかなるタイプの大容量データ記憶装置（例えば、通常は、２時間の番組／映画あたり２ギガバイト）であってもよい。
【００２０】
この点で、ワークステーション１１０および通信制御装置１４０、データバス１５０およびＤＡＳＤ１６０は同じワークステーションであってもよいことが理解されよう。具体的には、各ワークステーションは、本発明によると、エンコーダから入力を受信し、それを他のワークステーションに転送することができ、さらには、他のワークステーションから入力を受信し、それをデコーダに転送することができ、すべてわずか１ビットの変更で、ワークステーションがどの形態を取るべきかを反映する。  データバス１５０は、周辺のカードがプラグインするところのワークステーションそのもののデータバス（並列データバス）ならびにデジタル記憶装置１６０をワークステーションに接続するデータバスを表す。本システムにおけるデジタル記憶装置１６０へのインタフェースは、高速かつ広いＳＣＳＩ−２（小型コンピュータシステムインタフェース）であることが好ましいが、他のインタフェースを用いてもよい。
【００２１】
通信制御装置１４０は、外部ソースから制御入力ポートを介して、ＤＡＳＤ１６０に記憶されたものから選択された番組を放映するための直列コマンドを受信する。利用者または別のコンピュータもしくは制御装置１４０上で動作する別のプログラムは、通信制御装置１４０への直列ポートを介して提供されるコマンドにより、通信制御装置１４０の動作に指令を出すことができる。そのようなコマンドは、「放映」に加えて、例えば、順送り、逆送り、ポーズ／フレーム静止、停止、コマ送りおよび指定のポートでの放映を含む。データ流はアナログ領域ではなくデジタル領域にあるため、順送りおよび逆送りとは、順方向または逆方向のいずれかの「ステップ・イン・タイム」を意味する。
【００２２】
具体的には、番組を要求すると、通信制御装置１４０に位置する制御プログラムが、希望の番組を含む適当なデータファイルをＤＡＳＤ１６０から読み出し、データ流を再構成（再配列）し、圧縮解除（再構成）する。データ流は、必ずしも、ディスクドライブ１６０上の、それがポートから入ってきたときと同じ隣接する直列ブロックに配される必要はないため、再構成される。そして、本システムは、利用しうる通信直列ポートを選択し、選択したデータファイルをその直列ポートを介して圧縮デジタル画像デコード装置１７０、１７２、１７４、１７６に供給し始める。
【００２３】
本システムは、少なくとも１個のSpectrumSaver シリーズＭ６デコーダを用いることが好ましいが、当業者には、他のデコーダをも用いてもよいことが明白であろう。デコーダ１７０、１７２、１７４、１７６は、音声／画像の圧縮解除を実施し、デジタルデータ流をアナログデータ流に変換したのち、少なくとも１台のテレビ（図示せず）への転送に備えて、そのデータ流をアナログＮＴＳＣ画像および音声ケーブルヘッドエンド（図示せず）に供給する。代わりに、デコーダ１７０、１７２、１７４、１７６は、アナログデータ流を、標準のテレビ信号を受信し、放映するものに供給する、例えばテレビに直接供給したり、ケーブルテレビ配給に直接供給したり、ＶＣＲに供給したり、光ファイバリンクに供給してもよいことが理解されよう。
【００２４】
本発明は、加入者（例えば、大規模ホテル、病院、集合住宅、さらには小都市）の規模に応じて、好ましくは１〜３２個のデコーダ、さらには３２の倍数個のデコーダを用いる規模にできるように設計されている。本発明は、システム全体について何千ものデコーダを費用効果的に扱うことができる。その内部のサブシステムは、それぞれが約３２個のデコーダを扱うことになる。当然、都市のシナリオの場合には、本システムは、増大した数のデコーダおよびより強力な機械を管理するのにより多くのソフトウェアを要するであろうが、システムの構築および作動の方法は本質的に変わらないであろう。
【００２５】
次に、本発明による画像再生のためのマイクロプロセッサベースの記憶・転送システム２００のより詳細な例を示す図２ａを参照する。一つのビットを変更し（以下に説明）、デコーダ２７０、２７２、２７４、２７６をエンコーダ１０５に代えて用いるだけで、図２ａは、ワークステーション１１０およびエンコーダ１０５の例を示す。ワークステーション１１０および通信制御装置１４０、データバス１５０およびＤＡＳＤ１６０はすべての同じ機械であってもよいことが思い出されよう。
【００２６】
システム２００は、マイクロプロセッサシステム２０５、２１０、２１５、２２０と、ホストバス２３０と、ハードディスク記憶装置２３５、２４０、２４５、２５０、２５５、２６０と、高速通信制御装置／プロセッサ２６５とからなる。システムバス２３０は、ＩＳＡ、ＥＩＳＡまたはＭＣＡバスのいずれであってもよい。そのうえ、ＳＣＳＩ−２インタフェースは、多数のドライブを一つのシステムに搭載することを可能にするため、ＳＣＳＩハードドライブ２５５、２６０にとって好ましい。  システム２００は、圧縮デジタル形態にコード化された番組を局所ハードディスク２５５、２６０に記憶する。制御プログラムが、選択された番組を放映する外部（制御プログラムに対して外部）要求を受けると、デジタルデータ流が高速通信ポートを介して圧縮デジタル画像デコーダ２７０、２７２、２７４、２７６に通され、これらのデコーダが逆に、指定のテレビに転送するための複合画像信号を生成することにより、その番組が放映される。
【００２７】
システム２００のＩ／Ｏプロセッサ２６５の例はＨＳＳＩ（高速直列通信インタフェース）であるが、他のプロセッサインタフェースを用いてもよい。Ｉ／Ｏプロセッサ２６５は、一つのインタフェース２３５につながれた１６個のＩ／Ｏポートを有することが好ましい。二つのＳＣＳＩインタフェース２３５、２４０があるならば、第二のＩ／Ｏプロセッサ２６５が設けられる。Ｉ／Ｏプロセッサ２６５は、互いに非同期に、並列的に作動する。第二のＩ／Ｏプロセッサ２６５を用いると、Ｉ／Ｏプロセッサ２６５の１個あたり１６個まで、すなわち３２個までのデコーダをサポートすることができる。
【００２８】
すべての画像データの転送は、ＳＣＳＩインタフェース２３５、２４０によって扱われる。通信インタフェース上のＩ／Ｏプロセッサ２６５は、求められる速度でデータを圧縮デジタル画像デコーダ２７０、２７２、２７４、２７６に提供する責任を負う。プロセッサ２６５のための資源の割当ておよびバッファ管理は、ホストＣＰＵの監督のもと、制御プログラムによって実施される。ボードまたはＣＰＵの間で転送されるデータは、未処理のフォーマットでＳＣＳＩシステム上に記憶されることが好ましい。
【００２９】
圧縮デジタル画像デコーダ２７０、２７２、２７４、２７６は、高速バッファ付き通信ポートおよびシステムバス２３０を介して、ホストマイクロプロセッサシステム２０５、２１０、２１５、２２０に接続されている。各デコーダは、システムソフトウェアにより、再生すべき画像トラックまたはデータ流に対応する。好ましい実施態様においては、デコーダにインタフェースしたすべてのポートには、少なくとも二つのメモリバッファが割り当てられて、画像再生を一貫した途切れのない状態に維持する。途切れのない映画の再生の要求条件は、ハードディスク２５５、２６０からポートを介して圧縮デジタル画像デコーダ２７０、２７２、２７４、２７６に至る１．８Mbpsまたは２２５KBpsで持続するデータ転送速度である。さらには、各メモリバッファは、通信インタフェース上で利用できるデュアルポート付きＲＡＭの量に依存して、希望の大きさにすることができる。
【００３０】
図２ａは、本発明の一実施態様、すなわち、希望の番組をディスクドライブ２５５、２６０からシステムバス２３０に載せてＩ／Ｏプロセッサ２６５のバッファ付きポートを介してデコーダ２７０、２７２、２７４、２７６に送って再生する実施態様を反映する。
システムバスを介する再生
本システムの一態様は、メモリマップ通信インタフェースの使用である。このタイプのインタフェースは、システムバス２３０を介する、ハードディスク２５５、２６０から局所メモリ２１５、さらには通信Ｉ／Ｏプロセッサ２６５への画像データの転送を除く。メモリマッピングは、システムバス２３０を介して画像データをハードディスク２５５、２６０から通信ポートバッファメモリに直接転送することを可能にする。
【００３１】
Ｉ／Ｏプロセッサ２６５は、ホストコンピュータ２０５、２１０、２１５に位置する制御プログラムの制御のもとで、ポートバッファからデータを引き出し、それをポートを介してデコーダ２７０、２７２、２７４、２７６に渡す。この制御プログラムは、各ポートのデータバッファが完全に空になったり満たされすぎることのないよう保証する。このため、ＳＣＳＩディスク装置を使用して、画像データを、すべてホスト制御のもとにあるメモリマップＩ／Ｏポートバッファに直接転送することが好ましい。したがって、各バッファが空になると、Ｉ／Ｏプロセッサ２６５は、圧縮されたデジタル画像デコーダのポートを求めて次の満杯のバッファに向けられる。
【００３２】
しかし、オンボードＩ／Ｏプロセッサ２６５と別のバスマスタ２３５、２４０（例えばＳＣＳＩ）とが同時にデュアルポート付きメモリにアクセスしているときには、メモリマップ通信装置はシステムバスメモリサイクルに待ち状態を導入する。これらの状態は、バス転送速度を、ＩＳＡ／ＥＩＳＡの場合には４．５７MBps（待ち１．５回分）に減らし、ＭＣＡの場合には６．６６MBps（待ち１回分）に減らす。ＳＣＳＩ−２インタフェース２３５、２４０は、ＩＳＡバスの場合には５〜１０MBpsの転送速度をサポートし、ＭＣＡバスの場合には１０＋MBpsの転送速度をサポートし、これらのいずれも、先に述べた通信によって課される限界を超えている。
【００３３】
さらに、好ましい実施態様においては、ホストプロセッサ２０５が大きなキャッシュメモリを含む。これが、本発明による画像スケジューリングアルゴリズムを実行するとき、ホストＣＰＵのキャッシュメモリのヒット率を増す。したがって、システムバス２３０についてホストＣＰＵ２０５とＳＣＳＩバスマスタリング装置２３５、２４０との間の回線争奪が減り、より多くのバスサイクルがデータ転送処理に利用できるようになる。
【００３４】
本システムのスループットを、放映することができる番組、例えば映画の数の点で、以下に論じる本発明の二つの異なる実施態様に関連して考える。そのような論述のために、デコーダを介して１本の映画を放映するのに要するといわれるデータ転送速度は１秒に２２５KBであり、この速度で持続するデータ転送が途切れのない再生を提供する。そのうえ、Maxtor MXT-1240S  ＳＣＳＩディスクドライブの最大シーク時間は２０msecであり、最小シークは１５msecであり、最大待ち時間は９．５msecであり、最小データ転送は２．８MBpsである。他のＳＣＳＩディスクドライブをも本発明に使用しうることが理解されよう。
【００３５】
非同期「オン・デマンド」再生。例えば映画のような番組のオン・デマンド再生のための必要条件は、いかなるときでも、顧客が、すでに放映中の映画を途中から見始めることなく、オンライン映画の全体の再生を要求することができることを意味する。もちろん、顧客がすでに途中の映画を見ることを望む場合はこの限りではない。映画は顧客の要求に応じて始まり、あらかじめ決められたスケジュールで放映されるわけではない。１個のデコーダが要求ごとに割り当てられる。
【００３６】
ポートごとに２個の３２KBバッファを使用し、少なくとも１本の映画を有する１個のディスクドライブ２３５を使用すると、次のようになる。
【００３７】
１．１１．５msecの３２KB転送時間（３２KB／２．８Mbps）。
【００３８】
２．次の顧客トラックおよび次の読出し位置へのシーク時間は２０msec（最悪例シーク）＋９．５msec（最悪例回転待ち時間）であり、結果として２９．５msecになる。
【００３９】
３．３２KBの全読出し時間＝４１msecである。
１０００／４１＊３２KB＝７８０KB／sec の有効スループットは、映画１本あたりに要する２２５KB／sec よりも大きい。したがって、合計で７８０／２２５＝３顧客／映画をディスクから確実に提供することができる。
【００４０】
より大きなバッファを別に用意しておくならば、顧客／映画の数を相応に増すことができる。ポートあたり２個の５１２KBバッファの搭載メモリがあるならば、次のようになる。
【００４１】
１．１１．５msecの３２KB転送時間。
【００４２】
２．次のトラックおよび次の３２KB読出し位置へのシーク時間は、最小シークの最悪例（１．５msec）または最大回転待ち時間（９．５msec）である：９．５msec。
【００４３】
３．隣接するトラック上に３２KB読出しを使用する５１２KBバッファ充てん時間は、合計で１６＊１１．５msec＋１５＊９．５msec＝３２６．５msecである。
【００４４】
４．次の顧客のトラックおよび次の読出し位置へのシーク時間は２９．５msecである。
【００４５】
５．５１２KBの全読出し時間＝３５６msecである。
この場合、有効スループットは、１０００／３５６＊５１２KB＝１４３８KB／sec である。したがって、合計で１４３８／２２５＝６顧客／映画をディスクから確実に提供することができる。
【００４６】
最後に、同期化スピンドルをもつＲＡＩＤ  ０型ディスクアレイに構成されたＳＣＳＩディスクドライブ２５５、２６０を考える。ＲＡＩＤ（独立ディスクの冗長アレイ）０構造は、ＲＡＩＤ速度を落とすデータ冗長性がこの用途に必要でない理由から好まれる。オフライン映画の記憶は、故障が起きたときに映画が再ロードされるＷＯＲＭ光デバイスによって達成することが好ましい。４個の並列ドライブをもつＲＡＩＤ  ０を用いるならば、データ転送速度は１１．２psに増す。これは、通信バッファへの持続しうるＩＳＡまたはＭＣＡシステムバス転送速度よりも大きいため、ＩＳＡの４．５７psのバッファ速度は制限要因である。したがって、次のようになる。
【００４７】
１．３２KB／４．５７ps＝７msecの３２KB転送時間。
【００４８】
２．次のトラックおよび次の３２KB読出し位置へのシーク時間は９．５msecである。
【００４９】
３．隣接するトラック上に３２KB読出しを使用する５１２KBバッファ充てん時間は、合計で１６＊７msec＋１５＊９．５msec＝２４４．５msecである。
【００５０】
４．次の顧客トラックおよび次の読出し位置へのシーク時間は２９．５msecである。
【００５１】
５．５１２KBの全読出し時間＝２７４msecである。
有効スループットは、１０００／２７４＊５１２KB＝１８６８KB／sec である。この結果、合計で１８６８／２２５＝８非同期顧客／映画をディスクから確実に提供することができる。
【００５２】
ＲＡＩＤアレイを用いたとしても、利用可能なバスのバンド幅の１４％しか使用されないことが注目される。これは主にシーク時間および回転待ち時間による。明らかに、上記のディスクによって課される制限は、多数の顧客にサービスを提供することには受け入れられない。しかし、「オン・デマンド」という用語が映画の同期化再生を意味するものとみなすならば、有意に改善した性能を得ることができる。
【００５３】
同期「オン・デマンド」再生。同期化再生の基本概念は、映画のような番組を、それぞれが同時に放映される画像セグメントに分割することにある。例えば、映画を１０分間の画像セグメントに分割する結果、２時間映画の場合に１２個の画像セグメントが得られる。ホストシステムのスループットは、すべてのセグメントを同時に放映するのに十分な大きさでなければならない。例えば、１０分間のセグメントに分割された２時間映画の場合、ホストプロセッサは、１２＊１．８ps／８ビット、すなわち２．７psで持続するスループット速度をサポートする。
【００５４】
映画を１０分間の画像セグメントに分割し、少なくとも１．２GBのドライブを使用すると仮定するならば、各映画を保持するのに２個のドライブが必要になる。映画の最初の１時間分の６個の画像セグメントがドライブ１に入り、次の１時間分の６個までのセグメントがドライブ２に入る。
【００５５】
この構造では、同期化再生をサポートするために画像セグメントをドライブ上にマッピングする方法がいくつかある。最も簡単な方法は、非同期の場合にそうであるように、セグメントを各ドライブ上に前後に並べて配する方法である。
【００５６】
先に指摘したように、高速バッファ付き通信ポート２６５を介して接続された圧縮されたデジタル画像デコーダは、見られる各画像セグメントに対応する。同期構造では、制御プログラムを放映する画像セグメントは、その時点のセグメントの空のバッファを満たしたのち、次のセグメントにステップし、それらのバッファを満たすことになる。顧客のその時点のセグメントが放映を完了したとき、顧客の圧縮デジタル画像デコーダは、制御プログラムにより、放映を予定される次のセグメントと対応する。全番組を放映し終わるまでこれが継続する。そして、デコーダは、新たな顧客／映画に対する再割当てに備えて解放される。
【００５７】
ポートごとに通信ボード上の２個の５１２KBバッファを使用し、映画ごとに２個のディスクドライブを使用すると、２個のディスクに分割された映画の場合、ディスクあたり１０００／３５６＊５１２KB＝１４３８KB／sec 、すなわち２８７６KB／sec の有効スループットが得られる。したがって、所定の映画について合計で２８７６／２２５＝１２個の同期画像セグメントをディスクから確実に提供することができる。これは、実際に映画を１０分間隔で放映しうることを意味する。したがって、１個のＭＣＡシステムは２本の映画をそれぞれ１２の放映開始時間でサポートすることができ、一方、ＩＳＡシステムは、２本の映画それぞれが１０以下の放映開始時間を有するか、同期画像セグメント再生の合計回数が２０以下である場合に、２本の映画をサポートすることができる。明らかに、放映開始時間の回数と１個のシステム上でサポートされる映画の総数との間に均衡がある。
【００５８】
映画を２個のドライブに分割することにより、シーク時間および回転待ち時間を、同じ映画を放映する各ドライブで重複させることができる。したがって、映画は、２個のドライブから再生する方が、１個の大きなドライブから再生する場合よりも容易に１０分間隔で再生される。１個のドライブは、重複したシークを許さず、より大きな画像セグメントサイズ、ひいてはより長い再生間隔を要する。例えば、映画の人気のため、より頻繁な放映開始回数が求められるならば、より多数の、より小さなドライブに映画を記録することもできる。
【００５９】
同期化再生のさらなる利点は、顧客ごとに１個のデコーダを用意する（非同期再生の場合に求められるように）必要がないことである。必要なデコーダおよび通信ポートの数は、１）提供すべき映画の数に映画あたりの画像セグメントの数を乗じたもの、または、２）サービスを提供すべき顧客の数、の最少数に等しい。
【００６０】
それにもかかわらず、信頼性を損なうことなく、より高いデータ転送速度を得ることができる。図２ｂは、本発明のもう一つの実施態様、すなわち、希望の番組を、ディスクドライブ２５５、２６０から、システムバス２３０を経由することなく、直接Ｉ／Ｏプロセッサ２６５のバッファ付きポートに送り、デコーダ２７０、２７２、２７４、２７６に送る再生を反映する。
Ｉ／Ｏプロセッサへの直接的な再生
図２ａおよび２ｂを見ると明白であるように、図２ｂの構成は、ある重要な点、すなわち再生のためのデータ流がシステムバスを介しないことを除き、図２ａの構成と本質的に変わっていない。したがって、図２ｂの変更のない態様に関する上記の論述をここに含め、説明の繰返しを避ける。
【００６１】
主にシステムバスの限られたバンド幅による上記の性能の限界は、関連のソフトウェア２８０を備えた通信制御装置回路ボードの挿入により、データ流がもはやディスク２５５、２６０からシステムバス２３０を介して転送されないよう、有意に改善されている。したがって、入／出力プロセッサ２６５は、システムのはまりを回避するため、通信ボード２８０を介してＳＣＳＩ−２インタフェース２３５、２４０と直接対話する。具体的には、データ流は、ディスク記憶装置２５５、２６０からＳＣＳＩ−２バス２４５、２５０に載ってＳＣＳＩインタフェース２３５、２４０を経由し、Ｉ／Ｏプロセッサに直接流れる。つまり、システムバス２３０を経由しない。当然、システムバス２３０は、ＳＣＳＩ−２インタフェース２３５、２４０ならびにＩ／Ｏプロセッサ２６５のチャネルと接続して、マイクロプロセッサシステム２０５、２１０、２１５、２２０に搭載された制御プログラムがそれらと通信することを可能にしている。そのうえ、データ流はもはやシステムバスを介してバッファメモリに転送されないため、全体のデータ転送速度は、ＳＣＳＩ−２インタフェースの転送速度である１０＋Mbpsによってのみ制限される。
【００６２】
データ流をもはやシステムバスを介して転送しないことにより、ホストシステムがもはや大きなキャッシュメモリを必要としないことが明白であろう。制御装置ボードを追加することにより、本システムの速度、効率および費用効果が大幅に増し、一方、本システムを作動させるのに要するソフトウェアの量が減る。
【００６３】
結果として、非同期システムの場合にポートあたり２個の５１２KBバッファの搭載メモリを与えたならば、次のようになる。
【００６４】
１．３．２msecの３２KB転送時間（３２KB／１０MBps）。
【００６５】
２．次のトラックおよび次の３２KB読出し位置へのシーク時間は、最小シークの最悪例（１．５msec）または最大回転待ち時間（９．５msec）である：９．５msec。
【００６６】
３．隣接するトラック上に３２KB読出しを使用する５１２KBバッファ充てん時間は、合計で１６＊３．２msec＋１５＊９．５msec＝１９３．７msecである。
【００６７】
４．次の顧客のトラックおよび次の読出し位置へのシーク時間は２９．５msecである。
【００６８】
５．５１２KBの全読出し時間＝２２３．２msecである。この場合、有効スループットは、２個のディスクに分割された映画の場合、ディスクあたり１０００／２２３＊５１２KB＝２２９４KB／sec 、すなわち４５８８KB／sec である。したがって、合計で２２９４／２２５＝１０の非同期顧客／映画をディスクから確実に提供することができ、一方、４５８８／２２５＝２０の同期画像セグメントを２個のディスクから確実に提供することができる。上記の論述をかんがみると、ＳＣＳＩインタフェース２３５、２４０を介して記憶／アクセスすることができる多数のデータファイルは、２個以上のディスクにわたることが好ましい（同期再生の場合）。
【００６９】
通信回路ボード２８０は、標準のＰＣマイクロプロセッサプラットフォームのもとで作動する電子回路カードアセンブリである。これは、変更された同期ＲＳ−４２２チャネルを介するデータ通信を実施し、制御プログラムにより、システムバス２３０を介して管理される。通信回路ボード２８０は、デジタルデータを入力として直列的に受信し、そのデータをＳＣＳＩハードドライブサブシステム２５５、２６０上に記憶する。これはまた、記憶されたデータを１６個までの異なるチャネルに載せて同時に出力する。そのうえ、回路ボード２８０は、好ましいことに、ドライブのフォーマットおよび不良ブロック管理のための汎用ＳＣＳＩユーティリティを用いる。具体的には、不良ブロック管理（ディスク２５５、２６０上の）は、性能を損なうことなく維持され、ハードドライブによって扱われる。不良ブロックが再マッピングされたならば、それは、回路ボードに対して透過的になる。
【００７０】
通信ボード２８０は、少なくとも以下の部品からなることが好ましい。６．６Mbit／sec までの入力チャネル１個（ＩＲＤ、または場合によってはエンコーダへの接続用）、６．６Mbit／sec までの出力チャネル１６〜３２個（デコーダへの接続用）、１Mbit／sec のシステムバスへの入／出力チャネル１個（多数のボード間のファイル転送用）、データを損失したり、チャネル、入／出力回路およびデータ待ち行列制御装置を空にしたりすることなく、すべてのチャネルのスループットを同時に維持することができるＳＣＳＩ−２バスインタフェース１または２個（ハードディスクサブシステムへの接続用）。各回路ボードは、少なくとも１６個の独自の構成可能なアドレス（例えば１MBを超える拡張メモリにマッピングされたレジスタアドレス）を有して、多数のカードが同じシステムバス上に存在し、制御プログラムと対話することを可能にすることが好ましい。回路ボード２８０は、入力チャネル論理（図３）および出力チャネル論理（図４）の両方を含む。しかし、通信ボード２８０の作動および詳細を考える前に、以下のデータの流れを考察すべきである。通信ボード２８０は、入力回路として働くとき、２個のハードウェアビットを有する。一方のビットがそれをオンにし、他方のビットが、フォーマットＡのレコードまたはフォーマットＢのレコードを処理すべきかどうかをそれに指示する。フォーマットＡのレコードとは、エンコーダから入ってくるレコードであり、記憶される前に、本発明にしたがってさらなる圧縮を要するものである。フォーマットＢのレコードとは、別のワークステーションから入ってくるレコードであり、記憶されるだけでよいものである。そして、入力回路として働く通信ボード２８０は、フォーマットＡのもとでは真のデータを提供し、フォーマットＢのもとではレコード番号および検査合計有効ビットを提供する。
【００７１】
具体的には、入力回路として、通信ボード２８０は、検査合計またはレコード数のいずれもなしに、固定長（好ましくは１３２バイト）のレコードを受信する（データ・イン「Ａ」）。（例えば図６ａを参照）。制御プログラムが、入力ポートに対し、どの時点で、レコード中のファイルサイズ、ディスクへの記憶の前のデータの剥取りのためのマスク、ＳＣＳＩシステム上のファイルの記憶体系および位置のような情報をボードに提供し始めるかを指示する。図６ａに示すように、データは左から右に流れる。「ＳＹＮＣ」は、８ビットの長さの同期化文字である。Ａ〜Ｇは、１ビットまたはレコードの最大長までの一連のビットであることができる種々のデータのブロックを表すが、この例では、データ項目ＢおよびＣのみが保持される。したがって、セーブすべきデータ項目はレコードのいかなる部分であってもよいが、同じデータ項目がファイル中のすべてのレコードについて一貫してセーブされることになる。
【００７２】
通信ボード２８０がフォーマットＢデータを入力として扱うとき、これはレコードを受信する（データ・イン「Ｂ」）。これらのレコードはのちにデータ・アウト「Ａ」に送られる。（例えば図６ｂを参照）。このレコードは、ＳＹＮＣ文字、データ、レコード数および検査合計を含む。そのうえ、制御プログラムは、ファイル長、ＳＣＳＩの行先および記憶体系、レコードサイズおよびマスクを通信ボードに提供する。ＢおよびＣのデータ項目は、元の送信レコードからのデータの一部である（データ・イン「Ａ」）。
【００７３】
次に、通信ボード２８０の好ましい入力チャネル論理を示す回路図である図３を考察する。入力チャネル回路図の機能の一つは、１３２バイト入力レコード中の必要なビットを剥ぎ取ることである。これは、シフトレジスタを使用して達成される。制御プログラムによって提供されるビットマスク（１３２バイト幅）が、通信回路ボード２８０に対し、レコード中のどのビットを維持し、どのビットを落とすかを指示する。この処理は、ディスク空間を節約するため、番組または映画のコード化の間に実施される。図３に見られる入力論理は、通信ボードがフォーマットＡまたはフォーマットＢのデータを扱う能力を反映するが、この図を用いて、入力回路としての通信ボード２８０の作動の詳細を説明する。
【００７４】
具体的には、エンコーダクロック回線がＲＳ４２２入力回線レシーバ３２１（クロックＩＮ）に接続され、一方、エンコーダからのデータ回線がＲＳ４２２入力回線レシーバ３１８（データＩＮ）に接続されている。制御プログラムが、データ待ち行列制御装置３４０に対し（システムバス３３０を介して）、回路ボードをリセットし、データをＲＳ４２２入力回線レシーバ３１８からファイルに動かし、Ｎバイトのファイルを期待するように指示する。
【００７５】
８ビットの並列ラッチ３０７には、制御プログラムにより、システムバス３３０を介して同期文字（例えば‘１１００１１００’の省略値を仮定する）がロードされる。このパターンは、８ビットコンパレータ３１６および８ビットコンパレータ３０９に移される。その間、１３２バイトの並列ラッチ３０１には、制御プログラムにより、システムバス３３０を介して、ビット剥取りマスクがロードされる。ビット剥取りマスクは、通信回路に対し、ディスク空間を節約するためには、レコード中のどのビットを維持し、どのビットを落とすかを指示する。‘１’が、制御プログラムにより、システムバス３３０を介して１ビットラッチ３１４にロードされる。ラッチ３１４は高であるため、入力回線レシーバ（イネーブルＩＮ）３１９は無視される。理由は、これは「データＩＮ  Ｂ」フォーマットでしか使用されないからである。そして、この時点で２入力ＯＲゲート３２２が高であり、２入力ＡＮＤゲート３２３の出力が入力回線レシーバ３２１からのクロックのミラーである。
【００７６】
入力回線レシーバ３１８に入るデジタルデータ流は、８ビットシフトレジスタ３１７の中に直列的にシフトし続ける。ＡＮＤゲート３２３の出力（クロック信号）がシフトレジスタ３１７を駆動する。各ビットがシフトされたのち、シフトレジスタ３１７中の８ビットパターンが８ビットコンパレータ３１６に並列的に送られる。
【００７７】
シフトレジスタ３１７からの８ビット入力と８ビット並列ラッチ３０７からの８ビット入力とが同じであるならば、‘１’がコンパレータ３１６から３入力ＡＮＤゲート３１３に送出される。８ビットシフトレジスタ３１０からの８ビット入力と並列ラッチ３０７からの８ビット入力とが一致するならば、‘１’がコンパレータ３０９からＡＮＤゲート３１３に送出される。両方のコンパレータ３１６と３０９とが同じときに一致するならば、ＡＮＤゲート３１３が第三の‘１’を受信し、それにより、１１ビットのダウンカウンタ３１２に‘１’を出力させる。
【００７８】
ＡＮＤゲート３１３への３個の‘１’の入力がその出力‘１’を生み、それにより、カウンタ３１２に対し、１１ビット並列ラッチ３１１の１０５６ビット値（１０５６ビット＝１３２バイト）をロードするように合図する。すると、カウンタ３１２が１０５６から０までカウントダウンを始める。ＡＮＤゲート３２３からの各クロックがカウンタ３１２を０まで減らす。ラッチ３１１からカウンタ３１２にロードするときには、カウンタ３１２は０に達しておらず、ＡＮＤゲート３１３の出力を低にし、ラッチ３１１の内容のロードを防ぐ。カウンタ３１２が０に達すると、並列ラッチ３０１からのビットマスクパターンが１３２バイトシフトレジスタ３０２にロードされる。ＡＮＤゲート３２３から出るクロック信号がこのビットマスクパターンをシフトレジスタ３０２から２入力ＡＮＤゲート３０８に直列的に移動させる。
【００７９】
シフトレジスタ３０２がカウンタ３１２から信号をロードされると、３ビットダウンカウンタ３０４が３ビット並列ラッチ３０５から７（最大３ビット値）をロードされる。カウンタ３０４は８回（７から０まで）カウントダウンする。０に達すると、カウンタ３０４は‘１’を８ビット幅のＦＩＦＯメモリ３０３に送り、それに対し、８ビットシフトレジスタ３０６からバイトパターンをロードするよう指示する。
【００８０】
シフトレジスタ３１０から外にシフトされるパターンは、シフトレジスタ３０６に進む、同期バイトから始まる１３２バイトレコードの始点である。シフトレジスタ３０６は、シフトレジスタ３０２からの８ビットのマスクを含む。シフトレジスタ３１０のクロックはＡＮＤゲート３２３から来る。データが直列的にシフトレジスタ３０６の中にシフトして行くとき、並列パターンがＦＩＦＯメモリ３０３の中に進む。シフトレジスタ３０６のクロックは、ＡＮＤゲート３２３からのクロックとでＡＮＤ演算（ＡＮＤゲート３０８を介して）されたシフトレジスタ３０２におけるマスクであるため、ビットが有効であるときしか、エッジの変化は起こることができない。そして、有効ビットがシフトレジスタ３０６の中に刻時され、カウンタ３０４が減る。
【００８１】
インバータ３２４と１３１バイトシフトレジスタ３１５の組み合わせがシフトレジスタ３０２へのクロックを防ぎ、これが、回路が作動したのち、かつ有効データが入ってくる前に、不要データがＦＩＦＯメモリ３０３にロードされることを防ぐ。シフトレジスタ３１７を通過するデータがシフトレジスタ３１５および３１０の中にシフトするとき、そのデータは、同期文字に関して端部（シフトレジスタ３１７および３１０）で比較される（シフトレジスタ３１０と３１５とで１個のレコードに等しい）。シフトレジスタ３１７および３１０における突き合わせ(match) が起こるならば、カウンタ３１２はループしてＡＮＤゲート３１３に戻り、レコード内の乱データがパターン照合をトリガすることを防ぐ。シフトレジスタ３１７と３１０との間で突き合わせが起こるならば、シフトレジスタ３０６がクロックを取得しないため、データ（不要）はシフトレジスタ３１０から外にシフトし、捨てられ続ける。
【００８２】
データ待ち行列制御装置はＦＩＦＯメモリ３０３をポーリングして、それが満杯に近い（７／８またはＦＩＦＯしきい値に依存する他の比率）かどうかを調べる。データ待ち行列制御装置が、行先アドレスおよびデータの量をＳＣＳＩ制御装置に知らせる。その時点で、データの大部分または全部（ＦＩＦＯしきい値に依存する）がＦＩＦＯメモリ３０３から外に動かされてデータ待ち行列制御装置のバスに載せられてＳＣＳＩディスク行先に送られる。このデータ移動は、データ待ち行列制御装置によって生成されるクロックおよびイネーブル回線を用いて達成される。
【００８３】
通信ボード２８０はまた、出力回路として働くとき、同じ二つのハードウェアビットを有している。一方のビットがそれをオンにし、他方が、それに対し、フォーマットＡのレコードまたはフォーマットＢのレコードを処理するかどうかを指示する。しかし、このとき、フォーマットＡのレコードは、別のボード（ワークステーション）に出て行く、記憶装置からの検索しか要しないレコードである。フォーマットＢのレコードは、デコーダに出て行く、転送される前に本発明による圧縮解除（再構成）を要するレコードである。出力回路として働く通信ボード２８０は、真のデータを消費し、それをフォーマットＡまたはフォーマットＢのいずれかに変換する。フォーマットＡのもとでは、出力回路は局所ＲＡＭからマスクビットを読み出し、充てんビットをもつ出力データおよび適当な出力チャネルにロードされる同期バイトを生成する。フォーマットＢのもとでは、出力回路は真のデータを消費し、同期バイトおよび検査合計をもつレコードを生成する。そして、このデータが、デコーダに送られる最後のデータとして出力チャネルにロードされる。  具体的には、制御プログラムが、フォーマットＡデータをもつ出力回路としての通信ボード２３０に対し、どの出力ポート（データＯＵＴ「Ａ」）にレコードを含むファイルを送るか指示する（例えば、図６ｂを参照。エラー＝ビット合計またはバイト検査合計であることができるエラーチェックである。エラー回収は、ファイルが２度目に転送されるとき、不良レコードを置き換えることによって実施される。そのうえ、カウント＝順番どおりのレコード数（１、．．．ｎ）である）。制御プログラムは、レコード長、充てんビットのためのマスク（ある場合）、それらの充てんビットが定義されるもの（適用される場合）、ファイル長およびＳＣＳＩサブシステム上のファイル記憶体系をボードに提供する。通信ボードは、レコード数および検査合計を、送出される各レコードに添付する。
【００８４】
通信ボードが検査合計が原因でレコードを拒絶するか、レコード数を逸するならば（これらは続いて起こる）、通信ボードは、ＳＣＳＩディスク上のファイル内の紛失データを満たす。ディスクに書き込むべきレコードあたりのビット数は、８で割り切れるものが好ましい。これがデータの空きおよび同期外レコードを防ぐ。具体的には、データ待ち行列制御装置は、入力回路から、レコードが到着したことを示す割込みを受けると、レコードが検査合計妥当性検査をパスしたかどうかを示す、入力回路によって提供されるビットを検査する。レコードが検査合計妥当性検査をパスしないならば、そのレコードは捨てられる。レコードが検査合計をパスするならば、そのレコード番号が期待されるレコードと比較され、同期状態外であるならば、期待されるレコードと、実際に到着したレコードとの間のレコードのすべてが失われると推測される。これが、連続する多量のデータの消失を可能にする。
【００８５】
各データファイルは２回転送される。最初の転送の間、ボードは不良レコード番号をリストにセーブし、そのリストを転送ファイルに関連させる。ファイルの２回目の転送は、最初の転送の際に失われた不良レコードおよび／または紛失レコードを可能なだけ回収するのに使用される。２回目の転送の間、ボードは、ファイルの最初の転送の際に正しく転送されたレコードを無視する。最初の転送の際に不良であったレコードが２回目の転送で正しく受信されると、ボードはＳＣＳＩドライブ上のファイルを置換えレコードで更新し、そのファイルに関連する不良レコードリストをも更新する。２回目の転送ののち、制御プログラムが、個々のファイルに関連する不良レコードのリストに基づいて、ディスク上のファイルが完全であり、エラーのないものであるかどうかを判定する。
【００８６】
制御プログラムは、通信ボード２８０に対し、それがフォーマットＢデータを出力として扱うとき、出力ポート（データＯＵＴ）を介してファイルを固定長レコードで転送するように指示する。（例えば、図６ａを参照）。そのうえ、制御プログラムは、ファイル長、ＳＣＳＩのファイル記憶体系、固定長レコード内のデータのためのマスク、このレコードのための充てんビット設定および無のレコード数もしくは検査合計をボードに提供する。このレコードは、部分（ＢとＣ）だけが達したことを除き、データＩＮ「Ａ」に示す元のレコードと同じである。これが、圧縮解除し、変換してアナログ状態に戻すためにデコーダに提供されるものである。
【００８７】
次に、通信ボード２８０に好ましい出力チャネル論理を示す回路図である図４を考察する。出力チャネル回路の機能の一つは、先に剥ぎ取ったビットを１３２バイト出力レコードに再び記憶することである。これは、シフトレジスタを用いて達成される。制御プログラムによって提供されるビットマスク（１３２バイト幅）が、レコード中のどこに充てんビットを挿入し、どこにデータビットを挿入するかを回路に指示する。デコーダは、エンコーダによって製造されたものと同じデータ流フォーマットを必要とするが、これらの充てんビットの値はデコーダには関係がないため、この処理は、映画のデコード中に行われる。図４に見られる出力論理は、通信ボードがフォーマットＡまたはフォーマットＢのデータを扱う能力を反映するが、ここでは、フォーマットＢを用いて、出力回路としての通信ボード２８０の作動の詳細を説明する。
【００８８】
具体的には、デコーダクロック回線が入力回線レシーバ４１０（クロックＩＮ）に接続されている。デコーダからのデータ回線はデータ回線送信機４０７（データＯＵＴ）に接続されている。制御プログラムが、データ待ち行列制御装置４４０に対し（システムバス４３０を介して）、回路ボードをリセットし、Ｎバイトのファイルを特定の出力チャネルに送るよう指示する。データ待ち行列制御装置がこのチャネルをポーリングするとき、データ待ち行列制御装置４４０が、８ビット幅のＦＩＦＯメモリ４１８がほぼ空であるかどうかを判定する。ほぼ空であるならば、ファイルからデータの次のブロックがＳＣＳＩ制御装置によって要求される。データのブロックがＦＩＦＯメモリ４１８を満たしすぎることはない。ＦＩＦＯメモリ４１８がこのデータを受信すると、ＦＩＦＯメモリ４１８の利用可能データ回線が高になり、２入力ＡＮＤゲート４１７に供給される。
【００８９】
ＡＮＤゲート４１７がデコーダから入力回線レシーバ４１０を介して外部クロックを受信する。クロック遅延回路４１２は、「データＯＵＴ  Ａ」フォーマットのデータによる使用のために設計され、「データＯＵＴ  Ｂ」フォーマットのデータの結果には影響しない。入力レシーバ４０８（イネーブルＩＮ）は「データＯＵＴ  Ａ」フォーマットにしか使用されないため、‘１’が、制御プログラムにより、システムバス４３０を介して、１ビットラッチ４０３にロードされる。
【００９０】
１３２バイトの並列ラッチ４０１および４０４はいずれも、制御プログラムにより、システムバスにロードされる。並列ラッチ４０１はビット剥取りマスクを含む。この状況では、ビット剥取りマスクが、レコード中のどのビットが真のデータであり、元の剥ぎ取られていないレコードフォーマットを復元するためにはどのビットを充てんすべきかを回路に指示する。結果が出ると、デコーダは、充てんビットがどの値を有するかを問わない。並列ラッチ４０１は、どこに充てんビットを挿入すべきかを指示し、並列ラッチ４０４は、これらのビットそれぞれの値、すなわち‘１’または‘２’を教える。１３２バイトシフトレジスタ４０２および４０５には、それぞれ並列ラッチ４０１および４０４からのデータがロードされる。
【００９１】
８ビット幅のＦＩＦＯ４１８が利用可能データを有するとき、クロック信号（ＡＮＤゲート４１７の出力である）は、シフトレジスタ４０２および４０５を通過することを許される。そして、シフトレジスタ４０２および４０５のロード回線が１１ビットのダウンカウンタ４１４を作動させる。カウンタ４１４が０に初期化されると、シフトレジスタ４０２および４０５には、それぞれ並列ラッチ４０１および４０４の内容がロードされる。カウンタ４１４は、レコードサイズをビット（１０５６）で含む１１ビットラッチ４１３からロードされる。カウンタ４１４は、ＡＮＤゲート４１７からクロックパルスが出るごとにカウントダウンする。
【００９２】
ＡＮＤゲート４１７から出るクロック信号はまた、２入力ＡＮＤゲート４２０への入力である。ＡＮＤゲート４２０への他方の入力は、シフトレジスタ４０２から直列的に外にシフトされるビットマスクである。シフトレジスタ４０２からのこの直列データ流はまた、２：１ＭＵＸ４０６セレクト回線を駆動する。シフトレジスタ４０２からのビットが‘１’であり、ＡＮＤゲート４１７から出るクロック信号が高であるならば、ＡＮＤゲート４２０の出力が８ビットシフトレジスタ４１９を駆動してビットを直列的に外にシフトする。このビットはＭＵＸ４０６のＤ１に進入する。シフトレジスタ４０２からのビットが‘１’であるため、ＭＵＸ４０６のセレクト回線がＤ１を、送信機４０７に供給されるデータＯＵＴ信号として選択する（デコーダへのデータＯＵＴ）。ＭＵＸ４０６は、ＡＮＤゲート４１７から出るクロック信号によって駆動される。
【００９３】
すべて８個のビットが８ビットシフトレジスタから外にシフトされたとき、３ビットダウンカウンタ４１６はゼロにカウントしている。そして、これが、ＦＩＦＯメモリ４１８からの新規データのシフトレジスタ４１９へのロードをトリガする。ＦＩＦＯメモリ４１８の出力イネーブルは、カウンタ４１６によってトリガされ、４１５（３ビット並列ラッチ）から７がカウンタ４１６に再ロードされる。最後に、カウンタ４１４が０までカウントダウンしたならば、それはラッチ４１３から再ロードし、シフトレジスタ４０２および４０５がそれぞれ並列ラッチ４０１および４０４からロードされる（次の１３２バイトレコードの処理が始まる）。
【００９４】
図５は、好ましい実施態様によるデータ待ち行列制御装置およびその環境を例示する回路図を示す。先に述べたように、データ待ち行列制御装置５４０は、通信ボードのポート／チャネルのすべてを管理して、そのそれぞれに総当たり方式でサービスを提供する。チャネルは、各チャネルがデータをＳＣＳＩ−２バス５２０に移動する機会を有するよう、タイムスライスされる。チャネルの最大数は、ＳＣＳＩ−２バス５２０のスループットによって決まる。そのうえ、ＦＩＦＯバッファ５１０、５５０のサイズは、すべてのチャネルが３．３Mbit／s で活動中であり、すべてのチャネル上を移動するデータが連続的である（ＦＩＦＯの枯渇または満たしすぎがない）と仮定しての、データ待ち行列制御装置５４０の最適サービス時間によって決まる。したがって、十分なメモリバッファ５１０、５５０を各データチャネルと対応させることにより、データ待ち行列制御装置（プロセッサ）５４０は、チャネルのいずれをも空にしたりデータであふれさせたりすることなく、データチャネルのすべてに対し連続したループでサービスを提供する。これは、大幅に増大した速度での信頼しうるデータ転送を意味する。  ＰＲＯＭ内に位置するファームウェアを備えた搭載マイクロプロセッサであることが好ましいデータ待ち行列制御装置５４０は、出／入力チャネルとの間で行き来するデータを保持する役割を負うだけでなく、ＳＣＳＩ−２バス５２０を制御する役割をも負い、その結果、本発明のオン・デマンド能力にとって主要な貢献者である。
【００９５】
理解されるように、ＳＣＳＩ−２制御装置（ハードディスクインタフェース）５２０は、通信ボード上に直接位置していることが好ましい。これは、高いデータ転送速度およびそのようなデータ転送速度をすべてのチャネルで同時に持続させるのに要する合計のバスバンド幅による。制御装置５２０を直接通信ボード上に配置すると、データ転送の障害としての低バンド幅ＰＣシステムバス５３０を除くことができ（先に説明したとおり）、さらに、低廉なＰＣマザーボードおよびオペレーティングシステムの使用を許容する。
【００９６】
具体的には、データ待ち行列制御装置５４０によって管理される制御フローを達成する一つの方法は次のとおりである。
2004260841.tif 000003
【００９７】
すべての条件が真であり、Ｎ＝カード上のチャネルの最大数（例えば、ある実施態様では１９）であるならば、１回のループの最大時間データ待ち行列制御装置５４０は、ＳＣＳＩスループット／Ｎである。これは、すべてのチャネルが３．３Mbit／s で動き、ＦＩＦＯのいずれも空になったり、あふれたりしない（すなわち、データ待ち行列制御装置５４０が作動している）ことを仮定する。明らかに、あるチャネルが６．６Mbit／s で動いているならば、別のチャネルが適切なスループットを維持することはできないであろう。
【００９８】
しかし、データ待ち行列制御装置５４０は、ＳＣＳＩポートとＲＳ−４２２チャネルとの間のデータ転送の、個々のチャネル回路のリセット、ＳＣＳＩドライブのフォーマット、不良ブロックアドレスの記録およびデータを移動させる際のそれらのスキップもしくはリマッピングをはじめとするすべての側面を制御することが好ましい。管理は、制御プログラムからのコマンドにより、システムバス５３０を介してデータ待ち行列制御装置５４０に提供される。データ待ち行列制御装置５４０は、作動中に制御プログラムからの指示を求めて、ラッチのそれぞれをポーリングする（例えば、イネーブルフラグ、バッファ中のファイル長およびＳＣＳＩアドレス）。本質的に、データ転送は、データ待ち行列制御装置５４０により、次のように管理される。
2004260841.tif 000004
【００９９】
制御プログラム。制御プログラムはホストコンピュータ上で作動する。これは、システムバスを介して通信回路ボードと通信する。上記のように、制御プログラムは、ボードに対し、指定のファイル、その長さ、その記憶体系およびそれをどこに回送する（出力ポート／チャネル）かを送信または受信するよう指示する。制御プログラムは、上記の説明を通じてそれに帰された活動に加えて、通信ボードに対し、より多くのデータを求めて待機したり、新たな送信に備えて入力または出力ポートをリセットしたりするよう指示を出すこともできる。制御プログラムは、チャネル／ポートの状態（話中、現在のレコード、最後に受信／送信した記録からのアイドル時間）ならびにＳＣＳＩ状態／問題（すなわち、ドライブが応答しない、ドライブ性能が期待した水準よりも低い、ドライブに不良ブロックが多すぎる）に関して問い合わせを行うことができる。そのうえ、制御プログラムはドライブのフォーマット変更を出すことができる。
【０１００】
具体的には、データ流に関して、制御プログラムは、固定長（例えば１３２バイト）のレコードがレコード数または検査合計を含まないと判定する。同様に、可変長レコードに関して、制御プログラムは、そのようなレコードそれぞれがレコード数または検査合計を含むと判定する。いずれにしても、先に述べたように、制御プログラムは、レコード長ならびにどのデータを捨てるかを決めるレコードビットマスクを通信ボードに提供する。
【０１０１】
制御プログラムのソフトウェア処理の流れの態様を、以下の制御プログラム擬似コードに見ることができる。この例では、制御プログラムは、希望の映画を放映するよう要求されている。
2004260841.tif 000005
【０１０２】
2004260841.tif 000006
【０１０３】
理解されるように、通信ボードは、制御プログラムがポーリングする各ファイル（データおよびコマンド）の状態を維持する。希望するならば、通信ボードはまた、ファイルが完全であるとき、システムバスに対して制御プログラムのための割込みを生成することもできる。そのうえ、制御プログラムソフトウェアは、各直列Ｉ／Ｏチャネルが作動を開始する順序に配列された「順序付き」の直列Ｉ／Ｏチャネル処理待ち行列を維持する。
【０１０４】
このように、本システムおよび方法によると、ビデオテープおよび映画カードの複写および配給に伴う費用によって強いられる従来の月一度の時間割に比して、映画を一夜で交換することができる。本システムおよび方法は、宿泊業に使用することができ、さらに、より広い用途、例えば、病院、会社、集合住宅および学校、さらには都市全体のような新たな場所における有料視聴および対話式のサービスにも使用することができる。
【０１０５】
本発明を説明するために上記に論じた特定の用途は、特定のビデオ娯楽番組制作物（映画ビデオ）のオン・デマンド転送のための記憶・転送システムおよび方法のためのものである。もう一つの用途の例は、電子ニュース収集の経路における本発明の使用を含む。例えば、ベイルートの特派員がある事件をビデオフィルムに記録するとする。その特派員は、本発明を使用して、そのフィルムを自分のＰＣに記憶し、それを、例えば標準の電話または衛星により、ワシントンのニュースデスクに送り返す。そして、ワシントンの編集者がそのフィルムを放映／再生して、ニュースに値する内容がないかどうか審査し、そのフィルムの一部または全部を来たるべきニュース放送に使用すると決めるならば、従来のテレビ技術（すなわち、テープデッキ、スイッチおよび変調器など）を用いてそのフィルムを記録および／または再生するか、今はそれを使用しないと決めるならば、それを保管フィルムに記憶することができる。
【０１０６】
さらに別の用途は、遠方、おそらくは国際的な場所から、転送時間を心配することなく、または正常な設備が利用できない場合（例えば被災地域での電話）に、音声／画像ソース資材を送り返す場合を含むであろう。本発明のシステムおよび方法を使用すると、資材を実時間で記憶したのち、それを転送し、またそれを再び捕捉して、のちに、より多くの転送費用を節約したり、バンド幅可用性を収容したりすることができる。費用削減の一例は、電話回線が比較的すいている（そして高価である）ときに電話回線を使用したり、衛星が、音声／画像資材を有する信号を送信するのに利用可能な（廉価な）時間を有するときに衛星を使用したりすることを含むであろう。別の例は、資材をより遅い（より廉価な）データ転送速度で転送することであろう。
【０１０７】
さらなる用途は、本システムおよび方法をコマーシャルの挿入に用いることを含むであろう。番組の前もしくは後または番組の最中に、ワークステーションに対し、入ってくるコマーシャルやアナウンスを受信し、放映する（またはすでにＤＡＳＤに記憶されたものを放映する）ことを求める外部コマンドを出すことにより、コマーシャルやアナウンスを挿入することができる。一例は、特定の地域に関する竜巻や台風の警報（アナウンス）であることができ、これを進行中の番組に挿入することができる。
【０１０８】
本発明の数多くの変形または代替え態様が当業者に察知されるであろう。したがって、本発明は、以下の請求の範囲によってのみ限定されるものである。
【図面の簡単な説明】
【０１０９】
【図１】本発明を用いる記憶・転送システムの一例を示す略図である。
【図２ａ】本発明を用いるマイクロプロセッサベースの記憶・転送システムの一例を示す略図である。
【図２ｂ】本発明を用いるマイクロプロセッサベースの記憶・転送システムの一例を示す略図である。
【図３】本発明の実施態様による入力チャネル回路図である。
【図４】本発明の実施態様による出力チャネル回路図である。
【図５】本発明の実施態様によるデータ待ち行列制御装置回路図である。
【図６ａ】固定長レコードおよび可変長レコードの略図である。
【図６ｂ】固定長レコードおよび可変長レコードの略図である。
【図１】
2004260841.tif 000007
【図２ａ】
2004260841.tif 000008
【図２ｂ】
2004260841.tif 000009
【図３】
2004260841.tif 000010
【図４】
2004260841.tif 000011
【図５】
2004260841.tif 000012
【図６ａ】
2004260841.tif 000013
【図６ｂ】
2004260841.tif 000014
【手続補正書】
【提出日】平成16年4月22日(2004.4.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）において、
該アナログ信号の少なくとも一つを受信し、該受信した少なくとも１つのアナログ信号のそれぞれをデジタル化し、該デジタル化した信号をデータ流に圧縮するためのエンコーダ（１０５）と、
該エンコーダ（１０５）から該データ流を受信し、該データ流をさらに圧縮し、該データ流を第一の記憶媒体に記憶し、のちに、該データ流を該第一の記憶媒体から転送するための第一の処理システム（１１０）と、
該第一の処理システム（１１０）から該データ流を受信し、該データ流を、該第一の処理システム（１１０）から離れた場所に転送するための転送システム（１２０、１３０）と、
該転送システム（１２０、１３０）から該データ流を受信し、該データ流を第二の記憶媒体（１６０、２５５−２６０）の非隣接直列ブロックに記憶し、のちに、該アナログ信号の少なくとも１つの再生の要求を受けしだい、該データ流の複写を圧縮解除したのち、該データ流の該複写を該第二の記憶媒体（１６０、２５５−２６０）から転送するためのマイクロプロセッサを含み、該第二の記憶媒体（１６０、２５５−２６０）の該非隣接直列ブロックからの該データ流を再構成する第二の処理システム（１４０、２０５−２２０）と、
該データ流の複写を該第二の処理システム（１４０、２０５−２２０）から受信し、該データ流の複写をさらに圧縮解除し、該圧縮解除したデータ流の複写をアナログ信号に変換して、少なくとも１つのプレゼンテーションシステムセットに転送して再生に備えるためのデコーダ（２７０−２７６）とを含むシステム（１００）。
【請求項２】
該第二の処理システム（１４０、２０５−２２０）による転送が該デコーダ（２７０−２７６）にとって同期再生である請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項３】
該アナログ信号の再生の該要求が別の処理システムから出される請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項４】
該アナログ信号の再生の該要求が、該第二の処理システム（１４０、２０５−２２０）上で同時に作動している別のプログラムから出される請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項５】
該第二の処理システム（１４０、２０５−２２０）による該圧縮解除が該データ流の複写の再構成である請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項６】
該第一の処理システム（１１０）による該圧縮が該データ流からのネットワークオーバヘッドの剥取りである請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項７】
該ネットワークオーバヘッドが順方向誤り訂正およびアドレス情報を含む請求項７に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項８】
該第二の処理システム（１４０、２０５−２２０）が、該記憶媒体（２５５−２６０）から該デコーダ（２７０−２７６）への直接データ転送を可能にするための通信ボード（２８０）をさらに含む請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項９】
該通信ボード（２８０）が、該通信ボードの入力、出力およびシステムチャネルを管理するためのデータ待ち行列制御装置（３４０、４４０、５４０）を有する請求項９に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項１０】
該データ待ち行列制御装置（３４０、４４０、５４０）が、該通信ボード（２８０）のすべての出力チャネルにおけるバッファが転送の間に適時に充てんされて、チャネルの充てん不足または過充てんを防ぐことを保証する請求項１０に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項１１】
該第一の処理システム（１１０）が、該エンコーダ（１０５）から該記憶媒体への直接データ転送を可能にするための通信ボード（２８０）をさらに含む請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項１２】
該通信ボード（２８０）が、該通信ボードの入力、出力およびシステムチャネルを管理するためのデータ待ち行列制御装置（３４０、４４０、５４０）を有する請求項１２に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項１３】
該アナログ信号を、再生のために少なくとも１つのプレゼンテーションシステムに転送している間に、該第二の処理システム（１４０、２０５−２２０）が、該アナログ信号内の所定の場所に付加プログラミングを挿入する請求項１に記載の要求がありしだいアナログ信号を記憶し、転送するためのシステム（１００）。
【請求項１４】
要求がありしだいアナログ信号を記憶し、転送するための方法において、
該アナログ信号の少なくとも１つを受信するステップと、
該受信した少なくとも１つのアナログ信号をそれぞれデジタル化するステップと、
該デジタル化した信号をデータ流に圧縮するステップと、
第一の処理システム（１１０）において該データ流をさらに圧縮するステップと、
該第一の処理システム（１１０）において、該データ流を第一の記憶媒体に記憶するステップと、
該データ流を、該第一の記憶媒体から該第一の処理システム（１１０）から離れた第二の処理システム（１４０、２０５−２２０）へ転送するステップと、
該データ流を、該第二の処理システム（１４０、２０５−２２０）において受信するステップと、
該第二の処理システム（１４０、２０５−２２０）において、該データ流を第二の記憶媒体（１６０、２５５−２６０）の非隣接直列ブロックに記憶するステップと、
該少なくとも１つのアナログ信号の再生の要求を受けしだい、該データ流の複写を該第二の処理システム（１４０、２０５−２２０）において圧縮解除したのち、該データ流の該複写を該第二の記憶媒体（１６０、２５５−２６０）から転送し、該第二の記憶媒体（１６０、２５５−２６０）の該非隣接直列ブロックからの該データ流を再構成するステップと、
デコーダ（２７０−２７６）において該データ流の複写をさらに圧縮解除するステップと、
該圧縮解除したデータ流の複写をアナログ信号に交換して少なくとも１つのプレゼンテーションシステムセットに転送して再生に備えるステップと、
を含む方法。