KR20000057442A - 방해 받은 소스 데이터가 존재하는 경우에 데이터스트림 연속성을 유지하기 위한 시스템 - Google Patents

방해 받은 소스 데이터가 존재하는 경우에 데이터스트림 연속성을 유지하기 위한 시스템 Download PDF

Info

Publication number
KR20000057442A
KR20000057442A KR1019990705062A KR19997005062A KR20000057442A KR 20000057442 A KR20000057442 A KR 20000057442A KR 1019990705062 A KR1019990705062 A KR 1019990705062A KR 19997005062 A KR19997005062 A KR 19997005062A KR 20000057442 A KR20000057442 A KR 20000057442A
Authority
KR
South Korea
Prior art keywords
data
datastream
pixel
network
block
Prior art date
Application number
KR1019990705062A
Other languages
English (en)
Other versions
KR100549733B1 (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 KR20000057442A publication Critical patent/KR20000057442A/ko
Application granted granted Critical
Publication of KR100549733B1 publication Critical patent/KR100549733B1/ko

Links

Classifications

    • 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
    • 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
    • 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

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

방해 받은 소스 데이터가 존재하는 경우에 데이터스트림 연속성을 유지하기 위한 시스템{SYSTEM FOR MAINTAINING DATASTREAM CONTINUITY IN THE PRESENCE OF DISRUPTED SOURCE DATA}
디지털 기술의 급속한 진보는 고해상도 텔레비젼(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)값을 요구하기 때문에, 중요하다.
본 발명은 디지털 이미지를 나타내는 정보를 처리하는 것에 관한 것이다.
도 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,200bytes/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과 연결하여 설명될 것이다.
화소 블록 데이터는, 역양자화기(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)한다.
재구성된 화소 블록들은, 비디오 프레임 메모리(20)의 내용에 기초한 움직임 보상 유닛(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 데이터를 압축하기 위하여 공유된다. 압축기(42)를 위한 LUT 는 데이터(B 및 D)의 압축 동안에 마찬가지로 공유된다.
도 11은 도 1에서 데이메이션 필터(36)의 입력에 데이터 파이프(1)로부터 적용되는 화소 데이터의 순서를 도시한다. 필터(36)에 의한 데시메이션은 도 12의 화소 데이터 순서를 생성시키는데, 이 순서는 네트워크(43)를 재정렬(reordering)의 입력에 적용된다. 도 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에서 데시메이션 필터(38)에 대한 데이터 파이프(2)로부터 적용되는 화소 데이터의 순서를 도시한다.
도 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)은 재정렬 네트워크(43)로 입력되는 데시메이터 네트워크(36, 38)에서 출력되는 데이터를 각각 나타낸다. 앞서 논의된 바와 같이, 화소들은 데이터스트림(15-1 내지 15-4) 내에 도시된 바와 같이 인터리브된다. 데이터스트림(15-1 및 15-3)은 파이프라인(P1)으로부터 나오는 데이터를 나타내고, 데이터스트림(15-2 및 15-4)는 파이프라인(P2)로부터 나오는 데이터를 나타낸다. 데이터스트림(15-5)은 스위치(45)를 경유하여 재압축기(40)에 입력되는, 재정렬 네트워크(43)에서 출력되는 데이터를 나타낸다. 화소들이 시스템을 통과함에 따라, 데이터 화소들의 타이밍을 예시하기 위해 제공되는 화소 클록(CLK)이 도 15A 의 바닥에 도시된다. 예시적인 도면과 같이, 선택된 데이터 화소들은 재정렬 방법을 통하여 따라가질 것이다. 이 방법은 두 파이프라인으로부터 나오는 데이터에 대하여 동일하다. 데이터스트림(15-1 및 15-2)의 화소들은 크로미넌스 화소 매크로블록을 나타낸다. 이 방법은 휘도 화소 매크로블록에 대하여 동일하기는 하나, 이 재정렬이 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)에 도시된 바와 같은 연속인 데이터 출력을 제공하게 된다. 이 지연은, 텔레비젼 수신기가 초기에 전원 공급을 받을 때, 채널이 변경될 때, 또는 임의의 시간에 데이터 동기화가 수립될 때, 생성하는 것과 같은, 파이프라인(P1 및 P2)을 경유하여 흐르고 재정렬 네트워크(43)에 도달하기 위해 제 1 데이터로 생성한다. 초기의 지연 후에, 데이터는 클록 사이클을 잃지 않고 연속이 된다.
도 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), 판독/기록 인에이블 및 주소 정보 예를 들어, 버스 인터페이스(122)와 내부 제어 버스(114)에 연결되어 있는 제어기(126)를 부가적으로 포함한다. 이 예에서, 마이크로프로세서(120)는 MPEG 디코더를 포함하는 집적 회로에 외부적으로 위치된다.
디스플레이 프로세서(70)는 유닛(72)에 의하여 디스플레이 하기 위한 미리 결정된 포맷으로 디코딩된 이미지 포맷을 변환하기 위하여 필요로 하는 바와 같은 수평 및 수직 재샘플링 필터를 포함한다. 예를 들어, 이 시스템은 서로 얽갈린(interlaced) 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%의 압축으로, 열(train)을 지은 관측자는 거의 눈에 띄는 인공물(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)에 의하여 각각 양자화와 역양자화를 받기 쉽다. 구성 요소(222)에 의하여 제공된 양자화는 이 예에서 고정되고 또한 데이터 압축의 바람직한 고정된 양을 보장한다. 구성 요소(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 나노초의 지연을 맞추는(tailing) 것을 용이하게 한다. 이 점에 있어서는, 각 지연 경로와 관련된 확장 신호 처리가 이 지연을 맞추게 하기 위하여 여러 수단을 제공한다는 것이 주목된다. 2개의 지연 경로에 의하여 나타내진 지연은 중요하지 않다. 회로는, 각 지연이 주기적인 54 메가 헤르츠 클록의 대략적으로 하나의 클록 사이클을 나타내도록 클록에 대하여 최적화되는 것이 바람직하다. 그러나, 다른 시스템에서는, 소정의 회로에 대하여 클록 사이클을 맞추는 것, 예컨대 불규칙적이거나 주기적이지 않은 클록 사이클을 생성시키는 것이 적절할 수가 있다. 2개의 지연 경로가 동일한 신호 처리 지연을 나타낼 필요는 없으나, 대략적으로 동일한 지연이 개시된 시스템에 있는 것이 바람직하다.
Δ1 및 Δ2와 같은 2개의 신호 처리 경로는, 구성 요소(232 및 240)가 없는 경우에 있어서와 같은 하나의 전체 경로보다 더 쉽게 신호 처리 지연을 위하여 최적화될 수 있다. 구성 요소(232 및 240)에 의하여 정의된 바와 같은 2개의 경로의 경우에, 각 경로는 다른 경로로부터의 결과값을 대기하지 않고 동작을 시작할 수 있다. 단일 경로 시스템의 경우에, 각 화소값(예컨대, 구성 요소(234, 215 및 225)에 입력 노드(nod)에 있는 화소값)은, 예측기 논리, 가산기, 양자화 및 역양자화를 포함하는 몇몇 기능에 의하여 처리되어야만 하고, 또한 그 다음의 클록 사이클이 시작하기에 앞서 이 경로의 마지막에 나타나야 한다. 더욱이, 그런 화소값은 그러한 시간에 안정적이어야 한다. 이것은, 좀더 자유를 나타내는, 개시된 복수의 경로 시스템에는 존재하지 않는, 심한 제약 조건이 된다.
도 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)에 의하여 양자화(압축)되고, 또한 모두 제 1 클록 사이클 내에, 레지스터(232)의 입력에 나타나기에 앞서 유닛(222)에 의하여 역양자화된다. 이 지점에서 화소(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의 매크로블록 간격에 걸친 반복적인 지연은 내성(tolerated)이 있는 것이 기대된다.
반복 데이터는 소스 방해가 일어날 때 널 데이터를 처리하는 것이 효과적이지 않기 때문에 널 데이터를 추가하는 것이 바람직하다. 다른 데이터와 마찬가지로, 널 데이터는 메모리에 저장되고, 클록 사이클은 널 데이터 상태에서부터 복구하는 것으로, 예컨대 널 데이터가 제거된 이후에 유효 데이터를 적재하는데 소비된다. 이것은 고해상도 텔레비젼 시스템과 같은 데이터 집약 시스템에서 중요한 고려 사항인데, 거기서 메모리 대역폭은 매우 중요하고, 데이터 처리를 위해 요구되는 클록 사이클의 수는 가능한 한 많이 감소되어야 한다.
도 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을 반복시키게 된다. 이 홀트 신호는 다중화기(238 및 244)의 제어 입력에 연결되는데 그 결과 이 홀트 신호의 "1" 상태는 각 다중화기로 하여금 연결된 신호를 다중화기의 "1"의 스위칭 입력, 이 경우에는 Y 데이터 성분에 전송하게 한다.
입력 신호 파형의 빗금친 성분은 빠진 Y2 성분을 나타내는데, 즉 Y 성분이 성분(Y1) 이후에 제 2 소스에 의하여 송출되지 않는 것이다. Y1 성분은 3개의 Req/Ackn 사이클 동안에 반복되는데, 이것에 의하여 도 24의 출력 파형에 도시된 바와 같이, 3개의 홀트 신호가 생성되고, 성분(Y1)이 3번 반복된다. 그 후, 제 2 소스는 데이터 성분(X5)을 따라가는 출력 파형 순서에 나타나는, 성분(Y2)을 위해 Ackn 신호를 생성시킨다.
이 홀트 신호는 또한 데이터스트림 내에 반복된 데이터를 무시하도록 압축 해제기에 명령하기 위하여 관련된 압축 해제기 네트워크의 제어 입력에 제공된다. 앞서 언급된 바와 같이, 인터리브 된 X, Y 데이터 성분은 독립이고 또한 임의의 특정(수치적인) 순서로 서로 따라갈 필요가 없다. 주어진 입력과 관련된 데이터는 미리 기술된 순서, 예컨대 X5는 X4에 따라오고, 그 다음에 X3가 따라오고, 그 다음에 X2가 따라오고 등등으로 따라 가는 것이 다만 필요하다. 예를 들어, Y2가 X5에 따라간다는 것은 중요하지 않다.
도 28은 병렬 동작을 위하여 배열된 도 23의 네트워크를 도시한다. MUX(336)(도 23)으로부터 인터리브 된 입력 데이터는 다중화기(285 및 286)를 경유하여 병렬 레지스터(280 및 282)에 제공된다. 이 레지스터로부터의 출력은 MUX(284)를 경유하여 데이터 출력 경로 상으로 다중화된다. 다중화기(284, 285, 및 286)의 동작은 각 소스와 관련되는 홀트 1 제어 신호와 홀트 2 제어 신호에 의하여 제어되고 또한 도 23에 연결해서 기술된 바와 같은 효과를 생성시킨다.

Claims (17)

  1. 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 신호 처리 시스템에서, 소스로부터 사용 네트워크(utility network)로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치에 있어서,
    상기 신호 처리 경로는, 이미지 정보를 포함하는 데이터 블록(X)의 데이터스트림으로서, 상기 데이터스트림은 상기 데이터스트림의 소스에서 방해(disruption)를 받게 되는, 상기 데이터스트림을 수신하기 위한 입력(332)(도 23)과,
    미리 결정된 데이터 페이징(phasing)으로 데이터 블록의 흐름을 유지하기 위하여, 방해 받은 데이터스트림으로부터 맨 마지막 유효 데이터 블록이 방해의 지속 기간 동안 미리 결정된 간격으로 반복되게 하기 위한 제어 회로(356, 360, 364)를 포함하는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치.
  2. 제 1항에 있어서, 상기 사용 네트워크는 데이터 압축 해제 네트워크(80 내지 84)인 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치.
  3. 제 1 항에 있어서, 상기 데이터스트림은 전방(forward) MPEG 호환 가능한 움직임 예측 정보 또는 후방(backward) MPEG 호환 가능한 움직임 예측 정보 중 하나를 포함하는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치.
  4. 제 2항에 있어서, 상기 데이터 압축 해제 네트워크는 디스플레이를 위해 최종적으로 디코딩된 이미지 정보를 생성시키기 위하여 MEG 디코더의 움직임 보상 프로세서(90)를 포함하는 차분 펄스 코드 변조(DPCM : Differential Pulse Code Modulation) 네트워크 내에 포함되는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치.
  5. MPEG 호환 가능한 디코더에서, 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법에 있어서,
    디코딩된 데이터를 생성시키기 위하여 MPEG 코딩된 이미지를 나타내는 데이터스트림을 초기에 디코딩하는 단계(a)와,
    초기에 압축 해제된 데이터를 생성시키기 위하여 상기 초기에 디코딩된 데이터를 압축 해제하는 단계(b)와,
    재압축된 데이터를 생성시키기 위하여 상기 초기에 압축 해제된 데이터를 재압축하는 단계(c)와,
    상기 재압축된 데이터를 저장하는 단계(d)와,
    저장되고 재압축된 데이터를 데이터 압축 해제기로 전송하는 단계로서, 미리 결정된 데이터 페이징으로 데이터 블록의 흐름을 유지하도록 방해의 지속 기간 동안 미리 결정된 간격으로 방해 받은 데이터스트림으로부터 맨 마지막 유효 데이터를 반복하는 단계를 포함하는 상기 전송 단계(e)와,
    제 2 압축 해제된 데이터를 생성시키기 위하여 단계(e)에서 전송되어 저장된 재압축 데이터를 압축 해제하는 단계(f)와,
    상기 제 2 압축 해제된 데이터에 움직임 보상 처리를 하는 단계(g)를 포함하는 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
  6. 제 5항에 있어서, 상기 재압축 단계(c), 상기 저장 단계(d), 상기 전송 단계(e), 상기 압축 해제 단계(f), 및 상기 움직임 보상 처리 단계(g)는 디스플레이를 위해 최종적으로 디코딩된 샘플 데이터를 생성시키기 위한 DPCM 움직임 처리 네트워크를 포함하는 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
  7. 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 디지털 신호 처리 시스템에서, 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치에 있어서,
    상기 신호 처리 경로는, 이미지 정보를 포함하는 제 1 데이터 블록(X)의 제 1 데이터스트림으로서, 상기 제 1 데이터스트림은 상기 제 1 데이터스트림의 소스에서 방해를 받게 되는, 상기 제 1 데이터스트림을 수신하기 위한 입력(332)(도 23)과,
    이미지 정보를 포함하는 제 2 데이터 블록(Y)의 제 2 데이터스트림으로서, 상기 제 2 데이터스트림은 상기 제 2 데이터스트림의 소스에서 방해를 받게 되는, 제 2 데이터스트림을 수신하기 위한 입력(334)(도 23)과,
    상기 제 1 및 제 2 데이터스트림을 미리 결정된 간격에 나타나는 상기 제 1 및 제 2 데이터 블록을 가지는 합성 데이터스트림(composite datastream)(도 24)으로 결합하기 위한 회로(336)와,
    제 2 데이터스트림 유형의 데이터에 대하여 제 1 데이터스트림 유형의 데이터의 미리 결정된 페이징으로 데이터 블록 흐름을 유지하기 위하여, 방해 받은 제 1 또는 제 2 데이터스트림으로부터 나오는 맨 마지막 유효 데이터 블록이 방해의 지속 기간 동안 상기 미리 결정된 간격에 상기 합성 데이터스트림 내에 반복되게 하기 위한 제어 회로(356, 360, 364)를 포함하는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 장치.
  8. 제 7항에 있어서, 상기 제어 회로는 방해 받은 데이터스트림을 지시하는 제어 신호(HALT)에 반응하여 상기 반복된 데이터 블록을 생성시키기 위하여 피드백 구성으로 배열된 쉬프트 레지스터 네트워크(338, 340, 342; 344, 346, 350)를포함하는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 시스템.
  9. 제 7항에 있어서, 상기 결합 회로는, 상기 제 1 데이터스트림을 수신하기 위한 제 1 입력과, 상기 제 2 데이터스트림을 수신하기 위한 제 2 입력과, 및 인터리브 된 제 1 및 제 2 데이터 블록을 제공하는 출력을 포함하는 데이터 인터리빙 회로(336)를 포함하는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 시스템.
  10. 제 7항에 있어서, 상기 사용 네트워크는 데이터 압축 해제 네트워크(80 내지 84)(도 1)인 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 시스템.
  11. 제 7항에 있어서, 상기 제 1 데이터스트림은 MPEG 호환 가능한 전방 움직임 예측 정보를 나타내고, 또한 상기 제 2 데이터스트림은 MPEG 호환 가능한 후방 예측 정보를 나타내는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 시스템.
  12. 제 10항에 있어서, 상기 데이터 압축 해제는 디스플레이(70, 72)를 위하여 최종적으로 디코딩된 이미지 정보를 생성시키기 위하여 MPEG 호환 가능한 디코더의 DPCM 움직임 처리 네트워크(80 내지 84, 90, 30 내지 32, 40, 42, 60) 내에 포함되는 소스로부터 사용 네트워크로 데이터를 전송하기 위한 신호 처리 경로를 포함하는 시스템.
  13. 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법에 있어서,
    이미지 정보를 포함하는 제 1 데이터 블록의 제 1 데이터스트림을 생성시키는 단계로서, 상기 제 1 데이터스트림은 상기 제 1 데이터스트림의 소스에 방해를 받게 되는, 상기 제 1 데이터스트림 생성 단계와,
    이미지 정보를 포함하는 제 2 데이터 블록의 제 2 데이터스트림을 생성시키는 단계로서, 상기 제 2 데이터스트림은 상기 제 2 데이터스트림의 소스에 방해를 받게 되는, 상기 제 2 데이터 스트림 생성 단계와,
    상기 제 1 및 제 2 데이터스트림을 미리 결정된 간격에 나타나는 상기 제 1 및 제 2 데이터 블록을 가지는 합성 데이터스트림으로 결합하는 단계와,
    제 2 데이터스트림 유형 데이터에 대하여 제 1 데이터스트림 유형 데이터의 미리 결정된 페이징으로 데이터 블록 흐름을 유지하기 위하여, 방해 받은 제 1 또는 제 2 데이터스트림으로부터 나오는 맨 마지막 유효 데이터 블록이 방해의 지속 기간 동안 상기 미리 결정된 간격으로 상기 합성 데이터스트림 내에 반복되게 하는 단계를 포함하는 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
  14. 제 13항에 있어서, 상기 결합 단계는 인터리브 된 화소 데이터의 결합된 데이터스트림을 생성시키기 위하여 데이터 인터리빙 단계인, 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
  15. 제 13항에 있어서, 상기 합성 데이터스트림을 데이터 압축 해제기에 전송하는 단계를 더 포함하는, 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
  16. 제 13항에 있어서, 상기 제 1 데이터스트림은 MPEG 호환 가능한 전방 움직임 예측 정보를 나타내고, 또한 상기 제 2 데이터스트림은 MPEG 호환 가능한 후방 예측 정보를 나타내는, 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
  17. 제 15항에 있어서, 상기 데이터 압축 해제는 디스플레이를 위하여 최종적으로 디코딩된 이미지 정보를 생성시키기 위하여 MPEG 호환 가능한 디코더의 DPCM 움직임 처리 네트워크 내에 포함되는, 고해상도 비디오 이미지 정보를 나타내는 데이터를 처리하기 위한 방법.
KR1019997005062A 1996-12-18 1997-12-15 방해 받은 소스 데이터가 존재하는 경우에 데이터스트림 연속성을 유지하기 위한 방법 및 장치 KR100549733B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20000057442A true KR20000057442A (ko) 2000-09-15
KR100549733B1 KR100549733B1 (ko) 2006-02-07

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

Family Applications Before (3)

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 효율적인 고정-길이 블록 압축 및 압축해제
KR1019997005111A KR100774494B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 압축된 이미지 데이터스트림을 디지털 방식으로 처리하기 위한 방법 및 mpeg 호환 가능한 디코더

Family Applications After (6)

Application Number Title Priority Date Filing Date
KR10-1999-7004729A KR100510207B1 (ko) 1996-12-18 1997-12-15 복수의 포맷을 가진 비디오 신호들을 처리하기 위한 프로세서 및 그 처리 방법
KR1019997004916A KR100552576B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 디지털 신호 처리 시스템 및 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
KR1019997005112A KR100543132B1 (ko) 1996-12-18 1997-12-15 인터리브된 데이터 처리 방법 및 시스템
KR1019997005110A KR100542624B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 신호 처리 시스템 및 압축된 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
KR1019997004918A KR100542146B1 (ko) 1996-12-18 1997-12-15 Mpeg 코딩된 이미지 표현 데이터의 디지털 데이터스트림을 처리하는 방법 및 시스템
KR1019997004917A KR100563488B1 (ko) 1996-12-18 1997-12-15 Mpeg 호환 가능한 신호 처리 네트워크, mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하는 방법 및 mpeg 호환 가능한 디코딩 방법

Country Status (13)

Country Link
EP (10) EP0945001B1 (ko)
JP (12) JP4627812B2 (ko)
KR (10) KR100510208B1 (ko)
CN (15) CN100518319C (ko)
AU (10) AU4507097A (ko)
BR (4) BR9713712A (ko)
DE (8) DE69719365T2 (ko)
HK (5) HK1026100A1 (ko)
MY (7) MY117030A (ko)
RU (4) RU2217879C2 (ko)
TR (1) TR199901359T2 (ko)
TW (3) TW369774B (ko)
WO (10) WO1998027734A1 (ko)

Families Citing this family (92)

* 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
CN100518319C (zh) * 1996-12-18 2009-07-22 汤姆森消费电子有限公司 将数据压缩成固定长度数据块及解压的方法
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
KR20080005300A (ko) 2001-11-29 2008-01-10 마츠시타 덴끼 산교 가부시키가이샤 코딩 방법 및 디코딩 방법
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
US7822283B2 (en) * 2002-04-23 2010-10-26 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
EP1746843A3 (en) * 2002-05-28 2007-10-17 Sharp Kabushiki Kaisha Methods 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 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
CN102281448B (zh) * 2005-07-22 2014-04-30 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
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 ソニー株式会社 表示装置および表示方法、学習装置および学習方法、並びにプログラム
MX339121B (es) * 2006-07-06 2016-05-12 Thomson Licensing Metodo y aparato para desacoplar el numero de cuadro y/o la cuenta del orden de imagen (poc) para la codificación y decodificación de video de múltiples vistas.
ZA200900102B (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
EA029414B1 (ru) * 2009-04-08 2018-03-30 Шарп Кабусики Кайся Устройство кодирования видеокадров и устройство декодирования видеокадров
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
EP2422452A4 (en) 2009-04-24 2013-07-24 Nokia Corp DATA RENEWAL FOR THE DECODER
CN104539956B (zh) * 2009-06-19 2018-11-06 三菱电机株式会社 图像编码装置、图像编码方法以及图像解码装置
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用於顯示及記錄的彩色影像旋轉之方法及裝置
DK2897365T3 (da) 2010-07-09 2017-02-13 Samsung Electronics Co Ltd Apparat til at afkode video ved at anvende bloksammenlægning
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
SG10201701439WA (en) * 2010-09-30 2017-03-30 Mitsubishi Electric Corp Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
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 同济大学 基于混合色度采样率的图像压缩方法和装置
TWI562644B (en) * 2012-01-30 2016-12-11 Samsung Electronics Co Ltd Method for video decoding in spatial subdivisions and computer-readable recording medium
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
WO2014163241A1 (ko) * 2013-04-02 2014-10-09 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
CN105556963B (zh) * 2013-10-14 2018-12-11 寰发股份有限公司 用于hevc范围扩展的残差差分脉冲编码调制方法
CN104717445B (zh) * 2013-12-12 2017-11-24 中国航空工业集团公司第六三一研究所 多视频格式向bt.656协议ntsc制式视频的自动转换方法
CN104717443B (zh) * 2013-12-12 2017-08-25 中国航空工业集团公司第六三一研究所 多视频格式向SMPTE274协议1080i分辨率视频的自动转换方法
CN104717442B (zh) * 2013-12-12 2018-02-09 中国航空工业集团公司第六三一研究所 多视频格式向VESA协议1600X1200分辨率60Hz帧率视频的自动转换方法
KR101623109B1 (ko) * 2014-05-29 2016-05-20 부산대학교 산학협력단 Fpga에서 물리적 복제 방지 함수 회로를 구현하기 위한 장치
RU2680197C1 (ru) * 2015-06-05 2019-02-18 Телефонактиеболагет Лм Эрикссон (Пабл) Кодирование пикселя входной видеопоследовательности
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 郑州云海信息技术有限公司 一种数据压缩方法及装置
GB2608575B (en) * 2018-01-03 2023-03-15 Displaylink Uk Ltd Encoding image data for transmission to a display device
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 龙迅半导体(合肥)股份有限公司 一种数据处理方法和装置
CN113726341B (zh) * 2021-08-25 2023-09-01 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113704206B (zh) * 2021-10-29 2022-02-22 苏州浪潮智能科技有限公司 一种元数据的处理方法、装置、电子设备及存储介质

Family Cites Families (33)

* 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 ソニー株式会社 情報信号伝送方法及び装置
DE59510756D1 (de) * 1994-06-06 2003-09-11 Sci Worx Gmbh Verfahren zur Codierung/Decodierung eines Datenstroms
US6005623A (en) * 1994-06-08 1999-12-21 Matsushita Electric Industrial Co., Ltd. Image conversion apparatus for transforming compressed image data of different resolutions wherein side information is scaled
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 テレビジョン受信機
US5623311A (en) * 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
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 비트열을 복호하는 복호화장치
US5818530A (en) * 1996-06-19 1998-10-06 Thomson Consumer Electronics, Inc. MPEG compatible decoder including a dual stage data reduction network
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
DE69614675T2 (de) * 1996-06-28 2001-12-06 St Microelectronics Srl MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus
CN100518319C (zh) * 1996-12-18 2009-07-22 汤姆森消费电子有限公司 将数据压缩成固定长度数据块及解压的方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100542624B1 (ko) Mpeg 호환 가능한 신호 처리 시스템 및 압축된 mpeg 코딩된 이미지를 나타내는 데이터의 데이터스트림을 처리하기 위한 방법
US6377628B1 (en) System for maintaining datastream continuity in the presence of disrupted source data
US6496537B1 (en) Video decoder with interleaved data processing
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

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: 20130104

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee