(57)【要約】映像処理システムにおけるMPEGデコーダの計算負荷を調整する方法及びシステムが提供される。映像処理システムは、複数のマクロブロックを含む圧縮映像データストリームのヘッダー情報をそれに関連する動きベクトルにより処理する。MPEGデコーダの各機能ブロックの計算負荷が所定の基準に従い調整される。これによって、実質的な計算オーバーヘッドが回避される。
2004527960.tif 000002
【特許請求の範囲】
【請求項１】
符号化デジタル映像信号のデコード処理をスケーリングすることによりデコード処理効率を向上させるMPEGデコーダであって：
複数のマクロブロックを含む圧縮映像データストリームをデコードする手段であって、該デコードする手段は前記デコードされたデータストリームから量子化データを出力するよう動作する手段；
前記量子化データに逆量子化処理を実行する手段；
該逆量子化処理を実行する手段からの出力の逆離散コサイン変換（IDCT）を実行する手段；
前記デコードする手段からの前記量子化データからヘッダー情報を抽出し、所定の基準に従って予測処理を実行する手段；
前記デコードする手段からの前記量子化データに基づき動き補償基準値を生成する手段；及び
動き補償画像を形成するため、前記IDCTを実行する手段と前記動き補償基準値を生成する手段からの出力を加算する手段；
からなることを特徴とするMPEGデコーダ。
【請求項２】
請求項１記載のMPEGデコーダであって、さらに、前記加算する手段の出力を記憶する手段を備えることを特徴とするMPEGデコーダ。
【請求項３】
請求項１記載のMPEGデコーダであって、前記抽出する手段は、前記複数のマクロブロックの抽出されたヘッダー情報に従って前記予測処理を実行することを特徴とするMPEGデコーダ。
【請求項４】
請求項１記載のMPEGデコーダであって、前記予測処理は、前記IDCTを実行する手段と前記動き補償基準値を生成する手段の計算負荷を決定することを特徴とするMPEGデコーダ。
【請求項５】
請求項１記載のMPEGデコーダであって、該MPEGデコーダの計算負荷は、前記予測処理に基づき前記IDCTを実行する手段と前記動き補償基準値を生成する手段をスケーリングすることにより選択的に調整されることを特徴とするMPEGデコーダ。
【請求項６】
請求項１記載のMPEGデコーダであって、前記抽出されたヘッダー情報は、前記デコードされたブロックベースのデータパケットからのマクロブロックタイプ、動きベクトル量、動きベクトルカウント、非ゼロ離散コサイン変換（DCT）係数、及び符号化ブロックパターン（CBP）数を含むことを特徴とするMPEGデコーダ。
【請求項７】
請求項１記載のMPEGデコーダであって、前記予測処理は、処理ユニット及び該処理ユニットの動作を制御するソフトウェアを利用して実行されることを特徴とするMPEGデコーダ。
【請求項８】
ブロックベースデータパケットのストリームを受信及びデコードし、デコードされたデータパケットから量子化データを出力するよう構成された可変長デコーダ（VLD）；
前記ブロックベースのデータパケットからヘッダー情報を抽出し、該抽出されたヘッダー情報に基づき映像複雑性アルゴリズムを実行するよう構成された複雑性推定装置；
前記可変長デコーダからの前記量子化データを受信し、該量子化データを逆量子化するよう接続された逆量子化装置；
前記逆量子化装置からの前記逆量子化されたデータを受信し、該逆量子化されたデータを周波数領域から空間領域に変換する逆離散コサイン変換装置（IDCT）；
前記量子化データから動きベクトルデータを受信し、基準信号を生成するよう構成された動き補償装置（MC）；及び
前記IDCTから前記基準信号及び前記空間領域データを受信し、動き補償画像を形成する加算器；
からなることを特徴とするプログラム可能な映像デコードシステム。
【請求項９】
請求項８記載の映像デコードシステムであって、さらに、前記加算器の出力を記憶するよう構成されたバッファを備えることを特徴とするシステム。
【請求項１０】
請求項８記載の映像デコードシステムであって、前記複雑性推定装置は、前記デコードされたブロックベースのデータパケットのヘッダー情報に従って前記映像複雑性アルゴリズムを実行し、前記デコードシステムの計算負荷は、前記映像複雑性アルゴリズムに基づいて前記IDCT及び前記MCをスケーリングすることにより調整されることを特徴とするシステム。
【請求項１１】
請求項１０記載の映像デコードシステムであって、前記IDCT及び前記MCの計算負荷は、前記映像複雑性アルゴリズムに従って選択的に調整されることを特徴とするシステム。
【請求項１２】
請求項８記載の映像デコードシステムであって、前記抽出されたヘッダー情報は、前記デコードされたブロックベースのデータパケットからのマクロブロックタイプ、動きベクトル量、動きベクトルカウント、非ゼロ離散コサイン変換（DCT）係数、及び符号化ブロックパターン（CBP）数を含むことを特徴とするシステム。
【請求項１３】
請求項１記載の映像デコードシステムであって、前記映像複雑性アルゴリズムは、処理ユニットと該処理ユニットの動作を制御するソフトウェアを利用して実行されることを特徴とするシステム。
【請求項１４】
可変長符号（VLC）デコーダ、逆量子化装置（IQ）、逆離散コサイン変換装置（IDCT）、動き補償装置（MC）、及び推定装置からなるMPEGデジタル映像デコーダを利用して、符号化データ映像信号のデコード効率を向上させる方法であって：
前記VLCデコーダにより圧縮映像データストリームを受信し、該圧縮映像データストリームからデコードデータを生成するステップ；
前記デコードデータからヘッダー情報を抽出するステップ；
前記推定装置による前記ヘッダー情報の分類に基づいて、前記IDCT及び前記MCの合計計算負荷（Cest）を計算するステップ；
前記逆量子化装置（IQ）を使って前記デコードデータを逆量子化し、逆量子化デコードデータを生成するステップ；
前記合計計算負荷（Cest）に基づき、前記IDCTを使って周波数領域から空間領域に前記逆量子化デコードデータを変換し、差分データを生成するステップ；
前記計算負荷に基づき、前記MCを使って前記符号化デジタル映像信号の基準データを生成するステップ；及び
前記基準データ及び前記差分データを組み合わせて、動き補償画像を形成するステップ；
からなることを特徴とする方法。
【請求項１５】
請求項１４記載の方法であって、さらに、前記合計計算負荷（Cest）を前記IDCT及び前記MCに送信するステップを備えることを特徴とする方法。
【請求項１６】
請求項１４記載の方法であって、前記合計計算負荷（Cest）を計算するステップは、さらに：
前記抽出されたヘッダー情報のマクロブロックに基づき、第１計算負荷（Ctype）を決定するステップ；
前記抽出されたヘッダー情報の動き量に基づき、第２計算負荷（Cmv）を決定するステップ；
前記抽出されたヘッダー情報の動きベクトル量に基づき、第３計算負荷（Cmvc）を決定するステップ；
前記抽出されたヘッダー情報の非ゼロDCT係数の数に基づき、第４計算負荷（CBN）を決定するステップ；
前記抽出されたヘッダー情報の符号化ブロックパターン（CBP）数に基づき、第５計算負荷（CCBP）を決定するステップ；及び
前記第１、第２、第３、第４及び第５計算負荷と平均計算負荷（Cbase）を組み合わせ、前記合計計算負荷（Cest）を生成するステップ；
からなることを特徴とする方法。
【請求項１７】
請求項１６記載の方法であって、前記第１計算負荷（Ctype）を決定するステップは、さらに：
前記抽出されたヘッダー情報がイントラ符号化係数のセットを与える場合、Ctype＝０とするステップ；
前記抽出されたヘッダー情報が符号化係数と非動き補償係数のセットを与える場合、Ctype＝Wとするステップ；
前記抽出されたヘッダー情報が動き補償係数と非符号化係数のセットを与える場合、Ctype＝２Wとするステップ；及び
前記抽出されたヘッダー情報が動き補償係数と符号化係数のセットを与える場合、Ctype＝３Wとするステップ；
からなることを特徴とする方法。
【請求項１８】
請求項１６記載の方法であって、前記第２計算負荷（Cmv）を決定するステップは、さらに、前記抽出されたヘッダー情報が所定の閾値より大きな動きベクトル量を与える場合、Cmv＝W1とし、そうでない場合、Cmv＝０とするステップからなることを特徴とする方法。
【請求項１９】
請求項１６記載の方法であって、前記第３計算負荷（Cmvc）を決定するステップは、さらに、前記抽出されたヘッダー情報が前記動きベクトルカウント（MV-Count）を与える場合、Cmvc＝W2×MV-Countとするステップからなることを特徴とする方法。
【請求項２０】
請求項１６記載の方法であって、前記第４計算負荷（CBN）を決定するステップは、さらに、前記抽出されたヘッダー情報がブロック数（BN）を与える場合、CBN＝W3×BNとするステップからなることを特徴とする方法。
【請求項２１】
請求項１６記載の方法であって、前記第５計算負荷（CCBP）を決定するステップは、さらに、前記抽出されたヘッダー情報が前記非ゼロ係数を与える場合、CCBP＝W4×（非ゼロ係数の数）とするステップからなることを特徴とする方法。
【請求項２２】
可変長符号（VLC）デコーダ、逆量子化装置（IQ）、逆離散コサイン変換装置（IDCT）、動き補償装置（MC）、及び推定装置からなるMPEGデジタル映像デコードシステムを利用して、符号化データ映像信号のデコード効率を向上させる予測方法であって：
複数のマクロブロックを含む圧縮ビットストリームをデコードし、対応するデコードマクロブロックを取得するステップ；
前記デコードマクロブロックのヘッダー情報からヘッダー分類基準を取得するステップ；
前記推定装置を使って、前記デコードマクロブロックからのヘッダー情報に従い合計計算負荷（Cest）を予測し、該合計計算負荷（Cest）を前記IDCTと前記MCに転送するステップ；及び
前記合計計算負荷（Cest）に従って前記IDCTと前記MCの計算負荷を調整するステップ；
からなることを特徴とする方法。
【請求項２３】
請求項２２記載の予測方法であって、さらに、前記圧縮ビットストリームにおいて受信された動きベクトル情報とともに、前記合計計算負荷（Cest）に従って前記デコードマクロブロックをデコードするステップを備えることを特徴とする方法。
【請求項２４】
請求項２２記載の予測方法であって、前記ヘッダー分類基準は、マクロブロックタイプ、動きベクトル量、動きベクトルカウント、非ゼロ離散コサイン変換（DCT）係数、及び符号化ブロックパターン（CBP）数により規定されていることを特徴とする方法。
【請求項２５】
請求項２２記載の予測方法であって、前記合計計算負荷（Cest）を予測するステップは、さらに：
前記デコードマクロブロックのヘッダー情報のマクロブロックに基づき、第１計算負荷（Ctype）を決定するステップ；
前記デコードマクロブロックのヘッダー情報の動き量に基づき、第２計算負荷（Cmv）を決定するステップ；
前記デコードマクロブロックのヘッダー情報の動きベクトル量に基づき、第３計算負荷（Cmvc）を決定するステップ；
前記デコードマクロブロックのヘッダー情報の非ゼロDCT係数の数に基づき、第４計算負荷（CBN）を決定するステップ；
前記デコードマクロブロックのヘッダー情報の符号化ブロックパターン（CBP）数に基づき、第５計算負荷（CCBP）を決定するステップ；及び
前記第１、第２、第３、第４及び第５計算負荷と平均計算負荷（Cbase）を組み合わせ、前記合計計算負荷（Cest）を生成するステップ；
からなることを特徴とする方法。
【請求項２６】
請求項２５記載の予測方法であって、前記第１計算負荷（Ctype）を決定するステップは、さらに：
前記デコードマクロブロックのヘッダー情報がイントラ符号化係数のセットを与える場合、Ctype＝０とするステップ；
前記デコードマクロブロックのヘッダー情報が符号化係数と非動き補償係数のセットを与える場合、Ctype＝Wとするステップ；
前記デコードマクロブロックのヘッダー情報が動き補償係数と非符号化係数のセットを与える場合、Ctype＝２Wとするステップ；及び
前記デコードマクロブロックのヘッダー情報が動き補償係数と符号化係数のセットを与える場合、Ctype＝３Wとするステップ；
からなることを特徴とする方法。
【請求項２７】
請求項２５記載の予測方法であって、前記第２計算負荷（Cmv）を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報が所定の閾値より大きな動きベクトル量を与える場合、Cmv＝W1とし、そうでない場合、Cmv＝０とするステップからなることを特徴とする方法。
【請求項２８】
請求項２５記載の予測方法であって、前記第３計算負荷（Cmvc）を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報が前記動きベクトルカウント（MV-Count）を与える場合、Cmvc＝W2×MV-Countとするステップからなることを特徴とする方法。
【請求項２９】
請求項２５記載の予測方法であって、前記第４計算負荷（CBN）を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報がブロック数（BN）を与える場合、CBN＝W3×BNとするステップからなることを特徴とする方法。
【請求項３０】
請求項２５記載の予測方法であって、前記第５計算負荷（CCBP）を決定するステップは、さらに、前記デコードマクロブロックのヘッダー情報が前記非ゼロ係数を与える場合、CCBP＝W4×（非ゼロ係数の数）とするステップからなることを特徴とする方法。
【発明の詳細な説明】
【０００１】
［発明の背景］
［１．発明の技術分野］
本発明は、圧縮された映像情報の映像処理に関し、特に、MPEGデコーダの計算負荷を調整する方法及び装置に関する。
【０００２】
［２．関連技術の説明］
典型的に、映像情報は記憶領域を節約するため圧縮され、表示を行うためビットストリームで解凍される。従って、動画映像を提供するためには、迅速かつ効率的に圧縮映像情報をデコードすることが大いに望まれる。映像情報の圧縮及び解凍に広く利用されてきた標準的圧縮法の１つに、MPEG（Moving Pictures Expert Group）規格がある。MPEG規格は、国際規格ＩＳＯ／ＩＥＣ  １１１７２−１「Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｃｏｄｉｎｇ  ｏｆ  ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅｓ  ａｎｄ  ａｓｓｏｃｉａｔｅｄ  ａｕｄｉｏ  ｆｏｒ  ｄｉｇｉｔａｌ  ｓｔｏｒａｇｅ  ｍｅｄｉａ  ａｔ  ｕｐ  ｔｏ  ａｂｏｕｔ  １．５  Ｍｂｉｔ／ｓ」Ｐａｒｔｓ  １，  ２  ａｎｄ  ３  第１版  １９９３−８−１において規定されている。その全容については上記文献を参照されたい。
【０００３】
一般に、映像システムの多くは、動画映像を提供するため、圧縮されている映像情報を迅速かつ効率的にデコードすることを目的としている。現在、１フレームを処理するのに必要な計算負荷は、MPEG2デコードプロセッサにおけるデコードアルゴリズムによる影響を受けない。しかしながら、MPEG2デコード処理の不規則な計算負荷動作により、フレームの計算負荷のピークがメディアプロセッサのCPUの最大負荷を超える恐れがあり、これによって、フレーム落ちや予期せぬ結果が起こりうる。このため、技術者がメディアプロセッサにおいてMPEG2デコード処理を実行するときには、計算負荷のピーク時においてスムーズな動作が実行されるように、デコード処理にかかる平均計算負荷を40〜50％上回るパフォーマンスマージンを備えたプロセッサを選ぶ必要がある。計算負荷のピークは頻繁に起こるものではないので、このような実装は不経済であり、資源の無駄を招くこととなる。フレーム、スライス（slice）、マクロブロック（macroblock）の計算負荷の複雑性（complexity）の予測または推定がなければ、映像システム技術者がMPEGビットストリームの計算需要のピークを調整することは不可能である。
【０００４】
従って、メディアプロセッサ上で実行されるMPEG2デコーダの複雑性予測アルゴリズムを提供する必要がある。
【０００５】
［発明の概要］
本発明は、符号化されたデジタル映像信号のデコード処理をスケーリングすることによって、MPEGデジタル映像デコーダシステムのデコード処理効率を向上させる方法及びシステムに関する。
【０００６】
本発明は、映像処理システムにおけるMPEGデコーダの計算負荷を調整する方法を提供する。本発明による方法は、圧縮映像データストリームにおいて、動きベクトル（motion vector）が所定の閾値より大きいマクロブロックのヘッダー情報を抽出するステップを備える。また、本発明による方法は、所定の基準に従いMPEGデコーダの各機能ブロックの計算負荷を選択的に調整するステップを備える。これにより、実質的な計算オーバーヘッド（computational overhead）を回避することができる。
【０００７】
本発明は、プログラム可能な映像デコードシステムに関し、当該映像デコードシステムは、ブロックベースのデータパケットを受信及びデコードし、該デコードされたデータパケットから量子化データを出力するよう構成された可変長デーコーダ（VLD）、前記ブロックベースデータパケットからヘッダー情報を抽出し、該ヘッダー情報に基づき映像複雑性アルゴリズムを実行するよう構成された複雑性予測装置（complexity estimator）、前記VLDから量子化データを受信し、該量子化データを逆量子化するよう接続された逆量子化装置、周波数領域から空間領域に前記逆量子化されたデータを変換するよう前記逆量子化装置の出力に接続された逆離散コサイン変換装置（IDCT）、前記量子化データから動きベクトルデータを受信し、基準信号を生成するよう構成された動き補償装置（MC）、及び前記基準信号と前記空間領域データをIDCTから受信し、動き補償映像を形成する加算器からなる。
【０００８】
本発明による方法及びシステムのさらなる完全な理解は、添付された図面と共に以下の詳細な説明を参照することによってなされうる。
【０００９】
［実施例の詳細な説明］
以下の説明では、限定でなく説明の目的で、本発明の完全な理解のため、特定のアーキテクチャ、インターフェイス、テクニックなどの詳細が与えられる。しかしながら、これらの詳細から離れた他の実施例においても、本発明は実現されるということは当業者には明らかであろう。簡単化のため、既知の装置、回路及び方法に関する詳細な説明は、不要な詳細化により本発明の説明がわかりにくくなるのを避けるため、省略される。
【００１０】
図1は、本発明の実施例によるデコードされた映像サンプルを復元できるMPEG映像デコーダ１０の主要な構成要素を示す。ここで、入力データの圧縮はデコーダ１０への入力前に実行されている。映像データの圧縮は、例えば、MPEG2符号化処理における基準に従い、人間の肉眼では感知できない情報の削除など、既知の様々な方法により実行される。MPEG2は、映像プログラムを6 Mbits/secに符号化し、多数の6 Mbits/secチャンネルストリームを単一のより高速な信号転送ストリームにパケット化することが可能な第2世代の圧縮規格である。映像要素は、空間情報から処理対象の周波数領域情報に変換される。
【００１１】
映像情報には、MPEG規格で規定されている３つのタイプのフレーム、すなわち、フレーム内符号化（I frame）、順方向予測符号化（P frame）及び双方向予測符号化（B frame）がある。Iフレームあるいは実映像基準フレームは、例えば、１５フレームにつき１つの基準フレームのように、定期的に符号化される。予測は、特定のフレーム数だけ順方向にかつ次の基準フレーム前に位置する映像フレーム、すなわち、Pフレームの合成から生成される。Bフレームは、Iフレームと予測されたPフレームとの間で、あるいは過去の基準フレームのマクロブロックを未来の基準フレームのマクロブロックにより補間（平均化）することにより予測される。また、現在フレーム中のマクロブロックに関する基準フレーム中のマクロブロックの相対位置を特定する動きベクトルが符号化される。
【００１２】
フレームは離散コサイン変換（DCT）符号化スキームを利用し符号化される。この符号化スキームでは、係数が特定のコサインベーシス関数の振幅として符号化される。DCT係数は量子化され、さらに可変長符号化を利用し符号化される。可変長符号化（VLC）１２は、符号語を符号化対象の値に割り当てる統計的符号化手法である。出現頻度の高い値には短い符号語が、出現頻度の低い値には長い符号語が割り当てられる。概して、出現頻度の高い短い符号語がより多数を占めるようになるので、符号列はもとのデータより短くなる。
【００１３】
従って、上述のように圧縮された符号化フレームを受信すると、デコーダ１０は、過去の基準フレームの対応するマクロブロックに適用された動きベクトルにより動き補償を実行することにより、現在Pフレームのマクロブロックをデコードする。デコーダ１０はまた、過去及び未来それぞれの基準フレームに適用される動きベクトルにより動き補償を実行することにより、Bフレームのマクロブロックをデコードする。動き補償は、多くの映像解凍方法の中で最も高い計算負荷を要するものの１つである。画素が映像フレーム間で変化するとき、しばしばこの変化は予測可能カメラ（predictable camera）や被写体の動きによるものである。したがって、１つのフレームにおける画素のマクロブロックは、以前あるいは以後のフレームにおける画素のマクロブロックを変換することにより得られうる。この変換量が動きベクトルとして呼ばれるものである。Iフレームは過去あるいは未来のフレームを参照することなく単一の画像として符号化されるので、Iフレームのデコード処理には動き処理は不要である。
【００１４】
映像システムが上記解凍に要する計算負荷に対応できないとき、しばしばフレーム全体が欠落することがある。この現象は、映像再生中の映像の一時的なフリーズとして観察され、その後映像が不連続になったり、ガタツキ（jerkiness）が生じる。この対策として、図1に示された実施例は、再生映像の画質を維持する一方、解凍方法による処理要求を低減するため複雑性予測を提供する。
【００１５】
図1を参照するに、本発明によるデコード処理をスケーリングするMPEG映像デコーダ１０は、可変長デコーダ（VLC）１２、逆走査/量子化回路１４、スケーラブルスイッチ（scalable switch）１５、逆離散コサイン変換（IDCT）回路１６、加算器１８、フレームバッファ２０、複雑性評価装置２２、及び動き補償モジュール２４からなる。動作モードにおいて、デコーダ１０は圧縮映像情報のストリームを受信し、このストリームはVLCデコーダ１２に与えられる。VLCデコーダ１２は、この圧縮信号の可変長符号化部分をデコードし、可変長デコード信号として逆走査（あるいはジグザグ）/量子化回路１４に供給する。逆走査（あるいはジグザグ）/量子化回路１４はこの可変長デコード信号をデコードし、ジグザグデコード信号を出力する。逆ジグザグ量子化処理は、圧縮映像信号がジグザグランレングス符号（zig-zag run-length code）形式で圧縮されるという事実を補償するものである。このジグザグデコード信号は、IDCT回路１６に供給される。IDCT回路１６はブロック毎にジグザグデコード映像信号に逆離散コサイン変換を実行し、解凍画素値あるいは解凍エラー項を出力する。解凍画素値は加算器１８に供給される。
【００１６】
一方、動き補償モジュール２４は、動き情報を受信し、マクロブロック毎に動き補償画素を加算器１８に供給する。より詳細には、順方向動きベクトルを使って過去の画像の画素を変換し、逆方向動きベクトルを使って未来の画像の画素を変換する。その後、この情報は逆DCT回路１６により与えられた解凍エラー項により補償される。動き補償回路２４は、フレームバッファ２０からの過去画像情報及び未来画像情報にアクセスする。その後、過去画像情報は動き補償回路２４により順方向動き補償され、順方向動き補償画素マクロブロックとして出力される。未来画像情報は動き補償回路２４により逆方向動き補償され、逆方向動き補償画素マクロブロックとして出力される。この２つのマクロブロックの平均化により、双方向動き補償マクロブロックが生成される。次に、加算器１８は、１つのフレームが完了するまで、解凍映像情報と動き補償画素を受信し、バッファ２０に解凍画素を供給する。もし当該ブロックが予測マクロブロックに属していなければ（例えば、Iマクロブロックの場合）、これらの画素値はそのままフレームバッファ２０に出力される。他方、予測マクロブロックであれば（例えば、BマクロブロックやPマクロブロック）、加算器１８は動き補償回路２４から出力された順方向動き補償及び逆方向動き補償に解凍エラーを加え、フレームバッファ２０へ出力する画素値を生成する。
【００１７】
上述された本実施例の構成及び動作は、本発明によるデコーダ１０がさらに複雑性推定装置２２を備えているという点を除けば、既知の技術である。本発明によるデコーダ１０に備えられた複雑性推定装置２２は、デコーダ１０におけるフレーム、スライス及びマクロブロックの計算負荷に関する評価を提供することができる。従って、複雑性推定装置２２は、実際に（VLD動作を除く）MPEG2デコードブロックを実行する前に、現在のフレーム、スライス及びマクロブロックの計算負荷を予測する機能を備えている。このような予測により、メディアプロセッサにおいて実現されるマルチメディアシステムのスムーズな動作を保証する複雑性制御機構の構成が可能となる。すなわち、本発明によるデコーダは、利用可能な計算資源、すなわち、IDCT１６とMC２４とのトレードオフを可能にすることにより、スケーラビリティ（scalability）を提供する。
【００１８】
図2は、IDCT１６及びMC２４の計算負荷を推測及び調整可能な基本動作ステップを示す。本発明では、マクロブロックタイプの情報を利用し、起こりうる計算のオーバーヘッドを予測し、IDCT２６及び/またはMC２４の計算複雑性を適応的に制御する。これにより、デコーダ１０にはより小さな計算負荷が与えられるようになる。複雑性の尺度は、特定のコプロセッサ（coprocessor）上でのソフトウェア実行に要するトータルのマシーンサイクル数により定義される。従って、ブロック３０では、マクロブロックのヘッダー情報がデコーダ１０への入力信号から抽出される。ブロック４０において、抽出されたヘッダー情報はIDCT１６及び/あるいはMC２４に要求される計算負荷を予測するため解析される。一般的に、処理対象の情報の種類に応じて、デコーダ１０の構成要素にタスクが与えられる。少ないタスク及び負荷で処理が実行されているときは、IDCT１６及び/またはMC２４の計算負荷をスケーリングすることにより、デコーダの計算負荷が減らされる。
【００１９】
本発明による、計算負荷を予測して動的予測をサポートし、デコード処理をスケーリングする手段が詳細に説明される。図3のフローチャートは、複雑性推定装置のソフトウェアによる実施例の動作を示す。このフローチャートは、一般にハードウェアによる実施例にも適用可能である。
【００２０】
図3に示されるように、ステップ１００において、圧縮映像情報のストリームが本発明によるデコーダ１２に受信される。ステップ１１０において、現在のマクロブロックのヘッダー情報が、MPEG2デコード動作の実行前に抽出される。マクロブロックのタイプ情報に関するフォーマットが図4(a)〜4(c)に示される。ヘッダー情報を受信すると、ステップ１２０において、複雑性推定装置２２はデコーダ１２のパフォーマンス能力を決定する。すなわち、ヘッダー情報とデコーダ１０の利用可能な計算リソースに基づき、IDCT１６及びMC２４のパフォーマンスを評価する。複雑性を推定するために、４つのパラメータがVLDヘッダーから抽出される。これら４つのパラメータは、以下で説明するような可変の計算ウェートの割り当てのため、個々に分析される。
【００２１】
ステップ１３０において、デコーダ１０により受信されたマクロブロックのタイプに応じて、異なる計算ウェート（Ctype）が逆DCT１６に割り当てられる。図4を参照するに、もしマクロブロックタイプがイントラであれば、イントラ符号化マクロブロックのみがマクロブロックタイプを介することなくIDCT１６による計算を要するので、対応する計算ウェートがゼロに割り当てられる。現在のマクロブロックが動き補償されてなく符号化されていれば、以前のブロックを参照し、それを現在のブロックにコピーするのに関する計算負荷は動き補償より計算を必要としないので、対応する計算ウェートはWとされる。現在マクロブロックが動き補償されているが符号化はされていない場合、対応する計算ウェートは2Wとされる。現在マクロブロックが補間動き補償されかつ符号化されている場合、順方向ベクトル及び逆方向ベクトルの抽出の必要性から、計算負荷は他のケースよりも高くなるので、対応するウェートは3Wとされる。
【００２２】
ステップ１４０において、ヘッダー情報から導出される動きベクトル量が、IDCT１６とMC２４のパフォーマンスの異なるグレード（Cmv）が必要かどうか判断するため、あらかじめ設定された閾値と比較される。言い換えると、大きな動きベクトルに対しては、前のブロックから現在のブロックまでのメモリアクセス時間及びメモリ書き込み時間は、短い動きベクトルのものより長くなる。したがって、もし動きベクトル量が閾値より大きければ、計算負荷はW1に対応し、そうでなければ、計算負荷はゼロが割り当てられる。この結果、動きベクトル量が所定の閾値レベルを上回るマクロブロックにIDCT１６あるいはMC２４を提供し、最適なパフォーマンス維持の間、IDCT１６及び/あるいはMC２４のCPU負荷をスケーリングすることにより、かなりの計算リソースの節約が可能となる。
【００２３】
ステップ１５０において、IDCT１６とMC２４のパフォーマンスの異なるグレード（Cmvc）が必要かどうか判断するため、ヘッダー情報から抽出される動きベクトルカウントが調べられる。ここで、2ベクトルMCでは、１ベクトルMCの代わりにデコードアルゴリズムは異なる２つの記憶領域にアクセスする必要があるので、異なる計算ウェートが割り当てられる。すなわち、もし動きベクトルがフィールドタイプベクトルであれば、その推定複雑性はフレームタイプベクトルのものより高くなる。なぜならフレームタイプベクトルのカウントが１であるのに対し、フィールドタイプベクトルカウントは２であるからである。従って、計算ウェートW2は、ヘッダー情報において検出されたカウント数に比例して増加される。
【００２４】
ステップ１６０において、IDCT１６及びMC２４のパフォーマンスの異なるグレード（CBN/CCBP）が必要かどうか判断するため、ヘッダー情報からの非ゼロDCT係数の数や符号化ブロックパターン（CBP）のブロック数が解析される。すなわち、DCT係数の希薄性（sparseness）に依存して、本発明によるMPEGデコーダはIDCTの計算負荷を最小にすることができる。従って、ヘッダー情報から検出された非ゼロDCT係数の数に基づいて、計算負荷W3が計算される。また、CBPカウントに比例して、計算負荷W4が利用されてもよい。CBPカウントは符号化されているブロック数を示すものである。
【００２５】
ストリームからこれらのパラメータを抽出し、適当なウェートを割り当てた後、マクロブロックデコード処理に要する計算負荷が正確に推定することができるようになる。ステップ１７０において、計算ウェートの結果が合計され、平均最小計算負荷（Cbase）が加算される。その後、推定負荷（Cest）に基づき、複雑性推定装置２２が、IDCT計算及び/または動き補償負荷の増加/減少を行う。ステップ１８０において、マクロブロックヘッダーから検出されるパフォーマンス予測のレベルに依存して、もしプロセッサのパフォーマンスが相対的に高いと判断されれば、IDCT回路１６あるいは動き補償回路２４の計算負荷は相対的に高いレベルに設定される。逆に、もしプロセッサのパフォーマンスが相対的に低いと判断されれば、計算負荷は相対的に低いレベルに設定される。すなわち、もしステップ１８０において累積ウェート係数に基づき推定された計算負荷が120［メガサイクル/秒］に対応し、デコーダ１０の利用可能な処理能力が100［メガサイクル/秒］に制限されていれば、この２つの値の比（すなわち、100/120 = 80％）が、IDCT１６の計算及び/またはMC２４の計算のためのスケール係数として利用される。従って、例えば、IDCT１６のCPU負荷の８０％のみがデコーダ１０への入力データの処理に利用させることができる。このように、デコーダ１０の最大CPU負荷を上回ることから生じるフレーム欠けや予期せぬ結果を避けるために、IDCT１６及び/あるいはMC２４は計算負荷を低減するよう選択的に調整される。デコーダ１０の構成要素のCPU負荷のスケーリング量は、オペレータにより設定された所定の基準（あるいはウェート係数）及びデコーダの利用可能な処理能力に従い変動する。
【００２６】
上述のように、システムにタスクがロードされ、その後このタスクから解放されるので、計算負荷は現在のシステムパフォーマンスの変動に伴い動的変化をする。さらに、スライスあるいはフレームレベルにおいて、マクロブロック計算推定を加える必要がある。従って、１つのフレームあるいは１つのスライス内のマクロブロックタイプ情報の計算推定の全体的スケール係数を計算することにより、フレームあるいはスライスレベルで同一の計算あるいは動き補償が実現されうる。
【００２７】
映像系列（Molens.codbitstream）の複雑性推定結果が、図６(a)及び図６(b)に示される。２つの図に示されるように、上のグラフは実際のTriMedia（PhilipsTM）MPEG2デコーダのパフォーマンスを表し、下のグラフは本発明による推定負荷を表す。図６(a)は、TriMedia1300におけるMolens系列のデコード処理の実際のCPUサイクルと本発明による推定CPUサイクルとの比較を表し、図６(b)は、Molens系列の非DCC（dynamic complexity control）MPEG2デコード処理のCPUサイクルと本発明によるDCC（dynamic complexity control）デコード処理のものとの比較を表す。これらの間には約0.97の相関係数が存在することがわかった。
【００２８】
以上、映像デコーダにおけるIDCT計算または動き補償を選択的に実行する方法が開示された。この開示された方法では、解凍に要する処理量を減少させることができる。これにより、最終的な映像画質の大きな劣化なく、解凍効率を高めることができる。また、本発明の好適な実施例が例示及び説明されてきたが、本発明の範囲を逸脱することなく、様々な変更及び修正が可能であり、本発明の構成要素をそれと等価なものと置き換えることができる。従って、本発明は、その実行に関し考えられたベストモードとして開示された実施例に制限されるものでなく、添付されたクレームの範囲にあるあらゆる実施例を含むものである。
【図面の簡単な説明】
【００２９】
【図１】図１は、映像情報の解凍における計算負荷を調整する一例となるプロセッサを示す。
【図２】図２は、図１のプロセッサにおける動作ステップを示したフローチャートである。
【図３】図３は、本発明によるプロセッサの計算負荷の推定を示したフローチャートである。
【図４（ａ）】マクロブロックタイプ情報のフォーマットを示す。
【図４（ｂ）】マクロブロックタイプ情報のフォーマットを示す。
【図４（ｃ）】マクロブロックタイプ情報のフォーマットを示す。
【図５】図５は、本発明による様々なタイプのヘッダー情報に割り当てられる計算ウェートのテーブルを示す。
【図６（ａ）】本発明による映像系列の複雑性の推定の実際のシミュレーションを示す。
【図６（ｂ）】本発明による映像系列の複雑性の推定の実際のシミュレーションを示す。
【図１】
2004527960.tif 000003
【図２】
2004527960.tif 000004
【図３】
2004527960.tif 000005
【図４（ａ）】
2004527960.tif 000006
【図４（ｂ）】
2004527960.tif 000007
【図４（ｃ）】
2004527960.tif 000008
【図５】
2004527960.tif 000009
【図６（ａ）】
2004527960.tif 000010
【図６（ｂ）】
2004527960.tif 000011
【国際公開パンフレット】
2004527960.tif 000012
2004527960.tif 000013
2004527960.tif 000014
2004527960.tif 000015
2004527960.tif 000016
2004527960.tif 000017
2004527960.tif 000018
2004527960.tif 000019
2004527960.tif 000020
2004527960.tif 000021
2004527960.tif 000022
2004527960.tif 000023
2004527960.tif 000024
2004527960.tif 000025
2004527960.tif 000026
2004527960.tif 000027
2004527960.tif 000028
2004527960.tif 000029
2004527960.tif 000030
2004527960.tif 000031
2004527960.tif 000032
2004527960.tif 000033
2004527960.tif 000034
2004527960.tif 000035
2004527960.tif 000036
2004527960.tif 000037
【国際調査報告】
2004527960.tif 000038
2004527960.tif 000039
2004527960.tif 000040