(57)【要約】【課題】動画の連続再生において、動画の連続性が途切れることを極力抑制する。【解決手段】符号化された画像データ列を一時的に蓄積するバッファ１０３と、バッファの蓄積サイズを設定するバッファサイズ設定回路１１１と、符号化された画像データ列をバッファからデコーダに出力させるデコード時刻を算出するデコード時刻算出回路１１０と、バッファの蓄積サイズを画像再生装置が再生可能な符号化データ列の要求する蓄積サイズの最大値の２倍以上に設定し、符号化された第１の画像データ列をバッファに取り込み終わった直後に、符号化された第２の画像データ列のバッファへの取り込みを開始させ、第１の画像データ列のバッファへの取り込みが終了した時刻に基づいて、第２の画像データ列のデコード時刻を算出させる制御回路１１２と、を具備する。【選択図】      図１
2006066995.tif 000002
【特許請求の範囲】
【請求項１】
フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置において、
符号化された画像データ列を一時的に蓄積するバッファ手段と、
該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、
符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段と、
前記バッファ手段の蓄積サイズを前記画像再生装置が再生可能な符号化データ列の要求する蓄積サイズの最大値の２倍以上に設定し、符号化された第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させ、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出させるように、前記バッファ手段と前記バッファサイズ設定手段と前記デコード時刻算出手段とを制御する制御手段と、
を具備することを特徴とする画像再生装置。
【請求項２】
前記符号化された画像データ列は、ＭＰＥＧのデータストリームであることを特徴とする請求項１に記載の画像再生装置。
【請求項３】
前記デコード時刻算出手段は、符号化された画像データ列に含まれるデータの遅延情報に基づいて、デコード時刻を算出することを特徴とする請求項１に記載の画像再生装置。
【請求項４】
前記符号化された画像データ列に含まれるデータの遅延情報はvbv_delayであることを特徴とする請求項３に記載の画像再生装置。
【請求項５】
前記デコード時刻算出手段は、符号化された画像データ列に含まれる蓄積サイズの情報と符号化された画像データ列のビットレートとに基づいて、デコード時刻を算出することを特徴とする請求項１に記載の画像再生装置。
【請求項６】
前記符号化された画像データ列に含まれる蓄積サイズの情報はvbv_buffer_sizeであることを特徴とする請求項５に記載の画像再生装置。
【請求項７】
フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置において、
符号化された画像データ列を一時的に蓄積するバッファ手段と、
該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、
符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段と、
符号化された第１の画像データ列の要求する蓄積サイズを前記バッファ手段の蓄積サイズとして設定し、前記第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させ、前記第２の画像データ列の要求する蓄積サイズの値と先行する前記第１の画像データ列の要求する蓄積サイズの値との和の値を前記バッファ手段の蓄積サイズとして設定し直し、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出させるように、前記バッファ手段と前記バッファサイズ設定手段と前記デコード時刻算出手段とを制御する制御手段と、
を具備することを特徴とする画像再生装置。
【請求項８】
前記符号化された画像データ列は、ＭＰＥＧのデータストリームであることを特徴とする請求項７に記載の画像再生装置。
【請求項９】
前記デコード時刻算出手段は、符号化された画像データ列に含まれるデータの遅延情報に基づいて、デコード時刻を算出することを特徴とする請求項７に記載の画像再生装置。
【請求項１０】
前記符号化された画像データ列に含まれるデータの遅延情報はvbv_delayであることを特徴とする請求項９に記載の画像再生装置。
【請求項１１】
前記デコード時刻算出手段は、符号化された画像データ列に含まれる蓄積サイズの情報と符号化された画像データ列のビットレートとに基づいて、デコード時刻を算出することを特徴とする請求項７に記載の画像再生装置。
【請求項１２】
前記符号化された画像データ列に含まれる蓄積サイズの情報はvbv_buffer_sizeであることを特徴とする請求項１１に記載の画像再生装置。
【請求項１３】
フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置であって、符号化された画像データ列を一時的に蓄積するバッファ手段と、該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段とを備える画像再生装置を制御する方法であって、
前記バッファサイズ設定手段により、前記バッファ手段の蓄積サイズを前記画像再生装置が再生可能な符号化データ列の要求する蓄積サイズの最大値の２倍以上に設定するバッファサイズ設定工程と、
符号化された第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させるデータ取り込み工程と、
前記デコード時刻算出手段により、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出するデコード時刻算出工程と、
を具備することを特徴とする画像再生装置の制御方法。
【請求項１４】
前記符号化された画像データ列は、ＭＰＥＧのデータストリームであることを特徴とする請求項１３に記載の画像再生装置の制御方法。
【請求項１５】
前記デコード時刻算出工程では、符号化された画像データ列に含まれるデータの遅延情報に基づいて、デコード時刻を算出することを特徴とする請求項１３に記載の画像再生装置の制御方法。
【請求項１６】
前記符号化された画像データ列に含まれるデータの遅延情報はvbv_delayであることを特徴とする請求項１５に記載の画像再生装置の制御方法。
【請求項１７】
前記デコード時刻算出工程では、符号化された画像データ列に含まれる蓄積サイズの情報と符号化された画像データ列のビットレートとに基づいて、デコード時刻を算出することを特徴とする請求項１３に記載の画像再生装置の制御方法。
【請求項１８】
前記符号化された画像データ列に含まれる蓄積サイズの情報はvbv_buffer_sizeであることを特徴とする請求項１７に記載の画像再生装置の制御方法。
【請求項１９】
フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置であって、符号化された画像データ列を一時的に蓄積するバッファ手段と、該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段とを備える画像再生装置を制御する方法であって、
前記バッファサイズ設定手段により、符号化された第１の画像データ列の要求する蓄積サイズを前記バッファ手段の蓄積サイズとして設定するバッファサイズ設定工程と、
前記第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させるデータ取り込み工程と、
前記第２の画像データ列の要求する蓄積サイズの値と先行する前記第１の画像データ列の要求する蓄積サイズの値との和の値を前記バッファ手段の蓄積サイズとして設定し直すバッファサイズ再設定工程と、
前記デコード時刻算出手段により、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出するデコード時刻算出工程と、
を具備することを特徴とする画像再生装置の制御方法。
【請求項２０】
前記符号化された画像データ列は、ＭＰＥＧのデータストリームであることを特徴とする請求項１９に記載の画像再生装置の制御方法。
【請求項２１】
前記デコード時刻算出工程では、符号化された画像データ列に含まれるデータの遅延情報に基づいて、デコード時刻を算出することを特徴とする請求項１９に記載の画像再生装置の制御方法。
【請求項２２】
前記符号化された画像データ列に含まれるデータの遅延情報はvbv_delayであることを特徴とする請求項２１に記載の画像再生装置の制御方法。
【請求項２３】
前記デコード時刻算出工程では、符号化された画像データ列に含まれる蓄積サイズの情報と符号化された画像データ列のビットレートとに基づいて、デコード時刻を算出することを特徴とする請求項１９に記載の画像再生装置の制御方法。
【請求項２４】
前記符号化された画像データ列に含まれる蓄積サイズの情報はvbv_buffer_sizeであることを特徴とする請求項２３に記載の画像再生装置の制御方法。
【請求項２５】
請求項１３乃至２４のいずれか１項に記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２６】
請求項２５に記載のプログラムをコンピュータ読取可能に記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像を再生する技術に関し、特にフレーム間符号化を用いた動画像データを再生する技術に関するものである。
【背景技術】
【０００２】
近年、デジタルビデオカメラ、デジタルカメラ等でＭＰＥＧ等のフレーム間符号化を用いた動画像データを記録再生する技術が普及している。
【０００３】
ＭＰＥＧを用いて画像データをエンコードする場合、デコーダの再生を保証するため、vbv_bufferという仮想のバッファモデルに従って画像データがエンコードされる。デコーダは再生されてくる再生データからvbv_bufferモデルに従ってデータを復号して再生する。
【０００４】
再生側の動作について図５Ａ、図５Ｂ、図６を参照して説明する。
【０００５】
再生指示がなされると、図６に示す制御回路５０７は再生回路５０２に再生を指示し、記録媒体５０１に記録されている記録データのストリームＡを読み出し、バッファ５０３に再生データを書き込んでいく。図５Ａ（ａ）に示すように、制御回路５０７はストリームＡを時間ｔαで記録媒体５０１から読み出し、バッファ５０３に書き込んでいく。制御回路５０７はバッファ５０３への取り込み時刻ｔαをデコード時刻計算回路５０６に通知する。
【０００６】
図５Ａ（ａ）に示す時刻ｔ0まできたら、制御回路５０７は最初の画像データＶ0をバッファ５０３から読み出し、不図示のデコーダに送出する。
【０００７】
ここで時刻ｔ0はvbv_delay検出回路５０４で検出されたvbv_delayA(0)からデコード時刻計算回路５０６において、
ｔ0＝ｔα＋vbv_delayA(0)      …（１）
と算出する。
【０００８】
デコード時刻計算回路５０６で算出されたデコード時刻ｔ0は制御回路５０７に供給され、制御回路５０７は時刻ｔ0がくると、バッファ５０３からストリームＡの再生データＶ0を読み出し、出力端子５０８から不図示の復号器へ出力する。
【０００９】
時刻ｔ0以降のデコード時刻ｔqは、デコード時刻計算回路５０６により、
ｔq＝ｔ0＋Ｔv×ｑ    （ｑ＝０，１，２，…）      …(２)
と計算され、制御回路５０７に供給される。ここでＴvは画像データのフレーム周波数（例えば２９.９７Ｈｚ）の逆数である。
【００１０】
制御回路５０７で時刻ｔ0が来たなら、その旨の通知がデコード時刻計算回路５０６に送られ、デコード時刻計算回路５０６は次のデコード時刻ｔ1を制御回路５０７に供給する。
【００１１】
制御回路５０７は時刻ｔ1がくるとバッファ５０３に取り込まれた再生データのストリームＡのＶ1を読み出し、出力端子５０８に出力し、不図示の復号器に送る。
【００１２】
上記で説明したようにして時刻ｔ2，ｔ3，…，ｔnまで再生し、ストリームＡの再生を終了する。
【００１３】
画像のエンコーダは上記で説明したvbv_bufferのモデルがオバーフローやアンダーフローが起こらないようにエンコードデータを作成しなければならないし、デコーダもvbv_bufferモデルに従って再生を進めれば、フレームのスキップやフレームのホールドなどの破綻なく再生される。
【００１４】
ここで、記録媒体に記録されているストリームＡの再生後に続けて、別のストリームＢを再生する場合を考える。
【００１５】
デコーダ側のvbv_bufferモデルがオーバーフロー、アンダーフローしないように再生するとすれば、図５Ａ（ｂ）に示すようにストリームＡのデコード時刻ｔnが来てバッファ５０３のストリームＡの最後の再生データがバッファから読み出された後にストリームＢの再生データをバッファ５０３に読み込むように制御回路５０７は再生回路５０２、バッファ５０３を制御する。
【００１６】
制御回路５０７はストリームＢの取り込み時刻ｔnをデコード時刻計算回路５０６に通知し、ストリームＢをバッファ５０３に再生回路５０２を通して取り込んでいく。
【００１７】
vbv_delay検出回路５０４はvbv_delayB(0)を検出し、デコード時刻計算回路５０６に供給する。デコード時刻計算回路５０６は取り込み時刻ｔnとvbv_delayB(0)からデコード時刻ｔmを、
ｔm＝ｔn＋vbv_delayB(0)      …（３）
として算出し（図５Ａ（ｂ）の場合はｔn+3＝ｔm）、制御回路５０７に供給する。
【００１８】
以後、ストリームＢのデコード時刻は、
ｔr＝ｔm＋Ｔv×ｒ    （ｒ＝０，１，２，…）      …(４)
とデコード時刻計算回路５０６で計算され、制御回路５０７はストリームＡと同様にバッファの取り込み、読み出しを図５Ａ（ｂ）に示すように制御する。
【特許文献１】特開２００２−１５８９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、上記で説明した方法では、vbv_bufferモデルにおいて、ストリームＡの最後のデータのデコード時刻でストリームＡをすべて読み出した後にストリームＢをバッファに取り込むのでバッファのオバーフロー、アンダーフローは起きないが、図５Ａ（ｂ）に示すように、ストリームＡからストリームＢへの再生の移り変わり時に、ｔn+1，ｔn+2の時刻でデコードできないので、画像のスムーズな再生ができず、動画としての連続性が途切れるという問題がある。
【００２０】
これを解決する一つの手法として、特開２００２−１５８９６８号公報（特許文献１）には、図５Ｂ（ｃ）に示すように、ストリームＡのバッファ５０３への取り込み終了時点ｔeからストリームＢのバッファ５０３への取り込みを開始し、バッファ５０３がオバーフローしそうな時はバッファへの取り込みを停止するようにしてバッファ５０３への取り込みを早くし、ストリームＢのデコード時刻を図５Ｂ（ｃ）に示すｔsとし、動画の連続性が途切れる時間（デコード時刻の連続性が損なわれる時間）をなるべく少なくするという提案がなされている。
【００２１】
しかしながら、この方法も動画の連続性が途切れる問題を改善することはできるものの、まだ改良の余地を残していた。
【００２２】
従って、本発明は上述した課題に鑑みてなされたものであり、その目的は、動画の連続再生において、動画の連続性が途切れることを極力抑制することである。
【課題を解決するための手段】
【００２３】
上述した課題を解決し、目的を達成するために、本発明に係わる画像再生装置は、フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置において、符号化された画像データ列を一時的に蓄積するバッファ手段と、該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段と、前記バッファ手段の蓄積サイズを前記画像再生装置が再生可能な符号化データ列の要求する蓄積サイズの最大値の２倍以上に設定し、符号化された第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させ、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出させるように、前記バッファ手段と前記バッファサイズ設定手段と前記デコード時刻算出手段とを制御する制御手段と、を具備することを特徴とする。
【００２４】
また、本発明に係わる画像再生装置は、フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置において、符号化された画像データ列を一時的に蓄積するバッファ手段と、該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段と、符号化された第１の画像データ列の要求する蓄積サイズを前記バッファ手段の蓄積サイズとして設定し、前記第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させ、前記第２の画像データ列の要求する蓄積サイズの値と先行する前記第１の画像データ列の要求する蓄積サイズの値との和の値を前記バッファ手段の蓄積サイズとして設定し直し、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出させるように、前記バッファ手段と前記バッファサイズ設定手段と前記デコード時刻算出手段とを制御する制御手段と、を具備することを特徴とする。
【００２５】
また、本発明に係わる画像再生装置の制御方法は、フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置であって、符号化された画像データ列を一時的に蓄積するバッファ手段と、該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段とを備える画像再生装置を制御する方法であって、前記バッファサイズ設定手段により、前記バッファ手段の蓄積サイズを前記画像再生装置が再生可能な符号化データ列の要求する蓄積サイズの最大値の２倍以上に設定するバッファサイズ設定工程と、符号化された第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させるデータ取り込み工程と、前記デコード時刻算出手段により、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出するデコード時刻算出工程と、を具備することを特徴とする。
【００２６】
また、本発明に係わる画像再生装置の制御方法は、フレーム間符号化手法を用いて符号化された画像データ列を再生する画像再生装置であって、符号化された画像データ列を一時的に蓄積するバッファ手段と、該バッファ手段の蓄積サイズを設定するバッファサイズ設定手段と、符号化された画像データ列を前記バッファ手段からデコーダに出力させるタイミングであるデコード時刻を算出するデコード時刻算出手段とを備える画像再生装置を制御する方法であって、前記バッファサイズ設定手段により、符号化された第１の画像データ列の要求する蓄積サイズを前記バッファ手段の蓄積サイズとして設定するバッファサイズ設定工程と、前記第１の画像データ列を前記バッファ手段に取り込み終わった直後に、符号化された第２の画像データ列の前記バッファ手段への取り込みを開始させるデータ取り込み工程と、前記第２の画像データ列の要求する蓄積サイズの値と先行する前記第１の画像データ列の要求する蓄積サイズの値との和の値を前記バッファ手段の蓄積サイズとして設定し直すバッファサイズ再設定工程と、前記デコード時刻算出手段により、前記第１の画像データ列の前記バッファ手段への取り込みが終了した時刻に基づいて、前記第２の画像データ列のデコード時刻を算出するデコード時刻算出工程と、を具備することを特徴とする。
【００２７】
また、本発明に係わるプログラムは、上記の制御方法をコンピュータに実行させることを特徴とする。
【００２８】
また、本発明に係わる記憶媒体は、上記のプログラムをコンピュータ読取可能に記憶したことを特徴とする。
【発明の効果】
【００２９】
本発明によれば、動画の連続再生において、動画の連続性が途切れることを極力抑制することが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
【００３１】
（第１の実施形態）
図１は、本発明の画像再生装置の第１の実施形態の構成を示す図である。
【００３２】
図１において、１０１は記録媒体、１０２は再生回路、１０３はバッファ、１０４は再生データの出力端子、１０５はバッファ占有量検出回路、１０６はバッファサイズ検出回路、１０７はvbv_delay検出回路、１０８はバッファ取り込み開始検出回路、１０９はバッファ取り込み終了検出回路、１１０はデコード時刻計算回路、１１１はバッファサイズ決定回路、１１２は制御回路である。
【００３３】
再生モードに入るとバッファサイズ決定回路１１１は、本実施形態の画像再生装置で扱えるバッファサイズの最大値ＶＦmaxを制御回路１１２に送出する。制御回路１１２はバッファサイズ決定回路１１１から入力されたバッファサイズの最大値ＶＦmaxの２倍の値
ＶＳ＝ＶＦmax×２        …（５）
を計算し、バッファ１０３にサイズＶＳを設定する。
【００３４】
再生指示を受けると、制御回路１１２は記録媒体１０１から指定されたストリームＡを再生するように再生回路１０２を制御し、再生回路１０２は記録媒体１０１から再生データのストリームＡを読み出し、バッファ１０３に書き込んでいく。バッファ１０３の再生データの書き込み、読み出しのシミュレーションの様子を図４に示す。
【００３５】
制御回路１１２は図４に示す時刻ｔ0までストリームＡを記録媒体から再生回路１０２を通して読み出し、バッファ１０３に書き込んでいく。そして、時刻ｔ0でバッファ１０３に取り込まれたストリームＡのデータＶ0を読み出し、出力端子１０４に出力し、不図示の復号器に供給する。
【００３６】
ここで時刻ｔ0はデコード時刻計算回路１１０で以下のように計算される。
【００３７】
図１のvbv_delay検出回路１０７で検出されたストリームＡのvbv_delayA(0)がデコード時刻計算回路１１０に供給される。また、バッファ取り込み開始検出回路１０８で検出されたストリームＡのバッファ１０３への取り込み開始時刻ｔαもデコード時刻計算回路１１０に供給される。デコード時刻計算回路１１０は時刻ｔαとvbv_delayA(0)から、
ｔ0＝ｔα＋vbv_delayA(0)        …（１）
と時刻ｔ0を計算し、制御回路１１２にデコード時刻ｔ0を供給する。
【００３８】
制御回路１１２は時刻がｔ0になった時、バッファ１０３からストリームＡの再生データＶ0を読み出して出力端子１０４に供給し、不図示のデコーダに再生データを供給する。
【００３９】
図４に示す時刻ｔ0以降のデコード時刻ｔqは、デコード時刻計算回路１１０により、
ｔq＝ｔ0＋Ｔv×ｑ    （ｑ＝０，１，２，…）      …(２)
で計算され、制御回路１１２に供給される。ここでＴvは画像データのフレーム周波数（例えば２９.９７Ｈｚ）の逆数である。
【００４０】
制御回路１１２は時刻ｔ0以降も連続して記録媒体１０１からストリームＡを再生回路１０２を介して再生し、バッファ１０３に書き込んでいく。そしてデコード時刻計算回路１１０から供給されるデコード時刻を元に、時刻ｔ1，ｔ2，…でバッファ１０３から再生データＶ1，Ｖ2，…を読み出して出力端子１０４に出力し、不図示の復号器に供給する。
【００４１】
図４に示すように、時刻ｔeの時点でストリームＡの記録媒体１０１からの読み出しが終了する。したがって、この時点で制御回路１１２は記録媒体１０１から次の再生ストリームＢを再生回路１０２を介して読み出し、バッファ１０３に書き込み始める（図４、時刻ｔe後の実線で示す折れ線）。
【００４２】
ここで、バッファサイズ検出回路１０６はストリームＢのvbv_buffer_size（＝v_size(B)）を検出し、ストリームＡの再生時に検出したストリームＡのvbv_buffer_size（＝v_size(A)）との和がバッファ１０３の設定サイズＶＳを越えていないかチェックする。
【００４３】
バッファ占有量検出回路１０５はバッファ１０３での再生データの占有量を検出し、制御回路１１２に占有量を通知する。制御回路１１２はバッファ占有量検出回路１０５から供給されるバッファ占有量がバッファ１０３に設定したバッファサイズＶＳを越えないか監視し、越えそうな場合は記録媒体からの再生を止め、バッファ１０３へのデータの取り込みを中断する。
【００４４】
図４に示すように、制御回路１１２は時刻ｔn-2，ｔn-1でそれぞれストリームＡの再生データＶn-2，Ｖn-1をバッファ１０３から読み出し、最後に時刻ｔnでストリームＡの再生データＶnをバッファ１０３から読み出してストリームＡの不図示の復号器への再生を終える。
【００４５】
vbv_delay検出回路１０７はストリームＢの最初のvbv_delay値(＝vbv_delayB(0))をストリームＢから検出し、デコード時刻計算回路１１０に供給する。また、バッファ取り込み終了検出回路１０９はストリームＡの記録媒体１０１からの読み出し終了時刻ｔe（図４の時刻ｔe）を検出し、デコード時刻計算回路１１０に供給する。
【００４６】
デコード時刻計算回路１１０は、
ｔy＝ｔe＋vbv_delayB(0)      …(６)
を計算し、制御回路１１２に供給する。
【００４７】
制御回路１１２は時刻ｔyが、
(ｔy−ｔ0) mod（Ｔv）≠０      …(７)
であれば（ただし、Ａ mod ＢはＡをＢで割った余りを表わす）、時刻ｔyで記録媒体１０１からのストリームＢの読み出しを止め、バッファ１０３への書き込みを中断する（図４の時刻ｔyから時刻ｔn+1の時間）。
【００４８】
デコード時刻計算回路１１０はストリームＢのデコード開始時刻ｔkを、
ｔy≦ｔn+1      …(８)
であれば、
ｔk＝ｔn+1      …(９)
と計算する。
【００４９】
ここでｔn+1はストリームＡの最後のデータＶnのバッファ１０３からの読み出し時刻ｔnに対して、
ｔn+1＝ｔn＋Ｔv      …(１０)
である。
【００５０】
従ってストリームＢの時刻ｔk（時刻ｔn+1（＝ｔn＋Ｔv））後のデコード時刻ｔuは、
ｔu＝ｔk＋Ｔv×ｕ    （ｕ＝０，１，２，…）      …(１１)
で計算される。
【００５１】
一方、
ｔy＞ｔn+1      …(１２)
である場合には、（７）式を満たす場合は、
ｔk＝ｔ0＋[ｔy−ｔ0−（(ｔy−ｔ0) mod（Ｔv））]＋Ｔv      …(１２)
であり、
(ｔy−ｔ0) mod（Ｔv）＝０      …(１３)
の場合は、
ｔk＝ｔ0＋[ｔy−ｔ0]＝ｔy      …(１４)
となる。
【００５２】
従ってストリームＢの時刻ｔk以後のデコード時刻ｔuは
ｔu＝ｔk＋Ｔv×ｕ    （ｕ＝０，１，２，…）      …(１１)
と計算される。
【００５３】
デコード時刻計算回路１１０は、上記に説明したようにストリームＢのデコード時刻ｔuを計算し、制御回路１１２に供給し、制御回路１１２はデコード時刻計算回路１１０からのデコード時刻に従ってバッファ１０３からストリームＢの再生データを読み出して出力端子１０４に供給する。言い換えれば、制御回路１１２は、そのデコード時刻に従ってバッファ１０３を制御して再生データをバッファから読み出し（図４のｔn+1(ｔk)，ｔn+1(ｔk＋Ｔv×ｕ)，…，ｔu，…の各時刻）、出力端子１０４に出力し、不図示の復号器へ再生データを供給する。
【００５４】
以上、説明したように、再生時、再生装置が取りうる最大vbv_buffer_sizeの少なくとも２倍のバッファサイズをバッファに用意し、先行するストリームＡの再生データの最後のデータが記録媒体から読み出される時点ｔeを検出し、その読み出し終了時点ｔeから次のストリームＢの再生データのバッファへの取り込みを開始するようにする。即ち、バッファへの取り込みがvbv_buffer_sizeを越えてもストリームＢのデータをバッファに取り込めるようにし、ストリームＢの再生時刻をストリームＡの読み出し終了時刻ｔeから計算し直して再生するようにしたことで、ストリームＡからストリームＢへの再生移行期にデコード時間の連続性が途切れるのを最小限にすることができ、動画像の連続性の中断も最小限にすることができるようになった（本実施形態では、ｔy≦ｔn+1の場合は、図４に示すようにデコード時刻の連続性は保たれ、動画像はスムーズに再生される）。
【００５５】
（第２の実施形態）
図２は、本発明の画像再生装置の第２の実施形態の構成を示す図である。
【００５６】
図２において、１０１は記録媒体、１０２は再生回路、１０３はバッファ、１０４は再生データの出力端子、１０５はバッファ占有量検出回路、１０６はバッファサイズ検出回路、１０８はバッファ取り込み開始検出回路、１０９はバッファ取り込み終了検出回路、１１１はバッファサイズ決定回路、１１２は制御回路、２０１はビットレート検出回路、２０２はデコード時刻計算回路である。
【００５７】
第１の実施形態と同様の働きをするものには図１と同じ番号が付されている。以下、第１の実施形態と異なる個所についてのみ説明する。
【００５８】
ストリームＡを記録媒体１０１から再生してバッファ１０３に取り込み始めた際に、バッファサイズ検出回路１０６はストリームＡのvbv_buffer_size（＝v_size(A)）を検出し、デコード時刻計算回路２０２に供給する。ビットレート検出回路２０１はストリームＡのビットレートＲａを検出し、デコード時刻計算回路２０２に供給する。バッファ取り込み開始検出回路１０８はストリームＡのバッファ１０３への取り込み開始時刻ｔαを検出し、デコード時刻計算回路２０２に供給する。
【００５９】
デコード時刻計算回路２０２は、ストリームＡのデコード時刻ｔ0を、
ｔ0＝ｔα＋v_size(A)／Ｒａ      …（１４）
と計算し、制御回路１１２にデコード時刻ｔ0を供給する。
【００６０】
時刻ｔ0以降のデコード時刻ｔqは、デコード時刻計算回路２０２により、
ｔq＝ｔ0＋Ｔv×ｑ    （ｑ＝０，１，２，…）      …(２)
と計算され、制御回路１１２に供給される。
【００６１】
次にバッファ取り込み終了検出回路１０９がストリームＡのバッファ１０３へのデータの取り込み終了時刻ｔeを検出し、デコード時刻計算回路２０２、制御回路１１２に供給する。
【００６２】
バッファサイズ検出回路１０６はストリームＢのvbv_buffer_size（＝v_size(B)）を検出し、デコード時刻計算回路２０２に供給する。ビットレート検出回路２０１はストリームＢのビットレートＲｂを検出し、デコード時刻計算回路２０２に供給する。
【００６３】
デコード時刻計算回路２０２は、
ｔy＝ｔe＋v_size(B)／Ｒｂ      …(１５)
を計算し、時刻ｔyを制御回路１１２に供給する。
【００６４】
その後のストリームＢのデコード開始時刻ｔk、デコード時刻ｔuの計算、及びストリームＢのバッファへの取り込み、読み出しの仕方は第１の実施形態と同様である。
【００６５】
以上、説明したように、第１の実施形態と同様に再生時、再生装置が取りうる最大vbv_buffer_sizeの少なくとも２倍のバッファサイズをバッファに用意し、先行するストリームＡの再生データの最後のデータが記録媒体から読み出される時点ｔeを検出し、その読み出し終了時点ｔeから次のストリームＢの再生データのバッファへの取り込みを開始するようにする。即ち、バッファへの取り込みがvbv_buffer_sizeを越えてもストリームＢのデータをバッファに取り込めるようにして、ストリームＢの再生時刻をストリームＡの読み出し終了時刻ｔeとストリームＢのビットレート、およびvbv_buffer_sizeから計算し直して再生するようにした。これにより、ストリームＡからストリームＢへの再生移行期にデコード時間の連続性が途切れるのを最小限にすることができ、動画像の連続性の中断も最小限にすることができるようになった（本実施形態では、ｔy≦ｔn+1の場合は、図４に示すようにデコード時刻の連続性は保たれ、動画像はスムーズに再生される）。
【００６６】
（第３の実施形態）
図３は、本発明の画像再生装置の第３の実施形態の構成を示す図である。
【００６７】
図３において、１０１は記録媒体、１０２は再生回路、１０３はバッファ、１０４は再生データの出力端子、１０５はバッファ占有量検出回路、１０６はバッファサイズ検出回路、１０７はvbv_delay検出回路、１０８はバッファ取り込み開始検出回路、１０９はバッファ取り込み終了検出回路、１１０はデコード時刻計算回路、３０１はバッファサイズ決定回路、３０２は制御回路である。
【００６８】
第１の実施形態と同様の働きをするものには図１と同じ番号が付されている。以下、第１の実施形態と異なる個所についてのみ説明する。
【００６９】
記録媒体１０１に記録されているストリームＡの再生が開始され、バッファサイズ検出回路１０６はストリームＡのvbv_buffer_size（＝v_size(A)）を検出し、バッファサイズ決定回路３０１に供給する。バッファサイズ決定回路３０１はストリームＡのvbv_buffer_size＝v_size(A)の値を、
Ｖsize ＝v_size(A)      …(１６)
としてＶsizeの値を制御回路３０２に供給する。
【００７０】
制御回路３０２はＶsize（＝v_size(A) ）の値をバッファ１０３のサイズとして設定する。
【００７１】
ストリームＡの再生開始時刻ｔ0、デコード時刻ｔqの導出、及びバッファの取り込み、読み出し制御等は第１の実施形態又は第２の実施形態と同様である。
【００７２】
次にストリームＡのバッファ１０３への取り込みが終わった時刻ｔeからストリームＢをバッファ１０３に取り込み始めた時、バッファサイズ検出回路１０６はストリームＢのvbv_buffer_size（＝v_size(B)）を検出し、バッファサイズ決定回路３０１に供給する。  バッファサイズ決定回路３０１はストリームＡのvbv_buffer_size＝v_size(A)の値とストリームＢのvbv_buffer_size＝v_size(B)の和を、
Ｖsize＝v_size(A)＋v_size(B)      …(１７)
として計算し、Ｖsizeの値を制御回路３０２に供給する。
【００７３】
制御回路３０２はＶsize（＝v_size(A)＋v_size(B)）の値をバッファ１０３のサイズとして設定し直す。
【００７４】
ストリームＡの読み出し制御、ストリームＢのバッファへの取り込み、読み出し制御、デコード開始時刻ｔk 、デコード時刻ｔuの計算等は第１の実施形態又は第２の実施形態と同様である。
【００７５】
ストリームＡのバッファ１０３からの最後のデータＶnの読み出しが終わった時刻ｔnにおいて、制御回路３０２はバッファサイズ決定回路３０１にストリームＡのバッファからの掃き出しが終了した通知をする。
【００７６】
バッファサイズ決定回路３０１はストリームＡのバッファからの掃き出しが終了したことを知るとＶsizeとしてストリームＢのvbv_buffer_size ＝v_size(B)から、
Ｖsize＝v_size(B)      …(１８)
と設定し、制御回路３０２に供給する。
【００７７】
制御回路３０２はバッファサイズ決定回路３０１から供給されたＶsize＝v_size(B)をバッファ１０３のサイズとして設定し直す。
【００７８】
時刻ｔn以後のストリームＢのバッファへの取り込み、読み出し制御、デコード開始時刻ｔk 、デコード時刻ｔuの計算等は第１の実施形態又は第２の実施形態と同様である。
【００７９】
以上説明したように、つなぎ再生をする際に、先行するストリームＡのvbv_buffer_size＝v_size(A)を検出し、ストリームＡの再生データのみがバッファに存在している間はバッファのサイズをストリームＡのvbv_buffer_size＝v_size(A)とする。そして、ストリームＡの最後のデータが記録媒体から読み出される時点ｔeを検出し、その読み出し終了時点ｔeから次のストリームＢのバッファへの取り込みを開始するようにする。そして、ストリームＢのvbv_buffer_size＝v_size(B)を検出し、ストリームＡとストリームＢがバッファに混在している間はバッファのサイズをv_size(A)＋v_size(B)に設定し直しすることで、ストリームＢのバッファへの取り込みがvbv_buffer_sizeを越えてもデータをバッファに取り込めるようにする。そして、ストリームＢの再生時刻をストリームＡの読み出し終了時刻ｔeから計算し直して再生するようにしたことで、ストリームＡからストリームＢへの再生移行期にデコード時間の連続性が途切れるのを最小限にすることができ、動画像の連続性の中断も最小限にすることができるようになった（本実施形態では、ｔy≦ｔn+1の場合は、図４に示すようにデコード時刻の連続性は保たれ、動画像はスムーズに再生される）。
【００８０】
（他の実施形態）
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８３】
【図１】本発明の画像再生装置の第１の実施形態の構成を示す図である。
【図２】本発明の画像再生装置の第２の実施形態の構成を示す図である。
【図３】本発明の画像再生装置の第３の実施形態の構成を示す図である。
【図４】本発明の画像再生装置における動画像データのバッファモデルを説明するための図である。
【図５Ａ】従来の動画像データのバッファモデルを説明するための図である。
【図５Ｂ】従来の動画像データのバッファモデルを説明するための図である。
【図６】従来の動画像データの記録形式を説明するための図である。
【符号の説明】
【００８４】
１０１  記録媒体
１０２  再生回路
１０３  バッファ
１０４  出力端子
１０５  バッファ占有量検出回路
１０６  バッファサイズ検出回路
１０７  vbv_delay検出回路
１０８  バッファ取り込み開始検出回路
１０９  バッファ取り込み終了検出回路
１１０  デコード時刻計算回路
１１１  バッファサイズ決定回路
１１２  制御回路
２０１  ビットレート検出回路
２０２  デコード時刻計算回路
３０１  バッファサイズ決定回路
【図１】
2006066995.tif 000003
【図２】
2006066995.tif 000004
【図３】
2006066995.tif 000005
【図４】
2006066995.tif 000006
【図５Ａ】
2006066995.tif 000007
【図５Ｂ】
2006066995.tif 000008
【図６】
2006066995.tif 000009