以下図面について、本発明の一実施例を詳述する。
(1)データ再生装置の構成
図1においては全体として本発明によるデータ再生装置を示し、データ記録媒体(DSM(data storage media))1は、例えばビデオ、オーデイオ、字幕及びTOC(table of contents )情報などのデジタルデータを記録したドライブユニツト2から着脱可能な光ディスクで構成される。但し、DSM1は、着脱可能、若しくは着脱不可能な光記録媒体又は磁気記録媒体又は光磁気記録媒体又は半導体記憶素子、その他のデジタルデータ記録媒体でも良い。
ドライブユニツト2は、DSM1の機械的なマウント、アンマウントを行う機構部と、DSM1から再生信号を読み出すための光学ヘツドで成るピツクアツプを駆動する駆動部を有する。但し、ピックアップは、DSM1に応じたものとされ、磁気ヘツド又は光磁気ヘツドの場合もある。また、ピツクアツプについてはDSM1が半導体素子である場合は、アドレスポインタとなる。また、ドライブユニット2は、読み出された再生信号を復調してサブコードデータ、多重化データ、エラー訂正用データ(C1)及びエラー訂正用データ(C2)を得るとともに、それらのデータを図2で示される形式でエラー訂正装置3に送る復調回路も有する。
エラー訂正装置3は、ドライブユニツト2から、図2に示されるような形式で送られてきたサブコードデータ、多重化データ、エラー訂正用データ(C1)及びエラー訂正用データ(C2)を受け取り、エラー訂正用データを用いてエラー検出とエラー訂正を行う。またエラー訂正後のサブコードデータを解析してセクタ番号データを取り出し機能を持つ。またエラー訂正後の多重化データを、サブコードデータから取り出したセクタ番号データとエラーフラグを付加して、図7(A)のような形式でリングバツフア4に送る機能を持つ。図12にエラー訂正装置3の構成を示す。RAM30は、ドライブユニット2から供給されたデータを記憶する。スイッチ31は、RAM30から読みだされたデータの供給先をエラーコレクション回路32又はデータ付加回路34に切り換える。エラーコレクション回路32は、エラー訂正用データ(C1)及びエラー訂正用データ(C2)を用いてエラー訂正を行う。データ付加回路34は、コントローラ33から供給されたセクタ番号データとエラーフラグを、RAM30から読みだされた多重化データに付加する。コントローラ33は、RAMのアドレス制御、スイッチ31の制御やサブコードデータの解析を行う。後述するTOC読みだし状態の場合、スイッチ31をエラーコレクション回路32側に連続してセットすることにより、同じデータに対して複数回のエラー訂正が実現できる。
エラーフラグは、多重化データ8ビツトに対して1ビツト付加されるデータで、その8ビツトの多重化データにエラーがない場合又は完全にエラー訂正が行われた場合には0が、エラーが訂正不可能だつた場合には1が付加される。またエラー訂正装置3はサブコードデータを、エラーがない場合又は完全にエラー訂正が行われた場合にのみサブコードデコーダ21(図1)に送る。
サブコードデコーダ21は、エラー訂正装置3から供給されたサブコードデータを復号化して、復号化されたデータを制御回路16に送る。
リングバツフア4は、内部にFIFOメモリを持つており、エラー訂正装置3から図7(A)のような形式で送られてきた多重化データ、セクタ番号データ及びエラーフラグを一時バツフアリングし、リングバッファ制御回路26の示す読出しポインタに従って多重化データ及び付随するセクタ番号データとエラーフラグを、図7(B)の形式で送る。
このバツフアリングに際しては、エラー訂正装置3から送られてくる全てのデータを無条件にバツフアリングする場合と、送られてきたデータのうち、制御装置16の指定する読み込み開始点のセクタ番号以降のデータのみを選択してバツフアリングする場合と、制御装置16の指定する終了点のセクタ番号までのデータのみをバツフアリングする場合と、制御装置16の指定する開始点のセクタ番号から、終了点のセクタ番号までの特定範囲のデータのみをバツフアリングする場合がある。これらの切り換えは、リングバッファ制御回路26を介して行われる。
リングバッファ制御回路26は、制御装置16からバツフアリング開始点又は終了点、またはその両方を指定されている場合には、開始点又は終了点のデータを検出したことを制御装置16に知らせる。またTOCデータのロード命令を受け、エラー訂正装置3から送られてくるTOCデータをバツフアリングのためのメモリのうちTOCデータ用の特定の領域にロードし、ロードの終了を検出して、制御装置16にTOCデータのロード終了を知らせる。またリングバッファ制御回路26は、リングバッファ4にロードされ、保管されたTOCデータを、制御装置16の要求に応じてTOCデータを送る。また、リングバッファ制御回路26は、図35に示したリングバッファ制御回路106及びトラックジャンプ判定回路118と同様に、リングバッファ4のデータ蓄積量をモニターし、トラックジャンプが必要な場合、ドライブユニット2の駆動部に対してトラックジャンプを指令する。
デマルチプレクサ5は、図7(A)で示すようなリングバツフア4から送られてきた多重化データを、ビデオビツトストリーム、オーデイオビツトストリーム及び字幕ビツトストリームに分解し、図7(B)、図7(C)、図7(D)に示すように、ビデオデータヘツダとビデオデータに関してはビデオコードバツフア6に、オーデイオデータヘツダとオーデイオデータに関してはオーデイオコードバツフア9に、字幕データヘツダと字幕データに関しては、字幕コードバツフア12に送る。
デマルチプレクサ5は、各ビデオデータ、オーデイオデータに対応するエラーフラグに関してもそれぞれビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12に送る。但しビデオコードバツフア6、オーデイオコードバツフア9又は字幕コードバツフア12のいずれかがオーバーフローになつたことを意味する信号を送つてきた場合は、リングバッファ制御回路26へのコードリクエストを停止し、ビデオコードバツフア6、オーデイオコードバツフア9及び字幕コードバツフア12へのデータ送出を中止する。
また、デマルチプレクサ5は、セクタ番号データとシステムヘツダに記録されているシステムクロックリファレンス(SCR)と、ビデオデータヘツダに記録されているビデオデータのデコード開始時刻を示すビデオデコーデイングタイムスタンプ(DTSV)と、オーデイオデータヘツダに記録されているオーディオデータのデコード開始時刻を示すオーデイオデコーデイングタイムスタンプ(DTSA)と、字幕データヘツダに記録されている字幕データのデコード開始時刻を示す字幕デコーデイングタイムスタンプ(DTSS)を検出し、セクタ番号データ、SCR、DTSV、DTSA及びDTSSを検出したことを意味する信号を制御装置16に送る。また検出したセクタ番号データ、SCR、DTSV、DTSA及びDTSSを保持し、制御装置16の命令によつてその内容を制御装置16に伝える。
またセクタ番号の連続性をチエツクし、セクタ番号が不連続なデータがリングバツフア4から送られてきた場合には、その不連続なセクタ間に1バイト以上のエラーフラグを付加したダミーデータを挿入して、ビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12の全てに送り、その場所に失われたデータ又はサーチ動作などによる不連続なセクタの境界があることを知らせる。
ビデオコードバツフア6は、内部にFIFOメモリを持つており、デマルチプレクサ5から送られてくるビデオデータヘツダとビデオデータをバツフアリングし、それらをビデオデコーダ8の要求に応じてDTSV検出器7に送る。またバツフアリングするためのメモリがオーバーフロー又はアンダーフローになつた場合に、デマルチプレクサ5及び制御装置16にビデオコードバツフアオーバーフロー又はアンダーフローを知らせる信号を送る。
DTSV検出器7は、ビデオコードバツフア6から送られてきたデータのうち、ビデオデータヘツダとビデオデータのうち、ビデオデータだけを通過させ、ビデオデコーダ8に送る。またビデオデータヘツダにあるDTSVを検出し、検出したことを意味する信号を制御装置16に送るとともに、検出したDTSVを内部のレジスタに保持して、制御装置16の命令に応じて制御装置16に伝える。
ビデオデコーダ8はISO1172(MPEG1)又はISO13818(MPEG2)に準拠した所謂MPEGデコーダを含み、DTSV検出器7から送られてきたビデオデータをデコードすなわち復号化し、そのデコード結果をポストプロセツサ15に送る。デコードに際しては、デコードの一時停止、一時停止からの再開、Iピクチヤヘツダサーチ、及びIピクチヤヘツダを検出したことを制御装置16に知らせる。MPEGデコーダはピクチヤヘツダの検出機能、ピクチヤヘツダの種類、すなわちIピクチヤヘツダであるかPピクチヤヘツダであるかBピクチヤヘツダであるかを判別する機能、ピクチヤヘツダを検出したことと検出したピクチヤヘツダの種類を制御装置16に知らせる機能を有している。またビデオデコーダ8は、デコードした結果のビデオデータを一時的に黒または青などの画面に置き換え、出力を抑制する。また送られてきた圧縮データに文法上矛盾した記述が含まれていることを発見した場合、またはエラーフラグが付されたデータをデコードしようとした場合に制御装置16にエラーの発生を知らせる信号を送る。
オーデイオコードバツフア9は、内部にFIFOメモリを持つており、デマルチプレクサ5から送られてくるオーデイオデータヘツダとオーデイオデータをバツフアリングし、それらをオーディオデコーダ11の要求に応じてDTSA検出器10に送る。またバツフアリングするためのメモリがオーバーフロー又はアンダーフローになつた場合に、デマルチプレクサ5及び制御装置16にオーデイオコードバツフアオーバーフロー又はアンダーフローを知らせる信号を送る。
DTSA検出器10は、DTSV検出器7と同様に、オーデイオコードバツフア9から送られてきたデータのうち、オーデイオデータヘツダとオーデイオデータのうち、オーデイオデータだけを通過させ、オーデイオデコーダ11に送る。またオーデイオデータヘツダにあるDTSAを検出し、検出したことを意味する信号を制御装置16およびオーデイオデコーダ11に送る。また、DTSA検出器は、検出したDTSAを内部のレジスタに保持して制御装置16の命令に応じて制御装置16に伝える。
オーデイオデコーダ11はDTSA検出器10から送られてきた圧縮又は非圧縮オーデイオデータをデコードし、その結果をオーデイオ出力端子に出力する。また、オーデイオデコーダ11はデコードに際して、デコードの一時停止、一時停止からの再開、一定時間分のオーデイオデータの繰り返しデコード及び一定時間分のオーデイオデータの読み飛ばしを行う。一定時間とは例えば1〔秒〕、 100〔ミリ秒〕、10〔ミリ秒〕、1〔ミリ秒〕の4段階及び圧縮データの最小デコード単位である。またオーデイオデコーダ11はDTSA検出器10からのDTSA検出を意味する信号を受けてデコードを一時停止する。またデコードしたオーデイオ出力の音量を一時的に一定レベル落すハーフミユート機能、および音量をゼロにするミユート機能を持つ。
字幕コードバツフア12は、内部にFIFOメモリを持つており、デマルチプレクサ5から送られてくる字幕データヘツダと字幕データをバツフアリングし、DTSS検出器13に送る。またバツフアリングするためのメモリがオーバーフロー又はアンダーフローになつた場合に、デマルチプレクサ5及び制御装置16に字幕コードバツフアオーバーフロー又はアンダーフローを知らせる信号を送る。
DTSS検出器13は、字幕コードバツフア12から送られてくる字幕データヘツダと字幕データのうち、字幕データだけを通過させ、字幕デコーダ14に送る。また字幕データヘツダにあるDTSSと字幕データ内のduration_timeを検出し、検出したことを意味する信号を制御装置16に送り、更に検出したDTSSとduration_timeを内部のレジスタに保持して、制御装置16の命令に応じて制御装置16に伝える。
またDTSSサーチ動作において、DTSSを検出した場合に、制御装置16の他に、字幕デコーダ14にDTSSを検出したことを意味する信号を送る。字幕デコーダ14はDTSS検出器13から送られてきた字幕データをデコードし、その結果をポストプロセツサ15に送る。
字幕データをデコードする際は、デコードに際してデコードの一時停止、一時停止からの再開、デコードした結果の出力を一時的に停止する。またDTSSサーチ時に、DTSS検出器13からのDTSS検出信号を受けるまで、字幕データをデコードすることなしに読み捨てる。
ポストプロセツサ15は、制御装置16からの指令に応じて現在のデータ再生装置の状態を示す情報を表示するためのビデオ信号を発生し、ビデオデコーダ8から送られてくるビデオ信号と、字幕デコーダ14から送られてくるビデオ信号と、現在の再生装置の状態を表すために発生されたビデオ信号を合成し、合成したビデオ信号をビデオ出力端子に出力する。
制御装置16は、各部から情報を受けとり、また信号を発する機能を持ち、図1で示されるデータ再生装置全体の動作をコントロールする機能を持つ。外部インタフエース17は、コンピユータ機器、編集機等からのコマンドを受信し、制御装置16に伝達する。ユーザ入力装置18は、ユーザからの押しボタン等からのキー入力またはリモートコマンダーを介したキー入力を受け付け、制御装置16に伝達する。
情報表示装置19は、制御装置16からの指令に応じて現在の再生装置の状態を示す情報を、例えばランプや液晶デイスプレイ等を使つて表示する。垂直同期信号発生回路22は、垂直同期信号を発生して、ビデオデコーダ8、字幕デコーダ14、ポストプロセツサ15、制御装置16に供給する。
STCレジスタ23は、STCカウントアツプ回路24からの信号を受けてインクリメントされるレジスタであり、ビデオデータ、オーデイオデータ及び字幕データ間の同期再生を実現するための基準時計を実現する。制御装置16はSTCレジスタ23に任意の値をセツトする機能を持つ。STCレジスタ23は、この実施例では制御装置16と独立したレジスタ回路としてあるが、別の実施例として制御装置16内に、ソフトウエア的に保持されるレジスタとしても実現できる。
STCカウントアツプ回路24は、一定周期のパルス信号等の信号を発生し、STCレジスタ23に出力する。また制御装置16からの指令によつてSTCレジスタ23への出力を一時的に停止する。STCカウントアップ回路24とSTCレジスタは内部時計STCとして機能する。STCカウントアツプ回路24も、STCレジスタ23と同様に、この実施例では制御装置16と独立した回路としてあるが、別の実施例としてソフトウエア的なカウント信号発生器として実現することができる。
(2)DSMの構成
DSM1上では、全てのデータはセクタという単位で記録されており、DSM1から読み出すデータ開始位置は制御装置16からセクタ番号によつて指定される。開始位置を指定された後は、制御装置16から新たな位置の指定がない限り、以降のセクタを連続的に読み出す。例えば開始位置として 100セクタが指定された時は、新たな読み出し位置の指定がされるまで、 100、 101、 102、 103、……というように読み出す。
図2に示すように、各セクタは6208バイトで構成され、サブコードデータ、多重化データ、エラー訂正用データ(C1)、エラー訂正用データ(C2)の4種類のデータから構成される。1セクタでのデータ量はそれぞれ、64、4096、1024、1024バイトである。4種類のデータのうち、多重化データが再生したいデータであり、残りの3種類のデータ、すなわちサブコードデータ、エラー訂正用データ(C1)及びエラー訂正用データ(C2)は、多重化を高速に又は正確に再生するための補助的なデータである。
サブコードデータは、図10に示すようにセクタ番号情報、タイムコード情報サブコードコンテンツID及び再生禁止フラグから構成される。セクタ番号情報にはそのセクタのセクタ番号が、タイムコード情報には、そのセクタの再生される時刻を表す情報が、データコンテンツには、サブコードデータがどのようなデータを含んでいるかを示す情報(例えば再生禁止フラグを含む場合には01)が、再生禁止フラグには、そのセクタが、リードインエリア(LEAD IN AREA)、リードアウトエリア(LEAD OUT AREA)、TOCデータなどの通常再生を行わないデータが記録されているセクタであるかを示すフラグ(例えばFF)が記録されている。また、残りの59バイトはリザーブドとされ、サブコードデータとして他の情報を書き込めるようにしている。多重化データには再生したいビデオデータ、オーデイオデータ及び字幕データが多重化されたデータと、その他のコンピユータプログラム等のデータとが記録されている。
C1系列とC2系列のエラー訂正用データは、サブコードデータと多重化データとエラー訂正データ自身に発生したエラーを検出して訂正するための訂正情報である。C1系列とC2系列ではインターリーブの方向が異なり、C1系列による訂正、C2系列による訂正を繰り返すことによつてエラー訂正能力を上げることができる構造になつている。
図3に、各セクタの多重化データの部分に記録されているデータの種類を、セクタ番号による分類で示す。多重化データに記録されているデータは、本来ビデオデータおよびオーデイオデータおよび字幕データが多重化されたデータであるが、 -3000から1023セクタまでには例外的にTOCデータなどの特殊なデータが記録されている。1024セクタ以降には、本来の再生を行うビデオデータ、オーデイオデータ及び字幕データが多重化されたデータが記録されている。
DSM1の -3000セクタから-1セクタまでの領域に、TOCエリアと呼ぶ領域を設けてある。TOCエリアには、TOCデータ、すなわちそのDSM1に記録されているデータの内容に関する情報が記録されている。TOCデータは、エラーに対する信頼性を向上するため、図3で示すように、DSM1上の -3000セクタから -2001セクタ、 -2000セクタから -1001セクタ、 -1000セクタから-1セクタの3箇所に全く同じものが記録されている。但しTOCデータの大きさは1000セクタ分を超えないとする。ところで、使用者は、ユーザ入力装置18又は外部インターフェイス17のテンキーを介してセクタ番号を指定し、所望の画像や音声を得ることができるが、TOCデータは、制御用のデータであり、通常再生においてはアクセスさせるべきでは無いので、TOCエリアを通常のテンキーでは指定できない負のセクタ番号に設定している。
DSM1上のビデオデータ、オーデイオデータ及び字幕データを多重化したデータを記録したセクタは、その内容の区切りによつて、1つ又は複数のトラツクにグループ分けされる。この複数の連続したセクタで構成されるグループをトラツクと呼ぶ。またTOCデータの構造を図5に示す。TOCデータは、TOCヘツダ、TOCサイズ、トラツク数、各トラツクの情報、エントリポイントテーブルヘツダ、エントリポイントテーブル及びTOCエンドマークで構成される。
TOCヘツドには、ここからTOCが始まることを示す特殊なデータパターンが記録される。TOCサイズには、TOCデータの長さがバイト単位で記録される。各トラツクの情報には、各トラツクのトラツク番号、開始セクタ番号、終了セクタ番号、タイトルトラツクフラグ、エンドトラツクフラグ、再生禁止トラツクフラグ、ビデオ多重化フラグ、オーデイオ多重化フラグ、字幕多重化フラグ及び多重化フラグ有効情報フラグから構成される。
トラツク番号にはトラツクの通し番号が記録される。通常のトラツク番号の値の範囲は1から 254までとする。開始セクタ番号及び終了セクタ番号には、そのトラツクのDSM1上での範囲が、開始点と終了点のセクタ番号で記録される。タイトルトラツクフラグ及びエンドトラツクフラグは、それぞれそのトラツクがタイトルトラツク及びエンドトラツクであるかどうかを示すフラグである。
再生禁止トラツクフラグは、そのトラツクの再生を禁止する場合にセツトされ、禁止されない場合にはセツトされないフラグである。ビデオ多重化フラグ、オーデイオ多重化フラグ及び字幕多重化フラグは、それぞれそのトラツクの多重化データ内にビデオデータ、オーデイオデータ及び字幕データが多重化されているかどうかを示すフラグである。尚、各多重化フラグは、トラック内での各データの多重化数を示すものとしても良い。
多重化フラグ有効情報フラグは、直前に記録されているビデオ多重化フラグ、オーデイオ多重化フラグ及び字幕多重化フラグの内容が有効であるかを示すフラグである。例えば1トラツク内でビデオ、オーデイオ及び字幕データの多重化状態が変化するような場合には、直前の3つのフラグを1つの値に決めることができないので、任意の値を3つのフラグに書き込み、多重化フラグ有効情報フラグに無効を示す値を記録することで対応する。
上の各トラツクの情報の例では、トラツク1から 254までのトラツクについて、それぞれタイトルトラツク又はエンドトラツクであるかの属性を付けることを許すが、DSMの構造を図3に代えて図4に示すようにし、TOCの構造を図5に代えて図6に示すようにし、タイトルトラツク、エンドトラツクのためにトラツク番号がそれぞれ、0、 255となる特殊なトラツクを設け、それらのトラツクのDSM1上の位置を固定することにより、TOCデータの縮小、タイトルトラツク及びエンドトラツクがDSM1内で唯一であることを保証することによる再生装置の処理の単純化をはかることができる。
エントリポイントテーブルヘツダには、ここからエントリポイントテーブルが始まることを示す特殊なデータパターンが記録されている。エントリポイントテーブルには、エントリポイント数及びエントリポイントの情報から構成される。エントリポイント数はDSM1上のエントリポイントの数、エントリポイントの位置をセクタ番号で表した値と、そのセクタのサブコードデータに記録されているタイムコード情報から構成される。
エントリポイントテーブルは、ランダムアクセスおよびサーチ時に使用する。特にビデオデータがISO11172 (MPEG1)又はISO13818 (MPEG2)に準拠した可変レートで圧縮されたビデオデータのとき、セクタ番号の増加はタイムコードの増加に比例しないので、このエントリポイントテーブルを参照する必要性がある。TOCエンドマークには、ここでTOCが終わることを示す特殊なデータパターンが記録されている。
(3)データ再生装置の動作
(3−1)電源のオン
図11に制御装置16の動作状態の遷移図を示す。図1で示されるデータ再生装置の電源が投入されると、制御装置16は初期設定状態となる(ステツプSP1)。図13に初期設定状態における制御装置の処理フローを示す。初期設定状態においてまず制御装置16は、情報表示装置19に指令し、電源が投入されたことを示すランプ等を点灯させると共に、ポストプロセツサ15に指令して、図示せぬCRT等の表示装置に電源が投入されたことを示すメツセージを画面表示させる(ステツプSP100)。続いて制御装置16は、ROM25に予め記憶されたテストパターンを読みだして、エラー訂正装置3、リングバツフア4、ビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12、記憶装置20に搭載されているメモリにそれぞれ対応するテストパターンを書き込み(ステツプSP101)、またこれを読み出して(ステツプSP102)、正確に差動するかのチエツク、すなわちメモリチエツクを行う(ステツプSP103)。
メモリチエツクにより、異常が発見された場合には、情報表示装置19に指令して、異常が発生したことを示すランプ等を点灯させると共に、ポストプロセツサ15に指令して図示せぬCRT等の表示装置にメモリに異常があることを示すメッセージを画面表示させる(ステップSP104)。また、この状態において制御装置16は、これ以降デイスクのアンマウント命令を除いて、一切の外部インタフエース17又はユーザ入力装置18からの入力を無視する。またDSM1からのあらゆるデータ及び信号の読み出しを一切行わない。また、制御装置16は、メモリに異常が有る場合、所定の時間経過後電源をオフする(ステップSP105)。
メモリに異常が無い場合、制御装置16はドライブユニツト2にDSM1がマウントされているかどうかを問い合わせる信号を送る(ステップSP106)。ドライブユニツト2はその信号を受けとると、現在DSM1がマウントされているかどうかを制御装置16に伝える信号を送る。DSM1がマウントされているかどうかは、ドライブユニット2の機構部に設けられたマイクロスイッチで検出する、又はDSM1の所定部分で、フォーカスがかかるかを調べる等により実現できる。制御装置16は、現在DSM1がマウントされているという信号を受けとつた場合、図11に示すステップSP2のTOC読みだし状態に移行する(ステップSP107)。逆に制御装置16は、現在DSM1がマウントされていないという信号を受けとつた場合、情報表示装置19に指令して、DSM1がマウントされていないことを示すランプ等を点灯させると共に、ポストプロセッサ15に指令して、DSM1がマウントされていないことを示すメッセージを画面表示させる(ステップSP108)。制御装置16はその後、ドライブユニツト2からDSM1がマウントされたことを示す信号を受けとるまで待機する。
ドライブユニツト2はユーザがDSM1をドライブユニツト2にセツトするのを検出し、ドライブユニツトのピツクアツプが信号を読みだせるように、DSM1の位置合わせ等の機械的なマウントを行う。マウントが完了すると、ドライブユニツト2は、DSM1がマウントされたことを示す信号を制御装置16に送る。制御装置16はドライブユニツト2からDSM1がマウントされたことを示す信号を待つている状態において、マウントが完了したという信号を受けとると、図11のステップSP2のTOC読み出し状態に移行する。
(3−2)TOCの読み出し
図14にTOCの読みだし状態における制御装置16の処理フローを示す。TOC読みだし状態に移行するとまず制御装置16はエラー訂正装置3にTOC読みだしモードを指令する(ステップSP200)。また、制御装置16は、ドライブユニツト2に1つ目のTOCデータが書かれている部分すなわち -3000セクタにシークするように指令する(ステップSP201)。
ドライブユニツト2は、DSM1からデータを読み出し、エラー訂正装置3に転送する。エラー訂正装置3は、ドライブユニツト2から送られてくるデータについてエラー検出とエラー訂正を行い、多重化データに関しては、リングバツフア4に、サブコードデータに関しては、サブコードデコーダ21に送る。但しエラー訂正回数については、制御装置16からTOC読みだしモードであることが指示されているので次のようにC1訂正とC2訂正の繰り返し可能回数を通常再生時より多く設定する。
すなわち通常のデータ再生ではエラー訂正装置3によるエラー訂正はC1系列によるエラー訂正及びC2系列によるエラー訂正は、DSM1からのデータの読み込みからポストプロセツサ15やオーデイオデコーダ11からのビデオ出力及びオーデイオ出力端子からの出力に要する時間を短くするために、各一回ずつしか行わない。
しかしデータ読み込みから再生までの時間を短くする必要性がない場合、C1およびC2系列によるエラー訂正を交互に何回も繰り返すことによつて、エラー訂正能力を向上させることができる。従つて高速な読み出しを必要とせず、かつデータの高い信頼性を必要とするTOCデータの読みだしでは、エラー訂正装置3は制御装置16から1回ずつのC1、C2訂正で訂正不能のエラーを検出した場合、エラー訂正処理をさらに繰り返して行う。または最初からC1、C2訂正の繰り返しを複数回、例えば4回ずつ行う。
TOCデータに対してはエラー訂正回数を増してエラー訂正能力を上げるが、DSM1上のバーストエラー、すなわち広範囲に亘るデータの欠落が発生した場合、エラー訂正を繰り返し行つてもエラーが完全に訂正出来ないことがある。そこで一定回数エラー訂正を行つてもエラーが完全に訂正できない場合、制御装置16はドライブユニツト2にエラーが発生した位置へのシーク命令を発して、DSM1からのデータの再読み出しを行い、再読み出しによつて読み込まれたデータに関して再びエラー検出/訂正処理を行う。この再読みだし処理も時間がかかるので通常再生時には行わないが、ここでは制御装置16はTOC読みだし状態であるので再読みだし処理を行う。
DSM1からのデータ再読み出しを所定回数繰り返し行つても、エラーが訂正不可能な場合、制御装置16は、DSM1上の異なる位置に3回記録されているTOC情報の2つ目を読み込むためにドライブユニツトにシークを指令し、1つ目のTOCデータのロードと同様の手順でリングバツフア4への読み出しを試みる。2つ目のTOC情報の読みだしに失敗した場合は、同様に3つ目のTOC情報に関して同様の操作を行う。この異なる位置からの読み出しはTOCデータが同じものを3箇所に記録してあるから可能な処理であり通常再生のときは行えない。ここでは制御装置16はTOC読み出し状態なのでこの処理を行う(ステップSP202、SP203、SP204、SP205、SP206)。
3箇所に記録されているTOCデータの全てに関して再読み出しに失敗した場合は、情報表示装置19に指令して、TOCの読み出し失敗したことを示すランプ等を点灯させると共にポストプロセッサ15に指令してTOCの読みだしエラーを示すメッセージの画面表示をさせる(ステップSP207)。また制御装置16はドライブユニツト2にデイスクのアンマウント命令を行い(ステップSP208)、初期設定状態(図11のSP1)に移行する。ドライブユニツト2は制御装置16からアンマウント命令を受け取ると、デイスクのアンマウントを行う。
制御装置16は、TOCのエラー訂正が完了した場合、リングバツフア制御回路26にTOCの読み込み開始を指令する(ステップSP209)。リングバッファ制御回路は、書き込みポインタを制御し、リングバツフア4に搭載されているメモリのTOCデータのロード用の特定の領域に、TOCデータをロードさせる。リングバツフア4はエラー訂正装置3から送られてくる再生用データをリングバツフア4の持つメモリのTOCデータのための領域に書き込む。このとき全てのTOCデータを読み込める十分なメモリをリングバツフア4が持つ場合には、図5に示す全てのTOCデータを、十分なメモリを持たない場合はエントリポイントテーブルヘツダとエントリポイントテーブルを除いたTOCデータを読み込む。
リングバツフア4は、TOCエンドマークの読み込みを検出して、リングバツフア4へのTOCデータのロードの終了を検出する機能をもつており、ロードの終了を検出すると、制御装置16にそれを知らせる。制御装置16は、リングバツフア4から送られるロード終了を表す信号を受けとり停止状態に移行する。(ステップSP210)。
(3−3)停止状態(タイトルトラツク/エンドトラツク再生)
図15に停止状態における制御装置16の処理フローを示す。制御装置16は停止状態に移行すると、TOCをロードした直後か否かを判定する(ステップSP300)。TOCをロードした直後の場合、タイトルトラツクの再生(SP301)を、同様に制御装置16は、DSM1からのデータ再生が全部または一部終了した直後等、TOCをロードした直後以外の場合はエンドトラツクの再生(SP303)を指示する。
タイトルトラツクの再生の場合は、TOCデータを参照し(ステップSP301)、タイトルトラツクであることを示すフラグがセツトされているトラツクが存在する場合、ユーザからの再生指示の有無に関わらず該当トラツクの再生を指令する(ステップSP302)。エンドトラツクの再生の場合は、タイトルトラツクの再生の場合と同様にTOCデータを参照し(ステップSP303)、エンドトラツクであることを示すフラグがセツトされているトラツクが存在する場合、ユーザからの再生指示の有無に関わらず該当トラツクを再生を指令する(ステップSP304)。
停止状態において、再生すべきタイトルトラツク又はエンドトラツクがない場合、もしくはタイトルトラツク又はエンドトラツクの再生が終了した場合、制御装置16は、ドライブユニツト2に停止命令を、エラー訂正装置3、リングバツフア4及びデマルチプレクサ5に、それぞれエラー訂正中止、バツフアリング中止、デマルチプレクス停止命令を送る(ステップSP305)。またビデオコードバツフア6、オーデイオコードバツフア9及び字幕コードバツフア12をクリアする(ステップSP306)。
停止状態で制御装置16は、ユーザ入力装置18又は外部インタフエース17を通して送られてくるユーザからの再生開始の指令を待つ(ステップSP307)。また情報表示装置19及びポストプロセツサ15に指令して、停止状態にあることを示すランプ等を点灯させると共にメッセージを画面表示させる(ステップSP308)。
ユーザ入力装置18はユーザからの再生開始指令キー入力が行われると制御装置16に再生開始信号を送る。このとき又は予めユーザから再生するトラツクが指定されている場合は、そのトラツク番号情報を制御装置16に送る。また外部インタフエース17は、図示せぬ外部機器からの指令を受けると、制御装置16に再生開始信号を送る。このとき又は予め外部機器が再生するトラツク番号を指定した場合には、そのトラツク番号情報を制御装置16に送る。
制御装置16は、ユーザ入力装置18又は外部インタフエース回路17から再生開始信号を受けとると、図11のステップSP4の再生準備状態に移行する。ユーザ入力装置18又は外部インタフエース回路17から再生するトラツク番号が予め指定されていない場合は、トラツク番号1で示されるトラツクから再生する。
(3−4)再生準備
図16に再生準備状態における制御装置16の処理フローを示す。制御装置16は再生準備状態に移行すると、情報表示装置19及びポストプロセツサ15に指令して、再生の準備を行つていることを示すランプ等を点灯させると共にそのメッセージを画面表示させる(ステップSP400)。制御装置16は、次にリングバツフア4、デマルチプレクサ5、ビデオコードバツフア6、ビデオデコーダ8、オーデイオコードバツフア9、オーデイオデコーダ11、字幕コードバツフア12、字幕デコーダ14、ポストプロセツサ15及び記憶装置20を初期化する(ステップSP401)。但しリングバツフア4にロード及び保持されているTOCデータについては初期化しない。
また制御装置16は、エラー訂正装置3に通常の再生を行うモードであることを指令する(ステップSP402)。この指令によつて、エラー訂正装置3はエラー発生時のエラー訂正繰り返し回数をC1系列とC2系列それぞれ1回とする。次に制御装置16はTOCデータを参照して再生するトラツクの先頭位置のセクタ番号を得て、ドライブユニツト2にセクタ番号によつてシーク命令をかける(ステップSP403)。
制御装置16はデマルチプレクサ5にデマルチプレクス開始指令を送る(ステップSP404)。デマルチプレクサ5は、図7(a)に示される形式でリングバツフアから送られてくる多重化ビツトストリームの多重化を解き、ビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12に、それぞれ図7(b)、(c)、(d)に示されるように送る。またシステムヘツダに記録されているSCRを検出し、その値を内部のレジスタに保持する。
ビデオコードバツフア6はデマルチプレクサ5から送られてきたデータを、一回バツフア用メモリに蓄えた後、DTSV検出器7に送る。同様にオーデイオコードバツフア9及び字幕コードバツフア12もデマルチプレクサ5から送られてきたデータを、一回それぞれのバツフア用メモリに蓄えた後、DTSA検出器10及びDTSS検出器13に送る。
DTSV検出器7は、ビデオコードバツフア6から送られてきたデータのうち、ビデオデータのみを選択してビデオデコーダ8に送る。また図9に示すビデオデータヘツダのDTSVを検出し、検出した場合は制御装置16に検出されたことを知らせ、その値を保持する。同様にDTSA検出器10及びDTSS検出器13も、それぞれオーデイオコードバツフア9、字幕コードバツフア12から送られてきたデータのうちオーデイオデータ、字幕データのみを選択して、オーデイオデコーダ11、字幕デコーダ14に送る。また図9に示すオーディオデータヘッダのDTSA、図9に示す字幕データヘッダのDTSSを検出し、検出した場合には制御装置16に知らせ、その値を保持する。以上の処理が終了すると、制御装置16は図11のステップSP5の同期スタート方法判定状態に移行する。
(3−5)同期スタート方法判定状態
図17に同期スタート方法判定状態における制御装置16の処理フローを示す。同期スタート方法判定状態に移行すると、制御装置16はビデオデータ、オーデイオデータ、字幕データ又はそのうちの複数のデータの再生を開始させる処理を行うが、TOCに書かれているデータ、DTSV、DTSA又はDTSSの検出状態から、再生しようとしているデータに、ビデオデータ、オーデイオデータ、字幕データがそれぞれ存在するかを検出して、データ再生開始時における処理手順を選択する。
制御装置16は、図5に示すTOCデータの各トラツクの情報のビデオ多重化フラグ、オーデイオ多重化フラグ及び字幕多重化フラグを参照し、現在再生しようとしているデータにビデオデータ、オーデイオデータ、字幕データがそれぞれ存在するかを検出する。制御装置16は、まず、再生しようとするトラックに対応するトラック情報をリングバッファ4に記憶されたTOCから読み込む(ステップSP500)。次に得られたトラック情報の中の多重化フラグ有効情報フラグに基づいて、各多重化フラグが有効であるか否かを判断する(ステップSP501)。多重化フラグ有効情報フラグが無効を示す値であるなどの理由から、TOCの情報からそれが判断できなかつた場合、デマルチプレクス開始後、一定時間以内にDTSV検出器7、DTSA検出器10、DTSS検出器13からのDTSV、DTSA、DTSSの検出を知らせる信号の有無で判断する(SP506)。
TOC情報の多重化フラグから再生しようとするトラックにビデオデータとオーデイオデータの両方が存在することが判断された場合(SP502−SP503)、または一定時間内にDTSVとDTSAの両方が検出された場合(SP507−SP510)、制御装置16は、オーデイオビデオ同期スタート状態に移行する。またTOC情報の多重化フラグから再生しようとするトラックにビデオデータは存在するがオーデイオデータは存在しないことが判断された場合(SP502−SP503)、または一定時間内に、DTSVは検出されたが、DTSAは検出されない場合(SP507−SP510)、ビデオのみ同期スタート状態に移行する。さらにTOC情報の多重化フラグから再生しようとするトラックにオーデイオデータは存在するがビデオデータは存在しないことが判断された場合(SP502−SP504)、または一定時間内に、DTSAは検出されたが、DTSVは検出されない場合(SP507−SP508)、オーデイオのみ同期スタート状態に移行する。
さらにまたTOC情報の多重化フラグから再生しようとするトラックにビデオデータもオーデイオデータも両方とも存在しないことが判断された場合、または一定時間内にDTSVもDTSAも検出されない場合、その時点で、DTSSが検出されている場合(SP502−SP504−SP505又はSP507−SP508−SP509)には、字幕のみ同期スタート状態に移行する。さらにTOC情報からビデオデータもオーデイオデータも字幕データも全て存在しないことが判断された場合、または一定時間内に、DTSV、DTSA、DTSSのいずれも検出されなかつた場合(SP502−SP504−SP505又はSP507−SP508−SP509)、制御装置16は停止状態に移行する(ステップSP502〜ステップSP510)。
(3−6)オーデイオビデオ同期スタート状態
図18にオーディオビデオ同期スタート状態における制御装置16のビデオデータに関する処理フローを示す。オーデイオビデオ同期スタート状態に移行すると、制御装置16はビデオデコーダ8に、デコード一時停止とIピクチヤヘツダサーチを行うように命令する(ステップSP600)。これにより、デコード一時停止状態でIピクチヤヘツダサーチを行うことにより、ビデオデコーダ8はIピクチヤヘツダを検出後、デコードを開始せず、制御装置16からの一時停止解除命令がくるまでそのまま待機する。Iピクチヤヘツダとは、ISO11172 (MPEG1)又はISO13818 (MPEG2)で定義されるビデオビツトストリーム等のビデオデータにおいて、イントラピクチヤーデータの開始部分におかれる特定のデータパターンである。
ISO11172 (MPEG1)又はISO13818 (MPEG2)等の多重化ビツトストリームが記録されるDSM1において、データを記録する際には、Iピクチヤヘツダの含まれるビデオデータのビデオデータヘツダには、必ず、図9のDTSV encode flag=1の場合で示す符号化方法により、DTSVを必ず記録しておくという規則を設ける。これによつて、制御装置16はビデオデコーダ8がIピクチヤヘツダを検出したとき、そのIピクチヤに対応したDTSVを必ずDTSV検出器7から読み込むことができる。Iピクチャから同期スタートを開始させる理由は、Iピクチャ以外のピクチャ、即ちPピクチャ及びBピクチャは、時間的にそれより前及び又は後ろにあるピクチャを使って予測符号化されており、Pピクチャ及びBピクチャから復号化を開始することが出来ないからである。
次に制御装置16は、ビデオコードバッファ(V.C.B.)6がアンダーフロー状態であるか否かを判定する(ステップSP601)。アンダーフロー状態である場合、ビデオコードバッファ6から読みだされるべきデータが無いので、制御装置16は、ビデオコードバッファ6からのビデオデータの読みだしを一時中断させる。次に、ビデオデコーダ8からIピクチヤヘツダを検出したという信号を制御装置16が受けとると、制御装置16はDTSV検出器7からDTSVの値を読み込む(ステップSP602)。次に制御装置16は、STCカウントアップ回路24が動作中であるか否かを判定する(ステップSP603)。
STCカウントアップ回路24の自動カウントアツプがオンになつている場合、すでにカウントアツプが開始されているシステム時計STCすなわちSTCレジスタ23が示す値に同期して、ビデオとオーデイオをスタートさせなければならない。システム時計STCの自動カウントアツプがオフになつている場合、ビデオおよびオーデイオデコードの開始とシステム時計STCの自動カウントアツプ開始の両方を行わなければならない。
STCの自動カウントアツプがオンになつている場合、ビデオデコーダ8に関しては次の処理を行う。まず、STCレジスタ23に格納されているSTCとDTSV検出器7から検出されたDTSVを比較して(ステップSP604)、DTSV=<STCであれば、デコード開始のタイミングはすでに過ぎてしまつていると判断し、制御装置16は、ビデオデコーダ8にIピクチヤヘツダサーチを再び命令し(ステップSP605)、ビデオビツトストリーム上の次のIピクチヤに対応するDTSVをDTSV検出器7から読み込む(ステップSP601−SP602)。
またシステム時計STCも自動的にカウントアツプされているので最新の値をSTCレジスタ23から再び読み込む(SP603)。再び読み込んだDTSVとSTCを比較し(ステップSP604)、DTSV>STCとなるまで、これを繰り返す。DTSV>STCとなるDTSVが読み込まれた場合、制御装置16は、DTSV=STCとなるまで待ち(ステップSP615−SP616−SP615)、DTSV=STCとなつたら、次の垂直同期信号発生回路22から送られてくる垂直同期信号に同期して、ビデオデコーダ8にデコード一時停止解除命令を送る(ステップSP617−SP618)。垂直同期信号を待っている間もシステム時計STCは自動的にカウントアップされているので、制御装置16は、システム時計STCにDTSVをセットする(ステップSP619)。
ところで、通常ビデオコードバツフア6とオーデイオコードバツフア9におけるアンダーフロー信号検出にはエラー処理で対処しなければならないが、オーデイオビデオ同期スタート状態においては、制御装置16がビデオデコーダ8にIピクチヤヘツダサーチを命令した後、Iピクチヤが検出されるまでに、ビデオコードバツフア6からアンダーフローエラー信号を受けとつた場合でも、制御装置16は特別なエラー処理は行わず、オーデイオコードバツフア9はデマルチプレクサ5からデータが供給されて、アンダーフロー状態が解除されるまで待機する。
ビデオデコーダ8がIピクチヤを検出した場合、制御装置16はビデオコードバツフア6に十分データが貯まるまで待機しなければならない。本装置ではISO11172 (MPEG1)又はISO13818 (MPEG2)で規定される所定のコードバツフアフルネスを確保するために、システム時計STCが自動カウントアップされていなかった場合、以下の方法でコードバツフアフルネスを確保する。
ビデオデコーダ8がIピクチヤを検出した場合、すでにビデオデコーダ8はデコード一時停止状態であるので、ビデオデータはビデオコードバツフア6がオーバーフローを起こすまで、デマルチプレクサ5からデータを受けとつて、蓄積することができる。蓄積するに従い、デマルチプレクサ5は新しいSCRを検出して行く。
制御装置16はビデオコードバツフア6にデータが蓄積されるに従つて更新されていくSCRを一定時間ごとに読み込み(ステップSP606)、先にDTSV検出器7から読み込んだDTSVと比較する(ステップSP607)。このとき、DTSV=<SCRならば、コードバツフアにデータが十分たまつたと判断する。DTSV>SCRならば、デマルチプレクサ5で新たなSCRが検出されるまで待機する。新たなSCRが検出されるまで待機している間に、ビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12のいずれかのコードバツフア(C.B.)からオーバーフローを意味する信号を受けとつた場合には、この場合もコードバツフアに十分データがたまつたと判断する(ステップSP608)。
システム時計STCの自動カウントアツプがオフになつている場合、システム時計STCは垂直同期信号と同期してスタートさせる必要がある。DTSVは垂直同期信号に同期してエンコードされているが、DTSAは垂直同期信号とは無関係にエンコードされている。このため、システム時計STCのスタートに際しては、初期値としてDTSVを用い、垂直同期信号に同期してスタートさせる。システム時計STCがスタートし、同時にビデオデータのデコードをスタートさせた後、DTSAを用いてオーデイオデータのデコードをスタートさせる。システム時計STCの自動カウントアツプがオフになつている場合、次に制御装置は、ビデオデコーダに関して、以下の処理を行う。制御装置16はDTSV検出器7から読みだしたDTSVをSTCレジスタ23にセツトする(ステップSP609)。
次に制御装置16はDTSA検出器10から読み出したDTSAをDTSV検出器7から読み出されたDTSVと比較する(ステップSP610)。DTSA=<DTSVの場合、オーデイオデータがビデオデータよりも先にデコード開始になることを意味し、システム時計STCを垂直同期信号に同期してスタートさせることができなくなつてしまうので、制御装置16はオーデイオデコーダ11にDTSA>DTSVとなるまで、DTSAサーチ命令を発する。尚、オーディオデコーダ11の制御の詳細については、後述する。
以上の処理が終了した場合、制御装置16は字幕デコーダ14にデコード開始命令を送り(ステツプSP614)、再生定常状態に移行する。
DTSVとDTSAが読み込まれ、DTSA>DTSVが満たされている場合、制御装置16は、垂直同期信号発生回路22からの垂直同期信号を待ち(SP611)、垂直同期信号に同期して、STCカウントアツプ回路24を作動させ、STCの自動カウントアツプをオン状態にする(ステップSP612)。STCカウントアツプ回路24を作動させると同時に、制御装置16は、ビデオデコーダ8に一時停止解除命令を送り、ビデオデータのデコード(Vdec )を開始させる(ステップSP613)。
図19にオーディオビデオ同期スタート状態における制御装置16のオーディオデータに関する処理フローを示す。オーデイオビデオ同期スタート状態に移ると、制御装置16は、オーデイオデコーダ11に対して、出力をミユートする命令と、DTSAサーチ命令を送る(ステップSP700)。オーデイオデコーダ11はDTSAサーチ命令を受けると、オーディオコードバッファ(A.B.C.)9に対してコードリクエストを送り、デコードを開始し、DTSA検出器10からDTSA信号が検出されたことを意味する信号が送られてくるのを待つ。但し、この状態においては、オーディオデコーダ11は、ミュート命令を受けているので、実際にはデコードしたデータを出力しない。制御装置16はオーディオコードバッファ9のアンダーフローを監視する(ステップSP701)。オーディオコードバッファ9のアンダーフローは、オーディオコードバッファ9内に送り出すべきデータが無いことを意味するので、制御装置16は、これを検出した場合、一旦オーディオコードバッファ9からのデータの送り出しを一時停止させ、アンダーフローが解消した時点で再びデータの送り出しを許す。オーデイオデコーダ11はDTSA検出器10からDTSA信号検出を意味する信号を受けると、デコードを一時停止する。このとき制御装置16はDTSA検出器10から検出されたDTSAを読み込むことができる(ステップSP702)。オーデイオデコーダ11の一時停止の状態は、後述するように制御装置16によつて解除することができる。
制御装置16は、次にシステム時計STCの動作状態を判定する(ステップSP703)。STCの自動カウントアツプがオンになつている場合、オーデイオデコーダ11に関しては上記ビデオデコーダ8に対する処理と同様に次の処理を行う。すなわち、STCレジスタ23とDTSA検出器10から読み込まれる最新のSTCとDTSAを比較し(ステップSP704)、DTSA>STCとなるまで、オーデイオデコーダ11へのDTSAサーチ命令を繰り返す(ステップSP705)。DTSA>STCとなるDTSAが読み込まれた場合、制御装置16は、新たなSTCを読込み(ステップSP710)、DTSA=STCとなるまで待つた後(ステップSP711)、オーデイオデコーダ11にデコード一時停止解除命令を送る(ステップSP712)。
システム時計STCの自動カウントアツプがオフになつている場合、オーデイオデコーダに関しては次の処理を行う。すなわち、図18のビデオデコーダ8の同期スタート処理において既にDTSVが読み込まれているか判定する(ステップSP706)。すでに読み込まれている場合、そのDTSVをオーディオデコーダ11の同期スタート処理に取り込む(ステップSP707)。続いて、制御装置16は、取り込んだDTSVとDTSAを比較し(ステップSP708)、DTSA>DTSVとなるまで、オーデイオデコーダ11へのDTSAサーチ命令を繰り返す(ステップSP709)。DTSA>DTSVが満たされると、上述したように、図18のビデオデコーダ8の同期スタート処理において、STCカウントアツプ回路24を作動させ、システム時計STCの自動カウントアツプをオン状態にするので、この時点でオーディオデコーダ11の同期スタート処理においても、システム時計STCの値を読み込むことができる(ステップSP710)。その後、制御装置16は、STC=DTSAとなるまで待ち(ステップSP711)、STC=DTSAとなつた時点でオーデイオデコーダ11にデコード一時停止解除命令を送つてオーデイオデータのデコードを開始させる(ステップSP712)。以上の処理が終了した場合、制御装置16は、再生定常状態に移行する。
(3−7)ビデオのみ同期スタート状態
図20にビデオのみ同期スタート状態における制御装置16の処理フローを示す。ビデオのみ同期スタート状態に遷移すると制御装置16は、ビデオデータのみを垂直同期信号に同期してスタートさせる処理を行う。ビデオのみ同期スタート状態における制御装置16の処理は、基本的には、オーデイオビデオ同期スタートと同様であり、DTSVとDTSAとの比較、即ち図18のステップSP610のステップが無い点のみ異なっている。したがって、詳細な説明は省略する。まず、オーデイオビデオ同期スタートと同様に、制御装置16はビデオデコーダ8に、デコード一時停止とIピクチヤヘツダサーチを行うように命令する(ステップSP800)。
次にビデオコードバツフア6がアンダーフロー状態ではないことを確認した後(ステツプSP801)、ビデオデコーダ8がIピクチヤを検出した場合、即ちDTSVが読み込めた場合(ステップSP802)において、更にシステム時計STCがオフになっていた場合(ステツプSP803)、制御装置16は、ビデオコードバツフア6に十分データが貯まるまで待機する。すなわちオーデイオビデオ同期スタートと同様に、検出したDTSVをデマルチプレクサ5から読み出される最新のSCRと比較しDTSV=<SCRである場合、またはビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12のいずれかからオーバーフローを意味する信号を受けとつた場合になるまで待機する(ステップSP806、ステップSP807、ステップSP808)。
オーデイオデータについては、すでにオーデイオデコーダ11がデコード開始状態になつているときは、何も処理は行わず、オーデイオデコーダ11がデコード開始状態になつていない場合には、オーデイオデコーダ11に対して、出力をミユートする命令と、DTSAサーチ命令を送り、オーデイオデータがデマルチプレクサ5からオーデイオコードバツフア9に送られてくるのを待たせる。
ビデオデータに関してはさらに以下の処理を行う。STCの自動カウントアツプがオンになつている場合は、オーデイオビデオ同期スタートにおけるSTCの自動カウントアツプがオンになつている場合のビデオデコーダに関する処理と同様の処理を行う(ステップSP804、SP805、SP814、SP815、SP816、SP817、SP818)。この時、オーデイオデコーダに関しては何も行わない。
システム時計STCの自動カウントアツプがオフになつている場合は、オーデイオビデオ同期スタートにおけるシステム時計STCの自動カウントアツプがオフになつている場合の処理と同様の処理を行う。但しこの処理の内、オーデイオデコーダに関する処理、すなわちビデオデータのデコードを開始させた後で、DTSA=STCとなるまで待ち、オーデイオデコーダ11にデコード一時停止解除命令を送る処理は行わない。
以上の処理が終了した場合、制御装置16は字幕デコーダにデコード開始命令を送り(SP813)再生定常状態に移行する。ビデオのみ同期スタート状態で再生を開始し、再生定常状態に移行した後、DTSA検出器10からDTSAが検出されたことを示す信号を制御装置16が受け取つた場合は、図21に示すオーデイオのみ同期スタート状態のステツプSP804以降の処理に移行する。
(3−8)オーデイオのみ同期スタート状態
図21にオーディオのみ同期スタート状態における制御装置16の処理フローを示す。オーデイオのみ同期スタート状態に遷移すると制御装置16は、オーディオデータのみをシステム時計STCに同期してスタートさせる処理を行う。ビデオデータについては、すでにビデオデコーダ8がデコード開始状態になつているときは、何も処理は行わず、ビデオデコーダ8がデコード開始状態になつていない場合には、ビデオデコーダ8に対して、Iピクチヤヘツダサーチ命令を送る。
オーデイオのみ同期スタート状態に移ると、制御装置16は、オーデイオデコーダ11に対して、出力をミユートする命令と、DTSAサーチ命令を送る(ステップSP900)。オーデイオデコーダ11はDTSAサーチ命令を受けると、オーディオコードバッファ9に対してコードリクエストを送り、デコードを開始し、DTSA検出器10からDTSA信号が検出されたことを意味する信号が送られてくるのを待つ。但し、この状態においては、オーディオデコーダ11は、ミュート命令を受けているので、実際にはデコードしたデータを出力しない。制御装置16はオーディオコードバッファ9のアンダーフローを監視する(ステップSP901)。オーディオコードバッファ9のアンダーフローは、オーディオコードバッファ9内に送り出すべきデータが無いことを意味するので、制御装置16は、これを検出した場合、一旦オーディオコードバッファ9からのデータの送り出しを一時停止させ、アンダーフローが解消した時点で再びデータの送り出しを許す。オーデイオデコーダ11はDTSA検出器10からDTSA信号検出を意味する信号を受けると、デコードを一時停止する。このとき制御装置16はDTSA検出器10から検出されたDTSAを読み込むことができる(ステップSP902)。オーデイオデコーダ11の一時停止の状態は、後述するように制御装置16によつて解除することができる。
制御装置16は、次にシステム時計STCの動作状態を判定する(ステップSP903)。システム時計STCの自動カウントアツプがオンになつている場合、オーデイオデコーダ11に関しては次の処理を行う。すなわち、STCレジスタ23とDTSA検出器10から読み込まれる最新のSTCとDTSAを比較し(ステップSP904)、DTSA>STCとなるまで、オーデイオデコーダ11へのDTSAサーチ命令を繰り返す(ステップSP905)。DTSA>STCとなるDTSAが読み込まれた場合、制御装置16は、新たなSTCを読込み(ステップSP913)、DTSA=STCとなるまで待つた後(ステップSP914)、オーデイオデコーダ11にデコード一時停止解除命令を送る(ステップSP911)。
システム時計STCの自動カウントアツプがオフになつている場合、DTSA検出器10でDTSAが検出されると次に制御装置16は、オーデイオコードバツフア9に十分データがたまるまで待機する。すなわち、前述のビデオコードバツフア6に十分データがたまるまで待機する処理と同様に、制御装置16は、デマルチプレクサ5から最新のSCRを読み出し(ステップSP906)、このSCRとすでに読み出されたDTSAと比較し(ステップSP907)、DTSA=<SCRとなつた場合、もしくはビデオコードバツフア6、オーデイオコードバツフア9、字幕コードバツフア12のいずれかからオーバーフローを意味する信号を受けとつた場合になるまで待機する(ステップSP908)。次に、制御装置16は、システム時計STCの自動カウントアツプがオフになつている場合、オーデイオデコーダのデコード開始と同時にシステム時計STCの自動カウントアツプをスタートさせる。すなわち制御装置16は、オーデイオコードバツフア9に十分なデータがたまつたことを検出すると、STCレジスタ23にDTSA検出器10から検出されたDTSAをセツトし(ステップSP909)、STCカウントアツプ回路24を作動させ、STCの自動カウントアツプをオン状態にする(ステップSP910)。STCカウントアツプ回路24を作動させると同時に、制御装置16は、オーデイオデコーダ11に一時停止解除命令を送り、オーデイオデータのデコードを開始させる(ステップSP911)。
以上の処理が終了した場合、制御装置16は字幕デコーダ14にデコード開始命令を送り(ステップSP912)、再生定常状態に移行する。オーデイオデータのみ同期スタート状態で再生を開始し、再生定常状態に移行した後、DTSV検出器7からDTSVが検出されたことを示す信号を制御装置16が受け取つた場合は、上述した図20のビデオのみ同期スタート状態のステップSP804以降の処理に移行する。
(3−9)字幕のみ同期スタート状態
図22に字幕のみ同期スタート状態における制御装置16の処理フローを示す。字幕のみ同期スタート状態に遷移すると制御装置16は、字幕データのみをシステム時計STCに同期スタートさせる処理を行う。
字幕データはビデオデータの一種であるが、本装置のビデオデコーダ8で扱うビデオデータが、通常のテレビ映像信号やISO11172 (MPEG1)又はISO13818 (MPEG2)で符号化されるビデオデータのように、1画面の表示時間が約25分の1秒から約30分の1秒であるのに対して、本装置で扱う字幕データは、例えば映画やテレビに合成もしくはスーパーインポーズする字幕のような1秒程度以上の比較的長い時間同じ画面が継続して表示される画像データであるという特徴を持つ。
字幕データは上記のような特徴を持つているので、DSM1に記録されているビデオデータ、オーデイオデータ、字幕データが多重化されたデータの中で、1画面分の字幕データは低い転送レートで記録しておく。そのように記録されたデータを再生する本装置においては、字幕デコーダ14は、低い転送レートで送られてくる字幕データを、字幕コードバツフア12、DTSS検出器13を通じて読み込み、字幕デコーダ14でデコードした後、ポストプロセツサ15に出力する。
字幕のみ同期スタートにおいては、ビデオデータについては、すでにビデオデコーダ8がデコード開始状態になつているときは、何も処理は行わず、ビデオデコーダ8がデコード開始状態になつていない場合には、ビデオデコーダ8に対して、Iピクチヤヘツダサーチ命令を送り、ビデオデータがデマルチプレクサ5からビデオコードバツフア6に送られてくるのを待たせる。
オーデイオデータについては、すでにオーデイオデコーダ11がデコード開始状態になつているときは、何も処理は行わず、オーデイオデコーダ11がデコード開始状態になつていない場合には、オーデイオデコーダ11に対して、出力をミユートする命令と、DTSAサーチ命令を送り、オーデイオデータがデマルチプレクサ5からオーデイオコードバツフア9に送られてくるのを待たせる。
字幕データに関しては、システム時計STCの自動カウントアツプがオンになつている場合は、後述の再生定常状態における字幕表示方法と同様の処理手順で字幕の表示を行う。字幕のみ同期スタートにおいては、制御装置16は、まずシステム時計STCのカウントアップがオンになっているか判定する(ステップSP1000)。システム時計STCの自動カウントアツプがオフになつている場合は、以下に示す処理を行った後、後述の再生定常状態における字幕表示方法と同様の処理手順で字幕の表示を行う。システム時計STCの自動カウントアツプがオフになつている場合、制御装置16は、字幕デコーダ14に対してDTSSのサーチ命令を送り(ステップSP1001)、DTSS検出器13がDTSSを検出するのを待つ(ステップSP1002)。次に、DTSSが検出されると、それを読み込む(ステップSP1003)。この時点ではシステム時計STCがスタートしておらず、字幕デコーダ14にデコード開始命令が発せられず、字幕コードバツフア12がオーバーフローしてしまうので、制御装置16は字幕コードバツフア12からオーバーフローを意味する信号を、受けとつた時点で(ステップSP1004)、DTSS検出器13から読み出されたDTSSをSTCレジスタ23にセツトし(ステップSP1005)、垂直同期信号発生回路22からの垂直同期信号を待つて(ステップSP1006)STCカウントアツプ回路24を作動させ(ステップSP1007)、字幕デコーダ14をスタートさせる(ステップSP1008)。以上の処理が終了した場合、制御装置16は再生定常状態に移行する。
なお字幕データのみ同期スタート状態で再生を開始し、再生定常状態に移行した後、DTSV検出器7からDTSVが検出されたことを示す信号を制御装置16が受け取つた場合は、ビデオのみ同期スタート状態のステップSP804に移行する。また字幕データのみ同期スタート状態で再生を開始し、再生定常状態に移行した後、DTSA検出器10からDTSAが検出されたことを示す信号を制御装置16が受け取つた場合は、オーデイオのみ同期スタート状態のステップSP904に移行する。さらに字幕データのみ同期スタート状態で再生を開始し、再生定常状態に移行した後、DTSV検出器7とDTSA検出器10からDTSVおよびDTSAが検出されたことを示す信号を同時に制御装置16が受け取つた場合は、オーデイオビデオ同期スタート状態のステップSP604及びステップSP704にそれぞれ移行する。
(3−10)再生定常状態
再生定常状態に移ると制御装置16は、以下に示すビデオ同期ずれの検出、オーデイオ同期ずれの検出と修正、エラーの検出と字幕デコーダのコントロールと、再生プログラムの確認を行う。
(3−11)同期ずれの検出
ビデオデコーダ8及びオーデイオデコーダ11が両方ともデコード状態にある時、ビデオデータとオーデイオデータのデコード開始時刻のずれ、すなわちリツプシンクと呼ばれる表示画像と出力音声の同期ずれを検出し、修正する手段が必要となる。
同期ずれには、システム時計STCに対するビデオデコード開始時刻DTSVのずれ、システム時計STCに対するオーデイオデコード開始時刻DTSAのずれの2つが考えられる。同期ずれの検出方針は2つの方法が考えられる。まず上記2つの同期ずれ両方を検出して、2つを両方ゼロに近付けるように同期ずれの修正手段を講じるという方針、もう一つは、上記2つの同期ずれのうち、いずれかを基準と考え、残りの同期ずれの値のみを検出、同期ずれの修正手段を講じるという方針である。
前者の方針は、全てのずれをある一定の基準STC値に合わせることによりビデオデータおよびオーデイオデータ間の同期ずれをゼロにするという方針である。後者の方針は、例えばシステム時計STCに対するビデオデコード開始時刻DTSVのずれを基準と考える場合、定期的にまたは一定の時間間隔でシステム時計STCをDTSVで初期化し、システム時計STCに対するビデオデコード開始時刻DTSVのずれを計算上ゼロとする。
この処理によつて、システム時計STCに対するオーデイオデコード開始時刻DTSAのずれの値は、本来のそれぞれの値に、本来のDTSVのずれの値を加えた値となるが、このDTSAの同期ずれ1つだけをゼロに近付けることにより、相対的にビデオデータおよびオーデイオデータおよび字幕データ間の同期ずれをゼロにするという方針である。
前者の同期ずれの検出方法の場合のシステム時計STCに対するDTSV、DTSAの同期ずれの値の検出は次のようにして行う。図23に前者のビデオの同期ずれ検出における制御装置16の処理フローを示す。すなわち、ビデオデコーダ8からIピクチヤヘツダを検出したことを意味する信号を受けとる(ステップSP2000)と制御装置16はDTSV検出器7から最新のDTSVを、STCレジスタ23からSTCを読み込み(ステップSP2001、ステップSP2002)、DTSVとSTCの差すなわち(DTSV−STC)を計算し(ステップSP2003)、記憶装置20内にその値を記憶する(ステツプSP2004)。
図24に前者のオーディオの同期ずれ検出における制御装置16の処理フローを示す。DTSA検出器10からDTSAを検出したことを意味する信号を受けとる(ステップSP3000)と制御装置16はDTSA検出器10から最新のDTSAを、STCレジスタ23からSTCを読み込む(ステップSP3001、ステップSP3002)。次にDTSAとSTCの差すなわち(DTSA−STC)を計算し(ステップSP3003)、記憶装置20内にその値を記憶する(ステップSP3004)。
図25に後者のビデオの同期ずれの検出における制御装置16の処理フローを示す。すなわち、ビデオデコーダ8からIピクチヤヘツダを検出したことを意味する信号を受けとる(ステップSP4000)と制御装置16はDTSV検出器7から最新のDTSVを、STCレジスタ23からSTCを読み込み(ステップSP4001、SP4002)、DTSVとSTCの差の絶対値、すなわち|DTSV−STC|を計算する(ステップSP4003)。次に|DTSV−STC|を一定値と比較し(ステップSP4004)、|DTSV−STC|が一定値以下であつたら、STCレジスタ23にDTSVの値をセツトする(ステップSP4005)。|DTSV−STC|が一定値を超える場合は、深刻な同期ずれが生じており、DTSVを基準として使うことはできないと判断し、ビデオコードバツフア6とオーデイオコードバツフア9をクリアして、オーデイオビデオ同期スタート状態に移行する(ステップSP4007)。|DTSV−STC|が一定値以下であつたら、記憶装置20には、(DTSV−STC)として0の値を記録する(ステップSP4006)。
また、後者のオーディオの同期ずれの検出における制御装置16の処理フローは、前者の場合と同様に図24に示される。即ち、DTSA検出器10からDTSAを検出したことを意味する信号を受けとると制御装置16はDTSA検出器10から最新のDTSAを、STCレジスタ23からSTCを読み込む。次にDTSAとSTCの差すなわち(DTSA−STC)を計算し、記憶装置20内にその値を記憶する。
また、(DTSV−STC)および(DTSA−STC)および|DTSV−STC|の計算に関して、上記のように制御装置16でのソフトウエアによつて算出するのに時間がかかるようである場合、ハードウエアによる加算器、減算器、比較器を用意して、STC、DTSV、DTSAの値を制御装置16がセツトし、計算結果を制御装置16が読みだす実現例を考えられる。
(3−12)同期ずれ修正
次に前者、後者の同期ずれの検出方針を通じて使用される、DTSV、DTSAに対する同期ずれの修正を説明する。図26にDTSVに対する同期ずれの修正における制御装置の処理フローを示す。記憶装置20に新たな(DTSV−STC)が記憶されると(ステップSP5000)、制御装置16はその値を読み込む(ステップSP5001)。(DTSV−STC)の値がゼロの場合はビデオデコーダ8に対しては何も同期ずれの対策を行わない(ステップSP5002)。
次に制御装置16は、(DTSV−STC)の絶対値を一定値と比較する(ステップSP5003)。(DTSV−STC)の絶対値が一定値を超える大きな値となる場合、深刻な同期ずれが生じたと判断して、制御装置16はビデオコードバツフア6およびオーデイオコードバツフア9をクリアし(ステップSP5004)、警告表示をした後(ステツプSP5005)、オーデイオビデオ同期スタート状態に移行する。
(DTSV−STC)の絶対値が一定値を超えない場合、DTSVの正負を判定し(ステップSP5006)、(DTSV−STC)>0の場合はシステム時計STCに対してビデオデータのデコードが進んでいる場合であるから、制御装置16は、|DTSV−STC|の大きさに応じたピクチヤ枚数分の間のデコードの一時停止および同じピクチヤの繰り返し表示をビデオデコーダ8に指令する(ステップSP5007)。(DTSV−STC)<0である場合には、STCに対してビデオデータデコードが遅れている場合であるから、制御装置は|DTSV−STC|の大きさに応じた枚数のピクチヤデータの読み飛ばしをビデオデコーダ8に指令する(ステップSP5008)。
この時Iピクチヤ及びPピクチヤデータの読み飛ばしを行うと、ISO11172(MPEG1)又はISO13818 (MPEG2)ではフレーム間相関を用いて画像を圧縮しているので次のIピクチヤまでピクチヤデータが正常にデコードできなくなるので、読み飛ばしを行つても、その後のピクチヤのデコードの参照画像として使用されないBピクチヤのみを読み飛ばすようにビデオデコーダ8に指令する。
図27にDTSAに対する同期ずれの修正における制御装置の処理フローを示す。記憶装置20に新たな(DTSA−STC)が記憶されると(ステップSP6000)、制御装置16はその値を読み込む(ステップSP6001)。(DTSA−STC)の値がゼロの場合はオーデイオデコーダ11に対しては何も同期ずれの対策を行わない(ステップSP6002)。次に制御装置16は、(DTSA−STC)の絶対値を一定値と比較する(ステップSP6003)。(DTSA−STC)の絶対値が一定値を超える大きな値となる場合、深刻な同期ずれが生じたと判断して、制御装置16はビデオコードバツフア6およびオーデイオコードバツフア9をクリアし(ステップSP6004)、警告表示をした後(ステツプSP6005)、オーデイオビデオ同期スタート状態に移行する。
(DTSA−STC)の絶対値が一定値を超えない場合、DTSAの正負を判定し(ステップSP6006)、(DTSA−STC)>0の場合はシステム時計STCに対してオーデイオデータのデコードが進んでいる場合であるから、制御装置16は、|DTSA−STC|の大きさに応じた一定時間の間のデコードの一時停止もしくはオーデイオデータの繰り返しデコードをオーデイオデコーダ11に指令する(ステップSP6007)。(DTSA−STC)<0である場合には、システム時計STCに対してオーデイオデータのデコードが遅れている場合であるから、制御装置は|DTSA−STC|の大きさに応じた一定時間の間のオーデイオデータの読み飛ばしをオーデイオデコーダ11に指令する(ステップSP6008)。
上記の同期ずれの検出と対策を講ずるなかで、深刻な同期ずれが生じたと判断された各場合において、制御装置16は、情報表示装置19およびポストプロセツサ15に指令して、ビデオデータがかなりの量にわたつて失われた可能性があることを示すランプ等を点灯させると共に、その旨画面表示させる(ステップSP5006、ステップSP6005)ことが考えられる。
(3−13)エラーの検出
DSM1から読みだされたデータは、エラー訂正装置3によつてエラー訂正処理が行われるが、エラーデータが多く含まれるデータに関しては、完全にエラーが訂正されないまま、デマルチプレクサ5を経て、ビデオデコーダ8、オーデイオデコーダ11又は字幕デコーダ14に送られてくる場合がある。この場合エラーであるデータにはエラーフラグが付されているので、ビデオデコーダ8、オーデイオデコーダ11及び字幕デコーダ14ではエラーデータの検出を行うことができる。
またビデオデコーダ8もオーデイオデコーダ11もISO11172 (MPEG1)又はISO13818 (MPEG2)に準拠したビデオデータ又はオーデイオデータをデコードするので、それぞれの文法に反したデータについてはそれをエラーとして検出できる。いずれの場合もビデオデコーダ8、オーデイオデコーダ11及び字幕デコーダ14はエラーを検出すると、制御装置16にエラーの存在を知らせる信号を送る。
ビデオデコーダ8又はオーデイオデコーダ11からデコードエラーが検出された場合、ビデオデータ又はオーデイオデータの欠損が考えられるため、そのまま再生を継続すると、表示画像と出力音声の同期ずれが生じる可能性がある。この同期ずれに対しては、前述の同期ずれの検出及び修正の手段によつて対策を行う。この同期ずれの対策の他に、制御装置16はエラーの起こる頻度をカウントし、デイスクのエラー発生状況を把握することができる。これにより、エラー訂正装置3のエラー訂正アルゴリズムを修正させたり、ユーザにエラー発生状況を知らせることができる。
制御装置16はエラーの存在を知らせる信号を受け取る回数をカウントすることにより、そのデイスクもしくはそのトラツクもしくは過去一定時間に起きたエラー頻度を計算する。具体的には記憶装置20にデイスク内エラー回数記憶領域、トラツクエラー内エラー回数記憶領域、3秒以内エラー回数記憶領域の3種類のエラー発生回数を記憶する領域を設け、これらをカウンタとして動作させる。図28、図29、図30に各カウンタを用いた制御装置のエラー検出処理フローを示す。デイスク内エラー回数記憶領域は、停止状態から再生準備状態に移行する時に、トラツク内エラー回数記憶領域は停止状態から再生準備状態に移行する時及び新しいトラツクの再生に移つた時に、3秒以内エラー回数記憶領域は、停止状態から再生準備状態に移行する時及び3秒ごとにそれぞれリセツトする(ステップSP7000及びSP7003、SP8000、SP8003及びSP8004、並びにSP9000、SP9003及びSP9004)。
制御装置16はビデオデコーダ8、オーデイオデコーダ11又は字幕デコーダ14からエラー信号を受け取つた場合には(ステップSP7001、SP8001、SP9001)、デイスク内エラー回数記憶領域、トラツクエラー内エラー回数記憶領域、3秒以内エラー回数記憶領域の3つの領域に格納されている値にそれぞれ1を加算する(ステップSP7002、SP8002、SP9002)。
加算した結果、デイスク内エラー回数記憶領域に格納された値があらかじめ定められたしきい値を超えた場合、制御装置16は現在再生しているDSM1には欠陥が多いと判断し(ステップSP7004)、停止状態に移る。
トラツクエラー内エラー回数記憶領域に格納された値があらかじめ定められたしきい値を超えた場合(ステップSP8005)、そのトラツクには欠陥が多いと判断して現在再生しているトラツクの再生を中断して次のトラツクの再生を行う(ステップSP8006、ステップSP8007)。但しTOCデータから次のトラツクが存在しないことがわかる場合には再生を中断して停止状態に移る。
3秒以内エラー回数記憶領域に格納された値があらかじめ定められたしきい値を超えた場合(ステップSP9005)、次の3秒間、制御装置16はビデオデコーダ8および字幕デコーダ14に画面の表示中止を、オーデイオデコーダ11にミユートを一時的に指令する(ステップSP9006)。
(3−14)再生トラツクの確認
制御装置16は再生定常状態において、デマルチプレクサ5からセクタ番号を検出したことを示す信号を受けとると、デマルチプレクサ5からセクタ番号データ読み込む。読み込んだセクタ番号データと、図5で示されるTOCデータの各トラツクの開始および終了セクタ番号を比較して、デマルチプレクサ5から読み出されたセクタ番号が、そのトラツクに属するかを検出し、現在まで再生していたトラツクと異なる場合には、制御装置16は、情報表示装置19およびポストプロセツサ15に指令して、再生トラツクが変わつたこともしくは再生トラツク番号もしくはその両方を示すランプ等を点灯させると共に画面表示する。
また、最終トラツクの再生が終了したことが検出された場合には、制御装置16はデマルチプレクサ5にデマルチプレクスを停止する命令を送る。その後、ビデオコードバツフア8、オーデイオコードバツフア11、字幕コードバツフア12が全て空になつたことを示すアンダーフローエラーを制御装置16に伝えるのを待ち、停止状態に移行する。
制御装置16は再生定常状態において、デマルチプレクサ5からセクタ番号データ読み込むのと同様に、サブコードデコーダ21からサブコードデータを読み込む。サブコードデータに関してもデマルチプレクサ5から読みだしたセクタ番号データと同様に、図5で示されるTOCデータの各トラツクの開始及び終了セクタ番号と比較して、現在エラー訂正装置3に入力されているデータの属するトラツク番号を特定し、現在まで再生していたトラツクと異なる場合、かつユーザからトラツク番号の不連続な順番に再生が指定されている際には、次に再生すべき不連続なトラツクを再生すべく、再生準備状態に移行する。
制御装置16は再生定常状態において、ユーザ入力装置18又は外部インタフエース17からの指令により、停止指令を受けた場合には、停止状態に移行する。また制御装置16は再生定常状態において、ユーザ入力装置18又は外部インタフエース17からの指令により、サーチ指令を受けた場合には、サーチ状態に移行する。さらに制御装置16は再生定常状態において、ユーザ入力装置18又は外部インタフエース17からの指令により、一時停止指令を受けた場合には、一時停止状態に移行する。
(3−15)字幕デコーダの制御
字幕データは1画面ごとに符号化され、各字幕画面のデータの先頭データに付加されている字幕データヘツダにはその字幕画面のデコード開始時刻を示すDTSSが、また、各字幕データ内の字幕画面の先頭には、その字幕画面をどのくらいの間表示しているかを意味するduration_timeが記録されている。このDTSS、各字幕画面のデータの先頭部以外の字幕データヘツダには記録されていない。したがつて、DTSSサーチを行うことによつて、字幕画面の先頭のデータへのサーチを行うことができる。
図31に再生定常状態における字幕デコーダの制御に関する制御装置16の処理フローを示す。制御装置16は再生定常状態において、DTSSのサーチ命令に基づいて(ステツプSP30)、DTSS検出器25からDTSS検出信号を受けとると(ステツプSP31)、デコード開始時刻のチエツクを行う。まずDTSS検出器25からDTSSを、またその時のSTCの値をSTCレジスタ23から読み出す(ステップSP33、ステップSP34)。次に読み出されたDTSSとSTCを比較し(ステップSP35)、DTSS<STCである場合は、すでにデコードタイミングを逸していると判断し、字幕コードバツフアをクリアし(ステップSP43)、DTSS検出器25と字幕デコーダ14にDTSSサーチ命令を発する(ステップSP30)。さらに再びDTSS検出器25からのDTSS検出信号を待ち(ステップSP31)、検出されると、次の字幕画面のデコード開始時刻のチエツクを行う。
DTSS=STCである場合は、デコード開始タイミングであると判断し即座に、またDTSS>STCである場合はデコード開始タイミングにはまだ達していないと判断してDTSS=STCになつた時点で、字幕デコーダに1画面分のデコード命令を発する(ステップSP36、SP37、SP38、SP39)。1画面分のデコード命令を受けた字幕デコーダ14は、字幕コードバツフア12からDTSS検出器25を通して1画面分の字幕データをデコードし、内部のフレームメモリに保持し、ポストプロセツサ15への出力を開始する。
さらに制御装置16は、DTSS+duration_time>STCとなるのを待つ(ステップSP40、SP41)。この待つ間字幕画面は表示されている。DTSS+duration_time>STCとなったら、字幕デコーダ14に表示停止命令を発し(ステップSP42)、当該字幕画面の表示を終了する。制御装置16がDTSS+duration_time>STCとなるのを待つている間に、次の字幕画面データの先頭に対応するDTSSが検出される場合があるが、DTSS+duration_time>STCとなつて字幕画面の表示を終了するまで、特に処理を行わない。
当該字幕画面の表示を終了した後、DTSS+duration_time>STCとなるのを待つている間に、次の字幕画面データの先頭に対応するDTSSが検出されていた場合は、次の字幕画面のDTSSをDTSS検出器25から読み出して、デコード開始時刻のチエツクを行う。
制御装置16がDTSSを読み込んで、DTSS>STCと判断して、DTSS=STCとなるのを待つている場合、前述のように、ビデオデコーダ8から、Iピクチヤ検出信号が送られてくると、STCレジスタはそのIピクチヤに対応するDTSVによつてセツトし直されてしまうので、システム時計STCのカウントアツプが不連続となり、結果としてDTSS<STCとなり、待機してもDTSS=STCが成立しないことがあり得る。
そこで、DTSS>STCと判断してDTSS=STCを待つている場合に、DTSS<STCとなり(ステップSP37)、(STC−DTSS)がしきい値、例えばduration_timeより小さい場合には、まだこの字幕画面を表示すべき時間であるので、字幕デコーダ14に1画面分のデコードを開始させることもできる。但し、(STC−DTSS)が大きい場合には、重大な同期エラーが発生していると判断して、制御装置16は字幕デコーダ14とDTSS検出器25にDTSSサーチ命令を発する(ステップSP30)。DTSSが検出されるとその字幕画面のデコード開始時刻のチエツクを行う。
(3−16)サーチ状態
サーチ状態は、ビデオデータのうち、一定間隔ごとに出現するIピクチヤデータのみを再生し、IピクチヤとIピクチヤの間のPピクチヤやBピクチヤを再生しないでスキツプすることにより、DSM1に記録されたビデオデータを通常の再生にかかる時間よりも短い時間で再生する動作である。通常再生と同じ方向にIピクチヤだけを選択的に表示していく場合を、正方向サーチと呼び、通常再生と逆の方向に、つまり順次再生時刻の古くなつていく方向へIピクチヤを選択しながら表示していく場合を逆方向サーチと呼ぶ。
図32にサーチ状態における制御装置16の処理フローを示す。サーチ状態に入ると、制御装置16は、ビデオデコーダ8にサーチ状態に入つたことを意味する信号を送る(ステップSP50)。ビデオデコーダ8はサーチ状態に入つたことを意味する信号を受けとると、DTSV検出器7から読み込まれてくるビデオデータのうち、Iピクチヤのデータのみをデコードし、それ以外のPピクチヤおよびBピクチヤデータはデコードせずに読み捨てる動作を行う。デコードされたIピクチヤは、デコードの終了後すぐに表示される。
またオーデイオデコーダ11にデコード停止および、出力音量をゼロにするミユート命令を、字幕デコーダにデコード停止およびデコード出力を一時停止するように命令する(ステップSP51、SP52)。これによりサーチ中にはオーデイオデータおよび字幕データは再生されない。
サーチ状態に入ると、制御装置16は、正方向サーチの場合ドライブユニツト2にピツクアツプの正方向トラツクジヤンプ命令を、逆方向サーチの場合ドライブユニツト2に逆方向トラツクジヤンプ命令を発する(ステップSP53)。正方向または逆方向のトラツクジヤンプ命令によつて、ドライブユニツト2は、ピツクアツプを移動させ、現在のピツクアツプの位置に対して、正方向のトラツクジヤンプ命令の場合には大きいセクタ番号、逆方向のトラツクジヤンプ命令の場合には小さいセクタ番号のデータが読み出せるようにする。
このトラツクジヤンプにおけるピツクアツプの移動量を正確に指定できなくても構わない。すなわち、移動先のセクタ番号を厳密に指定してシーク命令を発する場合とは異なり、高速な大きな移動量のジヤンプを行う場合には移動方向と移動量のおおよその量しか指定できないようなDSM1とドライブユニツト2の組合せの場合で、ジヤンプ量の正確な値がわからなくても構わないとする。
ピツクアツプの移動が終了し、ピツクアツプの移動先にあるデータがエラー訂正装置に読み込まれると、そのサブコードデコーダ21には、図2に示される形式のサブコードデータが読み込まれる。制御装置16はサブコードデコーダ21に読み込まれるサブコードデコーダからセクタ番号データと、再生禁止フラグを読み込む(ステップSP54)。
制御装置16は読み込んだ再生禁止フラグがセツトされている場合(ステップSP55)、すなわち再生禁止を示す意味する場合、トラツクジヤンプの結果、ピツクアツプが、図3におけるリードインエリア(LEAD IN AREA)、リードアウトエリア(LEAD OUTAREA)、TOCエリアのいずれかに入つたと判断し、停止状態に移行する。サブコードデータの再生禁止フラグがセツトされていない場合、トラツクジヤンプ後に読み出されたセクタ番号から多重化データがビデオデコーダ8、およびオーデイオデコーダ11および字幕デコーダ14に供給される。
ビデオデコーダ8はサーチ状態に入つているので、Iピクチヤのみを再生するためにIピクチヤヘツダサーチを行う。Iピクチヤヘツダが検出されるとビデオデコーダ8は制御装置16にIピクチヤヘツダが検出されたことを知らせる信号を送り、直ちにIピクチヤのデコードを行い、デコード完了後直ちに出力する。次にPピクチヤヘツダまたはBピクチヤヘツダを検出した場合には、制御装置16に検出したことを知らせ、Pピクチヤデータ及びBピクチヤデータをデコードせず、次のIピクチヤヘツダサーチに入る。
制御装置16は、サーチ状態に入ると、ビデオデコーダ8から、Iピクチヤヘツダ検出を知らせる信号を待つ(ステップSP56)。Iピクチヤヘツダ検出信号を受けとると、さらに次のPピクチヤヘツダ検出信号又はBピクチヤヘツダ検出信号を待つ(ステップSP58)。このP又はBピクチヤヘツダの検出信号を受けとると、制御装置16はIピクチヤのデコードが終了したと判断し、再び制御装置16は、ドライブユニツト2に正方向サーチの場合ピツクアツプの正方向トラツクジヤンプ命令を、逆方向サーチの場合逆方向トラツクジヤンプ命令を発し、以上のサーチ状態を繰り返す(ステップSP53)。
サーチ状態において、オーデイオデータ及び字幕データは、それぞれオーデイオコードバツフア9及び字幕コードバツフア12に読み込まれるが、オーデイオデコーダ11及び字幕デコーダ14はデコードを停止しているので、そのままではオーデイオコードバツフア9、字幕コードバツフア12又はその両方がオーバーフロー状態になり、デマルチプレクサ5はビデオコードバツフア6、オーデイオコードバツフア9及びDTSS検出器25にデータを送ることができなくなる。
このためサーチ状態において制御装置16は定期的にオーデイオコードバツフア9と、字幕コードバツフア12をクリアする。例えば、ビデオデコーダ8からのI又はP又はBピクチヤヘツダの検出信号を受けとるごとにオーデイオコードバツフア9及び字幕コードバツフア12をクリアする(ステップSP57、SP59)。サーチ状態において制御装置16は、ユーザ入力装置18もしくは外部インタフエース17からの指令により、サーチ動作解除指令を受けた場合には、同期スタート方法判定状態に移行する。サーチ状態において、制御装置16はユーザ入力装置18または外部インタフエース17からの停止命令を受けた場合には、停止状態に移行する。
(3−17)一時停止状態
図33に一時停止状態における制御装置16の処理フローを示す。制御装置16は、一時停止状態に移行すると、垂直同期信号発生回路22からの垂直同期信号を待つ(ステップSP70)。垂直同期信号を検出したら、ビデオデコーダ8に一時停止命令を、オーデイオデコーダ11にデコードストツプ命令を発し、同時にSTCカウントアツプ回路にSTCの自動カウンタアツプの中止を指令する(ステッップS71、S72、S73)。
ビデオデコーダ8は一時停止命令を受けると、デコードを一時停止し、最後にデコードした画面を表示し続ける。このときデコードしている画像が、時間差のある2フイールドで1画面を構成するインターレース画像である場合は、ビデオデコーダ8は、奇数フイールド又は偶数フイールドの片方のフイールドのどちらかを選択して、そのフイールドの画像を奇数及び偶数フイールドの表示時両方に表示することで画面のちらつきを抑える。オーデイオデコーダ11はデコードストツプ命令を受けると、ただちにデコードを中止する。
一時停止状態における字幕画面についての処理は、通常再生状態から一時停止状態に移行する瞬間に字幕画面が表示されていた場合には、その画面の表示を継続する。字幕画面が表示されていなかつた場合には、字幕画面は表示されていないままとする。一時停止状態において制御装置16は、ユーザ入力装置18又は外部インタフエース17からの指令により、一時停止解除指令を受けた場合には、垂直同期信号発生回路22からの垂直同期信号を待つ(ステップSP74、SP75)。垂直同期信号を検出したら、ビデオデコーダ8に一時停止解除命令を、オーデイオデコーダ11にデコードスタート命令を発し、同時にSTCカウントアツプ回路にSTCの自動カウンタアツプの開始を指令する(ステップSP76、SP77、SP78)。その後、制御装置16は、通常再生状態に移行する。
一時停止状態において制御装置16は、ユーザ入力装置18もしくは外部インタフエース17からの指令により、コマ送り指令を受けた場合には、コマ送り状態に移行する。図34にコマ送り状態における制御装置16の処理フローを示す。コマ送り状態に移行すると、制御装置16はまず、オーデイオコードバツフア9に指令してオーデイオコードバツフアをクリアする(ステップSP90)。これは、次に行うビデオデコーダの1画面のデコードに際して、オーデイオコードバツフアのアンダーフローエラーを起こさないようにするためである。
次にビデオデコーダ8に1フレーム分だけデコードを行わせる。すなわち、垂直同期信号発生回路22からの垂直同期信号を待ち(ステップSP91)、次の垂直同期信号でデコード開始命令をビデオデコーダ8に送り(ステップSP92)、その次の垂直同期信号で一時停止命令を送る(ステップSP93、SP94)。次にシステム時計STCを、1フレーム分だけ進める(ステップSP95)。すなわち、制御装置16はSTCレジスタ23からSTCを読みだし、それに1フレームの表示時間を加えて、その値を再びSTCレジスタ23にセツトする。次に制御装置16は、ユーザ入力装置18もしくは外部インタフエース17からコマ送りの解除命令があるかを判定し(ステップSP96)、無い場合には、上記の処理を繰り返す。
この時、通常再生状態と同様に字幕画面について以下の処理を行う。すなわち現在字幕画面を表示している場合、現在表示している字幕画面についてDTSS+duration_time>STCとなつたら字幕デコーダ14に表示停止命令を発し、当該字幕画面の表示を終了する。また、現在字幕画面を表示していない場合、次の字幕画面のDTSSについて、DTSS<STCとなつたら、字幕デコーダ14に字幕画面のデコードと表示を指令する。以上の処理が終了したら、制御装置16はコマ送り状態から一時停止状態に移行する。
1……DSM、2……ドライブユニツト、3……エラー訂正装置、4……リングバツフア、5……デマルチプレクサ、6……ビデオコードバツフア、7……ビデオデコーデイングタイムスタンプ(DTSV)検出器、8……ビデオコードデコーダ、9……オーデイオコードバツフア、10……オーデイオデコーデイングタイムスタンプ(DTSA)検出器、11……オーデイオコードデコーダ、12……字幕コードバツフア、13……字幕デコーデイングタイムスタンプ(DTSS)検出器、14……字幕コードデコーダ、15……ポストプロセツサ、16……制御装置、17……外部インターフエース、18……ユーザ入力装置、19……情報表示装置、20……記憶装置、21……サブコードデコーダ、22……垂直同期信号発生回路、23……システム時計(STC)レジスタ、24……システム時計(STC)カウントアツプ回路。