(57)【要約】  情報ファイルを利用したデータ媒体上のストリームデータの誤り訂正を実行する方法、装置及びシステム。ストリームデータは、ファイルオフセットを有するＡＶＩ、ＭＰＥＧ及びストリームデータでありうる。データ媒体は、ＤＶＤ＋ＲＷ、ＳＶＣＤまたはメモリでありうる。本方法は、前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータにエラーが存在するか判断するステップと、前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータのエラーのファイルオフセットを決定するステップと、前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータのエラーデータのサイズを決定するステップと、前記ストリームデータに訂正データを挿入するステップとを有する。情報ファイルのクロックリファレンスと特徴点が、ストリームデータのファイルオフセットへのリンクに利用される。エラーデータは、正しいサイズを有するファイルオフセットにおける訂正データにより置き換えられる。置換されるデータはまたフラグであってもよく、あるいはダミーデータと置換するよう決定されてもよい。本方法は、ストリームデータの記録または再生中に実行することができる。
2005516493.tif 000002
【特許請求の範囲】
【請求項１】
情報ファイルを利用したデータ媒体上のストリームデータの誤り訂正を実行する方法であって、
前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータにエラーが存在するか判断するステップと、
前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータのエラーのファイルオフセットを決定するステップと、
前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータのエラーデータのサイズを決定するステップと、
前記ストリームデータに訂正データを挿入するステップとを有することを特徴とする方法。
【請求項２】
請求項１記載の方法であって、前記ストリームデータにエラーが存在するか判断するステップは、
前記ストリームデータに基づき、前記ストリームデータの第１サイズを決定するステップと、
前記情報ファイルから第２サイズを決定するステップと、
前記第１サイズと前記第２サイズとが一致していない場合、前記エラーを決定するステップとを有することを特徴とする方法。
【請求項３】
請求項１記載の方法であって、前記ストリームデータのエラーのファイルオフセットを決定するステップは、
前記情報ファイルのクロックリファレンスまたは特徴点を決定するステップと、
前記決定されたクロックリファレンスまたは前記決定された特徴点に基づき、前記情報ファイルのファイルオフセットを検索するステップとを有することを特徴とする方法。
【請求項４】
請求項１記載の方法であって、前記ストリームデータのエラーデータのサイズを決定するステップは、
前記情報ファイルのクロックリファレンスのペアを決定するステップと、
前記決定されたクロックリファレンスのペアに基づき、前記情報ファイルのファイルオフセットのペアを検索するステップと、
前記検索されたファイルオフセットのペアと前記決定されたクロックリファレンスのペアとを合成したものに基づき、前記エラーデータのサイズを決定するステップとを有することを特徴とする方法。
【請求項５】
請求項１記載の方法であって、前記ストリームデータに訂正データを挿入するステップは、
前記決定されたファイルオフセットに前記決定されたサイズを有する所定のタイプのデータコンテンツを挿入するステップと、
前記決定されたファイルオフセットにフラグを挿入するステップと、
前記決定されたファイルオフセットにダミーデータを挿入するステップの何れかを有することを特徴とする方法。
【請求項６】
請求項１乃至５何れか一項記載の方法であって、前記所定のタイプのデータコンテンツは、前記ストリームデータのミュートされた音声信号を表す部分、フリーズ画像を表す部分、あるいは黒の画面を表す部分を有することを特徴とする方法。
【請求項７】
請求項１乃至６何れか一項記載の方法であって、該方法はストリームデータの記録中に実行されることを特徴とする方法。
【請求項８】
請求項１乃至６何れか一項記載の方法であって、該方法はストリームデータの再生中または再生前に実行されることを特徴とする方法。
【請求項９】
請求項１乃至８何れか一項記載の方法を実行することを特徴とするコンピュータシステム。
【請求項１０】
コンピュータ上での実行時、請求項１乃至８何れか一項記載の方法を実行するコンピュータ読み出し可能媒体に記憶されたプログラムコード手段を有することを特徴とするコンピュータプログラムプロダクツ。
【請求項１１】
情報ファイルを利用したデータ媒体上のストリームデータの誤り訂正を実行する装置であって、
前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータにエラーが存在するか判断する手段と、
前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータのエラーのファイルオフセットを決定する手段と、
前記情報ファイルと前記ストリームデータとに基づき、前記ストリームデータのエラーデータのサイズを決定する手段と、
前記ストリームデータに訂正データを挿入する手段とを有することを特徴とする装置。
【請求項１２】
請求項１１記載の装置であって、前記ストリームデータにエラーが存在するか判断する手段は、
前記ストリームデータに基づき、前記ストリームデータの第１サイズを決定する手段と、
前記情報ファイルから第２サイズを決定する手段と、
前記第１サイズと前記第２サイズとが一致していない場合、前記エラーを決定する手段とを有することを特徴とする装置。
【請求項１３】
請求項１１記載の装置であって、前記ストリームデータのエラーのファイルオフセットを決定する手段は、
前記情報ファイルのクロックリファレンスまたは特徴点を決定する手段と、
前記決定されたクロックリファレンスまたは前記決定された特徴点に基づき、前記情報ファイルのファイルオフセットを検索する手段とを有することを特徴とする装置。
【請求項１４】
請求項１１記載の装置であって、前記ストリームデータのエラーデータのサイズを決定する手段は、
前記情報ファイルのクロックリファレンスのペアを決定する手段と、
前記決定されたクロックリファレンスのペアに基づき、前記情報ファイルのファイルオフセットのペアを検索する手段と、
前記検索されたファイルオフセットのペアと前記決定されたクロックリファレンスのペアとを合成したものに基づき、前記エラーデータのサイズを決定する手段とを有することを特徴とする装置。
【請求項１５】
請求項１１記載の装置であって、前記ストリームデータに訂正データを挿入する手段は、
前記決定されたファイルオフセットに前記決定されたサイズを有する所定のタイプのデータコンテンツを挿入する手段と、
前記決定されたファイルオフセットにフラグを挿入する手段と、
前記決定されたファイルオフセットにダミーデータを挿入する手段の何れかを有することを特徴とする装置。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、情報ファイルを利用したデータ媒体に対するストリームデータの誤り訂正の実行方法に関する。
【０００２】
本発明はさらに、上記方法を実行するためのコンピュータシステムに関する。
【０００３】
本発明はさらに、上記方法を実行するためのコンピュータプログラムプロダクツに関する。
【０００４】
本発明はさらに、情報ファイルを利用したデータ媒体に対するストリームデータの誤り訂正を実行する装置に関する。
【０００５】
ＥＰ０８７６０６２は、向上した誤り訂正能力を有するデジタル記録及び再生装置とその方法の一実施例を開示している。ＥＰ０８７６０６２は、デジタルビデオテープのデジタルビデオカセットレコーダでのＭＰＥＧ−２ストリーム信号の記録及び再生における誤り訂正の一実施例を開示している。本方法は、データの格納による影響を受けることなく通常再生データの誤り訂正を向上させるため、バッファ、メモリ、内部及び外部訂正符号化装置などの様々なブロックにおいて実現される。
【０００６】
記録処理中、またはストリーミングデータファイルの再生処理前に不具合が発生すると、ストリーミングデータファイルの一部が損失し、当該ストリーミングデータファイルの一部が使い物にならなくなる可能性がある。この損失は、ストリーミングデータファイルが読み出し及び/または書き込み能力を有するデジタルビデオディスク（ＤＶＤ＋ＲＷ）、スーパービデオコンパクトディスク（ＳＶＣＤ）のようなデータ媒体、あるいはメモリへの転送時に発生しうる。
【０００７】
上記問題は、
−情報ファイル及びストリームデータに基づき該ストリームデータにエラーが存在するか判断するステップと、
−前記情報ファイル及び前記ストリームデータに基づき該ストリームデータにおける前記エラーのファイルオフセットを決定するステップと、
−前記情報ファイルと前記ストリームデータに基づき該ストリームデータにおけるエラーデータのサイズを決定するステップと、
−訂正データを前記ストリームデータに挿入するステップとを有するストリームの誤り訂正の実行方法により解決される。
【０００８】
これにより、ストリーミングデータファイルの記録または再生処理におけるストリーミングデータの一部が損失する問題は、一般的に４つのステップによりステップごとに解決される。第１ステップでは、ストリームデータがエラーを含んでいるか、すなわち、データにエラーがあるか、及び/またはデータ損失が発生しているかが判断される。
【０００９】
以降の３つのステップでは、情報ファイル及びストリームデータからの情報を利用して、損失したデータの代わりに適切なデータコンテンツ、すなわち、（第４ステップからの）訂正データを生成及び挿入する。第２ステップからのエラーのファイルオフセット及び第３ステップからの正しいサイズの訂正データが挿入される。従って、データがストリーミングデータから損失する前に、ストリームデータについての情報ファイルへの情報を導出するアプリケーションの必要性がある。
【００１０】
ストリーミングデータの損失部分は、送信あるいはネットワークエラー、ストリーミング記録あるいは再生処理時または処理前のバッファオーバフロー、記録あるいは再生装置への機械的な衝撃、及び/またはデータ媒体上の不正または不良セクタなどによるものであるかもしれない。その結果、データ媒体上に実際に記録されるか、あるいは再生されるメモリに格納されるストリーミングデータファイルの長さは、記録または再生を予定であったストリーミングデータファイルと異なるサイズとなる。このことは、ストリーミングデータの一部におけるデータ損失の発生後、当該ストリーミングデータファイルに損失がなかった時点において情報ファイルに記憶されたファイルオフセット、及び情報ファイルに含まれるようなストリームデータにおける様々なフレームを提供または復号する時点に関する一時的な関係を含む他の情報、すなわち、情報ファイル内のストリームに関する情報が、もはや正しいものではないということを意味している。ファイルオフセットにおける正しいサイズの挿入された訂正データは、情報ファイルにおけるストリームに関する情報が再び正しいものとなることを保証する。
【００１１】
本方法の好適な実施例がクレーム２に記載される。
【００１２】
すなわち、これら３つのステップにおいて、本アプリケーションは、ストリームデータがエラーを含んでいるか、すなわち、いくつかのデータが損失しているか確かめるため、ストリームデータのサイズを情報ファイルからのサイズと比較する。
【００１３】
本方法の他の好適な実施例がクレーム３に記載される。
【００１４】
これら２つのステップでは、情報ファイルからのクロックリファレンス及び/または特徴点がストリームデータのエラーのファイルオフセットの検出に利用される。
【００１５】
本方法の他の好適な実施例がクレーム４に記載される。
【００１６】
これら３つのステップでは、クロックリファレンスのペアを利用して、エラーデータまたは損失データの正しいサイズを決定するのに、ファイルオフセットのペアが検索される。
【００１７】
本方法の他の好適な実施例がクレーム５に記載される。
【００１８】
これら３つのステップでは、訂正データが、所定のタイプのデータコンテンツ、フラッグまたは単なるダミーデータの形式で、ストリームデータにおけるエラーデータまたは損失データを置き換えるためアプリケーションにより挿入される。
【００１９】
他の好適な実施例がクレーム６に記載される。
【００２０】
好適な実施例において、本方法はストリームデータの記録中に実行される。
【００２１】
記録することにより、情報をバッファに配置することが意図され、情報はデータ媒体に物理的に書き込まれなければならない。
【００２２】
好適な実施例では、本方法はストリームデータの再生中あるいはその前に実行される。
【００２３】
しかしながら、ストリームデータの複数の再生後、本方法によりデータ損失の問題に対処することを決定するかもしれない。
【００２４】
本方法は、ＡＶＩ、ＭＰＥＧまたはファイルオフセットを有するストリームデータのようなストリームデータの記録及び/または再生が可能なアプリケーションにより実行される。
【００２５】
本アプリケーションは、ＤＶＤ＋ＲＷ、ＳＶＣＤまたはストリームデータを有するメモリのようなデータ媒体を利用することができる。
【００２６】
上記問題はさらに、情報ファイルを利用したデータ媒体に対するストリームデータの誤り訂正を実行する装置であって、
−情報ファイル及びストリームデータに基づき該ストリームデータにエラーが存在するか決定する手段と、
−前記情報ファイル及び前記ストリームデータに基づき前記ストリームデータの前記エラーのファイルオフセットを決定する手段と、
−前記情報ファイル及び前記ストリームデータに基づき前記ストリームデータにおけるエラーデータのサイズを決定する手段と、
−前記ストリームデータに訂正データを挿入する手段とを有することを特徴とする装置により解決される。
【００２７】
本装置のさらなる詳細な実施例がクレーム１２から１５に記載される。
【００２８】
本装置は、上記方法に関して前述されたものと同様の理由に対して同様の効果を与える。
【００２９】
以下の２つのセクションは、ＭＰＥＧの圧縮、符号化及び復号化方法の簡単な紹介であるが、本発明が説く頂点やタイミング情報を有するストリームデータに一般的に適用されるということを示すことはこの時点において重要である。
【００３０】
ＭＰＥＧ映像ストリームが圧縮されるとき、符号化処理において異なるフレームが生成される。第１段階では、イントラフレームと呼ばれるＩフレームが生成され、フレームグループの以降のフレームはこのＩフレームから予測される。Ｉフレームは、後の映像画像の復号に必要なすべての情報を有する。データを圧縮するため、以前のＩまたはＰフレームから予測フレームは予測される。Ｂフレーム、すなわち、双方向予測フレームは、以降のＩ及びＰフレームを利用する。符号化処理中、符号化装置は、映像ストリームの各フレームを循環し、Ｉ、ＰまたはＢフレーム符号化を利用するかどうか、これらのフレームの合成方法を決定する。おおよそ、１２フレームごとにＩフレームは生成される。多数の変更を有する信号、すなわち、多数の動きを有する画像を含む映像において、符号化処理中、及びその逆の処理において、Ｉフレームがより頻繁に利用される。
【００３１】
符号化処理の逆処理である復号化処理中、一般的に、Ｉ、Ｐ及びＢフレームが映像ストリームの再構成に利用される。しかしながら、さらに、当該ストリームのタイミング情報が映像ストリームの再構成に必要とされる。ＤＴＳ、すなわち、デコードタイミングスタンプ（Ｄｅｃｏｄｅ  Ｔｉｍｉｎｇ  Ｓｔａｍｐ）はフレームを復号する時点をデコーダに通知し、ＰＴＳ、すなわち、プレゼンテーションタイムスタンプ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）はフレームを表示する時点をデコーダに通知する。ＰＴＳとＤＴＳは、ＰＣＲ、すなわち、プログラムクロックリファレンスとして知られるクロックがいわゆるトランスポートストリームに含まれている間に、いわゆるＰＥＳ、すなわち、パケット化エレメンタリストリームに追加される。ここでの重要な特徴は、正しい一時的関係への符号化装置により送信されたＩ、Ｂ及びＰフレームから映像ストリームを再構成する復号化処理を可能にするＤＴＳ及びＰＴＳである。Ｉ、Ｂ及びＰフレームそれ自体は、フレームの復号時または表示時に関する一時的関係を備えていない。
【００３２】
本発明の好適な実施例におけるストリーミングデータを備えたファイルシステムを有する記録システム及び/または再生システムにおいて、ストリームデータに関する情報が導出され、情報ファイルに記録される。ストリームに関する情報を有する情報ファイルは、チャプタのスタート、ＭＰＥＧストリームデータにおけるＩフレームの一例としてのフレーム位置、特徴点のスタート（例えば、コマーシャル、サッカーの試合のゴールシーンなど）のようなファイルオフセットを有するかもしれない。一例として、当該情報はストリームデータのファイルオフセットに基づき、ストリーミングデータがデータ損失により損害を蒙っていない時点において情報ファイルに記憶されてもよい。一例として、特定のデータストリームに属する情報ファイルは完全な形での映画を表し、情報ファイルはインターネット、当該映画の所有者または供給者から提供されたものであるかもしれない。
【００３３】
上記データ損失は、ネットワークまたは送信エラーにより生じるものであるかもしれないし、ストリーミング記録あるいは再生処理におけるバッファオーバフロー、パリティエラーなど、記録装置または再生装置への機械的衝撃によるデータ損失から生じるものであるかもしれない。
【００３４】
本発明は、好適な実施例に関して図面を参照することにより以下により完全に説明される。
【００３５】
図１は、記録または再生処理においてストリームデータの一部が損失したストリームデータの記録または再生方法を示す。参照番号１のストリームデータは、参照番号Ａ、Ｂ及びＣにより表されるストリームデータの部分から構成される。参照番号Ａは、エラーによる影響を受けないストリームデータである。しかしながら、参照番号Ｂは、データ損失の結果によるエラーにより後に影響を受けたストリームデータの一部である。参照番号Ｃは、参照番号Ａ及びＢの系列が記録及び/または再生された後に記録及び/または再生されるストリームデータの他の部分である。言い換えると、Ａ、Ｂ及びＣと共に参照番号１は記録または再生を要したもとのストリームデータを構成する。しかしながら、参照番号２は、ストリームデータの一部である参照番号Ｂの損失が訂正または補償されなかった状況での記録後のストリームデータ及び/または再生されたストリームデータを参照している。参照番号２は、ＤＶＤ＋ＲＷ、ＳＶＣＤなどのデータ媒体上のストリームデータであってもよいし、及び/またはデータ媒体上での再生または書き込み前にメモリに存在するデータであってもよい。言い換えると、データ損失を訂正または補償するアクションがとられない場合、ＡとＣのみがデータ媒体またはメモリに含まれる。
【００３６】
しかしながら、データ損失を訂正または補償するアクションがとられるとき、Ａ及びＣはデータ媒体またはメモリに存在するかもしれない。すなわち、参照番号Ｂの損失の訂正中、参照番号Ａのグループ・オブ・ピクチャ（ＧＯＰ）の開始直前にストリームデータから出て、参照番号Ｃの他のＧＯＰの開始直前に再びストリームデータに入るよう決定されてもよい。
【００３７】
図２は、記録または再生処理においてストリームデータの一部が損失したとき、当該損失に対する訂正または補償が存在するストリームデータの記録または再生方法を示す。この状況は、図１の参照番号Ｂであるストリームデータ部分の損失が、記録または再生処理での本発明の好適な実施例において検出されたというものである。参照番号Ｂの損失は、他のコンテンツのストリームデータの一部、あるいは損失したストリームデータとは異なるフラグである参照番号Ｄに示されるように訂正されるか、あるいは補償される。これにより、参照番号３は記録後かつ参照番号Ｂの損失が訂正あるいは補償されたときの再生準備が整った後のストリームデータ全体を参照する。参照番号３は、ＤＶＤ＋ＲＷ、ＳＶＣＤなどのデータ媒体上のストリームデータであってもよいし、及び/または再生準備されているメモリ上のデータ、またはデータ媒体に書き込まれたデータであってもよい。すなわち、図１の参照番号Ｂの損失を訂正または補償するアクションがとられたとき、ストリームデータの一部であるＡ、Ｄ及びＣのすべてがデータ媒体またはメモリに含まれる。図１の参照番号Ｂに示される以上の位置でストリームデータが損失し、それによってストリームデータの他のコンテンツと置き換えられる状況があるかもしれない。本方法を実行するアプリケーションは、ファイルシステムにより通知されるファイルの長さが情報ファイルのストリームについての情報により示されるファイルの長さと一致しないと決定することができるようにしてもよい。また、アプリケーションはストリームデータの記録中に不具合が発生したことをストリームデータの再生中に検出することができるようにしてもよい。ストリームデータを情報ファイルからのストリームについての情報により分析することにより、アプリケーションはストリームデータのどの部分が損失し、これら該当部分のサイズを正確に伝えることができる。しかしながら、本方法が決定するように（ステップ４００で説明されるように）、エラー前にストリームデータのどこから出て、再び当該ストリームデータの特定のＧＯＰのどこに入る、またはストリームデータのＩフレームまたはＰフレームのどこに入るか正確に知っている必要はないかもしれない。ストリームの中の所在とサイズについての情報により、アプリケーションは図１のＢ部分を置換する長さ及びおそらくコンテンツについてファイルシステムに通知することができるようにしてもよい。参照番号Ｄは、所定のタイプのデータコンテンツまたはフラグであってもよく、あるいはＢ部分を置換するものはなくてもよいし、前述の図面からのもとのストリームデータの参照番号であってもよい。このフラグは、復号化、記録または再生中にアプリケーションにより、映像中の黒い画面やフリーズ、あるいは音声信号のミュートなどを生じる所定のタイプの特定のデータコンテンツを適用するのに認識されるかもしれない。上述のように、参照番号Ｄに対して、本アプリケーションの方法が可能であるかもしれない。ストリームデータの前の分析の結果としてもとのストリームデータのＢ部分を置き換える所定のタイプのデータコンテンツが存在する可能性があるかもしれない。
【００３８】
図３は、情報ファイルとその利用を示す。本発明の好適な実施例では、情報ファイルは以下に示されるような利用とコンテンツを有するかもしれない。参照番号Ａ、Ｂ、Ｃ及び１は、前述の２つの図面と同一の意味を有する。参照番号４は、参照番号Ｅのコンテンツを有する前述の情報ファイルを示す。参照番号５は、情報ファイルのコンテンツＥを拡大したものである。以下の２つの点に焦点があてられる。すなわち、ストリームデータのエラーのファイルオフセットがどのように決定されるか、ストリームデータのエラーデータのサイズがどのように決定されるかという点である。これはＭＰＥＧ２による動画を表すストリームデータに対して実行される。本発明の発想は、ＭＰＥＧ２またはＭＰＥＧによる動画を表すストリームデータに限定されるものではない。本発明により、データストリーム中の特徴点を有するストリームデータの損失問題は、アプリケーションが参照番号４のような特徴点間のリンクとストリームデータのファイルオフセットを有する情報データにアクセスしたとき、あるいはアクセスすることが可能となったときに解決されるかもしれない。この情報ファイルはさらに、クロックリファレンスとファイルオフセット間の関係を有するようにしてもよい。例えば、ストリームデータ内の特徴点は、チャプターの開始、Ｉフレームの位置、コマーシャルのような特定のポイントの開始、サッカーの試合のすべてのゴールシーンなどであるかもしれない。同様の特徴点を有するファイルまたはストリームデータの他の例は、映像及び/または音声情報を有するＡＶＩファイルであるかもしれない。ストリームデータ内の不連続性、すなわち、ストリームデータの一部が損失または不具合を起こした部分が、アプリケーションによる情報ファイルの解析及び当該情報とストリームデータに関する情報との比較時に通知されるようにしてもよい。本アプリケーションは、ストリームデータにデータの損失が発生していないということを確実にするため情報ファイルを解析するようにしてもよい。何れの場合でも、本アプリケーションは、ストリームデータの状態、すなわち、ストリームデータの一部が損失または不具合を起こしているか、あるいはストリームデータにはエラーがないかを決定するため情報ファイル及びストリームデータを解析する必要がある。情報ファイルはディスクまたは他の媒体上にすでに存在していてもよいし、あるいはメモリにあってもよい。情報ファイルは他の損失データの訂正のため前に利用されたものとしてすでに存在していてもよい。前述のように、情報ファイルは、損失データの訂正または補償での利用の必要性があると判断されると、インターネットからダウンロードされるようにしてもよい。情報ファイルを解析することにより、本アプリケーションは、ＰＣＲ、すなわち、プログラムクロックプログラムストリーム（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｐｒｏｇｒａｍ  Ｓｔｒｅａｍ）と、ＳＣＲ、すなわち、システムクロックリファレンス（Ｓｙｓｔｅｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）をチェックするようにしてもよい。参照番号Ｆ１及びＦ２は、プログラムクロックレファレンスまたはシステムクロックレファレンスのセット、以降対応する名称ＰＣＲ１、ＰＣＲ２���びＳＣＲ１、ＳＣＲ２により参照されるものを示す。また、本アプリケーションは、ストリームデータのディスク、メモリまたは他の媒体への記録中にＭＰＥＧパケット及び/または情報ファイルに付加された情報ファイルの他の時間表示またはクロックリファレンスをチェックすることができる。これに関する一例として、ＤＶＲシステムのフィリップスエレクトロニクスにより規定されたＡＰＡＴ、すなわち、アプリケーションパケットアライバルタイム（Ａｐｐｌｉｃａｔｉｏｎ  Ｐａｃｋｅｔ  Ａｒｒｉｖａｌ  Ｔｉｍｅ）がある。
【００３９】
アプリケーションが情報ファイルの解析時にストリームデータに不連続があるということだけ認識している場合では、２つのプログラムクロックリファレンスＰＣＲ１とＰＣＲ２の間のどこか、あるいは２つのシステムクロックリファレンスＳＣＲ１とＳＣＲ２の間のどこかでストリームデータが損失していると判断するかもしれない。
【００４０】
ストリーム内にＭＰＥＧフレームを半数有することを回避するため、ＰＣＲ１とＰＣＲ２との間のすべてのデータ、またはＳＣＲ１とＳＣＲ２との間のすべてのデータが破棄されてもよい。言い換えると、そのような場合、アプリケーションは損失したデータの代わりに訂正データを挿入しないよう決定するかもしれない。さらに、ＧＯＰ、すなわち、グループ・オブ・ピクチャの開始直前にストリームデータから出て、他のＧＯＰの開始直前に当該ストリームに入るか、あるいはＩフレームまたはＰフレームの直前にストリームに入るよう決定されるかもしれない。一般的に、ストリームデータに入る場所、そこから出る場所を決定するのにフレーム及び/またはＧＯＰを考慮することは重要である。
【００４１】
ここで、情報ファイルにおいて、ストリームデータ（エラーによる影響を受けていないストリームデータに対して）のファイルオフセットとＰＣＲタイムとの間のリンクが与えられ、及び/またはストリームデータのファイルオフセットとＳＣＲタイムとの間のリンクが与えられているということに注意することは重要である。一般的に、情報ファイルは、エラーによる影響を受けていないストリームデータに対して複数のファイルオフセット間のリンクと、ファイルオフセットにおけるストリームデータが復号化及び/または表示される時点に対する一時的関係を有する対応する複数のクロックリファレンスを有するようにしてもよい。
【００４２】
アプリケーションがストリームデータからＰＣＲ１やＰＣＲ２のようなプログラムクロックリファレンスのセットまたはＳＣＲ１やＳＣＲ２のようなシステムクロックリファレンスのセットを知っているとき、損失しているストリームデータのファイル部分の長さは、これら２つのファイルオフセットを解析し、ストリームデータのエラーデータのサイズが決定される。一般的に、情報ファイルにおいて、クロックリファレンスの決定されたペアは、ストリームデータ内の損失またはエラーデータのサイズを計算するために、ファイルオフセットの対応するペアの検索に利用される。
【００４３】
参照番号Ｅ１及びＥ２は、ＰＴＳ、すなわち、プレゼンテーションタイムスタンプのセット、あるいはＤＴＳ、すなわち、デコードタイムスタンプのセットを示している。テレビやＭＰＥＧピクチャフレームを議論するときに従来技術により既知であり、ヨーロッパでは一般に５０Ｈｚ、すなわち、４０ｍｓフレームの既知のピクチャのリフレッシュレートによるプレゼンテーションタイムスタンプまたはデコードタイムスタンプから、ストリームデータにおいて損失しているフレーム数の決定が可能であるかもしれず、これにより損失データのサイズの他の測定が与えられる。
【００４４】
本例を続けるに、ストリームデータが２つのプログラムクロックリファレンスの間で、あるいは２つのシステムクロックリファレンスの間で損失し、情報ファイルがファイルオフセットとＰＣＲタイムとのリンク及び/またはファイルオフセットとＳＣＲタイムとのリンクを有すると以前に決定されていると、ストリームデータ内のエラーのファイルオフセットを決定することが可能である。２つのクロックリファレンス（それぞれＰＴＳまたはＤＴＳ）のペアのセットの第１のものである参照番号Ｅ１が情報ファイルからストリームデータのファイルオフセットへのリンクであるとき、ストリームデータのエラー位置がこれにより正確に決定される。
【００４５】
ストリームデータのエラーのファイルオフセットに関する決定された情報と、ストリームデータ内のエラーデータの決定されたサイズにより、以降では損失したデータの代わりに訂正データを挿入することができる。この訂正データは、ストリームデータ内の決定されたファイルオフセットに挿入されるべきサイズを有する所定のタイプのデータコンテンツであるかもしれない。訂正データはストリームデータの決定されたファイルオフセットに挿入されるフラグと同じくらいシンプルなものであってもよい。所定のタイプのデータコンテンツを挿入するとき、本アプリケーションは様々なフレームの正確なフレーム数、フレーム長及び/またはフレームタイプが適切に挿入されていることを確認する必要がある。また、エンプティＰフレームを追加し、さらに、挿入されたデータコンテンツ全体の適切な配置を実現するため、パディングバイト（ｐａｄｄｉｎｇ  ｂｙｔｅ）、すなわち、フレーム挿入可能な他のダミーバイトを利用することができるかもしれない。
【００４６】
図４は誤り訂正方法を示す。ステップ９９において、本方法では、ファイル長やファイルサイズのような様々なファイルの情報アイテムが抽出されるかもしれない。そのような情報の抽出はＤＯＳ及びＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムのような従来のオペレーティングシステムから既知である。変数やフラグなどがデフォルト値に設定される。このステップでは、ストリームデータの記録及び/または再生中に誤り訂正を実行する必要があるように、情報ファイルを利用可能にすることが適切であるかもしれない。情報ファイルは、ディスクまたは他の媒体にあってもよいし、あるいはメモリにあってもよい。情報ファイルは、他の損失データの訂正のため以前に利用されたものとしてすでに存在していてもよい。情報ファイルはインターネットからダウンロードされてもよいし、あるいはコンピュータ読み出し可能媒体上に供給されてもよい。
【００４７】
ステップ１００において、情報ファイルとストリームデータとに基づきストリームデータにエラーが存在するか判断される。ステップ１００は、ステップ１０１、１０２及び１０３を一般化したものである。
【００４８】
しかしながら、これらのステップとは別に、ファイルシステムまたは記録装置により記録処理中にストリームデータにエラーがあるかの検出が可能であるかもしれない。またストリームデータの解析と同時に、タイムベースのモニタリングが行われてもよく、それによってストリームデータ内にエラーがあると結論付けることができるかもしれない。
【００４９】
ステップ１０１において、ストリームデータに基づいて、ストリームデータの第１サイズが決定される。ここで、アプリケーションによりこのストリームデータの長さを決定するためストリームデータがチェックされる。すなわち、ストリームデータの第１サイズがストリーム全体に対して決定される。ストリームデータは図１の参照番号Ａ、Ｂ及びＣのようなデータ損失のないストリームデータであってもよいし、あるいは参照番号ＡとＣが残っている図１のＢ部分のようなデータ損失によりストリームデータは影響を受けたかもしれない。
【００５０】
ステップ１０２において、情報ファイルからの第２サイズが決定される。情報ファイルは、ストリームデータが完全であった時点、すなわち、データ損失やデータ不良による影響を受けていない時点におけるストリームデータについての情報を有する。情報ファイルから、第２サイズのような他のサイズ、すなわち、エラーのないストリームデータの正しいサイズが抽出される。
【００５１】
ステップ１０３において、第１サイズと第２サイズが一致しないとき、エラーが決定される。ステップ１０１と１０２から決定されたサイズの比較により、ストリームデータが不完全である、すなわち、第１サイズと第２サイズが異なっていると判断される。それらが異なっているとき、ストリームデータのどこかでエラーが発生している、すなわち、ストリーミングデータ部分のどこかが損失している可能性が最も高い。ストリーミングデータの一部の損失は、送信あるいはネットワークエラーによるもの、ストリーミング記録または再生処理におけるバッファオーバフローによるもの、記録装置あるいは再生装置への機械的な衝撃によるもの、及び/または記録媒体やメモリ上の不良セクタなどによるものであるかもしれない。この結果、記録媒体上に実際に記録されたり、あるいは再生されるメモリに格納されているストリーミングデータファイルの長さ、すなわち、ステップ１０１から決定される第１サイズは、記録または再生対象であったファイルとは異なるサイズ、すなわち、ステップ１０２から決定される第２サイズを有する。
【００５２】
ステップ２００において、情報ファイルとストリームデータとに基づき、ストリームデータのエラーのファイルオフセットが決定される。ステップ２００はステップ２０１及び２０２を一般化したものである。
【００５３】
ステップ２０１において、情報ファイルにおけるクロックリファレンスや特徴点が決定される。アプリケーションが情報ファイルを解析し、この情報をストリームデータに関する情報と比較すると、ストリームデータの一部が損失していることが判明するであろう。情報ファイルを解析することにより、アプリケーションは、当該ストリームデータがトランスポートストリームの場合にはＰＣＲ、すなわち、プログラムクロックリファレンスを、当該ストリームデータがプログラムストリームである場合にはＳＣＲ、すなわち、システムクロックリファレンスを検索するようしてもよい。また、アプリケーションは当該ストリームデータのディスク、メモリあるいは他の媒体への記録中、ＭＰＥＧパケット及び/または情報ファイルに加えられていてもよい他の時間表示またはクロックリファレンスのために情報ファイルを検索することができるようにしてもよい。クロックリファレンスの他の例として、フィリップスエレクトロニクスによりＤＶＲシステムのため策定されたＡＰＡＴ、すなわち、アプリケーションパケットアライバルタイムがあげられる。上記例において、情報ファイルの解析時にストリームデータに不連続が存在することのみをアプリケーションが知っているとき、ストリームデータは２つのプログラムクロックリファレンスの間で、あるいは２つのシステムクロックリファレンスの間で、あるいは２つのアプリケーションパケットアライバルタイム−クロックリファレンスの間で損失したと決定されるかもしれない。従ってアプリケーションは、情報ファイルの特定のクロックリファレンスが決定されるとき、これら２つのクロックリファレンスの第１のものを選択する。本方法において後にデータを訂正するため、アプリケーションはストリームデータがエラーによる影響を受けていないポイント、すなわち、第１クロックリファレンスから参照されるファイルオフセットから訂正を開始しなければならない。
【００５４】
ステップ２０２において、決定されたクロックリファレンス及び/または決定された特徴点に基づき、情報ファイルのファイルオフセットが検索されてもよい。上述のように、情報ファイルは、ストリームデータ（エラーによる影響を受けていないストリームデータに対して）のファイルオフセットとクロックリファレンスとの間のリンクを有する。情報ファイルはまた、ストリームデータのファイルオフセットと特徴点との間のリンクを有する。
【００５５】
ステップ２０１の第１クロックリファレンス、すなわち、決定されたクロックリファレンスから、あるいは決定された特徴点から、情報ファイルの対応するファイルオフセットが検索される。それによって、本アプリケーションはエラー以前にストリームデータのファイルオフセットを知っているかもしれない。それによってアプリケーションはエラーが決定されたファイルオフセットと次のファイルオフセットとの間にあるということを知っているかもしれない。
【００５６】
ステップ３００において、情報ファイルとストリームデータとに基づくストリームデータ内のエラーデータのサイズが決定されるかもしれない。ステップ３００は、ステップ３０１、３０２及び３０３を一般化したものである。
【００５７】
ステップ３０１において、情報ファイルのクロックリファレンスのペアが決定される。ステップ２０１に説明されるように、アプリケーションは、情報ファイルを解析すると同時に、エラーを含むストリームデータを解析するとき、２つのクロックリファレンスの間にデータの損失があったと判断するかもしれない。これにより、このクロックリファレンスペアがこれら２つのクロックリファレンスとして決定されるかもしれない。
【００５８】
ステップ３０２において、決定されたクロックリファレンスペアに基づき、情報ファイルのファイルオフセットのペアが検索されるかもしれない。一般的に、情報ファイルはファイルオフセットとクロックリファレンス間のリンクを有するかもしれない。これにより、情報ファイルを検索することにより、アプリケーションはステップ３０１からのクロックリファレンスペアからファイルオフセットペアを検出するかもしれない。
【００５９】
ステップ３０３において、検索されたファイルオフセットペアと決定されたクロックリファレンスペアとの合成に基づき、エラーデータのサイズが決定されてもよい。一例として、クロックリファレンスはデコーダにフレームを表示すべき時点を通知するプレゼンテーションタイムスタンプのタイプであるかもしれない。クロックリファレンスペアが既知であるとき、エラーデータあるいは損失データのデュレーション（ｄｕｒａｔｉｏｎ）を表すクロックリファレンスペア間の差が計算される。上記ステップから決定されたファイルオフセットペアは、置換されるエラーデータのサイズの確認または微調整を行う計算部であるかもしれない。
【００６０】
ステップ４００において、訂正データがストリームデータに挿入される。一般に、ステップ４００において、エラーデータの代わりに他のデータコンテンツが挿入される。ステップ４００は、ステップ４０１、４０２及び４０３を一般化したものである。しかしながら、本アプリケーションは、ステップ４００において、ステップ４０１、４０２及び４０３のうちの１つの実行を決定しさえすればよい。なぜなら、これら３つのステップは損失データの置換に対して代替的なものであるからである。前述のように、本ステップにおいて訂正を考慮するとき、あるいは訂正データを挿入するとき、アプリケーションは損失データの代わりに訂正データを挿入しないよう決定するようにしてもよい。ＧＯＰの開始直前にストリームデータから出て、他のＧＯＰの開始直前、あるいはＩフレームまたはＰフレームの直前にストリームに再び入るよう決定されてもよい。このことは、再生中訂正データが以下の効果、すなわち、参照番号Ａのどこかでストリームデータから出て、参照番号Ｃのどこかにストリームデータに再び入るという効果を有するかもしれない。
【００６１】
ステップ４０１において、決定されたファイルオフセットでの所定のサイズを有する所定のタイプのデータコンテンツが挿入されるかもしれない。本アプリケーションは、最善のデータコンテンツ、すなわち、ストリームデータにおいてデータが損失したことを最も適切な方法で隠す解決策を検出するため複数の異なる代替的なデータコンテンツ間で選択を行ってもよい。この決定において、アプリケーションはさらに、どのデータコンテンツが、すなわち、図２の参照番号Ｄが、ストリームデータの符号化中、選択の記録または再生されたストリームデータが、以下のストリームデータ、すなわち、図２の参照番号Ｃとできるだけ迅速に同期化するということを最善の方法により保証するかを考慮するかもしれない。（ステップ３００から）正しいサイズを有する選択されたデータコンテンツ、すなわち、所定のタイプのデータコンテンツが、決定されたファイルオフセット（ステップ３００から）に挿入される。この所定のタイプのデータコンテンツは、ミュートされた音声信号、フリーズされた画像、あるいは黒の画面を表すストリームデータの一部を有するかもしれない。
【００６２】
ステップ４０２において、決定されたファイルオフセットにおけるフラグが挿入されてもよい。ステップ４０１の代わりに、フラグが挿入されてもよい。このフラグは、前述のステップで挿入されたデータより小さなデータから構成されてもよい。逆に、フラグはまた損失データのサイズに関する情報を有するようにしてもよい。フラグは簡単な方法により、フラグがあるときある特定のアクションがとられなければならないということをストリームデータに通知するのに利用されるかもしれない。このアクションは、ストリームデータの符号化において以下のストリームデータの一部をスキップすること、及び/または他のファイルオフセット（それは特徴点であるかもしれない）にジャンプすることであるかもしれない。フラグはまた、所定のデュレーションを有するミュートされた音声信号として、あるいはフリーズされた画像として、あるいはカラー画面を提供するものとして解釈されるかもしれない。フラグは符号化処理中アプリケーションをトリグ（ｔｒｉｇ）して（サイズにより）以下で無効なデータを受信するかもしれず、アプリケーションはデコーダを「最終フレーム繰り返しモード」などに置くような適切なものとされてもよい。
【００６３】
しかしながら、フラグが単に挿入されるときでさえ、正しいサイズのデータコンテンツがオフセットに依然として挿入される必要がある、すなわち、フラグの後にダミーデータが正しいサイズとなるよう挿入される必要があるもしれないということに注意することが重要である。
【００６４】
ステップ４０３において、ダミーデータが決定されたファイルオフセットに挿入される。ステップ４０１または４０２の代わりとして、アプリケーションは重要な訂正データでなくダミーデータを挿入することを決定するかもしれない。ダミーデータによる解決策は、ストリームデータにおいてデータが損失したことを隠す最も良い方法であるかもしれない。２つの選択肢、すなわち、ステップ４０１と４０２は、これらステップの何れかからの挿入されたストリームデータが再生されるとき、ユーザに良くない経験を与えるアーチファクトがこれらのステップにおいて生成されるという点で、問題を悪化させるかもしれない。さらに、ステップ４０３は、再生されるストリームデータが（損失データにより検出されたエラーの点で）以下の残りのストリームデータとできるだけ迅速に同期化することを保証するかもしれない。言い換えると、ストリームデータの一部が損失していると判断されたとしても、最善の方法は、些細な処理、すなわち、ストリームをできるだけ変更しないままにすることであるかもしれない。しかしながら、正しいサイズを有するが、再生中において重要な意味を持たない（ダミーデータ）データコンテンツが依然としてオフセットに挿入される必要がある。すなわち、ダミーデータなどが正しいサイズとなるよう挿入される必要があるかもしれない。
【００６５】
本アプリケーションはさらに、ストリームデータの半分のＭＰＥＧフレームで終わることを回避することを決定するかもしれず、２つのクロックリファレンス間のすべてのデータが破棄され、他のデータコンテンツにより置き換えられないかもしれない。アプリケーションは、損失したデータの代わりに訂正データまたはダミーを挿入しないと決定するかもしれない。アプリケーションは、ストリームデータのエラーが些細なものであるため、データの挿入を行わないことがより良いと考えるかもしれない。すなわち、エラー後すぐに復号化され、以下のストリームデータとの同期が迅速に確保される。
【００６６】
通常、本方法は、好ましくは、それが実行されるシステムの電源がオンしている限り、再び最初からスタートする。そうでない場合、本方法はステップ５００において終了する。しかしながら、システムの電源が再び入れられると、ステップ１００から再び進行する。
【００６７】
ストリームデータファイルには、複数の不良な位置、すなわち、データが損失しているストリームデータの複数の位置が存在する可能性がある。ストリームデータと情報ファイルを解析することにより、不良な位置が検出されるかもしれない。本発明は、ＤＶＤ＋ＲＷやＳＶＣＤのようなストリームデータを利用したアプリケーションにおいて有益である。本方法が実行される単一のシステムでは、情報ファイル、すなわち、記録処理と近接するストリームデータに関する情報を生成することが可能であるかもしれない。この方法では、ストリームデータに関する情報が、記録処理において不具合が発生したことをアプリケーションが通知した場合、即座に調整されうる。
【００６８】
図５は、概略的に本発明による装置の一実施例を示す。装置６００はＤＶＤレコーダである。それはまたＤＶＤ＋ＲＷ、ＳＶＣＤ、メモリ、ＣＤ、フロッピー（登録商標）のようなデータ媒体にデータファイルをストリーミングすることができる他の任意の装置であってもよい。装置６００は、汎用メモリ６０２、ドライバメモリ６０８、中央処理ユニット６０４及びソフトウェアバス６１０を有し、データ媒体６０６及びブロードキャストステーション（ｂｒｏａｄ  ｃａｓｔ  ｓｔａｔｉｏｎ）６１２に接続される。汎用メモリ６０２は、本発明による方法の実施例を実行するため設計されたコンピュータ読み出し可能コードを有する。汎用メモリ６０２、ドライバメモリ６０８及びＣＰＵ６０４はソフトウェアバス６１０を介して互いに接続されている。ドライバメモリ６０８は、例えば、ブロードキャストステーション６１２からケーブルまたは衛星接続を介してデータストリームを受信するよう設計されたコンピュータ読み出し可能コードから構成される。さらに、ドライバメモリ６０８は、ＤＶＤのようなデータ媒体６０６から/へのデータストリームの読み出し/書き込みを行うよう設計されたコンピュータ読み出し可能コードから構成される。
【００６９】
コンピュータ読み出し可能媒体は、磁気テープ、光ディスク、デジタルビデオディスク（ＤＶＤ）、コンパクトディスク（書き込み可能ＣＤまたは書き換え可能ＣＤ）、ミニディスク、ハードディスク、フロッピー（登録商標）ディスク、スマートカード、ＰＣＭＣＩＡカードなどであってもよい。
【図面の簡単な説明】
【００７０】
【図１】図１は、データ損失を有するストリームデータの記録または再生方法を示す。
【図２】図２は、図１のデータ損失に対する訂正または補償がある場合のストリームデータの記録または再生方法を示す。
【図３】図３は、情報ファイル及びその利用を示す。
【図４】図４は、誤り訂正方法を示す。
【図５】図５は、本発明による装置の一実施例を概略的に示す。
【図１】
2005516493.tif 000003
【図２】
2005516493.tif 000004
【図３】
2005516493.tif 000005
【図４】
2005516493.tif 000006
【図５】
2005516493.tif 000007
【国際調査報告】
2005516493.tif 000008
2005516493.tif 000009
2005516493.tif 000010