(57)【特許請求の範囲】
【請求項１】
フレーム内予測及びフレーム間予測により符号化された各ピクチャから構成されるビデオストリームの再生方法を特定する情報を受け付ける受付部と、
前記ビデオストリームを取得するストリーム取得部と、
前記ストリーム取得部によって取得された前記ビデオストリームのピクチャ構成を解析する解析部と、
前記受付部によって受け付けられた情報が特定する再生方法と、前記解析部によって解析されたピクチャ構成とに対応する、前記ビデオストリームに含まれた複数のピクチャの復号の順序及び出力の順序を示す再生制御情報を取得する制御情報取得部と、
前記制御情報取得部によって取得された前記再生制御情報が示す復号の順序に従って、前記ストリーム取得部によって取得された前記ビデオストリームを構成する各ピクチャを復号する復号部と、
前記制御情報取得部によって取得された前記再生制御情報が示す出力の順序に従って、前記復号部によって復号された各ピクチャを出力する出力部と、
複数の再生方法それぞれと複数のピクチャ構成それぞれとの組合わせに対応する複数の再生制御情報を保持する保持部を備え、
前記制御情報取得部は、前記保持部によって保持されている複数の前記再生制御情報のなかから、前記受付部によって受け付けられた情報が特定する再生方法と、前記解析部によって解析されたピクチャ構成とに対応する前記再生制御情報を取得する動画像再生装置。
【請求項２】
前記解析部は、所定の数のピクチャで構成される最小単位構造毎に、前記ビデオストリームのピクチャ構成を解析する
請求項１に記載の動画像再生装置。
【請求項３】
更に、複数の再生制御情報を取得する再生制御情報群取得部を備え、
前記保持部は、前記再生制御情報群取得部によって取得された複数の前記再生制御情報を保持する
請求項１に記載の動画像再生装置。
【請求項４】
更に、
前記再生制御情報の更新情報を取得する更新情報取得部と、
前記更新情報取得部によって取得された前記更新情報に基づいて、前記保持部によって保持されている前記再生制御情報を更新する更新部と
を備える請求項１に記載の動画像再生装置。
【請求項５】
前記制御情報取得部は、前記受付部によって受け付けられた情報が特定する再生方法と、前記解析部によって解析されたピクチャ構成とに対応する前記再生制御情報が前記保持部によって保持されているか否かを判断し、保持されていないと判断した場合、前記受付部によって受け付けられた情報が特定する再生方法に対応し、前記解析部によって解析されたピクチャ構成に近似する再生制御情報を取得する
請求項１に記載の動画像再生装置。
【請求項６】
各前記再生制御情報には、自身に対応するピクチャ構成と異なるピクチャ構成を有するビデオストリームの各ピクチャの復号の順序及び出力の順序を示す部分再生情報が含まれており、
前記復号部は、前記再生制御情報に含まれている前記部分再生情報に従って、前記ビデオストリームを構成する各ピクチャを復号し、
前記出力部は、前記再生制御情報に含まれている前記部分再生情報に従って、前記復号部によって復号された各ピクチャを出力する
請求項５に記載の動画像再生装置。
【請求項７】
フレーム内予測及びフレーム間予測により符号化された各ピクチャから構成されるビデオストリームの再生方法を特定する情報を受け付けるステップと、
前記ビデオストリームを取得するステップと、
取得した前記ビデオストリームのピクチャ構成を解析するステップと、
受け付けた情報が特定する再生方法と解析したピクチャ構成とに対応する、前記ビデオストリームに含まれた複数のピクチャの復号の順序及び出力の順序を示す再生制御情報を取得するステップと、
取得した前記再生制御情報が示す復号の順序に従って、取得した前記ビデオストリームを構成する各ピクチャを復号するステップと、
取得した前記再生制御情報が示す出力の順序に従って、復号した各ピクチャを出力するステップと、
複数の再生方法それぞれと複数のピクチャ構成それぞれとの組合わせに対応する複数の再生制御情報を保持するステップを備え、
前記取得するステップは、前記保持するステップによって保持されている複数の前記再生制御情報のなかから、前記受け付けるステップによって受け付けられた情報が特定する再生方法と、前記解析するステップによって解析されたピクチャ構成とに対応する前記再生制御情報を取得する動画像再生方法。
【請求項８】
フレーム内予測及びフレーム間予測により符号化された各ピクチャから構成されるビデオストリームの再生方法を特定する情報を受け付ける機能と、
前記ビデオストリームを取得する機能と、
取得した前記ビデオストリームのピクチャ構成を解析する機能と、
受け付けた情報が特定する再生方法と解析したピクチャ構成とに対応する、前記ビデオストリームに含まれた複数のピクチャの復号の順序及び出力の順序を示す再生制御情報を取得する機能と、
取得した前記再生制御情報が示す復号の順序に従って、取得した前記ビデオストリームを構成する各ピクチャを復号する機能と、
取得した前記再生制御情報が示す出力の順序に従って、復号した各ピクチャを出力する機能と、
複数の再生方法それぞれと複数のピクチャ構成それぞれとの組合わせに対応する複数の再生制御情報を保持する機能を備え、
前記取得する機能は、前記保持する機能によって保持されている複数の前記再生制御情報のなかから、前記受け付ける機能によって受け付けられた情報が特定する再生方法と、前記解析する機能によって解析されたピクチャ構成とに対応する前記再生制御情報を取得することをコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化されたビデオストリームを再生する技術に関する。
【背景技術】
【０００２】
従来、ＭＰＥＧ２ビデオ規格やＨ．２６４／ＭＰＥＧ−４  ＡＶＣ（Advanced Video Coding）規格等のフレーム内符号化及びフレーム間予測符号化により符号化された、Ｉ（Ｉｎｔｒａ）ピクチャと、Ｐ（Ｐｒｅｄｉｃｔ）ピクチャと、Ｂ（ＢｉＰｒｅｄｉｃｔ）ピクチャとで構成されるビデオストリームを通常再生する場合、以下のように処理する。先ず、Ｉピクチャから次のＩピクチャの一つ手前のピクチャまでの複数のピクチャで構成されるＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）の単位でストリームの構成を調べ、通常再生するのに適したストリーム構成表を作成する。そして、その表に基づいて各ピクチャを復号し、それによりビデオストリームの通常再生を実現する。
【０００３】
ビデオストリームの逆方向のＩＰＢ再生を行う場合、通常再生を実行する場合と同様に、先ずストリーム構成表を作成する。そして、その表に基づいてＢピクチャをスキップしてＩピクチャとＰピクチャとを先に復号し、その後にＢピクチャを復号することを繰り返し、それにより逆方向のＩＰＢ再生を実現する。
【０００４】
特許文献１は、ビデオストリームを構成する各ピクチャの復号順番を記載したストリーム構造表を作成し、その表に従って、３枚のピクチャを保持するバッファを用いて逆方向のＩＰＢ再生を実現する方法を開示している。
【０００５】
また、特許文献２は、ビデオストリームを構成する各ピクチャの復号順序を記載したデコーディング走査テーブルを作成し、そのテーブルに従って、１ＧＯＰ内のＩピクチャとＰピクチャの全部と、更に２枚のピクチャとを保持するバッファを用いて逆方向のＩＰＢ再生を実現する方法を開示している。
【０００６】
特許文献１及び特許文献２に代表される従来のビデオストリームのＩＰＢ逆再生の手順を、１ＧＯＰが下記の構成の１５フレームで構成されている場合を例にとって説明する。
【０００７】
（１ＧＯＰの構成）「Ｉ２Ｂ０Ｂ１Ｐ５Ｂ３Ｂ４Ｐ８Ｂ６Ｂ７Ｐ１１Ｂ９Ｂ１０Ｐ１４Ｂ１２Ｂ１３」
上記構成の“Ｉ”，“Ｐ”，及び“Ｂ”それぞれはピクチャのタイプを示しており、“Ｉ”，“Ｐ”，及び“Ｂ”それぞれとその添字との組は１枚のピクチャを示している。添字は、そのピクチャの通常再生時の出力順序を示している。以下でも、同様の表現を用いる。
【０００８】
従来の再生方法では、ＧＯＰ単位で、先ず、ビデオストリームの構成を調べ、ストリーム構成表（特許文献１では「ストリーム構造表」と記載されており、特許文献２では「デコーディング走査テーブル」と記載されている。）を作成する。ストリーム構成表は、ＧＯＰ単位でビデオストリームを構成する各ピクチャの通常再生時の復号及び出力の順序を特定する表である。
【０００９】
そして、ＧＯＰ毎に、作成したストリーム構成表に基づいて、通常再生時の出力の順序が最後のピクチャであるＰ１４を復号するために、全てのＢピクチャをスキップし、Ｉ２，Ｐ５，Ｐ８，Ｐ１１，及びＰ１４の各ピクチャをその順序で復号する。
【００１０】
Ｐ１４の復号が終了するとＰ１４をすぐに出力する。バッファが３枚のピクチャしか保持することができない場合、Ｐ１４を出力した時点では、Ｐ１１とＰ１４とがバッファに残っている。そのため、Ｐ１４を出力すると、Ｐ１１とＰ１４とを参照ピクチャとしてＢ１３を復号してすぐに出力する。次に、Ｂ１２を、Ｂ１３と同様にして復号しすぐに出力する。Ｐ１１は既に復号していてバッファにより保持しているので、Ｂ１２の出力に続いてＰ１１を出力する。
【００１１】
次に、Ｂ１０を復号することになるが、Ｂ１０を復号するためには参照ピクチャとしてＰ８とＰ１１とが必要である。そのため、改めてＩ２，Ｐ５，Ｐ８，及びＰ１１の各ピクチャをその順序で復号する。Ｐ１１の復号を終了したとき、バッファにはＰ８とＰ１１とが残っているので、それらを参照してＢ１０とＢ９とを順次復号して出力する。それに続いて、バッファにより保持しているＰ８を出力する。
【００１２】
以下同様にして、Ｉ２，Ｐ５，及びＰ８を復号した後にＢ７とＢ６とをその順序で復号して出力し、それに続いてバッファにより保持しているＰ５を出力する。次に、Ｉ２及びＰ５を復号した後にＢ４とＢ３とをその順序で復号して出力する。それに続いてバッファにより保持しているＩ２を出力する。最後にＢ１及びＢ０を復号することになるが、説明を簡単にするため、Ｂ１及びＢ０についてはＣｌｏｓｅｄ−ＧＯＰにおける復号を行うこととし、Ｉ２を参照ピクチャとしてＢ１とＢ０とをその順序で復号して出力する。このようにして、ＩＰＢ逆再生を実行する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０００−７８５２３号公報
【特許文献２】特開７−９５５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述したように、従来は、ＩピクチャとＰピクチャとＢピクチャとで構成されている符号化されたビデオストリームを再生する場合、その再生が通常再生であっても逆再生等の特殊再生であっても、各ピクチャを復号する前に、ストリーム構成表を作成する。ストリーム構成表を作成する処理の負荷は大きい。
【００１５】
また、従来は、特殊再生を行う場合であっても通常再生時のストリーム構成表を作成する。そのため、実際に特殊再生を実行するとき、通常再生時のストリーム構成表から各ピクチャの復号及び出力の順序を決定しなければならず、その処理の負荷は大きい。更に、従来は、通常再生時のストリーム構成表から特殊再生を実行する際の各ピクチャの復号及び出力の順序を決定するために、再生装置の規模が大きかったり、再生を実行するためのプログラムが複雑になっていたりして、再生のパフォーマンスが低いという課題が存在している。
【００１６】
本発明は、小さい処理負荷でビデオストリームを再生する技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決し上記目的を達成するために、本発明の動画像再生装置は、フレーム内予測及びフレーム間予測により符号化された各ピクチャから構成されるビデオストリームの再生方法を特定する情報を受け付ける受付部と、前記ビデオストリームを取得するストリーム取得部と、前記ストリーム取得部によって取得された前記ビデオストリームのピクチャ構成を解析する解析部と、前記受付部によって受け付けられた情報が特定する再生方法と、前記解析部によって解析されたピクチャ構成とに対応する、前記ビデオストリームに含まれた複数のピクチャの復号の順序及び出力の順序を示す再生制御情報を取得する制御情報取得部と、前記制御情報取得部によって取得された前記再生制御情報が示す復号の順序に従って、前記ストリーム取得部によって取得された前記ビデオストリームを構成する各ピクチャを復号する復号部と、前記制御情報取得部によって取得された前記再生制御情報が示す出力の順序に従って、前記復号部によって復号された各ピクチャを出力する出力部と、複数の再生方法それぞれと複数のピクチャ構成それぞれとの組合わせに対応する複数の再生制御情報を保持する保持部を備え、前記制御情報取得部は、前記保持部によって保持されている複数の前記再生制御情報のなかから、前記受付部によって受け付けられた情報が特定する再生方法と、前記解析部によって解析されたピクチャ構成とに対応する前記再生制御情報を取得する。
【００１８】
また、本発明の動画像再生方法は、フレーム内予測及びフレーム間予測により符号化された各ピクチャから構成されるビデオストリームの再生方法を特定する情報を受け付けるステップと、前記ビデオストリームを取得するステップと、取得した前記ビデオストリームのピクチャ構成を解析するステップと、受け付けた情報が特定する再生方法と解析したピクチャ構成とに対応する、前記ビデオストリームに含まれた複数のピクチャの復号の順序及び出力の順序を示す再生制御情報を取得するステップと、取得した前記再生制御情報が示す復号の順序に従って、取得した前記ビデオストリームを構成する各ピクチャを復号するステップと、取得した前記再生制御情報が示す出力の順序に従って、復号した各ピクチャを出力するステップと、複数の再生方法それぞれと複数のピクチャ構成それぞれとの組合わせに対応する複数の再生制御情報を保持するステップを備え、前記取得するステップは、前記保持するステップによって保持されている複数の前記再生制御情報のなかから、前記受け付けるステップによって受け付けられた情報が特定する再生方法と、前記解析するステップによって解析されたピクチャ構成とに対応する前記再生制御情報を取得する。
【００１９】
更に、本発明の動画像再生装置の各構成要件の機能をコンピュータに実現させるためのプログラムも、本発明の一態様である。
【発明の効果】
【００２０】
本発明によれば、小さい処理負荷でビデオストリームを再生する技術を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１の再生装置の構成図である。
【図２】ピクチャ構造解析データを示す図である。
【図３】第１の再生制御シナリオを示す図である。
【図４】第２の再生制御シナリオを示す図である。
【図５】第３の再生制御シナリオの前半部を示す図である。
【図６】第３の再生制御シナリオの後半部を示す図である。
【図７】第４の再生制御シナリオを示す図である。
【図８】動画像を再生する手順を示すフローチャートである。
【図９】バッファを開放する手順を示すフローチャートである。
【図１０】実施の形態１の再生制御シナリオを選択する手順の第１部を示すフローチャートである。
【図１１】実施の形態１の再生制御シナリオを選択する手順の第２部を示すフローチャートである。
【図１２】実施の形態１の再生制御シナリオを選択する手順の第３部（最終部）を示すフローチャートである。
【図１３】実施の形態１の変形例の再生装置の構成図である。
【図１４】実施の形態２の再生装置の構成図である。
【図１５】第５の再生制御シナリオを示す図である。
【図１６】第６の再生制御シナリオの前半部を示す図である。
【図１７】第６の再生制御シナリオの後半部を示す図である。
【図１８】第６の再生制御シナリオを示す図である。
【図１９】実施の形態２の再生制御シナリオを選択する手順の前半部を示すフローチャートである。
【図２０】実施の形態２の再生制御シナリオを選択する手順の後半部を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下に、本発明を実施するための形態を図面を参照して説明する。
【００２３】
（実施の形態１）
本発明の動画像再生装置に係る実施の形態１の再生装置１００の構成及び動作を説明する前に、再生装置１００の概要を説明する。再生装置１００は、画像及び音が符号化されたストリームを再生する装置であって、小さい処理負荷でビデオストリームを再生する点に特徴を有する。
【００２４】
すなわち、再生装置１００は、複数の再生方法それぞれと、複数のピクチャ構成それぞれとの組合わせについて、各ピクチャの復号の順序と出力の順序と示す再生制御シナリオを予め保持している。「再生方法」は、通常再生、又は、逆方向の再生等である。「ピクチャ構成」は、多数のピクチャで構成されるストリームにおける最小単位構造（ＧＯＰ）のタイプを特定する情報である。
【００２５】
再生装置１００は、再生を実行する際、ストリームのピクチャ構成を解析し、解析結果と指定された再生方法とに対応する再生制御シナリオを選択し、それに従って、各ピクチャの復号と、装置外部への出力とを行う。再生装置１００は、再生を実行する際に、各ピクチャの復号及び出力の順序を決定せず、予め用意されている再生制御シナリオを用いて各ピクチャの復号及び出力を行う。これにより、再生装置１００の処理の負荷は、従来より小さくなっている。以下に、再生装置１００の構成及び動作を具体的に説明する。
【００２６】
先ず、実施の形態１の再生装置１００の構成を図１を用いて説明する。図１は、実施の形態１の再生装置１００の構成図である。再生装置１００は、符号化された画像及び音の各データが含まれるストリームを再生する装置であって、図１に示すように、入力部１と、受付部２と、指示部３と、ストリーム取得部４と、要求部５と、ストリームバッファ６と、ＰＩＤ解析部７と、分離部８と、画像ＥＳバッファ９と、音ＥＳバッファ１０と、構造解析部１１と、シナリオデータベース１２と、選択部１３と、制御部１４と、画像復号部１５と、復号画像バッファ１６と、管理部１７と、最終バッファ１８と、画像出力部１９と、音復号部２０と、音出力部２１とを有する。
【００２７】
再生装置１００の各構成部を詳述する前に、再生装置１００が再生するストリーム等を説明する。実施の形態１では、再生対象のストリームは、再生装置１００に接続される、再生装置１００の外部の蓄積媒体１０１によって保持されている。なお、蓄積媒体１０１は、再生装置１００に含まれていてもよい。ストリームは、ＭＰＥＧ２ビデオ規格のＴｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ（ＴＳ）として蓄積媒体１０１に記録されている。ＴＳでは、ストリームの構成を特定する情報が、Ｐｒｏｇｒａｍ  Ｓｐｅｃｉｆｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ（ＰＳＩ）のＰｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ（ＰＭＴ）に記録される。つまり、画像の符号化モード及びパケットＩＤ（ＰＩＤ）と、音の符号化モード及びパケットＩＤとが、ＰＭＴに記録されている。
【００２８】
次に、再生装置１００を構成する各構成部を順に説明する。
【００２９】
入力部１は、ユーザが再生対象のストリームの再生指示を再生装置１００に入力するための構成部である。例えば、再生装置１００がカムコーダに搭載されていて、その表示部に再生可能な複数のストリームそれぞれの代表のサムネイルが表示されている場合において、ユーザが再生対象のストリームを選択するためのボタン及び再生指示ボタン等が入力部１である。ユーザは、再生対象のストリームの再生指示を入力する際、再生方法を特定する情報も、入力部１を用いて再生装置１００に入力する。再生方法を特定する情報とは、具体的には、通常再生を実行するのか、逆再生等の特殊再生を実行するのかを特定する情報である。
【００３０】
受付部２は、ユーザが入力部１を用いて再生装置１００に入力した、再生対象のストリームの再生指示と、再生方法を特定する情報とを受け付ける。指示部３は、受付部２が再生指示と再生方法を特定する情報とを受け付けると、ストリーム取得部４に対して、蓄積媒体１０１から再生対象のストリームを取得する準備を行うように指示する。また、指示部３は、要求部５に対して、再生対象のストリームを要求するように指示する。また、指示部３は、ＰＩＤ解析部７に対して、再生対象のストリームを構成する各データのＰＩＤを分離部８に通知するように指示する。更に、指示部３は、構造解析部１１に対して、再生対象のストリームに含まれる各ＧＯＰを構成するピクチャの構造を解析するように指示する。
【００３１】
ストリーム取得部４は、指示部３からの指示に従って、蓄積媒体１０１の中の再生対象のストリームを含むファイルを開き、そのストリームを構成するデータを取得可能な状態で待機する。要求部５は、指示部３からの指示に従って、ストリーム取得部４に対して、再生対象のストリームを構成するデータを自身に出力するように要求する。ストリーム取得部４は、要求部５からの要求に応じて、再生対象のストリームを蓄積媒体１０１から取得して要求部５に出力する。具体的には、要求部５は、ストリーム取得部４に対して、データのサイズを指定して再生対象のストリームを構成するデータを要求し、ストリーム取得部４は、要求部５によって指定されたサイズのデータを蓄積媒体１０１から読み出して要求部５に出力する。
【００３２】
ストリームバッファ６は、要求部５がストリーム取得部４から取得したストリームを一時的に保持する構成部である。要求部５は、ストリーム取得部４から取得したデータをストリームバッファ６に格納して一時的に保持させる。
【００３３】
ＰＩＤ解析部７は、指示部３からの指示に従って、蓄積媒体１０１から再生対象のストリームを読み出してＰＭＴを解析し、そのストリームを構成する画像及び音の各データのＰＩＤを分離部８に通知する。ＰＩＤ解析部７は、各データのＰＩＤの分離部８への通知を、そのデータが分離部８に供給される前に行う。
【００３４】
分離部８は、ＰＩＤ解析部７からの各データのＰＩＤに従って、ストリームバッファ６によって保持されたデータを、画像のＥｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍのデータ（画像ＥＳデータ）と、音のＥＳのデータ（音ＥＳデータ）とに分離する。画像ＥＳバッファ９は、画像ＥＳデータを一時的に保持する構成部であり、音ＥＳバッファ１０は、音ＥＳデータを一時的に保持する構成部である。分離部８は、画像ＥＳデータを画像ＥＳバッファ９に格納して一時的に保持させ、音ＥＳデータを音ＥＳバッファ１０に格納して一時的に保持させる。
【００３５】
分離部８は、ストリームバッファ６に保持されているデータの量が所定の量を下回った場合、その旨を示す下限情報を要求部５に通知する。「所定の量」は、アンダーフローによる異常が発生する直前の量である。要求部５は、分離部８から下限情報を受け取ると、ストリーム取得部４に対して、自身へデータを出力するように要求する。ストリーム取得部４は、要求部５からの要求に従って、再生対象のストリームを構成するデータを蓄積媒体１０１から読み出して要求部５に出力する。要求部５は、ストリーム取得部４から取得したデータをストリームバッファ６に格納する。これにより、ストリームバッファ６に保持されるデータの量が所定の量を下回る状態は長く続かず、アンダーフローによる動作の異常は発生しない。
【００３６】
なお、再生装置１００がカムコーダに搭載される場合、蓄積媒体１０１は、ＦＬＡＳＨメモリ、ＳＤカード、又はハードディスク（ＨＤ）等である。そのため、蓄積媒体１０１からのデータの読み出しが実行される際、ランダムアクセスの読み出し遅延や、振動による影響での読み出しの瞬間的な停止等の異常が発生することがある。したがって、画像の再生時間に換算して少なくとも２秒から３秒以上のデータを保持することができるストリームバッファ６を用いるのが適切である。
【００３７】
構造解析部１１は、ＧＯＰ単位で、各ＧＯＰに含まれる各ピクチャの構造を解析し、すなわちＧＯＰにおけるＩＰＢ各ピクチャの順序を解析し、ピクチャ構造解析データを生成して保持する。図２は、ピクチャ構造解析データを示す図である。ピクチャ構造解析データは、４個のＧＯＰのデータを含む。図２では、４個のＧＯＰ２０１と、各ＧＯＰ２０１を形成する各ピクチャ２０３の複数の属性２０４とが示されている。複数の属性２０４それぞれの定義は次の通りである。
【００３８】
「Ｐｉｃｔｕｒｅ  Ｔｙｐｅ」は、ピクチャが“Ｉ”と“Ｐ”と“Ｂ”とのうちのいずれであるのかを示す情報である。「Ｔｅｍｐｏｒａｌ  Ｒｅｆｅｒｅｎｃｅ」は、ＭＰＥＧ２ビデオ規格における各ピクチャの出力の順序を示す番号である。Ｈ．２６４規格では、「Ｔｅｍｐｏｒａｌ  Ｒｅｆｅｒｅｎｃｅ」の代わりに「Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ（ＰＯＣ）」が用いられ、それによって出力の順序が示される。構造解析部１１は、ピクチャ属性データをＭＰＥＧ２のストリームとＨ．２６４のストリームとを一つの規則で管理する。そのため、構造解析部１１は、Ｈ．２６４のストリームを構成する各ピクチャについては、「ＰＯＣ」が示す値に「１」を加えて「Ｔｅｍｐｏｒａｌ  Ｒｅｆｅｒｅｎｃｅ」の形式の番号に変換し、変換後の値を各ピクチャの出力の順序を示す情報として保持する。
【００３９】
「Ｄｉｓｐｌａｙ  Ｆｌａｇ」は、ピクチャが表示可能であるか否かを示すフラグである。高速再生を実行する場合、いくつかのピクチャは飛ばされる。つまり、供給されるピクチャの不連続が発生する。ＧＯＰがＯｐｅｎ符号化されている場合、先頭２枚のＢピクチャは直前のＧＯＰの最後のＰピクチャを参照することになるが、高速再生を実行する場合、参照ピクチャが供給されないことがある。その場合、先頭２枚のＢピクチャを正しく復号することができず、ストリーム供給時に表示禁止フラグが付加される。そのため、不連続なＧＯＰの先頭２枚のＢピクチャの「Ｄｉｓｐｌａｙ  Ｆｌａｇ」に「ＦＡＬＳＥ」が記載され、復号及び表示を実行する必要がないことが示される。
【００４０】
「Ｒｅｆｅｒｅｎｃｅ  Ｆｌａｇ」は、ピクチャが参照ピクチャであるか否かを示す情報である。ＭＰＥＧ２ビデオ規格では、Ｉピクチャ及びＰピクチャのみが参照ピクチャとなるが、Ｈ．２６４規格では、Ｂピクチャも参照ピクチャになる場合がある。
【００４１】
「Ｈ／Ｗ  ｓｉｚｅ」は、画像の垂直及び水平それぞれのサイズを示す情報である。「ＰＴＳ／ＤＴＳ」の「ＰＴＳ」は、ＭＰＥＧ２ビデオ規格で規定される「Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ（表示時刻）」であり、「ＰＴＳ／ＤＴＳ」の「ＤＴＳ」は、「Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ  Ｓｔａｍｐ（デコード開始時刻）」である。
【００４２】
「ＲｅｆＬｉｓｔ」は、参照ピクチャのインデックスである。復号対象のピクチャがＰピクチャである場合、その前方の１枚のピクチャのみが参照ピクチャとなり、復号対象のピクチャがＢピクチャである場合、その前後のピクチャが参照ピクチャとなる。
【００４３】
「ＥＳ  ａｄｄｒｅｓｓ」は、画像ＥＳバッファ９に格納された各画像ＥＳデータの先頭のアドレスを示す情報であり、「ＥＳ  ｌｅｎｇｔｈ」は、画像ＥＳバッファ９に格納された各画像ＥＳデータのサイズを示す情報である。
【００４４】
構造解析部１１は、各ＧＯＰについてそのＧＯＰに属する全てのピクチャの「Ｐｉｃｔｕｒｅ  Ｔｙｐｅ」を解析した後に、そのＧＯＰに含まれるピクチャの構成を特定する「Ｍ／Ｎ」２０２を調べる。「Ｍ」は、Ｉピクチャとその直後のＰピクチャとの距離をピクチャの枚数で示す値である。また、「Ｍ」は、各Ｐピクチャについてその直後のＰピクチャとの距離をピクチャの枚数で示す値でもある。つまり、「Ｍ」は、直近の参照ピクチャ相互の距離をピクチャの枚数で示す値である。「Ｎ」は１ＧＯＰを構成するピクチャの総数を示す値である。
【００４５】
１ＧＯＰの構成が「ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢ」である場合、「Ｍ」の値は“３”であり、「Ｎ」の値は“１５”である。以下では、「Ｍ／Ｎ」を「ピクチャ構成」と記載する。ＭＰＥＧ２ビデオ規格又はＨ．２６４規格によって符号化されたピクチャの構成は、Ｍ＝３／Ｎ＝１５、Ｍ＝３／Ｎ＝１２、及び、Ｍ＝２／Ｎ＝１４等がよく用いられる。
【００４６】
シナリオデータベース１２は、複数のピクチャ構成それぞれと、複数の再生方法それぞれとの組合わせに対応する複数の再生制御シナリオを保持している。再生制御シナリオは、ＧＯＰ単位で、ストリームを構成する各ピクチャの復号の順序と出力の順序とを示す情報である。つまり、再生制御シナリオは、１ＧＯＰの再生手順をデータ構造化した情報である。シナリオデータベース１２は、複数のピクチャ構成それぞれについて、順方向ＩＰＢの再生制御シナリオ、順方向ＩＰの再生制御シナリオ、Ｉ−Onlyの再生制御シナリオ、逆方向ＩＰＢの再生制御シナリオ、及び、逆方向ＩＰの再生制御シナリオを保持している。再生制御シナリオの例については、図３から図７を用いて後述する。
【００４７】
図１に戻る。選択部１３は、ＧＯＰ単位で、構造解析部１１がピクチャ構成を特定した後に、特定されたピクチャ構成と、受付部２が受け付けた情報によって特定される再生方法とに対応する再生制御シナリオを、シナリオデータベース１２によって保持されている複数の再生制御シナリオのなかから選択して取得し、制御部１４に供給する。
【００４８】
制御部１４は、選択部１３から供給された再生制御シナリオに従って各ピクチャの復号及び出力を制御する。画像復号部１５は、制御部１４による制御に従って、ピクチャを復号する。復号画像バッファ１６は、画像復号部１５によって復号されたピクチャ（以下、画像と呼ぶことがある）を一時的に保持する。図１では、復号画像バッファ１６は１個のみ示されているが、実際は、復号画像バッファ１６は複数個存在し、それぞれには１枚のピクチャのみが保持される。復号画像バッファ１６の個数は、ピクチャの参照及び出力による遅延と装置の規模等とを考慮して、「５」から「８」が適切である。これにより、特殊再生についても効率良く再生することができる。
【００４９】
管理部１７は、複数の復号画像バッファ１６それぞれを管理する。例えば、管理部１７は、複数の復号画像バッファ１６のなかから、画像復号部１５によって復号される画像を保持させるバッファを決定する。最終バッファ１８は、復号された画像を再生装置１００の外部に出力するために、復号画像バッファ１６から復号された画像を取得して保持する。画像出力部１９は、制御部１４による制御に従って、最終バッファ１８から出力対象の画像を取得して再生装置１００の外部に出力する。以下に、再生制御シナリオの具体例と、各ピクチャの復号及び出力と、復号画像バッファ１６の管理方法とを詳細に説明する。
【００５０】
先ず、再生制御シナリオの具体例を図３を用いて説明する。再生制御シナリオは、上述したように、１ＧＯＰの再生手順をデータ構造化した情報であって、図３は、Ｍ＝３／Ｎ＝１５のピクチャ構成を有するＧＯＰのＩＰＢ通常再生時の再生制御シナリオを示している。以下では、図３の再生制御シナリオを「順方向ＩＰＢの再生制御シナリオ」と記載する。ＭＰＥＧ２ビデオ規格やＨ．２６４規格ではピクチャ構成の自由度は高いが、カムコーダにより記録されるピクチャの構成は、図３の順方向ＩＰＢの再生制御シナリオに示す「Ｍ＝３／Ｎ＝１５」の構成が一般的である。
【００５１】
図３の再生制御シナリオにおいて、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」は、復号の順序を示す番号である。１つの「Ｓｃｅｎａｒｉｏ  Ｎｏ．」には、復号対象のピクチャを特定するために「ＧＯＰ  Ｎｏ．」と「Ｐｉｃｔｕｒｅ  Ｎｏ．」とが割り当てられる。それら２つの番号により、各「Ｓｃｅｎａｒｉｏ  Ｎｏ．」での復号対象のピクチャが特定される。再生制御シナリオは図１のシナリオデータベース１２に格納されている。このシナリオデータベース１２に格納されている「ＧＯＰ  Ｎｏ．」は相対的な数として定義されている。図２のピクチャ構造解析データのＧＯＰ２０１のＧＯＰ番号０の復号を行う場合は、ピクチャ構造解析データのＧＯＰ番号０にシナリオデータベースの相対番号「ＧＯＰ  Ｎｏ．」を加算した数を使ってピクチャ構造解析データにアクセスする。ＩＰＢ通常再生時の再生制御シナリオを実行する場合は、再生制御シナリオの「ＧＯＰ  Ｎｏ．」は、図２のピクチャ構造解析データのＧＯＰ２０１の番号に対応するように、“０”，“１”，“２”，“３”と値が「１」ずつ増加し、“３”の後は“０”に戻るように制御される。
【００５２】
「Ｐｉｃｔｕｒｅ  Ｔｙｐｅ」は、ピクチャが“Ｉ”と“Ｐ”と“Ｂ”とのうちのいずれであるのかを示す情報である。なお、「ＧＯＰ  Ｎｏ．」及び「Ｐｉｃｔｕｒｅ  Ｎｏ．」と、図２のピクチャ構造解析データとを用いると、各ピクチャの「Ｐｉｃｔｕｒｅ  Ｔｙｐｅ」を特定することができる。そのため、「Ｐｉｃｔｕｒｅ  Ｔｙｐｅ」は、再生制御シナリオに含まれなくてもよい。
【００５３】
「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」は、復号が完了して出力対象となるピクチャを特定する番号であり、それは、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」により特定される。図３の再生制御シナリオでは、「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．４」に対応するフィールドに“４”が記載されている。それは、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”であるピクチャが復号されると、そのピクチャが出力対象となることを示している。「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の一つのフィールドには２個の「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が含まれることがある。それは、そのフィールドに含まれる２個の「Ｓｃｅｎａｒｉｏ  Ｎｏ．」それぞれに対応する２枚のピクチャが出力対象であることを示している。複数枚のピクチャが出力指定されている場合は記載の順序に出画処理を行う。ピクチャの出力が必要ない場合はシナリオデータ構造は0xFFなどの特別な値を格納しておけばよい。
【００５４】
「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」は、強制的に開放させる復号画像バッファ１６を示す情報である。開放させるバッファは、そのバッファに保持されているＰピクチャの「Ｓｃｅｎａｒｉｏ  Ｎｏ．」により特定される。順方向の通常再生を実行する場合、復号される全てのピクチャが出力されるので、いずれの復号画像バッファ１６も強制的に開放しなくてもよい。そのため、図３の「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」には何も記載されていない。強制開放しない場合はシナリオデータ構造は0xFFなどの特別な値を格納しておけばよい。
【００５５】
「Ｂ−Ｂｕｆ  Ｋｅｅｐ」は、開放させない復号画像バッファ１６を示す情報である。開放させないバッファは、そのバッファに保持されているＢピクチャの「Ｓｃｅｎａｒｉｏ  Ｎｏ．」により特定される。Ｈ．２６４規格における参照Ｂピクチャは、復号して出力が完了した後でも参照される場合がある。そのため、Ｂピクチャを保持するバッファであっても、そのバッファを開放させない場合があり、その場合のバッファが「Ｂ−Ｂｕｆ  Ｋｅｅｐ」により特定される。順方向の通常再生を実行する場合、Ｂピクチャは参照ピクチャとはならないので、図３の「Ｂ−Ｂｕｆ  Ｋｅｅｐ」には何も記載されていない。開放させないバッファが不要の場合はシナリオデータ構造は0xFFなどの特別な値を格納しておけばよい。
【００５６】
次に、図３の順方向ＩＰＢの再生制御シナリオを用いて各ピクチャの復号の順序と出力の順序とを説明する。上述したように、図３は、Ｍ＝３／Ｎ＝１５のピクチャ構成を有するＧＯＰのＩＰＢ通常再生時の再生制御シナリオを示している。
【００５７】
先ず、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“０”であるピクチャ、すなわち、ＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝０のＩ２が復号されるように、画像復号部１５を制御する。具体的には、制御部１４は、画像復号部１５に対して、図２のピクチャ構造解析データのＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝０のピクチャ属性データの「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」を供給するとともに、復号の開始を指示する。
【００５８】
画像復号部１５は、供給されたＩ２の「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」に基づいて、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“０”のピクチャの画像ＥＳデータを画像ＥＳバッファ９から取得してＩ２を復号し、復号したＩ２を復号画像バッファ１６に格納する。そして、最終バッファ１８は、復号画像バッファ１６に格納されたＩ２を取得して保持する。図３の順方向ＩＰＢの再生制御シナリオの「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」のフィールドには何も記載されていない。そのため、画像復号部１５によるＩ２の復号が完了しても、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“０”であるＩ２は再生装置１００の外部にすぐには出力されない。
【００５９】
次に、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１”であるピクチャ、すなわち、ＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝１のＢ０が復号されるように、制御部１４は、画像復号部１５を制御する。具体的には、制御部１４は、画像復号部１５に対して、図２のピクチャ構造解析データのＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝１のピクチャ属性データの「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」を供給するとともに、復号の開始を指示する。
【００６０】
ＧＯＰがＣｌｏｓｅｄ−ＧＯＰである場合、又は、復号対象のピクチャがストリームの先頭から数えて１番目のＢピクチャであってそれに先行する２枚の参照ピクチャが存在しない場合、Ｂ０を復号するとき、直前のＩピクチャであるＩ２のみが参照ピクチャとなる。そのため、画像復号部１５は、供給されたＢ０の「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」に基づいて、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１”であるピクチャの画像ＥＳデータを画像ＥＳバッファ９から取得するとともに、復号されたＩ２を復号画像バッファ１６から取得する。画像復号部１５は、取得したＩ２を参照ピクチャとしてＢ０を復号し、復号したＢ０を復号画像バッファ１６に格納する。そして、最終バッファ１８は、復号画像バッファ１６に格納されたＢ０を取得して保持する。
【００６１】
図３の順方向ＩＰＢの再生制御シナリオの「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．１」に対応するフィールドには“１”が記載されている。そのため、画像復号部１５によって復号されたＢ０が最終バッファ１８へ格納されると、画像出力部１９は、復号されたＢ０を最終バッファ１８から取得して再生装置１００の外部に出力する。なお、画像出力部１９は、ピクチャの出力タイミングを管理しており、再生対象のストリームがフレーム構造のストリームであれば、周期２９．９７Ｈｚで１枚の復号された画像を再生装置１００の外部に出力する。復号の速度は出画の速度より早いので、最終バッファ１８には常に何枚かの復号画像が保持され、アンダーフローによる異常は発生しない。
【００６２】
次に、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２”であるピクチャ、すなわち、ＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝２のＢ１が復号されるように、制御部１４は、画像復号部１５を制御する。Ｂ１の復号は、Ｂ０の復号と同じであるので、その説明は省略する。画像復号部１５は、Ｂ１の復号を完了すると、復号したＢ１を復号画像バッファ１６に格納する。そして、最終バッファ１８は、復号画像バッファ１６に格納されたＢ１を取得して保持する。
【００６３】
図３の順方向ＩＰＢの再生制御シナリオの「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．２」に対応するフィールドには“２，０”が記載されている。「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２”であるピクチャはＢ１であり、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“０”であるピクチャはＩ２である。そのため、画像復号部１５によって復号されたＢ１が最終バッファ１８へ格納されると、画像出力部１９は、復号されたＢ１を最終バッファ１８から取得して再生装置１００の外部に出力する。それに続いて、画像出力部１９は、復号されたＩ２を最終バッファ１８から取得して再生装置１００の外部に出力する。
【００６４】
ＭＰＥＧ２ビデオ規格又はＨ．２６４規格のストリームでは、非参照ピクチャであるＢピクチャより前にＩピクチャ又はＰピクチャの参照ピクチャを復号する必要があるが、出力の順序は復号の順序と異なる。そのため、画像出力部１９は、Ｂ０を出力した後にＢ１を出力し、その後にＩ２を出力する。ピクチャを示す“Ｉ”“Ｐ”及び“Ｂ”それぞれの添字の数は、そのピクチャの通常再生時の出力の順序を示している。
【００６５】
次に、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“３”であるピクチャ、すなわち、ＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝３のＰ５が復号されるように、制御部１４は、画像復号部１５を制御する。具体的には、制御部１４は、画像復号部１５に対して、図２のピクチャ構造解析データのＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝３のピクチャ属性データの「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」を供給するとともに、復号の開始を指示する。
【００６６】
画像復号部１５は、供給されたＰ５の「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」に基づいて、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“３”のピクチャの画像ＥＳデータを画像ＥＳバッファ９から取得するとともに、復号されたＩ２を復号画像バッファ１６から取得する。画像復号部１５は、取得したＩ２を参照してＰ５を復号し、復号した画像を復号画像バッファ１６に格納する。そして、最終バッファ１８は、復号画像バッファ１６に格納されたＰ５を取得して保持する。図３の順方向ＩＰＢの再生制御シナリオの「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．３」に対応する箇所には何も記載されていない。そのため、画像復号部１５によるＰ５の復号が完了しても、「Ｓｃｅｎａｒｉｏ  Ｎｏ．３」のＰ５は再生装置１００の外部にすぐには出力されない。
【００６７】
次に、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”であるピクチャ、すなわち、ＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝４のＢ３が復号されるように、制御部１４は、画像復号部１５を制御する。具体的には、制御部１４は、画像復号部１５に対して、図２のピクチャ構造解析データのＧＯＰ＝０／Ｐｉｃｔｕｒｅ＝４のピクチャ属性データの「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」を供給するとともに、復号の開始を指示する。
【００６８】
画像復号部１５は、供給されたＢ３の「ＥＳ  ａｄｄｒｅｓｓ」及び「ＥＳ  ｌｅｎｇｔｈ」に基づいて「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”のピクチャの画像ＥＳデータを画像ＥＳバッファ９から取得する。それとともに、画像復号部１５は、復号されたＩ２及びＰ５を復号画像バッファ１６から取得する。画像復号部１５は、取得したＩ２及びＰ５を参照してＢ３を復号し、復号したＢ３を復号画像バッファ１６に格納する。そして、最終バッファ１８は、復号画像バッファ１６に格納されたＢ３を取得して保持する。
【００６９】
図３の順方向ＩＰＢの再生制御シナリオの「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．４」に対応する箇所には“４”が記載されており、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”であるピクチャはＢ３である。そのため、画像復号部１５によって復号されたＢ３が最終バッファ１８へ格納されると、画像出力部１９は、復号されたＢ３を最終バッファ１８から取得して再生装置１００の外部に出力する。
【００７０】
以降、上述したようにして、画像復号部１５は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」の順に各ピクチャを復号し、画像出力部１９は、「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の順に各ピクチャを再生装置１００の外部に出力する。
【００７１】
制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１４”であるピクチャ、すなわち、ＧＯＰの最後の処理ピクチャの出力が完了すると、選択部１３に対して、次のＧＯＰの再生制御シナリオを自身に出力するように要求する。選択部１３は、制御部１４からの要求に従って、「ＧＯＰ  Ｎｏ．」が“０”の次の“１”に対応する再生制御シナリオをシナリオデータベース１２から取得して制御部１４に供給する。
【００７２】
一つのストリームでは、ピクチャ構成は、いずれのＧＯＰでも同じであるとして説明する。そのため、選択部１３は、「ＧＯＰ  Ｎｏ．」が“１”に対応する再生制御シナリオとして、図３に示す再生制御シナリオと同じ再生制御シナリオ（順方向ＩＰＢの再生制御シナリオ）を選択する。制御部１４は、選択部１３から供給された再生制御シナリオの「ＧＯＰ  Ｎｏ．」を値“１”だけ増加させる。
【００７３】
「ＧＯＰ  Ｎｏ．」が“１”であるＧＯＰの各ピクチャの復号及び出力は、「ＧＯＰ  Ｎｏ．」が“０”であるＧＯＰの各ピクチャと同様に実行される。すなわち、復号は、「ＧＯＰ＝１／Ｐｉｃｔｕｒｅ＝０」のピクチャから開始され、「Ｐｉｃｔｕｒｅ  Ｎｏ．」の順に「Ｐｉｃｔｕｒｅ＝１４」のピクチャまで行われる。ピクチャの出力は、「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の順に行われる。
【００７４】
以下、同様にして、各ＧＯＰの各ピクチャの復号及び出力が行われる。
【００７５】
なお、実施の形態１では、ピクチャ構造解析データは、４個のＧＯＰのデータを含む。そのため、復号が開始されて４個のＧＯＰ（４ＧＯＰ×１５枚のピクチャ）の出力が完了すると、処理されるＧＯＰは、ＧＯＰ［３］から次のピクチャ構造解析データのＧＯＰ［０］に移行し、復号及び出力は継続する。構造解析部１１は、全てのピクチャの復号及び出力が完了し、いずれのピクチャも参照されなくなり、それらのピクチャを含むＧＯＰのピクチャ構造解析データの使用が終了すると、その次のピクチャ構造解析データを得るために、次の処理を行う。すなわち、構造解析部１１は、分離部８に対してストリームを自身に出力するように要求してストリームを取得してピクチャの構造を解析し、次のピクチャ構造解析データを生成して保持する。このようにして、構造解析部１１は、常に有効なピクチャ構造解析データを保持する。
【００７６】
また、ＧＯＰがＯｐｅｎ−ＧＯＰである場合、ストリームの先頭から２つ目以降のＧＯＰの先頭２枚のＢピクチャは、直前のＧＯＰの最後のＰピクチャ（Ｐ１４）と復号中のＧＯＰのＩピクチャ（Ｉ２）との２枚のピクチャを参照して復号される。
【００７７】
次に、復号画像バッファ１６の管理方法を説明する。管理部１７は、上述したように、複数の復号画像バッファ１６を管理する。すなわち、管理部１７は、画像復号部１５によって復号された画像を保持するためのバッファを決定し、参照ピクチャとして用いられる画像をバッファに保持させ、更に、不要となった画像を保持するバッファを開放する。復号画像バッファ１６の状態は、「未使用」、「復号中」、「復号完了」、「出画中」、又は、「参照中」である。「未使用」は、使用されていない状態を示す。「復号中」は、画像を復号するために使用されている状態を示す。「復号完了」は、復号された出力対象の画像を保持している状態を示す。「出画中」は、保持している画像が出力されている状態を示す。「参照中」は、参照ピクチャを保持している状態を示す。「復号完了」した後に出画しないまま参照されるピクチャは「参照中」の状態となる。あるいは復号後に出画して「出画中」となり、出画が完了した時において参照される場合も「参照」の状態である。
【００７８】
管理部１７は、復号の開始時には、複数の復号画像バッファ１６から「未使用」の１枚のバッファを確保し、そのバッファを「復号中」に設定する。管理部１７は、復号が完了すると、そのバッファを「復号完了」に設定する。また、管理部１７は、出力中の画像を保持するバッファを「出画中」に設定し、出力が完了しかつ参照ピクチャとして用いられない画像を保持するバッファを「未使用」に設定する。「未使用」に設定されたバッファは再利用される。
【００７９】
実施の形態１の再生装置１００は、図１に示すように、音復号部２０及び音出力部２１も有する。音復号部２０は、音ＥＳバッファ１０によって保持された音ＥＳデータをフレーム毎に復号する。具体的には、音復号部２０は、フレーム毎のＤＴＳ、アドレス、及びサイズを利用して、フレーム毎に音を再生する。音出力部２１は、音復号部２０によって再生された音を再生装置１００の外部に出力する。
【００８０】
再生装置１００の各構成部の機能と再生制御シナリオの例は、上述した通りである。次に、図３の順方向ＩＰＢの再生制御シナリオ以外の複数の再生制御シナリオと、それら複数の再生制御シナリオそれぞれにおける各ピクチャの復号及び出力を、図４から図７を用いて説明する。
【００８１】
図４は、Ｍ＝３／Ｎ＝１５のピクチャ構成を有するＧＯＰについて順方向にＩピクチャ及びＰピクチャのみを再生する際の再生制御シナリオを示す図である。以下では、「順方向にＩピクチャ及びＰピクチャのみを再生すること」を「順方向ＩＰピクチャサーチ」と記載する。ピクチャ構成が「Ｍ＝３／Ｎ＝１５」である場合、順方向ＩＰピクチャサーチにより、順方向のストリームの再生を通常再生に比べて３倍速で実現することができる。また、図４の再生制御シナリオを「順方向ＩＰの再生制御シナリオ」と記載する。
【００８２】
次に、Ｍ＝３／Ｎ＝１５のピクチャ構成の順方向ＩＰピクチャサーチを実行する手順を説明する。
【００８３】
例えば、再生装置１００がカムコーダに搭載されている場合、通常再生の実行中にカムコーダのサーチボタン（入力部１の一例）が１回押されると、受付部２は、サーチボタンが押されたことを示す情報を受け付ける。指示部３は、その情報に従って、現在の再生状態が通常再生の状態であり、順方向に３倍速で再生すべきことが指示されたと判断し、選択部１３に対して、順方向の３倍速での再生を実行するための再生制御シナリオ（順方向ＩＰの再生制御シナリオ）を選択するように指示する。
【００８４】
通常再生から「順方向ＩＰピクチャサーチ」への再生方法の切り替えは、処理中のＧＯＰの処理が完了した直後に行われるようにする。そのため、選択部１３は、処理中のＧＯＰの最後のピクチャの出力が完了した直後に、指示部３からの指示に従って、「Ｍ＝３／Ｎ＝１５のピクチャ構成」と「順方向ＩＰピクチャサーチ」とに対応する、図４の順方向ＩＰの再生制御シナリオを、シナリオデータベース１２によって保持されている複数の再生制御シナリオのなかから選択して取得する。
【００８５】
選択部１３は、取得した順方向ＩＰの再生制御シナリオの「ＧＯＰ  Ｎｏ．」を、処理されるＧＯＰの番号が連続するようにする。例えば、通常再生の最後のＧＯＰが「ＧＯＰ  Ｎｏ．２」のＧＯＰであったとすると、選択部１３は、順方向ＩＰの再生制御シナリオの「ＧＯＰ  Ｎｏ．」を、“３”に変更する。また例えば、通常再生の最後のＧＯＰが「ＧＯＰ  Ｎｏ．４」のＧＯＰであったとすると、選択部１３は、順方向ＩＰの再生制御シナリオの「ＧＯＰ  Ｎｏ．」を、“０”にする。以下では、通常再生の最後のＧＯＰが「ＧＯＰ  Ｎｏ．４」のＧＯＰであったと仮定する。
【００８６】
選択部１３は、処理されるＧＯＰの番号が連続するようにして、順方向ＩＰの再生制御シナリオを制御部１４に供給する。
【００８７】
制御部１４は、選択部１３から供給された、図４の再生制御シナリオに従って各ピクチャの復号及び出力を制御する。すなわち、制御部１４は、最初に、「ＧＯＰ  Ｎｏ．＝０／Ｐｉｃｕｔｕｒｅ  Ｎｏ．＝０」のＩ２が復号され、復号が完了すると直ちにＩ２が再生装置１００の外部に出力されるように制御する。続いて、制御部１４は、復号済みのＩ２を参照してＰ５が復号され、復号が完了すると直ちにＰ５が再生装置１００の外部に出力されるように制御する。残りのＰピクチャ（Ｐ８，Ｐ１１，Ｐ１４）についても、全て直前に復号されたＰピクチャ（Ｐ５，Ｐ８，Ｐ１１）を参照して順に復号され、復号が完了すると直ちに再生装置１００の外部に出力されるように、制御部１４は制御する。
【００８８】
図５及び図６は、Ｍ＝３／Ｎ＝１５のピクチャ構成を有するＧＯＰについて逆方向に全てのピクチャを再生する際の再生制御シナリオを示す図である。図５は、その再生制御シナリオの前半部を示しており、図６は、その再生制御シナリオの後半部を示している。以下では、「逆方向に全てのピクチャを再生すること」を「逆方向ＩＰＢ再生」と記載する。また、図５及び図６の再生制御シナリオを「逆方向ＩＰＢの第１の再生制御シナリオ」と記載する。
【００８９】
次に、Ｍ＝３／Ｎ＝１５のピクチャ構成の逆方向ＩＰＢ再生を実行する手順を説明する。以下では、Ｏｐｅｎ−ＧＯＰを有するストリームの再生の手順を説明する。選択部１３は、「Ｍ＝３／Ｎ＝１５のピクチャ構成」と「逆方向ＩＰＢ再生」とに対応する図５及び図６の逆方向ＩＰＢの第１の再生制御シナリオを、シナリオデータベース１２によって保持されている複数の再生制御シナリオのなかから選択して取得して制御部１４に供給する。
【００９０】
逆方向ＩＰＢ再生を実行する場合、最初に再生装置１００から出力されるピクチャはＰ１４である。Ｐ１４を復号するためには、復号されたＩ２，Ｐ５，Ｐ８，及びＰ１１が必要である。そのため、先ず、制御部１４は、「ＧＯＰ  Ｎｏ．＝０」の「Ｐｉｃｕｔｕｒｅ  Ｎｏ．」が“０”，“３”，“６”，及び“９”である各ピクチャ、すなわち、Ｉ２，Ｐ５，Ｐ８，及びＰ１１が順に復号されるように制御する。次に、制御部１４は、Ｐ１１を参照してＰ１４が復号され、復号が完了すると直ちにＰ１４が再生装置１００の外部に出力されるように制御する。
【００９１】
具体的には、先ず、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“０”であるＩ２を復号させる。次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１”であるＰ５を、Ｉ２を参照して復号させる。復号画像バッファ１６の個数には制限があるので、不要なバッファはできるだけ開放して再利用する必要がある。そこで、図５及び図６の再生制御シナリオには、復号画像バッファ１６を強制的に開放させるために、「ＤＥＣ  ＢＵＦ  Ｒｅｌｅａｓｅ」が記載されている。上述したように、強制的に開放させるバッファは、そのバッファに保持されているピクチャの「Ｓｃｅｎａｒｉｏ  Ｎｏ．」により特定される。
【００９２】
「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１”であるＰ５の復号が完了すると、Ｉ２は参照されなくなる。そのため、図５の再生制御シナリオでは、復号されたＩ２を保持している復号画像バッファ１６を開放させるために、「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．１」に対応するフィールドには“０”が記載されている。これにより、管理部１７は、復号されたＩ２を保持している復号画像バッファ１６を開放させる。すなわち、管理部１７は、復号されたＩ２を保持している復号画像バッファ１６を「未使用」に設定する。
【００９３】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２”であるＰ８を、Ｐ５を参照して復号させる。「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２”であるＰ８の復号が完了すると、Ｐ５は参照されなくなる。そのため、復号されたＰ５を保持している復号画像バッファ１６を開放させるために、「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．２」に対応するフィールドには“１”が記載されている。これにより、管理部１７は、復号されたＰ５を保持している復号画像バッファ１６を開放させる。
【００９４】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“３”であるＰ１１を、Ｐ８を参照して復号させる。「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“３”であるＰ１１の復号が完了すると、Ｐ８は参照されなくなる。そのため、復号されたＰ８を保持している復号画像バッファ１６を開放させるために、「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．３」に対応するフィールドには“２”が記載されている。これにより、管理部１７は、復号されたＰ８を保持している復号画像バッファ１６を開放させる。
【００９５】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”であるＰ１４を、Ｐ１１を参照して復号させる。「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”であるＰ１４の復号が完了すると、制御部１４は、直ちにＰ１４を再生装置１００の外部に出力させる。「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．４」に対応するフィールドには何も記載されていない。そのため、２個の復号画像バッファ１６それぞれによって、Ｐ１１とＰ１４とが別々に保持されている。
【００９６】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“５”であるＢ１３を、Ｐ１１とＰ１４とを参照して復号させ、復号が完了すると、直ちにＢ１３を再生装置１００の外部に出力させる。
【００９７】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“６”であるＢ１２を、Ｐ１１とＰ１４とを参照して復号させ、復号が完了すると、直ちにＢ１２を再生装置１００の外部に出力させる。Ｂ１２の復号が完了すると、Ｐ１１及びＰ１４は参照されなくなる。そのため、復号されたＰ１１及びＰ１４を保持している復号画像バッファ１６を開放させるために、「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．６」に対応するフィールドには“３”が記載されている。これにより、管理部１７は、復号されたＰ１１及びＰ１４を保持している復号画像バッファ１６を開放させる。
【００９８】
以降、上述したような手順により、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」の順に各ピクチャの復号が行われ、「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の順に各ピクチャの再生装置１００の外部への出力が行われる。また、「ＤＥＣ  Ｂｕｆ  Ｒｅｌｅａｓｅ」に従って復号画像バッファ１６が開放される。ところで、制御部１４は、図６の「Ｓｃｅｎａｒｉｏ  Ｎｏ．２１」において、Ｂ３をＩ２とＰ５とを参照して復号させ、復号が完了すると、Ｂ３を再生装置１００の外部に出力させ、続いてＩ２を再生装置１００の外部に出力させる。
【００９９】
次に、Ｂ１及びＢ０を復号することになるが、再生対象のＧＯＰは、上述したように、Ｏｐｅｎ−ＧＯＰである。すなわち、Ｂ１及びＢ０を復号するためには、参照ピクチャとして、「ＧＯＰ  Ｎｏ．０」のＩ２と、「ＧＯＰ  Ｎｏ．０」の直前のＧＯＰのＰ１４とが必要となる。そのため、制御部１４は、図６「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２２”から“２６”に対応する各ピクチャ、すなわち、直前のＧＯＰのＩ２，Ｐ５，Ｐ８，Ｐ１１，及びＰ１４が順に復号されるように制御する。
【０１００】
逆再生を実行する場合、ストリーム取得部４は、ＧＯＰ単位でストリームを構成するデータを蓄積媒体１０１から逆順に取得するので、ＧＯＰの再生の順序は、「ＧＯＰ  Ｎｏ．」が増加する順序になる。従って、上記の「直前のＧＯＰ」は、「ＧＯＰ  Ｎｏ．１」のＧＯＰになる。
【０１０１】
再生制御シナリオは図１のシナリオデータベース１２に格納されている。シナリオデータベースに格納されている「ＧＯＰ  Ｎｏ．」は相対的な数として定義されている。
【０１０２】
図２のピクチャ構造解析データのＧＯＰ２０１のＧＯＰ番号０の復号を行う場合は、ピクチャ構造解析データのＧＯＰ番号０にシナリオデータベースの相対番号「ＧＯＰ  Ｎｏ．」を加算した数を使ってピクチャ構造解析データにアクセスする。
【０１０３】
図６の「逆方向ＩＰＢの第１の再生制御シナリオ（後半部）」は「ＧＯＰ  Ｎｏ．」＝１が記載されている。これはピクチャ構造解析データのＧＯＰ２０１のＧＯＰ番号０の復号を行っている場合、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２２”から“２６”の間の「ＧＯＰ  Ｎｏ．」＝１の時はピクチャ構造解析データのＧＯＰ２０１のＧＯＰ番号１を復号することを示す。
【０１０４】
同様にＧＯＰ２０１のＧＯＰ番号１の復号を行う場合は、ピクチャ構造解析データのＧＯＰ番号１と２の解析データにアクセスする。
【０１０５】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２７”に対応するピクチャ、すなわち、「ＧＯＰ  Ｎｏ．０」のＩ２が復号されるように制御する。
【０１０６】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２８”であるＢ１を、「ＧＯＰ  Ｎｏ．１」の復号されたＰ１４と、「ＧＯＰ  Ｎｏ．０」の復号されたＩ２とを参照して復号させる。「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２８”であるＢ１の復号が完了すると、制御部１４は、直ちにＢ１を再生装置１００の外部に出力させる。最後に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“２９”であるＢ０を、Ｂ１と同様にして復号させて再生装置１００の外部に出力させる。
【０１０７】
その後、図５及び図６の逆方向ＩＰＢの第１の再生制御シナリオの「ＧＯＰ  Ｎｏ．」が値“１”だけ増加され、上記と同様にして逆方向ＩＰＢ再生が実行される。
【０１０８】
図７は、Ｍ＝４／Ｎ＝１２のピクチャ構成を有するＧＯＰについて逆方向に全てのピクチャを再生する際の再生制御シナリオを示す図である。以下では、図７の再生制御シナリオを「逆方向ＩＰＢの第２の再生制御シナリオ」と記載する。図７の再生制御シナリオに基づくＧＯＰの再生では、連続する３枚のＢピクチャの中央のＢピクチャが前後のＢピクチャの参照ピクチャとなる。以下に、「Ｍ＝４／Ｎ＝１２」のピクチャ構成を有するストリームの逆方向ＩＰＢ再生を実行する手順を説明する。
【０１０９】
先ず、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“０”から“２”であるピクチャ、すなわち、Ｉ２，Ｐ７，及びＰ１１が順に復号されるように制御する。制御部１４は、Ｐ１１の復号が完了すると、直ちにＰ１１を再生装置１００の外部に出力させる。
【０１１０】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“３”であるＢ９を、Ｐ７とＰ１１とを参照して復号させる。参照されないＢピクチャは、復号が完了するとすぐに再生装置１００の外部に出力されるが、Ｂ９は、参照されるＢピクチャである。そのため、Ｂ９は、復号が完了しても、すぐに再生装置１００の外部に出力させてはならない。図７の逆方向ＩＰＢの第２の再生制御シナリオでは、Ｂ９を参照ピクチャとしてバッファにより保持させるために、「Ｂ−Ｂｕｆ  Ｋｅｅｐ」の「Ｓｃｅｎａｒｉｏ  Ｎｏ．３」に対応するフィールドに“３”が記載されている。これにより、管理部１７は、復号されたＢ９を保持している復号画像バッファ１６を開放させず、Ｂ９の保持を継続させる。すなわち、管理部１７は、復号されたＢ９を保持している復号画像バッファ１６を「参照中」に設定する。
【０１１１】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“４”であるＢ１０を、Ｂ９とＰ１１とを参照して復号させる。制御部１４は、Ｂ１０の復号が完了すると、直ちにＢ１０を再生装置１００の外部に出力させ、それに続いてＢ９を再生装置１００の外部に出力させる。復号されたＢ９はＢ８の参照ピクチャとなるので、復号されたＢ９は、復号画像バッファ１６により保持される。
【０１１２】
次に、制御部１４は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“５”であるＢ８を、Ｐ７とＢ９とを参照して復号させる。制御部１４は、Ｂ８の復号が完了すると、直ちにＢ８を再生装置１００の外部に出力させ、それに続いてＰ７を再生装置１００の外部に出力させる。これ以降はＢ９は参照されないので、管理部１７は、復号されたＢ９を保持している復号画像バッファ１６を開放させる。すなわち、管理部１７は、復号されたＢ９を保持している復号画像バッファ１６を「未使用」に設定する。実際には、管理部１７は、Ｂ８の再生装置１００の外部への出力が完了した後に、Ｂ９を保持しているバッファを開放させる。
【０１１３】
以降、上述したような手順により、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」の順に各ピクチャの復号が行われ、「Ｏｕｔｐｕｔ  Ｎｕｍｂｅｒ」の順に各ピクチャの再生装置１００の外部への出力が行われる。その際、「Ｂ−Ｂｕｆ  Ｋｅｅｐ」の指示により、復号されたＢ５及びＢ１を保持する復号画像バッファ１６の開放は、２ステップの期間に渡って抑制される。
【０１１４】
図３から図７を用いて、再生制御シナリオと、再生制御シナリオに従う各ピクチャの復号及び出力とを説明した。次に、再生制御シナリオに基づく各ピクチャの復号及び出力の手順を図８を用いて説明する。図８は、動画像を再生する手順を示すフローチャートである。
【０１１５】
ユーザが、再生装置１００が搭載されているカムコーダの操作ボタン（入力部１の一例）を操作し、再生対象のストリームを特定する情報と、再生方法を特定する情報とを再生装置１００に入力すると、受付部２は、入力された再生対象のストリームを特定する情報と再生方法を特定する情報とを受け付ける（Ｓ３０１）。そうすると、指示部３は、ストリーム取得部４へストリームを取得するための準備を行うように指示する。
【０１１６】
要求部５は、ストリームバッファ６の空き容量を監視し（Ｓ３０２）、ストリームバッファ６に所定の量の空き容量がなければ（Ｓ３０２でＮｏ）、ストリームバッファ６の空き容量を監視する動作を継続する。他方、ストリームバッファ６に所定の量の空き容量があれば（Ｓ３０２でＹｅｓ）、要求部５は、ストリーム取得部４に対して、サイズを指定して、再生対象のストリームを構成するデータを自身に出力するように要求する（Ｓ３０３）。ストリーム取得部４は、要求部５からの要求に従って、再生対象のストリームを構成するデータを蓄積媒体１０１から取得して要求部５に出力する（Ｓ３０４）。要求部５は、ストリーム取得部４からのデータをストリームバッファ６に格納する（Ｓ３０５）。
【０１１７】
ストリームバッファ６にデータが蓄積され始めると、分離部８は、ストリームバッファ６によって蓄積されたデータを、画像ＥＳデータと音ＥＳデータとに分離し（Ｓ３０６）、画像ＥＳデータを画像ＥＳバッファ９に格納し、音ＥＳデータを音ＥＳバッファ１０に格納する。
【０１１８】
構造解析部１１は、１ＧＯＰを構成する画像ＥＳデータが画像ＥＳバッファ９に蓄積されたかどうかを確認する（Ｓ３０７）。１ＧＯＰを構成する画像ＥＳデータが画像ＥＳバッファ９に蓄積されていなければ（Ｓ３０７でＮｏ）、構造解析部１１は、１ＧＯＰを構成する画像ＥＳデータが画像ＥＳバッファ９に蓄積されたかどうかを確認する動作を継続する。他方、１ＧＯＰを構成する画像ＥＳデータが画像ＥＳバッファ９に蓄積されたことを確認した場合（Ｓ３０７でＹｅｓ）、構造解析部１１は、そのＧＯＰに含まれる各ピクチャの構造を解析し、ピクチャ構造解析データを生成して保持する（Ｓ３０８）。
【０１１９】
選択部１３は、解析によって特定されたピクチャ構成と、受付部２が受け付けた情報によって特定される再生方法とに対応する再生制御シナリオを、シナリオデータベース１２から取得し、制御部１４に供給する（Ｓ３０９）。
【０１２０】
管理部１７は、復号されるピクチャを保持する復号画像バッファ１６を確保し（Ｓ３１０）、画像復号部１５は、選択部１３によって取得された再生制御シナリオに従って、そのＧＯＰを構成する各ピクチャを復号する（Ｓ３１１）。画像出力部１９は、取得された再生制御シナリオに従って、復号された各ピクチャを再生装置１００の外部に出力する（Ｓ３１２）。管理部１７は、出力が完了して参照されないピクチャを保持している復号画像バッファ１６があれば、それを開放する（Ｓ３１３）。
【０１２１】
制御部１４は、再生されたピクチャを含むＧＯＰに再生すべきピクチャがまだ存在しているか否かを判断する（Ｓ３１４）。再生すべきピクチャが存在していると判断された場合（Ｓ３１４でＹｅｓ）、再生されたピクチャの次に再生されるべきピクチャについて、処理はステップＳ３１０に戻る。
【０１２２】
他方、制御部１４は、再生すべきピクチャは存在していないと判断した場合、すなわち、１ＧＯＰの再生が完了した場合（Ｓ３１４でＮｏ）、再生すべきピクチャを含むＧＯＰがまだ存在しているか否かを判断する（Ｓ３１５）。再生すべきピクチャを含むＧＯＰが存在していると判断された場合（Ｓ３１５でＹｅｓ）、次に再生されるべきＧＯＰについて、処理はステップＳ３０７に戻る。それに対して、再生すべきピクチャを含むＧＯＰは存在していないと判断された場合（Ｓ３１５でＮｏ）、再生処理は終了する。このようにして、ストリームの再生が実行される。
【０１２３】
次に、管理部１７が行う復号画像バッファ１６の開放の手順を説明する。管理部１７は、ピクチャが復号される場合、復号の直前に、複数の復号画像バッファ１６のなかに未使用のものがあるか否かを調べ、未使用の復号画像バッファ１６があれば、そのうちの１個を画像復号部１５によって復号される画像の出力先のバッファとして確保する。再生装置１００がカムコーダ等のモバイル機器に搭載される場合、再生装置１００は、５個から８個の復号画像バッファ１６しか保有することができないので、使用済みのピクチャを保持しているバッファをできるだけ速やかに再利用することができる状態にする必要がある。つまり、使用済みのピクチャを保持しているバッファを、できるだけ速やかに開放する必要がある。以下に、管理部１７が行う復号画像バッファ１６の開放の手順を図９を用いて説明する。図９は、バッファを開放する手順を示すフローチャートである。
【０１２４】
管理部１７は、各ピクチャの復号又は出力等のイベントが完了したことを示す情報を受け取ったか否かを判断する（Ｓ４０１）。つまり、管理部１７は、画像復号部１５によるピクチャの復号が完了したことを示す情報、又は、画像出力部１９による復号されたピクチャの再生装置１００の外部への出力が完了したことを示す情報を受け取ったか否かを判断する（Ｓ４０１）。なお、画像復号部１５は、ピクチャの復号を完了するとその旨を示す情報を管理部１７に出力し、画像出力部１９は、ピクチャの出力を完了するとその旨を示す情報を管理部１７に出力する。管理部１７は、イベントが完了したことを示す情報を受け取っていない場合（Ｓ４０１でＮｏ）、バッファの開放に関する処理を終了する。
【０１２５】
管理部１７は、イベントが完了したことを示す情報を受け取った場合（Ｓ４０１でＹｅｓ）、複数の復号画像バッファ１６それぞれについて、順に使用中であるか否かを調べる（Ｓ４０２）。管理部１７は、調べたバッファが使用中であると判断した場合（Ｓ４０２でＹｅｓ）、そのバッファに保持されているピクチャが出力中であるかどうかを判断する（Ｓ４０３）。使用中のバッファに保持されているピクチャが出力中であると判断した場合（Ｓ４０３でＹｅｓ）、管理部１７は、そのバッファを開放することはできないと判断し、そのバッファの次のバッファが使用中であるか否か調べる（Ｓ４０２）。管理部１７は、全ての復号画像バッファ１６が使用されていないと判断した場合（Ｓ４０２でＮｏ）、バッファの開放に関する処理を終了する。
【０１２６】
他方、ステップＳ４０３において使用中のバッファに保持されているピクチャが出力中ではないと判断した場合（Ｓ４０３でＮｏ）、管理部１７は、そのバッファに保持されているピクチャのタイプを調べる（Ｓ４０４）。保持されているピクチャがＢピクチャであれば（Ｓ４０４でＮｏ）、管理部１７は、再生制御シナリオの現在のステップのフィールドに「Ｂ−Ｂｕｆ  Ｋｅｅｐ」の記載が存在するかどうかを判断する（Ｓ４０５）。「Ｂ−Ｂｕｆ  Ｋｅｅｐ」の記載が存在する場合（Ｓ４０５でＹｅｓ）、管理部１７は、そのバッファを開放しないでそのままの状態を継続させ、処理はステップＳ４０２に移行する。それに対して、「Ｂ−Ｂｕｆ  Ｋｅｅｐ」の記載が存在しない場合（Ｓ４０５でＮｏ）、管理部１７は、そのバッファを開放し（Ｓ４０６）、処理はステップＳ４０２に移行する。
【０１２７】
保持されているピクチャがＩピクチャ又はＰピクチャであれば（Ｓ４０４でＹｅｓ）、管理部１７は、再生制御シナリオの現在のステップに「ＤＥＣ Ｂｕｆ  Ｒｅｌｅａｓｅ」の記載が存在するかどうかを判断する（Ｓ４０７）。「ＤＥＣ Ｂｕｆ  Ｒｅｌｅａｓｅ」の記載が存在する場合（Ｓ４０７でＹｅｓ）、つまり、バッファを開放することを指示されている場合（Ｓ４０７でＹｅｓ）、管理部１７は、そのバッファを開放し（Ｓ４０６）、処理はステップＳ４０２に移行する。
【０１２８】
「ＤＥＣ Ｂｕｆ  Ｒｅｌｅａｓｅ」の記載が存在しない場合（Ｓ４０７でＮｏ）、管理部１７は、そのバッファに保持されているピクチャが、参照ピクチャとなる最新の２枚のピクチャ（Ｉピクチャ又はＰピクチャ）のいずれかであるか否かを判断する（Ｓ４０８）。保持されているピクチャが参照ピクチャとならないと判断した場合（Ｓ４０８でＮｏ）、管理部１７は、そのバッファを開放し（Ｓ４０６）、処理はステップＳ４０２に移行する。
【０１２９】
他方、保持されているピクチャが参照ピクチャとなると判断した場合（Ｓ４０８でＹｅｓ）、管理部１７は、そのバッファを開放しないでそのままの状態を継続し、処理はステップＳ４０２に移行する。ＭＰＥＧ２ビデオ規格又はＨ．２６４規格では、Ｂピクチャは最新の２枚のＩピクチャ又はＰピクチャを参照することにより復号される。そのため、管理部１７は、参照ピクチャとなる最新の２枚のピクチャが常に保持されるようにバッファを管理する。
【０１３０】
最後に、再生制御シナリオを選択する手順を図１０から図１２を用いて説明する。図１０は、再生制御シナリオを選択する手順の第１部を示すフローチャートであり、図１１は、その手順の第２部を示すフローチャートであり、図１２は、その手順の第３部（最終部）を示すフローチャートである。
【０１３１】
選択部１３は、１ＧＯＰのピクチャの構造が構造解析部１１によって解析されると、解析によって特定されるピクチャ構成が、「Ｍ＝３／Ｎ＝１５」、「Ｍ＝３／Ｎ＝１２」、及び、「Ｍ＝２／Ｎ＝１４」のいずれであるのかを判断する。具体的には、図１０に示すように、選択部１３は、ピクチャ構成が「Ｍ＝３／Ｎ＝１５」であるか否かを判断する（Ｓ５０１）。「Ｍ」は、直近の参照ピクチャ相互の距離をピクチャの枚数で示す値であり、参照ピクチャは、Ｉピクチャ又はＰピクチャである。「Ｎ」は１ＧＯＰを構成するピクチャの総数を示す値である。
【０１３２】
選択部１３は、ピクチャ構成が「Ｍ＝３／Ｎ＝１５」であると判断すると（Ｓ５０１でＹｅｓ）、次に、受付部２が受け付けた情報によって特定される再生方法を調べる。先ず、選択部１３は、再生方法が順方向の通常再生である「ＩＰＢ順方向再生」であるか否かを判断する（Ｓ５０２）。再生方法が「ＩＰＢ順方向再生」であると判断すると（Ｓ５０２でＹｅｓ）、選択部１３は、「ＩＰＢ順方向の再生制御シナリオ」を選択する（Ｓ５１０）。「Ｍ＝３／Ｎ＝１５のＩＰＢ順方向の再生制御シナリオ」は、図３に示す再生制御シナリオである。
【０１３３】
再生方法が「ＩＰＢ順方向再生」ではないと判断すると（Ｓ５０２でＮｏ）、選択部１３は、再生方法が順方向の中速サーチの再生を実行する「ＩＰ順方向再生」であるか否かを判断する（Ｓ５０３）。再生方法が「ＩＰ順方向再生」であると判断すると（Ｓ５０３でＹｅｓ）、選択部１３は、「ＩＰ順方向の再生制御シナリオ」を選択する（Ｓ５１１）。「Ｍ＝３／Ｎ＝１５のＩＰ順方向の再生制御シナリオ」は、図４に示す再生制御シナリオである。
【０１３４】
再生方法が「ＩＰ順方向再生」ではないと判断すると（Ｓ５０３でＮｏ）、選択部１３は、再生方法が順方向の高速サーチ又は逆方向の高速サーチの再生を実行する「Ｉピクチャだけの再生」であるか否かを判断する（Ｓ５０４）。再生方法が「Ｉピクチャだけの再生」であると判断すると（Ｓ５０４でＹｅｓ）、選択部１３は、「Ｉ−Ｏｎｌｙの再生制御シナリオ」を選択する（Ｓ５１２）。「Ｉ−Ｏｎｌｙの再生制御シナリオ」は、Ｉ２の復号及び出力を指示するだけのシナリオである。
【０１３５】
再生方法が「Ｉピクチャだけの再生」ではないと判断すると（Ｓ５０４でＮｏ）、選択部１３は、再生方法が逆方向の通常再生である「ＩＰＢ逆方向再生」であるか否かを判断する（Ｓ５０５）。再生方法が「ＩＰＢ逆方向再生」であると判断すると（Ｓ５０５でＹｅｓ）、選択部１３は、「ＩＰＢ逆方向の再生制御シナリオ」を選択する（Ｓ５１３）。「Ｍ＝３／Ｎ＝１５のＩＰＢ逆方向の再生制御シナリオ」は、図５及び図６に示す再生制御シナリオである。
【０１３６】
再生方法が「ＩＰＢ逆方向再生」ではないと判断すると（Ｓ５０５でＮｏ）、選択部１３は、再生方法が中速の逆方向サーチの再生を実行する「ＩＰ逆方向再生」であるか否かを判断する（Ｓ５０６）。再生方法が「ＩＰ逆方向再生」であると判断すると（Ｓ５０６でＹｅｓ）、選択部１３は、「ＩＰ逆方向の再生制御シナリオ」を選択する（Ｓ５１４）。なお、「Ｍ＝３／Ｎ＝１５のＩＰ逆方向の再生制御シナリオ」は、図示されていない。
【０１３７】
図１０のステップＳ５０１において、ピクチャ構成が「Ｍ＝３／Ｎ＝１５」ではないと判断すると（Ｓ５０１でＮｏ）、図１１に示すように、選択部１３は、ピクチャ構成が「Ｍ＝３／Ｎ＝１２」であるか否かを判断する（Ｓ５２１）。以降、上述したようにして、選択部１３は、ピクチャ構成が「Ｍ＝３／Ｎ＝１２」である再生対象のストリームについて、受付部２が受け付けた情報によって特定される再生方法を調べる（Ｓ５２２，Ｓ５２３，Ｓ５２４，Ｓ５２５，Ｓ５２６）。そして、選択部１３は、受付部２が受け付けた情報によって特定される再生方法に対応する再生制御シナリオを選択する（Ｓ５３０，Ｓ５３１，Ｓ５３２，Ｓ５３３，Ｓ５３４）。
【０１３８】
図１１のステップＳ５２１において、ピクチャ構成が「Ｍ＝３／Ｎ＝１２」ではないと判断すると（Ｓ５２１でＮｏ）、図１２に示すように、選択部１３は、ピクチャ構成が「Ｍ＝２／Ｎ＝１４」であるか否かを判断する（Ｓ５４１）。以降、上述したようにして、選択部１３は、ピクチャ構成が「Ｍ＝２／Ｎ＝１４」である再生対象のストリームについて、受付部２が受け付けた情報によって特定される再生方法を調べる（Ｓ５４２，Ｓ５４３，Ｓ５４４，Ｓ５４５，Ｓ５４６）。そして、選択部１３は、受付部２が受け付けた情報によって特定される再生方法に対応する再生制御シナリオを選択する（Ｓ５５０，Ｓ５５１，Ｓ５５２，Ｓ５５３，Ｓ５５４）。
【０１３９】
ステップＳ５４１において、ピクチャ構成が「Ｍ＝２／Ｎ＝１４」ではないと判断すると（Ｓ５４１でＮｏ）、選択部１３は、解析によって特定されるピクチャ構成は未知の構成であると判断し、いずれの再生制御シナリオをも選択しない（Ｓ５４９）。そして、選択部１３は、ユーザに対して、再生対象のストリームを再生することができない旨を通知する。
【０１４０】
図１０から図１２のフローチャートは、ピクチャ構成が「Ｍ＝３／Ｎ＝１５」、「Ｍ＝３／Ｎ＝１２」、及び「Ｍ＝２／Ｎ＝１４」である場合における、再生制御シナリオを選択する手順を示している。しかしながら、ピクチャ構成は、それらに限定されない。例えば、ピクチャ構成として、図７を用いて説明した「Ｍ＝４／Ｎ＝１２」も存在する。したがって、シナリオデータベース１２には、ピクチャ構成が「Ｍ＝４／Ｎ＝１２」である場合の複数の再生方法それぞれについての再生制御シナリオが含まれていてもよい。複数の再生方法は、ＩＰＢ順方向、ＩＰ順方向、Ｉ−Ｏｎｌｙ、ＩＰＢ逆方向、及び、ＩＰ逆方向の５種類の再生方法である。
【０１４１】
このように、シナリオデータベース１２には、多数のピクチャ構成それぞれと、複数の再生方法それぞれとの全ての組合わせによる再生制御シナリオが含まれていてもよい。これにより、ピクチャ構成と再生方法との組合わせがどのようなものであっても、選択部１３は、その組合わせに対応する再生制御シナリオを選択して取得することが可能となる。
【０１４２】
上述したように、実施の形態１の再生装置１００は、複数のピクチャ構成それぞれと、複数の再生方法それぞれとの組合わせに対応する複数の再生制御シナリオを保持するシナリオデータベース１２を有している。再生装置１００は、シナリオデータベース１２によって保持されている再生制御シナリオを用いるので、ストリームを再生する場合、その再生が通常再生であっても逆再生等の特殊再生であっても、ピクチャを復号する前にストリーム構成表を作成しない。また、特殊再生を実行する場合であっても、通常再生時のストリーム構成表から各ピクチャの復号の順序及び出力の順序を決定しない。
【０１４３】
すなわち、実施の形態１の再生装置１００は、小さい処理負荷でビデオストリームを再生することができる。また、再生装置１００は、ストリーム構成表を作成しないし、特殊再生を実行する場合の各ピクチャの復号及び出力の順序を決定しないので、従来よりも規模が小さくなるという効果も得られる。更に、再生装置１００の機能をプログラムを用いて実現する場合、そのプログラムの複雑度が従来より低くなるという効果も得られる。
【０１４４】
なお、上述した実施の形態１では、再生装置１００は、複数の再生制御シナリオを保持しているシナリオデータベース１２を有する。再生装置１００は、複数の再生制御シナリオをシナリオデータベース１２により予め保持していてもよいが、複数の再生制御シナリオを再生装置１００の外部から取得してシナリオデータベース１２により保持してもよい。また、再生装置１００は、再生制御シナリオを更新するための更新情報を再生装置１００の外部から取得し、シナリオデータベース１２により保持する再生制御シナリオを更新情報に従って更新してもよい。
【０１４５】
すなわち、再生装置１００は、図１３に示すように、シナリオ取得部２２と、更新情報取得部２３と、更新部２４とを有していてもよい。シナリオ取得部２２、更新情報取得部２３、及び、更新部２４それぞれの機能は次の通りである。シナリオ取得部２２は、複数の再生制御シナリオを再生装置１００の外部から取得してシナリオデータベース１２に格納して保持させる。更新情報取得部２３は、再生制御シナリオを更新するための更新情報を再生装置１００の外部から取得する。更新部２４は、更新情報に従って、シナリオデータベース１２によって保持されている再生制御シナリオを更新する。
【０１４６】
再生装置１００がシナリオ取得部２２を有していれば、再生制御シナリオが再生装置１００の外部で新たに生成された場合でも、再生装置１００は、新たに生成された再生制御シナリオを取得することができ、多様な形態のストリームを再生することができる。また、再生装置１００が更新情報取得部２３及び更新部２４を有していれば、シナリオデータベース１２によって保持されている再生制御シナリオが再生装置１００の外部で更新された場合でも、再生装置１００は、最新の再生制御シナリオを使用してストリームを再生することができる。
【０１４７】
また、シナリオデータベース１２は、再生装置１００に設けられていなくてもよい。その場合、選択部１３は、構造解析部１１によって解析されたピクチャ構成と、受付部２が受け付けた情報によって特定される再生方法とに対応する再生制御シナリオを、再生装置１００の外部のシナリオデータベース１２から取得する。
【０１４８】
（実施の形態２）
次に、実施の形態２の再生装置２００の構成を図１４を用いて説明する。図１４は、実施の形態２の再生装置２００の構成図である。実施の形態２の再生装置２００は、実施の形態１の再生装置１００と同様に、画像及び音が符号化されたストリームを再生する装置である。図１４に示すように、実施の形態２の再生装置２００は、図１の実施の形態１の再生装置１００が有する構成部と同様の構成部を有する。ただし、実施の形態２の再生装置２００は、図１の実施の形態１の再生装置１００が有する選択部１３を有しておらず、その代わりに判断選択部３０を有する。その点が、実施の形態２と実施の形態１との相違点である。以下では、実施の形態１との相違点を中心に説明する。
【０１４９】
判断選択部３０は、構造解析部１１による解析によって特定されたピクチャ構成と、受付部２が受け付けた情報によって特定される再生方法とに対応する再生制御シナリオが、シナリオデータベース１２によって保持されているか否かを判断する。判断選択部３０は、その再生制御シナリオがシナリオデータベース１２によって保持されていると判断した場合、実施の形態１の場合と同様に、その再生制御シナリオをシナリオデータベース１２から取得して制御部１４に供給する。それ以後の動作は、実施の形態１の動作と同じである。
【０１５０】
他方、対応する再生制御シナリオがシナリオデータベース１２によって保持されていないと判断した場合、判断選択部３０は、以下に示すように動作する。すなわち、判断選択部３０は、指定された再生方法と同じ再生方法に対応する複数の再生制御シナリオのなかで、構造解析部１１による解析によって特定されたピクチャ構成に近似する再生制御シナリオをシナリオデータベース１２から取得する。制御部１４は、判断選択部３０によって取得された再生制御シナリオの一部に従ってストリームを再生させる。
【０１５１】
具体的には、判断選択部３０は、指定された再生方法と同じ再生方法とに対応する複数の再生制御シナリオのなかで、解析によって特定されたピクチャ構成の「Ｍ」の値と同じ値を有するとともに、特定されたピクチャ構成の「Ｎ」の値よりも大きい「Ｎ」の値を有するピクチャ構成に対応する再生制御シナリオを、シナリオデータベース１２から取得する。
【０１５２】
例えば、解析されたピクチャ構成が「Ｍ＝３／Ｎ＝１２」であり、指定された再生方法が「順方向のＩＰＢ再生」であって、それらの組合わせに対応する再生制御シナリオがシナリオデータベース１２によって保持されていなければ、判断選択部３０は、ピクチャ構成「Ｍ＝３／Ｎ＝１５」と、再生方法「順方向のＩＰＢ再生」とに対応する、図１５に示す再生制御シナリオをシナリオデータベース１２から取得する。
【０１５３】
図１５に示す「Ｍ＝３／Ｎ＝１５の順方向ＩＰＢの再生制御シナリオ」には、終了マーカが含まれている。例えば、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１１”であるフィールドには、「Ｎ＝１２」の終了マーカが割り当てられており、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１４”であるフィールドには、「Ｎ＝１５」の終了マーカが割り当てられている。終了マーカは、ピクチャ構成「Ｍ／Ｎ」の各「Ｎ」の値に対応して再生処理を終了させる「Ｓｃｅｎａｒｉｏ  Ｎｏ．」を特定する情報である。
【０１５４】
図１５の例では、終了マーカは、解析により特定されたピクチャ構成の「Ｎ」の値が「１２」であれば、再生処理を「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が「１１」であるピクチャで終了させ、特定されたピクチャ構成の「Ｎ」の値が「１５」であれば、再生処理を「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が「１４」であるピクチャで終了させることを示す情報である。
【０１５５】
判断選択部３０は、取得した再生制御シナリオのうちの、「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」から、特定されたピクチャ構成の「Ｎ」の値の終了マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」までの情報を制御部１４に出力する。解析されたピクチャ構成が「Ｍ＝３／Ｎ＝１２」であって、指定された再生方法が「順方向のＩＰＢ再生」であれば、判断選択部３０は、図１５に示す再生制御シナリオのうちの、「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．１１」までの情報を制御部１４に出力する。判断選択部３０は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．１２」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．１４」までの情報は制御部１４に出力しない。
【０１５６】
同様にして、解析により特定されたピクチャ構成が「Ｍ＝３／Ｎ＝９」であって、指定された再生方法が「順方向のＩＰＢ再生」であれば、判断選択部３０は、図１５に示す再生制御シナリオのうちの、「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．８」までの情報を制御部１４に出力し、「Ｓｃｅｎａｒｉｏ  Ｎｏ．９」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．１４」までの情報は制御部１４に出力しない。
【０１５７】
制御部１４は、判断選択部３０から供給された情報に従って、実施の形態１において説明したようにして各ピクチャの復号及び出力を制御する。すなわち、解析されたピクチャ構成が「Ｍ＝３／Ｎ＝１２」であれば、制御部１４は、図１５に示す再生制御シナリオのうちの、「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．１１」までの情報に従って、実施の形態１において説明したようにして各ピクチャの復号及び出力を制御する。これにより、ピクチャ構成「Ｍ＝３／Ｎ＝１２」と、再生方法「順方向のＩＰＢ再生」とに対応する再生制御シナリオがシナリオデータベース１２によって保持されていなくても、そのピクチャ構成のストリームをその再生方法により再生することができる。
【０１５８】
次に、逆方向ＩＰＢ再生を実行する場合を説明する。図１６及び図１７は、Ｍ＝３／Ｎ＝１５のピクチャ構成を有するＧＯＰについて逆方向に全てのピクチャを再生する際の再生制御シナリオを示す図である。図１６は、その再生制御シナリオの前半部を示しており、図１７は、その再生制御シナリオの後半部を示している。以下では、図１６及び図１７の再生制御シナリオを「逆方向ＩＰＢの再生制御シナリオ」と記載する。
【０１５９】
図１６及び図１７には、開始マーカが含まれている。例えば、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１３”であるフィールドには、「Ｎ＝９」の開始マーカが割り当てられており、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１８”であるフィールドには、「Ｎ＝６」の開始マーカが割り当てられている。開始マーカは、ピクチャ構成「Ｍ／Ｎ」の各「Ｎ」の値に対応して再生処理を開始させる「Ｓｃｅｎａｒｉｏ  Ｎｏ．」を特定する情報である。
【０１６０】
図１６の例では、開始マーカは、解析されたピクチャ構成の「Ｎ」の値が「９」であれば、再生処理を「Ｓｃｅｎａｒｉｏ  Ｎｏ．１３」であるピクチャから開始させることを示す情報である。図１７の例では、開始マーカは、解析されたピクチャ構成の「Ｎ」の値が「６」であれば、再生処理を「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が「１８」であるピクチャから開始させることを示す情報である。
【０１６１】
判断選択部３０は、取得した再生制御シナリオのうちの、解析されたピクチャ構成の「Ｎ」の値の開始マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」以降の情報を制御部１４に出力する。例えば、解析されたピクチャ構成の「Ｎ」の値が「９」であれば、判断選択部３０は、図１６に示す再生制御シナリオのうちの、開始マーカ「９」が割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“１３”以降の情報を制御部１４に出力する。判断選択部３０は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．１２」までの情報は制御部１４に出力しない。
【０１６２】
同様にして、解析されたピクチャ構成の「Ｎ」の値が「６」であれば、判断選択部３０は、図１７に示す再生制御シナリオのうちの、「Ｓｃｅｎａｒｉｏ  Ｎｏ．１８」以降の情報を制御部１４に出力し、「Ｓｃｅｎａｒｉｏ  Ｎｏ．１７」までの情報は制御部１４に出力しない。
【０１６３】
これにより、ピクチャ構成が「Ｍ＝３／Ｎ＝９」及び「Ｍ＝３／Ｎ＝６」であるストリームの逆方向ＩＰＢ再生が実現する。
【０１６４】
次に、逆方向ＩＰ再生を実行する場合を説明する。図１８は、Ｍ＝３／Ｎ＝１５のピクチャ構成を有するＧＯＰについて逆方向にＩピクチャ及びＰピクチャを再生する際の再生制御シナリオを示す図である。以下では、図１８の再生制御シナリオを「逆方向ＩＰの再生制御シナリオ」と記載する。
【０１６５】
図１８には、開始マーカが含まれている。例えば、「Ｓｃｅｎａｒｉｏ  Ｎｏ．」が“９”であるフィールドには、「Ｎ＝９」の開始マーカが割り当てられている。開始マーカは、上述したように、ピクチャ構成「Ｍ／Ｎ」の各「Ｎ」の値に対応して再生処理を開始させる「Ｓｃｅｎａｒｉｏ  Ｎｏ．」を特定する情報である。
【０１６６】
判断選択部３０は、取得した再生制御シナリオのうちの、解析されたピクチャ構成の「Ｎ」の値の開始マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」以降の情報を制御部１４に出力する。例えば、解析されたピクチャ構成の「Ｎ」の値が「９」であれば、判断選択部３０は、図１８に示す再生制御シナリオのうちの、開始マーカ「９」が割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．９」以降の情報を制御部１４に出力する。判断選択部３０は、「Ｓｃｅｎａｒｉｏ  Ｎｏ．０」から「Ｓｃｅｎａｒｉｏ  Ｎｏ．８」までの情報は制御部１４に出力しない。
【０１６７】
これにより、ピクチャ構成が「Ｍ＝３／Ｎ＝９」であるストリームの逆方向ＩＰ再生が実現する。
【０１６８】
最後に、再生制御シナリオを選択する手順及び再生の手順の一例を図１９及び図２０を用いて説明する。図１９は、再生制御シナリオを選択する手順等の前半部を示すフローチャートであり、図２０は、その手順等の後半部を示すフローチャートである。
【０１６９】
先ず、判断選択部３０は、１ＧＯＰのピクチャの構造が構造解析部１１によって解析されると、解析により特定されたピクチャ構成が、「Ｍ＝３／Ｎ＝６」、「Ｍ＝３／Ｎ＝９」、「Ｍ＝３／Ｎ＝１２」、及び、「Ｍ＝３／Ｎ＝１５」のいずれかであるか否かを判断する（Ｓ７０１）。判断選択部３０は、特定されたピクチャ構成が、「Ｍ＝３／Ｎ＝６」、「Ｍ＝３／Ｎ＝９」、「Ｍ＝３／Ｎ＝１２」、及び、「Ｍ＝３／Ｎ＝１５」のいずれかであると判断した場合（Ｓ７０１でＹｅｓ）、受付部２が受け付けた情報によって特定される再生方法を調べる。
【０１７０】
具体的には、判断選択部３０は、再生方法が順方向の通常再生である「ＩＰＢ順方向再生」であるか否かを判断する（Ｓ７０２）。再生方法が「ＩＰＢ順方向再生」であると判断すると（Ｓ７０２でＹｅｓ）、判断選択部３０は、「Ｎ」の値にかかわらず、「Ｍ＝３／Ｎ＝１５のＩＰＢ順方向の再生制御シナリオ」を選択する（Ｓ７１０）。制御部１４は、特定されたピクチャ構成の「Ｎ」の値に対応する終了マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」までのピクチャの再生を実行させる（Ｓ７２０）。
【０１７１】
再生方法が「ＩＰＢ順方向再生」ではないと判断すると（Ｓ７０２でＮｏ）、判断選択部３０は、再生方法が「ＩＰ順方向再生」であるか否かを判断する（Ｓ７０３）。再生方法が「ＩＰ順方向再生」であると判断すると（Ｓ７０３でＹｅｓ）、判断選択部３０は、「Ｍ＝３／Ｎ＝１５のＩＰ順方向の再生制御シナリオ」を選択する（Ｓ７１１）。その後の処理はステップＳ７２０に移行する。
【０１７２】
再生方法が「ＩＰ順方向再生」ではないと判断すると（Ｓ７０３でＮｏ）、判断選択部３０は、再生方法が「Ｉピクチャだけの再生」であるか否かを判断する（Ｓ７０４）。再生方法が「Ｉピクチャだけの再生」であると判断すると（Ｓ７０４でＹｅｓ）、判断選択部３０は、「Ｍ＝３／Ｎ＝１５のＩ−Ｏｎｌｙの再生制御シナリオ」を選択する（Ｓ７１２）。
【０１７３】
再生方法が「Ｉピクチャだけの再生」ではないと判断すると（Ｓ７０４でＮｏ）、判断選択部３０は、再生方法が「ＩＰＢ逆方向再生」であるか否かを判断する（Ｓ７０５）。再生方法が「ＩＰＢ逆方向再生」であると判断すると（Ｓ７０５でＹｅｓ）、判断選択部３０は、「Ｍ＝３／Ｎ＝１５のＩＰＢ逆方向の再生制御シナリオ」を選択する（Ｓ７１３）。制御部１４は、解析により特定されたピクチャ構成の「Ｎ」の値に対応する開始マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」以降のピクチャの再生を実行させる（Ｓ７２１）。
【０１７４】
再生方法が「ＩＰＢ逆方向再生」ではないと判断すると（Ｓ７０５でＮｏ）、判断選択部３０は、再生方法が「ＩＰ逆方向再生」であるか否かを判断する（Ｓ７０６）。再生方法が「ＩＰ逆方向再生」であると判断すると（Ｓ７０６でＹｅｓ）、判断選択部３０は、「Ｍ＝３／Ｎ＝１５のＩＰ逆方向の再生制御シナリオ」を選択する（Ｓ７１４）。その後の処理はステップＳ７２１に移行する。
【０１７５】
図１９のステップＳ７０１において、ピクチャ構成が「Ｍ＝３／Ｎ＝６」、「Ｍ＝３／Ｎ＝９」、「Ｍ＝３／Ｎ＝１２」、及び、「Ｍ＝３／Ｎ＝１５」のいずれでもないと判断した場合（Ｓ７０１でＮｏ）、図２０に示すように、判断選択部３０は、ピクチャ構成が「Ｍ＝２／Ｎ＝６」、「Ｍ＝２／Ｎ＝８」、「Ｍ＝２／Ｎ＝１０」、「Ｍ＝２／Ｎ＝１２」、及び、「Ｍ＝２／Ｎ＝１４」のいずれかであるか否かを判断する（Ｓ７３１）。以降、上述したようにして、判断選択部３０は、再生方法を調べる（Ｓ７３２，Ｓ７３３，Ｓ７３４，Ｓ７３５，Ｓ７３６）。そして、判断選択部３０は、再生方法に対応する再生制御シナリオを選択する（Ｓ７４０，Ｓ７４１，Ｓ７４２，Ｓ７４３，Ｓ７４４）。
【０１７６】
制御部１４は、「Ｍ＝２／Ｎ＝１４のＩＰＢ順方向の再生制御シナリオ」が選択された場合（Ｓ７４０）、解析により特定されたピクチャ構成の「Ｎ」の値に対応する終了マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」までのピクチャの再生を実行させる（Ｓ７５０）。また、制御部１４は、「Ｍ＝２／Ｎ＝１４のＩＰＢ逆方向の再生制御シナリオ」が選択された場合（Ｓ７４３）、解析により特定されたピクチャ構成の「Ｎ」の値に対応する開始マーカが割り当てられている「Ｓｃｅｎａｒｉｏ  Ｎｏ．」以降のピクチャの再生を実行させる（Ｓ７５１）。
【０１７７】
図２０のステップＳ７３１において、ピクチャ構成が「Ｍ＝２／Ｎ＝６」、「Ｍ＝２／Ｎ＝８」、「Ｍ＝２／Ｎ＝１０」、「Ｍ＝２／Ｎ＝１２」、及び、「Ｍ＝２／Ｎ＝１４」のいずれでもないと判断すると（Ｓ７３１でＮｏ）、判断選択部３０は、解析されたピクチャ構成は未知の構成であると判断し、いずれの再生制御シナリオをも選択しない（Ｓ７３９）。そして、判断選択部３０は、ユーザに対して、再生対象のストリームを再生することができない旨を通知する。
【０１７８】
上述したように、実施の形態２の再生装置２００では、判断選択部３０は、構造解析部１１による解析によって特定されたピクチャ構成に対応する再生制御シナリオがシナリオデータベース１２によって保持されていない場合、指定された再生方法と同じ再生方法に対応する複数の再生制御シナリオのなかで、特定されたピクチャ構成に近似する再生制御シナリオをシナリオデータベース１２から取得する。各再生制御シナリオには、複数のピクチャ構成それぞれを有するストリームを構成する各ピクチャの復号の順序と出力の順序とを示す情報が含まれている。制御部１４は、その情報に従って、ストリームを再生させる。これにより、実施の形態２の再生装置２００は、解析によって特定したピクチャ構成に対応する再生制御シナリオを保持していなくても、小さな処理負荷で再生対象のストリームを再生することができる。
【０１７９】
なお、上述した実施の形態の再生装置１００及び２００の各構成部の機能は、例えばコンピュータのＣＰＵ（プロセッサ）及びメモリ等のハードウェアと、その機能を実現するためのコンピュータプログラムとが協働することによって実現される。しかしながら、上記各機能は、専用の回路により実現される等、どのような形態により実現されてもよい。また、再生装置１００及び２００の各構成部の機能を実現するためのコンピュータプログラムは、記録媒体に格納されてもよい。
【符号の説明】
【０１８０】
１００，２００  再生装置、  １０１  蓄積媒体、  １  入力部、  ２  受付部、  ３  指示部、  ４  ストリーム取得部、  ５  要求部、  ６  ストリームバッファ、  ７  ＰＩＤ解析部、  ８  分離部、  ９  画像ＥＳバッファ、  １０  音ＥＳバッファ、  １１  構造解析部、  １２  シナリオデータベース、  １３  選択部、  １４  制御部、  １５  画像復号部、  １６  復号画像バッファ、  １７  管理部、  １８  最終バッファ、  １９  画像出力部、  ２０  音復号部、  ２１  音出力部、  ２２  シナリオ取得部、  ２３  更新情報取得部、  ２４  更新部、  ３０  判断選択部。
【図１】
0005387430.tif 000002
【図２】
0005387430.tif 000003
【図３】
0005387430.tif 000004
【図４】
0005387430.tif 000005
【図５】
0005387430.tif 000006
【図６】
0005387430.tif 000007
【図７】
0005387430.tif 000008
【図８】
0005387430.tif 000009
【図９】
0005387430.tif 000010
【図１０】
0005387430.tif 000011
【図１１】
0005387430.tif 000012
【図１２】
0005387430.tif 000013
【図１３】
0005387430.tif 000014
【図１４】
0005387430.tif 000015
【図１５】
0005387430.tif 000016
【図１６】
0005387430.tif 000017
【図１７】
0005387430.tif 000018
【図１８】
0005387430.tif 000019
【図１９】
0005387430.tif 000020
【図２０】
0005387430.tif 000021