(57)【要約】【目的】本発明は組み込み機器においてストリームの任意の途中シーク位置から再生を実行する特殊再生処理機能を低速サイクル動作の演算装置及び少ないメモリ容量で実現可能なＭＰＥＧ動画再生装置を提供することを目的とする。【構成】本発明では、動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生装置において、ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、第１のフレームの時刻情報とカウントされたフレーム数とに基づいて、キーフレームの時刻情報を補間する。【選択図】      図８
2004357267.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレームから構成される動画データのストリームが入力されて、前記動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生装置であって、
前記ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、前記第１のフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間する時刻情報補間処理部を備えたことを特徴とする動画再生装置。
【請求項２】
特殊再生処理部、キーフレーム検索・１フレームデコード部及びデコーダエンジン部を更に有し、
前記特殊再生処理部は、前記キーフレーム検索・１フレームデコード部、前記デコーダエンジン部及び前記時刻情報補間処理部を呼び出すことにより、前記途中シーク位置から時間軸の正の方向に向かって検索して最初に出現する、前記時刻情報が付与されていない前記キーフレームに対して、前記時刻情報を補間しながら、１フレームのみのデコード処理を行うことを特徴とする請求項１記載の動画再生装置。
【請求項３】
前記キーフレーム検索・１フレームデコード部は、前記ストリームを解析し、前記途中シーク位置から時間軸の正の方向に向かって前記フレームのピクチャタイプのみを検索して最初に出現するキーフレームを検索するとともに、
デコード処理を行うことなく前記時刻情報の補間のために必要なピクチャタイプのフレームまでスキップ処理を行い、前記途中シーク位置からスキップしたフレーム数をカウントすることを特徴とする請求項２記載の動画再生装置。
【請求項４】
前記キーフレーム検索・１フレームデコード部は、前記デコーダエンジン部を呼び出すことにより、前記検索したキーフレームに対して１フレームのみのデコード処理を行うことを特徴とする請求項３記載の動画再生装置。
【請求項５】
前記動画データはＭＰＥＧ動画データであり、
前記キーフレームはＩピクチャフレームであり、
前記時刻情報はＰＴＳコードであることを特徴とする請求項１記載の動画再生装置。
【請求項６】
前記第１のフレームがＢピクチャフレームである場合には、
前記第２のフレームはＩピクチャフレーム又はＰピクチャフレームであり、
前記時刻情報補間処理部は、最初に出現する前記時刻情報が付与されたＢピクチャフレームから、前記キーフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでのフレーム数をカウントし、前記Ｂピクチャフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間することを特徴とする請求項５記載の動画再生装置。
【請求項７】
前記第１のフレームがＰピクチャフレームである場合には、
前記第２のフレームはＩピクチャフレーム又はＰピクチャフレームであり、
前記時刻情報補間処理部は、最初に出現する前記時刻情報が付与されたＰピクチャフレームから、前記キーフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでの第１のフレーム数をカウントするとともに、
最初に出現する前記時刻情報が付与されたＰピクチャフレームから、前記時刻情報が付与されたＰピクチャフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでの第２のフレーム数をカウントし、
前記Ｐピクチャフレームの時刻情報と前記カウントされた第１のフレーム数及び第２のフレーム数とに基づいて、前記キーフレームの時刻情報を補間することを特徴とする請求項５記載の動画再生装置。
【請求項８】
現在のデコード位置からスキップ間隔情報で指定された所定のスキップ間隔だけ離れた位置を前記途中シーク位置として、前記キーフレームの検索を行うとともに、前記検索されたキーフレームの時刻情報を補間することにより、前記キーフレームを選択的に出力するスキップ再生処理を行うスキップ再生処理部を更に備えたことを特徴とする請求項１記載の動画再生装置。
【請求項９】
前記スキップ再生処理部は、前記特殊再生処理を繰り返す回数を示すスキップ回数を指定するスキップ回数情報に基づいて、前記途中シーク位置を順次変化させながら前記スキップ再生処理を繰り返し行うことを特徴とする請求項８記載の動画再生装置。
【請求項１０】
複数のフレームから構成される動画データのストリームを入力し、前記動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生方法であって、
前記ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、前記第１のフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間する時刻情報補間処理工程を備えたことを特徴とする動画再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画再生装置に関し、特に組み込み機器向けのＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）動画の再生装置に関するものである。
【０００２】
【従来の技術】
従来の組み込み機器向けＭＰＥＧ動画再生装置は、限られたメモリ空間、及び低消費電力のための低速サイクル動作のため、図１に示すように、特定の並びをもったＩＳＯ制御コード（図１では制御コード構成Ａ）によりストリームを構成する動画生成装置（図１では動画生成装置Ａ）が生成する特定ストリームのみを対象とした再生装置となっている。このようなＭＰＥＧ動画再生装置は、例えばソフトウェアにより実現されている。
【０００３】
従来の組み込み機器向けＭＰＥＧ動画再生装置では、特定ストリームを対象とすることにより、ＩＳＯ制御コードに基づいてストリームを解析せずとも、次に到着するＩＳＯ制御コードの並びを期待した構造をとることによって、ソフトウェアも、利用するリソース（演算装置、メモリ装置等）もコンパクトな構成とすることができる。
【０００４】
上記のような従来の組み込み機器向けＭＰＥＧ動画再生装置では、特に、１フレーム分の画像サイズ、フレームレート、Ｍ値（キーフレームの出現パターン周期）、Ｎ値（双方向参照フレームの出現パターン周期）、及び同期出力制御コードであるＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ  Ｓｔａｍｐ）コードの挿入間隔が、特定のパターンで記述されたストリームを対象とするものが一般的である。
【０００５】
一方、ＩＳＯ規格では、上記画像サイズ、フレームレート、Ｍ値、Ｎ値、ＰＴＳ等のＩＳＯ制御コード（パラメータ）はＩＳＯ規格で規定された値域の範囲で任意に設定することが可能である。図２に示すような、上記ＩＳＯ制御コードが任意の構成をもつストリームを再生する汎用ＭＰＥＧ動画再生装置では、ＩＳＯ制御コードに基づいてストリームを解析し、解析の結果得られた情報を情報テーブルとして所定のメモリ空間にスタッキングすることにより、任意のストリームに対する再生機能を実現している。
【０００６】
上述のストリームの解析、情報のスタッキングといった各々の動作を実行するには、利用するリソース（演算装置、メモリ装置等）として、より高機能なものが必要となる。このため、上述の任意ストリームに対する再生機能は一般に、パーソナルコンピュータなど、高速サイクルで動作する演算装置及びストリーム全体の情報をスタッキング可能なメモリ容量を有する実装メモリが搭載された機器において実現されている。
【０００７】
尚、特許文献１には、オーディオ・ビデオ同期再生処理に関し、映像データに記載されたフレームレートを使用しないで、ＰＴＳコードを用いて映像データのフレームレートを算出する技術が開示されている。
【０００８】
【特許文献１】
特開平１１−３５５７２８号公報
【０００９】
【発明の解決しようとする課題】
ＭＰＥＧ動画再生装置においてストリームの先頭からではなくその途中のシーク位置から再生を開始する特殊再生の場合、従来の方法では以下のような処理が行われる。
【００１０】
まず、ＭＰＥＧ動画再生装置において、ストリームの先頭位置から連続するすべてのＭＰＥＧ動画データを、メモリ装置でバッファリングしながら、順次デコードしていく。このとき、再生を開始しようとする所望の途中シーク位置までにデコードの結果得られた映像データ及び音声データは実際には外部に出力されずに廃棄される。
【００１１】
次に、所望の途中シーク位置までデコード処理が到達した段階で、デコードの結果得られた映像データ及び音声データの外部への出力が実際に開始され、それによってストリームの途中シーク位置からの再生処理（特殊再生処理）が実行される。
【００１２】
しかしながら、上述した特殊再生処理を実行するには、ストリームの先頭位置から連続するＭＰＥＧ動画データをすべてデコードする必要があるため、一定の期間内に演算装置によって多くの演算処理を行い、大量のデータをメモリ装置にバッファリングさせることが必要となる。このため、利用するリソース（演算装置、メモリ装置等）としては、より高機能なものが必要となる。
【００１３】
このため、特殊再生処理の機能は一般に、パーソナルコンピュータなど、高速サイクルで動作する演算装置及び大量のデータを同時にバッファリング可能なメモリ容量を有する実装メモリが搭載された機器において実現されており、限られたメモリ容量及び低速サイクル動作の演算装置しか持たない組み込み機器において実現するのは困難であった。
【００１４】
本発明は上述の問題点を鑑みてなされたものであり、組み込み機器において、任意のＩＳＯ制御コード構成をもつストリームに対する汎用の動作再生機能及びストリームの途中シーク位置から再生を実行する特殊再生処理機能を、低速サイクル動作の演算装置及び少ないメモリ容量で実現することが可能なＭＰＥＧ動画再生装置を提供することを目的とする。
【００１５】
【発明を解決するための手段】
上記の目的を達成するために、本発明の１つの側面によれば、複数のフレームから構成される動画データのストリームが入力されて、前記動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生装置において、前記ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、前記第１のフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間する時刻情報補間処理部を備えたことを特徴とする。
【００１６】
この構成により、本発明の動画再生装置では、任意の途中シーク位置から再生が開始された場合でも、カウントされたフレーム数と時刻情報の関係に基づいて時刻情報を持たないキーフレームに対して所定の時刻情報を補間しながら動作するので、不要なデコード処理やバッファリングを行うことなく特殊再生処理の機能を実現することができる。
【００１７】
従って、本発明の動画再生装置は、一定期間内に必要される演算処理量が少なく、処理のためにバッファリングされるデータ量も少ないため。低速サイクル動作の演算装置及び少ないメモリ容量で実現可能であり、このためコンパクトなリソース構成しか備えない組み込み機器においても十分実現可能なものである。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、係る実施の形態が本発明の技術的範囲を限定するものではなく、本発明の技術的範囲は特許請求の範囲とその均等物に及ぶものである。
【００１９】
図３は本発明の組み込み機器向けＭＰＥＧ動画再生装置を実現するための機器の構成例を示す図である。図中、１は演算装置、２はＭＰＥＧ動画再生装置、３はメモリ装置、４はバッファ、５は入出力装置、６は出力装置、７はＩＳＯ規格準拠のＭＰＥＧ動作生成装置である。
【００２０】
図３に示すように、ＭＰＥＧ動画の生成及び再生における処理の大まかな流れは以下のとおりである。
【００２１】
まず、外部のＭＰＥＧ動画生成装置７から入出力装置５内の入力デバイスを介して入力されるＭＰＥＧ動画データを、メモリ装置３内のバッファ４でバッファリングしながら、演算装置１内に実装されたＭＰＥＧ動画再生装置２によってデコードする。ここで、デコード処理とは、圧縮データであるＭＰＥＧ動画データを伸長する処理である。
【００２２】
次いで、デコード処理の結果得られた動画データ（映像データ及び音声データ）を入出力装置５の出力デバイスを介して外部の出力装置６（ディスプレイ、スピーカ等）に出力する。ＭＰＥＧ動画再生装置は、上述の一連の処理を連続的に実行することにより、動画再生処理を実行する。
【００２３】
ここで、図４を用いてＭＰＥＧ動画データの構成について説明する。図４に示すように、ＭＰＥＧ動画データの構成にはパケットによる多重方式が用いられている。
【００２４】
各パケット中には、音声圧縮データ（オーディオフレーム）や映像圧縮データ（ビデオフレーム）などから構成された個別のストリーム（以下エレメンタリストリーム、ＥＳと称する。）が格納されている。以下、映像データのエレメンタリストリームをビデオエレメンタリストリーム、音声データのエレメンタリストリームをオーディオエレメンタリストリームと称する。ビデオエレメンタリストリームは複数のビデオフレームから構成され、オーディオエレメンタリストリームは複数のオーディオフレームから構成される。
【００２５】
各パケットのヘッダ部分（パケットヘッダ）には、そのパケット内部に含まれるエレメンタリストリームに関する個別情報や、同期出力制御のための時刻情報（ＰＴＳコード）などが格納されている。ＰＴＳコードはＩＳＯ制御コードとして対応するフレームの出力タイミングを明示するものである。この時刻情報は各エレメンタリストリームをデコードして得られる映像データ及び音声データに対して、実際に画像出力を行う際に同期制御を行うために使用される。
【００２６】
任意の数のパケットの集合体としてパックが定義され、各パックのヘッダ部分にはパックヘッダ及びシステムヘッダが設けられる。パックヘッダにはそのストリームの基準時間情報（ＳＣＲ）やデータの圧縮レート情報などが格納される。システムヘッダにはそのパック内部に含まれるエレメンタリストリームの構成情報やビデオフレーム及びオーディオフレームに対するフレームレート情報などが格納される。
【００２７】
尚、ＩＳＯ規格においてはパック中のパケット構成に関する規制はない。ＭＰＥＧ動画データの１つのストリームは複数のパックによって構成されている。
【００２８】
各エレメンタリストリームでは１フレームを１単位として扱う。１ビデオフレームはディスプレイなどの画面上に実際に出力される１画面分のデータに相当する。１ビデオフレームが表現する時間はビデオフレームに対するフレームレートに依存する。
【００２９】
ビデオエレメンタリストリーム上におけるビデオフレームのピクチャタイプはフレーム毎に異なる。このピクチャタイプはＩ（差分なし、キーフレーム）、Ｐ（片方向差分データ）、Ｂ（双方向差分データ）の３種類から構成される。Ｐピクチャフレーム及びＢピクチャフレームは、デコードするときに参照するフレームを必要とするため、単独のフレームで正常なデコードを実行することはできない。独立して１フレームでデコード可能なものはＩピクチャフレームのみである。
【００３０】
ＭＰＥＧ動画データの再生処理においては、双方向差分データであるＢピクチャフレームが存在するため、ビデオエレメンタリストリームの内部では図５に示すように、ビデオフレームの順番に関して、実際に出力される順番とエレメンタリストリーム中に並んでいる順番とが異なる。尚、図５において、点線は参照するフレームの相互関係を表している。（尚、ＩＳＯ規格ではこの並び方についての制限はない。）
このため、本発明のＭＰＥＧ動画再生装置では、後述するように、これらのビデオフレームの並びを意識せず、かつ、不要なバッファリングを行わないようにするため、ストリームの途中から再生を開始する特殊再生処理の場合に、ストリーム中のＩピクチャフレームを検索してデコードする機能を有する。
【００３１】
ところで、ストリームの先頭からＭＰＥＧ動画データを順次デコードしていく通常再生処理の場合においては、デコードして得られる映像データ及び音声データの出力タイミングを決定する際に、上述のＰＴＳコードを参照することは必ずしも必要ない。これは、ストリームの先頭部においてＭＰＥＧ画像データの先頭のパック中に示されているビデオフレーム及びオーディオフレームのフレームレートを用いて、デコードして得られる各々の映像データ及び音声データを、フレームレートにより決まる一定の間隔で各々の先頭データから順次出力すればよいためである。
【００３２】
一方、ストリームの任意の途中シーク位置から再生を開始する特殊再生処理の場合においては、ＭＰＥＧ動画データを正常に再生するためには、第一に、上記の途中シーク位置から時間軸の正の方向に向かって最初に出現するＩピクチャフレームを検索することが必要である。
【００３３】
これは、Ｐピクチャフレーム及びＢピクチャフレームの場合にはこれらのフレームが参照するフレームのデコード結果が存在しないため正常なデコード処理を行うことができず、最初にデコードするビデオフレームとしては単独のフレームで正常なデコード処理が可能なＩピクチャフレームしかないためである。
【００３４】
更に、正常な再生を行うためには、最初に出現するＩピクチャフレームからデコードして得られる映像データと、これに対応する所定の音声データとを同期出力させることが必要である。
【００３５】
図６は、ストリームの任意の途中シーク位置から再生を開始する特殊再生処理の場合において、デコードして得られる映像データとこれに対応する音声データを各々のフレームに付与されたＰＳＴコードに基づいて同期出力させる際の制御方法を説明するための図である。
【００３６】
一般に、ＰＴＳコードは映像データ及び音声データの各々のフレームに付与されるが、隣接する映像データ及び音声データの各々のパケットに付与されるＰＴＳコードは必ずしも一致していない。そのため、本発明の特殊再生処理の場合においては、図６に示したように、各々のパケットヘッダに存在するＰＴＳコードを基に、任意の途中シーク位置における映像データ及び音声データの時間的な相対関係を求めて、映像データ及び音声データの同期出力制御を行う。
【００３７】
映像データのＰＴＳコードは、後続するビデオエレメンタリストリーム中に含まれる先頭のビデオフレームの出力時刻を表している。先頭のビデオフレームの出力時刻Ｔｖは、動画生成装置において映像データのＰＴＳコードを生成する際に用いられるリファレンスクロックの周波数と付与されたＰＴＳコードから求めることができる。
【００３８】
音声データのＰＴＳコードは、後続するオーディオエレメンタリストリーム中に含まれる先頭のオーディオフレームの出力時刻を表している。先頭のオーディオフレームの出力時刻Ｔａは、動画生成装置において音声データのＰＴＳコードを生成する際に用いられるリファレンスクロックの周波数と付与されたＰＴＳコードから求めることができる。尚、一般に、動画生成装置において映像データ及び音声データのＰＴＳコードを生成する際に参照されるリファレンスクロックの周波数は互いに異なる。
【００３９】
映像データと音声データの出力タイミングは、音声データのサンプリングレートをＳａとすると、以下のように決定される。
【００４０】
（１）Ｔａ＜Ｔｖのとき、
出力時刻Ｔｖで示される先頭のビデオフレームの出力タイミングは、図６に示したように、隣接する音声データのパケット内の先頭のオーディオフレームが出力された時点から、以下に示す回数Ｃａだけオーディオフレームがサンプル出力された時点となる。
【００４１】
Ｃａ＝Ｓａ×（Ｔｖ−Ｔａ）
（２）Ｔａ＞Ｔｖのとき、
図６に示したように、出力時刻Ｔｖで示される先頭のビデオフレームが出力された時点から、以下に示す回数Ｃａだけオーディオフレームをサンプル出力するのに要する時間だけ経過した後に、隣接する音声データのパケット内の先頭のオーディオフレームが出力される。
【００４２】
Ｃａ＝Ｓａ×（Ｔａ−Ｔｖ）
以上のように、本発明の特殊再生処理においては、デコードして得られる映像データと対応する音声データを、各々のフレームに付与されたＰＳＴコードに基づいて出力タイミングを調整しながら同期出力させることができる。
【００４３】
尚、上述の（１）及び（２）の場合において、実際の出力処理においては、出力時刻が早い方の映像データ又は音声データが出力された後、遅い方の音声データ又は映像データが出力されるまでの期間は、先に出力されるべき映像データ又は音声データを実際には出力させないようにする処理（ミュート）を行ってもよい。具体的には、上記期間は映像データ及び音声データを図３の出力装置に供給しないように制御すればよい。
【００４４】
ここで、上記説明したように、ストリームの任意の途中シーク位置から再生を開始する特殊再生処理の場合において、時間軸の正の方向に向かって最初に出現するＩピクチャフレームからデコードして得られる映像データと、これに対応する所定の音声データとを同期出力させる処理を行うためには、最初に出現するＩピクチャフレームに対して時刻情報（ＰＴＳコード）が付与されていることが不可欠である。
【００４５】
しかしながら、ＩＳＯ規格においては、ＰＴＳコードはピクチャタイプによらず任意のビデオフレームに付加されるため、必ずしも単独のフレームで正常なデコード処理が可能なＩピクチャフレーム（キーフレーム）にＰＴＳコードが付与されているとは限らない。
【００４６】
ＰＴＳコードは必ずしもキーフレームに付与されているとは限らないため、本発明の動画再生装置においては、上記の特殊再生処理において、ストリームの任意の途中シーク位置から時間軸の正の方向に向かって最初に出現するキーフレームにＰＴＳコードが付与されていない場合には、そのキーフレームに所定のＰＴＳコードを補間する処理を行う。
【００４７】
より詳細には、本発明の動画再生装置においては、ストリームの任意の途中シーク位置から時間軸の正の方向に向かって最初に出現する、ＰＴＳコードの付与されたビデオフレームから、同様に最初に出現する、ＰＴＳコードを持たないＩピクチャフレームの後に最初に出現するＩ又はＰピクチャフレームまでのフレーム数をカウントし、ＰＴＳコードの付与されたビデオフレームのＰＴＳコードの値とカウントされたフレーム数とに基づいて、最初に出現するＰＴＳコードを持たないキーフレーム（Ｉピクチャフレーム）にＰＴＳコードを補間する。
【００４８】
尚、特殊再生処理において上述のようにＰＴＳコードを補間しない場合には、任意の途中シーク位置から時間軸の正の方向に向かって最初に出現するキーフレームが時刻情報（ＰＴＳコード）を持つ場合のみ再生処理を行い、それ以外の場合には再生処理は不可として再生処理を行わないとする方法が考えられる。しかしながら、この方法は、再生を開始する途中シーク位置に依存して再生処理が可能な場合とそうでない場合とがあるため、現実的には有用な方法とはいえない。
【００４９】
以下に、本発明におけるキーフレームに対するＰＴＳコードの補間方法を説明する。まず、説明のためにいくつかの表現式を以下のように定義する。
【００５０】
列挙子を以下のように定義する。
【００５１】
｛Ａ｝＝ＡＡＡＡＡ・・・・＝Ａの任意の数の並び
［Ａ］＝Ａ＝１つのＡ
論理演算子を以下のように定義する。
【００５２】
Ａ｜Ｂ＝Ａ又はＢ
関数を以下のように定義する。
【００５３】
Ｎ（ｘ）＝列ｘの要素数
上記の各定義式に従うと、例えば以下のような関係式が成り立つ。
【００５４】
ｐ＝｛Ａ｜Ｂ｝＝ＡＡＢＢＢ
Ｎ（ｐ）＝Ｎ（ＡＡＢＢＢ）＝５
また、ストリーム上の任意の途中シーク位置を再生開始位置として指定し、指定された途中シーク位置から再生を開始する特殊再生処理において、指定された途中シーク位置から時間軸の正の方向に向かって最初に出現する、ＰＴＳコードの付与されたビデオフレーム（以下、補間基準フレームと称する。）のＰＴＳコードをＰＴＳ０とする。補間基準フレームのピクチャタイプをＰｔとする。ストリーム上の指定された途中シーク位置から時間軸の正の方向に向かって最初に出現するキーフレーム（以下、補間対象キーフレームと称する。）のＰＴＳコードをＰＴＳｉとする。
【００５５】
次に、ＰｔがそれぞれＩ、Ｐ又はＢである場合に分けて、補間対象キーフレームに対するＰＴＳコード（ＰＴＳｉ）の補間方法を説明する。
【００５６】
（１）Ｐｔ＝Ｉのとき、
補間基準フレームが補間対象キーフレームと一致しており、ストリーム上の指定された途中シーク位置から時間軸の正の方向に向かって最初に出現する、ＰＴＳコードの付与されたビデオフレームが最初に出現するキーフレーム（Ｉピクチャフレーム）そのものである。従って、以下の関係式が成り立つ。（以下、式１と称する。）
ＰＴＳｉ＝ＰＴＳ０
すなわち、補間対象キーフレームには予め所定のＰＴＳコードが付与されており、Ｐｔ＝Ｉの場合、ＰＴＳコードの補間処理は不要である。
【００５７】
（２）Ｐｔ＝Ｂのとき、
ビデオエレメンタリストリーム内のビデオフレームのピクチャタイプが図７に示すような並びである場合にＰＴＳ０からＰＴＳｉを算出する方法を説明する。
【００５８】
図中、補間基準フレームのピクチャタイプをＢ０と表し、補間対象キーフレームのピクチャタイプをＩｉと表している。図７に示すピクチャタイプの並びは、上記定義した各々の表現式を用いると、以下のように正規化することができる。
（以下、式２と称する。）
2004357267.tif 000003
図７に示すビデオエレメンタリストリーム内のピクチャタイプの並び順は、実際に出力される際のビデオフレームの出力順に並び替えると、図８に示すようになる。この並びは正規化された表現では以下のように表すことができる。（以下、式３と称する。）
2004357267.tif 000004
図８及び式３から明らかなように、補間対象キーフレームＩｉと補間基準フレームＢ０との間の出力の時間差Δｔは、Ｔをフレーム間のインターバル時間（フレームレートの逆数、例えば１／３０秒）とすると、上記定義した表現式を用いることにより以下の関係式が成り立つ。（以下、式４と称する。）
2004357267.tif 000005
また、補間対象キーフレームＩｉと補間基準フレームＢ０との間の出力の時間差Δｔは各々のＰＴＳコードの差に対応するので、以下の関係式が成り立つ。（以下、式５と称する。）
Δｔ＝ＰＴＳｉ−ＰＴＳ０
式４及び式５から、補間対象キーフレームＩｉのＰＴＳコード（ＰＴＳｉ）は、補間基準フレームＢ０のＰＴＳコード（ＰＴＳ０）を用いて以下のように表すことができる。（式６と称する。）
ＰＴＳｉ＝ＰＴＳ０＋（Ｎ（｛Ｐ｜Ｂ｝）＋Ｎ（｛Ｂ｝）＋２）×Ｔ
一方、ビデオエレメンタリストリームの並びにおいて、補間基準フレームＢ０から時間軸の正の方向に向かって補間対象キーフレームＩｉよりも後に最初に出現するＩ又はＰピクチャフレームまでのフレーム数をｎとすると、図８から明らかなように、以下のような関係式が成り立つ。（以下、式７と称する。）
2004357267.tif 000006
式６に式７を代入することにより、以下のような関係式が成り立つ。（以下、式８と称する。）
ＰＴＳｉ＝ＰＴＳ０＋ｎ×Ｔ
すなわち、Ｐｔ＝Ｂの場合、補間基準フレームから時間軸の正の方向に向かって補間対象キーフレームの後に最初に出現するＩ又はＰピクチャフレームまでの出力フレーム数をカウントすることにより、補間基準フレームのＰＴＳコード（ＰＴＳ０）とカウントされた出力フレーム数（ｎ）とに基づいて、補間対象キーフレームのＰＴＳコードを式８により補間することができる。
【００５９】
（３）Ｐｔ＝Ｐのとき、
ビデオエレメンタリストリーム内のビデオフレームのピクチャタイプが図９及び図１０に示すような並びである場合に、それぞれＰＴＳ０からＰＴＳｉを算出する方法を説明する。図中、補間基準フレームのピクチャタイプをＰ０と表し、補間対象キーフレームのピクチャタイプをＩｉと表している。
【００６０】
（３−１）
図９に示すように、補間基準フレームＰ０と補間対象キーフレームＩｉの間に少なくとも１つのＰピクチャフレームが存在する並びの場合を考える。
【００６１】
図９に示すピクチャタイプの並びは上記定義した各々の表現式を用いると、以下のように正規化することができる。（以下、式９と称する。）
2004357267.tif 000007
図９に示すビデオエレメンタリストリーム内のピクチャタイプの並び順は、実際に出力される際のビデオフレームの出力順に並び替えると、図１１に示すようになる。この並びは正規化された表現では以下のように表すことができる。（以下、式１０と称する。）
2004357267.tif 000008
図１１及び式１０から明らかなように、補間対象キーフレームＩｉと補間基準フレームＰ０との間の出力の時間差Δｔは、上記定義した表現式を用いることにより以下の関係式が成り立つ。（以下、式１１と称する。）
2004357267.tif 000009
また、補間対象キーフレームＩｉと補間基準フレームＰ０との間の出力の時間差Δｔは（２）の場合と同様に式５を満たすので、式５及び式１１から、補間対象キーフレームＩｉのＰＴＳコード（ＰＴＳｉ）は、補間基準フレームＰ０のＰＴＳコード（ＰＴＳ０）を用いて以下のように表すことができる。（式１２と称する。）
ＰＴＳｉ＝ＰＴＳ０＋（Ｎ（｛Ｐ｜Ｂ｝）＋Ｎ（｛Ｂ｝）＋２）×Ｔ
一方、ビデオエレメンタリストリームの並びにおいて、補間基準フレームＰ０から時間軸の正の方向に向かって補間対象キーフレームＩｉよりも後に最初に出現するＩ又はＰピクチャフレームまでのフレーム数をｍとすると、図１１から明らかなように以下のような関係式が成り立つ。（以下、式１３と称する。）
2004357267.tif 000010
ビデオエレメンタリストリームの並びにおいて、補間基準フレームＰ０から時間軸の正の方向に向かって最初に出現するＰピクチャフレームまでのフレーム数をｎとすると、図１１から明らかなように以下のような関係式が成り立つ。（以下、式１４と称する。）
ｎ＝Ｎ（｛Ｂ｝’）＋１
式１３及び１４から、以下の関係式が成り立つ。（以下、式１５と称する。）
ｍ−ｎ＝Ｎ（｛Ｐ｜Ｂ｝）＋Ｎ（｛Ｂ｝）＋２
式１５に式１２を代入することにより、以下のような関係式が成り立つ。（以下、式１６と称する。）
ＰＴＳｉ＝ＰＴＳ０＋（ｍ−ｎ）×Ｔ
（３−２）
図１０に示すように、補間基準フレームＰ０と補間対象キーフレームＩｉの間にＰピクチャフレームが１つも存在せず、存在するフレームがすべてＢピクチャフレームである並びの場合を考える。
【００６２】
図１０に示すピクチャタイプの並びは上記定義した各々の表現式を用いると、以下のように正規化することができる。（以下、式１７と称する。）
・・・Ｐ０，｛Ｂ｝’，Ｉｉ，｛Ｂ｝，［Ｉ｜Ｐ］，｛Ｐ｜Ｂ｝・・・
図１０に示すビデオエレメンタリストリーム内のピクチャタイプの並び順は、実際に出力される際のビデオフレームの出力順に並び替えると、図１２に示すようになる。この並びは正規化された表現では以下のように表すことができる。（以下、式１８と称する。）
・・・｛Ｂ｝’，Ｐ０，｛Ｂ｝，Ｉｉ，｛Ｐ｜Ｂ｝，［Ｉ｜Ｐ］・・・
図１２及び式１８から明らかなように、補間対象キーフレームＩｉと補間基準フレームＰ０との間の出力の時間差Δｔは、上記定義した表現式を用いることにより以下の関係式が成り立つ。（以下、式１９と称する。）
Δｔ＝（Ｎ（｛Ｂ｝）＋１）×Ｔ
また、補間対象キーフレームＩｉと補間基準フレームＰ０との間の出力の時間差Δｔは（２）の場合と同様に式５を満たすので、式５及び式１９から、補間対象キーフレームＩｉのＰＴＳコード（ＰＴＳｉ）は、補間基準フレームＰ０のＰＴＳコード（ＰＴＳ０）を用いて以下のように表すことができる。（式２０と称する。）
ＰＴＳｉ＝ＰＴＳ０＋（Ｎ（｛Ｂ｝）＋１）×Ｔ
一方、ビデオエレメンタリストリームの並びにおいて、補間基準フレームＰ０から時間軸の正の方向に向かって補間対象キーフレームＩｉよりも後に最初に出現するＩ又はＰピクチャフレームまでのフレーム数をｍとすると、図１１から明らかなように以下のような関係式が成り立つ。（以下、式２１と称する。）
2004357267.tif 000011
ビデオエレメンタリストリームの並びにおいて、補間基準フレームＰ０から時間軸の正の方向に向かって最初に出現するＩピクチャフレームまでのフレーム数をｎとすると、図１１から明らかなように以下のような関係式が成り立つ。（以下、式２２と称する。）
ｎ＝Ｎ（｛Ｂ｝’）＋１
式２１及び式２２から以下の関係式が成り立つ。（以下、式２３と称する。）ｍ−ｎ＝Ｎ（｛Ｂ｝）＋１
式２０に式２３を代入することにより、以下のような関係式が成り立つ。（以下、式２４と称する。）
ＰＴＳｉ＝ＰＴＳ０＋（ｍ−ｎ）×Ｔ
式２４は式１６と同一の式である。
【００６３】
上述の（３−１）と（３−２）の計算結果をまとめると、Ｐｔ＝Ｐの場合、図１３に示したように、補間基準フレームから時間軸の正の方向に向かって最初に出現するＩ又はＰピクチャフレームまでの出力フレーム数（ｎ）と、補間基準フレームから補間対象キーフレームの後に最初に出現するＩ又はＰピクチャフレームまでの出力フレーム数（ｍ）とをカウントすることにより、補間基準フレームのＰＴＳコード（ＰＴＳ０）とカウントされた２つの出力フレーム数（ｎ、ｍ）とに基づいて、補間対象キーフレームのＰＴＳコード（ＰＴＳｉ）を式１６（式２４）により補間することができる。
【００６４】
以上のように、本発明のＭＰＥＧ動画再生装置では、任意の途中シーク位置が再生開始位置として指定された場合でも、フレーム数とＰＴＳコードの関係に基づいてＰＴＳコードを持たないキーフレームに対してＰＴＳコードを補間しながら動作するので、指定された途中シーク位置から再生を開始する特殊再生処理を容易に実行することができる。
【００６５】
また、上述の（１）〜（３）のＰＴＳコード補間処理に基づく本発明の特殊再生処理は、指定された途中シーク位置以降、各ビデオフレームに対するデコード処理は必要なく、ピクチャタイプの検索とフレーム数のカウントのみを行えばよいので、上述した従来の特殊再生処理と比べて、一定期間内に必要される演算処理量が少なく、処理のためにバッファリングされるデータ量も少ない。
【００６６】
このため、本発明の特殊再生処理は、低速サイクル動作の演算装置及び少ないメモリ容量で実行することができ、このためコンパクトなリソース構成しか備えない組み込み機器においても十分実行可能なものである。
【００６７】
図１４は、上記説明した本発明の特殊再生処理を実行する組み込み機器向け動画再生装置の構成例を示す図である。図中、８は全体制御モジュール、９はＭＰＥＧデコーダエンジンモジュール、１０は通常再生モジュール、１１は特殊再生モジュール、１２はキーフレーム検索・１フレームデコードモジュール、１３は入出力デバイス制御モジュール、１４はタイマ制御モジュールである。
【００６８】
図３に示したＭＰＥＧ動画再生装置２は、図１４に示した複数のモジュールから構成され、各モジュールは以下のような機能を有する。
【００６９】
全体制御モジュール８はＭＰＥＧ動画再生装置２の全体を制御し、ＭＰＥＧ動画再生装置２内の各モジュール９〜１４の動作の制御を行うとともに、図３に示したメモリ装置３の管理を行う。
【００７０】
通常再生モジュール１０は、ＩＳＯ規格準拠のＭＰＥＧデコーダエンジンモジュール９を呼び出し、それによってＭＰＥＧデコーダエンジンモジュール９と協働して、入力されたＭＰＥＧ動画データに対してデコード処理を行う通常再生処理を行う。
【００７１】
本発明の通常再生処理は、ＭＰＥＧ動画データのストリームの先頭から各々のビデオフレーム及びオーディオフレームを順次デコードしていく処理であり、従来の汎用ＭＰＥＧ動画再生装置と同様に、ＩＳＯ制御コードが任意の構成をもつストリームを再生するものである。
【００７２】
このとき、通常再生モジュール１０はデコードの結果得られた映像データ及び音声データを、それらのフレームに付与された時刻情報（ＰＴＳコード）に基づいて同期出力制御を行いながら出力する。
【００７３】
特殊再生モジュール１１は、キーフレーム検索・１フレームデコードモジュール１２及びＭＰＥＧデコーダエンジンモジュール９を呼び出し、それによってストリームの任意の途中シーク位置から再生を実行する特殊再生処理を行う。この特殊再生にはコマ送りや巻き戻しといった再生動作も含まれる。
【００７４】
このとき、特殊再生モジュール１１は、ストリームの途中シーク位置から時間軸の正の方向に向かって検索して最初に出現する、ＰＴＳコードが付与されていないキーフレームを検索し、検索したキーフレームに対して１フレームのみのデコード処理を行うとともにＰＴＳコードの補間処理を行う。特殊再生処理及びＰＴＳコードの補間処理の詳細については上述したとおりである。
【００７５】
キーフレーム検索・１フレームデコードモジュール１２は、ＭＰＥＧ動画データのストリームを解析し、任意の途中シーク位置から時間軸の正の方向に向かってビデオエレメンタリストリーム内に含まれるビデオフレームのピクチャタイプのみを検索する。
【００７６】
キーフレーム検索・１フレームデコードモジュール１２は、最初に出現する、単独のフレームで正常なデコード処理が可能なキーフレームを検索するとともに、デコード処理を行うことなく上述のＰＴＳ補間処理のために必要なピクチャタイプのビデオフレームまでスキップ処理を行い、上記途中シーク位置からスキップしたフレーム数をカウントする。
【００７７】
キーフレーム検索・１フレームデコードモジュール１２は、ＭＰＥＧデコーダエンジンモジュール９を呼び出すことにより、検索したキーフレームに対して１フレームのみのデコード処理を行う。
【００７８】
すなわち、本発明のキーフレーム検索・１フレームデコードモジュール１２では、ビデオフレームのピクチャタイプの検索のみを行い、各ビデオフレームに対するデコード処理は行わず、フレーム数の単純なカウンタ機能を持たせたのみである。
【００７９】
従って、本発明のＭＰＥＧ動画再生装置は、不要なデコード処理やバッファリングを行わないため、低速サイクル動作の演算装置及び少ないメモリ容量で実現可能であり、このためコンパクトなリソース構成しか備えない組み込み機器においても十分実現可能なものである。
【００８０】
ＭＰＥＧデコーダエンジンモジュール９はＩＳＯ規格に準拠したＭＰＥＧデコーダのエンジンモジュールである。ＭＰＥＧデコーダエンジンモジュール９はＭＰＥＧ動画データのストリームを解析し、それによってＰＴＳコードなどの各種の制御情報（ＩＳＯ制御コード）を取得し、取得した制御情報に基づいてＭＰＥＧ動画データのデコード処理を行う。ＭＰＥＧデコーダエンジンモジュール９はＩＳＯ制御コードが任意の構成を有するストリームをデコード可能にする。
【００８１】
ＭＰＥＧデコーダエンジンモジュール９は、デコードの結果得られた映像データ及び音声データを、図３に示したディスプレイやスピーカなどの出力装置６に対して、それぞれ対応した所定のデータ形式に変換して出力する。
【００８２】
入出力デバイス制御モジュール１３は入力デバイス及び出力デバイスに対するデバイスドライバであり、図３に示した入出力装置５の制御を行う。
【００８３】
タイマ制御モジュール１４はＭＰＥＧ動画再生装置２の時間管理を行うモジュールであり、Ｒｅａｌ  Ｔｉｍｅ  ＯＳ又は演算装置の提供するタイマ機構に基づいて動作する。
【００８４】
図１５は本発明のＭＰＥＧ動画再生装置の全体の制御フローを示す図である。以下に、図１５を用いて本発明のＭＰＥＧ動画再生装置の制御フローの一例を説明する。
【００８５】
ＭＰＥＧ動画データの再生処理が開始されると、全体制御モジュール８は、ステップＳ１でメモリ装置３内のバッファ４においてリソース（データ格納領域、作業領域等）の確保を行うとともに、ステップＳ２でバッファ４内の基本設定情報（バッファ内での入出力データの格納先を示す情報や、格納されたデータの有効／無効を示す情報など）を初期化する。
【００８６】
ステップＳ３で全体制御モジュール８は、ＭＰＥＧ動画再生処理の全体の状態監視を行う。ステップＳ３において、通常再生処理や特殊再生処理といった再生処理機能を呼び出す場合はステップＳ４に進み、再生処理を終了させる場合はステップＳ８へと進む。
【００８７】
ステップＳ４では所望の再生処理機能を呼び出すために更にステップＳ５へ進むとともに、再生処理の状態監視を行うためにステップＳ６へと進む。更に、ステップＳ４で全体制御モジュール８は、バッファ４内の再生状態指示情報への設定を行う。
【００８８】
再生状態指示情報には、再生処理の実行／停止リクエストを指示する情報や、特殊再生処理において再生を開始する途中シーク位置のスキップの間隔及び回数を指定する情報等が含まれる。再生状態指示情報は各々の再生処理を行う場合に参照される指示情報を含む。
【００８９】
ステップＳ５で全体制御モジュール８は指定された再生処理に応じて所定の再生処理機能を呼び出す。全体制御モジュール８は、通常再生処理を行う場合には通常再生モジュール１０（通常再生処理機能）を呼び出し、特殊再生処理を行う場合には特殊再生モジュール１１（特殊再生処理機能）を呼び出す。
【００９０】
呼び出された通常再生モジュール１０は、ＩＳＯ規格準拠のＭＰＥＧデコーダエンジンモジュール９を呼び出すことにより、バッファ４内の再生状態指示情報を参照しながら上述の通常再生処理を行う。呼び出された特殊再生モジュール１０は、キーフレーム検索・１フレームデコードモジュール１２及びＭＰＥＧデコーダエンジンモジュール９を呼び出すことにより、バッファ４内の再生状態指示情報を参照しながら上述の特殊再生処理を行う。
【００９１】
呼び出されたＭＰＥＧデコーダエンジンモジュール９は、再生処理時にストリームの解析及びデコード処理を行うことで得られた情報を、ストリーム情報、デコード情報及びエラー情報等からなる情報デーブルとしてバッファ４内に格納する。
【００９２】
ステップＳ６で全体制御モジュール８は、バッファ４内の情報テーブルの各種情報や、リモートコントローラなどの外部指示装置からの指示を参照しながら、再生処理の状態監視を行う。呼び出した所定の再生処理機能が終了した場合や外部指示装置から特定の指示があった場合にはステップＳ３に戻り、それ以外はステップＳ７に進む。
【００９３】
ステップＳ７で全体制御モジュール８は、ステップＳ７での状態監視の結果に基づいてバッファ４内の再生状態指示情報を更新させる。更新処理終了後、ステップＳ６に戻る。
【００９４】
ステップＳ８で全体制御モジュール８は、バッファ４内に格納した各情報を無効化する処理を行う。例えば、バッファ４内に格納されたデータがすべて無効であることを示す制御情報をバッファ４内の所定の領域に格納することにより、無効化処理を行う。
【００９５】
ステップＳ９で全体制御モジュール８は、メモリ装置３内のバッファ４においてリソースの開放を行い、ＭＰＥＧ動画データの再生処理が終了する。
【００９６】
図１６は本発明のＭＰＥＧ動画再生装置の特殊再生処理のフローの例を示す図である。図１５のステップＳ５で特殊再生処理機能が呼び出された場合に、図１６で示した処理フローが実行される。図１６で示した処理では、現在デコード処理を行っている位置から次の途中シーク位置へのスキップ処理を用いた特殊再生処理（スキップ再生処理）が行われる。
【００９７】
特殊再生処理が開始されると、ステップＳ１１で特殊再生モジュール１１は、バッファ４内の再生状態指示情報に含まれるスキップ回数情報を参照することにより特殊再生処理を継続するか否かを判断する。現在までの全スキップ回数がスキップ回数情報で指定されたスキップ回数よりも少なく、特殊再生処理を継続する場合はステップＳ１２へ進み、現在までの全スキップ回数がスキップ回数情報で指定されたスキップ回数に等しい場合は特殊再生処理を終了する。
【００９８】
ステップ１２で特殊再生モジュール１１は、バッファ４内の再生状態指示情報に含まれるスキップ間隔情報（後述のステップＳ１４で補正が行われた場合は補正されたスキップ間隔に基づくスキップ間隔情報）を参照し、スキップ間隔情報で指定されたスキップ間隔に基づいて現在のデコード位置から次の途中シーク位置までの間隔（現在のシーク位置からオフセット）を設定し、現在のデコード位置からスキップ間隔だけ離れた位置を次に再生を開始する途中シーク位置を指定する。
【００９９】
ステップ１３で特殊再生モジュール１１は、バッファ４内の再生状態指示情報を参照しながら、ステップ１２で決定された途中シーク位置において、キーフレームの検索、及び検索されたキーフレームに対するデコード処理及びＰＴＳコード補間処理を行う。
【０１００】
特殊再生モジュール１１は、キーフレーム検索・１フレームデコードモジュール１２及びＭＰＥＧデコーダエンジンモジュール９を呼び出すことによりストリームを解析し、ステップ１２で決定された途中シーク位置から時間軸の正の方向に向かって最初に出現するキーフレーム（Ｉピクチャフレーム）を検索し、検索したキーフレームに対して１フレームのみのデコード処理を行う。
【０１０１】
同時に、特殊再生モジュール１１は、キーフレーム検索・１フレームデコードモジュール１２及びＭＰＥＧデコーダエンジンモジュール９を呼び出すことによりストリームを解析し、検索したキーフレームに対してＰＴＳコードの補間処理を行う。ＰＴＳコードの補間処理の詳細については上述したとおりである。
【０１０２】
以上のように、ステップ１３において、ステップ１２で指定された途中シーク位置から時間軸の正の方向に向かって最初に出現するキーフレームに対して再生処理が行われる。特殊再生モジュール１１は、ストリームの解析及びデコード処理を行うことで得られた情報を、ストリーム情報、デコード情報及びエラー情報等からなる情報デーブルとしてバッファ４内に格納する。
【０１０３】
ステップＳ１４で特殊再生モジュール１１は、バッファ４内の情報テーブルを参照しながら、必要に応じてスキップ間隔情報で指定されたスキップ間隔に対して補正を行う。補正されたスキップ間隔を新たなスキップ間隔情報として、ステップＳ１１に戻る。
【０１０４】
ここで、特殊再生処理が、ストリーム中の任意の途中シーク位置から再生を開始し、その途中シーク位置以降は連続するビデオフレーム及びオーディオフレームを順次デコードしていく処理の場合には、上述の現在のデコード位置はストリームの先頭位置とし、スキップ間隔はストリームの先頭位置から途中シーク位置までの間隔とし、スキップ回数は１回と設定すればよい。
【０１０５】
一方、特殊再生処理が、図１７に示したコマ送り及び巻き戻しといった処理の場合には、上述の現在のデコード位置は現在デコード対象となっているフレームの位置とし、スキップ間隔及びスキップ回数は全体制御モジュール８が指定する所定の間隔及び回数に設定する。
【０１０６】
図１７は本発明のＭＰＥＧ動画再生装置におけるコマ送り及び巻き戻しの特殊再生処理を説明するための図である。
【０１０７】
図１７のコマ送り（早送り）再生処理の場合には、現在のキーフレーム（Ｉピクチャフレーム）の位置から時間軸の正方向に向かって、全体制御モジュール８が指定する所定のスキップ間隔（正のオフセット）だけ離れたシーク位置において、キーフレーム検索・１フレームデコードモジュールを呼び出し、そのシーク位置から時間軸の正方向に向かってキーフレームの検索を行うとともに、検索したキーフレームに対して上述のＰＴＳコードの補間処理を行う。
【０１０８】
図１７の巻き戻し再生処理の場合には、現在のキーフレーム（Ｉピクチャフレーム）の位置から時間軸の負方向に向かって、全体制御モジュールが指定する所定のスキップ間隔（負のオフセット）だけ離れたシーク位置において、キーフレーム検索・１フレームデコードモジュールを呼び出し、そのシーク位置から時間軸の正方向に向かってキーフレームの検索を行うとともに、検索したキーフレームに対して上述のＰＴＳコードの補間処理を行う。
【０１０９】
以上の処理は図１６のステップＳ１２及びＳ１３に対応し、これらの処理を繰り返し行うことにより、時間軸の正又は負の方向に向かって、ストリーム中のキーフレームのみを順次選択的に出力していく。これにより、コマ送り（早送り）再生及び巻き戻し再生が実行される。
【０１１０】
尚、キーフレーム検索・１フレームデコードモジュールは、ストリームの範囲を越えた場合（ＥＯＦなど）、あるいは時間軸の負の方向のオフセットを指定して得られたシーク位置から正の方向に向かって検索した結果、オフセットを指定する前の位置に戻った場合はエラーを返す仕様をもつため、実際にはこの結果に基づいてスキップ間隔を補正しながら動作させる必要がある。この処理は図１８のステップ１４に対応する。
【０１１１】
図１８は、本発明に基づくＭＰＥＧ動画再生装置（ソフトウェア）と、従来のＭＰＥＧ動画再生装置Ａ（パーソナルコンピュータなどで実現される汎用ＭＰＥＧ動画再生装置）、従来のＭＰＥＧ動画再生装置Ｂ（組み込み機器に実現される特定ストリーム用ＭＰＥＧ動画再生装置）について、各々の機能及び利用する環境資源（演算装置、メモリ装置）を対比させて示した図である。
【０１１２】
図１８から明らかなように、本発明のＭＰＥＧ動画再生装置においては、上述のＰＴＳコードの補間処理を用いることによって、コンパクトな環境資源（低サイクル動作の演算装置および少ないメモリ空間）により、様々なＩＳＯ制御コードの構成を有する任意のストリームに対応した汎用のＭＰＥＧ動画再生装置を実現することができるとともに、任意のＭＰＥＧ動画データに対する特殊再生処理を実現することが可能になる。
【０１１３】
尚、上記説明した本発明のＭＰＥＧ動画再生装置は、ハードウェアによって実現することができるとともに、ソフトウェア（プログラム）によっても実現することができるものである。
【０１１４】
以下に、本発明を付記としてまとめる。
（付記１）
複数のフレームから構成される動画データのストリームが入力されて、前記動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生装置であって、
前記ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、前記第１のフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間する時刻情報補間処理部を備えたことを特徴とする動画再生装置。
（付記２）
前記キーフレームは単独のフレームで正常なデコード処理が可能なフレームであることを特徴とする付記１記載の動画再生装置。
（付記３）
前記時刻情報補間処理部は、前記第１のフレームの時刻情報と前記カウントされたフレーム数と前記フレーム間のインターバル時間とに基づいて前記キーフレームの時刻情報を補間することを特徴とする付記１記載の動画再生装置。
（付記４）
通常再生処理部及びデコーダエンジン部を更に有し、
前記通常再生処理部は、前記デコーダエンジン部を呼び出すことにより、前記動画データに対して前記ストリームの先頭から各々のフレームを順次デコードしていく通常再生処理を行うことを特徴とする付記１記載の動画再生装置。
（付記５）
前記通常再生処理は前記時刻情報の補間を行わないことを特徴とする付記４記載の動画再生装置。
（付記６）
特殊再生処理部、キーフレーム検索・１フレームデコード部及びデコーダエンジン部を更に有し、
前記特殊再生処理部は、前記キーフレーム検索・１フレームデコード部、前記デコーダエンジン部及び前記時刻情報補間処理部を呼び出すことにより、前記途中シーク位置から時間軸の正の方向に向かって検索して最初に出現する、前記時刻情報が付与されていない前記キーフレームに対して、前記時刻情報を補間しながら、１フレームのみのデコード処理を行うことを特徴とする付記１記載の動画再生装置。
（付記７）
前記キーフレーム検索・１フレームデコード部は、前記ストリームを解析し、前記途中シーク位置から時間軸の正の方向に向かって前記フレームのピクチャタイプのみを検索して最初に出現するキーフレームを検索するとともに、
デコード処理を行うことなく前記時刻情報の補間のために必要なピクチャタイプのフレームまでスキップ処理を行い、前記途中シーク位置からスキップしたフレーム数をカウントすることを特徴とする付記６記載の動画再生装置。
（付記８）
前記キーフレーム検索・１フレームデコード部は、前記デコーダエンジン部を呼び出すことにより、前記検索したキーフレームに対して１フレームのみのデコード処理を行うことを特徴とする付記７記載の動画再生装置。
（付記９）
前記動画データはＭＰＥＧ動画データであり、
前記キーフレームはＩピクチャフレームであり、
前記時刻情報はＰＴＳコードであることを特徴とする付記１記載の動画再生装置。
（付記１０）
前記第１のフレームがＩピクチャフレームである場合には、
前記時刻情報補間処理部は前記キーフレームの時刻情報の補間を行わないことを特徴とする付記９記載の動画再生装置。
（付記１１）
前記第１のフレームがＢピクチャフレームである場合には、
前記第２のフレームはＩピクチャフレーム又はＰピクチャフレームであり、
前記時刻情報補間処理部は、最初に出現する前記時刻情報が付与されたＢピクチャフレームから、前記キーフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでのフレーム数をカウントし、前記Ｂピクチャフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間することを特徴とする付記９記載の動画再生装置。
（付記１２）
前記第１のフレームがＰピクチャフレームである場合には、
前記第２のフレームはＩピクチャフレーム又はＰピクチャフレームであり、
前記時刻情報補間処理部は、最初に出現する前記時刻情報が付与されたＰピクチャフレームから、前記キーフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでの第１のフレーム数をカウントするとともに、
最初に出現する前記時刻情報が付与されたＰピクチャフレームから、前記時刻情報が付与されたＰピクチャフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでの第２のフレーム数をカウントし、
前記Ｐピクチャフレームの時刻情報と前記カウントされた第１のフレーム数及び第２のフレーム数とに基づいて、前記キーフレームの時刻情報を補間することを特徴とする付記９記載の動画再生装置。
（付記１３）
前記第１のフレームがＰピクチャフレームであって、前記第１のフレームと前記キーフレームの間に少なくとも１つのＰピクチャフレームが存在する場合には、
前記第２のフレームはＩピクチャフレーム又はＰピクチャフレームであり、
前記時刻情報補間処理部は、最初に出現する前記時刻情報が付与されたＰピクチャフレームから、前記キーフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでの第１のフレーム数をカウントするとともに、
最初に出現する前記時刻情報が付与されたＰピクチャフレームから、次に出現するＰピクチャフレームまでの第２のフレーム数をカウントし、
前記Ｐピクチャフレームの時刻情報と前記カウントされた第１のフレーム数及び第２のフレーム数とに基づいて、前記キーフレームの時刻情報を補間することを特徴とする付記９記載の動画再生装置。
（付記１４）
前記第１のフレームがＰピクチャフレームであって、前記第１のフレームと前記キーフレームの間に１つもＰピクチャフレームが存在しない場合には、
前記第２のフレームはＩピクチャフレーム又はＰピクチャフレームであり、
前記時刻情報補間処理部は、最初に出現する前記時刻情報が付与されたＰピクチャフレームから、前記キーフレームの後に最初に出現するＩピクチャフレーム又はＰピクチャフレームまでの第１のフレーム数をカウントするとともに、
最初に出現する前記時刻情報が付与されたＰピクチャフレームから前記キーフレームまでの第２のフレーム数をカウントし、
前記Ｐピクチャフレームの時刻情報と前記カウントされた第１のフレーム数及び第２のフレーム数とに基づいて、前記キーフレームの時刻情報を補間することを特徴とする付記９記載の動画再生装置。
（付記１５）
現在のデコード位置からスキップ間隔情報で指定された所定のスキップ間隔だけ離れた位置を前記途中シーク位置として、前記キーフレームの検索を行うとともに、前記検索されたキーフレームの時刻情報を補間することにより、前記キーフレームを選択的に出力するスキップ再生処理を行うスキップ再生処理部を更に備えたことを特徴とする付記１記載の動画再生装置。
（付記１６）
前記スキップ再生処理部は、前記スキップ再生処理を繰り返す回数を示すスキップ回数を指定するスキップ回数情報に基づいて、前記途中シーク位置を順次変化させながら前記スキップ再生処理を繰り返し行うことを特徴とする付記１５記載の動画再生装置。
（付記１７）
前記スキップ再生処理が、前記ストリーム中の所定の途中シーク位置から再生を開始し、前記途中シーク位置以降は連続する動画データのフレームを順次デコードしていく処理である場合には、
前記現在のデコード位置は前記ストリームの先頭位置であり、前記スキップ間隔は前記ストリームの先頭位置から前記途中シーク位置までの間隔であり、前記スキップ回数は１回であることを特徴とする付記１６記載の動画再生装置。
（付記１８）
前記スキップ再生処理が、コマ送り再生処理の場合には、
現在のデコード位置は現在のキーフレームであり、前記スキップ間隔は正のオフセットであり、
前記スキップ再生処理部は、現在のキーフレームの位置から前記正のオフセットだけ離れたシーク位置を前記途中シーク位置として、前記キーフレームの検索を行うとともに、前記検索されたキーフレームの時刻情報を補間する処理を複数回繰り返し行うことにより、前記キーフレームのみを選択的に順次出力することを特徴とする付記１６記載の動画再生装置。
（付記１９）
前記スキップ再生処理が、巻き戻し再生処理の場合には、
現在のデコード位置は現在のキーフレームであり、前記スキップ間隔は負のオフセットであり、
前記スキップ再生処理部は、現在のキーフレームの位置から前記負のオフセットだけ離れたシーク位置を前記途中シーク位置として、前記キーフレームの検索を行うとともに、前記検索されたキーフレームの時刻情報を補間する処理を複数回繰り返し行うことにより、前記キーフレームのみを選択的に順次出力することを特徴とする付記１６記載の動画再生装置。
（付記２０）
複数のフレームから構成される動画データのストリームを入力し、前記動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生方法であって、
前記ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、前記第１のフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間する時刻情報補間処理工程を備えたことを特徴とする動画再生方法。
（付記２１）
複数のフレームから構成される動画データのストリームを入力し、前記動画データをフレームごとにデコードし、各フレームに付与された時刻情報に基づいて前記デコードされた動画データを同期出力する動画再生処理をコンピュータに実行させるコンピュータプログラムであって、
前記ストリーム中の所定の途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与された第１のフレームから、前記途中シーク位置から時間軸の正の方向に向かって最初に出現する前記時刻情報が付与されていないキーフレームの後に最初に出現する第２のフレームまでのフレーム数をカウントし、前記第１のフレームの時刻情報と前記カウントされたフレーム数とに基づいて、前記キーフレームの時刻情報を補間する時刻情報補間処理工程を備えたことを特徴とする動画再生のためのコンピュータプログラム。
【０１１５】
【発明の効果】
本発明によれば、ＭＰＥＧ動画データのＩＳＯ制御コードの形態によらず、任意のＩＳＯ制御コードを有するＭＰＥＧ動画データのストリームを、低サイクル動作の演算装置及び少ないメモリ容量のコンパクトな構成で再生することができるため、低消費電力動作の汎用ＭＰＥＧ動画再生装置を実現することが可能になるという効果を奏し、係る動画再生装置の性能向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】従来の組み込み機器用ＭＰＥＧ動画再生装置の概略を説明するための図
【図２】従来の汎用ＭＰＥＧ動画再生装置の概略を説明するための図、
【図３】本発明の組み込み機器向けＭＰＥＧ動画再生装置を実現するための機器の構成例を示す図、
【図４】ＭＰＥＧ動画データの構成を説明するための図、
【図５】ビデオエレメンタリストリーム内のビデオフレームの並びを示す図、
【図６】映像データと音声データをＰＳＴコードに基づいて同期出力させる際の制御方法を説明するための図、
【図７】補間基準フレームがＢピクチャフレームの場合のピクチャタイプの並びを示す図、
【図８】補間基準フレームがＢピクチャフレームの場合のピクチャタイプの並び順とビデオフレームの実際の出力順を示す図、
【図９】補間基準フレームがＰピクチャフレームの場合のピクチャタイプの第１の並びを示す図、
【図１０】補間基準フレームがＰピクチャフレームの場合のピクチャタイプの第２の並びを示す図、
【図１１】補間基準フレームがＰピクチャフレームの場合のピクチャタイプの第１の並び順とビデオフレームの実際の出力順を示す図、
【図１２】補間基準フレームがＢピクチャフレームの場合のピクチャタイプの第２の並び順とビデオフレームの実際の出力順を示す図、
【図１３】補間基準フレームがＢピクチャフレームの場合の一般化されたＰＴＳコードの補間方法を説明するための図、
【図１４】本発明の特殊再生処理を実行する組み込み機器向け動画再生装置の構成例を示す図、
【図１５】本発明のＭＰＥＧ動画再生装置の全体の制御フローを示す図、
【図１６】本発明のＭＰＥＧ動画再生装置の特殊再生処理のフローの例を示す図、
【図１７】本発明のコマ送り及び巻き戻しの特殊再生処理を説明するための図、
【図１８】本発明のＭＰＥＧ動画再生装置と従来のＭＰＥＧ動画再生装置の機能及び利用する環境資源を対比させて示した図
【符号の説明】
１            演算装置、
２            ＭＰＥＧ動画再生装置、
３            メモリ装置、
４            バッファ、
５            入出力装置、
６            出力装置、
７            ＭＰＥＧ動画生成装置、
８            全体制御モジュール
９            ＭＰＥＧデコーダエンジンモジュール
１０        通常再生モジュール
１１        特殊再生モジュール、
１２        キーフレームサーチ・１フレームデコードモジュール、
１３        入出力デバイス制御モジュール、
１４        タイマ制御モジュール
【図１】
2004357267.tif 000012
【図２】
2004357267.tif 000013
【図３】
2004357267.tif 000014
【図４】
2004357267.tif 000015
【図５】
2004357267.tif 000016
【図６】
2004357267.tif 000017
【図７】
2004357267.tif 000018
【図８】
2004357267.tif 000019
【図９】
2004357267.tif 000020
【図１０】
2004357267.tif 000021
【図１１】
2004357267.tif 000022
【図１２】
2004357267.tif 000023
【図１３】
2004357267.tif 000024
【図１４】
2004357267.tif 000025
【図１５】
2004357267.tif 000026
【図１６】
2004357267.tif 000027
【図１７】
2004357267.tif 000028
【図１８】
2004357267.tif 000029