KR100677128B1 - Rate control apparatus and method in video encoder - Google Patents

Rate control apparatus and method in video encoder Download PDF

Info

Publication number
KR100677128B1
KR100677128B1 KR1020040068461A KR20040068461A KR100677128B1 KR 100677128 B1 KR100677128 B1 KR 100677128B1 KR 1020040068461 A KR1020040068461 A KR 1020040068461A KR 20040068461 A KR20040068461 A KR 20040068461A KR 100677128 B1 KR100677128 B1 KR 100677128B1
Authority
KR
South Korea
Prior art keywords
fullness
buffer
macroblock
picture
bit rate
Prior art date
Application number
KR1020040068461A
Other languages
Korean (ko)
Other versions
KR20060019801A (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 KR1020040068461A priority Critical patent/KR100677128B1/en
Publication of KR20060019801A publication Critical patent/KR20060019801A/en
Application granted granted Critical
Publication of KR100677128B1 publication Critical patent/KR100677128B1/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/115Selection of the code volume for a coding unit prior to coding
    • 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
    • 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/136Incoming video signal characteristics or properties
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Abstract

매크로블록 파이프라인 구조를 갖는 비디오 부호화기에서의 비트율 제어장치 및 방법이 개시된다. 본 발명에 따라, 비트율 제어장치는 픽처의 부호화시에 발생하는 비트의 총 수를 나타내는 타겟 비트를 결정하는 목표비트 결정부; 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산하는 버퍼 충만도 계산부; 및 상기 버퍼 충만도에 따라 양자화 파라미터를 계산하는 양자화 파라미터 계산부를 포함하는 것을 특징으로 한다. 이에 의해, 하드웨어 구현시 하드웨어 복잡도를 줄이고 프로세싱 시간을 줄일 수 있다.An apparatus and method for controlling a bit rate in a video encoder having a macroblock pipeline structure is disclosed. According to the present invention, a bit rate control apparatus includes: a target bit determiner for determining a target bit representing a total number of bits generated at the time of encoding a picture; A buffer fullness calculation unit configured to calculate a buffer fullness for the macroblock of the current picture by using the initial fullness of the buffer and the number of bits generated when all macroblocks up to the present are encoded; And a quantization parameter calculator configured to calculate a quantization parameter according to the buffer fullness. This can reduce hardware complexity and processing time in hardware implementation.

Description

동영상 부호화기의 비트율 제어장치 및 방법{Rate control apparatus and method in video encoder}Rate control apparatus and method in video encoder

도 1은 비디오 부호화기의 블록도1 is a block diagram of a video encoder

도 2는 본 발명에 따른 매크로 블록 파이프 라인 방식을 설명하기 위한 참조도,2 is a reference diagram for explaining a macroblock pipeline scheme according to the present invention;

도 3은 본 발명에 따른 비트율 제어장치의 블록도,3 is a block diagram of a bit rate control apparatus according to the present invention;

도 4는 본 발명에 따른 비트율 제어방법의 플로우차트이다.4 is a flowchart of a bit rate control method according to the present invention.

본 발명은 동영상 데이터의 부호화에 관한 것으로, 보다 상세하게는 매크로블록 파이프라인 구조를 갖는 비디오 부호화기에서의 비트율 제어장치 및 그 방법에 관한 것이다.The present invention relates to encoding of video data, and more particularly, to an apparatus and method for controlling a bit rate in a video encoder having a macroblock pipeline structure.

MPEG-2 또는 H.264와 같은 동영상 압축 방법에 따라 동영상을 부호화하여, 하드 디스크나 DVD 등의 광 저장매체에 저장하거나, 부호화된 동영상 비트 스트림을 다른 시스템으로 전송하기 위하여, 출력 버퍼의 상태 즉, 충만도가 일정하게 유지되도록 부호화시의 양자화 파라미터 정해 양자화를 수행하여야 한다. 특히, 고선 명 TV(High Definition TV, HDTV)에서 제공되는 고화질의 비디오를 부호화할 때에는 그 데이터 량이 많기 때문에, 비디오의 자연스러운 부호화를 위해서 버퍼 충만도가 일정하게 유지되도록 비트율(bitrate)을 제어하여야 한다.In order to encode a video according to a video compression method such as MPEG-2 or H.264 and store it on an optical storage medium such as a hard disk or a DVD, or to transmit an encoded video bit stream to another system, In order to keep the fullness constant, the quantization parameter must be determined at the time of encoding. In particular, when encoding high-definition video provided by a high definition TV (HDTV), the amount of data is large. Therefore, the bitrate must be controlled to maintain a constant buffer fullness for natural encoding of the video. .

HD 급 비디오와 같이 고화질의 비디오를 부호화하는 부호화기는, 하나의 화면을 서브화면으로 분할하여 각각의 서브 화면을 동시에 처리하는 병렬 처리 방법에 의해 비디오를 부호화하거나, 하나의 화면을 매크로 블록 단위로 나누고, 각각의 매크로 블록을 파이프 라인 방식에 의해 처리하여 부호화한다. 병렬 처리 방법에서의 부호화기의 비트율 제어기는, 병렬적으로 구현된 비디오 부호화기의 비디오 인코딩 모듈 내에 각각 존재하여 각 비트율 제어기 간에 필요한 정보를 서로 주고 받아 비트율 제어를 수행한다. 반면, 매크로 블록 파이프 라인 방법에서는, 하나의 비트율 제어기를 가지고 매크로 블록 파이프 라인 구조의 비디오 인코더의 비트율을 전체적으로 제어한다.Encoders that encode high-quality video, such as HD video, encode video by a parallel processing method that divides one screen into sub-screens and simultaneously processes each sub-screen, or divides one screen into macroblock units. Each macroblock is processed and encoded by a pipeline method. In the parallel processing method, the bit rate controller of the encoder is present in the video encoding module of the video encoder implemented in parallel to exchange bitrate information between the bit rate controllers to perform bit rate control. On the other hand, in the macroblock pipeline method, a single bitrate controller is used to control the bitrate of the video encoder of the macroblock pipeline structure as a whole.

그러나, 이러한 병렬 처리 구조를 가지는 부호화기에서의 비트율 제어기는 여러 개의 비트율 제어기를 사용하므로, 구현시 부호화기의 사이즈가 커지는 단점이 있고, 병렬 처리 구조가 아닌 비디오 인코더 시스템의 비트율 제어는 하나의 비트율 제어기에서 각 인코더 모듈의 비트율을 제어하기에는 프로세싱 시간이 부족하다는 단점이 있다. However, since the bit rate controller in an encoder having such a parallel processing structure uses a plurality of bit rate controllers, the size of the encoder is large in implementation, and the bit rate control of a video encoder system other than the parallel processing structure is performed in one bit rate controller. The disadvantage is that processing time is insufficient to control the bit rate of each encoder module.

따라서, 본 발명이 이루고자 하는 기술적 과제는 매크로 블록 파이프 라인 구조를 가지는 부호화기에서의 비트율 제어장치 및 방법을 제공하는 것이다. Accordingly, an object of the present invention is to provide an apparatus and method for controlling a bit rate in an encoder having a macroblock pipeline structure.                         

본 발명이 이루고자 하는 다른 기술적 과제는 하나의 비트율 제어기를 가지고 프로세싱 동작 시간을 줄일 수 있는 비트율 제어장치 및 방법을 제공하는 것이다.Another object of the present invention is to provide a bit rate control apparatus and method capable of reducing processing operation time with one bit rate controller.

상기 기술적 과제는 본 발명에 따라, 픽처의 부호화시에 발생하는 비트의 총 수를 나타내는 타겟 비트를 결정하는 목표비트 결정부; 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산하는 버퍼 충만도 계산부; 및 상기 버퍼 충만도에 따라 양자화 파라미터를 계산하는 양자화 파라미터 계산부를 포함하는 것을 특징으로 하는 비트율 제어장치에 의해 달성된다.According to an aspect of the present invention, there is provided an apparatus, including: a target bit determiner configured to determine a target bit representing a total number of bits generated in encoding a picture; A buffer fullness calculation unit configured to calculate a buffer fullness for the macroblock of the current picture by using the initial fullness of the buffer and the number of bits generated when all macroblocks up to the present are encoded; And a quantization parameter calculator that calculates a quantization parameter according to the buffer fullness.

한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 다음 픽처가 부호화될 때 사용될 수 있는 비트의 총 수를 결정하는 목표 비트 결정 단계; 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산하는 버퍼 충만도 계산 단계; 및 상기 계산된 가상버퍼의 충만도에 따라 인코더의 발생 비트율을 조정하도록 양자화 파라미터를 계산하는 비트율 조정단계를 포함하는 것을 특징으로 하는 비트율 제어방법에 의해서도 달성된다.On the other hand, according to another field of the present invention, the technical problem is a target bit determining step of determining the total number of bits that can be used when the next picture is encoded; A buffer fullness calculation step of calculating the fullness of the buffer for the macroblock of the current picture by using the initial fullness of the buffer and the number of bits generated when encoding all the macroblocks up to the present; And a bit rate adjustment step of calculating a quantization parameter to adjust the generated bit rate of the encoder according to the calculated fullness of the virtual buffer.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 비디오 부호화기의 블록도이다.1 is a block diagram of a video encoder.

비디오 부호화기는 감산부(105), DCT 수행부(110), 양자화부(115), 가변길이 부호화부(120), 버퍼(125), 역양자화부(130), IDCT 수행부(135), 프레임 메모리(140), 움직임 추정부(145), 움직임 보상부(150) 및 비트율 제어부(160)를 구비한다.The video encoder includes a subtractor 105, a DCT performer 110, a quantizer 115, a variable length encoder 120, a buffer 125, an inverse quantizer 130, an IDCT performer 135, and a frame. The memory 140 includes a motion estimator 145, a motion compensator 150, and a bit rate controller 160.

감산부(105)는 입력영상에서 움직임 보상된 영상을 빼고, DCT 수행부(110)는 감산부(105)의 출력 데이터에 대하여 DCT를 수행한다. 양자화부(115)는 DCT 수행된 DCT 계수에 대하여 양자화를 수행한다. 가변길이 부호화부(120)는 양자화된 DCT 계수를 가변길이 코딩(Variable Length Coding, VLC)한다. 가변길이 코딩된 값들은 버퍼(125)에 저장되었다가 출력된다. 그리고 움직임 보상 및 움직임 추정을 수행하기 위하여 상기 양자화된 DCT 계수를 복호화하여 참조 영상을 얻어야 한다. 이를 위하여 역양자화부(130)는 양자화된 DCT 계수를 역 양자화한 후 IDCT수행부(135)는 Inverse DCT를 수행한다. 이렇게 복호화된 참조영상은 프레임 메모리(140)에 저장된다. 그리고, 프레임 메모리(140)에 저장된 참조영상과, 입력영상을 이용하여 움직임 추정부(145)는 움직임 추정을 수행하고, 이렇게 얻어진 움직임 추정영상과 참조영상을 이용하여 움직임 보상부(150)는 움직임 보상을 수행한다.The subtractor 105 subtracts the motion compensated image from the input image, and the DCT performer 110 performs the DCT on the output data of the subtractor 105. The quantization unit 115 performs quantization on the DCT coefficients on which DCT is performed. The variable length encoder 120 performs variable length coding (VLC) on the quantized DCT coefficients. Variable length coded values are stored in the buffer 125 and output. In order to perform motion compensation and motion estimation, a reference picture must be obtained by decoding the quantized DCT coefficients. To this end, the inverse quantization unit 130 inversely quantizes the quantized DCT coefficients, and then the IDCT performing unit 135 performs an inverse DCT. The decoded reference image is stored in the frame memory 140. Then, the motion estimation unit 145 performs motion estimation using the reference image and the input image stored in the frame memory 140, and the motion compensator 150 uses the motion estimation image and the reference image thus obtained. Perform compensation

이때 버퍼(125)는 가변길이 코딩된 데이터를 저장하고 있다가 일정한 속도로 출력하여야 하는데, 이를 위하여 비트율 제어부(160)는, 입력영상의 변화정도가 어느 정도인가를 나타내는 입력영상의 활성도와 하나의 화면내에서의 복잡한 정도인 입력영상의 복잡도를 입력받아 기준 양자화 파라미터를 계산하고, 이를 바탕으로 실제 양자화에 사용되는 양자화 파라미터를 만들어 기준 양자화 파라미터와 함께 양자화부(115)로 전달한다.In this case, the buffer 125 stores variable length coded data and outputs the data at a constant speed. For this purpose, the bit rate controller 160 may have a single degree of activity of the input image indicating how much the input image changes. A reference quantization parameter is calculated by receiving the complexity of the input image, which is the degree of complexity in the screen, and based on this, a quantization parameter used for actual quantization is created and transmitted to the quantization unit 115 along with the reference quantization parameter.

이렇게 부호화기에서 출력된 데이터는 복호화기의 버퍼로 입력되는데, 부호화기에서는 부호화된 데이터가 일정한 속도로 만들어지는 것이 아니고 불규칙적으로 만들어지기 때문에 픽처와 픽처간 또는 픽처 내부에서의 화질이 일정하지 않다. 따라서 복호화기에 입력되는 데이터가 저장되는 입력버퍼가 넘치거나(full) 고갈(empty)이 되지 않도록 부호화되는 데이터의 비트율을 조정하여야 한다.In this way, the data output from the encoder is input to the decoder's buffer. In the encoder, the encoded data is not made at a constant speed, but is made irregular, and thus the picture quality between the picture and the picture or inside the picture is not constant. Therefore, the bit rate of the encoded data should be adjusted so that the input buffer storing the data input to the decoder is not full or empty.

이때 복호화기는 입력 버퍼로부터 전달된 한 픽처의 비트 스트림을 한번에 동시에 제거하기 때문에 비트율 조정시의 전체 비트수는 픽처 단위로 조정하면 된다. 한편, 부호화기는 화질을 일정하게 유지하기 위하여 다양한 형식의 픽처들간에 전체 비트수를 할당하는데, 이 할당은 화면의 복잡도와 픽처의 형식에 대한 비트 할당에 따라 변화한다.At this time, since the decoder removes the bit stream of one picture transferred from the input buffer at once, the total number of bits in bit rate adjustment may be adjusted in picture units. On the other hand, the encoder allocates the total number of bits between pictures of various formats in order to keep the picture quality constant. The allocation changes according to the complexity of the picture and the bit allocation for the picture format.

부호화기가 비트율을 제어하는 여러 가지 방법이 있는데 그 중 한가지 방법은 양자화 스케일을 변경하는 것으로 주로 버퍼의 충만도에 따라서 양자화 스텝 사이즈를 가변적으로 하여 양자화될 데이터에 적용한다. 즉, 발생 비트 수가 일정 기준치 이상이면 버퍼 안의 데이터가 증가하므로 양자화 값을 증가시켜 데이터를 줄이고, 발생 비트 수가 일정 기준치 이하이면 양자화 값을 감소시켜 복호화기의 버퍼 상태를 일정하게 조절한다. 이 양자화 값이 화질에 직접적인 영향을 주므로 비트율 제어는 화질측면에서 중요한 기능을 한다고 할 수 있다.There are various ways in which the encoder controls the bit rate, one of which is to change the quantization scale, and to apply the data to be quantized by varying the quantization step size according to the buffer's fullness. That is, if the number of generated bits is greater than or equal to a predetermined reference value, the data in the buffer increases, so that the data is reduced by increasing the quantization value. Since this quantization value directly affects image quality, bit rate control plays an important role in terms of image quality.

일반적으로 MPEG-2 시스템에서 비트율 제어는 다음의 세가지 단계에 따라 수행된다. 첫 번째 단계는 다음 픽처가 부호화될 때 사용될 비트의 총 수를 결정하는 단계로 목표 비트 결정 단계이다. 두 번째 단계는 부호화 시 실제 발생한 비트 수를 이용하여, 버퍼의 충만도를 각각의 매크로 블록의 양자화 파라미터 값을 참조로 설정하는 비트율 제어 단계이다. 세 번째 단계는 발생 비트수에 따라 양자화 값을 적용하여 양자화하는 단계이다. 이렇게 하여 다음 픽처의 목표 비트를 예측하면서 영상의 비트율을 제어한다.In general, bit rate control in an MPEG-2 system is performed according to the following three steps. The first step is to determine the total number of bits to be used when the next picture is encoded, which is the target bit determination step. The second step is a bit rate control step of setting the fullness of the buffer with reference to the quantization parameter value of each macro block by using the number of bits actually generated during encoding. The third step is to quantize by applying the quantization value according to the number of bits generated. In this way, the bit rate of the image is controlled while predicting the target bit of the next picture.

이제 실시간 HD 급 영상 부호화 시스템을 매크로 블록 파이프라인으로 구현하였을 때, 상기 두 번째 단계에서 실제 발생한 데이터, 즉 발생한 비트수를 이용하여 버퍼의 충만도를 계산하는 방법에 대하여 설명한다. 본 발명에서는 매크로 블록 파이프 라인 방법에서의 비트율 제어방법에 대해서 설명한다. 비트율 제어 단계에서 현재 매크로 블록을 부호화하기 전에 적절한, 버퍼의 충만도를 계산한다. 영상에 대한 충만도 계산은 다음 수학식 1에 따라 수행된다.Now, when the real-time HD video encoding system is implemented as a macroblock pipeline, a method of calculating the fullness of the buffer using data actually generated in the second step, that is, the number of bits generated will be described. In the present invention, a bit rate control method in the macroblock pipeline method will be described. In the rate control step, the buffer fullness is calculated appropriately before encoding the current macroblock. The calculation of the fullness of the image is performed according to the following equation (1).

Figure 112004039025366-pat00001
Figure 112004039025366-pat00001

여기서, di 0, dp 0, db 0는 I 픽처, P 픽처 및 B 픽처에 대한 버퍼의 초기 충만도이며, 이것은 같은 타입의 가장 이전의 픽처에서의 비트율 제어 오차이다. Bj는 j 번째 픽처까지 모든 매크로 블록을 부호화 했을 때 생성되는 비트수이다. 즉, 같은 타입의 이전 픽처를 인코딩하여 발생된 비트 수를 나타낸다. T는 타겟 비트수를 나타내며, MBcnt는 픽처 내의 총 매크로 블록 수를 나타낸다. 그러나 수학식 1에 의해 버퍼의 충만도를 계산하기 위해서는 이전 픽처의 매크로블록의 생성 비트수를 알아야 하므로 처리해야 하는 데이터 량이 많아 빠른 시간을 요구하는 부호화 시스템에서는 적절하지 않다.Where d i 0 , d p 0 , d b 0 are the initial fullness of the buffer for the I picture, the P picture, and the B picture, which is the bit rate control error in the previous picture of the same type. B j is the number of bits generated when all macro blocks are encoded up to the j th picture. That is, it indicates the number of bits generated by encoding the previous picture of the same type. T denotes the number of target bits and MB cnt denotes the total number of macro blocks in a picture. However, in order to calculate the fullness of the buffer by Equation 1, since the number of bits of macroblocks of the previous picture must be known, it is not suitable for an encoding system that requires a large amount of data to process.

도 2는 본 발명에 따른 매크로 블록 파이프 라인 방식을 설명하기 위한 참조도이다.2 is a reference diagram for explaining a macroblock pipeline scheme according to the present invention.

매크로 블록 파이프 라인 방식에서의 영상 처리 방법에서 각 단계별 매크로 블록 처리는, 움직임 추정(ME) 단계와 그 외 기타 단계로 나눌 수 있다. 움직임 추정(ME)를 수행하는 부분은 INT, HP/MC 및 RECON이 있으며, INT은 시간에 따라 정수화소 단위의 움직임 추정(Integer-pixel estimation)을 수행하는 것을 말하며, HP/MC(Half-pixel estimation/Motion Compensation)는 반화소 단위의 움직임 추정과 움직임 보상을 수행하는 것을 뜻하고, RECON은 다음 픽처의 부호화를 위해 현재 부호화된 영상을 복원(Reconstruction)하는 것을 뜻한다.In the image processing method of the macroblock pipeline method, macroblock processing for each step may be divided into a motion estimation (ME) step and other steps. The parts that perform the motion estimation (ME) are INT, HP / MC, and RECON, and INT refers to performing integer-pixel estimation in units of integer pixels over time, and half-pixel HP / MC. Estimation / Motion Compensation means to perform motion estimation and motion compensation in units of half pixels, and RECON means to reconstruct the currently encoded image for encoding the next picture.

움직임 추정을 제외한 부분은 TP와 VLC가 있으며, TP는 DCT, 양자화 및 IDCT를 수행하는 것을 말하고, VLC는 가변길이 부호화를 수행하는 것을 말한다. 도 2를 참조하면, TP에서 2번째 매크로블록을 처리할 때 VLC에서는 첫번째 매크로블록을 처리하므로 비트율 제어부에서 다음 수학식 2에 따라 버퍼 충만도를 계산한다.The parts excluding motion estimation include TP and VLC, TP means DCT, quantization, and IDCT, and VLC means variable length coding. Referring to FIG. 2, since the VLC processes the first macroblock when the second macroblock is processed by the TP, the bit rate controller calculates the buffer fullness according to Equation 2 below.

Figure 112004039025366-pat00002
Figure 112004039025366-pat00002

수학식 2를 참조하면, 현재 매크로블록의 버퍼 충만도 계산 시, 발생 비트수를 현재보다 2개 이전 픽처의 매크로블록의 발생 비트수를 참조하여 계산한다. 하드웨어 구현시는 다음 수학식 3에 따라 구현하며, 이에 따라 곱셉과 나눗셈을 없앰으로써 구현이 용이하다.Referring to Equation 2, when calculating the buffer fullness of the current macroblock, the number of generated bits is calculated by referring to the number of generated bits of the macroblock of two pictures before the current. Hardware implementation is implemented according to the following equation (3), it is easy to implement by eliminating multiplication and division.

Figure 112004039025366-pat00003
Figure 112004039025366-pat00003

여기서 s는 부호화된 매크로블록의 발생비트수, d는 이전 픽처의 매크로블록의 버퍼 충만도값, rmb는 하나의 GOP(Group of Picture)에 할당하고 남은 잔여 비트수를 매크로블록 개수로 나눈 것이며, 버퍼 충만도 d는 위와 같은 식으로 계속해서 더해지고 계산된다. s-2, s-1 은 실험으로 구해진 평균값을 사용하거나 임의의 값, 예를 들어 0을 사용할 수 있다.Where s is the number of generated bits of the encoded macroblock, d is the buffer fullness value of the macroblock of the previous picture, r mb is allocated to one GOP (Group of Picture), and the remaining bits are divided by the number of macroblocks. The buffer fullness d is then added and calculated in the same manner as above. s -2 and s -1 may use the experimentally averaged value or use any value, for example 0.

상기 수학식 3에서 예를 들어 d3를 풀어 계산하면, 다음 수학식 4의 계산과정에 따라 상기 수학식 2에서의 d3의 수식과 같음을 알 수 있다.For example, when d 3 is solved and calculated in Equation 3 , it can be seen that it is the same as Equation 3 in Equation 2 according to the calculation process of Equation 4 below.

Figure 112004039025366-pat00004
Figure 112004039025366-pat00004

도 3은 본 발명에 따른 비트율 제어장치의 블록도이다.3 is a block diagram of a bit rate control apparatus according to the present invention.

비트율 제어장치는 목표비트 결정부(310), 버퍼 충만도 계산부(320) 및 양자화 파라미터 계산부(330)를 구비한다.The bit rate controller includes a target bit determiner 310, a buffer fullness calculator 320, and a quantization parameter calculator 330.

목표비트 결정부(310)는 다음 픽처가 부호화될 때 사용될 수 있는 비트의 총 수를 결정한다. 즉, 타겟 비트를 결정한다. 버퍼 충만도 계산부(320)는 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산한다. 보다 상세하게는 상술한 수학식 2 및 3에 따라 버퍼 충만도를 계산한다. 양자화 파라미터 계산부(330)는 상기 버퍼 충만도에 따라 양자화 파라미터를 계산하여 양자화부로 전달한다.The target bit determiner 310 determines the total number of bits that can be used when the next picture is encoded. That is, the target bit is determined. The buffer fullness calculator 320 calculates the buffer fullness for the macroblock of the current picture by using the initial fullness of the buffer and the number of bits generated when all macroblocks up to the present are encoded. More specifically, the buffer fullness is calculated according to Equations 2 and 3 described above. The quantization parameter calculator 330 calculates the quantization parameter according to the buffer fullness and transfers the quantization parameter to the quantization unit.

도 4는 본 발명에 따른 비트율 제어방법의 플로우차트이다.4 is a flowchart of a bit rate control method according to the present invention.

목표 비트 결정 단계(S410)에서는 다음 픽처가 부호화될 때 사용될 수 있는 비트의 총 수를 결정하는 단계이다. 즉, 타겟 비트를 결정한다. 버퍼의 충만도 계산 단계(S420)에서는 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산하는 단계이다. 비트율 조정단계(S430)에서는 상기 계산된 버퍼의 충만도에 따라 인코더의 발생 비트율을 조정하도록 양자화 파라미터를 계산하는 단계이다. 양자화 단계(S440)는 발생비트수에 따라 계산된 양자화 값을 수신하여 양자화를 수행하는 단계이다.In the target bit determining step S410, the total number of bits that can be used when the next picture is encoded is determined. That is, the target bit is determined. In the calculation of the fullness of the buffer (S420), the fullness of the buffer for the macroblock of the current picture is calculated by using the initial fullness of the buffer and the number of bits generated when all macroblocks up to the present are encoded. In the bit rate adjustment step (S430), the quantization parameter is calculated to adjust the generated bit rate of the encoder according to the calculated buffer fullness. The quantization step S440 is a step of receiving quantization values calculated according to the number of bits generated and performing quantization.

한편, 전술한 비트율 제어방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 비트율 제어방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.On the other hand, the above-described bit rate control method can be created by a computer program. Codes and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement a bit rate control method. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

전술한 바와 같이 본 발명에 따르면, 이전 픽처의 매크로블록까지 발생한 실제 데이터를 이용하는 것이 아니라, 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 버퍼의 충만도를 계산함으로써, 종래의 MPEG 인코더 시스템의 비트율 제어 방식보다 하드웨어 구현시 하드웨어 복잡도를 줄이고 프로세싱 시간을 줄일 수 있다.As described above, according to the present invention, the fullness of the buffer is calculated using the initial fullness of the buffer and the number of bits generated when all the macroblocks up to the present are encoded, not the actual data generated up to the macroblock of the previous picture. As a result, hardware complexity and processing time may be reduced in hardware implementation than the bit rate control scheme of the conventional MPEG encoder system.

Claims (4)

매크로 블록 파이프라인 구조를 갖는 비디오 부호화기의 비트율 제어장치에 있어서,In the bit rate control apparatus of a video encoder having a macroblock pipeline structure, 픽처의 부호화시에 발생하는 비트의 총 수를 나타내는 타겟 비트를 결정하는 목표비트 결정부;A target bit determiner for determining a target bit representing the total number of bits generated at the time of encoding the picture; 버퍼의 초기 충만도와 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산하는 버퍼 충만도 계산부; 및A buffer fullness calculator configured to calculate a fullness of the buffer for the macroblock of the current picture by using the initial fullness of the buffer and the number of bits generated when the macroblock is encoded; And 상기 버퍼 충만도에 따라 양자화 파라미터를 계산하는 양자화 파라미터 계산부를 포함하며, A quantization parameter calculator configured to calculate a quantization parameter according to the buffer fullness, 상기 버퍼 충만도 계산부는, 상기 매크로 블록 파이프라인 구조에서 n번째 매크로블록에 대한 버퍼의 충만도 계산 시점에 이미 계산된 적어도 n-2번째 이전 매크로 블록의 부호화 비트수를 이용하여 버퍼 충만도를 계산하는 것을 특징으로 하는 비트율 제어장치.The buffer fullness calculator calculates the buffer fullness using the number of encoded bits of at least the n-2 th previous macroblock, which is already calculated at the time of calculating the fullness of the buffer for the nth macroblock in the macroblock pipeline structure. Bit rate control device, characterized in that. 제1항에 있어서,The method of claim 1, 상기 버퍼 충만도 계산부는 다음 수학식에 의해 버퍼 충만도를 계산하는 것 을 특징으로 하는 비트율 제어장치.And the buffer fullness calculator calculates the buffer fullness according to the following equation.
Figure 112004039025366-pat00005
Figure 112004039025366-pat00005
여기서, di 0, dp 0, db 0는 I 픽처, P 픽처 및 B 픽처에 대한 버퍼의 초기 충만도이고, Bj는 j 번째 픽처까지 모든 매크로 블록을 부호화 했을 때 생성되는 비트수이며, T는 타겟 비트수를 나타내고, MBcnt는 픽처 내의 총 매크로 블록 수를 나타낸다.Where d i 0 , d p 0 , and d b 0 are the initial fullness of the buffers for the I picture, the P picture, and the B picture, and B j is the number of bits generated when all macro blocks are encoded up to the j th picture. T denotes the number of target bits, and MB cnt denotes the total number of macro blocks in a picture.
매크로 블록 파이프라인 구조를 갖는 비디오 부호화기의 비트율 제어방법에 있어서,In the bit rate control method of a video encoder having a macroblock pipeline structure, 다음 픽처가 부호화될 때 사용될 수 있는 비트의 총 수를 결정하는 목표 비트 결정 단계;A target bit determining step of determining the total number of bits that can be used when the next picture is encoded; 버퍼의 초기 충만도와 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산하는 버퍼 충만도 계산 단계; 및A buffer fullness calculation step of calculating the fullness of the buffer for the macroblock of the current picture by using the initial fullness of the buffer and the number of bits generated when the macroblock is encoded; And 상기 계산된 가상버퍼의 충만도에 따라 인코더의 발생 비트율을 조정하도록 양자화 파라미터를 계산하는 비트율 조정단계를 포함하며,A bit rate adjustment step of calculating a quantization parameter to adjust an generated bit rate of the encoder according to the calculated fullness of the virtual buffer, 상기 버퍼 충만도 계산 단계는, 상기 매크로 블록 파이프라인 구조에서 n번째 매크로블록에 대한 버퍼의 충만도 계산 시점에 이미 계산된 적어도 n-2번째 이전 매크로 블록의 부호화 비트수를 이용하여 버퍼 충만도를 계산하는 것을 특징으로 하는 비트율 제어방법.The buffer fullness calculation step may include calculating buffer fullness using the number of encoded bits of at least the n-2 th previous macroblock, which is already calculated at the time of calculating the fullness of the buffer for the nth macroblock in the macroblock pipeline structure. Bit rate control method characterized in that the calculation. 제3항에 있어서,The method of claim 3, 상기 발생비트수에 따라 계산된 양자화 값을 수신하여 양자화를 수행하는 양자화 단계를 더 포함하는 것을 특징으로 하는 비트율 제어방법.And a quantization step of receiving quantization values calculated according to the number of generated bits and performing quantization.
KR1020040068461A 2004-08-30 2004-08-30 Rate control apparatus and method in video encoder KR100677128B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040068461A KR100677128B1 (en) 2004-08-30 2004-08-30 Rate control apparatus and method in video encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040068461A KR100677128B1 (en) 2004-08-30 2004-08-30 Rate control apparatus and method in video encoder

Publications (2)

Publication Number Publication Date
KR20060019801A KR20060019801A (en) 2006-03-06
KR100677128B1 true KR100677128B1 (en) 2007-02-02

Family

ID=37127037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068461A KR100677128B1 (en) 2004-08-30 2004-08-30 Rate control apparatus and method in video encoder

Country Status (1)

Country Link
KR (1) KR100677128B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105867A2 (en) * 2010-02-26 2011-09-01 에스케이텔레콤 주식회사 Encoding apparatus, method for driving same, and encoding method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100800838B1 (en) * 2006-07-27 2008-02-04 삼성전자주식회사 Rate control of video encoder
KR101960470B1 (en) 2017-02-24 2019-07-15 주식회사 칩스앤미디어 A rate control method of video coding processes supporting off-line cabac based on a bit estimator and an appratus using it

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997016029A1 (en) 1995-10-25 1997-05-01 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
KR19990057147A (en) * 1997-12-29 1999-07-15 이계철 Bit rate control method of MPEG video encoder
KR19990076563A (en) * 1998-03-16 1999-10-15 다니구찌 이찌로오, 기타오카 다카시 Video coding method
KR20030000310A (en) * 2001-06-23 2003-01-06 엘지전자 주식회사 Apparatus for transcoding video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997016029A1 (en) 1995-10-25 1997-05-01 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
KR19990057147A (en) * 1997-12-29 1999-07-15 이계철 Bit rate control method of MPEG video encoder
KR19990076563A (en) * 1998-03-16 1999-10-15 다니구찌 이찌로오, 기타오카 다카시 Video coding method
KR20030000310A (en) * 2001-06-23 2003-01-06 엘지전자 주식회사 Apparatus for transcoding video

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011105867A2 (en) * 2010-02-26 2011-09-01 에스케이텔레콤 주식회사 Encoding apparatus, method for driving same, and encoding method
KR20110098037A (en) * 2010-02-26 2011-09-01 에스케이 텔레콤주식회사 Apparatus for encoding, driving method and encoding method thereof
WO2011105867A3 (en) * 2010-02-26 2011-12-08 에스케이텔레콤 주식회사 Encoding apparatus, method for driving same, and encoding method
KR101647072B1 (en) 2010-02-26 2016-08-09 에스케이텔레콤 주식회사 Apparatus for Encoding, Driving Method and Encoding Method Thereof

Also Published As

Publication number Publication date
KR20060019801A (en) 2006-03-06

Similar Documents

Publication Publication Date Title
JP4256574B2 (en) Image signal encoding method and image signal encoding apparatus
KR100756596B1 (en) Video data encoder and video data encoding method
EP2403248B1 (en) Moving picture encoding device, moving picture encoding method, and moving picture encoding computer program
US8432964B2 (en) Image processing device, method, and program
JP2011155678A (en) Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
JP5128389B2 (en) Moving picture coding apparatus and moving picture coding method
JPWO2005064947A1 (en) Video coding method and apparatus
KR100968371B1 (en) Method and Apparatus of Decoding Image
KR20000023504A (en) Variable bit rate coding apparatus
KR100588795B1 (en) Encoder and encoding method
JP4179917B2 (en) Video encoding apparatus and method
JP2002199392A (en) Method and device for encoding image
KR100677128B1 (en) Rate control apparatus and method in video encoder
KR20040007818A (en) Method for controlling DCT computational quantity for encoding motion image and apparatus thereof
JPH11275577A (en) Video signal coding method and system
JP2005045736A (en) Method and device for encoding image signal, encoding controller, and program
KR100911098B1 (en) Apparatus and method for prediction of distortion in H.263 video coding
JPH08102952A (en) Real time image coder and its method
KR0123243B1 (en) Bit rate control method in a scene conversion
JP6874844B2 (en) Moving image coding device, moving image coding method, and moving image coding program
JP4582710B2 (en) Video encoding device
KR100355438B1 (en) Method for controling bit stream output buffer in MPEG2 video encoder
JP4239734B2 (en) Encoding apparatus, encoding method, and program
JPH04175085A (en) Moving picture encoding system
JPH07222165A (en) Video signal encoding method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee