(57)【特許請求の範囲】
【請求項１】
画像データを出力するための指定PTS（Presentation Time Stamp）を受け付けた場合に、当該指定PTSのデータを含む第１のGOP（Group of Picture）及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する取得手段と、
前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御手段と、
デコード済のI（Intra-coded）ピクチャ及びP（Predictive-coded）ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファと、を有し、
前記制御手段は、
前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とする再生装置。
【請求項２】
前記制御手段は、
前記指定PTSのデータがIピクチャである場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記バッファに格納済みの前記指定PTSのIピクチャの画像データを出力し、
前記指定PTSのデータがPピクチャである場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記バッファに格納済みの前記指定PTSのPピクチャの画像データを出力し、
前記指定PTSのデータがB（Bi-directionally predictive-coded）ピクチャである場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記バッファに格納済みのIピクチャ又はPピクチャの画像データを用いて、前記指定PTSのBピクチャのデータをデコードし、該デコードした前記指定PTSのBピクチャの画像データを出力する、ことを特徴とする請求項１記載の再生装置。
【請求項３】
前記取得手段は、前記指定PTSを受け付ける度に、当該指定PTSのデータを含む第１のGOP及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する、ことを特徴とする請求項１または請求項２記載の再生装置。
【請求項４】
前記制御手段は、前記取得手段で取得したIピクチャ及びPピクチャのデータのPTSと、前記バッファに格納済みのIピクチャ及びPピクチャのデータのPTSと、を比較し、前記取得手段で取得したIピクチャ及びPピクチャのデータの中でPTSが一致するデータはデコード処理を行わず、PTSが一致しないデータはデコード処理を行う、ことを特徴とする請求項１から請求項３の何れか１項に記載の再生装置。
【請求項５】
前記制御手段は、デコード済のIピクチャ及びPピクチャの画像データを前記バッファに格納する場合に、前記バッファに空き領域がある場合は、その空き領域に、デコード済のIピクチャ及びPピクチャの画像データを格納し、前記バッファに空き領域がない場合は、前記指定PTSを基に、前記指定PTSより大きいPTSの領域をクリアにし、そのクリアにした領域に、デコード済のIピクチャ及びPピクチャの画像データを格納し、それでも空き領域がない場合は、一番小さいPTSの領域をクリアにし、そのクリアにした領域に、デコード済のIピクチャ及びPピクチャの画像データを格納する、ことを特徴とする請求項１から請求項４の何れか１項に記載の再生装置。
【請求項６】
前記バッファは、少なくとも、２GOPに含まれるIピクチャ及びPピクチャのフレーム分のデータが格納できる領域で構成する、ことを特徴とする請求項１から請求項５の何れか１項に記載の再生装置。
【請求項７】
再生装置で行う制御方法であって、
画像データを出力するための指定PTS（Presentation Time Stamp）を受け付けた場合に、当該指定PTSのデータを含む第１のGOP（Group of Picture）及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する取得工程と、
前記取得工程で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御工程と、を有し、
前記制御工程は、
前記取得工程で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、デコード済のI（Intra-coded）ピクチャ及びP（Predictive-coded）ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とする制御方法。
【請求項８】
画像データを出力するための指定PTS（Presentation Time Stamp）を受け付けた場合に、当該指定PTSのデータを含む第１のGOP（Group of Picture）及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する取得処理と、
前記取得処理で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御処理と、をコンピュータに実行させ、
前記制御処理は、
前記取得処理で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、デコード済のI（Intra-coded）ピクチャ及びP（Predictive-coded）ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、MPEG（Moving Picture Image Coding Experts Group）方式の圧縮画像データを再生する技術に関する。
【背景技術】
【０００２】
圧縮画像データの符号化方式としては、MPEG方式が標準化されている。また、MPEG方式の画像符号化アルゴリズムでは、ランダムアクセス機能を可能にするために、GOP（Group of Picture）単位で符号化が行われている。各GPOは、Iピクチャと、Pピクチャと、Bピクチャと、で構成している。
【０００３】
Iピクチャは、Intra-coded picture（フレーム内符号化画像）のことを示し、フレーム内符号化した画像データであり、動き補償を行わないピクチャである。
Pピクチャは、Predictive-coded picture（順方向予測符号化画像）のことを示し、１つ前の再生画像データ（Iピクチャ又はPピクチャ）から動き補償を行い、フレーム間符号化を行ったピクチャである。
Bピクチャは、Bi-directionally predictive-coded picture（双方向予測符号化画像）のことを示し、１つ前と１つ後の再生画像データ（Iピクチャ又はPピクチャ）から動き補償を行い、両方向予測のフレーム間符号化を行ったピクチャである。
【０００４】
なお、上述したMPEG方式の符号化を行う再生装置においてフレーム単位の画像再生を実現するためには、ユーザ操作による、シーク、順方向スロー、逆方向スロー、コマ送り、コマ戻し機能が必要になる。
【０００５】
順方向スロー、コマ送り機能は、公知のDirect Showの機能を用いて実現することができる。
【０００６】
しかし、シーク、逆方向スロー、コマ戻し機能等の特殊再生は、公知のDirect Showの機能を用いて実現することができない。
【０００７】
このようなことから、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現するための新たな制御方法の開発が必要視されることになる。
【０００８】
なお、本発明より先に出願された技術文献として、MPEG方式の圧縮動画像データを逆方向再生する場合の方法について開示された文献がある（例えば、特許文献１参照）。
【０００９】
上記特許文献１では、MPEG方式の圧縮動画像データは、逆方向再生の場合にGOP単位で順方向再生の場合と逆の順序で入力される。その入力系列に対し、スイッチ回路8,9,5を切換え制御し、１GOPのIピクチャとPピクチャ、及び順方向で前のGOPに係るIピクチャを復号・再生してフレームメモリ2aへ格納する。一方、１GOPのBピクチャは、符号化データのままデータメモリ7へ格納する。そして、各メモリ7,2aのデータをFILO方式で書換えながら、データメモリ7のBピクチャを復号・再生すると共に、スイッチ回路6を切換え制御して各ピクチャの再生画像データを連続的に逆方向順で出力させることにしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平８−１０２９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１には、IピクチャとPピクチャをフレームメモリ2aへ格納し、Bピクチャをデータメモリ7へ格納し、各メモリ7,2aのデータをFILO方式で書換えながら、各ピクチャの再生画像データを連続的に逆方向順で出力させる点について開示されている。
【００１２】
しかし、上記特許文献１には、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現する点については何ら記載されていない。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
【００１５】
＜再生装置＞
本発明にかかる再生装置は、
画像データを出力するための指定PTS（Presentation Time Stamp）を受け付けた場合に、当該指定PTSのデータを含む第１のGOP（Group of Picture）及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する取得手段と、
前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御手段と、
デコード済のI（Intra-coded）ピクチャ及びP（Predictive-coded）ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファと、を有し、
前記制御手段は、
前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態の再生装置100の内部構成例を示す図である。
【図２】第１の実施形態の再生装置100の処理動作例を示す図である。
【図３】第１の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。
【図４】第２の実施形態の再生装置100の内部構成例を示す図である。
【図５】第２の実施形態の再生装置100の処理動作例を示す図である。
【図６】第２の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。
【図７】第２の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。
【図８】第２の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。
【図９】本実施形態の再生装置100を構成するVideo Decoder43の内部構成例を示す図である。
【図１０】Video Decoder43の処理動作例を示す図である。
【発明を実施するための形態】
【００２０】
＜再生装置100の概要＞
まず、図１、図４を参照しながら、本実施形態の再生装置100の概要について説明する。
【００２１】
本実施形態の再生装置100は、図１に示すように、画像データを出力するための指定PTS（Presentation Time Stamp）を受け付けた場合に、当該指定PTSのデータを含む第１のGOP（Group of Picture）及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する取得手段（ファイルリーダ2に相当）と、取得手段（2）で取得したデータを指定PTSのデータまでデコードし、指定PTSの画像データを出力する制御手段（Video Decoder43に該当）と、を有して構成する。これにより、本実施形態の再生装置100は、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる。
【００２２】
また、本実施形態の再生装置100は、図４に示すように、デコード済のI（Intra-coded）ピクチャ及びP（Predictive-coded）ピクチャの画像データを格納するバッファ（内部バッファ438に相当）を有し、制御手段（43）は、バッファ（438）に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、バッファ（438）に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力することになるため、指定PTSの画像データを出力するまでの処理時間を短くすることができる。以下、添付図面を参照しながら、本実施形態の再生装置100について詳細に説明する。
【００２３】
（第１の実施形態）
＜再生装置100の内部構成例＞
まず、図１を参照しながら、本実施形態の再生装置100の内部構成例について説明する。
【００２４】
本実施形態の再生装置100は、メモリ1と、ファイルリーダ2と、Demux3と、Decoder4と、Video Render5と、Audio Render6と、ディスプレイ7と、スピーカ8と、を含んで構成している。
【００２５】
メモリ1は、各種情報を記憶するものであり、例えば、録画番組等のMPEGデータを格納する。
【００２６】
ファイルリーダ2は、MPEGデータを読み込む機能を行う。ファイルリーダ2は、ディスプレイ7に表示する画像データの指定PTSを受け付けた場合に、その指定PTSに応じたMPEGデータをメモリ1から読み取る。本実施形態のファイルリーダ2は、指定PTSを含むGOPの１つ前のGOPのMPEGデータから順にメモリ1から読み取る。ファイルリーダ2は、メモリ1から順に読み取ったMPEGデータを指定PTSと共にDemux3に出力する。
【００２７】
Demux3は、MPEGデータをVideo符号データ、Audio符号データに分離する機能を行う。Demux3は、ファイルリーダ2から受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００２８】
Decoder4は、MPEGデータを出力データに変換する機能を行う。Decoder4は、Buffer41,42を含んで構成し、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。Video Decoder43は、Demux3から受け付けた指定PTSを基に、Buffer41に格納したVideo符号データをデコードする。Audio Decoder44は、Demux3から受け付けた指定PTSを基に、Buffer42に格納したAudio符号データをデコードする。但し、Audio Decoder44は、状況に応じて、Audio符号データをデコードしなくても良い。
【００２９】
Video Render5は、画像データを出力する機能を行う。Video Render5は、Video Decoder43でデコードした画像データをディスプレイ7に出力し、ディスプレイ7上に画像データを表示する。
【００３０】
Audio Render6は、音声データを出力する機能を行う。Audio Render6は、Audio Decoder44でデコードした音声データをスピーカ8に出力し、スピーカ8から音声データを出力する。但し、Audio Render6は、状況に応じて、音声データを出力しなくても良い。
【００３１】
＜再生装置100の処理動作例＞
次に、図２を参照しながら、本実施形態の再生装置100の処理動作例について説明する。以下の処理動作例は、シーク、逆方向スロー、コマ戻しを行う場合である。シーク、逆方向スロー、コマ戻しは、図２に示す以下の処理動作を繰り返すことで実現することができる。
【００３２】
本実施形態の再生装置100においてシーク、逆方向スロー、コマ戻しを開始する場合は、ユーザ操作により、シーク、逆方向スロー、コマ戻しの再生開始時にディスプレイ7に表示する画像データをPTS（Presentation Time Stamp）で指定する（ステップA1）。
【００３３】
再生装置100は、ディスプレイ7に表示する画像データのPTSが指定された場合に（ステップA1/Yes）、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの１つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【００３４】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００３５】
これにより、再生装置100は、PTSが指定された場合に（ステップA1/Yes）、その指定PTSを含むGOPの１つ前のGOPのMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップA2）。
【００３６】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【００３７】
Video Decoder43は、Demux3から受け付けた指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データを指定PTSまでデコードする（ステップA3）。
【００３８】
また、Audio Decoder44は、Demux3から受け付けた指定PTSを基に、Buffer42に格納したAudio符号データをデコードする。但し、Audio Decoder44は、状況に応じて、Audio符号データをデコードしなくても良い。
【００３９】
Video Render5は、Decoder4でデコードした画像データをディスプレイ7に出力し、ディスプレイ7上に画像データを表示する。これにより、Video Render5は、指定PTSの画像データをディスプレイ7に表示することができる（ステップA4）。
【００４０】
また、Audio Render6は、Audio Decoder44でデコードした音声データをスピーカ8に出力し、スピーカ8から音声データを出力することになる。但し、Audio Render6は、状況に応じて、音声データを出力しなくても良い。
【００４１】
＜上記処理動作の具体例＞
次に、図３を参照しながら、上述した図２に示す処理動作の具体例について説明する。以下の処理動作では、シーク、逆方向スロー、コマ戻しの再生を、『B24』から開始した場合について説明する。なお、本実施形態では、説明の簡略化のために、１GOP単位を、９フレームで構成しているが、通常は、１GOP単位を、MPEGに準拠したフレーム数で構成することになる。また、各ピクチャを示す記号（I，P，B）に付した数字は、各ピクチャを区分するためのものであり、Decoder4に入力する前のデータは、図３に示す『符号順』で示す順序で構成し、Decoder4でデコードした後のデータは、図３に示す『表示順』で示す順序で構成する。例えば、『GOP1』は、Decoder4に入力する前は、『I01→B02→B03→P04→B05→B06→P07→B08→B09』で構成しており、Decoder4でデコードした後は、『B02→B03→I01→B05→B06→P04→B08→B09→P07』で構成している。また、Decoder4で行うデコードは、MPEGに準拠した処理であるため、具体的な処理については割愛する。
【００４２】
再生装置100は、ユーザ操作により、シーク、逆方向スロー、コマ戻しの再生開始時にディスプレイ7に表示する『B24』のPTSが指定された場合は（ステップA1/Yes）、ファイルリーダ2は、その『B24』の指定PTSを基に、その『B24』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【００４３】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００４４】
これにより、再生装置100は、『B24』のPTSが指定された場合に（ステップA1/Yes）、その『B24』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップA2）。
【００４５】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。Video Decoder43は、Demux3から受け付けた『B24』の指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データをデコードする。この時、Video Decoder43は、2GOPの先頭のデータ（I10）からデコードし、指定PTSの『B24』のデータまで（I10〜B24のデータまで）デコードする（ステップA3）。
【００４６】
これにより、Video Render5は、Video Decoder43でデコードした指定PTSの『B24』の画像データをディスプレイ7に表示することができる（ステップA4）。
【００４７】
再生装置100は、上記の処理動作を繰り返すことで、シーク、逆方向スロー、コマ戻しの再生を実現することができる。
【００４８】
＜本実施形態の再生装置100の作用・効果＞
このように、本実施形態の再生装置100は、画像データを出力するための指定PTS（Presentation Time Stamp）を受け付けた場合に、当該指定PTSのデータを含む第１のGOP（Group of Picture）及び当該第１のGOPの１つ前の第２のGOPのデータを少なくとも取得する。そして、その取得したデータを指定PTSのデータまでデコードし、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる。
【００４９】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００５０】
第１の実施形態の再生装置100は、図２に示す処理動作を繰り返すことで、シーク、逆方向スロー、コマ戻しの再生を実現することにした。
【００５１】
しかし、図２に示す処理動作を繰り返すと、2GOPの先頭のデータから指定PTSのデータまでのデータを何度もデコードすることになるため、指定PTSの画像データをディスプレイ7に表示するまでの処理時間が長くなってしまう。
【００５２】
第２の実施形態の再生装置100は、図４に示すように、デコード済のI（Intra-coded）ピクチャ及びP（Predictive-coded）ピクチャの画像データを格納するバッファ438を設け、Video Decoder43は、バッファ438に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、バッファ438に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力することになるため、指定PTSの画像データを出力するまでの処理時間を短くすることができる。以下、図４〜図８を参照しながら、第２の実施形態について説明する。
【００５３】
＜再生装置100の内部構成例＞
まず、図４を参照しながら、本実施形態の再生装置100の内部構成例について説明する。
【００５４】
本実施形態の再生装置100は、第１の実施形態と同様に、メモリ1と、ファイルリーダ2と、Demux3と、Decoder4と、Video Render5と、Audio Render6と、ディスプレイ7と、スピーカ8と、を含んで構成している。各部の機能は、第１の実施形態と同様であるため、具体的な説明は割愛する。
【００５５】
なお、本実施形態のVideo Decoder43は、内部バッファ437,438を有しており、Video Decoder43でデコードした画像データを内部バッファ437,438に格納する。内部バッファ437,438は、Video Decoder43でデコードしたBピクチャの画像データを格納するBピクチャ専用の内部バッファ437と、Video Decoder43でデコードしたI,Pピクチャの画像データを格納するI,Pピクチャ専用の内部バッファ438と、を有している。I,Pピクチャ専用の内部バッファ438は、I,Pピクチャの画像データと、PTS値と、を対応付けて格納する。なお、内部バッファ437,438のデータ容量は、特に限定せず、任意のフレーム分を格納するように適宜設計することが可能である。但し、本発明を実現するためには、Bピクチャ専用の内部バッファ437は、少なくとも、１フレーム分の画像データが格納できるデータ容量で構成し、I,Pピクチャ専用の内部バッファ438は、少なくとも、２GOPに含まれるI,Pピクチャのフレーム分の画像データが格納できるデータ容量で構成することが好ましい。
【００５６】
＜再生装置100の第１の処理動作例＞
次に、図５を参照しながら、本実施形態の再生装置100の第１の処理動作例について説明する。以下の第１の処理動作例は、通常再生を行った後に、コマ戻しを行う場合である。
【００５７】
本実施形態の再生装置100において通常再生を行った場合は、通常再生時にVideo Decoder43でデコードした２GOP分のI,Pピクチャの画像データを、I,Pピクチャ専用の内部バッファ438に格納することになる。また、通常再生時にVideo Decoder43でデコードした１フレーム分のBピクチャの画像データを、Bピクチャ専用の内部バッファ437に格納することになる。
【００５８】
また、本実施形態の再生装置100において通常再生を行った後に、コマ戻しを開始する場合は、ユーザ操作により、コマ戻し開始時にディスプレイ7に表示する画像データをPTSで指定する（ステップB1）。
【００５９】
再生装置100は、PTSが指定された場合に（ステップB1/Yes）、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの１つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【００６０】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００６１】
これにより、再生装置100は、PTSが指定された場合に（ステップB1/Yes）、その指定PTSを含むGOPの１つ前のGOPのMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップB2）。
【００６２】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【００６３】
Video Decoder43は、Demux3から受け付けた指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データをデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないI,PピクチャのVideo符号データのみを指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。また、Video Decoder43は、指定PTSがBピクチャの場合は、I,Pピクチャ専用の内部バッファ438を参照し、内部バッファ438に格納済のI,Pピクチャを用いて、Bピクチャのデータもデコードし、Bピクチャ専用の内部バッファ437に格納する（ステップB3）。
【００６４】
これにより、Video Decoder43は、コマ戻し開始時に内部バッファ438に格納済のI,PピクチャのVideo符号データについてはデコード処理を行わず、コマ戻し開始時に内部バッファ438に未格納のI,PピクチャのVideo符号データ、及び、コマ戻し開始時に指定した指定PTSのBピクチャのVideo符号データのみをデコードすることができる。なお、コマ戻し開始時に指定した指定PTSがI、Pピクチャの場合は、その指定PTSのI,Pピクチャが内部バッファ438に格納済である場合は、デコード処理を行わず、内部バッファ438に未格納である場合に、デコード処理を行うことになる。
【００６５】
なお、Audio Decoder44は、Demux3から受け付けた指定PTSを基に、Buffer42に格納したAudio符号データをデコードする。但し、Audio Decoder44は、状況に応じて、Audio符号データをデコードしなくても良い。
【００６６】
Video Render5は、内部バッファ437,438に格納した画像データをディスプレイ7に出力し、ディスプレイ7上に画像データを表示する。これにより、Video Render5は、指定PTSの画像データをディスプレイ7に表示することができる（ステップB4）。
【００６７】
また、Audio Render6は、Audio Decoder44でデコードした音声データをスピーカ8に出力し、スピーカ8から音声データを出力することになる。但し、Audio Render6は、状況に応じて、音声データを出力しなくても良い。
【００６８】
＜第１の処理動作の具体例＞
次に、図６を参照しながら、上述した第１の処理動作の具体例について説明する。以下の処理動作では、図６に示す『B24』まで通常再生し、その後、１コマ戻し、２コマ戻しを行った場合について説明する。
【００６９】
本実施形態の再生装置100において、図６（a）に示す『B24』まで通常再生を行う場合は、GOP1,GOP2,GOP3の順で『B24』まで通常再生を行うことになる。このため、Video Decoder43は、GOP1の先頭からGOP3の『B24』まで（I01〜B24まで）デコードし、Video Render5は、Video Decoder43でデコードした『B24』をディスプレイ7に表示することになる。
【００７０】
なお、Video Decoder43は、『B24』までデコードした２GOP分のI,Pピクチャのデータ（P07,I10,P13,P16,I19,P22）を、I,Pピクチャ専用の内部バッファ438に格納することになる。また、１フレーム分のBピクチャのデータ（B24）を、Bピクチャ専用の内部バッファ437に格納することになる。そして、Video Render5は、Bピクチャ専用の内部バッファ437に格納した『B24』をディスプレイ7に表示することになる。
【００７１】
また、本実施形態の再生装置100において図６（a）に示す通常再生を行った後に、図６（b）に示す１コマ戻しを行う場合は、ユーザ操作により、１コマ戻し開始時にディスプレイ7に表示する画像データ（B23）をPTSで指定する（ステップB1）。
【００７２】
再生装置100は、『B23』のPTSが指定された場合に（ステップB1/Yes）、ファイルリーダ2は、その『B23』の指定PTSを基に、その『B23』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【００７３】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００７４】
これにより、再生装置100は、『B23』のPTSが指定された場合に（ステップB1/Yes）、その『B23』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップB2）。
【００７５】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【００７６】
Video Decoder43は、Demux3から受け付けた『B23』の指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データをデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『B23』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『B23』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19,P22）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【００７７】
また、指定PTSが『B23』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納済のI19,P22を参照し、『B23』のVideo符号データをデコードし、そのデコードした『B23』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【００７８】
これにより、Video Decoder43は、１コマ戻し開始時に内部バッファ438に格納済のI,PピクチャのVideo符号データ（I10,P13,P16,I19,P22）についてはデコード処理を行わず、１コマ戻し開始時に指定した指定PTSの『B23』のBピクチャのVideo符号データのみをデコードすることができる。
【００７９】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B23』の画像データをディスプレイ7に表示することができる（ステップB4）。
【００８０】
なお、図６（c）に示す２コマ戻しを行う場合は、ユーザ操作により、２コマ戻し開始時にディスプレイ7に表示する画像データ（B21）をPTSで指定する（ステップB1）。
【００８１】
再生装置100は、『B21』のPTSが指定された場合に（ステップB1/Yes）、ファイルリーダ2は、その『B21』の指定PTSを基に、その『B21』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【００８２】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００８３】
これにより、再生装置100は、『B21』のPTSが指定された場合に（ステップB1/Yes）、その『B21』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップB2）。
【００８４】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【００８５】
Video Decoder43は、Demux3から受け付けた『B21』の指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データをデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『B21』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『B21』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【００８６】
また、指定PTSが『B21』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納済のP16,I19を参照し、『B21』のVideo符号データをデコードし、そのデコードした『B21』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【００８７】
これにより、Video Decoder43は、２コマ戻し開始時に内部バッファ438に格納済のI,PピクチャのVideo符号データ（I10,P13,P16,I19）についてはデコード処理を行わず、２コマ戻し開始時に指定した指定PTSの『B21』のBピクチャのVideo符号データのみをデコードすることができる。
【００８８】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B21』の画像データをディスプレイ7に表示することができる（ステップB4）。
【００８９】
これにより、本実施形態の再生装置100は、通常再生を行った後に、コマ戻しを開始するための指定PTSを受け付けた場合は、通常再生時に内部バッファ438に格納したデコード済のI,Pピクチャの画像データを用いてコマ戻し再生を行うことができる。このため、コマ戻し開始時に指定された指定PTSの画像データを出力するまでの処理時間を短くすることができる。
【００９０】
＜再生装置100の第２の処理動作例＞
次に、図５を参照しながら、本実施形態の再生装置100の第２の処理動作例について説明する。以下の第２の処理動作例は、シーク再生を行った後に、逆スロー再生を行う場合である。
【００９１】
本実施形態の再生装置100においてシーク再生を行う場合は、ユーザ操作により、シーク再生時にディスプレイ7に表示する画像データをPTSで指定する（ステップB1）。
【００９２】
再生装置100は、PTSが指定された場合に（ステップB1/Yes）、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの１つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【００９３】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【００９４】
これにより、再生装置100は、PTSが指定された場合に（ステップB1/Yes）、その指定PTSを含むGOPの１つ前のGOPのMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップB2）。
【００９５】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【００９６】
Video Decoder43は、Demux3から受け付けた指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データをデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないI,PピクチャのVideo符号データのみを指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。また、Video Decoder43は、指定PTSがBピクチャの場合は、I,Pピクチャ専用の内部バッファ438を参照し、そのBピクチャのデータもデコードし、Bピクチャ専用の内部バッファ437に格納する（ステップB3）。
【００９７】
これにより、Video Decoder43は、シーク再生開始時に内部バッファ438に未格納のI,PピクチャのVideo符号データ、及び、シーク再生開始時に指定した指定PTSのBピクチャのVideo符号データのみをデコードすることができる。なお、シーク再生開始時に指定した指定PTSがI、Pピクチャの場合は、その指定PTSのI,Pピクチャが内部バッファ438に格納済である場合は、デコード処理を行わず、内部バッファ438に未格納である場合に、デコード処理を行うことになる。
【００９８】
なお、Audio Decoder44は、Demux3から受け付けた指定PTSを基に、Buffer42に格納したAudio符号データをデコードする。但し、Audio Decoder44は、状況に応じて、Audio符号データをデコードしなくても良い。
【００９９】
Video Render5は、内部バッファ437,438に格納した画像データをディスプレイ7に出力し、ディスプレイ7上に画像データを表示する。これにより、Video Render5は、指定PTSの画像データをディスプレイ7に表示することができる（ステップB4）。
【０１００】
また、Audio Render6は、Audio Decoder44でデコードした音声データをスピーカ8に出力し、スピーカ8から音声データを出力することになる。但し、Audio Render6は、状況に応じて、音声データを出力しなくても良い。
【０１０１】
なお、本実施形態の再生装置100においてシーク再生を行った後に、逆スロー再生を行う場合は、ユーザ操作により、逆スロー再生開始時にディスプレイ7に表示する画像データをPTSで指定する（ステップB1）。
【０１０２】
再生装置100は、PTSが指定された場合に（ステップB1/Yes）、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの１つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【０１０３】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【０１０４】
これにより、再生装置100は、PTSが指定された場合に（ステップB1/Yes）、その指定PTSを含むGOPの１つ前のGOPのMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップB2）。
【０１０５】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【０１０６】
Video Decoder43は、Demux3から受け付けた指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データをデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないI,PピクチャのVideo符号データのみを指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。また、Video Decoder43は、指定PTSがBピクチャの場合は、I,Pピクチャ専用の内部バッファ438を参照し、そのBピクチャのデータもデコードし、Bピクチャ専用の内部バッファ437に格納する（ステップB3）。
【０１０７】
これにより、Video Decoder43は、逆スロー再生開始時に内部バッファ438に未格納のI,PピクチャのVideo符号データ、及び、逆スロー再生開始時に指定した指定PTSのBピクチャのVideo符号データのみをデコードすることができる。なお、逆スロー再生開始時に指定した指定PTSがI、Pピクチャの場合は、その指定PTSのI,Pピクチャが内部バッファ438に格納済である場合は、デコード処理を行わず、内部バッファ438に未格納である場合に、デコード処理を行うことになる。
【０１０８】
なお、Audio Decoder44は、Demux3から受け付けた指定PTSを基に、Buffer42に格納したAudio符号データをデコードする。但し、Audio Decoder44は、状況に応じて、Audio符号データをデコードしなくても良い。
【０１０９】
Video Render5は、内部バッファ437,438に格納した画像データをディスプレイ7に出力し、ディスプレイ7上に画像データを表示する。これにより、Video Render5は、指定PTSの画像データをディスプレイ7に表示することができる（ステップB4）。
【０１１０】
また、Audio Render6は、Audio Decoder44でデコードした音声データをスピーカ8に出力し、スピーカ8から音声データを出力することになる。但し、Audio Render6は、状況に応じて、音声データを出力しなくても良い。
【０１１１】
＜第２の処理動作の具体例＞
次に、図７、図８を参照しながら、上述した第２の処理動作の具体例について説明する。以下の処理動作では、図７に示す『B24』でシーク再生を開始し、その後、逆スロー再生を行った場合について説明する。
【０１１２】
本実施形態の再生装置100において、図７（a）に示すように、『B24』でシーク再生を開始する場合は、ユーザ操作により、シーク再生開始時にディスプレイ7に表示する画像データ（B24）をPTSで指定する（ステップB1）。
【０１１３】
再生装置100は、『B24』のPTSが指定された場合に（ステップB1/Yes）、ファイルリーダ2は、その『B24』の指定PTSを基に、その『B24』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
【０１１４】
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
【０１１５】
これにより、再生装置100は、『B24』のPTSが指定された場合に（ステップB1/Yes）、その『B24』の指定PTSを含むGOP3の１つ前のGOP2のMPEGデータ（Video符号データとAudio符号データ）から順にDecoder4に入力することができる（ステップB2）。
【０１１６】
Decoder4は、Demux3から受け付けたVideo符号データとAudio符号データをBuffer41,42に格納する。
【０１１７】
Video Decoder43は、Demux3から受け付けた『B24』の指定PTSを基に、Buffer41に格納したI,P,BピクチャのVideo符号データを『B24』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『B24』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。
【０１１８】
図７（a）に示すシーク再生開始時の内部バッファ438には、何のデータも格納されていないため、Video Decoder43は、『B24』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19,P22）をデコードして、内部バッファ438に格納する。また、指定PTSが『B24』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納したI19,P22を参照し、『B24』のVideo符号データをデコードし、そのデコードした『B24』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【０１１９】
これにより、Video Decoder43は、シーク再生開始時に内部バッファ438に未格納のI,PピクチャのVideo符号データ（I10,P13,P16,I19,P22）、及び、シーク再生開始時に指定した指定PTSの『B24』のBピクチャのVideo符号データのみをデコードすることができる。
【０１２０】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B24』の画像データをディスプレイ7に表示することができる（ステップB4）。
【０１２１】
なお、本実施形態の再生装置100において図７（a）に示す『B24』でシーク再生を開始した後に、図７（b）に示す逆スロー再生を開始する場合は、ユーザ操作により、逆スロー再生開始時にディスプレイ7に表示する画像データ（B23）をPTSで指定する（ステップB1）。
【０１２２】
再生装置100は、『B23』のPTSが指定された場合に（ステップB1/Yes）、その『B23』の指定PTSを含むGOP3の１つ前のGOP2のデータから順にDecoder4に入力する（ステップB2）。
【０１２３】
Decoder4は、入力されたGOPのI,PピクチャのVideo符号データを『B23』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『B23』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『B23』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19,P22）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【０１２４】
また、指定PTSが『B23』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納済のI19,P22を参照し、『B23』のVideo符号データをデコードし、そのデコードした『B23』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【０１２５】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B23』の画像データをディスプレイ7に表示することになる（ステップB4）。
【０１２６】
次に、再生装置100は、図７（c）に示す『I19』のPTSが指定された場合に（ステップB1/Yes）、その『I19』の指定PTSを含むGOP3の１つ前のGOP2のデータから順にDecoder4に入力する（ステップB2）。
【０１２７】
Decoder4は、入力されたGOPのI,PピクチャのVideo符号データを『I19』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『I19』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『I19』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【０１２８】
また、指定PTSの『I19』のIピクチャは、既に内部バッファ438に格納済であるため、指定PTSの『I19』ピクチャのVideo符号データのデコード処理は行わないことになる。そして、Video Render5は、内部バッファ438に格納済の指定PTSの『I19』の画像データをディスプレイ7に表示することになる（ステップB4）。
【０１２９】
次に、再生装置100は、図８（d）に示す『B21』のPTSが指定された場合に（ステップB1/Yes）、その『B21』の指定PTSを含むGOP3の１つ前のGOP2のデータから順にDecoder4に入力する（ステップB2）。
【０１３０】
Decoder4は、入力されたGOPのI,PピクチャのVideo符号データを『B21』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『B21』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『B21』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【０１３１】
また、指定PTSが『B21』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納済のP16,I19を参照し、『B21』のVideo符号データをデコードし、そのデコードした『B21』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【０１３２】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B21』の画像データをディスプレイ7に表示することになる（ステップB4）。
【０１３３】
次に、再生装置100は、図８（e）に示す『B20』のPTSが指定された場合に（ステップB1/Yes）、その『B20』の指定PTSを含むGOP3の１つ前のGOP2のデータから順にDecoder4に入力する（ステップB2）。
【０１３４】
Decoder4は、入力されたGOPのI,PピクチャのVideo符号データを『B20』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP2,GOP3に含まれるI,PピクチャのVideo符号データのみを『B20』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『B20』の指定PTSまでのI,Pピクチャ（I10,P13,P16,I19）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【０１３５】
また、指定PTSが『B20』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納済のP16,I19を参照し、『B20』のVideo符号データをデコードし、そのデコードした『B20』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【０１３６】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B20』の画像データをディスプレイ7に表示することになる（ステップB4）。
【０１３７】
次に、再生装置100は、図８（f）に示す『P16』のPTSが指定された場合に（ステップB1/Yes）、その『P16』の指定PTSを含むGOP2の１つ前のGOP1のデータから順にDecoder4に入力する（ステップB2）。
【０１３８】
Decoder4は、入力されたGOPのI,PピクチャのVideo符号データを『P16』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP1,GOP2に含まれるI,PピクチャのVideo符号データのみを『P16』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。この場合、GOP1に含まれるI01,P04,P07のピクチャは、内部バッファ438に未格納であるため、I01,P04,P07のピクチャのデコード処理を行い、内部バッファ438に格納することになる。しかし、それ以降の指定PTSの『P16』までのI,Pピクチャ（I10,P13,P16）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【０１３９】
また、指定PTSの『P16』のPピクチャは、既に内部バッファ438に格納済であるため、指定PTSの『P16』のピクチャのVideo符号データのデコード処理は行わないことになる。そして、Video Render5は、内部バッファ438に格納済の指定PTSの『P16』の画像データをディスプレイ7に表示することになる（ステップB4）。
【０１４０】
次に、再生装置100は、図８（g）に示す『B18』のPTSが指定された場合に（ステップB1/Yes）、その『B18』の指定PTSを含むGOP2の１つ前のGOP1のデータから順にDecoder4に入力する（ステップB2）。
【０１４１】
Decoder4は、入力されたGOPのI,PピクチャのVideo符号データを『B18』の指定PTSまでデコードする。この時、Video Decoder43は、I,Pピクチャ専用の内部バッファ438を参照し、その内部バッファ438に格納されていないGOP1,GOP2に含まれるI,PピクチャのVideo符号データのみを『B18』の指定PTSまでデコードし、PTS値と関連付けて内部バッファ438に格納する。しかし、『B18』の指定PTSまでのI,Pピクチャ（I01,P04,P07,I10,P13,P16）は、既に内部バッファ438に格納済であるため、I,PピクチャのVideo符号データのデコード処理は行わないことになる。
【０１４２】
また、指定PTSが『B18』のBピクチャであるため、Video Decoder43は、内部バッファ438に格納済のP13,P16を参照し、『B18』のVideo符号データをデコードし、そのデコードした『B18』のデータをBピクチャ専用の内部バッファ347に格納する（ステップB3）。
【０１４３】
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B18』の画像データをディスプレイ7に表示することになる（ステップB4）。
【０１４４】
これにより、本実施形態の再生装置100は、シーク再生を行った後に、逆スロー再生を開始するための指定PTSを受け付けた場合は、シーク再生時に内部バッファ438に格納したデコード済のI,Pピクチャのデータを用いて逆スロー再生を行うことができる。このため、逆スロー再生開始時に指定された指定PTSの画像データを出力するまでの処理時間を短くすることができる。
【０１４５】
＜Video Decoder43の内部構成例＞
次に、図９を参照しながら、本実施形態の特徴部分であるVideo Decoder43の内部構成例について説明する。なお、以下の説明では、PTS指定時の機能動作についてのみ説明する。
【０１４６】
本実施形態のVideo Decoder43は、第１のPTSチェック部431と、第２のPTSチェック部432と、デコード処理部433と、フレームメモリ処理部434と、第３のPTSチェック部435と、を有して構成する。
【０１４７】
デコード処理部433は、動き補償処理部436を有して構成する。動き補償処理部436で行う動き補償は、MPEGに準拠した公知の動き補償を行う。
【０１４８】
フレームメモリ処理部434は、内部バッファ437,438を有して構成する。内部バッファ437,438は、Bピクチャ専用の内部バッファ437と、I,Pピクチャ専用の内部バッファ438と、がある。Bピクチャ専用の内部バッファ437は、指定PTSのBピクチャのデータを格納するバッファであり、１フレーム分のデータが格納できる領域で構成する。I,Pピクチャ専用の内部バッファ438は、デコード処理部433でデコードされたI,Pピクチャのデータを格納するバッファであり、２GOPに含まれるI,Pピクチャのフレーム分のデータが格納できる領域で構成する。I,Pピクチャ専用の内部バッファ438は、PTS値と、I,Pピクチャのデータと、を関連付けて格納する。なお、内部バッファ437,438の領域は、特に限定せず、任意のフレーム分のデータを格納するように適宜設計することが可能である。但し、本発明を実現するためには、Bピクチャ専用の内部バッファ437は、少なくとも、１フレーム分のデータが格納できる領域で構成し、I,Pピクチャ専用の内部バッファ438は、少なくとも、２GOPに含まれるI,Pピクチャのフレーム分のデータが格納できる領域で構成することが好ましい。
【０１４９】
第１のPTSチェック部431は、Buffer41に格納したVideo符号データを受け付けた場合に、Demux3から受け付けた指定PTSを基に、第１のPTSチェックを行う。
【０１５０】
第１のPTSチェック部431は、指定PTSまで、I,Pピクチャのデータのみを第２のPTSチェック部432に出力し、Bピクチャのデータは、第１のPTSチェック部431で破棄し、第２のPTSチェック部432に出力しないように制御する。また、第１のPTSチェック部431は、指定PTSがBピクチャのデータの場合は、そのBピクチャのデータを第２のPTSチェック部432に出力し、指定PTS以降のデータは、第１のPTSチェック部431で破棄し、第２のPTSチェック部432に出力しないように制御する。但し、指定PTS以降のデータの中に、I,Pピクチャのデータがあった場合は、そのI,Pピクチャのデータを第２のPTSチェック部432に出力するように制御する。これにより、第１のPTSチェック部431は、全てのI,Pピクチャのデータ、及び、指定PTSのBピクチャのデータを第２のPTSチェック部432に出力することができる。
【０１５１】
第２のPTSチェック部432は、第１のPTSチェック部431からデータを受け付けた場合に、Demux3から受け付けた指定PTSを基に、第２のPTSチェックを行う。
【０１５２】
第２のPTSチェック部432は、第１のPTSチェック部431から受け付けたデータが指定PTSのBピクチャのデータの場合は、その受け付けた指定PTSのBピクチャのデータをデコード処理部433に出力するように制御する。また、第２のPTSチェック部432は、第１のPTSチェック部431から受け付けたデータがI,Pピクチャのデータの場合は、フレームメモリ処理部434内のI,Pピクチャ専用の内部バッファ438に格納されているI,PピクチャのPTS値と比較し、PTS値が一致する場合は、第１のPTSチェック部431から受け付けたI,Pピクチャのデータを第２のPTSチェック部432で破棄し、デコード処理部433に出力しないように制御する。また、PTS値が一致しない場合は、第１のPTSチェック部431から受け付けたI,Pピクチャのデータをデコード処理部433に出力するように制御する。これにより、第２のPTSチェック部432は、指定PTSのBピクチャのデータ、及び、I,Pピクチャ専用の内部バッファ438に未格納のI,Pピクチャのデータをデコード処理部433に出力することができる。
【０１５３】
デコード処理部433は、第２のPTSチェック部432からデータを受け付けた場合に、可変長復号、逆量子化、逆DCT等の公知のデコード処理を行う。デコード処理部433は、第２のPTSチェック部432から受け付けたデータがP、Bピクチャのデータの場合は、フレームメモリ処理部434内のI,Pピクチャ専用の内部バッファ438に格納されているI,Pピクチャを参照し、動き補償部436で公知の動き補償を行う。デコード処理部433は、デコード後のデータをフレームメモリ処理部434に出力する。
【０１５４】
フレームメモリ処理部434は、デコード処理部433からデータを受け付けた場合に、その受け付けたデータがBピクチャのデータの場合は、Bピクチャ専用の内部バッファ437に格納する。また、I,Pピクチャのデータの場合は、I,Pピクチャ専用の内部バッファ438にPTS値と関連付けて格納する。なお、フレームメモリ処理部434は、I,Pピクチャ専用の内部バッファ438に空き領域があれば、その空き領域にI,Pピクチャのデータを格納し、空き領域がなければ、Demux3から受け付けた指定PTSを基に、指定PTSより大きいPTS値の領域をクリアにし、新たに受け付けたI,Pピクチャのデータを格納する。それでも空き領域がなければ、一番小さいPTS値の領域をクリアにし、新たに受け付けたI,Pピクチャのデータを格納する。
【０１５５】
第３のPTSチェック部435は、Demux3から受け付けた指定PTSを基に、その指定PTSのデータをフレームメモリ処理部434内の内部バッファ437,438から読み出し、その読み出したデータをVideo Render5に出力する。
【０１５６】
＜Video Decoder43の処理動作例＞
次に、図１０を参照しながら、本実施形態の特徴部分であるVideo Decoder43の処理動作例について説明する。なお、以下の処理動作は、指定PTSを受け付けた場合の処理動作である。
【０１５７】
まず、第１のPTSチェック部431は、Demux3から受け付けた指定PTSがBピクチャか否かを判定する（ステップS10）。
【０１５８】
Demux3から受け付けた指定PTSがBピクチャの場合は（ステップS10/Yes）、GOPに含まれる指定PTSのBピクチャ及び全てのI,Pピクチャをデコード対象にする（ステップS11）。
【０１５９】
また、Demux3から受け付けた指定PTSがI,Pピクチャの場合は（ステップS10/No）、GOPに含まれる全てのI,Pピクチャをデコード対象にする（ステップS12）。
【０１６０】
第２のPTSチェック部432は、フレームメモリ処理部434内のI,Pピクチャ専用の内部バッファ438を参照し、内部バッファ438に未格納のデータのみをデコード処理部433に出力し、デコード処理部433でデコードする（ステップS13）。
【０１６１】
フレームメモリ処理部434は、デコード処理部433でデコードしたデータを内部バッファ437,438に格納する（ステップS14）。具体的には、デコード処理部433でデコードしたデータがBピクチャの場合は、Bピクチャ専用の内部バッファ437に格納し、デコード処理部433でデコードしたデータがI,Pピクチャの場合は、I,Pピクチャ専用の内部バッファ438にPTS値と関連付けて格納する。
【０１６２】
第３のPTSチェック部433は、Demux3から受け付けた指定PTSを基に、フレームメモリ処理部434の内部バッファ437,438を参照し、指定PTSに該当するデータをVideo Render5に出力する（ステップS15）。これにより、Video Render5は、Decoder4でデコードした指定PTSの画像データをディスプレイ7に表示することができる。
【０１６３】
＜本実施形態の再生装置100の作用・効果＞
このように、本実施形態の再生装置100は、内部バッファ348に含まれるデコード済のI,Pピクチャの画像データを用いて、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、指定PTSの画像データを出力するまでの処理時間を短くすることができる。
【０１６４】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１６５】
例えば、上述した本実施形態の再生装置100は、図１、図４に示すように、ファイルリーダ2と、Demux3と、を有し、メモリ1からMPEGデータを読み出す機能（ファイルリーダ2の機能）と、そのMPEGデータを分離する機能（Demux3の機能）と、を区分して構成することにした。しかし、ファイルリーダ2の機能と、Demux3の機能と、を１つの機能として統合するように構築することも可能である。
【０１６６】
また、上述した本実施形態における再生装置100を構成する各装置における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【０１６７】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１６８】
例えば、プログラムは、記録媒体としてのハードディスクやROM（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー（登録商標）ディスク、CD-ROM（Compact Disc Read Only Memory）、MO（Magneto optical）ディスク、DVD（Digital Versatile Disc）、磁気ディスク、半導体メモリなどが挙げられる。
【０１６９】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトから、コンピュータに無線転送することになる。また、ネットワークを介して、コンピュータに有線で転送することになる。
【０１７０】
また、本実施形態における再生装置100は、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【産業上の利用可能性】
【０１７１】
本発明は、MPEG規格の符号を再生する技術に適用可能である。
【符号の説明】
【０１７２】
１００    再生装置
１    メモリ
２    ファイルリーダ（取得手段）
３    Demux
４    Decoder（制御手段）
４１、４２    Buffer
４３    Video Decoder
４３１    第１のPTSチェック部
４３２    第２のPTSチェック部
４３３    デコード処理部
４３４    フレームメモリ処理部
４３５    第３のPTSチェック部
４３６    動き補償処理部
４３７    Ｂピクチャ専用の内部バッファ
４３８    Ｉ，Ｐピクチャ専用の内部バッファ
４４    Audio Decoder
５    Video Render
６    Audio Render
７    ディスプレイ
８    スピーカ
【図１】
0005525831.tif 000002
【図２】
0005525831.tif 000003
【図３】
0005525831.tif 000004
【図４】
0005525831.tif 000005
【図５】
0005525831.tif 000006
【図６】
0005525831.tif 000007
【図７】
0005525831.tif 000008
【図８】
0005525831.tif 000009
【図９】
0005525831.tif 000010
【図１０】
0005525831.tif 000011