KR100563488B1 - Mpeg 호환 가능한 신호 처리 네트워크, mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 mpeg 호환 가능한 디코딩 방법 - Google Patents

Mpeg 호환 가능한 신호 처리 네트워크, mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 mpeg 호환 가능한 디코딩 방법 Download PDF

Info

Publication number
KR100563488B1
KR100563488B1 KR1019997004917A KR19997004917A KR100563488B1 KR 100563488 B1 KR100563488 B1 KR 100563488B1 KR 1019997004917 A KR1019997004917 A KR 1019997004917A KR 19997004917 A KR19997004917 A KR 19997004917A KR 100563488 B1 KR100563488 B1 KR 100563488B1
Authority
KR
South Korea
Prior art keywords
data
pixel
mpeg
memory
processing
Prior art date
Application number
KR1019997004917A
Other languages
English (en)
Other versions
KR20000057376A (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 KR20000057376A publication Critical patent/KR20000057376A/ko
Application granted granted Critical
Publication of KR100563488B1 publication Critical patent/KR100563488B1/ko

Links

Images

Classifications

    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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
    • 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/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/43Hardware specially adapted for motion estimation or compensation
    • 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/436Methods 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 using parallelised computational 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/439Methods 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 using cascaded computational arrangements for performing a single operation, e.g. filtering
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/46Receiver circuitry for the reception of television signals according to analogue transmission standards for receiving on more than one standard at will
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • H04N11/044Codec means involving transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets

Landscapes

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

Abstract

고해상도 텔레비젼 수신기에 있는 MPEG 디코더(14, 18, 22)는 압축 해제된 이미지 화소 블록들을 생성시키기 위하여 MPEG 코딩된 데이터를 디코딩하고 압축 해제하며, 디스플레이를 위해 최종적으로 디코딩된 화소 데이터를 생성시키기 위하여 프레임 메모리(60)에 연결된 움직임 보상 네트워크(90...)를 포함한다. 압축 해제된 MPEG 데이터는 프레임 메모리에 저장되기 이전에 복수의 병렬 재압축기(40, 42)에 의하여 재압축된다. 각 재압축기는 인터리브 된 화소 데이터(24, 27)(도 5)의 데이터스트림을 수신하고, 각 클록 사이클 동안에 인터리브 된 화소값들(a, c)을 예측하고 압축한다(도 20 및 도 27). 재압축기 중 하나(42)는 화소 데이터가 재압축 하기 이전에 서브 샘플링 될 때(36, 38), 감소된 데이터 처리 모드에서 비활성화된다(de-energized). 서브 샘플링된 데이터는 재압축하기 이전에 재 정렬(43)된다. 프레임 메모리에 연결된 다중의 병렬 압축 해제기(80, 82, 84)는 화소 데이터를 움직임 처리 네트워크에 제공한다. 제어 유닛(356, 360, 364)(도 23)은 소스 데이터가 인터럽트될 때, 맨 마지막 유효 데이터를 반복함으로써 압축 해제기에 인터럽트되지 않은 인터리브 된 데이터 흐름을 보장한다.

Description

MPEG 호환 가능한 신호 처리 네트워크, MPEG 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 MPEG 호환 가능한 디코딩 방법{AN MPEG COMPATIBLE SIGNAL PROCESSING NETWORK, A METHOD OF PROCESSING A DATASTREAM OF MPEG CODED IMAGE REPRESENTATIVE DATA AND AN MPEG COMPATIBLE DECODING METHOD}
본 발명은 디지털 이미지를 나타내는 정보를 처리하는 것에 관한 것이다.
디지털 기술의 급속한 진보는 고해상도 텔레비젼(HDTV: High Definition Television)과 같은 여러 분야에서 디지털 이미지 신호 처리에서의 대응하는 진보를 생성시켜왔다. MPEG-2 비디오 처리에 대한 동화상 전문가 그룹(MPEG: Motion Picture Experts Group) 신호의 압축 표준(ISO/IEC 국제 표준 13818-2, 1995년 1월 20일)이 연관되어 진전되었다. 이 널리 수용되는 이미지 처리 표준은 HDTV 시스템을 포함하는 위성, 케이블 및 지상 방송 시스템에 사용하기에 아주 적합한 것으로 알려져 왔다.
미국에서 최근에 대동맹(grand alliance) HDTV 시스템으로서 채택된 디지털 HDTV의 지상 방송 시스템은 MPEG-2 압축 표준을 사용하여 데이터를 압축한 고해상도(HD: High Definition) 프로그램 자료의 디지털 방송의 표준을 정의하고 있다. 이 대동맹 HDTV 시스템의 기술(記述)은 예를 들어 1994년에 방송관계자들의 국내 연합 회보록(Proceedings of the National Association of Broadcasters), 즉 1994년 3월 20-24일에 있었던, 48차 연례 방송 기술 회의 회보록(48th Annual Broadcast Engineering Conference Proceedings)에서 찾을 수 있다. HD 방송 표준은 이미지 해상도를 수평 라인당 1920 화소, 수직으로 1080 라인까지 제공한다. MPEG-2 표준은 텔레비젼 수신기에서와 같은 디스플레이 장치에 의하여 재생을 위한 HD 이미지를 압축 해제하는데 요구되는 절차를 정의한다. 지상 방송 표준에서 정의된 바와 같은 HD 이미지를 적절히 디코딩하기 위해서 MPEG 디코더에 의해서 요구되는 메모리는 약 80 메가 비트(Mb: Mega bits)의 메모리이다. 약 96 메가 비트의 메모리가 소비자 수신기에서 요구될 것이다.
텔레비젼 신호 수신기에서 발견될 수 있는 바와 같은 MPEG 비디오 신호 디코더에서는, 하나 이상의 메모리 이미지 프레임이 알려진 바와 같이 I, P 및 B 이미지 프레임을 나타내는, MPEG 코딩된 디지털 데이터스트림을 디코딩 하는데에 전형적으로 요구된다. 이 3개의 메모리 프레임이 일반적으로 MPEG 데이터스트림을 디코딩하는데 요구된다. 2개의 메모리 프레임은 레퍼런스 I 또는 P 프레임 데이터를 저장하는데에 요구되고 추가적인 메모리 프레임은 B 프레임 데이터를 저장하기 위해 사용된다.
MPEG 디코더는 알려진 바와 같이, 최종적으로 디코딩된 화소 샘플(samples)들을 생성시키기 위하여 움직임 보상(motion compensation) 기능과 연관된 DPCM 루프를 포함한다. 동시 계류 중인 미국 특허 출원 번호 제08/579,192호에 개시된 바와 같이, DPCM 루프는 데이터 압축 네트워크를 통합함으로써 수정되는 것이 유리하다. 이 압축 네트워크는 프레임 메모리에 전송되기 이전에 압축 해제된 MPEG 데이터를 재압축하는데, 이것에 의해서 MPEG 디코더의 메모리 요구조건을 감축시킨다. 이 DPCM 루프는, 압축되어지는 화소값이 처리되는 화소의 바로 왼쪽, 바로 윗쪽, 및 대각선으로 좌상(左上) 영역에 있는 화소들을 평가하는 예측기 회로의 결과값에 의존하도록 배열된다. 이 예측기의 동작은 실시간이고, 계산적으로 집약적인 직렬 동작(intensive serial operation)이다. 이 예측기 동작은, 하나 이상의 화소값이 포함되고, 또한 양호한 압축은 화소값으로 "추측(guess)" 값을 요구하는 것이 아니라 정확한 예측(accurate prediction)값을 요구하기 때문에, 중요하다.
본 발명의 원리를 따라, 다수의 병렬 압축 해제기는 메모리로부터의 이미지 데이터를 MPEG 호환 가능한 디코더 내의 움직임 보상 네트워크에 제공한다.
도 1은 본 발명의 원리에 따라 배열된 MPEG 디코더와 이와 관련된 디지털 신호 처리 네트워크를 사용하는 텔레비젼 신호 수신기의 부분 블록도.
도 2 내지 도 17은 도 1에서 도시된 압축/압축 해제 및 관련 네트워크의 동작을 이해하는데에 도움을 주는 화소 블록 처리 포맷도.
도 18은 화소의 서브 샘플링(subsampling)과 고율 샘플링(upsampling)도.
도 19는 도 18에서 도시된 방법을 수행하기 위한 장치의 블록도.
도 20은 도 1의 압축 네트워크의 상세도.
도 21은 도 1의 압축 해제 네트워크의 상세도.
도 22는 도 20에서 도시된 네트워크의 동작 특성을 이해하는데에 도움을 주 는 화소의 배열도.
도 23 내지 도 26은 도 1의 시스템에 대한 데이터 흐름 제어 동작도.
도 27은 도 20에 도시된 네트워크의 동작 동안에 화소 상관 관계를 도시하는 테이블.
도 28은 도 23에서 도시된 네트워크의 또다른 배열도.
본 발명의 개시된 실시예에서, 텔레비젼 수신기에 있는 MPEG 디코더는, 디코더와 디스플레이되는 이미지 정보가 유도되는 디코더 프레임 메모리 사이의 재압축을 포함하는, 데이터 감축을 사용한다. 이 시스템은, 3개의 화소값이 소정의 4번째 화소의 값을 예측하기 위하여 이용가능하게 되어야 하는, 예측기 프로세서 타이밍 요구 조건을 고려하는 파이프라인 처리를 사용한다. 그러나, 파이프라인 처리는 처리를 느리게 한다(대역폭을 감소시킨다). 이 문제는 MPEG 압축 해제기로부터 공급되는 독립적인 8 x 8 화소 블록으로부터의 화소 데이터를 인터리빙 함으로써 해결된다. 인터리빙 방법은 화소 데이터로 하여금 또다른 클록으로 처리되게 해주기 때문에 처리 속도를 증가시키는데, 그 결과 압축 화소 값이 항상 생성되어진다. 재압축 기능은 감소된 수의 압축 동작을 사용하고, 집적 회로 면적을 보존하기 위하여 공유된 기능을 가지는 인터리브 된 동작을 나타낸다.
도 1은 입력 고해상도 비디오 신호를 처리하기 위한 텔레비젼 수신기에서 발견될 수 있는 것과 같은 디지털 비디오 신호 프로세서의 일부를 도시한다. 비디오 프로세서는 종래의 MPEG 디코더에 존재하는 기능들을 포함한다. MPEG 인코더와 디코더는, 예를 들어 앙(Ang) 등의 "비디오 압축은 큰 이득을 생성한다"(1991년 10월 IEEE 스펙트럼) 내에 기술되어 있다. 이러한 기능들은 전형적으로 입력 버퍼링, 가변 길이 디코딩, 역양자화, 및 최종적으로 디코딩된 출력 샘플들을 생성시키는 관련된 움직임 보상의 처리를 하기 이전에 역 DCT 변환을 포함한다. 이러한 기능과 연관된 비디오 신호 처리 기능들에 관한 추가적인 정보가 바이스(Weiss)의 개선된 텔레비젼 기술에서의 문제들(미국, 보스톤, 포컬 출판사(Focal Press))에서 발견된다.
도 1의 시스템은, 입력 신호 복조 이후에 데이터 패킷을 분리시키는 전송 디코더를 포함하는 유닛(10)에 의하여 나타낸 소스로부터 MPEG 코딩된 압축 데이터의 제어된 데이터스트림을 수신한다. 이 예에서, 수신된 입력 데이터스트림은, 미국 고해상도 지상 텔레비젼 방송 시스템을 위한 대동맹의 규정에 구체화되어 있는 것과 같이, 고해상도 이미지 자료(수평 라인당 1920화소 × 1088 개의 수직 라인)를 나타내고 있다. 1920 × 1088의 고해상도 정보의 데이터 속도는 94,003,200 bytes/sec 인데, 이것은 다음식으로 결정된다:
(1920H × 1088V × 30F × (8+4)YC)/B
여기서, H 는 수평 화소들, V 는 수직 라인들, F 는 초당 프레임들, YC 는 (휘도 + 크로미넌스(chrominance))의 비트들, 및 B는 바이트당 8비트를 나타낸다. 사실상, 압축된 MPEG 데이터스트림은, 내부 메모리 버스(55)와 유닛(128) 내에 포함된 압축 데이터 인터페이스를 통하여 제공되는데, 이 유닛(128)은 마이크로프로세서(120)의 제어를 받아 제어 버스(114)로부터 데이터를 수신한다. 마이크로프로세서(120)는 압축 데이터 입력을 통하여 MPEG 데이터스트림을 수신한다.
소스(10)로부터 오는 입력 데이터스트림은 8 x 8 화소들을 나타내는 데이터 블록의 형태로 있다. 이 데이터는 압축되고 코딩된 프레임내(intraframe)와 프레임간(interframe)의 정보를 나타낸다. 이 프레임내의 정보는 I 프레임 앵커 프레임들 (I-frame anchor frames)을 포함한다. 이 프레임간의 정보는, 인접하는 화상 프레임들 사이의 이미지 차이를 나타내는 예상 움직임이 코딩된 잔여 이미지(residual image) 정보를 포함한다. 프레임간의 움직임을 코딩하는 것은, 처리되는 현재의 블록과 이전에 재구성된 이미지의 블록 사이의 오프셋을 나타내는, 움직임 벡터를 생성하는 것을 포함한다. 현재의 블록과 이전의 블록 사이의 최적의 일치(best match)를 나타내는 움직임 벡터는 코딩되고 전송된다. 또한 각 움직임이 보상된 8 x 8 블록과 이전에 재구성된 블록 사이의 (잔여) 차이값은 DCT 변환이 되고 양자화되며 전송되기 이전에 가변 길이 코딩이 된다. 이 움직이 보상된 코딩을 하는 방법은, 전술한 바이스(Weiss) 원문과 앙(Ang) 등의 논문을 포함하여 여러 출판물에서 상세히 기술되어 있다.
MPEG 디코더는 외부 프레임 메모리의 양을 상당히 감축시키게 하는 감소된 메모리 요구 조건을 나타낸다. 차후에 설명되어질 바와 같이, 이것은 메모리에 저장되는 압축 해제된 비디오 프레임들을 재압축시키고, 디코더의 동작 모드에 따라 디코더 루프 내의 화소 데이터를 선택적으로 수평으로 필터링하고 데시메이팅 (decimating)(즉, 서브 샘플링(subsampling) 또는 저율 샘플링(downsampling))함으로써 달성된다. 예를 들어, 한 모드에서, 이 시스템은 앵커 프레임 압축을 제공한다. 다른 모드에서, 이 시스템은 저역 통과 필터링과 저율 샘플링에 의하여 수평으로 상세한 감축을 한 후 압축을 제공한다.
입력 압축된 화소 데이터 블록은, 공지된 바와 같은 움직임 벡터(MV : Motion Vector)를 또한 생성시키는, 유닛(14)에 의하여 가변 길이 디코딩이 되기 이전에 유닛(12)에 의하여 버퍼링된다. 버퍼(12)는, 메인 레벨, 메인 윤곽의 MPEG 데이터스트림의 경우에 1.75 메가 비트의 저장 용량을 나타낸다. 디코딩된 압축 데이터 블록은, 출력 데이터스트림(P1 및 P2)을 생성시키는 다중화기(MUX)(15)를 통하여 유닛(14)으로부터 출력된다. 출력(P1 및 P2)은 이후 명세서에 파이프 1(P1)와 파이프 2(P2)라고 불리는 이중 데이터 파이프라인(dual pipeline)들을 나타낸다. 파이프(P1)는 소정의 매크로 블록(macroblock)의 8 x 8 화소 블록("A")에 대한 DCT 계수의 그룹을 포함하고, 그뒤에 그 매크로 블록에 대한 8 x 8 화소 블록("C")에 대한 DCT 계수의 그룹을 포함한다. 이 DCT 계수들은, 공지된 바와 같이, 대각선 포맷이거나 "지그 재그" 주사 포맷으로 배열된다. 파이프 1는 대응하는 매크로 블록들의 시퀀스(sequence)를 위해 그러한 A, C 블록들의 시퀀스를 전송한다. 마찬가지로 파이프 2는 소정의 매크로 블록과 이것으로 정렬된 매크로 블록에 대한 DCT 계수("B" 및 "D")의 그룹을 포함한다. 그런 화소 블록들과 파이프라인으로 된 시퀀스의 매크로 블록들에 대한 화소 데이터의 배열은 도 2 내지 도 17에 도시되어 있고 도 2 내지 도 17과 연결하여 설명될 것이다.
화소 블록 데이터는, 역양자화기(18, 20), 역이산 코사인 변환(DCT) 유닛 (22,21), 출력 선입선출 버퍼(output FIFO buffers)(26, 28), 블록 재정렬(re-ordering) 유닛(23, 25), 블록 인터리빙 유닛(24, 27), 및 가산기(30, 32)를 병렬 데이터 처리 경로들 내에 각각 포함하는 각 파이프들에 의하여 전송된다. 압축 해제와 변환 디코딩은 가산기(30 및 32) 각각의 한 입력에 적용되기에 앞서 각 파이프라인 내에 있는 역양자화 유닛들과 역 DCT 유닛에 의하여 각각 수행된다.
재정렬 유닛(23, 25)은, 각 8 x 8 블록을 위한 수평적인 라인 별(line-by-line)로 화소를 주사하는 순서를 생성시키기 위하여, 유닛(21 및 22)으로부터 역으로 DCT 변환된 화소 데이터의 지그 재그 주사 패턴을 제거한다. 이리하여 예를 들어 파이프 1에서, 유닛(23)의 출력은, (블록(A)에 대해) a1 a2 a3...a63 a64, (블록(C)에 대해) c1 c2 c3...c63 c64, 등의 형태로 화소 값들을 나타낸다. 인터리빙 유닛(24)은, a1 c1 a2 c2 a3 c3...a64 c64 의 형태로 된 파이프(1) 출력 데이터를 생성시키기 위하여 다중화 기술을 사용한다. 인터리버(interleaver)(27)는 블록(B, D)에 대해서도 유사한 시퀀스를 생성시킨다.
역양자화기(18 및 20)의 양자화 간격의 크기는 평활한 데이터 흐름을 확보하기 위하여 버퍼(12)로부터 오는 퀀트 제어 신호(Quant Control signal)에 의하여 제어된다. 디코딩된 움직임 벡터(MV)는 이후에 기술되어질 바와 같이, 디코더(14)로부터 움직임 보상 유닛(90)으로 제공된다. 디코더(14)는 또한 도면을 간단히 하기 위하여 도시되지 않은, 알려진 바와 같은, 프레임간/프레임내 모드 선택 제어 신호를 생성시킨다. 유닛(14, 18/20, 21/22 및 23/25)에 의하여 수행되는 동작들은 송신기에서 MPEG 인코더에 의하여 수행된 해당 동작의 반대이다. 도 1의 MPEG 디코더는 이후에 간략히 기술되는 MPEG 처리 기술을 사용하여 수신된 이미지를 재구성(reconstitute)한다.
재구성된 화소 블록들은, 비디오 프레임 메모리(60)의 내용에 기초한 움직임 보상 유닛(90)의 출력들에 제공되는 예측된 이미지 데이터와, 유닛(26 및 28)으로부터 나온 잔여 이미지 데이터를 가산함으로써, 가산기(30 및 32)의 출력들에 각각 제공된다. 재구성된 이미지를 나타내는 화소 블록들의 전체 프레임은 프레임 메모리(60)에 저장된다. 프레임간 모드에서, 디코더(14)로부터 얻어진 움직임 벡터(MV)는 유닛(90)으로부터 나온 예측된 블록들의 위치를 제공하는데 사용된다. 움직임 보상 방법은, 최종적으로 디코딩된 샘플들을 복구하기 위하여 (IDCT 유닛(21 및 22)의 출력들로부터 나온) 계수 데이터와 결합되는, 앞서 디코딩된 화상들로부터 예측값들을 형성시킨다. 움직임 보상 유닛(90)은 예를 들어, MPEG 규격에 및 이미 기술된 바이스와 앙의 참조문헌에서 논의된 바와 같이, 알려진 MPEG과 호환 가능한 기술에 따라 동작한다. 유닛(90)의 A, C 및 B, D 의 출력들은 논의되어질 바와 같이, 압축 해제된 인터리브 된 화소 블록 데이터(A, C)와 인터리브 된 화소 블록 데이터(B, D)를 나타낸다.
가산기(30, 32), 외부 디코더 프레임 메모리(60) 및 움직임 보상 유닛(90)을 포함하는 이미지 재구성 방법은, 블록을 기초로 한 병렬 데이터 압축기(40 및 42)와 수평 상세 사항을 감소시키는 수평 화소 데시메이션(decimation)(서브 샘플링) 유닛(36 및 38)의 사용으로 인하여 상당히 감축된 프레임 메모리 요구 조건을 유리하게도 나타낸다. 프레임 메모리(60)의 크기는, 재압축 유닛(40, 42)에 의하여 달성된 데이터 감축과 유닛(36, 38)에 의한 데시메이션의 함수에 따라 25%, 50% 또는 그 이상으로 감축될 수 있다. 데시메이션 유닛(36 및 38)으로부터 나오는 출력 데이터는 논의되어질 바와 같이, 수평 데시메이션이 사용될 때 감축된 데이터 동작 모드에서 압축기(40)에 전송되기에 앞서 블록 재정렬 유닛(43)에 의하여 처리된다. 재정렬 동작의 효과는 도 12 및 도 14 및 관련 도면들과 연결하여 살펴볼 수 있다. 모드 제어 신호(Mode Control signal)와 모드 스위치(45)는, 논의 되어질 바와 같이, 수평 데시메이션 유닛(36 및 38)이 활성화(activated)될 때, 감축된 데이터 동작 모드에서 압축기 동작을 변경(modify)한다. 압축기(42)는 감축된 데이터 모드에서는 디스에이블 된다(즉, 비활성화된다). 다른 시간 대에, 예컨대 고해상도 입력 신호를 처리할 때, 두 압축기(40 및 42)가 작동(active)한다.
압축 해제 유닛(80 내지 84)은 유닛(40 및 42)에 의하여 수행되는 압축의 반대 기능을 수행한다. 유닛(88)은 유닛(36 및 38)에 의하여 수행되는 데시메이션의 반대 기능을 수행한다. 이 동작들의 추가적인 세부 사항은 차후에 설명될 것이다. 포맷 지정 유닛(86)은, 유닛(90)에 의한 움직임 보상 예측기 처리를 위하여 요구되는 압축 해제된 화소들을 포함하는 라인들이 포착(acquired)되기 까지, 원치않게 압축 해제된 라인들의 화소들을 버린다. 이 선택 방법은 불필요한 데이터가 축적되는 것을 방지하고, 또한 각 화소를 위한 메모리에서의 유니크한 맵핑(unique mapping)을 제공하지 않는 (개시된 시스템과 같은) 압축 시스템에서 사용하는 것이 유리하다. 이러한 점에서, 화소 값은 예를 들어 3, 4 또는 5 비트로 압축되거나 양자화되기도 하고, 또한 압축 해제 후에까지 화소의 값이 알려지지 않게 된다는 것도 주의를 요한다.
MPEG 디코딩된 입력 고해상도 데이터스트림을 처리하는 것은 재압축을 하기에 앞서 입력 데이터스트림을 인터리빙 하고, 또한 인터리브 된 데이터의 압축 네트워크를 사용하여 인터리브 된 데이터를 처리함으로써 유리하게 달성된다. 이 데이터 재압축 네트워크는 인터리브 된 데이터스트림에 작용을 하는, 같은 종류의 압축기(40 및 42)를 포함한다. 이 압축기들은 유닛(44)에 포함된 어떤 논리 회로들과 룩업 테이블(look-up tables)을 공유하며, 클록 생성기(50)에 의하여 생성된 국부적으로 생성된 54MHz(2 ×27MHz) 클록 신호(CLK)에 반응하여 동작한다. 이 CLK 신호는 또한 수평 고율 샘플링(upsampling) 네트워크(88)에 인가된다. 또한 생성기(50)에 의하여 생성된 81MHz(3×27MHz) 클록 신호는 압축 해제기(62, 80, 82 및 84)에 인가되고, 디스플레이 프로세서(70)에 인가된다.
시스템 동작의 상세한 설명을 하기에 앞서, 도 2 내지 도 17에서 도시된 바와 같은 인터리브 된 화소 데이터 처리의 특성을 이해하는 것이 도움을 줄 것이다. 도 2는 휘도(luminance)(Y)와 크로미넌스(chrominance)(U, V) 화소 블록 성분을 포함하는 알려진 MPEG 매크로블록 구성을 도시한다. 각 매크로블록의 휘도 성분은 4개의 8 x 8 화소 휘도 블록(Ya, Yb, Yc, 및 Yd)에 의하여 구성된다. 크로미넌스 성분은, 도시된 바와 같이, 4 x 4 화소 " U" 블록들(Ua 내지 Ud)과, 4 x 4 화소 "V" 블록들(Va 내지 Vd)을 포함한다. 인터리버(24 및 27)(도 1)는, 휘도와 크로미넌스 블록들이 A, C 및 B, D 파이프라인 처리를 위하여 어떻게 배열되어 있는지를 도시하는, 도 3에서 도시된 바와 같이 또한 앞서 논의된 바와 같이, 이 화소 블록들을 데이터 파이프들(P1 및 P2) 내에서 각각 인터리브 시킨다. 인터리빙 하기에 앞서 파이프라인을 하는 방법은, "U" 크로미넌스 성분을 구성하는, 4 x 4 화소 블록들에 대하여 도 4에서 더 상세히 기술된다. 도 4는 유닛(23 및 25)이 데이터 파이프(1) 내에 크로미넌스 화소 블록들(Ua 및 Uc)을 위치시키며, 파이프(2) 내에 화소 블록들(Ub 및 Ud)을 위치시키게 하는 방법의 결과를 도시한다. 이 다이아그램에서, A1은 블록(A)의 8비트의 제 1 화소값을 나타내고, A2는 블록(A)의 제 2 화소값(8비트)을 나타내고, B1 은 블록(B)의 제 1 화소값(8비트)을 나타내고, 이렇게 하여 최종값(A16 및 B16)을 거쳐 블록(D)까지 이와 같이 나타낸다. 휘도 화소 데이터에 대해서도 유사하게 준수된다.
도 5 내지 도 7은, 수평 데시메이션이 도 1의 유닛(36 및 38)에 의하여 수행되지 않는 경우를 가상하는 화소 데이터 배열을 도시한다. 그런 동작 모드에서, 유닛(36 및 38)은 소정의 시스템 구성에 대하여 원하는 데이터 감축(데시메이션 더하기 압축)의 양에 따라 우회(bypass)된다. 인에이블 된 수평 데시메이션을 갖는 화소 데이터 처리는 도 11 내지 도 17에서 도시된다.
도 5는 유닛(36)에 의한 데시메이션 없이 버퍼(26)와 가산기(30)로부터 압축기(40)까지 인터리버(24)의 출력으로부터 전송된 파이프 1 내에 인터리브 된 화소 데이터의 A, C 시퀀스를 도시한다. 마찬가지로, 파이프 2의 화소 데이터는 B1, D1, B2, D2,... 등의 시퀀스로 인터리버(27)와 가산기(32)에서부터 압축기(42)로 전송된다. 매크로 블록을 A, B, C, 및 D 데이터 그룹에 의하여 나타내진 섹션으로 분할 하는 것은 중요하지 않다. 예를 들어, 다른 시스템에서, 파이프 P1은 A, B 데이터 또는 A, D 데이터를 전송할 것이다. 마찬가지로, 파이프 2는 B, D가 아닌 다른 데이터 조합을 전송할 수 있다. 예시된 실시예에서, 파이프 1에 의하여 전송된 A, C 데이터는 MPEG 규격에 따른 "짝수(even)" 데이터 블록들에 해당하고, 또한 파이프 2의 B, D 데이터는 MPEG 규격에서의 "홀수(odd)" 데이터 블록들에 해당한다.
도 6은 허프만 코딩(Huffman coding)을 한 후에 제 1 파이프 내에서 제 1 압축기(40)로부터 출력된 압축 화소 데이터를 도시한다. 도 6에서 각 "x" 데이터스트림은 클록 처리를 간단히 하기 위하여 생성되는 "무시할 수 있는(don't care)" 상태를 나타내는데, 이것에 의해서 각 클록 사이클에 대해 8비트 데이터를 포함하는(encompassing) (덜 바람직한 종료/시작 클록보다는 오히려) 연속 클록이 사용된다. 기록 인에이블 신호(Write Enable signal)(도시되지 않음)는, 유효 압축 데이터만이 존재할 때에 메모리에 기입되는 것을 보장해준다. 입력에 각 16개의 8비트(크로마) 화소(8바이트)에 대해, 16 바이트의 압축 데이터가 출력에 생성된다. 파이프(2)의 블록(B, D)에 대해 제 2 압축기(42)로부터 출력된 유사한 화소 데이터는 도시되어 있지 않다. 압축기(40 및 42)에 사용하기에 적합한 압축 회로의 상세한 사항은 도 20과 관련하여 도시되고 논의될 것이다.
유닛(40 및 42)에 의하여 압축이 된 후, 화소 데이터는 128비트 폭(즉, 각 라인이 한 비트를 전송하는 128 병렬 데이터 라인)의 내부 메모리 버스(55)(도 1)와 64비트 폭의 외부 메모리 버스(57)를 통하여 외부 디코더 프레임 메모리(60)로 전송된다. 메모리(60)는 역인터리브 된 형태(de-interleaved form)로 화소 블록 데이터를 저장한다. 역인터리빙(de-interleaving)은, 국부 마이크로프로세서(120)의 제어에 따라, 압축기(40 및 42)와 관련된 출력 회로 또는 메모리(60)로 가기에 앞서 있는 회로들에 의하여 수행될 수 있다. 이들 회로들은 역인터리빙 기능을 수행하기 위하여 공지된 신호 처리 기술를 사용하고 도면을 간단히 하기 위하여 도시되지는 않았다. 도 7은 역인터리빙 후 메모리(60)로 전송된 압축 화소 데이터의 형태를 도시한다. 각 압축 화소는 3 내지 6비트의 데이터에 의하여 나타내진다. 압축 A 데이터의 블록에서, "a1'"은 이 지점에서 화소(a1)를 나타내는 것이 아니고 오히려 압축 화소들과 오버헤드 데이터의 조합에 의하여 구성된 8비트를 나타낸다. 화소의 데이터 길이는 데이터 자체와 화소의 위치에 의하여 결정된다. 이 크로마(chroma) 블록에서 데이터를 압축하는데 사용되는 비트의 수는 64비트이다. 원래의 크로마 데이터는 128비트(8×16비트)에 의하여 구성되었다. 유사한 관측값이 "B" 내지 "D" 데이터에도 적용된다.
도 1을 다시 참조하면, 메모리(60)에 저장된 압축 화소 데이터는, 디스플레이 압축 해제기(62), FIFO 디스플레이 버퍼(64), 다중화기(68), 및 디스플레이 프로세서(70)를 포함하는 디스플레이 처리 네트워크에 의하여 디스플레이를 위하여 처리된다. 디스플레이 버퍼(64)는 한 쌍의 8라인 버퍼들 사이에서 분할된, 16개의 이미지 라인을 유지한다. 디스플레이 처리를 위한 압축 해제 데이터는, 다른 라인 버퍼가 유닛(62)으로부터 압축 해제된 데이터로 채워지고 있는 동안, 다중화기(68)를 통하여 라인 버퍼 중 하나로부터 판독된다. 버퍼(64)는 메모리 유닛(60) 내에 위치될 수 있다. 디스플레이 프로세서(70)는 예를 들어 NTSC 코딩 네트워크, 디스플레이를 위한 화소들의 상태를 조절하기 위한 회로들, 및 이미지 재생 장치(72), 예컨대 고해상도 키네스코프(kinescope) 또는 다른 적절한 디스플레이 수단에 비디오 신호들을 제공하기 위한 디스플레이 드라이버 네트워크를 포함할 수 있다.
유닛(62)에 의하여 압축 해제 하기에 앞서, 화소 데이터는 도 8에 도시된 바와 같은 "ab" 블록 시퀀스를 나타내기 위하여 다시 인터리브 된다(re-interleaved). 이 인터리빙은 메모리(60)의 판독출력 작업에 적절히 주소 지정함으로써, 또는 디스플레이 압축 해제기(62)와 관련된 입력 논리 회로에 의하여 수행될 수 있다. 마찬가지로, 화소(c 및 d)는 압축 해제에 앞서 "cd" 데이터 시퀀스(도시되지 않음)를 생성시키기 위하여 다시 인터리브 된다. 디스플레이를 위한 재인터리빙 시퀀스, 즉 ab 및 cd는 원래의 입력 인터리빙 시퀀스(ac 및 bd)와는 다르다. 원래의 인터리빙으로 먼저 억세스되는 화소 데이터(a 및 b)와 데이터(a 및 b)는 병렬로 처리된다. 재인터리빙되는 디스플레이 시퀀스는 동일한 이미지 프레임으로부터의 데이터를 필요로 하는 디스플레이를 하기 위한 목적으로 적절하다(화소들(a, b 및 c, d)은 동일한 이미지 프레임 내에 있다). "ab" 시퀀스를 위한 인터리브되고 압축 해제된 화소 데이터의 시퀀스는 도 9에 도시된다. "cd" 시퀀스(C1, D1, C2, D2, C3, D3....)를 위한 인터리브되고 압축 해제된 화소 데이터의 유사한 시퀀스(도시되지 않음)가 또한 생성된다. 유닛(64, 68, 및 70)에 의하여 처리되어진 후, 소정의 블록 화소들은 도 10에서 도시된 바와 같이 디스플레이 포맷으로 재배열된다. 이것은 4:2:2 형태가 아니라 4:2:0형태의 간략화된 예이다.
다시 도 1을 참조하면, MPEG 디코더 루프는 또한 유닛(86 및 88)에 의하여 각각 수행되는 데이터 포맷팅과 수평 고율 샘플링(up-sampling)과 관련하여 복수의 압축 해제기(80, 82 및 84)에 의하여 수행되는 압축 해제 기능을 포함한다. 도 8 및 도 9와 관련이 있는 위의 언급은 또한 이 제어 루프 압축 해제 기능에 적용하는데, 여기서 압축 해제에 앞서 화소 데이터는 도 8에 도시된 바와 같이 "ab"( 및 "cd") 데이터 시퀀스를 나타내기 위하여 압축 해제기와 관련된 회로에 의하여 인터리브된다.
도 11 내지 도 17은, 도 1의 유닛(36 및 38)에 의한 수평 데시메이션 (decimation)(즉, 서브 샘플링 또는 저율 샘플링)이 인에이블 되는 경우를 가상하는 화소 데이터 시퀀스의 배열을 도시한다. 유닛(36 및 38)에 의한 수평 데시메이션의 형태로 된 데이터의 감소가 인에이블 될 때, 압축기(42)는 디스에이블 되고, 압축기(40)만이 감소된 데이터의 양으로 인하여 데이터를 압축하는데에 사용된다. 네트워크(44)는 유닛(40 및 42)에 의하여 사용되는 논리 회로와 룩업 테이블(Look-Up Tables)을 포함한다. 이 회로들과 테이블들은, 다른 압축기가 데이터 처리 요구량이 더 적은 상태이어서 감소된 데이터 동작 모드에서 동작하지 않고 (deactivated) 있을 때, 압축기 중 하나만에 의하여 사용된다. 두 압축기(40 및 42)가 작동하고 있을 때의 고해상도 모드에서, 이 회로들과 테이블을 공유하는 것은 인터리브된 데이터 파이프라인 하는 방법에 의하여 용이하게 된다. 구체적으로 유닛(44)은 2개의 룩업 테이블(LUT : Look-Up Table), 즉 압축기(40)에 의하여 사용되는 테이블과 압축기(42)에 의하여 사용되는 테이블을 포함한다. 압축기(40)를 위한 LUT 는, 인터리브 된 A 및 C 데이터가 논의되어질 바와 같은 또다른 클록에 대한 것과 같은, 다른 시간에 압축되기 때문에 이들 인터리브된 A 및 C 데이터를 압축하기 위하여 공유된다. 압축기(42)를 위한 LUT 는 데이터(B 및 D)의 압축 동안에 마찬가지로 공유된다.
도 11은 도 1에서 데이메이션 필터(36)의 입력에 데이터 파이프(1)로부터 인가되는 화소 데이터의 시퀀스를 도시한다. 필터(36)에 의한 데시메이션은 도 12의 화소 데이터 시퀀스를 생성시키는데, 이 시퀀스는 재정렬(reordering) 네트워크 (43)의 입력에 인가된다. 도 12에서, "x" 라고 붙은 구성 요소들은 "무시할 수 있는" 또는 무효 데이터(null data)를 나타낸다. 수평 화소 데이터가 2의 인자만큼 서브 샘플링되는 H/2모드에서, 필터(36)는 2개의 인접한 화소들의 평균을 내는데, 그 결과
a1* = (A1 + A2)/2,
c1* = (C1 + C2)/2,
a2* = (A3 + A4)/2,
등등이 된다. 이 방법은 논의되어질 바와 같이 도 18에서 도시된다. 다른 서브 샘플링 인자들을 사용하는 데시메이션도 또한 사용될 수 있다. 도 13 및 도 14도 마찬가지로 도 1에서 데이터 파이프(2)로부터 데시메이션 필터(38)로 인가되는 화소 데이터의 시퀀스를 도시한다.
도 15는 도 1에서 유닛(43)에 의하여 데시메이션과 재정렬 후에 화소 데이터의 시퀀스를 도시한다. 구체적으로, 화소 데이터는 메모리(60)에 압축하고 저장하기 위하여 적절한 순서로 그 데이터를 위치시키기 위하여 유닛(43)에 의하여 재조정(re-aligned)되어진다. 도 15에서, 화소 데이터(a1* 내지 c4*)는 데시메이션 후에 하나의 이미지 프레임(2×4 매트릭스)을 나타내고, 화소 데이터(b1* 내지 d4*)는 데시메이션 후에 제 2의 이미지 프레임(2×4 매트릭스)을 나타내는데, 이렇게 계속된다.
도 1에서, 유닛(43)으로부터 오는 모든 재조정된 화소 데이터는 모드 스위치(45)를 경유하여 압축기(40)에 인가되는데, 이것은 하나의 압축기만이 데시메이션 후에 생성되는 감축된 데이터 양을 압축하는데에 필요하기 때문이다. 데시메이션 방법에서 데이터를 평균내는 것은 2 개의 화소들로부터 하나의 화소를 생성시키는데, 그 결과 데이터 처리 대역폭에 대하여 더 적은 데이터와 더 적은 이에 대응하는 감소된 요구량을 야기한다. 결과적으로 하나의 압축기만으로 충분하고, 압축기(42)는 작동하지 않게 된다. 이 압축기들은 논의되어질 바와 같이 모드 제어 신호(Mode Control signal)에 반응하여 데시메이션이 없거나 있는 경우에 요구되는 바에 따라 인에이블 되거나 디스에이블 된다.
재정렬 네트워크(43)에서 일어나는 재정렬은 선입 선출 버퍼에서 일어날 수 있는 것과 같은 간단한 절차가 아니다. 수평 데시메이션, 재정렬 및 재압축을 포함하는 움직임 보상 루프 처리의 복잡성을 최소화시키기 위하여, 이 데이터는 유닛(36 및 38)에 의하여 수평으로 데시메이팅 되어지지 않는 데이터와 실질적으로 동일한 포맷으로 압축기(40)에 공급된다. 재압축기(40)와는 분리된 재정렬 네트워크(43)를 제공하는 것은 회로를 간단하게 만드는데, 그 이유는 재압축기(40)가 유닛(36 및 38)으로부터 재정렬을 필요로 하는 데이터와 가산기(30 및 32)로부터 재정렬을 필요로 하지 않는 데이터 사이를 구별해야만 할 필요가 없기 때문이다.
도 15A 는 도 11 내지 도 15의 편집도(compilation)이고, 또한 화소 타이밍에 대하여 수평 데시메이션과 재정렬을 통과하는 데이터 흐름을 도시한다. 데이터스트림(도 15A에서 15-1 및 15-2)은 각각 가산기(30, 32)에서 출력되어 데시메이터 네트워크(36, 38) 내로 입력되는 데이터를 각각 나타난다. 데이터스트림(15-3 및 15-4)은 데시메이터 네트워크(36, 38)에서 출력되어 재정렬 네트워크(43)로 입력되는 데이터를 각각 나타낸다. 앞서 논의된 바와 같이, 화소들은 데이터스트림(15-1 내지 15-4) 내에 도시된 바와 같이 인터리브된다. 데이터스트림(15-1 및 15-3)은 파이프라인 P1으로부터 나오는 데이터를 나타내고, 데이터스트림(15-2 및 15-4)은 파이프라인 P2로부터 나오는 데이터를 나타낸다. 데이터스트림(15-5)은 재정렬 네트워크(43)에서 출력되어 스위치(45)를 경유하여 재압축기(40)에 입력되는 데이터를 나타낸다. 데이터 화소들이 시스템을 통과함에 따라, 데이터 화소들의 타이밍을 예시하기 위해 제공되는 화소 클록(CLK)이 도 15A 의 바닥에 도시된다. 예시적인 도면과 같이, 선택된 데이터 화소들은 재정렬 방법을 통하여 따라가질 것이다. 이 방법은 두 파이프라인으로부터 나오는 데이터에 대하여 동일하다. 데이터스트림 (15-1 및 15-2)의 화소들은 크로미넌스 화소 매크로블록을 나타낸다. 이 방법은 휘도 화소 매크로블록에 대하여 동일하기는 하나, 이 렌더링(the rendering)이 4개의 4×4 화소 블록이 아니라 4개의 8×8화소 블록에 대하여 퍼져 있기 때문에, 더 복잡하다. 더 큰 매크로 블록은 이 렌더링이 4배 많은 데이터를 가지는 클록 사이클의 더 큰 수에 걸쳐 일어나게 해준다. 그러나, 이 렌더링 원리는 휘도와 크로미넌스 데이터 모두에 대하여 동일하게 남아있다.
데이터스트림(15-2)으로부터 나오는 화소(B1)는 50%까지 데시메이팅되고, 하나의 입력 데이터 화소와 동일한 크기인 출력 데이터 화소를 형성하기 위하여 화소(B2)와 결합된다. 동일한 과정이 화소들(D1 및 D2)에 대해서도 발생한다. 데시메이터 네트워크(38)는 화소들(B2 및 D2)이 처리되기 까지 화소들(B1 및 D1)로부터 나오는 데시메이팅 된 데이터를 버퍼링 한다(buffer). 이것은 첫번째 2개의 클록 사이클 동안 데시메이션 네트워크(38)로부터 나오는 출력 데이터가 무효가 되는 이유이다. 유효 데이터는 화소(b1*)로서 제 3 클록 사이클 동안 발생한다. 화소(B1)로부터 나오는 데이터는 제 3 클록 사이클의 처음 절반 동안 출력되고, 화소(B2)로부터 나오는 데이터는 제 3 클록 사이클의 두 번째 절반 동안 출력된다. 제 4 클록 사이클은 동일한 방법으로 화소(d1*)를 생성시킨다.
파이프라인(P1 및 P2)으로부터 나오는 데이터의 출력은, 데이터를 버퍼링 하고(buffers) 압축기(40) 내로 연속인 데이터 흐름을 형성하기 위하여 적절한 순서로 특정 화소들에 억세스하는, 재정렬 네트워크(43)에 전송된다. 도 15A의 데이터스트림(15-4 및 15-5)으로부터 도시되어 있는 바와 같이, 화소들(b1*, b2*, b3* 및 b4*)은 화소들(d1*, d2*, d3* 및 d4*)과 인터리브 되어야 하지만, 해당 a 및 c 화소들 후에 인터리브 되어야만 한다. 그러므로 화소들은 불균일한 출력 대기 시간 동안에 재정렬 네트워크(43) 내에 존재한다. 예를 들어, 화소(b1*)는 클록 사이클 3 동안에 재정렬 네트워크에 의하여 수신되고 클록 사이클 12 동안에 출력되는 반면, 화소(b2*)는 클록 사이클 7 동안에 재정렬 네트워크에 의하여 수신되고 클록 사이클 14 동안에 출력된다. 화소들은 마이크로프로세서(120)에 의하여 제어되는 상태 기계에 의하여 재정렬 네트워크(43)에서 지시된다.
일정한 데이터 흐름을 유지하기 위하여, 압축기(40)는 데이터스트림(15-1 및 15-2)에 도시된 바와 같이 인터리브된 포맷으로 입력 화소 데이터를 기대한다. 데시메이션 네트워크(36 및 38) 후에, 화소 서열(order)은 2개의 파이프라인(P1 및 P2)이 데이터스트림(15-5)에서 데이터의 절반을 각각 공급하기 위하여 2의 차수(order)만큼 저율 샘플링된다. 그러나, P1 및 P2로부터 저율 샘플링된 데이터는 수직으로 이미지의 인접한 블록으로부터 생긴다. 압축기(40)는 수평으로 인접한 블록으로부터 인터리브된 화소 데이터를 기대한다. 그러므로, 재정렬 네트워크(43)는 데이터스트림(15-3 및 15-4)에 도시된 서열로부터 데이터스트림(15-5)에 도시된 서열로 저율 샘플링된 데이터를 결합시킨다. 이 서열은 데시메이션 네트워크에 저율 샘플링을 받기 쉽지 않은 인터리브된 데이터와 실질적으로 동일하다. 저율 샘플링된 데이터와 저율 샘플링되지 않은 데이터로부터 나오는 화소 블록은 동일한 크기인데, 즉 그 블록들은 수평과 수직으로 동일한 수의 화소들을 가진다. 다만 그 차이는 저율 샘플링된 화소 데이터 블록들이 앞서 기술된 바와 같이, 2개의 수평으로 인접한 화소 블록들로부터 오는 화소 정보를 포함한다는 점이다. 이 차이는 연속인 데이터 흐름을 허용해주는 압축기(40)에게는 투명(transparent)하다. 이 시스템이 수평으로 인접한 화소 블록들을 저율 샘플링된 화소 블록으로 결합시키기 위하여 재정렬 하는 반면, 본 발명의 사상 또한 다른 공간적인 상관 관계를 가지는 화소 블록들을 결합하는 시스템을 포함한다.
도 15A에 도시된 바와 같이, 재정렬 네트워크(43)는 화소들이 이용 가능하기에 앞서 출력(데이터스트림 15-5)을 위하여 데시메이터 네트워크(36)(데이터스트림 15-3)로부터 나오는 화소(a2* 내지 a4* 및 a6* 내지 a8*)를 필요로 하는 것 같이 보인다. 실제적으로, 이것은 일어날 수도 없고 일어나지도 않는데, 그러나 재정렬 네트워크(43)가 수용해야만 하는 다른 타이밍과 지연을 예시하기 위하여 도시되어있다. 데이터가 재정렬 네트워크(43)에 의하여 수신되기에 앞서 출력에 요구되어지는 것을 방지 하기 위하여, 유닛(43)은 모든 데이터가 처리되어 질 때까지 충분한 데이터를 유지하고 지연시키는데, 이것에 의해서 데이터스트림(15-5)에 도시된 바와 같은 연속인 데이터 출력을 제공하게 된다. 이 지연은, 텔레비젼 수신기가 초기에 전원 공급을 받을 때, 채널이 변경될 때, 또는 데이터 동기화가 수립되는 임의의 시간에, 발생하는 것과 같이, 제 1 데이터가 파이프라인(P1 및 P2)을 경유하여 흐르고 재정렬 네트워크(43)에 도달할 때 발생한다. 초기의 지연 후에, 데이터는 클록 사이클을 잃지 않고 연속이 된다.
도 16은 압축기(40)의 출력으로부터 나오는 압축된 화소 데이터의 시퀀스(sequence)를 도시한다. 도 16에서, 압축 데이터 "m"은, 데시메이션(즉 8×8 화소 블록을 데시메이팅 한 후에 생성되는 4×8 화소 블록) 후에 화소(a 및 b)로부터 유도되는 데이터에 의하여 구성되는 압축 화소 데이터를 지시한다. 마찬가지로, 압축 데이터 "n"은, 데시메이션 후에 화소들(c 및 d)로부터 유도되는 데이터에 의하여 구성되는 압축 데이터를 지시한다. 화소 데이터(a 및 b)는 동일 이미지 필드 내에 있고, 또한 화소 데이터(c 및 d)는 동일 이미지 필드 내에 있다. 압축기(40)에 의하여 수행되는 화소 블록 압축 방법은 8×8 화소 블록에 대하여 동작하기 위하여 지정된다. 데시메이션 후, 그 결과 4×8 화소 "a" 블록과 4×8 화소 "b" 블록은, 블록 "m"을 생성시키기 위하여 압축되는 8×8 화소 블록을 생성시키기 위하여 결합된다. 데시메이팅된 4×8 블록("c" 및 "d")으로부터 압축 블록들 "n"을 형성할 때에도 유사하게 준수된다. 이 방식으로 동일한 이미지 프레임내에 있는 블록은 효율적인 MPEG 디코딩을 위하여 적절히 조정(align)된다. 도 17은 메모리(60)에 전송되고 메모리(60)에 의하여 저장되는 것으로 적절히 프레임이 시퀀스 되고 압축된 블록들의 배열을 도시한다.
데시메이션 네트워크에 의하여 생성된 수평 상세 사항의 감축은 메모리(60)에 저장되는 화소 값들의 수를 감소시킴으로써 디코더 메모리 요구 조건을 더 감소시킨다. 데시메이션 네트워크(36, 38)는 데이터를 메모리(60)에 제공하기에 앞서 2:1의 수평 데시메이션(저율 샘플링) 수평 공간의 저역 통과 필터를 사용한다. 유닛(80, 82 및 84)에 의하여 압축 해제된 후에, 메모리(60)로부터 나오는 이미지 정보의 해상도(resolution)는 화소 반복 고율 샘플링 방법을 사용하여 유닛(88)에 의하여 재구성된다. 이 고율 샘플링 방법은, 디스플레이 압축 해제기(62)와 디스플레이 프로세서(70) 사이에는 요구되지 않는데, 그 까닭은 프로세서(70)가 필요로 하는 수평 샘플 속도 변환을 제공하기 때문이다. 디스플레이 압축 해제기(62)와 프로세서(70)는 그 수신기에 의하여 제공되는 감축된 디스플레이 해상도로 인하여 감소된 비용의 수신기에서 고율 샘플링을 수행하지 않을 것으로 기대된다. 그 경우에 메모리가 감소된 디코딩된 프레임은 표준 해상도 디스플레이 보다 더 높은 해상도를 가진다. 예를 들어, 720×480 화소 디스플레이 장치 상에 1920×1088 화소 비디오 시퀀스를 디코딩하고 디스플레이 하는 것은 프레임 메모리에 저장된 이미지들이 (2의 인자 만큼 수평 데시메이션을 갖는) 960×1088의 해상도를 가지는 것을 필요로 한다. 이리하여 디스플레이 압축 해제기(62)는 이미지들을 고율 샘플링해야 할 필요가 없게 되었으나, 디스플레이 프로세서(70)는 960×1088의 해상도 이미지를 디스플레이 하기에 적절한 720×480으로 저율 샘플링 하여야 할 것이다.
도 18 및 도 19는, 도 1에서 유닛(36, 38)에 의하여 수행되는 바와 같은 화소의 서브 샘플링 방법 및 유닛(88)에 의하여 수행되는 바와 같은 화소 고율 샘플링 방법과 관련된 구성요소들의 일반적인 배열을 각각 도시한다. 유닛(36 및 38)에서 원래의 화소들은 2만큼 데시메이트되기에 앞서 짝수 차수의 저역 통과 필터(102)에 의하여 먼저 저역 통과 필터링되는데, 이것에 의하여 매 다른 화소값이 유닛(1O4)에 의하여 제거된다. 이 화소들은 메모리(60)에 저장된다. 그 후에, 메모리(60)로부터 나오는 화소 데이터는 이미 알려진 기술을 사용하여 고율 샘플링 유닛(88)의 구성 요소(106)에 의하여 반복된다.
이 예에서, 필터(102)는 8-탭 대칭인 FIR 필터(8-tap symmetrical FIR filter)이다. 이 필터는 수평 공간 영역에서 동작하고 블록 경계에 걸쳐 필터링한 다. 이 8-탭 필터는, 도 18에 도시된 바와 같은 입력에 대하여 1/2의 샘플 주기 만큼 출력 화소들의 상대적 위치를 이동시키는 효과를 가진다. 도 18에 또한 도시된 바와 같이, 화소 반복 고율 샘플링은 원 화소들에 대하여 저율 샘플링/고율 샘플링 화소들의 동일한 공간적 위치를 유지하는 효과를 가진다. 데시메이션 필터 유닛(104)는 2-탭 필터일 수 있는데, 그 결과 입력 화소(x 및 y)에 대하여 이 필터 출력은 (x+y)/2이고, 데시메이션은 매 다른 화소를 드롭핑(dropping)함으로써 달성한다. 이 필터는 블록 경계를 가로지르지 않고, 수행하기에 쉬우며, 또한 수평 데시메이션을 위해 좋은 선택이 된다.
도 1에 도시된 텔레비젼 수신기 시스템은 과도하게 상세히 도면을 그리는 부담을 주지 않기 위하여 간략하게 한 것이다. 예를 들어, 이 시스템의 여러 구성 요소와 관련된 FIFO 입출력 버퍼, 판독/기록 제어, 클록 생성기 회로, 및 확장된 데이터 출력 형태(EDO) 또는 동기 형태(SDRAM)일 수도 있는 외부 메모리에 인터페이싱 하기 위한 제어 신호는 도시되어 있지 않다. 도 1의 시스템은, 데이터를 송신하고 수신하기 위한 마이크로프로세서(120), 판독/기록 인에이블 및 주소 정보 예를 들어, 내부 제어 버스(114)에 연결되어 있는 버스 인터페이스(122)와 제어기(126)를 부가적으로 포함한다. 이 예에서, 마이크로프로세서(120)는 MPEG 디코더를 포함하는 집적 회로 외부에 위치된다.
디스플레이 프로세서(70)는 유닛(72)에 의하여 디스플레이 하기 위한 미리 결정된 포맷으로 디코딩된 이미지 포맷을 변환하기 위하여 필요로 하는 바와 같은 수평 및 수직 재샘플링 필터를 포함한다. 예를 들어, 이 시스템은 525라인 비월주사, 1125라인 비월주사, 또는 720 라인순차주사와 같은 포맷에 해당하는 이미지 시퀀스를 수신하고 디코딩할 수 있다. 프로세서(70)는 또한 클록과 이미지 디스플레이와 관련된 수평, 수직 동기 신호(H, V, sync singnal)를 생성시키고, 또한 내부 메모리 버스(55)를 경유하여 프레임 메모리(60)와 통신한다.
외부 버스 인터페이스 네트워크(122)는 MPEG 디코더에 의하여 처리하기 위한 입력 압축 비디오 데이터에 부가하여 MPEG 디코더와 외부 프로세서(120)사이에 제어 및 구성 정보(configuring information)를 전송한다. MPEG 디코더 시스템은 마이크로프로세서(120)를 위한 공동 프로세서(co-processor)와 닮았는데, 예컨대 마이크로프로세서(120)는 디코딩될 각 프레임에 대해 디코드 명령을 MPEG 디코더에 송출한다. 디코더는 관련된 헤더 정보(header information)의 위치를 찾고, 이 정보는 차례로 마이크로프로세서(120)에 의하여 판독된다. 이 정보를 가지고, 마이크로프로세서(120)는, 예를 들어 프레임 형태, 양자화 매트릭스, 등등에 대하여 디코더를 구성하기 위해 데이터를 송출하는데, 이후 이 디코더는 적절한 디코드 명령을 송출한다. 가변 길이 디코더(14)는 메모리 버스(55)를 경유하여 통신하고 인터페이싱 회로(128)는 메모리 버스(55)와 제어 버스(114) 사이에 통신을 용이하게 한다.
수신기 제조자에 의하여 프로그래밍되는 모드 제어 데이터는 유닛(40, 42, 및 80 내지 84)을 위한 압축/압축 해제 인자를 수립하고, 시스템 설계 파라미터에 의하여 요구되는 바와 같은 압축과 압축 해제 네트워크 및 고율 샘플링과 저율 샘플링 네트워크의 상태를 제어하기 위한 메모리 제어기(134)와 제어기(126)와 관련된 마이크로프로세서(120)에 의하여 전송된다. 마이크로프로세서(120)는 또한 MPEG 디코딩과 디스플레이 처리를 위해 메모리(60)를 프레임 저장 섹션, 프레임 저장 및 비트 버퍼부, 및 온스크린 디스플레이 비트 맵 섹션으로 분할한다. 국부 메모리 제어 유닛(134)은 (예컨대, 유닛(70)으로부터) 수평과 수직 동기(Horizontal and Vertical Sync)와 데이터 요청 입력(data Request input)을 수신하고, 또한 메모리 주소(memory Address), 판독 인에이블(Read Enable)(Ren), 및 기록 인에이블(Write Enable)(Wen) 출력 뿐만 아니라 인식 출력(Acknowledge outputs)을 버퍼 제어 회로를 포함하는 여러 가지 시스템 회로에 제공한다. 유닛(134)은 메모리(60)를 제어하기 위해 실시간 주소와 제어 신호를 생성시킨다. 출력 클록 신호(CLKOUT)는 유닛(50)과 같은 국부 클록 생성기에 의하여 제공될 수 있는 신호(CLKIN)에서 입력 클록에 반응하여 제공된다. 도 1의 시스템은 예를 들어 지상 방송, 케이블, 및 위성 전송 시스템과 관련될 수 있는 여러 가지 디지털 데이터 처리 방식(schemes)의 환경 내에서 MPEG 규격의 모든 윤곽과 레벨을 통해 사용될 수 있다.
이 실시예에서, 비디오 프레임 메모리(60)는 도 1에서 MPEG 디코더와 관련된 구성 요소를 포함하는 집적 회로의 외부에 위치된다. 디스플레이 프로세서(70)는 MPEG 디코더 집적 회로 상에 있는 않은 몇몇 구성 요소를 포함할 수 있다. 그런 외부 메모리 장치의 사용은, 이 수신기의 제조자로 하여금, 이 수신기가 고해상도 데이터스트림을 수신할 때, 예컨대 전체 고해상도 디스플레이 또는 감소된 해상도 디스플레이를 위한, 이 수신기의 의도된 사용과 호환 가능하도록 경제적으로 크기가 정해진 메모리 장치를 선택하게 해준다. MPEG 디코딩을 위하여 정상적으로 사용되는 큰 양의 메모리는, 이 메모리가 실제로 디코더의 집적 회로 외부에 있어야 하는 것을 요구한다. 장래의 진보된 기술은 메모리가 MPEG 디코더 구성 요소와 동일한 집적 회로 상에 위치되게 해줄 지도 모른다. 그러나, 외부 메모리 장치의 사용은 이 수신기의 디스플레이 해상도 및 다른 특성과 일치하는 메모리 크기를 선택하는 자유를 제조자에게 주게 한다.
실제로, 수신기 제조자는 확장된 특징을 가지는 비용이 드는 우수한 모델로서 수신기를 구성하는지 또는 더 적은 특징을 가지는 좀더 경제적인 모델로서 수신기를 구성하는지를 결정할 것이다. 관심 있는 특징 중 하나는 디스플레이 이미지의 해상도이다. 감소된 비용의 수신기에서, 비용을 감소시키는데 기여하는 인자는 좀더 값싼 감소된 해상도 이미지 디스플레이 장치와, MPEG 디코더와 관련된 메모리의 양을 포함한다.
이 예에서, 메모리의 요구 조건은 압축기 네트워크가 데이터를 25% 압축할 때, 64 메가 비트까지, 또한 데이터가 50% 압축될 때 훨씬 더 경계적인 48 메가 비트까지 떨어뜨린다. 25%의 압축 인자는 완전한 HD 이미지 디스플레이와 관련될 것이고 압축이 없는 완전한 MPEG 디코딩으로부터는 사실상 구별 불가능하게 될 것이다. 50%의 압축으로, 훈련된 관측자는 거의 눈에 띄는 인공물(artifacts)을 발견할 수 없게 될 수 있다. 어느 경우에서는, 디코딩된 이미지 시퀀스는 완전한 HD 해상도 이미지 디스플레이 장치에 의하여 디스플레이를 위해 완전한 1920×1088 HD 해상도를 나타낼 것이다.
완전한 HD 이미지 해상도는, 수신기 모델이 완전한 HD 해상도의 성능보다 더 못한 성능을 갖는 덜 비싼 디스플레이 장치를 사용할 때와 같은 몇몇 경우에는 필요로 하지 않는다. 이 경우에는, 완전한 HD 해상도 이미지를 디스플레이 하지 않고 HD 정보를 수신하고 디코딩하는 것이 바람직하다. 이 수신기에서, 데시메이터 네트워크(36, 38)와 압축기 네트워크(40)는 디코더 메모리 요구 조건을 상당히 감소시키는데 함께 사용될 수 있다. 예를 들어, 데시메이터 네트워크는 2의 인자만큼 수평으로 데이터를 데시메이트 할 수 있고, 또한 압축기 네트워크는 50% 만큼 데시메이트 된 데이터를 압축할 수 있다. 이것은 32 메가 비트의 상당히 감소된 디코더 메모리 요구 조건을 생성시킨다. 이 경우에, 디스플레이를 위한 이미지는, 1H 또는 2H 수신기 응용 중 하나에 충분한 960×1088의 해상도를 나타낸다. 이리하여 완전한 HD 이미지 데이터스트림을 디코딩 할 수 있는 저비용 수신기가 MPEG 디코더 메모리의 32 메가 비트만을 사용하여 재현(construct)될 수 있다. 앞서 기술한 동작은 마이크로프로세서(120)에 의하여 스위치(45)에 제공되는 모드 제어 신호에 반응하여 수행된다. MPEG 디코더가 고해상도 수신기 내에 있는지 아니면 감소된 해상도를 가지는 수신기에 있는지에 따라, 마이크로프로세서(120)는 압축의 양과 데시메이터 네트워크가 저율 샘플 데이터에 인에이블 되는지 아니면 우회 되는지를 결정하기 위해 프로그래밍된다.
도 1의 시스템은 고해상도 디스플레이 장치에 의하여 디스플레이 하기 위한 고해상도 텔레비젼 신호와 같은 큰 양의 데이터를 포함하는 신호를 처리하기 위한 제 1 데이터 처리 모드와, 감소된 양의 데이터를 처리하기 위한 제 2 모드를 제시한다. 제 2 모드는 예를 들어, 더 적은 데이터의 해상도 성능을 가지는 감소된 비용의 디스플레이 장치(즉, HDTV 디스플레이 장치가 아닌 디스플레이 장치)를 포함하는 경제적인 수신기 내에서 사용될 수 있다.
도 1의 스위치(45)의 상태는, 수신기에 의하여 디스플레이 되는 데이터의 유형, 예컨대 고해상도(제 1 모드) 또는 고해상도 보다 더 낮은 해상도(제 2 모드)를 지시하기 위하여 수신기 제조자에 의하여 프로그래밍될 수 있는 모드 제어 신호에 의하여 제어된다. 스위치(45)는, 만약 수신된 고해상도 신호가 고해상도 디스플레이 장치에 의하여 디스플레이 되어진다면 제 1 모드 동작을, 또한 고해상도 입력 신호가 고해상도 (high definition resolution) 보다 더 적은 해상도를 가지는 좀더 경제적인 디스플레이 장치에 의한 재생을 위하여 고해상도 이미지 정보 보다 더 적은 이미지 정보를 생성시키기 위해 유닛(36 및 38)에 의하여 서브 샘플링되는 경우에는 제 2 모드 동작을 생성시키기 위하여 제어될 것이다.
제 1 모드에서, 데시메이터 유닛(36 및 38)은 우회되고 압축되어지는 데이터 블록은 직접 압축기(42)로 전송되고, 스위치(45)를 경유하여 압축기(40)로 전송된다. 이 모드에서, 모드 제어 신호는 압축기(42)를 인에이블링 하기 위한 압축기(42)의 제어 입력에 인가된다. 제 2 모드에서, 모드 제어 신호의 상태는, 가산기(30)로부터 나오는 데이터가 스위치(45)를 경유하여 능동 압축기(40)에 전송되게 인에이블 하는 동안, 이 실시예에서 압축기(42)로부터 전력을 제거함으로써 압축기(42)를 디스에이블 하게 한다. 전력을 제거함으로써 압축기(42)를 디스에이블 하게 하는 것은, HDTV 정보를 처리하려는 집적 회로 장치에는 특별히 유리한데, 이는 높은 클록 주파수, 큰 표면적, 및 그 위에 집적된 많은 수의 능동 요소로 인한 그 집적 회로의 전력 (열 복사(heat dissipating))의 한계가 있기 때문이다. 게이트 된 클록 시스템에서, 전력을 제거하는 것은 압축기 클록을 종료(stop)시킴으로써 효과적으로 수행될 수 있다. 그 동작의 추가적인 이점은, 이 압축기가 8×8과 4×8과 같은 유사한 블록 처리 모드에서만 동작할 필요가 있다는 것이다. 즉, 압축기(40)는 예컨대 데시메이션 방법에 의하여 생성된 것과 같은 4×8 화소 블록을 처리하기 위하여 다시 프로그래밍될 필요가 없다. 블록 재정렬 유닛(43)은 압축기 블록 처리 알고리즘과 호환 가능한 4×8 화소 블록으로부터, 8×8 화소 블록을 생성시키기 위하여 데시메이션 한 후에 블록들을 재구성(rebuild)한다.
모드 제어 신호는 또한 유닛(36 및 38)에 의하여 데시메이션이 사용되지 않을 때, 동작 모드에서 고율 샘플링 기능을 우회시키기 위해 수평 고율 샘플링 네트워크(88)의 제어 입력에 인가된다. 이러한 목적을 위하여, 유닛(88)은 그 우회 모드에서 직접 유닛(86)으로부터 유닛(90)으로 출력 신호를 스위칭 하기 위하여 상대적으로 간단한 스위칭 배열을 사용할 수 있다.
메모리(60)에 데이터를 저장하기에 앞선 압축은, 데이터가 움직임 보상 처리 루프에서 유닛(90)으로 가기 전에 압축 해제되어야 하는 것을 필요로 한다. 이것은 압축기(40 및 42)의 동작의 반대기능(inverse)을 나타내는 블록에 기초한 압축 해제기(80, 82 및 84)에 의하여 수행된다. 블록에 기초한 디스플레이 압축 해제기(62)는 압축해제기(80 내지 84)에 의하여 사용되는 기술과 유사한 압축 해제 기술을 사용하고, 또한 디스플레이 프로세서(70)에 전송되기 전에 저장된 화소 데이터를 압축 해제 한다. 저율 샘플링 네트워크(36, 38)가 메모리(60)에 앞서 인에이블 될 때, 메모리(60)로부터 나오는 출력 데이터는 네트워크(36, 38)의 동작의 반대기능을 나타내는 유닛(88)에 의하여 움직임 보상 처리 루프에서 유닛(90)에 앞서 고율 샘플링 된다.
도 1의 시스템은 움직임 보상 루프에서 유닛(80, 82, 및 84)에 의하여 나타내어진 복수의 병렬 블록 압축 해제기를 유리하게 사용한다. 9개의 압축 해제기는 모든 화소들이 개별적으로 압축 해제 되도록, 이 예에서는 유닛(80, 82 및 84)의 각각에 3개씩 사용된다. 이 압축 해제기 각각은 관련된 FIFO 입력 버퍼들을 가진다. (예컨대, 유닛(80)에 있는) 3개의 압축 해제기는, MPEG 전방 예측 모드에서 휘도 화소 데이터를 압축 해제 하는데 사용되고, 또한 (예컨대 유닛(82)에 있는) 3개의 압축 해제기는 MPEG 후방 예측 모드에서 휘도 화소 데이터를 압축 해제 하는데 사용된다. 크로미넌스 정보가 휘도의 정보의 절반이기 때문에, (예컨대 유닛(84)에 있는) 다만 3개의 압축 해제기가 크로미넌스 화소 데이터를 압축 해제 하는데 사용된다. 모든 9개의 압축 해제기의 사용은, 양방향 움직임 보상 예측 처리를 요구하는 최악의 경우인 MPEG B-화상 디코딩을 위하여 요구된다. 이리하여 B-화상 예측은 (전방과 후방으로) 2개의 이미지 프레임을 요구하는 반면, MPEG P-화상 예측은 하나의 이미지 프레임만을 요구한다.
움직임 보상 예측기 블록은 블록 경계에서 발생하지 않을 수 있다(종종 일어나지 않는다). 대신에, 몇몇 블록들은 프레임 메모리(60)로부터 요청되어질 수 있다. 최악의 상황에서는, 1/2의 화소 해상도를 가지는 MPEG-2 시스템에서, 움직임 보상 예측기 블록은 6개의 블록을 오버랩할 수 있다. 이리하여 6개의 블록은 메모리로부터 억세스되어야 한다. (유닛(40, 42)을 통하여) 움직임 보상 루프에서 재압축을 갖는 개시(開示)된 시스템과 같은 시스템에서, 화소들은 직접 억세스될 수 없다. 모든 블록 화소들은 먼저 압축 해제되어야 하는데, 이것은 최악의 상황에 6개의 블록에 많은 오버헤드(overhead)를 요구하고 또한 요구되는 것보다 훨씬 더 많은 데이터를 생성시킨다. 불필요한 화소 정보는 모든 화소들이 압축 해제 되고 난 다음에만 앞서 언급한 바와 같이 유닛(86)을 포맷팅함으로써 버려진다.
전술한 6-블록의 상황과 같은 큰 데이터 처리 상황에서, 저장 하기에 앞서 압축 해제는 압축 해제된 화소 정보를 취급하는 것과 관련된 버퍼 메모리 크기의 요구 조건을 크게 증가시킨다. 대신에, 개시된 바와 같은 병렬로 데이터를 압축 해제하는 것과 예측기 블록과 관련이 없는 불필요한 압축 해제된 화소 데이터를 (유닛(86)을 통하여) 나중에 버리는 것이 개시된 시스템에서는 더 유리하다는 것이 발견되었다. 이 절차는 상당히 더 적은 버퍼 저장 용량을 유리하게도 요구한다. 이리하여 비록 버퍼 메모리 대역폭(데이터 용량)의 요구 조건이 감소될지라도, 더 많은 집적 표면적이 요구된다. 그러나, 병렬로 있는 몇몇 압축 해제기의 사용은, 움직임 보상 예측기 처리를 위하여 요구되는 화소 데이터에 대한 더 빠른 동작과 또 관련된 더 빠른 억세스의 부가적인 이점을 생성시킨다.
복수의 압축 해제기는 파이프라인으로 되지 않는다. 각 압축 해제기와 그 관련된 버퍼는, 화소 데이터가 신속히 전송되도록 데이터를 독립적으로 전송하도록 동작한다. 하나의 압축 해제기/버퍼 네트워크의 동작에서의 지연이 다른 압축 해제 기 네트워크의 동작에 영향을 미치지 않는다. 압축 해제기는, 또한 각 압축 해제기의 독립적인 동작을 용이하게 하는 화소 데이터에 대하여 인터리브 된 동작을 나타낸다. 또한 압축기 네트워크와 같이, 압축 해제기(80, 82 및 84)는 유닛(44)에서 공동 룩업 테이블(LUT : Look-Up Table)을 공유한다.
양자화와 변환을 포함하는 여러 가지 유형의 압축은 특정한 시스템의 요구 조건에 따라 네트워크(40, 42)에 의하여 사용될 수 있다. 개시된 시스템은, 비록 가변 길이 압축이나 적응성 고정/가변 압축이 또한 사용될 수 있을 지라도 고정 길이 압축을 사용한다.
사용되는 유형의 압축은 분명한 특성을 나타내어야 하는 것이 바람직하다. 각 블록은, 각 압축 블록의 위치가 쉽게 결정되도록 미리 결정된 양으로 압축되어야 한다. 각 블록은 다른 블록과 독립적으로 압축/압축 해제되어야 한다. 이리하여 임의의 블록은 임의의 다른 블록을 판독하여야 함이 없이 억세스될 수 있다. 압축/압축 해제 처리는 재생된 이미지에 불만스러운 인공물(artifacts)을 생성시키지 말아야 한다. 25%의 압축 인자는 그러한 압축을 하지 않는 종래의 디코더 처리에 비하여 본질적으로 투명하다(transparent). 50% 압축에서 그 결과는 덜 투명 (transparent)하나, 가시적인 결과는 수용할 만하고 또한 압축과 메모리 감소가 없는 종래의 디코더 처리에 비하여 상당히 다르다고 생각되지는 않는다.
도 20은 도 1의 재압축기(40 및 42) 각각에 사용되는 고정 압축 네트워크를 도시한다. 압축 네트워크는 적응성 예측을 가지는 차분 펄스 코드 변조(DPCM: Differential Pulse Code Modulation) 루프를 사용한다. 예측을 가지는 그러한 DPCM 처리의 철학은 연속적인 화소들 사이의 상호 중복(mutual redundancy)을 제거하는 것이고 또한 차이값의 정보만을 생성시키는 것이다. 이러한 알려진 방법은 디지털 이미지 처리의 기초(프렌티스-홀 인터내셔널, 483쪽 등)에서 에이 케이 제인(A. K. Jain)에 의하여 일반적으로 기술되어 있다.
도 20의 회로를 논의하기에 앞서, 도 22에 대하여 참조해보자. 도 22는 DPCM 네트워크의 예측 처리 동작과 관련된 4개의 화소(a, b, c, 및 x)(예측되어지는 화소) 그룹의 예시적인 배열을 도시한다. 이 화소 그룹은 도 22에 도시된 8×8 화소 블록으로 참조된다. 각 화소 블록은 도 22에 도시된 바와 같이 아래 방향으로 가면서 왼쪽에서 오른쪽으로 래스터(raster) 방식으로 주사되고, 이 예에서, 휘도 정보에 대한, 화소(b)는 화소(c)에 대하여 하나의 화소 간격 만큼 지연되고, 화소(a)는 화소(b)에 대하여 7개의 화소 간격 만큼 지연되고, 화소(x)는 화소(a)에 대하여 하나의 화소 간격 만큼 지연된다. 크로미넌스 정보에 대하여 화소 "a"는 3개의 화소 간격 만큼 지연된다.
DPCM 예측 처리에서, 코딩되는 현재 화소는, 압축 해제기(62, 80, 82 및 84)(도 1)에 알려진 앞서 코딩된 화소들을 사용함으로써 예측된다. 도 22에서, 화소(x)는 예측으로 코딩되는 화소값이고, 화소(a,b, 및 c)는 예측으로 앞서 코딩되어진 것으로 압축 해제 네트워크에 알려진다. x의 예측(Xpred)은, 사용되는 알고리즘 논리를 기술하는 다음의 가상 코드에 따른 a, b, 및 c 의 값들을 사용한다.
if (|a-c|< e1 && |b-c|> e2), Xpred = b
else if (|b-c|< e1 && |a-c|> e2), Xpred = a
else Xpred = (a+b)/2
값(e1 및 e2)은 미리 결정된 임계값들을 나타내는 상수들이다. 이 알고리즘은 처리되는 블록의 제 1 행이나 제 1 열에 위치되지 않는 화소들에 대하여만 사용된다. 몇몇 예외 조항은 다음과 같이 취급한다: 블록에 있는 제 1 화소는 임의의 다른 화소를 참조함이 없이 매우 정밀하게 코딩되고, 제 1 행에 있는 화소들은 예측기로서 화소값(a)을 사용하고, 및 제 1 열에 있는 화소들은 예측기로서 화소값(b)을 사용한다. 기본적으로, 이 알고리즘은 에지(edge)를 검출하고자 한다. 제 1의 경우에, 수직 에지가 화소들(c 및 b) 사이에 및 화소들(a 및 x) 사이에 제안된다. 이리하여 b는 최적의 예측기이다. 제 2의 경우는 a 및 c 사이에 있는 수평 에지와 b 및 x 사이에 있는 수평 에지를 제안한다. 그리하여 a 가 최적의 예측기이다. 제 3의 경우에는, 명확한 에지가 발견되지 않는다. 이 경우에, a 및 b 둘 모두는 똑같이 적합한 예측기들이어서 그 평균값이 사용된다.
도 20의 압축 네트워크는 DPCM 처리의 결과로서 생성된 차이 (잔여) 화소값들을 양자화한다. 도 20은 2개의 미리 결정된 지연을 가지며 직렬 처리가 아닌 병렬 처리인 인터리브된 DPCM 루프를 사용한다. 도 20에서 도시된 회로는 도 5에 도시된 시퀀스에 인터리브된 화소 데이터(A 및 C)를 처리하기 위하여 도 1에 도시된 재압축기(40)에 의하여 사용된 회로에 해당한다. 유사한 회로가 인터리브된 화소 데이터(B 및 D)를 압축하기 위하여 압축기(42)에 의하여 사용된다. 도 20의 네트워크는 잔여값을 압축하기 때문에, 예측기 루프는 대응하는 그 다음 블록의 해당하는 공동 위치된(co-located) 화소가 나타나기에 앞서 소정의 블록의 화소를 처리하는 것을 마쳐야만 한다. 인터리브 된 화소 블록 데이터는, 이 회로를 통하여 독립적으로 이동하며, 이 점은 다른 속도의 입력과 출력 데이터를 가지는 가변 길이 코딩된 시스템에 중요하다.
도 20에서, 각 인터리브 된 화소 블록(A, C, ...)(도 5)에서부터의 인터리브 된 화소 데이터(a, c, a, c....)의 시퀀스는 유닛(230)에 의하여 하나의 화소 지연을 받기 쉽다. 압축되어지는 소정의 화소값은 감산 결합기(210)의 비반전(non-inverting) (+) 입력에 인가된다. 결합기(210)의 반전(-) 입력은 예측기(215)로부터 예측된 화소 값들을 수신한다. 결합기(210)로부터 출력된 잔여(차이)화소값은 구성 요소(220 및 222)에 의하여 각각 양자화와 역양자화를 받기 쉽다. 구성 요소(220)에 의하여 제공된 양자화는 이 예에서 고정되고 또한 데이터 압축의 원하는 고정된 양을 보장한다. 구성 요소(230, 232, 234, 236, 238, 240, 및 242)는 54 메가 헤르츠의 클록 신호(CLK signal)에 의하여 클록된 레지스터(예컨대, 플립플롭)이다. 구성 요소(230, 232, 240 및 242)(Z-1)는 하나의 클록 사이클 지연을 나타낸다. 데이터 인터리빙으로 인하여 하나의 화소를 진행하는데에는 두 개의 클록이 소요된다. 구성 요소(238, 234, 및 236)는, 2개의 인터리브 된 화소 블록의 데이터스트림을 처리하는 네트워크의 결과로서, 2, 6, 및 8 클록 사이클 지연을 각각 나타낸다. 역양자화기(222)의 출력은 양자화기(220)의 입력과 비슷하지만, 양자화 에러에 의하여 야기된 작은 DC 오프셋 만큼 다르다. 가산기(228)의 출력(입력')은 이 동일한 양만큼 양자화기(220)에 대한 입력 신호와는 다르다. 도 20의 선택된 회로 구성 요소에 대하여 몇몇 클록 사이클에서 인터리브 된 입력 화소(a, c, ...)의 시퀀스의 타이밍 상관 관계는 도 27에 도시되고 또한 순차적으로 상세히 논의될 것이다.
도 20의 네트워크는, 또한 도시된 바와 같이 배열된 가산기(228)와 다중화기(225 및 235)를 포함한다. 이 다중화기는 예측기 논리(215)와 화소 지연 구성 요소(234, 236, 및 238)와 관련하여 화소 예측 네트워크를 포함한다. 다중화기(MUX)(235)의 스위칭 상태는, 인가되는 휘도(Y)와 크로미넌스(C) 제어 신호에 의하여 결정된다. Y, C 제어 신호는, 도 3에 도시된 바와 같이 휘도와 크로미넌스 블록 인터리빙의 함수로서 생성된다. 제어 신호(Y, C)가 나타나는 것은, 크로미넌스 화소들이 매크로블록 휘도 화소들 후에 순서대로 처리되도록 화소 카운팅/타이밍 방법으로부터 생성된다. Y 및 C 제어 신호는 8×8 휘도 블록 처리나 4×8 크로미넌스 블록 처리를 위하여 적절하게 예측기 회로에 지연의 양을 제어하는데 사용된다. 크로미넌스 화소들의 처리는, "1" 논리 레벨 제어 신호가 MUX(235)에 인가될 때, 인에이블 되어, MUX(235)가 자신의 "1" 입력에 나타나는 데이터를 통과하게 한다. 휘도 화소 데이터의 처리는, "0" 논리 레벨 제어 신호가 MUX(235)에 인가될 때, 인에이블 되어, MUX(235)가 지연 유닛(236)의 출력으로부터 자신의 "0" 입력에 인가되는 데이터를 통과하게 한다. 이 8×8 휘도 블록의 경우에, "x" 예측기 화소는 8개의 화소만큼 멀리 있다. MUX(235)는 이 더 큰 지연을 생성시키기 위하여 입력 지연 경로를 스위칭한다.
압축(양자화) 잔여 화소 출력 데이터는 양자화기(220)의 출력에 생성된다. 이 압축 데이터(도 6)는 허프만 코딩을 포함하는 다른 처리를 받기에 앞서 유닛(242)에 의하여 하나의 클록 사이클 지연을 받기 쉽다.
2개의 플립플롭 지연 구성 요소(232 및 240)는 특별히 주목된다. 구성 요소(232 및 240)의 사용은 이중 지연 경로(Δ1과 Δ2)를 생성시키고 또한 매 다른 화소가 아닌 인접한 화소들의 예측을 허용해준다. 지연 경로(Δ1)는 지연(232)의 출력과 지연(240)의 입력 사이에 회로 성분을 포함한다. 지연 경로(Δ2)는 지연(240)의 출력과 지연(232)의 입력 사이에 회로 성분을 포함한다. 지연 유닛(232 및 240) 각각은 대략적으로 18 나노초의 하나의 클록 지연 또는 하나의 54 메가 헤르츠 클록 사이클의 하나의 클록 지연을 나타낸다. 이 배열을 가지고 압축 출력 화소는 압축되어지는 화소가 회로 내로 클록되어지는 시간에 회로의 밖으로 클록된다. 이리하여 압축 출력 화소는 실시간으로 압축되어지는 매 입력 화소에 대하여 생성된다.
다른 시스템에서, 전술한 원리는 4배의 인터리빙, 즉 4개의 데이터 파이프라인과 도 20의 시스템에서 2개의 지연 경로 대신에 4개의 지연 경로를 가지고 사용될 수 있다. 그후 중요한 처리 루프는 4부분으로 나누어져, 더 빠른 클록의 사용을 가능하게 할 수 있는 동기화를 용이하게 한다. 이 경우에 또한 공유된 룩업 테이블은 집적된 칩 영역을 보존할 것이다. 비록 입력 화소 블록이 이 예에서 인터리브 될 지라도, 입력 데이터는 모든 시스템에서 인터리브 될 필요가 없다.
이중 지연 경로(Δ1 및 Δ2)의 사용은, 요구되는 전체의 네트워크 지연, 예컨대 대략적으로 이 경우에 18 나노초의 지연을 조정하는(tailoring) 것을 용이하게 한다. 이 점에 있어서는, 각 지연 경로와 관련된 확장 신호 처리가 이 지연을 조정하게 하기 위하여 여러 수단을 제공한다는 것이 주목된다. 2개의 지연 경로에 의하여 나타내진 지연은 중요하지 않다. 회로는, 각 지연이 주기적인 54 메가 헤르츠 클록인 대략적으로 하나의 클록 사이클을 나타내도록 클록에 대하여 최적화되는 것이 바람직하다. 그러나, 다른 시스템에서는, 소정의 회로에 대하여 클록 사이클을 조정하는 것, 예컨대 불규칙적이거나 주기적이지 않은 클록 사이클을 생성시키는 것이 적절할 수가 있다. 2개의 지연 경로가 동일한 신호 처리 지연을 나타낼 필요는 없으나, 대략적으로 동일한 지연이 개시된 시스템에 있는 것이 바람직하다.
Δ1 및 Δ2와 같은 2개의 신호 처리 경로는, 구성 요소(232 및 240)가 없는 경우에 있어서와 같은 하나의 전체 경로보다 더 쉽게 신호 처리 지연을 위하여 최적화될 수 있다. 구성 요소(232 및 240)에 의하여 정의된 바와 같은 2개의 경로의 경우에, 각 경로는 다른 경로로부터의 결과값을 대기하지 않고 동작을 시작할 수 있다. 단일 경로 시스템의 경우에, 각 화소값(예컨대, 구성 요소(234, 215 및 225)에 입력 노드(node)에 있는 화소값)은, 예측기 논리, 가산기, 양자화 및 역양자화를 포함하는 몇몇 기능에 의하여 처리되어야만 하고, 또한 그 다음의 클록 사이클이 시작하기에 앞서 이 경로의 마지막에 나타나야 한다. 더욱이, 그런 화소값은 그러한 시간에 안정적이어야 한다. 이것은, 좀더 자유를 나타내는, 개시된 다수의 경로 시스템에는 존재하지 않는, 심한 제약 조건이 된다.
도 20의 배열은, 집적 회로와 같은 하드웨어에 구체화되는 때, 54 메가헤르츠 클록 속도로 실시간으로 매 화소 입력을 위하여 압축 화소 출력을 생성할 수 있다. 도 20의 배열은 신호 처리 지연을 맞추는데 좀더 나은 여유를 제공해 주고 또한 동일한 결과를 생성시키는데 집적 장치 내 상당히 더 적은 표면적을 소비한다. 더욱이, 감소된 표면적은 더 적은 커패시턴스를 나타내고, 그 결과 동작 속도의 성능을 더 빠르게 하고 전력 소모를 더 적게 한다. 더 빠른 클록의 사용도 또한 가능하다. 그 경우에 인터리빙은 감소된 집적 회로 면적(예컨대, 더 적은 압축 유닛과 관련 지원 유닛)과 자동화된 설계 도구를 사용한 더 나은 시스템 최적화에 있어서 장점을 여전히 생성시킬 것이다.
하나의 클록으로 모든 논리 게이트는 일시에 합성(synthesize)되어야 한다. 전술한 바와 같이 2개의 지연 경로의 사용은, 집적 회로 설계에 게이트가 합성되는 (공지된 바와 같은) VHDL 고레벨의 언어 코드의 사용을 포함할 때, 압축기와 압축 해제기 네트워크 모두를 위하여 논리 게이트의 합성을 크게 간단하게 한다. 2개의 지연 경로로, 자동화 논리 설계는, 게이트가 더 빠르게, 좀더 정확히 및 좀더 재생가능하게 합성되도록 신속히 수렴(converge)한다.
좀더 재생 가능한 설계를 용이하게 할 뿐 아니라, 도 20에 기술된 이중 처리 경로는 인터리빙의 사용을 촉진하여 대역폭의 이점과 공유된 논리 구성 요소(예컨대, 룩업 테이블)의 사용을 생성한다. 그러한 이중 처리 경로는, 또한 이 실시예에서 예측 및 압축 계산 기능과 같은 특정한 시스템에 요구되는 바와 같은 기능적인 셀이나 모듈로 설계를 분할하는 것을 용이하게 한다. 그러한 모듈은 특정 시스템의 설계의 요구 조건을 맞추는데 요구하는 대로 조정될 수 있다.
인터리브 된 압축기 동작에 관하여, 소정의 빠른 클록 중 2개의 사이클을 사용하여 인터리브 된 데이터를 가지는 하나의 압축기를 사용하는 것이 각각 소정의 클록의 절반으로 클록되는 2개의 압축기 회로를 각각 사용하는 것 보다 바람직하다는 것이 주목된다. 하나의 클록의 2개의 사이클을 사용하는 것은 논의된 바와 같이 인터리빙을 통하여 타이밍 최적화를 용이하게 하고, 또한 인터리빙은 처리되는 데이터의 양을 두 배 많게 해준다. 개시된 시스템에서, 소정의 화소값의 예측이 하나의 클록 사이클 동안에 수행되는 반면, 그 화소에 대한 (양자화와 역양자화와 같은) 계산은 그 다음 클록 사이클 동안에 수행된다. 예를 들어, 인터리브 된 화소 블록(A 및 C)에 대하여, 블록(A)으로부터의 화소 데이터는 하나의 54 메가헤르츠 클록 사이클 동안에 예측되는 반면, 양자화 계산은 블록(C)으로부터 나오는 화소 데이터 상에 수행되어진다. 그 다음 클록 사이클 동안에, 블록 A의 화소 데이터는, 블록 C의 화소 데이터가 예측되어지는 동안, 양자화 계산을 받게 된다. 이리하여 이 시스템은 교대로 예측하고 또한 다른 인터리브 된 블록을 위하여 계산한다. 54 메가 헤르츠 클록의 2개의 사이클을 사용하는 것은 하드웨어 회로의 제작에 이용가능한 적절한 도구를 사용하여 회로 지연을 최적화 시키는 기회를 준다. 화소값들을 교대로 예측하고 압축값들을 계산하는 이 방법은 도 27에 도시된다.
도 27은 관련 인터리브 된 화소 블록(A 및 C)의 인터리브 된 화소("a" 및 "c")가 54 메가 헤르츠의 압축 클록의 몇몇 사이클에 걸쳐 처리되는 방법을 도시한다. 처리가 제 1 화소 블록(A1)의 제 1 화소(a1)로 시작한다고 하자. 도 20과 도 27을 고려해 볼 때, 제 1 클록 사이클은 화소(a1)가 레지스터(플립플롭)(230)의 입력으로부터 그 레지스터의 출력으로까지 클록되어지게 하는데, 이것에 의해서 화소(a1)는 유닛(220)에 의하여 양자화(압축)되고, 또한 레지스터(232)의 입력에 나타나기에 앞서 유닛(222)에 의하여 역양자화되며, 이러한 동작은 모두 제 1 클록 사이클 내에서 이루어진다. 이 지점에서 화소(a1)는 화소(a1')로서 지정되는데, 이는 이 지점에서 화소(a1)가 입력 화소(a1)에 접근해 있으나 유닛(220 및 222)에 의하여 처리되는 것과 관련된 양자화 에러로 인하여 작은 DC 오프셋을 나타낸다.
제 2 클록 사이클은 그 다음 화소, 즉 인터리브 된 화소 블록(C1)의 제 1 인터리브 된 화소(c1)가, 화소(a1)에 대해 전술한 방법과 유사한 방법으로 처리되게 해준다. 더욱이, 제 2 클록 사이클은 화소(a1')가 레지스터(232)의 출력에 클록되어지게 하고 이것에 의하여 유닛(215 및 225)을 포함하는 예측 네트워크에 클록되게 한다. 이것은 레지스터(240)의 입력에 나타나는 화소(a1')의 예측값을 야기한다. 이리하여 이전에 압축된 화소(a1')가 예측 처리를 받게 되는 한편 제 2 클록 사이클 동안 화소(c1)는 압축된다(양자화된다).
제 3 클록 사이클 동안에, 예측으로 처리된 화소(a1')는 레지스터(240)의 출력에 전송되고, 유닛(210)에서 감산되어 결합되고, 유닛(220)에 의하여 압축되며 출력 레지스터(242)의 입력에서 압축 출력값(a1")으로 나타난다. 화소(a1")는 이 레지스터에서부터 순차 허프만 코딩 회로까지 그 다음 클록 사이클에서 클록된다. 또한 제 3 클록 사이클 동안에, 압축 화소값(a1")이 생성되어지는 동안, 인터리브된 화소(c1')는 유닛(215)에 의하여 예측 처리를 받게 되게 된다. 이 방법은 인터리브 된 블록(A 및 C)의 남아 있는 an, cn 화소에 대해 계속되는데, 이것에 의해서 각 클록 사이클 동안에 인터리브 된 화소들은 예측과 압축 처리를 각각 받게 된다.
데이터 인터리빙이 없이, 처리는 하나의 클록 사이클에서 화소값 예를 들어 a1 에서부터 압축 출력값(a1")까지 전진해야 할 것이다. 이 요구 조건은 전술한 바와 같이 인터리브 된 처리에 의하여 회피되는 심한 속도와 타이밍 제약 조건을 나타낸다. 인터리브 된 처리는 또한 공유된 양자화와 역양자화 논리를 허용하여, 그 결과 집적 회로의 면적을 감소시키고 전력 소비도 감소시킨다.
전술한 인터리브 된 압축기 동작은 MPEG 압축에 독립하여 사용될 수 있고, 또한 그러한 것으로서 더 복잡성과 더 비용이 드는 MPEG 압축이 요구되지 않는 곳에 25% 내지 50%의 예측 압축을 제공하기 위하여 소비자 비디오 응용(예컨대, VCR과 캠코더와 같은 홈비디오 시스템)에서 사용하기에 경제적인 처리 시스템을 나타낸다.
2 개의 인터리브 화소 블록이 아닌 4개의 인터리브 화소 블록이 더 빠른 클록으로 또한 사용될 수 있다. 이 경우에 4개의 8×8 휘도 화소 블록의 전체 블록이 즉시 처리될 것이다.
개시된 시스템에서, 각 압축 해제기 네트워크는 도 21에 도시된 바와 같이 배열된다. 압축 해제기 회로는 구성 요소(210)가 9-비트 가산기이고 구성 요소(220, 222, 228, 및 242)가 제거된 것을 제외하면은 도 20의 압축기 회로와 유사하다. 경로(Δ2)는 경로(Δ1) 보다 더 적은 처리를 포함한다. 그러나, 경로(Δ2)에서 9-비트 가산기(231)를 포함하는 것도 약 9 밀리초의 시간 제약 조건을 추가시키며 이 점은 심지어 압축 해제기의 설계를 복잡하게 한다. 이러한 관점에서, 가산기(231)는 MUX(225)가 유효 데이터를 수신할 때까지 계산을 시작할 수 없다는 것이 주목된다. 이리하여 루프 타이밍 제약 조건을 감소시키는 것이 유리하다. 이중 지연 경로의 사용은 전체적인 설계를 크게 간략화시킬 뿐만 아니라 이러한 루프 타이밍 제약 조건의 감소를 달성하게 한다.
압축 해제 동안, 예측 경로(Δ1)는 좀더 중요한 경로라는 점이 알려져 왔다. 경로(Δ2)는, 집중적인(intensive) 데이터 취급을 위해 더 느린 54 메가 헤르츠 클록의 사용이 요구되는 압축의 경우에 좀더 중요하다는 점이 알려져 왔다.
앞서 지적한 바와 같이, 네트워크(80 내지 84)에서 각 압축 해제기는 화소 데이터가 신속히 전송되도록 독립적으로 동작한다. 데이터의 전송은 종종 플립플롭이나 레지스터와 같은 클록 장치에 의하여 수행된다. 파이프라인 되어지는 데이터는 예를 들어 시간적으로 임의의 순간에 인터리브 된 데이터의 경우에, 2개 이상의 소스로부터 유도되는 때, 몇몇 레지스터에 있는 데이터는 하나의 소스로부터 오는 반면 다른 레지스터에 있는 데이터는 다른 소스로부터 온다. 이 데이터는 공동 데이터 클록에 반응하여 함께 흐르나, 연속적인 레지스터에 있는 이 데이터는 서로 독립적이다. 시스템의 동작 문제들은 데이터 소스가 데이터스트림(파이프라인)이 동시에 시작하고 동시에 종료하는 한, 동기적으로 시작하고 동기적으로 종료되는 때는 회피되어야 할 것이다.
문제는 하나의 소스가 데이터를 전송하는 것을 종료하는 때 다른 소스는 데이터를 계속해서 전송할 때 일어난다. HDTV 신호 프로세서에서와 같이 데이터 집약 파이프라인에서, 초당 큰 수의 계산은 디스플레이를 위한 정확하고 고품질의 이미지를 생성시키기 위하여 중요하다. 그런 시스템은 하나 이상의 데이터 소스가 데이터를 전송하는 것을 종료할 때마다 데이터흐름을 인터럽트하도록 할 여유가 없을 것이다. 그런 경우에, 인터럽트 되지 않는 소스로부터 제공되는 출력 데이터의 적절한 페이징(phasing)이 다른 데이터 소스가 인터럽트 되는 때 유지되도록 파이프라인 데이터 흐름을 제어하는 것이 중요하다.
데이터 클록은 HDTV 시스템과 같은 데이터 집약 이미지 처리 시스템에서 종료되지 않는 것이 중요하다. 그런 시스템에서, 압축과 압축 해제의 서브 시스템과 같은 어떤 성분은 다른 입력 및 출력 데이터 처리 요구 조건과 다른 데이터 속도를 가진다. 예를 들어, 디스플레이를 위한 압축 해제된 출력 화소 데이터는 연속적으로 출력되어야만 하는데, 이 데이터는 연속 클록을 요구하나, 압축 해제되어지는 압축 입력 데이터는 하나의 클록이 존재하지 않을 때 널 간격(null interval)으로 산발적으로 도달할 수 있다. 만약 압축 해제 클록이 입력 데이터가 없을 때 종료된다면, 압축 해제 화소 데이터 밖으로의 클록도 또한 종료할 것이다. 이것은 데이터 집약 고해상도 이미지 처리와 디스플레이 시스템에서 혼란(disruptive)이 될 것이다. 이리하여 데이터를 반복하는 것은, 논의되어질 바와 같이 어떤 조건 아래에서 특히 허프만 디코딩이 압축 해제 방법으로 사용될 때 유리하다.
개시된 시스템에서, 압축 네트워크의 출력(도 20)은 허프만 코딩을 받기 쉽다. 허프만 디코딩은 디코더에서 압축 해제와 관련된다. 허프만 코딩/디코딩은 다른 코딩된 워드 길이로 인하여 다른 입출력 데이터 속도를 갖는 통계적인 방법이기 때문에, 버퍼는 가변 데이터 내용을 수용하기 위하여 사용된다.
도 23 및 도 24에 대하여 도시되어질 바와 같이, 분리된 소스로부터 나오는 데이터가 레지스터의 파이프라인 된 시퀀스에 의하여 처리되어질 때, 매 다른 레지스터로부터 피드백은 (제 1 소스로부터) 하나의 데이터 성분이 파이프라인을 통하여 계속 흐르게 하는데 사용되는 반면, (제 2 소스로부터) 다른 데이터 성분은 그 자체가 계속 반복한다. 소스로부터 인터리브된 데이터를 가지는 이 기술로, 데이터는 데이터 소스 중 하나가 데이터를 제공하는 것을 종료할 때 바람직하게 예측된 속도로 파이프라인을 통하여 처리될 수 있다.
데이터를 반복하는 것은 시작-종료의 동기화 문제가 없다면 데이터 클록을 종료시키는 것에는 동일하다. 데이터의 반복 사용은 데이터 사이클이 지연을 복구할 때 분실될 수 있기 때문에 데이터가 없는 데이터(no data)(예컨대, 널 워드(null word))를 사용하는 것보다 바람직하다. 데이터의 반복은 데이터 흐름의 보전(integrity)을 유지하는데에 중요하고 데이터가 없는 데이터(no data)를 전송하는 것 만큼 혼란스럽지는 않는다.
데이터 반복 방법은 시스템의 복잡성을 유발하지 않고도 8×8화소 블록(64 클록 사이클)의 지연 시간 동안 데이터를 반복할 수 있다. 더 긴 반복하는 지연들도 또한 이 시스템의 성질과 관련 처리에 따라 가능하다. 예를 들어, 화소 예측 처리의 과정에서, 6개의 블록까지 메모리에 저장될 것이다. 그 경우에, 다른 블록이 메모리로부터 포착되고 있는 동안, 하나의 블록이 소스 혼란이 있는 경우에 효과적으로 제 자리에 위치될 수 있다(반복될 수 있다). 1이나 2의 매크로블록 간격에 걸친 반복적인 지연이 허용될 수 있을 것이다.
널 데이터를 처리하는 것이 효과적이지 않기 때문에 소스 혼란이 일어날 때 널 데이터를 추가하는 것보다 데이터를 반복하는 것이 더 바람직하다. 다른 데이터와 마찬가지로, 널 데이터는 메모리에 저장되고, 클록 사이클은 널 데이터 상태에서부터 복구하는 것으로, 예컨대 널 데이터가 제거된 이후에 유효 데이터를 적재하는데 소비된다. 이것은 고해상도 텔레비젼 시스템과 같은 데이터 집약 시스템에서 중요한 고려 사항인데, 거기서 메모리 대역폭은 매우 중요하고, 데이터 처리를 위해 요구되는 클록 사이클의 수는 가능한 한 많이 감소되어야 한다.
도 23에서, 입력 파이프는 분리된 데이터 소스로부터, 즉 도 1에 있는 프레임 메모리(60)와 같은 메모리 내에 분리된 위치로부터 데이터(X 및 Y)를 각각 전송한다. 데이터(X 및 Y)는 서로 독립적이고 특정 서열이 있지는 않은데, 즉 그 데이터들은 인터리브 될 수도 있고 되지 않을 수도 있으며, 또한 메모리로부터 요청되는 임의의 화소 데이터를 나타낸다. 이 예에서, X 및 Y 의 데이터는 각각 움직임 보상 네트워크에 의하여 사용하기 위한 전방과 후방 움직임 정보를 각각 나타낸다(도 1). X 데이터는 만약 Y 데이터가 존재 하지 않을 지라도 처리되어야 하고 그 역도 되어야 한다.
도 23의 회로는 도 1에 있는 메모리(60)로부터 데이터를 압축 해제기 네트워크(80 내지 84)로 전송하고, 또한 MPEG 처리에 잘 맞는다. MPEG 코딩된 P 또는 B 화상은 생성될 수 있으나, 소정의 매크로블록은 처리를 위한 전방 또는 후방 데이터의 하나 또는 다른 하나를 가질 수 없는 것도 일어날 수 있다. 도 23의 배열은 이 가능성을 인정한다.
입력 FIFO 버퍼(332 및 334)는 데이터의 블록을 위한 각 입력과 관련된다. 이 예에서, 버퍼(332 및 334)는 도 1에 있는 각 압축 해제기(80, 82 및 84)를 위한 입력 버퍼를 나타낸다. 각 버퍼는 적절한 시간에(예컨대, 단일 방향 예측 대 이중 방향 예측의 비를 수반하는 처리에 반응하여) 메모리 제어기(134)를 경유하여 메모리로부터 데이터를 요청하는 신호(Req)를 전송하고, 또한 데이터가 전송될 수 있음을 나타내는 복귀 인식 신호(Ackn)를 수신한다. 메모리 소스와 버퍼 사이의 데이터 흐름은 공지된 바와 같이 데이터 판독/기록 제어 신호에 의하여 제어된다.
입력 X 및 Y 데이터는 CLK/2 데이터 클록에 반응하여 MUX(336)에 의하여 공동 데이터 라인 상으로 다중화되어, MUX(336)의 출력에 X 및 Y 데이터를 교대시키는 파이프 라인을 생성시킨다. MUX(336)로부터 온 데이터는 직렬 피드백 레지스터 섹션(360 및 364)에 의하여 처리된다. 사용되는 섹션의 수는 인터리브 되는 데이터의 구성 요소의 수, 이 경우에는 2의 함수이다. 섹션(360)은 도시된 바와 같이 배열된 입력 다중화기(338)와 직렬로 연결된 레지스터(플립플롭)(340 및 342)를 포함한다. 각 레지스터 구성 요소는 CLK 신호에 의하여 81 메가헤르츠에서 클록된다. 섹션(364)도 마찬가지로 배열된다. 맨 마지막 레지스터 구성 요소(350)의 출력은 전방과 후방 움직임 예측 정보를 포함하는 데이터를 압축 해제하는, 도 1의 데이터 압축 해제 네트워크에 인가된다. 데이터는 압축 해제기에 의하여 수신되는 대로 바로 압축 해제되어야 한다. X, Y 버퍼(332, 334)가 채워질 때까지 압축 해제기는 기다릴 수 없다. 각 레지스터 섹션에서, 피드백은 그 섹션에 있는 맨 마지막 레지스터의 출력으로부터 관련된 다중화기의 스위칭 제어 입력까지, 예컨대 레지스터(342)의 출력에서부터 MUX(338)의 "1" 입력까지 제공된다. 피드백 레지스터 섹션(360 및 364)에 의하여 구성되는 네트워크는 2개의 동작 모드를 가지는 선택적인 디지털 샘플 및 유지 네트워크로 동작한다. 하나의 모드에서, 데이터는 샘플링 되고 또한 데이터 반복 동작을 생성시키기 위하여 유지된다. 다른 모드에서, 데이터는 반복되지 않고, 정상적으로 전송된다.
유닛(356), 예컨대 디지털 비교기는 Req와 Ackn 신호 라인의 상태를 감지한다. 만약 FIFO 버퍼가 Req 신호를 생성시키고 복귀 Ackn은 메모리 소스로부터 수신되지 않는다면, 유닛(356)은 "1" 레벨 또는 상태에서 데이터 홀트 신호(Halt signal)를 생성시킨다. 데이터는 이 홀트 신호가 "0" 상태를 나타낼 때 파이프라인을 통하여 정상적으로 흐르나, 이 홀트 신호가 "1" 상태를 나타낼 때는, 아래에 설명되는 바와 같이 데이터는 반복된다. Ackn 신호가 소정의 입력으로부터 수신되지 않을 때, 이 홀트 신호는 마지막 유효 데이터 성분이 각 레지스터 섹션에서 반복되거나 재순환되게 한다. 이것은 논의 되어질 바와 같이, 도 24의 파형으로 도시된다. 만약 Ackn 신호가 두 개의 X 및 Y의 입력 데이터 소스로부터 수신되지 않는다면, 클럭은 종료되고 데이터는 재순환되지 않는다.
이리하여 이 홀트 신호가 0 레벨을 나타내어 데이터가 파이프라인을 통하여 정상적으로 흐르게 될 때, 입력 데이터 X 와 Y는 적절한 인터리브 된 (클록) 위상 상관관계로 유지되어 그 결과 클록킹은 출력 데이터가 소스 X 데이터와 소스 Y 데이터 사이를 교대하게 한다. 이 위상 상관관계는 데이터가 섞이는 것을 방지하는 데 중요하다. 이 경우에 각 레지스터 섹션(예컨대, 레지스터(342 및 350)의 출력에 있는)의 출력 데이터는 2 클록 이전에서의 입력 데이터에 대응한다(예컨대, 출력 = 입력(Z-2)). 홀트 신호가 1 레벨을 나타낼 때, 관련된 MUX(338 또는 344)는 출력으로부터 입력 신호가 분리되어 그 결과 각 레지스터 섹션이 데이터를 간단히 재순환시킨다. 이 동작 조건은 도 25 및 도 26에 의하여 각각 도시된다.
도 24는 예를 들어 Y 데이터의 소스로부터 어떤 데이터가 종료되었을 때에만 홀트 신호가 1 레벨을 나타내는 상태를 나타낸다. 이 홀트 신호가 활성화되는 동안, Y 데이터는 이 홀트 신호가 정상적인 0 레벨에 복귀되기 까지 재순환되고(반복되고), Y 데이터는 다시 흐른다. 이 시간 동안 소스(X)로부터 온 데이터는 인터럽션 없이 흐른다. 도 24에서, 입력 파형은 X 및 Y 데이터 성분의 인터리브 된 시퀀스를 포함한다. 이 예에서, Ackn 신호는 성분(X2) 다음의 Y2 성분에 대해서 수신되지 않는다. 이리하여 정상적으로 유닛(356)으로부터의 홀트 신호의 "0" 상태는 "1" 상태로 변경되고, 각 레지스터 섹션(360 및 364)은 이 홀트 신호가 "1" 상태를 나타내는 한 맨 마지막 유효 Y 성분, 이 경우에 Y1을 반복시키게 된다. 이 홀트 신호는 다중화기(338 및 344)의 제어 입력에 연결되는데 그 결과 이 홀트 신호의 "1" 상태는 각 다중화기로 하여금 다중화기의 "1"의 스위칭 입력에, 연결된 신호, 이 경우에는 Y 데이터 성분을 전송하게 한다.
입력 신호 파형의 빗금친 성분은 빠진 Y2 성분을 나타내는데, 즉 Y 성분이 성분(Y1) 이후에 제 2 소스에 의하여 송출되지 않는 것이다. Y1 성분은 3개의 Req/Ackn 사이클 동안에 반복되는데, 이것에 의하여 도 24의 출력 파형에 도시된 바와 같이, 3개의 홀트 신호가 생성되고, 성분(Y1)이 3번 반복된다. 그 후, 제 2 소스는 데이터 성분(X5)을 따라가는 출력 파형 순서에 나타나는, 성분(Y2)을 위해 Ackn 신호를 생성시킨다.
이 홀트 신호는 또한 데이터스트림 내에 반복된 데이터를 무시하도록 압축 해제기에 명령하기 위하여 관련된 압축 해제기 네트워크의 제어 입력에 제공된다. 앞서 언급된 바와 같이, 인터리브 된 X, Y 데이터 성분은 독립적이고 또한 임의의 특정(수치적인) 순서로 서로 따라갈 필요가 없다. 주어진 입력과 관련된 데이터는 미리 기술된 순서, 예컨대 X5는 X4 다음에 오고, X4는 X3 다음에 오고, X3는 X2 다음에 오는 등의 순서를 따른 것이 다만 필요하다. 예를 들어, Y2가 X5 다음에 오는 것은 중요하지 않다.
도 28은 병렬 동작을 위하여 배열된 도 23의 네트워크를 도시한다. MUX(336)(도 23)으로부터 인터리브 된 입력 데이터는 다중화기(285 및 286)를 경유하여 병렬 레지스터(280 및 282)에 제공된다. 이 레지스터로부터의 출력은 MUX(284)를 경유하여 데이터 출력 경로 상으로 다중화된다. 다중화기(284, 285, 및 286)의 동작은 각 소스와 관련되는 홀트 1 제어 신호와 홀트 2 제어 신호에 의하여 제어되고 또한 도 23에 연결해서 기술된 바와 같은 효과를 생성시킨다.

Claims (14)

  1. MPEG 코딩된 이미지를 나타내는 정보의 데이터스트림을 처리하기 위한 시스템 내에 MPEG 호환 가능한 신호 처리 네트워크에 있어서,
    상기 데이터스트림으로부터 유도되며, 이미지를 나타내는 화소 블록의 전체 프레임을 나타내는 압축된 이미지 데이터를 저장하기 위한 메모리(60)와;
    디스플레이 프로세서에 의해 처리하기 위한 최종적으로 디코딩된 움직임 보상된 화소 데이터를 생성하기 위해, 예측된 이미지 데이터를 처리하기 위한 움직임 보상 네트워크(90)와;
    상기 메모리(60)에 저장된 이미지를 나타내는 화소 블록의 전체 프레임을 나타내는 상기 데이터를 압축해제하고, 처리하기 위해 상기 움직임 보상 네트워크에 복수의 압축해제된 화소 데이터 출력을 생성시키고, 상기 압축해제된 데이터로부터 예측된 이미지 데이터를 생성하기 위한 복수의 병렬 블록-압축 해제기(80, 82, 84)를 포함하는 제어 루프를,
    포함하는, MPEG 호환 가능한 신호 처리 네트워크.
  2. 제 1항에 있어서, 상기 데이터스트림은 고해상도 비디오 정보를 포함하는, MPEG 호환 가능한 신호 처리 네트워크.
  3. 제 1항에 있어서, 상기 복수의 압축 해제기(80, 82, 84)는 상기 메모리(60)로부터 상기 움직임 보상 네트워크(90)로 데이터를 제공하기 위해 배치되는, MPEG 호환 가능한 신호 처리 네트워크.
  4. 제 1항에 있어서, 상기 복수의 압축 해제기, 상기 메모리, 및 상기 움직임 보상 네트워크를 포함하는 차분 펄스 코드 변조(DPCM: Differential Pulse Code Modulation) 루프를 더 포함하는, MPEG 호환 가능한 신호 처리 네트워크.
  5. 제 1항에 있어서, 상기 압축 해제기는 유사한 병렬 압축 해제기를 포함하는, MPEG 호환 가능한 신호 처리 네트워크.
  6. 제 1항에 있어서, 상기 메모리는 이미지 화소를 나타내는 데이터의 압축된 블록을 저장하고, 또한 상기 복수의 압축 해제기는 블록 압축 해제기를 포함하는, MPEG 호환 가능한 신호 처리 네트워크.
  7. MPEG 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법에 있어서,
    상기 데이터스트림으로부터 유도되고, 이미지를 나타내는 화소 블록의 전체 프레임을 나타내는 압축된 이미지 데이터를 메모리(60)에 저장하는 단계와;
    디스플레이 프로세서(70)에 의하여 처리하기 위한 최종적으로 디코딩되고 움직임 보상된 화소 데이터를 생성시키기 위하여 예측된 이미지 데이터를 움직임 보상 처리하는 단계(90)와;
    상기 압축해제된 데이터로부터 예측된 이미지 데이터를 생성하기 위해, 복수의 병렬 블록 압축 해제기(80, 82, 84)를 포함하는 제어 루프를 사용하여 상기 메모리에 저장된 상기 데이터를 압축 해제하는 단계를,
    포함하는, MPEG 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법.
  8. 제 7항에 있어서, 상기 데이터스트림은 고해상도 비디오 정보를 나타내는 데 이터를 포함하는, MPEG 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법.
  9. 제 7항에 있어서, 상기 저장 단계는 이미지 화소를 나타내는 데이터의 압축된 블록을 저장하고, 또한 상기 압축 해제 단계는 병렬 압축 해제기(80 내지 84)를 사용하는, MPEG 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법.
  10. 이미지 화소 데이터를 나타내는 압축된 MPEG 코딩된 정보의 데이터스트림을 처리하기 위한 시스템 내에서, 디스플레이 프로세서에 의하여 처리하는데 적합한 추가 디코딩된 화소 데이터를 생성시키기 위한 MPEG 호환 가능한 디코딩 방법에 있어서,
    제 1 압축 해제된 데이터를 생성시키기 위하여 상기 압축된 데이터를 압축 해제하는 단계와,
    재압축된 데이터를 생성시키기 위하여 상기 압축 해제된 데이터를 재압축하는 단계와,
    상기 재압축된 데이터를 메모리에 저장하는 단계와,
    이미지를 나타내는 화소 블록의 전체 프레임을 나타내는 제 2 압축 해제된 데이터를 생성시키기 위하여 다수의 병렬 압축 해제기를 사용하여 상기 메모리로부터 재압축된 데이터를 압축 해제하는 단계와, 및
    상기 추가 디코딩된 화소 데이터를 생성시키기 위하여 상기 제 2 압축 해제된 데이터를 움직임 보상 처리하는 단계를 포함하는, MPEG 호환 가능한 디코딩 방법.
  11. 제 10항에 있어서, 상기 데이터스트림은 고해상도 비디오 정보를 포함하는, MPEG 호환 가능한 디코딩 방법.
  12. 제 10항에 있어서, 상기 메모리는 프레임 메모리인, MPEG 호환 가능한 디코딩 방법.
  13. 제 12항에 있어서, 상기 복수의 압축 해제기는 전방 화소 예측 정보(forward pixel prediction information)를 처리하기 위한 복수의 압축 해제기와 후방 화소 예측 정보(backward pixel prediction information)를 처리하기 위한 복수의 압축 해제기를 포함하는, MPEG 호환 가능한 디코딩 방법.
  14. 삭제
KR1019997004917A 1996-12-18 1997-12-15 Mpeg 호환 가능한 신호 처리 네트워크, mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 mpeg 호환 가능한 디코딩 방법 KR100563488B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP96402785.8 1996-12-18
EP96402785 1996-12-18

Publications (2)

Publication Number Publication Date
KR20000057376A KR20000057376A (ko) 2000-09-15
KR100563488B1 true KR100563488B1 (ko) 2006-03-27

Family

ID=8225352

Family Applications (10)

Application Number Title Priority Date Filing Date
KR10-1999-7004727A KR100510208B1 (ko) 1996-12-18 1997-09-30 다중 포맷의 비디오 신호 처리 시스템 및 신호 처리 방법
KR10-1999-7004713A KR100517993B1 (ko) 1996-12-18 1997-09-30 효율적인 고정-길이 블록 압축 및 압축해제
KR1019997004917A KR100563488B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 신호 처리 네트워크, mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 mpeg 호환 가능한 디코딩 방법
KR1019997004918A KR100542146B1 (ko) 1996-12-18 1997-12-15 Mpeg 코딩된 이미지 표현 데이터의 디지털 데이터스트림을 처리하는 방법 및 시스템
KR1019997005110A KR100542624B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 신호 처리 시스템 및 압축된 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
KR1019997005062A KR100549733B1 (ko) 1996-12-18 1997-12-15 방해 받은 소스 데이터가 존재하는 경우에 데이터스트림 연속성을 유지하기 위한 방법 및 장치
KR1019997005112A KR100543132B1 (ko) 1996-12-18 1997-12-15 인터리브된 데이터 처리 방법 및 시스템
KR1019997004916A KR100552576B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 디지털 신호 처리 시스템 및 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
KR1019997005111A KR100774494B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 압축된 이미지 데이터스트림을 디지털 방식으로 처리하기 위한 방법 및 mpeg 호환 가능한 디코더
KR10-1999-7004729A KR100510207B1 (ko) 1996-12-18 1997-12-15 복수의 포맷을 가진 비디오 신호들을 처리하기 위한 프로세서 및 그 처리 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR10-1999-7004727A KR100510208B1 (ko) 1996-12-18 1997-09-30 다중 포맷의 비디오 신호 처리 시스템 및 신호 처리 방법
KR10-1999-7004713A KR100517993B1 (ko) 1996-12-18 1997-09-30 효율적인 고정-길이 블록 압축 및 압축해제

Family Applications After (7)

Application Number Title Priority Date Filing Date
KR1019997004918A KR100542146B1 (ko) 1996-12-18 1997-12-15 Mpeg 코딩된 이미지 표현 데이터의 디지털 데이터스트림을 처리하는 방법 및 시스템
KR1019997005110A KR100542624B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 신호 처리 시스템 및 압축된 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
KR1019997005062A KR100549733B1 (ko) 1996-12-18 1997-12-15 방해 받은 소스 데이터가 존재하는 경우에 데이터스트림 연속성을 유지하기 위한 방법 및 장치
KR1019997005112A KR100543132B1 (ko) 1996-12-18 1997-12-15 인터리브된 데이터 처리 방법 및 시스템
KR1019997004916A KR100552576B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 디지털 신호 처리 시스템 및 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
KR1019997005111A KR100774494B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 압축된 이미지 데이터스트림을 디지털 방식으로 처리하기 위한 방법 및 mpeg 호환 가능한 디코더
KR10-1999-7004729A KR100510207B1 (ko) 1996-12-18 1997-12-15 복수의 포맷을 가진 비디오 신호들을 처리하기 위한 프로세서 및 그 처리 방법

Country Status (13)

Country Link
EP (10) EP0945022B1 (ko)
JP (12) JP3907705B2 (ko)
KR (10) KR100510208B1 (ko)
CN (15) CN1250010C (ko)
AU (10) AU4601697A (ko)
BR (4) BR9713712A (ko)
DE (8) DE69719365T2 (ko)
HK (5) HK1026100A1 (ko)
MY (7) MY117533A (ko)
RU (4) RU2217879C2 (ko)
TR (1) TR199901359T2 (ko)
TW (3) TW366662B (ko)
WO (10) WO1998027734A1 (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US8674932B2 (en) 1996-07-05 2014-03-18 Anascape, Ltd. Image controller
EP0945022B1 (en) * 1996-12-18 2003-02-26 Thomson Consumer Electronics, Inc. Efficient fixed-length block compression and decompression
US6748020B1 (en) 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
US7006147B2 (en) * 2000-12-22 2006-02-28 Thomson Lincensing Method and system for MPEG chroma de-interlacing
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
CN1306710C (zh) * 2001-04-11 2007-03-21 华邦电子股份有限公司 可程序化的运行长度译码器
DE10139066A1 (de) * 2001-08-09 2003-02-27 Rohde & Schwarz Verfahren und Anordnung zum Verbessern der Empfangseigenschaften von DVB-Signalen
CA2435757C (en) 2001-11-29 2013-03-19 Matsushita Electric Industrial Co., Ltd. Video coding distortion removal method and apparatus using a filter
EP1328114A1 (en) * 2002-01-10 2003-07-16 Canal+ Technologies Société Anonyme Image resolution management in a receiver/decoder
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US20030202606A1 (en) * 2002-04-05 2003-10-30 Michael Tinker Multi-phase processing for real-time display of a compressed video bitstream
EP2933756B1 (en) * 2002-04-23 2020-04-29 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
US9577667B2 (en) 2002-04-23 2017-02-21 Ntt Docomo, Inc. System and method for arithmetic encoding and decoding
US7031388B2 (en) * 2002-05-06 2006-04-18 Koninklijke Philips Electronics N.V. System for and method of sharpness enhancement for coded digital video
US7469012B2 (en) 2002-05-14 2008-12-23 Broadcom Corporation System and method for transcoding entropy-coded bitstreams
EP2860979A1 (en) * 2002-05-28 2015-04-15 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
JP4015890B2 (ja) * 2002-06-28 2007-11-28 松下電器産業株式会社 画素ブロックデータ生成装置および画素ブロックデータ生成方法
FR2844130B1 (fr) 2002-09-04 2004-11-19 St Microelectronics Sa Procede de traitement de donnees audio/video au sein d'un lecteur de disque audio/video, et lecteur correspondant.
US7748020B2 (en) * 2002-10-08 2010-06-29 Canon Kabushiki Kaisha Receiving apparatus and method for processing interruptions in streaming broadcasts
US7126955B2 (en) 2003-01-29 2006-10-24 F5 Networks, Inc. Architecture for efficient utilization and optimum performance of a network
US20040161039A1 (en) * 2003-02-14 2004-08-19 Patrik Grundstrom Methods, systems and computer program products for encoding video data including conversion from a first to a second format
US7126822B2 (en) 2003-03-31 2006-10-24 Intel Corporation Electronic packages, assemblies, and systems with fluid cooling
US9330060B1 (en) * 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8423597B1 (en) 2003-08-29 2013-04-16 Nvidia Corporation Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation
KR100561417B1 (ko) 2004-02-09 2006-03-16 삼성전자주식회사 Av 데이터의 재생상태를 전환할 수 있는 인터랙티브그래픽 스트림을 기록한 정보저장매체, 그 재생방법 및 장치
WO2005104560A1 (en) * 2004-04-27 2005-11-03 Koninklijke Philips Electronics N.V. Method of processing decoded pictures.
US8159940B1 (en) 2004-11-11 2012-04-17 F5 Networks, Inc. Obtaining high availability using TCP proxy devices
KR100690130B1 (ko) * 2004-12-02 2007-03-08 엘지전자 주식회사 복수 포맷 비디오 기록/재생 장치 및 방법
KR100609548B1 (ko) * 2005-01-05 2006-08-08 엘지전자 주식회사 다중방식 영상 기록 재생 시스템 및 방법
CN100394398C (zh) * 2005-01-07 2008-06-11 深圳清华大学研究院 一种avs视频解码验证方法和装置
KR100763178B1 (ko) 2005-03-04 2007-10-04 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
CN102176754B (zh) * 2005-07-22 2013-02-06 三菱电机株式会社 图像编码装置和方法、以及图像解码装置和方法
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
KR20070048025A (ko) * 2005-11-03 2007-05-08 삼성전자주식회사 멀티미디어 데이터를 출력하는 장치 및 방법
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
JP4517300B2 (ja) * 2006-01-06 2010-08-04 ソニー株式会社 表示装置および表示方法、学習装置および学習方法、並びにプログラム
MX357910B (es) * 2006-07-06 2018-07-30 Thomson Licensing Método y aparato para desacoplar el número de cuadro y/o la cuenta del orden de imagen (poc) para la codificación y decodificación de video de múltiples vistas.
ZA200900857B (en) 2006-07-06 2010-05-26 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding
US7529416B2 (en) * 2006-08-18 2009-05-05 Terayon Communication Systems, Inc. Method and apparatus for transferring digital data between circuits
US7471218B2 (en) * 2006-09-18 2008-12-30 National Semiconductor Corporation Methods and systems for efficiently storing and retrieving streaming data
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8873625B2 (en) 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
JP2009135836A (ja) * 2007-11-30 2009-06-18 Victor Co Of Japan Ltd ディジタル画像無線伝送装置及びその画像データ処理方法、ディジタル画像無線受信装置及びディジタル画像無線送受信システム
JP5214742B2 (ja) * 2008-01-21 2013-06-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 予測に基づく画像処理
US8331664B2 (en) 2008-01-21 2012-12-11 Telefonaktiebolaget Lm Ericsson (Publ) Prediction-based image processing
CN101252707A (zh) * 2008-03-21 2008-08-27 华为技术有限公司 一种消息的生成、解析方法及装置
EP2128822B1 (en) 2008-05-27 2012-01-04 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Index-based pixel block processing
JPWO2010116869A1 (ja) * 2009-04-08 2012-10-18 シャープ株式会社 動画像符号化装置および動画像復号装置
FR2944936A1 (fr) 2009-04-23 2010-10-29 Thomson Licensing Procedes de codage et de decodage d'un bloc de donnees images, dispositifs de codage et de decodage implementant lesdits procedes
CN102414991B (zh) * 2009-04-24 2014-11-05 诺基亚公司 用于解码器的数据重排
US20120087595A1 (en) * 2009-06-19 2012-04-12 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
JP5257319B2 (ja) 2009-10-09 2013-08-07 株式会社Jvcケンウッド 画像符号化装置及び画像符号化方法
US20110292247A1 (en) * 2010-05-27 2011-12-01 Sony Corporation Image compression method with random access capability
TWI426465B (zh) * 2010-06-07 2014-02-11 V R Thchnology Co Ltd 使用jpeg用於顯示及記錄的彩色影像旋轉之方法及裝置
WO2012005520A2 (en) 2010-07-09 2012-01-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
CN106454379B (zh) * 2010-09-30 2019-06-28 三菱电机株式会社 运动图像编码装置及其方法、运动图像解码装置及其方法
CN102821275B (zh) * 2011-06-08 2017-08-08 南京中兴软件有限责任公司 数据压缩方法及装置、数据解压缩方法及装置
JP2013038688A (ja) * 2011-08-10 2013-02-21 Ntt Electornics Corp 動画符号化配信システム
JP5698644B2 (ja) * 2011-10-18 2015-04-08 株式会社Nttドコモ 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム
CN106937113B (zh) * 2011-12-05 2020-06-02 同济大学 基于混合色度采样率的图像压缩方法和装置
CA2898147C (en) * 2012-01-30 2017-11-07 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
US9503724B2 (en) * 2012-05-14 2016-11-22 Qualcomm Incorporated Interleave block processing ordering for video data coding
US9798698B2 (en) 2012-08-13 2017-10-24 Nvidia Corporation System and method for multi-color dilu preconditioner
US20140134351A1 (en) * 2012-11-09 2014-05-15 Applied Materials, Inc. Method to deposit cvd ruthenium
CN102970597A (zh) * 2012-11-20 2013-03-13 深圳市同洲电子股份有限公司 一种音视频传输的方法及数字电视终端
RU2526890C1 (ru) * 2013-02-01 2014-08-27 Александр Александрович Ваниев Устройство селекции подвижных целей
US9432614B2 (en) 2013-03-13 2016-08-30 Qualcomm Incorporated Integrated downscale in video core
KR101835316B1 (ko) * 2013-04-02 2018-03-08 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
CA2923439C (en) * 2013-10-14 2018-08-21 Mediatek Singapore Pte. Ltd. Method of residue differential pulse-code modulation for hevc range extension
CN104717443B (zh) * 2013-12-12 2017-08-25 中国航空工业集团公司第六三一研究所 多视频格式向SMPTE274协议1080i分辨率视频的自动转换方法
CN104717445B (zh) * 2013-12-12 2017-11-24 中国航空工业集团公司第六三一研究所 多视频格式向bt.656协议ntsc制式视频的自动转换方法
CN104717442B (zh) * 2013-12-12 2018-02-09 中国航空工业集团公司第六三一研究所 多视频格式向VESA协议1600X1200分辨率60Hz帧率视频的自动转换方法
KR101623109B1 (ko) * 2014-05-29 2016-05-20 부산대학교 산학협력단 Fpga에서 물리적 복제 방지 함수 회로를 구현하기 위한 장치
US10841597B2 (en) 2015-06-05 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) Encoding a pixel of an input video sequence
RU2607851C1 (ru) * 2015-08-04 2017-01-20 Открытое акционерное общество "Научно-производственный испытательный центр "АРМИНТ" Устройство селекции подвижных целей
US10798396B2 (en) * 2015-12-08 2020-10-06 Samsung Display Co., Ltd. System and method for temporal differencing with variable complexity
US10691361B2 (en) 2017-02-24 2020-06-23 Microsoft Technology Licensing, Llc Multi-format pipelined hardware decompressor
RU2669874C1 (ru) * 2017-09-15 2018-10-16 Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" (ФГУП "ГосНИИАС") Способы и устройство сжатия изображений. Способ и устройство восстановления изображений
CN107947799B (zh) * 2017-11-28 2021-06-29 郑州云海信息技术有限公司 一种数据压缩方法及装置
GB2569959B (en) * 2018-01-03 2022-12-21 Displaylink Uk Ltd Decoding image data at a display device
US10277390B1 (en) * 2018-01-22 2019-04-30 Arm Limited Reduced-power detection of wireless packets using decimated preamble correlation
CN109088636B (zh) * 2018-07-25 2021-10-29 郑州云海信息技术有限公司 一种数据处理方法、系统及电子设备和存储介质
CN110784225A (zh) * 2018-07-31 2020-02-11 华为技术有限公司 数据压缩、解压方法及相关装置、电子设备、系统
CN109104199A (zh) * 2018-08-29 2018-12-28 重庆物奇科技有限公司 基于霍夫曼编码的编码方法、译码方法及应用
CN109120273A (zh) * 2018-08-29 2019-01-01 重庆物奇科技有限公司 基于霍夫曼编码的编码装置、译码装置及系统
CN109672923B (zh) * 2018-12-17 2021-07-02 龙迅半导体(合肥)股份有限公司 一种数据处理方法和装置
CN113497627A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 一种数据压缩和解压缩方法、装置及系统
JP7549824B2 (ja) 2020-12-04 2024-09-12 国立大学法人電気通信大学 通信システム、通信方法、およびプログラム
CN113726341B (zh) * 2021-08-25 2023-09-01 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113704206B (zh) * 2021-10-29 2022-02-22 苏州浪潮智能科技有限公司 一种元数据的处理方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0710026A2 (en) * 1994-10-28 1996-05-01 Matsushita Electric Industrial Co., Ltd. Parallel architecture for a high definition television video decoder having multiple independent frame memories

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5422119A (en) * 1977-07-20 1979-02-19 Nec Corp Forecasting encoder/decoder
JPS6329362A (ja) * 1986-07-22 1988-02-08 Hitachi Ltd 映像信号再生装置の時間軸変動補正回路
FR2602936B1 (fr) * 1986-08-13 1988-12-02 Trt Telecom Radio Electr Dispositif de codage a modulation differentielle par impulsions codees, dispositif de decodage associe et systeme de transmission comportant au moins un tel dispositif de codage ou de decodage
DE69031638T2 (de) * 1989-05-19 1998-03-19 Canon Kk System zum Übertragen von Bildinformation
JPH0358585A (ja) * 1989-07-26 1991-03-13 Fujitsu Ltd サブサンプル高速dpcm符号化伝送方式
GB8921319D0 (en) * 1989-09-21 1989-11-08 British Broadcasting Corp Digital coder
GB8929152D0 (en) * 1989-12-22 1990-02-28 Gen Electric A digital augmentation system for actv-ii
US5313471A (en) * 1991-02-26 1994-05-17 Matsushita Electric Industrial Co., Ltd. Error concealing method
US5455629A (en) * 1991-02-27 1995-10-03 Rca Thomson Licensing Corporation Apparatus for concealing errors in a digital video processing system
JPH0556372A (ja) * 1991-08-27 1993-03-05 Toshiba Corp Dsp使用テレビジヨン受像機
EP0551979A3 (en) * 1992-01-14 1994-09-14 Matsushita Electric Ind Co Ltd High efficiency coding apparatus
JPH05292423A (ja) * 1992-04-10 1993-11-05 Hitachi Ltd テレビジョン受像機
KR950009680B1 (ko) * 1992-05-19 1995-08-25 주식회사금성사 영상 압축/신장 시스템의 영상 디코더
US5289577A (en) * 1992-06-04 1994-02-22 International Business Machines Incorporated Process-pipeline architecture for image/video processing
EP0574901A2 (en) * 1992-06-16 1993-12-22 Kabushiki Kaisha Toshiba Image signal processor
SG44005A1 (en) * 1992-12-11 1997-11-14 Philips Electronics Nv System for combining multiple-format multiple-source video signals
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
JP3224465B2 (ja) * 1993-12-22 2001-10-29 シャープ株式会社 画像符号化装置
JP3541413B2 (ja) * 1994-01-31 2004-07-14 ソニー株式会社 情報信号伝送方法及び装置
EP0687111B1 (de) * 1994-06-06 2003-08-06 sci worx GmbH Verfahren zur Codierung/Decodierung eines Datenstroms
DE69535800D1 (de) * 1994-06-08 2008-09-11 Matsushita Electric Ind Co Ltd Bildumsetzungsvorrichtung
KR0134483B1 (ko) * 1994-06-14 1998-05-15 배순훈 디코더에 있어서 어드레스 보정 회로(address correction circuit of the decoder)
EP0692911B1 (en) * 1994-07-15 2000-03-08 Matsushita Electric Industrial Co., Ltd. Method of splicing MPEG encoded video
JPH0898105A (ja) * 1994-09-29 1996-04-12 Toshiba Corp テレビジョン受信機
US5644361A (en) * 1994-11-30 1997-07-01 National Semiconductor Corporation Subsampled frame storage technique for reduced memory size
GB2296618B (en) * 1994-12-30 2003-03-26 Winbond Electronics Corp System and method for digital video decoding
KR100213048B1 (ko) * 1995-09-29 1999-08-02 윤종용 아날로그와 디지탈 비디오 모드를 갖는 수신기와 그 수신방법
KR0157570B1 (ko) * 1995-11-24 1999-02-18 김광호 복수경로를 통해 mpeg2 비트열을 복호하는 복호화장치
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
US5818530A (en) * 1996-06-19 1998-10-06 Thomson Consumer Electronics, Inc. MPEG compatible decoder including a dual stage data reduction network
EP0817498B1 (en) * 1996-06-28 2001-08-22 STMicroelectronics S.r.l. MPEG-2 decoding with a reduced RAM requisite by ADPCM recompression before storing MPEG-2 decompressed data optionally after a subsampling algorithm
EP0945022B1 (en) * 1996-12-18 2003-02-26 Thomson Consumer Electronics, Inc. Efficient fixed-length block compression and decompression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0710026A2 (en) * 1994-10-28 1996-05-01 Matsushita Electric Industrial Co., Ltd. Parallel architecture for a high definition television video decoder having multiple independent frame memories

Also Published As

Publication number Publication date
EP0945001B1 (en) 2003-04-23
EP0945028A1 (en) 1999-09-29
KR100543132B1 (ko) 2006-01-20
WO1998027734A1 (en) 1998-06-25
DE69716465T2 (de) 2003-02-20
KR100542146B1 (ko) 2006-01-12
EP0945025A1 (en) 1999-09-29
EP0947092B1 (en) 2003-05-07
EP0945027A1 (en) 1999-09-29
AU5381198A (en) 1998-07-15
HK1087284A1 (en) 2006-10-06
WO1998027741A1 (en) 1998-06-25
EP0945022A1 (en) 1999-09-29
JP2001506453A (ja) 2001-05-15
TW369774B (en) 1999-09-11
WO1998027720A1 (en) 1998-06-25
AU5797498A (en) 1998-07-15
MY117533A (en) 2004-07-31
KR20000057375A (ko) 2000-09-15
DE69721819T2 (de) 2003-11-20
DE69716467D1 (de) 2002-11-21
DE69720513T2 (de) 2003-11-13
BR9713747A (pt) 2000-03-21
DE69716467T2 (de) 2003-02-20
CN1246233A (zh) 2000-03-01
DE69719797T2 (de) 2003-08-14
WO1998027737A1 (en) 1998-06-25
JP2001506454A (ja) 2001-05-15
KR20000057467A (ko) 2000-09-15
EP0947105B1 (en) 2003-02-12
CN1149855C (zh) 2004-05-12
HK1026551A1 (en) 2000-12-15
KR100542624B1 (ko) 2006-01-12
CN1496130A (zh) 2004-05-12
CN1516475A (zh) 2004-07-28
KR100774494B1 (ko) 2007-11-08
MY120436A (en) 2005-10-31
DE69721819D1 (de) 2003-06-12
EP0945029A1 (en) 1999-09-29
EP0945025B1 (en) 2002-10-16
CN100518319C (zh) 2009-07-22
BR9714679A (pt) 2000-10-03
CN1246247A (zh) 2000-03-01
CN1246244A (zh) 2000-03-01
MY118698A (en) 2005-01-31
JP4648377B2 (ja) 2011-03-09
AU4601697A (en) 1998-07-15
DE69719070T2 (de) 2003-07-31
CN100341335C (zh) 2007-10-03
AU4507097A (en) 1998-07-15
KR20000057300A (ko) 2000-09-15
BR9714678A (pt) 2000-10-03
CN1246250A (zh) 2000-03-01
CN1153451C (zh) 2004-06-09
TW358309B (en) 1999-05-11
EP0947105A1 (en) 1999-10-06
EP0947092A1 (en) 1999-10-06
HK1026323A1 (en) 2000-12-08
KR20000057376A (ko) 2000-09-15
WO1998027743A1 (en) 1998-06-25
CN1153472C (zh) 2004-06-09
JP2008271610A (ja) 2008-11-06
CN1247003A (zh) 2000-03-08
MY119023A (en) 2005-03-31
BR9713712A (pt) 2000-02-08
CN1735207A (zh) 2006-02-15
JP2001506456A (ja) 2001-05-15
KR20000057466A (ko) 2000-09-15
AU5527598A (en) 1998-07-15
JP4588122B2 (ja) 2010-11-24
CN1246249A (zh) 2000-03-01
JP3907706B2 (ja) 2007-04-18
AU5523598A (en) 1998-07-15
BR9714679B1 (pt) 2009-05-05
KR20000057442A (ko) 2000-09-15
JP2008113458A (ja) 2008-05-15
CN1172535C (zh) 2004-10-20
JP2001506452A (ja) 2001-05-15
CN1246234A (zh) 2000-03-01
CN1153471C (zh) 2004-06-09
DE69719070D1 (de) 2003-03-20
JP2001506834A (ja) 2001-05-22
DE69719797D1 (de) 2003-04-17
JP2001506455A (ja) 2001-05-15
DE69716465D1 (de) 2002-11-21
KR20000057301A (ko) 2000-09-15
AU5698598A (en) 1998-07-15
CN1247669A (zh) 2000-03-15
RU2217879C2 (ru) 2003-11-27
JP2001526848A (ja) 2001-12-18
CN1146246C (zh) 2004-04-14
EP0945022B1 (en) 2003-02-26
EP0947103A1 (en) 1999-10-06
KR100549733B1 (ko) 2006-02-07
MY119348A (en) 2005-05-31
CN1246245A (zh) 2000-03-01
WO1998027739A1 (en) 1998-06-25
WO1998027740A1 (en) 1998-06-25
RU2214066C2 (ru) 2003-10-10
KR20000057468A (ko) 2000-09-15
CN1250010C (zh) 2006-04-05
KR100517993B1 (ko) 2005-09-29
RU2215375C2 (ru) 2003-10-27
WO1998027742A1 (en) 1998-06-25
HK1066133A1 (en) 2005-03-11
JP2001505386A (ja) 2001-04-17
EP0945028B1 (en) 2003-04-02
CN1191720C (zh) 2005-03-02
KR100510208B1 (ko) 2005-08-26
TR199901359T2 (xx) 1999-09-21
RU2204217C2 (ru) 2003-05-10
WO1998027721A1 (en) 1998-06-25
CN1571518A (zh) 2005-01-26
DE69721299D1 (de) 2003-05-28
KR100510207B1 (ko) 2005-08-26
EP0947103B1 (en) 2002-10-16
DE69719365D1 (de) 2003-04-03
KR100552576B1 (ko) 2006-02-16
KR20000057296A (ko) 2000-09-15
WO1998027738A1 (en) 1998-06-25
EP0945001A1 (en) 1999-09-29
CN100423583C (zh) 2008-10-01
AU5897398A (en) 1998-07-15
EP0945027B1 (en) 2003-03-12
EP0945029B1 (en) 2002-10-16
CN1245032C (zh) 2006-03-08
TW366662B (en) 1999-08-11
JP2001506446A (ja) 2001-05-15
EP0947104A1 (en) 1999-10-06
MY117030A (en) 2004-04-30
HK1026100A1 (en) 2000-12-01
CN1738428A (zh) 2006-02-22
CN1139260C (zh) 2004-02-18
DE69720513D1 (de) 2003-05-08
DE69721299T2 (de) 2003-11-06
KR20000057377A (ko) 2000-09-15
JP4627812B2 (ja) 2011-02-09
AU5381098A (en) 1998-07-15
JP2001506457A (ja) 2001-05-15
CN1166214C (zh) 2004-09-08
EP0947104B1 (en) 2002-11-13
CN1153452C (zh) 2004-06-09
DE69719365T2 (de) 2003-10-16
BR9714678B1 (pt) 2011-04-19
CN1246248A (zh) 2000-03-01
JP3907705B2 (ja) 2007-04-18
AU5698098A (en) 1998-07-15
MY119474A (en) 2005-05-31

Similar Documents

Publication Publication Date Title
KR100563488B1 (ko) Mpeg 호환 가능한 신호 처리 네트워크, mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 mpeg 호환 가능한 디코딩 방법
US6970504B1 (en) Parallel decoding of interleaved data streams within an MPEG decoder
US6594315B1 (en) Formatting of recompressed data in an MPEG decoder
US6879631B1 (en) Selective compression network in an MPEG compatible decoder
MXPA99005605A (en) Formatting of recompressed data in an mpeg decoder
MXPA99005591A (en) Parallel decompressors for recompressed pixel data within an mpeg decoder

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