KR20000057237A - 이미지 처리 시스템에서 메모리의 효율적인 압축 장치와 양자화기 - Google Patents

이미지 처리 시스템에서 메모리의 효율적인 압축 장치와 양자화기 Download PDF

Info

Publication number
KR20000057237A
KR20000057237A KR1019990704605A KR19997004605A KR20000057237A KR 20000057237 A KR20000057237 A KR 20000057237A KR 1019990704605 A KR1019990704605 A KR 1019990704605A KR 19997004605 A KR19997004605 A KR 19997004605A KR 20000057237 A KR20000057237 A KR 20000057237A
Authority
KR
South Korea
Prior art keywords
values
value
data
prediction error
pixel
Prior art date
Application number
KR1019990704605A
Other languages
English (en)
Other versions
KR100531259B1 (ko
Inventor
유하오핑
캔필드바쓰알란
베이어즈빌리웨슬리주니어.
람와이맨
Original Assignee
크리트먼 어윈 엠
톰슨 콘슈머 일렉트로닉스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 크리트먼 어윈 엠, 톰슨 콘슈머 일렉트로닉스, 인코포레이티드 filed Critical 크리트먼 어윈 엠
Publication of KR20000057237A publication Critical patent/KR20000057237A/ko
Application granted granted Critical
Publication of KR100531259B1 publication Critical patent/KR100531259B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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
    • H04N19/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

이미지 처리기(20)는 양자화되는 DPCM 예측 에러를 발생시킨다. 만약 예측 에러 값이 양이라면, 그 값은 불변한 값으로 양자화기에 전달된다. 만약 예측 에러 값이 음이라면, 바이어스 값이 양자화기의 동작 한계 내에서 양수(positive number)를 발생시키기 위하여 예측 에러 값에 가산된다. 바이어스된 예측 에러 값들은 양자화된다. 양자화기(28)에 의하여 수신되는 모든 값들은 양이고 종래의 양자화기의 한계 내에 있기 때문에, 양자화기(28)에 의하여 사용되는 양자화 테이블은 음의 예측 에러 값들을 위한 양자화 값을 포함할 필요가 없다. 이것은 2의 인자만큼 예측 에러 값들의 범주를 감소시켜서 양자화 해상도를 배가 시킨다.

Description

이미지 처리 시스템에서 메모리의 효율적인 압축 장치와 양자화기{MEMORY EFFICIENT COMPRESSION APPARATUS AND QUANTIZER IN AN IMAGE PROCESSING SYSTEM}
메모리의 효율적인 사용은 이미지 처리기의 설계와 작동에 중요하다. 예를 들어, 텔레비젼 시스템과 같은 소비자 제품은 MPEG-2 신호 처리를 포함하는 이미지 처리기를 사용할 수 있다. MPEG(Motion Picture Experts Group) 신호 압축 표준(ISO/IEC 13181-2, 1994년 5월 10)은 이미지 처리의 다른 형태 중에서도 고해상도의 텔레비젼(HDTV) 처리를 채용하는 위성, 케이블 및 지상의 방송 시스템과 사용하기에 특별히 매력적인, 넓게 수용되는 이미지 처리 표준이다. 고해상도 디스플레이를 사용하는 제품은 디스플레이 하기 이전에 MPEG 디코딩된 프레임을 임시적으로 저장하기 위하여 96M 비트나 그 이상의 메모리를 요구할 수 있다. MPEG 처리기는 디스플레이를 위한 정확한 이미지를 재현(reconstruct)하기 위하여 움직임 추정(motion estimation)과 움직임 보상(motion compensation)을 위하여 이러한 프레임을 요구한다.
MPEG 디코딩된 화소(pixels 또는 pels : picture elements)로부터 이미지를 재현하는 시스템들은 전형적으로 차분 펄스 코드 변조(DPCM : Differential Pulse Coded Modulation) 방식을 채용한다. 이 차분 펄스 코드 변조(DPCM)를 위하여, 처리기는 그 다음 화소값을 예견하는 예상값을 발생시킨다. 합산 네트워크는 실제 화소값으로부터 예상값을 감산 계산을 하여 그 차이값을 사용하여 그 다음 화소값을 예상할 뿐만 아니라 현재의 화소값을 나타내는데에 사용한다. 예상 에러로 알려진, 이 차이값은 일반적으로 원래의 화소 즉 예상값 보다도 더 작아서, 원래의 화소값 보다도 차이값을 처리하는 것이 시스템의 대역폭의 요구조건을 감소시킨다. 이 예상 에러는 양 또는 음의 값을 가질 수 있다. 앙(Ang) 등의 "비디오 압축은 큰 이득을 남긴다" (1991년 10월 IEEE 스펙트럼)는 일반적으로 DPCM 처리를 채용하는 MPEG 인코더와 디코더를 기술한다.
효율적인 메모리 이미지 처리기는 저장하기 이전에 블록 데이터를 리코딩(재압축)함으로써 이미지 프레임을 저장하는데 더 적은 메모리를 사용한다. 공간적인 영역에서, 이미지 프레임을 저장하기 위하여 사용되는 화소당 비트 수를 감소시키는 것은, 만약 화소가 화소 원래의 비트 크기로 정확히 재현되어질 수 없게 되면 화상 품질(the picture quality)에 불리하게 영향을 미친다. 특별히 이미지의 순조로운 영역(smooth areas)에서 인위물(artifact)이 발생할 수 있다. 메모리를 감소시키는 이미지 처리기는 가능한 한 효율적이고 경제적으로 MPEG 디코딩된 신호를 정확하게 양자화 해야 하고 역양자화(dequantize) 하여야 한다. 휘도(luminance)와 색차(chrominance) 데이터를 다르게 처리함으로써 인간의 시각적 생리 기능의 장점을 이용하는 것은 공지되어 있다. 인간의 눈이 볼 수 있는 것 뿐만 아니라 데이터에서 에너지를 설명하기 위하여 각 유형의 데이터를 위한 압축 규칙을 최적화시키는 것이 아캄포라(Acampora) 등의 미국 특허 번호 제4,575,749호에 개시되어 있다. 이 아캄포라 특허는 전송하기 이전에 텔레비전 신호에 있는 잡음을 줄이기 위하여 진폭 압축을 개시한다.
본 발명은 디지털 비디오 처리기에 관한 것이다. 구체적으로, 본 발명은 디지털 비디오 처리기의 메모리 요구 조건을 감소시키기 위한 이미지 압축 방법과 장치에 관한 것이다.
도 1은 본 발명에 따른 시스템을 포함하는 화소 블록 처리기의 블록도.
도 2는 도 1의 시스템의 압축부의 상세도.
도 3은 본 발명에 따른 시스템에 의하여 사용하기에 적합한 패킷 단위로 된 데이터 형식 배치도.
도 4는 도 1의 시스템의 압축을 풀어주는 부분의 상세도.
도 5A 는 도 2의 양자화 매퍼(mapper) 부분의 상세도.
도 5B 는 도 5A 의 선택 블록을 위한 진리표.
도 6A 는 양자화 테이블 재현 레벨에 대한 예상 에러값의 양 및 음의 특성도.
도 6B 는 본 발명에 따른 4 비트의 양자화/역양자화 테이블.
도 6C 는 본 발명에 따른 5 비트의 양자화/역양자화 테이블.
도 7은 본 발명에 따른 테이블을 사용하는 양자화/역양자화 테이블과 처리 데이터의 설계 흐름도.
도 8은 본 발명을 사용하는 MPEG 호환 가능한 텔레비젼 시스템의 블록도.
본 발명자들은 재현 데이터(the reconstructed data)로 유입되는 인위물을 극소화하면서 메모리를 절약하고 처리기의 물리적 크기를 감소시킬수 있는, 최소한의 하드웨어와 소프트웨어를 채용하는 효율적인 데이터 감축 시스템을 제공하는 것에 대한 바람직스러움을 인식한다.
본 발명의 원리에 따르면, 이미지 처리기는 양자화되는 DPCM 예상 에러값을 발생시킨다. 양자화 하기 이전에, 처리기는 예상 에러가 양인지 음인지를 결정한다. 만약 예상 에러값이 양이라면, 이 값은 변화되지 않은 채로 양자화기로 통과된다. 만약 예상 에러값이 음이라면, 바이어스 값이 예상 에러값에 가산되어서 양자화기의 영역 내에 양수를 발생시키게 한다. 바이어스된 예상 에러값 및 바이어스되지 않은 예상 에러값이 양자화기로 통과된다. 양자화기에 의하여 수신되는 모든 값들은 양이고 종래의 양자화 한계 내에 있기 때문에, 양자화기에 의하여 사용되는 양자화 테이블은 음으로 예상되는 에러값을 위한 양자화값을 포함할 필요가 없다. 이것은 2의 인자만큼 예상 에러값의 범주를 감소시키고 양자화 해상도를 2배 증가시킨다.
본 발명의 예시적인 실시예에서, 텔레비젼 수신기는 MPEG 디코더를 포함한다. 데이터 압축 네트워크는 프레임 메모리에 저장하기 이전에 8 x 8 이미지 블록을 나타내는 디코딩되고 압축 해제된 MPEG 신호를 양자화하고, 이미지 디스플레이를 위하여 요구될 때, 이 이미지 블록을 재현한다. 디스플레이 장치는 이 프레임 메모리로부터 유도되는 이미지 정보를 디스플레이 한다.
데이터 감축 네트워크를 통하여 데이터 보존(data integrity)을 유지하기 위하여, 이 네트워크는 화소 블록을 스캐닝하고 이미지 화소값들의 범위를 결정한다. 이 네트워크는 실제 범위와 미리 결정된 범위들의 세트 사이의 가장 알맞는 것을 수행한다. 선택되어 미리 결정된 범위를 사용하여, 이 네트워크는 미리 결정된 범위의 양의 영역으로부터 유도되는 양자화 레벨들을 포함하는 양자화 테이블에 억세스한다. 양자화 테이블은 상기 기술된 바와 같이 DPCM 값들을 양자화하기에 충분한 범주(scope)에 있다. 이 예를 위하여, 상기 기술된 바이어스 값(bias value)은 선택되어 미리 결정된 범위이다. 상기 선택되어 미리 결정된 범위는 일반적으로 이 시스템을 위한 가장 큰 가능한 화소값(8비트에 대해 256)보다도 더 적으며, 양자화 테이블( 및 대응하는 역양자화 테이블)이 단지 양수값만을 포함하기 때문에, 양자화 해상도를 2배로 증가시킨다. 만약 가장 작은 미리 결정된 범위가 주어진 화소 블록에 대하여 적합하다면 32의 인자만큼 양자화 해상도를 증가시키는 것이 가능하다.
도 1에서, 예를 들어 MPEG 디코더(도시되지 않음)인 디코더가 압축기(12)의 입력(10)에 MPEG 디코딩된 화소 데이터의 블록을 제공한다. 압축기(12)는 예측기(18), 양자화기(20), 및 결합기(22)를 포함한다. 예측기(18)는 이미 공지된 원리를 사용하고, 예를 들어 제인 에이(Jain, A.)의 디지털 이미지 처리의 기초 (프렌티스-홀 주식회사, 1989년, 484쪽)에서 기술된 유형일 수 있다.
양자화기(20)는 메모리(14)에 데이터가 감축된 화소 블록을 제공한다. 디스플레이 처리기(도시되지 않음)가 이미지를 디스플레이 하기 위하여 메모리(14)에 있는 감축된 데이터 블록에 억세스할 때, 압축 해제기(16)는 원래의 데이터 블록을 재현한다. 압축 해제기(16)는 메모리(14)에서부터 감축된 데이터를 회수(retrieve)하여 감축된 데이터 블록을 재현하기 위하여 예측기(24)와 역양자화기(26)를 포함한다. 양자화기(20)와 역양자화기(26)는 상술되어질 바와 같이 본 발명의 원리에 따라 배열된다. 예측기(24)는 예측기(18)와 유사하다.
압축기(12)의 입력(10)은 도 8과 연계되어 설명되어질, MPEG 디코더로부터 화소 블록을 수신한다. 화소 블록은 공간 영역에 있고, 예를 들어, 이미지 화소의 8 x 8 블록을 포함한다. 입력(10)은 화소 블록 데이터를 결합기(22)의 비역전 입력(non-inverting input)과 양자화기(20)에 공급한다. 예측기(18)는 화소 예측 데이터를 결합기(22)의 역전 입력(inverting input)과 양자화기(20)에 공급한다. 결합기(22)는 역전 입력 및 비역전 입력으로부터온 결합기의 신호들을 결합하고 그 차이값을 양자화기(20)에 제공한다. 양자화기(20)는 양자화된 화소값을 예측기(18)에 출력하고 양자화된 화소의 차이값을 저장을 위해 메모리(14)에 출력한다.
도 2는 양자화기(20)를 좀더 상세하게 도시한다. 동일한 참조 번호는 도 1 및 도 2에서 동일한 구성 요소를 지시한다. 구체적으로, 양자화기(20)는 예측 에러 처리기(27), 양자화 매퍼(28), 코딩 제어기(29), 최소-최대-범위 처리기(MMRP : Min-Max-Range Processor)(30), 제 1 화소 처리기(31), 및 다중화기(32)를 포함한다. 입력(10)은 블록 화소 데이터를 MMRP(30)에 제공하는데, 이 MMRP는 화소 블록을 스캐닝하고 최소 화소값, 최대 화소값, 및 그 범위를 결정한다. MMRP(30)는 최대값에서부터 최소값을 뺀 것에 더하기 일(1)을 한 것으로서 실제 범위를 정의한다. MMRP(30)는 실제 범위의 함수로서 미리 결정된 범위의 세트에서부터 미리 결정된 범위를 선택하고, 네트워크 내에서 순차적으로 사용하기 위해 실제 범위를 선택되어 미리 결정된 범위와 교환한다. MMRP(30)는 최소값, 최대값, 및 미리 결정된 범위의 블록 파라미터값을 압축하여 그 값들을 다중화기(32)에 전송한다.
최소 화소값과 그 범위는 제 1 화소 처리기(31)에 또한 전송되고, 그 범위는 상술되어질 바와 같이, 예측 에러 처리기(27)에 전송된다. 예측 에러 처리기(27)는 결합기(22)로부터 예측 에러 데이터를 수신하고 선택되어 미리 결정된 범위로 음수값을 바이어스시킨다. 양자화기 처리기(28)는 예측 에러 처리기(27)로부터 바이어스된 예측 에러값과 바이어스 되지 않은 예측 에러값을 수신한다. 이 값들은 양자화되고 다중화기(32)에 송신된다. 양자화기 처리기(28)도 또한 양자화된 예측 에러값을 예측 데이터를 계산하기 위하여 사용되는 예측기(18)로 송신한다. 다중화기(32)는 블록 파라미터와 양자화 데이터를 후술되어지는 타이밍과 제어의 영향을 받아 메모리(14)에 송신한다. 블록 파라미터는 양자화 화소 블록과 연결되는 파라미터 영역 내의 메모리(14)에 저장되는 오버헤드 데이터(overhead data)를 나타낸다. 파라미터 영역과 양자화 데이터는 함께 패킷을 형성하는데, 이 패킷은 적절한 역양자화 테이블에 억세스하고 화소 블록을 재현하기 위한 역양자화 처리기(36)에 의하여 요구되는 모든 정보를 통합(consolidate)한다. 코딩 제어기(29)는 상술되어질 바와 같이 개별 화소 블록을 위한 양자화 테이블의 선택 뿐만 아니라 블록 파라미터와 압축 데이터의 전송을 감독한다.
제 1 화소 처리기(31)는 입력(10)으로부터 화소 블록을 수신하고, 미리 결정된 기준 화소값을 확인한다. MMRP(30)로부터 수신된 블록의 최소 화소값은 다른 블록 화소에 독립적인 기준 화소의 압축을 용이하게 해준다. 이 압축된 기준 화소는 역양자화기(26)가 손실이 없거나 손실이 거의 없는 방법으로 화소의 원래값을 재현하기에 충분한 비트로 나타내진다. 제 1 화소 처리기(31)는 블록 파라미터로서 압축된 기준 화소값을 다중화기(32)에 전송하는데, 이 다중화기(32)는 상기 기준 화소값을 포함하는 블록 파라미터들을 전송하고, 양자화 데이터를 메모리(14)에 전송한다. 역양자화기(26)는 화소의 압축을 해제하는 동안 양자화된 블록 화소들을 위한 예측 값으로서 기준 화소를 사용한다. 압축 해제 동안 예측 네트워크에서 사용되는 제 1 값(상기 기준 화소값)은 독립이기 때문에, 주어진 화소 블록은 다른 화소 블록들로부터의 정보가 없어도 압축이 해제될 수 있다. 이 값은 또한 정확하여, 재현된 데이터로부터 오는 전파 예측 에러(a propagating prediction error)를 제거한다.
이 기준 화소는 압축된 값을 유도하기 위하여 예측기로서 화소 블록의 최소값을 사용하여 압축된다. 최소값은 기준값으로부터 감산되고 그 차이값이 2로 나누어진다. 그 결과값은 블록의 화소값들의 범위를 이진법으로 표현하기 위해 필요로 하는 것보다 하나가 적은 비트로 메모리(14)에 저장된다. 화소 블록에서 다른 값들을 위한 예측기로서 블록 화소값들을 사용할 때, 기준 화소값과 최소 화소값과 같은 임의의 두 블록 화소값들 사이의 차이값가 그 범위의 영역 내에 포함될 것이기 때문에, 그 범위는 압축된 기준 화소값을 저장하기 위하여 사용되는 비트의 수를 정의한다. 그 범위의 영역은 제로(0)에서부터 그 범위값에서 일(1)을 뺀 것까지 이다. 압축된 기준값은 그 차이값이 2로 나누어지고 이진 표현을 위해 요구되는 비트의 수를 일(1) 비트만큼 감소시키기 때문에, 그 범위를 나타내는데 요구되는 것보다 1 비트가 더 적은 비트를 사용한다.
양자화기(20)와 역양자화기(26)는 각 블록에 최적화되는 양자화 테이블 및 역양자화 테이블에 각각 억세스한다. 양자화 테이블과 역양자화 테이블은 화소 블록의 대략적 범위에 기초한 값들을 포함한다. 그 범위는 블록을 위한 최대 화소값과 최소 화소값 사이의 차이이다. 최소-최대-범위 양자화기(30)는 입력 데이터 블록을 수신하고 최소 화소값과 최대 화소값을 결정하기 위하여 그 입력 데이터 블록을 스캐닝한다. 그후 양자화기(20)는 최대값에서부터 최소값을 감산하고 화소 블록을 위한 범위를 계산하기 위하여 일(1)을 가산(최대값-최소값+1)한다.
양자화기(20)는 이 계산된 범위와 이 계산된 범위 보다 크거나 같은 것이 적어도 하나 있는 미리 결정된 범위들의 세트를 비교하여, 미리 결정된 범위를 선택하고, 및 이 선택되어 미리 결정된 범위로부터 유도된 양자화 테이블에 억세스한다. 미리 결정된 범위는 미리 결정된 범위를 확인하는 최적 분석법(a best fit analysis)에 의하여 실제 계산된 범위보다 크거나 같은 세트 중에서 가장 작은 값이 선택된다. 양자화 테이블과 역양자화 테이블은 이 선택되어 미리 결정된 범위의 영역 내의 값을 포함하도록 주문 제작(customize)을 받아, 전체 실제 범위의 값들을 포함한다. 양자화기(20)는 DPCM 처리를 사용하고 예측 에러인 차이값들을 발생시킨다. 이 예측 에러는 만약 예측기(18)에 공급되는 화소값들이 이 예측기(18)가 현재 예측값을 발생시키고 있는 화소와 동일한 화소 블록에서 오는 것이라면 실제 범위의 영역 안에 존재한다. 압축기(12)는 이 파라미터를 따르고 이 파라미터를 유지한다. 실제 범위는 종종 256(8비트 화소값의 최대값)보다 상당히 더 적고, 이 범위로부터 유도된 테이블 레벨들은 256으로부터 유도된 테이블 레벨들보다 더 나은 해상도를 발생시키는데, 이는 이 선택되어 미리 결정된 범위가 일반적으로 이 실제 범위에 있는 값에 가깝기 때문이다. 그러므로, 시스템 정확도와 효율성은 그 범위에 대한 테이블 레벨들을 주문 제작(customize)함으로써 증가한다.
입력 블록 데이터를 재현하기 위하여, 역양자화기(26)는 화소 블록을 양자화할 때 사용되는 양자화 테이블에 억세스하기 위하여 사용되는 미리 결정된 범위의 양자화기(20)가 어느 것인지를 알아야만 한다. 이 범위와 다른 화소 블록 파라미터의 표현은 양자화된 화소 블록으로 파라미터 영역 내의 메모리(14)에 저장된다. 양자화된 화소 블록을 따라, 메모리(14) 내에 블록 파라미터 표현을 저장함으로써, 압축 해제기(16)는 적절한 역양자화 테이블에 억세스하고 이 화소 블록을 효율적이고 정밀하게 재현하게 할 수 있다. 이 파라미터 영역 내에 포함된 다른 화소 블록 파라미터는 예를 들어 최소 화소 블록값이나 기준 화소 블록값일 수 있다. 도 3은 파라미터 영역과 압축 데이터의 가능한 구성을 도시한다. 이 파라미터 영역은 도 3에서 점선 박스 내에 포함된 이러한 블록 파라미터들로 구성되어 있다. 이 실시예에서, 파라미터 영역은 압축 데이터 적재부분(payload)을 포함하는 데이터 패킷의 헤더(header)로서 배열된다.
디스플레이 이미지의 품질을 상당히 저하시키는 일이 없이 프레임 메모리의 감축을 최대화시키기 위하여, 파라미터 영역에 있는 블록 파라미터들에 의하여 제시된 오버헤드 정보는 메모리(14)에 저장된다. 파라미터 영역을 저장하는데 사용되는 각 비트는 양자화된 화소를 저장하기 위하여 이용 가능한 메모리를 감소시킨다. 그러므로, 블록 파라미터들 중 둘, 즉 그 범위값과 최소값을 저장하기 위하여 요구되는 비트의 수는 대부분의 경우에 있어 각 파라미터에 대해 8비트에서 3비트로 감소된다. 이 방법은 다음과 같이 작동한다.
이 실제 범위는 최적인 것을 결정하기 위하여 미리 결정된 범위들의 세트와 비교된다. 이 미리 결정된 범위는 화소 블록을 위한 범위를 나타내는 데 사용되는 값이 되고 그 후 처리되어진다. 이 미리 결정된 범위는 화소 블록 내의 모든 화소값들을 나타내도록 하는 것을 보장하기 위하여 실제 범위보다 더 크다. 이 미리 결정된 범위의 세트는 16, 32, 64, 96, 128, 192, 및 256으로 된 7개의 값들을 포함한다. 이 세트는 양자화기(20)와 역양자화기(26) 모두에 이용 가능하기 때문에, 미리 결정된 범위는 하나의 지수값(index value)으로 파라미터 영역에 나타낼 수 있다. 이 지수는 다만 7개의 미리 결정된 범위들만 나타내면 되기 때문에, 이진 표현을 위하여 단지 3비트만을 필요로 한다.
이 시스템은 유사한 방법으로 최소 화소값을 처리한다. 7개의 미리 결정된 범위 중 5개에 대하여, 이 시스템은 선택되어 미리 결정된 범위에 하나 뿐인 8개의 최소 화소값들의 미리 결정된 세트에 억세스한다. 양자화기(20)는 실제 최소 화소값을 미리 결정된 세트와 비교하고 실제 최소값보다 더 적거나 같은 것 중에서 가장 큰 미리 결정된 최소값을 선택한다. 그후 미리 결정된 최소값은 처리되는 화소 블록을 위한 최소 화소값 나타내기에 사용되는 값이 된다. 이 세트는 양자화기(20)와 역양자화기(26) 모두에 이용 가능한데, 그로서 미리 결정된 최소값은 하나의 지수 기호값(index symbol value)에 의하여 파라미터 기호값 내에서 나타낼 수 있다. 이 지수 기호도 또한 다만 8개의 미리 결정된 최소 화소값들만 나타내면 되기 때문에, 이진 표현을 위하여 3비트를 필요로 한다.
7개의 범위들 중 5개를 위한 8개의 미리 결정된 최소 화소값들의 세트는 아래 방정식(1)으로 정의된다. 이 방정식은 제로(0)로 시작하는 각 범위의 최소값을 위하여 일정한 선형 단계를 제공한다.
Qmin(Rs, i) = INT{i((256-Rs)/7)} ; 0〈= i 〈=7. (1)
이 방정식에서, i는 오버헤드 파라미터 영역에서 3비트로 나타낸 지수 기호값이다. INT{f(x)}는 그 결과값의 정수 부분만이 사용되는 것을 나타낸다. 이 방정식(1)이 적용되는 5개의 범위들은 32, 64, 96, 128, 및 192이다. 괄호 속에 있는 표현(f(x))은 함수(INT)가 영향을 미치는 방정식(1)에 있는 표현과 같은 임의의 표현을 나타낸다. 16의 미리 결정된 범위에 대하여, 원래의 8비트 최소값이 사용된다. 256의 미리 결정된 범위에 대하여, 256을 위한 최소값이 8비트 워드에 대하여 제로(0)이기 때문에 최소값은 저장되지 않는다.
아래 방정식(2)은 실제 최소 화소 블록값으로 대체된 세트에서부터 미리 결정된 최소 화소값을 선택한다. MAXi{f(x)}는 괄호 속에 있는 조건을 만족하는 i의 최대값이 Qmin을 발생시키는데 사용되어야 하는 것을 나타낸다.
Qmin= MAXi{Qmin(Rs, i)|Qmin(Rs, i) 〈= Xmin; 0 〈= i〈= 7} (2)
방정식(2)은, 미리 결정된 최소값들이 실제 최소값보다 더 적기 때문에, 양자화된 화소 블록이 재현될 때, 실제 화소 블록값을 커버하기에 충분하지 않은 미리결정된 범위를 선택할 수도 있다. 예를 들어, 만약 주어진 화소 블록 내에서 최소 화소값이 100이고 최대 화소값이 140이라면, 그때 선택되어 결정된 범위는 64이다. 방정식(1)으로부터 발생하는 선택되어 결정된 최소 화소값은 82이다. 선택된 최소값을 선택된 범위에 가산한 결과값은 실제 최대 화소값보다도 더 큰 146이다. 그러므로, 화소 블록의 모든 값들은 선택되어 미리 결정된 값들에 의하여 나타낼 수 있다. 그러나, 만약 최대 화소 블록값이 대신 160이라면, 선택되어 미리 결정된 값들은 동일하게 남이 있게 될 것이나, 화소 블록의 영역을 완전히 나타내지는 못할 것이다. 이 경우에, 96보다 그 다음으로 더 높은 미리 결정된 범위가 선택되고 새롭게 선택되어 미리 결정된 최소값은 91이다. 91과 미리 결정된 범위인 96의 가산값은 187인데, 이 값은 실제 최대 화소 블록값 160보다도 더 크다. 그러므로, 이 범위로부터 선택되는 양자화 테이블과 역양자화 테이블은 이 블록 내에 있는 모든 화소들을 위한 레벨들을 제공할 수 있다. 양자화기(28)는 만약 미리 결정된 범위와 과 최소 화소값들의 제 1 선택이 유효한지 여부를 결정하기 위하여 앞서 기술된 분석법을 수행한다. 만약 유효하지 않다면, 양자화기(28)는 그 다음으로 더 큰 미리 결정된 범위를 선택하고 새로운 최소 화소값을 선택한다.
앞서 서술한 바와 같이, 만약 예측 네트워크가 동일한 블록 내의 화소값들로부터 그 네트워크의 예측값을 유도한다면, 그때는 실제 화소값과 이 예상되는 화소값 사이의 차이값(E)이 다음식의 한계 내에 있을 것이다:
-범위 〈 E 〈 범위, (3)
범위 = Xmax- Xmin+ 1 (4)
방정식(3)에서, E 는 예측 에러이다. 방정식(4)에서, Xmax와 Xmin는 각각 최대 블록 화소값과 최소 블록 화소값이다. 그러므로, 이 블록으로부터 화소 데이터의 범위는 양자화 테이블과 역양자화 테이블이 수신하게 될 값들과, 이 테이블들이 이 특정 블록을 위해 제공해야 하는 제한 조건을 한정하게 된다. 만약 이 범위가 워드(word)의 크기(8비트 워드인 경우 256)의 최대값보다 더 작다면, 그때는 양자화 테이블과 역양자화 테이블의 해상도는 증가될 수 있다.
본 발명의 원리를 사용하는 양자화 테이블과 역양자화 테이블은 이 화소 블록의 범위만으로 설계된 테이블들의 해상도에 비해 2배의 해상도를 가진다. 이 해상도는, 이 테이블들이 음의 범위와 양의 범위 사이에 있는 모든 값들을 커버하는 것이 아닌 제로(0)에서부터 양의 범위값까지의 값을 커버하는 것만 필요로 하기 때문에, 배가된다. 도 6B와 도 6C는 미리 결정된 범위 64에 대해 3비트 테이블과 4비트 테이블을 각각 도시한다. 양자화를 하기 이전에, 예측 에러 처리기(27)(도 2)는 결합기(22)로부터 예측 에러가 양인지 아니면 음인지를 결정한다. 만약 이 값이 양이라면, 이 값은 변하지 않고 양자화 매퍼(28)에 전송된다. 만약 이 값이 음이라면, 예측 에러 처리기(27)는 이 값이 양자화 매퍼(28)에 전송되기 이전에 음의 예측 에러값에 이 범위의 값을 가산한다. 음의 예측 에러값이 음의 범위값의 영역 내에 있기 때문에 이 음의 예측 에러값에 양의 범위값을 가산하는 것은 바이어스된 에러값을 일으킨다. 이 바이어스된 에러값은 (제로(0)보다 더 큰)양의 값이고 양의 범위값보다는 더 적다. 양자화 매퍼(28)는 바이어스된 예측 에러값과 바이어스되지 않은 예측 에러값을 모두 수신하고 양의 미리 결정된 범위의 영역에 채용된 양자화 테이블로 이 예측 에러값들을 양자화시킨다. 양자화된 에러값들은 다중화기(32)에 전송되고 그후 시스템 제어기(도시되지 않음)의 제어를 따라 메모리(14)에 저장된다.
본 발명의 원리를 사용하는 양자화 테이블은 음의 범위값에서부터 양의 범위값까지가 아니라 제로(0)에서부터 범위-1 까지만을 양자화하기 때문에, 이 테이블의 해상도는 2배가 된다. 예를 들어, 만약 주어진 블록에 대한 화소값의 미리 결정된 범위가 64이고, 또한 만약 테이블 내에 14개의 양자화/역양자화 레벨이 있다면, 본 발명의 원리를 사용하지 않는 테이블들은 각 레벨(64X2)/14) 사이에 평균 해상도가 9.2(가장 가까운 소수 첫째자리까지 반올림)가 될 것이다. 본 발명의 원리에 따라 설계된 동일한 테이블들은 동일한 미리 결정된 범위에 대해 14개의 레벨(64/14) 사이에 평균 해상도가 4.6(또한 반올림됨)으로 2배가 될 것이다.
도 6B에 도시되어 있는 테이블은, 전형적인 4비트 테이블(24)에 있는 최대 16개의 가능한 레벨에 비하여, 14개의 가능한 양자화 레벨을 가진다. 가능한 레벨의 개수는 기호(symbol) 중 두 개(000과 001)는 단지 3비트만을 포함하기 때문에 감소된다. 이 3 비트의 코드워드 기호(codeword symbol)는 14개의 레벨 테이블 내에 배치되어 그 결과 그 기호들이 대역폭에서의 상당한 감소와 데이터 해상도에서의 손실을 능가하는 메모리 요구 조건을 만족하면서 자주 억세스(accessed)된다. 각 레벨이 우세하게 M 비트(즉 4 비트)와 연관된 출력 기호를 가지는, N 개의 레벨(즉 14개의 레벨들)을 가지는 양자화 테이블에서, 하나 이상의 레벨(즉 레벨(1)과 레벨(13))이 자주 발생하는 입력값들과 M 비트(즉 3비트)보다 더 적은 비트를 가지는 해당되는 하나뿐인 코드워드 기호와 연관된다.
압축 해제 네트워크는 그 데이터가 압축 해제를 위하여 회수(retrieve)될 때, 3비트와 4비트 기호임을 확인해야만 한다. 이것은 3비트 기호의 비트 형태를 보존함으로써 용이하게 된다. 예를 들어, 도 6B 에서는 단지 3비트의 단축 기호들만이 "000"와 "001"의 형태를 가진다. 3비트의 모든 단축 기호는 보존되어 그 결과 어느 비트 형태가 미리 결정된 비트 위치에 발생할 때라도, 네트워크는 3비트 기호임을 확인하고 8비트 데이터값을 역양자화하여 재현할 때 4번째 비트를 처리하지 않는다. 모든 4비트 형태에 대하여, 임의로 선택된 3비트 형태는 2번 발생할 것이다. 이 네트워크는 다른 정보가 없이 3비트 기호에 대한 하나의 레벨만을 인식할 수 있기 때문에 이러한 사건 중 단 하나만이 테이블에 있는 양자화 레벨을 나타낼 수 있다. 4비트 테이블의 경우에는 임의의 3비트 형태가 사용될 수 있고, 단지 3비트 기호만이 보존된 형태를 가질 수 있다.
이 테이블들이 사용되는 주어진 시스템에 대하여, 만약 설계자가 압도적으로 4비트 테이블 내에 있는 2개 대신에 하나의 3비트 기호를 사용하는 것이 더 효율적이라는 것으로 결정한다면, 그 때는 양자화 테이블과 역양자화 테이블들은 15개나 그보다 더 적은 수의 레벨들로 설계될 수 있다.
하나 이상의 3비트 기호들은 양자화 동안에 입력 데이터값들을 자주 발생시키는 것에 연관되어 있는 기호들의 기회를 최적화시키기 위하여 위치된다. 그러므로, 특정한 시스템은 단축 3비트 기호들을 위치시키는 곳을 만족스럽게 확인하기 위하여 미리 평가되어야만 한다. 3비트 기호들에 의하여 나타내지는 레벨(들)의 해상도는 3비트 기호들의 사용을 최적화시키기 위하여 조정될 수 있다. 도 6B에서, 3비트 기호들은 일단 바이어싱이 이 테이블 밖에서 지원되면 이 시스템에 대하여 예측 에러가 가장 일어날 것 같은 곳에 제로(0)로 배정된다. 즉, 작은 절대값을 갖는 음의 입력 예측 에러값들이 바이어싱되어 이 테이블의 영역에 상대적으로 큰 수로서 양자화 테이블 내에 입력될 것이다. 지수 레벨(1)은 제로(0) 예측 에러의 양의 측면(positive side) 상의 입력값들에 대한 레벨이다. 지수 레벨(13)은 가산되는 바이어스를 갖는 제로(0) 예측 에러의 음의 측면 상의 입력값에 대한 레벨이다. 역양자화와 재현에 대하여, 바이어스값은 적절한 레벨(13)의 재현값들로부터 제거된다. 2개의 단축 기호들("000"와 "001")을 레벨(0)의 양측에 두는 것은 대칭성을 유지하고 레벨(0)에서 하나의 단축 기호를 두는 것에 비하여 대역폭과 메모리 요구 조건을 감소시킨다. 레벨(1)과 레벨(13) 각각은 테이블 레벨의 배치와 레벨의 해상도가 통계적인 사건에 대하여 최적화되어 있기 때문에, 3개의 해상도(레벨(1)에 대해 4에서부터 1까지)를 가진다. 다시, 포함되는 압축 네트워크의 유형에 따라, 3비트 기호들의 배치는 양자화 테이블과 역양자화 테이블이 수신하는 데이터값들의 통계적인 사건에 달려 있다. 통계적으로 최적인 상태의 배치는 단축 코드워드 기호들의 시행에 영향을 미치지 않고서 여러 유형의 시스템들 사이에서 변화할 수 있다.
도 4는 도 1의 역양자화기(26)의 블록도이다. 시스템의 마이크로프로세서의 제어에 따라, 다중화기(34)는 헤더에 있는 파라미터 영역을 포함하는 데이터 패킷과, 이 패킷의 적재부분(payload section)에 있는 양자화된 데이터를 수신한다. 역다중화기(34)는 최소 화소값 지수와 미리 결정된 범위의 지수를 최소-최대-범위 디코더(MMRD)(38)로 전송한다. 역다중화기(34)는 압축된 제 1 화소값을 제 1 화소 디코더(37)로 전송하는데, 제 1 화소 디코더(37)는 또한 MMRD(38)로부터오는 미리 결정된 재현된 범위와 최소 화소값도 수신한다. 제 1 화소 디코더(37)는 이들 3개의 값들을 사용하여 기준 화소를 재현하고 이 기준 화소를 예측기(24)에 송신한다. 역양자화 시에, 역다중화기(34)는 양자화된 값을 역양자화기 매퍼(36)으로 송신하는데, 이 역양자화기 매퍼(36)는 예측 에러값들을 역양자화하고 이 예측 에러값들을 가산기(39)에 송신한다. 가산기(39)는 예측된 값을 역양자화된 에러값에 가산하고 그 결과를 예측 에러 처리기(35)에 보내는데, 이 예측 에러 처리기(35)는 그 결과를 재현된 최대 화소 블록값과 비교한다. 만약 이 에러값이 양자화 이전에 바이어싱 되어 있었다면, 그 결과는 재현된 최대 화소값 보다 더 클 것이다. 만약 그렇지 않다면, 그 결과는 재현된 최대 화소값과 같거나 작을 것이다. 만약 예측 에러 처리기(35)가 이 에러 값이 바이어싱 되어있었는지를 결정한다면, 이 미리 결정된 범위값은 그 결과값에서부터 감산되어, 이것에 의해서 처리 중인 양자화 측 상에 유입되는 바이어스에 대하여 정정을 하게 된다. 화소 에러 처리기(35)와 제 1 화소 처리기(37)는 출력 네트워크(즉, 디스플레이 처리기, 도시되지 않음)에 기준 화소를 포함하는 재현된 데이터를 적절한 순서로 송신한다.
역양자화기(26)에 이용 가능한 값들은 양자화된 값들이고/또는 인코딩된 값들이다. 이 재현되어 양자화된 최소 화소값은 실제 화소값보다 더 적거나 같아야만 하고, 재현되어 양자화된 최대 화소값과 재현되어 양자화된 범위값은 그 실제 값들보다 더 크거나 같아야만 한다. MMRP(30)는 이 요구 조건이 이전에 설명된 바와 같이 충족되게 보장해 준다.
다음 방정식((5) 내지 (12))은 바이어싱된 에러값이 재현되어 양자화된 최대 블록 화소값보다 더 크게 되어, 이것에 의해서 재현 동안에 바이어싱된 데이터의 적절한 확인과 정정을 할 수 있게 해주는 것을 도시한다. 방정식((6) 내지 (11))은 방정식(12)의 유도를 이해하는 것을 돕기 위해 주어진 것이다. 이 방정식들에서, Qmin은 양자화된 최소 블록 화소값이고, Qmax는 양자화된 최대 블록 화소값이다. X 는 주어진 화소 블록으로부터의 임의의 화소값이고, P는 X의 예상 화소값이다. E 는 에러값, 또는 X 와 P 사이의 실제 차이값이고; E 는 양수이거나 음수일 수 있다. Q(E)는 E 의 양자화 값이고, E 와 양자화 잡음(Nq, Nq 는 양수이거나 음수일 수 있다)을 가산한 결과이다. Xr은 X 의 재현 화소값이고, Rq는 최적인 미리 결정된 범위이다. 다음 상관식을 살펴보자.
Qmax= Qmin+ Rq- 1 (5)
E = X - P (6)
Q(E) = E + Nq(7)
Qmin〈= X 〈= Qmax(8)
E 의 임의의 양수값에 대하여, 다음 상관식이 존재한다.
Xr= Q(E)+ P = E+ Nq+ P = X- P+ Nq+ P (9)
Xr= X + Nq(10)
방정식(9)은 압축 해제기(16)가 임의의 화소값을 재현하는데 사용하는 값들을 나타낸다. 방정식(10)은 압축기(12)에 이용 가능한 값에 방정식(9)을 간략화시킨 것이다. E의 임의의 음수값에 대하여, 다음 상관식이 존재한다.
Xr= Q(E+ Rq)+ P = E+ Rq+ Nq+ P = X- P+ Rq+ Nq+ P (11)
Xr= X+ Rq+ Nq(12)
방정식(11)은 압축 해제기(16)가 임의의 화소값을 재현하는데 사용하는 값들을 나타낸다. 방정식(12)은 압축기(12)에 이용 가능한 값들에 방정식(11)을 간략화시킨 것이다. 이 논의를 간략화하기 위하여, Nq가 방정식(12)에서 제로(0)라고 해보자. X 는 Qmin보다 더 크거나 같아야만 하고(방정식(8)), Qmax를 정의하는 방정식(5)의 상관 관계가 주어져 있기 때문에, 미리 결정된 범위에 임의의 화소값을 가산하는 것은 적어도 일(1)만큼 Qmax보다 더 큰 값이 발생한다.
본 발명의 실시는 만약 Nq가 제로(0)가 아니라면 방정식(10)과 방정식(12)의 결과를 고려해야만 한다. 만약 Nq가 양이라면, 방정식(10)의 결과는 Qmax보다 더 클 수 있고, 예측 에러 처리기(35)는 바이어싱된 예측 에러를 잘못 확인할 수 있다. 마찬가지로, 만약 Nq가 음이라면, 방정식(12)의 결과가 Qmax보다 더 작을 수 있고, 예측 에러 처리기(35)는 바이어싱 되지 않은 예측 에러를 잘못 확인할 수 있다.
도 5A 는 양자화기 매퍼(28)의 출력이 양자화 잡음으로 인하여 잘못 해석되지 않도록 어떻게 보장해주는 지를 도시한다. 양자화기(80)는 양자화되는 각 화소값을 위해 3개의 출력값들을 제공한다. 이 3개의 값들은 양자화 테이블의 결정 포인트(I)를 위한 최적의 재현 레벨이고, 적절한 레벨(I+1, I-1)의 양측 상의 재현 레벨이다. 양자화 테이블에서의 맨 처음 레벨이나 맨 나중 레벨이 최적일 때, 바로 다음의 더 크거나 더 작은 양자화 레벨만이 최적인 레벨로 제공된다. 그후 결합기(84)는 이 최적 재현값을 위하여 이 재현된 화소값(방정식(10)이나 방정식(12))을 계산하고 그 결과값을 결합기(86)에 의하여 Qmax와 비교한다. 만약 예측 에러가 바이어싱 되었고(S2는 음이다) 결합기(86)로부터의 결과값이 Qmax보다 더 작다(S1은 음이다)면, 재현 시 예측 에러 처리기(35)는 역양자화된 예측 에러값이 바이어싱되지 않았다는 것을 잘못으로 결정할 수 있는 것이 가능하다. 이 문제를 방지하기 위하여, 예측 에러를 위한 그 다음으로 더 큰 재현 레벨에 대응하는 코드워드가 다중화기(32)에 송신된다. 만약 예측 에러가 바이어싱되지 않았고(S2는 양이다) 결합기(86)로부터의 결과값이 Qmax보다 더 크다(S1은 양이다)면, 재현 시 예측 에러 처리기(35)는 역양자화된 예측 에러값이 바이어싱 되었음을 잘못으로 결정할 수 있는 것도 가능하다. 이 문제를 방지하기 위하여, 예측 에러를 위하여 그 다음으로 더 적은 재현 레벨에 대응하는 코드워드가 다중화기(32)에 송신된다. 도 5B 는, 신호(±S1 및 ±S2)에 반응하여 유닛(82)에 의하여 선택되는 바와 같이, 양자화 매퍼(28)의 출력으로서 이용 가능한 양자화기(80)의 출력을 예시하는 진리표를 도시한다.
도 6A 는 그 다음으로 더 크거나 더 작은 재현 레벨이 만약 양자화된 예측 에러가 바이어싱되어 있는지를 결정할 때 양자화 잡음이 재현된 레벨로 하여금 잘못된 결과값을 야기할 때 발생하는 이 문제를 어떻게 정정하는 지를 설명하는 것을 도와준다. "I" 는 이 테이블들의 지수값을 지시한다. 결정 포인트(I)보다 더 적거나 같으면서 결정 포인트(I-1)보다는 더 큰 임의의 예측 에러값은 양자화되고 그후 값(R)에 재현된다. 도 6B와 도 6C에서 3비트 양자화 테이블과 4비트 양자화 테이블로부터 각각 살펴볼 수 있는 바와 같이, 이 테이블에 입력되고 임의의 결정 포인트(I) 내에 있는 예측 에러값들은 예측 에러 재현 레벨값(R)보다 더 크거나 같거나 더 작게 둘다 될 수 있다. 예를 들어, 도 6C에서, 지수 레벨(7)은 레벨(7)에 대해 결정 포인트값(36)과 레벨(6)의 결정 포인트값(27)에 의하여 정의되는 것을 포함하는 36에서부터 28까지의 입력값들을 수용한다. 이 범위내 임의의 입력값은 32의 재현 레벨값으로 역양자화될 수 있다. 만약 입력값이 34라면, 그때 양자화 에러는 -2이고; 만약 입력값이 32이라면, 그때 양자화 에러는 0이고; 및 만약 입력값이 29라면, 그때 양자화 에러는 3이다. 앞서 진술한 바와 같이, 이 에러들은 양자화 잡음으로 정의된다. 음의 양자화 잡음값은 도 6A에서 -E 에 대응한다. 양의 양자화 잡음값은 도 6A에서 +E 에 대응한다. 만약 예측 에러 재현 레벨이 실제 예측 에러와 같지 않다면, 그 차이값은 양이거나 음일 수 있는 양자화 잡음이다. 만약 양자화 매퍼(28)가 재현 시 양자화 잡음이 예측 에러가 바이어싱되어 있는지 아닌지의 부정확한 분석을 야기할 수 있는 것을 결정한다면, 이 양자화 잡음의 극성의 다른 측면에 있는 레벨을 선택하는 것으로 이 문제를 정정한다. 위의 예에 계속해서, 만약 재현 레벨값(32)가 -E = -2이고 부정확한 분석을 일으킬 수 있다면, 바이어스가 올바르게 인식되고 처리되도록 보장해주는 ++E 와 같은 양자화 잡음값을 가지는 I+1 재현 레벨 값이 선택된다. 바이어스 정정의 분석이 부정확하게 할 수 있는 것은 양자화 잡음이기 때문에, 반대 부호를 갖는 양자화 잡음의 값을 선택하는 것으로 Qmax와 재현된 화소값 사이의 상관 관계는 영향을 받지 않게 될 것이다.
Nq의 절대값은 일반적으로 크지 않기 때문에, 양자화기(80)는 정상적으로 최적 양자화 레벨을 선택할 것이다. 양자화기(80)가 그 다음으로 더 크거나 더 작은 레벨을 선택할 때, 그 선택은 가산된 에러를 재현된 화소 내로 유도할 것이다. 그러나, 이 에러는 공지된 DPCM 양자화 테이블들 보다도 훨씬 더 나은 해상도를 가지는 테이블에서 이 문제를 정정할 수 있는 가장 근접한 레벨을 선택함으로써 최소화된다. 일반적으로, 이 정정은 디스플레이된 화면의 품질에 현저한 화질의 저하를 야기하지 않는다.
양자화 해상도는 바이어싱되는 음의 예측 에러로부터 발생하는 2보다 더 큰 인자만큼 종종 증가된다. 미리 결정된 범위의 선택은 또한 증가된 양자화 해상도로 인도한다. 예를 들어, 만약 주어진 화소블록에 대하여 이 선택되어 미리 결정된 범위가 16이라면, 그때 4비트, 16레벨 테이블(도시되지 않음)은 정확히 예측 에러값들을 양자화할 것이다. 8비트 화소값들에 대하여, 그 해상도는 256의 범위에 대한 입력값을 수용하는 양자화 테이블로부터 16(256/16)의 범위에 대한 입력값들을 수용하는 양자화 테이블까지 16의 인자만큼 증가된다. 동일한 양의 범위값에 대한 양자화/역양자화 테이블에서는 다만 양의 값만을 필요로함으로써, 그 해상도는 32의 전체 인자에 대해 2의 다른 인자만큼 증가된다. 이 방법은 임의의 미리 결정된 범위값들로부터 유도된 양자화/역양자화 테이블을 위한 해상도에서의 증가를 계산하기 위하여 사용될 수 있다.
도 7은 본 발명의 원리에 따른 양자화 테이블을 가지는 양자화 테이블과 처리 데이터의 설계를 예시하는 흐름도이다. 단계(100)에서, 공지된 N개 레벨들의 양자화된 테이블은 양의 입력값과 음의 입력값 모두를 수용할 수 있게 설계된다. 이 예에 대해, 이 입력값들은 DPCM 예측 에러값들이고, 그러므로 양의 입력값과 음의 입력값은 제로(0)에 대하여 대칭적이다. 단계(102)에서, 이 경우에서는 제로(0)인 테이블의 중간값이 결정된다. 모든 N개의 레벨들은 단계(104)에서 이 중간값에서부터 최대 예측 에러값까지 할당된다. 그 결과 양자화 테이블은 시작 테이블의 해상도의 2배가 된다. 각 양자화 레벨의 해상도는 입력값들의 통계적 사건에 따라 조정될 수 있다.
단계(106)에서, 중간값보다 더 적은 입력값들은 바이어스값에 가산된다. DPCM 예측 에러값들에 대하여 이 바이어스값은 연관된 데이터 블록의 범위일 수 있다. 단계(108과 110)에서, 이 바이어싱된 입력값과 바이어싱되지 않은 입력값은 고해상도 양자화 테이블로 압축된다. 단계(112)는 데이터가 양자화되는 모든 압축 데이터를 출력한다. 단계(114)는 압축 해제된 출력값들을 발생시키는 고해상도 테이블로 압축 데이터를 압축 해제한다. 단계(116)는 이 바이어스값을 모든 압축 해제된 출력값들에 가산한다. 단계(118)는 각 출력값에 대한 결과값을 임계값과 비교한다. 이 값은 연관된 데이터 블록에 대한 최대 입력 데이터값일 수 있다. 만약 그 결과값이 임계값보다 더 크다면, 압축 해제된 출력값은 바이어스를 포함하고, 이 바이어스값은 단계(120)에서 감산되며, 재현된 값은 단계(122)에서 출력 네트워크에 출력된다. 만약 단계(118)에서 그 결과값이 임계값보다 더 크지 않다면, 압축 해제된 출력값은 바이어스를 포함하지 않고, 그 결과값은 단계(122)에서 출력 네트워크에 출력되는 재현된 값이 된다.
도 1을 다시 참조하면, 메모리(14)는 양자화 화소 블록과 파라미터 영역이 화소 재현과 디스플레이를 위하여 더 이상 요구되지 않을 때까지 양자화된 화소 블록과 파라미터 영역을 저장한다. 이 데이터가 메모리(14)에 잔류하는 시간 동안에, 그 데이터는 공동 데이터 버스를 사용하여 마이크로처리기의 제어를 받아 압축 해제기(16)를 통하여 순차 디스플레이 처리기에 의하여 억세스되고 디코딩될 수 있다. 압축기(12)와 압축 해제기(16)는 공동 집적회로에 존재하고 집적 회로를 단순화하기 위하여 유사한 디자인과 구조를 나타내고 있다. 메모리(14)는 집적 회로의 외부에 상주하는 것이 유리한데, 이것에 의해서 메모리(14)의 크기가 특정 시스템의 신호 처리 요구조건을 수용하기에 요구되어지는 만큼 선택되게 해준다. 이것은 제조 비용을 절감하게 하는데, 즉 MPEG 디코더의 경우에 더 적은 프레임 메로리를 필요로 하는 감소된 해상도의 디스플레이를 사용하여 감소된 비용의 소비자 텔레비젼 수신기의 경우를 발생시킨다. 또한 절약된 저장 면적은 다른 시스템의 구성 요소에 의하여 전형적으로 사용 가능하여 전 시스템의 용량을 증가시킨다.
도 8은 이전에 설명된 바와 같이 본 발명에 따른 장치를 포함하는 텔레비젼 수신기에서 실용적인 디지털 신호 처리 시스템의 일부분을 예시한다. 도 8의 디지털 텔레비젼 수신기 시스템은 과도하게 상세한 도면으로 부담지우지 않기 위하여 간단하게 되어 있다. 예를 들어,확장된 데이터 출력형(EDO : Extended Data Out), 동기형(SDRAM), 램버스 디램(RDRAM), 또는 임의의 다른 형태의 램으로 구성될 수 있는 외부 메모리에 인터페이싱하기 위한, 여러 구성 요소, 판독/기록 제어, 클록 발생기 네트워크, 및 제어 신호와 연결된 선입선출(FIFO : First In First Out) 입출력 버퍼는 도시되어 있지 않다.
도 1과 도 8에서 공통 구성 요소는 동일한 식별 기호를 가진다. 유닛(70)을 제외한 신호 처리기(72)에 있는 요소는 SGS-톰슨 마이크로일렉트로닉스사로부터 상업적으로 이용 가능한 STi3500A MPEG-2/CCIR600 비디오 디코더 집적 회로에서 사용되는 구성 요소에 해당한다.
간단하게, 도 8의 시스템은 마이크로처리기(40), 버스 인터페이스 유닛(42) 및 내부 제어 버스(46)에 연결되는 제어기(44)를 포함한다. 이 예에서, 마이크로처리기(40)는 MPEG 디코더(72)를 포함하는 집적 회로 외부에 위치된다. 192 비트의 폭인 내부 메모리 버스(48)는 압축기(12), 같은 종류의 압축 해제기(16과 50), 및 외부 프레임 메모리(14)로부터/로 데이터를 연결하기 위한 도관(conduit)이다. 유닛(12, 16, 및 50)은 인에이블 제어 신호(enable control signal)와 함께 제어기(44)를 통하여 마이크로제어기(40)로부터 압축과 압축 해제 인자 제어 신호를 수신한다. 또한 요청 입력(Request input)을 수신하고 메모리 주소 출력(memory Address outputs), 판독 인에이블 및 기록 인에이블 출력(Read Enable and Write Enable outputs) 뿐만 아니라 인식 출력(Acknowledge outputs)을 제공하는 국부 메모리 제어 유닛(52)이 포함되어 있다. 메모리 제어 유닛(52)은 메모리(14)를 제어하기 위한 실시간 주소 및 제어 신호를 발생시킨다. 메모리 제어 유닛(52)은 또한 국부 클록 발생기(도시되지 않음)로부터의 입력 클록 신호(Clock In)에 반응하여 출력 클록 신호(Clock Out)를 제공한다. 마이크로처리기(40)는 메모리(14)를 분할하여 비트 버퍼, MPEG 디코딩을 위한 비디오 프레임 저장부와 프레임 저장 버퍼부, 및 디스플레이 처리 및 온스크린 디스플레이 지도(maps)로 세분한다.
디스플레이 처리기(54)는 이미지 재생 디스플레이 장치(56)에 의하여 디스플레이를 위한 압축 해제된 이미지 형식을 미리 결정된 공통 형식으로 변환하는데에 요구되어지는 수평 및 수직 재샘플링 필터를 포함한다. 예를 들어, 이 시스템은 서로 얽인 525라인, 서로 얽인 1125라인 또는 720라인의 프로그레시브 스캔과 같은 형식에 해당하는 이미지 순서를 수신하거나 디코딩 할 수 있다. 텔레비젼 수신기는 모든 수신기 형식을 위하여 공통 디스플레이 형식을 사용하기가 쉬울 것이다.
외부 인터페이스 네트워크(58)는 MPEG 디코더에 의하여 처리하는 입력 압축 비디오 데이터에 더하여 MPEG 디코더와 외부 마이크로처리기(40) 사이에 제어 및 구성 정보를 수송한다. MPEG 디코더 시스템은 마이크로처리기(40)를 위한 공동처리기-처리기와 닮은 것이다. 예를 들어, 마이크로처리기(40)는 디코딩되는 각 프레임을 위한 MPEG 디코더에 디코드 명령을 송출한다. 디코더는 연관된 헤더 정보를 위치시키고 그 정보를 마이크로처리기(40)는 판독한다. 이 정보 마이크로처리기(40)는 프레임형, 양자화 매트릭스, 등에 관한 디코더를 구성하기 위한 데이터를 송출하고 그후 이 디코더는 적절한 디코드 명령을 송출한다. 전술한 바와 같이 SGS-톰슨 STi3500A 집적 회로 장치를 위한 기술적인 상세 자료는 MPEG 디코더 동작의 그 방법에 관한 추가적인 정보를 제공한다.
마이크로처리기(40)는 수신기 제조사에 의하여 프로그래밍된 모드 제어 데이터를 다중화기(32)(도 2)와 역다중화기(36)(도 5)의 동작을 제어하고, 유닛(12,16, 및 50)을 위한 압축/압축 해제 인자를 요구되어지는 바 같이 설정하는 메모리 제어기(52)에 전송한다. 이 개시된 시스템은, 예를 들어, 지상 방송, 케이블 및 위성 전송 시스템과 연관될 수도 있는 바와 같은, 여러 디지털 데이터 처리 구성의 문맥 내에서 MPEG 상세 사항의 모든 윤곽들과 모든 레벨들로 사용될 수 있다.
도 8은 또한 입력 고해상도 비디오 신호를 처리하기 위한 텔레비젼 수신기에서 사용될 수 있는 것과 같은 디지털 비디오 신호 처리기(72)의 일부를 도시한다. 신호 처리기(72)는 아날로그 채널(도시되지 않음)을 통하여 표준 해상도의 비디오 신호를 수신하고 처리하기 위한 설비를 포함하는 집적 회로 내에 포함될 수 있다. 신호 처리기(72)는 프레임 메모리(14)를 포함하여, 블록(60, 62, 64, 66, 68, 및 70)으로 구성된 종래의 MPEG 디코더를 포함한다. 예를 들어, 앙(Ang) 등의 "비디오 압축은 큰 이득을 남긴다"(1991년, 10월 IEEE 스펙트럼)는 MPEG 인코더와 디코더의 동작을 설명한다.
신호 처리기(72)는 선행 입력 처리기(도시되지 않음), 즉 입력 신호 복조 이후에 데이터 패킷을 분리시키는 전송 디코더로부터 MPEG 코딩된 데이터의 제어된 데이터 스트림을 수신한다. 이 예에서, 수신된 입력 데이터 스트림은 미국 고해상도 지상 텔레비젼 방송 시스템을 위한 대동맹(Grand Alliance)의 상세 사항에 구체화되어 있는 바와 같이 고해상도(high definition) 이미지 자료(1920 x 1088 화소)를 나타낸다. 이 입력 데이터 스트림은 MPEG 압축의 표준형을 사용하여 압축되어진 이미지 순서를 나타내는 계층화된 데이터 스트림의 형태로 있다. 이들 이미지는 주기적으로 프레임내 및 프레임간 정보로서 압축되고 코딩된다. 프레임내 정보는 I 프레임 앵커 프레임들(I-frame anchor frames)을 포함한다. 일반적으로, 프레임간 정보는 인접 화상 프레임들 사이의 이미지 차이를 나타내는 예측 움직임이 코딩된 잔여 정보(residual information)를 포함한다. 이 프레임간 움직임을 코딩하는 것은 처리되어지는 현재 블록과 이전 재현된 이미지 블록 사이의 오프셋을 나타내는 움직임 벡터를 발생시키는 것을 포함한다. 현재 블록과 이전 블록 사이에 최적인 쌍을 나타내는 움직임 벡터가 코딩되고 전송된다. 또한 각각의 움직임이 보상된 8 x 8 블록과 이전 재현된 블록 사이에 (잔여) 차이는 이산 여현 변환(DCT: Discrete Cosine Transformed)되고, 전송되기 이전에 양자화 되며 가변 길이 코딩(VLC: Variable Length Coded)이 된다. 앞서 앙(Ang) 등을 포함하는 여러 출판물이 움직임이 보상된 코딩 처리를 좀더 상세하게 기술한다.
버퍼(60)는 가변 길이 디코더(VLD: Variable Length Decoder)(62)에 의하여 가변 길이로 디코딩되기 이전에 입력 압축된 화소 데이터 블록들을 수용한다. 버퍼(60)는 메인 레벨, 메인 윤관의 MPEG 데이터 스트림의 경우에 1.75M 비트의 저장 용량을 나타낸다. 역양자화기(64)와 역이산 여현 변환기(IDCT : Inver DCT)(66)는 VLD(62)로부터 압축 데이터를 압축 해제한다. IDCT(66)로부터의 출력 데이터는 가산기(68)의 한 입력에 연결된다.
버퍼(60)로부터의 신호는 순조로운 데이터 흐름을 보장하기 위하여 역양자화기(64)의 양자화 단계 크기를 제어한다. VLD(62)는 논의될 바와 같이 움직임 보상 유닛(70)에 디코딩된 움직임 벡터를 제공한다. VLD(62)는 또한 공지된 바와 같은 프레임간/프레임내 모드 선택 제어 신호(간략화하기 위하여 도시되지 않음)를 발생시킨다. 유닛(62, 64, 및 66)에 의하여 수행되는 동작은 송신기에 위치된 인코더의 해당 동작과 반대이다.
유닛(70)의 출력으로부터 제공되는 예측 이미지 데이터를 가지는 유닛(66)으로부터 잔여 이미지 데이터를 가산함으로써, 가산기(68)는 비디오 프레임 메모리(14)의 내용에 기초한 재현 화소를 제공한다. 신호 처리기(72)가 화소 블록의 전 프레임을 처리하였을 때, 프레임 메모리(14)는 그 결과로 나타나는 재현 이미지를 저장한다. 프레임간 모드에서, VLD(62)로부터 얻어진 움직임 벡터는 유닛(70)으로부터 예측 블록의 위치를 제공한다.
가산기(68), 메모리(14) 및 움직임 보상 유닛(70)을 포함하는 이미지 재현 방법은 프레임 메모리(14)에 데이터를 저장하기 이전에 블록 압축기(12)의 사용으로 인한 메모리 요구 조건의 상당한 감축을 유리하게도 나타낸다. 프레임 메모리(14)의 크기는 예를 들어 압축 인자로 50%가 사용될 때, 50%까지 감축될 수 있다. 유닛(50)은 유닛(12)의 역 기능을 수행하고, 앞서 기술된 압축 해제기(16)와 유사하다. 압축 해제기(50)는 이미지 블록을 재현하여 그로서 움직임 보상기(70)는 전술한 바와 같은 기능을 할 수 있다. 압축기(12)와 압축 해제기(16과 50)는 본 발명의 원리를 따라 구성된다. 도 1, 도 2, 도 4 및 도 5A 는 유닛(12, 16 및 50) 내에서 상세히 도시한다.

Claims (15)

  1. 압축 네트워크의 해상도를 증가시키는 방법에 있어서,
    양과 음의 극성을 나타내기 쉬운 입력 데이터 값들의 미리 결정된 범위와 각각 연관된 다수의 레벨들을 가지는 데이터 압축 테이블을 제공하는 단계(a)와,
    상기 입력 데이터 값들의 중간점을 결정하는 단계(b)와, 및
    2배의 해상도를 갖는 압축 테이블을 발생시키기 위하여 상기 중간점에서부터 최대 입력 데이터 값까지 상기 모든 레벨들을 상기 입력 데이터 값들에 할당하는 단계(c)를 포함하는 압축 네트워크의 해상도를 증가시키는 방법.
  2. 제 1항에 있어서, 바이어스된 입력값이 상기 할당된 레벨들 내에 존재하도록 상기 바이어스된 입력 값들을 발생시키기 위하여 바이어스 값을 상기 중간점보다 더 적은 입력 데이터 값들에 가산시키는 단계(d)와,
    상기 중간점값보다 더 적은 입력 데이터 값들을 위한 압축되고 바이어스된 데이터를 발생시키기 위하여 상기 바이어스된 입력 값들을 상기 2배의 해상도를 갖는 압축 테이블에 입력시키는 단계(e)와,
    상기 중간 값보다 더 크거나 같은 입력 데이터 값들을 위한 압축된 바이어스되지 않은 데이터를 발생시키기 위하여 바이어스되지 않은 레벨들을 상기 2배의 해상도를 갖는 압축 테이블에 입력시키는 단계(f)와,
    상기 압축되고 바이어스된 데이터와 상기 압축되고 바이어스되지 않은 데이터를 출력 네트워크에 출력시키는 단계(g)를 더 포함하는 압축 네트워크의 해상도를 증가시키는 방법.
  3. 제 2항에 있어서, 압축 해제되고 바이어스된 데이터 값들과 상기 압축 해제되고 바이어스되지 않은 데이터 값들을 발생시키기 위하여 2배의 해상도를 갖는 역압축 해제 테이블을 가지는 바이어스된 압축 데이터 값들과 바이어스되지 않은 압축 데이터 값들을 압축 해제시키는 단계(h)와,
    테스트 값들을 발생시키기 위하여 상기 바이어스 값을 모든 상기 압축 해제된 값들에 가산하는 단계(i)와,
    상기 테스트 값들 각각을 임계값과 비교하는 단계(j)와,
    바이어스된 데이터 값들으로서 상기 임계값보더 더 큰 상기 테스트 값들을 확인하는 단계(k)와,
    원래의 입력 데이터 값을 얻기 위하여 확인된 바이어스된 데이터 값들로부터 상기 바이어스 값을 감산하는 단계(l)를 더 포함하는 압축 네트워크의 해상도를 증가시키는 방법.
  4. 제 1항에 있어서, 상기 2배의 해상도를 갖는 압축 테이블은 대칭적인 것인 압축 네트워크의 해상도를 증가시키는 방법.
  5. 제 1항에 있어서, 상기 입력 데이터 값들은 화소값들인 것인 압축 네트워크의 해상도를 증가시키는 방법.
  6. 제 1항에 있어서, 상기 입력 데이터 값들은 화소들의 블록을 나타내는 것인 압축 네트워크의 해상도를 증가시키는 방법.
  7. 제 2항에 있어서, 상기 바이어스 값은 상기 화소 값들의 범위인 것인 압축 네트워크의 해상도를 증가시키는 방법.
  8. 제 7항에 있어서, 상기 압축 테이블은 상기 화소 값들의 상기 범위 내에 있는 입력 데이터를 수용하는 것인 압축 네트워크의 해상도를 증가시키는 방법.
  9. 제 3항에 있어서, 상기 임계값은 최대 입력 데이터 값인 것인 압축 네트워크의 해상도를 증가시키는 방법.
  10. 제 3항에 있어서, 상기 압축 해제 단계는 상기 압축 테이블과 반대로 동작하는 압축 해제 테이블을 사용하는 단계인 압축 네트워크의 해상도를 증가시키는 방법.
  11. 제 1항에 있어서, 상기 입력 데이터 값들은 DPCM 값들을 나타내는 값인 압축 네트워크의 해상도를 증가시키는 방법.
  12. MPEG 코딩된 이미지를 나타내는 화소 데이터를 처리하기 위한 디지털 신호 처리 시스템에 있어서,
    압축 해제된 화소 데이터를 발생시키기 위하여 상기 MPEG 데이터를 압축 해제시키는 단계(a)와,
    DPCM 예측 에러 값들을 발생시키기 위하여 상기 이미지를 나타내는 화소 데이터를 처리하는 단계(b)와,
    양의 에러 값을 양자화기에 전송하는 단계(c)와,
    다른 극성의 바이어스된 에러 값들을 발생하기 위하여 바이어스 값을 하나의 극성의 에러 값들에 가산시키는 단계(d)와,
    상기 바이어스된 에러 값들을 다른 양자화기에 전송하는 단계(e)를 포함하는 MPEG 코딩된 이미지를 나타내는 화소 데이터를 처리하기 위한 방법.
  13. 제 12항에 있어서, 상기 하나의 극성은 양이고 상기 다른 극성은 음인 것인 MPEG 코딩된 이미지를 나타내는 화소 데이터를 처리하기 위한 방법.
  14. 이미지를 나타내는 화소 데이터를 처리하기 위한 디지털 신호 처리 시스템에 있어서,
    DPCM 예측 에러 값들을 발생시키기 위하여 상기 이미지를 나타내는 화소 데이터를 처리하기 위한 제 1 처리기(18)와,
    양으로 바이어스된 예측 에러 값들을 발생시키기 위하여 바이어스 값을 음의 예측 에러 값들에 가산하기 위한 제 2 처리기(27)와,
    양자화 데이터를 발생시키기 위하여 상기 양으로 바이어스된 예측 에러 값들과 바이어스되지 않은 예측 에러 값들을 양자화하기 위한 양자화기(28)를 포함하는 이미지를 나타내는 화소 데이터를 처리하기 위한 디지털 신호 처리 시스템.
  15. 제 14항에 있어서, 상기 양으로 바이어스된 예측 에러 값들과 상기 바이어스되지 않은 예측 에러 값들을 재현하기 위하여 상기 양자화 값들을 역양자화하기 위한 역양자화기와,
    상기 음의 예측 에러 값들을 발생시키기 위하여 상기 양으로 바이어스된 예측 에러 값들을 확인하고 상기 양으로 바이어스된 예측 에러 값들에서부터 상기 바이어스 값을 감산하기 위한 제 3 처리기와,
    재현된 이미지를 나타내는 화소 데이터를 발생시키기 위하여 상기 양과 음의 예측 에러 값들을 처리하기 위한 제 4 처리기를 더 포함하는 이미지를 나타내는 화소 데이터를 처리하기 위한 디지털 신호 처리 시스템.
KR10-1999-7004605A 1996-12-17 1997-12-09 영상 처리 시스템에서 메모리 효율적인 압축 방법 및 장치 KR100531259B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3360796P 1996-12-17 1996-12-17
US60/033,607 1996-12-17
US08/910,709 1997-08-12
US8/910,709 1997-08-12
US08/910,709 US6621934B1 (en) 1996-12-17 1997-08-12 Memory efficient compression apparatus in an image processing system

Publications (2)

Publication Number Publication Date
KR20000057237A true KR20000057237A (ko) 2000-09-15
KR100531259B1 KR100531259B1 (ko) 2005-11-28

Family

ID=26709902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-7004605A KR100531259B1 (ko) 1996-12-17 1997-12-09 영상 처리 시스템에서 메모리 효율적인 압축 방법 및 장치

Country Status (8)

Country Link
US (1) US6621934B1 (ko)
EP (1) EP0947102B1 (ko)
JP (1) JP4260894B2 (ko)
KR (1) KR100531259B1 (ko)
CN (1) CN1191719C (ko)
AU (1) AU5594298A (ko)
DE (1) DE69730148T2 (ko)
WO (1) WO1998027735A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807311B1 (en) * 1999-07-08 2004-10-19 Ati International Srl Method and apparatus for compressing and storing image data
GB2368248A (en) * 2000-10-20 2002-04-24 Sony Uk Ltd Image compression using iterative intraframe predictive coding
AU2002325380A1 (en) * 2001-10-11 2003-04-28 International Business Machines Corporation Color bitmap normalization
JP4217657B2 (ja) * 2003-07-30 2009-02-04 キヤノン株式会社 画像処理方法、プログラム、記憶媒体及び装置
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
TWI307607B (en) * 2006-02-13 2009-03-11 Novatek Microelectronics Corp Pixel data compression and decompression method and device thereof
US20080115185A1 (en) * 2006-10-31 2008-05-15 Microsoft Corporation Dynamic modification of video properties
WO2008095825A1 (en) * 2007-02-05 2008-08-14 Thomson Licensing Video transcoding with reduced drift
JP5095033B2 (ja) * 2010-03-03 2012-12-12 三菱電機株式会社 データ圧縮装置及びデータ圧縮方法及びプログラム
JP5362099B2 (ja) * 2010-03-19 2013-12-11 株式会社東芝 符号化装置
JP5482474B2 (ja) * 2010-06-09 2014-05-07 富士通株式会社 符号化装置及び符号化プログラム
US9978156B2 (en) * 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
US9363517B2 (en) 2013-02-28 2016-06-07 Broadcom Corporation Indexed color history in image coding
GB2593523B (en) * 2020-03-26 2023-06-14 Imagination Tech Ltd Image data compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4422094A (en) 1981-11-06 1983-12-20 Rca Corporation Digital signal processor with symmetrical transfer characteristic
JPS59200592A (ja) * 1983-04-27 1984-11-13 Fuji Photo Film Co Ltd カラ−画像の適応形圧縮方式
US5539865A (en) 1992-11-10 1996-07-23 Adobe Systems, Inc. Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter

Also Published As

Publication number Publication date
AU5594298A (en) 1998-07-15
EP0947102A1 (en) 1999-10-06
WO1998027735A1 (en) 1998-06-25
DE69730148T2 (de) 2005-08-04
CN1191719C (zh) 2005-03-02
JP2001506444A (ja) 2001-05-15
DE69730148D1 (de) 2004-09-09
KR100531259B1 (ko) 2005-11-28
JP4260894B2 (ja) 2009-04-30
CN1240555A (zh) 2000-01-05
US6621934B1 (en) 2003-09-16
EP0947102B1 (en) 2004-08-04

Similar Documents

Publication Publication Date Title
KR100549436B1 (ko) 픽셀 블록 재압축 기능을 가진 디지털 영상 프로세싱 시스템
US6414992B1 (en) Optimal encoding of motion compensated video
KR100484333B1 (ko) 영상신호프로세서를위한메모리관리
KR100566826B1 (ko) 압축된 영상 표시 픽셀 데이터 블록의 데이터 스트림을 처리하기 위한 시스템
US6125146A (en) Method and device for decoding coded digital video signals
US8811493B2 (en) Method of decoding a digital video sequence and related apparatus
US5650823A (en) Half pel motion estimation method for B pictures
KR100531259B1 (ko) 영상 처리 시스템에서 메모리 효율적인 압축 방법 및 장치
EP0782341A2 (en) Image data compression system
KR100549208B1 (ko) 메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법
US5614953A (en) Image signal decoding apparatus having an encoding error compensation
US6205250B1 (en) System and method for minimizing clock cycles lost to overhead data in a video decoder
KR100744442B1 (ko) 디지털 비디오 및 이미지들에 대한 개선된 캐스케이드 압축 방법 및 시스템
MXPA99005602A (en) Pixel block compression apparatus in an image processing system
MXPA99005592A (es) Aparato y cuantificador de compresión de memoria eficiente un sistema de procesamiento de imágenes
MXPA96006644A (en) Ima data compression system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121019

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131018

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141107

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 13

EXPY Expiration of term