(57)【要約】      （修正有）【課題】ビデオ符号化変換の計算で必要とされるビットサイズを小さくするための画像復号方法及び画像復号装置を提供する。【解決手段】符号化データから量子化パラメータＱＰと量子化値Ｌを復号し、逆量子化して変換係数Ｋを求め復号画像を得るに際し、逆量子化計算の中間結果で必要なビット数を低減する。逆量子化で得られたＫを、異なる基底関数が異なるノルムを有する４行×４列の逆変換行列により逆整数変換して差分画像を求める。仮数部行列要素Ｂｍを、６×３の行列要素Ｓを用いて表すことで、逆整数変換された変換係数を２のＮ乗（Ｎは自然数）を用いてシフト演算により正規化する。【選択図】なし【特許請求の範囲】
【請求項１】
符号化されたデータを復号し復号画像を求める画像復号方法において、
画像を分割したブロック単位に符号化されたデータから量子化パラメータＱＰと量子化値Ｌ［ｉ］［ｊ］を復号する復号ステップと、
前記量子化値Ｌ［ｉ］［ｊ］を逆量子化し、変換係数Ｋ［ｉ］［ｊ］を求める逆量子化ステップと、
該逆量子化ステップで求められた前記変換係数を逆整数変換する逆変換ステップと、
該逆変換ステップで逆整数変換された変換係数を、正規化する正規化ステップとを有し、
前記逆整数変換は、異なる基底関数が異なるノルムを有する４行×４列の逆変換行列により実行され、
前記逆量子化ステップは、量子化パラメータＱＰの関数である仮数部行列要素Ｂｍ（ＱＰ）［ｉ］［ｊ］および定数Ｂを用いて、前記変換係数Ｋ［ｉ］［ｊ］を以下のように求め、
Ｋ［ｉ］［ｊ］＝［Ｌ［ｉ］［ｊ］×Ｂｍ（ＱＰ）［ｉ］［ｊ］］＜＜（Ｂ＋ＱＰ／６）
（ただし“＜＜”は左シフト演算である）
前記仮数部行列要素Ｂｍ（ＱＰ）［ｉ］［ｊ］は、ＱＰに関して
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  Ｂｍ（ＱＰ  ｍｏｄ  ６）［ｉ］［ｊ］
なる関数形を有し、
前記仮数部行列要素Ｂｍ（ＱＰ）［ｉ］［ｊ］を、６×３の行列要素ＳＱＰ，０、ＳＱＰ，１、ＳＱＰ，２を用いて
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  ＳＱＰ，０    （（ｉ，ｊ）が共に偶数の場合）
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  ＳＱＰ，１    （（ｉ，ｊ）が共に奇数の場合）
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  ＳＱＰ，２    （上記以外の（ｉ，ｊ）の場合）
と表すことにより、前記正規化ステップは、前記逆整数変換された変換係数を、２Ｎ（ただし、Ｎは自然数）を用いてシフト演算により正規化することを特徴とする画像復号方法。
【請求項２】
符号化されたデータを復号し復号画像を求める画像復号装置において、
画像を分割したブロック単位に符号化されたデータから量子化パラメータＱＰと量子化値Ｌ［ｉ］［ｊ］を復号する復号手段と、
前記量子化値Ｌ［ｉ］［ｊ］を逆量子化し、変換係数Ｋ［ｉ］［ｊ］を求める逆量子化手段と、
該逆量子化手段で求められた前記変換係数を逆整数変換する逆変換手段と、
該逆変換手段で逆整数変換された変換係数を、正規化する正規化手段とを備え、
前記逆整数変換は、異なる基底関数が異なるノルムを有する４行×４列の逆変換行列により実行され、
前記逆量子化手段は、量子化パラメータＱＰの関数である仮数部行列要素Ｂｍ（ＱＰ）［ｉ］［ｊ］および定数Ｂを用いて、前記変換係数Ｋ［ｉ］［ｊ］を以下のように求め、
Ｋ［ｉ］［ｊ］＝［Ｌ［ｉ］［ｊ］×Ｂｍ（ＱＰ）［ｉ］［ｊ］］＜＜（Ｂ＋ＱＰ／６）
（ただし“＜＜”は左シフト演算である）
前記仮数部行列要素Ｂｍ（ＱＰ）［ｉ］［ｊ］は、ＱＰに関して
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  Ｂｍ（ＱＰ  ｍｏｄ  ６）［ｉ］［ｊ］
なる関数形を有し、
前記仮数部行列要素Ｂｍ（ＱＰ）［ｉ］［ｊ］を、６×３の行列要素ＳＱＰ，０、ＳＱＰ，１、ＳＱＰ，２を用いて
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  ＳＱＰ，０    （（ｉ，ｊ）が共に偶数の場合）
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  ＳＱＰ，１    （（ｉ，ｊ）が共に奇数の場合）
Ｂｍ（ＱＰ）［ｉ］［ｊ］  ＝  ＳＱＰ，２    （上記以外の（ｉ，ｊ）の場合）
と表すことにより、前記正規化手段は、前記逆整数変換された変換係数を、２Ｎ（ただし、Ｎは自然数）を用いてシフト演算により正規化することを特徴とする画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
（１．発明の分野）
本発明は、一般的にはビデオ圧縮技術に関し、より詳細には、ビデオ符号化変換の計算で必要とされるビットサイズを小さくするための画像復号方法及び画像復号装置に関する。
【０００２】
（関連出願）
本願は、ルイス・ケロフスキーによって発明され、２００１年８月９日に出願された「低ビット深度量子化」を発明の名称とする米国仮特許出願第０６／３１１，４３６号（代理人整理番号第ＳＬＡ１１１０Ｐ）、ルイス・ケロフスキーによって発明され、２００１年１１月３０日に出願された「量子化と正規化とを組み合わせたビデオ符号化のための方法及びシステム」を発明の名称とする米国仮特許出願第０６／３１９，０１８号（代理人整理番号第ＳＬＡ１１１０Ｐ）、及びルイス・ケロフスキーによって発明され、２００２年３月２日に出願された「低ビット深度量子化のための方法」を発明の名称とする米国特許出願第１０／１３９，０３６号（代理人整理番号第ＳＬＡ１１１０）の利益を請求するものである。
【背景技術】
【０００３】
（２．関連技術の説明）
あるビデオ情報フォーマットは、テレビスクリーンを起動したり、ビデオテープに記憶するのに適した視覚情報を発生するようになっている。一般に、ビデオデータは階層的順序で構成される。１つのビデオシーケンスは複数のフレームのグループに分割され、各グループは一連のフレームから構成できる。各フレームは、ほぼ静止画に等しく、連続した動きが表示されるように見えるのに十分な頻度で、この静止画が更新される。１つのフレームは、更に複数のスライス、すなわち横長の領域に分割され、このスライスは誤り回復のシステム設計に用いられる。各スライスは、誤りがスライス間を伝搬しないように別個に符号化される。１つのスライスは、複数のマクロブロックから成る。Ｈ．２６Ｐ及び動画専門家グループ（ＭＰＥＧ）−Ｘ規格では、１つのマクロブロックは、ビデオフォーマットに応じて１６×１６個の輝度ピクセルとこれに対応する色差ピクセルの組とから構成される。１つのマクロブロックは常に整数個のブロックを有し、８×８ピクセルのマトリックスは最小の符号化単位となっている。
【０００４】
ビデオ圧縮は、ビデオデータを伝送したり、記憶したりするのを必要とするアプリケーションのための重要な手段である。圧縮技術は、異なる領域のフレームで記憶された情報（時間的冗長性）を再使用することにより、動きを補償する。圧縮は、空間領域のデータを周波数領域のデータに変換することによっても行われる。Ｈ．２６Ｐ及びＭＰＥＧ−Ｘ国際規格では、動き補償による時間的冗長性と、変換、例えば離散的コサイン変換（ＤＣＴ）による空間的冗長性と、を利用するハイブリッドなデジタルビデオ圧縮が基礎として適応されている。
【０００５】
特許文献１（発明者ワング）に記載されているように、ＤＣＴ及び逆離散的コサイン変換（ＩＤＣＴ）は、画像データの信号処理で広く使用されている演算である。双方の技術は、例えばＭＰＥＧによって定められている動画ビデオ圧縮のための国際規格で使用されている。ＤＣＴは、簡易で効率的な符号化モデルを生成する確かな特性をもっている。ＤＣＴをピクセルデータのマトリックスに適用する場合、ＤＣＴは、データのブロックを空間周波数の重み付けされた合計、すなわちＤＣＴ係数に分解するための方法である。逆に、ＤＣＴ係数のマトリックスをピクセルデータに戻すように変換するのにＩＤＣＴが使用される。
【０００６】
デジタルビデオ（ＤＶ）コーデックは、ＤＣＴに基づくデータ圧縮方法を使用するデバイスの一例である。ブロック化ステージでは、画像フレームは、例えば各ピクセルに対する輝度と色差データとを含むピクセル情報のＮ×Ｎ個のブロックに分割される。１つの共通ブロックサイズは、水平方向の８個のピクセル×垂直方向の８個のピクセルである。このピクセルブロックは、画像の異なる部分からのいくつかのブロックが一体にグループ化されるように「シャッフル」される。このシャッフルによって画質の均一性が高まる。
【０００７】
異なるフィールドは、異なる時間のインシデントに記録される。ピクセルデータの各ブロックに対し、動き検出器が１つのフレームの２つのフィールド間の差を探す。その動き情報は、次に続くステージへ送られる。次のステージでは、ＤＣＴを使ってピクセル情報が変換される。例えば、８×８のＤＣＴは、垂直方向及び水平方向の双方に、８個の入力信号を取り込み８個の出力信号を戻す。次に、この結果得られたＤＣＴ係数は、ＤＣＴ係数の各ブロックに重み付け定数を乗算することによって重み付けされる。
【０００８】
次のステージでは、上記重み付けされたＤＣＴ係数が量子化される。この量子化は、所定の値の範囲内の各ＤＣＴ係数を同じ数に丸める。この量子化は、周波数マトリックスのより高い周波数成分を０にセットするように働き、この結果、記憶すべきデータの量が少なくなる。しかしながら、人の眼はより低い周波数に最も敏感であるので、このステージでは画質の低下はほとんど認識できない。
【０００９】
量子化ステージは、マトリックスの値をジグザグパターンで読み出すことにより、量子化された係数の二次元マトリックスをデータの一次元のリニアストリームに変換し、この量子化された係数の一次元リニアストリームを、各セグメントがゼロ係数とそれに続く非ゼロ量子化係数のストリングとから成る複数のセグメントに分割することを含む。次に、各セグメント（セグメント内におけるゼロ係数の数及び非ゼロ係数の振幅から成る）を可変長コードワードに変換することによって、可変長符号化（ＶＬＣ）を実行する。最後に、フレーム化プロセスが３０ブロックごとの可変長符号化された量子化係数を５つの固定長同期化ブロックにパックする。
【００１０】
復号は、基本的には上記符号化プロセスの逆である。まずデジタルストリームをまず逆フレーム化する。次に、データを個々の係数にレストア（回復）できるように、可変長復号（ＶＬＤ）がデータをアンパックする。係数の逆量子化後に、結果に対して逆重み付け及び逆離散的コサイン変換（ＩＤＣＴ）が適用される。逆重みは、符号化プロセスで適用された多数の重みの逆数である。次に、逆重み付け関数の出力をＩＤＣＴによって処理する。
【００１１】
これまでにＤＣＴ及びＩＤＣＴの計算の複雑さを低減する手段を研究する多くの作業が行われてきた。二次元のＩＤＣＴを計算するアルゴリズムは、「タイプＩ」のアルゴリズムと称されている。タイプＩのアルゴリズムは、並列マシン、すなわち同時に並列に作動する複数のプロセッサから形成されたコンピュータで実施するのに容易である。例えば、Ｎ×Ｎ個のマトリックスに対してマトリックス乗算を実行するのにＮ個の並列プロセッサを使用すると、Ｎ個のコラム乗算を同時に実行できる。更に、高速マトリックス転置を実行するための特殊なハードウェア又はソフトウェア命令を含むように並列マシンを設計できる。
【００１２】
タイプＩのアルゴリズムの欠点は、より多数の乗算が必要となることである。タイプＩのアルゴリズムの計算シーケンスは、２回のマトリックス乗算とこれから分離されたマトリックス転置を必要とし、例えばＮ＝４の場合、この演算を行うには、６４回の加算及び４８回の乗算の総計１１２の命令が必要である。当業者には、プロセッサが乗算を行うことは極めて時間がかかり、システムの性能は実行される乗算の回数を少なくすることによって最適になることが多いことが周知となっている。
【００１３】
Ｌ関数を使って入力マトリックスの転置を一次元ベクトルに変換することによって、二次元ＩＤＣＴを得ることもできる。次に、定数とマトリックスのテンソル積を得る。次にこのテンソル積に一次元ベクトルＬを乗算する。Ｍ関数を使ってこの結果をＮ×Ｎのマトリックスに変換し戻す。再びＮ＝４であると仮定すると、この計算シーケンスで使用する命令の総数は９２命令（６８回の加算と２４回の乗算）となる。この計算シーケンスを使用して二次元ＩＤＣＴを実行するアルゴリズムを「タイプＩＩ」のアルゴリズムと称す。タイプＩＩのアルゴリズムでは、２つの定数マトリックスを１つにまとめ、１回の演算として実行する。このタイプＩＩのアルゴリズムの利点は、より少ない回数の命令（９２回対１１２回）しか一般に必要とせず、特に少ない回数の乗算（２４回対４８回）しか必要としない。しかしながら、タイプＩＩのアルゴリズムは、並列マシンで効率的に実現するのが極めて困難である。タイプＩＩのアルゴリズムは、極めて頻繁にデータを並べ変える性質があり、並列マシンでデータを並べ変えることは極めて時間がかかる。
【００１４】
ＩＤＣＴを実現するためのタイプＩのアルゴリズム及びタイプＩＩのアルゴリズムは、多数存在するが、逆量子化は、ＤＣＴ及びＩＤＣＴ計算に応じた、独立したステップとしてこれまで扱われてきた。ビット精度で正確なＤＣＴ及びＩＤＣＴの定義をする努力により、効率的な整数変換が開発されるに至った。この整数変換は、一般に計算のダイナミックレンジを高める。結果として、これらアルゴリズムを実現するには、１７以上のビットから成るデータを処理し、記憶しなければならない。
【００１５】
中間ステージの量子化係数を変換プロセスにおける最大サイズに限定できると有利となる。
【００１６】
１６ビットプロセッサに対して有効な量子化プロセスを開発できれば有利となる。
【００１７】
１６ビットのプロセッサで復号、逆量子化、及び逆変換を効率的に実現できると有利となる。同様に１６ビット以下で乗算を実行でき、メモリアクセスが１６ビット以下しか必要としなければ有利となる。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】米国特許第６，３１７，７６７号明細書
【発明の概要】
【００１９】
本発明は、ビデオ圧縮のための改善された方法を提供することにある。代表的な符号化アルゴリズムは、前に符号化されたフレームから１つのフレームを予測する。誤りは変換を受け、この結果生じる値が量子化される。量子化器は、圧縮の程度を制御する。量子化器は、ビデオを表すのに使用される情報量、及び復号された画質を制御する。
【００２０】
ビデオ符号化における変換と量子化との相互作用が問題となる。過去において、変換と量子化器は、別々に設計されてきた。変換、典型的に離散的コサイン変換は正規化される。その変換の結果は、スカラ量子化又はベクトル量子化を使用する標準的な方法で量子化される。これまでの研究ＭＰＥＧ−１，ＭＰＥＧ−２，ＭＰＥＧ−４，Ｈ．２６１，Ｈ．２６３では、逆変換の定義は、ビット精度で正確ではなかった。このため、実現者にとってプラットフォームに適した変換アルゴリズムを選択するある程度の自由度が可能であった。この方法の欠点は、エンコーダ／デコーダの不整合が予測ループに悪影響を与える可能性があることである。この不整合の問題を解決するために、画像の一部を周期的に、予測をすることなく符号化する。現在の研究、例えばＨ．２６Ｌは、ビット精度で正確な定義（ｂｉｔ  ｅｘａｃｔ  ｄｅｆｉｎｉｔｉｏｎ）が可能である整数変換を使用することに焦点を合わせている。整数変換は、正規化する必要が無い。この変換は、途中で除算を行わず、計算の結果を正規化するのに最後にシフトを使用すればよいように設計されている。量子化は除算も必要とし、Ｈ．２６Ｌは量子化と共にこれら整数変換をどのように使用するかの例を示している。
【００２１】
現在のＨ．２６Ｌのテストモデル長期条件（ＴＭＬ）では、正規化は量子化と組み合わされ、順方向変換及び量子化に従い、次に逆量子化及び逆変換に従う整数乗算及びシフトを介して実現される。Ｈ．２６Ｌ  ＴＭＬは、量子化パラメータ（ＱＰ）に対応したＡ（ＱＰ），Ｂ（ＱＰ）の２つの整数列を使用する（表１参照）。これら値は下記の式１により示された関係により制限されている。
【００２２】
【表１】
2010035192.tif 000002
【００２３】
【数１】
2010035192.tif 000003
【００２４】
これら整数及び２の累乗による除算を使って正規化と量子化を同時に実行する。Ｈ．２６Ｌにおける変換符号化は、式２に示す４×４のブロックサイズの整数変換マトリックスＴを使用する。４×４のブロックＸに対して、式３のように変換係数Ｋが計算される。これら変換係数から、整数乗算により量子化レベルＬが計算される。デコーダでは、新しい組の係数Ｋ′を計算するのにそのレベルが使用される。再構成されたブロックＸ′を計算するのに、更なる整数マトリックス変換及びその後のシフトが使用される。エンコーダには順方向変換の計算や丸め処理について自由度が与えられる。エンコーダとデコーダの双方は、逆計算に対し、全く同じ計算結果を与える。
【００２５】
【数２】
2010035192.tif 000004
【００２６】
【数３】
2010035192.tif 000005
【００２７】
ここで、中間結果Ｙは一次元変換の結果であり、中間結果Ｙ′は一次元逆変換の結果である。
【００２８】
これら計算中に必要とされるダイナミックレンジを決定できる。主なアプリケーションは、９ビットの入力、すなわち８ビットと１ビットの符号ビット、であるため、中間レジスタ及びメモリアクセスによって要求されるダイナミックレンジは表２に示すものとなる。
【００２９】
【表２】
2010035192.tif 000006
【００３０】
ビット精度で正確な定義を維持し、量子化を組み込むために、除算演算を後から行うため、中間結果のダイナミックレンジが増加し得る。本発明は、中間結果のダイナミックレンジの増加させないために量子化と正規化とを組み合わせたものである。本発明によれば、これら計算に必要なビット深度を制御しながら、ビット精度で正確な逆変換及び量子化の定義の利点が維持される。必要なビット深度を小さくすると、ハードウェアの実現に必要な複雑さも低くなり、例えばインテルＭＭＸ命令セットのような１回の命令で多数のデータ（ＳＩＭＤ）を扱う演算を、効率的に使用することが可能となる。
【００３１】
従って、係数を量子化するための方法が提供される。この方法は、係数Ｋを供給することと、量子化パラメータ（ＱＰ）を供給することと、仮数部分（Ａｍ（ＱＰ））及び指数部分（ｘＡｅ（ＱＰ））を使って係数Ｋから量子化値（Ｌ）を形成することと、を備える。ｘの値は、一般に２である。
【００３２】
本方法のある特徴によれば、係数Ｋから量子化値（Ｌ）を形成することは、
Ｌ  ＝  Ｋ＊Ａ（ＱＰ）
＝  Ｋ＊Ａｍ（ＱＰ）＊（２Ａｅ（ＱＰ））
を含む。
【００３３】
別の特徴によれば、本方法は、
Ｌｎ  ＝  Ｌ／２Ｎ
＝  Ｋ＊Ａｍ（ＱＰ）／２（Ｎ−Ａｅ（ＱＰ））
に従って２Ｎにより量子化値を正規化することを更に含む。
【００３４】
ある特徴によれば、量子化値を形成することは、周期Ｐ（ここでＡ（ＱＰ＋Ｐ）＝Ａ（ＱＰ）／ｘである）で再帰的量子化ファクタの組を形成することを含む。従って、再帰的量子化ファクタの組を形成することは、再帰的仮数ファクタ（ここでＡｍ（ＱＰ）＝Ａｍ（ＱＰ  ｍｏｄ  Ｐ）である）を形成することを含む。同様に再帰的量子化ファクタの組を形成することは、再帰的指数ファクタ（ここでＡｅ（ＱＰ）＝Ａｅ（ＱＰ  ｍｏｄ  Ｐ）−ＱＰ／Ｐである）を形成することを含む。
【００３５】
とりわけ、係数Ｋを供給することは、係数マトリックス要素Ｋ［ｉ］［ｊ］を持つマトリックスＫを供給することを含む。そして、係数マトリックスＫから量子化値（Ｌ）を形成することは、仮数部分のマトリックス（Ａｍ（ＱＰ）［ｉ］［ｊ］を要素とするマトリックス）及び指数部分のマトリックス（ｘＡｅ（ＱＰ）［ｉ］［ｊ］を要素とするマトリックス）を使用して量子化値のマトリックス（Ｌ［ｉ］［ｊ］を要素とするマトリックス）を形成することを含む。なお、マトリックスＫ、マトリックスＬ、マトリックスＡｍ等の表記において、マトリックスの変数名の後に［ｉ］［ｊ］を付したものはそのマトリックスの各要素を示しているが、以下では単に「マトリックスＫ［ｉ］［ｊ］」等と呼ぶ。
【００３６】
同様に、仮数部分のマトリックス（Ａｍ（ＱＰ）［ｉ］［ｊ］）及び指数部分のマトリックス（ｘＡｅ（ＱＰ）［ｉ］［ｊ］）を使って量子化値のマトリックス（Ｌ［ｉ］［ｊ］）を形成することは、ＱＰの特定値の各々に対し、指数部分のマトリックス内のすべての要素が同じ値であることも含む。前記指数部分のマトリックス内のどの要素もＱＰ値の周期（Ｐ）の間、同じ値である（ここでＡｅ（ＱＰ）＝Ａｅ（Ｐ＊（ＱＰ／Ｐ））である）。
【００３７】
仮数部分（Ｂｍ（ＱＰ））及び指数部分（ｘＢｅ（ＱＰ））を使って量子化値から逆量子化値（Ｘ１）を形成することを含む、上述した方法の更なる細部について以下説明する。
【図面の簡単な説明】
【００３８】
【図１】係数を量子化するための本発明の方法を示すフローチャートである。
【図２】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図３】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図４】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図５】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図６】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図７】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図８】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【図９】ビデオ符号化のためのシステム及び方法を構成する本発明の実施例を示す。
【発明を実施するための形態】
【００３９】
（好ましい実施形態の詳細な説明）
変換と量子化との組み合わせのダイナミックレンジの条件は、式４に示されるように量子化パラメータＡ（ＱＰ）及びＢ（ＱＰ）を仮数項と指数項とに因数分解することによって低減できる。このような構造では、計算中に保存する必要があるのは、仮数項に起因する精度だけである。指数項は、最後に行う正規化のためのシフトに含めることができる。これについては、計算例として式５に示されている。
【００４０】
【数４】
2010035192.tif 000007
【００４１】
【数５】
2010035192.tif 000008
【００４２】
本発明を示すために、Ｈ．２６Ｌデコーダのダイナミックレンジ条件を１６ビットのメモリアクセスに低減する量子化パラメータの一組を示す。逆変換のメモリアクセスは、１６ビットに低減されている。表３に示されるように、ＱＰ＝０〜５に対し、Ａｍａｎｉｓｓａ，Ａｅｘｐｏｎｅｎｔ，Ｂｍａｎｉｓｓａ，Ｂｅｘｐｏｎｅｎｔ，Ａｐｒｏｐｏｓｅｄ，Ｂｐｒｏｐｏｓｅｄの値が定められる。その他の量子化値は、式６に示されるように、再帰的に決定される。量子化値のこのような構造によって、表３に記載された値に加え、新しい量子化値を生成することができる。
【００４３】
【表３】
2010035192.tif 000009
【００４４】
【数６】
2010035192.tif 000010
【００４５】
このように定められたパラメータを使用し、式５に示されるように、ダイナミックレンジを低減するのに変換計算式を変形できる。どのようにして、仮数の値だけがダイナミックレンジの拡大に寄与するかについて留意されたい。指数ファクタは、最終の正規化処理に組み込まれるので、中間結果のダイナミックレンジには影響しない。
【００４６】
これら値及び計算方法を使用することにより、デコーダにおけるダイナミックレンジが小さくされるので、表４に示されるように、１５ビットのメモリアクセスだけでよい。
【００４７】
【表４】
2010035192.tif 000011
【００４８】
上述した量子化と正規化の組み合わせ方法に対して、いくつかの改良方法を適用できる。パラメータを仮数と指数とに因数分解する一般的な技術は、これら改良方法の基礎をなす。
【００４９】
上述した説明は、変換のすべての基底関数は等しいノルムを有し、同じように量子化されることを仮定している。異なる基底関数が異なるノルムを有する性質を有する整数変換もある。本発明の技術は、上記スカラＡ（ＱＰ）及びＢ（ＱＰ）をマトリックスＡ（ＱＰ）［ｉ］［ｊ］及びＢ（ＱＰ）［ｉ］［ｊ］に置換することにより、異なるノルムを有する変換をサポートするように一般化されている。これらパラメータは、下記の式７に示される正規化関係式の関係を持っており、この関係式は、式１に示される単一の関係式よりも一般的となっている。
【００５０】
【数７】
2010035192.tif 000012
【００５１】
これまで説明した方法に従い、各マトリックスの各要素は、下記の式、すなわち式８で示されるように、仮数項と指数項とに因数分解される。
【００５２】
【数８】
2010035192.tif 000013
【００５３】
これら量子化及び逆量子化パラメータを記述するのに、多数のパラメータが必要である。自由パラメータの数を少なくするのに、いくつかの構造関係式を使用できる。周期Ｐ毎に、Ａの値が半分となると同時に、正規化関係を維持するためにＢの値が倍となるように、量子化器の拡張方法を設計する。更に、Ａｅｘｐｏｎｅｎｔ（ＱＰ）［ｉ］［ｊ］及びＢｅｘｐｏｎｅｎｔ（ＱＰ）［ｉ］［ｊ］は［０，Ｐ−１］の範囲でｉ，ｊ，（ＱＰ）から独立している。この構造は、構造関係式、すなわち式９によって要約される。このような構造を用いた場合、２つのパラメータＡｅｘｐｏｎｅｎｔ［０］及びＢｅｘｐｏｎｅｎｔ［０］しかない。
【００５４】
【数９】
2010035192.tif 000014
【００５５】
仮数の値に対しても、ある構造を定める。各インデックスの対（ｉ，ｊ）に対し、仮数の値は周期Ｐで周期的である。このことを式１０の構造式にまとめる。この構造を用いた場合、Ａｍａｎｔｉｓｓａに対し、Ｐ個の独立したマトリックスが存在し、Ｂｍａｎｔｉｓｓａに対し、Ｐ個の独立したマトリックスが存在するので、メモリ条件を低減し計算式に構造を追加できる。
【００５６】
【数１０】
2010035192.tif 000015
【００５７】
逆変換は、丸めを必要とする整数の除算を含むことができる。当該ケースでは、除算は２の累乗で行う。逆量子化ファクタを同じ２の累乗の倍数にし、次の残りの除算をしないように設計することにより、丸め誤差を小さくする。
【００５８】
仮数値Ｂｍａｎｔｉｓｓａ（ＱＰ）を使用する逆量子化は、ＱＰに応じて異なるように正規化される逆量子化値を与える。逆変換に従うためにこれを補償しなければらない。式１１にはこの計算のフォームが示されている。
【００５９】
【数１１】
2010035192.tif 000016
【００６０】
式１１では、Ｌｅｖｅｌ［ｉ］［ｊ］は量子化された変換係数であり、以後、あらためて「量子化値」と称す。Ｋ［ｉ］［ｊ］はスケーリングされた変換係数であり、以後、あらためて「逆量子化値」と称す。
【００６１】
逆変換でこのような正規化の差を補償することが不要となるようにするために、すべての逆量子化された値が同じ正規化を有するように、逆量子化演算を定める。式１２にはこの計算のフォームが示されている。
【００６２】
【数１２】
2010035192.tif 000017
【００６３】
左シフト演算を使用することにより、２の累乗を計算でき、式１２における逆量子化値Ｋ［ｉ］［ｊ］は次のように示される。
Ｋ［ｉ］［ｊ］＝［Ｂｍａｎｔｉｓｓａ・Ｌｅｖｅｌ［ｉ］［ｊ］］＜＜（ＱＰ／Ｐ）
【００６４】
量子化マトリックスの本発明の使用を示す一実施例が続く。式１３に定められた順方向及び逆方向変換は単一のスカラ量子化値ではなく、１つの量子化マトリックスを必要とする。サンプルの量子化パラメータ及び逆量子化パラメータが示される。式１４及び式１６は、関連する計算式と共にこの発明の実施例を示す。この例は周期Ｐ＝６を使用している。式１４では、ＡｍａｎｔｉｓｓａはＱで示され、ＱＰはｍで示されている。式１６では、ＢｍａｎｔｉｓｓａはＲで示され、ＱＰはｍで示されている。
【００６５】
【数１３】
2010035192.tif 000018
【００６６】
【数１４】
2010035192.tif 000019
【００６７】
【数１５】
2010035192.tif 000020
【００６８】
入力がＸ内にあり、量子化パラメータＱＰを仮定したときの、順方向変換及び順方向量子化の記述、すなわち式１８が下記に示されている。
【００６９】
【数１６】
2010035192.tif 000021
【００７０】
【数１７】
2010035192.tif 000022
【００７１】
この例に対する逆量子化、逆変換、及び正規化の記述が、次の式１９及び式２０に示されている。
【００７２】
【数１８】
2010035192.tif 000023
【００７３】
【数１９】
2010035192.tif 000024
【００７４】
図１は、係数を量子化するための本発明の方法を示すフロー図である。この方法は、明瞭にするために番号を付けたステップのシーケンスとして表示されているが、特に明示しない限り、番号は実行順序を意図するものではない。これらステップの一部は、スキップしてもよいし、並列に実行したり、又はシーケンスの厳密な順序を維持しないで実行することもできると理解すべきである。この方法は、ステップ１００でスタートする。ステップ１０２は係数Ｋを与え、ステップ１０４は量子化パラメータ（ＱＰ）を与える。ステップ１０６は、仮数部分（Ａｍ（ＱＰ））及び指数部分（ｘＡｅ（ＱＰ））を使って係数Ｋから量子化値（Ｌ）を形成する。一般に、指数部分（ｘＡｅ（ＱＰ））にｘは値２であることを含む。
【００７５】
本発明のある特徴では、ステップ１０６にて仮数部分（Ａｍ（ＱＰ））及び指数部分（ｘＡｅ（ＱＰ））を使って係数Ｋから量子化値（Ｌ）を形成するには、次の演算を行う。
Ｌ  ＝  Ｋ＊Ａ（ＱＰ）
＝  Ｋ＊Ａｍ（ＱＰ）＊（２Ａｅ（ＱＰ））
【００７６】
この方法の一部の特徴は更なるステップを含むことである。すなわちステップ１０８が次のように２Ｎにより量子化値を正規化する。
Ｌｎ  ＝  Ｌ／２Ｎ
＝  Ｋ＊Ａｍ（ＱＰ）／２（Ｎ−Ａｅ（ＱＰ））
【００７７】
別の特徴では、ステップ１０６における量子化値の形成には、周期Ｐで再帰的量子化ファクタの組を形成することが含まれる。ここで、Ａ（ＱＰ＋Ｐ）＝Ａ（ＱＰ）／ｘである。同じように、再帰的量子化ファクタの一組の形成には再帰的仮数ファクタを形成することが含まれる。ここで、Ａｍ（ＱＰ）＝Ａｍ（ＱＰ  ｍｏｄ  Ｐ）である。次に、再帰的量子化ファクタの一組を形成することは、再帰的指数ファクタを形成することを含み、ここでＡｅ（ＱＰ）＝Ａｅ（ＱＰ  ｍｏｄ  Ｐ）−ＱＰ／Ｐである。
【００７８】
一部の特徴によれば、量子化値を形成することは周期Ｐで再帰的量子化ファクタの組を形成することを含み、ここで、Ａ（ＱＰ＋１）＝Ａ（ＱＰ）／２である。別の特徴では、再帰的量子化のファクタの一組を形成することは、再帰的仮数ファクタを形成することを含み、ここでＰ＝６である。同様に、再帰的量子化ファクタの一組を形成することは、再帰的指数ファクタを形成することを含み、ここでＰ＝６である。
【００７９】
本発明のある特徴によれば、ステップ１０２において係数Ｋを供給することは、係数マトリックスＫ［ｉ］［ｊ］を供給することを含む。そして、ステップ１０６において、仮数部分（Ａｍ（ＱＰ））及び指数部分（ｘＡｅ（ＱＰ））を使って、係数マトリックスＫ［ｉ］［ｊ］から量子化値（Ｌ）を形成することは、仮数部分のマトリックス（Ａｍ（ＱＰ）［ｉ］［ｊ］）及び指数部分のマトリックス（ｘＡｅ（ＱＰ）［ｉ］［ｊ］）を使って量子化値のマトリックス（Ｌ［ｉ］［ｊ］）を形成することを含む。同様に、仮数部分のマトリックス（Ａｍ（ＱＰ）［ｉ］［ｊ］）及び指数部分のマトリックス（ｘＡｅ（ＱＰ）［ｉ］［ｊ］）を使用して量子化値のマトリックス（Ｌ［ｉ］［ｊ］）を形成することは、ＱＰの特定の値ごとに対して、指数部分のマトリックス内のどの要素でも同じ値であることを含むことである。一般に、ＱＰ値の周期（Ｐ）に対し、指数部分のマトリックス内のどの要素も同じ値となり、ここでＡｅ（ＱＰ）＝Ａｅ（Ｐ＊（ＱＰ／Ｐ））である。
【００８０】
本方法のある特徴は、別のステップを含むことである。ステップ１１０は、仮数部分（Ｂｍ（ＱＰ））及び指数部分（ｘＢｅ（ＱＰ））を使って量子化値から逆量子化値（Ｘ１）を形成する。ここでも指数部分（ｘＢｅ（ＱＰ））は、一般に値２であるｘを含む。
【００８１】
本方法のある特徴によれば、仮数部分（Ｂｍ（ＱＰ））及び指数部分（２Ｂｅ（ＱＰ））を使って量子化値から逆量子化値（Ｘ１）を形成することが、次の演算を行うことを含む。
Ｘ１  ＝  Ｌ＊Ｂ（ＱＰ）
＝  Ｌ＊Ｂｍ（ＱＰ）＊（２Ｂｅ（ＱＰ））
【００８２】
本方法の別の特徴は、別の工程、すなわち下記のように逆量子化値を２Ｎによって逆正規化するステップ１１２の工程を含むことである。
Ｘ１ｄ  ＝  Ｘ１／２Ｎ
＝  Ｘ１＊Ｂｍ（ＱＰ）／２Ｎ
【００８３】
ある特徴によれば、ステップ１１０において、逆量子化値を形成することは周期Ｐで再帰的逆量子化ファクタの組を形成することを含み、ここで、Ｂ（ＱＰ＋Ｐ）＝ｘ＊Ｂ（ＱＰ）である。次に、再帰的逆量子化ファクタの一組を形成することは、再帰的仮数ファクタを形成することを含み、ここでＢｍ（ＱＰ）＝Ｂｍ（ＱＰ  ｍｏｄ  Ｐ）である。更に、再帰的逆量子化ファクタの一組を形成することは、再帰的指数ファクタを形成することを含み、ここでＢｅ（ＱＰ）＝Ｂｅ（ＱＰ  ｍｏｄ  Ｐ）＋ＱＰ／Ｐである。
【００８４】
ある特徴によれば、周期Ｐを有する再帰的量子化ファクタの一組を形成することは、ｘの値を２に等しくすることを含み、再帰的仮数ファクタを形成することは、Ｐの値を６に等しくすることを含む。次に、再帰的逆量子化ファクタの一組を形成することは、再帰的指数ファクタを形成することを含み、ここで、Ｂｅ（ＱＰ）＝Ｂｅ（ＱＰ  ｍｏｄ  Ｐ）＋ＱＰ／Ｐである。
【００８５】
本発明のある特徴によれば、ステップ１１０において、仮数部分（Ｂｍ（ＱＰ））及び指数部分（ｘＢｅ（ＱＰ））を使って量子化値から逆量子化値（Ｘ１）を形成することは、仮数部分のマトリックス（Ｂｍ（ＱＰ）［ｉ］［ｊ］）及び指数部分のマトリックス（ｘＢｅ（ＱＰ）［ｉ］［ｊ］）を使って逆量子化値のマトリックス（Ｘ１［ｉ］［ｊ］）を形成することを含む。同様に、仮数部分のマトリックス（Ｂｍ（ＱＰ）［ｉ］［ｊ］）及び指数部分のマトリックス（ｘＢｅ（ＱＰ）［ｉ］［ｊ］）を使って逆量子化値のマトリックス（Ｘ１［ｉ］［ｊ］）を形成することは、ＱＰの特定の各値に対し、指数部分のマトリックス内のどの要素も同じ値にすることを含む。ある特徴によれば、指数部分のマトリックス内のどの要素もＱＰ値の周期（Ｐ）に対して同じ値であり、ここでＢｅ（ＱＰ）＝Ｂｅ（Ｐ＊（ＱＰ／Ｐ））である。
【００８６】
本発明の別の特徴は、係数を逆量子化するための方法を含む。しかしながら、この方法は、基本的には上記ステップ１１０及び１１２と同じであるので、簡潔にするために説明は繰り返さない。
【００８７】
係数を量子化するための方法については、説明した通りである。デコーダで必要とされるビット深度を１６ビットまで減少する目的を有するＨ．２６Ｌのビデオ符号化規格に適用される逆量子化と正規化とを組み合わせた手順を示すために、一例を挙げる。本発明の原理は、Ｈ．２６Ｌ内の他の設計目的を満たすのにも使用できる。一般的に、本発明は、正規化と量子化の組み合わせ計算に用途を有する。
【００８８】
本発明の実施例は、ハードウェア、ファームウェア、ソフトウェア、及びその他の実現例によって実現できる。一部の実施例は、汎用計算デバイス又はこれら実施例を実現するのに特別に設計された計算デバイスで実現できる。一部の実施例は、実施例を記憶する手段として、又は計算デバイスでの実施例の実現のためにメモリに記憶してもよい。
【００８９】
本発明のある実施例は、図２に示されるようなビデオ符号化のためのシステム及び方法を含む。これら実施例では、前のビデオフレーム１４５を示すデータを有する１３２から画像データ１３０が減算され、この結果、差分画像１３３が生じ、この差分画像は変換モジュール１３４へ送られる。この変換モジュール１３４は、画像を変換するためのＤＣＴ又はその他の変換方法を使用できる。一般に、この変換方法の結果は係数（Ｋ）となり、この係数は量子化のために量子化モジュール１３６へ送られる。
【００９０】
量子化モジュール１３６は、他の入力、例えば量子化パラメータ（ＱＰ）の設定や、他の入力を行うユーザ入力１３１を有することができる。この量子化モジュール１３６は、ビデオ画像における量子化レベル（Ｌ）を決定するのに、変換係数及び量子化パラメータを使用できる。量子化モジュール１３６は、仮数部分及び指数部分を用いる手法を使用できるが、本発明の実施例の量子化モジュール１３６では、他の量子化方法も使用できる。これら量子化レベル１３５及び量子化パラメータ１３７は、符号化モジュール１３８だけでなく、逆量子化モジュール（ＤＱ）１４０にも出力される。
【００９１】
符号化モジュール１３８への出力は、符号化され、中間復号又は記憶のためにエンコーダの外側へ伝送される。符号化モジュール１３８は、その符号化プロセスで可変長符号化（ＶＬＣ）を使用できる。符号化モジュール１３８は、その符号化プロセスで算術符号化を使用できる。符号化モジュール１３８からの出力は、符号化されたデータ１３９であり、この符号化されたデータは、デコーダへ伝送してもよいし、又は記憶デバイスに記憶してもよい。
【００９２】
量子化モジュール１３６からの出力は、画像の再構成を開始するために逆量子化モジュール１４０でも受信される。この受信は、前のフレームの正確に保持しておくために行われる。逆量子化モジュール１４０は、量子化モジュール１３６とほぼ逆の効果を有するプロセスを実行する。量子化レベル、すなわち値（Ｌ）は逆量子化され、変換係数を発生する。逆量子化モジュール１４０は、これまで説明した仮数部分及び指数部分を用いる手法を使用できる。
【００９３】
逆量子化モジュール１４０から出力される変換係数は、逆変換（ＩＴ）モジュール１４２へ送られ、ここでこれら係数は差分画像１４１へ逆変換される。この差分画像１４１は、次に前の画像フレーム１４５からのデータを組み合わされ、１つのビデオフレーム１４９を形成し、このビデオフレーム１４９は、連続するフレームを参照するためにフレームメモリ１４６へ入力できる。
【００９４】
ビデオフレーム１４９は、動き予測モジュール１４７への入力としても働き、動き予測モジュール１４７は、画像データ１３０も受信する。これら入力は、画像の類似性を予測するのに使用でき、画像データを圧縮するのに利用される。動き予測モジュール１４７からの出力は、動き補償モジュール１４８へ送られ、符号化モジュール１３８からの出力データと組み合わされ、組み合わされた信号は、その後の復号及び最終的な画像を得るために送り出される。
【００９５】
動き補償モジュール１４８は、フレームデータ条件を低減するために予測された画像データを使用し、入力画像データ１３０から当該モジュールの出力が減算される。
【００９６】
本発明のある実施例は、図３に示されるようなビデオ復号のためのシステム及び方法を含む。本発明の実施例のデコーダは、デコーダモジュール１５２への符号化されたデータ１５０を受信でき、この符号化されたデータ１５０は、例えば図２を参照して説明したようなエンコーダ１００により符号化されたデータを含むことができる。
【００９７】
復号モジュール１５２は、符号化プロセスで可変長符号化方法が使用された場合、これに対する可変長復号方法を使用できる。符号化されたデータ１５０のタイプによって決まるその他の復号方法も使用できる。復号モジュール１５２は、基本的には符号化モジュール１３８と逆のプロセスを実行する。復号モジュール１５２からの出力は、量子化パラメータ１５６と量子化値１５４とを含むことができる。その他の出力は、動き予測データ及び画像予測データを含むことができ、これらデータは、直接動き補償モジュール１６６へ送ることができる。
【００９８】
一般に、量子化パラメータ１５６及び量子化値１５４は、逆量子化モジュール１５８へ出力され、この逆量子化モジュール１５８で量子化値は、変換係数へ戻るように変換される。逆量子化モジュール１５８は、本明細書で説明したような仮数部分及び指数部分を用いる手法を使用できる。次に、これら係数は、空間ドメインの画像データ１６１に変換し戻すために逆変換モジュール１６０へ送られる。
【００９９】
動き補償ユニット１６６は、参照画像１６５を構成するために動きベクトルデータ及びフレームメモリ１６４を使用する。
【０１００】
画像データ１６１は、差分画像を示し、この差分画像は、ビデオフレーム１６３を形成するために、前の画像データ１６５と組み合わせなければならない。このビデオフレーム１６３は、更に処理し、ディスプレイし、又は他の目的のために出力（１６８）され、フレームメモリ１６４に記憶してその後のフレームを参照するために使用してもよい。
【０１０１】
図４に示されるような本発明のある実施例では、画像データ１０２をエンコーダ又は符号化部１０４へ送り、本発明の実施例に関してこれまで説明したようなビデオ符号化を代表する種々の変換、量子化、符号化、及びその他の方法を行うことができる。次に、エンコーダからの出力は、コンピュータ読み取り可能な記憶メディア１０６に記憶してもよい。この記憶メディア１０６は、短期間のバッファとして、又は長期記憶デバイスとして作動できる。
【０１０２】
所望する場合、記憶メディア１０６から符号化されたビデオデータを読み出し、デコーダ又は復号部１０８によりデコードし、ディスプレイ又はその他のデバイスへ出力（１１０）することができる。
【０１０３】
図５に示されるような本発明のある実施例では、画像データ１１２をエンコーダ又は符号化部１１４へ送り、本発明の実施例に関してこれまで説明したようなビデオ符号化を代表する種々の変換、量子化、符号化、及びその他の方法を行うことができる。エンコーダからの出力は、次にネットワーク、例えばＬＡＮ，ＷＡＮ，インターネット１１６を通して送ることができる。記憶デバイス、例えば記憶メディア１０６は、ネットワークの一部でよい。符号化されたビデオデータをデコーダ又は復号部１１８により受信し、デコードでき、復号部１１８はネットワーク１１６とも通信する。デコーダ１１８は、その場で視聴する出力画像データ１２０を得るためにデータを復号できる。
【０１０４】
図６に示されるような本発明のある実施例では、量子化方法又は装置は、仮数部１７２及び指数部１７４を含む。双方の部１７２及び１７４には量子化パラメータ１７６が入力される。仮数部１７２には係数Ｋ１７０が入力され、ここで上記のように量子化パラメータ及びその他の値を使って係数が変更される。この演算の結果は、量子化パラメータを使用して指数部で生じた結果と組み合わされ、量子化レベル又は値Ｌ１７８を発生する。
【０１０５】
図７に示されるような本発明のある実施例では、量子化方法又は装置は、仮数部１８２及びシフト部１８４を含む。双方の部１８２及び１８４には量子化パラメータ１８６が入力される。仮数部１８２には係数Ｋ１８０が入力され、ここで上記のように量子化パラメータ及びその他の値を使って係数が変更される。この演算の結果は、量子化パラメータを使用するシフト部で更に処理され、よって量子化レベル又は値Ｌ１８８を発生する。
【０１０６】
図８に示されるような本発明のある実施例は、仮数部１９２及び指数部１９４を備えた逆量子化方法又は装置を含む。双方の部１９２及び１９４には量子化パラメータ１９６が入力される。仮数部１９２は、量子化値、すなわちＬ１９０が入力され、ここで、上記のように量子化パラメータ及びその他の値を使って値が変更される。この演算の結果は量子化パラメータを使用する指数部で更に処理され、よって係数Ｘ１  １９８を発生する。
【０１０７】
図９に示されるような本発明のある実施例は、仮数部２０２及びシフト部２０４を備えた逆量子化方法及び装置を含む。双方の部２０２及び２０４には量子化パラメータ２０６が入力される。仮数部２０２は、量子化値、すなわちＬ２００が入力され、ここで、上記のように量子化パラメータ及びその他の値を使って値が変更される。この演算の結果は量子化パラメータを使用するシフト部で更に処理され、よって係数Ｘ１  ２０８を発生する。
【０１０８】
本発明のある実施例はコンピュータで読み取り可能な媒体（メディア）、例えば磁気メディア、光メディア、及びその他のメディアだけでなく、これらメディアの組み合わせに記憶できる。一部の実施例は、信号としてネットワーク及び通信メディアを横断するように伝送してもよい。これら伝送及び記憶動作は、本発明の実施例の作動の一部として行われてもよいし、また宛て先へ本実施例を伝送する方法として行われてもよい。
【０１０９】
当業者であれば、本発明のその他の変形例及び実施例について思いつくことができよう。
【図１】
2010035192.tif 000025
【図２】
2010035192.tif 000026
【図３】
2010035192.tif 000027
【図４】
2010035192.tif 000028
【図５】
2010035192.tif 000029
【図６】
2010035192.tif 000030
【図７】
2010035192.tif 000031
【図８】
2010035192.tif 000032
【図９】
2010035192.tif 000033