JP2001526850A - Method and apparatus for optimizing a quantization value in an image encoder - Google Patents
Method and apparatus for optimizing a quantization value in an image encoderInfo
- Publication number
- JP2001526850A JP2001526850A JP53480498A JP53480498A JP2001526850A JP 2001526850 A JP2001526850 A JP 2001526850A JP 53480498 A JP53480498 A JP 53480498A JP 53480498 A JP53480498 A JP 53480498A JP 2001526850 A JP2001526850 A JP 2001526850A
- Authority
- JP
- Japan
- Prior art keywords
- block
- frame
- value
- quantization
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】 量子化器制御器は、フレームの符号化に使用可能な、ビット総数に等しいターゲットビット値を指定する。フレーム中の歪み合計は、各ブロックの予測量子化値に従ってモデリングされている。上記予測量子化値は、各ブロック中のエネルギー量及び各ブロックを符号化するのに使用可能なビット数に従って特徴付けられている。量子化値は、フレーム符号化のビット総数がターゲットビット値に等しいという制約条件に従って、フレーム中のモデリングされた歪みを最小化することにより、各ブロックに最適化される。その後、各ブロックは最適量子化値で符号化される。 (57) Abstract The quantizer controller specifies a target bit value equal to the total number of bits available for encoding a frame. The total distortion in the frame is modeled according to the predicted quantization value of each block. The predicted quantization value is characterized according to the amount of energy in each block and the number of bits available to encode each block. The quantization value is optimized for each block by minimizing the modeled distortion in the frame, subject to the constraint that the total number of bits in the frame encoding is equal to the target bit value. Thereafter, each block is encoded with the optimal quantization value.
Description
【発明の詳細な説明】 画像符号化器における量子化値の最適化方法及び装置 発明の背景 本発明は、ディジタル画像や動画フレームの係数の符号化に用いられる量子化 値の計算に関し、より詳細には、符号化が制限されたビット数で行われる場合に ディジタル画像や動画フレーム中の歪みを減少させるために、計算された量子化 値を最適化することに関する。 最近の多くの画像や動画符号化器では、符号化画像の品質は、1つ又はそれ以 上の品質パラメータを選択することにより制御されている。ブロックベースによ る画像及び動画符号化器では、画像中の画素の各ブロックについて、量子化スケ ール又は量子化ステップとして知られているパラメータが使われている。量子化 ステップは、同一のステップ範囲内で同一の値について画素値をスケーリングす るために用いられる。同一の量子化スケールで符号化された画像ブロックは、ほ ぼ同一の品質を有している。画像を符号化するのに必要なビット数は、所望の画 像品質(量子化スケール)及び画像の固有統計値に依存している。結果的に、同 一のスケール(同一の画像品質)で符号化された別個の画像は、異なるビット数 を占める。 多くのアプリケーションでは、1つ又はいくつかのフレームを符号化するのに 使用可能なビット数は前もって固定されているので、ターゲットビット数を生成 し且つ可能なかぎり最高品質で動画フレームを符号化する量子化スケールを選択 するために何らかの技術が必要である。例えば、ディジタル動画記録においては 、早送り早戻し性能を効果的にするには、フレームグループ(GOP)が同数の ビットを占めなければならない。テレビ電話では、チャネルレート、通信遅延及 び符号化器のバッファサイズによって、1つ又はそれ以上のフレームに対する使 用可能なビット数が定まる。 現存する量子化器又はバッファ制御方法は、主に3つのタイプに分類される。 量子化器制御方法の第1のタイプでは、量子化スケールのセットで各画像ブロッ クを数回符号化する。各ケースで生成されたビット数が測定されて、各ブロック のスケールは上手く選択されるので、全てを組み合わせたブロックのビット合計 数は所望のターゲットビット数になる。第1のタイプの量子化制御技術は、リア ルタイムの符号化には使用できない。各画像を多数回符号化するには、計算上、 高度な複雑さが必要であるからである。 第1のタイプの量子化器制御は、下記刊行物に記載されている: 第2のタイプの量子化制御技術は、前に符号化された画像ブロックで費やされ たビット数を測定し、他のパラメータ例えばバッファの充満度やブロックアクテ ィビティなどを測定する。これらの測定は、現在のブロックで量子化スケールを 選択するために用いられる。第2のタイプの量子化器制御は、計算上の複雑さの 程度が低いので、リアルタイム符号化に対して一般的である。しかしながら、第 2のタイプの量子化器制御は、ターゲットビット数を達成する場合は精度が悪く 、ビットやバッファのオーバーフロー及びアンダーフローを回避するには、他の 符号化技術を追加して組み合せねばならない。 第2の方法は、下記刊行物に記載されている 第3のタイプの量子化器制御では、画像ブロックの符号化に必要なビット数を 予測するモデルを用いる。この量子化器モデルには、ブロックの量子化スケール 及びその他のパラメータ例えばブロック分散が含まれる。量子化スケールは、符 号化器モデルの或る数学的最適化により定まる。第3のタイプの量子化器制御は 、計算上簡単なのでリアルタイムで使用できるが、モデルの誤差に対して極めて 感度が高いので不正確な結果をもたらすことがしばしばである。 第3のタイプの量子化器制御は、下記刊行物に記載されている: 従って、最適量子化値を生成するのに必要な時間及び計算上の複雑さが減少し ている一方で、量子化画像又は動画フレームの画像品質を改良する必要性が未だ 残っている。 発明の概要 量子化器制御器は、新たなブロック適応性のラグランジュ最適化法を用いて、 量子化値を生成する。量子化器制御器は更新され、以前に量子化したブロックか らの情報を用いて改良される。タイプ2の量子化器制御技術の計算上の複雑さが 緩和されている一方で、この量子化器制御器は、モデルの誤差に対して粗さがあ るので、タイプ1の量子化器制御技術と同程度の精度で結果を生成する。 その量子化器制御器は、フレームの符号化に使用可能な、ビット総数に等しい ターゲットビット値を指定する。フレーム中の歪みの合計は、各ブロックに割り 当てられた予測量子化値に従ってモデリングされている。予測量子化値は、各ブ ロック中のエネルギー量及び各ブロックを符号化するのに使用可能なビット数に 従って特徴付けられている。最適量子化値は、フレームの符号化のビット総数が ターゲットビット値に等しいという制約に従うことを条件として、フレーム中の モデリングされた歪みを最小化することにより、各ブロックに適用する。そして 、各ブロックは最適量子化値で符号化される。 エネルギーが少ないブロックには量子化値を小さくすることにより、エネルギ ーが大きいブロックには量子化値を大きくすることにより、上記量子化器制御器 は、各ブロックに適用可能となる。ブロックに割り当てられた量子化値も、残り の符号化される画像ブロック数及び残りの画像ブロックを符号化するのに未だ使 用可能なビット数に従って、最適化される。 いくつかの重み付けファクタが、符号化されたブロックの精度を変え得る量子 化値に、任意に適用される。フレーム内のブロックの位置に従って、1つの重み 付けファクタが量子化値に適用される。複数のフレームグループ中の各フレーム の中のブロックに最適量子化値が適用されるか又は、一般的に画像データアレイ 中のあらゆる領域に適用される。 量子化器制御器は、一度だけ画像を符号化して、各ブロックの量子化値を精度 良く生成する。量子化値は、符号化画像又は動画フレーム用にターゲットビット 数を生成する。従って、この量子化器制御器は、同様な精度の量子化器制御技術 よりも、計算上の消費が少なくてすむ。 量子化器制御器の一般的な構成においては、各種の量子化/レート制御の方策 を用いることができる。例えば、量子化器制御器は、現在の動画符号化標準MP EG1−2,4、H.261,H.263,H.263+におけるフレームマク ロブロックのDCT(離散コサイン変換)ベースによる符号化のための量子化ス ケールの値をリアルタイムで選択することに用いることができる。1つのフレー ム、いくつかのフレーム又はフレーム内のいくつかのマクロブロックが、固定ビ ット数で符号化される。 上述及びその他の特徴、利点、目的は、以後の本発明の好適な実施形態につい ての詳細な説明、添付の図面を参照しながら、より明らかになるであろう。 図面の簡単な説明 図1は、本発明による最適量子化値が割り当てられた複数のブロックをそれぞ れが有する複数の画像フレームの模式図である。 図2は、本発明の1つ実施形態による画像符号化器のブロック図である。 図3は、最適量子化値を生成するためのフローチャートである。 図4及び5は、最適量子化値を画像データに適用した結果を示す図である。 図6は、本発明の1つの実施形態による量子化器制御器のブロック図である。 詳細な説明 ブロックベースによる画像符号化器12を用いて本発明を説明するが、本発明 は、どのような画像や動画符号化器に対してもその量子化器を制御するために用 いることができる。 図1についてみると、ブロックベースによる画像符号化方法において、画像1 5が複数のフレームで送信される。各フレーム26は、同一サイズ(典型的には 、1ブロックあたり16×16画素)の複数の画像ブロック14に分割される。 i番目の画像ブロック14を符号化した後に生成されたビット数Biは、量子化 パラメータQiの値とそのブロックの統計値との関数である。例えば、画像ブロ ックi=9は、画像ブロックi=17よりも多くの画像情報(エネルギー)σi を含んでいる。これは、ブロックi=9の画像が、背景情報と共に顔の画像の部 分を含んでいるからである。逆に画像ブロックi=17は、画像情報エネルギー σiが少なくなる。これは、実質的に同一の背景像を、各画素の位置に有してい るからである。 図2についてみると、各画像ブロック14の画素値は、例えばブロック変換1 6で離散コサイン変換を用いて、係数のセットに変換することができる。これら の係数は、ブロック量子化18で量子化され、符号化器20で符号化される。符 号化及び量子化された画像ブロック14のビットBiは、電話回線、マイクロウ ェーブチャネルなどを経由する通信チャネルを経て、受信機(図示せず)へ送信 される。その受信機は、量子化されたビットを復号する復号器と逆離散コサイン 変換(IDCT)を行う逆変換ブロックとを有している。復号されたビットBi は、ユーザに対してビジュアルディスプレイスクリーン上に表示される。 量子化ブロック18で変換された係数の量子化は、鍵となる処理である。とい うのは、これが品質を決定し、この品質で画像ブロック14が符号化されるから である。i番目のブロック14の量子化は、上記パラメータQiで制御される。 H.261及びH.263の動画符号化標準では、Qiはi番目のブロックの量 子化ステップとして知られており、その値は、変換された係数を量子化するため に用いるステップサイズの半分に相当する。MPEG−1及びMPEG−2標準 では、Qiは、量子化スケールと呼ばれ、或るブロックのj番目の係数が、量子 化ステップサイズQiwjを用いて量子化される。ここで、wjは、MPEGコー デックの設訃者が選んだ量子化マトリクスのj番目の値である。 Nを1つの画像フレーム26中の16×16の画像ブロックの数とする。1つ の画像フレーム26を符号化するのに使用可能なビットの合計数Bは ここに、Bの値は、選択された量子化パラメータQ1,Q2,,QN及び上記ブ ロックの統計値に依存する。本発明は、(図2の)量子化器制御器22を備えて おり、これはフレーム26を符号化するのに使用可能な制限された全ビット数B に対して、Qiの最適値を選択する。量子化器制御器22は、多くの異なるマッ プ(専用ハードウェアを有するプログラム可能な処理ユニットのソフトウェアで の場合を含む)で、実行される。 画像符号化では、画像ブロック14はイントラ符号化された又はイントラクラ スである、と言われる。動画符号化では、フレーム26内のブロック14の多く は、前フレームにかなり類似している。ブロック14の画素値は、前に符号化し たブロックからしばしば予測され、差異即ち予測誤差のみが符号化される。これ らのブロックは、インタ符号化された、又は、インタクラスであると言われる。 本発明は、イントラ・インタ双方のブロックを有するフレームで使用することが できる。 符号化器モデル 式(2)にあげる次のモデルは、i番目のブロックに与えられたビット数を指定 する。 Qiの値は、量子化ステップサイズ又は量子化スケールで、Aは、ブロック内の 画素数(例えば、MPEG及びH.263ではA=162画素である)で、K及 びCは定数、σiはブロック内の画素の経験的標準偏差であり、次式で表される 。 値Pi(j)は、1番目のブロックのj番目の画素で、Piはブロック中の画素値の 平均であり、次式で表される。 カラー画像の場合は、Pi(j)は、各画素の輝度及び色成分の値である。式(2 )のモデルは、ブロック符号化器のレート−歪み分析を用いて導出される。式( 2)中のKの値は、画像ブロック26の統計値及び符号化器で用いられる量子化 マトリックスに依存している。例えば、もし画素値がほぼ相関性がなく、ガウス 分布に従っていれば、量子化マトリックスは均一の重み付けで平坦(即ち、全て のjについてwj=1)であり、K=π/ln2となる。式(2)の定数Cは、 符号化器の付加分を符号化するために使う画素当たりの平均ビット数をモデリン グする。例えば、Cは、ヘッダとシンタックス情報、画素カラー又は色成分、伝 送されたQ値、動きベクトルなどの画像ブロックを復号するために受信機に送信 されるものを説明するものである。KとCの値が未知であれば、下記の発明技術 「符号化器モデルのパラメータの更新」で推定される。 式(5)は、N個の符号化ブロックの歪みDをモデリングするものである。ここで、αiは、重要度又はブロック歪みのコストに従って選んだ重みである。 例えば大きい方のαiは、人間により見えやすいアーチファクトを有する画像に 対して、そのシーンでより重要なオブジェクトに属する画像ブロックに対して選 択される。もしα1=α2=…=αN=1ならば、式(5)で表される歪みは、ほ ぼオリジナルと符号化されたブロック間の平均二乗誤差(MSE)となる。 最適化 量子化器制御器22(図2)は、式(5)の歪みモデルを最小化する最適量子 化値Q1 *,Q2 *,…,QN *を選択する。これは、ビット総数は式(1)で定義した ようにBと等しくなければならないという制約に従っており、数学的には以下の ように表現される。 次の目的は、各Qi *の公式を見つけることである。これを行うには、ラグランジ ュの方法が、式(6a)で制約された最小化を変換するのに用いられ、次のよう になる。 ここでλは、ラグランジュの乗算子と呼ばれる。次に、(6b)式のBiに式( 2)を用いると、次式が得られる。 最後に式(6c)で、偏微分を0に設定すると、i番目の画像ブロックに対する 最適量子化ステップサイズの場合、次式が導出される。 さらに、もしi−1ブロック14が、既に量子化され且つ符号化されているなら ば、i番目のブロックの最適量子化パラメータは、下式で表される。 ここで、Ni=N−i+1は、符号化されるべく残っている画像ブロックの数で 、 ここで、Bi-1は、式(2)を用いて、最適量子化値Qi-1 *で得たものである。 従って、式(6)及び(7)は、使用可能なビット数が制限されている場合に、 歪みを最小にする最適量子化値を生成するものである。結果として、同じビット 数を用いても、図1でフレーム26の画像は、チャネル21の受信機端で表示装 置に表示した時、他の量子化スキームよりも歪みが少なくなる。 量子化器制御方法 図3は、量子化器制御器22(図1)で実行されるステップを説明するもので 、BビットでN個の画像ブロック14を符号化するために用いる量子化値が選択 される。なお、Nは、画像のブロック、画像の部分、いくつかの画像、又は一般 に画像のどの領域の数であってもよい。 ステップ1:エネルギー値の受取及び初期化 N個の画像ブロックの画素値は、ステップ1Aで、ディジタル画像(図2)か ら、量子化器制御器22に与えられる。ステップ1Bで、i=1(第1のブロッ て、初期化が実行される。 セットされる(例えば、α1=α2=…=αN=1と設定して、平均二乗誤差を最 小にする)。1つの例として、エネルギー量σiは、変換ブロック16によって 生成された画素値のDCT係数から導出される。 固定モードでは、式(7)の符号化器モデルでパラメータK及びCの値が、既 知かあるいは予め推定されている。例えば、線形回帰を用いることにより、K1 =K及びC1=Cとなる。適応モードではモデルパラメータは既知でないので、 K1及びC1はある小さな負でない値にセットされる。例えば、実験によると、よ い初期推定としてK1=0.5及びC1=0を示した。動画の符号化では、K1及び C1は、前に符号化したフレームからそれぞれKN+1及びCN+1値にセットするこ とができる。 ステップ2:i番目のブロックの最適量子化パラメータの計算 Qパラメータの値が、固定されたセット(例えばH.263では、QP=Qi /2で、1,2,3,…,31,の値をとる)に制限される場合は、Qi *はこの セットで一番近い値に丸められる。次に索引テーブルを用いて、平方根の演算が 以下のとおり実行される。 ステップ3:ブロックベースによる符号化器でi番目のブロックの符号化 Bi'は、i番目のブロックを符号化するのに用いるビット数で、下式を計算す る。 ステップ4:量子化値の更新 ステップ4では、パラメータKi+1及びCi+1は、量子化器制御器22内で更新 される。固定モードでは、Ki+1=K及びCi-1=Cである。適応モードでは、更 新 Ki+1及びCi+1が、モデルフィッティング技術を用いて見いだされる。モデルフ ィッティング技術については、以下の「量子化器制御器でのパラメータの更新」 の項で、説明する。 ステップ5:次のブロックの量子化値の生成 判断ステップ5でi=Nならば、量子化値は、全ての画像ブロック14につい て、導出されている。そして、量子化器制御器22は停止している。全ての画像 ブロック14が量子化されていない場合、量子化器制御器22は、ステップ6で その次の画像ブロックi=i+1の係数を受取り、飛び越してステップ2へ戻る 。ブロックi=i+1の量子化値は、上述のように導出される。 図4及び5についてみると、量子化器制御器22によって動画シーケンスのフ レームが符号化されている。テレナーH.263オフライン方法のものと比較さ れるが、この方法は、MPEG−4アンカーに適応された量子化器制御技術であ る。 図3で説明した量子化技術によって得た動画フレーム当たりのビット総数が図 4に実線で示してある。H.263オフライン符号化技術は、破線で示してある 。著名な動画シーケンス「フォアマン」の133フレームに符号化が行われた。タ ーゲットビット数Bは、フレーム当たり11200ビットである。B=6400 の動画シーケンス「マザーアンドドータ」の140フレームを除けば、図5は図 4と同様である。 量子化器制御器22は、極めて精度良く安定なフレーム当たりのビット数を生 成する。同様な結果が、ビットレートの広範囲にわたって得られた。実験では、 2つの符号化動画シーケンスにおいて品質に目に見える差異は殆ど無かった。量 子化器制御器22で処理された画像のS/N比は、僅かに平均で0.1〜0.3d B低いだけであった。従って、画像が1度だけしか符号化されなくても、量子化 器制御器22は、高い画像品質で、どのフレームでもターゲットビットレートを 精度良く達成することができる。 他の実行方法 いくつかの量子化変数は、上述の基本量子化最適化のフレームワークに基づい ている。図3のステップ1Bで全てのσkの計算が前もってできない場合は、よ い推定、例えば前の動画フレーム26からのS1値が用いられる。 計算上の複雑さを更に減らすには、あまり複雑でないS1の予測を用いること ができる。複雑でない推定には、式(3)を式(9)で置き換える。 ここで、abs(x)は、xの絶対値である。動画符号化では、インタブロック 簡単にすることができ、固定した最適化の場合は、式(7)の代わりに式(6) を用いて、量子化パラメータが選択される。このためには、図3のステップ3で 、 の順番で置き換えられる。 可変レートチャネルの場合は、i個のブロックを符号化した後で使用可能なビ 式(2)で定義された量子化モデルは、一般化して次式(10)のようにする ことができる。 ここで、Aj、j番目の領域での画素数である。量子化の領域は、ブロックであ る必要はない。追加のモデルパラメータφ及びγは、量子化に前もって設定され るか或いは後述するパラメータ推定技術を用いて得られる。式(10)の量子化 モデルをステップ2で用いる場合は、最適量子化値Qi *は、式(11)を、用い て導出される。ステップ1で、Siは、下式で置き換えられる。 ステップ3で、Si+1は式 で置き換えられる。 イントラ及びインタブロックの符号化 符号化されるブロックのいくつかがイントラ(同一フレーム内)クラスで、い くつかがインタ(異なるフレーム間)である場合は、量子化器制御器22の性能 ように応用される。 ファクタβは、下式である。 KI及びKPの値は、それぞれイントラ及びインタブロックで測定したKの平均値 である。βの値は、符号化中に推定され更新される。実験中、定数β=3を用い ると、良好に動作することが判った。 フレームベースによる量子化器制御 フレーム26内で全てのブロック14について、量子化ステップが固定されて いる場合、図2に示す同一の量子化器制御器22を、1つ又はいくつかのフレー ムを符号化するのに使用することができる。パラメータを、 N=フレームの数, B=N個のフレームを符号化するのに使用可能なビット数, i=動画シーケンスにおけるフレーム番号, Qi=i番目のフレームで全てのブロックに対する量子化ステップ, A=フレーム中の画素数,と解釈しなおす。 パラメータαi,σi,Bi'は、それぞれi番目のフレームの重み、分散、ビッ トである。パラメータKi及びCiは、上記フレームの符号化器モデルを更新した ものである。 計算上の複雑さが論点でない場合は、各画像ブロック14は数回符号化され、 かつ古典的モデルのフィッティング手順(例えば、最小自乗フィット、線形回帰 など)を用いて、ブロックについてKi及びCiの良好な推定が前もってが得られ る。よって、ステップ2で、量子化値Qi *は次式で定まる。 に設定することが可能で、このモデルパラメータの計算及び更新を回避すること ができる。このような場合、ステップ2でQi *をみると、簡単に次式で表現でき る。 又は、等価的に、下式でも表現できる。 「他の実行方法」で説明した幾つかの技術のどのサブセットも、組み合わせるこ と或いは一緒に使うことが可能である。 符号化器モデルのパラメータの更新 以下は、量子化器制御器22中のKi+1及びCi+1のパラメータを更新する1つ の技術である。この更新技術は、ステップ4で説明した適応モードで用いられる 。池の古典的なパラメータ推定又はモデルフィッティング技術例えば最小自乗法 、帰納的最小自乗法、カルマン予測などが、代わりに使用可能である。モデルパ ラメータは、どのブロック、フレーム、ブロックグループ、フレームグループで も更新することができる。 本発明の1つの実施形態におけるモデルパラメータは、下記の加重平均を用い て、ブロック毎基準で、更新されるか或いは推定される。 K及びCの値で、式(2)を用いてBi’が予測される。代わりに、あるコーデ ッ ここで、B’DCT,iは、i番目の画像ブロックのDCT係数に使用されたビット 数である。 ある。 一般モデルが式(10)で使われる場合、多様な推定器を、追加のパラメータφ 及びγを推定するのに用いることができる。これらのパラメータもブロック毎基 準で更新され、i番目の更新φi及びγiは、KI,Ciのものと同様な平均化技術 を用いて見いだすことができる。 重みαIの選択 αiの値は、ブロック歪みの重み又は重要度と関連させて選ぶことができる。 デフォルト値としてα1=α2=…=αN=1を用いると、MSE歪みは、オリジ ナルと符号化されたブロックとの間で最小となる。そうでない場合は、MSE歪 みはαiが大きいと減少し、αiが小さいと増加する。重みαiを選ぶ2つの例を 以下に説明する。テレビ電話の画像での矩形のウィンドウのような或る領域に、 大きいαi値が、次いで小さい量子化値が割り当てられる。小さい量子化スケー ルは画素値の量子化に使われるので、重み付けされた領域はより良い品質で符号 化される。 通常、人間は、ピクチャの中心領域により注意を払う。従って、より大きなαi がピクチャの中心近くの領域に割り当てられる。ピラミッド公式が用いられ、 フレームの中心により近いブロックに、より大きいαiを割り当てられる。特に BX及びBYをそれぞれ水平方向及び鉛直方向の座標軸に沿ったブロック数とする 。i番目のブロックの重みは次式で計算される。 ここで、(a1+a2)及びa2は、ピラミッドの高さと横の支脈で、bX及びbY は、それぞれフレームにおけるブロックの水平方向と鉛直方向の位置である。例 えば、a1=15及びa2=1と選ぶと、中心ブロックのαi値は、境界ブロック の16倍となる。 ブロック結合 コーデックでは、Q1 *,…QN *(ステップ2参照)を用いた量子化値は、符号 化され、復号器に送る必要がある。例えば、H.263では、量子化値は、ラス タースキャンの順で符号化され、量子化値を変えるのに5ビットのペナルティが あ る。高ビットレートでは、量子化値の変更の付加は無視できるので、上述の最適 技術は効果的である。しかしながら、極めて低いビットレートでは、この付加は 顕著となるので、量子化値が変更する回数を制限するのに何らかの技術が必要と なる。残念ながら、付加を考慮する現存の最適化方法は、数学的に不正確又は計 算上高コストである。 本発明の他の特徴として、発見的手法により、類似する標準偏差のブロックを 結合して1つのセットにするので、量子化値はそのセット内で一定のままとなる 。この技術をブロック結合と呼ぶこととし、低ビットレートでの量子化値の変更 を減らすものである。重みαiの値を以下のように選べば、ブロック結合がなさ れる。 ここで、B/(AN)は、現在のフレームのビットレート(画素当たりビット) である。B,A,及びNの値は、それぞれ、使用可能なビット数、ブロック中の 画素数、及びブロックの数として既に定義したものである。ビットレートが0. 5より大きい場合、αiは全てが1に等しく、従って何ら効果がない。低ビット レートでは、αiは線形的にそれぞれのσiに近づき、徐々にQ*の範囲を減少さ せる。実際には、ビットレートが0場合は、αi=σiとなって、全ての量子化値 が同一となり、従って全てのブロックが結合して1つのセットとなる。 図6は、図2の量子化器制御器22の詳細なブロック図である。1つの実施形 態の量子化器制御器22は、汎用のプログラム可能なプロセッサにおいて実行さ れる。図6の機能ブロックは、このプロセッサで実行される主な演算を現してい る。ブロック31の初期化パラメータは、現在の画像の事前処理からか、前のフ レームから前もって導出したパラメータからか、あるいはプロセッサメモリ(図 示せず)で事前に蓄積された値からのいずれかで導出される。初期化パラメータ には、N1,S1,B1,K1及びC1(又は、前フレームからのKN+1及びCN+1) が含まれる。 その画像は、ブロック30中のAの画素のN個の画像ブロック14(図2)に 分割される。各ブロックの画素のエネルギーは、ブロック32で計算される。各 ブロックに割り当られた重み付けファクタは、ブロック34で計算される。画像 中に残っているエネルギー量はブロック40で更新され、画像を符号化するため に残っているビットはブロック38で更新される。符号化器モデルのパラメータ はブロック42で更新され、符号化用に残っているブロック数はブロック44で 整理される。ブロック36のプロセッサは、ブロック32,34,40,38, 42及び44で導出された値に従って、上記最適化ステップサイズを計算する。 本発明の原理について好適な実施形態で説明及び図説したので、本発明の原理 から離れることなく、その装置や詳細について変更を加えることができるのは明 らかである。以下のクレームの範囲及び精神内で、全ての変更や変化についてク レームするものである。DETAILED DESCRIPTION OF THE INVENTION Method and apparatus for optimizing a quantization value in an image encoder Background of the Invention The present invention relates to quantization used for coding coefficients of digital image and moving image frames. Regarding the calculation of the value, more particularly when the encoding is performed with a limited number of bits Calculated quantization to reduce distortion in digital image and video frames Relating to optimizing values. In many modern image and video encoders, the quality of the encoded image is one or more. It is controlled by selecting the above quality parameters. Block based Image and video encoders use a quantization scheme for each block of pixels in the image. A parameter known as the rule or quantization step is used. Quantization The step scales pixel values for the same value within the same step range. Used to Image blocks coded on the same quantization scale They have the same quality. The number of bits required to encode the image It depends on the image quality (quantization scale) and the intrinsic statistics of the image. As a result, Separate images encoded on one scale (same image quality) have different bit counts Occupy. In many applications, encoding one or several frames Generates the target number of bits because the number of available bits is fixed in advance A quantization scale that encodes video frames with the highest possible quality Some technology is needed to do that. For example, in digital video recording In order to improve fast-forward and fast-reverse performance, the number of frame groups (GOP) Must occupy a bit. For videophone, channel rate, communication delay and For one or more frames, depending on the The number of usable bits is determined. Existing quantizer or buffer control methods are mainly classified into three types. In the first type of quantizer control method, each image block is set with a set of quantization scales. Encode the mark several times. The number of bits generated in each case is measured and Scale is well selected, so the sum of the bits of all combined blocks The number will be the desired number of target bits. The first type of quantization control technology is rear Cannot be used for real-time encoding. To encode each image many times, This is because a high degree of complexity is required. The first type of quantizer control is described in the following publications: A second type of quantization control technique is used on previously encoded image blocks. The number of bits measured and other parameters such as buffer fullness and block activity Measure the activity. These measurements determine the quantization scale in the current block. Used to select. The second type of quantizer control is of computational complexity. It is common for real-time coding, to a lesser extent. However, the second The two types of quantizer control are inaccurate when achieving the target number of bits To avoid bit and buffer overflows and underflows, Coding techniques must be added and combined. The second method is described in the following publication In the third type of quantizer control, the number of bits required to encode an image block is determined. Use a predictive model. This quantizer model contains the quantization scale of the block. And other parameters such as block variance. The quantization scale is It is determined by some mathematical optimization of the encoder model. The third type of quantizer control is , It is computationally simple and can be used in real time, but it is extremely High sensitivity often results in inaccurate results. A third type of quantizer control is described in the following publications: Thus, the time and computational complexity required to generate the optimal quantization value is reduced. However, there is still a need to improve the image quality of quantized images or video frames. Remaining. Summary of the Invention The quantizer controller uses a new block-adaptive Lagrangian optimization method, Generate a quantized value. The quantizer controller has been updated to determine whether previously quantized blocks It is improved using these information. The computational complexity of type 2 quantizer control technology is While mitigated, this quantizer controller is coarse to model errors. Therefore, the result is generated with the same level of accuracy as the type 1 quantizer control technique. Its quantizer controller equals the total number of bits available for encoding the frame Specify the target bit value. The total distortion in the frame is divided into blocks. Modeled according to the applied prediction quantization value. The predicted quantization value is The amount of energy in the lock and the number of bits available to encode each block Therefore it has been characterized. The optimal quantization value is the total number of bits for encoding the frame. Subject to the constraint of being equal to the target bit value, Apply to each block by minimizing the modeled distortion. And , Each block is encoded with the optimal quantization value. By reducing the quantization value for blocks with low energy, By increasing the quantization value for blocks with large Can be applied to each block. The quantization value assigned to the block also The number of image blocks to be encoded and the remaining It is optimized according to the number of available bits. Some weighting factors can change the accuracy of the encoded block Arbitrarily applied to One weight according to the position of the block in the frame A weighting factor is applied to the quantized value. Each frame in multiple frame groups The optimal quantization value is applied to the blocks in Applies to any area inside. The quantizer controller encodes the image only once and calculates the quantization value of each block with accuracy. Produce well. The quantization value is the target bit for the encoded image or video frame. Generate a number. Therefore, this quantizer controller uses a quantizer control technology of similar accuracy. Requires less computational consumption. In the general configuration of the quantizer controller, various quantization / rate control measures are used. Can be used. For example, the quantizer controller may use the current video coding standard MP EG1-2, 4, H.E. 261, H .; 263, H .; 263+ Quantization for DCT (Discrete Cosine Transform) based coding of It can be used to select the value of the scale in real time. One frame System, some frames or some macroblocks within a frame It is encoded by the number of bits. The above and other features, advantages, and objects are described below for preferred embodiments of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS The detailed description will be more apparent with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 shows a plurality of blocks to which an optimal quantization value is assigned according to the present invention. FIG. 3 is a schematic diagram of a plurality of image frames included in the image frame. FIG. 2 is a block diagram of an image encoder according to one embodiment of the present invention. FIG. 3 is a flowchart for generating an optimal quantization value. FIGS. 4 and 5 are diagrams showing the results of applying the optimal quantization value to the image data. FIG. 6 is a block diagram of a quantizer controller according to one embodiment of the present invention. Detailed description The present invention will be described with reference to a block-based image encoder 12. Is used to control the quantizer of any image or video encoder. Can be. Referring to FIG. 1, an image encoding method based on a block 1 5 are transmitted in a plurality of frames. Each frame 26 is of the same size (typically (16 × 16 pixels per block). Number of bits B generated after encoding the i-th image block 14iIs quantized Parameter QiAnd the block's statistics. For example, image bro The block i = 9 has more image information (energy) σ than the image block i = 17.i Contains. This is because the image of block i = 9 is a part of the face image together with the background information. Because it contains minutes. Conversely image blocksi= 17 is image information energy σiIs reduced. This has a substantially identical background image at each pixel location. This is because that. Referring to FIG. 2, the pixel value of each image block 14 is, for example, a block transform 1 At 6, a discrete cosine transform can be used to convert to a set of coefficients. these Are quantized by the block quantization 18 and encoded by the encoder 20. Mark Bit B of the encoded and quantized image block 14iIs a telephone line, micro Transmission to a receiver (not shown) via a communication channel via a wave channel or the like Is done. The receiver consists of a decoder that decodes the quantized bits and an inverse discrete cosine And an inverse transform block for performing transform (IDCT). Decrypted bit Bi Is displayed on the visual display screen to the user. Quantization of the coefficients transformed by the quantization block 18 is a key process. To Because this determines the quality at which the image block 14 is encoded It is. The quantization of the i-th block 14 is based on the parameter QiIs controlled by H. 261 and H.E. In the H.263 video coding standard, QiIs the amount of the i-th block Known as the quantization step, its value is used to quantize the transformed coefficients. Is equivalent to half of the step size used for. MPEG-1 and MPEG-2 standards Then, QiIs called a quantization scale, and the j-th coefficient of a certain block is Step size QiwjIs quantized using Where wjIs an MPEG code The j-th value of the quantization matrix chosen by the deceased person of the deck. Let N be the number of 16 × 16 image blocks in one image frame 26. One The total number B of bits available to encode the image frame 26 of Where the value of B is the selected quantization parameter Q1, QTwo,, QNAnd the above Depends on lock statistics. The present invention comprises a quantizer controller 22 (of FIG. 2). Which is the limited total number of bits B available to encode frame 26. For QiChoose the optimal value of. The quantizer controller 22 can have many different maps. Software (programmable processing unit software with dedicated hardware) ). In image coding, image blocks 14 are intra-coded or intra-classified. Is said to be. In video coding, many of the blocks 14 in a frame 26 Is quite similar to the previous frame. The pixel values of block 14 were previously encoded Blocks are often predicted, and only the differences or prediction errors are encoded. this These blocks are said to be inter-coded or inter-class. The invention can be used in frames with both intra and inter blocks. it can. Encoder model The next model given in equation (2) specifies the number of bits given to the i-th block I do. QiIs the quantization step size or quantization scale, and A is the Number of pixels (for example, A = 16 in MPEG and H.263)TwoPixel) And C are constants, σiIs the empirical standard deviation of the pixels in the block and is given by . Value Pi(j) is the j-th pixel of the first block, and PiIs the pixel value of the block. It is an average and is expressed by the following equation. P for color imagesi(j) is the luminance and color component values of each pixel. Equation (2 The model in () is derived using the rate-distortion analysis of the block encoder. formula( The value of K in 2) is the statistical value of the image block 26 and the quantization used in the encoder. Depends on the matrix. For example, if the pixel values are almost uncorrelated and Gaussian If the distribution is followed, the quantization matrix will be flat with uniform weights (ie, all W for jj= 1), and K = π / ln2. The constant C in equation (2) is Modeling the average number of bits per pixel used to encode the encoder addition To For example, C indicates header and syntax information, pixel color or color component, Sent to receiver for decoding image blocks such as Q value, motion vector, etc. This is to explain what is done. If the values of K and C are unknown, the following invention technology It is estimated in "update of parameters of encoder model". Equation (5) models the distortion D of N coded blocks.Where αiIs a weight chosen according to importance or cost of blockiness. For example, the larger αiIs used for images with artifacts that are more visible to humans. On the other hand, select image blocks belonging to more important objects in the scene. Selected. If α1= ΑTwo= ... = αN= 1, the distortion represented by equation (5) is The mean square error (MSE) between the original and the encoded block. optimisation The quantizer controller 22 (FIG. 2) calculates the optimal quantum that minimizes the distortion model of equation (5). Chemical value Q1 *, QTwo *,…, QN *Select This is because the total number of bits is defined by equation (1). According to the constraint that it must be equal to B, mathematically Is expressed as follows. The next purpose is each Qi *Is to find the formula. To do this, Lagrange (6a) is used to transform the minimization constrained by equation (6a). become. Here, λ is called a Lagrange multiplier. Next, B in equation (6b)iExpression ( By using 2), the following equation is obtained. Finally, in Equation (6c), if the partial derivative is set to 0, the i-th image block For the optimal quantization step size, the following equation is derived. Further, if i-1 block 14 is already quantized and encoded For example, the optimal quantization parameter of the i-th block is represented by the following equation. Where Ni= N-i + 1 is the number of image blocks remaining to be encoded , Where Bi-1Is the optimal quantization value Q using equation (2).i-1 *It was obtained in. Therefore, equations (6) and (7) can be expressed as follows when the number of available bits is limited. This is to generate an optimal quantization value that minimizes distortion. As a result, the same bits 1, the image of frame 26 is displayed on the receiver end of channel 21 in FIG. When displayed on the screen, the distortion is lower than in other quantization schemes. Quantizer control method FIG. 3 illustrates the steps performed by the quantizer controller 22 (FIG. 1). , The quantization value used to encode N image blocks 14 with B bits is selected Is done. Note that N is an image block, image part, some images, or general May be the number of any region of the image. Step 1: Receiving and initializing the energy value In step 1A, the pixel values of the N image blocks are compared to the digital image (FIG. 2). Are supplied to the quantizer controller 22. In step 1B, i = 1 (first block Then, initialization is executed. Set (eg, α1= ΑTwo= ... = αN= 1 to minimize the mean square error. Make it small). As one example, the energy amount σiIs calculated by the conversion block 16 It is derived from the DCT coefficients of the generated pixel values. In the fixed mode, the values of the parameters K and C in the encoder model of Equation (7) are already set. Known or pre-estimated. For example, by using linear regression,1 = K and C1= C. Since the model parameters are not known in adaptive mode, K1And C1Is set to some small non-negative value. For example, according to experiments, K1= 0.5 and C1= 0. In video encoding, K1as well as C1Is K from each of the previously encoded framesN + 1And CN + 1Set to a value Can be. Step 2: Calculate the optimal quantization parameter of the i-th block When the value of the Q parameter is a fixed set (eg, in H.263, QP = Qi / 2, take values of 1, 2, 3,..., 31).i *Box's Rounded to the nearest value in the set. Next, using the index table, the square root operation is It is performed as follows. Step 3: Encode i-th block with block-based encoder Bi'Is the number of bits used to encode the i-th block. You. Step 4: Update the quantization value In step 4, the parameter Ki + 1And Ci + 1Is updated in the quantizer controller 22 Is done. In fixed mode, Ki + 1= K and Ci-1= C. In adaptive mode, new Ki + 1And Ci + 1Are found using model fitting techniques. Model For details on the fitting technique, refer to the following "Update of parameters in the quantizer controller". This will be explained in the section. Step 5: Generate Quantized Value for Next Block If i = N in decision step 5, the quantized value is Has been derived. Then, the quantizer controller 22 is stopped. All images If block 14 is not quantized, quantizer controller 22 determines in step 6 Receiving the coefficient of the next image block i = i + 1, skipping and returning to step 2 . The quantized value for block i = i + 1 is derived as described above. 4 and 5, the quantizer controller 22 controls the video sequence The frame is encoded. Telenar H. 263 compared to the offline method However, this method is a quantizer control technique adapted to the MPEG-4 anchor. You. The total number of bits per video frame obtained by the quantization technique described in FIG. 4 is shown by a solid line. H. The H.263 off-line encoding technique is indicated by the dashed line . The 133 frames of the famous video sequence "Foreman" were coded. Ta The target bit number B is 11,200 bits per frame. B = 6400 5 except for the 140 frames of the video sequence “Mother and Daughter” Same as 4. The quantizer controller 22 generates a very accurate and stable number of bits per frame. To achieve. Similar results were obtained over a wide range of bit rates. In the experiment, There was little visible difference in quality between the two encoded video sequences. amount The S / N ratio of the image processed by the densifier controller 22 is slightly on average 0.1 to 0.3 d. B was only low. Therefore, even if an image is encoded only once, The controller 22 controls the target bit rate for every frame with high image quality. It can be achieved with high accuracy. Other execution methods Some quantization variables are based on the basic quantization optimization framework described above. ing. In step 1B of FIG.kIf you can not calculate in advance Estimate, for example, S from the previous video frame 261The value is used. To further reduce the computational complexity, a less complex S1Using the prediction of Can be. For less complex estimation, replace equation (3) with equation (9). Here, abs (x) is the absolute value of x. In video coding, interblock Equation (6) instead of equation (7) can be simplified and for fixed optimization Is used to select a quantization parameter. To do this, in step 3 of FIG. , Are replaced in the following order. In the case of a variable rate channel, the available video after encoding i blocks The quantization model defined by the equation (2) is generalized to the following equation (10). be able to. Where Aj, J-th area. The area of quantization is a block. Need not be. Additional model parameters φ and γ are set beforehand for quantization. Or obtained using a parameter estimation technique described below. Equation (10) quantization If the model is used in step 2, the optimal quantization value Qi *Uses equation (11) Is derived.In step 1, SiIs replaced by: In step 3, Si + 1Is the expression Is replaced by Intra and inter block coding Some of the blocks to be coded are of the intra (in the same frame) class, If some are inter (between different frames), the performance of the quantizer controller 22 And so on. The factor β is as follows. KIAnd KPIs the average value of K measured in the intra and inter blocks, respectively. It is. The value of β is estimated and updated during encoding. During the experiment, using the constant β = 3 Then, it turned out that it works well. Frame-based quantization control The quantization step is fixed for all the blocks 14 in the frame 26. The same quantizer controller 22 shown in FIG. Can be used to encode the system. Parameter N = number of frames, B = the number of bits available to encode N frames, i = frame number in video sequence, Qi= Quantization step for all blocks in i-th frame, A = the number of pixels in the frame. Parameter αi, Σi, Bi'Is the weight, variance, and bit of the i-th frame, respectively. It is. Parameter KiAnd CiUpdated the encoder model for the above frame Things. If the computational complexity is not an issue, each image block 14 is encoded several times, And fitting procedures for classical models (eg, least squares fit, linear regression , Etc.) and use KiAnd CiA good estimate of the You. Therefore, in step 2, the quantized value Qi *Is determined by the following equation. Can be set to avoid calculating and updating this model parameter Can be. In such a case, Qi *Can be easily expressed by the following equation. You. Or, equivalently, it can be expressed by the following expression. Any subset of some of the techniques described in "Other Implementation Methods" can be combined. It can be used together with or. Update encoder model parameters The following is the K in the quantizer controller 22i + 1And Ci + 1One to update the parameters of Technology. This update technique is used in the adaptive mode described in step 4. . Pond classical parameter estimation or model fitting techniques, such as least squares , Recursive least squares, Kalman prediction, etc. can be used instead. Model Parameters can be specified for any block, frame, block group, or frame group. Can also be updated. The model parameters in one embodiment of the present invention use the following weighted average: And is updated or estimated on a block-by-block basis. Using the values of K and C, Bi'Is expected. Instead, some coordinates Tsu Where B 'DCT, iAre the bits used for the DCT coefficients of the i-th image block Is a number. is there. If the general model is used in equation (10), various estimators may be added with additional parameters φ And γ can be used to estimate These parameters are also based on each block. Updated in the order, and the i-th update φiAnd γiIs KI, CiAveraging technique similar to that of Can be found using Weight αISelection of αiCan be chosen in relation to the weight or importance of the blockiness. Α as default value1= ΑTwo= ... = αN= 1, the MSE distortion is Minimum between the null and the coded block. Otherwise, the MSE distortion Miha αiDecreases when is large, αiIncreases when is small. Weight αiTwo examples of choosing This will be described below. In an area like a rectangular window in a videophone image, Large αiThe value is assigned the next smaller quantization value. Small quantization scale Weighted regions are encoded with better quality because the pixels are used to quantize pixel values. Be transformed into Typically, humans pay more attention to the central region of the picture. Therefore, a larger αi Is assigned to an area near the center of the picture. Pyramid formula is used, Larger α for blocks closer to the center of the frameiCan be assigned. In particular BXAnd BYIs the number of blocks along the horizontal and vertical coordinate axes, respectively. . The weight of the i-th block is calculated by the following equation. Here, (a1+ ATwo) And aTwoIs the height and side branches of the pyramid, bXAnd bY Are the horizontal and vertical positions of the block in the frame, respectively. An example For example, a1= 15 and aTwoIf you choose = 1, α of the central blockiValue is the bounding block 16 times of Block join In the codec, Q1 *, ... QN *The quantized value using (see step 2) Needs to be sent to the decoder. For example, H. At 263, the quantization value is Are encoded in the order of the pixel scan, and a 5-bit penalty is required to change the quantization value. Ah You. At high bit rates, the addition of a change in quantization value is negligible, The technology is effective. However, at very low bit rates, this addition is Some techniques are needed to limit the number of times the quantization value changes Become. Unfortunately, existing optimization methods that take account of additions are mathematically inaccurate or Highly costly. Another feature of the present invention is that a block of similar standard deviation Combined into one set, so the quantization values remain constant within that set . This technique is called block combination, and changes the quantization value at a low bit rate. Is to reduce. Weight αiIf you choose the value of It is. Where B / (AN) is the bit rate of the current frame (bits per pixel) It is. The values of B, A, and N are the number of available bits and the This is already defined as the number of pixels and the number of blocks. If the bit rate is 0. If greater than 5, αiAre all equal to 1 and thus have no effect. Low bit At the rate, αiIs linear with each σiApproaching, gradually Q*Reduced range Let Actually, when the bit rate is 0, αi= ΣiAnd all quantization values Are the same, so all blocks are combined into one set. FIG. 6 is a detailed block diagram of the quantizer controller 22 of FIG. One implementation State quantizer controller 22 executes on a general purpose programmable processor. It is. The functional blocks in FIG. 6 represent the main operations performed by this processor. You. The initialization parameters in block 31 may be from pre-processing of the current image or from previous From the parameters previously derived from the frame or from the processor memory (Fig. (Not shown) in any of the previously stored values. Initialization parameters Has N1, S1, B1, K1And C1(Or K from the previous frameN + 1And CN + 1) Is included. The image is divided into N image blocks 14 (FIG. 2) of the pixel A in the block 30. Divided. The energy of the pixels in each block is calculated in block 32. each The weighting factor assigned to the block is calculated at block. image The amount of energy remaining is updated in block 40 to encode the image Are updated in block 38. Encoder model parameters Is updated in block 42 and the number of blocks remaining for encoding is Be organized. The processor of block 36 comprises blocks 32, 34, 40, 38, According to the values derived in steps 42 and 44, the above-mentioned optimization step size is calculated. Having described and illustrated the principles of the present invention in a preferred embodiment, It is clear that changes can be made to the equipment and details without leaving It is easy. All changes and changes are within the scope and spirit of the following claims. It is a thing to lay.
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),CN,JP,KR,S G────────────────────────────────────────────────── ─── Continuation of front page (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FI, FR, GB, GR, IE, IT, L U, MC, NL, PT, SE), CN, JP, KR, S G
Claims (1)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4029597P | 1997-02-11 | 1997-02-11 | |
US60/040,295 | 1997-02-11 | ||
US09/008,137 US6111991A (en) | 1998-01-16 | 1998-01-16 | Method and apparatus for optimizing quantizer values in an image encoder |
US09/008,137 | 1998-01-16 | ||
PCT/US1998/001827 WO1998035500A1 (en) | 1997-02-11 | 1998-01-30 | Method and apparatus for optimizing quantizer values in an image encoder |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001526850A true JP2001526850A (en) | 2001-12-18 |
Family
ID=26677843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53480498A Ceased JP2001526850A (en) | 1997-02-11 | 1998-01-30 | Method and apparatus for optimizing a quantization value in an image encoder |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2001526850A (en) |
WO (1) | WO1998035500A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013021690A (en) * | 2011-07-07 | 2013-01-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandte Forschung E V | Model parameter estimation for a rate- or distortion-quantization model function |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2356510B (en) * | 1999-11-18 | 2004-04-21 | Sony Uk Ltd | Data compression |
WO2002080567A1 (en) | 2001-03-30 | 2002-10-10 | Sony Corporation | Image signal quantizing device and its method |
CN1206864C (en) * | 2002-07-22 | 2005-06-15 | 中国科学院计算技术研究所 | Association rate distortion optimized code rate control method and apparatus thereof |
EP1629675B1 (en) * | 2003-04-04 | 2008-01-09 | Avid Technology, Inc. | Fixed bit rate, intraframe compression and decompression of video |
US7433519B2 (en) | 2003-04-04 | 2008-10-07 | Avid Technology, Inc. | Bitstream format for compressed image data |
US7403561B2 (en) | 2003-04-04 | 2008-07-22 | Avid Technology, Inc. | Fixed bit rate, intraframe compression and decompression of video |
EP1892965A3 (en) * | 2003-04-04 | 2011-04-06 | Avid Technology, Inc. | Fixed bit rate, intraframe compression and decompression of video |
WO2009157827A1 (en) * | 2008-06-25 | 2009-12-30 | Telefonaktiebolaget L M Ericsson (Publ) | Row evaluation rate control |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134475A (en) * | 1990-12-11 | 1992-07-28 | At&T Bell Laboratories | Adaptive leak hdtv encoder |
US5144423A (en) * | 1990-12-11 | 1992-09-01 | At&T Bell Laboratories | Hdtv encoder with forward estimation and constant rate motion vectors |
US5475501A (en) * | 1991-09-30 | 1995-12-12 | Sony Corporation | Picture encoding and/or decoding method and apparatus |
JP3245977B2 (en) * | 1992-06-30 | 2002-01-15 | ソニー株式会社 | Digital image signal transmission equipment |
US5426463A (en) * | 1993-02-22 | 1995-06-20 | Rca Thomson Licensing Corporation | Apparatus for controlling quantizing in a video signal compressor |
KR100289854B1 (en) * | 1993-06-08 | 2001-05-15 | 이데이 노부유끼 | Encoding Device and Method |
BE1007807A3 (en) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Apparatus for encoding a video signal. |
US5550590A (en) * | 1994-03-04 | 1996-08-27 | Kokusai Denshin Denwa Kabushiki Kaisha | Bit rate controller for multiplexer of encoded video |
CA2118880A1 (en) * | 1994-03-11 | 1995-09-12 | Kannan Ramchandran | Jpeg/mpeg decoder-compatible optimized thresholding for image and video signal compression |
-
1998
- 1998-01-30 JP JP53480498A patent/JP2001526850A/en not_active Ceased
- 1998-01-30 WO PCT/US1998/001827 patent/WO1998035500A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013021690A (en) * | 2011-07-07 | 2013-01-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandte Forschung E V | Model parameter estimation for a rate- or distortion-quantization model function |
US9445102B2 (en) | 2011-07-07 | 2016-09-13 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | Model parameter estimation for a rate- or distortion-quantization model function |
Also Published As
Publication number | Publication date |
---|---|
WO1998035500A1 (en) | 1998-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6111991A (en) | Method and apparatus for optimizing quantizer values in an image encoder | |
US7349474B2 (en) | Method and apparatus for variable bit-rate control in video encoding systems and computer program product therefor | |
US6891889B2 (en) | Signal to noise ratio optimization for video compression bit-rate control | |
US8121190B2 (en) | Method for video coding a sequence of digitized images | |
US6690833B1 (en) | Apparatus and method for macroblock based rate control in a coding system | |
US8532169B2 (en) | Rate control for two-pass encoder using adaptive quantization parameters | |
JP2006140758A (en) | Method, apparatus and program for encoding moving image | |
JP2000506687A (en) | Apparatus and method for optimizing encoding using perceptual amount and performing automatically operable image compression | |
US20200275104A1 (en) | System and method for controlling video coding at frame level | |
JP2001512643A (en) | Apparatus and method for optimizing rate control in a coding system | |
JP2007089035A (en) | Moving image encoding method, apparatus, and program | |
Dar et al. | Motion-compensated coding and frame rate up-conversion: Models and analysis | |
US20220014758A1 (en) | System and method for controlling video coding within image frame | |
JP2003037843A (en) | Picture processor, method therefor, recording medium and program thereof | |
KR20030065588A (en) | Method of performing video encoding rate control using bit budget | |
Ribas-Corbera et al. | Optimizing block size in motion-compensated video coding | |
US8325807B2 (en) | Video coding | |
JP2001526850A (en) | Method and apparatus for optimizing a quantization value in an image encoder | |
JP4532607B2 (en) | Apparatus and method for selecting a coding mode in a block-based coding system | |
US6141449A (en) | Coding mode determination system | |
JP4253276B2 (en) | Image coding method | |
KR100601846B1 (en) | Apparatus and Method for Distortion Optimization of Moving Picture Compaction Encoder | |
CN112243129B (en) | Video data processing method and device, computer equipment and storage medium | |
Lee et al. | A rate control algorithm for DCT-based video coding using simple rate estimation and linear source model | |
KR100911098B1 (en) | Apparatus and method for prediction of distortion in H.263 video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050405 |
|
A313 | Final decision of rejection without a dissenting response from the applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A313 Effective date: 20050714 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050823 |