(57)【特許請求の範囲】
【請求項１】
圧縮符号化された動画像ストリームをソフトウェアにより復号する動画像復号処理と、負荷情報及びバッテリ駆動情報に基づく制御処理とを備える情報処理装置において、
前記動画像ストリーム及びその既復号画像から、復号対象の符号化モードに基づいてイントラ予測画像及びインター予測画像のいずれか一方を選択的に生成する予測復号手段と、
前記動画像ストリームから、復号対象の量子化パラメータに基づいて残差復号画像を生成する残差復号手段と、
前記予測復号手段で選択的に生成されるイントラ予測画像及びインター予測画像と前記残差復号手段によって生成される残差復号画像とを加算して復号画像を生成する残差加算手段と、
前記残差加算手段で生成された復号画像に対してブロック歪みを低減するためのデブロッキングフィルタ処理を施すフィルタ処理手段と、
前記動画像ストリームから符号化モードに関する情報を抽出し、その抽出情報及び前記負荷情報に基づいて、前記インター予測処理を簡略化するか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて前記インター予測処理を段階的に簡略化する簡略化手段と、
前記判定手段及び簡略化手段を有効にするか無効にするかを選択的に切り替える切替手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記切替手段は、前記バッテリ駆動情報に基づいて商用電源駆動時には無効状態とし、バッテリ駆動時にバッテリ残量情報に基づいて自動的に有効状態に切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記判定手段は、前記符号化モード情報から復号対象がピクチャ、スライス、マクロブロックいずれかであり、高負荷状態であるとき、インター予測を簡略化すべきと判定することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記判定手段は、前記復号対象がスライスであるとき、スライス単位のインター予測処理時の各スライスについてＢスライスであるか否かを判定し、Ｂスライスであると判定されたときそのスライスのインター予測を簡略化すべきと判定することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記判定手段は、前記復号対象がピクチャであるとき、ピクチャ単位のインター予測処理時の各ピクチャについてＢスライスの割合を基準となる閾値と比較判定し、前記割合が閾値を越えたと判定されたときそのピクチャのインター予測を簡略化すべきと判定することを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記判定手段は、前記復号対象がマクロブロックであるとき、マクロブロック単位のインター予測処理時の各マクロブロックについて双予測マクロブロックであるか否かを判定し、双予測マクロブロックであると判定されたときそのマクロブロックのインター予測を簡略化すべきと判定することを特徴とする請求項３記載の情報処理装置。
【請求項７】
前記判定手段は、前記復号対象がスライスまたはピクチャであるとき、スライス単位またはピクチャ単位それぞれのインター予測処理時における双予測マクロブロックの割合を基準となる閾値と比較判定し、前記割合が閾値を超えたと判定されたときそのスライスまたはピクチャのインター予測を簡略化すべきと判定することを特徴とする請求項３記載の情報処理装置。
【請求項８】
前記判定手段は、前記負荷の程度から判定の基準となる閾値を設定し、この閾値との比較結果に基づいて前記簡略化の判定を行うことを特徴とする請求項１記載の情報処理装置。
【請求項９】
前記判定の基準となる閾値には、
定数値、
復号された過去のピクチャあるいはスライスにおける前記復号対象の双予測マクロブロックの割合の平均値、
前記平均値にオフセット値を加算した値
の少なくともいずれかを用いることを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記簡略化手段は、補間フィルタリング処理を段階的に省略することを特徴とする請求項１記載の情報処理装置。
【請求項１１】
前記簡略化手段は、動きベクトルの精度を段階的に近似することによって、前記補間フィルタリング処理を段階的に省略することを特徴とする請求項１０記載の情報処理装置。
【請求項１２】
前記簡略化手段は、画素フィルタのタップ数を段階的に省略することを特徴とする請求項１記載の情報処理装置。
【請求項１３】
前記簡略化手段は、垂直画素フィルタリング処理、水平画素フィルタリング処理のいずれか一方を省略することを特徴とする請求項１記載の情報処理装置。
【請求項１４】
前記簡略化手段は、動きベクトルの垂直、水平成分のいずれか一方の精度を近似することによって、垂直画素フィルタリング処理、水平画素フィルタリング処理のいずれか一方を省略することを特徴とする請求項１３記載の情報処理装置。
【請求項１５】
前記簡略化手段は、色差情報のフィルタリング処理をオン・オフ処理することを特徴とする請求項１記載の情報処理装置。
【請求項１６】
前記簡略化手段は、色差情報の動きベクトルの精度を近似することによって、色差情報のフィルタリング処理をオン・オフすることを特徴とする請求項１５記載の情報処理装置。
【請求項１７】
情報処理装置に用いられ、圧縮符号化された動画像ストリームをソフトウェアにより復号する動画像復号方法において、
前記動画像ストリーム及びその既復号画像から、復号対象の符号化モードに基づいてイントラ予測画像及びインター予測画像のいずれか一方を選択的に生成し、
前記動画像ストリームから、復号対象の量子化パラメータに基づいて残差復号画像を生成し、
前記選択的に生成されるイントラ予測画像及びインター予測画像と前記動画像ストリームから生成される残差復号画像とを加算して復号画像を生成し、
前記残差加算で生成された復号画像に対してブロック歪みを低減するためのデブロッキングフィルタ処理を施し、
前記動画像ストリームから符号化モードに関する情報を抽出し、その抽出情報及び負荷情報に基づいて、前記インター予測処理を簡略化するか否かを判定し、
前記判定結果に基づいて前記インター予測処理を段階的に簡略化し、
前記判定及び簡略化の処理を有効にするか無効にするかを選択的に切り替えることを特徴とする情報処理装置の動画像復号方法。
【請求項１８】
前記判定及び簡略化処理について、商用電源駆動時には無効状態とし、バッテリ駆動時にバッテリ残量情報に基づいて自動的に有効状態に切り替えることを特徴とする請求項１７記載の情報処理装置の動画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮符号化された動画像ストリームを復号する動画像復号処理をソフトウェアによって実現する情報処理装置及びその動画像復号方法に関する。
【背景技術】
【０００２】
動画像符号化の標準技術として、ＩＴＵ−Ｔ（国際電気通信連合・電気通信標準化部門）のＨ．２６１やＨ．２６３、ＩＳＯ（国際標準化機構）のＭＰＥＧ（Moving Picture Experts Group）−１、ＭＰＥＧ−２、ＭＰＥＧ−４などが開発されている。このＨ．２６１〜３、ＭＰＥＧ−１〜４などの技術を承継し、更に発展させた次世代動画像符号化方式として、ＩＳＯとＩＴＵが共同で標準化を行ったＨ．２６４がある（非特許文献１，２参照）。ところが、このＨ．２６４は、高い圧縮率を実現している反面、処理量の多さが課題となっている。特に、ＨＤ−ＤＶＤのように、高解像度の動画像を再生する場合には、高い演算処理能力が要求されるため、深刻な問題となる。
【０００３】
一方、ＤＶＤ（Digital Versatile Disc）プレーヤ、ＴＶ装置のようなオーディオ・ビデオ（ＡＶ）機器と同様のＡＶ機能を備えたパーソナルコンピュータが開発されている。このようなパーソナルコンピュータにおいては、圧縮符号化された動画像ストリームをソフトウェアによってデコードするソフトウェアデコーダが用いられている。ソフトウェアデコーダの使用により、専用のハードウェアを設けることなく、圧縮符号化された動画像ストリームをプロセッサ（ＣＰＵ）によってデコードすることが可能になる。
【非特許文献１】ITU-T Recommendation H.264 (2003), “Advanced Video Coding for generic audiovisual services” | ISO/IEC 14496-10: 2003, “Information technology, Coding of audio-visual objects - Part 10: 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）コントローラを内蔵している。さらに、サウスブリッジ１１９は、デジタルＴＶ放送チューナ１２３を制御する機能、およびＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００２７】
ＨＤＤ１２１は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ（ＯＤＤ）１２３は、ビデオコンテンツが格納されたＤＶＤなどの記憶メディアを駆動するためのドライブユニットである。デジタルＴＶ放送チューナ１２３は、デジタルＴＶ放送番組のような放送番組データを外部から受信するための受信装置である。
【００２８】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。さらに、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、ユーザによるＴＶ起動ボタン１５Ａ、ＤＶＤ起動ボタン１５Ｂの操作に応じて、本コンピュータ１０をパワーオンすることもできる。ネットワークコントローラ１２５は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００２９】
次に、図４を参照して、ビデオ再生アプリケーションプログラム２０１によって実現されるソフトウェアデコーダの機能構成を説明する。
【００３０】
図４は本発明に係る動画像復号装置の一実施形態として、本発明をＨ．２６４に基づく標準化仕様のソフトウェアデコーダに適用した場合の構成を示すブロック図である。図４において、入力ストリームはＨ．２６４規格に沿って圧縮符号化された動画像ストリームであり、可変長変換部（エントロピー復号部とも称される）３０１に送られる。この可変長変換部３０１は、入力ストリームを可変長復号し、シンタックスを生成する。逆量子化部３０２、逆変換部３０３は、生成されたシンタックスに基づいて、動画像符号化ストリーム復号結果から残差画像を生成する。
【００３１】
一方、符号化モード制御部３０４は可変長変換部３０１の入力ストリームから符号化モードを判別し、その判別結果に基づいてイントラ（画面内）予測部３０５、インター（画面間）予測部３０６を選択的に駆動制御する。イントラ予測部３０５、インター予測部３０６は、それぞれ符号化モード制御部３０４で指定される符号化モードに従って画面内、画面間の予測画像を生成する。生成された予測画像は選択的に残差加算部３０７に送られる。この残差加算部３０７はイントラ予測部３０５またはインター予測部３０６からの予測画像と逆変換部３０３からの残差画像とを加算し、復号画像を生成する。生成された復号画像はイントラ予測部３０５において参照される。残差加算部３０７で得られた復号画像はデブロッキングフィルタ部３０８に送られ、ここでフィルタ処理による再構成画像が生成される。この再構成画像はピクチャメモリ（フレームメモリ）３０９に一時記憶され、インター予測部３０６において参照された後、デコード結果として順次表示系に出力される。
【００３２】
また、インター予測省略判定部３１０は、メイン制御部（図示せず）からの制御情報に基づき、可変長変換部３０１からピクチャ、スライス、マクロブロックの符号化モードに関する情報を抽出し、インター予測部３０６における予測処理を省略するか否かを判定する。判定方法については後述する。ここで、デブロッキングフィルタ処理を行う場合は、デブロッキングフィルタ部３０８に復号画像が入力され、フィルタ処理を行って再構成画像を生成し、ピクチャメモリ３０９に記憶される。デブロッキングフィルタ処理を行わない場合は、復号画像が再構成画像として直接ピクチャメモリ３０９に記憶される。ピクチャメモリ３０９に記憶された再構成画像は出力画像として出力される他、インター予測部３０６において参照される。
【００３３】
図５は、図４に示したソフトウェアデコーダを動画像復号部４０１として含む情報処理装置の構成例を示している。この情報処理装置は、処理負荷検出部４０２を備える。この処理負荷検出部４０２は、動画像復号部４０１から動画像復号処理の処理負荷情報を取得する他、音声・オーディオ信号の復号処理、レンダリング処理等、システムの他の処理負荷情報を取得し、入力された負荷情報より全体の負荷を算出し、その負荷情報を動画像復号部４０１に通知する。また、バッテリ駆動時には、例えばバッテリの残量通知を受け、許容残量を下回った場合には、処理負荷の状況にかかわらず、動画像復号部４０１に処理の省略制御を実行させる。また、ＡＣ電源駆動時には、自動的に処理の省略をオフにして、画質向上に努めることが望ましい。
【００３４】
上記負荷情報は、動画像復号部４０１の中で、図４におけるインター予測省略判定部３１０に入力される。この判定部３１０の基本的な処理例を図６に示す。
【００３５】
図６に示す処理例では、まず復号処理時に省略判定の開始が指示されると、ＰＣの負荷をＯＳに問い合わせ（Ｓ１０１）、高負荷状態か否かを判断し（Ｓ１０２）、高負荷でなければ通常デコード処理を行い（Ｓ１０３）、高負荷状態ならば特殊インター予測によるデコード処理を行うものとする（Ｓ１０４）。最終的に、全てのデコードが完了するまで上記の処理を繰り返す（Ｓ１０５）。
【００３６】
ここで、本実施形態では、装置全体で行う各種処理の負荷を検出し、負荷が高い場合にインター予測部３０６の処理を適応的に省略することによりデコード処理量を削減するものとする。しかし、インター予測処理を無条件に省略、簡略化すると画像が著しく劣化してしまう。そこで、ピクチャ、スライス、マクロブロックの符号化モード情報に応じて、インター予測部３０６の処理量が特に多くなるＢピクチャ（Ｂスライス，双予測部分）のみ優先的に簡略化して処理量の特に多い箇所だけを削減することで、画質の劣化を最低限に抑えながら処理量の削減を図る。
【００３７】
以下、上記の処理を実現するインター予測省略判定部３１０の具体的な処理動作を図７乃至図１２を参照して説明する。
【００３８】
図７は省略判定を簡単に実現する場合の処理手順を示すフローチャートである。図７において、復号対象（ピクチャ、スライス、マクロブロック）のループ処理が開始させると、処理負荷検出部４０２からの制御情報に基づいて高負荷状態か否かを判別する（Ｓ２０１）。高負荷状態でなければそのままループ処理を継続させる。高負荷状態となっている場合には、省略条件に適合するか否かを判断する（Ｓ２０２）。適合しない場合にはそのままループ処理を継続させ、適合する場合には復号対象（ピクチャ、スライス、マクロブロック）のインター予測処理を省略するように指示を出す（Ｓ２０３）。
【００３９】
図８は、図７に示した処理手順に手を加えてより適切に省略判定を行う処理手順を示すフローチャートである。このため、図８において、図７と同一部分には同一符号を付して示し、ここでは特徴となる部分について説明する。
【００４０】
図８において、ステップＳ２０１の判定で高負荷状態であると判定された場合、負荷の程度から条件判定用の閾値を設定し（Ｓ２０４）、この閾値を使用して省略条件に適合するか否かを判断する（Ｓ２０５）。
【００４１】
図９は、スライス単位のループ処理が行われる場合に、インター予測部の処理量が特に多くなるＢピクチャのＢスライスのみ優先的に簡略化を行う場合の処理手順を示すフローチャートである。尚、図９においても図７と同一部分には同一符号を付して示し、ここではその説明を省略する。
【００４２】
図９において、ステップＳ２０１の判定で高負荷状態であると判定された場合、Ｂスライスか否かを判断する（Ｓ２０６）。Ｂスライスでなければそのままループ処理を継続させる。Ｂスライスの場合には、復号対象スライスのインター予測処理を簡略化する（Ｓ２０７）。簡略化の方法としては、１／４画素精度の輝度のフィルタリング処理を１／２画素精度、整数画素精度に丸める（近似する）、１／８画素精度の色差のフィルタリング処理を整数画素精度に丸める（近似する）等がある。
【００４３】
図１０は、ピクチャ単位のループ処理が行われる場合に、図９に示した処理手順に手を加えてより的確に簡略化可能とした処理手順を示すフローチャートである。このため、図１０において、図７及び図９と同一部分には同一符号を付して示し、ここでは特徴となる部分について説明する。
【００４４】
図１０において、ステップＳ２０１の判定で高負荷状態であると判定された場合、負荷の程度から閾値＝定数またはそれまでのピクチャにおけるＢスライスの割合の平均値（必要に応じて＋定数）を設定し（Ｓ２０８）、この閾値をＢスライスの割合が越えるか否かを判定し（Ｓ２０９）、越えた場合にのみ、復号対象のピクチャのインター予測処理を簡略化する（Ｓ２０７）。
【００４５】
図１１は、マクロブロック単位でループ処理が行われる場合に、インター予測部の処理量が特に多くなるＢピクチャの双予測部分のみ優先的に簡略化を行う場合の処理手順を示すフローチャートである。尚、図１１においても図７と同一部分には同一符号を付して示し、ここではその説明を省略する。
【００４６】
図１１において、ステップＳ２０１の判定で高負荷状態であると判定された場合、双予測マクロブロックか否かを判断する（Ｓ２０８）。双予測マクロブロックでなければそのままループ処理を継続させる。双予測マクロブロックの場合には、復号対象マクロブロックのインター予測処理を簡略化する（Ｓ２０９）。簡略化の方法としては、１／４画素精度の輝度のフィルタリング処理を１／２画素精度、整数画素精度に丸める（近似する）、１／８画素精度の色差のフィルタリング処理を整数画素精度に丸める（近似する）等がある。
【００４７】
図１２は、ピクチャ（スライス）単位でループ処理が行われる場合に、図１１に示した処理手順に手を加えてより的確に簡略化可能とした処理手順を示すフローチャートである。このため、図１２において、図７及び図１１と同一部分には同一符号を付して示し、ここでは特徴となる部分について説明する。
【００４８】
図１２において、ステップＳ２０１の判定で高負荷状態であると判定された場合、負荷の程度から閾値＝定数またはそれまでのピクチャ（スライス）における双予測マクロブロックの割合の平均値（必要に応じて＋定数）を設定し（Ｓ２１０）、この閾値を双予測マクロブロックの割合が越えるか否かを判定し（Ｓ２１１）、越えた場合にのみ、復号対象のピクチャ（スライス）のインター予測処理を簡略化する（Ｓ２０９）。
【００４９】
以上述べた処理によれば、高負荷状態でインター予測の処理軽減が要求される場合に、ピクチャ、スライス、マクロブロックの符号化モード情報に応じて、インター予測部３０６の処理量が特に多くなるＢピクチャ（Ｂスライス，双予測部分）のみ優先的に簡略化する等、処理量の特に多い箇所だけを削減するようにしているので、画質の劣化を最低限に抑えながら処理量の削減を図ることができる。
【００５０】
（実施例）
以下、具体的に段階的な簡略化の手法について説明する。
【００５１】
簡略化の種類として、輝度の補間フィルタリングに対する処理と色差の補間フィルタリングに対する処理に大別される。輝度の補間フィルタリングについては、  
（１）補間フィルタリングの段数を制限する。  
（２）フィルタのタップ数を減らす。  
（３）水平方向、垂直方向の補間のうち片方だけにする。
【００５２】
色差の補間フィルタリングに対しては、細かく制御しても効果が少ないので、オン・オフのみの制御で十分と考えられる。  
特に、インター予測の輝度の補間画像生成は、６タップのフィルタ処理を用いて補間画像を生成するため処理量が多く、デコード処理全体の１／３程度を占めることがある。そこで、負荷が高い場合にインター予測を簡易的に行うことによりデコード処理量を軽減するものとし、負荷の度合いにより、フィルタ処理無し、１／２画素フィルタのみ、少ないタップ数のフィルタ処理などを段階的に切り替えて処理を軽減する。以下、具体例をあげて説明する。
【００５３】
図１３はインター予測信号生成におけるフィルタリング処理の様子を示すものである。水平または垂直のいずれかが１／２画素の位置にある画素ｂ，ｈ，ｍ，ｓは、整数画素（Ａ，Ｂ，Ｃ，…）から直接１／２画素フィルタリングを行って生成する。水平と垂直の両方が１／２画素の位置にある画素ｊは、整数画素から１／２画素フィルタリングを行ってａａ，ｂｂ，ｃｃ，…を生成し、さらに１／２画素フィルタリングを行って生成する。１／４画素の位置にあるａ，ｃ，ｅ，ｆ，ｇ，…は整数画素及び１／２画素に対して１／４画素フィルタリングを行って生成する。すなわち、代表値ｂ，ｈ，ｊ，ａ，ｆ，ｒは以下のようにして求められる。
【００５４】
ｂ＝（Ｅ−５Ｆ＋２０Ｇ＋２０Ｈ−５Ｉ＋Ｊ）／３２          （１）  
ｈ＝（Ａ−５Ｃ＋２０Ｇ＋２０Ｍ−５Ｒ＋Ｔ）／３２          （２）  
ｊ＝（ａａ−５ｂｂ＋２０ｂ＋２０ｓ−５ｇｇ＋ｈｈ）／３２  （３）  
ａ＝（Ｇ＋ｂ）／２                                        （４）  
ｆ＝（ｂ＋ｊ）／２                                        （５）  
ｒ＝（ｍ＋ｓ）／２                                        （６）
図１４は、図１３に示す処理内容に対する通常デコード処理として、整数画素の判断処理（Ｓ３０１）と１／２画素フィルタリング処理Ｓ４０１と１／４画素フィルタリング処理Ｓ５０１の処理手順を示すフローチャートである。図１４において、まず整数画素の判断（Ｓ３０１）で整数でないと判断された場合、１／２画素フィルタリング処理Ｓ４０１により、画素位置がｂ，ｓの場合には１／２画素水平６タップフィルタを用い、画素位置がｈ，ｍの場合には１／２画素垂直６タップフィルタを用い、画素位置がｊの場合には１／２画素水平６タップフィルタ及び１／２画素垂直６タップフィルタの両方を用いて処理する。
【００５５】
続いて１／４画素フィルタリング処理Ｓ５０１では、画素位置がｂ，ｈ，ｉのときはそのまま、画素位置がａ，ｃ，ｉ，ｋの場合には１／４画素水平２タップフィルタを用い、画素位置がｄ，ｎ，ｆ，ｑの場合には１／４画素垂直２タップフィルタを用い、画素位置がｅ，ｇ，ｐ，ｒの場合には１／４画素斜め２タップフィルタを用いて処理する。
【００５６】
図１５は、上記の通常デコード処理に対し、負荷レベルに応じてフィルタリング処理、タップ数を減らす場合の第１の実施例を示すフローチャートである。
【００５７】
図１５において、ステップＳ６０１で通常デコードと判定された場合には、１／２画素６タップフィルタ、１／４画素２タップフィルタを用いて１／２フィルタリング処理、１／４フィルタリング処理を行う。ステップＳ６０２において、負荷レベル１と判定された場合には、１／２画素６タップフィルタのみを用いて１／４画素フィルタリング処理のみを省略（１／２画素と同じ処理）する。ステップＳ６０３において、負荷レベル２と判定された場合には、１／２画素２タップフィルタを用いてタップ数を削減する。さらに、ステップＳ６０３において、負荷レベル３と判定された場合には、フィルタリング処理を省略する（整数画素と同じ処理）。
【００５８】
図１６は、上記の通常デコード処理に対し、負荷レベルに応じてフィルタリング処理、タップ数を減らす場合の第２の実施例を示すフローチャートである。この実施例において、第１の実施例と異なる点は、ステップＳ６０２の判定で負荷レベル１と判定された場合に、１／２画素２タップフィルタを用いてタップ数を削減し、１／４画素２タップフィルタを用いて１／４フィルタリング処理を実行するようにした点にある。
【００５９】
図１７は、上記の通常デコード処理に対し、負荷レベルに応じてフィルタリング処理、タップ数を減らす場合の第３の実施例を示すフローチャートである。この実施例では、負荷レベル１で、１／２画素補間で水平・垂直方向に６タップフィルタリング処理を２回行う画素位置ｊのみ垂直方向のフィルタリング処理を省略する処理手順を示している。他は第１の実施例と同じであるので、ここではその説明を省略する。
【００６０】
以上説明した実施例では、インター予測部に動きベクトルと共に負荷レベルを入力し、インター予測部の中で負荷レベル応じて簡略化する補間フィルタリング処理を決定する構成例を示したが、インター予測省略判定部において、インター予測に入力する動きベクトルの精度を丸めることによって同様の簡略化を実現することもできる。
【００６１】
例えば、負荷レベル１と判定された場合、動きベクトルの精度を１／２画素精度に丸めることによって、図１５のステップＳ６０２で負荷レベル１と判定された場合と同様に１／４画素フィルタリング処理を省略することが出来る。また、負荷レベル３と判定された場合には、動きベクトルの精度を整数画素精度に丸めることによって、図１５のステップＳ６０３で負荷レベル３と判定された場合と同様にフィルタリング処理を省略することができる。
【００６２】
動きベクトルの精度が水平、垂直成分ともに１／２画素精度の場合に、垂直成分の精度を整数画素精度に丸めることによって、図１７において負荷レベル１と判定された場合と同様に、画素位置ｊのみ垂直方向のフィルタリング処理を省略することができる。
【００６３】
また、色差の動きベクトルを整数画素精度に丸めることによって、色差の補間フィルタリングを省略することが出来る。
【００６４】
これによって、インター予測部の補間フィルタリング処理の構成を変更することなく、補間フィルタリングの簡略化を実現することが出来る。例えばグラフィックスコントローラなどのハードウェアで補間フィルタリング処理を行う場合にも、あらかじめ補間フィルタリングに必要な動きベクトルの精度を丸めることによって、ハードウェアの内容を変更せずに補間フィルタリングの簡略化を実現することができる。
【００６５】
以上の処理手順を適用すれば、負荷レベルに応じてインター予測処理におけるフィルタリング処理、タップ数を適切に削減可能となり、画質劣化を抑制しつつ効果的に演算量を減らし、これによって負荷軽減に寄与することができる。
【００６６】
尚、本発明は、上記のような動画像復号方法として実現することができるだけでなく、このような動画像復号方法が含む特徴的なステップを手段として備える動画像復号方法として実現することもできる。また、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することもできる。
【００６７】
このように、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態に係るコンピュータの概観を示す斜視図。
【図２】図１のコンピュータのシステム構成を示すブロック図。
【図３】図１のコンピュータで用いられるビデオ再生アプリケーションプログラムの機能構成を示すブロック図。
【図４】図３のビデオ再生アプリケーションプログラムによって実現されるソフトウェアデコーダとして、Ｈ．２６４に基づく標準化仕様の動画像復号処理に適用した場合の構成を示すブロック図。
【図５】図１に示した動画像復号装置を動画像復号部として含むコンテンツ情報処理システムの構成例を示すブロック図。
【図６】図４におけるインター予測省略判定部の基本的な処理例を示すフローチャート。
【図７】図４におけるインター予測省略判定部において、省略判定を簡単に実現する場合の処理例を示すフローチャート。
【図８】図４におけるインター予測省略判定部において、図７に示した処理手順に手を加えてより適切に省略判定を行う処理手順を示すフローチャート。
【図９】図４におけるインター予測省略判定部において、スライス単位のループ処理が行われる場合に、インター予測部の処理量が特に多くなるＢピクチャのＢスライスのみ優先的に簡略化を行う場合の処理手順を示すフローチャート。
【図１０】図４におけるインター予測省略判定部において、ピクチャ単位のループ処理が行われる場合に、図９に示した処理手順に手を加えてより的確に簡略化可能とした処理手順を示すフローチャート。
【図１１】図４におけるインター予測省略判定部において、マクロブロック単位でループ処理が行われる場合に、インター予測部の処理量が特に多くなるＢピクチャの双予測部分のみ優先的に簡略化を行う場合の処理手順を示すフローチャート。
【図１２】図４におけるインター予測省略判定部において、ピクチャ（スライス）単位でループ処理が行われる場合に、図１１に示した処理手順に手を加えてより的確に簡略化可能とした処理手順を示すフローチャート。
【図１３】インター予測信号生成におけるフィルタリング処理の様子を示す概念図。
【図１４】図１３に示す処理内容に対する通常デコード処理として、整数画素の判断処理（Ｓ３０１）と１／２画素フィルタリング処理Ｓ４０１と１／４画素フィルタリング処理Ｓ５０１の処理手順を示すフローチャート。
【図１５】図１４の通常デコード処理に対し、負荷レベルに応じてフィルタリング処理、タップ数を減らす場合の第１の実施例を示すフローチャート。
【図１６】図１４の通常デコード処理に対し、負荷レベルに応じてフィルタリング処理、タップ数を減らす場合の第２の実施例を示すフローチャート。
【図１７】図１４の通常デコード処理に対し、負荷レベルに応じてフィルタリング処理、タップ数を減らす場合の第３の実施例を示すフローチャート。
【符号の説明】
【００６９】
３０１…可変長変換部（エントロピー復号部）、３０２…逆量子化部、３０３…逆変換部、３０４…符号化モード制御部、３０５…イントラ予測部、３０６…インター予測部、３０７…残差加算部、３０８…デブロッキングフィルタ部、３０９…ピクチャメモリ、３１０…インター予測省略判定部。
【図１】
0004649347.tif 000002
【図２】
0004649347.tif 000003
【図３】
0004649347.tif 000004
【図４】
0004649347.tif 000005
【図５】
0004649347.tif 000006
【図６】
0004649347.tif 000007
【図７】
0004649347.tif 000008
【図８】
0004649347.tif 000009
【図９】
0004649347.tif 000010
【図１０】
0004649347.tif 000011
【図１１】
0004649347.tif 000012
【図１２】
0004649347.tif 000013
【図１３】
0004649347.tif 000014
【図１４】
0004649347.tif 000015
【図１５】
0004649347.tif 000016
【図１６】
0004649347.tif 000017
【図１７】
0004649347.tif 000018