(57)【特許請求の範囲】
【請求項１】
入力されるデータストリームを記録媒体に書き込み、該記録媒体に記録されている上記データストリームを読み出し出力するデータ出力装置であって、
上記データストリームは、圧縮された映像情報を含み、
上記データ出力装置は、
入力された上記データストリームを、バッファから取得して上記記録媒体に書き込む書き込み手段と、
上記記録媒体に記録されている上記データストリームを読み出す読み出し手段と、
上記書き込み手段と上記読み出し手段とを制御する制御手段と、
を備え、
上記書き込み手段と上記読み出し手段とは上記記録媒体に対し上記データストリームの書き込みと読み出しを排他的に行い、
更に、前記データ出力装置は、
入力された映像信号を可変ビットレートで圧縮し生成された前記データストリームを前記バッファへ入力し単位時間あたりの入力データ量を通知するデータ供給手段、に接続され、
前記データ供給手段から通知される前記単位時間当たりの入力データ量と前記バッファに保持されているデータ量とに基づいて、前記バッファから保持されたデータが消費される蓄積予測時間を導出する蓄積時間予測手段を含み、
上記制御手段は、前記蓄積予測時間に応じて読み出しの実行を一時停止するよう指示し、前記読み出し処理より前記書き込み処理を優先的に実行させる、
データ出力装置。
【請求項２】
上記制御手段は、前記蓄積予測時間が予め設定された所定値より大きい場合に前記読み出しを一時停止させ、前記所定の値は前記記録媒体への書き込み最大シーク時間に基づいて定められた値である、請求項１記載のデータ出力装置。
【請求項３】
前記記録媒体は、光ディスクである請求項２記載のデータ出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶装置へのデータ書き込み読み出しを行うデータ出力装置に関し、特に、光ディスク等の記憶メディアを用いた記憶装置へのデータ書き込み読み出しを行うデータ出力装置に関するものである。
【０００２】
【従来の技術】
従来、記憶装置に対して映像音声データ等のデータの読み出しや書き込みを行うとき、該データをＯＳで決められた所定の転送データサイズ（例えば64ｋByte）に細かく分割して、転送要求のあった順に上記記憶装置に、あるいは上記記憶装置よりデータの転送を行っていた。
【０００３】
このため、上記記憶装置からデータを読み出している時に他のデータの書き込みを要求すると、細かく分割された上記データサイズ毎に読み出しと書き込みが切り替わり、そのたびに上記記憶装置のヘッドが所定の位置に移動するいわゆるシークが発生する。
【０００４】
従来は、上記記憶装置に記憶メディアとしてハードディスクを内蔵したハードディスクドライブを使用することが多く、この場合には例えばＭＰＥＧ２などの高ビットレートの動画データを同時に読み書きしても、シークに要する時間（能力の低いディスク装置で最大20m 秒程度）が上記所定サイズのデータを転送するのに要する時間（例えば所定サイズを256kByteとして最大40m 秒程度）に比較して小さく、かつデータのビットレートに対して記憶装置の転送能力が非常に高いため問題にはならなかった。このため、上記のような場合においてもシークに要する時間を考慮する必要はなかった。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記記憶装置としてＤＶＤ等の光ディスクを記憶メディアとして用いた装置を使用する場合には、上記ハードディスクドライブを使用する場合とは異なり、データを転送するのに要する時間に比較してシークに要する時間が例えば１秒前後と非常に大きく、かつ上記記憶装置の転送能力が非常に低い（例えば10.08Mbps 、従って上記所定サイズ〔64kByte 〕を転送するに要する時間は50m 秒程度）ため、例えばＭＰＥＧ２などの高ビットレートの動画データを読み出しているときに、同時に読み書きを要求すると、読み出すデータと書き込むデータのビットレートの合計が上記記憶装置の転送能力に対して同程度かそれ以上になる。さらに、読み出しと書き込みが切り替わるたびに上記記憶装置のシークが発生するため、読み出すデータと書き込むデータのビットレートの合計が上記記憶装置の転送能力に近いデータですら、上記シーク時間を考慮するとリアルタイムに読み書きすることができなかった。このため、映像音声データ等のデータストリームでは書き込みまたは読み出しが途切れるという問題があった。
【０００６】
本発明は上記の事情に鑑みて提案されたものであって、書き込み及び読み出しを行うデータストリームのリアルタイム性を保障するデータ出力装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は上記目的を達成するために以下の手段を採用している。まず、本発明は、入力されるデータストリームを記録媒体（図１では記憶装置１に装填した記憶メディア２）に書き込み、該記録媒体に記録されている上記データストリームを読み出して外部の機器へ出力するデータ出力装置を前提としている。
【０００８】
上記データストリームは、可変ビットレートで圧縮された映像情報を含み、上記データ出力装置において、入力された上記データストリームを保持する第１のバッファ３と、該第１のバッファ３に保持された上記データストリームを上記記録媒体に書き込む書き込み手段４と、外部の機器に出力する上記データストリームを保持する第２のバッファ６と、上記記録媒体に記録されている上記データストリームを上記第２のバッファ６に読み出す読み出し手段７と、上記第２のバッファ６に保持された上記データストリームに含まれる映像情報のプレゼンテーションに要する時間に基づき、当該第２のバッファ６に保持される上記データストリームが消費される時間（以下、第２の消費予測時間という）Ｗを予測する予測手段２０として第２の消費時間予測手段９と、上記書き込み手段４と上記読み出し手段７とを制御する制御手段２１として書き込み制限手段５または／および読み出し制限手段１４とを備える。
【０００９】
上記書き込み手段４と上記読み出し手段７とは上記記録媒体に対し上記データストリームの書き込みと読み出しを排他的に行い、上記制御手段２１は、予測された上記第２の消費予測時間Ｗに基づき、上記第２のバッファがアンダフローしないように上記書き込み手段４と上記読み出し手段７とを制御するようにしている。
【００１０】
更に、上記制御手段２１は、上記記録媒体に対する上記データストリームの書き込みと読み出しの交代する回数を抑制するように上記書き込み手段４と上記読み出し手段７とを制御する。
【００１１】
また、上記データストリームの所定サイズの領域を上記記録媒体へ書き込むのに要する最大の時間を第１の最大時間Ｔｗ、上記記録媒体から記録されている上記データストリームの所定サイズの領域を上記第２のバッファへ読み出すのに要する最大の時間を第２の最大時間Ｔｒとし、上記第２の最大時間Ｔｒより大きい値を第１のしきい値Ｔ１、上記第１の最大時間Ｔｗと上記第２の最大時間Ｔｒとを加えた値より大きい値を第２のしきい値Ｔ２とし、上記制御手段２１は、上記予測手段２０により予測された上記第２の消費予測時間Ｗが、上記第２のしきい値Ｔ２以上の場合は、上記第１のバッファから上記記録媒体への上記データストリームの書き込みを許可するように、上記書き込み手段４と上記読み出し手段７とを制御するようにしている。
【００１２】
更に、上記制御手段２１は、上記予測手段２０により予測された上記第２の消費予測時間Ｗが、上記第２のしきい値Ｔ２未満の場合は、上記第１のバッファから上記記録媒体への上記データストリームの書き込みを禁止し、上記記録媒体から上記第２のバッファへの上記データストリームの読み出しを許可するように、上記書き込み手段４と上記読み出し手段７とを制御するようにしている。
【００１３】
また、上記データストリームのオフセット値b01,b02,……,b0nと、該オフセット値b01,b02,……,b0nの上記データストリームがそれぞれ再生されるまでの時間a01,a02,……,a0nとを対応付けたタイムテーブルを保持するメモリを備え、上記予測手段２０が、上記第２のバッファより送出されたデータ量、および上記第２のバッファに入力されたデータ量を計測し、該送出されたデータ量および該入力されたデータ量に基づいて、上記第２のバッファに保持されている上記データストリームの先頭オフセット値b0i と最終オフセット値b0j を算出する。次に、上記タイムテーブルを参照して、上記オフセット値b0i に対応する時間a0i と、上記オフセット値b0j に対応する時間a0j とを取得して上記第２の消費予測時間a0j −a0i を算出する。
【００１４】
更に、時間「a11 〜0 」、「a12 〜a11 」、「a13 〜a12 」、…「a1n 〜a1(n-1) 」と、この各時間における上記データストリームのビットレートr11,r12,r13,…,r1nとを対応付けたタイムテーブルを保持するメモリを備え、上記予測手段２０が、上記第２のバッファより送出されたデータ量、および上記第２のバッファに入力されたデータ量を計測し、該送出されたデータ量および該入力されたデータ量に基づいて、上記第２のバッファに保持されている上記データストリームの先頭オフセット値a1i と最終オフセット値a1j を算出し、上記第２の消費予測時間a1j −a1i を算出することもできる。
【００１５】
また、上記データストリームがMPEG方式のデータストリームであるときには、上記予測手段２０が、上記第２のバッファに保持されているMPEG方式のデータストリームに含まれる再生のために利用されるタイムコードの値を取得し、該タイムコードの値に基づいて、上記第２の消費予測時間を予測することもできる。
【００１６】
ここで、上記タイムコードとしては、上記MPEG方式のプログラムストリームを構成する各パックの先頭に設けられているパックヘッダ中のシステムクロックリファレンス、または、上記MPEG方式のトランスポートストリームを構成する各トランスポートパケットのアダプテーションフィールド中のプログラムクロックリファレンス等を使用することができる。
【００１７】
更に、上記データストリームが該データストリームのブロック単位に設けられた先頭の情報フィールドに該ブロック単位の再生時のビットレート情報が記録されているデータストリームであるときには、上記予測手段２０が、上記第２のバッファに保持されているデータストリームのブロック単位毎の再生時のビットレート情報を上記情報フィールドより取得するとともに、該各ブロックのサイズを取得し、上記ビットレート情報および上記ブロックのサイズに基づいて上記第２の消費予測時間を算出することになる。
【００１８】
上記は、第２のバッファ６の送出レートがデータストリームのビットレートと同じである場合を前提としているが、データ出力装置に、上記データ出力装置から出力されるデータを再生する装置が接続してあり、上記再生装置に上記第２のバッファ６が送出するデータを一時的に保持する再生バッファ１２が接続される場合には、第２のバッファ６の送出レートとデータストリームのビットレートは同じでなくなる。この事情を考慮する場合には、送出レート検出手段が上記第２のバッファより送出する単位時間当たりのデータ量を検出し、上記予測手段２０が、上記送出レート検出手段が検出した上記第２のバッファより送出する単位時間当たりのデータ量の履歴と、上記第２のバッファに保持された上記データストリームに含まれる映像情報のプレゼンテーションに要する時間の履歴とに基づいて、上記第２の消費予測時間を予測することも可能である。
【００１９】
【発明の実施の形態】
（実施の形態１）
図１は本発明の一実施形態の全体システム構成図であり、図５は本実施の形態での処理の流れを示すフロー図である。以下図面に基づいて説明する。
【００２０】
本発明のデータ出力装置は、記憶装置１にはＤＶＤ等の記憶メディア２が装填されている。この記憶メディア２には第１のバッファ３より書き込み手段４を介して所定サイズ単位にデータストリームを書き込むことができるようになっている。
【００２１】
一方、上記記憶装置１に装填した記憶メディア２より所定サイズ単位のデータストリームが読み出し手段７によって読み出され、第２のバッファ６に一旦格納されて再生端末等の外部の機器に出力されるようになっている。
【００２２】
第２の消費時間予測手段９は、以下の３つ方法のいずれかで、上記第２のバッファに保持されている上記データストリームが消費されるまでの時間（以下、第２の消費予測時間という）を予測を行うようになっている。以下、上記データストリームが映像音声データである場合について説明する。
【００２３】
▲１▼、タイムテーブルを使用する場合。
【００２４】
上記第２の消費時間予測手段９は、現在までに上記記憶装置１から第２のバッファ６に格納したデータ量および上記第２のバッファ６よりのデータ送出量を常時監視している。
【００２５】
また、図２に示すタイムテーブルＭｔは例えば上記第２の消費時間予測手段９に格納され、読み出し対象となっている映像音声データＤｒ１の先頭からのオフセット値b01,b02,……,b0nと、該オフセット値b01,b02,……,b0nの上記映像音声データＤｒ１がそれぞれ再生されるまでの時間a01,a02,……,a0nとを対応付けて登録している。
【００２６】
上記の状態で、上記第２の消費時間予測手段９は、まず、計測した現在までに第２のバッファ６に格納したデータ量を上記映像音声データＤｒ１の第２のオフセット値b0j とし、上記第２のバッファより送出されたデータ量を上記映像音声データＤｒ１の第１のオフセット値b0i とする。次に、上記第１のオフセット値b0i と上記第２のオフセット値b0j を上記タイムテーブルと照合して、それぞれオフセット値に対応する時間a0i 、a0j より上記第２の消費予測時間(a0j−a0i)を計算する。なお、上記第１のオフセット値b0i 及び上記第２のオフセット値b0j と、上記タイムテーブルに記載されているオフセット値で一致するものがない場合は、例えば、オフセット値b01 とオフセット値b02 の間に第１のオフセット値b0i 、オフセット値b03 とオフセット値b04 の間に第２のオフセット値b0j がある場合、上記タイムテーブルのオフセット値より、第１のオフセット値b0i より大きくて一番近い値のb02 と第２のオフセット値b0j より小さくて一番近い値のb03 から上記第２の消費予測時間(a03-a02) を計算する。
【００２７】
上記タイムテーブルＭｔは、上記オフセット値と時間との関係を用いるのに代えて映像音声データＤｒ１の再生時間単位に設定される再生時のビットレート情報(r11〜r1n)を用いても構わない。この場合も、上記第２の消費時間予測手段９は、まず、計測した上記第２のバッファより送出されたデータ量、現在までに第２のバッファ６に格納したデータ量、および上記タイムテーブルＭｔより上記第２の消費予測時間を計算することができる。また上記タイムテーブルＭｔは、映像音声データＤｒ１とともに記憶メディア２に格納され、ファイルオープン時に第２の消費時間予測手段９に読み出すようにする。
【００２８】
▲２▼、MPEG方式の映像音声データ等の場合。
【００２９】
例えば、MPEG方式のプログラムストリームの映像音声データは、図３(a) に示すように映像音声データを構成するパックの先頭にあるパックヘッダの中に、MPEGデコーダが当該パックのデータを必要とする時間であるシステムクロックリファレンス（System Clock Reference、以下ＳＣＲという）を記録する領域を備えている。
【００３０】
上記MPEG方式の映像音声データは、画像の単位である１フレーム毎に所定サイズ（パック）に分割して、各パックの上記ＳＣＲ領域に、再生時にデコーダが当該パックのデータを必要とするオフセット時間を記録しながら、エンコードされる。
【００３１】
上記第２の消費予測時間は、上記第２のバッファに保持されている未送信のデータのうち、次に上記第２のバッファから送信予定のパックの上記ＳＣＲの値ＳＣＲ１と、上記記憶装置から上記第２のバッファに最後に格納されたパックの上記ＳＣＲの値ＳＣＲ２の差で算出されることになる。
【００３２】
なお、可変レートでMPEGデータを作成するときには、１フレーム分のデータを生成した後、次のフレームの開始時間までデータの生成は行われない。従って、フレームの切れ目においては、フレームの切れ目を含む前後のパックにおける上記ＳＣＲの値の差が、１フレーム内で収まる連続したパックにおける上記ＳＣＲの差（ほぼ最大ビットレート時のパックのデータサイズ分の時間になる）に比べて大きくなる。
【００３３】
ところで、デコーダはフレームごとにデコードを行なうため、上記第２のバッファにあるデータの末尾が、フレームの途中で切れていれば上記のように算出した上記第２の消費予測時間は正確ではない。そこで、各パックの上記ＳＣＲの差分から、フレームの切れ目を割り出し、該フレームの切れ目の次のパックの上記ＳＣＲの値ＳＣＲ３を算出する。このとき、該ＳＣＲの値ＳＣＲ３から上記ＳＣＲの値ＳＣＲ１を減算した値が上記第２の消費予測時間となる。
【００３４】
なお、上記MPEG方式のトランスポートストリームの場合は、上記ＳＣＲに代えて各トランスポートパケットのアダプテーションフィールド中のプログラムクロックリファレンスを使用することができる。
【００３５】
▲３▼、データの内部に再生時のビットレート情報が記録されている場合。
【００３６】
例えば、図３(b) に示すように読み出し対象の映像音声データＤｒ１は、所定サイズの複数（ｎ）個のブロック単位のデータに区切られ、上記の各ブロックＢr1, Ｂr2…には、該ブロックのビットレートやサイズを記録している情報フィールドＤf1, Ｄf1…と該ブロックの終端を示すＥＯＢ(End of block)〔尚、最後のＥＯＢはファイルの終わりを示す必要があるので、ＥＯＦ(End of file) となる〕を備えている場合について説明する。
【００３７】
この場合、上記第２の消費時間予測手段９は上記第２のバッファ６に格納された映像音声データＤｒ１の情報フィールドＤｆ1,Ｄｆ2 ・・より各ブロックのビットレートとサイズを抽出し、これらビットレートとサイズに基づいて上記第２の消費予測時間を予測する。また、情報フィールドＤｆ1,Ｄｆ2 ・・にビットレートのみが記録されている状態では、上記第２の消費時間予測手段９は上記ビットレートの抽出に加えてＥＯＢ間のサイズを抽出して上記第２の消費予測時間の予測を行うようになっている。
【００３８】
次に、図４を用いて、映像音声データの読み出し及び書き込みが同時に行われている場合の制御例を、以下に説明する。
【００３９】
上記記憶手段１に装填された上記記録メディア２より映像音声データＤｒ１を上記読み出し手段７を介して読み出し、一方、上記書き込み手段４を介して映像音声データＤｗ２を書き込んでいるとする。ここで、１回の読み出しの単位サイズＳｒ分だけ上記記憶装置１から読み出すのに必要な時間は、読み出しヘッドの位置や読み出し対象の映像音声データが格納されている上記記憶メディア２上の位置等の条件によって上記ヘッドのシーク時間が異なるため、毎回の読み出しによって異なる。同様の理由で１回の書き込みに要する時間（単位サイズＳｗ毎の書き込み）も書き込み動作ごとに異なる。
【００４０】
ここで、図４に示すように１回の単位サイズＳｒ分の読み出し時に、一回の読み出し又は書き込み実行終了直後から、次の読み出し要求又は書き込み要求が実行できる状態になるまでの最大待ち時間（以下、第１の待ち時間という）を考慮して、１回の読み出しにかかる最大（最長）時間（以下、第２の最大時間という）Ｔｒより大きい値を第１のしきい値Ｔ１として予め設定する。また、１回の書き込みの単位サイズＳｗだけ上記記憶装置１に書き込むのに要する最大（最長）時間（以下、第１の最大時間という）Ｔｗより（Ｔ２−Ｔ１）が大きい値になるように第２のしきい値Ｔ２を予め設定する。
【００４１】
ここで、例えば、
上記記憶装置１の単位時間あたりに読み出すことのできるデータ量Ｃｒ、
上記記憶装置１の単位時間あたりに書き込むことのできるデータ量Ｃｗ、
上記記憶装置１から１回の転送で読み出すデータの単位サイズＳｒ、
上記記憶装置１に１回の転送で書き込むデータの単位サイズＳｗ、
上記記憶装置１の上記第１の待ち時間ＴＤＳ、
であるとした場合について説明する。
【００４２】
次のデータの読み出しが、上記読み出し手段７によって要求されてから、上記第２のバッファ６に一旦格納されるまでに上記第２のバッファ６がアンダーフローすることのないように、上記第１のしきい値Ｔ１は、上記第２の最大時間Ｔｒより大きくなるように設定する。
【００４３】
すなわち、
Ｔ１  ＞  ＴＤＳ  ＋  Ｓｒ／Ｃｒ      …  (1)
を満たすように設定する。
【００４４】
次に、上記第２のしきい値Ｔ２は、（Ｔ２−Ｔ１）が上記第１の最大時間Ｔｗより大きくなるように設定する。
【００４５】
すなわち、
Ｔ２−Ｔ１  ＞  ＴＤＳ  ＋  Ｓｗ／Ｃｗ  …(2)
を満たすように設定する。
【００４６】
上記の条件で、上記第２の消費予測時間が上記第２のしきい値Ｔ２より小さい時に、上記書き込み手段４により書き込みが行われていなければ、上記読み出し手段７が上記記憶装置１から上記第２のバッファ６にデータを読み出す。このとき、データの読み出しは、少なくとも上記第２の消費予測時間が上記第２のしきい値Ｔ２以上になるまで連続的に行う。また、上記第２の消費予測時間が上記第２のしきい値Ｔ２以上の時は、上記記憶装置１への書き込み要求がなく、かつ第２のバッファが満杯でなければ、上記記憶装置１から上記第２のバッファ６にデータの読み出しを行い、上記第２のバッファ６が満杯であれば、データの読み出しは行わない。
【００４７】
尚、データの読み出し終了が検出された場合は、たとえ上記第２の消費予測時間が上記第２のしきい値Ｔ２より小さい場合であっても読み出しは行わない。データの読み出し終了検出は、ＥＯＦ検出手段１１が映像音声データＤｒ１のＥＯＦ(End of File）を検出（図６の信号ｒ0 参照）、或いは上記第２の消費時間予測手段９が消費データ量０を検出（図１、信号Ｓ0 参照）することで行われる。
【００４８】
次に、書き込み対象の映像音声データＤｗ２の書き込みの制御について説明する。書き込み制限手段５は、上記第２の消費時間予測手段９が算出した第２の消費予測時間を常時モニタしており、該第２の消費予測時間が上記第２のしきい値Ｔ２より小さいとき書き込み禁止グラグＦw を立て、これによって書き込み手段４が書き込みを制限する（図５、ステップＳ１→Ｓ６）。このとき、上記第２の消費予測時間が上記第１のしきい値Ｔ１以上Ｔ２未満の場合、実行中の上記記憶装置への書き込みは実行され、新たな書き込みが禁止されることになる（ステップＳ７→Ｓ８→Ｓ９）。
【００４９】
更に、上記第２の消費予測時間が上記第１のしきい値Ｔ１より小さいときは、上記書き込み制限手段５は上記書き込み手段４に対して、実行中の上記記憶装置への書き込みについても実行を一時停止するように指示する（ステップＳ７→Ｓ１０→Ｓ１１）。
【００５０】
また、上記第２の消費予測時間が上記第２のしきい値Ｔ２より大きいとき上記書き込み禁止グラグＦw を下ろし（ステップＳ１→Ｓ２）、上記書き込み手段４の書き込み禁止を解除する。尚、ＥＯＦ検出手段１１又はＥＯＦ(End of File）によってデータ読み出し終了が検出されたときは、上記第２の消費予測時間が時間Ｔ２より小さくても、上記書き込み禁止グラグＦw を下ろす。
【００５１】
上記の構成において、書き込み対象の映像音声データＤｗ２の書き込みが開始されると、第１のバッファ３に一旦格納される。上記書き込み手段４は、所定サイズ単位のデータ書き込み時毎に、上記書き込み禁止グラグＦw が立っているか否かのチェックを行い、上記書き込み禁止グラグＦw が立っていなければ、上記第１のバッファ３に一旦格納されたデータを上記記憶装置１に装填された上記記憶メディア２に書き込む。一方、上記書き込み禁止グラグＦw が立っている場合には、上記書き込み手段４は書き込みを行わない。
【００５２】
上記第１のバッファ３に格納されたデータがなくなるまで、以上の動作を繰り返して、上記記憶手段１への書き込みが行われる。
【００５３】
以上のように、映像音声データＤｒ１の読み出し中には、上記第２の消費予測時間に基づいて、上記記憶装置１への映像音声データＤｗ２の書き込みを一時的に制限することにより、読み出し中の映像音声データＤｒ１のリアルタイム性が保障される。
【００５４】
（実施の形態２）
上記実施の形態１では読み出し側の事情によって、一方的に書き込みを制限するか否かのみを決定したが、以下のように、必ずしも全面的に書き込みを制限する必要がない場合がある。
【００５５】
本実施の形態では、図６に示すように上記実施の形態１の構成に加えて、上記記憶装置１の第１の待ち時間、及び単位時間あたりに書き込むことのできるデータ量が予め登録された第１の消費時間予測手段１０を備えた構成としている。
【００５６】
上記第１の消費時間予測手段１０は、上記登録された情報と、上記第１のバッファ３に一旦保持されているデータの量Ｓｗ２に基づいて、上記第１のバッファ３から上記記憶装置１にデータを書き込むのに要する時間（以下、第１の消費予測時間という）を算出し、該第１の消費予測時間を上記書き込み制限手段５に通知する。ここで、上記第１の消費予測時間は、
ＴＤＳ  ＋  Ｓｗ２／Ｃｗ
で算出することができる。
【００５７】
一方、上記第２の消費時間予測手段９が予測した第２の消費予測時間の現在値Ｔａも上記書き込み制限手段５に通知され、上記実施の形態１と同様に上記現在値Ｔａが上記第２のしきい値Ｔ２未満であるときに、上記書き込み制限手段５は書き込み禁止グラグＦw を立て、書き込み手段４は、上記書き込み禁止フラグＦw が立って入れは、書き込みを禁止するようになっている。また、上記第２のしきい値Ｔ２以上であるときも上記実施の形態１と同様である。
【００５８】
ここで、映像音声データの読み出しおよび書き込みが同時に行われている場合の制御例を、以下に説明する。
【００５９】
上記第２の消費予測時間の現在値Ｔａが上記第２のしきい値Ｔ２以上になり、上記書き込み禁止が解除された状態において、上記第１の消費予測時間がＴａ−Ｔ１より小さい場合、上記書き込み制限手段５は、上記書き込み手段４が上記第１のバッファ３にすでに書き込まれているデータ全てを連続して上記記憶装置１に書き込む制御を行なう。
【００６０】
これに対して、上記第１の消費予測時間がＴａ−Ｔ１以上の場合、上記書き込み制限手段５は、上記書き込み手段４がＴａ−Ｔ１の時間で書き込むことのできるデータ量、すなわち、（Ｔａ−Ｔ１−ＴＤＳ）／Ｃｗ以下のサイズのデータ量を連続して上記記憶装置１に書き込む制御を行なう。
【００６１】
上記ように連続書き込みを行なうと、上記記憶装置１に単位サイズＳｗでＮ回分のデータを書き込むのに要する時間は、上記第１の待ち時間が最初の単位サイズＳｗに対してのみ必要であり、後続の書き込みには不要であるので、Ｎ×Ｔｗ（Ｔｗ：単位サイズＳｗを書き込むに要する時間、すなわち上記式２にいうＴＤＳ＋Ｓｗ／Ｃｗ）より小さい値になる。
【００６２】
以上のように、上記第１の消費予測時間と第２の消費予測時間を予測し、連続書き込みを行なう時間が確保できると判定した場合には、データを連続に上記記憶装置１に書き込む。これによりデータの書き込み効率を上げるという効果が得られる。
【００６３】
（実施の形態３）
上記各実施の形態は、上記第２のバッファから先の機器での処理状態を考慮しない記述となっているが、上記第１のバッファ６に対して再生装置のバッファ（再生バッファ）が直接あるいはネットワークを介して接続される場合は、上記再生バッファの状態を考慮する必要がある。
【００６４】
図７は本発明の他の実施形態の全体システム構成図であり、以下図面に基づいて説明する。
【００６５】
本実施の形態では、上記実施の形態１あるいは２の構成に加えて、図７に示すように、再生側に再生バッファ１２を備えた構成としている。
【００６６】
この構成において、図８(a) に示すように、現在、上記再生バッファ１２には、単位時間当たりに再生で費やすデータ量（以下、ビットレートという）が可変であるデータが保持されており、それらのビットレートがｒ１、ｒ２、ｒ３の順にデータが任意のサイズで連続的で、現在においては、ビットレートｒ１のデータが再生中であるとする。一方、上記第２のバッファ６には、ビットレートがｒ４、ｒ５、ｒ６の順に任意のサイズで連続的に保持されており、上記再生バッファ１２上に保持されたビットレートｒ３のデータの次に、ビットレートｒ４のデータが、上記第２のバッファ６から上記再生バッファ１２に送出されているとして以下説明する。
【００６７】
この状態では図８(b) に示すように上記第２のバッファ６から送出される単位時間当たりのデータ量（以下、送出レートという）は、現在送出中のデータのビットレートｒ４ではなく、再生中のデータのビットレートｒ１と同じ値になる。更に、ビットレートｒ１のデータの再生が終わり、ビットレートｒ２のデータの再生が始まると、上記第２のバッファから送出されるデータの送出レートは、ｒ２になる。送出レートは、ビットレートｒ２のデータの再生が終わるとｒ３に、ビットレートｒ３のデータの再生が終わるとｒ４になる。つまり、第２バッファ６から送出される送出レートは、現在再生中のデータのビットレートと等価になる。従って、ある遅延時間後に、第２のバッファ６から送出されるデータの送出レートは、過去に上記遅延時間前に送出されたデータのビットレートにすべきである。
【００６８】
そこで、画像データに予め記録されているビットレート値を、第２のバッファ６に保持されたデータから送出レート検出手段１３によって抽出し、その履歴を記憶しておく。一方、上記第２の消費時間予測手段９は第２のバッファ６より送出される単位時間あたりのデータ量より、現在送出中のデータの送出レートを算出する。更に、上記第２の消費時間予測手段９は上記履歴と上記送出レートとの値に変化が生じるタイミングの時間差から、上記第２のバッファ６から送出されたデータが実際に再生されるまでの時間（以下、遅延時間という）を予測することができる。そこで、上記第２の消費時間予測手段９は、上記遅延時間、上記履歴、および現在第２のバッファ６に保持されているデータ量より、上記第２の消費予測時間を算出することになる。
【００６９】
以上、データ中にビットレートが書き込まれている場合について説明したが、その他の場合には、ビットレートの履歴は、以下のようにして記録する。
【００７０】
まず、上記第２のバッファ６上の一部データの上記ビットレート（区間ビットレート）は、算出すべき第２のバッファ６上のデータ量（区間蓄積量）と、上記各実施の形態と同様にして得られる上記データ量に相当する第２の消費予測時間（区間データ消費予測時間）より求めることができる。すなわち、
区間ビットレート＝区間蓄積量／区間データ消費時間予測
である。上記送出レート検出手段１３は、この区間ビットレートを算出し、その履歴を記憶しておく。その後の処理は上記の場合と全く同様である。
【００７１】
以上によって、上記第２のバッファ６の先に更に再生バッファ１２が接続されている場合であっても、上記第２のバッファ６での消費予測が可能となる。
【００７２】
（実施の形態４）
以上は読み出し対象の映像音声データが１つの場合について説明したが、読み出し対象の映像音声データが複数ある場合についても、同様に考えることができる。
【００７３】
この場合も、上記実施の形態１と同様に、１回の読み出しの単位サイズＳｒ分だけ記憶装置１から読み出すのに要する最大（最長）時間Ｔｒより大きい値を上記第１のしきい値Ｔ１とし、１回の書き込みの単位サイズＳｗだけ記憶装置１に書き込むのに要する最大（最長）時間Ｔｗより（Ｔ２−Ｔ１）が大きい値になるように上記第２のしきい値Ｔ２を予め設定する。
【００７４】
ここで、１個の映像音声データＤｗ０の書き込みと、ｎ個の映像音声データＤｒ１〜Ｄｒｎの読み出しがある場合を例に更に説明する。図１０に示すように、書き込み対象の映像音声データＤｗ０は、一時的に第１のバッファ３に保持され、更に、書き込み手段４を介して記憶メディア２に記録される。また、上記書き込み手段４は書き込み制限手段５によって以下に説明するように書き込みの可否が制御されるようになっている。
【００７５】
一方、読み出し対象の映像音声データＤｒ１〜Ｄｒｎは、それぞれ、読み出し手段７−１〜７−ｎを介して一時的に第２のバッファ６−１〜６−ｎに保持された後、外部に送出されるようになっている。また、上記各第２のバッファ６−１〜６−ｎに対応して、それぞれ第２の消費時間予測手段９−１〜９−ｎが備えられており、上記各第２のバッファ６−１〜６−ｎの上記第２の消費予測時間が演算されるようになっている。更に、上記各第２の消費時間予測手段９−１〜９−ｎの出力は読み出し制限手段１４に入力され、上記読み出し制限手段１４は各読み出し手段７−１〜７−ｎを制御するようになっている。
【００７６】
ここで、図９に示すように上記第２の消費時間予測手段９−１〜９−ｎより得られる上記第２の消費予測時間Ｔａ１〜Ｔａｎのうち少なくとも１つが上記Ｔ２を下回ると、読み出し制限手段１４は書き込み制限手段５に対して、書き込みを禁止するグラグＦw を立て、これによって、書き込み手段４に対して書き込みの制限をするようになっている。
【００７７】
以上により、複数の読み出し対象の映像音声データＤｒ１〜Ｄｒｎがある場合であっても、連続的な読み出しを保障するために書き込みを制限できるという効果が得られる。
【００７８】
（実施の形態５）
上記の実施の形態４では書き込みを制限する場合について説明したが、図１０に示す構成では複数の読み出し対象の映像音声データ相互の関係から、読み出しに対しての制限を加えることができるようになっている。
【００７９】
まず、上記各実施の形態と同様、１回の読み出しの単位サイズＳｒ分だけ記憶装置１から読み出すのにかかる最大（最長）時間Ｔｒより大きい値を第１のしきい値Ｔ１とし、１回の書き込みの単位サイズＳｗだけ記憶装置１に書き込むのに要する最大（最長）時間Ｔｗより（Ｔ２−Ｔ１）が大きい値になるように第２のしきい値Ｔ２を予め設定する。更に、読み出し対象となる映像音声データＤｒ１〜Ｄｒｎに、予め優先順位をつけておく。
【００８０】
上記実施の形態４で説明した第２の消費時間予測手段９−１〜９−ｎより得られる第２の消費予測時間は読み出し制限手段１４に入力され、この入力を受けた読み出し制限手段１４は上記第２の消費予測時間Ｔａ１〜Ｔａｎのうち上記第２のしきい値Ｔ２を下回る映像音声データＤｒｋが１つの場合は、第２の消費予測時間が上記第２のしきい値Ｔ２を下回らない映像音声データの第２のバッファ６−１〜６−ｎ（下記６−ｋを除く）への記憶装置１からの読み出しを禁止する。そして、上記記憶装置１からの読み出しは、第２の消費予測時間が上記第２のしきい値Ｔ２を下回る第２のバッファ６−ｋ（映像音声データＤｒｋに対応）に対して行なわれる。
【００８１】
上記第２の消費予測時間Ｔａ１〜Ｔａｎのうち第２の消費予測時間が上記第２のしきい値Ｔ２を下回る映像音声データが複数ある場合は、第２の消費予測時間が上記第２のしきい値Ｔ２を下回らない映像音声データの第２のバッファへの読み出しを禁止して、第２の消費予測時間が上記第２のしきい値Ｔ２を下回る映像音声データの第２のバッファへの読み出しを、上記優先順位の高いものから順番に行なう。
【００８２】
以上により、複数の読み出し要求がある場合に、予め設定した優先順位の高いデータのリアルタイム性を保証できるという効果が得られる。尚、上記優先順位は、例えばファイルオープンの順番になるように設定してもよいし、あるいは、特定の映像音声データに対応するファイル作成時に設定しておくことでもよい。
【００８３】
（実施の形態６）
本発明は書き込み対象の映像音声データが複数であって、読み出し対象の映像音声データが１つである場合にも適用することができる。
【００８４】
上記各実施の形態と同様、１回の読み出しの単位サイズＳｒ分だけ記憶装置１から読み出すのにかかる最大（最長）時間Ｔｒより大きい値を第１のしきい値Ｔ１とし、１回の書き込みの単位サイズＳｗだけ記憶装置１に書き込むのに要する最大（最長）時間Ｔｗより（Ｔ２−Ｔ１）が大きい値になるように第２のしきい値Ｔ２を予め設定する。
【００８５】
更に、上記第１のバッファ３−１〜３−ｎがｎ個あるとき、第３のしきい値Ｔ３を、
Ｔ３  ＞  ｎ  ｘ  （ＴＤＳ  ＋  Ｓｗ／Ｃｗ）
を満たすように設定する。
【００８６】
現在、１個の読み出し対象の映像音声データＤｒ０と、書き込み対象のｎ個の映像音声データＤｗ１〜Ｄｗｎがあると仮定する。図１１に示すように、読み出し対象の映像音声データＤｒ０は、読み出し手段７を介して第２のバッファ６に一時保持された後送出される。また、上記第２の消費時間予測手段９は、上記各実施の形態と同様に上記第２の消費予測時間を算出するようになっている。
【００８７】
一方、データ供給手段１７−１〜１７−ｎより入力される書き込み対象の映像音声データＤｗ１〜Ｄｗｎは、それぞれ第１のバッファ３−１〜３−ｎに一時的に保持され、それぞれ書き込み手段４−１〜４−ｎを介して記憶手段１に書き込まれるようになっている。
【００８８】
そして、上記各第１のバッファに対応して、第１の蓄積時間予測手段１５−１〜１５−ｎを備えており、該第１の蓄積時間予測手段１５−１〜１５−ｎは上記各第１のバッファ３−１〜３−ｎに保持されているデータ量を計測する。また、上記第１の蓄積時間予測手段１５−１〜１５−ｎは上記データ供給手段１７−１〜１７−ｎより上記各第１のバッファ３−１〜３−ｎへの単位時間当たりのデータ供給量に関する情報を蓄積レートとして受け取る。更に、上記第１の蓄積時間予測手段１５−１〜１５−ｎは上記蓄積レート、および現在上記各第１のバッファ３−１〜３−ｎに保持されているデータ量から、第１のバッファ３−１〜３−ｎが満杯になる時間（以下、第１の蓄積予測時間という）ｔ３−１〜ｔ３−ｎを予測して、上記書き込み制限手段５に通知する。該書き込み制限手段５では以下に説明するように所定の条件下で上記書き込み手段４−１〜４−ｎに対して書き込みの禁止を加えるようになっている。
【００８９】
ここで、上記蓄積レートとして、以下の情報が使用される。すなわち、上記第１のバッファ３−１〜３−ｎにデータを供給している上記データ供給手段１７−１〜１７−ｎが、単位時間あたりの上記第１のバッファ３−１〜３−ｎに入力するデータ量の情報を通知できる場合、上記第１の蓄積時間予測手段１５−１〜１５−ｎは、上記データ供給手段１７−１〜１７−ｎから通知される情報を蓄積レートとする。また、上記データ供給手段１７−１〜１７−ｎが、単位時間あたりの第１のバッファ３−１〜３−ｎに入力するデータ量の情報を通知できない場合、上記第１の蓄積時間予測手段１５−１〜１５−ｎは、予め設定された値を上記蓄積レートとする。
【００９０】
以上の条件下で書き込み処理をする場合について以下に説明する。
【００９１】
上記第２の消費予測時間が上記第２のしきい値Ｔ２未満の場合には、上記記憶装置１から読み出しを行うとともに、上記書き込み制限手段５は上記各書き込み手段４−１〜４−ｎに対して書き込みの禁止をかけ、データの書き込みを禁止する。
【００９２】
次に、第２の消費時間予測手段９の第２の消費予測時間がＴ２を以上の場合には以下のように制御を行なう。
【００９３】
上記書き込み制限手段５は、上記第１の蓄積予測時間ｔ３−１〜ｔ３―ｎの値が最も小さい上記第１のバッファ３−１〜３−ｎから順番に、或いは、予め設定した優先順位が高い上記映像音声データから順番に、上記記憶装置１にデータを書き込む。
【００９４】
このとき、図１２に示すように上記第１の蓄積予測時間が上記第３のしきい値Ｔ３以下になった上記第１のバッファ３−１〜３−ｎについては、上記記憶装置１への書き込みを停止する。尚、上記優先順位はデータを書き込もうとするユーザによって書き込み制限手段５に設定される。
【００９５】
上記のように、書き込みを停止することで、上記記憶装置１から読み出す映像音声データのリアルタイム性を保障するとともに、上記第１のバッファ３の状態に応じて、あるいは映像音声データに付した優先順位に対応して上記記憶装置１に書き込むことができるという効果が得られる。
（実施の形態７）
上記は、主として書き込みの制限を行う場合についての実施の形態であるが、本発明は以下に説明するように、読み出しの制限についても適用することができる。
【００９６】
ここで、上記第１の最大時間Ｔｗより大きい値を第４のしきい値Ｔ４とし、上記第２の最大時間Ｔｒより（Ｔ５−Ｔ４）が大きい値になるように第５のしきい値Ｔ５を予め設定する。
【００９７】
現在、１個の映像音声データＤｒ１の読み出しと、１個の映像音声データＤｗ２の書き込みがあると仮定する。上記読み出し対象の映像音声データＤｒ１は、上記各実施の形態と同様、上記読み出し手段７を介して上記第２のバッファ６に一旦保持され、その後上記第２のバッファ６より送出される。また、上記第２の消費時間予測手段９は、上記各実施の形態と同様に上記第２の消費予測時間を算出するようになっている。
【００９８】
一方、上記書き込み対象の映像音声データＤｗ２は、上記第１のバッファ３に一時的に保持され、書き込み手段４を介して記憶手段１に書き込まれる。また、読み出し制限手段１４は以下のように状況に応じて上記読み出し手段７の動作を制御する。更に、上記第１の蓄積時間予測手段１５は、上記第１のバッファ３に保持される単位時間当たりのデータ量、すなわち上記蓄積レートに基づいて上記第１の蓄積予測時間を算出するようになっている。
【００９９】
上記において、上記第１の蓄積時間予測手段１５による上記蓄積レートの決定の方法は上記の実施の形態６と同様である。
【０１００】
ところで、上記読み出し制限手段１４は、上記第１の蓄積予測時間をモニタしており、該第１の蓄積予測時間が上記第５のしきい値Ｔ５より小さいとき読み出し禁止グラグＦr を立てる。これによって読み出し手段７が読み出しを制限する。このとき、上記第１の蓄積予測時間が上記第４のしきい値Ｔ４以上の場合、実行中の上記記憶装置からの読み出しは実行され、新たな読み出しが禁止されることになる。
【０１０１】
更に、上記第１の蓄積予測時間が上記第４のしきい値Ｔ４より小さいときは、上記読み出し制限手段１４は上記読み出し手段７に対して、実行中の上記記憶装置からの読み出しについても実行を一時停止するように指示する。
【０１０２】
また、上記第１の蓄積予測時間が上記第５のしきい値Ｔ５より大きいとき上記読み出し禁止グラグＦr を下ろし、上記読み出し手段７の読み出し禁止を解除する。
【０１０３】
以上のように、本データ出力装置に対して、書き込み優先で映像音声データの読み書きがされているとき、映像音声データの書き込みが保障できるという効果が得られる。
【０１０４】
尚、上記第３の実施の形態において、第２のバッファ６が複数備えられることも当然予測することができる。
【０１０５】
【発明の効果】
以上説明したように、本発明は映像音声データの読み書きが行われているとき、読み出しバッファ（第２のバッファ）でのデータ消費時間が所定値以下になると、上記書き込みを禁止して読み出される映像音声データのリアルタイム性が保障できるという効果が得られる。
【０１０６】
また、読み出しバッファの先に更に再生バッファが接続されている場合には、読み出しバッファより送出される映像音声データの送出レートの履歴をとることによって、読み出しバッファでのデータの消費時間を正確に予測することが可能となり、上記同様に映像音声データのリアルタイム性が保障できるという効果が得られる。
【０１０７】
また、読み出し対象の映像音声データが複数ある場合であっても、いずれか１つの映像音声データに対応する読み出しバッファ（第２のバッファ）でのデータ消費時間が所定値以下となる場合に、上記書き込みを禁止して読み出される映像音声データのリアルタイム性が保障される。
【０１０８】
また、書き込み対象の映像音声データが複数ある場合でても、上記読み出しを優先することによって、読み出される映像音声データのリアルタイム性が保障することは勿論である。更に、書き込みが可能な場合であっても書き込みバッファ（第１のバッファ）への蓄積予測時間が所定値以下の場合は書き込みを禁止することによって、書き込み回数が増えることを防止している。
【０１０９】
更に、この発明は書き込み処理のリアルタイム性を確保することもできる点で有利である。
【図面の簡単な説明】
【図１】本発明の一実施の形態の構成を示すブロック図である。
【図２】本発明の第２の消費予測時間を説明するための概念図である。
【図３】本発明の第２の消費予測時間を説明するための概念図である。
【図４】本発明の制御手段の動作を説明するための概念図である。
【図５】本発明の一実施の形態を示すフローチャートである。
【図６】本発明の他の実施の形態の構成を示すブロック図である。
【図７】本発明の他の実施の形態を示すブロック図である。
【図８】本発明の第２の消費予測時間の補正を説明するための概念図である。
【図９】本発明の複数の第２の消費予測時間と書き込み禁止との関係を示す概念図である。
【図１０】本発明の読み出し対象の映像音声データが複数である場合の実施の形態を示すブロック図である。
【図１１】本発明の書き込み対象の映像音声データが複数である場合の実施の形態を示すブロック図である。
【図１２】図１１の場合の第１の蓄積予測時間と書き込み禁止との関係を示す概念図である。
【図１３】本発明の読み出し側を制御する場合の実施の形態を示すブロック図である。
【図１４】図１３の場合の蓄積予測時間と読み出し禁止との関係を示す概念図である。
【符号の説明】
１    記憶装置
２    記憶メディア
３    第１のバッファ
４    書き込み手段
５    書き込み制限手段
６    第２のバッファ
７    読み出し手段
９    第２の消費時間予測手段
１０    第１の消費時間予測手段
１１    ＥＯＦ検出手段
１２    再生バッファ
１３    送出レート検出手段
１４    読み出し制限手段
１５    第１の蓄積時間予測手段
１７    データ供給手段
２０    予測手段
２１    制御手段
【図１】
0004176242.tif 000002
【図２】
0004176242.tif 000003
【図３】
0004176242.tif 000004
【図４】
0004176242.tif 000005
【図５】
0004176242.tif 000006
【図６】
0004176242.tif 000007
【図７】
0004176242.tif 000008
【図８】
0004176242.tif 000009
【図９】
0004176242.tif 000010
【図１０】
0004176242.tif 000011
【図１１】
0004176242.tif 000012
【図１２】
0004176242.tif 000013
【図１３】
0004176242.tif 000014
【図１４】
0004176242.tif 000015