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

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

Info

Publication number
KR101336445B1
KR101336445B1 KR1020070056196A KR20070056196A KR101336445B1 KR 101336445 B1 KR101336445 B1 KR 101336445B1 KR 1020070056196 A KR1020070056196 A KR 1020070056196A KR 20070056196 A KR20070056196 A KR 20070056196A KR 101336445 B1 KR101336445 B1 KR 101336445B1
Authority
KR
South Korea
Prior art keywords
frame
data rate
complexity
quantization parameter
bits
Prior art date
Application number
KR1020070056196A
Other languages
English (en)
Other versions
KR20080107867A (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 KR1020070056196A priority Critical patent/KR101336445B1/ko
Publication of KR20080107867A publication Critical patent/KR20080107867A/ko
Application granted granted Critical
Publication of KR101336445B1 publication Critical patent/KR101336445B1/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/142Detection of scene cut or scene change
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따른 데이터율 제어방법은 비디오 인코딩 데이터율 제어 방법에 있어서, (a)입력된 현재 프레임의 장면전환 여부를 확인하는 과정과, (b)인트라(Intra) 코딩 방식에 기초하여 장면전환을 나타내는 프레임에 대한 복잡도를 연산하는 과정과, (c)인트라 코딩 방식을 고려하여 상기 장면전환을 나타내는 프레임에 할당할 가용 비트를 예측하는 과정과, (d)연산된 프레임의 복잡도 및 예측된 가용 비트를 고려하여 양자화 파라미터(QP, Quantization Parameter)를 결정하는 과정을 포함한다.
Figure R1020070056196
비디오, 인코딩, 양자화, 장면 전환, 실시간, 데이터율

Description

비디오 인코딩 데이터율 제어 방법{METHOD FOR RATE CONTROL IN VIDEO ENCODING}
도 1은 본 발명의 일 실시예에 따른 비디오 인코더 장치의 블록 구성도.
도 2는 본 발명의 일 실시예에 따른 복잡도의 레벨을 예시하는 도면.
도 3은 본 발명의 일 실시예에 따른 16가지 영상에 대한 타겟 비트 값과 QP사이의 관계를 나타낸 그래프.
도 4는 본 발명의 일 실시예에 따른 영상에 대한 3가지 복잡도의 레벨에 대한 타겟 비트 값과 QP사이의 관계를 나타낸 그래프.
도 5는 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 동작의 흐름도.
도 6은 본 발명의 일 실시예에 따른 영상의 복잡도 판별을 위해 추출된 샘플을 예시하는 도면.
도 7은 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 방법의 테스트 결과를 나타낸 표.
도 8은 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 방법을 적용한 특정 영상의 Y-PSNR을 테스트한 결과를 나타낸 그래프.
본 발명은 비디오 인코딩(encoding)에 관한 기술로서, 특히 장면 전환된 프레임의 데이터율을 제어하는 방법에 관한 것이다.
최근, 휴대전화 네트워크, 컴퓨터 네트워크, 케이블 네트워크, 위성 네트워크 등의 디지털 네트워크를 통해 압축된 비디오 데이터를 실시간 스트리밍으로 사용자에게 제공하는 서비스가 실시되고 있다. 하지만, 네트워크를 통해 전송할 수 있는 데이터의 양은 한정되어 있으므로 고화질의 비디오 데이터를 실시간 스트리밍으로 사용자에게 제공하는 데는 한계가 있다.
이러한 한계를 극복하기 위한 방법으로써 비디오 인코딩의 데이터율 제어하는 방법이 제안되었다. 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.)를 통해 비디오 프레임 인코딩시 양자화 파라미터(QP: Quantization Parameter)를 조절하여 데이터 율을 제어하는 기술을 설명하고 있다.
H.264/AVC는 현재 프레임이 이전 프레임과 유사성이 있다는 전제 하에 인코딩 데이터율의 제어를 적용한다. 그런데, 비디오 인코딩시 인터(Inter) 모드에서 입력된 프레임이 장면 전환 프레임일 경우, 이전 프레임과 현재 프레임 사이에 유사성이 거의 존재하지 않으므로, 적절한 데이터 율 제어가 이루어지지 못하는 문제 가 발생한다.
따라서, 본 발명의 목적은 장면전환 영상에 대하여 효율적으로 비디오 데이터의 데이터 율을 제어하는 방법을 제공하는데 있다.
상기한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 데이터율 제어방법은 비디오 인코딩 데이터율 제어 방법에 있어서, (a)입력된 현재 프레임의 장면전환 여부를 확인하는 과정과, (b)인트라 코딩 방식에 기초하여 장면전환을 나타내는 프레임에 대한 복잡도를 연산하는 과정과, (c)인트라 코딩 방식을 고려하여 상기 장면전환을 나타내는 프레임에 할당할 가용 비트를 예측하는 과정과, (d)연산된 프레임의 상기 복잡도 및 예측된 상기 가용 비트를 고려하여 양자화 파라미터(QP, Quantization Parameter)를 결정하는 과정을 포함한다.
상기 (b)과정에서 연산된 상기 복잡도는 그 크기에 따라 미리 설정된 임계값을 기준으로 적어도 두 개의 크기로 지정된 비트 설정 레벨일 수 있다.
상기 (c)과정은 GOP(Group Of Picture) 내에 포함된 프레임 단위당 인트라 코딩에 사용된 비트 수와 인터 코딩에 사용된 비트 수의 비를 반영하여 프레임에 할당할 가용 비트를 예측하는 것이 바람직하다.
상기 (d)과정은 (d1)예측된 가용 비트를 고려하여 양자화 파라미터를 예측하는 과정과, (d2)예측한 양자화 파라미터가 미리 설정된 기준치 이내로 수렴하는 지를 확인하는 과정과, (d3)예측된 가용 비트를 반영하여 GOP(Group Of Picture) 내에 포함된 프레임 단위당 인트라 코딩에 사용된 비트 수와 인터 코딩에 사용된 비 트 수의 비를 다시 연산하는 과정과, (d4)상기 (d3)과정에서 연산된 비트 수의 비를 이용하여 프레임에 할당할 가용 비트를 다시 예측하는 과정을 포함하며, 상기 (d2)과정의 결과를 고려하여, 예측한 양자화 파라미터가 미리 설정된 기준치 이내로 수렴하면 그 값을 양자화 파라미터를 결정하고, 예측한 양자화 파라미터가 미리 설정된 기준치 이내로 수렴하지 못하면 상기 (d1), (d2), (d3) 및 (d4)과정을 반복하여 수행하는 것이 바람직하다.
상기 미리 설정된 기준치는 예측한 양자화 파라미터가 이전 과정에서 예측한 값과의 차이를 설정한 값일 수 있다.
상기 (b)과정은 픽셀 사이의 표준편차를 연산하는 것일 수 있다.
상기 (b)과정은 (b1)매크로블록의 에지부분에 위치한 픽셀들을 베이직 유닛으로 설정하는 과정과, (b2)상기 베이직 유닛에 포함된 픽셀의 편차를 평균화한 표준편차를 연산하는 과정을 포함한다.
상기 (b1)과정은 연산복잡도를 줄이는 측면에서 매크로블록들의 구비된 세로방향의 에지부분 픽셀들을 베이직 유닛으로 설정하되, 세로방향으로 이웃하는 매크로블록이 연속적으로 선택되지 않도록 이웃하는 매크로블록 중 선택된 하나의 매크로블록에 구비된 픽셀들만을 베이직 유닛으로 설정하거나, 가로방향의 에지부분 픽셀들을 베이직 유닛으로 설정하되, 가로방향으로 이웃하는 매크로블록이 연속적으로 선택되지 않도록 이웃하는 매크로블록 중 선택된 하나의 매크로블록에 구비된 픽셀들만을 베이직 유닛으로 설정할 수 있다.
본 발명의 다른 측면에 따른 비디오 인코더 장치는 연속적으로 입력된 비디 오 데이터를 부호화하는 인코더와, 상기 비디오 데이터의 부호화에 사용되는 양자화 파라미터(QP, Quantization Parameter)를 결정하여 제공하는 데이터율 제어장치를 포함하며, 상기 데이터율 제어장치는 장면전환을 나타내는 프레임에 대응하여, 인트라 코딩 방식에 기초하여 상기 프레임에 대한 복잡도를 연산하고, 상기 프레임에 할당할 가용 비트를 예측하고, 연산된 프레임의 복잡도 및 예측된 가용 비트를 고려하여 양자화 파라미터(QP, Quantization Parameter)를 결정한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 1은 본 발명이 적용되는 비디오 인코더 장치의 블록 구성도이다. 도 1을 참조하면, 본 발명이 적용되는 비디오 인코더 장치는 비디오 프레임 시퀀스를 입력받으며 출력으로서는 압축된 비디오 데이터를 출력하는 일반적인 H.264/AVC(Advanced Video Coding) 인코더(10)를 구비할 수 있다. 또한 프레임들을 저장하는 프레임 저장 메모리(20)와, 인코더(10)의 양자화 파라미터(QP: Quantization Parameter)를 설정하여 데이터율을 제어하는 데이터율 제어기(30)를 구비한다.
상기 인코더(10)는 주파수 변환기(104), 양자화기(106), 엔트로피 코 더(108), 인코더 버퍼(110), 역양자화기(116), 역주파수 변환기(114), 모션추정/보상기(120) 및 필터(112)를 포함한다.
인코딩을 위하여 입력된 프레임은 우선적으로 주파수 변환기(104)로 전달된다. 주파수 변환기(104)는 공간 도메인의 비디오 정보를 주파수 도메인(예를 들어 스펙트럼) 데이터로 변환하여 양자화기(106)로 전달한다. 이때 주파수변환기(104)는 통상 이산 코사인 변환(DCT: Discrete Cosine Transform)을 수행하여 매크로블록단위로 DCT 계수 블록을 생성한다.
양자화기(106)는 상기 주파수 변환기(104)에서 출력되는 스펙트럼 데이터 계수의 블록을 양자화하여 엔트로피 코더(108)에 제공한다. 이때 양자화기(106)는 통상 프레임별 기반으로 가변되는 스텝-크기로 스펙트럼 데이터에 일정한 스칼라 양자화를 적용한다. 이러한 양자화기(106)는 데이터율 컨트롤을 위해 프레임별로 양자화 파라미터(QP)의 가변 정보를 데이터율 제어기(30)의 QP조정부(36)로부터 제공받는다.
엔트로피 코더(108)는 해당 매크로블록의 특정 부가 정보(예를 들어, 모션 정보, 공간 보간법 모드, 양자화 파라미터)를 비롯하여, 양자화기(106)로부터의 출력을 압축한다. 통상적으로 적용되는 엔트로피 코딩 기술은, 산술 코딩, 허프만 코딩, 런 랭스(run-length) 코딩, LZ(Lempel Ziv) 코딩 등이 있다. 엔트로피 코더(108)는 통상 다른 종류의 정보에 다른 코딩 기술을 적용한다.
엔트로피 코더(108)에서 압축된 비디오 정보는 인코더 버퍼(110)에 버퍼링된다. 인코더 버퍼(110)의 버퍼 레벨 지시자는 데이터율 조절을 위해 데이터율 제어 기(30)로 제공된다. 인코더 버퍼(110)에 저장된 비디오 정보는 예를 들어 고정된 전송율로 인코더 버퍼(110)로부터 출력 및 삭제된다.
역주파수 변환기(114), 역양자화기(116), 모션추정/보상기(120), 디블록킹(deblocking) 필터(112) 등은 양자화되어 출력된 데이터를 참조 프레임으로 사용하기 위하여 동작한다. 즉, 양자화되어 출력된 데이터는 역양자화기(116) 및 역주파수 변환기(114)를 통과하면서 역양자화와 역 DCT변환된 매크로블록으로 출력된다. 그리고, 출력된 상기 매크로블록은 필요에 따라, 모션추정/보상기(120)에서 생성한 예측 매크로블록과 합쳐져 재 구성되고, 디블록킹(deblocking) 필터(112)를 통해 블록의 에지부분이 필터링 되어 프레임 저장 메모리(20)에 기준프레임으로 저장된다.
한편, 인코더(10)의 QP를 제어하는 데이터율 제어기(30)는 현재 프레임의 장면전환 여부를 확인하는 장면전환 검출부(32), 장면전환된 프레임의 복잡도를 연산하는 복잡도 연산부(34), 및 현재 프레임의 장면전환 여부 및 복잡도를 반영하여 QP를 설정하는 QP조정부(36)를 구비한다.
장면전환 검출부(32)는 현재 부호화 진행중인 프레임이 장면 전환된 프레임인지 아닌지를 확인하는 수단으로써, 상관(Correlation), 통계적 순차 분석(Statistical sequential analysis), 히스토그램(Histogram) 등의 방식을 이용하여 이웃하는 프레임간의 유사성을 확인하고, 복잡도 연산부(34) 및 QP조정부(36)로 제공한다.
본 발명의 실시예에서 이웃하는 프레임간의 유사성을 확인하여 현재 프레임 의 장면전환 여부를 확인하는 것을 예시하였으나, 본 발명이 이를 한정하는 것은 아니다. 예컨대, 현재 프레임과 기준 프레임간의 샘플(픽셀)간 오차 정보를 이용하여 장면 전환을 검출할 수도 있다. 나아가, 오차 정보를 이용하는 방법으로써, 본 발명의 출원인에 의해 선 출원된 특허 출원번호 제2002-39579호(명칭: 장면전환검출장치 및 그 방법, 발명자: 김문철, 출원일: 2002.7.9)에 개시된 방법을 채택할 수도 있다.
복잡도 연산부(34)는 프레임 내의 샘플(픽셀)간 유사성을 이용하여 인트라 코딩의 복잡도를 연산한다. 복잡도의 연산은 샘플(픽셀)간의 표준편차를 연산하는 것으로써 수행될 수 있다. 즉, 각 샘플 내에서 각 픽셀 사이의 편차를 연산하고, 연산된 각 샘플들의 평균값인 표준편차를 연산하는 것으로써, 프레임의 복잡도를 연산할 수 있다.
복잡도 연산부(34)가 프레임 전체 픽셀을 대상으로 하여 복잡도를 연산하게 될 경우, 불필요하게 많은 연산을 수행해야하므로 그 구조가 복잡하게 될 수 있다. 따라서, 복잡도 연산부(34)는 프레임 내에서 특정 부분의 샘플(픽셀)을 추출하고, 추출된 샘플 사이의 유사성을 이용하여 인트라 코딩의 복잡도를 연산하는 것이 바람직하다.
나아가, 복잡도 연산부(34)는 미리 정해진 기준에 기초하여 연산된 복잡도의 단계를 설정할 수도 있다. 예컨대, 도 2와 같이, 복잡도의 크기는 세 개의 단계로 설정되며, 복잡도 연산부(34)는 연산된 복잡도가 0이상 15미만이면 제1단계(저), 15이상 26미만이면 제2단계(중), 26이상이면 제3단계(고)로 결정할 수 있다.
상기 QP조정부(36)는 기본적으로 현재 전송환경에 따른 프레임의 타겟 비트 수(the number of target bits)를 추정한다. 그리고, 타겟 비트 값과 QP사이의 관계를 미리 정의한 데이터에, 상기 추정된 타겟 비트를 대입하여 양자화 파라미터(QP)를 설정한다. 여기서, 상기 미리 정의된 타겟 비트 값과 QP사이의 관계는 실험적인 데이터를 통해 획득된다. 예컨대, 16가지 영상에 대하여 각 영상의 첫 프레임을 인트라 코딩하면서 QCIF 사이즈에서 구할 수 있는 비트를 측정하고, 측정된 비트의 변화에 대응하는 QP 값을 획득한다. 즉, 각 영상의 첫 프레임을 인트라 코딩할 때 사용된 비트를 나타낸 X축 및 QP값을 나타낸 Y축 사이의 관계를 도시한 도 3과 같이, 타겟 비트 값과 QP사이의 관계를 설정한다.
그런데, QP조정부(36)가 할당된 비트에 따른 QP를 계산함에 있어서, 미리 설정된 16가지 경우에 모두 적용하여 QP를 결정하면, QP의 결정에 많은 연산을 필요로 하므로, 연산구조가 복잡해질 수 있고 연산에 많은 시간이 소요될 수 있다. 따라서, QP조정부(36)는 복잡도 연산부(34)로부터 수신한 복잡도를 반영하여 타겟 비트 값에 따른 QP를 설정하는 것이 바람직하다. 특히, QP조정부(36)는 복잡도 연산부(34)에 의해 결정된 3개의 단계에 대응하여 각 단계별로 하나의 QP 대 타겟 비트의 대표관계를 설정하는 것이 더욱 바람직하다. 즉, 수학식 1에 기재된 3차 다항식을 이용한 보간을 수행하여 타겟 비트 대 QP의 대표관계를 결정할 수 있다(도 4참조).
Figure 112007041820017-pat00001
A, B, C, D는 하기의 표 1에 기재된 각 단계에 따라 각각 적용되는 상수이고, x는 타겟 비트이고, y는 상기 A,B,C,D 및 x를 적용하여 계산된 QP값이다.
Figure 112007041820017-pat00002
도 5는 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 방법의 흐름도이다. 이하, 전술한 구성요소 및 도 5를 참조하여 본 발명의 실시예에 따른 비디오 인코딩 데이터율 제어 방법을 설명함으로써, 본 발명의 실시예에 따른 비디오 인코더 장치에 구비된 데이터율 제어기(30)의 동작을 설명한다.
우선, S100단계에서는 장면전환 검출부(32)가 현재 프레임과 이전 프레임간의 유사성을 확인하여 현재 프레임이 장면 전환된 프레임인지 아닌지를 확인한다. 그리고 그 결과를 복잡도 연산부(34) 및 QP조정부(36)로 제공한다. 그러면, 복잡도 연산부(34) 및 QP조정부(36)는 수신된 결과에 대응하여, 장면 전환이 일어나지 않았을 경우(S100-N) S200단계로 진행하고, 장면 전환이 일어났을 경우(S100-Y) S300단계로 진행한다.
S200단계로 진행하는 경우, QP조정부(36)는 JVT(Joint Video Team: ITU-T Video Coding Experts Group and ISO/IEC 14496-10 AVC Moving Picture Experts Group)에 개시된 바에 기초하여 하기 수학식 2 및 3에 따라 타겟 비트 Tb ,i를 추정한다.
Figure 112007041820017-pat00003
상기 수학식 2에서, NPre - inter ,i는 현재(i번째) 프레임을 인코딩하기 전의 코딩되지 않은 프레임 중에서 인터 모드로 코딩된 프레임 수를 나타내며, β와 Γ는 상수(통상 각각 0.5 와 0.75)이다. br은 미리 설정된 비트 레이트 [bit/sec], fr은 미리 설정된 프레임 레이트 [frame/sec]이다. CBF(Current Buffer Fullness)와 TBL(Target Buffer Level)에 대해서는, CBFi는 현재(i번째) 프레임이 코딩된 후 버퍼에 채워진 상태 값이며, TBLi는 현재(i번째) 프레임의 타겟 버퍼 레벨이다. 그리고, Rb ,i는 하기 수학식 3과 같다.
Figure 112007041820017-pat00004
상기 수학식 3에서 Nfr - inter는 해당 GOP(Group Of Picture) 내에서 인터 모드로 코딩된 프레임 수이며, br ,i 및 Gb ,i는 각각 활용 가능한 채널 대역폭 및 i번째 프레임에서 발생된 비트를 나타낸다.
다음으로, S210단계에서 QP조정부(36)는 상기 S200단계에서 추정한 타겟 비트가 양수인지를 확인한다. 추정한 타겟 비트가 양수일 경우에는 이후 S211단계로 진행하며, 음수일 경우에는 S220단계로 진행한다. S211단계에서는 해당 타겟 비트의 추정 값에 따른 QP를 계산한다. 이후 S212단계에서는 상기 S211단계에서 계산한 QP를 이전 QP와 비교하고, 그 증감 정도가 미리 설정된 범위(예컨대, -2 ~ +2 사이) 이내로 설정되도록 제한한다. 이후 S230단계에서는 현재 증가된 QP가 미리 설정된 최대 허용치(예를 들어 51)를 초과하지 않도록 제한한다.
한편, 상기 S210단계에서는 추정한 타겟 비트가 음수일 경우에 진행한 S220단계에서는 QP를 이전 QP에서 무조건 미리 설정된 증가치, 예를 들어 2증가 시킨 후 상기 S230단계로 진행하게 된다.
나아가, S300단계로 진행하는 경우 우선적으로 복잡도 연산부(34)가 프레임 내의 샘플(픽셀)간 유사성을 이용하여 인트라 코딩의 복잡도를 연산한다. 이때, 프레임 전체 픽셀을 대상으로 하여 복잡도를 연산하게 될 경우, 불필요하게 많은 연산을 수행해야하므로 복잡도 연산부(34)의 연산부하가 가중될 수 있다. 따라서, 복잡도 연산부(34)는 프레임 내에서 특정 부분의 샘플(픽셀)을 추출하고, 추출된 샘플 사이의 유사성을 이용하여 인트라 코딩의 복잡도를 연산하는 것이 바람직하다.
여기서, 인트라 코딩은 공간영역에서 매크로블록 단위를 기준으로 각 블록의 왼쪽 에지부분의 화소들을 참조하여 예측을 수행하므로, 예측된 매크로블록의 휘도값은 각 블록의 에지부분의 값을 그대로 반영한 값일 수 있다. 따라서, 복잡도 연산부(34)가 프레임 내에서 복잡도를 연산하기 위한 샘플로서, 각 매크로블록의 왼쪽 에지부분에 위치한 픽셀들을 추출하는 것이 바람직하다. 나아가, 복잡도 연산부(34)는 연산 구조를 더 줄이기 위하여, 도 3과 같이 매크로블록의 세로방향 에지부분에 위치한 픽셀들을 샘플로 추출하되, 세로방향으로 이웃하는 매크로블록에서 에지부분에 위치한 픽셀들을 연속적으로 추출하지 않을 수도 있다. 즉, 매크로블록의 세로방향 에지부분에 위치한 픽셀들을 샘플로 추출하되, 세로방향으로 이웃하는 매크로블록에서는 두 개의 매크로블록 단위당 하나의 샘플을 추출할 수 있다. 이때, 본 발명의 실시예에서 인트라 코딩은 16x16픽셀로 이루어진 블록을 기준으로 인트라 예측을 수행하는 것을 예시하며, 복잡도 연산부(34)가 추출한 픽셀들은 매크로블록에서 에지부분의 16x1 픽셀일 수 있다.
비록, 본 발명의 실시예에서 복잡도 연산부(34)가 상기와 같이 프레임 내에서 특정 부분의 샘플(픽셀)을 추출하는 것으로서 에지부분에 위치한 픽셀들 중 일부분을 선택적으로 추출하는 것을 예시하였다. 그러나, 본 발명이 이를 한정하는 것은 아니며, 복잡도 연산부(34)의 연산구조를 간단하게 구현할 수 있도록 샘플(픽셀)을 추출할 수 있으면 충분하다.
다음으로, S300단계의 진행이 완료되면, QP조정부(36)는 타겟 비트를 추정하는 과정을 진행한다.
장면전환이 일어나는 경우, 인터 모드보다 인트라 모드가 상대적으로 왜곡률이 낮으므로 인트라 모드로 코딩되는 것이 바람직하다. 따라서, QP조정부(36)는 장면 전환된 현재(i번째) 프레임의 인트라 모드에 기초한 타겟 비트 추정을 하기 위하여 우선적으로 하기의 수학식 4에 따라서, GOP 내에 포함된 프레임 단위당 인트라 코딩에 사용된 비트 수와 인터 모드로 코딩된 프레임의 수의 비를 나타내는 RatioIP를 연산한다(S310).
Figure 112007041820017-pat00005
Bitintra는 인트라 코딩에 사용된 비트 수이고 Nfr - intra GOP 내에 포함된 인트라 모드로 코딩된 프레임의 수이고, Bitinter는 인터 코딩에 사용된 비트 수이고 Nfr - inter GOP 내에 포함된 인터 모드로 코딩된 프레임의 수이다.
그런 다음, QP조정부(36)는 S310단계에서 연산된 RatioIP를 이용하여 하기의 수학식 5에 기초하여 타겟 비트 값을 추정한다(S320).
상기 수학식 5에 사용된 변수들은 상기 수학식 2와 동일하되, RatioIP가 반 영되는 것이 다르다.
S320단계를 통해 타겟 비트 값의 추정을 완료하면, S330단계에서는 QP조정부(36)는 미리 설정된 기준에 S320단계를 통해 추정된 타겟 비트 값과 S300단계를 통해 연산된 복잡도를 반영하여 QP 값을 추정한다. 그리고, S330단계에서 추정된 QP값을 이전에 연산한 QP값과 비교(S340)하여 수렴여부를 판단한다. 즉, S330단계에서 추정된 QP값과 이전에 연산한 QP값의 차이가 2이상(S340-N)이면 S310단계로 돌아가 S330단계에서 추정된 QP값을 반영하여 RatioIP를 재설정하고, S320, S330, S340단계를 반복적으로 수행하여 QP값이 수렴되게 한다. 반면, QP값과 이전에 연산한 QP값의 차이가 2미만(S340-Y)이면 S330단계에서 추정된 QP값을 데이터율 제어를 위한 QP값으로 설정한다(S400).
상기와 같은 본 발명에 따른 인코딩 데이터율 제어 방식의 유효성을 알아보기 위하여, QCIF 크기의 16개 영상을 휘도(luminance)에 따라 배열한 후 4개의 영상을 묶어 하나의 장면전환 영상으로 설정하여 새로운 임의의 테스트 시퀀스 영상을 만들었다. 그리고, 밝은 순으로 정렬하여 만든 장면전환 영상을 B1, B2, B3, B4로 지정하고, 어두운 순으로 정렬하여 만든 장면전환 영상을 D1, D2, D3, D4로 지정하였다.
그런 다음, 생성된 영상에 대하여 JM9.8 방식과 본 발명에 따른 데이터율 제어 방식을 수행하고, 타겟 비트가 19.2kbps, 38.4kbps, 76.8kbps일 때의 SnrY(Y-PSNR(Peak Signal to Noise Ratio)), StDe(Standard deviation of Y-PSNR), Ebps(Encoded bit rate) 등을 측정하여 그 결과를 각각 도 7의 표에 기재하였다. 그리고, JM9.8 방식에 비하여 그 결과값이 향상된 부분은 노란색의 바탕으로 표시하였다. 특히, 타겟 비트가 38.4kbps일 때 D2의 영상에 대하여 Y-PSNR을 측정한 결과를 도 8의 그래프를 통해 도시하였다.
도 7을 참조하면, 본 발명에 따른 데이터율 제어 방법은 JM9.8 방식에 비하여 거의 대부분의 결과값이 향상되었음을 확인할 수 있으며, 장면 전환이 있는 영상에 대해 비디오 품질이 평균 0.6dB, 최대 1.6dB 정도 개선하고 프레임당 비디오 품질의 변화 정도도 평균 18.6% 향상시키고 있음을 알 수 있다.
또한, 도 8을 참조하면, 첫번째 방면전환 이전까지 두 방식의 PSNR은 같다. 첫번째 장면전환 이후, 본 발명에 따른 데이터율 제어 방법을 적용한 경우가 JM9.8 방식을 적용한 경우에 비하여 상대적으로 PSNR이 높게 측정되고, PSNR의 변동성이 적음을 알 수 있다. 즉, JM9.8 방식을 적용한 경우, 첫번째 장면전환이 발생한 이후의 프레임에 필요 이상으로 많은 비트를 할당함에 따라, QP값이 증가하여 전체적으로 비디오 데이터의 열화가 발생함을 알 수 있다. 그리고, 본 발명에 따른 데이터율 제어 방법을 적용한 경우 장면전환 프레임에 적절한 QP값을 할당하여 비디오 데이터의 부호화가 안정적으로 진행될 수 있음을 알 수 있다.
상기와 같이 본 발명의 일 실시예에 따른 비디오 인코딩 데이터율 제어 동작이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 본 발명의 비디오 인코딩 데이터율 제어 방식은 주어진 비트율이 낮고 프레임율이 높아 가용 비트가 적은 응용분야에서 장면 전환 발생시에도 안정적으로 데이터율을 제어할 수 있다.

Claims (12)

  1. 비디오 인코딩 데이터율 제어 방법에 있어서,
    (a)입력된 현재 프레임의 장면전환 여부를 확인하는 과정과,
    (b)인트라 코딩 방식에 기초하여 장면전환을 나타내는 프레임에 대한 복잡도를 연산하는 과정과,
    (c)인트라 코딩 방식을 고려하여 상기 장면전환을 나타내는 프레임에 할당할 가용 비트를 예측하는 과정과,
    (d)연산된 프레임의 복잡도 및 예측된 가용 비트를 고려하여 양자화 파라미터(QP, Quantization Parameter)를 결정하는 과정을 포함함을 특징으로 하는 데이터율 제어방법.
  2. 제1항에 있어서, 상기 (b)과정에서 연산된 상기 복잡도는 그 크기에 따라 미리 설정된 임계값을 기준으로 적어도 두 개의 크기로 지정된 비트 설정 레벨인 것을 특징으로 하는 데이터율 제어방법.
  3. 제1항 또는 제2항에 있어서, 상기 (c)과정은 GOP(Group Of Picture) 내에 포함된 프레임 단위당 인트라 코딩에 사용된 비트 수와 인터 코딩에 사용된 비트 수의 비를 반영하여 프레임에 할당할 가용 비트를 예측하는 것을 특징으로 하는 데이터율 제어방법.
  4. 제3항에 있어서, 상기 (d)과정은,
    (d1)예측된 가용 비트를 고려하여 양자화 파라미터를 예측하는 과정과,
    (d2)예측한 양자화 파라미터가 미리 설정된 기준치 이내로 수렴하는 지를 확인하는 과정과,
    (d3)예측된 가용 비트를 반영하여 GOP(Group Of Picture) 내에 포함된 프레임 단위당 인트라 코딩에 사용된 비트 수와 인터 코딩에 사용된 비트 수의 비를 다시 연산하는 과정과,
    (d4)상기 (d3)과정에서 연산된 비트 수의 비를 이용하여 프레임에 할당할 가용 비트를 다시 예측하는 과정을 포함하며,
    상기 (d2)과정의 결과를 고려하여, 예측한 양자화 파라미터가 미리 설정된 기준치 이내로 수렴하면 그 값을 양자화 파라미터로 결정하고, 예측한 양자화 파라미터가 미리 설정된 기준치를 초과하면 상기 (d1), (d2), (d3) 및 (d4)과정을 반복하여 수행하는 것을 특징으로 하는 데이터율 제어방법.
  5. 제4항에 있어서, 상기 미리 설정된 기준치는 예측한 양자화 파라미터가 이전 과정에서 예측한 값과의 차이를 설정한 값인 것을 특징으로 하는 데이터율 제어방법.
  6. 제1항에 있어서, 상기 (b)과정은 픽셀 사이의 표준편차를 연산하는 것을 특 징으로 하는 데이터율 제어방법.
  7. 제1항에 있어서, 상기 (b)과정은,
    (b1)매크로블록의 에지부분에 위치한 픽셀들을 베이직 유닛으로 설정하는 과정과,
    (b2)상기 베이직 유닛에 포함된 픽셀의 편차를 평균화한 표준편차를 연산하는 과정을 포함함을 특징으로 하는 데이터율 제어방법.
  8. 제7항에 있어서, 상기 (b1)과정은
    매크로블록들의 구비된 세로방향의 에지부분 픽셀들을 베이직 유닛으로 설정하되, 세로방향으로 이웃하는 매크로블록이 연속적으로 선택되지 않도록 이웃하는 매크로블록 중 선택된 하나의 매크로블록에 구비된 픽셀들만을 베이직 유닛으로 설정하거나,
    가로방향의 에지부분 픽셀들을 베이직 유닛으로 설정하되, 가로방향으로 이웃하는 매크로블록이 연속적으로 선택되지 않도록 이웃하는 매크로블록 중 선택된 하나의 매크로블록에 구비된 픽셀들만을 베이직 유닛으로 설정하는 것을 특징으로 하는 데이터율 제어방법.
  9. 연속적으로 입력된 비디오 데이터를 부호화하는 인코더와, 상기 비디오 데이터의 부호화에 사용되는 양자화 파라미터(QP, Quantization Parameter)를 결정하여 제공하는 데이터율 제어장치를 포함하는 비디오 인코더 장치에 있어서,
    상기 데이터율 제어장치는,
    장면전환을 나타내는 프레임에 대응하여, 인트라 코딩 방식에 기초하여 상기 프레임에 대한 복잡도를 연산하고, 상기 프레임에 할당할 가용 비트를 예측하고, 연산된 프레임의 복잡도 및 예측된 가용 비트를 고려하여 양자화 파라미터(QP, Quantization Parameter)를 결정하는 것을 특징으로 하는 비디오 인코더 장치.
  10. 제9항에 있어서, 상기 데이터율 제어장치는 GOP(Group Of Picture) 내에 포함된 프레임 단위당 인트라 코딩에 사용된 비트 수와 인터 코딩에 사용된 비트 수의 비를 반영하여 프레임에 할당할 가용 비트를 예측하는 것을 특징으로 하는 비디오 인코더 장치.
  11. 제9항에 있어서, 상기 데이터율 제어장치는 픽셀 사이의 표준편차를 산출하여 복잡도를 연산하는 것을 특징으로 하는 비디오 인코더 장치.
  12. 제9항에 있어서, 상기 데이터율 제어장치는 매크로블록의 에지부분에 위치한 픽셀들의 편차를 평균화한 표준편차를 산출하여 복잡도를 연산하는 것을 특징으로 하는 비디오 인코더 장치.
KR1020070056196A 2007-06-08 2007-06-08 비디오 인코딩 데이터율 제어 방법 KR101336445B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070056196A KR101336445B1 (ko) 2007-06-08 2007-06-08 비디오 인코딩 데이터율 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070056196A KR101336445B1 (ko) 2007-06-08 2007-06-08 비디오 인코딩 데이터율 제어 방법

Publications (2)

Publication Number Publication Date
KR20080107867A KR20080107867A (ko) 2008-12-11
KR101336445B1 true KR101336445B1 (ko) 2013-12-04

Family

ID=40368008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070056196A KR101336445B1 (ko) 2007-06-08 2007-06-08 비디오 인코딩 데이터율 제어 방법

Country Status (1)

Country Link
KR (1) KR101336445B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101060495B1 (ko) 2009-03-19 2011-08-30 주식회사 코아로직 인코딩 장치와 방법 및 그 인코딩 장치를 포함한 멀티미디어 장치
US9794569B2 (en) * 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
CN113473131B (zh) * 2021-07-01 2023-12-29 成都国科微电子有限公司 视频编码码率动态调节方法、装置、电子设备及存储介质
CN113949872B (zh) * 2021-11-09 2024-06-25 华侨大学 一种基于3D-Gradient引导的屏幕内容视频编码码率控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010064266A (ko) * 1999-12-27 2001-07-09 오길록 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법
KR20030082818A (ko) * 2002-04-18 2003-10-23 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
KR20060101899A (ko) * 2005-03-22 2006-09-27 엘지전자 주식회사 엠펙비디오 인코더의 인트라 프레임 양자화 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010064266A (ko) * 1999-12-27 2001-07-09 오길록 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법
KR20030082818A (ko) * 2002-04-18 2003-10-23 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
KR20060101899A (ko) * 2005-03-22 2006-09-27 엘지전자 주식회사 엠펙비디오 인코더의 인트라 프레임 양자화 시스템 및 방법

Also Published As

Publication number Publication date
KR20080107867A (ko) 2008-12-11

Similar Documents

Publication Publication Date Title
US9071840B2 (en) Encoder with adaptive rate control for H.264
KR101518358B1 (ko) 비디오 코딩에서 프레임 복잡성, 버퍼 레벨 및 인트라 프레임들의 위치를 이용하는 버퍼 기반의 비율 제어
JP3748717B2 (ja) 動画像符号化装置
US8031774B2 (en) Video encoding methods and systems with frame-layer rate control
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
KR100723507B1 (ko) I-프레임 움직임 예측을 이용한 동영상 압축 장치의 적응양자화 제어기 및 적응 양자화 제어 방법
US20070009025A1 (en) Method and apparatus for operational frame-layer rate control in video encoder
EP1992169B1 (en) Method and apparatus for bit rate control in scalable video signal encoding using a rate-distortion optimisation
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
JP2009528798A (ja) アーチファクト評価による向上した画像/ビデオ品質
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
US8165202B1 (en) Video compression rate
KR101336445B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR100834625B1 (ko) 비디오 인코딩 데이터율 제어를 위한 실시간 장면 전환검출 방법
JP5649296B2 (ja) 画像符号化装置
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
KR100790148B1 (ko) 실시간 영상 복잡도 측정 방법
KR100800838B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR100807330B1 (ko) H.264/avc 인코더의 인트라 매크로블록 모드 스킵 방법
JP3858520B2 (ja) 動画像符号化装置及びその方法
KR101490521B1 (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
KR100963322B1 (ko) 실시간 h.264를 위한 적응적 프레임 비트율 제어 방법
KR100809013B1 (ko) 복잡도 가변형 동영상 부호화 장치 및 그 방법
Lim et al. Rate control based on linear regression for H. 264/MPEG-4 AVC
KR100918560B1 (ko) 실시간 h.263 영상 부호율 제어를 위한 비트량 예측 장치및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee