JP2006100993A - Image coding device and coding parameter calculation program - Google Patents
Image coding device and coding parameter calculation program Download PDFInfo
- Publication number
- JP2006100993A JP2006100993A JP2004282249A JP2004282249A JP2006100993A JP 2006100993 A JP2006100993 A JP 2006100993A JP 2004282249 A JP2004282249 A JP 2004282249A JP 2004282249 A JP2004282249 A JP 2004282249A JP 2006100993 A JP2006100993 A JP 2006100993A
- Authority
- JP
- Japan
- Prior art keywords
- orthogonal transform
- frequency
- transform coefficient
- quantization
- statistical information
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
この発明は画像データを量子化して符号化する際に使用する適正な符号化パラメータを算出する画像符号化装置及び符号化パラメータ算出プログラムに関するものである。 The present invention relates to an image encoding apparatus and an encoding parameter calculation program for calculating appropriate encoding parameters used when image data is quantized and encoded.
非特許文献1に記載された従来の画像符号化装置では、入力された画像データを直交変換し、直交変換後の直交変換係数を所定の量子化ステップサイズで量子化し、量子化後の量子化係数を可変長符号化し、可変長符号化された画像データは符号化ビット列として送信バッファに蓄積される。
In the conventional image encoding device described in Non-Patent
送信バッファに蓄積された符号化ビット列は、所定の伝送速度で画像符号化装置の外部に出力される。この際、送信バッファがアンダーフロー又はオーバーフローしないように、送信バッファに蓄積される符号化ビット列のデータ量である符号量を制御する必要がある。符号量を制御する方法として、送信バッファに蓄積される符号量に応じて、量子化の際の量子化ステップサイズを変更する方法が広く用いらている。すなわち、送信バッファに蓄積されている符号量が大きいときには、量子化ステップサイズを大きくして生成する符号量を減少させ、送信バッファに蓄積されている符号量が小さいときには、量子化ステップサイズを小さくして生成する符号量を増加させることにより、伝送速度に応じた符号量を生成することができる。 The encoded bit string stored in the transmission buffer is output to the outside of the image encoding device at a predetermined transmission rate. At this time, it is necessary to control the code amount which is the data amount of the encoded bit string stored in the transmission buffer so that the transmission buffer does not underflow or overflow. As a method of controlling the code amount, a method of changing the quantization step size at the time of quantization according to the code amount accumulated in the transmission buffer is widely used. That is, when the code amount accumulated in the transmission buffer is large, the code amount generated by decreasing the quantization step size is decreased, and when the code amount accumulated in the transmission buffer is small, the quantization step size is decreased. By increasing the amount of code generated in this way, it is possible to generate a code amount according to the transmission rate.
MPEG(Moving Picture Experts Group)−2の場合には、量子化ステップサイズは量子化スケール(quantiser_scale)と量子化マトリクス(quantiser_matrix)の2つのパラメータにより決定される。量子化の際に、直交変換係数は量子化マトリクス(quantiser_matrix)と量子化スケール(quantiser_scale)を用いて例えば次の式(1)に示すように量子化係数が算出される。
量子化係数(u,v)
=(直交変換係数(u,v)×8÷quantiser_matrix(u,v)
+r)//quantiser_scale (1)
ここで、u,vは0≦u,v≦7となる整数、rは整数、//は除算後、小数点以下を四捨五入する処理を示す。
In the case of MPEG (Moving Picture Experts Group) -2, the quantization step size is determined by two parameters: a quantization scale (quantizer_scale) and a quantization matrix (quantizer_matrix). At the time of quantization, for example, the orthogonal transformation coefficient is calculated as shown in the following equation (1) using a quantization matrix (quantizer_matrix) and a quantization scale (quantizer_scale).
Quantization coefficient (u, v)
= (Orthogonal transform coefficient (u, v) × 8 ÷ quantizer_matrix (u, v)
+ R) // quantizer_scale (1)
Here, u and v are integers satisfying 0 ≦ u and v ≦ 7, r is an integer, and // indicates a process of rounding off after the decimal point after division.
量子化ステップサイズの変更は、量子化マトリクスの数値を固定して量子化スケールを変更する方法が広く用いられているが、画像データの空間周波分布に応じて量子化マトリクスを変更する方法も報告されている。例えば、特許文献1では、画像データの高周波数成分を検出し、この検出結果を用いて量子化マトリクスを変更させている。
To change the quantization step size, a method of changing the quantization scale by fixing the value of the quantization matrix is widely used, but a method of changing the quantization matrix according to the spatial frequency distribution of the image data is also reported. Has been. For example, in
従来の画像符号化装置は以上のように構成されているので、量子化スケールの変更によって符号量を制御する方法は必ずしも良好な画質が得られるとは限らず、例えば量子化スケールを大きくした場合には、画質との関連が高い低周波数成分の量子化精度も低下するために、主観画質が著しく劣化する恐れがあるという課題があった。 Since the conventional image coding apparatus is configured as described above, the method for controlling the code amount by changing the quantization scale does not always provide good image quality. For example, when the quantization scale is increased However, there is a problem that the subjective image quality may be remarkably deteriorated because the quantization accuracy of low-frequency components that are highly related to the image quality is also lowered.
また、特許文献1では、画像の空間周波数分布に応じて量子化マトリクスを変更することにより、低周波数成分の量子化精度の低下に起因する主観画質の劣化を抑えることができるが、量子化マトリクスを変更することによる符号化特性の変化、すなわち量子化係数の適切なスキャン順序の変化やVLCテーブルの適正値の変化まで考慮されていないために、圧縮率を十分に向上することができないという課題があった。
Further, in
この発明は上記のような課題を解決するためになされたもので、主観画質を著しく劣化させることなく、圧縮率を向上することができる画像符号化装置及び符号化パラメータ算出プログラムを得ることを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to obtain an image encoding device and an encoding parameter calculation program capable of improving the compression rate without significantly degrading the subjective image quality. And
この発明に係る画像符号化装置は、画像データを直交変換して直交変換係数を出力する直交変換部と、出力された上記直交変換係数の各周波数毎の統計情報を算出する直交変換係数統計情報算出部と、算出された上記直交変換係数の各周波数毎の統計情報に基づき、量子化及び符号化の際に使用する符号化パラメータを算出する符号化パラメータ制御部とを備えたものである。 An image encoding apparatus according to the present invention includes an orthogonal transform unit that orthogonally transforms image data and outputs orthogonal transform coefficients, and orthogonal transform coefficient statistical information that calculates statistical information for each frequency of the output orthogonal transform coefficients. A calculation unit and an encoding parameter control unit that calculates an encoding parameter to be used for quantization and encoding based on the calculated statistical information for each frequency of the orthogonal transform coefficient are provided.
この発明により、主観画質を著しく劣化させることなく、圧縮率を向上することができるという効果が得られる。 According to the present invention, it is possible to improve the compression rate without significantly degrading the subjective image quality.
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置の構成を示すブロック図である。この画像符号化装置は、フレームメモリ1、減算部2、スイッチ3、直交変換部4、直交変換係数統計情報算出部5、符号化パラメータ制御部6、量子化部7、VLC(Variable Length Coding)部8、送信バッファ9、逆量子化部10、逆直交変換部11、加算部12、スイッチ13、フレームメモリ14及び動き補償部15を備えている。
An embodiment of the present invention will be described below.
FIG. 1 is a block diagram showing a configuration of an image coding apparatus according to
図1において、フレームメモリ1は入力した画像データ101を一時的に蓄積し、直交変換部4はフレームメモリ1に蓄積された画像データ101、又は減算部2により生成された画像データ101と動き補償部15から出力される予測参照画像データ115との差分である差分データ116を直交変換して直交変換係数102を出力する。
In FIG. 1, the
直交変換係数統計情報算出部5は直交変換部4より出力された直交変換係数102を入力し直交変換係数の各周波数毎の統計情報103を算出し、符号化パラメータ制御部6は直交変換係数統計情報算出部5により算出された直交変換係数の各周波数毎の統計情報103に基づき、量子化及び可変長符号化の際に使用する適正な符号化パラメータ104を算出する。
The orthogonal transform coefficient statistical
量子化部7は、符号化パラメータ制御部6により算出された符号化パラメータ104に基づき、直交変換部4より出力された直交変換係数102を量子化して量子化された直交変換係数である量子化係数105を出力する。VLC部8は、符号化パラメータ制御部6により算出された符号化パラメータ104に基づき、量子化係数105や符号化関連情報を可変長符号化して符号化データ106を出力する。送信バッファ9はVLC部8から出力される符号化ビット列106を一時的に蓄積して外部に出力する。
The
逆量子化部10は、符号化パラメータ制御部6により算出された符号化パラメータ104に基づき、量子化部7から出力される量子化係数105を逆量子化して直交変換係数111を出力し、逆直交変換部11は逆量子化された直交変換係数111に対して逆直交変換を行い画像データ112を復元する。フレームメモリ14は逆直交変換部11から出力される画像データ112又は加算部12により生成された逆直交変換部11からの画像データ112と動き補償部15から出力される予測参照画像データ115とを加算した加算データ113を一時的に蓄積し、動き補償部15はフレームメモリ14に蓄積された参照画像データ114を用いて以降に符号化する画像データ101のための予測参照画像データ115を生成する。
The
図2は符号化パラメータ制御部6の内部構成を示すブロック図である。この符号化パラメータ制御部6は、量子化マトリクス算出部21、量子化係数期待値算出部22、スキャン順序算出部23、VLCテーブル算出部24、量子化スケール算出部25及び符号化パラメータ設定部26を備えている。
FIG. 2 is a block diagram showing an internal configuration of the encoding
図2において、量子化マトリクス算出部21は、直交変換係数統計情報算出部5により算出された直交変換係数の各周波数毎の統計情報103に基づき、適正な量子化マトリクス121を算出する。量子化係数期待値算出部22は、直交変換係数の各周波数毎の統計情報103と量子化マトリクス算出部21により算出された量子化マトリクス121に基づき、量子化後の直交変換係数である量子化係数の期待値122を算出する。スキャン順序算出部23は、量子化係数期待値算出部22により算出された量子化係数の期待値122又は直交変換係数の各周波数毎の統計情報103に基づき適正なスキャン順序123を算出すると共に、算出したスキャン順序123により並び替えられた量子化係数の期待値124を出力する。
In FIG. 2, the quantization
VLCテーブル算出部24は、スキャン順序に並び替えられた量子化係数の期待値124又は直交変換係数の各周波数毎の統計情報103に基づき、適正なVLCテーブル125を算出すると共に、算出したVLCテーブル125を使用して可変長符号化することにより符号量の期待値126を算出する。量子化スケール算出部25は、符号量の期待値126又は直交変換係数の各周波数毎の統計情報103に基づき適正な量子化スケール127を算出する。符号化パラメータ設定部26は算出された量子化マトリクス121、スキャン順序123、VLCテーブル125及び量子化スケール127を、それぞれ適正なタイミングで適正な符号化パラメータ104として設定して量子化部7、VLC部8及び逆量子化部10に出力する。
The VLC
次に動作について説明する。
図1において、入力された画像データ101はフレームメモリ1に蓄積される。フレームメモリ1に蓄積された画像データ101の中から符号化順序に応じた1フレームが選択されて直交変換部4に出力される。直交変換部4の入力は、フレームメモリ1から出力される画像データ101か、又は減算部2により生成された画像データ101と動き補償部15で生成される予測参照画像データ115との差分である差分データ116のいずれかとなる。直交変換部4は入力された画像データ101又は差分データ116に対して直交変換を行い直交変換係数102を出力する。
Next, the operation will be described.
In FIG. 1,
量子化部7は、符号化パラメータ制御部6から出力された符号化パラメータ104、すなわち量子化マトリクス121と量子化スケール127に基づき、直交変換部4から出力された直交変換係数102を量子化して量子化後の直交変換係数である量子化係数105を出力する。VLC部4は、符号化パラメータ制御部6から出力された符号化パラメータ105、すなわち量子化マトリクス121、スキャン順序123、VLCテーブル125及び量子化スケール127を入力し、入力したスキャン順序123とVLCテーブル125に基づき、量子化部7からの量子化係数105と、ヘッダとして付加された量子化マトリクス121、スキャン順序123、VLCテーブル125及び量子化スケール127等の符号化関連情報を可変長符号化する。送信バッファ9は可変長符号化された符号化ビット列106を蓄積する。
The
逆量子化部10は、量子化部7と同じステップサイズ、すなわち、符号化パラメータ制御部6から出力された符号化パラメータ104である量子化マトリクス121及び量子化スケール127に基づき、量子化部7から出力された量子化係数105を逆量子化して直交変換係数111を出力する。逆直交変換部11は逆量子化された直交変換係数111に対して逆直交変換を行って画像データ112を生成する。この画像データ112は、フレームメモリ14に蓄積されるか、又は加算部12により動き補償部15で生成される予測参照画像データ115と加算されて加算データ113としてフレームメモリ14に蓄積される。動き補償部15は、以降に符号化する画像データ101とフレームメモリ14に蓄積された参照画像データ114により予測参照画像データ115を生成する。
The
直交変換係数統計情報算出部5は、直交変換部4から出力された直交変換係数102を入力し、Nピクチャ(N:任意の実数)期間又はNスライス期間の直交変換係数の各周波数毎の統計情報103を算出して符号化パラメータ制御部6に出力する。算出する直交変換係数の各周波数毎の統計情報103の種類としては、例えば、Nピクチャ期間又はNスライス期間の直交変換係数の各周波数毎の平均値、最大値、最小値、分散値、偏差値、中間値、合計値等のいずれかである。
The orthogonal transform coefficient statistical
図2において、符号化パラメータ制御部6の量子化マトリクス算出部21は、直交変換係数統計情報算出部5から出力されたNピクチャ期間又はNスライス期間の直交変換係数の各周波数毎の統計情報103に基づき、入力した画像データ101に適した量子化マトリクス121を算出する。
In FIG. 2, the quantization
次に量子化マトリクス算出部21による量子化マトリクス121の算出式の例を次の式(2)に示す。
quantiser_matrix(u,v)
=正規化[f(u,v)+|K(u,v)|×g(u,v)] (2)
ここで、u,vは0≦u,v≦7となる整数、K(u,v)は過去Nピクチャ(N:任意の実数)期間又はNスライス期間に集計した直交変換係数の各周波数毎の統計情報103としての平均値で、f(u,v)、g(u,v)は係数セットである。正規化[*]は量子化マトリクス121が所定の形式になるように数値を正規化するための変換関数を表す。例えば、MPEG−2では量子化マトリクス121の成分は1から255の範囲の整数値であり、イントラ符号化の場合はquantiser_matrix(0,0)=8というように定義されているため、それらの定義に合致するように数値を正規化する。すなわち、算出した量子化マトリクス121のquantiser_matrix(0,0)の値が8でない場合には、8になるようにquantiser_matrix(u,v)の値全体に所定の実数を乗算したり、量子化マトリクス121を1から255の範囲になるようにクリッピングする。
Next, an example of a calculation formula of the
quantiser_matrix (u, v)
= Normalization [f (u, v) + | K (u, v) | × g (u, v)] (2)
Here, u and v are integers satisfying 0 ≦ u and v ≦ 7, and K (u, v) is for each frequency of orthogonal transform coefficients aggregated in the past N picture (N: arbitrary real number) period or N slice period. F (u, v) and g (u, v) are coefficient sets. Normalization [*] represents a conversion function for normalizing numerical values so that the
上記式(2)におけるf(u,v)とg(u,v)は人間の視覚周波数特性や画像符号化特性やユーザの判断等に応じて任意に設定された係数セットである。
図3は係数セットf(u,v)とg(u,v)の具体例を示す図である。図3(a)に示すf(u,v)はMPEG−2における標準のマトリクス(デフォルトマトリクス)であり、人間の視覚周波数特性等を考慮して定められたものである。図3(b)に示すg(u,v)は実験データをもとに導出したもので、低周波成分は小さな値で高周波成分は大きな値となる傾斜型の係数セットある。このように、式(2)に示す「f(u,v)+|K(u,v)|×g(u,v)」は、標準のマトリクスf(u,v)を、過去Nピクチャ(N:任意の実数)期間又はNスライス期間に集計した直交変換係数の各周波数毎の統計情報103としての平均値K(u,v)と実験データをもとに導出した係数セットg(u,v)を乗算した値で補正していることを意味している。
In the above equation (2), f (u, v) and g (u, v) are coefficient sets arbitrarily set according to human visual frequency characteristics, image coding characteristics, user judgment, and the like.
FIG. 3 is a diagram showing a specific example of the coefficient sets f (u, v) and g (u, v). F (u, v) shown in FIG. 3A is a standard matrix (default matrix) in MPEG-2, and is determined in consideration of human visual frequency characteristics and the like. G (u, v) shown in FIG. 3B is derived from experimental data, and is a gradient type coefficient set in which the low frequency component has a small value and the high frequency component has a large value. In this way, “f (u, v) + | K (u, v) | × g (u, v)” shown in Expression (2) represents the standard matrix f (u, v) in the past N pictures. The coefficient set g (u) derived from the average value K (u, v) as the
上記式(2)より算出される量子化マトリクス121を用いると、電力が集中する周波数成分の|K(u,v)|の値が大きくなり、電力が集中する周波数成分において量子化精度が荒くなるため、特定の周波数成分で膨大な符号量が発生することを防ぐことができる。さらに、g(u,v)に図3(b)に示すような傾斜型の係数セットを用いることにより、上記式(2)において、低周波成分は|K(u,v)|の値の変化に影響を受けにくく、高周波成分になるほど|K(u,v)|の値の変化に影響を受けやすくなり、主観画質に大きく影響する低周波数成分では高い量子化精度を維持することができ、優先度の低い高周波数成分から順に量子化精度を落としていくことができる。
When the
上記式(2)では、K(u,v)として、過去Nピクチャ期間又はNスライス期間に算出した直交変換係数の各周波数毎の平均値を用いているが、他の統計値で代用することもできる。例えば、これから符号化するピクチャの直交変換係数情報が事前に得られる場合には、それらの情報を用いても良い。また、平均値ではなく、最大値、最小値、分散値、偏差値、中間値、合計値等のいずれかを用いても良い。 In the above equation (2), the average value of each orthogonal transform coefficient calculated in the past N picture period or N slice period is used as K (u, v), but other statistical values may be used instead. You can also. For example, when orthogonal transform coefficient information of a picture to be encoded is obtained in advance, such information may be used. Further, instead of the average value, any one of a maximum value, a minimum value, a variance value, a deviation value, an intermediate value, a total value, and the like may be used.
また、この例では直交変換係数102の集計単位として、直交変換係数102の周波数を64(8×8)エリアに区分しているが、符号化方式や装置構成に応じた任意のエリア区分として構わない。
Further, in this example, the frequency of the
次に量子化マトリクスの算出式の別の例を次の式(3)に示す。
quantiser_matrix(u,v)
=正規化[f(u,v)+k×g(u,v)] (3)
ここで、kは直交変換係数の各周波数毎の統計情報103を用いて算出される実数である。kには、例えば、各周波数毎に算出した統計情報103の中の特定の周波数成分に比例する値や、低周波数成分から高周波成分への統計情報103の傾きに比例する値を設定する。上記式(3)を用いる場合、一部の周波数の統計情報103しか用いないために、統計情報の集計や演算量を抑えることができるという利点がある。
Next, another example of the quantization matrix calculation formula is shown in the following formula (3).
quantiser_matrix (u, v)
= Normalization [f (u, v) + k × g (u, v)] (3)
Here, k is a real number calculated using the
図2において、量子化係数期待値算出部22は、直交変換係数の各周波数毎の統計情報103と量子化マトリクス算出部21により算出された量子化マトリクス121に基づき、量子化係数の期待値122を算出する。
次に量子化係数の期待値122の算出式の例を次の式(4)に示す。
量子化係数の期待値(u,v)
=(K(u,v)×8÷quantiser_matrix(u,v)+r)
//目標quantiser_scale (4)
ここで、u,vは0≦u,v≦7となる整数、rは整数、K(u,v)は例えば過去Nピクチャ(N:任意の実数)期間又はNスライス期間に集計した直交変換係数102の各周波数毎の統計情報103としての平均値を示す。この平均値は他の統計情報でも代用可能であることは前述のとおりである。目標quantiser_scaleには、各ピクチャの符号化において目標とするquantiser_scaleを設定するが、後述の量子化スケール算出部25により算出された適正な量子化スケール127により補正される。
In FIG. 2, the expected quantization coefficient
Next, an example of a calculation formula for the expected
Expected value of quantization coefficient (u, v)
= (K (u, v) × 8 ÷ quantizer_matrix (u, v) + r)
// Target quantizer_scale (4)
Here, u and v are integers satisfying 0 ≦ u and v ≦ 7, r is an integer, and K (u, v) is an orthogonal transform aggregated in, for example, the past N picture (N: any real number) period or N slice period. An average value of the coefficient 102 as the
図2において、スキャン順序算出部23は量子化係数期待値算出部22により算出された量子化係数の期待値122に基づき適正なスキャン順序123を算出する。
図4はMPEG−2で規定されている量子化係数105のスキャン順序を示す図である。図4(a)はジグザグスキャン順序を示し、図4(b)は垂直方向優先スキャン順序を示す。量子化係数105は図4(a)又は図4(b)に示した番号順に符号化され、符号化ビット列106に多重されていく。図4(a)と図4(b)のいずれの順序を採用するかは一般に画像符号化装置で任意に設定することができる。MPEG−2ではランレングス(量子化係数105をスキャン順序に並べたときに連続するゼロ係数の長さ)が短くなるほど短い可変長符号を割り当てられるようになっているため、画像データ101に応じて適正なスキャン順序123を選択することにより符号量を削減することができる。
In FIG. 2, the scan
FIG. 4 is a diagram showing the scan order of the
図5はスキャン順序算出部23が適正なスキャン順序123を選択する際の処理を示すフローチャートである。
図6は量子化係数の期待値122の水平周波数エリアと垂直周波数エリアの区分の例を示す図である。
図5のステップST11において、水平周波数エリアにおける量子化係数の期待値122の絶対値和Sum_H、垂直周波数エリアにおける量子化係数の期待値122の絶対値和Sum_Vを算出する。ここで、各エリアに属する量子化係数の期待値122の全部又は一部の絶対値和を算出する。
FIG. 5 is a flowchart showing processing when the scan
FIG. 6 is a diagram illustrating an example of the division of the horizontal frequency area and the vertical frequency area of the expected
In step ST11 of FIG. 5, the absolute value sum Sum_H of the expected
ステップST12において、算出した絶対値和Sum_HとSum_Vを比較して、絶対値和Sum_Hが絶対値和Sum_Vよりも大きな場合には、ステップST13においてジグザグスキャンを選択し、そうでない場合には、ステップST14において垂直方向優先スキャンを選択する。このように、各エリアに属する量子化係数の期待値122の全部又は一部の絶対値和を尺度として適正なスキャン順序123を算出する。
In step ST12, the calculated absolute value sums Sum_H and Sum_V are compared. If the absolute value sum Sum_H is larger than the absolute value sum Sum_V, the zigzag scan is selected in step ST13. Otherwise, step ST14 is selected. The vertical direction priority scan is selected. In this way, an
図7はスキャン順序算出部23が適正なスキャン順序123を選択する際の別の処理を示すフローチャートである。ステップST21において、水平周波数エリアにおける量子化係数の期待値122の絶対値和Sum_Hを算出する。ステップST22において、算出した絶対値和Sum_Hと所定の実数THを比較して、絶対値和Sum_Hが所定の実数THよりも大きな場合には、ステップST23においてジグザグスキャンを選択し、そうでない場合には、ステップST24において垂直方向優先スキャンを選択する。この図7に示すフローチャートの処理は、図5に示すフローチャートの処理よりも低演算量で実現できることが利点である。
FIG. 7 is a flowchart showing another process when the scan
また、図5及び図7の方法以外には、各スキャン順序で量子化係数の期待値122を整列したときにランレングスの合計値の小さいほうを選択する方法も有効である。
In addition to the methods shown in FIGS. 5 and 7, it is also effective to select the smaller run-length total value when the quantized coefficient expected
MPEG−2以外の符号化方式において、図4に示す2種類以外のスキャン順序が利用できる場合には、量子化係数の期待値122の大きい成分を優先するように適正なスキャン順序123を決定することにより符号量の削減を図ることができる。
In an encoding scheme other than MPEG-2, when a scan order other than the two types shown in FIG. 4 can be used, an
上記の例では、スキャン順序算出部23は量子化係数期待値算出部22により算出された量子化係数の期待値122に基づき適正なスキャン順序123を算出しているが、スキャン順序算出部23は、量子化係数の期待値122の代りに、直交変換係数の各周波数毎の統計情報103、例えば、平均値や最小値に基づき、適正なスキャン順序123を算出しても良い。ただし、この場合には、直交変換係数統計情報算出部5は、直交変換係数の各周波数毎の統計情報103として、予め規定される符号化パラメータの値の範囲に合致するように適正に補正した値を出力するものとする。
In the above example, the scan
このようにして、スキャン順序算出部23は、量子化係数期待値算出部22により算出された量子化係数の期待値122又は直交変換係数の各周波数毎の統計情報103に基づき適正なスキャン順序123を算出すると共に、算出したスキャン順序123に基づき並び替えられた量子化係数の期待値124をVLCテーブル算出部24に出力する。
In this way, the scan
図2において、VLCテーブル算出部24はスキャン順序算出部23によりスキャン順序に並び替えられた量子化係数の期待値124に基づき適正なVLCテーブル125を算出する。
図8はVLCテーブル算出部24が適正なVLCテーブル125を算出する際の処理を示すフローチャートである。MPEG−2の場合は2種類のVLCテーブルを任意に選択可能であるが、このフローチャートに示す処理を行うことにより、符号化効率の良いVLCテーブル125を選択することが可能となる。ここで、MPEG−2で規定されている2種類のVLCテーブルは、比較的発生頻度の高いランレングス及びレベルの組に対して可変長符号を割り当てるVLCテーブルと、高レートでイントラマクロブロックを符号化する場合を想定した分散の大きなランレングス及びレベルの組に対して可変長符号を割り当てるVLCテーブルである。
In FIG. 2, the VLC
FIG. 8 is a flowchart showing processing when the VLC
図8のステップST31において、スキャン順序に並び替えられた量子化係数の期待値124によりランレングス及びレベルを求める。ステップST32において、各VLCテーブルを用いて並び替えられた量子化係数の期待値124を符号化したときの符号量の和を計算する。ステップST33において、計算した符号量の和が最小のVLCテーブルを選択して適正なVLCテーブル125として出力する。
In step ST31 in FIG. 8, the run length and level are obtained from the expected
MPEG−2の場合には、図8に示すように、2種類のVLCテーブルの中から適正なVLCテーブル125を選択しているが、MPEG−2以外の場合でVLCテーブルを自由に構築可能な符号化方式の場合には、スキャン順序に並び替えられた量子化係数の期待値124によりランレングス及びレベルの組の発生頻度を求め、頻出するランレングス及びレベルの組に対してより短い可変長符号を割り当てるようにVLCテーブルを更新して適正なVLCテーブル125として出力しても良い。
In the case of MPEG-2, an appropriate VLC table 125 is selected from two types of VLC tables as shown in FIG. 8, but a VLC table can be freely constructed in cases other than MPEG-2. In the case of the encoding method, the occurrence frequency of the run length and level pair is obtained from the expected
上記の例では、VLCテーブル算出部24はスキャン順序算出部23によりスキャン順序に並び替えられた量子化係数の期待値124に基づき適正なVLCテーブル125を算出しているが、VLCテーブル算出部24は、スキャン順序に並び替えられた量子化係数の期待値124の代りに、直交変換係数の各周波数毎の統計情報103、例えば、平均値や最小値に基づき、適正なVLCテーブル125を算出しても良い。ただし、この場合には、直交変換係数統計情報算出部5は、直交変換係数の各周波数毎の統計情報103として、予め規定される符号化パラメータの値の範囲に合致するように適正に補正した値を出力するものとし、VLCテーブル算出部24は、直交変換係数の各周波数毎の統計情報103の周波数分布に基づき符号量が小さくなるようなスキャン順序を決定してから適正なVLCテーブル125を算出するものとする。
In the above example, the VLC
このようにして、VLCテーブル算出部24は、スキャン順序算出部23によりスキャン順序に並び替えられた量子化係数の期待値124又は直交変換係数の各周波数毎の統計情報103に基づき、適正なVLCテーブル125を算出すると共に、算出したVLCテーブル125を使用してスキャン順序に並び替えられた量子化係数の期待値124に可変長符号を割り当てることにより符号量の期待値126を算出して量子化スケール算出部25に出力する。
In this way, the VLC
図2において、量子化スケール算出部25はVLCテーブル算出部24により算出された符号量の期待値126に基づき適正な量子化スケール127を算出する。すなわち、量子化スケール算出部25は、符号量の期待値126が大きい場合には、設定されている量子化スケールが大きくなるように補正し、符号量の期待値126が小さい場合には、設定されている量子化スケールが小さくなるように補正することにより、発生する符号量の安定化を図ることができ画質の向上を図ることができる。このように発生する符号量の安定化を図ることにより、例えば符号量がビットレートよりも少ない場合にスタッフィングビットの挿入による符号量の浪費や、送信バッファ9に蓄積されている符号化ビット列106の符号量の変動による量子化精度の不均一化を防止できる。
In FIG. 2, the quantization
算出された適正な量子化スケール127は、符号化パラメータ設定部26に出力されると共に、量子化係数期待値算出部22にも出力され、算出された適正な量子化スケール127により、量子化係数期待値算出部22が上記式(4)を使用して量子化係数の期待値122を算出する際の目標quantiser_scaleが補正される。
The calculated appropriate quantization scale 127 is output to the encoding
上記の例では、量子化スケール算出部25はVLCテーブル算出部24により算出された符号量の期待値126に基づき適正な量子化スケール127を算出しているが、量子化スケール算出部25は、VLCテーブル算出部24により算出された符号量の期待値126の代りに、直交変換係数の各周波数毎の統計情報103、例えば、平均値や最小値に基づき、適正な量子化スケール127を算出しても良い。ただし、この場合には、直交変換係数統計情報算出部5は、直交変換係数の各周波数毎の統計情報103として、予め規定される符号化パラメータの値の範囲に合致するように適正に補正した値を出力するものとし、量子化スケール算出部25は、直交変換係数の各周波数毎の統計情報103の周波数分布に基づき符号量が小さくなるような適正なスキャン順序及びVLCテーブルを算出し、算出したVLCテーブル125を使用して符号量の期待値を算出してから適正な量子化スケール127を算出するものとする。
In the above example, the quantization
図2において、符号化パラメータ設定部26は、算出された適正な量子化マトリクス121、適正なスキャン順序123、適正なVLCテーブル125及び適正な量子化スケール127を、それぞれ適切なタイミングで適切な符号化パラメータ104として設定し、適正な量子化マトリクス121及び適正な量子化スケール127を量子化部7と逆量子部10に出力し、適正な量子化マトリクス121、適正なスキャン順序123、適正なVLCテーブル125及び適正な量子化スケール127をVLC部8に出力する。
In FIG. 2, the encoding
図1において、量子化部7は、符号化パラメータ制御部6から出力された適正な符号化パラメータ104、すなわち適正な量子化マトリクス121及び適正な量子化スケール127に基づき、直交変換部4から出力された直交変換係数102を量子化して量子化後の直交変換係数である量子化係数105を出力する。VLC部8は、符号化パラメータ制御部6から出力された適正な符号化パラメータ104、すなわち適正な量子化マトリクス121、適正なスキャン順序123、適正なVLCテーブル125及び適正な量子化スケール127を入力し、入力した適正なスキャン順序123と適正なVLCテーブル125に基づき、量子化部7からの量子化係数103と、ヘッダとして付加された量子化マトリクス121とスキャン順序123とVLCテーブル125と量子化スケール127等の符号化関連情報を可変長符号化する。送信バッファ9は可変長符号化された符号化ビット列106を蓄積する。
In FIG. 1, the
以上のように、この実施の形態1によれば、直交変換係数統計情報算出部5が直交変換係数の各周波数毎の統計情報103を算出し、符号化パラメータ制御部6が算出された直交変換係数の各周波数毎の統計情報103に基づき、適正な符号化パラメータ104を算出し、量子化部7及びVLC部8が算出された適正な符号化パラメータ104を使用して量子化及び符号化を行うことにより、主観画質を著しく劣化させることなく、圧縮率を向上することができるという効果が得られる。
As described above, according to the first embodiment, the orthogonal transform coefficient statistical
また、この実施の形態1によれば、量子化マトリクス算出部21が直交変換係数の各周波数毎の統計情報103に基づき適正な量子化マトリクス121を算出することにより、電力が集中する周波数成分において量子化精度が荒くなるため、特定の周波数成分で膨大な符号量が発生することを防ぐことができ、圧縮率の向上を実現することができると共に、その演算において低周波数成分の量子化精度を維持するような傾斜型の係数セットを用いることで、主観画質の劣化を抑えながら、圧縮率の向上を図ることができるという効果が得られる。
Further, according to the first embodiment, the quantization
さらに、この実施の形態1によれば、量子化係数期待値算出部22が算出された量子化マトリクス121により量子化係数の期待値122を算出し、スキャン順序算出部23が量子化係数の期待値122又は直交変換係数の統計情報103に基づき量子化係数の適正なスキャン順序123を算出することにより、冗長な符号量の発生を抑制し、圧縮率を向上することができるという効果が得られる。
Further, according to the first embodiment, the quantization coefficient expected
さらに、この実施の形態1によれば、VLCテーブル算出部24がスキャン順序に並び替えられた量子化係数の期待値124又は直交変換係数の各周波数毎の統計情報103を参照して適正なVLCテーブル125を算出することにより、画像データ101に適した可変長符号を割り当てることが可能となり、圧縮率を飛躍的に向上することができるという効果が得られる。
Furthermore, according to the first embodiment, the VLC
さらに、この実施の形態1によれば、量子化スケール算出部25が、スキャン順序に並び替えられた量子化係数の期待値124を可変長符号化することで得られる符号量の期待値126又は直交変換係数の統計情報103に基づき、適正な量子化スケール127を算出することにより、発生する符号量の安定化を図ることができ、圧縮率を上げた場合にも安定した画質を得ることができるという効果が得られる。
Furthermore, according to the first embodiment, the quantization
実施の形態2.
図9はこの発明の実施の形態2による画像符号化装置の構成を示すブロック図である。この画像符号化装置は、上記実施の形態1の図1と比較して、周波数解析部16と図1に示す直交変換係数統計情報算出部5の代りに直交変換係数統計情報算出部17を備えたもので、その他の構成は図1と同じである。
また、この実施の形態2における符号化パラメータ制御部6の内部構成を示すブロック図は、上記実施の形態1の図2と同じである。
FIG. 9 is a block diagram showing a configuration of an image coding apparatus according to
Further, the block diagram showing the internal configuration of the encoding
次に動作について説明する。
周波数解析部16は、フレームメモリ1に蓄積されている画像データ101に対して、離散フーリエ変換や離散コサイン変換、あるいは帯域通過フィルタ等の手段を用いて周波数解析し、今後、量子化され符号化される直交変換係数の周波数分布情報131を事前に算出して直交変換係数統計情報算出部17に出力する。
Next, the operation will be described.
The
直交変換係数統計情報算出部17は、直交変換部4から出力された直交変換係数102と周波数解析部16により算出された直交変換係数の周波数分布情報131を入力し、入力した直交変換部4からの直交変換係数102に基づき、実施の形態1と同様にして、過去Nピクチャ(N:任意の実数)期間又はNスライス期間に集計した直交変換係数の各周波数毎の統計情報103を算出すると共に、入力した周波数解析部16により算出された今後量子化され符号化される直交変換係数の周波数分布情報131に基づき、算出した直交変換係数の各周波数毎の統計情報103を補正して、直交変換係数の各周波数毎の補正した統計情報132を出力する。
The orthogonal transform coefficient statistical
符号化パラメータ制御部6は、直交変換係数の各周波数毎の補正した統計情報132に基づき、上記実施の形態1と同様にして適正な符号化パラメータ104を算出して、量子化部7、VLC部8及び逆量子化部10に出力する。その他の動作は上記実施の形態1と同様である。
Based on the corrected
以上のように、この実施の形態2によれば、直交変換係数統計情報算出部17が、過去Nピクチャ(N:任意の実数)期間又はNスライス期間に集計した直交変換係数の各周波数毎の統計情報103を、周波数解析部16により算出された今後の直交変換係数の周波数分布情報131に基づき補正し、符号化パラメータ制御部6が直交変換係数の各周波数毎の補正した統計情報132に基づき、適正な符号化パラメータ104を算出することにより、過去Nピクチャ期間又はNスライス期間に集計した直交変換係数の各周波数毎の統計情報103のみを使用して符号化パラメータ104を算出することと比較して、さらに適正な符号化パラメータ104を算出することができ、圧縮率を上げた場合も安定した画質を得ることができるという効果が得られる。
As described above, according to the second embodiment, the orthogonal transform coefficient statistical
なお、上記実施の形態1及び上記実施の形態2による画像符号化装置は、コンピュータと、このコンピュータを上記実施の形態1及び上記実施の形態2における各手段として機能させるための符号化パラメータ算出プログラムにより実現することも可能である。 The image coding apparatus according to the first embodiment and the second embodiment includes a computer and a coding parameter calculation program for causing the computer to function as each unit in the first embodiment and the second embodiment. Can also be realized.
1 フレームメモリ、2 減算部、3 スイッチ、4 直交変換部、5 直交変換係数統計情報算出部、6 符号化パラメータ制御部、7 量子化部、8 VLC部、9 送信バッファ、10 逆量子化部、11 逆直交変換部、12 加算部、13 スイッチ、14 フレームメモリ、15 動き補償部、16 周波数解析部、17 直交変換係数統計情報算出部、21 量子化マトリクス算出部、22 量子化係数期待値算出部、23 スキャン順序算出部、24 VLCテーブル算出部、25 量子化スケール算出部、26 符号化パラメータ設定部、101 画像データ、102 直交変換係数、103 直交変換係数の各周波数毎の統計情報、104 符号化パラメータ、105 量子化係数、106 符号化ビット列、111 直交変換係数、112 画像データ、113 加算データ、114 参照画像データ、115 予測参照画像データ、121 量子化マトリクス、122 量子化係数の期待値、123 スキャン順序、124 スキャン順序に並び替えられた量子化係数の期待値、125 VLCテーブル、126 符号量の期待値、127 量子化スケール、131 直交変換係数の周波数分布情報、132 直交変換係数の各周波数毎の補正した統計情報。 1 frame memory, 2 subtraction unit, 3 switch, 4 orthogonal transform unit, 5 orthogonal transform coefficient statistical information calculation unit, 6 encoding parameter control unit, 7 quantization unit, 8 VLC unit, 9 transmission buffer, 10 inverse quantization unit , 11 Inverse orthogonal transform unit, 12 Adder unit, 13 Switch, 14 Frame memory, 15 Motion compensation unit, 16 Frequency analysis unit, 17 Orthogonal transform coefficient statistical information calculation unit, 21 Quantization matrix calculation unit, 22 Expected quantization coefficient Calculation unit, 23 scan order calculation unit, 24 VLC table calculation unit, 25 quantization scale calculation unit, 26 encoding parameter setting unit, 101 image data, 102 orthogonal transform coefficient, 103 statistical information for each frequency of orthogonal transform coefficient, 104 encoding parameters, 105 quantization coefficients, 106 encoded bit strings, 111 orthogonal transform coefficients, 112 Image data, 113 addition data, 114 reference image data, 115 prediction reference image data, 121 quantization matrix, 122 expected value of quantization coefficient, 123 scan order, expected value of quantization coefficient rearranged in 124 scan order, 125 VLC table, 126 expected value of code amount, 127 quantization scale, 131 frequency distribution information of orthogonal transform coefficient, 132 corrected statistical information for each frequency of orthogonal transform coefficient.
Claims (9)
出力された上記直交変換係数の各周波数毎の統計情報を算出する直交変換係数統計情報算出部と、
算出された上記直交変換係数の各周波数毎の統計情報に基づき、量子化及び符号化の際に使用する符号化パラメータを算出する符号化パラメータ制御部とを備えた画像符号化装置。 An orthogonal transform unit that orthogonally transforms image data and outputs an orthogonal transform coefficient;
An orthogonal transform coefficient statistical information calculation unit that calculates statistical information for each frequency of the output orthogonal transform coefficient;
An image encoding apparatus comprising: an encoding parameter control unit that calculates an encoding parameter used in quantization and encoding based on the calculated statistical information for each frequency of the orthogonal transform coefficient.
上記画像データを直交変換して直交変換係数を出力する直交変換部と、
出力された上記直交変換係数の各周波数毎の統計情報を算出し、算出された上記周波数分布情報に基づき、算出した上記直交変換係数の各周波数毎の統計情報を補正して、直交変換係数の各周波数毎の補正した統計情報を出力する直交変換係数統計情報算出部と、
出力された上記直交変換係数の各周波数毎の補正した統計情報に基づき、量子化及び符号化の際に使用する符号化パラメータを算出する符号化パラメータ制御部とを備えた画像符号化装置。 A frequency analysis unit that performs frequency analysis of the image data and calculates frequency distribution information of the image data;
An orthogonal transform unit that orthogonally transforms the image data and outputs an orthogonal transform coefficient;
Statistical information for each frequency of the output orthogonal transform coefficient is calculated, and based on the calculated frequency distribution information, the calculated statistical information for each frequency of the orthogonal transform coefficient is corrected, and the orthogonal transform coefficient An orthogonal transform coefficient statistical information calculation unit that outputs corrected statistical information for each frequency;
An image encoding apparatus comprising: an encoding parameter control unit that calculates an encoding parameter used in quantization and encoding based on the statistical information corrected for each frequency of the output orthogonal transform coefficient.
画像データを直交変換して直交変換係数を出力する直交変換手段、
出力された上記直交変換係数の各周波数毎の統計情報を算出する直交変換係数統計情報算出手段、
算出された上記直交変換係数の各周波数毎の統計情報に基づき、量子化及び符号化の際に使用する符号化パラメータを算出する符号化パラメータ制御手段、
として機能させるための符号化パラメータ算出プログラム。 A computer to calculate encoding parameters for use in quantization and encoding;
Orthogonal transform means for orthogonally transforming image data and outputting orthogonal transform coefficients;
Orthogonal transform coefficient statistical information calculating means for calculating statistical information for each frequency of the output orthogonal transform coefficient;
Coding parameter control means for calculating a coding parameter to be used for quantization and coding based on the calculated statistical information for each frequency of the orthogonal transform coefficient,
An encoding parameter calculation program for functioning as
画像データを周波数解析して上記画像データの周波数分布情報を算出する周波数解析手段、
上記画像データを直交変換して直交変換係数を出力する直交変換手段、
出力された上記直交変換係数の各周波数毎の統計情報を算出し、算出された上記周波数分布情報に基づき、算出した上記直交変換係数の各周波数毎の統計情報を補正して、直交変換係数の各周波数毎の補正した統計情報を出力する直交変換係数統計情報算出手段、
出力された上記直交変換係数の各周波数毎の補正した統計情報に基づき、量子化及び符号化の際に使用する符号化パラメータを算出する符号化パラメータ制御手段、
として機能させるための符号化パラメータ算出プログラム。 A computer to calculate encoding parameters for use in quantization and encoding;
Frequency analysis means for calculating frequency distribution information of the image data by performing frequency analysis of the image data;
Orthogonal transform means for orthogonally transforming the image data and outputting orthogonal transform coefficients;
Statistical information for each frequency of the output orthogonal transform coefficient is calculated, and based on the calculated frequency distribution information, the calculated statistical information for each frequency of the orthogonal transform coefficient is corrected, and the orthogonal transform coefficient Orthogonal transform coefficient statistical information calculating means for outputting corrected statistical information for each frequency,
Coding parameter control means for calculating a coding parameter to be used for quantization and coding based on the corrected statistical information for each frequency of the output orthogonal transform coefficient,
An encoding parameter calculation program for functioning as
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004282249A JP2006100993A (en) | 2004-09-28 | 2004-09-28 | Image coding device and coding parameter calculation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004282249A JP2006100993A (en) | 2004-09-28 | 2004-09-28 | Image coding device and coding parameter calculation program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006100993A true JP2006100993A (en) | 2006-04-13 |
Family
ID=36240419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004282249A Pending JP2006100993A (en) | 2004-09-28 | 2004-09-28 | Image coding device and coding parameter calculation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006100993A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009544188A (en) * | 2006-07-12 | 2009-12-10 | クゥアルコム・インコーポレイテッド | Video compression using adaptive variable length codes |
WO2012095930A1 (en) * | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | Image encoding method, image decoding method, image encoding device, and image decoding device |
-
2004
- 2004-09-28 JP JP2004282249A patent/JP2006100993A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009544188A (en) * | 2006-07-12 | 2009-12-10 | クゥアルコム・インコーポレイテッド | Video compression using adaptive variable length codes |
US8275045B2 (en) | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
WO2012095930A1 (en) * | 2011-01-12 | 2012-07-19 | パナソニック株式会社 | Image encoding method, image decoding method, image encoding device, and image decoding device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8194735B2 (en) | Video encoding apparatus and video encoding method | |
JP2618083B2 (en) | Image recovery method and apparatus | |
US20040170395A1 (en) | Quantization method and system for video MPEG applications and computer program product therefor | |
JP2006140758A (en) | Method, apparatus and program for encoding moving image | |
WO2009157579A1 (en) | Image processing device and image processing method | |
US8218624B2 (en) | Fractional quantization step sizes for high bit rates | |
JP2006101506A (en) | Image coding device and image decoding device | |
JP5133290B2 (en) | Video encoding apparatus and decoding apparatus | |
JPWO2008142956A1 (en) | Video encoding apparatus, video encoding method, and video encoding program | |
JP2009055384A (en) | Device and method for encoding, program for the encoding method, and recording medium recorded with the program | |
JP2002209215A (en) | Code quantity control device and method, and image information conversion device and method | |
KR20030069282A (en) | Method for encoding motion image having fixed computational complexity and apparatus thereof | |
CN101331773B (en) | Device and method for processing rate controlled for video coding using rate-distortion characteristics | |
JP2004274236A (en) | Encoding apparatus, encoding method, program, and recording medium | |
KR100438856B1 (en) | By lively table quantum/requantum making for method and status | |
US6631163B1 (en) | Dynamic adaptation of complexity in an MPEG-2 scalable decoder | |
JP2002094989A (en) | Video signal encoder and video signal encoding method | |
JP2008502261A (en) | Method for storing images in memory using a cost function including compression coding and power consumption | |
JP3978810B2 (en) | Encoding method and encoding apparatus using the same | |
US7451080B2 (en) | Controlling apparatus and method for bit rate | |
JP2006100993A (en) | Image coding device and coding parameter calculation program | |
JP2003209842A (en) | Method for two-dimensional orthogonal transform and quantization, and apparatus and program thereof | |
RU2587412C2 (en) | Video rate control based on transform-coefficients histogram | |
JP4586340B2 (en) | Encoding apparatus, encoding method, and program | |
WO2009147878A1 (en) | Transcoder |