KR0141819B1 - 데이타 압축장치 - Google Patents

데이타 압축장치

Info

Publication number
KR0141819B1
KR0141819B1 KR1019930013454A KR930013454A KR0141819B1 KR 0141819 B1 KR0141819 B1 KR 0141819B1 KR 1019930013454 A KR1019930013454 A KR 1019930013454A KR 930013454 A KR930013454 A KR 930013454A KR 0141819 B1 KR0141819 B1 KR 0141819B1
Authority
KR
South Korea
Prior art keywords
bits
data
unit
value
buffer
Prior art date
Application number
KR1019930013454A
Other languages
English (en)
Other versions
KR950005027A (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 KR1019930013454A priority Critical patent/KR0141819B1/ko
Publication of KR950005027A publication Critical patent/KR950005027A/ko
Application granted granted Critical
Publication of KR0141819B1 publication Critical patent/KR0141819B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Abstract

본 발명은 데이타 압축장치에 관한 것으로, 종래에는 전송채널에 맞도록 엔코드될 데이타의 양 조절을 단지 레귤레이터(requlator)를 통하여 버퍼의 상태를 검사하고 매크로블록단위로 변화시킴으로써 버퍼가 오버플로워를 일으킬 경우 매크로블럭의 직류값만 코드화하므로 재생영상의 질을 떨어뜨리고, 버퍼의 상태검사를 일정한 시간간격으로, 하기 때문에 스텝사이즈(step size)의 변화가 항상 부드럽지 못한 문제점이 있었다.
따라서 종래의 문제점을 해결하기 위하여 본 발명은 화면종류에 따른 영상데이터의 비트수를 할당하여 실제생성 비트수와 비교하고 보정함으로써 생성비트수를 비트수에 가까워지도록 양자파라미터 보정이 가능하여 실시간 처리가 가능하고 영상의 질을 높이도록 한다.

Description

데이타 압축장치
제1도는 종래 데이타 압축장치의 블럭구성도.
제2도는 본 발명 데이타 압축장치의 블럭구성도.
* 도면의 주요부분에 대한 부호설명
20:분산값 연산부30:비트할당부
40:양자화제어부41:비트-양자변환 테이블
42:뎃셈기43:양자 크기변환 테이블
50:데이타 전송부51:이산코사인 변환부
52:양자화부53:가변길이 코드화부
54:버퍼
본 발명은 데이타 압축장치에 관한 것으로, 특히 화면(picture) 단위의 데이타양을 조절하여 화면의 전체영역에 걸쳐 균일한 화질을 유지할 수 있도록 한 데이타 압축장치에 관한 것이다.
종래 데이타 압축장치의 블럭구성은, 제1도에 도시된 바와같이, 입력화면에 대해 어떤 영상유형으로 사용할것인지를 결정하고 그 결정된 영상에 대해 디코딩을 수행하여 화면의 표시순서로 복구하는 프레임 리오더(re-order)부(1)와, 이 프레임 리오더부(1)를 통해 결정된 영상종류에 따라 그 화면내의 움직임 영상신호에서 현재 프레임의 화소들이 이전프레임에 비해 어느방향으로 얼마나 움직였는지를 추정하는 움직임 추정부(2)와, 이 움직임 추정부(2)를 통한 화면의 전 또는 후의 기준화면을 근거로 움직임 보상 예측을 행하여 예측값을 구하고 그 구한 예측값을 실제값에서 뺀 추정값의 차를 구하는 프레임 저장/예측부(3)와, 움직임 추정부(2)를 통해 추정된 값과 프레임 저장/예측부(3)를 통해 얻어진 추정값을 더하는 덧셈기(4)와, 이 덧셈기(4)를 통해 가산된 추정값에 대해 코사인함수를 이용한 직교변환을 행하는 이산코사인 변환부(5)와, 이 이산코사인 변환부(5)를 통해 변환된 계수에 대해 양자화하는 양자화부(6)와, 상기 양자화부(6)의 출력에 대하여 역양자화하여 출력하는 역양자화부(7)와, 이 역양자화부(7)를 통한 역변환 양자계수를 다시 역코사인함수를 이용한 직교변한을 행한 후 제2뎃셈기(9)를 통해 프레임 저장/예측부(3)로 출력하는 역이산코사인 변환부(IDCT)(8)와, 양자화부(5)를 통해 양자화된 계수스트림(coefficienㅅ string)을 엔코드하는 가변길이 코드화부(10)와, 이 가변길이 코드화부(10)를 통한 데이타와 움직임 벡터, 영상데이타를 입력받아 시분할 처리후 출력하는 멀티플렉서(11)와, 이 멀티플렉서(11)로 부터 인가받은 데이타를 전송채널로 출력가능하도록 일정비율로 만들어 출력하는 버퍼(12)와, 이 버퍼(12)를 통해 출력하는 데이타의 상태를 검사하여 전송채널에 맞도록 인코딩될 데이타의 양을 조절하는 레귤레이터(13)로 구성된다.
이와같이 구성된 종래 기술에 대하여 살펴보면 다음과 같다.
프레임 리오더부(1)에서 입력화면에 대해 어느 유형의 영상(I.P.B화면)을 이용할 것인가를 결정한 후에 16×16 매크로블럭에 대한 움직임벡터를 구한다. 보통 P-영상에 대하여 하나, B-영상에 대하여 하나 또는 둘의 움직임 벡터가 필요하다.
가령 B-영상을 이용할 경우에는 엔코딩(encoding)전에 영상의 재배치가 필요한데, 이는 B-영상을 디코딩하기 위하여 뒤의 기준영상을 디코딩해야 하기 때문이다.
따라서 영상종류가 결정되면 상기 프레임 리오더부(1) 내의 디코더에서 디코딩을 수행할 순서로 도착되도록 화면순서를 재배치한다.
이 화면의 표시순서가 디코더에 의해 복구되어 움직임 추정부(2)로 입력된다.
그러면 움직임 추정부(2)는 화면종류에 따라 화면내의 16×16 매크로블럭에 대한 각각의 움직임 벡터를 계산하는데, 이 계산과정은 많은 계산량을 요구하기 때문에 어레이 프로세서(ARRAY PROCESSOR)등을 사용하여 처리하기도 한다.
이렇게 하여 얻어진 움직임벡트를 입력받은 프레임 저장/예측부(3)에서 각각의 매크로블럭에 대하여 화면종류, 매크로블럭 주변의 움직임 보상예측의 효율성, 블럭내 화면의 특성등에 따라 코딩모드를 선택한다.
상기에서 선택된 코딩모드에 따라 해당 매크로블럭이 존재하는 화면의 전 또는 후의 기준화면을 근거로 움직임 보상 예측을 행하여 예측값을 구하고, 이 구해진 예측값을 현재 매크로블럭(Macroblock)에 있는 실제의 값에서 빼서 그 차이를 구한다.
이때 제1덧셈기(4)로 부터 가산된 움직임 추정값을 입력받은 이산코사인 변환부(5)는 매크로블럭(Maeroblock) 형태로 4개의 8×8 휘도블럭(LUMINANCE BLOCK)과 2개의 8×8 색블럭(CHROMINANCE BLOCK)으로 구성된 것을 분리하고 각각 8×8 DCT(Discrete Cosine Transform) 계수를 구한다. 이 8×8 DCT계수는 양자화부(6)에 의해 양자화되며, 8×8의 2차원 양자 DCT계수를 지그재그(Zigzag) 순서로 읽어 차원의 양자 DCT계수 스트링(string)으로 변환시켜 가변길이 코드화부(10)로 출력시킨다.
상기 가변길이 코드화부(10)는 양자화부(6)로 부터 출력된 스트링(string)을 움직임벡터, 모드등과 함께하여 엔코드화 하는데, 이 시점에서 한 화면에 대해 부호화된 데이타가 출력된다. 이렇게 출력된 데이타는 움직임 추정부(2)로 부터의 움직임 벡터 및 영상데이터와 함께 멀티플렉서(11)에서 시분할처리되어 버퍼(12)로 출력된다.
따라서 최종적으로 버퍼(12)는 상기 멀티플렉서(11)로 부터의 데이타를 받아 전송채널로 일정한 데이타 비율을 갖는 데이타를 내보낸다. 그리고 버퍼(12)로 부터 피드백된 데이타는 레귤레이터(13)를 통해 검사되어 전송채널에 맞도록 엔코드될 데이타의 양을 조절할 수 있도록 상기 양자화부(6)를 제어한다.
그러나 종래의 기술에 있어서, 전송채널에 맞도록 엔코드될 데이타의 양 조절은 단지 레귤레이터(regulator)를 통하여 버퍼의 상태를 검사하고 매크로블럭단위로 변화시킴으로써 버퍼가 오버플로우(overflow)를 일으킬 경우 매크로블럭의 직류값만 코드화하므로 재생영상의 질을 떨어뜨리고, 버퍼의 상태검사를 일정한 시간간격으로 하기 때문에 스텝사이즈(step size)의 변화가 항상 부드럽지는 못하며, 양자화가 영상의 부분적인 특성에 의하지 않고 단지 버퍼의 상태에만 의존하므로 영상의 질은 이전에 발생한 데이타의 양에 따라 크게 변하는 문제점이 있었다.
따라서 종래의 문제점을 해결하고자 본 발명의 목적은 출력되는 압축데이타의 실제 비트수를 할당된 비트수와 비교하여 할당된 비트수가 되도록 보정하여 영상의 질을 높이고, 균일한 특성을 갖도록 한 데이타 압축장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명 데이타 압축장치 구성은, 제2도에 도시한 바와같이, 입력되는 디지탈 영상데이타(B.I.P)를 직교변환하는 이산코사인 변환부(51)와, 상기 이산코사인 변환부(51)에 연결되어 소정의 양자화변수에 따라 상기 직교변환된 데이타를 양자화하는 양자화부(52)와, 상기 양자하부(52)를 통해 양자회된 데이타를 가변길이 코드화하여 압축된 실제 데이타를 전송채널로 출력하는 데이타 전송부(50)와, 입력되는 디지탈 영상데이타로 부터 분산값을 구하는 분산값 연산부(20)와, 상기 분산값 연산부(20)에서 구한 분산값을 기초로하여 비트수를 할당하는 비트할당부(30)와, 상기 데이타 전송부(50)에서 출력되는 출력데이타의 실제 비트수를 상기 비트할당부(30)에서 할당된 비트수와 비교하여 양자화변수의 오차값(△Qp)을 산출하고 이 오차값을 기준변수(Qp(ref))에 가산한 보정 양자화변수(Qp(ref)+△Qp)를 상기 양자화부(52)로 출력하는 양자화 제어부(40)로 구성한다.
이와같이 구성된 본 발명의 작용 및 효과에 대하여 살펴보면 다음과 같다.
디지탈 영상데이타(I.B.P)가 입력되면 이를 분산값 연산부(20)에서 입력받아 그 데이타로 부터 분산값(Var-Pic)을 아래에서와 같이 구한다.
Var-Pic = δ2(x)
δ2(x) = E[(x-x)2=-
=E(x)는 평균값, x는 화소의 휘도성분값.
상기에서 구한 분산값(Var-Pic)이 비트할당부(30)에 입력되면, 그 분산값을 기초로 하여 비트수(Bits(ref))를 할당한다. 즉 분산값 연산부(20)로 부터의 분산값(Var-Pic)에서 다음 프레임의 복잡도(x[i])를 구하고 GOP(Group Of Picture)의 데이타 할당(R)을 계산한다.
R = N × 비트율/영상율
결국 비트할당부(30)에서 비트할당 테이블을 작성한 후 그 작성된 테이블로 부터 할당된 비트수를 출력하는데, 그 테이블 작성은 다음과 같다.
Bits(ref) = BA[Xm, Xi]
그리고 상기에서 비트율(bit rate)은 초당 데이타 전송속도(bits/sec)이고, 영상율(picture rate)은 초 당 화면 전송속도(frames/sec)를 의미한다.
상기 비트할당부(30)의 비트수(Bits(ref))는 가산기(60)의 반전단자(-)로 전송되어 그의 비반전단자(+)로 전송되는 실제비트수(Bits)를 더하여 (△Bits)양자화 제어부(40)로 출력한다.
△Bits = 실제 Bits - Bits(ref)
이렇게 구해진 비트값(△Bits)은 비트-양자변환 테이블(41)에 입력되어 그 비트값(△Bits)에 해당하는 양자변수값(△Qp)을 덧셈기(42)로 출력한다.
그러면, 상기 덧셈기(42)는 비트-양자변환 테이블(41)에서 입력된 양자변수값(△(Qp)을 코드화할 화면에 적용하여 데이타 양을 보정할 수 있도록 기준양자크기값(Qp(ref))에 기준하여 보정된 양자변수값(Qp(modified)), Qp(modified) = Qp(ref) + △Qp을 양자크기변환 테이블(43)로 출력한다.
따라서 양자크기변환 테이블(43)은 상기 분산값 연산부(20)로 부터 받은 분산값에 의하여 테이블값을 매 프레임마다 양자변수값(△Qp)의 크기로 서서히 보정된 양자변수값(Qp(modified))으로 변화시켜 데이타전송부(50)로 전송한다.
이때 입력되는 화면의 일정부분을 이산코사인 변환부(51)를 통해 수학적으로 분류한 값을 양자변수값(Qp)에 제어받아 양자화하고, 이 양자화된 스트링(string)을 가변길이코드화부(53)에서 엔코드하여 버퍼(54)로 출력하면 상기 버퍼(54)는 코드데이타를 받아 언더플로우(Undf)나 오버플로우(Ovf) 상태를 상기 가변길이 코드화부(53)에 알려 매크로단위의 언더플로우/오버플로우방지 기능을 돕는다,. 또한 현재 버퍼의 데이타양을 그 내부의 버퍼상태검사 블럭으로 보내어 화면 단위의 언더플로우/오버플로우를 예측한다.
결과적으로 코드화한 비트수(d[n])를
(d[n]) = C*(Var-Pic/Qp(ref))로 단순화할 경우(C는 상수), △Qp = K*△Bits로 가정하면(단 K0, K는 상수) 실제코드화한 비트수를 dg[n+1]라 할때, 가변길이 코드화(VCL)를 거쳐 압축된다.
그러나 종래의 기술에 있어서 양자크기값(Qp)을 조절하는 방법이 단지 레귤레이터를 통하여 버퍼의 상태를 검사한 후 매크로블럭(Macroblock) 단위로 변화시키므로써 버퍼가 오버플로워(overflow)를 일으킬 경우 매크로블럭의 직류값만 코드화하므로 재생영상의 질을 떨어뜨린다.
또한 매 프레임마다 양자 파라미터가 몇번밖에 바뀌지 않음에 따라 그 파라미터가 일정한 영역에서는 영상 자체에 세부적인 변화가 있어도 별다른 조치가 없고, 버퍼의 상태검사를 단지 일정한 시간 간격으로 하기때문에 스텝사이즈의 변화가 항상 부드럽지 못하며, 양자화가 영상의 부분적인 특성에 의하지 않고 단지 버퍼의 상태에만 의존하므로 영사의 질은 이전에 발생한 데이타의 양에 따라 크게 변화하는 문제점이 있었다.
따라서 종래의 문제점을 해결하기 위하여 본 발명은 각 화면류에 따라 복수(Complexity)값을 이용하여 비트수를 할당하고, 실제 생성비트수와 비교하여 생성비트수를 할당하고 비트(bit)수에
실제 Bits dg[n]Bits(ref) 경우 식(1)로부터 '△Bits0' 이므로 dg[n+1]의 크기를 △Bits에 반비례하여 커지게 보정할수 있게되고, 실제 Bits dg[n]Bits(ref) 경우 식(1)로 부근 '△Bits0' 이므로 dg[n+1]의 크기를 △Bits에 반비례하여 작게 보정할 수 있게된다.
따라서 화면단위의 데이타양을 조절할 수 있게되어 화면의 전체영역에 걸쳐 적절한 화질을 유지할 수 있게 된다.
이상에서 상세히 설명한 바와같이 본 발명은 각 영상종류에 따라 비트수를 할당하고 실제 생성비트수와 비교하여 생성비트수를 할당 비트수에 가까워지도록 양자 파라미터를 보정함으로써 영상의 질을 높이고, 균일한 특성을 갖도록한 효과가 있다.

Claims (1)

  1. 분산값 연산수단에서 구한 분산값을 기초로하여 영상 종류별로 비트수를 할당하는 비트 할당수단과;데이타 전송수단에서 출력되는 데이타의 비트수를 상기 비트 할당수단에서 할당된 비트수와 비교하여 양자화 변수의 오차값(△Qp)를 산출하여 이 오차값을 기준 양자화변수(Qp(ref)에 가산하여 보정된 양자화변수(Qp(ref) +△Qp)를 양자화수단으로 출력하는 양자화 제어수단으로 구성된 것을 특징으로 하는 데이타 압축장치.
KR1019930013454A 1993-07-16 1993-07-16 데이타 압축장치 KR0141819B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930013454A KR0141819B1 (ko) 1993-07-16 1993-07-16 데이타 압축장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930013454A KR0141819B1 (ko) 1993-07-16 1993-07-16 데이타 압축장치

Publications (2)

Publication Number Publication Date
KR950005027A KR950005027A (ko) 1995-02-18
KR0141819B1 true KR0141819B1 (ko) 1998-06-15

Family

ID=19359422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930013454A KR0141819B1 (ko) 1993-07-16 1993-07-16 데이타 압축장치

Country Status (1)

Country Link
KR (1) KR0141819B1 (ko)

Also Published As

Publication number Publication date
KR950005027A (ko) 1995-02-18

Similar Documents

Publication Publication Date Title
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
US8031774B2 (en) Video encoding methods and systems with frame-layer rate control
US7095784B2 (en) Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
KR20000071026A (ko) 코딩 시스템내에서 속도 제어를 최적화하기 위한 장치 및 방법
KR19990076563A (ko) 동화상 부호화 방식
US7373004B2 (en) Apparatus for constant quality rate control in video compression and target bit allocator thereof
KR20060111659A (ko) 디지털 화상 시퀀스를 위한 인코딩 방법, 디코딩 방법 및인코딩 장치
US20220014758A1 (en) System and method for controlling video coding within image frame
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
KR20000023174A (ko) 엔코딩 장치 및 방법
CN111164972A (zh) 用于在帧级别控制视频编码的系统和方法
US7746928B2 (en) Method and apparatus for providing rate control
US7254176B2 (en) Apparatus for variable bit rate control in video compression and target bit allocator thereof
KR20070034869A (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
US7133448B2 (en) Method and apparatus for rate control in moving picture video compression
GB2306830A (en) Video data compression
JPH07203430A (ja) 画像符号化装置
KR0141819B1 (ko) 데이타 압축장치
JP3858520B2 (ja) 動画像符号化装置及びその方法
KR100336497B1 (ko) 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법
JP3812269B2 (ja) 動画像符号化装置及びその方法
KR100809013B1 (ko) 복잡도 가변형 동영상 부호화 장치 및 그 방법
JP2002204449A (ja) 量子化単位設定装置及び量子化単位設定方法、符号化装置及び符号化方法並びに情報記録媒体
JPH0420088A (ja) フレーム間符号化装置
KR0185847B1 (ko) 영상부호기의 양자화 스텝 조절장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20001228

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee