(57)【要約】【課題】動画像ストリームのデコードに係るシステム負荷を適切に低減することを可能とした情報処理装置を提供する。【解決手段】ビデオ再生アプリケーションプログラム２０１は、２つの画像を重ね合わせるためのブレンド処理が実行されていないかどうかを監視し、もし、実行されていなければ、全てのデコード処理（通常デコード処理）を実行する。一方、実行されていれば、そのブレンド処理に供される画像についてのデコード処理のうち、色成分のデコード処理を省略した特殊デコード処理を実行することで、システム負荷を少しでも低減させる。【選択図】      図３
2006254232.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化された動画像ストリームをデコードするためのデコード処理を実行するデコード処理手段と、
第１の画面上に第２の画面を重ね合わせて画面を生成するブレンド処理手段と、
前記第１の画面および前記第２の画面の少なくとも一方の画面に対する前記デコード処理手段による前記デコード処理における色成分のデコード処理を省略させる制御処理を実行する制御手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記デコード処理における色成分のデコード処理の省略可否を設定する設定手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御手段は、前記第１の画面および前記第２の画面の少なくとも一方の画面全体に対する前記デコード処理手段による前記デコード処理における色成分のデコード処理を省略させる制御処理を実行することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記制御手段は、前記第１の画面と前記第２の画面とが重ね合わさる領域を対象に、前記第１の画面および前記第２の画面の少なくとも一方の画面に対する前記デコード処理手段による前記デコード処理における色成分のデコード処理を省略させる制御処理を実行することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記制御手段は、前記第１の画面および前記第２の画面に対する前記デコード処理手段による前記デコード処理における色成分のデコード処理を省略させる制御処理を実行することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記制御手段は、前記動画像ストリームに含まれる色成分の割合を示すフラグの値を零とすることで前記色成分のデコード処理を省略させることを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記ブレンド処理手段は、前記第２の画面の各画素の透明度を示すアルファデータに基づき、前記第２の画面を透過して当該第２の画面が重畳された前記第１の画面上の領域を目視可能な合成画面を生成するブレンド処理を実行することを特徴とする請求項１、２、３、４、５または６記載の情報処理装置。
【請求項８】
データ処理をコンピュータに実行させるプログラムであって、
圧縮符号化された動画像ストリームをデコードするためのデコード処理を前記コンピュータに実行させる手順と、
第１の画面上に第２の画面を重ね合わせて画面を生成するブレンド処理を前記コンピュータに実行させる手順と、
前記第１の画面および前記第２の画面の少なくとも一方の画面に対する前記デコード処理における色成分のデコード処理を省略させる制御処理を前記コンピュータに実行させる手順と
を具備することを特徴とするプログラム。
【請求項９】
前記デコード処理における色成分のデコード処理の省略可否を設定する設定処理を前記コンピュータに実行させる手順をさらに具備することを特徴とする請求項８記載のプログラム。
【請求項１０】
前記制御処理を前記コンピュータに実行させる手順は、前記第１の画面および前記第２の画面の少なくとも一方の画面全体に対する前記デコード処理における色成分のデコード処理を省略させる制御処理を前記コンピュータに実行させる手順を含むことを特徴とする請求項８記載のプログラム。
【請求項１１】
前記制御処理を前記コンピュータに実行させる手順は、前記第１の画面と前記第２の画面とが重ね合わさる領域を対象に、前記第１の画面および前記第２の画面の少なくとも一方の画面に対する前記デコード処理における色成分のデコード処理を省略させる制御処理を前記コンピュータに実行させる手順を含むことを特徴とする請求項８記載のプログラム。
【請求項１２】
前記制御処理を前記コンピュータに実行させる手順は、前記第１の画面および前記第２の画面に対する前記デコード処理における色成分のデコード処理を省略させる制御処理を前記コンピュータに実行させる手順を含むことを特徴とする請求項８記載のプログラム。
【請求項１３】
前記制御処理を前記コンピュータに実行させる手順は、前記動画像ストリームに含まれる色成分の割合を示すフラグの値を零とすることで前記色成分のデコード処理を省略させることを特徴とする請求項８記載のプログラム。
【請求項１４】
前記ブレンド処理を前記コンピュータに実行させる手順は、前記第２の画面の各画素の透明度を示すアルファデータに基づき、前記第２の画面を透過して当該第２の画面が重畳された前記第１の画面上の領域を目視可能な合成画面を生成するブレンド処理を前記コンピュータに実行させる手順を含むことを特徴とする請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばパーソナルコンピュータなどの情報処理装置に適用して好適な動画像ストリームのデコード技術に関する。
【背景技術】
【０００２】
近年、ＤＶＤ（Digital Versatile Disc）プレーヤやテレビジョン装置のようなオーディオ・ビデオ（ＡＶ）機器と同様のＡＶ機能を備えたパーソナルコンピュータが普及し始めている。そして、この種のパーソナルコンピュータでは、圧縮符号化された動画像ストリームをソフトウェアによってデコードするソフトウェアデコーダが用いられている。このソフトウェアデコーダを使用することにより、専用のハードウェアを別途設けることなく、圧縮符号化された動画像ストリームをプロセッサ（ＣＰＵ）によってデコードすることが可能になる。
【０００３】
また、最近では、次世代の動画像圧縮符号化技術として、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）規格が注目されている。このＨ．２６４／ＡＶＣ規格は、ＭＰＥＧ２やＭＰＥＧ４のような従来の圧縮符号化技術よりも高能率の圧縮符号化技術である。このため、Ｈ．２６４／ＡＶＣ規格に対応するエンコード処理およびデコード処理の各々においては、ＭＰＥＧ２やＭＰＥＧ４のような従来の圧縮符号化技術よりも多くの処理量が必要とされる。
【０００４】
一方、動画像ストリームのデコード量を低減するための提案も、これまで種々なされている（例えば特許文献１等参照）。この特許文献１には、色成分のデコード処理を省略することでビデオデコーダ処理量を低減する技術が記載されている。
【特許文献１】特開平８−３３９４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、いくらビデオデコーダ処理量が低減できるといっても、動画像ストリームのデコード処理において、色成分のデコード処理を省略する事は、通常ではとても許されるものではない。
【０００６】
ところで、最近では、ある画像の上に別の画像を重ね合わせるブレンド処理もソフトウェアで行えるようになってきている。このブレンド処理は、ただ単に２つの画像を繋ぎ合わせて合成するのではなく、重ねる側（上側）の画像を透かして重ねられる側（下側）の画像が見られるように、重ねる側の画像の透明度（または不透過度）を考慮した高度な合成を行うものである。これにより、例えばある画像を見続けながら同一の視界上で別の画像を見ることが可能となる。
【０００７】
そして、このようなブレンド処理が行われている最中であれば、例えば事前のユーザによる設定によっては、２つの画像の一方または両方の画像についての色成分のデコード処理を省略する事も可能である。この省略化によるシステムの負荷低減は、複数のソフトウェアが同時に利用され得るパーソナルコンピュータにおいて、その効果が特に大きい。
【０００８】
この発明は、このような事情を考慮してなされたものであり、動画像ストリームのデコードに係るシステム負荷を適切に低減することを可能とした情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前述の目的を達成するために、この発明の情報処理装置は、圧縮符号化された動画像ストリームをデコードするためのデコード処理を実行するデコード処理手段と、第１の画面上に第２の画面を重ね合わせて画面を生成するブレンド処理手段と、前記第１の画面および前記第２の画面の少なくとも一方の画面に対する前記デコード処理手段による前記デコード処理における色成分のデコード処理を省略させる制御処理を実行する制御手段とを具備することを特徴とする。
【００１０】
また、この発明は、データ処理をコンピュータに実行させるプログラムであって、圧縮符号化された動画像ストリームをデコードするためのデコード処理を前記コンピュータに実行させる手順と、第１の画面上に第２の画面を重ね合わせて画面を生成するブレンド処理を前記コンピュータに実行させる手順と、前記第１の画面および前記第２の画面の少なくとも一方の画面に対する前記デコード処理における色成分のデコード処理を省略させる制御処理を前記コンピュータに実行させる手順とを具備することを特徴とする。
【発明の効果】
【００１１】
この発明によれば、動画像ストリームのデコードに係るシステム負荷を適切に低減することを可能とした情報処理装置およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、この発明の実施の形態を説明する。
【００１３】
まず、図１および図２を参照して、本発明の一実施形態に係るコンピュータの構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ１０として実現されている。
【００１４】
図１は、ノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面は、ディスプレイユニット１２のほぼ中央に位置されている。
【００１５】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１０を電源オン／オフするためのパワーボタン１４、入力操作パネル１５およびタッチパッド１６などが配置されている。
【００１６】
入力操作パネル１５は、押下されたボタンに対応するイベントをシステムに入力する入力装置であり、複数の機能をそれぞれに起動するための複数のボタンを備えている。これらボタン群には、ＴＶ起動ボタン１５Ａ、ＤＶＤ（Digital Versatile Disc）起動ボタン１５Ｂが含まれている。ＴＶ起動ボタン１５Ａは、デジタルＴＶ放送番組のような放送番組データの再生及び記録を行うためのＴＶ機能を起動するためのボタンであり、ユーザによって押下されると、このＴＶ機能を実行するためのＴＶアプリケーションプログラムが起動される。また、ＤＶＤ起動ボタン１５Ｂは、ＤＶＤに記録されたビデオコンテンツを再生するためのボタンであり、ユーザによって押下されると、ビデオコンテンツを再生するためのアプリケーションプログラムが自動的に起動される。
【００１７】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１８】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１１１、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１９、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、光ディスクドライブ（ＯＤＤ）１２２、デジタルＴＶ放送チューナ１２３、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４およびネットワークコントローラ１２５等を備えている。
【００１９】
ＣＰＵ１１１は、本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ（ＨＤＤ）１２１から主メモリ１１３にロードされる、オペレーティングシステム（ＯＳ）およびビデオ再生アプリケーションプログラム２０１のような各種アプリケーションプログラムを実行する。
【００２０】
ビデオ再生アプリケーションプログラム２０１は、圧縮符号化された動画像データをデコードおよび再生するためのソフトウェアである。このビデオ再生アプリケーションプログラム２０１は、Ｈ．２６４／ＡＶＣ規格に対応するソフトウェアデコーダである。ビデオ再生アプリケーションプログラム２０１は、Ｈ．２６４／ＡＶＣ規格で定義された符号化方式で圧縮符号化されている動画像ストリーム（例えば、デジタルＴＶ放送チューナ１２３によって受信されたデジタルＴＶ放送番組、光ディスクドライブ（ＯＤＤ）１２２から読み出されるＨＤ（High Definition）規格のビデオコンテンツ、など）をデコードするための機能を有している。
【００２１】
このビデオ再生アプリケーションプログラム２０１は、図３に示すように、デコード制御モジュール２１１、デコード実行モジュール２１２およびブレンド処理部２１３を備えている。
【００２２】
デコード実行モジュール２１２は、Ｈ．２６４／ＡＶＣ規格で定義されたデコード処理を実行するデコーダである。ブレンド処理部２１３は、デコード実行モジュール２１２によってデコードされた２つの画像を重ね合わせるためのブレンド処理を実行する。ブレンド処理は、重ねる側（上側）の画像データに付随するアルファデータに基づき、２つの画像データを画素単位で重ね合わせるものである（アルファブレンディング）。アルファデータは、重ねる側（上側）の画像データの各画素の透明度（または不透明度）を示す係数である。なお、ここでは、重ねる側（上側）および重ねられる側（下側）の双方ともデコード実行モジュール２１２によってデコードされた画像を例に説明するが、これに限られるものではなく、いずれか一方を、例えばユーザインタフェース用に予め用意されたメニュー画面等の描画（グラフィックス）とした重ね合わせも可能である。
【００２３】
そして、デコード制御モジュール２１１は、デコード実行モジュール２１２によってデコードされた画像がブレンド処理部２１３によるブレンド処理に用いられるか否かで、デコード実行モジュール２１２によって実行されるデコード処理の内容を制御する。
【００２４】
具体的には、デコード制御モジュール２１１は、デコード実行モジュール２１３によってデコードされた画像がブレンド処理部２１３によるブレンド処理に用いられない場合、Ｈ．２６４／ＡＶＣ規格で定義されたデコード処理がＣＰＵ１１１によって実行されるように、デコード実行モジュール２１３によって実行すべきデコード処理の内容を制御する。一方、ブレンド処理部２１３によるブレンド処理に用いられる場合には、デコード制御モジュール２１１は、Ｈ．２６４／ＡＶＣ規格で定義されたデコード処理の一部が省略された処理に置換されるように、デコード実行モジュール２１２によって実行すべきデコード処理の内容を制御する。
【００２５】
なお、このビデオ再生アプリケーションプログラム２０１によってデコードされた動画像データは、表示ドライバ２０２を介してグラフィクスコントローラ１１４のビデオメモリ１１４Ａに順次書き込まれる。これにより、デコードされた動画像データはＬＣＤ１７に表示される。表示ドライバ２０２はグラフィクスコントローラ１１４を制御するためのソフトウェアである。
【００２６】
また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１２０に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００２７】
ノースブリッジ１１２はＣＰＵ１１１のローカルバスとサウスブリッジ１１９との間を接続するブリッジデバイスである。ノースブリッジ１１２には、主メモリ１１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。
【００２８】
グラフィクスコントローラ１１４は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このグラフィクスコントローラ１１４はビデオメモリ（ＶＲＡＭ）１１４Ａに書き込まれた画像データからＬＣＤ１７に送出すべき表示信号を生成する。
【００２９】
サウスブリッジ１１９は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ１１９は、ＨＤＤ１２１、ＯＤＤ１２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１１９は、デジタルＴＶ放送チューナ１２３を制御する機能、およびＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００３０】
ＨＤＤ１２１は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ（ＯＤＤ）１２２は、ビデオコンテンツが格納されたＤＶＤなどの記憶メディアを駆動するためのドライブユニットである。デジタルＴＶ放送チューナ１２３は、デジタルＴＶ放送番組のような放送番組データを外部から受信するための受信装置である。
【００３１】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０を電源オン／オフする機能を有している。さらに、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるＴＶ起動ボタン１５Ａ、ＤＶＤ起動ボタン１５Ｂの操作に応じて、本コンピュータ１０を電源オンすることもできる。ネットワークコントローラ１２５は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００３２】
次に、図４を参照して、ビデオ再生アプリケーションプログラム２０１によって実現されるソフトウェアデコーダの機能構成を説明する。
【００３３】
ビデオ再生アプリケーションプログラム２０１のデコード実行モジュール２１３は、Ｈ．２６４／ＡＶＣ規格に対応しており、図示のように、エントロピー復号部３０１、逆量子化部３０２、逆ＤＣＴ部（DCT：Discrete Cosine Transform）３０３、加算部３０４、デブロッキングフィルタ部３０５、フレームメモリ３０６、動きベクトル予測部３０７、補間予測部３０８、重み付き予測部３０９、イントラ予測部３１０、およびモード切替スイッチ部３１１を含む。Ｈ．２６４の直交変換は整数精度であり、従来のＤＣＴとは異なるが、ここではＤＣＴと称することとする。
【００３４】
各画面（ピクチャ）の符号化は、たとえば１６ｘ１６画素のマクロブロック単位で実行される。各マクロブロックごとに、フレーム内符号化モード（イントラ符号化モード）および動き補償フレーム間予測符号化モード（インター符号化モード）のいずれか一方が選択される。
【００３５】
動き補償フレーム間予測符号化モードにおいては、既に符号化された画面（ピクチャ）からの動きを推定することによって、符号化対象画面に対応する動き補償フレーム間予測信号が定められた形状単位で生成される。そして、符号化対象画面（ピクチャ）から動き補償フレーム間予測信号を引いた予測誤差信号が、直交変換（ＤＣＴ）、量子化、およびエントロピー符号化によって、符号化される。また、イントラ符号化モードにおいては、符号化対象画面（ピクチャ）から予測信号が生成され、その予測信号が直交変換（ＤＣＴ）、量子化、およびエントロピー符号化によって、符号化される。
【００３６】
Ｈ．２６４／ＡＶＣ規格に対応するコーデックは、さらに圧縮率を高めるために、
（１）従来のＭＰＥＧよりも高い画素精度（１／４画素精度）の動き補償
（２）フレーム内符号化を効率的に行うためのフレーム内予測
（３）ブロック歪みを低減するためのデブロッキングフィルタ
（４）４ｘ４画素単位の整数ＤＣＴ
（５）任意の位置の複数の画面（ピクチャ）を参照画面として使用可能なマルチリファレンスフレーム
（６）重み付け予測
等の技術を利用する。
【００３７】
以下、図４のソフトウェアデコーダの動作を説明する。
【００３８】
Ｈ．２６４／ＡＶＣ規格にしたがって圧縮符号化された動画像ストリームは、まず、エントロピー復号部３０１に入力される。圧縮符号化された動画像ストリームには、符号化された画像情報の他に、動き補償フレーム間予測符号化（インター予測符号化）で用いられた動きベクトル情報、フレーム内予測符号化（イントラ予測符号化）で用いられたフレーム内予測情報、予測モード（インター予測符号化／イントラ予測符号化）を示すモード情報等が含まれている。
【００３９】
デコード処理は、例えば１６ｘ１６画素のマクロブロック単位で実行される。エントロピー復号部３０１は動画像ストリームに対して可変長復号のようなエントロピー復号処理を施して、動画像ストリームから、量子化ＤＣＴ係数、動きベクトル情報（動きベクトル差分情報）、フレーム内予測情報、およびモード情報を分離する。この場合、例えば、デコード対象画面（ピクチャ）内の各マクロブロックは４ｘ４画素（または８ｘ８画素）のブロック毎にエントロピー復号処理され、各ブロックは４ｘ４（または８ｘ８画素）の量子化ＤＣＴ係数に変換される。以下では、各ブロックが４ｘ４である場合を想定する。動きベクトル情報は、動きベクトル予測部３０７に送られる。フレーム内予測情報は、イントラ予測部３１０に送られる。モード情報はモード切替スイッチ部３１１に送られる。
【００４０】
各デコード対象ブロックの４ｘ４の量子化ＤＣＴ係数は、逆量子化部３０２による逆量子化処理により４ｘ４のＤＣＴ係数（直交変換係数）に変換される。この４ｘ４のＤＣＴ係数は、逆ＤＣＴ部３０３による逆整数ＤＣＴ（逆直交変換）処理によって、周波数情報から、４ｘ４の画素値に変換される。この４ｘ４の画素値は、デコード対象ブロックに対応する予測誤差信号である。この予測誤差信号は加算部３０４に送られ、そこでデコード対象ブロックに対応する予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）が加算され、これによってデコード対象ブロックに対応する４ｘ４の画素値がデコードされる。
【００４１】
イントラ予測モードにおいては、モード切替スイッチ部３１１によってイントラ予測部３１０が選択され、これによってイントラ予測部３１０からのフレーム内予測信号が予測誤差信号に加算される。インター予測モードにおいては、モード切替スイッチ部３１１によって重み付き予測部３０９が選択され、これによって、動きベクトル予測部３０７、補間予測部３０８、および重み付き予測部３０９によって得られる動き補償フレーム間予測信号が予測誤差信号に加算される。
【００４２】
このように、デコード対象画面に対応する予測誤差信号に予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）を加算してデコード対象画面をデコードする処理が所定のブロック単位で実行される。
【００４３】
デコードされた各画面（ピクチャ）は、デブロッキングフィルタ部３０５によってデブロッキングフィルタ処理が施された後に、フレームメモリ３０６に格納される。このデブロッキングフィルタ部３０５は、例えば４ｘ４画素のブロック単位で、デコードされた各画面に対してブロックノイズを低減するためのデブロッキングフィルタ処理を施す。このデブロッキングフィルタ処理は、ブロック歪みが参照画像に含まれてしまい、これによってブロック歪みが復号画像に伝搬してしまうことを防止する。デブロッキングフィルタ処理のための処理量は膨大であり、ソフトウェアデコーダの全処理量の５０パーセントを占める場合もある。デブロッキングフィルタ処理は、ブロック歪みが生じやすい箇所に対してはより強いフィリタリングが施され、ブロック歪みが生じにくい箇所に対しては弱いフィリタリングが施されるように、適応的に実行される。デブロッキングフィルタ処理はループフィルタ処理によって実現されている。
【００４４】
そして、デブロッキングフィルタ処理された各画面は、フレームメモリ３０６から出力画像フレーム（または出力画像フィールド）として読み出される。また、動き補償フレーム間予測のための参照画像として使用されるべき各画面（参照画面）は、フレームメモリ３０６内に一定期間保持される。Ｈ．２６４／ＡＶＣ規格の動き補償フレーム間予測符号化においては、複数の画面を参照画面として使用することができる。このため、フレームメモリ３０６は、複数画面分の画像を記憶するための複数個のフレームメモリ部を備えている。
【００４５】
動きベクトル予測部３０７は、デコード対象ブロックに対応する動きベクトル差分情報に基づいて、動きベクトル情報を生成する。補間予測部３０８は、デコード対象ブロックに対応する動きベクトル情報に基づいて、参照画面内の、整数精度の画素群および１／４画素精度の予測補間画素群から、動き補償フレーム間予測信号を生成する。１／４画素精度の予測補間画素の生成においては、まず、６タップフィルタ（入力６つ、出力１つ）を用いて１／２画像を生成し、続いて２タップフィルタを用いることにより実現される。このため、高周波成分まで考慮した高精度の予測補間処理を実行できるが、その分、動き補償には多くの処理量が必要となる。
【００４６】
重み付け予測部３０９は、動き補償フレーム間予測信号に対して重み係数を乗じる処理を動き補償ブロック単位で実行することにより、重み付けされた動き補償フレーム間予測信号を生成する。この重み付け予測は、デコード対象画面の明るさを予測する処理である。この重み付け予測処理により、フェード・イン、フェード・アウトのように、明るさが時間の経過と共に変化する画像の画質を向上することができる。しかし、その分、ソフトウェアデコードに必要な処理量は増大する。
【００４７】
イントラ予測部３１０は、デコード対象画面からその画面内に含まれるデコード対象ブロックのフレーム内予測信号を生成するものである。このイントラ予測部３１０は、上述のフレーム内予測情報に従って画面内予測処理を実行して、デコード対象ブロックと同一画面内に存在する、当該デコード対象ブロックに近接する既にデコードされた他のブロック内の画素値からフレーム内予測信号を生成する。このフレーム内予測（イントラ予測）は、ブロック間の画素相関を利用して圧縮率を高める技術である。このフレーム内予測においては、例えば１６ｘ１６画素の場合、フレーム内予測情報に従って、垂直予測（予測モード０）、水平予測（予測モード１）、平均値予測（予測モード２）、平面予測（予測モード３）を含む４種類の予測モードの内の一つが、フレーム内予測ブロック単位で選択される。平面予測が選択される頻度は他のフレーム内予測モードよりも低いが、平面予測のために必要とされる処理量は、他のどのフレーム内予測モードの処理量よりも多い。
【００４８】
本実施形態においては、ブレンド処理部２１３によるブレンド処理が行われる場合、そのブレンド処理に用いられる画像のデコード処理について、ユーザの設定に基づき、図４で説明したデコード処理（以下、通常デコード処理と称する）と、特殊デコード処理とを選択的に実行する。特殊デコード処理は、通常デコード処理から色成分（Ｃｂ／Ｃｒ）のデコード処理を省略したデコード処理である。つまり、ある画像の上に別の画像が重ね合わせられる状況下においては、下側の画像はモノクロームで構わないと考えるユーザや、下側の画像中の上側の画像が重ねられる部分についてはモノクロームで構わないと考えるユーザの場合、その旨の設定を行っておくことにより、下側の画像全体、または下側の画像中の上側の画像が重ねられる部分に対するデコード処理の中の色成分のデコード処理が省略され、その分、システムの負荷を低減させることができる。この設定は、ビデオ再生アプリケーションプログラム２０１が提示するユーザインタフェース用の設定画面上でユーザが所定の操作を行う等、いずれの方法によっても構わない。
【００４９】
ここで、ブレンド処理部２１３によって実行されるブレンド処理（アルファブレンディング）について簡単に説明する。
【００５０】
第１の画像（下側）上に第２の画像（上側）を画素単位で重ね合わせる場合、ブレンド処理部２１３は、次の（１）式によって、この重ね合わせ後の合成画像の各画素の色を演算する。
【００５１】
Ｖ＝α×Ｂ＋（１−α）Ａ          …（１）式
ここで、Ｖはアルファブレンディングで得られる合成画像の各画素の色、αは第２の画像の各画素に対応するアルファデータ、Ｂは第２の画像の各画素の色、Ａは第１の画像の各画素の色である。
【００５２】
いま、図５に示すように、１９２０×１０８０画素の第１の画面（ａ１）上に７２０×４８０画素の第２の画面（ａ２）を重ね合わせた合成画面（ａ３）をブレンド処理（アルファブレンディング）で生成する場合を考える。
【００５３】
この場合、１９２０×１０８０画素の第１の画面（ａ１）のうち、７２０×４８０画素の第２の画面（ａ２）が重畳されない領域の各画素のアルファデータは０である。そのため、７２０×４８０画素の第２の画面（ａ２）が重畳されない領域は透明となるので、合成画面（ａ３）上における当該領域には第１の画面（ａ１）の画像データが１００％の不透明度で表示される。また、７２０×４８０画素の第２の画面（ａ２）の画像データの各画素は、合成画面（ａ３）上において、第２の画面（ａ２）の画像データに対応するアルファデータで指定される透明度で第１の画面（ａ１）の画像データ上に表示される。例えば、アルファデータ＝１の第２の画面（ａ２）の画像データの画素は１００％の不透明度で表示され、当該画素位置に対応する第１の画面（ａ１）の画像データの画素は表示されないことになる。
【００５４】
このようなブレンド処理（アルファブレンディング）に用いられる画像に対するデコード処理の中の色成分のデコード処理の省略方法としては、次の２通りが適用可能である。
【００５５】
（省略方法１）図４で説明したデコード処理のうち、斜線で示されるすべてのデコードモジュール（逆量子化部３０２、逆ＤＣＴ部３０３、デブロッキングフィルタ部３０５、動きベクトル予測部３０７、補間予測部３０８、重み付き予測部３０９、イントラ予測部３１０）のＣｂ／Ｃｒデコードをスキップする。
【００５６】
（省略方法２）Ｈ．２６４では、High Profileの場合、Ｈ．２６４ストリーム中の後述するＳＰＳ（Sequence Parameter Set）に、chroma_format_idcと呼ばれる色成分が含まれる割合を示すフラグが存在する。このchroma_format_idcの値が０の場合、動画がモノクロームであることを示しているので、この場合はデコーダはＣｂ／Ｃｒ成分をデコードしない。そこで、これを利用し、High Profileのとき、chroma_format_idcの値が０以外であっても、エントロピー復号部３０１によるエントロピー復号時に、このchroma_format_idcの値をデコードした時点で０に書き換えることで、デコーダによる色成分（Ｃｂ／Ｃｒ）のデコード処理を省略する。ＳＰＳのデコードはそれほど多くないため、このchroma_format_idcの書き換えはデコードへの負担とはならない。
【００５７】
次に、図６のフローチャートを参照して、ビデオ再生アプリケーションプログラム２０１によって実行されるデコード処理の手順を説明する。
【００５８】
ビデオ再生アプリケーションプログラム２０１は、デコード処理の実行期間中、ブレンド処理部２１３によるアルファブレンディングの実行有無を監視し（ステップＳ１）、アルファブレンディングが行われていなければ（ステップＳ１のＮＯ）、ＣＰＵ１１１に実行させるべきデコード処理として上述の通常デコード処理を選択し、これによって図４で説明した一連の処理をＣＰＵ１１１上で実行する（ステップＳ２）。
【００５９】
アルファブレンディングが行われていれば（ステップＳ１のＹＥＳ）、ビデオ再生アプリケーションプログラム２０１は、アルファブレンディング時における色成分（Ｃｂ／Ｃｒ）のデコード処理について、ユーザの設定が省略するようになされているかどうかを調べ（ステップＳ３）、省略しない設定であれば（ステップＳ３のＮＯ）、アルファブレンディングが行われていない場合と同様、ＣＰＵ１１１に実行させるべきデコード処理として上述の通常デコード処理を選択し、これによって図４で説明した一連の処理をＣＰＵ１１１上で実行する（ステップＳ２）。
【００６０】
一方、省略する設定であれば（ステップＳ３のＹＥＳ）、ビデオ再生アプリケーションプログラム２０１は、通常デコード処理から色成分（Ｃｂ／Ｃｒ）のデコード処理を省略したデコード処理をＣＰＵ１１１上で実行する（ステップＳ４）。
【００６１】
そして、動画像ストリーム全てのデコードが完了するまで、上述のステップＳ１〜Ｓ４の処理は繰り返し実行されるので（ステップＳ５）、その間にアルファブレンディングが開始または停止されると、その後のアルファブレンディング有無に応じて、通常デコード処理から特殊デコード処理、または特殊デコード処理から通常デコード処理への切り替えが行われる。
【００６２】
Ｈ．２６４のシーケンスの構造は、図７のように複数のアクセスユニット（ＡＵ）から構成されている。各アクセスユニットは１つの画面に対応している。各アクセスユニットは複数のＮＡＬユニットから構成されている。ＮＡＬユニットには３２種類あり、ヘッダ部を解析することによってその種類を判別することができる。図８は、図７に示したＡＵの構造に、High Profileの場合における具体的なＮＡＬユニットの種類を当てはめて示した図である。この図８中の各ブロックはＮＡＬユニットを示している。
【００６３】
そして、ビデオ再生アプリケーションプログラム２０１は、High Profileの場合、図８に示すＡＵの構造に当てはめられたＮＡＬユニットのうち、ＳＰＳのＮＡＬユニットに存在するchroma_format_idcを参照し、前述したように、その値を０に書き換えることで色成分（Ｃｂ／Ｃｒ）のデコード処理を省略できる。図９は、chroma_format_idcの値と色成分の割合との対応を示す図であり、図示のように、chroma_format_idcの値が０の場合には、モノクロームであることを示している。なお、１〜３の場合の３つの数字は、左から輝度Ｙ、色差（Ｃｂ）、色差（Ｃｒ）の各データのビット数を示している。
【００６４】
以上のように、本実施形態によれば、ブレンド処理（アルファブレンディング）が行われている状況下において、ユーザの設定に基づき、色成分のデコード処理を省略してシステムの負荷を低減することを実現する。
【００６５】
なお、前述の実施形態では、別の画像が重ねられる下側の画像全体、または下側の画像中の上側の画像が重ねられる部分に対するデコード処理の中の色成分のデコード処理を省略することを例に説明したが、例えば重ねる側の上側の画像に対するデコード処理の中の色成分のデコード処理を省略することも当然に可能である。
【００６６】
また、前述のデコード制御処理は全てコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入するだけで、本実施形態と同様の効果を容易に実現することができる。
【００６７】
また、本実施形態のソフトウェアデコーダは、パーソナルコンピュータに限らず、ＰＤＡ、携帯型電話機等にも適用することができる。
【００６８】
つまり、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態に係るコンピュータの外観を示す斜視図
【図２】同実施形態のコンピュータのシステム構成を示す図
【図３】同実施形態のコンピュータで用いられるビデオ再生アプリケーションプログラムの機能構成を示すブロック図
【図４】同実施形態のビデオ再生アプリケーションプログラムによって実現されるソフトウェアデコーダの構成を示すブロック図
【図５】ブレンド処理（アルファブレンディング）の一例を説明する図
【図６】同実施形態のビデオ再生アプリケーションプログラムによって実行されるデコード処理の手順を示すフローチャート
【図７】同実施形態のビデオ再生アプリケーションプログラムによってデコードされる動画像ストリームの構造を示す図
【図８】同実施形態のビデオ再生アプリケーションプログラムによってデコードされる動画像ストリームのアクセスユニットの構造を示す図
【図９】同実施形態のビデオ再生アプリケーションプログラムによってデコードされる動画像ストリームのＳＰＳのＮＡＬユニットに存在するchroma_format_idcの値と色成分の割合との対応を示す図
【符号の説明】
【００７０】
１０…コンピュータ、１１…コンピュータ本体、１２…ディスプレイユニット、１３…キーボード、１４…パワーボタン、１５…入力操作パネル、１５Ａ…ＴＶ起動ボタン、１５Ｂ…ＤＶＤ起動ボタン、１６…タッチパッド、１７…ＬＣＤ、１１１…ＣＰＵ、１１２…ノースブリッジ、１１３…主メモリ、１１４…グラフィクスコントローラ、１１４Ａ…ビデオメモリ、１１９…サウスブリッジ、１２０…ＢＩＯＳ−ＲＯＭ、１２１…ハードディスクドライブ（ＨＤＤ）、１２１…光ディスクドライブ（ＯＤＤ）、１２２…動画像ストリーム、１２３…ＴＶ放送チューナ、１２４…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、１２５…ネットワークコントローラ、２００…オペレーティングシステム、２０１…ビデオ再生アプリケーションプログラム、２０２…表示ドライバ、２１１…デコード制御モジュール、２１２…デコード実行モジュール、２１３…ブレンド処理部、３０１…エントロピー復号部、３０２…逆量子化部、３０３…ＤＣＴ部、３０４…加算部、３０５…デブロッキングフィルタ部、３０６…フレームメモリ、３０７…動きベクトル予測部、３０８…補間予測部、３０９…重み付き予測部、３１０…イントラ予測部、３１１…モード切替スイッチ部。
【図１】
2006254232.tif 000003
【図２】
2006254232.tif 000004
【図３】
2006254232.tif 000005
【図４】
2006254232.tif 000006
【図５】
2006254232.tif 000007
【図６】
2006254232.tif 000008
【図７】
2006254232.tif 000009
【図８】
2006254232.tif 000010
【図９】
2006254232.tif 000011