(57)【要約】【課題】通常再生時の映像の動きの問題や、スロー再生時の映像のゆれや粗さの問題を回避する。【解決手段】ＣＰＵ１０は、ＭＰＥＧデータの表示方式を、通常再生時にはＢＯＢ方式に切り替え、スロー再生時にはＷｅａｖｅ／コーミング除去方式に切り替える。具体的には、ＣＰＵ１０は、通常再生時には、表示制御部７４に対し、ＭＰＥＧデータの表示形式としてＢＯＢ方式を指示する。表示制御部７４は、ＭＰＥＧデータをＢＯＢ方式で表示する。一方、ＣＰＵ１０は、スロー再生時には、表示制御部７４に対し、ＭＰＥＧデータの表示形式としてＷｅａｖｅ／コーミング除去方式を指示するとともに、ＭＰＥＧデータに対してＳ／Ｗ的にコーミング除去処理を施す。表示制御部７４は、コーミング除去処理後のＭＰＥＧデータをＷｅａｖｅ方式で表示する。【選択図】図１
2008085580.tif 000002
【特許請求の範囲】
【請求項１】
インターレース方式の映像の表示形式を、Ｗｅａｖｅ方式にコーミング除去処理を併用したＷｅａｖｅ／コーミング除去方式と、ＢＯＢ方式とに切替可能な情報処理装置であって、
前記映像の表示形式を、通常再生時には前記ＢＯＢ方式に切り替え、スロー再生時には前記Ｗｅａｖｅ／コーミング除去方式に切り替える制御手段を有する、情報処理装置。
【請求項２】
ＮＴＳＣ方式の映像の表示形式を、Ｗｅａｖｅ方式にコーミング除去処理を併用したＷｅａｖｅ／コーミング除去方式と、ＢＯＢ方式とに切替可能な情報処理装置であって、
前記映像の表示形式を、通常再生時には前記ＢＯＢ方式に切り替え、スロー再生時には前記Ｗｅａｖｅ／コーミング除去方式に切り替える制御手段を有する、情報処理装置。
【請求項３】
前記映像のＭＰＥＧデータをデコードするデコード手段を有し、
前記制御手段は、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後は、前記デコード手段によるデコード後のＭＰＥＧデータに対してコーミング除去処理を施し、
前記ＢＯＢ方式への切り替え後は、前記デコード手段によるデコード後のＭＰＥＧデータを前記ＢＯＢ方式で表示し、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後は、前記制御手段によるコーミング除去処理後のＭＰＥＧデータを前記Ｗｅａｖｅ方式で表示する表示制御手段を有する、請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、スロー再生時には、自己の負荷が閾値以下になった時点で、前記Ｗｅａｖｅ／コーミング除去方式に切り替える、請求項３に記載の情報処理装置。
【請求項５】
前記ＭＰＥＧデータを一時的に格納する複数のバッファをさらに有し、
前記制御手段は、前記デコード手段に対しては、デコード時に参照させる参照用バッファと、デコード後のＭＰＥＧデータを一時的に格納させるデコード用バッファとを指定し、前記表示制御部に対しては、デコード後のＭＰＥＧデータであって次に表示させるＭＰＥＧデータが格納された表示用バッファを指定し、
前記デコード手段は、前記ＭＰＥＧデータを前記参照用バッファ内のＭＰＥＧデータを参照してデコードし、デコード後のＭＰＥＧデータを前記デコード用バッファに格納し、
前記表示制御手段は、前記表示用バッファ内のＭＰＥＧデータを表示する、請求項３または４に記載の情報処理装置。
【請求項６】
前記制御手段は、前記デコード用バッファとして指定したバッファ内のＭＰＥＧデータが他のＭＰＥＧデータのデコード時に参照される場合、当該バッファを一定期間他のＭＰＥＧデータのデコード用バッファとして指定しない、請求項５に記載の情報処理装置。
【請求項７】
前記制御手段は、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後に、前記デコード用バッファとして指定したバッファ内のＭＰＥＧデータが表示順になると、当該ＭＰＥＧデータに対してコーミング除去処理を施し、コーミング除去処理後のＭＰＥＧデータを別のバッファに格納し、当該別のバッファを前記表示用バッファとして指定する、請求項５に記載の情報処理装置。
【請求項８】
前記制御手段は、前記ＢＯＢ方式への切り替え後に、前記デコード用バッファとして指定したバッファ内のＭＰＥＧデータが表示順になると、当該バッファを前記表示用バッファとして指定する、請求項５に記載の情報処理装置。
【請求項９】
前記制御手段は、通常再生中のポーズ時には、前記映像の表示形式を前記Ｗｅａｖｅ／コーミング除去方式に切り替える、請求項３または４に記載の情報処理装置。
【請求項１０】
前記表示制御手段は、通常再生中のポーズ時には、まず、表示中のＭＰＥＧデータのポーズ画像を前記ＢＯＢ方式で表示し、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後は、表示中のＭＰＥＧデータの前記コーミング除去処理後のポーズ画像を前記Ｗｅａｖｅ方式で表示する、請求項９に記載の情報処理装置。
【請求項１１】
ＮＴＳＣ方式の映像の表示形式を、Ｗｅａｖｅ方式にコーミング除去処理を併用したＷｅａｖｅ／コーミング除去方式と、ＢＯＢ方式とに切替可能なコンピュータに、
前記映像の表示形式を、通常再生時には前記ＢＯＢ方式に切り替え、スロー再生時には前記Ｗｅａｖｅ／コーミング除去方式に切り替える切替処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｔａｎｄａｒｄｓ  Ｃｏｍｍｉｔｔｅｅ）方式の映像を表示するための情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
ＮＴＳＣ方式では、奇数の走査線で構成される奇数フィールドの映像と偶数の走査線で構成される偶数フィールドの映像を１／６０秒のタイミングで交互に表示する。
【０００３】
このようなＮＴＳＣ映像を情報処理装置で表示する表示方式として、Ｗｅａｖｅ方式とＢＯＢ方式がある（特許文献１，２参照）。
【０００４】
Ｗｅａｖｅ方式は、奇数フィールドと偶数フィールドの映像を単純に合成して表示する方式である。よって、Ｗｅａｖｅ方式では、１秒間に映像が３０回更新されることになる。しかし、Ｗｅａｖｅ方式では、奇数フィールドの映像と偶数フィールドの映像のずれに起因するコーミングが発生するという欠点があるため、通常、フィルタ等でＨ／Ｗ（Ｈａｒｄｗａｒｅ）的にコーミングを除去する処理が併用される。以下、Ｗｅａｖｅ方式にコーミング除去処理を併用した方式をＷｅａｖｅ／コーミング除去方式と称す。
【０００５】
一方、ＢＯＢ方式は、奇数フィールドの映像と偶数フィールドの映像のそれぞれを単純に垂直方向に拡大して表示する方式である。よって、ＢＯＢ方式では、１秒間に映像が６０回更新されることになる。
【特許文献１】特開２００４−３３６６９７号公報
【特許文献２】特開２００５−５７７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、Ｗｅａｖｅ／コーミング除去方式では、ＢＯＢ方式と比較すると、１秒あたりの映像の更新回数が少ないため、通常再生時の映像の動きがスムーズではないという欠点がある。
【０００７】
一方、ＢＯＢ方式では、映像を垂直方向に拡大するため、スロー再生時に、映像の垂直方向のゆれが大きくなり、映像が粗くなるという欠点がある。
【０００８】
最近の情報処理装置の中には、映像の種別（動画、静止画等）に応じてＷｅａｖｅ／コーミング除去方式またはＢＯＢ方式への切り替えを行うタイプも存在するが、映像が動画である場合はどちらの方式に切り替えたとしても、通常再生時またはスロー再生時に、上記のような問題が生じてしまうという課題がある。
【０００９】
そこで、本発明の目的は、通常再生時の映像の動きの問題や、スロー再生時の映像のゆれや粗さの問題を回避することができる情報処理装置およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の情報処理装置は、
ＮＴＳＣ方式の映像の表示形式を、Ｗｅａｖｅ方式にコーミング除去処理を併用したＷｅａｖｅ／コーミング除去方式と、ＢＯＢ方式とに切替可能な情報処理装置であって、
前記映像の表示形式を、通常再生時には前記ＢＯＢ方式に切り替え、スロー再生時には前記Ｗｅａｖｅ／コーミング除去方式に切り替える制御手段を有することを特徴とする。
【００１１】
この構成によれば、通常再生時には、映像の動きがスムーズになり、スロー再生時には、映像の垂直方向のゆれが発生することはないため、通常再生時の映像の動きの問題や、スロー再生時の映像のゆれや粗さの問題を回避することができる。
【００１２】
また、前記映像のＭＰＥＧデータをデコードするデコード手段を有し、
前記制御手段は、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後は、前記デコード手段によるデコード後のＭＰＥＧデータに対してコーミング除去処理を施し、
前記ＢＯＢ方式への切り替え後は、前記デコード手段によるデコード後のＭＰＥＧデータを前記ＢＯＢ方式で表示し、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後は、前記制御手段によるコーミング除去処理後のＭＰＥＧデータを前記Ｗｅａｖｅ方式で表示する表示制御手段を有することとしても良い。
【００１３】
この構成によれば、制御手段がＳ／Ｗ的にコーミング除去処理を行うため、フィルタ等のＨ／Ｗを設ける必要がなくなる。
【００１４】
また、前記制御手段は、スロー再生時には、自己の負荷が閾値以下になった時点で、前記Ｗｅａｖｅ／コーミング除去方式に切り替えることとしても良い。
【００１５】
この構成によれば、制御手段が、コーミング除去処理によって過負荷状態になってしまうことを回避することができる。
【００１６】
また、前記ＭＰＥＧデータを一時的に格納する複数のバッファをさらに有し、
前記制御手段は、前記デコード手段に対しては、デコード時に参照させる参照用バッファと、デコード後のＭＰＥＧデータを一時的に格納させるデコード用バッファとを指定し、前記表示制御部に対しては、デコード後のＭＰＥＧデータであって次に表示させるＭＰＥＧデータが格納された表示用バッファを指定し、
前記デコード手段は、前記ＭＰＥＧデータを前記参照用バッファ内のＭＰＥＧデータを参照してデコードし、デコード後のＭＰＥＧデータを前記デコード用バッファに格納し、
前記表示制御手段は、前記表示用バッファ内のＭＰＥＧデータを表示することとしても良い。
【００１７】
この構成によれば、複数のバッファをデコード用バッファ、参照用バッファ、表示用バッファに使い分けているため、より少ない枚数のバッファで、ＭＰＥＧデータのデコードおよび表示を行うことができる。
【００１８】
具体的には、前記制御手段は、前記デコード用バッファとして指定したバッファ内のＭＰＥＧデータが他のＭＰＥＧデータのデコード時に参照される場合、当該バッファを一定期間他のＭＰＥＧデータのデコード用バッファとして指定しないこととしても良い。
【００１９】
また、前記制御手段は、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後に、前記デコード用バッファとして指定したバッファ内のＭＰＥＧデータが表示順になると、当該ＭＰＥＧデータに対してコーミング除去処理を施し、コーミング除去処理後のＭＰＥＧデータを別のバッファに格納し、当該別のバッファを前記表示用バッファとして指定することとしても良い。
【００２０】
また、前記制御手段は、前記ＢＯＢ方式への切り替え後に、前記デコード用バッファとして指定したバッファ内のＭＰＥＧデータが表示順になると、当該バッファを前記表示用バッファとして指定することとしても良い。
【００２１】
さらに、前記制御手段は、通常再生中のポーズ時には、前記映像の表示形式を前記Ｗｅａｖｅ／コーミング除去方式に切り替えることとしても良い。
【００２２】
この構成によれば、通常再生中のポーズ時には、ＢＯＢ方式からＷｅａｖｅ／コーミング除去方式への切り替えが行われて、ポーズ画像がＷｅａｖｅ方式で表示されるため、ポーズ画像が粗くなることを回避することができる。
【００２３】
また、前記表示制御手段は、通常再生中のポーズ時には、まず、表示中のＭＰＥＧデータのポーズ画像を前記ＢＯＢ方式で表示し、前記Ｗｅａｖｅ／コーミング除去方式への切り替え後は、表示中のＭＰＥＧデータの前記コーミング除去処理後のポーズ画像を前記Ｗｅａｖｅ方式で表示することとしても良い。
【００２４】
上記目的を達成するために本発明のプログラムは、
ＮＴＳＣ方式の映像の表示形式を、Ｗｅａｖｅ方式にコーミング除去処理を併用したＷｅａｖｅ／コーミング除去方式と、ＢＯＢ方式とに切替可能なコンピュータに、
前記映像の表示形式を、通常再生時には前記ＢＯＢ方式に切り替え、スロー再生時には前記Ｗｅａｖｅ／コーミング除去方式に切り替える切替処理を実行させることを特徴とする。
【発明の効果】
【００２５】
上記のように構成された本発明によれば、制御手段が、ＭＰＥＧデータの表示方式を、通常再生時にはＢＯＢ方式に切り替え、スロー再生時にはＷｅａｖｅ／コーミング除去方式に切り替えている。
【００２６】
したがって、通常再生時の映像の動きの問題や、スロー再生時の映像のゆれや粗さの問題を回避することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
以下に、本発明を実施するための最良の形態について図面を参照して説明する。
【００２８】
図１を参照すると、本実施形態の情報処理装置は、制御手段であるＣＰＵ１０と、ＨＤＤ２０と、主メモリ３０と、キーボード４０と、ノースブリッジ５０と、サウスブリッジ６０と、グラフィックアクセレータ７０と、モニタ８０とを有する。
【００２９】
また、グラフィックアクセレータ７０は、メモリ７１と、ＭＰＥＧデコード部７２と、複数のフレームバッファ７３1〜７３nと、表示制御部７４とを有する。なお、フレームバッファ７３1〜７３nは、少なくとも４つ設けられているものとする。
【００３０】
ＨＤＤ２０は、圧縮されたＮＴＳＣ方式の映像のＭＰＥＧデータを格納する。ＭＰＥＧデータは、Ｉピクチャのみが存在する場合と、Ｉピクチャ、Ｐピクチャ、およびＢピクチャが存在する場合があり、本実施形態はいずれの場合にも対応可能である。
【００３１】
ＣＰＵ１０は、再生時に、ＨＤＤ２０からＭＰＥＧデータを読み出し、主メモリ３０に格納した後、主メモリ３０から１ピクチャ分ずつＭＰＥＧデータを読み出し、グラフィックアクセラレータ７０のメモリ７１に転送する。
【００３２】
フレームバッファ７３1〜７３nは、デコード用バッファ、デコード時の参照用バッファ、表示用バッファに使い分けられる。なお、ＣＰＵ１０は、フレームバッファ７３1〜７３nに対するデコード用バッファ、参照用バッファ、表示用バッファの割り当てを行い、ＭＰＥＧデコード部７２に対しては、デコード用バッファ、参照用バッファを指定し、また、表示制御部７４に対しては、表示用バッファを指定する。
【００３３】
ＭＰＥＧデコード部７２は、メモリ７１内のＭＰＥＧデータをデコードし、デコード後のＭＰＥＧデータを、デコード用バッファに書き込む。なお、ＰピクチャまたはＢピクチャのデコードは、参照用バッファ内のＭＰＥＧデータを参照して行われる。
【００３４】
表示制御部７４は、表示用バッファ内のＭＰＥＧデータをモニタ８０に表示する。
【００３５】
上述のように、Ｗｅａｖｅ／コーミング除去方式では、通常再生時の映像の動きが問題となるが、スロー再生は、元々、映像をスムーズに表示するものではない。また、Ｗｅａｖｅ／コーミング除去方式では、ＢＯＢ方式と比較すると、映像を垂直方向に拡大しないため、スロー再生の場合も、映像のゆれや粗さが問題にはならない。
【００３６】
一方、ＢＯＢ方式では、スロー再生時の映像のゆれや粗さが問題となるが、この映像のゆれや粗さは、通常再生時には問題とならないレベルである。また、ＢＯＢ方式では、Ｗｅａｖｅ／コーミング除去方式と比較すると、１秒あたりの映像の更新回数が多いため、通常再生時の映像の動きがスムーズであるという利点がある。
【００３７】
そこで、本実施形態では、ＣＰＵ１０は、ＭＰＥＧデータの表示方式を、通常再生時にはＢＯＢ方式に切り替え、スロー再生時にはＷｅａｖｅ／コーミング除去方式に切り替える。このとき、通常再生またはスロー再生であるか否かの判定は、例えば、再生速度が所定値以下であるか否かを基準に行われるとする。
【００３８】
具体的には、ＣＰＵ１０は、通常再生時には、表示制御部７４に対し、ＭＰＥＧデータの表示形式としてＢＯＢ方式を指示する。表示制御部７４は、ＭＰＥＧデータをＢＯＢ方式で表示する。
【００３９】
一方、ＣＰＵ１０は、スロー再生時には、表示制御部７４に対し、ＭＰＥＧデータの表示形式としてＷｅａｖｅ／コーミング除去方式を指示するとともに、ＭＰＥＧデータに対してＳ／Ｗ（Ｓｏｆｔｗａｒｅ）的にコーミング除去処理を施す。表示制御部７４は、コーミング除去処理後のＭＰＥＧデータをＷｅａｖｅ方式で表示する。
【００４０】
このように、通常再生時とスロー再生時でＭＰＥＧデータの表示方式を切り替えることにより、通常再生時の映像の動きの問題や、スロー再生時の映像のゆれや粗さの問題を回避することができる。
【００４１】
ただし、スロー再生時には、ＣＰＵ１０でＳ／Ｗ的にコーミング除去処理を行うため、このコーミング除去処理によってＣＰＵ１０が過負荷状態になってしまう可能性がある。
【００４２】
そこで、本実施形態では、ＣＰＵ１０は、スロー再生時に、即座にＷｅａｖｅ／コーミング除去方式への切り替えを行わず、自己の負荷が閾値以下になった時点で、Ｗｅａｖｅ／コーミング除去方式への切り替えを行うことにする。
【００４３】
また、本実施形態では、フレームバッファ７３1〜７３nをデコード用バッファ、参照用バッファ、表示用バッファに使い分けることによって、より少ない枚数のフレームバッファ７３1〜７３nでＭＰＥＧデータのデコードおよび表示が可能である。
【００４４】
以下、本実施形態の特徴的な動作である、フレームバッファ７３1〜７３nに対するバッファ処理動作について、図２〜図７を参照して説明する。
【００４５】
なお、図２〜図７において、最上段の“入力データ”は、グラフィックアクセレータ７０のメモリ７１からＭＰＥＧデコード部７２に入力されるＭＰＥＧデータを指し、最初の文字列は、ピクチャタイプ（Ｉ，Ｐ，Ｂ）を表し、次の文字列は表示順を表している。
【００４６】
また、図２〜図７において、次段の“Ｂｕｆ＃１，＃２，・・・”は、フレームバッファ７３1，７３2，・・・を指し、上段は、フレームバッファに指定されている内容（Ｄｅｃ：デコーダ用バッファ、Ｄｉｓｐ：表示用バッファ）を表し、下段は、フレームバッファ内のＭＰＥＧデータの内容を表している。なお、図２〜図７では、フレームバッファが参照用バッファであることは示されていない。
【００４７】
［通常再生時］
最初に、図２を参照して、通常再生時のバッファ処理動作について説明する。ここでは、ＣＰＵ１０が、ユーザから通常再生の指示を受けて、ＭＰＥＧデータの表示形式をＢＯＢ方式にすでに切り替えたものとして説明する。
【００４８】
図２では、４枚のフレームバッファ（Ｂｕｆ＃１〜＃４）７３1〜７３4が設けられており、Ｂｕｆ＃１〜＃４は、デコード用バッファ、参照用バッファ、表示用バッファに使い分けられる。
【００４９】
通常再生時のバッファ処理動作は、以下の手順で行われる。
・最初に、［Ｉ０１］（Ｉピクチャ、表示順０１）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃１をデコード用バッファ、表示用バッファとして指定する。
【００５０】
ＭＰＥＧデコード部７２は、［Ｉ０１］のデコードを開始してデコード後の［Ｉ０１］をＢｕｆ＃１に格納し、表示制御部７４は、［Ｉ０１］を表示する。
・続いて、［Ｐ０４］（Ｐピクチャ、表示順０４）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃２をデコード用バッファとして指定する。
【００５１】
この時点では、まだ［Ｐ０４］は表示順ではないので、ＣＰＵ１０は、［Ｉ０１］が格納されたＢｕｆ＃１を継続して表示用バッファとし、表示制御部７４は、［Ｉ０１］を継続して表示する。
【００５２】
また、Ｐピクチャはデコード時に前のＩピクチャまたはＰピクチャを１枚参照するため、ＣＰＵ１０は、［Ｉ０１］が格納されたＢｕｆ＃１を参照用バッファとして指定する。
・続いて、［Ｂ０２］（Ｂピクチャ、表示順０２）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃３をデコード用バッファとして指定する。
【００５３】
この時点で［Ｂ０２］の表示順になるので、ＣＰＵ１０は、［Ｂ０２］が格納されたＢｕｆ＃３を表示用バッファとして指定し、表示制御部７４は、［Ｂ０２］を表示する。なお、ＣＰＵ１０は、デコード用バッファと表示用バッファを分けるために、［Ｉ０１］が格納されたＢｕｆ＃１を継続して表示用バッファとしてもよい。
【００５４】
また、Ｂピクチャはデコード時に前のＩピクチャまたはＰピクチャを２枚参照するため、ＣＰＵ１０は、［Ｉ０１］、［Ｐ０４］がそれぞれ格納されたＢｕｆ＃１、Ｂｕｆ＃２を参照用バッファとして指定する。
・続いて、［Ｂ０３］（Ｂピクチャ、表示順０３）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃４をデコード用バッファとして指定する。ここでは、ＣＰＵ１０は、デコード用バッファと表示用バッファを分けるために、［Ｂ０２］が格納されたＢｕｆ＃３を継続して表示用バッファとする。
【００５５】
また、ＣＰＵ１０は、［Ｉ０１］、［Ｐ０４］がそれぞれ格納されたＢｕｆ＃１、Ｂｕｆ＃２を参照用バッファとして指定する。
・続いて、［Ｐ０７］（Ｐピクチャ、表示順０７）が入力されると、この時点では空きバッファがない。ただし、Ｂｕｆ＃１については、［Ｉ０１］が既に表示済みで、その後に参照用バッファとして利用されることもないため、処理が終わっている。そのため、ＣＰＵ１０は、Ｂｕｆ＃１をデコード用バッファとして指定する。
【００５６】
また、ＣＰＵ１０は、表示順にしたがって、［Ｂ０３］が格納されたＢｕｆ＃４を表示用バッファとして指定し、［Ｐ０４］が格納されたＢｕｆ＃２を参照用バッファとして指定する。
・続いて、［Ｂ０５］（Ｂピクチャ、表示順０５）が入力されると、この時点では空きバッファがない。ただし、Ｂｕｆ＃３については、［Ｂ０２］が既に表示済みで、処理が終わっている。そのため、ＣＰＵ１０は、Ｂｕｆ＃３をデコード用バッファとして指定する。なお、Ｂｕｆ＃４の［Ｂ０３］は表示中であるため、Ｂｕｆ＃４をデコード用バッファとしては指定できない。
【００５７】
また、ＣＰＵ１０は、表示順にしたがって、［Ｐ０４］が格納されたＢｕｆ＃２を表示用バッファとして指定し、［Ｐ０４］、［Ｐ０７］がそれぞれ格納されたＢｕｆ＃２、Ｂｕｆ＃１を参照用バッファとして指定する。
【００５８】
以降、ＣＰＵ１０は、上記と同様に、Ｂｕｆ＃１〜＃４をデコード用バッファ、表示用バッファ、参照用バッファとして指定し、ＭＰＥＧデータのデコードおよび表示を行う。
【００５９】
［スロー再生時］
次に、図３〜図５を参照して、スロー再生時のバッファ処理動作について説明する。ここでは、ＣＰＵ１０が、ユーザからスロー再生の指示を受けて、自己の負荷が閾値以下になったことを確認した上で、ＭＰＥＧデータの表示形式をＷｅａｖｅ／コーミング除去方式にすでに切り替えたものとして説明する。
【００６０】
（１）まず、図３を参照して、ＭＰＥＧデータにＩピクチャのみが存在する場合のスロー再生時のバッファ処理動作について説明する。
【００６１】
ＭＰＥＧデータにＩピクチャのみが存在する場合、Ｉピクチャを参照してデコードを行うＰピクチャおよびＢピクチャが存在しないことになる。そのため、デコード後のＭＰＥＧデータを保存しておく必要はない。したがって、２つのフレームバッファをデコード用バッファと表示用バッファに交互に切り替えることで、ＭＰＥＧデータのデコードおよび表示が可能になる。そこで、図３では、２枚のフレームバッファ（Ｂｕｆ＃１〜＃２）７３1〜７３2のみを使用する。
【００６２】
また、図３では、ＣＰＵ１０は、デコード後のＭＰＥＧデータを、表示前に取得し、コーミング除去処理を施してから、同じフレームバッファに上書きする（図中の矢印）。
【００６３】
また、図３では、ＣＰＵ１０は、次のピクチャのデコード用バッファを指定する際に、表示用バッファとは重ならないように、別のフレームバッファを指定する。
【００６４】
ＭＰＥＧデータにＩピクチャのみが存在する場合のスロー再生時のバッファ処理動作は、以下の手順で行われる。
・最初に、［Ｉ０１］（Ｉピクチャ、表示順０１）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃１をデコード用バッファとして指定し、ＭＰＥＧデコード部７２は、［Ｉ０１］のデコードを開始する。
・ＣＰＵ１０は、［Ｉ０２］（Ｉピクチャ、表示順０２）の処理開始前に、デコード後の［Ｉ０１］を取得してコーミング除去処理を施し、コーミング除去処理後の［Ｉ０１］を同じＢｕｆ＃１に格納し、Ｂｕｆ＃１を表示用バッファとして指定する。表示制御部７４は、コーミング除去処理後の［Ｉ０１］を表示する。
・続いて、［Ｉ０２］が入力されると、ＣＰＵ１０は、他方のＢｕｆ＃２をデコード用バッファとして指定し、ＭＰＥＧデコード部７２は、［Ｉ０２］のデコードを開始する。
・ＣＰＵ１０は、［Ｉ０３］（Ｉピクチャ、表示順０３）の処理開始前に、デコード後の［Ｉ０２］を取得してコーミング除去処理を施し、コーミング除去処理後の［Ｉ０２］を同じＢｕｆ＃２に格納し、Ｂｕｆ＃２を表示用バッファとして指定する。表示制御部７４は、コーミング除去処理後の［Ｉ０２］を表示する。
【００６５】
以降、ＣＰＵ１０は、上記と同様に、Ｂｕｆ＃１〜＃２をデコード用バッファ、表示用バッファとして指定し、ＭＰＥＧデータのデコードおよび表示を行う。
【００６６】
（２）次に、図４を参照して、ＭＰＥＧデータにＩピクチャ、Ｐピクチャ、およびＢピクチャが存在していて、６枚のフレームバッファ（Ｂｕｆ＃１〜＃６）７３1〜７３6が設けられている場合のスロー再生時のバッファ処理動作について説明する。
【００６７】
図４では、ＣＰＵ１０は、デコード後のＭＰＥＧデータを、表示前に取得し、コーミング除去処理を施してから、フレームバッファに再度格納する（図中の矢印）。
【００６８】
ただし、図４では、デコード用バッファと表示用バッファが重ならないように、２つのＢｕｆ＃５〜＃６を表示専用とし、２つのＢｕｆ＃５〜＃６を表示用バッファとして交互に切り替える。
【００６９】
ＭＰＥＧデータにＩピクチャ、Ｐピクチャ、およびＢピクチャが存在していて、６枚のフレームバッファが設けられている場合のスロー再生時のバッファ処理動作は、以下の手順で行われる。
・最初に、［Ｉ０１］（Ｉピクチャ、表示順０１）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃１をデコード用バッファとして指定し、ＭＰＥＧデコード部７２は、［Ｉ０１］のデコードを開始する。
・ＣＰＵ１０は、［Ｐ０４］（Ｐピクチャ、表示順０４）の処理開始前に、デコード後の［Ｉ０１］を取得してコーミング除去処理を施す。そして、ＣＰＵ１０は、コーミング除去処理後の［Ｉ０１］を表示専用のＢｕｆ＃５に格納し、Ｂｕｆ＃５を表示用バッファとして指定する。表示制御部７４は、コーミング除去処理後の［Ｉ０１］を表示する。
・続いて、［Ｐ０４］が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃２をデコード用バッファとして指定する。
【００７０】
また、Ｐピクチャはデコード時に前のＩピクチャまたはＰピクチャを１枚参照するため、ＣＰＵ１０は、［Ｉ０１］が格納されたＢｕｆ＃１を参照用バッファとして指定する。すなわち、ＭＰＥＧデコード部７２は、コーミング除去処理前の［Ｉ０１］を参照して［Ｐ０４］のデコードを開始する。
・続いて、［Ｂ０２］（Ｂピクチャ、表示順０２）が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃３をデコード用バッファとして指定する。この時点では、ＣＰＵ１０は、［Ｉ０１］が格納されたＢｕｆ＃５を継続して表示用バッファとする。
【００７１】
また、Ｂピクチャはデコード時に前のＩピクチャまたはＰピクチャを２枚参照するため、ＣＰＵ１０は、［Ｉ０１］、［Ｐ０４］がそれぞれ格納されたＢｕｆ＃１、Ｂｕｆ＃２を参照用バッファとして指定する。
・ＣＰＵ１０は、［Ｂ０３］（Ｂピクチャ、表示順０３）の処理開始前に、［Ｂ０２］を表示するための処理を、次の手順で行う。
【００７２】
Ａ．まず、デコード後の［Ｂ０２］を取得し、コーミング除去処理を施す。
【００７３】
Ｂ．続いて、コーミング除去処理後の［Ｂ０２］を表示専用のＢｕｆ＃５〜＃６のうち表示中でないＢｕｆ＃６に格納する。
【００７４】
Ｃ．その後、表示用バッファをＢｕｆ＃５からＢｕｆ＃６に切り替える。
・続いて、［Ｂ０３］が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃４をデコード用バッファとして指定する。
【００７５】
また、ＣＰＵ１０は、［Ｉ０１］、［Ｐ０４］がそれぞれ格納されたＢｕｆ＃１、Ｂｕｆ＃２を参照用バッファとして指定する。
・ＣＰＵ１０は、［Ｐ０７］（Ｐピクチャ、表示順０７）の処理開始前に、［Ｂ０３］を表示するための処理を、［Ｂ０２］の表示時の手順と同様に行う。
・続いて、［Ｐ０７］が入力されると、この時点では空きバッファがない。ただし、Ｂｕｆ＃１については、［Ｉ０１］が既に表示済みで、その後に参照用バッファとして利用されることもないため、処理が終わっている。そのため、ＣＰＵ１０は、Ｂｕｆ＃１をデコード用バッファとして指定する。
【００７６】
また、ＣＰＵ１０は、［Ｐ０４］が格納されたＢｕｆ＃２を参照用バッファとして指定する。
・ＣＰＵ１０は、［Ｂ０５］（Ｂピクチャ、表示順０５）の処理開始前に、［Ｐ０４］を表示するための処理を、［Ｂ０２］の表示時の手順と同様に行う。
・続いて、［Ｂ０５］が入力されると、この時点では空きバッファがないので、ＣＰＵ１０は、処理の終わったＢｕｆ＃３をデコード用バッファとして指定する。
【００７７】
また、ＣＰＵ１０は、［Ｐ０４］、［Ｐ０７］がそれぞれ格納されたＢｕｆ＃２、Ｂｕｆ＃１を参照用バッファとして指定する。
【００７８】
以降、ＣＰＵ１０は、上記と同様に、Ｂｕｆ＃１〜＃４をデコード用バッファ、参照用バッファとして指定し、Ｂｕｆ＃５〜＃６を表示用バッファとして指定し、ＭＰＥＧデータのデコードおよび表示を行う。
【００７９】
（３）次に、図５を参照して、ＭＰＥＧデータにＩピクチャ、Ｐピクチャ、およびＢピクチャが存在していて、４枚のフレームバッファ（Ｂｕｆ＃１〜＃４）７３1〜７３4が設けられている場合のスロー再生時のバッファ処理動作について説明する。
【００８０】
図５では、ＣＰＵ１０は、デコード後のＭＰＥＧデータを、表示前に取得し、コーミング除去処理を施してから、フレームバッファに再度格納する（図中の実線の矢印）。
【００８１】
ただし、図５では、１枚のＢｕｆ＃４を表示専用に使用し、他の３つのＢｕｆ＃１〜＃３を使用してデコードを行う。
【００８２】
しかし、１枚のＢｕｆ＃４のみを表示用バッファとすると、Ｂｕｆ＃４へのＭＰＥＧデータの格納時に胴切れ（データ格納中のノイズが表示される現象）が発生する可能性がある。そのため、Ｂｕｆ＃４へのＭＰＥＧデータの格納時にのみ他のＢｕｆ＃３へ表示用バッファを切り替える。
【００８３】
ＭＰＥＧデータにＩピクチャ、Ｐピクチャ、およびＢピクチャが存在していて、４枚のフレームバッファが設けられている場合のスロー再生時のバッファ処理動作は、以下の手順で行われる。
・最初に、［Ｉ０１］（Ｉピクチャ、表示順０１）が入力されると、ＣＰＵ１０は、表示専用以外の３つのＢｕｆ＃１〜＃３のうち空いているＢｕｆ＃１をデコード用バッファとして指定し、ＭＰＥＧデコード部７２は、［Ｉ０１］のデコードを開始する。
・ＣＰＵ１０は、［Ｐ０４］（Ｐピクチャ、表示順０４）の処理開始前に、デコード後の［Ｉ０１］を取得し、コーミング除去処理を施す。そして、ＣＰＵ１０は、コーミング除去処理後の［Ｉ０１］を表示専用のＢｕｆ＃４に格納し、Ｂｕｆ＃４を表示用バッファとして指定し、表示制御部７４は、［Ｉ０１］を表示する。
・続いて、［Ｐ０４］が入力されると、ＣＰＵ１０は、空いているＢｕｆ＃２をデコード用バッファとして指定する。
【００８４】
また、Ｐピクチャは、デコード時に前のＩピクチャまたはＰピクチャを１枚参照するため、ＣＰＵ１０は、［Ｉ０１］が格納されたＢｕｆ＃１を参照用バッファとして指定する。すなわち、ＭＰＥＧデコード部７２は、コーミング除去処理前の［Ｉ０１］を参照して［Ｐ０４］のデコードを開始する。
・続いて、［Ｂ０２］（Ｂピクチャ、表示順０２）が入力されると、ＣＰＵ１０は、表示専用以外の３つのＢｕｆ＃１〜＃３のうち空いているＢｕｆ＃３をデコード用バッファとして指定する。この時点では、ＣＰＵ１０は、［Ｉ０１］が格納されたＢｕｆ＃４を継続して表示用バッファとする。
【００８５】
また、Ｂピクチャはデコード時に前のＩピクチャまたはＰピクチャを２枚参照するため、ＣＰＵ１０は、［Ｉ０１］、［Ｐ０４］がそれぞれ格納されたＢｕｆ＃１、Ｂｕｆ＃２を参照用バッファとして指定する。
・ＣＰＵ１０は、［Ｂ０３］（Ｂピクチャ、表示順０３）の処理開始前に、［Ｂ０２］を表示するための処理を次の手順で行う。
【００８６】
Ａ．まず、デコード後の［Ｂ０２］を取得し、コーミング除去処理を施す。
【００８７】
Ｂ．続いて、コーミング除去処理後の［Ｂ０２］をＢｕｆ＃３に格納する。
【００８８】
Ｃ．続いて、表示用バッファをＢｕｆ＃４からＢｕｆ＃３に切り替える。
【００８９】
Ｄ．続いて、Ｂｕｆ＃３内の［Ｂ０２］をＢｕｆ＃４にコピーする（図中の破線の矢印）。
【００９０】
Ｅ．その後、表示用バッファをＢｕｆ＃３からＢｕｆ＃４に切り替える。
【００９１】
この手順で［Ｂ０２］を表示することにより、［Ｂ０２］を格納中の胴切れが防止できる。
・続いて、［Ｂ０３］が入力されると、ＣＰＵ１０は、Ｂｕｆ＃３をデコード用バッファとして指定する。
【００９２】
また、ＣＰＵ１０は、［Ｉ０１］、［Ｐ０４］がそれぞれ格納されたＢｕｆ＃１、Ｂｕｆ＃２を参照用バッファとして指定する。
・ＣＰＵ１０は、［Ｐ０７］（Ｐピクチャ、表示順０７）の処理開始前に、［Ｂ０３］を表示するための処理を、［Ｂ０２］表示時の手順と同様に行う。
・続いて、［Ｐ０７］が入力されると、この時点では空きバッファがない。ただし、Ｂｕｆ＃１については、［Ｉ０１］が既に表示済みで、その後に参照用に利用されることもないため、処理が終わっている。そのため、ＣＰＵ１０は、Ｂｕｆ＃１をデコード用バッファとして指定する。
【００９３】
また、ＣＰＵ１０は、［Ｐ０４］が格納されたＢｕｆ＃２を、継続して参照用バッファとする。
・ＣＰＵ１０は、［Ｂ０５］（Ｂピクチャ、表示順０５）の処理開始前に、［Ｐ０４］を表示するための処理を、［Ｂ０２］の表示時の手順と同様に行う。
・続いて、［Ｂ０５］が入力されると、ＣＰＵ１０は、Ｂｕｆ＃３をデコード用バッファとして指定する。
【００９４】
また、ＣＰＵ１０は、［Ｐ０４］、［Ｐ０７］がそれぞれ格納されたＢｕｆ＃２、Ｂｕｆ＃１を参照用バッファとして指定する。
【００９５】
以降、ＣＰＵ１０は、上記と同様に、Ｂｕｆ＃１〜＃３をデコード用バッファ、参照用バッファとして指定し、Ｂｕｆ＃３〜＃４を表示用バッファとして指定し、ＭＰＥＧデータのデコードおよび表示を行う。
【００９６】
なお、図５では、表示専用のＢｕｆ＃４へのＭＰＥＧデータの格納時にのみ他のＢｕｆ＃３へ表示用バッファを切り替えたが、Ｂｕｆ＃４へのデータ格納時の胴切れが問題とならないレベルであれば、Ｂｕｆ＃４からＢｕｆ＃３への表示用バッファの切り替えを行わず、コーミング除去処理後のＭＰＥＧデータを直接Ｂｕｆ＃４に格納することができる。
【００９７】
［通常再生中のポーズ時］
次に、図６〜図７を参照して、通常再生中のポーズ時のバッファ処理動作について説明する。ここでは、ＣＰＵ１０が、ユーザから通常再生の指示を受けて、ＭＰＥＧデータの表示形式をＢＯＢ方式にすでに切り替えたものとして説明する。
【００９８】
（１）まず、図６を参照して、５枚のフレームバッファ（Ｂｕｆ＃１〜＃５）７３1〜７３5が設けられている場合の通常再生中のポーズ時のバッファ処理動作について説明する。
【００９９】
図６では、Ｂｕｆ＃５をポーズ画像の表示専用とする。
【０１００】
また、図６では、ＣＰＵ１０は、ポーズ時に、表示中のＭＰＥＧデータのピクチャタイプによらず、表示用バッファからＭＰＥＧデータを取得してコーミング除去処理を施し、コーミング除去処理後のＭＰＥＧデータをＢｕｆ＃５に格納し、表示用バッファをＢｕｆ＃５に切り替える。
【０１０１】
５枚のフレームバッファが設けられている場合の通常再生中のポーズ時のバッファ処理動作は、以下の手順で行われる。
・Ｂｕｆ＃４内の［Ｂ０３］（Ｂピクチャ、表示順０３）の表示中に、ユーザからポーズが指示された場合（図中のポーズ１）、表示制御部７４は、［Ｂ０３］のポーズ画像を表示する。この時点では、［Ｂ０３］のポーズ画像の表示形式はＢＯＢ形式となっている。次に、ＣＰＵ１０は、自己の負荷が閾値以下になったことを確認した上で、ＭＰＥＧデータの表示形式をＷｅａｖｅ／コーミング除去方式に切り替え、Ｂｕｆ＃４から［Ｂ０３］を取得してコーミング除去処理を施し、コーミング除去処理後の［Ｂ０３］をＢｕｆ＃５に格納する。
・ＣＰＵ１０は、表示用バッファをＢｕｆ＃５に切り替え、一旦ポーズを解除した後、再度、ポーズを実行する。この時点では、［Ｂ０３］のポーズ画像の表示形式はＷｅａｖｅ方式に更新されている。そのため、表示制御部７４は、Ｗｅａｖｅ方式で［Ｂ０３］のポーズ画像を表示する。
・ユーザからポーズ解除が指示されると、ＣＰＵ１０は、ＭＰＥＧデータの表示形式をＢＯＢ方式に切り替え、表示順にしたがって、［Ｐ０４］が格納されたＢｕｆ＃２を表示用に指定し、表示制御部７４は、ＢＯＢ方式で［Ｐ０４］を表示する。
【０１０２】
（２）次に、図７を参照して、４枚のフレームバッファ（Ｂｕｆ＃１〜＃４）７３1〜７３4が設けられている場合の通常再生中のポーズ時のバッファ処理動作について説明する。
【０１０３】
図７では、ＣＰＵ１０は、ポーズ時に、表示用バッファからＭＰＥＧデータを取得してコーミング除去処理を施し、表示中のＭＰＥＧデータのピクチャタイプに応じて、コーミング除去処理後のＭＰＥＧデータを格納するフレームバッファを切り替える。
【０１０４】
４枚のフレームバッファが設けられている場合の通常再生中のポーズ時のバッファ処理動作は、以下の手順で行われる。
・Ｂｕｆ＃４内の［Ｂ０３］（Ｂピクチャ、表示順０３）の表示中に、ユーザからポーズが指示された場合（図中のポーズ１）、表示制御部７４は、ＢＯＢ形式で［Ｂ０３］のポーズ画像を表示する。次に、ＣＰＵ１０は、自己の負荷が閾値以下になったことを確認した上で、ＭＰＥＧデータの表示形式をＷｅａｖｅ／コーミング除去方式に切り替え、Ｂｕｆ＃４から［Ｂ０３］を取得してコーミング除去処理を施す。Ｂピクチャは後で参照されることがないため、ＣＰＵ１０は、コーミング除去処理後の［Ｂ０３］を同じＢｕｆ＃４に上書きし、表示用バッファを継続してＢｕｆ＃４とする。さらに、ＣＰＵ１０は、一旦ポーズを解除した後、再度、ポーズを実行する。そのため、表示制御部７４は、Ｗｅａｖｅ方式で［Ｂ０３］のポーズ画像を表示する。
・Ｂｕｆ＃１内の［Ｐ０７］（Ｐピクチャ、表示順０７）の表示中に、ユーザからポーズが指示された場合（図中のポーズ２）、ＣＰＵ１０は、ＭＰＥＧデータの表示形式をＷｅａｖｅ／コーミング除去方式に切り替え、Ｂｕｆ＃１から［Ｐ０７］を取得してコーミング除去処理を施す。Ｐピクチャは後で参照されることがあるため、コーミング除去処理後の［Ｐ０７］を同じＢｕｆ＃１に上書きすることはできない。このとき、Ｂｕｆ＃４については、［Ｂ０６］が表示済みで、処理が終わっている。そのため、ＣＰＵ１０は、コーミング除去処理後の［Ｐ０７］をＢｕｆ＃４に格納し、表示用バッファをＢｕｆ＃４に切り替える。表示制御部７４は、Ｗｅａｖｅ方式で［Ｐ０７］のポーズ画像を表示する。なお、Ｉピクチャも後で参照されることがあるため、Ｉピクチャを表示中の処理も、Ｐピクチャの表示中の手順と同様に行われる。
【０１０５】
また、ポーズ解除後の処理は、図６の手順と同様に行われる。
【０１０６】
上述したように本実施形態では、ＣＰＵ１０は、ＭＰＥＧデータの表示方式を、通常再生時にはＢＯＢ方式に切り替え、スロー再生時にはＷｅａｖｅ／コーミング除去方式に切り替えている。
【０１０７】
したがって、通常再生時には、映像の動きがスムーズになり、スロー再生時には、映像の垂直方向のゆれが発生することはないため、通常再生時の映像の動きの問題や、スロー再生時の映像のゆれや粗さの問題を回避することができる。
【０１０８】
また、本実施形態では、ＣＰＵ１０は、スロー再生時に、自己の負荷が閾値以下になった時点で、Ｗｅａｖｅ／コーミング除去方式への切り替えを行う。
【０１０９】
したがって、ＣＰＵ１０が、コーミング除去処理によって過負荷状態になってしまうことを回避することができる。
【０１１０】
また、本実施形態では、フレームバッファ７３1〜７３nをデコード用バッファ、参照用バッファ、表示用バッファに使い分けている。
【０１１１】
したがって、より少ない枚数のフレームバッファ７３1〜７３nで、ＭＰＥＧデータのデコードおよび表示を行うことができる。
【０１１２】
なお、本発明は、上述した各部の機能を実現するためのプログラムをコンピュータに読み込ませ、実行するものであってもよい。また、そのプログラムは、記録媒体に記録することができ、あるいはネットワークを通じて提供することもできる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施形態の情報処理装置の構成を示すブロック図である。
【図２】図１に示した情報処理装置の通常再生時の動作の一例を示す図である。
【図３】図１に示した情報処理装置のスロー再生時の動作の一例を示す図である。
【図４】図１に示した情報処理装置のスロー再生時の動作の他の例を示す図である。
【図５】図１に示した情報処理装置のスロー再生時の動作のさらに他の例を示す図である。
【図６】図１に示した情報処理装置の通常再生中のポーズ時の動作の一例を示す図である。
【図７】図１に示した情報処理装置の通常再生中のポーズ時の動作の他の例を示す図である。
【符号の説明】
【０１１４】
１０    ＣＰＵ
２０    ＨＤＤ
３０    主メモリ
４０    キーボード
５０    ノースブリッジ
６０    サウスブリッジ
７０    グラフィックアクセレータ
７１    メモリ
７２    ＭＰＥＧデコード部
７３1〜７３n    フレームバッファ
７４    表示制御部
８０    モニタ
【図１】
2008085580.tif 000003
【図２】
2008085580.tif 000004
【図３】
2008085580.tif 000005
【図４】
2008085580.tif 000006
【図５】
2008085580.tif 000007
【図６】
2008085580.tif 000008
【図７】
2008085580.tif 000009