KR100800838B1 - 비디오 인코딩 데이터율 제어 방법 - Google Patents

비디오 인코딩 데이터율 제어 방법 Download PDF

Info

Publication number
KR100800838B1
KR100800838B1 KR1020060071048A KR20060071048A KR100800838B1 KR 100800838 B1 KR100800838 B1 KR 100800838B1 KR 1020060071048 A KR1020060071048 A KR 1020060071048A KR 20060071048 A KR20060071048 A KR 20060071048A KR 100800838 B1 KR100800838 B1 KR 100800838B1
Authority
KR
South Korea
Prior art keywords
quantization parameter
target bit
value
preset
buffer level
Prior art date
Application number
KR1020060071048A
Other languages
English (en)
Other versions
KR20080010696A (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 KR1020060071048A priority Critical patent/KR100800838B1/ko
Publication of KR20080010696A publication Critical patent/KR20080010696A/ko
Application granted granted Critical
Publication of KR100800838B1 publication Critical patent/KR100800838B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation

Abstract

본 발명은 비디오 인코딩 데이터율 제어 방법에 있어서, 현재 프레임의 타겟 비트를 추정하는 과정과, 추정한 타겟 비트가 음수일 경우에, 영상 복잡도가 높은지 판단하는 과정과, 판단 결과 영상 복잡도가 높을 경우에는 미리 설정된 제1값으로 이전 양자화 파라미터를 증가시키는 과정과, 판단 결과 영상 복잡도가 낮을 경우에는 미리 설정된 제2값으로 이전 양자화 파라미터를 증가시키는 과정을 수행한다.
비디오, 인코딩, 버퍼 레벨, 영상 복잡도, 양자화, 타겟 비트

Description

비디오 인코딩 데이터율 제어 방법{RATE CONTROL OF VIDEO ENCODER}
도 1은 본 발명이 적용되는 비디오 인코더 장치의 블록 구성도.
도 2는 일반적인 비디오 인코딩 데이터율 제어 동작의 일 예시 흐름도.
도 3은 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 동작의 흐름도.
본 발명은 비디오 인코딩(encoding)에 관한 기술로서, 특히 비트율이 낮고 프레임율이 높은 환경에서 움직임이 많은 영상에 대한 비디오 인코딩 데이터율 제어시에 적용됨이 유용한 영상 복잡도 측정 위한 방법에 관한 것이다.
비디오 신호의 전송이나 저장시에 높은 영상 화질을 유지하면서 낮은 데이터 레이트나 적은 저장 영역을 얻기 위한 다양한 디지털 비디오 압축 기술이 제안되어 왔다. 이러한 비디오 압축 기술은 H.261, H.263, H.264, MPEG-2, MPEG-4 등과 같은 국제 표준 규격들이다. 이러한 압축 기술은 이산 코사인 변환(DCT: Discrete Cosine Transform) 기법이나 모션 보상(MC: Motion Compensation) 기법 등에 의해, 비교적 높은 압축률을 달성하고 있다. 이러한 비디오 압축 기술은 비디오 데이터의 스트림이 다양한 디지털 네트워크, 예를 들면, 휴대전화 네트워크, 컴퓨터 네트워크, 케이블 네트워크, 위성 네트워크 등에 효율적으로 전달되도록 적용되고 있다. 또한 하드디스크, 광디스크, 디지털 비디오 디스크(DVD) 등의 기억 매체에도 효율적으로 저장되도록 적용되어 있다.
고화질을 위해서는, 비디오 인코딩시 많은 양의 데이터를 요구하게 된다. 그러나, 비디오 데이터를 전달하는 통신 네트워크는 인코딩에 적용할 수 있는 데이터 레이트를 제한할 수 있다. 예를 들어, 위성방송 시스템의 데이터 채널이나 디지털 케이블 텔레비전 네트워크의 데이터 채널은 일반적으로 고정 비트 레이트(CBR: Constant Bit Rate)로 데이터를 보내고 있다. 또한 디스크와 같은 저장 매체의 저장 용량도 한정되어 있다.
따라서, 비디오 인코딩 프로세스는 화질과 이미지 압축에 필요한 비트 수를 적절히 트레이드 오프하게 된다. 또한 비디오 인코딩은 비교적 복잡한 처리를 요구하므로, 예를 들어 소프트웨어로 이를 구현하려고 할 경우에는, 비디오 인코딩 프로세스는 비교적 많은 CPU 사이클을 필요로 하게 된다. 더욱이 이를 실시간 처리로 재생하려고 하면, 시간적인 제약이 인코딩 수행시의 정밀함을 제한하게 되며, 이에 따라 달성할 수 있는 화질이 제한된다.
이와 같이, 비디오 인코딩 데이터 레이트 컨트롤은 실제 사용환경에서 중요한 사안이며, 되도록이면 처리 방식의 복잡도와 전송 데이터 레이트를 줄이면서도 고화질을 얻도록 하기 위한 비디오 인코딩 데이터 레이트 컨트롤 방식이 제안되고 있다. 특히, 주어진 비트 자원이 제한된 비디오 인코딩시 데이터율 제어(rate control)는 성능에 큰 영향을 미친다. 데이터율 제어가 잘되면 코딩된 비디오는 품질이 좋으며, 각 프레임에 따른 비디오 품질의 변화가 적고, 주어진 프레임율과 인코딩된 프레임율 사이의 차이가 적으며, 인코딩 버퍼 레벨이 안정된다.
현재까지 비디오 코덱의 성능은 H.264/AVC가 가장 우수하다. H.264/AVC의 데이터율 제어는 JVT(joint video team: ITU-T Video Coding Experts Group and ISO/IEC 14496-10 AVC Moving Picture Experts Group, Z. G. Li, F. Pan, K. P. Lim, G. Feng, X. Lin, and S. Rahardja, "Adaptive basic unit layer rate control for JVT", JVT-G012-r1, 7th Meeting Pattaya Ⅱ, Thailand, Mar. 2003.)에서 제안한 방식을 따른다. 상기 JVT에는 비디오 프레임 인코딩시 양자화 파라미터(QP: Quantization Parameter)를 조절하여 데이터율을 제어하는 기본적인 기술이 개시되고 있다.
상기 JVT에서 제안한 방식에 따르면 프레임 레벨 데이터율 제어 과정은 아래와 같이 크게 3가지로 구성된다. 즉, 타겟 비트(Target-bit) 예측, 양자화 파라미터(Quantization parameter: QP) 계산, QP 조정을 수행한다.
그런데, 이와 같은 JVT에서 제안한 방식은 영상내의 복잡도를 상대적으로 반영치 못하여 움직임이 많은 영상에서 최적의 성능을 내지 못한다. 이에 "Jiang"(M. Jiang, X. Yi, and N. Ling, "Improved frame-layer rate control for H.264 using MAD ratio," IEEE International Symposium on Circuits and Systems, vol. III, pp. 813-816, May 2004, Vancouver, Canada.)은 움직임이 많은 영상에 대해, 타겟 비트 예측시 영상내 복잡도 측정값을 반영하여 JVT의 단점을 향상시켰다.
그런데, 상기 JVT 방식은 영상내 복잡도를 상대적으로 반영치 못하여 움직임이 많은 영상에서 최적의 성능을 내지 못하였고 Jiang은 움직임 많은 영상에 대해 영상내 복잡도를 반영했지만, 이러한 기술들에서는 인코딩 버퍼 레벨을 반영하지 않아 비트율이 낮고 프레임율이 높은 응용분야에서 인코딩 버퍼 레벨이 불안정하며 프레임에 따른 비디오 품질의 변화가 심해지는 등 문제점을 갖고 있다.
따라서, 본 발명의 목적은 주어진 비트율이 낮고 프레임율이 높은 응용분야에서도 안정되고 향상된 성능을 가질 수 있는 인코딩 데이터율 제어 방법을 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명은 비디오 인코딩 데이터율 제어 방법에 있어서, 현재 프레임의 타겟 비트를 추정하는 과정과, 상기 추정한 타겟 비트가 음수일 경우에, 영상 복잡도가 높은지 판단하는 과정과, 상기 판단 결과 영상 복잡도가 높을 경우에는 미리 설정된 제1값으로 이전 양자화 파라미터를 증가시키는 과정과, 상기 판단 결과 영상 복잡도가 낮을 경우에는 미리 설정된 제2값으로 이전 양자화 파라미터를 증가시키는 과정을 포함함을 특징으로 한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설 명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 1은 본 발명이 적용되는 비디오 인코더 장치의 블록 구성도이다. 도 1을 참조하면, 본 발명이 적용되는 비디오 인코더 장치는 비디오 프레임 시퀀스를 입력받으며 출력으로서는 압축된 비디오 데이터를 출력하는 일반적인 H.264/AVC(Advanced Video Coding) 인코더(10)를 구비할 수 있다. 또한 프레임들을 저장하는 프레임 저장 메모리(20)와, 인코더(10)의 데이터 레이트 제어를 위한 양자화 파라미터(QP: Quantization Parameter) 제어 동작을 수행하는 인코더 QP 제어기(30)를 구비한다.
먼저, 인코더(10)의 구성 및 동작을 보다 상세히 설명하면, 인코더(10)는 주파수 변환기(104), 양자화기(106), 엔트로피 코더(108), 인코더 버퍼(110), 역양자화기(116), 역주파수 변환기(114), 모션추정/보상기(120) 및 필터(112)를 포함한다.
현재 프레임이 인터 프레임(예를 들어 P프레임일 경우)이라면, 모션추정/보상기(120)는 프레임 저장 메모리(20)에 버퍼링되어 있는 이전 프레임의 재구성된 프레임인 기준 프레임에 대한, 현재 프레임내(內) 매크로블록의 모션을 추정하고 보상한다. 프레임은 원 영상의 예를 들어 16x16 픽셀에 대응하는 매크로블록의 단위로 처리된다. 각 매크로블록은 인트라(intra) 또는 인터(inter) 모드로 부호화된 다. 모션추정시에는 부가 정보로서 모션 벡터와 같은 모션 정보를 출력하고, 모션보상시에는 모션정보를 재구성된 이전 프레임에 적용하여 모션보상된 현재 프레임을 생성한다. 이와 같이 모션보상된 현재 프레임의 매크로블록(예측 매크로블록)과 원래의 현재 프레임의 매크로블록간의 차이분이 주파수 변환기(104)로 제공된다.
주파수 변환기(104)는 공간 도메인의 비디오 정보를 주파수 도메인(예를 들어 스펙트럼) 데이터로 변환한다. 이때 주파수변환기(104)는 통상 이산 코사인 변환(DCT: Discrete Cosine Transform)을 수행하여 매크로블록단위로 DCT 계수 블록을 생성한다.
양자화기(106)는 상기 주파수 변환기(104)에서 출력되는 스펙트럼 데이터 계수의 블록을 양자화한다. 이때 양자화기(106)는 통상 프레임별 기반으로 가변되는 스텝-크기로 스펙트럼 데이터에 일정한 스칼라 양자화를 적용한다. 이러한 양자화기(106)는 데이터 레이트 컨트롤을 위해 프레임별로 양자화 파라미터(QP)의 가변 정보를 인코더 QP 제어기(30)의 QP조정부(34)로터 제공받게 된다.
엔트로피 코더(108)는 해당 매크로블록의 특정 부가 정보(예를 들어, 모션 정보, 공간 보외법 모드, 양자화 파라미터)를 비롯하여, 양자화기(106)로부터의 출력을 압축한다. 통상적으로 적용되는 엔트로피 코딩 기술은, 산술 코딩, 허프만 코딩, 런 랭스(run-length) 코딩, LZ(Lempel Ziv) 코딩 등이 있다. 엔트로피 코더(108)는 통상 다른 종류의 정보에 다른 코딩 기술을 적용한다.
엔트로피 코더(108)에서 압축된 비디오 정보는 인코더 버퍼(110)에 버퍼링된다. 인코더 버퍼(110)의 버퍼 레벨 지시자는 데이터 레이트 조절을 위해 인코더 QP 제어기(30)로 제공된다. 인코더 버퍼(110)에 저장된 비디오 정보는 예를 들어 고정된 전송율로 인코더 버퍼(110)로부터 출력 및 삭제된다.
한편, 상기에서 재구성된 현재 프레임이 후속 모션추정/보상에 필요한 경우, 역양자화기(116)는 양자화된 스펙트럼 계수에 대해 역양자화를 수행한다. 역주파수 변환기(114)는 주파수 변환기(104)의 동작을 역으로 수행하여, 역양자화기(116)의 출력으로부터 예를 들어 역DCT 변환을 통해 역차이 매크로블록이 생성된다. 이는 신호 손실 등의 영향으로 원래의 차이 매크로블록과 동일하지 않다.
현재 프레임이 인터 프레임일 경우에는, 재구성된 상기 역차이 매크로블록은 상기 모션추정/보상기(120)의 예측 매크로블록과 합쳐져서 재구성된 매크로블록을 생성하게 된다. 재구성된 매크로블록들은 프레임 저장 메모리(20)에 다음 프레임을 예측하는데 이용하기 위해 기준 프레임으로 저장된다. 이때 상기 재구성된 매크로블록은 원래의 매크로블록의 왜곡된 버전이므로 일부 실시예에서는 디블록킹(deblocking) 필터(112)를 재구성된 프레임에 적용하여, 매크로블록간 불연속성을 원활하게 한다.
한편, 인코더(10)의 QP를 제어하는 인코더 QP 제어기(30)에는 프레임 저장 메모리(20)에 저장된 현재 프레임 및 기준 프레임 등을 통해 프레임율 제어를 위한 각종 파라미터들을 업데이트하는 파라미터 업데이트부(31)와, 상기 업데이트된 파라미터들을 통해 현재 프레임의 인코딩시 타겟 비트(the number of target bits)를 추정하는 타겟비트 추정부(32)와, 상기 업데이트된 파라미터와 타겟비트에 따른 적절한 QP를 계산하는 QP계산부(33)와, 상기 업데이트된 파라미터들을 통해 영상의 복잡도를 측정하는 복잡도 측정부(35)와, 상기 업데이트된 파라미터들과 QP계산부(33) 및 복잡도 측정부(35)에서의 출력값을 이용하여 본 발명의 특징에 따라 양자화기(106)의 QP를 적절히 조정하는 QP조정부(34)를 구비한다.
도 2는 일반적인 비디오 인코딩 데이터율 제어 동작의 일 예시 흐름도로서, 상기 JVT에 개시된 바와 같다. 도 2를 참조하여 먼저 일반적인 비디오 인코딩 데이터율 제어 동작에 대해 설명하기로 한다. 먼저 302단계에서 해당 프레임의 타겟 비트를 추정하게 되는데, 현재(i번째) 프레임의 타겟 비트 Tb,i는 하기 수학식 1에 따라 구해질 수 있다.
Figure 112006054345315-pat00001
상기 수학식 1에서, NPr,i는 현재(i번째) 프레임을 인코딩하기 전의 코딩되지 않은 P 프레임 수를 가리키며, β와 Γ는 상수(통상 각각 0.5 와 0.75)이다. br은 미리 설정된 비트 레이트 [bit/sec], fr은 미리 설정된 프레임 레이트 [frame/sec]이다. CBF(Current Buffer Fullness)와 TBL(Target Buffer Level)에 대해서는, CBFi는 현재(i번째) 프레임이 코딩된 후 버퍼에 채워진 상태 값이며, TBLi는 현재(i번째) 프레임의 타겟 버퍼 레벨이다.
또한, 상기에서 Rb,i는 하기 수학식 2와 같다.
Figure 112006054345315-pat00002
상기 수학식 2에서 Np는 해당 GOP의 총 P 프레임 수이며, br,i 및 Gb,i는 각각 활용 가능한 채널 대역폭 및 i번째 프레임에서 발생된 비트를 나타낸다.
즉, 상기 302단계에서, 상기 수학식 1, 2에서와 같이, 현재(i번째) 프레임의 타겟 비트 Tb,i를 추정하게 되며, 이후 그에 따라 양자화 파라미터(QP)를 계산하게 된다. 그런데, 상기와 같이 타겟 비트를 추정할 경우에 해당 계산 값이 비교적 정상적인 상태에서는 양수(positive)이다. 그러나, 상기 수학식 1의 각 변수들 중에서 CBF의 값이 매우 커지게 되거나 하는 등의 상태가 되면(즉 버퍼가 일정 수준이상 차게 되면), 해당 타겟 비트 값은 음수(negative)가 된다. 이와 같이 타겟 비트를 추정한 값이 음수일 경우에 비정상적인 상태로 간주하게 된다.
304단계에서는, 상기 302단계에서 추정한 타겟 비트가 양수인지를 확인하여, 양수일 경우에는 이후 306단계로 진행하며, 음수일 경우에는 310단계로 진행한다. 306단계에서는 해당 타겟 비트의 추정 값에 따른 QP를 계산한다. 이후 308단계에서는 상기 306단계에서 계산한 QP를 이전 QP와 비교하여 그 증감 정도가 미리 설정된 범위 예를 들어, -2 ~ +2 사이로 제한한다. 이후 312단계에서는 현재 증가된 QP가 미리 설정된 최대 허용치(예를 들어 51)를 초과하지 않도록 제한한다.
한편, 상기 304단계에서는 추정한 타겟 비트가 음수일 경우에 진행한 310단 계에서는 QP를 이전 QP에서 무조건 미리 설정된 증가치, 예를 들어 2증가 시킨 후 상기 312단계로 진행하게 된다. 이와 같이 QP를 증감시켜, 결과적으로 해당 프레임의 총 비트 수를 감소시키거나 늘리는 효과를 얻게 된다.
그런데, 주어진 비트율이 낮을수록 또한 프레임율이 높을수록, 프레임당 가용(可用) 비트(avail-bit: available bit per frame)는 줄어든다. 가용 비트가 작을수록 타겟 비트의 예측은 어려워져 음수화 될 확률이 높아진다. 상기 도 2에 도시된 바와 같은 JVT 방식에 따르면, 타겟 비트가 음수화되면 현재 프레임에 대한 QP는 이전 프레임보다 2증가한다. 증가된 QP는 비디오 품질을 저하시킨다. 또한 움직임이 많은 영상이 입력되면 타겟 비트의 예측은 더욱 어려워져 음수화가 자주 발생할 확률이 높다. 음수 타겟 비트가 자주 발생하면 프레임당 비디오 품질의 변화가 심해진다. 또한 인코딩 버퍼 레벨이 불안정해지고 초기 프레임율과 인코딩된 프레임율 사이의 차이도 커지게 된다.
따라서, 상기 Jiang 방식에서 도 2의 302단계의 타겟 비트 추정 과정을 개량하여 영상내 복잡도를 반영하도록 한다. 이때 Jiang에서 영상내 복잡도를 반영하는 방식은 복잡도에 따라 타겟 비트를 증가시키는 방식이다. 그런데, 이러한 Jiang 방식은 버퍼 상태를 고려치 않고 단지 영상 복잡도에 따라 타겟 비트를 증가시키게 된다. 또한 변화된 타겟 비트로 적절한 QP를 얻는다는 보장도 없다.
따라서 본 발명에서는, 특히 비트율이 낮고 프레임율이 높은 움직임 많은 영상에 대해서 향상된 인코딩 데이터율 제어를 실현하기 위하여, 버퍼 상태와 영상 복잡도를 함께 고려하며, 특히 버퍼 상태와 영상 복잡도를 타겟 비트 예측 과정에 고려하여 이에 반영시키는 것이 아니라, QP 조정 과정에서 이를 반영한다. 이러한 본 발명에 따른 QP 조정 방식을 이하 크게 타겟 비트가 양수일 때와 음수일때로 구분하여 설명하기로 한다.
1) 양수 타겟 비트
타겟 비트를 예측한 값이 양수이면 해당 타겟 비트에 따른 QP 계산을 수행하고, 계산된 QP값은 프레임당 비디오 품질 변화를 최소화하기 위해 이전 QP대비 ㅁ2로 제한한다. 이러한 타겟 비트 예측과 QP 계산, QP 제한 동작은 상기 도 2에 도시된 동작과 유사할 수 있다. 그런데, 이후에서는 본 발명의 특징에 따라 현재(i번째) QP를 하기 수학식 3에 따라 다시 조정한다.
Figure 112006054345315-pat00003
상기 수학식 1에서 사용된 변수들을 정리하면 다음과 같다.
- Qlm : ㅁ2로 제한된 QP
- CBF : Current Buffer Fullness
- TBL : Target Buffer Level
- br : Target bit rate
- fr : Target frame rate
- Γ : 상수(통상 0.75)
- RatioMAD : 영상 복잡도 측정값(content complexity measure), 상기 Jiang 방식을 사용할 수 있음.
상기 수학식 3에 따르면, 본 발명에서는 버퍼 레벨이 낮을 경우, 예를 들어, {(CBF-TBL) < br/(fr x Γ)}일 경우에, 또한 상기의 예에서는 이와 더불어, 이전 QP와 현재 제한된 QP 사이의 차가 2보다 작으며 영상 복잡도가 높을 경우(RatioMAD > 1.09)에는 비디오 품질을 향상시키기 위해 QP 값을 1 감소시키고, 반대로 버퍼 레벨이 높을 경우, 예를 들어 {(CBF-TBL) > br/(fr x Γ)}일 경우에, 또한 상기의 예에서는 이와 더불어 영상 복잡도가 낮으면(RatioMAD < 0.99) 버퍼 레벨 안정화 및 향후 프레임의 타겟 비트가 음수화 되는 것을 예방하기 위해 QP값을 1 증가시킨다.
2) 음수 타겟 비트
타겟 비트를 예측한 값이 음수이면 QP는 영상 복잡도를 고려하여 하기 수학식 4와 같이, 이전값 대비 증가한다.
Figure 112006054345315-pat00004
상기 수학식 4에 따르면, 음수 타겟 비트일 경우에, 영상 복잡도가 크면 인코딩된 비디오 품질과 타겟 비트를 빨리 양수로 만드는 것 사이의 관계를 고려하여 QP를 2 증가시키고. 반면 영상 복잡도가 낮으면 타겟 비트를 빨리 양수로 만들기 위해 3 증가시킨다.
한편, 상기에서 Jiang의 영상 복잡도 측정 방식에 따른 영상 복잡도 RatioMAD는 하기 수학식 5에 따라 구해진다.
Figure 112006054345315-pat00005
여기서 PMAD는 예측된 평균절대오차(Predicted Mean Absolute Difference)를 의미하며, CMAD는 실제 계산된 평균절대오차(actually Computed Mean Absolute Difference)를 의미한다. i는 현재 프레임의 프레임 번호이며, j는 현재 프레임의 바로 이전 프레임의 프레임 번호이다. 즉, 상기 수학식 5에 따르면, 영상 복잡도인 RatioMAD는 현재프레임(i번째)의 PMAD와 이전프레임까지의 CMAD 평균값에 대한 비율이다. 이때 상기 CMAD는 이전 프레임의 해당 입력된 프레임과 재구성된 기준 프레임과의 오차 정보를 통해 계산되며, 상기 PMAD는 이전 프레임들의 계산된 CMAD들의 변이 상태 등을 이용하여 예측되는 현재 프레임의 MAD의 예측 값이다.
도 3은 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 동작의 흐름도이다. 도 3을 참조하면, 먼저 332단계에서 해당 프레임의 타겟 비트를 추정하게 되는데, 현재(i번째) 프레임의 타겟 비트 Tb,i는 상기 수학식 1에 따라 구해질 수 있다. 이후 334단계에서는, 상기 332단계에서 추정한 타겟 비트가 양수인지를 확인하여, 양수일 경우에는 이후 336단계로 진행하며, 음수일 경우에는 352단계로 진행한다.
336단계에서는 해당 타겟 비트의 추정 값에 따른 적절한 QP를 계산한다. 이후 338단계에서는 상기 336단계에서 계산한 QP를 이전 QP와 비교하여 미리 설정된 범위 예를 들어, -2 ~ +2 사이로 제한한다. 이후 340단계에서는 현재 버퍼 레벨이 낮을 경우를 포함하는 조건 1을 만족하는 지를 판단한다. 이러한 조건 1은 예를 들어, 이전 QP와 현재 제한된 QP의 차가 2보다 작으며 영상 복잡도가 높을 경우를 포함할 수 있다. 이러한 조건 1을 만족할 경우에는 이후 342단계로 진행하여 현재 제한된 QP를 다시 1 감소시키고 362단계로 진행한다. 한편, 상기 340단계에서의 판단 결과, 조건 1을 만족하지 않을 경우에는 344단계로 진행하며, 344단계에서는 현재 버퍼 레벨이 높은 경우를 포함하는 조건 2를 만족하는 지를 판단한다. 이러한 조건 2는 예를 들어, 영상 복잡도가 낮은 경우를 포함할 수 있다. 이러한 조건 2를 만족할 경우에는 이후 346단계로 진행하여 현재 제한된 QP를 다시 1 증가시키고 362단계로 진행한다. 또한 상기 344단계에서 판단 결과, 조건 2를 만족하지 않을 경우에는 그대로 362단계로 진행한다. 362단계에서는 현재 증가된 QP가 미리 설정된 최대 허용치(예를 들어 51)를 초과하지 않도록 제한한다.
한편, 상기 334단계에서는 추정한 타겟 비트가 음수일 경우에 진행한 352단계에서는 영상 복잡도가 높은지를 확인한다. 영상 복잡도가 높을 경우에는 354단계로 진행하여 QP를 2증가시키며, 영상 복잡도가 낮을 경우에는 356단계로 진행하여 QP를 3증가시킨 다음 상기 362단계로 진행한다.
상기와 같은 본 발명에 따른 인코딩 데이터율 제어 방식의 유효성을 알아보기 위하여, 임의의 테스트 시퀀스 영상, 일명 'Carphone'과 'Foreman'을 이용하였 다. 프레임율이 30fps(frame per second)인 환경에서 기존 기술, 즉 JVT와 Jiang에 따른 방식대로 수행한 결과와 본 발명에 따른 방식대로 수행한 결과를 PSNR(Peak Signal to Noise Ratio) 등을 확인하여 비교하였다.
Figure 112006054345315-pat00006
상기 표1에서 나타난 바와 같이, 본 발명에 따른 비디오 품질은 JVT보다는 약 0.1~0.2dB 향상되었고 Jiang과는 비슷하다. 프레임당 비디오 품질의 변화정도는 JVT보다 30~53% 개선되었고 Jiang보다는 23~44% 개선되었다. 프레임율 차이는 본 발명에 따른 방식이 가장 낮으므로 우수하였다. 버퍼 레벨 또한 본 발명에 따른 방식이 가장 안정적으로 나타났다.
상기와 같이 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 동작이 수행될 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 본 발명에 따른 비디오 인코딩 데이터율 제어 방식은 버퍼 레벨에 효과적으로 대응하며, 특히, 주어진 비트율이 낮고 프레임율이 높은 응 용분야에서 안정되고 향상된 성능을 가질 수 있다.

Claims (13)

  1. 비디오 인코딩 데이터율 제어 방법에 있어서,
    현재 프레임의 JVT(joint video team) 방식에 기반한 타겟 비트를 추정하는 과정과,
    상기 추정한 타겟 비트가 음수일 경우에, 영상 복잡도가 높은지 판단하는 과정과,
    상기 판단 결과 영상 복잡도가 높을 경우에는 미리 설정된 제1값으로 이전 양자화 파라미터를 증가시키는 과정과,
    상기 판단 결과 영상 복잡도가 낮을 경우에는 미리 설정된 제2값으로 이전 양자화 파라미터를 증가시키는 과정을 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  2. 제1항에 있어서, 상기 추정한 타겟 비트가 양수일 경우에, 해당 타겟 비트의 추정 값에 따라 양자화 파라미터를 계산하는 과정과,
    상기 계산한 양자화 파라미터를 버퍼 레벨에 따라 재조정하는 과정을 더 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  3. 제2항에 있어서, 상기 계산한 양자화 파라미터를 버퍼 레벨에 따라 재조정하 는 과정은 현재 버퍼 레벨이 낮을 경우를 포함하는 미리 설정된 조건 1을 만족하는 지를 판단하여 상기 조건 1을 만족할 경우에 상기 양자화 파라미터를 미리 설정된 감소치로 감소시켜 재조정하는 단계와,
    현재 버퍼 레벨이 높을 경우를 포함하는 미리 설정된 조건 2를 만족하는 지를 판단하여 상기 조건 2를 만족할 경우에 상기 양자화 파라미터를 미리 설정된 증가치로 증가시켜 재조정하는 단계를 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 조정된 양자화 파라미터가 미리 설정된 최대 허용치를 초과하지 않도록 제한하는 과정을 더 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  5. 비디오 인코딩 데이터율 제어 방법에 있어서,
    현재 프레임의 JVT(joint video team) 방식에 기반한 타겟 비트를 추정하는 과정과,
    상기 추정한 타겟 비트가 양수일 경우에, 해당 타겟 비트의 추정 값에 따라 양자화 파라미터를 계산하는 과정과,
    상기 계산한 양자화 파라미터를 버퍼 레벨에 따라 재조정하는 과정을 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  6. 제5항에 있어서, 상기 추정한 타겟 비트가 음수일 경우에, 미리 설정된 증가치로 이전 양자화 파라미터를 증가시켜 양자화 파리미터를 조정하는 과정을 더 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  7. 제5항 또는 제6항에 있어서, 상기 계산한 양자화 파라미터를 버퍼 레벨에 따라 재조정하는 과정은 현재 버퍼 레벨이 낮을 경우를 포함하는 미리 설정된 조건 1을 만족하는 지를 판단하여 상기 조건 1을 만족할 경우에 상기 양자화 파라미터를 미리 설정된 감소치로 감소시켜 재조정하는 단계와,
    현재 버퍼 레벨이 높을 경우를 포함하는 미리 설정된 조건 2를 만족하는 지를 판단하여 상기 조건 2를 만족할 경우에 상기 양자화 파라미터를 미리 설정된 증가치로 증가시켜 재조정하는 단계를 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  8. 제5항 또는 제6항에 있어서, 조정된 양자화 파라미터가 미리 설정된 최대 허용치를 초과하지 않도록 제한하는 과정을 더 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  9. 비디오 인코딩 데이터율 제어 방법에 있어서,
    현재 프레임의 JVT(joint video team) 방식에 기반한 타겟 비트를 추정하는 과정과,
    상기 추정한 타겟 비트가 양수일 경우에, 해당 타겟 비트의 추정 값에 따라 양자화 파라미터를 계산하는 과정과,
    상기 계산한 양자화 파라미터를 버퍼 레벨에 따라 재조정하는 과정과,
    상기 추정한 타겟 비트가 음수일 경우에, 미리 설정된 증가치로 이전 양자화 파라미터를 증가시켜 양자화 파리미터를 조정하는 과정을 포함하며,
    상기 계산한 양자화 파라미터를 버퍼 레벨에 따라 재조정하는 과정은 현재 버퍼 레벨이 낮을 경우를 포함하는 미리 설정된 조건 1을 만족하는 지를 판단하여 상기 조건 1을 만족할 경우에 상기 양자화 파라미터를 미리 설정된 감소치로 감소시켜 재조정하는 단계와,
    현재 버퍼 레벨이 높을 경우를 포함하는 미리 설정된 조건 2를 만족하는 지를 판단하여 상기 조건 2를 만족할 경우에 상기 양자화 파라미터를 미리 설정된 증가치로 증가시켜 재조정하는 단계를 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  10. 제9항에 있어서, 상기 추정한 타겟 비트가 음수일 경우에, 미리 설정된 증가치로 이전 양자화 파라미터를 증가시키는 것은 영상 복잡도에 따라 다른 증가치로 상기 양자화 파라미터를 증가시키는 것임을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  11. 제9항에 있어서, 상기 조건 1은 이전 양자화 파라미터와 현재 제한된 양자화 파라미터의 차가 2보다 작으며 영상 복잡도가 높을 경우를 포함하며, 상기 조건 2는 영상 복잡도가 낮은 경우를 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서, 조정된 양자화 파라미터가 미리 설정된 최대 허용치를 초과하지 않도록 제한하는 과정을 더 포함함을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
  13. 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 추정한 타겟 비트가 양수일 경우에, 해당 타겟 비트의 추정 값에 따라 양자화 파라미터를 계산하는 과정은 해당 타겟 비트의 추정 값에 따른 양자화 파라미터를 계산하고 이를 다시 이전 양자화 파라미터보다 미리 설정된 증감 범위내로 제한하는 것임을 특징으로 하는 비디오 인코딩 데이터율 제어 방법.
KR1020060071048A 2006-07-27 2006-07-27 비디오 인코딩 데이터율 제어 방법 KR100800838B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060071048A KR100800838B1 (ko) 2006-07-27 2006-07-27 비디오 인코딩 데이터율 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060071048A KR100800838B1 (ko) 2006-07-27 2006-07-27 비디오 인코딩 데이터율 제어 방법

Publications (2)

Publication Number Publication Date
KR20080010696A KR20080010696A (ko) 2008-01-31
KR100800838B1 true KR100800838B1 (ko) 2008-02-04

Family

ID=39222648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060071048A KR100800838B1 (ko) 2006-07-27 2006-07-27 비디오 인코딩 데이터율 제어 방법

Country Status (1)

Country Link
KR (1) KR100800838B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023548A (ko) * 2017-08-29 2019-03-08 삼성전자주식회사 영상 부호화 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100950275B1 (ko) * 2008-09-18 2010-03-31 연세대학교 산학협력단 모델 파라미터 기반의 비디오 인코딩 비트율 제어장치와 방법 및 이를 수록한 저장매체
KR101282193B1 (ko) 2009-11-10 2013-07-04 한국전자통신연구원 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
KR102315524B1 (ko) * 2017-06-16 2021-10-21 한화테크윈 주식회사 영상의 비트레이트 조절 방법 및 영상 획득 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950010632A (ko) * 1993-09-17 1995-04-28 배순훈 동영상부호화기
KR20030000310A (ko) * 2001-06-23 2003-01-06 엘지전자 주식회사 영상 변환 부호화 장치
KR20060019801A (ko) * 2004-08-30 2006-03-06 삼성전자주식회사 동영상 부호화기의 비트율 제어장치 및 방법
KR20060083298A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 실시간 동영상 부호화 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950010632A (ko) * 1993-09-17 1995-04-28 배순훈 동영상부호화기
KR20030000310A (ko) * 2001-06-23 2003-01-06 엘지전자 주식회사 영상 변환 부호화 장치
KR20060019801A (ko) * 2004-08-30 2006-03-06 삼성전자주식회사 동영상 부호화기의 비트율 제어장치 및 방법
KR20060083298A (ko) * 2005-01-14 2006-07-20 엘지전자 주식회사 실시간 동영상 부호화 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023548A (ko) * 2017-08-29 2019-03-08 삼성전자주식회사 영상 부호화 장치
KR102543444B1 (ko) * 2017-08-29 2023-06-13 삼성전자주식회사 영상 부호화 장치

Also Published As

Publication number Publication date
KR20080010696A (ko) 2008-01-31

Similar Documents

Publication Publication Date Title
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
JP3871840B2 (ja) 圧縮動画像再符号化装置
KR101518358B1 (ko) 비디오 코딩에서 프레임 복잡성, 버퍼 레벨 및 인트라 프레임들의 위치를 이용하는 버퍼 기반의 비율 제어
US7532764B2 (en) Prediction method, apparatus, and medium for video encoder
JP5472105B2 (ja) 画像処理装置及び画像処理方法
KR100238066B1 (ko) 양자화활동도를 이용한 비트 발생량 제어방법 및 그 영상 부호화장치
US20090097546A1 (en) System and method for enhanced video communication using real-time scene-change detection for control of moving-picture encoding data rate
KR101282193B1 (ko) 칼만 필터와 fir 필터를 사용한 동영상 인코더에서의 비트율 제어 방법
KR100800838B1 (ko) 비디오 인코딩 데이터율 제어 방법
US20050036548A1 (en) Method and apparatus for selection of bit budget adjustment in dual pass encoding
US8442113B2 (en) Effective rate control for video encoding and transcoding
KR100834625B1 (ko) 비디오 인코딩 데이터율 제어를 위한 실시간 장면 전환검출 방법
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
KR100790148B1 (ko) 실시간 영상 복잡도 측정 방법
KR101336445B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR101490521B1 (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
KR101069254B1 (ko) H.264를 위한 프레임 단위 비트율 제어 방법
KR101197094B1 (ko) H.264/avc를 위한 통계 모델 기반의 비트율 제어 방법 및 장치
JP2007116655A (ja) 動画像符号化装置
KR20100004009A (ko) 실시간 h.264를 위한 적응적 프레임 비트율 제어 방법
JP4023451B2 (ja) 圧縮動画像再符号化装置及び圧縮動画像再符号化方法
KR100774455B1 (ko) 실시간 비디오 전송 응용을 위한 비트율 조절장치
JP4134572B2 (ja) 圧縮動画像の再符号化プログラム、再符号化装置および方法
JP4748126B2 (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: 20121228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee