(57)【特許請求の範囲】
【請求項１】
フレーム内符号化処理が施された映像フレームを先頭とし、フレーム間予測符号化処理が施された複数の映像フレームを含み、それぞれが時間情報を有する所定数の映像フレームで構成される第１の映像単位毎に、情報記録媒体に記録されたストリームデータを再生する映像再生装置であって、
それぞれの前記第１の映像単位について、その先頭に存在するフレーム内符号化映像フレームから、次に続く第１の映像単位に含まれるフレーム内符号化映像フレームとそれを参照するフレーム間予測符号化映像フレームまでを、新たな第２の映像単位として管理することを示す管理ファイルを、前記情報記録媒体から読み出す読み出し手段と、
前記読み出し手段で読み出された管理ファイルに基づいて、当該管理ファイルが示すそれぞれの前記第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに、それぞれ時間情報の昇順にデコード処理を施すデコード手段と、
前記デコード手段によりデコード処理が施された各映像フレームの時間情報が昇順から降順に変わったことにより前記第２の映像単位の境界を判定し、境界の判定された前記第２の映像単位それぞれについて、各映像フレームのうち最後に存在するフレーム内符号化映像フレームを破棄する破棄手段と、
前記破棄手段によって最後に存在するフレーム内符号化映像フレームの破棄された前記第２の映像単位それぞれについて、各映像フレームを時間情報の昇順にメモリに記憶させ、当該メモリから各映像フレームを時間情報の降順に読み出して映像表示に供させる表示手段とを具備することを特徴とする映像再生装置。
【請求項２】
前記表示手段は、前記メモリから各映像フレームを時間情報の降順及び昇順に選択的に読み出して映像表示に供させることを特徴とする請求項１記載の映像再生装置。
【請求項３】
前記情報記録媒体に記録されたストリームデータは、ＭＰＥＧ規格に準拠した高能率圧縮符号化処理が施されたものであることを特徴とする請求項１記載の映像再生装置。
【請求項４】
前記フレーム内符号化処理が施された映像フレームはＩフレームであり、前記フレーム間予測符号化処理が施された映像フレームはＰフレーム及びＢフレームであることを特徴とする請求項３記載の映像再生装置。
【請求項５】
前記第１の映像単位は、先頭に１枚のＩフレームが配され、その後に、２枚のＢフレームと１枚のＰフレームとが交互に配されるＧＯＰであり、
前記第２の映像単位は、前記第１の映像単位を構成する各映像フレームと、その第１の映像単位の次に続く第１の映像単位に含まれる１枚のＩフレーム及びそれに続く２枚のＢフレームとで構成されるＧＯＰであることを特徴とする請求項４記載の映像再生装置。
【請求項６】
フレーム内符号化処理が施された映像フレームを先頭とし、フレーム間予測符号化処理が施された複数の映像フレームを含み、それぞれが時間情報を有する所定数の映像フレームで構成される第１の映像単位毎に、情報記録媒体に記録されたストリームデータを再生する映像再生方法であって、
それぞれの前記第１の映像単位について、その先頭に存在するフレーム内符号化映像フレームから、次に続く第１の映像単位に含まれるフレーム内符号化映像フレームとそれを参照するフレーム間予測符号化映像フレームまでを、新たな第２の映像単位として管理することを示す管理ファイルを、前記情報記録媒体から読み出す第１の工程と、
前記第１の工程で読み出された管理ファイルに基づいて、当該管理ファイルが示すそれぞれの前記第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに、それぞれ時間情報の昇順にデコード処理を施す第２の工程と、
前記第２の工程によりデコード処理が施された各映像フレームの時間情報が昇順から降順に変わったことにより前記第２の映像単位の境界を判定し、境界の判定された前記第２の映像単位それぞれについて、各映像フレームのうち最後に存在するフレーム内符号化映像フレームを破棄する第３の工程と、
前記第３の工程によって最後に存在するフレーム内符号化映像フレームの破棄された前記第２の映像単位それぞれについて、各映像フレームを時間情報の昇順にメモリに記憶させ、当該メモリから各映像フレームを時間情報の降順に読み出して映像表示に供させる第４の工程とを具備することを特徴とする映像再生方法。
【請求項７】
前記第４の工程は、前記メモリから各映像フレームを時間情報の降順及び昇順に選択的に読み出して映像表示に供させることを特徴とする請求項６記載の映像再生方法。
【請求項８】
フレーム内符号化処理が施された映像フレームを先頭とし、フレーム間予測符号化処理が施された複数の映像フレームを含み、それぞれが時間情報を有する所定数の映像フレームで構成される第１の映像単位毎に、情報記録媒体に記録されたストリームデータを再生する手段としてコンピュータを機能させるための映像再生処理用プログラムであって、
それぞれの前記第１の映像単位について、その先頭に存在するフレーム内符号化映像フレームから、次に続く第１の映像単位に含まれるフレーム内符号化映像フレームとそれを参照するフレーム間予測符号化映像フレームまでを、新たな第２の映像単位として管理することを示す管理ファイルを、前記情報記録媒体から読み出すための読み出し手段と、
前記読み出し手段で読み出された管理ファイルに基づいて、当該管理ファイルが示すそれぞれの前記第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに、それぞれ時間情報の昇順にデコード処理を施すためのデコード手段と、
前記デコード手段によりデコード処理が施された各映像フレームの時間情報が昇順から降順に変わったことにより前記第２の映像単位の境界を判定し、境界の判定された前記第２の映像単位それぞれについて、各映像フレームのうち最後に存在するフレーム内符号化映像フレームを破棄するための破棄手段と、
前記破棄手段によって最後に存在するフレーム内符号化映像フレームの破棄された前記第２の映像単位それぞれについて、各映像フレームを時間情報の昇順にメモリに記憶させ、当該メモリから各映像フレームを時間情報の降順に読み出して映像表示に供させるための表示手段として、
前記コンピュータを機能させることを特徴とする映像再生処理用プログラム。
【請求項９】
前記表示手段を、前記メモリから各映像フレームを時間情報の降順及び昇順に選択的に読み出して映像表示に供させるための手段として、前記コンピュータを機能させることを特徴とする請求項８記載の映像再生処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フレーム間予測符号化技術を採用する高能率圧縮符号化処理が施されたデジタル映像信号を、その情報記録媒体から再生するための映像再生装置、映像再生方法及び映像再生処理用プログラムに係り、特に順方向及び逆方向の可変速再生を行なうものの改良に関する。
【背景技術】
【０００２】
周知のように、映像信号を、例えばハードディスク等の情報記録媒体にデジタル記録するとき、その映像信号に高能率圧縮符号化処理を施して情報量を削減することが行なわれている。そして、この種の高能率圧縮符号化処理として、現在では、ＭＰＥＧ（moving picture experts group）方式が広く採用されている。
【０００３】
このＭＰＥＧ方式では、映像フレームに、Ｉ（intra）フレーム、Ｐ（predictive）フレーム及びＢ（bidirectionally predictive）フレームという３つのタイプを規定している。このうち、Ｉフレームは、フレーム内情報だけを用いて符号化処理したフレーム内符号化映像であり、それだけで１フレーム分の映像信号を復元することができる。
【０００４】
また、Ｐフレームは、過去のフレームから予測したフレーム間順方向予測符号化映像である。なお、Ｐフレームについては、未来のフレームから予測するフレーム間逆方向予測符号化を行なう場合もある。さらに、Ｂフレームは、過去及び未来の両フレームから予測したフレーム間両方向予測符号化映像である。
【０００５】
そして、ＭＰＥＧ方式では、これら３種類のフレームをそれぞれ所定数ずつ含む複数フレームを１まとまりにしたＧＯＰ（group of pictures）を単位として情報記録媒体に記録再生させることによって、ランダムアクセスを可能とし、任意の位置からの再生、順方向及び逆方向の可変速再生、スチル再生等の各種の特殊再生を実現させている。
【０００６】
ところで、このような特殊再生のうち、順方向及び逆方向の可変速再生は、一般に、情報記録媒体から読み取った各ＧＯＰから、そこに存在するＩフレームをそれぞれ検索して復号化処理を施し、これらの復号化された映像フレームを、時系列に沿って、または、時系列を遡るように表示させることにより実現している。
【０００７】
しかしながら、通常、１つのＧＯＰは、１枚のＩフレーム、４枚のＰフレーム及び１０枚のＢフレームよりなる１５枚のフレームで構成されることが多く、映像表示時間として約０．５秒程度に対応する情報量となっている。このため、各ＧＯＰのＩフレームだけを復号化して表示する単純な手法では、特に逆方向の可変速再生時に滑らかな動きの映像表示が行なえなくなっている。
【０００８】
特許文献１には、データの順方向再生時に、符号化データを復号化したストリームデータをバッファ領域に蓄積しておき、データの逆方向再生時に、バッファ領域に蓄積された復号化されたストリームデータを読み出して表示に供させることにより、滑らかな逆方向再生を可能とすることが開示されている。
【特許文献１】特開２００３−２４４６４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、この発明は上記事情を考慮してなされたもので、簡易な構成で、特に逆方向の可変速再生時に滑らかな動きの映像表示を行なうことを可能とする映像再生装置、映像再生方法及び映像再生処理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る映像再生装置は、フレーム内符号化処理が施された映像フレームを先頭とし、フレーム間予測符号化処理が施された複数の映像フレームを含み、それぞれが時間情報を有する所定数の映像フレームで構成される第１の映像単位毎に、情報記録媒体に記録されたストリームデータを再生するものを対象としている。そして、それぞれの第１の映像単位について、その先頭に存在するフレーム内符号化映像フレームから、次に続く第１の映像単位に含まれるフレーム内符号化映像フレームとそれを参照するフレーム間予測符号化映像フレームまでを、新たな第２の映像単位として管理することを示す管理ファイルを、情報記録媒体から読み出す読み出し手段と、読み出し手段で読み出された管理ファイルに基づいて、当該管理ファイルが示すそれぞれの第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに、それぞれ時間情報の昇順にデコード処理を施すデコード手段と、デコード手段によりデコード処理が施された各映像フレームの時間情報が昇順から降順に変わったことにより第２の映像単位の境界を判定し、境界の判定された第２の映像単位それぞれについて、各映像フレームのうち最後に存在するフレーム内符号化映像フレームを破棄する破棄手段と、破棄手段によって最後に存在するフレーム内符号化映像フレームの破棄された第２の映像単位それぞれについて、各映像フレームを時間情報の昇順にメモリに記憶させ、当該メモリから各映像フレームを時間情報の降順に読み出して映像表示に供させる表示手段とを備えるようにしたものである。
【００１１】
また、この発明に係る映像再生方法は、フレーム内符号化処理が施された映像フレームを先頭とし、フレーム間予測符号化処理が施された複数の映像フレームを含み、それぞれが時間情報を有する所定数の映像フレームで構成される第１の映像単位毎に、情報記録媒体に記録されたストリームデータを再生する方法を対象としている。そして、それぞれの第１の映像単位について、その先頭に存在するフレーム内符号化映像フレームから、次に続く第１の映像単位に含まれるフレーム内符号化映像フレームとそれを参照するフレーム間予測符号化映像フレームまでを、新たな第２の映像単位として管理することを示す管理ファイルを、情報記録媒体から読み出す第１の工程と、第１の工程で読み出された管理ファイルに基づいて、当該管理ファイルが示すそれぞれの第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに、それぞれ時間情報の昇順にデコード処理を施す第２の工程と、第２の工程によりデコード処理が施された各映像フレームの時間情報が昇順から降順に変わったことにより第２の映像単位の境界を判定し、境界の判定された第２の映像単位それぞれについて、各映像フレームのうち最後に存在するフレーム内符号化映像フレームを破棄する第３の工程と、第３の工程によって最後に存在するフレーム内符号化映像フレームの破棄された第２の映像単位それぞれについて、各映像フレームを時間情報の昇順にメモリに記憶させ、当該メモリから各映像フレームを時間情報の降順に読み出して映像表示に供させる第４の工程とを備えるようにしたものである。
【００１２】
さらに、この発明に係る映像再生処理用プログラムは、フレーム内符号化処理が施された映像フレームを先頭とし、フレーム間予測符号化処理が施された複数の映像フレームを含み、それぞれが時間情報を有する所定数の映像フレームで構成される第１の映像単位毎に、情報記録媒体に記録されたストリームデータを再生する手段としてコンピュータを機能させるためのものを対象としている。そして、それぞれの第１の映像単位について、その先頭に存在するフレーム内符号化映像フレームから、次に続く第１の映像単位に含まれるフレーム内符号化映像フレームとそれを参照するフレーム間予測符号化映像フレームまでを、新たな第２の映像単位として管理することを示す管理ファイルを、情報記録媒体から読み出すための読み出し手段と、読み出し手段で読み出された管理ファイルに基づいて、当該管理ファイルが示すそれぞれの第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに、それぞれ時間情報の昇順にデコード処理を施すためのデコード手段と、デコード手段によりデコード処理が施された各映像フレームの時間情報が昇順から降順に変わったことにより第２の映像単位の境界を判定し、境界の判定された第２の映像単位それぞれについて、各映像フレームのうち最後に存在するフレーム内符号化映像フレームを破棄するための破棄手段と、破棄手段によって最後に存在するフレーム内符号化映像フレームの破棄された第２の映像単位それぞれについて、各映像フレームを時間情報の昇順にメモリに記憶させ、当該メモリから各映像フレームを時間情報の降順に読み出して映像表示に供させるための表示手段として、コンピュータを機能させるようにしたものである。
【発明の効果】
【００１３】
上記した発明によれば、それぞれの第２の映像単位について、その先頭に存在するフレーム内符号化映像フレームから最後に存在するフレーム内符号化映像フレームまでの各映像フレームに時間情報の昇順にデコード処理を施し、各映像フレームのうち最後に存在するフレーム内符号化映像フレームの破棄された第２の映像単位それぞれについて、各映像フレームを時間情報の降順に映像表示に供させるようにしたので、簡易な構成で、特に逆方向の可変速再生時に滑らかな動きの映像表示を行なうことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態について図面を参照して詳細に説明する。図１は、この実施の形態で説明する映像再生装置１１の概略を示している。すなわち、ＨＤＤ（hard disk drive）１２によりハードディスク１２ａから読み出されたストリームデータは、分離処理部１３に供給されて映像信号と音声信号とに分離される。
【００１５】
このうち、映像信号は、デコーダ部１４に供給されてＭＰＥＧデコード処理が施された後、信号処理部１５に供給されて所定のデジタル信号処理が施される。そして、信号処理部１５から出力された映像信号は、グラフィック処理部１６に供給されて所定のＯＳＤ（on screen display）信号が重畳された後、映像出力端子１７を介して外部の映像表示器１８に供給されることにより、映像表示に供される。
【００１６】
また、上記分離処理部１３で分離された音声信号は、信号処理部１９に供給されて所定のデジタル信号処理が施される。そして、信号処理部１９から出力された音声信号は、音声出力端子２０を介して外部のスピーカ２１に供給されることにより、音声再生に供される。
【００１７】
ここで、この映像再生装置１１は、上記した再生動作を含むその全ての動作を制御部２２によって統括的に制御されている。この制御部２２は、ＣＰＵ（central processing unit）２２ａを内蔵しており、映像再生装置１１の本体に設置された操作部２３から得られる操作情報、または、リモートコントローラ２４から送出され受光部２５で受信した操作情報を受けて、その操作内容が反映されるように各部をそれぞれ制御している。
【００１８】
この場合、制御部２２は、主として、メモリ部２２ｂを利用している。そのメモリ部２２ｂは、ＣＰＵ２２ａが実行する制御プログラムを格納したＲＯＭ（read only memory）と、該ＣＰＵ２２ａに作業エリアを提供するＲＡＭ（random access memory）と、各種の設定情報及び制御情報等が格納される不揮発性メモリとを有している。
【００１９】
また、上記制御部２２は、デコーダ制御部２２ｃを有している。このデコーダ制御部２２ｃは、ユーザの操作により、ハードディスク１２ａに記録されている映像信号の順方向または逆方向への可変速再生が要求されたときに、滑らかな動きの映像表示を行なえるように、デコーダ部１４の処理を制御する機能を有する。
【００２０】
すなわち、ユーザにより順方向または逆方向の再生が要求されたとき、制御部２２は、まず、ＨＤＤ１２によりハードディスク１２ａからインデックスファイルを読み出させ、ユーザに指定された映像の時間情報であるＰＴＳ（presentation time stamp）が含まれるＧＯＰを、インデックスファイルから検索する。
【００２１】
その後、制御部２２は、ＰＴＳが含まれるＧＯＰに対応したストリームデータを、ＨＤＤ１２に読み出させてメモリ部２２ｂに格納させる。また、制御部２２は、メモリ部２２ｂに格納したストリームデータを、予め設定されたたサイズ単位に、デコーダ部１４に転送させる。
【００２２】
次に、制御部２２は、デコーダ部１４から定期的にフレームデータを読み出させ、ＰＴＳの昇順にメモリ部２２ｂに格納する。そして、制御部２２は、ＧＯＰ単位にフレームデータを管理し、ＧＯＰを構成するフレームデータが全てメモリ部２２ｂに格納できた段階で、要求されている再生動作に応じて次のような処理が行なわれる。
【００２３】
すなわち、順方向再生が要求されているときには、ＰＴＳの昇順にメモリ部２２ｂからフレームデータを読み出し、映像表示器１８での映像表示に供させる。また、逆方向再生が要求されているときには、ＰＴＳの降順にメモリ部２２ｂからフレームデータを読み出し、映像表示器１８での映像表示に供させる。
【００２４】
ここで、上記インデックスファイルを作成する理由について説明する。すなわち、ストリームデータがＭＰＥＧ２で圧縮符号化されている場合、逆方向再生を実現するためにはＧＯＰ単位にデコード処理を行ない、そのデコード処理結果として得られるＹＵＶデータ（フレームデータ）をＰＴＳの降順となるように入れ替えて再生する必要がある。
【００２５】
そこで、ＧＯＰ単位にストリームデータをアクセスできるようにインデックスファイルが必要となっている。インデックスファイルは、別アプリケーションにてストリームデータを記録するため、再生開始時に作成され、処理終了時に削除される。インデックスファイルには、ＰＴＳ値をキーにストリームデータをアクセスできるように、図２に示すような構造体で定義されるデータを１レコードとし、ＰＴＳの昇順にシーケンシャルにデータを書き込み作成する。
【００２６】
図３は、ストリームデータとデコード処理後のフレーム構成との関係を示している。すなわち、フレーム間予測符号化されたストリームデータをデコードすることで、ストリームデータ上のフレームの順序がどのように入れ替わるのか示したものである。ストリームデータのＧＯＰ３０を構成するＩフレーム３１及びＢフレーム３２は、デコード処理後、Ｂフレーム３２及びＩフレーム３１の順にデコーダ部１４から出力される。また、Ｂフレーム３２は、両方向予測で符号化されているため、前方のＧＯＰのフレームデータを参照する。
【００２７】
すなわち、図３の例では、ストリームデータを構成するＧＯＰの先頭から２〜３番目のフレームであるＢフレームは、前のＧＯＰのＰフレームのデータを参照しデコードされることになる。このため、ＧＯＰの先頭のヘッダをＧＯＰ境界とすることはできず、ＢフレームがデコードできるようにＧＯＰの境界をＭＰＥＧ２の規格とは異なる形で管理する。
【００２８】
具体的には、インデックスファイルを作成する際に、図４に示すように、次のＧＯＰ４３のＩフレーム４４とＢフレーム４５，４６とを含めて１ＧＯＰ４２として管理できるように作成する。
【００２９】
図４では、図３で示したフレーム間予測符号化で決められたＧＯＰと、この実施の形態でインデックスファイルが扱うＧＯＰとの構成を説明している。ストリームファイルの上のＧＯＰは、ＧＯＰ４１、ＧＯＰ４２のように構成されているが、この実施の形態では、インデックスファイルを作成する際、デコード処理後のフレーム構成が１つのＧＯＰとして管理できるように作成する。
【００３０】
そこで、ＧＯＰ４２を構成するフレームデータに、Ｉフレーム４４とＢフレーム４５，４６とを加え、ＧＯＰ４２として管理する。これにより、Ｉフレーム４４とＢフレーム４５，４６とは、ＧＯＰ４３と重複させてインデックスファイルを作成する。
【００３１】
なお、記録時に、Ｐフレームの生成時点でＭＰＥＧ２エンコーダがシーンチェンジとして検出した場合、ＰフレームがＩフレームに変わっていることがある。この場合、インデックスファイルを作成する際に、ＧＯＰを構成するフレーム数がなるべく小さくなるように分割する。このため、シーンチェンジによりＰフレームがＩフレームに変わった場合、ＧＯＰの開始と判断し、別なＧＯＰ単位として分割し１レコードのデータを作成する。
【００３２】
次に、インデックスファイルを作成する際のストリームファイルのエラーチェックは、ペイロードサイズ以外は行なわない。また、ファイルオープンエラーを検出した場合は異常終了する。ペイロードサイズが０の場合、ストリームファイルの終了と判断し、インデックスファイルの作成を終える。このため、そのフレーム以降にストリームデータが存在してもストリームデータ送信の処理手順により再生されない。
【００３３】
また、再生方向に合わせてストリームデータのメモリ部２２ｂからデコーダ部１４への送信手順が切り替えられている。順方向再生では、ファイルの先頭から順次読み出し、デコーダ部１４へ送信する。読み出し位置は、ストリームファイルのオフセットにより管理している。ファイルのＥＯＦ及びペイロードサイズが０の場合、ファイルの先頭から読み出すようにファイルのオフセット管理情報を初期化する。
【００３４】
逆方向再生では、インデックスファイルの最後の記録情報から読み出し、記録データのＧＯＰ開始ファイルオフセットから順方向にデータを読み出して、デコーダ部１４へ送信する。記録データのＧＯＰ終了ファイルオフセットと送信データのオフセットとが、データの送信後、一致したならば、次のＧＯＰを読み出すためにインデックスファイルからオフセットの降順に次のレコードデータを読み出し、ストリームデータの送信が繰り返される。
【００３５】
インデックスファイルのオフセット＝０のデータを読み出したことにより、ファイルのオフセット管理情報を初期化する。また、逆方向のデータ送信時にＧＯＰの先頭から２〜３番を構成しているＢフレームは、前のＧＯＰのデコードのフレームと重なるため、ファイルオフセットのみ計算し、データ送信は行なわない。
【００３６】
図５は、デコーダ部１４が出力するフレームデータのＰＴＳ順序と、映像表示器１８に転送する順番を示している。フレーム間予測符号化されたフレームは、ＰＴＳの昇順にデータをデコードしなければ、復号化することができない。そこで、フレーム間予測符号化されていないＩフレーム５１，５２を起点にデコード処理を開始する。
【００３７】
逆方向再生する際には、ＧＯＰ単位の降順でデコーダ部１４に書き込む。ＧＯＰを構成するＩフレーム５１からＢフレーム５２、Ｉフレーム５３は、フレームのデコード順序に示すように、ＰＴＳの昇順でデコーダ部１４から出力される。
【００３８】
次に、ＧＯＰの先頭フレームであるＩフレーム５４がデコード部１４から出力された際には、重複してデコードされるＩフレーム５３は破棄される。映像表示部１８に転送する順序としては、ＰＴＳの降順に示すように、Ｂフレーム５２からＩフレーム５１の順に転送する。
【００３９】
図６は、制御部２２がデコーダ部１４の出力するフレームデータ毎にＰＴＳを比較しながらＧＯＰ６０の境界を判定し、映像表示器１８に転送させることを示している。すなわち、制御部２２は、ＧＯＰの先頭フレームであるＩフレーム６１，６３，６４のＰＴＳが降順であることを判定しＧＯＰの境界を検出する。図６では、デコーダ部１４が出力したＩフレーム６１を映像表示器１８に転送し、Ｉフレーム６４がデコーダ部１４から検出されたことにより、フレームの転送順番で示される順に映像表示器１８にフレームデータを転送することを示している。
【００４０】
逆方向再生を実現するために、デコーダ部１４から出力されるフレームデータをＧＯＰ単位にＰＴＳの昇順にメモリ部２２ｂに保持し、再生時にＧＯＰ単位にＰＴＳの降順にメモリ部２２ｂから信号処理部１５に送信する。メモリ部２２ｂのフレームデータの保持領域は、フレームワークで指定するメモリエリア上に初期化時に確保する。
【００４１】
また、メモリ部２２ｂの容量としては、ＧＯＰを構成するフレーム数の最大値＋２フレーム分が最低必要となる。２フレーム分とは、３つのＧＯＰのデータを管理することにより、ＧＯＰの境界を検出している。内訳は、現在表示しているＧＯＰの最終フレーム、ＧＯＰの境界を判定するための次のＧＯＰの最初のフレームである。
【００４２】
フレームの管理は、フレームワークが提供している関数から渡されるポインタを管理する。管理は、３ＧＯＰ分のポインタを管理するキューとキューオーバーフロー用の変数により行なわれる。再生方向に応じて、キューイングとデキューの処理手順を変えている。順方向再生は、３ＧＯＰ分のキューを１つのリングバッファとして管理する。リードポインタ及びライトポインタは、両方ともＰＴＳに対して昇順に制御する。アンダーフロー検出は、キューとして２フレーム分となった段階で検出する。
【００４３】
逆方向再生は、３つのバッファを独立して管理する。３つのバッファは、それぞれのバッファを独立したリングバッファとして管理する。また、３つのバッファ間は、ＰＴＳの降順にリングとして管理する。１つのバッファは、ＰＴＳの昇順にライトポインタを管理し、ＰＴＳの降順にリードポインタを管理する。このため、同一のＧＯＰでリードとライトとが競合しないように、３つＧＯＰを管理する。
【００４４】
次にキューイング手順は、ＧＯＰ内は、ＰＴＳが昇順であることを確認し、キューイングする。ＧＯＰの境界判定は、ＰＴＳ値が降順に変わったことにより判定する。また、ＧＯＰの境界で同じフレームをデコードするようにデータを送信するため、ＧＯＰの境界が判断された時点で、ＧＯＰの最後にデコードされたＩフレームをデキューし破棄する。この廃棄対象フレームは、ＰＴＳ含めた判定を行なわず、ＩＰ（interlace progressive）変換の有無に合わせて、１または２フレームとする。また、キューイング条件に合わないフレームも、すべて破棄する。
【００４５】
以下、この実施の形態における処理動作について詳細に説明する。制御部２２は、逆方向再生が指示されるとＨＤＤ１２を介してハードディスク１２ａから、図４に示すＧＯＰ４２，４３単位にファイルオフセットを示すインデックスファイルを読み出し、ＧＯＰ４３のＩフレーム４４に対応するストリームデータをデコーダ部１４に転送する。
【００４６】
ただし、制御部２２は、ストリームデータの読み出し時に、ＧＯＰ間で重複するＢフレーム４５，４６のストリームデータは、デコーダ部１４に転送しない。デコーダ部１４が出力するフレームデータは、図５に示したフレームデコード順序の通りにＩフレーム５１から５３までデコードされたものである。
【００４７】
その後、制御部２２が、ＧＯＰ単位に降順でストリームデータを読み出すフレームデータを変えることで、Ｉフレーム５４がデコードされ、制御部２２はＩフレーム５４に付与されているＰＴＳがＩフレーム５１より小さいことにより、ＧＯＰ５０が揃ったと判断するとともに、Ｉフレーム５３を破棄する。
【００４８】
次に、制御部２２は、図６のフレームの転送順番に示すように、ＰＴＳの降順にＢフレーム５２から映像表示器１８に転送を開始する。その後、制御部２２は、図６に示すように表示中のＩフレーム６１と、デコード中のＧＯＰのＩフレーム６３からＢフレーム６２までと、Ｉフレーム６４とをメモリ部２２ｂに記憶する。
【００４９】
その後、制御部２２は、ＧＯＰ６０の境界であるＩフレーム６４がデコードされたことにより、Ｂフレーム６２から映像表示器１８に転送を開始する。制御部２２は、メモリ部２２ｂに記憶したフレームデータを、映像表示器１８のリフレッシュレートに合わせて、ＰＴＳの降順に転送し、以後、前記手順を繰り返すことで、スムーズな１倍速の逆方向再生が実現できる。
【００５０】
また、この実施の形態では、実時間よりも高速にデコードできるデコード部１４を使うことで、１倍速からデコーダの能力に応じて任意の高速再生が可能となるとともに、転送速度を落とすことでスロー再生が可能となる。
【００５１】
さらに、映像表示後のフレームデータをＧＯＰ６０単位で残しておくことにより、再生方向を切り替えた際に、切り替え後のフレームデータがデコード処理を待たずに転送できるため、次に表示するフレームデータの表示タイミングを制御することにより、瞬時に、速度や方向の変換後の再生や、一時停止後の再生を、ユーザの要望に応じて行なうことが可能となる。
【００５２】
また、この実施の形態では、順方向再生に対して、重複してデコード処理しなければならないフレームがＩフレーム１枚分のデータとなるため、順方向再生と同等なスムーズな逆方向高速再生、あるいは、再生方向切り替え時の操作性向上が実現できる。
【００５３】
図７は、上記した可変速再生処理動作をまとめたフローチャートを示している。すなわち、可変速再生が要求され、処理が開始（ステップＳ７ａ）されると、制御部２２は、ステップＳ７ｂで、再生方向が順方向として初期化処理を行なうとともに、デコーダ部１４を起動し、ステップＳ７ｃで、ストリームデータをデコーダ部１４に転送する処理を開始する。
【００５４】
その後、制御部２２は、ステップＳ７ｄで、ユーザが行なった可変速再生に関する操作内容を判別し、終了操作が行なわれたと判断された場合、可変速再生処理を終了（ステップＳ７ｇ）する。
【００５５】
また、上記ステップＳ７ｄで可変速再生の開始操作が行なわれたと判断された場合、制御部２２は、ステップＳ７ｅで、デコード処理後のデータの再生処理を実行し、ステップＳ７ｃの処理に移行される。さらに、上記ステップＳ７ｄで再生方向の切り替え操作が行なわれたと判断された場合、制御部２２は、ステップＳ７ｆで、再生方向の切り替え処理を実行し、ステップＳ７ｅの処理に移行される。
【００５６】
図８は、上記ステップＳ７ｃにおけるストリームデータ転送処理動作の一例をまとめたフローチャートを示している。すなわち、ストリームデータの転送が要求され、処理が開始（ステップＳ８ａ）されると、制御部２２は、ステップＳ８ｂで、再生方向が順方向であるか逆方向であるかを判別する。
【００５７】
再生方向が順方向であると判断された場合、制御部２２は、ステップＳ８ｃで、インデックスファイルの先頭からＰＴＳをキーとして検索し、ストリームデータのオフセットを読み出す。また、再生方向が逆方向であると判断された場合、制御部２２は、ステップＳ８ｄで、インデックスファイルの最後からＰＴＳをキーとして検索し、ストリームデータのオフセットを読み出す。
【００５８】
そして、上記ステップＳ８ｃまたはステップＳ８ｄの後、制御部２２は、ステップＳ８ｅで、ストリームデータの読み出しを実行し、ステップＳ８ｆで、ストリームデータが読み出せたか否かを判別する。ストリームデータが読み出せないと判断された場合（ＮＯ）、制御部２２は、ストリームデータの転送処理を終了（ステップＳ８ｊ）する。
【００５９】
また、上記ステップＳ８ｆでストリームデータが読み出せたと判断された場合（ＹＥＳ）、制御部２２は、ステップＳ８ｇで、読み出したストリームデータがＧＯＰのヘッダに続く２，３番目のＢフレーム以外か否かを判別する。そして、読み出したストリームデータがＧＯＰのヘッダに続く２，３番目のＢフレームであると判断された場合（ＮＯ）、制御部２２は、ステップＳ８ｅの処理に移行される。
【００６０】
一方、上記ステップＳ８ｇで読み出したストリームデータがＧＯＰのヘッダに続く２，３番目のＢフレーム以外であると判断された場合（ＹＥＳ）、制御部２２は、ステップＳ８ｈで、読み出したストリームデータをデコーダ部１４に転送し、ステップＳ８ｉで、次のストリームデータのオフセットを算出して、ステップＳ８ｅの処理に移行される。
【００６１】
図９は、上記ステップＳ８ｉにおける次のストリームデータのオフセット算出処理動作の一例をまとめたフローチャートを示している。すなわち、次のストリームデータのオフセット算出が要求され、処理が開始（ステップＳ９ａ）されると、制御部２２は、ステップＳ９ｂで、再生方向が順方向であるか逆方向であるかを判別する。
【００６２】
再生方向が順方向であると判断された場合、制御部２２は、ステップＳ９ｃで、ストリームデータサイズをファイルオフセットに加算して、次のストリームデータのオフセット算出処理を終了（ステップＳ９ｆ）する。
【００６３】
また、再生方向が逆方向であると判断された場合、制御部２２は、ステップＳ９ｄで、２回目のＩフレームから２，３番目のＢフレームを読み出したか否かを判別し、読み出していないと判断された場合（ＮＯ）、ステップＳ９ｃの処理に移行される。
【００６４】
さらに、上記ステップＳ９ｄで２回目のＩフレームから２，３番目のＢフレームを読み出したと判断された場合（ＹＥＳ）、制御部２２は、ステップＳ９ｅで、インデックスファイルのオフセットから１レコード分のサイズを減算するとともに、インデックスファイルを読み出しＧＯＰのファイルオフセットを読み出して、次のストリームデータのオフセット算出処理を終了（ステップＳ９ｆ）する。
【００６５】
図１０は、上記ステップＳ７ｅにおけるデコードデータの再生処理動作の一例をまとめたフローチャートを示している。すなわち、デコードデータの再生が要求され、処理が開始（ステップＳ１０ａ）されると、制御部２２は、ステップＳ１０ｂで、デコーダ部１４からの出力データを取り込み、ステップＳ１０ｃで、デコードデータにキューイング処理を施す。
【００６６】
その後、制御部２２は、ステップＳ１０ｄで、再生方向が順方向であるか逆方向であるかを判別し、順方向であると判断された場合、ステップＳ１０ｅで、デコードデータをＰＴＳ値の順方向でデキューする。
【００６７】
また、上記ステップＳ１０ｄで再生方向が逆方向であると判断された場合、制御部２２は、ステップＳ１０ｆで、１ＧＯＰ＋１フレーム分のデータが揃ったか否かを判別する。そして、揃っていないと判断された場合（ＮＯ）、制御部２２は、デコードデータの再生処理を終了（ステップＳ１０ｉ）し、揃ったと判断された場合（ＹＥＳ）、ステップＳ１０ｇで、デコードデータをＧＯＰの最後のフレームからデキューする。
【００６８】
上記したステップＳ１０ｅまたはステップＳ１０ｇの後、制御部２２は、ステップＳ１０ｈで、フレームデータを信号処理部１５及びグラフィック処理部１６を介して映像表示器１８に出力して映像表示させ、デコードデータの再生処理を終了（ステップＳ１０ｉ）する。
【００６９】
図１１は、上記したステップＳ１０ｃにおけるデコードデータのキューイング処理動作の一例をまとめたフローチャートを示している。すなわち、デコードデータのキューイング処理が要求され、処理が開始（ステップＳ１１ａ）されると、制御部２２は、ステップＳ１１ｂで、前回のＰＴＳの値よりも今回のＰＴＳの値の方が大きいか否かを判別し、大きいと判断された場合（ＹＥＳ）、ステップＳ１１ｃで、デコードデータをキューイング処理して、デコードデータのキューイング処理を終了（ステップＳ１１ｆ）する。
【００７０】
また、上記ステップＳ１１ｂで前回のＰＴＳの値よりも今回のＰＴＳの値の方が大きくないと判断された場合（ＮＯ）、制御部２２は、ステップＳ１１ｄで、再生方向とＧＯＰ内のフレーム数が揃ったか否かを判別し、再生方向が逆方向でかつＧＯＰ内のフレーム数が揃ったと判断された場合、ステップＳ１１ｃの処理に移行される。
【００７１】
さらに、上記ステップＳ１１ｄで再生方向が逆方向でかつＧＯＰ内のフレーム数が不足していると判断された場合、制御部２２は、ステップＳ１１ｅで、ＧＯＰデータが揃ったと判定し、デコードデータのキューイング処理を終了（ステップＳ１１ｆ）する。
【００７２】
図１２は、上記ステップＳ７ｆにおける再生方向の切り替え処理動作の一例をまとめたフローチャートを示している。すなわち、再生方向の切り替え処理が要求され、処理が開始（ステップＳ１２ａ）されると、制御部２２は、ステップＳ１２ｂで、再生方向の切り替えが要求される前に最後に得られたＰＴＳの値を記憶し、全てのデータを廃棄する。
【００７３】
その後、制御部２２は、ステップＳ１２ｃで、再生方向を反転させ、ステップＳ１２ｄで、再生方向が順方向であるか逆方向であるかを判別する。再生方向が順方向であると判断された場合、制御部２２は、ステップＳ１２ｅで、ストリーム転送処理のファイルオフセット値を順方向で算出し、再生方向が逆方向であると判断された場合、ステップＳ１２ｆで、ストリーム転送処理のファイルオフセット値を逆方向で算出する。
【００７４】
そして、上記ステップＳ１２ｅまたはステップＳ１２ｆの後、制御部２２は、ステップＳ１２ｇで、デコーダ部１４からデータを取り込み、ステップＳ１２ｈで、ＰＴＳ値と再生方向とを判定する。
【００７５】
ここで、再生方向が順方向のときＰＴＳ値が大きく再生方向が逆方向のときＰＴＳ値が小さいと判断された場合、制御部２２は、ステップＳ１２ｉで、デコードデータをキューイング処理し、その他と判断された場合、ステップＳ１２ｇの処理に移行する。
【００７６】
そして、上記ステップＳ１２ｉの後、制御部２２は、ステップＳ１２ｊで、再生方向に合わせて規定数のデータが揃ったか否かを判別し、不足していると判断された場合（ＮＯ）、ステップＳ１２ｇの処理に移行され、揃ったと判断された場合（ＹＥＳ）、再生方向の切り替え処理を終了（ステップＳ１２ｋ）する。
【００７７】
なお、この発明は上記した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係る構成要素を適宜組み合わせても良いものである。
【図面の簡単な説明】
【００７８】
【図１】この発明の実施の形態を示すもので、映像再生装置の概略を説明するために示すブロック構成図。
【図２】同実施の形態における映像再生装置がＧＯＰ単位にストリームデータをアクセスするインデックスファイルを説明するために示す図。
【図３】同実施の形態における映像再生装置のデコード処理後のフレーム構成を説明するために示す図。
【図４】同実施の形態における映像再生装置のインデックスファイルが扱うＧＯＰを説明するために示す図。
【図５】同実施の形態における映像再生装置のデコードデータのＰＴＳ順序と映像表示器への転送順番とを説明するために示す図。
【図６】同実施の形態における映像再生装置のデコードデータ毎にＧＯＰ境界を判定し映像表示器に転送させることを説明するために示す図。
【図７】同実施の形態における映像再生装置が行なう可変速再生処理動作を説明するために示すフローチャート。
【図８】同実施の形態における映像再生装置が行なうストリームデータ転送処理動作を説明するために示すフローチャート。
【図９】同実施の形態における映像再生装置が行なうストリームデータのオフセット算出処理動作を説明するために示すフローチャート。
【図１０】同実施の形態における映像再生装置が行なうデコードデータの再生処理動作を説明するために示すフローチャート。
【図１１】同実施の形態における映像再生装置が行なうデコードデータのキューイング処理動作を説明するために示すフローチャート。
【図１２】同実施の形態における映像再生装置が行なう再生方向の切り替え処理動作を説明するために示すフローチャート。
【符号の説明】
【００７９】
１１…映像再生装置、１２…ＨＤＤ、１２ａ…ハードディスク、１３…分離処理部、１４…デコーダ部、１５…信号処理部、１６…グラフィック処理部、１７…映像出力端子、１８…映像表示器、１９…信号処理部、２０…音声出力端子、２１…スピーカ、２２…制御部、２２ａ…ＣＰＵ、２２ｂ…メモリ部、２２ｃ…デコーダ制御部、２３…操作部、２４…リモートコントローラ、２５…受光部、３０…ＧＯＰ、３１…Ｉフレーム、３２…Ｂフレーム、４０…ＧＯＰ、４１…ＧＯＰ、４２…ＧＯＰ、４３…ＧＯＰ、４４…Ｉフレーム、４５…Ｂフレーム、４６…Ｂフレーム、５０…ＧＯＰ、５１…Ｉフレーム、５２…Ｂフレーム、５３…Ｉフレーム、５４…Ｉフレーム、６０…ＧＯＰ、６１…Ｉフレーム、６２…Ｂフレーム、６３…Ｉフレーム、６４…Ｉフレーム、６５…Ｂフレーム。
【図１】
0004322944.tif 000002
【図２】
0004322944.tif 000003
【図３】
0004322944.tif 000004
【図４】
0004322944.tif 000005
【図５】
0004322944.tif 000006
【図６】
0004322944.tif 000007
【図７】
0004322944.tif 000008
【図８】
0004322944.tif 000009
【図９】
0004322944.tif 000010
【図１０】
0004322944.tif 000011
【図１１】
0004322944.tif 000012
【図１２】
0004322944.tif 000013