JP2005243083A - ディスクドライブ装置 - Google Patents
ディスクドライブ装置 Download PDFInfo
- Publication number
- JP2005243083A JP2005243083A JP2004047889A JP2004047889A JP2005243083A JP 2005243083 A JP2005243083 A JP 2005243083A JP 2004047889 A JP2004047889 A JP 2004047889A JP 2004047889 A JP2004047889 A JP 2004047889A JP 2005243083 A JP2005243083 A JP 2005243083A
- Authority
- JP
- Japan
- Prior art keywords
- mpeg
- data
- ecc
- disk
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
Abstract
【課題】 ECCデコードエラー発生時においてもショックプルーフメモリでのバッファオーバーラン現象を回避し、MPEGデコーダにエラーのないMPEG規格に準拠したデータ構造のMPEGデータを供給し、映像または音声の乱れによるユーザーへの不快感を低減することが可能なディスクドライブ装置を提供する。
【解決手段】 ディスク105からのMPEGデータ再生読み出し時、ECCデコーダ102で読み出しブロックデータのエラー訂正処理に失敗した場合に、エラー訂正に成功するまで、再度ディスクからのデータ読み出しとエラー訂正処理を行うと共に、ショックプルーフメモリ103に蓄積されている先読みデータ残量のトレースを行い、残量に応じて再生モードを動的に変化させる。
【選択図】 図1
【解決手段】 ディスク105からのMPEGデータ再生読み出し時、ECCデコーダ102で読み出しブロックデータのエラー訂正処理に失敗した場合に、エラー訂正に成功するまで、再度ディスクからのデータ読み出しとエラー訂正処理を行うと共に、ショックプルーフメモリ103に蓄積されている先読みデータ残量のトレースを行い、残量に応じて再生モードを動的に変化させる。
【選択図】 図1
Description
本発明は、ディジタル動画圧縮技術規格(Moving Picture Experts Group:以下MPEGと呼称)を用いて、符号化ディジタル映像データとディジタル音声データを時分割多重化したMPEG−2ストリームデータをディスク状記録媒体に記録し、或いは記録情報を再生するディスクドライブ装置に関するものである。
図6は画像データを記録/再生するディスクドライブ装置の構成を示すブロック図である。図中101はMPEGデコーダ、102はECCデコーダ、103はショックプルーフメモリである。また、104は光ディスク等のディスク状記録媒体(以下ディスク)105にデータの読み書きを行う記録/再生部、106は装置内の各部を制御するデータバスコントローラである。
ディスク105からの再生読み出し処理は、通常、ECCデコーダ102がエラー訂正を行うブロックと呼ばれる処理単位でディスク105からデータを読み出し、ショックプルーフメモリ103に記録する。引き続いてECCデコーダ102でエラー訂正処理を行い、MPEGデコーダ101で復号伸長を行い、画像出力を連続的に行う。ところで、ショックプルーフメモリ103のデータ蓄積可能最大量は有限であり、ディスク105からの読み込みスピード及びMPEG復号スピードに合わせて循環的に使用している。
図7はディスク再生装置のショックプルーフメモリ103内のディスク読み込み済みデータ占有量(ディスクリード)及びECCデコード済みデータ占有量(ECCデコード)、MPEGデコード済みデータ占有量(MPEGデコード)の時間による変化を示す。図7において、A、B、C、Dは1回の読み込みデータ量である。また、t(ecc_start)はECCデコーダ102の最初の開始タイミング、t(mpeg_start)はMPEGデコーダ101の最初の開始タイミングを示しており、各々所定データ量になったらECCデコードやMPEGデコードを開始する。
図7に示すようにショックプルーフメモリ103内には、ディスク105からのデータ読み出しによってデータが供給され、データを順次ECCデコーダ102によるエラー訂正処理とMPEGデコーダ101による復号再生処理による消費をリアルタイムに並列して行う。
これらショックプルーフメモリ内のディスクからの読み出しデータ量、ECCデコード済みデータ量、MPEGデコード済みデータ量を逐次トレースすることによって、最初のMPEGデータの復号開始時間が分かり、最大値となったところで初期位置に折り返すことが可能となり、有限サイズメモリの有効利用を実現している。
また、通常ディスクからのデータ読み込みスピードは、MPEGデータスピードに比べて十分高速なため、ディスクからのデータ読み出し処理を間欠的に行い、サーボ制御回路の消費電力抑制を実現できるのもこのショックプルーフメモリ内のデータ量トレースと制御によるものである。
図8と図9はディスク上に記録されるMPEG−2ストリームのデータ構造を示す。図8はMPEG−2エレメンタリーストリーム(ES)のデータの構造、図9はMPEG−2プログラムストリーム(PS)のデータ構造を示す。
現在、公知技術としてISO/IEC13818において規定されるMPEG規格は、日本国内及び欧米における衛星ディジタル放送や地上波ディジタル放送等においての映像及び音声信号を伝送するデータ方式としてMPEG−2TS(トランスポートストリーム)方式が、読み出し専用のディジタル多用途ディスク(DVD−ROM)や半導体メモリカード(SDカード)に記録される映像及び音声信号データ方式としてはMPEG−2PS(プログラムストリーム)形式が採用されている。
本願明細書の背景技術及び実施の形態では、MPEG−2PS形式のデータをディスク上に記録するものとして説明するが、本発明はMPEG−2TSに関しても適用可能である。PSとTSの形式の違いは音声と映像の多重化方式と運用方法の違いだけであり、図8に示すエレメンタリーストリーム(ES)の基本となるデータ構造は同じである。
次に、MPEG−2ESのデータ構造について説明する。映像データに関するESの構造は、図8に示すようにシーケンス、GOP(グループオブピクチャ)、ピクチャ、スライス、マクロブロック、ブロックの複数階層レイヤで構成されており、大きな単位から局所的なブロックに分解される。
次に、シーケンス層及びGOP層、ピクチャ層に関して概略を説明する。まず、シーケンス層は一番上位の階層で、シーケンスヘッダから開始される。次に、シーケンス拡張コードでMPEG−1とMPEG−2のビットストリームの識別を行う。一般に、一つのシーケンスが一つのビデオ全体を示す。シーケンスの最後はシーケンス終了コードで終わる。シーケンス層は基本的に一つ以上のGOP構造からなる。
シーケンスヘッダは符号化画像サイズ、アスペクト比、フレームレート(秒何枚の画像)、符号化レート、VBVバッファサイズ、量子化マトリクス等の情報からなる。シーケンス拡張コードとして、プロファイル、レベル、色差フォーマット、プログレッシブシーケンスが指定される。
次に、GOP層はGOPヘッダで開始される。GOP層は一つ以上のピクチャから構成され、GOP層の最初はIピクチャから始まる。GOPヘッダとして、タイムコード、broken linkフラグやGOPの独立性を示すclosed gopコードがある。
これらのコードはランダムアクセス時の不当なBピクチャ表示の回避や編集時GOPカット時のフラグとして用いることができる。GOPの長さは任意だが、通常は12、15フレームが一般的に用いられる。
次に、ピクチャ層はピクチャヘッダで符号化条件が設定される。ピクチャヘッダ情報内のパラメータには、GOP内の表示順序を示す画像番号を示すテンポラルリファレンス、ピクチャ符号化タイプI、P、Bを示すpicture coding typeが設定されている。また、vbv delayでVBV(Video Buffering Verifier)の復号開始までの遅延量が決められる。ピクチャヘッダに続くピクチャ符号化拡張では、f_codeで前後方向及び水平垂直方向の動きベクトルの範囲が指定される。また、イントラマクロブロックのDC係数の精度設定、ピクチャ構造情報でフレーム構造かフィールド構造かが決められる。
一方、音声データ(オーディオエレメンタリーストリーム)に関するESの構造は、オーディオフレームの繰り返しで構成されている。オーディオフレームは、ヘッダ、音声データの部分から構成されている。ヘッダには一連のオーディオシーケンスに関する情報が含まれている。ヘッダは各フレーム毎に付属されているが、基本的に同じ内容である。
もし必要であれば、シーケンスの途中でヘッダのパラメータを変更することも可能である。例えば、曲の進行に合わせてビットレートを変更する可変ビットレートに適用することができる。また、ヘッダにはフレームの同期情報(sync word)が含まれており、画像と同期を取りながら一定レートで音声を再生することができる。
図9は上記映像と音声別々のエレメンタリーストリームを一つのプログラムとして多重化したデータ構造を示す。パケッタイズドエレメンタリーストリーム(PES)パケットは、図9に示すように可変長のPESヘッダとペイロード部から構成される可変長パケットであり、ペイロード部にはMPEGビデオ及びオーディオ等のESやユーザー定義のストリーム(プライベートストリーム)等が配置されている。
PESヘッダには、対象となるピクチャフレームの表示時間を設定するPTS(Presentation Time Stamp)や、デコード時間を設定したDTS(Decoding Time Stamp)のほか、PESパケット単位でスクランブルを行うための制御信号、著作権の有無を示すフラグ、CRC(Cyclic Redundancy Check)誤り検出符号等の情報が含まれている。
プログラムストリーム(PS)は「パック」と呼ばれる可変長ブロックを単位とする連続したストリームであり、パックはパックヘッダと複数のPESで構成されている。一つのパックに含まれているPESのデータは、映像及び音声等の各構成要素のおおむね同じ時間範囲で再生される情報が集まったものである。
尚、本願明細書の背景技術及び実施の形態においては、ECCの処理及びディスクアクセス単位をより簡易にするためにプログラムストリームのPSパックが複数集まったものが1ECCブロック単位のサイズに等しくなるように構成することを前提とする。
次に、MPEGストリームの復号手順について説明する。上記プログラムストリームのデータ構造で、ECCブロック単位で図6のディスク105上に記録されたMPEGー2データをディスク105からショックプルーフメモリ103に読み出し、MPEGデコーダ101に転送し、復号伸長処理を行い表示出力する方法に関して説明する。
図10はディスク上に記録されているピクチャデータの記録順と、実際のMPEGデコーダにおける復号再生処理再生順を示す。まず、MPEG−2ストリームはI、B、Pの三種類のピクチャにより構成されている。
Iフレームはそのフレーム自身で復号可能であるが、Pフレームは前のIまたはPピクチャを参照することにより復号処理を行い、Bピクチャは前後のIまたはPピクチャを参照することによって復号処理を行う。即ち、デコーダの内部ではIまたはPのような参照フレームを復号後、RAMのようなバッファメモリに蓄積し、参照ピクチャを用いたBピクチャの復号再生処理後に表示出力がなされるようにピクチャデータの再配列を行う。
図11はMPEGデコーダ101のブロック構成図を示す。PSの形式でMPEGデコーダに入力されたデータは、始めに映像か音声かの判断を行い、次段回路へのデータ方向のスイッチングを行う分離器110に入力される。
分離器110で映像と音声にそれぞれ分離されたES形式のデータは、各アクセスユニットの単位(映像ではピクチャ、音声では音声フレーム)になるまで、バースト的にエレメンタリバッファ111に蓄積される。エレメンタリバッファ111に1ピクチャを構成する分のデータが蓄積された段階で、次段の復号伸長器(デコーダ)112に入力される。
音声に関しても同様である。但し、映像データの場合には、IまたはPピクチャの復号再生は復号伸張器112での復号伸長後、即時に表示出力されるのではなく、再配列バッファ113に前方又は後方参照ピクチャとして一旦蓄積され、後続のBピクチャを復号するために用いられる。このため、再配列バッファ113には、少なくとも予測フレームであるBピクチャの映像データを再構築するためには、時系列で言う過去に相当するI又はPピクチャデータと、未来に相当するI又はPピクチャデータの2つが蓄積されなければならない。過去に相当するI又はPピクチャデータを蓄積するバッファを再配列バッファ113−1、未来に相当するI又はPピクチャデータを蓄積するバッファを再配列バッファ113−2とする。
また、再配列バッファ113のピクチャデータの破棄は、参照するBピクチャの表示出力後、遅延を持って時系列としては過去のピクチャデータから廃棄(即ち、復号再生)され、新たな参照ピクチャが蓄積されるようにデータ転送方向の切り替えを行う。
これら一連のMPEGデコーダ内で行われる復号再生に関する各ピクチャの復号伸長処理、表示出力処理及び再配列バッファ内に蓄積される参照ピクチャのタイムチャートを図12に示す。I1フレームの復号後、即時に表示出力されずにB2,B3フレームの表示出力が完了するまで再配列バッファ113に蓄積されている様子が分かる。
ところで、上述のように、通常、ディスク105からショックプルーフメモリ103上に読み出したブロックデータに対しては、ECCデコーダでエラー訂正処理を行う。この時、ディスク面の傷やホコリ、使用環境に依存した経時劣化等の原因によりエラー訂正に失敗した場合には、復旧処理としてエラー訂正に失敗したブロックに対応するディスク105上の物理アドレスから再度同じショックプルーフメモリ103の位置にブロックデータの読み出しと、エラー訂正処理をリトライする。
図13はディスク上のあるブロック位置でエラー訂正に失敗した時と、その後の復旧処理に成功した場合におけるショックプルーフメモリ103内のデータ遷移量を示す。図13において、×印はエラー訂正に失敗した位置を示しており、この場合には、上述のようにエラー訂正に失敗したブロックに対応するディスク105上の物理アドレスから再度同じショックプルーフメモリ103の位置にブロックデータの読み出しを行い、エラー訂正処理のリトライを行う。
しかしながら、このようなリトライ処理によっても、また同じブロックデータについてエラー訂正に失敗することが連続的に発生すると、図14に示すようにショックプルーフメモリ103上のECCデコード済みのデータに位置を、MPEGデコーダ101のデコード済みデータ位置が追い越してしまう。即ち、エラー訂正が済んでいないブロックデータの復号処理をしてしまうというバッファオーバーラン現象が発生する。
バッファオーバーラン現象は、MPEGデコーダ101にMPEG規格に準拠しないデータエラーを持ったデータを供給してしまうことになるため、視聴覚的には映像や音声信号の乱れを引き起こし、ユーザーに強い不快感をもたらす。
そこで、このようなECCデコードエラー発生時に起因するバッファオーバーラン現象の回避策として、例えば、エラー訂正に失敗してもそのエラーレベル(エラー発生率と種類)に応じて復旧処理をせずにそのままMPEGデコーダにブロックデータ供給する方法がある。また、エラー訂正に失敗したブロックの直後のブロックをディスクから再読み込みを行う復旧処理方法がある。これらの技術は一般に行われている。
図15はECCエラー発生時にエラーレベルに応じて復旧処理をせずにそのままMPEGデコーダに供給する方法によるショックプルーフメモリ内のデータ量遷移を示す。この方法は、ECCデコードエラーが発生した場合には、ECCデコーダのレジスタからECCのエラー訂正数と発生位置が取得できるようにし、この値から発生したエラーがランダムデータなのか、それともバースト的なエラーなのかを判別し、ディスクからの再読み込みでエラー訂正できるブロックデータであれば、ディスクからの再読み込みと復旧処理を行うものである。
バースト的なエラーデータは、通常ディスク面の傷等で再読み込みを行ってもECCデコードによる訂正は不可能であるため、復旧処理が成功することは期待できず、バッファオーバーランを回避するためにもそのまま次のブロックデータの読み出しを行う。
また、図16はもう一つの方法としてECCエラー発生時に、エラー発生ブロックの直後のブロックに相当するディスク上の物理アドレスから、再読み込みと復旧処理を行う方法によるショックプルーフメモリ内のデータ量遷移を示す。
この方法は、ECCデコードエラーが発生した場合には、エラー発生ブロックに相当するディスク上の直後のブロックからデータ読み出しとECCデコードの復旧処理を行い、MPEGデコーダにはエラーデータを供給しないようにしている。そして、同じブロックデータでの連続ECCデコード処理をしないことによってバッファオーバーラン現象の発生を回避している。
なお、これらに関連する技術としては、特許登録第2827499号公報(特許文献1)、特許登録第2995822号公報(特許文献2)、特許登録第3141242号公報(特許文献3)、特許登録第3173942号公報(特許文献4)等がある。
特許登録第2827499号公報
特許登録第2995822号公報
特許登録第3141242号公報
特許登録第3173942号公報
図15の方法においては、エラー訂正に失敗したデータをそのままMPEGデコーダに供給することになるため、MPEGデコーダ内部でのエラー耐性機能が実装されていない限り、映像や音声信号の乱れは残ったままとなり、シーケンスヘッダやピクチャヘッダ等の復号伸長時に必要な重要なパラメータにエラーが存在する場合は、MPEGデコーダ自体が停止してしまう恐れがあった。
また、発生したECCでコードエラーがリトライ処理によってもランダムエラーであった場合には、連続してディスクからのデータ読み出しとECCでコードを行うために、バッファオーバーランの現象を完全に抑制することは困難であった。
更に、図16の方法においてもECCデコードエラーにならないブロックデータをMPEGデコーダに供給できたとしても、エラーの発生したブロック1個分に相当するデータをMPEGストリームからスキップすることになるため、図8及び図9にあるようなMPEGストリームのデータ構造でなくなってしまう可能性が残存してしまう。
そのため、図15の方法よりも大幅に低減されるが、依然として映像或いは音声信号の乱れが生じてしまう可能性があった。更には、ECCデコードエラーが複数ブロックに渡って発生してしまう場合には、復旧処理そのものを何度も行うことになってしまうため、バッファオーバーラン現象が発生してしまう問題があった。
本発明は、上記課題に鑑みなされたもので、その目的は、ECCデコードエラー発生時においてもショックプルーフメモリでのバッファオーバーラン現象を回避し、MPEGデコーダにエラーのないMPEG規格に準拠したデータ構造のMPEGデータを供給し、映像または音声の乱れによるユーザーへの不快感を低減することが可能なディスクドライブ装置を提供することにある。
本発明は、上記課題を解決するため、ランダムアクセス可能なディスク状記録媒体上に記録された映像及び音声信号の符号化圧縮を施したMPEGデータを、ECCブロック単位でショックプルーフメモリに読み出し、前記ブロックデータをECCブロックにおいてエラー訂正を行った後、MPEGデコーダでMPEGデータの復号伸長を行うディスクドライブ装置において、前記読み出しブロックデータのエラー訂正処理の失敗時にブロックのエラー訂正処理に成功するまで対応するディスク上の物理ブロックからのブロックデータ読み出し処理及びECCデコーダでのエラー訂正処理を繰り返すリトライ処理を行う手段と、前記ショックプルーフメモリ上に蓄積されているブロックデータに対して、記録媒体からの読み出し済みブロックデータサイズまたはアドレス情報、及びECCエラー訂正済みブロックデータサイズまたはアドレス情報、MPEGデコード済みブロックデータサイズまたはアドレス情報の3つのパラメータ値をリアルタイムにトレースする手段と、前記パラメータ値がショックプルーフメモリサイズの最大サイズ(またはアドレス)に達した場合に、先頭アドレスに折り返すように更新する手段と、前記パラメータのECCデコード済みサイズとMPEGデコード済みサイズとの差分値と所定の再生実行閾値とを比較する手段と、前記比較手段の比較結果に基づいて前記差分値が再生実行閾値以下の場合には、前記MPEGデコーダの復号スピードを下げるスロー再生処理、又は前記MPEGデコーダの復号処理を一旦停止させ、現在表示中の映像信号を連続して表示しつづける一時停止処理を実行する制御手段とを備えたことを特徴とする。
即ち、本発明においては、ディスクからのMPEGデータ再生読み出し時、ECCデコーダで読み出しブロックデータのエラー訂正処理に失敗した場合には、一定時間内または最大リトライ回数以内にエラー訂正に成功するまで、再度ディスクからのデータ読み出しとエラー訂正処理を行うと共に、ショックプルーフメモリに蓄積されている先読みデータ残量のトレースを行い、残量に応じて再生モードを動的に変化させることで上記課題を解決するものである。
また、上記復旧処理が連続的に発生し、一定時間を超えるもの、或いは所定の最大リトライ回数を超える場合には、現在復号再生を行っているGOPの直後のGOPデータの先頭に相当するディスク上のブロック位置へジャンプし、当該ブロックからのディスク読み込みとECCデコーダによるエラー訂正のリトライ処理を行い、通常再生モードでの表示出力を継続するものである。
本発明によれば、ディスクからのMPEGデータの読み出し再生処理について、ECCデコードエラーが同じブロックにおいて連続的に発生した場合においても、スロー再生モードまたは一時停止モードでMPEGデコーダを動作させることによって、ショックプルーフメモリのバッファオーバーラン現象を回避でき、ユーザーにエラーのない映像信号を供給することが可能となる。
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
(第1の実施形態)
本発明による第1の実施形態として図1と図2を用いてECCデコードエラー発生時にMPEGデコード処理をスロー再生する方法について説明する。なお、本実施形態のディスクドライブ装置の基本構成は図6と同様である。また、図6のMPEGデコーダ101の構成も図11のものと同じである。これらの説明は省略する。本実施形態では、詳しく後述するようにディスク105からのMPEGデータの読み出し時にECCデコーダ102で読み出しブロックデータのエラー訂正処理に失敗した場合、ショックプルーフメモリ103内のバッファオーバーラン現象を回避するようにデータバスコントローラ106において処理を行う。
本発明による第1の実施形態として図1と図2を用いてECCデコードエラー発生時にMPEGデコード処理をスロー再生する方法について説明する。なお、本実施形態のディスクドライブ装置の基本構成は図6と同様である。また、図6のMPEGデコーダ101の構成も図11のものと同じである。これらの説明は省略する。本実施形態では、詳しく後述するようにディスク105からのMPEGデータの読み出し時にECCデコーダ102で読み出しブロックデータのエラー訂正処理に失敗した場合、ショックプルーフメモリ103内のバッファオーバーラン現象を回避するようにデータバスコントローラ106において処理を行う。
図1は本実施形態のECCエラー発生時にスロー再生を行う場合のショックプルーフメモリ占有量変化を、図2はスロー再生時におけるMPEGデコード処理のタイムチャートを示す。本実施形態では、ECCデコーダでのエラー訂正失敗時におけるショックプルーフメモリ103内のディスク読み出し済みアドレス、ECCデコード済みアドレス、MPEGデコード済みアドレスをそれぞれ、Addr(DISC)、Addr(ECC)、Addr(MPEG)とする。
但し、バッファオーバーラン現象は発生しておらず、
Addr(DISC)≧Addr(ECC)>Addr(MPEG)
の関係を満たすものとする。
Addr(DISC)≧Addr(ECC)>Addr(MPEG)
の関係を満たすものとする。
この時のECCデコード済みアドレスと、MPEGデコード済みアドレスの差分値Diffは、残りどれくらいのブロックデータを復号再生可能かを示すと同時に、バッファオーバーフロー現象発生までのボーダーラインを示すものとなる。
ここで、背景技術の項で説明したようにMPEGデコーダ101は、通常、アクセスユニット単位での復号伸長処理を行うため、最悪値として1アクセスユニット分の復号再生を行うためには、映像信号に限って言及すると、Iフレームは1フレーム分、Pフレームは2フレーム分、Bフレームは3フレーム分のESデータが必要となる。
I/B/Pの各フレームのデータ量をGOPレイヤから比較すると、B・Pフレームが参照フレームからの差分のみで再構成できるため、Iフレームがデータ量としては最も支配的なものとなる。但し、Iフレームデータが取り得るサイズは、MPEG規格のプロファイル及びレベルで規定されるVBV(Virtual Buffering Verifier)最大サイズ以内である必要がある。即ち、上記ボーダーライン値Diffが、次の条件式(1)を満たさなければならない。
Diff>VBVmax(profile, level) …(1)
現在普及しているDVD−Videoでは、メインレベル/メインプロファイル(MP@ML)が採用されており、このVBVmax値は297KBとなっている。本実施形態では、ECCデコードに失敗し、復旧処理が連続して発生した場合においても、先にデコードしたフレームデータの表示を可能とするために、次の条件式(2)を設定し、この条件式を満たす場合には、MPEGデコーダ101の動作モードを動的にスロー再生モードに変更することを特徴とする。
現在普及しているDVD−Videoでは、メインレベル/メインプロファイル(MP@ML)が採用されており、このVBVmax値は297KBとなっている。本実施形態では、ECCデコードに失敗し、復旧処理が連続して発生した場合においても、先にデコードしたフレームデータの表示を可能とするために、次の条件式(2)を設定し、この条件式を満たす場合には、MPEGデコーダ101の動作モードを動的にスロー再生モードに変更することを特徴とする。
Diff≦[1+(1/(n−1))]×VBVmax(profile, level) …(2)
但し、nの定義域は2から8までの整数とする。値nは移行するスロー再生モードのデコードスピードの逆数を表し、n=2は+1/2スローデコード、n=4は+1/4スローデコードとなる。上限値として、n=8を定めたのはこの値以上のスロー再生モード(+1/8、+1/16)になると、ユーザーにはほとんど静止画としてしか認識できないため、n=8として与えられる値以下のDiffについては一時停止モードに遷移するようにする。
但し、nの定義域は2から8までの整数とする。値nは移行するスロー再生モードのデコードスピードの逆数を表し、n=2は+1/2スローデコード、n=4は+1/4スローデコードとなる。上限値として、n=8を定めたのはこの値以上のスロー再生モード(+1/8、+1/16)になると、ユーザーにはほとんど静止画としてしか認識できないため、n=8として与えられる値以下のDiffについては一時停止モードに遷移するようにする。
また、スローモードから通常再生モードへの復帰、または異なるより高速なスローモードへの復帰は、これらスローモード再生中に並列して行うエラー復旧処理によって、エラー訂正に成功し、ECCデコード済みアドレス値Addr(ECC)が更新されるタイミングで、上式(2)の関係を算出することでMPEGデコーダ101の制御切り替えを行う。
更に、本実施形態では、一時停止モードへの遷移開始からの経過時間をトレースし、この経過時間が最大一時停止時間PTmax内であるかどうかを判断し、復旧処理によるディスクからの読み出しブロック位置を変更させることを特徴とする。
このPTmaxを超える場合、即ち、ECCデコードエラーが連続的に発生し、且つ、エラー訂正に成功する確率がほとんどない場合には、ユーザー対して映像の乱れはないものの、一時停止の映像を連続して表示し続けることになるため違和感をもたらす可能性がある。
そこで、本実施形態では、このPTmax値を超える連続復旧時間になる場合には、復旧処理でディスクから読み出すブロックデータの位置を、現在復号再生しているGOPに続く直後のGOP開始を含むブロックから読み出すようにジャンプし、ECCデコードしMPEGデコーダ101での通常再生モードでの復号再生を継続する。
本実施形態では、最大一時停止表示時間PTmaxを、
PTmax(sec)=2×(1GOPを構成するフレーム数)×(フレームレート) …(3)
として定義する。
PTmax(sec)=2×(1GOPを構成するフレーム数)×(フレームレート) …(3)
として定義する。
係数の2は復旧処理に係るマージンを考慮した値となっているが、この値を変えることで復旧処理に関わるドライブ側でのシーク動作等に係る実際のデータ読み出し動作以外の時間を吸収している。1GOPのフレーム数はDVD−Videoでは通常15フレーム、1秒間当たりのフレーム数を示すフレームレートはNTSCで29.97Hz、PALで25Hzとなっている。1GOPが15フレームで構成されるNTSCシステムであれば、PTmaxは約1秒となる。
また、この最大一時停止表示時間PTmaxの代わりにリトライ回数の最大値を設定し、リトライ回数の最大値を超えてもECCデコードに失敗する場合には、同様に復旧処理でディスクから読み出すブロックデータの位置を、現在復号再生しているGOPに続く直後のGOP開始を含むブロックから読み出すようにジャンプし、ECCデコードし、MPEGデコーダ101における通常再生モードでの復号再生を継続しても良い。
図1では、例として同じブロックアドレスで4回ECCデコードエラーが連続して発生した後、復旧処理に成功した場合について示している。1回目のエラー復旧で+1/2スローモードへ、2回目で+1/4スローモードへ、3回目で+1/8スローモードへ、4回目で一時停止モードになるが、その後の復旧処理でDiff値が通常再生に耐えうるデータ分のエラー訂正を完了するため、通常再生モードに移行し、以降の復号再生処理を続ける形となっている。
また、図2はスロー再生モードについてMPEGデコーダ101内部での動作タイミングとして、+1/2スロー再生の場合を示す。図2に示すように+1/2スロー再生モードは、図12の通常再生のデコード動作と異なる1フレームの復号伸長間隔を2回に1回のタイミングで行い、同時に1フレームの表示周期を2倍にすることで実現している。
即ち、MPEGデコーダ101がショックプルーフメモリ103上のMPEGデータの消費スピードを半分にすることにより、ECCデコードエラー発生によるバッファオーバーラン現象を回避する効果を持つことになる。
なお、図3は一時停止モードに移行した後、PTmaxを超える復旧処理がかかってしまった場合の、ショックプルーフメモリ103上のデータ量変化を示す。一時停止モードに移行した後、PTmaxを超える復旧処理がかかってしまったため、矢印で示すように次のGOP先頭を含むブロックからデータを読み出して復旧処理を行っている。
(第2の実施形態)
次に、本発明の第2の実施形態例について説明する。第2の実施形態は第1の実施形態と動作原理はほぼ同じであり、ECCデコードエラー発生時においてショックプルーフメモリ103上のAddr(ECC)とAddr(MPEG)の差分値Diffに対して、再生モードの移行判断を式(2)ではなく、式(1)を用いて行う。即ち、式(1)において差分値Diffが、VBVmax以下になった時に一時停止モードに移行する。この場合には、移行する再生モードは一時停止モードのみとなり、エラー発生時に表示出力しているフレームを、復旧処理に成功するまで出力し続ける処理となる。
次に、本発明の第2の実施形態例について説明する。第2の実施形態は第1の実施形態と動作原理はほぼ同じであり、ECCデコードエラー発生時においてショックプルーフメモリ103上のAddr(ECC)とAddr(MPEG)の差分値Diffに対して、再生モードの移行判断を式(2)ではなく、式(1)を用いて行う。即ち、式(1)において差分値Diffが、VBVmax以下になった時に一時停止モードに移行する。この場合には、移行する再生モードは一時停止モードのみとなり、エラー発生時に表示出力しているフレームを、復旧処理に成功するまで出力し続ける処理となる。
また、一時停止モードから通常再生モードへの復帰は、これら一時停止中に並列して行うエラー復旧処理によって、エラー訂正に成功し、ECCデコード済みアドレス値Addr(ECC)が更新されるタイミングで、上式(1)の関係を算出することでMPEGデコーダ101の制御切り替えを行う。
更に、第1の実施形態と同様に一時停止モードでの経過時間をトレースし、PTmaxを超える場合には、現在復号再生しているGOPに続く直後のGOP開始を含むブロックから読み出すようにジャンプし、ECCデコードし、MPEGデコーダ102での通常再生モードでの復号再生を継続する(図3参照)。一時停止モードの最大停止時間PTmaxではなく、上述のように最大リトライ回数を設定してそれを超える場合も同様である。
図4は本実施形態のECCエラー発生時に一時停止処理を行う場合の、ショックプルーフメモリ占有量変化を、図5は上記一時停止処理におけるMPEGデコード処理のタイムチャートを示す。図4では、例として同じブロックアドレスで4回ECCデコードエラーが連続して発生した後、復旧処理に成功した場合について示している。
1回目のエラー復旧で一時停止状態に移行した後、復旧処理を行うタイミングで上式(1)の関係を算出し、5回目の復旧処理に成功するまで一時停止モードを保持し、その後、通常再生モードに復帰し、移行の復号再生処理を続ける。また、図5は通常再生モードから一時停止モードへ移行し、一時停止モードから通常再生モードに復帰する時のMPEGデコーダ内の動作タイミングを示している。
図中の例としては、B3フレームの復号再生時にECCデコードエラーが発生し、式(1)を満たさないDiffであった場合、MPEGデコーダ102においては次のフレームの復号再生処理を行わず、次のフレームの復号再生が可能な状況になるまで、B3フレームを連続して表示し続けるようになっている。同時に参照フレーム用の再配列バッファ内のデータについても、次のECCデコード成功による式(1)が成り立つまで保持しつづける。
以上のように第2の実施形態においても、第1の実施形態と同様にMPEGデコーダ102がショックプルーフメモリ103上のMPEGデータの消費を停止することにより、ECCデコードエラー発生によるバッファオーバーラン現象を回避することができる。
101 MPEGデコーダ
102 ECCデコーダ
103 ショックプルーフメモリ
104 記録/再生部
105 ディスク
106 データバスコントローラ
110 分離器
111 エレメンタリバッファ
112 デコーダ
113 再配列バッファ
113−1、113−2 再配列バッファ
102 ECCデコーダ
103 ショックプルーフメモリ
104 記録/再生部
105 ディスク
106 データバスコントローラ
110 分離器
111 エレメンタリバッファ
112 デコーダ
113 再配列バッファ
113−1、113−2 再配列バッファ
Claims (7)
- ランダムアクセス可能なディスク状記録媒体上に記録された映像及び音声信号の符号化圧縮を施したMPEGデータを、ECCブロック単位でショックプルーフメモリに読み出し、前記ブロックデータをECCブロックにおいてエラー訂正を行った後、MPEGデコーダでMPEGデータの復号伸長を行うディスクドライブ装置において、
前記読み出しブロックデータのエラー訂正処理の失敗時にブロックのエラー訂正処理に成功するまで対応するディスク上の物理ブロックからのブロックデータ読み出し処理及びECCデコーダでのエラー訂正処理を繰り返すリトライ処理を行う手段と、
前記ショックプルーフメモリ上に蓄積されているブロックデータに対して、記録媒体からの読み出し済みブロックデータサイズまたはアドレス情報、及びECCエラー訂正済みブロックデータサイズまたはアドレス情報、MPEGデコード済みブロックデータサイズまたはアドレス情報の3つのパラメータ値をリアルタイムにトレースする手段と、
前記パラメータ値がショックプルーフメモリサイズの最大サイズまたはアドレスに達した場合に、先頭アドレスに折り返すように更新する手段と、
前記パラメータのECCデコード済みサイズとMPEGデコード済みサイズとの差分値と所定の再生実行閾値とを比較する手段と、
前記比較手段の比較結果に基づいて前記差分値が再生実行閾値以下の場合には、前記MPEGデコーダの復号スピードを下げるスロー再生処理、又は前記MPEGデコーダの復号処理を一旦停止させ、現在表示中の映像信号を連続して表示しつづける一時停止処理を実行する制御手段とを備えたことを特徴とするディスクドライブ装置。 - 前記再生実行閾値はMPEG規格のプロファイル及びレベルで規定されている最大サイズをVBVmaxとする場合、[1+(1/(n−1))]×VBVmaxで規定され(nは整数で、スロー再生スピードの逆数を示す)、前記ECCデコード済みサイズとMPEGデコード済みサイズとの差分値Diffと前記再生実行閾値との関係が、
Diff≦[1+(1/(n−1))]×VBVmax
を満たす時に、前記制御手段はMPEGデコーダの復号スピードを下げるスロー再生処理を行うことを特徴とする請求項1に記載のディスクドライブ装置。 - 前記再生実行閾値はMPEG規格のプロファイル及びレベルで規定されている最大サイズVBVmaxであり、前記ECCデコード済みサイズとMPEGデコード済みサイズとの差分値Diffと前記再生実行閾値との関係が、
Diff>VBVmax
を満たさない時に、前記制御手段はMPEGデコーダの復号処理を一旦停止させ、現在表示中の映像信号を連続して表示しつづける一時停止処理を実行することを特徴とする請求項1に記載のディスクドライブ装置。 - 前記制御手段は、前記一時停止処理の時間が予め設定された最大一時停止時間を経過しても、或いは予め設定された最大リトライ回数を超えても、リトライ処理によるエラー訂正処理が連続的に失敗する場合には、現在復号再生中GOPデータの直後のGOPデータ先頭に相当するディスク上のブロック位置へジャンプし、当該ブロックからのディスク読み込みとECCデコーダによるエラー訂正のリトライ処理を行い、通常再生モードでの表示出力を継続することを特徴とする請求項1〜3のいずれか1項に記載のディスクドライブ装置。
- 前記最大一時停止時間PTmaxは、
PTmax=2×(1GOPを構成するフレーム数)×(フレームレート)
であることを特徴とする請求項4に記載のディスクドライブ装置。 - 前記MPEGデコーダのスロー再生処理及び一時停止処理は、前記ECCデコードエラーに起因するディスク読み出しとECCデコーダにおけるエラー訂正のリトライ処理と並列して行うことを特徴とする請求項1〜5のいずれか1項に記載のディスクドライブ装置。
- 前記制御手段は前記リトライ処理によるエラー訂正成功によってショックプルーフメモリ上のECCデコード済みブロックアドレスとMPEGデコード済みアドレスの差分値が、前記再生実行閾値よりも大きな値を取る場合には、前記MPEGデコーダの復号スピードを通常再生時のスピードに復帰させることを特徴とする請求項1〜6のいずれか1項に記載のディスクドライブ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004047889A JP2005243083A (ja) | 2004-02-24 | 2004-02-24 | ディスクドライブ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004047889A JP2005243083A (ja) | 2004-02-24 | 2004-02-24 | ディスクドライブ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005243083A true JP2005243083A (ja) | 2005-09-08 |
Family
ID=35024674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004047889A Pending JP2005243083A (ja) | 2004-02-24 | 2004-02-24 | ディスクドライブ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005243083A (ja) |
-
2004
- 2004-02-24 JP JP2004047889A patent/JP2005243083A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5793927A (en) | Methods for monitoring and modifying a trick play data stream to insure MPEG compliance | |
JP4287068B2 (ja) | 信号の誤りを隠蔽する方法 | |
JP3846771B2 (ja) | デコーダおよび再生装置 | |
US8009741B2 (en) | Command packet system and method supporting improved trick mode performance in video decoding systems | |
US7751691B2 (en) | Reproducing apparatus | |
JP4775208B2 (ja) | 再生方法、再生プログラムおよび再生装置 | |
JP2002185958A (ja) | 画像復号化装置及び画像復号化方法 | |
JP2004208319A (ja) | Mpegピクチャを復号し、巻き戻しモードにおいてそれを表示する方法と装置、およびこのような装置を組み込んだビデオドライバ回路とデコーダボックス | |
JPH10262208A (ja) | 同期ずれ制御装置及び方法 | |
KR100975170B1 (ko) | 화상 데이터 재생 장치 및 방법 | |
JPH1079918A (ja) | 画像情報復号化再生装置および画像情報復号化再生方法 | |
JP5190458B2 (ja) | データ処理装置及び方法 | |
JP3982354B2 (ja) | 画像データ再生装置及び方法 | |
JP2005243083A (ja) | ディスクドライブ装置 | |
JP2003324690A (ja) | 映像記録再生装置 | |
JP3852114B2 (ja) | 圧縮画像データ伝送方法及び装置 | |
US7532803B2 (en) | Reproducing apparatus | |
WO2004006576A1 (ja) | 画像データ処理装置及び方法 | |
JP2004180282A (ja) | ストリーム情報再生装置、ストリーム情報再生方法、プログラム及びデジタル放送受信機 | |
JP2008177874A (ja) | 記録装置、記録方法、プログラム、及び記憶媒体 | |
JP2007129489A (ja) | 映像再生装置および映像再生方法 | |
JPH11220695A (ja) | 動画像データの復号装置及び復号方法 | |
JP2004048104A (ja) | 画像データ処理装置及び方法 | |
JP4921261B2 (ja) | 再生装置 | |
JP2000341638A (ja) | 記録装置及び再生装置 |