(57)【要約】【課題】転送されるGOPのうちの出力範囲を指定する。【解決手段】出力範囲指定コマンドが設定されるＧＯＰは、クリップに含まれておらず、クリップをデコードするための参照画として用いられるGOPである場合、出力範囲指定コマンドは０−０に設定される。そのＧＯＰはクリップに含まれており、クリップの先頭のGOPである場合、クリップの設定に基づいて出力範囲指定コマンドが設定(例えば、７−１５，９−１５など)される。また、そのＧＯＰは、クリップの先頭ではなく、クリップの最後尾のGOPである場合、クリップの設定に基づいて出力範囲指定コマンドが設定（例えば、０−４，０−１１など）される。また、そのＧＯＰは、クリップの先頭でもクリップの最後尾でもない場合、そのＧＯＰの全範囲において出力可能性があるものとして、出力範囲指定コマンドが設定される。本発明は、再生装置に適用できる。【選択図】図２８
2007336067.tif 000002
【特許請求の範囲】
【請求項１】
第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する情報処理装置において、
前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得する操作入力取得手段と、
符号化ストリームを一時保持する保持手段と、
前記操作入力手段により入力された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの前記保持手段への供給を制御する供給制御手段と、
前記保持手段に保持されている前記符号化ストリームをデコードするデコード手段と、
前記デコード手段によりデコードされて生成されたデータの出力タイミングを指令する指令手段と
を備える情報処理装置。
【請求項２】
前記操作入力手段により入力された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示す制御情報を生成する制御情報生成手段
を更に備える請求項１に記載の情報処理装置。
【請求項３】
前記供給制御手段は、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームの前記保持手段への供給を制御する
請求項２に記載の情報処理装置。
【請求項４】
前記第１の符号化ストリームおよび前記第２の符号化ストリームは、GOP構造を有しており、
前記供給制御手段は、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを含むGOP単位のデータの前記保持手段への供給を制御する
請求項２に記載の情報処理装置。
【請求項５】
前記指令手段により指令される前記データの出力タイミングの指令を予測し、前記データの出力タイミングの指令よりも先行して前記保持手段へ前記第１の符号化ストリームと前記第２の符号化ストリームとが供給されるように、前記保持手段への前記符号化ストリームの供給のタイミングを制御する供給タイミング制御手段と、
前記保持手段に保持されている前記符号化ストリームのうち、他のフレームをデコードする場合に参照されるフレームのうちの少なくとも一部が優先的にデコードされるように、前記デコード手段によるデコードを制御するデコード制御手段と
を更に備える請求項１に記載の情報処理装置。
【請求項６】
前記第１の符号化ストリームおよび前記第２の符号化ストリームは、所定の転送単位のデータとして前記保持手段へ供給され、
前記供給タイミング制御手段は、前記保持手段への供給が制御された前記所定の転送単位のデータのうち表示されるフレームの数が所定のフレーム数以下である場合、更に、次の前記所定の転送単位のデータの前記保持手段への供給を制御する
を更に備える請求項５に記載の情報処理装置。
【請求項７】
前記供給制御手段は、前記保持手段への供給が制御される前記符号化ストリームの前記保持手段への供給単位を更に決定する
請求項１に記載の情報処理装置。
【請求項８】
前記符号化ストリームは、Ｂピクチャを含むＧＯＰ構造を有し、
前記指令手段により出力が指令された前記データに対応するフレームが、このフレームが含まれる第１のＧＯＰとは異なる第２のＧＯＰに含まれるフレームを参照してデコードされるＢピクチャに含まれ、かつ、前記第１のGOPおよび前記第２のGOPがいずれも前記保持手段へ供給されていない場合、前記供給手段は、前記第１のＧＯＰのうちの前記第２のＧＯＰに含まれるフレームを参照してデコードされる前記Ｂピクチャおよびこれらのフレームをデコードするために必要なフレーム、並びに、前記第２のＧＯＰを、前記保持手段への供給単位として決定する
請求項７に記載の情報処理装置。
【請求項９】
第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する情報処理装置の情報処理方法において、
前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得し、
取得された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの、保持部への供給を制御し、
前記保持部に保持されている前記符号化ストリームがデコードされて生成されたデータの出力タイミングを指令する
ステップを含む情報処理方法。
【請求項１０】
第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する処理をコンピュータに実行させるためのプログラムであって、
前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得し、
取得された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの、保持部への供給を制御し、
前記保持部に保持されている前記符号化ストリームがデコードされて生成されたデータの出力タイミングを指令する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１１】
請求項１０に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関し、特に、符号化ストリームを編集する場合に用いて好適な、情報処理装置および情報処理方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
フレーム間の相関を用いて符号化を行っているＭＰＥＧストリームにおいて、異なるストリームを接続して編集する場合、複数のデコーダを用いて、それぞれのストリームの接続部分、すなわち、編集点を含むＧＯＰのみをデコードし、それぞれのデコーダからのデコード後のべースバンド画像データの出力を所望の位置でスイッチングして接続した後、再エンコードすることにより、異なるストリームを接続する編集処理を実行することができるようになされている技術があった（例えば、特許文献１）。
【０００３】
【特許文献１】特開平１０−９８７１３号公報
【０００４】
すなわち、図１に示されるように、編集画像の素材となる第１のストリームのうちの一部分であるクリップ２と、編集画像の素材となる第２のストリームのうちの一部分であるクリップ４とを接続したい場合、クリップ２のそれぞれのフレームをデコードするために必要なフレームが、表示されないストリーム１の部分に存在するとき、デコーダAには、ストリーム１に含まれる参照に必要なフレーム群１´とクリップ２とが入力されてデコードされ、セレクタに入力されるとともに、クリップ４のそれぞれのフレームをデコードするために必要なフレームが、表示されないストリーム３の部分に存在するとき、デコーダBには、ストリーム３に含まれる参照に必要なフレーム群３´とクリップ４とが入力されてデコードされ、セレクタに入力される。セレクタは、出力を切り替えて、編集画像の素材となる第１のストリームのうちの一部分であるクリップ２の部分のベースバンド画像データと、編集画像の素材となる第２のストリームのうちの一部分であるクリップ４の部分のベースバンド画像データとを接続してエンコーダに供給し、再エンコードして出力することができるようになされている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術においては、接続部分を含むＧＯＰを一旦デコードした後、再エンコードするための時間がかかるため、編集などでつなぎ目をなんども変更してつなぎ目の位置を確認する作業には適しているとは言えない。
【０００６】
また、従来の技術では、複数のデコーダを用意して、映像素材となるストリーム１つに１つのデコーダを割り当てて、それらの出力を外部のセレクタ等で切り替える制御が必要であった。すなわち、従来の技術においては、デコーダを複数用意する必要があり、それらのデコーダのそれぞれへのストリームの入力およびデコード後のベースバンド画像データの出力タイミングの制御が必要になるため、複雑な制御が行われていた。特に、スクラブ再生のようなランダムな再生を行う場合、複数のデコーダそれぞれの出力に合わせてセレクタの制御を行わないと、表示すべきない絵を表示してしまう可能性がある。そのため、デコーダそれぞれが表示するべきベースバンド画像データを出力するタイミングにあわせてセレクタを制御するという複雑な処理が必要となり、ユーザが接続位置を指定する操作入力を行ってから、接続ストリームの再生出力までのレスポンスが遅くなってしまう。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、符号化ストリームを所望の編集点で接続した場合の再生画像を複雑な制御なしに再生出力することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の情報処理装置は、第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する情報処理装置であって、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得する操作入力取得手段と、符号化ストリームを一時保持する保持手段と、前記操作入力手段により入力された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの前記保持手段への供給を制御する供給制御手段と、前記保持手段に保持されている前記符号化ストリームをデコードするデコード手段と、前記デコード手段によりデコードされて生成されたデータの出力タイミングを指令する指令手段とを備える。
【０００９】
前記操作入力手段により入力された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示す制御情報を生成する制御情報生成手段を更に備えさせるようにすることができる。
【００１０】
前記供給制御手段には、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームの前記保持手段への供給を制御させるようにすることができる。
【００１１】
前記第１の符号化ストリームおよび前記第２の符号化ストリームは、GOP構造を有しているものとすることができ、前記供給制御手段には、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを含むGOP単位のデータの前記保持手段への供給を制御させるようにすることができる。
【００１２】
前記指令手段により指令される前記データの出力タイミングの指令を予測し、前記データの出力タイミングの指令よりも先行して前記保持手段へ前記第１の符号化ストリームと前記第２の符号化ストリームとが供給されるように、前記保持手段への前記符号化ストリームの供給のタイミングを制御する供給タイミング制御手段と、前記保持手段に保持されている前記符号化ストリームのうち、他のフレームをデコードする場合に参照されるフレームのうちの少なくとも一部が優先的にデコードされるように、前記デコード手段によるデコードを制御するデコード制御手段とを更に備えさせるようにすることができる。
【００１３】
前記第１の符号化ストリームおよび前記第２の符号化ストリームは、所定の転送単位のデータとして前記保持手段へ供給されるものとすることができ、前記供給タイミング制御手段には、前記保持手段への供給が制御された前記所定の転送単位のデータのうち表示されるフレームの数が所定のフレーム数以下である場合、更に、次の前記所定の転送単位のデータの前記保持手段への供給を制御させるようにすることができる。
【００１４】
前記供給制御手段には、前記保持手段への供給が制御される前記符号化ストリームの前記保持手段への供給単位を更に決定させるようにすることができる。
【００１５】
前記符号化ストリームは、Ｂピクチャを含むＧＯＰ構造を有するものとすることができ、前記指令手段により出力が指令された前記データに対応するフレームが、このフレームが含まれる第１のＧＯＰとは異なる第２のＧＯＰに含まれるフレームを参照してデコードされるＢピクチャに含まれ、かつ、前記第１のGOPおよび前記第２のGOPがいずれも前記保持手段へ供給されていない場合、前記供給手段には、前記第１のＧＯＰのうちの前記第２のＧＯＰに含まれるフレームを参照してデコードされる前記Ｂピクチャおよびこれらのフレームをデコードするために必要なフレーム、並びに、前記第２のＧＯＰを、前記保持手段への供給単位として決定させるようにすることができる。
【００１６】
本発明の一側面の情報処理方法およびプログラムは、第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する情報処理装置の情報処理方法であって、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得し、取得された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの、保持部への供給を制御し、前記保持部に保持されている前記符号化ストリームがデコードされて生成されたデータの出力タイミングを指令するステップを含む。
【００１７】
本発明の一側面においては、第１の符号化ストリームと第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力が取得され、取得されたユーザの操作入力に基づいて、第１の符号化ストリームと第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータが保持され、保持されている符号化ストリームがデコードされ、生成されたデータの出力タイミングが指令される。
【００１８】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００１９】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【００２０】
再生装置は、独立した装置であっても良いし、編集装置や記録再生装置の再生処理を行うブロックであっても良い。
【発明の効果】
【００２１】
以上のように、本発明の一側面によれば、デコードされたデータを出力することができ、特に、ユーザの操作入力に基づいて、第１の符号化ストリームと第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータをデコーダに供給するようにしたので、１つのデコーダで、編集処理を行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２３】
本発明の一側面の情報処理装置は、第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する情報処理装置（例えば、図２の再生装置１）であって、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得する操作入力取得手段（例えば、図２のCPU11が有する機能のうちの図５の操作入力取得部５１)と、符号化ストリームを一時保持する保持手段（例えば、図２のメモリ１８）と、前記操作入力手段により入力された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの前記保持手段への供給を制御する供給制御手段（例えば、図２のＣＰＵ１１が有する機能のうちの図５の転送ＧＯＰ決定部５２）と、前記保持手段に保持されている前記符号化ストリームをデコードするデコード手段（例えば、図２のデコーダ２３）と、前記デコード手段によりデコードされて生成されたデータの出力タイミングを指令する指令手段（例えば、図２のＣＰＵ１１が有する機能のうちの図３の表示コマンド送出部６７）とを備える。
【００２４】
前記操作入力手段により入力された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示す制御情報(例えば、出力範囲指定コマンド)を生成する制御情報生成手段（例えば、図２のＣＰＵ１１が有する機能のうちの図５の出力範囲情報設定部５４）を更に備えることができる。
【００２５】
前記指令手段により指令される前記データの出力タイミングの指令を予測し、前記データの出力タイミングの指令よりも先行して前記保持手段へ前記第１の符号化ストリームと前記第２の符号化ストリームとが供給されるように、前記保持手段への前記符号化ストリームの供給のタイミングを制御する供給タイミング制御手段（例えば、図２のＣＰＵ１１が有する機能のうちの図５のＧＯＰ転送タイミング制御部５３）と、前記保持手段に保持されている前記符号化ストリームのうち、他のフレームをデコードする場合に参照されるフレーム(例えば、アンカーフレーム)のうちの少なくとも一部(例えば、保有アンカーフレーム)が優先的にデコードされるように、前記デコード手段によるデコードを制御するデコード制御手段（例えば、図２のＣＰＵ２０が有する機能のうちの図５のデコードスケジュール処理部７３およびデコード制御部７４）とを更に備えることができる。
【００２６】
前記第１の符号化ストリームおよび前記第２の符号化ストリームは、所定の転送単位（例えば、ＧＯＰ単位、または、元のストリームを構成するＧＯＰのうちのクリップ再生に必要なフレームのみのＧＯＰ単位）のデータとして前記保持手段へ供給されるものとすることができ、前記供給タイミング制御手段は、前記保持手段への供給が制御された前記所定の転送単位のデータのうち表示されるフレームの数が所定のフレーム数以下である場合、更に、次の前記所定の転送単位のデータの前記保持手段への供給を制御することができる。
【００２７】
前記符号化ストリームは、Ｂピクチャを含むＧＯＰ構造を有することができ、前記指令手段により出力が指令された前記データに対応するフレームが、このフレームが含まれる第１のＧＯＰとは異なる第２のＧＯＰに含まれるフレームを参照してデコードされるＢピクチャ（例えば、MPEG LongGOPのＧＯＰ先頭の２枚のＢピクチャ）に含まれ、かつ、前記第１のGOPおよび前記第２のGOPがいずれも前記保持手段へ供給されていない場合、前記供給手段は、前記第１のＧＯＰのうちの前記第２のＧＯＰに含まれるフレームを参照してデコードされる前記Ｂピクチャおよびこれらのフレームをデコードするために必要なフレーム、並びに、前記第２のＧＯＰを、前記保持手段への供給単位として決定することができる。
【００２８】
本発明の第１の側面の情報処理方法およびプログラムは、第１の符号化ストリームの少なくとも一部と第２の符号化ストリームの少なくとも一部とが接続された状態での再生出力を制御する情報処理装置（例えば、図２の再生装置１）の情報処理方法であって、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲を示すユーザの操作入力を取得し（例えば、図１９のステップＳ１の処理)、取得された前記ユーザの操作入力に基づいて、前記第１の符号化ストリームと前記第２の符号化ストリームとのうちの再生出力される範囲の符号化ストリーム、および、これらをデコードするために必要な符号化ストリームを少なくとも含むデータの、保持部（例えば、図２のメモリ１８）への供給を制御し（例えば、図１９のステップＳ７乃至ステップＳ９の処理)、前記保持部に保持されている前記符号化ストリームがデコードされて生成されたデータの出力タイミングを指令する（例えば、図１９のステップＳ１０の処理)ステップを含む。
【００２９】
以下、図を参照して、本発明の実施の形態について説明する。
【００３０】
図２は、再生装置１のハードウェア構成を示すブロック図である。
【００３１】
ＣＰＵ（Central Processing Unit）１１は、ノースブリッジ１２に接続され、例えば、ＨＤＤ（Hard disk Drive）１６に記憶されているデータの読み出しなどの処理を制御したり、ＣＰＵ２０が実行するデコードのスケジューリング、デコードおよび表示出力の制御などの処理の開始、変更、または終了を指令するためのコマンドを生成し、出力する。ノースブリッジ１２は、ＰＣＩ（Peripheral Component Interconnect/Interface）バス１４に接続され、例えば、ＣＰＵ１１の制御に基づいて、サウスブリッジ１５を介して、ＨＤＤ１６に記憶されているデータの供給を受けて、ＰＣＩバス１４、ＰＣＩブリッジ１７を介して、メモリ１８に供給する。また、ノースブリッジ１２は、メモリ１３とも接続されており、ＣＰＵ１１の処理に必要なデータを授受する。
【００３２】
メモリ１３は、ＣＰＵ１１が実行する処理に必要なデータを保存することが可能な、例えば、ＤＤＲ（Double Data Rate）等の高速アクセス可能な記憶用のメモリである。サウスブリッジ１５は、ＨＤＤ１６のデータの書き込みおよび読み出しを制御する。ＨＤＤ１６には、圧縮符号化されたストリームデータが記憶されている。
【００３３】
ＰＣＩブリッジ１７は、コマンドバッファ３１およびリザルトバッファ３２を内部に備えるとともに、ＣＰＵ１１の制御に基づいてＨＤＤ１６から読み出されたストリームデータをバッファリングするメモリ１８が接続されている。ＰＣＩブリッジ１７は、ＣＰＵ１１の制御に基づいてＨＤＤ１６から読み出されたストリームデータを、メモリ１８に供給して保存させることができるとともに、ＣＰＵ２０の制御に基づいて、メモリ１８に保存されているストリームデータを読み出して、デコーダ２３に接続されているメモリ２２に供給する。また、ＰＣＩブリッジ１７は、ＰＣＩバス１４またはコントロールバス１９を介したコマンドまたはリザルトに対応する制御信号の授受を制御する。
【００３４】
コマンドバッファ３１は、ＣＰＵ１１から、ノースブリッジ１２およびＰＣＩバス１４を介してコマンドの書き込みを受けるとともに、ＣＰＵ２０から、コントロールバス１９を介して、書き込まれているコマンドが読み出されるようになされている。また、リザルトバッファ３２は、コントロールバス１９を介して、ＣＰＵ２０によりコマンドに対するリザルトの書き込みを受けるとともに、ＣＰＵ１１から、ノースブリッジ１２およびＰＣＩバス１４を介して、書き込まれているリザルトが読み取られるようになされている。
【００３５】
メモリ１８は、ＰＣＩブリッジ１７の制御に基づいて、ＨＤＤ１６により読み出された、圧縮符号化されたストリームデータを記憶するものであり、例えば、SDRAM（Synchronous Dynamic Random Access Memory）等で構成されている。
【００３６】
ＣＰＵ２０は、コントロールバス１９を介して、ＣＰＵ１１によりＰＣＩブリッジ１７のコマンドバッファ３１に書き込まれたコマンドを読み取り、このコマンドにしたがって、ＰＣＩブリッジ１７、メモリ２２、および、デコーダ２３が実行する処理を制御する。メモリ２１は、ＣＰＵ２０の処理に必要なデータを記憶する。
【００３７】
デコーダ２３は、ＣＰＵ２０の制御に基づいて、供給された圧縮符号化されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコーダ２３は、１フレームが表示される表示時間よりも充分短い時間（例えば、１フレームが表示される時間の１／４や１／３程度）に１フレームをデコードすることができる。デコーダ２３にはメモリ２２が接続されている。メモリ２２には、ＰＣＩブリッジ１７から供給された圧縮符号化されたストリームデータ、または、デコーダ２３によりデコードされた非圧縮の映像信号を保持することが可能なようになされている。また、デコーダ２３は、再生装置１に含まれない独立した装置として設けられていても良い。
【００３８】
なお、図２の再生装置１は、１つの装置として構成されていても良いし、複数の装置によって構成されるようにしても良い。例えば、図２の再生装置１のうち、ＣＰＵ１１、ノースブリッジ１２、メモリ１３、サウスブリッジ１５、および、ＨＤＤ１６の部分が、パーソナルコンピュータの構成のうちの一部であるとし、PCIカード、PCI−Expressカードなどの拡張カード、または、拡張ボードに、ＰＣＩバス１４、ＰＣＩブリッジ１７、メモリ１８、コントロールバス１９、ＣＰＵ２０、メモリ２１、メモリ２２、および、デコーダ２３の機能を備えさせ、パーソナルコンピュータに拡張カードを装着して再生装置１として機能するようにしても良い。また、これらを、さらに複数の装置に分割して、再生装置１を構成するようにしても良い。
【００３９】
次に、再生装置１の動作について説明する。
【００４０】
ＨＤＤ１６には、ＭＰＥＧのLong GOP方式で圧縮された圧縮映像のデータが記憶されている。
【００４１】
一連の連続した映像の一部分だけを切り抜き、その部分をクリップとする。そのクリップを複数集めて1つの連続した映像のように再生することをクリップ再生と称する。
【００４２】
すなわち、図３に示されるように、編集画像の素材となる第１のストリームのうちの一部分であるクリップ２と、編集画像の素材となる第２のストリームのうちの一部分であるクリップ４とを接続したい場合、クリップ２のそれぞれのフレームをデコードするために必要なフレームが、第１のストリームの表示されない(クリップ２に含まれない)部分１に存在するとき、デコーダ２３には、参照に必要なフレーム群１´とクリップ２とが入力されてデコードされるとともに、クリップ４のそれぞれのフレームをデコードするために必要なフレームが、第２のストリームの表示されない(クリップ４に含まれない)部分３に存在するとき、デコーダ２３には、参照に必要なフレーム群３´とクリップ４とが入力されてデコードされる。そして、デコーダ２３は、第１のストリームのうちの一部分であるクリップ２の部分のベースバンド画像データと、編集画像の素材となる第２のストリームのうちの一部分であるクリップ４の部分のベースバンド画像データとを接続して出力することができるようになされている。
【００４３】
そのとき、クリップの切れ目によっては、表示出力はされないが、デコードする必要のあるフレーム（すなわち、図３におけるフレーム群１´およびフレーム群３´）が存在する。
【００４４】
図４に示されるように、ストリームAのあるGOPのうちのB9ピクチャとB10ピクチャとの間がクリップの切れ目とされて、B9ピクチャまでがクリップAとされたとき、クリップAの最終GOPのB9ピクチャをデコードするためには、クリップAに含まれないP11ピクチャが必要となる。そして、ストリームBのあるGOPと次のGOPとの間がクリップの切れ目とされて、GOP先頭のB０ピクチャ以降がクリップBとされたとき、クリップBの先頭GOPのB0ピクチャおよびB1ピクチャをデコードするためには、クリップBに含まれないその前のGOPのIピクチャおよびPピクチャが全て必要となる。すなわち、表示するフレームの参照画を作成するために表示はしないがデコードしなければいけないフレームの最大フレーム数は6フレームである。
【００４５】
ＣＰＵ１１は、ノースブリッジ１２を介して、サウスブリッジ１５を制御して、図示しない操作入力部から供給された、クリップ再生で用いられるストリームと、クリップ再生における再生範囲とを示す操作入力を基に、ＨＤＤ１６から、圧縮符号化された複数のストリームデータの所定の部分を読み出させ、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介して、メモリ１８に供給させて記憶させるとともに、１ＧＯＰのデータのメモリ１８への転送を完了したことを示すＧＯＰ転送完了コマンド、転送したＧＯＰのうち表示される範囲、すなわち、クリップ再生において表示されるフレーム範囲を示すコマンドである出力範囲指定コマンド、再生スピード（再生方向を示す情報を含む）を示す情報、デコード開始を指令するコマンド、または、表示の開始を指令するコマンドなどを、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に書き込む。
【００４６】
ＣＰＵ２０は、ＰＣＩブリッジ１７のコマンドバッファ３１に書き込まれたＣＰＵ１１からのコマンドを基に、圧縮符号化されたストリームデータのデコードおよび出力（表示）のスケジュールを決定する。具体的には、ＣＰＵ２０は、圧縮符号化されたストリームデータのメモリ１８からメモリ２２への転送のタイミング、圧縮符号化されたストリームデータのメモリ２２からデコーダ２３への入力のタイミング、フレームごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定する。
【００４７】
そして、ＣＰＵ２０は、ＰＣＩブリッジ１７を制御して、メモリ１８に記憶されている圧縮符号化されたストリームデータを、決定されたスケジュールに基づいて、メモリ２２に供給し、デコーダ２３に供給させる。
【００４８】
ＣＰＵ２０は、デコーダ２３を制御して、メモリ２２を介して供給された圧縮符号化されたデータをデコードさせる。デコーダ２３は、供給された圧縮符号化されたストリームデータをデコードして、非圧縮のベースバンド画像データを生成して、出力させる。
【００４９】
具体的には、ＣＰＵ２０は、デコーダ２３に、メモリ２２に供給されたＧＯＰのＩピクチャおよびＰピクチャを優先的にデコードさせ、得られた非圧縮のベースバンド画像データをメモリ２２に蓄積させるように制御を行う。デコーダ２３は、１フレームが表示される表示時間よりも充分短い時間に１フレームをデコードすることができるので、表示されるフレームのデコードのための処理を行っていない間に、メモリ２２に蓄積されているＧＯＰのＩピクチャおよびＰピクチャを優先的にデコードし、得られた非圧縮のベースバンド画像データをメモリ２２に蓄積するので、ＣＰＵ１１から表示コマンドが送信された場合、蓄積されたＩピクチャおよびＰピクチャに対応するベースバンド画像データを出力するか、これらを参照画像に用いることにより高速にデコード処理を行うことが可能となる。すなわち、ＣＰＵ１１から、あるフレームの表示コマンドの供給を受けた場合、メモリ２２に表示するべき非圧縮のベースバンド画像データが存在すれば、それを出力させ、存在しなければ、適宜、メモリ２２に蓄積された非圧縮のベースバンド画像データを参照画像として利用して、表示されるフレームをデコードして、非圧縮のベースバンド画像データを生成して、出力させる。なお、GOPに含まれている全てのＩピクチャおよびＰピクチャを優先的にデコードするようにしてもよいが、GOPに含まれているＩピクチャおよびＰピクチャのうちの一部のみを優先的にデコードするようにしてもよい。
【００５０】
デコーダ２３においては、CPU２０の制御に基づいて、ＩピクチャおよびＰピクチャを優先的にデコードするようになされているとともに、クリップを複数集めて1つの連続した映像のように再生するクリップ再生を、デコーダ２３の内部のセレクタを制御することで実現するようになされている。デコーダ２３の詳細な構成およびその動作について、図６乃至図１４を用いて後述する。
【００５１】
次に、図５の機能ブロック図を参照して、ＣＰＵ１１およびＣＰＵ２０が有する機能について説明する。
【００５２】
ＣＰＵ１１は、操作入力取得部５１、転送GOP決定部５２、GOP転送タイミング制御部５３、出力範囲情報設定部５４、レジスタ５５、転送完了コマンド送出部５６、表示コマンド送出部５７、および、リザルト取得部５８を含む機能を有している。
【００５３】
操作入力取得部５１は、サウスブリッジ１５およびノースブリッジ１２を介して図示しない操作入力部から供給されるユーザの操作入力を取得し、ユーザの操作入力を示す情報を、必要に応じて、転送GOP決定部５２、GOP転送タイミング制御部５３、または、出力範囲情報設定部５４に供給する。
【００５４】
転送GOP決定部５２は、操作入力取得部５１から供給されたユーザの操作入力を基に、複数のストリームから構成されるクリップにおいて再生出力されるフレームを求めるとともに、それらのフレームのデコードに必要なフレームを求め、フレーム表示順を予測してスケジューリングし、メモリ１８に転送するべきＧＯＰを決定し、GOP転送タイミング制御部５３および出力範囲情報設定部５４に通知するとともに、ＨＤＤ１６に保存されているストリームからの転送するべきＧＯＰの読み出しと転送を制御する。
【００５５】
上述したように、フレームデータの転送は、基本的にＧＯＰ単位で行われるが、複数のストリームを任意の位置で切り出した複数のクリップで構成されるクリップストリームにおいて、それぞれのクリップの先頭および最後尾のＧＯＰは、編集素材のストリームにおける１ＧＯＰの全てを含んでいるとは限らない。また、図４を用いて説明したように、それぞれのクリップの先頭および最後尾のＧＯＰに含まれるフレームをデコードするために、表示されないフレームをデコーダ２３に供給しなければならない場合がある。例えば、それぞれのクリップの先頭または最後尾のＧＯＰが、編集素材のストリームにおける１ＧＯＰの全てを含んでいない場合、編集素材のストリームにおける１ＧＯＰの全てを転送しても良いが、必要な部分のみ転送するようにしても良い。また、例えば、クリップの先頭のＧＯＰが、編集素材のストリームにおけるMPEG LongGOPの先頭の２枚のＢピクチャを含んでいる場合、これらのＢピクチャをデコードするために、クリップに含まれない、一つ前のＧＯＰをデコーダ２３に供給する必要がある。転送GOP決定部５２は、このような場合、クリップに含まれないＧＯＰであっても、デコーダ２３に供給されるように、メモリ１８に転送するべきＧＯＰを決定する。
【００５６】
また、上述したように、フレームデータの転送は、基本的にＧＯＰ単位で行われるが、スクラブ再生において最初に表示されるフレーム、または、クリップの先頭のフレームがGOPの先頭のB0,B1である場合、図４を用いて説明したように、前のGOPのフレームを参照するため、例外処理が必要となる。
【００５７】
特に、高速再生などにより再生フレームが連続しない場合、完全にGOP単位で転送を実行すると、スクラブ再生において最初に表示されるフレーム、または、クリップの先頭のフレームを含むGOP(n)に対して、一つ前のGOP(n―1)を更に加えた2GOP分の転送を行う必要がある。しかしながら、スクラブ再生においては、再生位置が高速で移動することは頻繁に行われており、次に表示されるフレームがGOP(n)以外のＧＯＰに含まれるフレームである可能性が高く、その場合においては、GOP(n)のデータをすべて転送すると転送データの無駄が多くなってしまう。
【００５８】
そのため、転送GOP決定部５２は、例外処理として、表示されるフレームがGOPの先頭のB0,B1である場合、表示するフレームがあるGOPの前のGOPであるGOP(n―1)に、表示するフレームがあるGOPであるGOP(n)のI2,B0,B1を加えた形で転送するように、データ転送を制御する。そして、その後、通常再生が指令されるなどして、GOP(n)に含まれるフレームの表示が指令された場合には、通常通り、GOP(n)を転送しても、データ転送の冗長部分はI2,B0,B1の分だけで、制御も複雑にならない。このことにより、データ転送の無駄が少なくなり、データ転送効率が向上する。
【００５９】
GOP転送タイミング制御部５３は、必要に応じて、レジスタ５５に設けられている各種の制御キューを用いて、メモリ１８に蓄積されているGOPを管理することにより、ＧＯＰのメモリ１８への転送のタイミングを制御する。
【００６０】
すなわち、上述したように、フレームデータの転送は、基本的にＧＯＰ単位で行われるが、あるフレームの表示の指令が行われた時に、そのフレームを含むGOPを転送したのでは、フレームの表示の指令から表示までのレスポンスが非常に悪くなってしまう。そこで、GOP転送タイミング制御部５３は、表示されるフレームを予測することにより、表示指令に先立って、GOPデータを転送する。これによって、デコーダ２３において、転送されたGOPのIピクチャおよびPピクチャを予めデコードして、メモリ２２に蓄積しておくことができるようになされている。
【００６１】
また、それぞれのクリップの先頭および最後尾のＧＯＰは、編集素材のストリームにおける１ＧＯＰの全てを含んでいるとは限らないため、転送されるのが、フレーム数の少ない短いＧＯＰである場合、または、転送されたGOPに含まれるフレーム数が多くても表示フレーム数が少ないＧＯＰである場合には、次のＧＯＰの転送を早めなければ、表示が間に合わない恐れがある。したがって、GOP転送タイミング制御部５３は、転送されたGOPに含まれる表示フレーム数を考慮して、ＧＯＰの転送タイミングを制御する。転送タイミング制御の詳細については、後述する。
【００６２】
出力範囲情報設定部５４は、転送GOP決定部５２により転送が決定されたＧＯＰのうち、表示出力される範囲を決定し、出力範囲情報を生成して、対応するＧＯＰの転送が完了した後、転送完了コマンドの供給前に、出力範囲指定コマンドの、コマンドバッファ３１への供給を制御する。
【００６３】
すなわち、上述したように、フレームデータの転送は、基本的にＧＯＰ単位で行われるが、それぞれのクリップの先頭および最後尾のＧＯＰは、編集素材のストリームにおける１ＧＯＰの全てを含んでいるとは限らないし、また、クリップに含まれるフレームのデコードのために参照されるフレームを含むＧＯＰが転送される場合は、そのＧＯＰのフレームは全く表示出力されない可能性がある。出力範囲情報設定部５４は、転送GOP決定部５２により転送が決定されたＧＯＰのうち、表示出力される範囲を決定し、出力範囲情報である出力範囲指定コマンドを生成して、転送完了コマンドとともに、コマンドバッファ３１に送信させる。
【００６４】
レジスタ５５は、GOP転送タイミング制御部５３がGOP転送タイミングを制御するために用いる各種キューを含み、処理に必要な各種パラメータなどを保持するものである。
【００６５】
転送完了コマンド送出部５６は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジのコマンドバッファ３１に、転送完了コマンドを送出する。転送完了コマンド送出タイミング制御の詳細については、後述する。
【００６６】
表示コマンド送出部５７は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジのコマンドバッファ３１に、表示コマンドを送出する。表示コマンド送出タイミング制御の詳細については、後述する。
【００６７】
リザルト取得部５８は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジのリザルトバッファ３２からコマンドに対するリザルトを取得する。
【００６８】
そして、ＣＰＵ２０は、コマンド取得部７１、メモリ間転送制御部７２、デコードスケジュール処理部７３、デコード制御部７４、レジスタ７５、および、リザルト送出部７６を含む機能を有している。
【００６９】
コマンド取得部７１は、ＣＰＵ１１の出力範囲情報設定部５４、転送完了コマンド送出部５６、または、表示コマンド送出部５７により送出され、ＰＣＩブリッジ１７のコマンドバッファ３１に保持されているコマンドを、コントロールバス１９を介して取得する。
【００７０】
メモリ間転送制御部７２は、コマンド取得部７１により取得された転送完了コマンドおよび表示コマンドに基づいて、メモリ１８に転送されたそれぞれのＧＯＰの、メモリ２２への転送を制御する。
【００７１】
デコードスケジュール処理部７３は、コマンド取得部７１により取得された、出力範囲指定コマンド、転送完了コマンド、および、表示コマンドに基づいて、メモリ間転送制御部７２によりメモリ２２への転送が制御されたそれぞれのＧＯＰに含まれるフレームのデコードスケジュールを決定する。デコードスケジュール処理部７３は、表示のために必要なデコード処理が行われない時間を用いて、メモリ２２に保持されているフレームのうちのＩピクチャおよびＰピクチャが優先的にデコードされるように、デコードのスケジュールを行う。なお、優先的にデコードされるのは、全てのＩピクチャおよびＰピクチャであっても、そのうちの少なくとも一部であっても良い。また、デコードスケジュール処理部７３は、先行してデコードされ、メモリ２２に蓄積されているＩピクチャおよびＰピクチャを用いて、表示が指令されたフレームのベースバンド画像データが迅速に出力されるように、デコードのスケジュールを行う。
【００７２】
デコード制御部７４は、デコードスケジュール処理部７３によるデコードスケジュールに基づいて、デコーダ２３によるデコード処理を制御する。
【００７３】
レジスタ７５は、メモリ間転送制御部７２が、それぞれのメモリやデコーダに供給されているGOPを管理するための各種制御キューを含み、処理に必要な各種パラメータなどを保持するものである。
【００７４】
リザルト送出部７６は、コマンド取得部７１により取得された転送完了コマンドおよび表示コマンドに対するリザルトを、コントロールバス１９を介して、ＰＣＩブリッジ１７のリザルトバッファ３２に送出する。
【００７５】
再生装置１においては、複数のクリップを複数のデコーダに割り当てるのではなく、複数のクリップに含まれるフレーム、および、それらをデコードするために必要なフレームをデコーダ２３に供給し、予めＩピクチャおよびＰピクチャをデコードしておくようにすることにより、１つのデコーダで、クリップ再生を実現することができ、更に、クリップストリームの変速再生、スクラブ再生、および、短い区間で正方向と逆方向の再生を連続して指令するトランジェント再生を行うことができるようになされている。
【００７６】
このような構成を有することにより、従来のように、複数のデコーダを用いていた場合と比較して、デコーダの入力段および出力段にセレクタを持つ必要もなく、制御も簡単になる。
【００７７】
また、このようにして、再生装置１においては、先行して転送されたGOPデータのIピクチャおよびPピクチャのうちの少なくとも一部を、表示のためのデコード処理の空いている時間にデコードして蓄積しておき、表示の指令を受けたとき、デコード済みのベースバンド画像データが既に存在している場合は、そのデコード済みのベースバンド画像データを出力し、表示されるフレームが蓄積されていない場合は、デコード済みのベースバンド画像データを適宜参照画として用いて表示されるフレームをデコードし、出力することができるようになされている。
【００７８】
図６は、デコーダ２３の更に詳細な構成を示すブロック図である。
【００７９】
入力処理部１５１は、ＰＣＩブリッジ１７から供給された圧縮符号化されたストリームデータをストリームバッファ２２−１に保存させるとともに、供給されたストリームデータから、ピクチャ単位で、先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどを取得して、ストリーム情報バッファ２２−２に供給する。
【００８０】
ストリームバッファ２２−１は、例えば、SDRAMなどの記憶用のメモリで構成された図２のメモリ２２のうちの所定の記憶領域であり、入力処理部１５１から供給されたストリームデータをバッファリングし、セレクタ１５２に供給する。ストリームバッファ２２−１には、少なくとも、後述するフレームメモリ２２−３に保持可能なIピクチャおよびPピクチャ（アンカーフレームとも称する）のGOP数と同数のGOP数のストリームデータが保持可能なようになされている。また、ストリームバッファ２２−１が、後述するフレームメモリ２２−３に保持可能なアンカーフレームのGOP数以上の数のＧＯＰを保持することができるようになされていると、例えば、再生方向が逆転したり、再生開始位置が変更した場合に、ストリームバッファ２２−１に新たなＧＯＰを供給しなくても対応することができる可能性が高くなるため、好適である。
【００８１】
ストリーム情報バッファ２２−２は、図２のメモリ２２のうちの所定の記憶領域であり、入力処理部１５１から供給された、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどの情報を、それぞれ、ピクチャ別に保持する。
【００８２】
デコードコントローラ１５３は、ＣＰＵ２０から供給される制御信号に基づいて、ストリームバッファ２２−１に保持されている各ピクチャのアドレスやストリーム情報をストリーム情報バッファ２２−２から読み込んで、デコーダ２３の各部の処理を制御する。
【００８３】
具体的には、デコードコントローラ１５３は、出力範囲指定コマンドなどに基づいて設定されたデコードスケジュールに基づいてＣＰＵ２０により制御され、セレクタ１５２を制御することにより、デコード処理部１５４に供給されるピクチャそれぞれのピクチャのデコードタイミングを制御する。また、デコードコントローラ１５３は、セレクタ１５５を制御して、デコード処理部１５４によりデコードされて得られたベースバンド画像信号のフレームメモリ２２−３における格納位置を制御する。そして、デコードコントローラ１５３は、セレクタ１５６を制御することにより、フレームメモリ２２−３から参照画像としてデコード処理部１５４に供給されるベースバンド画像信号、すなわち、デコード処理部１５４において実行されるＰピクチャまたはＢピクチャのデコードにおける参照画像の供給を制御する。そして、デコードコントローラ１５３は、ＣＰＵ２０から出力範囲指定コマンドに基づいて設定されたデコード済みの画像データの出力スケジュールに基づいて制御され、フレームメモリ２２−３からセレクタ１５７が読み出して出力するベースバンド画像信号を制御することにより、表示などのために出力されるデコード済みのベースバンド画像信号の出力、すなわち、再生画像の表示のタイミングを制御する。
【００８４】
セレクタ１５２は、デコードコントローラ１５３の制御に基づいて、ストリームバッファ２２−１に保存されたストリームデータを、ピクチャ単位でデコード処理部１５４に供給する。
【００８５】
デコード処理部１５４は、セレクタ１５２から供給されたＭＰＥＧビデオストリームを、セレクタ１５６から供給された参照画を必要に応じて参照してデコードし、デコードされたベースバンド（非圧縮）の画像信号を、セレクタ１５５に供給する。
【００８６】
セレクタ１５５は、デコードコントローラ１５３の制御に基づいて、デコード処理部１５４によりデコードされて供給されたベースバンドの画像信号のフレームメモリ２２−３における記録位置、すなわち、ベースバンドの画像信号が保存されるバンク位置を決定し、デコード処理部１５４から供給されたベースバンドの画像信号を、フレームメモリ２２−３の所定のバンク位置に保存させる。換言すれば、デコードコントローラ１５３は、デコード処理部１５４によりデコードされて得られるベースバンドの画像信号のフレームメモリ２２−３におけるバンク位置を決定し、その位置にベースバンドの画像信号が記録されるように、セレクタ１５５を制御する。
【００８７】
フレームメモリ２２−３は、図２のメモリ２２のうちの所定の記憶領域であり、他のピクチャの参照画像として用いられるIピクチャ、および、Ｐピクチャを格納する参照バンクとＢピクチャなどを表示するために用意された表示専用バンクから構成され、参照バンクには、予めデコードされて保有されるアンカーフレームのための参照バンクと、再生出力されるタイミングに応じてデコードされるアンカーフレームのための参照バンクとが、それぞれ別に用意されている。フレームメモリ２２−３におけるバンク構成の例については、図１１を用いて後述する。
【００８８】
セレクタ１５６は、デコードコントローラ１５３の制御に基づいて、フレームメモリ２２−３のうち、Ｐピクチャの前方向（forward）の参照画像バンクとして指定されたバンクに保持されているフレーム画像データや、Ｂピクチャの前方向および後ろ方向（backward）の参照画像バンクとして指定されたバンクに保持されているフレーム画像データを読み出し、デコード処理部１５４に供給する。
【００８９】
セレクタ１５７は、デコードコントローラ１５３の制御に基づいて、フレームメモリ２２−３に保持されているフレーム画像データのうちの出力画像、すなわち、表示させるフレームのバンクを指定して読み出し、出力する。
【００９０】
次に、デコーダ２３の動作について説明する。ここでは、その一例として、Ｎ１５、Ｍ３のMPEG LongGOPをデコードする場合について説明する。
【００９１】
入力処理部１５１に、供給されるそれぞれのＧＯＰは、図７に示されるように、Ｉ，Ｐ，Ｂピクチャにより構成されるそれぞれのピクチャのデータ以外に、ＧＯＰのヘッダ情報を含んでいる。ＧＯＰのヘッダ情報は、ＨＤＤ１６に保持されているストリームデータを構成するそれぞれのＧＯＰに予め付与されているか、または、ＣＰＵ２０の処理によりＧＯＰのヘッダ情報が生成されて、ＨＤＤ１６から読み出されてデコーダ２３に供給されるストリームデータを構成するそれぞれのＧＯＰに付与されるようになされている。
【００９２】
ＧＯＰのヘッダ情報には、例えば、GOP ID、そのGOPに含まれるフレームの数、およびそのGOPに含まれるアンカーフレームの数などが含まれる。
【００９３】
入力処理部１５１は、ピクチャデータをストリームバッファ２２−１に供給するとともに、ＧＯＰのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどの情報を、ストリーム情報バッファ２２−２に供給する。
【００９４】
ストリーム情報バッファ２２−２は、上述したＧＯＰのヘッダ情報と、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどの情報を保持する。
【００９５】
デコードコントローラ１５３は、ストリーム情報バッファ２２−２に保存されている、上述したＧＯＰのヘッダ情報とピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどの情報とを基に、デコード対象のGOPのそれぞれのピクチャのデコード関連情報を生成し、そのGOPのヘッダ情報と表示順にリオーダした表示順のデコード関連情報により構成される、図８に示されるストリームバッファGOPキューを管理する。
【００９６】
デコード関連情報は、ピクチャ出力要求時のデコード処理において必要になる情報であり、例えば、該当するピクチャが、保有アンカーフレームであるか、非保有アンカーフレームであるか、GOPの先頭のBピクチャであるか、GOPの先頭以外のBピクチャであるかを示すタイプ情報、デコード済みのベースバンド画像の格納先を示す情報であるデコード画格納先バンク、該当するピクチャをデコードするために必要である参照画像のうちの前方向の参照画を示す前方参照画Index番号、および、該当するピクチャをデコードするために必要である参照画像のうちの後ろ方向の参照画を示す後方参照画Index番号のうちの、必要なもので構成される。
【００９７】
ストリームバッファGOPキューにおいては、１GOP分のデコード関連情報が１つのデータ単位として管理されるようになされており、FIFO(First in First Out)で構成されるか、または、新たなデータがPUSHされた場合に、現在再生中のGOPから最も離れたGOPの情報がPOPされるようになされている。
【００９８】
デコーダ２３においては、すべてのアンカーフレームをＢピクチャの前に予めデコードしてもよいが、ここでは、数枚おきに選択されたアンカーフレームのみをＢピクチャの前に予めデコードするものとして説明する。
【００９９】
具体的には、例えば、デコーダ２３においては、図９に示されるように、ＧＯＰ内のアンカーフレームを、Iピクチャから１つおきに予めデコードしておくようにしてもよい。以下、予めデコードされ、バンクに保持されるアンカーフレームを保有アンカーフレーム、予めデコードされない、すなわち、予めバンクに保持されないアンカーフレームを非保有アンカーフレームと称するものとする。
【０１００】
具体的には、例えば、N:15、M:3、GOP ID 1のGOPが入力され、GOP ID 1のGOP保有アンカー情報でGOPの保有アンカーフレームが使用している先頭バンクが1である場合、図１０に示されるように、ストリームバッファＧＯＰキューに情報が蓄積される。
【０１０１】
すなわち、該当するＧＯＰのＧＯＰヘッダ情報には、GOP ID１、フレーム数１５、および、アンカーフレーム数５が記載される。そして、デコード関連情報には、ピクチャの表示順にリオーダリングされたそれぞれのピクチャのピクチャタイプ、デコード画格納先バンク、前方参照画インデックス番号および後方参照画インデックス番号が記載される。ここでは、ピクチャタイプは、Ｉ，Ｂ，Ｐの分類ではなく、保有アンカーフレームであるか、非保有アンカーフレームであるか、ＧＯＰの先頭の２枚のＢピクチャのうちのいずれかであるか（先頭Ｂピクチャ）、または、ＧＯＰの先頭以外のＢピクチャのうちのいずれかであるか（非先頭Ｂピクチャ）の分類で示される。そして、インデックス２のＩピクチャ、インデックス８のＰピクチャ、および、インデックス１４のＰピクチャが保有アンカーフレームとされ、インデックス５のＰピクチャ、および、インデックス１１のＰピクチャが非保有アンカーフレームとされる。
【０１０２】
そして、デコード画格納先バンクは、保有アンカーフレームのみ予め確定され、バンクナンバーが記載されるが、非保有アンカーフレームおよびＢピクチャにおいては、デコード関連情報が生成される時点においては、まだ確定されていないため、不定値となる。また、インデックス番号が0、1である先頭Ｂピクチャ（前GOPのIピクチャまたはPピクチャを参照画像とするＢピクチャ）の前方参照画インデックス番号は、初期設定時にストリームバッファに前GOPが存在していない可能性があるため、この時点では設定されず、デコード時に前GOPの最後のIピクチャまたはPピクチャを検索して、検索されたときに設定される。そして、それ以外のＢピクチャの前方参照画インデックス番号および後方参照画インデックス番号、および、Ｐピクチャの前方参照画インデックス番号が、それぞれ設定される。
【０１０３】
そして、デコードコントローラ１５３は、ストリームバッファGOPキューによって管理されているデコード関連情報を基に、供給されたストリームデータにおけるそれぞれのフレームのデコードのタイミングを制御する。
【０１０４】
すなわち、デコードコントローラ１５３は、すべてのアンカーフレームではなく、例えば、図９を用いて説明した場合のように、Iピクチャから１枚おきとなるアンカーフレームか、または、数枚おきに選択されたアンカーフレームのみを、保有アンカーフレームとして設定し、Ｂピクチャがデコードされる前のデコード処理の空き時間に、デコード処理部１５４によって予めデコードさせるように、セレクタ１５２を制御する。
【０１０５】
上述したように、デコード処理部１５４は、１フレームの表示時間に対して充分に短い持間（例えば、１フレームの表示時間の１／３乃至１／４程度）で、１フレームをデコードすることが可能である。したがって、デコードコントローラ１５３は、フレームメモリ２２−３に保持可能な数の保有アンカーフレームが、１GOP単位で予めデコードされて、フレームメモリ２２−３の所定のバンクに供給されて、保持されるよう、セレクタ１５２、セレクタ１５５、および、セレクタ１５６をそれぞれ制御する。
【０１０６】
ＧＯＰ内の１つおきのアンカーフレームが保有アンカーフレームとされ、フレームメモリ２２−３として、Ｘフレームのベースバンド画像データを一時保持する領域、および、２フレーム分の表示用画像データを一時保持する領域を確保することができた場合、すなわち、Ｘ＋２バンクのバンクメモリが確保された場合のバンク構成図を、図１１に示す。
【０１０７】
フレームメモリ１３１−３のＸ＋２フレーム分のバンクのうち、２バンクは、Ｂピクチャまたは非保有アンカーフレームの表示専用バンクに用いられる。そして、それ以外のバンク、すなわち、Ｘフレーム分のバンクは、参照画像用に用いられる。Ｘフレーム分の参照画像用バンクのうち、１つは、保有アンカーフレームが予めデコードされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するための非保有アンカーバンクとして用いられる。そして、他の１つは、表示されるＢピクチャがデコーされるときに参照画像として用いる非保有アンカーフレームのベースバンド画像を格納するためのＢピクチャ表示用非保有アンカーバンクとして用いられる。そして、それ以外のＸ−２フレーム分のバンクが、デコードされた保有アンカーフレームを格納する保有アンカーバンクとして用いられる。
【０１０８】
具体的には、保有アンカーフレームであるＩピクチャがデコードされる場合、Ｉピクチャは単独でデコードされ、保有アンカーバンクに格納される。また、保有アンカーフレームであるＰピクチャがデコードされる場合、一つ前のアンカーフレームである非保有アンカーフレームが、更に一つ前のアンカーフレームである、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像を参照してデコードされて、非保有アンカーバンクに格納されるので、これを参照して、保有アンカーフレームであるＰピクチャがデコードされて、保有アンカーバンクに格納される。
【０１０９】
そして、保有アンカーバンクにアンカーフレームが予め保有されているGOPにおけるいずれかのフレームの表示が指令された場合、表示されるのが保有アンカーフレームであれば、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が読み出されて表示される。また、表示されるのが非保有アンカーフレームであれば、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が参照画像に用いられて、表示される非保有アンカーフレームがデコードされて、表示専用バンクに格納されて表示される。そして、表示されるのがＢピクチャであれば、非保有アンカーフレームが、その一つ前のアンカーフレームである、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像が参照されてデコードされて、Ｂピクチャ表示用非保有アンカーバンクに格納され、保有アンカーバンクに格納されている保有アンカーフレームのベースバンド画像とともに参照されて、表示されるＢピクチャがデコードされて、表示専用バンクに格納されて表示される。
【０１１０】
すなわち、GOPに含まれる保有アンカーフレームと、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームが、予めデコードされ、フレームメモリ２２−３に保持される。非保有アンカーフレームのうち、保有アンカーフレームをデコードするための参照画として必要とならないもの（例えば、GOP内の時間的に最後のアンカーフレームが非保有アンカーフレームである場合）は、表示が指令されるまで、デコード処理を実行しなくてもよい。
【０１１１】
図１２を参照して、デコードコントローラ１５３による、フレームメモリ２２−３の管理について説明する。
【０１１２】
デコードコントローラ１５３は、図１２に示されるように、保有アンカー情報と、ＧＯＰ保有アンカーキューに保持される複数フレーム分のＧＯＰ保有アンカー情報とを用いて、保有アンカーフレームのデコード処理のタイミングを制御する。保有アンカー情報はGOP保有アンカーキューを作成するために必要な情報であり、使用している先頭バンクおよび後尾バンク、並びに、使用しているバンク数に関する情報が含まれている。GOP保有アンカーキューは先頭と後尾の両方にPushできる双方向キューであり、保有アンカー情報に記載されている、使用している先頭バンクから後尾バンクの間に保持されている保有アンカーフレームに関する情報であるGOP保有アンカー情報をGOPごとに保持する。GOP保有アンカー情報は、各GOPの保有アンカーフレームのベースバンド画像のバンク格納先を決定する際に必要となる情報であり、GOP保有アンカー情報には、対応するGOPのGOP ID、そのGOPの保有アンカーフレームが使用している先頭バンク、および、そのGOPの保有アンカーフレームが使用しているバンク数が含まれている。
【０１１３】
デコードコントローラ１５３は、表示される非保有アンカーフレームまたはBピクチャのデコードが行われていないタイミングを利用して、保有アンカーフレームを優先的にデコードさせるようなデコード順のスケジューリングを行い、セレクタ１５６を制御して、保有アンカーフレームをデコード処理部１５４に供給させてデコード処理を実行させるとともに、保有アンカー情報と、ＧＯＰ保有アンカーキューに保持される複数フレーム分のＧＯＰ保有アンカー情報とを参照しながら、デコード済みの保有アンカーフレームのベースバンド画像データがフレームメモリ２２−３のうちのいずれの参照バンクに格納されるかを決定し、セレクタ１５５を制御して、フレームメモリ２２−３の参照バンクの所定の位置にデコード済みの保有アンカーフレームのベースバンド画像データを格納する。
【０１１４】
予めデコードされる保有アンカーフレームがIピクチャである場合、セレクタ１５２が制御されて、Iピクチャがデコード処理部１５４に供給されて、デコードされた後、セレクタ１５５が制御されて、フレームメモリ２２−３の参照バンクのうちの保有アンカーバンクのいずれかに格納される。
【０１１５】
また、予めデコードされる保有アンカーフレームがＰピクチャである場合、先に、その直前の非保有アンカーフレームがデコード処理部１５４に供給されて、デコードされた後、セレクタ１５５が制御されて、フレームメモリ２２−３の参照バンクの非保有アンカーバンクに格納される。そして、セレクタ１５２が制御されて、保有アンカーフレームであるPピクチャがデコード処理部１５４に供給されるとともに、セレクタ１５６が制御されて、非保有アンカーバンクに格納されたベースバンド画像データが参照されて、Pピクチャのデコード処理が実行され、セレクタ１５５が制御されて、フレームメモリ２２−３の参照バンクのうちの保有アンカーバンクのいずれかに格納される。
【０１１６】
デコードコントローラ１５３は、供給されたGOPに含まれるアンカーフレームのうち、予めデコード処理が実行される、保有アンカーフレーム、および、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームのデコードのスケジュールと、デコード後の参照バンクのバンク位置を、アンカーフレームデコードキューを用いて管理する。すなわち、デコードコントローラ１５３は、GOPの先頭から、それぞれのピクチャが、保有アンカーフレーム、または、保有アンカーフレームをデコードするための参照画として必要となる非保有アンカーフレームであるかを判断し、これらの予めデコードされるピクチャにおいて、それぞれのデコード後のベースバンド画像データが保持されるバンク位置を設定し、アンカーフレームデコードキューにPUSHする。
【０１１７】
図１３および図１４を参照して、保有アンカーバンクの管理の具体的な処理の一例について説明する。ここでは、保有アンカーバンクとして、１０バンク利用可能である場合、すなわち、フレームメモリ２２−３に、１４フレーム分のベースバンド画像データを保持することができる場合について説明する。
【０１１８】
まず、図１３Ａの状態において、予めデコードされたGOP ID 1、2、3の保有アンカーフレームのベースバンド画像が、それぞれ、フレームメモリ２２−３の１０バンクの保有アンカーバンクのうちのバンク0乃至3、バンク4乃至6、バンク7乃至9に格納されている。このときデコードコントローラ１５３が管理している保有アンカー情報およびＧＯＰ保有アンカーキューは、図１３Ｂの状態となる。すなわち、保有アンカー情報により、使用している先頭バンクは１、使用している後尾バンクは９、使用しているバンク数は９であることが管理され、ＧＯＰ保有アンカーキューにより、GOP ID1の保有アンカーバンクが、バンク１から３つのバンクを利用しており、GOP ID２の保有アンカーバンクが、バンク４から３つのバンクを利用しており、GOP ID３の保有アンカーバンクが、バンク７から３つのバンクを利用していることが管理されている。
【０１１９】
次に、アンカーフレーム数5のGOP ID 4のストリームデータが供給された場合、GOP ID 4のGOPの保有アンカーフレーム数は３となり、現在空いているバンクは、バンク１０のみであって、GOP ID 4のGOPの保有アンカーフレームのすべてを格納することができないため、現在格納されているいずれかのGOPの保有アンカーフレームを保有アンカーバンクから削除する必要が生じる。
【０１２０】
そこで、デコードコントローラ１５３は、現在GOP保有アンカーキューに保持されている情報のうち、GOP ID 4に最も遠いGOPに関する情報であるGOP ID 1のGOP保有アンカー情報をGOP保有アンカーキューからPOPし、GOP ID 4のGOP保有アンカー情報をGOP保有アンカーキューの後尾にPUSHする。
【０１２１】
そのときのフレームメモリ２２−３の１０バンクの保有アンカーバンクの状態を図１４Ａに、保有アンカー情報およびGOP保有アンカーキューの状態を図１４Ｂに示す。すなわち、フレームメモリ２２−３の１０バンクの保有アンカーバンクのうちのバンク4乃至6にはGOP ID２の保有アンカーフレームが、バンク7乃至9にはGOP ID３の保有アンカーフレームが、図１３を用いて説明した場合と同様にしてそれぞれ格納されており、新たに供給されたGOP ID４の保有アンカーフレームが、バンク１０、バンク１、およびバンク２に格納される。そして、保有アンカー情報により、使用している先頭バンクは４、使用している後尾バンクは２、使用しているバンク数は９であることが管理され、ＧＯＰ保有アンカーキューにより、GOP ID２の保有アンカーバンクが、バンク４から３つのバンクを利用しており、GOP ID３の保有アンカーバンクが、バンク７から３つのバンクを利用しており、GOP ID４の保有アンカーバンクが、バンク１０から３つのバンクを利用していることが管理されている。
【０１２２】
このようにして、デコーダ２３によるデコードが制御されるが、クリップの先頭または最後尾のＧＯＰが、編集素材のストリームにおける１ＧＯＰの全てを含んでいない場合、上述したように、メモリ２２には、編集素材のストリームにおける１ＧＯＰの全てを転送しても良いが、必要な部分のみ転送するようにしても良い。また、例えば、クリップの先頭のＧＯＰが、編集素材のストリームにおけるMPEG LongGOPの先頭の２枚のＢピクチャを含んでいる場合、これらのＢピクチャをデコードするために、クリップに含まれない、一つ前のＧＯＰをデコーダ２３に供給する必要がある。
【０１２３】
図１５乃至図１８を参照して、ＧＯＰの転送範囲、および、表示出力される範囲の指定方法、並びに、デコード処理の具体的な例について説明する。
【０１２４】
図１５を用いて、ストリームAの一部であるクリップAと、ストリームBの一部であるクリップBとを接続したクリップストリームについて、±2倍速でトランジェント再生を行う（短い区間で正方向と逆方向の再生を連続して指令する）場合のGOP転送とデコーダ２３の動作の第１の例について説明する。
【０１２５】
クリップAには、２つのGOPの一部が含まれており、クリップAに含まれるフレームをデコードするためには、クリップAには含まれないフレームであるが、これらの２つのGOPに含まれているフレームが複数枚必要となる。クリップBには、１つのGOPの一部が含まれており、クリップBに含まれるフレームをデコードするためには、クリップBに含まれないフレームであって、クリップBを構成するフレームが含まれているGOPの一つ前のGOPに含まれているフレームが複数枚必要となる。すなわち、クリップAとクリップBとを接続したクリップストリームをデコードするためには、４つのGOPのデータが必要となる。
【０１２６】
第１の例においては、クリップストリームの再生に必要なGOPは全て転送されるものとする。そして、転送されたGOPに含まれるIピクチャ、および、Pピクチャのうちの半分は、優先的にデコードされる。
【０１２７】
転送GOP決定部５２は、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、クリップＡからクリップＢに正方向再生される場合のGOPの転送順が決まるので、この転送順に基づいて、この４つのGOPのGOP_IDを、GOP_ID１乃至GOP_ID４と設定し、メモリ１８に転送するGOPとする。
【０１２８】
そして、GOP転送タイミング制御部５３の処理によりGOPの転送タイミングが制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが、予めデコードされ、メモリ２２に蓄積されるように、表示指令に先立って、GOP_ID１乃至GOP_ID４のそれぞれのGOPデータが、所定のタイミングで転送される。
【０１２９】
GOP_ID１乃至GOP_ID４のそれぞれのGOPにおいて、データの転送が終了された後、所定のタイミングで、転送完了コマンドがPCIブリッジ１７のコマンドバッファ３１に送信される。
【０１３０】
そして、表示コマンド送出部５７は、ユーザの操作入力を基に、フレームごとの表示コマンドをPCIブリッジ１７のコマンドバッファ３１に送信する。
【０１３１】
例えば、図１５に示されているピクチャ出力要求例のように、クリップAの先頭側からGop_ID 4のB1まで正方向に再生指示が出された後、逆方向に再生指示が出された場合（図中、Gop_ID 4のB１ピクチャの次に、Gop_ID ２のB3ピクチャの再生出力が指令された場合）、この時点において、Gop_ID ２に含まれるフレームの次に表示指令が出されると予測されるGop_ID 1のP14までの表示フレーム数は5フレームのみである。このため、Gop_ID 1のアンカーフレームの情報を保有アンカーバンクから消してしまうと、Gop_ID 1のP14を表示するまでの間に表示に必要なデコードが間に合わず、表示画面のフリーズを起こしてしまう可能性がある。したがって、このクリップストリームのトランジェント再生が実行される場合、Gop_ID 1に対応する保有アンカーフレームのデコード済みベースバンド画像データを保有アンカーバンクから消さないことが望ましい。このような場合を考慮すると、デコーダ２３における保有アンカーバンクは12フレーム分設けられるようにすると好適である。
【０１３２】
また、図１５に示されるクリップストリームにおいては、Gop_ID 2のB4ピクチャ乃至B13ピクチャの情報は、クリップ内のフレームのデコードに全く必要ないため、転送を行わなくてもよい。GOP転送とデコーダ２３の動作の第２の例として、Gop_ID 2の必要なフレームのみを転送するようにした場合について、図１６を用いて説明する。
【０１３３】
すなわち、転送GOP決定部５２は、クリップの最後尾のGOPにおいて、クリップに含まれるフレームとそれらのデコードに必要なフレームを含む範囲のみを選択し、その部分のみを転送するものとして設定するとともに、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この４つのGOPのGOP_IDを、GOP_ID１乃至GOP_ID４で設定し、メモリ１８に転送するGOPとする。すなわち、図１６における場合においては、Gop_ID 2として転送されるフレーム数が異なる以外は、基本的に、図１５を用いて説明した場合と同様にして、GOP転送タイミング制御部５３の処理によりGOPの転送が制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ２２に蓄積されるように、表示指令に先立って、GOP_ID１乃至GOP_ID４のそれぞれのGOPデータが、所定のタイミングで転送される。
【０１３４】
GOP_ID１乃至GOP_ID４のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドがPCIブリッジ１７のコマンドバッファ３１に送信される。
【０１３５】
図１６における場合においては、図１５を用いて説明したときと同様の再生指令が発生したとしても、図１５における場合と比較して、GOP_ID2のP8およびI14が転送されない分、保有アンカーバンクメモリの数が少なくても、表示画面のフリーズを防いで、トランジェント再生を実行することが可能となる。ここでは、デコーダ２３における保有アンカーバンクは１０フレーム分設けられるようにすると好適である。
【０１３６】
また、転送はGOP単位で実行し、出力範囲指定コマンドに基づいて表示に必要なフレームのみがデコードされるようにしてもよい。GOP転送とデコーダ２３の動作の第３の例として、転送はGOP単位で実行し、出力範囲指定コマンドを用いることにより、表示に必要なフレームのみをデコードする場合について、図１７を用いて説明する。
【０１３７】
転送GOP決定部５２は、図１５において説明した場合と同様に、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この４つのGOPのGOP_IDを、GOP_ID１乃至GOP_ID４で設定し、これらのGOPに含まれるフレームの全てを、メモリ１８に転送するGOPとする。
【０１３８】
そして、出力範囲情報設定部５４は、転送されるGOP_ID１乃至GOP_ID４のそれぞれの出力範囲を設定する。ここでは、GOP_ID１の表示出力範囲は７−１５、GOP_ID２の表示出力範囲は１−４、GOP_ID３の表示出力範囲は０−０、そして、GOP_ID３の表示出力範囲は２−１５とされる。
【０１３９】
そして、同様にして、GOP転送タイミング制御部５３の処理によりGOPの転送タイミングが制御される。具体的には、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ２２に蓄積されるように、表示指令に先立って、GOP_ID１乃至GOP_ID４のそれぞれのGOPデータが、所定のタイミングで転送される。
【０１４０】
そして、GOP_ID１乃至GOP_ID４のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドとともに、出力範囲指定コマンドがPCIブリッジ１７のコマンドバッファ３１に送信される。
【０１４１】
CPU20は、出力範囲指定コマンドを基に、デコーダ２３を制御するので、デコーダ２３においては、GOP_ID2はI2のみデコードされ、保有アンカーバンクに保持される。また、GOP_ID３の表示出力範囲は０−０となっており、GOP_ID4の先頭のB1を表示するためだけに必要なので、最終的には、P14のみ保有アンカーバンクに保持することができればよい。したがって、この場合、デコーダ２３の保有アンカーバンクメモリは８フレーム分設けられるようにすると好適である。
【０１４２】
また、図１６および図１７を用いて説明した場合のように、必要な部分のみを転送するとともに、出力範囲指定コマンドに基づいて表示に必要なフレームのみをデコードするようにしてもよい。GOP転送とデコーダ２３の動作の第４の例として、必要な部分のみをGOPの転送単位として設定し、出力範囲指定コマンドを用いることにより、表示に必要なフレームのみをデコードする場合について、図１８を用いて説明する。
【０１４３】
すなわち、転送GOP決定部５２は、クリップの最後尾のGOPにおいて、クリップに含まれるフレームのデコードに必要なフレームのみを選択し、その部分のみを転送するものとして設定するとともに、クリップ再生順および素材となるストリーム中におけるそれぞれのGOPの配置に基づいて、この４つのGOPのGOP_IDを、GOP_ID１乃至GOP_ID４で設定し、メモリ１８に転送するGOPとする。
【０１４４】
そして、出力範囲情報設定部５４は、転送されるGOP_ID１乃至GOP_ID４のそれぞれの出力範囲を設定する。ここでも、GOP_ID１の表示出力範囲は７−１５、GOP_ID２の表示出力範囲は１−４、GOP_ID３の表示出力範囲は０−０、そして、GOP_ID３の表示出力範囲は２−１５とされる。
【０１４５】
そして、GOP転送タイミング制御部５３の処理によりGOPの転送タイミングが制御される。すなわち、転送されたGOPのIピクチャおよびPピクチャが予めデコードされ、メモリ２２に蓄積されるように、表示指令に先立って、GOP_ID１乃至GOP_ID４のそれぞれのGOPデータが、所定のタイミングで転送される。
【０１４６】
GOP_ID１乃至GOP_ID４のそれぞれのGOPデータの転送が終了された後、所定のタイミングで、転送完了コマンドとともに、出力範囲指定コマンドがPCIブリッジ１７のコマンドバッファ３１に送信される。
【０１４７】
CPU20は、出力範囲指定コマンドを基に、デコーダ２３を制御するので、デコーダ２３においては、GOP_ID2はI2のみでコードされ、保有アンカーバンクに保持される。また、GOP_ID３の表示出力範囲は０−０となっており、GOP_ID4の先頭のB1を表示するためだけに必要なので、最終的には、P14のみ保有アンカーバンクに保持することができればよい。したがって、第４の例における場合においても、デコーダ２３の保有アンカーバンクメモリはフレーム分設けられるようにすると好適である。
【０１４８】
図１８を用いて説明した第４の例においては、第１の例および第３の例と比較して、フレームの転送量の削減により表示レスポンスが向上するとともに、第１の例および第２の例と比較して、保持しなければいけないアンカーフレームの削減により、保有アンカーバンクメモリのバンク数が同一であれば、より広い範囲でのスクラブ再生のレスポンスが向上するという効果を得ることができる。
【０１４９】
この方法により、スクラブ再生が実行される場合や、例えば、1倍速、1.5倍速等スピードを指定して再生する場合においても、クリップ再生を実現することが可能となる。
【０１５０】
次に、図１９のフローチャートを参照して、ＣＰＵ１１が実行する処理について説明する。
【０１５１】
ステップＳ１において、ＣＰＵ１１の操作入力取得部５１は、サウスブリッジ１５およびノースブリッジ１２を介して、図示しない操作入力部により、クリップの設定の入力、すなわち、いずれの符号化ストリームのどの部分を切り出してクリップとし、どのように接続して、クリップストリームとするかを示す設定の入力を受けて、転送GOP決定部５２、GOP転送タイミング制御部５３、および、出力範囲情報設定部５４に供給する。
【０１５２】
ステップＳ２において、転送GOP決定部５２は、設定されたクリップに含まれるそれぞれのＧＯＰおよびそれらをデコードするために必要なＧＯＰに、クリップストリームの正方向再生時におけるＧＯＰの転送順に基づいて、GOP IDを設定する。
【０１５３】
ステップＳ３において、操作入力取得部５１は、サウスブリッジ１５およびノースブリッジ１２を介して、図示しない操作入力部を用いてユーザにより実行される表示開始の操作入力を受け、転送GOP決定部５２、および、GOP転送タイミング制御部５３に供給する。
【０１５４】
転送GOP決定部５２は、ステップＳ４において、フレーム表示順をスケジューリングし、ステップＳ５において、表示するフレームを指定して、GOP転送タイミング制御部５３、および、出力範囲情報設定部５４に通知する。
【０１５５】
ステップＳ６において、図２１を用いて後述する表示用転送単位決定処理が実行される。
【０１５６】
ステップＳ７において、ＧＯＰ転送タイミング制御部５３は、現在転送中のＧＯＰがあるか否かを判断する。
【０１５７】
ステップＳ７において、現在転送中のＧＯＰがないと判断された場合、ステップＳ８において、図２２を用いて後述する先送り用転送単位決定処理が実行される。
【０１５８】
ステップＳ７において、現在転送中のＧＯＰがあると判断された場合、または、ステップＳ８の処理の終了後、ステップＳ９において、図２３乃至図２６を用いて後述する転送完了送信決定処理が実行される。
【０１５９】
ステップＳ１０において、GOP転送タイミング制御部５３は、表示コマンド送出部５７に、ステップＳ５において指定された表示されるフレームの表示コマンドの送出を指令する。表示コマンド送出部５７は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジのコマンドバッファ３１に、表示コマンドを送信する。
【０１６０】
ステップＳ１１において、転送ＧＯＰ決定部５２は、操作入力取得部５１から供給されるユーザの操作入力を示す信号を基に、ユーザから、例えば、表示方向または速度の変更や、表示されるストリームの変更などの、フレーム表示順の変更を伴う操作が入力されたか否かを判断する。ステップＳ１１において、フレーム表示順の変更を伴う操作が入力されたと判断された場合、処理は、ステップＳ４に戻り、それ以降の処理が繰り返される。
【０１６１】
ステップＳ１１において、フレーム表示順の変更を伴う操作が入力されていないと判断された場合、ステップＳ１２において、転送ＧＯＰ決定部５２は、操作入力取得部５１から供給されるユーザの操作入力を示す信号を基に、表示処理が終了されるか否かを判断する。ステップＳ１２において、表示処理が終了されないと判断された場合、処理は、ステップＳ５に戻り、それ以降の処理が繰り返される。ステップＳ１２において、表示処理が終了されると判断された場合、処理は終了される。
【０１６２】
このようにして、ＣＰＵ１１において、ユーザの操作入力に基づいて、フレーム表示順が決定されて、表示コマンドの送信に先駆けて対応するＧＯＰのＩピクチャおよびＰピクチャをデコードすることができるようにＧＯＰの転送単位および転送タイミングが決定され、転送が完了された場合に転送完了コマンドおよび出力範囲指定コマンドが送信され(ステップＳ９の転送完了決定処理、詳細は後述)、その後、表示コマンドが送信されるので、表示コマンドが送信されるときには、既に、対応するＧＯＰのＩピクチャおよびＰピクチャがデコード済みである可能性が高くなり、表示コマンドに対する表示レスポンスが高くなる。
【０１６３】
そして、ＣＰＵ２０は、ＣＰＵ１１から供給されるコマンドに基づいて、デコーダ２３によるデコード処理を制御する。具体的には、ＣＰＵ２０は、圧縮符号化されたストリームデータのメモリ２２への入力のタイミング、メモリ２２とデコーダ２３とのデータの授受のタイミング、ピクチャごとのデコードのタイミング、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定し、これらのタイミングを基に、ＰＣＩブリッジ１７、メモリ２２、および、デコーダ２３を制御する。
【０１６４】
次に、図２０のフローチャートを参照して、図１９を用いて説明したＣＰＵ１１の処理と並行して実行されるＣＰＵ２０の処理について説明する。
【０１６５】
ステップＳ４１において、ＣＰＵ２０のコマンド取得部７１は、コントロールバス１９を介して、ＰＣＩブリッジ１７のコマンドバッファ３１を参照し、ＧＯＰの転送完了コマンドを受信したか否かを判断する。ステップＳ４１において、ＧＯＰの転送完了コマンドを受信していないと判断された場合、処理は、後述するステップＳ４５に進む。
【０１６６】
ステップＳ４１において、ＧＯＰの転送完了コマンドを受信したと判断された場合、ステップＳ４２において、コマンド取得部７１は、ＧＯＰの転送完了コマンドを受信したことを、メモリ間転送制御部７２およびリザルト送出部７６に通知する。メモリ間転送制御部７２は、ＨＤＤ１６からメモリ１８へのＧＯＰの転送完了を確認する。そして、リザルト送出部７６は、コントロールバス１９を介して、ＰＣＩブリッジ１７のリザルトバッファ３２に、ＧＯＰの転送完了コマンドに対するリザルトを返す。
【０１６７】
ステップＳ４３において、メモリ間転送制御部７２は、メモリ１８からメモリ２２へのＧＯＰの転送を制御する。すなわち、メモリ間転送制御部７２により、メモリ１８へのＧＯＰの転送が完了されたタイミングではなく、ＣＰＵ１１からＧＯＰの転送完了コマンドを受信したタイミングに基づいて、メモリ１８からメモリ２２へのＧＯＰの転送が制御される。
【０１６８】
ステップＳ４４において、デコードスケジュール処理部７３は、メモリ２２へ転送されたGOPのアンカーフレームが優先的にデコードされるように、デコードをスケジュールし、スケジュールをデコード制御部７４に通知する。デコード制御部７４は、デコードスケジュール処理部７３によるデコードスケジュールに基づいて、デコーダ２３によるデコード処理を制御する。
【０１６９】
ステップＳ４１において、ＧＯＰの転送完了コマンドを受信していないと判断された場合、または、ステップＳ４４の処理の終了後、ステップＳ４５において、コマンド取得部７１は、コントロールバス１９を介して、ＰＣＩブリッジ１７のコマンドバッファ３１を参照し、表示コマンドを受信したか否かを判断する。ステップＳ４５において、表示コマンドを受信していないと判断された場合、処理は、後述するステップＳ４８に進む。
【０１７０】
ステップＳ４５において、表示コマンドを受信したと判断された場合、ステップＳ４６において、デコード制御部７４は、表示されるピクチャを出力するために、デコーダ２３およびメモリ２２を制御する。
【０１７１】
具体的には、例えば、表示が指令されたフレームが保有アンカーフレームであるＩピクチャまたはＰピクチャであるとき、デコードが終了されたベースバンド画像データがメモリ２２に蓄積されているか否かが検出され、ベースバンド画像データがメモリ２２に蓄積されている場合は、そのベースバンド画像データが出力される。また、例えば、表示が指令されたフレームがＢピクチャであるとき、そのＢピクチャをデコードするために必要な参照画像データが、メモリ２２に蓄積されているか否かが検出され、参照画像データがメモリ２２に蓄積されている場合は、その参照画像データを用いて、出力されるＢピクチャがデコードされる。
【０１７２】
ステップＳ４７において、デコード制御部７４は、該当するフレームの表示が終了したか否かを判断する。ステップＳ４７において、該当するフレームの表示が終了していないと判断された場合、処理は、ステップＳ４６に戻り、それ以降の処理が繰り返される。
【０１７３】
ステップＳ４５において、表示コマンドを受信していないと判断された場合、または、ステップＳ４７において、該当するフレームの表示が終了したと判断された場合、ステップＳ４８において、コマンド取得部７１は、コントロールバス１９を介して、ＰＣＩブリッジ１７のコマンドバッファ３１を参照することにより、表示処理が終了されるか否かを判断する。ステップＳ４８において、表示処理が終了されていないと判断された場合、処理は、ステップＳ４１に戻り、それ以降の処理が繰り返される。ステップＳ４８において、表示処理が終了されたと判断された場合、処理が終了される。
【０１７４】
このような処理により、ＣＰＵ２０は、ＣＰＵ１１の制御に基づいて、メモリ１８からメモリ２２へのＧＯＰの転送と、デコーダ２３によるデコード処理を制御する。そのとき、メモリ２２へ転送されたGOPのアンカーフレームのうちの少なくとも一部が優先的にデコードされるので、表示コマンド受信から、デコードされたベースバンド画像データの出力までのレスポンスが向上する。
【０１７５】
また、ＣＰＵ２０は、あるＧＯＰの転送完了コマンドを取得した後、そのＧＯＰのデータの、メモリ１８からメモリ２２への転送を制御する。すなわち、ＣＰＵ１１の処理において、実際のＧＯＰの転送のタイミングに対して、転送完了コマンドの発生タイミングが遅いので、例えば、ランダム再生において、表示開始位置が大幅に変更された場合などにおいて、メモリ１８からメモリ２０に無駄にデータの転送が行われない。したがって、メモリ２０のデータ記憶容量がメモリ１８と比較して少ない場合であっても、メモリ２０がオーバーフローしたり、必要なデータが上書きされてしまうことを防ぐことが可能となる。
【０１７６】
次に、図２１のフローチャートを参照して、図１９のステップＳ６において実行される、表示用転送単位決定処理について説明する。
【０１７７】
ステップＳ７１において、ＣＰＵ１１の転送ＧＯＰ決定部５２は、表示するフレームは、ＧＯＰの先頭の２枚のＢピクチャのうちのいずれかであるか否かを判断する。ステップＳ７１において、表示するフレームは、ＧＯＰの先頭の２枚のＢピクチャのうちのいずれでもないと判断された場合、処理は、後述するステップＳ７４に進む。
【０１７８】
ステップＳ７１において、表示するフレームは、ＧＯＰの先頭の２枚のＢピクチャのうちのいずれかであると判断された場合、ステップＳ７２において、転送ＧＯＰ決定部５２は、このＢピクチャは、前方向に存在するＧＯＰを参照するか否かを判断する。ステップＳ７２において、例えば、Closed GOPであったり、ストリームの先頭のGOPであるなど、前ＧＯＰの参照がないと判断された場合、処理は、後述するステップＳ７４に進む。
【０１７９】
ステップＳ７２において、前ＧＯＰの参照があると判断された場合、ステップＳ７３において、転送ＧＯＰ決定部５２は、前のＧＯＰ、すなわち、このＢピクチャに対する前方向の参照画像を含むＧＯＰは転送済みであるか否かを判断する。ステップＳ７３において、前のＧＯＰは転送済みではないと判断された場合、処理は、後述するステップＳ７６に進む。
【０１８０】
ステップＳ７１において、表示するフレームは、ＧＯＰの先頭の２枚のＢピクチャのうちのいずれでもないと判断された場合、ステップＳ７２において、前ＧＯＰの参照がないと判断された場合、または、ステップＳ７３において、前のＧＯＰは転送済みであると判断された場合、ステップＳ７４において、転送ＧＯＰ決定部５２は、表示するフレームが含まれるＧＯＰは転送済みであるか否かを判断する。ステップＳ７４において、表示するフレームが含まれるＧＯＰは転送済みであると判断された場合、処理は、図１９のステップＳ６に戻り、ステップＳ７に進む。
【０１８１】
ステップＳ７４において、表示するフレームが含まれるＧＯＰは転送済みではないと判断された場合、ステップＳ７５において、転送ＧＯＰ決定部５２は、サウスブリッジ１５、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介した、ＨＤＤ１６からメモリ１８への、表示するフレームが含まれるＧＯＰの転送の開始を制御し、処理は、図１９のステップＳ６に戻り、ステップＳ７に進む。
【０１８２】
ステップＳ７３において、前のＧＯＰは転送済みではないと判断された場合、ステップＳ７６において、転送ＧＯＰ決定部５２は、そのＢピクチャが含まれるＧＯＰ、換言すれば、表示されるフレームが含まれるＧＯＰは転送済みであるか否かを判断する。
【０１８３】
ステップＳ７３において、そのＢピクチャが含まれるＧＯＰは転送済みであると判断された場合、ステップＳ７７において、転送ＧＯＰ決定部５２は、サウスブリッジ１５、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介した、ＨＤＤ１６からメモリ１８への、一つ前のＧＯＰの転送の開始を制御し、処理は、図１９のステップＳ６に戻り、ステップＳ７に進む。
【０１８４】
ステップＳ７３において、そのＢピクチャが含まれるＧＯＰは転送済みではないと判断された場合、ステップＳ７８において、転送ＧＯＰ決定部５２は、サウスブリッジ１５、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介した、ＨＤＤ１６からメモリ１８への、一つ前のＧＯＰと表示されるＧＯＰのＩ２Ｂ０Ｂ１の転送の開始を制御し、処理は、図１９のステップＳ６に戻り、ステップＳ７に進む。
【０１８５】
このような処理により、表示されるピクチャがＧＯＰ先頭の２枚のＢピクチャのうちのいずれかであり、そのＢピクチャが含まれているＧＯＰと、その前のＧＯＰ（すなわち、表示されるＢピクチャをデコードするために必要な参照画像フレームが含まれているＧＯＰ）とがいずれも転送されていない場合、一つ前のＧＯＰと表示されるＧＯＰのＩ２Ｂ０Ｂ１が転送される。したがって、現在実行されている再生処理が高速再生処理で、このＢピクチャが含まれているＧＯＰの他のフレームが表示されない場合にも、無駄なデータを転送することがなく、更に、高速再生処理ではなく、このＢピクチャが含まれているＧＯＰの他のフレームが表示されるために、このＢピクチャが含まれているＧＯＰの転送が必要になった場合であっても、転送データの冗長分が少ない。
【０１８６】
次に、図２２のフローチャートを参照して、図１９のステップＳ８において実行される、先送り用転送単位決定処理について説明する。
【０１８７】
ステップＳ１０１において、ＧＯＰ転送タイミング制御部５３は、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームであるか否かを判断する。ステップＳ１０１において、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームであると判断された場合、処理は、図１９のステップＳ８に戻り、ステップＳ９に進む。
【０１８８】
ステップＳ１０１において、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームではないと判断された場合、すなわち、表示されるフレームにおけるＧＯＰの変わり目であると判断された場合、ステップＳ１０２において、ＧＯＰ転送タイミング制御部５３は、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ後ろのＧＯＰに含まれているフレームであるか否か、すなわち、正方向の再生におけるＧＯＰの変わり目であるか否かを判断する。ステップＳ１０２において、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ後ろのＧＯＰに含まれているフレームではないと判断された場合、処理は、後述するステップＳ１０６に進む。
【０１８９】
ステップＳ１０２において、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ後ろのＧＯＰに含まれているフレームであると判断された場合、ステップ１０３において、ＧＯＰ転送タイミング制御部５３は、表示されるフレームを含むＧＯＰ（既に転送開始済みである）の１つ後ろのＧＯＰに含まれる表示範囲のフレーム数は、６フレーム以上であるか否かを判断する。
【０１９０】
なお、ここでは、６フレームを閾値として判断を実行しているが、このフレーム数は、この装置が求められている再生能力や、メモリ１８のメモリ容量によっても異なる値である。例えば、メモリ１８のメモリ容量が少ない場合、あまり早く転送を開始してしまっては、メモリ１８がオーバーフローしてしまう可能性がある。しかしながら、メモリ１８のメモリ容量が充分である場合、この装置が正方向および逆方向に何倍速の再生機能を有しているかに基づいて、閾値が定められている。例えば、正方向および逆方向に２倍速程度の再生機能が求められている場合、６フレームを閾値とすることにより、再生がフリーズしないために充分な数のフレームが先行して転送される。
【０１９１】
ステップ１０３において、１つ後ろのＧＯＰに含まれる表示範囲のフレーム数は、６フレーム以上であると判断された場合、ステップＳ１０４において、ＧＯＰ転送タイミング制御部５３は、例えば、表示するフレームが含まれているＧＯＰやコマンドなどよりも優先度を下げて、１つ後ろのＧＯＰの転送を開始し、処理は、図１９のステップＳ８に戻り、ステップＳ９に進む。
【０１９２】
すなわち、表示コマンドなどのコマンドを送信する処理や、現在再生中のフレームを含むＧＯＰの次に再生される可能性の高いＧＯＰを転送する処理と比較して、ＧＯＰの変わり目でデータを先行して転送する処理は、次使うであろうデータをあらかじめ転送しておくという処理のため、緊急性がない。よって、優先度をつけることにより、コマンドの送信など、絵を表示するために必要な処理のレスポンスを落とすことなく、データ転送の効率を向上させることが可能となる。
【０１９３】
ステップ１０３において、１つ後ろのＧＯＰに含まれる表示範囲のフレーム数は、６フレーム以下であると判断された場合、ステップＳ１０５において、ＧＯＰ転送タイミング制御部５３は、例えば、表示するフレームが含まれているＧＯＰやコマンドなどよりも優先度を下げて、１つ後ろのＧＯＰと、更にもう１つ後ろのＧＯＰの２ＧＯＰ分の転送を開始し、処理は、図１９のステップＳ８に戻り、ステップＳ９に進む。
【０１９４】
ステップＳ１０２において、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ後ろのＧＯＰに含まれているフレームではないと判断された場合、ステップＳ１０６において、ＧＯＰ転送タイミング制御部５３は、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ前のＧＯＰに含まれているフレームであるか否か、すなわち、逆方向の再生におけるＧＯＰの変わり目であるか否かを判断する。ステップＳ１０６において、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ前のＧＯＰに含まれているフレームではないと判断された場合、１ＧＯＰ以上表示しないで飛ばすような高速再生であるか、または、スクラブ再生により再生開始位置が変更された場合であるので、処理は、図１９のステップＳ８に戻り、ステップＳ９に進む。
【０１９５】
ステップＳ１０６において、表示されるフレームは、前に表示されたフレームが含まれていたＧＯＰよりも一つ前のＧＯＰに含まれているフレームであると判断された場合、ステップ１０７において、ＧＯＰ転送タイミング制御部５３は、表示されるフレームを含むＧＯＰ（既に転送開始済みである）の１つ前のＧＯＰに含まれる表示範囲のフレーム数は、６フレーム以上であるか否かを判断する。
【０１９６】
ステップ１０７において、１つ前のＧＯＰに含まれる表示範囲のフレーム数は、６フレーム以上であると判断された場合、ステップＳ１０８において、ＧＯＰ転送タイミング制御部５３は、例えば、表示するフレームが含まれているＧＯＰやコマンドなどよりも優先度を下げて、１つ前のＧＯＰの転送を開始し、処理は、図１９のステップＳ８に戻り、ステップＳ９に進む。
【０１９７】
ステップ１０７において、１つ前のＧＯＰに含まれる表示範囲のフレーム数は、６フレーム以下であると判断された場合、ステップＳ１０９において、ＧＯＰ転送タイミング制御部５３は、例えば、表示するフレームが含まれているＧＯＰやコマンドなどよりも優先度を下げて、１つ前のＧＯＰと、更にもう１つ前のＧＯＰの２ＧＯＰ分の転送を開始し、処理は、図１９のステップＳ８に戻り、ステップＳ９に進む。
【０１９８】
このような処理により、ＧＯＰの変わり目のフレームが表示されるタイミングに、さらにその次に表示されると予測されるＧＯＰの転送を開始することができるとともに、そのＧＯＰに含まれている表示フレーム数が少ない場合には、更にもう１ＧＯＰの転送が開始されるので、フレームデータの転送が間に合わずに、表示レスポンスが悪化してしまうことを防止することができる。
【０１９９】
次に、図２３乃至図２６のフローチャートを参照して、図１９のステップＳ９において実行される、転送完了送信決定処理について説明する。
【０２００】
ステップＳ１３１において、GOP転送タイミング制御部５３は、転送が完了して転送完了を送信していないGOPはあるか否かを判断する。ステップＳ１３１において、転送が完了して転送完了を送信していないGOPはないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２０１】
ステップＳ１３１において、転送が完了して転送完了を送信していないGOPがあると判断された場合、ステップＳ１３２において、GOP転送タイミング制御部５３は、転送ＧＯＰ決定部５２により決定された転送されるGOPに関する情報、および、出力範囲情報設定部５４により設定された出力範囲に基づいて、そのGOPは、表示しているフレームの隣のGOPであり、かつ、表示範囲は6frame未満であるか否かを判断する。
【０２０２】
ステップＳ１３２において、そのGOPは、表示しているフレームの隣のGOPではないか、表示範囲は6frame未満ではないと判断された場合、処理は、後述するステップＳ１３６に進む。
【０２０３】
ステップＳ１３２において、そのGOPは、表示しているフレームの隣のGOPであり、かつ、表示範囲は6frame未満であると判断された場合、ステップＳ１３３において、転送完了コマンド送出部５６は、そのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップＳ１３３において、そのGOPに対する転送完了コマンドは、送信済みであると判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２０４】
ステップＳ１３３において、そのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップＳ１３４において、図２８を用いて後述する、出力範囲指定コマンド設定処理が実行される。
【０２０５】
ステップＳ１３５において、出力範囲情報設定部５４は、そのGOPの出力範囲指定コマンドをPCIブリッジ１７のコマンドバッファ３１に送信するとともに、転送完了コマンド送出部５６は、そのＧＯＰの転送完了をPCIブリッジ１７のコマンドバッファ３１に送信し、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２０６】
ステップＳ１３２において、そのGOPは、表示しているフレームの隣のGOPではないか、表示範囲は6frame未満ではないと判断された場合、ステップＳ１３６において、GOP転送タイミング制御部５３は、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームであるか否かを判断する。ステップＳ１３６において、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームではないと判断された場合、処理は、後述するステップＳ１５１に進む。
【０２０７】
ステップＳ１３６において、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームであると判断された場合、ステップＳ１３７において、GOP転送タイミング制御部５３は、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置しているフレームであるか否かを判断する。ステップＳ１３７において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置している、すなわち、再生の方向が正方向であると判断された場合、処理は、後述するステップＳ１５６に進む。
【０２０８】
ステップＳ１３７において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置していない、すなわち、再生の方向が逆方向であると判断された場合、ステップＳ１３８において、GOP転送タイミング制御部５３は、表示されるフレームは、そのＧＯＰの先頭から５フレーム以内のフレームであるか否かを判断する。ステップＳ１３８において、表示されるフレームは、そのＧＯＰの先頭から５フレーム以内のフレームではないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２０９】
ステップＳ１３８において、表示されるフレームは、そのＧＯＰの先頭から５フレーム以内のフレームであると判断された場合、ステップＳ１３９において、GOP転送タイミング制御部５３は、表示されているフレームを含むGOPの一つ前のＧＯＰのデータは転送中であるか否かを考える。
【０２１０】
ステップＳ１３９において、一つ前のＧＯＰのデータは転送中であると判断された場合、ステップＳ１４０において、GOP転送タイミング制御部５３は、転送中である１つ前のGOPに含まれるフレームの表示指令が出されるまでの残り時間があまりないので、データ転送の優先度を上げて、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２１１】
ステップＳ１３９において、一つ前のＧＯＰのデータは転送中ではないと判断された場合、ステップＳ１４１において、GOP転送タイミング制御部５３は、一つ前のＧＯＰのデータは転送済みであるか否かを判断する。
【０２１２】
ステップＳ１４１において、一つ前のＧＯＰのデータは転送済みではないと判断された場合、ステップＳ１４２において、GOP転送タイミング制御部５３は、１つ前のＧＯＰを、優先度を高くして転送し、処理は、後述するステップＳ１４６に進む。
【０２１３】
ステップＳ１４１において、一つ前のＧＯＰのデータは転送済みであると判断された場合、ステップＳ１４３において、転送完了コマンド送出部５６は、１つ前のGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。
【０２１４】
ステップＳ１４３において、１つ前のGOPに対する転送完了コマンドは送信済みではないと判断された場合、ステップＳ１４４において、図２８を用いて後述する、出力範囲指定コマンド設定処理が実行される。
【０２１５】
ステップＳ１４５において、出力範囲情報設定部５４は、１つ前のGOPの出力範囲指定コマンドをPCIブリッジ１７のコマンドバッファ３１に送信するとともに、転送完了コマンド送出部５６は、１つ前のＧＯＰの転送完了をPCIブリッジ１７のコマンドバッファ３１に送信する。
【０２１６】
ステップＳ１４２の処理の終了後、ステップＳ１４３において、１つ前のGOPに対する転送完了コマンドは送信済みであると判断された場合、または、ステップＳ１４５の処理の終了後、ステップＳ１４６において、GOP転送タイミング制御部５３は、出力範囲情報設定部５４により設定された出力範囲に基づいて、一つ前のＧＯＰの表示範囲は6frame未満であるか否かを判断する。
【０２１７】
ステップＳ１４６において、一つ前のＧＯＰの表示範囲は6frame未満ではないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２１８】
ステップＳ１４６において、一つ前のＧＯＰの表示範囲は6frame未満であると判断された場合、ステップＳ１４７において、GOP転送タイミング制御部５３は、二つ前のＧＯＰのデータは転送済みであるか否かを判断する。ステップＳ１４７において、２つ前のＧＯＰのデータは転送済みではないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２１９】
ステップＳ１４７において、２つ前のＧＯＰのデータは転送済みであると判断された場合、ステップＳ１４８において、転送完了コマンド送出部５６は、２つ前のGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップＳ１４８において、２つ前のGOPに対する転送完了コマンドは送信済みであると判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２２０】
ステップＳ１４８において、２つ前のGOPに対する転送完了コマンドは送信済みではないと判断された場合、ステップＳ１４９において、図２８を用いて後述する、出力範囲指定コマンド設定処理が実行される。
【０２２１】
ステップＳ１５０において、出力範囲情報設定部５４は、２つ前のGOPの出力範囲指定コマンドをPCIブリッジ１７のコマンドバッファ３１に送信するとともに、転送完了コマンド送出部５６は、２つ前のＧＯＰの転送完了をPCIブリッジ１７のコマンドバッファ３１に送信し、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２２２】
ステップＳ１３６において、表示されるフレームは、前に表示されたフレームと同じＧＯＰに含まれているフレームではないと判断された場合、ステップＳ１５１において、転送完了コマンド送出部５６は、表示されるフレームがあるGOPの転送完了を送信したか否かを判断する。ステップＳ１５１において、表示されるフレームがあるGOPの転送完了を送信したと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２２３】
ステップＳ１５１において、表示されるフレームがあるGOPの転送完了を送信していないと判断された場合、ステップＳ１５２において、GOP転送タイミング制御部５３は、表示されるフレームがあるGOPは転送済みか否かを判断する。
【０２２４】
ステップＳ１５２において、表示されるフレームがあるGOPは転送済みではないと判断された場合、ステップＳ１５３において、GOP転送タイミング制御部５３は、優先度を上げて、表示されるフレームがあるＧＯＰの転送完了を待つ。
【０２２５】
ステップＳ１５２において、表示されるフレームがあるGOPは転送済みであると判断された場合、または、ステップＳ１５３の処理の終了後、すなわち、表示されるフレームの転送は完了したが、転送完了コマンドはまだ送信されていないとき、ステップＳ１５４において、図２８を用いて後述する、出力範囲指定コマンド設定処理が実行される。
【０２２６】
ステップＳ１５５において、転送完了コマンド送出部５６は、表示されるフレームがあるGOPの転送完了を、出力範囲指定コマンドとともに送信し、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２２７】
ステップＳ１３７において、表示されるフレームは、前に表示されたフレームよりも時間的に後方に位置している、すなわち、再生の方向が正方向であると判断された場合、ステップＳ１５６において、GOP転送タイミング制御部５３は、表示されるフレームは、そのＧＯＰの最後から５フレーム以内のフレームであるか否かを判断する。ステップＳ１５６において、表示されるフレームは、そのＧＯＰの最後から５フレーム以内のフレームではないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２２８】
ステップＳ１５６において、表示されるフレームは、そのＧＯＰの最後から５フレーム以内のフレームであると判断され場合、ステップＳ１５７において、GOP転送タイミング制御部５３は、一つ後のＧＯＰのデータは転送中であるか否かを判断する。
【０２２９】
ステップＳ１５７において、一つ後のＧＯＰのデータは転送中であると判断された場合、ステップＳ１５８において、GOP転送タイミング制御部５３は、転送中である１つ後ろのGOPに含まれるフレームの表示指令が出されるまでの残り時間があまりないので、データ転送の優先度を上げて、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２３０】
ステップＳ１５７において、一つ後のＧＯＰのデータは転送中ではないと判断された場合、ステップＳ１５９において、GOP転送タイミング制御部５３は、一つ後ろのＧＯＰのデータは転送済みであるか否かを判断する。
【０２３１】
ステップＳ１５９において、一つ後ろのＧＯＰのデータは転送済みではないと判断された場合、ステップＳ１６０において、GOP転送タイミング制御部５３は、一つ後ろのＧＯＰを、優先度を高くして転送し、処理は、後述するステップＳ１６４に進む。
【０２３２】
ステップＳ１５９において、一つ後ろのＧＯＰのデータは転送済みであると判断された場合、ステップＳ１６１において、転送完了コマンド送出部５６は、１つ後ろのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。
【０２３３】
ステップＳ１６１において、１つ後ろのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップＳ１６２において、図２８を用いて後述する、出力範囲指定コマンド設定処理が実行される。
【０２３４】
ステップＳ１６３において、出力範囲情報設定部５４は、１後ろのGOPの出力範囲指定コマンドをPCIブリッジ１７のコマンドバッファ３１に送信するとともに、転送完了コマンド送出部５６は、１つ後ろのＧＯＰの転送完了をPCIブリッジ１７のコマンドバッファ３１に送信する。
【０２３５】
ステップＳ１６０の処理の終了後、ステップＳ１６１において、１つ後ろのGOPに対する転送完了コマンドは送信済みであると判断された場合、または、ステップＳ１６３の処理の終了後、ステップＳ１６４において、GOP転送タイミング制御部５３は、出力範囲情報設定部５４により設定された出力範囲に基づいて、一つ後のＧＯＰの表示範囲は6frame未満であるか否かを判断する。
【０２３６】
ステップＳ１６４において、一つ後ろのＧＯＰの表示範囲は6frame未満ではないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２３７】
ステップＳ１６４において、２つ前のＧＯＰの表示範囲は6frame未満であると判断された場合、ステップＳ１６５において、GOP転送タイミング制御部５３は、２つ後のＧＯＰのデータは転送済みであるか否かを判断する。ステップＳ１６５において、２つ後のＧＯＰのデータは転送済みではないと判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２３８】
ステップＳ１６５において、２つ後ろのＧＯＰのデータは転送済みであると判断された場合、ステップＳ１６６において、転送完了コマンド送出部５６は、２つ後ろのGOPに対する転送完了コマンドは、送信済みであるか否かを判断する。ステップＳ１６６において、２つ後ろのGOPに対する転送完了コマンドは、送信済みであると判断された場合、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２３９】
ステップＳ１６６において、２つ後ろのGOPに対する転送完了コマンドは、送信済みではないと判断された場合、ステップＳ１６７において、図２８を用いて後述する、出力範囲指定コマンド設定処理が実行される。
【０２４０】
ステップＳ１６８において、出力範囲情報設定部５４は、２つ後ろのGOPの出力範囲指定コマンドをPCIブリッジ１７のコマンドバッファ３１に送信するとともに、転送完了コマンド送出部５６は、２つ後ろのＧＯＰの転送完了をPCIブリッジ１７のコマンドバッファ３１に送信し、処理は、図１９のステップＳ９に戻り、ステップＳ１０に進む。
【０２４１】
このような処理により、正方向の表示の場合には表示されるフレームがGOPの後ろから５フレーム以内であるとき、逆方向の表示の場合には表示されるフレームがGOPの前ろから５フレーム以内であるとき、表示されるフレームにおけるＧＯＰの変わり目で先に転送が開始された次に表示されると予測されたＧＯＰの転送が完了したか否かが判断され、転送が完了していない場合は、転送の優先度が高くなり、転送が完了した場合は、転送完了コマンドが、出力範囲指定コマンドとともに送信される。
【０２４２】
これにより、例えば、ランダム再生において、表示開始位置が大幅に変更された場合などにおいて、メモリ１８からメモリ２０に無駄にデータの転送が行われない。したがって、メモリ２０のデータ記憶容量がメモリ１８と比較して少ない場合であっても、メモリ２０がオーバーフローしたり、必要なデータが上書きされてしまうことを防ぐことが可能となる。
【０２４３】
また、表示されるフレームを含むＧＯＰの転送が終了されていない場合、そのＧＯＰの転送の優先度が高くなる。
【０２４４】
図２７を参照して、クリップファイルAとして、第１のストリームのあるGOPのP8ピクチャから、次のGOPのP8ピクチャまでが選択されて、クリップファイルBとして、第２のストリームのあるGOPのP14ピクチャから、次のGOPのP14ピクチャまでが選択されて、クリップファイルAとクリップファイルBとが連続して再生されるクリップ再生において、トランジェント再生が実行される場合のコマンド送信等のタイミング制御例について説明する。
【０２４５】
例えば、図２７Ａに示されるように、正方向で表示フレームが移行しており、表示されるフレームがクリップファイルAの１つ目のＧＯＰから２つ目のＧＯＰに移った場合、更にその次のＧＯＰが転送中かまたは転送済みであるか否かが判断されて、まだ、転送中でも転送済みでもない場合には、転送が指令される。
【０２４６】
そして、図２７Ｂに示されるように、次のＧＯＰ、すなわち、クリップファイルＢの一つ目のＧＯＰが転送される。このＧＯＰの表示範囲は、Ｐ１４ピクチャのみであり、６フレーム未満となるため、その次のＧＯＰ、すなわち、クリップファイルＢの２つ目のＧＯＰも、このＧＯＰに続いて転送される。
【０２４７】
そして、図２７Ｃに示されるように、クリップファイルＡの２つ目のＧＯＰに含まれるフレームの表示中に、クリップファイルＢの一つ目のＧＯＰの転送が完了したとき、転送完了したＧＯＰは、現在表示されているフレームを含むＧＯＰの隣のＧＯＰであり、かつ、表示範囲が６フレーム未満であることから、すぐに、転送完了コマンドが送信される。そして、図２７Ｃの状態から、表示再生方向が逆転し、逆方向再生となったものとする。
【０２４８】
クリップファイルＢの２つ目のＧＯＰの転送が終了したときに、図２７Ｄに示されるように逆方向再生中であり、クリップファイルＡの２つ目のＧＯＰに含まれるフレームの表示中である場合、転送完了したＧＯＰは、現在表示されているフレームを含むＧＯＰの隣のＧＯＰではないため、まだ、転送完了コマンドは送信されない。そして、図２７Ｄの状態から、表示再生方向が逆転し、再び正方向再生となったものとする。
【０２４９】
そして、図２７Ｅに示されるように、正方向再生において、表示されているフレームが、表示されているフレームを含むＧＯＰの最後から５フレーム以内となり、次のＧＯＰの表示範囲が６フレーム以内で、かつ、２つ後のＧＯＰの転送が完了したという条件を満たした場合、クリップファイルＢの２つ目のＧＯＰに対する転送完了コマンドが送信される。
【０２５０】
次に、図２８のフローチャートを参照して、図２３のステップＳ１３４、図２４のステップＳ１４４およびステップＳ１４９、図２５のステップＳ１５４、並びに、図２６のステップＳ１６２およびステップＳ１６７において実行される、出力範囲指定コマンド設定処理について説明する。
【０２５１】
ステップＳ１８１において、出力範囲情報設定部５４は、出力範囲指定コマンドを設定するＧＯＰは、クリップに含まれていないが、いずれかのクリップをデコードするための参照画として用いられるフレームを有するGOPであるか否かを判断する。
【０２５２】
ステップＳ１８１において、クリップに含まれていないが、いずれかのクリップをデコードするための参照画として用いられるフレームを有するGOPであると判断された場合、ステップＳ１８２において、出力範囲情報設定部５４は、出力範囲指定コマンドを０−０に設定し、処理は、図２３乃至図２６を用いて説明した転送完了送信決定処理に戻る、すなわち、図２３のステップＳ１３４に戻ってステップＳ１３５に進むか、図２４のステップＳ１４４に戻ってステップＳ１４５に進むか、ステップＳ１４９に戻ってステップＳ１５０に進むか、図２５のステップＳ１５４に戻ってステップＳ１５５に進むか、図２６のステップＳ１６２に戻ってステップＳ１６３に進むか、ステップＳ１６７に戻ってステップＳ１６８に進む（図２８の出力範囲指定コマンド設定処理の説明においては、以下、同様）。
【０２５３】
ステップＳ１８１において、クリップに含まれているGOPであると判断された場合、ステップＳ１８３において、出力範囲情報設定部５４は、出力範囲指定コマンドを設定するＧＯＰは、クリップの先頭のGOPであるか否かを判断する。
【０２５４】
ステップＳ１８３において、クリップの先頭のGOPであると判断された場合、ステップＳ１８４において、出力範囲情報設定部５４は、クリップの設定に基づいて、出力範囲指定コマンドを設定(例えば、７−１５，９−１５など)し、処理は、図２３乃至図２６を用いて説明した転送完了送信決定処理に戻る。
【０２５５】
ステップＳ１８３において、クリップの先頭のGOPではないと判断された場合、ステップＳ１８５において、出力範囲情報設定部５４は、出力範囲指定コマンドを設定するＧＯＰは、クリップの最後尾のGOPであるか否かを判断する。
【０２５６】
ステップＳ１８５において、クリップの最後尾のGOPであると判断された場合、ステップＳ１８６において、出力範囲情報設定部５４は、クリップの設定に基づいて、出力範囲指定コマンドを設定（例えば、０−４，０−１１など）し、処理は、図２３乃至図２６を用いて説明した転送完了送信決定処理に戻る。
【０２５７】
ステップＳ１８５において、クリップの最後尾のGOPではないと判断された場合、ステップＳ１８７において、出力範囲情報設定部５４は、そのＧＯＰの全範囲において出力可能性があるものとして、出力範囲指定コマンドを設定し、処理は、図２３乃至図２６を用いて説明した転送完了送信決定処理に戻る。
【０２５８】
このような処理により、出力範囲指定コマンドが設定されて送信されるので、例えば、クリップには含まれないが、参照画像として用いるために転送されるＧＯＰのアンカーフレームは、保有アンカーフレームであっても、保有アンカーバンクにおいて、上書き処理を行うことが可能となり、同一の保有アンカーバンク数で処理が可能なＧＯＰ数を増やすことが可能となる。
【０２５９】
以上説明したような処理を行うことにより、クリップ再生でのスクラブ再生や正、逆コマ送り再生の制御が簡単にかつ高速に行える。
【０２６０】
すなわち、ＧＯＰ転送の転送単位の決定や転送タイミングの制御が複雑でないため、制御が簡単になるとともに、重なってデータが送られてしまうなどのデータ転送の冗長分は少なくてすむようになされている。
【０２６１】
なお、ここでは、コーディックの方式としてＭＰＥＧを用いた場合を例として説明しているが、フレーム相関を伴うコーディック処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、ＡＶＣ（Advanced Video Coding）／Ｈ．２６４などにおいて、本発明は適用可能である。
【０２６２】
なお、ＡＶＣ/Ｈ.２６４のＢピクチャは、必ずしも、前方向および後ろ方向の双方向の参照画像を用いるとは限らず、過去から２枚の参照画像を用いて予測しても、未来から２枚の参照画像を用いて予測してもよいが、このような場合を考慮して、本発明を適用することは可能である。
【０２６３】
なお、以上の説明においては、ＣＰＵ１１とＣＰＵ２０が、ＰＣＩブリッジ１７のコマンドバッファ３１およびリザルトバッファ３２を介して、制御情報を授受し、分担して、制御を行うものとして説明したが、例えば、同様の処理を、１つのＣＰＵを用いて実行するようにしても良い。
【０２６４】
その場合、ＣＰＵが有する機能は、図２９の機能ブロック図に示されるように、図５を用いて説明した、操作入力取得部５１、転送GOP決定部５２、GOP転送タイミング制御部５３、出力範囲情報設定部５４、レジスタ５５、表示コマンド送出部５７、メモリ間転送制御部７２、デコードスケジュール処理部７３、デコード制御部７４、および、レジスタ７５と、基本的に同様となる。
【０２６５】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、上述した処理は、図３０に示されるようなパーソナルコンピュータ２０１により実行される。
【０２６６】
図３０において、CPU（Central Processing Unit）２１１は、ROM(Read Only Memory)２１２に記憶されているプログラム、または、記憶部２１８からRAM(Random Access Memory)２１３にロードされたプログラムに従って各種の処理を実行する。RAM２１３にはまた、CPU２１１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０２６７】
CPU２１１、ROM２１２、およびRAM２１３は、内部バス２１４を介して相互に接続されている。この内部バス２１４にはまた、入出力インターフェース２１５も接続されている。
【０２６８】
入出力インターフェース２１５には、キーボード、マウスなどよりなる入力部２１６、CRT，LCDなどよりなるディスプレイ、スピーカなどよりなる出力部２１７、ハードディスクなどより構成される記憶部２１８、並びに、モデム、ターミナルアダプタなどより構成される通信部２１９が接続されている。通信部２１９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
【０２６９】
入出力インターフェース２１５にはまた、必要に応じてドライブ２２０が接続され、磁気ディスク２３１（フレキシブルディスクを含む）、光ディスク２３２（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク２３３（ＭＤ(Mini-Disk)（商標）を含む）、もまたは、半導体メモリ２３４などが適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部２１８にインストールされる。
【０２７０】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２７１】
この記録媒体は、図３０に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、または、半導体メモリ２３４などよりなるパッケージメディアなどにより構成される。
【０２７２】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２７３】
さらに、上述の実施の形態においては、圧縮されたストリームデータがＨＤＤ１６に記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録されたストリームデータをデコードする場合にも適用することができる。
【０２７４】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２７５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２７６】
【図１】従来の編集処理について説明するための図である。
【図２】再生装置の構成を示すブロック図である。
【図３】クリップ再生について説明するための図である。
【図４】参照画像について説明するための図である。
【図５】ＣＰＵの機能について説明するための機能ブロック図である。
【図６】デコーダの構成を示すブロック図である。
【図７】ＧＯＰのヘッダ情報について説明するための図である。
【図８】ストリームバッファGOPキューについて説明するための図である。
【図９】保有アンカーフレームと非保有アンカーフレームについて説明するための図である。
【図１０】ストリームバッファＧＯＰキューについて説明するための図である。
【図１１】バンク構成について説明するための図である。
【図１２】GOP保有アンカーキューについて説明するための図である。
【図１３】保有アンカーバンクの管理について説明するための図である。
【図１４】保有アンカーバンクの管理について説明するための図である。
【図１５】ＧＯＰの転送範囲とデコード処理について説明するための図である。
【図１６】ＧＯＰの転送範囲とデコード処理について説明するための図である。
【図１７】ＧＯＰの転送範囲とデコード処理について説明するための図である。
【図１８】ＧＯＰの転送範囲とデコード処理について説明するための図である。
【図１９】ＣＰＵ１１の処理について説明するためのフローチャートである。
【図２０】ＣＰＵ２０の処理について説明するためのフローチャートである。
【図２１】表示用転送単位決定処理について説明するためのフローチャートである。
【図２２】先送り用転送単位決定処理について説明するためのフローチャートである。
【図２３】転送完了送信決定処理について説明するためのフローチャートである。
【図２４】転送完了送信決定処理について説明するためのフローチャートである。
【図２５】転送完了送信決定処理について説明するためのフローチャートである。
【図２６】転送完了送信決定処理について説明するためのフローチャートである。
【図２７】処理の具体例について説明するための図である。
【図２８】出力範囲指定コマンド設定処理について説明するためのフローチャートである。
【図２９】ＣＰＵの機能について説明するための機能ブロック図である。
【図３０】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０２７７】
１  再生装置，  １１  ＣＰＵ，  １６  ＨＤＤ，  １８  メモリ，  ２０  ＣＰＵ，  ２２  メモリ，  ２３  デコーダ，  ５１  操作入力取得部，  ５２  転送GOP決定部，  ５３  GOP転送タイミング制御部５３  出力範囲情報設定部，  ５６  転送完了コマンド送出部，  ７２  メモリ間転送制御部，  ７３  デコードスケジュール処理部，  ７４  デコード制御部，  １５３  デコードコントローラ
【図１】
2007336067.tif 000003
【図２】
2007336067.tif 000004
【図３】
2007336067.tif 000005
【図４】
2007336067.tif 000006
【図５】
2007336067.tif 000007
【図６】
2007336067.tif 000008
【図７】
2007336067.tif 000009
【図８】
2007336067.tif 000010
【図９】
2007336067.tif 000011
【図１０】
2007336067.tif 000012
【図１１】
2007336067.tif 000013
【図１２】
2007336067.tif 000014
【図１３】
2007336067.tif 000015
【図１４】
2007336067.tif 000016
【図１５】
2007336067.tif 000017
【図１６】
2007336067.tif 000018
【図１７】
2007336067.tif 000019
【図１８】
2007336067.tif 000020
【図１９】
2007336067.tif 000021
【図２０】
2007336067.tif 000022
【図２１】
2007336067.tif 000023
【図２２】
2007336067.tif 000024
【図２３】
2007336067.tif 000025
【図２４】
2007336067.tif 000026
【図２５】
2007336067.tif 000027
【図２６】
2007336067.tif 000028
【図２７】
2007336067.tif 000029
【図２８】
2007336067.tif 000030
【図２９】
2007336067.tif 000031
【図３０】
2007336067.tif 000032