説明

データ復号装置

【課題】 音声切替時や字幕切替時の音途切れや字幕途切れを短くできるデータ復号装置を提供することを目的とする。
【解決手段】 圧縮符号化されたデータの復号を行うデータ復号装置であって、圧縮符号化されたデータを複数のユニットデータに分割し、ユニットデータから更に1種類以上のデータパックを分割して、同一のユニットデータから分割されたデータパックが識別可能なようにタグを付与する逆多重化手段と、タグを監視しつつ同一のユニットデータから分割されたデータパックの復号をユニットデータ単位に行う復号手段とを備えたことにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ復号装置に係り、特にDVD規格に従って圧縮符号化されたデータの復号を行うデータ復号装置に関する。
【背景技術】
【0002】
近年、蓄積メディアとしてのDVDが注目されている。このようなDVDには、DVDビデオ規格に従って圧縮符号化されたビットストリームが記録されている。DVDビデオ規格に従って圧縮符号化されたビットストリームは、ビデオ・オブジェクト(VOB)と呼ばれる。
【0003】
図1は、VOBの一例のデータ構造図である。VOB1は、セル(Cell)2という復号単位に分割することができる。また、セル2はビデオ・オブジェクト・ユニット(VOBU)3という最小単位に分割することができる。VOBU3は、常に一つのナビ・パック(Nv_pck)で始まり、そのナビ・パックに引き続いてビデオ・パック(V_pck)、オーディオ・パック(A_pck)、サブピクチャ・パック(Sp_pck)を含むことができる。
【0004】
ナビ・パックとは、ビデオ・パック,オーディオ・パック及びサブピクチャ・パックの再生制御情報(PCI)やディスク上のアドレス情報(DSI)を含んだ制御用のパックである。なお、ナビ・パックはVOBU3に必ず一つ存在する。ビデオ・パック,オーディオ・パック及びサブピクチャ・パックは、VOBU3に存在しなくてもよい。
【0005】
ここでパックとは、MPEG2規格で定められているデータ長が2048バイト、パック・ヘッダ及びパケットから構成されたひとまとまりのデータである。特許文献1には、DVDビデオ規格に従ったVOBを再生する内容が記載されている。
【0006】
図2は、VOBを復号するデータ復号装置の一例の構成図である。通常、データ復号装置はVOBU単位に復号を行う。図2のデータ復号装置は、大別するとハードウェア100及びソフトウェア200に分けられる。まず、ハードウェア100を説明する。
【0007】
DVDディスク10から読み出されたVOBは、ハードウェア100のトラックバッファ(Trk_buff)101に格納される。このとき、VOBはVOBU単位に区切りを付けて管理される。トラックバッファ101の後段には、VOBUを上述した4種類の各パック(ナビ・パック、ビデオ・パック,オーディオ・パックおよびサブピクチャ・パック)に分離するデマックス(DEMUX)102が接続されている。
【0008】
また、デマックス102の後段には、各パックを格納するビデオ・バッファ(Video_buff)103,オーディオ・バッファ(Audio_buff)104,サブピクチャ・バッファ(Sp_buff)105,ナビ・バッファ(Nv_buff)106が接続されている。
【0009】
ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105から読み出されたビットストリームは、それぞれビデオ復号器(Video_Decoder)107,オーディオ復号器(Audio_Decoder)108,サブピクチャ復号器(Sp_Decoder)109で伸張され、映像,音声,字幕となってハードウェア100から出力される。
【0010】
次に、ソフトウェア200を説明する。カレント管理部202は、ナビ・バッファ106からナビ・パックを読み出して、ナビ・スプール(Nv_spool)203に格納する。再生エンジン204は、ナビ・スプール203からナビ・パックを読み出し、実際に再生のための制御を行う。ソフトウェア200の基本構成は、カレント管理部202,ナビ・スプール203及び再生エンジン204となる。
【0011】
再生エンジン204は、ナビ・スプール203から読み出したナビ・パックの中からPCIを抽出し、STCアラーム登録管理部206に送信する。再生エンジン204は、ハイライト情報制御部(HLI制御部)205経由で、STCアラーム登録管理部206にハイライト情報(HLI)を送信する。
【0012】
なお、PCIに含まれているVOBU_S_PTMは、カレント管理部202からSTCアラーム登録管理部206に送信される。PCIに含まれているVOBU_E_PTMは、再生エンジン204からSTCアラーム登録管理部206に送信される。HLIに含まれているHL_S_PTM,HL_E_PTM,BTN_SL_E_PTMは、再生エンジン204からHLI制御部205経由でSTCアラーム登録管理部206に送信される。
【0013】
STCアラーム登録管理部206では、受信したデータ、つまりPCIの中の時刻情報であるVOBU_S_PTM,VOBU_E_PTM,HL_S_PTM,HL_E_PTM,BTN_SL_E_PTMを、値の小さな順にシステム・タイム・クロック(STC)201に登録していく。STC201は、再生スタートと同時に計時を開始し、登録された時刻に到達すると再生エンジン204及びHLI制御部205にアラームを通知する。
【0014】
図3及び図4は、データ復号装置の動作を表した一例のフローチャートである。ここでは、図2のデータ復号装置の動作を各バッファとナビ・パックとに注目して説明する。ステップS1では、トラックバッファ101に空き領域があるか否かが判定される。
【0015】
空き領域がある間は(S1においてYES)、ステップS2のVOBリクエストの発行が行われ、ステップS3でDVDディスク10からトラックバッファ101へのVOBの転送が行われる。空き容量が無くなると(S1においてNO)、ステップS4に進み、VOBリクエストの発行が停止される。
【0016】
ステップS5に進み、トラックバッファ101に格納されたVOBは、VOBU単位でデマックス102に投下される。投下されたVOBUはデマックス102で上述した4種類の各パックに分離され、各パックを格納するビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106に格納される。
【0017】
ステップS6に進み、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106の何れかの空き容量が無くなったか否かが判定される。
【0018】
上述した4つのバッファの全てに空き容量がある間は(S6においてNO)、ステップS5において、トラックバッファ101からデマックス102にVOBUが投下される。上述した4つのバッファの何れかに空き容量が無くなると(S6においてYES)、ステップS7に進み、VOBUの投下が停止される。即ち、VOBUの投下は、4つのバッファの何れかに空き容量が無くなると、空き容量のあるバッファに対しても停止される。
【0019】
ステップS8では、ナビ・バッファ106にナビ・パックが格納されるまでステップS8の処理を繰り返し行い(S8においてNO)、ナビ・バッファ106にナビ・パックが格納されると(S8においてYES)、カレント管理部202にナビ・パック書込終了通知が通知される。ステップS9では、カレント管理部202がホストインターフェース(HostI/F)部110経由で、ナビ・バッファ106からナビ・パックを取得する。
【0020】
ステップS10に進み、カレント管理部202はナビ・バッファ106から取得したナビ・パックをナビ・スプール203に格納する。ナビ・スプール203に空き容量がある間は(S11においてNO)、カレント管理部202はステップS8〜S11の処理を繰り返し行い、ナビ・バッファ106から取得したナビ・パックをナビ・スプール203に格納する。
【0021】
ナビ・スプール203に空き容量が無くなると(S11においてYES)、カレント管理部202はステップS12に進み、VOBU_S_PTM(0)を他のパラメータに先行してSTCアラーム登録管理部206に登録する。ステップS13に進み、再生エンジン204は第1番目のナビ・パックNv_pck(0)をナビ・スプール203から取得する。
【0022】
ステップS14に進み、再生エンジン204はナビ・パックNv_pck(0)からHLIを抽出してHLI制御部205に送信する。ステップS15に進み、再生エンジン204はVOBU_E_PTM(0)をSTCアラーム登録管理部206に登録する。
【0023】
ステップS16に進み、HLI制御部205は、HL_S_PTM(0),HL_E_PTM(0),BTN_SL_E_PTM(0)をSTCアラーム登録管理部206に登録する。
【0024】
ここまでの処理で、第1番目のナビ・パックNv_pck(0)に対応する再生準備は完了した。なお、ステップS12〜S16の処理を再生スタンバイと呼ぶ。ステップS17では、再生を開始すると判定するまでステップS17の処理を繰り返す(S17においてNO)。再生を開始すると判定すると(S17においてYES)、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105に格納されているビットストリームの復号が開始される。ステップS19に進み、STC201はカウントを開始する。
【0025】
ステップS20に進み、カレント管理部202はVOBU_S_PTM(1)をSTCアラーム登録管理部206に登録する。ステップS21では、第2番目のナビ・パックNv_pck(1)の再生開始時刻VOBU_S_PTM(1)に到達するまでステップS21の処理を繰り返す(S21においてNO)。
【0026】
その後、時間が経過して第2番目のナビ・パックNv_pck(1)の再生開始時刻VOBU_S_PTM(1)に到達すると、STC201はステップS22に進み、再生エンジン204及びHLI制御部205にアラームを通知する。ステップS23に進み、再生エンジン204は第2番目のナビ・パックNv_pck(1)をナビ・スプール203から取得する。
【0027】
ステップS24に進み、再生エンジン204はナビ・パックNv_pck(1)からHLIを抽出してHLI制御部205に送信する。ステップS25に進み、再生エンジン204はVOBU_E_PTM(1)をSTCアラーム登録管理部206に登録する。
【0028】
ステップS26に進み、HLI制御部205は、HL_S_PTM(1),HL_E_PTM(1),BTN_SL_E_PTM(1)をSTCアラーム登録管理部206に登録する。ステップS27では、再生を継続するか否かが判定される。再生を継続すると判定されれば(S27においてYES)、次のナビ・パックに対してステップS20〜S26の処理を行う。即ち、ステップS20〜S27の処理を繰り返し行うことで、DVDディスク10の再生が行われていく。
【0029】
一方、再生を継続しないと判定されれば(S27においてNO)、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105に格納されているビットストリームの復号が停止される。ステップS29に進み、STC201はカウントを停止し、カウントの値を保持する。
【特許文献1】特開平11−162119号公報
【発明の開示】
【発明が解決しようとする課題】
【0030】
前述したデータ復号装置では、図5のようなVOBUを復号する場合に不都合が生じるという問題があった。図5は、VOBUの一例のデータ構造図である。図5のVOBUは英語及び日本語の2種類の音声を含んでいる。図5では、英語の音声に対応したオーディオ・パックがA_pck(E)で表され、日本語の音声に対応したオーディオ・パックがA_pck(J)で表されている。
【0031】
通常、VOBUには英語の音声に対応したオーディオ・パック及び日本語の音声に対応したオーディオ・パックが均等に多重されている。しかしながら、図5のVOBUでは英語の音声に対応したオーディオ・パック及び日本語の音声に対応したオーディオ・パックの多重に偏りがある。
【0032】
例えば図5ではVOBU(n)〜(n+5)に英語の音声に対応したオーディオ・パックが多重されており、VOBU(n+6)に日本語の音声に対応したオーディオ・パックが多重されている。映像に対応したビデオ・パックは、VOBU(n),(n+1)に多重されている。一方、字幕に対応したサブピクチャ・パックは多重されていない。
【0033】
ここで、図5のようなVOBUを前述したデータ復号装置で再生し、且つ英語から日本語への音声切替を行うときの4つのバッファ(ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106)およびナビ・スプール203の状態遷移について、図6,図7を参照しつつ説明する。図6,図7は、VOBUを再生するときの4つのバッファ及びナビ・スプールの状態遷移図である。
【0034】
図6(A)の状態は、再生開始前の初期状態である。この状態では、4つのバッファおよびナビ・スプール203が空である。なお、図6,図7に示されていないトラックバッファ101も空である。
【0035】
図6(A)の状態は、トラックバッファ101が空であるため、VOBリクエストの発行が行われ、DVDディスク10からトラックバッファ101へのVOBの転送が開始される。その後、トラックバッファ101に格納されたVOBはVOBU単位でデマックス102に投下され、デマックス102で上述した4種類の各パックに分離され、各パックを格納する4つのバッファに格納される。
【0036】
図6(B)の状態では、ナビ・バッファ106の空き容量が無くなり、デマックス102へのVOBUの投下が停止され、VOリクエストの発行も停止される。このあと、前述した再生スタンバイが行われる。
【0037】
図6(C)の状態では、再生が開始され、再生エンジン204がナビ・スプール203からナビ・パックを読み出して消費している。また、カレント管理部202はナビ・バッファ106からナビ・パックを読み出して消費している。このとき、オーディオ・バッファ104には英語の音声に対応したオーディオ・パックA_pck(E)が格納されているため、音声として英語が出力されている。なお、図6,図7では消費されたナビ・パックに取り消し線(−)が上書きされている。
【0038】
ここで、ユーザから音声切替命令が発行されたと仮定する。音声切替命令が発行されるとデータ復号装置は、現在オーディオ・バッファ104に格納されているオーディオ・パックA_pck(E)をフラッシュ(消去)する。図6(D)の状態は、音声切替命令が発行され、オーディオ・バッファ104に格納されているオーディオ・パックをフラッシュした状態である。なお、ビデオ・バッファ103に格納されていたビデオ・パックは消費されている。
【0039】
その後、オーディオ・バッファ104にオーディオ・パックA_pck(J)が格納されるのを待ち、格納されたあとで再生を開始すればよい。ところが、オーディオ・バッファ104に対するオーディオ・パックA_pck(J)の格納は、図7(E)に表したように、ナビ・バッファ106に格納されているナビ・パックを全て読み出してフラッシュしないと行われない。
【0040】
ナビ・バッファ106からナビ・パックを全て読み出すということは、ナビ・スプール203に格納されているナビ・パックも全て消費するということである。即ち、ナビ・バッファ106及びナビ・スプール203に格納されている全てのナビ・パックを全て消費しないと、図7(F)に表したように、オーディオ・バッファ104へのオーディオ・パックA_pck(J)の格納が開始されない。図7(G)の状態は、オーディオ・バッファ104へのオーディオ・パックA_pck(J)の格納が完了した状態である。
【0041】
なお、オーディオ・バッファ104にオーディオ・パックA_pck(J)が格納されないということは、日本語の音声が出力されないということになる。したがって、従来のデータ復号装置は音声切替時の音途切れが長くなることもあり、音声切替時の音途切れとしてユーザに認識されてしまうという問題があった。音声切替時の音途切れの最大時間Tmaxは、式(1)のように表せる。
【0042】
Tmax=VOBUの最大再生時間×(Nv_buffの容量+Nv_spoolの容量)・・・(1)
例えばVOBUの最大再生時間が0.5秒、ナビ・バッファ106及びナビ・スプール203の容量がそれぞれ16パックである場合、音声切替時の音途切れの最大時間Tmaxは16秒となる。
【0043】
音声切替時の音途切れが長くなる第1の理由は、ナビ・バッファ106が上書き禁止のメモリで構成されているためである。ナビ・バッファ106は、制御用のナビ・パックを不用意に消去してしまわないように上書き禁止とされている。もし、ナビ・パックを消去したり、読み出しに失敗したりすれば、そのナビ・パックと同じVOBUから分割されたビデオ・パック、オーディオ・パック、サブピクチャ・パックのPCIやDSI等を失ってしまう。
【0044】
音声切替時の音途切れが長くなる第2の理由は、図7(E)に表すように、ビデオ・バッファ103,オーディオ・バッファ104、サブピクチャ・バッファ105が空であるにも関わらず、それに対応したナビ・パックをナビ・バッファ106から読み出して消費するためである。
【0045】
即ち、ビデオ・バッファ103,オーディオ・バッファ104、サブピクチャ・バッファ105には制御すべきビデオ・パック,オーディオ・パック,サブピクチャ・パックが無いにも関わらず、同じVOBUから分割されたナビ・パックだけを時間通りに消費しているため、音声切替時の音途切れが長くなる。
【0046】
この場合、ナビ・バッファ106及びナビ・スプール203に格納されているナビ・パックは、もはや必要の無くなったナビ・パックであるから、即座にフラッシュしてもかまわない。結局、音声切替時の音途切れが長くなる第2の理由は、ナビ・パックを保護する立場の音声切替時の音途切れが長くなる第1の理由により引き起こされていた。
【0047】
即ち、音声切替時の音途切れが長くなる理由はナビ・パックと、それ以外のビデオ・パック,オーディオ・パック,サブピクチャ・パックとの従属関係が復号時に維持されないために、ナビ・パックを容易に消去できないことに起因する。
【0048】
本発明は、上記の点に鑑みなされたもので、音声切替時や字幕切替時の音途切れや字幕途切れを短くできるデータ復号装置を提供することを目的とする。
【課題を解決するための手段】
【0049】
上記課題を解決するため、本発明は、圧縮符号化されたデータの復号を行うデータ復号装置であって、前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に1種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段とを備えたことを特徴とする。なお、本発明は上記のデータ復号装置を実現するデータ復号方法,半導体集積回路,データ復号システムとしてもよい。
【0050】
本発明では、同一のユニットデータから分割されたデータパックが識別可能なようにタグを付与することで、同一のユニットデータから分離された1種類以上のデータパックを容易に識別でき、タグを監視しつつ同一のユニットデータから分割されたデータパックの復号をユニットデータ単位に行うことができる。
【0051】
この結果、音声切替時や字幕切替時に、同一のユニットデータから分割されたデータパックを容易に識別でき、同一のユニットデータから分離され、且つ不要となった1種類以上のデータパックの消去を迅速に行うことができるため、音声切替時や字幕切替時の音途切れや字幕途切れを短くできる。
【発明の効果】
【0052】
本発明によれば、音声切替時や字幕切替時の音途切れや字幕途切れを短くできるデータ復号装置を提供可能である。
【発明を実施するための最良の形態】
【0053】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では音声切替時の音途切れに着目して説明するが、字幕切替時の字幕途切れについても同様である。
【0054】
まず、同一のVOBUから分離したナビ・パック,ビデオ・パック,オーディオ・パック,サブピクチャ・パックを識別可能とするためのタグの付与について、図8を参照しつつ説明する。図8は、タグの付与を表した説明図である。
【0055】
VOBU3は、常に一つのナビ・パックで始まり、そのナビ・パックに引き続いてビデオ・パック、オーディオ・パック、サブピクチャ・パックを含むことができる。なお、以下の説明において、ナビ・パック、ビデオ・パック,オーディオ・パックおよびサブピクチャ・パックの何れかを表すときは、単にパックと記載する。
【0056】
ナビ・パック4は、14バイトのパック・ヘッダと、PCI+IDSパケットとで構成される。なお、ビデオ・パックの場合、14バイトのパック・ヘッダと、ビデオ・パケットとで構成される。オーディオ・パックの場合、14バイトのパック・ヘッダと、オーディオ・パケットとで構成される。サブピクチャ・パックの場合、14バイトのパック・ヘッダと、サブピクチャ・パケットとで構成される。
【0057】
本発明では、パック・ヘッダ5の先頭4バイトのパック・スタートコードにタグを書き込む。タグは、同一のVOBUから分割されたパックであれば同じ値とする。例えばタグには、1から始まる値を書き込んでいく。そして、タグの値はVOBU毎にインクリメントしていく。なお、ビデオ・パック、オーディオ・パック、サブピクチャ・パックにも同様に、パック・ヘッダ5の先頭4バイトにタグを書き込む。
【0058】
同一のVOBUから分割されたパックには同じ値のタグが付与されるため、ナビ・パックと、それ以外のビデオ・パック,オーディオ・パック,サブピクチャ・パックとの従属関係が復号時に維持される。したがって、本発明のデータ復号装置はタグに基づいて、ナビ・パックと、そのナビ・パックに従属するビデオ・パック、オーディオ・パック、サブピクチャ・パックとを観測しつつ復号動作を行うことができる。なお、以下の説明ではタグの値をタグ番号と呼ぶ。
【実施例1】
【0059】
図9は、VOBを復号するデータ復号装置の一実施例の構成図である。データ復号装置は、大別するとハードウェア100及びソフトウェア200に分けられる。まず、ハードウェア100を説明する。
【0060】
ハードウェア100は、トラックバッファ101と,デマックス102と,ビデオ・バッファ103と,オーディオ・バッファ104と,サブピクチャ・バッファ105と,ナビ・バッファ106と,ビデオ復号器107と,オーディオ復号器108と,サブピクチャ復号器109と,ホストインターフェース部110と,レジスタ111とを備える。
【0061】
DVDディスク10から読み出されたVOBは、ハードウェア100のトラックバッファ101に格納される。VOBは、VOBU単位に区切りを付けて管理される。トラックバッファ101の後段には、VOBUを4種類の各パックに分離するデマックス102が接続されている。デマックス102には、4種類の各パックに分離したあと、前述したタグを付加するタグ付加器112が設けられている。
【0062】
デマックス102の後段には、各パックを格納するビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106が接続されている。ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105の後段には、タグを格納するレジスタ111が設けられている。
【0063】
具体的に、ビデオ・パックから抽出したタグは、ビデオ・バッファ103の後段に設けられたレジスタ(V_tag)111に格納される。オーディオ・パックから抽出したタグは、オーディオ・バッファ104の後段に設けられたレジスタ(A_tag)111に格納される。また、サブピクチャ・パックから抽出したタグは、サブピクチャ・バッファ105の後段に設けられたレジスタ(Sp_tag)111に格納される。
【0064】
ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105から読み出されたビットストリームは、それぞれビデオ復号器107,オーディオ復号器108,サブピクチャ復号器109で伸張され、映像,音声,字幕となってハードウェア100から出力される。
【0065】
次に、ソフトウェア200を説明する。ソフトウェア200は、STC201と,カレント管理部202と,ナビ・スプール203と,再生エンジン204と,HLI制御部205と,STCアラーム登録管理部206とを備える。
【0066】
カレント管理部202はナビ・バッファ106からナビ・パックを読み出し、ナビ・スプール203に格納する。再生エンジン204は、ナビ・スプール203からナビ・パックを読み出し、実際に再生のための制御を行う。再生エンジン204には、ナビ・パックから抽出したタグを格納するポインタ(Nv_tag)207が設けられている。
【0067】
再生エンジン204は、ナビ・スプール203から読み出したナビ・パックの中からPCIを抽出し、そのPCIに含まれるVOBU_E_PTMをSTCアラーム登録管理部206に送信する。再生エンジン204は、HLI制御部205経由で、STCアラーム登録管理部206にハイライト情報を送信する。
【0068】
なお、PCIに含まれているVOBU_S_PTMは、カレント管理部202からSTCアラーム登録管理部206に送信される。HLIに含まれているHL_S_PTM,HL_E_PTM,BTN_SL_E_PTMは、再生エンジン204からHLI制御部205経由でSTCアラーム登録管理部206に送信される。
【0069】
STCアラーム登録管理部206では、受信したデータ、つまりPCIの中の時刻情報であるVOBU_S_PTM,VOBU_E_PTM,HL_S_PTM,HL_E_PTM,BTN_SL_E_PTMを、値の小さな順にSTC201に登録していく。STC201は、再生スタートと同時に計時を開始し、登録された時刻に到達すると再生エンジン204及びHLI制御部205にアラームを通知する。
【0070】
なお、再生エンジン204はホストインターフェース部110を経由して、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105の後段に設けられたレジスタ111を観察可能である。
【0071】
図9のデータ復号装置は、図2のデータ復号装置に前述したタグを取り扱う仕組みを設けたものである。即ち、図9のデータ復号装置は、デマックス102に設けられたタグ付加器112と,ビデオ・バッファ103,オーディオ・バッファ104およびサブピクチャ・バッファ105の後段に設けられたレジスタ111と,再生エンジン204に設けられたポインタ207と,再生エンジン204がホストインターフェース部110を経由してレジスタ111を観察する仕組みとが、図2のデータ復号装置と異なっている。
【0072】
図10及び図11は、本発明のデータ復号装置の動作を表した一例のフローチャートである。ここでは、図9のデータ復号装置の動作を各バッファとナビ・パックとに注目して説明する。ステップS31では、トラックバッファ101に空き領域があるか否かが判定される。
【0073】
トラックバッファ101に空き容量があれば(S31においてYES)、ステップS32に進み、VOBリクエストの発行が行われる。ステップS32に続いてステップS33に進み、DVDディスク10からトラックバッファ101へのVOBの転送が行われる。ステップS33の処理後、再びステップS31に戻る。一方、トラックバッファ101に空き容量が無ければ(S31においてNO)、ステップS34に進み、VOBリクエストの発行が停止される。
【0074】
ステップS35に進み、トラックバッファ101に格納されたVOBは、VOBU単位でデマックス102に投下される。投下されたVOBUはデマックス102で上述した4種類の各パックに分離され、タグ付加器112により前述したタグが付加される。デマックス102は、各パックを格納するビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106に、タグを付加したパックを格納させる。
【0075】
ステップS36に進み、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106の何れかの空き容量が無くなったか否かが判定される。上述した4つのバッファの全てに空き容量があれば(S36においてNO)、再びステップS35に戻り、トラックバッファ101からデマックス102にVOBUが投下される。一方、上述した4つのバッファの何れかに空き容量が無くなれば(S36においてYES)、ステップS37に進み、VOBUの投下が停止される。即ち、VOBUの投下は、4つのバッファの何れかに空き容量が無くなると、空き容量のあるバッファに対しても停止される。
【0076】
ステップS38では、ナビ・バッファ106にナビ・パックが格納されたか否かを判定する。ナビ・パックが格納されなければ(S38においてNO)、ステップS38の処理を繰り返す。一方、ナビ・バッファ106にナビ・パックが格納されると(S38においてYES)、カレント管理部202にナビ・パック書込終了通知が通知される。ステップS39では、カレント管理部202がホストインターフェース部110経由で、ナビ・バッファ106からナビ・パックを取得する。
【0077】
ステップS40に進み、カレント管理部202はナビ・バッファ106から取得したナビ・パックをナビ・スプール203に格納する。ステップS41に進み、ナビ・スプール203に空き容量が無くなったか否かが判定される。ナビ・スプール203に空き容量があれば(S36においてNO)、カレント管理部202はステップS38〜S41の処理を繰り返し行い、ナビ・バッファ106から取得したナビ・パックをナビ・スプール203に格納する。
【0078】
ナビ・スプール203に空き容量が無くなると(S41においてYES)、カレント管理部202はステップS42に進み、VOBU_S_PTM(0)を他のパラメータに先行してSTCアラーム登録管理部206に登録する。ステップS43に進み、再生エンジン204は第1番目のナビ・パックNv_pck(0)をナビ・スプール203から取得する。
【0079】
ステップS44に進み、再生エンジン204はナビ・パックNv_pck(0)からタグを抽出してポインタ207に格納する。ステップS45に進み、再生エンジン204はナビ・パックNv_pck(0)からHLIを抽出し、そのHLIをHLI制御部205に送信する。ステップS46に進み、再生エンジン204はSTCアラーム登録管理部206にVOBU_E_PTM(0)を登録する。
【0080】
ステップS47に進み、HLI制御部205は、HL_S_PTM(0),HL_E_PTM(0),BTN_SL_E_PTM(0)をSTCアラーム登録管理部206に登録する。
【0081】
ステップS48に進み、ビデオ・バッファ103に格納されている先頭のビデオ・パックV_pck(0)からタグを抽出してレジスタ(V_tag)111に格納する。ステップS49に進み、オーディオ・バッファ104に格納されている先頭のオーディオ・パックA_pck(0)からタグを抽出してレジスタ(A_tag)111に格納する。ステップS50に進み、サブピクチャ・バッファ105に格納されている先頭のサブピクチャ・パックSp_pck(0)からタグを抽出してレジスタ(Sp_tag)111に格納する。このとき、レジスタ(V_tag)111,レジスタ(A_tag)111,レジスタ(Sp_tag)111に格納されたタグ番号は全て1である。
【0082】
ここまでの処理で、第1番目のナビ・パックNv_pck(0)に対応する再生準備は完了した。なお、ステップS42〜S50の処理を再生スタンバイと呼ぶ。ステップS51では、再生を開始するか否かが判定される。再生を開始すると判定されなければ(S51においてNO)、ステップS51の処理を繰り返す。一方、再生を開始すると判定されると(S51においてYES)、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105に格納されているビットストリームの復号が開始される。ステップS53に進み、STC201はカウントを開始する。
【0083】
ステップS54に進み、カレント管理部202はVOBU_S_PTM(1)をSTCアラーム登録管理部206に登録する。ステップS55では、第2番目のナビ・パックNv_pck(1)の再生開始時刻VOBU_S_PTM(1)に到達したか否かが判定される。
【0084】
再生開始時刻VOBU_S_PTM(1)に到達していないと判定されれば(S55においてNO)、ステップS55の処理を繰り返す。一方、再生開始時刻VOBU_S_PTM(1)に到達したと判定されれば(S55においてYES)、STC201はステップS56に進み、再生エンジン204及びHLI制御部205にアラームを通知する。ステップS57に進み、再生エンジン204は第2番目のナビ・パックNv_pck(1)をナビ・スプール203から取得する。
【0085】
ステップS58に進み、再生エンジン204はナビ・パックNv_pck(1)からタグを抽出してポインタ207に格納する。即ち、ポインタ207に格納されているタグを更新する。
【0086】
ステップS59に進み、再生エンジン204はナビ・パックNv_pck(1)からHLIを抽出してHLI制御部205に送信する。ステップS60に進み、再生エンジン204はVOBU_E_PTM(1)をSTCアラーム登録管理部206に登録する。
【0087】
ステップS61に進み、HLI制御部205は、HL_S_PTM(1),HL_E_PTM(1),BTN_SL_E_PTM(1)をSTCアラーム登録管理部206に登録する。
【0088】
なお、レジスタ(V_tag)111には、ビデオ・バッファ103に格納されているビデオ・パックV_pck(1)から抽出されたタグが格納される。レジスタ(A_tag)111にはオーディオ・バッファ104に格納されているオーディオ・パックA_pck(1)から抽出されたタグが格納される。レジスタ(Sp_tag)111にはサブピクチャ・バッファ105に格納されているサブピクチャ・パックSp_pck(1)から抽出されたタグが格納される。
【0089】
ステップS62では、再生を継続するか否かが判定される。再生を継続すると判定されれば(S62においてYES)、次のナビ・パックに対してステップS54〜S61の処理を行う。即ち、ステップS54〜S62の処理を繰り返し行うことで、DVDディスク10の再生が行われていく。
【0090】
一方、再生を継続しないと判定されれば(S62においてNO)、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105に格納されているビットストリームの復号が停止される。ステップS64に進み、STC201はカウントを停止し、カウントの値を保持する。
【0091】
即ち、図10及び図11のフローチャートでは、再生エンジン204がナビ・スプール203からナビ・パックNv_pck(n+1)を取得する度に、ポインタ207に格納されているタグが更新される。同様に、レジスタ(V_tag)111にはビデオ・バッファ103に格納されているビデオ・パックV_pck(n+1)から抽出されたタグが格納される。レジスタ(A_tag)111には、オーディオ・バッファ104に格納されているオーディオ・パックA_pck(n+1)から抽出されたタグが格納される。レジスタ(Sp_tag)111には、サブピクチャ・バッファ105に格納されているサブピクチャ・パックSp_pck(n+1)から抽出されたタグが格納される。
【0092】
したがって、復号が正常に行われているときは、ポインタ207に格納されているタグ番号,レジスタ(V_tag)111,レジスタ(A_tag)111及びレジスタ(Sp_tag)に格納されているタグ番号が同じになっている。
【0093】
ここで、図5のようなVOBUを本発明のデータ復号装置で再生し、且つ英語から日本語への音声切替を行うときの4つのバッファ(ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105,ナビ・バッファ106)、ナビ・スプール203、レジスタ111及びポインタ207の状態遷移について、図12,図13を参照しつつ説明する。
【0094】
図12,図13は、VOBUを再生するときの4つのバッファ、ナビ・スプール、レジスタ及びポインタの状態遷移図である。図12(A)の状態は、再生開始前の初期状態である。この状態では、4つのバッファおよびナビ・スプール203が空である。なお、図12,図13に示されていないトラックバッファ101も空である。
【0095】
図12(A)の状態は、トラックバッファ101が空であるため、VOBリクエストの発行が行われ、DVDディスク10からトラックバッファ101へのVOBの転送が開始される。その後、トラックバッファ101に格納されたVOBはVOBU単位でデマックス102に投下され、デマックス102で上述した4種類の各パックに分離され、前述したタグを付加されたあと、各パックを格納する4つのバッファに格納される。その後、ナビ・バッファ106の空き容量が無くなり、デマックス102へのVOBUの投下が停止され、VOBリクエストの発行も停止される。
【0096】
図12(B)の状態は、再生スタンバイの状態である。ここでは、再生エンジン204がナビ・スプール203から先頭のナビ・パックNv_pck(0)を取得し、ナビ・パックNv_pck(0)からタグを抽出してポインタ207に格納する。このとき、ポインタ207に格納されるタグ番号は「1」である。
【0097】
一方、ビデオ・バッファ103,オーディオ・バッファ104に格納されている先頭のビデオ・パックV_pck(0),オーディオ・パックA_pck(0)からタグが抽出されてレジスタ(V_tag)111,レジスタ(A_tag)111に格納される。このとき、レジスタ(V_tag)111,レジスタ(A_tag)111に格納されるタグ番号は「1」である。
【0098】
なお、図5のVOBUにはサブピクチャ・パックが多重されていないため、サブピクチャ・バッファ105に格納されるサブピクチャ・パックが無い。このため、レジスタ(Sp_tag)111に格納されているタグ番号は「0」のままである。
【0099】
図12(C)の状態では、再生が開始され、再生エンジン204がナビ・スプール203からナビ・パックを読み出して消費している。図12(C)では、再生エンジン204がナビ・スプール203から先頭のナビ・パックNv_pck(1)を取得し、ナビ・パックNv_pck(1)からタグを抽出してポインタ207に格納する。このとき、ポインタ207に格納されるタグ番号は「2」である。
【0100】
同様に、ビデオ・バッファ103,オーディオ・バッファ104に格納されているビデオ・パック,オーディオ・パックは、それぞれビデオ復号器107,オーディオ復号器108で伸張され、映像,音声,字幕となってハードウェア100から出力されることで消費される。図12(C)では、ビデオ・バッファ103,オーディオ・バッファ104に格納されている次のビデオ・パックV_pck(1),オーディオ・パックA_pck(1)からタグが抽出されてレジスタ(V_tag)111,レジスタ(A_tag)111に格納される。このとき、レジスタ(V_tag)111,レジスタ(A_tag)111に格納されるタグ番号は「2」である。
【0101】
図12(C)の状態では、オーディオ・バッファ104に英語の音声に対応したオーディオ・パックA_pck(E)が格納されているため、音声として英語が出力されている。なお、図12,図13では消費されたナビ・パックに取り消し線(−)が上書きされている。
【0102】
ここで、ユーザから音声切替命令が発行されたと仮定する。音声切替命令が発行されるとデータ復号装置は、現在オーディオ・バッファ104に格納されているオーディオ・パックA_pck(E)をフラッシュ(消去)する。その後、レジスタ(A_tag)111は何らかの理由でシステム自身がバッファに格納されている全てのパックをフラッシュしたことを表す特別な値「FFFFFFFF」(オール1)に書き替えられる。
【0103】
図12(D)の状態は、音声切替命令が発行され、オーディオ・バッファ104に格納されているオーディオ・パックをフラッシュした状態であり、レジスタ(A_tag)111が「FFFFFFFF」に書き替えられている。なお、ビデオ・バッファ103に格納されていたビデオ・パックは消費されて空である。この為、レジスタ(V_tag)111はパックが存在しないことを表す特別な値「0」となっている。
【0104】
ところで、再生エンジン204はポインタ207を更新する度に、レジスタ(V_tag)111,レジスタ(A_tag)111,ポインタ207に格納されているタグ番号を観測している。レジスタ(V_tag)111,レジスタ(A_tag)111,ポインタ207に格納されているタグ番号が一致していない場合、更に、ビデオ・バッファ103,オーディオ・バッファ104,サブピクチャ・バッファ105の占有量を取得している。
【0105】
そして、図14に示すフローチャートに従ってナビ・バッファ106に格納されているナビ・パックをフラッシュするか否かを決定している。図14は、ナビ・バッファのフラッシュ処理の一例のフローチャートである。
【0106】
ステップS100では、第n+2番目のナビ・パックNv_pck(n+1)の再生開始時刻VOBU_S_PTM(n+1)に到達したか否かが判定されている。再生開始時刻VOBU_S_PTM(n+1)に到達していないと判定されれば(S100においてNO)、ステップS100の処理を繰り返す。
【0107】
再生開始時刻VOBU_S_PTM(n+1)に到達したと判定されれば(S100においてYES)、STC201はステップS101に進み、再生エンジン204及びHLI制御部205にアラームを通知する。ステップS102に進み、再生エンジン204はナビ・パックNv_pck(n+1)をナビ・スプール203から取得する。そして、ステップS103に進み、再生エンジン204はナビ・パックNv_pck(n+1)からタグを抽出してポインタ207に格納する。即ち、ポインタ207に格納されているタグを更新する。
【0108】
ステップS104に進み、再生エンジン204はレジスタ(V_tag)111,レジスタ(A_tag)111,レジスタ(Sp_tag)111に格納されているタグ番号を取得する。ステップS105に進み、再生エンジン204はレジスタ(V_tag)111,レジスタ(A_tag)111,レジスタ(Sp_tag)111,ポインタ207に格納されていたタグ番号が全て一致しているか否かを判定する。
【0109】
タグ番号が全て一致していれば(S105においてYES)、再生エンジン204は正常と判断して図14のフローチャートを終了する。一方、タグ番号が全て一致していなければ(S105においてNO)、再生エンジン204はステップS106に進む。ステップS106では、再生エンジン204が、レジスタ(V_tag)111,レジスタ(A_tag)111,レジスタ(Sp_tag)111のタグ番号の何れかがオール1であるか否かを判定する。
【0110】
タグ番号の何れもオール1でないと判定すれば(S106においてNO)、再生エンジン204はナビ・バッファ106をフラッシュしないと決定し、図14のフローチャートを終了する。この場合、ナビ・パックの読み出しが失敗している可能性を考慮し、一つ前のナビ・パックで代用する為に、ナビ・バッファ106はフラッシュされない。タグ番号の何れかがオール1であると判定すれば(S106においてYES)、再生エンジン204はステップS107に進む。
【0111】
ステップS107では、タグ番号がオール1でないレジスタ(V_tag)111,レジスタ(A_tag)111,レジスタ(Sp_tag)111の占有量を再生エンジン204が取得する。ステップS108に進み、再生エンジン204はステップS107で取得した占有量が0であるか否かを判定する。占有量が0でなければ(S108においてNO)、再生エンジン204はナビ・バッファ106をフラッシュしないと決定し、図14のフローチャートを終了する。
【0112】
この場合、ビデオ・バッファ103,オーディオ・バッファ104、サブピクチャ・バッファ105のいずれかが何らかの理由でフラッシュされている。しかし、フラッシュされていないバッファには、再生すべきパックが残っている状態である。従って、ナビ・バッファ106はフラッシュされない。占有量が0であれば(S108においてYES)、再生エンジン204はステップS109に進み、ナビ・バッファをフラッシュして図14のフローチャートを終了する。
【0113】
図13(E)の場合、ナビ・バッファ106はフラッシュされ、空になる。ナビ・バッファ106が空になると、直ちに新しいVOBUがデマックス102に投下され、図13(F)のように、オーディオ・バッファ104にオーディオ・パックA_pck(J)が到来する。その後、図13(G)のように、オーディオ・バッファ104にオーディオ・パックA_pck(J)が格納されるのを待ち、格納されたあとで再生を開始する。
【0114】
なお、4種類の各パックに付加されるタグの値と、レジスタ111及びポインタ207に格納されるタグの値とは図15のようになる。図15は、4種類の各パックに付加されるタグの値と、レジスタ及びポインタに格納されるタグの値とを表した図である。
【0115】
図2のデータ復号装置では、上述したように、音声切替完了までにナビ・パックの実消費時間分かかってしまう。一方、本発明のデータ復号装置ではオーディオ・バッファ104をフラッシュしたあと最大0.5秒、つまりナビ・パック一つ分の消費時間しか掛からない。したがって、本発明のデータ復号装置は音声切替時の音途切れが短く、音声切替時の音途切れとしてユーザにほとんど認識されない。
【0116】
即ち、ビデオ・バッファ103,オーディオ・バッファ104、サブピクチャ・バッファ105に制御すべきビデオ・パック,オーディオ・パック,サブピクチャ・パックが無いときは、ナビ・バッファ106をフラッシュするため、音声切替時の音途切れは短くなる。
【0117】
本発明は、ナビ・パックと、それ以外のビデオ・パック,オーディオ・パック,サブピクチャ・パックとの従属関係が復号時に維持されることで、ナビ・パックを消去しても問題ないか否かを判定することができ、その判定結果に基づきナビ・パックを消去することができる。
【0118】
なお、特許請求の範囲に記載した逆多重化手段が例えばトラックバッファ101及びデマックス102に相当し、復号手段がトラックバッファ101及びデマックス102以外のハードウェア100とソフトウェア200とに相当する。
【0119】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0120】
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
圧縮符号化されたデータの復号を行うデータ復号装置であって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に1種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えたデータ復号装置。
(付記2)
前記逆多重化手段は、前記ユニットデータから更に1種類以上のデータパックを分割したあと、前記データパックの一部を構成するパック・ヘッダに、前記タグを付与することを特徴とする付記1記載のデータ復号装置。
(付記3)
前記逆多重化手段は、前記データパック毎に1ずつ増加させた値を前記タグとして付与することを特徴とする付記1又は2記載のデータ復号装置。
(付記4)
前記逆多重化手段は、前記データパックに前記タグを付与したあと、前記データパックの種類に応じたバッファに前記データパックを格納することを特徴とする付記1乃至3何れか一項記載のデータ復号装置。
(付記5)
前記逆多重化手段は、DVD規格に従ったビデオ・オブジェクト(VOB)を複数のビデオ・オブジェクト・ユニット(VOBU)に分割し、前記VOBUから更にナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックを分割して、同一の前記VOBUから分割された前記ナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックが識別可能なように前記タグを付与することを特徴とする付記4記載のデータ復号装置。
(付記6)
前記復号手段は、前記ナビ・パックに応じたバッファから前記ナビ・パックを読み出すときに、前記ナビ・パックに付与したタグを分離してポインタに格納し、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファから前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックを読み出すときに、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに付与したタグを分離してレジスタに格納することを特徴とする付記5記載のデータ復号装置。
(付記7)
前記復号手段は、前記ポインタに格納したタグを所定周期で観測し、前記ポインタおよび前記レジスタに格納したタグの一致又は不一致に基づき、前記ナビ・パックに応じたバッファから前記ナビ・パックを消去するか否かを判定することを特徴とする付記6記載のデータ復号装置。
(付記8)
前記復号手段は、音声切替又は字幕切替の手続として、前記オーディオ・パック、サブピクチャ・パックに応じたバッファから前記オーディオ・パック、サブピクチャ・パックの全てを消去し、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグを所定値に書き替えることを特徴とする付記7記載のデータ復号装置。
(付記9)
前記復号手段は、前記ポインタおよび前記レジスタに格納したタグが一致しており、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグが所定値に書き替えられており、且つ前記タグが所定値に書き替えられていない前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファの容量が空であるとき、前記バッファに格納されているナビ・パックを消去することを特徴とする付記8記載のデータ復号装置。
(付記10)
前記ナビ・パックは、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックの再生制御情報を含むことを特徴とする付記1乃至9何れか一項記載のデータ復号装置。
(付記11)
圧縮符号化されたデータの復号を行うデータ復号装置のデータ復号方法であって、
前記圧縮符号化されたデータを複数のユニットデータに分割するステップと、
前記ユニットデータから更に1種類以上のデータパックを分割するステップと、
同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与するステップと、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行うステップと
を備えたデータ復号方法。
(付記12)
圧縮符号化されたデータの復号を行う半導体集積回路であって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に1種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えた半導体集積回路。
(付記13)
圧縮符号化されたデータの復号を行うデータ復号システムであって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に1種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えたデータ復号システム。
【図面の簡単な説明】
【0121】
【図1】VOBの一例のデータ構造図である。
【図2】VOBを復号するデータ復号装置の一例の構成図である。
【図3】データ復号装置の動作を表した一例のフローチャート(1/2)である。
【図4】データ復号装置の動作を表した一例のフローチャート(2/2)である。
【図5】VOBUの一例のデータ構造図である。
【図6】VOBUを再生するときの4つのバッファ及びナビ・スプールの状態遷移図(1/2)である。
【図7】VOBUを再生するときの4つのバッファ及びナビ・スプールの状態遷移図(2/2)である。
【図8】タグの付与を表した説明図である。
【図9】VOBを復号するデータ復号装置の一実施例の構成図である。
【図10】本発明のデータ復号装置の動作を表した一例のフローチャート(1/2)である。
【図11】本発明のデータ復号装置の動作を表した一例のフローチャート(2/2)である。
【図12】VOBUを再生するときの4つのバッファ、ナビ・スプール、レジスタ及びポインタの状態遷移図(1/2)である。
【図13】VOBUを再生するときの4つのバッファ、ナビ・スプール、レジスタ及びポインタの状態遷移図(2/2)である。
【図14】ナビ・バッファのフラッシュ処理の一例のフローチャートである。
【図15】4種類の各パックに付加されるタグの値と、レジスタ及びポインタに格納されるタグの値とを表した図である。
【符号の説明】
【0122】
100 ハードウェア
101 トラックバッファ
102 デマックス
103 ビデオ・バッファ
104 オーディオ・バッファ
105 サブピクチャ・バッファ
106 ナビ・バッファ
107 ビデオ復号器
108 オーディオ復号器
109 サブピクチャ復号器
110 ホストインターフェース部
111 レジスタ
200 ソフトウェア
201 システム・タイム・クロック(STC)
202 カレント管理部
203 ナビ・スプール
204 再生エンジン
205 ハイライト情報制御部(HLI制御部)
206 STCアラーム登録管理部

【特許請求の範囲】
【請求項1】
圧縮符号化されたデータの復号を行うデータ復号装置であって、
前記圧縮符号化されたデータを複数のユニットデータに分割し、前記ユニットデータから更に1種類以上のデータパックを分割して、同一の前記ユニットデータから分割された前記データパックが識別可能なようにタグを付与する逆多重化手段と、
前記タグを監視しつつ同一の前記ユニットデータから分割された前記データパックの復号を前記ユニットデータ単位に行う復号手段と
を備えたデータ復号装置。
【請求項2】
前記逆多重化手段は、前記ユニットデータから更に1種類以上のデータパックを分割したあと、前記データパックの一部を構成するパック・ヘッダに、前記タグを付与することを特徴とする請求項1記載のデータ復号装置。
【請求項3】
前記逆多重化手段は、前記データパック毎に1ずつ増加させた値を前記タグとして付与することを特徴とする請求項1又は2記載のデータ復号装置。
【請求項4】
前記逆多重化手段は、前記データパックに前記タグを付与したあと、前記データパックの種類に応じたバッファに前記データパックを格納することを特徴とする請求項1乃至3何れか一項記載のデータ復号装置。
【請求項5】
前記逆多重化手段は、DVD規格に従ったビデオ・オブジェクト(VOB)を複数のビデオ・オブジェクト・ユニット(VOBU)に分割し、前記VOBUから更にナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックを分割して、同一の前記VOBUから分割された前記ナビ・パック、ビデオ・パック、オーディオ・パック、サブピクチャ・パックが識別可能なように前記タグを付与することを特徴とする請求項4記載のデータ復号装置。
【請求項6】
前記復号手段は、前記ナビ・パックに応じたバッファから前記ナビ・パックを読み出すときに、前記ナビ・パックに付与したタグを分離してポインタに格納し、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファから前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックを読み出すときに、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに付与したタグを分離してレジスタに格納することを特徴とする請求項5記載のデータ復号装置。
【請求項7】
前記復号手段は、前記ポインタに格納したタグを所定周期で観測し、前記ポインタおよび前記レジスタに格納したタグの一致又は不一致に基づき、前記ナビ・パックに応じたバッファから前記ナビ・パックを消去するか否かを判定することを特徴とする請求項6記載のデータ復号装置。
【請求項8】
前記復号手段は、音声切替又は字幕切替の手続として、前記オーディオ・パック、サブピクチャ・パックに応じたバッファから前記オーディオ・パック、サブピクチャ・パックの全てを消去し、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグを所定値に書き替えることを特徴とする請求項7記載のデータ復号装置。
【請求項9】
前記復号手段は、前記ポインタおよび前記レジスタに格納したタグが一致しており、前記レジスタに格納されているオーディオ・パック、サブピクチャ・パックに付与したタグが所定値に書き替えられており、且つ前記タグが所定値に書き替えられていない前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックに応じたバッファの容量が空であるとき、前記バッファに格納されているナビ・パックを消去することを特徴とする請求項8記載のデータ復号装置。
【請求項10】
前記ナビ・パックは、前記ビデオ・パック、オーディオ・パック、サブピクチャ・パックの再生制御情報を含むことを特徴とする請求項1乃至9何れか一項記載のデータ復号装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2006−86860(P2006−86860A)
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願番号】特願2004−270071(P2004−270071)
【出願日】平成16年9月16日(2004.9.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】