(57)【要約】【課題】フレーム間符号化された映像信号の特殊再生においてより滑らかな映像再生を実現する。【解決手段】映像再生装置１００において、実時間より高速なデコード処理を行えるＣＰＵ１１１は、記録媒体１２２から読み出されてメモリ１１２に書き込まれたストリームを読み、ＣＰＵ１１１の負荷が空いた時間に現在再生しているフレーム時点の周辺に位置するフレームデータを復号してメモリ１１２に書き込む。制御プロセッサ１３１は、再生すべきフレームデータがメモリ１１２にある場合はそれを用いて復号処理や再生処理を行う。【選択図】  図１
2004350152.tif 000002
【特許請求の範囲】
【請求項１】
連続的に配置されたフレームデータを有する映像信号が符号化された状態で記録された記録媒体から前記映像信号を読み出して復号して再生する映像再生装置であって、
各フレーム時間において、次の再生フレームの復号開示時点までの間に処理有余時間が残存する場合に、その処理有余時間に当該フレーム時間での再生で必要となるフレームデータ以外の他のフレームデータを復号する復号器と、
前記復号器が復号した前記他のフレームデータを記憶する記憶器と、
を有し、
各フレーム時間において、そのフレーム時間での復号や再生で必要となる前記他のフレームデータが前記記憶器に存在している場合は、当該他のフレームデータを前記記憶器から読み出し、読み出した当該他のフレームデータを優先的に用いて各フレーム時間の復号や再生を行う、
ことを特徴とする映像再生装置。
【請求項２】
前記記憶器は、前記復号器が復号した全てのフレームデータを記憶するものである、
ことを特徴とする請求項１に記載の映像再生装置。
【請求項３】
前記復号器は、前記記憶器が記憶している前記他のフレームデータの一覧を作成する手段と、
現在の再生フレーム時点と現在の再生速度とに基づいて、現在の再生フレーム時点からある一定の時間内に再生される可能性の高いフレームを復号対象フレームとして選択する手段と、
を有し、
かつ、当該復号器は、
前記一覧の検索に基づいて、前記復号対象フレームの復号で必要となるフレームデータのうち前記記憶器が記憶していないフレームデータを前記他のフレームデータとして特定し、特定した前記他のフレームデータの復号を前記処理有余時間に行うものである、
ことを特徴とする、請求項１または２に記載の映像再生装置。
【請求項４】
前記復号器は、前記記憶器の記憶領域が前記他のフレームデータで充満すると、以後のフレーム時間における復号で用いられる可能性が低い他のフレームデータを検索して前記記憶器から消去するものである、
ことを特徴とする請求項１ないし３のいずれかに記載の映像再生装置。
【請求項５】
前記映像信号は、フレーム間予測符号化された映像信号であり、
前記復号器は、各フレーム時間でフレームデータを復号する際に用いられる予測参照フレームデータを、前記他のフレームデータとして前記処理有余時間に復号するものである、
ことを特徴とする請求項１ないし４のいずれかに記載の映像再生装置。
【請求項６】
前記復号器は、
各フレーム時間で前記フレームデータを復号する際に、前記予測参照フレームデータに相当する前記他のフレームデータが前記記憶器に存在するか否かを判定する手段をさらに有し、
前記予測参照フレームデータに相当する前記他のフレームデータが前記記憶器に存在すると前記判定手段が判定する場合、前記記憶器から前記予測参照フレームデータに相当する前記他のフレームデータを読み出し、読み出した前記他のフレームデータを優先的に用いて各フレーム時間の復号や再生を行う、
ことを特徴とする請求項５に記載の映像再生装置。
【請求項７】
前記記憶器は、符号化ストリームにおける前記他のフレームデータの位置情報を、当該他のフレームデータに対応させて記憶するものである、
ことを特徴とする請求項５または６に記載の映像再生装置。
【請求項８】
前記復号器は、
各フレームの再生において実施される復号の回数と、単一フレームを復号するのに要する平均復号処理時間とに基づいて各再生フレームの復号が再生フレームの表示時刻に間に合うか否かを判定する手段と、
再生フレームの復号が再生フレームの表示時刻に間に合わないと前記判定手段が判定する場合には、再生フレームに近い時刻値を有しかつ復号が前記表示時刻に間に合う代替フレームを選択する手段と、
をさらに有し、
かつ、当該復号器は、
再生フレームの復号が再生フレームの表示時刻に間に合わないと前記判定手段が判定する場合には、前記選択手段が選択した前記代替フレームのフレームデータを用いて再生フレームの復号を行うものである、
ことを特徴とする請求項５ないし７のいずれかに記載の映像再生装置。
【請求項９】
連続的に配置されたフレームデータを有する映像信号が符号化された状態で記録された記録媒体から前記映像信号を読み出して復号して再生する映像再生方法であって、
各フレーム時間において、次の再生フレームの復号開始時点までの間に処理有余時間が残存する場合に、その処理有余時間に当該フレーム時間での再生で必要となるフレームデータ以外の他のフレームデータを復号して所定の記憶先に記憶し、
各フレーム時間において、そのフレーム時間での複合や再生で必要となる前記他のフレームデータが前記記憶先に存在している場合は、当該他のフレームデータを前記記憶先から読み出し、読み出した当該他のフレームデータを優先的に用いて各再生フレーム時点の復号や再生を行う、
ことを特徴とする映像再生方法。
【請求項１０】
復号した全てのフレームデータを前記記憶先に記憶する、
ことを特徴とする請求項９に記載の映像再生方法。
【請求項１１】
記憶中の前記他のフレームデータの一覧を作成し、
現在の再生フレーム時点と現在の再生速度とに基づいて、現在の再生フレーム時点からある一定の時間内に再生される可能性の高いフレームを復号対象フレームとして選択し、
前記一覧の検索に基づいて、前記復号対象フレームの復号で必要となるフレームデータのうち前記記憶先が記憶していないフレームデータを前記他のフレームデータとして特定し、
特定した前記他のフレームデータの復号を前記処理有余時間に行う、
ことを特徴とする請求項９または１０に記載の映像再生方法。
【請求項１２】
前記記憶先が前記他のフレームデータにより充満すると、以後のフレーム時間における復号に用いられる可能性が低い他のフレームデータを検索して前記記憶先から消去する、
ことを特徴とする請求項９ないし１１のいずれかに記載の映像再生方法。
【請求項１３】
前記映像信号は、フレーム間予測符号化された映像信号であり、
各フレーム時間でフレームデータを復号する際に用いられる予測参照フレームデータを、前記他のフレームデータとして前記処理有余時間に復号する、
ことを特徴とする請求項９ないし１２のいずれかに記載の映像再生方法。
【請求項１４】
各フレーム時間で前記フレームデータを復号する際に、前記予測参照フレームデータに相当する前記他のフレームデータを、既に前記記憶先で記憶しているか否かを判定し、
前記予測参照フレームデータに相当する前記他のフレームデータを前記記憶先で記憶していると判定する場合、前記記憶先から前記予測参照フレームデータに相当する前記他のフレームデータを読み出し、読み出した前記他のフレームデータを優先的に用いて前記フレームデータの復号や再生を行う、
ことを特徴とする請求項１３に記載の映像再生方法。
【請求項１５】
符号化ストリームにおける前記他のフレームデータの位置情報を、当該他のフレームデータに対応させて記憶する、
ことを特徴とする請求項１３または１４に記載の映像再生方法。
【請求項１６】
各フレームの再生処理において実施される復号処理の回数と、単一フレームを復号するのに要する平均復号処理時間とに基づいて各再生フレームの復号処理が再生フレームの表示時刻に間に合うか否かを判定し、
再生フレームの復号処理が再生フレームの表示時刻に間に合わないと判定する場合には、再生フレームに近い時刻値を有しかつ復号が前記表示時刻に間に合う代替フレームを選択し、選択した前記代替フレームのフレームデータを用いて再生フレームの復号を行う、
ことを特徴とする請求項１３ないし１５のいずれかに記載の映像再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フレーム間予測符号化された映像を光ディスク等の記録媒体から読み出して再生する映像再生装置において、実時間より高速な復号が可能な場合に、より滑らかに映像を表示する特殊再生を行うことのできる映像再生装置に関する。
【０００２】
【従来の技術】
映像のディジタル記録・再生を利用した機器は、家庭用や業務用を問わず増加の一途をたどっている。限られた媒体の容量で長時間記録と高画質化を実現するのは相反する要素であるが、フレーム間符号化をベースとする一連のＭＰＥＧ規格（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＩＳＯ／ＩＥＣ１１１７２−２，ＩＳＯ／ＩＥＣ１３８１８−２，ＩＳＯ／ＩＥＣ１４４９６−２）は圧縮率と画質におけるコストパフォーマンスが高く、ディジタルＴＶ放送やＤＶＤ−Ｖｉｄｅｏ、携帯電話など多くのアプリケーションで採用されている。
【０００３】
ＭＰＥＧに基づく映像符号化では、各フレームを図１９（ａ）に示すような構成で符号化する。符号化タイプには、フレーム内符号化フレーム（以下、Ｉフレームと称す）、フレーム間符号化フレーム（以下、Ｐフレームと称す）およびフレーム内挿符号化フレーム（以下、Ｂフレームと称す）の３種類がある。Ｉフレームは、当該フレームのデータのみを用いて復号が可能なフレームである。また、Ｐフレームは、当該フレーム以前に復号されたＩまたはＰフレームのデータと当該フレームのデータのみを用いて復号が可能なフレームである。Ｂフレームは時間的に前後する２枚のＩまたはＰフレームのデータと当該フレームのデータを用いて復号が可能なフレームである。
【０００４】
Ｂフレームは表示順で後方のフレームを参照するので、図１９（ｂ）に示すように順を入れ替えて符号化する。符号化されたデータは、多くの場合、Ｉフレームから始まるＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）の列として、順にビットストリーム（以下、ストリームと称す）として出力される。ＩフレームとＰフレームのみ符号化する場合は、図２０のようになり、符号化順と表示順は同じとなる。ＭＰＥＧストリームの復号は、ストリームから符号化順でフレームを読込んだ後、符号化順に行われる。映像の出力は、表示順に行われる。
【０００５】
ＭＰＥＧのストリームを、高速再生や逆再生といった特殊再生する際には、大きな困難が伴う。例えば、図２１のようなストリームを読込み、４倍速再生を行う場合を考える。現在がフレーム２のＩフレームであるとして、フレームのインデックスが０〜１４の範囲だけで考えると、フレーム２，６，１０，１４の４フレームを再生すれば、４倍速となる。しかし、図に示すように、各フレームを復号するには予測参照フレームを含めてそれぞれ１，４，５，５回の復号回数が必要となる。これは、１フレーム時間（ＮＴＳＣでは３３ｍｓｅｃ，ＰＡＬでは４０ｍｓｅｃ）において、平均的には（１＋４＋５＋５）／４＝３．７５フレームを復号しなければ滑らかな再生ができないこととなる。
【０００６】
一方、ＬＳＩ等の汎用のＭＰＥＧデコーダ（復号器）は、通常再生（１倍速再生）のためクロックと連動してリアルタイム動作するのが一般的であり、１フレーム時間に１フレームを復号する構成となっている。そのため、ＤＶＤ−Ｖｉｄｅｏ等の早送り再生機能は、Ｉフレームをコマ送りのように表示・更新するものにとどまっている。以上のことから、ＭＰＥＧで符号化された映像を特殊再生するのは困難が伴うことがわかる。
【０００７】
ＭＰＥＧ等のフレーム間予測符号化された映像に対して特殊再生を行う従来の技術としては、非常に多くの特許が出願されている。まず、ハードウェアデコーダをリアルタイム以上の速度で動作させる技術としては、特開平０９−３２２１２１号公報や特許３０３９４１６号がある。前者は、可変長復号、逆量子化、逆ＤＣＴ等を２倍速で行い、実時間より２倍速の復号を行うものであるが、固定倍速であり、特殊再生における柔軟な速度変更を実現できるものではなかった。後者は、複数の復号器出力を利用し、実時間より高速な復号を実現するものであるが、倍速数だけ復号器を用意しなければならない点と、可定長ＧＯＰには対応できない点などの問題点があった。
【０００８】
次に、単一の復号器で効率良く特殊再生を行う方式としては、例えば特許３２５３５３０号のように、Ｐピクチャ間の距離を記録し、Ｉ，Ｐフレームをできるだけ再生するものがある。また、予測参照フレームや復号情報を保存することで検索性能や特殊再生性能を上げる方式として代表的なものに、特開平０７−２０３３５８号公報や特許３０９３７２４号がある。前者はＩ，Ｐフレームを第２媒体に蓄積することで任意位置からの再生を可能としており、後者は逆再生時にＩ，Ｐフレームを保存して復号回数を削減するものであるが、いずれも高速再生を効率良く行うものではなかった。
【０００９】
【特許文献１】
特開平０９−３２２１２１号公報（要約）
【特許文献２】
特許３０３９４１６号（図６）
【特許文献３】
特許３２５３５３０号（００５２）
【特許文献４】
特開平０７−２０３３５８号公報（要約）
【特許文献５】
特許３０９３７２４号（図３）
【００１０】
【発明が解決しようとする課題】
ＭＰＥＧに代表される予測符号化された映像を記録した媒体を特殊再生、特に高速再生を行う場合において、近年急速に進歩しているＣＰＵに代表されるプロセッサに基づいて復号器を構成した場合に実現できるリアルタイム以上の復号速度を想定して、より滑らかに特殊再生を行う手法は提案されていなかった。
【００１１】
本発明は上記従来の問題点を解決するもので、フレーム間予測符号化された映像信号の特殊再生において、実時間より高速な復号動作が可能な場合、ＣＰＵの負荷の空き時間とメモリとを利用し、ＣＰＵの限られた処理能力の中で、特殊再生の演算負荷を低減し、可能な限り原映像に忠実な再生映像を得ることを課題とする。
【００１２】
【課題を解決するための手段】
上記した課題を解決するために、本発明の映像再生装置は、実時間より高速な復号処理を行える復号器と、符号化されたストリームを蓄積した記録媒体と、データを一時保持する記憶器とを有する映像再生装置において、復号器は、記録媒体から読み出されて記憶器に書き込まれたストリームを読み、復号器の負荷が空いた時間に現在再生しているフレームデータの周辺のフレームデータを復号して記憶器に保存する。再生すべきフレームデータが記憶器にある場合はそれを表示し、無い場合は復号器に復号させる。復号器は、記憶器に既に復号された予測参照フレームデータがある場合はそれを利用し、かつ必要な予測参照フレームデータを順に復号して、復号器の限られた処理能力を有効に利用し、特殊再生時の演算負荷を低減し、可能な限り原映像に忠実な再生映像を得ることができる。
【００１３】
具体的には、本発明は、連続的に配置されたフレームデータを有する映像信号が符号化された状態で記録された記録媒体から前記映像信号を読み出して復号して再生する映像再生装置であって、各フレーム時間において、次の再生フレームの復号開示時点までの間に処理有余時間が残存する場合に、その処理有余時間に当該フレーム時間での再生で必要となるフレームデータ以外の他のフレームデータを復号する復号器と、前記復号器が復号した前記他のフレームデータを記憶する記憶器とを有している。そして、各フレーム時間において、そのフレーム時間での復号や再生で必要となる前記他のフレームデータが前記記憶器に存在している場合は、当該他のフレームデータを前記記憶器から読み出し、読み出した当該他のフレームデータを優先的に用いて各フレーム時間の復号や再生を行う。
【００１４】
これにより、通常再生時のように復号における演算負荷が低い時に、現在再生しているフレーム以外のフレームのフレームデータを復号して記憶器に記憶しておくことで、特殊再生時の演算負荷を低減し、可能な限り原映像に忠実な再生映像を得ることを可能とする。
【００１５】
なお、前記記憶器は、前記復号器が復号した全てのフレームデータを記憶するものであるのが好ましい。そうすれば、復号したフレームデータを一旦記憶器に保存することで、逆再生等で同じフレームを再度再生する場合に、記憶器から読み出して復号や再生に用いることで演算負荷を低減することが可能となる。
【００１６】
なお、前記復号器は、前記記憶器が記憶している前記他のフレームデータの一覧を作成する手段と、現在の再生フレーム時点と現在の再生速度とに基づいて、現在の再生フレーム時点からある一定の時間内に再生される可能性の高いフレームを復号対象フレームとして選択する手段とを有しており、かつ、当該復号器は、前記一覧の検索に基づいて、前記復号対象フレームの復号で必要となるフレームデータのうち前記記憶器が記憶していないフレームデータを前記他のフレームデータとして特定し、特定した前記他のフレームデータの復号を前記処理有余時間に行うものであるのが好ましい。そうすれば、現在の再生速度と再生時刻に応じて、将来、再生の可能性が高いフレームデータを復号して記憶器に記憶しておくことで、高速再生等の特殊再生時の演算負荷を低減し、可能な限り原映像に忠実な再生映像を得ることが可能となる。
【００１７】
なお、前記復号器は、前記記憶器の記憶領域が前記他のフレームデータで充満すると、以後のフレーム時間における復号で用いられる可能性が低い他のフレームデータを検索して前記記憶器から消去するものであるのが好ましい。そうすれば、記憶器の記憶容量の範囲内で、可能な限り原映像に忠実な特殊再生を実現することが可能となる。
【００１８】
なお、前記映像信号は、フレーム間予測符号化された映像信号であり、前記復号器は、各フレーム時間でフレームデータを復号する際に用いられる予測参照フレームデータを、前記他のフレームデータとして前記処理有余時間に復号するものであるのが好ましい。そうすれば、復号されたフレームデータを記憶器に記憶しておくことで、復号されたフレームデータの再利用性が高まり、可能な限り原映像に忠実な特殊再生を実現することが可能となる。
【００１９】
なお、前記復号器は、各フレーム時間で前記フレームデータを復号する際に、前記予測参照フレームデータに相当する前記他のフレームデータが前記記憶器に存在するか否かを判定する手段をさらに有し、前記予測参照フレームデータに相当する前記他のフレームデータが前記記憶器に存在すると前記判定手段が判定する場合、前記記憶器から前記予測参照フレームデータに相当する前記他のフレームデータを読み出し、読み出した前記他のフレームデータを優先的に用いて各フレーム時間の復号を行うものであるのが好ましい。そうすれば、復号の際に予測参照フレームが記憶器上に存在する場合における総復号回数が低減し、可能な限り原映像に忠実な特殊再生を実現することが可能となる。
【００２０】
なお、前記記憶器は、符号化ストリームにおける前記他のフレームデータの位置情報を、当該他のフレームデータに対応させて記憶するものであるのが好ましい。そうすれば、他のフレームデータを読み出す際のデータの検索精度と検索速度性とが高まって復号時間が短縮化し、その結果、特殊再生時における原映像に対する再現性がさらに高まる。
【００２１】
なお、前記復号器は、各フレームの再生において実施される復号の回数と、単一フレームを復号するのに要する平均復号処理時間とに基づいて各再生フレームの復号が再生フレームの表示時刻に間に合うか否かを判定する手段と、再生フレームの復号が再生フレームの表示時刻に間に合わないと前記判定手段が判定する場合には、再生フレームに近い時刻値を有しかつ復号が前記表示時刻に間に合う代替フレームを選択する手段とをさらに有し、かつ、当該復号器は、再生フレームの復号が再生フレームの表示時刻に間に合わないと前記判定手段が判定する場合には、前記選択手段が選択した前記代替フレームのフレームデータを用いて再生フレームの復号を行うものであるのが好ましい。そうすれば、復号器の復号能力とフレームの復号に必要な総復号回数を把握し、復号が表示時刻に間に合わない場合には、間に合う代替フレームを出力することで、表示が滑らかに行われる特殊再生を実現することを可能とする。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を図１〜図１８を参照して説明する。
【００２３】
（実施の形態１）
図１は、本発明の映像再生装置を示す図である。図１において、１１０は符号化された映像であるストリームを復号するための復号器、１１１は復号を実施するＣＰＵ、１１２はストリームや復号されたフレームを記憶する記憶器であるメモリ（ＲＡＭ）、１１３はＣＰＵ１１１を動作させるプログラムを初期状態で格納するＲＯＭ、１２１はディスクを駆動するディスクコントローラ、１２２はストリームが記録されている光ディスクドライブ、１３１はディスクコントローラ１２１と復号器１１０とを制御して最適な表示を行う制御プロセッサ、１３２はモニタ等、映像を表示するための表示デバイスである。復号器１１０はＣＰＵ１１１とメモリ１１２とＲＯＭ１１３とにより構成されている。
【００２４】
以上のように構成された映像再生装置において、以下その動作を説明する。映像再生装置の起動前において、予め、本発明による復号を実施するプログラムがＲＯＭ１１３に記録されている。本装置の起動操作により、ＲＯＭ１１３からプログラムがＣＰＵ１１１にロードされることで、ＣＰＵ１１１はストリームの復号が可能となる。この状態において再生前に、ストリームを記録した光ディスクが光ディスクドライブ１２２に装填される。
【００２５】
映像再生装置の再生動作は、次のように実施される。ユーザからの再生コマンドがバス１３３を介して制御プロセッサ１３１に与えられると、制御プロセッサ１３１はディスクコントローラ１２１を駆動し、光ディスクドライブ１２２から指定された時刻（時点）から始まるストリームを一定量読み出して、メモリ１１２に転送する。ここでいう一定量は、再生動作に障害が生じないように、例えば数ＧＯＰ単位や数秒単位といった適切な長さとすることができる。同時に、メモリ１１２の割込み領域にＣＰＵ１１１への復号命令を書き込む。ＣＰＵ１１１はメモリ１１２の割込み領域を監視しており、再生命令が与えられると、メモリ１１２からストリームを読み出し、復号を行って、メモリ１１２に復号されたフレームデータを書き込む。フレームデータがメモリ１１２に書き込まれると、制御プロセッサ１３１は、それを表示デバイス１３２に送り、映像が表示される。
【００２６】
次に、本発明による映像再生装置の動作の中で特に特徴となる高速再生動作を、図５を参照して説明する。図５は、１フレームの復号処理を、１フレーム時間の半分の時間（すなわち、再生の２倍の速度）で行うことができるＣＰＵ１１１を用いる場合において、再生動作から高速再生動作に移った際の動作を示す。説明を簡略化するため、図５ではＣＰＵ１１１の処理時間のみ考慮しており、メモリ１１２と光ディスクドライブ１２２のアクセス時間やデータ転送時間等の処理時間は考慮していない。但し、これらの処理はＣＰＵ１１１の処理と並行して行うことができるため、本発明の概念の実現性を損ねるものではない。
【００２７】
図５（ａ）に、一般的な復号処理の例を示す。再生時には１フレーム時間に１フレームの復号が行われ、高速再生時には１フレーム時間にＣＰＵ１１１の最大能力（１フレーム時間の２倍速）で復号が行われる。図５（ｂ）に、本発明による復号処理の例を示す。本発明では、再生時に、その時点での再生に必要のない他のフレームデータ（以下、対象外フレームデータと称す）を復号してメモリ１１２に記憶する。高速再生等の特殊再生時において、再生するフレームＡ，Ｂが既に対象外フレームとして復号済みの状態でメモリ１１２に記録されている場合には、復号を行わず、メモリ１１２から読み込むことで再生を行う。
【００２８】
本発明の基本概念を、図６を参照して説明する。図６に示すように、本発明は、高速再生等のＣＰＵ１１１の負荷が大きくなる特殊再生時に、ＣＰＵ１１１の処理能力では通常復号できないフレームデータを前もって予測し、予測した通常復号不可能なフレームデータを通常再生等のＣＰＵ１１１の負荷が少ない時に復号してメモリ１１２に蓄積しておくことで、ＣＰＵ１１１の処理能力では滑らかに再生できないような負荷の大きい特殊再生をより滑らかに再生できるようにするものである。
【００２９】
本発明による映像再生装置の復号器（デコーダ）１１０の詳細な構成について、図２を参照して説明する。図２は、復号器１１０の内部構造、特にＣＰＵ１１１の内部構造を示す図である。１１５は演算処理を行うＣＰＵコアであり、１１５ａが演算器であり、１１５ｂがレジスタである。演算器１１５ａは、少なくとも加算器、乗算器を含む複数のユニットから成る。レジスタ１１５ｂは、複数の変数を格納する複数個のユニットから成る。１１６はプログラムキャッシュであり、プログラムキャシュ１１６には起動時にＲＯＭ１１３から読み込まれたプログラムが格納される。プログラムキャッシュ１１６の領域が不足する場合は、外部のメモリ１１２を利用することも可能である。１１７はデータキャッシュであり、プログラムが利用する変数などの作業領域として使用される。データキャッシュ１１７が不足する場合は、不足する作業領域として外部のメモリ１１２を利用することも可能である。１１８はプログラムバスであり、命令をＣＰＵ１１１に送る際に使用するバスである。１１９はデータバスであり、データをＣＰＵ１１１との間で入出力する際に使用するバスである。
【００３０】
次に、プログラムキャッシュ１１６に格納されるプログラム部分を説明する。２００は復号手段であり、特殊再生を含む全ての再生動作でフレームデータ（ストリーム）を復号するプログラムである。２０１は記憶フレーム管理手段であり、メモリ１１２に記憶されている復号済みのフレームの位置情報を管理するプログラムである。２０２は対象外フレーム選択手段であり、ＣＰＵ１１１の負荷が余った際に復号する対象外フレームを選択する。２０３は消去フレーム選択手段であり、メモリ１１２内のメモリ領域において消去しても良いフレームデータを選択する。２０４は平均復号時間測定手段であり、ＣＰＵ１１１が実施する復号処理における１フレーム当り平均の復号時間を測定する。２０５は復号回数管理手段であり、シーケンス上の各フレームの復号回数を管理する。２０６は代替フレーム選択手段であり、再生しているフレームの復号処理が時間内に間に合わない時に切り替える代替フレームを選択する。
【００３１】
復号手段２００の動作を説明する。復号手段２００の動作は、通常再生時における復号動作と特殊再生時における復号動作という２つの復号動作に分かれる。まず、通常再生時の復号処理を、図３のフローチャートを参照して説明する。通常再生時の１フレーム時間における復号処理においては、最初に、現在のフレーム時点における再生処理で必要となるフレームデータの復号処理３１０を実施する。復号処理３１０は復号手段２００によって実施される。
【００３２】
次に、再生フレーム時点の再生で必要となるフレームデータの復号実施後から次の再生フレームの復号開示時点までの間に処理有余時間が残存するか否かの判定処理３２２を行う。判定処理３２２では、各フレーム時間での再生で必要となるフレームデータの復号以外に他のフレームデータを少なくとも１フレーム分復号できる時間長を有する時間を処理有余時間として設定しており、そのような時間長を有する処理有余時間が残存するか否かの判定を行う。判定処理３２２は平均復号時間測定手段２０４によって実施される。
【００３３】
判定処理３２２で処理有余時間が残っていないと判定する場合は、通常再生時の復号処理を終了する。判定処理３２２で、１フレーム時間内に処理有余時間が残っていると判定する場合は、対象外フレームの選択処理３２１を行う。選択処理３２１は対象外フレーム選択手段２０２によって実施される。選択処理３２１で選択された対象外フレームの復号処理３２０を行う。復号処理３２０は復号手段２００によって実施される。
【００３４】
以上の動作を、判定処理３２２が、１フレーム時間内に処理有余時間（少なくとも１つ対象外フレームを復号する時間）が残存しないと判定するまで繰り返し実施する。以上の処理により、再生時の１フレーム時間における復号が実施される。
【００３５】
次に、高速再生などの特殊再生時の復号処理を図４のフローチャートを参照して説明する。まず、１フレーム時間と、現在の再生フレームの再生処理で必要となるフレームデータをすべて復号するのに必要となる処理時間とを比較する時間判定処理３１１を行う。具体的には、１フレーム時間が前記処理時間を十分に満たすか否かの判定を時間判定処理３１１は実施する。判定処理３１１は平均復号時間測定手段２０４によって実施される。
【００３６】
再生フレームの１フレーム分の復号を実施する時間はない（１フレーム時間が前記処理時間を満たさない）と判定処理３１１が判定する場合は、代替フレーム選択手段２０６により選択された代替フレームの復号処理４１０を行う。再生フレームの１フレーム分の復号を実施する時間があると判定する場合は、再生フレームの１フレーム分のフレームデータの復号処理３１０を行う。
【００３７】
再生フレームの１フレーム分のフレームデータや代替フレームのフレームデータの復号を実施したのち、次の再生フレームの復号開示時点まで残存する処理有余時間が、再生フレームとは直接関係のない対象外フレームを、少なくとも１フレーム分復号できる時間を満たすかどうかの判定処理３２２を行う。処理有余時間として、対象外フレームを復号できる時間が残存していると判定する場合は、対象外フレームの選択処理３２１を行って、復号する対象外フレームを特定する。そして、特定した対象外フレームのフレームデータの復号処理３２０を行う。以上の動作を処理有余時間として、対象外フレームを１フレーム分復号できる時間が残存しなくなるまで繰り返す。これにより、特殊再生時の１フレーム時間における復号を終了する。
【００３８】
以上の特殊再生時の復号における、再生フレームの１フレーム分のフレームデータを復号できる時間があるかどうかの判定処理３１１と、代替フレームの復号処理４１０について詳しく説明する。
【００３９】
既に図２１を参照して説明したように、ＭＰＥＧのような予測符号化された映像の特殊再生を行う場合、１フレームを復号するためには、予測参照フレームを含めて複数のフレームのフレームデータを復号しなければならない。判定処理３１１では、１フレームを復号するために、予測参照フレームを含めて必要となる全てのフレームデータを復号する時間があるかどうかを判定する。
【００４０】
例えば図２１において、符号化順を示すインデックス（６）のＢフレームを復号する場合、インデックス（２）のＩフレームと、インデックス（５），（８）のＰフレームとを含めた、合計４フレームの復号が必要となる。このような復号処理を必要とするＢフレームを復号する際において、復号時間判定処理３１１において例えば３フレームの復号を行える時間しかないと判定する際（ＣＰＵが１フレーム時間に３フレームしか復号できないと判定する際）には、代替フレームの復号処理４１０に移ることになる。
【００４１】
ここで、復号回数管理手段２０５は、各フレームの復号に必要な復号処理回数の表を作成して記憶する。図２１に復号回数表５２０の例を示す。この表は、少なくとも各フレームのインデックス（符号化順）と復号回数の対から成っている。復号回数表の作成方法としては、ストリームに含まれる全てのフレームに対して予め作成して光ディスクに記録しておく方法や、再生時に必要な分だけ作成してメモリに記憶する方法などがある。しかしながら、ＧＯＰ構造がシーケンスに渡ってほぼ一定である場合には、ＧＯＰ単位で復号回数を仮定して処理を行うことができるので、必ずしも復号回数表は必要ない。
【００４２】
代替フレーム選択手段２０６により行われる、代替フレームの復号処理４１０では、復号処理量の範囲内で、できる限り時間的に近いフレームを選択したうえで選択したフレームのフレームデータを復号して出力する。図２１のインデックス（６）のＢフレームを復号する例では、インデックス（５）のＰフレームが時間的に近く、しかもその復号回数は２である。ＣＰＵ１１１は１フレーム時間当たり３フレームの復号処理を行える能力を備えている。そのため、この場合、インデックス（５）のＰフレームを代替フレームとすれば、１フレーム時間内に復号できる。またこの場合、さらに１フレーム当たり、１フレームの復号を行う処理時間が残っているので、対象外フレームの復号処理３２０で別の１フレームの復号を行うことができる。
【００４３】
記憶フレーム管理手段２０１が実行する処理を、図７を参照して説明する。図７は、記憶フレーム管理手段２０１により管理される復号フレーム表５００と、メモリ１１２の記憶内容とを示している。記憶フレーム管理手段２０１は、メモリ１１２上に復号済みのフレームデータが存在するかどうかを示す復号データ存在フラグと、対応するフレームのインデックス（この場合はシーケンス内で一意に決まる通し番号）との対応する示す復号フレーム表５００とを作成して管理しており、さらには、記憶フレーム管理手段２０１はこの復号フレーム表５００を常に最新の状態に保つ機能を発揮する。この表５００は、フレームデータを復号してメモリ１１２に格納する際にフラグを更新することで、簡単に管理することができる。メモリ１１２には、インデックスに対応するフレームデータを格納する。図１の制御プロセッサ１３１は、このメモリ１１２上のインデックスを確認することで、復号されたフレームデータがメモリ１１２上に存在するかどうかを確認できる。但し、メモリ１１２上のインデックスは図７（ｂ）の配置に限られるものではなく、例えば図７（ａ）の一覧表のような検索し易い形式でメモリに保存してあっても良い。
【００４４】
対象外フレーム選択手段２０２の動作について、図８，図９の例を参照して説明する。図８は、２倍速復号、即ち１フレーム時間に２フレームの復号処理が行えるＣＰＵ１１１を用いて、通常再生を行う例である。図８はＩ，Ｐ，Ｂフレームから成りＧＯＰ長Ｎ＝９としたＭＰＥＧストリームを想定しており、このＭＰＥＧストリームは符号化順に配置されている。ここでは一例として、通常再生中に、順方向の高速再生に対して対象外フレームを準備する例を示す。
【００４５】
現時点を、Ｉフレームの直前である時点（時刻ｔ＝０）とする。現時点の次ＧＯＰから、３ＧＯＰ毎に、Ｉフレーム３枚，Ｐフレーム６枚の順で、対象外フレームを復号するアルゴリズムを仮定する。なお、以下の説明では、現時点（時刻ｔ＝０）を起点とする表示フレーム数の積算値により時刻の推移を示している。また、時間［ｘ〜ｙ］とは、時刻ｘから時刻ｙまでの時間間隔を示している。時刻ｘ，ｙは、フレーム単位で推移する。ここで、以下の説明では、ＣＰＵ１１１として、１フレーム時間で２フレーム分の復号処理を実施可能な能力を備えたＣＰＵを用いる場合を例にしているため、時刻や時間は、０．５刻みで表記される。
【００４６】
時刻ｔ＝０．０からｔ＝３．０までの時間［０．０〜３．０］においては、ＣＰＵ１１１は、６フレームの復号が可能である。図８（ａ），（ｂ）に示すように、ＣＰＵ１１１において時間［０．０〜３．０］で実施可能な６フレーム分の復号処理のうち３フレーム分の復号処理は、再生に必要なフレーム（１枚のＩフレームと２枚のＢフレーム）の復号処理により消費される。残余の３フレーム分の復号処理は、Ｉフレーム（１），（２），（３）の復号処理として実行される。残余の３フレームの復号により作製されたＩフレーム（１），（２），（３）の復号フレームデータはメモリ１１２に記憶される。
【００４７】
次に時刻ｔ＝３からｔ＝６までの時間［３．０〜６．０］においては、図８（ｂ），（ｃ）に示すように、再生に必要なフレームの復号以外の残余の３フレーム分の復号は、Ｐフレーム（４），（５），（６）の復号として実行される。残余の３フレームの復号により作製されるＰフレーム（４），（５），（６）の復号フレームデータはメモリ１１２に記憶される。Ｐフレームは、既に復号したＩフレームを予測参照フレームとし、時間軸に対して順方向に復号していくものである。そのため、１枚のＩフレームを復号したのち、引き続いて、連続して１枚のＰフレームを復号することができる。
【００４８】
時刻ｔ＝６からｔ＝９までの時間［６．０〜９．０］では、図８（ｃ），（ｄ）に示すように、再生に必要なフレームの復号以外の残余の３フレーム分の復号は、Ｐフレーム（７），（８），（９）の復号として実行され、得られるＰフレーム（７），（８），（９）の復号フレームデータはメモリ１１２に記憶される。
【００４９】
続いて図９に移って説明する。時刻ｔ＝９からｔ＝１２までの時間［９．０〜１２．０］では、図９（ａ），（ｂ）に示すように、Ｉフレーム（１）は既に復号されてメモリ１１２に存在するから復号の必要はない。そのため、時間［９．０〜１２．０］において復号可能な６フレームのうち、再生に必要となるのはＢフレーム２枚の復号だけである。そのため、再生に必要なフレームの復号以外の残余の４フレーム分の復号は、Ｉフレーム（１０），（１１），（１２），およびＰフレーム（１３）の復号として実行される。
【００５０】
時間［９．０〜１２．０］における復号の配分処理は、図９（ｂ），（ｃ）に示すように、時刻ｔ＝１２から時刻ｔ＝１５までの時間［１２．０〜１５．０］でも同様に実施可能であり、再生に必要なフレームの復号以外の残余の４フレーム分の復号は、Ｐフレーム（１４），（１５），（１６），（１７）の復号として実行される。
【００５１】
以上説明したように、本発明の映像再生装置は、復号フレームデータをメモリ１１２に蓄積していくことが可能であり、メモリ１１２に蓄積したフレームデータを、高速再生された際に復号の負荷を低減するために利用でき、これにより、特殊表示等における表示の滑らかさを復号の負荷を低減した状態で実現できる。
【００５２】
なお、上述した説明では、対象外フレームとして復号したフレームデータ（他のフレームデータ）をメモリ１１２に格納して、後の復号処理に用いる構成としたが、再生対象フレームとして復号したフレームデータを含む全ての復号済みフレームデータをメモリ１１２に格納して、後の複合処理に用いる構成としてもよい。そうすれば、多少はメモリ１１２の記憶容量を必要とするものの、さらに効率高く復号処理を実施することができる。
【００５３】
図１０は、以上の対象外フレーム復号の例において、時間［０．０〜６．０］におけるＣＰＵ１１１の復号時間のスケジューリングを示す例である。再生フレームは符号化順で復号される。対象外フレームは、図８，図９を参照して説明した順に復号される。
【００５４】
図１０（ａ）に示す復号処理において、再生フレームと対象外フレームとを交互に復号する際、予測参照フレームを切り替える処理が必要となる。例えば時間［３．０〜３．５］で復号する再生フレーム（Ｐフレーム）は、時間［０．０〜０．５］で既に復号してメモリ１１２に記憶しているＰフレームを参照する。これに対して、時間［３．５〜４．０］で復号する対象外フレーム（Ｐフレーム）は時間［０．５〜１．０］で復号してメモリ１１２で記憶しているＩフレームを参照する。このように再生フレームと対象外フレームとを交互に復号する場合には予測参照フレームも切り替わる。
【００５５】
このような場合、ＣＰＵ１１１は、メモリ１１２上にある予測参照フレームを交互に切れ替えつつ復号を行う必要がある。ここで、予測参照フレームをＣＰＵ１１１に転送する時間が長時間となる場合は、例えば、図１０（ｂ）に示すように、３フレーム単位等で再生フレームの復号と対象外フレームの復号とを切り替えればよい。
【００５６】
図１１に、時間［９．０〜１２．０］における復号時間のスケジューリングの例を示す。この場合、再生フレームであるＩフレーム（１）は、対象外フレームとして既に復号されてメモリ１１２に記憶されているので復号されない。復号を行わなかったことにより空いた処理時間において、対象外フレームの復号をさらに実施することができる。図１１では、時間［９．０〜１２．０］において、Ｉフレーム３枚とＰフレーム１枚の合計４フレームの対象外フレームを復号している。
【００５７】
再生フレームおよび対象外フレームを復号する際、ストリームから各フレームデータの先頭位置を知る方法としては、例えば、図１２に示すバイト位置表５１０を用いる方法がある。バイト位置表５１０を用いる理由は、ＭＰＥＧストリームにおいて、圧縮された各フレームデータのサイズは可変長であり、ＧＯＰの先頭位置（バイト位置）やフレームの先頭位置の情報は、一般にストリーム中には存在しないためである。バイト位置表５１０は、少なくとも、表示順のインデックス（ｅ），フレームタイプ（ｂ），総バイト数（ｄ）の情報を持っていれば良い。
【００５８】
例えば、図１０（ａ）のスケジューリングにおいて時間［３．５〜４．０］で復号されるＰフレームを、図１２のバイト位置表５１０における符号化順が３のＰフレームであるとした場合を考える。図１２のバイト位置表５１０によれば、先頭から３４３４１９バイトの位置（これはストリーム中で一意に決まるバイト数である）からデータを読み込めば、読み込んだデータが符号化順３のＰフレームのデータであることを示している。このようにバイト位置表５１０を用いれば、データの検索を、容易かつ迅速にしかも正確に行うことができる。
【００５９】
なお、図１２では、符号化順と表示順の値は説明を簡略化するためにＧＯＰ内で一意に決まる値にしているが、ストリーム全体で一意に決まる値とするのが望ましい。
【００６０】
バイト位置表５１０を作成する方法を説明する。第１の方法は、映像を符号化する際に、ストリームとして出力するバイト数をカウントしておき、ストリームと共に表を出力して光ディスクドライブ１２２に装填されている光ディスク（図１参照）に記録する方法である。第２の方法は、光ディスクには記録せずに、ストリームを転送する際に算出して内部のメモリ等に記憶しておく方法である。第３の方法は、光ディスクには記録せずに、制御プロセッサ１３１がメモリ１１２にストリームを転送する際に算出してメモリ１１２に記録する方法である。第４の方法は、ＣＰＵ１１１がメモリ１１２上にストリームが入力された際に算出するという方法である。なお、バイト位置表５１０を作成しない場合でも、ストリームを読み込む際に時刻，ビットレート，バッファ占有量などから推定されるバイト位置を算出し、その少し手前の位置からストリームを探索することでフレームデータの開始位置を探し出すことも可能である。
【００６１】
次に、メモリ１１２上に記憶されている復号済みのフレームデータを予測参照フレームとして利用する際の動作を、図１２と図１３とを参照して説明する。図１２に示すバイト位置表５１０を持つストリームにおいて、図１３に示すように、復号されたフレームデータが既にメモリ１１２に記憶されており、次に、符号化順（７）のＢフレームを復号する場合を考える。
【００６２】
この場合、まず、符号化順（７）の復号済みフレームデータがメモリ１１２上に存在するか否かを調査する。この調査動作は、制御プロセッサ１３１またはＣＰＵ１１１のどちらが行っても良い。この場合、符号化順（７）の復号済みフレームデータはメモリ１１２上に存在しないので、図１２におけるバイト位置表５１０の列（ａ）から符号化順７の行を参照する。バイト位置表５１０の列（ｆ）と列（ｇ）とは、各フレームを復号するのに必要な予測参照フレームのインデックスを示している。バイト位置表５１０によれば、符号化順（７）のフレームデータを復号するには、符号化順（３），（６）の復号済みフレームデータが必要であるとわかる。
【００６３】
次に、符号化順（３），（６）の復号済みフレームデータがメモリ１１２上にあるかどうかを調査する。これらの復号済みフレームデータがメモリ１１２に存在すれば、符号化順３のフレームデータは既に復号されていることを示す。符号化順（６）のフレームデータはバイト位置表５１０における列（ａ）によれば、符号化順（３）の復号済みフレームデータが必要であることがわかる。
【００６４】
以上のことから、メモリ１１２上にある符号化順（３）の復号済みフレームデータから復号を開始すれば、符号化順（７）のフレームデータを復号できることがわかる。
【００６５】
この場合、ＣＰＵ１１１は、まず、符号化順３のフレームを前方予測の参照フレームに設定して、符号化順（６）のＰフレームのフレームデータを復号する。次に、符号化順（３）のフレームを前方予測の参照フレームに、符号化順（６）のフレームを後方予測の参照フレームに設定した状態で、符号化順（７）のＢフレームのフレームデータを復号する。
【００６６】
以上のようにして復号を実施することで、復号の処理時間を短縮化できる。具体的には、符号化順（７）のＢフレームのフレームデータを復号する場合に、参照フレームを含めて合計４フレーム分のフレームデータの復号が必要なところを、２フレーム分のフレームデータの復号だけで復号することができる。
【００６７】
消去フレーム選択手段２０３の動作を、図１４，図１５を参照して、復号済みフレームデータのメモリ１１２上における配置を説明しつつ説明する。図１４（ａ）は時間［ｔ０〜ｔ１］で復号されるフレームデータの配置構成を示す。図１４（ｂ）は、図１４（ａ）で復号されるフレームデータをメモリ１１２に配置する際の配置例を示す。時間［ｔ０〜ｔ１］は、任意の長さを有するストリームがメモリ１１２上に読み込まれる時間を示す。図１５（ａ）は復号されるフレームデータの配置構成を示す。図１５（ｂ）は、図１５（ａ）で復号されるフレームデータをメモリ１１２に配置する際の配置例を示す。図１５において、ｆ（ａ）からｆ（ｆ）はそれぞれ時刻ｔ＝ａからｔ＝ｆにおいてメモリ１１２に書き込まれる復号済みのフレームデータを示す。
【００６８】
メモリ１１２上に復号済みフレームデータを記憶する際には、時間［ｔ０〜ｔ１］を複数の期間Ｔ１〜ｋ（ｋは整数）に分割し、各期間毎にメモリ１１２にメモリ領域を設定し、設定したメモリ領域に対応する各期間の復号済みフレームデータを記憶する。
【００６９】
一般的には、期間Ｔ１〜ｋはそれぞれＧＯＰの整数倍の単位で、また、時間［ｔ０〜ｔ１］は数秒〜数十秒といった単位で設定することができる。図１４では、ｋ＝６として、時間［ｔ０〜ｔ１］を６つの期間Ｔ１〜Ｔ６に分割している。メモリ１１２の利用効率を高めるためには、図７に示すように、メモリ１１２上の領域Ｔ１〜ｋ（図１４では、６つの領域Ｔ１〜６）内に復号済みフレームデータを配置する際において復号済みフレームデータを互いに間を空けることなく詰めて配置するのが好ましい。例えば期間Ｔ１において、復号済みフレームデータｆ（ａ）とｆ（ｂ）とは時間的に離れたフレームデータであるものの、メモリ１１２上では、復号された順に詰めて配置される。
【００７０】
使用済みフレームデータをメモリ１１２から消去する際には、最適なフレームデータの選択を実施する。消去対象フレームデータの選択は次のように実施する。現在、現時間［ｔ０〜ｔ１］１の期間Ｔ４内を再生中であるとし、メモリ１１２上に次の時間［ｔ０〜ｔ１］２の先頭期間Ｔ７における復号済みフレームデータ群（ストリームデータ）が書き込まれてきたと仮定する。この場合、現時点（期間Ｔ４）において、フレームデータが最も再生に用いられる可能性の低い期間は、期間Ｔ１である。そのため、期間Ｔ７の復号済みフレームデータを格納するメモリ領域を、期間Ｔ１の復号済みフレームデータが格納されているメモリ領域とし、設定したメモリ領域に期間Ｔ７の復号済みフレームデータを格納する。これにより期間Ｔ１のフレームデータは期間Ｔ７のフレームデータにより上書きされて消去される。このように消去フレームの選択を行うことで、有限のメモリ領域を有効に活用し、常に再生の可能性が高い復号済みフレームデータを常時記憶しておくことが可能となる。
【００７１】
なお、図１５に示すように、メモリ１１２上に、Ｉ，Ｐ，Ｂフレーム毎にメモリ領域を設定して記憶操作することもできる。このようにデータ配置構造を採用するメリットは、Ｉ，Ｐ，Ｂフレーム毎に時間の範囲を変えることができる点である。図１５では、ＩフレームはＰ，Ｂフレームの６倍の時間範囲を１個の単位としてメモリ１１２上に配置している。この配置により時間的に離れたＩフレームを同時にメモリ１１２上で記憶できるので、高速再生時のように時間が大きく変化する際に有効となる。
【００７２】
以上のように、本実施の形態によれば、通常再生時のように復号の演算負荷が比較的小さい状態において、現在再生しているフレーム以外のフレームデータを復号してメモリ等の一時記憶媒体に記憶しておくことで、高速再生に代表される特殊再生時の演算負荷を低減し、可能な限り原映像に忠実な再生映像を得ることができる。
【００７３】
なお本実施の形態では、対象外フレームを選択するアルゴリズムとして、現時点の次に位置するＧＯＰから、３ＧＯＰ毎に、Ｉフレーム３枚、Ｐフレーム６枚の順に復号するアルゴリズムを仮定して説明した。しかしながら、本発明は、アルゴリズムは現在再生しているフレーム以外のフレームを復号するものであれば実施することができる。実際、復号するフレームデータの選択には、ＣＰＵ１１１の動作周波数や復号処理の計算量、再生装置における再生状態切り替え時のレスポンス等、多くの要因が影響するので、Ｉフレームから順にＰフレームを復号していくという基本的な復号動作を除いては、復号フレームの選択アルゴリズムは様々な方法が考えられる。
【００７４】
また、上述した実施の形態１の説明では、ＣＰＵ１１１として、２倍速で復号することができる能力を備えたものを例とした。しかしながら、本発明は、ｎ倍速（ｎは２以上の整数）の場合でも同様に適用できることは明らかである。
【００７５】
さらに再生フレームデータの復号と対象外フレームデータの復号のスケジューリングの例を図１０（ａ），（ｂ）に示したが、割付け方法はこれらに限るものではない。例として、再生フレームの復号と対象外フレームの復号をそれぞれタスクに設定し、タスク間のＣＰＵリソースの割り当てはオペレーティングシステム（ＯＳ）に任せて動的に行う方法もある。
【００７６】
以上のアルゴリズムは、Ｉ，Ｐ，Ｂフレームの平均復号時間を同じとみなして構成しているが、逆ＤＣＴや可変長復号等の共通の処理と、Ｐ，Ｂフレームに特有のベクトル・動き補償処理とマクロブロックのスキップ処理等を考慮に入れ、Ｉ，Ｐ，Ｂフレーム毎に平均復号時間を設定してアルゴリズムを構成することも可能である。
【００７７】
復号処理時間の測定において、平均復号時間測定手段２０４を用いて動的にＣＰＵ１１１の復号処理時間を測定する例を示したが、復号プログラムと想定するＣＰＵ１１１の動作周波数等から固定値を計算して使用しても問題はない。
【００７８】
ＭＰＥＧのＧＯＰ構造としてＩ，Ｐ，Ｂフレームで構成する例を示したが、Ｉ，Ｐフレームのみから成るストリームに適用することも容易である。さらに、ストリームを符号化するアルゴリズムは、フレーム間に復号処理の依存関係のある符号化を行うアルゴリズムであれば、ＭＰＥＧに限定されるものではない。
【００７９】
また、ＤＶに代表されるフレーム内符号化を使用した場合でも、記録媒体の転送レートの制約が大きい光ディスクのように、特殊再生時に何らかの処理負荷が大きくなる応用では、本発明を適用する効果がある。
【００８０】
実施の形態１における映像再生装置では、光ディスクドライブを想定して本発明を説明したが、本発明は、ハードディスクドライブやメモリなど、情報を記録する媒体であれば同じく実現が可能であるのは言うまでもない。
【００８１】
実施の形態１では、実時間より高速に復号を行う復号器１１０としてＣＰＵ１１１とメモリ１１２とを用いた例を示したが、復号が実時間より高速に行えるものであれば、これに限定するものではない。
【００８２】
（実施の形態２）
本実施の形態では、様々な再生速度において、高速再生や逆再生といった一般的な特殊再生に対して対象外フレームを準備する場合の例を示す。本実施の形態は、編集再生機に代表されるジョグダイアルを装備した装置のように、再生速度が頻繁に変化する応用に適用することが可能である。なお、実施の形態２を実施する映像再生装置の構成は、基本的には実施の形態１と同様であるため、同一ないし同様の部分には、実施の形態１における図１〜図１５と同様の符号を付し、それらについての説明は省略する。
【００８３】
図１６に、本実施の形態における対象外フレームの復号処理の一例を示す。図１６は、実施の形態１の図８と同様、ＣＰＵ１１１は２倍速復号が可能な能力を有するものとし、ＧＯＰ長Ｎは、Ｎ＝９とする。本実施の形態では、−２倍速再生、−１倍速再生、静止、通常再生（１倍速再生）、２倍速再生、４倍速再生の再生パターンを仮定して説明する。
【００８４】
図１６に示すように、時点（時刻ｔ＝０）において、既に復号されてメモリ１１２に保存されているフレームデータが幾つか存在しており、時間［０．０〜１．０］は再生が静止していると仮定する。−２倍速，４倍速の再生時においてはＩフレームを復号再生の対象フレームとし、−１倍速，２倍速の再生時においてはＩフレームとＰフレームとを復号再生の対象フレームとする。
【００８５】
対象外フレームを選択するために、各再生速度ｋ（ｋ＝−２，−１，２，４）で再生する場合において、現フレーム時点を起点として最も離間する位置にある復号済みフレームまでのフレーム間距離Ｄｋ（ｋ：再生速度）を算定する。フレーム離間距離Ｄｋの算定は、未復号フレーム（複合済みフレーム）を記録管理することで実施できる。
【００８６】
次に、現時点を起点として最も離間する位置にある復号済みフレームに到達するのに要する時間（Ｄｋ／｜ｋ｜）を各再生速度ｋ毎に算出する。そして、算出した時間（Ｄｋ／｜ｋ｜）が最短となる再生速度を選択する。なお、再生速度ｋは再生速度比（再生速度／通常再生速度）とする。
【００８７】
以上の計算を式化したのが、次の（１）式である。
【００８８】
【数１】
2004350152.tif 000003
（１）式により、現時点（時刻ｔ＝０）から様々な再生速度ｋで再生する際に、メモリ１１２から読み出して復号に用いる復号済みフレームデータが最も早い時間で途切れる再生速度が判定される。
【００８９】
図１６の構成では、Ｄｋ／｜ｋ｜が最小となる再生速度ｋは−１となる。そこで、時間［０．０〜１．０］では−１倍速のフレームデータとして必要となるフレームデータ（図１６では、現時点（時刻ｔ＝０）から数えて−６フレーム位置にあるＰフレーム）を対象外フレームとして復号してメモリ１１２に格納する。
【００９０】
なお、上述したように、時間［０．０〜１．０］では再生が静止していると仮定しているので、この時間では、２フレームの対象外フレームデータを復号することができる。そこで、Ｄｋを再計算し、Ｋ＝−２となるＩフレーム（現時点（時刻ｔ＝０））から数えて−１８フレーム位置にあるＩフレーム）を対象外フレームとして復号してメモリ１１２に格納する。
【００９１】
図１７は、図１６の時点（時刻ｔ＝０）から時点（時刻ｔ＝１）に移行した時点の状態を示す。この時点（時刻ｔ＝１）において通常再生が開始されたとする。この時点（時刻ｔ＝１）では、フレームが１フレーム進んだ点と、Ｋ＝−１及びＫ＝−２における復号に用いるＰフレーム（−６フレーム位置），Ｉフレーム（−１８フレーム位置）を対象外フレームとして既に復号している点が、図１６と異なっている。時間［１．０〜２．０］では、再生フレームとしてＩフレームを復号するため、対象外フレームは１フレームのみ復号可能である。全ての距離Ｄｋを計算してＫを評価し直すと、Ｄ４が最小であり、Ｋ＝４における復号に用いるＩフレーム（＋２７フレーム位置）を、対象外フレームとして復号する。
【００９２】
図１８は２倍速再生した時点での状態を示す。この図は、図１７の状態から時刻ｔ＝２になった時点を示している。時間［２．０〜３．０］では、再生フレームとしてＢフレームの復号が必要であるが、その復号処理に必要となる予測参照フレームのうち、ＰフレームとＩフレームとは既に復号されている。そのため、再生フレームであるＢフレームの復号処理だけを実施すればよい。したがって、対象外フレームとして１フレーム分のフレームデータを復号することが可能となる。そこで、Ｋを評価し、Ｋ＝２における復号に用いるＰフレーム（＋１２フレーム位置）を、対象外フレームとして復号する。
【００９３】
以上のように、本実施の形態では、様々な再生速度において、メモリ１１２上にある復号されたフレームと現時点の時間的な距離を評価し、対象外フレームを選択して復号することで、再生速度が動的に変化する特殊再生に対しても、ＣＰＵ１１１の処理能力の中でより滑らかな再生を行うことが可能となる。
【００９４】
Ｄｋの定義方法としては、様々な方法が考えられる。図１６では、復号されていない直近のＩフレームを距離の計算に含めていない。一般的には、順再生方向の１ＧＯＰは復号されていなくても考慮しない等、装置の復号能力や条件に応じて、柔軟にＤｋを定義して使用する。重要な点は、上述したように、動的に復号するフレームを変更して特殊再生に対応する点であり、これを実現するのであれば、実施の形態は本形態に制約されるものではない。
【００９５】
【発明の効果】
以上の説明から明らかなように、本発明によれば、高速再生や逆再生などの復号の負荷の大きい特殊再生時に、より滑らかに映像を再生できる。
【図面の簡単な説明】
【図１】本発明の実施の形態１における映像再生装置の構成を示す図。
【図２】同実施の形態１における復号器の構成を示す図。
【図３】同実施の形態１における通常再生時の復号処理を示すフローチャート。
【図４】同実施の形態１における特殊再生時の復号処理を示すフローチャート。
【図５】同実施の形態１における映像再生装置の高速再生動作を示す図。
【図６】同実施の形態１における映像再生装置の特殊再生の概念を示す図。
【図７】同実施の形態１における復号フレーム表とメモリ上の配置を示す図。
【図８】同実施の形態１における対象外フレーム復号の例を示す図。
【図９】同実施の形態１における対象外フレーム復号の例を示す図。
【図１０】同実施の形態１における対象外フレーム復号のスケジューリングを示す図。
【図１１】同実施の形態１における対象外フレーム復号のスケジューリングを示す図。
【図１２】同実施の形態１におけるバイト位置表の例を示す図。
【図１３】同実施の形態１におけるバイト位置表の例に対応した復号フレーム表とメモリ上の配置を示す図。
【図１４】同実施の形態１におけるフレーム消去を考慮したメモリ上の配置例を示す図。
【図１５】同実施の形態１におけるフレーム消去を考慮したメモリ上の配置例を示す図。
【図１６】本発明の実施の形態２における対象外フレーム復号の例を示す図。
【図１７】同実施の形態２における対象外フレーム復号の例を示す図。
【図１８】同実施の形態２における対象外フレーム復号の例を示す図。
【図１９】ＭＰＥＧに基づく映像符号化方法における各フレームの構成図。
【図２０】ＩフレームとＰフレームとを符号化する場合の従来例におけるフレーム構成図。
【図２１】符号化・復号化されるＭＰＥＧのストリームを、特殊再生、特に高速再生する場合における説明図。
【符号の説明】
１００  映像再生装置
１１０  復号器
１１１  ＣＰＵ
１１２  メモリ（ＲＡＭ）
１１３  ＲＯＭ
１１４  バス
１１５  ＣＰＵコア
１１６  プログラムキャッシュ
１１７  データキャッシュ
１１８  プログラムバス
１１９  データバス
１２１  ディスクコントローラ
１２２  光ディスクドライブ
１３１  制御プロセッサ
１３２  表示デバイス
１３３  バス
２００  復号手段
２０１  記憶フレーム管理手段
２０２  対象外フレーム選択手段
２０３  消去フレーム選択手段
２０４  平均復号時間測定手段
２０５  復号回数管理手段
２０６  代替フレーム選択手段
３００  通常再生時の１フレーム時間における復号処理
３１０  再生フレームの復号
３２０  対象外フレームの復号
３２１  対象外フレームの選択
３９０  終了
４００  特殊再生時の１フレーム時間における復号処理
４１０  代替フレームの復号
５００  復号フレーム表
５１０  バイト位置表
５２０  復号回数表
【図１】
2004350152.tif 000004
【図２】
2004350152.tif 000005
【図３】
2004350152.tif 000006
【図４】
2004350152.tif 000007
【図５】
2004350152.tif 000008
【図６】
2004350152.tif 000009
【図７】
2004350152.tif 000010
【図８】
2004350152.tif 000011
【図９】
2004350152.tif 000012
【図１０】
2004350152.tif 000013
【図１１】
2004350152.tif 000014
【図１２】
2004350152.tif 000015
【図１３】
2004350152.tif 000016
【図１４】
2004350152.tif 000017
【図１５】
2004350152.tif 000018
【図１６】
2004350152.tif 000019
【図１７】
2004350152.tif 000020
【図１８】
2004350152.tif 000021
【図１９】
2004350152.tif 000022
【図２０】
2004350152.tif 000023
【図２１】
2004350152.tif 000024