(57)【特許請求の範囲】
【請求項１】
高速アクセス記憶デバイスから大容量記憶媒体上にデジタル的に圧縮したプログラム・データを記録する方法であって、そこでは、前記高速アクセス記憶デバイスは可変データに対する許容性が高く、前記大容量記憶媒体は可変データに対する許容性が低く、線形のランダムアクセス能力を有する方法において、
前記高速アクセス記憶デバイスを複数のセグメントに分割するステップと、
前記複数のセグメントに分割するステップにより分割された複数のセグメントの中の１つを選択するステップと、
前記圧縮したプログラム・データを受信するステップと、
当該受信した圧縮したプログラム・データを、入力バッファに記憶するステップと、
前記入力バッファから、前記選択するステップにより選択された、高速アクセス記憶デバイスのセグメントに、前記圧縮したプログラム・データを転送し、当該転送をリアルタイムより速いレートで実行するステップと、
リアルタイムより速いレートで前記圧縮したプログラム・データを前記高速アクセス記憶デバイスから前記大容量記憶媒体に転送するステップと
を含むことを特徴とする方法。
【請求項２】
前記入力バッファから高速アクセス記憶デバイスへ前記圧縮したプログラム・データを転送する前記ステップは少なくとも前記入力バッファがオーバフローするのを防止するのに必要な回数だけ実行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記分割するステップの間に、全てのセグメントを同一の大きさになすことを特徴とする請求項１に記載の方法。
【請求項４】
前記高速アクセス記憶デバイスはハードディスクドライブを含み、前記大容量記憶媒体はデジタル・ビデオテープを含むことを特徴とする請求項１に記載の方法。
【請求項５】
大容量記憶媒体に記憶されたデジタル的に圧縮されたプログラム・データを再生し、高速アクセス記憶デバイスを使用する方法であって、そこでは、前記高速アクセス記憶デバイスは可変データに対する許容性が高く、前記大容量記憶媒体は可変データに対する許容性が低く、線形のランダムアクセス能力を有する方法において、
前記高速アクセス記憶デバイスを複数のセグメントに分割するステップと、
前記圧縮したプログラム・データの再生のために、前記高速アクセス記憶デバイスの分割された複数のセグメントの中の１つを選択するステップと、
前記圧縮したプログラム・データを、リアルタイムより速いレートで前記大容量記憶媒体から前記高速アクセス記憶デバイスの前記選択するステップにより選択されたセグメントへ転送し、インターリーブ化するステップと、
前記圧縮したプログラム・データを前記高速アクセス記憶デバイスの選択されたセグメントから出力バッファに転送し、当該転送は、リアルタイムより速いレートで実行されるステップと、
前記出力バッファからデコーダおよびディスプレイ手段へ前記圧縮したプログラム・データを読み出すステップと
を含むことを特徴とする方法。
【請求項６】
前記高速アクセス記憶デバイスから前記出力バッファへ前記圧縮したプログラム・データを転送するステップは少なくとも前記出力バッファがアンダーフローするのを防止するのに必要な回数だけ実行されることを特徴とする請求項５に記載の方法。
【請求項７】
前記分割するステップの間に、全てのセグメントを同一の大きさとなすことを特徴とする請求項５に記載の方法。
【請求項８】
前記高速アクセス記憶デバイスはハードディスクドライブを含み、前記大容量記憶媒体はデジタル・ビデオテープを含むことを特徴とする請求項５に記載の方法。
【請求項９】
以下のステップを含み、これによって大容量記憶媒体に記憶されたデジタル的に圧縮した第１のプログラム・データを再生しつつ、同時に同一の大容量記憶媒体にデジタル的に圧縮した第２のプログラム・データを記録可能にした方法であって、
前記圧縮した第２のプログラム・データの同時の記録のために、前記高速アクセス記憶デバイスの複数のセグメントの中の１つを選択するステップと、
前記圧縮した第２のプログラム・データを受信して前記圧縮した第２のプログラム・データを入力バッファに記憶するステップと、
前記入力バッファから前記高速アクセス記憶デバイスの前記選択するステップにより選択されたセグメントに前記圧縮した第２のプログラム・データを転送し、当該転送はリアルタイムより速いレートで実行されるステップと、
リアルタイムより速いレートで前記圧縮した第２のプログラム・データを前記高速アクセス記憶デバイスから前記大容量記憶媒体に転送するステップと
を含み、前記入力バッファから前記高速アクセス記憶デバイスに前記圧縮した第２のプログラム・データを転送するステップ、前記圧縮した第２のプログラム・データを前記高速アクセス記憶デバイスから前記大容量記憶媒体に転送するステップ、前記大容量記憶媒体から前記高速アクセス記憶デバイスに前記圧縮した第１のプログラム・データを転送するステップ、および前記高速アクセス記憶デバイスから出力バッファに前記圧縮した第１のプログラム・データを転送するステップをインターリーブ化することを特徴とする請求項７に記載の方法。
【請求項１０】
大容量記憶媒体上に、高速アクセス記憶デバイスからの多数のプログラム・データを記憶し保持するための方法であって、そこでは、前記高速アクセス記憶デバイスは可変データに対する許容性が高く、前記大容量記憶媒体は可変データに対する許容性が低く、線形のランダムアクセス能力を有する方法において、
前記大容量記憶媒体を複数のセグメントに分割し、セグメントは全部同一の大きさとするステップと、
前記大容量記憶媒体に含まれるプログラム・データのリストを保持し、各プログラム・データはリストに関連し、前記リストは前記プログラム・データに関連する圧縮データを含む１つまたは２つ以上のセグメントを指定するステップと、
特定のプログラム・データに割り当てられなかった空きセグメントのリストを保持するかまたは定期的に生成するステップと
を含むことを特徴とする方法。
【請求項１１】
新しいプログラム・データが前記記憶媒体に追加されるたびに必要に応じて空きセグメントを識別し割り当てることを特徴とする請求項１０に記載の方法。
【請求項１２】
ビデオ・プログラム・データが前記記憶媒体から消去されるたびにこれに対応するセグメントが開放され空きセグメントになることを特徴とする請求項１０に記載の方法。
【請求項１３】
デジタル的に圧縮したプログラム・データを記録するための装置であって、
可変データに対する許容性が低く、線形のランダムアクセス能力を有する大容量記憶媒体と、
可変データに対する許容性が高い高速アクセス記憶デバイスと、
入力バッファと、
前記高速アクセス記憶デバイスを複数のセグメントに分割するための手段と、
前記入力バッファから前記圧縮したプログラム・データを受信するために、前記高速アクセス記憶デバイスの前記分割するための手段により分割された複数のセグメントの中の１つを選択するための手段と、
前記圧縮したプログラム・データを受信し、前記圧縮したプログラム・データを前記入力バッファに記憶するための手段と、
前記入力バッファから前記高速アクセス記憶デバイスの、前記選択するための手段により選択されたセグメントへの前記圧縮したプログラム・データを転送し、当該転送はリアルタイムより速いレートで実行される手段と、
リアルタイムより速いレートで前記高速アクセス記憶デバイスから前記大容量記憶媒体へ前記圧縮したプログラム・データを転送するための手段と、
前記入力バッファから前記高速アクセス記憶デバイスの前記圧縮したプログラム・データの転送を前記高速アクセス記憶デバイスから前記大容量記憶媒体への前記圧縮したプログラム・データの転送とインターリーブ化する手段と
を含むことを特徴とする装置。
【請求項１４】
前記入力バッファがオーバフローするのを防止するのに少なくとも必要な回数だけ前記入力バッファから前記高速アクセス記憶デバイスへ前記圧縮したデータを転送するための手段をさらに含むことを特徴とする請求項１３に記載の装置。
【請求項１５】
前記高速アクセス記憶デバイス上の全セグメントは大きさが同一であることを特徴とする請求項１３に記載の装置。
【請求項１６】
前記高速アクセス記憶デバイスはハードディスクドライブを含み、前記大容量記憶媒体はデジタル・ビデオテープを含むことを特徴とする請求項１３に記載の装置。
【請求項１７】
デジタル的に圧縮プログラム・データを再生するための装置であって、
可変データに対する許容性が低く、線形のランダムアクセス能力を有する大容量記憶媒体と、
可変データに対する許容性が高い高速アクセス記憶デバイスと、
出力バッファと、
前記高速アクセス記憶デバイスをセグメントに分割するための手段と、
前記圧縮したプログラム・データの再生のために、前記高速アクセス記憶デバイスの前記分割するための手段により分割された複数のセグメントの中の１つを選択するための手段と、
前記圧縮したプログラム・データをリアルタイムより速いレートで前記大容量記憶媒体から前記高速アクセス記憶デバイスの前記選択するための手段により選択されたセグメントへ転送するための手段と、
前記圧縮したプログラム・データを前記高速アクセス記憶デバイスから前記出力バッファに転送し、当該転送はリアルタイムより速いレートで実行される手段と、
前記圧縮したプログラム・データの前記高速アクセス記憶デバイスから前記出力バッファへの転送を前記圧縮したプログラム・データの前記大容量記憶媒体から前記高速アクセス記憶デバイスへの転送とインタリーブ化するための手段と、
前記出力バッファから前記圧縮したプログラム・データを読み出し、デコーダおよびディスプレイ手段へ当該読み出したプログラム・データを送信するための手段と
を含むことを特徴とする装置。
【請求項１８】
前記出力バッファがアンダーフローするのを防止するのに少なくとも必要な回数だけ前記高速アクセス記憶デバイスから前記出力バッファへ前記圧縮したデータを転送するための手段をさらに含むことを特徴とする請求項１７に記載の装置。
【請求項１９】
前記高速アクセス記憶デバイス上の全セグメントは大きさが同一であることを特徴とする請求項１７に記載の装置。
【請求項２０】
前記高速アクセス記憶デバイスはハードディスクドライブを含み、前記大容量記憶媒体はデジタル・ビデオテープを含むことを特徴とする請求項１７に記載の装置。
【請求項２１】
高速アクセス記憶デバイスから大容量記憶媒体上にデジタル的に圧縮したプログラム・データを記録する装置であって、そこでは、前記高速アクセス記憶デバイスは可変データに対する許容性が高く、前記大容量記憶媒体は可変データに対する許容性が低く、線形のランダムアクセス能力を有する装置において、
入力バッファと、
前記複数のセグメントに分割する手段により分割された複数のセグメントの中の１つを選択する手段と、
前記圧縮したプログラム・データを受信する手段と、
当該受信した圧縮したプログラム・データを、前記入力バッファに記憶するための手段と、
前記入力バッファに記憶された、前記圧縮したプログラム・データをリアルタイムより速いレートで前記大容量記憶媒体から前記高速アクセス記憶デバイスへ転送するための手段と、
前記圧縮したプログラム・データの前記入力バッファから前記高速アクセス記憶デバイスへの転送、前記圧縮したプログラム・データの前記高速アクセス記憶デバイスから前記大容量記憶媒体への転送、前記圧縮したプログラム・データの前記大容量記憶媒体から前記高速アクセス記憶デバイスへの転送および前記圧縮したプログラム・データの前記高速アクセス記憶デバイスから出力バッファへの転送をインターリーブ化するための手段と
をさらに含むことを特徴とする請求項１７に記載の装置。
【請求項２２】
大容量記憶媒体上に高速アクセス記憶デバイスからの多数のプログラム・データを記憶し保持するための装置であって、そこでは、前記高速アクセス記憶デバイスは可変データに対する許容性が高く、前記大容量記憶媒体は可変データに対する許容性が低く、線形のランダムアクセス能力を有する装置において、
全セグメントが同一の大きさとなるように前記大容量記憶媒体を複数のセグメントに分割するための手段と、
前記記憶媒体に含まれるプログラム・データのリストを保持し、各プログラム・データはリストに関連し、前記リストは前記プログラム・データに関連する圧縮データを含む１つまたは２つ以上のセグメントを指定するための手段と、
特定のプログラム・データに割り当てられなかった空きセグメントのリストを保持するかまたは定期的に生成するための手段と
を含むことを特徴とする装置。
【請求項２３】
新しいプログラム・データが前記記憶媒体に追加されるたびに必要に応じて空きセグメントを識別し割り当てるための手段をさらに含むことを特徴とする請求項２２に記載の装置。
【請求項２４】
ビデオ・プログラム・データが前記記憶媒体から消去されるたびにこれに対応するセグメントが開放され空きセグメントになるようにするための手段をさらに含むことを特徴とする請求項２２に記載の装置。
【発明の詳細な説明】
発明の分野
本発明はデジタル・ビデオ・プログラム内容の家庭での記録、保存、再生に関する。
発明の背景
米国の市民は自分の都合に合わせた個人的再生（private playback）のために映画やその他の記録済みビデオ・プログラムの賃貸に毎年７５億ドルを支出している。このようなビデオ・プログラムは、たとえばビデオカセット・レコーダ（ＶＣＲ）を用いて再生するためのアナログ・ビデオテープ（さらに最近では、デジタル・ビデオテープ）やレーザーディスク・プレーヤで再生するアナログ・レーザーディスク、またはパーソナル・コンピュータやその他の形の専用ＣＤプレーヤを用いて再生するためのデジタル・コンパクトディスクなど幾つかの形態で配布可能である。
現在のビデオ再生システムは幾つかの点で制約がある。現行システムでは、比較的限られた記憶容量が提供され、１本のディスクまたはテープに１本の長編映画の等価物を保持するのが普通である。デジタル・ビデオテープはアグレッシブ・データ圧縮方式を用いれば理論上より大きな容量を提供できる。しかし、スローモーションや早送り、逆転高速／スローモーションと言ったトリックモード機能を実装すると非常に複雑になってしまうため、このような圧縮はデジタル・ビデオテープで一般に使用されていない。
たとえば、ヘリカルスキャンを用いる今日のＶＣＲの大半のものは、再生速度が通常よりも遅くまたは早くのどちらかに変化している場合、ビデオ信号全体を復元再生できない。さらに、信号が高く圧縮されている場合、単一ビットの損失であっても０．５秒からそれ以上にわたって非常に目立つアーチファクトを発生することがある。これにより高圧縮ビデオ信号を再生する場合にトリックモードを効果的に実現することが可能であっても、保存すべきビットと破棄すべきビットを注意深く選択する必要がある。この種の選択は、ＶＣＲプレーヤの性能を大幅に譲歩しない限り既存のＶＣＲ技術では不可能である。
高圧縮比の利用がこの様にできないという理由から、物理的記憶要求から各個人が自宅で大量のタイトルを保持するのが難しい。さらに、レンタル業者は限られた陳列スペースに対してビデオ・タイトルが激しく競合することに直面することになり、消費者は探している特定のタイトルのコピーを見付けられないことに不満を抱くことが多くなる。これに関連した問題としては、各々のプログラムが通常は物理的に別のディスクまたはテープに納められているため、現在のシステムがユーザのライブラリ内での多数のプログラムのアクセスには便利ではないことである。そのため、別のタイトルまたはプログラムを所望するたびに、ユーザは所望するテープまたはディスクを物理的に特定してロードする必要がある。これに加えて、選択したテープが１つ以上のプログラムを含む場合には、ユーザはテープ全体をサーチして所望のプログラムの開始部分を見つけ出す必要もある。ビデオ・プログラムの記憶および配布システム（scheme）の改良が望ましいことは明らかである。
家庭内でのビデオ・プログラムの記録も現行技術ではさらに問題がある。多くの人がＶＣＲを用いて放送または有線番組を録画し、プログラムを後で見ること本質的には「タイムシフトする」ことがある。同様に、視聴者は一つの放送または有線放送番組を見ながら、別の番組を同時に録画して後で見ることがある。読み取り専用のディスク（たとえばコンパクトディスクやレーザーディスクなど）は本質的にこうした記録には不適当である。民生用ＶＣＲは典型的にはアナログＶＨＳフォーマットで、また最近ではデジタル・フォーマットで、磁気テープを使用する。しかし、ＶＣＲ技術には未だ重大な制約がある。たとえば、現在のビデオテープ録画システムでは、デジタルまたはアナログテープのどちらであっても、リアルタイム・ランダムアクセスをサポートしていない。逆に、リアルタイム録画再生は厳密に線形的に進行する。
さらに、現在のＶＣＲは読み取りと書き込みの同時独立アクセスを提供していない。言い換えれば、ユーザはテープに録画したプログラムを再生しながら同時に別のプログラムを同一テープに記録することはできない。たとえば、ユーザが後で見ようとして放送または有線番組をＶＣＲを使って記録する場合、ユーザは放送を録画している最中に同じＶＣＲを使ってテープ上の別の映画を見ることができない。別の例として、ユーザが午後８時に始まる２時間のテレビ映画を録画するようにＶＣＲをセットし、８時３０分に帰宅した場合、ＶＣＲは放送の録画に未だ使っているので、単に座って映画をはじめから見ることはできない。そのため、視聴者は放送が午後１０時に（この時点で２時間の映画を見はじめるには疲れすぎているかも知れない）終了するまで待ち続けるか、または順序と関係なく映画を見る、即ち実際の放映を午後８時３０分から１０時まで視聴し、はじめの３０分の録画をその後で見るかのどちらかになる。どちらの選択肢も満足できるものではなく、同時読み取り／書き込み能力のあるＶＣＲの改良が望ましい。
現行技術による別の問題点は、１つ以上のプログラムを含むテープの記憶スペースの管理に関するものである。たとえば、ユーザが一つのプログラムを消去して別のプログラムを記憶しようと決定した場合、２つの状況のどちらか一方が存在する。消去するプログラムが新しいプログラムより長ければ、新しいプログラムはテープ上の同じ「スペース」に記憶することができる。しかし、プログラム全体を記憶するには十分な大きさのないスペースが幾らか残っており、他の利用できるスペースとは恐らく連続していないスペースが存在する。つまり、これだけの量の記憶容量が無駄になると思われる。一方で、新しいプログラムが消去したプログラムより長い場合、テープ上のどこか不連続なスペースに一部を記憶できなければ、新しいプログラムはその全部を記憶することができない。したがって、無駄なテープ記憶スペースを僅かまたは全くなしにビデオプログラムを記憶、消去、アクセスできるようにする効率的な記憶管理技術が必要とされる。
上述の説明では、アーカイブ記憶媒体を使用して圧縮ビデオプログラムの録画再生をサポートし、同一アーカイブ媒体を用いた同時記録再生が可能で、単一ビデオテープ上への多数プログラムの効率的格納を提供し、トリックモード機能の全部をサポートし、ビデオテープまたはその他のアーカイブ記憶媒体の内容を効率的に管理し、ビデオ・プログラム内容へリアルタイム・ランダムアクセスをサポートすることで真のインタラクティブ再生が行なえるようにする家庭用ビデオシステムの改良の必要性が示されている。本明細書で用いている「ビデオプログラム」データは、ビデオ・データおよび／またはオーディオ・データを表わすものとする。
発明の要約
本発明は、デジタル・ビデオテープなどのアーカイブ記憶媒体の特徴、即ち大容量の記憶が可能だが可変データ・レートに対する許容性が小さく、基本的に線形のプログラムアクセスと、固定ディスクドライブ装置などの比較的高速なアクセス記憶デバイスの相補的な特徴、即ち高可変データ・レートに対する許容性と、ランダムアクセス能力があるが比較的小さな記憶容量とを組み合せる方法ならびに装置によって前述の目的を実現する。
本発明によれば、圧縮された形のビデオプログラム・データは、数本の長編映画またはその他のビデオプログラムを含み得るアーカイブ媒体から読み出され、高速アクセス媒体へセグメントとして転送される。この転送はリアルタイムより早いレートで行なわれる（たとえば数分のプログラム・データは秒単位で転送できる）。ここで「リアルタイム」とは、ビデオプログラムの通常表示速度として定義される。転送すべき各セグメントは、たとえば時間的に変化することがある圧縮比によって決まるプログラム内容の３０分平均に対応する一定量のデータを含む。このデータは高速アクセス媒体から読み出されビューワー（viewer）に提示される。十分なプログラム・データが一時的に高速アクセス媒体に記憶されてビューワーはプログラム全体の早送りまたは巻戻しを行なうことができ、またはインタラクティブ・ビデオプログラム内の別の目的位置へ、宛先の地点が現在高速アクセス媒体に記憶されているセグメントに存在する限り、瞬間的にジャンプできる。
同時に、同一アーカイブ媒体への別のテレビプログラムの同時録画を実行できる。テレビ信号、または他の何らかの外部ソースからの信号は圧縮されて高アクセス媒体に書き込まれる。定期的に、このデータは高速アクセス媒体からアーカイブ媒体に転送される。つまり、高速アクセス媒体は双方向バッファとして機能し、ユーザに対して透過的な方法でアーカイブ媒体からデータを取り出しまた保存する。
比較的大容量の高速アクセス媒体とバッファとして機能するその能力を使うと一方のテープから別のテープへダビングし編集することができる。ユーザは一方のテープから高速アクセス媒体へ実質的な量のプログラム内容をロードし、テープ交換してから、高速アクセス媒体のプログラム・データを新しいテープへ転送する。
本発明のさらなる態様において、プログラム・データはアーカイブ媒体上に実質的に記録する必要がない。たとえば、映画の終り部分はデジタル・ビデオテープ上で物理的に始まる部分より前に配置してあっても良い。テープ上の各種セグメントをこれに対応するビデオ・プログラムまたはプログラム・セグメントに割り当てるテーブルを用いるとビューワーに対してプログラムの連続表示を行なうことができる。つまり、一定で等しい長さの複数のセグメントにデジタル・ビデオテープを分割するステップと、テープ上に含まれるプログラムのリストであってプログラムに関係する圧縮データを含むセグメントまたはセグメント群を指定する第２のリストに関連付けられてこれを保持するステップと、特定のビデオ・プログラムに割り当てられなかった「空き」セグメントのリストを保持するかまたは定期的に生成するステップとを含む技術が開示される。
【図面の簡単な説明】
図１はテレビ受像機とビデオテープ・レコーダに接続された「セットトップ」ボックスを示す。
図２は本発明の高レベル・アーキテクチャを示す。
図３ａおよび図３ｂは本発明によるビデオの再生および録画の高レベル処理と流れを示す。
図４は１０個のセグメントに分割した高速アクセス・データ記憶媒体を示す。
図５はアーカイブ記憶媒体と高速アクセス記憶デバイスの間のデータ転送に使用する論理を示す。
図６は入力割り込み（Input Interrupt）論理を示す。
図７は出力割り込み（Output Interrupt）論理を示す。
発明の詳細な説明
本発明は高度に圧縮した形でデジタル・ビデオテープ（「ＤＶＴ」）などのアーカイブ記憶媒体へユーザがビデオ情報を記録でき、圧縮した形で記録してあるビデオ・プログラムを当該アーカイブ記憶媒体から再生し、または当該アーカイブ媒体へ同時録画しつつ同一アーカイブ媒体からの情報を見るかまたはプログラムと対話することができるようなデータ制御および管理の原理のユニークなアプリケーションに関する。好適実施例において、本発明はビデオ・データ（サウンドトラックまたはオーディオ・データを含み、ＭＰＥＧなどの圧縮アルゴリズムを使用する）の可変ビットレート（「ＶＢＲ」）符号化および復号の技術を使用し、ハードディスクなどの高速アクセス記憶デバイスの双方で必要とされる記憶の総量を減少させる。上記高速アクセス記憶デバイスは、基本的に双方向先入れ先出し（ＦＩＦＯ）バッファとして機能してアーカイブ記憶媒体からビューワーへ、また放送やケーブルテレビ信号などの入力ソースからアーカイブ媒体へデータを渡す、または両方同時に行なう。
以下の詳細な説明は図１から図７を参照して行ない、同じ参照番号は図面全部を通して同一の要素を表わしている。
ビデオ・プログラムはシーンまたはフレームの順序だったシーケンスとして構成されるのが一般的で、各々のフレームは画素またはピクセルの２次元アレイで定義されている。画素は色と照度の特徴を有し、他の画素と組み合せて画像またはフレームを作成する。任意のフレームで、各画素の特徴はデジタル的に表現できる。つまり、ビデオ・プログラムはデジタルデータ・ストリーム、すなわち、ビデオ・プログラムの各フレームの間のアレイの各画素についての画素値を記述するところの順序だったビットのシーケンスであるデジタルデータ・ストリームに変換できる。プログラムに関係するオーディオもデジタルデータに変換でき、ビデオと同期して組み合せることができる。
一度デジタル化すると、ビデオ・データは圧縮した形で保存できる。つまり、フレーム内の各画素を多数のビットの組で表現して各フレームが同じ量のデータ記憶を必要とする代わりに、均一な属性、たとえば色や輝度を含む幾つかのフレームを他のフレームより少ないビットで（即ち少ないデータで）表現することができる。フレーム内の画素を比較するのと同じ方法で、シーケンス内のフレームを比較して任意のシーケンスを記憶するのに必要とされるビット総数を減少できる。この種のデータ圧縮の結果としては、単一のフレームまたはフレームのシーケンスを記憶するのに必要なビット数が一定ではないことになる。
大半の伝送チャンネルまたは記憶デバイスは一定のバンド幅を有しているため、また限られたデータ・レートだけをサポートできるため、バッファデバイスおよび制御フィードバック機構を用いて圧縮データ・レートを均等にし、サポートすることのできる最大値に時間間隔を制限するのが普通である。残念なことに、このことは限られた利用可能バンド幅が与えられた時に、シーンが簡単に圧縮される場合に不必要に高い画質を供給するかまたはシーンがもっと圧縮しにくい場合に圧縮アーチファクトを導入するかのいずれかで圧縮効率を減少させてしまう。本発明の高速アクセス記憶デバイスはこのようなバッファや制御フィードバック機構の必要がなく、真の可変ビットレート（「ＶＢＲ」）圧縮システム（scheme）を使用できるようになる。この種の符号化は、たとえばＭＰＥＧビデオ圧縮規格を用いると可能である。
従来技術のＶＣＲはＶＢＲデータを正しくアクセスして表示することができない。その理由は機械的制約である。ＶＣＲのモータは一般に毎秒一定のフィート数で読み取りヘッドを通過するようにテープを動かすように設計してある。この種のシステムで使用されるモータは、ＶＢＲデータ・ストリーム、すなわち、たとえば連続的に変化する速度でテープを再生する必要があり、要求速度が各フレームまたはフレームのシーケンス内にアーカイブされた圧縮量の関数となるようなＶＢＲデータ・ストリームにあわせて調節することができない。テープを停止し再開する代替えの技術はＶＢＲストリームに対応する上で有効だが、実施するには高価で効率が悪く、現行技術で製造できるヘリカルスキャンとリニアスキャン両方のテープ搬送メカニズムの信頼性を大幅に損なうことがある。
多くのコンピュータ・システムで使用されているようなディスクドライブなどの、「高速アクセス」媒体は可変データ・レートを取り扱うことができる。しかし、現在のところ、これらのドライブ装置で使用される記録ディスクは一般に１ないし２時間以上のビデオ・データを記録することができない。
つまり、従来技術の主要な制約は、ビデオテープなどのアーカイブ媒体上に高度に圧縮したビデオ・データを記憶するのが非実用的であるということで、これらの媒体の再生デバイスがＶＢＲ符号化、またはスローモーション、高速サーチ、または逆転再生などトリックモード表示機能に必要とされる可変データ・レートと簡単に適合できないことによる。高速アクセス媒体は、可変速再生や圧縮データの記録ができるが、一般に、アーカイブ媒体が格納できる長編フィルム１本分を越えるような大量の情報を保持することができないという制約を有している。
前述のような欠点を克服するため、本発明は後述するようなユニークな制御／管理アーキテクチャを使用する。このアーキテクチャはアーカイブ記憶媒体と高速記憶媒体の両方の最良の特徴を組み合せるものである。
さらに、本発明は２つのソースからのデータ、アーカイブ媒体からの出力、および外部ソースからの放送または有線（cabele）の信号のような入力を取り扱う能力を提供し、ユーザに同じアーカイブ媒体たとえばＤＶＴを同時に使用して再生と録画する能力を提供する。
アーキテクチャ概要
図２は本発明の一般的な高レベル・アーキテクチャを示す。図示した実施例において、本発明は単一の「セットトップボックス」１１に内蔵されている。セットトップボックスがこのように呼ばれるのはビューワーのテレビ１２とＶＣＲ１３に接続した物理的に別のボックス（図１に図示）であるためだが、本発明はＶＣＲ１３自体に内蔵して、別のボックスの必要性を排除しても良い。図２に図示したように、セットトップボックスはユーザ・インタフェース１５に接続した制御／管理デバイス１４を含む。ユーザ・インタフェース１５は、再生、停止、録画などのコマンドや、サーチ、早送りその他のトリックモード機能コマンドなどをユーザが発行できる遠隔制御とすることができる。インタラクティブ・プログラムを見ている場合、ビューワーはインタフェースを使用してプログラムのプロンプトに応答することができ、ビューワーの応答は制御／管理デバイス１４へ転送されてプログラムの別の部分にアクセスすることになる。
制御／管理デバイス１４は入力バッファ１６から、すなわち、放送またはケーブルテレビのデータ・ストリームなどの符号化され暗号化されている入力（incoming）信号の一時記憶を提供する入力バッファ１６から状態情報（statusinformation）も受信する。入力バッファ１６はある程度のレベルまで満たされると制御／管理デバイス１４に信号を送信し、制御／管理デバイス１４の指示でディスク１７に内容を書き込むことができる。制御／管理デバイス１４は、ある程度「空」の状態に達してディスク１７からさらにデータを受信できる時には制御／管理デバイス１４に通知する出力バッファ１８からの更新も受信する。出力バッファ１８は制御／管理デバイス１４の指示で復号した後でテレビ受像機１２またはモニタへデータを送出する。デコーダ１９はアクセス制御が使用中の場合にデータ解読ユニットを前置できる。
制御／管理デバイス１４は好適実施例ではデジタル・ビデオテープとするアーカイブ記憶媒体２０に信号を送信しまたは受信し、好適実施例においてハードディスクとする高速アクセス記憶デバイス１７に記憶してある現在の状態情報に基づいて、またユーザ・インタフェース１５経由で発行されたユーザ・コマンドに基づいてテープ位置をモニタしあるいはコマンドを発行する。最後に、制御／管理デバイス１４は高速アクセス記憶デバイス１７と通信し、入力バッファ１６からまたはアーカイブ記憶媒体２０からのデータをバッファ経由で受け入れるように、または出力バッファ１８へ、またはアーカイブ記憶媒体２０へデータを転送するように指示し、どのセグメントを読み込むべきかまたは書き込むべきかを表示する。
現在利用できる高速アクセス記憶デバイスは一度に一つだけの転送をサポートできるので、典型的には制御／管理デバイス１４で実行される転送ステップの全部に優先順位を割り当ててインタリーブ化する。転送の全部をシーケンス化することで必要な量のプログラム・データがユーザへの表示に利用できることを保証すると同時に、入力および出力バッファ（１６と１８）を必要とされるレベルの満杯状態（または空き状態）に維持する。さらに、インタリーブ化した転送は「リアルタイム」より早いレートで完了する、即ちビデオ・データの通常表示レートより早く完了する。
これ以外に、高速アクセス記憶デバイス１７が複数の同時転送をサポートできる場合、アーカイブ記憶媒体２０へ／からの転送だけをインタリーブ化しリアルタイムより早いレートで実行する必要がある。入力ソースから高速アクセス記憶デバイス１７への転送と高速アクセス記憶デバイス１７からデコーダ１９および表示装置への転送は原理的にリアルタイムで、入出力バッファの必要なしに実行できる。
図３ａおよび図３ｂは本発明による記憶、取り出し、再生、録画の処理全体を示す。図３ａではアーカイブ記憶媒体２０に記憶されたビデオ・プログラムを再生する処理を示す。データは第１に高速アクセス媒体１７に転送され、次に復号されてビューワーに表示される（要素２３と２４で表わされるステップ）。必要なだけ処理を繰り返して、現在表示しているプログラム部分より前と後ろの両方の十分な量のビデオ・データを高速アクセス記憶デバイス１７で利用できるようにする（要素２５で表わされるステップ）。
図３ｂは本発明の記録処理を示す。図示したように、テレビ信号は符号化されて一時バッファに記憶され、必要かつ所望の場合には暗号化され、さらに高速アクセス媒体１７に記憶される（要素２６，２７，２８で表わされるステップ）。十分なデータが高速アクセス記憶に蓄積された場合、およびアーカイブ記憶媒体２０が利用可能な場合、データはアーカイブ記憶媒体２０に転送される（要素２９，３０，３１で表わされるステップ）。テレビ放送プログラム全体がアーカイブ記憶媒体２０に記録されるまでこの処理を繰り返す。
図３ａと図３ｂに図示した処理は常に独立しているものではない。むしろ、同時録画再生の間に、読み取りまたは書き込みのための高速アクセス記憶デバイスへのアクセスは表示のために必ず十分なプログラム・データを利用できるように、またオーバフローを（したがってテレビプログラムの一部が記憶されない可能性が出てくるのを）防止するためテレビ信号からのデータを含む入力バッファ１６に十分なスペースが常にあるように優先順位をつける。
図４は１０個のセグメントに分割した高速アクセス記憶デバイスを示す。セグメントの番号はディスク容量や各セグメントに記憶させようとする所望の量のデータによって変化する。図４に図示してあるように（簡略化のためと説明のために）データは時計回りの方向でディスクに記録される。データは早送り再生では時計回りの方向に、逆転再生では反時計回りの方向に読み取られる。現在書き込んでいるセグメントは、図面では「ｉ」で表わしてある書き込みポインタ３３によって表わされる。現在読み込んでいるディスク・セグメントは図面では「ｊ」で表わしてある読み出しポインタ３２によって表わされる。直前と直後の読み出しセグメントは各々「ｊ＋１」および「ｊ−１」で表わしてある。
各ディスク・セグメントはこれに対応するテープ・セグメントに割り当てられる。つまり、テープ・セグメント「ｍ」はディスク・セグメント「ｊ」に対応し、テープ・セグメント「ｎ」はディスク・セグメント「ｉ」に対応する。各々のディスクまたはテープ・セグメントは一組分の量の圧縮ビデオ・データを含むことができる。テープ媒体上で、各セグメントはテープの物理的に連続した部分から構成される。しかしディスク上のセグメントは実際には磁気媒体上の物理的に別々の数個のスペースから構成される、言い換えればビデオ・データの時間的に一つの部分（リアルタイムで再生した時に見える部分）は、一つの「セグメント」として表わされているが、ディスク上の一つの場所に記憶しなくとも良い。これを図示する目的で、各セグメントは、平均で、０．５時間分のプログラム・データを含むものと仮定する。よって、たとえばテープ・セグメント「ｍ」にある情報は、ユーザがプログラムを再生、早送り、または巻戻しできるようにディスク上に十分なビデオ情報を維持する必要に応じて、ディスク・セグメント「ｊ」にコピーされる。すでに説明したように、直接ＤＶＴ２０からではなくディスク１７から情報をアクセスすることで、ビューワーは高速アクセス媒体１７を利用してプログラムのある一つの部分から別の部分へほぼリアルタイムでジャンプすることができる。同様に、外部ソース（たとえば放送またはケーブル）から入力バッファ１６を介してディスク１７に収集しディスクのセグメント「ｉ」に記録したデータは制御／管理デバイス１４の指示でテープ・セグメント「ｎ」に書き込まれる。
つまり、後述する手順により、制御／管理デバイス１４は外部ソース、ディスプレイ１２、テープ２０、ディスク１７の間のデータ転送を処理し、ディスクに記録したテープ・セグメントを介して、テープに録画したプログラムをユーザが見ることができるようにし、同時に、これも高速アクセス記憶デバイスのセグメントにあらかじめ記憶したデータを介して、同じテープに外部ソースからの情報を記録することができる。
例：テープの同時記録再生
また図４を参照すると、読み出しポインタ３２は現在３番のセグメント（即ちｊ＝３）にある。このセグメントからのデータは現在復号されてビューワーに表示されている。４番セグメントは次の０．５時間分のプログラム情報を含み、２番のセグメントは直前０．５時間分を含んでいる。ビューワーが通常速度でプログラムの見ることを希望する場合、読み出しポインタ３２は時計回りに回転し、次の４番セグメントを指す。最終的に、古いデータ、たとえば２番のセグメントにあるデータは新しい情報で上書きされる。しかし、ビューワーがプログラムのもっと前の部分に「巻き戻し」したい場合、読み出しポインタ３２は反時計回りに回転して２番セグメントを指す。ビューワーが「早送り」を希望する場合、読み出しポインタ２２は時計回りに通常の再生中よりも早い速度で回転する。実際に読み出しポインタ３２の回転速度は指示された再生速度に比例する。
同時に、書き込みポインタ３３は現在のところ９番のセグメントにある。このセグメントが入力バッファ６からのデータで完全に埋まると、新しいセグメント、好適実施例においては読み出しポインタ３２から最も遠い利用可能なセグメント（後述する入力割り込み機能を詳細に説明する図６のフローチャートに図示してある）が選択される。この例では、７番と８番のセグメントが完全に埋められているが、未だテープには転送されていない。０番、１番、５番、６番のセグメントは読み出しまたは書き込みに未だ割り当てられていない空きセグメントである。
セグメント番号が「ｋ」に等しい各ディスク・セグメントの状態を表わす２つの変数が定義される。変数「ｒｄ＿ｌｉｓｔ［ｋ］」はセグメントｋが読み出しに有効なデータを含むかどうかを示す。セグメントｋが有効データを含む場合、変数ｒｄ＿ｌｉｓｔ［ｋ］＝１となる。それ以外の場合ではｒｄ＿ｌｉｓｔ［ｋ］＝０である。管理／制御プログラムはこの値を用いて次のテープ・セグメントをディスクのどこに書き込むかを決定する。図６のフローチャートで説明する論理により、データは現在読み込んでいるセグメントから物理的に最も遠い空きセグメントに書き込まれる（要素５０〜５３で表わされるステップ）。
変数「ｗｒ＿ｌｉｓｔ［ｋ］」は書き込みのために各セグメントの状態を表わす。セグメントｋが現在書き込みに使用中でなければ（即ち現在これに書き込まれておらず、また満杯でなく、かつここに記憶されているデータがテープへ転送されるのを待っているのでない場合）、ｗｒ＿ｌｉｓｔ［ｋ］＝−１となる。この例９でｋ＝ｉの場合、ｗｒ＿ｌｉｓｔ［ｋ］はテープへ転送されていないもっとも古いデータを含む満杯のディスク・セグメントにセットされる。つまり、この実施例で、ｗｒ＿ｌｉｓｔ［９］＝７となり、７番セグメントがテープへ転送されるデータのある次のセグメントである。この例で、以下の表にディスクの各セグメントについてのこれら２つの変数の値を示す。
0004108121.tif 000002
７番セグメントが転送された後、転送する次のセグメント（次に古い満杯のセグメント）はｗｒ＿ｌｉｓｔ｛ｗｒ＿ｌｉｓｔ［ｉ］｝（この列では８）で、これにｗｒ＿ｌｉｓｔ｛ｗｒ＿ｌｉｓｔ｛ｗｒ−ｌｉｓｔ［ｉ］｝｝が続く。この対話処理は、結果がｉ、この例では９、すなわち、未だ満杯でないため未だ転送することができない９、に等しくなるまで続く。各セグメントが転送された後、その特定のセグメントについてｗｒ＿ｌｉｓｔの値を−１にセットすることによりそれを開放する。
テープ２０とディスク１７の間でデータを転送する処理全体は図５のフローチャートにおいて詳細に説明されている。初期値を設定した後、第１の決定点３５に到達する。この時にテープへ書き込む必要がある満杯のディスク・セグメントが存在するかを判定する。存在する場合には（即ち、図５において、「ｉ０」が「ｉ」に等しくない場合）、本発明の処理はもっとも古い満杯のセグメントを転送し、ｗｒ＿ｌｉｓｔ［ｉ］の値を更新し、今転送したばかりのセグメントでｗｒ＿ｌｉｓｔを−１にセットする（このセグメントが今利用可能になったことを表わす）（要素３６と３７で表わされるステップ）。このループ（要素２４〜２８で表わされる）は全ての満杯のセグメントがテープに転送されるまで繰り返される。
この時点で、本発明の処理はビューワーへ出力するために、利用可能な高速アクセス媒体上のデータの状態をチェックする。読み出しポインタ３２の前後の両方のセグメントに対応するテープ・セグメントからのデータがロードされている場合、即ち、ディスク上に十分なプログラム情報がありビューワーが表示の「隣接している」部分に早送りや巻き戻しができる場合、処理は書き込みループ（要素３９と４３）に戻る。現在読み込んでいるセグメントの前または後ろのセグメントが読み出しに有効なデータを含まない場合、処理は利用可能なディスク・セグメントを検索して適当なテープ・セグメントを転送する（要素３９〜４６で表わされるステップ）。
このメイン処理は図６のフローチャートに詳細に示してある入力割り込み機能または図７のフローチャートに詳細に示してある出力割り込み機能により割り込みすることができる。入力割り込みは入力バッファ１６がある程度のレベルまで満杯になった時にトリガされ、入力バッファ６がオーバフローするのを防止するためデータを除去しディスクへ転送しなければならないことを表わす。各々の割り込みによりデータのブロックがディスク・セグメント「ｉ」へ順番に書き込まれ（要素４７）、この処理はディスク・セグメント「ｉ」が満杯になるまで継続する。利用可能なセグメントのリストから新しいセグメントが選択され、書き込みポインタ３３はそのセグメントの先頭に配置される。同時再生が進行中でなければ、この新規セグメントは単純に「ｉ」の値をインクリメントすることによって決定できる（要素５０と５３）。同時録画再生の間、本発明の処理は読み出しポインタ３２の現在位置からできる限り遠いところに書き込みポインタ３３を配置し（ｉ＝ｊ＋（セグメント数）／２にセットする）、最も近い空きセグメントを検索しこれを書き込み用に指定する（要素５０〜６０）。指定されたディスク・セグメントへ入力バッファ１６からデータが転送される。
同様に、出力割り込みは、出力バッファ１８がある程度のレベルまで空になってさらにプログラム情報を受信する準備ができた時にトリガされる。データは読み出しポインタ３２の現在の位置で表わされるセグメントから、出力バッファ１８へ転送される（要素６３で表わされるステップ）。本発明の好適実施例において、出力割り込みは入力割り込みより低い優先順位にして入力バッファがオーバフローするのを防止している。
出力割り込みの頻度は、ユーザが選択した再生速度によって変化する。たとえば、ポーズまたはスローモーションの間、ビデオ・データは通常レートより遅いレートで出力バッファ１８から除去され、そのため、出力バッファ１８を所望の満杯レベルに維持するにはディスクからの転送は少なくて済む。同様に、早送りまたは逆転サーチの間、デコーダ１９は高いレートで出力バッファ１８からビデオ・データを除去し、これによって出力バッファ１８がアンダーフローになるのを防止するためディスク１７からさらに頻繁な転送が要求される。ある程度の早送りまたは逆転再生速度では、デコーダ１９は利用できるデータを全部処理することができず、このような場合、デコーダ１９は幾つかの選択したフレームを無視するように制御／管理デバイス１４から指示されるか、またはこれ以外で、ディスク１７の後でデコーダ１９の前に（望ましくはディスク１７と出力バッファ１８の間に）、データ・ストリームから選択したフレームを消去するため追加の装置を挿入することができる。
ディスク・スループットは、ユーザが高速再生速度を要求した時に、入力、出力、テープバッファに同時にサービスするには不十分な可能性がある。このような場合、制御／管理デバイス１４は出力バッファ１８へデータを転送する際にデータ・ストリームの幾つかの部分にわたってスキップするようにディスクに指示することができる。理想的には、無視される部分は復号されて表示されることのないフレームとする。実際には、ディスクドライブの性能を妥協することなくこれらの境界部分を正確に指定をするのは難しい。
前述の説明において、利便のため、添字「ｍ」と「ｎ」で参照したテープ・セグメントは連続しているものと、即ちビデオ・プログラムが時間的な順序でテープ上に記録されるものと仮定した。実際には、また好適実施例において、これらのセグメントは時間的なセグメント番号をＤＶＴ２０の実際のシーケンス番号に割り当てるディレクトリを保持することによって、ランダムな順序に記憶することができる。このような方法で、ある程度ランダムに分散した「空き」セグメントをテープ２０が満杯になるまで必要に応じて割り当てることができるので、テープ２０をもっと効率的に使用できる。言い換えれば、各プログラム、恐らくは２時間の映画が、磁気メモリの一つのブロックに記憶されなければならないとしたら効率は悪くなる。幾つかのプログラムが、長さが同一ではない新規情報で上書きされた場合に特に、もっと少ない番組しか１本のテープに収まらなくなる。
前述の説明は本発明の幾つかの利点を示している。第１には、ユーザがデジタル・ビデオテープなどの大容量記憶媒体で同時に録画と再生を行うことができる。即ち、ビューワーはテープ上に記録されたプログラムを見ながら、別のプログラムを録画する、またはプログラム全体の時間より少ない時間だけ現在録画しているプログラムを時間的にシフトすることができる。さらに、本発明によればユーザは１本のビデオテープにプログラムのライブラリ全体をアーカイブし、簡単にアクセスしまた管理することができるようになる。
その他の変形
本発明の趣旨に含まれる他の実施例および変更は、本明細書で開示した図示の処理に対する更なる変形およびこれの代替を含めて、本発明の教示を参照することで当該技術の熟練者により行なえるであろう。当該実施例およびアルゴリズムは、後述の請求の範囲によってのみ制限される本発明の範囲内に含まれるものである。
【図１】
0004108121.tif 000003
【図２】
0004108121.tif 000004
【図３Ａ】
0004108121.tif 000005
【図３Ｂ】
0004108121.tif 000006
【図４】
0004108121.tif 000007
【図５】
0004108121.tif 000008
【図６】
0004108121.tif 000009
【図７】
0004108121.tif 000010