KR100746589B1 - 동영상 프레임의 초정밀 비트량 제어방법 - Google Patents

동영상 프레임의 초정밀 비트량 제어방법 Download PDF

Info

Publication number
KR100746589B1
KR100746589B1 KR1020050042956A KR20050042956A KR100746589B1 KR 100746589 B1 KR100746589 B1 KR 100746589B1 KR 1020050042956 A KR1020050042956 A KR 1020050042956A KR 20050042956 A KR20050042956 A KR 20050042956A KR 100746589 B1 KR100746589 B1 KR 100746589B1
Authority
KR
South Korea
Prior art keywords
bit amount
amount
macroblocks
quantization parameter
generated
Prior art date
Application number
KR1020050042956A
Other languages
English (en)
Other versions
KR20060120787A (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 KR1020050042956A priority Critical patent/KR100746589B1/ko
Publication of KR20060120787A publication Critical patent/KR20060120787A/ko
Application granted granted Critical
Publication of KR100746589B1 publication Critical patent/KR100746589B1/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/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

본 발명은 조절할 매크로 블록의 위치와 개수를 적응적으로 선택후 그의 양자화 매개변수를 조절하여 각 압축된 프레임의 생성 비트량을 목표 비트량과 정확히 일치시킬 수 있도록 하는 동영상 프레임의 초정밀 비트량 제어방법으로, 이는 압축된 각 프레임의 생성 비트량과 목표 비트량을 비교하여 생성 비트량이 목표 비트량보다 크면 소정 매크로 블록들의 양자화 매개변수를 증가시켜 생성 비트량을 감소시켜 목표 비트량에 생성 비트량을 근접시키며, 비트량을 감소시켜도 생성 비트량과 목표 비트량의 대소관계가 여전히 변하지 않으면 조절할 매크로 블록의 개수를 증가시켜 그의 양자화 매개변수를 증가시켜 생성 비트량을 감소시키며, 생성 비트량이 목표 비트량보다 작으면 소정 매크로 블록들의 양자화 매개변수를 감소시켜서 생성 비트량을 증가시켜 생성 비트량을 목표 비트량에 근접시키며, 생성 비트량을 증가시켜도 생성 비트량과 목표 비트량의 대소관계가 변하지 않으면 조절할 매크로 블록의 개수를 증가시켜 그의 양자화 매개변수를 감소시켜서 생성 비트량을 증가시켜 목표 비트량과 생성 비트량을 일치시키도록 함에 의해 달성된다.
동영상 프레임, 비트량, 비트율, 제어, 매크로 블록, 양자화 매개변수

Description

동영상 프레임의 초정밀 비트량 제어방법{METHOD OF ULTRA-FINE BIT COUNT CONTROL OF VIDEO FRAME}
도 1은 일반적인 비트량 제어장치가 포함된 동영상 부호화 시스템의 블록 구성도.
도 2는 본 발명에 따른 동영상 프레임의 초정밀 비트량 제어방법의 개념도.
도 3은 도 2의 비트량 감소과정의 상세 흐름도.
도 4는 본 발명에서 조절될 매크로 블록의 순서에 대한 설명도.
도 5는 도 3의 비트량 제어종료 결정 과정의 상세 흐름도.
도 6은 도 2의 비트량 증가과정의 상세 흐름도.
도 7은 도 2의 비트량 안정화 과정의 상세 흐름도.
<도면의 주요부분에 대한 부호의 설명>
110 : 감산기 120 : DCT부
130 : 양자화부 140 : 부호화부
150 : 역양자화부 160 : 역DCT부
170 : 가산기 180 : 프레임 메모리
190 : 움직임 추정부 200 : 비트량 제어부
본 발명은 동영상 프레임의 비트량 제어방법에 관한 것으로, 특히 동영상 압축시 각 압축된 프레임의 생성 비트량을 목표 비트량과 정확히 일치시킬 수 있도록 하는 동영상 프레임의 초정밀 비트량 제어방법에 관한 것이다.
디지털 동영상은 표현 정보량이 방대하기 때문에 영상 압축 기술이 필요하며, 최근의 저장 미디어 시스템, 통신 저장 방송 미디어 통합 시스템을 위한 동영상 압축 국제 표준인 MPEG(Moving Picture Experts Group)이나 저속 통신용 비디오 부호화 표준인 H.263등에서 제안된 DPCM(Differential Pulse Coded Modulation)/DCT(Discrete Cosine Transform) 복합 부호화기에서 부호화된 영상의 가변적인 데이터 발생량을 고정된 전송율로 전송할 때 사용되는 버퍼의 오버플로우(overflow)나 언더플로우(underflow) 없이 안정된 화질을 얻기 위한 비트량 제어는 영상 부호화기에서 매우 중요한 요소이다.
도 1은 종래 동영상 부호화 시스템의 비트량 제어장치를 도시한 것으로, 감산기(110), DCT(Discrete Cosine Transform)부(120), 양자화(Quantization : Q)부(130), 부호화부(140), 역양자화(Inverse Quantization: IQ)부(150), 역DCT(Inverse Discrete Cosine Transform)부(160), 가산기(170), 프레임 메모리(180), 움직임 추정(Motion Estimation: ME)부(190) 및 비트량 제어부(200)를 포함 하여 구성된다.
상기 감산기(110)는 입력 영상과 움직임 추정부(190)에서 움직임이 보상된 영상의 차분을 출력하게 되며, DCT부(120)는 8ㅧ8 화소 블록 단위로 입력되는 영상 비트 스트림에 대해 DCT 연산을 수행하고, 양자화부(130)는 DCT부(120)에서 얻어진 DCT 계수에 대해 양자화 매개변수(Quantization Parameter)를 이용하여 양자화를 수행하여 몇 개의 대표값으로 표현함으로써 고효율 손실압축을 수행한다. 상기 부호화부(140)는 가변길이 부호화(Variable Length Coding: VLC)부로서 입력된 비트 스트림에 대해 가변 길이 부호화를 수행하여 부호화된 비트 스트림을 버퍼로 전송한다.
상기 역양자화부(150)는 양자화부(130)에서 양자화된 영상 데이터를 역양자화하며, 역DCT부(160)는 역양자화부(150)에서 역양자화된 영상 데이터에 대해 역DCT변환을 수행하며, 역DCT부(150)의 출력은 가산기(170)에서 움직임 추정부(190)를 통해 움직임 보상된 신호와 합산되며, 이는 프레임 메모리(180)에 프레임 단위로 저장된다.
상기 움직임 추정부(190)는 프레임 메모리(180)로부터 입력되는 다음 부호화하고자 하는 영상의 움직임을 예측하게 되는데, 현재 영상과 움직임을 예측하고자하는 영상을 비교하여 움직임 벡터(MV)를 구한 후, 움직임 벡터값에 따라 움직임이 보상된 영상을 감산기(110) 및 상기 가산기(170)로 출력하게 된다.
그리고 비트량 제어부(200)는 부호화부(140)의 출력 비트량에 따라 양자화부(130)의 양자화 매개변수를 조절하여 비트량을 제어하도록 되어 있다.
이와 같이 종래는 각 프레임의 비트량을 목표비트량에 맞추기 위해 양자화 매개변수와 비트량과의 관계를 다양한 방법으로 예측하여 양자화 매개변수를 조절함으로써 비트량을 제어하고 있다.
그러나 입력영상의 특성이 다양하고 예측이 어렵기 때문에 예측오류가 항상 발생하여 각 프레임의 생성 비트량을 목표 비트량에 100% 정확히 맞출 수가 없었다.
또한, 국내특허출원번호 제1998-15859호에는 목표 부호량에 근접시킨 영상신호 부호화방법 및 그에 따른 장치가 개시되어 있다.
이는 초기 양자화 스텝사이즈에 의해 부호화된 영상데이터의 부호량을 목표부호량과 비교하여 목표 부호량에 근접하도록 양자화스텝사이즈를 결정하여 부호화하도록 되어 있다.
일 예를 들어, 각 프레임의 목표 비트량이 1000 bit라고 할 경우, 첫 번째 프레임을 부호화 하니 생성 비트량이 900 bit가 나왔다면 그 다음 프레임의 목표 비트량은 1100 bit로 상향 조정된다. 이 두 번째 프레임을 부호화 하니 생성 비트량이 1170 bit가 나왔다면, 세 번째 프레임의 목표 비트량은 930 bit 하향 조정된다. 따라서 평균적으로 각 프레임의 생성 비트량은 1000 bit가 유지된다. 그러나 정확히 1000 bit가 되지는 않는다.
즉, 부호화된 부호량과 목표 부호량을 비교하여 목표 부호량에 근접하도록 되어 있을 뿐, 부호화된 부호량을 목표 부호량에 정확히 일치시키기에는 어려움이 있었다.
또한, "An accurate bit-rate control for real-time MPEG video encoder( 김태용, Signal Processing Image Communication, 2003년 3월)"는 코드워드(Codeword) 길이와 비트량과의 관계를 수학적으로 모델링하여 비트량을 제어하도록 되어 있다. 그러나 모델링 에러로 인해 생성 비트량을 100% 정확하게 제어하지 못한다.
본 발명은 이러한 점을 감안한 것으로, 본 발명의 목적은 매크로 블록의 위치와 개수를 적응적으로 선택후 그의 양자화 매개변수를 조절하여 각 압축된 프레임의 생성 비트량을 목표 비트량과 빠르고 정확하게 일치시킬 수 있도록 한 동영상 프레임의 초정밀 비트량 제어방법을 제공함에 있다.
본 발명의 다른 목적은 입력 영상의 다양한 특성에 관계없이 적용 가능한 동영상 프레임의 초정밀 비트량 제어방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 동영상 프레임의 초정밀 비트량 제어방법은, 압축된 동영상 프레임의 비트량을 제어하는 방법에 있어서, 압축된 각 프레임의 생성 비트량과 목표 비트량을 비교하는 제1 과정; 상기 비교 결과 생성 비트량이 목표 비트량보다 크면 소정 매크로 블록들의 양자화 매개변수를 증가시켜서 생성 비트량을 감소시켜 목표 비트량에 생성 비트량을 근접시키며, 생성 비트량 을 감소시켜도 생성 비트량과 목표 비트량의 대소관계가 변하지 않으면 조절할 매크로 블록의 개수를 증가시키고 그의 양자화 매개변수를 증가시켜서 생성 비트량을 감소시켜 생성 비트량을 목표 비트량에 더욱 근접시키는 제2 과정; 및 상기 비교 결과 생성 비트량이 목표 비트량보다 작으면 소정 매크로 블록들의 양자화 매개변수를 감소시켜서 생성 비트량을 증가시켜 생성 비트량을 목표 비트량에 근접시키며, 생성 비트량을 증가시켜도 생성 비트량과 목표 비트량의 대소관계가 변하지 않으면 조절할 매크로 블록의 개수를 증가시키고 그의 양자화 매개변수를 감소시켜서 생성 비트량을 증가시켜 생성 비트량을 목표 비트량에 더욱 근접시키는 제3 과정;을 포함하는 것을 특징으로 한다.
상기 제1 과정의 비교 결과 생성 비트량이 목표 비트량보다 클 경우, 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 초기화하는 제1 단계; 상기 개수의 매크로 블록의 양자화 매개변수를 증가시키는 제2 단계; 상기 양자화 매개변수를 증가시킨 매크로 블록들에 대해 양자화 및 가변길이 부호화하는 제3 단계; 상기 부호화된 프레임의 생성 비트량과 목표 비트량을 비교하는 제4 단계; 및 비교결과 생성 비트량과 목표 비트량이 동일하면 종료하고, 생성 비트량이 목표 비트량보다 크면 생성 비트량이 목표 비트량과 동일 또는 생성 비트량이 목표 비트량보다 작아질 때까지 상기 제2 단계 내지 제 4단계를 반복 수행하는 제5 단계;를 수행하도록 된 것을 특징으로 한다.
또한, 본 발명은 생성 비트량이 목표 비트량보다 작을 경우나 상기 생성 비트량을 감소시키는 과정에서 생성 비트량이 목표 비트량보다 작아질 경우, 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 재조정하는 제 1단계; 감소불가집합에 포함되지 않은 상기 개수의 매크로 블록의 양자화 매개변수를 감소시키는 제2 단계; 상기 감소된 양자화 매개변수의 매크로 블록들에 대해 양자화 및 가변길이 부호화하는 제3 단계; 상기 부호화된 프레임의 생성 비트량과 목표 비트량을 비교하는 제4 단계; 및 비교결과 생성 비트량과 목표 비트량이 동일하면 종료하고, 생성 비트량이 목표 비트량보다 작으면 생성 비트량이 목표 비트량과 동일 또는 생성 비트량이 목표 비트량보다 커질 때까지 상기 제2 단계 내지 제 4단계를 반복 수행하는 제5 단계를 수행함을 특징으로 한다.
또한, 본 발명은 생성 비트량이 목표 비트량보다 작아 비트량 증가를 행하다가 다시 생성 비트량이 목표 비트량보다 커질 경우, 상기 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값과 최소 임계치를 비교하는 제1 단계; 상기 비교결과 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값이 최소 임계치 이하이면 바로 이전에 감소시킨 양자화 매개변수들의 매크로 블록들을 감소불가집합에 추가하고, 바로 이전에 감소시킨 양자화 매개변수들을 이전 상태로 되돌린 후, 상기 제2 단계로 리턴하여 다시 비트량을 증가시키는 제2 단계; 상기 비교결과 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값이 최소 임계치보다 크면 바로 이전에 감소시킨 양자화 매개변수들을 이전 상태로 되돌리는 제3 단계; 상기 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 감소시키는 제4 단계; 감소불가집합에 포함되지 않은 소정 개수의 매크로 블록의 양자화 매개변수들을 감소시키고 감소된 양자화 매개변수의 매크로 블록들에 대해 양자화 및 가변길이 부호화하는 제5 단계; 상기 부호화된 프레임의 생성 비트량과 목표 비트량을 비교하는 제6 단계; 및 비교결과 생성 비트량과 목표 비트량이 동일하면 종료하며, 생성 비트량이 목표 비트량보다 크면 상기 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값과 최소 임계치를 비교하는 제1 단계로 리턴하고, 생성 비트량이 목표 비트량보다 작으면 생성 비트량이 목표 비트량과 동일해질 때까지 상기 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 감소시키는 제4 단계 이하를 반복 수행하는 제7 단계를 수행함을 특징으로 한다.
이하, 본 발명을 첨부된 도면을 참조로 하여 보다 상세하게 설명한다. 단, 하기 실시예는 본 발명을 예시하는 것일 뿐 본 발명의 내용이 하기 실시예에 한정되는 것은 아니다.
본 발명은 도 1과 같은 종래 동영상 부호화 시스템의 비트량 제어장치에서 비트량 제어부(200)의 초정밀 비트량 제어 알고리즘을 매크로 블록의 위치와 개수를 적응적으로 선택하여 압축된 프레임의 비트량을 목표 비트량과 정확히 일치시킬 수 있도록 구현한다.
상기 비트량 제어부(200)의 초정밀 비트량 제어 알고리즘은 압축된 프레임의 비트량이 목표 비트량보다 크면 일부 매크로블럭들의 기존 양자화 매개변수들을 증가시켜 양자화와 가변길이 부호화를 다시 수행한 후, 부호화부(140) 후단의 버퍼에 저장된 데이터 중 재부호화된 매크로블럭들을 치환하고, 압축된 프레임의 비트량이 목표 비트량보다 작으면 기존의 양자화 매개변수들을 감소시켜 양자화와 가변길이 부호화를 다시 수행한 후, 상기 부호화부(140) 후단의 버퍼에 저장된 데이터중 재 부호화된 매크로블럭들을 치환하며, 이 과정에서 양자화 매개변수를 조절해도 여전히 압축된 프레임의 비트량과 목표 비트량의 대소관계가 이전과 같으면 조절하는 양자화 매개변수들의 개수를 증가시키고, 반대로 프레임의 비트량과 목표 비트량의 대소관계가 이전 대비 역전되면 조절하는 양자화 매개변수들의 개수를 줄여서 재부호화하며, 이 과정을 압축된 프레임의 비트량을 목표 비트량과 일치할 때까지 반복한다.
이와 같은 본 발명의 비트량 제어부(200)의 초정밀 비트량 제어 알고리즘에 대하여 도 2 내지 도 7과 함께 보다 상세히 살펴본다.
먼저, 비트량 제어부(200)에 의한 초정밀 비트량 제어 과정은 1차 동영상 압축이 이루어진 후처리과정으로써 수행되며, 도 2의 흐름도에 도시한 바와 같이, 초기의 생성 비트량과 목표 비트량을 비교하여(S100) 생성 비트량이 목표 비트량보다 크면 DEC_START 링크를 통해 비트량 감소과정(S200)으로 이동하여 비트량을 감소시키고, 생성 비트량이 목표 비트량보다 작으면 INC_START 링크를 통해 비트량 증가과정(S300)으로 이동하여 비트량을 증가시키게 된다.
비트량 감소과정(S200)은 도 3의 흐름도와 같이, 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수(이하, N이라 칭함)값을 초기화 한 후(S210), 압축된 프레임의 생성 비트량을 감소시키기 위해 매크로 블록 압축 순서의 반대
방향으로 소정 개수의 매크로 블록의 양자화 매개변수를 증가시킨다(S220). 여기서, 조절되는 매크로 블록의 순서는 도 4에 도시한 바와 같이, 매크로 블록 압축 순서의 반대이다.
일반적으로 목표 비트량과 생성 비트량을 일치시키기 위한 과정 중에는 N값의 증가와 감소를 반복하며, 과정시작단계에서는 이 값을 정해주어야 한다. 보통 N값을 최소 임계치로 두고 과정을 시작하나, 구현목적에 따라 N값을 꼭 1로 할 필요가 없고 최소 임계치 이상 한 프레임 내의 총 매크로 블록 개수 이하 임의의 정수값으로 지정할 수 있다.
그리고 양자화 매개변수의 증가량은 매크로 블록마다 동일하게 작은 값으로 하는 것이 바람직하나 구현목적에 따라 가변할 수 있음은 물론이다.
상기 증가된 양자화 매개변수들의 매크로 블록들에 대해 양자화를 수행한 후, 해당 매크로 블록들과 부호화 의존성을 갖는 다른 매크로 블록들에 대해 가변길이 부호화를 수행한다(S230,S240).
상기 부호화 의존성에 대해 간략히 살펴보면, 부호화시 압축율을 높이기 위해 현재 부호화되는 매크로 블록은 이전에 부호화된 매크로 블록과 차이값만을 부호화 하며, 예를 들어 현재 매크로 블록의 양자화 파라미터가 10이고 이전 블록의 양자화 파라미터가 12이면, 현재 매크로 블록의 양자화 파라미터는 -2로 부호화 된다. 따라서 이전 블록의 양자화 파라미터가 12에서 15로 바뀌면 현재 매크로 블록의 양자화 파라미터가 여전히 10일 지라도 부호화 의존성에 의해 부호화될 때는 -2에서 -5로 바뀌어야 한다. 한 개의 매크로 블록에는 양자화 파라미터 외에 다른 값들도 많으며, 이런값들도 역시 부호화 의존성을 갖고 있다.
상기 단계(S240) 이후, 후술될 비트량 제어종료 결정 과정(S250)을 수행하 며, 비트량 제어종료 결정 과정(S250)에서 생성 비트량과 목표 비트량이 동일할 경우 전체 과정을 종료하게 되며, 생성 비트량이 목표 비트량보다 작으면 DEC_TO_INC 링크를 통해 비트량 증가과정(S300)으로 이동하고, 생성 비트량이 목표 비트량보다 크면 상기 재부호화된 양자화 매개변수를 갖는 매크로 블록의 개수보다 더 많은 개수의 다음 순서의 양자화 매개변수를 갖는 매크로 블록의 양자화 매개변수를 동시에 증가시켜 재부호화 한다(S260,S270,S220).
이 과정이 반복되다가 모든 매크로 블록들이 재부호화되면 다시 처음 매크로 블록으로 돌아온다. 또한, 이 과정이 반복되다가 생성 비트량이 목표 비트량과 같아지면 비트량 제어를 종료하고 생성 비트량이 목표 비트량보다 작아지면 DEC_TO_INC 링크를 통해 비트량 증가과정(S300)으로 이동한다.
도 5는 상기 비트량 제어종료 결정 과정(S250)의 상세 흐름도로, 생성 비트량과 목표 비트량이 같거나 모든 매크로 블록들이 감소불가집합에 포함될 경우 전체 과정을 종료하고(S251), 그렇지 않을 경우 비트량 제어종료 결정 과정(S250)을 빠져 나가 다음 단계(S260)로 진행한다.
도 6은 상기 비트량 증가과정(S300)의 상세 흐름도이다.
비트량 증가과정(S300)은 우선 INC_START 링크로부터 과정이 시작되면 상기 N값을 초기화하고(S310), DEC_TO_INC 링크로부터 과정이 시작되면 상기 비트량 감소과정(S200)에서 설정되었던 N값을 감소시키고(S320), STB_T0_INC 링크로부터 과정이 시작되면 N값을 변화시키지 않는다. 그러나 구현목적에 따라 N값을 임의의 원하는 값으로 변경할 수 있음은 물론이다.
이후, 생성 비트량을 증가시키기 위해 매크로 블록 압축 순서의 반대방향으로 감소불가집합에 포함되지 않는 소정 개수의 매크로 블록들의 양자화 매개변수를 감소시킨 후(S330), 그 양자화 매개변수들의 매크로 블록들에 대해 양자화 과정을 수행한다(S340). 여기서, 감소불가집합이란 양자화 매개변수를 더 이상 감소시키면 안되는 매크로 블록들의 집합을 의미한다.
이러한 양자화 매개변수 감소불가 매크로 블록들은 후술될 비트량 안정화 과정(S400)에서 판별되어 감소불가집합에 원소로서 추가되게 된다.
상기 양자화 후, 감소된 양자화 매개변수들의 매크로 블록들과 그의 부호화 의존성을 갖는 다른 매크로 블록들에 대해 가변길이 부호화를 수행한 후(S350), 상기 도 5의 비트량 제어종료 결정 과정(S250)과 동일한 비트량 제어종료 결정 과정(S360)에서 종료가 결정되면 전체 과정을 종료한다. 종료가 아니면 생성 비트량과 목표 비트량을 비교하여(S370) 생성 비트량이 크면 INC_TO_STB 링크를 통해 비트량 안정화 과정(S400)으로 이동하고, 생성 비트량이 작으면 더 많은 개수의 다음 순서의 양자화 매개변수를 갖는 매크로 블록의 양자화 매개변수들을 감소시키며(S380,S330), 이러한 과정을 생성 비트량과 목표 비트량이 같아지거나 또는 INC_TO_STB 링크를 통해 비트량 증가과정(S300)을 빠져나갈 때까지 반복한다.
도 7은 상기 비트량 안정화 과정(S400)의 상세 흐름도이다.
비트량 안정화 과정(S400)은 먼저, N이 기 설정되어 있는 최소 임계치 이하이면 바로 이전에 감소시킨 양자화 매개변수들의 매크로 블록들을 감소불가집합에 추가하고(S420a), 바로 이전에 감소시킨 양자화 매개변수들을 이전 상태로 되돌린 후, STB_TO_INC 링크를 통해 비트량 증가과정(S300)으로 이동한다(S420b).
그리고 N이 최소 임계치보다 크면 감소불가집합을 변경하지 않고 그냥 바로 전에 감소시킨 양자화 매개변수들과 조절되었던 매크로 블록 순서를 이전상태로 되돌린다(S430). 여기서, 상기 최소 임계치(N의 최소값 또는 동시에 조절될 최소 매크로 블록의 개수)는 구현 목적에 따라 가변 가능하다.
그리고 상기 N을 감소시킨 후, 감소불가집합에 포함되지 않은 소정 개수의 매크로 블록의 양자화 매개변수들을 감소시키고 감소된 양자화 매개변수의 매크로 블럭들에 대해 양자화를 수행하며(S440-S460), 감소된 양자화 매개변수들의 매크로 블록들과 그의 부호화 의존성을 갖는 매크로 블록들에 대해 가변길이 부호화를 수행한다(S470).
여기서, 상기 N값의 감소에 대하여 살펴보면, 이는 상기 비트량 감소과정(S200)에서의 N값 증가(S270), 비트량 증가과정(S300)에서의 N값 증가(S380)와는 그 의도하는 바가 상이하다.
상기 단계(S270),(S380)의 N값 증가는 최대한 빠르게 생성 비트량을 목표 비트량에 접근시키기 위한 목적이고(N값을 늘릴수록 생성비트량의 변화량이 커짐), 여기서의 N값 감소는 이미 목표 비트량에 어느정도 접근된 생성 비트량을 목표 비트량에 정확히 일치시키기 위해 점점 세밀하게 생성 비트량을 조절하기 위함이다.
따라서 N값을 점점 줄이는 것이며(N값을 줄일수록 생성 비트량의 변화량이 작아짐), 이에 따라 도 7의 과정을 안정기라 한 것이다.
한편, 상기 단계(S470)를 통해 부호화 수행후, 도 5의 비트량 제어종료 결정 과정(S250)과 동일한 과정을 수행하는 비트량 제어종료 결정 과정(S480)에서 종료가 결정되면 전체 과정을 종료하고, 종료가 아니면 목표 비트량과 생성 비트량을 비교하여(S490) 생성 비트량이 목표 비트량 보다 작으면 상기 단계(S440)로 리턴한다.
만일, 생성 비트량이 목표 비트량보다 크면 비트량 안정화 과정(S400)의 처음으로 리턴하여 생성 비트량과 목표 비트량이 동일해지거나 또는 STB_TO_INC 링크를 통해 비트량 안정화 과정(S400)을 빠져나갈 때까지 반복한다.
상기와 같은 본 발명은 예를들어, 각 프레임의 목표 비트량이 1000 bit일 경우, 첫 번째 프레임을 부호화 하니 생성 비트량이 900 bit가 나왔다면, 종래(국내특허출원번호 제1998-15859호) 기술에서 처럼 다음 프레임으로 넘어가지 않고, 양자화 매개변수를 다시 조절하여 1000 bit가 될 때까지 재부호화를 반복 수행한다. 따라서 종래의 방법들에 비해 계산량이 늘어날 수 밖에 없으나, 이 늘어나는 계산량을 최소화 하기위한 노력이 본 발명의 과정인 것이다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변경하여 실시할 수 있다.
이상에서 살펴본 바와 같이, 본 발명에 따른 동영상 프레임의 초정밀 비트량 제어방법은, 매크로 블록의 위치와 개수를 적응적으로 선택하여 각 압축된 프레임의 생성 비트량을 목표 비트량과 정확하게 일치시킴으로써 입력 영상의 다양한 특성에 관계없이 적용가능하며, 종래와 같이 코드워드 길이와 비트량과의 관계를 수학적으로 모델링하여 비트량을 제어하지 않으므로 모델링 에러가 발생하지 않음으로 인해 생성 비트량을 목표 비트량에 정확하게 일치키시는 것이 가능하게 된다.
또한, 본 발명은 생성 비트량을 목표 비트량에 1바이트의 오차없이 정확하게 일치시킬 수 있음에 따라 압축된 프레임의 비트량이 스트라입크기(Stripe Size)와 싱크된 RAID 저장 서버나 압축된 프레임의 비트량이 일정해야 하는 포워드 에러 정정 코딩(Forward Error Correction Coding) 등과 같이 생성 비트량을 정밀하게 제어해야하는 응용분야에 이용가능하게 된다.

Claims (11)

  1. 압축된 동영상 프레임의 비트량을 제어하는 방법에 있어서,
    압축된 각 프레임의 생성 비트량과 목표 비트량을 비교하는 제1 과정;
    상기 비교 결과 생성 비트량이 목표 비트량보다 크면 소정 매크로 블록들의 양자화 매개변수를 증가시켜서 생성 비트량을 감소시켜 목표 비트량에 생성 비트량을 근접시키며, 생성 비트량을 감소시켜도 생성 비트량과 목표 비트량의 대소관계가 변하지 않으면 조절할 매크로 블록의 개수를 증가시키고 그의 양자화 매개변수를 증가시킨 후 재양자화함으로써 생성 비트량을 감소시켜 생성 비트량을 목표 비트량에 더욱 근접시키는 제2 과정; 및
    상기 비교 결과 생성 비트량이 목표 비트량보다 작으면 소정 매크로 블록들의 양자화 매개변수를 감소시켜서 생성 비트량을 증가시켜 생성 비트량을 목표 비트량에 근접시키며, 생성 비트량을 증가시켜도 생성 비트량과 목표 비트량의 대소관계가 변하지 않으면 조절할 매크로 블록의 개수를 증가시키고 그의 양자화 매개변수를 감소시킨 후 재양자화함으로써 생성 비트량을 증가시켜 생성 비트량을 목표 비트량에 더욱 근접시키는 제3 과정;
    을 포함하는 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  2. 제 1 항에 있어서, 상기 제 2 과정은
    양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 초기화하는 제1 단계;
    상기 초기화에 따른 매크로 블록의 양자화 매개변수를 증가시키는 제2 단계;
    상기 양자화 매개변수를 증가시킨 매크로 블록들에 대해 양자화 및 가변길이 부호화하는 제3 단계;
    상기 부호화된 프레임의 생성 비트량과 목표 비트량을 비교하는 제4 단계; 및
    비교결과 생성 비트량과 목표 비트량이 동일하면 종료하고, 생성 비트량이 목표 비트량보다 크면 생성 비트량이 목표 비트량과 동일 또는 생성 비트량이 목표 비트량보다 작아질 때까지 재양자화할 매크로 블록의 수를 점차 증가시키면서 상기 제2 단계 내지 제 4단계를 반복 수행하는 제5 단계;
    를 수행하도록 된 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  3. 삭제
  4. 제 2 항에 있어서, 상기 제4 단계의 비교 결과 생성 비트량이 목표 비트량보다 작을 경우 소정 매크로 블록들의 양자화 매개변수를 감소시켜서 생성 비트량을 증가시켜 생성 비트량과 목표 비트량을 일치시키도록 된 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  5. 제 2 항에 있어서, 상기 제5 단계에서 생성 비트량이 목표 비트량보다 클 경우 상기 제2 단계에서 양자화 매개변수가 증가된 매크로 블록의 개수보다 더 많은 개수의 다음 순서의 양자화 매개변수를 갖는 매크로 블록들의 양자화 매개변수를 동시에 증가시키도록 된 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  6. 제 1 항에 있어서, 상기 제 3 과정은
    양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 재조정하는 제 1단계;
    감소불가집합에 포함되지 않은 상기 개수의 매크로 블록의 양자화 매개변수를 감소시키는 제2 단계;
    상기 감소된 양자화 매개변수의 매크로 블록들에 대해 양자화 및 가변길이 부호화하는 제3 단계;
    상기 부호화된 프레임의 생성 비트량과 목표 비트량을 비교하는 제4 단계; 및
    비교결과 생성 비트량과 목표 비트량이 동일하면 종료하고, 생성 비트량이 목표 비트량보다 작으면 생성 비트량이 목표 비트량과 동일 또는 생성 비트량이 목표 비트량보다 커질 때까지 재양자화할 매크로 블록의 수를 점차 증가시키면서 상기 제2 단계 내지 제 4단계를 반복 수행하는 제5 단계;
    를 수행하도록 된 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  7. 제 6 항에 있어서, 상기 양자화 매개변수를 감소시키게 되는 매크로 블록의 순서는 동영상 압축시 압축되는 매크로 블록의 순서와 반대 방향인 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  8. 제 6 항에 있어서, 상기 제5 단계에서 생성 비트량이 목표 비트량보다 작을 경우 상기 제2 단계에서 양자화 매개변수가 감소된 매크로 블록의 개수보다 더 많은 개수의 다음 순서의 양자화 매개변수를 갖는 매크로 블록들의 양자화 매개변수 를 동시에 감소시키도록 된 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  9. 제 2 항 또는 제 6 항에 있어서, 상기 양자화 매개변수의 증가 또는 감소량은 가변 가능함을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  10. 제 6 항에 있어서, 생성 비트량이 목표 비트량보다 작아 비트량 증가를 행하다가 다시 생성 비트량이 목표 비트량보다 커질 경우
    상기 바로 이전에 감소시킨 양자화 매개변수의 매크로 블록의 개수와 최소 임계치를 비교하는 제1 단계;
    상기 비교결과 바로 이전에 감소시킨 양자화 매개변수의 매크로 블록의 개수가 최소 임계치 이하이면 바로 이전에 감소시킨 양자화 매개변수들의 매크로 블록들을 감소불가집합에 추가하고, 바로 이전에 감소시킨 양자화 매개변수들을 이전 상태로 되돌린 후, 상기 제2 단계로 리턴하여 다시 비트량을 증가시키는 제2 단계;
    상기 비교결과 바로 이전에 감소시킨 양자화 매개변수의 매크로 블록의 개수가 최소 임계치보다 크면 바로 이전에 감소시킨 양자화 매개변수들을 이전 상태로 되돌리는 제3 단계;
    상기 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 감소시 키는 제4 단계;
    감소불가집합에 포함되지 않은 상기 개수의 매크로 블록의 양자화 매개변수들을 감소시키고 감소된 양자화 매개변수의 매크로 블록들에 대해 양자화 및 가변길이 부호화하는 제5 단계;
    상기 부호화된 프레임의 생성 비트량과 목표 비트량을 비교하는 제6 단계; 및
    비교결과 생성 비트량과 목표 비트량이 동일하면 종료하며, 생성 비트량이 목표 비트량보다 크면 바로 이전에 감소시킨 양자화 매개변수의 매크로 블록의 개수값과 최소 임계치를 비교하는 상기 제1 단계로 리턴하고, 생성 비트량이 목표 비트량보다 작으면 생성 비트량이 목표 비트량과 동일해질 때까지 양자화 매개변수를 갖고 동시에 조절될 매크로 블록의 개수값을 감소시키는 제4 단계 이하를 반복 수행하는 제7 단계;
    를 포함하는 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
  11. 제 2 항 또는 제 6 항 또는 제 10 항에 있어서, 상기 가변길이 부호화는 상기 증가 또는 감소된 양자화 매개변수의 매크로 블록에 대해 부호화 의존성을 갖는 다른 매크로 블록에 대해서도 행하는 것을 특징으로 하는 동영상 프레임의 초정밀 비트량 제어방법.
KR1020050042956A 2005-05-23 2005-05-23 동영상 프레임의 초정밀 비트량 제어방법 KR100746589B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050042956A KR100746589B1 (ko) 2005-05-23 2005-05-23 동영상 프레임의 초정밀 비트량 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050042956A KR100746589B1 (ko) 2005-05-23 2005-05-23 동영상 프레임의 초정밀 비트량 제어방법

Publications (2)

Publication Number Publication Date
KR20060120787A KR20060120787A (ko) 2006-11-28
KR100746589B1 true KR100746589B1 (ko) 2007-08-08

Family

ID=37706773

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050042956A KR100746589B1 (ko) 2005-05-23 2005-05-23 동영상 프레임의 초정밀 비트량 제어방법

Country Status (1)

Country Link
KR (1) KR100746589B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040047010A (ko) * 2002-11-28 2004-06-05 엘지전자 주식회사 영상 전화 시스템의 비트율 조절방법
KR20040047009A (ko) * 2002-11-28 2004-06-05 엘지전자 주식회사 영상 전화 시스템의 비트율 조절방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040047010A (ko) * 2002-11-28 2004-06-05 엘지전자 주식회사 영상 전화 시스템의 비트율 조절방법
KR20040047009A (ko) * 2002-11-28 2004-06-05 엘지전자 주식회사 영상 전화 시스템의 비트율 조절방법

Also Published As

Publication number Publication date
KR20060120787A (ko) 2006-11-28

Similar Documents

Publication Publication Date Title
JP5257215B2 (ja) 画像符号化装置と画像符号化方法
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
CN100456835C (zh) 用于视频编码器的编码位率控制方法及系统
JP5045950B2 (ja) 映像符号化方法、映像符号化装置および映像符号化プログラム
US20090225829A2 (en) Method and apparatus for operational frame-layerrate control in video encoder
US8311095B2 (en) Method and apparatus for transcoding between hybrid video codec bitstreams
US5986710A (en) Image encoding method and apparatus for controlling the number of bits generated using quantization activities
EP1551186B1 (en) Video coding apparatus with resolution converter
EP1639801B1 (en) Multipass video rate control to match sliding window channel constraints
WO2009157577A1 (ja) 画像処理装置及び画像処理方法
KR20090108026A (ko) 비디오 코딩 표준에 대한 개선된 비디오율 제어
JPH1146364A (ja) 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
WO2009157579A1 (ja) 画像処理装置及び画像処理方法
US8208537B2 (en) Video transcoding with suppression on drift errors
KR100790149B1 (ko) 비디오 인코딩 데이터율 제어 방법
JP2001160967A (ja) 画像符号化方式変換装置及び符号化レート変換装置
US7826529B2 (en) H.263/MPEG video encoder for efficiently controlling bit rates and method of controlling the same
US7428339B2 (en) Pseudo-frames for MPEG-2 encoding
KR100713400B1 (ko) 평균 히스토그램 오차 방식을 이용한 h.263/mpeg비디오 인코더 및 그 제어 방법
CN113473136B (zh) 视频编码器及其码率控制装置
US20010053182A1 (en) Picture encoding format converting apparatus
KR20040007818A (ko) 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
KR100746589B1 (ko) 동영상 프레임의 초정밀 비트량 제어방법
JP4788653B2 (ja) 画像データトランスコーディング装置及びトランスコーディング方法
KR19990065775A (ko) 비디오 스트림 코딩을 위한 적응적 비트율 제어 방법

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20110711

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee