KR20010046145A - Method and apparatus for controlling bit rate of a MPEG decoder - Google Patents

Method and apparatus for controlling bit rate of a MPEG decoder Download PDF

Info

Publication number
KR20010046145A
KR20010046145A KR1019990049782A KR19990049782A KR20010046145A KR 20010046145 A KR20010046145 A KR 20010046145A KR 1019990049782 A KR1019990049782 A KR 1019990049782A KR 19990049782 A KR19990049782 A KR 19990049782A KR 20010046145 A KR20010046145 A KR 20010046145A
Authority
KR
South Korea
Prior art keywords
bit rate
signal
dpram
gop
picture
Prior art date
Application number
KR1019990049782A
Other languages
Korean (ko)
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 KR1019990049782A priority Critical patent/KR20010046145A/en
Publication of KR20010046145A publication Critical patent/KR20010046145A/en

Links

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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Abstract

PURPOSE: An apparatus and method for controlling a bit rate of a moving image coder are provided to convert an inputted variable while a bit rate adjusting device used in a moving picture coder is operated and to monitor variables and a result value used while a bit rate adjustment is performed. CONSTITUTION: A bit rate control unit comprises a control signal generating unit(20), a DPRAM(Dual Port RAM)(30) and a digital signal processing unit(40). That is, the bit rate control unit comprises a portion generating a control signal for reading/writing to the DPRAM(30), a memory portion for making two ports read/write independently and a portion for adjusting a substantial bit rate. The control signal generating unit(20) comprises an interrupt generating unit(21) and an address decoder(22). The interrupt generating unit(21) generates an interrupt signal used as an input of the digital signal processing unit(40). The bit rate control unit is operated by being synchronized with an interrupt signal being generated from the interrupt generating unit(21). Data which are downloaded in the DPRAM(30) are read through another port of the DPRAM(30) and output to the digital signal processing unit(40) for performing a calculation for a substantial bit rate adjustment.

Description

동영상 부호화기의 비트율 제어장치 및 그 방법{Method and apparatus for controlling bit rate of a MPEG decoder}Bit rate controller and method for video encoder {Method and apparatus for controlling bit rate of a MPEG decoder}

본 발명은 동영상 부호화기의 비트율 제어장치 및 그 방법에 관한 것으로서, 특히 동영상 부호화기에 사용되는 비트율 조정기의 동작중 입력 변수들의 변환이 가능하도록 하고, 비트율 조정을 수행하는 과정에서 사용되는 변수들과 결과값을 모니터링할 수 있도록 한 동영상 부호화기의 비트율 제어장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for controlling a bit rate of a video encoder, and in particular, to enable the conversion of input variables during operation of a bit rate adjuster used in a video encoder, and the variables and result values used in the process of performing bit rate adjustment. An apparatus for controlling a bit rate of a video encoder and a method thereof are provided.

일반적으로, 동영상 부호화기는 입력 영상의 부호화 효율을 높이기 위해서 시간적으로 분리된 영상간에 존재하는 상관성(Correlation)을 줄이고, 차이 영상만을 부호화하여 전송한다. 이 과정에서 영상의 형태를 I, P, B픽쳐로 구분한다.In general, the video encoder reduces the correlation existing between the temporally separated images in order to increase the encoding efficiency of the input image, and encodes and transmits only the difference images. In this process, the image is divided into I, P, and B pictures.

MPEG-2부호화기에서는 부호화 특성상 프레임이 입력되는 순서대로 부호화하지 않고, 부호화의 효율을 고려해 결정된 GOP구조에 따라 입력되는 프레임의 픽쳐타입을 결정하고, 그 타입에 따라 프레임을 재배치하여 부호화하는 것이다.In the MPEG-2 coder, the picture type of the input frame is determined according to the GOP structure determined in consideration of encoding efficiency, and the frames are rearranged and encoded according to the type, rather than the frames being inputted in order of encoding.

MPEFG부호화에서 사용되는 픽쳐타입은 부호화방법에 따라 I-픽쳐(Inyra-Picture), P-픽쳐(Predictive Picture), B-픽쳐(Bidirectionally Predictive Picture) 세가지로 구분된다.Picture types used in MPEFG encoding are classified into three types, i-picture (Inyra-Picture), P-picture (Predictive Picture), and B-picture (Bidirectionally Predictive Picture).

I-픽쳐는 프레임내 부호화방법으로 부호화되는 프레임으로 부/복호화시 인접한 다른 프레임에 대한 정보를 필요로 하지 않으며, P픽쳐는 예측 부호화방법으로 부호화되는 프레임으로 시간적으로 앞에 위치한 I또는 P픽쳐타입의 프레임으로 부터 예측하여 부/복호화되는 프레임이다.An I-picture is a frame encoded by the intra-frame encoding method, and does not need information about other adjacent frames when encoding / decoding. A P-picture is a frame encoded by the predictive encoding method. Predicted / decoded frames from frames.

그리고, B픽쳐는 양방향 예측 부호화방법으로 부호화되는 프레임으로 부/복호화를 위해 시간적으로 앞에 위치하는 I 또는 P타입의 프레임과 뒤에 위치하는 I 또는 P-픽쳐의 프레임을 모두 필요로 하는 것이다.The B picture is a frame encoded by a bidirectional predictive encoding method and requires both an I or P-type frame located temporally and an I or P-frame located later for encoding / decoding.

일반적인 동영상 부호화기에서 압축된 비디오 비트열은 비디오 출력버퍼에 저장되었다가 최종적으로 전송되는데, 이때 비디오 출력버퍼의 출력 전송속도보다 입력 전송속도가 장시간 증가를 보이면, 비디오 출력버퍼가 가득차기 때문에 오버 플로우가 발생되는 것을 방지하기 위해서는 동영상 부호하기의 양자화과정을 보다 엄격하게 수행하여 비디오 출력버퍼의 전송속도를 낮추어야 한다.In a typical video encoder, the compressed video bitstream is stored in the video output buffer and finally transmitted. If the input transmission speed is longer than the output transmission speed of the video output buffer, the overflow occurs because the video output buffer becomes full. In order to prevent this from happening, the quantization process of video encoding should be performed more strictly to lower the transmission speed of the video output buffer.

마찬가지로, 비디오 출력버퍼가 비어 있으면, 평균 출력 전송속도를 유지할 수 있도록 양자화과정을 보다 완화시켜야 한다. 이러한 일련의 과정을 비트율 제어라고 하며 이 비트율 제어는 동영상 부호화에 있어서 필수적이고도 화질에 큰 영향을 끼치는 중요 요소인 것이다.Similarly, if the video output buffer is empty, the quantization process should be further relaxed to maintain the average output transfer rate. This series of processes is called bit rate control, which is essential for video coding and is an important factor that greatly affects image quality.

