KR20100129091A - Method of rate control in frame-level for h.264/avc - Google Patents

Method of rate control in frame-level for h.264/avc Download PDF

Info

Publication number
KR20100129091A
KR20100129091A KR1020090047858A KR20090047858A KR20100129091A KR 20100129091 A KR20100129091 A KR 20100129091A KR 1020090047858 A KR1020090047858 A KR 1020090047858A KR 20090047858 A KR20090047858 A KR 20090047858A KR 20100129091 A KR20100129091 A KR 20100129091A
Authority
KR
South Korea
Prior art keywords
frame
amount
value
target
buffer
Prior art date
Application number
KR1020090047858A
Other languages
Korean (ko)
Other versions
KR101069254B1 (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 KR1020090047858A priority Critical patent/KR101069254B1/en
Publication of KR20100129091A publication Critical patent/KR20100129091A/en
Application granted granted Critical
Publication of KR101069254B1 publication Critical patent/KR101069254B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N2007/243Bitstream control arrangements

Abstract

PURPOSE: A method of rate control in a frame-level for h.264 is provided to control bit rate adaptively in an image. CONSTITUTION: A parameter, including an initial quantization parameter value of an image, is initialized. A frame complexity weight value for the prediction of a target bit of a current frame is calculated. A target bit amount of the current frame is calculated by using a bit amount considering the target buffer level and the virtual buffer occupation amount and the bit amount for encoding each frame using the frame complexity weighted value. The QP(Quantization Parameter) value about the current frame is determined.

Description

H.264를 위한 프레임 단위 비트율 제어 방법{Method of Rate Control in Frame-level for H.264/AVC}Method of rate control in frame for H.264 {Method of Rate Control in Frame-level for H.264 / AVC}

본 발명은 H.264를 위한 프레임 단위 비트율 제어 방법에 관한 것으로, 구체적으로는 프레임단위를 기반으로 한 실시간 H.264를 위한 적응적 프레임 단위 비트율 제어 방법에 관한 것이다. The present invention relates to a frame rate control method for H.264, and more particularly to an adaptive frame rate control method for real time H.264 based on the frame unit.

H.264는 매우 높은 데이터 압축률을 가지는 디지털 비디오 코덱 표준으로 MPEG-4 파트10 또는 AVC(Advanced Video Coding)라 부르기도 한다. 이 표준은 ITU-T의 비디오 코딩 전문가 그룹(VCEG)과 ISO/IEC의 동화상 전문가 그룹(MPEG)이 공동으로 진행하여 향상된 비디오 부호화 표준을 제공하기 위해서 개발된 국제 압축 표준이므로, ITU-T의 H.264와 ISO/IEC의 MPEG-4 파트 10은 기술적으로 동일한 표준안이다. H.264는 ITU-T에서 제안한 H.26x 비디오 표준의 한 종류로, 대개 H.264/AVC 혹은 AVC/H.264, H.264/MPEG-4 AVC, MPEG-4/H.264 AVC라고 부른다.H.264 is a digital video codec standard that has a very high data compression rate, also called MPEG-4 Part 10 or Advanced Video Coding (AVC). This standard is an international compression standard developed by ITU-T's Video Coding Expert Group (VCEG) and ISO / IEC's Motion Picture Experts Group (MPEG) to provide an improved video coding standard. MPEG-4 Part 10 of .264 and ISO / IEC are technically the same standard. H.264 is a type of H.26x video standard proposed by ITU-T. It is usually called H.264 / AVC or AVC / H.264, H.264 / MPEG-4 AVC, MPEG-4 / H.264 AVC. Call.

다양한 예측 부호화 기법과 엔트로피 부호화 방법들을 통해, H.264/AVC 비디오 부호화는 기존의 비디오 부호화 표준들, 예컨대 H.263+ 또는 MPEG-4(part2) 등과 비교해 볼 때 최대 50%까지의 비트율을 절감할 수 있어 보다 향상된 부호화 효율을 제공한다. 영상데이터를 실시간으로 전송할 경우, 영상의 특징과 종류에 따라 생성되는 비트량은 시간적으로 변화가 심할 수 있게 되는데, 이는 전송되는 채널의 특성상 매우 제한적이며, 고정된 대역폭을 가지고 있기 때문이다. 따라서 영상의 품질과 채널의 용량간의 균형을 조절하여 가장 좋은 부호화 성능을 제공하기 위해서는 부호화 변수들을 조절하는 것이 필수적이라 할 수 있다.Through a variety of predictive and entropy coding methods, H.264 / AVC video coding reduces bit rates by up to 50% compared to existing video coding standards such as H.263 + or MPEG-4 (part2). This can provide improved coding efficiency. In the case of transmitting image data in real time, the amount of bits generated according to the characteristics and types of the image may be changed in time because the characteristics of the transmitted channel are very limited and have a fixed bandwidth. Therefore, in order to provide the best encoding performance by adjusting the balance between the quality of the image and the capacity of the channel, it is essential to adjust the coding parameters.

이와 같은 부호화 성능을 조절하기 위하여 H.264의 비트율 제어 알고리즘은 비트율-왜곡 최적화(RDO: Rate Distortion Optimization) 방법을 기반으로 하여 발생 비트와 양자화 왜곡의 비율을 효율적으로 조절함으로써 부호화 전에 각 프레임을 위한 적절한 양자화 파라미터 QP(Quantization Parameter)를 결정하고, 이 계수로써 각 부호화 모드의 비용을 측정하여 최소 비용의 모드를 최종 모드로 결정한다. To control the coding performance, H.264's rate control algorithm is based on the Rate Distortion Optimization (RDO) method to efficiently adjust the ratio of generated bits and quantization distortion for each frame before encoding. The appropriate quantization parameter QP (Quantization Parameter) is determined, and the coefficient of each coding mode is measured by this coefficient to determine the minimum cost mode as the final mode.

그러므로 H.264/AVC에서의 비트율 제어 방식은 모드 결정 및 움직임 벡터 결정을 하기 이전에 최적의 QP를 선택해야 하는 문제점이 발생한다. 이 문제를 해결하기 위해 해당 매크로 블록의 왜곡 값을 MAD(Mean Absolute Different, 절대 평균차)를 통해 이전 프레임의 매크로 블록으로부터 추정되는 기법이 사용된다. M. Jiang은 이런 MAD 기법을 개선하여, GOP 구간에서의 부호화된 P 프레임들의 평균 MAD값에 대한 현재 프레임의 예측된 MAD 율을 이용하여 프레임 복잡도를 예측하는 모델과 이 MAD 율과 함께 부호화된 P 프레임들의 평균 PSNR 오차율을 이용하여 현재 프레임의 복잡도를 예측하여 개선된 성능을 보여주고 있다(참고 논문 "On Enhancing H.264/AVC Video Rate Control by PSNR-Based Frame Complexity Estimation", IEEE Trans. Consumer. Electronics. vol. 51, no. 1, Feb. 2005.). 그러나 이와 같은 MAD 기법들은 많은 계산량을 필요로 하기 때문에 동영상의 응용에 많은 제약을 갖게 된다. Therefore, the bit rate control method in H.264 / AVC has a problem that the optimal QP should be selected before the mode decision and the motion vector decision. In order to solve this problem, a method of estimating the distortion value of the macroblock from the macroblock of the previous frame by means of Mean Absolute Different (MAD) is used. M. Jiang improves this MAD technique by using the predicted MAD rate of the current frame relative to the average MAD value of the coded P frames in the GOP interval, and the P code coded with this MAD rate. The average PSNR error rate of the frames is used to predict the complexity of the current frame and shows improved performance (see "On Enhancing H.264 / AVC Video Rate Control by PSNR-Based Frame Complexity Estimation", IEEE Trans. Consumer. Electronics.vol. 51, no. 1, Feb. 2005.). However, these MAD techniques require a large amount of computation, which places a lot of restrictions on the application of video.

H.264/AVC에서 사용되고 있는 비트율 제어 방법은 실제 부호화에 의한 최적의 부호화 파라미터를 찾는 것으로, 라그랑지안 최적화 기법을 이용하여 가능한 부호화 파라미터 조합 중 주어진 비트 율 조건을 만족시키고 왜곡을 최소화 하는 것을 예측하는 방식을 사용하고 있다. H.264/AVC에서 사용되는 비트율 조절방법은 비트와 왜곡이 양자화 스템의 함수로서 표현되는 Quadratic R-D 모델에 기반을 두고 있다. 이 방법은 이미지에 대한 분석의 간단함 및 양자화에 대한 직접적인 조절 방법 등의 특성에도 불구하고, 비디오 부호화의 다양한 특성 때문에, 경우에 따라서는 비효율적인 비트율 조절 결과를 나타내는 경우가 있다. 이러한 방식은 가장 이상적인 방법이지만 모든 양자화 파라미터에 따른 실제 비트율과 왜곡 값을 구해야 하므로 많은 계산량의 문제점으로 인해 실시간 멀티미디어 전송시에 부적합하다. 영상 정보의 실시간 전송은 대상 응용에 맞는 비트량을 예측하는 과정에서 불필요한 계산량을 줄이고 영상의 왜곡을 최소화하는 것이 바람직하다. The bit rate control method used in H.264 / AVC is to find the optimal coding parameter by actual coding. The Lagrangian optimization technique is used to predict that the given bit rate condition is minimized and the distortion is minimized among the possible coding parameter combinations. I'm using. The bit rate control method used in H.264 / AVC is based on the Quadratic R-D model where bits and distortions are expressed as a function of the quantization stem. In spite of the characteristics of the video encoding and the direct adjustment method for quantization, this method may show an inefficient bit rate adjustment result due to various characteristics of video encoding. This method is ideal, but it is not suitable for real-time multimedia transmission due to the problem of large amount of computation because the actual bit rate and distortion values for all quantization parameters must be obtained. In real-time transmission of image information, it is desirable to reduce unnecessary computation and minimize image distortion in the process of estimating a bit amount suitable for a target application.

따라서 본 발명에서는 비트량을 예측하는 과정에서의 계산량을 줄이기 위하여 통계적 모델에 기반한 비트율 제어 방법을 이용하여 대상 응용에 적합하게 비트량을 산출하고 영상의 왜곡을 최소화하여 영상 정보를 실시간으로 부호화하는 기법을 구현하고자 한다.Therefore, in the present invention, in order to reduce the amount of computation in the process of predicting the amount of bits, a technique for calculating the amount of bits appropriate for the target application and minimizing the distortion of the image and encoding the image information in real time using a bit rate control method based on a statistical model We want to implement

H.264/AVC 부호기에서 부호화된 비트스트림을 고정된 채널로 전송할 경우, 기존의 비트율 제어 방법의 큰 문제점은 현재 프레임을 부호화하는데 있어서 이전 프레임의 차분부호 정보량을 이용하기 때문에 많은 계산량을 필요로 한다는 것인데, 이러한 문제점들을 해결하기 위하여 본 발명에서는 이전 프레임의 차분부호 정보량이 아니라 다양한 영상의 통계정보와 이전에 발생된 비트량을 통계정보로 이용하여 영상 특성에 적응적으로 비트율을 제어하는 방법을 구현하고자 한다. 즉, 본 발명에서는 QP와 부호화 이후에 발생되는 실제 비트량과의 선형적 모델을 기반으로 하여 기존의 방식보다 복잡도를 줄이는 방식을 사용함으로써, 적은 계산량으로도 프레임의 발생 비트량을 정확히 예측하여 기존의 방식보다 비트율 제어 알고리즘의 전체적인 계산량을 줄이는 방법을 구현하고자 한다. H.264/AVC는 VBR(가변 비트율 부호화 방법)과 CBR(고정 비트율 부호화 방법)을 동시에 지원하지만, 본 발명에서는 프레임 단위를 기반으로 한 CBR 비트율 조절 방법을 구현하고자 한다.When transmitting a bitstream encoded by an H.264 / AVC encoder over a fixed channel, a major problem of the conventional bit rate control method is that a large amount of computation is required because the amount of differential code information of the previous frame is used to encode the current frame. In order to solve these problems, the present invention implements a method of controlling a bit rate adaptively to image characteristics by using statistical information of various images and previously generated bit amounts as statistical information, not the difference code information amount of a previous frame. I would like to. That is, the present invention uses a method of reducing complexity than the conventional method based on a linear model of QP and the actual bit amount generated after encoding, thereby accurately predicting the amount of bits generated in a frame even with a small amount of computation. To reduce the overall computation of the bit rate control algorithm rather than Although H.264 / AVC supports both VBR (variable bit rate coding method) and CBR (fixed bit rate coding method) at the same time, the present invention intends to implement a CBR bit rate control method based on a frame unit.

전술한 목적을 달성하기 위하여, 본 발명의 하나의 모습에 따라 H.264를 위한 프레임단위 비트율 제어방법에 있어서, 프레임정보 및 버퍼를 초기화하고 영상의 초기 양자화 파라미터(QP) 값을 포함하는 파라미터들을 초기화하는 파라미터 초기화 단계; 직전 프레임에 대한 부호화된 비트량

Figure 112009032740481-PAT00014
의 가중치 적용값과 직전 프레임의 QP값과 동일한 QP값을 갖는 직전 프레임 이전의 프레임들의 평균 비트량
Figure 112009032740481-PAT00015
의 가중치 적용값의 합과 직전 프레임의 QP값(
Figure 112009032740481-PAT00016
)을 이용하여 현재 프레임의 목표 비트량을 예측하기 위한 프레임 복잡도 가중치
Figure 112009032740481-PAT00017
를 예측 계산하는 복잡도가중치 갱신단계; 현재 프레임의 목표 비트량을 예측하기 위한 프레임 복잡도 가중치
Figure 112009032740481-PAT00018
를 이용한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00019
과 가상버퍼 점유량
Figure 112009032740481-PAT00020
과 목표 버퍼레벨
Figure 112009032740481-PAT00021
을 고려한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00022
을 이용하여 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00023
을 계산하는 목표비트량 산출단계; 및 QP값 인덱스에 대한 예측된 발생 비트량
Figure 112009032740481-PAT00024
구간에서 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00025
을 반복 루프를 통하여 찾아 현재 프레임에 대한 QP값(
Figure 112009032740481-PAT00026
)을 결정하는 프레임 QP값 결정단계; 를 포함하여 이루어지고,In order to achieve the above object, according to one aspect of the present invention, in the frame-by-frame rate control method for H.264, the parameters including the initial information and the initial quantization parameter (QP) value of the buffer to initialize the frame information and the buffer A parameter initialization step of initializing; Coded Bit Amount for Previous Frame
Figure 112009032740481-PAT00014
Average bit quantity of frames before the previous frame having a weighted value of and the same QP value as the previous frame's QP value
Figure 112009032740481-PAT00015
The sum of the weighted values of and the QP value of the previous frame (
Figure 112009032740481-PAT00016
Frame complexity weights for predicting the target bit rate of the current frame using
Figure 112009032740481-PAT00017
A complexity weighted updating step of predicting and calculating the complexity; Frame Complexity Weights for Predicting Target Bitrate of Current Frame
Figure 112009032740481-PAT00018
The amount of bits that can be encoded per frame using
Figure 112009032740481-PAT00019
And virtual buffer occupancy
Figure 112009032740481-PAT00020
And target buffer levels
Figure 112009032740481-PAT00021
Bit rate that can be encoded per frame
Figure 112009032740481-PAT00022
Target bit rate for the current frame
Figure 112009032740481-PAT00023
Calculating a target bit amount; Amount of occurrence bits for the index and QP value index
Figure 112009032740481-PAT00024
Target bit rate for the current frame in the interval
Figure 112009032740481-PAT00025
Through the loop to find the QP value for the current frame (
Figure 112009032740481-PAT00026
Determining a frame QP value; , ≪ / RTI >

여기에서 상기 복잡도가중치 갱신단계, 목표 비트량 산출단계 및 프레임 QP값 결정단계를 수행하여 결정되는 현재 부호화하고자하는 프레임의 QP값을 가지고 부호화되는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법을 제안한다.Here, the method for controlling the frame rate of a frame for H.264 characterized in that the encoding is performed with the QP value of the frame to be currently encoded determined by performing the complexity weighting step, the target bit amount calculation step, and the frame QP value determination step. Suggest.

바람직하게는, 상기 복잡도 가중치 갱신단계에서, 상기 프레임 복잡도 가중치

Figure 112009032740481-PAT00027
는 다음의 식에 따라 결정되는 것을 특징으로 한다.Preferably, in the complexity weighting step, the frame complexity weighting
Figure 112009032740481-PAT00027
Is characterized by the following equation.

Figure 112009032740481-PAT00028
Figure 112009032740481-PAT00028

여기에서, λ는 목표비트량과 실제 발생된 비트량과의 오차를 줄이기 위한 가중치 값이다. 바람직하게는 λ는 0.67이다.Here, lambda is a weight value for reducing the error between the target bit amount and the actually generated bit amount. Preferably λ is 0.67.

바람직하게는, 상기 목표비트량 산출단계에서, 현재 프레임에 대한 목표 비트량

Figure 112009032740481-PAT00029
은 다음의 식에 따라 결정되며,Preferably, in the target bit amount calculation step, the target bit amount for the current frame
Figure 112009032740481-PAT00029
Is determined by the equation

Figure 112009032740481-PAT00030
Figure 112009032740481-PAT00030

여기에서, β는 가상버퍼 점유량

Figure 112009032740481-PAT00031
과 목표 버퍼레벨
Figure 112009032740481-PAT00032
에 대한 의존도를 나타내는 가중치 값이고, 바람직하게 β는 0.5이고,Β is the virtual buffer occupancy
Figure 112009032740481-PAT00031
And target buffer levels
Figure 112009032740481-PAT00032
Is a weight value representing dependence on, preferably β is 0.5,

프레임 복잡도 가중치

Figure 112009032740481-PAT00033
를 이용한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00034
및 가상버퍼 점유량
Figure 112009032740481-PAT00035
과 목표 버퍼레벨
Figure 112009032740481-PAT00036
을 고려한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00037
는 다음의 식에 따라 결정된다.Frame complexity weights
Figure 112009032740481-PAT00033
The amount of bits that can be encoded per frame using
Figure 112009032740481-PAT00034
And virtual buffer occupancy
Figure 112009032740481-PAT00035
And target buffer levels
Figure 112009032740481-PAT00036
Bit rate that can be encoded per frame
Figure 112009032740481-PAT00037
Is determined by the following equation.

Figure 112009032740481-PAT00038
Figure 112009032740481-PAT00038

Figure 112009032740481-PAT00039
Figure 112009032740481-PAT00039

여기에서, R은 현재 남아 있는 비트량이고, Np는 하나의 영상그룹(GOP) 내에 있는 P 프레임의 개수이고, u는 채널 대역폭으로 압축된 영상 시퀀스를 일정하게 전송하는 비트율이고, Fr은 초당 부호화된 프레임 율이고,

Figure 112009032740481-PAT00040
는 가중치 상수이고, 바람직하게는 0.8이다.Where R is the amount of bits currently remaining, N p is the number of P frames in one picture group (GOP), u is the bit rate for constantly transmitting the video sequence compressed at the channel bandwidth, and F r is The frame rate encoded per second,
Figure 112009032740481-PAT00040
Is a weight constant, preferably 0.8.

바람직하게는, 상기 목표비트량 산출단계는: 가상버퍼 점유량

Figure 112009032740481-PAT00041
과 목표 버퍼레벨
Figure 112009032740481-PAT00042
을 산출하는 단계; 산출된 가상버퍼 점유량
Figure 112009032740481-PAT00043
과 목표 버퍼레벨
Figure 112009032740481-PAT00044
을 이용하여 예측 버퍼량을 결정하는 단계; 및 예측 버퍼량과 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00045
Figure 112009032740481-PAT00046
를 고려하여 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00047
을 결정하는 단계;를 포함하여 이루어진다.Preferably, the step of calculating the target bit amount is: virtual buffer occupancy amount
Figure 112009032740481-PAT00041
And target buffer levels
Figure 112009032740481-PAT00042
Calculating; Calculated Virtual Buffer Occupancy
Figure 112009032740481-PAT00043
And target buffer levels
Figure 112009032740481-PAT00044
Determining a predicted buffer amount using; And the amount of prediction buffer and the amount of bits that can be encoded per frame
Figure 112009032740481-PAT00045
And
Figure 112009032740481-PAT00046
Target bit rate for the current frame
Figure 112009032740481-PAT00047
Determining the;

더 바람직하게는, 상기 가상버퍼 점유량

Figure 112009032740481-PAT00048
Figure 112009032740481-PAT00049
로부터 산출되며. 여기에서 A(n-1)는 (n-1)번째 프레임에 대한 부호화된 비트량이고,More preferably, the virtual buffer occupancy amount
Figure 112009032740481-PAT00048
silver
Figure 112009032740481-PAT00049
Is calculated from. Where A (n-1) is the coded bit amount for the (n-1) th frame,

상기 목표 버퍼레벨

Figure 112009032740481-PAT00050
은 The target buffer level
Figure 112009032740481-PAT00050
silver

Figure 112009032740481-PAT00051
로부터 산출되며, 여기에서 codedPframe 은 영상그룹(GOP) 구간에서의 부호화된 P 프레임 개수이고, Np 는 하나의 GOP 내에 있는 P 프레임의 개수이고,
Figure 112009032740481-PAT00051
Where codedPframe is the number of encoded P frames in a GOP section, N p is the number of P frames in one GOP,

상기 예측 버퍼량을 결정하는 단계는:The determining of the prediction buffer amount may include:

Figure 112009032740481-PAT00052
으로부터 프레임 당 예측 버퍼량
Figure 112009032740481-PAT00053
을 산출하고,
Figure 112009032740481-PAT00052
Amount of prediction buffer per frame from
Figure 112009032740481-PAT00053
Yields,

프레임 당 버퍼량이 예측되면, If the amount of buffer per frame is estimated,

Figure 112009032740481-PAT00054
로부터 버퍼의 상한(U(n))과 하한(L(n)) 범위까지 고려하여 최종 예측 버퍼량(
Figure 112009032740481-PAT00055
) 값을 결정한다.
Figure 112009032740481-PAT00054
From the upper bound U (n) and the lower bound L (n) of the buffer to
Figure 112009032740481-PAT00055
) To determine the value.

바람직하게는, 상기 프레임 QP값 결정단계에서, 상기 현재 프레임에 대한

Figure 112009032740481-PAT00056
가 결정될 때 프레임들간의 화질 열화를 줄이기 위하여 다음의 식에 따라 현재 프레임의 최종
Figure 112009032740481-PAT00057
가 결정되는 것을 특징으로 한다.Preferably, in the frame QP value determination step, for the current frame
Figure 112009032740481-PAT00056
To reduce image quality deterioration between frames when is determined, the final frame of the current frame is
Figure 112009032740481-PAT00057
Characterized in that is determined.

Figure 112009032740481-PAT00058
Figure 112009032740481-PAT00058

여기에서

Figure 112009032740481-PAT00059
는 프레임간의 QP값을 제한하는 값이다. 바람직하게는, 상기
Figure 112009032740481-PAT00060
는 ±2로 설정된다.From here
Figure 112009032740481-PAT00059
Is a value for limiting the QP value between frames. Preferably, the
Figure 112009032740481-PAT00060
Is set to ± 2.

더 바람직하게는, 상기 현재 프레임에 대한

Figure 112009032740481-PAT00061
결정은 다음의 식에 따라 이루어진다.More preferably, for the current frame
Figure 112009032740481-PAT00061
The decision is made according to the following equation.

Figure 112009032740481-PAT00062
Figure 112009032740481-PAT00062

여기에서

Figure 112009032740481-PAT00063
는 QP 인덱스에 의한 예측 비트량
Figure 112009032740481-PAT00064
구간에서 해당 목표 비트량 T 를 찾는 함수로써, 반복 루프를 통하여 구해진다.From here
Figure 112009032740481-PAT00063
Is the predicted bit amount by the QP index
Figure 112009032740481-PAT00064
This function is to find the corresponding target bit amount T in the interval and is obtained through an iterative loop.

본 발명의 모습에 따라, 실시예에서는, H.264/AVC 부호기에서 부호화된 비트스트림을 고정된 채널로 전송할 경우 기존의 비트율 제어 방법의 큰 문제점이라고 할 수 있는 현재 프레임을 부호화하는데 있어서 이전 프레임의 차분부호 정보량을 이용하기 때문에 많은 계산량을 필요로 하는 문제점을 해결하기 위하여, 이전 프레임의 차분부호 정보량이 아니라 다양한 영상의 통계정보와 이전에 발생된 비트량을 통계정보로 이용하여 영상 특성에 적응적으로 비트율을 제어할 수 있게 되었다. According to an aspect of the present invention, in the embodiment, when transmitting a bitstream encoded in an H.264 / AVC coder through a fixed channel, the previous frame in encoding the current frame, which is a big problem of the existing bitrate control method, may be obtained. In order to solve the problem that requires a large amount of calculation because the difference code information amount is used, it is adaptive to the image characteristics by using the statistical information of various images and the previously generated bit amount as statistical information, not the difference code information amount of the previous frame. Now you can control the bit rate.

본 발명의 하나의 실시예의 실험 결과에서 알 수 있듯이 기존 비트율 제어 방법의 PSNR 성능과 거의 비슷하였고 다양한 채널 전송 환경에서도 기존 비트율 제어 방법보다 적합하게 효율적으로 부호화되는 것으로 나타났다. 특히 계산량 절감에 있어서는 제안한 방법이 기존 방법보다 99% 이상의 계산량이 감소하여 실시간 처리에 적합한 것으로 나타났다. 이는 영상과 관련된 응용 분야에 많이 활용될 수 있을 것이다.As can be seen from the experimental results of one embodiment of the present invention, the PSNR performance of the conventional bit rate control method is almost similar to that of the conventional bit rate control method. In particular, in terms of computational savings, it is shown that the proposed method is suitable for real-time processing because the computational amount is reduced by more than 99%. This can be used in many applications related to video.

본 발명의 다양한 실시예에 따라 직접적으로 언급되지 않은 다양한 효과들이 본 발명의 실시예들에 따른 다양한 구성들로부터 당해 기술분야에서 통상의 지식을 지닌 자에 의해 도출될 수 있음은 자명하다.It is apparent that various effects not directly mentioned in accordance with various embodiments of the present invention may be derived by those skilled in the art from various configurations according to embodiments of the present invention.

전술한 과제를 달성하기 위한 본 발명의 실시예들이 첨부된 도면을 참조하여 설명될 것이다. 본 실시예들을 설명함에 있어서, 동일부호는 동일한 구성을 의미하고, 중복되거나 발명의 의미를 한정적으로 해석되게 할 수 있는 부가적인 설명은 본 발명의 실시예들을 설명함에 있어서 생략될 수 있다.Embodiments of the present invention for achieving the above object will be described with reference to the accompanying drawings. In describing the embodiments, the same reference numerals refer to the same configuration, and additional descriptions that may overlap or limit the meaning of the invention may be omitted in describing the embodiments of the present invention.

도 1는 본 발명의 하나의 실시예에 따른 비트율 제어방법에서의 전체적인 계층 구조를 나타낸 것으로서, 4개의 주요 처리 단계로 이루어져 있다.FIG. 1 shows the overall hierarchical structure in the bit rate control method according to an embodiment of the present invention, and is composed of four main processing steps.

1) 부호화를 위한 주요 파라미터 초기화1) Initialization of main parameters for encoding

2) 프레임에 대한 목표 비트량 계산2) Calculation of target bit rate for frame

3) 목표 비트량에 대한 QP값 결정3) Determination of the QP value for the target bit amount

4) 프레임에 대한 복잡도 갱신4) Update complexity for frame

단계 1에서 초기화가 완료되면, P프레임에 대한 QP값 결정과정은 단계4-단계2-단계3의 과정을 반복 수행하게 된다. 즉, 수행하게 되는 프로세스 구조는 다음과 같다.When the initialization is completed in step 1, the process of determining the QP value for the P frame is repeated in steps 4 through 2 and 3. That is, the process structure to be performed is as follows.

단계1 -> ... -> (단계4 -> 단계2 -> 단계3) -> ... -> (단계4 -> 단계2 -> 단계3) ...Step 1-> ...-> (Step 4-> Step 2-> Step 3)-> ...-> (Step 4-> Step 2-> Step 3) ...

단계별 내용에 대한 구체적인 설명은 다음과 같다.The detailed description of the contents of each step is as follows.

1) 부호화를 위한 주요 파라미터 초기화(단계 1)1) Initialization of main parameters for encoding (step 1)

단계 1에서는 부호화를 위한 프레임 정보 및 버퍼의 초기화, 그리고 영상의 초기 QP 값 등의 파라미터들을 초기화한다. In step 1, parameters such as frame information for encoding, a buffer initialization, and an initial QP value of an image are initialized.

