KR950002671B1 - 화상데이타 처리장치 - Google Patents
화상데이타 처리장치 Download PDFInfo
- Publication number
- KR950002671B1 KR950002671B1 KR1019910018606A KR910018606A KR950002671B1 KR 950002671 B1 KR950002671 B1 KR 950002671B1 KR 1019910018606 A KR1019910018606 A KR 1019910018606A KR 910018606 A KR910018606 A KR 910018606A KR 950002671 B1 KR950002671 B1 KR 950002671B1
- Authority
- KR
- South Korea
- Prior art keywords
- coefficient
- quantization
- code
- coefficients
- image data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
내용 없음.
Description
제1도는 종래의 ADCT 시스템을 사용한 화상데이타 압축장치의 블럭도.
제2도는 연속계조화상에서의 블럭분할의 1예를 도시한 도면.
제3도는 DCT 계수행렬(D)의 1예를 도시한 도면.
제4도는 양자화 행렬(VTH)의 1예를 도시한 도면.
제5도 및 제8도는 양자화 계수행렬(DQU)의 1예를 도시한 도면.
제 6 도는 지그재그 주사 순서를 도시한 도면.
제7도a 및 7b도는 한 블럭에 대한 코드의 전형적 세트를 도시한 도면.
제9도는 종래의 ADCT시스템을 사용한 화상데이타 재현장치의 블럭도.
제10도는 역양자화 DCT 계수행렬(D)의 1예를 도시한 도면.
제11도는 본 발명의 제1실시예의 화상데이타 압축장치의 블럭도,
제12도는 본 발명의 제2실시예의 화상데이타 압축장치의 블럭도.
제13도는 본 발명의 제3실시예의 화상데이타 재현장치의 블럭도.
제14도는 본 발명의 제1실시예의 화상압축장치의 상세 구성도.
제15도는 양자화 계수메모리내의 기억위치를 나타내는 어드레스테이블.
제16도는 제3도에 도시된 DCT 계수행렬(D)의 각 성분을 양자화하여 얻어지는 양자화 계수메모리의 내용을 도시하는 도면.
제17도 및 제18도는 본 발명의 제1실시예에 따른 화상데이타 압축장치의 작동을 나타내는 흐름도,
제19도는 본 발명의 제2실시예에 따른 화상데이타 압축장치의 상세구성도.
제20a도 및 제20b도는 시리얼 양자화 계수의 전형적인 구성도.
제21도는 본 발명의 제3실시예에 따른 화상데이타 재현장치의 상세구성도.
제22도 및 제23도는 본 발명의 제3실시예에 따른 화상데이타 재현장치의 작동을 나타내는 흐름도.
제24도는 블럭종료 검출기의 작동을 나타내는 흐름도.
발명의 배경
본 발명은 회색영역화상 또는 칼라화상등의 연속계조 화상압축시 사용되는 적응 이산 코사인 변환코딩시스템에 의한 화상데이타 압축용 화상데이타의 압축장치 및 적응 이산 코사인 변환시스템에 의해 얻어지는 코드로부터 화상데이타의 재현용 화상 데이타 재현장치에 관한 것이다.
2차원 직교변환을 사용한 적응 이산 코사인 변환 코딩시스템(이하 ADCT 시스템)은 회색영역화상 또는 칼라화상등의 연속계조 화상의 보전성의 손상없이 데이타 크기를 압축하는 코딩시스템으로서 널리 사용된다.
ADCT시스템은 연속계조 화상을 선결된 화수소(8×8화소)로 각각 이루어진 블럭으로 분할하고) 블럭 유니트내에 화상데이타를 직교 변환하고 상응하는 가시적용역치(후에 설명)을 사용하여 양자화된 행렬의 여러길이의 각 성분으로 코딩하여 변환 계수(이하 DCT 계수)로 구성된 행렬을 얻어, 그것에 의해 데이타 크기를 압축한다.
선행기술의 설명
제1도는 종래의 ADCT 시스템을 사용한 화상데이타 압축장치의 블럭도이다.
제2도는 연속계조 화상에서의 블럭분할의 일예를 도시한다.
DCT 유니트(11)는 입력블럭용 2차원이상 코사인 변환(이하 DCT)을 실행하고, 8×8행렬을 가진 공간주파수 분포에 일치하는 DCT 계수의 행렬(이하 DCT 계수행렬 D)로 변환한다.
제3도 DCT 계수행렬(D)의 일예를 도시한다.
선형양자화기(21)는 DCT 계수행렬(D)의 각 성분을 양자화한다.
가시 적응 역치는 각 공간주파수성분에 대한 가시도(visual sensitivity)의 실험결과로서 선결된다. 선형양자화기(21)는 가시적응 역치로 구성된 양자화 행렬(VTh)을 저장하고, 양자화 행렬(VTh)와 적절한 파라미터의 각 성분사이의 승산으로 얻어진 양자화 역치행렬(QTh)을 사용하여 DCT 계수행렬(D)을 양자화하고, 양자와 계수행렬(DQv)을 계산한다.
인간의 시각은 통상 높은 공간주파수보다 낮은 주파수쪽에 더 민감하므로, 낮은 공간주파수에 상응하는 양자화 행렬(VTh)내 성분의 절대값이 더 작은 반면에 높은 공간 주파수에 상응하는 성분은 더 큰 값을 가진다.
그러므로 대부분의 경우에서 단지 양자화 계수행렬(DQU)의 제1행 1열에 있는 DC성분 및 낮은 공간 주파수를 나타내는 매우 작은 AC성분이 제로값을 가지지 않는 유효계수이며, 반면에 AC성분의 대부분은 제5도에 도시된 바와 같이 제로값을 가진 비유효 계수이다.
제6도는 지그재그 주사순서를 도시한다.
지그재그 주사로 알려진 주사순서에 따른 양자화 계수행럴(DQv)를 주사하여서, 선형양자화기(21)는 양자화 계수행렬(DQv)의 2차원 배열된 성분을 1차원 배열성분으로 재배열하고, 그것들은 순차적으로 코더(31)에 입력한다.
이 경우에 있어서, 코더(31)는 앞부분의 DC성분에 상응한 것부터 시작하여 더낮은 공간주파수를 가진 AC성분에 상응한 것의 순서로 양자와 계수행렬(DQv)의 성분을 받는다.
코더(31)는 양자화 계수행렬(DQv)의 성분중 제로값이 아닌 유효계수를 검출하고, 유효계수를 검출하기 전에 상기 순서에 따른 시리즈로 입력된 비유효 계수의 수를 카운트하여, 양자화 계수행렬(DQv) 재배열성분을 검출된 유효계수(이하 인덱스)와 이 카운트값(이하 런)으로 각각 구성된 쌍으로 변환한다.
양자화 계수행렬(DQv) 성분을 런과 인덱스로 변환하여, 코더(31)는 양자화 계수행렬(DQv)을 표현하는데 필수적인 데이타 크기를 감소한다.
더구나 코더(31)는 JPEG(Joint Photographic Experts Group)에 따라 통상 인덱스와 런을 코딩한다.
코드화 인덱스(이후 인덱스코드)와 코드화 런(이후 런코드)를 얻은후 코더(31)는 인덱스코드와 런코드쌍에 상응한 코드를 출력한다.
여기서 인덱스코드와 런코드 쌍에 상응한 코드는 쌍의 출현 주파수에 의해 결정된다. 더짧은 코드는 더 빈번히 출현하는 쌍에 할당되고, 더 긴코드는 덜 빈번히 출현하는 쌍에 할당된다.
따라서 코더(31)는 인덱스코드와 런코드쌍을 출현 주파수와 동일한 코드길이를 가진 후프만(Huffman)코드로 변환하여 런과 인덱스를 나타내는데 필수적인 데이타 크기를 더 감소시킨다.
또한 상술의 표준화 기술안은 양자화 계수행렬(DQV)의 최종 압력 성분이 유효계수인지 아닌지에 의해 블럭끝을 표시하는 코드를 출력하는 경우 및 블럭끝을 표시하는 코드를 출력하지 않는 경우의 두가지 포멧타입을 정의한다.
제5도에 도시된 것같은 양자화 계수행렬(DQV)로부터의 지그재그 주사에 의해 판독된 최종성분이 유효계수가 아닌 경우, 코더(31)는 제7a도에 표시된 바와 같이 연속되는 양자화 계수가 모두 비유효인 것을 표시하는 "EOB"코드를 블럭의 코드 테잎끝에 부착한다. 양자화 계수행렬(DQV)의 최종성분이 제8도에 도시된바 제로가 아닌값 "a"를 가지는 유효계수인 경우는 코더(31)는 제7B도에 도시된 바와 같이 "EOB"코드를 출력하지 않는다.
따라서 한 블럭에 대한 화상데이타가 DCT되고, 양자화되며 코딩된다.
영상의 모든 블럭에 대해 DCT, 양자화 및 코딩의 상기 프로세스를 반복하여, 영상의 화상데이타가 압축되고, 압축된 화상데이타는 디스크장치에 기억되거나 또는 전송통로를 통해 전송된다.
제9도에 도시된 화상데이타 재현장치는 상기 코드로 구성된 압축데이타로부터 화상데이타를 재현한다.
디코더(41)는 디코딩표에 따라 입력된 코드를 인덱스코드 및 런코드 쌍으로 순차적으로 디코딩하고, 상기 표준기술안에 의해 원래의 인덱스 및 런을 재생한다.
역양자화기(51)는 양자화 역치행렬(VTH)의 상응하는 성분과 인덱스를 승산하고, 상술의 런에 따른 DCT 계수행렬(D)의 적절한 성분으로서 결과치를 출력하여, 제10도에 도시된 것과같은 DCT 계수행렬(D)를 재현한다. 역 DCT 유니트(731)는 각각의 블럭에 대한 상응하는 역양자화 DCT 계수행렬(D)를 2차원으로 역DCT화하여 화상데이타를 재현한다.
여기서 상술의 종래의 화상데이타 압축장치는 한 블럭에 대한 양자화 계수행렬(DQU)을 얻는 선형 양자화기(21) 및 양자화 계수행렬(DQU)의 성분중 각각의 유효계수를 검출하면서 상응한 인덱스 및 런의 쌍을 순차로 코딩한다. 프로세서등이 일렬로 양자화 및 코딩을 실행하므로, 이들 프로세스에 요구되는 시간이 길어지고, 화상데이타는 고속으로 압축될 수 없다.
단순히, 종래의 화상데이타 재현장치는 일렬로 디코딩 및 역양자화를 실행하는 프로세서를 가지므로, 인덱스 및 런이 디코딩 코드에서 얻어진 인덱스 코드와 런코드로부터 순차로 생성된 후 비로서 역양자화가 개시된다. 그러므로 이들 프로세스에 요구되는 시간은 길어지고, 화상데이타는 고속으로 압축데이타에서 재현될 수 없다.
반면에, 프로세스는 단순히 선형 양자화기(21)와 코더(31)을 대체한 하드웨어를 갖추면 빠르게될 수 있으나, 회로는 필수적으로 큰 크기를 가기게 된다.
코더(31)를 대체한 하드웨어는 복합회로구성을 가져야하는데, 이것은 하드웨어가 양자화 계수행렬(DQU)의 2차원 배열 성분을 1차원 배열 성분으로 재배열함과 동시에 양자화 계수행렬(DQU)의 재배열 성분을 인덱스와 런으로 구성된 쌍으로 컨버트하고 이 쌍을 코딩하는 것이 필요하기 때문이다. 그러므로 성가신 과정이 테스트동안 예상된다.
종래로부터 DCT계수는 각각 판독되고 양자화를 통해 화상데이타 압축으로 압축되고, DCT 계수는 각각 역양자화를 통해 화상데이타 재현으로 압축데이타로 부터 재현된다.
발명의 요약
본 발명은 코딩을 통한 연속계조화상의 데이타 크기를 압축하는 화상데이타 압축장치 및 압축데이터로부더 연속계조 화상데이타를 재현하는 화상데이타 재현장치에 관한 것이다.
본 발명은 단순구조 또는 단순제어로 빠르게 화상데이타를 압축, 재현하는 것을 목적으로 한다.
본 발명은 M×N화소를 가진 블럭유니트내의 연속계조 화상데이타를 2차원적으로 직교변환하여 변환계수 N×N행렬로 구성된 계수행렬을 얻기위한 직교변환수단 : 직교변환수단에 의해 얻어진 계수행렬의 각 성분을 상응 양자화 역치에 의해 양자화 하고, 계수행렬의 각 성분의 양자화 결과인 양자화 계수를 선결 시퀀스로 출력하는 양자화 수단 ; 양자화 수단에서 출력된 일련의 양자화 계수를 제로값을 가진 연속 비유효계수의 수를 표시하는 비유효 계수 연속길이중 상응하는 것과 쌍을 이룬 제로값을 가지지 않는 유효계수로 구성된 일련의 양자화 계수로 변환하고, 종결신호를 시리얼 양자화 계수의 말단에 부착하여 시리얼 양자화 계수를 출력하는 신호생성수단 ; 신호생성수단에서 출력된 시리얼 양자화 계수에 포함된 비유효 계수 연속길이중 상응하는 것과 쌍을 이룬 유효계수에 각각 상응하는 코드 출력용 코딩수단으로 구성된 화상데이타 압축장치를 개시한다.
제1실시예
제11도는 본 발명의 제1실시예에 따른 화상데이타 압축장치의 블록도이다.
직교변환수단(111)은 각각 N×N화소를 갖는 블록장치에서 2차원 직교변환계조 화상데이타에 의한 변환계수의 N행 및 N열로 구성되는 계수행렬을 얻는다.
양자화 수단(121)은 직교변환수단(111)에 의해 얻는 계수행렬의 각 원소를 대응 양자화 역치에 의하여 양자화 되며 양자화 계수를 출력하고, 이것은 소정의 시퀀스로 계수행렬의 각 원소를 양자화 하는 결과로써 얻어진다.
선택수단(131)은 양자화 수단(121)에 의하여 얻어진 양자화 계수를 순차적으로 수신하고, 양자화 계수사이로부터 비 -제로치를 갖는 유효계수를 선택하며, 유효 계수를 순차적으로 출력한다.
계수 수단(132)은 양자화 계수를 순차적으로 수신하여, 제로값을 갖는 비유효 계수의 연속 입력수를 카운트하고, 유효 계수중 대응하는 것을 각각 수신하는 중 비유효 계수 연속 길이로써 카운트 결과를 출력한다.
선택수단(131)은 카운팅 수단(132)과 병렬로 놓여 동작한다.
제1기억수단(141)은 순차적으로 데이타 쌍을 기억하며, 이것은 카운팅수단(132)에 의하여 얻은 비유효계수 연속길이중 대응하는 것과 쌍이된 선택수단(131)에 의하여 얻은 유효 계수중 하나로 구성된다.
코딩수단(150)은 제1기억수단(l41)으로부터 판독된 데이타 쌍과 각각 대응하는 코드를 출력하며, 여기서, 각 데이타 쌍은 비유효 계수 연속길이와 대응하는 것과 쌍을 이룬 유효 계수중 하나로 구성된다.
코딩수단(150)은 ; 제1기억수단(141)에 기억된 데이타 쌍의 유효계수에 대응하는 부분을 변환하는 계수변환수단(151) ; 데이타 쌍의 비유효 계수연속길이에 대응하는 부분을 적합한 연속 길이 코드로 변환시키는 연속길이변환수단(152) ; 및 계수변환수단(151)에 의해 얻은 계수코드와 연속길이변환수단(152)에 의해 얻은 연속길이코드로 구성되는 쌍에 대응하는 코드를 발생하는 코드 발생 수단(153)으로 구성된다.
제1기억수단(141)은 화상데이타의 2블록에 대응하는 데이타 쌍을 기억하는 메모리 용량을 갖추고 있다. 코딩 수단(150)은 양자화 수단(121), 선택수단(131) 및 카운팅 수단(132)에 의하여 데이타 쌍을 발생하고 기억하는 동작으로 이미 기억된 데이타 쌍을 병렬로 코드화한다.
양자화 수단(121)은 소정의 순차로 직교변환수단(111)에 의하여 얻은 계수행렬의 각 원소에 대응하는 양자화 계수를 선택수단(131) 및 카운팅수단(132)으로 출력한다. 선택수단(131) 및 카운팅 수단(132)은 일련의 양자화 계수를 비유효 계수 연속길이중 대응하는 것과 각각 쌍을 이룬 유효계수로 변환시킨다.
선택수단(131)은 카운팅수단(132)와 독립적으로 작동하기 때문에, 유효계수의 선택은 비유효 계수 연속길이로부터 분리되어 실행된다. 그리하여, 시스템 동작은 순차적이라기 보다는 독립적으로 과정을 실행함으로써 촉진된다. 유효계수 및 비유효 계수 연속길이는 쌍을 이루며 데이타 쌍은 제1기억수단(141)을 통하여 코딩수단(150)에 공급된다. 그리하여, 코딩과정은 촉진되며, 유효 계수 및 비유효 계수 연속 길이는 종래기술과는 다르게, 분류될때까지 지연될 필요가 없다.
선택수단(131)은 카운팅수단(132)은 병렬로 동작하기 때문에, 유효계수는 비유효 계수 연속길이로 동시에 얻을 수 있으며, 그리하여 유효계수를 선택하는데 필요한 시간을 단축하고 비유효 계수 연속길이를 카운팅한다.
계수변환수단(151)및 연속길이변환수단(152)은 제1기억수단(141)에 기억된 데이타 쌍을 계수코드와 연속 길이 코드의 쌍으로 변환시킨다. 코드발생수단(153)은 이 변환쌍을 대응 코드로 변환시킨디.
계수변환수단(151) 및 연속길이변환수단(152)은 서로 독립적으로 동작할 수 있기 때문에, 그 평행동작은 유효계수의 비유효 계수 연속길이가 동시에 코드화되도록 할 수 있으며, 그리하여 표준화용 기술안에 따른 코딩과정을 촉진할 수 있다.
데이타 쌍의 2블록에 대한 기억 용량을 갖는 제1기억수단(141)은 계수 변환수단(151)을 선택수단(131)과 카운팅수단(132)과 접속시킨다. 데이타 쌍이 발생과 기억이 병렬로 코딩수단(150)에 의한 코딩은 계수행렬의 양자화 및 코딩을 촉진시킨다.
제 2 실시예
제12도는 본 발명의 제2실시예에 따른 화상데이타 압축장치의 블록도이다.
직교변환수단(211)은 N×N화소를 각각 갖는 블록장치에서 2차윈 직교변환 계조 화상데이타에 의하여 변환계수의 N행 및 N렬로 구성되는 계수행렬을 얻는다.
양자화 수단(221)은 대응 양자화 역치에 의하여 직교변환수단(211)에 의해 얻은 계수 행렬의 각 원소를 양자화하여 양자화 계수를 출력하며, 이것은 소정의 순차로, 계수 행렬의 각 원소를 양자화하는 결과로써 얻어진다.
변환수단(231)은 양자화 수단(221)으로부터 출력된 일련의 양자화 계수를 제로값을 갖는 연속 비유효 계수의 수를 지시하는 비유효 계수 연속길이중 대응하는 것과 각각 쌍이 이루어진 비-제로값을 갖는 유효 계수로 구성되는 일련의 양자화 계수로 변환시킨다.
발생 수단(241)은 소정의 종료 신호를 발생한다.
부착수단(251)은 발생수단(241)에 의해 발생된 종료신호를 부가함으로써 변환수단(231)에 의해 얻어진 시리얼 양자화 계수를 출력한다.
코딩수단(261)은 부착수단(251)으로부터 출력된 시리얼 양자화 계수에 포함된 비유효 계수 연속 길이중 대응하는 것과 각각 쌍을 이룬 유효계수에 각각 대응하는 코드를 출력한다.
지시수단(271)은 시리얼 양자화 계수의 수신중에 종료신호를 검출하는 중에 블록을 코딩하는 과정의 종료에 대한 코딩수단(261)을 지시한다.
발생수단(271)은 소정의 제1종료신호를 발생하는 제1발생수단(242), 다른 제2종료신호를 발생하는 제2발생수단 및 제1종료신호 또는 제2종료신호중 하나가 종료신호로써 선택적으로 출력하는 선택수단(244)으로 구성되고, 이것은 양자화수단(221)으로부터 최종 출력된 양자화 계수가 비유효 계수인지의 여부에 따라 좌우된다.
지시수단(271)은 종료신호가 제1종료신호인지 또는 제2종료신호인지를 판정하는 판정수단(272)을 포함하며, 판정수단(272)의 판정결과에 따라 1블록에 대한 코딩의 말단에 코딩수단(261)을 지시한다.
양자화 수단(221), 변환수단(231) 및 부착수단(251)은 블록장치에서 다음 과정을 실행한다. 양자화 수단(221)은, 소정의 순차로, 직교변환수단(211)에 의하여 얻은 계수 행렬의 각 원소를 양자화한다. 변환수단(231)은 비유효 계수 연속길이중 대응하는 것과 각각 쌍을 이룬 유효계수의 각 원소를 양자화한다. 변환수단(231)은 비유효 계수 연속길이중 대응하는 것과 각각 쌍을 이룬 유효계수로 구성되는 시리얼 양자화 계수를 발생한다. 부착수단(251)은 발생수단(241)에 의하여 발생된 종료 신호를 시리얼 양자화 계수의 말단에 부착시킨다.
지시수단(271)은 시리얼 양자화 계수의 수신중 종료 신호를 검출하는 블록을 코딩하는 과정의 종료에 대한 코딩수단(261)을 지시한다.
명백하듯이, 시리얼 양자화 계수를 발생하는 과정 및 시리얼 양자화 계수를 코딩하는 과정은 각 블록에 대하여 유한하다. 그러므로, 각각의 회로들은 이러한 과정을 실현한다.
이것에 의해 간단한 회로는 양자화프로세서와 코딩프로세서를 배치한다.
또한, 이러한 회로는 각자 독립적으로 동작할 수 있기 때문에, 일반적으로 프로세서에 의해 뒤따라 이루어지는 프로세서를 촉진시킨다.
선택수단(244)은 양자화 수단(221)으로 부터 마지막으로 나온 양자화된 계수가 비유효 계수인지 아닌지에 따라 종료신호로서 제1종료신호 또는 제2신호로 선택적으로 내보낸다. 그러므로 지시수단(271)은 판단수단(272)의 판단결과에 따라 최종 양자화 계수가 비유효 계수인지 아닌지를 판단할 수 있다. 이때 판단수단(272)에 의해 지시수단(271)은 한블록에 있어 코딩종료를 지시수단(271)에게 지시하는 것이 가능하게 된다.
그러므로 상술의 표준화용 기술안을 바탕으로, 본 발명은 최종 양자화 계수가 비유효 계수일때 화상데이타 압축장치가 블록의 종료를 표시하는 코드를 출력하도록 허용한다.
제 3실시예
제13도는 본 발명의 제3실시예에 따른 화상데이타 재현장치의 블록도이다.
여기서 화상데이타 재현장치는 각각 N×N화소로 구성된 블록유니트내의 화상데이타를 2차원 직교변환하여 얻어진 결과를 양자화하여 얻어진 양자화 계수중에서 생성된 유효계수와 비유효 계수 연속길이에서 변환된 계수코드와 연속길이 코드를 코딩하여 발생된 입력코드를 바탕으로 화상데이타를 재현한다.
디코딩수단(161)은 계수코드와 연속길이 코드에 대한 입력코드를 디코딩한다. 계수코드변환수단(162)은 디코딩수단(163)에 의해 얻어진 계수코드를 해당하는 유효계수로 반전한다. 연속길이코드변환수단(163)은 디코딩수단(161)에 의해 얻어진 연속길이코드를 해당하는 비유효계수 연속길이로 반전한다.
계수코드변환수단(162)은 연속길이코드변환수단(163)과 병행해서 동작한다.
제2기억수단(142)는 데이타쌍으로서, 계수코드변환수단(162)에 의해 얻어진 유효계수와 연속길이코드변환수단(163)에 의해 얻어진 비유효 계수 연속길이로 이루어진 쌍을 기억한다.
제2기억수단(142)은 화상데이타의 두개블록에 대한 데이타 쌍을 기억하는 메모리용량을 갖는다. 역양자수단(171)은 디코딩수단(161), 계수코드변환수단(162) 그리고 연속길이코드변환수단(163)에 의해 데이타 쌍을 발생하고 기억시키는 동작에 병행해서 이미 기억된 데이타 쌍을 역양자화한다.
역양자수단(171)은 제2기억수단(142)으로 부터 판독된 데이타 쌍으로 표현되는 비유효 계수 연속길이와 유효계수에 기초한 유효계수를 역양자화 함으로써 적절한 변환계수를 얻는다. 또한 N행 및 N열을 갖는 계수 행렬의 상응하는 요소로서 변환 계수를 출력한다.
역 직교변환수단(181)은 역양자화수단(171)에 의해 얻어진 계수를 이차원적으로 직교적으로 변환하며, 화상데이타로서 변환결과를 출력한다.
디코딩수단(161), 계수코드변환수단(162) 그리고 연속길이코드변환수단(163)은 입력코드를 유효계수의 비유효 계수 연속길이의 쌍으로 반전하며, 이러한 쌍은 제2기억수단(142)이 순차로 기어한다.
디코딩수단(161), 계수코드변환수단(162) 그리고 연속길이코드변환수단(163)은 모두 각자 독립적으로 동작할 수 있기 때문에, 일률적이라기 보다는 독립적으로 디코딩, 변수코드의 반전 그리고 연속길이의 코드의 변환을 수행하며, 그러므로써 이러한 프로세스가 촉진된다.
유효계수들과 비유효 계수 연속길이가 결합하며 제2기억수단을 통해 데이타 쌍이 역양자화 수단에 공급된다. 그래서 역양자화 프로세스가 촉진되는데, 이것은 선행기술과 달리 유효 계수와 비유효 계수 연속길이가 분류될때까지 역양자화 프로세스가 지연되는 것이 불필요하기 때문이다.
역 직교변환수단(181)은 역양자화수단(171)에 의해 얻어진 계수 행렬을 이차원 직교 변환시킴으로써 화상데이타를 재현한다.
계수코드변환수단(162)과 연속길이코드변환수단(163)이 병행해서 동작하기 때문에, 디코딩수단(161)에 의해 디코딩결과에 상응하는 유효변수와 비유효계수 연속길이가 동시에 얻어지며, 이에따라 입력코드를 유효계수와 비유효계수 연속길이의 쌍으로 디코딩하는 표준화용 기술안에 따른 프로세스를 촉진시킨다.
데이타 쌍에 대해 두개의 블록 기억 용량을 갖춘 제2기억수단(142)은 계수코드변환수단(162)과 연속길이코드변환수단(163)을 역양자화수단(171)과 결합시킨다. 데이타 쌍의 발생과 기억에 병행해서 역양자화수단(171)에 의한 역양자화는 입력코드의 디코딩과 역양자화를 촉진시킨다.
동작 설명
본 발명의 실시예는 첨부된 도면을 언급하며 자세히 설명된다.
제1실시예
제14도는 화상데이타압축장치의 구성을 본 발명 제1실시예에 따라 자세히 도시하고 있다. 우선 제11도와 제14도의 대응관계가 설명된다. 직교변형수단(111)은 OCT장치(311)에 대응한다. 양자화수단(121)은 어드레스발생회로(321), 판독회로(322), 디바이더(323) 그리고 양자화 행렬기억부(324)에 상응한다. 선택수단(131)은 래치(326)와 제로-판단회로(327)에 상응한다. 카운팅수단(132)은 제로-판단 회로(327)의 카운터(328)에 상응한다. 제1기억수단(141)은 양자화 계수메모리(331)와 타이밍제어기(350)에 상응한다.
계수변환수단(151)은 조회테이블(342)(이하 LUT)에 상응한다. 연속길이변환수단(152)은 LUT(341)에 상응한다. 코드발생회로(153)은 LUT(343)에 상응한다. 코딩수단(150)은 LUT(341,342 및 343)에 상응한다.
위와같은 상응관계를 고려할때, 실시예의 구성과 동작은 아래와 같이 표현된다.
본 발명에 따른 화상데이타 압축장치의 구성과 동작은 처음으로 설명된다.
제14도에 도시된 바와같이, DCT장치(311)는 화상스케너(도시안됨)에 의해 판독된 화상데이타등을 8×8화소로 구성되는 블록으로 분할하고 각 블록을 DCT화하여, 8개의 열과 8개의 행을 갖는 DCT계수의 행렬(이하 DCT계수 행렬 D)을 생성하고 DCT 유니트(311) 내에 제공되는 버퍼(312)는 양자화수단(121)으로 출력되기 전의 DCT계수 행렬(D)을 잠시 기억한다.
양자화수단(131)에서, 어드레스 발생회로(321)는 제6도에 나타난 스케닝 시퀀스에 따라 버퍼(312)에 순차로 어드레스를 발생시킨다. 그리고 판독회로(322)는 어드레스에 따라 DCT계수 행렬(D)에서 상응되는 요소들을 판독하고 디바이더(323)에 입력한다.
또한, 양자화수단(121)에서도, 양자화 행렬 기억부(324)는 제4도에 나타난 양자화 행렬(VTH)을 저장하고 어드레스 발생회로(321)에 의해 얻어진 어드레스에, 상응하는 양자화 행렬(VTH)의 요소를 입력한다.
디바이더(323)는 DCT계수 행렬(D)의 각각의 요소들을, DCT계수 행렬(D)의 입력된 요소를 상응하는 양자화 행렬(VTH)요소로 나눔으로써 양자화한다.
래치(326)과 제로-판단회로(327)는 순차로 디바이더(323)로 부터 출력을 받는다.
래치(326)와 카운터(328)는 제로-판단회로(327)에 의한 판단결과에 상응해서 동작한다. 이하는 인덱스와 런을 발생하고 기록하는 동작설명이다.
타이밍 제어기(350)에 제어회로(351)는, 양자화된 계수메모리(33)에 기입/판독제어신호(W/R)로서 논리 "0"을 출력하며 그러므로 해서 양자화된 계수메모리(331)를 기입가능상태로 만든다.
제어회로(351) 는 양자화수단(121) 내의 어드레스 발생회로(321)와 판독회로(322)에게 판독프로세스를 시작하도록 지시한다. 이것은 DCT장치(311) 내의 버퍼(312)로 부터 판독된 DCT계수 행렬(D)의 각각의 요소들을 제로-판단회로(327)로 공급되게 한다.
상술의 제로-판단회로(327)는 입력된 양자화된 계수의 값이 제로인지 아닌지 판단하고, 그 결과를 제어회로(351)에 알려준다. 만약 제로값을 갖는 비유효 계수가 입력되었다고 판단되면, 제어회로(351)는 카운트신호를 출력하여 카운터(328)로 하여금 1씩 카운트값의 증가를 지시한다. 반면, 제로 아닌값을 갖는 유효계수가 입력되었다고 판단되면 제어회로(351)는 그값을 지우도록 지시하고, 홀드신호를 출력하여, 래치(326)에게는 상응하는 양자회된 계수를 기억하도록 지시한다.
이것에 의해 래치(326)는 선택적으로 유효변수(즉, 인덱스)의 값을 보관하거나, 카운터(328)는 계속적으로 입력된 비유효 변수(즉, 런)의 수를 카운트하는 것이 가능하게 된다.
결과적으로, 양자화된 계수메모리(331)는 동시에 발생하는 인덱스와 런을 수신한다.
위에 표현된 인덱스와 런의 발생과 병행해서, 각각의 타임 디바이더(323)는 양자화된 계수를 출력하고, 타이밍 제어시(350) 내의 카운터(352)는 1씩 그값을 증가시켜 제어회로(351)에 갱신된 카운트 값을 공급한다. 래치(326)가 인덱스를 홀드하게 하는 홀드 시그날을 받으면 카운터(353)는 그값을 1씩 증가시켜 하나의 어드레스로 카운터 값을 양자화된 메모리(331)에 공급한다.
제어회로(351)는 홀드신호의 입력에 동기된 클럭신호를 출력하며 양자화된 계수메모리(331)에게 입력데이타를 기억하게 한다. 이것에 의해 양자화된 계수메모리(331) 내의 동일한 어드레스는 래치(326)에 홀드된 인덱스를 기억하며 앞으로 같은 지점에서 카운터(328)의 카운터 값들(즉, 런) 데이타 쌍으로 기억된다.
제15도는 양자화된 계수메모리(331) 내 기억위치를 설명하기 위한 어드레스 테이블이다.
제15도에서 보는 바와 같이, 각각의 어드레스에 상응하는 기억영역에서 N최상의 비트는 인덱스를 기억하고, M최하의 비트는 런을 기억한다. 여기서 블록의 DC요소의 인덱스는 기호 "D"로 표현된다. 다른 인덱스들은 출현 시퀀스를 나타내는 부가번호를 갖는 기호 "I"로 표현된다 각각의 인덱스와 결합된 런은 출현시퀀스를 나타내는 동일한 부가번호를 갖는 기호 "R"로 표현된다. 블록의 말단은 어드레스 "n"의 런영역에서 기호 "Reob"로 표현된다. 또한 DC요소는 블록의 선단에 위치하므로 상응하는 런이 없다.
제로-판단회로(327)은 양자화된 계수메모리(331)에서 런을 기억한후 카운터(328)의 카운터 값을 단지 지우기만 하면 된다.
예를들어, 디바이더(323)은 제3도에서 도시된 DCT 계수 행렬(D)의 요소, 즉 각각의 "91","-17","-28",… ,"-1"을 수신하고 양자화된 계수 "5", "-2", "-3", …, "0"를 생각한다. 본 예에서 첫번째, 래치(326)는 DC요소에 상응하는 양자화된 계수의 값 "5"을 홀드하고, 양자화된 계수메모리(331)의 어드레스"1"은 인덱스로서 값 "5"을 기억한다. 두번째, 래치(326)는 값 "-2"를 홀드하고, 양자화된 계수메모리(331)의 어드레스 "2'는 인덱스로서 값 "-2"와 런으로서 카운터(328)의 카운터 값 "0"으로 이루어진 데이타 쌍을 기억한다.
마찬가지 방식으로, 양자화된 계수메모리의 순차 어드레스는 데이타 쌍을 순차로 기억한다. 카운터(325)의 카운터 값이 블록내 화소의 수에 이를때(만약 블록이 8×8의 화소를 이루고 있다면 수는 64이나) 타이밍제어기(350)내의 제어회로(351)는 "Reob"를 카운터로 부터 출력된 런 대신에 양자화된 계수메모리(31)에 출력한다.
여기서, 판독회로(322), 디바이더 (323), 래치(326), 제로-판단회로(327), 카운터(328) 그리고 양자화된 계수메모리(331) 모두는 독립적으로 동작할 수 있기 때문에, 인덱스와 런을 발생 그리고 기억할뿐 아니라 판독과 각각의 DCT계수를 양자화하는 프로세스는 모두 병렬적으로 수행될 수 있다. 파이프라인 프로세싱은 이와같은 프로세스를 촉진시킬 수 있으며 화상데이타 압축에 요하는 시간을 줄인다.
제16도는 제3도에 나타난 DCT계수 행렬(D)의 요소를 각각 양자화함으로써 얻어진 양자화된 계수메모리(331)의 내용을 보여준다.
그래서, 양자화된 계수메모리(331)가 블록에 대한 양자화된 계수의 기억을 완료했을때 타이밍 제어기(350) 내의 제어회로(351)는 판독제어신호로서 논리 "1"을 양자화된 계수메모리(331)에 출력하여, 양자화된 계수메모리(331)를 판독가능상태로 놓는다. 제어회로(351)는 코딩수단(150)으로 하여금 코딩프로세스를 시작하도록 지시하며, 최고 어드레스 값(Amax)으로 카운터(353)의 카운터 값을 보유하며, 다시 카운더(353)의 카운터 값을 지운다.
또한 선결된 시간간격으로, 제어회로(351)는 카운터(352)로 하여금 카운터 값을 증가하도록 지시하고 클럭신호를 적절한 데이타를 출력하는 지시수단으로 양자화된 계수메모리(331)에 출력한다. 이것은 데이타 쌍이 양자화된 계수메모리(331)에서 코딩수단(150)으로 순차로 출력되도록 촉발한다.
코딩수단내의 조회테이블(341)은, 각각 M비트를 갖는 어드레스로 어드레스에 의해 표현되는 런에 상응하는 표준화 기술안(JPEG-8-R8)에 따른 런코드를 기억한다.
코딩수단내의 LUT(342)는 각각 N비트를 갖는 어드레스로 어드레스에 의해 표현되는 인덱스에 해당하는 표준화기술안(JPEG-8-R8)에 따른 인덱스코드를 기억한다.
그러므로, N최상의 비트와 M최하의 비트의 데이타 쌍의 입력은, 각각의 어드레스가 인덱스코드와 런코드를 발생할때, 양자화된 계수메모리(331)에서 LUT(342, 341)까지 판독한다.
코딩수단(150) 내의 LUT(343)는, 런코드와 인덱스코드로 이루어진 쌍에 해당하는 어드레스에서, 여러가지 길이에서 코딩으로 사용되는 적절한 후프만(Huffman) 코드, 런코드, 그리고 LUT(342,341)에 의해 얻어진 인덱스 코드를 기억한다.
여기서 LUT(341,342,343)들은 모두 독립적으로 동작하므로, 런코드와 인덱스코드의 코딩뿐 아니라, 런과 인덱스의 코딩을 위한 프로세스는 모두 병렬적으로 수행될 수 있다. 파이프라인 프로세싱은 코딩프로세스를 촉진시켜, 화상데이타 압축에 요구되는 시간을 줄인다.
예를들어, LUT(341,342,343)로부터 판독프로세서에 요하는 시간간격(TAU)에서, 타이밍제어기(350) 내의 제어회로(351)는 단지 카운터(353)로 하여금 카운터값을 증가시킴을 지시하면 된다. 이 경우, 카운터(353)로부터 출력은 양자화된 계수메모리(331)로 하여금 새로운 인덱스와 새로운 런으로 구성된 데이타 쌍을 LUT(342,341)에 출력하도록 촉진한다. 제어회로(351)는 블록의 인덱스와 런을 판독하기 위한 프로세스가, 카운터(353)의 카운터값이 최상어드레스값(Amax)으로 보존된 값에 이를때, 완결되었는지 판단한다.
제어회로(351)는 코딩수단(150)에 블록판독의 완결을 알려주어서 코딩프로세스를 멈추게끔 한다.
타이밍 제어기(350)내의 제어회로(351)는 판독 제어 신호로서 논리 "0"을 양자화된 계수메모리(331)에 다시 출력하여, 양자화된 계수메모리(331)를 기입 가능 상태에 놓는다. 제어회로(351)는 어드레스 발생회로(321)와 양자화수단(121)내의 판독회로(322)로 하여금 또 다른 판독프로세스를 시작하도록 한다. 이것은 다음 블록을 나타내는 DCT 계수행렬(D)의 요소들이, 공급될 DCT 회로내 버퍼(312)로부터 제로-판단회로(327)까지 판독되도록 촉진한다. 그뒤 다음 블록을 양자화하기 위한 프로세스가 시작된다.
각각의 블록에 대해 상기와 같은 프로세스를 반복함으로써 모든 화상의 화상데이타가 코딩된다.
양자화된 계수의 두개 블록으로부터 얻어진 데이타 쌍에 대한 메모리용량을 가진 양자화 계수메모리(331)를 제공하여, 코딩수단(150)은 양자화수단(121)에 의한 데이타 쌍의 발생, 저장 및 블록의 양자화 프로세스와 병렬하여 계수메모리(331)에 기억된 데이타 쌍은 코드화하도록 배열가능하다.
이것은 데이타 쌍을 발생하고 코딩시킬 뿐 아니라 블록에 대한 DCT 계수행렬(D)내의 각각의 요소를 양자화하는 프로세스에 요하는 시간을 더욱 줄일 수 있다.
제17도와 제18도는 타이밍 제어기(350)내의 제어회로(351)에 의한 프로세싱을 소프트웨어적으로 설명한 플로챠트인데, 이 제어회로는 본 발명의 제1실시예에 따른 화상데이타 압축장치의 동작을 관리한다.
좀더 구체적으로, 제17도와 제18도는 제14도에 나타나 있는 화상데이타압축장치에 의한 화상블록에 대한 양자화 그리고 코딩의 브레이크다운을 설명하고 있다. 여기서 압축장치는 블록장치내 화상압축을 실제적으로 파이프라이닝한다. 제17도의 제18도에서 기호 ""[원문자 A]는 동작의 계속을 나타내는 컨넥터이다.
DCT 장치(311)가 블록을 DCT화 동작을 완결한후, 버퍼(312)가 블록의 DCT 계수를 기억할때, 제17도와 제18도에 나타난 프로세스가 시작되는데, 그 과정은 아래와 같다.
스텝 S1 : 제어회로(351)는 양자화된 계수메모리(331)를 기입가능상태에 놓으며 양자화수단(121)으로 하여금 양자화를 시작하게 한다.
스텝 S2 : 양자화수단(121)은 버퍼(312)에 저장된 DCT 계수의 하나(1)를 판독하고 이것을 래치(326)와 제로-판단회로(327)에 출력하며, 카운터값을 1씩 증가시키는 카운터(352)를 가진다.
스텝 S3 : 제로-판단회로(327)가 양자화 수단에서 나온 양자화된 계수의 값이 영(0)인지 아닌지 판단한다.
만약 값이 영(0)(Y)이면, 카운터(328)는 제로-판단회로(327)에 의해 1씩 증가해서 프로세스는 스텝 S2로 복귀하며 만약 값이 영(0)이 아니면(N) 프로세스는 스텝(S4)로 이어진다.
스텝 S4 : 양자화된 계수메모리(331)는 래치(326)에 홀드되어 있는 양자화된 계수(즉, 인덱스)와 카운터의 카운터값(즉, 런)을 제어회로(351)에 의해 기억한다.
스텝 S5 : 카운터(353)는 제어회로(351)에 의해 1씩 값이 증가된다.
스텝 S6 : 제어회로(351)는 카운터(352)의 카운터값이 블록내의 화소수[즉,8×8 화소로 이루어질때 64이다.]에 도달했는지 아닌지에 따라 블록의 끝부분을 감지한다. 만약 그 값이 64에 도달하지 못했다면, 프로세스는 단계 S2로 바뀐다. 만약 그 값이 64에 도달했다면, 블록의 모든 DCT 계수가 양자화되고 양자화된 계수메모리(331)가 블록에 있어 인덱스와 런을 기억한후, 프로세스는 단계 S7로 이어진다.
스텝 S7 : 양자화된 계수메모리(331)는 블록끝신호(Reob)를 제어회로에 의해 기억한다. 프로세스는 단계 S8로 이어진다.
스텝 S8 : 양자화 수단(121)은 블록에 대한 양자화를 제어회로(351)에 의해, 완결한다.
그래서 스텝 S1에서 스텝 S8까지를 통해, 양자화와 양자화 계수의 인덱스와 런으로의 변환이 완결되며 이어서 코딩을 위해 스텝 S9로 이어진다.
스텝 S9 : 제어회로(351)에 의해 양자화된 계수메모리(331)는 판독가능 상태에 놓이며, 코딩수단(150)은 코딩을 시작한다. 스텝 S10으로 이어진다.
스텝 S10 : 제어회로(351)에 의해, 양자화된 계수메모리(331)는 카운터값(CA)을 홀드하며 카운터(352 및 353)들을 초기화한다. 스텝 S11로 계속된다.
스텝 S11 : 제어회로(351)에 의해, 코딩수단(150)은 양자화된 계수메모리(331)내 카운터(353)의 카운터값을 갖는 어드레스로부터 인덱스와 런의 첫번째 데이타 쌍을 판독한다. 스텝 S12로 이어진다.
스텝 S12 : 제어회로(351)에 의해, 코딩수단(150)은 첫번째 데이타 쌍내 인덱스와 런을, 런코드와 쌍을 이룬 인덱스 코드로 변환하고 또한 여러길이, 예컨대 후프만코드로 인덱스코드와 실행코드로 이루어진 쌍을 코딩한다. 스텝 S13으로 이어진다.
스텝 S13 : 제어회로(351)에 의해 카운터(353)은 1씩 카운터값이 증가한다. 스텝 S14로 계속된다.
스텝 S14 : 제어회로(351)가, 스텝 S10에서 얻어진 카운터값(CA)이 카운터(353)의 카운터값과 같은지 아닌지 판단한다. 만약 같지 않으면(N),(인덱스와 런의 데이타 쌍이 여전히 양자화된 계수메모리(331)내에 남아있기 때문에) 프로세스는 스텝 S11로 바뀐다. 만약, 같으면(Y) 스텝 S15로 계속된다.
스텝 S15 : 제어회로(351)에 의해, 코딩수단(150)은 코딩을 완결하며 모든 프로세스는 끝난다.
제 2 실시예
제19도는 본 발명의 제2실시예에 따른 화상데이타 압축기구의 배치를 자세히 보여주고 있다.
우선, 제12도와 제19도 사이의 해당관계를 설명한다. 직교변환수단(211)은 DCT 장치(361)에 해당한다.
양자화 수단(221)은 어드레스 발생회로(371), 판독회로(372), 디바이더(373) 그리고 양자화 행렬 기억부(374)에 해당한다.
변환수단(231)은 래치(376), 제로-판단회로(377) 그리고 카운터(378)에 해당한다.
제1발생수단(242)는 신호발생회로(375a)에 해당한다.
제 2 발생수단(243)은 신호발생회로(375b)에 해당한다. 선택수단(244)은 멀티플렉서(379)에 해당한다.
선택수단(244)은 멀티플렉서(379)에 해당한다.
발생수단(241)은 신호발생 신호(375a, 375b)와 멀티플렉서(379)에 해당한다.
부착수단(251)은 스위치조절회로(382), 카운터(380), 멀티플렉서(379) 그리고 양자화된 계수메모리(381)에 해당한다.
코딩수단(261)은 판독회로(391), 조회회로(392,393,398), 완결코드발생회로(395), 그리고 멀티플렉서(394)에 해당한다.
판단수단(272)은 블록끝 검출회로(396)에 해당한다.
지지수단(271)은 블록끝 검출회로(396)와 코딩제어회로(397)에 해당한다.
상기 대응관계를 가정하여 실시예의 형상과 동작이 다음과 같이 기술된다.
제19도에 도시된 것처럼, DCT 장치(361)는(도시되지 않은) 화상주사기에 의하여 판독되는 것처럼 화상데이타를 각각이 8×8 화소를 포함하는 블록과 DCT 각 블록으로 분할하여, DCT 계수의 8행과 8열을 가지는 행렬(이후에는 DCT 계수행렬(D)로 언급)을 생성하고, DCT 장치(361)에 내부적으로 제공되는 버퍼(362)는 그것을 양자화 수단(370)에 출력하기전에 일시적으로 기억한다.
양자화 수단(370)에서, 어드레스 발생회로(371)는 제6도에서 도시된 주사 순서에 따라 버퍼(362)에 어드레스를 순차적으로 발생시키고, 판독회로(372)는 어드레스에 따라 DCT 계수행렬(D)에서 해당요소를 읽어서 그것들을 디바이더(373)로 입력시킨다.
또한 양자화 수단(370)에서 양자화 행렬 기억장치 (373)는 제4도에 도시된 양자화 행렬(VTM)을 기억시키고, 어드레스 발생회로(371)에 의해 획득된 어드레스에 해당하는 양자화 행렬(VTM)의 요소를 디바이더(373)로 입력한다.
디바이더(373)는 양자화 행렬(VTM)의 해당 요소에 의해 DCT 계수행렬(D)의 입력된 요소를 나누어 DCT 계수행렬(D)의 각각의 요소를 양자화시킨다.
래치(376)와 제로-판단회로(377)는 다바이더(373)르부터 연속적으로 출력을 받는다. 래치(376)와 카운터(378)는 제로-판단회로(377)에 의한 판단결과에 따라서 동작한다.
앞서 기술된 제로-판단회로(377)는 입력된 양자화 계수가 0인가 여부를 판단하여 래치(376)와 카운터(378)에 판단결과를 공급한다. 카운터(378)는 활성화되어서 제로-판단회로(377)는 입력된 양자화 계수가 0값을 갖는 비유효계수라고 판단할때 양자화 계수의 입력과 동기로 클럭신호(아직 안 나타난)에 따라 1만큼 카운터값을 증가시킨다.
래치(376)는 활성화되어서 제로-판단회로(377)는 입력된 양자화 계수기 0이 아닌 값을 갖는 유효계수라고 판단할 때, 상기 설명된 클럭신호에 따라 해당 양자화 계수를 유지한다. 이때에, 카운터(378)는 카운터값을 출력하고 그 이후 그것을 제거한다.
이것은 래치(376)가 유효계수(즉, 인덱스)의 값을 선택적으로 보유하게 하고 카운터(378)가 계속하여 입력된 비유효계수의 수를 세는 것을 가능하게 한다.
따라서, 변환수단(231)은 래치(376), 제로-판단회로(377) 및 카운터(378)로 구성되는 변환수단(231)은 일련의 양자화 계수를, 이후에 시리얼 양자화 계수로서 언급되는 인덱스들과 런의 시리얼쌍으로 변환시킨다.
멀티플렉서(379)의 입력포트(A)는 입력자료들로서 시리얼 양자화 계수에 포함된 런과 함께 쌍을 이루는 인덱스를 받는다.
신호발생회로(375a)는 제1종료신호로서 상기 설명된 멀티플렉서(379)의 입력포트(B)에 소정 비트패턴(Reob1)을 출력한다. 마찬가지로 신호발생회로(375b)는 제 2종료신호로서 멀티플렉서(379)의 입력포트(C)에 다른 비트패턴(Reob2)을 출력한다. 상기 설명된 신호발생회로(375a 및 375b)는 그러한 명시 인덱스와 런과는 다른 비트패턴(Reob1 및 Reob2)을 발생시키는 것을 요구할 뿐이다.
상기 설명된 시리얼 양자화 계수의 발생과 병렬로 카운터(380)는 1만큼 카운터값을 증가시키고나서, 카운터값을 스위치 제어회로(382)에 공급하며 매번 디바이더(373)는 양자화 계수를 출력한다. 카운터(380)의 카운터값을 기초로 하여 스위치 제어회로(382)는 블록에 대한 양자화 계수가 전부 수용되었는지 여부를 판단한다. 스위치 제어회로(382)는 먼저 입력포트(B)는 입력포트(A), 그리고나서 입력포트(C)를 선택하도록 멀티플렉서(379)에 지시하는데, 그것은 상기 설명된 제로-판단회로(377)가 양자화 계수가 전부 수용되었는지를 판단하는 것에 관해서 비유효계수 또는 유효계수가 되도록 최종 양자화 계수를 판단하는가에 달려있다.
스위치 제어회로(382)로부터의 지시에 따라서 멀티플렉서(379)는 양자화 계수메모리(381)로 각 입력포트에서 받은 입력자료를 출력한다.
이런 까닭에 카운터(380)의 카운터값이 블록에서의 화소수에 도달할 때까지 멀티플렉서(379)는 입력포트(A)를 선택하고 연이어서 인덱스들과 쌍을 이루는 런으로 구성되는 시리얼 양자화 계수를 출력한후 양자화 계수메모리(381)에 기억된다. 계속해서, 블록에 대한 양자화 계수가 전부 수용되었을 경우, 최종 양자화 계수 비유효계수인가의 여부에 따라 멀티플렉서(379)는 비트패턴(Reob1)이나 비트패턴(Reob2)을 허용하는 입력포트(B)나 인덱스(C)를 선택하고, 양자화 계수메모리(381)는 유사하게 그러한 비트패턴들중 어느 하나를 기억한다.
예를들어, 제6도에 도시된 지그재그 주사순서에 의해 읽혀진 DCT 계수행렬(D)의 요소가 양자화될 때, 마지막으로 판독된 DCT 계수에 해당하는 양자화 계수는 비유효계수임에 틀림없다. 따라서, 이경우에서는 멀티플렉서(379)는 입력포트(B)에서 받은 비트패턴(Reob1)을 양자화 계수메모리(381)로 출력하고, 상기 설명된 DCT 계수행렬(D)의 각 요소에 해당하는 런과 인덱스를 6쌍을 포함하는 시리얼 양자화 계수 이후의 비트패턴를 기억한다.
따라서, 최종 양자화 계수가 비유효계수일때, 종료신호로서, 비트패턴(Reob1)은 제20A도에서 도시되는 것처럼, 직렬 양자화 계수의 말단에 부가된다.
제20A도와 20B도는 시리얼 양자화 계수의 전형적인 구조를 보여준다.
그러나, 최종 양자화 계수가 유효계수일때, 최종 양자화 계수를 받자마자 멀티플렉서(379)는 양자화 계수메모리(381)에 기억되도록 입력포트(C)에 공급된 비트패턴(Reob2)을 출력한다. 이것은 종료신호로서 비트패턴(Reob2)이 최종 중요 계수를 나타내는 런(Re)과 인덱스(Ie)의 쌍 이후에 시리얼 양자화 계수의 말단에 부가되도록 허용한다.
제20A도와 20B도에서, 첫번째로 입력된 블록의 DC 요소의 인덱스는, 부호 "D"로서 표현된다. 다른 인덱스들은 출현순서를 나타내는 접미수를 갖는 부호 "I"로서 표현된다. 각 인덱스들과 함께 쌍을 이룬 런은 출현 시퀀스를 나타내는 동일 접미수를 갖는 부호 "R"로서 표현된다.
다음은 코딩수단(390)이 양자화 계수메모리(381)에 기억된 인덱스와 런들을 코드하는 처리의 설명이다.
판독회로(391)는 시리얼 양자화 계수에 포함된 런과 입력포트들의 쌍을 연속적으로 판독하는데 그것은 양자화 계수메모리(381)에 기억되고, 어드레스로서 조회표(392)(이후에는 LUT)로 함)에 대한 판독런과 어드레스로서 LUT(393)에 대한 판독 인덱스들을 공급한다.
LUT(392)는 어드레스에 의해 표현된 런에 대응하는 런코드를 각 어드레스에 기억한다. LUT(393)는 어드레스에 의해 표현된 인덱스에 대응하는 인덱스 코드를 각 어드레스에 기억한다.
따라서, 런과 인덱스들을 받는대로, 곧, LUT(392)와 LUT(393)은 멀티플렉서(394)의 입력포트(A)에 대한 런코드와 인덱스 코드에 해당하는 것을 각각 출력한다.
종료코드발생회로(395)는 표준화 기술안에 근거해서, 블록끝을 나타내는 코드로서 정의된 종료코드를 발생시키고, 상기 설명된 멀티플렉서(394)의 입력포트(B)에 대한 종료코드를 공급한다.
멀티플렉서(394)는 코딩제어회로(397)로부터의 명령에 따라서 작동한다.
다음의 사항은 멀티플렉서(394)의 스위칭 처리에 대한 설명과 런코드와 인덱스 코드의 코딩처리에 관한것이다.
블록종료검출회로(396)는 판독회로(391)에 의해 판독된 시리얼 양자화 계수를 연속적으로 받고, 비트패턴(Reob1 및 Reob2)을 검출하고, 코딩제어회로(397)에 대한 검출결과를 출력한다.
코딩제어회로(397)는 대체적으로 입력포트(A)를 선택하도록 멀티플렉서(394)를 지시하고, 블록종료검출회로(396)가 비트패턴(Reob1)을 검출할 때 입력포트(B)를 선택하도록 멀티플렉서(394)를 지시한다.
예를들어, 제20A도에서 나타난 런과 인덱스의 쌍들이 연속적으로 판독될 경우, 코딩제어회로(397)는 멀티플렉서(394)가 비트패턴(Reob1)이 일곱번째를 판독할 때까지 입력포트(A)를 검출하도록 지시한다. 그후, 멀티플렉서(394)는 LUT(392)와 LUT(393)으로부터 각각 출력된 런코드와 인덱스 코드의 쌍을 멀티플렉서(394)의 어드레스로서 LUT(398)에 공급한다.
LUT(398)은 인덱스 코드와 런코드의 쌍에 해당하는 어드레스에 적절한 후프만 코드를 기억한다.
따라서, LUT(398)은 LUT(392)와 (393)에 의해 각각 획득된 런코드와 인덱스 코드의 쌍을 받자마자 적절한 후프만 코드를 출력한다.
이런 방법으로 제20A도에서 나타난 시리얼 양자화 계수는 DC 요소에 해당하는 인덱스(D)에서 개시하여 순차적으로 코드화하고, 코딩제어회로(397)는 종료신호로서 기억된 비트패턴(Reob1)이 판독될 때 멀티플렉서가 입력포트(D)를 선택하도록 지시한다.
이것은 멀티플렉서(394)가, 해당 코드로 변환되도록 종료코드발생회로(395)로부터 공급된 종료코드를, LUT(398)로 출력시키는 것을 야가힌다.
따라서, 이 경우에서는, 제7A도에 도시된 바와 같이 최종 유효 계수를 나타내는 런(R5)과 인덱스(I5)의 쌍에 해당하는 코드(C6)는, 종료코드에 해당하는 "EOB" 코드의 다음에 위치하며, 이것은 다음의 모든 양자화 계수가 비유효계수라고 지정한다.
또한, 이번에는, 코딩제어회로(397)는 블록을 코딩하기 위한 처리가 끝났다고 판단하고 판독회로(391)가 양자화 계수 기억장치(381)로부터 양자화 계수를 판독하는 것을 멈추도록 지시한다.
한편, 양자화 계수 기억장치(381)가 제20B도에 나타난 시리얼 양자화 계수를 기억할 때, 종료신호로서 기억된 비트패턴(Reob2)는 최종 유효계수에 해당하는 인덱스(Ie)와 쌍을 이루는 런(Re) 이후에 판독된다. 그리고나서 블록검출회로(396)로부터의 출력을 받자마자, 코딩제어회로(397)는 블록을 코딩하기 위한 처리가 끝났다고 판단하고 판독회로(391)가 양자화 계수 메모리(381)로부터 양자화 계수를 판독하는 것을 멈추도록 유사하게 지시한다.
그러나 이 경우에서는 코딩제어회로(397)는 멀티플렉서(394)가 입력포트(B)를 검출하도록 지시하지 않았기 때문에 종료코드에 해당하는 "EOB" 코드는 말단에 부착되지 않고 제7B도에 도시된 바와 같이 최종 유효 계수에 해당하는 인덱스(Ie)와 쌍을 이루는 런(Re)에 대한 코드(Ce) 대신에 결국 최종코드가 된다.
따라서, 양자화 계수 메모리(38l)에 기억된 블록에 대한 연속 양자화 계수는 가변적인 길이로 부호화된다.
양자화를 위한 상기 설명된 처리들을 반복하고 화상의 각 블록에 대한 블록을 코딩함으로써 그것의 화상데이타는 부호화된다.
상기 설명했듯이, 스위치제어회로(382)는 블록에 대한 시리얼 양자화 계수의 말미에 블록의 끝을 나타내는 종료신호를 부가하기 위해 멀티플렉서(379)를 스위치하고, 코딩수단(390)은 블록에 대한 시리얼 양자화 계수의 끝이 인식되는 것을 가능하게 하므로 인해서, 종료신호를 검출한다.
여기서, DCT 계수행렬(D)의 각 요소를 양자화하기 위한 처리와 획득된 양자화 계수를 런과 인덱스들의 쌍으로 구성되어 있는 것을 특징으로 하는 시리얼 양자화 계수로 변환하기 위한 처리는 각 블록당 개별적이고 독립적으로 실행된다.
또한, 시리얼 양자화 계수를 코딩하기 위한 처리는 각 블록당 개별적이고 독립적으로 실행된다.
따라서, 본 발명은 단일장치로 실행되는 양자화 과정과 코딩처리가 양자화 계수 메모리(381)가 상호접속하는 2분리회로에 의하여 실행된 2구별과정으로 분리되도록 하며, 그리하여 회로 구성을 간단히 할 수 있다.
이것은 양자화 및 코딩처리에 대한 모든 회로가 용이하게 제어되는 것을 가능하게 한다. 또한, 양자화 계수 메모리(381)의 입력면의 양자화 계수모듈이, 시험중 개변성능평가를 위해서 동일한 출력면의 코딩회로모듈로부터 독립적으로 작동할 수 있기 때문에, 각 회로모듈의 규정도가 쉽게 확인될 수 있다.
코딩회로모듈이 종료신호를 검출함과 동시에 블록의 끝을 판단하기 때문에, 런의 수를 축적하기 위한 회로는 더이상 필요하지 않으며, 그리하여 코딩회로모듈을 간단히 할 수 있다.
스위치제어회로(382)는 제로-판단회로(377)의 판단결과에 따라 멀티플렉서(379)를 스위치하기 때문에, 2비트패턴(Reob1 또는 Reob2)중 하나는 최종 양자화 계수가 비유효계수인지 여부에 따라서, 시리얼 양자화 계수의 말단에 부가하기 위한 종료신호로서 선택된다.
이것은 최종 양자화 계수가 비유효계수인지의 여부를 판단함으로써 코딩회로모듈이 표준화 기술안에 따라서 코딩을 실행하는 것을 가능하게 한다.
또한 고속화상데이타압축장치를 인식함으로써, 양자화회로모듈과 코딩회로모듈이 서로 개별적으로 작동할수 있기 때문에, 연속하여 양 처리들을 실행하는 기존의 처리와 비료해서 양자화 처리와 코딩처리를 촉진시킬 수 있게 된다.
더욱이, 시리얼 양자화 계수의 2블록에 대한 기억용량과 함께 기억장치를 제공함으로써, 본 발명은 양자화 회로모듈에 의한 블록을 양자화시키는 처리와 병행하여 양자화 계수 기억장치(381)에 기억된 기존블록에 대한 시리얼 양자화 계수를 코드화하기 위한 코딩회로모듈을 구성할 수 있다.
이것은 블록에 대한 DCT 계수행렬(D)의 각 요소를 양자화하고 코딩하기 위해 필요한 시간이 더욱 단축되는 것을 가능하게 한다.
제 3실시예
제21도는 본 발명의 제3실시예에 따라서 화상데이타 복원장치의 형태를 상세히 나타낸다.
첫째로, 제13도와 제21도의 관계가 설명되었다.
디코딩 수단(161)은 디코딩표(411)와 조사회로(412)로 구성되는 디코더(410)에 해당한다.
계수코드복귀수단(162)은 LUT(413)에 대응한다.
연속길이코드복귀수단(163)은 LUT(414)에 대응한다.
제2기억수단(142)은 양자화 계수 메모리(421)와, 타이밍 제어기(430)에 해당한다.
역양자화수단(171)은 멀티플라이어(441), 축적회로(442), 양자화 행렬 기억 장치(443), 버퍼(444) 그리고 어드레스 변환회로(445)에 해당한다.
역직교변환수단(181)은 역 DCT 장치(450)에 해당한다.
상기 관계를 가정하면, 실시예의 형태와 동작은 하기 설명한 것과 같다.
제21도에서 디코더(410)는 각각의 후프만 코드와 인덱스 코드의 쌍과 런코드 사이의 연관관계를 기억하는 디코딩표(411)를 이용함으로써 입력코드를 해독한다. 입력코드를 받음과 동시에 조사회로(412)를 갖는 디코더(410)는 인덱스 코드와 런코드의 관계쌍에 대한 디코딩표(411)를 찾아서, 각 어드레스 입력과 마찬가지로 LUT(413 및 414)로 획득된 인덱스와 런코드를 공급한다.
LUT(413)는 인덱스를 나타내는 N비트 데이타를 각 인덱스 코드에 해당하는 그 어드레스에 기억하고, LUT(414)는 런을 나타내는 M비트 데이타를 각 런코드에 해당하는 그 어드레스에 기억한다.
각 블록에 대응하는 코드데이타를 해독하기 위한 처리가 시작될 때, 타이밍 제어기(430)에 있는 제어회로(431)는 양자화 계수 기억장치(421)를 기록/판독제어신호(W/R)로서 논리적 0을 출력하고, 양자화 계수 기억장치(421)를 기록가능상태로 놓는다. 그리고나서 제어회로(431)는 조사회로(412)가 조사처리를 초기화하도록 지시한다.
그런 지시를 받자마자, 조사회로(412)와 LUT(413 및 414)는 그들의 작동을 개시하며, 조사회로(412)는 디코딩표(411)로부터 LUT(413 및 414) 각각에 까지 조사된 인덱스 코드와 런코드를 출력한다. 그런 입력을 받자마자 LUT(413 및 414)는 양자화 계수 메모리(421)에 대응 인덱스와 런을 각각 출력한다.
조사회로(412)가 조사결과를 출력할 때마다, 타이밍 제어기(430) 내부의 카운터(432)는 1만큼 카운터 값을 증가시키고, 양자화 계수 기억장치(421)에, 인덱스와 런으로 각각 구성된 데이타 쌍들을 기억하기 위한 어드레스로서, 갱신된 카운터 값을 공급한다.
제어회로(431)는 LUT(413 및 414)의 출력 타이밍으로 동기된 클럭신호를 출력하고, 양자화 계수 메모리(421)가 데이타 쌍을 기억하도록 지시한다.
예를들어, 양자화 계수 메모리(331)에서와 같이 양자화 계수 메모리(421)는 지정된 어드레스에 대응하는 기억영역의 N 최상위 비트의 인덱스와 지정된 어드레스에 대응하는 기억장치영역의 M 최하위 비트의 런을 기억한다.
따라서, 양자화 계수 메모리(412)는 양자화 계수 메모리(421)의 카운터(432)에 특정화된 카운터 값에 해당하는 어드레스의 LUT(413 및 414)로부터 출력된 인덱스와 런의 데이타 쌍을 기억한다.
여기에서, 조사회로(412)와 LUT(413 및 414) 모두가 각각 독립적으로 동작할 수 있기 때문에, 인덱스코드와 런코드에 대한 입력코드를 해독하기 위한 처리, 인덱스 코드로부터의 인덱스를 복원하기 위한 처리, 그리고 런코드로부터의 런을 복원하기 위한 처리가 동시에 모두 실행될 수 있다.
이것은, 그러한 처리들을 연속적으로 실행하는 것과 비교하여, 디코딩 처리가 촉진되고, 화상데이타복원을 위해 필요한 시간이 짧아지는 것을 가능하게 한다.
상기 설명된 디코딩 처리와 동시에, 타이밍 제어기(430) 내부의 블록종료검출회로(433)는, LUT(414)로부터 출력된 런을 조사하고, 블록의 끝을 나타내는 런(Reob)을 검출하자마자 블록종료의 검출을 제어회로(431)에 통보한다.
통보를 받자마자, 제어회로(431)는 조사회로(412)가 그 조사처리를 끝내도록 지시하고 디코딩 처리를 멈춘다.
이때에, 제어회로(431)는 최고치(Amax)로서 카운터 (432)의 카운터 값을 보유하고 나서, 카운터(432)의 카운터 값을 삭제한다.
다음, 제어회로(431)는 판독/기록 제어신호(W/R)로서 논리적 1을 출력하고, 양자화 계수 메모리(421)를 판독가능상태로 놓고 역 양자화 수단(171)이 역 양자화 처리를 초기화하도록 지시한다.
또한, 이때에, 제어회로(431)는 버퍼(444)의 내용을 삭제한다.
그리고나서, 제어회로(431)는 카운터(432)가 예정된 기한에 그것의 카운터 값을 증가하고, 양자화 계수메모리(421)가 카운터(432)의 카운터 값에 대응하는 어드레스에 기억된 데이타 쌍을 출력하도록 지시한다.
이것은 순차적으로 데이타 쌍을 출력시키도록 양자화 계수 메모리(421)를 트리거한다.
역 양자화 수단(171)의 멀티플라이어(441)는 인덱스로서, 데이타 쌍의 N최상위 비트를 받는다. 축적회로(442)는 런으로써, 데이타 쌍의 M최하위 비트를 받는다.
누산회로(442)는 출력된 실행치를 연속적으로 누산하고, 양자화 행렬 메모리(443)에 대한 누산결과를 공급한다.
양자화 행렬 기억장치(443)는 제6도의 양자화 행렬(VTH)의 각 요소를 기억하고, 누산결과를 받자마자 멀티플라이어(441)에 대한 양자화 행렬(VTH)의 해당요소를 공급한다.
누산회로(442)에 의해 획득된 누산결과는 제6도에서 나타난 주사 시퀀스에 따라서, 런과 더불어 입력된 인덱스에 대응하는 DCT 계수화 행렬(D)의 요소의 주사수를 지시한다.
주사수는 DCT 계수행렬의 요소 위치를 나타낸다.
따라서 누산결과를 받자마자, 양자화 행렬 기억장치(443)는 DCT 계수화 행렬(D)의 상기 설명된 요소에 해당하는 양자화 개시를 출력한다.
따라서, 멀티플라이어(441)는 인덱스와, 인덱스에 대응하는 양자화 행렬(VTH)의 요소를 받고, 누산을 실행하고, 버퍼(444)에 획득결과를 입력한다.
곱셈과 동시에 어드레스 변환회로(445)는 누산회로(442)에 의해 획득된 주사수를 버퍼(444) 내부의 이2차원 배열의 적절한 위치를 나타내는 어드레스로 전환하고, 그 변환결과를 어드레스로서 버퍼(444)에 입력한다.
이것은 버퍼(444)가 적절한 어드레스의 멀티플라이어(441)로부터 입력된 결과를 기억하도록 한다.
따라서, 8행, 8열을 갖는 DCT 계수행렬(D)은 양자화 계수 메모리(421)에 기억된 데이타 쌍들로부터 복원된다.
여기에서, 멀티플라이어(441)와 어드레스 변환회로(445)는 서로 독립적으로 작동할 수 있기 때문에, 인덱스와 양자화 행렬(VTH)의 해당요소사이의 곱셈은 결과를 기억하기 위한 어드레스의 발생과 동시에 실행될 수 있다. 이것은 연속처리와 비교하면, 처리를 촉진시킨다.
상기 검토된 역 양자화와 병행하여, 타이밍 제어기(430)의 제어회로(431)는 카운터(432)의 카운터 값을 최고치 어드레스(Amax)와 비교해서, 2비교값이 조화될 때 블록의 인덱스와 런의 판독의 종료를 판단한다.
제어회로(431)는 역 양자화 수단(171)이 역 양자화를 멈추고, 역 DCT 장치(450)가 역 DCT 처리를 초기화하도록 지시한다.
이것은 블록의 복원화상데이타로 인해서, 역 DCT 장치(450)가 버퍼(444)에 기억된 DCT 계수행렬(D)에 대한 이차원 역 DCT를 실행하도록 야기한다.
제22,23,24도는, 본 발명의 제3실시예에 따라서 화상 데이타 복원 장치의 작동을 조절하는 타이밍 제어기(430)의 제어회로(431)에 의한 처리를 설명하기 위한 (예를들면, 소프트웨어에서) 순서도이다.
더욱 독특하게, 제22도와 23도는 역 양자화의 붕괴와, 실제로 블록장치에 화상 복원을 수송한는 제21도에서 나타난 화상데이타복원장치에 의해 화상데이타의 블록에 대한 디코딩을 설명한다.
제22도와 23도의 부호 B(둘러싸인B)는 동작의 연속을 나타내는 결합자이다.
검색회로(412)가 1블록의 입력코드를 수신할 때, 제22도 및 제23도에 도시된 다음에 기술되는 프로세스가 시작된다.
스텝 S21 : 제어회로(431)는 기입가능상태에서 양자화된 계수 메모리(421)를 놓고 검색회로(421)가 양자화를 초기화할 것을 지시한다. 프리세스는 스텝(S22)으로 진행한다.
스텝 S22 : 검색회로(412)는 입력코드, 예를들어 후프만 코드를 색인코드와 디코딩 테이블을 참조하여 런(run)코드를 포함하는 쌍으로 디코딩하며 또한 그 쌍을 LUT(413 및 414)를 참조하여 인덱스와 런을 포함하는 데이타 쌍으로 디코딩한다. 프로세스는 스텝(S23)으로 진행한다.
스텝 S23 : 제어회로(431)는 양자화 계수 메모리(412)가 카운터(432)로부터 출력된 카운터 치에 대응하는 어드레스에서 인덱스와 런을 포함하는 데이타 쌍을 기억하도록 지시한다. 프로세스는 스텝(S24)으로 진행한다.
스텝 S24 : 제어회로(431)는 1씩 그것의 카운터를 증가시키도록 카운터(432)에 지시한다. 프로세스는 스텝(S25)으로 진행한다.
스텝 S25 : 블록끝 검출회로(433)는 블록의 꼬리끝에서 제7A도에 도시된 종결코드 "EOB"록 검출 또는 8×8블록에서의 64양자화 계수 모두를 카운터하여 블록의 끝을 판단한다.
제어회로(431)가 블록끝 검출회로(433)로부터 부정판단[N]을 수신할 때, 프로세스는 스텝(S22)으로 되돌아간다.
제어회로(431)가 블록끝 검출회로(433)로부터 긍정판단[Y]을 수신할 때, 프로세스는 스텝(S26)으로 진행한다.
스텝 S26 : 제어회로(431)는 검색동작을 종결하도록 검색회로(412)에 지시한다. 프로세스는 스텝(S27)으로 진행한다.
스텝 S27 : 제어회로(431)는 양자화 계수 메모리(421)를 판독가능상태로 놓고 역 양자화 수단(171)이 1블록의 입력코드를 역 양자화를 시작하도록 지시한다. 프로세스는 스텝(S28)으로 진행한다.
스텝 S28 : 제어회로(431)는 카운터(432)에 지금까지 기억된 카운터치 "DA"를 유지하고 카운터(432)와 버퍼(444)를 초기화한다. 프로세스는 스텝(S29)으로 진행한다.
스텝 S29 : 제어회로(431)는 양자화 계수 메모리(421)에서 카운터(432)의 카운터치에 대응하는 어드레스로부터의 인덱스와 런을 포함하는 데이타 쌍을 판독한다. 프로세스는 스텝(S30)으로 진행한다.
스텝 S30 : 제어회로(431)는 역 양자화 수단(171)이 그 요소들이 데이타 쌍을 위한 역 양자화를 시행하도록 지시한다. 프로세스는 스텝(S31)으로 진행한다.
스텝 S31 : 제어회로(431)는 카운터(432)가 그 카운터 치를 1씩 증가시키도록 한다. 프로세스는 스텝(S32)으로 진행한다.
스텝 S32 : 카운터(432)의 값이 카운터치 "DA"와 같은지를 비교하여 제어회로(431)는 블록에서의 모든 데이타 쌍이 역양자화되는가의 여부를 판단한다. 카운터(432)의 값이 카운터치 "DA"[N]에 도달하지 않으면, 제어회로(431)는 모든 데이타 쌍의 아직 역양자화되지 않았다고 판단하고 프로세스를 스텝(S29)으로 되돌린다. 카운터(432)의 값이 카운터치 "DA"[Y]에 도달하면 제어회로(431)는 모든 데이타 쌍이 역양자화되었다고 결정하여 프로세스는 스텝(S33)으로 계속된다.
스텝 S33 : 제어회로(431)는 역양자화를 종결하도록 역양자화수단(171)에 지시하여 모든 프로세스가 종결된다.
제24도는 블록끝 검출회로(433)에 의하여 블록의 끝을 검출하기 위한 프로세스의 와해를 예시한다. 제어회로(431)로부터의 지시를 수신함에 따라, 블록끝 검출회로(433)는 스텝(S41)으로부터의 동작을 시작한다.
스텝 S41 : 제어회로(431)는 블록끝 검출회로(433)가 블록간 어드레스 "ADR"를 제로(0)로 초기화하도록 지시한다. 프로세스는 스텝(S43)으로 계속된다.
스텝 S42 : 제어회로(431)는 블록끝 검출회로(433)가 LUT(414)에 의하여 린코드로부티 디코딩되는 현재 린의 값 "RUN"을 수신하도록 지시한다. 이 프로세스는 스텝(S43)으로 진행한다.
스텝 S43 : 제어회로(431)는 블록끝 검출회로(433)가 입력된 런이 Reob인가의 여부를 판단하도록 지시한다. 판단이 긍정[Y]이면, 프로세스는 스텝(S46)으로 건너뛴다. 판단이 부정[N]이면 프로세스는 스텝(S44)으로 계속된다.
스텝 S44 : 제어회로(431)는 블록끝 검출회로(433) 1만큼 블록간 어드레스 "ADR"의 값과 현재 런의 값 "RUN"을 증가시킨다. 프로세스는 스텝(S45)으로 진행한다.
스텝 S45 : 제어회로(431)는 블록간 어드레스 "ADR"가 블록끝 어드레스에 도달하였는가의 여부를 블록끝 검출회로(433)가 판단하도록 지시한다. 판단이 긍정[Y]이면, 프로세스는 스텝(S46)으로 간다. 판단이 부정[N]이면, 프로세스는 스텝(S42) 으로 복귀한다.
스텝 S46 : 블록끝 검출회로(433)가 마지막 런의 검출의 제어회로(431)와 블록을 위한 처리의 종결을 인식하면 모든 프로세스가 종결한다.
프로세서는 제어회로(351)에 의하여 제어되는 제17 및 18도에 도시되는 동작흐름 또는 제어회로(431)에 의하여 제어되는 제22 및 23도에서 도시되는 것들에서의 각 스텝의 순차적 실행을 계속한다.
그래서, 화상데이타가 1블록이 재구성된후, 타이밍 제어기(430)에서의 제어회로(431)는 디코더(410)가 디코딩 프로세스를 초기화하도록 지시한다. 이것은 디코더(410)가 코드데이타의 다음 블록을 디코딩하기 위한 프로세스를 시작하게 한다.
각 블록에 대한 상기 프로세스를 반복하여, 전체 화상에 대한 모든 화상 데이타가 재구성된다.
더욱이, 2블록의 데이타 쌍을 위한 기억용랑을 갖춘 양자화 계수메모리(421)를 제공하여, 본 발명은 검색회로(412) 및 LUT(413 및 414)에 의하여 블록을 디코딩하기 위한 프로세스와 병렬로 양자화 계수메모리(421)에 기억된 이전블록의 데이타 쌍을 역양자화하기 위하여 역양자화 수단(171)을 구성할 수 있다.
이것은 1블록에 대한 DCT 계수를 디코딩하고 역양자화하기 위하여 필요한 시간을 더욱 짧게 하는 것을 가능하게 한다.
상술한 바와같이, 본 발명에서 기술된 화상데이타 압축장치는 유효계수를 선택하고 독립적으로 비유효계수를 카운트하여 이러한 처리에 필요한 시간을 줄인다. 비유효계수 연속길이와 유효계수틀 쌍으로 하여, 코딩 프로세스를 위하여 지연되는 유휴시간을 제거하여, 코딩 프로세스를 신속히 하고 화상데이타 압축에 필요한 시간을 줄이게 된다.
또한, 계수변환수단이 연속길이변환수단과 병렬로 동작하게 함으로써 본 발명은 유효계수와 비유효계수연속길이가 표준화 기술안을 가지고 라인으로 코딩되는 경우에도 코딩 프로세스를 가속시킨다.
그외에, 본 발명은 시리얼 양자화 계수를 코딩하기 위하여 코딩회로 모듈로부터의 계수행렬로부터 양자화계수를 생성하기 위하여 양자화 회로 모듈을 분리시켜 단순한 회로 구성으로서 계수행렬을 코딩하는 것이 가능하게 되어, 예를들어 회로검사를 위하여 필요한 작업을 줄이며 회로제어를 단순화할 수 있다.
또한, 양자화 회로 모듈은 코딩회로 모듈과 독립적으로 작용하도록 구성할 수 있기 때문에, 양자화 프로세스와 코딩 프로세스를 직렬로 상기 양 프로세스를 시행하는 종래의 프로세스보다 더욱 빨리 실행하는 것이 가능하여 더욱 빠른 화상데이타 압축장치를 실현할 수 있다.
추가로, 본 발명은 직렬 양자화 계수에 포함된 종결신호의 형태에 따라 최종 양자화 계수가 비유효계수인가의 여부를 코딩회로 모듈이 판단하게 하여 블록이 끝을 표시하는 코드가 표준화 기술안에 따라 출력되는 것을 가능하게 한다.
본 발명에서 기술된 화상데이타 재구성장치는 연속길이코드와 독립적으로 계수코드를 역으로 변환시켜 역변환을 위하여 필요한 시간을 짧게한다. 유효계수와 비유효계수 연속길이를 쌍으로 하여, 화상데이타 재구성장치는 신속처리를 위하여 역양자화동안 유휴시간을 제거하여 화상데이터를 재구성하는데 필요한 시간을 줄일 수 있다.
Claims (10)
- 각각이 N×N 화소를 가지는 블록에서의 연속계조 화상데이타를 2차원적으로 직교변환에 의하여 변화계수의 N행과 N열을 포함하는 계수행렬을 얻기 위한 직교변환수단(111,211) ; 해당 양자화 역치에 의하여 상기 직교변환수단(111,211)에 의하여 얻어진 계수행렬의 각 원소를 양자화하고 소정의 순서로, 상기 계수행렬의 각 원소를 양자화한 결과인 양자화 계수를 출력하기 위한 양자화 수단(121,221) ; 상기 양자화 수단(121,221)으로부터 출력된 일련의 양자화 계수를 0값을 가지는 연속 비유효계수의 수를 표시하는 비유효계수 연속길이중의 대응하는 하나와 각각 쌍을 이루는 0아닌 값을 가지는 유효계수를 포함하는 직렬 양자화계수로 변화하여 상기 양자화 계수의 끝에 종료신호를 부착하여 상기 시리얼 양자화 계수를 출력하기 위한 신호생성수단(132,132,231,232) ; 상기 신호생성수단(131,132,231,232)으로부터 출력된 시리얼 양자화 계수에 포함되는 비유효계수 연속길이중의 상기 대응하는 하나와 각각이 상을 이룬 유효계수에 각 대응하는 코드를 출력하기 위한 코딩수단(150)을 포함하는 것을 특징으로 하는 화상데이타 압축장치.
- 각각이 N×N 화소를 가지는 블록에서의 연속계조 화상데이타를 2차원적으로 직교변환에 의하여 변환계수의 N행과 N열을 포함하는 계수행렬을 얻기 위한 직교변환수단(111) ; 해당 양자화 역치에 의하여 상기 직교변환수단(111)에 의하여 얻어진 계수행렬의 각 원소를 양자화하고 소정의 순서로, 상기 계수행렬의 각 원소를 양자화한 결과인 양자화 계수를 출력하기 위한 양자화 수단(121) ; 상기 양자화 계수중에서부터 0아닌 값을 가지는 유효계수를 선택하기 위하여 상기 양자화 수단(121)에 의하여 얻어진 양자화 계수를 순차적으로 수신하여 상기 유효계수를 순차적으로 출력하기 위한 선택수단(131) ; 상기 양자화 계수를 순차적으로 수신하여 0값을 가지는 비유효계수의 연속입력의 수를 카운트하고 상기 유효계수중의 대응하는 것의 각 수령에 따라 비유효계수 연속길이로서 카운트 결과를 출력하기 위한 카운팅 수단(132) ; 상기 선택수단(131)에 의하여 얻어진 상기 유효계수중 하나와 상기 카운팅 수단(132)에 의하여 얻어진 상기 비유효계수연속길이중의 대응하는 하나를 포함하는 각각의 상기 데이타 쌍인 데이타 쌍을 순차적으로 기억하기 위한 제1기억수단(141) ; 및 상기 유효계수중 하나와 상기 비유효계수 연속길이중의 상기 대응하는 하나를 포함하는 각각의 데이타 쌍을 상기 제1기억수단으로부터 판독하여 각각 이에 대응하는 코드를 출력하기 위한 코딩수단(150)을 포함하는 것을 특징으로 하는 화상데이타 압축장치.
- 제 2 항에 있어서, 상기 선택수단(131)이 상기 카운팅 수단(132)과 병렬로 동작하는 것을 특징으로 하는 화상데이타 압축장치.
- 제2항에 있어서, 상기 코딩수단(150)이 상기 제1기억수단(141)에 기억된 데이타 쌍의 유효계수에 대응하는 부분을 적절한 계수코드로 변환시키기 위한 계수변환수단(151) , 상기 데이타 쌍의 비유효계수 연속길이에 대응하는 부분을 적절한 연속길이코드로 변환시키기 위한 연속길이변환수단(152) ; 및 상기 계수변환수단에 의하여 얻어진 계수코드와 상기 연속길이변환수단(152)에 의하여 얻어진 연속길이코드를 포함하는 쌍에 대응하는 코드를 발생시키기 위한 코드발생수단(153)을 포함하는 것을 특징으로 하는 화상데이타 압축장치.
- 제2항에 있어서, 상기 제1기억수단(141)이 상기 화상데이타의 2블록에 대응하는 데이타 쌍을 기억하기 위한 메모리 용량을 가지며 상기 코딩수단(151)은 상기 양자화 수단(121), 상기 선택수단(131) 및 상기 카운팅수단(132)에 의한 데이타 쌍을 발생시켜 기억하기 위한 동작과 병렬로 이미 기억된 데이타 쌍을 코딩하는 것을 특징으로 하는 화상데이타 압축장치.
- 각각이 N×N 화소를 가지는 블록에서의 연속계조 화상데이타를 2차원적으로 직교변환에 의하여 변화계수의 N행과 N열을 포함하는 계수행렬을 얻기 위한 직교변환수단(211) ; 해당 양자화 역치에 의하여 상기 직교변환수단(211)에 의하여 얻어진 계수행렬의 각 원소를 양자화하고 소정의 순서로, 상기 계수행렬의 각 원소를 양자화한 결과인 양자화 계수를 출력하기 위한 양자화 수단(221) ; 상기 양자화 수단(221)으로부터 출력된 일련의 양자화 계수를 0값을 가지는 연속비유효계수의 수를 표시하는 비유효계수 연속길이중의 대응하는 하나와 각각이 쌍을 이루는 0아닌 값을 가지는 유효계수를 포함하는 시리얼 양자화 계수로 변환하기 위한 변환수단(231) ; 소정의 종료신호를 발생하기 위한 발생수단(241) ; 상기 발생수단(241)에 의하여 발생된 종료신호를 상기 시리얼 양자화 계수의 말단에 부착시켜 상기 변환수단(231)에 의하여 얻어진 시리얼 양자화 계수를 출력하기 위한 부착수단(251) ; 상기 부착수단(251)으로부터 출력된 시리얼 양자화 계수에 포함되는 비유효계수 연속길이중의 대응하는 하나와 각각이 쌍을 이루는 유효계수에 각각 해당하는 코드를 출력하기 위한 코딩수단(261) ; 및 상기 시리얼 양자화계수의 수령동안 상기 종료신호를 검출하여 블록을 코딩하기 위하여 프로세스의 종료를 상기 코딩수단(261)에 지시하기 위한 지시수단(271)을 포함하는 것을 특징으로 하는 화상데이타 압축수단.
- 제6항에 있어서, 상기 발생수단(241)이 소정의 제1종료신호를 발생시키기 위한 제1발생수단(242) ; 다른 제2종료신호를 발생시키기 위한 제2발생수단(243) : 상기 양자화 수단(221)으로부터 마지막으로 출력된 양자화 계수가 비유효계수인가의 여부에 따라 상기 제1종료신호 또는 상기 제2종료신호중 어느 하나를 종료신호로서 선택적으로 출력하기 위한 선택수단(244)을 포함하여 상기 지시수단(271)은 상기 종료신호가 제1종료신호 또는 제2종료신호인가를 판단하기 위한 판단수단(272)을 포함하며 상기 판단수단(272)의 판단결과에 따라 블록용 코드의 종료를 상기 코딩수단에게 지시하는 것을 특징으로 하는 화상데이타 압축장치.
- 각각이 N×N 화소를 포함하는 블록단위에서 화상데이타를 2차원적으로 직교변환한 결과를 양자화하여 얻어지는 양자화 계수중에서 생성된 유효계수와 비유효계수 연속길이로부터 변환된 계수코드와 연속길이코드를 코딩하여 생성된 입력코드에 근거하여 화상데이타를 재구성하는 화상데이타 재구성장치에 있어서, 상기 화상데이타 재구성장치가 상기 코드를 계수코드와 연속길이코드로 디코딩하기 위한 디코딩 수단(161) ; 상기 디코딩 수단(161)에 의하여 얻어진 계수코드를 대응 유효계수로 복귀시키기 위한 계수코드복귀수단(162) ; 상기 디코딩 수단(161)에 의하여 얻어진 연속길이코드를 비유효계수 연속길이로 복귀시키기 위한 연속길이코드복귀수단(163) ; 상기계수코드복귀수단(162)에 의하여 얻어진 유효계수와 상기 연속길이코드복귀수단(163)에 의하여 얻어진 비유효계수 연속길이로 구성되는 1쌍을 데이타 쌍으로 기억하기 위한 제2기억수단(142) ; 상기 제2기억수단(142)으로부터 판독된 데이타 쌍으로 표현되는 유효계수와 비유효계수 연속길이에 근거하여 유효계수를 역양자화에 의하여 적절한 변환계수를 얻어 N행 및 N열을 가지는 계수행렬의 해당요소로서 상기 변환계수를 출력하기 위한 역양자화 수단 ; 및 상기 역양자화 수단(171)에 의하여 얻어진 계수행렬 2차원적으로 역직교변환을 하며 화상데이타로서 변환결과를 출력하기 위한 역직교변환수단(181)을 포함하는 것을 특징으로 하는 화상데이타 재구성장치.
- 제8항에 있어서, 상기 계수코드복귀수단(162)이 상기 연속길이코드복귀수단(163)과 병렬로 동작하는 것을 특징으로 하는 화상데이타 재구성장치.
- 제8항에 있어서, 상기 제2기억수단이 상기 화상데이타의 2블록을 위한 데이타 쌍을 기억하기 위한 메모리 용량을 가지며 상기 역양자화 수단은 상기 디코딩 수단(161), 상기 계수코드복귀수단(162) 및 상기 연속길이코드복귀수단(163)에 의하여 데이타 쌍을 발생시켜 기억하기 위한 동작과 병렬로 이미 기억된 데이타 쌍을 역양자화하는 것을 특징으로 하는 화상데이타 재구성장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP90-284049 | 1990-10-22 | ||
JP28404990A JP2937455B2 (ja) | 1990-10-22 | 1990-10-22 | 画像データ圧縮装置および画像データ復元装置 |
JP29414690A JP2909189B2 (ja) | 1990-10-30 | 1990-10-30 | 画像データ圧縮装置 |
JP90-294146 | 1990-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR950002671B1 true KR950002671B1 (ko) | 1995-03-24 |
Family
ID=26555299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910018606A KR950002671B1 (ko) | 1990-10-22 | 1991-10-22 | 화상데이타 처리장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5303058A (ko) |
EP (1) | EP0482864B1 (ko) |
KR (1) | KR950002671B1 (ko) |
CA (1) | CA2053844C (ko) |
DE (1) | DE69127739T2 (ko) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
EP0447269B1 (en) * | 1990-03-16 | 2000-05-31 | Fujitsu Limited | An image data processing system |
JP3109854B2 (ja) * | 1991-04-23 | 2000-11-20 | キヤノン株式会社 | 画像符号化方法及び装置 |
JP3076462B2 (ja) * | 1992-11-09 | 2000-08-14 | 松下電器産業株式会社 | デジタル・ビデオ・コーダ用のバーサタイルな可変長コーダ |
JP3247804B2 (ja) * | 1993-08-17 | 2002-01-21 | 株式会社リコー | データ圧縮方法、データ圧縮/伸長方法、符号語データ数制限装置 |
JP2738410B2 (ja) * | 1993-09-08 | 1998-04-08 | 富士ゼロックス株式会社 | 画像符号化復号装置 |
US5467131A (en) * | 1993-12-30 | 1995-11-14 | Hewlett-Packard Company | Method and apparatus for fast digital signal decoding |
KR100254402B1 (ko) * | 1994-12-19 | 2000-05-01 | 전주범 | 줄-길이 부호화방법 및 줄-길이 부호화기 |
US5629778A (en) * | 1995-05-15 | 1997-05-13 | Polaroid Corporation | Method and apparatus for reduction of image data compression noise |
CA2226241A1 (en) * | 1997-01-30 | 1998-07-30 | Amy Ruth Reibman | Multiple description coding communication system |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
US6311258B1 (en) | 1997-04-03 | 2001-10-30 | Canon Kabushiki Kaisha | Data buffer apparatus and method for storing graphical data using data encoders and decoders |
US6061749A (en) * | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
US6349379B2 (en) | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
AUPO647997A0 (en) * | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
KR100249235B1 (ko) * | 1997-12-31 | 2000-03-15 | 구자홍 | 에이치디티브이 비디오 디코더 |
US7136418B2 (en) * | 2001-05-03 | 2006-11-14 | University Of Washington | Scalable and perceptually ranked signal coding and decoding |
JP3469567B2 (ja) * | 2001-09-03 | 2003-11-25 | 三菱電機株式会社 | 音響符号化装置、音響復号化装置、音響符号化方法及び音響復号化方法 |
US7602851B2 (en) | 2003-07-18 | 2009-10-13 | Microsoft Corporation | Intelligent differential quantization of video coding |
US7580584B2 (en) * | 2003-07-18 | 2009-08-25 | Microsoft Corporation | Adaptive multiple quantization |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
US7801383B2 (en) * | 2004-05-15 | 2010-09-21 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios |
TWI252045B (en) * | 2005-01-20 | 2006-03-21 | Via Tech Inc | Video decoding device and method thereof for combining inverse quantization and inverse zig-zag scan |
JP4731972B2 (ja) * | 2005-04-13 | 2011-07-27 | キヤノン株式会社 | 画像符号化方法及び画像符号化装置 |
US8422546B2 (en) | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
US8503536B2 (en) * | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
US8130828B2 (en) | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
US8059721B2 (en) * | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US7974340B2 (en) * | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
US8711925B2 (en) * | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8238424B2 (en) * | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
US7783459B2 (en) * | 2007-02-21 | 2010-08-24 | William Marsh Rice University | Analog system for computing sparse codes |
US8498335B2 (en) * | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
US8243797B2 (en) * | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8442337B2 (en) * | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
US8331438B2 (en) | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
US8189933B2 (en) * | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
CN108897716B (zh) | 2018-07-04 | 2022-07-01 | 合肥工业大学 | 通过存储器读写操作来缩减计算量的数据处理装置及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4349774A (en) * | 1980-12-01 | 1982-09-14 | Dfh, Inc. | Polarity matching apparatus for jumper cables |
US4541012A (en) * | 1982-01-04 | 1985-09-10 | Compression Labs, Inc. | Video bandwidth reduction system employing interframe block differencing and transform domain coding |
US4704628A (en) * | 1986-07-16 | 1987-11-03 | Compression Labs, Inc. | Combined intraframe and interframe transform coding system |
US4698672A (en) * | 1986-10-27 | 1987-10-06 | Compression Labs, Inc. | Coding system for reducing redundancy |
US4922273A (en) * | 1987-04-02 | 1990-05-01 | Konica Corporation | Compression method of halftone image data |
FR2625638B1 (fr) * | 1987-12-30 | 1994-06-17 | Thomson Grand Public | Procede de synchronisation pour la transmission, sur un canal asynchrone, d'une suite d'images codees au moyen d'un code a longueur variable, et dispositif pour la mise en oeuvre de ce procede |
US5184229A (en) * | 1988-12-09 | 1993-02-02 | Fuji Photo Film Co., Ltd. | Compression coding device and expansion decoding device for picture signal |
EP0376683A2 (en) * | 1988-12-27 | 1990-07-04 | Kabushiki Kaisha Toshiba | Discrete cosine transforming apparatus |
CA2009848C (en) * | 1989-02-14 | 1995-11-21 | Masahiro Fukuda | Method and system for writing and reading coded data |
AU7474591A (en) * | 1990-03-15 | 1991-10-10 | Thomson Consumer Electronics S.A. | Digital image coding with quantization level computation |
EP0447269B1 (en) * | 1990-03-16 | 2000-05-31 | Fujitsu Limited | An image data processing system |
-
1991
- 1991-10-18 US US07/779,274 patent/US5303058A/en not_active Expired - Lifetime
- 1991-10-21 DE DE69127739T patent/DE69127739T2/de not_active Expired - Fee Related
- 1991-10-21 EP EP91309711A patent/EP0482864B1/en not_active Expired - Lifetime
- 1991-10-21 CA CA002053844A patent/CA2053844C/en not_active Expired - Fee Related
- 1991-10-22 KR KR1019910018606A patent/KR950002671B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5303058A (en) | 1994-04-12 |
EP0482864B1 (en) | 1997-09-24 |
EP0482864A2 (en) | 1992-04-29 |
CA2053844C (en) | 1997-01-21 |
DE69127739T2 (de) | 1998-01-29 |
DE69127739D1 (de) | 1997-10-30 |
CA2053844A1 (en) | 1992-04-23 |
EP0482864A3 (en) | 1993-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR950002671B1 (ko) | 화상데이타 처리장치 | |
US6031940A (en) | System and method for efficiently encoding video frame sequences | |
US5768434A (en) | Quadtree-structured walsh transform coding | |
US6351570B1 (en) | Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding | |
US6301392B1 (en) | Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage | |
EP0282135A1 (en) | Television system in which digitalised picture signals subjected to a transform coding are transmitted from an encoding station to a decoding station | |
US4281344A (en) | Video interframe transform coding technique | |
EP0188800A2 (en) | Apparatus for the compression of dithered image data | |
EP1203494A1 (en) | Method and device for variable complexity decoding of motion-compensated block-based compressed digital video | |
US6055272A (en) | Run length encoder | |
US5694127A (en) | Method and apparatus for efficiently generating variable length code data | |
US6011498A (en) | Dual-speed variable length decoding architecture for MPEG-2 video data | |
JP3087835B2 (ja) | 画像符号化方法および装置ならびに画像復号方法および装置 | |
JP3282527B2 (ja) | 画像符号化装置 | |
US20040213471A1 (en) | Loss-less compression of still images at enhanced speed | |
US5692074A (en) | Image information coding device and image information communication device with block average information and controllable compression | |
JP2962537B2 (ja) | 2次元データのエネルギー分布による走査方法及びその装置 | |
US5778101A (en) | Method and apparatus for processing an image signal having an object by using an extension-interpolation technique | |
JPH0556270A (ja) | 逆量子化方法および画像データ復元装置 | |
KR0181055B1 (ko) | 영상 부호화 장치 | |
JPH0918350A (ja) | 符号化復号化装置及び符号化復号化方法 | |
KR100530745B1 (ko) | 고해상도 영상신호를 저해상도 디스플레이 장치에 디스플레이하는 디스플레이 방법 | |
JPH05252400A (ja) | データ圧縮およびデータ解圧方法ならびにそのための装置 | |
JP2937455B2 (ja) | 画像データ圧縮装置および画像データ復元装置 | |
JPH0396123A (ja) | データ帯域圧縮符号化方法及び画像信号の帯域圧縮符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20060313 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |