(57)【要約】【課題】ロングＧＯＰで圧縮符号化されたビデオ信号に対し、クリップを跨ぐ再生を行う場合に出力が停止しないようにする。【解決手段】第１のデコーダでデコードする現在再生中のクリップの中央位置を取得し、再生位置と中央位置との位置関係を判断する。再生位置が中央位置より前であれば、現在再生中のクリップの前のクリップを目標再生クリップとし、最後尾のフレームを第２のデコーダで予めデコードする。再生位置が中央位置より後であれば、現在再生中のクリップの後のクリップを目標再生クリップとし、先頭のフレームを第２のデコーダで予めデコードする。再生位置がクリップを跨いだら、第１および第２のデコーダ出力を切り換え、第２のデコーダで現在再生中のクリップをデコードし、第１のデコーダで目標再生クリップのデコードを予め行う。予めデコードするクリップを適切に設定でき、クリップを跨ぐ再生を行っても出力が停止しない。【選択図】図１９
2007235547.tif 000002
【特許請求の範囲】
【請求項１】
ランダムアクセス可能な記録媒体に記録された、予測符号化によるフレーム間圧縮を用いて圧縮符号化され、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生する再生部と、
それぞれ上記再生部で再生された上記ビデオデータをデコードするようにされ、一方は、現在出力中の第１のクリップをデコードし、他方は、該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを予めデコードして保持する、第１のデコード部および第２のデコード部と、
上記第１のクリップの再生時間長で略中央位置に対して該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、上記第２のクリップとするように制御する制御部と
を有する
ことを特徴とする再生装置。
【請求項２】
請求項１に記載の再生装置において、
上記第１のクリップおよび上記第２のクリップは、上記記録媒体上の並び順に基づき上記再生順が定義される
ことを特徴とする再生装置。
【請求項３】
請求項２に記載の再生装置において、
上記第１のデコード部および上記第２のデコード部のうち上記他方は、上記第２のクリップの、上記第１のクリップ側の再生順で端となるフレームを少なくとも予めデコードして保持する
ことを特徴とする再生装置。
【請求項４】
請求項１に記載の再生装置において、
上記第１のクリップおよび上記第２のクリップは、プレイリストに基づき上記再生順が定義される
ことを特徴とする再生装置。
【請求項５】
請求項４に記載の再生装置において、
上記第１のデコード部および上記第２のデコード部のうち上記他方は、
上記第１のデコード部および上記第２のデコード部のうち上記一方が、上記第１のクリップに上記プレイリストでＩＮ点およびＯＵＴ点により定義された再生時間長で上記略中央位置に対して、該第１のクリップに上記プレイリストで定義されたＩＮ点側をデコードしていれば、上記第２のクリップのＯＵＴ点に対応するフレームを少なくとも予めデコードして保持し、
上記第１のデコード部および上記第２のデコード部のうち上記一方が、上記第１のクリップに上記プレイリストでＩＮ点およびＯＵＴ点により定義された再生時間長で上記略中央位置に対して、該第１のクリップに上記プレイリストで定義されたＯＵＴ点側をデコードしていれば、上記第２のクリップのＩＮ点に対応するフレームを少なくとも予めデコードして保持する
ことを特徴とする再生装置。
【請求項６】
請求項１に記載の再生装置において、
上記第１のデコード部および上記第２のデコード部は、
それぞれ、上記再生部で再生された上記ビデオデータを、１フレーム時間に１フレームを出力するようにデコードし、デコードされたフレームを、複数フレーム分のビデオデータを一時的に格納可能なフレームバッファに格納するようにされ、
出力が指示される目標再生フレームに対する上記フレームバッファの目標パターンを作成し、現在の上記フレームバッファの状態と上記目標パターンとを比較し、比較結果に基づき、新たにデコードが必要なフレームを抽出すると共に上記現在のフレームバッファの状態で不要になるフレームを抽出するようにされ、
上記第１のデコード部および上記第２のデコード部のうち上記他方は、上記目標再生フレームとして上記第２のクリップの上記最初に出力されるフレームを予めデコードして保持する
ことを特徴とする再生装置。
【請求項７】
請求項６に記載の再生装置において、
上記目標パターンは、
少なくとも、上記目標再生フレームと、該目標再生フレームに再生方向に向けて時間的に隣接するフレームと、該目標再生フレームから該隣接するフレームの方向について少なくとも１フレーム分の再生をさらに継続するために必要なフレームからなる
ことを特徴とする再生装置。
【請求項８】
請求項１に記載の再生装置において、
上記第１のデコード部および上記第２のデコード部は、クリップ間で再生位置が移動すると、上記一方による処理および上記他方による処理を互いに切り換える
ことを特徴とする再生装置。
【請求項９】
ランダムアクセス可能な記録媒体に記録された、予測符号化によるフレーム間圧縮を用いて圧縮符号化され、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生する再生のステップと、
それぞれ上記再生のステップにより再生された上記ビデオデータをデコードするようにされ、一方は、現在出力中の第１のクリップをデコードし、他方は、該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを予めデコードして保持する、第１のデコードのステップおよび第２のデコードのステップと、
上記第１のクリップの時間長で略中央位置に対して該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、上記第２のクリップとするように制御する制御のステップと
を有する
ことを特徴とする再生方法。
【請求項１０】
ランダムアクセス可能な記録媒体に記録された、予測符号化によるフレーム間圧縮を用いて圧縮符号化され、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生する再生のステップと、
それぞれ上記再生のステップにより再生された上記ビデオデータをデコードするようにされ、一方は、現在出力中の第１のクリップをデコードし、他方は、該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを予めデコードして保持する、第１のデコードのステップおよび第２のデコードのステップと、
上記第１のクリップの時間長で略中央位置に対して該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、上記第２のクリップとするように制御する制御のステップと
を有する再生方法をコンピュータ装置に実行させる
ことを特徴とする再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオ信号の再生時において、クリップ間の再生を連続的に行うようにした再生装置、再生方法および再生プログラムに関する。
【背景技術】
【０００２】
ディジタルビデオ信号およびディジタルオーディオ信号を記録媒体に記録し、また、記録媒体から再生するようなデータ記録再生装置が知られている。ディジタルビデオ信号およびディジタルオーディオ信号を記録するための記録媒体としては、従来から、磁気テープのようなシリアルアクセスを行う記録媒体が多く用いられてきたが、近年では、光ディスク、ハードディスク、半導体メモリなどといった、ランダムアクセス可能な記録媒体が、ディジタルビデオ信号およびディジタルオーディオ信号の記録再生に多く用いられるようになってきている。
【０００３】
ディジタルビデオ信号は、データ容量が膨大となるため、所定の方式で圧縮符号化されて記録媒体に記録されるのが一般的である。近年では、ＭＰＥＧ２(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ピクチャであった場合、Ｐ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)の位置が分からず、デコーダに入力されるストリームの先頭にシーケンスヘッダが無いという状態になるおそれがある。このＧＯＰ先頭のピクチャであるか否かを示すフラグをピクチャ毎に持たせることで、このような状態を回避できる。再生時には、このフラグにもとづきでコーダにストリームを入力させる。
【００８１】
次の２３ビットは、図８Ｅに示される、ピクチャのサイズ情報が格納される。サイズ情報として２３ビットを確保することで、８ＭＢ（メガバイト）までのデータサイズに対応でき、ＭＰＥＧプロファイルの４２２＠ＨＬにも対応可能となる。
【００８２】
次の２ビットでピクチャのタイプが示される。Ｂピクチャについては、参照方向の情報も示される。ピクチャのタイプは、より具体的には、例えば次のように記述される。
００：Ｉピクチャ
１０：Ｐピクチャ
０１：前方（未来）のフレームが参照されて復元されるＢピクチャ。これは、例えばオープンＧＯＰの場合の、ロングＧＯＰビデオファイル先頭のＢピクチャ、または、クローズドＧＯＰの場合の各ＧＯＰの先頭のＢピクチャである。
１１：前方および後方のフレームが参照されて復元されるＢピクチャ。
【００８３】
次の３８ビットは、当該ピクチャのロングＧＯＰビデオファイル内におけるファイルアドレスが示される。ファイルアドレスに３８ビットを割り当てることで、サイズが２５６ＧＢ（ギガバイト）までのロングＧＯＰビデオファイルに対応可能である。例えば、１層で２７ＧＢの記録容量を有する記録層が８層まで形成された光ディスク１０に対応可能である。
【００８４】
このピクチャポインタテーブルは、ピクチャポインタファイルとして、非時系列メタデータと共に例えば記録媒体のＮＲＴ領域に記録される。光ディスク１０がディスクドライブ１１に装填された際に、このＮＲＴ領域に記録された非時系列メタデータとピクチャポインタファイルがディスクドライブ１１により読み出され、光ディスク１０が再生装置１のシステムに対してマウントされる。読み出された非時系列メタデータやピクチャポインタファイルは、例えばＣＰＵ１４が有するＲＡＭに保持される。ＣＰＵ１４は、ＲＡＭに保持されるピクチャポインタテーブルを参照することで、光ディスク１０に記録されるクリップ中の任意のピクチャにアクセスすることができる。
【００８５】
１−５．再生制御処理のより詳細な説明
次に、この発明に適用されるシステムにおける再生制御処理について、より詳細に説明する。
【００８６】
１−５−１．目標フレームバッファパターンの作成
先ず、図１のステップＳ２で説明した、目標フレームバッファパターンの作成について説明する。最初に、任意の目標再生フレームと、当該目標再生フレームに対して表示順で隣接する前後のフレームとを再生するために必要なフレームバッファサイズを求める。
【００８７】
図１０は、カレントフレーム（例えば目標再生フレーム）に対して表示順で１フレーム後または１フレーム前のフレームをデコードする場合の必要バッファ量の例を示す。図１０において、出力フレーム（カレントフレーム）を「０」で示し、現在より表示順で順方向すなわち未来（後）になるフレームは「＋」を、表示順で逆方向すなわち過去（前）になるフレームは「−」を、それぞれ付して示す。また、図中、「Ｍ」は、間にＢピクチャがある場合の、基準ピクチャから次の基準ピクチャまでのピクチャの移動数、「Ｎ」は、１ＧＯＰ内のピクチャ数を示す。例えば、ＧＯＰが「Ｉ2Ｂ0Ｂ1Ｐ5Ｂ3Ｂ4Ｐ8Ｂ6Ｂ7Ｐ11Ｂ9Ｂ10Ｐ14Ｂ12Ｂ13」の１５枚のピクチャで構成される場合、Ｍ＝３、Ｎ＝１５である。
【００８８】
図１０Ａは、順方向に１フレームだけ再生を進める場合の例を示す。この場合、Ｍ＝３のときに、目標再生フレームが隣り合ったＢピクチャの表示順で前方のＢピクチャの場合に、最もバッファが必要となる。この場合には、次のフレームタイミングで当該目標再生フレームから次のＢピクチャに移動することになる。
【００８９】
すなわち、この場合には、Ｂ4ピクチャおよびＢ5ピクチャは、それぞれＩ3ピクチャおよびＰ6ピクチャを用いてデコードされる。Ｂ5ピクチャのデコードが終了するまで、Ｉ3ピクチャはバッファから破棄できず、且つ、Ｐ6ピクチャはＢ5ピクチャの次に表示されるため、バッファ内に保持される。したがって、Ｍ＋１＝４ピクチャ分のバッファが必要となる。
【００９０】
図１０Ｂは、逆方向に１フレームだけ再生を進める（戻す）場合の例を示す。一般的なＭ＝３およびＮ＝１５のオープンＧＯＰであれば、目標再生フレームがＩ3’ピクチャである場合に、最もバッファが必要となる。この場合には、次のフレームタイミングで当該目標再生フレームから表示順で後方のＢ2’ピクチャに移動することになる。
【００９１】
すなわち、この場合には、Ｂ2’ピクチャをデコードするために、Ｉ3’ピクチャと、Ｂ2’ピクチャの表示順で前のＰ15ピクチャとが必要となり、このＰ15ピクチャをデコードするために、当該Ｐ15ピクチャの属するＧＯＰにおけるＩ3ピクチャ、Ｐ6ピクチャ、Ｐ9ピクチャ、Ｐ12ピクチャが順次、必要となる。したがって、Ｎ／Ｍ＋２＝７ピクチャ分のバッファが必要となる。ここで、Ｎ／Ｍは、ＧＯＰに含まれるＩピクチャおよびＰピクチャの枚数に相当する。
【００９２】
図１０Ｃは、順方向および逆方向の何れかの方向に対する１フレームの移行を考慮した場合の例である。一般的なＭ＝３およびＮ＝１５のオープンＧＯＰであれば、目標再生フレームがＩ3’ピクチャである場合に最もバッファが必要となる。この場合には、次のフレームタイミングで、当該Ｉ3’ピクチャの表示順で次のＢ4’ピクチャまたは表示順で前のＢ2’ピクチャに移動することになる。
【００９３】
すなわち、この場合は、上述の図１０Ａの例と図１０Ｂの例とを組み合わせた状態となり、目標再生フレームであるＩ3’ピクチャの表示順で次のＢ4’ピクチャをデコードするために、当該Ｉ3’ピクチャと、当該Ｉ3’ピクチャの次に現れる基準ピクチャであるＰ6’ピクチャとが必要となる。また、当該Ｉ3’ピクチャの表示順で前のＢ2’ピクチャをデコードするために、当該Ｉ3’ピクチャと、当該Ｉ3’ピクチャの属するＧＯＰの前のＧＯＰにおけるＩ3ピクチャ、Ｐ6ピクチャ、Ｐ9ピクチャ、Ｐ12ピクチャおよびＰ15ピクチャとが順次、必要となる。したがって、Ｎ／Ｍ＋Ｍ＋１＝９ピクチャ分のバッファが必要となる。
【００９４】
このように、目標再生フレームから表示順で隣接する前後のフレームに移動する場合には、９ピクチャ分のバッファが必要となる。
【００９５】
１−５−２．目標フレームバッファの一例の更新パターン
この発明に適用されるシステムでは、フレームバッファにおいて、目標再生フレームに対して表示順で隣接する前後のピクチャが常に固定遅延で表示可能となるような、バッファの更新パターンを作成する。すなわち、デコードされバッファ上に存在する目標再生フレームに対して表示順で前後に隣接するフレームが常にデコードされバッファ上に存在する状態とする。さらに、逆方向再生を継続するために必要なフレームと、順方向再生を継続するために必要なフレームとを、常に、全てデコードし、バッファ上に溜め込んでおく。このようなバッファ上のパターンを、目標再生フレームを１フレーム毎に移動させた全パターンについて作成する。
【００９６】
この状態において、目標再生フレームが１フレーム分移動し、更新された場合、新たにデコードが必要となるデータは、再生方向が順方向および逆方向によらず常に１フレーム分となる。したがって、再生方向が順方向および逆方向の何れの場合の１倍速以内の再生速度での変速再生が、１倍速デコーダを用いて実現可能となる。
【００９７】
さらに、この状態において、逆方向の１倍速再生から、順方向の１倍速再生のコマンド速度の間では、固定遅延で再生出力結果を得ることができる。
【００９８】
図１１は、上述の考えに基づき作成した目標フレームバッファの一例の更新パターンを示す。この図１１の例は、（Ｎ＝１５、Ｍ＝３）であるロングＧＯＰの場合に関する。１ＧＯＰが１５ピクチャ（フレーム）で構成されるため、１５のパターンからなる。図１１中の各行に示されるように、目標再生フレームに対応したフレームがフレームバッファに格納された状態で、目標再生フレームを任意の方向に１フレームずつ移動させた場合に、更新されるフレームがそれぞれ１フレーム分で済み、順方向および逆方向の１倍速以内の可変速再生を、１倍速デコーダを用いて行うことができるようにしている。
【００９９】
なお、図１１中のＩ、ＰおよびＢは、それぞれＩピクチャ、ＰピクチャおよびＢピクチャに基づくフレームであって、付加される数字は、ＧＯＰ内の表示順を示す。基準となるＧＯＰ（カレントＧＯＰ）に属するピクチャによるフレームは、記号を付加しない。カレントＧＯＰの１つ前のＧＯＰ（ＧＯＰ（−）と呼ぶ）に属するピクチャによるフレームに対して、マイナス記号（−）を付加する。カレントＧＯＰの１つ後のＧＯＰ（ＧＯＰ（＋）と呼ぶ）に属するピクチャによるフレームに対して、プラス記号（＋）を付加する。
【０１００】
この図１１の更新パターンは、図の上側から下側に向けた方向が順方向の再生を示し、下側から上側に向けた方向が逆方向の再生を示す。すなわち、図１１の上側から下側に１行分進むことで、目標再生フレームが１フレーム進み、下側から上側に１行分進むことで、目標再生フレームが１フレーム戻る。また、この図１１の更新パターンは、循環的とされ、第１行目から目標再生フレームが１フレーム分戻ったときには、第１５行目のフレームバッファの格納パターンに移行される。
【０１０１】
図１１のフレームバッファの更新パターンにおいて、第１行目は、目標再生フレームがフレーム「Ｉ３」の場合のパターンの例である。目標再生フレーム「Ｉ３」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ４」およびフレーム「Ｐ６」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ２」、フレーム「Ｐ１５−」、フレーム「Ｐ１２−」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０２】
第２行目は、目標再生フレームがフレーム「Ｂ４」の場合のパターンの例である。目標再生フレーム「Ｂ４」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ５」およびフレーム「Ｐ６」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｉ３」、フレーム「Ｐ１５−」、フレーム「Ｐ１２−」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０３】
第３行目は、目標再生フレームがフレーム「Ｂ５」の場合のパターンの例である。目標再生フレーム「Ｂ５」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｐ６」およびフレーム「Ｐ９」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ４」、フレーム「Ｉ３」、フレーム「Ｐ１２−」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０４】
第４行目は、目標再生フレームがフレーム「Ｐ６」の場合のパターンの例である。目標再生フレーム「Ｐ６」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ７」およびフレーム「Ｐ９」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ５」、フレーム「Ｉ３」、フレーム「Ｐ１２−」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０５】
第５行目は、目標再生フレームがフレーム「Ｂ７」の場合のパターンの例である。目標再生フレーム「Ｂ７」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ８」およびフレーム「Ｐ９」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ１２−」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０６】
第６行目は、目標再生フレームがフレーム「Ｂ８」の場合のパターンの例である。目標再生フレーム「Ｂ８」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｐ９」およびフレーム「Ｐ１２」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ７」、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０７】
第７行目は、目標再生フレームがフレーム「Ｐ９」の場合のパターンの例である。目標再生フレーム「Ｐ９」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ１０」およびフレーム「Ｐ１２」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０８】
第８行目は、目標再生フレームがフレーム「Ｂ１０」の場合のパターンの例である。目標再生フレーム「Ｂ１０」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ１１」およびフレーム「Ｐ１２」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ９−」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１０９】
第９行目は、目標再生フレームがフレーム「Ｂ１１」の場合のパターンの例である。目標再生フレーム「Ｂ１１」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｐ１２」およびフレーム「Ｐ１５」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ１０」、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１１０】
第１０行目は、目標再生フレームがフレーム「Ｐ１２」の場合のパターンの例である。目標再生フレーム「Ｐ１２」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ１３」およびフレーム「Ｐ１５」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ１１」、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１１１】
第１１行目は、目標再生フレームがフレーム「Ｂ１３」の場合のパターンの例である。目標再生フレーム「Ｂ１３」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ１４」およびフレーム「Ｐ１５」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｐ１２」、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」、フレーム「Ｐ６−」およびフレーム「Ｉ３−」である。
【０１１２】
第１２行目は、目標再生フレームがフレーム「Ｂ１４」の場合のパターンの例である。目標再生フレーム「Ｂ１４」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｐ１５」およびフレーム「Ｉ３＋」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ１３」、フレーム「Ｐ１２」、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」およびフレーム「Ｉ３−」である。
【０１１３】
第１３行目は、目標再生フレームがフレーム「Ｐ１５」の場合のパターンの例である。目標再生フレーム「Ｐ１５」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ１＋」およびフレーム「Ｉ３＋」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ１４」、フレーム「Ｐ１２」、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」およびフレーム「Ｉ３−」である。
【０１１４】
第１４行目は、目標再生フレームがフレーム「Ｂ１＋」の場合のパターンの例である。目標再生フレーム「Ｂ１＋」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｂ２＋」およびフレーム「Ｉ３＋」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｐ１５」、フレーム「Ｐ１２」、フレーム「Ｐ９」、フレーム「Ｐ６」、フレーム「Ｉ３」およびフレーム「Ｉ３−」である。
【０１１５】
第１５行目は、目標再生フレームがフレーム「Ｂ２＋」の場合のパターンの例である。目標再生フレーム「Ｂ２＋」から順方向に１フレーム進むために必要とされるフレームは、フレーム「Ｉ３＋」およびフレーム「Ｐ６＋」である。また、目標再生フレームから逆方向に１フレーム戻るために必要とされるフレームは、フレーム「Ｂ１＋」フレーム「Ｐ１５」、フレーム「Ｐ１２」、フレーム「Ｐ９」、フレーム「Ｐ６」およびフレーム「Ｉ３」である。
【０１１６】
このように、図１１に一例を示すフレームバッファの更新パターンでは、各フレーム毎の更新パターン間で、１フレーム分のみが更新されるようになっている。幾つかの例を挙げて、より具体的に説明する。
【０１１７】
第１の例として、目標再生フレームがＰピクチャによるフレーム「Ｐ６」の場合について説明する。この場合、順方向および逆方向について１倍速以内の再生速度範囲においては、当該目標再生フレームの１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「Ｐ６」と、当該フレーム「Ｐ６」に対して表示順で前後に隣接するフレーム「Ｂ５」およびフレーム「Ｂ７」とである。
【０１１８】
目標再生フレームがフレーム「Ｐ６」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたフレームがフレームバッファに格納された状態では（図１１の第４行目のパターン参照）、目標再生フレーム「Ｐ６」と、その前後のフレーム「Ｂ５」およびフレーム「Ｂ７」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
【０１１９】
この状態から目標再生フレームがフレーム「Ｂ５」またはフレーム「Ｂ７」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
【０１２０】
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図１１の例では、第４行目に示されるように、目標再生フレームがフレーム「Ｐ６」のときは、フレームバッファに、当該フレーム「Ｐ６」と、当該フレーム「Ｐ６」と同じＧＯＰに属するフレーム「Ｉ３」、フレーム「Ｐ９」、フレーム「Ｂ５」およびフレーム「Ｂ７」、ならびに、当該フレーム「Ｐ６」が属するＧＯＰに対して１つ前のＧＯＰに属するフレーム「Ｉ３−」、フレーム「Ｐ６−」、フレーム「Ｐ９−」およびフレーム「Ｐ１２−」が格納される。
【０１２１】
この目標再生フレームがフレーム「Ｐ６」の場合、順方向に１フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「Ｂ７」となる。また、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、フレーム「Ｂ７」と、当該フレーム「Ｂ７」に対して表示順で前後に隣接するフレーム「Ｐ６」およびフレーム「Ｂ８」となる。
【０１２２】
なお、再生速度が順方向および逆方向に１倍速以内の場合、同一のフレームが２フレームタイミングで連続して出力される場合がある。この場合、次のフレームタイミングに移っても、目標再生フレームが変化しない。
【０１２３】
これらのうち、フレーム「Ｐ６」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ８」をデコードするためには、フレーム「Ｐ６」およびフレーム「Ｐ９」が必要となる。フレーム「Ｐ６」およびフレーム「Ｐ９」は、それぞれフレーム「Ｂ７」をデコードするために用いられているので、既にフレームバッファ上に存在している。フレーム「Ｂ８」がこれらフレーム「Ｐ６」および「Ｐ９」を用いてデコードされる。
【０１２４】
一方、目標再生フレームがフレーム「Ｂ７」に移行した場合、目標再生フレームがフレーム「Ｐ６」の状態における逆方向側の表示順で隣接フレームであったフレーム「Ｂ５」は、不要となるため破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ５」の領域に、新たにデコードされたフレーム「Ｂ８」が格納され、フレームバッファが更新される。
【０１２５】
逆方向に１フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「Ｂ５」となり、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性のあるフレームは、フレーム「Ｂ５」と、フレーム「Ｂ４」およびフレーム「Ｐ６」とである。フレーム「Ｐ６」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ４」をデコードするためには、フレーム「Ｉ３」およびフレーム「Ｐ６」が必要となる。フレーム「Ｉ３」を、フレームバッファ上に保持する。フレーム「Ｂ４」がこれらフレーム「Ｉ３」および「Ｐ６」を用いてデコードされる。
【０１２６】
一方、目標再生フレームがフレーム「Ｐ６」からフレーム「Ｂ５」に移行した場合、目標再生フレームが「Ｐ６」の状態における順方向側の隣接フレームであったフレーム「Ｂ７」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ７」の領域に、新たにデコードされたフレーム「Ｂ４」が格納され、フレームバッファが更新される。
【０１２７】
このように、目標再生フレームがフレーム「Ｐ６」の状態から順方向に１フレーム分進んだ場合、フレームの更新は、フレーム「Ｂ５」からフレーム「Ｂ８」への１フレーム分のみ、行われる。目標再生フレームがフレーム「Ｐ６」の状態から逆方向に１フレーム分戻された場合も、フレームの更新は、フレーム「Ｂ７」からフレーム「Ｂ４」への１フレーム分のみ、行われる。
【０１２８】
第２の例として、目標再生フレームがＢピクチャによるフレーム「Ｂ７」の場合について説明する。この場合、順方向および逆方向について１倍速以内の再生速度範囲においては、当該目標再生フレームの１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「Ｂ７」と、当該フレーム「Ｂ７」に対して表示順で前後に隣接するフレーム「Ｐ６」および「Ｂ８」とである。
【０１２９】
目標再生フレームがフレーム「Ｂ７」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたフレームがフレームバッファに格納された状態では（図１１の第５行目のパターン参照）、目標再生フレーム「Ｂ７」と、その前後のフレーム「Ｐ６」およびフレーム「Ｂ８」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
【０１３０】
この状態から目標再生フレームがフレーム「Ｐ６」またはフレーム「Ｂ８」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
【０１３１】
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図１１の例では、第５行目に示されるように、目標再生フレームがフレーム「Ｂ７」のときには、フレームバッファに、当該フレーム「Ｂ７」と、当該フレーム「Ｂ７」と同じＧＯＰに属するフレーム「Ｉ３」、フレーム「Ｐ９」およびフレーム「Ｂ８」、ならびに、当該フレーム「Ｂ７」が属するＧＯＰに対して１つ前のＧＯＰに属するフレーム「Ｉ３−」、フレーム「Ｐ６−」、フレーム「Ｐ９−」およびフレーム「Ｐ１２−」が格納される。
【０１３２】
この目標再生フレームがフレーム「Ｂ７」の場合、順方向に１フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「Ｂ８」になる。また、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、当該フレーム「Ｂ８」と、当該フレーム「Ｂ８」に対して表示順で前後に隣接するフレーム「Ｂ７」およびフレーム「Ｐ９」とである。
【０１３３】
これらのうち、フレーム「Ｂ７」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ８」をデコードするためには、フレーム「Ｐ６」およびフレーム「Ｐ９」が必要となる。フレーム「Ｐ６」およびフレーム「Ｐ９」は、それぞれフレーム「Ｂ７」をデコードするために必要なフレームであるので、既にフレームバッファ上に存在している。フレーム「Ｂ８」がこれらフレーム「Ｐ６」および「Ｐ９」を用いてデコードされる。また、フレーム「Ｐ９」も、既にフレームバッファ上に存在している。
【０１３４】
この場合には、目標再生フレームがフレーム「Ｂ７」の状態における逆方向側の表示順で隣接フレームであったフレーム「Ｐ６」は、フレーム「Ｂ８」をデコードするために用いられるため、破棄されない。さらに順方向に１フレーム、再生が進んだ際に用いられるフレーム「Ｐ１２」が、フレーム「Ｐ９」を用いてデコードされる。また、バッファメモリ内に存在する最も前のＧＯＰに属するフレームのうち、バッファメモリ内に存在し最も表示順で新しいフレームであるフレーム「Ｐ１２−」を破棄し、デコードされたフレーム「Ｐ１２」を格納する。
【０１３５】
逆方向に１フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「Ｐ６」となり、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性のあるフレームは、フレーム「Ｐ６」と、フレーム「Ｂ５」およびフレーム「Ｂ７」とである。フレーム「Ｂ７」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ５」をデコードするためには、フレーム「Ｉ３」およびフレーム「Ｐ６」が必要となる。フレーム「Ｉ３」をフレームバッファ上に保持する。フレーム「Ｂ５」がこれらフレーム「Ｉ３」およびフレーム「Ｐ６」を用いてデコードされる。
【０１３６】
一方、目標再生フレームがフレーム「Ｂ７」からフレーム「Ｐ６」に移行した場合、目標再生フレームが「Ｂ７」の状態における順方向側の隣接フレームであったフレーム「Ｂ８」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ８」の領域に、新たにデコードされたフレーム「Ｂ５」が格納され、フレームバッファが更新される。
【０１３７】
このように、目標再生フレームがフレーム「Ｂ７」の状態から順方向に１フレーム進んだ場合、フレームの更新は、フレーム「Ｐ１２−」からフレーム「Ｐ１２」への１フレーム分のみ、行われる。目標再生フレームがフレーム「Ｂ７」の状態から逆方向に１フレーム分戻された場合も、フレームの更新は、フレーム「Ｂ８」からフレーム「Ｂ５」への１フレーム分のみ、行われる。
【０１３８】
第３の例として、目標再生フレームがＩピクチャによるフレーム「Ｉ３」の場合について説明する。この場合、順方向および逆方向について１倍速以内の再生速度範囲においては、当該目標再生フレームの１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、当該フレーム「Ｉ３」と、当該フレーム「Ｉ３」に対して表示順で前後に隣接するフレーム「Ｂ２」およびフレーム「Ｂ４」とである。
【０１３９】
目標再生フレームがフレーム「Ｉ３」の状態において、上述したような、目標再生フレームに基づき作成された目標フレームバッファパターンに従いデコードされたデータがフレームバッファに格納された状態では（図１１の第１行目のパターン参照）、目標再生フレーム「Ｉ３」と、その前後のフレーム「Ｂ２」およびフレーム「Ｂ４」は、それぞれ既にデコードされた状態でフレームバッファに格納されている。
【０１４０】
この状態から目標再生フレームがフレーム「Ｂ２」またはフレーム「Ｂ４」に移行された場合、移行された目標再生フレームに対する新たな目標フレームバッファパターンに基づいて、新たに必要となるフレームをデコードされた状態でフレームバッファに格納していく。
【０１４１】
これらのデータが格納されたフレームバッファの他の領域は、直前のデータが保持される。すなわち、図１１の例では、第１行目に示されるように、目標再生フレームが「Ｉ３」のときには、フレームバッファに、当該フレーム「Ｉ３」と、当該フレーム「Ｉ３」と同じＧＯＰに属する、フレーム「Ｐ６」、フレーム「Ｂ２」およびフレーム「Ｂ４」、ならびに、当該フレーム「Ｉ３」が属するＧＯＰに対して１つ前のＧＯＰに属するフレーム「Ｉ３−」、フレーム「Ｐ６−」、フレーム「Ｐ９」、フレーム「Ｐ１２−」およびフレーム「Ｐ１５」とが格納される。
【０１４２】
目標再生フレームがフレーム「Ｉ３」の場合、順方向に１フレーム分、目標再生フレームが移行すると、新たな目標再生フレームがフレーム「Ｂ４」になる。また、この新たな目標再生フレームに対して１フレームタイミング後にさらに新たな目標再生フレームとなる可能性があるフレームは、当該フレーム「Ｂ４」と、当該フレームに対して表示順で前後に隣接するフレーム「Ｉ３」およびフレーム「Ｂ５」とである。
【０１４３】
これらのうち、フレーム「Ｉ３」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ５」をデコードするためには、フレーム「Ｉ３」およびフレーム「Ｐ６」が必要となる。フレーム「Ｐ６」は、フレーム「Ｂ４」をデコードするために用いられているので、既にフレームバッファ上に存在している。フレーム「Ｂ５」がこれらフレーム「Ｉ３」および「Ｐ６」を用いてデコードされる。
【０１４４】
この場合には、目標再生フレームが「Ｉ３」の状態における逆方向側の目標再生フレームであるフレーム「Ｂ２」は、不要となるため、破棄される。フレームバッファ上の、この破棄されるフレーム「Ｂ２」の領域にデコードされたフレーム「Ｂ５」が格納され、フレームバッファが更新される。
【０１４５】
逆方向に１フレーム分、再生が戻されると、新たな目標再生フレームがフレーム「Ｂ２」となり、この新たな目標再生フレーム対して１フレームタイミング後に新たな目標再生フレームとなる可能性のあるフレームは、フレーム「Ｂ２」と、フレーム「Ｂ１」およびフレーム「Ｉ３」とである。フレーム「Ｉ３」は、現在の目標再生フレームであるため、既にフレームバッファ上に存在している。また、フレーム「Ｂ１」をデコードするためには、フレーム「Ｉ３」と、フレーム「Ｉ３」が属するＧＯＰの１つ前のＧＯＰに属するフレーム「Ｐ１５−」が必要となる。フレーム「Ｂ１」がこれらフレーム「Ｐ１５−」および「Ｉ３」を用いてデコードされる。
【０１４６】
一方、目標再生フレームがフレーム「Ｉ３」からフレーム「Ｂ２」に移行した場合、目標再生フレームがフレーム「Ｉ３」の状態における順方向の隣接フレームであったフレーム「Ｂ４」は、不要となるため、破棄される。フレームバッファ上の、この破棄されたフレーム「Ｂ４」の領域に、新たにデコードされたフレーム「Ｂ１」が格納され、フレームバッファが更新される。
【０１４７】
このように、目標再生フレームがフレーム「Ｉ３」の状態から順方向に１フレーム進んだ場合、フレームの更新は、フレーム「Ｂ２」からフレーム「Ｂ５」への１フレーム分のみ、行われる。目標再生フレームがフレーム「Ｉ３」の状態から逆方向に１フレーム分戻された場合も、フレームの更新は、フレーム「Ｂ４」からフレーム「Ｂ１」への１フレーム分のみ、行われる。
【０１４８】
なお、上述したように、目標再生フレームが他のフレームに移行される際には、バッファメモリに格納された１フレームが破棄され、破棄されたフレーム領域に新たな１フレームがデコードされて格納され、バッファメモリが更新される。このとき、バッファメモリから破棄するフレームを、次のルールに基づき決めることができる。
（１）目標再生フレームおよび表示順で目標再生フレームに隣接するフレーム以外のＢピクチャによるフレームは、破棄する。
（２）上述の（１）のルールに従い破棄するＢピクチャによるフレームが存在しなかった場合、バッファメモリ上に存在する、下記（２ａ）または（２ｂ）の条件を満たすＩまたはＰピクチャによるフレームを破棄する。
（２ａ）順方向への目標再生フレーム移行の場合、目標再生フレームが存在するＧＯＰから逆方向に最も離れたＧＯＰにおいて、そのＧＯＰに属する最後尾のＩまたはＰピクチャ。
（２ｂ）逆方向への目標再生フレーム移行の場合、目標再生フレームが存在するＧＯＰから順方向に最も離れたＧＯＰにおいて、そのＧＯＰに属する最後尾のＩまたはＰピクチャ。
【０１４９】
上述のように、この発明に適用されるシステムによるバッファメモリの更新パターンに従いバッファメモリ上にデータを溜め込んでおけば、現在の目標再生フレームがＩピクチャによるフレーム、ＰピクチャによるフレームおよびＢピクチャによるフレームの何れであっても、任意の方向への１フレーム分の移動に対してバッファメモリ上で行進されるデータが１フレーム分のみで済む。したがって、順方向および逆方向の１倍速以内の可変速再生を、１倍速デコーダを用いて固定遅延で実行することができる。
【０１５０】
なお、上述では、現在の目標再生フレームとして、ＧＯＰを構成するＩピクチャ、ＰピクチャおよびＢピクチャのそれぞれについて一例ずつ例を挙げて説明を行ったが、説明を省略した他のフレームが現在の目標再生フレームの場合でも、同様にして、任意の方向への１フレーム分の移動に対して、バッファメモリ上の１フレーム分のデータのみが更新される。
【０１５１】
１−５−３．目標フレームバッファパターン作成の流れ
次に、上述したような目標フレームバッファのパターンの一例の作成方法について、図１２のフローチャートを用いて説明する。また、以下では、目標とされるフレーム（カレントフレームと呼ぶ）がＢピクチャによるフレームであるものとして説明する。
【０１５２】
先ず、ステップＳ１０で、カレントフレームが属するカレントＧＯＰのＩピクチャ（Ｉ0）を取得する。図１３Ａに一例が示されるように、カレントフレームに対応するピクチャから記録媒体上の順序で逆方向に向けて、Ｉピクチャを検索する。なお、この段階では、目標フレームバッファパターンのフレームは、一つも確定していない（図１４Ａ参照）。
【０１５３】
カレントＧＯＰの先頭Ｉピクチャ（Ｉ0）ピクチャが取得されると、ステップＳ１１で、カレントフレームに対応するピクチャから記録媒体上の順序で順方向に向けて、カレントフレームより２フレーム進んだ位置以降のＩピクチャまたはＰピクチャ（Ｐ0）を検索する（図１３Ｂ参照）。この段階では、目標フレームバッファパターンのフレームは、一つも確定していない（図１４Ｂ参照）。
【０１５４】
ステップＳ１２で、上述したステップＳ１０およびステップＳ１１で取得されたピクチャ（Ｉ0）からピクチャ（Ｐ0）までのＩおよび／またはＰピクチャを記録媒体から検索する。例えば、図１３Ｃに一例が示されるように、ステップＳ１０で検索されたピクチャ（Ｉ0）を目標フレームバッファパターンに用いるフレームとして確定する。さらに、ピクチャ（Ｉ0）から記録媒体上の順序で順方向に向けて、次のＰピクチャ（Ｐ）が検索される。検索されたＰピクチャを、目標フレームバッファパターンに用いるフレームとして確定する。このように、記録媒体から順次、検索されたＰまたはＩピクチャに基づき、目標フレームバッファパターンに用いる、カレントＧＯＰのフレームが順次、確定される（図１４Ｃ参照）。
【０１５５】
ステップＳ１２で、カレントＧＯＰのＩおよびＰピクチャによるフレームが目標フレームバッファパターンに用いるフレームとして確定されると、ステップＳ１３で、記録媒体上の順序で、カレントフレームの１つ前のフレームからカレントフレームの１つ後のフレームまでの間に存在するＢピクチャが検索される（図１３Ｄ参照）。検索されたＢピクチャによるフレームは、目標フレームバッファパターンに用いられる、カレントＧＯＰのフレームとして確定される（図１４Ｄ参照）。
【０１５６】
すなわち、上述したステップＳ１１およびステップＳ１２で、カレントフレームの１つ前のフレームからカレントフレームの１つ後のフレームまでの間に存在するＢピクチャをデコードするために用いられるＩおよび／またはＰピクチャによるフレームが、目標フレームバッファパターンに用いられるフレームとして確定されている。ステップＳ１３では、これら確定された、Ｉおよび／またはＰピクチャによるフレームを用いてデコードされるＢピクチャによるフレームが、目標フレームバッファパターンに用いるフレームとして確定される。
【０１５７】
ステップＳ１３までの処理で、カレントＧＯＰの、目標フレームバッファパターンに用いるフレームが全て確定されると、ステップＳ１４で、カレントＧＯＰの１つ前のＧＯＰ内の先頭Ｉピクチャ（Ｉ-1）が検索される（図１３Ｅ参照）。例えば、カレントＧＯＰの先頭のＩピクチャ（Ｉ0）を起点として、記録媒体上の順序で逆方向に向けてＩピクチャが検索され、検索されたＩピクチャ（Ｉ-1）に基づき、記録媒体上の順序で順方向に、Ｐピクチャが検索される（図１３Ｆ参照）。そして、検索されたカレントＧＯＰの１つ前のＧＯＰのＩおよび／またはＰピクチャによるフレームが、目標フレームバッファパターンに用いるフレームとして確定される（図１４Ｆ参照）。
【０１５８】
上述のステップＳ１４からステップＳ１５までの処理は、バッファメモリが埋められるまで繰り返される（ステップＳ１６）。
【０１５９】
なお、記録媒体上に記録されたピクチャの位置やタイプ（Ｉピクチャ、ＰピクチャおよびＢピクチャ）は、図９を用いて説明したピクチャポインタファイルを参照することで知ることができる。例えばシステムやより上位のシステムから、あるフレームの再生が指示されると、ＣＰＵ１４は、再生を指示されたフレームを目標再生フレームとし、当該目標再生フレームが属するＧＯＰをカレントＧＯＰとしてピクチャポインタファイルを検索し、カレントＧＯＰのＩピクチャの位置を取得する。ピクチャポインタファイルには、上述のように、ピクチャタイプ、そのピクチャがＧＯＰの先頭のピクチャであるか否かを示すフラグ、ピクチャのサイズ情報、先頭アドレスが記述されているので、これらの情報に基づき記録媒体上の所望のピクチャを検索することが可能となっている。
【０１６０】
目標再生フレームに基づき目標フレームバッファパターンが確定し、確定された目標フレームバッファパターンに従いフレームバッファがデコードされたフレームで埋められると、図１１を用いて説明したような動作により、再生指示に対して所定の固定遅延で、順方向および逆方向の１倍速以内の再生が行われる。
【０１６１】
なお、ここでは、目標再生フレームがＢピクチャであるものとして説明したが、上述の図１２のフローチャートで説明した処理は、カレントフレームがＩピクチャおよびＰピクチャの場合にも同様にして適用できる。
【０１６２】
また、システムやより上位のシステムから再生を指示されたフレームを目標再生フレームとして、上述の図１２のフローチャートに従い、当該目標再生フレームに対応した目標フレームバッファパターンを作成する。この処理を、例えば目標再生フレームが指示される毎に行う。最初の目標再生フレームの指示に基づき、ＧＯＰ内の全てのフレームについて作成してもよい。作成された目標フレームバッファパターンは、例えばＲＡＭ３６に記憶される。
【０１６３】
これに限らず、再生するクリップのＧＯＰの構成が予め分かっていれば、上述の図１２のフローチャートに示される処理を、ＧＯＰを構成する各ピクチャに対して行って、上述した図１１のようなフレームバッファの更新パターンを予め作成しておくことも可能である。また、再生装置１において適用可能なＧＯＰの構成が決められていれば、予め更新パターンを作成し、ＲＯＭ３５に記憶させておくことも可能である。
【０１６４】
ＣＰＵ１４は、操作部１５に対する、順方向への１倍速以内または逆方向への１倍速以内の再生指示に応じて、出力フレームに対応する更新パターンを参照し、フレームタイミング毎に光ディスク１０から読み出すピクチャを指示し、フレームバッファの更新を行う。
【０１６５】
１−５−４．フレームバッファの更新パターンに基づく再生制御動作
次に、フレームバッファの更新パターンに基づく再生制御動作について説明する。再生制御は、フレームタイミングで同期を取られて、フレーム毎に順次、行われる。図１５は、この発明に適用可能なシステムによる同期制御を概略的に示す。この図１５の例では、３フレームを周期として、１フレーム分のビデオデータのデコードが行われると共に、このデコードに同期して、フレームバッファ上の１フレーム分のビデオデータが出力される。
【０１６６】
先ず、第１フレーム目では、現在フレームバッファに格納されているフレームの情報であって、ＣＰＵ１４により取得されるフレームバッファ情報と、ディスクドライブ１１におけるリード情報と、目標速度情報とから、目標再生フレームが確定される（ステップＳ２０）。リード情報は、光ディスク１０から既に読み出され、ディスクドライブ１１のキャッシュメモリ１２に溜め込まれているピクチャの情報である。また、目標速度情報は、操作部１５に対する操作や、より上位のアプリケーションなどからのコマンドにより、ＣＰＵ１４に対して供給される、再生速度および方向を示す情報である。
【０１６７】
目標再生フレームが確定されると、デコーダ２２に転送するピクチャが確定される（ステップＳ２１）。すなわち、図１１を用いて説明したフレームバッファの更新パターンに基づき、目標再生フレームの確定に伴いデコードすべきピクチャが確定される。
【０１６８】
例えば、図１１の第４行目の例でいうと、再生方向が順方向であれば、現在の目標再生フレーム「Ｐ６」に対して、新たな目標再生フレームは、フレーム「Ｂ７」またはフレーム「Ｐ６」の何れかに確定される。新たな目標再生フレームがフレーム「Ｂ７」およびフレーム「Ｐ６」の何方に確定されるかは、目標速度情報や、指示のタイミングなどに基づき一意的に決められる。ここでは、新たな目標再生フレームがフレーム「Ｂ７」に確定されたものとして説明する。
【０１６９】
さらに、第４行目のフレームバッファ情報と、新たな目標再生フレームが目標再生フレームとされているフレームバッファ情報とが比較され、新たにデコードされる必要があるフレームと、不要となるフレームとが抽出される。新たな目標再生フレームがフレーム「Ｂ７」であるこの例では、第４行目のフレームバッファ情報と次の第５行目のフレームバッファ情報とが比較され、フレーム「Ｂ５」が不要となると共に、フレーム「Ｂ８」がデコードされている必要があることが分かる。
【０１７０】
ステップＳ２１で転送するピクチャが確定されると、次の第２フレーム目のタイミングで、当該ピクチャがデコーダ２２に対して転送される（ステップＳ２２）。例えば、ＣＰＵ１４は、ディスクドライブ１１に対して、転送が確定されたピクチャを光ディスク１０から読み出すように要求する。この要求に応じて、ディスクドライブ１１により、光ディスク１０からピクチャ（上述の例では、フレーム「Ｂ８」に対応するピクチャ）が読み出される。読み出されたピクチャがデコーダ２２に転送されると共に、読み出されたピクチャをデコードするために必要な他のフレームがある場合は、フレームバッファから当該他のフレームが読み出され、デコーダ２２に転送される。
【０１７１】
フレーム「Ｂ８」をデコードするこの例では、フレーム「Ｂ８」に対応するピクチャと、フレーム「Ｂ８」をデコードするための他のフレーム「Ｐ６」および「Ｐ９」とがデコーダ２２に転送される。
【０１７２】
なお、実際には、転送が確定されたピクチャの転送は、上述したように、ディスクドライブ１１が有するキャッシュメモリ１２に対してアクセスされてなされ、キャッシュメモリ１２からデコーダ２２に対して、ＤＭＡ(Direct Memory Access)転送によりＣＰＵ１４を介さないで行われる。
【０１７３】
ディスクドライブ１１からデコーダ２２へのピクチャの転送は、次の第２フレーム目のタイミングに同期して行われる（ステップＳ２２）。また、ステップＳ２１での転送ピクチャの確定に伴い、当該ピクチャに対するデコード情報が確定される（ステップＳ２３）。例えば、確定された転送ピクチャのヘッダ情報から取り出されたデコードに必要なパラメータや、デコードに必要な他のフレームの情報がデコード情報として確定される。これら確定されたデコード情報は、デコーダ２２に渡される。
【０１７４】
デコーダ２２は、ステップＳ２３で転送されたデコード情報に基づき、ステップＳ２２で転送されたピクチャのデコードを、次の第３フレーム目のタイミングに同期して開始する（ステップＳ２４）。デコードされたピクチャ（フレーム）は、フレームバッファの所定のバンクに書き込まれ、フレームバッファが更新される。上述の図１１の第４行目の例では、バッファメモリ上のフレーム「Ｂ５」が書き込まれているバンクに対して、デコードされたフレーム「Ｂ８」のデータが上書きされる（図１１の第５行目参照）。
【０１７５】
一方、上述したステップＳ２０で目標再生フレームが確定されると、出力するビデオデータの情報が確定される（ステップＳ２５）。上述の図１１の第４行目の例では、出力ビデオデータとしてフレーム「Ｐ６」が確定される。この確定された出力ビデオデータの情報が出力データ制御部２３に渡される。出力データ制御部２３では、渡された情報に基づき、第３フレーム目の開始タイミングまでに、ビデオ出力の設定を行う（ステップＳ２６）。そして、この設定に基づき、第３フレーム目に同期して、フレーム「Ｐ６」が出力される（ステップＳ２７）。
【０１７６】
なお、１倍速以下の順方向の再生は、例えば、上述したステップＳ２０において、上位のアプリケーションからなど供給された再生速度情報に応じて、目標再生フレームを次のフレームに進めるか否かを制御することで可能である。一例として、順方向に１／２倍速で再生を行う場合には、出力するフレームを２フレームタイミング毎に１フレームだけ更新すればよい。これは、例えば、２フレームに１回の割合で、目標再生フレームを更新することで可能である。目標再生フレームが更新されなければ、直前の処理と同一のフレームバッファのパターンに基づき処理が行われることになるため、直前のフレームタイミングと同一のフレームが出力されることになる。このとき、ディスクドライブ１による光ディスク１０に対するアクセス動作や、デコーダ２２のデコード動作なども停止するようにすると、好ましい。
【０１７７】
上述では、再生方向が順方向の場合の処理について説明したが、再生方法が逆方向の場合にも、同様の処理が行われる。第１フレーム目で、フレームバッファ情報と、リード情報と、目標速度情報とから、目標再生フレームが確定される（ステップＳ２０）。目標再生フレームが確定されると、デコーダ２２に転送するピクチャが確定される（ステップＳ２１）。図１１の第４行目の例でいうと、再生方向が逆方向なので、目標再生フレームがフレーム「Ｂ５」またはフレーム「Ｐ６」の何れかに確定される。ここでは、目標再生フレームがフレーム「Ｂ５」に確定されるものとする。さらに、第４行目のフレームバッファ情報と、目標再生フレームが出力フレームとされている第３行目のフレームバッファ情報とが比較され、フレーム「Ｂ７」が不要になると共に、フレーム「Ｂ４」がデコードされている必要があることが分かる。
【０１７８】
ステップＳ２１で転送するピクチャが確定されると、次の第２フレーム目のタイミングに同期して、当該ピクチャがデコーダ２２に対して転送される（ステップＳ２２）。このとき、当該ピクチャをデコードするために必要な他のピクチャがある場合には、当該他のピクチャもフレームバッファから読み出されてデコーダ２２に転送される。フレーム「Ｂ４」をデコードするこの例では、フレーム「Ｂ４」をデコードするために用いられる、フレーム「Ｉ３」および「Ｐ６」も、デコーダ２２に転送される。フレーム「Ｉ３」および「Ｐ６」は、図１１の第４行目に示されるように、フレームバッファ上に既に存在する。
【０１７９】
ステップＳ２１での転送ピクチャの確定に伴い、当該ピクチャに対するデコード情報が確定される（ステップＳ２３）。確定されたデコード情報は、デコーダ２２に渡される。デコーダ２２は、ステップＳ２３で転送されたデコード情報に基づき、ステップＳ２２で転送されたピクチャのデコードを、次の第３フレーム目のタイミングに同期して開始する（ステップＳ２４）。デコードされたピクチャ（フレーム）は、フレームバッファの所定のバンクに書き込まれ、フレームバッファが更新される。上述の図１１の第４行目の例では、バッファメモリ上のフレーム「Ｂ７」が書き込まれているバンクに対して、デコードされたフレーム「Ｂ４」のデータが上書きされる（図１１の第３行目参照）。
【０１８０】
一方、上述したステップＳ２０で目標再生フレームが確定されると、出力するビデオデータの情報が確定される（ステップＳ２５）。上述の図１１の第４行目の例では、出力ビデオデータとしてフレーム「Ｐ６」が確定される。この確定された出力ビデオデータの情報が出力データ制御部２３に渡される。出力データ制御部２３では、渡された情報に基づき、第３フレーム目の開始タイミングまでに、ビデオ出力の設定を行う（ステップＳ２６）。そして、この設定に基づき、第３フレーム目に同期して、フレーム「Ｐ６」が出力される（ステップＳ２７）
【０１８１】
なお、再生方向が順方向および逆方向の何れの場合においても、上述のステップＳ２０〜ステップＳ２７で説明した処理は、フレームタイミング毎に順次、実行される。すなわち、第１フレーム目に同期して上述のステップＳ２０の処理による目標再生フレームが確定される。確定された目標再生フレームを新たな出力フレームとして、この新たな出力フレームに対応する新たな目標再生フレームの確定処理が次の第２フレーム目に同期して開始される。
【０１８２】
この新たな目標再生フレームの、ディスクドライブ１１からデコーダ２２への転送処理は、次の第３フレーム目に同期して行われるため、１つ前の処理と干渉することがない。同様に、デコーダ２２によるデコード処理も、図示されない第４フレーム目に同期して行われることになるため、１つ前の処理と干渉することがない。
【０１８３】
このように、この発明によれば、順方向の１倍速再生から逆方向の１倍速再生にわたる可変速再生において、与えられた再生速度および再生方向指示コマンドに対して固定的な遅延で、コマ落ちのない再生出力を、１倍速デコーダを用いて実現することができる。
【０１８４】
なお、上述の図１５のシーケンスにおいて、ステップＳ２０で目標再生フレームが確定してから、その目標再生フレームが目標再生フレームの確定から固定遅延で以てステップＳ２７でビデオ出力されるまでの間は、ステップＳ２２のデータ転送処理およびステップＳ２４のデコード処理がそれぞれ平均して１ピクチャ／フレーム時間に収まる必要がある。換言すれば、ステップＳ２２のデータ転送処理およびステップＳ２４のデコード処理は、それぞれ平均して１ピクチャ／フレーム時間に収まっていれば、それぞれの処理時間を１フレーム時間に固定的とする必要は、無い。
【０１８５】
ピクチャのデコードに１倍速デコーダを用い、順方向および逆方向に１倍速以内の再生を、上述したような目標フレームバッファパターンに基づく制御で以て固定遅延で行う場合、上述のように、目標再生フレームが移行する毎に、１フレームのデコードが行われ、それに伴いバッファメモリ上の１フレームが破棄される。そのため、ステップＳ２２のデータ転送処理およびステップＳ２４のデコード処理は、それぞれ１ピクチャ／フレーム時間の処理に収束するように推移し、全体として、図１５に示されるような３フレーム周期に収束する。
【０１８６】
２．この発明の実施の一形態について
次に、この発明の実施の一形態について説明する。この発明の実施の一形態では、再生装置に１倍速デコーダを２個、設け、一方のデコーダで現在出力するための再生を行っているクリップ（以下、現在再生中のクリップと呼ぶ）のデコードを行い、他方のデコーダで次に出力するために再生されるクリップのデコードを予め行う。なお、以下では、現在再生中のクリップをデコードするデコーダを出力デコーダと呼び、次に出力するために再生されるクリップのデコードを行うデコーダを他方のデコーダと呼ぶものとする。
【０１８７】
このとき、次に出力するために再生されるクリップ（以下、目標再生クリップと呼ぶ）は、現在再生中のクリップにおける再生位置（デコード位置）に基づき決める。そして、目標再生クリップのピクチャにおいて、最初に出力されるフレームを目標再生フレームとして上述した目標フレームバッファ更新パターンを作成し、作成されたこの目標フレームバッファ更新パターンに従い、他方のデコーダにより目標再生クリップのフレームを予めデコードし、保持する。
【０１８８】
目標再生クリップは、例えば現在再生中のクリップにおける再生位置と、当該クリップの時間長で略中央位置との位置関係に基づき決める。例えば、現在再生中のクリップの再生位置（デコード位置）が、当該クリップの時間長で略中央位置に対して順方向の再生方向で後側であれば、当該クリップの順方向の再生順で次のクリップが目標再生クリップとされる。また、現在再生中のクリップの再生位置（デコード位置）が、当該クリップの時間長で略中央位置に対して順方向の再生方向で前側であれば、当該クリップの順方向の再生順で前のクリップが目標再生クリップとされる。
【０１８９】
２−１．再生装置の一例の構成
図１６は、この実施の一形態に適用可能な再生装置２００の一例の構成を示す。図１６に例示されるように、再生装置２００は、図２を用いて説明した再生装置１に対して、デコーダ１３Ｂを追加した構成とされている。図２におけるデコーダ１３は、図１６においては、デコーダ１３Ａとして表示されている。デコーダ１３Ａおよびデコーダ１３Ｂの出力は、フレームタイミングに同期して切り換えられるスイッチ回路２０１により選択される。なお、図１６において、上述した図２と共通する部分には同一の符号を付し、詳細な説明を省略する。
【０１９０】
デコーダ１３Ａおよびデコーダ１３Ｂは、互いに同等の仕様とされ、例えばそれぞれ図３および図４を用いて説明したような構成を有する。デコーダ１３Ａはフレームメモリ１７Ａを有し、また、デコーダ１３Ｂはフレームメモリ１７Ｂを有し、ＣＰＵ１４の制御によりそれぞれ独立的に動作を制御される。ドライブ１１は、ＣＰＵ１４の制御に基づきディスク１０からデータを読み出し、読み出されたデータをデコーダ１３Ａおよびデコーダ１３Ｂに対して、それぞれ所定に供給する。
【０１９１】
デコーダ１３Ａおよびデコーダ１３Ｂは、それぞれフレームメモリ１７Ａおよびフレームメモリ１７Ｂを用いて、ＣＰＵ１４の制御に基づき供給されたデータをデコードする。デコードは、図１および図１０〜図１５を用いて既に説明したように、目標再生フレームに基づき目標フレームバッファパターンを作成し、目標フレームバッファパターンが埋まるようにディスク１０からデータを読み出して行う。デコーダ１３Ａおよびデコーダ１３Ｂのうち一方は、目標再生フレームが現在再生中のクリップ中のフレームとされ、他方は、目標再生フレームが目標再生クリップにおける再生開始位置のフレームとされる。
【０１９２】
なお、デコーダ１３Ａおよびデコーダ１３Ｂのうち最初に何方が現在再生中のクリップのデコードを行い、何方が目標再生クリップのデコードを行うかは、任意に決めることができる。例えば、システム上でデフォルトの設定を定義してもよいし、前回の処理を引き継いだ設定としてもよい。
【０１９３】
デコーダ１３Ａおよびデコーダ１３Ｂの出力は、スイッチ回路２０１の選択入力端２０１Ａおよび選択入力端２０１Ｂにそれぞれ供給される。スイッチ回路２０１は、ＣＰＵ１４により、現在再生中のクリップをデコードするデコーダの出力が選択されるように選択入力端２０１Ａおよび選択入力端２０１Ｂが切り換えられる。スイッチ回路２０１の制御は、フレームタイミングに同期してなされる。
【０１９４】
２−２．再生制御処理について
図１７は、デコーダ１３Ａおよびデコーダ１３Ｂのフレームタイミング毎の一例の動作を概略的に示す。マスタポジションは、出力すべきクリップおよびフレームの情報を有する。マスタポジションは、例えば再生速度情報に基づき決められる。すなわち、出力すべきフレームは、マスタポジションが有するクリップ情報およびフレーム情報に基づき決められる。
【０１９５】
マスタポジションが設定されてから２フレームタイミング後に出力がなされる。マスタポジションに示されるフレームは、例えば順方向に１倍速で再生中であれば、フレームタイミング毎に１フレームずつ進む。また、ジョグダイヤル１６などで順方向または逆方向に１倍速以内の速度で再生を行っている場合は、マスタポジションに示されるフレームは、ジョグダイヤル１６の操作に応じたタイミングで１フレームずつ移動する。
【０１９６】
マスタポジションが設定されたフレーム期間中に、デコーダＡおよびデコーダＢに対して目標再生フレームが設定される。なお、説明のため、デコーダＡが図１６のデコーダ１３Ａに対応し、デコーダＢがデコーダ１３Ｂに対応するものとする。デコーダＡおよびデコーダＢのうち一方は、現在再生中のクリップ、すなわち、マスタポジションが含まれるクリップのデコードを行い、他方は、目標再生クリップのデコードを行う。ここでは、説明のため、デコーダＡがマスタポジションが含まれるクリップをデコードし、デコーダＢが目標再生クリップのデコードを行うものとする。
【０１９７】
デコーダＡには、マスタポジションに示されるフレームが目標再生フレームとして設定される。また、デコーダＢには、目標再生クリップの再生開始フレームが目標再生フレームとして設定される。デコーダＡおよびデコーダＢのそれぞれは、目標再生フレームが設定されると、そのフレーム期間中に、当該目標再生フレームに基づき各々目標フレームバッファの更新パターンを作成し、次のフレーム期間で１フレーム分のデコードを行う。
【０１９８】
マスタポジションに基づき、デコーダＡおよびデコーダＢの何方のデコード結果を出力すべきかが選択される。すなわち、マスタポジションが目標再生フレームとして設定されている側のデコーダが選択される。選択結果に基づきスイッチ回路２０１が制御され、選択された側のデコーダのフレームメモリからビデオデータが１フレーム期間で読み出される。
【０１９９】
マスタポジションのクリップ情報が更新され、マスタポジションで示されるフレームがクリップ間で移動すると、デコーダＡおよびデコーダＢの役割が切り換えられる。例えば、上述のデコーダＡがマスタポジションで示されるクリップをデコードし、デコーダＢが目標再生クリップのデコードを行う例で、マスタポジションで示されるクリップが現在再生中のクリップから目標再生クリップに更新されると、マスタポジションで示されるフレームがデコーダＢの目標再生フレームとされ、デコーダＡの目標再生フレームが目標再生クリップの再生開始フレームに設定される。
【０２００】
次に、この発明の実施の一形態による再生制御処理について、より詳細に説明する。図１８は、クリップの再生方法の代表的な例を示す。図１８Ａは、ディスク上の物理的な並び順に従いクリップを再生する例である。例えばディスク上にクリップがクリップ＃１、クリップ＃２、クリップ＃３の順に並んでいる場合、順方向の再生では、クリップ＃１の先頭から再生が開始され、再生位置がクリップ＃１の最後尾に達したらクリップ＃１からクリップ＃２にジャンプされ、クリップ＃２が先頭から再生される。クリップ＃２の最後尾まで再生されたら、クリップ＃２からクリップ＃３にジャンプされ、クリップ＃３の先頭からの再生が開始される。
【０２０１】
図１８Ｂは、プレイリストに従いクリップを再生する例である。プレイリストには、再生する各クリップ＃１、クリップ＃２およびクリップ＃３のそれぞれにおける再生開始位置（ＩＮ点）および再生終了位置（ＯＵＴ点）が記述される。ＩＮ点およびＯＵＴ点は、例えばタイムコードを用いて記述される。プレイリストを再生することによって、プレイリストに記述されたＩＮ点およびＯＵＴ点情報に基づき各クリップが参照され、各クリップが連続的に再生される。
【０２０２】
図１８Ｂの例では、プレイリストに基づき、クリップ＃１のＩＮ点ＴＣin#1から再生が開始され、ＯＵＴ点ＴＣout#1でクリップ＃１からクリップ＃２へジャンプされ、クリップ＃２がＩＮ点ＴＣin#2から再生される。クリップ＃２のＯＵＴ点ＴＣout#2でクリップ＃２からクリップ＃３にジャンプされ、クリップ＃３がＩＮ点ＴＣin#3から再生される。
【０２０３】
これら、図１８Ａのディスク上の並び順に従い再生される方法と、図１８Ｂのプレイリストに従い再生される方法の何れにおいても、フレームがフレームタイミングで連続的に出力されるように、クリップ間の移動が行われる必要がある。
【０２０４】
なお、図１８に示すクリップの再生方法は代表的な例であって、これらに限られるものではない。
【０２０５】
次に、この発明の実施の一形態によるクリップの一例の再生制御処理について、図１９〜図２１のフローチャートを用いて説明する。この実施の一形態においては、クリップの再生は、デコーダ１３Ａおよびデコーダ１３Ｂそれぞれのデコード動作と、マスタポジションに応じたデコーダ１３Ａおよびデコーダ１３Ｂに対する制御とが並列的に行われる。すなわち、例えばＣＰＵ１４は、マスタポジションが更新される毎に、マスタポジションに応じてデコーダ１３Ａおよびデコーダ１３Ｂそれぞれに対する目標再生フレームを設定する。デコーダ１３Ａおよびデコーダ１３Ｂは、それぞれ、ＣＰＵ１４により設定された目標再生フレームに基づくデコード処理を行う。
【０２０６】
デコーダ１３Ａおよびデコーダ１３Ｂの処理は、図１を用いて既に説明した処理と略同様である。すなわち、図１９に概略的に示されるように、ステップＳ５０で、デコードすべきクリップの情報、目標再生フレームおよび再生速度情報が取得される。これらの情報は、図２０および図２１を用いて後述する処理により、例えばＣＰＵ１４から供給される。次のステップＳ５１で、デコードすべきクリップの情報および目標再生フレームに基づき、目標フレームバッファパターンが作成される。そして、ステップＳ５２で、作成された目標フレームバッファパターンに従い、デコード処理が行われる。すなわち、目標フレームバッファパターンに基づき、新規にデコードが必要なピクチャが抽出されストリームの入力が開始されると共に、不要なピクチャが抽出され、空きバンクに対してデコードが開始される。このステップＳ５０〜ステップＳ５２の処理が目標再生フレームが更新される毎に行われる。
【０２０７】
図２０は、ＣＰＵ１４によるマスタポジションに応じた一例の処理を示すフローチャートである。ステップＳ６０で、再生速度情報に基づきマスタポジションが更新されると、次のステップＳ６１で、更新されたマスタポジションに応じて出力をデコーダ１３Ａおよびデコーダ１３Ｂの何れで行うかが確定される。例えば、デコーダ１３Ａおよびデコーダ１３Ｂのうち、マスタポジションに示されるフレームがフレームバッファに格納されている方のデコーダを、出力デコーダに確定する。ＣＰＵ１４は、スイッチ回路２０１を、出力デコーダ側が選択されるように制御する。スイッチ回路２０１の制御は、例えばフレームタイミングに同期してなされる。なお、以下では、便宜上、出力デコーダではない方のデコーダを、他方のデコーダと呼ぶ。
【０２０８】
出力デコーダが確定されると、処理はステップＳ６２に移行され、マスタポジションに示されるフレームを第１の目標再生フレームとして、出力デコーダに対して設定する。次に、ステップＳ６３で、マスタポジションの示すフレームのクリップ上の位置に基づき、第２の目標再生フレームを取得する。この第２の目標再生フレームは、次のステップＳ６４で、他方のデコーダに対して設定される。このステップＳ６０〜ステップＳ６４の処理がマスタポジションの更新毎に実行される。
【０２０９】
図２１は、上述したステップＳ６３の、第２の目標再生フレームの一例の取得方法を示すフローチャートである。先ず、ステップＳ７０で、マスタポジションが示すフレームの、現在再生中のクリップ、すなわち、マスタポジションで示されるクリップの中央位置に対する位置が取得される。そして、マスタポジションに示されるフレームとクリップの中央位置とが比較され、マスタポジションに示されるフレームが当該クリップの中央位置に対してどの位置にあるかが判断される。
【０２１０】
例えば、ディスク上のクリップの並び順に基づき方向を定義するとき、マスタポジションに示されるフレームがクリップの中央位置に対して前側にあるか、後側にあるかが判断される。クリップの再生がプレイリストに従いなされる場合は、プレイリストに定義される再生順で前後が判断される。
【０２１１】
ステップＳ７０で、マスタポジションで示されるフレームがクリップの中央位置より前側にあると判断されれば、処理はステップＳ７１に移行する。ステップＳ５６では、マスタポジションで示されるクリップに対して１つ前のクリップを目標再生クリップとして、当該目標再生クリップに対して目標再生フレームＦprvを設定する。この目標再生フレームＦprvは、当該目標再生クリップの再生順で最終フレームである。この目標再生フレームＦprvを他方のデコーダに対して供給する。他方のデコーダでは、この目標再生フレームＦprvに従い、上述の図１９のフローチャートに示される目標フレームバッファパターンの作成などの処理を行う。
【０２１２】
一方、ステップＳ７０で、マスタポジションで示されるフレームがクリップの中央位置より後側にあると判断されれば、処理はステップＳ７２に移行する、ステップＳ７２では、マスタポジションで示されるクリップに対して１つ後のクリップを目標再生クリップとして、当該目標再生クリップに対して目標再生フレームＦadvを設定する。この目標再生フレームＦadvは、当該目標再生クリップの再生順で先頭フレームである。この目標再生フレームＦadvを、他方のデコーダに対して供給する。他方のデコーダでは、この目標再生フレームＦadvに従い、上述の図１９のフローチャートに示される目標フレームバッファパターンの作成などの処理を行う。
【０２１３】
上述のステップＳ７０による、クリップの中央位置の取得方法の例について説明する。クリップの中央位置は、例えば、図９を用いて説明したピクチャポインタ情報に基づき取得することができる。一例として、上述した図９の例では、ピクチャポインタテーブルにおいて、各フレーム毎の情報を示すピクチャポインタ情報が表示順のフレーム番号順に並べられている。したがって、リストに列挙されるピクチャポインタ情報を計数することで、クリップ内のフレーム数Ｆが分かる。
【０２１４】
ディスク上での並び順にクリップを再生する場合、図２２Ａに一例が示されるように、現在再生中のクリップ＃２の先頭ＴＣstと最後ＴＣendの略中点がクリップの中央位置ＴＣcentとされる。一例として、フレーム数Ｆを２で除した商の小数点以下を切り上げてクリップ中央のフレーム番号Ｆcentとすることが考えられる。フレーム数Ｆが偶数の場合は、フレーム番号Ｆcentが正確な中央位置から０．５フレーム分ずれることになるが、この場合も、クリップの中央位置であると見なす。
【０２１５】
また、プレイリストに基づきクリップを再生する場合、図２２Ｂに一例が示されるように、現在再生中のクリップ＃２において、プレイリストに記述されるＩＮ点ＴＣin#2と、ＯＵＴ点ＴＣout#2の略中点がクリップの中央位置ＴＣcentとされる。この場合、ＩＮ点ＴＣin#2に対応するフレーム番号Ｆin#2と、ＯＵＴ点ＴＣout#2に対応するフレーム番号Ｆout#2とをそれぞれ求め、フレーム番号Ｆin#2とフレーム番号Ｆout#2とを加算した値を２で除した商の小数点以下を切り上げてクリップ中央のフレーム番号Ｆcentとすることが考えられる。ＩＮ点およびＯＵＴ点間のフレーム数が偶数の場合は、フレーム番号Ｆcentが正確な中央位置から０．５フレーム分ずれることになるが、この場合も、クリップの中央位置であると見なす。
【０２１６】
求められたフレーム番号Ｆcentに対応するタイムコードをクリップの中央位置として取得する。フレーム番号Ｆcentそのものをクリップの中央位置として取得してもよい。
【０２１７】
ここでは、クリップの中央位置がマスタポジションに基づき、その都度、取得されるように説明したが、これはこの例に限定されない。例えば、光ディスク１０が再生装置２００に装填されＮＲＴ領域のデータが読み出されてピクチャポインタが取得された際に、光ディスク１０上に存在する全てのクリップについて、中央位置を予め取得しておいてもよい。
【０２１８】
なお、これらのクリップ中央位置の取得方法は、この発明の実施の一形態を実施可能とする例であって、これらの例に限られるものではない。
【０２１９】
上述のステップＳ７１およびステップＳ７２の処理について、図２２を用いてより具体的に説明する。ディスク上での並び順にクリップを再生する場合、図２２Ａに一例が示されるように、マスタポジションで示されるクリップ＃２に対して１つ前のクリップは、ディスク上でクリップ＃２に順方向の再生方向で前側に隣接するクリップ＃１となり、目標再生フレームＦprvは、クリップ＃１の最後尾のフレームとされる（ステップＳ７１）。また、マスタポジションで示されるクリップ＃２に対して１つ後ろのクリップは、ディスク上でクリップ＃３に順方向の再生方向で後側に隣接するクリップ＃３となり、目標再生フレームＦadvは、クリップ＃３の先頭のフレームとされる（ステップＳ７２）。
【０２２０】
プレイリストに基づきクリップを再生する場合、図２２Ｂに一例が示されるように、マスタポジションで示されるクリップ＃２に対して１つ前のクリップは、プレイリスト上で順方向再生においてクリップ＃２の前に再生されるように指示されているクリップ＃１となり、クリップ＃１における目標再生フレームＦprvは、プレイリスト上でクリップ＃１に対して指定されるＯＵＴ点ＴＣout#1に対応するフレームとされる（ステップＳ７１）。また、マスタポジションで示されるクリップ＃２に対して１つ後ろのクリップは、プレイリスト上で順方向再生においてクリップ＃２の後に再生されるように指示されているクリップ＃３となり、クリップ＃３における目標再生フレームＦadvは、プレイリスト上でクリップ＃３に対して指定されるＩＮ点ＴＣin#3に対応するフレームとされる（ステップＳ７２）。なお、プレイリストに基づきクリップが再生される場合、各クリップのディスク上での位置関係は、クリップの再生順と対応している必要はない。
【０２２１】
図１６を参照して、より具体的に説明する。当初、出力デコーダがデコーダ１３Ａであるとしたとき、ＣＰＵ１４の制御によりスイッチ回路２０１において選択入力端２０１Ａが選択されている。デコーダ１３Ｂでは、上述の図２０のステップＳ６４で設定された目標再生フレームＦprvまたは目標再生フレームＦadvに基づき、目標フレームバッファ更新パターンが作成され、フレームメモリ１７Ｂに、この目標フレームバッファ更新パターンのフレームがデコードされた状態で所定に溜め込まれるまで、デコードが行われる。
【０２２２】
マスタポジションのクリップ情報が更新されると、マスタポジションで示されるフレームがクリップ間で移動される。このとき、上述したステップＳ６１の処理に従い出力デコーダがデコーダ１３Ｂに確定され、ＣＰＵ１４の制御により、スイッチ回路２０１において選択出力端２０１Ｂが選択される。
【０２２３】
デコーダ１３Ｂでは、上述のように、既に、過去にステップＳ６４で設定された目標再生フレームＦprvまたは目標再生フレームＦadvに基づき作成された目標フレームバッファ更新パターンのフレームが、デコードされた状態で所定に溜め込まれている。したがって、スイッチ回路２０１が選択入力端２０１Ａから選択入力端２０１Ｂへ切り換えられた直後から、フレームの出力を開始することができる。そのため、クリップ間で、フレームタイミングで連続的に出力を行うことができる。
【０２２４】
また、マスタポジションのクリップ情報が更新されマスタポジションで示されるフレームがクリップ間で移動した直後は、マスタポジションにおいてクリップ情報が更新される直前のマスタポジションのクリップ情報で示されるクリップが、目標再生クリップとされ、目標再生クリップに対して設定される所定の目標再生フレームに基づき目標フレームバッファ更新パターンが作成され、デコード処理が開始される。
【０２２５】
このとき、マスタポジションのクリップ情報の更新直後は、更新直前のマスタポジションのクリップ情報に示されるクリップをデコードしていたデコーダのフレームバッファには、目標フレームバッファ更新パターンによるデコード済みフレームが溜め込まれている。そのため、マスタポジションのクリップ情報の更新直後であっても、順方向および逆方向の１倍速以下の再生速度でのジョグ操作を、コマ落ちすることなく行うことができる。
【０２２６】
すなわち、この発明の実施の一形態によれば、マスタポジションで示されるクリップおよびフレームが、現在出力が選択されているデコーダに対してそのままデコードするクリップおよび目標再生フレームとなり、出力が選択されていないデコーダに対しては、現在再生中のクリップに隣接するクリップとなる。つまり、２個のデコーダそれぞれに対して、目標再生フレームと目標再生クリップとが常に与えられ、それぞれのデコーダで各目標再生位置を基準とするデコード処理を独立的に行い、マスタポジションに応じて２個のデコーダ出力を切り換えることで、フレームが連続した再生を可能としている。
【０２２７】
次に、この発明の実施の一形態における再生制御動作について、図２３を用いて説明する。この実施の一形態における再生制御動作は、基本的には図１５を用いて説明した制御と同様である。すなわち、実施の一形態においては、出力デコーダに対する制御と、他のデコーダに対する制御とが互いに並列的に行われる。
【０２２８】
すなわち、図２３に例示されるように、マスタポジションに基づきデコーダ１３Ａおよびデコーダ１３Ｂに対する目標再生フレームがそれぞれ確定され（ステップＳ２０’およびステップＳ２０”）、デコーダ１３Ａおよびデコーダ１３Ｂのそれぞれで、図１５を用いて説明したような制御動作がなされる。デコーダ１３Ａおよびデコーダ１３Ｂのそれぞれでは、例えば３フレームを周期として、１フレーム分のビデオデータのデコードが行われると共に、このデコードに同期して、マスタポジションに基づき選択された側のデコーダにおいて、フレームバッファ上の１フレーム分のビデオデータが出力される。
【０２２９】
例えば、マスタポジションに示されるクリップのフレームをデコードする出力デコーダ（デコーダ１３Ａとする）において、第１フレーム目でマスタポジションに示されるフレームが目標再生フレームに確定される（ステップＳ２０’）。マスタポジションは、上述したように、例えば再生速度情報に基づき決められる。再生速度情報は、例えばＣＰＵ１４やより上位のシステムからの指示、さらには、操作部１５に対する操作などに基づき決められる。
【０２３０】
以下、転送ピクチャの確定（ステップＳ２１’）および確定されたピクチャの転送（ステップＳ２２’）、デコード情報の確定（ステップＳ２３’）および確定されたデコード情報に基づく、ステップＳ２２’で転送されたピクチャのデコード（ステップＳ２４’）が、上述した図１５の説明と同様にして行われる。
【０２３１】
また、ステップＳ２０’での目標再生フレームの確定に伴う出力ビデオ情報の確定（ステップＳ２５’）および出力設定（ステップＳ２６’）が、上述した図１５の説明と同様にして行われる。
【０２３２】
予測再生ピクチャのフレーム（再生フレーム（裏））をデコードするデコーダ（デコーダ１３Ｂとする）における処理も同様である。第１フレーム目で、マスタポジションに基づき、目標再生フレームが確定される（ステップＳ２０”）。ここで、再生フレーム（裏）をデコードするデコーダに対しては、目標再生フレームは、図２１および図２２を用いて説明したように、マスタポジションに示されるフレームの現在の位置に応じて一意的に確定される。また、目標速度は、０とされる。
【０２３３】
以下、転送ピクチャの確定（ステップＳ２１”）および確定されたピクチャの転送（ステップＳ２２”）、デコード情報の確定（ステップＳ２３”）および確定されたデコード情報に基づく、ステップＳ２２”出転送されたピクチャのデコード（ステップＳ２４”）が、上述した図１５の説明と同様にして行われる。また、ステップＳ２０”での目標再生フレームの設定に伴う出力ビデオ情報の確定（ステップＳ２５”）および出力設定（ステップＳ２６”）も、上述して図１５の説明と同様にして行われる。
【０２３４】
また、第１フレーム目のタイミングでマスタポジションに基づき出力デコーダが確定され（ステップＳ８０）、第２フレームのタイミングで出力デコーダの設定がなされる（ステップＳ８１）。例えば、ステップＳ８１では、ＣＰＵ１４によるスイッチ回路２０１の切り替え制御がなされる。そして、第３フレーム目のタイミングで、ステップＳ８１で設定されたデコーダからビデオ出力がなされる（ステップＳ８２）。
【０２３５】
上述のステップＳ２０’乃至ステップＳ２６’、ステップＳ２０”乃至ステップＳ２６”、ならびに、ステップＳ８０乃至ステップＳ８２で説明した処理は、フレームタイミング毎に順次、実行される。すなわち、マスタポジションで示されるフレームをデコードしている出力デコーダにおいて、第１フレーム目に同期して上述のステップＳ２０’の処理による目標再生フレームが確定される。確定された目標再生フレームを新たな出力フレームとして、この新たな出力フレームに対応する新たな目標再生フレームの確定処理が次の第２フレーム目に同期して開始される。
【０２３６】
目標再生クリップをデコードしている他方のデコーダにおいても同様にして、第１フレーム目に同期して上述のステップＳ２０”の処理による目標再生フレームが確定される。確定された目標フレームに対応する新たな目標再生フレームの確定処理が次の第２フレーム目に同期して開始される。このとき、デコードされたフレームが一旦フレームバッファに溜め込まれてしまうと、以降の処理は省略できる。実際には、デコードされたフレームがフレームバッファに溜め込まれた後も、他方のデコーダによるデコード処理は継続される。このとき、デコード処理は、キャッシュメモリ１２に格納されているデータのみを用いて行うことができ、ディスク１０からの読み出しを行う必要が無い。
【０２３７】
上述では、この発明が記録媒体として光ディスクを用い、年輪構造でクリップが記録されている場合に適用されるように説明したが、これはこの例に限定されない。例えば、記録媒体上の記録フォーマットは、年輪構造に限られず、他のフォーマットであってもよい。また、記録媒体は、光ディスクに限られず、ハードディスクドライブや、半導体メモリであってもよい。さらに、この発明が記録媒体から再生されたデータに対して適用されるように説明したが、これはこの例に限定されず、安定的にストリームが供給可能な状況であれば、外部から供給されたストリームデータをデコードするようなデコーダ装置にもこの発明を適用することができる。
【０２３８】
また、上述では、再生装置２００が光ディスク１０に記録されたビデオデータを再生する専用的なハードウェアであるように説明したが、これはこの例に限らず、例えばパーソナルコンピュータといった汎用的なコンピュータ装置（図示しない）を、再生装置２００として用いることもできる。この場合、コンピュータ装置に搭載されるプログラムによって、再生装置２００の機能を実現させることができる。またこの場合、ビデオデータのデコード処理は、ソフトウェア処理によりＣＰＵで行ってもよいし、専用的なハードウェアをコンピュータ装置に搭載することもできる。
【図面の簡単な説明】
【０２３９】
【図１】この発明に適用されるシステムによる再生制御処理を概念的に示す略線図である。
【図２】この発明に適用されるシステムに適用可能な再生装置の一例の構成を概略的に示すブロック図である。
【図３】デコーダの一例の構成を概略的に示すブロック図である。
【図４】デコーダの一例の構成をより具体的に示すブロック図である。
【図５】ディスク状記録媒体における一例のデータ配置を示す略線図である。
【図６】クリップについて説明するための略線図である。
【図７】光ディスクに対して年輪データが形成された一例の様子を示す略線図である。
【図８】ＭＰＥＧ２のロングＧＯＰにおける一例のデータ構造を示す略線図である。
【図９】ピクチャポインタ情報が記述されるピクチャポインタテーブルのより具体的な例を示す略線図である。
【図１０】カレントフレームに対して表示順で１フレーム後または１フレーム前のフレームをデコードする場合の必要バッファ量の例を示す略線図である。
【図１１】この発明に適用されるシステムによる目標フレームバッファの一例の更新パターンを示す略線図である。
【図１２】目標フレームバッファのパターンの一例の作成方法を示すフローチャートである。
【図１３】目標フレームバッファのパターンの一例の作成方法を説明するための略線図である。
【図１４】目標フレームバッファのパターンの一例の作成方法を説明するための略線図である。
【図１５】この発明に適用されるシステムによる同期制御を概略的に示す略線図である。
【図１６】の実施の一形態に適用可能な再生装置の一例の構成を示すブロック図である。
【図１７】２つのデコーダのフレームタイミング毎の一例の動作を概略的に示す略線図である。
【図１８】クリップの再生方法の代表的な例を示す略線図である。
【図１９】この発明の実施の一形態によるクリップの再生制御処理の一例を示すフローチャートである。
【図２０】この発明の実施の一形態によるクリップの再生制御処理の一例を示すフローチャートである。
【図２１】この発明の実施の一形態によるクリップの再生制御処理の一例を示すフローチャートである。
【図２２】クリップの中央位置およびクリップジャンプ時の目標再生フレームを取得する方法を説明するための略線図である。
【図２３】この発明の実施の一形態における再生制御動作について説明するための略線図である。
【図２４】ロングＧＯＰの場合のデコード処理について説明するための略線図である。
【符号の説明】
【０２４０】
１  再生装置
１０  光ディスク
１１  ディスクドライブ
１２  キャッシュメモリ
１３Ａ，１３Ｂ  デコーダ
１７Ａ，１７Ｂ  フレームメモリ（フレームバッファ）
１４  ＣＰＵ
２２  ＭＰＥＧデコーダ
２３  出力データ制御部
３３  予測復元部
３５  ＲＯＭ
３６  ＲＡＭ
２０１  スイッチ回路
【図１】
2007235547.tif 000003
【図２】
2007235547.tif 000004
【図３】
2007235547.tif 000005
【図４】
2007235547.tif 000006
【図５】
2007235547.tif 000007
【図６】
2007235547.tif 000008
【図７】
2007235547.tif 000009
【図８】
2007235547.tif 000010
【図９】
2007235547.tif 000011
【図１０】
2007235547.tif 000012
【図１１】
2007235547.tif 000013
【図１２】
2007235547.tif 000014
【図１３】
2007235547.tif 000015
【図１４】
2007235547.tif 000016
【図１５】
2007235547.tif 000017
【図１６】
2007235547.tif 000018
【図１７】
2007235547.tif 000019
【図１８】
2007235547.tif 000020
【図１９】
2007235547.tif 000021
【図２０】
2007235547.tif 000022
【図２１】
2007235547.tif 000023
【図２２】
2007235547.tif 000024
【図２３】
2007235547.tif 000025
【図２４】
2007235547.tif 000026
【手続補正書】
【提出日】平成19年3月13日(2007.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記録媒体から、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生する再生部と、
現在出力中の第１のクリップをデコードして保持する第１のデコード部と、
該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを予めデコードして保持する第２のデコード部と、
上記第１のクリップの再生時間長で中央位置を基準とした時間長の前後所定区間を対象として、該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、上記第２のクリップとするように制御する制御部と
を有する再生装置。
【請求項２】
請求項１に記載の再生装置において、
上記第１のクリップおよび上記第２のクリップは、上記記録媒体上の並び順に基づき上記再生順が定義される再生装置。
【請求項３】
請求項２に記載の再生装置において、
上記第１のデコード部および上記第２のデコード部のうちの一方は、上記第２のクリップの、上記第１のクリップ側の再生順で端となるフレームを少なくとも予めデコードして保持する再生装置。
【請求項４】
請求項１に記載の再生装置において、
上記第１のクリップおよび上記第２のクリップは、プレイリストに基づき上記再生順が定義される再生装置。
【請求項５】
請求項４に記載の再生装置において、
上記第２のデコード部は、
上記第１のデコード部が、上記第１のクリップに上記プレイリストでＩＮ点およびＯＵＴ点により定義された再生時間長で上記中央位置を基準とした時間長の前後所定区間を対象として、該第１のクリップに上記プレイリストで定義されたＩＮ点側をデコードしていれば、上記第２のクリップのＯＵＴ点に対応するフレームを少なくとも予めデコードして保持する再生装置。
【請求項６】
請求項４に記載の再生装置において、
上記第２のデコード部は、
上記第１のデコード部が、上記第１のクリップに上記プレイリストでＩＮ点およびＯＵＴ点により定義された再生時間長で上記中央位置を基準とした時間長の前後所定区間を対象として、該第１のクリップに上記プレイリストで定義されたＯＵＴ点側をデコードしていれば、上記第２のクリップのＩＮ点に対応するフレームを少なくとも予めデコードして保持する再生装置。
【請求項７】
請求項１に記載の再生装置において、
上記第１のデコード部および上記第２のデコード部は、クリップ間で再生位置が移動すると、上記一方による処理および上記他方による処理を互いに切り換える再生装置。
【請求項８】
請求項１に記載の再生装置において、
上記第１のデコード部及び上記第２のデコード部は、
上記再生部により再生された上記ビデオデータを格納するフレームバッファの格納状態と出力が指示される目標再生フレームバッファのパターンとを比較して、新たにデコードが必要なフレーム又は上記現在のフレームバッファの状態で不要になるフレームを抽出する再生装置。
【請求項９】
請求項８に記載の再生装置において、
上記目標パターンは、
少なくとも、上記目標再生フレームと、該目標再生フレームに再生方向に向けて時間的に隣接するフレームと、該目標再生フレームから該隣接するフレームの方向について少なくとも１フレーム分の再生をさらに継続するために必要なフレームからなる再生装置。
【請求項１０】
記録媒体から、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生するステップと、
現在出力中の第１のクリップを第１のデコード部でデコードして保持するステップと、
該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを第２のデコード部で予めデコードして保持するステップと、
上記第１のクリップの再生時間長で中央位置を基準とした時間長の前後所定区間を対象として、該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、上記第２のクリップとするように制御するステップと
を有する再生方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
この発明は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオ信号の再生時において、クリップ間の再生を連続的に行うようにした再生装置および再生方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
したがって、この発明の目的は、予測符号化によるフレーム間圧縮を用いて圧縮符号化されたビデオ信号の再生時において、クリップを跨ぐ再生を行う場合に、出力が停止することがないような再生装置および再生方法を提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
この発明は、上述した課題を解決するために、記録媒体から、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生する再生部と、現在出力中の第１のクリップをデコードして保持する第１のデコード部と、該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを予めデコードして保持する第２のデコード部と、第１のクリップの再生時間長で中央位置を基準とした時間長の前後所定区間を対象として、該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、第２のクリップとするように制御する制御部とを有する再生装置である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
また、この発明は、記録媒体から、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生するステップと、現在出力中の第１のクリップを第１のデコード部でデコードして保持するステップと、該第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを第２のデコード部で予めデコードして保持するステップと、第１のクリップの再生時間長で中央位置を基準とした時間長の前後所定区間を対象として、該第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、第２のクリップとするように制御するステップとを有する再生方法である。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
上述したように、この発明は、記録媒体から、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生し、現在出力中の第１のクリップを第１のデコード部でデコードして保持し、第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを第２のデコード部で予めデコードして保持し、第１のクリップの再生時間長で中央位置を基準とした時間長の前後所定区間を対象として、第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、第２のクリップとするように制御しているため、現在出力中のクリップに対して予めデコードを行っておくクリップを適切に設定することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
この発明は、上述したように、記録媒体から、時間的に連続する複数フレームからなるクリップを単位として管理されるビデオデータを再生し、現在出力中の第１のクリップを第１のデコード部でデコードして保持し、第１のクリップに対して再生順で隣接する第２のクリップの少なくとも最初に出力されるフレームを第２のデコード部で予めデコードして保持し、第１のクリップの再生時間長で中央位置を基準とした時間長の前後所定区間を対象として、第１のクリップで現在デコードされている位置側に再生順で隣接するクリップを、第２のクリップとするように制御しているため、現在出力中のクリップに対して予めデコードを行っておくクリップを適切に設定することができ、クリップを跨ぐ再生を行った場合でも、出力が停止することがないという効果がある。