"画像ブロックについてのビデオ信号データを符号化するためのエンコーダであって、前記画像ブロックについての変換係数を受け取って、前記変換係数を量子化レベルに量子化するための量子化器と、前記量子化レベルを再構築レベルに逆量子化するための逆量子化器と、を備え、特定の位置で前記逆量子化器によって使用される丸めパラメータが前記特定の位置での前記量子化レベルによって決定される、前記エンコーダ。画像ブロックについてのビデオ信号データを符号化する方法であって、前記画像ブロックについての変換係数を受け取るステップと、前記変換係数を量子化レベルに量子化するステップと、前記量子化レベルを再構築レベルに逆量子化するステップと、を含み、特定の位置で逆量子化を行うために使用される丸めパラメータが前記特定の位置での前記量子化レベルによって決定される、前記方法。画像ブロックについてのビデオ信号データを復号するためのデコーダであって、前記画像ブロックについての量子化レベルを受け取って、前記量子化レベルを再構築レベルに逆量子化する逆量子化器を備え、特定の位置で前記逆量子化器によって使用される丸めパラメータが前記特定の位置での前記量子化レベルによって決定される、前記デコーダ。画像ブロックについてのビデオ信号データを復号する方法であって、前記画像ブロックについての量子化レベルを受け取るステップと、前記量子化レベルを再構築レベルに逆量子化するステップと、を含み、特定の位置で逆量子化を行うために使用される丸めパラメータが前記特定の位置での前記量子化レベルによって決定される、前記方法。本発明は、ビデオエンコーダおよびデコーダにおける量子化のための方法および装置を対象とする。変換ベースの画像およびビデオ符号化ではAC係数がそれらの分布において0の周りではっきりした集中を有する傾向があることを考慮して、良好なレート歪み性能を達成する試みとしてデッドゾーン量子化が使用される。デッドゾーン量子化方法の設計は通常、係数がラプラスまたはガウス正規分布に従うと仮定して実施される。残念ながら、ほとんどの場合、区分的分布対応する各量子化区間に関しては考慮されず、その結果として性能が低下する可能性がある。さらに、設計は主に客観的測定値に基づき、これはさらに、視覚的アーチファクト、および主観的品質のかなりの低下につながる可能性がある。本発明の原理によれば、デッドゾーンパラメータを画像特性、量子化ステップサイズ、および再構築レベルに応じて適応的に選択することを通して、主観的品質の改善、また多くの場合に客観的品質の改善をも可能にすることのできるいくつかの方法が提供される。これらの方法のいくつかはエンコーダ内での考慮のみを必要とするが、その他の方策はデコーダ設計にも影響し、符号化済みビットストリーム内に追加の情報が存在する必要がある。本記述には、本発明の原理を示す。従って、本明細書に明示的に記述または図示されていなくても、当業者なら、本発明の原理を組み入れておりその趣旨および範囲に含まれる様々な構成を考案できることになることは理解されるであろう。本明細書に挙げるすべての例および要件的な用語は、本発明の原理と、当技術を推進するために本発明者によって寄与される概念とを読者が理解するのを助けるための教授目的に向けられており、また、これらの例および条件言語は、このような具体的に挙げる例および条件に限定されないものと解釈されるべきである。さらに、本明細書における、本発明の原理、実施形態、実施例、ならびにその具体例を挙げるすべての言明は、その構造上と機能上の両方の均等物を包含するものとする。加えて、このような均等物は、現在知られている均等物と将来開発される均等物の両方、すなわち構造にかかわらず同じ機能を実施する任意の開発された要素を含むものとする。従って例えば、本明細書に提示するブロック図が、本発明の原理を組み入れた例示的な回路の概念図を表すことは、当業者には理解されるであろう。同様に、どんなフローチャート、流れ図、状態遷移図、擬似コードなども、コンピュータ可読媒体中でほぼ表すことができコンピュータまたはプロセッサによってそうしたコンピュータまたはプロセッサが明示的に示されていなくてもそのように実行することのできる様々なプロセスを表すことは理解されるであろう。図に示す様々な要素の機能は、専用ハードウェアを使用して、ならびに適切なソフトウェアと共にソフトウェアを実行することのできるハードウェアを使用して、提供することができる。プロセッサによって提供されるときは、これらの機能は単一の専用プロセッサ、単一の共有プロセッサ、または複数の個別プロセッサそのいくつかは共有されてよいによって提供される。さらに、用語プロセッサまたはコントローラの明示的な使用は、ソフトウェアを実行することのできるハードウェアのみを指すものと解釈すべきではなく、限定ではないがディジタル信号プロセッサDSPハードウェア、ソフトウェア記録用の読取り専用メモリROM、ランダムアクセスメモリRAM、および不揮発性記憶装置を暗黙的に含むことがある。従来型および/または特注の、その他のハードウェアを含めることもできる。同様に、図に示すどんなスイッチも概念的なものに過ぎない。これらの機能は、プログラムロジックの操作を通して、専用ロジックを通して、プログラム制御と専用ロジックの対話を通して、あるいは手動でも実施することができ、特定の技法は、コンテキストからより具体的に理解されるように、実施者によって選択可能である。本明細書の特許請求の範囲では、指定された機能を実施するための手段として表現されるどんな要素も、その機能を実施するための任意の方式を包含するものとし、例えば、aその機能を実施する回路要素の組合せ、またはb任意の形式のソフトウェア従ってそのソフトウェアを実行してその機能を実施するための適切な回路と組み合わせられたファームウェアやマイクロコードなどを含むがこれに含まれる。このような特許請求の範囲によって定義される本発明は、列挙される様々な手段によって提供される機能が、特許請求の範囲の要求する方式で組み合わせられ集められるということに存する。従って、これらの機能を提供することのできるどんな手段も、本明細書に示すものと等価であるとみなされる。本発明の原理により、デッドゾーンや、レベルごとの量子化領域や、量子化重み付け行列など、変換ベースの画像またはビデオエンコーダ内で使用することのできる量子化パラメータを、自動計算するための装置および方法の様々な実施形態を述べる。また、デコーダに送信することができ、量子化プロセス内で追加のフレキシビリティを提供して主観的および/または客観的品質を改善することができる、新しい量子化オフセッティング行列のセットも開示する。この主題に関するほとんどの研究では、変換ベースのコーデックにおけるAC係数分布はラプラスである傾向があることが主張されている。H.264コーデック内でもこの仮定に従うが、これは量子化プロセスの設計に特に影響する傾向がある。特に、係数WについてのH.264参照ソフトウェア内でのデッドゾーニングプロセスは、以下のように固定の丸め係数fを考慮して実施される。上式で、Zはマッピングされる量子化レベルであり、Δは量子化ステップサイズである。fを減少させると、再構築値0の周りのデッドゾーンエリアは本質的に増大し、また他のすべてのレベルでは、量子化領域はfに従って等しくシフトされる。このプロセスは、図2Aおよび図2Bでよりよくわかる。このようなラプラス分布を近似する試みとして、fは、イントラスライスではΔ/3に等しく選択され、インタースライスではΔ/6に等しく選択された。図2Aおよび2Bに目を向けると、ステップサイズがΔでありそれぞれf=Δ/2およびf=Δ/4である一様量子化器での、入力信号Wと逆量子化再構築された出力信号W’との関係が、参照番号200および250でそれぞれ一般的に示されている。しかし、この主張は常に当てはまるわけではなくコンテンツおよび係数に大きく依存することを観察することができる例えば図4~16B参照。図4には、高テクスチャSDシーケンスについてのイントラ変換4×4係数分布が、参照番号400で一般的に示されている。図5には、このシーケンスについてのレベル1QP30の周りのイントラ係数分布が、参照番号500で一般的に示されている。図6に、レベル1の周りの上記の係数分布の誤差寄与を示すが、これは参照番号600で一般的に示されている。しかし、図7に、このシーケンスでより小さい量子化器QP24を使用したレベル1の周りのイントラ係数分布を示すが、このイントラ係数分布は参照番号700で一般的に示されている。図6と同様、図8に、レベル1の周りの上記の係数分布の誤差寄与を示すが、これは参照番号800で一般的に示されている。図9には、この高テクスチャSDシーケンスについてのインター変換4×4係数分布が、参照番号900で一般的に示されている。この分布について、図10にレベル1QP24の周りの分布を示すが、これは参照番号1000で一般的に示されている。図11に移ると、レベル1の周りの上記の係数分布の誤差寄与が、参照番号1100で一般的に示されている。比較として、次に図12に移ると、低テクスチャQCIFシーケンスについてのイントラ変換4×4係数分布が、参照番号1200で一般的に示されている。図13には、このシーケンスについてのレベル1QP24の周りのイントラ係数分布が、参照番号1300で一般的に示されている。図14に、レベル1の周りの上記の係数分布の誤差寄与を示すが、これは参照番号1400で一般的に示されている。図15には、この低テクスチャQCIFシーケンスについてのインター変換4×4係数分布が、参照番号1500で一般的に示されている。この分布について、図16Aにレベル1QP24の周りの分布を示すが、これは参照番号1600で一般的に示されている。図16Bに移ると、レベル1の周りの上記の係数分布の誤差寄与が、参照番号1650で一般的に示されている。これらの図では、各変換係数ごとの適切なスケーリングも考慮されたことに留意されたい。図12~16Bに示したQCIFシーケンスなど、解像度およびディテールの低いコンテンツの場合、係数の分布はラプラスに近いかもしれないが、ある係数から別の係数までに大きな差があることを観察することができる。ラプラス分布を仮定すると、より高次の係数は、より低次の係数よりも速く減衰する傾向があるより小さい減衰率λ、またはより大きい分散。このことは直ちに、複数の周波数にまたがって同様の分布モデルを仮定するのではなく、係数をそれらの次数に従って異なる仕方で扱う必要があることを示唆する。これは、高解像度のコンテンツ、特に、ノイズ例えばフィルムグレインノイズを含む可能性もあるフィルムまたは高テクスチャコンテンツではより一層明白になり、係数分布に大きく影響する可能性がある図4~11。このようなノイズは、サンプル間の低度から中度の分散としてそれ自体を表す傾向があり、この分散自体が、分布をガウスにより近い状態にする。明らかに、固定の丸めパラメータfをH.264参照ソフトウェアによって使用されるように使用した場合、このようなパラメータが周波数に従って修正されるとしても、この種の分布は正しく考慮されず、その結果、量子化プロセスは最適でなくなる。特に低度から中度の量子化パラメータ非常に高度から中度のビットレートに対応するでは、ある量子化レベル内およびその付近ならびに特にレベル1の周りの区分的分布は、場合により一様になるかまたは一様に近くなる可能性があることが、実際に観察される図5、7、10、13。これらの条件の下では、fの選択はかなりクリティカルになり得る。というのは、デッドゾーンが不適切に大きいと必要以上の係数が0に量子化される可能性があり、これは、客観的品質の低下、およびより大きな主観的品質の低下につながる可能性があるからである。この問題は、H.264の場合、ベースライン、メイン、拡張プロファイルが整数4×4変換の使用だけしか許容しないことを考えると、よりクリティカルである傾向がある。4×4変換は、ブロッキングおよびリンギングアーチファクトの低減やビットイグザクトbitexact実装など、いくつかの非常に優れたプロパティを有する傾向があるものの、8×8変換よりも低い無相関化プロパティを有し、また量子化決定の影響をより受けやすい。特に、量子化器値QP26を使用して以下のブロックの量子化を実施したいと仮定するfはΔ/2に等しいと考える。この場合、量子化プロセスは以下の結果となる。元のブロックは高い垂直アクティビティおよび低い水平アクティビティによって記述され、QPはそれほど高くないが、再構築されたブロック中のすべての水平アクティビティは失われることに、すぐに気付く。この特定のブロックの平均二乗誤差MSEは比較的低い7.625が、このプロセスの主観的影響は、このブロックの知覚的特性が激しく改変されたことを考えると、いくぶん重い可能性がある。より具体的には、再構築後のブロックは、元のブロックと比較していくぶん構造化される傾向があり、従って、見る者にとってより目立ち不快となることが観察される。上記は、量子化プロセスの直接的な結果であり、特に、係数をレベル1ではなくレベル0に割り当てた結果である。水平または垂直のすべての係数が0に設定された場合は、得られる結果は上記のようになる。しかしこのような結果は、影響を受ける次元におけるいくつかの係数少なくとも1つを、強いて選択的にレベル0ではなく1にすることによって、回避することができる。このようなプロセスは様々な方式で実施することができる。まず初めに、このようなプロセスが必要か否かを判定する必要がある。特に、このような特性は、列方向または行方向の分散すなわちブロック中のすべての行または列についての分散の合計が比較的小さい場合に生じる傾向がある。このような値は、以下のように計算することができる。上式で、xi,jは、それぞれ行および列iおよびjのピクセル値に対応する。T1<column_sVar<T2、またはT3<row_sVar<T4が満たされる場合は、このような特性を考慮するように量子化プロセスを改変することができる。さらに、マクロブロックまたはブロック全体の分散は、以下のように考慮することができる。上式で、BvおよびBhは、それぞれブロックの高さおよび幅である。より具体的には、blockVarが異なる値領域に対応する場合、または値T1、T2、T3、T4を相応に適応させることができる場合例えばblockVarに応じたテーブルルックアップを使用しては、異なる処理を適用することができる。画像全体についてのAC係数の分布統計だけを収集するのではなく、種々の特性を有する領域についての分布も追加で収集することができ、より正確で精緻化された量子化プロセス適応を可能にすることが、実際には推奨される。4×4変換内で必要に応じて人為的に水平または/および垂直分散を導入するための、いくぶん単純な方法は、位置1,0または/および0,1におけるAC係数がレベル1に設定される確率を強制するかまたは増加させることである。これは、元のf値を使用してこれらの係数が元々0であったことがわかった場合にのみこれらの係数の値fを増加させることによって行うことができる。例えば、上記の特性が満たされる場合垂直または水平分散であって、可能なら1,0係数を維持することが望まれると仮定した場合、以下のプロセスを実施することができる。係数W1,0の準備レベルを以下のように計算する。上式で、f1は準備丸めパラメータである。であって上記の条件が満たされる場合は、最終レベルZ1,0は以下のように計算される。上式で、f2f2>f1は、この係数がレベル1でマッピングされる優先度を高めるようにして選択される。この実施形態は、いくつかの場合では主観的品質を改善することができるが、他の場合では主観的品質を損なうことがあり、また客観的品質に対する影響を全く考慮しない。別の手法は、最初にすべての係数について準備量子化を実施することである。これは基本的に、以下のような変換行列wおよび準備量子化行列をもたらすことになる。j>0であるすべての列で、が0の場合、または/およびi>0ですべてのが0の場合は、これらのの間で、提供されるコストの点から見てレベル1に設定するのが最もよい係数が見つかる。これは、最小化問題であり、以下のように関数Jの最小値レート歪み最適化技法に類似するを見つける必要がある。Distortioni,jは、以下のような種々の歪みメトリックスを使用して設定することができる。Costi,jは、1つの係数を修正するための実際のビットレートコストを表すことができ、さらには、走査順で最後の非0の係数からの距離に等しいものとすることもでき、以下の行列形式で記述することができる。水平と垂直の両方の係数を変更する必要がある場合すなわちDCを除いたすべての係数が0に量子化された場合は、他方の次元が0である水平または垂直の係数すなわち0,jまたはi,0における係数を改変することからの合同コストを考慮する必要があり、一方、iとjが両方とも0よりも大きい位置i,jにおける単一の係数を修正することは、両方の次元に直接に影響を有することになり、単一のコストを使用することができることに留意されたい。4×4よりも大きい変換すなわち8×8でも、同様の手法に従うことができる。例えば8×8変換の場合、単一の水平または垂直係数だけでなく、これらのうちの2つを維持することが望ましいことがある。というのは、そうすることによって元のテクスチャをより現実的に再構築/表現することができるからである。このような場合、2つまたはそれ以上の係数の選択は、やはり合同ですべての可能な組合せを調べることによって実施する必要があり、あるいは単純にするために、最初に各係数を別々に最適化することを試みることもでき、各ステップで、前の係数修正をコストプロセス内で考慮する。必要なら、4×4の場合に、より多くの係数を同様にして維持することもできる。より具体的には、このプロセスは以下のように実施することができる。変換行列Wおよび準備量子化行列は、この場合もやはり以下のように計算される。に基づいて、単一の係数をレベル0からレベル1に変更するためのコスト行列が計算される。次いで、最小のRDベースのコストを有する係数、すなわちが修正される。この結果、以下の新しい行列Z’がもたらされる。修正すべき第2の係数もやはり、Ji,j=Distortioni,jλCosti,jなどの基準を使用して選択され、この場合、Costi,jは新しいレベル行列Z’に基づいて計算される。このプロセスを、維持する必要のある追加の係数の数に応じて必要なだけ繰り返すことができる。上記の方法を使用して、いくつかの場合に主観的品質をいくらか改善することができるが、代替方法を利用することもできる。この代替方法は、係数分布に基づいてf2をよりよく選択し、生成される歪みを最小限に抑えることによって、主観的と客観的の両方の品質を改善することができる。前と同様、係数W1,0の準備レベルは、やはり以下のように計算される。上式で、f1は準備丸めパラメータである。=0であって上記の条件が満たされる場合は、最終レベルZ1,0は以下のように計算される。上式で、f2f2>f1は、この係数がレベル1でマッピングされる優先度を高めるようにして選択される。この場合、f2は、係数の分布を調べることによって計算することができる。このような分布は、現在データの事前分析を実施することによって収集することができ、あるいは、現在分布が同タイプの符号化済みブロック現在または前のピクチャの分布と同様のプロパティを有することになると仮定することによって収集することができる。準備レベルがであると仮定すると、このレベルの周りの分布エリアを計算することができる。これは、分布の正確な統計を考慮することによって、あるいはモデルベースの方法を使用することによって例えばラプラスまたはガウス分布モデルの使用行うことができる。所与の分布領域について最適な量子化点を決定するための通常の方法では、分布のほぼ中央点すなわち分布を2つの等サイズのエリアに分割する点として選択することができる。この中央点は、区分的分布がほぼ区分的線形であると仮定することによる近似であることに留意されたい。より正確な方策は、ロイドマックスLloydMax法を使用して、誤差を最小限にする点を見つけることである。区分的線形分布を作ることにより、以下のように直角台形すなわち2つの直角を有する台形からのプロパティを使用して図17に見ることができるf2を計算することができる。図17に目を向けると、直角台形を使用したfの計算が、参照番号1700で一般的に示されている。また、以下の式もある。fと平方根内の値は両方とも正である必要があることに留意されたい。わずかにより複雑ではあるが、シンプソン法や3/8法など、その他の算術積分法を台形法の代わりに使用することもできる。しかし、正確さは劣るがより単純な方策の1つは、最初にx-=x=Δに設定することによって、まずエリアおよびを、およびからそれぞれ計算することである。次いでが選択されるが、これは最適ではないものの十分によい解である。x-=2×f2であり、x=2×1-f2であることに留意されたい。この方法は、係数を主観的に最適化する前述の方法と組み合わせてもよいが、ただしその場合は、そのプロセスにおけるは、新しいf2値に基づいて計算される。しかし、上記の方法は、量子化された各値によって被る歪みを慎重に考慮しない。エリア計算は、被る歪みをほぼ等しく仮定して行われる。この代わりに、より適切な方法は、このような計算の内で実際の歪みを考慮することであろう。すなわち、エリアおよびは、以下のように、よりよく計算されるはずである。上式で、は、再構築された値とxとの間の歪みメトリックとすることができ、平方誤差すなわちや、絶対誤差すなわちなどとすることができる。frequencyxは、xに等しい値の係数の数に対応する。この場合もやはり、我々の目標は、を作ることである。このようなプロパティを達成するための単純な方法は、最初にを使用しておよびを計算し、fをゆっくりと減少させることによって、このような条件またはの形式の条件が満たされる最初の位置を見つけることであろう。このプロセスを実施するための単純なアルゴリズムは、以下のとおりとすることができる。ステップ1:に設定する。およびを計算する。ステップ2:の場合はプロセスを終了する。ステップ3:f=f-1に設定する。f=0の場合は、f=1に設定してプロセスを終了する。ステップ4:およびに設定する。ステップ2に行く。上記の方法は性能客観的または主観的、あるいは両方を改善することができるが、より高いレベルを人為的に導入するこの方法は、元の信号と正確に合致しないことにもなるので、常に望ましいとは限らない。このために、従来技術では、ある間隔ですなわちスライスごとにビットストリーム内で送信でき、すべての係数の再構築値の平行移動シフトを基本的に導入する、Θパラメータが導入された図3参照。図3に目を向けると、量子化プロセス内でのΘ=Δ/4の影響が、参照番号300で一般的に示されている。図3に関して、f=Δ/4と仮定する。これは、いくつかの係数が0レベルから1レベルに選択的に調節される本発明と似ている。しかし、従来技術では、デコーダがこのような調節を自覚して係数をより正確に再構築できるように、コーデック規格に対する変更が必要とされるが、これは本発明では不要なので、本発明とは異なる。従来技術で提案された方法は、AC係数がDC係数を含めていくぶん異なる分布を有する傾向があることを考慮しない。そうではなく、よりよい手法は、ビットストリームと共に送信される行列Θを設計することであろう。これにより、異なる係数ごとにより細かい精緻化が可能になる。この手法は、従来技術によりH.264およびその他のコーデック内で量子化行列が考慮されるのによく似ている。H.264FRExt仕様では、現在、12個の異なる量子化重み行列が許容されており、これらは基本的に、変換サイズ4×4対8×8、色成分Y、U、V、および予測タイプイントラ対インターによって分けられる。というのは、これらは、いくぶん異なる分布特性を含むことのできる基本構成要素だからである。同様に、ここでは12個の異なる量子化オフセッティング行列を定義することができ、これらは、スケーリングの代わりに再構築レベルをシフトする。マクロブロック適応フレーム‐フィールド符号化だけに利用可能である必要があり、フィールドとフレームのマクロブロックを区別することになる、追加の行列を加えることが望ましい場合もある。しかし、すべての再構築値をシフトすることができるものの、最も重要な再構築値はレベル1に関連するものであることが観察される。このことは、RD性能の点では、再構築されるレベルがレベル1である場合はΘパラメータだけを考慮する方がよいことを示唆する。特に、従来技術では、再構築値は以下のように計算できることが言及された。上式で、Vijパラメータは、逆変換プロセスから生じ、量子化器値QPに関係する。我々の場合では、はここで、以下のようにΘが今や係数位置に依存することも考慮して計算することができる。別の代替方法は、以下のようにΘをレベルに応じて修正することであろう。例えば、gΘij,Zij=Θij>>Zij-1を使用することができる。Θを計算するために、f2の計算の場合と同様の手法を使用することができる。ここでの考えは、分布の点から見た中央値に対応する量子化区間Δ内の位置を見つけることであり、あるいは基本的には、Δを2つの等しいエリア領域に分割することにつながる図18参照。図18に目を向けると、メジアン選択エリア等化によるΘの選択に関するプロットが、参照番号1800で一般的に示されている。これは手動で行うこともできすなわち全エリアを計算し、次いでエリアを半分に分割する点を見つける、あるいはモデル分布を考慮して積分計算を実施することによって行うこともでき、あるいは単純な算術方法を考慮することによって行うこともできる。特に、図18から、我々の区分的分布は、図19からわかるようにやはり直角台形に類似することが、この場合にも観察される。図19に目を向けると、直角台形を使用したΘの計算に関する図が、参照番号1900で一般的に示されている。この場合、全エリアは以下のように計算することができる。点x=Δ/2Θは、エリアが2つの等しいエリア領域A/2に分割されるような点として見つかることになる。すなわちである。しかし、h3は、相似三角形プロパティにより、以下の式にも等しい。従って、上式のh3を置き換えると、以下の結果になる。⇒負の符号はほとんど意味をなさないので、次いで以下の式になる。Aも置き換えると、以下の式が得られる。Θはまた、fの計算で行われたのと同様に、実際の歪みおよび係数頻度を考慮することによって計算することもできる。ただしこの場合は、fを変化させる代わりに、第1の再構築値を変化させる必要がある。すなわち、意図するところは、のような再構築値を見つけることである。これもやはり、fの場合と同様の方策を使用して、以下のように行うことができる。ステップ1:、Θ=0に設定する。ステップ2:およびを計算する。ステップ3:の場合はプロセスを終了する。ステップ3:Θ=Θ1に設定する。の場合はプロセスを終了する。ステップ4:ステップ2に行く。性能およびΘ値の計算をさらに改善するために、0に設定される係数の数を考慮してもよい。具体的には、特定のAC係数、すなわち強制的に0にされる位置i,jのAC係数のパーセンテージを制限することが望ましい場合がある。パーセンテージは、マクロブロックのセット、スライス、ピクチャ、GOPのレベルで、あるいはシーケンスレベルでも計算することができる。このような決定は、事前定義済みのパーセンテージ値をエンコーダにおいて提供することによって暗黙的に行うこともでき、あるいは、値が0に設定される場合には分散や歪みなど、シーケンスに関するある種の統計を考慮することによって、自動的に行うこともできる。現在の分布モデルを使用するとこのパーセンテージをかなり超過することを分布が示唆する場合は、Θの値をさらに増加させて品質を改善するのが最良であろう。このプロパティを考慮する単純な方法は、0レベルについてこのパーセンテージ関係を満たす係数値を見つけ、上記のΘ計算で使用されるΔ値を相応に増加させることである。例えば、0が位置yy<Δ/2でパーセンテージXを満たすと仮定すると、に等しい新しいΔ’を使用して、以下のようにΘが計算される。Θはまた、必要なら、a≦Θ<bなどのように制約することもできる例えば、aは0に設定することができ、b=Δ/2に設定することができる。直角台形エリア計算を使用してまた、f2を計算するのに必要なおよびのエリアの近似を、これらのエリア内の分布の完全な積分を実施する必要なしに実施することもできることに留意されたい。一般に、台形近似は、これらのエリアを計算するためにどんな間隔でも使用することができる。最後に、分布はまた、量子化重み付け行列の計算に使用することもできる。重み係数が知覚的分析に基づいてすでにわかっていると仮定すると、重み付け係数はまた、すべての係数について分布を等化しようとすることによってスケーリングすることができる。これは、次のことを考慮することによって実施することができる。すなわち、a各係数の最大値、および、所与の値と比較した例えばDCと比較したその比率の計算、b0から開始する分布の指定パーセンテージ例えば95内の各係数の利用可能な最大値、c0から開始する分布の別個の指定パーセンテージPi,j内の各係数の利用可能な最大値である。すべての係数の分布を考慮することもできるが、通常は、主観的品質の点から見てどの領域がより重要であると考えられるか通常は低分散特性を有する領域を決定して、それらの領域だけをこのような計算に使用する方がよい。しかし、このようにすると残りの領域についての性能を損なう可能性もあり、従って代替方法は、画像全体と各領域とについて別々にこれらの計算を実施してからこれらの結果を結合してすなわち、各領域の重要度、つまり主観的影響や出現数などに基づく、重み付き平均法、最終的な重み付け行列を計算することであろう。図20に移ると、ピクチャレベルでの変換統計に基づく量子化の方法が、参照番号2000で一般的に示されている。方法2000は、画像データの符号化に関して実施される。開始ブロック2005は、制御を機能ブロック2010に渡す。機能ブロック2010は、分布配列を初期化し、制御をループ境界ブロック2015に渡す。ループ境界ブロック2015は、ピクチャ符号化ループを開始し、制御を機能ブロック2020に渡す。機能ブロック2020は、符号化の準備として、ピクチャレベル量子化パラメータの決定や、ピクチャ決定の実施などを行い、制御をループ境界ブロック2025に渡す。ループ境界ブロック2025は、マクロブロック符号化ループを開始し、制御を機能ブロック2030に渡す。機能ブロック2030は、処理中の現在マクロブロックの量子化パラメータを決定/選択し、制御をループ境界ブロック2035に渡す。ループ境界ブロック2035は、予測モードループを開始し、制御を機能ブロック2040に渡す。機能ブロック2040は、現在マクロブロックについてイントラまたはインター予測を実施し、制御をループ境界ブロック2045に渡す。ループ境界ブロック2045は、すべての4×4ブロック処理中の現在マクロブロック中のについて変換ループを開始し、制御を機能ブロック2050に渡す。機能ブロック2050は、処理中の現在4×4ブロックの変換を実施し、制御を機能ブロック2055に渡す。機能ブロック2055は、1/2のオフセットを使用して現在4×4ブロックを量子化して、あらゆる変換係数についてleveli,jを取得し、制御を機能ブロック2060に渡す。機能ブロック2060は、分布配列をチェックして、leveli,j量子化パラメータおよびi,jに基づいて最適なオフセットfi,jを決定し、制御を機能ブロック2065に渡す。機能ブロック2065は、fi,jを新しいオフセットとして使用して位置i,jにおける係数を再量子化し、制御をループ境界ブロック2070に渡す。ループ境界ブロック2070は、変換ループを終了し、制御をループ境界ブロック2075に渡す。ループ境界ブロック2075は、予測モードループを終了し、制御を機能ブロック2080に渡す。機能ブロック2080は、分布配列を更新し、制御をループ境界ブロック2085に渡す。ループ境界ブロック2085は、MB符号化ループを終了し、制御をループ境界ブロック2090に渡す。ループ境界ブロック2090は、ピクチャ符号化ループを終了し、制御を終了ブロック2095に渡す。図21に移ると、領域の考慮に基づく量子化の方法が、参照番号2100で一般的に示されている。方法2100は、画像データの符号化に関して実施される。開始ブロック2105は、制御を機能ブロック2110に渡す。機能ブロック2110は、分布配列を初期化し、制御をループ境界ブロック2115に渡す。ループ境界ブロック2115は、ピクチャ符号化ループを開始し、制御を機能ブロック2120に渡す。機能ブロック2120は、符号化の準備として、ピクチャレベル量子化パラメータの決定や、ピクチャ決定の実施などを行い、制御を機能ブロック2122に渡す。機能ブロック2122は、コンテンツに基づいて例えば領域セグメント化方式を使用して場面を分析し、制御をループ境界ブロック2125に渡す。ループ境界ブロック2125は、マクロブロック符号化ループを開始し、制御を機能ブロック2130に渡す。機能ブロック2130は、処理中の現在マクロブロックの量子化パラメータを決定/選択し、現在マクロブロックに対応する領域を決定し、制御をループ境界ブロック2135に渡す。ループ境界ブロック2135は、予測モードループを開始し、制御を機能ブロック2140に渡す。機能ブロック2140は、現在マクロブロックについてイントラまたはインター予測を実施し、制御をループ境界ブロック2145に渡す。ループ境界ブロック2145は、すべての4×4ブロック処理中の現在マクロブロック中のについて変換ループを開始し、制御を機能ブロック2150に渡す。機能ブロック2150は、処理中の現在4×4ブロックの変換を実施し、制御を機能ブロック2155に渡す。機能ブロック2155は、1/2のオフセットを使用して現在4×4ブロックを量子化して、あらゆる変換係数についてleveli,jを取得し、制御を機能ブロック2160に渡す。機能ブロック2160は、対応する領域について分布配列をチェックして、leveli,j量子化パラメータおよびi,jに基づいて最適なオフセットfi,jを決定し、制御を機能ブロック2165に渡す。機能ブロック2165は、fi,jを新しいオフセットとして使用して位置i,jにおける係数を再量子化し、制御をループ境界ブロック2170に渡す。ループ境界ブロック2170は、変換ループを終了し、制御をループ境界ブロック2175に渡す。ループ境界ブロック2175は、予測モードループを終了し、制御を機能ブロック2180に渡す。機能ブロック2180は、対応する領域の分布配列、および利用可能なら大域的な配列を更新し、制御をループ境界ブロック2185に渡す。ループ境界ブロック2185は、MB符号化ループを終了し、制御をループ境界ブロック2190に渡す。ループ境界ブロック2190は、ピクチャ符号化ループを終了し、制御を終了ブロック2195に渡す。図22に移ると、最適化された量子化のために変換係数を考慮することを伴うエンコーダが、参照番号2200で一般的に示されている。エンコーダ2200への入力は、領域分析および統計モジュール2210の第1の入力、加算器2215の反転入力、および動き補償器2220の第1の入力と信号通信で接続される。加算器2215の出力は、変換器2225の入力と信号通信で接続される。変換器2225の第1の出力は、領域分析および統計モジュール2210の第2の入力と信号通信で接続される。領域分析および統計モジュール2210の出力は、事前量子化器2230の第1の入力と信号通信で接続される。事前量子化器2230の出力は、量子化器2235の第1の入力と信号通信で接続される。変換器2225の第2の出力は、量子化器2235の第2の入力と信号通信で接続される。変換器2225の第3の出力は、事前量子化器2230の第2の入力と信号通信で接続される。量子化器2235の出力は、可変長コーダVLC2240の第1の入力、および逆量子化器2245の入力と信号通信で接続される。VLC2240の出力は、エンコーダ2200の出力として利用可能である。動き補償器2220の第1の出力は、加算器2215の非反転入力、および加算器2255の第1の入力と信号通信で接続される。動き補償器2220の第2の入力は、動き推定およびモード決定モジュール2250の第1の出力と信号通信で接続される。逆量子化器2245の出力は、逆変換器2260の入力と信号通信で接続される。逆変換器2260の出力は、加算器2255の第2の入力と信号通信で接続される。加算器2255の出力は、ループフィルタ2275の入力と信号通信で接続される。ループフィルタ2275の出力は、ピクチャ参照ストア2270の入力と信号通信で接続される。ピクチャ参照ストアの出力は、動き補償器2220の第3の入力、ならびに動き推定およびモード決定モジュール2250の入力と信号通信で接続される。動き推定およびモード決定モジュール2250の第2の出力は、VLC2240の第2の入力と信号通信で接続される。図23に移ると、最適化された量子化のためにシータパラメータおよび変換係数を考慮することを伴うエンコーダが、参照番号2300で一般的に示されている。エンコーダ2300への入力は、領域分析および統計モジュール2310の第1の入力、加算器2315の反転入力、および動き補償器2320の第1の入力と信号通信で接続される。加算器2315の出力は、変換器2325の入力と信号通信で接続される。変換器2325の第1の出力は、領域分析および統計モジュール2310の第2の入力と信号通信で接続される。領域分析および統計モジュール2310の第1の出力は、事前量子化器2330の第1の入力と信号通信で接続される。事前量子化器2330の出力は、量子化器2335の第1の入力と信号通信で接続される。変換器2325の第2の出力は、量子化器2335の第2の入力と信号通信で接続される。変換器2325の第3の出力は、事前量子化器2330の第2の入力と信号通信で接続される。量子化器2335の出力は、可変長コーダVLC2340の第1の入力、および逆量子化器2345の入力と信号通信で接続される。VLC2340の出力は、エンコーダ2300の出力として利用可能である。動き補償器2320の第1の出力は、加算器2315の非反転入力、および加算器2355の第1の入力と信号通信で接続される。動き補償器2320の第2の入力は、動き推定およびモード決定モジュール2350の第1の出力と信号通信で接続される。逆量子化器2345の出力は、逆変換器2360の入力と信号通信で接続される。逆変換器2360の出力は、加算器2355の第2の入力と信号通信で接続される。加算器2355の出力は、ループフィルタ2375の入力と信号通信で接続される。ループフィルタ2375の出力は、ピクチャ参照ストア2370の入力と信号通信で接続される。ピクチャ参照ストアの出力は、動き補償器2320の第3の入力、ならびに動き推定およびモード決定モジュール2350の入力と信号通信で接続される。動き推定およびモード決定モジュール2350の第2の出力は、VLC2340の第2の入力と信号通信で接続される。領域分析および統計モジュール2310の第2の出力は、シータ導出モジュール2380の入力と信号通信で接続される。シータ導出モジュール2380の第1の出力は、逆量子化器2345の第2の入力と信号通信で接続される。シータ導出モジュール2380の第2の出力は、事前量子化器2330の第3の入力、量子化器2335の第3の入力、およびVLC2340の第3の入力と信号通信で接続される。図24に移ると、デコーダが参照番号2400で一般的に示されている。デコーダ2400の入力は、シータ導出モジュール2480の入力、および可変長デコーダVLD2440の入力と信号通信で接続される。シータ導出モジュール2480の第1の出力は、逆離散コサイン変換IDCTモジュール2499の第1の入力と信号通信で接続される。VLD2440の第1の出力は、動き補償器2420の第1の入力と信号通信で接続される。VLD2440の第2の出力は、量子化器2435の入力と信号通信で接続される。量子化器2435の出力は、IDCTモジュール2499の第2の入力と信号通信で接続される。ICDTモジュール2499の出力は、加算器2488の第1の入力と信号通信で接続される。動き補償器2420の出力は、加算器2488の第2の入力と信号通信で接続される。加算器2488の出力は、ループフィルタ2477の入力と信号通信で接続される。ループフィルタ2477の出力は、フレームバッファ2466の入力と信号通信で接続される。フレームバッファ2466の第1の出力は、動き補償器2420の第2の入力と信号通信で接続される。フレームバッファ2466の第2の出力は、デコーダ2400の出力として利用可能である。次に、本発明の様々な例示的実施形態による、本発明に付随する多くの利点/特徴のいくつかについて述べる。例えば、利点/特徴の1つは、係数位置および関連する分布を考慮することによって適応的にデッドゾーン量子化が実施される符号化装置および方法である。別の利点/特徴は、前述の符号化装置および方法であって、符号化モードイントラまたはインター、色成分、変換サイズ、ならびに必要ならフィールドおよびフレームマクロブロック符号化モードのうちの、少なくとも1つに応じて、適応が実施される符号化装置および方法である。別の利点/特徴は、前述の適応を伴う符号化装置および方法であって、分布統計が種々の場合ごとに別々に収集される符号化装置および方法である。別の利点/特徴は、前述の適応を伴う符号化装置および方法であって、分布統計が領域特性分散、エッジなどに基づいて収集される符号化装置および方法である。別の利点/特徴は、前述の符号化装置および方法であって、デッドゾーン量子化が2ステップの方法で実施され、最初に固定のデッドゾーン/丸め制御を使用して準備レベルを決定してから、このレベルに基づいてレベル依存のデッドゾーン/丸め制御を使用して量子化を繰り返す符号化装置および方法である。また、別の利点/特徴は、前述の2ステップのデッドゾーン量子化を伴う符号化装置および方法であって、レベル依存の丸め制御が、そのレベル内の区分的分布に基づいて計算される符号化装置および方法である。さらに、別の利点/特徴は、前述の2ステップのデッドゾーン量子化およびレベル依存の丸め制御を伴う符号化装置および方法であって、再構築済みエリア内の分布集中分布エリアを使用して計算が実施される符号化装置および方法である。さらに、別の利点/特徴は、前述の2ステップのデッドゾーン量子化、またレベル依存の丸め制御を伴う符号化装置および方法であって、台形法や単体近似法などの算術積分法を使用してレベル依存の丸め制御が計算される符号化装置および方法である。加えて、別の利点/特徴は、前述の2ステップのデッドゾーン量子化を伴う符号化装置および方法であって、歪みもまた計算内で考慮される符号化装置および方法である。さらに、別の利点/特徴は、前述の符号化装置および方法であって、主観的品質を改善する試みとして、元々レベル0に設定されていたいくつかの係数がそうではなく強制的により高いレベルにされる符号化装置および方法である。また、別の利点/特徴は、前述の係数レベル強制を伴う符号化装置および方法であって、このような決定がレート歪み最適化基準に基づく符号化装置および方法である。さらに、別の利点/特徴は、前述の符号化装置および方法であって、オフセッティング量子化行列Θのセットを送信および考慮することによってデッドゾーン量子化が精緻化される符号化装置および方法である。また、別の利点/特徴は、前述のオフセッティング行列によって精緻化されるデッドゾーン量子化を伴う符号化装置および方法であって、異なるレベルでΘの値が異なる影響を有する符号化装置および方法である。さらに、別の利点/特徴は、前述のオフセッティング行列によって精緻化されるデッドゾーン量子化を伴う符号化装置および方法であって、画像統計および係数分布に基づいてΘが計算される符号化装置および方法である。さらに、別の利点/特徴は、前述のオフセッティング行列によって精緻化されるデッドゾーン量子化、ならびに画像統計および係数分布に基づいて計算されるΘを伴う符号化装置および方法であって、再構築済みエリア内の分布集中分布エリアを使用してΘが計算される符号化装置および方法である。加えて、別の利点/特徴は、前述のオフセッティング行列によって精緻化されるデッドゾーン量子化、ならびに画像統計および係数分布と分布集中とに基づいて計算されるΘを伴う符号化装置および方法であって、台形法や単体近似法などの算術積分法を使用してΘが計算される符号化装置および方法である。さらに、別の利点/特徴は、前述のオフセッティング行列によって精緻化されるデッドゾーン量子化、ならびに画像統計および係数分布と分布集中とに基づいて計算されるΘを伴う符号化装置および方法であって、歪みもまたΘの計算で考慮される符号化装置および方法である。さらに、別の利点/特徴は、前述のオフセッティング行列によって精緻化されるデッドゾーン量子化を伴う符号化装置および方法であって、レベル0を使用して符号化されることが可能な係数の最大パーセンテージに応じてΘ計算を調節することのできる符号化装置および方法である。別の利点/特徴は、前述の符号化装置および方法であって、すべての係数についての分布特性に基づいて計算された重み付き量子化行列をデッドゾーン量子化が考慮する符号化装置および方法である。別の利点/特徴は、前述の適応と、領域特性に基づく分布統計収集と、すべての係数についての分布特性に基づいて計算された重み付き行列によるデッドゾーン量子化とを伴う符号化装置および方法であって、最も重要な領域の分布だけがこの計算で考慮される符号化装置および方法である。さらに、別の利点/特徴は、前述の適応と、領域特性に基づく分布統計収集と、すべての係数についての分布特性に基づいて計算された重み付き行列によるデッドゾーン量子化とを伴う符号化装置および方法であって、主観的影響と出現統計とに基づく重み付き平均法を使用して、種々の領域すべてが重み付き行列の計算で考慮される符号化装置および方法である。本発明のこれらや他の特徴および利点は、本明細書の教示に基づいて、当業者によって容易に確かめることができる。本発明の教示は、様々な形式のハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはこれらの組合せで実施できることを理解されたい。本発明の教示は、ハードウェアとソフトウェアの組合せとして実施されることが最も好ましい。さらに、ソフトウェアは、プログラム記憶ユニット上に有形に組み入れられたアプリケーションプログラムとして実現されることが好ましい。アプリケーションプログラムは、任意の適したアーキテクチャを備えるマシンにアップロードして、マシンによって実行することができる。マシンは、1つまたは複数の中央処理装置CPU、ランダムアクセスメモリRAM、および入出力I/Oインタフェースなどのハードウェアを有するコンピュータプラットフォーム上で実現されることが好ましい。コンピュータプラットフォームはまた、オペレーティングシステムおよびマイクロ命令コードを備えてもよい。本明細書に述べた様々なプロセスおよび機能は、マイクロ命令コードの一部またはアプリケーションプログラムの一部、あるいはこれらの任意の組合せであってよく、これらはCPUによって実行することができる。加えて、追加のデータ記憶ユニットや印刷ユニットなど、その他の様々な周辺ユニットがコンピュータプラットフォームに接続されてもよい。添付の図面に示した構成システムコンポーネントおよび方法のいくつかはソフトウェア中で実現することが好ましいので、システムコンポーネント間またはプロセス機能ブロック間の実際の接続は、本発明がプログラムされる方式に応じて異なる場合があることも、さらに理解されたい。本明細書の教示が与えられれば、当業者なら本発明のこれらおよび類似の実装形態または構成を企図することができるであろう。添付の図面を参照して例示的な実施形態を本明細書に述べたが、本発明はこれらの正確な実施形態に限定されず、本発明の範囲または趣旨を逸脱することなく当業者によって様々な変更および修正を実施できることを理解されたい。このような変更および修正はすべて、添付の特許請求の範囲に述べる本発明の範囲に含まれるものとする。"