(57)【要約】【課題】  音声切替時や字幕切替時の音途切れや字幕途切れを短くできるデータ復号装置を提供することを目的とする。【解決手段】  圧縮符号化されたデータの復号を行うデータ復号装置であって、圧縮符号化されたデータを複数のユニットデータに分割し、ユニットデータから更に１種類以上のデータパックを分割して、同一のユニットデータから分割されたデータパックが識別可能なようにタグを付与する逆多重化手段と、タグを監視しつつ同一のユニットデータから分割されたデータパックの復号をユニットデータ単位に行う復号手段とを備えたことにより上記課題を解決する。【選択図】  図９
2006086860.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化されたデータの復号を行うデータ復号装置であって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に１種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えたデータ復号装置。
【請求項２】
前記逆多重化手段は、前記ユニットデータから更に１種類以上のデータパックを分割したあと、前記データパックの一部を構成するパック・ヘッダに、前記タグを付与することを特徴とする請求項１記載のデータ復号装置。
【請求項３】
前記逆多重化手段は、前記データパック毎に１ずつ増加させた値を前記タグとして付与することを特徴とする請求項１又は２記載のデータ復号装置。
【請求項４】
前記逆多重化手段は、前記データパックに前記タグを付与したあと、前記データパックの種類に応じたバッファに前記データパックを格納することを特徴とする請求項１乃至３何れか一項記載のデータ復号装置。
【請求項５】
前記逆多重化手段は、ＤＶＤ規格に従ったビデオ・オブジェクト（ＶＯＢ）を複数のビデオ・オブジェクト・ユニット（ＶＯＢＵ）に分割し、前記ＶＯＢＵから更にナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックを分割して、同一の前記ＶＯＢＵから分割された前記ナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックが識別可能なように前記タグを付与することを特徴とする請求項４記載のデータ復号装置。
【請求項６】
前記復号手段は、前記ナビ・パックに応じたバッファから前記ナビ・パックを読み出すときに、前記ナビ・パックに付与したタグを分離してポインタに格納し、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファから前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックを読み出すときに、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに付与したタグを分離してレジスタに格納することを特徴とする請求項５記載のデータ復号装置。
【請求項７】
前記復号手段は、前記ポインタに格納したタグを所定周期で観測し、前記ポインタおよび前記レジスタに格納したタグの一致又は不一致に基づき、前記ナビ・パックに応じたバッファから前記ナビ・パックを消去するか否かを判定することを特徴とする請求項６記載のデータ復号装置。
【請求項８】
前記復号手段は、音声切替又は字幕切替の手続として、前記オーディオ・パック、サブピクチャ・パックに応じたバッファから前記オーディオ・パック、サブピクチャ・パックの全てを消去し、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグを所定値に書き替えることを特徴とする請求項７記載のデータ復号装置。
【請求項９】
前記復号手段は、前記ポインタおよび前記レジスタに格納したタグが一致しており、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグが所定値に書き替えられており、且つ前記タグが所定値に書き替えられていない前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファの容量が空であるとき、前記バッファに格納されているナビ・パックを消去することを特徴とする請求項８記載のデータ復号装置。
【請求項１０】
前記ナビ・パックは、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックの再生制御情報を含むことを特徴とする請求項１乃至９何れか一項記載のデータ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ復号装置に係り、特にＤＶＤ規格に従って圧縮符号化されたデータの復号を行うデータ復号装置に関する。
【背景技術】
【０００２】
近年、蓄積メディアとしてのＤＶＤが注目されている。このようなＤＶＤには、ＤＶＤビデオ規格に従って圧縮符号化されたビットストリームが記録されている。ＤＶＤビデオ規格に従って圧縮符号化されたビットストリームは、ビデオ・オブジェクト（ＶＯＢ）と呼ばれる。
【０００３】
図１は、ＶＯＢの一例のデータ構造図である。ＶＯＢ１は、セル（Ｃｅｌｌ）２という復号単位に分割することができる。また、セル２はビデオ・オブジェクト・ユニット（ＶＯＢＵ）３という最小単位に分割することができる。ＶＯＢＵ３は、常に一つのナビ・パック（Ｎｖ＿ｐｃｋ）で始まり、そのナビ・パックに引き続いてビデオ・パック（Ｖ＿ｐｃｋ）、オーディオ・パック（Ａ＿ｐｃｋ）、サブピクチャ・パック（Ｓｐ＿ｐｃｋ）を含むことができる。
【０００４】
ナビ・パックとは、ビデオ・パック，オーディオ・パック及びサブピクチャ・パックの再生制御情報（ＰＣＩ）やディスク上のアドレス情報（ＤＳＩ）を含んだ制御用のパックである。なお、ナビ・パックはＶＯＢＵ３に必ず一つ存在する。ビデオ・パック，オーディオ・パック及びサブピクチャ・パックは、ＶＯＢＵ３に存在しなくてもよい。
【０００５】
ここでパックとは、ＭＰＥＧ２規格で定められているデータ長が２０４８バイト、パック・ヘッダ及びパケットから構成されたひとまとまりのデータである。特許文献１には、ＤＶＤビデオ規格に従ったＶＯＢを再生する内容が記載されている。
【０００６】
図２は、ＶＯＢを復号するデータ復号装置の一例の構成図である。通常、データ復号装置はＶＯＢＵ単位に復号を行う。図２のデータ復号装置は、大別するとハードウェア１００及びソフトウェア２００に分けられる。まず、ハードウェア１００を説明する。
【０００７】
ＤＶＤディスク１０から読み出されたＶＯＢは、ハードウェア１００のトラックバッファ（Ｔｒｋ＿ｂｕｆｆ）１０１に格納される。このとき、ＶＯＢはＶＯＢＵ単位に区切りを付けて管理される。トラックバッファ１０１の後段には、ＶＯＢＵを上述した４種類の各パック（ナビ・パック、ビデオ・パック，オーディオ・パックおよびサブピクチャ・パック）に分離するデマックス（ＤＥＭＵＸ）１０２が接続されている。
【０００８】
また、デマックス１０２の後段には、各パックを格納するビデオ・バッファ（Ｖｉｄｅｏ＿ｂｕｆｆ）１０３，オーディオ・バッファ（Ａｕｄｉｏ＿ｂｕｆｆ）１０４，サブピクチャ・バッファ（Ｓｐ＿ｂｕｆｆ）１０５，ナビ・バッファ（Ｎｖ＿ｂｕｆｆ）１０６が接続されている。
【０００９】
ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５から読み出されたビットストリームは、それぞれビデオ復号器（Ｖｉｄｅｏ＿Ｄｅｃｏｄｅｒ）１０７，オーディオ復号器（Ａｕｄｉｏ＿Ｄｅｃｏｄｅｒ）１０８，サブピクチャ復号器（Ｓｐ＿Ｄｅｃｏｄｅｒ）１０９で伸張され、映像，音声，字幕となってハードウェア１００から出力される。
【００１０】
次に、ソフトウェア２００を説明する。カレント管理部２０２は、ナビ・バッファ１０６からナビ・パックを読み出して、ナビ・スプール（Ｎｖ＿ｓｐｏｏｌ）２０３に格納する。再生エンジン２０４は、ナビ・スプール２０３からナビ・パックを読み出し、実際に再生のための制御を行う。ソフトウェア２００の基本構成は、カレント管理部２０２，ナビ・スプール２０３及び再生エンジン２０４となる。
【００１１】
再生エンジン２０４は、ナビ・スプール２０３から読み出したナビ・パックの中からＰＣＩを抽出し、ＳＴＣアラーム登録管理部２０６に送信する。再生エンジン２０４は、ハイライト情報制御部（ＨＬＩ制御部）２０５経由で、ＳＴＣアラーム登録管理部２０６にハイライト情報（ＨＬＩ）を送信する。
【００１２】
なお、ＰＣＩに含まれているＶＯＢＵ＿Ｓ＿ＰＴＭは、カレント管理部２０２からＳＴＣアラーム登録管理部２０６に送信される。ＰＣＩに含まれているＶＯＢＵ＿Ｅ＿ＰＴＭは、再生エンジン２０４からＳＴＣアラーム登録管理部２０６に送信される。ＨＬＩに含まれているＨＬ＿Ｓ＿ＰＴＭ，ＨＬ＿Ｅ＿ＰＴＭ，ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭは、再生エンジン２０４からＨＬＩ制御部２０５経由でＳＴＣアラーム登録管理部２０６に送信される。
【００１３】
ＳＴＣアラーム登録管理部２０６では、受信したデータ、つまりＰＣＩの中の時刻情報であるＶＯＢＵ＿Ｓ＿ＰＴＭ，ＶＯＢＵ＿Ｅ＿ＰＴＭ，ＨＬ＿Ｓ＿ＰＴＭ，ＨＬ＿Ｅ＿ＰＴＭ，ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭを、値の小さな順にシステム・タイム・クロック（ＳＴＣ）２０１に登録していく。ＳＴＣ２０１は、再生スタートと同時に計時を開始し、登録された時刻に到達すると再生エンジン２０４及びＨＬＩ制御部２０５にアラームを通知する。
【００１４】
図３及び図４は、データ復号装置の動作を表した一例のフローチャートである。ここでは、図２のデータ復号装置の動作を各バッファとナビ・パックとに注目して説明する。ステップＳ１では、トラックバッファ１０１に空き領域があるか否かが判定される。
【００１５】
空き領域がある間は（Ｓ１においてＹＥＳ）、ステップＳ２のＶＯＢリクエストの発行が行われ、ステップＳ３でＤＶＤディスク１０からトラックバッファ１０１へのＶＯＢの転送が行われる。空き容量が無くなると（Ｓ１においてＮＯ）、ステップＳ４に進み、ＶＯＢリクエストの発行が停止される。
【００１６】
ステップＳ５に進み、トラックバッファ１０１に格納されたＶＯＢは、ＶＯＢＵ単位でデマックス１０２に投下される。投下されたＶＯＢＵはデマックス１０２で上述した４種類の各パックに分離され、各パックを格納するビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６に格納される。
【００１７】
ステップＳ６に進み、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６の何れかの空き容量が無くなったか否かが判定される。
【００１８】
上述した４つのバッファの全てに空き容量がある間は（Ｓ６においてＮＯ）、ステップＳ５において、トラックバッファ１０１からデマックス１０２にＶＯＢＵが投下される。上述した４つのバッファの何れかに空き容量が無くなると（Ｓ６においてＹＥＳ）、ステップＳ７に進み、ＶＯＢＵの投下が停止される。即ち、ＶＯＢＵの投下は、４つのバッファの何れかに空き容量が無くなると、空き容量のあるバッファに対しても停止される。
【００１９】
ステップＳ８では、ナビ・バッファ１０６にナビ・パックが格納されるまでステップＳ８の処理を繰り返し行い（Ｓ８においてＮＯ）、ナビ・バッファ１０６にナビ・パックが格納されると（Ｓ８においてＹＥＳ）、カレント管理部２０２にナビ・パック書込終了通知が通知される。ステップＳ９では、カレント管理部２０２がホストインターフェース（ＨｏｓｔＩ／Ｆ）部１１０経由で、ナビ・バッファ１０６からナビ・パックを取得する。
【００２０】
ステップＳ１０に進み、カレント管理部２０２はナビ・バッファ１０６から取得したナビ・パックをナビ・スプール２０３に格納する。ナビ・スプール２０３に空き容量がある間は（Ｓ１１においてＮＯ）、カレント管理部２０２はステップＳ８〜Ｓ１１の処理を繰り返し行い、ナビ・バッファ１０６から取得したナビ・パックをナビ・スプール２０３に格納する。
【００２１】
ナビ・スプール２０３に空き容量が無くなると（Ｓ１１においてＹＥＳ）、カレント管理部２０２はステップＳ１２に進み、ＶＯＢＵ＿Ｓ＿ＰＴＭ（０）を他のパラメータに先行してＳＴＣアラーム登録管理部２０６に登録する。ステップＳ１３に進み、再生エンジン２０４は第１番目のナビ・パックＮｖ＿ｐｃｋ（０）をナビ・スプール２０３から取得する。
【００２２】
ステップＳ１４に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（０）からＨＬＩを抽出してＨＬＩ制御部２０５に送信する。ステップＳ１５に進み、再生エンジン２０４はＶＯＢＵ＿Ｅ＿ＰＴＭ（０）をＳＴＣアラーム登録管理部２０６に登録する。
【００２３】
ステップＳ１６に進み、ＨＬＩ制御部２０５は、ＨＬ＿Ｓ＿ＰＴＭ（０），ＨＬ＿Ｅ＿ＰＴＭ（０），ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭ（０）をＳＴＣアラーム登録管理部２０６に登録する。
【００２４】
ここまでの処理で、第１番目のナビ・パックＮｖ＿ｐｃｋ（０）に対応する再生準備は完了した。なお、ステップＳ１２〜Ｓ１６の処理を再生スタンバイと呼ぶ。ステップＳ１７では、再生を開始すると判定するまでステップＳ１７の処理を繰り返す（Ｓ１７においてＮＯ）。再生を開始すると判定すると（Ｓ１７においてＹＥＳ）、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５に格納されているビットストリームの復号が開始される。ステップＳ１９に進み、ＳＴＣ２０１はカウントを開始する。
【００２５】
ステップＳ２０に進み、カレント管理部２０２はＶＯＢＵ＿Ｓ＿ＰＴＭ（１）をＳＴＣアラーム登録管理部２０６に登録する。ステップＳ２１では、第２番目のナビ・パックＮｖ＿ｐｃｋ（１）の再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（１）に到達するまでステップＳ２１の処理を繰り返す（Ｓ２１においてＮＯ）。
【００２６】
その後、時間が経過して第２番目のナビ・パックＮｖ＿ｐｃｋ（１）の再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（１）に到達すると、ＳＴＣ２０１はステップＳ２２に進み、再生エンジン２０４及びＨＬＩ制御部２０５にアラームを通知する。ステップＳ２３に進み、再生エンジン２０４は第２番目のナビ・パックＮｖ＿ｐｃｋ（１）をナビ・スプール２０３から取得する。
【００２７】
ステップＳ２４に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（１）からＨＬＩを抽出してＨＬＩ制御部２０５に送信する。ステップＳ２５に進み、再生エンジン２０４はＶＯＢＵ＿Ｅ＿ＰＴＭ（１）をＳＴＣアラーム登録管理部２０６に登録する。
【００２８】
ステップＳ２６に進み、ＨＬＩ制御部２０５は、ＨＬ＿Ｓ＿ＰＴＭ（１），ＨＬ＿Ｅ＿ＰＴＭ（１），ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭ（１）をＳＴＣアラーム登録管理部２０６に登録する。ステップＳ２７では、再生を継続するか否かが判定される。再生を継続すると判定されれば（Ｓ２７においてＹＥＳ）、次のナビ・パックに対してステップＳ２０〜Ｓ２６の処理を行う。即ち、ステップＳ２０〜Ｓ２７の処理を繰り返し行うことで、ＤＶＤディスク１０の再生が行われていく。
【００２９】
一方、再生を継続しないと判定されれば（Ｓ２７においてＮＯ）、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５に格納されているビットストリームの復号が停止される。ステップＳ２９に進み、ＳＴＣ２０１はカウントを停止し、カウントの値を保持する。
【特許文献１】特開平１１−１６２１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
前述したデータ復号装置では、図５のようなＶＯＢＵを復号する場合に不都合が生じるという問題があった。図５は、ＶＯＢＵの一例のデータ構造図である。図５のＶＯＢＵは英語及び日本語の２種類の音声を含んでいる。図５では、英語の音声に対応したオーディオ・パックがＡ＿ｐｃｋ（Ｅ）で表され、日本語の音声に対応したオーディオ・パックがＡ＿ｐｃｋ（Ｊ）で表されている。
【００３１】
通常、ＶＯＢＵには英語の音声に対応したオーディオ・パック及び日本語の音声に対応したオーディオ・パックが均等に多重されている。しかしながら、図５のＶＯＢＵでは英語の音声に対応したオーディオ・パック及び日本語の音声に対応したオーディオ・パックの多重に偏りがある。
【００３２】
例えば図５ではＶＯＢＵ（ｎ）〜（ｎ＋５）に英語の音声に対応したオーディオ・パックが多重されており、ＶＯＢＵ（ｎ＋６）に日本語の音声に対応したオーディオ・パックが多重されている。映像に対応したビデオ・パックは、ＶＯＢＵ（ｎ），（ｎ＋１）に多重されている。一方、字幕に対応したサブピクチャ・パックは多重されていない。
【００３３】
ここで、図５のようなＶＯＢＵを前述したデータ復号装置で再生し、且つ英語から日本語への音声切替を行うときの４つのバッファ（ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６）およびナビ・スプール２０３の状態遷移について、図６，図７を参照しつつ説明する。図６，図７は、ＶＯＢＵを再生するときの４つのバッファ及びナビ・スプールの状態遷移図である。
【００３４】
図６（Ａ）の状態は、再生開始前の初期状態である。この状態では、４つのバッファおよびナビ・スプール２０３が空である。なお、図６，図７に示されていないトラックバッファ１０１も空である。
【００３５】
図６（Ａ）の状態は、トラックバッファ１０１が空であるため、ＶＯＢリクエストの発行が行われ、ＤＶＤディスク１０からトラックバッファ１０１へのＶＯＢの転送が開始される。その後、トラックバッファ１０１に格納されたＶＯＢはＶＯＢＵ単位でデマックス１０２に投下され、デマックス１０２で上述した４種類の各パックに分離され、各パックを格納する４つのバッファに格納される。
【００３６】
図６（Ｂ）の状態では、ナビ・バッファ１０６の空き容量が無くなり、デマックス１０２へのＶＯＢＵの投下が停止され、ＶＯリクエストの発行も停止される。このあと、前述した再生スタンバイが行われる。
【００３７】
図６（Ｃ）の状態では、再生が開始され、再生エンジン２０４がナビ・スプール２０３からナビ・パックを読み出して消費している。また、カレント管理部２０２はナビ・バッファ１０６からナビ・パックを読み出して消費している。このとき、オーディオ・バッファ１０４には英語の音声に対応したオーディオ・パックＡ＿ｐｃｋ（Ｅ）が格納されているため、音声として英語が出力されている。なお、図６，図７では消費されたナビ・パックに取り消し線（−）が上書きされている。
【００３８】
ここで、ユーザから音声切替命令が発行されたと仮定する。音声切替命令が発行されるとデータ復号装置は、現在オーディオ・バッファ１０４に格納されているオーディオ・パックＡ＿ｐｃｋ（Ｅ）をフラッシュ（消去）する。図６（Ｄ）の状態は、音声切替命令が発行され、オーディオ・バッファ１０４に格納されているオーディオ・パックをフラッシュした状態である。なお、ビデオ・バッファ１０３に格納されていたビデオ・パックは消費されている。
【００３９】
その後、オーディオ・バッファ１０４にオーディオ・パックＡ＿ｐｃｋ（Ｊ）が格納されるのを待ち、格納されたあとで再生を開始すればよい。ところが、オーディオ・バッファ１０４に対するオーディオ・パックＡ＿ｐｃｋ（Ｊ）の格納は、図７（Ｅ）に表したように、ナビ・バッファ１０６に格納されているナビ・パックを全て読み出してフラッシュしないと行われない。
【００４０】
ナビ・バッファ１０６からナビ・パックを全て読み出すということは、ナビ・スプール２０３に格納されているナビ・パックも全て消費するということである。即ち、ナビ・バッファ１０６及びナビ・スプール２０３に格納されている全てのナビ・パックを全て消費しないと、図７（Ｆ）に表したように、オーディオ・バッファ１０４へのオーディオ・パックＡ＿ｐｃｋ（Ｊ）の格納が開始されない。図７（Ｇ）の状態は、オーディオ・バッファ１０４へのオーディオ・パックＡ＿ｐｃｋ（Ｊ）の格納が完了した状態である。
【００４１】
なお、オーディオ・バッファ１０４にオーディオ・パックＡ＿ｐｃｋ（Ｊ）が格納されないということは、日本語の音声が出力されないということになる。したがって、従来のデータ復号装置は音声切替時の音途切れが長くなることもあり、音声切替時の音途切れとしてユーザに認識されてしまうという問題があった。音声切替時の音途切れの最大時間Ｔｍａｘは、式（１）のように表せる。
【００４２】
Tmax=VOBUの最大再生時間×(Nv_buffの容量＋Nv_spoolの容量）・・・(1)
例えばＶＯＢＵの最大再生時間が０．５秒、ナビ・バッファ１０６及びナビ・スプール２０３の容量がそれぞれ１６パックである場合、音声切替時の音途切れの最大時間Ｔｍａｘは１６秒となる。
【００４３】
音声切替時の音途切れが長くなる第１の理由は、ナビ・バッファ１０６が上書き禁止のメモリで構成されているためである。ナビ・バッファ１０６は、制御用のナビ・パックを不用意に消去してしまわないように上書き禁止とされている。もし、ナビ・パックを消去したり、読み出しに失敗したりすれば、そのナビ・パックと同じＶＯＢＵから分割されたビデオ・パック、オーディオ・パック、サブピクチャ・パックのＰＣＩやＤＳＩ等を失ってしまう。
【００４４】
音声切替時の音途切れが長くなる第２の理由は、図７（Ｅ）に表すように、ビデオ・バッファ１０３，オーディオ・バッファ１０４、サブピクチャ・バッファ１０５が空であるにも関わらず、それに対応したナビ・パックをナビ・バッファ１０６から読み出して消費するためである。
【００４５】
即ち、ビデオ・バッファ１０３，オーディオ・バッファ１０４、サブピクチャ・バッファ１０５には制御すべきビデオ・パック，オーディオ・パック，サブピクチャ・パックが無いにも関わらず、同じＶＯＢＵから分割されたナビ・パックだけを時間通りに消費しているため、音声切替時の音途切れが長くなる。
【００４６】
この場合、ナビ・バッファ１０６及びナビ・スプール２０３に格納されているナビ・パックは、もはや必要の無くなったナビ・パックであるから、即座にフラッシュしてもかまわない。結局、音声切替時の音途切れが長くなる第２の理由は、ナビ・パックを保護する立場の音声切替時の音途切れが長くなる第１の理由により引き起こされていた。
【００４７】
即ち、音声切替時の音途切れが長くなる理由はナビ・パックと、それ以外のビデオ・パック，オーディオ・パック，サブピクチャ・パックとの従属関係が復号時に維持されないために、ナビ・パックを容易に消去できないことに起因する。
【００４８】
本発明は、上記の点に鑑みなされたもので、音声切替時や字幕切替時の音途切れや字幕途切れを短くできるデータ復号装置を提供することを目的とする。
【課題を解決するための手段】
【００４９】
上記課題を解決するため、本発明は、圧縮符号化されたデータの復号を行うデータ復号装置であって、前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に１種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段とを備えたことを特徴とする。なお、本発明は上記のデータ復号装置を実現するデータ復号方法，半導体集積回路，データ復号システムとしてもよい。
【００５０】
本発明では、同一のユニットデータから分割されたデータパックが識別可能なようにタグを付与することで、同一のユニットデータから分離された１種類以上のデータパックを容易に識別でき、タグを監視しつつ同一のユニットデータから分割されたデータパックの復号をユニットデータ単位に行うことができる。
【００５１】
この結果、音声切替時や字幕切替時に、同一のユニットデータから分割されたデータパックを容易に識別でき、同一のユニットデータから分離され、且つ不要となった１種類以上のデータパックの消去を迅速に行うことができるため、音声切替時や字幕切替時の音途切れや字幕途切れを短くできる。
【発明の効果】
【００５２】
本発明によれば、音声切替時や字幕切替時の音途切れや字幕途切れを短くできるデータ復号装置を提供可能である。
【発明を実施するための最良の形態】
【００５３】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では音声切替時の音途切れに着目して説明するが、字幕切替時の字幕途切れについても同様である。
【００５４】
まず、同一のＶＯＢＵから分離したナビ・パック，ビデオ・パック，オーディオ・パック，サブピクチャ・パックを識別可能とするためのタグの付与について、図８を参照しつつ説明する。図８は、タグの付与を表した説明図である。
【００５５】
ＶＯＢＵ３は、常に一つのナビ・パックで始まり、そのナビ・パックに引き続いてビデオ・パック、オーディオ・パック、サブピクチャ・パックを含むことができる。なお、以下の説明において、ナビ・パック、ビデオ・パック，オーディオ・パックおよびサブピクチャ・パックの何れかを表すときは、単にパックと記載する。
【００５６】
ナビ・パック４は、１４バイトのパック・ヘッダと、ＰＣＩ＋ＩＤＳパケットとで構成される。なお、ビデオ・パックの場合、１４バイトのパック・ヘッダと、ビデオ・パケットとで構成される。オーディオ・パックの場合、１４バイトのパック・ヘッダと、オーディオ・パケットとで構成される。サブピクチャ・パックの場合、１４バイトのパック・ヘッダと、サブピクチャ・パケットとで構成される。
【００５７】
本発明では、パック・ヘッダ５の先頭４バイトのパック・スタートコードにタグを書き込む。タグは、同一のＶＯＢＵから分割されたパックであれば同じ値とする。例えばタグには、１から始まる値を書き込んでいく。そして、タグの値はＶＯＢＵ毎にインクリメントしていく。なお、ビデオ・パック、オーディオ・パック、サブピクチャ・パックにも同様に、パック・ヘッダ５の先頭４バイトにタグを書き込む。
【００５８】
同一のＶＯＢＵから分割されたパックには同じ値のタグが付与されるため、ナビ・パックと、それ以外のビデオ・パック，オーディオ・パック，サブピクチャ・パックとの従属関係が復号時に維持される。したがって、本発明のデータ復号装置はタグに基づいて、ナビ・パックと、そのナビ・パックに従属するビデオ・パック、オーディオ・パック、サブピクチャ・パックとを観測しつつ復号動作を行うことができる。なお、以下の説明ではタグの値をタグ番号と呼ぶ。
【実施例１】
【００５９】
図９は、ＶＯＢを復号するデータ復号装置の一実施例の構成図である。データ復号装置は、大別するとハードウェア１００及びソフトウェア２００に分けられる。まず、ハードウェア１００を説明する。
【００６０】
ハードウェア１００は、トラックバッファ１０１と，デマックス１０２と，ビデオ・バッファ１０３と，オーディオ・バッファ１０４と，サブピクチャ・バッファ１０５と，ナビ・バッファ１０６と，ビデオ復号器１０７と，オーディオ復号器１０８と，サブピクチャ復号器１０９と，ホストインターフェース部１１０と，レジスタ１１１とを備える。
【００６１】
ＤＶＤディスク１０から読み出されたＶＯＢは、ハードウェア１００のトラックバッファ１０１に格納される。ＶＯＢは、ＶＯＢＵ単位に区切りを付けて管理される。トラックバッファ１０１の後段には、ＶＯＢＵを４種類の各パックに分離するデマックス１０２が接続されている。デマックス１０２には、４種類の各パックに分離したあと、前述したタグを付加するタグ付加器１１２が設けられている。
【００６２】
デマックス１０２の後段には、各パックを格納するビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６が接続されている。ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５の後段には、タグを格納するレジスタ１１１が設けられている。
【００６３】
具体的に、ビデオ・パックから抽出したタグは、ビデオ・バッファ１０３の後段に設けられたレジスタ（Ｖ＿ｔａｇ）１１１に格納される。オーディオ・パックから抽出したタグは、オーディオ・バッファ１０４の後段に設けられたレジスタ（Ａ＿ｔａｇ）１１１に格納される。また、サブピクチャ・パックから抽出したタグは、サブピクチャ・バッファ１０５の後段に設けられたレジスタ（Ｓｐ＿ｔａｇ）１１１に格納される。
【００６４】
ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５から読み出されたビットストリームは、それぞれビデオ復号器１０７，オーディオ復号器１０８，サブピクチャ復号器１０９で伸張され、映像，音声，字幕となってハードウェア１００から出力される。
【００６５】
次に、ソフトウェア２００を説明する。ソフトウェア２００は、ＳＴＣ２０１と，カレント管理部２０２と，ナビ・スプール２０３と，再生エンジン２０４と，ＨＬＩ制御部２０５と，ＳＴＣアラーム登録管理部２０６とを備える。
【００６６】
カレント管理部２０２はナビ・バッファ１０６からナビ・パックを読み出し、ナビ・スプール２０３に格納する。再生エンジン２０４は、ナビ・スプール２０３からナビ・パックを読み出し、実際に再生のための制御を行う。再生エンジン２０４には、ナビ・パックから抽出したタグを格納するポインタ（Ｎｖ＿ｔａｇ）２０７が設けられている。
【００６７】
再生エンジン２０４は、ナビ・スプール２０３から読み出したナビ・パックの中からＰＣＩを抽出し、そのＰＣＩに含まれるＶＯＢＵ＿Ｅ＿ＰＴＭをＳＴＣアラーム登録管理部２０６に送信する。再生エンジン２０４は、ＨＬＩ制御部２０５経由で、ＳＴＣアラーム登録管理部２０６にハイライト情報を送信する。
【００６８】
なお、ＰＣＩに含まれているＶＯＢＵ＿Ｓ＿ＰＴＭは、カレント管理部２０２からＳＴＣアラーム登録管理部２０６に送信される。ＨＬＩに含まれているＨＬ＿Ｓ＿ＰＴＭ，ＨＬ＿Ｅ＿ＰＴＭ，ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭは、再生エンジン２０４からＨＬＩ制御部２０５経由でＳＴＣアラーム登録管理部２０６に送信される。
【００６９】
ＳＴＣアラーム登録管理部２０６では、受信したデータ、つまりＰＣＩの中の時刻情報であるＶＯＢＵ＿Ｓ＿ＰＴＭ，ＶＯＢＵ＿Ｅ＿ＰＴＭ，ＨＬ＿Ｓ＿ＰＴＭ，ＨＬ＿Ｅ＿ＰＴＭ，ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭを、値の小さな順にＳＴＣ２０１に登録していく。ＳＴＣ２０１は、再生スタートと同時に計時を開始し、登録された時刻に到達すると再生エンジン２０４及びＨＬＩ制御部２０５にアラームを通知する。
【００７０】
なお、再生エンジン２０４はホストインターフェース部１１０を経由して、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５の後段に設けられたレジスタ１１１を観察可能である。
【００７１】
図９のデータ復号装置は、図２のデータ復号装置に前述したタグを取り扱う仕組みを設けたものである。即ち、図９のデータ復号装置は、デマックス１０２に設けられたタグ付加器１１２と，ビデオ・バッファ１０３，オーディオ・バッファ１０４およびサブピクチャ・バッファ１０５の後段に設けられたレジスタ１１１と，再生エンジン２０４に設けられたポインタ２０７と，再生エンジン２０４がホストインターフェース部１１０を経由してレジスタ１１１を観察する仕組みとが、図２のデータ復号装置と異なっている。
【００７２】
図１０及び図１１は、本発明のデータ復号装置の動作を表した一例のフローチャートである。ここでは、図９のデータ復号装置の動作を各バッファとナビ・パックとに注目して説明する。ステップＳ３１では、トラックバッファ１０１に空き領域があるか否かが判定される。
【００７３】
トラックバッファ１０１に空き容量があれば（Ｓ３１においてＹＥＳ）、ステップＳ３２に進み、ＶＯＢリクエストの発行が行われる。ステップＳ３２に続いてステップＳ３３に進み、ＤＶＤディスク１０からトラックバッファ１０１へのＶＯＢの転送が行われる。ステップＳ３３の処理後、再びステップＳ３１に戻る。一方、トラックバッファ１０１に空き容量が無ければ（Ｓ３１においてＮＯ）、ステップＳ３４に進み、ＶＯＢリクエストの発行が停止される。
【００７４】
ステップＳ３５に進み、トラックバッファ１０１に格納されたＶＯＢは、ＶＯＢＵ単位でデマックス１０２に投下される。投下されたＶＯＢＵはデマックス１０２で上述した４種類の各パックに分離され、タグ付加器１１２により前述したタグが付加される。デマックス１０２は、各パックを格納するビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６に、タグを付加したパックを格納させる。
【００７５】
ステップＳ３６に進み、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６の何れかの空き容量が無くなったか否かが判定される。上述した４つのバッファの全てに空き容量があれば（Ｓ３６においてＮＯ）、再びステップＳ３５に戻り、トラックバッファ１０１からデマックス１０２にＶＯＢＵが投下される。一方、上述した４つのバッファの何れかに空き容量が無くなれば（Ｓ３６においてＹＥＳ）、ステップＳ３７に進み、ＶＯＢＵの投下が停止される。即ち、ＶＯＢＵの投下は、４つのバッファの何れかに空き容量が無くなると、空き容量のあるバッファに対しても停止される。
【００７６】
ステップＳ３８では、ナビ・バッファ１０６にナビ・パックが格納されたか否かを判定する。ナビ・パックが格納されなければ（Ｓ３８においてＮＯ）、ステップＳ３８の処理を繰り返す。一方、ナビ・バッファ１０６にナビ・パックが格納されると（Ｓ３８においてＹＥＳ）、カレント管理部２０２にナビ・パック書込終了通知が通知される。ステップＳ３９では、カレント管理部２０２がホストインターフェース部１１０経由で、ナビ・バッファ１０６からナビ・パックを取得する。
【００７７】
ステップＳ４０に進み、カレント管理部２０２はナビ・バッファ１０６から取得したナビ・パックをナビ・スプール２０３に格納する。ステップＳ４１に進み、ナビ・スプール２０３に空き容量が無くなったか否かが判定される。ナビ・スプール２０３に空き容量があれば（Ｓ３６においてＮＯ）、カレント管理部２０２はステップＳ３８〜Ｓ４１の処理を繰り返し行い、ナビ・バッファ１０６から取得したナビ・パックをナビ・スプール２０３に格納する。
【００７８】
ナビ・スプール２０３に空き容量が無くなると（Ｓ４１においてＹＥＳ）、カレント管理部２０２はステップＳ４２に進み、ＶＯＢＵ＿Ｓ＿ＰＴＭ（０）を他のパラメータに先行してＳＴＣアラーム登録管理部２０６に登録する。ステップＳ４３に進み、再生エンジン２０４は第１番目のナビ・パックＮｖ＿ｐｃｋ（０）をナビ・スプール２０３から取得する。
【００７９】
ステップＳ４４に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（０）からタグを抽出してポインタ２０７に格納する。ステップＳ４５に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（０）からＨＬＩを抽出し、そのＨＬＩをＨＬＩ制御部２０５に送信する。ステップＳ４６に進み、再生エンジン２０４はＳＴＣアラーム登録管理部２０６にＶＯＢＵ＿Ｅ＿ＰＴＭ（０）を登録する。
【００８０】
ステップＳ４７に進み、ＨＬＩ制御部２０５は、ＨＬ＿Ｓ＿ＰＴＭ（０），ＨＬ＿Ｅ＿ＰＴＭ（０），ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭ（０）をＳＴＣアラーム登録管理部２０６に登録する。
【００８１】
ステップＳ４８に進み、ビデオ・バッファ１０３に格納されている先頭のビデオ・パックＶ＿ｐｃｋ（０）からタグを抽出してレジスタ（Ｖ＿ｔａｇ）１１１に格納する。ステップＳ４９に進み、オーディオ・バッファ１０４に格納されている先頭のオーディオ・パックＡ＿ｐｃｋ（０）からタグを抽出してレジスタ（Ａ＿ｔａｇ）１１１に格納する。ステップＳ５０に進み、サブピクチャ・バッファ１０５に格納されている先頭のサブピクチャ・パックＳｐ＿ｐｃｋ（０）からタグを抽出してレジスタ（Ｓｐ＿ｔａｇ）１１１に格納する。このとき、レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，レジスタ（Ｓｐ＿ｔａｇ）１１１に格納されたタグ番号は全て１である。
【００８２】
ここまでの処理で、第１番目のナビ・パックＮｖ＿ｐｃｋ（０）に対応する再生準備は完了した。なお、ステップＳ４２〜Ｓ５０の処理を再生スタンバイと呼ぶ。ステップＳ５１では、再生を開始するか否かが判定される。再生を開始すると判定されなければ（Ｓ５１においてＮＯ）、ステップＳ５１の処理を繰り返す。一方、再生を開始すると判定されると（Ｓ５１においてＹＥＳ）、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５に格納されているビットストリームの復号が開始される。ステップＳ５３に進み、ＳＴＣ２０１はカウントを開始する。
【００８３】
ステップＳ５４に進み、カレント管理部２０２はＶＯＢＵ＿Ｓ＿ＰＴＭ（１）をＳＴＣアラーム登録管理部２０６に登録する。ステップＳ５５では、第２番目のナビ・パックＮｖ＿ｐｃｋ（１）の再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（１）に到達したか否かが判定される。
【００８４】
再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（１）に到達していないと判定されれば（Ｓ５５においてＮＯ）、ステップＳ５５の処理を繰り返す。一方、再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（１）に到達したと判定されれば（Ｓ５５においてＹＥＳ）、ＳＴＣ２０１はステップＳ５６に進み、再生エンジン２０４及びＨＬＩ制御部２０５にアラームを通知する。ステップＳ５７に進み、再生エンジン２０４は第２番目のナビ・パックＮｖ＿ｐｃｋ（１）をナビ・スプール２０３から取得する。
【００８５】
ステップＳ５８に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（１）からタグを抽出してポインタ２０７に格納する。即ち、ポインタ２０７に格納されているタグを更新する。
【００８６】
ステップＳ５９に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（１）からＨＬＩを抽出してＨＬＩ制御部２０５に送信する。ステップＳ６０に進み、再生エンジン２０４はＶＯＢＵ＿Ｅ＿ＰＴＭ（１）をＳＴＣアラーム登録管理部２０６に登録する。
【００８７】
ステップＳ６１に進み、ＨＬＩ制御部２０５は、ＨＬ＿Ｓ＿ＰＴＭ（１），ＨＬ＿Ｅ＿ＰＴＭ（１），ＢＴＮ＿ＳＬ＿Ｅ＿ＰＴＭ（１）をＳＴＣアラーム登録管理部２０６に登録する。
【００８８】
なお、レジスタ（Ｖ＿ｔａｇ）１１１には、ビデオ・バッファ１０３に格納されているビデオ・パックＶ＿ｐｃｋ（１）から抽出されたタグが格納される。レジスタ（Ａ＿ｔａｇ）１１１にはオーディオ・バッファ１０４に格納されているオーディオ・パックＡ＿ｐｃｋ（１）から抽出されたタグが格納される。レジスタ（Ｓｐ＿ｔａｇ）１１１にはサブピクチャ・バッファ１０５に格納されているサブピクチャ・パックＳｐ＿ｐｃｋ（１）から抽出されたタグが格納される。
【００８９】
ステップＳ６２では、再生を継続するか否かが判定される。再生を継続すると判定されれば（Ｓ６２においてＹＥＳ）、次のナビ・パックに対してステップＳ５４〜Ｓ６１の処理を行う。即ち、ステップＳ５４〜Ｓ６２の処理を繰り返し行うことで、ＤＶＤディスク１０の再生が行われていく。
【００９０】
一方、再生を継続しないと判定されれば（Ｓ６２においてＮＯ）、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５に格納されているビットストリームの復号が停止される。ステップＳ６４に進み、ＳＴＣ２０１はカウントを停止し、カウントの値を保持する。
【００９１】
即ち、図１０及び図１１のフローチャートでは、再生エンジン２０４がナビ・スプール２０３からナビ・パックＮｖ＿ｐｃｋ（ｎ＋１）を取得する度に、ポインタ２０７に格納されているタグが更新される。同様に、レジスタ（Ｖ＿ｔａｇ）１１１にはビデオ・バッファ１０３に格納されているビデオ・パックＶ＿ｐｃｋ（ｎ＋１）から抽出されたタグが格納される。レジスタ（Ａ＿ｔａｇ）１１１には、オーディオ・バッファ１０４に格納されているオーディオ・パックＡ＿ｐｃｋ（ｎ＋１）から抽出されたタグが格納される。レジスタ（Ｓｐ＿ｔａｇ）１１１には、サブピクチャ・バッファ１０５に格納されているサブピクチャ・パックＳｐ＿ｐｃｋ（ｎ＋１）から抽出されたタグが格納される。
【００９２】
したがって、復号が正常に行われているときは、ポインタ２０７に格納されているタグ番号，レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１及びレジスタ（Ｓｐ＿ｔａｇ）に格納されているタグ番号が同じになっている。
【００９３】
ここで、図５のようなＶＯＢＵを本発明のデータ復号装置で再生し、且つ英語から日本語への音声切替を行うときの４つのバッファ（ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５，ナビ・バッファ１０６）、ナビ・スプール２０３、レジスタ１１１及びポインタ２０７の状態遷移について、図１２，図１３を参照しつつ説明する。
【００９４】
図１２，図１３は、ＶＯＢＵを再生するときの４つのバッファ、ナビ・スプール、レジスタ及びポインタの状態遷移図である。図１２（Ａ）の状態は、再生開始前の初期状態である。この状態では、４つのバッファおよびナビ・スプール２０３が空である。なお、図１２，図１３に示されていないトラックバッファ１０１も空である。
【００９５】
図１２（Ａ）の状態は、トラックバッファ１０１が空であるため、ＶＯＢリクエストの発行が行われ、ＤＶＤディスク１０からトラックバッファ１０１へのＶＯＢの転送が開始される。その後、トラックバッファ１０１に格納されたＶＯＢはＶＯＢＵ単位でデマックス１０２に投下され、デマックス１０２で上述した４種類の各パックに分離され、前述したタグを付加されたあと、各パックを格納する４つのバッファに格納される。その後、ナビ・バッファ１０６の空き容量が無くなり、デマックス１０２へのＶＯＢＵの投下が停止され、ＶＯＢリクエストの発行も停止される。
【００９６】
図１２（Ｂ）の状態は、再生スタンバイの状態である。ここでは、再生エンジン２０４がナビ・スプール２０３から先頭のナビ・パックＮｖ＿ｐｃｋ（０）を取得し、ナビ・パックＮｖ＿ｐｃｋ（０）からタグを抽出してポインタ２０７に格納する。このとき、ポインタ２０７に格納されるタグ番号は「１」である。
【００９７】
一方、ビデオ・バッファ１０３，オーディオ・バッファ１０４に格納されている先頭のビデオ・パックＶ＿ｐｃｋ（０），オーディオ・パックＡ＿ｐｃｋ（０）からタグが抽出されてレジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１に格納される。このとき、レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１に格納されるタグ番号は「１」である。
【００９８】
なお、図５のＶＯＢＵにはサブピクチャ・パックが多重されていないため、サブピクチャ・バッファ１０５に格納されるサブピクチャ・パックが無い。このため、レジスタ（Ｓｐ＿ｔａｇ）１１１に格納されているタグ番号は「０」のままである。
【００９９】
図１２（Ｃ）の状態では、再生が開始され、再生エンジン２０４がナビ・スプール２０３からナビ・パックを読み出して消費している。図１２（Ｃ）では、再生エンジン２０４がナビ・スプール２０３から先頭のナビ・パックＮｖ＿ｐｃｋ（１）を取得し、ナビ・パックＮｖ＿ｐｃｋ（１）からタグを抽出してポインタ２０７に格納する。このとき、ポインタ２０７に格納されるタグ番号は「２」である。
【０１００】
同様に、ビデオ・バッファ１０３，オーディオ・バッファ１０４に格納されているビデオ・パック，オーディオ・パックは、それぞれビデオ復号器１０７，オーディオ復号器１０８で伸張され、映像，音声，字幕となってハードウェア１００から出力されることで消費される。図１２（Ｃ）では、ビデオ・バッファ１０３，オーディオ・バッファ１０４に格納されている次のビデオ・パックＶ＿ｐｃｋ（１），オーディオ・パックＡ＿ｐｃｋ（１）からタグが抽出されてレジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１に格納される。このとき、レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１に格納されるタグ番号は「２」である。
【０１０１】
図１２（Ｃ）の状態では、オーディオ・バッファ１０４に英語の音声に対応したオーディオ・パックＡ＿ｐｃｋ（Ｅ）が格納されているため、音声として英語が出力されている。なお、図１２，図１３では消費されたナビ・パックに取り消し線（−）が上書きされている。
【０１０２】
ここで、ユーザから音声切替命令が発行されたと仮定する。音声切替命令が発行されるとデータ復号装置は、現在オーディオ・バッファ１０４に格納されているオーディオ・パックＡ＿ｐｃｋ（Ｅ）をフラッシュ（消去）する。その後、レジスタ（Ａ＿ｔａｇ）１１１は何らかの理由でシステム自身がバッファに格納されている全てのパックをフラッシュしたことを表す特別な値「ＦＦＦＦＦＦＦＦ」（オール１）に書き替えられる。
【０１０３】
図１２（Ｄ）の状態は、音声切替命令が発行され、オーディオ・バッファ１０４に格納されているオーディオ・パックをフラッシュした状態であり、レジスタ（Ａ＿ｔａｇ）１１１が「ＦＦＦＦＦＦＦＦ」に書き替えられている。なお、ビデオ・バッファ１０３に格納されていたビデオ・パックは消費されて空である。この為、レジスタ（Ｖ＿ｔａｇ）１１１はパックが存在しないことを表す特別な値「０」となっている。
【０１０４】
ところで、再生エンジン２０４はポインタ２０７を更新する度に、レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，ポインタ２０７に格納されているタグ番号を観測している。レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，ポインタ２０７に格納されているタグ番号が一致していない場合、更に、ビデオ・バッファ１０３，オーディオ・バッファ１０４，サブピクチャ・バッファ１０５の占有量を取得している。
【０１０５】
そして、図１４に示すフローチャートに従ってナビ・バッファ１０６に格納されているナビ・パックをフラッシュするか否かを決定している。図１４は、ナビ・バッファのフラッシュ処理の一例のフローチャートである。
【０１０６】
ステップＳ１００では、第ｎ＋２番目のナビ・パックＮｖ＿ｐｃｋ（ｎ＋１）の再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（ｎ＋１）に到達したか否かが判定されている。再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（ｎ＋１）に到達していないと判定されれば（Ｓ１００においてＮＯ）、ステップＳ１００の処理を繰り返す。
【０１０７】
再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ（ｎ＋１）に到達したと判定されれば（Ｓ１００においてＹＥＳ）、ＳＴＣ２０１はステップＳ１０１に進み、再生エンジン２０４及びＨＬＩ制御部２０５にアラームを通知する。ステップＳ１０２に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（ｎ＋１）をナビ・スプール２０３から取得する。そして、ステップＳ１０３に進み、再生エンジン２０４はナビ・パックＮｖ＿ｐｃｋ（ｎ＋１）からタグを抽出してポインタ２０７に格納する。即ち、ポインタ２０７に格納されているタグを更新する。
【０１０８】
ステップＳ１０４に進み、再生エンジン２０４はレジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，レジスタ（Ｓｐ＿ｔａｇ）１１１に格納されているタグ番号を取得する。ステップＳ１０５に進み、再生エンジン２０４はレジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，レジスタ（Ｓｐ＿ｔａｇ）１１１，ポインタ２０７に格納されていたタグ番号が全て一致しているか否かを判定する。
【０１０９】
タグ番号が全て一致していれば（Ｓ１０５においてＹＥＳ）、再生エンジン２０４は正常と判断して図１４のフローチャートを終了する。一方、タグ番号が全て一致していなければ（Ｓ１０５においてＮＯ）、再生エンジン２０４はステップＳ１０６に進む。ステップＳ１０６では、再生エンジン２０４が、レジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，レジスタ（Ｓｐ＿ｔａｇ）１１１のタグ番号の何れかがオール１であるか否かを判定する。
【０１１０】
タグ番号の何れもオール１でないと判定すれば（Ｓ１０６においてＮＯ）、再生エンジン２０４はナビ・バッファ１０６をフラッシュしないと決定し、図１４のフローチャートを終了する。この場合、ナビ・パックの読み出しが失敗している可能性を考慮し、一つ前のナビ・パックで代用する為に、ナビ・バッファ１０６はフラッシュされない。タグ番号の何れかがオール１であると判定すれば（Ｓ１０６においてＹＥＳ）、再生エンジン２０４はステップＳ１０７に進む。
【０１１１】
ステップＳ１０７では、タグ番号がオール１でないレジスタ（Ｖ＿ｔａｇ）１１１，レジスタ（Ａ＿ｔａｇ）１１１，レジスタ（Ｓｐ＿ｔａｇ）１１１の占有量を再生エンジン２０４が取得する。ステップＳ１０８に進み、再生エンジン２０４はステップＳ１０７で取得した占有量が０であるか否かを判定する。占有量が０でなければ（Ｓ１０８においてＮＯ）、再生エンジン２０４はナビ・バッファ１０６をフラッシュしないと決定し、図１４のフローチャートを終了する。
【０１１２】
この場合、ビデオ・バッファ１０３，オーディオ・バッファ１０４、サブピクチャ・バッファ１０５のいずれかが何らかの理由でフラッシュされている。しかし、フラッシュされていないバッファには、再生すべきパックが残っている状態である。従って、ナビ・バッファ１０６はフラッシュされない。占有量が０であれば（Ｓ１０８においてＹＥＳ）、再生エンジン２０４はステップＳ１０９に進み、ナビ・バッファをフラッシュして図１４のフローチャートを終了する。
【０１１３】
図１３（Ｅ）の場合、ナビ・バッファ１０６はフラッシュされ、空になる。ナビ・バッファ１０６が空になると、直ちに新しいＶＯＢＵがデマックス１０２に投下され、図１３（Ｆ）のように、オーディオ・バッファ１０４にオーディオ・パックＡ＿ｐｃｋ（Ｊ）が到来する。その後、図１３（Ｇ）のように、オーディオ・バッファ１０４にオーディオ・パックＡ＿ｐｃｋ（Ｊ）が格納されるのを待ち、格納されたあとで再生を開始する。
【０１１４】
なお、４種類の各パックに付加されるタグの値と、レジスタ１１１及びポインタ２０７に格納されるタグの値とは図１５のようになる。図１５は、４種類の各パックに付加されるタグの値と、レジスタ及びポインタに格納されるタグの値とを表した図である。
【０１１５】
図２のデータ復号装置では、上述したように、音声切替完了までにナビ・パックの実消費時間分かかってしまう。一方、本発明のデータ復号装置ではオーディオ・バッファ１０４をフラッシュしたあと最大０．５秒、つまりナビ・パック一つ分の消費時間しか掛からない。したがって、本発明のデータ復号装置は音声切替時の音途切れが短く、音声切替時の音途切れとしてユーザにほとんど認識されない。
【０１１６】
即ち、ビデオ・バッファ１０３，オーディオ・バッファ１０４、サブピクチャ・バッファ１０５に制御すべきビデオ・パック，オーディオ・パック，サブピクチャ・パックが無いときは、ナビ・バッファ１０６をフラッシュするため、音声切替時の音途切れは短くなる。
【０１１７】
本発明は、ナビ・パックと、それ以外のビデオ・パック，オーディオ・パック，サブピクチャ・パックとの従属関係が復号時に維持されることで、ナビ・パックを消去しても問題ないか否かを判定することができ、その判定結果に基づきナビ・パックを消去することができる。
【０１１８】
なお、特許請求の範囲に記載した逆多重化手段が例えばトラックバッファ１０１及びデマックス１０２に相当し、復号手段がトラックバッファ１０１及びデマックス１０２以外のハードウェア１００とソフトウェア２００とに相当する。
【０１１９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１２０】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
圧縮符号化されたデータの復号を行うデータ復号装置であって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に１種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えたデータ復号装置。
（付記２）
前記逆多重化手段は、前記ユニットデータから更に１種類以上のデータパックを分割したあと、前記データパックの一部を構成するパック・ヘッダに、前記タグを付与することを特徴とする付記１記載のデータ復号装置。
（付記３）
前記逆多重化手段は、前記データパック毎に１ずつ増加させた値を前記タグとして付与することを特徴とする付記１又は２記載のデータ復号装置。
（付記４）
前記逆多重化手段は、前記データパックに前記タグを付与したあと、前記データパックの種類に応じたバッファに前記データパックを格納することを特徴とする付記１乃至３何れか一項記載のデータ復号装置。
（付記５）
前記逆多重化手段は、ＤＶＤ規格に従ったビデオ・オブジェクト（ＶＯＢ）を複数のビデオ・オブジェクト・ユニット（ＶＯＢＵ）に分割し、前記ＶＯＢＵから更にナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックを分割して、同一の前記ＶＯＢＵから分割された前記ナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックが識別可能なように前記タグを付与することを特徴とする付記４記載のデータ復号装置。
（付記６）
前記復号手段は、前記ナビ・パックに応じたバッファから前記ナビ・パックを読み出すときに、前記ナビ・パックに付与したタグを分離してポインタに格納し、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファから前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックを読み出すときに、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに付与したタグを分離してレジスタに格納することを特徴とする付記５記載のデータ復号装置。
（付記７）
前記復号手段は、前記ポインタに格納したタグを所定周期で観測し、前記ポインタおよび前記レジスタに格納したタグの一致又は不一致に基づき、前記ナビ・パックに応じたバッファから前記ナビ・パックを消去するか否かを判定することを特徴とする付記６記載のデータ復号装置。
（付記８）
前記復号手段は、音声切替又は字幕切替の手続として、前記オーディオ・パック、サブピクチャ・パックに応じたバッファから前記オーディオ・パック、サブピクチャ・パックの全てを消去し、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグを所定値に書き替えることを特徴とする付記７記載のデータ復号装置。
（付記９）
前記復号手段は、前記ポインタおよび前記レジスタに格納したタグが一致しており、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグが所定値に書き替えられており、且つ前記タグが所定値に書き替えられていない前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファの容量が空であるとき、前記バッファに格納されているナビ・パックを消去することを特徴とする付記８記載のデータ復号装置。
（付記１０）
前記ナビ・パックは、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックの再生制御情報を含むことを特徴とする付記１乃至９何れか一項記載のデータ復号装置。
（付記１１）
圧縮符号化されたデータの復号を行うデータ復号装置のデータ復号方法であって、
前記圧縮符号化されたデータを複数のユニットデータに分割するステップと、
前記ユニットデータから更に１種類以上のデータパックを分割するステップと、
同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与するステップと、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行うステップと
を備えたデータ復号方法。
（付記１２）
圧縮符号化されたデータの復号を行う半導体集積回路であって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に１種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えた半導体集積回路。
（付記１３）
圧縮符号化されたデータの復号を行うデータ復号システムであって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に１種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えたデータ復号システム。
【図面の簡単な説明】
【０１２１】
【図１】ＶＯＢの一例のデータ構造図である。
【図２】ＶＯＢを復号するデータ復号装置の一例の構成図である。
【図３】データ復号装置の動作を表した一例のフローチャート（１／２）である。
【図４】データ復号装置の動作を表した一例のフローチャート（２／２）である。
【図５】ＶＯＢＵの一例のデータ構造図である。
【図６】ＶＯＢＵを再生するときの４つのバッファ及びナビ・スプールの状態遷移図（１／２）である。
【図７】ＶＯＢＵを再生するときの４つのバッファ及びナビ・スプールの状態遷移図（２／２）である。
【図８】タグの付与を表した説明図である。
【図９】ＶＯＢを復号するデータ復号装置の一実施例の構成図である。
【図１０】本発明のデータ復号装置の動作を表した一例のフローチャート（１／２）である。
【図１１】本発明のデータ復号装置の動作を表した一例のフローチャート（２／２）である。
【図１２】ＶＯＢＵを再生するときの４つのバッファ、ナビ・スプール、レジスタ及びポインタの状態遷移図（１／２）である。
【図１３】ＶＯＢＵを再生するときの４つのバッファ、ナビ・スプール、レジスタ及びポインタの状態遷移図（２／２）である。
【図１４】ナビ・バッファのフラッシュ処理の一例のフローチャートである。
【図１５】４種類の各パックに付加されるタグの値と、レジスタ及びポインタに格納されるタグの値とを表した図である。
【符号の説明】
【０１２２】
１００    ハードウェア
１０１    トラックバッファ
１０２    デマックス
１０３    ビデオ・バッファ
１０４    オーディオ・バッファ
１０５    サブピクチャ・バッファ
１０６    ナビ・バッファ
１０７    ビデオ復号器
１０８    オーディオ復号器
１０９    サブピクチャ復号器
１１０    ホストインターフェース部
１１１    レジスタ
２００    ソフトウェア
２０１    システム・タイム・クロック（ＳＴＣ）
２０２    カレント管理部
２０３    ナビ・スプール
２０４    再生エンジン
２０５    ハイライト情報制御部（ＨＬＩ制御部）
２０６    ＳＴＣアラーム登録管理部
【図１】
2006086860.tif 000003
【図２】
2006086860.tif 000004
【図３】
2006086860.tif 000005
【図４】
2006086860.tif 000006
【図５】
2006086860.tif 000007
【図６】
2006086860.tif 000008
【図７】
2006086860.tif 000009
【図８】
2006086860.tif 000010
【図９】
2006086860.tif 000011
【図１０】
2006086860.tif 000012
【図１１】
2006086860.tif 000013
【図１２】
2006086860.tif 000014
【図１３】
2006086860.tif 000015
【図１４】
2006086860.tif 000016
【図１５】
2006086860.tif 000017