(57)【要約】ストリーミングデータ再生プログラムは、光ディスク駆動装置に対して情報読み出しコマンドを発行する機能（ＲＥＡＤ１２コマンド発行機能ｆ１）、光ディスク駆動装置１から受け取ったストリーミングデータを貯留する機能（ストリーミングデータ貯留機能ｆ２）、貯留されたストリーミングデータをデコードする機能（ストリーミングデータデコード機能ｆ３）、再生されたストリーミングデータを表示する機能（ストリーミングデータ表示機能ｆ４）、及び貯留されたストリーミングデータのデータ量を監視する機能（ストリーミングデータ量監視機能ｆ５）、及びストリーミングデータのデータ量に応じて、ストリーミングビットの値を切り替える機能（ストリーミングビット切り替え機能ｆ６）を備える。
2008056424.tif 000002
【特許請求の範囲】
【請求項１】
光ディスクを装着した光ディスク駆動装置に情報読み出しコマンドを送信して、前記光ディスク駆動装置から、前記光ディスクに記録されたストリーミングデータを受信し、該ストリーミングデータを再生するコンピュータが読み取り可能なストリーミングデータ再生プログラムであって、
前記光ディスク駆動装置から受信したストリーミングデータを所定の記憶部に蓄えるデータ蓄積ステップと、
前記所定の記憶部に蓄えられたストリーミングデータを再生するデータ再生ステップと、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量を監視するデータ量監視ステップと、
前記データ量監視ステップで監視されたデータ量に基づいて、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値を切り替えるパラメータ設定ステップと、
前記パラメータ設定ステップで設定されたパラメータを含む前記情報読み出しコマンドを前記光ディスク駆動装置に送信するコマンド送信ステップと、
を前記コンピュータに実行させることを特徴とするストリーミングデータ再生プログラム。
【請求項２】
前記パラメータ設定ステップは、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値以下のときには、リアルタイム再生を行うパラメータの値を設定し、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値より大きいときには、リアルタイム再生を行わないパラメータの値を設定することを特徴とする請求項１記載のストリーミングデータ再生プログラム。
【請求項３】
前記情報読み出しコマンドは、ＲＥＡＤ１２コマンドであり、
前記リアルタイム再生を行うか否かを示すパラメータは、ストリーミングビットであり、
前記パラメータ設定ステップは、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値以下のときには、前記ストリーミングビットの値を１に設定し、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値より大きいときには、前記ストリーミングビットの値を０に設定することを特徴とする請求項２記載のストリーミングデータ再生プログラム。
【請求項４】
コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、
前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、
前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、
を備えることを特徴とする光ディスク駆動装置。
【請求項５】
前記第２のリトライ手段は、
前記再読み取り動作で前記データを読み取れないときは、次回の前記第２の回数をより少なく、及び次回の前記第２の時間をより短く設定し、前記データを読み取れたときは、初期値を越えない範囲で、次回の前記第２の回数をより多く、及び次回の前記第２の時間をより長く設定することを特徴とする請求項４記載の光ディスク駆動装置。
【請求項６】
前記情報読み出しコマンドは、ＲＥＡＤ１２コマンドであり、
前記リアルタイム再生を行うか否かを示すパラメータは、ストリーミングビットであり、
前記第１のリトライ手段は、
前記ストリーミングビットの値が０のときは、前記第１の回数及び前記第１の時間で再読み取り動作を行い、
前記第２のリトライ手段は、
前記ストリーミングビットの値が１のときは、前記第２の回数及び前記第２の時間で再読み取り動作を行うことを特徴とする請求項４又は５記載の光ディスク駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングデータを再生するストリーミングデータ再生技術に関する。
【背景技術】
【０００２】
昨今においては、ホストコンピュータ（例えば、パーソナルコンピュータなど）と光ディスク駆動装置（例えば、ＤＶＤドライブ装置）が接続された機器構成で、光ディスク駆動装置に装着された光ディスク（例えば、ＤＶＤ）のＤＶＤ−Ｖｉｄｅｏデータを再生し、視聴することがある。【０００３】
ここで、ホストコンピュータと光ディスク駆動装置とのインターフェースがＡＴＡＰＩ（ＡＴ attachment packet interface）である場合には、ホストコンピュータからのデータの読み出しの指示にはＲＥＡＤ１０またはＲＥＡＤ１２コマンドが用いられる。詳しくは、光ディスク駆動装置は、ホストコンピュータが発行したＲＥＡＤ１０またはＲＥＡＤ１２コマンドを受け取ると、ＲＥＡＤ１０またはＲＥＡＤ１２コマンドの種々パラメータに応じて、光ディスクに記録されたデータを読み取って、ホストコンピュータに転送するようになっている。【０００４】
このようなＲＥＡＤ１２コマンドにおいては、パラメータの一つにストリーミングビットがある。ストリーミングビットは、リアルタイム再生を行うか否かを示すパラメータであり、ストリーミングビット「１」は、リアルタイム再生を行うことを示し（主としてリアルタイム性を要求されるストリーミングデータを意味し、具体的には、映像データや音声データを示す）、ストリーミングビット「０」はリアルタイム再生を行わないことを示す（ストリーミングデータ以外を意味する）。【０００５】
現在、光ディスク駆動装置の中には、上述したストリーミングビットの値に応じて、データ読み出しエラー（以下、リードエラー）時の動作が異なる光ディスク駆動装置が知られている。この光ディスク駆動装置は、具体的には、ストリーミングビットが０の場合には、リードエラー時、多めのリトライ回数及び長めのタイムアウト時間を設定して、データの再読み出し（以下、リードリトライ）を行う。そして、リードトライが全てエラーになった場合は、ホストコンピュータにはＲＥＡＤ１２コマンドがエラーになったことを通知する。一方、ストリーミングビットが１の場合には、リードエラー時、少なめのリトライ回数及び短めのタイムアウト時間を設定して、リードリトライを行い、リードリトライ時間を短縮する。そして、リードトライが全てエラーになっても、ホストコンピュータにはＲＥＡＤ１２コマンドがエラーになったことは通知せず、正常終了と通知する。【０００６】
なお、上記記載に関連する先行技術文献としては、次のものがある。【０００７】
【特許文献１】特開２００３−５１１２３号公報
【特許文献２】特開２００５−１４９６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来、上述した機器構成で光ディスクに記録されたＤＶＤ−Ｖｉｄｅｏデータを再生するときは、ＲＥＡＤ１２コマンドのストリーミングビットの値は０又は１に固定したままで再生動作を実行していた。【０００９】
このため、光ディスクの傷や汚れ等が原因で、リードエラーが発生した場合には、再生画像が止まったり、再生画像が乱れたりするという問題があった。【００１０】
すなわち、通常、光ディスクのデータ読み取り処理はデータ再生速度よりも高速であるので、読み出したデータは再生前にホストコンピュータ内のメモリに逐次蓄積しておく手法が用いられているが、ストリーミングビットの値が常時０のときにリードエラーが発生すると、ホストコンピュータ側に転送されたＤＶＤ−Ｖｉｄｅｏデータが枯渇していても、多めのリトライ回数及び長めのタイムアウト時間を設定しリードリトライを行うので、データの読み出しに時間がかかり、再生画像が止まってしまうという問題があった。【００１１】
また、ストリーミングビットの値が常時１のときにリードエラーが発生すると、ホストコンピュータ側に転送されたＤＶＤ−Ｖｉｄｅｏデータが十分蓄えられていても、少なめのリトライ回数及び短めのタイムアウト時間を設定して、リードリトライを行うので、本来読み取れるようなデータも読み取れずに、再生画像が乱れるという問題があった。【００１２】
本発明は、上記の問題を解決するためになされたものであり、その課題の一例としては、リードエラー発生時、画像の停止や画像の乱れを防止することができるストリーミングデータ再生プログラム及び光ディスク駆動装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記の課題を達成するため、請求項１記載のストリーミングデータ再生プログラムは、光ディスクを装着した光ディスク駆動装置に情報読み出しコマンドを送信して、前記光ディスク駆動装置から、前記光ディスクに記録されたストリーミングデータを受信し、該ストリーミングデータを再生するコンピュータが読み取り可能なストリーミングデータ再生プログラムであって、前記光ディスク駆動装置から受信したストリーミングデータを所定の記憶部に蓄えるデータ蓄積ステップと、前記所定の記憶部に蓄えられたストリーミングデータを再生するデータ再生ステップと、前記所定の記憶部に蓄えられたストリーミングデータのデータ量を監視するデータ量監視ステップと、前記データ量監視ステップで監視されたデータ量に基づいて、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値を切り替えるパラメータ設定ステップと、前記パラメータ設定ステップで設定されたパラメータを含む前記情報読み出しコマンドを前記光ディスク駆動装置に送信するコマンド送信ステップと、を前記コンピュータに実行させることを特徴とする。【００１４】
また、請求項４記載の光ディスク駆動装置は、コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、を備えることを特徴とする。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る光ディスク再生システムの概略構成図である。
【図２】本発明の実施の形態に係る光ディスク再生システムのホストコンピュータの制御部の機能を示す機能ブロック図である。
【図３】本発明の実施の形態に係る光ディスク再生システムの動作を示すシーケンス図である。
【図４】図３のステップＳ１００のデータリード指示処理を詳しく示すフローチャートである。
【図５】図３のステップＳ２００のデータリード処理を詳しく示すフローチャートである。
【図６】図３のステップＳ５００のリードエラー処理を詳しく示すフローチャートである。
【図７】図３のステップＳ６００のデータ再生処理を詳しく示すフローチャートである。
【符号の説明】
【００１６】
１  光ディスク駆動装置
２  ホストコンピュータ
３  光ディスク
１０  光ディスク再生システム
１０１  ピックアップ部
１０２  信号処理部
１０３，２０５  制御部
１０４  駆動部
１０５，２０４  Ｉ／Ｆ部
２０１  操作部
２０２  表示部
２０３  記憶部
ｆ１  ＲＥＡＤ１２コマンド発行機能
ｆ２  ストリーミングデータ貯留機能
ｆ３  ストリーミングデータデコード機能
ｆ４  ストリーミングデータ表示機能
ｆ５  ストリーミングデータ量監視機能
ｆ６  ストリーミングビット切り替え機能
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を用いて説明する。【００１８】
図１は、本発明の実施の形態に係る光ディスク再生システム１０の概略構成を示す図である。図１に示す光ディスク再生システム１０は、光ディスク駆動装置１と、ホストコンピュータ２とから構成され、ホストコンピュータ２からの要求に応じて、光ディスク駆動装置１が光ディスク３に記録されたストリーミングデータを読み取り、読み取ったストリーミングデータをホストコンピュータ２が再生するようになっている。なお、本実施の形態において、ストリーミングデータとは、リアルタイム性を要求される映像データや音声データのことをいう。【００１９】
光ディスク駆動装置１は、例えば、具体的には、ＤＶＤ（Digital Versatile Disc）ドライブ装置が想定され、ピックアップ部１０１、信号処理部１０２、制御部１０３、駆動部１０４、及びインターフェース（以下、Ｉ／Ｆと称す）１０５を備えている。【００２０】
ピックアップ部１０１は、装着された光ディスク３に記録されている信号を読み出す光学式ピックアップであり、レーザ光を光ディスク３に照射し、その反射光を電気信号に変換して信号処理部１０２に出力するようになっている。【００２１】
信号処理部１０２は、電気信号に波形成形処理やノイズ除去処理、及びデジタル変換処理などを施して、再生信号を制御部１０３に出力するようになっている。【００２２】
制御部１０３は、ホストコンピュータ２からのデータ再生に関する指示を受けて、装置全体の制御を行うようになっている。例えば、光ディスク３の回転制御のための駆動信号やピックアップ部１０１の移動制御（フォーカス制御及びトラッキング制御）のための駆動信号を生成し、駆動部１０４に出力するようになっている。【００２３】
駆動部１０４は、駆動信号に基づいて、光ディスク３の回転制御を行ったり、ピックアップ部１０１を移動させたりするようになっている。【００２４】
Ｉ／Ｆ部１０５は、データ再生に関する指示を行うホストコンピュータ２と接続されたインターフェースである。【００２５】
ホストコンピュータ２は、例えば、具体的には、パーソナルコンピュータ（以下、パソコンという）等が想定され、操作部２０１、表示部２０２、記憶部２０３、インターフェース（以下、Ｉ／Ｆと称す）２０４、及び制御部２０５を備えている。【００２６】
操作部２０１は、数字や文字、操作指示などを入力するための複数のキーを備え、これらのキー操作に応じた操作信号を制御部２０５に出力するようになっている。【００２７】
表示部２０２は、液晶表示パネルやＣＲＴディスプレイなどの情報を表示する表示媒体と、この表示媒体の表示制御を行う駆動回路を有している。【００２８】
記憶部２０３は、具体的には、ＲＯＭ及びＲＡＭ、並びにハードディスクドライブ(以下、ＨＤＤと称す）等で構成され、制御部２０５により実行される各種プログラムや、各種データなどを格納している。例えば、本実施の形態では、光ディスク駆動装置１を制御して、光ディスク３に記録されたストリーミングデータを読み取り、読み取ったストリーミングデータを再生するストリーミングデータ再生プログラムが格納されている。このストリーミングデータ再生プログラムは、記憶部２０３に記憶される他、フラッシュメモリ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータが読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。【００２９】
Ｉ／Ｆ２０４は、ホストコンピュータ２と光ディスク記録装置１との間で行われる通信を制御するようになっている。【００３０】
制御部２０５は、装置各部の制御や、データの伝送、種々の演算、データの一時的な格納等を行うようになっている。本実施の形態の制御部２０５は、上述したストリーミングデータ再生プログラムを実行させることにより、ストリーミングデータ再生機能を実現するようになっている。ここで、図２を参照して、ストリーミングデータ再生機能について説明する。図２は、本実施の形態のストリーミングデータ再生機能を詳しく示す機能ブロック図である。【００３１】
ＲＥＡＤ１２コマンド発行機能ｆ１は、光ディスク駆動装置１に対して情報読み出しコマンド（ＲＥＡＤ１２コマンドという）を発行する機能をいい、光ディスク駆動装置１はＲＥＡＤ１２コマンドを受け取ると、ＲＥＡＤ１２コマンドの内容に従って、光ディスク３に記録されたストリーミングデータをリードする。ここで、ＲＥＡＤ１２コマンドのパラメータには、読み出すデータの先頭アドレス、読み出すデータの長さ、ストリーミングビットなどが含まれる。ストリーミングビットは、リアルタイム再生を行うか否かを示すパラメータであり、ストリーミングビット「１」は、リアルタイム再生を行うことを示し（主としてリアルタイム性を要求されるストリーミングデータを意味し、具体的には、映像データや音声データを示す）、ストリーミングビット「０」はリアルタイム再生を行わないことを示す（ストリーミングデータ以外を意味する）。【００３２】
ストリーミングデータ貯留機能ｆ２は、ＲＥＡＤ１２コマンドを発行して、光ディスク駆動装置１から受け取ったストリーミングデータを一時的に記憶部２０３（例えば、ＲＡＭなど）に貯留する機能である。【００３３】
ストリーミングデータデコード機能ｆ３は、記憶部２０３に貯留されたストリーミングデータをデコードする機能をいう。【００３４】
ストリーミングデータ表示機能ｆ４はデコードされたストリーミングデータ（画像データ）を表示部２０２に表示する機能をいう。【００３５】
ストリーミングデータ量監視機能ｆ５は、記憶部２０３に貯留されたストリーミングデータのデータ量を監視する機能である。【００３６】
ストリーミングビット切り替え機能ｆ６は、ストリーミングデータ量監視機能ｆ５によって監視されたストリーミングデータのデータ量に関する情報を受け取って、ストリーミングビットの値を切り替える機能であり、具体的には、貯留されたデータ量が予め定めた閾値以下のときには、ストリーミングビットの値を１に設定し、予め定めた閾値を越えているときは、ストリーミングビットの値を０に設定する。すなわち、本実施の形態においては、ストリーミングビットの値は固定的に設定されるのではなく、貯留されたストリーミングデータのデータ量に応じて、動的に設定されるようになっている。また、本実施の形態の光ディスク駆動装置１は、後述するように、ストリーミングビットが０の場合には、リードエラー時、多めのリトライ回数及び長めのタイムアウト時間を設定して、データのリードリトライを行う一方、ストリーミングビットが１の場合には、リードエラー時、少なめのリトライ回数及び短めのタイムアウト時間を設定して、リードリトライを行うようになっているので、貯留されたデータ量が少ないときは、リードエラー発生時に短時間でリードリトライを行うように光ディスク駆動装置１に指示を与え、貯留されたデータ量が十分あるとき（例えば、数十秒分のストリーミングデータが貯留されているとき）は、リードエラー発生時にストリーミングビットが１の場合と比べてより長い時間をかけてリードリトライを行うように光ディスク駆動装置１に指示を与えるようになっている。【００３７】
次に、図３〜図７を用いて、本実施の形態に係る光ディスク再生システム１０の動作について説明する。ここで、図３は、光ディスク再生システム１０が光ディスク３に記録されたストリーミングデータを再生する動作を示すシーケンス図である。また、図４は、図３のステップＳ１００のデータリード指示処理を詳しく示すフローチャート、図５は、図３のステップＳ２００のデータリード処理を詳しく示すフローチャート、図６は、図３のステップＳ５００のリードエラー処理を詳しく示すフローチャート、図７は、図３のステップＳ６００のデータ再生処理を詳しく示すフローチャートである。なお、光ディスク再生システム１０のストリーミングデータ再生開始時においては、光ディスク駆動装置１が数秒分のストリーミングデータを読み込んで、ホストコンピュータ２上に貯留した後に再生を開始するようになっているが、以下に述べる光ディスク再生システム１０の動作は、ストリーミングデータ再生開始状態を経過した後の定常状態における動作を説明するものである。【００３８】
まず、図３を参照して、光ディスク再生システム１０が光ディスク３に記録されたストリーミングデータを再生する動作について説明する。【００３９】
ホストコンピュータ２は、光ディスク駆動装置１に対して、光ディスク３に記録されたストリーミングデータを読み出すように指示を出す（ステップＳ１００）。ここで、ステップＳ１００のデータリード指示処理については、図４を参照して詳しく説明する。【００４０】
ホストコンピュータ２は、記憶部２０３に貯留されたストリーミングデータのデータ量を検出し（ステップＳ１１０）、ストリーミングデータのデータ量が予め定めた閾値以下であるか否かを判定する（ステップＳ１２０）。ストリーミングデータのデータ量が予め定めた閾値以下であるときは、ストリーミングビットを１に設定し（ステップＳ１３０）、ストリーミングデータのデータ量が予め定めた閾値を越えているときは、ストリーミングビットを０に設定する（ステップＳ１４０）。【００４１】
次いで、ホストコンピュータ２は、ステップＳ１３０又はステップＳ１４０で設定されたストリーミングビットの値を含むＲＥＡＤ１２コマンドを光ディスク駆動装置１に送信する（ステップＳ１５０）。なお、ＲＥＡＤ１２コマンドに含まれる読み出すデータの先頭アドレス（読み出す場所）は、前回指示した読み出し場所の次の場所が設定されるようになっている。【００４２】
次に、図３に戻って、光ディスク駆動装置１は、ホストコンピュータ２から送信されたＲＥＡＤ１２コマンドを受信すると、ＲＥＡＤ１２コマンドに従って、装着された光ディスク３に記録されたストリーミングデータを読み出す（ステップＳ２００）。ここで、ステップＳ２００のデータリード処理については、図５を参照して詳しく説明する。【００４３】
光ディスク駆動装置１は、ホストコンピュータ２からＲＥＡＤ１２コマンドを受信し（ステップＳ２１０）、ＲＥＡＤ１２コマンドに含まれるストリーミングビットの値が０であるか１であるかを判定する（ステップＳ２２０）。ストリーミングビットの値が１であるときは、ストリーミングビットが１のときのリードリトライパラメータ（リトライ回数Ａ１及びタイムアウト時間Ｔ１）を取得する（ステップＳ２３０）。一方、ストリーミングビットの値が０であるときは、ストリーミングビットが０のときのリードリトライパラメータ（リトライ回数Ａ２（＞Ａ１）及びタイムアウト時間Ｔ２（＞Ｔ１））を取得する（ステップＳ２４０）。このように、光ディスク駆動装置１は、ストリーミングビットの値に応じて、リードリトライ時のパラメータを異なって設定しており、ストリーミングビットが０のときには、リードリトライに要する時間を長めに設定して、ストリーミングビットが１のときには、リトライに要する時間を短めに設定している。この結果、光ディスク駆動装置１は、ストリーミングビットが０のときには、リードリトライに時間をかけても正確なストリーミングデータを読み取ろうとし、ストリーミングビットが１のときには、なるべく迅速にリードリトライを終了させようと動作する。【００４４】
次いで、光ディスク駆動装置１は、ＲＥＡＤ１２コマンドに従って、ストリーミングデータをリードする（ステップＳ２５０）。【００４５】
次に、図３に戻って、光ディスク駆動装置１は、リードエラーが発生したか否かを判定する（ステップＳ３００）。リードエラーが発生しなかったときは、光ディスク駆動装置１は、読み取ったストリーミングデータをホストコンピュータ２に送信し（ステップＳ４００）、リードエラーが発生したときは、光ディスク駆動装置１は、リードエラー処理をする（ステップＳ５００）。ここで、ステップＳ５００のリードエラー処理については、図６を参照して詳しく説明する。【００４６】
光ディスク駆動装置１は、ストリーミングビットの値が０であるか１であるかを判定する（ステップＳ５１０）。ストリーミングビットの値が１であるときは、読み出し速度の基本的なパラメータ（例えば、具体的には、読み取り可能な速度のうち、１６倍速、８倍速だけ）を使ってリトライを行い（ステップＳ５２０）、ストリーミングビットの値が０であるときは、全てのパラメータ（読み取り可能な速度すべてであり、例えば、具体的には、１６倍速、８倍速、５倍速、２倍速）を使ってリトライを行う（ステップＳ５６０）。【００４７】
読み出し速度の基本的なパラメータを使ってリトライをしたときは、光ディスク駆動装置１は、リードできたか否かを判定する（ステップＳ５３０）。ここで、リードできたか否かの判定は、上述したリードリトライパラメータ（リトライ回数Ａ１及びタイムアウト時間Ｔ１）を上限にして、リードできたか否かを判定するものである。すなわち、リードリトライ動作において、リトライ回数がＡ１に達したとき又はタイムアウト時間がＴ１に達したときは、リードできなかったものと判断する。リードできたときは、光ディスク駆動装置１は、読み取ったストリーミングデータを光ディスク駆動装置１に送信し（ステップＳ５４０）、後述するステップＳ５５０でストリーミングビット１時のリトライ回数Ａ１及びタイムアウト時間Ｔ１が初期値より小さな値に再設定されていた場合には、ストリーミングビット１時のリトライ回数Ａ１及びタイムアウト時間Ｔ１を、初期値を越えない範囲で、より大きな値に再設定する（ステップＳ５４５）。例えば、リトライ回数Ａ１の初期値が８回であって、今現在、リトライ回数Ａ１が６回に設定されていたときは、次回のリトライ回数Ａ１を７回に設定する。なお、リードできる状態が続くと、図４のステップＳ１２０により、ホストコンピュータ２がストリーミングビットを０に設定して発行してくるため、これを期待して、初期値より小さな値に再設定されたリトライ回数Ａ１及びタイムアウト時間Ｔ１をより増やさないでおくこともできる。一方、リードできなかったとき、すなわち、リードリトライしてもリードできなかったときは、光ディスク駆動装置１は、ストリーミングの値が１のときのリトライ回数Ａ１及びタイムアウト時間Ｔ１をさらに小さな値に再設定する（ステップＳ５５０）。例えば、今現在、リトライ回数Ａ１が８回に設定されていたときは、次回のリトライ回数Ａ１を６回に設定する。このように本実施の形態においては、ストリーミングビットが１であって、リードリトライに失敗したときは、ストリーミングビットが１のときのリードリトライパラメータ値をさらに減少させて設定するようになっている。これにより、リードエラーが連続的に発生するときは（通常、傷や汚れの場所は連続的となることが多い）、さらにリードリトライを迅速に終了させるようになっている。【００４８】
一方、読み出し速度の全てのパラメータを使ってリトライをしたときは、光ディスク駆動装置１は、リードできたか否かを判定する（ステップＳ５７０）。ここで、リードできたか否かの判定は、上述したリードリトライパラメータ（リトライ回数Ａ２及びタイムアウト時間Ｔ２）を上限にして、リードできたか否かを判定するものである。すなわち、リードリトライ動作において、リトライ回数がＡ２に達したとき又はタイムアウト時間がＴ２に達したときは、リードできなかったものと判断する。リードできたときは、光ディスク駆動装置１は、読み取ったストリーミングデータを光ディスク駆動装置１に送信し（ステップＳ５８０）、リードできなかったとき、すなわち、リードリトライしてもリードできなかったときは、リードエラー処理を終了する。【００４９】
次に、図３に戻って、ホストコンピュータ２は、光ディスク駆動装置１から送信されたストリーミングデータを再生する（ステップＳ６００）。ここで、ステップＳ６００のデータ再生処理については、図７を参照して詳しく説明する。【００５０】
ホストコンピュータ２は、光ディスク駆動装置１から送信されたストリーミングデータを受信して（ステップＳ６１０）、受信したストリーミングデータを記憶部２０３に貯留する（ステップＳ６２０）。【００５１】
次いで、ホストコンピュータ２は、記憶部２０３に貯留されたストリーミングデータをデコードし、表示部２０２を介してストリーミングデータを表示する（ステップＳ６３０，Ｓ６４０）。【００５２】
次に、図３に戻って、ホストコンピュータ２は、再生すべきストリーミングデータが終了したか否かを判定し（ステップＳ７００）、再生すべきストリーミングデータが終了していないときは、ステップＳ１００に戻り、再生処理を続行し、再生すべきストリーミングデータが終了したときは、処理を終了する。【００５３】
以上から、本実施の形態に係る光ディスク再生システム１０によれば、ホストコンピュータ２内に貯留されたストリーミングデータのデータ量に応じて、ストリーミングビットの値を動的に切り替えて、ＲＥＡＤ１２コマンドを発行するので、光ディスク３に傷や汚れ等があってリードエラーが発生しても、適切な再生処理を施すことができる。すなわち、貯留されたストリーミングデータのデータ量が少なく、枯渇しかかっているときは、ストリーミングビットを１に設定し、光ディスク駆動装置１にリードリトライに時間をかけさせないようにするので、再生画像が長時間停止するようなことない。また、貯留されたストリーミングデータのデータ量が多く、数十秒先までのストリーミングデータが存在するときには、ストリーミングビットを０に設定し、光ディスク駆動装置１にリードリトライに十分な時間をかけさせ、正確なストリーミングデータを取得させるので、再生画像が乱れるようなこともない。【００５４】
以上、本発明の実施の形態及び実施例について説明してきたが、本発明の要旨を逸脱しない範囲において、本発明の実施の形態及び実施例に対して種々の変形や変更を施すことができる。【００５５】
例えば、上記実施の形態では、光ディスク駆動装置１を用いて光ディスク３（例えば、ＤＶＤ、ＢＤ、ＨＤＤＶＤなど）に記録されたストリーミングデータを再生するようなシステム構成であったが、本発明が適用されるストリーミングデータ再生システムは必ずしも光ディスク駆動装置１を必要とするものではなく、ストリーミングデータを配信するストリーミングサーバとコンピュータ（パソコン）から構成されるストリーミングデータ再生システムであってもよい。すなわち、コンピュータがストリーミングサーバから通信ネットワークを介してストリーミングデータを受信し、再生するようなシステムであってもよい。この場合においては、コンピュータはメモリ上に貯留されたストリーミングデータのデータ量を把握して、ストリーミングビットに相当するフラグ（フラグの値により、通信障害時などのデータ再送回数、タイムアウト時間が異なる）を切り替え、当該フラグを含むＲＥＡＤ１２コマンドに相当するコマンド（ストリーミングサーバにデータ送信を指示するコマンド）をストリーミングサーバに送信するものである。【００５６】
以上説明したように、本発明の一実施形態のストリーミングデータ再生プログラムは、光ディスクを装着した光ディスク駆動装置に情報読み出しコマンドを送信して、前記光ディスク駆動装置から、前記光ディスクに記録されたストリーミングデータを受信し、該ストリーミングデータを再生するコンピュータが読み取り可能なストリーミングデータ再生プログラムであって、前記光ディスク駆動装置から受信したストリーミングデータを所定の記憶部に蓄えるデータ蓄積ステップと、前記所定の記憶部に蓄えられたストリーミングデータを再生するデータ再生ステップと、前記所定の記憶部に蓄えられたストリーミングデータのデータ量を監視するデータ量監視ステップと、前記データ量監視ステップで監視されたデータ量に基づいて、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値を切り替えるパラメータ設定ステップと、前記パラメータ設定ステップで設定されたパラメータを含む前記情報読み出しコマンドを前記光ディスク駆動装置に送信するコマンド送信ステップと、を前記コンピュータに実行させるので、ストリーミングデータの読み出しエラーが発生しても、画像の停止や画像の乱れを防止することができる。【００５７】
また、本発明の一実施形態の光ディスク駆動装置は、コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、を備える。従って、この仕組みを利用することで、ストリーミングデータの読み出しエラーが発生しても、画像の停止や画像の乱れを防止することができる。
【図１】
2008056424.tif 000003
【図２】
2008056424.tif 000004
【図３】
2008056424.tif 000005
【図４】
2008056424.tif 000006
【図５】
2008056424.tif 000007
【図６】
2008056424.tif 000008
【図７】
2008056424.tif 000009
【手続補正書】
【提出日】平成19年7月2日(2007.7.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
光ディスクを装着した光ディスク駆動装置に情報読み出しコマンドを送信して、前記光ディスク駆動装置から、前記光ディスクに記録されたストリーミングデータを受信し、該ストリーミングデータを再生するコンピュータが読み取り可能なストリーミングデータ再生プログラムであって、
前記光ディスク駆動装置から受信したストリーミングデータを所定の記憶部に蓄えるデータ蓄積ステップと、
前記所定の記憶部に蓄えられたストリーミングデータを再生するデータ再生ステップと、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量を監視するデータ量監視ステップと、
前記データ量監視ステップで監視されたデータ量に基づいて、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値を切り替えるパラメータ設定ステップと、
前記パラメータ設定ステップで設定されたパラメータを含む前記情報読み出しコマンドを前記光ディスク駆動装置に送信するコマンド送信ステップと、
を前記コンピュータに実行させることを特徴とするストリーミングデータ再生プログラム。
【請求項２】
前記パラメータ設定ステップは、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値以下のときには、リアルタイム再生を行うパラメータの値を設定し、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値より大きいときには、リアルタイム再生を行わないパラメータの値を設定することを特徴とする請求項１記載のストリーミングデータ再生プログラム。
【請求項３】
前記情報読み出しコマンドは、ＲＥＡＤ１２コマンドであり、
前記リアルタイム再生を行うか否かを示すパラメータは、ストリーミングビットであり、
前記パラメータ設定ステップは、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値以下のときには、前記ストリーミングビットの値を１に設定し、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値より大きいときには、前記ストリーミングビットの値を０に設定することを特徴とする請求項２記載のストリーミングデータ再生プログラム。
【請求項４】
コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、
前記データ読み取り時に読み取りエラーが発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、
前記データ読み取り時に読み取りエラーが発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、
を備え、
前記第２のリトライ手段は、
前記再読み取り動作で前記データを読み取れないときは、次回の前記第２の回数をより少なく、及び次回の前記第２の時間をより短く設定し、前記データを読み取れたときは、初期値を越えない範囲で、次回の前記第２の回数をより多く、及び次回の前記第２の時間をより長く設定することを特徴とする光ディスク駆動装置。
【請求項５】
（削除）
【請求項６】
前記情報読み出しコマンドは、ＲＥＡＤ１２コマンドであり、
前記リアルタイム再生を行うか否かを示すパラメータは、ストリーミングビットであり、
前記第１のリトライ手段は、
前記ストリーミングビットの値が０のときは、前記第１の回数及び前記第１の時間で再読み取り動作を行い、
前記第２のリトライ手段は、
前記ストリーミングビットの値が１のときは、前記第２の回数及び前記第２の時間で再読み取り動作を行うことを特徴とする請求項４記載の光ディスク駆動装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
課題を解決するための手段
［００１３］
上記の課題を達成するため、請求項１記載のストリーミングデータ再生プログラムは、光ディスクを装着した光ディスク駆動装置に情報読み出しコマンドを送信して、前記光ディスク駆動装置から、前記光ディスクに記録されたストリーミングデータを受信し、該ストリーミングデータを再生するコンピュータが読み取り可能なストリーミングデータ再生プログラムであって、前記光ディスク駆動装置から受信したストリーミングデータを所定の記憶部に蓄えるデータ蓄積ステップと、前記所定の記憶部に蓄えられたストリーミングデータを再生するデータ再生ステップと、前記所定の記憶部に蓄えられたストリーミングデータのデータ量を監視するデータ量監視ステップと、前記データ量監視ステップで監視されたデータ量に基づいて、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値を切り替えるパラメータ設定ステップと、前記パラメータ設定ステップで設定されたパラメータを含む前記情報読み出しコマンドを前記光ディスク駆動装置に送信するコマンド送信ステップと、を前記コンピュータに実行させることを特徴とする。
［００１４］
また、請求項４記載の光ディスク駆動装置は、コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、前記データ読み取り時に読み取りエラーが発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、前記データ読み取り時に読み取りエラーが発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、を備え、前記第２のリトライ手段は、前記再読み取り動作で前記データを読み取れないときは、次回の前記第２の回数をより少なく、及び次回の前記第２の時間をより短く設定し、前記データを読み取れたときは、初期値を越えない範囲で、次回の前記第２の回数をより多く、及び次回の前記第２の時間をより長く設定することを特徴とする。
図面の簡単な説明
［００１５］
［図１］本発明の実施の形態に係る光ディスク再生システムの概略構成図である。
【手続補正書】
【提出日】平成21年4月30日(2009.4.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
また、請求項４記載の光ディスク駆動装置は、コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、を備えることを特徴とする。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
光ディスクを装着した光ディスク駆動装置に情報読み出しコマンドを送信して、前記光ディスク駆動装置から、前記光ディスクに記録されたストリーミングデータを受信し、該ストリーミングデータを再生するコンピュータが読み取り可能なストリーミングデータ再生プログラムであって、
前記光ディスク駆動装置から受信したストリーミングデータを所定の記憶部に蓄えるデータ蓄積ステップと、
前記所定の記憶部に蓄えられたストリーミングデータを再生するデータ再生ステップと、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量を監視するデータ量監視ステップと、
前記データ量監視ステップで監視されたデータ量に基づいて、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値を切り替えるパラメータ設定ステップと、
前記パラメータ設定ステップで設定されたパラメータを含む前記情報読み出しコマンドを前記光ディスク駆動装置に送信するコマンド送信ステップと、
を前記コンピュータに実行させることを特徴とするストリーミングデータ再生プログラム。
【請求項２】
前記パラメータ設定ステップは、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値以下のときには、リアルタイム再生を行うパラメータの値を設定し、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値より大きいときには、リアルタイム再生を行わないパラメータの値を設定することを特徴とする請求項１記載のストリーミングデータ再生プログラム。
【請求項３】
前記情報読み出しコマンドは、ＲＥＡＤ１２コマンドであり、
前記リアルタイム再生を行うか否かを示すパラメータは、ストリーミングビットであり、
前記パラメータ設定ステップは、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値以下のときには、前記ストリーミングビットの値を１に設定し、
前記所定の記憶部に蓄えられたストリーミングデータのデータ量が予め定めた閾値より大きいときには、前記ストリーミングビットの値を０に設定することを特徴とする請求項２記載のストリーミングデータ再生プログラム。
【請求項４】
コンピュータから送信された情報読み出しコマンドに基づいて、装着された光ディスクに記録されたデータを読み取り、読み取ったデータを前記コンピュータに送信する光ディスク駆動装置であって、
前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行わない値のときは、リトライ回数を予め定めた第１の回数、タイムアウト時間を予め定めた第１の時間に設定して、前記データの再読み取り動作を行う第１のリトライ手段と、
前記データ読み取り時に読み取りエラ−が発生し、かつ、前記情報読み出しコマンドのリアルタイム再生を行うか否かを示すパラメータの値が、リアルタイム再生を行う値のときは、リトライ回数を前記第１の回数よりも少ない第２の回数、タイムアウト時間を前記第１の時間より短い第２の時間に設定して、前記データの再読み取り動作を行う第２のリトライ手段と、
を備えることを特徴とする光ディスク駆動装置。
【請求項５】
前記第２のリトライ手段は、
前記再読み取り動作で前記データを読み取れないときは、次回の前記第２の回数をより少なく、及び次回の前記第２の時間をより短く設定し、前記データを読み取れたときは、初期値を越えない範囲で、次回の前記第２の回数をより多く、及び次回の前記第２の時間をより長く設定することを特徴とする請求項４記載の光ディスク駆動装置。
【請求項６】
前記情報読み出しコマンドは、ＲＥＡＤ１２コマンドであり、
前記リアルタイム再生を行うか否かを示すパラメータは、ストリーミングビットであり、
前記第１のリトライ手段は、
前記ストリーミングビットの値が０のときは、前記第１の回数及び前記第１の時間で再読み取り動作を行い、
前記第２のリトライ手段は、
前記ストリーミングビットの値が１のときは、前記第２の回数及び前記第２の時間で再読み取り動作を行うことを特徴とする請求項４又は５記載の光ディスク駆動装置。
【国際調査報告】
2008056424.tif 000010
2008056424.tif 000011
2008056424.tif 000012
2008056424.tif 000013
2008056424.tif 000014
2008056424.tif 000015