KR100210383B1 - 양자화기 - Google Patents

양자화기 Download PDF

Info

Publication number
KR100210383B1
KR100210383B1 KR1019960016003A KR19960016003A KR100210383B1 KR 100210383 B1 KR100210383 B1 KR 100210383B1 KR 1019960016003 A KR1019960016003 A KR 1019960016003A KR 19960016003 A KR19960016003 A KR 19960016003A KR 100210383 B1 KR100210383 B1 KR 100210383B1
Authority
KR
South Korea
Prior art keywords
ram
data
quantization
matrix
quantization matrix
Prior art date
Application number
KR1019960016003A
Other languages
English (en)
Other versions
KR970078641A (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 KR1019960016003A priority Critical patent/KR100210383B1/ko
Priority to EP19970303247 priority patent/EP0808069B1/en
Priority to DE1997621373 priority patent/DE69721373T2/de
Priority to US08/854,945 priority patent/US5881177A/en
Priority to JP12415197A priority patent/JP4117044B2/ja
Priority to CN97104264A priority patent/CN1126375C/zh
Publication of KR970078641A publication Critical patent/KR970078641A/ko
Application granted granted Critical
Publication of KR100210383B1 publication Critical patent/KR100210383B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 MPEG부호화단의 양자화기에 관한 것으로, 램컨트롤러와 램과 연산제어부와 연산부로 구성되어 도시되지 않은 시스템제어부로부터 양자화 매트릭스와 양자화 스케일(quant_scale_type, quant_scale_code)을 다운로딩 받고, 이산여현 변환기로부터 영상 데이터를 입력받아 양자화를 수행한다. 따라서 본 발명에 의하면, 지그재그 스캔방식과 얼터네이트 스캔방식으로 입력되는 영상 매트릭스 데이터에 대해 양자화가 수행되고 16비트의 매트릭스가 저장되는 램을 이용함으로써 램 컨트롤러의 부피가 축소되어 양자화기의 크기가 축소될 수 있게 된다.

Description

양자화기
제1도는 일반적인 영상부호기를 나타낸 블록도.
제2(a)도는 제1도에 나타낸 프레임 메모리부에 저장된 자연영상을 나타낸 도면.
제2(b)도는 제2(a)도에 나타낸 자연영상을 8×8 화소 블록으로 분할한 영상을 나타낸 도면.
제2(c)도는 제2(b)도에 나타낸 8×8 화소블록이 이산여현 변환기(DCT)에 의해 변환된 영상을 나타낸 도면.
제2도(d)도는 제2(c)도에 나타낸 이산여현 변환된 영상이 양자화기에 의해 양자화된 영상을 나타낸 도면.
제3도는 본 발명에 따른 양자화기를 나타낸 블록도.
제4도는 제3도에 나타낸 램(RAM)과 램컨트롤러(RAMCON)를 나타낸 블록도이다.
* 도면의 주요부분에 대한 부호의 설명
10, 12 : 제1 및 제2카운터 14 : PLA
20 : CAT 22, 24 : 제1 및 제2멀티플렉서
26 : 램(RAM) 30 : 램컨트롤러(RAMCON)
32 : 연산제어부 34 : 연산부
본 발명은 영상부호기에 있어서 양자화기에 관한 것으로, 특히 지그재그방식으로 다운로딩되어 메모리에 저장된 양자호 매트릭스를 지그재그(zigzag) 스캔 방식이나 얼터네이트(alternate) 스캔 방식으로 입력되는 영상 데이터의 스캔방식에 따라 적절하게 어드레싱하여 양자화가 수행되도록 된 양자화기에 관한 것이다.
일반적으로 영상부호기에 있어서, 양자화기로 입력되는 영상 데이터는 이산여현 변환기(DCT)에 의해 이산여현 변환된 후 직접 양자화기로 입력되게 된다.
제1도는 일반적인 영상부호기를 나타낸 블록도인데, 이 영상부호기는 프레임 메모리부(100), 감산기(120), 이산여현 변환기(DCT:120), 양자화기(Q:140), 가변길이부호기(VLC:150), 역양자화기(IQ:160), 역이산여현 변환기(IDCT:170), 가산기(180) 및 움직임보상부(MC:190)로 구성되어 있다.
이와 같은 영상부호기는 이미 잘 알려진 바와 같이, 프레임 메모리부(100)를 매개로 입력되는 현재 영상신호와 움직임보상부(190:MC)로 부터 입력되는 이전 영상신호가 감산기(102)로 입력되고, 이후 상기 감산기(102)로부터의 영상 데이터가 이산여현 변환기(130)로 입력되어 이산여현 변환되게 된다. 다음에, 상기 이산여현 변환기(130)에 의해 이산여현 변환된 영상 데이터가 양자화기(140)로 입력되어 양자화가 수행되고, 양자화된 데이터가 지그재그 스캔 후 런랭쓰(RL) 부호화와 가변길이(VLC) 부호화됨으로써 압축 부호화가 수행되게 된다.
제2(a)도 내지 제2(d)도는 비디오 카메라를 통해 촬상된 자연영상을 디지탈로 변환하여 이산여현 변환 및 양자화하는 개념을 설명하기 위하여 도시한 도면이다.
제2(a)도는 제1도에 나타낸 프레임 메모리부에 저장된 자연영상을 나타낸 도면이고, 제2(b)도는 제2(a)도에 나타낸 자연 영상을 8×8 화소블록으로 분할한 영상을 나타낸 도면이며, 제2(c)도는 제2(b)도에 나타낸 8×8 화소블록이 이산여현 변환기(DCT)에 의해 변환된 영상을 나타낸 도면이고, 제2(d)도는 제2(c)도에 나타낸 이산여현 변환된 영상이 양자화기에 의해 양자화된 영상을 나타낸 도면이다.
여기서, 제2(a)도에 나타낸 도면은 한장의 자연영상, 예컨대 352×288 화소를 8×8 화소의 정방형 화소블록으로 분할한 후 각각의 화소블록이 순차적으로 이산여현 변환기로 입력되는 영상을 나타낸다.
그리고, 제2(b)도에 나타낸 도면은 제2(a)도에 도시된 자연영상의 8×8 화소블록으로서 2차원 공간상에 a1내지 a64로 할당된 것을 나타내고, 제2(c)도는 제2(b)도에 나타낸 8×8 화소블록이 이산여현 변환되어 저주파항(1)부터 고주파항(2)으로 분리되어 순차적으로 분포된 것(b1-b64)을 나타낸다.
또한, 제2(d)도는 제2(c)도와 같이 이산여현 변환된 후의 각 계수를 소정 제수(除數), 즉 양자화 스텝 및 양자화 매트릭스로 나누어 양자화된 블럭을 나타낸 것이다. 제2(a)도 내지 제2(d)도에서 순차적으로 보여지는 바와 같이 DCT 및 양자화를 통해 데이터가 압축되는 것을 알 수 있다.
이와 같은 일반적인 영상부호화기에 있어서 종래에는 영상 데이터가 양자화된 후 스캔 과정이 수행되었으나 영상부호기를 설계하는 실제적인 면에 있어서 시간지연(latency)의 문제 때문에 스캔과정이 이산여현 변환후 즉, 양자화 이전에 처리되는 것이 요구가되었다.
그런데, 이와 같이 양자화 이전에 스캔동작이 이루어질 경우에 MPEG-2에 지원하는 스캔동작이 지그재그 방식과 얼터네이트 방식이 있으므로, 양자화기는 적어도 이 두가지 방식을 지원할 수 있어야 한다.
즉, MPEG에 있어서 양자화는 주파수에 따라 가중치를 달리하는 적응 양자화방식이고, 이를 위해 인트라 블럭의 양자화를 위한 가중치 매트릭스(이하, intra quantizer matrix라 함)와 인터블럭의 양자화를 위한 가중치 매트릭스[이하, inter(non_intra) quantizer matrix라 함]를 필요로 하는데, 이들 매트릭스의 입력(또는 전송) 순서는 지그재그방식 하나로 권고되어 있으나 영상 데이터의 입력 순서는 스캔 방식에 따라 달라진다. 따라서, 양자화 이전에 스캔이 이루어지기 위해서는 스캔방식에 따라 매트릭스의 순서와 데이터의 순서를 일치시켜 주어야 한다.
특히, 영상부호화를 신속하게 처리하기 위하여 양자화기에서 2픽셀씩 동시에 처리할 경우에 입력 데이터쌍과 매트릭스쌍을 정확하게 매칭시킬 필요가 있다.
이에 본 발명은 상기한 필요성을 충족시키기 위한 것으로, 지그재그(zigzag) 스캔방식이나 얼터네이트(alternate) 스캔방식으로 입력되는 영상 데이터를 해당 양자화 매트릭스와 양자화 스케일에 따라 양자화함에 있어서 더블 버퍼링을 이용하여 램컨트롤러 회로가 간단하게 된 양화기를 제공하는데 그 목적이 있다.
상기한 바와 같은 목적을 달성하기 위하여 본 발명은, 소정의 양자화 매트릭스가 지그재그방식으로 다운 로딩되어 램에 저장된 것을 소정의 스캔방식으로 입력되는 영상 데이터의 스캔방식에 따라 램 컨트롤러가 적절하게 어드레싱하여 양자화 매트릭스를 읽어 오고, 이 양자화 매트릭스의 역수 및 시스템제어부로부터 입력되는 양자화 스케일값의 역수를 연산제어부에서 구한 후, 이 역수들과 입력된 상기 영상 데이터를 연산부에서 연산하여 양자화하도록 된 양자화기에 있어서, 상기 램 컨트롤러가, 소정의 양자화 매트릭스를 상기 램에 저장하기 위한 라이트 어드레스를 발생하는 라이트 어드레스 발생수단; 양자화를 위한 매크로블럭이 시작되면 상기 램에 저장된 양자화 매트릭스를 읽어오기 위해 스캔방식에 따라 해당 리드 어드레스를 발생하는 리드 어드레스 발생수단; 및 상기 리드 어드레스 발생수단에 의해 억세스된 램이 출력하는 데이터를 코딩방식 및 스캔방식에 따라 결합하여 상기 연산제어부로 출력하는 데이터결합수단으로 구성되고, 상기 램이, 인트라 양자화 매트릭스를 저장하기 위한 제1 및 제3메모리뱅크; 인터 양자화 매트릭스를 저장하기 위한 제2 및 제4메모리뱅크로 구성된 것을 특징으로 한다.
이와 같이 본 발명에 따른 양자화기는 4개의 메모리뱅크를 사용하므로써 상대적으로 메모리가 증가되나 램 컨트롤러가 간단해져 구현이 용이하고 전체적으로 양자화기의 크기가 축소될 수 있게 된다.
이하, 첨부한 예시도면을 참고하여 본 발명에 따른 실시예를 상세히 설명한다.
먼저, MPEG-2에 있어서 양자화(quantization)는 이산여현 변환(DCT)과 같이 8×8 블록단위로 처리되는데, 이산여현 변환된 계수를 코딩방식에 따라(인트라 코딩인지 또는 인터코딩인지) 해당 양자화 매트릭스로 나눈 후, 다시 레이트 컨트롤(rate control) 방법에 의해 정해진 양자화 스케일로 나누어 발생되는 데이터량을 줄이는 것이다.
여기서 양자화 매트릭스는 앞서 설명한 바와 같이 적응 양자화 방식에서 인간의 시각특성등을 고려하여 공간 주파수에 따라 가중치를 달리 부여하기 위한 것으로서, 영상 데이터와 대응되게 8×8 매트릭스의 크기를 가지며, 인트라 블록(intra coded block)의 양자화를 위한 매트릭스(intra quantizer matrix)와 인터블럭(inter coded block)의 양자화를 위한 매트릭스(non_intra quantizer matrix)로 구분된다. 이때, MPEG2에서는 인트라 및 인터 양자화 매트릭스로서 사용자가 임의로 정의한 매트릭스(user defined matrix)를 사용하거나 미리 정의된 디폴트 매트릭스(default matrix)를 사용하도록 권고하고 있다. 따라서, 사용자가 매트릭스를 임의로 정의하여 사용할 경우에는 부호화단(송신)에서 복호화단(수신)으로 그 양자화 매트릭스를 MPEG 비트스트림상의 헤더로 전송해 주어야 하고, 디폴트 테이블을 사용할 경우 양자화 매트릭스는 다음 표 1 및 표 2와 같이 정해져 있다. 이때, 양자화 매트릭스는 지그재그방식으로 다운로드되도록 권고되어 있다.
상기 표 1에서와 같이, 인트라 양자화 매트릭스는 저주파대에서는 양자화 간격을 좁게(세밀하게)하고, 고주파대에서는 양자화를 거칠게(coarse) 수행한다. 이는 저주파부분의 화질에 커다른 영향을 주나 고주파 부분에는 커다란 영향을 주지 않게 된다. 또한, 인터블럭은 움직임 보상에 의해 차분영상을 부호화한 것이기 때문에, 대부분의 데이터가 저주파부분에만 있고, 고주파부분은 적어서 상기 표 2와 같이 균등하게 가중치를 부여하게 된다.
또한 양자화 스케일은 레이트 컨트롤(예컨대, 버퍼 컨트롤이라고도 함) 방법에 따라 부호화시에 발생되는 데이터량을 적절히 제어하기 위하여 부호화되는 원영상의 복잡도(activity)와 버퍼의 충만도(fullness) 등에 의해 결정되는데, MPEG2에서 부호화시에 정해진 양자화 스케일값은 비트스트림의 헤더(예컨대, q-scale_type, quantizer_scale_code)를 통해 복호화단으로 전달되게 된다.
이어서 상기와 같은 MPEG 양자화에 대한 이해를 바탕으로 본 발명에 따른 양자화기를 설명한다.
제3도는 본 발명에 따른 양자화기를 나타낸 블록도이고, 제4도는 제3도에 나타낸 램(RAM)과 램 컨트롤러(RAMCON)를 도시한 세부 블록도이다.
본 발명의 양자화기는 제3도에 도시된 바와 같이, 램 컨트롤러(30), 램(26), 연산제어부(32), 연산부(34)로 구성되어 도시되지 않은 시스템 제어부로부터 양자화 매트릭스와 양자화 스케일(quant_scale_type, quant_scale_code)을 다운로딩 받고, 이산여현 변환기로부터 영상 데이터를 입력받아 양자화를 수행한다.
먼저, 제3도 및 제4도를 설명함에 있어서 이해를 쉽게하기 위하여 각 블럭으로 입출력되는 신호들에 대해 개괄적으로 정의한 후, 각 구성블럭별로 설명한다.
여기서, CLK는 시스템 클럭이고, RST는 액티브 로우로 동작하는 리셋신호이다.
그리고, ID_CD는 도시되지 않은 시스템 제어부로부터 입력되는 양자화 매트릭스의 식별자(ID)와 식별자에 이어 입력되는 양자화 매트릭스 데이터(CD)이고, flag_ID는 현재 입력되는 ID_CD가 식별자(ID)인지를 나타내는 신호로서, 예컨대 flag_ID가 '하이'이면 ID_CD로 ID가 입력되는 것을 나타낸다. 여기서, ID는 부호화기에서 양자화 매트릭스를 구분하기 위하여 정의된 매트릭스 식별자로서, 이것에 의해 입력되는 양자화 매트릭스가 인트라 혹은 인터인지를 구분할 수 있다.
또한, mbs는 매크로 블럭의 시작(macroblock start)을 나타내는 신호이고, quant_scale_code와 quant_scale_type은 양자화 스케일의 값을 표시하기 위해 MPEG2에서 정의된 신호로서 MPEG권고안(MPEG IS:Table7-6)에서와 같이 quant_scale_type이 0이냐 1이냐와 5비트의 quant_scale_code값에 따라 양자화 스케일의 값이 정해진다. 이러한 값들은 도시되지 않은 레이트 컨트롤부와 시스템제어부에 의해 정해져서 본 발명에 따른 양자화기로 입력됨과 아울러 복호화단으로도 전송되어야 한다.
그리고, dc_pre는 MPEG2에서 픽쳐_코딩_익스텐션에 있는 2비트의 신호로서, 인트라 블록에서 DC 계수의 크기(정밀도)를 나타낸 것으로 예컨대, 0이면 DC계수가 8비트로 표현된 것을 나타내고 3이면 11비트로 표현된 것을 나타낸다.
또한, data_even 및 data_odd는 이산여현 변환기로부터 입력되는 2픽셀 단위의 데이터이고, Quant_even 및 Quant_odd는 입력된 2픽셀의 데이터가 양자화되어 출력되는 데이터를 나타낸다.
제3도에 있어서, 램(26)은 도시되지 않은 시스템 제어부로부터 입력되는, 사용자 정의에 의한 매트릭스나 디폴트 매트릭스를 저장하기 위한 메모리로서, 앞서 설명한 바와 같이 인트라 양자화 매트릭스와 인터 양자화 매트릭스로 구분되므로 이들을 각각 저장하기 위하여 적어도 2개의 64워드(8비트) 메모리뱅크가 필요하게 된다.
그런데, 본 발명이 적용되는 부호화기에서는 처리속도를 향상시키기 위하여 2픽셀씩 처리하도록 되어 있으므로 양자화 매트릭스도 2개씩 입력되고, 이산여현 변환된 데이터도 2픽셀씩 입력된다. 따라서, 양자화처리를 2픽셀단위로 동시에 처리하기 위해서는 한쌍의 매트릭스를 읽어낼 필요가 있는데, 8비트 64워드를 하나의 램으로 구현할 경우 동일 메모리의 다른 어드레스에 저장된 한쌍의 매트릭스 데이터를 동시에 억세스할 수 없다.
이에 본 발명에 따른 램(26)에서는 64워드의 메모리를 2개 더 사용하여(즉, 모두 4개의 64워드 메모리뱅크를 사용) 지그재그방식으로 저장된 데이터를 얼터네이트방식으로 읽을 경우에 한쌍의 매트릭스 데이터가 동일한 메모리에 저장되면 여분의 메모리에 저장된 데이터를 선택하도록 한 것이다. 이와 같이, 여분의 메모리를 사용하면 메모리 용량은 2배로 증가되나 램 컨트롤러가 간단해지는 잇점이 있다. 이때, 본 발명에서는 2픽셀씩 처리하기 위하여 16비트 단위로 처리하므로 8비트, 64워드를 16비트, 32워드의 메모리로 구현한다.
따라서, 제4도에 도시된 바와 같이 본 발명의 램(26)은 4개의 메모리뱅크로 구성되는데, 이중에서 제1메모리뱅크(RAM0)는 인트라 매트릭스를 저장하기 위한 것이고, 제2메모리뱅크(RAM1)는 인터 매트릭스를 저장하기 위한 것이며, 제3메모리뱅크(RAM2)는 제1메모리뱅크(RAM0)와 동일한 매트릭스 데이터를 저장하고 있고, 제4메모리뱅크(RAM3는 제2메모리뱅크(RAM1)와 동일한 매트릭스 데이터를 저장하고 있다.
이때, 각 메모리 뱅크는 64개의 매트릭스(각 8비트 단위임)를 저장하기 위하여 8비트 64워드의 메모리가 요구되나, 본 발명에 따른 메모리뱅크는 매트릭스 데이터가 16비트단위(즉, 2개씩)로 입력되므로 이를 그대로 저장하기 위하여 16비트 32워드의 메모리를 사용한다. 따라서, 제1 내지 제4메모리뱅크(RAM0~RAM3)는 16비트 32워드의 메모리로 각각 구현되어 입력되는 매트릭스쌍을 제1카운터의 출력(00~1F)에 따라 그대로 순차적으로 저장한다. 즉, 제1메모리뱅크(RAM0)는 어드레스버스(addla)에 의해 억세스되어 16비트의 데이터버스(datal)를 통해 데이터를 입출력하고 제2메모리뱅크(RAM1)는 어드레스버스(addla)에 의해 억세스되어 16비트의 데이터버스(data2)를 통해 데이터를 입출력하며, 제3메모리뱅크(RAM2)는 어드레스버스(addlb)에 의해 억세스되어 16비트의 데이터버스(data3)를 통해 데이터를 입출력하고, 제4메모리뱅크(RAM3)는 어드레스버스(addlb)에 의해 억세스되어 16비트의 데이터버스(data4)를 통해 데이터를 입출력한다.
또한, 램 컨트롤러(30)는 시스템 클럭(CLK)과 리셋(RST) 신호에 따라 동작하여 ID_CD를 통해 입력되는 양자화 매트릭스를 램(26)에 저장하고, 램(26)에 저장된 양자화 매트릭스를 읽어 연산제어부(32)로 출력하기 위한 것이다.
이러한 램 컨트롤러(30)는 제4도에 도시된 바와 같이, 제1카운터(10), 제2카운터(12), PLA(14), 제1멀티플랙서(22), 제2멀티플랙서(24), CAT(20)로 구성되어 플래그_아이디(flag_ID)가 하이(high)인 동안 아이디_시디(ID_CD)를 통해 입력된 ID를 해석하여 어느 양자화 매트릭스인지를 식별한 후, 이어서 입력되는 양자화 매트릭스(CD:Customer Data)를 상기 램(26)의 해당 메모리뱅크에 저장함과 아울러 매크로블럭의 시작신호(mbs)에 동기되어 메모리뱅크에 저장된 매트릭스를 읽어 연산제어부(32)로 출력한다. 그리고, 도면에는 자세히 도시되지 않았으나 모든 메모리는 리드/라이트를 위한 제어신호와 출력을 인에이블시키기 위한 제어신호등을 포함하고 있으며, 이와 같은 매모리 제어신호들은 통상 램 컨트롤러에서 해당 램이 선택될 때 제공되어야 한다.
제4도에 있어서, 램 컨트롤러(30)의 제1카운터(10)는 시스템제어부로부터 입력되는 매트릭스 데이터를 메모리에 저장하기 위한 라이트 어드레스 발생부이고, 제2카운터(12)와 PLA(14) 및 제1멀티플랙서(22)는 램(26)에 저장된 매트릭스를 읽어가기 위한 리드 어드레스 발생부이며, 제2카운터(12)와 CAT(20) 및 제2멀티플랙서(24)는 리드 어드레스에 의해 읽힌 데이터를 결합하여 스캔방식에 따라 적절하게 출력하기 위한 데이터결합부이다.
즉, 제1카운터(10)는 리세트신호(RST)에 의해 카운트값을 클리어시킨 후 클럭(CLK)에 따라 00부터 1F까지 카운트하여 라이트 어드레스를 발생한다. 이때, 라이트 어드레스를 발생하기 전에 먼저 플래그_아이디(flag_ID)가 하이(high)인 동안 아이디_시디(ID_CD)를 통해 입력되는 ID데이터를 해석하여 인트라 또는 인터 매트릭스인지를 확인한 후, ID가 맞으면 클럭에 따라 카운트값을 출력하여, 이 ID에 이어서 입력되는 매트릭스 데이터(CD)를 16비트씩 구분하여 해당 메모리뱅크의 해당 어드레스에 저장하게 한다. 이때, ID_CD를 통해 입력되는 양자화 매트릭스는 지그재그방식으로 로딩되어 메모리에 순차적으로 저장된다.
또한, 제2카운터(12)는 리세트신호(RST)에 의해 카운트값을 클리어시킨 후 클럭(CLK)신호에 따라 카운트하는데, 매크로블록 시작신호(mbs)의 상승신호가 검출된 후 카운트 출력(카운터 시퀀스 스트림:counter sequence stream)을 시작하여 변환 어드레스발생부(PLA:14)와 데이터결합부(CAT:20)로 보낸다.
그리고, 변환 어드레스발생부(PLA:14)는 제2카운터(12)의 출력에 따라 지그재그방식으로 저장된 양자화 매트릭스를 얼터네이트방식으로 변환하기 위한 리드 어드레스를 발생함과 아울러 지그재그방식의 리드 어드레스를 제2카운터(12)로부터 입력받아 출력하고, 제1멀티플랙서(22)는 도시되지 않은 시스템제어부로부터 스캔방식신호(zz_alter)를 입력받아 얼터네이트방식의 리드 어드레스나 지그재그방식의 리드 어드레스를 선택하여 램(26)으로 출력한다.
예컨대, 스캔방식 신호가 0으로서 이산여현 변환기(DCT)로부터 양자화기의 연산부(34)로 입력되는 데이터가 지그재그방식이면, 램(26)에 저장된 양자화 매트릭스도 지그재그 스캔방식으로 저장되어 있으므로 제1멀티플랙서(22)는 램(26)을 읽기 위한 순차적인 어드레스(카운터의 출력)를 선택하여 양자화 매트릭스를 읽어 가게 한다. 반대로 스캔방식신호(zz_alter)가 1로서 이산여현 변환기로부터 양자화기의 연산부(34)로 입력되는 데이터가 얼터네이트방식이면, 제1멀티플랙서(22)는 램(26)에 저장된 매트릭스를 얼터네이트 스캔방식으로 읽기 위한 어드레스를 선택하여 램(26)으로부터 양자화 매트릭스를 읽어 가게 한다.
이와 같이, 지그재그방식으로 램(26)에 저장된 매트릭스를 얼터네이트방식에 적합하게 읽어 내기 위해 PLA가 제2카운터의 출력(카운터 값)에 따라 발생하는 리드 어드레스는 다음 표 3과 같다.
상기 표 3에 있어서, 카운터값이 00~1F로 변할 때 제1메모리뱅크나 제2메모리뱅크로 출력되는 어드레스는 이고, 제2메모리뱅크나 제3메모리뱅크로 출력되는 어드레스는 이다. 상기 표 3에서, --는 돈 케어(don't care)이다.
한편, 제2멀티플랙서(24)는 시스템 제어부로부터 입력되는 코딩식별신호(inter_intra)에 따라 인트라 코딩방식이면 인트라 양자화 매트릭스가 저장된 제1메모리뱅크(RAM0)와 제3메모리뱅크(RAM2)의 출력(data1,3)을 선택하고, 인터코딩방식이면 인터 양자화 매트릭스가 저장된 제2 및 제4메모리뱅크(RAM1, RAM3)의 출력(data2,4)을 선택한다.
또한, 데이터결합부(CAT:20)은 얼터네이트방식으로 데이터를 리드할 경우에 제2멀티플랙서(24)가 출력하는 각 메모리뱅크의 16비트 데이터 중에서 제2카운터의 출력에 따라 상위 혹은 하위의 8비트를 선택한 후, 이를 합해 16비트 매트릭스 데이터를 만들어 연산제어부(32)로 출력한다. 이때, 지그재그방식으로 데이터를 리드할 경우에는 해당 메모리뱅크에 저장된 매트릭스쌍 데이터(16)비트를 순차적으로 출력하면 된다.
예컨대, 인트라 블록을 양자화할 경우에 시스템제어부로부터 입력되는 코딩식별신호(inter_intra)가 1이면(본 발명의 실시예에서 inter_intra가 1이면 인트라 코딩방식으로 정의한다) 이에 따라 제2멀티플랙서(24)는 제1메모리뱅크(RAM0)와 제3메모리뱅크(RAM2)의 출력(data1,3)을 선택한다.
이어서 입력 영상 데이터가 지그재그 스캔방식일 경우에는 CAT(20)는 제1메모리뱅크(RAM0)의 16비트 출력(제2메모리뱅크의 출력도 동일함)을 그대로 출력하고, 입력 영상 데이터가 얼터네이트방식일 경우에는 다음 표 4와 같이 제2카운터(12)의 출력에 따라 메모리뱅크의 출력을 결합한다.
상기 표 4에 있어서, CAT(20)는 제2카운터(12)의 출력에 따라 제1 및 제3메모리뱅크나 제2 및 제4메모리뱅크의 출력 중 상위 혹은 하위바이트를 선택하여 결합한다.
한편 제3도에 있어서, 연산부(34)는 양자화기에서 수행되는 연산을 실제적으로 처리하는 부분으로서, 입력 영상 데이터를 양자화 매트릭스와 양자화 스케일값으로 나누어 양자화를 수행한다. 그런데, 일반적으로 나눗셈 연산을 수행하기 위해서는 하드웨어가 복잡해지고 처리속도가 늦어지므로, 본 발명이 적용되는 양자화기에서는 나눗셈할 데이터들의 역수를 연산제어부(32)에서 미리 구한 후 연산부(34)에서는 이를 곱셈에 의해 처리하도록 되어 있다.
즉, 연산제어부(32)는 리셋 및 시스템 클럭에 따라 작동되어 램 컨트롤러(32)로부터 입력되는 짝수/홀수 매트릭스의 역수를 계산하여 각각 출력하고, 시스템제어부로부터 입력되는 양자화 타입과 양자화 코드로부터 양자화 스케일값을 계산한 후 그 역수를 구하여 짝수/홀수로 나누어 출력하고, 시스템제어부로부터 dc_prec을 입력받아 소정의 DC값을 계산한 후 그 역수를 구한다.
상기 연산부(34)는 이산여현 변환기로부터 소정 방식으로 스캔되어 입력되는 한쌍의 데이터에 연산제어부로부터 입력되는 양자화 스케일의 역을 곱하고, 이어서 이 결과에 양자화 매트릭스의 역을 곱한 후 라운딩 처리하여 양자화된 짝수/홀수 데이터를 출력한다. 이때 연산부에서는 입력되는 한쌍의 데이터(data_even, data_odd)를 컨트롤러(32)로부터 입력되는 한쌍의 데이터들과 파이프라인방식으로 곱산하여 처리속도를 향상시킬 수 있게 함과 아울러 본 발명에 의해서 데이터의 스캔방식에 따라 매트릭스 순서도 매칭되어 양자화가 수행되게 된다.
한편, 본원 청구범위의 각 구성요건에 병기된 도면 참조부호는 본원 발명의 이해를 용이하게 하기 위한 것으로, 본원 발명의 기술적 범위를 도면에 도시한 실시예로 한정할 의도에서 병기한 것은 아니다.
이상 설명한 바와 같이 본 발명에 의하면, 지그재그 스캔방식과 얼터네이트 스캔방식으로 입력되는 영상 매트릭스 데이터에 대해 양자화가 수행되고, 16비트의 매트릭스가 저장되는 램을 이용함으로써 램 컨트롤러의 부피가 축소되어 양자화기의 크기가 축소될 수 있게 된다.

Claims (5)

  1. 소정의 양자화 매트릭스가 지그재그방식으로 다운 로딩되어 램(26)에 저장된 것을 소정의 스캔방식으로 입력되는 영상 데이터의 스캔방식에 따라 램 컨트롤러(30)가 적절하게 어드레싱하여 읽어 오고, 읽어온 상기 양자화 매트릭스의 역수 및 시스템제어부로부터 입력되는 양자화 스케일값의 역수를 연산제어부(32)에서 구한 후, 이 역수들과 입력된 상기 영상 데이터를 연산부(34)에서 연산하여 양자화하도록 된 양자화기에 있어서, 상기 램 컨트롤러(30)가,소정의 양자화 매트릭스를 상기 램에 저장하기 위한 라이트 어드레스를 발생하는 라이트 어드레스 발생수단; 양자화를 위한 매크로블럭이 시작되면 상기 램에 저장된 양자화 매트릭스를 읽어오기 위해 스캔방식에 따라 해당 리드 어드레스를 발생하는 리드 어드레스 발생수단; 및 상기 리드 어드레스 발생수단에 의해 억세스된 램이 출력하는 데이터를 코딩방식 및 스캔방식에 따라 결합하여 상기 연산제어부로 출력하는 데이터결합수단으로 구성되고, 상기 램(26)이 인트라 양자화 매트릭스를 저장하기 위한 제1 및 제3메모리뱅크; 인터 양자화 매트릭스를 저장하기 위한 제2 및 제4메모리뱅크로 구성된 것을 특징으로 하는 양자화기.
  2. 제1항에 있어서, 상기 라이트 어드레스 발생수단이 리셋신호에 따라 카운트값을 클리어하고 플래그 아이디(flag_ID)가 하이일 경우 매트릭스 식별자(ID)를 해석하여 양자화 매트릭스를 판별한 후 클럭(CLK)에 따라 카운트하여 라이트 어드레스를 발생하는 제1카운터(10)로 구성된 것을 특징으로 하는 양자화기.
  3. 제1항에 있어서, 상기 리드 어드레스발생수단이 매크로블럭시작신호(mbs)에 따라 클럭(CLK)에 의해 카운트되는 제2카운터(12); 지그재그방식으로 램(26)에 저장된 양자화 매트릭스를 상기 제2카운터(12)의 출력에 따라 얼터네이트방식으로 읽어가기 위한 어드레스를 발생하는 프로그래머블로직어레이(PLA:14); 스캔방식에 따라 상기 PLA(14)에서 발생하는 리드 어드레스나 상기 제2카운터(12)의 출력에 따른 순차적인 어드레스중 하나를 선택하는 제1멀티플랙서(22)로 구성된 것을 특징으로 하는 양자화기.
  4. 제1항에 있어서, 상기 데이터결합수단이 코딩방식(inter_intra)에 따라 상기 램(26)에 저장된 인트라 양자화 매트릭스나 인터 양자화 매트릭스중 하나를 선택하는 제2멀티플랙서(24)와; 얼터네이트방식으로 영상 데이터가 입력될 경우 상기 제2카운터(12)의 출력에 따라 상기 제2멀티플랙서(24)의 출력을 선택 및 결합하여 매트릭스 데이터를 출력하는 결합기(CAT:20)로 구성된 것을 특징으로 하는 양자화기.
  5. 제1항에 있어서, 상기 제1 내지 제4메모리뱅크는 16비트 32워드의 램으로 각각 구성된 것을 특징으로 하는 양자화기.
KR1019960016003A 1996-05-14 1996-05-14 양자화기 KR100210383B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1019960016003A KR100210383B1 (ko) 1996-05-14 1996-05-14 양자화기
EP19970303247 EP0808069B1 (en) 1996-05-14 1997-05-13 A Quantizer for video signal encoding system
DE1997621373 DE69721373T2 (de) 1996-05-14 1997-05-13 Quantisierer für ein Videokodierungssystem
US08/854,945 US5881177A (en) 1996-05-14 1997-05-14 Quantizer for video signal encoding system
JP12415197A JP4117044B2 (ja) 1996-05-14 1997-05-14 映像信号符号化システムにおける量子化器
CN97104264A CN1126375C (zh) 1996-05-14 1997-05-14 视频信号编码系统的量化器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960016003A KR100210383B1 (ko) 1996-05-14 1996-05-14 양자화기

Publications (2)

Publication Number Publication Date
KR970078641A KR970078641A (ko) 1997-12-12
KR100210383B1 true KR100210383B1 (ko) 1999-07-15

Family

ID=19458644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960016003A KR100210383B1 (ko) 1996-05-14 1996-05-14 양자화기

Country Status (1)

Country Link
KR (1) KR100210383B1 (ko)

Also Published As

Publication number Publication date
KR970078641A (ko) 1997-12-12

Similar Documents

Publication Publication Date Title
JP4216341B2 (ja) イメージ処理システムにおけるピクセルブロック圧縮装置
US8126282B2 (en) Image encoding apparatus and image decoding apparatus
JP5399416B2 (ja) 参照フレームの圧縮を伴うビデオ符号化システム
US10225569B2 (en) Data storage control apparatus and data storage control method
WO2004104930A2 (en) Hybrid video compression method
KR20000057295A (ko) 재압축을 사용하는 메모리 관리 시스템을 위한 영상 요소 프로세서
KR19990036188A (ko) 부호화된 디지탈 비디오 신호의 복호화 방법 및 장치
JP7130708B2 (ja) 画像の符号化及び復号方法、画像の符号化及び復号デバイス、及びこれに対応するコンピュータプログラム
US7319794B2 (en) Image decoding unit, image encoding/ decoding devices using image decoding unit, and method thereof
WO2000025522A1 (en) Reduced-memory video decoder for compressed high-definition video data
US6298087B1 (en) System and method for decoding a variable length code digital signal
US7843993B2 (en) Moving picture encoding apparatus having increased encoding speed and method thereof
KR19990068991A (ko) 비디오 디코딩 시스템
KR100313217B1 (ko) 파이프라인dct장치
EP0920204A1 (en) MPEG2 decoder with reduced RAM requisite by recompression using adaptive tree search vector quantization
KR100549208B1 (ko) 메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법
KR100656105B1 (ko) 복호화 장치 및 방법
EP1083752A1 (en) Video decoder with reduced memory
KR20020026189A (ko) 고정된 비율 압축을 이용하는 효율적인 비디오 데이터엑세스
KR100210383B1 (ko) 양자화기
KR100230251B1 (ko) 동영상 부호화장치에 있어서 신호처리방법 및 회로
KR100210384B1 (ko) 양자화기
WO2021263251A1 (en) State transition for dependent quantization in video coding
WO2001071650A1 (en) Method and apparatus for run-length encoding video data
KR100202957B1 (ko) 양자화기

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
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee