KR100549208B1 - 메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법 - Google Patents

메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법 Download PDF

Info

Publication number
KR100549208B1
KR100549208B1 KR1019997004577A KR19997004577A KR100549208B1 KR 100549208 B1 KR100549208 B1 KR 100549208B1 KR 1019997004577 A KR1019997004577 A KR 1019997004577A KR 19997004577 A KR19997004577 A KR 19997004577A KR 100549208 B1 KR100549208 B1 KR 100549208B1
Authority
KR
South Korea
Prior art keywords
block
value
pixel
values
range
Prior art date
Application number
KR1019997004577A
Other languages
English (en)
Other versions
KR20000057224A (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 KR20000057224A publication Critical patent/KR20000057224A/ko
Application granted granted Critical
Publication of KR100549208B1 publication Critical patent/KR100549208B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • 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
    • 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

Landscapes

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

Abstract

MPEG 호환 이미지 신호 프로세서에서 MPEG 데이터스트림은 이미지 화소 값 블록들이 메모리에 저장되기 전에, 디코딩되고, 압축 해제되고, 재압축된다. 재압축 시스템은 주어진 화소 값 이미지 블록에 대한 범위와 최소 화소 값을 결정하기 위하여 블록 데이터를 평가한다(82). 그 값들은 인코딩되고(88), 그 인코딩된 표시값들은 데이터 재구성을 용이하게 하기 위하여 양자화된 데이터 블록과 함께 파라미터 필드에 저장된다(90). 인코딩은 사전에 결정된 값 세트에 실제 범위와 최소값을 최적화시킴(84)으로써 일어난다. 사전에 결정된 값 중에서 선택된 값 각각은 그 다음에 파라미터 필드에서 3 비트 인덱스로서 인코딩된다. 양자화된 데이터와 함께 인코딩된 값을 저장하는 것은 최소의 오차를 갖는 재구성을 용이하게 한다. 또한, 그러한 인코딩으로 말미암은 값들은 양자화된 데이터를 위하여 메모리를 남겨 둔다.

Description

메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법{OVERHEAD DATA PROCESSOR IN A MEMORY EFFICIENT IMAGE PROCESSING SYSTEM}
본 발명은 디지털 비디오 프로세서에 관한 것이다. 특별히, 본 발명은 압축된 비디오 데이터와 관련된 오버헤드 데이터를 효율적으로 전송하는 시스템에 관한 것이다.
메모리를 효율적으로 사용하는 것은 이미지 프로세서의 설계와 동작 측면에서 중요하다. 예를 들자면, 텔레비전 시스템과 같은 가전 제품은 MPEG-2 신호 처리를 포함하는 이미지 프로세서를 사용한다. MPEG(Motion Picture Experts Group) 신호 압축 표준(ISO/IEC 13181-2, 1994년 5월 10일)은 다른 이미지 처리 형태 중에서도 HDTV(high definition television) 처리를 채택한 위성, 케이블 및 지상 방송 시스템에 사용하기에 특히 유용한 널리 수용되고 있는 이미지 처리 표준이다. 고선명도(high definition) 디스플레이를 사용하는 제품은 디스플레이하기 전에 MPEG 방식으로 디코딩된 프레임을 일시적으로 저장하기 위하여 96 Mbit 이상의 메모리를 필요로 한다. MPEG 프로세서는 디스플레이용의 정확한 이미지를 재구성하도록 움직임 추정 및 움직임 보상을 하기 위해 이와 같은 프레임들을 필요로 한다.
MPEG 방식으로 디코딩된 화상 요소(화소(pixel) 또는 펠(pel))로부터 이미지를 재구성하는 시스템은 전형적으로 DPCM(Differential Pulse Coded Modulation) 방식을 사용한다. DPCM 처리에서, 프로세서는 그 다음의 화소 값을 예측하는 예측값을 생성한다. 덧셈기 네트워크(summation network)는 실제 화소값에서 예측값을 빼서 그 다음 화소값을 예측하는 차이값(difference)을 구하게 된다. 예측 오차라고 알려진 이 차이값은 일반적으로 원래의 화소값이나 예측값보다 작으며, 원래의 화소값말고 이 차이값을 처리함으로써 시스템의 대역폭 필요량이 줄어들게 된다. 1991년 10월자 IEEE 스펙트럼의 앵(Ang) 등이 작성한 논문 "비디오 압축이 큰 이득을 만든다"라는 논문은 MPEG 인코더 및 디코더에 대하여 상술한다.
메모리 효율적인 이미지 프로세서는 저장하기 전에 블록 데이터를 리코딩(recodingg)재압축)함으로써 이미지 프레임을 저장하는데 있어서 메모리를 좀 덜 사용한다. 공간 영역에서, 이미지 프레임을 저장하기 위하여 사용되는 화소당 비트수를 감소시키면 만약에 화소가 원래의 비트 크기로 정확히 재구성될 수 없다면 화상의 품질에 역효과를 야기한다. 특히 이미지의 매끄러운 영역(smooth area)에서 아티팩트(artifact)가 발생한다. 메모리 감소 이미지 프로세서는 가능한 한 효율적이고 경제적이게 MPEG 방식 디코딩된 신호를 정확히 양자화(quantize)하고 역양자화(dequantize)해야 한다.
본 발명의 발명자들은 시스템이 재구성된 데이터에 초래하는 아티팩트를 최소화할 수 있는 최소 하드웨어 및 소프트웨어를 사용하는 효율적인 데이터 감소 시스템을 제공해야 하는 타당성을 인지했다.
본 발명의 원리에 따라, 이미지 프로세서는 이미지 블록에 대한 최소 화소값과 화소값 범위를 결정한다. 그 이미지 프로세서는 그 범위와 사전에 결정된 범위 세트 간에 최적값(best-fit)을 선택한다. 각 사전에 결정된 범위는 연관되는 사전에 결정된 최소값 세트를 가지며, 프로세서는 화소 블록 최소값과 그 선택된 사전에 결정된 범위와 연관되는 사전에 결정된 최소값간에 최적값을 선택한다. 프로세서는 감소된 비트 코드를 이용하여 그 선택된 사전에 결정된 범위와 그 선택된 사전에 결정된 최소값을 인코딩하고, 또한 그 인코딩된 값들을 압축된 블록 데이터와 함께 메모리에 저장한다.
도 1은 본 발명에 따른 시스템을 구비하는 화소 블록 프로세서의 블록도.
도 2는 도 1의 시스템의 압축부를 상세하게 도시한 도면.
도 3은 본 발명에 따른 시스템이 적합하게 사용할 수 있는 패킷화된 데이터 포맷을 도시한 도면.
도 4는 본 발명에 따른 인덱싱 과정을 도시한 순서도.
도 5는 도 1의 시스템의 압축해제부를 상세하게 도시한 도면.
도 6은 본 발명을 포함하는 프로세싱 방법의 순서도.
도 7은 본 발명을 사용하는 MPEG 호환 텔레비전 시스템의 블록도.
본 발명의 예시적인 실시예에서, 텔레비전 수신기는 MPEG 디코더를 구비한다. 데이터 감소 네트워크는 프레임 메모리에 저장하기 전에 이미지 블록을 나타내는 디코딩 및 압축 해제된 MPEG 신호를 양자화하고, 이미지를 디스플레이하기 위하여 필요할 때에 이미지 블록을 재구성한다. 디스플레이 장치는 프레임 메모리로부터 유출된 이미지 정보를 디스플레이한다.
데이터 감소 네트워크를 통하여 데이터가 흠이 없게 보전하기 위하여, 이 네트워크는 화소 블록을 주사하고(scan), 이미지 화소값 범위와 최소 화소값을 결정한다. 이 네트워크는 그 범위와 사전에 결정된 범위 세트 간의 최적 분석(best-fit analysis)을 수행한다. 사전에 결정된 가장 작은 범위 및 사전에 결정된 가장 큰 범위를 제외하고, 사전에 결정된 각 범위는 사전에 결정된 최소값 세트를 갖고 있다. 이 네트워크는 화소 블록 최소값과 그 선택된 사전에 결정된 범위와 연관되는 사전에 결정된 최소값 간에 최적 분석을 수행한다. 그 선택된 사전에 결정된 범위와 그 선택된 사전에 결정된 최소값에는 대표하는 3 비트 코드가 각각 인덱싱된다(indexed). 사전에 결정된 가장 작은 범위에 대하여 네트워크는 실제 8 비트 최소값을 보유하고, 사전에 결정된 가장 큰 범위에 대하여 네트워크는 아무 비트도 필요로 하지 않는 제로(0) 값을 선택한다.
범위와 최소값에 대한 인덱싱된 대표값은 양자화된 화소 블록과 함께 프레임 메모리에 저장된다. 실제의 8 비트값 대신에 이 대표값을 저장함으로써 메모리에 양자화된 화소값을 저장할 수 있게 된다. 양자화된 화소값은 한 개의 대표값당 8 비트보다 적은 비트수로 효율적으로 표현되는데, 이는 블록 특정 범위 및 최소 화소값이 재구성을 용이하게 하기 때문이다.
도 1에서 MPEG 디코더는 MPEG 방식으로 디코딩된 화소 데이터 블록을 압축기(12)를 포함하는 메모리 감소 프로세서의 입력단(10)에 공급한다. 압축기(12)는 예측기(18)와, 양자화기(20)와, 및 결합기(22)를 포함한다. 화소 블록은 공간 영역에 속하며, 예를 들어 이미지 화소의 8x8 블록을 포함한다. 예측기(18)는 잘 알려진 원리를 사용하며, 예를 들어 프렌티스 홀(Prentice-Hall, Inc.) 출판사의 1989년도 제인(Jain) A의 저서인 "디지털 이미지 처리의 원리"라는 책의 484쪽에 상술된 형태이다.
양자화기(20)는 데이터가 감소된 화소 블록을 메모리(14)에 공급한다. 디스플레이 프로세서(미도시됨)가 이미지를 디스플레이하기 위하여 메모리(14)에 있는 감소된 데이터 블록에 액세스할 때에, 압축해제기(16)는 원래의 데이터 블록을 재구성한다. 압축해제기(16)는 감소된 데이터를 메모리(14)로부터 회수해서 감소된 데이터 블록을 재구성하기 위하여 예측기(24)와 역양자화기(26)를 포함한다. 양자화기(20)와 역양자화기(26)는 이하에서 언급될 본 발명의 원리에 따라 배열된다. 예측기(24)는 예측기(18)와 유사하다.
압축기(12)의 입력단(10)은 MPEG 디코더(도 7에 도시됨)로부터 화소 블록을 수신한다. 입력단(10)은 화소 블록 데이터를 결합기(22)의 비반전 입력단과 양자화기(20)에 공급한다. 예측기(18)는 화소 예측 데이터를 결합기(22)의 반전 입력단과 양자화기(20)에 공급한다. 결합기(22)는 반전 입력단과 비반전 입력단으로부터 나온 신호를 결합하여 그 차이 신호를 양자화기(20)에 공급한다. 양자화기(20)는 재구성 레벨 값을 예측기(18)로 출력하며, 인코딩된 화소 차이값을 저장하기 위하여 메모리(14)에 출력한다.
도 2는 도 1에 나온 양자화기(20)를 상세하게 도시하고 있다. 명세서 전반에 걸쳐서, 동일한 참조 번호는 도면에서 동일한 구성요소를 나타내는 것이다. 구체적으로, 양자화기(20)는 예측 오차 프로세서(27)와, 양자화 맵퍼(quantization mapper)(28)와, 코딩 제어기(29)와, 최소-최대 범위 프로세서(MMRP)(30)와, 제 1 화소(기준 화소) 프로세서(31)와, 및 멀티플렉서(32)를 구비한다. 입력단(10)은 블록 화소 데이터를 MMRP(30)에 공급하는데, MMRP(30)는 화소 블록을 주사하고 최소 화소값과 최대 화소값과 및 블록 범위를 결정한다. MMRP(30)는 실제 범위의 함수로서 사전에 결정된 범위 셋트 중에서 한 개의 사전에 결정된 범위를 선택하고, 또한 그 선택한 사전에 결정된 범위를 네트워크에서 나중에 사용하기 위하여 실제 범위와 교체한다. MMRP(30)는 또한 실제 최소 화소 값 대신에 화소 블록을 표시하기 위하여 그 선택된 사전에 결정된 범위의 정보를 사용하여 사전에 결정된 최소 화소값을 식별한다. MMRP(30)는 사전에 결정된 최소 화소 및 범위 블록 파라미터 값들을 압축하고, 또한 그 압축된 값들을 멀티플렉서(32)에 송신한다.
이하에서 설명되겠지만, 그 선택된 사전에 결정된 최소 화소값과 범위는 또한 제 1 화소 프로세서(31)에 전송되며, 이 사전에 결정된 범위는 예측 오차 프로세서(27)에 전송된다. 예측 오차 프로세서(27)는 예측 오차 데이터를 결합기(22)로부터 수신하여 그 선택된 사전에 결정된 범위를 갖는 음의 값들을 바이어스 건다. 양자화 맵퍼(28)는 예측 오차 프로세서(27)로부터 바이어스가 걸렸거나 바이어스 걸리지 않은 예측 오차 값들을 수신한다. 그 예측 오차 값들은 양자화되고, 인코딩되어 멀티플렉서(32)로 송신된다. 양자화 맵퍼(28)는 또한 예측기(18)에 재구성 레벨 값들을 송신하며, 상기 예측기(18)는 예측 데이터를 계산하기 위하여 재구성 레벨 값들을 사용한다. 멀티플렉서(32)는 블록 파라미터들 ( 압축된 최소 화소 값, 범위, 기준 화소 값) 및 양자화된 데이터를 이하에서 설명되는 타이밍과 제어 조건 하에서 메모리(14) 측으로 송신한다. 블록 파라미터들은 양자화된 화소 블록과 관련된 파라미터 필드 내에서 메모리(14)에 저장된 오버헤드 데이터를 나타낸다. 파라미터 필드와 양자화된 데이터는 함께 한 개의 패킷을 형성하는데, 그 패킷은 적절한 역양자화 테이블에 액세스하고 또한 화소 블록을 재구성하기 위하여 압축해제기(16)가 필요로 하는 모든 정보를 통합하고 있다. 코딩 제어기(29)는 블록 파라미터 및 압축 데이터의 전달 뿐만 아니라 각각의 화소 대표값을 위한 양자화 테이블의 선택을 감시한다.
제 1 화소 프로세서(31)는 입력단(10)으로부터 화소 블록을 수신하고, 사전에 결정된 기준 화소 값을 식별한다. MMRP(30)로부터 수신된 블록 최소 화소 값은 다른 블록 화소들에 상관없이 기준 화소의 압축을 용이하게 한다. 압축된 기준 화소는 손실이 없거나 손실이 거의 없이 역양자화기(26)가 원래의 값을 재구성하는데 충분한 비트를 이용하여 나타내진다. 제 1 화소 프로세서(31)는 멀티플렉서(32)에게 블록 파라미터로서의 압축 기준 화소 값을 보내며, 이 멀티플렉서는 기준 화소 값을 포함하는 블록 파라미터와, 양자화된 데이터를 메모리(14)에 전송한다. 역양자화기(26)는 화소 재구성이 이루어지고 있는 동안에 양자화된 블록 화소들에 대한 예측 값으로서 기준 화소를 사용한다. 압축해제가 일어나고 있는 동안 예측 네트워크에서 사용된 제 1 화소값(기준 화소 값)이 독립적이기 때문에, 주어진 화소 블록은 다른 화소 블록의 정보없이 압축해제될 수 있다. 그 값은 또한 정확하여, 재구성된 데이터로부터 예측 오차가 전달되는 것이 없어진다.
기준 화소는 압축된 값을 유도하기 위한 예측으로서 화소 블록 최소값을 사용하여 압축된다. 그 선택된 사전에 결정된 최소값은 기준 값으로부터 뺄셈되고, 그 뺄셈을 하여 얻어진 차이값은 2로 나누어진다. 그 결과치는 사전에 결정된 범위의 이진수 표현을 위하여 필요한 비트보다 개수가 한 개 줄어든 비트의 형태로 메모리(14)에 저장된다. 사전에 결정된 범위는 압축된 기준 화소 값을 저장하기 위하여 사용된 비트의 개수를 한정하는데, 이는 동일한 화소 블록에 있는 다른 값들의 예측으로서 블록 화소 값을 사용할 때에, 기준 화소값과 최소 화소값과 같은 임의의 두 개 블록 화소값들 간의 차이값이 그 범위 영역 내에 있게 되기 때문이다. 압축 기준 값은 이 범위를 나타내기 위하여 필요한 비트의 개수보다 한 개 적은 개수의 비트를 사용하는데, 왜냐하면 그 차이값은 2로 나눠지는 양의 수여서, 이진수 표시를 위하여 필요한 비트 개수를 1 비트만큼 줄이기 때문이다.
양자화기(20) 및 역양자화기(26)는 각 블록에 대하여 최적화된 양자화 테이블과 역양자화 테이블에 각각 액세스한다. 양자화 테이블 및 역양자화 테이블은 화소 블록의 사전에 결정된 범위에 기초한 값들을 포함하고 있다. MMRP(30)는 입력 데이터 블록을 수신하여, 최소 화소 값과 최대 화소 값을 결정하기 위하여 수신한 입력 데이터 블록을 주사한다. MMRP(30)는 그 다음에 최대 화소값에서 최소 화소값을 뺀 다음에 화소 블록에 대한 범위를 계산하기 위하여 1을 더한다(max-min+1).
양자화기(20) 및 역양자화기(26)는 그 계산된 범위를 사전에 결정된 범위 세트(상기 범위 세트 중 한 개 이상의 범위는 그 계산된 범위보다 크거나 동일하다)와 비교하고, 한 개의 사전에 결정된 범위를 선택하고, 및 상기 예측된 범위로부터 유도된 양자화 테이블과 역양자화 테이블에 각각 액세스한다. 사전에 결정된 범위는 최적 분석(best-fit analysis)을 하여 선택되는데, 상기 최적 분석은 사전에 결정된 범위 세트 중에서 어느 범위 세트가 실제로 계산된 범위 이상인 범위 중에서 가장 작은 범위 세트인지를 결정한다. 양자화 테이블 및 역양자화 테이블은 그 선택된 사전에 결정된 범위의 영역내의 값을 갖도록 주문제작(customized)되어, 결국 전체 실제 범위의 값들을 포함하게 된다. 양자화기(20)는 DPCM 처리 방법을 사용하여, 예측 오차인 차이 값을 생성하는데, 이러한 예측 오차값은 실제 범위의 영역 안에 있게 된다. 실제 범위는 종종 256(8 비트 화소 값의 최대값)보다 훨씬 적다. 그 범위로부터 유도된 테이블 레벨은 256으로부터 유도된 테이블 레벨보다 더 나은 해상도를 제공하는데, 그 이유는 그 선택된 사전에 결정된 범위가 일반적으로 실제 범위의 값들에 근접하여 8비트보다 적은 비트 개수로 표시될 수 있기 때문이다. 따라서 시스템 정확도 및 효율성은 테이블 레벨을 그 범위에 맞게 주문 제작함으로써 증가하게 된다.
입력 블록 데이터를 재구성하기 위하여, 역양자화기(26)는 양자화기(20)가 화소 블록을 양자화할 때에 사용되는 양자화 테이블에 액세스하기 위하여 사용하는 사전에 결정된 범위가 어느 것인지 알아야 한다. 범위 및 다른 화소 블록 파라미터들을 나타내는 값들은 페이로드(payload)로서 양자화된 화소 블록과 함께 파라미터 필드 내 메모리(14)에 저장된다. 파라미터 필드와 페이로드는 함께 압축된 데이터 패킷을 형성한다. 양자화된 화소 블록과 함께 블록 파라미터 표시값을 메모리(14)에 저장함으로써, 역양자화기(26)는 적절한 역양자화 테이블에 액세스하여 화소 블록을 효율적이고 정확하게 재구성할 수 있다. 도 3은 파라미터 필드(33) 및 압축 데이터 페이로드(35)에 대한 한가지의 가능한 구성을 도시하고 있다. 이 실시예에서, 파라미터 필드(33)는 압축된 데이터 페이로드(35)를 포함하는 데이터 패킷의 헤더로서 배열되어 있다.
이 실시예에서, 디스플레이 프로세서가 필요로 하는 이미지 프레임을 저장하는 메모리(14)는 크기가 반(50%)으로 줄어든다. 이 실시예의 목적을 위하여 가정한 8 비트 화소에 대하여, 50 퍼센트로의 감소는 압축된 다음의 각 화소 표시값을 저장하기 위하여 메모리(14)에 평균 4 비트를 제공하게 된다. 파라미터 필드(33)의 블록 파라미터로 표시된 오버헤드 정보는 메모리(14)에서의 공간을 필요로 한다. 파라미터 필드를 저장하기 위하여 사용되는 모든 비트는 양자화된 화소들을 저장하는데 필요한 메모리 공간을 감소시킨다. 전반적인 효과는 양자화된 데이터에 부여할 수 있는 해상도를 감소시킨 것인데, 이는 메모리 용량이 사전에 결정된 감소 크기로 일정하게 고정되어 있기 때문이다. 메모리 크기를 오버헤드 정보를 보상하기 위하여 증가시키게 되면 제조 비용이 바람직하지 않게 증가하는데, 왜냐하면 메모리는 일반적으로 제조업자로부터 고정된 블록 크기로 된 것만을 얻을 수 있기 때문이다. GA 스펙 (Grand Alliance specification)에서 규정하고 있는 것처럼, HDTV 이미지 프레임에서 8x8 화소 블록이 32,640개 있다는 것을 고려해 본다면 경비가 엄청 들게 된다. 세 개의 8 비트 워드는 프레임마다 783,360 비트를 이 시스템을 사용하는 각 텔레비전 수신기의 메모리 요건에 부가한다. 또한, 시스템 신뢰도도 감소하게 되는데, 이는 여분의 메모리가 부가적으로 유선 연결을 필요로 하고 그 유선 연결의 각각이 접속에 실패하게 될 수 있기 때문이다.
본 발명을 사용하는 시스템은 범위 및 최소값과 같은 블록 파라미터 두 개를 저장하기 위하여 필요한 비트 개수를 감소시키는데, 대부분의 경우에 있어서 각 파라미터에 대해 8 비트에서 3 비트로 감소시킨다. 이러한 것은 한 개의 화소 블록당 10 비트를 메모리에서 절약하게 되는데, 이것은 메모리에 저장된 각 이미지 프레임에 대하여 326,400 비트를 절약하게 하는 것이다. 일단 양자화기(20)가 실제 범위와 최소 화소 값을 결정하면 그 값들은 이하와 같이 양자화되고 인덱스된다.
실제 범위는 최적 값을 결정하기 위하여 사전에 결정된 범위 세트에 비교된다. 사전에 결정된 범위는 화소 블록의 범위를 나타내는데 사용되어 나중에 처리되는 값이 된다. 그 사전에 결정된 범위는 도 4에 관련하여 이하에서 설명되는 바와 같이 화소 블록내의 모든 화소 값들이 표시될 수 있게 되도록 하기 위하여 실제 범위보다 크다. 사전에 결정된 범위 세트는 7개의 값을 포함한다. 이 세트가 양자화기(20)와 역양자화기(26) 모두에 다 사용되기 때문에, 그 사전에 결정된 범위는 한 개의 인덱스 값으로 파라미터 필드에 표시될 수 있다. 이 인덱스는 이진수 표시를 위하여 단지 세 개의 비트만을 필요로 하는데, 이는 표시할 사전에 결정된 범위들이 오직 7개 있기 때문이다.
이 시스템은 유사한 방식으로 최소 화소 값을 처리한다. 7개의 사전에 결정된 범위 중 5개에 대하여, 본 시스템은 그 선택된 사전에 결정된 범위에 고유한 8개의 최소 화소값으로 이루어진 사전에 결정된 세트에 액세스한다. 양자화기(20)는 실제 최소 화소값을 사전에 결정된 세트와 비교하여, 그 실제 최소값보다 작거나 동일한 사전에 결정된 최소값 중에서 가장 큰 것을 선택한다. 그 사전에 결정된 최소값은, 그 다음에, 처리되어지는 화소 블록의 최소 화소를 표시하는데 사용되는 값이 된다. 양자화기(20)와 역양자화기(26) 둘 다에 이용되는 그 세트, 즉 사전에 결정된 최소값은 한 개의 인덱스 값으로서 파라미터 필드에 표시될 수 있다. 그 인덱스는 또한 이진수 표시를 위하여 세 개의 비트를 필요로 하는데, 이는 표시할 사전에 결정된 최소 화소값이 오직 8개만 있기 때문이다.
앞에서 설명한 바와 같이, 각 인덱스 값은 세 개의 비트를 필요로 하는데, 그러한 것은 16개 비트가 아니고 6개의 비트만이 각 파라미터 필드에 저장되는 결과를 초래한다. 그 절약된 비트는 양자화된 화소들을 저장하기 위해 메모리를 보존한다. 이러한 것은 양자화된 화소 데이터의 해상도를 증가시키는데, 이는 블록 파라미터를 인코딩함으로써 절약된 비트가 화소 데이터에 대하여 더욱 세밀하게 양자화하는 것을(해상도가 더 좋아지는 것) 허용하기 때문이다.
이하에 나오는 수학식은 사전에 결정된 범위 세트와 그 선택을 설명해준다. Rs는 사전에 결정된 범위 세트에서 선택된 범위이며, Ri는 인덱스 값(i)으로 표시된 범위인데, 여기서 i는 파라미터 필드에서 3 비트로 표시될 선택 범위를 위한 인덱스 값이다. R은 화소 블록의 실제 범위 값이다.
Figure 112005040078211-pct00009
삭제
MIN{f(x)}는 선택 범위(Rs)가 Ri>=R 조건을 만족하는 세트에서 가장 작은 값인 것을 표시한다. 괄호 내의 식 f(x)는 MIN 함수가 적용되는, 수학식 1에 있는 것과 같은 임의의 식을 나타낸다. 예를 들어 만약에 R이 73이면, 수학식 1은 Rs의 결과치로서 96을 생성한다. 65부터 96 사이에 있는 임의의 R값은 동일한 결과치를 생성한다.
수학식 1의 7개의 사전에 결정된 범위들은 일반적으로 이진수 수열로 표시된 숫자들로부터 유도되고, 또한 압축 화소 및 압축 해제된 화소를 나타내기 위하여 특정 시스템에서 사용하는 사전에 결정된 평균 비트 개수에 의하여 결정된다. 메모리가 50% 정도로 감축되었기 때문에, 8 비트 화소(이 예에서 가장 큰 값)는 평균 4 비트로 압축된다. 따라서, 16(4비트)과 256(8비트)은 사전에 결정된 범위 값 세트 내에서 가장 작은 값과 가장 큰 값인 것이다. 2n 증분으로 나타나는 제시한 바와 같은 값들은 사전에 결정된 범위 세트에 대하여 자연적인 선택 분기점(selection break)인데, 왜냐하면 n의 각 증가나 또는 감소는 범위를 나타내는 2진수 표시값을 위하여 1 비트 더 필요하게 만들거나 1 비트 덜 필요로 하기 때문이다. 지수함수 표현인 2n은 16, 32, 64, 128, 및 256의 5개 값을 제공한다. 3 비트 인덱스는 8개의 범위까지 제공하고, 해상도를 증가시키기 위하여 다른 사전에 결정된 범위가 그 갭(gap)에 가산되는 것을 허용한다. 이 예에서, 갭이 가산된 사전에 결정된 범위는 96과 192이다.
7개의 범위 중에서 다섯 개에 대한 8개의 사전에 결정된 최소 화소 값 세트는 이하에 있는 수학식 2에 의하여 정해진다. 수학식 2가 적용되는 다섯 개의 범위는 32, 64, 96, 128, 및 192이다. 수학식 2는 0부터 시작하여 일정한 선형 간격(step)을 제공한다.
Figure 112002038114418-pct00010
삭제
위의 수학식 2에서 i는 파라미터 필드에 3비트로 표시될 선택된 최소 화소 값을 위한 인덱스 값이다. INT{f(x)}는 그 결과치의 정수부만이 사용된다는 것을 표시한다. 괄호 안의 f(x)식은 INT 함수가 적용되는 수학식 2에 나온 것과 같은, 임의의 식을 나타내는 것이다.
아래에 있는 수학식 3은 세트에서 사전에 결정된 화소 값을 선택하는데, 그 값은 실제 최소 화소 블록 값을 대신한다. MAXi{f(x)}는 괄호 안의 조건을 만족시키는 i의 최대값이 Qmin을 생성하는데 사용되는 것을 표시한다.
Figure 112002038114418-pct00011
삭제
수학식 4는 양자화처리 중의 표시값들이 정확하게 되게 하기 위하여 유효 블록 파라미터들을 선택하기 위한 필요 충분 조건을 나타낸다. 선택된 사전에 결정된 범위 및 최소값은 수식(4)의 조건을 또한 만족시켜야만 한다. 만약에 그 값들이 그 조건을 만족시키지 못한다면, 그 조건을 만족시키는 또 다른 값의 세트가 이하에서 설명되는 바와 같이 선택되어야만 한다. Qmin(Rs)은 위에 나온 수학식 3의 결과치이다.
Figure 112005040078211-pct00012
삭제
16과 256이라는 두 개 범위는 특별한 경우이고, 그래서 다른 방법으로 취급된다. 256인 범위는 특별한데, 왜냐하면 256이 8비트로 나타낼 수 있는 최대값이기 때문이다. 만약에 범위가 256이라면, 최소 화소 값은 제로로 디폴팅(default)되는데, 왜냐하면 모든 8비트의 양의 값이 0에서부터 256 사이에 나타나기 때문이다. 이 값을 나타내기 위하여 파라미터 필드에 어떤 비트도 필요 없거나 사용되지 않아서, 양자화된 데이터를 저장하는데 3비트 이상을 할당해주게 된다.
사전에 결정된 범위 16도 또한 특별한 경우인데, 왜냐하면 16이 수학식 2로 정의되는 바와 같이 관련되는 최소값 세트의 값들간의 선형 간격보다 작기 때문이다. 만약 8개의 사전에 결정된 최소값들로 이루어진 세트가 범위를 위하여 사용되었다면, 각 최소값 간의 일정한 간격은 대략 34가 된다. 34라는 값은 범위인 16의 두배가 넘는 값이다. 16이라는 사전에 결정된 범위에 대한 사전에 결정된 최소 화소 값을 선택하고, 그 사전에 결정된 범위를 그 선택된 최소 화소 값에 가산하는 것도 가능하고 또 실제 최소값을 갖지 않는 것조차 가능하다. 예를 들어, 만약에 사전에 결정된 범위가 16으로 선택되고 실제 블록 최소 화소 값이 90이라면, 수학식 3은 선택된 최소 화소 값을 68로서 생성한다. 반면에 실제 화소 값이 90에서 102까지에 있다면, 시스템은 재구성할 때에 화소의 값을 68에서 84사이로 생성한다. 이 예에서 발생되는 오차는 디스플레이된 이미지에서 확연한 일그러짐(distortion)이 생기게 하기 쉽다. 이러한 것은 양자화된 화소 블록을 재구성할 때에 발생하는데, 왜냐하면 역양자화기(26)의 예측 네트워크가 모든 재구성된 화소 블록 값을 위하여 일정한 오프셋으로서 최소 화소 값을 이용하기 때문이다. 더욱이, 양자화기(20)는 실제 값들이 표시되지 않을 것을 인식하여, 모든 실제 값을 표시하는 그 다음으로 큰 범위를 선택한다. 따라서, 16인 사전에 결정된 범위가 선택될 때에 실제 8 비트 최소 화소 값은 파라미터 필드에 저장된다.
16은 사전에 결정된 범위 세트 중 가장 작은 범위인데, 왜냐하면 이 실시예에서는 메모리 공간이 50%나 감축되기 때문이다. 이러한 감축은 8 비트 워드가 평균 4 비트 정도로 표시되게 한다. 범위가 16일 때에, 0에서부터 15까지의 값들만이 표시될 필요가 있으며, 4 비트면 손실없는(lossless) 양자화가 이루어진다. 따라서 범위가 16보다 작은 경우에 부가적으로 더 혜택이 되는 것이 없다. 예를 들어 구름이 없는 하늘과 같이 움직임이 없는 균일한 이미지(flat image)에 있어서, 작은 양자화 에러는 재구성되었을 때에 확연한 아티팩트를 만든다. 그러나, 균일한 이미지는 16인 범위에서 가장 정확하게 나타날 수 있는 것인데, 왜냐하면 색상이나 움직임의 변화가 거의 없거나 없기 때문이다.
임의의 메모리 감축 비율에 맞추기 위하여, 특정 시스템에 대해 최소 사전에 결정된 범위 값 중 어느 것을 선택하느냐에 대한 그러한 분석이 사용된다. 예를 들어 메모리의 25% 감축은 평균적으로 각각의 양자화된 화소를 위하여 6 비트가 필요하게 된다. 그것에 관련되는 최소 사전에 결정된 범위는 따라서 64가 된다.
원래의 화소 블록 데이터를 재구성하기 위하여, 역양자화기(26)는 상기 화소 블록을 양자화할 때에 사용된 양자화 테이블을 만들기 위하여 양자화기(20)가 사용한 범위를 알아야 한다. 사전에 결정된 범위 및 사전에 결정된 최소 화소 값들에 대한 인코딩된 표시값들은 양자화된 데이터 페이로드(35)(도 3)와 관련되는 파라미터 필드(33)의 형태로 메모리(14)에 저장된다. 파라미터 필드에 포함된 다른 화소 블록 파라미터들은 예를 들자면 최대 화소 블록 값이나 기준 화소 블록 값 같은 것이다. 또한 도 3은 압축된 데이터 페이로드(35) 앞에 놓이는 헤더로서 파라미터 필드(33)의 한가지 가능한 구조를 도시한다.
수학식 1과 수학식 3은 수학식 4를 만족시키지 않는 블록 파라미터들을 선택할 수 있는데, 이는 그 선택된 사전에 결정된 최소값이 실제 최소값보다 적기 때문이다. 예를 들어, 만약에 주어진 화소 블록 내에서 최소 화소 값이 100이고 최대 화소 값이 140이라면 선택된 사전에 결정된 범위는 64이다. 수학식 2로부터 얻어지는 선택된 사전에 결정된 최소 화소 값은 82이다. 그 선택된 최소값을 선택된 범위에 더하여 얻은 결과치는 146이며, 이 값은 실제 최대 화소 값보다 크다. 따라서 화소 블록의 모든 값들은 선택된 사전에 결정된 값으로 표시될 것이다. 그러나, 만약에 최대 화소 블록 값이 그 대신에 160이라면, 그 선택된 사전에 결정된 값은 동일하게 유지되지만 화소 블록의 영역을 완전하게 표시하지는 못한다. 이러한 경우에, 양자화기(20)는 이러한 문제를 검출하고 96이라는 그 다음으로 더 높은 사전에 결정된 범위와 91이라는 사전에 결정된 최소값을 선택한다. 그 91과 사전에 결정된 범위인 96의 합계치는 187이며, 이것은 160이라는 실제 최대 화소 블록 값보다 크다. 따라서, 이 범위로부터 선택된 양자화 및 역양자화 테이블은 이 블록의 모든 화소에 대한 레벨을 제공하게 된다.
도 4는 선택된 범위가 사전에 결정된 최소값과 관련된 모든 화소 값들을 병합하고 있다는 것을 보장하는 인덱스 선택 과정을 도시한 순서도이다. 이 처리과정은 위에서 설명한 바와 같이 16과 256의 사전에 결정된 범위에 대해서는 사용되지 않는다. 단계(74)에서, 입력 화소 값(XMIN, XMAX)에 대한 실제 범위가 계산되어 지고, 그 다음에 사전에 결정된 범위가 위의 수학식 1에 의하여 기술되는 실제 범위를 수용하기 위하여 선택된다. 단계(76)에서, 사전에 결정된 최소 블록 화소 값(QMIN)은 수학식 2에 의하여 선택된다. 범위 및 최소 블록 화소값에 대하여 선택된 두 개의 사전에 결정된 값들은 단계(78)에서 도시한 바와 같이 함께 가산되고, 실제 최대 블록 화소 값과 비교된다. 만약에 단계(78)의 합계치가 실제 최대 블록 화소 값보다 크다면, 선택된 사전에 결정된 값들은 처리되는 화소 블록에 실제 화소 값들을 포함하게 되고, 처리 과정은 종료된다. 만약에 단계(78)에서 계산된 합계치가 실제 최대 화소 블록 값보다 적거나 동일하다면, 그러면 사전에 결정된 범위 및 최소 블록 화소 값은 버려지고 그 다음으로 큰 사전에 결정된 범위값이 선택된다. 그 새로운 사전에 결정된 범위와 관련된 새로운 사전에 결정된 최소 블록 화소 값이 결정된다. 일단 적절한 사전에 결정된 범위 및 최소 화소 값이 선택되면, 그것들에 해당하는 인덱스값들은 파라미터 필드(33)(도 3)에 저장되고, 양자화 테이블은 사전에 결정된 범위 값을 사용하여 선택된다.
도 5는 역양자화기(26) 내에 구비되어 있는 최소-최대-범위 디코더(MMRD)(38)와, 역양자화기 프로세서(36)와, 및 디멀티플렉서(34)의 배치를 도시한다. 디멀티플렉서(34)는 메모리(14)로부터 양자화된 데이터 및 파라미터 필드를 포함하는 패킷을 수신하고, MMRD(38)에 이 파라미터 필드를 송신한다. MMRD(38)는 최대 블록 화소 값을 계산하기 위하여 그 범위에 양자화된 최소 블록 화소 값을 더하고, 그 다음에 역양자화기 프로세서(36)에 양자화된 데이터와 함께 모든 블록 파라미터들을 송신한다. 역양자화기 프로세서(36)는 또한 예측기(24)(도 1)로부터 예측 데이터를 수신한다. 역양자화기 프로세서(36)는 입력단(10)에 맞게끔 원래 화소 당 비트 크기를 매칭시키기 위하여 화소 블록을 재구성하여, 그 재구성된 데이터를 출력 네트워크(도 7)로 출력한다.
도 1을 다시 참조하면, 메모리(14)는 양자화된 화소 블록 및 파라미터 필드가 화소 재구성 및 디스플레이를 위하여 더 이상 필요하지 않을 때까지 그것들을 저장한다. 데이터가 메모리(14)에 있는 시간 동안에, 양자화된 화소 블록 및 파라미터 필드는 공통 데이터 버스를 사용하여 마이크로프로세서의 제어 하에, 압축해제기(16)를 통하여 그 다음에 있는 디스플레이 프로세서에 의하여 액세스되어 디코딩된다. 압축기(12) 및 압축해제기(16)는 공통 집적 회로에 있으며, 집적 회로를 간단하게 하기 위하여 설계 및 구조가 유사하게 되어 있다. 바람직하게 메모리(14)는 집적 회로 외부에 있어서, 특정 시스템의 신호 처리 요구사항을 관철하기 위하여 필요한 크기의 메모리(14)가 선택되게 한다. 이러한 것은 제조비용 절감을 초래하게 되는데, 예를 들어 MPEG 디코더에 대하여 더 적은 프레임 메모리를 요구하는 감소된 해상도 디스플레이를 사용하는 비용 절감된 가전 텔레비전 수신기의 경우와 같은 것이다. 또한 저장 영역도 절감되는데, 이 절약된 저장 영역은 전형적으로 다른 시스템의 구성들에 의하여 사용되어 시스템의 전반적인 성능을 향상시키게 된다.
도 6은 본 발명을 포함하는 데이터 양자화/역양자화 네트워크의 순서도를 예시한다. 단계(80)에서, MPEG 호환 수신기는 화소 블록을 네트워크에 공급한다. 화소 블록은 압축 해제되며, 예를 들어 8 비트의 크로미넌스 또는 루미넌스 데이터가 된다. 단계(82)에서, 네트워크는 데이터를 평가하며, 또한 블록 내의 범위와 최소(MIN) 화소 값을 결정한다. 일단 실제 범위가 결정되면, 네트워크는 단계(84)에서 실제 범위와 사전에 결정된 범위 세트 간에 최적 분석을 수행한다. 실제 범위보다 크거나 동일한 세트에서 가장 작은 사전에 결정된 범위는 나머지 처리를 위하여 실제 범위 대신으로 사용된다. 사전에 결정된 최소값 세트는 선택된 사전에 결정된 범위를 위하여 존재한다. 최적 분석은 또한 블록의 실제 최소 화소 값과 그 셋트간에 수행되어 대표값을 선택하게 된다. 단계(86)로 말미암아 모든 실제 블록 화소 값들이 사전에 결정된 범위 중에서 선택된 범위와 최소 화소 값이 한정하는 영역(domain)내에 포함되는 것이 보장된다. 상기 영역의 상한치(upper limit)는 사전에 결정된 범위와 최소 화소 값을 더한 값이다. 만약에 그 덧셈을 한 결과치가 실제 최대 화소 값보다 크지 않다면, 처리과정은 단계(84)로 복귀하고 사전에 결정된 범위 중에서 그 다음으로 큰 것이 선택되어 사전에 결정된 최소값이 새롭게 결정되는 것이다. 단계(88)는 그 선택된 사전에 결정된 범위와 최소 화소 값을 인코딩하여 3 비트의 이진수 인덱스 표시값으로 만든다. 인덱스된 표시값은 양자화된 화소 블록과 함께 단계(90)에서 메모리에 저장된다. 그 다음에 네트워크의 양자화 처리부는 그 다음의 압축해제된 화소 블록을 회수하여, 단계(80)에서 개시하여 동일한 방식으로 처리한다.
출력 네트워크가 데이터를 요구할 때에, 3 비트 인덱스 표시값은 단계(92)에서 메모리로부터 양자화된 화소 블록과 함께 회수된다. 네트워크는 단계(94)에서 그 선택된 사전에 결정된 범위 및 최소 화소 값에 대한 3 비트 인덱스 표시값을 디코딩한다. 네트워크는 그 다음에 이들 값을 사용하여 단계(96)에서 양자화된 화소 블록의 재구성을 용이하게 한다. 재구성된 데이터는 단계(98)에서 출력 네트워크로 송신된다. 네트워크의 역양자화 처리부는 단계(92)에서 다시 개시하여 인덱스된 표시값을 디코딩하고 동일한 방식으로 그 다음의 화소 블록을 재구성한다.
도 7은 이전에 설명한 바와 같이 본 발명에 따른 장치를 포함하는, 텔레비전 수신기에 있는 실제 디지털 신호 처리 시스템의 부분을 예시하고 있다. 도 7의 디지털 텔레비전 수신기 시스템은 도면이 너무 상세하게 되어 부담이 될 정도로 되지 않게 단순화되었다. 도시되지 않은 것은 예를 들자면 다양한 구성요소들과 연관된 FIFO 입력 및 출력 버퍼들과, 판독/기록 제어부와, 클록 생성기 네트워크, 및 확장 데이터 출력 타입(extended data out type)(EDO)이나, 동기식 DRAM(SDRAM)이나, 램버스식 DRAM(RDRAM)이나, 또는 다른 형태의 RAM과 같은 것일 수 있는 외부 메모리에 인터페이스 처리를 해주는 제어 신호이다.
도 1과 도 7에 공통되는 구성요소들에는 동일한 식별부호가 주어져 있다. 유니트(70)를 제외하고 신호 처리기(72)의 구성요소들은 SGS-톰슨 마이크로 일렉트로닉스사로부터 구매가능한 STi 3500A MPEG-2/CCIR 600 비디오 디코더 집적 회로에서 발견되는 구성요소들에 해당한다.
간단히 말해서, 도 7의 시스템은 마이크로프로세서(40)와, 버스 인터페이스 유니트(42)와, 및 내부 제어 버스(46)에 접속되는 제어기(44)를 포함한다. 본 예에서, 마이크로프로세서(40)는 MPEG 디코더(72)를 포함하는 집적 회로의 외부에 위치한다. 192 비트 폭의 내부 메모리 버스(48)는 압축기(12)와, 서로 유사한 압축해제기들(16, 50)과, 및 외부 프레임 메모리(14)와의 데이터 통신을 위한 도관(conduit)이다. 유니트들(12, 16, 및 50)은 인에이블 제어 신호와 함께 제어기(44)를 통하여 마이크로프로세서j(40)로부터 압축 및 압축해제 비율 제어 신호를 수신한다. 또 포함되어 있는 것은 리퀘스트 신호 입력을 수신하여 메모리 주소 출력과 판독 인에이블 및 기록 인에이블 출력 뿐만 아니라 수신확인 신호(acknowledgement) 출력을 공급하는 로컬 메모리 제어 유니트(52)이다. 메모리 제어 유니트(52)는 메모리(14)를 제어하기 위하여 실시간 주소 및 제어 신호들을 생성한다. 메모리 제어 유니트(52)는 또한 로컬 클록 생성기(미도시됨)로부터 입력 클록 신호(Clock In)에 대한 응답으로 출력 클록 신호(Clock Out)를 공급한다. 마이크로프로세서(40)는 메모리(14)를 비트 버퍼와, MPEG 디코딩을 위한 비디오 프레임 저장 섹션 및 프레임 저장 버퍼와, 및 디스플레이 처리 및 온-스크린 디스플레이 맵들로 구획을 나눈다(partition).
디스플레이 프로세서(54)는 이미지 재생 디스플레이 장치(56)에 의한 디스플레이를 위하여 압축해제된 이미지 포맷을 사전에 결정된 공통 포맷으로 전환하기 위하여 필요한 수평 및 수직 리샘플링 필터들을 포함하고 있다. 예를 들어, 이 시스템은 525 라인 비월주사나 1125 라인 비월주사 또는 720 라인 순차주사와 같은 포맷에 해당하는 이미지 시퀀스를 수신하여 디코딩한다. 텔레비전 수신기는 모든 수신기의 포맷에 대하여 공통되는 디스플레이 포맷을 사용할 것이다.
외부 인터페이스 네트워크(58)는 MPEG 디코더가 처리하기 위한 입력 압축 비디오 데이터 뿐만 아니라 MPEG 디코더와 외부 마이크로프로세서(40)간의 제어 및 구성 정보를 전달한다. MPEG 디코더 시스템은 마이크로프로세서(40)를 위한 코프로세서-프로세서와 유사하다. 예를 들어, 마이크로프로세서(40)는 디코딩될 각 프레임을 위하여 MPEG 디코더에게 디코딩 명령을 발송한다. 디코더는 관련 헤더 정보를 찾아내고, 그 정보를 나중에 마이크로프로세서(40)가 판독한다. 이 정보를 이용하여 마이크로프로세서(40)는 예를 들어 프레임 형태와 양자화 매트릭스 등에 관한 디코더를 구성하기 위한 데이터를 발송하고, 그 일이 있은 다음에 디코더는 적절한 디코딩 명령을 발송한다. 위에서 언급한 SGS-톰슨 STi 3500A 집적 회로 장치에 대한 기술 스펙 자료에 MPEG 디코더 동작 방법에 대한 부가적인 정보가 제공되어 있다.
마이크로프로세서(40)는 수신기 제조업자에 의하여 프로그램된 모드 제어 데이터를 멀티플렉서(32)(도 2)와 디멀티플렉서(34)(도 5)의 동작을 제어하고 또한 필요한 대로 유니트(12, 16, 및 50)의 압축율/압축해제율을 설정하기 위해 메모리 제어기(52)에 전송한다. 개시된 시스템은 예를 들어 지상 방송 시스템과 케이블 시스템과 위성 통신 시스템과 연관될 수 있는 다양한 디지털 데이터 처리 방식이 쓰이는 정황에서 MPEG 스펙의 모든 프로파일 및 레벨과 사용될 수 있다.
도 7은 또한 고선명도 비디오 입력 신호를 처리하는 텔레비전 수신기에서 발견될 수 있는 디지털 비디오 신호 처리기(72) 부분을 묘사하고 있다. 신호 처리기(72)는 아날로그 채널(미도시됨)을 통하여 표준 선명도 비디오 신호들을 수신하여 처리하는 부분을 포함하고 있는 집적 회로에 포함되어 있다. 신호 처리기(72)는 프레임 메모리(14)를 포함하는, 블록(60, 62, 64, 66, 68 및 70)들로 구성된 종래의 MPEG 디코더를 포함한다. 예를 들어 위에서 언급한 앙(Ang) 등이 쓴 논문 "비디오 압축이 큰 이득을 얻는다"는 MPEG 인코더 및 디코더의 동작을 설명한다.
신호 처리기(72)는 입력 신호 복조 이후에 데이터 패킷들을 분리하는 트랜스포트 디코더와 같은 전치 입력 프로세서(미도시됨)로부터 MPEG 코딩 데이터의 제어된 데이터스트림을 수신한다. 본 예에서, 수신된 입력 데이터스트림은 미국 고선명 지상 텔레비전 방송 시스템을 위한 GA 스펙에 규정된 고선명 이미지 요소(1920x1088 화소)를 나타낸다. 입력 데이터스트림은 MPEG 압축 표준을 이용하여 압축된 이미지 시퀀스를 나타내는 계층화된 데이터스트림(layered data stream)의 형태로 되어 있다. 주기적으로 이들 이미지들은 압축되고 인트라프레임(intraframe) 및 인터프레임(interframe) 정보로서 코딩된다. 인트라 정보는 I-프레임 앵커 프레임들(anchor frame)을 포함한다. 인터프레임 정보는 인접한 화상 프레임들간의 이미지 차이를 나타내는 예측 움직임 코딩 레지듀얼 정보(predictive motion coded residual information)를 포함한다. 인터프레임 움직임 코딩은 처리 중인 현재 블록과 재구성 이미지 전의 블록 간의 오프셋을 나타내는 움직임 벡터를 생성하는 단계를 포함한다. 현재 블록과 이전 블록이 가장 잘 매칭되는 것을 나타내는 움직임 벡터가 코딩되어 전송된다. 또한 각각의 움직임 보상된 8x8 블록과 이전 재구성된 블록 간의 차이(레지듀얼)는 전송되기 전에 이산코사인변환(DCT)되고, 양자화되고, 가변 길이 코딩(VLC)된다. 위에서 언급한 앙 등이 쓴 논문을 포함한 많은 출판물이 움직임 보상 코딩 방법에 대하여 아주 상세하게 설명하고 있다.
버퍼(60)는 가변 길이 디코더(VLD)(62)에 의하여 가변 길이 디코딩되기 전에 압축된 화소 데이터 블록 입력을 수신한다. 버퍼(60)는 메인 레벨 메인 프로파일의 MPEG 데이터스트림의 경우에 1.75 Mbit의 저장 용량을 갖는다. 역양자화기(64) 및 역 이산코사인변환기(IDCT)(66)는 VLD(62)의 디코딩된 압축 데이터를 압축해제한다. IDCT(66)의 출력 데이터는 가산기(68)의 한 입력단에 접속되어 있다.
버퍼(60)의 신호는 매끄러운 데이터 흐름(smooth data flow)을 보장하기 위하여 역양자화기(64)의 양자화 간격 크기를 제어한다. VLD(62)는 이하에서 설명되는 바와 같이 디코딩된 움직임 벡터들을 움직임 보상 유니트(70)로 공급한다. VLD(62)는 또한 알려진 인터/인트라 프레임 모드 선택 제어 신호(간단하게 하기 위하여 도시되어 있지 않음)를 생성한다. 유니트(62, 64, 및 66)가 수행하는 동작은 전송기측에 위치한 인코더의 해당 동작과 역으로 동작한다.
유니트(66)로부터의 레지듀얼 이미지 데이터를 유니트(70) 출력단에서 공급된 예측 이미지 데이터에 가산함으로써, 가산기(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도와 및 제 5도는 유니트(12)와 유니트(16)와 및 유니트(50) 내를 세부적으로 표시한다.
상술한 바와 같이, 본 발명은 압축된 비디오 데이터와 관련된 오버헤드 데이터를 효율적으로 전송하는 시스템에 이용된다.

Claims (14)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 이미지 프레임을 구성하며 화소 블록 한계(limit) 값의 포함 범위(range) 내에 있는 화소 데이터 값(value)을 포함하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법에 있어서,
    압축 해제된 화소 블록을 생성하기 위하여 상기 압축된 화소 블록을 압축해제하는 단계와;
    상기 압축해제된 화소 블록의 블록 파라미터를 식별하기 위하여 압축해제된 화소 블록을 주사하는 단계와;
    상기 블록 파라미터에 대해 사전에 결정된 값의 세트 중에서 한 개의 값을 선택하는 단계와;
    상기 선택된 값의 함수로서 화소 블록 한계 값을 인코딩하는 단계와;
    상기 압축해제된 화소 블록을 재압축하는 단계와; 및
    비디오 프레임 메모리에 상기 재압축된 데이터 블록 및 상기 인코딩된 선택된 값을 저장하는 단계
    를 포함하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법.
  9. 제 8항에 있어서, 상기 블록 파라미터는 개별 화소 블록 내에 있는 화소 값의 범위이며, 상기 선택하는 단계는 상기 화소 값의 범위를 나타내도록 양자화된 범위를 나타내는 값을 상기 선택된 값으로 선택하는 단계를 포함하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법.
  10. 제 8항에 있어서, 상기 인코딩된 선택된 값을 반복적으로 유도하기 위해 상기 선택하는 단계와 상기 인코딩하는 단계를 반복하는 단계를 포함하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법.
  11. 제 8항에 있어서, 상기 인코딩하는 단계는, 상기 인코딩된 선택된 값을 유도하기 위해 상기 화소 블록 한계 값을 나타내는 값을 양자화하는 단계를 포함하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법.
  12. 제 8항에 있어서, 상기 인코딩하는 단계는, 상수값에서 상기 화소 블록 한계 값을 뺌셈하여 유도된 양자화된 한계값을 선택하는 것에 의해 상기 선택된 값의 함수로서 화소 블록 한계 값을 인코딩하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법.
  13. 제 8항에 있어서, 상기 인코딩하는 단계는, K1, K2는 상수인, ((K1--양자화된 범위 값)/K2)의 함수로서 유도된 양자화된 값의 세트로부터 선택된 양자화된 한계 값으로서 화소 블록 한계 값을 인코딩하는, MPEG 압축된 이미지를 나타내는 화소 블록을 처리하는 방법.
  14. 삭제
KR1019997004577A 1996-12-10 1997-11-25 메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법 KR100549208B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3299796P 1996-12-10 1996-12-10
US08/908,116 1997-08-12
US8/908,116 1997-08-12
US08/908,116 US6167086A (en) 1996-12-10 1997-08-12 Overhead data processor in a memory efficient image processing system
US60/032,997 1997-08-12

Publications (2)

Publication Number Publication Date
KR20000057224A KR20000057224A (ko) 2000-09-15
KR100549208B1 true KR100549208B1 (ko) 2006-02-02

Family

ID=26709158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997004577A KR100549208B1 (ko) 1996-12-10 1997-11-25 메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법

Country Status (7)

Country Link
US (1) US6167086A (ko)
EP (1) EP0956704B1 (ko)
JP (1) JP4201839B2 (ko)
KR (1) KR100549208B1 (ko)
CN (1) CN1172534C (ko)
DE (1) DE69707312T2 (ko)
WO (1) WO1998026605A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873368B1 (en) * 1997-12-23 2005-03-29 Thomson Licensing Sa. Low noise encoding and decoding method
US6618508B1 (en) * 1999-07-09 2003-09-09 Ati International Srl Motion compensation device
EP1298937A1 (en) * 2001-09-26 2003-04-02 Chih-Ta Star Sung Video encoding or decoding using recompression of reference frames
US7120195B2 (en) * 2002-10-28 2006-10-10 Hewlett-Packard Development Company, L.P. System and method for estimating motion between images
US7978921B1 (en) * 2007-08-06 2011-07-12 Nvidia Corporation Low dynamic range 3-channel color decompression
US8401071B2 (en) 2007-12-19 2013-03-19 Sony Corporation Virtually lossless video data compression
US8194736B2 (en) * 2008-04-15 2012-06-05 Sony Corporation Video data compression with integrated lossy and lossless compression
CN101588498B (zh) * 2009-06-23 2011-05-25 硅谷数模半导体(北京)有限公司 视频图像数据压缩、解压缩方法及装置
TWI405468B (zh) * 2010-06-25 2013-08-11 Altek Corp Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters
US8238680B2 (en) * 2010-06-25 2012-08-07 Altek Corporation Image compression method with variable quantization parameters and variable coding parameters

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0474063A (ja) * 1990-07-13 1992-03-09 Matsushita Electric Ind Co Ltd 画像の符号化方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4903124A (en) * 1988-03-17 1990-02-20 Canon Kabushiki Kaisha Image information signal transmission apparatus
DE69033946T2 (de) * 1989-12-25 2002-11-21 Mitsubishi Electric Corp Kodierungsgerät
JPH06502285A (ja) * 1990-11-16 1994-03-10 シーメンス アクチエンゲゼルシャフト ディジタル画像伝送におけるデータ圧縮のための適応形量子化方法
JPH04185172A (ja) * 1990-11-20 1992-07-02 Matsushita Electric Ind Co Ltd ディジタル画像信号の高能率符号化装置
US5521713A (en) * 1991-08-29 1996-05-28 Sony Corporation Apparatus and method for data compression and expansion using hybrid equal length coding and unequal length coding
US5822462A (en) * 1991-09-11 1998-10-13 Canon Kabushiki Kaisha Image processing apparatus
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
JP3106749B2 (ja) * 1992-12-10 2000-11-06 ソニー株式会社 適応型ダイナミックレンジ符号化装置
JP3170929B2 (ja) * 1993-01-14 2001-05-28 ソニー株式会社 ディジタル信号の量子化器
JP3085024B2 (ja) * 1993-06-01 2000-09-04 松下電器産業株式会社 画像再圧縮器及び画像記録装置
JP3227931B2 (ja) * 1993-09-10 2001-11-12 ソニー株式会社 符号化装置および復号化装置
JP3385696B2 (ja) * 1993-12-03 2003-03-10 ソニー株式会社 ディジタル画像信号の量子化器
CA2118880A1 (en) * 1994-03-11 1995-09-12 Kannan Ramchandran Jpeg/mpeg decoder-compatible optimized thresholding for image and video signal compression
EP0687111B1 (de) * 1994-06-06 2003-08-06 sci worx GmbH Verfahren zur Codierung/Decodierung eines Datenstroms
JPH08256341A (ja) * 1995-03-17 1996-10-01 Sony Corp 画像信号符号化方法、画像信号符号化装置、画像信号記録媒体、及び画像信号復号化装置
US5703652A (en) * 1995-07-28 1997-12-30 Sony Corporation Information signal encoding system and method for adaptively encoding an information signal
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
US5731837A (en) * 1996-01-25 1998-03-24 Thomson Multimedia, S.A. Quantization circuitry as for video signal compression systems
JPH11510989A (ja) * 1996-06-05 1999-09-21 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 符号化ディジタルビデオ信号を復号化する方法および装置
US5825424A (en) * 1996-06-19 1998-10-20 Thomson Consumer Electronics, Inc. MPEG system which decompresses and recompresses image data before storing image data in a memory and in accordance with a resolution of a display device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0474063A (ja) * 1990-07-13 1992-03-09 Matsushita Electric Ind Co Ltd 画像の符号化方法

Also Published As

Publication number Publication date
DE69707312D1 (de) 2001-11-15
EP0956704A1 (en) 1999-11-17
JP4201839B2 (ja) 2008-12-24
US6167086A (en) 2000-12-26
KR20000057224A (ko) 2000-09-15
DE69707312T2 (de) 2002-07-11
CN1172534C (zh) 2004-10-20
EP0956704B1 (en) 2001-10-10
CN1240091A (zh) 1999-12-29
WO1998026605A1 (en) 1998-06-18
JP2001506085A (ja) 2001-05-08

Similar Documents

Publication Publication Date Title
JP4216341B2 (ja) イメージ処理システムにおけるピクセルブロック圧縮装置
KR100484333B1 (ko) 영상신호프로세서를위한메모리관리
EP0945026B1 (en) Image element processor for a memory management system using recompression
KR100598467B1 (ko) 영상정보처리시스템
US20010021222A1 (en) Quantization matrix for still and moving picture coding
US6256348B1 (en) Reduced memory MPEG video decoder circuits and methods
KR19990036188A (ko) 부호화된 디지탈 비디오 신호의 복호화 방법 및 장치
KR100531259B1 (ko) 영상 처리 시스템에서 메모리 효율적인 압축 방법 및 장치
EP0782341A2 (en) Image data compression system
KR100549208B1 (ko) 메모리 효율적인 이미지 처리 시스템에서의 오버헤드 데이터 프로세서 및 처리 방법
EP2196031B1 (en) Method for alternating entropy coding
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
KR100277953B1 (ko) 디지털 티브이 수신 장치
JPH07107464A (ja) 画像符号化装置および復号化装置
MXPA99005602A (en) Pixel block compression apparatus in an image processing system
KR19980030711A (ko) 영상복호화기의 데이터 디포맷팅 회로

Legal Events

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

Payment date: 20121220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150106

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 12

EXPY Expiration of term