KR100231592B1 - 디지탈 영상의 양자화 번호 결정 방법 및 장치 - Google Patents

디지탈 영상의 양자화 번호 결정 방법 및 장치 Download PDF

Info

Publication number
KR100231592B1
KR100231592B1 KR1019960050263A KR19960050263A KR100231592B1 KR 100231592 B1 KR100231592 B1 KR 100231592B1 KR 1019960050263 A KR1019960050263 A KR 1019960050263A KR 19960050263 A KR19960050263 A KR 19960050263A KR 100231592 B1 KR100231592 B1 KR 100231592B1
Authority
KR
South Korea
Prior art keywords
quantization
coefficients
segment
dct
bit amount
Prior art date
Application number
KR1019960050263A
Other languages
English (en)
Other versions
KR19980030785A (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 KR1019960050263A priority Critical patent/KR100231592B1/ko
Publication of KR19980030785A publication Critical patent/KR19980030785A/ko
Application granted granted Critical
Publication of KR100231592B1 publication Critical patent/KR100231592B1/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

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

Abstract

본 발명은 디지탈 기록 재생 장치에 있어서, 영상 신호의 특성에 따라 양자화 번호(Quantization Number : QNo)를 적응적으로 결정하여 효과적인 영상 압축을 수행할 수 있도록 하는 디지탈 영상의 양자화 번호 결정 방법 및 장치에 관한 것으로, 특히 한 프레임 이전의 발생 비트량 정보를 이용하여 현재 프레임의 세그먼트에 대한 양자화 번호를 결정하는 디지탈 영상 신호의 양자화 번호 결정 방법 및 장치에 관한 것이다.
본 발명은 피드 포워드(feed-forward)와 피드백(Feed-back)을 이용하여 양자화 번호를 적응적으로 결정하여 간단한 하드웨어로 구성되면서도 포맷팅시 세그먼트당 할당된 바이트수를 정확하게 유지하여 영상의 왜곡을 방지할 수 있는 효과가 있다.

Description

디지탈 영상의 양자화 번호 결정 방법 및 장치
본 발명은 디지탈 기록 재생 장치에 있어서, 영상 신호의 특성에 따라 양자화 번호(Quantization Number : QNo)를 적응적으로 결정하여 효과적인 영상 압축을 수행할 수 있도록 하는 디지탈 영상의 양자화 번호 결정 방법 및 장치에 관한 것으로, 특히 한 프레임 이전의 발생 비트량 정보를 이용하여 현재 프레임의 세그먼트에 대한 양자화 번호를 결정하는 디지탈 영상 신호의 양자화 번호 결정 방법 및 장치에 관한 것이다.
프레임내 부호화(Infraframe Coding) 기법을 사용하는 디지탈 VCR 표준 규격에서의 디지탈 비디오 데이터 압축은 크게 DCT(Discrete Cosine Transform) 계수의 양자화와 양자화된 DCT 계수의 가변 길이 부호화(Variable Length Coding : VLC)에 의해 이루어진다.
즉, DVCR 표준안의 영상 압축 장치는 도1에 도시한 바와 같이 입력되는 영상 신호들을 8 x 8 화소로 이루어진 DCT 블럭 단위의 DCT 계수로 변환하는 DCT부(101), 상기 DCT부(101)로부터 출력되는 DCT 계수들을 입력으로 양자화 번호를 결정하는 양자화 번호 결정부(102), 상기 양자화 번호 결정부(102)로부터 출력되는 양자화 번호에 따라 DCT부(101)로부터 출력되는 DCT 계수를 양자화하는 양자화부(103), 상기 양자화부(103)로부터 출력되는 양자화된 DCT 계수를 연속장 부호화하여 신호의 중복성을 제거하는 연속장 부호화부(104), 상기 연속장 부호화부(104)로부터 출력되는 양자화 계수를 위치 정보, 크기 정보, 및 움직임 벡터의 손실없이 가변장 부화화하여 일정한 비트율로 출력하는 가변장 부호화부(105), 및 상기 가변장 부호화부(105)로부터 출력되는 비트열을 포맷팅하여 출력하는 비트열 포맷팅부(106)로 구성된다.
8 x 8로 이루어진 DCT 블럭내의 양자화 과정은 영역 번호(Area Number), 클래스 번호(Class Nomber), 및 양자화 번호(QNo)에 의해 적응적으로 수행되는데, 이를 세부적으로 설명하면 다음과 같다.
양자화부(103)에서 수행되는 양자화 과정은 다음 (식 1)과 같이 나타낼 수 있다.
[식 1]
F'(x,y) = F(x,y)/Q
여기서, F(x,y)는 DCT부(101)로부터 출력되는 DCT 계수이고, Q는 양자화 간격(Quantizing Step Size)이고, F'(x,y)는 양자화부(103)로부터 출력되는 양자화된 DCT 계수이며, (x,y)는 '0'이상이고 '7'이하이다.
DCT 계수의 양자화는 디지탈 데이터의 압축률과 부호화 성능에 결정적인 영상을 미치는 요소로써 양자화 간격(Quantizing Step Size)을 변화시키므로써 압축된 비디오 데이터의 비트량을 조절할 수 있다.
8 x 8 화소로 이루어진 DCT 블럭내에서 양자화 간격은 도2에 도시한 바와 같이 클래스 번호, 영역 번호, 및 양자화 번호에 의해 결정된다. 이중에서 클래스 번호는 도3에 도시한 바와 같이 DCT 블럭내에서 AC 계수의 크기, 즉 AC 계수의 절대값으로 쉽게 결정될 수 있고, 영역 번호는 도4에 도시한 바와 같이 DCT 블럭내의 위치, 즉 DCT 블럭의 계수 위치에 따라 결정된다.
또한, 양자화 번호는 6개의 DCT 블럭으로 이루어진 마크로 블럭 단위로 하나씩 설정되는데, 5개의 압축된 마크로 블럭으로 구성된 하나의 비디오 세크먼트내에서 발생하는 압축된 데이터량은 DVCR 규격에서 미리 일정한 비트량, 즉 385 바이트로 제한하도록 설정되어 있으므로 이의 규격에 맞도록 양자화 번호를 설정해야 한다.
즉, DVCR 표준안에서 세그먼트당 발생 비트량은 3080 비트로 고정되므로, 이 3080 비트를 초과하여 데이터가 발생할때에는 비트열 포맷팅부(106)에서 강제로 초과된 데이터를 삭제해 버린다.
양자화 번호는 도2에 도시한 바와 같이 '0'에서 '15'까지의 16개의 값으로 표현되며 양자화 번호 값이 '0'으로부터 커질수록 DCT 계수를 양자화하기 위한 양자화 간격이 작아진다. 즉, 양자화 번호가 커질수록 DCT 계수를 양자화하기 위한 양자화 간격이 작아지므로 발생하는 비트량은 증가하고 양자화 번호가 작아지면 DCT 계수를 양자화하기 위한 양자화 간격이 커지므로 상대적으로 발생하는 비트량은 줄어든다.
그러므로 하나의 비디오 세그먼트의 일정한 비트량, 즉 385 바이트로 맞추기 위해서는 마크로 블럭 단위의 양자화 번호값을 적절히 조절해야 한다. 따라서 양자화 번호는 전체 영상 압축장치의 성능을 좌우하게 된다.
이와 같은 양자화 번호를 정확하게 결정하기 위해서는 일반적으로 16개의 양자화 번호(0, 1, 2, 3, 4, …, 14, 15)에 대해서 미리 양자화와 연속장 부호화와 가변장 부호화를 병렬로 수행한후 세그먼트당 발생할 비트량을 카운팅하여 매 마크로 블럭에 적당한 양자화 번호를 결정해야 한다.
즉, 일반적인 양자화 번호 결정 장치(102)는 도5에 도시한 바와 같이 입력되는 DCT 계수를 각각의 양자화 번호(QNo)에 따라 양자화하고 연속장 부호화하고 가변장 부호화하여 세그먼트당 발생할 비트량을 카운팅하는 16개의 발생 비트 처리부(200, 210, 220)와, 상기 16개의 발생 비트 처리부(200, 210, 220)로부터 출력되는 카운팅된 비트량에 따라 해당 마크로 블럭에 적당한 양자화 번호를 결정하여 출력하는 양자화 번호 결정기(205)로 구성된다.
여기서, 16개의 발생 비트 처리부(200, 210, 220)는 입력되는 DCT 계수를 '0, 1, 2, …, 14, 15'로 각각 양자화하는 양자화기(201, 211, …, 221), 상기 양자화기(201, 211, 221)로부터 출력되는 양자화된 DCT계수를 각각 연속장 부호화하여 신호의 중복성을 제거하는 연속장 부호화기(202, 212, 222), 상기 연속장 부호화기(202, 212, 222)로부터 출력되는 양자화 계수를 위치 정보, 크기 정보, 및 움직임 벡터의 손실없이 가변장 부화화하여 일정한 비트율로 출력하는 가변장 부호화부(203, 213, 223), 및 상기 가변장 부호화부(203, 213, 223)로부터 출력되는 비트량을 각각 카운팅하혀 양자화 변호 결정기(205)로 출력하는 비트량 카운터(204, 214, 224)로 각각 구성된다.
이와 같은 일반적인 양자화 번호 결정 장치에서는 양자화기(201, 211, 221), 연속장 부호화기(202, 212, 222), 및 가변장 부호화기(203, 213, 223)를 통해 입력되는 DCT 계수를 16개의 양자화 번호(0, 1, 2, 3, 4, …, 14, 15)에 대해서 양자화, 연속장 부호화, 및 가변장 부호화를 병렬로 수행하고, 16개의 양자화 번호에 대해서 가변장 부호화 처리되어 각각 출력되는 비트를 비트량 카운터(204, 214, 224)에서 카운팅한후, 비트량 카운터(204, 214, 224)로부터 출력되는 16개의 카운팅 값을 양자화 번호 결정기(205)에서 비교하여 해당 마크로 블럭에 적당한 양자화 번호를 결정하여 출력하게 된다.
즉, 상기 일반적인 양자화 번호 결정 장치는 미리 모든 양자화 번호, 즉 '0'으로부터 '15'까지의 16개의 양자화 번호에 대해 양자화와 가변장 부호화를 수행하므로 발생될 비트량을 정확하게 예측하여 양자화 번호를 결정할 수 있다.
그러나 상기 양자화 번호 결정 장치를 적용한 종래의 양자화 장치는 미리 모든 양자화 번호에 대해 양자화 및 가변 부호화를 수행하여 양자화 번호를 결정하여 양자화하므로 하드웨어가 복잡해지는 단점이 있다.
상기 단점을 개선하기 위한 종래의 양자화 번호 결정 장치는 양자화기, 연속장 부호화기, 가변장 부호화기, 및 비트량 카운터를 16개의 양자화 번호에 맞추어 구현하는 것이 아니라, 설정된 양자화 번호, 예를 들어 6개의 양자화 번호에 양자화기, 연속장 부호화기, 가변장 부호화기, 및 비트량 카운터를 맞추어 구현한다.
즉, 종래의 양자화 번호 결정 장치는 도6에 도시한 바와 같이 입력되는 DCT 계수를 각각의 양자화 번호(QNo)에 따라 양자화하고 연속장 부호화하고 가변장 부호화하여 세그먼트당 발생할 비트량을 카운팅하는 6개의 발생 비트 처리부(300, 350)와, 상기 6개의 발생 비트 처리부(300, 350)로부터 출력되는 카운팅된 비트량에 따라 해당 마크로 블럭에 적당한 양자화 번호를 결정하여 출력하는 양자화 번호 결정기(350)로 구성된다.
여기서, 6개의 발생 비트 처리부(300, 350)는 입력되는 DCT 계수를 '3, 5, 7, 9, 11, 13'으로 각각 양자화하는 양자화기(301, 351), 상기 양자화기(301, 351)로부터 출력되는 양자화된 DCT계수를 각각 연속장 부호화하여 신호의 중복성을 제거하는 연속장 부호화기(302, 352), 상기 연속장 부호화기(302, 352)로부터 출력되는 양자화 계수를 위치 정보, 크기 정보, 및 움직임 벡터의 손실없이 가변장 부화화하여 일정한 비트율로 출력하는 가변장 부호화부(303, 353), 및 상기 가변장 부호화부(303, 353)로부터 출력되는 비트량을 각각 카운팅하혀 양자화 변호 결정기(350)로 출력하는 비트량 카운터(304, 354)로 각각 구성된다.
이와 같은 종래 양자화 번호 결정 장치에서는 양자화기(301, 351)에서 '3, 5, 7, 9, 11, 13'의 양자화 번호에 따라 양자화를 수행하고, 연속장 부호화기(302, 352)와 가변장 부호화기(303, 353)와 비트량 카운터(304, 354)를 통해 각각 출력되는 카운팅값을 양자화 번호 결정기(360)에서 입력으로 받아 미리 설정된 타겟 계수의 갯수와 비교하고 해당 마크로 블럭에 적당한 양자화 번호를 결정하여 출력하게 된다.
즉, 종래의 양자화 번호 결정 장치는 미리 설정된 일정 갯수의 양자화 번호에 대해 양자화와 가변장 부호화를 수행하므로 발생될 비트량을 예측하여 양자화 번호를 결정할 수 있다.
그러나 종래의 양자화 번호 결정 장치를 적용하는 종래의 양자화 장치는 소수의 양자화 번호를 이용하여 피드 포워드(Feed Forward) 제어 방식으로 양자화 번호를 결정하므로 385바이트로부터 벗어나는 편차가 심해져서 역양자화시 영상이 왜곡되는 문제점이 있었다.
상기 문제점을 개선하기 위한 본 발명은 피드 포워드(feed-forward와 피드백(Feed-back)을 이용하여 양자화 번호를 결정하여 편차를 줄이기 위한 디지탈 영상의 양자화 번호 결정 방법 및 장치를 제공함에 있다.
도1은 일반적인 영상 압축 장치의 구성도
도2는 양자화 간격 결정을 설명하기 위한 도면
도3은 클래스 번호 결정을 설명하기 위한 도면
도4는 DCT 블럭내의 영역 번호를 설명하기 위한 도면
도5는 일반적인 양자화 번호 결정 장치의 구성도
도6은 개선된 종래의 양자화 번호 결정 장치의 구성도
도7은 클래스 번호와 AC 계수의 상관 관계를 설명하기 위한 도면
도8은 본 발명에 의한 양자화 번호 결정 장치의 구성도
*도면의 주요 부분에 대한 부호의 설명*
400 : DCT 및 지그재그 스캔부410 : 클래스 번호 결정부
420 : 양자화부421 내지 426, 470 : 양자화기
430 : 계수 누적부431 내지 436 : 계수 누적기
440 : 타겟 계수 갯수 조절부450 : 양자화 번호 결정부
460 : 지연기480 : 연속장 부호화기
490 : 가변장 부호화기
상기 목적을 달성하기 위해 본 발명에 의한 디지탈 영상의 양자화 번호 결정 방법은 DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정하는 클래스 번호 결정 단계; 설정된 다수의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수의 양자화 간격에 따라 상기 DCT 계수의 AC 계수를 각각 양자화하고 상기 양자화된 특정값의 AC 계수의 갯수를 일정 단위로 누적하여 각각의 양자화 번호에 따라 발생될 비트량을 예측하는 발생 비트량 예측 단계; 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절하는 타겟 계수의 갯수 조절 단계; 및 상기 설정된 다수의 양자화 번호에 따라 누적된 AC 계수의 갯수와 상기 결정된 타겟 계수의 갯수를 비교하여 양자화 번호를 결정하는 양자화 번호 결정 단계를 포함하여 수행됨을 특징으로 한다.
상기 목적을 달성하기 위해 본 발명에 의한 디지탈 영상의 양자화 번호 결정 장치는 DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정하는 클래스 번호 결정 수단; 상기 클래스 번호 결정 수단으로부터 출력되는 상기 DCT 계수의 AC 계수를 설정된 다수의 양자화 번호, 상기 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수의 양자화 간격에 따라 각각 양자화하는 양자화 수단; 상기 양자화 수단으로부터 출력되는 각각 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭 및 세그먼트 단위로 각각 누적하는 계수 누적 수단; 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절하는 타겟 계수 갯수 조절 수단; 및 상기 계수 누적 수단으로부터 출력되는 세그먼트 및 마크로 블럭 단위로 누적된 AC 계수의 갯수와 상기 타겟 계수 갯수 조절 수단으로부터 출력되는 타겟 계수의 갯수를 비교하여 양자화 번호를 결정하는 양자화 번호 결정 수단을 포함하여 수행됨을 특징으로 한다.
이하 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
본 발명에 의한 디지탈 영상의 양자화 번호 결정 방법은 클래스 번호 결정 단계, 발생 비트량 예측 단계, 타겟 계수의 갯수 조절 단계, 및 양자화 번호 결정 단계에 의해 수행된다.
클래스 번호 결정 단계는 DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정하는 단계이다.
여기서, 상기 클래스 번호는 상기 DCT 계수의 AC 계수의 크기에 따라 상기 DCT 연산이 수행되는 DCT 블럭 단위로 결정된다.
발생 비트량 예측 단계는 설정된 다수, 즉 6개의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수, 즉 6개의 양자화 간격에 따라 상기 DCT 계수의 AC 계수를 각각 양자화하고 상기 양자화된 특정값의 AC 계수의 갯수를 일정 단위로 누적하여 각각의 양자화 번호에 따라 발생될 비트량을 예측하는 단계이다.
여기서, 상기 설정된 양자화 번호는 '3', '5', '7', '9', '11' 및 '13'이며, 상기 양자화된 특정 값의 AC 계수는 '0'이 아닌 값을 갖는 AC 계수로, 발생 비트량 예측 단계에서 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수를 누적하게 된다.
또한, 상기 발생 비트량 예측 단계는 상기 설정된 6개의 양자화 번호, 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격에 따라 상기 DCT 계수의 AC 계수를 각각 양자화하는 양자화 단계, 및 상기 6개의 양자화 간격에 따라 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수를 상기 양자화 번호에 따라 각각 세그먼트 단위로 누적하는 누적 단계에 의해 수행된다.
여기서, 상기 양자화 단계는 상기 설정된 6개의 양자화 번호, 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격으로 상기 AC 계수를 설정된 문턱치(T)와 비교하므로써 이루어진다.
이때, 상기 문턱치(T)는 양자화기가 데드-존(Dead Zone)을 갖도록 하기 위한 양자화 레벨 쉬프트 변수(Quantizing Level Shift Parameter)에 '1'을 가산한 값으로 이루어진다.
상기 타겟 계수의 갯수 조절 단계는 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절하는 단계로, 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임에서 실제 발생된 비트량을 세그먼트 단위로 계산하는 세그먼트 단위의 발생 비트량 계산 단계, 상기 계산된 세그먼트 단위의 발생 비트량을 저장하는 발생 비트량 저장 단계, 및 상기 저장된 세그먼트 영역의 발생 비트량과 상기 설정된 기준 계수의 갯수를 이용하여 상기 이전 프레임의 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 결정하는 타겟 계수의 갯수 결정 단계에 의해 수행된다.
여기서, 상기 타겟 계수의 갯수는 양자화, 연속장 부호화, 및 가변장 부호화후 비트열 재정렬시 정해진 세그먼트 단위의 비트량으로부터 상기 저장된 세그먼트 영역의 발생 비트량을 감산한 값에 대한 상기 세그먼트 단위의 비트량의 비에 가중치와 상기 기준 계수의 갯수를 곱한후 상기 기준 계수의 갯수를 가산한 값으로 이루어진다.
양자화 번호 결정 단계는 상기 설정된 다수, 즉 6개의 양자화 번호에 따라 누적된 AC 계수의 갯수와 상기 결정된 타겟 계수의 갯수를 비교하여 양자화 번호를 결정하는 단계로, 상기 설정된 6개의 양자화 번호에 따라 세그먼트 단위로 누적된 특정값의 AC 계수의 갯수와 결정된 타겟 계수의 갯수를 비교하는 단계, 상기 비교 결과 타겟 계수의 갯수에 가장 근접한 갯수를 갖는 특정값의 AC 계수의 갯수에 해당하는 세그먼트 단위의 2개의 양자화 번호를 선택하는 단계, 상기 선택된 세그먼트 단위의 2개의 양자화 번호에 따라 세그먼트내의 각각의 마크로 블록 단위의 양자화 번호를 설정하는 단계에 의해 수행된다.
이와 같이 이루어지는 본 발명에 의한 디지탈 영상의 양자화 번호 결정 방법을 세부적으로 설명하면 다음과 같다.
양자화 번호는 마크로 블럭 단위로 설정되지만 가변장 부호화기에서 발생된 비트열은 비디오 세그먼트의 비트 배열 방법(Bit Arrangement Algorithm of a Video Segment)에 따라 세그먼트 단위로 이루어진다.
따라서 한 세그먼트의 비트 할당량인 385 바이트를 만족시키기면서 전체적인 화질을 균등하게 유지하기 위해서는 5개의 마크로 블럭으로 구성된 세그먼트 단위로 각 마크로 블럭의 양자화 번호를 설정하는 것이 바람직하다. 또한, 각 블럭의 양자화 간격은 블럭의 액티비티(Activity)와 할당 비트량 등을 고려하여 선택되어야 하는데 선택된 클래스 번호는 각 블럭의 액티비티를 반영하기 때문에 양자화 번호는 마크로 블럭과 세그먼트의 할당 비트량을 만족시키도록 설정하는 것이 바람직하다.
양자화 번호의 결정을 위해 먼저, DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정하는 클래스 번호 결정 단계를 수행한다.
클래스 번호는 각 DCT 블럭의 액티비티에 따라 DCT 블럭 단위로 4클래스(0 - 3)로 나누어진다. DCT 블럭의 액티비티는 여러 가지 방법으로 측정할 수 있지만 하드웨어 구현이 용이하도록 도3에 도시한 바와 같이 DCT 계수의 AC 계수의 크기에 따라 선택하도록 한다.
예를 들면 도 7에 도시한 바와 같이 휘도 신호(Y)의 경우 DCT 블럭내의 AC 계수의 최대값이 '0'에서 '11'이면 클래스 번호가 '0'이 되고, DCT 블럭내의 AC 계수의 최대값이 '12'에서 '23'이면 클래스 번호가 '1'이 되고, DCT 블럭내의 AC 계수의 최대값이 '24'에서 '35'이면 클래스 번호가 '2'가 되고, DCT 블럭내의 AC 계수의 최대값이 '35'를 초과하면 클래스 번호가 '3'이 된다. 또한, 색차 신호(CR, CB)의 경우 DCT 블럭내의 AC 계수의 최대값이 '0'에서 '11'이면 클래스 번호가 '1'과 '2'가 되고, DCT 블럭내의 AC 계수의 최대값이 '12'에서 '23'이면 클래스 번호가 '2'와 '3'이 되고, DCT 블럭내의 AC 계수의 최대값이 '24' 이상이면 클래스 번호가 모두 '3'이 된다.
이와 같이 클래스 번호가 결정되면 DVCR의 표준에 따라 AC 계수와 클래스 번호는 세그먼트 단위의 지연 메모리로 입력되면서 양자화 번호 설정을 위해 양자화 번호 설정기로 입력된다.
이와 같이 클래스 번호 결정 단계를 수행한 후에는 설정된 6개의 양자화 번호, 즉 '3', '5', '7', '9', '11' 및 '13', 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격에 따라 상기 AC 계수를 각각 양자화하고 상기 양자화된 특정값, 즉 '0'이 아닌 값을 갖는 AC 계수의 갯수를 일정 단위로 누적하여 각각의 양자화 번호에 따라 발생될 비트량을 예측하는 발생 비트량 예측 단계를 수행한다.
발생 비트량을 예측하기 위해서는 먼저, 상기 설정된 6개의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격에 따라 상기 AC 계수를 각각 양자화하는 양자화 단계를 수행한다.
상기 양자화 단계는 세그먼트 단위로 5개의 마크로 블럭 각각에 대한 효율적인 양자화 번호를 설정하기 위한 첫 번째 과정으로서, 6개의 양자화 번호, 즉 1에서 15까지의 양자화 번호 중에서 3, 5, 7, 9, 11, 13에 대한 양자화 과정을 병렬로 수행한다. 양자화를 위한 양자화 간격은 이미 결정된 각 블럭의 클래스 번호와 블럭내의 영역 위치, 그리고 각 양자화 번호에 의해 결정된다.
이 과정은 부호화기의 가변장 부호화기의 출력단의 비트 발생량을 예측하기 위해 양자화된 '0'이 아닌 값을 갖는 AC 계수의 갯수를 계산하기 위한 선과정으로서, 실제의 양자화 과정보다 간단한 다음(식 2)의 문턱치 비교 과정이라고 할 수 있다.
[식 2]
AC > T 이면, QAC ≠ 0 이고,
그외 AC ≤ T, QAC = 0
여기서, AC는 초기 축척된 DCT 계수의 AC 계수값으로, 도3에 도시한 바와 같이 -255에서 255의 값을 갖는다. 또한, QAC는 양자화후의 DCT 계수의 AC 값이고, T는 '0'이 아닌 값을 갖는 AC 계수를 가려내는 문턱치이다.
즉, 양자화 단계는 상기 설정된 6개의 양자화 번호, 상기 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격으로 상기 AC 계수를 설정된 문턱치(T)와 비교하므로써 수행된다.
실제 DCT 계수의 AC 값은 다음의 (식 3)과 같은 양자화 과정을 거친다.
[식 3]
QAC = (AC + m) / Q-step
위의 (식 3)에서 Q-step은 각 블럭에서 주어진 클래스 번호, 영역 번호(Area Number), 양자화 번호에 따라 도2에 의해 구해진 양자화 간격이며, m은 양자화기가 데드존을 갖도록 하기 위한 양자화 레벨 쉬프트 변수이다. 또한, '/'는 소수점 이하는 삭제하라는 의미이다.
디코더의 역양자화(Inverse Quantization) 과정은 다음의 (식 4)과 같다.
[식 4]
AC' = QAC x Q-step
여기서, AC'는 역양자화후의 AC 계수값이다. 따라서 재생시의 양자화 잡음(Quantization Error)을 최소화시키기 위해서는 양자화 레벨 쉬프트 변수(m)가 'Q-step/2' 또는 (Q-step - 1)/2이어야 한다(m = Q-step/2, m = (Q-step - 1)/2). 'm'이 '0'이면 하드웨어 구현이 간단하고 데드-존이 넓어서 AC 계수값이 '0'에 가까운 값으로 될 확률이 높지만 위의 (식 4)의 영양자화 과정의 양자화 잡음이 커진다.
한편, DCT 계수의 AC 계수(AC)가 다음과 같은 경우 양자화 레벨 쉬프트 변수(m)와 양자화된 DCT 계수의 AC 계수(QAC)에 대해 알아본다.
[식 5]
AC = Q-step X n + Q/2
일때 양자화 레벨 쉬프트 변수(m)가
[식 6]
m = Q/2
이면 양자화된 DCT 계수의 AC 계수(QAC)는
[식 7]
QAC = n + 1
이지만, 양자화 레벨 쉬프트 변수(m)로
[식 8]
m = (Q-step - 1)/2
을 사용한다. 여기서, 'n'은 정수이다.
따라서 '0'이 아닌 AC 계수를 구하기 위한 문턱치(T)는 양자화기가 데드-존(Dead Zone)을 갖도록 하기 위한 양자화 레벨 쉬프트 변수(Quantizing Level Shift Parameter)에 '1'을 가산한 값(m + 1)으로 이루어진다. 즉, 문턱치(T)는
[식 9]
T = m + 1 = (Q-step + 1)/2
이 된다.
이와 같이 간단한 양자화 단계를 수행한후에는 상기 6개의 양자화 간격에 따라 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수를 상기 양자화 번호에 따라 각각 세그먼트 단위로 누적하는 누적 단계를 수행한다.
즉, 간단한 문턱치 비교 과정을 통해 구해진 '0'이 아닌 AC 계수의 갯수를 누적한다. 다시말해서, '3', '5', '7', '9', '11', 및 '13'의 양자화 번호에 의해 각각 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭과 세그먼트 단위로 각각 병렬로 누적하고 누적한 값을 출력한다. 이 누적된 값으로부터 연속장 부호화와 가변장 부호화 과정을 거친후에 발생할 비트량을 예측하여 각 마크로 블럭의 양자화 번호 값을 설정하게 된다.
한편, 타겟 계수의 갯수 조절 단계를 수행하여 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절한다.
즉, 결정된 양자화 번호에 의해 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임에서 실제 발생된 비트량을 세그먼트 단위로 계산하여 상기 계산된 세그먼트 단위의 발생 비트량을 저장하고, 상기 저장된 세그먼트 영역의 발생 비트량과 상기 설정된 기준 계수의 갯수를 이용하여 상기 이전 프레임의 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 결정한다.
양자화, 연속장 부호화, 및 가변장 부호화되어 포맷팅될때, 하나의 프레임에 해당하는 270 세그먼트의 실제 발생된 비트량에 해당하는 정보들이 저장되는데, 이는 DCT 되어 입력되는 다음 프레임의 각 세그먼트 단위의 양자화 번호의 결정에 이용하기 위해서이다.
이와 같이 저장된 이전 프레임의 발생 비트량 정보는 타겟 계수의 갯수를 결정하는데 이용되는데, 타겟 계수의 갯수는 아래 (식 10)에 의해 계산된다.
[식 10]
TSN = RSN + RSN x (3080 - SB)/3080 x W
여기서, TSN은 타겟 계수의 갯수이고, RSN은 항상 일정한 값을 갖도록 미리 설정되는 기준 계수의 갯수이고, 3080은 포맷팅 과정에서 비트열을 재정렬할 때 정해진 새그먼트 부위의 비트량이고, SB는 이전 프레임의 동일한 위치의 세그먼트에서 실제로 발생한 비트량이고, W는 비율을 조정하기 위한 가중치(Weighting Factor)이다.
즉, 양자화, 연속장 부호화, 및 가변장 부호화후 비트열 재정렬시 정해진 세그먼트 단위의 비트량인 3080 으로부터 상기 저장된 세그먼트 영역의 발생 비트량(SB)을 감산하고, 이 감산한 값을 3080으로 나누고, 나누어진 값에 가중치(W)와 상기 기준 계수의 갯수를 곱한후, 상기 기준 계수의 갯수를 가산하여 타겟 계수의 갯수를 구한다.
이와 같이 이전 프레임과 연관지어 타겟 계수의 갯수를 구하는 것은 영상 신호의 연속성 때문이다. 즉, 연속된 두 개의 프레임은 매우 높은 상관성을 갖고 있기 때문에 두 프레임의 동일한 위치의 세그먼트 영역에서는 같은 양자화 간격에서 거의 같은 비트량이 발생한다.
따라서 이전 프레임의 동일한 위치의 세그먼트 영역에서 실제 발생한 비트량을 참조하여 현재 프레임의 같은 위치의 세그먼트에 대한 타겟 계수의 갯수를 적응적으로 조절하므로써 보다 효과적으로 양자화 번호를 결정할 수 있다.
이와 같이 타겟 계수의 갯수를 계산하므로써 이전 프레임의 동일한 위치의 세그먼트에서 실제 발생하는 비트량이 3080비트를 넘으면 비교의 기준이 되는 타겟 계수의 갯수를 감소시켜서 양자화 번호가 작은 값이 되도록하여 실제 발생하는 비트량을 줄이고, 이전 프레임의 동일한 위치의 세그먼트에서 실제 발생하는 비트량이 3080비트보다 작으면 타겟 계수의 갯수를 기준 계수의 갯수보다 크게하여 양자화 번호가 큰 값이 되도록하여 실제 발생하는 비트량을 늘린다.
이와 같이 타겟 계수의 갯수 조절 단계와 발생 비트량 예측 단계를 수행한 후에는 상기 설정된 다수, 즉 6개의 양자화 번호에 따라 누적된 AC 계수의 갯수와 상기 결정된 타겟 계수의 갯수를 비교하여 양자화 번호를 결정하는 양자화 번호 결정 단계를 수행한다.
상기 양자화 번호 결정 단계는 한 세그먼트 내의 5개의 마크로 블럭에 대한 양자화 번호의 편차가 '1'이하가 되도록 하며, 정규화 과정을을 제거하여 하드웨어의 구현이 용이하도록 한다.
양자화 번호 결정 단계를 수행하기 위해서는 먼저, 상기 설정된 6개의 양자화 번호, '3, 5, 7, 9, , 13'에 따라 세그먼트 단위로 누적된 특정값의 AC 계수의 갯수와 결정된 타겟 계수의 갯수를 비교한다. 이때, 상기 타겟 계수의 갯수에 가장 근접한 갯수를 갖는 특정값의 AC 계수의 갯수에 해당하는 세그먼트 단위의 2개의 양자화 번호(Q1, Q3 = Q1+2)를 선택한다. 그리고 나서 상기 선택된 세그먼트 단위의 2개의 양자화 번호(Q1, Q3)에 따라 세그먼트내의 각각의 마크로 블럭의 양자화 번호를 설정한다.
즉, 상기 선택된 세그먼트 단위의 2개의 양자화 번호(Q1, Q3)에 대한 마크로 블럭 및 세그먼트 단위의 누적 계수의 갯수를 산술 평균하여 양자화 번호(Q2 = Q1+1)일때의 마크로 블럭 및 세그먼트 단위의 누적 AC 계수의 갯수를 구한다.
그리고 나서 다시 세개의 양자화 번호(Q1, Q2, Q3)에 대한 세그먼트 단위의 AC 계수의 갯수를 타겟 계수의 갯수와 비교하여 두개의 양자화 번호(Q-L, Q-U = Q-L+1)를 결정한다.
이와 같이 결정된 두 양자화 번호(Q-L, Q-U)로부터 세그먼트내의 5개의 각각의 마크로 블럭에 대한 최종 양자화 번호를 설정한다. 이때, 선택된 두개의 양자화 번호(Q-L, Q-U)에 대한 AC 계수의 갯수와 타겟 계수의 갯수는 다음 (식 11)과 같은 관계를 갖는다.
[식 11]
누적된 계수의 갯수(Q-L) "d 타겟 계수의 개수
타겟 계수의 갯수 "d 누적 계수의 갯수(Q-U)
상기 과정에서는 위의 (식 11)을 이용하여 타겟 계수의 갯수에 보다 근접하는 '0'이 아닌 값을 갖는 AC 계수의 갯수가 되도록 5개의 마크로 블럭의 양자화 번호를 두 개의 양자화 번호(Q-L, Q-U) 사이에서 다음과 같이 조절한다.
먼저, 5개의 마크로 블럭 모두의 양자화 번호가 양자화 번호(Q-L)일때의 세그먼트 단위의 누적 AC 계수의 갯수와 타겟 계수의 갯수를 비교하여 누적 AC 계수의 갯수가 타겟 계수의 갯수보다 많으면 중지한다.
또한, 누적 AC 계수의 갯수가 타겟 계수의 갯수보다 많지 않으면 세그먼트 내의 첫 번째 마크로 블럭에 대한 양자화 번호를 상기 양자화 번호(Q-L)에서 양자화 번호(Q-U)로 '1'만큼 증가시킨후 상기 타겟 계수의 갯수와 비교하는 과정으로 진행하여 반복한다.
이와 같은 과정을 5번째 마크로 블럭까지 반복 수행하여 각 마크로 블럭의 양자화 번호를 상기 두 개의 양자화 번호(Q-L, Q-U) 사이에서 최종 설정한다.
한편, 각 마크로 블럭의 클래스 번호와 DCT 계수는 양자화기로 먼저 보내고 세그먼트 단위의 양자화 번호 결정으로 1세그먼트 지연후에 결정된 각 마크로 블럭의 양자화 번호를 양자화부로 보낸다. 양자화부로 입력된 양자화 번호는 클래스 번호와 영역 번호와 함께 양자화 간격을 결정하는데 이용되며, 결정된 양자화 간격에 따라 양자화가 수행된다.
양자화된 DC 계수의 AC 계수는 연속장 부호화되고 가변장 부호화된다. 이때 가변장 부호화되고 포맷팅되기전의 이전 프레임에 해당하는 발생 비트량 정보는 현재 프레임의 양자화 번호 결정을 위해 사용된다.
다음으로, 본 발명에 의한 디지탈 영상의 양자화 번호 결정 장치를 설명한다.
본 발명에 의한 디지탈 영상의 양자화 번호 결정 장치는 도8에 도시한 바와 같이 클래스 번호 결정부(410), 양자화부(420), 계수 누적부(430), 타겟 계수 갯수 조절부(440), 및 양자화 번호 결정부(450)로 구성된다.
클래스 번호 결정부(410)는 DCT 및 지그재그 스캔부(400)에서 DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정한다.
양자화부(420)는 상기 클래스 번호 결정부(410)로부터 출력되는 상기 DCT 계수의 AC 계수를 설정된 다수의 양자화 번호, 상기 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수의 양자화 간격에 따라 각각 양자화한다.
여기서, 상기 설정된 양자화 번호는 '3', '5', '7', '9', '11' 및 '13'이고, 상기 양자화부(420)는 상기 클래스 번호 결정부(410)로부터 출력되는 상기 DCT 계수의 AC 계수를 설정된 다수, 즉 6개의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수, 즉 6개의 양자화 간격에 따라 각각 양자화하는 6개의 양자화기(421, 422, 423, 424, 425, 426)로 구성된다.
계수 누적부(430)는 상기 양자화부(420)로부터 출력되는 각각 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭 및 세그먼트 단위로 각각 누적하는 것으로, 상기 6개의 양자화기(421, 422, 423, 424, 425, 426)로부터 각각 출력되는 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭 및 세그먼트 단위로 각각 누적하는 6개의 계수 누적기(431, 432, 433, 434, 435, 436)로 구성된다.
타겟 계수 갯수 조절부(440)는 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절하는 것으로, 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임에서 실제 발생된 비트량을 세그먼트 단위로 계산하는 발생 비트량 계산기(441), 상기 발생 비트량 계산기(441)로부터 출력되는 세그먼트 단위의 발생 비트량을 저장하는 세그먼트 비트 메모리(442), 및 상기 세그먼트 비트 메모리(442)에 저장된 세그먼트 영역의 발생 비트량과 상기 설정된 기준 계수의 갯수를 이용하여 상기 이전 프레임의 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 계산하여 상기 양자화 번호 결정부(450)로 출력하는 타겟 계수 갯수 계산기(443)로 구성된다.
여기서, 상기 타겟 계수의 갯수는 양자화, 연속장 부호화, 및 가변장 부호화후 비트열 재정렬시 정해진 세그먼트 단위의 비트량으로부터 상기 저장된 세그먼트 영역의 발생 비트량을 감산한 값에 대한 상기 세그먼트 단위의 비트량의 비에 가중치와 상기 기준 계수의 갯수를 곱한후 상기 기준 계수의 갯수를 가산한 값으로 이루어진다.
양자화 번호 결정부(450)는 상기 계수 누적부(430)로부터 출력되는 세그먼트 및 마크로 블럭 단위로 누적된 AC 계수의 갯수와 상기 타겟 계수 갯수 조절부(440)로부터 출력되는 타겟 계수의 갯수를 비교하여 양자화 번호를 결정하는 것으로, 상기 계수 누적부(430)의 각 계수 누적기(431, 432, 433, 434, 435, 436)로부터 출력되는 세그먼트 단위로 누적된 AC 계수의 갯수와 상기 타겟 계수 갯수 조절부(440)의 타겟 계수 갯수 계산기(443)로부터 출력되는 타겟 계수의 갯수를 비교하는 세그먼트 비교기(451), 상기 세그먼트 비교기(451)의 출력과 상기 계수 누적부(430)의 출력에 따라 상기 타겟 계수의 갯수에 가장 근접한 갯수를 갖는 특정값의 AC 계수의 갯수에 해당하는 세그먼트 단위의 2개의 양자화 번호를 선택하는 마크로 블럭 및 세그먼트 계산기(452), 및 상기 마크로 블럭 및 세그먼트 계산기(452)로부터 출력되는 세그먼트 단위의 2개의 양자화 번호에 따라 세그먼트내의 각각의 마크로 블럭의 양자화 번호를 설정하는 마크로 블럭 비교기(453)로 구성된다.
이와 같이 구성되는 본 발명에 의한 디지탈 영상의 양자화 번호 결정 장치의 동작을 설명한다.
먼저, 입력되는 영상 데이터는 DCT 및 지그재그 스캔부(400)에서 DCT 변환되고 지그재그 스캔 방식으로 부호화되어 일열로 나열 출력된다.
클래스 번호 결정부(410)에서는 DCT 및 지그재그 스캔부(400)로부터 출력되는 DCT 계수를 입력으로 클래스 번호를 결정한다.
양자화 번호의 설정에 앞서 클래스 번호를 먼저 결정하는데, 클래스 번호는 각 DCT 블럭의 액티비티에 따라 DCT 블럭 단위로 측정할 수 있으며, 특히 도3에 도시한 바와 같이 DCT 계수의 AC 계수의 크기에 따라 알맞는 클래스 번호를 '0'으로부터 '3'까지 중에서 선택한다.
상기 클래스 번호 결정부(410)의 동작에 의해 결정된 클래스 번호와 DCT 계수는 세그먼트 단위의 지연 메모리(460)와 양자화 설정을 위한 양자화부(420)로 입력된다.
이와 같이 클래스 번호 결정부(410)로부터 출력되는 AC 계수는 양자화부(420)의 각 양자화기(421, 422, 423, 424, 425, 426)에 입력되어 '3', '5', '7', '9', '11', 및 '13'의 양자화 번호로 각각 양자화 된다
6개의 양자화기(421, 422, 423, 424, 425, 426)의 양자화는 간단하게 위의 문턱치 비교 과정이라고 할수 있으며, 위의 (식 2), (식 3), 및 (식 4)에 의해 결정된 문턱치(T)에 의한다.
이와 같이 6개의 양자화기(421, 422, 423, 424, 425, 426)에서 간단한 양자화가 수행된후에는 양자화된 AC 계수가 계수 누적부(430)의 6개의 계수 누적기(431, 432, 433, 434, 435, 436)로 입력되어 '0'이 아닌 AC 계수의 갯수가 누적 계산된다.
즉, 6개의 계수 누적기(431, 432, 433, 434, 435, 436)에서는 간단한 양자화 과정, 즉 문턱치 비교 과정을 통하여 구해진 '0'이 아닌 값을 갖는 AC 계수의 갯수를 누적한다. 누적기1, 2, 3, 4, 5, 6은 각각 양자화 번호가 '3', '5', '7', '9', '11', 및 '13'일때의 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭 및 세그먼트 단위로 누적한 값을 출력한다.
이 누적한 값으로 연속장 부호화와 가변장 부호화 과정을 거친후에 발생할 비트량을 예측하여 각 마크로 블럭의 양자화 번호를 설정하게 된다.
상기 계수 누적기(431, 432, 433, 434, 435, 436)로부터 출력되는 6개의 누적된 값은 세그먼트 비교기(451)에 입력되어 세그먼트 단위의 양자화 번호를 선택하는데 이용된다.
한편, 가변장 부호화기(490)로부터 출력되는 데이터, 즉 양자화 과정, 연속장 부호화 과정, 및 가변장 부호화 과정을 수행한 후에 실제 발생하는 비트량은 발생 비트량 계산기(441)에 입력되어 세그먼트 단위로 계산되어 세그먼트 비트 메모리(442)에 저장된다.
이와 같이 저장된 이전 프레임의 발생 비트량 정보는 다음 프레임의 각 세그먼트 단위의 양자화 번호의 결정에 이용된다.
상기 세그먼트 비트 메모리(442)에 저장된 이전 프레임의 발생 비트량 정보는 타겟 계수 갯수 계산부(443)에서 현재 프레임의 동일한 위치의 세그먼트의 타겟 계수의 갯수를 결정하는데 이용된다. 각 세그먼트의 타겟 계수의 갯수의 결정은 위의 (식 10)에 의해 이루어진다.
이와 같이 타겟 계수 갯수 계산기(443)에서 결정된 세그먼트 단위의 타겟 계수의 갯수는 세그먼트 비교기(451)에 입력되어 6개의 다른 양자화 번호를 적용시켰을 경우의 세그먼트 단위의 누적된 값으로 각 누적기(431, 432, 433, 434, 435, 436)로부터 출력되는 누적된 AC 계수의 갯수와 비교된다. 이때 비교 결과에 따라 마크로 블럭 및 세그먼트 계산기(452)에서 상기 타겟 계수의 갯수와 가장 근접한 2개 또는 1개의 양자화 값을 구하게 되고, 이에 따라 마크로 블럭 비교기(453)에서는 각각의 마크로 블럭의 양자화 번호를 설정하게 된다.
즉, 마크로 블럭 비교기(453)에서는 낮은 세그먼트 단위의 계수의 갯수를 기준으로하여 첫 번째 마크로 블럭의 계수의 갯수로부터 높은 마크로 블럭 단위의 계수의 갯수로 치환시키므로 타겟 계수의 갯수와 가장 가까운 세그먼트 단위의 계수의 갯수를 가지도록 마크로 블럭의 양자화 번호를 조정한다.
마크로 블럭 비교기(453)에서는 최대 5회를 비교하게 되는데, 치환된 마크로 블럭의 계수의 갯수는 치환된 상태를 두고 다음 마크로 블럭의 계수의 갯수를 치환하는 식으로 비교하게 된다.
즉, 양자화 번호를 결정하는 방식은 앞서 설명한 양자화 번호 결정 단계와 같으며 양자화 번호 결정부(450)의 세그먼트 비교기(451), 마크로 블럭 및 세그먼트 계산기(452), 및 마크로 블럭 비교기(453)에서 이루어진다.
이와 같이 마크로 블럭 단위의 양자화 번호 결정부(450)에서 결정되어 출력되는 양자화 번호는 양자화기(470)에 입력되어 지연 메모리(460)로부터 출력되는 클래스 번호와 AC 계수를 입력으로 양자화하게 된다. 양자화기(470)로부터 출력되는 양자화된 계수는 연속장 부호화기(480)에서 연속장 부호화되어 신호의 중복성이 제거된다. 또한, 연속장 부호화기(480)에서 세그먼트 단위로 출력되는 양자화 계수값은 가변장 부호화기(490)에 입력되어 위치 정보와 크기 정보 및 움직임 벡터의 손실없이 가변장 부호화되어 일정한 비트 스트림으로 출력된다.
이와 같이 가변장 부호화기(490)로부터 출력되는 일정한 비트 스트림은 포맷터에 입력되어 재정렬되어 출력되고, 동시에 발생 비트량 계산기(441)에 입력되어 다음으로 입력되는 프레임의 양자화 번호의 결정에 이용된다.
즉, 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 실제 발생 비트량에 관한 정보는 타겟 계수의 갯수를 적응적으로 조정할 수 있도록 발생 비트량 계산기(441)에 입력된다.
이상에서 설명한 바와 같이 본 발명에 의한 디지탈 영상의 양자화 번호 결정 방법 및 장치는 양자화 번호를 설정하기 위한 기준이 되는 타겟 계수의 갯수를 피드백 및 피드 포워드 방식을 이용하여 적응적으로 조절하므로 간단한 하드웨어로 구성되어 포맷팅시 세그먼트당 할당된 바이트수를 정확하게 유지하여 영상의 왜곡을 방지할 수 있는 효과가 있다.

Claims (16)

  1. DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정하는 클래스 번호 결정 단계;
    설정된 6개의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT블럭내의 영역 위치로 결정되는 7개의 양자화 간격에 따라 상기 DCT 계수의 AC계수를 각각 양자화하는 양자화 단계;
    상기 6개의 양자화 간격에 따라 양자화된 ,AC 계수 중에서 '0'이 아닌 AC 계수를 상기 양자화 번호에 따라 각각 세그먼트 단위로 누적하는 누적단계;다수의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수의 양자화 간격에 따라 상기 DCT 계수의 AC 계수를 각각 양자화하고 상기 양자화된 특정값의 AC 계수의 갯수를 일정 단위로 누적하여 각각의 양자화 번호에 따라 발생될 비트량을 예측하는 발생 비트량 예측 단계;
    양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절하는 타겟 계수의 갯수 조절 단계; 및
    상기 설정된 6개의 양자화 번호에 따라 누적된 AC계수의 갯수와 상기 결정된 타켓 계수의 갯수를 비교하여 양자화 번호를 결정하는 양자화 번호 결정 단계를 포함하는 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  2. 제1항에 있어서, 상기 설정된 양자화 번호는 '3', '5', '7', '9', '11' 및 '13'임을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  3. 제1항에 있어서, 상기 타겟 계수의 갯수 조절 단계는 양자화, 연속장 부호화된 이전 프레임에서 실제 발생된 세그먼트 단위로 계산하는 세그먼트 단위의 발생 비트량 계산 단계; 상기 계산된 세그먼트 단위의 발생 비트량을 저장하는 발생 비트량 저장 단계; 및 상기 저장된 세그먼트 영역의발생 비트량과 상기 설정된 기준 계수의 갯수를 이용하여 상기 이전 프레임의 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 결정하는 탁겟 계수의 갯수 결정단계에 의해 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정방법.
  4. 제1항 또는 제2항에 있어서, 상기 발생 비트량 예측 단계는 상기 설정된 6개의 양자화 번호, 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격에 따라 상기 DCT 계수의 AC 계수를 각각 양자화하는 양자화 단계; 및 상기 6개의 양자화 간격에 따라 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수를 상기 양자화 번호에 따라 각각 세그먼트 단위로 누적하는 누적 단계에 의해 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  5. 제5항에 있어서, 상기 양자화 단계는 상기 설정된 6개의 양자화 번호, 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 6개의 양자화 간격으로 상기 AC 계수를 설정된 문턱치(T)와 비교하여 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  6. 제6항에 있어서, 상기 문턱치(T)는 양자화기가 데드-존(Dead Zone)을 갖도록 하기 위한 양자화 레벨 쉬프트 변수(Quantizing Level Shift Parameter)에 '1'을 가산한 값으로 이루어짐을 특징으로 하는 디지탈 영상의 양자화 변호 결정 방법.
  7. 제1항에 있어서, 상기 타겟 계수의 갯수 조절 단계는 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임에서 실제 발생된 비트량을 세그먼트 단위로 계산하는 세그먼트 단위의 발생 비트량 계산 단계; 상기 계산된 세그먼트 단위의 발생 비트량을 저장하는 발생 비트량 저장 단계; 및 상기 저장된 세그먼트 영역의 발생 비트량과 상기 설정된 기준 계수의 갯수를 이용하여 상기 이전 프레임의 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 결정하는 타겟 계수의 갯수 결정 단계에 의해 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  8. 제8항에 있어서, 상기 타겟 계수의 개수는 양자화, 연속장 부호화, 및 가변장 부호화후 비트열 재정렬시 정해진 세그먼트 단위의 비트량으로부터 상기 저장된 세그먼트 영역의 발생 비트량을 감산한 값에 대한 상기 세그먼트 단위의 비트량의 비에 가중치와 상기 기준 계수의 갯수를 곱한후 상기 기준 계수의 갯수를 가산한 값으로 이루어짐을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  9. 제1항 또는 제2항에 있어서, 상기 양자화 번호 결정 단계는 상기 설정된 다수의 양자화 번호에 따라 세그먼트 단위로 누적된 특정값의 AC 계수의 갯수와 결정된 타겟 계수의 갯수를 비교하는 단계; 상기 비교 결과 타겟 계수의 갯수에 가장 근접한 갯수를 갖는 특정값의 AC 계수의 갯수에 해당하는 세그먼트 단위의 2개의 양자화 번호를 선택하는 단계; 상기 선택된 세그먼트 단위의 2개의 양자화 번호에 따라 세그먼트내의 각각의 마크로 블록 단위의 양자화 번호를 설정하는 단계에 의해 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 방법.
  10. DCT 연산을 수행하여 얻어진 DCT 계수로부터 클래스 번호를 결정하는 클래스 번호 결정 수단(410);
    상기 클래스 번호 결정 수단(410)으로부터 출력되는 상기 DCT 계수의 AC 계수를 설정된 다수의 양자화 번호, 상기 클래스 번호, 및 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수의 양자화 간격에 따라 각각 양자화하는 양자화 수단(420);
    상기 양자화 수단(420)으로부터 출력되는 각각 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭 및 세그먼트 단위로 각각 누적하는 계수 누적 수단(430);
    양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임의 세그먼트 영역에서 실제 발생된 비트량과 설정된 기준 계수의 갯수에 따라 상기 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 적응적으로 조절하는 타겟 계수 갯수 조절 수단(440); 및
    상기 계수 누적 수단(430)으로부터 출력되는 세그먼트 및 마크로 블럭 단위로 누적된 AC 계수의 갯수와 상기 타겟 계수 갯수 조절 수단(440)으로부터 출력되는 타겟 계수의 갯수를 비교하여 양자화 번호를 결정하는 양자화 번호 결정 수단(450)을 포함하여 수행됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
  11. 제11항에 있어서, 상기 설정된 양자화 번호는 '3', '5', '7', '9', '11' 및 '13'임을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
  12. 제12항에 있어서, 상기 양자화 수단(420)은 상기 클래스 번호 결정 수단(410)으로부터 출력되는 상기 DCT 계수의 AC 계수를 설정된 다수의 양자화 번호, 상기 클래스 번호, 및 상기 DCT 연산이 수행되는 DCT 블럭내의 영역 위치로 결정되는 다수의 양자화 간격에 따라 각각 양자화하는 6개의 양자화기(421, 422, 423, 424, 425, 426)로 구성됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
  13. 제13항에 있어서, 상기 계수 누적 수단(430)은 상기 6개의 양자화기(421, 422, 423, 424, 425, 426)로부터 각각 출력되는 양자화된 AC 계수 중에서 '0'이 아닌 값을 갖는 AC 계수의 갯수를 마크로 블럭 및 세그먼트 단위로 각각 누적하는 6개의 계수 누적기(431, 432, 433, 434, 435, 436)로 구성됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
  14. 제11항에 있어서, 상기 타겟 계수 갯수 조절 수단(440)은 양자화, 연속장 부호화, 및 가변장 부호화된 이전 프레임에서 실제 발생된 비트량을 세그먼트 단위로 계산하는 발생 비트량 계산기(441); 상기 발생 비트량 계산기(441)로부터 출력되는 세그먼트 단위의 발생 비트량을 저장하는 세그먼트 비트 메모리(442); 및 상기 세그먼트 비트 메모리(442)에 저장된 세그먼트 영역의 발생 비트량과 상기 설정된 기준 계수의 갯수를 이용하여 상기 이전 프레임의 세그먼트 영역과 동일한 현재 프레임의 세그먼트 영역에 대한 타겟 계수의 갯수를 계산하여 상기 양자화 번호 결정 수단(450)으로 출력하는 타겟 계수 갯수 계산기(443)로 구성됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
  15. 제15항에 있어서, 상기 타겟 계수의 갯수는 양자화, 연속장 부호화, 및 가변장 부호화후 비트열 재정렬시 정해진 세그먼트 단위의 비트량으로부터 상기 저장된 세그먼트 영역의 발생 비트량을 감산한 값에 대한 상기 세그먼트 단위의 비트량의 비에 가중치와 상기 기준 계수의 갯수를 곱한후 상기 기준 계수의 갯수를 가산한 값으로 이루어짐을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
  16. 제11항에 있어서, 상기 양자화 번호 결정 수단(450)은 상기 계수 누적 수단(430)으로부터 출력되는 세그먼트 단위로 누적된 AC 계수의 갯수와 상기 타겟 계수 갯수 조절 수단(440)으로부터 출력되는 타겟 계수의 갯수를 비교하는 세그먼트 비교기(451); 상기 세그먼트 비교기(451)의 출력과 상기 계수 누적 수단(430)의 출력에 따라 상기 타겟 계수의 갯수에 가장 근접한 갯수를 갖는 특정값의 AC 계수의 갯수에 해당하는 세그먼트 단위의 2개의 양자화 번호를 선택하는 마크로 블럭 및 세그먼트 계산기(452); 및 상기 마크로 블럭 및 세그먼트 계산기(452)로부터 출력되는 세그먼트 단위의 2개의 양자화 번호에 따라 세그먼트내의 각각의 마크로 블럭의 양자화 번호를 설정하는 마크로 블럭 비교기(453)로 구성됨을 특징으로 하는 디지탈 영상의 양자화 번호 결정 장치.
KR1019960050263A 1996-10-30 1996-10-30 디지탈 영상의 양자화 번호 결정 방법 및 장치 KR100231592B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960050263A KR100231592B1 (ko) 1996-10-30 1996-10-30 디지탈 영상의 양자화 번호 결정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960050263A KR100231592B1 (ko) 1996-10-30 1996-10-30 디지탈 영상의 양자화 번호 결정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR19980030785A KR19980030785A (ko) 1998-07-25
KR100231592B1 true KR100231592B1 (ko) 1999-11-15

Family

ID=19479828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960050263A KR100231592B1 (ko) 1996-10-30 1996-10-30 디지탈 영상의 양자화 번호 결정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100231592B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918560B1 (ko) * 2002-09-30 2009-09-21 주식회사 케이티 실시간 h.263 영상 부호율 제어를 위한 비트량 예측 장치및 그 방법

Also Published As

Publication number Publication date
KR19980030785A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
US5986710A (en) Image encoding method and apparatus for controlling the number of bits generated using quantization activities
US5686964A (en) Bit rate control mechanism for digital image and video data compression
KR100756596B1 (ko) 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법
KR100213014B1 (ko) 동화상신호의 고능률 부호화를 위한 레이트 콘트롤 장치
US6801572B2 (en) Method and apparatus for image signal encoding
US8238423B2 (en) Image processing apparatus and method
US7460597B2 (en) Encoding apparatus and method
US7065138B2 (en) Video signal quantizing apparatus and method thereof
JPH07184196A (ja) 画像符号化装置
JP2001501429A (ja) 可変ビットレートビデオ符号化方法及び対応するビデオ符号化装置
KR19990086789A (ko) 비트율이 급변되는 재양자화 계단 크기 선택 방법 및 그를 이용한 비트율 제어 방법
KR19980018698A (ko) 영상 데이터 압축 장치 및 그의 방법
US6661840B1 (en) Image encoder and method of the same
JPH10191343A (ja) 映像データ圧縮装置およびその方法
KR100231592B1 (ko) 디지탈 영상의 양자화 번호 결정 방법 및 장치
JP5136470B2 (ja) 動画像符号化装置及び動画像符号化方法
JPH09294267A (ja) 画像圧縮符号化装置
KR100231591B1 (ko) 디지탈 영상의 양자화 번호 결정 방법 및 장치
US6266447B1 (en) Coding apparatus
JP3013602B2 (ja) 映像信号符号化装置
JP3918208B2 (ja) 映像データ圧縮装置およびその方法
KR100225348B1 (ko) 양자화번호 결정을 위한 양자화계수 카운트장치
JP3765129B2 (ja) 符号化装置および符号化方法
KR19980038607A (ko) 디지탈 영상의 양자화 번호 결정 방법 및 장치
KR19990061002A (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: 20120801

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee