KR101282193B1 - 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법 - Google Patents

칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법 Download PDF

Info

Publication number
KR101282193B1
KR101282193B1 KR1020090108260A KR20090108260A KR101282193B1 KR 101282193 B1 KR101282193 B1 KR 101282193B1 KR 1020090108260 A KR1020090108260 A KR 1020090108260A KR 20090108260 A KR20090108260 A KR 20090108260A KR 101282193 B1 KR101282193 B1 KR 101282193B1
Authority
KR
South Korea
Prior art keywords
amount
bit
block
bit amount
bit rate
Prior art date
Application number
KR1020090108260A
Other languages
English (en)
Other versions
KR20110051607A (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 KR1020090108260A priority Critical patent/KR101282193B1/ko
Priority to US12/787,063 priority patent/US8451891B2/en
Publication of KR20110051607A publication Critical patent/KR20110051607A/ko
Application granted granted Critical
Publication of KR101282193B1 publication Critical patent/KR101282193B1/ko

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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

동영상 인코더(encoder)에서 블록별 비트율을 제어하는 방법에 있어서, (a) 블록에 대한 평균 비트량을 추정하는 단계와, (b) 목표 비트량과 상기 추정된 평균 비트량의 차이에 기초한 목적함수가 최소화되도록 양자화 계수의 변화량을 결정하는 단계를 포함하는 비트율 제어 방법을 제공한다. 이 방법에 의하면, 동영상 인코더에서 블록에 대한 평균 비트량을 추정하여 최적 제어 조건을 만족하도록 블록에 대한 양자화 계수를 제어함으로써 비트율 제어를 위한 연산량을 감소시키고 소정의 압축률을 얻으면서 높은 화질을 얻을 수 있는 효과가 있다.
비트율 제어, 양자화 계수, 칼만 필터, FIR 필터

Description

칼만 필터와 FIR 필터를 사용한 동영상 인코더에서의 비트율 제어 방법 {Method for Rate Control of Video Encoder using Kalman Filter and FIR Filter}
본 발명은 동영상 인코더(encoder)에서의 비트율 제어 방법에 관한 것으로, 더욱 상세하게는 동영상 인코더에서 블록에 대하여 발생하는 평균 비트량을 추정하여 블록에 대한 양자화 계수(Quantization Parameter, QP)를 결정함으로써 동영상에 대한 비트율을 제어하는 기술에 관한 것이다.
최근 디지털 영상 기술은 디지털 시네마, 고화질 텔레비전, 주문형 동영상(VOD) 수신기, MPEG(Moving Picture Experts Group) 영상을 지원하는 퍼스널 컴퓨터, 게임기, 지상파 디지털 방송 수신기, 디지털 위성 방송 수신기 및 케이블 텔레비전(CATV) 등에서 사용되는 디지털 영상 데이터가 영상 자체의 특성 및 아날로그 신호를 디지털화하는 과정에서 크게 데이터가 늘어나는 점으로 인하여 동영상을 효율적으로 압축하는 방향으로 발전하고 있다. 특히, 동영상 데이터를 압축하여 인코딩함으로써 동영상을 전송하는 데에 필요한 전체 데이터의 양을 감소시켜 전송률을 향상시키는 동영상 압축 표준, 예컨대 MPEG-4 Part 10 AVC/H.264를 포함한 다수의 표준들은 연속적인 프레임 사이의 상관 관계를 이용하여 시간적인 중복 성(temporal redundancy)을 줄이는 방법을 이용하며, 일반적으로 움직임 추정(Motion Estimation) 및 움직임 보상(Motion Compensation) 기술을 사용하여 동영상을 압축시켜 인코딩한다. 즉, MPEG-4 Part 10 AVC/H.264를 포함한 다수의 동영상 압축 표준들은 현재의 영상을 소정의 크기를 가진 블록으로 분할하고 이전 영상의 탐색 영역 내에서 현재 영상의 블록과 가장 잘 정합되는 블록을 찾고 두 부분의 차이 성분인 움직임 벡터를 인코딩하여 처리하는 방식을 채택하고 있는데, 예컨대 MPEG-4 Part 10 AVC/H.264에 부합하는 동영상 인코더는 매크로블록(Macroblock) 단위로 연산을 수행하는 블록 단위의 동영상 압축 방식을 사용한다.
한편, 하나의 프레임 내의 움직임 정도, 영상이 표현하는 물체의 세밀함이나 복잡도의 정도, 예측이 용이한지 여부에 따라 블록 별로 예측 영상과 원 영상과의 차이인 레지듀(residue) 데이터의 양이 달라지고, 이 레지듀 데이터를 인코딩하기 위하여 필요한 비트량도 달라진다. 예컨대 동영상 인코더는 움직임이 많거나 복잡도가 높은 입력 영상에 대해서는 많은 비트를 생성하고 움직임이나 세밀함의 정도가 낮으면 적은 비트를 생성한다. 이와 같이 각 블록 별로 생성되는 비트량을 프레임에 따라 변화시키기 위하여 동영상 인코더에서는 비트율 제어(rate control)를 수행한다. 이러한 비트율 제어는 주어진 목표 비트량에 대하여 각각의 프레임 별, 블록 별로 비트를 적절히 할당하여 최적의 비트율 왜곡(Rate-Distortion, RD) 성능을 얻기 위한 것이다. 이와 같은 비트율 제어는 레지듀 데이터에 대하여 이산 여현 변환(Discrete Cosine Transform, DCT)과 같은 변환을 수행한 후에 얻는 변환 계수를 양자화할 때 스케일링하는 값을 변화시킴으로써 비트율을 조절하는 방식으로 수 행될 수 있다. 여기서 스케일링하는 값을 양자화 계수라고 하며, 레지듀가 커서 많은 비트가 필요한 블록에 대해서는 양자화 계수를 작게 하여 많은 데이터가 인코딩될 수 있도록 하고, 레지듀가 작아서 적은 비트로도 충분한 블록에 대해서는 양자화 계수를 크게 하는 방식으로 적절히 비트를 할당한다.
여기서, MPEG-4 Part 10 AVC/H.264과 같은 표준의 경우에는 동영상 인코딩에서 효율적으로 압축을 하면서 높은 화질을 얻기 위하여 모두 8가지의 서로 다른 블록화 모드를 가지고 각각의 모드 중에서 RDO(Rate Distortion Optimization)에 기반한 목적함수가 최소 값을 가지는 모드를 선택하도록 구성되어 있다. 그러나 8가지의 서로 다른 블록화 모드 중에서 최적의 모드를 결정하기 위하여 각 모드에 대하여 인코딩에 필요한 각종 연산이 독립적으로 수행되는 점 및 화질 개선과 비트량 감소를 적절히 조화시켜 최적의 결과를 얻기 위하여 블록 단위로 비트율을 제어하는 경우 새로 결정되는 양자화 계수에 따라 최적의 블록화 모드를 다시 결정하여야 한다는 점으로 인하여 계산량이 매우 증가하게 된다. 따라서, 실시간으로 동영상 인코딩(encoding)을 수행하고자 하는 경우, 비트율 제어를 위하여 이산 여현 변환(Discrete Cosine Transform, DCT)과 같은 변환(transform)이나 양자화(quantization) 과정 등의 각종 인코딩 연산을 거친다면 연산량이 급격히 증가하게 되는바, 이에 따른 연산 시간을 감소시켜 고속의 동영상 인코더를 구현하면서 화질 저하를 방지하기 위해서는 효율적으로 블록 단위의 비트율을 제어할 필요가 있다.
본 발명은 상기와 같은 문제점을 인식한 것으로서, 동영상 인코더에서 블록에 대한 평균 비트량을 추정하여 최적 제어 조건을 만족하도록 블록에 대한 양자화 계수를 제어함으로써 비트율 제어를 위한 연산량을 감소시켜 효율적으로 블록별 비트율을 제어하는 방법 및 장치를 제공하는 데에 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 동영상 인코더(encoder)에서 블록별 비트율을 제어하는 방법에 있어서, (a) 블록에 대한 평균 비트량을 추정하는 단계와, (b) 목표 비트량과 상기 추정된 평균 비트량의 차이에 기초한 목적함수가 최소화되도록 양자화 계수의 변화량을 결정하는 단계를 포함하는 비트율 제어 방법을 제공한다.
또한, 상기 (b) 단계에서 상기 변화량은 상기 목적함수 및 상기 평균 비트량을 제어하는 제어 입력으로부터 정의되는 해밀토니안(Hamiltonian)을 사용하여 산출한 최적 제어 조건을 만족하도록 결정하는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (b) 단계에서 상기 최적 제어 조건은 상기 목표 비트량과 상기 추정된 평균 비트량의 차이에 의존하는 것을 특징으로 하는 비트율 제어 방법을 제 공한다.
또한, 상기 (b) 단계에서 상기 변화량은 상기 추정된 평균 비트량에서 상기 목표 비트량을 뺀 차이값이 상한보다 큰 경우에는 양수인 제1 상수로 결정되고, 상기 차이값이 하한보다 작은 경우에는 음수인 제2 상수로 결정되며, 상기 차이값이 상기 상한 이하이고 상기 하한 이상인 경우에는 0으로 결정되는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 평균 비트량은 장기 예측에 의하여 추정하는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 장기 예측은 칼만 필터를 사용하여 수행하는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (b) 단계에서 상기 변화량은 상기 추정된 평균 비트량에서 상기 목표 비트량을 뺀 차이값이 상한보다 큰 경우에는 양수인 제3 상수로 결정되고, 상기 차이값이 하한보다 작은 경우에는 음수인 제4 상수로 결정되며, 상기 차이값이 상기 상한 이하이고 상기 하한 이상인 경우에는 0으로 결정되는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 평균 비트량은 단기 예측에 의하여 추정하는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 단기 예측은 FIR 필터를 사용하여 수행하는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (b) 단계에서 상기 변화량은 상기 추정된 평균 비트량에서 상기 목표 비트량을 뺀 차이값이 상한보다 큰 경우에는 양수인 제5 상수로 결정되고, 상기 차이값이 하한보다 작은 경우에는 음수인 제6 상수로 결정되며, 상기 차이값이 상기 상한 이하이고 상기 하한 이상인 경우에는 0으로 결정되는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계는 장기 예측에 의하여 상기 평균 비트량을 추정한 값인 장기 평균 비트량을 획득하는 단계와, 단기 예측에 의하여 상기 평균 비트량을 추정한 값인 단기 평균 비트량을 획득하는 단계를 포함하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 장기 예측은 칼만 필터를 사용하여 수행하고, 상기 단기 예측은 FIR 필터를 사용하여 수행하는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 칼만 필터는
Figure 112009069072928-pat00001
으로 주어지되,
Figure 112009069072928-pat00002
는 t번째 블록에 대하여 장기 예측에 의하여 추정한 평균 비트량,
Figure 112009069072928-pat00003
는 t번째 블록에 대하여 측정한 발생 비트량인 비트율 제어 방법을 제공한다.
또한, 상기 (a) 단계에서 상기 FIR 필터는
Figure 112009069072928-pat00004
으로 주어지되,
Figure 112009069072928-pat00005
는 t번째 블록에 대하여 단기 예측에 의하여 추정한 평균 비트량,
Figure 112009069072928-pat00006
는 t번째 블록에 대하여 측정한 발생 비트량,
Figure 112009069072928-pat00007
는 FIR 필터의 탭수인 비트율 제어 방법을 제공한다.
또한, 상기 (b) 단계에서 상기 변화량은 상기 목표 비트량과 상기 장기 평균 비트량의 차이값에 따라 결정되는 제1 변화량과 상기 목표 비트량과 상기 단기 평균 비트량의 차이값에 따라 결정되는 제2 변화량에 기초하여 결정되는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 변화량은 상기 장기 평균 비트량과 상기 단기 평균 비트량의 선형 결합에 관한 비선형 함수로부터 결정되는 것을 특징으로 하는 비트율 제어 방법을 제공한다.
또한, 상기 변화량은
Figure 112009069072928-pat00008
로부터 결정되되,
Figure 112009069072928-pat00009
는 t번째 블록에 대한 양자화 계수 변화량이고,
Figure 112009069072928-pat00010
는 비례상수이며,
Figure 112009069072928-pat00011
는 t번째 블록에 대하여 장기 예측에 의하여 추정한 평균 비트량이고,
Figure 112009069072928-pat00012
는 t번째 블록에 대하여 단기 예측에 의하여 추정한 평균 비트량이며,
Figure 112009069072928-pat00013
Figure 112009069072928-pat00014
에 의하여 결정되고,
Figure 112009069072928-pat00015
Figure 112009069072928-pat00016
Figure 112009069072928-pat00017
의 상한을
Figure 112009069072928-pat00018
라 하고
Figure 112009069072928-pat00019
의 하한을
Figure 112009069072928-pat00020
이라고 할 때
Figure 112009069072928-pat00021
,
Figure 112009069072928-pat00022
에 의하여 결정되는 비트율 제어 방법을 제공한다.
상기와 같은 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 동영상 인코더에서 블록별 비트율을 제어하는 장치에 있어서, 블록에 대한 발생 비트량을 측정하는 발생 비트량 획득부와, 장기 예측에 의하여 상기 블록에 대한 평균 비트량을 추정한 값인 장기 평균 비트량을 획득하는 장기 평균 비트량 추정부와, 단기 예측에 의하여 상기 블록에 대한 평균 비트량을 추정한 값인 단기 평균 비트량을 획득하는 단기 평균 비트량 추정부와, 목표 비트량과 상기 장기 평균 비트량의 차이값에 따라 제1 변화량을 결정하고 상기 목표 비트량과 상기 단기 평균 비트량의 차이값에 따라 제2 변화량을 결정한 후, 상기 제1 변화량 및 상기 제2 변화량에 기초하여 양자화 계수의 변화량인 제3 변화량을 결정하는 양자화 계수 변화량 계산부와, 상기 제3 변화량에 의하여 상기 양자화 계수를 갱신하는 양자화 계수 조절부를 포함하는 비트율 제어 장치를 제공한다.
또한, 상기 장기 평균 비트량 추정부는 칼만 필터에 의하여 상기 장기 평균 비트량을 획득하고, 상기 단기 평균 비트량 추정부는 FIR 필터에 의하여 상기 단기 평균 비트량을 획득하는 것을 특징으로 하는 비트율 제어 장치를 제공한다.
본 발명의 또 다른 실시예들에 따른 구체적인 사항들은 이하의 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따르면, 동영상 인코더에서 블록에 대한 평균 비트량을 추정하여 최적 제어 조건을 만족하도록 블록에 대한 양자화 계수를 제어함으로써 비트율 제어를 위한 연산량을 감소시키고 소정의 압축률을 얻으면서 높은 화질을 얻을 수 있는 효과가 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 실시예들은 단지 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하에서, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 비트율 제어를 수행하는 동영상 인코더의 예시적인 구조를 나타내는 도면이다.
도 1을 참조하면, 동영상 인코더(100)는 감산기(105), 변환부(110), 양자화부(115), 엔트로피코딩부(120), 역양자화부(125), 역변환부(130), 가산기(135), 움직임추정부(140), 움직임보상부(145), 인트라예측부(150), 모드제어부(155), 디블로킹필터(160) 및 비트율제어부(170)을 포함하여 구성된다. 이와 같은 동영상 인코 더(100)는 예컨대 MPEG-4 Part 10 AVC/H.264와 같은 동영상 압축 표준에 부합되도록 구성될 수 있다.
감산기(105)는 입력되는 원 영상에서 인트라 예측 또는 움직임 보상이 이루어진 영상을 뺀 레지듀 데이터를 변환부(110)로 출력한다. 모드제어부(155)의 출력 단자는 인트라 타입의 영상인지 인터 타입의 영상인지에 따라 인트라예측부(150)에 의하여 인트라 예측이 이루어진 영상 단자로 스위칭되거나 움직임보상부(145)에 의하여 움직임 보상이 이루어진 영상 단자로 스위칭된다.
변환부(110)는 감산기(105)로부터 입력되는 레지듀 데이터에 대하여 블록 단위로 변환을 수행한다. 여기서, 변환부(110)가 수행하는 변환은 예컨대 이산 여현 변환 내지 MPEG-4 Part 10 AVC/H.264가 기본적으로 채택하고 있는 정수 변환일 수 있다.
양자화부(115)는 변환부(110)가 수행하는 변환에 의하여 얻는 변환 계수를 양자화하는데, 여기서 양자화 스텝의 크기는 양자화 계수에 의하여 결정된다. 양자화부(115)가 양자화한 변환 계수를 엔트로피코딩부(120)로 출력하기에 앞서 소정의 스캔 방식에 따라 직렬화된다.
엔트로피코딩부(120)는 양자화부(115)에 의하여 양자화된 변환 계수에 대하여 엔트로피 코딩(entropy coding)을 수행한다. 여기서, 엔트로피 코딩은 양자화된 변환 계수 중 빈번히 나오는 값은 적은 수의 비트로 표시하고 드물게 나오는 값은 많은 수의 비트로 표시하여 전체적으로 비트 수를 감소시키는 가변 길이 코딩(Variable Length Coding, VLC)의 형태일 수도 있고, 조건부 확률에 기반을 둔 방식인 산술 코딩(arithmetic coding)의 형태일 수도 있다. 예를 들어, 엔트로피코딩부(120)는 MPEG-4 Part 10 AVC/H.264가 채택하고 있는 CAVLC(Context Adaptive Variable Length Coding) 또는 CABAC(Context Adaptive Binary Arithmetic Coding)을 이용하여 엔트로피 코딩을 수행할 수 있다.
한편, 역양자화부(125)는 양자화부(115)에서 양자화된 변환 계수를 역양자화한 후에 역변환(Inverse Transform)부(130)로 출력한다.
역변환부(130)는 역양자화된 변환 계수를 역변환하여 가산기(135)로 출력한다.
가산기(135)는 역변환된 데이터에 모드제어부(155)의 스위칭에 따라 인트라예측부(150)에 의하여 인트라 예측이 이루어진 값을 더하거나 움직임보상부(145)에 의하여 움직임 보상이 이루어진 값을 더하여 복원한 영상을 디블로킹필터(160)로 출력한다.
움직임추정부(140)는 원 영상과 참조 영상을 이용하여 움직임 벡터를 추정한 후 움직임보상부(145)로 출력한다.
움직인보상부(145)는 움직임추정부(140)가 추정한 움직임 벡터에 따라 참조 영상을 이용하여 움직임 보상을 수행한다.
인트라예측부(150)는 인접한 블록들의 상관 관계로부터 인트라 프레임 내에서 공간 중복성을 줄이는 과정인 인트라 예측을 수행한다.
디블로킹필터(160)는 동영상 인코더(100)가 블록 단위로 연산을 수행함에 따라 화질의 열화를 가져오는 현상인 블로킹 아티팩트(blocking artifact)를 해결하 기 위하여 내장된 루프 필터(loop filter)로서, 가산기(135)로부터 입력되는 영상에 대하여 필터링을 수행한다.
비트율제어부(170)는 전체적인 비트율과 화질에 영향을 끼치는 양자화 계수를 조정하여 비트율을 제어하는바, 동영상 인코더(100)의 최종 출력으로부터 블록 별로 발생한 비트량을 측정하고 발생 비트량이 목적 비트량에 근접하도록 양자화 계수를 조정한다. 비트율제어부(170)에 의하여 조절되는 양자화 계수에 따라 양자화부(115)가 변환 계수에 대한 양자화를 수행하게 된다. 여기서, 비트율제어부(170)는 본 발명의 실시예에 따라 비트율을 제어하는 과정을 수행할 수 있는바, 이하에서 구체적으로 설명한다.
먼저, 본 발명의 실시예에 따르면, 동영상 인코더에서 비트율을 제어하기 위한 블록간 비트율 발생 모델은 하나의 프레임(frame)에 할당된 비트량에 대하여 각 블록에 발생 비트량이 동일하게 배분되나 블록마다 영상의 복잡도에 따라 실제 측정되는 비트량이 발생된다고 가정한다. 예컨대, 하나의 프레임에 총
Figure 112009069072928-pat00023
개의 블록이 있는 경우 각 블록의 비트량은 평균적으로
Figure 112009069072928-pat00024
가 발생되는데, 만일 영상의 복잡도가 높아진다면 실제로 측정되는 발생 비트량은 더욱 많아지게 된다. 여기서, t번째 블록에서 평균적으로 발생하는 비트량을
Figure 112009069072928-pat00025
, t번째 블록에서 영상의 복잡도에 의하여 교란된 발생 비트량을
Figure 112009069072928-pat00026
, 영상의 복잡도에 따라 나타나는 교란항을
Figure 112009069072928-pat00027
라고 할 때, 전술한 블록간 비트율 발생 모델은 다음의 수학식과 같이 나타낼 수 있다.
Figure 112009069072928-pat00028
위 수학식 1에서
Figure 112009069072928-pat00029
는 독립적이며 이상적인 분포(Independent and Identical Distribution, IID)를 가진 백색 잡음으로서 평균이 0이며 분산이 1이라고 가정한다. 이 때, 영상의 복잡도가 증가함에 따라 증가하는 비트량을 a라고 하면,
Figure 112009069072928-pat00030
는 다음의 수학식과 같이 표현할 수 있다.
Figure 112009069072928-pat00031
이와 같은 경우, 각 블록에 대한 평균 비트량
Figure 112009069072928-pat00032
를 예측하면서 동시에 증가한 비트량 a를 제거하도록 제어 입력을 인입하는 방식으로 비트율을 제어할 수 있다.
따라서, 본 발명의 실시예에 따르면, 블록당 평균 비트량을 산정하여 목적 비트량으로 설정하고, 각 블록당 실제 발생하는 비트량을 측정한 값으로부터 블록에 대한 평균 비트량을 추정한 후, 목적 비트량과 추정된 평균 비트량의 차이에 기초한 목적함수가 최소화되도록 비트율을 제어한다. 특히, 본 발명의 실시예에 따르면, 각 블록당 평균 비트량에 대한 제어 입력을 위하여 양자화 계수의 변화량을 사용하여양자화 계수를 조절함으로써, 목적 비트량과 추정된 평균 비트량의 차이에 기초한 목적함수가 최소화되도록 비트율을 제어한다.
본 발명의 실시예에 따르면, 각 블록에 대한 평균 비트량은 장기 예측에 의 하여 추정할 수도 있고 단기 예측에 의하여 추정할 수도 있다. 우선, 본 발명의 실시예에 따르면, t번째 블록까지의 모든 블록에 대하여 발생된 비트량의 평균 값을 추정하는 장기 예측의 경우에는 위 수학식 1에서 독립적이고 이상적인 분포(IID)를 갖는 백색 잡음이 존재하므로, 최적의 추정을 위하여
Figure 112009069072928-pat00033
Figure 112009069072928-pat00034
의 공분산을 최소화하는 최소 공분산 추정기(minimum variance estimator)를 사용한다. 여기서,
Figure 112009069072928-pat00035
Figure 112009069072928-pat00036
Figure 112009069072928-pat00037
은 (t-1)번째 블록까지에 대하여 실제 측정된 발생 비트량 모두를 의미한다. 한편,
Figure 112009069072928-pat00038
Figure 112009069072928-pat00039
의 공분산은 다음의 수학식으로 기재할 수 있다.
Figure 112009069072928-pat00040
위와 같은 경우, 본 발명의 실시예에 따르면, 최소 공분산 추정기는 다음의 수학식과 같이 표현할 수 있다.
Figure 112009069072928-pat00041
이 때, 위 수학식 3에서 나타난 공분산에 대하여 위 수학식 4으로부터 다음의 수학식과 같은 관계를 얻을 수 있다. 여기서,
Figure 112009069072928-pat00042
는 적응 계수를 의미한다.
Figure 112009069072928-pat00043
따라서, 위 수학식 4로 주어진 최소 공분산 추정기는 위 수학식 5에 나타난 공분산을
Figure 112009069072928-pat00044
에 대하여 미분한 값이 0이 되는 조건을 만족하여야 하는바, 다음의 수학식으로부터 위 조건을 만족하는 적응 계수
Figure 112009069072928-pat00045
를 구할 수 있다.
Figure 112009069072928-pat00046
이 때, 위 수학식 6에서 구한 적응계수
Figure 112009069072928-pat00047
를 위 수학식 5에 대입함으로써 다음의 수학식과 같은 형태의 리카티 방정식(Riccati Equation)을 얻을 수 있다.
Figure 112009069072928-pat00048
여기서,
Figure 112009069072928-pat00049
는 위 수학식 7의 리카티 방정식을 만족하는 해 중의 하나이므로, 적응 계수
Figure 112009069072928-pat00050
Figure 112009069072928-pat00051
이 된다. 따라서, 본 발명의 실시예에 따르면, 각 블록에 대한 평균 비트량을 장기 예측에 의하여 추정하는 경우 다음의 수학식으로 나타나는 칼만 필터(Kalman Filter)를 사용하여 장기 예측을 수행함으로써 장기 평균 비트량을 얻을 수 있다.
Figure 112009069072928-pat00052
다음으로, 본 발명의 실시예에 따르면, 위와 같이 추정된 장기 평균 비트량을 이용하여 다음의 수학식에서와 같이 표현되는 목적함수(Object Function)가 최소화되도록 비트율을 제어한다. 여기서, 다음의 수학식에서 주어지는 상태방정식(State Equation)에는 영상의 복잡도에 따라 발생되는 비트량을 제어하기 위한 제어 입력이 포함되어 있다.
Figure 112009069072928-pat00053
위 수학식 9에서
Figure 112009069072928-pat00054
는 산정된 블록당 평균 비트량으로서 비트율을 제어하기 위한 목표 비트량이며,
Figure 112009069072928-pat00055
는 제어 입력이다. 여기서
Figure 112009069072928-pat00056
는 양자화 계수이고,
Figure 112009069072928-pat00057
는 양자화 계수
Figure 112009069072928-pat00058
의 변화량을 의미한다.
본 발명의 실시예에 따르면, 위 수학식 9에 표현되어 있는 목적함수 및 제어 입력으로부터 해밀토니안(Hamiltonian)을 정의하여 동적 계획법(dynamic programming)에 근거한 최적 제어 조건을 산출하고, 이와 같은 최적 제어 조건에 기반하여 비트율을 제어한다. 최적 제어를 위한 해밀토니안은 위 수학식 9를 사용하여 다음의 수학식과 같이 표현할 수 있다.
Figure 112009069072928-pat00059
여기서, 시간에 대한 라그랑쥬 승산자(Lagrangian multiplier)
Figure 112009069072928-pat00060
의 변화율로부터 위 수학식 10에 정의된 해밀토니안의 미분 조건을 구하면 다음의 수학식과 같이 표현할 수 있다.
Figure 112009069072928-pat00061
이 때, 연속 미분의 형태인 위 수학식 11을 차분 형태로 바꾸어 표현하면 다음의 수학식과 같이 기재할 수 있다.
Figure 112009069072928-pat00062
한편, 위 수학식 10에 정의된 해밀토니안을 사용하여 최적 제어 조건을 산출할 수 있는데, 이는 최적의 양자화 계수의 변화량
Figure 112009069072928-pat00063
가 입력된 경우의 해밀토니 안이 임의의 양자화 계수의 변화량
Figure 112009069072928-pat00064
가 입력된 경우의 해밀토니안보다 작아야 한다는 것으로부터 최적 제어 조건을 산출할 수 있음을 의미한다. 이를 다음의 수학식과 같이 표현할 수 있다.
Figure 112009069072928-pat00065
여기서, 본 발명의 실시예에 따르면, 발생 비트량과 양자화 계수와의 관계는, 예컨대 MPEG-4 Part 10 AVC/H.264의 경우와 같이, 음의 비례 관계로 놓을 수 있다. 이와 같은 경우, 양자화 계수가 0일 때 발생 가능한
Figure 112009069072928-pat00066
의 최대값을
Figure 112009069072928-pat00067
라 놓고 양자화 계수와 비트량과의 비례상수를
Figure 112009069072928-pat00068
라고 놓으면 다음의 수학식을 얻을 수 있다.
Figure 112009069072928-pat00069
이 때, 전술한 최적 제어 조건을 산출하기 위하여, 위 수학식 13에 위 수학식 14을 대입하여 정리하고 위 수학식 12를 대입하면 다음의 수학식을 얻을 수 있다.
Figure 112009069072928-pat00070
이와 같은 경우,
Figure 112009069072928-pat00071
Figure 112009069072928-pat00072
가 0이면 위 수학식 15를 항상 만족하고,
Figure 112009069072928-pat00073
가 0보다 클 경우에는
Figure 112009069072928-pat00074
가 0보다 크고
Figure 112009069072928-pat00075
가 0보다 작으면 위 수학식 15를 만족하며,
Figure 112009069072928-pat00076
가 0보다 작을 경우에는
Figure 112009069072928-pat00077
가 0보다 작고
Figure 112009069072928-pat00078
가 0보다 크면 위 수학식 15를 만족한다. 따라서, 임의의 양수
Figure 112009069072928-pat00079
에 대하여 최적의 양자화 계수의 변화량
Figure 112009069072928-pat00080
가 다음의 수학식을 만족하도록 설정하면 위 수학식 9에서 주어지는 목적함수를 최소로 할 수 있는 최적 제어가 된다.
Figure 112009069072928-pat00081
한편, 동영상 인코더에서 비트율을 제어하는 경우 양자화 계수의 변화량
Figure 112009069072928-pat00082
가 너무 자주 바뀌거나 누적된 양자화 값이 급격히 변화될 경우 화질 열화의 원인이 될 수 있다. 따라서, 본 발명의 실시예에 따르면,
Figure 112009069072928-pat00083
에 대한 상한과 하한을 설정하고, 이와 같이 설정된 상한과 하한을
Figure 112009069072928-pat00084
가 넘어서게 되는 경우에만
Figure 112009069072928-pat00085
를 다음의 수학식과 같이 변화시킨다.
Figure 112009069072928-pat00086
여기서, 본 발명의 실시예에 따르면,
Figure 112009069072928-pat00087
Figure 112009069072928-pat00088
가 모두 0인 경우에는 위 수학식 15를 만족하는바, 설정된 상한과 하한 이내에서는
Figure 112009069072928-pat00089
를 0으로 설정하여도 위 수학식 15와 같이 산출된 최적 제어 조건을 만족한다. 또한, 본 발명의 실시예에 따르면, 예컨대 MPEG-4 Part 10 AVC/H.264와 같은 일반적인 동영상 압축 표준에 부합하는 동영상 인코더에서는
Figure 112009069072928-pat00090
가 ±2를 넘지 않도록 블록별 비트율 제어가 수행되는바, 위 수학식 17과 같이 장기 평균 비트량에 대하여 비트율 제어를 수행한다. 이 때,
Figure 112009069072928-pat00091
Figure 112009069072928-pat00092
에 대한 상한으로서 양의 상수이며
Figure 112009069072928-pat00093
Figure 112009069072928-pat00094
에 대한 하한으로서 음의 상수이다. 본 발명의 실시예에 따르면,
Figure 112009069072928-pat00095
Figure 112009069072928-pat00096
는 0.2~0.25 정도의 값으로 설정할 수 있다.
또한, 본 발명의 실시예에 따르면, 프레임의 특정 블록의 복잡도에 따른 단기적인 영향을 고려하여 블록에 대한 평균 비트량을 추정하는 단기 예측의 경우에는 다음의 수학식으로 주어지는 FIR 필터를 사용한다.
Figure 112009069072928-pat00097
여기서, 본 발명의 실시예에 따르면, FIR 필터를 사용하여 블록에 대한 평균 비트량을 추정하는 목적은 프레임 내의 특정 블록에 의한 단기적인 영향을 비트율 제어에 반영하기 위한 것인바, FIR 필터의 탭수
Figure 112009069072928-pat00098
는 예컨대 4 정도로 설정할 수 있다.
이후에는, 칼만 필터를 사용한 최적 제어 방식과 유사하게 비트율을 제어하는 과정을 거칠 수 있다. 여기서, 본 발명의 실시예에 따르면, 단기 예측에 의하여 추정한 평균 비트량을 이용하여 위 수학식 9 이후와 유사한 과정을 거치되, 해밀토니안을 사용하여 산출한 최적 제어 조건을 만족시키기 위한 양자화 계수의 변화량
Figure 112009069072928-pat00099
는 단기 예측에 따른 고유한 상한 및 하한을 설정하고 이와 같이 설정된 상한 및 하한에 따라 결정된다.
Figure 112009069072928-pat00100
여기서,
Figure 112009069072928-pat00101
Figure 112009069072928-pat00102
에 대한 상한으로서 양의 상수이고
Figure 112009069072928-pat00103
Figure 112009069072928-pat00104
에 대한 하한으로서 음의 상수이다. 이와 같은 경우,
Figure 112009069072928-pat00105
Figure 112009069072928-pat00106
와 유사한 값으로 설정할 수 있다. 또한, 예컨대 MPEG-4 Part 10 AVC/H.264와 같은 동영상 압축 표준의 경우에 비트가 발생하면 블록당 32비트를 가지게 되며 4개의 블록 중 하나에서만 발생한다면 8비트를 가지게 되는바, 이러한 경우에
Figure 112009069072928-pat00107
가 -1이 되도록
Figure 112009069072928-pat00108
가 10을 만족하는 값으로
Figure 112009069072928-pat00109
를 설정할 수 있다.
한편, 본 발명의 실시예에 따르면, 위 수학식 17에서 주어진 바와 같이 칼만 필터를 사용하여 장기적인 영향을 통하여 비트율 제어를 수행하는 과정과 위 수학식 19에서 주어진 바와 같이 FIR 필터를 사용하여 단기적인 영향을 통하여 비트율 제어를 수행하는 과정을 독립적인 수행할 수 있다. 나아가, 예컨대 프레임의 특정 블록에서의 복잡도가 증가하면 전체 프레임의 양자화 계수가 필요 이상으로 높게 지속될 수 있으므로, t번째 블록까지의 전체 블록을 고려한 비트율 제어에 프레임의 특정 블록의 복잡도에 따른 단기적인 영향을 반영하기 위하여, 칼만 필터를 사용하여 평균 비트량을 추정하는 과정 및 FIR 필터를 사용하여 평균 비트량을 추정하는 과정을 적절히 결합하여 양자화 계수를 조절할 수 있다. 이하에서, 도 2를 참조하여 블록에 대한 평균 비트량을 장기 예측에 의하여 추정한 장기 평균 비트량과 단기 예측에 의하여 추정한 단기 평균 비트량을 결합하여 기존의 블록별 양자화 계수에 대한 변화량을 결정하는 과정을 구체적으로 설명한다.
도 2는 본 발명의 실시예에 따라 동영상 인코더에서 비트율을 제어하는 과정을 도시한 플로우차트이다.
도 2를 참조하면, 예컨대 MPEG-4 Part 10 AVC/H.264와 같은 동영상 압축 표준에 부합되는 동영상 인코더가 매크로블록(MacroBlock)에 대하여 실제 발생한 비트량을 측정한다(S200).
이후, 위 매크로블록에 대한 평균 비트량을 장기 예측에 의하여 추정한다(S210). 여기서, 위 수학식 8에서 주어진 칼만 필터를 사용하여 장기 예측을 수행함으로써 장기 평균 비트량
Figure 112009069072928-pat00110
를 획득한다.
이어서, 장기 예측에 따라 해밀토니안을 사용한 최적 제어 조건을 만족하는 양자화 계수의 변화량
Figure 112009069072928-pat00111
를 계산한다(S220). 이 때, 위 수학식 17과 같이
Figure 112009069072928-pat00112
에 대하여
Figure 112009069072928-pat00113
를 결정한다.
한편, 위 매크로블록에 대한 평균 비트량을 장기 예측에 의하여 추정하는 단계(S210)와는 독립적으로 위 매크로블록에 대한 평균 비트량을 단기 예측에 의하여 추정한다(S230). 여기서, 위 수학식 18에서 주어진 FIR 필터를 사용하여 단기 예측을 수행함으로써 단기 평균 비트량
Figure 112009069072928-pat00114
를 획득한다.
이어서, 단기 예측에 따라 해밀토니안을 사용한 최적 제어 조건을 만족하는 양자화 계수의 변화량
Figure 112009069072928-pat00115
를 계산한다(S240). 이 때, 위 수학식 19과 같이
Figure 112009069072928-pat00116
에 대하여
Figure 112009069072928-pat00117
를 결정한다.
다음으로, 장기 예측에 따른 영향과 단기 예측에 따른 영향을 모두 고려한 비트율 제어를 수행하기 위하여,
Figure 112009069072928-pat00118
Figure 112009069072928-pat00119
를 결합하여 양자화 계수의 변화량
Figure 112009069072928-pat00120
를 계산한다(S250). 이와 같이 계산되는
Figure 112009069072928-pat00121
는 아래의 수학식과 같이 표현할 수 있다.
Figure 112009069072928-pat00122
여기서, 본 발명의 실시예에 따르면,
Figure 112009069072928-pat00123
Figure 112009069072928-pat00124
를 결합하여 계산되는 양자화 계수의 변화량
Figure 112009069072928-pat00125
는 아래의 수학식과 같이
Figure 112009069072928-pat00126
Figure 112009069072928-pat00127
의 선형 결합에 관한 비선형 함수, 예컨대 하이퍼볼릭 탄젠트(hyperbolic tangent)가 포함된 비선형 함수를 통하여 결정될 수 있다.
Figure 112009069072928-pat00128
Figure 112009069072928-pat00129
여기서, 본 발명의 실시예에 따르면,
Figure 112009069072928-pat00130
는 비례상수로서 20 이상의 큰 값을 사용할 수 있다. 한편,
Figure 112009069072928-pat00131
Figure 112009069072928-pat00132
Figure 112009069072928-pat00133
의 상한
Figure 112009069072928-pat00134
과 하한
Figure 112009069072928-pat00135
으로부터 다음의 수학식에 따라 구할 수 있는데, 예컨대
Figure 112009069072928-pat00136
의 상한을 2로 설정하고 하한을 -12로 설정하는 경우에는 다음의 수학식으로부터
Figure 112009069072928-pat00137
는 7로 주어지고
Figure 112009069072928-pat00138
는 5로 주어진다.
Figure 112009069072928-pat00139
Figure 112009069072928-pat00140
이어서, 위와 같이 계산된
Figure 112009069072928-pat00141
를 기존의 블록별 양자화 계수에 더하여 양자화 계수를 갱신한다(S260). 여기서,
Figure 112009069072928-pat00142
는 위 수학식 15에서 구한 최적 제어 조건을 만족할 수 있으므로, 이와 같이 양자화 계수를 갱신함으로써 최적의 블록별 비트율 제어가 가능하게 된다.
도 3은 본 발명의 실시예에 따른 블록별 비트율 제어 장치의 구성을 나타내는 도면이다.
블록별 비트율 제어 장치(300)는 발생 비트량 획득부(310), 장기 평균 비트량 추정부(320), 단기 평균 비트량 추정부(330), 양자화 계수 변화량 계산부(340) 및 양자화 계수 조절부(350)를 포함한다.
발생 비트량 획득부(310)는 블록에 대하여 실제 발생하는 비트량을 측정한다. 예를 들어, MPEG-4 Part 10 AVC/H.264에 부합되는 동영상 인코더(100)에서 비트율 제어기(170)에 포함되는 블록별 비트율 제어 장치(300)의 발생 비트량 획득부(310)는 엔트로피코딩부(120)의 출력으로부터 블록에 대한 발생 비트량을 측정할 수 있다.
장기 평균 비트량 추정부(320)는 발생 비트량 획득부(310)가 측정한 발생 비트량을 입력 받아 장기 예측에 의하여 블록에 대한 평균 비트량을 추정한다. 여기서, 장기 예측은 위 수학식 8로 나타나는 칼만 필터를 사용하여 수행할 수 있다.
단기 평균 비트량 추정부(330)는 발생 비트량 획득부(310)가 측정한 발생 비트량을 입력 받아 단기 예측에 의하여 블록에 대한 평균 비트량을 추정한다. 여기서, 단기 예측은 위 수학식 18로 나타나는 FIR 필터를 사용하여 수행할 수 있다.
양자화 계수 변화량 계산부(340)는 장기 예측에 의하여 추정한 평균 비트량과 목표 비트량의 차이값에 따라 양자화 계수의 변화량을 결정하는데, 예컨대 위 수학식 17과 같이 양자화 계수의 변화량
Figure 112009069072928-pat00143
을 결정함으로써 장기 예측에 따른 최적 제어 조건을 만족하면서 비트율을 제어할 수 있다. 또한, 양자화 계수 변화량 계산부(340)는 이와 독립적으로 단기 예측에 의하여 추정한 평균 비트량과 목표 비트량의 차이값에 따라 양자화 계수의 변화량 을 결정하는데, 예컨대 위 수학식 19와 같이 양자화 계수의 변화량을 결정함으로써 단기 예측에 따른 최적 제어 조건을 만족하도록 할 수 있다. 한편, 양자화 계수 변화량 계산부(340)는
Figure 112009069072928-pat00145
Figure 112009069072928-pat00146
를 결합하여 양자화 계수의 변화량을 계산하여 장기 예측에 따른 영향과 단기 예측에 따른 영향을 모두 고려한 비트율 제어를 수행할 수 있다.
양자화 계수 조절부(350)는 양자화 계수 변화량 계산부(340)가 결정한 양자화 계수의 변화량으로부터 양자화 계수를 갱신한다. 여기서, 예컨대 MPEG-4 Part 10 AVC/H.264에 부합되는 동영상 인코더(100)에서 비트율 제어기(170)에 포함되는 블록별 비트율 제어 장치(300)의 양자화 계수 조절부(310)가 제어하는 양자화 계수에 따라 동영상 인코더(100)의 양자화부(115)가 변환 계수에 대한 양자화를 수행할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독할 수 있는 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매 체(optical media), 플롭티컬 디스크와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 한정적인 것으로 이해해서는 안 된다.
도 1은 본 발명의 실시예에 따른 비트율 제어를 수행하는 동영상 인코더의 예시적인 구조를 나타내는 도면이다.
도 2는 본 발명의 실시예에 따라 동영상 인코더에서 비트율을 제어하는 과정을 도시한 플로우차트이다.
도 3은 본 발명의 실시예에 따른 블록별 비트율 제어 장치의 구성을 나타내는 도면이다.

Claims (19)

  1. 동영상 인코더(encoder)에서 블록별 비트율을 제어하는 방법에 있어서,
    (a) 블록에 대한 평균 비트량을 추정하는 단계와,
    (b) 목표 비트량과 상기 추정된 평균 비트량의 차이에 기초한 목적함수가 최소화되도록 양자화 계수의 변화량을 결정하는 단계
    를 포함하고,
    상기 변화량은 상기 목적함수 및 상기 평균 비트량을 제어하는 제어 입력으로부터 정의되는 해밀토니안(Hamiltonian)을 사용하여 산출한 최적 제어 조건을 만족하도록 결정하는 것을 특징으로 하는 비트율 제어 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 최적 제어 조건은 상기 목표 비트량과 상기 추정된 평균 비트량의 차이에 의존하는 것을 특징으로 하는
    비트율 제어 방법.
  4. 삭제
  5. 제 1항에 있어서,
    상기 (a) 단계에서
    상기 평균 비트량은 장기 예측에 의하여 추정하는 것을 특징으로 하는
    비트율 제어 방법.
  6. 제 5항에 있어서,
    상기 (a) 단계에서
    상기 장기 예측은 칼만 필터를 사용하여 수행하는 것을 특징으로 하는
    비트율 제어 방법.
  7. 제 5항에 있어서,
    상기 (b) 단계에서
    상기 변화량은 상기 추정된 평균 비트량에서 상기 목표 비트량을 뺀 차이값이 상한보다 큰 경우에는 양수인 제3 상수로 결정되고, 상기 차이값이 하한보다 작은 경우에는 음수인 제4 상수로 결정되며, 상기 차이값이 상기 상한 이하이고 상기 하한 이상인 경우에는 0으로 결정되는 것을 특징으로 하는
    비트율 제어 방법.
  8. 제 1항에 있어서,
    상기 (a) 단계에서
    상기 평균 비트량은 단기 예측에 의하여 추정하는 것을 특징으로 하는
    비트율 제어 방법.
  9. 제 8항에 있어서,
    상기 (a) 단계에서
    상기 단기 예측은 FIR 필터를 사용하여 수행하는 것을 특징으로 하는
    비트율 제어 방법.
  10. 제 8항에 있어서,
    상기 (b) 단계에서
    상기 변화량은 상기 추정된 평균 비트량에서 상기 목표 비트량을 뺀 차이값이 상한보다 큰 경우에는 양수인 제5 상수로 결정되고, 상기 차이값이 하한보다 작은 경우에는 음수인 제6 상수로 결정되며, 상기 차이값이 상기 상한 이하이고 상기 하한 이상인 경우에는 0으로 결정되는 것을 특징으로 하는
    비트율 제어 방법.
  11. 제 1항에 있어서,
    상기 (a) 단계는
    장기 예측에 의하여 상기 평균 비트량을 추정한 값인 장기 평균 비트량을 획득하는 단계와,
    단기 예측에 의하여 상기 평균 비트량을 추정한 값인 단기 평균 비트량을 획 득하는 단계
    를 포함하는 비트율 제어 방법.
  12. 제 11항에 있어서,
    상기 (a) 단계에서
    상기 장기 예측은 칼만 필터를 사용하여 수행하고, 상기 단기 예측은 FIR 필터를 사용하여 수행하는 것을 특징으로 하는
    비트율 제어 방법.
  13. 제 6항 또는 제 12항 중 어느 하나의 항에 있어서,
    상기 (a) 단계에서
    상기 칼만 필터는
    Figure 112009069072928-pat00147
    으로 주어지되,
    Figure 112009069072928-pat00148
    는 t번째 블록에 대하여 장기 예측에 의하여 추정한 평균 비트량,
    Figure 112009069072928-pat00149
    는 t번째 블록에 대하여 측정한 발생 비트량인
    비트율 제어 방법.
  14. 제 9항 또는 제 12항 중 어느 하나의 항에 있어서,
    상기 (a) 단계에서
    상기 FIR 필터는
    Figure 112009069072928-pat00150
    으로 주어지되,
    Figure 112009069072928-pat00151
    는 t번째 블록에 대하여 단기 예측에 의하여 추정한 평균 비트량,
    Figure 112009069072928-pat00152
    는 t번째 블록에 대하여 측정한 발생 비트량,
    Figure 112009069072928-pat00153
    는 FIR 필터의 탭수인
    비트율 제어 방법.
  15. 제 11항에 있어서,
    상기 (b) 단계에서
    상기 변화량은 상기 목표 비트량과 상기 장기 평균 비트량의 차이값에 따라 결정되는 제1 변화량과 상기 목표 비트량과 상기 단기 평균 비트량의 차이값에 따라 결정되는 제2 변화량에 기초하여 결정되는 것을 특징으로 하는
    비트율 제어 방법.
  16. 제 11항에 있어서,
    상기 변화량은 상기 장기 평균 비트량과 상기 단기 평균 비트량의 선형 결합에 관한 비선형 함수로부터 결정되는 것을 특징으로 하는
    비트율 제어 방법.
  17. 제 11항에 있어서,
    상기 변화량은
    Figure 112009069072928-pat00154
    로부터 결정되되,
    Figure 112009069072928-pat00155
    는 t번째 블록에 대한 양자화 계수 변화량이고,
    Figure 112009069072928-pat00156
    는 비례상수이며,
    Figure 112009069072928-pat00157
    는 t번째 블록에 대하여 장기 예측에 의하여 추정한 평균 비트량이고,
    Figure 112009069072928-pat00158
    는 t번째 블록에 대하여 단기 예측에 의하여 추정한 평균 비트량이며,
    Figure 112009069072928-pat00159
    Figure 112009069072928-pat00160
    에 의하여 결정되고,
    Figure 112009069072928-pat00161
    Figure 112009069072928-pat00162
    Figure 112009069072928-pat00163
    의 상한을
    Figure 112009069072928-pat00164
    라 하고
    Figure 112009069072928-pat00165
    의 하한을
    Figure 112009069072928-pat00166
    이라고 할 때
    Figure 112009069072928-pat00167
    Figure 112009069072928-pat00168
    에 의하여 결정되는
    비트율 제어 방법.
  18. 동영상 인코더에서 블록별 비트율을 제어하는 장치에 있어서,
    블록에 대한 발생 비트량을 측정하는 발생 비트량 획득부와,
    장기 예측에 의하여 상기 블록에 대한 평균 비트량을 추정한 값인 장기 평균 비트량을 획득하는 장기 평균 비트량 추정부와,
    단기 예측에 의하여 상기 블록에 대한 평균 비트량을 추정한 값인 단기 평균 비트량을 획득하는 단기 평균 비트량 추정부와,
    목표 비트량과 상기 장기 평균 비트량의 차이값에 따라 제1 변화량을 결정하고 상기 목표 비트량과 상기 단기 평균 비트량의 차이값에 따라 제2 변화량을 결정한 후, 상기 제1 변화량 및 상기 제2 변화량에 기초하여 양자화 계수의 변화량인 제3 변화량을 결정하는 양자화 계수 변화량 계산부와,
    상기 제3 변화량에 의하여 상기 양자화 계수를 갱신하는 양자화 계수 조절부
    를 포함하는 비트율 제어 장치.
  19. 제 18항에 있어서,
    상기 장기 평균 비트량 추정부는 칼만 필터에 의하여 상기 장기 평균 비트량을 획득하고,
    상기 단기 평균 비트량 추정부는 FIR 필터에 의하여 상기 단기 평균 비트량을 획득하는 것을 특징으로 하는
    비트율 제어 장치.
KR1020090108260A 2009-11-10 2009-11-10 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법 KR101282193B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090108260A KR101282193B1 (ko) 2009-11-10 2009-11-10 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
US12/787,063 US8451891B2 (en) 2009-11-10 2010-05-25 Rate control method for video encoder using Kalman filter and FIR filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090108260A KR101282193B1 (ko) 2009-11-10 2009-11-10 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법

Publications (2)

Publication Number Publication Date
KR20110051607A KR20110051607A (ko) 2011-05-18
KR101282193B1 true KR101282193B1 (ko) 2013-07-04

Family

ID=43974147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090108260A KR101282193B1 (ko) 2009-11-10 2009-11-10 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법

Country Status (2)

Country Link
US (1) US8451891B2 (ko)
KR (1) KR101282193B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130049522A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US20130308698A1 (en) * 2012-05-18 2013-11-21 Industrial Technology Research Institute Rate and distortion estimation methods and apparatus for coarse grain scalability in scalable video coding
KR102249819B1 (ko) 2014-05-02 2021-05-10 삼성전자주식회사 시스템 온 칩과 이를 포함하는 데이터 처리 시스템
US9936203B2 (en) * 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10257528B2 (en) 2015-10-08 2019-04-09 Electronics And Telecommunications Research Institute Method and apparatus for adaptive encoding and decoding based on image quality
CN105898303A (zh) * 2015-12-24 2016-08-24 乐视云计算有限公司 码率控制方法及装置
CN110460853B (zh) * 2018-05-07 2021-04-30 上海富瀚微电子股份有限公司 一种高效视频编码码率估计装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192193A (ja) 2003-10-16 2005-07-14 Nvidia Corp ビデオエンコーダレート制御用装置、システムおよび方法
KR20060024609A (ko) * 2004-09-14 2006-03-17 엘지전자 주식회사 실시간 동영상 부호화 장치 및 방법
KR20060132761A (ko) * 2004-04-20 2006-12-22 소니 가부시끼 가이샤 데이터 처리 장치 및 그 방법과 부호화 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
US6233226B1 (en) * 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
US6370502B1 (en) * 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
FI109393B (fi) * 2000-07-14 2002-07-15 Nokia Corp Menetelmä mediavirran enkoodaamiseksi skaalautuvasti, skaalautuva enkooderi ja päätelaite
JP3900000B2 (ja) * 2002-05-07 2007-03-28 ソニー株式会社 符号化方法及び装置、復号方法及び装置、並びにプログラム
US7283589B2 (en) * 2003-03-10 2007-10-16 Microsoft Corporation Packetization of FGS/PFGS video bitstreams
US7453938B2 (en) 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
KR100580647B1 (ko) * 2004-04-01 2006-05-16 삼성전자주식회사 입력모드 분류가능한 동작기반 입력장치 및 방법
KR101058524B1 (ko) * 2004-07-22 2011-08-23 삼성전자주식회사 비트량 제어장치 및 제어방법
EP1727371A1 (en) 2005-05-27 2006-11-29 Thomson Licensing Method for controlling the encoder output bit rate in a block-based video encoder, and corresponding video encoder apparatus
US8175149B2 (en) 2005-11-21 2012-05-08 Electronics And Telecommunications Research Institute Method and apparatus for controlling bitrate of scalable video stream
KR100800838B1 (ko) 2006-07-27 2008-02-04 삼성전자주식회사 비디오 인코딩 데이터율 제어 방법
US20080198932A1 (en) * 2007-02-21 2008-08-21 Nucore Technology Inc. Complexity-based rate control using adaptive prefilter
KR101172430B1 (ko) 2007-08-17 2012-08-08 삼성전자주식회사 비트율 제어 방법 및 그 장치
US7895142B2 (en) * 2007-09-27 2011-02-22 Siemens Aktiengesellschaft Method and apparatus for quantum adiabatic pattern recognition
KR100939510B1 (ko) 2007-10-31 2010-02-03 갤럭시아커뮤니케이션즈 주식회사 영상 부호화기의 비트율 제어 장치 및 이를 이용한 비트율제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192193A (ja) 2003-10-16 2005-07-14 Nvidia Corp ビデオエンコーダレート制御用装置、システムおよび方法
KR20060132761A (ko) * 2004-04-20 2006-12-22 소니 가부시끼 가이샤 데이터 처리 장치 및 그 방법과 부호화 장치
KR20060024609A (ko) * 2004-09-14 2006-03-17 엘지전자 주식회사 실시간 동영상 부호화 장치 및 방법

Also Published As

Publication number Publication date
US20110110421A1 (en) 2011-05-12
KR20110051607A (ko) 2011-05-18
US8451891B2 (en) 2013-05-28

Similar Documents

Publication Publication Date Title
KR101282193B1 (ko) 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
KR100203710B1 (ko) 비트 발생량 조절기능을 갖는 영상 부호화 시스템
US20130235938A1 (en) Rate-distortion optimized transform and quantization system
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
CN103718556A (zh) 利用灵活解块滤波的编码解码装置和方法
JP2001145113A (ja) 画像情報変換装置及び方法
CA2798354A1 (en) A video encoding bit rate control technique using a quantization statistic threshold to determine whether re-encoding of an encoding-order picture group is required
KR100594056B1 (ko) 효율적인 비트율 제어를 위한 h.263/mpeg 비디오인코더 및 그 제어 방법
KR101450645B1 (ko) 비디오 비트율 제어 방법 및 장치
US8442113B2 (en) Effective rate control for video encoding and transcoding
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
WO2013149154A1 (en) Apparatuses and methods for providing quantized coefficients for video encoding
KR101086724B1 (ko) 영상의 복잡도를 이용한 h.264/avc 부호화기의 양자화 파라미터 결정 방법 및 이를 구현하는 h.264/avc 부호화기
JP4736619B2 (ja) 画像処理装置および画像処理方法
KR100800838B1 (ko) 비디오 인코딩 데이터율 제어 방법
JP4407249B2 (ja) データ処理装置およびその方法と符号化装置、その方法及びプログラム
JP5136470B2 (ja) 動画像符号化装置及び動画像符号化方法
JPH11513873A (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
KR20010104058A (ko) 동영상 부호화기의 부호화 모드에 따른 적응적 양자화기
KR100207419B1 (ko) 부호화 비트발생율 제어방법 및 그 제어장치
JP2008153802A (ja) 動画像符号化装置及び動画像符号化プログラム
KR20090037288A (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
KR20060132761A (ko) 데이터 처리 장치 및 그 방법과 부호화 장치
JP3311312B2 (ja) 符号化制御方法、符号化制御装置、および符号化制御プログラムを記録した記録媒体

Legal Events

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

Payment date: 20170529

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee