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