(57)【要約】【課題】  ＥＣＣデコードエラー発生時においてもショックプルーフメモリでのバッファオーバーラン現象を回避し、ＭＰＥＧデコーダにエラーのないＭＰＥＧ規格に準拠したデータ構造のＭＰＥＧデータを供給し、映像または音声の乱れによるユーザーへの不快感を低減することが可能なディスクドライブ装置を提供する。【解決手段】  ディスク１０５からのＭＰＥＧデータ再生読み出し時、ＥＣＣデコーダ１０２で読み出しブロックデータのエラー訂正処理に失敗した場合に、エラー訂正に成功するまで、再度ディスクからのデータ読み出しとエラー訂正処理を行うと共に、ショックプルーフメモリ１０３に蓄積されている先読みデータ残量のトレースを行い、残量に応じて再生モードを動的に変化させる。【選択図】        図１
2005243083.tif 000002
【特許請求の範囲】
【請求項１】
ランダムアクセス可能なディスク状記録媒体上に記録された映像及び音声信号の符号化圧縮を施したＭＰＥＧデータを、ＥＣＣブロック単位でショックプルーフメモリに読み出し、前記ブロックデータをＥＣＣブロックにおいてエラー訂正を行った後、ＭＰＥＧデコーダでＭＰＥＧデータの復号伸長を行うディスクドライブ装置において、
前記読み出しブロックデータのエラー訂正処理の失敗時にブロックのエラー訂正処理に成功するまで対応するディスク上の物理ブロックからのブロックデータ読み出し処理及びＥＣＣデコーダでのエラー訂正処理を繰り返すリトライ処理を行う手段と、
前記ショックプルーフメモリ上に蓄積されているブロックデータに対して、記録媒体からの読み出し済みブロックデータサイズまたはアドレス情報、及びＥＣＣエラー訂正済みブロックデータサイズまたはアドレス情報、ＭＰＥＧデコード済みブロックデータサイズまたはアドレス情報の３つのパラメータ値をリアルタイムにトレースする手段と、
前記パラメータ値がショックプルーフメモリサイズの最大サイズまたはアドレスに達した場合に、先頭アドレスに折り返すように更新する手段と、
前記パラメータのＥＣＣデコード済みサイズとＭＰＥＧデコード済みサイズとの差分値と所定の再生実行閾値とを比較する手段と、
前記比較手段の比較結果に基づいて前記差分値が再生実行閾値以下の場合には、前記ＭＰＥＧデコーダの復号スピードを下げるスロー再生処理、又は前記ＭＰＥＧデコーダの復号処理を一旦停止させ、現在表示中の映像信号を連続して表示しつづける一時停止処理を実行する制御手段とを備えたことを特徴とするディスクドライブ装置。
【請求項２】
前記再生実行閾値はＭＰＥＧ規格のプロファイル及びレベルで規定されている最大サイズをＶＢＶｍａｘとする場合、［１＋（１／（ｎ−１））］×ＶＢＶｍａｘで規定され（ｎは整数で、スロー再生スピードの逆数を示す）、前記ＥＣＣデコード済みサイズとＭＰＥＧデコード済みサイズとの差分値Ｄｉｆｆと前記再生実行閾値との関係が、
Ｄｉｆｆ≦［１＋（１／（ｎ−１））］×ＶＢＶｍａｘ
を満たす時に、前記制御手段はＭＰＥＧデコーダの復号スピードを下げるスロー再生処理を行うことを特徴とする請求項１に記載のディスクドライブ装置。
【請求項３】
前記再生実行閾値はＭＰＥＧ規格のプロファイル及びレベルで規定されている最大サイズＶＢＶｍａｘであり、前記ＥＣＣデコード済みサイズとＭＰＥＧデコード済みサイズとの差分値Ｄｉｆｆと前記再生実行閾値との関係が、
Ｄｉｆｆ＞ＶＢＶｍａｘ
を満たさない時に、前記制御手段はＭＰＥＧデコーダの復号処理を一旦停止させ、現在表示中の映像信号を連続して表示しつづける一時停止処理を実行することを特徴とする請求項１に記載のディスクドライブ装置。
【請求項４】
前記制御手段は、前記一時停止処理の時間が予め設定された最大一時停止時間を経過しても、或いは予め設定された最大リトライ回数を超えても、リトライ処理によるエラー訂正処理が連続的に失敗する場合には、現在復号再生中ＧＯＰデータの直後のＧＯＰデータ先頭に相当するディスク上のブロック位置へジャンプし、当該ブロックからのディスク読み込みとＥＣＣデコーダによるエラー訂正のリトライ処理を行い、通常再生モードでの表示出力を継続することを特徴とする請求項１〜３のいずれか１項に記載のディスクドライブ装置。
【請求項５】
前記最大一時停止時間ＰＴｍａｘは、
ＰＴｍａｘ＝２×（１ＧＯＰを構成するフレーム数）×（フレームレート）
であることを特徴とする請求項４に記載のディスクドライブ装置。
【請求項６】
前記ＭＰＥＧデコーダのスロー再生処理及び一時停止処理は、前記ＥＣＣデコードエラーに起因するディスク読み出しとＥＣＣデコーダにおけるエラー訂正のリトライ処理と並列して行うことを特徴とする請求項１〜５のいずれか１項に記載のディスクドライブ装置。
【請求項７】
前記制御手段は前記リトライ処理によるエラー訂正成功によってショックプルーフメモリ上のＥＣＣデコード済みブロックアドレスとＭＰＥＧデコード済みアドレスの差分値が、前記再生実行閾値よりも大きな値を取る場合には、前記ＭＰＥＧデコーダの復号スピードを通常再生時のスピードに復帰させることを特徴とする請求項１〜６のいずれか１項に記載のディスクドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル動画圧縮技術規格（Moving Picture Experts Group：以下ＭＰＥＧと呼称）を用いて、符号化ディジタル映像データとディジタル音声データを時分割多重化したＭＰＥＧ−２ストリームデータをディスク状記録媒体に記録し、或いは記録情報を再生するディスクドライブ装置に関するものである。
【背景技術】
【０００２】
図６は画像データを記録／再生するディスクドライブ装置の構成を示すブロック図である。図中１０１はＭＰＥＧデコーダ、１０２はＥＣＣデコーダ、１０３はショックプルーフメモリである。また、１０４は光ディスク等のディスク状記録媒体（以下ディスク）１０５にデータの読み書きを行う記録／再生部、１０６は装置内の各部を制御するデータバスコントローラである。
【０００３】
ディスク１０５からの再生読み出し処理は、通常、ＥＣＣデコーダ１０２がエラー訂正を行うブロックと呼ばれる処理単位でディスク１０５からデータを読み出し、ショックプルーフメモリ１０３に記録する。引き続いてＥＣＣデコーダ１０２でエラー訂正処理を行い、ＭＰＥＧデコーダ１０１で復号伸長を行い、画像出力を連続的に行う。ところで、ショックプルーフメモリ１０３のデータ蓄積可能最大量は有限であり、ディスク１０５からの読み込みスピード及びＭＰＥＧ復号スピードに合わせて循環的に使用している。
【０００４】
図７はディスク再生装置のショックプルーフメモリ１０３内のディスク読み込み済みデータ占有量（ディスクリード）及びＥＣＣデコード済みデータ占有量（ＥＣＣデコード）、ＭＰＥＧデコード済みデータ占有量（ＭＰＥＧデコード）の時間による変化を示す。図７において、Ａ、Ｂ、Ｃ、Ｄは１回の読み込みデータ量である。また、ｔ（ｅｃｃ＿ｓｔａｒｔ）はＥＣＣデコーダ１０２の最初の開始タイミング、ｔ（ｍｐｅｇ＿ｓｔａｒｔ）はＭＰＥＧデコーダ１０１の最初の開始タイミングを示しており、各々所定データ量になったらＥＣＣデコードやＭＰＥＧデコードを開始する。
【０００５】
図７に示すようにショックプルーフメモリ１０３内には、ディスク１０５からのデータ読み出しによってデータが供給され、データを順次ＥＣＣデコーダ１０２によるエラー訂正処理とＭＰＥＧデコーダ１０１による復号再生処理による消費をリアルタイムに並列して行う。
【０００６】
これらショックプルーフメモリ内のディスクからの読み出しデータ量、ＥＣＣデコード済みデータ量、ＭＰＥＧデコード済みデータ量を逐次トレースすることによって、最初のＭＰＥＧデータの復号開始時間が分かり、最大値となったところで初期位置に折り返すことが可能となり、有限サイズメモリの有効利用を実現している。
【０００７】
また、通常ディスクからのデータ読み込みスピードは、ＭＰＥＧデータスピードに比べて十分高速なため、ディスクからのデータ読み出し処理を間欠的に行い、サーボ制御回路の消費電力抑制を実現できるのもこのショックプルーフメモリ内のデータ量トレースと制御によるものである。
【０００８】
図８と図９はディスク上に記録されるＭＰＥＧ−２ストリームのデータ構造を示す。図８はＭＰＥＧ−２エレメンタリーストリーム（ＥＳ）のデータの構造、図９はＭＰＥＧ−２プログラムストリーム（ＰＳ）のデータ構造を示す。
【０００９】
現在、公知技術としてＩＳＯ／ＩＥＣ１３８１８において規定されるＭＰＥＧ規格は、日本国内及び欧米における衛星ディジタル放送や地上波ディジタル放送等においての映像及び音声信号を伝送するデータ方式としてＭＰＥＧ−２ＴＳ（トランスポートストリーム）方式が、読み出し専用のディジタル多用途ディスク（ＤＶＤ−ＲＯＭ）や半導体メモリカード（ＳＤカード）に記録される映像及び音声信号データ方式としてはＭＰＥＧ−２ＰＳ（プログラムストリーム）形式が採用されている。
【００１０】
本願明細書の背景技術及び実施の形態では、ＭＰＥＧ−２ＰＳ形式のデータをディスク上に記録するものとして説明するが、本発明はＭＰＥＧ−２ＴＳに関しても適用可能である。ＰＳとＴＳの形式の違いは音声と映像の多重化方式と運用方法の違いだけであり、図８に示すエレメンタリーストリーム（ＥＳ）の基本となるデータ構造は同じである。
【００１１】
次に、ＭＰＥＧ−２ＥＳのデータ構造について説明する。映像データに関するＥＳの構造は、図８に示すようにシーケンス、ＧＯＰ（グループオブピクチャ）、ピクチャ、スライス、マクロブロック、ブロックの複数階層レイヤで構成されており、大きな単位から局所的なブロックに分解される。
【００１２】
次に、シーケンス層及びＧＯＰ層、ピクチャ層に関して概略を説明する。まず、シーケンス層は一番上位の階層で、シーケンスヘッダから開始される。次に、シーケンス拡張コードでＭＰＥＧ−１とＭＰＥＧ−２のビットストリームの識別を行う。一般に、一つのシーケンスが一つのビデオ全体を示す。シーケンスの最後はシーケンス終了コードで終わる。シーケンス層は基本的に一つ以上のＧＯＰ構造からなる。
【００１３】
シーケンスヘッダは符号化画像サイズ、アスペクト比、フレームレート（秒何枚の画像）、符号化レート、ＶＢＶバッファサイズ、量子化マトリクス等の情報からなる。シーケンス拡張コードとして、プロファイル、レベル、色差フォーマット、プログレッシブシーケンスが指定される。
【００１４】
次に、ＧＯＰ層はＧＯＰヘッダで開始される。ＧＯＰ層は一つ以上のピクチャから構成され、ＧＯＰ層の最初はIピクチャから始まる。ＧＯＰヘッダとして、タイムコード、broken linkフラグやＧＯＰの独立性を示すclosed gopコードがある。
【００１５】
これらのコードはランダムアクセス時の不当なＢピクチャ表示の回避や編集時ＧＯＰカット時のフラグとして用いることができる。ＧＯＰの長さは任意だが、通常は１２、１５フレームが一般的に用いられる。
【００１６】
次に、ピクチャ層はピクチャヘッダで符号化条件が設定される。ピクチャヘッダ情報内のパラメータには、ＧＯＰ内の表示順序を示す画像番号を示すテンポラルリファレンス、ピクチャ符号化タイプＩ、Ｐ、Ｂを示すpicture coding typeが設定されている。また、vbv delayでＶＢＶ（Video Buffering Verifier）の復号開始までの遅延量が決められる。ピクチャヘッダに続くピクチャ符号化拡張では、f_codeで前後方向及び水平垂直方向の動きベクトルの範囲が指定される。また、イントラマクロブロックのＤＣ係数の精度設定、ピクチャ構造情報でフレーム構造かフィールド構造かが決められる。
【００１７】
一方、音声データ（オーディオエレメンタリーストリーム）に関するＥＳの構造は、オーディオフレームの繰り返しで構成されている。オーディオフレームは、ヘッダ、音声データの部分から構成されている。ヘッダには一連のオーディオシーケンスに関する情報が含まれている。ヘッダは各フレーム毎に付属されているが、基本的に同じ内容である。
【００１８】
もし必要であれば、シーケンスの途中でヘッダのパラメータを変更することも可能である。例えば、曲の進行に合わせてビットレートを変更する可変ビットレートに適用することができる。また、ヘッダにはフレームの同期情報（sync word）が含まれており、画像と同期を取りながら一定レートで音声を再生することができる。
【００１９】
図９は上記映像と音声別々のエレメンタリーストリームを一つのプログラムとして多重化したデータ構造を示す。パケッタイズドエレメンタリーストリーム（ＰＥＳ）パケットは、図９に示すように可変長のＰＥＳヘッダとペイロード部から構成される可変長パケットであり、ペイロード部にはＭＰＥＧビデオ及びオーディオ等のＥＳやユーザー定義のストリーム（プライベートストリーム）等が配置されている。
【００２０】
ＰＥＳヘッダには、対象となるピクチャフレームの表示時間を設定するＰＴＳ（Presentation Time Stamp）や、デコード時間を設定したＤＴＳ（Decoding Time Stamp）のほか、ＰＥＳパケット単位でスクランブルを行うための制御信号、著作権の有無を示すフラグ、ＣＲＣ（Cyclic Redundancy Check）誤り検出符号等の情報が含まれている。
【００２１】
プログラムストリーム（ＰＳ）は「パック」と呼ばれる可変長ブロックを単位とする連続したストリームであり、パックはパックヘッダと複数のＰＥＳで構成されている。一つのパックに含まれているＰＥＳのデータは、映像及び音声等の各構成要素のおおむね同じ時間範囲で再生される情報が集まったものである。
【００２２】
尚、本願明細書の背景技術及び実施の形態においては、ＥＣＣの処理及びディスクアクセス単位をより簡易にするためにプログラムストリームのＰＳパックが複数集まったものが１ＥＣＣブロック単位のサイズに等しくなるように構成することを前提とする。
【００２３】
次に、ＭＰＥＧストリームの復号手順について説明する。上記プログラムストリームのデータ構造で、ＥＣＣブロック単位で図６のディスク１０５上に記録されたＭＰＥＧー２データをディスク１０５からショックプルーフメモリ１０３に読み出し、ＭＰＥＧデコーダ１０１に転送し、復号伸長処理を行い表示出力する方法に関して説明する。
【００２４】
図１０はディスク上に記録されているピクチャデータの記録順と、実際のＭＰＥＧデコーダにおける復号再生処理再生順を示す。まず、ＭＰＥＧ−２ストリームはＩ、Ｂ、Ｐの三種類のピクチャにより構成されている。
【００２５】
Ｉフレームはそのフレーム自身で復号可能であるが、Ｐフレームは前のＩまたはＰピクチャを参照することにより復号処理を行い、Ｂピクチャは前後のＩまたはＰピクチャを参照することによって復号処理を行う。即ち、デコーダの内部ではＩまたはＰのような参照フレームを復号後、ＲＡＭのようなバッファメモリに蓄積し、参照ピクチャを用いたＢピクチャの復号再生処理後に表示出力がなされるようにピクチャデータの再配列を行う。
【００２６】
図１１はＭＰＥＧデコーダ１０１のブロック構成図を示す。ＰＳの形式でＭＰＥＧデコーダに入力されたデータは、始めに映像か音声かの判断を行い、次段回路へのデータ方向のスイッチングを行う分離器１１０に入力される。
【００２７】
分離器１１０で映像と音声にそれぞれ分離されたＥＳ形式のデータは、各アクセスユニットの単位（映像ではピクチャ、音声では音声フレーム）になるまで、バースト的にエレメンタリバッファ１１１に蓄積される。エレメンタリバッファ１１１に１ピクチャを構成する分のデータが蓄積された段階で、次段の復号伸長器（デコーダ）１１２に入力される。
【００２８】
音声に関しても同様である。但し、映像データの場合には、ＩまたはＰピクチャの復号再生は復号伸張器１１２での復号伸長後、即時に表示出力されるのではなく、再配列バッファ１１３に前方又は後方参照ピクチャとして一旦蓄積され、後続のＢピクチャを復号するために用いられる。このため、再配列バッファ１１３には、少なくとも予測フレームであるＢピクチャの映像データを再構築するためには、時系列で言う過去に相当するＩ又はＰピクチャデータと、未来に相当するＩ又はＰピクチャデータの２つが蓄積されなければならない。過去に相当するＩ又はＰピクチャデータを蓄積するバッファを再配列バッファ１１３−１、未来に相当するＩ又はＰピクチャデータを蓄積するバッファを再配列バッファ１１３−２とする。
【００２９】
また、再配列バッファ１１３のピクチャデータの破棄は、参照するＢピクチャの表示出力後、遅延を持って時系列としては過去のピクチャデータから廃棄（即ち、復号再生）され、新たな参照ピクチャが蓄積されるようにデータ転送方向の切り替えを行う。
【００３０】
これら一連のＭＰＥＧデコーダ内で行われる復号再生に関する各ピクチャの復号伸長処理、表示出力処理及び再配列バッファ内に蓄積される参照ピクチャのタイムチャートを図１２に示す。Ｉ１フレームの復号後、即時に表示出力されずにＢ２，Ｂ３フレームの表示出力が完了するまで再配列バッファ１１３に蓄積されている様子が分かる。
【００３１】
ところで、上述のように、通常、ディスク１０５からショックプルーフメモリ１０３上に読み出したブロックデータに対しては、ＥＣＣデコーダでエラー訂正処理を行う。この時、ディスク面の傷やホコリ、使用環境に依存した経時劣化等の原因によりエラー訂正に失敗した場合には、復旧処理としてエラー訂正に失敗したブロックに対応するディスク１０５上の物理アドレスから再度同じショックプルーフメモリ１０３の位置にブロックデータの読み出しと、エラー訂正処理をリトライする。
【００３２】
図１３はディスク上のあるブロック位置でエラー訂正に失敗した時と、その後の復旧処理に成功した場合におけるショックプルーフメモリ１０３内のデータ遷移量を示す。図１３において、×印はエラー訂正に失敗した位置を示しており、この場合には、上述のようにエラー訂正に失敗したブロックに対応するディスク１０５上の物理アドレスから再度同じショックプルーフメモリ１０３の位置にブロックデータの読み出しを行い、エラー訂正処理のリトライを行う。
【００３３】
しかしながら、このようなリトライ処理によっても、また同じブロックデータについてエラー訂正に失敗することが連続的に発生すると、図１４に示すようにショックプルーフメモリ１０３上のＥＣＣデコード済みのデータに位置を、ＭＰＥＧデコーダ１０１のデコード済みデータ位置が追い越してしまう。即ち、エラー訂正が済んでいないブロックデータの復号処理をしてしまうというバッファオーバーラン現象が発生する。
【００３４】
バッファオーバーラン現象は、ＭＰＥＧデコーダ１０１にＭＰＥＧ規格に準拠しないデータエラーを持ったデータを供給してしまうことになるため、視聴覚的には映像や音声信号の乱れを引き起こし、ユーザーに強い不快感をもたらす。
【００３５】
そこで、このようなＥＣＣデコードエラー発生時に起因するバッファオーバーラン現象の回避策として、例えば、エラー訂正に失敗してもそのエラーレベル（エラー発生率と種類）に応じて復旧処理をせずにそのままＭＰＥＧデコーダにブロックデータ供給する方法がある。また、エラー訂正に失敗したブロックの直後のブロックをディスクから再読み込みを行う復旧処理方法がある。これらの技術は一般に行われている。
【００３６】
図１５はＥＣＣエラー発生時にエラーレベルに応じて復旧処理をせずにそのままＭＰＥＧデコーダに供給する方法によるショックプルーフメモリ内のデータ量遷移を示す。この方法は、ＥＣＣデコードエラーが発生した場合には、ＥＣＣデコーダのレジスタからＥＣＣのエラー訂正数と発生位置が取得できるようにし、この値から発生したエラーがランダムデータなのか、それともバースト的なエラーなのかを判別し、ディスクからの再読み込みでエラー訂正できるブロックデータであれば、ディスクからの再読み込みと復旧処理を行うものである。
【００３７】
バースト的なエラーデータは、通常ディスク面の傷等で再読み込みを行ってもＥＣＣデコードによる訂正は不可能であるため、復旧処理が成功することは期待できず、バッファオーバーランを回避するためにもそのまま次のブロックデータの読み出しを行う。
【００３８】
また、図１６はもう一つの方法としてＥＣＣエラー発生時に、エラー発生ブロックの直後のブロックに相当するディスク上の物理アドレスから、再読み込みと復旧処理を行う方法によるショックプルーフメモリ内のデータ量遷移を示す。
【００３９】
この方法は、ＥＣＣデコードエラーが発生した場合には、エラー発生ブロックに相当するディスク上の直後のブロックからデータ読み出しとＥＣＣデコードの復旧処理を行い、ＭＰＥＧデコーダにはエラーデータを供給しないようにしている。そして、同じブロックデータでの連続ＥＣＣデコード処理をしないことによってバッファオーバーラン現象の発生を回避している。
【００４０】
なお、これらに関連する技術としては、特許登録第２８２７４９９号公報（特許文献１）、特許登録第２９９５８２２号公報（特許文献２）、特許登録第３１４１２４２号公報（特許文献３）、特許登録第３１７３９４２号公報（特許文献４）等がある。
【特許文献１】特許登録第２８２７４９９号公報
【特許文献２】特許登録第２９９５８２２号公報
【特許文献３】特許登録第３１４１２４２号公報
【特許文献４】特許登録第３１７３９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００４１】
図１５の方法においては、エラー訂正に失敗したデータをそのままＭＰＥＧデコーダに供給することになるため、ＭＰＥＧデコーダ内部でのエラー耐性機能が実装されていない限り、映像や音声信号の乱れは残ったままとなり、シーケンスヘッダやピクチャヘッダ等の復号伸長時に必要な重要なパラメータにエラーが存在する場合は、ＭＰＥＧデコーダ自体が停止してしまう恐れがあった。
【００４２】
また、発生したＥＣＣでコードエラーがリトライ処理によってもランダムエラーであった場合には、連続してディスクからのデータ読み出しとＥＣＣでコードを行うために、バッファオーバーランの現象を完全に抑制することは困難であった。
【００４３】
更に、図１６の方法においてもＥＣＣデコードエラーにならないブロックデータをＭＰＥＧデコーダに供給できたとしても、エラーの発生したブロック１個分に相当するデータをＭＰＥＧストリームからスキップすることになるため、図８及び図９にあるようなＭＰＥＧストリームのデータ構造でなくなってしまう可能性が残存してしまう。
【００４４】
そのため、図１５の方法よりも大幅に低減されるが、依然として映像或いは音声信号の乱れが生じてしまう可能性があった。更には、ＥＣＣデコードエラーが複数ブロックに渡って発生してしまう場合には、復旧処理そのものを何度も行うことになってしまうため、バッファオーバーラン現象が発生してしまう問題があった。
【００４５】
本発明は、上記課題に鑑みなされたもので、その目的は、ＥＣＣデコードエラー発生時においてもショックプルーフメモリでのバッファオーバーラン現象を回避し、ＭＰＥＧデコーダにエラーのないＭＰＥＧ規格に準拠したデータ構造のＭＰＥＧデータを供給し、映像または音声の乱れによるユーザーへの不快感を低減することが可能なディスクドライブ装置を提供することにある。
【課題を解決するための手段】
【００４６】
本発明は、上記課題を解決するため、ランダムアクセス可能なディスク状記録媒体上に記録された映像及び音声信号の符号化圧縮を施したＭＰＥＧデータを、ＥＣＣブロック単位でショックプルーフメモリに読み出し、前記ブロックデータをＥＣＣブロックにおいてエラー訂正を行った後、ＭＰＥＧデコーダでＭＰＥＧデータの復号伸長を行うディスクドライブ装置において、前記読み出しブロックデータのエラー訂正処理の失敗時にブロックのエラー訂正処理に成功するまで対応するディスク上の物理ブロックからのブロックデータ読み出し処理及びＥＣＣデコーダでのエラー訂正処理を繰り返すリトライ処理を行う手段と、前記ショックプルーフメモリ上に蓄積されているブロックデータに対して、記録媒体からの読み出し済みブロックデータサイズまたはアドレス情報、及びＥＣＣエラー訂正済みブロックデータサイズまたはアドレス情報、ＭＰＥＧデコード済みブロックデータサイズまたはアドレス情報の３つのパラメータ値をリアルタイムにトレースする手段と、前記パラメータ値がショックプルーフメモリサイズの最大サイズ（またはアドレス）に達した場合に、先頭アドレスに折り返すように更新する手段と、前記パラメータのＥＣＣデコード済みサイズとＭＰＥＧデコード済みサイズとの差分値と所定の再生実行閾値とを比較する手段と、前記比較手段の比較結果に基づいて前記差分値が再生実行閾値以下の場合には、前記ＭＰＥＧデコーダの復号スピードを下げるスロー再生処理、又は前記ＭＰＥＧデコーダの復号処理を一旦停止させ、現在表示中の映像信号を連続して表示しつづける一時停止処理を実行する制御手段とを備えたことを特徴とする。
【００４７】
即ち、本発明においては、ディスクからのＭＰＥＧデータ再生読み出し時、ＥＣＣデコーダで読み出しブロックデータのエラー訂正処理に失敗した場合には、一定時間内または最大リトライ回数以内にエラー訂正に成功するまで、再度ディスクからのデータ読み出しとエラー訂正処理を行うと共に、ショックプルーフメモリに蓄積されている先読みデータ残量のトレースを行い、残量に応じて再生モードを動的に変化させることで上記課題を解決するものである。
【００４８】
また、上記復旧処理が連続的に発生し、一定時間を超えるもの、或いは所定の最大リトライ回数を超える場合には、現在復号再生を行っているＧＯＰの直後のＧＯＰデータの先頭に相当するディスク上のブロック位置へジャンプし、当該ブロックからのディスク読み込みとＥＣＣデコーダによるエラー訂正のリトライ処理を行い、通常再生モードでの表示出力を継続するものである。
【発明の効果】
【００４９】
本発明によれば、ディスクからのＭＰＥＧデータの読み出し再生処理について、ＥＣＣデコードエラーが同じブロックにおいて連続的に発生した場合においても、スロー再生モードまたは一時停止モードでＭＰＥＧデコーダを動作させることによって、ショックプルーフメモリのバッファオーバーラン現象を回避でき、ユーザーにエラーのない映像信号を供給することが可能となる。
【発明を実施するための最良の形態】
【００５０】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００５１】
（第１の実施形態）
本発明による第１の実施形態として図１と図２を用いてＥＣＣデコードエラー発生時にＭＰＥＧデコード処理をスロー再生する方法について説明する。なお、本実施形態のディスクドライブ装置の基本構成は図６と同様である。また、図６のＭＰＥＧデコーダ１０１の構成も図１１のものと同じである。これらの説明は省略する。本実施形態では、詳しく後述するようにディスク１０５からのＭＰＥＧデータの読み出し時にＥＣＣデコーダ１０２で読み出しブロックデータのエラー訂正処理に失敗した場合、ショックプルーフメモリ１０３内のバッファオーバーラン現象を回避するようにデータバスコントローラ１０６において処理を行う。
【００５２】
図１は本実施形態のＥＣＣエラー発生時にスロー再生を行う場合のショックプルーフメモリ占有量変化を、図２はスロー再生時におけるＭＰＥＧデコード処理のタイムチャートを示す。本実施形態では、ＥＣＣデコーダでのエラー訂正失敗時におけるショックプルーフメモリ１０３内のディスク読み出し済みアドレス、ＥＣＣデコード済みアドレス、ＭＰＥＧデコード済みアドレスをそれぞれ、Ａｄｄｒ（ＤＩＳＣ）、Ａｄｄｒ（ＥＣＣ）、Ａｄｄｒ（ＭＰＥＧ）とする。
【００５３】
但し、バッファオーバーラン現象は発生しておらず、
Ａｄｄｒ（ＤＩＳＣ）≧Ａｄｄｒ（ＥＣＣ）＞Ａｄｄｒ（ＭＰＥＧ）
の関係を満たすものとする。
【００５４】
この時のＥＣＣデコード済みアドレスと、ＭＰＥＧデコード済みアドレスの差分値Ｄｉｆｆは、残りどれくらいのブロックデータを復号再生可能かを示すと同時に、バッファオーバーフロー現象発生までのボーダーラインを示すものとなる。
【００５５】
ここで、背景技術の項で説明したようにＭＰＥＧデコーダ１０１は、通常、アクセスユニット単位での復号伸長処理を行うため、最悪値として１アクセスユニット分の復号再生を行うためには、映像信号に限って言及すると、Ｉフレームは１フレーム分、Ｐフレームは２フレーム分、Ｂフレームは3フレーム分のＥＳデータが必要となる。
【００５６】
Ｉ／Ｂ／Ｐの各フレームのデータ量をＧＯＰレイヤから比較すると、Ｂ・Ｐフレームが参照フレームからの差分のみで再構成できるため、Ｉフレームがデータ量としては最も支配的なものとなる。但し、Ｉフレームデータが取り得るサイズは、ＭＰＥＧ規格のプロファイル及びレベルで規定されるＶＢＶ（Ｖｉｒｔｕａｌ  Ｂｕｆｆｅｒｉｎｇ  Ｖｅｒｉｆｉｅｒ）最大サイズ以内である必要がある。即ち、上記ボーダーライン値Ｄｉｆｆが、次の条件式（１）を満たさなければならない。
【００５７】
Ｄｉｆｆ＞ＶＢＶｍａｘ（profile, level）    …（１）
現在普及しているＤＶＤ−Ｖｉｄｅｏでは、メインレベル／メインプロファイル（ＭＰ＠ＭＬ）が採用されており、このＶＢＶｍａｘ値は２９７ＫＢとなっている。本実施形態では、ＥＣＣデコードに失敗し、復旧処理が連続して発生した場合においても、先にデコードしたフレームデータの表示を可能とするために、次の条件式（２）を設定し、この条件式を満たす場合には、ＭＰＥＧデコーダ１０１の動作モードを動的にスロー再生モードに変更することを特徴とする。
【００５８】
Ｄｉｆｆ≦［１＋（１／（ｎ−１））］×ＶＢＶｍａｘ（profile, level）    …（２）
但し、ｎの定義域は２から８までの整数とする。値ｎは移行するスロー再生モードのデコードスピードの逆数を表し、ｎ＝２は＋１／２スローデコード、ｎ＝４は＋１／４スローデコードとなる。上限値として、ｎ＝８を定めたのはこの値以上のスロー再生モード（＋１／８、＋１／１６）になると、ユーザーにはほとんど静止画としてしか認識できないため、ｎ＝８として与えられる値以下のＤｉｆｆについては一時停止モードに遷移するようにする。
【００５９】
また、スローモードから通常再生モードへの復帰、または異なるより高速なスローモードへの復帰は、これらスローモード再生中に並列して行うエラー復旧処理によって、エラー訂正に成功し、ＥＣＣデコード済みアドレス値Ａｄｄｒ（ＥＣＣ）が更新されるタイミングで、上式（２）の関係を算出することでＭＰＥＧデコーダ１０１の制御切り替えを行う。
【００６０】
更に、本実施形態では、一時停止モードへの遷移開始からの経過時間をトレースし、この経過時間が最大一時停止時間ＰＴｍａｘ内であるかどうかを判断し、復旧処理によるディスクからの読み出しブロック位置を変更させることを特徴とする。
【００６１】
このＰＴｍａｘを超える場合、即ち、ＥＣＣデコードエラーが連続的に発生し、且つ、エラー訂正に成功する確率がほとんどない場合には、ユーザー対して映像の乱れはないものの、一時停止の映像を連続して表示し続けることになるため違和感をもたらす可能性がある。
【００６２】
そこで、本実施形態では、このＰＴｍａｘ値を超える連続復旧時間になる場合には、復旧処理でディスクから読み出すブロックデータの位置を、現在復号再生しているＧＯＰに続く直後のＧＯＰ開始を含むブロックから読み出すようにジャンプし、ＥＣＣデコードしＭＰＥＧデコーダ１０１での通常再生モードでの復号再生を継続する。
【００６３】
本実施形態では、最大一時停止表示時間ＰＴｍａｘを、
ＰＴｍａｘ（ｓｅｃ）＝２×（１ＧＯＰを構成するフレーム数）×（フレームレート）    …（３）
として定義する。
【００６４】
係数の２は復旧処理に係るマージンを考慮した値となっているが、この値を変えることで復旧処理に関わるドライブ側でのシーク動作等に係る実際のデータ読み出し動作以外の時間を吸収している。１ＧＯＰのフレーム数はＤＶＤ−Ｖｉｄｅｏでは通常１５フレーム、１秒間当たりのフレーム数を示すフレームレートはＮＴＳＣで２９．９７Ｈｚ、ＰＡＬで２５Ｈｚとなっている。１ＧＯＰが１５フレームで構成されるＮＴＳＣシステムであれば、ＰＴｍａｘは約１秒となる。
【００６５】
また、この最大一時停止表示時間ＰＴｍａｘの代わりにリトライ回数の最大値を設定し、リトライ回数の最大値を超えてもＥＣＣデコードに失敗する場合には、同様に復旧処理でディスクから読み出すブロックデータの位置を、現在復号再生しているＧＯＰに続く直後のＧＯＰ開始を含むブロックから読み出すようにジャンプし、ＥＣＣデコードし、ＭＰＥＧデコーダ１０１における通常再生モードでの復号再生を継続しても良い。
【００６６】
図１では、例として同じブロックアドレスで４回ＥＣＣデコードエラーが連続して発生した後、復旧処理に成功した場合について示している。１回目のエラー復旧で＋１／２スローモードへ、２回目で＋１／４スローモードへ、３回目で＋１／８スローモードへ、４回目で一時停止モードになるが、その後の復旧処理でＤｉｆｆ値が通常再生に耐えうるデータ分のエラー訂正を完了するため、通常再生モードに移行し、以降の復号再生処理を続ける形となっている。
【００６７】
また、図２はスロー再生モードについてＭＰＥＧデコーダ１０１内部での動作タイミングとして、＋１／２スロー再生の場合を示す。図２に示すように＋１／２スロー再生モードは、図１２の通常再生のデコード動作と異なる１フレームの復号伸長間隔を２回に１回のタイミングで行い、同時に１フレームの表示周期を２倍にすることで実現している。
【００６８】
即ち、ＭＰＥＧデコーダ１０１がショックプルーフメモリ１０３上のＭＰＥＧデータの消費スピードを半分にすることにより、ＥＣＣデコードエラー発生によるバッファオーバーラン現象を回避する効果を持つことになる。
【００６９】
なお、図３は一時停止モードに移行した後、ＰＴｍａｘを超える復旧処理がかかってしまった場合の、ショックプルーフメモリ１０３上のデータ量変化を示す。一時停止モードに移行した後、ＰＴｍａｘを超える復旧処理がかかってしまったため、矢印で示すように次のＧＯＰ先頭を含むブロックからデータを読み出して復旧処理を行っている。
【００７０】
（第２の実施形態）
次に、本発明の第２の実施形態例について説明する。第２の実施形態は第１の実施形態と動作原理はほぼ同じであり、ＥＣＣデコードエラー発生時においてショックプルーフメモリ１０３上のＡｄｄｒ（ＥＣＣ）とＡｄｄｒ（ＭＰＥＧ）の差分値Ｄｉｆｆに対して、再生モードの移行判断を式（２）ではなく、式（１）を用いて行う。即ち、式（１）において差分値Ｄｉｆｆが、ＶＢＶｍａｘ以下になった時に一時停止モードに移行する。この場合には、移行する再生モードは一時停止モードのみとなり、エラー発生時に表示出力しているフレームを、復旧処理に成功するまで出力し続ける処理となる。
【００７１】
また、一時停止モードから通常再生モードへの復帰は、これら一時停止中に並列して行うエラー復旧処理によって、エラー訂正に成功し、ＥＣＣデコード済みアドレス値Ａｄｄｒ（ＥＣＣ）が更新されるタイミングで、上式（１）の関係を算出することでＭＰＥＧデコーダ１０１の制御切り替えを行う。
【００７２】
更に、第１の実施形態と同様に一時停止モードでの経過時間をトレースし、ＰＴｍａｘを超える場合には、現在復号再生しているＧＯＰに続く直後のＧＯＰ開始を含むブロックから読み出すようにジャンプし、ＥＣＣデコードし、ＭＰＥＧデコーダ１０２での通常再生モードでの復号再生を継続する（図３参照）。一時停止モードの最大停止時間ＰＴｍａｘではなく、上述のように最大リトライ回数を設定してそれを超える場合も同様である。
【００７３】
図４は本実施形態のＥＣＣエラー発生時に一時停止処理を行う場合の、ショックプルーフメモリ占有量変化を、図５は上記一時停止処理におけるＭＰＥＧデコード処理のタイムチャートを示す。図４では、例として同じブロックアドレスで４回ＥＣＣデコードエラーが連続して発生した後、復旧処理に成功した場合について示している。
【００７４】
１回目のエラー復旧で一時停止状態に移行した後、復旧処理を行うタイミングで上式（１）の関係を算出し、５回目の復旧処理に成功するまで一時停止モードを保持し、その後、通常再生モードに復帰し、移行の復号再生処理を続ける。また、図５は通常再生モードから一時停止モードへ移行し、一時停止モードから通常再生モードに復帰する時のＭＰＥＧデコーダ内の動作タイミングを示している。
【００７５】
図中の例としては、Ｂ３フレームの復号再生時にＥＣＣデコードエラーが発生し、式（１）を満たさないＤｉｆｆであった場合、ＭＰＥＧデコーダ１０２においては次のフレームの復号再生処理を行わず、次のフレームの復号再生が可能な状況になるまで、Ｂ３フレームを連続して表示し続けるようになっている。同時に参照フレーム用の再配列バッファ内のデータについても、次のＥＣＣデコード成功による式（１）が成り立つまで保持しつづける。
【００７６】
以上のように第２の実施形態においても、第１の実施形態と同様にＭＰＥＧデコーダ１０２がショックプルーフメモリ１０３上のＭＰＥＧデータの消費を停止することにより、ＥＣＣデコードエラー発生によるバッファオーバーラン現象を回避することができる。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１の実施形態におけるＥＣＣエラー発生時のメモリ占有量変化を示す図である。
【図２】本発明の第１の実施例形態におけるスロー再生時のＭＰＥＧ復号再生動作を示すタイミングチャートである。
【図３】一時停止モードに移行した後、ＰＴｍａｘを超える復旧処理がかかってしまった場合の、ショックプルーフメモリ上のデータ量変化を示す図である。
【図４】本発明の第２の実施形態におけるＥＣＣエラー発生時のメモリ占有量変化を示す図である。
【図５】本発明の第２の実施形態における一時停止処理のＭＰＥＧ復号再生動作を示すタイミングチャートである。
【図６】従来のディスク再生装置の構成を示すブロック構成図である。
【図７】従来の通常再生のショックプルーフメモリ占有量変化を示す図である。
【図８】ＭＰＥＧ−２エレメンタリーストリームのデータ構造を示す図である。
【図９】ＭＰＥＧ−２、ＰＥＳとＰＳのデータ構造を示す図である。
【図１０】従来のＭＰＥＧ−２ストリームの記録順序と再生順序を説明する図である。
【図１１】ＭＰＥＧ−２ストリームの復号再生器の構成を示すブロック図である。
【図１２】従来の通常再生時のＭＰＥＧ復号再生動作を示すタイミングチャートである。
【図１３】従来のＥＣＣエラー発生時のメモリ占有量変化（復旧処理成功時）を示す図である。
【図１４】従来のＥＣＣエラー発生時のメモリ占有量変化（復旧処理失敗時）を示す図である。
【図１５】従来のＥＣＣエラー発生時のメモリ占有量変化（復旧処理なし）を示す図である。
【図１６】従来のＥＣＣエラー発生時のメモリ占有量変化（次のブロックに対する復旧処理）を示す図である。
【符号の説明】
【００７８】
１０１  ＭＰＥＧデコーダ
１０２  ＥＣＣデコーダ
１０３  ショックプルーフメモリ
１０４  記録／再生部
１０５  ディスク
１０６  データバスコントローラ
１１０  分離器
１１１  エレメンタリバッファ
１１２  デコーダ
１１３  再配列バッファ
１１３−１、１１３−２  再配列バッファ
【図１】
2005243083.tif 000003
【図２】
2005243083.tif 000004
【図３】
2005243083.tif 000005
【図４】
2005243083.tif 000006
【図５】
2005243083.tif 000007
【図６】
2005243083.tif 000008
【図７】
2005243083.tif 000009
【図８】
2005243083.tif 000010
【図９】
2005243083.tif 000011
【図１０】
2005243083.tif 000012
【図１１】
2005243083.tif 000013
【図１２】
2005243083.tif 000014
【図１３】
2005243083.tif 000015
【図１４】
2005243083.tif 000016
【図１５】
2005243083.tif 000017
【図１６】
2005243083.tif 000018