近年、DVD-ビデオと称される光ディスクを再生するプレイヤーが実用化され、一般的に普及してきている。DVD-ビデオには映画やカラオケなどのコンテンツがあり、メインピクチャ(主映像)とサブピクチャ(副映像)とが独立して圧縮されている。映画の字幕やカラオケの歌詞などが、サブピクチャとして圧縮されている。
ユーザが映画のあるシーンをもう一度見たり、カラオケのあるフレーズをもう一度聴いたりする場合に、逆方向の特殊再生を行なうことが想定される。その場合、逆方向の特殊再生から通常再生へ復帰する判断を、サブピクチャの表示から判断するのが一般的かと思われる。従って、逆方向の特殊再生時にサブピクチャを表示することが望まれてきている。
この技術分野において周知のように、MPEG(Moving Picture Experts Group)方式の画像圧縮技術においては、メインピクチャは、GOP(Group Of Pictures)という15枚程の映像データを一纏まりの処理単位として圧縮される。すなわち、メインピクチャの映像データは、上記GOP毎にエンコードされる。1つのGOPには、Iピクチャ(Intra-Picture:イントラ符号化画像)と、Pピクチャ(Predictive-Picture:予測符号化画像)と、Bピクチャ(Bidirectionally Predictive-Picture:双方向予測符号化画像)とがある。Iピクチャはそのフレーム内でのみ符号化される。静止画モードであるから符号化の開始やエントリポイントに使われる。Pピクチャは過去のIピクチャまたはPピクチャからの動き補償予測によって符号化される。Bピクチャは過去または未来のIピクチャまたはPピクチャを用いた動き補償予測を用いて符号化される。以下では、Iピクチャ、Pピクチャ、およびBピクチャを、それぞれ、I、P、およびBで簡略して示すこともある。
先行技術として、メインピクチャだけではなくサブピクチャをも逆方向再生、早送り再生、早戻し再生等の特殊再生を行うことができる「再生装置および再生方法」がある(例えば、特許文献1参照)。
図1を参照して、特許文献1に開示された再生装置について説明する。図示の再生装置は、光ディスク1に記録されているデータストリームを読み出す光ピックアップ2と、データストリームに16/8変換処理を施す復調回路3と、誤り訂正処理を行なうEECデコーダ4と、復調回路3からのデータストリームを一時記憶するEECメモリ5と、データストリームに対してスクランブル解除の処理を行なうデスクランブル回路6と、スクランブル解除されたデータストリームをメインピクチャデータ、サブピクチャデータ、オーディオデータに分けるデマルチプレクサ7とを備える。
光ピックアップ2と復調回路3とEECデコーダ4とEECメモリ5とデスクランブル回路6との組み合わせは、データストリームを読み出して、読み出されたデータストリームを出力する読出し手段として働く。
復調回路3は、光ピックアップ2から供給される16ビットのデータストリームを8ビットに変換して、この変換したデータストリームをECCデコーダ4に供給する。
ECCデコーダ4は、復調回路3からのデータストリームをECCメモリ5に一時記憶させ、所定のECCブロック毎に誤り訂正処理を施す。そして、ECCデコーダ4は、誤り訂正処理済みのデータストリームをECCメモリ5から読み出してデスクランブル回路6に供給する。
デスクランブル回路6は、例えばカラーバースト信号の反転等によってスクランブルされたデータストリームに対して所定のスクランブル解除の処理を施して、スクランブル解除済みのデータストリームをデマルチプレクサ7に供給する。
デマルチプレクサ7は、データストリームからメインピクチャデータ、サブピクチャデータ、オーディオデータを抽出する。なお、メインピクチャデータは、画面に主として表示される映像であるメインピクチャの映像データである。サブピクチャデータは、画面に表示される映画の字幕やカラオケの歌詞などであるサブピクチャの映像データである。尚、メインピクチャデータ、サブピクチャデータには、各々のデータの再生時間を示すPTS(Presentation Time Stamp:再現タイムスタンプ)情報も入っている。
詳述すると、デマルチプレクサ7は、データストリームのビデオパック(V_PCK)からメインピクチャデータを、サブピクチャパック(SP_PCK)からサブピクチャデータを、オーディオパック(A_PCK)からオーディオデータを抽出する。さらに、デマルチプレクサ7は、データストリームから後述するVOBU(Video Object Unit)のナビゲーションパック(以下、「ナビパック」や「Naviパック」とも記す)のサブピクチャアドレス情報(SP_SYNCA)(後述する)を抽出して、この抽出したサブピクチャアドレス情報(SP_SYNCA)を後述するコントローラ17へ供給する。
したがって、デマルチプレクサ7は、読み出されたデータストリーム中の処理対象となるメインピクチャを有するユニットからアドレス情報を抽出するアドレス抽出手段として動作する。
図示の再生装置は、メインピクチャデータをデコードするビデオデコーダ8と、デコードすべきメインピクチャデータを一時記憶するコードバッファ9と、ディスプレイメモリ10と、サブピクチャデータをデコードする副映像デコーダ11と、デコードすべきサブピクチャデータを一時記憶するコードバッファ12と、D/Aコンバータ(デジタル/アナログ変換器)13と、オーディオデータをデコードする音声デコーダ14と、デコードすべきオーディオデータを一時記憶するコードバッファ15と、D/Aコンバータ(デジタル/アナログ変換器)16と、各回路を制御するコントローラ17とを更に備える。矢印の18は、後述するサブピクチャアドレス情報SP_SYNCAのデータの流れを意味する。
ビデオデコーダ8は、デマルチプレクサ7から供給されるMPEG方式で圧縮されたメインピクチャデータを一旦コードバッファ9に記憶する。ビデオデコーダ8は、コントローラ17の制御に基づいてコードバッファ9から映像データを読み出し、この映像データをMPEGデコードして副映像デコーダ11に供給する。また、ビデオデコーダ8でデコード処理済みの映像データは、ディスプレイメモリ10を介して、図示していないディスプレイに供給される。
すなわち、ビデオデコーダ8とコードバッファ9との組み合わせは、メインピクチャを復号して、復号されたメインピクチャを出力する第1の復号手段として働く。
副映像デコーダ11は、デマルチプレクサ7から供給されるサブピクチャデータを一旦コードバッファ12に記憶する。副映像デコーダ11は、コントローラ17の制御に基づいてコードバッファ12からサブピクチャデータを読み出し、このサブピクチャデータをデコードする。そして、副映像デコーダ11は、メインピクチャデータとサブピクチャデータとを合成して、この合成した映像データをD/Aコンバータ13に供給する。D/Aコンバータ13は、映像データをアナログ化して、アナログ化した映像データをビデオ端子を介して出力する。
すなわち、副映像デコーダ11とコードバッファ12との組み合わせは、サブピクチャを復号して、復号されたサブピクチャを出力する第2の復号手段として働く。また、副映像デコーダ11は、復号されたメインピクチャと復号されたサブピクチャとを合成して、合成したピクチャを出力する出力手段としても働く。
音声デコーダ14は、デマルチプレクサ7から供給されるオーディオデータを一旦コードバッファ15に記憶させる。音声デコーダ14は、コントローラ17の制御に基づいてコードバッファ15からオーディオデータを読み出し、このオーディオデータをデコードする。D/Aコンバータ16は、音声デコーダ14から供給されるオーディオデータをアナログ化して、音声出力端子を介して出力する。
次に、図2、図3(a)を参照して、DVD-ビデオに記録されたデータストリームについて説明する。図2は従来技術の再生装置によって再生されるメインピクチャとサブピクチャのタイミングチャートである。図3(a)はデータストリームのビデオオブジェクトユニットVOBUの構成図である。
光ピックアップ2から読み出されるデータストリームは、図2に示されるように、ビデオオブジェクトユニットVOBU(Video Object Unit)単位で構成される。図2に示されたデータストリームは、第1乃至第3のビデオオブジェクトユニットVOBU1、VOBU2、VOBU3を有する。図2においては、第3のビデオオブジェクトユニットVOBU3のメインピクチャのピクチャタイプのみを記述し、第1のビデオオブジェクトユニットVOBU1と第2のビデオオブジェクトユニットVOBU2のメインピクチャのピクチャタイプの記述を省いてある。
ビデオオブジェクトユニットVOBUは、図3(a)に示されるように、MPEG(Moving Picture Experts Group)方式で圧縮されたメインピクチャデータからなるビデオパック(V_PAK)と、圧縮されたオーディオデータからなるオーディオパック(A_PCK)と、サブピクチャデータからなるサブピクチャパック(SP_PCK)と、これらのデータの管理情報であるナビゲーションパック(NV_PCK)とから構成される。
ナビパックは、ビデオパックのメインピクチャと同期しているサブピクチャとオーディオデータとのアドレス情報を示す同期情報(SYNCI: Synchronous Information)を有する。同期情報SYNCIは、メインピクチャと同期しているオーディオデータのアドレスを示すオーディオアドレス情報(A_SYNCA)と、メインピクチャと同期しているサブピクチャの属する最先のビデオオブジェクトユニットVOBUの先頭アドレスを示すサブピクチャアドレス情報(SP_SYNCA)とを有する。従って、同一のビデオオブジェクトユニットVOBUにおいて、ビデオパックに圧縮されたメインピクチャとサブピクチャパックに圧縮されたサブピクチャとは、デコード処理された後に常に同時に表示されるものではない。
図3(b)を参照して、サブピクチャユニットについて説明する。サブピクチャパックが所定数集まると、1つのサブピクチャユニット(SPユニット: Sub-Picture Unit)が構成される。図3(b)では、第1乃至第nのサブピクチャパックSP_PCK1〜SP_PCKnが集まって1つのサブピクチャユニットを構成している。
このSPユニットは、SPユニットのサイズ情報等からなるサブピクチャ・ユニット・ヘッダ(SPUH: Sub-Picture Unit Header)と、サブピクチャを構成する2ビットのピクセルデータ(PXD: Pixel Data)と、ディスプレイに表示されるサブピクチャを制御するサブピクチャ・ディスプレイ・コントロール・シーケンス・テーブル(SP_DCSQT: Sub-Picture Display Control Sequence Table)とで構成される。
サブピクチャ・ディスプレイ・コントロール・シーケンス・テーブルSP_DCSQTは、次に実行するサブピクチャ・ディスプレイ・コントロール・シーケンスSP_DCSQ(Sub-Picture Display Control Sequence)のアドレス情報であるサブピクチャ・ネクスト・ディスプレイ・コントロール・シーケンス・スタート・アドレス(SP_NXT_DCSQ_SA: Start Address of the next SP_DCSQ)と、PXDの色の設定や表示部分の範囲等を設定するサブピクチャ・ディスプレイ・コントロール・コマンド(SP_DCCMD: SP Display Control Commands)と、各SP_DCCMDの実行時間を示すサブピクチャ・ディスプレイ・コントロール・シーケンス・スタート・タイム(SP_DCSQ_STM: Start Time of SP_DCSQ)とから構成される。
図2に示したサブピクチャユニットデータ1は、第1のビデオオブジェクトユニットVOBU1と第2のビデオオブジェクトユニットVOBU2のサブピクチャパックから構成されたことを意味する。また、説明の便宜上、ビデオオブジェクトユニットVOBUは1つのGOP(Group Of Picture)で構成され、このGOPは6枚の映像からなるものとする。例えば、第3のビデオオブジェクトユニットVOBU3のデータストリームがデコードされるとする。この場合、メインピクチャB30,B31,I32,B33,B34,P35が表示され、サブピクチャSPユニットデータ1が表示される。第3のビデオオブジェクトユニットVOBU3のナビパックにあるサブピクチャアドレス情報SP_SYNCAは、第1のビデオオブジェクトユニットVOBU1の先頭アドレスを指している。これは、SPユニットデータ1の最先は、第1のビデオオブジェクトユニットVOBU1にあるからである。
図4を参照して、再生装置のコントローラの動作について説明する。最初に、第3のビデオオブジェクトユニットVOBU3の映像P35を再生する場合の動作について説明する。映像P35の再生を開始すると、ステップS1に進み、コントローラ17は、光ピックアップ2をビデオオブジェクトユニットVOBUの先頭にトラックジャンプさせて、ステップ2に進む。ここでは、コントローラ17は、光ピックアップ2を第3のビデオオブジェクトユニットVOBU3の先頭にトラックジャンプさせる。
ステップS2において、コントローラ17は、表示すべき映像が直前に処理した映像と同じビデオオブジェクトユニットVOBUにあるか否かを判断する。同じビデオオブジェクトユニットVOBUにあるときは、ステップS2からステップS6に進む。同じビデオオブジェクトユニットVOBUにないときはステップS2からステップS3に進む。ここでは、映像P35の直前の映像は再生されていなかったので、ステップS2からステップS3に進む。
ステップS3において、コントローラ17は、ステップS1でトラックジャンプしたビデオオブジェクトユニットVOBUのナビパックのサブピクチャアドレス情報SP_SYNCAを読み出すように光ピックアップ2を制御する。これにより、サブピクチャアドレス情報SP_SYNCAは、復調回路3、ECCデコーダ4等を介してデマルチプレクサ7に供給される。コントローラ17は、サブピクチャアドレス情報SP_SYNCAをデマルチプレクサ7を介して取得すると、サブピクチャアドレス情報SP_SYNCAに示されているビデオオブジェクトユニットVOBUの先頭アドレスにトラックジャンプするように、光ピックアップ2を制御する。ここでは、光ピックアップ2は第1のビデオオブジェクトユニットVOBU1にトラックジャンプする。ステップS3からステップS4に進む。
ステップS4において、コントローラ17は、トラックジャンプしたビデオオブジェクトユニットVOBUの先頭から通常の再生方向へデータストリームを読み出すように光ピックアップ2を制御する。そして、コントローラ7は、読み出されたデータストリームからサブピクチャデータのみを得る。ステップS4からステップS5に進む。
ステップS5において、コントローラ17は、表示すべきメインピクチャのあるビデオオブジェクトユニットVOBUの手前までデータストリームを読み出したか否かを判断する。読み出していないときは、ステップS5からステップS4に戻る。読み出したときは、ステップS5からステップS6に進む。ここでは、コントローラ17は、表示すべきメインピクチャのある第3のビデオオブジェクトユニットVOBU3の手前にある第1のビデオオブジェクトユニットVOBU1および第2のビデオオブジェクトユニットVOBU2のデータストリームを全部読み出したか否かを判断する。ステップS4およびステップS5を繰り返すことにより、SPユニットデータ1のサブピクチャデータを全部取得することができる。
ステップS6において、コントローラ17は、表示すべきメインピクチャのあるビデオオブジェクトユニットVOBUのデータストリームを全て読み出すように光ピックアップ2を制御する。ここでは、コントローラ17は、第3のビデオオブジェクトユニットVOBU3のデータストリームを全部読み出すように光ピックアップ2を制御する。デマルチプレクサ7は、メインピクチャデータをビデオデコーダ8に、SPユニットデータ1のサブピクチャデータを副映像デコーダ11に供給する。そして、副映像デコーダ11のコードバッファ12には、SPユニットデータ1が記憶される。ステップS6からステップS7に進む。
ステップS7において、コントローラ17は、通常の再生方法に対して最前にあるサブピクチャのサブピクチャデータのデコードを開始し、表示すべきメインピクチャのPTS時刻までのディスプレイ・コントロール・シーケンスDCSQを実行するように副映像デコーダ11を制御する。ここでは、コントローラ17は、映像P35のPTSと同じ、またはそれよりも小さいPTSを有する複数のSPユニットの中で最も大きい値のPTSを有するものとして、SPユニットデータ1を選択する。コントローラ17は、SPユニットデータ1のサブピクチャデータをデコードさせて、映像P35のPTSまでの第0のサブピクチャ・ディスプレイ・コントロール・シーケンス・スタート・タイムSP_DCSQ_STM0を副映像デコーダ11に実行させる。なお、後述のステップS9の処理以外ではサブピクチャの表示は行なわない。ステップS7からステップS8に進む。
ステップS8において、コントローラ17は、表示すべきメインピクチャのメインピクチャデータをビデオデコーダ8でデコードさせる。このとき、コントローラ17は、表示すべき映像および選択されたSPユニットのデコードおよびディスプレイ・コントロール・シーケンス・スタート・タイムDCSQ_STMの実行が同時に終了するように制御する。ここでは、ビデオデコーダ8は、第3のビデオオブジェクトユニットVOBU3のIピクチャである映像I32とPピクチャである映像P35のみをデコードする。なお、ビデオデコーダ8は、映像P35をデコードするために必要でないものは、デコードしない。つまり、映像B30,B31,B33,B34はデコードされない。ステップS8からステップS9に進む。
ステップS9において、コントローラ17は、副映像デコーダ11からのサブピクチャデータとビデオデコーダ8からのメインピクチャデータとを合成して、合成したピクチャデータを出力する。これにより、図示しないディスプレイの表示画面は、表示すべきメインピクチャに切り換わり、選択されたSPユニットのサブピクチャに切り換わる。ここでは、メインピクチャは映像P35に切り換わり、サブピクチャはSPユニット3に切り換わる。ステップS9からステップS10に進む。
ステップS10において、コントローラ17は、コードバッファ9に記憶されているメインピクチャデータをクリアし、次に処理すべき映像の処理に切り換わる。ステップS10からステップS1に戻る。
次に、映像B34を再生する場合の動作について説明する。コードバッファ9に記憶されているメインピクチャデータをクリアにして映像B34の再生を開始すると、処理はステップS1に進む。ステップS1において、コントローラ17は、光ピックアップ2を第3のビデオオブジェクトユニットVOBU3の先頭にトラックジャンプさせる。ステップS1からステップS2に進む。
ステップS2において、コントローラ17は、映像B34がこの直前の映像P35と同じ第3のビデオオブジェクトユニットVOBU3にあるか否かを判断する。この場合、同じ第3のビデオオブジェクトユニットVOBU3にあるので、ステップS3からステップS6に進む。すなわち、映像B34は、映像P35と同じビデオオブジェクトユニットVOBUであるため、サブピクチャアドレス情報SP_SYNCAを取得する必要はない。
ステップS6において、コントローラ17は、映像B34のあるビデオオブジェクトユニットVOBUのデータストリームを全て読み出すように光ピックアップ2を制御する。このとき、デマルチプレクサ7は、光ピックアップ2から変調回路3等を介して供給されるデータストリームからメインピクチャデータのみを抽出し、この映像データをビデオデコーダ8に供給する。ビデオデコーダ8は、映像データをコードバッファ9に記憶させる。ステップS6からステップS7に進む。
ステップS7において、コントローラ17は、映像B34のPTSと同じPTSを有するSPユニットデータ1を選択し、SPユニットデータ1のサブピクチャデータをデコードさせて、映像B34のPTSまでの第0のサブピクチャ・ディスプレイ・コントロール・シーケンス・スタート・タイムSP_DCSQ_STM0を副映像デコーダ11に実行させる。
ステップS8において、コントローラ17は、コードバッファ9から映像データを読み出して、ビデオデコーダ8に映像I32、映像P35、映像B33、映像B34をデコードさせる。このとき、コントローラ17は、映像B34および選択されたSPユニットデータ1のデコードおよび第0のディスプレイ・コントロール・シーケンス・スタート・タイムDCSQ_STM0の実行が同時に終了するように制御する。ステップS8からステップS9に進む。
ステップS9において、コントローラ17は、副映像デコーダ11のSPユニットデータ1とビデオデコーダ8からの映像B34とを合成して、合成した映像を出力する。して、ステップS9からステップS10に進む。これにより、メインピクチャは映像B34にきり換わり、サブピクチャは第0のディスプレイ・コントロール・シーケンス・スタート・タイムDCSQ_STM0まで実行したSPユニットデータ1に切り換わる。ステップS9からステップS10に進む。
ステップS10において、コントローラ17は、コードバッファ9に記憶されているメインピクチャデータをクリアし、次に処理すべき映像の処理に切り換わる。ステップS10からステップS1に戻る。
以上のように、再生すべきメインピクチャデータがあるビデオオブジェクトユニットVOBUのナビパックからサブピクチャデータの位置が示されているサブピクチャアドレス情報SP_SYNCAを抽出し、サブピクチャデータを読み出し、さらに、メインピクチャデータとサブピクチャデータのデコードタイミングを調整することによって、メインピクチャおよびサブピクチャを共に表示することができる。
他の先行技術として、特殊再生時においてもサブピクチャの表示を安定化し、主映像とサブピクチャとの同期を安定させるようにした「デコード処理方法及び装置」がある(例えば、特許文献2参照)。この特許文献2には、ナビゲーションパック(NV_PCK)についての詳しい記述がある。以下、特許文献2の記載に基づいて、ナビゲーションパック(NV_PCK)について説明する。
ナビゲーションパック(NV_PCK)は、主として所属するビデオオブジェクトユニット内のデータの再生表示制御を行うための制御データ及びビデオオブジェクトユニットのデータサーチを行うための制御データとして用いられる。
図5には、ナビゲーションパック(NV_PCK)を取り出して示している。
NV_PCKは、基本的には表示画像を制御するためのピクチャコントロールインフォメーション(PCI)パケットと、同じビデオオブジェクト内に存在するデータサーチインフォメーション(DSI)パケットとを有する。各パケットにはパケットヘッダとサブストリームIDが記述され、その後にそれぞれデータが記述されている。各パケットヘッダにはストリームIDが記述され、NV_PCKであることを示し、サブストリームIDは、PCI、DSIの識別を行っている。また各パケットヘッダには、パケットスタートコード、ストリームID、パケット長が記述され、続いて各データが記述されている。
PCIパケットは、このパケットが属するビデオオブジェクトユニット(VOBU)内のビデオデータの再生に同期して、表示内容を変更するためのナビゲーションデータである。
PCIパケットには、一般情報であるPCIジェネラルインフォメーション(PCI_GI)と、ノンシームレスアングルインフォメーション(NSML_ANGLI)と、記録情報であるレコーディングインフォメーション(RECI)とが記述されている。
図6には再生制御一般情報(PCI_GI)を示している。
PCI_GIには、このPCIの一般的な情報であり以下のような情報を記述されている。すなわち、PCI_GIは、このナビゲーションパックのアドレスである論理ブロックナンバー(VN_PCK_LBN)、このPCIで管理されるビデオオブジェクトユニット(VOBU)の属性を示すビデオオブジェクトユニットカテゴリー(VOBU_CAT)、このPCIで管理されるビデオオブジェクトユニットの表示期間におけるユーザの操作禁止情報等を示すユーザオペレーションコントロール(VOBU_UOP_CTL)、ビデオオブジェクトユニットの表示の開始時間を示す(VOBU_S_PTM)、およびビデオオブジェクトユニットの表示の終了時間を示す(VOBU_E_PTM)を含む。VOBU_S_PTMによって指定される最初の映像は、MPEGの規格におけるIピクチャである。さらにまた、PCI_GIには、ビデオオブジェクトユニットの最後のビデオの表示時間を示すビデオオブジェクト シーケンス エンド プレゼンテーションタイム(VOBU_SE_EPTM)や、セル内の最初のビデオフレームからの相対表示経過時間を示すセル エラプス タイム(C_EPTM)等も記述されている。
また、PCI内に記述されている、NSML_ANGLIは、アングルチェンジがあったときの目的地(行き先)のアドレスを示している。つまり、ビデオオブジェクトは、異なる角度から撮像した映像をも有する。そして、現在表示しているアングルとは異なるアングルの映像を表示させるためにユーザからの指定があったときは、次に再生を行うために移行するVOBUのアドレスが記述されている。
HLIは、画面内で特定の領域を矩形状に指定し、この領域の輝度やここに表示されるサブピクチャのカラー等を可変するための情報である。この情報には、ハイライトジェネレーションインフォメーション(HL_GI)、ユーザにカラー選択のためにボタン選択を行わせるためのボタンカラーインフォメーションテーブル(BTN_COLIT)、また選択ボタンのためのボタンインフォメーションテーブル(BTNIT)が記述されている。
RECIは、このビデオオブジェクトユニットに記録されているビデオ、オーディオ、サブピクチャの情報であり、それぞれがデコードされるデータがどのようなものであるかを記述している。例えば、その中には国コード、著作権者コード、記録年月日等がある。
DSIパケットは、ビデオオブジェクトユニットのサーチを実行させるためのナビゲーションデータである。
DSIパケットには、一般情報であるDSIジェネラルインフォメーション(DSI_GI)と、シームレスプレイバックインフォメーション(SML_PBI)と、シームレスアングルインフォメーション(SML_AGLI)と、ビデオオブジェクトユニットサーチインフォメーション(VOBU_SRI)と、同期情報(SYNCI)とが記述されている。
図7に示すようにDSI_GIには、次のような情報が記述されている。
すなわち、DSI_GIには、NV_PCKのデコード開始基準時間を示すシステムクロックリファレンスであるNV_PCK_SCR、NV_PCKの論理アドレスを示す(NV_PCK_LBN)、このNV_PCKが属するビデオオブジェクトユニットの終了アドレスを示す(VOBU_EA)が記述されている。さらにまた、DSI_GIには、最初にデコードするための第1の基準ピクチャ(Iピクチャ)の終了アドレス(VOBU_1STREF_EA)、最初にデコードするための第2の基準ピクチャ(Pピクチャ)の終了アドレス(VOBU_2NDREF_EA)、最初にデコードするための第3の基準ピクチャ(Pピクチャ)の終了アドレス(VOBU_3RDREF_EA)が記述されている。さらにまた、DSI_GIには、このDSIが属するVOBのID番号(VOBU_VOB_IDN)、またこのDSIが属するセルのID番号(VOBU_C_IDN)、セル内の最初のビデオフレームからの相対経過時間を示すセル エラプス タイム(C_ELTM)も記述されている。
特開平11−8833号公報
特開平11−149717号公報
図8を参照して、本発明の第1の実施の形態に係る再生装置について説明する。基本的な構成は従来技術の再生装置と同じであり、サブピクチャデータのデコード結果を保持しておくコードバッファのサイズを追加したことが、従来と異なる点である。ここでは、第1のコードバッファ12−Aと第2のコードバッファ12−Bと記述している。再生装置の個々のブロックの説明は、従来技術と同じであるので省略する。尚、以下において、第1のコードバッファ12−AをコードバッファA又は単にバッファAと呼び(表示し)、第2のコードバッファ12−BをコードバッファB又は単にバッファBと呼ぶ(表示する)場合もある。
本発明のDVD再生方法は、図9のビデオオブジェクトユニットVOBU処理、図12の特殊再生処理で構成される。
図9を参照すると、ビデオオブジェクトユニットVOBU処理は、ビデオ、オーディオ、サブピクチャ、ナビゲーションパックのデータを入力する処理(ステップS11)と、Naviパックに含まれる基準時刻(NV_PCK_SCR)を記憶する処理(ステップS12)と、Naviパックからサブピクチャアドレス情報SP_SYNCAを抽出する処理(ステップS13)と、メインピクチャと対応したサブピクチャユニットが存在するか否かを判断する処理(ステップS14)と、直前のサブピクチャアドレス情報SP_SYNCAと同じであるか否かを判断する処理(ステップS15)と、デコードされたサブピクチャユニットをコードバッファに記憶する処理(ステップS16)と、ビデオオブジェクトユニットVOBU毎に管理データを作成する処理(ステップS17)と、次のビデオオブジェクトユニットVOBUのNaviパックに含まれる基準時刻(NV_PCK_SCR)を抽出する処理(ステップS18)と、基準時刻から一定期間経過したか否かを判断する処理(ステップS19)とで構成される。
図12を参照すると、特殊再生処理は、ビデオオブジェクトユニットVOBUの先頭へトラックジャンプする処理(ステップS20)と、ビデオとナビゲーションパックを入力する処理(ステップS21)と、表示するビデオに該当する管理データを選択する処理(ステップS22)と、表示するビデオのPTSまでのディスプレイ・コントロール・シーケンスDCSQを実行する処理(ステップS23)と、表示するビデオまでデコードする処理(ステップS24)と、ビデオの表示を切り替え、SPUコードバッファからデコードされたデータを読み出し、サブピクチャを表示する処理(ステップS25)と、表示するビデオのPTSが基準時刻まで達したか否かを判断する処理(ステップS26)と、もう一方の基準時刻を使用し、ある期間のサブピクチャのみ入力する処理(ステップS27)とで構成される。
図2、図9、図10、図11、図12を参照して、本発明に係る再生装置のコントローラの動作について説明する。以下では、従来技術の説明と同じく図2で示されたデータストリームを用いて説明する。
図9のビデオオブジェクトユニットVOBU処理は、順方向の通常再生を行なっているときの処理である。
ステップS11において、通常再生が開始されると、コントローラ17は、図2で示されたデータストリーム(ビデオ(メインピクチャ)、オーディオ、サブピクチャ、ナビパックデータ)をデマルチプレクサ7へ入力させる。
ステップS12において、コントローラ17は、ナビパックに含まれている第1の基準時刻(NV_PCK_SCR)を第1のコードバッファ12−Aに記憶する。
ステップS13において、コントローラ17は、ナビパック内のサブピクチャアドレス情報SP_SYNCAを読み出すように、光ピックアップ2を制御する。これにより、サブピクチャアドレス情報SP_SYNCAは、復調回路3、ECCデコーダ4等を介して、デマルチプレクサ7に供給され、抽出される。ここでは、第1のビデオオブジェクトユニットVOBU1のナビパックに含まれているサブピクチャアドレス情報SP_SYNCAが抽出されたことになる。
ステップS14において、コントローラ17は、ステップS13で抽出された第1のビデオオブジェクトユニットVOBU1のサブピクチャアドレス情報SP_SYNCAから第1のビデオオブジェクトユニットVOBU1に対応するサブピクチャユニットが存在するか否かを判断する。ここでは、存在しないと判断されるので、ステップS14からステップS18に進む。
ステップS18において、コントローラ17は、次のビデオオブジェクトユニットVOBUのナビパックに含まれる第2の基準時刻(NV_PCK_SCR)を抽出する。ここでは、第2のビデオオブジェクトユニットVOBU2のナビパックから第2の基準時刻を抽出されることになる。
ステップS19において、コントローラ17は、第1および第2の基準時刻を用いて一定期間経過したか否かを判断する。ここでは、コントローラ17は、ステップS12で記憶された第1のビデオオブジェクトユニットVOBU1のナビパックに含まれていた第1の基準時刻を第1のコードバッファ12−Aから読み出し、ステップS18で抽出された第2のビデオオブジェクトユニットVOBU2のナビパックに含まれていた第2の基準時刻を使用して、一定期間経過したか否かを判断することになる。
例として、一定期間を1分とした場合で説明する。第1のビデオオブジェクトユニットVOBU1の第1の基準時間と第2のビデオオブジェクトユニットVOBU2の第2の基準時刻の差分は1分を経過していないので、ステップS19からステップS13に進む。ここでのステップS13では、コントローラ17は、第2のビデオオブジェクトユニットVOBU2のナビパックに含まれるサブピクチャアドレス情報SP_SYNCAを抽出する。
ステップS14において、コントローラ17は、ステップS13で抽出された第2のビデオオブジェクトユニットVOBU2のサブピクチャアドレス情報SP_SYNCAから第2のビデオオブジェクトユニットVOBU2に対応するサブピクチャユニットが存在するか否かを判断する。ここでは、図2で示したとおり、第2のビデオオブジェクトユニットVOBU2の最後の2ピクチャ分の期間がサブピクチャユニットデータ1と関連付けられたストリームなので、コントローラ17は存在すると判断することになる。
ステップS15において、コントローラ17は、抽出されたサブピクチャアドレス情報SP_SYNCAが直前のサブピクチャアドレス情報SP_SYNCAと同じであるか否かを判断する。ここでは、コントローラ17は、第1のビデオオブジェクトユニットVOBU1のサブピクチャアドレス情報SP_SYNCAと第2のビデオオブジェクトユニットVOBU2のサブピクチャアドレス情報SP_SYNCAとが同じであるかを判断することになる。ここは、同じでないので、ステップS15からステップS16へ進む。
ステップS16において、コントローラ17は、サブピクチャユニットデータ1が副映像デコーダ11でデコードされた結果を第1のコードバッファ12−Aに記憶する。ステップS17において、コントローラ17は、サブピクチャと関連づいているビデオオブジェクトユニットVOBU毎に、管理データを作成する。管理データの役割は、特殊再生時に管理データを参照して、第1のコードバッファ12−Aもしくは第2のコードバッファ12−Bに記憶されているサブピクチャデコード結果のデータをどのアドレスから読み出せばよいのかを判断するためのものである。
ここで、図11を参照して、管理データの構成について説明する。管理データは、ビデオオブジェクトユニットVOBUのサブピクチャアドレス情報SP_SYNCAと、サブピクチャユニットデータのデコード後の先頭アドレスと、サブピクチャユニットデータに含まれているサブピクチャ・ディスプレイ・コントロール・シーケンス・テーブルSP_DCSQTとで構成される。
図9に戻って、ステップS17において、コントローラ17は、ステップS13で抽出されたサブピクチャアドレス情報SP_SYNCAと、ステップS16で記憶されたデコード後のサブピクチャユニットの先頭アドレスと、サブピクチャユニットのサブピクチャ・ディスプレイ・コントロール・シーケンス・テーブルSP_DCSQTとを関連付けて管理データを作成し、ステップS17からステップS18へ進む。
ステップS18において、コントローラ17は、次のビデオオブジェクトユニットVOBUのナビパックに含まれる第2の基準時刻(NV_PCK_SCR)を抽出する。ここでは、コントローラ17は、第3のビデオオブジェクトユニットVOBU3に含まれる基準時刻(NV_PCK_SCR)を抽出する。
ステップS19において、コントローラ17は、第1および第2の基準時刻を用いて一定期間経過したか否かを判断する。ここでは、コントローラ17は、ステップS12で記憶された第1のビデオオブジェクトユニットVOBU1のナビパックに含まれていた第1の基準時刻を第1のコードバッファ12−Aから読み出し、ステップS18で抽出された第3のビデオオブジェクトユニットVOBU3のナビパックに含まれていた第2の基準時刻(NV_PCK_SCR)を使用して、一定期間経過したか否かを判断することになる。一定期間を1分としているので、判断はNoとなり、ステップS19からステップS13へ進む。ここでのステップS13では、コントローラ17は、第3のビデオオブジェクトユニットVOBU3のナビパックに含まれるサブピクチャアドレス情報SP_SYNCAを抽出する。
ステップS14において、コントローラ17は、ステップS13で抽出された第3のビデオオブジェクトユニットVOBU3のサブピクチャアドレス情報SP_SYNCAから第3のビデオオブジェクトユニットVOBU3に対応するサブピクチャユニットが存在するか否かを判断する。図2で示したとおり、第3のビデオオブジェクトユニットVOBU3はサブピクチャユニットデータ1と関連付けられたストリームなので、コントローラ17は、存在すると判断することになる。
ステップS15において、コントローラ17は、抽出されたサブピクチャアドレス情報SP_SYNCAが直前のサブピクチャアドレス情報SP_SYNCAと同じであるか否かを判断する。ここでは、コントローラ17は、第2のビデオオブジェクトユニットVOBU2のサブピクチャアドレス情報SP_SYNCAと第3のビデオオブジェクトユニットVOBU3のサブピクチャアドレス情報SP_SYNCAとが同じであるか否かを判断することになる。図2で示されているデータストリームの場合、第2のビデオオブジェクトユニットVOBU2と第3のビデオオブジェクトユニットVOBU3とは、サブピクチャユニットデータ1と関連付いているので、ここの判断は同じであり、ステップS15からステップS17に進む。
ステップS17において、コントローラ17は、サブピクチャと関連づいているビデオオブジェクトユニットVOBU毎に、管理データを作成する。コントローラ17は、ステップS13で抽出されたサブピクチャアドレス情報SP_SYNCAと、ステップS16で記憶されたデコード後のサブピクチャユニットの先頭アドレスと、サブピクチャユニットのSP_DCSQTとを関連付けて管理データを作成する。ステップS17からステップS18へ進む。
ステップS18において、コントローラ17は、次のビデオオブジェクトユニットVOBUのナビパックに含まれる第2の基準時刻を抽出する。ここでは、コントローラ17は、第4のビデオオブジェクトユニットVOBU4に含まれる第2の基準時刻(NV_PCK_SCR)を抽出する。ステップS19において、コントローラ17は、第1および第2の基準時刻を用いて一定期間経過したか否かを判断する。ここでは、コントローラ17は、ステップS12で記憶された第1のビデオオブジェクトユニットVOBU1のナビパックに含まれていた第1の基準時刻を第1のコードバッファ12−Aから読み出し、ステップS18で抽出された第4のビデオオブジェクトユニットVOBU4のナビパックに含まれていた第2の基準時刻(NV_PCK_SCR)を使用して、一定期間経過したかを判断することになる。一定期間を1分としているので、判断はNoとなり、ステップS19からステップS13へ進む。
以上のような処理を順方向の通常再生時に行う。図10に示される、副映像デコーダのコードバッファのイメージ図のように、第1のコードバッファ12−A(コードバッファA)と第2のコードバッファ12−B(コードバッファB)には、基準時刻とデコード後のサブピクチャユニットデータとが記憶されている。ある一定期間を境に交互に、デコード後のサブピクチャユニットデータを記憶するコードバッファを切り替えることを行う。
次に、図12の特殊再生処理について説明する。ここでは、図10に示された「特殊再生開始」というタイミングで、通常再生から特殊再生へ切り替わったものとして説明する。
ステップS20において、コントローラ17は、表示するビデオ(メインピクチャ)のビデオオブジェクトユニットVOBUの先頭へ光ピックアップ2をトラックジャンプする。ステップS21において、コントローラ17は、トラックジャンプした位置からビデオデータとナビパックデータをデマルチプレクサ7へ供給する。ステップS22において、コントローラ17は、ナビパックに含まれるサブピクチャアドレス情報SP_SYNCAを抽出して、サブピクチャアドレス情報SP_SYNCAを使用して表示するビデオ(メインピクチャ)に該当する管理データを選択する。
ステップS23とステップS24は、それぞれ、図4に示した従来技術のステップS7とステップS8と同じなので説明を省略する。
ステップS25において、コントローラ17は、ビデオ(メインピクチャ)の表示を切り替え、選択した管理データにより特定されるサブピクチャコードバッファからデコード後のサブピクチャユニットデータを読み出し、サブピクチャを表示する。ここでは、コントローラ17は、第2のコードバッファ12−Bからデコード後のサブピクチャユニットデータを読み出すことになる。
ステップS26において、コントローラ17は、表示するビデオ(メインピクチャ)のPTSが第1の基準時刻まで達したか否かを判断する。ここでは、第2のコードバッファ12−Bに記憶された第1の基準時刻であり、図10の時刻T3となり、コントローラ17は、表示するビデオ(メインピクチャ)のPTSと第1の基準時刻T3とを比較する。達していない場合はステップS26からステップS22に戻る。達していた場合はステップS26からステップS27に進む。第2のコードバッファ12−Bに記憶されているサブピクチャユニットデータの表示が終わるまで、コントローラ17は、ステップS22〜S26まで繰り返す。第2のコードバッファ12−Bのサブピクチャユニットデータの表示が終わると、ステップS27において、コントローラ17は、第2の基準時刻を使用し、ある期間のサブピクチャのみ入力する。ここでは、コントローラ17は、第1のコードバッファ12−Aの基準時刻T2からある一定期間の時間(1分)を引いたところの時刻T1からサブピクチャのみを入力することになる。
次に、ステップS20に戻り、コントローラ17は、時刻T3の直前のビデオから特殊再生を行なうことになる。コントローラ17は、表示するビデオ(メインピクチャ)のビデオオブジェクトユニットVOBUの先頭へトラックジャンプする。ステップS21において、コントローラ17は、トラックジャンプした位置からビデオデータとナビパックデータをデマルチプレクサ7へ供給する。以上の処理を繰り返すことにより、特殊再生期間中のメインピクチャとサブピクチャの表示を行なうことができる。新しく入力されたサブピクチャのデコードは、ステップS21のビデオ(メインピクチャ)とナビパックをデマルチプレクサ7へ供給している期間にデコードしておく。
次に、公知技術の問題点が解決される理由について説明する。図4の従来技術におけるコントローラの処理と、図12の本発明に係るコントローラの処理とを比較すると、ステップS3,S4,S5で行なわれていたサブピクチャのみをデマルチプレクサへ供給するという処理を、本発明ではステップS22に変わったことが主な解決されている理由である。表示するビデオ(メインピクチャ)と、予め第1のコードバッファ12−Aと第2のコードバッファ12−Bに記憶されたデコード後のサブピクチャユニットデータを選択するために、通常再生時に作成された管理データを用いることで可能としている。
次に、図13を参照して、本発明の第2の実施の形態に係る再生装置の逆スロー再生の動作について説明する。再生装置の構成は、前述した第1の実施の形態と同じであるため省略する。
逆スロー再生処理は、ビデオオブジェクトユニットVOBUの先頭へトラックジャンプする処理(ステップS28)と、ビデオ(メインピクチャ)とナビゲーションパックを入力する処理(ステップS29)と、表示するビデオ(メインピクチャ)に該当する管理データを選択する処理(ステップS30)と、表示するビデオ(メインピクチャ)のPTSまでディスプレイ・コントロール・シーケンスDCSQを実行する処理(ステップS31)と、表示するビデオ(メインピクチャ)までデコードする処理(ステップS32)と、ビデオ(メインピクチャ)の表示を切り替え、選択した管理データによって特定されたSPUコードバッファからデコードされたデータを読み出し、サブピクチャを表示する処理(ステップS33)と、同じビデオ(メインピクチャ)を表示するその間に、次のサブピクチャをデコードする処理(ステップS34)とで構成される。
次に、図13、図15、図16を参照して、本発明の第2の実施の形態に係る再生装置の逆スロー再生の動作について詳細に説明する。図15は通常再生時のメインピクチャとサブピクチャのタイミングチャートを表している。図16は、各々のピクチャを1枚リピートしたときのメインピクチャとサブピクチャのタイミングチャートを表している。
ここでは、例として、第12のビデオオブジェクトユニットVOBU12のビデオP25の表示時に逆方向のスロー再生処理が開始されたとする。コントローラ17は、ビデオP25が含まれるビデオオブジェクトユニットVOBUの先頭へ光ピックアップ2をトラックジャンプする。
ステップS29〜S33までは、それぞれ、図12に図示した第1の実施の形態におけるステップS21〜S25までと同じなので説明を省略する。
ステップS34について、コントローラ17は、同じビデオ(メインピクチャ)を表示するその間に、次のサブピクチャをデコードする。ここでは、コントローラ17は、光ピックアップ2を一つ前のビデオオブジェクトユニットVOBUである第11のビデオオブジェクトユニットVOBU11へトラックジャンプし、第11のビデオオブジェクトユニットVOBU11のナビパックからサブピクチャアドレス情報SP_SYNCAを抽出し、サブピクチャユニットデータ11が含まれているビデオオブジェクトユニットVOBUの先頭へトラックジャンプし、サブピクチャユニットデータ11をデコードする。
次に、図14を参照して、本発明の第3の実施の形態に係る再生装置の逆スキップ再生の動作について説明する。再生装置の構成は前述した第1の実施の形態と同じであるため省略する。
逆スキップ再生処理は、ビデオオブジェクトユニットVOBUの先頭へトラックジャンプする処理(ステップS35)と、ビデオ(メインピクチャ)とナビゲーションパックを入力する処理(ステップS36)と、表示するビデオ(メインピクチャ)に該当する管理データを選択する処理(ステップS37)と、表示されないサブピクチャデータがあるかを判断する処理(ステップS38)と、該当するサブピクチャユニットデータを破棄する処理(ステップS39)と、表示するビデオ(メインピクチャ)のPTSまでディスプレイ・コントロール・シーケンスDCSQを実行する処理(ステップS40)と、表示するビデオ(メインピクチャ)までデコードする処理(ステップS41)と、ビデオ(メインピクチャ)の表示を切り替え、選択した管理データによって特定されるSPUコードバッファからデコードされたデータを読み出し、サブピクチャを表示する処理(ステップS42)とで構成される。
図14を参照して、本発明の第3の実施の形態に係る再生装置の逆スキップ再生の動作について詳細に説明する。逆スキップ再生が開始されると、ステップS35が処理される。
ステップS35〜S37は、それぞれ、図12を参照して前述した第1の実施の形態のステップS20〜S22と同じであるため説明を省略する。
ステップS38において、コントローラ17は、表示されないサブピクチャデータがあるか否かを判断する。ここでは、コントローラ17は、ステップS37で選択された管理データと、表示に使用されていない管理データがあるか否かを判断することで、表示されないサブピクチャデータがあるか否かを判断することができる。表示されないサブピクチャがある場合は、ステップS38からステップS39に進む。表示されないサブピクチャがない場合は、ステップS38からステップS40へ進む。
ステップS40〜S42は、それぞれ、図12を参照して前述した第1の実施の形態のステップS23〜S25と同じであるため説明を省略する。
このように本発明による再生装置によれば、逆方向の特殊再生時のビデオの更新を、従来よりも早く行える。
尚、本発明は、上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲内で種々の変更が可能なのはいうまでもない。