도 1에 도시된 바와 같이, 파라미터 초기화 단계에서 순간 허용소스 전송비 추정은 현재 전송 가능한 네트워크의 속도와 초당 전송해야 하는 프레임수를 이용하여 전송하게 될 비트율을 추정하는 단계이고, 여기서 네트워크의 속도 또는/및 영상의 크기, 초당 몇 프레임을 보내야 하는지 또는/및 부화화를 위한 프레임 정보 등의 정보가 담겨있다. 또한, 버퍼 초기화는 버퍼를 초기화 하는데, 버퍼의 초기 가상 버퍼 점유량을 설정하고 버퍼의 오버플로우와 언더플로우를 방지하기 위해 버퍼의 상한과 하한의 초기값을 설정한다. As shown in FIG. 1, in the parameter initialization step, the instantaneous allowable source transmission rate estimation is a step of estimating a bit rate to be transmitted using the speed of a network that can be transmitted and the number of frames that need to be transmitted per second. And / or information such as the size of the image, how many frames per second should be sent and / or frame information for incubation. In addition, buffer initialization initializes the buffer, which sets the initial virtual buffer occupancy of the buffer and the initial values of the upper and lower bounds of the buffer to prevent overflow and underflow of the buffer.

I 프레임에 할당되는 비트량은 전체 영상의 화질에 큰 영향을 미치게 된다. 따라서 I 프레임의 QP를 결정하는 것은, I 프레임을 뒤따르는 프레임들의 화질에 영향을 미치므로, I 프레임의 QP를 결정하는 것은 매우 중요하다. The bit amount allocated to the I frame has a great influence on the image quality of the entire image. Therefore, determining the QP of an I frame affects the image quality of the frames following the I frame, so it is very important to determine the QP of the I frame.

비디오 시퀀스는 영상그룹 GOP(Group of Picture)로 구성되어 있고, GOP의 첫 번째 프레임은 인트라(Intra) 모드로 부호화하고, 그 이후의 프레임은 인터(Inter) 모드로 부호화하는 것이 일반적이다. I-프레임은 인트라(Intra) 코딩된 프레임을 뜻하고, P-프레임은 이전 프레임을 참조하여 예측(순방향 예측)된 프레임을 뜻한다. P-프레임은 이전 프레임을 레퍼런스로 해서 모션 예측 보정을 이용하여 인코딩되므로, 인트라(Intra) 코딩된 프레임인 I-프레임은 P-프레임을 위한 참조 프레임으로서 가장 중요한 프레임이라 할 수 있다. 연결된 첫번째 영상이나 랜덤 액세스 점이 일반적으로 인트라(Intra) 코드가 된다. 이 방법에서 이전 GOP내의 P-프레임들의 평균 QP 값이 높을 경우, 현재 GOP의 I-프레임의 QP 값도 높게 되고, 현재 GOP의 I-프레임의 QP 값이 높은 경우 높은 QP 값은 낮은 PSNR(Peek Signal To Noise Rate)을 발생시키므로, I-프레임을 참조하는 현 GOP내의 P-프레임들은 연쇄 적으로 낮은 PSNR을 갖게 된다. 따라서 I-프레임의 QP 결정 방식에 따라 전체 영상의 화질이 달라질 수 있다.The video sequence is composed of a video group GOP (Group of Picture), the first frame of the GOP is encoded in the Intra mode, and the subsequent frames are generally encoded in the Inter mode. An I-frame refers to an intra coded frame, and a P-frame refers to a frame predicted (forward predicted) with reference to a previous frame. Since the P-frame is encoded using motion prediction correction with reference to the previous frame, the I-frame, which is an intra coded frame, may be referred to as the most important frame as a reference frame for the P-frame. The first connected picture or random access point is typically an Intra code. In this method, when the average QP value of the P-frames in the previous GOP is high, the QP value of the I-frame of the current GOP is also high, and when the QP value of the I-frame of the current GOP is high, the high QP value is low PSNR (Peek). Signal To Noise Rate), the P-frames in the current GOP referring to the I-frame will have a low PSNR in the chain. Therefore, the image quality of the entire image may vary depending on the QP determination method of the I-frame.

본 발명에서의 I 프레임에 대한 파라미터 초기화 과정은 H.264/AVC의 참조 모델 JM12.1 방식을 사용한다. 이 방법은 각 픽셀에 할당할 수 있는 비트수(bpp; bit per pixel)를 고려하여 QP값을 결정하는 방법으로 식 (14)와 같이 구한다.The parameter initialization procedure for the I frame in the present invention uses the reference model JM12.1 scheme of H.264 / AVC. In this method, the QP value is determined in consideration of the number of bits per pixel (bpp) that can be allocated to each pixel.

Figure 112009032740481-PAT00065
(14)
Figure 112009032740481-PAT00065
(14)

식 (14)에서 u 는 채널 대역폭으로 압축된 영상 시퀀스를 일정하게 전송하는 비트율이고, width와 height은 영상의 너비와 높이를 나타내고, Fr은 초당 부호화된 프레임 율이다. In Equation (14), u is a bit rate for constantly transmitting a compressed video sequence with a channel bandwidth, width and height represent a width and height of an image, and F r is an encoded frame rate per second.

프레임 당 비트율을 제어하기 위해서는 먼저 첫 번째 프레임에 대한 가상버퍼 점유량(Virtual Buffer Occupancy)을 정해야 하는데, 이 첫 번째 가상 버퍼 점유량이 Bc(1)이면, 이때 초기 가상버퍼 점유량은 식 (2)와 같이 버퍼 사이즈(Bs)의 1/8로 설정한다.In order to control the bit rate per frame, first, the virtual buffer occupancy for the first frame must be determined. If the first virtual buffer occupancy is B c (1), then the initial virtual buffer occupancy is Similarly, set it to 1/8 of the buffer size (B s ).

Figure 112009032740481-PAT00066
(2)
Figure 112009032740481-PAT00066
(2)

그리고 버퍼의 오버플로우과 언더플로우을 방지하기 위하여 버퍼의 상한(U(1)) 및 하한(L(1))의 초기값을 식 (15)와 같이 설정한다. 이때 u 는 채널 대역폭으로 압축된 영상 시퀀스를 일정하게 전송하는 비트율이고, Fr 은 초당 부호화 된 프레임 율이다.In order to prevent the overflow and underflow of the buffer, initial values of the upper limit U (1) and the lower limit L (1) of the buffer are set as in Equation (15). In this case, u is a bit rate for constantly transmitting a compressed video sequence with a channel bandwidth, and F r is an encoded frame rate per second.

Figure 112009032740481-PAT00067
(15)
Figure 112009032740481-PAT00067
(15)

2) 프레임에 대한 목표 비트량 계산(단계 2)2) Calculate the target bit rate for the frame (step 2)

단계 2에서는 부호화 이후의 프레임에 대한 복잡도 갱신이 이루어진 정보들을 이용하여 현재 부호화 하고자 하는 프레임의 목표 비트량을 예측하는 단계로서, 부호화 하고자 하는 프레임에 대한 복잡도 가중치, 가상버퍼 점유율 그리고 목표 버퍼레벨을 고려하여 목표 비트량을 예측한다.In step 2, the target bit amount of the frame to be encoded is predicted by using the information of the complexity update of the frame after encoding, taking into account the complexity weight, the virtual buffer occupancy, and the target buffer level of the frame to be encoded. To predict the target bit amount.

본 발명에서의 가상버퍼 점유량(Bc(n)) 및 목표 버퍼레벨(TBL(n))은 각각 식 (16)과 식 (17)을 이용하여 구한다.The virtual buffer occupancy amount B c (n) and the target buffer level TBL (n) in the present invention are obtained using equations (16) and (17), respectively.

Figure 112009032740481-PAT00068
(16)
Figure 112009032740481-PAT00068
(16)

Figure 112009032740481-PAT00069
(17)
Figure 112009032740481-PAT00069
(17)

식 (16)에서 A(n-1)는 (n-1)번째 프레임에 대한 부호화된 비트량이고, 식 (17)에서 codedPframe 은 GOP 구간에서의 부호화된 P 프레임 개수이고, Np 는 하나의 GOP 내에 있는 P 프레임의 개수이다. 식 (17)과 같이 목표 버퍼레벨은 I 프레임이 부호화 된 이후의 첫 번째 P 프레임의 경우는 버퍼 점유율에서 목표 버퍼레벨을 줄이고, 첫 번째 P 프레임이 부호화 된 이후에는 이전 목표 버퍼레벨에서 값을 줄인다. 현재 프레임을 부호화함에 있어서, 프레임에 할당할 수 있는 목표 비트량을 예측하기 위해서는 다음 식 (18)과 같이 계산된 버퍼 점유량 및 목표 버퍼레벨을 이용하여 버퍼량의 예측을 수행하여 예측 버퍼량

Figure 112009032740481-PAT00070
을 산출한다.In equation (16), A (n-1) is the coded bit amount for the (n-1) th frame, codedPframe in equation (17) is the number of coded P frames in the GOP interval, and N p is one The number of P frames in the GOP. As shown in equation (17), the target buffer level decreases the target buffer level in the buffer occupancy in the case of the first P frame after the I frame is encoded, and the value in the previous target buffer level after the first P frame is encoded. . In encoding the current frame, in order to predict a target bit amount that can be allocated to a frame, a prediction of the buffer amount is performed by using the buffer occupancy amount and the target buffer level calculated as in Equation (18).
Figure 112009032740481-PAT00070
To calculate.

Figure 112009032740481-PAT00071
(18)
Figure 112009032740481-PAT00071
(18)

Figure 112009032740481-PAT00072
(8)
Figure 112009032740481-PAT00072
(8)

프레임 당 버퍼량이 예측되면 버퍼 상태를 고려하여 식 (8)과 같이 버퍼의 상한과 하한 범위까지 고려하여 최종 예측 버퍼량(

Figure 112009032740481-PAT00073
) 값을 결정한다.If the buffer amount per frame is predicted, the final predicted buffer amount (
Figure 112009032740481-PAT00073
) To determine the value.

n번째 프레임에 대한 최종 목표 비트량 T(n)은 예측한 버퍼량과 식 (19)에서 예측한 부호 비트량을 고려하여 식 (20)과 같이 최종적으로 결정된다. The final target bit amount T (n) for the n-th frame is finally determined as in Equation (20) in consideration of the predicted buffer amount and the code bit amount predicted in Equation (19).

Figure 112009032740481-PAT00074
(19)
Figure 112009032740481-PAT00074
(19)

Figure 112009032740481-PAT00075
(20)
Figure 112009032740481-PAT00075
20

식 (19)에서 Wp는 현재 P 프레임의 복잡도 가중치를 예측한 값으로서, 본 발명에서는 이전에 부호화된 프레임들의 발생 비트량 가중치와 QP값으로 계산한다. 다음의 식 (28)을 참조한다. R은 현재 남아 있는 비트량이다. Tr1과 Tr2는 P 프레임에 대한 복잡도 가중치를 이용한 프레임당 부호화 할 수 있는 비트량과 버퍼 점유량과 목표 버퍼레벨을 고려한 프레임당 부호화 할 수 있는 비트량이다. 식 (20)에서 β는 버퍼 점유량과 목표 버퍼레벨에 대한 의존도를 의미하는 것으로 실험에 의해 0.5로 설정하였다.In Equation (19), W p is a value predicting the complexity weight of the current P frame. In the present invention, W p is calculated as the generated bit amount weight and the QP value of previously encoded frames. See Equation (28) below. R is the amount of bits remaining. T r1 and T r2 are bits that can be encoded per frame using complexity weights for P frames, and bits that can be encoded per frame considering buffer occupancy and target buffer levels. In Eq. (20), β means the dependence on the buffer occupancy and the target buffer level and was set to 0.5 by experiment.

3) 목표 비트량에 대한 QP값 결정(단계 3)3) Determination of the QP value for the target bit amount (step 3)

부호화 하고자 하는 프레임의 QP값을 결정하는 단계이다. In this step, the QP value of a frame to be encoded is determined.

기존의 H.264/AVC 방식의 QP변환 알고리즘에 따른 MAD 예측 및 양자화계수 예측에서는, 비트율 제어를 위해 먼저 현재 프레임과 참조 프레임간의 차이를 나타내는 MAD(Mean Absolute Difference)를 이용하며, 현재 프레임의 MADc를 예측하기 위해 식 (11)과 같이 계산한다.In the MAD prediction and the quantization coefficient prediction based on the conventional H.264 / AVC method, the MAD (Mean Absolute Difference) indicating the difference between the current frame and the reference frame is first used for the bit rate control. To predict c , calculate as in Eq. (11).

Figure 112009032740481-PAT00076
(11)
Figure 112009032740481-PAT00076
(11)

식 (11)에서 MADp는 이전 프레임의 MAD를 나타내며 C2는 예측된 값들의 예측 오차에 대한 보상 값이다. C1과 C2에 대한 초기값은 각각 1과 0이다. 기존의 H.264/ AVC의 비트율을 제어하기 위한 프레임 단위에 대한 양자화 계수는 식 (12)과 같이 2차 방정식 비트율-왜곡 모델을 사용한다. In Equation (11), MAD p represents the MAD of the previous frame and C 2 is a compensation value for the prediction error of the predicted values. The initial values for C 1 and C 2 are 1 and 0, respectively. The quantization coefficient for the frame unit for controlling the bit rate of the conventional H.264 / AVC uses a quadratic equation rate-distortion model as shown in Equation (12).

Figure 112009032740481-PAT00077
(12)
Figure 112009032740481-PAT00077
(12)

식 (12)에서 T(n)는 n번째 프레임에서의 목표 비트량, MADn는 n번째 프레임에서의 MAD, QP는 양자화 계수, 그리고 x1와 x2는 각 프레임에서 얻어지는 2차원 비트율-왜곡값을 나타내는 변수이다.In Equation (12), T (n) is the target bit quantity in the nth frame, MAD n is the MAD in the nth frame, QP is the quantization coefficient, and x 1 and x 2 are two-dimensional bit rate-distortions obtained in each frame. Variable representing the value.

본 발명에서는 기존 H.264/AVC 방식의 식 (12)와 같이 QP변환 알고리즘을 사용하지 않고, 도 2과 같이 다양한 영상의 실험에 의한 통계 정보를 이용하여 결정하도록 하였다. 도 2은 각 영상의 특성에 따라 QP값에 따른 P 프레임의 발생 비트량 특성을 나타내고, 표 1은 각 프레임의 비트량을 예측하기 위하여 산출된 실험 데이터로서 각 영상의 P 프레임들의 평균 비트량을 나타낸 것이다.In the present invention, instead of using the QP conversion algorithm as shown in Equation (12) of the existing H.264 / AVC method, it is determined by using statistical information by experiments of various images as shown in FIG. FIG. 2 shows the generated bit rate characteristics of a P frame according to the QP value according to the characteristics of each image. Table 1 shows experimental data calculated to predict the bit rate of each frame. It is shown.

다양한 유형의 영상 통계 정보를 이용하기 위하여 실험에 사용된 영상들은 빠르고 세밀한 영상의 "Mobile"와 "Stefan", 그리고 느리고 평탄한 영상의 "News"와 “Container"가 사용되었으며, 보통의 빠르기와 평탄함 및 세밀함이 골고루 있는 영상 "Foreman"이 사용되었다. The images used in the experiment to use various types of image statistics are fast and detailed images of "Mobile" and "Stefan" and slow and flat images "News" and "Container". The image "Foreman" with even detail is used.

<표 1> 각 QP에 따른 P프레임의 평균 비트량<Table 1> Average bit rate of P frame according to each QP

