KR100677128B1 - Rate control apparatus and method in video encoder - Google Patents
Rate control apparatus and method in video encoder Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
도 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
감산부(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
이때 버퍼(125)는 가변길이 코딩된 데이터를 저장하고 있다가 일정한 속도로 출력하여야 하는데, 이를 위하여 비트율 제어부(160)는, 입력영상의 변화정도가 어느 정도인가를 나타내는 입력영상의 활성도와 하나의 화면내에서의 복잡한 정도인 입력영상의 복잡도를 입력받아 기준 양자화 파라미터를 계산하고, 이를 바탕으로 실제 양자화에 사용되는 양자화 파라미터를 만들어 기준 양자화 파라미터와 함께 양자화부(115)로 전달한다.In this case, the
이렇게 부호화기에서 출력된 데이터는 복호화기의 버퍼로 입력되는데, 부호화기에서는 부호화된 데이터가 일정한 속도로 만들어지는 것이 아니고 불규칙적으로 만들어지기 때문에 픽처와 픽처간 또는 픽처 내부에서의 화질이 일정하지 않다. 따라서 복호화기에 입력되는 데이터가 저장되는 입력버퍼가 넘치거나(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).
여기서, 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.
수학식 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.
여기서 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.
도 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
목표비트 결정부(310)는 다음 픽처가 부호화될 때 사용될 수 있는 비트의 총 수를 결정한다. 즉, 타겟 비트를 결정한다. 버퍼 충만도 계산부(320)는 버퍼의 초기 충만도와 현재까지의 모든 매크로 블록을 부호화했을 때 발생한 비트수를 이용하여 현재 픽처의 매크로 블록에 대한 버퍼의 충만도를 계산한다. 보다 상세하게는 상술한 수학식 2 및 3에 따라 버퍼 충만도를 계산한다. 양자화 파라미터 계산부(330)는 상기 버퍼 충만도에 따라 양자화 파라미터를 계산하여 양자화부로 전달한다.The
도 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)
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)
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)
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)
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 |
-
2004
- 2004-08-30 KR KR1020040068461A patent/KR100677128B1/en not_active IP Right Cessation
Patent Citations (4)
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)
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 |