[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2006157084A - Image coding apparatus, image coding method, and computer program - Google Patents

Image coding apparatus, image coding method, and computer program Download PDF

Info

Publication number
JP2006157084A
JP2006157084A JP2004339935A JP2004339935A JP2006157084A JP 2006157084 A JP2006157084 A JP 2006157084A JP 2004339935 A JP2004339935 A JP 2004339935A JP 2004339935 A JP2004339935 A JP 2004339935A JP 2006157084 A JP2006157084 A JP 2006157084A
Authority
JP
Japan
Prior art keywords
moving image
image data
filter
encoding
filter coefficient
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
Application number
JP2004339935A
Other languages
Japanese (ja)
Inventor
Tadashi Ohira
正 大平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004339935A priority Critical patent/JP2006157084A/en
Publication of JP2006157084A publication Critical patent/JP2006157084A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To obtain an image with high quality by efficiently coding a moving image. <P>SOLUTION: The image coding apparatus is provided with two kinds of filters 4, 5 as the filter just before encoding, the ε filter 4 protects the occurrence of edges in the image and smoothes the image as its filter processing, the k filter 5 suppresses coding distortion and avoids a buffer from its failure as its filter processing, the ε filter 4 eliminates noise in a flat part of a region of the input image and the k filter 5 places band limit on the image in the other region, so that the image encoder can prevent the visual image quality from being degraded over the entire image regions. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、画像符号化装置、画像符号化方法、及びコンピュータプログラムに関し、特に、動画像を符号化するために用いて好適なものである。   The present invention relates to an image encoding device, an image encoding method, and a computer program, and is particularly suitable for use in encoding a moving image.

従来、画像の符号化方式として、フレーム内符号化方式であるMotion JPEGやDigital Video等の符号化方式や、フレーム間予測符号化を用いたH.261、H.263、MPEG−1、MPEG−2等の符号化方式が知られている。これらの符号化方式は、ISO(International Organization for Standardization:国際標準化機構)やITU(International Telecommunication Union:国際電気通信連合)によって国際標準化されている。フレーム内符号化方式は、フレーム単位で独立に符号化を行うものであり、フレームの管理がしやすいため、動画像の編集や特殊再生が必要な装置に最適である。また、フレーム間予測符号化方式は、フレーム間での画像データの差分に基づくフレーム間予測を用いるため、符号化効率が高いという特徴を持っている。   Conventionally, as an image encoding method, an intra-frame encoding method such as Motion JPEG or Digital Video, or H.264 using inter-frame predictive encoding is used. 261, H.H. Coding schemes such as H.263, MPEG-1 and MPEG-2 are known. These encoding methods are internationally standardized by ISO (International Organization for Standardization) and ITU (International Telecommunication Union). The intra-frame coding method performs coding independently for each frame, and is easy to manage the frames, so that it is most suitable for an apparatus that requires editing of moving images and special reproduction. In addition, the inter-frame predictive coding method has a feature that coding efficiency is high because inter-frame prediction based on a difference in image data between frames is used.

MPEG−2で符号化を行う従来の動画像符号化装置の構成の一例を図12に、その動画像符号化装置で符号化された符号化ピクチャの構造の一例を図13に示す。MPEGで符号化された符号化ピクチャ構造は、図13のように、予測方法の異なる3種類のピクチャの組み合わせによって構成される。これら3種類のピクチャは、それぞれIピクチャ(フレーム内符号化)、Pピクチャ(順方向予測符号化)、Bピクチャ(双方向予測符号化)と呼ばれる。   FIG. 12 shows an example of the configuration of a conventional moving picture encoding apparatus that performs encoding using MPEG-2, and FIG. 13 shows an example of the structure of a coded picture encoded by the moving picture encoding apparatus. The encoded picture structure encoded by MPEG is configured by a combination of three types of pictures having different prediction methods as shown in FIG. These three types of pictures are called an I picture (intraframe coding), a P picture (forward prediction coding), and a B picture (bidirectional prediction coding), respectively.

また、これらのピクチャを複数組み合わせたものをGroup of Picture(以降GOPと称す)と呼ぶ。このGOPは、Iピクチャを1枚だけ含むため、編集の単位となる場合が多い。これらの予測モードは、図12に示されるように、モード判定器105からの制御信号によりスイッチ101、108にて切り替えられる。Iピクチャでは符号化画像そのものに対してDCT器102でDCT(Discrete Cosine Transform;離散コサイン変換)が実行される。一方、Pピクチャ及びBピクチャでは、さらに動き補償器109による動き補償予測の誤差信号に対して、DCT器102でDCTが実行される。   A combination of a plurality of these pictures is called a group of picture (hereinafter referred to as GOP). Since this GOP includes only one I picture, it is often an editing unit. These prediction modes are switched by switches 101 and 108 according to a control signal from the mode determiner 105 as shown in FIG. In the I picture, DCT (Discrete Cosine Transform) is performed by the DCT unit 102 on the encoded image itself. On the other hand, in the P picture and the B picture, the DCT is performed by the DCT unit 102 on the error signal of the motion compensation prediction by the motion compensator 109.

DCT器102で得られたDCT係数に対する量子化が、レート制御器100からの出力に基づく制御に従って、量子化器103によってなされた後に、動きベクトル等のその他の付加情報と共に可変長符号化が可変長符号化器104でなされ、符号列が「ビットストリーム」として出力される。この際、可変長符号化器104からの符号量に応じてレート制御器100で量子化スケールが制御される。一方、量子化器103の出力係数は、逆量子化器106、逆DCT器107に供給され、局部復号されてブロック毎にフレームメモリ(FM)110に貯えられる。
尚、前記GOPの構造において、IピクチャとPピクチャとの間隔をM、GOP内のフレーム数をNと称して表す。図13に示した例では、M=3、N=15となる。
After the quantization of the DCT coefficient obtained by the DCT unit 102 is performed by the quantizer 103 according to the control based on the output from the rate controller 100, the variable length coding is variable together with other additional information such as a motion vector. This is performed by the long encoder 104, and the code string is output as a “bit stream”. At this time, the quantization scale is controlled by the rate controller 100 according to the code amount from the variable length encoder 104. On the other hand, the output coefficient of the quantizer 103 is supplied to an inverse quantizer 106 and an inverse DCT unit 107, and is locally decoded and stored in a frame memory (FM) 110 for each block.
In the GOP structure, the interval between the I picture and the P picture is represented by M, and the number of frames in the GOP is represented by N. In the example shown in FIG. 13, M = 3 and N = 15.

MPEG−2は可変長符号化を行うため、単位時間当りの発生符号量は一定ではない。そこで、量子化器103での量子化の際の量子化スケールをマクロブロック単位に適宜変更することにより、所望のビットレートに制御することが可能になっている。MPEG−2 Test Model 5(非特許文献1を参照)のステップ3には、各マクロブロックの分散値を元に量子化スケールを変動させる方法が記述されている。   Since MPEG-2 performs variable length coding, the amount of generated code per unit time is not constant. Therefore, it is possible to control to a desired bit rate by appropriately changing the quantization scale at the time of quantization in the quantizer 103 in units of macroblocks. Step 3 of MPEG-2 Test Model 5 (see Non-Patent Document 1) describes a method of changing the quantization scale based on the variance value of each macroblock.

ここで、量子化時の量子化スケールを大きくすることで圧縮率を上げることができる。しかし、量子化スケールを大きくすると、高周波成分の量子化誤差が増加し、ブロック歪みや、モスキート歪みと呼ばれる符号化歪みが発生し、画像品質が著しく低下する。また、前記フレーム間符号化方式では、フレーム間予測を用いているため、空間方向の高周波成分と時間方向の動き量との双方に依存して符号化が行われる。よって高周波成分のない単純な画像であっても動きが激しい場合は、予測誤差に高周波成分を多く含むため、符号化歪みが多く発生する。   Here, the compression rate can be increased by increasing the quantization scale at the time of quantization. However, when the quantization scale is increased, the quantization error of the high frequency component increases, coding distortion called block distortion or mosquito distortion occurs, and the image quality significantly decreases. Further, since the interframe coding method uses interframe prediction, the coding is performed depending on both the high frequency component in the spatial direction and the amount of motion in the temporal direction. Therefore, even if a simple image having no high-frequency component moves rapidly, a large amount of high-frequency component is included in the prediction error, so that much coding distortion occurs.

このような動画像符号化の基本構成に加え、入力画像に予め帯域制限フィルタを施し、視覚的に目立たない高周波成分を除去して符号量を削減することで、復号画像の主観的な画像品質を向上させることが一般的に行われる。このとき、帯域制限フィルタの特性は、圧縮率に応じて設定され、高い圧縮率の場合には狭帯域に、低い圧縮率の場合には広帯域に設定されていた。さらに、符号化出力である発生符号量に応じて、前記帯域制限フィルタを制御するという方法が知られている。
尚、その他のMPEG等の詳細内容については、ISO/IECによる国際標準の文書に委ねることとする。
In addition to this basic structure of video coding, the input image is preliminarily subjected to a band limiting filter to remove visually inconspicuous high frequency components and reduce the amount of code, thereby reducing the subjective image quality of the decoded image. It is generally performed to improve. At this time, the characteristics of the band limiting filter are set according to the compression rate, and are set to a narrow band when the compression rate is high, and to a wide band when the compression rate is low. Furthermore, a method is known in which the band limiting filter is controlled according to the amount of generated code that is an encoded output.
Other detailed contents such as MPEG will be entrusted to international standard documents by ISO / IEC.

MPEG-2 Test Model, Document ISO/IEC JTC1 SC29 WG11/93-400, Test Model Editing Committee, April 1993.MPEG-2 Test Model, Document ISO / IEC JTC1 SC29 WG11 / 93-400, Test Model Editing Committee, April 1993.

しかしながら、前記従来の技術では、発生符号量が多い場合、フィルタにより著しく帯域が制限され、高周波成分のみでなく低周波成分の画像情報まで削除される場合が生じる。低周波成分は視覚に与える影響が大きいため、これを削除すると著しく視覚的画像品質が低下してしまう。このような帯域制限の処理は、画像の局所的な性質に応じて行うべきである。   However, in the conventional technique, when the generated code amount is large, the band is remarkably limited by the filter, and not only high-frequency components but also low-frequency component image information may be deleted. Since the low-frequency component has a great influence on the visual sense, if it is deleted, the visual image quality is significantly deteriorated. Such band limiting processing should be performed according to the local nature of the image.

また、動画像の高周波成分が少なくても動き量の大きいシーケンスを持つ動画像を符号化する場合、発生符号量が増加し、帯域制限フィルタが高周波成分を除去する方向に作用してしまう。このため、動き部分においての高周波成分のみならず動き量の少ない静止部分でも高周波成分が除去されてしまい、人間の視覚上の解像度が高くなる静止部分の解像度が悪くなる。したがって、再生画像の全体的な画像品質評価を大きく低下させてしまう。さらに、これと同時に、帯域制限フィルタのカットオフ周波数が変動すると、静止部分の解像度が変動するため、画像全体をみた場合、結果として不自然な画像となってしまう。   In addition, when a moving image having a sequence with a large amount of motion is encoded even if the high-frequency component of the moving image is small, the generated code amount increases, and the band limiting filter acts in a direction to remove the high-frequency component. For this reason, not only the high-frequency component in the moving part but also the stationary part with a small amount of motion is removed, and the resolution of the still part where the human visual resolution is high is deteriorated. Therefore, the overall image quality evaluation of the reproduced image is greatly reduced. At the same time, if the cut-off frequency of the band limiting filter fluctuates, the resolution of the still portion fluctuates, so that when the entire image is viewed, the result is an unnatural image.

以上のように、従来の技術では、符号量を効率的に抑制しながら高い画像品質を達成することができなかった。
本発明は、前述の問題点に鑑みてなされたものであり、動画像を効率よく符号化して、高い品質の画像を得ることができるようにすることを目的とする。
As described above, the conventional technique cannot achieve high image quality while efficiently suppressing the code amount.
The present invention has been made in view of the above-described problems, and an object thereof is to efficiently encode a moving image so as to obtain a high-quality image.

本発明の画像符号化装置は、入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第1の前処理手段と、前記入力された動画像データの特徴量に基づいて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第2の前処理手段と、前記符号量と、前記入力された動画像データの特徴量に応じて、前記第1の前処理手段及び前記第2の前処理手段の何れかを選択する選択手段と、前記選択手段により選択された前処理手段から出力された動画像データを符号化する符号化手段とを有することを特徴とする。   The image encoding apparatus according to the present invention performs a band limitation on the input moving image data according to the feature amount of the input moving image data and the code amount of the moving image data encoded in the past. 1 preprocessing means and a second preprocessing for protecting edges of the input moving image data and smoothing the input moving image data based on a feature amount of the input moving image data Means for selecting one of the first pre-processing means and the second pre-processing means in accordance with the code amount and the feature quantity of the input moving image data, and the selection means And encoding means for encoding the moving image data output from the preprocessing means selected by the above.

本発明の画像符号化方法は、入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第1の前処理ステップと、前記入力された動画像データの特徴量に応じて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第2の前処理ステップと、前記符号量と、前記入力された動画像データの特徴量に基づいて、前記第1の前処理手段及び前記第2の前処理手段の何れかを選択する選択ステップと、前記選択ステップで選択された前処理ステップにより前処理がなされた動画像データを符号化する符号化ステップとを有することを特徴とする。   The image encoding method according to the present invention performs a band limitation on the input moving image data according to the feature amount of the input moving image data and the code amount of the moving image data encoded in the past. And a second preprocessing for protecting an edge of the input moving image data and smoothing the input moving image data in accordance with a feature amount of the input moving image data. A selection step of selecting one of the first preprocessing means and the second preprocessing means based on the code amount and the feature amount of the input moving image data; and the selection step And an encoding step for encoding the moving image data that has been preprocessed by the preprocessing step selected in step (b).

本発明のコンピュータプログラムは、前記記載のステップをコンピュータに実行させることを特徴とする。   A computer program according to the present invention causes a computer to execute the steps described above.

本発明によれば、入力された動画像の特徴量と、過去に符号化された動画像の符号量とに基づいて、前記入力された動画像の帯域制限を行う第1の前処理と、前記入力された動画像の特徴量に基づいて、前記入力された動画像のエッジを保護するとともに前記入力された動画像を平滑化する第2の前処理とのうちの何れかの前処理を行ってから、動画像を符号化するようにして、前処理と符号量制御とを連動動作させることにより、視覚的に画像の品質が低下することを防止しつつ、発生符号量を好適に制御することができるようにすることが、簡便に行えるようにする。   According to the present invention, the first preprocessing for performing band limitation on the input moving image based on the feature amount of the input moving image and the code amount of the moving image encoded in the past, Based on a feature amount of the input moving image, pre-processing of any one of the second pre-processing for protecting edges of the input moving image and smoothing the input moving image After that, by encoding the moving image, the preprocessing and the code amount control are operated in an interlocked manner, so that the generated code amount is suitably controlled while visually preventing the image quality from deteriorating. To be able to do it easily.

(第1の実施形態)
次に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、本実施形態の画像符号化装置の構成の一例を示すブロック図である。なお、本実施形態の画像符号化装置では、制御の最小単位をマクロブロックとする。
図1において、1は、入力画像の特徴量としてマクロブロック毎の特徴量を測定する特徴量測定器である。本実施形態では、マクロブロック毎の分散と画素間差分の最大値を測定する。2は、特徴量測定器1からの特徴量を蓄積する特徴量メモリである。本実施形態では、Mフレーム分の特徴量を蓄積するものとする。
(First embodiment)
Next, a first embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating an example of a configuration of an image encoding device according to the present embodiment. In the image coding apparatus according to the present embodiment, the minimum unit of control is a macro block.
In FIG. 1, reference numeral 1 denotes a feature amount measuring device that measures a feature amount for each macro block as a feature amount of an input image. In the present embodiment, the maximum value of the variance and inter-pixel difference for each macroblock is measured. Reference numeral 2 denotes a feature amount memory that accumulates feature amounts from the feature amount measuring device 1. In the present embodiment, feature amounts for M frames are accumulated.

3は、前記蓄積された特徴量から、フィルタの係数を算出するフィルタ係数算出器である。4は、エッジを保護し且つ平滑化するεフィルタである。本実施形態で使用するεフィルタ4は、以下の(1式)及び(2式)で示されるフィルタ処理を行う。   A filter coefficient calculator 3 calculates a filter coefficient from the accumulated feature amount. Reference numeral 4 denotes an ε filter that protects and smoothes edges. The ε filter 4 used in the present embodiment performs the filter processing represented by the following (formula 1) and (formula 2).

Figure 2006157084
Figure 2006157084

この(1式)及び(2式)で示されるフィルタ処理では、中心画素f(x,y)と、その近傍画素f(x+i,y+j)との差分値を計算し、その絶対値がεよりも大きい場合は、その近傍の画素の値を中心画素の値に置き換えて平滑化処理を行う(x,y=−M,・・・,0,1,・・・M)。その結果、εフィルタ4の出力g(x,y)では、エッジ成分を保護し、小振幅の高調波であるノイズを平滑化して抑制することができる。なお、εフィルタについての詳細は、「原島博ほか"ε−分離非線形ディジタルフィルタとその応用"電子情報通信学会 昭57−論146〔A−36〕 昭和57年4月」に記載されている。   In the filter processing shown in (Equation 1) and (Equation 2), the difference value between the central pixel f (x, y) and the neighboring pixel f (x + i, y + j) is calculated, and the absolute value thereof is calculated. If the value is larger than ε, the value of the neighboring pixel is replaced with the value of the central pixel, and smoothing processing is performed (x, y = −M,..., 0, 1,... M). As a result, in the output g (x, y) of the ε filter 4, the edge component can be protected and noise that is a harmonic having a small amplitude can be smoothed and suppressed. Details of the ε filter are described in “Harashima Hiroshi et al.,“ Ε-Separation Nonlinear Digital Filter and Its Application ”, IEICE 57-146 [A-36] April 1982”.

5は、水平、垂直双方の2次元帯域制限フィルタである。本実施形態で使用する2次元帯域制限フィルタ5は、以下の(3式)で示されるものになる。   Reference numeral 5 denotes a horizontal and vertical two-dimensional band limiting filter. The two-dimensional band limiting filter 5 used in the present embodiment is represented by the following (Equation 3).

Figure 2006157084
Figure 2006157084

(3式)に示されるように、本実施形態では、2次元帯域制限フィルタ5は、3画素×3ラインの2次元フィルタであり、変数kによる帯域を設定する低域通過型フィルタである。変数kの最小値を2とし、値が増加するとフィルタの強度は低下し、制限する帯域は狭くなる。以降、2次元帯域制限フィルタをkフィルタと称す。   As shown in (Formula 3), in the present embodiment, the two-dimensional band limiting filter 5 is a three-pixel × three-line two-dimensional filter, and is a low-pass filter that sets a band based on a variable k. When the minimum value of the variable k is 2, and the value increases, the strength of the filter decreases and the band to be limited becomes narrow. Hereinafter, the two-dimensional band limiting filter is referred to as a k filter.

6は、εフィルタ4及びkフィルタ5からの画像信号のどちらかを選択し出力するセレクタである。7は、セレクタ6で選択された画像信号を格納するフレームメモリである。本実施形態では、特徴量メモリ2と同様に、Mフレーム分の画像信号を格納するものとする。8は、フレームメモリ7に蓄積された画像信号を符号化する符号化器である。
9は、符号化器8から出力されたストリームを蓄積するエンコーダ出力のバッファである。バッファ9は、符号化器8から出力されたストリームに基づくフレーム毎の発生符号量と、デコーダバッファを想定したデコーダバッファポインタを出力する。デコーダバッファポインタは、バッファサイズからエンコーダバッファポインタを差し引いた値とする。
Reference numeral 6 denotes a selector that selects and outputs one of the image signals from the ε filter 4 and the k filter 5. A frame memory 7 stores the image signal selected by the selector 6. In the present embodiment, similarly to the feature amount memory 2, image signals for M frames are stored. Reference numeral 8 denotes an encoder that encodes an image signal stored in the frame memory 7.
Reference numeral 9 denotes an encoder output buffer for accumulating the stream output from the encoder 8. The buffer 9 outputs a generated code amount for each frame based on the stream output from the encoder 8 and a decoder buffer pointer assuming a decoder buffer. The decoder buffer pointer is a value obtained by subtracting the encoder buffer pointer from the buffer size.

10は、バッファ9から出力された発生符号量に基づいて、符号化器8を制御する符号量制御器である。11は、符号化器8から出力された制御パラメータとバッファ9から出力されたバッファポインタから、εフィルタ4及びkフィルタ5の係数を算出するフィルタ係数算出器である。本実施形態では、前記制御パラメータを量子化スケールとする。   Reference numeral 10 denotes a code amount controller for controlling the encoder 8 based on the generated code amount output from the buffer 9. Reference numeral 11 denotes a filter coefficient calculator that calculates the coefficients of the ε filter 4 and the k filter 5 from the control parameter output from the encoder 8 and the buffer pointer output from the buffer 9. In this embodiment, the control parameter is a quantization scale.

12は、フィルタ係数算出器11から出力された係数を蓄積する係数メモリである。本実施形態では、特徴量メモリ2と同様に、Mフレーム分の係数を蓄積するものとする。13は、kフィルタ5へ制御値を出力しフィルタの制御を行うkフィルタ制御器である。kフィルタ制御器13は、このkフィルタ5の制御と同時に、εフィルタ制御器14やセレクタ6も制御する。14は、εフィルタ4へ制御値を出力しフィルタの制御を行うεフィルタ制御器である。   A coefficient memory 12 stores the coefficients output from the filter coefficient calculator 11. In the present embodiment, as in the feature amount memory 2, coefficients for M frames are accumulated. Reference numeral 13 denotes a k filter controller that outputs a control value to the k filter 5 to control the filter. The k filter controller 13 controls the ε filter controller 14 and the selector 6 simultaneously with the control of the k filter 5. Reference numeral 14 denotes an ε filter controller that outputs a control value to the ε filter 4 to control the filter.

次に、以上のような構成を有する本実施形態の画像符号化装置の動作について説明する。
本実施形態での処理は、大きく2つに分類される。先頭からMフレームまでの処理と(以下、先頭Mフレームと略称する)、それ以外のフレームの処理である。先頭Mフレームでの処理は、符号化前にMフレーム分のフィルタ処理を実行した画像を用意するまで実行される。一方、それ以外の定常時の処理は、前記フィルタの施されたフレームを符号化する処理と、さらに次の符号化対象となるフレームに対してフィルタを施す処理とを行う。ここで、MフレームとはMPEGのオーダリング単位であり、Bピクチャを扱うエンコーダで必須のメモリ領域分と等しい。
Next, the operation of the image coding apparatus of the present embodiment having the above configuration will be described.
Processing in this embodiment is roughly classified into two. The process from the top to the M frame (hereinafter abbreviated as the top M frame) and the other frames. The process for the first M frame is executed until an image that has been subjected to filter processing for M frames is prepared before encoding. On the other hand, the other normal processing includes a process of encoding the frame subjected to the filter and a process of applying a filter to a frame to be encoded next. Here, the M frame is an MPEG ordering unit and is equal to the memory area essential for an encoder that handles B pictures.

次に、先頭Mフレームのフィルタ処理(先頭フレームフィルタ処理)を行う際の画像符号化装置の動作の一例について、図2のフローチャートを参照して説明する。
まず、ビデオ信号は特徴量測定器1へ入力され、特徴量測定器1は、マクロブロック内の隣接する画素間差分の最大値mdをマクロブロック毎に算出する(ステップS10)。ここで、マクロブロック内の隣接する画素間差分の最大値mdは、マクロブロック内の輝度信号(=16画素×16ライン)を対象として得られる値である。この画素間差分の最大値mdの計算式を以下の(4式)に示す。
Next, an example of the operation of the image coding apparatus when performing the filtering process for the first M frames (first frame filtering process) will be described with reference to the flowchart of FIG.
First, the video signal is input to the feature amount measuring device 1, and the feature amount measuring device 1 calculates the maximum value md of the difference between adjacent pixels in the macro block for each macro block (step S10). Here, the maximum value md of the difference between adjacent pixels in the macroblock is a value obtained for the luminance signal (= 16 pixels × 16 lines) in the macroblock. The formula for calculating the maximum value md of the inter-pixel difference is shown in the following (Formula 4).

md=MAX_i0_15_j0_14(abs(p(i+1,j)−p(i,j))) ・・・(4式)
ここで、iは、マクロブロック内水平画素位置である。jは、マクロブロック内垂直ライン位置である。p(i,j)は、マクロブロック内画素(座標(i,j))である。absは、絶対値であることを示す。MAX_i0_15_j0_14は、i=0〜14,j=0〜15における最大値を選択することを示す。
md = MAX_i0_15_j0_14 (abs (p (i + 1, j) -p (i, j))) (Expression 4)
Here, i is the horizontal pixel position in the macroblock. j is the vertical line position in the macroblock. p (i, j) is a pixel in the macroblock (coordinates (i, j)). abs indicates an absolute value. MAX_i0_15_j0_14 indicates that the maximum value in i = 0 to 14, j = 0 to 15 is selected.

次に、前記算出した画素間差分の最大値mdを、特徴量メモリ2へMフレーム分蓄積する(ステップS11)。
次に、εフィルタ制御器14において、画素間差分の最大値mdから、Mフレームの同一位置のマクロブロックにおける平均値mdmを算出し、さらにこの平均値mdmからフィルタ制御値εを算出する(ステップS12)。本実施形態では、以下の(5式)の変換式によりフィルタ制御値εを算出するものとする。
ε=mdm/2 ・・・(5式)
Next, the calculated maximum value md of the inter-pixel difference is stored in the feature amount memory 2 for M frames (step S11).
Next, the ε filter controller 14 calculates the average value mdm in the macroblock at the same position in the M frame from the maximum value md of the inter-pixel difference, and further calculates the filter control value ε from the average value mdm (step). S12). In the present embodiment, the filter control value ε is calculated by the following conversion formula (5).
ε = mdm / 2 (Expression 5)

εフィルタ4は、フィルタ制御値εを用いて、入力されたビデオ信号(入力画像)に対してフィルタ処理を実行する。このフィルタ処理を実行して得られた出力画像は、セレクタ6を介しフレームメモリ7へ蓄積される(ステップS13)。尚、先頭Mフレームにおいては、kフィルタ5によるフィルタ処理を実行せず、セレクタ6はεフィルタ4からの出力のみを選択し出力する。   The ε filter 4 performs filter processing on the input video signal (input image) using the filter control value ε. The output image obtained by executing this filter processing is stored in the frame memory 7 via the selector 6 (step S13). In the first M frame, the filter process by the k filter 5 is not executed, and the selector 6 selects and outputs only the output from the ε filter 4.

次に、定常時の符号化処理を行う際の画像符号化装置の動作の一例について、図3のフローチャートを参照して説明する。動画像の符号化ではMフレームの処理単位で本処理を繰り返すことになる。
まず、符号量制御器10は、バッファ9からの発生符号量から量子化スケールQPを算出し、符号化器8を制御する(ステップS20)。
次に、符号化器8は、フレームメモリ7に蓄積された画像信号(フレーム)を符号化する(ステップS21)。
次に、係数算出器11は、バッファ9からのバッファポインタと符号量制御器10からの量子化スケールQPから、フィルタ係数keを算出する(ステップS22)。
次に、フィルタ係数keを係数メモリ12へ蓄積する(ステップS23)。
Next, an example of the operation of the image encoding device when performing encoding processing in a steady state will be described with reference to the flowchart of FIG. In encoding a moving image, this processing is repeated for each M frame processing unit.
First, the code amount controller 10 calculates the quantization scale QP from the generated code amount from the buffer 9 and controls the encoder 8 (step S20).
Next, the encoder 8 encodes the image signal (frame) stored in the frame memory 7 (step S21).
Next, the coefficient calculator 11 calculates a filter coefficient ke from the buffer pointer from the buffer 9 and the quantization scale QP from the code amount controller 10 (step S22).
Next, the filter coefficient ke is stored in the coefficient memory 12 (step S23).

前記フィルタ係数keを求める際の画像符号化装置の動作(ステップS22の動作)の一例を、図4のフローチャートを参照して説明する。
まず、量子化スケールQPからフィルタ係数kqを算出する(ステップS40)。図5に、量子化スケールQPとフィルタ係数kqとの関係の一例をグラフ化して示す。図5において、グラフ内のQPAは、フィルタ強度が最低のときの量子化スケールQPの値であり、曲線が漸近する値である。
本実施形態では、量子化スケールQPの値が、このQPA以上となった場合に、フィルタ係数kqが減少する。
An example of the operation of the image encoding device (operation of step S22) when obtaining the filter coefficient ke will be described with reference to the flowchart of FIG.
First, the filter coefficient kq is calculated from the quantization scale QP (step S40). FIG. 5 is a graph showing an example of the relationship between the quantization scale QP and the filter coefficient kq. In FIG. 5, QPA in the graph is the value of the quantization scale QP when the filter strength is the lowest, and is a value that the curve is asymptotic.
In the present embodiment, the filter coefficient kq decreases when the value of the quantization scale QP is equal to or greater than this QPA.

次に、前記デコーダバッファポインタDBPからフィルタ係数kbを算出する(ステップS41)。図6に、バッファポインタDBPとフィルタ係数kbとの関係の一例をグラフ化して示す。図6において、グラフ内のDBは、バッファサイズであり、曲線が漸近する値はDB/2とする。
デコーダバッファのアンダーフローを防止するため、デコーダバッファポインタDBPがバッファサイズの1/2以下となった場合に、フィルタ係数kbが減少する。
Next, the filter coefficient kb is calculated from the decoder buffer pointer DBP (step S41). FIG. 6 is a graph showing an example of the relationship between the buffer pointer DBP and the filter coefficient kb. In FIG. 6, DB in the graph is the buffer size, and the value that the curve is asymptotic is DB / 2.
In order to prevent underflow of the decoder buffer, the filter coefficient kb decreases when the decoder buffer pointer DBP becomes ½ or less of the buffer size.

次に、係数算出器11において前記フィルタ係数kq、kbを比較し、大きな方の値を選択しフィルタ係数keとする(ステップS42、S43、S44)。フィルタ係数keは係数メモリ12へ蓄積される。   Next, the coefficient calculator 11 compares the filter coefficients kq and kb, and selects the larger value as the filter coefficient ke (steps S42, S43 and S44). The filter coefficient ke is stored in the coefficient memory 12.

次に、定常時のフィルタ処理(定常フレームフィルタ処理)を行う際の画像符号化装置の動作の一例について、図7のフローチャートを参照して説明する。動画像の符号化ではMフレームの処理単位で本処理を繰り返すことになる。
まず、ビデオ信号は、特徴量測定器1へ入力され、特徴量測定器1は、マクロブロック毎の分散と画素間差分の最大値mdを算出する(ステップS30)。画素間差分の最大値mdに関しての処理は前述した通りであるので詳細な説明を省略し、ここでは、もう一つの特徴量である分散値を得るまでの動作について説明する。
Next, an example of the operation of the image coding apparatus when performing the filtering process (stationary frame filtering process) at the normal time will be described with reference to the flowchart of FIG. In encoding a moving image, this processing is repeated for each M frame processing unit.
First, the video signal is input to the feature amount measuring device 1, and the feature amount measuring device 1 calculates the maximum value md of the variance for each macroblock and the inter-pixel difference (step S30). Since the processing regarding the maximum value md of the inter-pixel difference is as described above, a detailed description thereof will be omitted, and here, an operation until obtaining a variance value which is another feature amount will be described.

本実施形態では、特徴量測定器1において、分散値をマクロブロック毎に算出する。算出したマクロブロック毎の分散値をactと称する。この分散値actは、マクロブロック内の輝度信号における4ブロックの分散値における最小値に1を加えた値とする。この分散値actの計算式を以下の(6式)に示す。   In the present embodiment, the feature value measuring device 1 calculates a variance value for each macroblock. The calculated variance value for each macroblock is referred to as act. The variance value act is a value obtained by adding 1 to the minimum value of the variance values of four blocks in the luminance signal in the macroblock. The formula for calculating the dispersion value act is shown in the following (formula 6).

Figure 2006157084
Figure 2006157084

ここで、Pjは、ブロック内の輝度画素値である。P_avgは、ブロック内の輝度画素値の平均値である。MIN_block0to3は、4ブロックの分散値から最小値を選択することを示す。   Here, Pj is a luminance pixel value in the block. P_avg is an average value of the luminance pixel values in the block. MIN_block0to3 indicates that the minimum value is selected from the dispersion values of four blocks.

次に、前記算出した分散actを、前記画素間差分の最大値mdと同時に、特徴量メモリ2へMフレーム分蓄積する(ステップS31)。
次に、前述したステップS12、S13と同様に、フィルタ制御値εを算出した後、このフィルタ制御値εを用いて、入力されたビデオ信号(入力画像)に対してフィルタ処理を実行し、フレームメモリ7へ蓄積する(ステップS32、S33)。
Next, the calculated variance act is stored in the feature amount memory 2 for M frames simultaneously with the maximum value md of the inter-pixel difference (step S31).
Next, in the same manner as in steps S12 and S13 described above, after the filter control value ε is calculated, filter processing is executed on the input video signal (input image) using this filter control value ε, and the frame Accumulate in the memory 7 (steps S32 and S33).

次に、kフィルタ制御器13は、特徴量メモリ2内に蓄積されたマクロブロック毎の分散actを用いて係数算出器3で求められたフィルタ係数Kaと、前記蓄積された係数メモリ12内のフィルタ係数keとからフィルタ制御値kを算出する(ステップS33)。
次に、前記算出されたフィルタ制御値kと、予め定められた値KEとを比較し、フィルタ制御値kが予め定められた値KEよりも小さければ、ステップS32、S33の処理を実行し、そうでなければ、前記算出されたフィルタ制御値kにより、kフィルタ5によるフィルタ処理を実行し、フレームメモリ7へ蓄積する(ステップS34)。
Next, the k filter controller 13 uses the variance act for each macroblock accumulated in the feature amount memory 2 to obtain the filter coefficient Ka obtained by the coefficient calculator 3 and the accumulated coefficient memory 12 in the coefficient memory 12. A filter control value k is calculated from the filter coefficient ke (step S33).
Next, the calculated filter control value k is compared with a predetermined value KE, and if the filter control value k is smaller than the predetermined value KE, the processes of steps S32 and S33 are executed, Otherwise, the filter processing by the k filter 5 is executed with the calculated filter control value k and stored in the frame memory 7 (step S34).

ここで、εフィルタ制御器14における処理の一例を、図8のフローチャートを参照して説明する。
まず、kフィルタ制御器13からのフィルタ制御値kを入力する(ステップS50)。次に、入力したフィルタ制御値kと、予め定められた値KEとを比較し(ステップS51)、入力したフィルタ係数keが、予め定められた値KEよりも小さければ、εフィルタ4をオフ(OFF)とする(ステップS51)。一方、入力したフィルタ制御値kが、予め定められた値KE以上であれば、前記ステップS12、S32と同様に、フィルタ制御値εを算出し(ステップS53)、εフィルタ4をオン(ON)とする(ステップS54)。
Here, an example of processing in the ε filter controller 14 will be described with reference to the flowchart of FIG. 8.
First, the filter control value k from the k filter controller 13 is input (step S50). Next, the input filter control value k is compared with a predetermined value KE (step S51). If the input filter coefficient ke is smaller than the predetermined value KE, the ε filter 4 is turned off ( OFF) (step S51). On the other hand, if the input filter control value k is equal to or greater than a predetermined value KE, the filter control value ε is calculated (step S53) and the ε filter 4 is turned on (ON), as in steps S12 and S32. (Step S54).

次に、kフィルタ制御器13における処理の一例を、図9のフローチャートを参照して説明する。
まず、特徴量メモリ2内に蓄積されたマクロブロック毎の分散値actから、Mフレームの同一位置のマクロブロックにおける分散値の平均値actm(以下、Mフレーム平均分散と略称する)を算出し、フィルタ係数kaを算出する(ステップS60)。
図10に、Mフレーム平均分散actmと、フィルタ係数kaとの関係の一例をグラフ化して示す。図10において、グラフ内のactAは、分散値のactmの最小値であり曲線が漸近する値となる。
Mフレーム平均分散actmがactA以上となった場合、フィルタ係数kaが減少する。
Next, an example of processing in the k filter controller 13 will be described with reference to the flowchart of FIG.
First, an average value actm (hereinafter abbreviated as M frame average variance) of the variance values in the macroblocks at the same position in the M frame is calculated from the variance values act for each macroblock stored in the feature amount memory 2. A filter coefficient ka is calculated (step S60).
FIG. 10 is a graph showing an example of the relationship between the M frame average variance actm and the filter coefficient ka. In FIG. 10, “actA” in the graph is the minimum value of the actm of the variance, and is a value that the curve is asymptotic.
When the M frame average variance actm is greater than or equal to actA, the filter coefficient ka decreases.

次に、係数メモリ12から蓄積されたフィルタ係数keを入力する(ステップS61)。このときフィルタ係数keから、Mフレームの同一位置におけるマクロブロックの平均値kem(以下、Mフレーム平均フィルタ係数と略称する)を算出する。
次に、算出したMフレーム平均フィルタ係数kemと、係数算出器3から得たフィルタ係数kaとを用いて、フィルタ制御値kを、以下の(7式)により算出する(ステップS62)。
k=(XA×ka+XE×Kem)/(XA+XE) ・・・(7式)
ここで、XAは、フィルタ係数Kaの重み付け定数であり、XEは、フィルタ係数Keの重み付け定数である。
Next, the filter coefficient ke accumulated from the coefficient memory 12 is input (step S61). At this time, an average value kem of macroblocks at the same position in the M frame (hereinafter, abbreviated as M frame average filter coefficient) is calculated from the filter coefficient ke.
Next, using the calculated M frame average filter coefficient kem and the filter coefficient ka obtained from the coefficient calculator 3, a filter control value k is calculated by the following (Expression 7) (step S62).
k = (XA × ka + XE × Kem) / (XA + XE) (7 formulas)
Here, XA is a weighting constant for the filter coefficient Ka, and XE is a weighting constant for the filter coefficient Ke.

次に、フィルタ制御値kと、予め定められた値KEとを比較し(ステップS63)、フィルタ制御値kが、予め定められた値KE以上であれば、kフィルタ5をオフ(OFF)とする(ステップS64)。一方、フィルタ制御値kが、予め定められた値KEよりも小さければ、フィルタ制御値kを出力しkフィルタ5をオン(ON)とする(ステップS65)。
kフィルタ制御器13からの制御信号により、セレクタ6はεフィルタ4またはkフィルタ5からの信号を選択し、フレームメモリ7へ出力する。
Next, the filter control value k is compared with a predetermined value KE (step S63). If the filter control value k is equal to or greater than the predetermined value KE, the k filter 5 is turned off. (Step S64). On the other hand, if the filter control value k is smaller than the predetermined value KE, the filter control value k is output and the k filter 5 is turned on (step S65).
Based on the control signal from the k filter controller 13, the selector 6 selects the signal from the ε filter 4 or the k filter 5 and outputs it to the frame memory 7.

以上のように、本実施形態では、動画像の特徴量として、分散及び隣接画素間の差分を測定し、バッファポインタ及び量子化スケールから、フィルタ係数Keを算出し、このフィルタ係数keと分散値とからフィルタ制御値kを算出し、算出したフィルタ制御値kを用いて、符号化直前のkフィルタ5により帯域制限を行うようにしたので、視覚的画像品質の低下を防止しつつ、発生符号量を容易に且つ好適に制御することができる。
また、符号化直前のフィルタとして、画像のエッジを保護するとともに平滑化するためのフィルタ処理を行うεフィルタ4と、符号化歪みを抑制するとともにバッファの破綻を回避するためのフィルタ処理を行うkフィルタ5との2種類を設け、入力画像を2つの領域に分け、ある領域についてはεフィルタ4にて平坦部のノイズを除去し、別の領域についてはkフィルタ5にて帯域制限を行うようにしたので、視覚的画像品質の低下を画像全体において防止しつつ、発生符号量を好適に制御することが、少ない負荷で行うことができる。
また、メモリ内に蓄積された複数のフレームに対し、同一強度のフィルタ処理を施すようにしたので、画像の急激な帯域制限の変化がなくなり、視覚的画像品質の低下をより一層防止することができる。
また、メモリの調停により、フィルタ処理と符号化処理とを分けて動作できるので、2つの処理の並列動作が可能となる。
As described above, in the present embodiment, as the feature amount of the moving image, the variance and the difference between adjacent pixels are measured, the filter coefficient Ke is calculated from the buffer pointer and the quantization scale, and the filter coefficient ke and the variance value are calculated. Since the filter control value k is calculated from the above and the band limitation is performed by the k filter 5 immediately before encoding using the calculated filter control value k, the generated code is prevented while preventing the deterioration of the visual image quality. The amount can be easily and suitably controlled.
Also, as a filter immediately before encoding, an ε filter 4 that performs filter processing for protecting and smoothing the edge of an image, and filter processing for suppressing encoding distortion and avoiding a buffer failure k Two types of filters 5 are provided, the input image is divided into two areas, the noise of the flat portion is removed by the ε filter 4 for a certain area, and the band is limited by the k filter 5 for another area. As a result, it is possible to control the amount of generated codes suitably with a small load while preventing a decrease in visual image quality in the entire image.
In addition, since a plurality of frames stored in the memory are subjected to the same strength filtering process, there is no sudden change in the band limitation of the image, and the deterioration of the visual image quality can be further prevented. it can.
Further, since the filtering process and the encoding process can be performed separately by the arbitration of the memory, the two processes can be operated in parallel.

なお、本実施形態では、画像特徴量として、ブロック内の分散値を元に、(6式)を用いて分散値actを求めるようにしたが、これ以外の式で、画像特徴量を求めても構わない。
また、帯域制限フィルタとして、(3式)に示すような2次元kフィルタを用いたが、別の形式のフィルタでも構わない。その際、フィルタの帯域を制御する係数が複数になるとするなら、本実施形態のkに対し、複数の係数の組み合わせを定めた表を用意しそれを使用すればよい。
In this embodiment, the variance value act is obtained using (Equation 6) as the image feature amount based on the variance value in the block. However, the image feature amount is obtained by a formula other than this. It doesn't matter.
In addition, a two-dimensional k filter as shown in (Expression 3) is used as the band limiting filter, but another type of filter may be used. At this time, if there are a plurality of coefficients for controlling the band of the filter, a table in which a combination of a plurality of coefficients is defined for k in this embodiment may be prepared and used.

さらに、バッファポインタからフィルタ係数を求める際に、フィルタの効果はバッファサイズの1/2以下としたが、それ以外の値でも構わない。
また、フィルタ係数を算出する際の関係式は、本実施形態で説明した式以外の式でも構わない。実装上さらに簡単にするため単純な比例式を用いても構わない。
さらに、処理の簡易化のため、2種類のフィルタのどちらかを固定的に扱うようにしても構わない。たとえば、εフィルタ4の閾値を固定値としても構わない。その場合、特徴量として測定する対象は分散のみとなる。
また、フィルタを切り替える周期をマクロブロック単位としたが、これ以外の単位でも構わない。
Further, when the filter coefficient is obtained from the buffer pointer, the effect of the filter is set to ½ or less of the buffer size, but other values may be used.
Further, the relational expression for calculating the filter coefficient may be an expression other than the expression described in the present embodiment. A simple proportional expression may be used for easier implementation.
Furthermore, for simplification of processing, either one of the two types of filters may be fixedly handled. For example, the threshold value of the ε filter 4 may be a fixed value. In that case, only the variance is measured as the feature quantity.
Further, although the cycle for switching the filters is set to the macro block unit, other units may be used.

(第2の実施形態)
前述した第1の実施形態における画像符号化装置は、図11に示すようなコンピュータを用いて実現することができる。
図11において、1000はコンピュータ全体の制御、及び種々の処理を行う中央演算装置(CPU)、1001は本コンピュータの制御に必要なオペレーティングシステム(OS)、ソフトウエア、データ、演算に必要な記憶領域を提供するメモリである。また、このメモリ1001は、CPU1000が各種の処理を行う際のワークエリアとしても用いられる。
(Second Embodiment)
The image coding apparatus in the first embodiment described above can be realized using a computer as shown in FIG.
In FIG. 11, reference numeral 1000 denotes a central processing unit (CPU) that controls the entire computer and performs various processes. Reference numeral 1001 denotes an operating system (OS), software, data, and storage area required for control of the computer. Is a memory that provides The memory 1001 is also used as a work area when the CPU 1000 performs various processes.

1002は、種々の装置をつなぎ、データ、制御信号をやりとりするバスである。1003は、各種のソフトウエアを蓄積する記憶装置(記録メディア)である。1004は、動画像データを蓄積する記憶装置(記録メディア)である。1005は、画像やコンピュータからのシステムメッセージなどを表示するモニタである。
1007は、通信回路1008に符号化データを送信する通信インターフェースであり、装置外部のLAN、公衆回線、無線回線、放送電波等と接続されている。1006は、コンピュータを起動したり、ビットレート等の各種条件を設定したりするための端末である。
A bus 1002 connects various devices and exchanges data and control signals. Reference numeral 1003 denotes a storage device (recording medium) that stores various types of software. Reference numeral 1004 denotes a storage device (recording medium) that accumulates moving image data. Reference numeral 1005 denotes a monitor that displays images and system messages from the computer.
A communication interface 1007 transmits encoded data to the communication circuit 1008, and is connected to a LAN, a public line, a wireless line, a broadcast wave, and the like outside the apparatus. Reference numeral 1006 denotes a terminal for starting up the computer and setting various conditions such as a bit rate.

なお、メモリ1001には、コンピュータ全体を制御し、各種ソフトウエアを動作させるためのOSや、動作させるソフトウエアを格納し、画像データを符号化のために読み込むエリア、一時的に符号データを格納する符号エリア、各種演算のパラメータ等を格納しておくワーキングエリアが存在する。   The memory 1001 stores an OS for controlling the entire computer and operating various software and software to be operated, an area for reading image data for encoding, and temporarily stores code data. There is a working area for storing a code area to be used, parameters for various operations, and the like.

このような構成のコンピュータにおいて、処理に先立ち、ユーザの端末1006の操作に基づいて、記憶装置1004に蓄積されている動画像データから符号化する動画像データを選択し、コンピュータの起動が指示される。そうすると、記憶装置1003に格納されているソフトウエアがバス1002を介してメモリ1001に展開され、ソフトウエアが起動される。   In the computer having such a configuration, prior to processing, based on the operation of the terminal 1006 by the user, the moving image data to be encoded is selected from the moving image data stored in the storage device 1004 and the computer is instructed to start. The Then, the software stored in the storage device 1003 is expanded in the memory 1001 via the bus 1002, and the software is activated.

そして、CPU1000による記憶装置1004に格納されている動画像データの符号化動作は、図2〜4及び図7〜9に示したフローチャートに従ったプログラムコード(前述のソフトウエア)が実行されることになる。
このように、本実施形態におけるコンピュータは、第1の実施形態における画像符号化装置を実現する装置として機能する。
Then, in the encoding operation of the moving image data stored in the storage device 1004 by the CPU 1000, the program code (the above-described software) according to the flowcharts shown in FIGS. 2 to 4 and FIGS. 7 to 9 is executed. become.
As described above, the computer according to the present embodiment functions as a device that implements the image coding device according to the first embodiment.

(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
(Other embodiments of the present invention)
Software program code for realizing the functions of the above-described embodiment for a computer in an apparatus or a system connected to the various devices so as to operate the various devices to realize the functions of the above-described embodiments. Are implemented by operating the various devices in accordance with a program stored in a computer (CPU or MPU) of the system or apparatus.

また、この場合、前記ソフトウエアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。   In this case, the program code of the software itself realizes the functions of the above-described embodiments, and the program code itself and means for supplying the program code to the computer, for example, the program code The stored recording medium constitutes the present invention. As a recording medium for storing the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。   Further, by executing the program code supplied by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) or other application software in which the program code is running on the computer, etc. It goes without saying that the program code is also included in the embodiment of the present invention even when the functions of the above-described embodiment are realized in cooperation with the embodiment.

さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。   Further, after the supplied program code is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the CPU provided in the function expansion board or function expansion unit based on the instruction of the program code Needless to say, the present invention also includes a case where the functions of the above-described embodiment are realized by performing part or all of the actual processing.

本発明の第1の実施形態を示し、画像符号化装置の構成の一例を示すブロック図である。1 is a block diagram illustrating an example of a configuration of an image encoding device according to a first embodiment of this invention. FIG. 本発明の第1の実施形態を示し、先頭フレームフィルタ処理を行う際の画像符号化装置の動作の一例を説明するフローチャートである。5 is a flowchart illustrating an example of an operation of the image encoding device when performing the first frame filtering process according to the first embodiment of this invention. 本発明の第1の実施形態を示し、定常時の符号化処理を行う際の画像符号化装置の動作の一例を説明するフローチャートである。It is a flowchart which shows the 1st Embodiment of this invention and demonstrates an example of operation | movement of the image coding apparatus at the time of performing the encoding process at the time of steady state. 本発明の第1の実施形態を示し、フィルタ係数keを求める際の画像符号化装置の動作の一例を説明するフローチャートである。It is a flowchart which shows the 1st Embodiment of this invention and demonstrates an example of operation | movement of the image coding apparatus at the time of calculating | requiring the filter coefficient ke. 本発明の第1の実施形態を示し、量子化スケールQPとフィルタ係数kqとの関係の一例をグラフ化して示した図である。It is the figure which showed the 1st Embodiment of this invention and graphed and showed an example of the relationship between the quantization scale QP and the filter coefficient kq. 本発明の第1の実施形態を示し、バッファポインタDBPとフィルタ係数kbとの関係の一例をグラフ化して示した図である。It is the figure which showed the 1st Embodiment of this invention and graphed and showed an example of the relationship between buffer pointer DBP and filter coefficient kb. 本発明の第1の実施形態を示し、定常フレームフィルタ処理を行う際の画像符号化装置の動作の一例を説明するフローチャートである。5 is a flowchart illustrating an example of the operation of the image encoding device when performing steady frame filter processing according to the first embodiment of this invention. 本発明の第1の実施形態を示し、εフィルタ制御器における処理の一例を説明するフローチャートである。It is a flowchart which shows the 1st Embodiment of this invention and demonstrates an example in the epsilon filter controller. 本発明の第1の実施形態を示し、kフィルタ制御器における処理の一例を説明するフローチャートである。It is a flowchart which shows the 1st Embodiment of this invention and demonstrates an example in the k filter controller. 本発明の第1の実施形態を示し、Mフレーム平均分散actmと、フィルタ係数kaとの関係の一例をグラフ化して示した図である。FIG. 5 is a diagram illustrating an example of a relationship between an M frame average variance actm and a filter coefficient ka according to the first embodiment of this invention. 本発明の第2の実施形態を示し、画像符号化装置を実現するコンピュータシステムの構成の一例を示したブロック図である。It is the block diagram which showed the 2nd Embodiment of this invention and showed an example of the structure of the computer system which implement | achieves an image coding apparatus. 従来の技術を示し、従来の動画像符号化装置の構成の一例を示したブロック図である。It is the block diagram which showed the prior art and showed an example of the structure of the conventional moving image encoder. 従来の技術を示し、符号化ピクチャ構造の一例を示した図である。It is the figure which showed the prior art and showed an example of the encoding picture structure.

符号の説明Explanation of symbols

1 特徴量測定器
2 特徴量メモリ
3、11 係数算出器
4 εフィルタ
5 kフィルタ
6 セレクタ
7 フレームメモリ
8 符号化器
9 バッファ
10 符号量制御器
12 係数メモリ
13 kフィルタ制御器
14 εフィルタ制御器
1000 CPU
1001 メモリ
1002 バス
1003、1004 記憶装置(記録メディア)
1005 モニタ
1006 端末
1007 通信I/F
DESCRIPTION OF SYMBOLS 1 Feature amount measuring device 2 Feature amount memory 3, 11 Coefficient calculator 4 ε filter 5 k filter 6 Selector 7 Frame memory 8 Encoder 9 Buffer 10 Code amount controller 12 Coefficient memory 13 k filter controller 14 ε filter controller 1000 CPU
1001 Memory 1002 Bus 1003, 1004 Storage device (recording medium)
1005 Monitor 1006 Terminal 1007 Communication I / F

Claims (7)

入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第1の前処理手段と、
前記入力された動画像データの特徴量に基づいて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第2の前処理手段と、
前記符号量と、前記入力された動画像データの特徴量に応じて、前記第1の前処理手段及び前記第2の前処理手段の何れかを選択する選択手段と、
前記選択手段により選択された前処理手段から出力された動画像データを符号化する符号化手段とを有することを特徴とする画像符号化装置。
First preprocessing means for performing band limitation of the input moving image data according to the feature amount of the input moving image data and the code amount of the moving image data encoded in the past;
Second pre-processing means for protecting edges of the inputted moving image data and smoothing the inputted moving image data based on the feature amount of the inputted moving image data;
A selection unit that selects one of the first preprocessing unit and the second preprocessing unit according to the code amount and the feature amount of the input moving image data;
An image encoding apparatus comprising: encoding means for encoding moving image data output from the preprocessing means selected by the selection means.
前記入力された動画像データの特徴量を領域毎に測定する特徴量測定手段と、
前記特徴量測定手段により測定された特徴量を用いて、第1のフィルタ係数を算出する第1のフィルタ係数算出手段と、
前記符号化手段で動画像データを符号化する際に使用される制御パラメータと、前記符号量とを用いて、第2のフィルタ係数を算出する第2のフィルタ係数算出手段と、
前記第1のフィルタ係数算出手段により算出された第1のフィルタ係数と、前記第2のフィルタ係数とを用いて、前記第1の前処理手段を制御するための第1の制御値を算出する第1の制御値算出手段と、
前記第1の制御値算出手段により算出された第1の制御値と、前記特徴量とを用いて、前記第2の前処理手段を制御するための第2の制御値を算出する第2の制御値算出手段とを有し、
前記第1の前処理手段は、前記第1の制御値算出手段により算出された第1の制御値を用いて、前記入力された動画像データの帯域制限を行い、
前記第2の前処理手段は、前記第2の制御値算出手段により算出された第2の制御値を用いて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化し、
前記選択手段は、前記第1の制御値算出手段により算出された第1の制御値を用いて、前記第1の前処理手段及び前記第2の前処理手段の何れかを選択することを特徴とする請求項1に記載の画像符号化装置。
Feature quantity measuring means for measuring the feature quantity of the input moving image data for each region;
First filter coefficient calculation means for calculating a first filter coefficient using the feature quantity measured by the feature quantity measurement means;
Second filter coefficient calculation means for calculating a second filter coefficient using the control parameter used when the moving image data is encoded by the encoding means and the code amount;
Using the first filter coefficient calculated by the first filter coefficient calculating means and the second filter coefficient, a first control value for controlling the first preprocessing means is calculated. First control value calculating means;
A second control value for controlling the second pre-processing means is calculated using the first control value calculated by the first control value calculating means and the feature amount. Control value calculation means,
The first pre-processing unit performs band limitation on the input moving image data using the first control value calculated by the first control value calculation unit,
The second pre-processing means protects an edge of the inputted moving image data using the second control value calculated by the second control value calculating means, and the inputted moving image data. Smoothes
The selection unit selects one of the first preprocessing unit and the second preprocessing unit by using the first control value calculated by the first control value calculation unit. The image encoding device according to claim 1.
前記特徴量測定手段は、前記入力された動画像データを、前記符号化手段により符号化される単位と同等の領域で分割し、その分割した領域毎に、前記入力された動画像データの分散値を測定する分散値測定手段と、
前記入力された動画像データの隣接する画素間の差分値を、前記分割した領域毎に測定する差分値測定手段とを有することを特徴とする請求項2に記載の画像符号化装置。
The feature amount measuring unit divides the input moving image data in an area equivalent to a unit encoded by the encoding unit, and distributes the input moving image data for each of the divided regions. A dispersion value measuring means for measuring a value;
The image coding apparatus according to claim 2, further comprising a difference value measuring unit that measures a difference value between adjacent pixels of the input moving image data for each of the divided regions.
前記第1の前処理手段は、前記入力された動画像データの空間周波数を2次元空間で帯域制限し、
前記第2の前処理手段は、前記入力された動画像データの平坦部のみを平滑化することを特徴とする請求項2又は3に記載の画像符号化装置。
The first preprocessing means band-limits the spatial frequency of the input moving image data in a two-dimensional space,
The image coding apparatus according to claim 2 or 3, wherein the second preprocessing means smoothes only a flat portion of the input moving image data.
前記第2のフィルタ係数算出手段は、前記符号化手段で動画像データを符号化する際に使用される量子化スケールを用いて算出したフィルタ係数と、前記符号量を用いて算出したフィルタ係数とを比較し、比較した結果に基づいて前記第2のフィルタ係数を求めることを特徴とする請求項2〜4の何れか1項に記載の画像符号化装置。   The second filter coefficient calculation unit includes a filter coefficient calculated using a quantization scale used when the moving image data is encoded by the encoding unit, and a filter coefficient calculated using the code amount. The image encoding apparatus according to claim 2, wherein the second filter coefficient is obtained based on the comparison result. 入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第1の前処理ステップと、
前記入力された動画像データの特徴量に応じて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第2の前処理ステップと、
前記符号量と、前記入力された動画像データの特徴量に基づいて、前記第1の前処理手段及び前記第2の前処理手段の何れかを選択する選択ステップと、
前記選択ステップで選択された前処理ステップにより前処理がなされた動画像データを符号化する符号化ステップとを有することを特徴とする画像符号化方法。
A first preprocessing step for performing band limitation of the input moving image data in accordance with a feature amount of the input moving image data and a code amount of the moving image data encoded in the past;
A second pre-processing step for protecting an edge of the input moving image data and smoothing the input moving image data according to a feature amount of the input moving image data;
A selection step of selecting one of the first preprocessing unit and the second preprocessing unit based on the code amount and the feature amount of the input moving image data;
An image encoding method comprising: an encoding step for encoding moving image data preprocessed by the preprocessing step selected in the selection step.
前記請求項6に記載のステップをコンピュータに実行させることを特徴とするコンピュータプログラム。   A computer program for causing a computer to execute the steps according to claim 6.
JP2004339935A 2004-11-25 2004-11-25 Image coding apparatus, image coding method, and computer program Pending JP2006157084A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004339935A JP2006157084A (en) 2004-11-25 2004-11-25 Image coding apparatus, image coding method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004339935A JP2006157084A (en) 2004-11-25 2004-11-25 Image coding apparatus, image coding method, and computer program

Publications (1)

Publication Number Publication Date
JP2006157084A true JP2006157084A (en) 2006-06-15

Family

ID=36634893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004339935A Pending JP2006157084A (en) 2004-11-25 2004-11-25 Image coding apparatus, image coding method, and computer program

Country Status (1)

Country Link
JP (1) JP2006157084A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016005043A (en) * 2014-06-13 2016-01-12 株式会社リコー Information processing device and program
KR20160056692A (en) * 2014-11-12 2016-05-20 삼성전자주식회사 Method and apparatus for encoding image using preprocessing
JP2022514505A (en) * 2018-12-24 2022-02-14 グーグル エルエルシー Video stream adaptive filtering to reduce bitrate

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016005043A (en) * 2014-06-13 2016-01-12 株式会社リコー Information processing device and program
KR20160056692A (en) * 2014-11-12 2016-05-20 삼성전자주식회사 Method and apparatus for encoding image using preprocessing
KR101631950B1 (en) 2014-11-12 2016-06-20 삼성전자주식회사 Method and apparatus for encoding image using preprocessing
JP2022514505A (en) * 2018-12-24 2022-02-14 グーグル エルエルシー Video stream adaptive filtering to reduce bitrate
JP7125559B2 (en) 2018-12-24 2022-08-24 グーグル エルエルシー Video stream adaptive filtering for bitrate reduction

Similar Documents

Publication Publication Date Title
JP5174958B2 (en) Method and system for simultaneous optimization of video coder and decoder
JP5216070B2 (en) Encoding apparatus and encoding method
US20100135389A1 (en) Method and apparatus for image encoding and image decoding
KR101161052B1 (en) Method and apparatus for bit rate reduction in video telephony
WO2009133844A1 (en) Video encoding and decoding method and device equipped with edge-referenced filtering function
JPH04196976A (en) Image encoding device
JP2001145113A (en) Device and method for image information conversion
JP3508916B2 (en) Moving image variable bit rate encoding method and apparatus
JP7343817B2 (en) Encoding device, encoding method, and encoding program
JP5362723B2 (en) Compressed image noise removal device and playback device
JP4427713B2 (en) Encoding apparatus and encoding method, imaging apparatus, image processing method, and program
JP2006157084A (en) Image coding apparatus, image coding method, and computer program
JP4784618B2 (en) Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding program, and moving picture decoding program
JP4736619B2 (en) Image processing apparatus and image processing method
JP2006157083A (en) Image coding apparatus, image coding method, and computer program
JPH09149417A (en) Dynamic image signal decoder
CN113243107A (en) Image encoding device, image encoding method, image decoding device, and image decoding method
JP2006166104A (en) Moving picture encoder, method thereof, program thereof, and storage medium thereof
JP2006279272A (en) Moving picture coder and coding control method thereof
JP7505869B2 (en) Encoding device, decoding device, and program
JP2006166103A (en) Moving picture encoder, method thereof, program thereof, and storage medium thereof
JP3311312B2 (en) Encoding control method, encoding control device, and recording medium recording encoding control program
JP5256095B2 (en) Compressed image noise removal device and playback device
JP4429516B2 (en) Image encoding device
JPH0898177A (en) Picture encoding device