JP5525831B2 - 再生装置、制御方法及びプログラム - Google Patents

再生装置、制御方法及びプログラム Download PDF

Info

Publication number
JP5525831B2
JP5525831B2 JP2010007925A JP2010007925A JP5525831B2 JP 5525831 B2 JP5525831 B2 JP 5525831B2 JP 2010007925 A JP2010007925 A JP 2010007925A JP 2010007925 A JP2010007925 A JP 2010007925A JP 5525831 B2 JP5525831 B2 JP 5525831B2
Authority
JP
Japan
Prior art keywords
data
picture
pts
designated
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010007925A
Other languages
English (en)
Other versions
JP2011147057A (ja
Inventor
考司 沼田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Personal Computers Ltd
Original Assignee
NEC Personal Computers Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Personal Computers Ltd filed Critical NEC Personal Computers Ltd
Priority to JP2010007925A priority Critical patent/JP5525831B2/ja
Publication of JP2011147057A publication Critical patent/JP2011147057A/ja
Application granted granted Critical
Publication of JP5525831B2 publication Critical patent/JP5525831B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、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(順方向予測符号化画像)のことを示し、1つ前の再生画像データ(Iピクチャ又はPピクチャ)から動き補償を行い、フレーム間符号化を行ったピクチャである。
Bピクチャは、Bi-directionally predictive-coded picture(双方向予測符号化画像)のことを示し、1つ前と1つ後の再生画像データ(Iピクチャ又はPピクチャ)から動き補償を行い、両方向予測のフレーム間符号化を行ったピクチャである。
なお、上述したMPEG方式の符号化を行う再生装置においてフレーム単位の画像再生を実現するためには、ユーザ操作による、シーク、順方向スロー、逆方向スロー、コマ送り、コマ戻し機能が必要になる。
順方向スロー、コマ送り機能は、公知のDirect Showの機能を用いて実現することができる。
しかし、シーク、逆方向スロー、コマ戻し機能等の特殊再生は、公知のDirect Showの機能を用いて実現することができない。
このようなことから、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現するための新たな制御方法の開発が必要視されることになる。
なお、本発明より先に出願された技術文献として、MPEG方式の圧縮動画像データを逆方向再生する場合の方法について開示された文献がある(例えば、特許文献1参照)。
上記特許文献1では、MPEG方式の圧縮動画像データは、逆方向再生の場合にGOP単位で順方向再生の場合と逆の順序で入力される。その入力系列に対し、スイッチ回路8,9,5を切換え制御し、1GOPのIピクチャとPピクチャ、及び順方向で前のGOPに係るIピクチャを復号・再生してフレームメモリ2aへ格納する。一方、1GOPのBピクチャは、符号化データのままデータメモリ7へ格納する。そして、各メモリ7,2aのデータをFILO方式で書換えながら、データメモリ7のBピクチャを復号・再生すると共に、スイッチ回路6を切換え制御して各ピクチャの再生画像データを連続的に逆方向順で出力させることにしている。
特開平8−102913号公報
特許文献1には、IピクチャとPピクチャをフレームメモリ2aへ格納し、Bピクチャをデータメモリ7へ格納し、各メモリ7,2aのデータをFILO方式で書換えながら、各ピクチャの再生画像データを連続的に逆方向順で出力させる点について開示されている。
しかし、上記特許文献1には、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現する点については何ら記載されていない。
本発明は、上記事情に鑑みてなされたものであり、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる再生装置を提供することを目的とする。
かかる目的を達成するために、本発明は、以下の特徴を有することとする。
<再生装置>
本発明にかかる再生装置は、
画像データを出力するための指定PTS(Presentation Time Stamp)を受け付けた場合に、当該指定PTSのデータを含む第1のGOP(Group of Picture)及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する取得手段と、
前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御手段と、
デコード済のI(Intra-coded)ピクチャ及びP(Predictive-coded)ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファと、を有し、
前記制御手段は、
前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とする。
本発明によれば、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる。
第1の実施形態の再生装置100の内部構成例を示す図である。 第1の実施形態の再生装置100の処理動作例を示す図である。 第1の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。 第2の実施形態の再生装置100の内部構成例を示す図である。 第2の実施形態の再生装置100の処理動作例を示す図である。 第2の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。 第2の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。 第2の実施形態の再生装置100の処理動作例を説明するための具体例を示す図である。 本実施形態の再生装置100を構成するVideo Decoder43の内部構成例を示す図である。 Video Decoder43の処理動作例を示す図である。
<再生装置100の概要>
まず、図1、図4を参照しながら、本実施形態の再生装置100の概要について説明する。
本実施形態の再生装置100は、図1に示すように、画像データを出力するための指定PTS(Presentation Time Stamp)を受け付けた場合に、当該指定PTSのデータを含む第1のGOP(Group of Picture)及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する取得手段(ファイルリーダ2に相当)と、取得手段(2)で取得したデータを指定PTSのデータまでデコードし、指定PTSの画像データを出力する制御手段(Video Decoder43に該当)と、を有して構成する。これにより、本実施形態の再生装置100は、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる。
また、本実施形態の再生装置100は、図4に示すように、デコード済のI(Intra-coded)ピクチャ及びP(Predictive-coded)ピクチャの画像データを格納するバッファ(内部バッファ438に相当)を有し、制御手段(43)は、バッファ(438)に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、バッファ(438)に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力することになるため、指定PTSの画像データを出力するまでの処理時間を短くすることができる。以下、添付図面を参照しながら、本実施形態の再生装置100について詳細に説明する。
(第1の実施形態)
<再生装置100の内部構成例>
まず、図1を参照しながら、本実施形態の再生装置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の1つ前の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の処理動作例>
次に、図2を参照しながら、本実施形態の再生装置100の処理動作例について説明する。以下の処理動作例は、シーク、逆方向スロー、コマ戻しを行う場合である。シーク、逆方向スロー、コマ戻しは、図2に示す以下の処理動作を繰り返すことで実現することができる。
本実施形態の再生装置100においてシーク、逆方向スロー、コマ戻しを開始する場合は、ユーザ操作により、シーク、逆方向スロー、コマ戻しの再生開始時にディスプレイ7に表示する画像データをPTS(Presentation Time Stamp)で指定する(ステップA1)。
再生装置100は、ディスプレイ7に表示する画像データのPTSが指定された場合に(ステップA1/Yes)、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの1つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
これにより、再生装置100は、PTSが指定された場合に(ステップA1/Yes)、その指定PTSを含むGOPの1つ前の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は、状況に応じて、音声データを出力しなくても良い。
<上記処理動作の具体例>
次に、図3を参照しながら、上述した図2に示す処理動作の具体例について説明する。以下の処理動作では、シーク、逆方向スロー、コマ戻しの再生を、『B24』から開始した場合について説明する。なお、本実施形態では、説明の簡略化のために、1GOP単位を、9フレームで構成しているが、通常は、1GOP単位を、MPEGに準拠したフレーム数で構成することになる。また、各ピクチャを示す記号(I,P,B)に付した数字は、各ピクチャを区分するためのものであり、Decoder4に入力する前のデータは、図3に示す『符号順』で示す順序で構成し、Decoder4でデコードした後のデータは、図3に示す『表示順』で示す順序で構成する。例えば、『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の1つ前の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の1つ前の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のデータを含む第1のGOP(Group of Picture)及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する。そして、その取得したデータを指定PTSのデータまでデコードし、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、PTSを指定して、シーク、逆方向スロー、コマ戻し機能等の特殊再生を実現することができる。
(第2の実施形態)
次に、第2の実施形態について説明する。
第1の実施形態の再生装置100は、図2に示す処理動作を繰り返すことで、シーク、逆方向スロー、コマ戻しの再生を実現することにした。
しかし、図2に示す処理動作を繰り返すと、2GOPの先頭のデータから指定PTSのデータまでのデータを何度もデコードすることになるため、指定PTSの画像データをディスプレイ7に表示するまでの処理時間が長くなってしまう。
第2の実施形態の再生装置100は、図4に示すように、デコード済のI(Intra-coded)ピクチャ及びP(Predictive-coded)ピクチャの画像データを格納するバッファ438を設け、Video Decoder43は、バッファ438に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力する。これにより、本実施形態の再生装置100は、バッファ438に格納されたデコード済のIピクチャ及びPピクチャの画像データを用いて、指定PTSの画像データを出力することになるため、指定PTSの画像データを出力するまでの処理時間を短くすることができる。以下、図4〜図8を参照しながら、第2の実施形態について説明する。
<再生装置100の内部構成例>
まず、図4を参照しながら、本実施形態の再生装置100の内部構成例について説明する。
本実施形態の再生装置100は、第1の実施形態と同様に、メモリ1と、ファイルリーダ2と、Demux3と、Decoder4と、Video Render5と、Audio Render6と、ディスプレイ7と、スピーカ8と、を含んで構成している。各部の機能は、第1の実施形態と同様であるため、具体的な説明は割愛する。
なお、本実施形態の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は、少なくとも、1フレーム分の画像データが格納できるデータ容量で構成し、I,Pピクチャ専用の内部バッファ438は、少なくとも、2GOPに含まれるI,Pピクチャのフレーム分の画像データが格納できるデータ容量で構成することが好ましい。
<再生装置100の第1の処理動作例>
次に、図5を参照しながら、本実施形態の再生装置100の第1の処理動作例について説明する。以下の第1の処理動作例は、通常再生を行った後に、コマ戻しを行う場合である。
本実施形態の再生装置100において通常再生を行った場合は、通常再生時にVideo Decoder43でデコードした2GOP分のI,Pピクチャの画像データを、I,Pピクチャ専用の内部バッファ438に格納することになる。また、通常再生時にVideo Decoder43でデコードした1フレーム分のBピクチャの画像データを、Bピクチャ専用の内部バッファ437に格納することになる。
また、本実施形態の再生装置100において通常再生を行った後に、コマ戻しを開始する場合は、ユーザ操作により、コマ戻し開始時にディスプレイ7に表示する画像データをPTSで指定する(ステップB1)。
再生装置100は、PTSが指定された場合に(ステップB1/Yes)、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの1つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
これにより、再生装置100は、PTSが指定された場合に(ステップB1/Yes)、その指定PTSを含むGOPの1つ前の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は、状況に応じて、音声データを出力しなくても良い。
<第1の処理動作の具体例>
次に、図6を参照しながら、上述した第1の処理動作の具体例について説明する。以下の処理動作では、図6に示す『B24』まで通常再生し、その後、1コマ戻し、2コマ戻しを行った場合について説明する。
本実施形態の再生装置100において、図6(a)に示す『B24』まで通常再生を行う場合は、GOP1,GOP2,GOP3の順で『B24』まで通常再生を行うことになる。このため、Video Decoder43は、GOP1の先頭からGOP3の『B24』まで(I01〜B24まで)デコードし、Video Render5は、Video Decoder43でデコードした『B24』をディスプレイ7に表示することになる。
なお、Video Decoder43は、『B24』までデコードした2GOP分のI,Pピクチャのデータ(P07,I10,P13,P16,I19,P22)を、I,Pピクチャ専用の内部バッファ438に格納することになる。また、1フレーム分のBピクチャのデータ(B24)を、Bピクチャ専用の内部バッファ437に格納することになる。そして、Video Render5は、Bピクチャ専用の内部バッファ437に格納した『B24』をディスプレイ7に表示することになる。
また、本実施形態の再生装置100において図6(a)に示す通常再生を行った後に、図6(b)に示す1コマ戻しを行う場合は、ユーザ操作により、1コマ戻し開始時にディスプレイ7に表示する画像データ(B23)をPTSで指定する(ステップB1)。
再生装置100は、『B23』のPTSが指定された場合に(ステップB1/Yes)、ファイルリーダ2は、その『B23』の指定PTSを基に、その『B23』の指定PTSを含むGOP3の1つ前の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の1つ前の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は、1コマ戻し開始時に内部バッファ438に格納済のI,PピクチャのVideo符号データ(I10,P13,P16,I19,P22)についてはデコード処理を行わず、1コマ戻し開始時に指定した指定PTSの『B23』のBピクチャのVideo符号データのみをデコードすることができる。
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B23』の画像データをディスプレイ7に表示することができる(ステップB4)。
なお、図6(c)に示す2コマ戻しを行う場合は、ユーザ操作により、2コマ戻し開始時にディスプレイ7に表示する画像データ(B21)をPTSで指定する(ステップB1)。
再生装置100は、『B21』のPTSが指定された場合に(ステップB1/Yes)、ファイルリーダ2は、その『B21』の指定PTSを基に、その『B21』の指定PTSを含むGOP3の1つ前の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の1つ前の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は、2コマ戻し開始時に内部バッファ438に格納済のI,PピクチャのVideo符号データ(I10,P13,P16,I19)についてはデコード処理を行わず、2コマ戻し開始時に指定した指定PTSの『B21』のBピクチャのVideo符号データのみをデコードすることができる。
そして、Video Render5は、Video Decoder43でデコードした指定PTSの『B21』の画像データをディスプレイ7に表示することができる(ステップB4)。
これにより、本実施形態の再生装置100は、通常再生を行った後に、コマ戻しを開始するための指定PTSを受け付けた場合は、通常再生時に内部バッファ438に格納したデコード済のI,Pピクチャの画像データを用いてコマ戻し再生を行うことができる。このため、コマ戻し開始時に指定された指定PTSの画像データを出力するまでの処理時間を短くすることができる。
<再生装置100の第2の処理動作例>
次に、図5を参照しながら、本実施形態の再生装置100の第2の処理動作例について説明する。以下の第2の処理動作例は、シーク再生を行った後に、逆スロー再生を行う場合である。
本実施形態の再生装置100においてシーク再生を行う場合は、ユーザ操作により、シーク再生時にディスプレイ7に表示する画像データをPTSで指定する(ステップB1)。
再生装置100は、PTSが指定された場合に(ステップB1/Yes)、ファイルリーダ2は、その指定PTSを基に、その指定PTSを含むGOPの1つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
これにより、再生装置100は、PTSが指定された場合に(ステップB1/Yes)、その指定PTSを含むGOPの1つ前の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の1つ前のGOPのMPEGデータから順にメモリ1から読み取る。そして、メモリ1から順に読み取ったMPEGデータと共に指定PTSをDemux3に出力する。
Demux3は、ファイルリーダ2からMPEGデータを受け付けた場合に、その受け付けたMPEGデータをVideo符号データとAudio符号データとに分離し、その分離したVideo符号データとAudio符号データと共に指定PTSをDecoder4に出力する。
これにより、再生装置100は、PTSが指定された場合に(ステップB1/Yes)、その指定PTSを含むGOPの1つ前の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は、状況に応じて、音声データを出力しなくても良い。
<第2の処理動作の具体例>
次に、図7、図8を参照しながら、上述した第2の処理動作の具体例について説明する。以下の処理動作では、図7に示す『B24』でシーク再生を開始し、その後、逆スロー再生を行った場合について説明する。
本実施形態の再生装置100において、図7(a)に示すように、『B24』でシーク再生を開始する場合は、ユーザ操作により、シーク再生開始時にディスプレイ7に表示する画像データ(B24)をPTSで指定する(ステップB1)。
再生装置100は、『B24』のPTSが指定された場合に(ステップB1/Yes)、ファイルリーダ2は、その『B24』の指定PTSを基に、その『B24』の指定PTSを含むGOP3の1つ前の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の1つ前の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に格納する。
図7(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において図7(a)に示す『B24』でシーク再生を開始した後に、図7(b)に示す逆スロー再生を開始する場合は、ユーザ操作により、逆スロー再生開始時にディスプレイ7に表示する画像データ(B23)をPTSで指定する(ステップB1)。
再生装置100は、『B23』のPTSが指定された場合に(ステップB1/Yes)、その『B23』の指定PTSを含むGOP3の1つ前の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は、図7(c)に示す『I19』のPTSが指定された場合に(ステップB1/Yes)、その『I19』の指定PTSを含むGOP3の1つ前の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は、図8(d)に示す『B21』のPTSが指定された場合に(ステップB1/Yes)、その『B21』の指定PTSを含むGOP3の1つ前の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は、図8(e)に示す『B20』のPTSが指定された場合に(ステップB1/Yes)、その『B20』の指定PTSを含むGOP3の1つ前の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は、図8(f)に示す『P16』のPTSが指定された場合に(ステップB1/Yes)、その『P16』の指定PTSを含むGOP2の1つ前の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は、図8(g)に示す『B18』のPTSが指定された場合に(ステップB1/Yes)、その『B18』の指定PTSを含むGOP2の1つ前の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の内部構成例>
次に、図9を参照しながら、本実施形態の特徴部分であるVideo Decoder43の内部構成例について説明する。なお、以下の説明では、PTS指定時の機能動作についてのみ説明する。
本実施形態のVideo Decoder43は、第1のPTSチェック部431と、第2のPTSチェック部432と、デコード処理部433と、フレームメモリ処理部434と、第3のPTSチェック部435と、を有して構成する。
デコード処理部433は、動き補償処理部436を有して構成する。動き補償処理部436で行う動き補償は、MPEGに準拠した公知の動き補償を行う。
フレームメモリ処理部434は、内部バッファ437,438を有して構成する。内部バッファ437,438は、Bピクチャ専用の内部バッファ437と、I,Pピクチャ専用の内部バッファ438と、がある。Bピクチャ専用の内部バッファ437は、指定PTSのBピクチャのデータを格納するバッファであり、1フレーム分のデータが格納できる領域で構成する。I,Pピクチャ専用の内部バッファ438は、デコード処理部433でデコードされたI,Pピクチャのデータを格納するバッファであり、2GOPに含まれるI,Pピクチャのフレーム分のデータが格納できる領域で構成する。I,Pピクチャ専用の内部バッファ438は、PTS値と、I,Pピクチャのデータと、を関連付けて格納する。なお、内部バッファ437,438の領域は、特に限定せず、任意のフレーム分のデータを格納するように適宜設計することが可能である。但し、本発明を実現するためには、Bピクチャ専用の内部バッファ437は、少なくとも、1フレーム分のデータが格納できる領域で構成し、I,Pピクチャ専用の内部バッファ438は、少なくとも、2GOPに含まれるI,Pピクチャのフレーム分のデータが格納できる領域で構成することが好ましい。
第1のPTSチェック部431は、Buffer41に格納したVideo符号データを受け付けた場合に、Demux3から受け付けた指定PTSを基に、第1のPTSチェックを行う。
第1のPTSチェック部431は、指定PTSまで、I,Pピクチャのデータのみを第2のPTSチェック部432に出力し、Bピクチャのデータは、第1のPTSチェック部431で破棄し、第2のPTSチェック部432に出力しないように制御する。また、第1のPTSチェック部431は、指定PTSがBピクチャのデータの場合は、そのBピクチャのデータを第2のPTSチェック部432に出力し、指定PTS以降のデータは、第1のPTSチェック部431で破棄し、第2のPTSチェック部432に出力しないように制御する。但し、指定PTS以降のデータの中に、I,Pピクチャのデータがあった場合は、そのI,Pピクチャのデータを第2のPTSチェック部432に出力するように制御する。これにより、第1のPTSチェック部431は、全てのI,Pピクチャのデータ、及び、指定PTSのBピクチャのデータを第2のPTSチェック部432に出力することができる。
第2のPTSチェック部432は、第1のPTSチェック部431からデータを受け付けた場合に、Demux3から受け付けた指定PTSを基に、第2のPTSチェックを行う。
第2のPTSチェック部432は、第1のPTSチェック部431から受け付けたデータが指定PTSのBピクチャのデータの場合は、その受け付けた指定PTSのBピクチャのデータをデコード処理部433に出力するように制御する。また、第2のPTSチェック部432は、第1のPTSチェック部431から受け付けたデータがI,Pピクチャのデータの場合は、フレームメモリ処理部434内のI,Pピクチャ専用の内部バッファ438に格納されているI,PピクチャのPTS値と比較し、PTS値が一致する場合は、第1のPTSチェック部431から受け付けたI,Pピクチャのデータを第2のPTSチェック部432で破棄し、デコード処理部433に出力しないように制御する。また、PTS値が一致しない場合は、第1のPTSチェック部431から受け付けたI,Pピクチャのデータをデコード処理部433に出力するように制御する。これにより、第2のPTSチェック部432は、指定PTSのBピクチャのデータ、及び、I,Pピクチャ専用の内部バッファ438に未格納のI,Pピクチャのデータをデコード処理部433に出力することができる。
デコード処理部433は、第2のPTSチェック部432からデータを受け付けた場合に、可変長復号、逆量子化、逆DCT等の公知のデコード処理を行う。デコード処理部433は、第2の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ピクチャのデータを格納する。
第3のPTSチェック部435は、Demux3から受け付けた指定PTSを基に、その指定PTSのデータをフレームメモリ処理部434内の内部バッファ437,438から読み出し、その読み出したデータをVideo Render5に出力する。
<Video Decoder43の処理動作例>
次に、図10を参照しながら、本実施形態の特徴部分であるVideo Decoder43の処理動作例について説明する。なお、以下の処理動作は、指定PTSを受け付けた場合の処理動作である。
まず、第1の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)。
第2の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値と関連付けて格納する。
第3の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は、図1、図4に示すように、ファイルリーダ2と、Demux3と、を有し、メモリ1からMPEGデータを読み出す機能(ファイルリーダ2の機能)と、そのMPEGデータを分離する機能(Demux3の機能)と、を区分して構成することにした。しかし、ファイルリーダ2の機能と、Demux3の機能と、を1つの機能として統合するように構築することも可能である。
また、上述した本実施形態における再生装置100を構成する各装置における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納(記録)しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー(登録商標)ディスク、CD-ROM(Compact Disc Read Only Memory)、MO(Magneto optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどが挙げられる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールすることになる。また、ダウンロードサイトから、コンピュータに無線転送することになる。また、ネットワークを介して、コンピュータに有線で転送することになる。
また、本実施形態における再生装置100は、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
本発明は、MPEG規格の符号を再生する技術に適用可能である。
100 再生装置
1 メモリ
2 ファイルリーダ(取得手段)
3 Demux
4 Decoder(制御手段)
41、42 Buffer
43 Video Decoder
431 第1のPTSチェック部
432 第2のPTSチェック部
433 デコード処理部
434 フレームメモリ処理部
435 第3のPTSチェック部
436 動き補償処理部
437 Bピクチャ専用の内部バッファ
438 I,Pピクチャ専用の内部バッファ
44 Audio Decoder
5 Video Render
6 Audio Render
7 ディスプレイ
8 スピーカ

Claims (8)

  1. 画像データを出力するための指定PTS(Presentation Time Stamp)を受け付けた場合に、当該指定PTSのデータを含む第1のGOP(Group of Picture)及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する取得手段と、
    前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御手段と、
    デコード済のI(Intra-coded)ピクチャ及びP(Predictive-coded)ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファと、を有し、
    前記制御手段は、
    前記取得手段で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、前記バッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とする再生装置。
  2. 前記制御手段は、
    前記指定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ピクチャの画像データを出力する、ことを特徴とする請求項記載の再生装置。
  3. 前記取得手段は、前記指定PTSを受け付ける度に、当該指定PTSのデータを含む第1のGOP及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する、ことを特徴とする請求項1または請求項2記載の再生装置。
  4. 前記制御手段は、前記取得手段で取得したIピクチャ及びPピクチャのデータのPTSと、前記バッファに格納済みのIピクチャ及びPピクチャのデータのPTSと、を比較し、前記取得手段で取得したIピクチャ及びPピクチャのデータの中でPTSが一致するデータはデコード処理を行わず、PTSが一致しないデータはデコード処理を行う、ことを特徴とする請求項1から請求項3の何れか1項に記載の再生装置。
  5. 前記制御手段は、デコード済のIピクチャ及びPピクチャの画像データを前記バッファに格納する場合に、前記バッファに空き領域がある場合は、その空き領域に、デコード済のIピクチャ及びPピクチャの画像データを格納し、前記バッファに空き領域がない場合は、前記指定PTSを基に、前記指定PTSより大きいPTSの領域をクリアにし、そのクリアにした領域に、デコード済のIピクチャ及びPピクチャの画像データを格納し、それでも空き領域がない場合は、一番小さいPTSの領域をクリアにし、そのクリアにした領域に、デコード済のIピクチャ及びPピクチャの画像データを格納する、ことを特徴とする請求項1から請求項4の何れか1項に記載の再生装置。
  6. 前記バッファは、少なくとも、2GOPに含まれるIピクチャ及びPピクチャのフレーム分のデータが格納できる領域で構成する、ことを特徴とする請求項1から請求項5の何れか1項に記載の再生装置。
  7. 再生装置で行う制御方法であって、
    画像データを出力するための指定PTS(Presentation Time Stamp)を受け付けた場合に、当該指定PTSのデータを含む第1のGOP(Group of Picture)及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する取得工程と、
    前記取得工程で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御工程と、を有し、
    前記制御工程は、
    前記取得工程で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、デコード済のI(Intra-coded)ピクチャ及びP(Predictive-coded)ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とする制御方法。
  8. 画像データを出力するための指定PTS(Presentation Time Stamp)を受け付けた場合に、当該指定PTSのデータを含む第1のGOP(Group of Picture)及び当該第1のGOPの1つ前の第2のGOPのデータを少なくとも取得する取得処理と、
    前記取得処理で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する制御処理とをコンピュータに実行させ
    前記制御処理は、
    前記取得処理で取得したデータを前記指定PTSのデータまでデコードし、前記指定PTSの画像データを出力する場合は、デコード済のI(Intra-coded)ピクチャ及びP(Predictive-coded)ピクチャの画像データを、当該画像データのPTSと関連付けて格納するバッファを参照し、前記バッファに格納済みのIピクチャ及びPピクチャのデータは、デコード処理を行わず、前記バッファに格納されていないIピクチャ及びPピクチャのデータを前記指定PTSのデータまでデコードし、該デコードしたデコード済のIピクチャ及びPピクチャの画像データを、当該画像データのPTSと関連付けて前記バッファに格納し、前記指定PTSの画像データを出力する、ことを特徴とするプログラム。
JP2010007925A 2010-01-18 2010-01-18 再生装置、制御方法及びプログラム Active JP5525831B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010007925A JP5525831B2 (ja) 2010-01-18 2010-01-18 再生装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010007925A JP5525831B2 (ja) 2010-01-18 2010-01-18 再生装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011147057A JP2011147057A (ja) 2011-07-28
JP5525831B2 true JP5525831B2 (ja) 2014-06-18

Family

ID=44461487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010007925A Active JP5525831B2 (ja) 2010-01-18 2010-01-18 再生装置、制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5525831B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5695987B2 (ja) 2011-07-01 2015-04-08 矢崎総業株式会社 単芯電線及び単芯電線の端子圧着構造

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102913A (ja) * 1994-09-29 1996-04-16 Victor Co Of Japan Ltd 圧縮動画像データの逆方向再生方法
JP4421156B2 (ja) * 1999-10-29 2010-02-24 富士通株式会社 画像再生装置および画像記録再生装置
JP2006303652A (ja) * 2005-04-15 2006-11-02 Sony Corp 情報記録再生システム、情報記録再生装置及び情報記録再生方法
JP2010007925A (ja) * 2008-06-25 2010-01-14 Daikin Ind Ltd 空調システム

Also Published As

Publication number Publication date
JP2011147057A (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
US7509021B2 (en) Method and system for providing instant replay
JP5258885B2 (ja) 符号化ストリーム再生装置及び符号化ストリーム再生方法
US20090034625A1 (en) Image Decoder
JP2007036495A (ja) 再生装置、圧縮装置、記録装置及び再生方法
US7756360B2 (en) Image processing apparatus, image capturing apparatus, image processing method, and computer program
JP2000032400A (ja) トリック再生特徴を有するデジタルビデオ再生
JP5525831B2 (ja) 再生装置、制御方法及びプログラム
JPH1079918A (ja) 画像情報復号化再生装置および画像情報復号化再生方法
JP4821511B2 (ja) 映像処理方法、映像処理プログラムおよび映像処理装置、ならびに、再生方法、再生プログラムおよび再生装置
JP4289253B2 (ja) 記録再生装置
JP4370166B2 (ja) トリックモードを実行する方法及びシステム
JP2005507217A (ja) ダミーの予測ピクチャを使用したコマ落としトリックモード
US8442376B2 (en) Image data recording/playback device, system, and method
JP4253830B2 (ja) 情報記録装置、情報再生装置、情報記録再生装置及び方法
JP5679831B2 (ja) 編集装置、制御方法及びプログラム
JP2008016100A (ja) 再生装置及び再生方法
JP2008508766A (ja) トリック再生中およびトリック再生後におけるグラフィックのアクセス性の改善
JP2004140723A (ja) デジタル映像情報の再生装置及び再生方法
JP2013058853A (ja) 動画再生装置、動画再生方法及びプログラム
JP2008211474A (ja) 記録装置および再生装置
WO2009090865A1 (ja) 動画像データ復号再生装置及び動画像データ復号装置
JP3063716U (ja) 動画像デ―タの再生装置
JP2004140679A (ja) 記録媒体とその再生装置及び記録装置
US20070150440A1 (en) Method and circuit for retrieving data
JPH08223534A (ja) 画像再生装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

R150 Certificate of patent or registration of utility model

Ref document number: 5525831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250