KR0153671B1 - 고선명 텔레비젼 엔코더의 레이트 콘트롤러 - Google Patents
고선명 텔레비젼 엔코더의 레이트 콘트롤러Info
- Publication number
- KR0153671B1 KR0153671B1 KR1019950019181A KR19950019181A KR0153671B1 KR 0153671 B1 KR0153671 B1 KR 0153671B1 KR 1019950019181 A KR1019950019181 A KR 1019950019181A KR 19950019181 A KR19950019181 A KR 19950019181A KR 0153671 B1 KR0153671 B1 KR 0153671B1
- Authority
- KR
- South Korea
- Prior art keywords
- ram
- sequence
- value
- outputting
- step size
- Prior art date
Links
- 230000000694 effects Effects 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 241001504505 Troglodytes troglodytes Species 0.000 claims description 2
- 238000013139 quantization Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
-
- 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
-
- 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/102—Methods 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/124—Quantisation
-
- 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/149—Data 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
-
- 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/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/16—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display 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/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Abstract
본 발명은 고선명 텔레비젼 엔코더의 레이트 콘트롤러에 관한 것으로, 픽처 동기(Picture-sync)신호를 카운팅하여 출력하는 카운처(40)와; 상기 카운터(40)로부터 입력된 카운트값과 외부에서 입력된 픽처타입(Picture-type)신호에 따라 양자화기의 스텝 사이즈(Mqunat)를 계산하여 출력하도록 제어하는 시퀀스를 출력하는 스테이트 머쉰(50); 양자화기의 스텝 사이즈(Mquant)를 계산하기 위한 각 초기값, 활성도 (actj), 비트 발생량(Si, Sp, Sb), 부분 계산값을 상기 시퀀스에 따라 선택적으로 출력하는 멀티플렉서부(60); 상기 멀티플렉서부(60)로부터 입력된 각 초기값, 활성도(actj), 비트 발생량(Si, Sp, Sb), 부분 계산 값을 상기 시퀀스에 따라 라이트하거나 라이트된 값을 리드하여 출력하는 메모리부(70); 상기 메모리부(70)에서 출력된 값을 계산하여 출력하는 연산부(80) 및; 상기 시퀀스에 따라 상기 연산부(80)에서 계산된 양자화기의 스텝 사이즈(Mquant) 출력하는 버퍼(90)를 포함하여 구성되어, 스테이트 머쉰(50)에서 출력된 시퀸스에 의해 양자화기의 스텝 사이즈(Mquant)를 계산함에 따라 계산하기 쉬울뿐만 아니라 원칩으로 구현하기 용이한 것이다.
Description
제1도는 일반적인 고선명 텔레비젼에서 사용되는 압축부호화 계통을 도신한 블럭도.
제2도는 본 발명에 따른 고선명 텔레비젼 엔코더의 레이트 콘트롤러의 블럭도.
제3도는 본 발명에 따른 스테이트 머쉰에서 출력되는 시퀀스의 구조도이다.
* 도면의 주요부분에 대한 부호의 설명
40 : 카운터 50 : 스테이트 머쉰
60 : 멀티플렉서부 62 : 제 1 멀티플렉서
64 : 제 2 멀티플렉서 70 : 메모리부
72 : 제 1 램 74 : 제 2 램
80 : 연산부 82 : 덧셈/뺄셈블럭
84 : 곱셈블럭 86 : 나눗셈블럭
88 : 멀티플렉서 90 : 버퍼
본 발명은 고선명 텔레비젼(HDTV)에서 영상 신호를 압축부호화하기 위해 사용되는 엔코더의 레이트(rate) 콘트롤러에 관한 것으로, 특히 목표 비트량에 맞추어 적당하게 데이타량이 발생되도록 양자화기의 스텝(step) 사이즈를 결정하여 버퍼에서 오버플로우나 언더플로우가 발생하지 않도록 하는 레이트 콘트롤러에 관한 것이다.
일반적으로, HDTV 전송채널의 대역폭은 고정되어 있는 반면, 영상 데이타들이 최종적으로 가변장부호화되어 발생되는 데이타량은 시간에 따라 달라진다. 따라서, 발생되는 데이타량을 주어진 전송율에 맞추어 조절하기 위해 레이트 콘트롤이 필요하다. 이러한 레이트 콘트롤은 주로 버퍼의 충만도(Buffer Fullness : dj)및 입력화상의 활성도(Activity : actj)에 따라 양자화기의 스텝 사이즈를 가변하여 데이타의 발생량을 조절하는 것이다.
즉, 발생한 비트 수가 기준치 이상이면 버퍼에 채워지는 데이타량이 증가하므로 양자화 스텝 사이즈를 증가시켜 다음에 발생할 비트수를 감소시키고, 발생한 데이타가 기준치 이하이면 그 반대로 양자화 스텝 사이즈를 감소시켜 발생 비트수를 증가시켜 전체적으로 버퍼의 데이타가 일정치를 유지하도록 조절한다. 이때, 양자화 스텝 사이즈에 의해 화질에 직접적인 영향을 미치게 되므로 레이트 콘트롤 기법은 영상의 화질을 좌우하는 중요한 요인중의 하나라고 할 수 있다.
한편, 고선명 텔레(HDTV)에서 사용되는 압축 부호화계통은 제1도에 도시된 바와 같이, 영상신호를 프레임단위로 저장하는 제 1 프레임 메모리(11)와; 입력영상의 타입(I, P, B 타입등)에 따라 입력영상을 그대로 출력하거나 움직임 추정된 영상과 감산하여 출력하는 감산기(12); 상기 감산기(12)의 출력영상을 블럭단위로 이산여현변환하여 해당 계수값을 출력하는 이산여현변환기(13); 상기 이산여현변환기(13)의 출력을 소정의 양자화 스텝(M-quant)에 따라 양자화하는 양자화기(14); 상기 양자화된 영상데이타를 지그재그 스캔하여 런-랭쓰번환하고, 이어서 허프만 테이블을 사용하여 가변길이로 부호화하는 가변장부호기(15); 상기 양자화된 데이타를 역양자화하는 역양자화기(16); 상기 역양자화된 데이타를 역이산여현변환하는 역이산여현변환기(17); 가산기(18); 제 2 프레임 메모리(19); 입력되는 영상과 제 2 프레임 메모리(19)에 저장된 영상을 비교하여 움직임벡터(MV)를 산출하는 움직임 추정부(20); 상기 움직임벡터(MV)에 따라 상기 프레임 메코리(19)에 저장된 영상데이타를 보상하는 움직임보상부(21); 상기 입력 영상의 활성도(activity)를 산출하는 활성도 계산부(31); 상기 가변장부호화된 데이타를 저장하는 버퍼(32)및; 상기 버퍼(32)로부터 버퍼충만도(dj)와 상기 활성도 계산부(31)로부터 활성도(actj)를 입력하여 양자화 스케일(Mquant)을 결정하는 레이트 제어부(33)로 구성되어 있다.
상기와 같이 구성된 영상압축 부호화계통은 MPEG2등으로 이미 널리 알려져 있으며 HDTV에서도 이를 사용한다. 따라서, 각 구성블럭에 대한 자세한 설명은 생략하고, 레이트 콘트롤에 관련되는 활성도 계산부(31)와 버퍼(32) 및 레이트 제어부(33)에 대해서만 간단히 설명하기로 한다.
상기 버퍼(32)는 해당 화면(picture)의 목표 비트와 현재의 매크로 블럭까지의 발생 비트량을 입력으로 받아 다음 제 1 식과 같이 버퍼(32)의 충만도(buffer fullness)를 계산한다.
여기서,dj는 현재 화면의 j번째 매크로 블럭에서의 버퍼충만도 (buffer fullness)이고, d0는 이전 화면에 의해 정해진 현재 화면의 시작단계에서의 초기 충만도,B(j-1)은 j-1 매크로 블럭까지 발생한 비트량, T는 현재 화면에 할당된 목표 비트이고, MB는 현재화면의 매크로 블럭의 수이다.
상기 제1식에서와 같이 현재 화면의 j번째 매크로 블럭의 충만도는 j-1번째 매크로블럭까지 발생한 비트량에서 j-1번째까지의 목표 비트량을 뺀 값에 현재 화면의 초기 충만도를 더하여 구해진다. 따라서 현재 매크로 블럭까지의 목표 비트량과 실재 발생 비트량이 일치하면 현재의 충만도는 d0가 되고, 실재 발생량이 목표 비트량을 초과하면 현재의 버퍼 충만도는 d0보다 커지고, 반대로 실제 발생량이 목표비트량보다 작으면 현재의 버퍼충만도는 d0보다 작아진다.
이어서, 레이트 콘트롤러(33)는 현재 버퍼(32)에서 출력된 충만도(dj)로부터 다음 매크로 블럭의 양자화 스텝을 하기 제2식에 따라 계산한다.
여기서, 'r'은 reaction parameter로서 r=2*bit-rate/picture-rate이고, dj는 j번째 매크로블럭에서의 버퍼 충만도이다.
이렇게 정해진 Qj 와 활성도 계산부(31)로부터 출력된 화면의 활성도(actj)가 고려되어 다음과 같은 양자화 스텝 사이즈가 최종적으로 정해진다.
그러나, 위에서 설명한 바와 같이 종래의 레이트 콘트롤러(33)는 버퍼(32)에서 계산되어 출력된 충만도(dj)와 활성도 계산부(31)에서 계산되어 출력된 입력화상의 활성도(actj)를 입력받아 양자화기의 스텝 사이즈(Mqunat)를 계산하여 출력함에 따라 Mquant 값을 계산하는 하드웨어를 원칩으로 구현하기 어려운 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 제 문제점을 해소하기 위한 것으로, 양자화기의 스텝 시이즈(Mquant)를 계산하여 출력하는 레이트 콘트롤러의 구조를 개선하여 Mquant를 계산하기 쉬울뿐만 아니라 원칩으로 구현하기 용이한 구조를 가지고 고선명 텔레비젼 엔코더의 레이트 콘트롤러를 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 고선명 텔레비젼 엔코터의 레이트 콘트롤러는, 픽처 동기신호를 카운팅하여 출력하는 카운터와; 상기 카운터로부터 입력된 카운트값과 외부에서 입력된 픽처 타입신호에 따라 양자화기의 스텝 사이즈를 계산하여 출력하도록 제어하는 시퀀스를 출력하는 스테이트 머쉰; 양자화기의 스텝 사이즈를 계산하기 위한 각 초기값, 활성도, 비트발생량, 부분 계산값을 상기 스테이트 머쉰에서 출력된 시퀀스에 따라 선택적으로 출력하는 멀티플렉서부; 상기 멀티플렉서부로부터 입력된 각 초기값, 활성도, 비트 발생량, 부분 계산값을 상기 스테이트 머쉰에서 출력된 시퀀스에 따라 라이트하거나 라이트된 값을 리드하여 출력하는 메모리부; 상기 메모리부에서 출력된 값을 계산하여 출력하는 연산부 및; 상기 시퀀스에 따라 상기 연산부에서 계산된 양자화기의 스텝 사이즈 출력하는 버퍼를 포함하여 구성된 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
일반적으로, 부호화기에서 발생되는 데이타량은 부호화기에 입력되는 영상의 특성에 따라 화면간 및 화면내의 매크로 블럭별로 불규칙하게 발생한다. 이와 같이 불규칙하게 발생되는 데이타를 고화질을 유지하며 일정한 전송속도를 갖는 전송로를 통해서 전송하기 위해서는 전송율 조절(rate control : 레이프 콘트롤)이 필요하다. 이를 위하여 일반적으로, 매크로 블럭단위로 버퍼와 부호화된 신호의 활성도를 기준으로 전송율을 조절하는 feed-back과 feed-forward 방식을 결합한 방식을 사용한다.
이를 보다 상세히 설명하면, 전체적으로 다음과 같이 4단계의 과정으로 레이트 제어를 수행한다.
제1단계 : 복잡도 예측(complexity estimation)
I,P 또는 B-picture가 엔코딩된 후의 복잡도를 추정하는 단계로서,I,P 또는 B-picture의 초기 복잡도(X)는 다음과 같은 값으로 주어지며,
Xi = 160 * bit-rate/115
Xp = 60 * bit-rate/115
Xb = 42 * bit-rate/115
I,P 또는 B-picture가 엔코딩된 후의 복잡도는 다음식(제4식, 제5식, 제6식)에 의해서 업데이트(update)된다.
여기서, Si, Sp, Sb는 가변장부호기에서 발생되는 비트량이고,Qi,Qp,Qb는 계산으로 얻어진 양자화 계수값이다.
제2단계 : 목표 비트 할당(target bit allocation)
임의의 한 프레임을 부호화할 때 발생할 비트량을 사전에 추정해내는 과정으로 GOP(group of picture)내에서 화면들간의 관계를 이용한다.
즉, I,P 또는 B-picture의 각 목표 비트는 다음식 (제 7 식, 제 8 식, 제 9 식)으로 얻어진다.
상기에 있어서, Kp = 1.0 으로 하고 Kb = 1.4 로 하며, 초기 R(비트 레이트)값은 0으로 한다.
그리고, 매 GOP 마다 R은 R + GOP-target으로 하며, 매 picture 마다 발생된 비트량을 R에서 뺀 다음 이 값을 R로 업데이트(update)한다.
제3단계 : 레이트 제어(rate control)
가상 버퍼 개념에 의해서 각 매트로 블럭에서 전송율을 조정하기 위해서 기준 양자화 스텝을 계산하는 과정이다.
가상 버퍼의 충만도는 I, P 또는 B-picture에 따라 다음식(제10식, 제11식, 제12식)에 의해 구해진다.
여기서, d0i, d0p, dob는 초기 충만도(initial fullness)이고, Bj는 비트 발생량이며, MB-cnt는 매크로 블럭수이고,dji, djp, djb는 매크로 블럭에서의 충만도이다.
상기와 같이 얻어진 충만도는 같은 type의 다음 picture의 초기값으로 사용된다.
기준 양자화 변수(Qj)는 다음식으로 얻어진다.
상기에서, r = 2 * bit-rate/Picture-rate 이다.
제4단계 : 적응양자화 (adaptive qunatization)
각 매크로 블럭에서 실제 양자화 과정에서 이용하는 Mquant(modified quantizer)를 계산하는 과정으로 영상내의 활성도(activity)를 기준으로 하여 제3 과정에서 구한 기준 양자화 스텝으로부터 Mquant를 계산한다.
활성도는 하기 제14식으로 구해지며,
이다.
Normalized actj는 하기 제15식으로 구해진다.
여기서, avg-act는 last picture의 actj 평균값이다.
그리고, 최종적으로 Mquant 값은 하기 제16식으로 구해진다.
이와 같이 양자화에 사용되는 변수들은, 부호화 전에 미리 산정된 그 프레임에서 사용될 수 있는 비트수(목표 비트량)와 가상 버퍼의 충만도 및 영상의 활성도에 따라 결정된다.
한편, 상기와 같은 기존의 공식을 이용하여 Mqunat 값을 출력하는 본 발명에 따른 고선명 텔레비젼의 레이트 콘트롤러는 제2도에 도시된 바와 같이, 픽처 동기(Picture-sync)신호를 카운팅하여 출력하는 카운터(40)와; 상기 카운터(40)로부터 입력된 카운트값과 외부에서 입력된 픽처 타입(Picture-type)신호에 따라 양자화기의 스텝 사이즈(Mqunat)를 계산하여 출력하도록 제어하는 시퀀스를 출력하는 스테이트머쉰(50); 양자화기의 스텝 사이즈(Mquant)를 계산하기 위한 각 초기값(Xi,Xp,Xb,Ni,Np,Nb......), 활성도(actj), 비트 발생량(Si,Sp,Sb), 부분 계산값을 상기 스테이트 머쉰(50)에서 출력된 시퀀스에 따라 선택적으로 출력하는 멀티플렉서부(60); 상기 멀티플렉서부(60)로부터 입력된 각 초기값(Xi,Xp,Xb,Ni,Np,Nb.....), 활성도(actj), 비트 발생량(Si,Sp,Sb), 부분 계산값을 상기 스테이트 머쉰(50)에서 출력된 시퀀스에 따라 라이트하거나 라이트된 값을 리드하여 출력하는 메모리부(70); 상기 시퀀스에 따라 함수를 선택하여 상기 메모리부(70)에서 출력된 값을 선택된 함수에 따라 계산하여 출력하는 출력하는 연산부(80) 및; 상기 시퀀스에 따라 상기 연산부(80)에서 계산된 양자화기의 스텝 사이즈(Mquant) 출력하는 버퍼(90)를 포함하여 구성된다.
상기 멀티플렉서부(60)는, 각 초기값(Xi,Xp,Xb,Ni,Np,Nb......), 활성도(actj), 부분 계산값을 상기 스테이트 머쉰(50)에서 출력된 시퀀스에 따라 선택하여 출력하는 제1멀티플렉서(62)와, 각 초기값(Xi,Xp,Xb,Ni,Np,Nb.....), 비트 발생량(Si,Sp,Sb), 부분 계산값을 상기 스테이트 머쉰(50)에서 출력된 시퀸스에 따라 선택하여 출력하는 제2멀티플렉서(64)로 이루어진다.
상기 메모리부(70)는, 분자와 양(+)의 성분을 저장하는 제1램(72)과, 분모와 음(-)의 성분을 저장하는 제 2 램(74)으로 이루어진다.
또한 상기 연산부(80)는 상기 제1램(72)과 제2램(74)에서 출력된 데이타를 연산하는 덧셈/뺄셈블럭(82), 곱셈블럭(84), 나눗셈블럭(86)과, 상기 각 블럭(82,84,86)에서 계산되어 출력된 값을 상기 시퀀스에 따라 선택하여 출력하는 멀티플렉서(88)로 이루어진다.
그리고, 스테이트 머쉰(50)에서 출력되는 스퀀스는, 제3도에 도시된 바와 같이, 2비트의 픽처 타입(Picture-type), 4비트의 함수 선택(function-select), 5비트의 제1램 리드어드레스(radrs-left), 5비트의 제2램 리드어드레서(radrs-right), 5비트의 제1램 라이트어드레스(wadrs-left), 5비트의 제2램 라이트어드레스(wadrs-right), 1비트의 제1램 라이트인에어블신호(wren-left), 1비트의 제2램 라이트인에이블신호(wren-right), 2비트의 제1먹스 선택신호(muxsel-left), 2비트의 제2먹스 선택신호(muxel-right), 1비트의 버퍼 인에이블신호(enable)로 구성된다.
상기와 같이 구성된 본 발명에 따른 레이트 콘트롤러의 작용 및 효과를 상세히 설명하면 다음과 같다.
카운터(40)가 픽처동기(picture-sync)신호를 입력받아 카운트를 시작하고 카운트된 값을 출력하면, 스테이트 머쉰(50)은 상기 카운터(40)로부터 입력된 카운트값과 외부에서 입력된 픽처 타입(Picture-type)신호에 따라 양자화기의 스텝 사이즈(Mqunat)를 계산하여 출력하도록 제어하는 시퀀스를 출력한다.
상기 시퀀스는 픽처 타입(예를들어, 01 : I_picture, 10 : P_picture, 11 : B_picture)에 맞춰 제3도에 도시된 바와 같이, 2비트의 픽처 타입(picture-type), 4비트의 함수 선택(function-select), 5비트의 제1램 리드어드레서(radrs-left), 5비트의 제2램 리드어드레스(radrs-right), 5비트의 제1램 라이트어드레스(wadrs-ldft),5비트의 제2램 라이트어드레스(wadrs-right), 1비트의 제1램 라이트/리드인에이블신호(wren-left),1비트의 제2램 라이트/리드인에이블신호(wren-right), 2비트의 제1먹스 선택신호(muxsel-left), 2비트의 제2먹스 선택신호(muxel-right), 1비트의 버퍼 인에이블신호(enable)로 포맷된 코드를 발생하는데 이 코드가 양자화기의 스텝 사이즈(Mquant)를 계산하여 출력하도록 제어하는 것이다.
상기와 같은 시퀀스에 따라 제1램(72)과 제2램(74)에서 각각 데이타를 읽어오고, 연산함수를 선택(함수 선택 : function select)하여, 연산하고 그 결과를 메모리부(70)의 제1램(72) 또는 제2램(74)에 다시 라이트하는 것이다.
예를 들어서, 픽처 타입(picture-type)이 '01'임과 더불어 카운트 값이 '0'인 경우에 상기 스테이트 머쉰(50)으로부터 출력되는 코드는 01, Don't care, Xpadrs, Npadrs, Don't acre, Don'care,1, 1, Don't care, Don't care, 0 의 비트 스트림이 출력되며, 이 비트 스트림의 의미는 5비트의 제1램 리드어드레스(radrs-left) 및 5비트의 제2램 리드어드레스(radrs-right)가 각각 Xp와 Np의 어드레스값을 나타내고, 1비트의 제1램 라이트/리드인에이블신호(wren-left)와 1비트의 제2램 라이트/리드인에이블신호(wren-right)가 각각 '1'로 주어짐에 따라 제1램(72)으로부터 Xp를, 제2램(74)으로부터 Np를 읽어와서 연산을 하고, 이때 제1램(72) 또는 제2램(74)에 계산된 결과를 라이트하지 않는다.(라이트인에이블신호(wren)가 '0'인 경우에 라이트를 함)
또한 2비트의 제1먹스 선택신호(muxsel-left) 및 2비트의 제2먹스 선택신호(muxsel-right)가 Don't care 상태이고, 1비트의 버퍼인에이블신호 (enable)가 '0'로 주어짐에 따라 연산된 값이 버퍼(90)를 통해 출력되지 않게 되는 것이다. (인에이블신호가'1'일때 출력함)
상기 시퀀스에 헤드에 구비된 픽처 타입(picture-type) '01'은 코드로 출력하지 않아도 되지만 계산된 값을 디버깅하여 다시 제1램(72) 또는 제2램(74)에 저장하기 용이하게 위해서 코드로 사용 하였다.
다음 클럭에서 카운트 값이 '1'로 되면, 01,...Xi adrs, Kp adrs...1,1,...0로 되어 제1램(72)과 제2램(74)에서 각각 데이타(Xi, Kp)를 리드하여 연산을 하게 된다.
한편, 하드웨어의 구조상 지연이 발생하게 되므로 카운트 값이 '0' 일때의 Xp,Np가 연산 시퀀스상 곱셈을 해야 한다면 연산부(80)의 곱셈블럭 (84)의 지연 후 스테이트 머신(50)의 비트 스트림중 함수 선택(function-select)은 곱셈블럭(84)의 출력을 선택하도록 멀티플렉서(88)에 선택신호로서 가해지는 것이다.
한편, 이전에 설명한 양자화기의 스텝 사이즈(Mqunt)를 결정하기 위한 기존 공식 (제4식에서 제16식)에 사용되는 각 초기값 및 연산부(80)를 통해 계산된 결과치는 제1램(72)과 제2램(74)에 저장된다.
즉, 제1램(72) 또는 제2램(74)에 저장되어 있는 데이타를 리드한 후 연산부(80)에서 연산하여 다시 제1램(72) 또는 제2램(74)에 라이트된다.
이때, 연산의 일관성을 고려하여 제1램(72)에는 분자와 양(+)의 성분을 제2램(74)에는 분모와 음(-)의 성분을 라이트(wirte)한다.
따라서, 연산을 보다 효율적으로 할 수 있는 것이다.
단, 레이트 콘트롤하기 위해서는 활성도(actj)을 구하여야 하며 그값은 제1도의 활성도 계산부(31)로 부터 구해져 입력된다.
이상에서 살펴본 바와 같이 본 발명에 따르면, 양자화기의 스텝 사이즈를 계산하여 출력하는 레이트 콘트롤러의 구조를 개선하여 시퀀스에 따라 양자화기의 스텝 사이즈를 계산함에 따라 계산하기 쉬울뿐만 아니라 원칩으로 구현하기 용이하다.
Claims (3)
- 양자화기의 스텝 사이즈(Mquant)를 제어하는 레이트 콘트롤러에 있어서, 픽처 동기 (Picture-sync)신호를 카운팅하여 출력하는 카운터(40)와; 상기 카운터(40)로부터 입력된 카운트값과 외부에서 입력된 픽처 타입(Picture-type)신호에 따라 양자화기의 스텝 사이즈(Mqunat)를 계산하여 출력하도록 제어하는 시퀀스를 출력하는 스테이트 머쉰(50); 양자화기의 스텝 사이즈(Mquant)를 계산하기 위한 각 초기값(Xi,Xp,Xb,Ni,Np,Nb...), 활성도(actj), 비트 발생량(Si,Sp,Sb), 부분 계산값을 상기 시퀀스에 따라 선택적으로 출력하는 멀티플렉서부(60); 상기 멀티플렉서부(60)로부터 입력된 각 초기값(Xi,Xp,Xb,Ni,Np,Nb....), 활성도(actj), 비트 발생량(Si,Sp,Sb), 부분 계산값을 상기 시퀀스에 따라 라이트하거나 라이트된 값을 리드하여 출력하는 메모리부(70); 상기 시퀀스에 따라 함수 선택을 하여 상기 메모리부(70)에서 출력된 값을 선택된 함수에 따라 계산하여 출력하는 출력하는 연산부(80)및; 상기 시퀀스에 따라 상기 연산부(80)에서 계산된 양자화기의 스텝 사이즈(Mquant)출력하는 버퍼(90)를 포함하여 구성된 것을 특징으로 하는 고선명 텔레비젼 엔코더의 레이트 콘트롤러.
- 제1항에 있어서, 상기 메모리부(70)는, 분자와 양(+)의 성분을 저장하는 제1램(72)과, 분모와 음(-)의 성분을 저장하는 제2램(74)으로 이루어진 것을 특징으로 하는 고선명 텔레비젼 엔코더의 레이트 콘트롤러.
- 제1항에 있어서, 상기 스테이트 머쉰(50)에서 출력되는 시퀸스는, 픽처 타입(picture-type),함수 선택(function-select), 제1램 리드어드레스(radrs-left), 제2램 리드어드레스(radrs-right), 제1램 라이트어드레스(wadrs-left), 제2램 라이트어드레스(wadrs-right), 제1램 라이트인에이블신호(wren-left), 제2램 라이트인에이블신호(wren-right), 제1먹스 선택신호(muxsel-left), 제2먹스 선택신호(muxel-right),버퍼인에이블 신호(enable)로 포맷된 코드로 구성된 것을 특징으로 하는 고선명 텔레비젼 엔코더의 레이트 콘트롤러.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950019181A KR0153671B1 (ko) | 1995-06-30 | 1995-06-30 | 고선명 텔레비젼 엔코더의 레이트 콘트롤러 |
US08/671,187 US5777680A (en) | 1995-06-30 | 1996-06-27 | Video signal encoding system controller for deciding an inter/intra mode, a field/frame DCT mode, and a quantization parameter |
CNB961071729A CN1183770C (zh) | 1995-06-30 | 1996-06-28 | 视频信号编码系统控制器 |
EP96304820A EP0751687B1 (en) | 1995-06-30 | 1996-06-28 | Video signal encoding system controller |
DE69637873T DE69637873D1 (de) | 1995-06-30 | 1996-06-28 | Steuervorrichtung für ein Videosignalkodierungssystem |
IN1192CA1996 IN189975B (ko) | 1995-06-30 | 1996-06-28 | |
JP8191427A JPH0974565A (ja) | 1995-06-30 | 1996-07-01 | 映像信号符号化システム用コントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950019181A KR0153671B1 (ko) | 1995-06-30 | 1995-06-30 | 고선명 텔레비젼 엔코더의 레이트 콘트롤러 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970004810A KR970004810A (ko) | 1997-01-29 |
KR0153671B1 true KR0153671B1 (ko) | 1998-11-16 |
Family
ID=19419527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950019181A KR0153671B1 (ko) | 1995-06-30 | 1995-06-30 | 고선명 텔레비젼 엔코더의 레이트 콘트롤러 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5777680A (ko) |
EP (1) | EP0751687B1 (ko) |
JP (1) | JPH0974565A (ko) |
KR (1) | KR0153671B1 (ko) |
CN (1) | CN1183770C (ko) |
DE (1) | DE69637873D1 (ko) |
IN (1) | IN189975B (ko) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970057947A (ko) * | 1995-12-28 | 1997-07-31 | 배순훈 | 영상 부호화기에서의 타입 결정 및 버퍼 제어 장치 |
US6263020B1 (en) * | 1996-12-24 | 2001-07-17 | Intel Corporation | Method and apparatus for bit rate control in a digital video system |
US6633609B1 (en) * | 1996-12-24 | 2003-10-14 | Intel Corporation | Method and apparatus for bit rate control in a digital video environment for arbitrary bandwidth |
JP3588970B2 (ja) * | 1997-04-30 | 2004-11-17 | ソニー株式会社 | 信号符号化方法、信号符号化装置、信号記録媒体及び信号伝送方法 |
KR100281463B1 (ko) * | 1998-03-14 | 2001-02-01 | 전주범 | 물체 기반 부호화 시스템의 보조 정보 부호화 장치 |
JP2000059793A (ja) * | 1998-08-07 | 2000-02-25 | Sony Corp | 画像復号装置及び画像復号方法 |
US7228429B2 (en) * | 2001-09-21 | 2007-06-05 | E-Watch | Multimedia network appliances for security and surveillance applications |
US6263019B1 (en) * | 1998-10-09 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Variable rate MPEG-2 video syntax processor |
US6625215B1 (en) * | 1999-06-07 | 2003-09-23 | Lucent Technologies Inc. | Methods and apparatus for context-based inter/intra coding mode selection |
US7616690B2 (en) * | 2000-10-31 | 2009-11-10 | Imec | Method and apparatus for adaptive encoding framed data sequences |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
KR101320260B1 (ko) * | 2004-06-18 | 2013-10-23 | 톰슨 라이센싱 | 비디오 신호 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치 |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
TW201028018A (en) * | 2009-01-07 | 2010-07-16 | Ind Tech Res Inst | Encoder, decoder, encoding method and decoding method |
US20110292247A1 (en) * | 2010-05-27 | 2011-12-01 | Sony Corporation | Image compression method with random access capability |
KR20130054408A (ko) | 2010-10-05 | 2013-05-24 | 제너럴 인스트루먼트 코포레이션 | 지그재그 스캔에 의한 적응적 컨텍스트 모델 선택을 이용하는 코딩 및 디코딩 |
US8938001B1 (en) | 2011-04-05 | 2015-01-20 | Google Inc. | Apparatus and method for coding using combinations |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US8891627B1 (en) | 2011-04-18 | 2014-11-18 | Google Inc. | System and method for coding video using color segmentation |
US8891616B1 (en) | 2011-07-27 | 2014-11-18 | Google Inc. | Method and apparatus for entropy encoding based on encoding cost |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US9774856B1 (en) | 2012-07-02 | 2017-09-26 | Google Inc. | Adaptive stochastic entropy coding |
US9509998B1 (en) | 2013-04-04 | 2016-11-29 | Google Inc. | Conditional predictive multi-symbol run-length coding |
US9392288B2 (en) | 2013-10-17 | 2016-07-12 | Google Inc. | Video coding using scatter-based scan tables |
US9179151B2 (en) | 2013-10-18 | 2015-11-03 | Google Inc. | Spatial proximity context entropy coding |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1311063C (en) * | 1988-12-16 | 1992-12-01 | Tokumichi Murakami | Digital signal processor |
JPH03129987A (ja) * | 1989-10-14 | 1991-06-03 | Sony Corp | 映像信号符号化装置及び映像信号符号化方法 |
JP3085465B2 (ja) * | 1989-10-31 | 2000-09-11 | オリンパス光学工業株式会社 | 画像データの符号化装置および符号化方法 |
DE69033946T2 (de) * | 1989-12-25 | 2002-11-21 | Mitsubishi Electric Corp | Kodierungsgerät |
US5146324A (en) * | 1990-07-31 | 1992-09-08 | Ampex Corporation | Data compression using a feedforward quantization estimator |
GB9022326D0 (en) * | 1990-10-15 | 1990-11-28 | British Telecomm | Signal coding |
US5317397A (en) * | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
US5144424A (en) * | 1991-10-15 | 1992-09-01 | Thomson Consumer Electronics, Inc. | Apparatus for video data quantization control |
US5231484A (en) * | 1991-11-08 | 1993-07-27 | International Business Machines Corporation | Motion video compression system with adaptive bit allocation and quantization |
US5227878A (en) * | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
JPH05167998A (ja) * | 1991-12-16 | 1993-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 画像の符号化制御処理方法 |
US5426463A (en) * | 1993-02-22 | 1995-06-20 | Rca Thomson Licensing Corporation | Apparatus for controlling quantizing in a video signal compressor |
US5469208A (en) * | 1993-05-26 | 1995-11-21 | Intel Corporation | Dequantization using decrements and multiply |
US5467372A (en) * | 1993-07-21 | 1995-11-14 | Rohm Co., Ltd. | Multi channel ADPCM compression and expansion device |
BE1007808A3 (nl) * | 1993-11-30 | 1995-10-24 | Philips Electronics Nv | Inrichting voor het coderen van een videosignaal. |
US5461422A (en) * | 1994-05-23 | 1995-10-24 | Industrial Technology Research Institute | Quantizer with automatic pre-threshold |
-
1995
- 1995-06-30 KR KR1019950019181A patent/KR0153671B1/ko active IP Right Grant
-
1996
- 1996-06-27 US US08/671,187 patent/US5777680A/en not_active Expired - Lifetime
- 1996-06-28 CN CNB961071729A patent/CN1183770C/zh not_active Expired - Fee Related
- 1996-06-28 IN IN1192CA1996 patent/IN189975B/en unknown
- 1996-06-28 EP EP96304820A patent/EP0751687B1/en not_active Expired - Lifetime
- 1996-06-28 DE DE69637873T patent/DE69637873D1/de not_active Expired - Fee Related
- 1996-07-01 JP JP8191427A patent/JPH0974565A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE69637873D1 (de) | 2009-04-30 |
EP0751687A3 (en) | 1998-11-18 |
US5777680A (en) | 1998-07-07 |
IN189975B (ko) | 2003-05-24 |
KR970004810A (ko) | 1997-01-29 |
CN1143301A (zh) | 1997-02-19 |
EP0751687A2 (en) | 1997-01-02 |
CN1183770C (zh) | 2005-01-05 |
JPH0974565A (ja) | 1997-03-18 |
EP0751687B1 (en) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0153671B1 (ko) | 고선명 텔레비젼 엔코더의 레이트 콘트롤러 | |
JP3688730B2 (ja) | 量子化装置 | |
KR100756596B1 (ko) | 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법 | |
US6823008B2 (en) | Video bitrate control method and device for digital video recording | |
RU2471306C2 (ru) | Устройство обработки изображений и способ обработки изображений | |
WO1996025823A2 (en) | Method and device for transcoding video signals | |
US6879632B1 (en) | Apparatus for and method of variable bit rate video coding | |
KR20000023174A (ko) | 엔코딩 장치 및 방법 | |
US5274443A (en) | Moving picture image encoder with continuously changing quantization step size | |
KR100269424B1 (ko) | 영상부호화시스템의콘트롤러 | |
CA2152237C (en) | Procedure for quantification of coefficients | |
GB2261567A (en) | Method and device for image coding of a video signal | |
JP2000358247A (ja) | レート制御装置、レート制御方法及び符号化装置 | |
US5940131A (en) | Method and apparatus for coding moving pictures | |
JPH06121171A (ja) | 画像符号化装置 | |
KR100336497B1 (ko) | 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법 | |
KR0123243B1 (ko) | 장면 전환시의 비트율 제어 방법 | |
KR0185847B1 (ko) | 영상부호기의 양자화 스텝 조절장치 | |
KR100677128B1 (ko) | 동영상 부호화기의 비트율 제어장치 및 방법 | |
KR100355438B1 (ko) | 동영상 부호화기의 비트열 출력 버퍼 제어 방법 | |
KR100228549B1 (ko) | 채널율을 이용한 가변 비트율 비디오 제어 방법 | |
JP2008078978A (ja) | 動画像符号化装置 | |
KR0185832B1 (ko) | 고선명 텔레비젼의 레이트제어장치 | |
KR0124174B1 (ko) | 균일한 첨두신호 대 잡음비(psnr)를 유지하기 위한 비트할당회로 | |
JPH11355772A (ja) | 映像信号符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130620 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20140701 Year of fee payment: 17 |