KR100644570B1 - Bitrate control method and apparatus of image encoder and encoding method therefor - Google Patents

Bitrate control method and apparatus of image encoder and encoding method therefor Download PDF

Info

Publication number
KR100644570B1
KR100644570B1 KR1019990042329A KR19990042329A KR100644570B1 KR 100644570 B1 KR100644570 B1 KR 100644570B1 KR 1019990042329 A KR1019990042329 A KR 1019990042329A KR 19990042329 A KR19990042329 A KR 19990042329A KR 100644570 B1 KR100644570 B1 KR 100644570B1
Authority
KR
South Korea
Prior art keywords
quantization
image
encoding
bitrate
energy
Prior art date
Application number
KR1019990042329A
Other languages
Korean (ko)
Other versions
KR20010035640A (en
Inventor
강상욱
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1019990042329A priority Critical patent/KR100644570B1/en
Publication of KR20010035640A publication Critical patent/KR20010035640A/en
Application granted granted Critical
Publication of KR100644570B1 publication Critical patent/KR100644570B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

부호화기에서 발생하는 정보들을 이용하여 비트레이트를 제어하는 방법 및 장치 그리고 이를 이용한 부호화 방법이 개시된다. 부호화 영상의 양자화 스텝을 제어하여 버퍼에서 출력되는 비트레이트가 일정하게 되게 하는 비트레이트 제어 방법에 있어서, 영상의 부호화시 추정값의 일정 범위에서 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델을 복수개 설정하는 과정, 부호화시 발생하는 추정값을 참조하여 상기 과정에서 설정된 양자화 모델중하나를 선택하는 과정, 상기 과정에서 선택된 양자화 모델 및 출력 버퍼의 가용량을 참조하여 상기 버퍼에서 출력되는 비트레이트가 일정하게 하는 양자화스텝을 결정하는 과정을 포함한다. 본 발명에 따른 비트레이트 제어 방법은 영상부호화정보에 따라 모델링을 달리함으로써 실제 발생하는 비트수와 예측 비트수의 오차를 줄일 수 있는 효과를 갖는다.Disclosed are a method and apparatus for controlling a bitrate using information generated by an encoder and an encoding method using the same. A bitrate control method for controlling a quantization step of an encoded image to make a constant bitrate output from a buffer, comprising: a quantization model indicating a correlation between a bitrate and an energy of an image encoded in a predetermined range of an estimated value when encoding an image A plurality of quantization models, a process of selecting one of the quantization models set in the process by referring to an estimated value generated during encoding, a bit rate output from the buffer with reference to the quantization model selected in the process and the available capacity of the output buffer Determining the quantization step to be constant. The bitrate control method according to the present invention has an effect of reducing the error between the number of bits actually generated and the number of prediction bits by changing the modeling according to the video encoding information.

Description

영상부호화기의 비트레이트 제어방법 및 장치, 그리고 이에 적합한 부호화 방법{Bitrate control method and apparatus of image encoder and encoding method therefor}Bitrate control method and apparatus of an image encoder and an encoding method suitable for the same {{Bitrate control method and apparatus of image encoder and encoding method therefor}

도 1은 종래의 부호화 방법에서 사용되는 양자화 모델을 도식적으로 보이기 위한 그래프이다.1 is a graph for schematically showing a quantization model used in a conventional encoding method.

도 2는 본 발명에 따른 비트레이트 제어 방법에 있어서 양자화 모델을 결정하는 방법을 도식적으로 보이기 위해 도시된 것이다.Figure 2 is shown to schematically show a method of determining a quantization model in the bitrate control method according to the present invention.

도 3은 본 발명에 따른 비트레이트 제어 장치를 구비하는 영상부호화기의 구성을 보이는 블록도이다. 3 is a block diagram showing the configuration of an image encoder including a bitrate control apparatus according to the present invention.

본 발명은 영상 부호화 방법 및 장치에 관한 것으로서 특히 부호화기에서 발생하는 정보들을 이용하여 비트레이트를 제어하는 방법 및 장치 그리고 이를 이용한 부호화 방법에 관한 것이다.The present invention relates to a video encoding method and apparatus, and more particularly, to a method and apparatus for controlling a bit rate using information generated by an encoder and an encoding method using the same.

일반적으로 영상부호화에 있어서 비트레이트를 제어하는 목적은 전송량을 일정하게 유지하는 데 있다. 즉, 부호화된 데이터의 오버플로우(over flow)나 언더플 로우(under flow)를 방지하기 위하여 양자화 크기를 결정하는 것이다.In general, the purpose of controlling the bit rate in video encoding is to maintain a constant transmission amount. That is, the quantization size is determined in order to prevent overflow or underflow of the encoded data.

이를 위해서는 비트레이트를 제어하는 구조가 단순하여 실시간 동작이 가능하여야 하며, 동시에 정확한 판단을 할 수 있어야 한다.To this end, the structure for controlling the bit rate should be simple and real-time operation should be possible, and at the same time, accurate judgment should be made.

이 때문에 비트레이트 제어를 함에 있어서 가장 중요한 요소인 양자화 크기를 정할 때 이전 프레임과 현재 프레임의 차영상인 차이 영상(residual image)의 에너지, 주어진 레이트, 그리고 양자화 크기를 모델링한다. Therefore, when determining the quantization size, which is the most important factor in bit rate control, the energy, given rate, and quantization size of the differential image, which is the difference image between the previous frame and the current frame, are modeled.

그러나 모델링을 이용한 접근 방식은 에너지만을 이용한 부호화비트 추정으로써 그 값에 오차가 발생하기 때문에 정확한 값을 계산하기가 어렵다는 단점이 있다.However, the modeling approach has a disadvantage in that it is difficult to calculate an accurate value because an error occurs in the value of the encoding bit using only energy.

본 발명이 이루고자 하는 기술적 과제는 적절한 비트수 추정 모델을 설정하고 부호화중인 마크로블럭에 해당하는 부호화 정보를 이용해 설정된 모델들중 하나를 선택해 오차값을 줄이는 개선된 비트레이트 제어 방법을 제공한다.An object of the present invention is to provide an improved bitrate control method for setting an appropriate number of bit estimation model and selecting one of the models set using encoding information corresponding to a macroblock being encoded to reduce an error value.

본 발명의 다른 목적은 상기의 비트레이트 제어 방법을 사용하는 부호화 방법을 제공하는 것에 있다.Another object of the present invention is to provide an encoding method using the above bit rate control method.

본 발명의 또 다른 목적은 상기 비트레이트 제어 방법에 적합한 장치를 제공하는 것에 있다.Another object of the present invention is to provide an apparatus suitable for the bitrate control method.

상기의 목적을 달성하기 위해 본 발명은 부호화 영상의 양자화 스텝을 제어하여 버퍼에서 출력되는 비트레이트가 일정하게 되게 하는 비트레이트 제어 방법에 있어서,In order to achieve the above object, the present invention provides a bitrate control method for controlling a quantization step of an encoded video to make a constant bitrate output from a buffer.

영상의 부호화시 추정값의 일정 범위에서 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델을 복수개 설정하는 과정;Setting a plurality of quantization models representing a correlation between energy and bit rate of an image encoded within a predetermined range of an estimated value when encoding the image;

부호화시 발생하는 추정값을 참조하여 상기 과정에서 설정된 양자화 모델중하나를 선택하는 과정;Selecting one of the quantization models set in the above process by referring to an estimated value generated during encoding;

상기 과정에서 선택된 양자화 모델 및 출력 버퍼의 가용량을 참조하여 상기 버퍼에서 출력되는 비트레이트가 일정하게 하는 양자화스텝을 결정하는 과정을 포함하는 비트레이트제어방법이다. And a step of determining a quantization step to make the bit rate output from the buffer constant by referring to the selected quantization model and the available capacity of the output buffer.

상기의 다른 목적을 달성하기 위해 본 발명은 차이영상을 DCT부호화하는 DCT부호화기, 상기 DCT부호화기에서 결과된 DCT계수를 가변양자화하는 양자화기, 그리고 상기 양자화기에서 결과된 비트레이트를 버퍼링하여 출력하는 버퍼를 구비하여 원영상과 움직임 추정된 영상과의 차이 영상을 부호화하는 영상부호화 장치에 있어서,In order to achieve the above object, the present invention provides a DCT encoder for DCT encoding a differential image, a quantizer for quantizing a DCT coefficient resulting from the DCT encoder, and a buffer for buffering and outputting the bitrate resulting from the quantizer. In the image encoding apparatus for encoding the difference image between the original image and the motion estimation image,

차이 영상의 에너지를 연산하는 에너지 연산부; An energy calculator configured to calculate energy of the difference image;

영상의 추정치 범위내에서 복수개로 설정된 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델들중 한개를 선택하는 모델 선택부;A model selection unit for selecting one of quantization models representing a correlation between energy and bit rate of a plurality of encoded images set within a range of estimated values of the image;

상기 모델선택부에서 선택된 양자화모델에서 발생되는 양자화값, 움직임 벡터 및 차이 영상의 에너지, 그리고 상기 버퍼의 가용용량에 따라 상기 양자화기의 양자화 스텝을 제어하는 모델 룩업테이블을 포함하는 비트레이트 제어 장치이다.And a model lookup table for controlling the quantization step of the quantizer according to the quantization value generated in the quantization model selected by the model selection unit, the energy of the motion vector and the difference image, and the available capacity of the buffer. .

이하 첨부된 도면을 참조하여 본 발명의 구성 및 동작을 상세히 설명한다.Hereinafter, the configuration and operation of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일반적인 모델링에 의한 비트레이트 제어 방법을 개념적으로 보이기 위해 도시된 것이다. 1 is a conceptual diagram illustrating a bitrate control method by general modeling.

도 1에 있어서 횡축은 부호화 대상이 되는 마크로 블록의 에너지이고, 종축은 비트레이트이다. 또한 각 그래프는 주어진 양자화 스텝들(Q1, Q2, Q3)에 따른 비트레이트와 마크로 블록의 에너지의 관계를 보인다.In FIG. 1, the horizontal axis represents energy of a macro block to be encoded, and the vertical axis represents bit rate. Each graph also shows the relationship between the bitrate and the energy of the macroblock according to the given quantization steps Q1, Q2 and Q3.

도 1의 그래프에서 사용된 마크로 블록의 에너지는 차이영상중 부호화의 대상이 되는 마크로 블록의 MSE(Mean Squar Error) 혹은 변동치(variance)이다. The energy of the macroblock used in the graph of FIG. 1 is an MSE (Mean Squar Error) or a variation of the macroblock to be encoded in the difference image.

일반적인 모델링에 의한 비트레이트 제어 방법을 이용한 영상부호화 방법은 다음과 같이 수행된다.An image encoding method using a bitrate control method by general modeling is performed as follows.

1) 도 1에 도시된 바와 같은 양자화 모델을 설정한다.1) A quantization model as shown in FIG. 1 is set.

2) 버퍼의 가용 가능한 비트수를 입력한다.2) Enter the number of bits available in the buffer.

3) 해당 마크로 블록의 에너지를 계산한다.3) Calculate the energy of the corresponding macroblock.

4) 해당 마크로블록을 부호화하는 데 필요한 비트수를 추정하기 위해 도 1에 도시된 양자화 모델을 사용하여 양자화 크기를 결정한다. 즉, 주어진 에너지를 가지는 마크로 블록을 여러 가지의 양자화 스텝들(Q1, Q2, Q3)로 양자화함에 의해 결과되는 비트레이트들을 추정하고, 버퍼의 가용 용량에 적합한 비트레이트를 산출하는 양자화 스텝을 결정한다.4) The quantization size is determined using the quantization model shown in FIG. 1 to estimate the number of bits needed to encode the corresponding macroblock. That is, the bitrates resulting from quantizing a macroblock having a given energy into various quantization steps Q1, Q2, and Q3 are estimated, and a quantization step for calculating a bitrate suitable for the available capacity of the buffer is determined. .

5) 결정된 양자화크기로 해당 마크로 블록을 부호화한다.5) Encode the corresponding macroblock with the determined quantization size.

6) 전체 영상을 부호화하기 위해 1 - 5과정을 반복한다.6) Repeat steps 1-5 to encode the whole image.

상기와 같은 부호화 방법에 있어서는 부호화 대상이 되는 마크로 블록의 에 너지만을 이용하여 부호화 비트수를 추정하기 때문에 그 값이 오차가 존재할 수 있으며 이에 대비하여 버퍼의 크기에 마진(margin)을 고려해 두어야 한다.In the above encoding method, since the number of encoded bits is estimated using only the energy of the macro block to be encoded, there may be an error in the value thereof. In contrast, a margin should be considered in the size of the buffer. .

본 발명은 이를 해소하기 위하여 적절한 비트수 추정 모델을 설정하고 부호화중인 마크로블럭에 해당하는 부호화 정보를 이용해 설정된 모델들중 하나를 선택해나감으로써 제어 오차를 줄이는 것을 특징으로 한다.In order to solve this problem, the present invention is characterized by reducing the control error by setting an appropriate bit number estimation model and selecting one of the set models using the encoding information corresponding to the macroblock being encoded.

본 발명에 따른 비트레이트 제어 방법에 있어서, 양자화 크기 Q는 다음과 같은 함수의 형태로 나타내어질 수 있다.In the bitrate control method according to the present invention, the quantization size Q may be represented in the form of a function as follows.

Pi, i =1, ......, N : 예측기들(Predictors)Pi, i = 1, ......, N: Predictors

Mk, k =1, ......, M : 모델들(Models)Mk, k = 1, ......, M: Models

Q = f(Mk/Pi)Q = f (Mk / Pi)

예를 들어 영상부호화정보에 대한 추정값으로 움직임 벡터(MV)의 크기와 변동치(variance)을 사용한다면, 제1예측기(P1) =│MV│이다. 그리고 추정값 예를들어 움직임벡터의 크기의 일정범위에 대해 M1, M2, M3를 설정했다면 움직임 벡터를 참조하여 M1, M2, M3중 하나를 선택한다. 한편 이 모델들은 변동치(variance)-레이트(rate)의 관계를 이용해 설정했다면 변동치를 구하고 원하는 레이트를 입력받은 뒤 양자화값을 구한다. 이때 이 양자화값(Q)을 이용해 다른 제어 신호도 발생시킬 수있다. For example, if the magnitude and variance of the motion vector MV are used as the estimated value for the image encoding information, the first predictor P1 = MV. For example, if M1, M2, and M3 are set for a predetermined range of the magnitude of the motion vector, one of M1, M2, and M3 is selected with reference to the motion vector. On the other hand, if these models are set up using the relationship between the variance and the rate, the variance value is obtained, the desired rate is input, and then the quantization value is obtained. At this time, another control signal can be generated using this quantization value Q.

도 2는 본 발명에 따른 비트레이트 제어 장치를 구비하는 영상부호화기의 구성을 보이는 블록도이다. 도 2에 도시된 장치는 블록화된 차이 영상(residual image signal)을 입력하고, 블록 단위로 부호화된 비트레이트를 출력한다. 또한, 버퍼의 가용용량 및 기설정된 양자화 모델을 참조하여 DCT계수의 양자화 스텝을 제어한다. 구체적으로 버퍼의 가용용량이 적을 때는 양자화 스텝을 크게하여 발생되는 비트량을 적게한다. 2 is a block diagram showing the configuration of an image encoder including a bitrate control apparatus according to the present invention. The apparatus shown in FIG. 2 inputs a blocked differential image signal and outputs a bit rate encoded in units of blocks. In addition, the quantization step of the DCT coefficient is controlled by referring to the available capacity of the buffer and the preset quantization model. Specifically, when the available capacity of the buffer is small, the quantization step is increased to reduce the amount of bits generated.

도 2에 도시된 장치에 있어서 입력되는 영상은 전처리기(210)에서 시간, 공간 필터에 의해 잡음 필터링되어 블럭단위로 전처리되며, 블록화된 부호화 영상은 DCT(212)에서 블록별로 DCT부호화되고, 결과된 DCT계수는 양자화기(214)에서 가변 양자화된다. 양자화의 결과롤 얻어진 비트레이트는 버퍼(216)를 통하여 출력된다.In the apparatus shown in FIG. 2, the input image is pre-processed in blocks by noise filtering by a temporal and spatial filter in the preprocessor 210, and the blocked encoded image is DCT coded for each block in the DCT 212. The DCT coefficients are variable quantized in the quantizer 214. The bitrate obtained as a result of the quantization is output through the buffer 216.

룩업테이블(228)은 버퍼(216)의 가용용량, 영상부호화정보인 추정값(예를 들어 움직임 벡터값, DCT값, 영상 데이터값) 및 블록의 에너지, 그에 저장된 양자화 모델을 참조하여 양자화기(214)의 양자화스텝을 제어한다. 또한 제어신호(Vj) = f(Q), j = 1, .... , L, 로서 전처리기(210)의 전처리의 강약을 조절할 수있다. The lookup table 228 refers to the quantizer 214 by referring to the available capacity of the buffer 216, an estimated value (for example, a motion vector value, a DCT value, and an image data value) that is image encoding information, an energy of a block, and a quantization model stored therein. Control the quantization step. In addition, the control signal Vj = f (Q), j = 1, ..., L, it is possible to adjust the strength of the pre-processing of the preprocessor 210.

양자화 스텝을 결정하기 위해 필요한 추정값 및 에너지는 각각 모델선택기(226), 에너지 계산기(224)에서 얻어진다. Estimates and energy needed to determine the quantization step are obtained from model selector 226 and energy calculator 224, respectively.

모델선택기(226)는 입력되는 부호화시 발생하는 추정값 예를 들면 움직임 벡터값이나 DCT(212)의 직류 및 교류값, 또는 영상 데이터값을 참조하여 추정값 크기의 일정 범위에서 복수개 설정되어 있는 양자화모델중의 하나를 선택한다. The model selector 226 includes a plurality of quantization models that are set in a predetermined range of estimated values by referring to an estimated value generated during encoding, for example, a motion vector value, DC and AC values of the DCT 212, or an image data value. Choose one.

역양자화기(218), 역DCT(220), 그리고 메모리(222)는 이전 영상(previous frame)과 현재 영상(current frame)을 얻기 위해 사용되며 그들에 움직임벡터(MV)를 발생시킨다. Inverse quantizer 218, inverse DCT 220, and memory 222 are used to obtain previous and current frames and generate a motion vector (MV) therein.

도 3은 본 발명에 따른 비트레이트 제어 방법을 도식적으로 보이기 위해 도 시된 것이다. 3 is a diagram illustrating a bitrate control method according to the present invention.

예측기1 - 예측기N(310 - 320)는 부호화정보이며, 예를 들어 예측기1(310)은 움직임 벡터값이 되며, 예측기2는 블럭 단위의 직류값, 예측기3은 블럭단위의 주파수 성분이 될 수있다. 모델선택기(330)는 예측기1 - 예측기N(310 - 320)들중의 어느한 예측기값 예를 들면 움직임 벡터값을 참조하여 모델1 - 모델M(340 - 370)을 선택한다. 다른 실시예로 예측기1 - 예측기N를 서로 다른 부호화 정보를 적용하여 서로 조합하여 그에 맞는 모델들을 선택할 수도있다. 모델1 - 모델M(340 - 370)은 추정치 즉, 움직임 벡터 크기의 일정범위에 대해 복수개로 세분화된 해당 블록의 비트율과 에너지와의 관계를 나타내는 양자화 모델들이다. 예를들면 모델1 - 모델M(340 - 370)은 움직임 벡터 크기에 따라 분류되며, 가장큰 움직임벡터를 위해 모델1을, 가장 적은 움직임 벡터를 위해 모델M을 임의대로 설정한다. 따라서 어느한 예측기1(310)에서 발생하는 움직임 벡터값의 크기에 따라 그에 적절한 모델들이 선택된다. 또한 선택된 모델은 그에 맞는 제어신호를 발생한다. Predictor 1-Predictor N 310-320 are encoding information. For example, Predictor 1 310 may be a motion vector value, Predictor 2 may be a DC value in units of blocks, and Predictor 3 may be a frequency component in units of blocks. have. The model selector 330 selects model 1-model M 340-370 by referring to any predictor value, for example, a motion vector value, among the predictor 1-predictor N 310-320. In another embodiment, the predictor 1-predictor N may be combined with each other by applying different encoding information, and models corresponding thereto may be selected. Model 1-Model M (340-370) are quantization models representing the relationship between the bit rate and the energy of the corresponding block divided into a plurality of estimates, that is, a certain range of motion vector magnitudes. For example, Model 1-Model M (340-370) are classified according to the motion vector size, and arbitrarily set Model 1 for the largest motion vector and Model M for the smallest motion vector. Accordingly, appropriate models are selected according to the magnitude of the motion vector value generated in any one predictor 310. The selected model also generates a control signal accordingly.

본 발명에 따른 비트레이트 제어 방법은 부호화 정보를 이용해 추정치 크기의 일정 범위에 대해 M개의 양자화 모델들(model 1 - model M)을 설정하고 그중 선택된 하나를 이용해 차이영상을 부호화하는 데 사용되어질 비트수를 추정한다. 예를들어 부호화 정보중 움직임 벡터의 크기값을 추정치값으로 설정할 수있다. 움직임 벡터의 크기를 전추측단계로 사용하는 이유는 움직임 벡터값이 크면 클수록 움직임이 많은 영상이며 따라서 정확한 움직임을 추정하기 힘들어 진다. 이는 차이 영상에 영향을 주는 경향이 있기 때문이다.The bitrate control method according to the present invention sets M quantization models (model 1 to model M) for a predetermined range of estimated sizes using encoding information, and uses the selected one of them to encode the difference image. Estimate For example, the magnitude value of the motion vector in the encoded information may be set as an estimated value. The reason for using the magnitude of the motion vector as the front-end step is that the larger the motion vector value is, the more motion the image is, and thus, it is difficult to accurately estimate the motion. This is because it tends to affect the difference image.

따라서 에러가 많은 마크로 블록과 에러가 상대적으로 적은 마크로 블록을 미리 분류한 후 모델링을 함으로서 보다 정확한 모델링과 부호화될 비트수의 예측이 가능해 진다.Therefore, by classifying macroblocks with many errors and macroblocks with relatively few errors beforehand, more accurate modeling and prediction of the number of bits to be coded are possible.

모델링은 많은 테스트 영상에 대해 양자화 크기를 조절하여 발생하는 비트수와 에너지와의 관계를 실험을 통하여 생성한다. 결과적으로 선험적(A Priori)인 위 확률을 이용해 양자화 크기를 제어한다.Modeling generates experiments on the relationship between the number of bits and energy generated by adjusting the quantization size for many test images. As a result, the quantization magnitude is controlled using the above probability, A Priori.

추정값으로서 움직임 벡터를 사용할 경우를 살펴보면, 움직임 벡터의 크기는 다음과 같이 결정할 수 있다.Looking at the case of using a motion vector as an estimated value, the size of the motion vector can be determined as follows.

움직임 벡터 MV를 (MVx, MVy)라 하고, 움직임 벡터의 크기는 │MV│= │MVx│+ │MVy│로 나타낸다.The motion vector MV is called (MVx, MVy), and the magnitude of the motion vector is represented by | MV | = | MVx | + | MVy |.

여기서 MVx, MVy는 각각 x축 방향과 y축 방향의 움직임 벡터의 크기를 나타낸다. 벡터값의 크기와 그에 따른 모델들의 상관관계의 밀접성에 따라 n개의 벡터 크기 영역으로 나눌 수 있다. 즉, {MVR1, MVR2, .... MVRn-1, MVRn}로 나타낼 수 있다.Here, MVx and MVy represent the magnitudes of the motion vectors in the x- and y-axis directions, respectively. Depending on the magnitude of the vector value and the correlation between the models, it can be divided into n vector size regions. That is, it can be represented by {MVR1, MVR2, .... MVRn-1, MVRn}.

모델들은 도 1에 나타나 있는 모델링과 유사하게 구성된다. 즉, 세로축은 비트레이트, 가로축은 에너지의 크기를 나타내며, 이들은 모든 Q{Q = min, ..., max}에 대해 단일한 관계를 가진다. H.263의 예를 들면 min값은 1이며, max값은 31이다. 모델의 수는 정규화된 모델을 사용할 때는 M개의 모델로 가능하다.The models are constructed similarly to the modeling shown in FIG. 1. That is, the vertical axis represents the bitrate and the horizontal axis represents the magnitude of energy, and they have a single relationship for all Q {Q = min, ..., max}. For example, in H.263, the min value is 1 and the max value is 31. The number of models is possible with M models when using a normalized model.

추정된 비트수 Re(q)는 다음과 같은 형태로 예측되어 진다.The estimated number of bits Re (q) is predicted in the following form.

Q=0, step = 16;Q = 0, step = 16;

do {do {

Re(q) = EstimateBits(Q);   Re (q) = EstimateBits (Q);

step /=2;   step / = 2;

if (Re(Q) > number_of_target_bits)   if (Re (Q)> number_of_target_bits)

Q +=step;      Q + = step;

else      else

Q -=step;     Q-= step;

} while (step > 0);   } while (step> 0);

이 반복구문을 수행 후 최종적인 Q값을 추정해 낼 수 있다. H.263의 경우 5번의 반복을 거치면 최종 결과를 얻을 수 있다.After executing this iterative statement, the final Q value can be estimated. In the case of H.263, the final result is obtained after five iterations.

본 발명에 따라 추정치를 움직임벡터로 정한 비트레이트 제어 방법을 적용한 부호화 방법은 다음과 같이 수행된다.According to the present invention, an encoding method using the bitrate control method in which an estimate is determined as a motion vector is performed as follows.

1) 추정치를 움직임 벡터로 설정한다. 1) Set the estimate to the motion vector.

2) 부호화되는 영상의 움직임 벡터의 범위내에서 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델을 복수개 설정한다. 2) A plurality of quantization models representing the correlation between the energy and the bitrate of the encoded image within the range of the motion vector of the encoded image are set.

3) 원화상과 움직임 보상된 화상의 차이 화상을 계산한다.3) The difference image between the original image and the motion compensated image is calculated.

4) 움직임 추정시 계산된 움직임 벡터값을 읽어들여 그 크기에 따라 벡터 크기 영역을 정한다.4) The motion vector value calculated during the motion estimation is read and the vector size region is determined according to the size.

5) 2)의 복수개 양자화모델중 정해진 벡터 크기 영역에 해당하는 양자화 모델을 선택한다.5) A quantization model corresponding to a predetermined vector size region is selected from the plurality of quantization models of 2).

6) 차이화상의 에너지를 구한다.6) Find the difference image energy.

7) 버퍼로부터 가용한 용량(capacity)를 받아들인다.7) Accept the available capacity from the buffer.

8) 차이화상의 에너지와 선택된 모델로부터 양자화 스텝을 결정한다.8) Determine the quantization step from the difference image energy and the selected model.

9) 계산된 양자화 크기를 적용해 DCT 계수들을 양자화한다.9) Quantize the DCT coefficients by applying the calculated quantization magnitude.

상술한 바와 같이 본 발명에 따른 비트레이트 제어 방법은 적절하고 다양한 비트수 추정 모델들을 설정하고 마크로 블럭에 해당하는 부호화정보를 이용해 설정된 모델들중 하나를 선택함으로써 실제 발생하는 비트수와 예측 비트수의 오차를 줄일 수 있는 효과를 갖는다.As described above, the bitrate control method according to the present invention sets appropriate and various bit number estimation models and selects one of models set by using encoding information corresponding to a macroblock to determine the number of bits actually generated and the number of predicted bits. It has the effect of reducing the error.

또한, 정확한 비트 발생량의 예측은 버퍼의 크기를 최적화시키는 데 용이하며, 버퍼의 크기를 줄일 수 있어서 버퍼에 의한 지연손실을 줄잉 수 있다.In addition, accurate prediction of the bit generation amount is easy to optimize the size of the buffer, and the size of the buffer can be reduced to reduce the delay loss caused by the buffer.

또한, 모델링에 의한 버퍼 제어 방법이기 때문에 실시간으로 제어가 가능하다는 이점이 있다.In addition, since it is a buffer control method by modeling, there is an advantage that control is possible in real time.

Claims (7)

부호화 영상의 양자화 스텝을 제어하여 버퍼에서 출력되는 비트레이트가 일정하게 되게 하는 비트레이트 제어 방법에 있어서,A bitrate control method for controlling a quantization step of an encoded video to make a constant bitrate output from a buffer, 영상의 부호화시 추정값의 크기의 일정 범위에서 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델을 복수개로 세분화하여 설정하는 과정;Subdividing and setting a plurality of quantization models representing a correlation between the energy of the image to be encoded and a bit rate in a predetermined range of the magnitude of the estimated value at the time of encoding the image; 부호화시 발생하는 적어도 하나 이상의 추정값을 조합하여 그 추정값의 크기에 따라 상기 과정에서 설정된 양자화 모델중 하나를 선택하는 과정;Combining at least one estimated value generated during encoding and selecting one of the quantization models set in the above process according to the magnitude of the estimated value; 상기 과정에서 선택된 양자화 모델 및 출력 버퍼의 가용량을 참조하여 상기 버퍼에서 출력되는 비트레이트가 일정하게 하는 양자화스텝을 결정하는 과정을 포함하는 비트레이트제어방법. And determining a quantization step of making the bit rate output from the buffer constant by referring to the selected quantization model and the available capacity of the output buffer. 제1항에 있어서, 상기 추정값은 움직임 벡터값임을 특징으로 하는 비트레이트제어방법.The method of claim 1, wherein the estimated value is a motion vector value. 제1항에 있어서, 상기 추정값은 블럭단위의 직류 및 교류값임을 특징으로 하는 비트레이트제어방법.The bit rate control method according to claim 1, wherein the estimated values are DC and AC values in units of blocks. 제1항에 있어서, 상기 양자화 모델 설정 과정은 The method of claim 1, wherein the quantization model setting process is performed. 움직임 벡터의 크기에 따라 n개의 클래스중의 하나를 결정하는 과정; 및Determining one of the n classes according to the magnitude of the motion vector; And 기설정된 n개의 양자화 모델들 중에서 상기 결정된 클래스에 해당하는 것을 선택하는 과정을 포함하는 것을 특징으로 하는 비트 레이트 제어 방법And selecting a class corresponding to the determined class among n preset quantization models. 원영상과 움직임 추정된 영상과의 차이 영상을 부호화하는 영상부호화 방법에 있어서,An image encoding method for encoding a difference image between an original image and a motion estimated image, 원영상과 움직임 추정된 영상과의 차이영상을 얻는 과정;Obtaining a difference image between the original image and the motion estimation image; 부호화되는 영상의 추정치 크기의 범위내에서 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델을 복수개 세분화하여 설정하는 과정;Subdividing and setting a plurality of quantization models representing a correlation between energy and bit rate of an encoded image within a range of estimated magnitudes of the encoded image; 부호화시 발생하는 적어도 하나 이상의 추정값을 조합하여 그 추정치의 크기에 따라 상기 과정에서 설정된 양자화 모델중 하나를 선택하는 과정;Combining at least one estimated value generated at the time of encoding and selecting one of the quantization models set in the process according to the magnitude of the estimated value ; 상기 과정에서 선택된 양자화 모델, 차이영상의 에너지, 출력 버퍼의 가용 용량을 참조하여 버퍼에서 출력되는 비트레이트가 일정하게 되도록 하는 양자화 스텝을 결정하는 과정; 및Determining a quantization step of making the bitrate output from the buffer constant by referring to the selected quantization model, the energy of the difference image, and the available capacity of the output buffer; And 결정된 양자화 스텝을 적용하여 차이 영상을 양자화하는 과정을 포함하는 영상 부호화 방법.And quantizing the difference image by applying the determined quantization step. 제5항에 있어서, 상기 양자화 모델 설정 과정에서 사용되는 양자화 모델은 부호화되는 영상의 에너지와 움직임 벡터의 크기에 의해 정규화된 비트레이트의 상관관계를 나타내는 것임을 특징으로 하는 비트레이트 제어 방법The method of claim 5, wherein the quantization model used in the quantization model setting process represents a correlation between a bitrate normalized by the energy of the encoded image and the magnitude of the motion vector. 차이영상을 DCT부호화하는 DCT부호화기, 상기 DCT부호화기에서 결과된 DCT계수를 가변양자화하는 양자화기, 그리고 상기 양자화기에서 결과된 비트레이트를 버퍼링하여 출력하는 버퍼를 구비하여 원영상과 움직임 추정된 영상과의 차이 영상을 부호화하는 영상부호화 장치에 있어서,A DCT encoder for DCT encoding the differential image, a quantizer for quantizing the DCT coefficients resulting from the DCT encoder, and a buffer for buffering and outputting the bit rate resulting from the quantizer; An image encoding apparatus for encoding a difference image of 차이 영상의 에너지를 연산하는 에너지 연산부; An energy calculator configured to calculate energy of the difference image; 영상의 추정치의 크기 범위내에서 복수개로 설정된 부호화되는 영상의 에너지와 비트레이트의 상관관계를 나타내는 양자화 모델들중 한개를 적어도 하나 이상의 추정값을 조합하여 그 추정값의 크기로 선택하는 모델 선택부;A model selection unit that selects one of quantization models representing a correlation between energy and bitrate of a plurality of encoded images set within a size range of an estimated value of the image as the size of the estimated value by combining at least one or more estimated values; 상기 모델선택부에서 선택된 양자화모델에서 발생되는 양자화값, 움직임 벡터 및 차이 영상의 에너지, 그리고 상기 버퍼의 가용용량에 따라 상기 양자화기의 양자화 스텝을 제어하는 모델 룩업테이블을 포함하는 비트레이트 제어 장치.And a model lookup table for controlling the quantization step of the quantizer according to the quantization value generated in the quantization model selected by the model selection unit, the energy of the motion vector and the difference image, and the available capacity of the buffer.
KR1019990042329A 1999-10-01 1999-10-01 Bitrate control method and apparatus of image encoder and encoding method therefor KR100644570B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990042329A KR100644570B1 (en) 1999-10-01 1999-10-01 Bitrate control method and apparatus of image encoder and encoding method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990042329A KR100644570B1 (en) 1999-10-01 1999-10-01 Bitrate control method and apparatus of image encoder and encoding method therefor

Publications (2)

Publication Number Publication Date
KR20010035640A KR20010035640A (en) 2001-05-07
KR100644570B1 true KR100644570B1 (en) 2006-11-13

Family

ID=19613618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990042329A KR100644570B1 (en) 1999-10-01 1999-10-01 Bitrate control method and apparatus of image encoder and encoding method therefor

Country Status (1)

Country Link
KR (1) KR100644570B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1679902A3 (en) * 2005-01-06 2012-04-25 Qualcomm Incorporated Residual coding in compliance with a video standard using non-standardized vector quantization coder
KR20170001905U (en) 2015-11-23 2017-05-31 대우조선해양 주식회사 Azimuth thruster of vessel

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940024614A (en) * 1993-04-15 1994-11-18 김광호 Coding method using fuzzy control and its device
KR960028447A (en) * 1994-12-19 1996-07-22 배순훈 Video encoder
KR970057945A (en) * 1995-12-23 1997-07-31 배순훈 Buffer control device of band division coding system
KR980007757A (en) * 1996-06-26 1998-03-30 김광호 Bit generation rate control method using quantization activity diagram and image encoding apparatus thereof
KR20000060297A (en) * 1999-03-13 2000-10-16 윤종용 Bitrate control method and apparatus of image encoder and encoding method therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940024614A (en) * 1993-04-15 1994-11-18 김광호 Coding method using fuzzy control and its device
KR960028447A (en) * 1994-12-19 1996-07-22 배순훈 Video encoder
KR970057945A (en) * 1995-12-23 1997-07-31 배순훈 Buffer control device of band division coding system
KR980007757A (en) * 1996-06-26 1998-03-30 김광호 Bit generation rate control method using quantization activity diagram and image encoding apparatus thereof
KR20000060297A (en) * 1999-03-13 2000-10-16 윤종용 Bitrate control method and apparatus of image encoder and encoding method therefor
KR100529305B1 (en) * 1999-03-13 2005-11-17 삼성전자주식회사 Bitrate control method and apparatus of image encoder and encoding method therefor

Also Published As

Publication number Publication date
KR20010035640A (en) 2001-05-07

Similar Documents

Publication Publication Date Title
CN1910934B (en) Encoder with adaptive rate control
US7292634B2 (en) Image coding method and apparatus
KR100484148B1 (en) Advanced method for rate control and apparatus thereof
CN100592794C (en) Enhanced motion estimation method, video encoding method and apparatus using the same
CN101459844B (en) Selective and/or scalable complexity control for video codecs
JP2006140758A (en) Method, apparatus and program for encoding moving image
US20040076333A1 (en) Adaptive interpolation filter system for motion compensated predictive video coding
KR20060131699A (en) Method for processing image data
CN107846593B (en) Rate distortion optimization method and device
EP1251701B1 (en) Encoding a video with a variable frame-rate while minimizing total average distortion
Xie et al. Sequence-based rate control for constant quality video
US10616585B2 (en) Encoding data arrays
Van et al. Fast motion estimation for closed-loop HEVC transrating
KR100644570B1 (en) Bitrate control method and apparatus of image encoder and encoding method therefor
JP2003264840A (en) System converter for encoded moving picture data
KR100708182B1 (en) Rate control apparatus and method in video encoder
US6141449A (en) Coding mode determination system
JP4130617B2 (en) Moving picture coding method and moving picture coding apparatus
CN113473136A (en) Video encoder and code rate control device thereof
CN112243129B (en) Video data processing method and device, computer equipment and storage medium
JPH09168155A (en) Variable frame rate dynamic image coding method
KR100529305B1 (en) Bitrate control method and apparatus of image encoder and encoding method therefor
CN109587487B (en) Method and system for evaluating structural distortion degree of RDO strategy
KR100911098B1 (en) Apparatus and method for prediction of distortion in H.263 video coding
US7953147B1 (en) Iteration based method and/or apparatus for offline high quality encoding of multimedia content

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee