(57)【要約】  ＭＰＥＧビデオ符号化において使用されているＤＣＴ符号化されたデータから、変換符号化された前記データに対して逆変換が実施された後に得られる出力値を表現するのに必要なビット数を、決定する方法が提供される。当該方法は、前記変換符号化されたデータ内の係数の総和を得るステップ（２０４）と、前記総和と所定のしきい値とを比較するステップ（２０６）とを有する。比較の結果として、プロセッサは、複数の所定のインプリメンテーションのうちのどの逆変換インプリメンテーションが、前記変換符号化されたデータをデコードする際に実施されるべきであるかを決定する（２０８、２１０）。例えば、前記総和がしきい値よりも低い場合、９ビットよりも経済的な８ビット処理のルーチンが使用されることができる。
2007507785.tif 000002
【特許請求の範囲】
【請求項１】
変換符号化されたデータから、前記変換符号化されたデータに対して実施される逆変換の結果として得られる出力値を表現するのに必要なビット数を決定する方法であって、前記変換符号化されたデータ内の係数の値の総和を得るステップと、前記総和と所定のしきい値とを比較するステップとを有する方法。
【請求項２】
前記変換符号化されたデータは離散コサイン変換（ＤＣＴ）符号化されたデータである、請求項１に記載の方法。
【請求項３】
前記変換符号化されたデータはＭＰＥＧ−１又はＭＰＥＧ−２エンコードされたビデオデータである、請求項１又は２に記載の方法。
【請求項４】
前記出力値が８ビットで表現されることができるか、又は９ビット表現を必要としているかを判定するのに使用される、請求項１ないし３の何れか一項に記載の方法。
【請求項５】
前記比較の結果として、複数の所定のインプリメンテーションのうちの、どの逆変換インプリメンテーションが、前記変換符号化されたデータをデコードする際に実施されるべきかを決定する更なるステップを有する、請求項１ないし４の何れか一項に記載の方法。
【請求項６】
前記逆変換インプリメンテーションの少なくとも１つが、複数の８ビット値を長いワードで取り扱う命令を含んでいる、請求項５に記載の方法。
【請求項７】
前記係数の値が両極性のものであり、前記総和が前記係数の絶対値の総和である、請求項１ないし６の何れか一項に記載の方法。
【請求項８】
前記変換符号化されたデータが８×８の離散コサイン変換から構成される、請求項１ないし７の何れか一項に記載の方法。
【請求項９】
前記所定のしきい値が５００から５３０までの範囲内にある、請求項８に記載の方法。
【請求項１０】
変換符号化されたデータから、前記変換符号化されたデータに対して実施される逆変換の結果として得られる出力値を表現するのに必要なビット数を決定する装置であって、前記変換符号化されたデータ内の係数の値の総和を得る手段と、前記総和と所定のしきい値とを比較する手段とを有する装置。
【請求項１１】
前記変換符号化されたデータが離散コサイン変換（ＤＣＴ）符号化されたデータである、請求項１０に記載の装置。
【請求項１２】
前記変換符号化されたデータはＭＰＥＧ−１又はＭＰＥＧ−２エンコードされたビデオデータである、請求項１０又は１１に記載の装置。
【請求項１３】
前記出力値が８ビットで表現されることができるか、又は９ビット表現を必要としているかを判定するのに適している、請求項１０ないし１２の何れか一項に記載の装置。
【請求項１４】
前記比較の結果として、複数の所定のインプリメンテーションのうちの、どの逆変換インプリメンテーションが、前記変換符号化されたデータをデコードする際に実施されるべきかを決定する手段を更に有する、請求項１０ないし１３の何れか一項に記載の装置。
【請求項１５】
前記逆変換インプリメンテーションの少なくとも１つが、複数の８ビット値を長いワードで取り扱う命令を含んでいる、請求項１４に記載の装置。
【請求項１６】
前記係数の値が両極性のものであり、前記総和が前記係数の絶対値の総和である、請求項１０ないし１５の何れか一項に記載の装置。
【請求項１７】
前記変換符号化されたデータが、８×８の離散コサイン変換から構成される請求項１０ないし１６の何れか一項に記載の装置。
【請求項１８】
前記所定のしきい値が５００から５３０までの範囲内にある、請求項１７に記載の装置。
【請求項１９】
プログラム可能なプロセッサに、請求項１ないし９の何れか一項に記載の方法のステップを実施させる、又は請求項１０ないし１８の何れか一項に記載の装置を実施化させるプログラム命令が記録されている記録担体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、効率的な逆変換の計算を可能にする方法及び関連する装置に関し、詳細には、逆離散コサイン変換（ＩＤＣＴ）を使用するＭＰＥＧ（Moving Picture Expert Group）ビデオ処理における前記のような方法の使用に関する。
【背景技術】
【０００２】
二次元８×８離散コサイン変換（ＤＣＴ）が、ＭＰＥＧビデオデコードの中心に使用されている。
【０００３】
ＭＰＥＧデコードは、可変長デコード、ＩＱ／ＩＤＣＴ段及び動き再生段階（phase）のようないくつかの部分を含んでいる。ＩＱ及びＩＤＣＴ段階は、２つの仕方で使用されており、一方の仕方は、出力画像の値が前記ＩＤＣＴの出力によって直接的に記述されるいわゆる「イントラ」マクロブロックにおけるものであり、他方の仕方は、前記ＩＤＣＴの出力が、前記動き再生の先端に前記出力を付加することにより補正項として使用される「非イントラ」又は「インター」マクロブロックにおけるものである。
【０００４】
逆量子化（ＩＱ）段は、ビットストリーム内の符号化されている値を、逆ＤＣＴ変換への入力に備える値に変化させる。
【０００５】
ＤＣＴ（エンコード中に使用される）と、逆ＤＣＴ（デコード中に使用される）との両方を素早く計算するための複数の方法が、発表されている。これらは、結果を素早く計算するための数学的方法を記載しているが、本特許出願は、ＭＰＥＧビデオストリームにおいて見出されるＩＤＣＴ入力及び出力データの特定の特徴を考慮に入れる取り組み方を記載する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
イントラフレームにおいて、ＩＤＣＴの出力範囲は、０から２５５までであり、ピクチャ内のピクセル値の出力範囲に等しい。これは、８ビットの無署名のバイナリ数で保持されることができる。
【０００７】
非イントラフレームにおいて、ＩＤＣＴの出力範囲は、−２５６から２５５までであり、少なくとも９ビットの署名されているバイナリ数で保持されなくてはならない。しかしながら、実際、ＩＤＣＴ出力値の９９％よりも多くが、−１２８から１２７までの小さい範囲内にあることが分かっている。これは、８ビットで保持されることができる。この範囲内の出力値を有するＩＤＣＴは、TriMedia（登録商標）のようなマルチメディアプロセッサ、及びPentium（登録商標）及びAthlon（登録商標）ファミリーのようなメディア拡張を備える標準的なプロセッサにおいて、複数の８ビット値の長いワードにおける取り扱いを素早く可能にするように最適化された命令を提供する利点を有している。本願発明者らは、変換係数のブロックが、範囲０-２５５を越えるいかなる結果も伴わずに、処理されることができるかどうかを予め予測することができる場合、時間のほとんどを前記のような実利的な処理に使用することができると認識した。
【０００８】
従って、本発明の目的は、逆変換及び同様の演算に最適化されたプロセッサの使用を可能にし、特に、全出力値が、８ビット再生することができるものであるかどうかを、非常に簡単に、予測することができる試験を案出することにある。達成される処理実利が前記試験をする手間によって相殺されないように、前記試験によって必要とされるＣＰＵの労力（effort）は、非常に小さくなくてはならない。
【課題を解決するための手段】
【０００９】
本発明は、変換符号化されたデータから、該変換符号化されたデータに対して実施される逆変換の結果として得られる出力値を表現するのに必要なビット数を決定する方法であって、前記変換符号化されたデータ内の係数の値の総和を得るステップと、この総和を所定のしきい値と比較するステップとを有する方法を提供する。
【００１０】
前記方法は、前記のような比較の結果として、前記変換符号化されたデータをデコードする際、複数の所定のインプリメンテーションのうちの、どの逆変換のインプリメンテーションが、実施されるべきであるかを決定する更なるステップを含んでいても良い。
【００１１】
前記変換符号化されたデータは、例えばＭＰＥＧ−１又はＭＰＥＧ−２エンコードされたビデオデータの一部として、離散コサイン変換（ＤＣＴ）符号化されたデータであっても良い。
【００１２】
前記試験は、前記出力の値が８ビットで表現されることができるか、又は９ビット表現を必要とするかを判断するのに使用されても良い。この場合、前記逆変換のインプリメンテーションは、長いワードにおける複数の８ビット値の効率的な取り扱いを可能にするように最適化された命令を１つ又は幾つか含んでいても良い。
【００１３】
前記係数の値が両極性のものである場合、前記総和は、前記係数の絶対値であっても良い。適切なレベルのしきい値は、当該変換の数学的定義から決定されることができる。
【００１４】
好適実施例において、入力は、８×８の離散的コサイン変換から構成されている。この場合において、前記総和が５２８以下である所定の値よりも小さい場合、出力は８ビット表現をすることができるであろうと、示されることができる。実際のインプリメンテーションにおいて、この所定の値は、ＩＤＣＴのインプリメンテーションにおけるエラーを許容するように、５２８よりも低く（例えば５２４に）設定されるのが好ましい。前記しきい値は、好ましくは、本発明の恩恵をほとんど失うことなく５００から５２８までの範囲内にあり得る。前記しきい値の設定が低すぎる場合、結果として、より効率的な符号で処理されることができるブロックが、効率的でない符号によって処理されるのみである。前記しきい値の設定が高すぎる場合、対照的に、間違った出力又はオーバーフローエラーが生じ得る。
【００１５】
本発明の更なる見地は、上述の方法のステップを実行するのに適切な装置を提供することにある。
【００１６】
本発明の更に他の見地は、プログラム可能なプロセッサに上述の方法のステップを実施させるプログラム命令が記録されている記録担体を提供することにある。
【発明を実施するための最良の形態】
【００１７】
本発明の実施例は、添付図面を参照して、例として以下に記載される。
【００１８】
図１は、本発明の実施例において使用されるＭＰＥＧデコーダを示し地得る。前記デコーダは、可変長デコーダ（ＶＬＤ）１１０、逆量子化器１１２、逆離散コサイン変換（ＩＤＣＴ）処理１１４、動きバッファ１１６、総和処理１１８及びピクチャ序列化処理１２０の機能によって構成されている。この例におけるデコーダは、TriMedia（登録商標）から利用可能であるような、特化されたマイクロプロセッサの適切なプログラミングによって実施されるが、冒頭で述べたように、他のプロセッサが使用されることもできる。これらの機能の１つ以上を実施するための専用のハードウェアを設けることも可能である。
【００１９】
従来、ＭＰＥＧエンコードされたビデオは、（しばしばバッファ（図示略）を経て）ＶＬＤ１１０に供給され、量子化されたＤＣＴ係数にデコードされ、次いで、逆量子化器１１２によって逆量子化される。前記ＤＣＴ係数は、ＩＤＣＴ処理１１４に供給され、該ＩＤＣＴ処理１１４は、前記ＤＣＴ係数に対して逆デジタルコサイン変換を実施し、従って、空間ピクセルデータを出力する。これは、イントラフレームである場合、ピクチャ序列化処理１２０に直接的に送信され、又はこれがイントラフレームでない場合、動き補償が、動きバッファ１１６及び総和処理１１８によって提供される。本明細書は、ＩＤＣＴ処理１１４のみに関するものであり、該デコーダの他の機能は、更には記載されない。
【００２０】
非イントラＩＤＣＴの出力は、（ＭＰＥＧ仕様の結果である）−２５６から２５５までの範囲にクリップされなければならず、各出力値は、強制的にこの範囲にクリップされる。しかしながら、メディアプロセッサにおいて利用可能な特別な演算を使用して最適なＩＤＣＴ処理１１４を実施するためには、８ビットの署名された値（−１２８から１２７まで）によって表わされることができる範囲内のＩＤＣＴ生成出力値への入力値のブロックがどれであるのかを発見するのが望ましい。
【００２１】
９ビットの範囲を必要とする全てのＩＤＣＴブロックが発見されることを保証する簡単な試験が、記載されている一方で、ＩＤＣＴの大部分が、短い８ビットのバージョンによってなされることができる。この試験は、ＩＤＣＴ処理の入力係数の絶対値の総和を計算している。前記総和が、所定値以上である場合、ＩＤＣＴの最大の９ビットのインプリメンテーションが行われる。前記総和が、前記所定値より低い場合、最適な、８ビットバージョンが使用される。
【００２２】
ＭＰＥＧ標準のＩＤＣＴの場合、本発明者らは、以下で示すように、この所定の数は５０８であると判断した。これらの式において、ｆ（ｘ，ｙ）は、ピクセルのブロック内の位置（ｘ，ｙ）における所望の出力値を表わしており、Ｆ（ｕ，ｖ）は、逆量子化器１１２から受け取られるＤＣＴ係数の対応するブロック内の位置（ｕ，ｖ）における係数値を表わしている。ＭＰＥＧ２において使用されている二次元の逆ＤＣＴに関する式は、以下の通りである。
【数１】
2007507785.tif 000003
【００２３】
これは、全ての係数の加重和を表わしていることがわかる。８×８の場合、これは、以下のように書かれることができる。
【数２】
2007507785.tif 000004
【００２４】
Ｘ（ｕ，ｖ）は、この因数の全てが−１から１までの範囲内にあるため、常に該範囲内にあることが分かる。
【００２５】
従って、Ｘ（ｕ，ｖ）の絶対値は、１以下であることが知られている。前記絶対値をとると、以下のようになる。
【数３】
2007507785.tif 000005
【００２６】
従って、前記入力係数の前記絶対値の総和が、所定の値の４倍よりも小さい場合、実際の出力値も、指定されている値よりも小さいものであるはずである。
【００２７】
８ビットのクリッピング試験の場合、前記出力の絶対値は１２７よりも低いものであることが必要である。従って、４分の１の全体的なスケーリングを考慮に入れ、絶対値の総和が５０８よりも小さい場合、出力は、８ビットで表現されることができると分かる。
【００２８】
より接近した検証において、Ｘ（ｕ，ｖ，ｘ，ｙ）は、−（ｃｏｓ（π／１６））２から＋（ｃｏｓ（π／１６））２までの範囲（おおよそ−０．９６１９から＋０．９６１９、までの範囲）内にあることが分かっている。このことは、前記範囲が、以下のように拡大されることができることを意味する。
【数４】
2007507785.tif 000006
【００２９】
従って、いかなる出力係数の絶対値も１２７以下であることを保証するためには、前記入力の前記絶対値の総和が、５２８（即ち、（ｃｏｓ（π／１６））２によって除算され、４倍された１２７）よりも小さくなければならない。
【００３０】
しかしながら、このことは完璧なＩＤＣＴのインプリメンテーションを仮定していることに留意なければならない。従って、エラー値を許容するために、約５２４のしきい値が、実際に使用するのに安全である。
【００３１】
図２は、上述の方法を説明するフローチャートを示している。ステップ２０２は、全ての係数の値を得る初期ステップを表現している。ステップ２０４において、これらの係数の絶対値の総和が得られる。ステップ２０６において、この総和はしきい値と比較される。前記総和が、しきい値よりも大きい場合、ステップ２０８において、最大の９ビットのＩＤＣＴインプリメンテーションが開始される。しかしながら、前記総和が、前記しきい値よりも小さい場合、ステップ２１０において、最適化された８ビットのＩＤＣＴインプリメンテーションが使用される。最後に、ステップ２１２において、前記出力値が、計算される。
【００３２】
図３及び４は、ＤＣＴ係数のブロックと、対応するこれらの絶対値の総和との複数の例を示している。図３は、前記総和が前記しきい値の限界よりも上であるため、従って、前記９ビットのＩＤＣＴインプリメンテーションが必要とされる例を示している。図４は、前記総和が前記しきい値よりも下であるので、従って、最適化された８ビットのインプリメンテーションが使用されることができる例を示している。
【００３３】
前述の記載は、例のみを与えており、他の例及び実施例が、本発明の精神及び範囲内を逸脱することなく、想定されることに留意されたい。特に、８ビットの係数を有する８×８のＤＣＴに対する例が示されているが、この方法は、他の大きさ及び種類の変換と共に使用されることができると想定されることができ、ここで、当業者であれば、上述の開示を使用して、適切なしきい値を得ることができるであろう。本発明は、何らかの出力値が、ある値を超えているかどうかを判断する逆変換のステップだけでなく、前方変換のステップにおいて利用されることができることにも留意されたい。
【図面の簡単な説明】
【００３４】
【図１】ＭＰＥＧデコーダのブロック図を示している。
【図２】本発明の実施例による逆変換処理の方法のフローチャートである。
【図３】合計がしきい値よりも高いＤＣＴ係数のブロックの複数の例を示している。
【図４】合計がしきい値よりも低いＤＣＴ係数のブロックの複数の例を示している。
【図１】
2007507785.tif 000007
【図２】
2007507785.tif 000008
【図３】
2007507785.tif 000009
【図４】
2007507785.tif 000010
【国際調査報告】
2007507785.tif 000011
2007507785.tif 000012
2007507785.tif 000013