(57)【特許請求の範囲】
【請求項１】
データを処理して送信する装置とデータ担体用書き込み装置との間の速度差を補償するため、該書き込み装置の内部メモリ（バッファ）の状態を監視する方法において、
書き込み装置の動作フェーズ中に時間を測定するステップと、
送出された書き込み命令の個数を計数するステップと、
内部メモリ状態のチェックとチェックの間および／またはチェック後、該内部メモリの状態の最後のチェック以降まえもって定められたまたはまえもって設定可能な時間またはまえもって定められたまたはまえもって設定可能なタイムインターバルのあとで、書き込み速度、内部メモリのサイズおよび送出された書き込み命令の個数を使用して、その時点での状態を計算するステップとを有することを特徴とする、
書き込み装置の内部メモリの状態を監視する方法。
【請求項２】
内部メモリの状態を式
Xneu = Xalt + (A * B) - (t * Y)
に従い計算し、ここで Xneu は現時点での占有サイズをバイトで表し、Xalt は直前のチェック時点での占有サイズをバイトで表し、A は Xalt 以降に伝送されたブロックの個数、B は伝送されたブロックのブロックサイズをバイトで表し、t は時間を秒で表し、Y は毎秒の書き込み速度をバイトで表す、請求項１記載の方法。
【請求項３】
書き込み装置における内部メモリの占有サイズとして値Ｘを規則的なタイムインターバルで新たに読み出し、新たな基準値として使用する、請求項１または２記載の方法。
【請求項４】
「占有バッファサイズ読み出し」という命令実行のための時間を測定し、それに応じて該命令を比較的長いおよび／またはまえもって設定可能な期間後に呼び出し、その間は前記の式を用いてサイズを計算する、請求項１から３のいずれか１項記載の方法。
【請求項５】
内部メモリのメモリスペース占有率が１００％以下となるよう、データを処理して送信する機器から該内部メモリへのデータを捕捉する、請求項１から４のいずれか１項記載の方法。
【請求項６】
データを処理して送信する装置とデータ担体用書き込み装置との間の速度差を補償するため、該書き込み装置の内部メモリ（バッファ）の状態を監視するための監視装置において、
該書き込み装置は制御部を有し、
該制御部は、次のような制御部を備えていること、すなわち、
書き込み装置の少なくとも動作フェーズにおいて時間を測定する時間測定装置と、
送出された書き込み命令の個数を計数する計数装置と、
内部メモリ状態のチェックとチェックの間および／またはチェック後、該内部メモリ状態の最後のチェック以降まえもって定められたまたはまえもって設定可能な時間またはまえもって定められたまたはまえもって設定可能なタイムインターバルのあとで、書き込み速度、内部メモリのサイズおよび送出された書き込み命令の個数を使用して、その時点での状態を計算するための計算装置とを有する制御部を備えていることを特徴とする、
書き込み装置の内部メモリの状態を監視する装置。
【請求項７】
前記時間測定装置と、計数装置と、計算装置は、前記書き込み装置の制御部に実装されているソフトウェアを介して互いに結合されており、
該計算装置は、以下の式
Xneu = Xalt + (A * B) - (t * Y)
に従って、前記内部メモリの状態を計算するように構成されており、
ここで Xneu は現時点での占有サイズをバイトで表し、Xalt は直前のチェック時点での占有サイズをバイトで表し、A は Xalt 以降に伝送されたブロックの個数、B は伝送されたブロックのブロックサイズをバイトで表し、t は時間を秒で表し、Y は毎秒の書き込み速度をバイトで表す、
請求項６記載の監視装置。
【請求項８】
書き込み装置における内部メモリの占有サイズとして規則的なタイムインターバルで読み出される値Ｘは新たな基準値である、請求項６または７記載の監視装置。
【請求項９】
内部メモリに対するデータを捕捉する装置がデータを処理して送信する機器に統合されており、該装置は内部メモリのメモリスペース占有率が１００％以下になることを保証する装置である、請求項６から８のいずれか１項記載の監視装置。
【請求項１０】
前記データ担体はＣＤ（Compact Disc）またはＤＶＤ（Digital Versatile Disk）であり、
データ担体用書き込み装置はＣＤライタ、読み出しモードをもつＣＤライタ、ＤＶＤライタ、または読み出しモードをもつＤＶＤライタである、
請求項６から９のいずれか１項記載の監視装置。
【請求項１１】
データを処理して送信する装置とデータ担体用の書き込み装置との間の速度差を補償するために該書き込み装置の内部メモリ（バッファ）のその時点の状態を求める方法において、
該内部メモリの状態のその時点より前のチェックから経過した時間（ｔ）を測定するステップと、
該内部メモリの状態のその時点より前のチェックから伝送されたブロックの数（Ａ）を計数するステップと、
該内部メモリの早期のチェック時の該内部メモリの状態と、計数された該ブロックの数（Ａ）と、伝送された該ブロックのブロックサイズと、書き込み速度（Ｙ）と、時間（ｔ）とを使用して、該内部メモリのその時点の状態を計算するステップ
とを有することを特徴とする方法。
【請求項１２】
計算する前記ステップを、式 Xneu = Xalt + (A * B) - (t * Y) にしたがって実施し、
ここで  Xneu は、バイトで表されるその時点の占有サイズであり、Xalt は、バイトで表される最後のチェックの時点での占有サイズであり、A は、Xalt以降に伝送されたブロックの数であり、B は、バイトで表される伝送されたブロックのブロックサイズであり、t は、秒で表される時間であり、Y は、毎秒バイトで表される書き込み速度である、請求項１１記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを処理して送信する装置とデータ担体用書き込み装置との間の速度差を補償するため該書き込み装置の内部メモリ（バッファ）の状態を監視する方法、ならびにデータを処理して送信する装置とデータ担体用書き込み装置との間の速度差を補償するため該書き込み装置の内部メモリ（バッファ）の状態を監視する装置に関する。
【０００２】
【従来の技術】
データ担体書き込み用の公知のソフトウェアプログラムの場合には書き込みプログラムによって、各書き込み命令後あるいはそのつど２つまたは３つの書き込み命令後、問い合わせ命令が送られる。これによればこの問い合わせ命令によって、使用されている内部メモリのサイズが求められる。その結果はユーザに示されるかまたは書き込み装置の制御に利用される。問い合わせ命令はインタフェースに応じて数ｍｓかかる。その際、問い合わせに時間がかかりすぎ、そのために書き込みに失敗して、いわゆるバッファアンダーラン（Buffer-Underrun）の発生する可能性がある。この場合、書き込み装置の内部メモリ（バッファ）は空であり、書き込み装置はデータがないことからそのタスクを続けることができず、データ担体の書き込みを中断しなければならない。対象とするデータ担体はその種のエラーが発生すると一般に使用不可能になってしまい、これはいくつかの書き込み装置またはプログラムは、該当するセッションをなんとか自動的にクローズして少なくともそれまで書き込まれているデータはアクセスできるようにしようとしているにもかかわらず、そうなってしまう。
【０００３】
別の方法によれば（"Burn-Proof" または "Just Link" も参照）、バッファアンダーランを回避しようとしている。この場合、内部メモリ内におけるデータ量が所定の値を下回ると、データ担体書き込み用レーザが止められる。この値はたとえば１０％の占有率であって、その場合には内部メモリ内容の９０％が空となる。占有率がこの値を超えてはじめて、書き込みプロセスが再び始められる。これはバッファアンダーランが回避されるよう、まったく任意の頻度で生じる可能性がある。
【０００４】
【発明が解決しようとする課題】
本発明の課題は、データ担体用書き込み装置の内部メモリの状態をいつでも知ることができるようにし、その際に伝送バスに対する要求を抑えるようにした方法および装置を提供することにある。
【０００５】
【課題を解決するための手段】
本発明によればこの課題は、少なくとも書き込み装置の動作フェーズ中に時間を測定し、送出された書き込み命令の個数を計数し、内部メモリ状態のチェックとチェックの間およびまたはチェック後、最後のチェック以降まえもって定められたまたはまえもって設定可能な時間またはまえもって定められたまたはまえもって設定可能なタイムインターバルのあとで、書き込み速度、内部メモリのサイズおよび送出された書き込み命令の個数のその時点での状態を求めることにより解決される。
【０００６】
【発明の実施の形態】
本発明により達成される利点は殊に、データ担体用書き込み装置たとえばＣＤ（Compact Disc）／ＤＶＤ（Digital Versatile Disk）レコーダ、ＣＤ／ＤＶＤライタあるいはＣＤ／ＤＶＤ焼き器と呼ばれる書き込み装置において、使用されている内部メモリ（バッファ）のサイズがわかっている点にある。このサイズを、書き込みプロセスに関していっそう多くの情報を与える目的でユーザに示すことができる一方、書き込みプロセス（焼き込みプロセス）を制御するために使用することもできる。
【０００７】
上記のようなデータ担体を書き込むためにたとえば以下の方式が適用される：−トラックアットワンス（Track-At-Once）この場合、記録を行うレーザビームは１つのトラックが書き込まれるたびにスイッチオフされ、新たなトラックの書き込み時にスイッチオンされるので、個々のトラック間に導入ブロックと終結ブロック（Run-in/Run-out Block）が書き込まれる。
【０００８】
−ディスクアットワンス（Disc-At-Once）この場合、複数のトラックがレーザビームのスイッチオフを伴わずに書き込まれてデータ担体が自動的に終結するので、それ以上のトラックをさらに追加することはできない。
【０００９】
−セッションアットワンス（Session-At-Once）この場合、１つの完全なセッション（リードイン Lead-In、プログラム領域およびリードアウト Lead-Out から成るデータまたはオーディオという任意のタイプの１つまたは複数のトラック）が連続的に書き込まれ、データ担体には複数のセッション（マルチセッション）を設けることができる。
【００１０】
−パケットライティング（Packet-Writing）この場合、上述の方式よりも非常に小さいブロックが書き込まれる。
【００１１】
これらの方式の適用にあたり、書き込むべきデータたとえばビデオ、オーディオ、プログラム、データベース等がリアルタイムで書き込み装置に伝送され、ついで書き込み装置はデータをＣＤまたはＤＶＤに書き込む。書き込みの前に記憶装置は、インタフェースたとえばＩＤＥ，ＳＣＳＩ，ＩＥＥＥ１３９４またはＵＳＢを介して伝送されたデータを内部メモリ（バッファ）に格納する。この内部メモリからデータはデータ担体に格納される。書き込み装置における未使用内部メモリが内部メモリ全体のサイズに近づくと、つまりその内部メモリ内にほとんど僅かなデータしか存在しないようになってしまうと、先に述べたバッファアンダーランになる可能性がいっそう高くなる。内部メモリが空になるとレーザはその書き込みプロセスを中止し、バッファアンダーランが発生する。したがってデータ担体あるいは少なくとも書き込み済みトラックは使用不可能になってしまう。
【００１２】
それゆえデータ担体書き込み用の多数の公知のソフトウェアプログラムの場合、書き込みプログラムは各書き込み命令後あるいは２つまたは３つの書き込み命令後、使用されている内部メモリのサイズを問い合わせる命令を送り、それによって場合によってはユーザに指示を出し、あるいはそれに応じて書き込みを制御する。この問い合わせ命令はインタフェースに応じて数ｍｓかかる。その際、問い合わせに時間がかかりすぎ、それゆえ書き込みに失敗してバッファアンダーランの生じる可能性がある。とはいえこの問い合わせを省くことはできない。それというのも、さもないとユーザに対して指示が与えられないし、あるいは書き込みソフトウェアによる書き込みプロセスの制御がもはやできなくなってしまう。
【００１３】
本発明による解決手段の重要な利点によれば、書き込み装置の少なくとも動作フェーズ中、時間が測定され、送出された書き込み命令の個数が計数され、さらに内部メモリの状態に対する各チェックの間および／またはチェック後、直前のチェック以降まえもって設定された時間後またはまえもって設定可能な時間後あるいはまえもって定められたタイムインターバル後またはまえもって設定可能なタイムインターバル後の書き込み速度、内部メモリのサイズ、および送出された書き込み命令の個数に関する目下の状態が求められる。これにより内部メモリの状態はめったに読み出されなくなり、その結果、バッファアンダーランのリスクが格段に低減される。
【００１４】
さらに本発明による解決手段を有利には、バッファアンダーラン防止方法（たとえば "Burn-Proof", "Just Link"）を有する書き込み装置に適用することができる。このような方法においてはたしかにバッファアンダーランは発生しないけれども、内部メモリ内のデータについてその量が閾値を下回ったときには数秒にわたり書き込みプロセスが停止されて少なくとも、書き込み時間全体が長くなる。
【００１５】
請求項２から５および請求項７から１０には本発明の有利な実施形態が示されている。
【００１６】
請求項２および７記載の実施形態によれば、内部メモリにおける現時点で占有されているサイズの状態を計算する簡単なやり方は式
Xneu = Xalt + (A * B) - (t * Y)
により得られる。ここで Xneu は現時点での占有サイズをバイトで表し、Xalt は直前のチェック時点での占有サイズをバイトで表し、A は Xalt 以降に伝送されたブロックの個数、B は伝送されたブロックのブロックサイズをバイトで表し、t は時間を秒で表し、Y は毎秒の書き込み速度をバイトで表す。
【００１７】
この式を適用することで、実質的に状態に関する情報損失が発生することなくいっそう広い間隔で内部メモリの状態を読み出すことができる。１つの変形実施形態によれば、書き込みプロセス開始時に１回読み出しが行われ、その際、以下の状態だけがさらに計算される。
【００１８】
内部メモリの状態の読み出しは請求項３および８の実施形態によれば規則的なタイムインターバルで行われ、その際、書き込み装置の内部メモリの占有サイズである読み出された新たな値Ｘが新たな基準値として利用される。このようにすることで、継続的であり非常に精確な状態をユーザに指示することができる。
【００１９】
内部メモリの実際の状態にこのようにして継続的に近づけることで、内部メモリ読み出し命令がめったに呼び出されないようになるが、それにもかかわらず内部メモリの状態に関する情報が改善されるようになる。このようにして内部メモリの状態を求めるための命令が少なくなることでインタフェースの負担が軽減し、書き込み装置は書き込み命令をいっそう高速に伝送することができ、それによってバッファアンダーランはいっそうまれにしか発生しなくなる。
【００２０】
請求項４記載の実施形態によれば「占有バッファサイズ読み出し」という命令実行のための時間が測定され、その時間がまえもって設定可能な期間を超えていればその命令がいっそうまれにしか呼び出されないようにし、その間、前述の式を適用してサイズが計算され、この命令のために特に長い期間を要する書き込み装置へ送られるので、バッファアンダーランの可能性がさらに低減されるようになる。
【００２１】
しかし内部メモリが占有されていてそのことで内部メモリがもはやそれ以上データを受け取れないが、それにもかかわらずデータを処理して送信する機器からさらに別のデータが送られる場合、それらのデータは拒否されるかまたはデータを受け取るための期間が非常に長くなる。この場合、第１盤面としてデータを新たに送りなおさなければならず、あるいは第２番目としては書き込み装置は、内部メモリがデータを受け取れる程度に再び多くのスペースをもつようになるまで待つことになる。これら両方のことで、データ担体書き込みのための期間が長くなってしまう。このような場合、データ伝送はブロックされその期間中、他の機能を実現することはできない。このことは請求項５および９の実施形態により回避され、これによれば書き込み装置の内部メモリはデータを処理して送信する機器内のデータ検出装置により１００％以下で占有されるようになる。
【００２２】
請求項１０の実施形態によれば、本発明による監視装置をＣＤ（Compact Disc）またはＤＶＤ（Digital Versatile Disk）の形態のデータ担体に有利に適用することができる。したがってそれらのデータ担体のための書き込み装置は有利にはＣＤライタ、読み出しモードをもつＣＤライタ、ＤＶＤライタまたは読み出しモードをもつＤＶＤライタである。
【００２３】
【実施例】
次に、データを処理して送信する機器と書き込み装置との間の速度差を補償するためのデータ担体用書き込み装置の内部メモリ（バッファ）状態を監視する方法、書き込み装置、データを処理して送信する機器と書き込み装置との間の速度差を補償するデータ担体用書き込み装置のための内部メモリ（バッファ）の状態の監視装置について、実施例に基づきいっしょに詳しく説明する。
【００２４】
データを処理して送信する機器は複数の記憶装置を備えたコンピュータである。それらの記憶装置のうちの１つはたとえばハードディスクであり、そのハードディスクにデータならびに相応の処理プログラムがおかれている。それらのうち１つのプログラムは、書き込み装置の内部メモリ（バッファ）の管理を行うものである。
【００２５】
データ担体はＣＤ（Compact Disc）またはＤＶＤ（Digital Versatile Disk）である。それらデータ担体の内容はコンピュータプログラムであってもよいし、テキスト、画像、グラフィックス、音声、映像あるいは映画であってもよい。これらのデータ担体用の書き込み装置としてＣＤライタ、読み出しモードをもつＣＤライタ、ＤＶＤライタまたは読み出しモードをもつＤＶＤライタが使用される。
【００２６】
また、書き込み装置はトラックアットワンス、ディスクアットワンス、セッションアットワンスまたはパケットライティング方式に従い動作する。これらの方式の特徴についてはすでに説明した。これらの書き込み方式の場合、書き込むべきデータはリアルタイムで書き込み装置へ伝送され、ついで書き込み装置はそれらのデータをＣＤまたはＤＶＤに書き込む。
【００２７】
書き込み前、それぞれ異なる機器間の速度差を補償する目的で、インタフェースたとえばＩＥＤ，ＳＣＳＩ，ＩＥＥＥ１３９４またはＵＳＢを介して伝送されるデータが書き込み装置の内部メモリ（バッファ）に記憶される。この機器はたとえば記憶装置を備えたコンピュータである。このコンピュータは同時に、特別なソフトウェアを介して記憶装置の制御の役割も果たす。その後、内部メモリにおけるそれらのデータはデータ担体に格納される。
【００２８】
内部メモリによって、データを処理して送信する機器から供給されるデータ流の一時的なドロップアウトや中断に対する保護が保証される。この目的で、データはコンピュータのハードディスクから書き込み装置の内部メモリへ供給される。書き込み装置の内部メモリによってもはやバッファリングできないデータ流の比較的長いドロップアウトの結果を、バッファアンダーランと称する。この場合、内部メモリは空であり、書き込み装置はデータが欠けているためその役割を続けることはできず、データ担体の書き込みを中止しなければならない。そしてこれによって、書き込まれたトラックまたはデータ担体全体が使用不能になってしまう。
【００２９】
バッファアンダーランを回避する目的で、ソフトウェアによって内部メモリ（レコーダバッファ）の状態を命令を用いて問い合わせることができる。このため、書き込み装置の使用されている内部メモリのサイズに関する情報は重要な量である。たとえばそのサイズをユーザに指示して、書き込みプロセスに関していっそう多くの情報を供給することができ、あるいはそのサイズを書き込み過程の制御に利用できる。したがって一般に書き込みプログラムは各書き込み命令後あるいは２つまた３つの書き込み命令後、使用されている内部メモリのサイズについての問い合わせ命令を送り、そのようにすることで場合によってはユーザに対し指示を出すかまたはそれに応じて書き込みを制御する。内部メモリの状態に関する各命令は、書き込み装置やインタフェースに応じて数ｍｓかかる。その際に起こり得るのは、内部メモリの状態についての問い合わせに時間がかかりすぎ、それゆえ書き込みに失敗してバッファアンダーランが生じてしまうことである。
【００３０】
このような状況を抑えるため、内部メモリの状態がいっそうまれにしか読み出されないようにされ、各インターバルの間の状態を知るためにそれが計算される。
【００３１】
この目的で少なくとも書き込み装置の動作フェーズ中にコンピュータ内の時間測定装置によって時間が測定され、送出された書き込み命令の個数がコンピュータの１つの機構において計数され、内部メモリの状態についての各チェックの間および／またはチェック後の目下の状態が、最後のチェック以降まえもって定められたまたはまえもって設定可能な時間後に、書き込み速度、内部メモリのサイズおよび送出された書き込み命令の個数を利用して、コンピュータの１つの機構内で求められる。このような機構はソフトウェア的に実現されており、書き込み装置の制御部の構成部分である。そしてこの制御部自体はやはりコンピュータにおける１つの構成部分である。
【００３２】
内部メモリの状態は制御部において式
Xneu = Xalt + (A * B) - (t * Y)
従い計算され、ここで Xneu は現時点での占有サイズをバイトで表し、Xalt は直前のチェック時点での占有サイズをバイトで表し、A は Xalt 以降に伝送されたブロックの個数、B は伝送されたブロックのブロックサイズをバイトで表し、t は時間を秒で表し、Y は毎秒の書き込み速度をバイトで表す。
【００３３】
これによりサイズ Xneu が、継続的に問い合わせられる代わりに新たに計算される。実際の状態のこのような継続的な近似によって、内部メモリを読み出すための命令が非常にまれにしか呼び出されなくなり、それにもかかわらず状態についての情報取得が格段に改善される。この状態はこれまでは２つの書き込み命令が出された後にしか送られておらず、本発明によれば各書き込み命令が出された後にそのつど推定を行うことができる。このようにして状態をチェックする命令を減らすことによりインタフェースの負担がいっそう軽減され、書き込み装置はいっそう多くの書き込み命令をいっそう高速に伝送することができ、バッファアンダーランはいっそうまれにしか起こらなくなる。
【００３４】
特別な方法によりバッファアンダーランを回避する実施形態によれば、書き込みプロセスがいくらかの時間にわたり中断され、少なくとも書き込みプロセスの期間全体が長くなる。本発明による解決手段を適用することでこの時間を非常に節約することができ、その結果、このような実施形態における書き込みプロセスの期間全体を短縮できるようになる。
【００３５】
実施例における１つの実施形態によれば、「占有バッファサイズの読み出し」という命令の実行にかかる時間を測定することができる。この命令が所定の時間よりも長くかかるならば、その命令はもっとまれにしか呼び出されなくなり、その間は上述のようにして計算が行われる。その結果、この命令のために特に長い時間を要する書き込み装置において、このことでバッファアンダーランのおそれがいっそう低減されることになる。
【００３６】
実施例における別の実施形態によれば、データを処理して送信する機器において内部メモリに対するデータを捕捉する機構を介して、内部メモリのメモリスペース占有率が１００％以下であること有利には８０％以上１００％以下であることが保証される。