JP2007074559A - Coding apparatus and coding method - Google Patents
Coding apparatus and coding method Download PDFInfo
- Publication number
- JP2007074559A JP2007074559A JP2005261102A JP2005261102A JP2007074559A JP 2007074559 A JP2007074559 A JP 2007074559A JP 2005261102 A JP2005261102 A JP 2005261102A JP 2005261102 A JP2005261102 A JP 2005261102A JP 2007074559 A JP2007074559 A JP 2007074559A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- image data
- block distortion
- data
- encoding
- 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.)
- Withdrawn
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、ブロック歪みを抑えつつ効率的な符号化を行なう符号化装置及び符号化方法に関する。 The present invention relates to an encoding apparatus and an encoding method that perform efficient encoding while suppressing block distortion.
現在、MPEG(Moving Picture Experts Group)国際標準動画像符号化方式に代表されるように、動画像圧縮符号化方式においては、一般的に、動き補償予測符号方式と呼ばれる方法がとられる。この方法ではまず、符号化対象画像のフレームを矩形領域(ブロック)に分割し、現フレームの入力信号ブロックと動き補償予測により得られた予測対象フレームの局部復号信号ブロックとのフレーム間差分をとり、時間領域の冗長性を除去する。次に、ブロックごとに直交変換を施して情報を偏らせ、その情報の偏りを利用してエントロピー符号化を行なう。 Currently, as represented by the MPEG (Moving Picture Experts Group) international standard moving picture coding method, a method called a motion compensated prediction coding method is generally used in a moving picture compression coding method. In this method, first, a frame of an encoding target image is divided into rectangular regions (blocks), and an interframe difference between an input signal block of the current frame and a locally decoded signal block of a prediction target frame obtained by motion compensation prediction is calculated. Remove time domain redundancy. Next, orthogonal transformation is performed for each block to bias the information, and entropy coding is performed using the bias of the information.
この動き補償予測符号化方式における動き検出は、通常ブロックマッチング法と呼ばれる方式により行なわれる。例えば、符号化対象画像を16画素×16ラインのブロック(マクロブロック)に分割し、マクロブロックごとに動きベクトルを検索する。すなわち、現在の処理対象画像のマクロブロックを、過去の処理対象画像において位置をずらしながら同サイズの領域(マクロブロック)と比較していき、最も一致していたマクロブロックの、現在の処理対象画像におけるマクロブロックの位置に対する相対位置を動きベクトルとして検出する。また、直交変換は、動き補償された予測ブロックと現在の処理対象マクロブロックとの差分ブロックを、さらに8画素×8ラインにブロック分割した単位に対して行なわれ、MPEGにおいては直交変換方式にDCT(離散コサイン変換)を用いる。DCTを用いて空間領域から周波数領域に変換された係数は、一般的に低い周波数成分に情報が偏る。こうした変換係数に対して量子化処理を施し、得られた量子化変換係数を低周波から高周波の順番に並べ替えてゼロ・ランレングス符号化を行なう。すなわち、非ゼロ係数と直前のゼロ・ランレングスのペアをシンボルとし、発生頻度が高いほど符号長が短くなるように割り当てられたハフマン符号テーブルを参照して符号化する。 Motion detection in this motion compensated predictive coding method is usually performed by a method called a block matching method. For example, the encoding target image is divided into 16 pixel × 16 line blocks (macroblocks), and a motion vector is searched for each macroblock. That is, the macroblock of the current processing target image is compared with the same size region (macroblock) while shifting the position in the past processing target image, and the current processing target image of the macroblock that is most consistent The relative position with respect to the position of the macroblock at is detected as a motion vector. The orthogonal transform is performed on a unit obtained by further dividing the difference block between the motion-compensated prediction block and the current macro block to be processed into 8 pixels × 8 lines. In MPEG, DCT is used as the orthogonal transform method. (Discrete cosine transform) is used. In general, information is biased to low frequency components of coefficients converted from the spatial domain to the frequency domain using DCT. Quantization processing is performed on these transform coefficients, and the obtained quantized transform coefficients are rearranged in order from low frequency to high frequency, and zero run length coding is performed. That is, a pair of a non-zero coefficient and the immediately preceding zero run length is used as a symbol, and encoding is performed with reference to a Huffman code table assigned so that the code length becomes shorter as the frequency of occurrence increases.
このような方法で動画像の符号化を行なう際に問題となるのが、符号化ストリーム(符号化により得られる符号)の符号量である。一般に、符号化ストリームの符号量は得たい画質と蓄積メディアの容量、伝送路のバンド幅等により制限を受ける。このため、符号化装置は量子化処理に用いる量子化値(量子化ステップ)を適切に設定することによって、符号量の制御を行なう必要がある。 A problem in encoding moving images by such a method is the code amount of an encoded stream (a code obtained by encoding). In general, the code amount of an encoded stream is limited by the image quality to be obtained, the capacity of the storage medium, the bandwidth of the transmission path, and the like. For this reason, it is necessary for the encoding device to control the amount of code by appropriately setting the quantization value (quantization step) used for the quantization process.
図3は、従来の符号化装置の構成例を示す図である。 FIG. 3 is a diagram illustrating a configuration example of a conventional encoding device.
符号化装置301において入力画像は、符号化すべき動画像シーケンスを表し、フレームごとにマクロブロック分割されたかたちで入力される。この入力画像は、動き補償器303及び差分生成器305に入力される。
In the
動き補償器303はフレームメモリ304から過去の画像を受け取り、現在の処理対象ブロックについて動きベクトルを検出し、それに基づいて得られた動き補償データを、差分生成器305及び加算器311に出力する。
The
差分生成器305は、入力された現在の処理対象ブロックと動き補償器303の出力する動き補償データとの差分をとり、直交変換器306に出力する。
The
直交変換器306は差分生成器305から受け取ったデータに直交変換(ここではDCT、離散コサイン変換として説明する)を施してDCT係数を量子化器307に出力する。
The
量子化器307は、DCT係数を符号量コントローラ302が出力する量子化値を用いて量子化し、量子化DCT係数としてエントロピー符号化器308及び逆量子化器309に出力する。
The
エントロピー符号化器308は、量子化DCT係数に対してエントロピー符号化を施し、符号化ストリームとして符号量コントローラ302に出力し、同時に外部へと出力する。
The
逆量子化器309は、量子化DCT係数を、符号量コントローラ302が出力する量子化値を用いて逆量子化し、逆直交変換器310に出力する。
The
逆直交変換器310は、逆量子化器309の出力に対して直交変換器306と逆の処理、すなわち逆DCT処理を施し、加算器311に出力する。
The inverse
加算器311は、動き補償器303の出力する動き補償データ及び逆直交変換器310の出力するデータとを加算して、再構成画像データとしてフレームメモリ304に出力する。
The
フレームメモリ304は、再構成画像データを蓄え、動き補償器303の要求に応じて必要なデータを動き補償器303に出力する。
The
符号量コントローラ302は、エントロピー符号化器308の出力する符号化ストリームを基により適した量子化値を計算し、量子化器307及び逆量子化器309に出力する。
The
次に、符号化装置301の動作の具体例について説明する。
Next, a specific example of the operation of the
まず、入力画像として符号化されるべき動画像シーケンスのデータがフレームごとに、予めマクロブロック分割されたかたちで入力され、このマクロブロック分割されたデータそれぞれが、処理対象ブロックとなる。この処理対象ブロックは、動き補償器303及び差分生成器305に入力される。
First, data of a moving image sequence to be encoded as an input image is input in advance in a form of macroblock division for each frame, and each piece of data divided into macroblocks is a processing target block. This processing target block is input to the
動き補償器303は、以前既に符号化され、再構成画像としてフレームメモリ304に格納されている、現在処理中のフレームとは別のフレームの画像データ(予測画像)を参照データとして、処理対象ブロックと相関の高い位置のデータを探索する。探索処理によって判明した相関の高い位置の情報は、その位置から処理対象ブロックの位置へのベクトル(動きベクトル)というかたちで動き補償器303が保持し、図3では省略するが符号化データに含まれる。動き補償器303は、動きベクトルに基づき、フレームメモリ304より読み出した参照画像データの対応する位置のブロックを、動き補償データとして差分生成器305及び加算器311に出力する。
The
差分生成器305では、処理対象ブロックデータと、動き補償器303の出力する動き補償データとの差分をとることによって、時間領域の冗長性が除去される。しかし、差分データと処理対象ブロックデータとを最終的な符号量という観点で比較したときに、処理対象ブロックを直接符号化した方が符号量が少なくなる場合もある。一般的に符号化器は、符号化前にどちらを符号化するほうがよいかの判定(予測判定)を行ない、処理対象ブロックと差分データとのいずれかを選択して、符号化を行なう。差分生成器305は、予測判定の結果により、処理対象ブロックのデータ(イントラ・マクロブロック)と、差分データ(インター・マクロブロック)とのいずれかを符号化対象データとして直交変換器306に出力する。
The
直交変換器306は、差分生成器305の出力する符号化対象データを、8画素×8ラインより構成されるブロックを単位として直交変換(ここではDCT、離散コサイン変換として説明する)を行なう。DCT演算処理によって入力データは空間領域から周波数領域へと変換される。画像データは一般的に、こうした直交変換処理によって低周波数領域に信号が集中することが知られており、続くエントロピー符号化処理を行なうにあたり符号化効率の面において有利となる。直交変換器306より出力されたDCT係数は、量子化器307へと送られる。
The
量子化器307は、符号量コントローラ302より出力された量子化値をもとに、DCT係数を量子化する。この量子化値に応じて符号量及び画質が変化する。すなわち、量子化値を大きく設定すると符号量を小さくすることができる一方、画質には悪影響を与える。量子化値を小さく設定すれば画質の劣化を抑えることができる一方、符号量は比較的大きくなる。量子化器307によって得られた量子化DCT係数は、エントロピー符号化器308及び逆量子化器309に出力される。
The
量子化DCT係数はエントロピー符号化器308において、エントロピー符号化され、符号化ストリームとして出力される。
The quantized DCT coefficient is entropy-coded in the
符号化対象のデータがイントラ・マクロブロックであった場合、まず直流成分(DC係数)においては他のブロックのDC係数との差分がとられ、交流成分(AC係数)においてはゼロ・ランレングス符号化が行われる。さらにDC係数については、差分化DC係数に対してその差分値のサイズに応じてカテゴライズされ、割り当てられたカテゴリ内で値を特定するための付加ビットが求められる。このカテゴリに対して可変長符号(VLC)が割り当てられ、割り当てられたコード+付加ビットというかたちで出力される。また、さらにAC係数については、係数を低周波数の係数から高周波数の係数の順番になるように並び替え、先行するゼロ係数の個数(Run)と、非ゼロ係数の値(Level)とをまとめて2次元可変長符号化する。 When the data to be encoded is an intra macroblock, first, a direct current component (DC coefficient) is taken from a DC coefficient of another block, and an alternating current component (AC coefficient) is a zero-run length code. Is done. Furthermore, the DC coefficient is categorized according to the size of the difference value with respect to the differentiated DC coefficient, and an additional bit for specifying the value within the assigned category is obtained. A variable length code (VLC) is assigned to this category and output in the form of assigned code + additional bits. Furthermore, for AC coefficients, the coefficients are rearranged in the order of low-frequency coefficients to high-frequency coefficients, and the number of leading zero coefficients (Run) and the value of non-zero coefficients (Level) are summarized. To two-dimensional variable length coding.
符号化対象のデータがインター・マクロブロックであった場合には、イントラ・マクロブロックの場合のようにDC係数を別扱いするのではなく、イントラ・マクロブロックにおけるAC係数と同様に扱い、符号化を行なう。 When the data to be encoded is an inter macroblock, the DC coefficient is not treated separately as in the case of an intra macroblock, but is treated in the same way as the AC coefficient in an intra macroblock. To do.
エントロピー符号化器308より符号化ストリームは、符号量コントローラ302に出力され、同時に外部にも出力される。
The encoded stream is output from the
逆量子化器309は、量子化器307より受け取った量子化DCT係数の逆量子化処理を行ない、逆直交変換器310に出力する。逆量子化には、符号量コントローラ302より受け取った量子化値を利用する。
The
逆直交変換器310は、逆量子化処理された係数に対して逆DCT演算処理を施し、データを周波数領域から空間領域へと復元する。こうして得られた復元差分データは、加算器311に出力される。
The inverse
加算器311は、復元された差分データと、動き補償器303より出力された動き補償データとを足し合わせて、再構成画像データとしてフレームメモリ304に出力する。再構成画像は、符号化ストリームを復号化する復号器において得られる再構成画像と、ほぼ一致する。
The
符号量コントローラ302は、エントロピー符号化器308の出力する符号化ストリームを入力として、符号量を累積的に計数していき、予め設定された目標符号量になるように量子化値を計算し、量子化器307に出力する。
The
以上のように、従来の符号化装置(特にMPEG形式)では、符号量と画質のバランスをとりながら入力画像を符号化する。
しかしながら、従来の直交変換と量子化を含む符号化方式を用いる場合、圧縮率を高くすると視覚的画質劣化が著しく目立つことが問題となる。特に、直交変換符号化特有の劣化として知られている、ブロック歪みと呼ばれる視覚的画質劣化が顕著となる場合がある。ブロック歪みは、直交変換の単位となるブロックの境界が画面上に現れるため、劣化として目立ちやすいという性質がある。 However, when a conventional encoding method including orthogonal transformation and quantization is used, there is a problem that visual image quality deterioration is noticeable when the compression rate is increased. In particular, visual image quality degradation called block distortion, which is known as degradation specific to orthogonal transform coding, may be significant. Block distortion has the property of being easily noticeable as degradation because the boundaries of blocks that are units of orthogonal transformation appear on the screen.
量子化ステップを小さくすればブロック歪みを低減することが可能であるが、一方で符号量が大きくなる(すなわち、圧縮率が低くなる)という問題がある。 If the quantization step is reduced, the block distortion can be reduced. However, there is a problem that the code amount is increased (that is, the compression rate is reduced).
本発明はこのような状況に鑑みてなされたものであり、符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質が保たれる符号化装置及び符号化方法を提供することを目的とする。 The present invention has been made in view of such a situation, and provides an encoding device and an encoding method capable of reducing visually observable block distortion and maintaining good image quality while suppressing an increase in code amount. The purpose is to provide.
上記課題を解決するために、本発明の符号化装置は、入力された画像データにフィルタ処理を施すフィルタ手段と、前記フィルタ処理の施された画像データを量子化する量子化手段と、予測画像のブロック歪みを測定する測定手段と、前記ブロック歪みに対応して前記フィルタ手段及び前記量子化手段の特性を制御する制御手段と、を備えることを特徴とする。 In order to solve the above-described problems, an encoding apparatus according to the present invention includes a filter unit that performs a filtering process on input image data, a quantization unit that quantizes the image data subjected to the filtering process, and a predicted image And measuring means for measuring the block distortion, and control means for controlling the characteristics of the filter means and the quantizing means in response to the block distortion.
また、本発明の符号化方法は、入力された画像データにフィルタ処理を施すフィルタリング工程と、前記フィルタ処理の施された画像データを量子化する量子化工程と、予測画像のブロック歪みを測定する測定工程と、を備え、前記ブロック歪みに対応して前記フィルタリング工程及び前記量子化工程の特性を制御することを特徴とする。 Also, the encoding method of the present invention measures a filtering process for filtering input image data, a quantization process for quantizing the filtered image data, and block distortion of a predicted image. A measurement step, and controlling characteristics of the filtering step and the quantization step in response to the block distortion.
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態の記載によっていっそう明らかになるものである。 Other features of the present invention will become more apparent from the accompanying drawings and the following description of the best mode for carrying out the invention.
以上の構成により、本発明の符号化装置及び符号化方法によれば、符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質を保つことが可能となる。 With the configuration described above, according to the encoding apparatus and the encoding method of the present invention, it is possible to reduce visually observable block distortion and maintain good image quality while suppressing an increase in code amount.
以下、添付図面を参照して、本発明の好適な実施形態を説明する。 Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.
<第1の実施形態>
図1は、本発明の符号化装置の構成例を示す図である。
<First Embodiment>
FIG. 1 is a diagram illustrating a configuration example of an encoding apparatus according to the present invention.
符号化装置101において入力画像は、符号化すべき動画像シーケンスを表し、フレームごとにフィルタ#1(103)に入力される。
In the
フィルタ#1(103)は符号量コントローラ102の出力する制御信号を用いて、入力画像データにフィルタ処理を施した上でマクロブロック分割し、動き補償器104、差分生成器106、及びブロック歪み測定器115に出力する。
The filter # 1 (103) uses the control signal output from the
動き補償器104はフレームメモリ105から過去の画像を受け取り、現在の処理対象ブロックについて動きベクトルを検出し、それに基づいて得られた動き補償データを、差分生成器106及び加算器114に出力する。
The
差分生成器106は、フィルタ#1(103)の出力するフィルタ処理が施された処理対象ブロックと動き補償器104の出力する動き補償データとの差分をとり、フィルタ#2(107)に出力する。
The
フィルタ#2(107)は、符号量コントローラ102の出力する制御信号を用いて、差分生成器106の出力するデータに対してフィルタ処理を施し、直交変換器108に出力する。
Filter # 2 (107) uses the control signal output from
直交変換器108はフィルタ#2(107)から受け取ったデータに直交変換(ここではDCT、離散コサイン変換として説明する)を施してDCT係数をフィルタ#3(109)に出力する。
The
フィルタ#3(109)は、符号量コントローラ102の出力する制御信号を用いて、直交変換器108の出力するDCT係数に対してフィルタ処理を施し、量子化器110に出力する。
Filter # 3 (109) performs a filtering process on the DCT coefficient output from
量子化器110は、DCT係数を符号量コントローラ102が出力する量子化値を用いて量子化し、量子化DCT係数としてエントロピー符号化器111及び逆量子化器112に出力する。
The
エントロピー符号化器111は、量子化DCT係数に対してエントロピー符号化を施し、符号化ストリームとして符号量コントローラ102に出力し、同時に外部へと出力する。
The
逆量子化器112は、量子化DCT係数を、符号量コントローラ102が出力する量子化値を用いて逆量子化し、逆直交変換器113に出力する。
The
逆直交変換器113は、逆量子化器112の出力に対して直交変換器108と逆の処理、すなわち逆DCT処理を施し、加算器114に出力する。
The inverse
加算器114は、動き補償器104の出力する動き補償データ及び逆直交変換器113の出力するデータとを加算して、再構成画像データ(予測画像)としてフレームメモリ105及びブロック歪み測定器115に出力する。
The
フレームメモリ105は、再構成画像データを蓄え、動き補償器104の要求に応じて必要なデータを動き補償器104に出力する。
The
ブロック歪み測定器115は、フィルタ#1(103)の出力するフィルタ処理が施された処理対象ブロックと、加算器114の出力する再構成画像データ(予測画像)とを入力とし、ブロック歪み量を測定して符号量コントローラ102に出力する。
The block
ブロック歪みの測定にはどのような方法を用いても構わないが、例えば、次の方法が可能である。まず、加算器114から入力された画像について、各ブロック(この段落において、「対象ブロック」と呼ぶ)の境界の画素と、隣接するブロックの境界の画素を比較する。対象ブロックの境界の画素すべてについて隣接するブロックの境界の画素との差分をとり、その絶対値の和の平均値を求める。次に、対象ブロック内において、境界の画素以外のすべての隣接する画素の差分をとり、その絶対値の和の平均値を求める。こうして得られた2つの平均値の差が大きければ、ブロックの境界付近で急激な変化がある、すなわちブロック歪みが発生している可能性が高い。
Any method may be used for the measurement of the block distortion. For example, the following method is possible. First, for the image input from the
ただし、これだけでは元々ブロックの境界付近での変化が激しい画像が入力画像であった場合まで、ブロック歪みと誤認する恐れがある。そこで、フィルタ#1(103)から入力された画像についても加算器114から入力された画像と同様の処理を行なう。その上で、フィルタ#1(103)から入力された画像についての2つの平均値の比と、加算器114から入力された画像についての2つの平均値の比とを比較し、その差が、実際発生しているブロック歪みの程度であると判断する。
However, with this alone, there is a risk that it will be mistaken for block distortion until the image that originally had a drastic change near the boundary of the block was the input image. Therefore, the image input from the filter # 1 (103) is processed in the same manner as the image input from the
符号量コントローラ102は、エントロピー符号化器111の出力する符号化ストリーム及びブロック歪み測定器115の出力するブロック歪み量を基に、符号量を抑えつつもよりよい画質が得られるようにフィルタ#1(103)、フィルタ#2(107)、フィルタ#3(109)、量子化器110の特性を制御する。
Based on the encoded stream output from the
次に、符号化装置101の動作の具体例について説明する。
Next, a specific example of the operation of the
まず、入力画像として符号化しようとする動画像シーケンスのデータがフレーム単位にフィルタ#1(103)に入力される。フィルタ#1(103)は入力された画像(フレーム)に対し、符号量コントローラ102の出力する制御信号に従って、画像の分散を制御する目的でフィルタ処理を施す。この分散は、画像データが持つパワーであり、この値を下げることによって画像の持つ(空間方向の)情報量自体が抑えられる。
First, data of a moving image sequence to be encoded as an input image is input to the filter # 1 (103) for each frame. The filter # 1 (103) performs a filtering process on the input image (frame) for the purpose of controlling image dispersion in accordance with a control signal output from the
フィルタの種類としては、分散が制御できるものであれば何でもよく、視覚的画質劣化の目立たないものが望ましい。したがってローパス・フィルタや、メディアン・フィルタ等が考えられるが、本実施形態ではローパス・フィルタを用いるものとして説明する。 Any type of filter can be used as long as the dispersion can be controlled, and it is preferable that the visual image quality deterioration is not noticeable. Therefore, although a low-pass filter, a median filter, etc. can be considered, in this embodiment, it demonstrates as what uses a low-pass filter.
符号量コントローラ102の出力する制御信号の内容としては、例えばローパス・フィルタのタップ数や、タップそれぞれに与える係数値などが挙げられる。
Examples of the contents of the control signal output from the
フィルタ#1(103)は、フィルタ処理を施した画像をマクロブロック分割して出力する。このマクロブロック分割されたデータの単位が、処理対象ブロックとなる。処理対象ブロックは、動き補償器104、差分生成器106、及びブロック歪み測定器115に入力される。
Filter # 1 (103) divides the filtered image into macroblocks and outputs the result. The unit of data divided into macroblocks is a processing target block. The processing target block is input to the
動き補償器104及び差分生成器106の機能は、動き補償器303及び差分生成器305と同様であるため、詳細な説明を省略する。差分生成器305の場合と同様、差分生成器106はイントラ・マクロブロック又はインター・マクロブロックを符号化対象データとしてフィルタ#2(107)に出力する。
Since the functions of the
フィルタ#2(107)は入力されたデータに対し、符号量コントローラ102の出力する制御信号に従って、データの分散を制御する目的でフィルタ処理を施す。この点においてはフィルタ#1(103)における処理と似ているが、符号化対象となる差分データに対して直接フィルタ処理を加える点が異なる。すなわち、フィルタ#1(103)は画像データの空間方向の冗長性を減少させるが、フィルタ#2(107)は画像データの時間方向の冗長性を減少させる。
The filter # 2 (107) performs a filtering process on the input data in accordance with a control signal output from the
フィルタの種類としては、フィルタ#1(103)と同様、分散が制御できてかつ視覚的画質劣化の目立たないものが望ましい。本実施形態ではローパス・フィルタを用いるものとして説明する。 As the type of the filter, like the filter # 1 (103), it is desirable that the dispersion can be controlled and the visual image quality deterioration is not noticeable. In the present embodiment, description will be made assuming that a low-pass filter is used.
符号量コントローラ102の出力する制御信号の内容としては、例えばローパス・フィルタのタップ数や、タップそれぞれに与える係数値などが挙げられる。
Examples of the contents of the control signal output from the
なお、符号化対象データがイントラ・マクロブロックであった場合、制御すべき分散は既にフィルタ#1(103)にて処理されているため、フィルタ#2(107)は何も行なわない。 If the data to be encoded is an intra macroblock, the variance to be controlled has already been processed by the filter # 1 (103), so the filter # 2 (107) does nothing.
フィルタ#2(107)において処理されたデータは、直交変換器108に出力される。直交変換器108は、フィルタ#2(107)の出力するデータを、8画素×8ラインより構成されるブロックを単位として直交変換(ここではDCT、離散コサイン変換として説明する)を行なう。DCT演算処理によって入力データは空間領域から周波数領域へと変換され、DCT係数としてフィルタ#3(109)に出力される。
The data processed in the filter # 2 (107) is output to the
フィルタ#3(109)は入力されたデータに対し、符号量コントローラ102の出力する制御信号に従って、データの符号量を制御する目的でフィルタ処理を施す。この点においては量子化器110における処理と似ているが、復号化時に逆量子化器112に相当する機能が存在しない点が異なる。
Filter # 3 (109) performs a filtering process on the input data in order to control the code amount of the data in accordance with the control signal output from the
フィルタの種類としては、符号量が制御できてかつ視覚的画質劣化の目立たないものが望ましい。本実施形態では、DCT係数に対して任意の係数を乗ずるフィルタを用いるものとして説明する。 As the type of filter, it is desirable that the amount of code can be controlled and the visual image quality deterioration is not noticeable. In the present embodiment, description will be made assuming that a filter that multiplies a DCT coefficient by an arbitrary coefficient is used.
符号量コントローラ102の出力する制御信号の内容としては、乗ずる係数の値などが挙げられる。
The content of the control signal output from the
フィルタ#3(109)において処理されたデータは、量子化器110に出力される。量子化器110の機能は量子化器307と同様であるが、フィルタ#1(103)、フィルタ#2(107)、及びフィルタ#3(109)によって画像データの情報量が抑えられているので、量子化値を比較的小さく設定することができ、それによってブロック歪みを低減させることができる。量子化器110によって得られた量子化DCT係数は、エントロピー符号化器111及び逆量子化器112に出力される。
The data processed in the filter # 3 (109) is output to the
エントロピー符号化器111の動作は、エントロピー符号化器308と同様であるため、詳細な説明を省略する。エントロピー符号化器111により得られた符号化ストリームが、符号化装置101の出力となる。
Since the operation of the
逆量子化器112、逆直交変換器113、加算器114の動作は逆量子化器309、逆直交変換器310、加算器311と同様であるため、詳細な説明を省略する。
Since the operations of the
加算器114より出力される再構成画像データは、続くフレームの符号化の参照画像として用いられるため、フレームメモリ105に格納される。また、加算器114より出力される再構成画像データは、ブロック歪み測定器115にも出力される。
The reconstructed image data output from the
ブロック歪み測定器115は、前述のように、フィルタ#1(103)の出力するフィルタ処理が施された処理対象ブロックと、加算器114の出力する再構成画像データとを入力とし、ブロック歪み量を測定する。測定された歪み量は、符号量コントローラ102に出力される。
As described above, the block
符号量コントローラ102は、エントロピー符号化器111の出力する符号化ストリームを入力として、符号量を累積的に計数していき、ブロック歪み量に応じて、予め設定された目標符号量になるように量子化値及びフィルタ#1(103)、フィルタ#2(107)、及びフィルタ#3(109)をそれぞれ制御する制御信号を計算し、量子化器110及びそれぞれのフィルタに出力する。例えば、ブロック歪み量が大きくなってきて視覚的に目立つ領域に入ってきたと判断した場合は、例えばローパス・フィルタの係数やタップ数を調節することにより画像データの高周波成分をより強くフィルタリング(除去)し、量子化値は小さめに抑えるように制御する。一方、ブロック歪み量がさほど目立たない領域にあると判断した場合は、画像データの高周波成分を除去する度合いを小さくするようにそれぞれのフィルタの制御信号を生成し、符号量の制御は量子化値のみで行なうようにする。
The
なお、本実施形態においてはフィルタ#1(103)、フィルタ#2(107)、フィルタ#3(109)のすべてが符号化装置101に含まれるものとして説明したが、必ずしもすべてが含まれる必要はない。すなわち、3つのフィルタのうち少なくとも1つでも含まれれば、それにより符号化対象画像の情報量を減少させ、量子化値を小さくすることができる。その結果、ブロック歪みを抑制することが可能となる。
In the present embodiment, filter # 1 (103), filter # 2 (107), and filter # 3 (109) are all included in the
次に、図3を参照して、符号化装置101がフィルタ#1(103)、フィルタ#2(107)、フィルタ#3(109)の特性及び量子化器110が使用する量子化値を決定する処理の流れを説明する。
Next, referring to FIG. 3,
ステップS301で、ブロック歪み測定器115は入力画像及び予測画像を取得する。予測画像は、フレームメモリ105に格納されている再構成画像である。
In step S301, the block
ステップS302で、ブロック歪み測定器115はブロック歪みを測定する。ブロック歪みを測定する方法は、前述の通りどのような方法を用いても構わない。
In step S302, the block
ステップS303で、符号量コントローラ102はブロック歪み及び符号化データを取得する。ブロック歪みはステップS302で計算されたものである。符号化データは最終的にエントロピー符号化器111によって符号化された、1フレーム前の入力画像データである。
In step S303, the
ステップS304で、符号量コントローラ102はフィルタ#1(103)、フィルタ#2(107)、フィルタ#3(109)の特性及び量子化器110が使用する量子化値を決定する。決定の方法は前述の通り、ブロック歪みを最小限に抑えられるように、入力画像データの冗長性を除去する部分を分散する。ブロック歪みが小さく、フィルタを使用する必要が無い場合は、例えばローパス・フィルタの係数やタップ数を調節してすべての周波数成分を通過させるようにする。
In step S304, the
以上説明したように、本実施形態によれば、符号化装置101が入力画像を符号化するにあたって、画像の情報量を削減する場所をフィルタ#1(103)、フィルタ#2(107)、フィルタ#3(109)、量子化器110の4箇所に分散する。符号量コントローラ102はこの3つのフィルタと量子化器110の特性を制御する。
As described above, according to the present embodiment, when the
これにより、符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質を保つ符号化が可能となる。 As a result, it is possible to reduce the block distortion that is visually conspicuous while suppressing the increase in the code amount, and to perform encoding that maintains good image quality.
<その他の実施形態>
上述した実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
<Other embodiments>
In the processing of the above-described embodiment, a storage medium recording software program codes embodying each function is provided to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the storage medium. It can also be realized by reading and executing the stored program code. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying such a program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM Etc. can be used.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行ない、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. Includes the case where the functions of the respective embodiments described above are realized by performing part or all of the actual processing.
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行ない、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。 Furthermore, after the program code read from the storage medium is written to the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function is based on the instruction of the program code. This includes the case where the CPU or the like provided in the expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.
101 符号化装置
102 符号量コントローラ
103 フィルタ#1
107 フィルタ#2
109 フィルタ#3
110 量子化器
115 ブロック歪み測定器
101
107
109
110
Claims (8)
前記フィルタ処理の施された画像データを量子化する量子化手段と、
予測画像のブロック歪みを測定する測定手段と、
前記ブロック歪みに対応して前記フィルタ手段及び前記量子化手段の特性を制御する制御手段と、
を備えることを特徴とする、符号化装置。 Filter means for filtering input image data;
Quantization means for quantizing the image data subjected to the filter processing;
Measuring means for measuring block distortion of the predicted image;
Control means for controlling the characteristics of the filter means and the quantization means in response to the block distortion;
An encoding device comprising:
入力された前記画像データに直接フィルタ処理を施す第1のフィルタ手段と、
前記画像データのフレーム間予測又は動き補償予測による差分画像データにフィルタ処理を施す第2のフィルタ手段と、
前記画像データ又は前記差分画像データの直交変換により得られる直交変換係数にフィルタ処理を施す第3のフィルタ手段と、
のうち少なくとも1つを備えることを特徴とする、請求項1に記載の符号化装置。 Further, the filter means includes
First filter means for directly filtering the input image data;
Second filter means for performing a filtering process on the difference image data by inter-frame prediction or motion compensation prediction of the image data;
Third filter means for performing a filtering process on orthogonal transform coefficients obtained by orthogonal transform of the image data or the difference image data;
The encoding apparatus according to claim 1, comprising at least one of the following.
前記フィルタ処理の施された画像データを量子化する量子化工程と、
予測画像のブロック歪みを測定する測定工程と、
を備え、
前記ブロック歪みに対応して前記フィルタリング工程及び前記量子化工程の特性を制御することを特徴とする、符号化方法。 A filtering step for filtering input image data;
A quantization step for quantizing the filtered image data;
A measurement process for measuring block distortion of the predicted image;
With
An encoding method, wherein characteristics of the filtering step and the quantization step are controlled corresponding to the block distortion.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005261102A JP2007074559A (en) | 2005-09-08 | 2005-09-08 | Coding apparatus and coding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005261102A JP2007074559A (en) | 2005-09-08 | 2005-09-08 | Coding apparatus and coding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007074559A true JP2007074559A (en) | 2007-03-22 |
Family
ID=37935596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005261102A Withdrawn JP2007074559A (en) | 2005-09-08 | 2005-09-08 | Coding apparatus and coding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007074559A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018046407A (en) * | 2016-09-14 | 2018-03-22 | 日本放送協会 | Rate control device, video decoding device, and program |
-
2005
- 2005-09-08 JP JP2005261102A patent/JP2007074559A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018046407A (en) * | 2016-09-14 | 2018-03-22 | 日本放送協会 | Rate control device, video decoding device, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5269593B2 (en) | Encoding device, encoding method, decoding device, decoding method, and program thereof | |
US7602851B2 (en) | Intelligent differential quantization of video coding | |
JP4410225B2 (en) | Moving picture decoding apparatus and method | |
KR100578432B1 (en) | Signaling for fading compensation | |
JP2005086830A (en) | Bit-stream control post-processing filtering | |
JP2005192229A (en) | Encoder, decoder, recording medium and computer data signal | |
JP2007124603A (en) | Apparatus and method for motion estimation supporting multiple video compression standards | |
JP2004297768A (en) | Video signal encoding apparatus, and video signal encoding method | |
KR20020042166A (en) | Apparatus and method for transcoding video | |
JPH06125543A (en) | Encoding device | |
JP2003304538A (en) | Image encoder, image decoder, and method for them | |
WO2007091588A1 (en) | Dynamic image decoding device, decoded image recording device, their method, and program | |
JP2024024080A (en) | Image encoder, image encoding method, image decoder, and image decoding method | |
JP2007006390A (en) | Apparatus and method for image processing, and program | |
JP2007129318A (en) | Image decoder | |
JP2006270851A (en) | Image coding device and image decoding device | |
JP2007074559A (en) | Coding apparatus and coding method | |
JPH07135657A (en) | Method and device for coding | |
JPH07143483A (en) | Adaptive post-processing filter | |
JP2002204459A (en) | Moving picture coding method and device | |
JP2002058032A (en) | Apparatus and method for encoding image, apparatus and method for decoding image as well as image processor | |
JP3169263B2 (en) | Video data encoding device | |
JP2005295371A (en) | Block noise eliminating device | |
WO2021251400A1 (en) | Decoding device and program | |
JP2010050833A (en) | Video coding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081202 |