이와 같은 동영상 부호화기의 비트율 제어의 목적은 먼저, 상기한 바와 같이 비디오 출력버퍼의 오버플로우(Overflow)나 결핍(Underflow)이 발생하지 않도록 하는 것이고, 다음으로는 동양상 부호화의 과정에서 최상의 화질을 얻기 위해서이다.The purpose of the bit rate control of such a video encoder is to prevent overflow or underflow of a video output buffer as described above, and to obtain the best image quality in the process of encoding an Asian image. to be.

동영상 부호화의 과정을 통해 압축 및 복원된 화상의 화질은 원화상의 화질보다 떨어지는 현상이 일어나는데, 이는 압축과정에서 불가피하게 일어나는 현상이다.The quality of the image compressed and reconstructed through the video encoding process is lower than that of the original image, which is inevitable in the compression process.

이러한 화질의 저하를 최소화하여 최상의 화질을 얻기 위해서는 압축 및 복원된 픽쳐들의 화질 저하의 정도, 즉, PSNR이 픽쳐들 사이에 균등하여야 한다. 만일 픽쳐들의 PSNR이 픽쳐마다 균등하지 않고 어떤 픽쳐는 높고 어떤 픽쳐는 낮게 나올 경우 사람이 느끼는 평균적인 화질은 낮은 PSNR로 부호화된 픽쳐의 화질로 저하게 되게 되는 것이다.In order to minimize the deterioration of the image quality and obtain the best image quality, the degree of deterioration of the quality of the compressed and reconstructed pictures, that is, the PSNR should be equal among the pictures. If the PSNRs of the pictures are not even for each picture and some pictures are high and some pictures are low, the average picture quality felt by a person is reduced to the picture quality of a picture encoded with a low PSNR.

한편, MPEG과 같은 동영상 부호화기에서는 시간적인 압축방법에 따라 세가지의 픽쳐형태가 있는데, 시간적인 압축방법을 사용하지 않는 I픽쳐, 시간적으로 앞선 픽쳐로 부터 상관관계를 이용하는 P픽쳐, 시간적으로 앞뒤에 있는 픽쳐로 부터 상관관계를 이용하는 B 픽쳐가 있다. 이 세가지 픽쳐형태는 압축효율이 서로 다르기 때문에 같은 화질 저하를 얻기위해서 필요한 비트양이 다르다. 따라서, 각 픽쳐에 대한 비트양의 할당이 다를 수 밖에 없으며, 어떻게 비트양을 할당하느냐에 따라 각 픽쳐 형태에 따른 화질저하가 균등할 수 있고 또는 다를 수 도 있다.On the other hand, in video encoders such as MPEG, there are three types of pictures according to temporal compression methods, i-pictures without using temporal compression methods, P-pictures using correlations from temporally preceding pictures, and temporal backwards and forwards. There is a B picture that uses correlation from a picture. Since these three picture types have different compression efficiencies, the amount of bits required to obtain the same image quality deterioration is different. Accordingly, the bit amount allocation for each picture is inevitably different, and depending on how the bit amount is allocated, the picture quality degradation may be equal or different according to each picture type.

이하, 일반적인 동영상 부호화기의 비트율 제어장치 및 그 방법에 대하여 살펴보기로 하자.Hereinafter, a bit rate controller and a method of a general video encoder will be described.

도 1은 종래 기술에 따른 양자화기의 비트율 제어장치가 구비된 동영상 부호화기에 대한 블록구성을 나타낸 도면으로서, 도 1을 참조하여 그 구성을 보면, 감산기(10), DCT부(11), 양자화부(12), 가변장 부호화부(13), 비트율 제어부(14), 역양자화부(15), 역 DCT부(16) 및 움직임 추정 및 보상부(17)로 구성된다.FIG. 1 is a block diagram illustrating a video encoder having a bit rate controller of a quantizer according to the related art. Referring to FIG. 1, a subtractor 10, a DCT unit 11, and a quantizer are shown. (12), a variable length coding unit 13, a bit rate control unit 14, an inverse quantization unit 15, an inverse DCT unit 16, and a motion estimation and compensation unit 17.

움직임 추정 및 보상부(17)는 입력 영상데이타와 예측을 위해 이전 영상을 이용하여 움직임 추정을 하여 움직임 벡터를 추출하고, 추출된 움직임 벡터를 이용하여 현재 처리될 입력영상의 매크로 블록(16 ×16)의 예측값을 이전 프레임의 참조영상으로 부터 획득한 후, 획득된 예측된 블록은 감산기(10)로 출력된다.The motion estimation and compensation unit 17 extracts a motion vector by performing motion estimation using the previous image for input image data and prediction, and uses the extracted motion vector to extract a macro block (16 × 16) of the input image to be processed. After obtaining the predicted value of) from the reference image of the previous frame, the obtained predicted block is output to the subtractor 10.

감산기(10)는 움직임추정 및 보상부(17)에서 출력되는 에측된 블록과 입력영상블록을 감산하여 그 차이값을 DCT(Discrete Cosine Transform:이산여현변환)(11)로 전달된다.The subtractor 10 subtracts the predicted block and the input image block output from the motion estimation and compensation unit 17, and transfers the difference value to a discrete cosine transform (DCT) 11.

DCT부(11)는 감산기(10)로 부터 전달되는 차이값을 DCT변환한 후, 양자화부(12)로 출력하고, 양자화부(12)는 DCT부(11)에서 전달된 DCT변환된 데이타를 양자화하여 그 결과치를 가변장 부호화부(Variable Length Coding:VLC)(13) 및 역양자화부(15)로 각각 출력하게 되는 것이다.The DCT unit 11 DCT-converts the difference value transmitted from the subtractor 10 and then outputs the DCT-converted data transferred from the DCT unit 11 to the quantization unit 12. The result is quantized and output to the variable length coding unit (VLC) 13 and the inverse quantization unit 15, respectively.

가변장 부호화부(13)는 양자화된 영상데이타를 가변장 부호화하여 비트열로써 수신단 및 비트율 제어부(14)로 각각 전송하게 되고, 역양자화부(15)는 양자화부(12)에서 양자화된 영상데이타를 역양자화하여 역 DCT부(16)로 전달한다.The variable length encoder 13 variably encodes the quantized image data and transmits the quantized image data to the receiving end and the bit rate controller 14 as a bit string, and the inverse quantization unit 15 quantizes the image data in the quantization unit 12. Inverse quantized and delivered to the inverse DCT unit 16.

역 DCT부(16)는 역양자화된 영상데이타를 역 DCT변환한 후, 역 DCT 변환된 영상데이타는 움직임추정 및 보상부(17)에서 얻어지는 예측된 블록과 가산되고 그 결과로 얻어지는 영상블록은 이전 프레임의 참조영상으로 저장되어 다음 영상 블록의 움직임 추정과 움직임 보상에 이용되는 것이다.After the inverse DCT unit 16 inverses DCT-converts the dequantized image data, the inverse DCT-converted image data is added to the predicted block obtained by the motion estimation and compensation unit 17, and the resulting image block is It is stored as a reference image of a frame and used for motion estimation and motion compensation of the next image block.

비트율 제어부(14)는 가변장 부호화부(13)내의 버퍼상태를 체크하여 양자화부(12)의 출력을 제어하게 되는 것이다.The bit rate control unit 14 checks the buffer state in the variable length encoder 13 to control the output of the quantization unit 12.

이와 같은 구성을 갖는 종래 기술에 따른 동영상 부호화기의 동작을 간단하게 설명해 보기로 하자.The operation of the video encoder according to the prior art having such a configuration will be described briefly.

먼저, 동영상 데이타가 입력되면 DCT(11)부에 입력되어 변환을 사용한 공간주파수 분석을 수행하게 되는데, 그 결과 DCT계수라 불리는 결과값이 출력된다. 이러한 DCT계수는 양자화부(12)에 입력되어 2차원 주파수의 함수인 상수에 의해 나뉘어져 저주파 계수는 작은수로 나누고, 고주파 계수는 큰 수로 나뉘어진다. 이때 의미가 적은 비트는 버려지거나 잘라버리게 된다.First, when moving picture data is input, it is input to the DCT 11 to perform spatial frequency analysis using a transform. As a result, a result value called a DCT coefficient is output. The DCT coefficient is input to the quantization unit 12 and divided by a constant which is a function of two-dimensional frequency. The low frequency coefficient is divided into small numbers, and the high frequency coefficient is divided into large numbers. Bits of less significance are either discarded or truncated.

양자화부(12)의 출력은 가변장 부호화부(13)로 입력되어 통계적인 정보를 사용한 압축을 수행하여 최종적으로 압축된 비트양을 비트율 제어부(14)로 출력하는 것이다.The output of the quantization unit 12 is input to the variable length encoder 13 to perform compression using statistical information to output the finally compressed bit amount to the bit rate control unit 14.

비트율 제어부(14)는 가변장 부호화부(13)에서 출력되는 비트양을 비디오 출력버퍼에 저장하였다가 적당한 시기에 출력하며, 비디오 출력 버퍼의 충만도와 비트율 제어방법에 따라 양자화부(12)의 양자화계수를 조정하는 것이다.The bit rate controller 14 stores the amount of bits output from the variable length encoder 13 in a video output buffer and outputs them at an appropriate time, and quantizes the quantization unit 12 according to the method of controlling the fullness and bit rate of the video output buffer. To adjust the coefficients.

한편, 동영상 데이타는 시간적 중복성을 가지기 때문에 화면간의 차이만을 전송함으로써, 압축을 수행할 수 있다. DCT부(11)는 양자화부(12)를 통해 공간적 부호화가 이루어진 데이타는 다시 역양자화부(15)와 역 DCT부(16)를 통해 원래의 입력데이타와 같은 상태로 복원된다. 이때, 복원된 데이타는 양자화의 특성상 원래의 데이타와 완전히 같은 데이타라고 할 수는 없다.On the other hand, since moving image data has temporal redundancy, compression can be performed by transmitting only differences between screens. The DCT unit 11 restores the spatially coded data through the quantization unit 12 to the same state as the original input data through the inverse quantization unit 15 and the inverse DCT unit 16. In this case, the recovered data may not be exactly the same as the original data due to the nature of quantization.

이렇게 복원된 데이타는 움직임추정 및 보상부(17)를 통해 시간적 부호화가 이루어지고, 움직임 보상된 데이타는 감산기(10)로 전달되어 원화상에 감산되고, 감산된 영상데이타는 DCT부(11)로 입력되어 다시 공간적 부호화가 수행된다.The reconstructed data is temporally encoded by the motion estimation and compensation unit 17, and the motion compensated data is transferred to the subtractor 10 to be subtracted from the original image, and the subtracted image data is transferred to the DCT unit 11. The spatial encoding is input again.

여기서, 비트율 제어부(14)에서 비트율을 제어하여 양자화부(12)의 양자화계수를 조정하는 방법에 대하여 살펴보기로 하자.Here, a method of adjusting the quantization coefficient of the quantization unit 12 by controlling the bit rate in the bit rate control unit 14 will be described.

먼저, 종래의 비트율 제어방법은 크게 두가지 단계로 구성된다. 첫 번째 단계에서는 매 픽쳐마다 부호화하기 전에 그 픽쳐에서 발생될 비트의 양을 미리 할당하고, 두 번째 단계에서는 매 매크로 블록마다 그 픽쳐에 할당된 비트양과 현재 발생되는 비트양을 비교하여 양자화수준을 결정하는 것이다.First, the conventional bit rate control method is largely composed of two steps. In the first step, the amount of bits to be generated in the picture is pre-allocated before coding for each picture.In the second step, the quantization level is determined by comparing the amount of bits allocated to the picture with the amount of bits currently generated. It is.

상기 첫 번째 단계에서의 비트양 할당방법을 보면, 긱 픽쳐의 부호화를 시작하기 전에 먼저 발생되는 비트양을 조정하고자 비트양을 할당하는데, 이때 사용되는 요소가 앞서 부호화된 픽쳐들의 픽쳐 복잡도, GOP내의 남은 비트 양, 그리고 GOP내의 남은 I, P, B픽쳐의 픽쳐 수이다.In the first bit allocation method, the bit quantity is allocated to adjust the amount of bits generated before the gig picture is encoded. In this case, the element used is the picture complexity of the previously encoded pictures, the GOP in the GOP. The amount of bits remaining and the number of pictures of the remaining I, P, and B pictures in the GOP.

각 픽쳐의 할당 비트양을 구하기 위해서는 먼저 픽쳐 복잡도를 구하게 되는데, 이때, 픽쳐 복잡도의 계산은 아래의 수학식 1을 이용하여 계산한다.In order to obtain the allocation bit amount of each picture, the picture complexity is first calculated. In this case, the picture complexity is calculated using Equation 1 below.

여기서, Xi, XP, Xb는 I픽쳐, P픽쳐, B픽쳐의 픽쳐 복잡도이고, Si, Sp, Sb는 픽쳐 형태에 따른 마지막으로 부호화된 픽쳐의 비트 발생량이며, Qi, Qp, Qb는 픽쳐형태에 따른 마지막으로 부호화된 픽쳐의 모든 매크로블록의 양자화계수의 평균값이다.Here, X i , X P and X b are picture complexity of I picture, P picture and B picture, and S i , S p and S b are bit generation amounts of the last coded picture according to picture type, and Q i , Q p and Q b are average values of quantization coefficients of all macroblocks of the last coded picture according to the picture type.

즉, 각 픽쳐 복잡도는 마지막으로 부호화된 각 픽쳐의 비트발생량과 양자화계수의 평균값을 곱하여 얻을 수 있는 것이다.In other words, each picture complexity can be obtained by multiplying an average value of the bit generation amount and the quantization coefficient of each last encoded picture.

또한, 각 픽쳐에 따라 할당된 비트양의 계산은 아래의 수학식 2와 같다.In addition, the calculation of the bit amount allocated according to each picture is shown in Equation 2 below.

여기서, Ti, Tp, Tb,는 각 픽쳐형태에 따라 할당된 비트의 양이고, R은 일정픽쳐의 묶음 단위인 GOP에 할당된 비트양 중에서 부호화에 사용되고 남은 비트의 양이며, Ni, Np, Nb는 GOP내에서 아직 부호화되지 않은 I픽쳐, P픽쳐, B픽쳐의 수이다. Here, T i, T p, T b, is the amount of bits allocated to each picture type, R is the amount of the remaining bits used for encoding from among the bit amount allocated to the stack of units of a certain picture GOP, N i , N p , N b are the number of I pictures, P pictures, and B pictures that are not yet encoded in the GOP.

즉, 각 픽쳐에 대해 할당된 비트의 양은 각 픽쳐 형태에 따른 픽쳐 복잡도와 GOP내의 남은 비트의 양, 그리고 GOP내의 남은 픽쳐수의 상관관계를 이용하여 구하는 것이다.That is, the amount of bits allocated to each picture is obtained by using the correlation between the picture complexity according to each picture type, the amount of bits remaining in the GOP, and the number of pictures remaining in the GOP.

이와 같은 종래 기술에 따른 비트율 제어장치는 비트율 조정에 필요한 다수의 변수들을 입력받는데, 비트율 조정장치에서 비트율 조정과정을 수행하는 도중에는 상기 입력되는 변수들을 변화시키는 것이 불편하며, 동작중인 변수들을 모니터링하는 것이 불가능한 문제점이 있다.Such a bit rate control apparatus according to the prior art receives a plurality of variables required for bit rate adjustment, and it is inconvenient to change the input variables during the bit rate adjustment process in the bit rate adjustment device, and it is difficult to monitor the operating variables. There is an impossible problem.

따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은 동영상 부호화기에 사용되는 비트율 조정기의 동작중 입력 변수들의 변환이 가능하도록 하고, 비트율 조정을 수행하는 과정에서 사용되는 변수들과 결과값을 모니터링할 수 있도록 한 동영상 부호화기의 비트율 제어장치를 제공함에 있다.Accordingly, the present invention has been made to solve the above-described problems according to the prior art, an object of the present invention is to enable the conversion of the input variables during the operation of the bit rate adjuster used in the video encoder, the process of performing the bit rate adjustment The present invention provides a bit rate controller of a video encoder to monitor variables and result values used in the.

또한, 본 발명의 다른 목적은 상기 비트율 제어장치의 동작과 상응하는 비트율 제어방법을 제공함에 있다.In addition, another object of the present invention is to provide a bit rate control method corresponding to the operation of the bit rate controller.

상기한 목적을 달성하기 위한 본 발명에 따른 동영상 부호화기의 비트율 제어장치의 특징은 가변장 부호화부를 구비한 동영상 부호화기의 비트율 제어장치에 있어서, 상기 가변장 부호화부에서 제공되는 싱크신호에 따라 인터럽트 신호를 발생하는 인터럽트 발생부와; 제공되는 제어신호에 따라 가변장 부호화부에서 제공되는 다수의 입력변수를 저장하는 DPRAM과; a) 상기 인터럽트 발생부에서 제공되는 인터럽트신호에 동기되어 동작하고, 상기 DPRAM에 저장된 해당 변수들을 리드하여 리드된 해당 변수들에 따라 GOP처리연산, 픽쳐 레벨에 필요한 연산 및 매크로 블록 레벨에 필요한 연산을 순차적으로 수행하한 후, 그 결과값을 상기 DPRAM에 라이트하며, b) 매 GOP시작점마다 상기 DPRAM에서 데이타를 읽어와 비트율을 갱신하는 비트율 조정부로 구성됨에 있다.A feature of a bit rate controller of a video encoder according to the present invention for achieving the above object is a bit rate controller of a video encoder having a variable length encoder, the interrupt signal according to the sync signal provided by the variable length encoder; An interrupt generator that generates; A DPRAM for storing a plurality of input variables provided by the variable length encoder according to the provided control signal; a) operates in synchronization with the interrupt signal provided from the interrupt generator, and reads the corresponding variables stored in the DPRAM to perform GOP processing operations, operations required for the picture level, and operations required for the macro block level After performing sequentially, the result value is written to the DPRAM, and b) a bit rate adjustment unit reads data from the DPRAM at every GOP start point and updates the bit rate.

또한, 본 발명에 따른 동영상 부호화기의 비트율 제어방법의 특징은 가변장 부호화부와, VBV버퍼, DPRAM을 구비한 동영상 부호화기의 비트율 제어방법에 있어서, 상기 가변장 부호화부에서 제공되는 제어신호에 따라 마이크로 코드를 다운로드하는 단계와; 상기 마이크로 코드가 다운로드되면, 입력되는 각 변수들을 초기화한 후, GOP스타트신호가 발생되는지를 판단하는 단계와; 판단결과, GOP 스타트신호가 발생되면 상기 가변장 부호화부에 시작시점을 알려주어 동기를 맞추기 위한 VBV버퍼 리셋신호를 발생한 후, 다시 GOP신호가 발생되는지를 판단하는 단계와; 다시 GOP신호가 발생되면, 발생된 GOP 스타트신호에 따라 GOP에 해당하는 연산을 수행하고, GOP연산이 완료되면 픽쳐레벨에 필요한 연산 및 매크로 블록 스타트신호가 발생할 때마다 매크로 블록 레벨에 필요한 연산을 순차적으로 수행하여 연산결과값을 상기 DPRAM에 라이트하는 단계와; 상기 DPRAM에 라이트된 연산결과값을 리드하여 매 GOP시작점마다 입력변수를 갱신하는 단계와; 픽쳐 앤드신호가 발생하면, 픽쳐 앤드에 필요한 연산을 수행한 후, 다음 인터럽트신호가 발생될 때까지 대기하고, 다음 인터럽트신호가 발생되면 상기 과정을 반복적으로 수행하는 단계로 이루어짐에 있다.In addition, a feature of a method for controlling a bit rate of a video encoder according to the present invention is a method for controlling a bit rate of a video encoder having a variable length encoder, a VBV buffer, and a DPRAM, the micro signal according to a control signal provided from the variable length encoder. Downloading the code; When the microcode is downloaded, initializing each of the input variables, and determining whether a GOP start signal is generated; Judging whether the GOP start signal is generated, informing the start point of the variable length encoder to generate a VBV buffer reset signal for synchronization, and then determining whether the GOP signal is generated again; When the GOP signal is generated again, the operation corresponding to the GOP is performed according to the generated GOP start signal.When the GOP operation is completed, the operation necessary for the picture level and the operation required for the macro block level are sequentially performed whenever the macro block start signal occurs. Writing the result of the calculation to the DPRAM by performing the operation; Reading an operation result value written to the DPRAM and updating an input variable at every GOP start point; When the picture-and-signal is generated, after performing the operation required for the picture-and, it waits until the next interrupt signal is generated, and when the next interrupt signal is generated, the process is repeatedly performed.

도 1은 일반적인 동영상 부호화기의 비트율 조정장치에 대한 블록구성을 나타낸 도면,1 is a block diagram showing a bit rate adjusting apparatus of a general video encoder;

도 2는 본 발명에 따른 동영상 부호화기에서 비트율 제어기의 신호흐름을 나타낸 도면,2 is a view illustrating a signal flow of a bit rate controller in a video encoder according to the present invention;

도 3은 본 발명에 따른 동영상 부호화기의 비트율 제어장치에 대한 상세 블록구성을 나타낸 도면,3 is a block diagram illustrating a detailed block configuration of an apparatus for controlling a bit rate of a video encoder according to the present invention;

도 4는 도 3에 도시된 인터럽트 발생부에서 발생되는 인터럽트 발생 타이밍도,4 is an interrupt generation timing diagram generated by the interrupt generator shown in FIG. 3;

도 5는 도 3에도시된 어드레스 디코더에서 발생되는 제어신호에 대한 시간 할당 형태를 나타낸 도면,5 is a view illustrating a time allocation form for a control signal generated in the address decoder shown in FIG. 3;

도 6은 본 발명에 따른 동영상 부호화기의 비트율 제어방법에 대한 동작 플로우챠트를 나타낸 도면.6 is a flowchart illustrating an operation of a method of controlling a bit rate of a video encoder according to the present invention;

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

13 : 가변장 부호화부 14 : 비트율 제어부13 variable-length encoding unit 14 bit rate control unit

20 : 제어신호 발생부 21 : 인터럽트 발생부20: control signal generator 21: interrupt generator

22 : 어드레스 디코더 30 : DPRAM22: address decoder 30: DPRAM

40 : 디지탈 신호처리부40: digital signal processing unit

이하, 본 발명에 따른 동영상 부호화기의 비트율 제어장치 및 그 방법에 대한 바람직한 일 실시예를 첨부한 도면을 참조하여 상세하게 살펴보기로 한다.Hereinafter, a preferred embodiment of an apparatus and method for controlling a bit rate of a video encoder according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 동영상 부호화기에서 비트율 제어기의 신호흐름을 나타낸 도면이고, 도 3은 본 발명에 따른 동영상 부호화기의 비트율 제어장치에 대한 상세 블록구성을 나타낸 도면이다.2 is a diagram illustrating a signal flow of a bit rate controller in a video encoder according to the present invention, and FIG. 3 is a diagram showing a detailed block configuration of a bit rate control apparatus of a video encoder according to the present invention.

먼저, 도 2에 도시된 비트율 제어부(14)는 비디오 부호화기의 일부로써, 동작에 필요한 입력신호와 출력신호는 가변장 부호화부(13)단을 통해서 이루어진다.First, the bit rate controller 14 shown in FIG. 2 is a part of a video encoder, and an input signal and an output signal required for the operation are made through the variable length encoder 13.

가변장 부호화부(13)는 도 1에 도시된 DCT부(11)에서 DCT변환된 영상계수들을 코드화하는 역할을 하는 부분으로 코드화한 데이타를 VBV(Video Buffer Verifier)버퍼(미도시)에 저장한다. VBV버퍼의 상태는 비트율 제어부(14)로 입력도며, 이 값을 이용해 비트율 제어부(14)는 quant_scale값을 결정한다. quant_scale값은 1에서 31까지의 값으로 영상데이타를 양자화할 때, 양자화 레벨을 결정하는데 필요한 데이타이다.The variable length encoder 13 stores data coded into a VBV (Video Buffer Verifier) buffer (not shown) as a part that codes the DCT transformed image coefficients by the DCT unit 11 shown in FIG. 1. . The state of the VBV buffer is input to the bit rate controller 14, and using this value, the bit rate controller 14 determines the quant_scale value. The quant_scale value is data necessary for determining a quantization level when quantizing image data with values from 1 to 31.

도 2에 도시된 바와 같이, 가변장 부호화부(13)에서 비트율 제어부(14)로 제공하는 싱크(sync)신호는 가변장 부호화부(13)와 비트율 제어부(14)사이의 동기를 맞추기 위한 신호로 GOP 스타트(GOP start), 픽쳐 스타트(picture start), 슬라이스 스타트(slice start) 및 매크로 블록 스타트(macroblock start) 4개의 신호로 구성된다. 그리고, 가변장 부호화부(13)에서 비트율 제어부(14)로 제공되는 mbparm신호는 매 픽쳐정보를 얻는데 이용된다.As shown in FIG. 2, the sync signal provided from the variable length encoder 13 to the bit rate controller 14 is a signal for synchronizing the synchronization between the variable length encoder 13 and the bit rate controller 14. It consists of four signals: a low GOP start, a picture start, a slice start, and a macroblock start. The mbparm signal provided from the variable length encoder 13 to the bit rate control unit 14 is used to obtain every picture information.

가변장 부호화부(13)에서 코딩된 비트수는 픽쳐헤더와 매크로 블록으로 분리되어 입력된다. VBV버퍼상태는 항상 비트율 제어부(14)로 입력되며, 비트율 제어부(14)가 필요할 때 마다 사용된다.The number of bits coded by the variable length encoder 13 is input by being divided into a picture header and a macro block. The VBV buffer state is always input to the bit rate controller 14, and is used whenever the bit rate controller 14 is needed.

비트율 제어부(14)의 최종 목적인 도 1에 도시된 양자화부(12)의 양자화 레벨을 결정하는 값인 qscale값이 가변장 부호화부(13)로 매 매크로 블록마다 출력되며, null stuffing값과 vbv delay값도 출력된다.A qscale value, which is a value for determining the quantization level of the quantization unit 12 shown in FIG. 1, which is the final purpose of the bit rate control unit 14, is outputted to the variable length encoder 13 for each macro block, and a null stuffing value and a vbv delay value. Is also output.

상기 null stuffing값은 픽쳐레벨에서 데이타가 작게 발생하는 경우 "0"값을 채워 버퍼의 고갈을 막기위해서 가변장 부호화부(13)에서 필요한 값이고, vbv delay값은 가변장 부호화부(13)에서 픽쳐레벨에서 비트스트림에 삽입해야 하는 값이다. 이 값은 복호기에서 복호화하는 시점을 알려주는 것이다.The null stuffing value is a value required by the variable length encoder 13 to fill up a value of "0" to prevent the depletion of the buffer when data is small at the picture level, and the vbv delay value is used by the variable length encoder 13. Value to be inserted into the bitstream at the picture level. This value tells the decoder when to decode.

또한, 비트율 제어부(14)에서 가변장 부호화부(13)로 제공하는 tmsparm신호는 비트율 제어부(14)에서 사용되는 변수를 모니터링 하기 위해서 필요한 데이타이다.In addition, the tmsparm signal provided from the bit rate control unit 14 to the variable length coding unit 13 is data necessary for monitoring a variable used in the bit rate control unit 14.

이하, 도 2에 도시된 비트율 제어부(14)의 상세 구성을 도 3을 참조하여 살펴보기로 한다.Hereinafter, a detailed configuration of the bit rate controller 14 shown in FIG. 2 will be described with reference to FIG. 3.

먼저, 비트율 제어부(14)는 제어신호 발생부(20), DPRAM(Dual Port RAM)(30) 및 디지탈 신호 처리부(DSP)(40)로 크게 3부분으로 구성된다. 즉, 입력된 변수들을 유지하고, DPRAM(30)에 리드/라이트(Read/Write)하기 위한 제어신호를 발생하는 부분과, 두 포트가 독립적으로 리드/라이트 가능한 메모리부분과 실제 비트율을 조정하는 부분으로 구분된다.First, the bit rate controller 14 includes a control signal generator 20, a dual port RAM (DPRAM) 30, and a digital signal processor (DSP) 40. That is, a portion that maintains input variables and generates a control signal for reading / writing to the DPRAM 30, and a portion in which two ports independently read / write and adjust the actual bit rate Separated by.

상기 제어신호 발생부(20)는 인터럽트 발생부(21)와, 어드레스 디코더(22)로 이루어지는데, 인터럽트 발생부(21)는 디지탈 신호처리부(40)의 입력으로 사용되는 인터럽트신호를 발생시킨다.The control signal generator 20 is composed of an interrupt generator 21 and an address decoder 22. The interrupt generator 21 generates an interrupt signal used as an input of the digital signal processor 40.

인터럽트 신호에 대해서는 도 4를 참조하여 상세하게 살펴보기로 하자. 도 4는 도 4는 도 3에 도시된 인터럽트 발생부에서 발생되는 인터럽트 발생 타이밍도이다.The interrupt signal will be described in detail with reference to FIG. 4. 4 is a diagram illustrating an interrupt generation timing generated by the interrupt generator illustrated in FIG. 3.

비트율 제어부(14)는 인터럽트 발생부(21)에서 발생되는 인터럽트 신호에 동기되어 동작하고, 이 인터럽트 신호는 가변장 부호화부(13)로부터 입력되는 동기신호(sync)에서 발생된다. 결과적으로 비트율 제어부(14)는 입력되는 싱크신호에 동기되어 동작하는 것이다.The bit rate control unit 14 operates in synchronization with an interrupt signal generated by the interrupt generator 21, and this interrupt signal is generated from a synchronization signal sync input from the variable length encoder 13. As a result, the bit rate control unit 14 operates in synchronization with the input sync signal.

가변장 부호화부(13)에서 입력되는 sync[0]신호는 매크로 블록의 시작을 의미하며, sync[2]는 픽쳐의 시작을 의미하며, sync[3]신호는 gop의 시작을 나타낸다.The sync [0] signal input from the variable length encoder 13 indicates the start of a macro block, the sync [2] indicates the start of a picture, and the sync [3] signal indicates the start of a gop.

또한, pict end신호는 액티브 픽쳐(Active Picture)의 끝을 나타내는 신호로 가변장 부호화부(13)에서 실제 픽쳐데이타 코딩의 끝을 나타낸다.In addition, the pict end signal is a signal indicating the end of an active picture, and the variable length encoder 13 indicates the end of actual picture data coding.

그리고, 디지탈 신호처리부(14)에서의 인터럽트 처리의 우선순위는 int0, int1, int2, int3순으로 되어 있어 비트율 제어부(14)의 동작은 GOP, 픽쳐, 매크로 블록, 픽쳐 끝(pict end)순으로 동작한다.The priority of the interrupt processing in the digital signal processor 14 is int0, int1, int2, and int3, and the operation of the bit rate controller 14 is in the order of GOP, picture, macroblock, and picture end. It works.

또한, 도 2에 도시된 어드레스 디코더(22)는 DPRAM(30)의 제어신호를 발생시키는 부분으로서, 이 제어신호는 디지탈 신호처리부(40)의 동작과는 독립적으로 이루어진다.In addition, the address decoder 22 shown in FIG. 2 generates a control signal of the DPRAM 30, and this control signal is made independent of the operation of the digital signal processor 40. FIG.

어드레스 디코더(22)의 제어신호에 대한 시간할당은 도 5에 상세하게 도시도시되어 있다. 도 5는 도 3에도시된 어드레스 디코더에서 발생되는 제어신호에 대한 시간 할당 형태를 나타낸 도면이다.The time allocation for the control signal of the address decoder 22 is shown in detail in FIG. FIG. 5 is a diagram illustrating a time allocation form for a control signal generated in the address decoder shown in FIG. 3.

즉, 한 픽쳐구간은 실제 데이타가 코딩되는 액티브 구간과 코딩되지 않은 인액티브(Inactive)구간으로 나누어진다. 액티브구간에서 매 매크로 블록은 128 클럭으로 반복되기 때문에 128구간중 DPRAM(30)으로 데이타를 라이트하는 액티브 다운로드(Active Download)구간과 DPRAM(30)으로부터 데이타를 리드하는 액티브 업로드(Upload) 구간으로 나눈다. 이 구간에 따라 DPRAM(30)의 r/w, /oe, /addr신호가 결정된다.That is, one picture section is divided into an active section in which actual data is coded and an uncoded inactive section. Since each macro block is repeated at 128 clocks in the active section, it is divided into an active download section for writing data to the DPRAM 30 and an active upload section for reading data from the DPRAM 30. . The r / w, / oe, and / addr signals of the DPRAM 30 are determined according to this section.

이 구간에 다운로드/업로드하는 데이타는 픽쳐 사이즈(picture size), 매크로 블록 사이즈(mb size), VBV버퍼상태, 픽쳐 타입(picture type), 양자화레벨 결정데이타(qscale)이다.The data downloaded / uploaded in this section are picture size, macro block size, VBV buffer status, picture type, and quantization level determination data (qscale).

이 구조는 액티브 구간동안 128사이클 주기로 반복되어 동작한다.This structure operates repeatedly for 128 cycles during the active period.

그리고, 인액티브 구간은 픽쳐 끝(picture end)신호로서 시작되며, 첫 128사클동안 1번만 다운로드/업로드한다. 액티브 구간처럼 128사이클 중에서 일정 사이클은 인액티브 다운로드 구간으로 할당하며, 나머지는 인액티브 업로드 구간으로 할당한다. 이 구간에서 업로드/다운로드되는 변수들은 N/M값, 프레임레이트, 비트 레이트, VBV버퍼 사이즈, 픽쳐 구조(pict struct), 리셋 vbv(reset vbv), vbv딜레이(vbv delay), null stuffing, 비트율 제어부(14)내부 파라메터들이다. 여기서, 상기 M은 IP-픽쳐타입이 나타나는 주기를 의미하고, N은 I- 픽쳐 타입이 나타나는 주기를 의미한다.The inactive section starts as a picture end signal and only downloads / uploads once during the first 128 cycles. Like the active section, 128 cycles are allocated to the inactive download section and the rest are allocated to the inactive upload section. Variables uploaded / downloaded in this section are N / M value, frame rate, bit rate, VBV buffer size, picture struct, reset vbv, vbv delay, null stuffing, bit rate control (14) Internal parameters. Here, M denotes a period in which the IP-picture type appears and N denotes a period in which the I-picture type appears.

도 3에 도시된 각 변수들은 상기에서 설명한 시간할당에 따라 DPRAM(30)의 데이타 버스에 실려진다. DPRAM(30)에 다운로드된 데이타들은 독립적으로 DPRAM(30)의 또 다른 포트를 통해서 리드하여 실제의 비트율 조정을 수행하기 위한 계산을 수행하는 디지탈 신호처리부(40)로 읽혀진다.Each variable shown in FIG. 3 is loaded onto the data bus of the DPRAM 30 in accordance with the time allocation described above. The data downloaded to the DPRAM 30 are read by the digital signal processor 40 which independently reads through another port of the DPRAM 30 and performs calculations to perform actual bit rate adjustment.

DPRAM(30)에서 업로드된 데이타들은 tmsparm에 실려서 가변장 부호화부(13)로 전달된다. 이 데이타는 비트율 제어부(14)에서 사용되는 변수들과 결과값들을 모니터링하기 위한 용도로 사용되는 데이타이다.Data uploaded from the DPRAM 30 is loaded on the tmsparm and transferred to the variable length encoder 13. This data is data used for monitoring the variables and result values used in the bit rate control unit 14.

이하, 본 발명에 따른 동영상 부호화기의 비트율 제어방법에 대하여 도 6을 참조하여 단계적으로 살펴보기로 하자.Hereinafter, a method of controlling a bit rate of a video encoder according to the present invention will be described step by step with reference to FIG. 6.

도 6은 본 발명에 따른 동영상 부호화기의 비트율 제어방법에 대한 동작 플로우챠트를 나타낸 도면으로서, 도 3에 도시된 디지탈 신호처리부(40)에서 처리되는 비트율 조정방법을 나타낸 것이다.FIG. 6 is a flowchart illustrating a method of controlling a bit rate of a video encoder according to the present invention, and illustrates a bit rate adjusting method processed by the digital signal processor 40 shown in FIG. 3.

먼저, 가변장 부호화부(13)로 부터 리셋신호를 수신하여 디지탈 신호처리부(40)를 초기화한다(S101).First, the digital signal processor 40 is initialized by receiving the reset signal from the variable length encoder 13 (S101).

이어, 초기화가 완료된 후, 마이크로 코드를 다운로드한다(S102). 즉, 마이크로 코드 다운로드는 가변장 부호화부(13)에서 ssiclk, ssid, ssisync신호를 통해 디지탈 신호처리부(40)의 시리얼 포트(serial port)를 통해 이루어진다.Then, after the initialization is completed, the micro code is downloaded (S102). That is, the micro code download is performed through the serial port of the digital signal processor 40 through the ssiclk, ssid, and ssisync signals in the variable length encoder 13.

이어, 마이크로 코드가 다운로드가 되고 난 후, 각 변수들의 초기화가 이루어진다(S103).Subsequently, after the microcode is downloaded, each variable is initialized (S103).

이어, 각 변수들의 초기화가 이루어지면, GOP스타트(GOP start)신호가 발생되었는지를 판단하여(S104), GOP 스타트신호가 발생되면, VBV리셋신호(resetvbv)신호를 발생한 후(S106), 다시 GOP신호를 기다리는 것이다.Subsequently, when initialization of each variable is performed, it is determined whether a GOP start signal is generated (S104), and when a GOP start signal is generated, after generating a VBV reset signal (resetvbv) signal (S106), the GOP again. Waiting for the signal.

여기서, 상기 VBV리셋신호는 가변장 부호화부(13)에서 시작시점을 가르쳐 줌으로써, 동기를 맞추기 위한 신호이다.Here, the VBV reset signal is a signal for synchronizing by instructing the start point in the variable length encoder 13.

이어, 다음 GOP 스타트 신호가 발생하면, GOP스타트 신호를 수신하여 GOP에 해당하는 연산을 수행한 후(S107), 픽쳐레벨에 필요한 필요한 연산을 수행하고(S108) 매크로 블록 스타트 신호가 발생할 때마다 매크로 레벨에 맞는 연산을 수행하는 것이다(S109). 이때, 필요한 변수들은 그때 그때마다 DPRAM(30)에서 독립적으로 다른 포트를 통해 읽어오며, 계산결과 역시 독립적으로 DPRAM(30)에 라이트한다.Subsequently, when the next GOP start signal is generated, after receiving the GOP start signal and performing the operation corresponding to the GOP (S107), the necessary operation required for the picture level is performed (S108) and the macro block start signal is generated each time. It is to perform the operation according to the level (S109). At this time, necessary variables are read from the DPRAM 30 independently through the other ports at that time, and the calculation results are also independently written to the DPRAM 30.

이어, 픽쳐 끝(pict end)신호가 발생되는지를 판단하여 픽쳐 끝 신호가 발생되면, 픽쳐 끝에 필요한 연산하며, 연산이 완료된 후에는 다음 인터럽트를 기다리려 다음 인터럽트가 발생되면, 상기와 동알한 과정을 반복으로 수행하는 것이다(S110).Subsequently, it is determined whether a picture end signal is generated, and when a picture end signal is generated, a required operation is performed at the end of the picture, and after the operation is completed, if the next interrupt is generated to wait for the next interrupt, the same process as described above is repeated. It will be performed as (S110).

동작중 각 변수들의 수정은 가변장 부호화부(13)를 거쳐 DPRAM(30)에 라이트하면, 디지탈 신호처리부(40)에서는 매 GOP 시작점마다 DPRAM(30)에서 데이타를 읽어와 갱신하게 되는 것이다.The correction of each variable during operation is written to the DPRAM 30 via the variable length encoder 13, and the digital signal processor 40 reads and updates data from the DPRAM 30 at every GOP start point.

상기한 바와 같은 본 발명에 따른 동영상 부호화기의 비트율 제어장치 및 그 방법은 DPRAM을 기준으로 입력데이타 변수들을 조정하는 앞단과 이 변수들을 이용해 실제 비트율을 조정하는 후단이 각각 독립적으로 동작함으로써, 입력변수의 변환이 용이하며, 실제 비트율 조정기에서 사용되는 변수들을 동작 수행중 모니터링할 수 있는 이점이 있다.As described above, the apparatus and method for controlling a bit rate of a video encoder according to the present invention operate independently of the input variable by adjusting the input data variable on the basis of DPRAM and the rear end of adjusting the actual bit rate using these variables. It is easy to convert and has the advantage of monitoring the variables used in the actual bit rate regulator during the operation.

Claims (2)

가변장 부호화부를 구비한 동영상 부호화기의 비트율 제어장치에 있어서,In the bit rate control apparatus of a video encoder having a variable length encoder, 상기 가변장 부호화부에서 제공되는 싱크신호에 따라 인터럽트 신호를 발생하는 인터럽트 발생부와;An interrupt generator for generating an interrupt signal according to a sync signal provided from the variable length encoder; 제공되는 제어신호에 따라 가변장 부호화부에서 제공되는 다수의 입력변수를 저장하는 DPRAM과;A DPRAM for storing a plurality of input variables provided by the variable length encoder according to the provided control signal; a) 상기 인터럽트 발생부에서 제공되는 인터럽트신호에 동기되어 동작하고, 상기 DPRAM에 저장된 해당 변수들을 리드하여 리드된 해당 변수들에 따라 GOP처리연산, 픽쳐 레벨에 필요한 연산 및 매크로 블록 레벨에 필요한 연산을 순차적으로 수행하한 후, 그 결과값을 상기 DPRAM에 라이트하며,a) operates in synchronization with the interrupt signal provided from the interrupt generator, and reads the corresponding variables stored in the DPRAM to perform GOP processing operations, operations required for the picture level, and operations required for the macro block level After performing sequentially, the result value is written to the DPRAM, b) 매 GOP시작점마다 상기 DPRAM에서 데이타를 읽어와 비트율을 갱신하는 비트율 조정부로 구성됨을 특징으로 하는 동영상 부호화기의 비트율 제어장치.b) a bit rate controller of the video encoder, characterized in that the bit rate adjustment unit reads data from the DPRAM and updates the bit rate at every GOP starting point. 가변장 부호화부와, VBV버퍼, DPRAM을 구비한 동영상 부호화기의 비트율 제어방법에 있어서,In a bit rate control method of a video encoder having a variable length encoder, a VBV buffer, and a DPRAM, 상기 가변장 부호화부에서 제공되는 제어신호에 따라 마이크로 코드를 다운로드하는 단계와;Downloading a micro code according to a control signal provided from the variable length encoder; 상기 마이크로 코드가 다운로드되면, 입력되는 각 변수들을 초기화한 후, GOP스타트신호가 발생되는지를 판단하는 단계와;When the microcode is downloaded, initializing each of the input variables, and determining whether a GOP start signal is generated; 판단결과, GOP 스타트신호가 발생되면 상기 가변장 부호화부에 시작시점을 알려주어 동기를 맞추기 위한 VBV버퍼 리셋신호를 발생한 후, 다시 GOP신호가 발생되는지를 판단하는 단계와;Judging whether the GOP start signal is generated, informing the start point of the variable length encoder to generate a VBV buffer reset signal for synchronization, and then determining whether the GOP signal is generated again; 다시 GOP신호가 발생되면, 발생된 GOP 스타트신호에 따라 GOP에 해당하는 연산을 수행하고, GOP연산이 완료되면 픽쳐레벨에 필요한 연산 및 매크로 블록 스타크신호가 발생할 때마다 매크로 블록 레벨에 필요한 연산을 순차적으로 수행하여 연산결과값을 상기 DPRAM에 라이트하는 단계와;When the GOP signal is generated again, the operation corresponding to the GOP is performed according to the generated GOP start signal.When the GOP operation is completed, the operation necessary for the picture level and the operation required for the macro block level are sequentially performed whenever the macro block star signal is generated. Writing the result of the calculation to the DPRAM by performing the operation; 상기 DPRAM에 라이트된 연산결과값을 리드하여 매 GOP시작점마다 입력변수를 갱신하는 단계와;Reading an operation result value written to the DPRAM and updating an input variable at every GOP start point; 픽쳐 앤드신호가 발생하면, 픽쳐 앤드에 필요한 연산을 수행한 후, 다음 인터럽트신호가 발생될 때까지 대기하고, 다음 인터럽트신호가 발생되면 상기 과정을 반복적으로 수행하는 단계로 이루어짐을 특징으로 하는 동영상 부호화기의 비트율 제어방법.When the picture-and-signal is generated, after performing the operation required for the picture-and, it waits until the next interrupt signal is generated, and repeatedly performs the above process when the next interrupt signal is generated. Bit rate control method.
KR1019990049782A 1999-11-10 1999-11-10 Method and apparatus for controlling bit rate of a MPEG decoder KR20010046145A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990049782A KR20010046145A (en) 1999-11-10 1999-11-10 Method and apparatus for controlling bit rate of a MPEG decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990049782A KR20010046145A (en) 1999-11-10 1999-11-10 Method and apparatus for controlling bit rate of a MPEG decoder

Publications (1)

Publication Number Publication Date
KR20010046145A true KR20010046145A (en) 2001-06-05

Family

ID=19619453

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990049782A KR20010046145A (en) 1999-11-10 1999-11-10 Method and apparatus for controlling bit rate of a MPEG decoder

Country Status (1)

Country Link
KR (1) KR20010046145A (en)

Cited By (1)

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

Cited By (3)

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

Similar Documents

Publication Publication Date Title
JP4132664B2 (en) Transcoding
JP4109113B2 (en) Switching between bitstreams in video transmission
EP0691054B1 (en) Efficient transcoding device and method
KR101106086B1 (en) Encoding apparatus and encoding method
US5461422A (en) Quantizer with automatic pre-threshold
US20060227868A1 (en) System and method of reduced-temporal-resolution update for video coding and quality control
KR20040047977A (en) Spatial scalable compression
JPH0686261A (en) Statistical multiplexer for multichannel image compression system
US20010026587A1 (en) Image encoding apparatus and method of same, video camera, image recording apparatus, and image transmission apparatus
US5760836A (en) FIFO feedback and control for digital video encoder
EP0920214A2 (en) Apparatus and method of coding/decoding moving picture
JP2001285861A (en) Device for encoding picture signal
KR100601615B1 (en) Apparatus for compressing video according to network bandwidth
JPH09187007A (en) Resynchronizing method for data stream including error, encoder and decoder
KR20040003880A (en) Shortening apparatus for delay time video codec
KR100598093B1 (en) Apparatus and method with low memory bandwidth for video data compression
KR100394014B1 (en) Apparatus for transcoding video
JP4292659B2 (en) Image information conversion apparatus and image information conversion method
KR20010046145A (en) Method and apparatus for controlling bit rate of a MPEG decoder
JP2002199408A (en) Moving image coding method and moving image coder
JP3469866B2 (en) Method for changing the bit rate of a data stream of an encoded video picture
KR100626419B1 (en) Switching between bit-streams in video transmission
KR20020023454A (en) Improved MPEG coding method, moving picture transmitting system and method thereof
JPH10164597A (en) Encoding method and encoder using the method
JPH07107464A (en) Picture encoding device and decoding device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application