(57)【要約】【課題】フレーム間符号化された映像信号の高速再生におけるより滑らかな映像再生方法の実現。【解決手段】フレーム内符号化フレーム１０１とフレーム間予測符号化フレーム１０２から成るＭＰＥＧストリーム１００を、実時間より高速な復号処理を行えるＣＰＵを用いて高速再生する再生方法において、各フレームの複合に要する回数を示すテーブル１１０を再生前に作成し、再生時にはＣＰＵが１フレーム時間内に平均的に復号可能なフレーム数とテーブル１１０を比較して、複合が円滑に行える最適なフレームのパターンを選択して、高速再生を行う。【選択図】  図１
2004343648.tif 000002
【特許請求の範囲】
【請求項１】
符号化された映像信号を記録した記録媒体から映像信号を再生したうえで復号器で復号する映像再生方法であって、
映像信号を復号する処理に際して、現在のタイムコード位置から一定時間内に再生する１枚以上のフレームの集合（以下、フレーム群と称す）を複数抽出し、
抽出した複数のフレーム群それぞれの復号処理時間を算出し、
算出した前記復号処理時間に基いて、前記複数のフレーム群から任意のフレーム群を選択して前記復号器で復号する、
ことを特徴とする映像再生方法。
【請求項２】
算出した前記復号処理時間が最も短い前記フレーム群を選択して前記復号器で復号する、
ことを特徴とする請求項１に記載の映像再生方法。
【請求項３】
算出した前記復号処理時間と前記復号器の復号処理能力とに基づいて前記フレーム群を選択して前記復号器で復号する、
ことを特徴とする請求項１に記載の映像再生方法。
【請求項４】
算出した前記復号処理時間が、前記復号器による単位時間内での復号処理が可能となる値を示す前記フレーム群を選択して前記復号器で復号する、
ことを特徴とする請求項３に記載の映像再生方法。
【請求項５】
算出した前記復号処理時間が、前記復号器による単位時間内での復号処理が可能となる値を示す一つないし複数の前記フレーム群をさらに選択し、
選択したフレーム群の中から、現在のタイムコードと現在の再生速度とに基いて設定される再生フレーム列に対して最も時間的誤差の小さいフレーム群を選択して前記復号器で復号する、
ことを特徴とする請求項１に記載の映像再生方法。
【請求項６】
復号処理時間の算出を実施する前記複数のフレーム群を、現在のタイムコードと現在の再生速度とに基いて想定される再生フレーム列を基本構成としさらにこの再生フレーム列内の任意のフレームを時間的にシフトしたフレームに置き換えることで構成する、
ことを特徴とする請求項２ないし５のいずれかに記載の映像再生方法。
【請求項７】
前記映像信号は、フレーム間予測符号化された映像信号であり、
復号処理を、復号に必要な予測参照フレームを順に復号しつつ実施する、
ことを特徴とする請求項１ないし６のいずれかに記載の映像再生方法。
【請求項８】
前記復号処理時間を、順に復号する前記予測参照フレームそれぞれの復号処理時間を加算することで算出する、
ことを特徴とする請求項７に記載の映像再生方法。
【請求項９】
前記複数のフレーム群を、現在のタイムコード位置から再生を開始するタイムコード位置への時間的なシフト量を変化させることで設定する、
ことを特徴とする請求項７または８に記載の映像再生方法。
【請求項１０】
前記一定時間を、映像再生時の再生速度比（＝再生速度／通常再生速度）と、連続する複数のフレームの集合体であるＧＯＰの長さとの最小公倍数に基づいて算出する、
ことを特徴とする請求項７ないし９のいずれかに記載の映像再生方法。
【請求項１１】
符号化された映像信号を記録した記録媒体から映像信号を再生して復号する映像再生方法であって、
各フレームの復号に要する復号回数を示す復号回数表を再生前に作成したうえで、
１フレーム再生時間内に平均的に復号可能なフレーム数と前記復号回数表とを比較して復号が円滑に行えるフレーム配置パターンを選択し、
選択したフレーム配置パターンに基いて映像を復号して再生する、
ことを特徴とする映像再生方法。
【請求項１２】
符号化された映像信号を記録した記録媒体から映像信号を再生して復号する映像再生装置であって、
映像信号を復号する復号器と、
現在のタイムコード位置から一定時間内に再生する１枚以上のフレームの集合（以下、フレーム群と称す）を複数抽出したうえで、抽出した複数のフレーム群を前記復号器で復号処理するのに要する時間をそれぞれ算出する計時器と、
を備え、
前記復号器は、前記計時器で算出した前記復号処理時間に基いて、前記複数のフレーム群から任意のフレーム群を選択して復号するものである、
ことを特徴とする映像再生装置。
【請求項１３】
前記復号器は、前記計時器で算出した前記復号処理時間が最も短い前記フレーム群を選択して復号するものである、
ことを特徴とする請求項１２に記載の映像再生装置。
【請求項１４】
前記復号器は、前記計時器で算出した前記復号処理時間と当該復号器の復号処理能力とに基づいて前記フレーム群を選択して復号するものである、
ことを特徴とする請求項１２に記載の映像再生装置。
【請求項１５】
前記復号器は、前記計時器で算出した前記復号処理時間が、当該復号器による単位時間内での復号処理が可能となる値を示す前記フレーム群を選択して復号するものである、
ことを特徴とする請求項１４に記載の映像再生装置。
【請求項１６】
前記復号器は、算出した前記復号処理時間が、当該復号器による単位時間内での復号処理が可能となる値を示す一つないし複数の前記フレーム群をさらに選択し、選択したフレーム群の中から、現在のタイムコードと現在の再生速度とに基いて設定される再生フレーム列に対して最も時間的誤差の小さいフレーム群を選択して復号するものである、
ことを特徴とする請求項１２に記載の映像再生装置。
【請求項１７】
前記復号器は、復号処理時間の算出を実施する前記複数のフレーム群を、現在のタイムコードと現在の再生速度とに基いて想定される再生フレーム列を基本構成としさらにこの再生フレーム列内の任意のフレームを時間的にシフトしたフレームに置き換えることで構成するものである、
ことを特徴とする請求項１３ないし１６のいずれかに記載の映像再生装置。
【請求項１８】
前記映像信号はフレーム間予測符号化された映像信号であり、
前記復号器は、復号に必要な予測参照フレームを順に復号するものである、
ことを特徴とする請求項１２ないし１７のいずれかに記載の映像再生装置。
【請求項１９】
前記復号器は、前記復号処理時間を、順に復号する前記予測参照フレームそれぞれの復号処理時間を加算することで算出するものである、
ことを特徴とする請求項１８に記載の映像再生装置。
【請求項２０】
前記復号器は、前記複数のフレーム群を、現在のタイムコード位置から再生を開始するタイムコード位置への時間的なシフト量を変化させることで設定するものである、
ことを特徴とする請求項１８または１９に記載の映像再生装置。
【請求項２１】
前記復号器は、前記一定時間を、映像再生時の再生速度比（＝再生速度／通常再生速度）と、連続する複数のフレームの集合体であるＧＯＰの長さ（フレーム数）との最小公倍数に基づいて算出するものである、
ことを特徴とする請求項１８ないし２０のいずれかに記載の映像再生装置。
【請求項２２】
符号化された映像信号を記録した記録媒体から映像信号を再生して復号する映像再生装置であって、
各フレームの復号に要する復号回数を示す復号回数表を再生前に作成したうえで、１フレーム再生時間内に平均的に復号可能なフレーム数と前記復号回数表とを比較して復号が円滑に行えるフレーム配置パターンを選択する手段と、
選択したフレーム配置パターンに基いて映像を復号する手段と、
を備えることを特徴とする映像再生装置。
【請求項２３】
請求項７から１０のいずれかに記載の映像再生方法によって復号される映像信号を予測符号化する映像符号化方法であって、
双方向予測符号化フレームの予測方向を、一方向に限定した状態で符号化を行う、
ことを特徴とする映像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フレーム間予測符号化された映像を光ディスク等の記録媒体から読み出して再生する映像再生装置において、実時間より高速な復号が可能な場合に、より滑らかに映像を表示する高速再生を行うことのできる映像再生方法、映像再生装置および映像符号化方法に関する。
【０００２】
【従来の技術】
映像のディジタル記録・再生を利用した機器は、家庭用や業務用を問わず増加の一途をたどっている。限られた記録媒体の容量で長時間記録と高画質化を実現するのは相反する要素であるが、フレーム間符号化をベースとする一連のＭＰＥＧ規格（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ：ＩＳＯ／ＩＥＣ１１１７２−２，ＩＳＯ／ＩＥＣ１３８１８−２，ＩＳＯ／ＩＥＣ１４４９６−２）は圧縮率と画質におけるコストパフォーマンスが高く、ディジタルＴＶ放送，ＤＶＤ−Ｖｉｄｅｏ，携帯電話など、多くのアプリケーションで採用されている。
【０００３】
ＭＰＥＧに基づく映像符号化では、各フレームを図１９（ａ）に示すような構成で符号化する。符号化タイプには、フレーム内符号化フレーム（以下、Ｉフレームと称す）、フレーム間符号化フレーム（以下、Ｐフレームと称す）およびフレーム内挿符号化フレーム（以下、Ｂフレームと称す）の３種類がある。Ｉフレームは、当該フレームのデータのみを用いて復号が可能なフレームである。Ｐフレームは、当該フレーム以前に復号されたＩまたはＰフレームのデータと当該フレームのデータとを用いて復号が可能なフレームである。Ｂフレームは時間的に前後する２枚のＩまたはＰフレームのデータと当該フレームのデータとを用いて復号が可能なフレームである。
【０００４】
Ｂフレームは、復号化に際して表示順で後方に位置するフレームを参照して復号される。そのため、Ｂフレームを符号化する場合には、図１９（ｂ）に示すように、順を入れ替えて符号化する。符号化されるデータは、多くの場合Ｉフレームから始まるＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）の列として、順にビットストリーム（以下、ストリームと称す）として出力される。
【０００５】
ＩフレームとＰフレームとは、復号化に際して表示順で後方に位置するフレームを参照することなく復号される。そのため、ＩフレームとＰフレームとを符号化する場合には、図２０に示すように、順を入れ替えることなく、表示順のまま符号化される。ＭＰＥＧストリームを復号化する際には、ストリームから符号化順でフレームを読込んだ後、符号化順に復号化される。映像の出力は、表示順に行われる。
【０００６】
以上のようにして符号化・復号化されるＭＰＥＧのストリームを、特殊再生、特に高速再生する際には、大きな困難が伴う。例えば、図２１（ａ）に示すように、Ｉ，Ｐ，Ｂフレームが混在するストリームを読込み、４倍速再生を行う場合を考える。現在がフレーム２のＩフレームであるとして、フレームのインデックスが０〜１４の範囲だけであるとした場合、フレーム２，６，１０，１４の４フレームを再生すれば、４倍速となる。しかし、図２１（ｂ）に示すように、各フレームを復号するには予測参照フレームを含めてそれぞれ１，４，５，５回の復号回数が必要となる。これは、１フレーム時間（ＮＴＳＣでは３３ｍｓｅｃ，ＰＡＬでは４０ｍｓｅｃ）において、平均的には（１＋４＋５＋５）／４＝３．７５フレームを復号しなければ滑らかな再生ができないことを意味する。
【０００７】
一方、ＬＳＩ等の汎用のＭＰＥＧデコーダは、通常再生（１倍速再生）のためクロックと連動してリアルタイム動作するのが一般的であり、１フレーム時間に１フレームを復号する構成となっている。そのため、ＤＶＤ−Ｖｉｄｅｏ等の早送り再生機能は、Ｉフレームをコマ送りのように表示・更新するものにとどまっている。以上のことから、ＭＰＥＧで符号化された映像を滑らかに高速再生するのは困難が伴うことがわかる。
【０００８】
ＭＰＥＧ等のフレーム間予測符号化された映像に対して、滑らかな高速再生を行う従来の技術としては、各種の特許が出願されている。まず、Ｉフレーム等のデータ量の多いフレームを連続して再生することにより生じる、復号時のバッファの破綻を防止する方法として、特許３３０１２７４号や特許３２０３１６９号がある。前者は、データがない場合、ＰＴＳ（表示タイムスタンプ）を無視してフリーズ画面を出力するものである。後者は、バッファの占有量に応じてフレームをスキップするものである。しかしながら、いずれも、復号器のバッファの破綻を防止するものであり、ＭＰＥＧストリームを高速再生した場合に滑らかな表示が行えるものではない。
【０００９】
次に、読み込み時間を考慮した高速再生方法として、特開平０８−１８６７９４号公報がある。これは、光ディスクの読み込み時間から、高速再生時の可能な倍速値を計算して、高速再生を行うものである。しかしながら、この方法は復号処理時間を考慮した方法ではない。復号処理時間はＭＰＥＧストリームを高速再生する際に最も重要な要素である。そのため、復号処理時間について考慮されていないこの方法では、ＭＰＥＧストリームを高速再生した場合に滑らかな表示を行えるものではない。
【００１０】
復号処理時間を考慮した改善方法としては、特許３０２５４４７号と特開２００１−５４０６６号公報とがある。前者は、不要なＢフレーム等を読み込まずに復号処理時間を節約するものである。後者は、復号処理速度を変更し、ＰＣのような表示環境において、フレームレートを変更して表示するものである。両者とも、高速再生時に復号処理時間の短縮を試みるものではあるが、変化する再生速度において、復号器の処理能力と各フレームの復号処理時間を考慮して、滑らかな高速再生を実現するものではない。
【００１１】
【特許文献１】
特許３３０１２７４号（請求項１）
【特許文献２】
特許３２０３１６９号（請求項１）
【特許文献３】
特開平０８−１８６７９４号公報（表３）
【特許文献４】
特許３０２５４４７号（請求項１）
【特許文献５】
特開２００１−５４０６６号公報（要約）
【００１２】
【発明が解決しようとする課題】
ＣＰＵに代表されるプロセッサに基づいて復号器を構成することが近年急速に進歩しており、そのようにして構成された復号器では、リアルタイム以上に復号速度を早くすることが可能となりつつある。しかしながら、ＭＰＥＧに代表される予測符号化された映像を記録した媒体を特殊再生、特に高速再生を行う場合において、上述した高速復号技術を用いて、より滑らかに特殊再生を行う手法は提案されていなかった。
【００１３】
本発明は、フレーム間予測符号化された映像信号の特殊再生において、実時間より高速な復号動作が可能な場合、ＣＰＵの復号処理速度と復号処理時間とを計算し、復号を円滑に行うことができる最適なフレームのパターンを選択して高速再生する方法を得ることを課題とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明は、実時間より高速な復号処理を行えるＣＰＵを用いて高速再生する再生方法において、各フレームの復号に要する復号回数を示す復号回数表を再生前に作成し、再生時にはＣＰＵが１フレーム時間内に平均的に復号可能なフレーム数と復号回数表を比較して、復号が円滑に行える最適なフレームのパターンを選択して、高速再生を行うことを特徴とする映像再生方法であり、ＣＰＵの復号処理速度と復号処理時間とを計算し、復号を円滑に行うことができる最適なフレームのパターンを選択して高速再生することを可能とする。
【００１５】
具体的には本発明は、符号化された映像信号を記録した記録媒体から映像信号を再生したうえで復号器で復号する映像再生方法であって、映像信号を復号する処理に際して、現在のタイムコード位置から一定時間内に再生する１枚以上のフレームの集合（以下、フレーム群と称す）を複数抽出し、抽出した複数のフレーム群それぞれの復号処理時間を算出し、算出した前記復号処理時間に基いて、前記複数のフレーム群から任意のフレーム群を選択して前記復号器で復号する。
【００１６】
これにより、複数のフレーム群の中から、復号処理時間に基いて最適なものを選択して復号することが可能となる。
【００１７】
なお、算出した復号処理時間が最も短い前記フレーム群を選択して復号するのが好ましい。そうすれば、復号処理時間の短縮化を図ることが可能となる。これは、復号器の処理能力から鑑みた最適な復号処理の１形態といえる。
【００１８】
なお、算出した前記復号処理時間と前記復号器の復号処理能力とに基づいて前記フレーム群を選択して前記復号器で復号するのが好ましい。そうすれば、復号処理の最適化を、映像の動きの滑らかさを損なうことなく実現することができる。これは、復号器の処理能力から鑑みた最適な復号処理の１形態といえる。
【００１９】
なお、算出した前記復号処理時間が、前記復号器による単位時間内での復号処理が可能となる値を示す前記フレーム群を選択して前記復号器で復号するのが好ましい。そうすれば、復号器で復号処理の最適化を図ることが可能となる。これも復号器の処理能力から鑑みた最適な復号処理の１形態といえる。
【００２０】
なお、
・前記復号器による単位時間内での復号処理が可能となる値を示す一つないし複数の前記フレーム群をさらに選択し、
・選択したフレーム群の中から、現在のタイムコードと現在の再生速度とに基いて設定される再生フレーム列に対して最も時間的誤差の小さいフレーム群を選択して復号する、
という処理を実施するのが好ましく、そうすれば、復号処理の最適化を、映像の動きの滑らかさを損なうことなく実現することができる。
【００２１】
なお、復号処理時間の算出を実施する前記複数の異なるフレーム群は、現在のタイムコードと現在の再生速度とに基いて設定される再生フレーム列を基本構成とし、さらにこの再生フレーム列内の任意のフレームを時間的にシフトしたフレームに置き換えることで構成するのが好ましく、そうすれば、映像の動きの滑らかさを維持した状態で、復号処理時間の短縮化を図ることができる。
【００２２】
なお、前記映像信号は、フレーム間予測符号化された映像信号であり、映像信号を復号する処理を、復号に必要な予測参照フレームを順に復号しつつ実施するのが好ましい。そうすれば、フレーム間予測符号化された映像信号を復号する構成においても、同様に本発明を実施することが可能となる。この場合、前記復号処理時間を、順に復号する前記予測参照フレームそれぞれの復号処理時間を加算することで算出するのが好ましい。そうすれば、フレーム間予測符号化された映像信号においても、復号処理時間を精度高く算出することが可能となる。
【００２３】
なお、前記複数のフレーム群を、現在のタイムコード位置から再生を開始するタイムコード位置への時間的なシフト量を変化させることで設定するのが好ましい。そうすれば、映像の動き滑らかさを維持した状態で、復号処理時間の短縮化を図ることができる。
【００２４】
なお、前記一定時間を、映像再生時の再生速度比（＝再生速度／通常再生速度）と、連続する複数のフレームの集合体であるＧＯＰの長さ（フレーム数）との最小公倍数に基づいて算出するのが好ましい。そうすれば、一定時間を、精度高くしかも容易に算定することが可能となる。
【００２５】
なお、本発明の特徴を異なる視点から見た場合、本発明は、各フレームの復号に要する復号回数を示す復号回数表を再生前に作成したうえで、１フレーム再生時間内に平均的に復号可能なフレーム数と前記復号回数表とを比較して復号が円滑に行えるフレーム配置パターンを選択し、選択したフレーム配置パターンに基いて映像を復号して再生することでも実現できる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態について、図１から図２１を参照して説明する。
【００２７】
（実施の形態１）
図２は、本発明による映像再生方法を実施する構成を示すブロック図である。図２において、４２０は、映像が記録された記録媒体、４４０は、ユーザが再生操作を行うための再生操作入力手段、４５０は本発明による映像再生が行われる映像再生手段、４３２は表示デバイスである。
【００２８】
図２において、ユーザは再生操作入力手段４４０を操作し、再生操作を行う。再生操作により再生操作入力手段４４０に入力されたスタートタイムコードＴｓと再生速度Ｖｐとを示す情報は、再生操作入力手段４４０から映像再生手段４５０に伝えられる。再生入力手段４４０を実現するには多様な構成がある。再生入力手段４４０は、再生・停止・早送り等のボタン類や、編集再生機に使われるジョグダイアル等、再生速度Ｖｐを示す情報を変化させて映像再生手段４５０に伝えることのできる構成であれば良い。
【００２９】
映像再生手段４５０は、記録媒体４２０に記録された映像を読み取り、入力されるスタートタイムコードＴｓと再生速度Ｖｐの情報に基づいて設定したスタートタイムコード位置と再生速度とに基づいて映像を再生する。再生された映像は、表示デバイス４３２に表示される。記録媒体４２０としては、テープ，光ディスク，磁気ディスク，メモリ等のデバイスを用いることができる。
【００３０】
本実施の形態の映像再生方法における映像再生処理工程を図３のフローチャートを参照して説明する。まず、映像を再生するに際して、その再生開始位置を、予め設定されたスタートタイムコードＴｓの位置に移動する処理２６１を行う。この処理２６１に際して、記録媒体４２０上に記録された映像データからタイムコードＴｓがサーチされることで、再生開始位置を、予め設定されたスタートタイムコードＴｓの位置に移動する処理が実施される。これにより再生処理状況は再生を開始できる状態になる。
【００３１】
次に再生モードの設定処理２７２を行う。再生モードは、通常再生モードと高速再生モードとのどちらかに設定される。この処理ではまず、現在の再生速度Ｖｐが認識される。そして、認識された現在の再生速度Ｖｐが０≦Ｖｐ≦１ならば通常再生モードが、Ｖｐ＜０または１＜Ｖｐならば特殊再生モードがそれぞれ設定される。ここでいう再生速度Ｖｐとは、詳細にいえば、再生速度比（＝再生速度／通常再生速度）を示し、再生速度Ｖｐ＝１は、通常再生の速度（１倍速）を意味し、Ｖｐ＝０は静止（停止）、Ｖｐ＜０は逆再生、｜Ｖｐ｜＞１は高速再生を意味する。０＜Ｖｐ＜１は低速順再生となるが、低速順再生は復号処理時間が通常再生より短くなり、映像再生手段４５０から表示デバイス４３２へのフレーム送出を制御することで対処可能である。そのため、本実施の形態では、再生速度（０＜Ｖｐ＜１）は通常再生モードに含まれるとして説明する。
【００３２】
再生モードの設定処理２７２が終了すると、再生モードの判定処理２８４を経て、通常再生モードの復号処理２３０、または特殊再生モードの復号処理２００を行う。これらの処理では、再生モードの変化を検出するまで、その再生モードでフレームの復号処理を継続する。再生モードが変化すると停止の判定処理２８０を行う。判定処理２８０において、再生継続中（Ｖｐ≠０）と判定すれば、再生モードの判定処理２８４に戻る。再生停止（Ｖｐ＝０）と判定すれば再生を終了する。
【００３３】
通常再生モードの復号処理２３０について、図４のフローチャートを参照して説明する。まず、フレームの通常復号処理２４０とフレームの出力処理２４１とを行う。通常復号処理２４０は、ＭＰＥＧストリームの一般的な復号処理であり、ストリーム中において次の符号化順に位置するフレームを復号する。出力処理２４１は、復号されたフレームの中から、該当する次の時間順のフレームを出力する処理である。
【００３４】
通常復号処理２４０と出力処理２４１とを終了した時点で、１フレームの復号に要する時間が経過しているので、再生速度Ｖｐがユーザの操作により変化したかどうかを検出する処理である処理２８０と処理２８２とを行う。処理２８０で再生継続中（Ｖｐ≠０）と判定すれば、処理２８２に移り、再生停止（Ｖｐ＝０）と判定すれば、一連の復号処理を終了する。
【００３５】
処理２８２では、現在の再生速度Ｖｐが特殊再生モードに属する再生速度に変化したかどうかを判定する。具体的には、現在の再生速度Ｖｐが、Ｖｐ＜０または１＜Ｖｐの範囲であれば特殊再生モードに属する再生速度に変化したと判定して処理２７１に移る。現在の再生速度Ｖｐが、それ以外の範囲（０≦Ｖｐ≦１）であれば、通常再生モードが継続している判断として、次のフレームの通常復号処理２４０を実施する。
【００３６】
特殊再生モードの復号処理２００について、図５のフローチャートを参照して説明する。まず、再生速度Ｖｐに対する再生パターンの算出処理２１０を行う。これは、将来再生するフレームの組合せのいくつかを、それぞれ再生パターンとして算出するものである。再生パターンとは、現在のタイムコード位置から一定時間内に再生するフレーム群（１枚以上のフレームの集合）の配置パターンを示す概念である。
【００３７】
次に、算出した再生パターンの中から、復号処理時間と復号処理能力との点から判断して最適な再生パターンを選択する処理２１１を行う。処理２１１により得られた最適パターンを元にして、フレームの特殊復号処理３００を行う。特殊復号処理３００によって復号されたフレームが、次処理であるフレームの出力処理２４１にて出力される。
【００３８】
出力処理２４１を実施したのち、再生モードが変化したかどうかを検出する処理２８０，２８２を行う。まず、処理２８０において、現在の再生速度Ｖｐが、Ｖｐ＝０であるか否かを判定する。処理２８０でＶｐ＝０であると判定する場合は、現在は再生停止状態であると判断して、以降の処理を停止して終了処理を行う。
【００３９】
処理２８０でＶｐ≠０であると判定すれば、現在、再生は継続されていると判断して、処理２８１に移行する。処理２８１では、現在の再生速度Ｖｐが０＜Ｖｐ≦１であるか否かを判定する。処理２８１で０＜Ｖｐ≦１であると判定する場合は、現在の再生モードは、特殊再生モードから通常再生モードに変更されたと判断して、処理２７０に移行する。処理２７０では、再生モードを通常再生モードに設定する。再生モードを通常再生モードに設定したのち処理を終了する。
【００４０】
処理２８１で０＜Ｖｐ≦１でない（Ｖｐ＜０又は１＜Ｖｐ）と判定する場合は、現在の再生モードは特殊再生モードを維持していると判断して、処理２８３に移行する。処理２８３では、再生速度Ｖｐがフレーム復号前から変化しているか否かを判断する。再生速度Ｖｐが変化していないと判断する場合には、処理２１１で復号処理時間と復号処理能力との点から判断して設定した最適パターン（再生速度Ｖｐに対する再生パターン）を変更する必要がないと判断して、処理３００に戻ってフレームの特殊復号を継続する。
【００４１】
一方、処理２８３において、再生速度Ｖｐがフレーム復号前から変化していると判断する場合には、処理２１１で、復号処理時間と復号処理能力との点から判断して設定された最適パターン（再生速度Ｖｐに対する再生パターン）を変更する必要があると判断して、処理２１０に戻って最適パターンを選択し直したうえで、フレームの特殊復号を継続する。
【００４２】
フレームの特殊復号処理３００について図６を参照して説明する。図６は、フレームｆの特殊復号処理３００の詳細を示すフローチャートである。図６において符号ｆは、シーケンス内のフレームを一意に指定できるフレーム番号を示す。
【００４３】
まず、フレームｆが復号済み又は復号可能であるかを判定する処理３３０を行う。フレームｆが復号済みとは、フレームｆが既に復号されてフレームデータとしてメモリ等の記憶媒体に記憶されている状態を示す。一度復号されたフレームは、メモリに保存しておく限り、復号せずに何度でも利用することができる。フレームｆが復号可能とは、フレームｆのフレームデータだけを用いて復号が可能な状態を意味する。
フレームｆが復号可能とは、具体的にいうと、
・フレームｆがＩフレームである、
・フレームｆがＰフレームでかつ前方予測参照フレームが復号済みである、
・フレームｆがＢフレームでかつ前方予測参照フレームと後方予測参照フレームの両方が復号済みである、
のいずれかの状態である。
【００４４】
判定処理３３０において、フレームｆが復号済み又は復号可能であると判定する場合は、フレームｆが復号済みか否かの判定処理３３３を行う。判定処理３３３で復号済みと判定する場合は一連の処理を終了する。一方、判定処理３３３で、フレームｆが復号未済であると判断する場合はフレームｆの復号処理３４０と記憶処理３５０とを実施したうえで一連の処理を終了する。
【００４５】
判定処理３３０において、フレームｆが復号済みでも復号可能でもないと判定する場合は、フレームｆが後方予測を行っているか否かの判定処理３３１を行う。後方予測とは、表示順でそのフレームより後方に位置するフレームのデータを参照して復号化を行うことを示す。
【００４６】
判定処理３３１で後方予測を行っていると判定する場合は、フレームｆの後方予測参照フレームのフレーム番号をｂｗｄに設定する処理３１１を行ったうえで、設定したフレームｂｗｄの特殊復号処理３００Ａを行う。
【００４７】
フレームｂｗｄの特殊復号処理３００Ａを実施したのち、もしくは、判定処理３３１で後方予測を行っていないと判定する場合は、フレームｆが前方予測を行っているかどうかの判定処理３３２を行う。
【００４８】
判定処理３３２で前方予測を行っていると判定する場合は、フレームｆの前方予測参照フレームのフレーム番号をｆｗｄに設定する処理３１２を行ったうえで、設定したフレームｆｗｄの特殊復号処理３００Ｂを行う。
【００４９】
フレームｆｗｄの特殊復号処理３００Ｂを実施したのち、もしくは、判定処理３３２で前方予測を行っていないと判定する場合は、フレームｆに対する一連の特殊復号処理が終了したと判断して、次なるフレームｆに対する特殊復号処理に移行するために、判定処理３３０に戻って処理を継続する。フレームｆが予測を行っている場合は、フレームｂｗｄの特殊復号３００又はフレームｆｗｄの特殊復号３００のどちらか又は両方で予測参照フレームが復号されているので、ここでフレームｆは復号可能となる。
【００５０】
フレームｂｗｄの特殊復号３００とフレームｆｗｄの特殊復号３００は、フレームｆの特殊復号３００の再帰処理である。したがって、予測参照フレーム（フレームｂｗｄ，  フレームｆｗｄ）を順に辿っていき、自身のフレームデータだけで復号可能なＩフレームにたどり着いた所で初めてフレームの復号処理３４０が行える。そのため、自身のフレームデータだけで復号可能なＩフレームに辿り着いた所から予測参照フレームを必要とするフレームの復号が順に行われ、その結果、復号対象となるフレームｆの特殊復号が完了することとなる。
【００５１】
次に、復号回数と復号処理能力の関係について、図７を参照して説明する。復号回数表５２０は、各フレームを復号するのに予測参照フレームを含めて何フレームの復号が必要かを表す。図７では、Ｖｐ＝４つまり４倍速再生を行うのに、図７のフレームの範囲では１フレーム時間当たり平均３．７５フレームの復号処理が必要となることを示している。この値（１フレーム時間当たりに必要な平均復号処理回数）を、再生速度Ｖｐにおける平均必要復号速度Ｖｎと定義する。
【００５２】
一方、復号処理能力は、図６における復号処理３４０を１フレーム時間に平均何回実行できるかで定義する。換言すれば、平均復号速度Ｖｄは、１フレーム時間当りに復号可能なフレーム数として定義される。
【００５３】
次に、算出処理２１０（図５参照）における算出対象とした再生速度Ｖｐに対する再生パターンを、図８を用いて説明する。ここでは、４倍速再生を例にして特殊再生モードにおける再生パターンを説明するが、他の速度で再生する場合においても同様に実施できるのはいうまでもない。
【００５４】
図８（ａ）は、通常の４倍速再生におけるフレームの構造例を示している。通常の４倍速再生では、現時点から４フレーム毎に１フレームを表示（間引き表示）することで４倍速再生が実施される。ここで、４フレーム毎に１フレームを表示することで、実施される４倍速再生のフレーム列（再生パターン）は、現在のタイムコードと現在の再生速度とに基いて設定される再生フレーム列の一例を構成する。
【００５５】
再生パターンの算出方法としては、通常の４倍速再生パターン（再生フレーム列）の算出と、４倍速再生パターン（再生フレーム列）全体をシフトする４倍速再生パターンの算出と、４倍速再生パターン（再生フレーム列）を構成する各再生フレームを個別にシフトする４倍速再生パターン（再生フレーム列）の算出とがある。
【００５６】
通常の４倍速再生パターンは、図８（ａ）に示す通りである。再生フレーム全体をシフトする４倍速再生パターンは、図８（ｂ）に示す通り、現時点からあるフレーム数だけ再生開始位置をシフトすることで再生フレーム全体を、図８（ａ）の状態からシフトする再生パターンである。各再生フレームを個別にシフトする４倍速再生パターンは、図８（ｃ）に示す通り、各再生フレームを、単独で所定のフレーム数だけ前後にシフトする再生パターンである。
【００５７】
再生フレーム全体をシフトする再生パターン（図８（ｂ））や、各再生フレームを個別にシフトする再生パターン（図８（ｃ））では、フレームのシフト量を変化させることで、複数の再生パターンを算出することができる。さらには、再生フレーム全体をシフトする再生パターン（図８（ｂ））と各再生フレームを個別にシフトする再生パターン（図８（ｃ））とを組み合わせてなる再生パターンを設定することで、多種多様な再生パターンを算出することができる。
【００５８】
再生速度Ｖｐに対する再生パターンの算出処理２１０について、図９を参照してさらに説明する。図９は、ＧＯＰ長Ｎ＝６で、ＩフレームとＰフレームとだけから構成されるＭＰＥＧストリームを４倍速再生する例を示す。
【００５９】
まず、ストリームに対して復号回数表を準備する。この例では、再生パターンの算出方法として、図８（ｂ）に示す再生フレーム全体をシフトする再生パターンを用いる。フレームのシフト量は多くの値を用いることができる。この例では、ＧＯＰの周期性と倍速値（４）とから、シフトする再生パターンは４種類となる。各再生パターンに対して、復号回数表を用いて対応する復号回数を抜き出す。
【００６０】
このように算出された再生パターンに対しては、最適パターンの選択処理２１１（図５参照）を以下のように行う。図９の４種類の再生パターンに対して、平均必要復号速度Ｖｎを求めると、図９に示すように、再生パターン２と再生パターン４とがＶｎ＝３で最小値を取る。ここで、再生パターン１と再生パターン３、再生パターン２と再生パターン４は、それぞれ平均必要復号速度の値だけでなく、各フレームの復号回数の出現パターンも同じ同種の再生パターンである。つまり、再生パターン１は２，６，４，２と復号回数が推移するが、再生パターン３も最初の４の次から２，６，４，２と復号回数が推移する。再生パターン２と再生パターン４も同様である。したがって、再生パターン１と再生パターン３、および再生パターン２と再生パターン４は、同種の再生パターンと考えることができる。そこで、フレームのシフト量の少ない再生パターン２を最小値とする。ここで復号処理能力を平均復号速度Ｖｄ＝３と仮定すると、再生パターン２はＶｎ＝Ｖｄなので滑らかに再生可能となる。しかし、再生パターン１ではＶｎ＞Ｖｄとなり、復号処理能力が不足するため、滑らかな再生ができないことになる。この点において、本発明の方法によって再生フレームを設定することによる効果が明らかとなる。
【００６１】
図１０に、ＧＯＰ内のフレームデータをメモリ等に記憶しておく場合の例を示す。図１０の再生パターン１におけるフレームａを復号するためには、復号回数を６必要とするが、ＧＯＰ内のフレームを記憶しておくと、フレームｂの復号データを利用できる。そこでフレームｂ以降の４枚のＰフレームを復号すれば良いので、復号回数は４に削減できる。平均必要速度Ｖｎも低くなり、再生パターン２ではＶｎ＝２．６７に削減される。また、このように記憶したフレームを利用する場合の再生方法も、フレームｆの特殊復号処理３００（図６参照）の動作で対応できる。すなわち、予測参照フレームの特殊復号処理３００を再帰的に実行する際において、既に復号されて記憶されたフレームがある場合、処理３３０と処理３３３（ともに図６参照）で復号済みのフレームが確認されて、復号や記憶は実行されないためである。
【００６２】
再生速度Ｖｐに対する再生パターンを算出する処理２１０（図５参照）の別の例について、図１１を参照して説明する。図１１は、ＧＯＰ長Ｎ＝６で、Ｉフレーム，Ｐフレーム，Ｂフレームから構成されるＭＰＥＧストリームを４倍速再生する例である。この例も、図９と同様、４種類の再生パターンがあり、再生パターン１と再生パターン３，再生パターン２と再生パターン４が，それぞれ復号回数の点で同種の再生パターンとなる。この場合も同様に，再生パターン２を最適パターンとして選択する。このように本発明は，ＧＯＰがＩ，Ｐフレームのみで構成されるか、Ｉ，Ｐ，Ｂフレームで構成されるかに関わらず適用することが可能である。
【００６３】
図９〜図１１の例において、ＭＰＥＧストリームにおけるフレームデータに離散的にアクセスする方法として、図１２のバイト位置表５１０を用いる。バイト位置表５１０を用いる理由は、ＭＰＥＧストリームにおいて圧縮された各フレームデータのサイズは可変長であり、ＧＯＰの先頭位置（バイト位置）やフレームの先頭位置の情報は、一般にストリーム中には存在しないことによる。
【００６４】
バイト位置表５１０は、少なくとも、表示順のインデックス（ｅ），フレームタイプ（ｂ），総バイト数（ｄ）の情報を有しておれば良い。例えば、図１２のバイト位置表５１０における符号化順が３のＰフレームを読み出す場合を考える。図１２において、フレーム先頭位置までの総バイト数はストリーム中で一意に決まる。そのため、フレーム先頭位置までの総バイト数に基づいて、フレームデータを読み込めば、正確に所望のフレームデータを読み込むことができる。例えば、フレーム先頭位置から数えて３４３４１９バイトの位置からデータを読み込めば、それが符号化順３のＰフレームのフレームデータとなる。
【００６５】
このように、バイト位置表５１０を用いれば、フレームデータの検索が非常に容易にかつ正確に行うことができる。なお、図１２では、符号化順と表示順の値は簡単のためＧＯＰ内で一意に決まる値にしているが、ストリーム全体で一意に決まる値とするのが望ましい。
【００６６】
バイト位置表５１０を作成する方法を説明する。第１の方法は、映像を符号化する際に、ストリームとして出力するバイト数をカウントしておき、ストリームと共に表を出力して記録媒体４２０（図２参照）に記録する方法である。第２の方法は、記録媒体４２０には記録せずに、ストリームを転送する際に算出して内部のメモリ等に記憶しておく方法である。なお、バイト位置表５１０を作成しない場合でも、ストリームを読み込む際に時刻，ビットレート，バッファ占有量などから推定されるバイト位置を算出し、その少し手前の位置からストリームを探索することでフレームデータの開始位置を探し出すことも可能である。
【００６７】
図９〜図１１を参照して説明した再生パターンの算出方法では、ＧＯＰ長を一定として算出した。しかしながら、本発明は、ＧＯＰ長が可変である場合にも適用することができる。この場合には、現時点から参照するある一定のフレーム数Ｎｆと、最大のフレームシフト量Ｔｆとを設定する。次に設定したフレーム数Ｎｆのフレームに対して復号回数表を作成する。次に、フレームシフト量０（現時点）から最大のフレームシフト量Ｔｆまでの（Ｔｆ＋１）通りのフレーム開始位置から、再生速度Ｖｐに対応した再生パターンを構成するフレームを抜き出す。フレームの抜き出しは、フレーム数Ｎｆまで実施する。フレーム抜き出しを実施した（Ｔｆ＋１）通りの再生パターンそれぞれの平均必要復号速度Ｖｎを計算する。そして、平均必要復号速度Ｖｎが最小の値を持つ再生パターンを最適パターンとして選択する。
【００６８】
また、最適パターンを選択する他の方法としては、平均必要復号速度Ｖｎが最小のものを選択せず、平均復号速度Ｖｄ以下で最もフレームシフト量が小さいものを選択する方法がある。確かに、図９の再生パターン２では、フレームシフト量は１となり、このシフト量はＮＴＳＣにおいて約３３ｍｓｅｃの誤差であり殆ど無視できる。しかしながら、パターン数が増える程、誤差が認識できるようになる。そのため、復号できる範囲でできるだけ小さいフレームシフト量を選択することは有効である。また、高速に再生するほど誤差の許容度が大きくなることから、再生速度Ｖｐに応じて許容するフレームシフト量を変化させることも可能である。以上に限らず、最適パターン選択の方法は様々な方法を適用することが可能である。
【００６９】
本実施の形態では順方向の高速再生を例にとって説明したが、逆再生、逆方向の高速再生に対しても、復号回数表と再生パターンの選択に基づく同様の方法で実現することが可能である。
【００７０】
以上説明したように本発明によれば、再生開始フレームをシフトさせた再生パターンを算出し、平均必要復号速度が平均復号速度に収まる最適パターンを選択することで、限られた復号処理能力の中で滑らかな特殊再生を行うことが可能となる。
【００７１】
なお、上記実施の形態では、復号処理時間と復号処理能力とに基づいてフレーム群を選択して復号する構成となっていたが、単に、復号処理時間に基いてフレーム群を選択してもよい。その場合であっても、復号処理を最短時間で行うことができるという意味で、最適の復号処理が実施可能となる。
【００７２】
（実施の形態２）
本実施の形態では、実施の形態１において、ＧＯＰ長Ｎが一定又はほぼ一定と見なせる場合に、復号回数表を用意せずに再生パターンを算出し、最適パターンを選択する方法について説明する。
【００７３】
図１を参照して、再生速度Ｖｐに関わらず有限の範囲で再生パターンを算出できる根拠を説明する。図１は、ＧＯＰ長が一定であるＭＰＥＧストリーム１００において、対応した復号回数表１１０を示している。このような図１の構成に基いて、ＧＯＰ長Ｎ＝６で、ＧＯＰ内で２番目のＰフレームを現在のフレームとし、再生速度Ｖｐ＝４で再生する場合を考える。
【００７４】
再生速度Ｖｐ＝４に応じれば、４フレーム毎にフレームを選択しつつ（間引きつつ）再生を実施することとなる。実施の形態１で説明したように、このような再生形態により再生されるパターン群を再生パターンと規定する。そうすると、現在のフレームから数えて３フレーム再生すれば、現在のフレームと同じＧＯＰ内の周期位置に位置するフレーム、つまりＧＯＰ内で２番目に位置するＰフレームを再生することになる。以上のことから、再生パターンには周期性があり、さらにはその周期における１周期の長さＴｐは次の（１）式で定義できる。なお、再生パターンの１周期の長さＴｐは、請求項における一定時間の一例を示す時間概念である。但し、本発明における一定時間はこのような時間概念に限定されるものではなく、予め、任意に設定する時間長であってもよいのはいうまでもない。
【００７５】
Ｔｐ＝ｌｃｍ（Ｎ，Ｖｐ）  …（１）
ＮはＧＯＰ長、Ｖｐは再生速度、ｌｃｍ（ａ，ｂ）はａとｂの最小公倍数を与える関数である。Ｔｐ／Ｖｐの値が、再生パターンの１周期中に再生されるフレーム数である。例として、Ｔｐ／Ｖｐの値を３フレームとすると、その時間はＮＴＳＣでは約１００ｍｓｅｃとなる。つまり１００ｍｓｅｃ以上再生されれば、近似的に平均必要復号回数は同じとみなすことができる。そのため、再生パターンの１周期に含まれるフレームの復号回数のみを評価して再生パターンを算出することができる。また、復号回数表は１周期の範囲のみをＧＯＰ構造から生成すれば良いので、記録媒体４２０（図２参照）に記録するなどして予め用意する必要はない。
【００７６】
実施の形態１において、図９，図１０，図１１を参照して説明した再生パターンの定義を一般化する。ＧＯＰがＩ，Ｐフレームのみで構成されるか、Ｉ，Ｐ，Ｂフレームで構成されるかに関わらず、またフレームが記憶されるかどうかに関わらず、ＧＯＰ長が一定または一定と見なせる条件の下で、複数設定される再生パターンそれぞれにおいて、本発明において異種の再生パターンと見なすことができる再生パターンの数（Ｎｐａｔ）は以下の（２）式で定義できる。なお、ここで再生パターンを同種，異種に判別する基準は、図９，図１０を参照して実施の形態１で説明した同種の判別基準に基いている。
【００７７】
Ｎｐａｔ＝ｇｃｄ（Ｎ，Ｖｐ）    …（２）
但し、ＮはＧＯＰ長、Ｖｐは再生速度、ｇｃｄ（ａ，ｂ）はａとｂの最大公約数を与える関数である。再生パターンの数（Ｎｐａｔ）がＶｐでなくＮとＶｐの最大公約数になる理由は、図９を参照して実施の形態１で説明したように、周期的には同一になる再生パターンを排除できるためである。
【００７８】
図１３に、図９の例に対して、再生パターンの数（Ｎｐａｔ）を算出した例を示す。Ｎ＝６，Ｖｐ＝４であるから、Ｎｐａｔ＝ｇｃｄ（６，４）＝２となる。また、再生速度（Ｖｐ）を変化させた場合の再生パターンの数（Ｎｐａｔ）を表に示している。表のように、Ｎｐａｔ＝ｇｃｄ（６，Ｖｐ）であり、Ｎｐａｔは６より大きな値を取ることはない。このことから、再生パターンの算出は容易であり、復号回数の比較により最適パターンを容易に選び出すことが可能であることがわかる。
【００７９】
再生パターンの選択方法を一般化すると次のようになる。第１に、Ｎｐａｔ＝１の場合、現在のフレームを含む再生パターンを選択する。これは再生パターンが１種類のため、最もフレームシフト量の少ない再生パターンを適用するためである。第２に、Ｎｐａｔ＝ａ（但し１＜ａ＜Ｎの整数）の場合、Ｉフレームを含む再生パターンを選択する。これは、ＧＯＰ構造に関わらず、Ｉフレームを含む再生パターンが最も平均必要復号回数が小さくなるためである。ここで、Ｉフレームを含む再生パターンは複数個出現しないことに注意されたい。第３に、Ｎｐａｔ＝Ｎの場合、Ｉフレームまで移動して再生する。この場合は、Ｖｐ＝ｍ・Ｎ（ｍは自然数）であるから、Ｉフレームのみの再生パターンが必ず存在するためである。
【００８０】
本実施の形態では順方向の高速再生を例にとって説明したが、Ｖｐ＜０となる逆再生や逆方向の高速再生に対しても、Ｖｐの代わりに｜Ｖｐ｜を用いることで、同様に実現することが可能である。
【００８１】
以上説明したように、本実施の形態によれば、ＧＯＰ長を一定またはほぼ一定と見なせる場合に、復号回数表を用意せずに再生パターンを算出して最適パターンを選択することができ、限られた復号処理能力の中で滑らかな特殊再生を行うことが可能となる。
【００８２】
（実施の形態３）
本実施の形態では、実施の形態１に対して、さらに図８（ｃ）に示した各再生フレームのシフトを適用して、復号処理能力が一層限られた場合でも滑らかな特殊再生を行うことを可能とする例について示す。
【００８３】
図１４に、図９の例に対して、図８（ｃ）に示した各再生フレームのシフトを適用した例を示す。最大フレームシフト量は１とし、各フレームのシフト量は、−１，０，＋１のうちいずれかの値を持つ。シフトの方法として、双方向シフト，片方向シフト，シフトなしの３種類を用いる。双方向シフトは−１と＋１の双方向のシフトとシフトなしを許可するものであり、片方向シフトはシフトなし以外に−１の前方シフトのみ又は＋１後方シフトのみを許可するものである。シフトなしは図９の再生パターンからシフトを行わない。以上の３種類のシフトを区別して用いる理由は、３種類の間でフレーム表示の時間間隔、つまりフレームの表示精度が異なるためである。フレームの表示精度を評価するため、フレーム最小間隔ｄｍｉｎとフレーム最大間隔ｄｍａｘとを定義する。
【００８４】
図１４に示すように、図９で得られた再生パターン１，２それぞれに対して、（ａ）双方向シフト，（ｂ）片方向シフト，（ｃ）シフトなしを適用する。（ａ），（ｂ），（ｃ）各シフトの中で平均必要復号速度が最小のシフトパターンを算出する。但し、以下の規則を適用する。
【００８５】
第１の規則
再生パターンの１周期中の全てのフレームが同一方向にシフトされる場合は除外する。この再生パターンは、行われた図８（ｂ）の再生開始フレームのシフトで既に含まれているためである。
【００８６】
第２の規則
全ての双方向シフトにおいては、平均必要復号速度が最小の再生パターンが片方向シフト又はシフトなしになる場合、該当なしとする。
【００８７】
第３の規則
片方向シフトにおいては、前方または後方シフトのうち平均必要復号速度が最小となる再生パターンを選択するが、平均必要復号速度が最小の再生パターンがシフトなしになる場合、該当なしとする。
【００８８】
第４の規則
既に平均必要復号速度が最小となる再生パターンとして出現した再生パターンが再び最小となる再生パターンとなる場合、該当なしとする。
【００８９】
以上の規則を適用すると、図１４のように平均必要復号速度Ｖｎ，フレーム最小間隔ｄｍｉｎ，フレーム最大間隔ｄｍａｘの表が得られる。ここで、フレーム最小間隔ｄｍｉｎとは、シフトにより、間引き間隔（離間間隔）が変動する隣接表示フレームの離間間隔において、最小値を取るフレーム離間間隔をいう。反対に、フレーム最大間隔ｄｍａｘとは、最大値を取るフレーム離間間隔をいう。これら最大最小間隔に基いて定義される表示ゆらぎ幅Ｗ（＝ｄｍａｘ−ｄｍｉｎ）は、表示精度に影響を及ぼす。表示ゆらぎ幅Ｗが大きい程、表示精度が落ちる。
【００９０】
図１５に、図１４で得られた結果を評価するための表を示す。図１５に示すように、平均必要復号速度Ｖｄを中心とした復号処理能力の評価と、表示ゆらぎ幅Ｗ（＝ｄｍａｘ−ｄｍｉｎ）を中心とした表示精度の評価とから、最適パターンを選択する。具体的には、平均必要復号速度Ｖｎが、復号処理能力を表す平均復号速度Ｖｄ以下となり、表示ゆらぎ幅が最も小さい再生パターンを選択する。
【００９１】
また、復号処理能力の評価として最小復号回数や最大復号回数を用いることもできる。表示精度の評価としては、実施の形態１で用いた再生開始フレームのシフト量を用いることもできる。但し、再生パターン１（ａ）のように再生開始フレームも再度シフトされる場合があることに注意する。
【００９２】
図１４の例において、最大フレームシフト量を１とした理由は、実際には１で十分な場合が多いためである。平均必要復号速度を一層削減したい場合には、必要であれば２以上の値も同様に適用することができる。この場合、シフト量による分類は３種類より多く取ることもできる。但し、当然ながら連続するフレームの時間的順序が入れ替わるようなシフトは行われない。
【００９３】
以上の例では、ＧＯＰがＩフレームとＰフレームのみで構成される例で示したが、ＧＯＰがＩフレーム，Ｐフレーム，Ｂフレームで構成される場合においても、復号回数表が異なるだけであるので同様に適用することができる。また、一度復号したフレームを記憶しない場合を示したが、復号したフレームを記憶する場合も、復号回数表が異なるだけであるので同様に適用できる。
【００９４】
以上のように本実施の形態によれば、実施の形態１に対して、さらに各再生フレームのシフトを適用して、復号処理能力が一層限られた場合でも滑らかな特殊再生を行うことができる。
【００９５】
（実施の形態４）
本実施の形態では、実施の形態１を実現するための装置について説明する。
【００９６】
図１６は、本発明の映像再生装置を示す図である。図１６の映像再生装置４００において、４１０は符号化された映像であるストリームを復号する復号器、４１１は復号処理を行うためのＣＰＵ、４１２はストリームや復号されたフレームを記録しておくメモリ、４１３はＣＰＵ４１１を動作させるプログラムを初期状態で格納しておくためのＲＯＭ、４２１はディスクを駆動するためのディスクコントローラ、４２２はストリームが記録されている光ディスクドライブ、４３１はディスクコントローラ４２１と復号器４１０を制御して最適な表示を行うための制御プロセッサ、４３２はモニタ等、映像を表示するための表示デバイスである。
【００９７】
以上のように構成された映像再生装置において、以下、その動作を説明する。まず、映像再生装置４００の起動前には、本発明による復号のためのプログラムがＲＯＭ４１３に記録されている。本装置の起動操作により、ＲＯＭ４１３からプログラムがＣＰＵ４１１にロードされ、ＣＰＵ４１１はストリームの復号処理が可能となる。映像再生装置４００（映像再生手段４５０（図２参照））における復号処理は、このプログラムで実現されている。再生前には、ストリームが記録された光ディスクが、光ディスクドライブ４２２に装填される。
【００９８】
映像再生装置４００の再生動作を説明する。ユーザからの再生コマンドが、バス４３３を介して制御プロセッサ４３１に与えられると、制御プロセッサ４３１はディスクコントローラ４２１を駆動し、光ディスクドライブ４２２から指定された時刻から始まるストリームを一定量読み出し、メモリ４１２に転送する。この一定量は、再生動作に障害が生じないように、例えば数ＧＯＰ単位や数秒単位といった適切な長さとすることができる。同時に、メモリ４１２の割込み領域にＣＰＵへの復号命令を書き込む。ＣＰＵ４１１はメモリ４１２の割込み領域を監視しており、再生命令が与えられると、メモリ４１２からストリームを読み出し、復号処理を行い、復号したフレームデータをメモリ４１２に書き込む。その際、ＣＰＵ４１１は、現在のタイムコード位置から一定時間内に再生するフレーム群を複数抽出したうえで、抽出した複数のフレーム群を復号処理するのに要する時間をそれぞれ算出するという処理と、算出した前記復号処理時間に基いて、前記複数のフレーム群から任意のフレーム群を選択して復号する処理とを実施することで、フレームデータを復号処理する。つまり、ＣＰＵ４１１は請求項における計時器の機能と復号器の機能とを発揮する。また、ＣＰＵ４１１は請求項におけるフレーム配置パターンを選択する手段と、映像を復号する手段とを発揮する。
【００９９】
フレームデータがメモリ４１２に書き込まれると、制御プロセッサ４３１は、それを表示デバイス４３２に送って映像を表示させる。
【０１００】
映像再生装置４００（映像再生手段４５０）において、フレームを記憶する方法を、図１７を参照して説明する。図１７は、ＣＰＵ４１１に格納されるプログラムによって管理される復号フレーム表５００（図１７（ａ））と、メモリ４１２（図１７（ｂ））とを示している。プログラムは、メモリ４１２上に復号されたフレームデータが存在するかどうかを示す復号データ存在フラグと、対応するフレームのインデックス（シーケンス内で一意に決まる通し番号）の表とを持っており、これらを常に最新の状態に保つ。この表は、フレームを復号してメモリ４１２に格納する際にフラグを更新することで簡単に管理できる。メモリ４１２には、インデックスと対応するフレームデータを格納する。図１６の制御プロセッサ４３１は、このメモリ４１２上のインデックスを確認することで、復号されたフレームデータがメモリ上に存在するかどうかを確認できる。但し、メモリ４１２上のインデックスは図１７（ｂ）の配置に限られるものではなく、例えば図１７（ａ）の一覧表のような検索し易い形式でメモリに保存してあっても良い。
【０１０１】
以上の映像再生装置４００の説明においては、光ディスクドライブを想定して説明したが、ハードディスクドライブやメモリなど、情報を記録する媒体であれば同じく実現が可能であるのは言うまでもない。また、実時間より高速に復号処理を行う復号器としてＣＰＵとメモリを用いた例を示したが、復号処理が実時間より高速に行えるものであれば、これに限定するものではない。以上のように本実施の形態によれば、実施の形態１を装置として実現できる。
【０１０２】
（実施の形態５）
本実施の形態では、映像符号化方法において、符号化時の予測方向を限定することで、平均必要復号速度Ｖｎを削減する符号化方法を示す。
【０１０３】
図１８に、予測方向を限定する符号化方法を示す。図１８（ａ）がＧＯＰ長Ｎ＝１５の通常の符号化方法を示す。図１８（ｂ），（ｃ）はＢフレームの双方向予測に対して予測方向の限定を行う方法ほ示す。図１８（ｂ）は、ＧＯＰの最初の２枚のＢフレームは後方予測しか用いず、それ以外のＢフレームは前方予測しか用いない方法を示す。図１８（ｃ）は、ＧＯＰの最初の２枚のＢフレームは後方予測しか用いず、それ以外のＢフレームは前方にあるフレームは前方予測、後方にあるフレームは後方予測しか用いない方法である。図１８（ｂ）と図１８（ｃ）との両方において、平均必要復号速度Ｖｎが（ａ）と比べて削減されている。これは、図１８（ｂ），図１８（ｃ）のように符号化されたストリームを特殊再生する際、復号処理をより高速に行えることを意味する。ここで、ＧＯＰの最初の２枚のＢフレームに対する予測方向限定は、一般的にはクローズドＧＯＰにより行うことができる。その他のフレームの予測方向限定は、符号化時にフレーム全体でその方向への予測処理を行わないか、マクロブロック単位に設定可能な予測モードを限定することで、実現可能である。
【０１０４】
本実施の形態で符号化した映像に対して、予測を限定した符号化を行った情報を図１２のバイト位置表５１０に加えておけば、特殊再生時に予測に用いなかった予測参照フレームの復号は行われない。図１１を参照して説明したような例において、本実施の形態によるストリームを利用することが可能である。以上のように本実施の形態によれば、符号化時の予測方向を限定することで、平均必要復号速度Ｖｎを削減する映像符号化方法を提供することができ、限られた復号処理能力を持つ再生手段に対しても滑らかな特殊再生を行うことができるストリームを生成することができる。
【０１０５】
【発明の効果】
以上の説明から明らかなように、本発明によれば、再生フレームをシフトさせた再生パターンを算出し、平均必要復号速度が平均復号速度に収まる最適パターンを選択することで、高速再生等の復号の負荷の大きい特殊再生時に、滑らかに映像を再生できる。
【図面の簡単な説明】
【図１】本発明の実施の形態２における有限の範囲で再生パターンを算出できる根拠を説明する図。
【図２】本発明の実施の形態１における映像再生方法を実現する構成図。
【図３】同実施の形態１における再生時の復号処理を示すフローチャート図。
【図４】同実施の形態１における通常再生モードの復号処理を示すフローチャート図。
【図５】同実施の形態１における特殊再生モードの復号処理を示すフローチャート図。
【図６】同実施の形態１におけるフレームの特殊復号処理を示すフローチャート図。
【図７】同実施の形態１における復号回数と復号処理能力の関係を説明する図。
【図８】同実施の形態１及び同実施の形態３におけるフレームのシフトを示す図。
【図９】同実施の形態１における再生パターンの算出の例を示す図。
【図１０】同実施の形態１における再生パターンの算出の例を示す図。
【図１１】同実施の形態１における再生パターンの算出の例を示す図。
【図１２】同実施の形態１におけるバイト位置表の例を示す図。
【図１３】本発明の実施の形態２における再生パターン数を示す図。
【図１４】本発明の実施の形態３における再生パターンの算出の例を示す図。
【図１５】同実施の形態３における最適パターンの選択を説明する図。
【図１６】本発明の実施の形態４における映像再生装置の構成を示す図。
【図１７】同実施の形態４における復号フレームの記憶方法を示す図。
【図１８】本発明の実施の形態５における予測方向を限定した符号化方法を示す図。
【図１９】ＭＰＥＧに基づく映像符号化方法における各フレームの構成図。
【図２０】ＩフレームとＰフレームとを符号化する場合の従来例におけるフレーム構成図。
【図２１】符号化・復号化されるＭＰＥＧのストリームを、特殊再生、特に高速再生する場合の従来例における説明図。
【符号の説明】
１００  ＭＰＥＧストリーム  １０１  Ｉフレーム
１０２  Ｐフレーム          １１０  復号回数表
４００  映像再生装置        ４１０  復号器
４１１  ＣＰＵ              ４１２  メモリ（ＲＡＭ）
４１３  ＲＯＭ              ４１４  バス
４１５  ＣＰＵコア          ４１６  プログラムキャッシュ
４１７  データキャッシュ    ４１８  プログラムバス
４１９  データバス          ４２０  記録媒体
４２１  ディスクコントローラ
４２２  光ディスクドライブ  ４３１  制御プロセッサ
４３２  表示デバイス        ４３３  バス
４４０  再生操作入力手段    ４５０  映像再生手段
５００  復号フレーム表      ５１０  バイト位置表
５２０  復号回数表
【図１】
2004343648.tif 000003
【図２】
2004343648.tif 000004
【図３】
2004343648.tif 000005
【図４】
2004343648.tif 000006
【図５】
2004343648.tif 000007
【図６】
2004343648.tif 000008
【図７】
2004343648.tif 000009
【図８】
2004343648.tif 000010
【図９】
2004343648.tif 000011
【図１０】
2004343648.tif 000012
【図１１】
2004343648.tif 000013
【図１２】
2004343648.tif 000014
【図１３】
2004343648.tif 000015
【図１４】
2004343648.tif 000016
【図１５】
2004343648.tif 000017
【図１６】
2004343648.tif 000018
【図１７】
2004343648.tif 000019
【図１８】
2004343648.tif 000020
【図１９】
2004343648.tif 000021
【図２０】
2004343648.tif 000022
【図２１】
2004343648.tif 000023