(57)【要約】【課題】  シームレス再生が保障されていない不連続ストリームを再生する際に、映像音声の再生停止期間をできる限り短くし、不連続ストリームを擬似的にシームレスに再生する。【解決手段】  ストリーム分離部１０７は、メディア１００から読出されたＭＰＥＧストリームの途中で、先行ＶＯＢＵと後続ＶＯＢＵ間の時間情報の不連続を検出した場合、各エレメンタリバッファ１２４、１２８、１３１に格納された前記先行ＶＯＢＵの各エレメンタリデコーダ１２３、１２７、１２９による再生が全て終了するまで、前記エレメンタリバッファへのデータ書込みを停止する（ＳＴ７０３、ＳＴ７０４）。前記先行ＶＯＢＵの再生が終了すると、ストリーム分離部１０７はシステムの時計ＳＴＣの値を変更する（ＳＴ７０５）と共に、前記各エレメンタリバッファへの前記後続ＶＯＢＵ以降のデータ書込みを再開する。【選択図】    図１７  
2005167420.tif 000002
【特許請求の範囲】
【請求項１】
メディアから読み出されたＭＰＥＧストリームから、ビデオストリーム及びオーディオストリームを分離するストリーム分離手段と、
前記ストリーム分離手段により分離された前記ビデオストリームを格納する第１格納部と、
前記ストリーム分離手段により分離された前記オーディオストリームを格納する第２格納部と、
動作の参照時間を提供する時計手段と、
前記第１格納部に格納されたビデオストリームを読出し、前記時計手段の値に基づいて前記ビデオストリームをデコードして再生するビデオデコーダと、
前記第２格納部に格納されたオーディオストリームを読出し、前記時計手段の値に基づいて前記オーディオストリームをデコードして再生するオーディオデコーダとを具備し、
前記ストリーム分離手段は、前記読出されたＭＰＥＧストリームの途中で、先行ＶＯＢＵ（ｖｉｄｅｏ ｏｂｇｊｅｃｔ ｕｎｉｔ）と後続ＶＯＢＵ間の時間情報の連続性を判定する判定手段と、
前記判定手段により前記時間情報の不連続を検出した場合、前記第１及び第２格納部に格納された前記先行ＶＯＢＵの前記ビデオデコーダ及びオーディオでコーダによる再生が終了するまで、前記第１及び第２格納部へのデータ書込みを停止する停止手段と、
前記時計手段の値を変更する変更手段と、
前記先行ＶＯＢＵの再生が終了すると、前記第１及び第２格納部へ前記後続ＶＯＢＵ以降のデータ書込みを再開する再開手段と、
を具備することを特徴とする映像音声再生装置。
【請求項２】
前記判定手段は先行ＧＯＰ（ｇｒｏｕｐ ｏｆ ｐｉｃｔｕｒｅ）と後続ＧＯＰ間の時間情報の連続性を判定し、前記停止手段は前記第１及び第２格納部に格納された前記先行ＧＯＰと該先行ＧＯＰに対応するオーディオデータの前記ビデオデコーダ及びオーディオデコーダによる再生が終了するまで、前記第１及び第２格納部へのデータ書込みを停止し、前記再開手段は前記先行ＧＯＰと前記先行ＧＯＰに対応するオーディオデータの再生が終了すると、前記第１及び第２格納部へ前記後続ＧＯＰ以降のデータ書込みを再開することを特徴とする請求項１記載の映像音声再生装置。
【請求項３】
前記変更手段は、前記後続ＶＯＢＵの最初のＩピクチャのＰＴＳ（ｐｒｅｓｅｎｔａｔｉｏｎ ｔｉｍｅ ｓｔｕｍｐ）に基づいて前記時計手段の値を変更することを特徴とする請求項１記載の映像音声再生装置。
【請求項４】
前記ストリーム分離部は前記ビデオ及びオーディオストリームの時間的不連続性が存在するＭＰＥＧストリームに関して、該ビデオ及びオーディオストリームがシームレスに接続できるか否かを示すシームレス情報を受信し、前記ストリームがシームレスに接続できるか判断する手段を更に具備し、
前記ストリームがシームレスに接続できる場合は前記ストリームをシームレスに接続し、シームレスに接続できない場合は前記停止手段、変更手段及び再開手段を用いて前記ストリームを接続することを特徴とする請求項１記載の映像音声再生装置。
【請求項５】
前記メディアから読み出されたＭＰＥＧストリームを格納する第３格納部を更に具備し、
前記ストリーム分離手段は、
前記第３格納部に格納されたＭＰＥＧストリームを読み出す手段と、
前記ＭＰＥＧストリームの再生途中で、前記第３格納部のアンダーフローを検出した場合、前記後続ＶＯＢＵの先頭を検出するまで、前記第３格納部からのデータ読み出しと後段の前記第１及び第２格納部へのデータ書込みを行う手段と、
前記後続ＶＯＢＵの先頭が検出された場合、前記第３格納部からのデータ読み出しと後段の前記第１及び第２格納部へのデータ書込みを停止し、前記第３格納部に一定量のデータが蓄積されたこと及び前記第１及び第２格納部に書き込まれた先行ＶＯＢＵの再生が終了したことを確認する手段と、
前記先行ＶＯＢＵの再生が終了した後、前記第３格納部からのデータ読み出しと後段の前記第１及び第２格納部へのデータ書込みを再開すると共に前記時計手段の値を変更する手段とを具備することを特徴とする請求項１記載の映像音声再生装置。
【請求項６】
前記ストリーム分離手段は、前記第３格納部のアンダーフローを検出した場合、後続ＧＯＰの先頭を検出するまで、前記第３格納部に一定量のデータが蓄積されたこと及び前記第１及び第２格納部に書き込まれた先行ＧＯＰ及び先行ＧＯＰに対応するオーディオデータの再生が終了したことを確認する手段と、
前記先行ＧＯＰ及び先行ＧＯＰに対応するオーディオデータの再生が終了した後、前記第３格納部からのデータ読出しと後段の第１及び第２格納部へのデータ書込みを再開すると共に前記時計手段の値を変更する手段とを具備する。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、圧縮された映像音声情報を含むＭＰＥＧストリーム（ＭＰＥＧ２プログラムストリーム、ＭＰＥＧ１システムストリーム）を対象とする映像音声再生装置に関する。
【背景技術】
【０００２】
ＭＰＥＧストリームでは、映像及び音声データが所定データ量を含むパックにパック化されている。各パックはパックヘッダ及びパケットを含み、パケットはパケットヘッダ及び圧縮された映像データまたは音声データを含み、パケットヘッダはＰＴＳ（ｐｒｅｓｅｎｔａｔｉｏｎ ｔｉｍｅ ｓｔａｍｐ）やＤＴＳ（ｄｅｃｏｄｉｎｇ ｔｉｍｅ ｓｔａｍｐ）等のタイムスタンプを有している。ＤＴＳは圧縮されたパケット内データをデコードするタイミングを示す時間データであって、ＰＴＳはデコードされたデータを表示するタイミングを示す時間データである。圧縮されたパケット内データはＤＴＳが示すタイミングでデコードされ、ＰＴＳが示すタイミングで表示される。
【０００３】
ＭＰＥＧストリームを、例えば途中の一部分をカットする等して編集するとタイムスタンプに不連続が生じる。このようなストリームをそのまま再生すると、一般に映像と音声が同期せずにずれて再生される。従って、ストリームは編集の際に、映像と音声が同期して再生されるように、ストリーム接続点における構成が加工される。このようにタイムスタンプが不連続なストリームを、映像及び音声を同期させ連続的に再生することをシームレス再生という。下記非特許文献には、シームレス再生の方式について詳述されている。
【非特許文献１】再生専用ディスクＤＶＤ規格（邦訳）パート３ビデオ規格（発売元：株式会社東芝）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ストリームの途中で、タイムスタンプに不連続が生じた場合、シームレスに接続できることが保証されていないストリームでは、前述したようにオーディオとビデオの再生時間の相違により、オーディオギャップまたはビデオギャップが発生し、映像と音声の同期がとれなくなる。この場合、システムの時計（ＳＴＣ）を再設定する必要があり、暫く映像が停止し音声が途切れることになる。
【０００５】
従って本発明はこの映像音声の再生停止期間をできる限り短くし、不連続ストリームを擬似的にシームレスに接続することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の１実施形態に係る映像音声再生装置は、メディアから読み出されたＭＰＥＧストリームから、ビデオストリーム及びオーディオストリームを分離するストリーム分離手段と、前記ストリーム分離手段により分離された前記ビデオストリームを格納する第１格納部と、前記ストリーム分離手段により分離された前記オーディオストリームを格納する第２格納部と、動作の参照時間を提供する時計手段と、前記第１格納部に格納されたビデオストリームを読出し、前記時計手段の値に基づいて前記ビデオストリームをデコードして再生するビデオデコーダと、前記第２格納部に格納されたオーディオストリームを読出し、前記時計手段の値に基づいて前記オーディオストリームをデコードして再生するオーディオデコーダとを具備し、前記ストリーム分離手段は、前記読出されたＭＰＥＧストリームの途中で、先行ＶＯＢＵ（ｖｉｄｅｏ ｏｂｇｊｅｃｔ ｕｎｉｔ）と後続ＶＯＢＵ間の時間情報の連続性を判定する判定手段と、  前記判定手段により前記時間情報の不連続を検出した場合、前記第１及び第２格納部に格納された前記先行ＶＯＢＵの前記ビデオデコーダ及びオーディオでコーダによる再生が終了するまで、前記第１及び第２格納部へのデータ書込みを停止する停止手段と、前記時計手段の値を変更する変更手段と、前記先行ＶＯＢＵの再生が終了すると、前記第１及び第２格納部へ前記後続ＶＯＢＵ以降のデータ書込みを再開する再開手段とを具備する。
【発明の効果】
【０００７】
シームレス再生が保障されていない不連続ストリームを再生する際に、映像音声の再生停止期間をできる限り短くし、不連続ストリームを擬似的にシームレスに再生することを可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照しながら本発明の実施の形態について詳細に説明する。
【０００９】
図１は本発明の一実施形態に係る映像音声再生装置の構成を示すブロック図である。
【００１０】
記録媒体１００は、ターンテーブル（図示せず）上に載置され、スピンドルモータ１０１により回転駆動される。情報再生時、記録媒体１００に記録された情報は、ピックアップ部１０２により読み取られる。ピックアップ部１０２は、サーボ部１０３によりディスク半径方向への移動制御、フォーカス制御、トラッキング制御される。また、サーボ部１０３は、モータ駆動部１０４にも制御信号を送り、スピンドルモータ１０１の回転制御（つまり記録媒体１００の回転制御）を行っている。
【００１１】
ピックアップ部１０２の出力は、復調／エラー訂正部１０５に入力されて復調される。ここで、復調された復調データは、トラックバッファ１０６を介してストリーム分離部１０７に入力される。また、復調データは、ＤＳＩバッファ１０８を介してＤＳＩデコーダ１０９に入力される。ＤＳＩデコーダ１０９には、ＤＳＩデコーダバッファ１１０が接続されている。デコードしたＤＳＩ（データサーチ情報）は、システム制御部２００に送られる。また、復調データは、管理情報バッファ１１１を介してシステム制御部２００に送られる。この管理情報バッファ１１１には、ＶＭＧＩやＶＴＳＩなどが書き込まれ、システム制御部２００がこの情報を読み、再生制御を行う。
【００１２】
ストリーム分離部１０７では、各パックの分離処理が行われる。ストリーム分離部１０７から取り出されたビデオパック（Ｖ＿ＰＣＫ）はビデオバッファ１２１を介してビデオデコーダ１２３に入力されてデコードされる。ビデオデコーダ１２３にはビデオデコーダバッファ１２４が接続されている。ビデオデコーダ１２３から出力されたビデオ信号は、映像ミキシング部１２５に入力される。
【００１３】
また、ストリーム分離部１０７から取り出されたサブピクチャパック（ＳＰ＿ＰＣＫ）はサブピクチャバッファ１２６を介してサブピクチャデコーダ１２７に入力されてデコードされる。サブピクチャデコーダ１２７にはサブピクチャデコーダバッファ１２８が接続されている。サブピクチャデコーダ１２７から出力されたサブピクチャは、映像ミキシング部１２５に入力される。これにより映像ミキシング部１２５からは主映像信号にサブピクチャがスーパーインポーズされた信号が得られ、ディスプレイに供給される。
【００１４】
また、ストリーム分離部１０７から取り出されたオーディオパック（Ａ＿ＰＣＫ）はオーディオバッファ１２９を介してオーディオデコーダ１３０に入力されてデコードされる。オーディオデコーダ１３０にはオーディオデコーダバッファ１３１が接続されている。オーディオデコーダ１３０の出力はＤ／Ａ変換（図示せず）されスピーカに供給される。
【００１５】
また、ストリーム分離部１０７から取り出されたＰＣＩパックはＰＣＩバッファ１３２を介してＰＣＩデコーダ１３３に入力されてデコードされる。ＰＣＩデコーダ１３３にはＰＣＩデコーダバッファ１３４が接続されている。ＰＣＩデコーダ１３３の出力は、ハイライト情報（ＨＬＩ）処理部１３５に入力される。
【００１６】
このように記録媒体１００には、映像情報に対応してサブピクチャ（字幕及び文字）情報、音声情報、管理情報、制御情報が記録され、ストリーム分離部１０７において、主映像情報、サブピクチャ（字幕及び文字）情報、音声情報、制御情報等を分離して導出される。この場合、サブピクチャ情報である字幕及び文字情報や、音声情報としては、各種の言語を選択することができ、これはシステム制御部２００の制御に応じて選択される。システム制御部２００に対して、ユーザによる操作入力が操作部２０１を通して与えられる。
【００１７】
主映像情報をデコードするビデオデコーダ１２３では、表示装置の方式に対応したデコード処理が施される。例えば主映像情報は、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、ワイド画面、等に変換処理される。また、オーディオデコーダ１３０には、ユーザにより指定されているストリームに対応するオーディオ情報が入力されてデコードされることになる。またサブピクチャも、ユーザにより指定されているストリームのサブピクチャデータが、サブピクチャデコーダ１２７に入力されてデコードされる。
【００１８】
次にＤＶＤビデオのストリームの概要を説明する。
【００１９】
図２にＤＶＤビデオのストリーム構造を示す。ＤＶＤストリームは最小のアクセス単位であるビデオオブジェクトユニット（ＶＯＢＵ）４３１が連続することによって構成される。ＶＯＢＵ４３１は、ＭＰＥＧ２プログラムストリームに準拠し、必ずナビゲーションパック（ＮＶ＿ＰＣＫ）４４１で始まり、その後にビデオパック（Ｖ＿ＰＣＫ）４４２とサブピクチャパック（ＳＰ＿ＰＣＫ）４４４とオーディオパック（Ａ＿ＰＣＫ）４４３が連続して構成される。
【００２０】
図３はプログラムストリーム４４０の構成例を示す図、図４はｓｔｒｅａｍ＿ｉｄを示す図、図５はパックの構造を示す図である。図３のようにパックヘッダ４４０ａには各エレメンタリーデコーダの入力バッファ（図１では、ビデオバッファ１２１、サブピクチャバッファ１２６、オーディオバッファ１２９、ＰＣＩバッファ１３２）にパックが到着する時刻情報ＳＣＲ（Ｓｙｓｔｅｍ Ｃｌｏｃｋ Ｒｅｆｅｒｅｎｃｅ）が記述されている。各パック（Ｐａｃｋ）は、１個以上のパケット（Ｐａｃｋｅｔ）を持つことができる。パケットのペイロード（パケットヘッダを除いた部分）４４０ｃは単一（１種類）のエレメンタリーデータしか持つことできない。例えば、１つのパケットのペイロードとしてビデオデータとオーディオデータを混在することはできない。
【００２１】
各パケットのパケットヘッダ４４０ｂには、ｓｔｒｅａｍ＿ｉｄが記述され、ｓｔｒｅａｍ＿ｉｄがｐｒｉｖａｔｅ＿ｓｔｒｅａｍ＿１（＝ＢＤｈ）とｐｒｉｖａｔｅ＿ｓｔｒｅａｍ＿２（＝ＢＦｈ）を持つパケットに対しては、パケットのペイロードの１バイト目にｓｕｂ＿ｓｔｒｅａｍ＿ｉｄが記述される（図４参照）。
【００２２】
ビデオパケットのパケットヘッダ４４０ｂには、パケット内にピクチャデータの先頭が含まれるとき、最初に出現したピクチャに対してこのピクチャデータをデコードする時刻ＤＴＳ（Ｄｅｃｏｄｉｎｇ Ｔｉｍｅ Ｓｔａｍｐ）または表示する時刻ＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ Ｔｉｍｅ Ｓｔａｍｐ）を記述することができる。前述のピクチャがＩピクチャまたはＰピクチャである場合には、パケットヘッダにはＤＴＳとＰＴＳを記述し、Ｂピクチャである場合にはＰＴＳのみを記述することができる。
【００２３】
オーディオパケットのパケットヘッダには、パケット内にオーディオフレームの先頭が含まれるとき、最初に出現したオーディオフレームに対してこのオーディオデータをデコードし、提供する時刻ＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ Ｔｉｍｅ Ｓｔａｍｐ）を記述することができる。
【００２４】
サブピクチャパケットのパケットヘッダには、パケット内にサブピクチャユニット（ＳＰＵ）の先頭が含まれるとき、最初に出現したサブピクチャユニットに対してこのサブピクチャユニットの先頭のＳＰ＿ＤＣＳＱ（Ｓｕｂ−ｐｉｃｔｕｒｅ Ｄｉｓｐｌａｙ Ｃｏｎｔｒｏｌ Ｓｅｑｕｅｎｃｅ：サブピクチャ表示制御シーケンス）を実行するする時刻ＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ Ｔｉｍｅ Ｓｔａｍｐ）を記述することができる。
【００２５】
ナビゲーションパック内のＰＣＩパケット５０１（図５参照）のパケットヘッダには、時刻情報を書くフィールドは無い。
【００２６】
次にストリーム分離部１０７の基本動作について説明する。
【００２７】
ストリーム分離部１０７は、システム制御部２００により指定されたｓｔｒｅａｍ＿ｉｄおよびｓｕｂ＿ｓｔｒｅａｍ＿ｉｄと同じ値を持つパケットを検出したら、対応するエレメンタリーデコーダの入力バッファ（図１では、ビデオバッファ１２１、サブピクチャバッファ１２６、オーディオバッファ１２９、ＰＣＩバッファ１３２）に、パケットのペイロードを分離して、図３のようにエレメンタリーストリーム（Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）として入力する。
【００２８】
また、ストリーム分離部１０７は、起動時にパックのＳＣＲを使ってシステム内の全ての時計（ＳＴＣ：Ｓｙｓｔｅｍ Ｔｉｍｅ Ｃｏｃｋ）をリセットし、各エレメンタリーのパケットから分離したＰＴＳおよびＤＴＳを各エレメンタリーデコーダ（図１では、ビデオデコーダ１２３、サブピクチャデコーダ１２７、オーディオデコーダ１３０）に送信する。各エレメンタリーデコーダは自身の持つ時計（ＳＴＣ）とストリーム分離部１０７から受信したＰＴＳおよびＤＴＳとを比較して、例えば一致したときにデコードおよび表示を行う。
【００２９】
図６はストリーム分離部１０７のストリーム再生処理の概要を示すフローチャート、図７はストリーム分離部１０７が有するフラグＦ及びレジスタＲの構成を示す図である。
【００３０】
ストリーム分離部１０７はシステム制御部２００からスタートコマンドを受信したか判断し（ＳＴ００１）、受信している場合は、ステップＳＴ００２のＳＴＣ初期化処理を行う。図８はＳＴＣ初期化処理を示すフローチャートである。ストリーム分離部１０７はｆｉｒｓｔ＿ｐｒｏｓｅｓｓのレジスタＲ３を１に設定し（ＳＴ００３）、トラックバッファ１０６からセクターデータ（パックデータ）を読み出し、内部の一時バッファ１０７ａに保持する（ＳＴ００４）。次にストリーム分離部１０７はステップＳＴ００５のパック処理（後述される）を行う。ステップＳＴ００６のようにＳＴＣの初期化が終了していなければ、ストリーム分離部１０７は、ビデオデコーダ１２３、オーディオデコーダ１３０、サブピクチャデコーダ２７に対してＳＴＣの設定を行う（ＳＴ００７）。フローはステップＳＴ００４に戻り、ストリーム分離部１０７はステップＳＴ００４、ＳＴ００５、ＳＴ００６を実行し、ステップＳＴ００８のようにｆｉｒｓｔ＿ｐｒｏｃｅｓｓのレジスタＲ３を０にリセットする。
【００３１】
この初期化処理においてパック処理（ＳＴ００５）を行うことにより、ｏｌｄ＿ＶＯＢＵ＿Ｓ＿ＰＴＭのレジスタＲ６には最初のＶＯＢＵのＶＯＢＵ＿Ｓ＿ＰＴＭが、ｏｌｄ＿ＶＯＢＵ＿Ｅ＿ＰＴＭのレジスタＲ７には最初のＶＯＢＵのＶＯＢＵ＿Ｅ＿ＰＴＭが、ｃｕｒＶＯＢＵ＿Ｓ＿ＰＴＭのレジスタＲ８には２番目のＶＯＢＵのＶＯＢＵ＿Ｓ＿ＰＴＭが、ｃｕｒ＿ＶＯＢＵ＿Ｅ＿ＰＴＭのレジスタＲ９には２番目のＶＯＢＵのＶＯＢＵ＿Ｓ＿ＰＴＭがそれぞれ格納される。尚、ｏｌｄ＿ＶＯＢＵ＿Ｓ＿ＰＴＭ、ｏｌｄ＿ＶＯＢＵ＿Ｅ＿ＰＴＭ等の時間情報については後述される。
【００３２】
図６の説明に戻り、ステップＳＴ００９のようにストリーム分離部１０７はアンダーフローフラグ（Ｕｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇ）のレジスタＲ１を０に設定し、シームレス接続フラグ（Ｓｅａｍｌｅｓ＿ｃｏｎｎｅｃｔ）のレジスタＲ１１を０に設定し、ステップＳＴ０１０ではシステム制御部２００からストップコマンドを受信したか判断する。ここでアンダーフローとは、ストリーム分離部１０７がトラックバッファ１０６からデータを読み出す際に、トラックバッファ１０６に所定量以上のデータが格納されていない状態を示す。このような状態は、装置に衝撃が加えられたり、パラレル２層ディスク再生時の層またぎ（層の切り替え）の際など、ディスクから再生信号が暫く得られないときに発生する。
【００３３】
ストップコマンドを受信している場合は、ここでストリーム再生動作は終了し、ストップコマンドを受信していない場合、ストリーム分離部１０７はシームレス接続フラグ（Ｓｅａｍｌｅｓｓ＿ｃｏｎｎｅｃｔ）が１であるかチェックし、１であれば、Ｓｅａｍｌｅｓｓ再生処理を実行し、そうでなけばトラックバッファ１０６に転送されたデータのデータ量をチェックする。データ量がアンダーフロー条件を満たしていない場合、ステップＳＴ０１３のようにストリーム分離部１０７は、トラックバッファ１０６から１セクタのデータを読み出し、内部バッファ１０７ａに保持する。次にストリーム分離部１０７は、システム制御部２００からＳｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇを受信したか判断し（ＳＴ０１４）、受信している場合はステップＳＴ０１５のようにＳｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇのレジスタＲ２を１に設定し、ステップＳＴ０１７のパック処理を実行する。尚、Ｓｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇは、処理中のストリームがシームレスに接続（再生）できることが保証されているか否かを示し、１であればシームレスに接続できることが保証されている。Ｓｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇは、システム制御部２００が管理情報バッファ１１１の情報から検出し、ストリーム分離部１０７に送信した情報である。ステップＳＴ０１２でデータ量がアンダーフロー条件を満たしている場合、ステップＳＴ０１６のようにＵｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇのレジスタＲ１を１に設定する。
【００３４】
図９はパック処理を示すフローチャートである。
【００３５】
ストリーム分離部１０７はナビゲーションパック（Ｎａｖｉｇａｔｉｏｎ Ｐａｃｋ）４４１を検出したか判断し（ＳＴ１０１）、検出した場合は、ＰＣＩパケット５０１から、ＶＯＢＵ＿Ｓ＿ＰＴＭとＶＯＢＵ＿Ｅ＿ＰＴＳを読み込み（ＳＴ１０２）、ＶＯＢＵ＿Ｓ＿ＰＴＭとＶＯＢＵ＿Ｅ＿ＰＴＳ（図５参照）をレジスタＲ４及びＲ５にそれぞれ保持する。ステップＳＴ１０３でストリーム分離部１０７は、ｏｌｄ＿ＶＯＢＵ＿Ｓ＿ＰＴＭのレジスタＲ６、ｏｌｄ＿ＶＯＢＵ＿Ｅ＿ＰＴＭのレジスタＲ７、ｃｕｒＶＯＢＵ＿Ｓ＿ＰＴＭのレジスタＲ８、ｃｕｒ＿ＶＯＢＵ＿Ｅ＿ＰＴＭのレジスタＲ９を更新する。
【００３６】
ｆｉｒｓｔ＿ｐｒｏｓｅｓｓのレジスタＲ３が０であれば（ＳＴ１０４）、ストリーム分離部１０７はＵｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇのレジスタＲ１が０か判断し（ＳＴ１０５）、０でなければステップＳＴ１０６のように、レジスタＲ７とＲ８の内容の差つまりＶＯＢＵ＿Ｅ＿ＰＴＳとＶＯＢＵ＿Ｓ＿ＰＴＭの差ｄｅｌｔａ＿ＰＴＭを計算し、計算結果をｄｌｔａ＿ＰＴＭのレジスタＲ１０に格納する。ｄｅｌｔａ＿ＰＴＭが０であれば（ＳＴ１０７でＮＯ）、つまり連続するＶＯＢＵまたはＣＥＬＬ間でタイムスタンプが連続していれば、ストリーム分離部１０７はＰＣＩパケットをＰＣＩバッファ１３２に送信する（ＳＴ１１０）。その後ストリーム分離部１０７は図６のフローに戻り、前述したようにステップＳＴ０１０〜ＳＴ０１５を実行することで、内部バッファ１０７ａには次のセクターデータ（パックデータ）が内部バッファ１０７ａに保持される。内部バッファ１０７ａに保持されたセクターデータを解析した結果、ｖｉｄｅｏパックを検出すると（ＳＴ１１１でＹＥＳ）、ストリーム分離部１０７はステップＳＴ１１２のビデオパケット処理を実行する。
【００３７】
図１０はビデオパケット処理を示すフローチャートである。
【００３８】
ステップＳＴ２０１のように、ストリーム分離部１０７はＰＴＳ及びＤＴＳ、またはＰＴＳがパケットヘッダに存在するか判断し、存在する場合はＰＴＳ及びＤＴＳ、またはＰＴＳをビデオデコーダ１２３に送信する（ＳＴ２０２）。更にストリーム分離部１０７は内部バッファ１０７ａに格納されているエレメンタリデータをビデオバッファ１２１に送信する（ＳＴ２０３）。フローは図９のフローを介して図６のフローに戻り、前述したようにステップＳＴ０１０〜ＳＴ０１５を実行することで、内部バッファ１０７ａには次のセクターデータが保持され解析される。
【００３９】
内部バッファ１０７ａに保持されたセクターデータを解析した結果、オーディオパックを検出すると（ＳＴ１１３でＹＥＳ）、ストリーム分離部１０７はステップＳＴ１１４のオーディオパケット処理を実行する。
【００４０】
図１１はオーディオパケット処理を示すフローチャートである。
【００４１】
ステップＳＴ３０１のように、ストリーム分離部１０７はＰＴＳがパケットヘッダに存在するか判断し、存在する場合はＰＴＳをオーディオデコーダ１３０に送信する（ＳＴ３０２）。更にストリーム分離部１０７は内部バッファ１０７ａに格納されているエレメンタリデータをオーディオバッファ１２９に送信する（ＳＴ３０３）。フローは図９のフローを介して図６のフローに戻り、前述したようにステップＳＴ０１０〜ＳＴ０１５を実行することで、内部バッファ１０７ａには次のセクターデータが保持され解析される。
【００４２】
内部バッファ１０７ａに保持されたセクターデータを解析した結果、サブピクチャーパックを検出すると（ＳＴ１１５でＹＥＳ）、ストリーム分離部１０７はステップＳＴ１１６のサブピクチャパケット処理を実行する。ステップＳＴ１１５でサブピクチャパックを検出しなかった場合（ＳＴ１１５でＮＯ）、ストリーム分離部１０７はセクターデータを捨てる（ＳＴ１１７）。
【００４３】
図１２はサブピクチャパケット処理を示すフローチャートである。
【００４４】
ステップＳＴ４０１のように、ストリーム分離部１０７はＰＴＳがパケットヘッダに存在するか判断し、存在する場合はＰＴＳをサブピクチャデコーダ１２７に送信する（ＳＴ４０２）。更にストリーム分離部１０７は内部バッファ１０７ａに格納されているエレメンタリデータをサブピクチャバッファ１２６に送信する（ＳＴ４０３）。
【００４５】
図１３は隣合うＶＯＢＵ（またはＣＥＬＬ）のタイムスタンプ（ＰＴＳ／ＤＴＳ）が連続している場合（図９のフローチャートにおけるステップＳＴ１０７でＮＯの場合に対応）の通常再生処理の状態を示す図である。
【００４６】
ＤＶＤビデオでは、ＶＯＢＵ４３１単位で再生が行われ、ＣＥＬＬ４２１の接続部以外では、先行ＶＯＢＵの再生終了時刻（ＶＯＢＵ＿Ｅ＿ＰＴＭ）と後続ＶＯＢＵの再生開始時刻（ＶＯＢＵ＿Ｓ＿ＰＴＭ）（図５参照）は等しい。ＣＥＬＬ４２１間でタイムスタンプが連続する場合には、先行ＣＥＬＬの最終ＶＯＢＵ４３１Ｌの再生終了時刻（ＶＯＢＵ＿Ｅ＿ＰＴＭ）と後続ＣＥＬＬの先頭ＶＯＢＵ４３１Ｓの再生開始時刻（ＶＯＢＵ＿Ｓ＿ＰＴＭ）は等しい。この場合、ストリーム分離部１０７は、特にＳＴＣ制御することは無く、各エレメンタリーデコーダ（図１では、ビデオデコーダ１２３、サブピクチャデコーダ１２７、オーディオデコーダ１３０）は自身の持つ時計（ＳＴＣ）とストリーム分離部１０７から受信したＰＴＳおよびＤＴＳとを比較して、例えば一致したとき又はＳＴＣにオフセット値を与えた値に一致したときデコードおよび表示を行う。
【００４７】
ＣＥＬＬ間でタイムスタンプに不連続が生じる場合、シームレスに接続できるか否かは、ＣＥＬＬを再生する前に、予めシステム制御部２００からフラグ（Ｓｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇ）を受信することで認識する。
【００４８】
図９に示すフローチャートのステップＳＴ１０７でＹＥＳの場合、つまりｄｅｌｔａ＿ＰＴＭが０ではなく、連続するＶＯＢＵまたはＣＥＬＬ間でタイムスタンプが不連続の場合、ストリーム分離部１０７はステップＳＴ１０８のＳＴＣ不連続処理を行う。
【００４９】
図１４はＳＴＣ不連続処理を示すフローチャートである。ストリーム分離部１０７はＳｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇのレジスタＲ２が０か判断し（ＳＴ５０１）、ＮＯの場合（シームレス再生が設定されている場合）、シームレス接続フラグＳｅａｍｌｅｓｓ＿ｃｏｎｎｅｃｔのレジスタＲ１１に”１”を設定する。図６のＳＴ７０１でこのフラグが”１”に設定されると、シームレス再生処理が行われる。
【００５０】
図１５はタイムスタンプ（ＰＴＳ／ＤＴＳ）が連続しない場合のシームレス再生処理を示すフローチャートである。ストリーム分離部１０７はＳＴＣカウンタを読みＳＴＣの値が、レジスタＲ７のｏｌｄ＿ＶＯＢＵ＿Ｅ＿ＰＴＭの値に一致すると、（ＳＴ６０１でＹＥＳの場合）、ビデオデコーダ１２３、オーディオデコーダ１３０、サブピクチャデコーダ２７にＳＴＣのオフセット、即ちｄｅｌｔａ＿ＰＴＭを送信し、Ｓｅａｍｌｅｓｓ＿ｃｏｎｎｅｃｔのレジスタＲ１１に”０”を設定する（ＳＴ６０２）。
【００５１】
図１６はシームレス再生処理の状態を示す図である。
【００５２】
ＣＥＬＬ間でタイムスタンプに不連続が生じる場合、先行ＣＥＬＬの最終ＶＯＢＵ４３１Ｌの再生終了時刻（ＶＯＢＵ＿Ｅ＿ＰＴＭ）と後続ＣＥＬＬの先頭ＶＯＢＵ４３１Ｓの再生開始時刻（ＶＯＢＵ＿Ｓ＿ＰＴＭ）は等しくならない。
【００５３】
先行ＣＥＬＬと後続ＣＥＬＬがシームレスに再生できるならば（Ｓｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇ＝＝１）、ストリーム分離部１０７は、このオフセット分ｄｅｌｔａ＿ＰＴＭ（＞０）を各エレメンタリーデコーダ（図１では、ビデオデコーダ１２３、サブピクチャデコーダ１２７、オーディオデコーダ１３０）に、先行ＣＥＬＬの最終ＶＯＢＵ４３１Ｌの再生終了時刻（ＶＯＢＵ＿Ｅ＿ＰＴＭ）の時刻ｔ０１で送信する。各エレメンタリーデコーダ（図１では、ビデオデコーダ１２３、サブピクチャデコーダ１２７、オーディオデコーダ１３０）は、以後、自身の持つ時計（ＳＴＣ）から、受信した時間のオフセット分ｄｅｌｔａ＿ＰＴＭ（＞０）を引いた値を自身のＳＴＣとし（ＳＴＣ＝ＳＴＣ−ｄｅｌｔａ＿ＰＴＭ）、ストリーム分離部１０７から受信したＰＴＳおよびＤＴＳとを比較して、デコードおよび表示を行う。このとき映像と音声は同期して（正常に）再生される。このように、Ｓｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇが１に設定されているＶＯＢＵは、時間のオフセット分ｄｅｌｔａ＿ＰＴＭを各エレメンタリデコーダに与えるだけで、先行ＶＯＢＵの次にシームレスに接続され再生される。
【００５４】
図１４の説明に戻り、Ｓｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇが０の場合（ＳＴ５０１でＹＥＳの場合）、ストリーム分離部１０７は本発明の一実施形態に係るＮｏｎ−ｓｅａｍｌｅｓｓ再生処理（ＳＴ５０２）を実行する。
【００５５】
図１７はタイムスタンプが連続しない場合のＮｏｎ−ｓｅａｍｌｅｓｓ再生処理を示すフローチャートである。
【００５６】
ストリーム分離部１０７はＳＴＣを読み込み（ＳＴ７０２）、ＳＴＣの値がｏｌｄ＿ＶＯＢＵ＿Ｅ＿ＰＴＭより大きくなると（ＳＴ７０２でＹＥＳ）、ビデオバッファ１２１、オーディオバッファ１２９、サブピクチャバッファ１２６のデータ量をチェックし（ＳＴ７０３）、先行ＣＥＬＬの最後のＶＯＢＵの再生が終了したか判断する（ＳＴ７０４）。最後のＶＯＢＵの再生が終了すると、ストリーム分離部１０７はビデオデコーダ１２３、オーディオデコーダ１３０、サブピクチャデコーダ１２７に対してＳＴＣの再設定を行う（ＳＴ７０５）。
【００５７】
図１８はＮｏｎ−ｓｅａｍｌｅｓｓ再生処理の状態を示す図である。
【００５８】
時刻ｔ１１でストリーム分離部１０７はナビゲーションパック４４１ａの解析を開始し、その後、先行ＣＥＬＬの最終ＶＯＢＵ４３１Ｌの再生終了時刻ＶＯＢＵ＿Ｅ＿ＰＴＭ［ｉ−1］と、後続ＣＥＬＬの先頭ＶＯＢＵ４３１Ｓの再生開始時刻ＶＯＢＵ＿Ｓ＿ＰＴＭ［ｉ］が一致せず、かつＳｅａｍｌｅｓｓ＿ｐｌａｙｂａｃｋ＿ｆｌａｇのレジスタＲ２が０、即ちシームレス再生が設定されていないことを検出する。ストリーム分離部１０７は、ＳＴＣの値がＶＯＢＵ＿Ｅ＿ＰＴＭ［ｉ−1］になるまでの期間Ｐ１の間、転送動作を停止する。
【００５９】
時刻ｔ１２でＳＴＣの値がＶＯＢＵ＿Ｅ＿ＰＴＭ［ｉ−1］に到達すると、ビデオパック４４２Ｌの再生が終了することになる。しかし、オーディオパックとサブピクチャパックの再生は終了していないことがあるので、ストリーム分離部１０７は期間Ｐ２の間、エレメンタリデコーダ１２３、１２７、１３０の各入力バッファ１２４、１２８、１３１のデータ量をチェックし、先行ＣＥＬＬの全ＶＯＢＵの再生が終了するのを待つ。時刻ｔ１３で先行ＣＥＬＬの全ＶＯＢＵの再生が終了したのを確認すると、ストリーム分離部１０７はＳＴＣを再設定し、パック処理を再開する。ここでストリーム分離部１０７は例えば、後続ＣＥＬＬ４３１Ｓの最初のＩピクチャ（ビデオパック４４２Ｓ）のＰＴＳの値を使って、ＳＴＣを再設定する。図１８では時刻ｔ１４にビデオパック４４２Ｓの再生が開始される。
【００６０】
このようにシームレス再生が設定されていない不連続ストリームに対して、例えば図１６のシームレス再生処理を行うと、ｄｅｌｔａ＿ＰＴＭを送信した時刻ｔ０１でビデオパック４４２Ｓの再生が開始するが、先行ＶＯＢＵのオーディオパックの再生が引き続きおこなわれるので、映像と音声にギャップ（ずれ）が生じる。しかし、図１８に示すように本実施形態では、先行ＣＥＬＬの最終ＶＯＢＵ４３１Ｌの全パック（ビデオパック、オーディオパック、サブピクチャパック）の再生が終了してから（エレメンタリバッファ１２４、１２８、１３１が空になってから）、後続ＣＥＬＬの先頭ＶＯＢＵ４３１Ｓの再生が開始するので、映像と音声は同期して再生される。従来のように後段デコーダへのＳＴＯＰとディスクへの再サーチを行わないので、再生停止時間が短くて済み、擬似的にシームレスに接続できる。
【００６１】
図９の説明に戻り、ステップＳＴ１０５でＵｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇのレジスタＲ１が０、即ちトラックバッファ１０６にアンダーフローが生じている場合、ストリーム分離部１０７はステップＳＴ１０９のアンダーフロー処理を行う。
【００６２】
ＤＶＤまたはＶｉｄｅｏ ＣＤ再生装置において、振動やパラレル２層ディスク再生時の層またぎ（層の切り替え）などの原因で、トラックバッファのアンダーフローが生じた場合、システムの時計ＳＴＣは先に進むがデコードすべきデータが入力されないため、ＳＴＣとストリームのタイムスタンプの間に大きな誤差が生じることになる。本実施形態では、トラックバッファ１０６のアンダーフローが生じ、システムの時計ＳＴＣとストリームのタイムスタンプが大きくズレた場合でも瞬時に時計を合わせ込むことが可能になる。
【００６３】
図１９はアンダーフロー処理を示すフローチャートである。
【００６４】
ストリーム分離部１０７はトラックバッファ１０６のデータ量をチェックし（ＳＴ８０１）、所定量のデータが貯まったか判断する（ＳＴ８０２）。トラックバッファ１０６に所定量のデータが貯まると、ストリーム分離部１０７はビデオバッファ１２１、オーディオバッファ１２９、サブピクチャバッファ１２６のデータ量をチェックし（ＳＴ８０３）、先行ＣＥＬＬの最後のＶＯＢＵの再生が終了したか判断する（ＳＴ８０４）。先行ＣＥＬＬの最後のＶＯＢＵの再生が終了すると、ストリーム分離部１０７はビデオデコーダ１２３、オーディオデコーダ１３０、サブピクチャデコーダ１２７に対して、ＳＴＣの再設定を行う（ＳＴ８０５）。
【００６５】
図２０はアンダーフロー処理の状態を示す図である。
【００６６】
ストリーム分離部１０７はＶＯＢＵ４３１処理中の時刻ｔ２１で、トラックバッファ１０６のアンダーフローを検出し、Ｕｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇのレジスタＲ１を１に設定する。その後ストリーム分離部１０７は次のＶＯＢＵ（図２０ではＶＯＢＵ４３１Ｓ）の先頭（ナビゲーションパック４４１ａのパックヘッダ）を検出するまで、トラックバッファからのデータ読み出しと後段の各エレメンタリデコーダの入力バッファへのデータ書き込みを行う。時刻ｔ２２でストリーム分離部１０７は、ナビゲーションパック４４１ａの解析を開始し、Ｕｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇのレジスタＲ１が１であることを検出する。期間Ｐ３でストリーム分離部１０７は、トラックバッファ１０６からのデータ読み出しと後段の各エレメンタリバッファ１２４、１２８、１３１へのデータ書き込みを停止し、トラックバッファ１０６のデータ量をチェックしてトラックバッファに所定量のデータが貯まるのを待つ。
【００６７】
期間Ｐ４でストリーム分離部１０７は、各エレメンタリーデコーダの入力バッファ１２４、１２８、１３１のデータ量をチェックし、先行するＶＯＢＵ４３１Ｌの再生終了を待つ。時刻ｔ２３でストリーム分離部１０７はＳＴＣを再設定し、Ｕｎｄｅｒ＿ｆｌｏｗ＿ｆｌａｇのレジスタＲ１を０にリセットする。ここでストリーム分離部１０７は例えば、後続ＶＯＢＵ４３１Ｓの最初のＩピクチャ（ビデオパック４４２Ｓ）のＰＴＳの値を使って、ＳＴＣを再設定する。図２０では時刻ｔ２４にビデオパック４４２Ｓの再生が開始される。
【００６８】
以上説明したように本実施形態によれば、トラックバッファ１０６のアンダーフローが生じ、システムの時計ＳＴＣとストリームのタイムスタンプが大きくズレた場合でも瞬時に時計を合わせ込むことが可能になる。尚、上記説明において、ＭＰＥＧ２プログラムストリームにおけるＶＯＢＵは、ＭＰＥＧ１システムストリームにおけるＧＯＰ（ｇｒｏｕｐ ｏｆ ｐｉｃｔｕｒｅ）に対応する。図２１はＭＰＥＧ１システムストリームのレイヤー構造を示す図である。ビデオＣＤ等のＭＰＥＧ１システムストリームを再生する場合、上記ＶＯＢＵをＧＯＰ５０２に置き換えることで本発明を適用することができる。
【００６９】
以上の説明はこの発明の実施の形態であって、この発明の装置及び方法を限定するものではない。又、各実施形態における構成要素、機能、特徴あるいは方法ステップを適宜組み合わせて構成される装置又は方法も本発明に含まれるものである。
【図面の簡単な説明】
【００７０】
【図１】本発明のシステムのブロック図である。
【図２】ＤＶＤ−Ｖｉｄｅｏの物理構造を示す図である。
【図３】プログラムストリームの構成例を示す図である。
【図４】ＤＶＤ−Ｖｉｄｅｏのｓｔｒｅａｍ＿ｉｄを示す図である。
【図５】ＤＶＤ−ＶｉｄｅｏのＰａｃｋ構造を示す図である。
【図６】ストリーム分離部のストリーム再生のフロー図である。
【図７】ストリーム分離部が有するフラグＦ及びレジスタＲの構成を示す図である。
【図８】ＳＴＣ初期化処理を示すフローチャートである。
【図９】ストリーム分離部のＰａｃｋ処理のフロー図である。
【図１０】ストリーム分離部のＶｉｄｅｏ ｐａｃｋｅｔ処理のフロー図である。
【図１１】ストリーム分離部のＡｕｄｉｏ ｐａｃｋｅｔ処理のフロー図である。
【図１２】ストリーム分離部のＳｕｂ−ｐｉｃｔｕｒｅ ｐａｃｋｅｔ処理のフロー図である。
【図１３】タイムスタンプが連続する場合の再生処理の状態を示す図である。
【図１４】ストリーム分離部のＳＴＣ不連続処理のフロー図である。
【図１５】ストリーム分離部のＳｅａｍｌｅｓｓ再生処理のフロー図である。
【図１６】タイムスタンプが連続しない場合のシームレス再生処理の状態を示す図である。
【図１７】ストリーム分離部のＮｏｎ−Ｓｅａｍｌｅｓｓ再生処理のフロー図である。
【図１８】タイムスタンプが連続しない場合のノンシームレス再生処理の状態を示す図である。
【図１９】ストリーム分離部のアンダーフロー処理のフロー図である。
【図２０】アンダーフロー処理の状態を示す図である。
【図２１】ＭＰＥＧ１システムストリームのレイヤー構造を示す図である。
【符号の説明】
【００７１】
１００・ＤＶＤディスク、１０１・スピンドルモータ、１０２・ピックアップ部、１０３・サーボ部、１０４・モータ駆動部、１０５・復調／エラー訂正部、１０６・トラックバッファ、１０７・ストリーム分離部、１０８・ＤＳＩバッファ、１０９・ＤＳＩデコーダ、１１０・ＤＳＩデコーダバッファ、１１１・管理情報バッファ、１２１・ビデオバッファ、１２３・ビデオデコーダ、１２４・ビデオデコーダバッファ、１２５・映像ミキシング部、１２６・サブピクチャバッファ、１２７・サブピクチャデコーダ、１２８・サブピクチャデコーダバッファ、１２９・オーディオバッファ、１３０・オーディオデコーダ、１３１・オーディオデコーダバッファ、１３２・ＰＣＩデコーダバッファ、１３３・ＰＣＩデコーダ、１３４・ＰＣＩデコーダバッファ
１３４・ＨＬＩ処理部、１３６・ストリーム属性テーブル、２００・システム制御部
２０１・操作部。  
【図１】
2005167420.tif 000003
【図２】
2005167420.tif 000004
【図３】
2005167420.tif 000005
【図４】
2005167420.tif 000006
【図５】
2005167420.tif 000007
【図６】
2005167420.tif 000008
【図７】
2005167420.tif 000009
【図８】
2005167420.tif 000010
【図９】
2005167420.tif 000011
【図１０】
2005167420.tif 000012
【図１１】
2005167420.tif 000013
【図１２】
2005167420.tif 000014
【図１３】
2005167420.tif 000015
【図１４】
2005167420.tif 000016
【図１５】
2005167420.tif 000017
【図１６】
2005167420.tif 000018
【図１７】
2005167420.tif 000019
【図１８】
2005167420.tif 000020
【図１９】
2005167420.tif 000021
【図２０】
2005167420.tif 000022
【図２１】
2005167420.tif 000023