(57)【要約】【課題】動画像ストリームのデコードに係るシステム負荷を適切に低減することを実現した情報処理装置を提供する。【解決手段】ビデオ再生アプリケーションプログラム２０１は、システム負荷をオペレーティングシステム２００に問い合わせ、もし、システム負荷が予め定められた水準未満の低負荷状態にあれば、デブロッキングフィルタ処理を含む全てのデコード処理（通常デコード処理）を実行する。一方、予め定められた水準以上の高負荷状態にあれば、ビデオ再生アプリケーションプログラム２０１は、デブロッキングフィルタ処理中の色差信号のデブロッキングフィルタ処理を省略した特殊デコード処理を実行することで、動画像ストリームのデコードに係るシステム負荷を低減させる。【選択図】      図３
2007174196.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）３０３、加算部３０４、デブロッキングフィルタ部３０５、フレームメモリ３０６、動きベクトル予測部３０７、補間予測部３０８、重み付き予測部３０９、イントラ予測部３１０、およびモード切替スイッチ部３１１を含む。Ｈ．２６４の直交変換は整数精度であり、従来のＤＣＴとは異なるが、ここではＤＣＴと称することとする。
【００３４】
各画面（ピクチャ）の符号化は、たとえば１６ｘ１６画素のマクロブロック単位で実行される。各マクロブロックごとに、フレーム内符号化モード（イントラ符号化モード）および動き補償フレーム間予測符号化モード（インター符号化モード）のいずれか一方が選択される。
【００３５】
動き補償フレーム間予測符号化モードにおいては、既に符号化された画面（ピクチャ）からの動きを推定することによって、符号化対象画面に対応する動き補償フレーム間予測信号が定められた形状単位で生成される。そして、符号化対象画面（ピクチャ）から動き補償フレーム間予測信号を引いた予測誤差信号が、直交変換（ＤＣＴ）、量子化、およびエントロピー符号化によって、符号化される。また、イントラ符号化モードにおいては、符号化対象画面（ピクチャ）から予測信号が生成され、その予測信号が直交変換（ＤＣＴ）、量子化、およびエントロピー符号化によって、符号化される。
【００３６】
Ｈ．２６４／ＡＶＣ規格に対応するコーデックは、さらに圧縮率を高めるために、
（１）従来のＭＰＥＧよりも高い画素精度（１／４画素精度）の動き補償
（２）フレーム内符号化を効率的に行うためのフレーム内予測
（３）ブロック歪みを低減するためのデブロッキングフィルタ
（４）４ｘ４画素単位の整数ＤＣＴ
（５）任意の位置の複数の画面（ピクチャ）を参照画面として使用可能なマルチリファレンスフレーム
（６）重み付け予測
等の技術を利用する。
【００３７】
以下、図４のソフトウェアデコーダの動作を説明する。
【００３８】
Ｈ．２６４／ＡＶＣ規格にしたがって圧縮符号化された動画像ストリームは、まず、エントロピー復号部３０１に入力される。圧縮符号化された動画像ストリームには、符号化された画像情報の他に、動き補償フレーム間予測符号化（インター予測符号化）で用いられた動きベクトル情報、フレーム内予測符号化（イントラ予測符号化）で用いられたフレーム内予測情報、予測モード（インター予測符号化／イントラ予測符号化）を示すモード情報等が含まれている。
【００３９】
デコード処理は、例えば１６ｘ１６画素のマクロブロック単位で実行される。エントロピー復号部３０１は動画像ストリームに対して可変長復号のようなエントロピー復号処理を施して、動画像ストリームから、量子化ＤＣＴ係数、動きベクトル情報（動きベクトル差分情報）、フレーム内予測情報、およびモード情報を分離する。この場合、例えば、デコード対象画面（ピクチャ）内の各マクロブロックは４ｘ４画素（または８ｘ８画素）のブロック毎にエントロピー復号処理され、各ブロックは４ｘ４（または８ｘ８画素）の量子化ＤＣＴ係数に変換される。以下では、各ブロックが４ｘ４である場合を想定する。動きベクトル情報は、動きベクトル予測部３０７に送られる。フレーム内予測情報は、イントラ予測部３１０に送られる。モード情報はモード切替スイッチ部３１１に送られる。
【００４０】
各デコード対象ブロックの４ｘ４の量子化ＤＣＴ係数は、逆量子化部３０２による逆量子化処理により４ｘ４のＤＣＴ係数（直交変換係数）に変換される。この４ｘ４のＤＣＴ係数は、逆ＤＣＴ部３０３による逆整数ＤＣＴ（逆直交変換）処理によって、周波数情報から、４ｘ４の画素値に変換される。この４ｘ４の画素値は、デコード対象ブロックに対応する予測誤差信号である。この予測誤差信号は加算部３０４に送られ、そこでデコード対象ブロックに対応する予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）が加算され、これによってデコード対象ブロックに対応する４ｘ４の画素値がデコードされる。
【００４１】
イントラ予測モードにおいては、モード切替スイッチ部３１１によってイントラ予測部３１０が選択され、これによってイントラ予測部３１０からのフレーム内予測信号が予測誤差信号に加算される。インター予測モードにおいては、モード切替スイッチ部３１１によって重み付き予測部３０９が選択され、これによって、動きベクトル予測部３０７、補間予測部３０８、および重み付き予測部３０９によって得られる動き補償フレーム間予測信号が予測誤差信号に加算される。
【００４２】
このように、デコード対象画面に対応する予測誤差信号に予測信号（動き補償フレーム間予測信号またはフレーム内予測信号）を加算してデコード対象画面をデコードする処理が所定のブロック単位で実行される。
【００４３】
デコードされた各画面（ピクチャ）は、デブロッキングフィルタ部３０５によってデブロッキングフィルタ処理が施された後に、フレームメモリ３０６に格納される。このデブロッキングフィルタ部３０５は、例えば４ｘ４画素のブロック単位で、デコードされた各画面に対してブロックノイズを低減するためのデブロッキングフィルタ処理を施す。このデブロッキングフィルタ処理は、ブロック歪みが参照画像に含まれてしまい、これによってブロック歪みが復号画像に伝搬してしまうことを防止する。デブロッキングフィルタ処理のための処理量は膨大であり、ソフトウェアデコーダの全処理量の５０パーセントを占める場合もある。デブロッキングフィルタ処理は、ブロック歪みが生じやすい箇所に対してはより強いフィリタリングが施され、ブロック歪みが生じにくい箇所に対しては弱いフィリタリングが施されるように、適応的に実行される。デブロッキングフィルタ処理はループフィルタ処理によって実現されている。
【００４４】
そして、デブロッキングフィルタ処理された各画面は、フレームメモリ３０６から出力画像フレーム（または出力画像フィールド）として読み出される。また、動き補償フレーム間予測のための参照画像として使用されるべき各画面（参照画面）は、フレームメモリ３０６内に一定期間保持される。Ｈ．２６４／ＡＶＣ規格の動き補償フレーム間予測符号化においては、複数の画面を参照画面として使用することができる。このため、フレームメモリ３０６は、複数画面分の画像を記憶するための複数個のフレームメモリ部を備えている。
【００４５】
動きベクトル予測部３０７は、デコード対象ブロックに対応する動きベクトル差分情報に基づいて、動きベクトル情報を生成する。補間予測部３０８は、デコード対象ブロックに対応する動きベクトル情報に基づいて、参照画面内の、整数精度の画素群および１／４画素精度の予測補間画素群から、動き補償フレーム間予測信号を生成する。１／４画素精度の予測補間画素の生成においては、まず、６タップフィルタ（入力６つ、出力１つ）を用いて１／２画像を生成し、続いて２タップフィルタを用いることにより実現される。このため、高周波成分まで考慮した高精度の予測補間処理を実行できるが、その分、動き補償には多くの処理量が必要となる。
【００４６】
重み付け予測部３０９は、動き補償フレーム間予測信号に対して重み係数を乗じる処理を動き補償ブロック単位で実行することによって、重み付けされた動き補償フレーム間予測信号を生成する。この重み付け予測は、デコード対象画面の明るさを予測する処理である。この重み付け予測処理により、フェード・イン、フェード・アウトのように、明るさが時間の経過と共に変化する画像の画質を向上することができる。しかし、その分、ソフトウェアデコードに必要な処理量は増大する。
【００４７】
イントラ予測部３１０は、デコード対象画面からその画面内に含まれるデコード対象ブロックのフレーム内予測信号を生成するものである。このイントラ予測部３１０は、前述のフレーム内予測情報に従って画面内予測処理を実行して、デコード対象ブロックと同一画面内に存在する、当該デコード対象ブロックに近接する既にデコードされた他のブロック内の画素値からフレーム内予測信号を生成する。このフレーム内予測（イントラ予測）は、ブロック間の画素相関を利用して圧縮率を高める技術である。このフレーム内予測においては、例えば１６ｘ１６画素の場合、フレーム内予測情報に従って、垂直予測（予測モード０）、水平予測（予測モード１）、平均値予測（予測モード３）、平面予測（予測モード４）を含む４種類の予測モードの内の一つが、フレーム内予測ブロック単位で選択される。平面予測が選択される頻度は他のフレーム内予測モードよりも低いが、平面予測のために必要とされる処理量は、他のどのフレーム内予測モードの処理量よりも多い。
【００４８】
本実施形態においては、輝度と比較して、色差については、画像の品質の劣化が多少発生しても、その品質劣化が視聴者から知覚されづらいことに着目し、コンピュータ１０が高負荷の状態にある場合には、図４で説明した、デブロッキングフィルタ処理を含む全てのデコード処理（以下、通常デコード処理と称する）と、特殊デコード処理とを選択的に実行する。特殊デコード処理は、通常デコード処理からデブロッキングフィルタ処理中の色差信号のデブロッキングフィルタ処理を省略したデコード処理である。
【００４９】
ここで、図５のフローチャートを参照して、ビデオ再生アプリケーションプログラム２０１によって実行されるデコード処理の手順を説明する。
【００５０】
ビデオ再生アプリケーションプログラム２０１は、デコード処理の実行期間中、オペレーティングシステム（ＯＳ）２００にシステム負荷を問い合わせ（ステップＡ１）、高負荷状態になっていなければ（ステップＡ２ＮＯ）、ＣＰＵ１１１に実行させるべきデコード処理として前述の通常デコード処理を選択して実行する（ステップＡ３）。
【００５１】
一方、高負荷状態になっていれば（ステップＡ２のＹＥＳ）、ビデオ再生アプリケーションプログラム２０１は、ＣＰＵ１１１に実行させるべきデコード処理として前述の特殊デコード処理、つまり、色差信号のデブロッキングフィルタ処理を省略したデコード処理を選択して実行する（ステップＡ４）。色差信号のデブロッキングフィルタ処理を省略することにより、ブロック歪みの含まれた画像が出力される可能性があるものの、１画面あたりのソフトウェアデコードに必要な処理量を大幅に低下できる。
【００５２】
そして、動画像ストリームのデコードが完了していなければ（ステップＡ５のＮＯ）、前述のステップＡ１〜Ａ４の処理を繰り返し、完了したら（ステップＡ５のＹＥＳ）、この処理を終了する。
【００５３】
以上のように、本実施形態のコンピュータ１０は、動画像ストリームのデコードに係るシステム負荷を適切に低減することを実現する。
【００５４】
（第２実施形態）
次に、この発明の第２実施形態について説明する。
【００５５】
前述の第１実施形態では、システム負荷検出モジュール２１１によって検出されたＣＰＵ１１１の負荷が予め定められた水準未満であったら通常のデコードを行い、予め定められた水準以上であったら色差信号のデブロッキングフィルタ処理を省略したデコードを行うといった２段階の制御例を説明した。これに対して、第２実施形態では、ＣＰＵ１１１の負荷が予め定められた第１の水準以上かどうか、および（第１の水準未満であって）第２の水準以上かどうか、によって３段階の制御を実行する。具体的には、前述の第１実施形態の制御に加えて、デブロッキングフィルタ処理のフィルタ強度を小さくするといった制御を実行する。
【００５６】
フィルタ強度は、フィルタ対象となる画素の属性から一意的に求まるｂｓ（Boundary Strength）によって決定される。ｂｓは、０，１，２，３，４の値を取り、０の場合がフィルタ処理なし、４の場合が最も強いフィルタ処理が行われ、それに伴い演算量も増大する。そこで、例えば実際のｂｓ値が１，２，３のとき、ｂｓ＝０としてフィルタ処理を行い（つまりフィルタ処理なしとして実質的な省略化を図り）、４のときのみ通常の処理を行うことで、全体的な演算量を減少させる。
【００５７】
図６は、この第２実施形態のビデオ再生アプリケーションプログラム２０１によって実行されるデコード処理の手順を示すフローチャートである。
【００５８】
ビデオ再生アプリケーションプログラム２０１は、オペレーティングシステム（ＯＳ）２００から取得したシステム負荷が第１の水準以上（デコードのパフォーマンスレベルが２）である場合（ステップＢ１のＹＥＳ）、その時点で色差信号のデブロッキングフィルタ処理の省略を無条件に決定する。
【００５９】
また、第１の水準未満であって（ステップＢ１のＮＯ）、第２の水準以上（デコードのパフォーマンスレベルが１）である場合（ステップＢ２のＹＥＳ）、ビデオ再生アプリケーションプログラム２０１は、続いて、その画面内のブロック境界のブロック境界強度を算出し（ステップＢ３）、その値が４以外であれば（ステップＢ４のＮＯ）、色差信号のデブロッキングフィルタ処理を省略するものと決定する。一方、算出したブロック境界強度が４であれば（ステップＢ４のＹＥＳ）、ビデオ再生アプリケーションプログラム２０１は、その画面についてはｂｓ＝４のフィルタ処理を実行するものと決定する（ステップＢ５）。一方、第２の水準未満である場合には（ステップＢ２のＮＯ）、ビデオ再生アプリケーションプログラム２０１は、そのまま通常通りのフィルタ処理を実行するものと決定する（ステップＢ６）。
【００６０】
このように、本実施形態のコンピュータ１０では、システム負荷が最も高い第１の水準以上である場合、ｂｓ計算すらも省くフィルタ処理の省略化が図られ、第１の水準未満であって第２の水準以上である場合には、画面の属性（ｂｓ計算の結果）に応じて色差信号のデブロッキングフィルタ処理が省略されるといった適切な制御が実施される。
【００６１】
なお、前述のデコード制御処理は、すべてコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータに導入するだけで、本実施形態と同様の効果を容易に実現することができる。
【００６２】
また、本実施形態のソフトウェアデコーダは、パーソナルコンピュータに限らず、ＰＤＡ、携帯型電話機等にも適用することができる。
【００６３】
つまり、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１実施形態に係るコンピュータの外観を示す斜視図
【図２】同第１実施形態のコンピュータのシステム構成を示す図
【図３】同第１実施形態のコンピュータで用いられるビデオ再生アプリケーションプログラムの機能構成を示すブロック図
【図４】同第１実施形態のビデオ再生アプリケーションプログラムによって実現されるソフトウェアデコーダの構成を示すブロック図
【図５】同第１実施形態のビデオ再生アプリケーションプログラムによって実行されるデコード処理の手順を示すフローチャート
【図６】同第２実施形態のビデオ再生アプリケーションプログラムによって実行されるデコード処理の手順を示すフローチャート
【符号の説明】
【００６５】
１０…コンピュータ、１１…コンピュータ本体、１２…ディスプレイユニット、１３…キーボード、１４…パワーボタン、１５…入力操作パネル、１５Ａ…ＴＶ起動ボタン、１５Ｂ…ＤＶＤ起動ボタン、１６…タッチパッド、１７…ＬＣＤ、１１１…ＣＰＵ、１１２…ノースブリッジ、１１３…主メモリ、１１４…グラフィクスコントローラ、１１４Ａ…ビデオメモリ、１１９…サウスブリッジ、１２０…ＢＩＯＳ−ＲＯＭ、１２１…ハードディスクドライブ（ＨＤＤ）、１２２…光磁気ディスクドライブ（ＯＤＤ）、１２３…デジタルＴＶ放送チューナ、１２４…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、１２５…ネットワークコントローラ、２００…オペレーティングシステム、２０１…ビデオ再生アプリケーションプログラム、２０２…表示ドライバ、２１１…システム負荷検出モジュール、２１２…デコード制御モジュール、２１３…デコード実行モジュール、３０１…エントロピー復号部、３０２…逆量子化部、３０３…ＤＣＴ部、３０４…加算部、３０５…デブロッキングフィルタ部、３０６…フレームメモリ、３０７…動きベクトル予測部、３０８…補間予測部、３０９…重み付き予測部、３１０…イントラ予測部、３１１…モード切替スイッチ部。
【図１】
2007174196.tif 000003
【図２】
2007174196.tif 000004
【図３】
2007174196.tif 000005
【図４】
2007174196.tif 000006
【図５】
2007174196.tif 000007
【図６】
2007174196.tif 000008