KR960003648B1 - 화상데이타 처리방법 및 장치 - Google Patents

화상데이타 처리방법 및 장치 Download PDF

Info

Publication number
KR960003648B1
KR960003648B1 KR1019910013213A KR910013213A KR960003648B1 KR 960003648 B1 KR960003648 B1 KR 960003648B1 KR 1019910013213 A KR1019910013213 A KR 1019910013213A KR 910013213 A KR910013213 A KR 910013213A KR 960003648 B1 KR960003648 B1 KR 960003648B1
Authority
KR
South Korea
Prior art keywords
coefficient
conversion
inverse
transform
storage means
Prior art date
Application number
KR1019910013213A
Other languages
English (en)
Other versions
KR920003157A (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
Priority claimed from JP20126090A external-priority patent/JP2923527B2/ja
Priority claimed from JP21337890A external-priority patent/JP2839942B2/ja
Priority claimed from JP25948490A external-priority patent/JP2802158B2/ja
Priority claimed from JP33291990A external-priority patent/JP2592182B2/ja
Application filed by 후지쓰 가부시끼가이샤, 세끼자와 다다시 filed Critical 후지쓰 가부시끼가이샤
Publication of KR920003157A publication Critical patent/KR920003157A/ko
Application granted granted Critical
Publication of KR960003648B1 publication Critical patent/KR960003648B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/169Methods 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/17Methods 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/176Methods 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
    • 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/169Methods 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/18Methods 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 a set of transform coefficients
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

내용 없음.

Description

화상데이타 처리방법 및 장치
제1도는 ADCT 방법에 의한 코딩 회로의 블록도.
제2도는 2차원 DCT 장치에 의해 수신된 원화상에 대한 모범데이타를 나타낸 도.
제3도는 공간주파수 분포를 나타낸 모범 DCT 계수를 나타낸 도.
제4도는 2차원 DCT 장치의 블록도.
제5도는 DCT 계수에 대한 역치 테이블.
제6도는 양자화된 DCT 계수의 테이블.
제7도는 생성된 양자계수를 지그자그(zigzag) 형태로 주사하는 순서를 나타낸 도.
제8도는 ADCT 방법에 의한 디코딩 회로의 블록도.
제9도는 ADCT 디코딩 회로의 2차원 역 DCT 장치의 블록도.
제10도는 종래의 선형 양자화 회로의 블록도.
제11도는 가변길이 코더의 구성도.
제12도는 본 발명인 제1실시예내의 역 DCT 장치의 원리를 나타낸 예시도.
제13a도 및 제13b도는 0값으로 디코드된 역양자화 DCT 계수분포를 지시하는 제어플래그의 예시도.
제14도는 플래그 설정연산의 흐름도.
제15도는 블록내에 역양자화 DCT 계수가 디코드된 0값의 모범적 분포를 나타낸 도.
제16a도 및 제16b도는 제15도에 도시된 예에서 얻어진 제어플래그의 예시도.
제17도는 본 발명인 제2실시예내의 역 DCT 장치의 원리를 나타낸 도.
제18a도 및 제18b도는 블록도에 도시된 작용을 요약하는 흐름도와 함께 제2실시예내의 역 DCT 장치의 구성을 상세하게 나타낸 도.
제19도는 제18도에 도시된 1차원 역 DCT 장치의 상세 블록도.
제20도는 제19도에 도시된 1차원 역 DCT 장치의 연산스텝을 나타낸 도.
제21도는 본 발명인 제3실시예내의 역 DCT 장치의 원리를 나타낸 도.
제22도는 제3실시예내의 역 DCT 장치의 구성을 나타낸 상세도.
제23도는 본 발명인 제4실시예내의 역 DCT 장치의 원리를 나타낸 도.
제24도는 역 DCT 장치를 이용한 화상 데이타 재구성장치의 구성도.
제25도는 역 DCT 장치의 실시예에서 제1의 1차 직교변환부의 실시예에 대한 구성도.
제26도는 제25도에서 설명된 연산처리기의 상세 구성도.
제27도는 역 DCT 장치의 실시예에서 제2의 1차원 직교변환부의 실시예에 대한 구성도.
제28도는 역 DCT 장치의 다른실시예의 구성도.
제29도는 열어드레스 및 플래그 사이의 관계를 나타낸 도면.
제30도는 제4실시예에 도시된 연산처리기의 연산에 대한 흐름도.
제31도는 제32도에 도시된 DCT 계수에 관한 1차원 역 DCT 변환의 파이프라인을 나타낸 도면.
제32도는 역 양자화된 DCT 계수를 나타낸 도.
제33도는 변환 결과의 예를 나타낸 도면.
제34도는 열어드레스 및 플래그 사이의 관계를 나타낸 도.
제35도는 본 발명인 제5실시예에서의 양자화된 변환계수를 코딩시키기 위한 장치의 원리를 나타낸 도.
제36도는 본 발명인 제6실시예에서의 디코딩 회로의 구성도.
제37도는 본 발명인 제5실시예에서의 ADCT 방법에 의한 코딩 회로의 구성도.
제38a도, 제38b도 및 제38c도는 본 발명의 제5실시예에 사용된 DCT 계수기억부의 구성도 및 데이타 흐름도.
제39도는 본 발명의 제6실시예에서의 ADCT 방법에 의한 화상재구성원리를 나타낸 도.
제40도는 본 발명의 제5 및 제6실시예에서의 1차원 DCT 장치의 구성도.
본 발명은 화상데이타를 압축시키기 위한 화상데이타 코딩장치, 압축된 데이타로부터 화상을 재구성시키기 위한 화상데이타 재구성 방법 및 장치에 관한 것이다.
특히, 본 발명은 연속 톤 화상을 각각 다수의 화소로 이루어진 블록으로 분할시킨 후, 각 블록내의 화소를 직교변환시키므로써 연속 톤 화상을 코딩시키기 위한 코딩장치 및 직교변환된 코딩데이타로부터 화상을 재구성시키기 위한 화상데이타 재구성 방법 및 장치에 관한 것이다.
각 화소에 대한 그라디언트값은 디지탈 데이타, 특히 그레이스케일 화상데이타 및 색상화상데이타를 고속으로 그리고 양질로 기억시키거나 전송시키기 위해 매우 효율적으로 코딩될 필요가 있으며, 이들의 화상데이타의 정보양은 코딩된 수치데이타보다 몇개의 디지트만큼 더 크다.
통상적으로 화상데이타를 압축시키기 위한 고효율 방법으로 예컨대, 적응 이산 코사인 변환코딩방법이 이용된다.
다음은 적응 이산 코사인 변환코딩방법(간단히 ADCT ; Adaptive Discrete Cosine Transform)에 대해 설명한다.
ADCT 방법에 따라, 화상은 8×8 화소로 이루어진 블록으로 분할된다.
공간주파수의 분포를 나타내는 DCT 계수는 분할된 각 블록으로부터 화상신호에 대하여 2차원 이산코사인변환(이후에는 간략히 DCT로 언급)을 수행하므로써 결정된다.
화상신호는 시각에 대응하는 역치를 사용하여 DCT 계수를 양자화하고 양자화된 계수로부터 통계적으로 얻어진 허프만(Huffman) 테이블에 따라 코딩된다.
제1도는 ADCT 방법에 의한 코딩 회로의 블록도이다.
제2도는 2차원 DCT 장치에 의해 수신된 원화상에 대한 모범 데이타(exemplary data)를 나타낸다.
제3도는 공간주파수 분포를 나타내는 모범 DCT 계수를 나타낸다.
ADCT 방법에 의한 코딩 연산은 아래에서 언급된다.
2차원 DCT 장치(24)는, 제2도에 도시된 바와같이, 8×8 화상요소로 이루어진 하나의 블록에 대해 입력단자(23)로부터 64개의 화상신호를 수신한다.
수신된 화상신호를 직교변환시키므로써 2차원 DCT 장치(24)는 화상신호를 제3도에 도시된 바와같이 공간주파수 분포를 갖는 계수로 변환하며, 이에 의해 DCT 계수가 계산되어, 선형 양자화기(25)로 출력된다.
제4도는 2차원 DCT 장치(24)의 블록도이다.
1차원 DCT 장치(30)는 입력단자(23)로부터 입력된 화상신호에 대한 1차원 DCT를 수행한다. 전치기(transposer)(31)는 1차원 DCT 장치(30)로부터 얻어진 행렬을 전치시킨다.
1차원 DCT 장치(32)는 앞에서 언급된 1차원 DCT 장치(30)와 함께 1차원 DCT를 수행한다.
상술된 전치기(31)와 함께, 전치기(33)는 1차원 DCT 장치(32)에서 얻어진 행렬을 전치시켜 이를 단자(34)에 출력한다.
모든 화상블록에 대한 유사한 성능에 의해, 입력된 화상신호는 DCT 계수로 변환된다.
제5도는 블록내 DCT 계수에 대한 역치테이블을 나타낸다.
제6도는 양자화된 모범 DCT 계수의 테이블을 나타낸다.
제1도를 다시 참조하여 상세한 설명이 행하여진다.
선형 양자화기(25)는, 제5도에 도시된 바와같이, 광학적으로 결정된 역치로 이루어진 양자행렬에 의해 입력된 DCT 계수를 양자화한다.
선형 양자화는 제6도에 도시된 바와같이 양자계수를 생성하는데, 이 양자계수는 0이 되는 역치보다 DCT 계수가 더 작다는 것을 나타내며, 따라서 DC 성분과 몇개의 양자화된 AC 계수만이 0이 아닌값을 갖는 양자계수를 형성한다.
일반적으로 시각 민감도가 높을수록 공간주파수는 낮으며, 시각민감도가 낮을수록 공간주파수는 더 높게 된다.
따라서, 제5도에 도시된 바와같이, 양자와 행렬성분의 절대값 즉, 낮은 공간주파수에 대응하는 DCT 계수에 대한 역치는 더 작으며, 높은 공간주파수에 대응하는 절대값은 더 크다. 그러므로, 제6도에 도시된 바와같이 양자계수중 낮은 공간주파수를 나타내는 상부좌측의 DC 성분과 몇개의 양자화 AC 계수만이 0이 아닌값을 갖는 유효계수가 되지만, 그외 다른것은 대부분의 경우에 무효계수가 된다.
제7도는 발생된 양자계수(공간주파수의 저주파 성분으로부터 고주파 성분까지)를 주사하는 순서를 나타낸다.
선별 양자화기(25)는 제7도에 도시된 지그자그형 주사순서에 따라 2차원으로 배열된 양자계수를 1차원 형태로 변환시키며 이들을 다음단의 가변길이코더(26)로 입력시킨다.
가변길이코더(26)는 상기 양자계수를 수신하여 각 화상에 대한 통계학적 크기에 의해 생성된 허프만 테이블로 이루어진 코딩테이블(27)을 참조하므로써 발생된 양자계수를 코딩한다. 이들의 DC 성분에 대해, 현재 양자화된 DC 계수와 선행 양자화된 DC 계수사이의 차가 가변길이로 코딩딘다.
AC 성분에 대해, 유효계수(0이 아닌 계수)의 AC 성분값(이후, 인덱스(indices)로 언급)과 무효계수(0계수)의 실행길이(이후, 런(runs)으로 언급)는 가변길이로 코딩된다. 출력단자(28)는 순차적으로 외부장치에 코딩데이타를 출력한다.
한편, ADCT 방법에 의해 코딩 회로에 얻어진 코딩데이타는 다음 방법에 따라 화상으로 재구성된다.
제8도는 ADCT 방법에 의한 디코딩 회로의 블록도이다.
가변길이디코더(41)는 입력단자(40)로부터 입력된 코딩데이타를 수신한다. 가변길이디코더(41)는 수신된 코딩데이타를 고정길이의 인덱스 및 런데이타로 디코딩하며, 코딩테이블(27)로 이루어진 허프만 테이블의 역연산에 의해 형성된 디코딩테이블(42)에 따라, 디코딩된 데이타를 역양자화기(43)에 출력한다.
역양자화기(43)는 디코딩된 데이타를 수신할 때(디코딩된 양자계수) 각각의 디코딩된 데이타와 양자화 행렬(48)의 대응 위치에 기억된 역치를 곱하므로써 역양자화를 통해 역양자화된 DCT 계수를 재구성한다. 역양자화기(43)는 역양자화된 DCT 계수를 2차원 역 DCT 장치(44)에 출력한다.
2차원 역 DCT 장치(44)는 공간주파수의 분포를 나타내는 수신된 DCT 계수를 화상신호로 직교 변환한다.
2차원 역 DCT 장치(44)는 좀더 상세하게 설명된다.
제9도는 ADCT 디코딩 회로의 2차원 역 DCT 장치의 블록도이다.
1차원 역 DCT 장치(51)는 단자(50)로부터 입력된 DCT 계수에 따라 1차원 역 DCT를 수행하여 이들을 전치기(52)에 출력시킨다.
전치기(52)는 1차원 역 DCT 장치(51)로부터의 출력을 나타내는 행렬을 전치시킨다.
1차원 역 DCT 장치(53)는 다시 전치기(52)에서의 행렬전치로부터 전치된 행렬상에 1차원 역 DCT를 수행한다. 전치기(52)와 마찬가지로, 전치기(54)는 1차원 역 DCT 장치(53)로부터의 출력을 나타내는 행렬을 전치시킨다.
단자(45)는 이들 처리에 의해 얻어진 신호를 출력시키므로써 화상을 재구성한다.
상술된 ADCT 방법에 의해, 양자화 역치에 의해 DCT 계수를 양자화시키므로써 양자계수가 얻어진다. 제10도는 종래 선형 양자화 회로의 블록도이다.
단자(60)로부터 입력된 DCT 계수는 DCT 계수 수신기(64)에 공급되어 기억된다. DCT 계수 수신기(64)는 순차적으로 타이밍제어기(61)로부터 공급된 데이타를 판독하기 위한 각(RED) 신호를 수신함과 동시에 입력된 DCT 계수를 제산기(65)에 출력시킨다.
유사하게, 양자화 역치 기억부(62)는 순차적으로 타이밍제어기(61)로부터 공급된 데이타를 판독하기 위한 각(RED) 신호를 수신함과 동시에 각 기억된 데이타에 대응하는 양자화 역치를 제산기(65)에 출력시킨다.
제산기(65)는 대응 양자화 역치에 의한 각 위치에서 입력된 DCT 계수를 양자화하며, 양자화된 계수(QUD)로서의 결과를 래치(66)에 출력시킨다.
타이밍제어기(61)는 양자계수를 래치시키기 위해 래치용 래치신호(LAT)를 발생하며, 래치(66)는 실행부(런) 및 지수부(인덱스)를 판단, 분리 및 출력하는 런/인덱스 판정부(63)에 양자계수를 출력한다.
1계수가 양자화된 후, 타이밍제어기(61)는 DCT 계수 수신기(64) 및 양자화 역치 기억부(62)에 명령하여 다음 위치에서 DCT 계수를 양자화시키기 위하여 다음 위치의 DCT 계수와 양자화 역치를 판독하도록 한다.
DCT 계수 수신기(64)에 기억된 DCT 계수를 하나씩 판독하는 단계, 상기 계수를 양자화 역치 기억부(62)내에 양자화 역치로 제산하는 단계, 및 상기 결과를 블록장치내 전체 화상에 대해 양자계수로 출력시키는 단계로 이루어진 처리과정을 반복하므로써 화상에 대한 모든 DCT 계수가 양자화된다.
가변길이코더는 런/인덱스 판정부(63)에서 양자계수로부터 분리된 런 및 인덱스를 수신한다. 제11도는 가변길이코더의 구성을 나타낸다.
가변길이코더(67)는 코딩제어기(69)와 코드비트시프터(70)로 이루어진다.
코딩제어기(69)는 런과 인덱스를 수신하며 상술된 허프만 테이블인 코딩테이블(68)을 사용함으로써 코딩된 신호를 얻게되며, 이들을 코드비트시프터(70)로 입력한다.
코드비트시프터(70)는 지시된 비트수 만큼 코딩된 신호를 이동시켜 이들을 코드데이타로 출력한다.
제9도에 도시된 종래의 1차원 DCT 장치(51)(53)는 블록이 8×8 화소로 이루어질 때 열내에 8개 화소에 대해 방정식(0 내지 8)으로 표현된 행렬계산에 의한 역 DCT 연산을 수행함으로써 열내 화상을 재구성시킨다. 방정식(0 내지 8)에서, 열 행렬성분(X11 내지 X81)은 열내 DCT 계수를 나타내며, 열 행렬성분(Y11 내지 Y81)은 열내 재구성화상신호를, 정방행렬성분(A11 내지 A88)은 변환정수를 나타낸다.
[방정식 0]
[방정식 1]
[방정식 2]
[방정식 3]
[방정식 4]
[방정식 5]
[방정식 6]
[방정식 7]
[방정식 8]
CPU는 상술된 바와같이 화상데이타를 코드하고 디코드한다.
즉, CPU는 직렬로 입력된 데이타를 처리하고 순차적으로 2차원 DCT, 선형 양자화 및 블록 단위 또는 화상단위의 가변길이로 코딩 또는 디코딩 과정을 수행한다.
그러므로, 코딩 및 디코딩 과정에서 너무 많은 시간을 필요로 하고 실시간상에서의 처리가 이루어지지 못한다는 내재적인 문제가 발생된다.
너무많은 시간을 요하는 문제점이 심각한데, 이는 DCT 계수가 화상으로 재구성될 때 역 DCT가 모든 블록내의 DCT 계수상에서 수행되기 때문이다.
그러므로, 8×8 화소로 이루어진 블록에 대한 역 DCT는 8×8 행렬승산 작용이 된다. 화소에 대한 각 연산집합이 대응 행렬성분 사이의 8번 승산과 8개 결과의 7번 가산으로 이루어지기 때문에, 블록내 모든 8×8 화소에 대한 결과 행렬의 계산은 전체 512번의 승산과 448번의 가산을 수행한다. 이는 화상내의 모든 블록에 대한 역 DCT가 신속히 화상재구성을 하지 못한다는 문제점을 야기시킨다.
8세트의 연산회로를 갖는 역 DCT 장치(51)(53)를 형성하므로써 처리를 신속히 할 수 있다해도, 이는 역 DCT 장치회로(51)(53)가 더 커지게 되며, 따라서 화상재구성장치 역시 커지게 된다.
본 발명은 고속으로 연산하는 화상데이타 코딩 및 디코딩장치 및 소형 회로로 고속처리를 수행할 수 있는 직교변환장치를 구현시키는데 목적을 둔다.
본 발명은 N×N 화소로 이루어진 각 블록에 대한 화상데이타상에 2차원 DCT를 수행하므로써 얻어진 결과를 양자화한 후 코딩에 의해 얻은 입력 코딩을 디코딩, 역양자화 및 2차원 역 DCT를 수행하는 화상데이타 재구성장치에 관한 것이다.
0으로 곱해진 성분을 갖는 열이 존재할 때 화상데이타 재구성장치는 연산과정을 건너뛰므로써 소형 회로에 의해서도 고속처리가 가능하게 된다. 역양자화전에 2차원 역 DCT전, 후 두개 블록의 화소를 기억시키기 위한 버퍼를 제공함으로써 입력 및 출력이 블록 단위내에서 스위치되어 파이프라인 연산에서의 처리가 신속하게 이루어진다.
또한, 1차원 역 DCT 및 행렬전치의 두가지 반복작용을 갖는 2차원 역 DCT를 수행함으로써 회로는 간결하게 이루어진다. 이는 버퍼내 1차원 역 DCT의 결과를 기억시킴으로써 구현되는데, 이에 의해 행렬전치회로를 제거할 수 있게 된다.
제12도는 본 발명인 제1실시예내의 역 DCT 장치의 원리를 나타낸다.
제1실시예는 양자계수를 코딩하여 얻은 코딩데이타로부터 화상을 재구성시키기 위한 화상데이타 재구성장치에 관한 것으로, 상기 양자계수는 원화상으로부터 분할된 다수의 화소(N×N ; 여기에 N은 양의 정수)로 이루어진 각 블록내 다수의 화소에 대한 그라디언트값에 2차원 이산 코사인 변환을 수행하므로써 얻어진 변환계수를 양자화하여 얻게 된다.
제1실시예에서의 상기 화상데이타 재구성장치는, 디코딩된 역양자화 DCT 계수를 기억시키기 위한 DCT 계수기억부(72), 디코딩한 역양자화 DCT 계수가 0인가 아닌가를 판정하는 제로검출기(73), 제로검출기의 판정결과를 기초로 N×N 역양자화 DCT 계수사이의 0계수와 0이 아닌 계수의 분포를 나타내는 플래그를 설정하기 위한 플래그 설정기(74), 입력된 역양자화 DCT 계수에 대해 역 DCT를 수행하기 위해 변환정수를 기억시키는 변환정수 기억부(76), DCT 계수기억부(72)로부터 판독된 DCT 계수상에 역 DCT를 수행하므로써 화상신호를 재구성시키는 역 DCT 장치(77), 변환정수기억부(76) 및 DCT 계수기억부(72)로부터 판독신호를 제어하기 위한 판독제어기(75)로 이루어진다.
여기에서 제로검출기(73)는 DCT 계수기억부(72)와 병렬로 연산한다. DCT 계수기억부(72) 또한 역 DCT 장치(77)와 병렬로 연산하기 때문에, DCT 계수기억부(72)는 2개 블록을 위한 DCT 계수기억영역을 갖게 되어, 하나의 블록을 나타내는 DCT 역양자화 계수는 하나의 DCT 계수기억영역내로 기록되는 반면, 다른 DCT 계수기억영역내에 이미 기록된 역양자화 DCT 계수는 동시에 판독된다.
판독제어기(75)는 플래그 설정기(74)에 의해 설정된 결과에 따라 연산하는데, 상기 플래그 설정기는 열내의 N양자화 DCT 계수가 모두 0인지 아닌지를 나타내는 제1플래그를 생성하는 제1플래그 생성기, 열의 후반부 내 N/2 역양자화 DCT 계수 모두가 0인지 아닌지를 나타내는 제2플래그를 생성하는 제2플래그 생성기, 및 제1 및 제2플래그를 사용하여 제3플래그를 생성하는 제3플래그 생성기로 이루어진다.
결과적으로 판독제어기(75)는 N역양자화 DCT 계수 모두가 0일때 DCT 계수기억부(72)내에 기억된 열내의 N역양자화 DCT 계수의 판독을 건너뛰거나, N/2 역양자화 DCT 계수 모두가 0 일때 DCT 계수기억부(72)내에 기억된 열내의 N/2 역양자화 DCT 계수의 판독을 건너뛰며, 동시에 변환정수기억부(76)내에 기억된 변환정수판독을 제어한다.
요약하면, 상술한 장치는 양자계수를 코딩하여 얻은 코딩데이타로부터 화상을 재구성시키기 위하여 아래의 화상데이타 재구성 방법을 수행하는데 상기 양자계수는 원화상으로부터 분할된 다수의 화소(N×N ; 여기에서, N은 양의 정수)로 이루어진 각 블록내 다수의 화소의 그라디언트값에 2차원 DCT를 수행함으로써 얻어진 변환계수를 양자화하여 얻게 된다.
제1실시예내의 그와 같은 화상데이타 재구성 방법은 기본적으로, N×N 디코딩된 역양자화 DCT 계수를 기억시키는 제1단계 ; N×N 역양자화 DCT 계수사이의 0계수와 0이 아닌 계수의 분포를 나타내는 플래그를 설정하는 제2단계 및, 입력된 역양자화 DCT 계수에 역 DCT를 수행하므로써 화상신호를 재구성시키는 제3단계로 이루어지며, 제2단계내의 플래그 세트에 따라 제1단계에서 기억된 역양자화 DCT 계수의 판독을 제어한다.
상기 방법은 제1단계에서 디코딩된 역양자화 DCT 계수를 기억시키는 것과 병행하여 역양자화 DCT 계수가 0인지 아닌지를 판정하는 제4단계를 더 포함한다.
제4단계에서의 판정결과에 따라, 제2단계에서는 N×N 역양자화 DCT 계수사이의 0계수와 0이 아닌 계수의 분포를 나타내는 플래그가 설정된다.
제3단계에서는 플래그에 따른 판독제어에 의한 역 DCT를 수행한다. 플래그가 열내의 모든 역양자화 DCT 계수 또는 절반이 0이라는 것을 지시할 때, 역 DCT에 관련된 연산은 건너뛰게 된다.
화상데이타 재구성 장치에서, 디코딩된 DCT 역양자화 계수값이 0 일때, 이들 계수에 역 DCT 연산을 수행한 결과는 0이 된다.
그렇기 때문에, 0계수에 대해 어떠한 연산에 필요하지 않는다는 사실을 이용하므로써, 0계수 및 0이 아닌 계수의 분포를 나타내는 플래그를 설정하므로써, 그리고 플래그내에 설정된 값에 대한 역 DCT 연산을 수행하기 위해 역양자화 DCT 계수의 번호를 제어하므로써 역 DCT 연산의 수가 크게 감소되며 따라서 화상 재구성 속도가 개선된다.
제12도를 사용하여 작용에 대해 더욱 상세히 설명할 것이다.
본 발명의 제1실시예내의 화상데이타 재구성장치는 제1도 및 제4도에 도시된 ADCT 방법에 의해 코딩장치에 얻어진 코디데이타를 재구성시키기 위한 재구성 회로이며, 특히, 2차원 역 DCT 장치에 관한 것이다.
본 발명에서 형성된 제1블록은 8×8 화소에 의해 구성된다.
제3도에 도시된 바와같은 8×8 화소로 이루어진 하나의 블록에 대한 DCT 계수는 제8도에 도시된 가변길이디코더(41)에 의해 디코딩된 후 역양자화기(43)에 의해 역양자화된다.
디코딩된 역양자화 DCT 계수는 순차적으로 단자(71)로부터 입력되어 DCT 계수기억부(72)로 공급된다.
제로검출기(73)는 디코딩된 역양자화된 DCT 계수가 0인지 아닌지를 검출하고, 검출된 결과를 플래그 설정기(74)에 출력시킨다.
플래그 설정기(74)는 제13a도 및 13b도에 도시된 두 종류의 제어플래그 A, B를 갖는데, 이는 0값의 디코딩 역양자화 DCT 계수의 분포를 나타낸다.
제13a도 및 13b도는 0값의 디코딩 역양자화 DCT 계수의 분포를 지시하는 제어플래그를 나타낸다.
제13a도에 도시된 제어플래그 A(제1플래그)는 한 블록의 n번째 열내의 8개의 디코딩 역양자화 DCT 계수 모두가 0인지 아닌지를 지시한다.
여기에서 n(1 내지 8)은 열의 번호를 나타낸다.
즉, 1비트로 이루어진 플래그 데이타가 열을 지시하는 플래그 번호(1 내지 8)에 대해 설정된다. 이때, 플래그 데이타는 다음과 같이 표시된다.
비트 0 ; 열내의 디코딩 역양자화 DCT 계수가 모두가 0이다.
비트 1 ; 열내의 디코딩 역양자화 DCT 계수중 최소한 1개가 0은 아니다.
제13b도에 도시된 제어플래그 B(제2플래그)는 한 블록의 n번째 열내의 8개 디코딩 역양자화 DCT 계수중 후반부 4개의 DCT 계수 모두가 0인지 아닌지를 지시한다.
즉, 1비트로 이루어진 플래그 데이타가 열을 지시하는 플래그 번호(1 내지 8)에 대해 설정된다. 이때, 플래그 데이타는 다음과 같이 표시된다.
비트 0 ; 열후반부내의 디코딩 역양자화 DCT 계수중 최소한 한개가 0은 아니다.
비트 1 ; 열후반부내의 디코딩 역양자화 DCT 계수 모두가 0이다.
제14도는 플래그 설정연산의 흐름을 나타낸다.
제14도에 도시된 연산흐름은 플래그 설정기(74)의 플래그 설정연산을 통제한다.
스텝 S1에서, 제어플래그는 A=0과 B=1의 상태로 초기화되는데 이는 열내의 역양자화 DCT 계수 모두가 0이라는 것을 나타낸다.
스텝 S2에서, DCT 계수기억부(72)는 최초로 판독되는 제1열의 헤드단의 역양자화 DCT 계수를 기억한다.
스텝 S3에서, 제로검출기의 검출결과가 0인지 아닌지를 판정한다. 역양자화 DCT 계수가 0인 경우, 처리는 스텝 S4로 진행한다. 0이 아닌경우, 처리 스텝 S6을 건너뛴다.
스텝 S4에서, 열내의 역양자화 DCT 계수의 번호를 지시하는 카운터 i가 마지막 8에 도달되었는가의 여부를 판정된다. 도달된 경우, 처리는 종료된다. 도달하지 않은 경우, 처리는 스텝 S5로 진행한다.
스텝 S5에서 카운터 i는 1씩 증가되며 처리는 스텝 S2로 되돌아가며, 거기에서 i=1 이외는 제2의 역양자화 DCT 계수가 판독된다. 역양자화 DCT 계수가 0인 동안, 동일한 처리가 반복된다. 이와같은 경우에, 제어플래그 A, B는 초기값 A=0, B=1로 설정된다.
스텝 S6에서, 제어플래그 A는 A=1로 변경되는데, 이는 모든 DCT 계수가 0이 아니라는 것을 나타낸다.
스텝 S7에서, 카운터 값 i가 3을 초과하는지 그렇지 않은지를 판정하는데, 이는 후반부에 4개의 역양자화 DCT 계수중 하나를 지시한다.
그렇지 않은 경우, 처리는 스텝 S8로 진행하며 제어플래그 B를 변경시킴 없이 스텝 S4 및 S5를 거쳐 되돌아가며, 다음의 역양자화 DCT 계수가 판독된다.
이는 처음의 절반인 4개의 역양자화 DCT 계수중 최소한 하나가 0이 아니기 때문이다. 카운터 값 i가 3을 초과할 때, 이는 후반부에 4개의 DCT 계수중 하나를 지시하며, 처리는 스텝 S8로 진행한다.
스텝 S8에서 초기상태에서 B=1로 설정되어 후반부내 4개의 역양자화 DCT 계수 모두가 0이라는 것을 나타내던 제어플래그 B는 B=0으로 변경된다. 그후, 처리는 스텝 S4로 진행한다.
전체 블록내의 모든 열(각각은 8개의 역양자화 DCT 계수로 이루어진다)에 대한 상기 처리가 반복되므로써, 한 블록(8개의 열로 이루어짐)에 대한 플래그가 설정되고 플래그 설정결과는 판독제어기(75)에 출력된다.
판독제어기(75)로부터 출력된 각 열에 대한 플래그 설정결과는 다음 경우중 하나가 된다.
(1) A=0, B=1 ; 하나의 열내 역양자화 DCT 계수 모두가 0이다.
(2) A=1, B=1 ; 하나의 열내 후반부의 역양자화 DCT 계수가 모두가 0이다.
(3) A=1, B=0 ; (1) 또는 (2)와는 전혀 다른 상태
제15도는 한 블록내 0값의 디코딩 역양자화 DCT 계수의 분포를 나타내는 예이다.
제16a도 제16b도는 제15도에 도시된 예에서 얻은 제어플래그를 나타낸다.
DCT 계수기억부(72)내에 기억된 한 블록의 역양자화 DCT 계수가 예컨대, 제15도에 도시된 상태로 있을 때, 제14도에 도시된 플래그 설정연산은 제16도에 도시된 바와같이 제1 내지 8번째 열에 대해 제어플래그 A 및 B를 설정시킨다.
판독제어기(75)는 입력된 플래그내에 설정된 값에 대한 DCT 계수기억부(72)로부터의 역양자화 DCT 계수를 판독하여 역 DCT 장치(77)에 출력한다.
동시에, 판독제어기(75)는 계산에 필요한 변환정수기억부(76)로부터 역 DCT 장치(77)로 변환정수를 출력시킨다.
여기에서 제9도에 도시된 바와같이 역 DCT 장치(77)는 1차원 역 DCT 장치(51), 전치기(52), 1차원 역 DCT 장치(53) 및 전치기(54)로 이루어진다.
또한, DCT 계수기억부(72)는 두개 블록용 기억영역으로 이루어지는데, 이에 의해 제2영역으로부터 마지막 시간에 기억된 제1블록에 대한 역양자화 DCT 계수가 판독점과 동시에 제1영역내에 DCT 계수가 기억될 수 있다. 그러므로, 역 DCT 장치(77)의 처리가 병렬로 수행된다.
특히, 제16도에 도시된 제어플래그 A 및 B에 따라, 판독제어기(75)는 제15도에 도시된 열내의 8개의 역양자화 DCT 계수를 판독하는데, 여기에서 제어플래그 지시는 (A B)=(1 0)으로 이는 첫번째와 7번째 열이며, 역 DCT 장치(77)는 연산을 수행한다.
판독제어기(75)는 열의 제1절반내 4개의 역양자화 DCT 계수를 판독하는데, 여기에서, 제어플래그 지시는 (A B)=(1 1)로, 이는 세번째와 6번째 열이며, 역 DCT 장치(77)는 연산을 수행한다. 첫번째부터 8번째 열이 순차적으로 판독됨은 말할 나위없다.
결과적으로 제15도에 도시된 모범의 경우에서 한 블록에 대한 화상신호는 단자(78)로부터의 한 블록내의 64내의 역양자화 DCT 계수중 24개의 역양자화 DCT 계수 즉, 첫번째 열내의 8개, 세번째 열내의 4개, 6번째 열내의 4개 및 7번째 열내의 8개만을 판독하여 연산의 결과를 출력시키므로써 재구성된다.
화상내 각 블록에 대해 상기 처리를 반복하므로써 화상이 재구성된다.
상술된 본 발명의 제1실시예에서 플래그 정보가 열내의 모든 역양자화 DCT 계수 또는 후반의 역양자화 DCT 계수가 0인가에 따라 설정된다 해도 상기 플래그는 더 많은 부-분할(subdivision)을 행하므로써 설정될 수 있다.
제17도는 본 발명의 제2실시예의 역 DCT 장치의 원리를 나타낸다.
제2실시예는 양자화 계수를 코딩하여 얻은 코딩데이타로부터 화상을 재구성시키는 화상데이타 재구성장치에 관한 것으로, 상기 양자화 계수는 원화상으로부터 분할된 다수의 화소(N×N ; 여기에서 N은 양의 정수)로 이루어진 각 블록내 다수의 화소의 그라디언트값에 2차원 DCT를 수행하므로써 얻어진 변환계수를 양자화하여 얻게 된다.
제2실시예의 상기 화상데이타 재구성장치는 디코딩된 DCT 계수를 기억시키는 DCT 계수기억부(81), N×N 역양자화 DCT 계수중 모든 사전 설정된 M단위내의 카운터 값이 0인지 아닌지를 판정하는 제로검출기(82), N개의 누산결과를 기억시키기 위한 N개 승산기, 가산기 및 N개의 래치, 입력된 역양자화 DCT 계수상에 역 DCT를 수행하므로서 화상신호를 재구성시키는 역 DCT장치(83)로 이루어진다.
여기에서, 역 DCT장치(83)는 데이타입력, 승산, 가산 및 변환결과의 출력의 동시처리를 제어하기 위한 변환제어기(84)로 이루어진다.
제로검출기(82)에 의해 검출된 결과에 따라, 역 DCT장치(83)는 DCT 계수기억부(81)에 기억된 역양자화 DCT 계수중 열에 대해 역 DCT를 수행하는데, 여기에서 N개의 역양자화 DCT 계수 또는 후반부 N/2개의 역양자화 DCT 계수 모두는 0이 아니다.
또한, 역 DCT 장치(83)는 N개의 역양자화 DCT 계수가 판독되는 열에 대해 사전 설정된 연산주기 L에서 연산하며, 처음 절반내 N/2개의 역양자화 DCT 계수가 판독되는 열에 대해 연산주기 L/2에서 연산한다.
한열내의 N개의 역양자화 DCT 계수가 DCT 계수기억부(81)로부터 판독될 때, 변환제어기(84)는 한 연산주기이내에 N개의 역 DCT 결과를 출력시킨다. 한열의 처음 절반내 N/2개의 역양자화 DCT 계수가 DCT 계수기억부(81)로부터 판독될 때, 변환제어기(84)는연산주기이내에 N개 역 DCT 결과를 출력시킨다.
본 발명의 제2실시예에 따라, 역 DCT 장치(83)는 승산기, 가산기 및 래치로 이루어진 N개 1차원 역 DCT 장치(83-1 내지 83-N)에 의해 구성된다. 각 연산이 파이프라인처리에 접속될 때, 디코딩된 역양자화 DCT 계수가 N단위내에서 0인지 아닌지가 판정된다.
N개의 역양자화 DCT 계수가 모두 0일 때만 N개의 역양자화 DCT 계수에 대한 역 DCT 연산처리를 건너뛰므로써 역 DCT 연산의 수는 역 DCT 장치(83)내의 파이프라인처리를 손상시킴이 없이 크게 감소된다.
또한, 디코딩된 역양자화 DCT 계수가 N/2단위로 0인지 아닌지를 유사하게 판정하고, N/2개의 역양자화 DCT 계수의 역 DCT 연산처리를 건너뛰며, 그리고 N/2개의 역양자화 DCT 계수 모두가 0일 때 N개의 디코딩된 역양자화 DCT 계수의 출력클럭을 제어하므로써, 역 DCT 연산의 수는 역 DCT 장치(83)내의 파이프라인처리를 손상시킴이 없이 크게 감소되고, 따라서, 간단한 회로에 의해 화상재구성속도를 개선시킬 수 있게 된다.
제18a도 및 제18b도는 블록도로 도시된 작용을 요약하는 흐름도와 함께 제2실시예내의 역 DCT 장치(83)의 구성을 더욱 상세히 나타낸다.
제18a는 제17도에 도시된 N개의 1차원 역 DCT 장치(83-1 내지 83-N)의 블록도이다. 다음의 설명에서는 N×N 블록이 8×8 화소로 이루어졌다고 가정한다. 제18a도에서, 코딩된 데이타로부터 재구성된 하나의 블록에 대한 역양자화 DCT 계수는 단자(90)로부터 입력되고 DCT 계수기억부(91)내로 기록된다. 특히, 제15도에 도시된 바와 같이, 하나의 블록에 대한 역양자화 DCT 계수는 DCT 계수기억부(91)내로 기록된다.
제로검출기(92)는 데이타가 입력될 때 DCT 계수기억부(91)내에 기억된 입력데이타로부터의 0을 4개의 단위로 검출한다. 다음은 제15도에 도시된 DCT 계수의 0검출결과이다.
처음절반 후반절반
제1행 0이 아님 0이 아님
제2행 0 0
제3행 0이 아님 0
제4행 0 0
제5행 0 0
제6행 0이 아님 0
제7행 0이 아님 0이 아님
제8행 0 0
그후, 제로검출기(92)에서 검출된 결과는 계수상태기억부(93)내에 기억되는데 이는 상술된 제1실시예에서와 같이 플래그에 의해 실현된다.
DCT 계수기억부(91)에 대한 한 블록의 기록이 완료될 때, 판독제어기(94)는 계수상태 기억부(93)의 내용에 따라 DCT 계수기억부(91)로부터의 0이 아닌값과 변환정수기억부(95)로부터의 0이 아닌 DCT 계수값에 대응하는 변환정수를 1차원 역 DCT 장치(96)에 출력시킨다.
제18b도는 제18a도에 도시된 상술된 작용이 수행되는 스텝들을 요약하는 흐름도이다.
스텝 SR1 : DCT 계수기억부(91)는 단자(90)가 입력데이타를 수신할 때 한 블록에 대한 역양자화 DCT를 기억시킨다.
스텝 SR2 : 스텝 SR1에서의 기억연산과 동시에 제로검출기(92)는 4개 단위로 0을 검출한다.
스텝 SR3 : 계수상태기억부(93)는 제로검출기(92)에 의해 검출된 결과를 기억시킨다.
스텝 SR4 : 판독제어기(94)는 한 블록에 대한 역양자화 DCT계수를 기억한 후, 계수상태기억부(93)내에 기억된 0을 4개의 단위로 검출한 결과에 따라, DCT 계수기억부(91)와 변환정수기억부(95) 각각으로부터 역양자화된 DCT 계수와 변환정수를 판독한다.
스텝 SR5 : 1차원 역 DCT장치(96)는 변환정수를 사용하므로써 역양자화 DCT 계수상에 1차원 역 DCT를 수행한다.
스텝 SR6 : 변환제어기(97)는 1차원 역 DCT 실행을 제어한다.
스텝 SR7 : 기록제어기(100)는 1차원 역 DCT의 결과를 출력버퍼(99)에 기록하는 것을 제어한다.
스텝 SR8 : 출력클럭제어기(98)는 계수상태기억부(93)에 기억된 0검출결과를 나타내는 상태신호에 따라 변환결과를 기록하고 역양자화된 DCT 계수 및 변환정수를 기록하기 위한 주기를 제어한다. 즉, 출력클럭제어기(96)는 상태 SR6 및 SR7에서 각각 변환제어기(97)와 기록제어기(100)의 작용을 통제하는 처리주기를 제어한다.
제19도는 제18도에 도시된 1차원 역 DCT 장치의 상세 블록도이다.
1차원 역 DCT 장치(96)는 입력된 역양자화 DCT 계수를 순차적으로 래치시키기 위한 래치회로(110), 변환정수기억부(95)로부터 판독된 8개의 변환정수를 병렬로 래치시키기 위한 8개의 래치회로(111 내지 118), 8개의 승산부를 형성하기 위해 짝을 이루는 8개의 승산기(121 내지 28) 및 8개의 래치회로(131 내지 138), 8개의 가산부를 형성하기 위해 짝을 이루는 8개의 가산기(141 내지 148) 및 8개의 래치회로(151 내지 158), 누산결과를 래치시키기 위한 8개의 래치(161 내지 168), 그리고 래치회로(161 내지 168) 내의 값을 판독하여 그들을 출력버퍼(99)에 출력하는 선택기(170)로 이루어진다.
여기에서, 승산기(121 내지 128)는 래치회로(111 내지 118) 내에 래치된 변환정수를 래치회로(110) 내에 래치된 역양자화 DCT 계수에 승산하고, 그 결과를 래치회로(131 내지 138)로 출력시킨다.
또한, 가산기(141 내지 148)는 상기 결과를 누산시킨다. 특히, 가산기(141 내지 148)는 래치회로(151 내지 158) 내에 래치된 현재 누산결과를 래치회로(131 내지 138) 내에 결과에 가산시키며, 래치회로(151 내지 158) 내에서 갱신된 누산결과를 래치시킨다.
처리를 반복하기 위해, 승산기(121 내지 128)는 방전식 1 내지 8 우측상의 각 결과항에서 승산을 수행하며, 가산기(141 내지 148)는 이들 결과항을 함께 가산한다.
제20도는 제19도에 도시된 1차원 역 DCT 장치내의 연산스텝을 나타낸다.
제20도에 도시된 바와같이 1차원 역 DCT 장치(96)는 다음에 설명되는 5단 파이프라인 연산스텝 SP1 내지 SP5로 제15도에 도시된 역양자화 DCT 계수에 대해 역 DCT를 수행한다.
SP1 : 입력
SP2 : 승산
SP3 : 가산
SP4 : 버퍼링
SP5 : 출력
좀더 상세하게, 제1열내의 8개 DCT 계수(X11 내지 X81)는 순차적으로 DCT 계수기억부(91)로부터 판독되며, 내부 5단 파이프라인처리를 통해 역 DCT가 행해진다. 변환제어기(97)는 결과[R41(1-1) 내지 R48(1-8)]를 출력버퍼(99)에 순차적으로 출력시키는 1차원 역 DCT 장치(96)를 갖는다. 이때, 기록제어기(100)는 출력클록제어기(98)로부터의 제어신호에 의해 변환결과를 출력버퍼(99)내에 기록한다.
출력클록제어기(98)는 계수상태기억부(93)내에 기억된 0검출결과를 나타내는 상태신호에 의해 변환결과를 기록하기 위한 주기를 제어한다.
따라서, 제1열내의 8개 DCT 계수(X11 내지 X81)의 입력이 완료됨에 따라, 제3행 처음 절반내 4개의 0이 아닌 값을 갖는 역양자화 DCT 계수(X13 내지 X43)는 순차적으로 DCT 계수기억부(91)로부터 판독되며, 모두 0인 제2열내의 8개의 역양자화 DCT 계수(X12 내지 X82)의 입력을 건너뛰므로써 다음 타이밍에서 1차원 역 DCT 장치(96)에 입력된다.
이와 같은 경우에, 출력클록제어기(98)는 4개의 역양자화 DCT 계수만이 계수상태기억부(93)로부터의 상태제어신호에 의해 입력된다는 것을 알기 때문에, 출력클록제어기(98)는 변환 결과[R41(1-1) 내지 R48(1-8)]를 출력시키기 위해 파이프라인처리를 통제하는 정규주기의 반이 되도록 주기를 제어한다. 따라서, 연산이 이미 수행되었던 8개 변환결과[R41(1-1) 내지 R48(1-8)]는 정규 8개의 주기의 절반인 4개 주기내에 출력버퍼(99)에 기록된다.
파이프라인 처리를 손상시킴이 없이 1차원 역 DCT 연산을 수행시키기 위해 유사한 처리가 반복된다. 즉, DCT 계수기억부(91)로부터 판독된 DCT 계수의 수는 계수상태기억부(93)로부터의 상태 신호에 의해 제어되며, 변환결과를 출력시키기 위한 주기의 수는 정규 8개의 절반인 4개의 역양자화 DCT 계수만이 1차원 역 DCT 장치(96)에 입력될 때 파이프라인 처리를 통제하는 정규주기의 반이 되도록 제어된다.
한 블록에 대해 상기 처리를 2번 반복하는 것은 2차원 역 DCT의 결과를 나타낸다. 화상내 모든 블록에 대해 2차원 역 DCT를 계속하므로써 화상이 재구성된다.
제20도에 도시된 연산스텝이 4개의 역양자화 DCT 계수가 입력될 때 8개 입력에 대한 모조(dummy) 주기와 일치하여 출력타이밍을 설정하기 위한 0.5모조주기를 포함한다 해도, 이들 0.5모조주기는 출력을 판독하기 위한 속도가 배가되는 경우에 필요하지 않게 된다.
제21도는 본 발명의 제3실시예내 역 DCT 장치의 원리를 나타낸다.
제21도에 도시된 본 발명의 제3실시예는 화상 데이타를 재구성하기 위해 화상데이타 재구성장치에 이용되는 역 직교변환 방법에 관한 것으로, 여기에서 원화상으로부터 분할된 다수의 화소(N×N ; 여기에서 X은 양의 정수)로 이루어진 각 블록내의 화상데이타로 2차원 직교변환을 수행한 결과는 양자화되고 그후, 코딩되며 얻어진 입력코딩은 디코딩, 역양자화며, 2차원 역 직교변환이 수행된다.
N×N 계수행렬내의 열은 스텝 S11에서 사전 설정된 수의 성분을 포함하는 부분 열로 분할된다. 이들 부분열중 0이 아닌 값을 갖는 유효계수를 포함하는 것은 스텝 S12에서 추출된다. 1차원 직교변환과 동일한 연산이 스텝 S13에서 추출된 부분열내의 각 성분에 대해 수행된다. 추출된 부분열에 대해 연산을 수행한 결과는 스텝 S14에서 1차원 역변환의 결과에 대응하는 열내의 성분으로써 출력된다. 제1차원 역변화의 결과는 스텝 S15에서 화상데이타를 얻기 위해 제1차원 직교변화를 거치게 된다.
예컨대, 각 열내 제1의 1차원 역변환의 결과는 전치된 행렬의 대응 행성분으로서 출력된다.
요약하면, 유효계수를 포함하는 부분열은 전체 계수 행렬중 열을 분할하므로써 얻어진 부분열중에서 추출되며, 추출된 부분열내의 각 성분에 대해서만 연산이 수행되고, 연산의 결과는 상기 부분열이 속하는 열에 대응하는 제1의 1차원 역 직교변환의 결과로 출력된다.
계수 행렬내 직렬이 직교변환될 때, 열내 포함된 0의 값을 갖는 무효계수에 대한 연산의 결과는 직교변환의 결과에 영향을 미치지 않는다. 결과적으로, 각 열내에 포함된 유효부분열에 대한 연산의 결과는 계수 행렬내의 대응열을 직교변환시킨 결과와 동일하다. 이에 의해 1차원 역 직교변환을 얻기 위해 필요한 계산량을 감소시킬 수 있게 된다.
추출된 부분열에 대한 연산의 결과는 제1의 1차원 역 직교변환의 결과를 나타내는 행렬의 행, 열을 전치시킨 결과로 얻은 전치행렬의 성분으로서 출력된다. 그러므로, 제2의 1차원 역 직교변환을 수행하는데 제1의 1차원 역 직교변환의 결과를 전치시키기 위한 처리를 삭제시키는 것이 가능해진다.
제22도는 제3실시예내의 역 DCT 장치의 구성을 더욱 상세히 나타낸다.
제22도에 도시된 본 발명의 제3실시예는 화상데이타를 재구성하기 위해 화상데이타 재구성장치에 사용하기 위한 역 직교변환회로에 관한 것으로, 여기에서 원화상으로부터 분할된 다수의 화상요소(N×N ; 여기에서 N은 양의 정수)로 이루어진 각 블록내의 화상데이타에 대한 2차원 직교변환의 결과는 양자화된 후, 코딩하고 얻어진 입력코딩은 디코딩, 역양자화되며, 2차원 역 직교변환이 수행된다.
계수기억부(211)는 N×N 행렬로 입력된 계수 행렬의 성분을 기억한다.
판독제어기(220)는 계수기억부(211) 내로 입력된 전체 계수행렬중 열로부터 분할된 각 부분열이 유효계수를 포함하는 유효부분인가 아닌가를 판정하는 판정부(221), 판정부(221)에 의해 유효하다고 판정된 부분열에 대응하는 계수기억부(211)의 어드레스를 보유하는 어드레스기억부(222)로 이루어진다. 판독제어기(220)는 어드레스기억부(222) 내에 보유된 어드레스에 따라, 계수기억부(211)로 하여금 유효부분열내에 포함된 각성분을 출력시키도록 지시한다.
변환정수기억부(231)는 계수행렬의 각 성분에 대응하는 N×N 정수행렬을 기억하고 계수기억부(211)로부터 출력된 계수행렬의 성분에 대응하는 정수행렬의 열내에 포함된 변환정수를 출력한다.
제1변환기(232)는 변환정수기억부(231)로부터 출력된 변환정수와 입력된 계수행렬의 각 성분에 대한 직교변환과 등가인 연산을 수행한다. 제1변환기(232)는 계수행렬의 각 열내에 포함된 유효부분열 모두에 대응하는 연산이 완료될 때, 대응열에 대한 1차원 역변환의 결과로 연산결과를 출력한다.
변환 결과 기억부(241)는 제1변환기(232)로부터의 출력을 보유한다.
기록제어기(242)는 어드레스기억부(222) 내에 보유된 어드레스에 따라 변환결과기억부(241) 내 계수행렬중 적정열에 대응하는 1차원 역변환결과에 대한 기억공간을 지시한다.
제2변환기(251)는 변환결과 기억부(241) 내에 보유된 제1의 1차원 역 직교변환의 결과를 기초로한 제2의 1차원 역 직교변환을 수행한다.
판정부(221)와 어드레스기억부(212)로 이루어진 판독제어기(220)는 계수기억부(211) 내에 기억된 역양자화 계수행렬내의 유효부분열을 추출한다. 제1변환기(232)는 변환정수기억부(231)로부터 출력된 하나의 열의 변환정수와 유효부분내의 각성분에 대해 1차원 직교변환과 등가인 연산을 수행한다. 기록제어기(242)로부터의 지시에 의하여, 변환결과기억부(241)는 적정 유효부분열이 속하는 계수행렬의 열에 대응하는 1차원역 변환결과로 제1변환기(232)로부터의 출력을 보유한다. 그후, 변환결과기억부(241)는 그의 내용을 제2변환기(251)에 출력한다.
그러므로, 제1변환기(232)가 판독제어기(220)에 의해 추출된 유효부분열에 대해서만 연산을 수행함으로써, 계수행렬내의 모든 열에 대해 연산을 수행하여 얻은 결과와 등가인 1차원 역 변환결과가 얻어지게 된다. 이에 의해 계산양이 감소되며, 따라서 1차원 역 직교변환을 수행하는데 필요한 시간을 단축시킬 수 있다.
예컨대, 계수기억부(211)는 두개블록에 대응하는 계수행렬기억용 메모리 용량을 갖는다. 제1변환기(232)는 역양자화된 계수행렬을 계수기억부(211)에 입력시킴과 동시에 1차원 역변환을 수행한다.
즉, 새로운 계수행렬을 계수기억부(211)에 입력시키는 것과 동시에, 제1변환기(232)는 계수기억부(211)에 이미 기억된 다른 계수행렬에 대한 1차원 직교변환을 실행할 수 있다. 그 결과로 다수의 블록에 대응하는 계수행렬의 1차원 역변환에 필요한 전체 처리시간이 감소될 수 있다.
판정부(221)는 N/2개 성분으로 이루어진 부분열이 유효부분열인가 아닌가를 판정하도록 구성된다.
변환정수기억부(231)는 계수행렬내 각 성분의 출력에 따라 대응열 처음 절반부내의 N/2변환정수와 대응열의 후반절반부내의 N/2개 변환정수를 교대로 출력시키도록 구성된다.
제1변환기(232)는 변환정수기억부(231)로부터 동시에 출력된 N/2개 변환정수에 대응하는 N/2개 연산기(233)를 갖도록 구성된다.
N/2개 연산기(232) 각각은 성분에 대응하는 변환정수기억부(231)로부터 교대로 출력된 각 변환정수를 입력된 계수행렬에 승산하는 승산기(234), 승산기(234)에 의해 얻은 각 결과를 누산시키는 가산기(235) 및 가산기에 의해 얻은 누산치를 보유하기 위한 기억부(236)를 갖도록 구성된다.
부분열이 N/2개 성분을 갖는 예에서 처럼, 변환정수기억부(231)는 정수행렬의 적정열내에 제1의 N/2성분과 제2성분을 분리적으로 출력하며, 그들은 제1변환기(232) 내 N/2개 연산기(233)에 입력시키다.
여기에서, 연산기(233)는 상기 분할된 각 연산 즉, 변환정수 및 계수행렬내 성분의 수신 그리고 연산결과의 출력등을 독립적으로 수행할 수 있기 때문에, 이들 작용은 처리를 신속하게 하기 위해 파이프라인으로 수행될 수 있다. 또한, 제1변환기(232)가 N/2개 연산기(233)로 구성되기 때문에 회로는 더욱 작게 만들어진다.
연산제어기(237)는 승산기(234) 및 가산기(235)에 의해 실행된 연산의 수를 제어하며, 그에의해 계수 행렬의 각열내 유효부분열의 수에 대응하는 연산의 수에 의해 1차원 역 변환결과를 생성하게 된다.
기록제어기(242)는 제1변환기(232)에 의해 얻은 연산결과와 일치하여 1차원 역 변환결과로 형성된 행렬을 전치시키므로써 얻어진 전치행렬의 적정행에 대응하는 어드레스를 변환결과기억부(241) 내에 생성시키기 위한 어드레스 생성기(243)를 갖도록 구성된다.
제1변환기(232)에 기억공간으로서 어드레스생성기(243)에 의해 생성된 어드레스를 지시하므로써, 변환결과기억부(241)는 1차원 역 변환결과를 나타내는 행렬을 전치시켜 얻은 전치행렬을 기억한다. 그러므로, 제2변환기(251)는 1차원 역변환결과를 전치시키기 위한 처리를 요구하지 않는다.
검출기(244)는 변환결과기억부(241)에 입력된 1차원 역변환결과의 각 열로부터 0이 아닌 값을 갖는 유효계수를 검출한다.
출력지시기(245)는 1차원 역 변환결과를 나타내는 행렬의 각 열로부터 유효계수를 포함하는 부분열의 출력을 지시한다.
제2변환기(251)는 변환결과기억부(241)로부터 출력된 부분열에 대해 제2의 1차원 직교변환을 수행한다.
검출기(244)와 출력지시기(245)에 의해 변환결과기억부(241) 내에 보유된 1차원 역 변환결과로부터 추출된 유효계수를 포함하는 유효부분열을 제2변환기(251)로 입력시키므로써, 제2변환기(251)는 그의 계산량을 감소시킬 수 있게 된다.
제23도는 본 발명의 제4실시예내 역 DCT 장치의 원리를 나타낸다.
제23도는 도시된 본 발명의 제4실시예의 구성은 제22도에 도시된 제3실시예에서 사용된 제2변환기(251) 대신, 변환결과 기억부(241) 내에 기억된 1차원 역 변환결과를 제1변환기(232)에 입력시키고 변환정수기억부(231)에 대응 변환정수를 출력시키도록 명령하는 수신기(261)를 포함한다.
수신기(261)가 변환결과기억부(241) 내에 기억된 1차원 역변환결과를 제1변환기(232)에 입력시키므로써, 그리고 제1변환기(232)가 다시 직교변환과 등가인 연산을 수행하므로써 제2변환기(251)는 제거되고, 따라서 회로는 더욱 간결하게 된다.
부가적으로 제23도에 도시된 제5실시예의 구성은 제22도에 도시된 제3실시예에서 처럼 검출기(244)와 출력지시기(245)를 포함한다.
검출기(244)는 변환결과기억부(241)에 입력된 1차원 역변환결과의 각 성분으로부터 0이 아닌 값을 갖는 유효계수를 검출한다.
출력지시기(245)는 1차원 역 변환결과를 나타내는 행렬의 각 열로부터 유효계수를 포함하는 부분열의 출력을 지시한다.
수신기(261)는 변환결과기억부(241)로부터 출력된 부분열을 제1변환기(232)에 재입력한다.
검출기(244)와 입력지시기(245)에 의해 변환결과기억부(241) 내에 보유된 1차원 역변환결과로부터 추출된 유효계수를 포함하는 유효부분열이 제1변환기(232)로 입력되므로써 전체회로는 더욱 작게 만들어지게 되며, 제1변환기(232)는 제2의 1차원 직교변환에 대한 그의 계산양을 감소시킬 수 있다.
본 발명의 제3 및 제4실시예는 아래에서 더욱 상세히 설명될 것이다.
제24도는 역 DCT 장치를 이용한 화상데이타 재구성장치의 실시예에 대한 구성을 나타낸다.
제25도는 역 DCT 장치 실시예내 제1의 1차원 직교변환부의 구성을 나타낸다.
제26도는 제25도에서 설명된 연산처리기의 구성을 상세히 나타낸다.
제27도는 역 DCT 장치 실시예내 제2의 1차원 직교변환부의 구성을 나타낸다.
제28도는 역 DCT 장치의 다른 실시예에 대한 구성을 나타낸다.
여기에서, 제21도, 제22도 및 제23도와 제24도, 제25도, 제26도, 제27도 및 제28도 사이의 관계가 먼저 설명된다.
계수기억부(211)는 버퍼(333)에 대응한다.
판독제어기(220)는 판독제어기(413)에 대응한다.
판정부(221)는 제로검출기(431)에 대응한다.
어드레스기억부(222)는 열어드레스기억부(432)에 대응한다.
변환정수기억부(231)는 정수기억부 (메모리)(411)에 대응한다.
제1변환기(212)는 연산처리기(412)에 대응한다.
연산기(233)는 연산회로(501)에 대응한다.
승산기(234)는 승산기(521)에 대응한다.
가산기(235)는 가산기(531), 레지스터(532)(533) 및 멀티플렉서(534)에 대응한다.
메모리(236)는 레지스터(541)(542)에 대응한다.
연산제어기(237)는 변환제어기(505)에 대응한다.
변환결과기억부(241)는 버퍼(334)에 대응한다. 기록제어기(242)는 기록제어기(414)에 대응한다.
어드레스생성기(243)는 어드레스래치(441)와 기록어드레스생성기(442)에 대응한다.
검출기(244)는 판독제어기(613)의 제로검출기(631)에 대응한다.
출력지시기(245)는 판독제어기(613)에 대응한다.
제2변환기(251)는 직교변환기(332)에 대응한다.
수신기(261)는 선택기(590)와 판독제어기(613)에 대응한다.
이들 상호관계를 가정하므로써, 제3 및 제4실시예의 구성 및 작용에 대해 더욱 상세히 설명될 것이다.
제24도에 도시된 화상데이타 재구성장치는 디코딩테이블(311)이 구비된 디코더(310), 양자화 행렬(321)로 구성된 역양자화기(320), 제1의 1차원 직교변환기(311) 및 제2의 1차원 직교변환기(322)로 구성된 역 DCT 장치로 이루어진다. 이와 같은 화상데이타 재구성장치는 8×8 화소로 이루어진 각 블록에 대해 입력된 코딩 데이타에 따라 화상데이타를 재구성한다.
디코더(310)는 코딩 데이타와 디코딩테이블(311) 내에 기억된 디코더 데이타 사이의 상호관계에 따라 코딩데이타를 디코딩하고, 8×8 행렬내 양자계수를 재구성하여 이들을 역양자화기(320)에 입력한다.
역 양자화기(320)는 양자계수내 각 성분을 역 양자화하므로써 DCT 계수를 재구성하고 순차적으로 DCT 계수의 각 성분을 역 DCT 장치(330) 내로 입력한다. 이와 동시에, 역양자화기(320)는 순차적으로 제1열로부터 제1행에 대응하는 성분으로부터 각 열내의 성분을 출력하며, 이들을 역 DCT 장치(330)에 입력한다.
역 DCT 장치(330) 내의 제1의 1차원 직교변환기(331)는 상기 DCT 계수를 수신한다. 또한, 제1의 1차원 직교변환기(331)에 의해 얻은 변환결과는 버퍼(334)를 통해 제2의 1차원 직교변환기(322) 내로 입력된다. 제2의 1차원 직교변환기(332)에 의해 얻은 변환결과는 버퍼(335)를 통해 한 블록의 화상데이타로 출력된다.
상술된 버퍼(333)는 행번호와 열번호에 의해 지시된 어드레스내 DCT 계수의 각 성분을 기억시키도록 구성된다.
이후, 행렬의 열내 성분을 기억하는 영역을 지시하는 어드레스는 열어드레스로 언급하며, 행렬의 행내 성분을 기억하는 영역을 지시하는 어드레스는 행어드레스로 언급된다.
제25도는 제1의 1차원 직교변환기(331)의 구성을 나타낸다.
제25도는 도시된 바와같이 정수메모리(411)는 상술된 변환정수를 기억하며, 연산처리기(412)는 버퍼(333)로부터 판독된 DCT 계수의 각 성분 및 정수메모리(411)로부터 판독된 변환정수의 대응성분을 기억한다. 제로검출기(431), 열어드레스기억부(432), 카운터(433) 및 판독어드레스생성기(434)는 버퍼(333)와 정수메모리(411)로부터의 데이타 판독을 제어하는 판독제어기(413)를 구성한다. 어드레스래치(441) 및 기록어드레스생성기(442)는 연산처리기(412)로부터 버퍼(334)로 출력의 기록을 제어하는 기록제어기(414)를 구성한다. 판독제어기(413) 및 기록제어기(414)는 연산처리기(412)로부터의 명령에 따라 연산하도록 구성된다.
판독제어기(413) 및 제로검출기(431)는 DCT 계수의 각 성분을 버퍼(333) 내로 입력시키는 것과 병행하여 연산한다. 각 열내의 DCT 계수는 제1 내지 제4행내의 DCT 계수에 대응하는 처음 절반부와 제5 내지 제8행내의 DCT 계수에 대응하는 후반 절반부로 분할되며, 처음 절반부와 후반 절반부에 대한 제2검출이 분리적으로 수행된다. 제로검출기(431)는 최소한 하나의 유효계수가 하나의 열내에 포함되도록 검출되는가 그렇지 않는가를 1비트의 정보와 유효계수가 열 후반절반부내에 포함되는가 그렇지 않은가를 나타내는 다른 비트의 정보를 출력한다. 이는 플래그 A 및 B가 두개의 비트로 지시되는 제16도에 도시된 처리와 유사하다. 예컨대, 일렬의 처음절반부와 후반절반부내 모든 성분이 무효계수일 때, “01”이 검출결과로서 출력된다. 일렬의 후반절반부내의 모든 성분이 무효계수일 때, “11”이 검출결과로서 출력된다. 그외 모든 다른 경우에는 “10”가 출력된다.
제로검출기(431)에 의해 검출된 결과는 열어드레스기억부(431)에 입력된다. 열어드레스기억부(432)는 최소한 한개의 유효계수를 갖는 역양자화 DCT 계수열에 대응하는 열어드레스를 버퍼(333) 내에 보유하며, 버퍼(333) 내의 열어드레스에 대응하는 후반절반부 열내의 모든 성분이 무효계수인지 아닌지를 나타내는 플래그를 보유한다. 예컨대, 열어드레스기억부(432)는 대응 역양자화 DCT 계수열을 기억하는 버퍼(333)의 영역을 지시하는 열어드레스를 보유하며, 검출결과의 제1비트로 논리 “1”을 수신할 때, 검출결과의 제2비트가 플래그로서 보유된다.
카운터(422)는 제로검출기(431)로부터 상술된 출력을 수신하며, 최소한 한개의 유효계수를 갖는 DCT 계수열의 수를 계산한다. 예컨대, 카운터(433)는 상술된 검출결과의 제1비트에 의한 카운터값을 가산한다.
그러므로, 한 블록의 역양자화 DCT 계수를 버퍼(333)에 입력시킴과 동시에, 유효계수를 포함하는 열회수가 계산되며, 열에 대응하는 열어드레스 및 플래그가 보유된다.
제32도는 역양자화된 DCT 계수를 나타낸다.
예컨대, 디코더(310)가 제6a도에 도시된 양자계수에 대응하는 코딩데이타를 디코딩하고, 역양자화기(320)가 이들을 역양자화 하므로써, 제32도에 도시된 것과 같은 역양자화 DCT 계수가 재구성된다.
버퍼(333)가 순차적으로 DCT 계수의 각 성분을 수신할 때, 상술된 제로검출기(431)는 제1열에 대해 “10”, 제2열에 대해 “11”, 제3 내지 제8열에 대해 “01”인 검출결과를 출력한다. 이와 같은 경우에, 제29도에 도시된 바와 같이 열어드레스 기억부(432)는 제1열에 대응하는 열어드레스 C1과 제2열에 대응하는 열어드레스 C2를 보유하며, 카운터(433)는 카운터값 2를 갖는다.
버퍼(333)가 한 블록의 역양자화 DCT 계수기억연산을 완료할 때, 연산처리기(412)는 그의 연산을 시작하여 데이타요구신호 RED를 출력시키며, 판독제어기(413)에 판독을 시작하도록 지시한다.
이에 응답하여, 판독제어기(413) 내의 판독어드레스생성기(434)는 열어드레스기억부(432) 내에 보유된 제1열어드레스와 그의 플래그를 판독하고 그 플래그를 상기한 연산처리기(412)에 입력한다.
데이타 요구신호 RED를 수신함에 따라, 판독어드레스생성기(434)는 순차적으로 버퍼(333) 내 각행을 지시하는 행어드레스를 방생 혹은 생성하며, 이들 행어드레스를 가산하므로써 열어드레스기억부(432)로부터 판독된, 버퍼(333)가 수신된 열어드레스를 출력한다. 이에 응답하여 버퍼(333)는 버퍼(333) 내에 기억된 대응하는 역양자화 DCT 계수열내 각 성분을 출력하며, 이들을 연산처리기(412)에 입력한다.
이와 동시에, 판독어드레스생성기(434)는 순차적으로 정수메모리(411)에 기억된 변환정수의 각열을 지시하는 열어드레스를 생성하며, 이들을 데이타 요구신호 RED와 동시에 정수메모리(411)에 입력한다. 이는 정수메모리(411) 내에 기억된 변환정수의 각 열이 순차적으로 판독되도록 하며, 열의 성분으로 이루어진 벡터(이후, 열성분으로 언급)가 연산처리기(412)에 입력되도록 한다.
그러므로, 데이타 요구신호 RED에 의해, 열어드레스에 대응하는 역양자화 DCT 계수열의 성분은 버퍼(333)로부터의 하나씩 판독하며, 변환정수의 각열은 제1열로부터 순차적으로 정수메모리(411)로부터 판독된다.
열어드레스기억부(432)로부터 판독된 플래그가 논리 “1”일 때, 판독 어드레스생성기(434)는 상기 처리를 4번 반복한 후에 대응 역양자화 DCT 계수열에 대한 판독어드레스생성을 중지한다. 따라서, 이와같은 경우에 대응 양자와 DCT 계수열의 처음 절반부내 4개 성분만이 버퍼(333)로부터 판독되며, 변환정수의 대응열성분과 함께 연산처리기(412)에 입력된다.
한편, 플래그가 논리 “0”을 지시한 때, 판독어드레스생성시(434)는 상기 처리를 8번 반복한후 대응 역양자화 DCT 계수열의 판독을 중지한다. 따라서 이와같은 경우에, 대응 역양자화 DCT 계수열내 모든 8개 성분은 버퍼(333)로부터 판독되며, 변환정수의 대응열성분과 함께 연산처리기(412)로 입력된다.
그러므로, 대응 역양자화 DCT 계수열이 판독된 후 판독어드레스생성기(434)를 열어드레스기억부(432)로부터 다음 열어드레스 및 그의 플래그를 판독하며, 유사하게 버퍼(333)와 정수메모리(311)용 판독어드레스를 생성한다.
카운터(433)는 열어드레스가 판독될 때마다 카운터치를 감소시키며, 카운터치가 0일때 종료신호(LEND)를 출력하여 연산처리(412)에 1블록의 판독완료를 알린다.
그러므로, 연산처리기(412)는 1블록에 대한 역양자화 DCT 계수중에 유효계수를 포함하는 열성분만을 수신한다.
제26도는 이미 기술된 연산처리기(412)의 구조를 상세히 보여준다.
제26도에서, 4연산회중 각각은 레지스터(511), 승산기(521), 레지스터(522), 가산기(531), 레지스터(532 및 533), 멀티플렉서(534), 및 레지스터(541 및 542)로 구성된다. 레지스터(511, 522, 532, 541 및 542)는 R표시로 나타낸다.
버퍼(333)로부터 판독된 각 DCT 계수성분은 레지스터(502)를 통하여 4연산회로(501)에 공급된다. 정수기억부(411)로부터 판독된 변환정수열성분으로 구성되는 열성분의 첫번째 절반중에서 4성분(A1j내지 A44j)는 선택기(503)의 포트(A1 내지 A4)에 입력되며, 한편 나머지 절반에서 4성분(A5j내지 A8j)는 포트 P2(B1 내지 B4)에 입력된다. 선택기(503)는 포트(P1) 또는 포트(P2)중 하나에 입력된다. 선택성분은 4연산회로(501)의 각 레지스터(511)에 입력된다.
연산회로(501)의 각 레지스터(541 및 542)로부터 출력은 멀티플렉서(504)에 공급되며, 그 출력은 연산처리기(412)로부터의 출력으로써 버퍼(334)에 입력된다. 연산회로(501), 선택기(503) 및 멀티플렉서(504)의 각각이 구성되어 변환제어기(505)로부터 단위지시를 작동시킨다.
이후에, 연산들이 그 스테이지별로 기술된다.
스테이지 ST1 : 변환정수의 대응성분을 4연산회로(501)에서 레지스터(511)에 입력.
스테이지 ST2 : 4연산회로(501)의 4승산기(521)에 의하여 승산.
스테이지 ST3 : 4연산회로(501)의 4가산기(531), 레지스터(532) 및 4레지스터(533)에 의하여 누산.
스테이지 ST4 : 4연산회로(501)의 4레지스터(541) 및 4레지스터(542)의 누산결과를 기억.
스테이지 ST 5: 연산회로(501)의 4레지스터(541) 또는 4레지스터(542)중에서 하나를 선택하여 멀티플렉서로부터 출력.
제30도는 제25도 및 제26도에 도시된 연산처리기의 연산에 대한 흐름도이다.
여기서, 연산처리기(412)가 그 연산을 실행할 때, 버퍼의 내용뿐만 아니라 4연산회로(501)의 4레지스터(532) 및 4레지스터(533)의 내용이 모두 소거된다.
스텝 S21 : 변환제어기(505)는 데이타 요구신호(RED)를 출력하고 역양자화 DCT 계수성분에 대응하는 변환정수의 역양자화 DCT 계수성분 및 령성분을 수신한다.
스텝 S22 : 변환제어기(505)은 스텝(S21)과 병렬로 부분(P1)을 선택하도록 선택기(503)를 명령하여 이것은 열성분의 첫번째 절반에서 4변환정수 각 연산회로(501)에 입력되도록 한다.
스텝 S23 : 연산회로(501)에서 승산기(521)는 레지스터(502)에 보유된 역양자화 DCT 계수에 의하여 대응 레지스터(511)에 보유된 4변환정수를 승산하여 대응 레지스터(522)에 승산을 기억시킨다.
상기 방법에서, 역양자화 DCT 계수 행렬의 i번째 열에서 j번째 성분(dij)은 변환정수 행렬의 j번째 열의 첫번째 절반에서 4성분(A1j내지 A4j)과 각각 승산된다.
스텝 S24 : 변환제어기(505)는 각 4연산회로의 4멀티플렉서(534)를 지시하여 레지스터(532)를 선택하고, 이것은 각 연산회로(501)의 가산기(531)가 레지스터(532)의 내용에 레지스터(522)에 기억된 승산을 가산하도록 하여 레지스터(532)에 합을 기억시킨다.
스텝 S25 : 변환제어기(505)는 선택기(503)를 지정하여 포트(P2)를 선택하고 이것은 열성분중 나머지 절반에서 4변환정수가 연산회로(501)에 입력되도록 한다.
스텝 S26 : 각 연산회로(501)의 승산기(521)는 스텝(S23)에 유사하게 승산을 실행한다.
상기 방법에서, 역양자화 DCT 계수 행렬의 i번째 열의 j번째 성분(dij)은 변환정수행행렬의 j번째 열중 나머지 절반에서 4성분(A5j내지 A8j)과 각각 승산되어서, 식(5 내지 8)의 j번째 항을 계산한다.
스텝 S27 : 변환제어기(505)는 각 4연산회로의 4멀티플렉서(534)를 지정하여 레지스터(533)을 선택하며, 이것은 각 연산회로(501)의 가산기(531)가 레지스터(522)에 기억된 승산을 레지스터(533)의 내용에 가산하도록 하며 레지스터(533)가 합을 기억하도록 한다.
스텝 28 : 변환제어기(505)는 판독제어기(413)로부터 입력된 플러그가 “1”인지의 여부를 판정한다. 처리는 스텝(S28)에서 판정이 긍정(YES)이면 스텝(S29)으로 진행한다.
스텝(S29) : 변환제어기(505)는 상기 스텝(S21 내지 S28)이 4회, 즉 블록에서 수의 절반에 대하여 수행하는지 여부를 판정한다. 반면에, 처리는 스텝(S28)에서 판정이 아니오(No)이면 스텝(S30)으로 진행한다.
스텝(S30) : 변환제어기(505)는 상기 스텝(S21 내지 S28)이 8회, 즉 블록내에서 2행의 수에 대하여 실행되는 여부를 판정한다.
스텝(S29 또는 S30)중 하나가 부정판정을 한다면, 스텝은 스텝(S21)에 복귀하고, 그리하여 다음 DCT 계수 성분과 다음 DCT 계수 성분에 대응하는 변환정수의 대응 열성분을 판독하여, 그리하여 상기 연산처리는 반복된다.
그리하여, 식 (1) 내지 (4) 항과 식 (5) 내지 (8)의 항은 번갈아 계산되고, 항들이 번갈아 누산된다.
반면, 처리는 스텝(S29 또는 S30)의 판정이 긍정(YES)이면 스텝(S31)으로 진행된다.
스텝(S31) : 변환제어기(505)는 대응 레지스터(541 및 542)에서 레지스터(532 및 533)의 내용을 저장한다.
스텝(S32) : 변환제어기(505)는 연산회로(501)의 레지스터(541)를 지정하여 순차적으로 그 내용을 출력하고, 이것은 멀티플렉서(504)가 식 (1) 내지 (4)에 대응하는 연산결과를 출력하도록 한다. 그리하여 변환제어기(505)는 연산회로(501)의 레지스터를 지시하여 유사하게 순차적으로 그 내용을 출력하여, 이것은 멀티플렉서(504)가 식 (5) 내지 식 (8)에 대응하는 연산결과를 출력한다.
플래그가 논리 “1”을 지시할 때, 대응 열의 나머지 절반중 역양자화 DCT 계수는 모두 무효계수이다. 그리하여, 상기 스텝(S21 내지 S27)을 4회 반복하고 열의 첫번째 절반의 성분에 대해서만 연산을 실행하여 역양자화 DCT 계수열의 1차원 역 DCT를 수행하는 결과가 얻어진다.
반면에, 플래그가 논리 “0”이면, 스텝(S21 내지 S27)을 8회 반복하여 식(1 내지 8)과 동등한 연산이 실행된다.
결과적으로, 상기 스텝(S29 및 S30)에서 긍정 판정의 경우에 레지스터(532 내지 533)의 내용은 식(1 내지 8)을 나타내며, i번째(DCT) 계수열의 1차원 역 DCT를 실행하는 결과는 스텝(S32)에서 순차적으로 출력된다.
또한 이때에, 변환제어기(505)는 기록제어기(414)를 명령하여 상기 변환결과를 출력하는 동시에 기록제어신호(WRT)를 출력하여 버퍼(334)에 변환결과를 기록한다.
스텝(S33) : 다음에, 변환제어기(505)는 완료신호(LEND)가 논리 “1”인지의 여부를 판정한다. 변환제어기(505)가 스텝(S33)에서 부정적으로 판정하면, 처리는 스텝(S34)으로 진행한다.
스텝(S347) : 변환제어기(505)는 각 연산회로(501)의 레지스터(532 및 533)에 초기치 “0”을 설정한다. 그러면, 처리는 스텝(S21)로 복귀되어서 다음 열에 대한 변환을 개시한다.
변환제어기(505)는 스텝(S33)에서 긍정적으로 (YES)판정하면, 1블록에 대한 변환이 고려되어 완료되고 처리가 끝난다.
여기서, 스테이지(ST1 내지 ST5)에서 각 연산은 상호 독립적으로 실행될 수 있다. 그러므로 스텝(S22, S23 및 S24)에 대한 처리, 스텝(S25, S26 및 S27)에 대한 처리 및 스텝(S31 및 S32)에 대한 처리는 파이프라인에서 제어된다.
제31도는 제32도에 도시된 역양자화 DCT 계수의 1차원 역 DCT변환의 스테이지(ST1 내지 ST5)의 파이프라인 실행을 설명한다.
제31도에서, 좌측 끝열의 도면은 파이프라인 스텝번호를 표시한다.
표시(R01)는 레지스터(501)를 나타낸다.
표시(R11 내지 R14)는 각각 4연산회로(501)의 4레지스터(511)를 나타낸다.
표시(R21 내지 R24)는 각각 4연산회로(501)의 4레지스터(522)를 나타낸다.
유사하게, 표시(R31 내지 R34)는 각 4연산회로(501)의 4레지스터(532)를 나타내며, 표시(R35 내지 R358)은 각 4연산회로(501)의 4레지스터를 나타내며, 표시(R41 내지 R44)는 각 4연산회로(501)의 4레지스터를 나타내며, 표시(R45 내지 R48)은 각 4연산회로(501)의 4레지스터(542)를 나타낸다.
제31도에서 스테이지(ST1)에 대응하는 열에 도시된 바와같이, 역양자화 DCT 계수의 각각의 성분이 입력되고 변환정수에 대응하는 열의 첫번째 절반의 각 성분들이 기술을 갖는 스텝에 입력되고, 반면 변환정수에 대응하는 동안 열의 나머지 절반의 각각의 성분은 우수를 갖는 스텝에 입력된다.
제2스텝과 그후에 스테이지(ST2)에 대응하는 열에 도시된 바와같이, 스텝(ST1)에서 연산과 병행하여 스텝(23)의 승산처리와 스텝(S36)의 승산처리가 정확하게 시행된다.
제3스텝과 그후에, 스테이지(ST3)에 대응하는 열에 도시된 바와같이, 스테이지(ST1 및 ST2)에서 연산과 병행하여, 스텝(S24)의 가산처리는 기술을 갖는 스텝에서 실행되며 스텝(S27)의 가산처리는 우수를 갖는 스텝에서 실행된다.
제29도는 열어드레스와 플래그 사이와의 관계를 설명한다.
제29도에 도시된 바와같이, 역양자화 DCT 계수의 첫번째 열에 대응하는 플래그가 논리 “0”을 지시하기 때문에, 상기 스텝(S21 내지 S27)은 1블록에서 행의 수에 대하여 반복되어 제1열에서 모두 제8성분을 입력한다.
이러한 경우, 제1열에서 제8성분의 역양자화 DCT 계수에 대한 승산 및 가산이 변환 정수와 제2열에서 역양자화 DCT 계수 성분과 병렬로 실행된다.
제17 및 제18스텝에서, 1차원 역변환결과는 각 연산회로(501)의 레지스터(541 및 542)에 설정된다(스텝31 : 제31도에서 스테이지 ST4를 언급한다.).
제18 내지 25스텝에서, 스텝(S32)의 출력이 처리되며, 1차원 역 DCT결과(Y11내지 Y/1018)가 순차적으로 출력된다(제31도에서 스테이지 ST5를 언급한다.).
유사하게, 1차원 역 DCT는 제25 및 26스텝에서 스테이지(ST4)의 연산과 제26 내지 33스텝에서 스테이지(ST5)의 연산을 실행하여 역양자화 DCT 계수의 제2열에서 실행된다.
다음은 전치 행렬이 계산된 변환결과의 행과 열을 전치하여 얻어진 버퍼(334)에 기억하는 방법을 기술한다.
제25스텝에 도시된 판독 어드레스생성기(434)에 의하여 열어드레스기억부(432)로부터 판독된 열어드레스는 기록어드레스제어기(414)에서 어드레스래치에 보유된다. 기억어드레스생성기(442)는 어드레스래치(441)에 기억된 열어드레스마다 기록어드레스를 생성한다.
기록어드레스생성기(442)는 열어드레스에 대응하는 열수와 동일한 수를 갖는 행의 행어드레스를 생성한다. 기록어드레스생성기(442)는 상기 기록신호(WRT)와 동기화된 각 열을 지정하는 열어드레스를 생성한다. 행어드레스에 열어드레스를 가산하여, 기록어드레스는 버퍼(334)에 변환결과를 공급한다.
그러므로, 연산처리기(412)로부터 출력된 역양자화 DCT 계수의 i번째 열에 대응하는 변환결과는 버퍼(334)의 i번째 행의 대응여백에 순차적으로 기억된다.
버퍼(333)가 3최상위 비트의 열어드레스 및 3최하위 비트의 행어드레스를 기억할때, 예컨대, 기록어드레스에 생성기(442)는 열어드레스를 행어드레스로 교환하여 버퍼(334)에 기억되도록 어드레스를 생성하는 데, 이것은 버퍼(334)가 행렬표시변환결과의 전치를 기억하도록 하며, 그리하여 전치된 행렬은 제2의 1차원 직교변환기(332)가 출력된다.
제33도는 변환결과의 일예를 보여준다. 특히, 제33도는 제32도에 도시된 역양자화 DCT 계수에 대응하는 전치행렬을 보여준다.
제33도에 설명한 바와같이, 행수 및 열수를 지시하는 후위를 가진 문자 h를 전치행렬에서 유효계수를 표시하며, 유효계수를 포함하는 역양자화 DCT 계수열에 대응하는 행은 유효계수를 포함하는 행이다.
제27도에 도시된 바와같이, 제24도에 도시된 제2의 1차원 직교변환기(332)는 제25도에 도시된 제1의 1차원 직교변환기(331)의 제로검출기(431) 대신에 분리제로검출기(631)를 갖춘 판독제어기로 구성된다.
제로검출기(431)와 같이, 제로검출기(631)는 변환결과의 각 열을 버퍼(335)에 입력하여 병렬로 0을 검출하여, 변환결과를 나타내는 행렬을 전치하여 얻어진 행렬에서 각 열에 대한 검출결과를 출력한다.
제1의 1차원 변환기(331)를 위한 버퍼(333)에 역양자화 DCT 계수가 기억되었기 때문에 제14도에 표시한 흐름도에 예시된 것과 유사한 처리논리는 열내의 8개의 역양자화 DCT 계수 및 다른 24개의 역양자화 DCT 계수가 의미가 있는지 없는지를 결정하는데 사용될 수 있다. 그러나 버퍼(334)는 제2의 1차원 직교변환기(322)를 위한 역양자화 DCT 계수를 열방향으로 기억하지 않는다. 이것은, 제1의 1차원 직교변환기(331)는 8개의 역양자화 DCT 계수를 열방향으로 순차로 얻어진 8개의 역양자화 DCT 계수는 위치변환으로 인해 행방향으로 배열되기 때문이다.
따라서, 제2의 1차원 직교변환기(332)의 0검출은 제1의 1차원 직교변환기(331)에 대한 것과는 다른 방식으로 행해져야 한다.
예컨대 변환결과의 각 열에 있는 성분들이 0인지 아닌지를 가리키는 비트맵이 먼저 작성된다. 비트맵의 논리합은 순차적으로 얻어져 그 결과는 변환된 행렬에 있는 각 열이 유효 변수를 포함하고 있는가를 가리키는 검출결과로서 출력된다.
유사하게, 변환결과의 제5 내지 제8열에 해당하는 비트맵의 논리합이 얻어지고, 결과의 논리보수는 변환된 행렬의 각 열의 후반이 유효계수를 포함하고 있는지 없는지를 나타내는 검출결과로서 출력된다.
즉, 제14도에 표시된 스텝들은 각 열위치에 해당하는 8상으로 행해지며 행내 각 성분에 해당하는 처리는 행내 각 성분이 입력될때마다 실행되고 그리하여 8개의 역양자화 DCT 계수가 얻어진다.
이 경우에는 상술한 제로검출기(431)에서 처럼 제로검출기(631)는 전반부(제1반부) 및 후반부내의 모든 성분들이 무효 계수일 때는 검출결과 “01”을 출력한다. 제로검출기(631)는 후반부의 모든 성분이 무효계수이나, 전반부에 있어 적어도 한 성분이 유효계수일 때는 검출결과 “11”을 출력한다. 모든 그외의 경우에는 제로검출기(631)는 검출결과 “01”을 출력한다. 제34도는 열어드레스와 플래그 사이의 관계를 예시한다.
예컨대, 제34도에 표시된 것처럼 제로검출기(631)가 제33도에 표시된 전치행렬을 위해 0검출을 행할 때는, 열어드레스 기억부(432)는 제1 내지 제8열에 해당하는 열어드레스 C1내지 C8및 각 열의 후반에 있는 모든 성분들이 무효계수임을 표시하는 플래그 “1”을 보유하며, 카운터(433)의 카운터치는 “8”이 된다.
판독어드레스 생성기(434)는 열어드레스 기억부(432)에 보유된 열어드레스에 의거하여 판독어드레스를 생성한다. 제1의 1차원 직교변환기와 유사하게, 연산처리기(412)는 제2의 1차원 직교변환을 수행한다. 또한 기록제어기(414)가 연산처리기(412)에 의해 얻어진 연산결과를 버퍼(335)에 기록하는 것을 제어할 때에 버퍼(335)는 2차원 역 DCT 결과를 표시하는 전치행렬을 기억하고 그것을 재구성된 데이타로서 출력한다.
상기와 같이 각각 승산기, 가산기 및 그것들을 연결시키는 레지스터로 구성되어 이는 4조의 연산회로(501)는 1차원 역 DCT를 수행하기 위한 연산처리기(412)를 구성하는데 사용된다. 제로검출기(431)는 역양자화 DCT 계수열의 반단위에 있는 0들을 검출한다. 연산처리기(412)는 검출결과당 버퍼(333)로부터의 역양자화 DCT 계수 그리고 정수메모리(411)로부터의 변환정수를 판독하는 것을 제어한다.
따라서 연산처리기(412)는 역양자화 DCT 계수열의 반단위에 유효계수를 포함하고 있는 블록의 역양자화 DCT 계수열만을 받아들이고 스테이지간 대기없이 파이프라인에서 스테이지 ST1 내지 ST5에 있는 행동을 효율적으로 처리한다.
예컨대 제32도에 표시된 역양자화 DCT 계수에 대한 1차원 역 DCT를 수행함으로써, 연산처리기(412)에 의한 파이프라인 처리에 필요한 총스텝은 제33도에 표시된 것처럼 33이고 계산용량은 크게 감소된다.
그래서 소형 직교변환회로는, 화상데이타 재구성장치가 보다 소형화되고 보다 처리속도가 빠르게 할 수 있는 고속직교변환처리에 사용될 수 있다.
제24도에 표시된 버퍼(333)가 두블록에 대한 역양자화 DCT 계수의 데이타량을 기억할 용량을 갖도록 만들어지면, 다음 블록에 대한 역양자화 DCT 계수의 입력과 병행하여 이미 입력된 역양자화 DCT 계수에 대해 제1의 1차원 직교변환이 행해질 수 있으며, 이로서 화상재구성에 필요한 시간이 더욱 단축된다.
유사하게 버퍼(334)가 두 블록에 대한 역양자화 DCT 계수의 데이타량을 기억할 용량을 갖도록 만들어지면, 변환결과의 버퍼(334)에의 입력과 병행하여 제2의 1차원 직교변환이 수행될 수 있고, 그리하여, 화재구성에 필요한 시간이 더욱 단축된다.
또한, 역 DCT장치(330)는, 버퍼(334)에 기억된 제1의 1차원 직교변환의 결과를 연산처리기(412)에 재입력함으로써, 한 연산처리기(412)가 제1의 1차원 직교변환과 제2의 1차원 직교변환양자를 수행하도록 하는 구성을 가질 수 있다.
예시적 구성이 제28도에 도시되어 있는데, 거기서는 제27도에 도시된 제2의 1차원 직교변환기(332)의 판독제어기(613)가 제25도에 도시된 제1의 1차원 직교변환기(331)에 부가되어 있고, 연산처리기(412)는 선택기(590)에 의해 선택된 버퍼(333 및 334)로부터의 어느 한 출력을 받는다.
이 경우에, 선택기(590)가 버퍼(333)와 연산처리기(412)를 연결하는 동안에 제1의 1차원 직교변환이 수행된다. 그것이 완료되면 선택기는 스위칭되어 버퍼(334)를 연산처리기(412)와 연결한다.
또한, 판독제어기(613)가 버퍼(334)로부터의 역양자화 DCT 계수 그리고 정수메모리(411)로부터의 변환정수를 판독하는 것을 제어하게 함으로써, 변환결과가 각 성분 및 해당하는 변환정수를 제2의 1차원 직교변환을 수행하도록 연산처리기(412)에 입력되고, 그리하여 제2의 1차원 직교변환이 완전히 처리된 뒤 다음 블록의 역양자화 DCT 계수가 처리된다.
그래서 한 연산처리기(412)가 제1 및 제2의 1차원 직교변환 두가지를 수행하게 하는 구조를 사용함으로써 역 DCT장치(330)의 회로크기는 더욱 감소될 수 있다.
제35도는 본 발명의 제5실시예에 있어 양자화 변환을 코딩하기 위한 장치의 원리를 예시한다.
제35도에 표시된 본 발명의 제5실시예는 코드화장치에 관한 것으로, 각각 원화상으로부터 분할된 복수(N×N ; N은 양의 정수)의 화소로 되어 있는 각 블록에 있는 화상데이타에 대해 2차원 직교변환을 행한 결과가 양자화되고 그런뒤 코드화된다.
화상신호 기억부(701)는 원화상의 화상신호를 받아서 원화상의 적어도 한 블록 화상 신호를 보유한다.
2차원 DCT장치(702)는 블록단위로 화상신호기억부(701)에 보유된 화상신호에 대해 2차원 DCT를 수행한다. DCT 계수 기억부(703)는 적어도 한 블록에 대한 역양자화 DCT 계수를 보유한다.
선형 양자화기(704)는 DCT 계수 기억부(703)에 보유된 역양자화 DCT 계수를 선형으로 양자화하고 양자화계수를 출력한다.
양자화계수 기억부(705)는 적어도 한 블록에 대한 양자화계수를 보유한다.
가변길이 코더(706)는 양자화계수 기억부(705)에 보유된 양자화계수를 코드화한다.
화상신호기억부(701), DCT 계수기억부(703) 및 양자화계수 기억부(705)의 각각은 입력 데이타를 보유하기 위한 제1 및 제2메모리, 공급된 입력데이타를 제1 및 제2메모리에 선택적으로 출력시키기 위한 제1선택기, 제1 및 제2메모리로부터의 출력을 선택하기 위한 제2선택기, 및 제1선택기가 입력데이타를 제1메모리에 출력할때 제2선택기로 하여금 제2멀티플렉서로부터의 출력을 선택하게 하기 위한 또한 제1선택기가 입력데이타를 제2메모리에 출력할때 제2선택기로 하여금 제1메모리로부터의 출력을 선택케 하기 위한 제어기로 되어 있다.
본 발명의 제5실시예에 있어서는, 2차원 DCT장치(702), 선형양자화기(704) 및 가변길이 코더(706)가 화상신호에 대해 DCT를 순차로 수행한 뒤에는, 이들은 선형으로 양자화되고 가변길이로 코드화되고 그리하여 화상신호는 코드데이타로 변환된다. 코딩동안 화상신호를 보유하는 화상신호기억부(701)는 원화상의 한블록을 기억하고 그것을 블록단위로 2차원 DCT장치(702)에 공급한다.
DCT 계수 기억부(703)는 2차원 DCT장치(702)에 의해 얻어진 역양자화 DCT 계수를 수신하고 유사하게 그것들을 블록단위로 보유한다. DCT 계수 기억부(703)는 두 블록을 기억하기 위해 원화상의 한 블록에 필요한 용량의 2배의 기억용량을 갖고 있다. DCT 계수 기억부(703)의 일부분이 2차원 DCT장치(702)로부터 출력된 역양자화 DCT 계수를 기억할 때, DCT 계수 기억부(703)의 다른 부분은 그의 기억된 데이타를 선형양자화기(704)에 출력한다.
선형양자화기(704)는 역양자화 DCT 계수를 선형으로 양자화하고 그것들을 양자화계수기억부(705)에 기억한다. 양자화계수 기억부(705)도 또한 원화상의 두블록에 대한 기억용량을 갖고 있다. 양자화계수 기억부(705)의 일부는 선형양자화기(704)로부터 공급된 양자화계수를 기억한다. 가변길이 코더(706)는 양자화계수기억부(705)의 다른 부분에 기억된 양자화계수를 선택하고 이들이 코드화될 수 있도록 가변길이코더(706)에 공급한다.
예컨대 한 블록의 원화상에 대한 화상신호가 완전히 변환될 때는, 화상신호기억부(701), DCT 계수 기억부(703) 및 양자화계수 기억부(705)는 2차원 DCT, 선형양자화 및 가변길이 코딩을 동시에 수행하기 위해 그들의 각 정보부분을 스위칭한다. 즉 각 제어기는 현재 선택되고 있는 것이 아닌 다른 제1 및 제2메모리 중의 하나를 선택하기 위해 제1 및 제2선택기를 갖고 있다. 예컨대 제1선택기가 제1메모리로부터의 입력데이타를 제2메모리에 또는 그 역으로 출력하기 위해 변화할 때(스위칭)는, 제2선택기는 제2메모리로부터의 출력을 제1메모리로 또는 그 역으로 선택하도록 변화한다. 각 변환데이타의 중간저장(기억)을 위해 두개의 메모리가 설치되어 있기 때문에 변환단계는 병행해서 행해질 수 있고 처리는 신속화 될 수 있다.
제37도는 본 발명의 제5실시예에 있어 ADCT 방법에 따른 코딩회로의 구성을 보여준다.
화상신호수신기(771)로부터 공급된 8×8 화소로 되어 있는 블록을 나타내는 화상신호는 화상신호기억부(772)에 일시적으로 기억된다.
2차원 DCT장치(773)는 화상신호기억부(772)로부터 공급된 화상신호를 DCT를 통해 그것들을 직교변화함으로써, DCT 계수 기억부(774)에 출력한다.
DCT 계수기억부(774)는 역양자화 DCT 계수를 일시적으로 기억한다.
선형양자화기(775)는 광학실험으로 구해진 역치를 가진 양자화 행렬(776)에 의해 DCT 계수 기억부(774)로부터 입력된 역양자화 DCT 계수를 선형적으로 양자화하여 그것들을 양자화계수기억부(777)에 출력한다.
양자화계수 기억부(777)는 양자화된 계수를 일시적으로 기억한다.
가변길이 코더(778)는 코딩테이블(779)에 의해 양자화계수 기억부(777)로부터 공급된 양자화계수를 가변길이로 코드화한다.
DC성분들에 관해서는, 가변길이 코더(778)는 블록의 헤드끝에 있는 DC성분과 선행블록에 있는 DC성분 사이의 차를 가변길이로 코드화한다.
AC성분에 관해서는, 가변길이 코더(778)는 각 블록에 대한 인덱스 및 런을 가변길이로 코드화한다. 코딩테이블(779)은 DC성분 및 AC성분들 코드화하기 위해 사용된다. 단자(780)는 얻어진 코드데이타를 순차로 출력한다.
제38a도, 38b도 및 38c도는 본 발명의 제5실시예에 사용된 역양자화 DCT 계수기억부의 구조 및 데이타흐름을 예시한다.
더욱 특별히, 제38a도는 구성성분들 사이의 신호교환을 도시하며, 제38b도는 m번째 블록을 위한 데이타 흐름을 도시하고 제38c도는 (m+1)번째 블록을 위한 데이타 흐름을 도시한다.
2차원 DCT장치(773)로부터의 출력이 DCT 계수기억부(774)에서의 A부기억장치(774-1)와 B부기억장치(774-2)에 공급된다.
A부기억장치(774-2)와 B부기억장치(774-2)로부터의 출력이 선형 양자화기(775)에 공급된다. 제어부(774-3)는 A부기억장치(774-1)와 B부기억장치(774-2)상에서 (기록인에이블신호(WEA 및 WEB에 의한) 기록제어와 (판독인에이블신호(REA 및 REB)에 의한)판독제어를 실행한다.
A부기억장치(774-1)가 2차원 DCT장치(773)로부터의 출력을 기억할때, 제어부(774-3)는 A부기억장치(774-1)가 기록되도록 하기 위하여 기록인에이블신호(WEA)를 A부기억장치(774-1)에 공급한다.
B부기억장치(774-2)가 2차원 DCT장치(773)로부터의 출력을 기억할때, 제어부(774-3)는 B부기억장치(774-2)가 기록되도록 하기 위하여 기록인에이블신호(WEB)를 B부기억장치(774-2)에 공급한다.
유사하게, DCT 계수 기억부(774)가 기억되어 있는 데이타를 선형 양자화기(775)에 출력할 때, 제어부(774-3)는 A부기억장치(774-1) 또는 B부기억장치(774-2)에 이들중 어느 하나가 그것의 기억된 DCT 계수를 출력하도록 하기 위하여 판독인에이블신호(REA 또는 REB)를 공급한다.
제어부(774-3)는 2차원 DCT장치(773)로부터 준비완결신호(DBRDY#)와 선형 양자화기(775)로부터의 준비완결신호(QBRDY#)를 수신한다.
제어부(774-3)는 2차원 DCT장치(773), 선형양자화기(775), A부기억장치(774-1) 및 B부기억장치(774-2)에 처리개시신호(BSIT#)를 출력한다.
제38a도에 도시된 DCT 계수기억부의 연산은 m번째 및 (m+1)번째 블록에서의 데이타 흐름을 예시하는 제38b 및 38c도와 관련하여 더 상세하게 설명될 것이다. m번째 블록에서, 2차원 DCT장치(773)는 2차원 DCT장치(773)에 의하여 DCT를 통하여 얻어진 DCT 계수를 DCT 계수 기억부(774)의 A부기억장치(774-1)에 기록하고 DCT 계수 기억부(774)의 B부기억장치(774-2)는 동시에 판독하고 (m-1)번째 블록의 DCT 계수를 양자화되는 선형 양자화기(775)에 출력한다.
(m-1)번째 블록용 DCT가 완결될때, 2차원 DCT장치(773)는 제어부(774-3)에 다음 블록을 처리하기 위한 준비완결신호(DBRDV#)를 출력한다.
유사하게, 선형 양자화기(775)가 양자화를 완결할 때, 준비완결신호(QBRDY#)를 제어부(774-3)에 출력한다.
비록 제38a, 38b 및 38c도에서는 도시되지 않았지만, 가변길이 코더(778)는 준비완결신호(VBRDY#)를 제어부(774-3)에 출력한다.
제어부(774-3)는 준비완결신호의 3종류에 대하여 모두“온”을 검출할 때 다음 블록을 위하여 처리개시신호(BSTT#)를 2차원 DCT장치(773), 선형양자화기(775), 및 가변길이코더(778)에 출력한다.
처리개시신호(BSTT#)는 (m+1)번째 블록을 위하여 처리를 일으킨다.
이때에, 제어부(774-3)는 A부기억장치(774-1)와 B부기억장치(774-2)를 스위치한다. 즉 2차원 DCT장치(773)에 의하여 DCT를 통하여 얻어진 (m+1)번째 블록을 위한 역양자화 DCT 계수가 DCT 계수기억부(774)의 B부기억장치(774-2)로 기록된다.
동시에 마지막으로 기록된 m번째 블록의 역양자화 DCT 계수는 역양자화 DCT 계수기억부(774)의 A부기억장치(774-1)로부터 판독되어 양자화되기 위하여 선형 양자화기(775)로 출력된다. 화상신호기억부(772)와 양자화 계수기억부(77)의 연산은 지금까지 설명된 DCT 계수기억부의 것과 유사하다.
전체 원래 화상은 2블록을 위하여 메모리를 갖춘 개별장치, 즉 화상신호기억장치(772), DCT 계수기억부(774) 및 양자화계수기억장치(777)를 구성하는 단계, 메모리의 다른 부분으로부터 다른 1블럭용 데이타를 동시에 판독하면서 메모리의 부분에 1블럭용 데이타를 기록하는 단계, 및 3종류의 처리를 위하여 준비완결신호를 검출하여 1블록의 데이타를 판독하기 위한 메모리의 부분을 다른 블럭의 데이타를 기록하기 위한 메모리의 다른 부분으로 스위치하기 위하여 제어부가 처리개시신호를 생성하게하는 단계를 포함하는 처리를 그것의 개별 블록마다 반복하여 코딩된다.
제38a도에 도시된 제5실시예에는 A부기억장치(774-1)와 B부기억장치(774-2)가 블록단위로 메모리용량을 가지며 블록에 대하여 처리가 완결될 때 서로 스위치되도록 구성되지만, 하나의 전체화상의 단위 즉 하나의 전체 페이지 단위로 유사하게 그들을 구성하는 것도 가능하다. 또한, 제38a도에 도시된 제5실시예가 기록인에이블신호와 판독인에이블신호가 A부기억장치(774-1)와 B부기억장치(774-2)로의 입력과 A부기억장치(774-1)와 B부기억장치(774-2)로부터의 출력을 서로 스위치시키는 구성을 경우에는 다른 구성이 사용될 수 있다. 예를 들어 2차원 DCT 장치(773)로부터 A부기억장치(774-1)와 B부기억장치(774-2)의 입력측상에 A부기억장치(774-1) 또는 B부기억장치(774-2)로 선택적으로 출력을 공급하기 위하여 선택기를 제공하며 또한 A부기억장치(774-1) 또는 B부기억장치(774-2)로부터 선형 양자화기(775)로 출력을 선택적으로 공급하기 위한 다른 선택기를 제공하며, 반대메모리를 선택하기 위하여 선택기를 구성함으로써 가능하게 이루어진다.
유사한 연산이 예를 들어, A부기억장치(774-1)가 2차원 DCT 장치(773)로부터 출력을 수신할때 B부기억장치(774-2)로부터 선형양자화기(775)로 출력을 선택적으로 공급하며, B부기억장치(774-2)가 2차원 DCT 장치(773)로부터 출력을 수신할 때 A부기억장치(774-1)로부터 선형 양자화기(775)로 출력을 선택적으로 공급하여 실현될 수 있다. 앞서 기술한 제1 내지 제4실시예중 하나와 제5실시예를 결합하여 방법이 더욱 촉진될 수 있다. 예를 들어, N×N 블록을 처리하기 위한 파이프라인 프로세서는 처리개시신호를 수신하기 위하여 가변길이 디코더(782), 역양자화기(785)로 구성되어 그들이 블록처리를 시작하고 준비완료신호를 출력하여 그것들이 다음 블록을 처리하기 위하여 스위치되게 한다.
코드데이타로부터 화상신호를 얻기 위한 재구성회로는 0이 역 DCT에 관련된 연산의 승산의 항으로써 계속되도록하는 경우를 갖기도 한다. 종래에 많은 시간이 역 DCT를 위하여 요구되었고 심지어 파이프라인 처리도 결점을 제거할 수 없었다. 그러나, 이 실시예는 0의 연속을 검출하여 불필요한 0계산을 건너띄기 때문에 파이프라인처리가 더욱 신속이 처리될 수 있다.
제36도는 본 발명의 제6실시예에서의 디코딩회로의 구성을 도시한다. 제6실시예는 원래의 화상으로부터 분할된 다수의 (N×N : N은 양의 정수)화소를 각각 포함하는 각각의 블록에서의 복수화소의 그라이언트값에 대한 2차원 DCT를 시행하여 얻어진 변환계수를 양자화하여 얻어지는 양자화된 계수를 코딩하여 얻어진 데이타로부터 화상을 재구성하기 위한 화상데이타 재구성장치에 관한 것이다. 가변길이 디코더(707)는 코드데이타를 수신하여 디코드하고 양자화된 계수를 출력한다. 양자화계수기억부(708)는 양자화된 계수를 보유한다. 역양자화기(709)는 양자화계수기억부(708)에 기억된 양자화된 계수를 역양자화하고 역양자화된 DCT 계수를 출력한다. DCT 계수기억부(710)는 DCT 계수를 출력한다. DCT 계수기억부(710)는 DCT 계수를 보유한다. 역 DCT 장치(711)는 DCT 계수기억부(710)에 부유된 DCT 계수에 대한 역 DCT를 시행하여 화상신호를 출력한다. 화상신호기억부(712)는 화상신호를 보유한다. 양자화계수기억부(710) 및 화상신호기억부(712) 각각은 입력데이타를 보유하기 위한 제1 및 제2메모리로 공급된 입력데이타를 선택적으로 공급하기 위한 제1선택기, 제1 및 제2메모리로부터의 출력을 선택하기 위한 제2선택기 및 제1선택기가 입력데이타를 제1메모리에 출력할 때 제2선택기가 제2메모리로부터 출력을 선택하게 하고 제1선택기가 입력데이타가 제2메모리에 출력할 때 제1선택기가 제1메모리로부터의 출력을 선택하기 위한 제어부를 포함한다.
가변길이 디코더(707)는 입력된 코드데이타를 디코드하여 양자화 계수기억부(708)에 양자화계수로서 그것들을 공급한다. 양자화계수기억부(708)는 1메모리에 디코딩된 양자화계수를 기억하고 다른 메모리에 기억된 양자화계수를 역양자화기(709)에 출력한다. 역양자화기(709)는 DCT 계수로 변환을 위하여 양자화계수를 사용한다. DCT 계수기억부(710)에서의 1메모리는 양자화계수기억부(708)에 의하여 변환된 DCT 계수를 기억한다. DCT 계수기억부(710)에서의 다른 메모리는 앞서 기억된 DCT 계수를 역 DCT 장치(711)에 출력한다. 역 DCT 장치(711)는 수신된 DCT 계수에 대하여 역 DCT를 시행하여 그 결과를 화상신호기억부(712)에 출력한다. 1블록 또는 1원래화상을 위한 변환의 완결에 따라, 양자화 계수기억부(708), DCT 계수기억부(710) 및 화상신호기억부(712)는 제1 및 제2메모리를 서로 스위치한다. 2차원 DCT 장치(702), 선형양자화기(704), 가변길이코더(706), 가변길이디코더(707), 역양자화기(709) 및 역 DCT 장치(711)는 블록 또는 원래 화상의 단위로 변환 또는 역변환을 병렬로 시행하여 처리를 촉진시킨다.
제39도는 본 발명의 제6실시예에서의 ADCT 방법에 따른 화상재구성의 원리를 예시한다. 가변길이디코더(782)는 단자(781)에 입력된 데이터를 수신하여 디코딩 테이블(783)에 의하여 코딩된 데이타를 인덱스 및 런을 포함하는 고정길이 데이타로 디코드한 후 디코딩된 데이타를 디코딩된 양자화계수를 일시적으로 기억하는 양자화계수기억부(784)로 공급한다. 역양자화기(785)는 양자화 행렬(786)을 사용하는 양자화계수기억부(784)로부터 입력된 양자화계수를 역양자화하여 그 결과를 DCT 계수를 일시적으로 기억하는 DCT 계수기억부(787)에 출력한다.
2차원 역 DCT 장치(788)는 역 DCT를 시행하여 DCT 계수기억부(787)로부터 입력되는 역양자화 DCT 계수를 직교변화하여 공간주파수 분포를 가지는 계수를 화상신호로 변환시키고 나서 얻어진 화상신호를 일시적으로 기억하는 화상신호 기억부(789)로 출력한다. 원래의 화상은 화상신호출력장치(790)를 통하여 화상신호기억부(789)로부터 판독된 신호를 출력함으로써 재구성될 수 있다.
제39도에 도시된 것처럼 ADCT 방법에 의한 재구성은 제38a도에 도시된 것과 유사한 구성, 즉 2블록 또는 2화상을 기억하기 위한 2개의 부(sub) 기억장치를 각각 갖춘 양자화 계수기억부(784), DCT 계수기억부(787) 및 화상신호기억부(788)를 제공하며 그리고 하나의 블록 또는 화상의 단위로 역변환을 시행하여 처리된다.
제40도는 본 발명의 제5 및 제6실시예에 있어서의 1차원 DCT 장치의 구성을 도시한다. 앞서 기술된 것처럼, 2차원 DCT는 2개(매시간마다 수평 및 수직)의 1차원 DCT를 실행하여 시행될 수 있다. 제40도는 그와같은 1차원 DCT가 어떻게 시행되는가를 예시한다. 제40도에 도시된 1차원 DCT 장치는 로컬 CPU(792)로부터 레지스터(801 내지 804)로 선택지시신호(SEL)에 의하여 선택되는 정수를 출력하는 정수기억부(메모리)(791)를 포함한다. 레지스터(800)는 도트로 화상신호를 수신하여 그것들을 승산기(811 내지 814)의 단자에 출력한다. 그동안 레지스터(801 내지 804)는 승산기(811 내지 814)의 다른 단자에 각각 정수를 공급한다. 그러면, 승산기(811 내지 814)는 레지스터(800)에 기억된 화상신호를 정수메모리(791)로부터 출력되며 레지스터(801 내지 804)에 기억되는 정수에 승산하여 그 승산을 레지스터(821 내지 824)에 기억한다. 1차원 DCT 장치는 승산기(811 내지 814)가 해당하는 것에 행렬성분을 승산시킴으로써 행렬승산을 시행한다. 여기에서, 8×8승산 행렬의 열이 4개의 승산 행렬성분의 병렬계산의 2개의 교대설정에 의하여 순차적으로 얻어진다.
가산기(831 내지 834)는 레지스터(821 내지 824)에 기억되고 레지스터로부터 출력되는 승산기(811 내지 814)에 의하여 얻어지는 승산을 수신하며 로컬 CPU(792)로부터 선택지시신호(SEL)당 회로(MPX)(851 내지 854)를 선택하는 것으로부터 출력되는 누적에 승산을 가산하여 레지스터(841A 내지 844A) 또는 레지스터(841B 내지 844B)중 어느하나에 합을 출력한다. 승산된 행렬은 8개의 행 및 열을 가지며 레지스터(841A 내지 844B)는 서로 8×8 행렬 승산에서 얻어진 승산의 항들의 8개의 합을 기억한다. 각 시간에 레지스터(800)는 화상신호를 수신하고 정수메모리(791)는 2세트의 정수를 출력하고 승산기(811 내지 814)는 2세트의 승산을 시행하고 가산기(831 내지 834)는 2세트의 누적을 시행한다. 레지스터(841A 내지 844A)는 한세트의 누적을 레지스터(841B 내지 844B)는 다른 것을 수신한다. 선택회로(MPX)(851 내지 854)는 어느 한 세트를 선택한다.
즉, 레지스터(861A 내지 864A)는 승산기(811 내지 814)에 의하여 얻어진 8개의 승산을 항을 가산기(831 내지 834)에 의하여 8개의 누적으로서 각각 얻어진 4개의 합을 기억하고, 레지스터(861B 내지 864B)도 유사하게 얻어진 다른 4개의 합을 기억한다. 그래서, 가산기(831 내지 834)와 승산기(811 내지 814)의 4쌍의 각각 전체 8개의 합을 생성하기 위하여 8번의 승산과 8번의 누적을 시행한다.
상기에서 기술된 것처럼, 4개의 현재 연산의 2세트는 교대로 시행되어, 레지스터(861A 내지 864A)와 레지스터(861B 내지 864B)는 선택적으로 데이타를 기억한다. 8개의 변환된 데이타가 8번의 가산과 8번의 승산을 포함하는 전체 16번의 연산이 각각 완결됨에 따라 레지스터(861A 내지 864B)에서 얻어질 때, 선택회로(MPX)(870)는 차례로 레지스터(861A 내지 864B)로부터 출력되는 8개의 변환된 데이타를 선택하여 그것들을 DCT 계수로서 출력한다. 이후에 기술된 선택회로(MPX)(851 내지 854 및 870)는 1차원 DCT 장치가 코딩 또는 재구성을 위하여 사용되는가 여부뿐만 아니라 그들이 어떻게 정의되는가에 따라 디멀티플레서 또는 멀티플렉서에 의하여 형성될 수 있다.
역 DCT는 역양자화 DCT와 마찬가지로 행렬연산을 시행하며 그래서 비록 다른 데이타가 입력되지만 동일구성을 가진다는 점에서 서로 유사한다. 즉, 화상신호가 역양자화 DCT 계수로부터 재구성되는 제26도에서 도시된 구성은 화상신호가 역양자화 DCT 계수로 코딩되는 제40도에 도시된 것과 동일하다.
비록 1차원 역양자화 DCT가 다른 변환보다 연산시간을 더욱 요하지만, 제40도에 도시된 본 발명의 DCT 차원 DCT 장치는 8×8 승산 행렬에서 4개의 열성분의 교대 2세트를 병렬로 계산하기 위하여 구성되는 때문에, 연산을 위하여 요구되는 시간은 파이프라인처리로 제37 및 제39도에서 도시된 코딩과 재구성을 시행함으로써 단축될 수 있다.
앞서 기술된 것처럼, 본 발명은 디코딩된 역양자화 DCT 계수를 동시에 기억하며 0값 역양자화 DCT 계수를 검출하여 0값과 0이 아닌값은 역양자화 DCT 계수의 열분포를 표시하는 플래그에 설정된 값마다 역 DCT 장치로 출력되는 DCT 계수의 수를 제어함으로써 화상재구성이 가능하게 이루어지는 역 DCT 연산의 수를 현격한 감소를 통하여 처리되는 것을 가능하게 한다.
추가로, 승산기와 가산기의 N세트를 포함하는 역 DCT 장치가 파이프라인 연산을 시행하고 만약 열에서의 N계수가 모두 0이면 N개의 입력된 데이타상에서 역 DCT를 건너띄거나, 열에서의 N/2 계수가 모두 0으로하며, N/2 입력된 데이타상의 역 DCT를 건너띄고 변환결과를 출력하기 위하여 사이클을 제어하여 N/2의 장치에서의 입력된 데이타에서 0값을 검출하고 본 발명은 파이프라인 처리를 혼란시킴이 없이 2차원 역 DCT 장치가 대단히 크기가 작아지고 화상재구성이 신속하게 처리되는 것을 가능하게 한다. 더욱이, 중요계수를 포함하는 부분열이 역양자화 DCT 계수를 포함하는 행렬로부터 추출되게하고 직교변환이 그와 같은 부분열에 대하여만 시행될 수 있도록 함으로써, 본 발명은 역 DCT에서의 계산의 수를 감소시켜 더욱 작은 회로가 더욱 고속으로 역 DCT를 수행하도록 허용하여, 화상데이타 재구성장치의 크기를 줄이며 재구성을 위하여 요구되는 시간을 단축시키는 것이 가능하다.
그외에 본 발명은 ADCT 방법마다 코딩과 재구성처리를 변환과 역변환의 다른 종류로 나누어 각 처리단계에서 계수를 기억하기 위한 기억부를 제공하여 고속 동시처리를 형용한다.
마지막으로, 각각의 기억부는 2블록 또는 2화상을 위한 메모리용량을 가지기 때문에, 1블록 또는 화상을 위한 부기억장치에 대한 기록 및 다른 블록 또는 화상을 위한 다른 것으로 부터의 판독이 동시에 시행된다. 기록 및 판독은 다단계 파이프라인 처리에서 시행되는 각 처리단계의 스텝을 관찰하여 플립플롭되도록 하기 때문에, 본 발명은 코딩과 재구성을 신속하게 처리한다.
상술된 바와 같이, 비록 상기 실시예의 행렬식의 열에서 무효계수를 제로로 검출하도록 단지 2개의 제어플래그가 사용될지라도, 불필요한 연산을 추가로 제거하기 위해서는 2개 이상의 제어플래그가 열의 계수를 부분할하는데 사용될 수 있다. 이것은 고속처리로 화상데이타를 파이프라인 처리하는 부분할의 회수에 대하여 하드웨어의 크기가 역비례하게 할 수 있다.

Claims (41)

  1. 원화상을 다수의 화소 N×N을 포함하는 다수의 블록으로 분할하고, 상기 각 블록에서의 다수의 상기 화소의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어지는 양자화계수로부터 코딩된 데이타에 의하여 원화상을 재구성하기 위한 화상데이타 재구성 방법에 있어서, N×N 디코딩된 직교변환계수를 기억하는 제1단계 ; 상기 N×N 변환계수중에서 0과 0이 아닌 계수의 분포를 표시하는 플래그정보를 병렬프로세스세트에 설정하는 제2단계 및 입력변환계수를 대하여 역직교변환을 수행하여 입력변환계수를 화상신호로 재구성하는 제3단계를 포함하며, 상기 제3단계에 의하여 기억되는 변환계수의 판독연산이 제어되는 것을 특징으로 하는 화상데이타 재구성방법.
  2. 제1항에 있어서, 상기 제1단계에서 기억되며 디코딩된 변환계수가 0인가의 여부를 결정하는 제4단계를 포함하며, 상기 제4단계에서의 결정의 결과에 따라 상기 제2단계가 N×N 변환계수중에서 0과 0이 아닌 계수의 분포를 표시하는 플래그 정보를 설정하는 것을 특징으로 하는 화상데이타 재구성방법.
  3. 제1항에 있어서, 상기 제2단계가 N변환계수의 1열이 모두 0인지의 여부를 표시하는 제1플래그를 포함하는 것을 특징으로 하는 화상데이타 재구성방법.
  4. 제3항에 있어서, 상기 제1단계 내지 제3단계에 의하여 기억된 N변환계수의 상기 1열의 판독연산은 만약 제1플래그가 상기 제2단계에서 N변환계수의 상기 제1열이 모두 0인 것을 표시하기 위하여 설정되면 금지되는 것을 특징으로 하는 화상데이타 재구성방법.
  5. 제1항에 있어서, 상기 제2단계는 1열에서의 마지막 N변환계수가 모두 0인지의 여부를 표시하는 제2플래그를 포함하는 것을 특징으로 하는 화상데이타 재구성방법.
  6. 제5항에 있어서, 상기 제2단계는 1열에서의 마지막 N/2 변환계수가 모두 0인지의 여부를 표시하는 제2플래그를 포함하는 것을 특징으로 하는 화상데이타 재구성방법.
  7. 제6항에 있어서, 상기 제1단계 내지 제3단계에 의하여 기록된 제1의 N/2 변환계수의 상기 1열의 판독연산은 만약 상기 제2플래그가 상기 제2단계에서 마지막 N/2 변환계수의 상기 1열이 모두 0인 것을 표시하기 위하여 설정되면 허용되는 것을 특징으로 하는 화상데이타 재구성방법.
  8. 제6항에 있어서, 1열에서의 마지막 N/2 변환계수가 모두 0인지 여부를 표시하는 상기 제2플래그는 1열에서 N변환계수가 모두 0인지 여부를 표시하는 상기 제1플래그가 “적어도 하는 0이 아님”을 표시할 때 유효하고 ; 추가로 1열에서 마지막 N/2 변환계수를 표시하는 상기 제2플래그가 모두 0일때 설정되고, 상기 제1단계에서 기억되는 상기 1열에서의 단지 제1의 N/2 변환계수의 판독연산이 상기 제3단계로 허용되는 것을 특징으로 하는 화상데이타 재구성방법.
  9. 원화상을 다수의 화소 N×N을 포함하는 다수의 블록으로 분할하고, 상기 각 블록에서의 다수의 상기 화소들의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어지는 양자화 계수로부터 코딩된 데이타에 의하여 원화상을 재구성하기 위한 화상데이타 재구성장치에 있어서, 디코딩된 변환계수를 기억하기 위한 변환계수기억수단 ; 디코딩된 변환계수가 모두 0인지 여부를 결정하기 위한 제로검출수단 ; 상기 제로검출수단의 결정결과에 따라, N×N 변환계수중에서 0과 0이 아닌 계수의 분포를 표시하는 플래그를 병렬로 처리될 다수의 프로세스의 각 세트에 설정하기 위한 플래그 설정수단 ; 입력변환계수에 대하여 역직교변환을 수행하기 위하여 사용되는 입력변환계수를 기억하기 위한 변환정수기억수단 ; 상기 변환계수기억수단에 의하여 판독되는 변환계수를 역직교변환에 의하여 화상신호로 재구성하기 위한 역직교변환수단 및 ; 상기 변환계수기억수단과 상기 변환정수기억수단의 신호판독을 제어하고, 상기 플래그설정수단의 0표시에 의해 플래그가 설정될 때, 상기 역직교변환수단의 재구성 연산을 생략하도록 제어하기 위한 판독제어수단을 포함하는 것을 특징으로 하는 화상데이타 재구성방법.
  10. 제9항에 있어서, 상기 제로검출수단이 상기 변환계수를 기억할 때 상기 변환계수기억수단과 동시에 작업하는 것을 특징으로 하는 화상데이타 재구성장치.
  11. 제9항에 있어서, 1변환계수 기억영역은 변환계수의 1블록양을 기록하기 위하여 사용되고 다른 변환계수 기억영역은 거기에 이미 기록된 변환계수를 판독하기 위하여 사용되는 2블록의 변환계수기영역을 포함하며, 상기 변환계수기억수단과 상기 역 직교변환수단이 동시에 작업하는 것을 특징으로 하는 화상데이타 재구성 장치.
  12. 제9항에 있어서, 상기 제어수단은 상기 플래그 설정수단의 설정결과에 따라 작업하는 것을 특징으로 하는 화상데이타 재구성장치.
  13. 제9항에 있어서, 상기 플래그 설정수단은 1열에서의 N변환계수가 모두 0인지의 여부를 표시하는 제1플래그를 발생시키기 위한 제1플래그 발생수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  14. 제9항에 있어서, 상기 플래그 설정수단은 1열에서의 마지막 N/2 변환계수가 모두 0인지 여부를 표시하는 제2플래그를 발생시키기 위한 제2플래그 발생수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  15. 제9항에 있어서, 상기 플래그 설정수단은 1열에서의 N개의 변환계수가 모두 0인지의 여부를 표시하는 제1플래그와 1열에서의 마지막 N/2개의 변환계수가 모두 0인지의 여부를 표시하는 제2플래그를 사용하여 제3플래그를 발생시키기 위한 제3플래그 발생수단을 포함하며, 상기 제3플래그의 설정에 따라 변환계수판독연산을 제어하는 것을 특징으로 하는 화상데이타 재구성장치.
  16. 원화상을 다수의 화소 N×N을 포함하는 다수의 블록으로 분할하고, 상기 각 블록에서의 다수의 상기 화소의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어지는 양자화계수로부터 코딩된 데이타에 의하여 원화상을 재구성하기 위한 화상데이타 재구성장치에 있어서, N×N 디코딩된 변환계수를 기억하기 위한 변환계수기억수단 ; N×N 변환계수중에서 변환계수의 소정수 M에서의 카운트가 0인지의 여부를 검출하기 위한 제로검출수단 및 ; 입력변환계수가 역직교변환에 의하여 화상신호로 재구성되는 승산기 및 가산기의 N장치와 N누적결과를 기억하기 위한 하나의 래치를 포함하는 역직교변환 수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  17. 제16항에 있어서, 상기 역직교변환수단은 데이타의 입력 그리고 승산, 가산 및 변환의 출력이 동시에 수행될 수 있도록 제어하기 위한 변환제어수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  18. 제17항에 있어서, 상기 역직교환수단은 열에서의 N계수 또는 마지막 N/2 계수가 상기 변환계수기억수단에 기억되는 변환계수기억수단중에서 어떠한 것도 0이 아닌 열에서의 변환계수에 대해서만 역직교변환을 수행하는 것을 특징으로 하는 화상데이타 재구성장치.
  19. 제18항에 있어서, 상기 역직교변환수단은 N변환계수가 상기 변환계수기억수단으로부터 판독되는 열상에 소정의 수 L의 연산 사이클 및 처음 N/2 변환계수가 판독되는 열상에서의 소정의 수 L/2의 연산 사이클에서 연산을 수행하는 것을 특징으로 하는 화상데이타 재구성장치.
  20. 제19항에 있어서, 상기 역 직교변환수단의 변환제어수단은 1열에서의 N변환계수가 상기 변환계수기억수단으로부터 판독될때 한 사이클에서 역 직교변환의 N결과를 출력하고, 1열에서의 제1의 N/2 변환계수가 판독될때 1/2사이클에서의 역 직교변환의 상기 N결과를 출력하는 것을 특징으로 하는 화상데이타 재구성장치.
  21. N×N 화소를 포함하는 화상데이타의 각 블록에 대한 2차원 직교변환의 결과를 양자화하고, 코딩에 의하여 얻어진 입력코드를 디코딩하며 그 결과를 역 양자화하여 마지막으로 2차원 역직교변환을 수행하여 원화상을 재구성하기 위한 연산장치를 이용한 역 직교변환 방법에 있어서, 상기 화상데이타 블록상에서의 2차원 직교변환의 결과인 N행 및 N열 포함하는 계수행렬의 각 열을 각각이 소정수의 성분을 포함하는 부분수열로 분할하는 단계 ; 양자화에 의해 얻어진 0이 아닌 값을 포함하는 유효계수를 포함하는 부분 수열을 부분수열들로부터 추출하는 단계 ; 상기 추출된 부분 수열의 각 성분에 대하여 1차원 직교변환과 대응한 연산을 수행하는 단계 ; 1차원 역변환의 결과에 해당하는 열의 성분으로서 상기 추출된 부분수열에 해당하는 연산결과를 출력하는 단계 및 ; 상기 1차원 역변환의 결과에 대하여 2차원 역변환을 수행하는 단계를 포함하는 것을 특징으로 하는 역직교변환방법.
  22. 제21항에 있어서, 각열의 1차원 역변환의 결과가 전치 행렬에서 해당열의 성분으로서 출력되는 것을 특징으로 하는 역직교변환방법.
  23. N×N 화소를 포함하는 화상데이타의 각 블록에 대한 2차원 직교변환의 결과를 양자화하고, 코딩에 의하여 얻어진 입력코드를 디코딩하며, 그 결과를 역 양자화하여, 2차원 역직교변환을 마지막으로 수행하여 원화상을 재구성하기 위한 화상재구성장치의 역직교변환 회로에 있어서, N행과 N열을 포함하는 행렬로서 상기 입력된 계수 행렬의 각 성분을 기억하기 위한 계수기억수단 ; 상기 계수기억수단에 입력된 상기 계수행렬의 각열을 포함하는 각각의 부분 수열이 양자화의 결과로서 제로를 표시하지 않는 유효계수를 포함하는 유효부분 수열인가의 여부를 결정하기 위한 결정수단 및 유효부분수열로 결정하는 부분수열에 해당하는 상기 계수기억수단에서의 어드레스를 기억하기 위한 어드레스 기억수단을 포함하며, 상기 어드레스 기억수단에 기억된 어드레스에 따라, 유효부분수열에 포함된 각 성분을 상기 계수기억수단이 출력하도록 지시하는 판독제어수단 ; 상기 계수행렬의 각 성분에 해당하는 변환정수를 포함하는 N행 및 N열에서의 정수행렬을 기억하고, 상기 계수기억수단에 의해 출력된 계수행렬의 성분에 해당하는 정수행렬의 열에 포함되는 변환정수를 출력하기 위한 변환정수기억수단 ; 입력 계수행렬에서의 각 성분 및 상기 변환정수기억수단으로부터 출력된 변환정수에 대한 직교변환에 해당하는 연산을 수행하며 그 연산결과를 해당열에 대한 1차원 역변환결과로서 연산결과를 출력하기 위한 제1변환수단 ; 상기 제1변환수단의 출력을 기억하기 위한 변환결과기억수단 ; 상기 어드레스 기억수단에 기억된 어드레스에 따라, 상기 계수행렬에서의 해당열에 대한 1차원 역변환 결과의 상기 변환결과 기억수단에 기억위치를 지정하기 위한 기억제어수단 및 ; 상기 변환결과 기억수단에 기억된 1차원 역변환의 결과에 따라 2차원 직교변환을 수행하기 위한 제2변환수단을 포함하는 것을 특징으로 하는 역직교변환회로.
  24. 제23항에 있어서, 상기 계수기억수단이 2개의 상기 블록 각각에 해당하는 계수행렬을 기억할 수 있는 용량을 가지며 ; 상기 제1변환수단이 상기 계수기억수단에 대한 계수행렬의 입력과 동시에 1차원 역변환을 수행하는 것을 특징으로 하는 역직교변환회로.
  25. 제23항에 있어서, 상기 결정수단은 N/2 성분을 포함하는 부분수열이 유효 부분수열인지의 여부를 결정하며 ; 상기 변환정수 기억수단은 해당열의 제1의 N/2 변환정수와 상기 계수행렬의 각 성분의 출력에 따라 마지막 N/2 변환정수를 교대로 출력하며 ; 상기 제1변환수단은 상기 변환정수기억수단에 의하여 동시에 출력되는 N/2 변환정수에 각각 해당하는 N/2 연산수단을 포함하고 ; 상기 N/2 연산수단은 상기 성분에 따라 상기 변환정수기억수단으로 부터 교대로 출력되는 각각의 변환정수에 의하여 입력된 계수 행렬의 성분을 승산하기 위한 승산수단 ; 상기 승산수단에 의하여 교대로 얻어지는 각 승산의 결과를 누적하기 위한 누적수단 및 ; 상기 누적수단에 의하여 얻어진 각 누적결과를 기억하기 위한 기억수단을 포함하는 것을 특징으로 하는 역직교변환회로.
  26. 제25항에 있어서, 상기 제1변환수단은 상기 어드레스 기억수단에 기억된 상기 계수행렬에서의 각열에 포함된 유효부분열의 어드레스에 따라 상기 승산수단과 상기 누적수단에 의하여 연산의 실행수를 제어하기 위한 연산제어수단을 포함하는 것을 특징으로 하는 역직교변환회로.
  27. 제23항에 있어서, 상기 기록제어수단이 상기 제1변환수단에 의하여 얻어진 연산결과에 따라 상기 1차원 역변환의 결과를 포함하는 행렬이 전치되는 전치 행렬에서의 열을 위하여 상기 변환결과 기억수단에 어드레스를 발생시키기 위한 어드레스 발생수단을 포함하는 것을 특징으로 하는 역직교변환회로.
  28. 제27항에 있어서, 상기 1차원 역변환의 입력된 결과의 각 성분에서 0이 아닌 유효계수를 검출하기 위한 검출수단 및 ; 상기 검출수단의 검출결과에 따라, 상기 1차원 역변환의 결과 행렬의 각 열에서 유효계수를 포함하는 부분 수열을 상기 검출수단이 출력하도록 지시하기 위한 출력지시수단을 포함하며, 상기 제2변환수단은 상기 변환결과 기억수단에 의하여 출력된 부분수열에 대하여 2차원 직교변환을 수행하는 것을 특징으로 하는 역직교변환회로.
  29. 제27항에 있어서, 상기 제2변환수단 대신에 상기 변환결과기억수단에 기억된 1차원 역변환의 결과를 상기 제1변환수단에 입력하며 해당 변환정수를 출력하기 위하여 상기 변환정수 기억수단을 지시하기 위한 입력수단을 포함하는 것을 특징으로 하는 역직교변환회로.
  30. 제29항에 있어서, 상기 변환결과 기억수단에 입력된 상기 1차원 역변환의 결과의 각 성분에서 0아닌 유효계수를 검출하기 위한 검출수단 및 ; 상기 검출수단의 검출결과에 따라 상기 변환결과 기억수단이 상기 1차원 역변환의 결과 행렬의 각열중에서 유효계수를 포함하는 부분 수열을 출력하도록 지시하기 위한 출력지시수단을 포함하며, 상기 입력수단이 상기 변환 기억수단에 의하여 출력된 부분 수열을 상기 제1변환수단에 입력하는 것을 특징으로 하는 역직교변환회로.
  31. 원화상을 다수의 N×N 화소를 포함하는 다수의 블록으로 분할하고, 상기 각 블록에서의 다수의 상기 화소의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어진 양자화 계수를 인코딩하기 위한 화상데이타 인코딩장치에 있어서, 상기 원화상을 형성하는 화상신호를 수신하며 상기 원화상의 적어도 1블록의 양을 기억하기 위한 화상신호기억수단 ; 변환계수를 출력하기 위하여 상기 화상신호 기억수단에 기억된 상기 화상신호의 각각의 상기 블록에 대한 2차원 직교변환을 수행하기 위한 직교변환수단 ; 상기 변환계수의 적어도 하나의 블록양을 기억하기 위한 변환계수 기억수단 ; 양자화계수를 출력하기 위하여 상기 변환계수 기억수단에 기억된 상기 변환계수를 선형 양자화하기 위한 선형양자화수단 ; 상기 양자화계수의 적어도 하나의 블록양을 기억하기 위한 양자화계수 기억수단 및 상기 양자화 계수기억수단에 기억된 양자화 계수를 인코딩하기 위한 가변길이 인코딩수단을 포함하는 것을 특징으로 하는 화상데이타 인코딩장치.
  32. 제31항에 있어서, 상기 화상신호 기억수단, 상기 변환계수 기억수단 및 상기 양자화계수 기억수단이 입력데이타를 기억하기 위한 제1 및 제2메모리 ; 입력데이타를 수신하며 상기 제1 및 제2메모리에 선택적으로 출력하기 위한 제1선택수단 ; 상기 제1 및 제2메모리부터 출력을 선택하기 위한 제2선택수단 및 ; 상기 제1선택수단이 상기 제1메모리에 출력할 것이 결정될 때 상기 제2메모리에 출력으로서 상기 제2선택수단을 선택하며, 상기 제1선택수단이 상기 제2메모리에 출력할 것이 결정될 때 상기 제1메모리에 출력으로서 상기 제2선택수단을 선택하기 위한 제어수단을 포함하는 것을 특징으로 하는 화상데이타 인코딩장치.
  33. 제32항에 있어서, 상기 제어수단은 처리개시신호가 수신될 때마다 상기 제1 및 제2선택수단을 스위칭하는 것을 특징으로 하는 화상데이타 인코딩장치.
  34. 제32항에 있어서, 상기 제1 및 제2메모리는 각각 한 원화상과 관련된 데이타를 기억하며 ; 상기 제어수단은 각 원화상데이타에 대한 상기 제1 및 제2선택수단을 스위칭하는 것을 특징으로 하는 화상데이타 인코딩장치.
  35. 원화상을 다수의 N×N 화소를 포함하는 다수의 블록으로 분할하고, 상기 각 블록에서의 상기 다수의 화소의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어지는 양자화계수로부터 코딩된 데이타에 의해 원화상을 재구성하는 화상데이타 재구성장치에 있어서, 코딩된 데이타를 수신하고, 상기 코딩된 데이타를 디코딩하고, 양자화된 계수를 출력하기 위한 가변길이 디코딩수단 ; 상기 양자화된 계수를 기억하기 위한 양자화계수 기억수단 ; 상기 양자화계수 기억수단에 기억된 양자화계수를 역양자화하고 변환계수를 출력하기 위한 역양자화 수단 ; 상기 변환계수를 기억하기 위한 변환계수 기억수단 ; 상기 변환계수 기억수단에 기억된 변환계수에 대해 역직교 변환을 수행하고 화상신호를 출력하기 위한 역직교 변환수단 및 ; 상기 화상신호를 기억하기 위한 화상신호 기억수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  36. 제35항에 있어서, 상기 화상기억수단, 상기 변환계수 기억수단 및 상기 양자화계수 기억수단은, 입력데이타를 기억하기 위한 제1메모리 및 제2메모리 ; 입력데이타를 수신하여 상기 제1 또는 제2메모리에 선택적으로 출력하기 위한 제1선택수단 ; 상기 제1 또는 제2메모리로부터 출력을 선택하기 위한 제2선택수단 및 ; 상기 제1선택수단이 상기 제1메모리에 출력할 것이 결정될 때 상기 제2선택수단을 상기 제2메모리에 출력으로서 선택하며, 상기 제1선택수단이 상기 제2메모리에 출력할 것이 결정될 때 상기 제2선택수단을 상기 제1메모리에 출력으로서 선택하기 위한 제어수단을 포함하는 것을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  37. 제36항에 있어서, 상기 제어수단은 처리신호가 수신될 때마다 상기 제1 및 제2선택수단을 스위칭하는 것을 특징으로 하는 화상데이타 재구성장치.
  38. 제36항에 있어서, 상기 제1 및 제2메모리는 각각 하나의 원화상과 관련된 데이타를 기억하며 ; 상기 제어수단은 각 원화상데이타에 대해 제1 및 제2선택수단을 스위칭하는 것을 특징으로 하는 화상데이타 재구성장치.
  39. 원화상을 다수의 N×N 화소를 포함하는 다수의 블록으로 분할하고, 상기 각 블록에서의 다수의 상기 화소들의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어지는 양자화 계수로부터 코딩된 데이타에 의해 원화상을 재구성하는 화상데이타 재구성장치에 있어서, 코딩된 데이타를 수신하고, 이 코딩된 데이타를 디코딩하고, 양자화된 계수를 출력하기 위한 가변길이 디코딩수단 ; 상기 양자화된 계수를 기억하기 위한 양자화계수 기억수단 ; 상기 양자화계수 기억수단에 기억된 양자화계수를 역양자화하고 변환계수를 출력하기 위한 역양자화수단 ; 상기 역양자화수단에 의해 제공된 변환계수를 기억하기 위한 변환계수 기억수단 ; 상기 변환계수가 0인지 아닌지를 결정하기 위한 제로검출수단 ; 입력된 변환계수에 대해 역직교변환을 수행하는데 사용되는 변환정수를 기억하기 위한 변환정수기억수단 ; 상기 변환계수 기억수단으로부터 판독된 변환계수 및 상기 변환정수로부터 화상신호를 재구성하기 위한 역직교 변환수단 및 ; 상기 제로검출수단이 병렬로 처리될 1열중의 N변환게수에 있어 0의 값을 검출할 때에는 상기 역직교변환수단에 있어 대응처리를 스킵하기 위한 제어수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  40. 제39항에 있어서, 상기 역 직교변환수단이 N단위의 가산기와 N누적 결과를 가진 래치를 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
  41. 원화상을 다수의 N×N 화소를 포함하는 다수의 블록으로 분할하는 상기 각 블록에서의 다수의 상기 화소들의 등급치에 대하여 2차원 직교변환을 행함으로써 얻어진 변환계수를 양자화하여 얻어진 양자화계수로부터 코딩된 데이타에 의해 원화상을 재구성하는 화상데이타 재구성장치에 있어서, 코딩된 데이타를 수신하고, 이 코딩된 데이타를 디코딩하고, 양자화된 계수를 출력하기 위한 가변길이 디코딩수단 ; 상기 양자화된 계수를 기억하기 위한 양자화계수 기억수단 ; 상기 양자화계수 기억수단에 기억된 양자화계수를 역양자화하고 변환계수를 출력하기 위한 역양자화수단 ; 상기 변환계수의 각 성분을 N열과 N행을 포함하는 행렬로 기억하기 위한 계수기억수단 ; 상기 계수기억수단에 입력된 상기 계수행렬의 각 열을 포함하는 각각의 부분수열이 유효계수를 포함하는 유효부분 수열인가의 여부를 결정하기 위한 결정수단 및 유효부분수열로 결정되는 부분수열에 해당하는 계수기억수단에서의 어드레스를 기억하기 위한 어드레스기억 수단을 포함하며, 상기 어드레스 기억수단에 기억된 어드레스에 따라 유효부분수열에 포함된 각 성분을 상기 계수기억수단이 출력하도록 지시하는 판독제어수단 ; 상기 계수행렬의 각 성분에 해당하는 변환정수를 포함하는 N행 및 N열에서의 정수행렬을 기억하고, 상기 계수기억수단에 의해 출력된 계수행렬의 성분에 해당하는 정수행렬의 열에 포함하는 변환정수를 출력하기 위한 변환정수 기억수단 ; 입력된 계수행렬의 각 성분 및 각 변환정수 기억수단으로부터 출력된 변환정수에 대한 직교변환에 해당하는 연산을 수행하며 그 연산결과를 해당열에 대한 1차원 역 변환의 결과로서 출력하기 위한 제1변환수단 ; 상기 제1변환수단의 출력을 기억하기 위한 변환결과 기억수단 ; 상기 어드레스 기억수단에 기억된 어드레스에 따라 상기 계수행렬에서의 해당열에 대한 1차원 역변환결과의 상기 변환결과 기억수단에 기억위치를 지정하기 위한 기록제어수단 및 ; 상기 변환결과 기억수단에 기억된 역변환의 결과에 따라 2차원 직교변환을 수행하기 위한 제2변환수단을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
KR1019910013213A 1990-07-31 1991-07-31 화상데이타 처리방법 및 장치 KR960003648B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP20126090A JP2923527B2 (ja) 1990-07-31 1990-07-31 画像データ符号化・復元装置
JP2-201260 1990-07-31
JP21337890A JP2839942B2 (ja) 1990-08-10 1990-08-10 画像データ復元方法及び装置
JP2-213378 1990-08-10
JP2-259484 1990-09-25
JP25948490A JP2802158B2 (ja) 1990-09-28 1990-09-28 逆直交変換方法および逆直交変換回路
JP33291990A JP2592182B2 (ja) 1990-11-29 1990-11-29 画像データ復元装置
JP2-332919 1990-11-29

Publications (2)

Publication Number Publication Date
KR920003157A KR920003157A (ko) 1992-02-29
KR960003648B1 true KR960003648B1 (ko) 1996-03-21

Family

ID=27476053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910013213A KR960003648B1 (ko) 1990-07-31 1991-07-31 화상데이타 처리방법 및 장치

Country Status (5)

Country Link
US (2) US5416854A (ko)
EP (1) EP0469855B1 (ko)
KR (1) KR960003648B1 (ko)
CA (1) CA2048204C (ko)
DE (1) DE69131808T2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1022911B1 (en) * 1990-03-16 2004-06-23 Fujitsu Limited An image data processing system
US7142720B1 (en) * 1990-07-31 2006-11-28 Fujitsu Limited Image data processing method and apparatus
JPH05268482A (ja) * 1991-10-15 1993-10-15 Internatl Business Mach Corp <Ibm> 画像情報を圧縮解除する方法およびその装置
JP2682402B2 (ja) * 1993-10-28 1997-11-26 日本電気株式会社 データ処理装置
US5603046A (en) * 1993-11-02 1997-02-11 Motorola Inc. Method for complex data movement in a multi-processor data processing system
JPH07143488A (ja) * 1993-11-19 1995-06-02 Fujitsu Ltd 画像データ復号化方法および装置
JP3242788B2 (ja) * 1994-03-29 2001-12-25 三菱電機株式会社 信号処理装置及び信号処理方法
US5629778A (en) * 1995-05-15 1997-05-13 Polaroid Corporation Method and apparatus for reduction of image data compression noise
GB2305047A (en) * 1995-09-01 1997-03-26 Motorola Inc Inverse DCT image processing
DE19603808C1 (de) * 1996-02-02 1997-04-17 Siemens Ag Anordnung und Verfahren zur Codierung und Decodierung von mit einem blockbasierten Codierungsverfahren codierten Bildern
DE19618117C1 (de) * 1996-05-06 1997-10-02 Siemens Ag Verfahren zur Quantisierung und Verfahren zur inversen Quantisierung von Transformationscodierungskoeffizienten eines Videodatenstorms
GB9703441D0 (en) * 1997-02-19 1997-04-09 British Tech Group Progressive block-based coding for image compression
US6788740B1 (en) 1999-10-01 2004-09-07 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
KR100683380B1 (ko) * 2000-02-21 2007-02-15 주식회사 팬택앤큐리텔 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
EP1325638A1 (en) * 2000-09-27 2003-07-09 Koninklijke Philips Electronics N.V. Decoding of data
US7136418B2 (en) * 2001-05-03 2006-11-14 University Of Washington Scalable and perceptually ranked signal coding and decoding
US7656949B1 (en) * 2001-06-27 2010-02-02 Cisco Technology, Inc. Methods and apparatus for performing efficient inverse transform operations
JP4486847B2 (ja) * 2003-06-16 2010-06-23 オセ−テクノロジーズ・ベー・ヴエー 圧縮画像から中間調画像を作成する方法と装置
TWI240560B (en) * 2003-12-03 2005-09-21 Via Tech Inc Control device, system and method for reading multi-pixel
JP4772607B2 (ja) * 2006-07-10 2011-09-14 パナソニック株式会社 2次元直交変換装置、2次元直交変換方法および撮像システム
US8594176B2 (en) * 2007-03-06 2013-11-26 Microsoft Corporation Streaming media codec with transform coefficient bounding
KR101403338B1 (ko) * 2007-03-23 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US7777486B2 (en) * 2007-09-13 2010-08-17 The Board Of Trustees Of The Leland Stanford Junior University Magnetic resonance imaging with bipolar multi-echo sequences
US8233572B2 (en) * 2007-09-25 2012-07-31 Qualcomm Incorporated Interference mitigation for impulse-based communication
KR101377660B1 (ko) * 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101619972B1 (ko) * 2008-10-02 2016-05-11 한국전자통신연구원 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
CN103686173B (zh) * 2014-01-09 2017-03-01 英特尔公司 变换与反变换电路
DE102015104776B4 (de) * 2015-03-27 2023-08-31 Infineon Technologies Ag Verfahren und Vorrichtung zum Verarbeiten von Radarsignalen
KR102170156B1 (ko) 2019-01-31 2020-10-26 성균관대학교 산학협력단 다중 이온소스
CN111385579B (zh) * 2020-04-09 2022-07-26 广州市百果园信息技术有限公司 视频压缩方法、装置、设备和存储介质

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2706080C2 (de) * 1977-02-12 1986-10-23 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren zur adaptiven Quantisierung von Transformationskoeffizienten eines Bildes und Anordnung zum Durchführen des Verfahrens
US4302775A (en) * 1978-12-15 1981-11-24 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
US4293920A (en) 1979-09-04 1981-10-06 Merola Pasquale A Two-dimensional transform processor
ATE55019T1 (de) * 1980-04-11 1990-08-15 Ampex System zur raeumlichen transformation von bildern.
JPS5992688A (ja) * 1982-11-19 1984-05-28 Fuji Photo Film Co Ltd 適応形画像圧縮方式
JPS59200592A (ja) * 1983-04-27 1984-11-13 Fuji Photo Film Co Ltd カラ−画像の適応形圧縮方式
GB2142797B (en) * 1983-05-24 1987-06-24 Canon Kk Apparatus enabling efficient utilization of a memory for storing image data of plural pages
FR2582424B1 (fr) 1985-05-22 1989-06-30 Guichard Jacques Circuit de calcul rapide de la transformee en cosinus, directe ou inverse, d'un signal discret
US4754492A (en) 1985-06-03 1988-06-28 Picturetel Corporation Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts
FR2599872B1 (fr) * 1986-06-06 1988-07-29 Thomson Csf Dispositifs de calcul de transformees cosinus mono-dimensionnelles, et dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul
US4829465A (en) 1986-06-19 1989-05-09 American Telephone And Telegraph Company, At&T Bell Laboratories High speed cosine transform
JPS6367081A (ja) 1986-09-09 1988-03-25 Dainippon Printing Co Ltd デ−タ符号化方法
US4760543A (en) 1986-11-10 1988-07-26 American Telephone And Telegraph Company, At&T Bell Laboratories Orthogonal transform processor
US5043809A (en) * 1986-11-25 1991-08-27 Canon Kabushiki Kaisha Encoding apparatus
JPS63173485A (ja) * 1987-01-13 1988-07-18 Toshiba Corp 画像デ−タ圧縮装置
US4791598A (en) 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
BE1000643A5 (fr) 1987-06-05 1989-02-28 Belge Etat Procede de codage de signaux d'image.
JPH07101460B2 (ja) * 1987-07-23 1995-11-01 富士通株式会社 コード検出装置
US5054103A (en) * 1987-09-24 1991-10-01 Matsushita Electric Works, Ltd. Picture encoding system
US5157743A (en) * 1987-10-28 1992-10-20 Canon Kabushiki Kaisha Image information coding apparatus
FR2627926A1 (fr) * 1988-02-29 1989-09-01 Labo Electronique Physique Procede et dispositif de codage de signaux video numeriques, et dispositif de decodage correspondant
US5067010A (en) * 1988-04-11 1991-11-19 Canon Kabushiki Kaisha Color video signal processing device with encoding and compression
US5187755A (en) 1988-06-30 1993-02-16 Dainippon Screen Mfg. Co., Ltd. Method of and apparatus for compressing image data
US4984076A (en) * 1988-07-27 1991-01-08 Kabushiki Kaisha Toshiba Image compression coding system
US5163103A (en) * 1988-12-27 1992-11-10 Kabushiki Kaisha Toshiba Discrete cosine transforming apparatus
US4864464A (en) 1989-01-09 1989-09-05 Micron Technology, Inc. Low-profile, folded-plate dram-cell capacitor fabricated with two mask steps
JPH07109990B2 (ja) 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
JP2520306B2 (ja) 1989-05-24 1996-07-31 三菱電機株式会社 変換符号化装置
CA2020084C (en) * 1989-06-29 1994-10-18 Kohei Iseda Voice coding/decoding system having selected coders and entropy coders
US5086488A (en) * 1989-08-19 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Transform coding apparatus
US5053985A (en) 1989-10-19 1991-10-01 Zoran Corporation Recycling dct/idct integrated circuit apparatus using a single multiplier/accumulator and a single random access memory
US5150433A (en) * 1989-12-01 1992-09-22 Eastman Kodak Company Histogram/variance mechanism for detecting presence of an edge within block of image data
EP0443114A3 (en) * 1990-02-23 1993-12-15 Ibm Methods and apparatus for image-data decompression
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
US5136371A (en) 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
US5038390A (en) 1990-06-05 1991-08-06 Kabushiki Kaisha Toshiba Method of transform data compression using save-maps
US5126962A (en) * 1990-07-11 1992-06-30 Massachusetts Institute Of Technology Discrete cosine transform processing system
EP0498578B1 (en) * 1991-02-07 1999-04-07 Canon Kabushiki Kaisha Image encoding apparatus
JPH04306970A (ja) * 1991-04-04 1992-10-29 Canon Inc 画像処理方法及び装置

Also Published As

Publication number Publication date
KR920003157A (ko) 1992-02-29
EP0469855A3 (en) 1994-05-18
CA2048204C (en) 1999-01-26
DE69131808D1 (de) 2000-01-05
EP0469855A2 (en) 1992-02-05
US6549667B1 (en) 2003-04-15
DE69131808T2 (de) 2000-03-16
EP0469855B1 (en) 1999-12-01
US5416854A (en) 1995-05-16
CA2048204A1 (en) 1992-02-01

Similar Documents

Publication Publication Date Title
KR960003648B1 (ko) 화상데이타 처리방법 및 장치
US4829465A (en) High speed cosine transform
KR100246878B1 (ko) 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치
US5299025A (en) Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform
US5331585A (en) Orthogonal transformation processor for compressing information
USRE42186E1 (en) Data transform processing apparatus and method
US6223193B1 (en) Macroblock variance estimator for MPEG-2 video encoder
CN107071419A (zh) 图像编码设备和方法以及图像解码设备和方法
US6574648B1 (en) Dct arithmetic device
US5933533A (en) Image data processing method and apparatus
US7142720B1 (en) Image data processing method and apparatus
JPS622721A (ja) 画像信号の符号化・復号化装置
US5933538A (en) Image data processing method and apparatus
JP2839389B2 (ja) 逆量子化方法および画像データ復元装置
US5946039A (en) Method and system for encoding
US5671169A (en) Apparatus for two-dimensional inverse discrete cosine transform
JP2802158B2 (ja) 逆直交変換方法および逆直交変換回路
JP2960328B2 (ja) シストリックアーキテクチャ内に配置される「n+1」個の演算子にオペランドを供給するための装置
JP4266512B2 (ja) データ処理装置
JP3385866B2 (ja) 逆量子化・逆dct回路
JPH0556270A (ja) 逆量子化方法および画像データ復元装置
JPH08307868A (ja) 動画像復号装置
JP2923527B2 (ja) 画像データ符号化・復元装置
JP2507654B2 (ja) 画像デ―タ直交変換処理装置のマトリクス演算回路
JP2809798B2 (ja) 画像データ直交変換装置のマトリクス演算処理方式

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

G160 Decision to publish patent application
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060313

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee