KR100285705B1 - 엠펙비디오인코더의비트율제어방법 - Google Patents
엠펙비디오인코더의비트율제어방법 Download PDFInfo
- Publication number
- KR100285705B1 KR100285705B1 KR1019970077193A KR19970077193A KR100285705B1 KR 100285705 B1 KR100285705 B1 KR 100285705B1 KR 1019970077193 A KR1019970077193 A KR 1019970077193A KR 19970077193 A KR19970077193 A KR 19970077193A KR 100285705 B1 KR100285705 B1 KR 100285705B1
- Authority
- KR
- South Korea
- Prior art keywords
- picture
- bit
- buffer
- value
- video encoder
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
1. 청구범위에 기재된 발명이 속한 기술 분야
본 발명은 엠펙 비디오 인코더의 비트율 제어방법에 관한 것임.
2. 발명이 해결하고자 하는 기술적 과제
본 발명은, 엠펙(MPEG)-2 비디오 인코더에서 임의의 버퍼크기와 부호화 영상 타입에 대해, 엠펙(MPEG)-2의 VBV 조건을 만족시키면서 간단한 방법으로 최대의 화질을 보장하는 비트율 제어 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 초기값을 설정하고, 영상그룹(GOP)의 최초 픽쳐 클럭이 액티브됨에 따라 독립적으로 부호화가 가능한 영상 단위인 영상그룹의 목표 비트량을 재설정하는 제 1 단계; 픽쳐 목표 비트량과 반응 파라미터를 구하고 현재 매크로 블록의 순서를 초기화하는 제 2 단계; 매크로 블록 클럭이 액티브됨에 따라 가상 버퍼의 상태를 구하여 최종 양자화 파라미터를 얻는 제 3 단계; 및 독립적으로 부호화가 가능한 영상그룹의 목표 발생 비트와 가상 버퍼의 초기 상태값을 재설정하는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 엠펙 비디오 인코더 등에 이용됨.
Description
본 발명은 엠펙(MPEG : Moving Picture Export Group, 이하 ″MPEG″라 함) 비디오 인코더의 비트율 제어 방법에 관한 것이다.
일반적으로 MPEG 비디오 인코더에서 비트율 제어 장치는 비트율 보장, 버퍼넘침 방지, 및 VBV(Video Buffer Verfier, 이하 ″VBV″라 함) 표준에 적합하도록 하는 역할을 수행한다. 또한 이것은 화질과도 밀접한 연관을 갖고 있어, 최대한 화질을 보장하기 위해 이상적인 조건을 충족시켜줘야 한다. 그러나, MPEG-2 TM(Test ModeL) 5 및 기존 비트율 제어 방법은 버퍼의 크기가 충분할 때는 버퍼넘침 조건과, VBV 표준 조건을 만족시키나 임의의 버퍼 크기에 대해서 모두 그를 보장하지는 못하며, 최대한의 화질을 보장하기 위해 복잡한 계산을 해야하는 문제점이 있었다.
일반적으로 MPEG 비디오 인코더는 크게 부호화부와 채널버퍼로 구성된다. 부호화부에서 발생되는 비트율은 입력 영상의 특성, 영상부호화 타입(I/P/B-영상이 있음)에 따라 가변적이다. 즉, 영상이 복잡하거나 부호화 타입이 I-영상의 경우에 대체로 비트가 많이 발생한다. 가변 비트율로 발생된 부호화 비트는 채널버퍼에 저장되었다가 고정율로 빠져나가게 된다. MPEG 비디오 인코더의 부호화는 매크로블럭 단위로 이루어지며, 부호화 비트 발생량의 제어는 이산여현변환(DCT : Discrete Cosine Transform, 이하 ″DCT″라 함) 계수의 양자화 스텝크기에 의해 이루어진다. DCT의 양자화 스텝크기가 크면 부호화 비트가 적게 발생하며, 스텝크기가 작으면 많이 발생한다. 양자화 스텝크기는 곧 화질을 결정짓게 되어 양자화 스텝크기가 크면 양자화 오차가 크며, 작으면 양자화 오차가 작아 복원 화질이 좋게 된다. 이러한 양자화 스텝크기를 결정해주는 것이 비트열 제어 장치이다.
비트율 제어는 고정율의 비트율, VBV 조건, 그리고 좋은 화질을 동시에 보장해 주어야 한다. 여기서, VBV 조건이란 한 영상에서 발생하는 부호화 비트량이, 채널버퍼크기에서 그 영상을 부호화할 시점에서의 버퍼상태를 뺀 값보다 크지 않아야 하는 것이다. 즉, 영상의 부호화가 한 순간에 일어나도 버퍼넘침이 발생하지 않아야 된다는 것이다. 이런 버퍼넘침이 없이 최대한 좋은 화질을 유지시켜 주는 것이 비트율 제어의 목표라 할 수 있다.
비트율 제어 방법은 일반적으로, 영상그룹(GOP : Group of Pictures, 이하 ″GOP″라 함) 목표 비트 할당, 영상(Picture)의 목표비트 할당, 버퍼상태에 대한 양자화 파라미터(QP : Quantizer Parameter) 값의 반응 정도, 매크로블럭의 부호화 복잡도 고려 등의 문제와 결부되며, 이들 값의 차이로 그 방법이 정해지며 화질이 결정된다. 여기서, GOP란 MPEG 비디오 부호화에서 독립적으로 부호화가 가능한 영상들의 집합이다. GOP의 첫째 픽쳐는 이전 영상으로부터 예측이 필요없는 I-영상(Intra Picture)으로 부호화가 되며, 나머지는 이전에 부호화된 영상을 참고하는 P나 B-영상이 된다.
이제, MPEG-2 TM5의 비트율 제어 방법에 대하여 설명한다.
MPEG 표준화 과정에서 최종 기준으로 삼은 TM(Test ModeL) 5의 비트율 제어 방법에 대해 개략적인 의미를 기술한다.
TM5 방법의 큰 특징은 I, P, B-영상의 각각에 대해 가상버퍼를 사용하고 있다는 것과 영상의 복잡도를 고려한다는 것이다. 가상버퍼란 QP를 계산하는데 있어 실제 버퍼상태(버퍼충만도)를 고려하지 않고 영상 픽쳐 타입에 따라 각각 가지고 있는 버퍼의 상태를 참고한다는 것이다. 가상버퍼에서 비트가 빠져나가는 율은 실제 고정율의 비트율이 아니라 픽쳐 목표 비트율이며, 그때의 버퍼상태에 따라 QP가 정해진다. 이때, 대두되는 것이 버퍼상태에 따른 QP의 변환 민감도, 즉 반응파라미터 r 값의 크기이다. r이 크면 픽쳐 목표 비트에 비해 매크로블럭의 비트 발생의 크고 작고에 따라 QP값에 큰 변화가 없으며 r값이 작으면 민감하게 반응한다. 다음은 TM5에 대한 좀더 자세한 설명이다.
GOP의 목표 비트수 G = bit_rate * N / picture_rate이다. 여기서, bit_rate는 비트율, N은 GOP내 픽쳐수, picture_rate는 픽쳐율이다. 이 식은 GOP간 영상의 특성에 관계없이 모든 GOP에 동일한 비트를 할당함을 나타낸다.
다음은 한 픽쳐의 부호화시 발생되기를 목표하는, 픽쳐의 목표 비트수에 대한 설명이다. 픽쳐의 목표 비트수는 영상 부호화 타입(I, P, B-picture)별로 정해지며, GOP에 할당된 비트수에 바로 직전까지 실제 부호화로 발생된 비트수를 제외한 남아있는 비트수에 따라 결정된다. 이때, 픽쳐 비트 할당은 최소 bit_rate/(8*picture_rate)로 제한하고 있다. 그러나, 최대량에 대한 제한은 두고 있지 않다.
다음은 비트 발생에 따른 QP값의 변화를 결정하는 반응 파라미터 r에 대한 설명이다. 픽쳐내 j번째 매크로블럭의 Q값은 Qj = (dj × 31) / r로 나타난다. 여기서, dj = d0 + Bj-1 - (T × (j-1)/MBinP)이다. 이때, d0는 픽쳐 영상 타입별 d0i, d0p, d0b가 되며 가상버퍼의 초기상태 Bj는 픽쳐의 j번째 매크로블럭까지 부호화해서 발생된 비트수, T는 영상 부호화 타입에 따라 Ti, Tp, Tb가 되며, 픽쳐 목표 비트수 MBinP는 픽쳐내 매크로블럭의 수를 나타낸다. 그리고 r = 2 × bit_rate / picture_rate로 정해진다. dj는 픽쳐 목표 비트율로 빠져나가는 가상버퍼의 버퍼상태를 나타낸다. 이렇게 얻어진 가상버퍼 상태는 반응 파라미터 r의 민감도에 의해 j번째 QP의 중간결과인 Qj값이 구해진다.
TM 5는 이렇게 결정된 Qj값을 바로 비트율 제어를 위한 QP로 사용하지 않고 매크로블럭의 복잡도를 한 번 더 고려한다. 즉, QP=Qj × N_actj이다. 여기서, N_act는 바로 직전 픽쳐의 평균 복잡도와 현재 매크로블럭의 복잡도를 고려하여 정규화(normalize)한 값이다. 이것은 픽쳐내 다른 매크로블럭에 비해 현재 매크로블럭이 상대적으로 복잡하면 QP(Quantization Parameter : 양자화 파라미터)를 키워 비트 발생량을 줄여 다른 매크로블럭으로 비트를 많이 분배하여 영상전체의 화질을 좋게 하자는 의도로서, 이것은 인간의 시각 시스템이 복잡한 부분에 대해 덜 민감하다는 특성을 이용한 것이다.
상기와 같이 TM5의 비트율 제어 방법을 설명하였으나, 이상의 비트율 제어 방법은 장면 전환이 존재하는 영상시퀀스에 대해서 좋은 성능(화질)을 보장하지 못하며, 비디오 인코더의 응용에 따라 정해지는 채널버퍼 크기에 따라서는 VBV 표준을 만족시키지 못할 수도 있다. 그리고, 통신 서비스를 위해서는 비디오 인코더 전체 지연이 작아야 하며, 이것은 버퍼지연을 결정하는 채널버퍼크기가 작아야 한다. 그런데, TM5는 버퍼크기가 작을 때 VBV 표준을 만족시켜 주지 못하는 단점을 가지고 있다. TM5는 또한 화질을 위해 계산이 매우 복잡한 영상 복잡도 계산을 수행해야 하는 문제점이 있다.
본 발명은, 상기 종래 기술에 대한 제반 문제점을 해결하기 위하여 안출된 것으로, 엠펙(MPEG)-2 비디오 인코더에서 임의의 버퍼크기와 부호화 영상 타입에 대해, 엠펙(MPEG)-2의 VBV 조건을 만족시키면서 간단한 방법으로 최대의 화질을 보장하는 비트율 제어 방법을 제공하는데 그 목적이 있다.
도 1 은 본 발명이 적용되는 엠펙(MPEG) 비디오 인코더 시스템의 구성예시도.
도 2 는 본 발명에 따른 엠펙 비디오 인코더의 비트율 제어방법에 대한 일실시예 흐름도.
* 도면의 주요 부분에 대한 설명
1 : 시스템 제어부 2 : 비트율 제어부
3 : 입력 처리부 4 : 감산기
5 : 이산여현변환(DCT)부 6 : 양자/역양자화부
7 : 가변길이 부호화/포맷부 8 : 채널버퍼
9 : 역이산여현변환부 10 : 움직임 추정/보상부
11 : 프레임 메모리
상기 목적을 달성하기 위하여 본 발명은, 엠펙 비디오 인코더에 적용되는 비트율 제어 방법에 있어서, 초기값을 설정하고, 영상그룹(GOP)의 최초 픽쳐 클럭이 액티브됨에 따라 독립적으로 부호화가 가능한 영상 단위인 영상그룹의 목표 비트량을 재설정하는 제 1 단계; 픽쳐 목표 비트량과 반응 파라미터를 구하고 현재 매크로 블록의 순서를 초기화하는 제 2 단계; 매크로 블록 클럭이 액티브됨에 따라 가상 버퍼의 상태를 구하여 최종 양자화 파라미터를 얻는 제 3 단계; 및 독립적으로 부호화가 가능한 영상그룹의 목표 발생 비트와 가상 버퍼의 초기 상태값을 재설정하는 제 4 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 MPEG 비디오 인코더 시스템의 구성예시도로서, 도면에서 1은 시스템 제어부, 2는 비트율 제어부, 3은 입력 처리부, 4는 감산기, 5는 이산여현변환(DCT)부, 6은 양자/역양자화부, 7은 가변길이 부호화(VLC:Variable Length Coder)/포맷부, 8은 채널버퍼, 9는 역이산여현변환부, 10은 움직임 추정/보상부, 11은 프레임 메모리를 각각 나타낸다.
도면에 도시된 바와 같이 입력 처리부(3)는 4:4:4 혹은 4:2:2 포맷으로 입력되는 영상 데이터를 부호화의 기본단위인 4:2:0 포맷의 MB(Macro Block : 매크로 블록) 단위로 데이터를 구성해주는 역할을 한다. 이 MB는 움직임 추정/보상부(10)에 의해 예측된다. 즉, 프레임 메모리(11)에 저장되어 있는 이전 프레임으로부터 움직임 추정을 하여 현재 MB와 유시한 MB가 얻어진다. 현재 MB에서 움직임 예측 MB가 감산부(4)를 통하고 그 차인 예측 오차가 이산여현변환부(5)를 통해 출력되며 양자화부(6)에서 양자화된다. 이 양자화된 결과는 가변길이 부호화/포맷부(7)를 거쳐 최종적으로 MPEG 표준에 따른 비트열로 출력되어 고정율의 비트열 출력을 위해 채널버퍼(8)로 들어간다. 상기 이산여현변환(DCT) 양자화 결과는 다음의 영상의 부호화를 위해 역양자화부(6), 역이산여현변환부(9)를 거쳐 다시 프레임 메모리(11)에 저장된다. 이 과정에서 비트율 제어부(2)는 양자화의 양자화 스텝크기를 결정해주는 역할을 한다. 상기 채널버퍼(8)에서 임의의 비트율로 비트열이 고정율로 빠져나갈 때 버퍼의 넘침이나 고갈이 발생하지 않도록 버퍼가 넘치려고 하면 양자화 스텝 크기를 크게 하고 고갈되려하면 스텝의 크기를 작게 해준다. 상기 비트열 제어부(2)는 또한 부호화 화질에 막대한 영향을 주므로 버퍼 넘침이나 고갈을 막아줌과 동시에 좋은 화질도 보장해 주어야한다.
즉, MPEG 비디오 인코더는 필드 혹은 프레임 단위로 영상이 입력되며, 16x16픽셀의 매크로블럭(MB) 단위로 부호화가 수행된다. 도 1 은 MB단위로 처리되는 MPEG 비디오 인코더의 부호화의 처리과정을 나타낸 것이며, MPEG 비디오 부호화는 도면에 도시한 바와 같이 움직임 추정/보상, 이산여현변환(DCT : Discrete Cosine Transform) 부호화, 그리고 가변길이 부호화(Variable Length Code)를 동시에 포함하는 복합부호화 방식이다.
MPEG 비디오 인코더는 매크로블록 단위로 DCT 계수의 양자화 스텝 크기를 조정함으로써 비트율 제어가 이루어진다. 따라서, 비트율의 제어란 양자화 스텝크기 정보인 양자화 파라미터값을 결정하는 것이다. 즉, 비트가 기준치보다 많이 발생되면 양자화 스텝 크기를 크게 하여 비트가 적게 발생되도록 하고, 비트가 적게 발생되면 스텝 크기를 작게 하여 비트가 많이 발생되도록 하여 목표 비트율에 도달하도록 하는 것이다.
도 1 의 비트율 제어장치에서 양자화 파라미터 결정에 요구되는 부호화 파라미터들은 목표 비트율, 프레임율과 부호화 영상 구조에 따라 정해지는 픽쳐율, 독립적으로 부호화 가능한 영상그룹인 GOP(Group of Picture)의 픽쳐수(N), 픽쳐의 매크로 블록수(MBinP), 그리고 실제 버퍼크기(buf_size)이다. 그리고, 실제 버퍼의 상태(buf_fullness), 픽쳐 비트 발생량(B)이며, 본 비트율 제어 방법의 특징은 픽쳐 타입(I,P,B-picture)마다 가상버퍼를 두고있다는 점이다. 픽쳐 부호화 발생 비트는 픽쳐 타입에 따라 해당 가상버퍼로 들어간단. 가상버퍼에서 빠져나가는 비트율은 픽쳐목표비트량(T)이다. 즉, 한 픽쳐 구간동안 가상버퍼에서 빠져나가는 비트량은 T이다. 비트율 제어의 최종결과인 양자화 파라미터 QP값은 가상버퍼의 상태에 따라 구해진다. 즉 QP=(가상버퍼 상태d)×31(반응파라미터r)이다.
본 발명의 비트율 제어장치의 동작은 픽쳐의 부호화 시작을 알리는 픽쳐클럭(piclk)과 픽쳐내 매크로블럭부호화의 시작을 나타내는 매크로블럭클럭(mbclk), 그리고 시스템 클럭에 동기되어 수행된다. 시스템 클럭이 27MHz일 때 mbclk는 660개 시스템 클럭마다 한번씩 액티브된다. 다음에 설명될 처리 흐름도에서의 동작은 시스템 클럭마다 다음단계로 진행한다.
본 발명의 비트율 제어 방법은 상기한 TM5에서 단점으로 지적된 버퍼넘침 보장인 VBV 표준과 영상 복잡도 계산 문제를 해결하기 위하여 픽쳐 목표 비트 할당에서 목표 비트 할당의 최대값을 두었으며, 반응 파라미터 r의 값을 채널버퍼 상태와 할당된 픽쳐 목표 비트수에 따라 가변적으로 정했으며, 단지 이 r 값의 조정으로 TM5의 영상 복잡도 계산없이 좋은 화질을 유지할 수 있다.
픽쳐 목표 비트의 할당은 TM5와 동일하다. 그러나, 구해진 값이 최대값 Tmax를 초과하면 목표 비트수를 이 최대값으로 한다. 여기서 Tmax = (채널버퍼크기-시작 버퍼 상태×14/16)로 계산된다. 다음은 가상버퍼상태변화에 따른 QP값의 민감도인 r에 관한 것으로서, r = (채널버퍼크기-실제 버퍼상태)×15/16 - 픽쳐 목표 비트수이다. 상기 r은 실제 픽쳐비트발생량이 픽쳐 목표 비트를 r만큼 초과할 수 있다는 것을 의미하기도 한다.
여기서, 픽쳐 목표 비트 할당에 최대값을 둔 것과 r의 값을 픽쳐 목표 비트수와 버퍼상태를 고려한 것은 버퍼의 넘침을 막으려는 것이며, 최대값의 크기가 버퍼의 빈상태(채널버퍼크기-버퍼상태)의 14/16으로 기준한 것과 반응파라미터 r의 값을 버퍼의 빈상태의 15/16로 기준으로 한 것은, TM5의 실제 픽쳐 비트 발생은 목표비트량보다 많으며 반응파라미터 r 값만큼 초과될 수 있어, 버퍼상태가 증가하여 QP값이 31이 되었을 때도 버퍼가 넘치지 않도록 하기 위함이다. 픽쳐 초기에 버퍼 빈상태의 1/16의 여유를 둔 것은 버퍼의 넘침을 막기 위해 QP를 31로 하여도 비트율에 따라 버퍼에서 빠져나가는 것 보다 부호화기에서 발생되는 비트가 많을 수 있으며, 이러한 경우에 버퍼넘침이 발생하기 때문에 이것을 방지하기 위함이다. MPEG에서 비트율을 제어하는 방법은 QP에 의한 방법밖에 없다. 이러한 상황에서 QP를 최대값인 31로 해도 버퍼가 증가하는 것을 방지하기 위해 비디오 인코더를 실제 구현할 때, 버퍼가 넘칠려고 하면 DCT 계수 중 고주파 성분을 강제로 제거시키는 방법을 사용한다. 이때, (실제 버퍼상태+픽쳐목표비트+r)값을 그 기준으로 사용한다.
실제 버퍼의 상태에 따른 반응파라미터 r의 조정은 매크로블럭의 비트 발생량에 따라 QP를 민감하게 혹은 둔감하게 반응하게 하며 이것은 버퍼의 여유내에서 좋은 화질을 보장해 준다.
도 2 는 본 발명에 따른 엠펙 비디오 인코더의 비트율 제어방법에 대한 일실시예 흐름도로서, MPEG 표준에서 제시하는 VBV 조건을 동시에 만족하는 비트율 제어방법을 나타내고 있다.
먼저, piclk가 액티브되기 전에 GOP의 목표비트(G)와 목표비트의 최소값(Tmin)을 구한다.
GOP에서 향후 발생되어야할 비트량(R)값을 0으로 초기화하고, 픽쳐 타입별로 정해지는 가상버퍼의 초기값(d0i,p,b)을 설정한다(21).
이들 값들을 설정하고 piclk가 액티브될때까지 대기한다(22).
piclk가 액티브되면 buf_empty(실제 버퍼의 빈상태), 즉 buf_size-buf_fullness(실제 버퍼의 채워진 상태)를 구한다(23).
현재 픽쳐가 GOP의 첫째 픽쳐이면 이전 GOP에서 목표비트와 실제 발생비트의 차를 나타내는 R값은 위에서 구해진 목표비트(G)값을 더해 현재의 GOP목표 비트값(R)을 재설정한다. 즉, R=R+G로 한다(24,25).
이어, 픽쳐목표비트의 최대값인 Tmax, 현재 부호화할 픽쳐의 픽쳐목표비트TP, 반응 파라미터 r을 구한다(26,27,28).
그리고, 현재 매크로 블록의 순서를 나타내는 j를 0으로 초기화한다(29).
piclk가 액티브되어서 이상의 과정을 수행하는데는 시스템 클럭으로 수 클럭 혹은 수십클럭밖에 소요되지 않는다. MB의 동작개시 신호인 mbclk는 piclk가 액티브되고나서 수천클럭 이후에 액티브된다(30). mbclk가 액티브되면 MB의 인덱스인 j값을 증가시킨 이후에 가상 버퍼의 상태 d를 구한다. 가상버퍼 상태값은 가상버퍼의 초기값인 d0에 piclk이후 (j-1)번째까지 발생된 비트 B를 더하고 (j-1)MB기간동안 픽쳐목표비트율로 가상버퍼에서 빠져나간 비트를 뺀 값이다(32). d값이 구해지면 위에서 기술된 식으로 최종 양자화 파라미터 QP를 얻는다. QP는 1∼31의 값을 가질 수 있다(도면에 이렇게 구해진 QP를 받아 DCT 계수의 양자화가 이루어지는 것이 나타나있다)(33).
픽쳐의 마지막 MB의 QP가 구해지고 양자화, VLC가 끝나면 GOP의 향후 목표발생비트인 R의 값이 현재의 픽쳐동안 발생된 비트 S값을 뺀 값으로 재설정된다. 또한, 가상버퍼의 초기상태인 d0값도 j가 MBinP+1의 값으로 하여 구해진 d값으로 현재 부호화픽쳐의 픽쳐타입에 따라 d0i혹은 d0p 혹은 d0b 값을 재설정한다. 그리고 다음 piclk를 기다린다(34,35).
상기와 같은 동작은 실제 버퍼 상태를 고려하여 T와 r을 조정함으로써 VBV 조건과 실제 버퍼의 넘침을 방지하도록 하며, MPEG 표준에서 VBV 조건이란 한 픽쳐의 비트 발생이 현재 픽쳐가 부호화하기 시작한 시점에서의 실제 버퍼의 빈 상태값을 초과할 수 없다는 것이다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
따라서, 상기와 같은 본 발명에 의하면 MPEG-2 비디오 인코더에서 임의의 버퍼크기와 부호화 영상 타입에 대해 MPEG-2 의 VBV 조건을 만족시키면서 간단한 방법으로 최대의 화질을 보장할 수 있는 효과가 있다.
Claims (7)
- 엠펙 비디오 인코더에 적용되는 비트율 제어 방법에 있어서,초기값을 설정하고, 영상그룹(GOP)의 최초 픽쳐 클럭이 액티브됨에 따라 독립적으로 부호화가 가능한 영상 단위인 영상그룹의 목표 비트량을 재설정하는 제 1 단계;픽쳐 목표 비트량과 반응 파라미터를 구하고 현재 매크로 블록의 순서를 초기화하는 제 2 단계;매크로 블록 클럭이 액티브됨에 따라 가상 버퍼의 상태를 구하여 최종 양자화 파라미터를 얻는 제 3 단계; 및독립적으로 부호화가 가능한 영상그룹의 목표 발생 비트와 가상 버퍼의 초기 상태값을 재설정하는 제 4 단계를 포함하는 엠펙 비디오 인코더의 비트율 제어 방법.
- 제 1 항에 있어서,상기 제 2 단계는,픽쳐 목표 비트량을 실제 버퍼의 상태로부터 구해지는 최대값(Tmax)으로 제한하여 결정하고, 반응 파라미터값을 초기 설정된 값으로 고정하여 사용하는 것이 아니라 픽쳐 단위로 변화시키는 것을 특징으로 하는 엠펙 비디오 인코더의 비트율 제어 방법.
- 제 2 항에 있어서,상기 픽쳐 목표 비트량의 최대값은, 채널 버퍼 크기에서 실제 버퍼 상태값을 뺀 값에 14/16을 곱하여 결정하고,상기 반응 파라미터는, 채널 버퍼 크기에서 실제 버퍼 상태값을 뺀 값에 15/16을 곱한 다음에, 픽쳐 목표 비트수를 뺀 값으로 결정하는 것을 특징으로 하는 엠펙 비디오 인코더의 비트율 제어 방법.
- 제 1 항 내지 제 3 항중 어느 한 항에 있어서,상기 제 1 단계는,독립적으로 부호화가 가능한 영상그룹의 비트량을 초기화하고, 픽쳐 타입별 가상 버퍼의 초기값을 설정하는 제 5 단계; 및픽쳐 클럭이 액티브됨에 따라 현재 픽쳐가 독립적으로 부호화가 가능한 영상그룹의 최초 픽쳐이면 이전 목표 비트와 실제 발생 비트의 차를 이용하여 목표 비트량을 재설정하는 제 6 단계를 포함하는 엠펙 비디오 인코더의 비트율 제어 방법.
- 제 4 항에 있어서,상기 제 2 단계는,픽쳐 목표 비트의 최대값과 현재 부호화할 픽쳐의 픽쳐 목표 비트, 및 반응 파라미터를 구하는 제 7 단계; 및현재 매크로 블록의 순서를 초기화하는 제 8 단계를 포함하는 엠펙 비디오 인코더의 비트율 제어 방법.
- 제 5 항에 있어서,상기 제 3 단계는,매크로블록 클럭이 액티브됨에 따라 가상 버퍼의 상태를 구하는 제 9 단계; 및상기 가상 버퍼의 상태값이 구해지면 최종 양자화 파라미터를 구하는 제 10 단계를 포함하는 엠펙 비디오 인코더의 비트율 제어 방법.
- 제 6 항에 있어서,상기 제 4 단계는,독립적으로 부호화가 가능한 영상그룹의 목표 발생 비트를 현재의 픽쳐동안 발생된 비트값을 뺀 값으로 재설정하는 제 11 단계; 및가상 버퍼의 초기상태를 현재 부호화 픽쳐의 픽쳐 타입에 따라 재설정하는 제 12 단계를 포함하는 엠펙 비디오 인코더의 비트율 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970077193A KR100285705B1 (ko) | 1997-12-29 | 1997-12-29 | 엠펙비디오인코더의비트율제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970077193A KR100285705B1 (ko) | 1997-12-29 | 1997-12-29 | 엠펙비디오인코더의비트율제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990057147A KR19990057147A (ko) | 1999-07-15 |
KR100285705B1 true KR100285705B1 (ko) | 2001-04-02 |
Family
ID=37514471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970077193A KR100285705B1 (ko) | 1997-12-29 | 1997-12-29 | 엠펙비디오인코더의비트율제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100285705B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100677128B1 (ko) * | 2004-08-30 | 2007-02-02 | 삼성전자주식회사 | 동영상 부호화기의 비트율 제어장치 및 방법 |
-
1997
- 1997-12-29 KR KR1019970077193A patent/KR100285705B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990057147A (ko) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Scalable rate control for MPEG-4 video | |
US6763067B2 (en) | Rate control for bitstream re-encoding | |
JP4256574B2 (ja) | 画像信号符号化方法および画像信号符号化装置 | |
KR100610520B1 (ko) | 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체 | |
US6823008B2 (en) | Video bitrate control method and device for digital video recording | |
US6141380A (en) | Frame-level rate control for video compression | |
US5461422A (en) | Quantizer with automatic pre-threshold | |
JPH07184196A (ja) | 画像符号化装置 | |
WO1996025823A2 (en) | Method and device for transcoding video signals | |
KR19990086789A (ko) | 비트율이 급변되는 재양자화 계단 크기 선택 방법 및 그를 이용한 비트율 제어 방법 | |
JP3259702B2 (ja) | 動画像可変ビットレート符号化装置および方法 | |
EP1157560B1 (en) | Bit rate control for video data compression | |
JPH10164577A (ja) | 動画像符号化装置 | |
KR20000070810A (ko) | 부호화 장치 및 부호화 방법 | |
JP2001028753A (ja) | 動画像符号化装置及びその方法 | |
KR19980026713A (ko) | DPCM/DCT 비디오 인코더의 전송율 제어(Rate Control)방법 | |
KR100285705B1 (ko) | 엠펙비디오인코더의비트율제어방법 | |
JP2001025015A (ja) | 動画像符号化装置及びその方法 | |
KR0123243B1 (ko) | 장면 전환시의 비트율 제어 방법 | |
KR100228549B1 (ko) | 채널율을 이용한 가변 비트율 비디오 제어 방법 | |
JPH10210475A (ja) | 画像符号化装置 | |
JPH1127665A (ja) | 映像データ符号化装置及び方法並びに映像データ伝送方法 | |
KR0185832B1 (ko) | 고선명 텔레비젼의 레이트제어장치 | |
KR100355438B1 (ko) | 동영상 부호화기의 비트열 출력 버퍼 제어 방법 | |
KR0141819B1 (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 | ||
FPAY | Annual fee payment |
Payment date: 20121228 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20140102 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |