(57)【特許請求の範囲】
【請求項１】
予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、該第１のビデオデータに基づくデータであって該第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、該第１のビデオデータと該第２のビデオデータとをそれぞれ読み出す再生部と、
上記再生部で読み出された上記第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされた該第１のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第１のデコード部と、
上記再生部で読み出された上記第２のビデオデータをデコードする第２のデコード部と、
出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも１倍速を超えた再生速度から１倍速の再生速度まで可変的に指示する再生指示部と、
上記再生指示部の上記出力するビデオデータのフレームの上記指示と、上記ビデオデータの再生速度の指示とに応じて上記再生部、上記第１のデコード部および上記第２のデコード部を制御する制御部と
を有し、
上記制御部は、
上記再生指示部により上記ビデオデータの上記１倍速を超えた再生速度が指示されているときは上記第２のデコード部の出力を選択し、
上記再生指示部の指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に上記再生速度が上記１倍速とされたときに、上記記録媒体から上記第１のビデオデータの読み出しを開始し、少なくとも上記フレームバッファに出力可能なフレームが格納されたら出力を上記第２のデコード部から上記第１のデコード部に切り換え、
さらに、出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する上記目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、上記現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で上記優先順位が最も高く設定されたフレームの第１のビデオデータを上記記録媒体から読み出すように上記再生部を制御するようにされ、
上記第１のビデオデータの上記読み出しの開始は、
上記再生指示部の指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に、上記再生指示部の指示に応じて上記再生速度が上記１倍速とされたときに、上記記録媒体からの上記目標パターンに基づく上記優先順位に従いなされるように制御され、
上記優先順位においては、上記目標再生フレームそのものまたは該目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、上記目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは該隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生装置。
【請求項２】
請求項１に記載の再生装置において、
上記目標パターンは、
少なくとも、上記目標再生フレームと、該目標再生フレームに再生方向に向けて時間的に隣接するフレームと、該目標再生フレームから該隣接するフレームの方向について少なくとも１フレーム分の再生をさらに継続するために必要なフレームからなることを特徴とする再生装置。
【請求項３】
請求項１に記載の再生装置において、
上記フレームバッファに格納されたフレームのうち出力フレームを設定する出力設定部をさらに有し、
上記出力設定部は、
上記フレームバッファに上記目標再生フレームとされたフレームが格納されている場合は、該目標再生フレームとされたフレームを上記出力フレームとし、
上記フレームバッファに上記目標再生フレームとされたフレームが格納されていないときは、上記フレームバッファに格納されているフレームのうち、再生順が最も近く、且つ、該目標再生フレームとされたフレームの再生順を越えないフレームを上記出力フレームとする
ことを特徴とする再生装置。
【請求項４】
予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、該第１のビデオデータに基づくデータであって該第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、該第１のビデオデータと該第２のビデオデータとをそれぞれ読み出す再生のステップと、
上記再生のステップにより読み出された上記第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされた該第１のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第１のデコードのステップと、
上記再生のステップで読み出された上記第２のビデオデータをデコードする第２のデコードのステップと、
出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも１倍速を超えた再生速度から１倍速の再生速度まで可変的に指示する再生指示のステップと、
上記再生指示のステップの上記出力するビデオデータのフレームの上記指示と、上記ビデオデータの再生速度の指示とに応じて上記再生のステップ、上記第１のデコードのステップおよび上記第２のデコードのステップを制御する制御のステップと
を有し、
上記制御のステップは、
上記再生指示のステップにより上記ビデオデータの上記１倍速を超えた再生速度が指示されているときは上記第２のデコードのステップによる出力を選択し、
上記再生指示のステップの指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に上記再生速度が上記１倍速とされたときに、上記記録媒体から上記第１のビデオデータの読み出しを開始し、少なくとも上記フレームバッファに出力可能なフレームが格納されたら出力を上記第２のデコードのステップから上記第１のデコードのステップに切り換え、
さらに、出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する上記目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、上記現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で上記優先順位が最も高く設定されたフレームの第１のビデオデータを上記記録媒体から読み出すように上記再生のステップを制御し、
上記第１のビデオデータの上記読み出しの開始は、
上記再生指示のステップによる指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて上記再生速度が上記１倍速とされたときに、上記記録媒体からの上記目標パターンに基づく上記優先順位に従いなされるように制御され、
上記優先順位においては、上記目標再生フレームそのものまたは該目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、上記目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは該隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生方法。
【請求項５】
予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、該第１のビデオデータに基づくデータであって該第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、該第１のビデオデータと該第２ のビデオデータとをそれぞれ読み出す再生のステップと、
上記再生のステップにより読み出された上記第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされた該第１のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第１のデコードのステップと、
上記再生のステップで読み出された上記第２のビデオデータをデコードする第２のデコードのステップと、
出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも１倍速を超えた再生速度から１倍速の再生速度まで可変的に指示する再生指示のステップと、
上記再生指示のステップの上記出力するビデオデータのフレームの上記指示と、上記ビデオデータの再生速度の指示とに応じて上記再生のステップ、上記第１のデコードのステップおよび上記第２のデコードのステップを制御する制御のステップと
を有し、
上記制御のステップは、
上記再生指示のステップにより上記ビデオデータの上記１倍速を超えた再生速度が指示されているときは上記第２のデコードのステップによる出力を選択し、
上記再生指示のステップの指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に上記再生速度が上記１倍速とされたときに、上記記録媒体から上記第１のビデオデータの読み出しを開始し、少なくとも上記フレームバッファに出力可能なフレームが格納されたら出力を上記第２のデコードのステップから上記第１のデコードのステップに切り換え、
さらに、出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する上記目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、上記現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で上記優先順位が最も高く設定されたフレームの第１のビデオデータを上記記録媒体から読み出すように上記再生のステップを制御し、
上記第１のビデオデータの上記読み出しの開始は、
上記再生指示のステップによる指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて上記再生速度が上記１倍速とされたときに、上記記録媒体からの上記目標パターンに基づく上記優先順位に従いなされるように制御され、
上記優先順位においては、上記目標再生フレームそのものまたは該目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、上記目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは該隣接フレームをデコードするために用いられるフレームが、次の順位に設定される再生方法をコンピュータ装置に実行させるようにしたことを特徴とする再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された高解像度のビデオデータと、より低解像度のビデオデータとを用い、再生速度が１倍速以下では高解像度のビデオデータを出力し、１倍速を超える再生速度では低解像度のビデオデータを出力するようにした再生装置、再生方法および再生プログラムに関する。
【背景技術】
【０００２】
ディジタルビデオ信号およびディジタルオーディオ信号を記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタルビデオ信号およびディジタルオーディオ信号を記録するための記録媒体としては、従来から、磁気テープのようなシリアルアクセスを行う記録媒体が多く用いられてきたが、近年では、光ディスク、ハードディスク、半導体メモリなどといった、ランダムアクセス可能な記録媒体が、ディジタルビデオ信号およびディジタルオーディオ信号の記録再生に多く用いられるようになってきている。
【０００３】
ディジタルビデオ信号は、データ容量が膨大となるため、所定の方式で圧縮符号化されて記録媒体に記録されるのが一般的である。近年では、ＭＰＥＧ２(Moving Picture Experts Group 2)方式が圧縮符号化の標準的な方式として知られている。ＭＰＥＧ２では、ＤＣＴ(Discrete Cosine Transform)と動き補償とを用いてディジタルビデオ信号の圧縮符号化を行い、さらに可変長符号を用いてデータの圧縮率を高めている。
【０００４】
ＭＰＥＧ２のデータストリーム構造について、概略的に説明する。ＭＰＥＧ２は、動き補償予測符号化と、ＤＣＴによる圧縮符号化とを組み合わせたものである。ＭＰＥＧ２のデータ構造は、階層構造をなしており、下位から、ブロック層、マクロブロック層、スライス層、ピクチャ層、ＧＯＰ層およびシーケンス層となっている。ブロック層は、ＤＣＴを行う単位であるＤＣＴブロックからなる。マクロブロック層は、複数のＤＣＴブロックで構成される。スライス層は、ヘッダ部と、１以上のマクロブロックより構成される。ピクチャ層は、ヘッダ部と、１以上のスライスとから構成される。ピクチャは、１画面に対応する。
【０００５】
ＧＯＰ層は、ヘッダ部と、フレーム内符号化に基づくピクチャであるＩ(Intra-coded)ピクチャと、予測符号化に基づくピクチャであるＰ(Predictive-coded)ピクチャＢ(Bi-directionally predictive coded)ピクチャとから構成される。Ｉピクチャは、それ自身の情報のみでデコードが可能であり、ＰおよびＢピクチャは、基準画像として前あるいは前後の画像が必要とされ、単独ではデコードされない。例えばＰピクチャは、自身より時間的に前のＩピクチャまたはＰピクチャを基準画像として用いてデコードされる。また、Ｂピクチャは、自身の前後のＩピクチャまたはＰピクチャの２枚のピクチャを基準画像として用いてデコードされる。最低１枚のＩピクチャを含むそれ自身で完結したグループをＧＯＰ(Group Of Picture)と呼び、ＭＰＥＧのストリームにおいて独立してアクセス可能な最小の単位とされる。
【０００６】
ＧＯＰは、１または複数のピクチャから構成される。以下では、便宜上、１枚のＩピクチャのみで構成されるＧＯＰをシングルＧＯＰと呼び、Ｉピクチャと、Ｐおよび／またはＢピクチャとからなる複数のピクチャで構成されるＧＯＰをロングＧＯＰと呼ぶことにする。シングルＧＯＰでは、ＧＯＰをＩピクチャのみから構成することで、フレーム単位での編集が容易とされると共に、フレーム間の予測符号化を行わないために、より高画質を得ることができる。一方、ロングＧＯＰでは、フレーム間の予測符号化を行うために、圧縮効率がよいという利点がある。
【０００７】
なお、ロングＧＯＰにおいて、ＧＯＰ内で完全にデコードが可能な、閉じた構造を持つクローズドＧＯＰと、デコードの際に符号化順で１つ前のＧＯＰの情報を用いることができるオープンＧＯＰとの２種類がある。オープンＧＯＰは、クローズドＧＯＰと比較して、より多くの情報を用いてデコードできるため高画質を得られ、一般的に用いられている。以下では、単に「ＧＯＰ」と記述した場合には、特に記載のない限り、このオープンＧＯＰを指すものとする。
【０００８】
ビデオ信号のフォーマットとして、従来から、ビットレートが２５Ｍｂｐｓ（メガビットパーセカンド）のＳＤ(Standard Definition)フォーマットが知られている。特に放送局などで使用される映像機器においては、ＳＤフォーマットのビデオ信号を上述したシングルＧＯＰで用い、高画質と高精度の編集環境とを実現していた。
【０００９】
一方、近年では、ディジタルハイビジョン放送などの実施に伴い、ＳＤフォーマットより高解像度とされた、ＨＤ(High Definition)フォーマットが用いられるようになってきた。ＨＤフォーマットは、高解像度に伴いビットレートが高くなっており、シングルＧＯＰでは記録媒体に対して長時間の記録ができない。そこで、ＨＤフォーマットのビデオ信号を上述したロングＧＯＰで用いる。
【００１０】
図２５を用いて、ロングＧＯＰの場合のデコード処理について説明する。ここでは、１ＧＯＰが１枚のＩピクチャ、４枚のＰピクチャおよび１０枚のＢピクチャの、計１５枚のピクチャから構成されるものとする。ＧＯＰ内のＩ、ＰおよびＢピクチャの表示順は、図２５Ａに一例が示されるように、「Ｂ0Ｂ1Ｉ2Ｂ3Ｂ4Ｐ5Ｂ6Ｂ7Ｐ8Ｂ9Ｂ10Ｐ11Ｂ12Ｂ13Ｐ14」のようになる。なお、添え字は表示順を示す。
【００１１】
この例では、最初の２枚のＢ0ピクチャおよびＢ1ピクチャは、１つ前のＧＯＰにおける最後尾のＰ14ピクチャと、このＧＯＰ内のＩ2ピクチャを用いて予測されデコードされたピクチャである。ＧＯＰ内の最初のＰ5ピクチャは、Ｉ2ピクチャから予測されデコードされたピクチャである。他のＰ8ピクチャ、Ｐ11ピクチャおよびＰ14は、それぞれ１つ前のＰピクチャを用いて予測されデコードされたピクチャである。また、Ｉピクチャ以降の各Ｂピクチャは、それぞれ前後のＩおよび／またはＰピクチャから予測されデコードされたピクチャである。
【００１２】
一方、Ｂピクチャは、時間的に前後のＩまたはＰピクチャを用いて予測されデコードされるため、ストリームや記録媒体上におけるＩ、ＰおよびＢピクチャの並び順は、デコーダにおけるデコードの順序を考慮して決める必要がある。すなわち、ＢピクチャをデコードするためのＩおよび／またはＰピクチャは、当該Ｂピクチャよりも常に先にデコードされていなければならない。
【００１３】
上述の例では、ストリームや記録媒体上の各ピクチャの配列は、図２５Ｂに例示されるように、「Ｉ2Ｂ0Ｂ1Ｐ5Ｂ3Ｂ4Ｐ8Ｂ6Ｂ7Ｐ11Ｂ9Ｂ10Ｐ14Ｂ12Ｂ13」のようになり、この順でデコーダに入力される。なお、添え字は、図２５Ａに対応し、表示順を示す。
【００１４】
デコーダにおけるデコード処理は、図２５Ｃに示されるように、先ずＩ2ピクチャをデコードし、デコードされたこのＩ2ピクチャと１つ前のＧＯＰにおける最後尾（表示順）のＰ14ピクチャとによりＢ0ピクチャおよびＢ1ピクチャを予測しデコードする。そして、Ｂ0ピクチャおよびＢ1ピクチャをデコードされた順にデコーダから出力し、次にＩ2ピクチャを出力する。Ｂ1ピクチャが出力されると、次にＰ5ピクチャがＩ2ピクチャを用いて予測されデコードされる。そして、Ｉ2ピクチャおよびＰ5ピクチャを用いてＢ3ピクチャおよびＢ4ピクチャが予測されデコードされる。そして、デコードされたＢ3ピクチャおよびＢ4ピクチャをデコードされた順にデコーダから出力し、次にＰ5ピクチャを出力する。
【００１５】
以下、同様にして、Ｂピクチャの予測に用いるＰまたはＩピクチャをＢピクチャより先にデコードし、このデコードされたＰまたはＩピクチャを用いてＢピクチャを予測してデコードし、デコードされたＢピクチャを出力してから、当該Ｂピクチャをデコードするために用いたＰまたはＩピクチャを出力する処理が繰り返される。記録媒体上やストリームにおける図２５Ｂのようなピクチャ配列は、一般的に用いられるもので、デコードに４フレーム分のフレームメモリが必要となる。非特許文献１には、このようにしてＭＰＥＧ２のエレメンタリストリームをデコードする方法が記載されている。
【非特許文献１】藤原  洋、「ポイント図解式・最新ＭＰＥＧ教科書」、初版、株式会社アスキー、１９９４年８月１日、ｐ．１０６
【００１６】
このような、ビデオ信号にロングＧＯＰを用いた場合の順方向への１倍速再生は、１フレーム分の時間で１フレームのピクチャのデコード結果が得られるデコーダ（１倍速デコーダと呼ぶ）を用いて可能である。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ところで、上述のＨＤフォーマットのように高解像度のビデオデータ（以下、本線ビデオデータと呼ぶ）に基づき、より低解像度および低ビットレートのビデオデータ（以下、補助ビデオデータと呼ぶ）を生成し、本線ビデオデータと共に記録媒体に記録するようにした技術が実用化されている。例えばシャトル再生といった、再生速度を１倍速より高速の状態で可変させて再生を行う場合、本線ビデオデータは、記録媒体からの読み出しが間に合わなくなることがある。また、シャトル再生においては、一般的に、高画質は要求されない。そのため、再生速度が１倍速若しくは１倍速以下の場合には、本線ビデオデータを再生し、再生速度が１倍速以上の場合に補助ビデオデータを用いるようにする。
【００１８】
ここで、本線ビデオデータを、上述のロングＧＯＰにより圧縮符号化を行った場合において、補助ビデオデータを用いる例について考える。ロングＧＯＰでは、上述したように、目標とするピクチャのデコードが当該目標ピクチャの前後のピクチャを用いて行われる場合がある。すなわち、目標ピクチャがＩピクチャでなければ、復号化には、目標ピクチャの前のピクチャ（Ｐピクチャの場合）、または、目標ピクチャの前後のピクチャ（Ｂピクチャの場合）が必要とされる。
【００１９】
そのため、本線ビデオデータを、１フレーム時間に１フレームの出力を行う１倍速デコーダを用いてデコードした場合、例えばシャトル再生により１倍速以上の再生速度で補助ビデオデータが再生された状態から、再生速度が１倍速へと変化して、再生するビデオデータが補助ビデオデータから本線ビデオデータに切り替わる際に、出力が停止してしまうことがあるという問題点があった。
【００２０】
例えば、本線ビデオデータにおいて、１ＧＯＰが上述の「Ｂ0Ｂ1Ｉ2Ｂ3Ｂ4Ｐ5Ｂ6Ｂ7Ｐ8Ｂ9Ｂ10Ｐ11Ｂ12Ｂ13Ｐ14」（表示順）という、１枚のＩピクチャ、４枚のＰピクチャおよび１０枚のＢピクチャからなる場合を考える。この場合において、シャトル再生から再生速度が１倍速に変化した時点で本線ビデオデータにおいて出力すべきフレームがＰ14ピクチャによるフレームであった場合、Ｉ2ピクチャ、Ｐ5ピクチャ、Ｐ8ピクチャおよびＰ11ピクチャの４枚のピクチャをデコードする必要があり、その間、出力が停止してしまうことになる。
【００２１】
また、出力を停止させないために、例えばシャトル再生から再生速度が１倍速に変化した時点でＩピクチャをデコードして出力することも考えられる。しかしながら、この場合には、当該Ｉピクチャよりも再生順で後ろのピクチャが目標ピクチャであったときに、再生されるフレームが時間的に逆行することになり、好ましくない。
【００２２】
したがって、この発明の目的は、補助ビデオデータによる再生速度が１倍速以上のシャトル再生から、再生速度が１倍速若しくは１倍速以下に変化して、再生されるビデオデータが補助ビデオデータから本線ビデオデータに切り替わる際に、適切な表示が行われるようにした再生装置、再生方法および再生プログラムに関する。
【課題を解決するための手段】
【００２３】
この発明は、上述した課題を解決するために予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、第１のビデオデータに基づくデータであって第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第１のビデオデータと第２のビデオデータとをそれぞれ読み出す再生部と、再生部で読み出された第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされた第１のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第１のデコード部と、再生部で読み出された第２のビデオデータをデコードする第２のデコード部と、出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも１倍速を超えた再生速度から１倍速の再生速度まで可変的に指示する再生指示部と、再生指示部の出力するビデオデータのフレームの指示と、ビデオデータの再生速度の指示とに応じて再生部、第１のデコード部および第２のデコード部を制御する制御部とを有し、制御部は、再生指示部によりビデオデータの１倍速を超えた再生速度が指示されているときは第２のデコード部の出力を選択し、再生指示部の指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に再生速度が１倍速とされたときに、記録媒体から第１のビデオデータの読み出しを開始し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第２のデコード部から第１のデコード部に切り換え、さらに、出力が指示される目標再生フレームに対するフレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在の上記フレームバッファの状態と、次に出力されるべき目標再生フレームに対応する目標パターンとを比較し、比較結果に基づき、目標パターンに含まれ、且つ、現在のフレームバッファに含まれていないフレームのうち、目標パターン内で優先順位が最も高く設定されたフレームの第１のビデオデータを記録媒体から読み出すように再生部を制御するようにされ、第１のビデオデータの上記読み出しの開始は、再生指示部の指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に、再生指示部の指示に応じて再生速度が１倍速とされたときに、記録媒体からの目標パターンに基づく優先順位に従いなされるように制御され、優先順位においては、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生装置である。
【００２４】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、第１のビデオデータに基づくデータであって第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第１のビデオデータと第２のビデオデータとをそれぞれ読み出す再生のステップと、再生のステップにより読み出された第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされた第１のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第１のデコードのステップと、再生のステップで読み出された第２のビデオデータをデコードする第２のデコードのステップと、出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも１倍速を超えた再生速度から１倍速の再生速度まで可変的に指示する再生指示のステップと、再生指示のステップの出力するビデオデータのフレームの指示と、ビデオデータの再生速度の指示とに応じて再生のステップ、第１のデコードのステップおよび第２のデコードのステップを制御する制御のステップとを有し、制御のステップは、再生指示のステップによりビデオデータの１倍速を超えた再生速度が指示されているときは第２のデコードのステップによる出力を選択し、再生指示のステップの指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に上記再生速度が１倍速とされたときに、記録媒体から第１のビデオデータの読み出しを開始し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第２のデコードのステップから第１のデコードのステップに切り換え、さらに、出力が指示される目標再生フレームに対するフレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在のフレームバッファの状態と、次に出力されるべき目標再生フレームに対応する目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で優先順位が最も高く設定されたフレームの第１のビデオデータを記録媒体から読み出すように再生のステップを制御し、第１のビデオデータの読み出しの開始は、再生指示のステップによる指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて再生速度が１倍速とされたときに、記録媒体からの目標パターンに基づく優先順位に従いなされるように制御され、 優先順位においては、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは隣接フレームをデコードするために用いられるフレームが、次の順位に設定されることを特徴とする再生方法である。
【００２５】
また、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、第１のビデオデータに基づくデータであって第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第１のビデオデータと第２のビデオデータとをそれぞれ読み出す再生のステップと、再生のステップにより読み出された第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされた第１のビデオデータを複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納する第１のデコードのステップと、再生のステップで読み出された第２のビデオデータをデコードする第２のデコードのステップと、出力するビデオデータのフレームを指示すると共に、ビデオデータの再生速度を少なくとも１倍速を超えた再生速度から１倍速の再生速度まで可変的に指示する再生指示のステップと、再生指示のステップの出力するビデオデータのフレームの指示と、ビデオデータの再生速度の指示とに応じて再生のステップ、第１のデコードのステップおよび第２のデコードのステップを制御する制御のステップとを有し、制御のステップは、再生指示のステップによりビデオデータの１倍速を超えた再生速度が指示されているときは第２のデコードのステップによる出力を選択し、再生指示のステップの指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に上記再生速度が１倍速とされたときに、記録媒体から第１のビデオデータの読み出しを開始し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第２のデコードのステップから第１のデコードのステップに切り換え、さらに、出力が指示される目標再生フレームに対するフレームバッファの目標パターンを、フレーム毎に優先順位を設定して作成し、現在のフレームバッファの状態と、次に出力されるべき目標再生フレームに対応する目標パターンとを比較し、比較結果に基づき、該目標パターンに含まれ、且つ、現在のフレームバッファに含まれていないフレームのうち、該目標パターン内で優先順位が最も高く設定されたフレームの第１のビデオデータを記録媒体から読み出すように再生のステップを制御し、第１のビデオデータの読み出しの開始は、再生指示のステップによる指示に応じてビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に、上記再生指示のステップによる指示に応じて再生速度が１倍速とされたときに、記録媒体からの目標パターンに基づく優先順位に従いなされるように制御され、 優先順位においては、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが最も高い順位に設定され、目標再生フレームに対して順方向および逆方向に隣接するフレームそのものまたは隣接フレームをデコードするために用いられるフレームが、次の順位に設定される再生方法をコンピュータ装置に実行させるようにしたことを特徴とする再生プログラムである。
【００２６】
上述したように、この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、第１のビデオデータに基づくデータであって第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータとが記録された、ランダムアクセスが可能な記録媒体から、第１のビデオデータと第２のビデオデータとをそれぞれ読み出し、ビデオデータの１倍速を超えた再生速度が指示されているときは第２のビデオデータのデコード出力を選択し、ビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に再生速度が１倍速とされたときに、記録媒体から第１のビデオデータの読み出しを開始し、読み出された第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードして複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第２のビデオデータのデコード出力から第１のビデオデータのデコード出力へと切り換えるようにしているため、ビデオデータの再生速度が１倍速を超える速度とされ第２のビデオデータのデコード出力が選択されている状態から、再生速度が１倍速を超える速度から１倍速へと変化させられ、第１のビデオデータのデコード出力が選択されている状態へ遷移しても、フレームの連続的な出力が可能である。
【発明の効果】
【００２７】
この発明は、上述したように、予測符号化によるフレーム間圧縮を用いて圧縮符号化された第１のビデオデータと、第１のビデオデータに基づくデータであって第１のビデオデータに対してより伝送レートが低くされた第２のビデオデータが記録された、ランダムアクセスが可能な記録媒体から、第１のビデオデータと第２のビデオデータとをそれぞれ読み出し、ビデオデータの１倍速を超えた再生速度が指示されているときは第２のビデオデータのデコード出力を選択し、ビデオデータの再生速度が１倍速を超えた速度から１倍速へと変化させられる際に再生速度が１倍速とされたときに、記録媒体から第１のビデオデータの読み出しを開始し、読み出された第１のビデオデータを、１フレーム時間に１フレームを出力するようにデコードして複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに一時的に格納し、少なくともフレームバッファに出力可能なフレームが格納されたら出力を第２のビデオデータのデコード出力から第１のビデオデータのデコード出力へと切り換えるようにしているため、ビデオデータの再生速度が１倍速を超える速度とされ第２のビデオデータのデコード出力が選択されている状態から、再生速度が１倍速を超える速度から１倍速へと変化させられ、第１のビデオデータのデコード出力が選択されている状態へ遷移しても、フレームの連続的な出力が可能とされ、表示される画像においても違和感が生じることがないという効果がある。
【発明を実施するための最良の形態】
【００２８】
以下、この発明について、下記の順序に従い説明する。
１．この発明に適用されるシステムについて
１−１．再生制御処理の概念的な説明
１−２．再生装置の一例の構成
１−３．デコーダの一例の構成
１−４．光ディスクのフォーマットについて
１−５．再生制御処理のより詳細な説明
１−５−１．目標フレームバッファパターンの作成
１−５−２．目標フレームバッファの一例の更新パターン
１−５−３．優先順位付き目標フレームバッファ更新パターン
１−５−４．優先順位付き目標フレームバッファパターン作成の流れ
１−５−５．優先順位付き目標フレームバッファ更新パターンの他の例
１−５−６．優先順位付き目標フレームバッファ更新パターンのさらに他の例
１−５−７．優先順位付きフレームバッファの更新パターンに基づく再生制御動作
２．この発明の実施の一形態について
２−１．再生装置の一例の構成
２−２．再生制御処理について
【００２９】
１．この発明に適用されるシステムについて
先ず、この発明の実施形態の説明に先んじて、この発明に適用されるシステムについて説明する。
【００３０】
１−１．再生制御処理の概念的な説明
図１は、この発明に適用されるシステムにおける、順方向または逆方向について再生速度が１倍速以内の場合の再生制御処理を概念的に示す。ステップＳ１で、次に再生すべき目標再生フレームが指示される。目標再生フレームは、例えば再生速度が順方向または逆方向に１倍速以内の場合、１フレームタイミング前で確定した目標再生フレームに対して表示順で隣接するフレームの範囲となる。目標再生フレームは、例えばより上位のシステムから指定され、フレームタイミング毎に供給される。
【００３１】
目標再生フレームが指示されると、次に、目標再生フレームに対する目標フレームバッファのパターンが作成される（ステップＳ２）。目標フレームバッファのパターンは、目標再生フレームを再生すると共に、逆方向および順方向への再生を継続するために、フレームバッファ上にデコードされた状態で溜め込まれている必要があるフレームのパターンである。次のステップＳ３で、作成された目標フレームバッファパターンと現在のフレームバッファの状態とが比較される。この比較により、現在のフレームバッファの状態に対して新規にデコードが必要なピクチャが抽出される（ステップＳ４）。それと共に、現在のフレームバッファに空き領域が無い場合、不要なピクチャが抽出される（ステップＳ５）。ステップＳ４抽出されるピクチャは、常に１ピクチャである。また、ステップＳ５でピクチャの抽出が行われる場合は、常に１ピクチャが抽出される。
【００３２】
ここまでが、実際にデコードを行うためのターゲットを作成する処理となる。次から、実際にデコーダが制御され、デコード処理が開始される。
【００３３】
ステップＳ６では、例えば記録媒体がアクセスされ、ステップＳ４で抽出された結果に基づき所定のピクチャがデコーダに対してストリーム入力される。デコーダでデコードされたピクチャは、フレームバッファ上の、上述のステップＳ５で抽出された不要ピクチャの領域に上書きされる（ステップＳ７）。１ピクチャ分のデコードが完了すると、デコード済みの出力フレーム画像として出力される（ステップＳ８）。
【００３４】
１−２．再生装置の一例の構成
図２は、この発明のシステムに適用可能な再生装置１の一例の構成を概略的に示す。再生装置１は、光ディスク１０を記録媒体として用いる。ＣＰＵ(Central Processing Unit)１４は、ＲＯＭ(Read Only Memory)およびＲＡＭ(Random Access Memory)が接続され（図示しない）、ＲＯＭに予め記憶されたプログラムに従いこの再生装置１の各部を制御する。ＲＡＭは、ＣＰＵ１４のワークメモリとして用いられる。
【００３５】
ディスクドライブ１１は、ＣＰＵ１４の制御に基づき、装填された光ディスク１０の所定のアドレスからデータを読み出す。読み出されたデータは、キャッシュメモリ１２に一時的に溜め込まれる。そして、ＣＰＵ１４の命令に基づき、キャッシュメモリ１２からデコーダ１３に対してビデオストリームが供給され、要求に応じて入力されたビデオストリームをフレームメモリ１３Ａを用いてデコードする。デコード出力は、ベースバンドのビデオ信号として出力される。
【００３６】
操作部１５は、キーやスイッチなどの様々な操作子が設けられ、操作子に対してなされた操作に応じた制御信号を生成し、ＣＰＵ１４に供給する。ＣＰＵ１４は、供給されたこの制御信号に応じて再生装置１の各部に対して命令を送る。操作部１５には、例えばジョグダイヤル１６が設けられる。ジョグダイヤル１６は、回転角に応じた信号が出力されるようになっており、例えば、ジョグダイヤル１６は、ユーザによる操作に応じて、再生方向について順方向および逆方向の指定を行うための制御信号や、再生速度を略リアルタイムで指示する制御信号などを生成し、ＣＰＵ１４に供給する。
【００３７】
ジョグダイヤル１６を所定に操作することで、順方向および逆方向に１倍速以上の再生速度で、可変速で再生を行うシャトル再生を指示することができる。例えば、ジョグダイヤル１６が正逆の所定の角度以上に回転されると、回転角に応じて順方向または逆方向の１倍速以上の再生速度を指定する制御信号が生成される。ジョグダイヤル１６の回転角の変化に応じて、再生速度を指示する制御信号も略リアルタイムに変化される。ジョグダイヤル１６の回転角が正逆の所定角度で順方向または逆方向に１倍速の再生速度が指示され、正逆の所定角度以下で順方向または逆方向の１倍速以下の再生速度が指示される。
【００３８】
インターフェイス（Ｉ／Ｆ）１７は、上位の装置との間でコマンドやステータスなどのやりとりを行う。例えば、編集装置がインターフェイス１７を介してこの再生装置１に接続される。再生速度や方向といった再生制御コマンドや、ＩＮ点およびＯＵＴ点といった編集点を示すデータ、編集開始指示といった編集コマンドが編集装置から送信され、インターフェイス１７で受信され、ＣＰＵ１４に渡される。
【００３９】
同期信号入力部１８は、外部から例えばフレームタイミングを示す所定の同期信号が入力される。再生装置１は、この同期信号入力部１８に対して入力された同期信号に基づき動作することができる。
【００４０】
この再生装置１で扱われるビデオストリームは、ＭＰＥＧ２(Moving Pictures Experts Group 2)の規格に準じて圧縮符号化がなされたストリームであって、ＧＯＰ(Group Of picture)の構成は、ロングＧＯＰおよびオープンＧＯＰであるものとする。
【００４１】
１−３．デコーダの一例の構成
図３は、デコーダ１３の一例の構成を概略的に示す。光ディスク１０から読み出され、ディスクドライブ１１から出力されるストリームデータは、例えばＭＰＥＧ−ＥＳ(MPEG Elementally Stream)である。このＭＰＥＧ−ＥＳは、ストリームデコーダ２０に供給される。ストリームデコーダ２０は、入力されたＭＰＥＧ−ＥＳのパケットとヘッダ情報とを解析し、デコード処理に必要な各種パラメータと、圧縮符号化されパケット中のペイロードに格納されたピクチャのデータとを抽出する。各種パラメータは、例えばＣＰＵ１４に供給される。抽出されたピクチャデータは、ストリームバッファ２１に所定に溜め込まれる。
【００４２】
ＭＰＥＧデコーダ２２は、ストリームデコーダ２０に対してストリームバッファ２１に溜め込まれたピクチャデータを要求し、要求に応じてストリームバッファ２１から読み出されたピクチャデータをデコードしてフレームメモリ１３Ａに書き込む。また、ＭＰＥＧデコーダ２２は、フレームメモリ１３Ａに書き込まれたピクチャデータを用いて他のピクチャデータ（例えばＰピクチャやＢピクチャ）をデコードする処理も行う。
【００４３】
なお、詳細は後述するが、フレームメモリ１３Ａは、順方向の再生と逆方向の再生とを固定的な遅延で実行可能とするための必要十分な容量を有する。例えば、フレームメモリ１３Ａは、デコードされたピクチャの９フレーム分を溜め込めるだけの容量を有する。一例として、フレームメモリ１３Ａは、それぞれ１フレーム分のデータを格納可能な９個のバンクに記憶領域が分割され、バンク毎にアクセスが制御される。
【００４４】
出力データ制御部２３は、出力されるビデオデータの管理を行う。例えば、出力データ制御部２３は、上位のシステムなどからインターフェイス１７を介して供給されたコマンドや、操作部１５に対する操作に応じたＣＰＵ１４の命令に基づき、フレームメモリ１３Ａから次に表示するためのフレームデータを読み出す。読み出されたフレームデータは、ベースバンドのビデオ信号として出力される。
【００４５】
図４は、デコーダ１３の一例の構成をより具体的に示す。なお、図４において、上述する図３と共通する部分には同一の符号を付して詳細な説明を省略する。ディスクドライブ１１から出力されたＭＰＥＧ−ＥＳは、デマルチプレクサ（ＤＭＵＸ）３０に供給され、パケットが解析される。パケットから取り出されたＭＰＥＧ  ＥＳおよびヘッダ情報は、ストリームバッファ２１に溜め込まれる。パケットのヘッダ情報は、また、ユーザデータデコーダ３１に供給され、各種パラメータが抽出される。抽出されたパラメータは、ストリームバッファ２１に所定に溜め込まれる。
【００４６】
デコーダ３２は、ストリームバッファ２１に溜め込まれたヘッダ情報やＭＰＥＧ  ＥＳをデコードする。デコーダ３２は、ヘッダ情報のデコードを行いピクチャのデコードに必要なパラメータを取り出す。デコーダ３２は、ヘッダ情報から取り出されたパラメータに基づき、ＭＰＥＧ  ＥＳに対して、可変長符号のデコード、逆量子化および逆ＤＣＴ(Discrete Cosine Transform)を行い、ピクチャ毎のデコードを行う。デコーダ３２でデコードされたピクチャデータは、予測復元部３３を介してフレームメモリ１３Ａに書き込まれる。
【００４７】
予測復元部３３は、フレームメモリ１３Ａに書き込まれたピクチャデータを用いて、予測符号化を用いてフレーム間圧縮をされたピクチャをデコードする。フレーム間圧縮をデコードされたピクチャは、フレームデータとしてフレームメモリ１３Ａに再び書き込まれる。
【００４８】
一方、上位のシステムなどから、再生方向や再生速度、再生フレームなどを命令するコマンドが送信され、インターフェイス１７を介してＣＰＵ１４に供給される。また、ユーザの、再生方向および再生速度を指定するためのジョグダイヤル１６に対する操作などにより、操作部１５で、再生速度や再生方向を示す制御信号が所定に生成され、ＣＰＵ１４に供給される。
【００４９】
ＣＰＵ１４は、ＲＯＭ３５に予め記憶されたプログラムに従い、インターフェイス１７を介して供給されたコマンドや、操作部１５から供給された制御信号に基づき、ビデオ出力部２３に対して命令を出し、出力すべきフレームを指示する。なお、ＲＡＭ３６は、必要に応じてＣＰＵ１４のワークメモリとして用いられる。ビデオ出力部２３は、この命令に応じてフレームメモリ１３Ａから指示されたフレームを読み出す。
【００５０】
読み出されたフレームは、補助データ重畳部３４に供給され、ストリームバッファ２１に溜め込まれた情報に基づき所定にビデオインデックス情報や補助データなどが重畳され、さらに同期信号を付加されて、出力ビデオ信号として出力される。
【００５１】
１−４．光ディスクのフォーマットについて
次に、光ディスク１０について説明する。先ず、図５を用いて、ディスク状記録媒体における一例のデータ配置について説明する。この図５に一例が示されるデータ配置は、記録可能な光ディスク、ハードディスクといった、ランダムアクセスが可能なディスク状記録媒体における一般的なデータ配置である。論理アドレス空間は、任意のデータを記録再生可能な領域である。
【００５２】
このシステムには、記録媒体として光ディスクが適用されるものとする。なお、このシステムに適用可能な記録媒体は、光ディスクに限られない。すなわち、このシステムは、ハードディスクドライブや半導体メモリといった、他のランダムアクセス可能な記録媒体にも適用できるものである。
【００５３】
論理アドレスの先端および後端には、ファイルシステムＦＳが配置される。任意のデータは、論理アドレス空間内に一般的にファイルと称される所定の形式で記録される。記録媒体上のデータは、基本的にファイル単位で管理される。ファイルの管理情報は、ファイルシステムＦＳに記録される。記録再生装置のシステム制御部（後述する）のファイルシステム層は、このファイルシステムＦＳの情報を参照および操作することで、多種多様なデータを一つの記録媒体上で管理することができる。ファイルシステムＦＳは、例えばＵＤＦ(Universal Disk Format)が用いられ、２ｋＢ単位でファイルを管理する。
【００５４】
論理アドレス空間の外に、交替領域が配置される。交替領域は、記録媒体の一部が欠陥（ディフェクト）により物理的に読み書きできなくなった場合に代替的に用いることができる領域である。例えば、記録媒体に対するアクセス（特に記録時のアクセス）の際に欠陥領域が認識された場合、通常は交替処理が行われ、当該欠陥領域のアドレスが交替領域内に移動される。
【００５５】
交替領域の使用状況は、所定領域にディフェクトリストとして記憶され、記録再生装置のドライブ制御部や、システム制御部の下位階層により用いられる。すなわち、後述するドライブ制御部やシステム制御部の下位階層では、記録媒体へのアクセスの際にディフェクトリストを参照することで、交替処理が行われている場合にも、適切な領域へのアクセスを行うことができる。交替領域のこの仕組みにより、上位アプリケーションは、記録媒体上の不良記録領域の有無や位置などを考慮することなく、記録媒体に対するデータの記録再生を行うことができる。
【００５６】
ディスク状記録媒体の場合、交替領域は、ディスクの最内周側または最外周側に配置されることが多い。ディスクの回転制御を、ディスクの半径方向に段階的に回転速度を変更するゾーン制御で行っている場合には、ゾーン毎に交替領域を設ける場合もある。記録媒体が半導体メモリなどディスク状記録媒体ではない場合には、物理アドレスが最も小さい側または最も大きい側に配置されることが多い。
【００５７】
オーディオデータおよびビデオデータ（以下、まとめてＡＶデータと呼ぶ）を扱うアプリケーションにおいては、連続同期再生、すなわち実時間再生が保障された再生が必要な単位となるデータのまとまりを、クリップと呼ぶ。例えば、ビデオカメラにより撮影が開始されてから終了されるまでのひとまとまりのデータがクリップとされる。クリップの実体は、単一のファイルまたは複数のファイルからなる。このシステムにおいては、クリップは、複数のファイルからなる。クリップの詳細については、後述する。
【００５８】
論理アドレス空間に対して、例えば先頭側にクリップ以外の任意のファイルが記録できるＮＲＴ(Non Real Time)領域が配置され、ＮＲＴ領域の次から、クリップが順に詰め込まれていく。クリップは、光ディスク１０上のディフェクト位置を避けて配置され、上述した交替処理が行われないようにされる。各クリップには、ヘッダ（Ｈ）およびフッタ（Ｆ）が付加される。この例では、ヘッダおよびフッタは、クリップの後端側にまとめて配置されている。
【００５９】
なお、以下の説明において、光ディスク１０に最初に記録されるクリップを、クリップ＃１とし、以降、クリップ＃２、クリップ＃３、・・・とクリップ番号が増加していくものとする。
【００６０】
論理アドレス空間内において、データが記録されていない領域や、過去にデータが記録されていたが現在では不要になった領域は、未使用領域としてファイルシステムＦＳに管理される。記録媒体上に新たに記録されるファイルに対して、未使用領域に基づき記録領域が割り当てられる。当該ファイルの管理情報は、ファイルシステムＦＳに追加される。
【００６１】
記録媒体として記録可能な光ディスクを用いた場合、このシステムでは、クリップを年輪構造によって記録媒体に記録する。図６および図７を用いて、年輪構造について説明する。図６Ａは、一つのクリップ１００をタイムライン上に示す例である。この例では、クリップ１００は、ビデオデータ１０１、オーディオデータ１０２Ａ〜１０２Ｄ、補助ＡＶデータ１０３およびリアルタイムメタデータ１０４の７ファイルからなる。
【００６２】
ビデオデータ１０１は、ベースバンドのビデオデータを、例えばビットレートが５０Ｍｂｐｓ（メガビットパーセカンド）の高ビットレートで圧縮符号化したビデオデータである。圧縮符号化方式としては、例えばＭＰＥＧ２(Moving Pictures Experts Group 2)方式が用いられる。オーディオデータ１０２Ａ、１０２Ｂ、１０２Ｃおよび１０２Ｄは、ベースバンドのオーディオデータが用いられ、それぞれ２チャンネルのオーディオデータである。これに限らず、オーディオデータ１０２Ａ、１０２Ｂ、１０２Ｃおよび１０２Ｄは、ベースバンドのオーディオデータを高ビットレートで圧縮符号化したオーディオデータを用いてもよい。ビデオデータ１０１およびオーディオデータ１０２Ａ〜１０２Ｄは、実際の放送や編集の対象とされるデータであって、本線系のデータと称される。
【００６３】
補助ＡＶデータ１０３は、ベースバンドのビデオデータおよびオーディオデータを、本線系のビデオデータおよびオーディオデータに対してより低ビットレートで圧縮符号化して多重化したデータである。圧縮符号化方式としては、例えばＭＰＥＧ４方式が用いられ、本線系のＡＶデータを、ビットレートを例えば数Ｍｂｐｓまで落とすように圧縮符号化して生成する。補助ＡＶデータ１０３は、高速サーチ再生を行うために本線系のデータの代理として用いられるデータであって、プロキシ(Proxy)データとも称される。補助ＡＶデータは、ビットレートが低いのでディスクからの読み出しを高速に行うことができ、また、復号化処理も高速に行え、例えば再生速度が１倍速以上で可変速再生されるシャトル再生に用いて好適である。
【００６４】
なお、本線系のデータのうちビデオデータを、以下では、本線ビデオデータと呼ぶ。また、補助ＡＶデータのうちビデオデータを、以下では補助ビデオデータと呼ぶ。
【００６５】
メタデータは、あるデータに関する上位データであり、各種データの内容を表すためのインデックスとして機能する。メタデータには、上述の本線系のＡＶデータの時系列に沿って発生されるリアルタイムメタデータ１０４と、本線系のＡＶデータにおけるシーン毎など、所定の区間に対して発生される非時系列メタデータの２種類がある。非時系列メタデータは、例えば図５で説明したＮＲＴ領域に記録される。
【００６６】
クリップ１００は、図６Ｂに一例が示されるように、所定の再生時間（例えば２秒）を基準として分割され、年輪構造として光ディスクに記録される。一つの年輪は、図６Ｃに一例が示されるように、ビデオデータ１０１、オーディオデータ１０２Ａ〜１０２Ｄ、補助ＡＶデータ１０３およびリアルタイムメタデータ（ＲＭ）１０４を、それぞれ再生時間帯が対応するように、トラック１周分以上のデータサイズを有する所定の再生時間単位に分割し、分割された再生時間単位毎に順に配置して記録する。すなわち、クリップ１００を構成する各データは、年輪構造により所定時間単位でインターリーブされ、光ディスクに記録される。
【００６７】
年輪を形成するデータを年輪データと称する。年輪データは、ディスクにおける最小の記録単位の整数倍のデータ量とされる。また、年輪は、その境界がディスクの記録単位のブロック境界と一致するように記録される。
【００６８】
図７は、光ディスク１０に対して年輪データが形成された一例の様子を示す。例えば、図６Ｂを用いて説明したように、光ディスク１０の内周側から外周側に向けて、１つのクリップが所定の再生時間単位に分割された年輪データ＃１、＃２、＃３、・・・が連続的に記録される。すなわち、光ディスク１０の内周側から外周側に向けて、再生の時系列が連続するようにデータが配置される。なお、図示しないが、ＮＲＴ領域は、図７の例では、先頭の年輪データ＃１のさらに内周側に配置される。
【００６９】
ＨＤフォーマットでは、可変長ビットレートでの圧縮符号化が可能とされている。また、ロングＧＯＰを用いた場合、予測符号化を用いたフレーム間圧縮符号化により、Ｉピクチャ、ＰピクチャおよびＢピクチャにより、データサイズが異なる。そこで、ピクチャポインタファイルを用いて所望の位置へのアクセスを実現する。
【００７０】
ピクチャポインタは、クリップ内の各フレーム位置のオフセット情報である。すなわち、例えばＭＰＥＧ２においては、フレーム毎にデータの圧縮率を変える可変ビットレートが可能とされている。例えば、平坦な画面のフレームは、より高圧縮率で圧縮符号化し、粗い画面のフレームは、より低圧縮率で圧縮符号化する。このように、フレームの性質に応じて圧縮率を変えることで、より高解像度のビデオデータをより低いビットレートで伝送および記録することができる。また、ＭＰＥＧ２においては、可変長符号による圧縮符号化もなされる。
【００７１】
このような、ビットレートを可変として圧縮符号化されたビデオデータは、フレーム位置や複数フレームで再生が完結されるＧＯＰの位置がフレーム毎やＧＯＰ毎に異なり、所望の位置へのジャンプなどが難しい。そこで、可変長ビットレートのアクセスを容易とするために、クリップ内の各フレーム位置のオフセット情報をピクチャポイントとしてテーブル化して非時系列メタデータファイルとし、クリップにそれぞれ対応して配置する。例えばドライブにディスクを挿入した際にこのピクチャポイントを所定に読み込んでおくことで、クリップ内の所望位置へのアクセスを高速に行うことができるようになる。
【００７２】
図８および図９を用いて、より詳細に説明する。図８は、ＭＰＥＧ２のロングＧＯＰにおける一例のデータ構造を示す。例えば、図８Ａに示されるように、１つのクリップから１ロングＧＯＰファイルが構成される。ロングＧＯＰファイルは、図８Ｂに示されるように、ビデオＭＸＦ(Material Exchange Format)ファイルＯＰ−Ａｔｏｍと呼ばれる構造を有し、先頭からヘッダパーティションパック（ＨＰＰ）およびヘッダメタデータが配置されてヘッダ情報が構成され、その後ろに、ビデオデータの本体が格納されるエッセンスコンテナが配置される。ファイルの末尾には、フッタパーティションパック（ＦＰＰ）が配置される。
【００７３】
エッセンスコンテナは、図８Ｃに示されるように、ＧＯＰが並んでいる構成となっている。各ＧＯＰの内容は、図８Ｄに示されるように、ピクチャの集合であり、１つのピクチャの内容は、図８Ｅに示されるように、先頭にＫＬ(Key,length)情報が配され、次にＩ、ＰまたはＢピクチャの本体が配され、さらにＫＬ情報が配される。ピクチャの末尾には、必要に応じてフィラーが配され、バイト単位で末尾が揃えられる。
【００７４】
このような構成において、ＭＰＥＧ２のロングＧＯＰでは、各ピクチャの情報量、すなわち図８Ｅに示されるＩ、ＰおよびＢピクチャのサイズの値が不確定となる。したがって、例えばロングＧＯＰビデオファイル中のあるフレームから再生を開始しようとした場合に、ロングＧＯＰビデオファイル中のそのフレームに対応するピクチャの先頭位置を、バイト位置などで指定することができない。
【００７５】
そのため、ロングＧＯＰビデオファイルの先頭位置からバイト単位で示されるファイルアドレス（図８Ｆ参照）を基準として、ロングＧＯＰビデオファイルに含まれる各ピクチャそれぞれについて、ファイルアドレス、サイズおよびピクチャタイプ（Ｉ、ＰまたはＢピクチャ）と、そのピクチャがＧＯＰの先頭のピクチャであるか否かを示す情報を、ピクチャポインタ情報として用意する。このピクチャポインタ情報は、ロングＧＯＰビデオファイル毎に用意される。
【００７６】
なお、図８Ｅに示されるピクチャ末尾に配されるフィラーは、各ピクチャの境界がファイルアドレスで見て例えば２０４８バイトといった所定バイトの倍数になるように調整する。一例として、各ピクチャの境界が光ディスク１０のセクタといった最小アクセス単位の境界に一致するように、フィラーを用いて調整すると、各ピクチャ毎のアクセスが容易となり好ましい。
【００７７】
図９は、ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す。この例では、ピクチャポインタテーブルは、８バイト単位でデータが記述される。先頭の８バイトは、予約領域およびこのピクチャポインタテーブルのバージョン情報が格納される。以下、１フレームすなわち１ピクチャに対して８バイトが割り当てられ、この８バイトの情報がロングＧＯＰビデオファイルに含まれるピクチャの数だけ並べられる。各ピクチャは、表示フレーム順に並べられている。
【００７８】
各ピクチャ毎のデータについて説明する。先頭の１ビットは、そのピクチャがＧＯＰの先頭のピクチャであるか否かを示すフラグである。例えば、１ＧＯＰ内にＩピクチャが複数枚、存在する場合を想定すると、Ｉピクチャの位置だけではＧＯＰの境界を特定できない。ＧＯＰの境界を特定できないと、ＭＰＥＧ２に規定されるシーケンスヘッダ(Sequence Header)の位置が分からず、デコーダに入力されるストリームの先頭にシーケンスヘッダが無いという状態になるおそれがある。このＧＯＰ先頭のピクチャであるか否かを示すフラグをピクチャ毎に持たせることで、このような状態を回避できる。再生時には、このフラグにもとづきでコーダにストリームを入力させる。
【００７９】
次の２３ビットは、図８Ｅに示される、ピクチャのサイズ情報が格納される。サイズ情報として２３ビットを確保することで、８ＭＢ（メガバイト）までのデータサイズに対応でき、ＭＰＥＧプロファイルの４２２＠ＨＬにも対応可能となる。
【００８０】
次の２ビットでピクチャのタイプが示される。Ｂピクチャについては、参照方向の情報も示される。ピクチャのタイプは、より具体的には、例えば次のように記述される。
００：Ｉピクチャ
１０：Ｐピクチャ
０１：前方（未来）のフレームが参照されて復元されるＢピクチャ。これは、例えばオープンＧＯＰの場合の、ロングＧＯＰビデオファイル先頭のＢピクチャ、または、クローズドＧＯＰの場合の各ＧＯＰの先頭のＢピクチャである。
１１：前方および後方のフレームが参照されて復元されるＢピクチャ。
【００８１】
次の３８ビットは、当該ピクチャのロングＧＯＰビデオファイル内におけるファイルアドレスが示される。ファイルアドレスに３８ビットを割り当てることで、サイズが２５６ＧＢ（ギガバイト）までのロングＧＯＰビデオファイルに対応可能である。例えば、１層で２７ＧＢの記録容量を有する記録層が８層まで形成された光ディスク１０に対応可能である。
【００８２】
このピクチャポインタテーブルは、ピクチャポインタファイルとして、非時系列メタデータと共に例えば記録媒体のＮＲＴ領域に記録される。光ディスク１０がディスクドライブ１１に装填された際に、このＮＲＴ領域に記録された非時系列メタデータとピクチャポインタファイルがディスクドライブ１１により読み出され、光ディスク１０が再生装置１のシステムに対してマウントされる。読み出された非時系列メタデータやピクチャポインタファイルは、例えばＣＰＵ１４が有するＲＡＭに保持される。ＣＰＵ１４は、ＲＡＭに保持されるピクチャポインタテーブルを参照することで、光ディスク１０に記録されるクリップ中の任意のピクチャにアクセスすることができる。
【００８３】
１−５．再生制御処理のより詳細な説明
次に、この発明に適用されるシステムにおける再生制御処理について、より詳細に説明する。
【００８４】
１−５−１．目標フレームバッファパターンの作成
先ず、図１のステップＳ２で説明した、目標フレームバッファパターンについて説明する。最初に、任意の目標再生フレームと、当該目標再生フレームに対して表示順で隣接する前後のフレームとを再生するために必要なフレームバッファサイズを求める。
【００８５】
図１０は、カレントフレーム（例えば目標再生フレーム）に対して表示順で１フレーム後または１フレーム前のフレームをデコードする場合の必要バッファ量の例を示す。図１０において、出力フレーム（カレントフレーム）を「０」で示し、現在より表示順で順方向すなわち未来（後）になるフレームは「＋」を、表示順で逆方向すなわち過去（前）になるフレームは「−」を、それぞれ付して示す。また、図中、「Ｍ」は、基準ピクチャから次の基準ピクチャまでのピクチャの移動数、「Ｎ」は、１ＧＯＰ内のピクチャ数を示す。例えば、ＧＯＰが「Ｉ３、Ｂ１、Ｂ２、Ｐ６、Ｂ４、Ｂ５、Ｐ９、Ｂ７、Ｂ８、Ｐ１２、Ｂ１０、Ｂ１１、Ｐ１５、Ｂ１３、Ｂ１４」の１５枚のピクチャで構成される場合、（Ｍ＝３、Ｎ＝１５）である。
【００８６】
図１０Ａは、順方向に１フレームだけ再生を進める場合の例を示す。この場合、Ｍ＝３のときに、目標再生フレームが隣り合ったＢピクチャの表示順で前方のＢピクチャの場合に、最もバッファが必要となる。この場合には、次のフレームタイミングで当該目標再生フレームから次のＢピクチャに移動することになる。
【００８７】
すなわち、この場合には、Ｂ４ピクチャおよびＢ５ピクチャは、それぞれＩ３ピクチャおよびＰ６ピクチャを用いてデコードされる。Ｂ５ピクチャのデコードが終了するまで、Ｉ３ピクチャはバッファから破棄できず、且つ、Ｐ６ピクチャはＢ５ピクチャの次に表示されるため、バッファ内に保持される。したがって、Ｍ＋１＝４ピクチャ分のバッファが必要となる。
【００８８】
図１０Ｂは、逆方向に１フレームだけ再生を進める（戻す）場合の例を示す。一般的なＭ＝３およびＮ＝１５のオープンＧＯＰであれば、目標再生フレームがＩ３+1ピクチャである場合に、最もバッファが必要となる。この場合には、次のフレームタイミングで当該目標再生フレームから表示順で後方のＢ２+1ピクチャに移動することになる。なお、（+1）は、そのピクチャがカレントピクチャの次のＧＯＰに属することを示す。
【００８９】
すなわち、この場合には、Ｂ２+1ピクチャをデコードするために、Ｉ３+1ピクチャと、Ｂ２+1ピクチャの表示順で前のＰ１５ピクチャとが必要となり、このＰ１５ピクチャをデコードするために、当該Ｐ１５ピクチャの属するＧＯＰにおけるＩ３ピクチャ、Ｐ６ピクチャ、Ｐ９ピクチャ、Ｐ１２ピクチャが順次、必要となる。したがって、Ｎ／Ｍ＋２＝７ピクチャ分のバッファが必要となる。ここで、Ｎ／Ｍは、ＧＯＰに含まれるＩピクチャおよびＰピクチャの枚数に相当する。
【００９０】
図１０Ｃは、順方向および逆方向の何れかの方向に対する１フレームの移行を考慮した場合の例である。一般的なＭ＝３およびＮ＝１５のオープンＧＯＰであれば、目標再生フレームがＩ３+1ピクチャである場合に最もバッファが必要となる。この場合には、次のフレームタイミングで、当該Ｉ３+1ピクチャの表示順で次のＢ４+1ピクチャまたは表示順で前のＢ２+1ピクチャに移動することになる。
【００９１】
すなわち、この場合は、上述の図１０Ａの例と図１０Ｂの例とを組み合わせた状態となり、目標再生フレームであるＩ３+1ピクチャの表示順で次のＢ４+1ピクチャをデコードするために、当該Ｉ３+1ピクチャと、当該Ｉ３+1ピクチャの次に現れる基準ピクチャであるＰ６+1ピクチャとが必要となる。また、当該Ｉ３+1ピクチャの表示順で前のＢ２+1ピクチャをデコードするために、当該Ｉ３+1ピクチャと、当該Ｉ３+1ピクチャの属するＧＯＰの前のＧＯＰにおけるＩ３ピクチャ、Ｐ６ピクチャ、Ｐ９ピクチャ、Ｐ１２ピクチャおよびＰ１５ピクチャとが順次、必要となる。したがって、Ｎ／Ｍ＋Ｍ＋１＝９ピクチャ分のバッファが必要となる。
【００９２】
このように、目標再生フレームから表示順で隣接する前後のフレームに移動する場合には、９ピクチャ分のバッファが必要となる。
【００９３】
１−５−２．目標フレームバッファの一例の更新パターン
この発明に適用されるシステムでは、フレームバッファにおいて、目標再生フレームに対して表示順で隣接する前後のピクチャが常に固定遅延で表示可能となるような、バッファの更新パターンを作成する。すなわち、デコードされバッファ上に存在する目標再生フレームに対して表示順で前後に隣接するフレームが常にデコードされバッファ上に存在する状態とする。さらに、逆方向再生を継続するために必要なフレームと、順方向再生を継続するために必要なフレームとを、常に、全てデコードし、バッファ上に溜め込んでおく。このようなバッファ上のパターンを、目標再生フレームを１フレーム毎に移動させた全パターンについて作成する。
【００９４】
この状態において、目標再生フレームが１フレーム分移動し、更新された場合、新たにデコードが必要となるデータは、再生方向が順方向および逆方向によらず常に１フレーム分となる。したがって、再生方向が順方向および逆方向の何れの場合の１倍速以内の再生速度での変速再生が、１倍速デコーダを用いて実現可能となる。
【００９５】
さらに、この状態において、逆方向の１倍速再生から、順方向の１倍速再生のコマンド速度の間では、固定遅延で再生出力結果を得ることができる。
【００９６】
図１１は、上述の考えに基づき作成した目標フレームバッファの一例の更新パターンを示す。この図１１の例は、（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合に関する。１ＧＯＰが１５ピクチャ（フレーム）で構成され、１５のパターンからなる。図１１中の各行に示されるように、目標再生フレームに対応したフレームがフレームバッファに格納された状態で、目標再生フレームを任意の方向に１フレームずつ移動させた場合に、更新されるフレームがそれぞれ１フレーム分で済み、順方向および逆方向の１倍速以内の可変速再生を、１倍速デコーダを用いて行うことができるようにしている。
【００９７】
すなわち、図１１の更新パターンの各行において、その行に対応する目標再生フレームと、当該目標再生フレームに対して再生方向で順方向および逆方向にそれぞれ隣接するフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。それと共に、当該目標再生フレームに対して順方向および逆方向に隣接するフレームにさらに隣接するフレームをデコードするために必要なフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。また、目標再生フレームが隣接する行の間において、更新フレームが１フレームのみとなるようにされる。
【００９８】
なお、図１１中のＩ、ＰおよびＢは、それぞれＩピクチャ、ＰピクチャおよびＢピクチャに基づくフレームであって、付加される数字は、ＧＯＰ内の表示順を示す。基準となるＧＯＰ（カレントＧＯＰ）に属するピクチャによるフレームは、記号を付加しない。カレントＧＯＰの１つ前のＧＯＰ（ＧＯＰ（−）と呼ぶ）に属するピクチャによるフレームに対して、マイナス記号（−）を付加する。カレントＧＯＰの１つ後のＧＯＰ（ＧＯＰ（＋）と呼ぶ）に属するピクチャによるフレームに対して、プラス記号（＋）を付加する。
【００９９】
また、以下の説明中でも、これに対応し、カレントフレームのｎ個前のフレームは（-n）を付して示し、カレントフレームのｎ個後のフレームは（+n）を付して示す。
【０１００】
この図１１の更新パターンは、図の上側から下側に向けた方向が順方向の再生を示し、下側から上側に向けた方向が逆方向の再生を示す。すなわち、図１１の上側から下側に１行分進むことで、目標再生フレームが１フレーム進み、下側から上側に１行分進むことで、目標再生フレームが１フレーム戻る。また、この図１１の更新パターンは、循環的とされ、第１行目から目標再生フレームが１フレーム分戻ったときには、第１５行目のフレームバッファの更新パターンに移行される。
【０１０１】
図１１を参照して、目標再生フレームがフレーム「Ｉ３」のとき（第１行目）のパターンは、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ１５-1」、フレーム「Ｐ１２-1」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ４」およびフレーム「Ｂ２」とされる。後述する目標再生フレームがフレーム「Ｂ２」のパターンに対して、フレーム「Ｂ１+1」がフレーム「Ｂ４」に更新されている。
【０１０２】
目標再生フレームがフレーム「Ｂ４」のとき（第２行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ１５-1」、フレーム「Ｐ１２-1」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ４」およびフレーム「Ｂ５」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｉ３」のパターンに対して、フレーム「Ｂ２」がフレーム「Ｂ５」に更新されている。
【０１０３】
目標再生フレームがフレーム「Ｂ５」のとき（第３行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２-1」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ４」およびフレーム「Ｂ５」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ４」のパターンに対して、フレーム「Ｐ１５-1」がフレーム「Ｐ９」に更新されている。
【０１０４】
目標再生フレームがフレーム「Ｐ６」のとき（第４行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２-1」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ７」およびフレーム「Ｂ５」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ５」のパターンに対して、フレーム「Ｂ４」がフレーム「Ｂ７」に更新されている。
【０１０５】
目標再生フレームがフレーム「Ｂ７」のとき（第５行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２-1」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ７」およびフレーム「Ｂ８」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｐ６」のパターンに対して、フレーム「Ｂ５」がフレーム「Ｂ８」に更新されている。
【０１０６】
目標再生フレームがフレーム「Ｂ８」のとき（第６行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ７」およびフレーム「Ｂ８」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ７」のパターンに対して、フレーム「Ｐ１２-1」がフレーム「Ｐ１２」に更新されている。
【０１０７】
目標再生フレームがフレーム「Ｐ９」のとき（第７行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ１０」およびフレーム「Ｂ８」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ８」のパターンに対して、フレーム「Ｂ７」がフレーム「Ｂ１０」に更新されている。
【０１０８】
目標再生フレームがフレーム「Ｂ１０」のとき（第８行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ９-1」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ１０」およびフレーム「Ｂ１１」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｐ９」のパターンに対して、フレーム「Ｂ８」がフレーム「Ｂ１１」に更新されている。
【０１０９】
目標再生フレームがフレーム「Ｂ１１」のとき（第９行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ１０」およびフレーム「Ｂ１１」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ１０」のパターンに対して、フレーム「Ｐ９-1」がフレーム「Ｐ１５」に更新されている。
【０１１０】
目標再生フレームがフレーム「Ｐ１２」のとき（第１０行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ１３」およびフレーム「Ｂ１１」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ１１」のパターンに対して、フレーム「Ｂ１０」がフレーム「Ｂ１３」に更新されている。
【０１１１】
目標再生フレームがフレーム「Ｂ１３」のとき（第１１行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｐ６-1」、フレーム「Ｉ３-1」、フレーム「Ｂ１３」およびフレーム「Ｂ１４」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｐ１２」のパターンに対して、フレーム「Ｂ１１」がフレーム「Ｂ１４」に更新されている。
【０１１２】
目標再生フレームがフレーム「Ｂ１４」のとき（第１２行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｉ３+1」、フレーム「Ｉ３-1」、フレーム「Ｂ１３」およびフレーム「Ｂ１４」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ１３」のパターンに対して、フレーム「Ｐ６-1」がフレーム「Ｉ３+1」に更新されている。
【０１１３】
目標再生フレームがフレーム「Ｐ１５」のとき（第１３行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｉ３+1」、フレーム「Ｉ３-1」、フレーム「Ｂ１+1」およびフレーム「Ｂ１４」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ１４」のパターンに対して、フレーム「Ｂ１３」がフレーム「Ｂ１+1」に更新されている。
【０１１４】
目標再生フレームがフレーム「Ｂ１+1」のとき（第１４行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｉ３+1」、フレーム「Ｉ３-1」、フレーム「Ｂ１+1」およびフレーム「Ｂ２+1」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｐ１５」のパターンに対して、フレーム「Ｂ１４」がフレーム「Ｂ２+1」に更新されている。
【０１１５】
目標再生フレームがフレーム「Ｂ２+1」のとき（第１５行目）は、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｉ３+1」、フレーム「Ｐ６+1」、フレーム「Ｂ１+1」およびフレーム「Ｂ２+1」がバッファメモリに格納されるべきフレームとされる。上述の目標再生フレームがフレーム「Ｂ１+1」のパターンに対して、フレーム「Ｉ３-1」がフレーム「Ｐ６+1」に更新されている。
【０１１６】
このように、図１１に一例を示すフレームバッファの更新パターンでは、各フレーム毎の更新パターン間で、１フレーム分のみが更新されるようになっている。幾つかの例を挙げて、より具体的に説明する。
【０１１７】
第１の例として、目標再生フレームがＰピクチャによるフレーム「Ｐ６」の場合について説明する。この場合、順方向および逆方向について１倍速以内の再生速度範囲においては、当該目標再生フレームの１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「Ｐ６」と、当該フレーム「Ｐ６」に対して表示順で前後に隣接するフレーム「Ｂ５」およびフレーム「Ｂ７」とである。
【０１１８】
目標再生フレームがフレーム「Ｐ６」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたフレームがフレームバッファに格納された状態では（図１１の第４行目のパターン参照）、目標再生フレーム「Ｐ６」と、その前後のフレーム「Ｂ５」およびフレーム「Ｂ７」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
【０１１９】
この状態から目標再生フレームがフレーム「Ｂ５」またはフレーム「Ｂ７」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
【０１２０】
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図１１の例では、第４行目に示されるように、目標再生フレームがフレーム「Ｐ６」のときは、フレームバッファに、当該フレーム「Ｐ６」と、当該フレーム「Ｐ６」と同じＧＯＰに属するフレーム「Ｉ３」、フレーム「Ｐ９」、フレーム「Ｂ５」およびフレーム「Ｂ７」、ならびに、当該フレーム「Ｐ６」が属するＧＯＰに対して１つ前のＧＯＰに属するフレーム「Ｉ３−」、フレーム「Ｐ６−」、フレーム「Ｐ９−」およびフレーム「Ｐ１２−」が格納される。
【０１２１】
この目標再生フレームがフレーム「Ｐ６」の場合、順方向に１フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「Ｂ７」となる。また、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、フレーム「Ｂ７」と、当該フレーム「Ｂ７」に対して表示順で前後に隣接するフレーム「Ｐ６」およびフレーム「Ｂ８」となる。
【０１２２】
なお、再生速度が順方向および逆方向に１倍速以内の場合、同一のフレームが２フレームタイミングで連続して出力される場合がある。この場合、次のフレームタイミングに移っても、目標再生フレームが変化しない。
【０１２３】
これらのうち、フレーム「Ｐ６」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ８」をデコードするためには、フレーム「Ｐ６」およびフレーム「Ｐ９」が必要となる。フレーム「Ｐ６」およびフレーム「Ｐ９」は、それぞれフレーム「Ｂ７」をデコードするために用いられているので、既にフレームバッファ上に存在している。フレーム「Ｂ８」がこれらフレーム「Ｐ６」および「Ｐ９」を用いてデコードされる。
【０１２４】
一方、目標再生フレームがフレーム「Ｂ７」に移行した場合、目標再生フレームがフレーム「Ｐ６」の状態における逆方向側の表示順で隣接フレームであったフレーム「Ｂ５」は、不要となるため破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ５」の領域に、新たにデコードされたフレーム「Ｂ８」が格納され、フレームバッファが更新される。
【０１２５】
逆方向に１フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「Ｂ５」となり、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性のあるフレームは、フレーム「Ｂ５」と、フレーム「Ｂ４」およびフレーム「Ｐ６」とである。フレーム「Ｐ６」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ４」をデコードするためには、フレーム「Ｉ３」およびフレーム「Ｐ６」が必要となる。フレーム「Ｉ３」を、フレームバッファ上に保持する。フレーム「Ｂ４」がこれらフレーム「Ｉ３」および「Ｐ６」を用いてデコードされる。
【０１２６】
一方、目標再生フレームがフレーム「Ｐ６」からフレーム「Ｂ５」に移行した場合、目標再生フレームが「Ｐ６」の状態における順方向側の隣接フレームであったフレーム「Ｂ７」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ７」の領域に、新たにデコードされたフレーム「Ｂ４」が格納され、フレームバッファが更新される。
【０１２７】
このように、目標再生フレームがフレーム「Ｐ６」の状態から順方向に１フレーム分進んだ場合、フレームの更新は、フレーム「Ｂ５」からフレーム「Ｂ８」への１フレーム分のみ、行われる。目標再生フレームがフレーム「Ｐ６」の状態から逆方向に１フレーム分戻された場合も、フレームの更新は、フレーム「Ｂ７」からフレーム「Ｂ４」への１フレーム分のみ、行われる。
【０１２８】
第２の例として、目標再生フレームがＢピクチャによるフレーム「Ｂ７」の場合について説明する。この場合、順方向および逆方向について１倍速以内の再生速度範囲においては、当該目標再生フレームの１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「Ｂ７」と、当該フレーム「Ｂ７」に対して表示順で前後に隣接するフレーム「Ｐ６」および「Ｂ８」とである。
【０１２９】
目標再生フレームがフレーム「Ｂ７」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたフレームがフレームバッファに格納された状態では（図１１の第５行目のパターン参照）、目標再生フレーム「Ｂ７」と、その前後のフレーム「Ｐ６」およびフレーム「Ｂ８」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
【０１３０】
この状態から目標再生フレームがフレーム「Ｐ６」またはフレーム「Ｂ８」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
【０１３１】
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図１１の例では、第５行目に示されるように、目標再生フレームがフレーム「Ｂ７」のときには、フレームバッファに、当該フレーム「Ｂ７」と、当該フレーム「Ｂ７」と同じＧＯＰに属するフレーム「Ｉ３」、フレーム「Ｐ９」およびフレーム「Ｂ８」、ならびに、当該フレーム「Ｂ７」が属するＧＯＰに対して１つ前のＧＯＰに属するフレーム「Ｉ３−」、フレーム「Ｐ６−」、フレーム「Ｐ９−」およびフレーム「Ｐ１２−」が格納される。
【０１３２】
この目標再生フレームがフレーム「Ｂ７」の場合、順方向に１フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「Ｂ８」になる。また、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、当該フレーム「Ｂ８」と、当該フレーム「Ｂ８」に対して表示順で前後に隣接するフレーム「Ｂ７」およびフレーム「Ｐ９」とである。
【０１３３】
これらのうち、フレーム「Ｂ７」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ８」をデコードするためには、フレーム「Ｐ６」およびフレーム「Ｐ９」が必要となる。フレーム「Ｐ６」およびフレーム「Ｐ９」は、それぞれフレーム「Ｂ７」をデコードするために必要なフレームであるので、既にフレームバッファ上に存在している。フレーム「Ｂ８」がこれらフレーム「Ｐ６」および「Ｐ９」を用いてデコードされる。また、フレーム「Ｐ９」も、既にフレームバッファ上に存在している。
【０１３４】
この場合には、目標再生フレームがフレーム「Ｂ７」の状態における逆方向側の表示順で隣接フレームであったフレーム「Ｐ６」は、フレーム「Ｂ８」をデコードするために用いられるため、破棄されない。さらに順方向に１フレーム、再生が進んだ際に用いられるフレーム「Ｐ１２」が、フレーム「Ｐ９」を用いてデコードされる。また、バッファメモリ内に存在する最も前のＧＯＰに属するフレームのうち、バッファメモリ内に存在し最も表示順で新しいフレームであるフレーム「Ｐ１２−」を破棄し、デコードされたフレーム「Ｐ１２」を格納する。
【０１３５】
逆方向に１フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「Ｐ６」となり、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性のあるフレームは、フレーム「Ｐ６」と、フレーム「Ｂ５」およびフレーム「Ｂ７」とである。フレーム「Ｂ７」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ５」をデコードするためには、フレーム「Ｉ３」およびフレーム「Ｐ６」が必要となる。フレーム「Ｉ３」をフレームバッファ上に保持する。フレーム「Ｂ５」がこれらフレーム「Ｉ３」およびフレーム「Ｐ６」を用いてデコードされる。
【０１３６】
一方、目標再生フレームがフレーム「Ｂ７」からフレーム「Ｐ６」に移行した場合、目標再生フレームが「Ｂ７」の状態における順方向側の隣接フレームであったフレーム「Ｂ８」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ８」の領域に、新たにデコードされたフレーム「Ｂ５」が格納され、フレームバッファが更新される。
【０１３７】
このように、目標再生フレームがフレーム「Ｂ７」の状態から順方向に１フレーム進んだ場合、フレームの更新は、フレーム「Ｐ１２−」からフレーム「Ｐ１２」への１フレーム分のみ、行われる。目標再生フレームがフレーム「Ｂ７」の状態から逆方向に１フレーム分戻された場合も、フレームの更新は、フレーム「Ｂ８」からフレーム「Ｂ５」への１フレーム分のみ、行われる。
【０１３８】
第３の例として、目標再生フレームがＩピクチャによるフレーム「Ｉ３」の場合について説明する。この場合、順方向および逆方向について１倍速以内の再生速度範囲においては、当該目標再生フレームの１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「Ｉ３」と、当該フレーム「Ｉ３」に対して表示順で前後に隣接するフレーム「Ｂ２」およびフレーム「Ｂ４」とである。
【０１３９】
目標再生フレームがフレーム「Ｉ３」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたデータがフレームバッファに格納された状態では（図１１の第１行目のパターン参照）、目標再生フレーム「Ｉ３」と、その前後のフレーム「Ｂ２」およびフレーム「Ｂ４」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
【０１４０】
この状態から目標再生フレームがフレーム「Ｂ２」またはフレーム「Ｂ４」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
【０１４１】
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図１１の例では、第１行目に示されるように、目標再生フレームが「Ｉ３」のときには、フレームバッファに、当該フレーム「Ｉ３」と、当該フレーム「Ｉ３」と同じＧＯＰに属する、フレーム「Ｐ６」、フレーム「Ｂ２」およびフレーム「Ｂ４」、ならびに、当該フレーム「Ｉ３」が属するＧＯＰに対して１つ前のＧＯＰに属するフレーム「Ｉ３−」、フレーム「Ｐ６−」、フレーム「Ｐ９」、フレーム「Ｐ１２−」およびフレーム「Ｐ１５」とが格納される。
【０１４２】
目標再生フレームがフレーム「Ｉ３」の場合、順方向に１フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「Ｂ４」になる。また、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、当該フレーム「Ｂ４」と、当該フレームに対して表示順で前後に隣接するフレーム「Ｉ３」およびフレーム「Ｂ５」とである。
【０１４３】
これらのうち、フレーム「Ｉ３」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ５」をデコードするためには、フレーム「Ｉ３」およびフレーム「Ｐ６」が必要となる。フレーム「Ｐ６」は、フレーム「Ｂ４」をデコードするために用いられているので、既にフレームバッファ上に存在している。フレーム「Ｂ５」がこれらフレーム「Ｉ３」および「Ｐ６」を用いてデコードされる。
【０１４４】
この場合には、目標再生フレームが「Ｉ３」の状態における逆方向側の目標再生フレームであるフレーム「Ｂ２」は、不要となるため、破棄される。フレームバッファ上の、この破棄されるフレーム「Ｂ２」の領域にデコードされたフレーム「Ｂ５」が格納され、フレームバッファが更新される。
【０１４５】
逆方向に１フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「Ｂ２」となり、この新たな目標再生フレーム対して１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、フレーム「Ｂ２」と、フレーム「Ｂ１」およびフレーム「Ｉ３」とである。フレーム「Ｉ３」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ１」をデコードするためには、フレーム「Ｉ３」と、フレーム「Ｉ３」が属するＧＯＰの１つ前のＧＯＰに属するフレーム「Ｐ１５−」が必要となる。フレーム「Ｂ１」がこれらフレーム「Ｐ１５−」および「Ｉ３」を用いてデコードされる。
【０１４６】
一方、目標再生フレームがフレーム「Ｉ３」からフレーム「Ｂ２」に移行した場合、目標再生フレームがフレーム「Ｉ３」の状態における順方向の隣接フレームであったフレーム「Ｂ４」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ４」の領域に、新たにデコードされたフレーム「Ｂ１」が格納され、フレームバッファが更新される。
【０１４７】
このように、目標再生フレームがフレーム「Ｉ３」の状態から順方向に１フレーム進んだ場合、フレームの更新は、フレーム「Ｂ２」からフレーム「Ｂ５」への１フレーム分のみ、行われる。目標再生フレームがフレーム「Ｉ３」の状態から逆方向に１フレーム分戻された場合も、フレームの更新は、フレーム「Ｂ４」からフレーム「Ｂ１」への１フレーム分のみ、行われる。
【０１４８】
なお、上述したように、目標再生フレームが他のフレームに移行される際には、バッファメモリに格納された１フレームが破棄され、破棄されたフレーム領域に新たな１フレームがデコードされて格納され、バッファメモリが更新される。このとき、バッファメモリから破棄するフレームを、次のルールに基づき決めることができる。
（１）目標再生フレームおよび表示順で目標再生フレームに隣接するフレーム以外のＢピクチャによるフレームは、破棄する。
（２）上述の（１）のルールに従い破棄するＢピクチャによるフレームが存在しなかった場合、バッファメモリ上に存在する、下記（２ａ）または（２ｂ）の条件を満たすＩまたはＰピクチャによるフレームを破棄する。
（２ａ）順方向への目標再生フレーム移行の場合、目標再生フレームが存在するＧＯＰから逆方向に最も離れたＧＯＰにおいて、そのＧＯＰに属する最後尾のＩまたはＰピクチャ。
（２ｂ）逆方向への目標再生フレーム移行の場合、目標再生フレームが存在するＧＯＰから順方向に最も離れたＧＯＰにおいて、そのＧＯＰに属する最後尾のＩまたはＰピクチャ。
【０１４９】
上述のようにして、バッファメモリの更新パターンに従いバッファメモリ上にデータを溜め込んでおけば、現在の目標再生フレームがＩピクチャによるフレーム、ＰピクチャによるフレームおよびＢピクチャによるフレームの何れであっても、任意の方向への１フレーム分の移動に対してバッファメモリ上で行進されるデータが１フレーム分のみで済む。したがって、順方向および逆方向の１倍速以内の可変速再生を、１倍速デコーダを用いて固定遅延で実行することができる。
【０１５０】
なお、上述では、現在の目標再生フレームとして、ＧＯＰを構成するＩピクチャ、ＰピクチャおよびＢピクチャのそれぞれについて一例ずつ例を挙げて説明を行ったが、説明を省略した他のフレームが現在の目標再生フレームの場合でも、同様にして、任意の方向への１フレーム分の移動に対して、バッファメモリ上の１フレーム分のデータのみが更新される。
【０１５１】
１−５−３．優先順位付き目標フレームバッファ更新パターン
次に、この発明に適用されるシステムでは、目標再生フレームを基点として、そのフレームを再生するために必要なピクチャをデコードする際の優先順位をピクチャ毎に付与する。そして、現状のバッファメモリに存在せず、且つ、最もデコード優先順位の高いピクチャをデコードしてバッファメモリに格納する。この処理を常に繰り返すことで、バッファメモリに基点となるフレームのみが格納された状態から、図１１を用いて説明した、目標フレームバッファの更新パターンにより速やかに復帰することができ、順方向の１倍速再生から逆方向の１倍速再生までの可変速再生が可能な状態に迅速に移行することができる。
【０１５２】
このようにシステムを構成することによって、例えば補助ＡＶデータを用いて再生速度が１倍速以上のシャトル再生がなされた状態から、再生速度が１倍速とされ、本線ビデオデータを用いた再生がなされる場合でも、本線ビデオデータの再生を速やかに安定的に継続することを可能としている。
【０１５３】
図１２は、（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合において、再生方向が順方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの例を示す。すなわち、図１２は、上述した図１１のバッファメモリの更新パターンに対してフレーム毎に優先順位を付加した例である。
【０１５４】
図１２Ａは、図１１に対応する、再生方向が順方向の場合のバッファメモリの優先順位付き更新パターンの一例を示す。図１２Ａに示される更新パターンと図１１に示される更新パターンとにおいて、対応する行には、同一のフレームが含まれる。すなわち、図１２Ａに示される更新パターンの各行は、図１１に示される更新パターンの対応する行に含まれるフレームに対して、バッファに格納される順序の優先順位を反映している。図１２Ａの例では、各行において、右側から左側に向けて優先順位が高くされており、左端のフレームが最も優先順位が高く、右端のフレームが最も優先順位が低い。
【０１５５】
また、図１２Ｂは、この図１２Ａのパターンに基づき、ある１フレームのみがフレームバッファに格納された状態を基点として、１倍速デコーダでデコードされたフレームがバッファメモリに格納されていく様子を示す。
【０１５６】
なお、図１２の更新パターンは、図１１の例と異なり、図の上側から下側に向けた方向の順方向の再生のみに対応し、逆方向の再生に関しては、異なる更新パターンとなる。逆方向の再生に関しては、後に図１７を用いて説明する。
【０１５７】
再生方向が順方向の場合、優先順位は、高い方から低い方へ、順方向再生端のＧＯＰから逆方向再生端のＧＯＰに向けて設定する。また、各ＧＯＰにおいては、再生順に、先に再生されるフレームに対してより高い優先順位を設定する。また、フレームに関しては、ＩピクチャおよびＰピクチャによるフレームは、順方向再生端のＧＯＰから、逆方向再生端のＧＯＰに向かうように、優先順位を設定する。一方、Ｂピクチャによるフレームは、目標再生フレームを含むその前後３フレーム内のＢピクチャを選び、優先順位の高い方から低い方へ、目標再生フレーム、順方向側フレーム、逆方向側フレームの順番で、バッファメモリのデコード可能なバンクに挿入する。
【０１５８】
すなわち、図１１に示されるバッファメモリの更新パターンに対し、９個のバッファメモリに格納されるフレームがＧＯＰ毎に纏められ、各ＧＯＰ内で、再生順に、先に再生されるフレームに対してより高い優先順位が設定され、ＧＯＰは、再生順に、後に再生されるＧＯＰにより高い優先順位が設定されて、図１２Ａに示される更新パターンが作成される。目標再生フレームに対して、図１２Ａに示される更新パターンの対応する行に示される優先順位に従って、優先順位が高いフレームからデコードしてバッファに格納する。
【０１５９】
一例として、目標再生フレームがフレーム「Ｐ６」である図１２Ａの第４行目では、カレントＧＯＰ、カレントＧＯＰの１つ前のＧＯＰの順に優先順位が設定され、カレントＧＯＰにおいては、フレーム「Ｉ３」が最も優先順位が高く、以下、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｂ７」、フレーム「Ｂ５」の順に優先順位が低くなるようにされる。
【０１６０】
すなわち、目標再生フレームがフレーム「Ｐ６」であって、バッファメモリに１つもフレームが格納されていない場合には、フレーム「Ｉ３」を最優先でデコードし、デコードされた「Ｉ３」を用いてフレーム「Ｐ６」をデコードする。また、フレーム「Ｉ３」およびフレーム「Ｐ６」が既にバッファメモリに格納されている場合は、目標再生フレームに対して順方向に隣接するフレーム「Ｂ７」をデコードするために、フレーム「Ｐ９」を優先的にデコードする。
【０１６１】
なお、目標再生フレームがフレーム「Ｐ６」以外の他の例においても、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが優先的にデコードされ、目標再生フレームに順方向に隣接するフレームそのものまたは当該隣接フレームをデコードするために用いられるフレームが、次の優先順位で以てデコードされる。
【０１６２】
図１２Ｂを用いて、フレーム「Ｉ３」のみがデコードされバッファメモリに格納されている状態を基点とした場合の動作について、より具体的に説明する。
【０１６３】
図１２Ａにおける第１行目の、目標再生フレームがフレーム「Ｉ３」の場合、バッファメモリに既に格納されているフレーム「Ｉ３」（図１２Ｂの第１行目参照）が再生される。
【０１６４】
目標再生フレームがフレーム「Ｉ３」から次のフレーム「Ｂ４」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ６」（図１２Ａの第２行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第２行目参照）。これにより、バッファには、フレーム「Ｉ３」およびフレーム「Ｐ６」が格納されることになる。
【０１６５】
一方、フレーム「Ｐ６」がデコードされた段階では、目標再生フレームであるフレーム「Ｂ４」は、未だデコードできない。このような場合、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向（この場合順方向）に最も近く、且つ、目標再生フレームの再生順を超えないフレームが再生フレームとされる。図１２Ｂの例では、フレーム「Ｉ３」がこの条件を満たしている。
【０１６６】
目標再生フレームがフレーム「Ｂ４」から次のフレーム「Ｂ５」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ９」（図１２Ａの第３行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第３行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」およびフレーム「Ｐ９」が格納されることになる。
【０１６７】
一方、フレーム「Ｐ９」がデコードされた段階では、目標再生フレームであるフレーム「Ｂ５」は、未だデコードできない。そこで、目標再生フレームに対して再生順が順方向に最も近く、且つ、目標再生フレームの再生順を超えないフレーム「Ｉ３」が再生フレームとされる。
【０１６８】
目標再生フレームがフレーム「Ｂ５」から次のフレーム「Ｐ６」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ７」（図１２Ａの第４行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第４行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ７」およびフレーム「Ｐ９」が格納されることになる。
【０１６９】
この目標再生フレームがフレーム「Ｐ６」の場合には、当該フレーム「Ｐ６」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ６」が再生フレームとされる。
【０１７０】
目標再生フレームがフレーム「Ｐ６」から次のフレーム「Ｂ７」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ８」（図１２Ａの第５行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第５行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ７」、フレーム「Ｂ８」およびフレーム「Ｐ９」が格納されることになる。
【０１７１】
この目標再生フレームがフレーム「Ｂ７」の場合には、当該フレーム「Ｂ７」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ７」が再生フレームとされる。
【０１７２】
目標再生フレームがフレーム「Ｂ７」から次のフレーム「Ｂ８」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ１２」（図１２Ａの第６行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第６行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ７」、フレーム「Ｂ８」、フレーム「Ｐ９」およびフレーム「Ｐ１２」が格納されることになる。
【０１７３】
この目標再生フレームがフレーム「Ｂ８」の場合には、当該フレーム「Ｂ８」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ８」が再生フレームとされる。
【０１７４】
目標再生フレームがフレーム「Ｂ８」から次のフレーム「Ｐ９」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ１０」（図１２Ａの第７行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第７行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ７」、フレーム「Ｂ８」、フレーム「Ｐ９」、フレーム「Ｂ１０」およびフレーム「Ｐ１２」が格納されることになる。
【０１７５】
この目標再生フレームがフレーム「Ｐ９」の場合には、当該フレーム「Ｐ９」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ９」が再生フレームとされる。
【０１７６】
目標再生フレームがフレーム「Ｐ９」から次のフレーム「Ｂ１０」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ１１」（図１２Ａの第８行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第８行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ７」、フレーム「Ｂ８」、フレーム「Ｐ９」、フレーム「Ｂ１０」、フレーム「Ｂ１１」およびフレーム「Ｐ１２」が格納されることになる。
【０１７７】
この目標再生フレームがフレーム「Ｂ１０」の場合には、当該フレーム「Ｂ１０」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ１０」が再生フレームとされる。
【０１７８】
目標再生フレームがフレーム「Ｂ１０」から次のフレーム「Ｂ１１」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ１５」（図１２Ａの第９行目参照）のデコードおよびバッファへの格納が開始される（図１２Ｂの第９行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ７」、フレーム「Ｂ８」、フレーム「Ｐ９」、フレーム「Ｂ１０」、フレーム「Ｂ１１」、フレーム「Ｐ１２」およびフレーム「Ｐ１５」が格納されることになる。
【０１７９】
この目標再生フレームがフレーム「Ｂ１１」の場合には、当該フレーム「Ｂ１１」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ１１」が再生フレームとされる。
【０１８０】
目標再生フレームがフレーム「Ｂ１１」から次のフレーム「Ｐ１２」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ１３」（図１２Ａの第１０行目参照）のデコードおよびバッファへの格納が開始される。このとき、上述した第９行目の処理で、既にバッファメモリがフレームで埋められている。したがって、新たにデコードするフレームをバッファメモリに格納するためには、１フレーム分をバッファメモリから破棄する必要がある。この場合では、既に再生されたＢピクチャによるフレーム「Ｂ７」が破棄される（図１２Ｂの第１０行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｂ８」、フレーム「Ｐ９」、フレーム「Ｂ１０」、フレーム「Ｂ１１」、フレーム「Ｐ１２」、フレーム「Ｂ１３」およびフレーム「Ｐ１５」が格納されることになる。
【０１８１】
この目標再生フレームがフレーム「Ｐ１２」の場合には、当該フレーム「Ｐ１２」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ１２」が再生フレームとされる。
【０１８２】
目標再生フレームがフレーム「Ｐ１２」から次のフレーム「Ｂ１３」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ１４」（図１２Ａの第１１行目参照）のデコードおよびバッファへの格納が開始されると共に、既に再生されたＢピクチャによるフレーム「Ｂ８」が破棄される（図１２Ｂの第１１行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｂ１０」、フレーム「Ｂ１１」、フレーム「Ｐ１２」、フレーム「Ｂ１３」、フレーム「Ｂ１４」およびフレーム「Ｐ１５」が格納されることになる。
【０１８３】
この目標再生フレームがフレーム「Ｂ１３」の場合には、当該フレーム「Ｂ１３」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ１３」が再生フレームとされる。
【０１８４】
目標再生フレームがフレーム「Ｂ１３」から次のフレーム「Ｂ１４」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ３＋１」（図１２Ａの第１２行目参照）のデコードおよびバッファへの格納が開始されると共に、既に再生されたＢピクチャによるフレーム「Ｂ１０」が破棄される（図１２Ｂの第１２行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｂ１１」、フレーム「Ｐ１２」、フレーム「Ｂ１３」、フレーム「Ｂ１４」、フレーム「Ｐ１５」およびフレーム「Ｉ３＋１」が格納されることになる。
【０１８５】
この目標再生フレームがフレーム「Ｂ１４」の場合には、当該フレーム「Ｂ１４」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ１４」が再生フレームとされる。
【０１８６】
目標再生フレームがフレーム「Ｂ１４」から次のフレーム「Ｐ１５」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ１＋１」（図１２Ａの第１３行目参照）のデコードおよびバッファへの格納が開始されると共に、既に再生されたＢピクチャによるフレーム「Ｂ１１」が破棄される（図１２Ｂの第１３行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｂ１３」、フレーム「Ｂ１４」、フレーム「Ｐ１５」、フレーム「Ｂ１＋１」およびフレーム「Ｉ３＋１」が格納されることになる。
【０１８７】
この目標再生フレームがフレーム「Ｐ１５」の場合には、当該フレーム「Ｐ１５」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ１５」が再生フレームとされる。
【０１８８】
目標再生フレームがフレーム「Ｐ１５」から次のフレーム「Ｂ１＋１」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ２＋１」（図１２Ａの第１４行目参照）のデコードおよびバッファへの格納が開始されると共に、既に再生されたＢピクチャによるフレーム「Ｂ１３」が破棄される（図１２Ｂの第１４行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｂ１４」、フレーム「Ｐ１５」、フレーム「Ｂ１＋１」、フレーム「Ｂ２＋１」およびフレーム「Ｉ３＋１」が格納されることになる。
【０１８９】
この目標再生フレームがフレーム「Ｂ１＋１」の場合には、当該フレーム「Ｂ１＋１」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ１＋１」が再生フレームとされる。
【０１９０】
目標再生フレームがフレーム「Ｂ１＋１」から次のフレーム「Ｂ２＋１」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ６＋１」（図１２Ａの第１５行目参照）のデコードおよびバッファへの格納が開始されると共に、既に再生されたＢピクチャによるフレーム「Ｂ１４」が破棄される（図１２Ｂの第１５行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ１２」、フレーム「Ｐ１５」、フレーム「Ｂ１＋１」、フレーム「Ｂ２＋１」、フレーム「Ｉ３＋１」およびフレーム「Ｐ６＋１」が格納されることになる。
【０１９１】
この目標再生フレームがフレーム「Ｂ２＋１」の場合には、当該フレーム「Ｂ２＋１」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ２＋１」が再生フレームとされる。
【０１９２】
この図１２Ｂの第１５行目のシーケンスで、バッファメモリに格納されるフレームが、図１２Ａの第１５行目に示される、バッファメモリの更新パターンのフレームの格納状態と一致する。すなわち順方向の再生において、優先順位に従いデコードを行うことで、フレーム「Ｉ３」だけがデコードされた状態を基点とした場合、１５フレーム目で、順方向および逆方向に１倍速以内の可変速再生が可能な状態に復帰している。
【０１９３】
したがって、例えば、１倍速の状態に変化する位置のフレームを予めデコードしバッファメモリに格納しておくことで、再生速度が１倍速以上の状態から１倍速の状態に変化した際に、１５フレーム分の期間が経過した段階で順方向および逆方向に１倍速以内の可変速再生が可能となる。これに限らず、実際に再生速度が１倍速になった時点で取得されたフレームを基点としてもよい。
【０１９４】
また、この１５フレーム期間に再生されるフレームは、「Ｉ３、Ｉ３、Ｉ３、Ｐ６、Ｂ７、Ｂ８、Ｐ９、Ｂ１０、Ｂ１１、Ｐ１２、Ｂ１３、Ｂ１４、Ｐ１５、Ｂ１+1、Ｂ２+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。
【０１９５】
なお、上述では、フレーム「Ｉ３」だけがデコードされた状態を基点として説明したが、フレーム「Ｉ３」以外が基点とされた場合にも、同様の考えに基づき、目標再生フレームに対応する優先順位付きの目標フレームバッファのパターンにおける優先順位に従ってフレームをデコードしてバッファに格納していくことで、順方向および逆方向に１倍速以内の可変速再生が可能な状態に、速やかに復帰することができる。
【０１９６】
１−５−４．優先順位付き目標フレームバッファパターン作成の流れ
次に、上述したような、優先順位付きの目標フレームバッファのパターンの一例の作成方法について、図１３のフローチャートを用いて説明する。また、以下では、目標とされるフレーム（カレントフレームと呼ぶ）がＢピクチャによるフレームであるものとして説明する。
【０１９７】
先ず、ステップＳ１０で、カレントフレームが属するカレントＧＯＰのＩピクチャ（Ｉ0）を取得する。図１４Ａに一例が示されるように、カレントフレーム対応するピクチャから記録媒体上の順序で逆方向に向けて、Ｉピクチャを検索する。なお、この段階では、目標フレームバッファパターンのフレームは、一つも確定していない（図１５Ａ参照）。また、記録媒体上の各ピクチャの位置は、上述したピクチャポインタ情報に基づき得ることができる。
【０１９８】
カレントＧＯＰの先頭Ｉピクチャ（Ｉ0）が取得されると、ステップＳ１１で、カレントフレームに対応するピクチャから記録媒体上の順序で順方向に向けて、カレントフレームより２フレーム進んだ位置以降のＩピクチャまたはＰピクチャ（Ｐ0）を検索する（図１４Ｂ参照）。この段階では、目標フレームバッファパターンのフレームは、一つも確定していない（図１５Ｂ参照）。
【０１９９】
ステップＳ１２で、上述したステップＳ１０およびステップＳ１１で取得されたピクチャ（Ｉ0）かピクチャ（Ｐ0）までＩおよび／またはＰピクチャを検索する。そして、検索されて得られたＩおよび／またはＰピクチャの、目標フレームバッファに対する格納順を、デコード順に確定する。
【０２００】
例えば、図１４Ｃに一例が示されるように、ステップＳ１０で検索されたピクチャ（Ｉ0）から記録媒体上の順序で順方向に向けて、次のＰピクチャ（Ｐ）が再生方向で順方向に順次、検索される。そして、検索されたＰピクチャ（Ｐ）と、ステップＳ１０で検索されたピクチャ（Ｉ0）とを、デコードの順番に並べ替える。
【０２０１】
この並べ替えられたＩおよび／またはＰピクチャが目標フレームバッファパターンに用いる、カレントＧＯＰの優先順位付きのフレームとされる。この例では、図１５Ｃに一例が示されるように、ＧＯＰで見た場合は、カレントＧＯＰが最も優先順位が高くされ、カレントＧＯＰの次のＧＯＰである（カレント＋１）ＧＯＰがその次に高い優先順位とされる。ＧＯＰ内では、例えばカレントＧＯＰの場合、カレントＧＯＰのＩピクチャによるフレーム（Ｉ）が最も優先順位が高くされ、カレントＧＯＰのＰピクチャによるフレーム（Ｐ）が次に優先順位が高くされる。Ｐピクチャによるフレームが複数、検索された場合には、デコード順に優先順位が設定される。このＧＯＰ内の優先順位付けは、（カレント＋１）ＧＯＰ内でも同様である。
【０２０２】
次のステップＳ１３で、カレントＧＯＰの１つ前のＧＯＰ、すなわち、カレントＧＯＰに対して再生方向で逆方向側に隣接する（カレント−１）ＧＯＰの先頭Ｉピクチャ（Ｉ-1）が検索される（図１４Ｄ参照）。この段階では、目標フレームバッファパターンは、上述の図１５Ｃの状態から変化していない。
【０２０３】
さらに、次のステップＳ１４で、ステップＳ１３で検索されたピクチャ（Ｉ-1）から、（カレント−１）ＧＯＰ内のＩおよび／またはＰピクチャが再生方向で順方向に順次、検索される（図１４Ｅ参照）。そして、検索されたＰピクチャと、ステップＳ１３で検索されたＩピクチャ（Ｉ-1）とを、デコードの順番に並べ替える。この並べ替えられたＩおよび／またはＰピクチャが目標フレームバッファパターンに用いる（カレント−１）ＧＯＰの優先順位付きのフレームとして、上述のステップＳ１２による、カレントＧＯＰの優先順位付きのフレームに対して追加される。
【０２０４】
すなわち、図１５Ｅに一例が示されるように、（カレント−１）ＧＯＰが（カレント＋１）ＧＯＰよりも低い優先順位が低い位置に並べられる。（カレント−１）ＧＯＰ内での優先順位付けは、カレントＧＯＰの場合と同様である。
【０２０５】
上述のステップＳ１３およびステップＳ１４の処理は、バッファメモリが埋められるまで繰り返される（ステップＳ１５）。バッファメモリがカレントＧＯＰおよび（カレント−１）ＧＯＰの検索されたＩおよび／またはＰピクチャで埋められたら（図１５Ｆ参照）、処理は次のステップＳ１６に移行される。図１５Ｆでは、（カレント−１）ＧＯＰよりさらに１つ先の、（カレント−２）ＧＯＰが（カレント−１）ＧＯＰよりも優先順位が低い位置に並べられる。
【０２０６】
ステップＳ１６では、カレントフレームに対し、再生方向の逆方向に隣接するフレームから再生方向の順方向に隣接するフレームまでの、Ｂピクチャによるフレーム（Ｂ）が検索される（図１４Ｆ参照）。検索結果は、上述のバッファメモリに確定されたＩおよび／またはＰピクチャの情報とは別に、保持される（図１６Ａ）。
【０２０７】
ステップＳ１６で検索されたフレーム（Ｂ）は、次のステップＳ１７で、デコードの優先順に並べ替えられる。ここで、再生方向が順方向の場合、優先順位は、目標再生フレーム＞順方向側フレーム＞逆方向フレームの順となる。また、再生方向が逆方向の場合、優先順位は、目標再生フレーム＞逆方向再生フレーム＞順方向再生フレームの順となる。
【０２０８】
上述した図１４Ｆの状態から、再生方向が順方向および逆方向についてフレーム（Ｂ）を優先順に並べた例を、図１６Ｂにパターン５０および５１としてそれぞれ示す。なお、上述の図１４Ｆの例では、カレントフレームがＢピクチャによるフレームであって、カレントフレームの再生方向で順方向側に隣接するフレームがＢピクチャによるフレームではなく、逆方向に隣接するフレームがＢピクチャによるフレームとなっている。そのため、再生方向が順方向の場合は、上述の優先順位に従い、パターン５０に示されるように、目標再生フレーム（Ｂ）、逆方向フレーム（Ｂ−）の順に並べられる。また、再生方向が逆方向の場合も、パターン５１に示されるように、順方向と同一の並びとされる。
【０２０９】
次のステップＳ１８では、上述のステップＳ１５までの処理で既に確定された目標フレームバッファパターンから、ステップＳ１６で検索されたフレーム（Ｂ）の枚数分のフレームが削除される（図１６Ｃ参照）。目標フレームバッファパターンからのフレームの削除は、優先順位の低い側からなされる。
【０２１０】
ステップＳ１９で、再生方向に応じて、目標フレームバッファパターン内に並べられたフレームの優先順位の順番を並び替える。フレームの優先順位が並べ替えられた目標フレームバッファパターンの例を図１６Ｄに示す。
【０２１１】
再生方向が順方向の場合、最も順方向側のＧＯＰが最も優先順が高くされ、逆方向側に向けて、最も逆方向側のＧＯＰが最も優先順位が低くなるように並び替えられる。すなわち、パターン５２に一例が示されるように、（カレント＋１）ＧＯＰが最も優先順位が高い位置に並べられ、次に優先順位が高い位置にカレントＧＯＰが並べられる。（カレント−１）ＧＯＰは、最も優先順位が低い位置に並べられる。
【０２１２】
一方、再生方向が逆方向の場合、最も逆方向側のＧＯＰが最も優先順位が高くされ、順方向に向けて、最も順方向側のＧＯＰが最も優先順位が低くなるように並び替えられる。すなわち、パターン５３に一例が示されるように、（カレント−１）ＧＯＰが最も優先順位が高い位置に並べられ、次に優先順位が高い位置にカレントＧＯＰが並べられる。（カレント＋１）ＧＯＰは、最も優先順位が低い位置に並べられる。
【０２１３】
また、再生方向が順方向および逆方向の何れの場合においても、ＧＯＰ内でのフレームの順序は、デコード順に従い、最も先にデコードされるフレームが最も優先順位の高い位置に並べられ、以降、デコード順に従い優先順位が順次、低くされる。
【０２１４】
なお、キューアップ時などのように、目標再生フレームの出力を少しでも速く行いたい場合は、パターン５４に一例が示されるように、並べ替えないという方法も考えられる。
【０２１５】
次のステップＳ２０で、上述のステップＳ１７でデコード順に優先順位付けされて並べられたフレーム（Ｂ）を、目標フレームバッファパターンに対して挿入して、１行分、すなわち、ある目標再生フレームに対する目標フレームバッファパターンが確定される。
【０２１６】
フレーム（Ｂ）は、目標フレームバッファパターンにおいて、先頭フレームからデコードしていったときに、所望のフレーム（Ｂ）がデコード可能な最初のバッファに挿入する。フレーム（Ｂ）の挿入位置の例を、図１６Ｅに示す。
【０２１７】
一例として、対象となるフレーム（Ｂ）が、上述した図１４Ｆに示されるように、記録媒体上の位置で（カレント＋１）ＧＯＰの先頭に配置されるフレームである場合、当該フレーム（Ｂ）は、カレントＧＯＰの最後のフレーム（Ｐ）と、（カレント＋１）ＧＯＰの先頭のフレーム（Ｉ+1）とを用いてデコードされる。
【０２１８】
したがって、再生方向が順方向の場合、（カレント＋１）ＧＯＰの先頭のフレーム（Ｉ+1）の方がカレントＧＯＰの最後のフレーム（Ｐ）よりも優先順位が高いので、パターン５５に一例が示されるように、カレントＧＯＰの最後のフレーム（Ｐ）の後ろに、２枚のフレーム（Ｂ）が挿入される。
【０２１９】
一方、再生方向が順方向の場合、カレントＧＯＰの最後のフレーム（Ｐ）の方が（カレント＋１）ＧＯＰの先頭のフレーム（Ｉ+1）よりも優先順位が高いので、パターン５６に一例が示されるように、（カレント＋１）ＧＯＰの先頭のフレーム（Ｉ+1）の後ろに、２枚のフレーム（Ｂ）が挿入される。
【０２２０】
なお、上述したキューアップ時のような、目標再生フレームの出力を少しでも速くしたい場合も、同様である。この場合の例をパターン５７に示す。（カレント＋１）ＧＯＰの先頭のフレーム（Ｉ+1）の後ろに、２枚のフレーム（Ｂ）が挿入される。
【０２２１】
なお、記録媒体上に記録されたピクチャの位置やタイプ（Ｉピクチャ、ＰピクチャおよびＢピクチャ）は、図９を用いて説明したピクチャポインタファイルを参照することで知ることができる。例えばシステムやより上位のシステムから、あるフレームの再生が指示されると、ＣＰＵ１４は、再生を指示されたフレームを目標再生フレームとし、当該目標再生フレームが属するＧＯＰをカレントＧＯＰとしてピクチャポインタファイルを検索し、カレントＧＯＰのＩピクチャの位置を取得する。ピクチャポインタファイルには、上述のように、ピクチャタイプ、そのピクチャがＧＯＰの先頭のピクチャであるか否かを示すフラグ、ピクチャのサイズ情報、先頭アドレスが記述されているので、これらの情報に基づき記録媒体上の所望のピクチャを検索することが可能となっている。
【０２２２】
目標再生フレームに基づき目標フレームバッファパターンが確定し、確定された目標フレームバッファパターンに従いフレームバッファがデコードされたフレームで埋められると、図１２を用いて説明したような動作により、再生指示に対して所定の固定遅延で、順方向および逆方向の１倍速以内の再生が行われる。
【０２２３】
なお、ここでは、目標再生フレームがＢピクチャであるものとして説明したが、上述の図１３のフローチャートで説明した処理は、カレントフレームがＩピクチャおよびＰピクチャの場合にも同様にして適用できる。
【０２２４】
また、システムやより上位のシステムから再生を指示されたフレームを目標再生フレームとして、上述の図１３のフローチャートに従い、当該目標再生フレームに対応した目標フレームバッファパターンを作成する。この処理を、例えば目標再生フレームが指示される毎に行う。最初の目標再生フレームの指示に基づき、ＧＯＰ内の全てのフレームについて作成してもよい。作成された目標フレームバッファパターンは、例えばＲＡＭ３６に記憶される。
【０２２５】
これに限らず、再生するクリップのＧＯＰの構成が予め分かっていれば、上述の図１３のフローチャートに示される処理を、ＧＯＰを構成する各ピクチャに対して行って、上述した図１２のようなフレームバッファの更新パターンを予め作成しておくことも可能である。また、再生装置１において適用可能なＧＯＰの構成が決められていれば、予め更新パターンを作成し、ＲＯＭ３５に記憶させておくことも可能である。
【０２２６】
１−５−５．優先順位付き目標フレームバッファ更新パターンの他の例
上述では、（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合において、再生方向が順方向の場合の、バッファメモリの優先順位付き更新パターンについて説明したが、このシステムは、この例だけでなく、他の場合にも適用することができる。例えば、再生方向が逆方向の場合や、ロングＧＯＰの構成が（Ｎ＝１５、Ｍ＝３）以外の場合にも、このシステムを適用することができる。以下、これら他の場合について、具体的な例を挙げて説明する。
【０２２７】
他の場合の第１の例として、ロングＧＯＰの構成が上述の図１２を用いて説明した例と同様の（Ｎ＝１５、Ｍ＝３）であって、再生方向が逆方向である場合について、図１７を用いて説明する。図１７Ａは、図１１に対応する、再生方向が逆方向の場合のバッファメモリの優先順位付き更新パターンの一例を示す。この図１７Ａの更新パターンは、上述の図１３のフローチャートを用いて説明した方法に従い、作成することができる。
【０２２８】
また、図１７Ｂは、この図１７Ａのパターンに基づき、ある１フレームのみがフレームバッファに格納された状態を基点として、１倍速デコーダでデコードされたフレームがバッファメモリに格納されていく様子を示す。
【０２２９】
なお、図１７Ａおよび図１７Ｂは、図の下側から図の上側に向けた方向、すなわち、第１５行目から第１行目に進む方向が逆方向の再生方向を示す。
【０２３０】
図１２Ａを用いて説明した順方向の例と同様に、図１７Ａに示される更新パターンと図１１に示される更新パターンとにおいて、対応する行には、同一のフレームが含まれる。また、各行において、右側から左側に向けて優先順位が高くされているのも、同様である。
【０２３１】
再生方向が逆方向の場合、優先順位は、ＧＯＰについては、高い方から低い方に、逆方向再生端のＧＯＰから順方向再生端のＧＯＰに向けて設定する。また、各ＧＯＰについては、ＩおよびＰピクチャによるフレームは、逆方向再生端のＧＯＰから、順方向再生端のＧＯＰに向かうように、優先順位を設定する。一方、Ｂピクチャによるフレームは、目標再生フレームを含むその前後３フレーム内のＢピクチャを選び、優先順位が高い方から低い方へ、目標再生フレーム、逆方向側フレーム、順方向側フレームの順番で、バッファメモリのデコード可能なバンクに挿入する。
【０２３２】
一例として、目標再生フレームがフレーム「Ｐ６」である図１７Ａの第４行目では、カレントＧＯＰの１つ前のＧＯＰ、カレントＧＯＰの順に優先順位が設定され、カレントＧＯＰの１つ前のＧＯＰにおいては、フレーム「Ｉ３-1」が最も優先順位が高く、以下、フレーム「Ｐ６-1」、フレーム「Ｐ９-1」、フレーム「Ｐ１２-1」の順に優先順位が低くなるようにされる。また、カレントＧＯＰにおいては、フレーム「Ｉ３」が最も優先順位が高く、以下、フレーム「Ｐ６」、フレーム「Ｂ５」、フレーム「Ｐ９」、フレーム「Ｂ７」の順に優先順位が低くなるようにされる。
【０２３３】
すなわち、目標再生フレームがフレーム「Ｐ６」であって、バッファメモリに１つもフレームが格納されていない場合には、カレントＧＯＰの１つ前のＧＯＰのフレーム「Ｉ３-1」を最優先でデコードし、デコードされたフレーム「Ｉ３-1」を用いてフレーム「Ｐ６-1」をデコードし、以下、カレントＧＯＰの１つ前のＧＯＰのＰピクチャによるフレームを順次、デコードする。そして、次に、カレントＧＯＰのフレーム「Ｉ３」をデコードし、フレーム「Ｉ３」を用いてフレーム「Ｐ６」をデコードする。
【０２３４】
また、目標再生フレームがフレーム「Ｐ」であって、バッファメモリにフレーム「Ｉ３-1」〜フレーム「Ｐ６」までが既にバッファメモリに格納されている場合には、目標再生フレームのフレーム「Ｐ６」に隣接するＢピクチャによるフレームのうち、逆方向側のフレーム「Ｂ５」が優先的にデコードされる。
【０２３５】
図１７Ｂを用いて、フレーム「Ｉ３」のみがデコードされバッファメモリに格納されている状態を基点とした場合の動作について、より具体的に説明する。
【０２３６】
図１７Ａにおける第１５行目の、目標再生フレームがフレーム「Ｂ２+1」の場合、最も優先順位の高いフレーム「Ｉ３」は、既にデコードされバッファに格納されている。この場合、再生可能なフレームがフレーム「Ｉ３」なので、このフレーム「Ｉ３」が再生フレームとされる。
【０２３７】
目標再生フレームがフレーム「Ｂ２+1」からフレーム「Ｂ１+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ３-1」（図１７Ａの第１４行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第１４行目参照）。これにより、バッファには、フレーム「Ｉ３」およびフレーム「Ｉ３-1」が格納されることになる。
【０２３８】
一方、フレーム「Ｉ３-1」がデコードされた段階では、目標再生フレームであるフレーム「Ｂ１+1」は、未だデコードできない。このようなばあい、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向（この場合逆方向）に最も近く、且つ、目標再生フレームの再生順を超えないフレームが再生フレームとされる。しかしながら、この図１７Ｂの第１４行目では、目標再生フレームに対して再生順が逆方向の位置にあるフレームが存在しない。そのため、ここでは、フレーム「Ｉ３」が再生フレームとされる。
【０２３９】
なお、新たにデコードされるフレームは、デコードされつつバッファに格納されるため、実際には、再生できない。図１７Ｂの例では、矢印が付されたフレームがこれに相当する。例えば、上述の図１７Ｂの第１４行目では、フレーム「Ｉ３-1」は、実際にはこのタイミングでは再生できないフレームとなる。
【０２４０】
目標再生フレームがフレーム「Ｂ１+1」からフレーム「Ｐ１５」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ６」（図１７Ａの第１３行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第１３行目）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」およびフレーム「Ｐ６」が格納されることになる。
【０２４１】
一方、フレーム「Ｐ６」がデコードされた段階では、目標再生フレームであるフレーム「Ｐ１５」は、未だデコードできない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「Ｉ３」が再生フレームとされる。
【０２４２】
目標再生フレームがフレーム「Ｐ１５」からフレーム「Ｂ１４」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ９」（図１７Ａの第１２行目）のデコードおよびバッファへの格納が開始される（図１７Ｂの第１２行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」およびフレーム「Ｐ９」が格納されることになる。
【０２４３】
一方、フレーム「Ｐ９」がデコードされた段階では、目標再生フレームであるフレーム「Ｂ１４」は、未だデコードできない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「Ｉ３」が再生フレームとされる。
【０２４４】
目標再生フレームがフレーム「Ｂ１４」からフレーム「Ｂ１３」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ６-1」（図１７Ａの第１１行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第１１行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」およびフレーム「Ｐ６-1」が格納されることになる。
【０２４５】
一方、フレーム「Ｐ６-1」がデコードされた段階では、目標再生フレームであるフレーム「Ｂ１４」は、未だデコードできない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「Ｉ３」が再生フレームとされる。
【０２４６】
目標再生フレームがフレーム「Ｂ１３」からフレーム「Ｐ１２」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ１２」（図１７Ａの第１０行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第１０行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ６-1」およびフレーム「Ｐ１２」が格納されることになる。
【０２４７】
一方、この図１７Ｂの第１０行目において、フレーム「Ｐ１２」は、デコードされつつバッファに格納されるため、実際には、このタイミングでは再生できない。また、このとき、目標再生フレームに対して再生方向が逆方向に位置するフレームがバッファメモリ中に存在しない。そのため、ここでは、フレーム「Ｉ３」が再生フレームとされる。
【０２４８】
目標再生フレームがフレーム「Ｐ１２」からフレーム「Ｂ１１」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ１１」（図１７Ａの第９行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第９行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ６-1」、フレーム「Ｐ１２」およびフレーム「Ｂ１１」が格納されることになる。
【０２４９】
一方、この図１７Ｂの第９行目において、フレーム「Ｂ１１」は、デコードされつつバッファに格納されるため、実際には、このタイミングでは再生できない。そこで、目標再生フレームに対して再生順が逆方向に最も近く、且つ、目標再生フレームの再生順を超えないフレーム「Ｐ１２」が再生フレームとされる。
【０２５０】
目標再生フレームがフレーム「Ｂ１１」からフレーム「Ｂ１０」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ９-1」（図１７Ａの第８行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第８行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ６-1」、フレーム「Ｐ１２」、フレーム「Ｂ１１」およびフレーム「Ｐ９-1」が格納されることになる。
【０２５１】
一方、この図１７Ｂの第８行目において、フレーム「Ｂ１０」は、デコードされつつバッファに格納されるため、実際には、このタイミングでは再生できない。そこで、目標再生フレームに対して再生順が逆方向に最も近く、且つ、目標再生フレームの再生順を超えないフレーム「Ｂ１１」が再生フレームとされる。
【０２５２】
目標再生フレームがフレーム「Ｂ１０」からフレーム「Ｐ９」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ８」（図１７Ａの第７行目参照）のデコードおよびバッファへの格納が開始される（図１７Ｂの第７行目参照）。これにより、バッファには、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ６-1」、フレーム「Ｐ１２」、フレーム「Ｂ１１」、フレーム「Ｐ９-1」およびフレーム「Ｂ８」が格納されることになる。
【０２５３】
この目標再生フレームがフレーム「Ｐ９」の場合には、当該フレーム「Ｐ９」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ９」が再生フレームとされる。
【０２５４】
目標再生フレームがフレーム「Ｐ９」からフレーム「Ｂ８」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｂ７」（図１７Ａの第６行目参照）のデコードおよびバッファへの格納が開始されると共に、最も優先順位が低いとされたフレーム「Ｐ１２」が破棄される（図１７Ｂの第６行目参照）。これにより、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ６-1」、フレーム「Ｂ７」、フレーム「Ｂ１１」、フレーム「Ｐ９-1」およびフレーム「Ｂ８」が格納されることになる。
【０２５５】
この目標再生フレームがフレーム「Ｂ８」の場合には、フレーム「Ｂ８」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｂ８」が再生フレームとされる。
【０２５６】
目標再生フレームがフレーム「Ｂ８」からフレーム「Ｂ７」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ１２-1」（図１７Ａの第５行目参照）のデコードおよびバッファへの格納が開始されると共に、既に再生され、且つ、優先順位も低いＢピクチャによるフレーム「Ｂ１１」が破棄される（図１７Ｂの第５行目参照）。これにより、フレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」、フレーム「Ｐ９」、フレーム「Ｐ６-1」、フレーム「Ｂ７」、フレーム「Ｐ１２-1」、フレーム「Ｐ９-1」およびフレーム「Ｂ８」が格納されることになる。
【０２５７】
この図１７Ｂの第５行目のシーケンスで、バッファメモリに格納されるフレームが、図１７Ａの第５行目に示される、バッファメモリの更新パターンのフレームの格納状態と一致する。すなわち、逆方向の再生において、優先順位に従いデコードを行うことで、フレーム「Ｉ３」だけがデコードされた状態を基点とした場合、１１フレーム目で、順方向および逆方向に１倍速以内の可変速再生が可能な状態に復帰している。
【０２５８】
したがって、例えば、再生速度が１倍速以上の状態から１倍速に変化した際に、フレーム「Ｉ３」だけがデコードされバッファメモリに格納された状態になっていれば、１１フレーム分の期間が経過した段階で順方向および逆方向に１倍速以内の可変速再生が可能となる。
【０２５９】
また、この１１フレーム期間に再生されるフレームは、「Ｉ３、Ｉ３、Ｉ３、Ｉ３、Ｉ３、Ｉ３、Ｐ１２、Ｂ１１、Ｐ９、Ｂ８、Ｂ７」となり、最初、フレーム「Ｉ３」が６フレーム期間で連続して現れ静止画として表示された後の表示は、再生方向の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示が可能である。
【０２６０】
以降、図１７Ｂの第４行目〜第１行目の処理は、目標再生フレームが移行する度に、バッファメモリに格納された所定のフレームが破棄されると共に、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレームがデコードされ、フレームが破棄された位置にデコードされたフレームが格納される処理が繰り返されることになる。
【０２６１】
１−５−６．優先順位付き目標フレームバッファ更新パターンのさらに他の例
次に、他の場合の第２および第３の例として、ロングＧＯＰの構成が（Ｎ＝５）である場合について説明する。この場合、ＧＯＰは、１枚のＩピクチャと４枚のＰピクチャとから構成され、Ｂピクチャが用いられない。この例では、ＧＯＰ内のピクチャの順序は、記録媒体上および出力順で共通の、「Ｉ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５」とされる。
【０２６２】
先ず、他の場合の第２の例として、（Ｎ＝５）であるロングＧＯＰの場合の目標フレームバッファの一例の更新パターンについて、図１８を用いて説明する。この場合、図１０Ｃを用いて説明した式（Ｎ／Ｍ＋Ｍ＋１）によれば、Ｎ＝７、Ｍ＝１としてＮ／Ｍ＋Ｍ＋１＝７となり、バッファメモリは、少なくとも７フレーム分の容量が必要となる。以下では、（Ｎ＝５）であるロングＧＯＰにおいて、上述と同様の９フレーム分が格納可能なバッファメモリを用いるものとして説明する。
【０２６３】
この（Ｎ＝５）の場合も、図１１を用いて説明した（Ｎ＝１５、Ｍ＝３）の場合と同様の考え基づき更新パターンを作成することができる。すなわち、この（Ｎ＝５）の場合でも、図１８中の各行に示されるように、目標再生フレームに対応したフレームがフレームバッファに格納された状態で、目標再生フレームを任意の方向に１フレームずつ移動させた場合に、更新されるフレームをそれぞれ１フレーム分とし、順方向および逆方向の１倍速以内の可変速再生を、１倍速デコーダを用いて行うことができるようにしている。
【０２６４】
なお、図１８中で用いられる記号等の意味は、上述した図１１などで用いられる記号等と同様である。また、この図１８の更新パターンは、図の上側から下側に向けた方向が順方向の再生を示し、下側から上側に向けた方向が逆方向の再生を示す。さらに、この図１８の更新パターンは、循環的とされる。
【０２６５】
上述した図１１の例と同様に、図１８の更新パターンの各行において、その行に対応する目標再生フレームと、当該目標再生フレームに対して再生方向で順方向および逆方向にそれぞれ隣接するフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。それと共に、当該目標再生フレームに対して順方向および逆方向に隣接するフレームにさらに隣接するフレームをデコードするために必要なフレームが、当該目標再生フレームと共にフレームバッファに格納されるべきフレームとされる。また、目標再生フレームが隣接する行の間において、更新フレームが１フレームのみとなるようにされる。
【０２６６】
図１８を参照して、目標再生フレームがフレーム「Ｉ１」のとき（第１行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１-1」、フレーム「Ｐ２-1」、フレーム「Ｐ３-1」、フレーム「Ｐ４-1」、フレーム「Ｐ５-1」およびフレーム「Ｉ１-2」とされる。後述する目標再生フレームがフレームＰ５+2」のパターンに対して、フレーム「Ｐ２-2」がフレーム「Ｐ３」に更新されている。
【０２６７】
なお、後述する第１５行目からこの第１行目のパターンに戻る場合、この図１８の例では、フレーム「Ｐ５+2」の次の目標再生フレームがフレーム「Ｉ１」となる。したがって、この図１８に示される１５個のパターンを循環的に考える際には、例えば第１５行目のＧＯＰを再生順に３ＧＯＰ分戻したＧＯＰに置き換える。
【０２６８】
目標再生フレームがフレーム「Ｐ２」のとき（第２行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１-1」、フレーム「Ｐ２-1」、フレーム「Ｐ３-1」、フレーム「Ｐ４-1」、フレーム「Ｐ５-1」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｉ１」のパターンに対して、フレーム「Ｉ２-2」がフレーム「Ｐ４」に更新されている。
【０２６９】
目標再生フレームがフレーム「Ｐ３」のとき（第３行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１-1」、フレーム「Ｐ２-1」、フレーム「Ｐ３-1」、フレーム「Ｐ４-1」、フレーム「Ｐ５」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｐ２」のパターンに対して、フレーム「Ｐ５-1」がフレーム「Ｐ５」に更新されている。
【０２７０】
目標再生フレームがフレーム「Ｐ４」のとき（第４行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１-1」、フレーム「Ｐ２-1」、フレーム「Ｐ３-1」、フレーム「Ｉ１+1」、フレーム「Ｐ５」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｐ３」のパターンに対して、フレーム「Ｐ４-1」がフレーム「Ｉ１+1」に更新されている。
【０２７１】
目標再生フレームがフレーム「Ｐ５」のとき（第５行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１-1」、フレーム「Ｐ２-1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｐ４」のパターンに対して、フレーム「Ｐ３-1」がフレーム「Ｐ２+1」に更新されている。
【０２７２】
目標再生フレームがフレーム「Ｉ１+1」のとき（第６行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１-1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｐ５」のパターンに対して、フレーム「Ｐ２-1」がフレーム「Ｐ３+1」に更新されている。
【０２７３】
目標再生フレームがフレーム「Ｐ２+1」のとき（第７行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｉ１+1」のパターンに対して、フレーム「Ｉ１-1」がフレーム「Ｐ４+1」に更新されている。
【０２７４】
目標再生フレームがフレーム「Ｐ３+1」のとき（第８行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+1」およびフレーム「Ｐ４」とされる。上述の目標再生フレームがフレーム「Ｐ２+1」のパターンに対して、フレーム「Ｐ５」がフレーム「Ｐ５+1」に更新されている。
【０２７５】
目標再生フレームがフレーム「Ｐ４+1」のとき（第９行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+1」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ３+1」のパターンに対して、フレーム「Ｐ４」がフレーム「Ｉ１+2」に更新されている。
【０２７６】
目標再生フレームがフレーム「Ｐ５+1」のとき（第１０行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ２+2」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+1」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ４+1」のパターンに対して、フレーム「Ｐ３」がフレーム「Ｐ２+2」に更新されている。
【０２７７】
目標再生フレームがフレーム「Ｉ１+2」のとき（第１１行目）のパターンは、フレーム「Ｉ１」、フレーム「Ｐ３+2」、フレーム「Ｐ２+2」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+1」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ５+1」のパターンに対して、フレーム「Ｐ２」がフレーム「Ｐ３+2」に更新されている。
【０２７８】
目標再生フレームがフレーム「Ｐ２+2」のとき（第１２行目）のパターンは、フレーム「Ｐ４+2」、フレーム「Ｐ３+2」、フレーム「Ｐ２+2」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+1」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｉ２+2」のパターンに対して、フレーム「Ｉ１」がフレーム「Ｐ４+2」に更新されている。
【０２７９】
目標再生フレームがフレーム「Ｐ３+2」のとき（第１３行目）のパターンは、フレーム「Ｐ４+2」、フレーム「Ｐ３+2」、フレーム「Ｐ２+2」、フレーム「Ｐ４+1」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+2」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ２+2」のパターンに対して、フレーム「Ｐ５+1」がフレーム「Ｐ５+2」に更新されている。
【０２８０】
目標再生フレームがフレーム「Ｐ４+2」のとき（第１４行目）のパターンは、フレーム「Ｐ４+2」、フレーム「Ｐ３+2」、フレーム「Ｐ２+2」、フレーム「Ｉ１+3」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+2」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ３+2」のパターンに対して、フレーム「Ｐ４+1」がフレーム「Ｉ１+3」に更新されている。
【０２８１】
目標再生フレームがフレーム「Ｐ４+2」のとき（第１４行目）のパターンは、フレーム「Ｐ４+2」、フレーム「Ｐ３+2」、フレーム「Ｐ２+2」、フレーム「Ｉ１+3」、フレーム「Ｐ３+1」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+2」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ３+2」のパターンに対して、フレーム「Ｐ４+1」がフレーム「Ｉ１+3」に更新されている。
【０２８２】
目標再生フレームがフレーム「Ｐ５+2」のとき（第１５行目）のパターンは、フレーム「Ｐ４+2」、フレーム「Ｐ３+2」、フレーム「Ｐ２+2」、フレーム「Ｉ１+3」、フレーム「Ｐ２+3」、フレーム「Ｐ２+1」、フレーム「Ｉ１+1」、フレーム「Ｐ５+2」およびフレーム「Ｉ１+2」とされる。上述の目標再生フレームがフレーム「Ｐ４+2」のパターンに対して、フレーム「Ｐ３+1」がフレーム「Ｐ２+3」に更新されている。
【０２８３】
このように、図１８に一例を示すフレームバッファの更新パターンでは、上述した図１１の例と同様に、各フレーム毎の更新パターン間で、１フレーム分のみが更新されるようになっている。
【０２８４】
第６行目の、目標再生フレームがフレーム「Ｉ１+1」の場合を例にとって説明する。この場合、先ず、目標再生フレーム「Ｉ１+1」と再生順で順方向および逆方向にそれぞれ隣接するフレームであるフレーム「Ｐ２+1」およびフレーム「Ｐ５」がフレームバッファに格納されるべきフレームとされる。
【０２８５】
また、目標再生フレームに対して順方向に１フレーム分、再生が進んだ際に再生が継続できるように、目標再生フレーム「Ｉ１+1」の順方向の隣接フレーム「Ｐ２+1」に対して、順方向および逆方向にそれぞれ隣接するフレームがフレームバッファに格納されるべきフレームとされる。逆方向に隣接するフレームは、現在の目標再生フレーム「Ｉ１+1」であって、順方向に隣接するフレームは、フレーム「Ｐ３+1」である。
【０２８６】
目標再生フレームの逆方向に隣接するフレームに対しても同様にして、当該フレームの順方向および逆方向に隣接するフレームがフレームバッファに格納されるべきフレームとされる。順方向に隣接するフレームは、現在の目標再生フレーム「Ｉ１+1」であって、逆方向に隣接するフレームは、フレーム「Ｐ５」となる。ここで、フレーム「Ｐ５」をデコードするためには、フレーム「Ｐ４」、フレーム「Ｐ３」、フレーム「Ｐ２」およびフレーム「Ｉ１」が必要とされるので、これらのフレームも、フレームバッファに格納されるべきフレームとされる。
【０２８７】
このように、目標再生フレームがフレーム「Ｉ１+1」の場合には、順方向に対してフレーム「Ｐ２」およびフレーム「Ｐ３」が、逆方向に対してフレーム「Ｐ５」、フレーム「Ｐ４」、フレーム「Ｐ３」、フレーム「Ｐ２」およびフレーム「Ｉ１」が、それぞれフレームバッファに格納されるべきフレームとされる。
【０２８８】
次に、上述した、（Ｎ＝５）であって、ピクチャの構成が「Ｉ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５」であるロングＧＯＰの場合において、バッファメモリの更新パターンに対してデコードする際の優先順位をピクチャ毎に付与した例について説明する。
【０２８９】
先ず、図１９を用いて、再生方向が順方向の場合について説明する。図１９Ａは、上述した図１８のバッファメモリの更新パターンに対して、再生方向が順方向の場合に対応して、フレーム毎に優先順位を付加して並べ替えたものである。
【０２９０】
この図１９Ａおよび後述する図２０Ａに示されるバッファメモリの優先順位付き更新パターンは、図１３〜図１６を用いて既に説明した方法により、作成されるものである。したがって、目標再生フレームそのものまたは目標再生フレームをデコードするために用いられるフレームが優先的にデコードされ、目標再生フレームに順方向に隣接するフレームそのものまたは当該隣接フレームをデコードするために用いられるフレームが、次の優先順位で以てデコードされるように、各更新パターンにおいて優先順位が付与される。
【０２９１】
図１９Ｂは、（Ｎ＝５）であって、ピクチャの構成が「Ｉ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５」であるロングＧＯＰの場合において、フレーム「Ｉ１」のみがデコードされバッファメモリに格納された状態を基点として、１倍速デコーダでデコードされたフレームがバッファメモリに格納されていく様子を示す。
【０２９２】
目標再生フレームがフレーム「Ｉ１」の場合（図１９Ａにおける第１行目参照）、バッファメモリに既に格納されているフレーム「Ｉ１」（図１９Ｂの第１行目参照）が再生される。
【０２９３】
目標再生フレームがフレーム「Ｉ１」からフレーム「Ｐ２」に移行すると、バッファに格納されていないフレームの内最も優先順位の高いフレーム「Ｐ２」（図１９Ａの第２行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第２行目参照）。これにより、バッファには、フレーム「Ｉ１」およびフレーム「Ｐ２」が格納されることになる。
【０２９４】
ここで、上述もしたが、新たにデコードされるフレームは、デコードされつつバッファメモリに格納されるため、実際にはそのタイミングでは再生できない。図１９Ｂにおいて矢印が付されたフレームがこれに相当する。例えば、図１９Ｂの第２行目に示されるフレーム「Ｐ２」は、実際にはこのタイミングでは再生できないフレームとなる。そこで、この場合には、既にデコードされてバッファメモリに格納され、且つ、目標再生フレームを再生順で越えずに最も時間的に近いフレーム「Ｉ１」が再生フレームとされる。
【０２９５】
目標再生フレームがフレーム「Ｐ２」から次のフレーム「Ｐ３」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ３」（図１９Ａの第３行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第３行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」およびフレーム「Ｐ３」が格納されることになる。
【０２９６】
このとき、上述と同様に、フレーム「Ｐ３」は、デコードされつつバッファに格納されるため、このタイミングでは再生できない。そのため、既にデコードされバッファメモリに格納され、且つ、目標再生フレーム「Ｐ３」を再生順で越えずに最も時間的に近いフレーム「Ｐ２」が再生フレームとされる。
【０２９７】
目標再生フレームがフレーム「Ｐ３」からフレーム「Ｐ４」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ１+1」（図１９Ａの第４行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第４行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」およびフレーム「Ｉ１+1」が格納されることになる。
【０２９８】
このとき、目標再生フレームであるフレーム「Ｐ４」は、未だデコードされていないので、既にデコードされてバッファメモリに格納され、且つ、目標再生フレームを再生順で越えずに最も時間的に近いフレーム「Ｐ３」が再生フレームとされる。
【０２９９】
目標再生フレームがフレーム「Ｐ４」からフレーム「Ｐ５」に移行すると、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ２+1」（図１９Ａの第５行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第５行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１+1」およびフレーム「Ｐ２+1」が格納されることになる。
【０３００】
このとき、目標再生フレームであるフレーム「Ｐ５」は、未だデコードされていないので、既にデコードされてバッファメモリに格納され、且つ、目標再生フレームを再生順で越えずに最も時間的に近いフレーム「Ｐ３」が再生フレームとされる。
【０３０１】
目標再生フレームがフレーム「Ｐ５」からフレーム「Ｉ１+1」に移行すると、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ３+1」（図１９Ａの第６行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第６行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」およびフレーム「Ｐ３+1」が格納されることになる。
【０３０２】
この目標再生フレームがフレーム「Ｉ１+1」の場合には、当該フレーム「Ｉ１+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｉ１+1」が再生フレームとされる。
【０３０３】
目標再生フレームがフレーム「Ｉ１+1」からフレーム「Ｐ２+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ４+1」（図１９Ａの第７行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第７行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」およびフレーム「Ｐ４+1」が格納されることになる。
【０３０４】
この目標再生フレームがフレーム「Ｐ２+1」の場合には、当該フレーム「Ｐ２+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ２+1」が再生フレームとされる。
【０３０５】
目標再生フレームがフレーム「Ｐ２+1」からフレーム「Ｐ３+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ５+1」（図１９Ａの第８行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第８行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｐ４+1」およびフレーム「Ｐ５+1」が格納されることになる。
【０３０６】
この目標再生フレームがフレーム「Ｐ３+1」の場合には、当該フレーム「Ｐ３+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ３+1」が再生フレームとされる。
【０３０７】
目標再生フレームがフレーム「Ｐ３+1」からフレーム「Ｐ４+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ２+2」（図１９Ａの第９行目参照）のデコードおよびバッファメモリへの格納が開始される（図１９Ｂの第９行目参照）。これにより、バッファには、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｐ４+1」、フレーム「Ｐ５+1」およびフレーム「Ｉ１+2」が格納されることになる。
【０３０８】
この目標再生フレームがフレーム「Ｐ４+1」の場合には、当該フレーム「Ｐ４+1」は、既にデコードされバッファに格納されている。そのため、このフレーム「Ｐ４+1」が再生フレームとされる。
【０３０９】
この図１９Ｂの第９行目のシーケンスで、バッファメモリに格納されるフレームが、図１９Ａの第９行目に示される、バッファメモリの更新パターンのフレームの格納状態と一致する。すなわち、（Ｎ＝５）であって、ピクチャの構成が「Ｉ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５」であるロングＧＯＰの場合に、順方向の再生において、優先順位に従いデコードを行うことで、フレーム「Ｉ１」だけがデコードされた状態を基点とした場合、９フレーム目で、順方向および逆方向に１倍速以内の可変速再生が可能な状態に復帰している。
【０３１０】
したがって、例えば、再生速度が１倍速以上の状態から１倍速に変化した際に、フレーム「Ｉ１」だけがデコードされバッファメモリに格納された状態になっていれば、９フレーム分の期間が経過した段階で順方向および逆方向に１倍速以内の可変速再生が可能となる。
【０３１１】
また、この９フレーム期間に再生されるフレームは、「Ｉ１、Ｉ１、Ｐ２、Ｐ３、Ｐ３、Ｉ１+1、Ｐ２+1、Ｐ３+1、Ｐ４+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。
【０３１２】
以降、図１９Ｂの第１０行目〜第１５行目の処理は、目標再生フレームが移行する度に、バッファメモリに格納された所定のフレームが破棄されると共に、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレームがデコードされ、フレームが破棄された位置にデコードされたフレームが格納される処理が繰り返されることになる。
【０３１３】
次に、（Ｎ＝５）であって、ピクチャの構成が「Ｉ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５」であるロングＧＯＰの場合における、再生方向が逆方向の場合について、図２０を用いて説明する。なお、図２０は、図の下側から図の上側に向けた方向、すなわち、第１５行目から第１行目に進む方向が逆方向の再生方向を示す。
【０３１４】
図２０Ａは、上述した図１８のバッファメモリの更新パターンに対して、再生方向が逆方向の場合に対応して、フレーム毎に優先順位を付加して並べ替えたものである。また、図２０Ｂは、この図２０Ａのパターンに基づき、フレーム「Ｉ１+2」のみがデコードされバッファメモリに格納されている状態が基点として、１倍速デコーダでデコードされたフレームがバッファメモリに格納される様子を示す。
【０３１５】
図２０Ａにおける第１５行目の、目標再生フレームがフレーム「Ｐ５+2」の場合、バッファメモリにはフレーム「Ｉ１+2」しか格納されていない。この場合、デコードされバッファに既に格納されているフレーム「Ｉ１+2」が再生される。
【０３１６】
目標再生フレームがフレーム「Ｐ５+2」からフレーム「Ｐ４+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ１+1」（図２０Ａの第１４行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第１４行目参照）。これにより、バッファには、フレーム「Ｉ１+2」およびフレーム「Ｉ１+1」が格納されることになる。
【０３１７】
一方、フレーム「Ｉ１+1」がデコードされた段階では、目標再生フレームであるフレーム「Ｐ４+2」は、未だデコードできない。このような場合、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向（この場合逆方向）に最も近く、且つ、目標再生フレームの再生順を超えないフレームが再生フレームとされる。しかしながら、この図２０Ｂの第１４行目の状態では、この条件を満たすフレームがバッファメモリ上に存在しない。そのため、ここでは、フレーム「Ｉ１+2」が再生フレームとされる。
【０３１８】
目標再生フレームがフレーム「Ｐ４+2」からフレーム「Ｐ３+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ２+1」（図２０Ａの第１３行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第１３行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」およびフレーム「Ｐ２+1」が格納されることになる。
【０３１９】
一方、フレーム「Ｐ２+1」がデコードされた段階では、目標再生フレームであるフレーム「Ｐ３+2」は、未だデコードできない。また、この図２０Ｂの第１３行目の状態では、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームがバッファメモリ上に存在しない。そのため、ここでは、フレーム「Ｉ１+2」が再生フレームとされる。
【０３２０】
目標再生フレームがフレーム「Ｐ３+2」からフレーム「Ｐ２+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ３+1」（図２０Ａの第１２行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第１２行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」およびフレーム「Ｐ３+1」が格納されることになる。
【０３２１】
一方、フレーム「Ｐ３+1」がデコードされた段階では、目標再生フレームであるフレーム「Ｐ２+2」は、未だデコードできない。また、この図２０Ｂの第１２行目の状態では、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームがバッファメモリ上に存在しない。そのため、ここでは、フレーム「Ｉ１+2」が再生フレームとされる。
【０３２２】
目標フレームがフレーム「Ｐ２+2」からフレーム「Ｉ１+2」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ１」（図２０Ａの第１１行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第１１行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」およびフレーム「Ｉ１」が格納されることになる。
【０３２３】
この図２０Ａにおける第１１行目の、目標再生フレームがフレーム「Ｉ１+2」の場合、当該目標再生フレーム「Ｉ１+2」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「Ｉ１+1」が再生フレームとされる。
【０３２４】
目標再生フレームがフレーム「Ｉ１+2」からフレーム「Ｐ５+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ２」（図２０Ａの第１０行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第１０行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｉ１」およびフレーム「Ｐ２」が格納されることになる。
【０３２５】
一方、フレーム「Ｐ２」がデコードされた段階では、目標再生フレームであるフレーム「Ｐ５+1」は、未だデコードできない。ここで、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームは、フレーム「Ｉ１+2」となる。したがって、このフレーム「Ｉ１+2」が再生フレームとされる。
【０３２６】
目標再生フレームがフレーム「Ｐ５+1」からフレーム「Ｐ４+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ３」（図２０Ａの第９行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第９行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｉ１」、フレーム「Ｐ２」およびフレーム「Ｐ３」が格納されることになる。
【０３２７】
一方、フレーム「Ｐ３」がデコードされた段階では、目標再生フレームであるフレーム「Ｐ４+1」は、未だデコードできない。ここで、バッファメモリに格納され再生可能となっているフレームのうち、目標再生フレームに対して再生順が再生方向に最も近く、且つ、目標再生フレームの再生順を越えないフレームは、フレーム「Ｉ１+2」となる。したがって、このフレーム「Ｉ１+2」が再生フレームとされる。
【０３２８】
目標再生フレームがフレーム「Ｐ４+1」からフレーム「Ｐ３+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ４」（図２０Ａの第８行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第８行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」およびフレーム「Ｐ４」が格納されることになる。
【０３２９】
この図２０Ａにおける第８行目の、目標再生フレームがフレーム「Ｐ３+1」の場合、当該目標再生フレーム「Ｐ３+1」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「Ｐ３+1」が再生フレームとされる。
【０３３０】
目標再生フレームがフレーム「Ｐ３+1」からフレーム「Ｐ２+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｐ５」（図２０Ａの第７行目参照）のデコードおよびバッファメモリへの格納が開始される（図２０Ｂの第７行目参照）。これにより、バッファには、フレーム「Ｉ１+2」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｐ４」およびフレーム「Ｐ５」が格納されることになる。
【０３３１】
この図２０Ａにおける第７行目の、目標再生フレームがフレーム「Ｐ２+1」の場合、当該目標再生フレーム「Ｐ２+1」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「Ｐ２+1」が再生フレームとされる。
【０３３２】
目標再生フレームがフレーム「Ｐ２+1」からフレーム「Ｉ１+1」に移行すると、バッファに格納されていないフレームのうち最も優先順位の高いフレーム「Ｉ１-1」（図２０Ａの第６行目参照）がデコードされ、バッファメモリに格納される（図２０Ｂの第６行目参照）。
【０３３３】
ここで、上述の第７行目の状態において、既にバッファメモリはフレームメモリで埋まっているので、バッファメモリに格納されているフレームのうち少なくとも何れか１つを破棄する必要がある。例えば、目標再生フレームに対して再生方向と逆方向（この場合は再生方向で順方向）の位置にあり、且つ、目標再生フレームと時間的に最も遠い位置にあるフレームが破棄される。この例では、フレーム「Ｉ１+2」が破棄される。
【０３３４】
これにより、バッファには、フレーム「Ｉ１+1」、フレーム「Ｉ１+1」、フレーム「Ｐ２+1」、フレーム「Ｐ３+1」、フレーム「Ｉ１」、フレーム「Ｐ２」、フレーム「Ｐ３」、フレーム「Ｐ４」およびフレーム「Ｐ５」が格納されることになる。
【０３３５】
この図２０Ａにおける第７行目の、目標再生フレームがフレーム「Ｐ２+1」の場合、当該目標再生フレーム「Ｐ２+1」は、既にデコードされ、バッファに格納されている。そのため、このフレーム「Ｐ２+1」が再生フレームとされる。
【０３３６】
この図２０Ｂの第６行目のシーケンスで、バッファメモリに格納されるフレームが、図２０Ａの第６行目に示される、バッファメモリの更新パターンと一致する。すなわち、（Ｎ＝５）であって、ピクチャの構成が「Ｉ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５」であるロングＧＯＰで、逆方向の再生において、優先順位に従いデコードを行うことで、フレーム「Ｉ１+2」だけがデコードされた状態を基点とした場合、１０フレーム目で、順方向および逆方向に１倍速以内の可変速再生が可能な状態に復帰している。
【０３３７】
したがって、例えば、再生速度が１倍速以上の状態から１倍速に変化した際に、フレーム「Ｉ１+2」だけがデコードされバッファメモリに格納された状態になっていれば、１０フレーム分の期間が経過した段階で順方向および逆方向に１倍速以内の可変速再生が可能となる。
【０３３８】
また、この１０フレーム期間に再生されるフレームは、「Ｉ１+2、Ｉ１+2、Ｉ１+2、Ｉ１+2、Ｉ１+2、Ｉ１+2、Ｉ１+2、Ｐ３+1、Ｐ２+1、Ｉ１+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。
【０３３９】
以降、図２０Ｂの第５行目〜第１行目の処理は、目標再生フレームが移行する度に、バッファメモリに格納された所定のフレームが破棄されると共に、バッファメモリに格納されていないフレームのうち最も優先順位の高いフレームがデコードされ、フレームが破棄された位置にデコードされたフレームが格納される処理が繰り返されることになる。
【０３４０】
１−５−７．優先順位付きフレームバッファの更新パターンに基づく再生制御動作
次に、優先順位付きのフレームバッファの更新パターンに基づく再生制御動作について説明する。再生制御は、フレームタイミングで同期を取られて、フレーム毎に順次、行われる。図２１は、このシステムに適用可能な同期制御を概略的に示す。この図２１の例では、３フレームを周期として、１フレーム分のビデオデータのデコードが行われると共に、このデコードに同期して、フレームバッファ上の１フレーム分のビデオデータが出力される。
【０３４１】
先ず、第１フレーム目では、現在フレームバッファに格納されているフレームの情報であって、ＣＰＵ１４により取得されるフレームバッファ情報と、ディスクドライブ１１におけるリード情報と、目標速度情報とから、目標再生フレームが確定される（ステップＳ３０）。リード情報は、光ディスク１０から既に読み出され、ディスクドライブ１１のキャッシュメモリ１２に溜め込まれているピクチャの情報である。また、目標速度情報は、操作部１５に対する操作や、より上位のアプリケーションなどからのコマンドにより、ＣＰＵ１４に対して供給される、再生速度および方向を示す情報である。
【０３４２】
目標再生フレームが確定されると、デコーダ２２に転送するピクチャが確定される（ステップＳ３１）。すなわち、図１２Ａ、図１７Ａ、図１９Ａおよび図２０Ａを用いて説明した、デコード優先順位付きのフレームバッファの更新パターン、再生方向および現在のフレームバッファの状態に基づき、目標再生フレームの確定に伴いデコードすべきピクチャが確定される。
【０３４３】
例えば、再生方向が順方向である図１２Ａの第４行目の例でいうと、現在の目標再生フレーム「Ｐ６」に対して、新たな目標再生フレームがフレーム「Ｂ７」に確定される。また、現在のフレームバッファに対するフレームの格納状態が取得され、取得された状態と、新たな目標再生フレーム「Ｂ７」に対応するデコード優先順位付きのフレームバッファの更新パターンとが比較される。そして、新たな目標再生フレーム「Ｂ７」に対応するデコード優先順位付きのフレームバッファの更新パターンに基づき、現在フレームバッファに格納されていないフレームのうち最も優先順位が高いフレームがデコードするフレームとして確定される。
【０３４４】
図１２Ａの例では、現在のバッファメモリは、第４行目に示されるようにフレーム「Ｉ３」、フレーム「Ｐ６」、フレーム「Ｐ９」およびフレーム「Ｂ７」が格納された状態となっている。これに対して、現在フレームバッファに格納されていないフレームのうち、新たな目標再生フレーム「Ｂ７」に対応するデコード優先順位付きのフレームバッファの更新パターン（図１２Ａの第５行目参照）において最も優先順位が高いフレーム「Ｂ８」がデコードするフレームとして確定される。
【０３４５】
また例えば、再生方向が逆方向である図１７Ａの第１２行目の例でいうと、現在の目標再生フレーム「Ｂ１４」に対して、新たな目標再生フレームがフレーム「Ｂ１３」に確定される。一方、現在のバッファメモリは、第１２行目に示されるようにフレーム「Ｉ３」、フレーム「Ｉ３-1」、フレーム「Ｐ６」およびフレーム「Ｐ９」が格納された状態となっている。これに対して、現在フレームバッファに格納されていないフレームのうち、新たな目標再生フレーム「Ｂ１３」に対応するデコード優先順位付きのフレームバッファの更新パターン（図１７Ａの第１１行目参照）において最も優先順位が高いフレーム「Ｐ６-1」がデコードするフレームとして確定される。
【０３４６】
ステップＳ３１で転送するピクチャが確定されると、次の第２フレーム目のタイミングで、当該ピクチャがデコーダ２２に対して転送される（ステップＳ３２）。例えば、ＣＰＵ１４は、ディスクドライブ１１に対して、転送が確定されたピクチャを光ディスク１０から読み出すように要求する。この要求に応じて、ディスクドライブ１１により、光ディスク１０からピクチャが読み出される。読み出されたピクチャがデコーダ２２に転送される。
【０３４７】
なお、実際には、転送が確定されたピクチャの転送は、上述したように、ディスクドライブ１１が有するキャッシュメモリ１２に対してアクセスされてなされ、キャッシュメモリ１２からデコーダ２２に対して、ＤＭＡ(Direct Memory Access)転送によりＣＰＵ１４を介さないで行われる。
【０３４８】
ディスクドライブ１１からデコーダ２２へのピクチャの転送は、次の第２フレーム目のタイミングに同期して行われる（ステップＳ３２）。また、ステップＳ３１での転送ピクチャの確定に伴い、当該ピクチャに対するデコード情報が確定される（ステップＳ３３）。例えば、確定された転送ピクチャのヘッダ情報から取り出されたデコードに必要なパラメータや、デコードに必要な他のフレームの情報がデコード情報として確定される。これら確定されたデコード情報は、デコーダ２２に渡される。
【０３４９】
デコーダ２２は、ステップＳ３３で転送されたデコード情報に基づき、ステップＳ３２で転送されたピクチャのデコードを、次の第３フレーム目のタイミングに同期して開始する（ステップＳ３４）。デコードされたピクチャ（フレーム）は、フレームバッファの所定のバンクに書き込まれ、フレームバッファが更新される。
【０３５０】
一方、上述したステップＳ３０で目標再生フレームが確定されると、出力するビデオデータの情報が確定される（ステップＳ３５）。この確定された出力ビデオデータの情報が出力データ制御部２３に渡される。出力データ制御部２３では、渡された情報に基づき、第３フレーム目の開始タイミングまでに、ビデオ出力の設定を行う（ステップＳ３６）。そして、この設定に基づき、第３フレーム目に同期して、フレームが出力される（ステップＳ３７）。
【０３５１】
なお、再生方向が順方向および逆方向の何れの場合においても、上述のステップＳ３０〜ステップＳ３７で説明した処理は、フレームタイミング毎に順次、実行される。すなわち、第１フレーム目に同期して上述のステップＳ３０の処理による目標再生フレームが確定される。確定された目標再生フレームを新たな出力フレームとして、この新たな出力フレームに対応する新たな目標再生フレームの確定処理が次の第２フレーム目に同期して開始される。
【０３５２】
この新たな目標再生フレームの、ディスクドライブ１１からデコーダ２２への転送処理は、次の第３フレーム目に同期して行われるため、１つ前の処理と干渉することがない。同様に、デコーダ２２によるデコード処理も、図示されない第４フレーム目に同期して行われることになるため、１つ前の処理と干渉することがない。
【０３５３】
このように、このシステムによれば、順方向の１倍速再生から逆方向の１倍速再生にわたる可変速再生において、与えられた再生速度および再生方向指示コマンドに対して固定的な遅延で、コマ落ちのない再生出力を、１倍速デコーダを用いて実現することができる。
【０３５４】
なお、上述の図２１のシーケンスにおいて、ステップＳ３０で目標再生フレームが確定してから、その目標再生フレームが目標再生フレームの確定から固定遅延で以てステップＳ３７でビデオ出力されるまでの間は、ステップＳ３２のデータ転送処理およびステップＳ３４のデコード処理がそれぞれ平均して１ピクチャ／フレーム時間に収まる必要がある。換言すれば、ステップＳ３２のデータ転送処理およびステップＳ３４のデコード処理は、それぞれ平均して１ピクチャ／フレーム時間に収まっていれば、それぞれの処理時間を１フレーム時間に固定的とする必要は、無い。
【０３５５】
ピクチャのデコードに１倍速デコーダを用い、順方向および逆方向に１倍速以内の再生を、上述したような目標フレームバッファパターンに基づく制御で以て固定遅延で行う場合、上述のように、目標再生フレームが移行する毎に、１フレームのデコードが行われ、それに伴いバッファメモリ上の１フレームが破棄される。そのため、ステップＳ３２のデータ転送処理およびステップＳ３４のデコード処理は、それぞれ１ピクチャ／フレーム時間の処理に収束するように推移し、全体として、図２１に示されるような３フレーム周期に収束する。
【０３５６】
このように、このシステムによれば、順方向の１倍速再生から逆方向の１倍速再生にわたる可変速再生を、与えられた再生速度および再生方向指示コマンドに対して固定的な遅延で、コマ落ちのない再生出力を、１倍速デコーダで行うことができるように作成されたフレームバッファの更新パターンに対して、フレーム毎にデコードの優先順位を設定している。したがって、結果的に、フレームバッファにフレームが格納されていない状態から１倍速の再生状態に遷移しても、見かけ上、固定遅延のコマンド応答で再生を継続させることができる。
【０３５７】
これにより、デコードの優先順位に従いデコードを行いデコードされたフレームをフレームバッファに格納していくことで、フレームバッファにフレームが格納されていない状態から、表示における違和感を抑えつつ、速やかに、順方向の１倍速から逆方向の１倍速までの可変速再生が可能な状態に移行することができる。
【０３５８】
２．この発明の実施の一形態について
次に、この発明の実施の一形態について説明する。図２２は、この発明の実施の一形態による再生制御を概略的に示す。なお、図２２において、縦軸は再生速度を示し、１倍速を超える再生速度では、シャトル再生となる。また、横軸は時間経過を示す。この発明の実施の一形態では、再生速度が１倍速を超えるシャトル再生時には補助ビデオデータを出力し、シャトル再生から再生速度が１倍速の再生に変化した時点（図２２の時点Ａ）で、本線ビデオデータの読み出しを開始する。この時点Ａにおいて、本線ビデオデータについて、上述したシステムによる優先順位付き目標フレームバッファ更新パターンを作成する。この時点Ａでは、未だ補助ビデオデータが出力されている。
【０３５９】
本線ビデオデータをデコードするデコーダは、デコード可能な分のピクチャが読み込めたら、本線ビデオデータのデコードを開始する。例えば、図２２の時点Ｂでデコードが開始されるものとする。本線ビデオデータをデコードするデコーダは、本線ビデオデータを、優先順位付き目標フレームバッファ更新パターンに従いデコードし、デコードされたフレームをフレームバッファに格納していく。本線ビデオデータにおいて目標再生フレームがデコードされるまでは、補助ビデオデータを出力し、本線ビデオデータにおいて目標再生フレームがデコードされ出力可能な状態とされたら（図２２の時点Ｃ）、出力を補助ビデオデータから本線ビデオデータに切り換え、本線ビデオデータを出力する。
【０３６０】
このように構成することで、再生速度が１倍速を超えるシャトル再生から再生速度が１倍速の再生に移行した場合でも、補助ビデオデータから本線ビデオデータへの出力の切り換えの際に、表示における違和感が抑えられた１倍速再生に速やかに移行することができる。
【０３６１】
２−１．再生装置の一例の構成
図２３は、この発明の実施の一形態に適用可能な再生装置２００の一例の構成を概略的に示す。なお、図２３において、上述した図２と共通する部分には同一の符号を付し、詳細な説明を省略する。上述した図２の構成では、デコーダは、本線ビデオデータをデコードするデコーダ１３しか記されていないが、この発明に適用されるシステムでは、本線ビデオデータと共に補助ビデオデータのデコードおよび出力もなされるので、実際には、図２の構成はこの図２３に示されるように、補助ビデオデータをデコードする補助デコーダ２０２がさらに設けられる構成とされる。本線ビデオデータのデコードを行う本線デコーダ１３の出力と、補助デコーダ２０２の出力とは、ＣＰＵ１４の制御により、スイッチ回路２０１により選択される。
【０３６２】
補助デコーダ２０２は、フレームメモリ２０２Ａを用いて補助ビデオデータを所定にデコードする。補助ビデオデータは、例えば１ＧＯＰが１０フレームから構成され、補助デコーダ２０２は、この１０フレームからなるＧＯＰを単位として補助ビデオデータをデコードする。この例においては、補助ビデオデータの遅延は、６フレームに固定的とされている。すなわち、ＧＯＰの最初のピクチャが補助デコーダ２０２に読み込まれてから６フレームタイミング後に、当該ＧＯＰのフレームが補助デコーダ２０２から出力される。
【０３６３】
ジョグダイヤル１６の操作を含む操作部１５に対する操作や、より上位のシステムからの命令に基づき、ＣＰＵ１４において、出力すべきフレームを指示するマスタポジションが生成される。マスタポジションは、例えば、デコードを行うクリップを示す情報と、当該クリップ中で出力すべきフレームを示す情報とを有する。このマスタポジションは、本線デコーダ１３および補助デコーダ２０２にそれぞれ供給される。
【０３６４】
マスタポジションは、本線デコーダ１３に対しては、既に説明した目標再生フレームを与える。また、補助デコーダ２０２は、マスタポジションに示されるフレームが含まれるＧＯＰを、当該ＧＯＰ単位でデコードし、デコードされたフレームをフレームバッファ（フレームメモリ２０２Ａ）に溜め込み、マスタポジションで示されるフレームをフレームバッファから出力する。
【０３６５】
なお、上述のように、この例では、本線デコーダ１３における遅延が２フレーム分であるのに対し、補助デコーダ２０２における遅延が６フレームとされている。そのため、本線デコーダ１３に対するマスタポジションは、補助デコーダ２０２に供給されるマスタポジションに対して、４フレーム分の位相差が与えられる。これにより、本線デコーダ１３から出力されるフレームと、補助デコーダ２０２から出力されるフレームとが同期的とされる。
【０３６６】
２−２．再生制御処理について
次に、この発明の実施の一形態による一例の再生制御について、より具体的に説明する。図２４は、この発明の実施の一形態による一例の再生制御を示すフローチャートである。説明のため、当初、再生速度が１倍速以上とされ、シャトル再生が行われているものとする。シャトル再生が行われている間は、ＣＰＵ１４の制御によりスイッチ回路２０１において選択入力端２０１Ｂが選択され、補助デコーダ２０２によりデコードされた補助ビデオデータが出力される。なお、補助ビデオデータのデコードは、ディスク１０からクリップが再生されている間、継続的に行われる。
【０３６７】
すなわち、ＣＰＵ１４は、ジョグダイヤル１６の操作に応じて操作部１５から供給される制御信号などに基づき、目標速度情報を生成し、マスタポジションを出力する。補助デコーダ２０２は、このマスタポジションに応じてフレームメモリ２０２Ａに格納されるフレームを出力する。また、ＣＰＵ１４は、ディスクドライブ１１に対して、マスタポジションに示されるフレームが含まれるＧＯＰをディスク１０から読み出すように要求する。
【０３６８】
ディスクドライブ１１は、当該ＧＯＰがキャッシュメモリ１２に格納されていれば、キャッシュメモリ１２から当該ＧＯＰを読み出して補助デコーダ２０２に供給し、当該ＧＯＰがキャッシュメモリ１２に格納されていなければ、ディスク１０から当該ＧＯＰを読み出しキャッシュメモリ１２に格納すると共に、補助デコーダ２０２に供給する。
【０３６９】
ＣＰＵ１４は、目標速度情報に基づき、シャトル再生による１倍速を超える再生速度から、１倍速以下の再生速度に変化したか否かを判断する（ステップＳ４０）。若し、再生速度が１倍速を超えると判断されれば、処理はステップＳ４１に移行され補助ビデオデータの出力がなされ、処理がステップＳ４０に戻される。
【０３７０】
一方、ステップＳ４０で再生速度が１倍速以下になったと判断されれば、処理はステップＳ４２に移行される。ステップＳ４２では、本線ビデオデータのディスク１０からの読み出しが開始される。すなわち、ＣＰＵ１４は、マスタポジションで示されるフレームを目標再生フレームとして、本線ビデオデータに対する優先順位付きの目標フレームバッファ更新パターンを作成する。ＣＰＵ１４は、作成された優先順位付きの目標フレームバッファ更新パターに示されるピクチャを、ディスク１０から優先順位に従い読み出すように、ディスクドライブ１１に対して要求する。
【０３７１】
ディスクドライブ１１は、ＣＰＵ１４からのこの要求に応じて、キャッシュメモリ１２に当該ピクチャが格納されていれば、キャッシュメモリ１２から当該ピクチャを読み出して本線デコーダ１３に供給し、キャッシュメモリ１２に当該ピクチャが格納されていなければ、ディスク１０から当該ピクチャを読み出してキャッシュメモリ１２に格納すると共に、本線デコーダ１３に供給する。本線デコーダ１３は、供給されたピクチャをデコードし、デコードされたフレームをフレームバッファに所定に格納する（ステップＳ４３）。この時点では、スイッチ回路２０１において選択入力端２０１Ｂが選択が選択され、補助デコーダ２０２によりデコードされた補助ビデオデータによるフレームが出力されている。
【０３７２】
次のステップＳ４４で、ＣＰＵ１４は、本線デコーダ１３においてマスタポジションで示されるフレームがデコードできたか否かを判断する。例えば、ＣＰＵ１４は、本線デコーダ１３のフレームメモリ１７を監視し、格納されるフレームがマスタポジションで示されるフレームかどうかを判断する。これに限らず、ＣＰＵ１４は、本線デコーダ１３と通信を行い、デコードしたフレームの情報を得るようにしてもよい。マスタポジションで示されるフレームが未だデコードされていないと判断されれば、処理はステップＳ４０に戻される。
【０３７３】
一方、ステップＳ４４で、本線デコーダ１３においてマスタポジションで示されるフレームがデコードされたと判断されれば、処理はステップＳ４５に移行し、本線ビデオデータの出力が開始される。すなわち、ステップＳ４５において、ＣＰＵ１４は、スイッチ回路２０１を選択入力端２０１Ａが選択されるように制御し、本線デコーダ１３に対して、当該マスタポジションで示されるフレームを出力するように命令する。以降、目標再生速度が１倍速を超えなければ、本線デコーダ１３によるデコード処理および出力が行われる。
【０３７４】
具体的な例を用いて説明する。一例として、順方向の再生方向に向けてなされたシャトル再生が再生速度を落とし、１倍速再生とされた場合について、図２２および上述した図１２とを参照しながら説明する。
【０３７５】
図２２の時点Ａで再生速度が１倍速になったら、その時点におけるマスタポジションに示されるフレームを目標再生フレームとして、フレーム毎に優先順位が設けられた優先順位付き目標フレームバッファ更新パターンが作成される。ここでは、図１２Ａの第１行目に示されるように、時点Ａでのマスタポジションに示されるフレームがフレーム「Ｉ３」であるものとする。フレーム「Ｉ３」は、それ自身でデコード可能なので、フレーム「Ｉ３」に対応するピクチャが本線デコーダ１３に読み込まれた時点が時点Ｂとされる。
【０３７６】
時点Ａから１倍速の再生速度で順方向に再生が続けられると、マスタポジションがフレームタイミング毎に更新され、マスタポジションに示されるフレームに応じた目標再生フレームが、１フレームずつ進む。本線デコーダ１３は、優先順位付き目標フレームバッファ更新パターンに示される優先順位に基づきデコードを行い、デコードされたフレームを、順次、フレームバッファに格納する。
【０３７７】
図１２の例では、第４行目の、目標再生フレームがフレーム「Ｐ６」になった時点で、図１２Ｂに示されるように、当該目標再生フレーム「Ｐ６」のデコードが完了しフレームバッファに格納され、出力可能な状態とされる。また、この時点で、次に出力すべきフレーム「Ｂ７」もデコードが完了し、フレームバッファに格納されている。そのため、この第４行目、すなわち、図２２の時点Ｂから４フレームタイミング後が時点Ｃとされ、出力が補助デコーダ２０２から本線デコーダ１３に切り換えられ、本線ビデオデータが出力される。
【０３７８】
なお、出力を補助ビデオデータから本線ビデオデータへと切り換えるタイミングは、この例に限定されない。例えば、図１２の例では、マスタポジションで示されるフレーム、すなわち目標再生フレームが、第１行目のフレーム「Ｉ３」の時点で、フレーム「Ｉ３」自体が出力可能である。したがって、フレーム「Ｉ３」が出力可能となった時点で出力を補助ビデオデータから本線ビデオデータへと切り換えるようにしてもよい。この場合、以降のデコードが優先順位付き目標フレームバッファ更新パターンに従いなされるため、出力されるフレームが「Ｉ３、Ｉ３、Ｉ３、Ｐ６、Ｂ７、Ｂ８、Ｐ９、Ｂ１０、Ｂ１１、Ｐ１２、Ｂ１３、Ｂ１４、Ｐ１５、Ｂ１+1、Ｂ２+1」となり、再生の時間軸に沿っている。そのため、表示画面においても、違和感の少ない表示がなされる。この場合には、再生速度が１倍速になった時点Ａから本線ビデオデータが出力されるまでの遅延が少ない利点がある。
【０３７９】
また、別の例として、バッファメモリに格納されるフレームが目標フレームバッファ更新パターンと一致したタイミングで、出力を補助ビデオデータから本線ビデオデータへと切り換えるようにしてもよい。図１２の例では、マスタポジションで示されるフレーム、すなわち目標再生フレームが第１５行目のフレーム「Ｂ２（１）」の時点で、出力を補助ビデオデータから本線ビデオデータへと切り換えるようにしてもよい。この場合には、再生速度が１倍速になった時点Ａから本線ビデオデータが出力されるまで、１５フレームタイミングの遅延が生ずる一方、本線ビデオデータが出力された時点Ｃで、順方向および逆方向に１倍速以内の可変速再生が可能となる。
【０３８０】
さらに、上述では、優先順位付き目標フレームバッファ更新パターンを作成する際の目標再生フレームを、マスタポジションで示されるフレームとしたが、これはこの例に限定されない。例えば、目標再生フレームを、マスタポジションで示されるフレームの１フレーム先、２フレーム先など、補助ビデオデータから本線ビデオデータへの出力の切り換えがなされた際に表示に違和感が生じない程度、先のフレームとすることも考えられる。
【０３８１】
上述では、この発明が記録媒体として光ディスクを用い、年輪構造でクリップが記録されている場合に適用されるように説明したが、これはこの例に限定されない。例えば、記録媒体上の記録フォーマットは、年輪構造に限られず、他のフォーマットであってもよい。また、記録媒体は、光ディスクに限られず、ハードディスクドライブや、半導体メモリであってもよい。さらに、この発明が記録媒体から再生されたデータに対して適用されるように説明したが、これはこの例に限定されず、安定的にストリームが供給可能な状況であれば、外部から供給されたストリームデータをデコードするようなデコーダ装置にもこの発明を適用することができる。
【０３８２】
また、上述では、再生装置２００が光ディスク１０に記録されたビデオデータを再生する専用的なハードウェアであるように説明したが、これはこの例に限らず、例えばパーソナルコンピュータといった汎用的なコンピュータ装置（図示しない）を、再生装置２００として用いることもできる。この場合、コンピュータ装置に搭載されるプログラムによって、再生装置２００の機能を実現させることができる。またこの場合、ビデオデータのデコード処理は、ソフトウェア処理によりＣＰＵで行ってもよいし、専用的なハードウェアをコンピュータ装置に搭載することもできる。
【図面の簡単な説明】
【０３８３】
【図１】この発明に適用されるシステムによる再生制御処理を概念的に示す略線図である。
【図２】この発明のシステムに適用可能な再生装置の一例の構成を概略的に示すブロック図である。
【図３】デコーダの一例の構成を概略的に示すブロック図である。
【図４】デコーダの一例の構成をより具体的に示すブロック図である。
【図５】ディスク状記録媒体における一例のデータ配置を示す略線図である。
【図６】クリップについて説明するための略線図である。
【図７】光ディスクに対して年輪データが形成された一例の様子を示す略線図である。
【図８】ＭＰＥＧ２のロングＧＯＰにおける一例のデータ構造を示す略線図である。
【図９】ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す略線図である。
【図１０】カレントフレームに対して表示順で１フレーム後または１フレーム前のフレームをデコードする場合の必要バッファ量の例を示す略線図である。
【図１１】（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合における目標フレームバッファの一例の更新パターンを示す略線図である。
【図１２】（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合において、再生方向が順方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。
【図１３】優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。
【図１４】優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。
【図１５】優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。
【図１６】優先順位付き目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。
【図１７】（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合において、再生方向が逆方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。
【図１８】（Ｎ＝５）、「ＩＰＰＰＰ」のフレーム構成であるロングＧＯＰの場合における目標フレームバッファの一例の更新パターンを示す略線図である。
【図１９】（Ｎ＝５）、「ＩＰＰＰＰ」のフレーム構成であるロングＧＯＰの場合において、再生方向が順方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。
【図２０】（Ｎ＝５）、「ＩＰＰＰＰ」のフレーム構成であるロングＧＯＰの場合において、再生方向が逆方向の場合についてデコード優先順位を付与した、バッファメモリの優先順位付き更新パターンの一例を示す略線図である。
【図２１】この発明のシステムに適用可能な同期制御を概略的に示す略線図である。
【図２２】この発明の実施の一形態による再生制御を概略的に示す略線図である。
【図２３】この発明の実施の一形態に適用可能な再生装置の一例の構成を概略的に示す。
【図２４】この発明の実施の一形態による一例の再生制御を示すフローチャートである。
【図２５】ロングＧＯＰの場合のデコード処理について説明するための略線図である。
【符号の説明】
【０３８４】
１，２００  再生装置
１０  光ディスク
１１  ディスクドライブ
１２  キャッシュメモリ
１３  デコーダ
１３Ａ  フレームメモリ（フレームバッファ）
１４  ＣＰＵ
２２  ＭＰＥＧデコーダ
２３  出力データ制御部
３３  予測復元部
３５  ＲＯＭ
３６  ＲＡＭ
２０１  スイッチ回路
２０２  補助デコーダ
【図１】
0004631747.tif 000002
【図２】
0004631747.tif 000003
【図３】
0004631747.tif 000004
【図４】
0004631747.tif 000005
【図５】
0004631747.tif 000006
【図６】
0004631747.tif 000007
【図７】
0004631747.tif 000008
【図８】
0004631747.tif 000009
【図９】
0004631747.tif 000010
【図１０】
0004631747.tif 000011
【図１１】
0004631747.tif 000012
【図１２】
0004631747.tif 000013
【図１３】
0004631747.tif 000014
【図１４】
0004631747.tif 000015
【図１５】
0004631747.tif 000016
【図１６】
0004631747.tif 000017
【図１７】
0004631747.tif 000018
【図１８】
0004631747.tif 000019
【図１９】
0004631747.tif 000020
【図２０】
0004631747.tif 000021
【図２１】
0004631747.tif 000022
【図２２】
0004631747.tif 000023
【図２３】
0004631747.tif 000024
【図２４】
0004631747.tif 000025
【図２５】
0004631747.tif 000026