QPQP containercontainer foremanforeman mobilemobile newsnews stefanstefan QRQR ...... 1717 12,84912,849 20,69220,692 47,38847,388 7,1367,136 42,84942,849 24,55924,559 1818 10,62110,621 17,16417,164 42,42642,426 6,1036,103 38,35238,352 21,81921,819 1919 9,0919,091 14,94314,943 38,99838,998 5,4265,426 35,06235,062 19,30119,301 2020 7,2127,212 12,27712,277 34,35034,350 4,6454,645 31,00231,002 16,82316,823 2121 5,2855,285 10,52210,522 30,89530,895 4,1084,108 27,92627,926 14,89314,893 2222 5,0075,007 9,0189,018 27,71527,715 3,6363,636 24,80924,809 13,09513,095 2323 4,0064,006 7,5757,575 24,17624,176 3,1533,153 21,84921,849 11,31311,313 2424 3,2243,224 6,3586,358 21,08421,084 2,7492,749 18,94718,947 9,9059,905 2525 2,6592,659 5,5385,538 18,97218,972 2,4582,458 17,05717,057 8,5938,593 2626 2,0932,093 4,5724,572 16,00916,009 2,1002,100 14,46714,467 7,3177,317 2727 1,7041,704 3,9213,921 13,84513,845 1,8561,856 12,59412,594 6,3036,303 ......

실험(표 1)을 통하여 P 프레임들의 평균 비트량이 QP값과 밀접한 관계를 가지고 있음을 확인할 수 있으며, 도 2과 같이 QP값에 따라 할당되는 비트량의 크기가 선형적으로 변하는 것을 보여주고 있다. It can be seen from the experiment (Table 1) that the average bit amount of P frames has a close relationship with the QP value, and as shown in FIG. 2, the bit amount allocated according to the QP value changes linearly.

QP값과 발생 비트량과의 관계는 다음과 같이 유도될 수 있다.The relationship between the QP value and the generated bit amount can be derived as follows.

Figure 112009032740481-PAT00078
(21)
Figure 112009032740481-PAT00078
(21)

식 (21)의 n은 QP값 인덱스이며,

Figure 112009032740481-PAT00079
는 QP값 인덱스 n에 대한 예측된 발생 비트량을 의미한다. α와 β는 도 2과 표 1의 다양한 영상의 통계 특성에 의해 결정된 상수 값이다. <표 1>에서의
Figure 112009032740481-PAT00080
은 현재 부호화하고자 하는 프레임에 할당 가능한 비트량 구간을 나타낸 것으로서, 양자화 인덱스 함수로서의 비트량이 가우시안 분포를 가질 수 있기 때문에 식 (21)의 QP 인덱스에 대한 예측 가능한 발생 비트량
Figure 112009032740481-PAT00081
는 식 (22)와 같이 재계산될 수 있다. N in formula (21) is the QP value index,
Figure 112009032740481-PAT00079
Denotes the estimated amount of generated bits for the QP value index n. α and β are constant values determined by statistical characteristics of various images of FIGS. 2 and 1. In <Table 1>
Figure 112009032740481-PAT00080
Denotes a bit amount interval that can be allocated to the frame to be currently encoded, and since the bit amount as a quantization index function can have a Gaussian distribution, the predictable generated bit amount for the QP index of Equation (21)
Figure 112009032740481-PAT00081
Can be recalculated as Equation (22).

Figure 112009032740481-PAT00082
(22)
Figure 112009032740481-PAT00082
(22)

이렇게 QP 인덱스에 대한 예측된 발생 비트량

Figure 112009032740481-PAT00083
은 초기화 단계에서 한 번만 계산되며 1차원 테이블에 값을 저장하여 사용한다. Thus the estimated occurrence bit rate for the QP index
Figure 112009032740481-PAT00083
Is calculated only once in the initialization phase and stored in a one-dimensional table for use.

이후에는 식 (20)에서 계산된 목표 비트량을 이용하여 식 (23)과 같이 현재 프레임에 대한 QPc 값을 결정한다.After that, the QP c value for the current frame is determined using the target bit amount calculated in Equation (20) as shown in Equation (23).

Figure 112009032740481-PAT00084
(23)
Figure 112009032740481-PAT00084
(23)

식 (23)에서

Figure 112009032740481-PAT00085
는 QP 인덱스에 의한 예측 비트량
Figure 112009032740481-PAT00086
구간에서 해당 목표 비트량 T 를 찾는 함수로써, 반복 루프를 통하여 구해진다. 그리고 P 프레임의 QPc값이 결정될 때는 프레임들 간의 화질 열화를 줄이기 위하여 식 (24)와 같이 ΔQP 값으로 제한한다.In equation (23)
Figure 112009032740481-PAT00085
Is the predicted bit amount by the QP index
Figure 112009032740481-PAT00086
This function is to find the corresponding target bit amount T in the interval and is obtained through an iterative loop. When the QP c value of the P frame is determined, the QP c value is limited to the ΔQP value as shown in Equation (24) to reduce image quality deterioration between frames.

Figure 112009032740481-PAT00087
(24)
Figure 112009032740481-PAT00087
(24)

식 (24)에서 QPp는 이전 프레임에서의 QP값을 나타내며 프레임간의 QP값을 제한하는 ΔQP값은 ±2로 설정하였다. 프레임간의 QP값 차이가 ±2를 초과하면 시각적으로 영상의 이질감을 보일 수 있다.In Eq. (24), QP p represents the QP value in the previous frame, and the ΔQP value that limits the QP value between frames is set to ± 2. If the QP value difference between the frames exceeds ± 2, visual heterogeneity may be visually shown.

4) 프레임에 대한 복잡도 갱신(단계 4)4) Update Complexity for Frame (Step 4)

단계 4에서는 이전 프레임을 부호화 한 후에 발생된 실제 비트량을 이용하여 현재 프레임의 복잡도를 계산하는 단계로서, 가상 버퍼의 점유량 및 버퍼의 오버플로우과 언더플로우을 예방하기 위한 과정 그리고 이전에 부호화된 P 프레임들의 발생된 비트량과 현재 프레임의 발생 비트량을 이용하여 이후에 부호화시 사용될 P 프레임의 복잡도 가중치를 계산한다. In step 4, the complexity of the current frame is calculated using the actual bit rate generated after the previous frame is encoded. The process of preventing the occupancy of the virtual buffer and the overflow and underflow of the buffer, and the A complexity weight of a P frame to be used in later encoding is calculated using the generated bit amount and the generated bit amount of the current frame.

가상 버퍼의 점유량 Bc 및 버퍼의 오버플로우과 언더플로우을 예방하기 위한 버퍼의 상한 U(n) 및 하한 L(n) 값은 다음 식 (25)~(27)을 통해서 구해진다.The upper limit U (n) and lower limit L (n) values of the buffer for preventing the occupancy amount B c of the virtual buffer and the overflow and underflow of the buffer are obtained through the following equations (25) to (27).

Figure 112009032740481-PAT00088
(25)
Figure 112009032740481-PAT00088
(25)

Figure 112009032740481-PAT00089
(26)
Figure 112009032740481-PAT00089
(26)

Figure 112009032740481-PAT00090
(27)
Figure 112009032740481-PAT00090
(27)

다음에 부호화 할 P 프레임의 목표 비트량을 예측하기 위한 P 프레임의 복잡도 가중치 Wp는 식 (28)과 같이 구해진다.Then the complexity of the P-frame to predict the target bit quantity of the P frame to be encoded in a weight W p is obtained as shown in equation (28).

Figure 112009032740481-PAT00091
(28)
Figure 112009032740481-PAT00091
(28)

본 발명의 하나의 실시예에서는 P 프레임에 대한 복잡도 가중치를 예측하기 위한 부호화된 P 프레임들의 최대 개수를 20개로 제한하였다. 식 (28)에서 Sbits는 이전 P 프레임의 발생 비트량 A(n-2)~A(n-20) 구간에서 QPp와 동일한 QP값을 갖는 P 프레임들의 평균 비트량이다. 이는 프레임에 할당할 수 있는 비트량을 통하여 QP값을 결정하기 위해서는 각QP값에 따라 발생되는 프레임 비트량을 알아야 하기 때문이다. 또한 부호화 하고자 하는 P 프레임은 인접한 프레임들과의 밀접한 상관관계를 가지고 있다. 따라서 바람직한 하나의 실시예에서, 목표 비트량과 실제 발생된 비트량과의 오차를 줄이기 위한 A(n-1)와 Sbits의 가중치 λ값을 0.67로 설정하였다. 이 λ값은 각각의 고정 QP값과 움직임 추정을 위한 참조 프레임을 20으로 설정하고 시뮬레이션하여 얻어낸 결과 값이다.In one embodiment of the present invention, the maximum number of encoded P frames for predicting the complexity weight for the P frame is limited to 20. In Equation (28), S bits is an average bit amount of P frames having the same QP value as QP p in the generation bit amounts A (n-2) to A (n-20) of the previous P frame. This is because it is necessary to know the frame bit amount generated according to each QP value in order to determine the QP value through the bit amount that can be allocated to the frame. In addition, the P frame to be encoded has a close correlation with adjacent frames. Therefore, in one preferred embodiment, the weight lambda value of A (n-1) and S bits is set to 0.67 to reduce the error between the target bit amount and the actually generated bit amount. This lambda value is a result obtained by simulating each fixed QP value and a reference frame for motion estimation to 20.

[실험 결과][Experiment result]

본 발명에서는 H.264/AVC 부호기를 기반으로 한 효율적인 비트율 제어 방법 을 제시하였다. 본 발명의 실시예의 성능을 검증하기 위하여 H.264/AVC 참조 소프트웨어 12.1 부호기를 사용하였다. 실험에 사용된 영상은 부호기에서의 성능평가 테스트로 광범위하게 사용되는 QCIF급 CONTAINER, NEWS, FOREMAN, COASTGUARD, PARIS, SIGN IRENE, TABLE 영상을 사용하였다. 영상의 GOP 구조는 초기 I 프레임과 그 이후의 모든 프레임들은 P 프레임으로 구성하였고 B 프레임을 사용하지 않았다. 그리고 모든 영상들은 프레임 스킵 없이 QP값을 프레임별로 적용하여 실험하였다. 기존의 비트율 제어 알고리즘인 JM12.1과 참고 논문(M. Jiang and N.Ling, "On Enhancing H.264/AVC Video Rate Control by PSNR-Based Frame Complexity Estimation", IEEE Trans. Consumer. Electronics. vol. 51, no. 1, Feb. 2005.) 그리고 본 발명의 하나의 실시예에 따른 비트율 제어 방법은 영상 화질의 객관적 평가를 위해 PSNR(Peak Signal to Noise Ratio)을 사용하였으며, M×N 크기의 8bits 영상에 대하여 원 영상 대비 복호화 된 영상의 잡음비율은 다음과 같이 정의된다.In the present invention, an efficient bit rate control method based on an H.264 / AVC coder is proposed. H.264 / AVC reference software 12.1 encoder was used to verify the performance of the embodiment of the present invention. The images used in the experiments were QCIF-level CONTAINER, NEWS, FOREMAN, COASTGUARD, PARIS, SIGN IRENE, and TABLE images, which are widely used as performance evaluation tests in the encoder. The GOP structure of the image consists of the initial I frame and all subsequent frames consisting of P frames and no B frames. All the images were tested by applying the QP value frame by frame without skipping frames. JM12.1, an existing bit rate control algorithm, and a reference paper (M. Jiang and N.Ling, "On Enhancing H.264 / AVC Video Rate Control by PSNR-Based Frame Complexity Estimation", IEEE Trans. Consumer.Electronics.vol. 51, no. 1, Feb. 2005.) And the bit rate control method according to an embodiment of the present invention used the Peak Signal to Noise Ratio (PSNR) for the objective evaluation of the image quality, 8bits of M × N size The noise ratio of the decoded image to the original image is defined as follows.

Figure 112009032740481-PAT00092
(29)
Figure 112009032740481-PAT00092
(29)

식 (29) 에서

Figure 112009032740481-PAT00093
는 유클리드 놈(Euclidean norm)을 나타내고,
Figure 112009032740481-PAT00094
는 원 영상,
Figure 112009032740481-PAT00095
은 복호화 된 영상을 나타낸다. 그리고 각 알고리즘의 계산량 비교를 위하여 고밀도 측정 타이머를 사용하였으며, 계산량 측정 범위는 각 알고리즘의 데 이터 및 버퍼의 초기화 부분을 제외한 비트율을 제어하는 부분에서만 측정하였다. <표 2>, <표 3> 및 <표 4>는 채널 전송대역폭이 각각 32, 64, 128Kbps이고 프레임율이 30fps일 때 기존 비트율 제어 방법과 본 발명의 하나의 실시예에 따른 비트율 제어 방법에 대한 부호화된 비트량, PSNR 및 계산량 비교이다.In equation (29)
Figure 112009032740481-PAT00093
Represents Euclidean norm,
Figure 112009032740481-PAT00094
Circle image,
Figure 112009032740481-PAT00095
Represents the decoded image. High-density measurement timers were used to compare the computational quantities of each algorithm, and the computational measurement range was measured only in the part that controls the bit rate except for the data and buffer initialization of each algorithm. <Table 2>, <Table 3> and <Table 4> show the existing bit rate control method and the bit rate control method according to an embodiment of the present invention when the channel transmission bandwidth is 32, 64, 128 Kbps and the frame rate is 30fps, respectively. The coded bit rate, the PSNR and the computed amount are compared.

<표 2> 32 kbps 채널전송환경에서 각 영상들의 부호화된 비트량, PSNR 및 계산량 <Table 2> Coded Bit Rate, PSNR and Computation Rate of Each Image in 32 kbps Channel Transmission Environment

Sequence
(영상)
Sequence
(video)
JM 12.1JM 12.1 참고 논문Reference paper 실시예Example
Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
Mad %Mad% Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
Mad %Mad% Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
containercontainer 31.9931.99 34.74 34.74 1,148.783 1,148.783 14%14% 32.0232.02 34.74 34.74 1,318.1941,318.194 12%12% 31.6731.67 34.54 34.54 1.277 1.277 newsnews 32.0932.09 31.94 31.94 1,137.806 1,137.806 14%14% 32.0432.04 31.80 31.80 1,313.0951,313.095 12%12% 32.0132.01 31.68 31.68 1.289  1.289 foremanforeman 32.0832.08 28.39 28.39 1,138.822 1,138.822 13%13% 32.0032.00 28.58 28.58 1,310.7441,310.744 12%12% 31.9531.95 28.52 28.52 1.306  1.306 coastguardcoastguard 32.0532.05 27.46 27.46 1,135.405 1,135.405 13%13% 32.0632.06 27.44 27.44 1,309.7801,309.780 12%12% 32.0332.03 27.48 27.48 1.294  1.294 parisparis 32.1832.18 26.57 26.57 1,157.744 1,157.744 14%14% 32.1032.10 26.53 26.53 1,328.9551,328.955 12%12% 32.0132.01 26.56 26.56 1.283  1.283 signirenesignirene 32.0132.01 31.23 31.23 1,120.029 1,120.029 13%13% 32.0432.04 31.18 31.18 1,294.2671,294.267 12%12% 32.0032.00 31.15 31.15 1.314  1.314 tabletable 32.0332.03 29.27 29.27 1,145.141 1,145.141 14%14% 32.0432.04 29.51 29.51 1,319.1451,319.145 12%12% 31.9431.94 29.21 29.21 1.311  1.311

<표 3> 64 kbps 채널전송환경에서 각 영상들의 부호화된 비트량, PSNR 및 계산량<Table 3> Coded bit rate, PSNR, and computation amount of each image in 64 kbps channel transmission environment

Sequence
(영상)
Sequence
(video)
JM 12.1JM 12.1 참고 논문Reference paper 실시예Example
Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
Mad %Mad% Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
Mad %Mad% Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
containercontainer 64.03 64.03 37.42 37.42 1,175.506 1,175.506 14%14% 64.04 64.04 37.42 37.42 1,346.1261,346.126 12%12% 63.94 63.94 37.27 37.27 1.317 1.317 newsnews 64.04 64.04 35.82 35.82 1,168.595 1,168.595 14%14% 63.97 63.97 35.87 35.87 1,342.0501,342.050 12%12% 63.89 63.89 35.51 35.51 1.304 1.304 foremanforeman 64.03 64.03 32.15 32.15 1,183.141 1,183.141 14%14% 63.99 63.99 32.17 32.17 1.353.4961.353.496 12%12% 63.79 63.79 32.10 32.10 1.302 1.302 coastguardcoastguard 64.02 64.02 29.76 29.76 1,173.391 1,173.391 14%14% 64.00 64.00 29.76 29.76 1,346.0291,346.029 12%12% 64.01 64.01 29.75 29.75 1.312 1.312 parisparis 64.34 64.34 29.05 29.05 1,184.514 1,184.514 14%14% 64.12 64.12 29.05 29.05 1,356.7021,356.702 12%12% 64.06 64.06 29.03 29.03 1.277 1.277 signirenesignirene 64.04 64.04 33.85 33.85 1,148.641 1,148.641 14%14% 63.97 63.97 33.93 33.93 1,323.4411,323.441 12%12% 64.03 64.03 33.74 33.74 1.311 1.311 tabletable 64.03 64.03 33.11 33.11 1,185.203 1,185.203 14%14% 64.02 64.02 33.16 33.16 1,357.4711,357.471 12%12% 63.94 63.94 33.33 33.33 1.314 1.314

<표 4> 128 kbps 채널전송환경에서 각 영상들의 부호화된 비트량, PSNR 및 계산량<Table 4> Coded bit rate, PSNR and amount of each video in 128 kbps channel transmission environment

Sequence
(영상)
Sequence
(video)
JM 12.1JM 12.1 참고 논문Reference paper 실시예Example
Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
Mad %Mad% Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
Mad %Mad% Bit
rate
Bit
rate
PSNRPSNR 계산량
(㎲)
Calculation
(㎲)
containercontainer 128.04 128.04 40.2440.24 1,201.869 1,201.869 14%14% 127.95 127.95 40.16 40.16 1,372.0951,372.095 13%13% 127.20 127.20 40.19 40.19 1.305 1.305 newsnews 128.09 128.09 40.15 40.15 1,193.926 1,193.926 14%14% 128.07 128.07 40.17 40.17 1,368.7431,368.743 12%12% 127.66 127.66 40.08 40.08 1.314 1.314 foremanforeman 128.01 128.01 35.75 35.75 1,225.928 1,225.928 14%14% 128.02 128.02 35.78 35.78 1,399.0741,399.074 12%12% 127.83 127.83 35.64 35.64 1.313 1.313 coastguardcoastguard 128.14 128.14 32.17 32.17 1,212.770 1,212.770 14%14% 127.96 127.96 32.21 32.21 1,387.6091,387.609 12%12% 128.06 128.06 31.97 31.97 1.314 1.314 parisparis 128.21 128.21 33.65 33.65 1,204.631 1,204.631 14%14% 128.01 128.01 33.69 33.69 1,374.8811,374.881 12%12% 128.13 128.13 34.00 34.00 1.296 1.296 signirenesignirene 128.15 128.15 37.65 37.65 1,184.677 1,184.677 14%14% 127.91 127.91 37.64 37.64 1,358.6401,358.640 12%12% 128.06 128.06 37.55 37.55 1.272 1.272 tabletable 128.00 128.00 36.56 36.56 1,215.251 1,215.251 14%14% 128.04 128.04 36.63 36.63 1,386.7271,386.727 12%12% 127.71 127.71 36.65 36.65 1.307 1.307

실험 결과표에서 알 수 있듯이 참고 논문이 JM 12.1보다는 평균적으로 0.07Kbps의 적은 비트량을 절약하고도 PSNR 측면에서는 평균적으로 0.02~0.03dB 정도 높게 나와 더 좋은 성능을 보이고 있다. 그러나 참고 논문의 방법은 PSNR 기반의 비트율을 제어하기 때문에 이에 따른 계산량 증가로 JM 12.1의 방법보다는 약 13%의 계산량이 더 필요한 것으로 나타났다. 그리고 JM 12.1과 참고 논문의 방법은 채널 전송환경에 부적합하게 평균적으로 0.1Kbps 비트량을 초과 발생하였다. As can be seen from the experimental results table, the reference paper saves 0.07Kbps less bit on average than JM 12.1, but shows better performance by 0.02 ~ 0.03dB higher on the PSNR side. However, the method of reference paper controls bit rate based on PSNR. Therefore, it is shown that about 13% more calculation amount is needed than the method of JM 12.1 due to the increase of computation. And the method of JM 12.1 and the reference paper is over 0.1Kbps bit on average, which is unsuitable for channel transmission environment.

반면, 본 발명의 실시예에 따른 방법은 PSNR 측면에서 JM 12.1보다는 평균적으로 0.02dB 정도 낮았고, 참고 논문보다는 평균적으로 0.04dB 정도 낮았지만, 채널 전송 환경에서의 발생 비트량은 JM 12.1 방법보다 0.5Kbps 정도 절약하였고, 참고 논문 방법보다는 0.12Kbps 정도 절약하였다. On the other hand, the method according to the embodiment of the present invention is about 0.02 dB lower than the JM 12.1 in terms of PSNR, and about 0.04 dB lower than the reference paper, but the amount of bits generated in the channel transmission environment is about 0.5 Kbps than the JM 12.1 method. It saved about 0.12Kbps than the reference paper method.

또한 본 발명의 실시예에 따른 방법이 전체적으로 채널 전송 환경에 적합하 게 비트량을 잘 조절하고 있음을 알 수 있다. 계산량에 있어서는 JM 12.1 방법과 참고 논문 방법 모두 복잡한 MAD 계산과 이에 따른 비트량 조절을 위한 연산량이 본 발명의 실시예에 따른 방법보다 월등히 많음을 알 수 있다. In addition, it can be seen that the method according to the embodiment of the present invention adjusts the bit amount appropriately for the overall channel transmission environment. In terms of the calculation amount, both the JM 12.1 method and the reference paper method show that the amount of calculation for complex MAD calculation and the bit amount adjustment accordingly is much higher than the method according to the embodiment of the present invention.

특히 현재 프레임에 대한 복잡도를 예측하는데 사용되는 MAD 계산량(MAD %)이 전체 비트율 제어 계산량의 평균적으로 약 12% ~ 14%정도 차지하고 있음을 실험결과 확인할 수 있었다. In particular, the experimental results show that the MAD calculation (MAD%) used to predict the complexity of the current frame occupies about 12% to 14% of the total bit rate control calculation.

실험 결과에서 알 수 있듯이 본 발명의 실시예에 따른 방법이 PSNR 측면에서 기존 JM 12.1 방법과 참고 논문 방법과는 평균적으로 거의 비슷하였지만, 계산량에서는 평균적으로 월등히 적은 0.1%만의 계산량으로도 효율적인 비트율을 제어할 수 있음을 확인하였다. As can be seen from the experimental results, the method according to the embodiment of the present invention was almost similar to the conventional JM 12.1 method and the reference paper method in terms of PSNR, but the average bit rate was controlled with a very small amount of 0.1%. It was confirmed that it can be done.

본 발명의 실시예에 따른 방법의 많은 계산량 절감은 기존 방법과는 달리 복잡한 MAD 계산과 이에 따른 계산 과정을 따르지 않고, 기존 영상들의 통계정보를 이용하고 실시간적으로 발생하는 발생 비트량을 다시 통계정보로 활용함으로써 영상의 특성에 적응적으로 비트율 제어가 이루어졌기 때문이다.In the method according to the embodiment of the present invention, a large amount of computational savings does not follow complicated MAD calculations and calculation processes, unlike conventional methods, and utilizes statistical information of existing images and regenerates the generated bit amount in real time. This is because the bit rate control is adaptively applied to the characteristics of the image by utilizing the.

도 3와 도 4는 TABLE 영상을 128Kbps 채널로 전송할 경우, 본 발명의 실시예에 따른 방법과 기존 방법들에 대하여 프레임별 부호화된 비트량과 PSNR 비교이다. JM 12.1은 기존의 JM 12.1 모델에 따른 것이고, REF 14는 상기 M. Jiang 과 N.Ling의 참고 논문에 따른 방법이고, Proposed는 본 발명의 하나의 실시예에 따른 것이다. 본 발명의 실시예에 따른 방법이 기존 방법들에 비해 좀 더 안정적으로 발생 비트량을 발생시키면서도 높은 PSNR 성능을 보여주고 있다.3 and 4 illustrate a comparison between the bit rate and PSNR coded for each frame in the method and the existing methods according to an embodiment of the present invention when a TABLE image is transmitted through a 128 Kbps channel. JM 12.1 is based on the existing JM 12.1 model, REF 14 is a method according to the reference papers of M. Jiang and N. Ling, and Proposed is according to one embodiment of the present invention. The method according to the embodiment of the present invention shows a higher PSNR performance while generating a more stable amount of generated bits than the existing methods.

도 5, 7, 8은 각각 CONTAINER, NEWS, TABLE 영상을 다양한 채널로 전송할 경우, 본 발명의 실시예에 따른 방법과 기존 방법들에 대한 PSNR 성능 비교이다. JM 12.1은 기존의 JM 12.1 모델에 따른 것이고, REF 14는 상기 M. Jiang 과 N.Ling의 참고 논문에 따른 방법이고, Proposed는 본 발명의 하나의 실시예에 따른 것이다. 대부분의 전송 채널에 있어서 기존 방법과 유사한 PSNR 성능을 보여주고 있음을 알 수 있다.5, 7, and 8 are PSNR performance comparisons between the method according to the embodiment of the present invention and the existing methods when the CONTAINER, NEWS, and TABLE images are transmitted through various channels, respectively. JM 12.1 is based on the existing JM 12.1 model, REF 14 is a method according to the reference papers of M. Jiang and N. Ling, and Proposed is according to one embodiment of the present invention. It can be seen that for most transport channels, the PSNR performance is similar to that of the conventional method.

이상에서, 본 발명은 첨부된 도면을 참조하여 바람직한 실시예들을 중심으로 설명되었다. 첨부된 도면 및 전술한 실시예들은 본 발명에 대한 당해 기술분야에서 통상의 지식을 가진 자의 이해를 돕기 위해 예시적으로 설명된 것이다. 그러므로, 본 발명의 다양한 실시예는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있고, 전술한 실시예들은 제한적인 것이 아닌 예시적인 것으로 여겨져야 한다. 따라서, 본 발명의 범위는 전술한 실시예들이 아니라 첨부된 특허청구범위에 기재된 발명에 따라 해석되어야 하며, 당해 기술분야에서 통상의 지식을 가진 자에 의한 다양한 변경, 대안, 균등물들이 전술한 발명의 범위에 포함되어 있음은 자명하다.In the above, the present invention has been described with reference to the preferred embodiments with reference to the accompanying drawings. The accompanying drawings and the foregoing embodiments are described by way of example to help those skilled in the art to understand the present invention. Therefore, various embodiments of the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention, the foregoing embodiments are to be considered as illustrative and not restrictive. Therefore, the scope of the present invention should be interpreted according to the invention described in the appended claims rather than the above-described embodiments, and various modifications, alternatives, and equivalents described by those skilled in the art are described above. It is obvious that it is included in the scope of the.

도 1는 본 발명의 하나의 실시예에 따른 비트율 제어방법의 계층적 구조를 나타내는 도면이고,1 is a diagram illustrating a hierarchical structure of a bit rate control method according to an embodiment of the present invention;

도 2은 본 발명의 하나의 모습에 있어서, 각 영상의 특성에 따른 발생 비트량이 달라지는 모습을 나타내는 그래프이고,2 is a graph illustrating a state in which the amount of generated bits varies according to characteristics of each image in one aspect of the present invention.

도 3는 Table 영상에 대한 본 발명의 하나의 실시예와 기존 방법들의 프레임별 부호화된 비트량 비교(128Kbps)를 나타내는 그래프이고,3 is a graph illustrating a comparison of encoded bit amounts (128 Kbps) per frame of one embodiment of the present invention and existing methods for a table image;

도 4는 Table 영상에 대한 본 발명의 하나의 실시예와 기존 방법들의 프레임별 PSNR 비교(128Kbps)를 나타내는 그래프이고,4 is a graph illustrating PSNR comparison (128 Kbps) per frame of one embodiment of the present invention and existing methods for a table image.

도 5은 Container 영상에 대한 본 발명의 하나의 실시예와 기존 방법들의 평균 PSNR Y(dB)(@30Hz)를 나타내는 그래프이고,5 is a graph showing an average PSNR Y (dB) (@ 30 Hz) of one embodiment of the present invention and existing methods for a container image.

도 6은 News 영상에 대한 본 발명의 하나의 실시예와 기존 방법들의 평균 PSNR Y(dB)(@30Hz)를 나타내는 그래프이고,FIG. 6 is a graph showing an average PSNR Y (dB) (@ 30 Hz) of one embodiment of the present invention and existing methods for a News image.

도 7은 Table 영상에 대한 본 발명의 하나의 실시예와 기존 방법들의 평균 PSNR Y(dB)(@30Hz)를 나타내는 그래프이다.7 is a graph showing an average PSNR Y (dB) (@ 30 Hz) of one embodiment of the present invention and a conventional method for a table image.

Claims (7)

H.264 비트율 제어방법에 있어서,In the H.264 bit rate control method, 프레임정보 및 버퍼를 초기화하고 영상의 초기 양자화 파라미터(QP) 값을 포함하는 파라미터들을 초기화하는 파라미터 초기화 단계; A parameter initialization step of initializing the frame information and the buffer and initializing parameters including an initial quantization parameter (QP) value of the image; 직전 프레임에 대한 부호화된 비트량
Figure 112009032740481-PAT00096
의 가중치 적용값과 직전 프레임의 QP값과 동일한 QP값을 갖는 직전 프레임 이전의 프레임들의 평균 비트량
Figure 112009032740481-PAT00097
의 가중치 적용값의 합과 직전 프레임의 QP값(
Figure 112009032740481-PAT00098
)을 이용하여 현재 프레임의 목표 비트량을 예측하기 위한 프레임 복잡도 가중치
Figure 112009032740481-PAT00099
를 예측 계산하는 복잡도가중치 갱신단계;
Coded Bit Amount for Previous Frame
Figure 112009032740481-PAT00096
Average bit quantity of frames before the previous frame having a weighted value of and the same QP value as the previous frame's QP value
Figure 112009032740481-PAT00097
The sum of the weighted values of and the QP value of the previous frame (
Figure 112009032740481-PAT00098
Frame complexity weights for predicting the target bit rate of the current frame using
Figure 112009032740481-PAT00099
A complexity weighted updating step of predicting and calculating the complexity;
현재 프레임의 목표 비트량을 예측하기 위한 프레임 복잡도 가중치
Figure 112009032740481-PAT00100
를 이용한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00101
과 가상버퍼 점유량
Figure 112009032740481-PAT00102
과 목표 버퍼레벨
Figure 112009032740481-PAT00103
을 고려한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00104
을 이용하여 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00105
을 계산하는 목표비트량 산출단계; 및
Frame Complexity Weights for Predicting Target Bitrate of Current Frame
Figure 112009032740481-PAT00100
The amount of bits that can be encoded per frame using
Figure 112009032740481-PAT00101
And virtual buffer occupancy
Figure 112009032740481-PAT00102
And target buffer levels
Figure 112009032740481-PAT00103
Bit rate that can be encoded per frame
Figure 112009032740481-PAT00104
Target bit rate for the current frame
Figure 112009032740481-PAT00105
Calculating a target bit amount; And
QP값 인덱스에 대한 예측된 발생 비트량
Figure 112009032740481-PAT00106
구간에서 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00107
을 반복 루프를 통하여 찾아 현재 프레임에 대한 QP값(
Figure 112009032740481-PAT00108
)을 결정하는 프레임 QP값 결정단계; 를 포함하여 이루어지고,
Estimated amount of generated bits for the QP value index
Figure 112009032740481-PAT00106
Target bit rate for the current frame in the interval
Figure 112009032740481-PAT00107
Through the loop to find the QP value for the current frame (
Figure 112009032740481-PAT00108
Determining a frame QP value; , &Lt; / RTI &gt;
여기에서 상기 복잡도가중치 갱신단계, 목표 비트량 산출단계 및 프레임 QP값 결정단계를 수행하여 결정되는 현재 부호화하고자하는 프레임의 QP값을 가지고 부호화되는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.Here, the method for controlling the frame rate of a frame for H.264 characterized in that the encoding is performed with the QP value of the frame to be currently encoded determined by performing the complexity weighting step, the target bit amount calculation step, and the frame QP value determination step. .
청구항 1에 있어서, 상기 복잡도 가중치 갱신단계에서,The method of claim 1, wherein in the complexity weighting step, 상기 프레임 복잡도 가중치
Figure 112009032740481-PAT00109
는 다음의 식에 따라 결정되는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.
The frame complexity weight
Figure 112009032740481-PAT00109
The frame rate control method for H.264 characterized in that determined by the following equation.
Figure 112009032740481-PAT00110
Figure 112009032740481-PAT00110
여기에서, λ는 목표비트량과 실제 발생된 비트량과의 오차를 줄이기 위한 가중치 값임.Here, λ is a weight value for reducing the error between the target bit amount and the actually generated bit amount.
청구항 1에 있어서, 상기 목표비트량 산출단계에서,The method according to claim 1, wherein in the target bit amount calculation step, 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00111
은 다음의 식에 따라 결정되며,
Target bit rate for current frame
Figure 112009032740481-PAT00111
Is determined by the equation
Figure 112009032740481-PAT00112
Figure 112009032740481-PAT00112
여기에서, β는 가상버퍼 점유량
Figure 112009032740481-PAT00113
과 목표 버퍼레벨
Figure 112009032740481-PAT00114
에 대한 의존도를 나타내는 가중치 값이고,
Β is the virtual buffer occupancy
Figure 112009032740481-PAT00113
And target buffer levels
Figure 112009032740481-PAT00114
Is a weight value that indicates the dependence on
프레임 복잡도 가중치
Figure 112009032740481-PAT00115
를 이용한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00116
및 가상버퍼 점유량
Figure 112009032740481-PAT00117
과 목표 버퍼레벨
Figure 112009032740481-PAT00118
을 고려한 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00119
는 다음의 식에 따라 결정되는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.
Frame complexity weights
Figure 112009032740481-PAT00115
The amount of bits that can be encoded per frame using
Figure 112009032740481-PAT00116
And virtual buffer occupancy
Figure 112009032740481-PAT00117
And target buffer levels
Figure 112009032740481-PAT00118
Bit rate that can be encoded per frame
Figure 112009032740481-PAT00119
The frame rate control method for H.264 characterized in that determined by the following equation.
Figure 112009032740481-PAT00120
Figure 112009032740481-PAT00120
Figure 112009032740481-PAT00121
Figure 112009032740481-PAT00121
여기에서, R은 현재 남아 있는 비트량이고, Np는 하나의 영상그룹(GOP) 내에 있는 P 프레임의 개수이고, u는 채널 대역폭으로 압축된 영상 시퀀스를 일정하게 전송하는 비트율이고, Fr은 초당 부호화된 프레임 율이고,
Figure 112009032740481-PAT00122
는 가중치 상수임.
Where R is the amount of bits currently remaining, N p is the number of P frames in one picture group (GOP), u is the bit rate for constantly transmitting the video sequence compressed at the channel bandwidth, and F r is The frame rate encoded per second,
Figure 112009032740481-PAT00122
Is a weight constant.
청구항 1에 있어서, 상기 목표비트량 산출단계는:The method according to claim 1, wherein the target bit amount calculating step: 가상버퍼 점유량
Figure 112009032740481-PAT00123
과 목표 버퍼레벨
Figure 112009032740481-PAT00124
을 산출하는 단계;
Virtual buffer occupancy
Figure 112009032740481-PAT00123
And target buffer levels
Figure 112009032740481-PAT00124
Calculating;
산출된 가상버퍼 점유량
Figure 112009032740481-PAT00125
과 목표 버퍼레벨
Figure 112009032740481-PAT00126
을 이용하여 예측 버퍼량을 결정하는 단계; 및
Calculated Virtual Buffer Occupancy
Figure 112009032740481-PAT00125
And target buffer levels
Figure 112009032740481-PAT00126
Determining a predicted buffer amount using; And
예측 버퍼량과 프레임당 부호화할 수 있는 비트량
Figure 112009032740481-PAT00127
Figure 112009032740481-PAT00128
를 고려하여 현재 프레임에 대한 목표 비트량
Figure 112009032740481-PAT00129
을 결정하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.
The amount of prediction buffer and the amount of bits that can be encoded per frame
Figure 112009032740481-PAT00127
And
Figure 112009032740481-PAT00128
Target bit rate for the current frame
Figure 112009032740481-PAT00129
Determining the; frame-rate bit rate control method for H.264 characterized in that it comprises a.
청구항 4에 있어서, The method according to claim 4, 가상버퍼 점유량
Figure 112009032740481-PAT00130
Figure 112009032740481-PAT00131
로부터 산출되며. 여기에서 A(n-1)는 (n-1)번째 프레임에 대한 부호화된 비트량이고,
Virtual buffer occupancy
Figure 112009032740481-PAT00130
silver
Figure 112009032740481-PAT00131
Is calculated from. Where A (n-1) is the coded bit amount for the (n-1) th frame,
목표 버퍼레벨
Figure 112009032740481-PAT00132
Target buffer level
Figure 112009032740481-PAT00132
silver
Figure 112009032740481-PAT00133
로부터 산출되며, 여기에서 codedPframe 은 영상그룹(GOP) 구간에서의 부호화된 P 프레임 개수이고, Np 는 하나의 GOP 내에 있는 P 프레임의 개수이고,
Figure 112009032740481-PAT00133
Where codedPframe is the number of encoded P frames in a GOP section, N p is the number of P frames in one GOP,
상기 예측 버퍼량을 결정하는 단계는:The determining of the prediction buffer amount may include:
Figure 112009032740481-PAT00134
으로부터 프레임 당 예측 버퍼량
Figure 112009032740481-PAT00135
을 산출하고,
Figure 112009032740481-PAT00134
Amount of prediction buffer per frame from
Figure 112009032740481-PAT00135
Yields,
프레임 당 버퍼량이 예측되면, If the amount of buffer per frame is estimated,
Figure 112009032740481-PAT00136
로부터 버퍼의 상한(U(n))과 하한(L(n)) 범위까지 고려하여 최종 예측 버퍼량(
Figure 112009032740481-PAT00137
) 값을 결정하는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.
Figure 112009032740481-PAT00136
From the upper bound U (n) and the lower bound L (n) of the buffer to
Figure 112009032740481-PAT00137
The frame rate control method for H.264 characterized in that it determines the value.
청구항 1에 있어서, 상기 프레임 QP값 결정단계에서,The method according to claim 1, wherein in the frame QP value determination step, 상기 현재 프레임에 대한
Figure 112009032740481-PAT00138
가 결정될 때 프레임들간의 화질 열화를 줄이기 위하여 다음의 식에 따라 현재 프레임의 최종
Figure 112009032740481-PAT00139
가 결정되는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.
For the current frame
Figure 112009032740481-PAT00138
To reduce image quality deterioration between frames when is determined, the final frame of the current frame is
Figure 112009032740481-PAT00139
The frame rate control method for H.264, characterized in that is determined.
Figure 112009032740481-PAT00140
Figure 112009032740481-PAT00140
여기에서
Figure 112009032740481-PAT00141
는 프레임간의 QP값을 제한하는 값임.
From here
Figure 112009032740481-PAT00141
Is a value that limits the QP value between frames.
청구항 6에 있어서,The method according to claim 6, 상기 현재 프레임에 대한
Figure 112009032740481-PAT00142
결정은 다음의 식에 따라 이루어지는 것을 특징으로 하는 H.264를 위한 프레임단위 비트율 제어방법.
For the current frame
Figure 112009032740481-PAT00142
The frame rate control method for frame rate for H.264 characterized in that the determination is made according to the following equation.
Figure 112009032740481-PAT00143
Figure 112009032740481-PAT00143
여기에서
Figure 112009032740481-PAT00144
는 QP 인덱스에 의한 예측 비트량
Figure 112009032740481-PAT00145
구간에서 해당 목표 비트량 T 를 찾는 함수로써, 반복 루프를 통하여 구해짐.
From here
Figure 112009032740481-PAT00144
Is the predicted bit amount by the QP index
Figure 112009032740481-PAT00145
This function finds the corresponding target bit quantity T in the interval, and is obtained through an iterative loop.
KR1020090047858A 2009-05-29 2009-05-29 Method of Rate Control in Frame-level for H.264/AVC KR101069254B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090047858A KR101069254B1 (en) 2009-05-29 2009-05-29 Method of Rate Control in Frame-level for H.264/AVC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090047858A KR101069254B1 (en) 2009-05-29 2009-05-29 Method of Rate Control in Frame-level for H.264/AVC

Publications (2)

Publication Number Publication Date
KR20100129091A true KR20100129091A (en) 2010-12-08
KR101069254B1 KR101069254B1 (en) 2011-10-04

Family

ID=43505873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090047858A KR101069254B1 (en) 2009-05-29 2009-05-29 Method of Rate Control in Frame-level for H.264/AVC

Country Status (1)

Country Link
KR (1) KR101069254B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004088A (en) * 2020-08-06 2020-11-27 杭州当虹科技股份有限公司 CU (computer Unit) level QP (quantization parameter) allocation algorithm suitable for AVS2 encoder
CN113973205A (en) * 2021-10-21 2022-01-25 重庆邮电大学 Code rate control bit distribution method based on video content characteristics and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100797396B1 (en) 2005-12-08 2008-01-28 한국전자통신연구원 Method and device for controlling transcoding bit-rate using complexity of macroblock

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004088A (en) * 2020-08-06 2020-11-27 杭州当虹科技股份有限公司 CU (computer Unit) level QP (quantization parameter) allocation algorithm suitable for AVS2 encoder
CN112004088B (en) * 2020-08-06 2024-04-16 杭州当虹科技股份有限公司 CU-level QP allocation algorithm suitable for AVS2 encoder
CN113973205A (en) * 2021-10-21 2022-01-25 重庆邮电大学 Code rate control bit distribution method based on video content characteristics and storage medium

Also Published As

Publication number Publication date
KR101069254B1 (en) 2011-10-04

Similar Documents

Publication Publication Date Title
US5969764A (en) Adaptive video coding method
US9071840B2 (en) Encoder with adaptive rate control for H.264
JP4390112B2 (en) Method and apparatus for controlling rate of video sequence and video encoding apparatus
US8009730B2 (en) Method for controlling the encoder output bit rate in a block-based video encoder and corresponding video encoder apparatus
KR20040011100A (en) Advanced method for rate control and apparatus thereof
KR100790149B1 (en) Rate control of scene-changed video encoder
WO2000018137A1 (en) Frame-level rate control for video compression
EP1350394A2 (en) Method of performing video encoding rate control using bit budget
Sun et al. A robust and adaptive rate control algorithm for object-based video coding
CN100574442C (en) Bit rate control method based on image histogram
CN105187832B (en) Based on 2.5G wireless network mobile video bit rate control methods
KR100708182B1 (en) Rate control apparatus and method in video encoder
KR101069254B1 (en) Method of Rate Control in Frame-level for H.264/AVC
KR100800838B1 (en) Rate control of video encoder
JPH09294267A (en) Image compression coder
Yu et al. An improved rate control algorithm for H. 264
KR100950275B1 (en) System and Methods for rate control based model parameter, Storage medium storing the same
KR100963322B1 (en) Method of Adaptive Rate Control in Frame-layer for Real-time H.264/AVC
KR101168007B1 (en) A Method for Adaptive Rate Control in Unit-level for Real-time H.264/AVC
KR100961742B1 (en) The macroblock-layer rate control method in h.264/avc
KR101197094B1 (en) Method and apparatus for controlling bitrate based on statistical model for h.264/avc
Pai et al. MPEG-4 constant-quality constant-bit-rate control algorithms
CA2105209A1 (en) Bit rate control for hybrid dpcm/dct video codec
KR20010104058A (en) Adaptive quantizer according to DCT mode in MPEG2 encoder
KR100949755B1 (en) A method and an apparatus for controlling the rate of a video sequence, a video encoding device

Legal Events

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

Payment date: 20140709

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150609

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee