KR20000028928A - 비디오 신호 디코더 및 비디오 신호 디코더에서 메모리액세스를 감소시키는 방법 - Google Patents

비디오 신호 디코더 및 비디오 신호 디코더에서 메모리액세스를 감소시키는 방법 Download PDF

Info

Publication number
KR20000028928A
KR20000028928A KR1019990043400A KR19990043400A KR20000028928A KR 20000028928 A KR20000028928 A KR 20000028928A KR 1019990043400 A KR1019990043400 A KR 1019990043400A KR 19990043400 A KR19990043400 A KR 19990043400A KR 20000028928 A KR20000028928 A KR 20000028928A
Authority
KR
South Korea
Prior art keywords
user data
start code
sequence
video signal
data field
Prior art date
Application number
KR1019990043400A
Other languages
English (en)
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 KR20000028928A publication Critical patent/KR20000028928A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

비트 스트림을 디코더의 VBV 버퍼에 기억시키기 전에 MPEG-2 비트 스트림으로부터 선택된 유저 데이터 필드를 식별하여 제거하는 MPEG-2 비디오 디코더. 상기 디코더는 상태 머신으로 MPEG-2 비트 스트림을 모니터링하여, 현재 디코딩되고 있는 기록(시퀀스, 화상 그룹 또는 화상)의 레벨을 결정한다. 또한, 디코더는 유저 데이터 스타트 코드에 대한 비트 스트림을 모니터링한다. 유저 데이터 스타트 코드를 카운팅하면, 상기 상태 머신의 상태는 마이크로프로세서에 의해 제공된 미리 프로그래밍된 명령과 비교된다. 특정 레벨에서 상기 명령들이 유저 데이터의 디코딩을 필요로 할 때만, 상기 유저 데이터 스타트 코드에 이어지는 유저 데이터가 VBV 버퍼로 전달된다. 디코더 상의 VBV 버퍼를 통해 유저 데이터 및 유저 데이터를 처리하는 관련 데이터에 대한 식별된 필요에 따라 다소의 유저 데이터의 기억을 선택적으로 차단하기 위해, 상기 마이크로프로세서로부터 전달된 명령을 변경할 수 있다.

Description

비디오 신호 디코더 및 비디오 신호 디코더에서 메모리 액세스를 감소시키는 방법{Programmable filter for removing selected user data from an MPEG-2 bit-stream}
본 발명은 동화상 전문가 그룹(MPEG)에 의해 특정된 포맷인, MPEG-2 포맷에 따라 압축된 이미지 데이터를 처리하는, 특히, 디코딩 전에 MPEG-2 데이터 스트림으로부터 필요없는 유저 데이터를 선택적으로 삭제하는 사전 처리를 행하는 디코더에 관련된다.
MPEG-2 표준 하에서 실행되는 비디오 신호 압축은 원래 가변 레이트이다. 이미지 시퀀스의 비디오 데이터는 이미지의 시퀀스 또는 시퀀스 내의 이미지 중 일부의 주파수 내용의 차의 부분적 주파수 내용에 기초하여 압축된다. 이미지 시퀀스가 부분적으로 주파수 성분이 낮거나, 연속한 이미지가 단지 약간 상이할 때, 이미지 시퀀스를 재생하기 위해 전송되는 압축된 데이터의 양은 크게 감소할 수 있다.
MPEG-2 표준용 신택스(syntax)는, "Generic Coding fo Moving Pictures and Associated Audio Information: Video"란 제목의 국제 표준 13818-2 권장 ITU-T H.262에 설정되어 있고, 본원에 참고자료로 포함된, MPEG-2 비디오 코딩 표준을 나타내는 스위스 제네바의 ISO/IEC로부터 얻을 수 있다. 상기 표준은 오디오 및 비디오 데이터 모두를 전달하는데 사용되는 여러 층의 데이터 기록을 정의한다. 간단히 하기 위해, 오디오 데이터의 디코딩은 본원에서 설명하지 않는다. 특정 비디오 시퀀스를 나타내는 인코딩된 데이터는, 적층된 여러 층인, 시퀀스 층과, 화상 그룹(Group of Pictures) 층과, 화상 층과, 슬라이스 층과, 매크로블록 층으로 나타내어진다. 매크로블록 층을 제외한, 각 층 기록은, 그 층을 식별하는 스타트 코드(start code)로 시작한다. 층 기록은 헤더 데이터(header data)와 페이로드 데이터(payload data)를 포함한다.
MPEG-2 표준 하에서, 앞서 기술한 데이터의 양은 디코딩 작동이 시작하기 전에 수신되어 기록된다. 상기 데이터 양은 시퀀스 층의 헤더 부분에서 vbv_buffer_size_value의 값으로 특정된다. 상기 값은 또한, 디코딩되기 전에 비트 스트림 데이터를 갖고 있는 VBV 버퍼인, 버퍼에 보존된 메모리의 양을 결정한다.
도 3a 내지 도 3d를 참고로 이하에 설명하는 바와 같이, MPEG-2 비트 스트림의 많은 기록들은, 많은 수의 데이터 바이트를 갖는 확장 데이터 필드(Extension Data field) 및/또는 유저 데이터 필드(User Data field)를 포함한다. 비트 스트림에 제공된 상기 확장 데이터는 MPEG-2 표준이 그 기본 신택스를 재정의(redefine)하지 않는 한도 내에서 확장할 수 있게 한다. 유저 데이터는 MPEG-2 표준의 확장을 나타내지는 않는다. 이는, 특정 목적의 정보를 신호를 수신하는 수단들에 제공하는 신호 제공자 수단으로서 제공된다. 이는 신호 제공자 및 디코더 제작자가 원하는 임의의 목적에 사용될 수 있다. 예를 들어, 신호 분배자(예를 들어, 네트워크 멤버 스테이션)에게, 메인 신호 소스(예를 들어, 네트워크 제조 시설)로부터의 제조 정보를 전송할 수 있다. 상기 데이터를 사용하여, 다중 언어 클로즈 캡션 정보(multilingual close-caption information)나, 커스텀 온 스크린 디스플레이(custom on-screen display) 등의, 이미지를 오버레이(overlay)할 수 있는 다른 데이터를 전송할 수 있다.
특정 수신기는 일부 유저 데이터 기록을 처리하도록 구성될 수 있지만, 나머지 유저 데이터는 상기 수신기에 공지되지 않을 수 있으므로, 불필요할 수 있다.
본 발명은, 비트 스트림을 디코더의 VBV 버퍼에 저장하기 전에 MPEG-2 비트 스트림으로부터 잉여 유저 데이터를 식별하여 제거하는 비트 스트림 분석기(parser)를 포함하는 MPEG-2 디코더와 관련된다.
본 발명의 일면에 따르면, 상기 분석기는, 유저 데이터가 발생하는 비트 스트림 신택스의 레벨을 검출하는 회로와, 선택된 레벨과 관련된 유저 데이터만을 선택적으로 제거하는 회로를 포함한다.
본 발명의 다른 일면에 따르면, 제거되는 유저 데이터의 레벨은, 마이크로프로세서에 의해 상기 분석기에 제공되고 프로그래밍된다.
도 1은 본 발명의 실시예를 포함하는 MPEG-2 비디오 디코더의 블록도.
도 2는 도 1에 도시된 디코더에서 사용하기에 적합한 분석기의 블록도.
도 3a 내지 도 3d(종래 기술)는 주제 발명의 작동을 설명하기 위해 유용한 MPEG-2 비트 스트림의 신택스를 도시한 도면.
도 4는 도 2에 도시된 유저 데이터 스타트 코드 검출 엔진의 작동을 도시하는 흐름도.
* 도면 주요 부분에 대한 부호의 설명 *
110 : 디코딩 프로세서 112 : 마이크로프로세서 인터페이스
116 : 분석기 120 : 고대역폭 메모리
126 : DRAM 제어 및 어드레스 발생기
128 : FIFO 메모리 130 : 제어 마이크로프로세서
도 1은 본 발명의 예시적인 디코더 시스템의 블록도이다. 상기 시스템은, 디코딩 프로세서(110)와, 고대역폭 메모리(120)와, 제어 마이크로프로세서(130)의 세 구성 요소를 갖는다. 본 발명의 실시예에서 사용되는 상기 고대역폭 메모리(120)는, 예를 들어, NEC 및 Toshiba에서 만든 램버스 메모리 시스템일 수 있다.
도 1에 도시된 디코더의 작동은 간단히 다음과 같다. 제 1 단계에서, 디코더 집적 회로(IC)(110)는 특정 구성의 마이크로프로세서(130)에 의해 초기화된다. 예를 들어, 디코더가 525P 신호를 디코딩하기 위해 사용된다면, 적절한 제어 값이 마이크로프로세서 인터페이스(112)를 통해 디코딩 프로세서(110)의 내부 회로에 인가된다. 간단히 하기 위해, 마이크로프로세서(130)와 IC 내의 각 요소 사이의 제어 버스는 생략한다. 상기 버스로는, 예를 들어, 종래의 I2C 버스일 수 있다.
일단, IC(110)가 초기화되면, 입력 비트 스트림은 분석기(116)에 인가된다. 도 2를 참고로 이하에서 설명하는, 상기 분석기는 메모리(120) 내에 상기 비트 스트림을 기억한다. 또한, 상기 분석기는, 시퀀스, 화상 그룹 및 화상 층에 대한 스타트 코드를 식별하고, 상기 스타트 코드가 기억되는 메모리 위치의 마이크로프로세서(130)를 인식한다. 도 1에 도시된 예시적인 디코더에서, 마이크로프로세서(130)는 상기 층들에 대한 헤더 정보를 디코딩한다. 도 2 및 도 4를 참고로 이하에 설명하는 바와 같이, 상기 분석기는 또한, 각각의 상기 기록의 유저 데이터 필드를 식별하고, 식별된 유저 데이터가 메모리(120)에 선택적으로 기억되지 않도록 한다.
DRAM 제어 및 어드레스 발생기(126)는, RAC 인터페이스(170)를 제어하여 비트 스트림 데이터를 메모리(120)에 기억시킨다. 본 발명의 실시예에서, 메모리(120)의 일부분은 입력 비트 스트림을 보존하기 위한 버퍼로서 사용되도록 한다. 상기 버퍼 영역은 MPEG-2 표준에서 특정된 VBV 버퍼에 대응한다.
상기 비트 스트림 데이터가 메모리(120)의 VBV 버퍼 영역에 기록된 후, DRAM 제어 및 어드레스 발생 회로(126)의 제어 하에, 가변 길이 디코더(VLD)에 의해 필요한 고대역폭 메모리(120)로부터 판독하여, 버퍼 메모리(121)에 기억한다. 메모리(121)는, 비트 스트림 신택스에 의해 명령을 받아, 메모리(120)로부터 순간적으로 충전되고, VLD(118)에 의해 비워지는, FIFO 메모리이다.
VLD(118)는 비트 스트림의 슬라이스 및 매크로블록 층을 분석하여, 양자화된 이산 여현 전송 계수 값의 블록을 발생한다. 상기 값의 블록은 FIFO 메모리(128)에 제공된다. 상기 FIFO 메모리는, VLD(118)과 매크로블록 디코딩 회로(132) 사이의 데이터를 버퍼링한다. 상기 메모리는 또한, MPEG-2 표준에서 정의된 역 스캔 함수를 실행한다. 상기 회로(132)는, 양자화된 계수 값을 일정한 포맷으로 변환시키는 역 양자화기(134)와, 주파수 도메인 계수를 부분적인 도메인 픽셀 값 또는 미분 픽셀 값으로 변환시키는 역 이산 여현(IDCT) 프로세서(142)를 포함한다. 상기 역 양자화기(134) 및 IDCT 프로세서(142)는 프로세스 작동에 도움이 되는 각각의 메모리(136 및 144)를 포함한다. 상기 회로(132)에 의해 제공되는 출력 데이터는 픽셀 값의 블록이다 미분 픽셀 값이다.
블록의 값들이 미분 픽셀 값인 경우, 이들은, 가산 회로 및 클립 회로(158 및 160)를 갖는 움직임 보상 프로세서(161)에 의해 종전에 디코딩된 이미지 프레임(기준 프레임)으로부터의 값들과 조합된다. 상기 회로들은, 차례로, 1/2 픽셀 및 보간 회로(166)에 의해 제공된, 기준 프레임들로부터의 이미지 데이터를 얻는다. 보간 회로(166)는 버퍼 메모리(168)를 사용하여 종전에 디코딩된 프레임으로부터 이미지 화상 요소(픽셀)를 얻는다. 상기 메모리에 대한 데이터 값들은 DRAM 제어 및 어드레스 발생 회로(126)에 의해 고대역폭 메모리(120)로부터 제공된다.
움직임 보상 프로세서(161)에 의해 생성되는 디코딩된 이미지 데이터는 버퍼 메모리(162 및 164)에 저장된다. 버퍼 메모리(162 및 164)로부터, 디코딩된 이미지 데이터는, 후에 수신되는 이미지 필드나 프레임으로부터 움직임 보상 인코딩 데이터를 디코딩할 때 기준 프레임 데이터로 사용되거나 디스플레이 하기 위해, 메모리(120)에 저장된다. 디스플레이될 데이터는, 블록 포맷으로 메모리(120)에 저장되고, 래스터 스캔(raster-scan) 포맷으로, 예를 들어, 디스플레이 프로세서(175)의 제어 하에 디스플레이 장치(도시하지 않음)에 제공되는, 메모리(174)에 전송된다.
온 스크린 디스플레이(OSD) 프로세서(171)는, DRAM 제어 및 어드레스 발생기(126) 및 RAC 인터페이스(17)를 통해, 메모리(120)에 데이터를 제공하고, 메모리(120)로부터 데이터를 수신하기 위해 연결된다. 본 발명의 실시예에서, OSD 프로세서(171)는 유저 메뉴 및 디스플레이되는 이미지를 오버레이하는 클로즈 캡션 텍스트를 만들기 위해 사용된다.
도 1에 도시된 바와 같이, 메모리(120)는 분석기(116)와, 마이크로프로세서(130)와, 움직임 보상 프로세서(161)와, OSD 프로세서(171)로부터 데이터를 수신하고, 데이터를 VLD(118)와, 움직임 보상 프로세서(161)와, OSD 프로세서(171)와, 디스플레이 제어기(175)에 제공한다. 또한, 메모리(120)는 DRAM이어서, 다른 메모리 액세스를 위해, 주기적으로 리프레시 될 필요가 있다. 메모리 액세스 각각은, 디스플레이 프로세서(175)가 최선의 우선 순위를 갖고, OSD 프로세서(171)가 최후의 우선 순위를 갖는, 우선 순위가 정해진다.
처리되는 이미지 시퀀스에 따라, 임의의 소정의 시간에 진행중인 모든 메모리 액세스 요구를 예정하기가 어려울 수 있다. 상기 예에서, 하위 메모리 액세스 요구는 지연된다.
고선명 이미지 시퀀스(예를 들어, 메인 프로필, 고레벨 MP@HL)가 디코딩될 때, 하위 메모리 액세스 요구들은, 메모리에 저장되는 정보의 양에 따라 부당하게 지연될 수 있고, 메모리(120)로부터 추출되어, 상기 고선명 이미지 시퀀스를 디코딩하여 디스플레이한다. 고선명 이미지 시퀀스는 전형적으로 온 스크린 디스플레이를 제외한 각 프로세스에 대해 표준 선명도의 이미지보다 많은 메모리 액세스를 필요로 한다. 고선명 이미지의 픽셀의 대부분은, 디스플레이 프로세서(175)에 대한 높은 디스플레이 데이터 레이트와, 움직임 보상 프로세서(161)에 의해 메모리(120)로부터 기준 데이터를 추출하는 높은 데이터 레이트와, 메모리(120)에 디코딩된 이미지 데이터를 제공하기 위한 높은 데이터 레이트와, 수신된 비트 스트림 데이터를 저장하고 그 저장된 비트 스트림 데이터를 VLD 프로세서(118)에 제공하기 위한 높은 데이터 레이트로 변환된다. 상기 유형의 이미지 처리에서, 이미지 시퀀스를 디코딩하기에 필요한 메모리 연산의 수를 줄이는 것이 유리하다.
본 발명은, 비트 스트림이 VBV 버퍼에 저장되기 전에, 수신된 비트 스트림으로부터 사용되지 않거나 불필요한 유저 데이터 필드를 소거하여 상기 유형의 이미지 시퀀스를 디코딩할 때 마이크로프로세서(130)의 메모리 액세스 수를 감소시킨다. 유저 데이터는, 그 기능이 비트 스트림마다 변화할 수 있기 때문에 STD 모델로 정의되지 않으므로, 메모리에 저장된 상기 비트 스트림 데이터의 감소는 VBV 버퍼 구속(constraints)을 위반할 수 없다. 따라서, STD 모델 하에서, 유저 데이터의 디코딩은 이미지 데이터를 디코딩하고 디스플레이 하는 효과를 얻지 못한다고 볼 수 있다. 따라서, 유저 데이터가 시퀀스 헤더의 vbv_buffer_size_value로 카운팅될 수 있더라도, 디코딩 연산의 타이밍에 영향을 주지 않고 무시될 수 있다.
도 2는 도 1에 도시된 분석기(116)와 같이 사용하기에 적합한 회로의 블록도이다. 도 2에 도시된 회로에서, MPGE 비트 스트림은, 한 번에 8비트씩, 유저 데이터 스타트 코드 검출 엔진(210)과 4바이트 선입선출(FIFO) 메모리(216)에 인가된다. 검출 엔진(210)은 또한 제어 레지스터(212)로부터 4비트 값을 수신하도록 연결된다. 상기 값은 도 1에 도시된 마이크로프로세서(130)에 의해 제공된다. 상기 스타트 코드 검출 엔진은 도 4를 참고로 이하에 자세히 설명한다.
간단히 말해, 유저 데이터 스타트 코드 검출 엔진(210)은, MPEG-2 비트 스트림에서 발생하는 스타트 코드 값을 모니터링하는 상태 머신을 포함하고, 수신된 비트 스트림의 상이한 레벨로 상태를 변경시킨다. 검출 엔진(210)은, 시퀀스, 화상 그룹, 화상 층에 대한 스타트 코드를 모니터링한다. 또한, 이하의 도 3a 내지 도 3d를 참고로 한 설명에서와 같이, 데이터 스트림의 유저 데이터 엔트리의 시작에 대해 스타트 코드를 모니터링한다.
비트 스트림에서 유저 데이터 엔트리를 발견하면, 검출 엔진(210)은 수신된 비트 스트림의 현재 상태를 제어 레지스터(212)에 제공된 값과 비교하여, 검출된 유저 데이터가 VBV 버퍼에 전달되었는지 또는 금지되었는지 검출한다. 검출 엔진(210)에서 특정 유저 데이터 필드가 금지되었다고 결정되었다면, 적당한 필터 신호인, 필터 시퀀스 레벨, 필터 그룹 레벨, 또는 필터 화상 레벨이 나타난다. 상기 신호는 AND 게이트(214)의 각각의 반전 입력 단자에 인가되고, 출력 신호는 레지스터(218)의 인에이블 입력에 인가된다.
레지스터(218)의 데이터 입력 포트는 4바이트 FIFO(216)에 의해 제공되는 출력 신호를 수신하기 위해 연결된다. 본 발명의 실시예에서, 4바이트 FIFO(216)은, 비트 스트림의 바이트를, 그들이 유저 데이터 스타트 코드 검출 엔진(210)에 의해 처리되는 동안, 지연시킨다. 유저 데이터 스타트 코드 검출 엔진(210)과, 4바이트 FIFO(216)와, 레지스터(218)는 그 각각의 클럭 입력 단자들에 인가된 신호(CLK)를 통해 동기된다. 레지스터(218)의 출력 신호는 도 1에 도시된 분석기(116)의 출력 신호이다. 상기 신호는 RAC 인터페이스(170)를 통해 메모리(120)에 인가된다. 상기 설명한 바와 같이, 분석기(116)에 의해 제공된 데이터는 비트 스트림 디코더의 VBV 버퍼에 저장된다.
어드레스 발생기(220)와 스타트 코드 검출 엔진(222)은 레지스터(218)의 출력 신호를 수신하기 위해 연결된다. 스타트 코드 검출 엔진(222)은 시퀀스, 화상 그룹, 화상 층에 대한 스타트 코드를 검출한다. 어드레스 발생기(220)는, 메모리(120)에 대한 어드레스 값을, 레지스터(218)에 의해 제공되는 데이터가 저장될 곳에 제공한다. 각각의 시퀀스, 화상 그룹, 화상 스타트 코드에 대해, 스타트 코드 검출 엔진(222)은, 스타트 코드의 유형 표시와 스타트 코드가 기록된 메모리(120)의 어드레스 값을, 마이크로프로세서(130)에 전송한다. 상기 설명한 바와 같이, 마이크로프로세서(130)는 상기 정보를 사용하여, 메모리(120)로부터 상기 기록에 대한 헤더를 추출하여, 사용하기 위한 추출된 헤더 데이터를 디코더(110)에 의해 디코딩한다.
상기 설명한 바와 같이, MPEG-2 표준은 이미지 시퀀스에 대한 5층의 정보를 정의한다. 이들은 시퀀스 층, 화상 그룹 층, 화상 층, 슬라이스 층, 매크로블록 층이다. 도 3a 내지 도 3c는 상기 시퀀스, 화상 그룹, 화상 층의 구조를 도시하는 신택스 도면이고, 상기 층들은 유저 데이터 엔트리(entry)를 포함할 수 있다. 도 3d는 상기 층들 중 임의의 것의 확장 및 유저 데이터 필드의 구조를 도시한다.
상기 다양한 층들은 MPEG-2 표준을 설명하는 상기 참조 문헌에 정의되어 있다. 간단히 말해, 시퀀스 층은 나머지 4층을 포함한다. 상기 재료에서, 상기 층들을 레코드(record)라고도 언급한다. 따라서, 시퀀스 레코드는 적어도 하나의 화상 그룹 레코드를 포함하고, 또한, 상기 화상 그룹 레코드는 적어도 하나의 화상 레코드를 포함하며, 계속해서 매크로블록 레코드까지 이어진다. 유저 데이터는 시퀀스, 화상 그룹 및 화상 층에서만 나타날 수 있기 때문에, 상기 층들만을 이하에 설명한다. 시퀀스 층은 시퀀스의 시작에 이어지는 정보에만 기초하여 디코딩될 수 있는 이미지 셋의 스타팅 포인트를 정의한다. 다음의 하위 층인, 그룹 화상 층은, 시퀀스에 포함된 이미지의 서브셋을 정의한다. 그룹 화상 층의 이미지는 일반적으로, 이미지의 단지 하나의 데이터만을 사용하여 인코딩된 적어도 하나의 이미지와, 움직임 예측 인코딩 기술을 이용하여 인코딩된 여러 이미지들(순방향 또는 양방향으로 인코딩된 이미지)을 포함한다. 화상 그룹 층 바로 아래는 화상 층이다. 상기 층의 데이터 레코드는 하나의 이미지 프레임을 정의한다.
도 3a는 시퀀스 층의 신택스를 정의한다. MPEG-2 설명에서, 시퀀스는, 시퀀스에 사용되는 패러미터의 셋이 이어진 시퀀스 스타트 코드와, 하나 이상의 화상 그룹 레코드와, 시퀀스 엔드 코드로 정의된다. 제공될 수 있는 패러미터는, 인코딩 처리동안 개별 블록의 계수가 어떻게 양자화 되는가를 정의하는 양자화 매트릭스이다.
상기 설명한 바와 같이, 도 3a에 도시된 시퀀스 신택스의 스터핑 엔트리(310)는, 비디오 이미지의 디스플레이를 위한 비트 스트림의 타이밍을 확인하기 위해 실행될 수 있는 제로 충전(zero fill) 작동을 나타낸다. 예를 들어, 여러 프레임에 포함된 선행 시퀀스가 효과적으로 인코딩될 수 있다면, 비트 스트림은 전송기와 수신기 사이의 고정된 지연 요구에 맞춰 채워질 수 있다. 화살표로 다리를 만들어 표시한 단계(310)인, 스터핑 연산은 시퀀스 신택스에서 선택적이다.
시퀀스 신택스에서 다음 아이템은 시퀀스 스타트 코드(312)이다. 이는 MPEG-2 표준 하에서 0x000001B3(16진법)으로 정의된다. 모든 스타트 코드는 적어도 23개의 0 값(zero-valued) 비트와 하나의 1 값(one-valued) 비트를 갖는 스타트 코드 접두어로 시작한다. 스타트 코드 값에 23개의 0와 하나의 1이 이어지고, 스타트 코드의 유형을 결정한다. 표 1은 본 발명과 관련된 스타트 코드 값의 리스트이다.
스타트 코드 16진수 값
화상 0x00
시퀀스 0xB3
화상 그룹 0xB8
유저 데이터 0xB2
상기 스타트 코드와 함께, 시퀀스 레코드는 스타트 코드와 일반적으로 동일한 포맷을 갖는 엔드 코드(end code)로 끝나며, 엔드 코드 값은 0xB7이다.
시퀀스 스타트 코드에 이어서, 시퀀스로 정의되는 제 1 패러미터는 수평 크기(314)이다. 상기 값은 디코딩된 비디오 이미지의 각 라인의 화상 요소(화소)의 수를 정의한다. 상기 수평 크기 패러미터(314)에 이어 수직 크기 패러미터(316)가 이어진다. 상기 패러미터는 디코딩된 비디오 이미지의 능동 라인의 수를 정의한다. 화소 종횡비(318)는 디코딩된 텔레비전 이미지의 종횡비를 정의한다.
신택스에서 다음 아이템인, 화상 레이트(320)은 디스플레이될 초당 화상의 수를 정의한다. 이는 대략 초당 24 화상 내지 초당 60 화상의 범위이다. 비트 레이트 패러미터(322)는 초당 400비트의 단위로 측정된 비트 스트림의 비트 레이트를 정의한다. 신택스의 다음 아이템은 마커 비트(324)이다. 상기 비트는 항상 1의 값을 갖는다. 상기 설명한 바와 같이, vbv_buffer_size 패러미터(326)는 상기 시퀀스를 디코딩하는데 필요한 비디오 버퍼링 증명자(video buffering verifier)에 대한 버퍼 크기를 정의한다.
다음 패러미터인, 속박 패러미터 플래그(constrained parameter flag:328)가 설정되면, 일정의 디폴트 최대 패러미터 크기는 MPEG-2 표준 하에서 가정된다. 플래그가 NTSC 또는 PAL 이미지의 해상도에 개략적으로 대응하여 설정될 때, 한계가 정의되기 때문에, 상기 플래그는 대부분의 HDTV 이미지에 대해 리셋된다.
속박 패러미터 플래그(328)에 이어 로드 인트라 양자화 매트릭스 플래그(330)가 이어진다. 상기 플래그가 설정되면, 이어지는 시퀀스 패러미터 스트림의 64개의 8비트 값이, 인트라프레임 인코딩 이미지를 디코딩하는데 사용하기 위한 양자화 매트릭스를 정의한다. 상기 64개의 값들은 도3a에 도시된 시퀀스 신택스의 아이템(332)으로 표현된다. 인트라 양자화 매트릭스 플래그(330)가 리셋되면, 디폴트 양자화 매트릭스는 인트라 인코딩 이미지를 디코딩하기 위해 사용된다. 상기 디폴트 매트릭스는 MPEG-2 표준으로 정의되고, 시퀀스 레코드로 전송되지 않는다.
시퀀스 신택스의 다음 아이템은, 로드 난 인트라 양자화 매트릭스 플래그(load non-intra quantization matrix flag:334)이다. 플래그가 설정된 때를 제외하고, 상기 플래그는, 로드 인트라 양자화 매트릭스 플래그와 동일한 방법으로, 작동하여, 상기 플래그에 이어지는 64개의 8비트 값(336)은, 양방향으로 또는 순방향으로 인코딩된 화상을 역양자화 하는데 사용된다.
시퀀스 신택스에서 난 인트라 양자화 매트릭스에 이어지는 아이템은 확장 및 유저 데이터(338)이다. 확장 데이터는 0xB5의 스타트 코드 값으로 정의된다. 상기 확장 데이터는 상기 코드에 이어지고 다른 스타트 코드가 나타나기 전까지 계속된다. 만날 수 있는 하나의 스타트 코드는 유저 데이터 스타트 코드이다. MPEG-2에서, 유저 데이터 스타트 코드 값은 0xB2이다. 상기 코드는 시퀀스, 화상 그룹 또는 화상 레코드에서의 유저 데이터 필드의 시작을 식별한다. 확장 데이터와 같이, 상기 데이터는 다른 스타트 코드에 의해 한정된다. 확장 및 유저 데이터 필드는, MPEG-2 표준의 확장 및 상용화를 위해 제공된다. 화살표로 다리를 만들어 표시한 단계(338)와 같이, 유저 데이터는 선택적이다. 확장 및 유저 데이터의 포맷은 이하에 도 3d를 참고로 설명한다.
하나 이상의 화상 그룹 레코드(340)이 상기 확장 및 유저 데이터(338)에 이어진다. 신택스 도면에서 역방향으로 화살표로 다리를 이루어 표시된 아이템(340)으로 도시된 바와 같이, 여러 화상 그룹이 시퀀스 신택스의 상기 부분에 정의될 수 있다. 그러나, 최종 화상 그룹에 이어서는 시퀀스 엔드 코드(342)가 이어진다.
데이터 전송 포맷이 공지되어 있지 않으면, 디코딩은 시퀀스 스타트 코드 및 관련 패러미터가 처리된 후에만 시작할 수 있다. 시퀀스 헤더들 사이에서의 긴 지연을 방지하기 위해, MPEG-2 표준에서는, 상기 스타트 코드 및 관련 헤더 블록을 소정 시퀀스에 여러 번 삽입하는 것이 고려된다. 상기 헤더 블록은, 예를 들어, 연속된 화상 그룹 레코드들 사이에 삽입할 수 있다.
도 3b 및 도 3c는 신택스의 화상 그룹 및 화상 층을 도시한다. 도 3b는 도 3a의 화상 그룹 아이템(340)의 신택스를 도시한다. 도 3b는, 도 3c의 신택스 도면으로 정의되는, 스터핑 비트(350)와, 화상 그룹 헤더 패러미터와, 확장 및 유저 데이터 필드(352)와, 하나 이상의 화상 레코드(354)를 도시한다. 도 3c는 다시, 스터핑 비트(360)와, 여러 화상 패러미터와, 확장 및 유저 데이터 필드(362)와, 하나 이상의 슬라이스 레코드(364)를 포함한다. 상기 신택스는 앞에서 언급한 MPEG-2 관련 문헌에서 얻을 수 있으므로 상기 도면들에 대해서는 상세히 설명하지 않는다.
도 3d는 확장 데이터 및 유저 데이터 필드(338, 352, 362)의 신택스 도면이다. 상기 확장 및 유저 데이터 필드는, 상기 설명한 바와 같이, 선택적인 스터핑 데이터(372)로 시작한다. 다음 엔트리는 확장 스타트 코드(374)와 하나 이상의 확장 데이터 바이트를 포함하는 선택적인 확장 데이터 레코드이다. 상기 확장 데이터 필드의 길이는 한정되지 않는다. 상기 필드는 다음 스타트 코드가 나타날 때 종료한다. 유저 데이터가 상기 레코드 상에 있으면, 상기 다음 스타트 코드는 유저 데이터 스타트 코드(378)이고, 그렇지 않으면 다음 레코드의 스타트 코드이다. 실제 유저 데이터는 확장 및 유저 데이터 필드의 유저 데이터 스타트 코드에 이어진다. 확장 데이터에 대해, 유저 데이터는 그 길이가 한정되지 않는다. 유저 데이터는, 다른 확장 또는 유저 데이터 필드의 스타트 코드에 의해서거나, 비트 스트림의 다음 레코드(화상 그룹, 화상 또는 슬라이스)의 스타트 코드에 의해 종료된다.
도 4는 상기 도 2에 도시된 유저 데이터 스타트 코드 검출 엔진(210)의 작동을 도시하는 흐름도이다. 상기 흐름도의 제 1 단계인, 단계(410)는 검출 엔진(210)에 현재 인가된 8비트가 스타트 코드 값에 대응하는지 결정한다. 상기 블록은, 제 1 의 0 값 바이트, 제 2 의 0 값 바이트, 1의 값을 갖는 제 3 바이트, 및 스타트 코드 값을 갖는 제 4 바이트의, 시퀀스에 존재하는 4 바이트 데이터에 대한 비트 스트림을 모니터링하는 상태 머신으로 실행될 수 있다. MPEG 표준 하에서, 만약 제 1, 제 2, 및 제 3 바이트가 존재한다면, 제 4 바이트는 반드시 스타트 코드 값을 포함하여야 한다. 이하의 설명에서, 시퀀스 스톱 코드는 MPEG 스타트 코드의 정의에 포함된다. 단계(410)에서, 처리되는 현재의 바이트가 스타트 코드 값에 대응하는 동안, 단계(410)는 자신에게로 귀환한다.
일단 스타트 코드가 단계(410)에서 검출되면, 출력 신호를 유저 데이터 스타트 코드 검출 엔진(210)의 필터 화상 레벨, 필터 그룹 레벨, 및 필터 시퀀스 레벨로 리셋하는 단계(412)로 진행하도록 제어한다. 상기 모든 신호들이 리셋되면, AND 게이트(214)는 인에이블 신호를 레지스터(218)에 인가하고, 비트 스트림의 바이트가 VBV 버퍼에 저장되게 한다. 그러나, 상기 신호 중 일부가 긍정되면, AND 게이트(214)는 레지스터(218)를 디스에이블시켜, FIFO(216)로부터의 비트 스트림 데이터가 메모리(120)에 저장되지 않도록 한다.
단계(412) 후에, 단계(414, 418, 422 및 426)가 실행된다. 도 4에 도시된 흐름도에서는, 상기 단계들이 순서대로 실행되었지만, 병렬로 실행할 수도 있다. 단계414)는 단계(410)에서 검출된 스타트 코드 값이 시퀀스 스타트 코드 값인지 결정한다. 만약 그렇다면, 단계(416)는 두 개의 내부 부울린 변수인, PICT 및 GOP를 리셋하고, 내부 변수 SEQ를 설정한다. 상기 세 개의 부울린 변수들은 현재 분석되고 있는 비트 스트림의 레벨을 나타낸다. 상기 부울린 변수 SEQ가 설정되면, 상기 분석기(116, 도 1에 도시됨)는 시퀀스 헤더를 처리하고, 변수 GOP가 설정되면, 분석기는 화상 그룹 헤더를 처리하며, 끝으로, 변수 PICT가 설정되면, 분석기는 화상 헤더를 처리한다. 단계(416) 후에, 단계(410)로 돌아가 다음 스타트 코드 값이 도착하기를 기다리도록 제어한다.
단계(414)에서, 스타트 코드 값이 시퀀스 스타트 코드 값이 아니면, 단계(418)는 상기 스타트 코드 값이 화상 그룹에 대한 것인지 결정한다. 만약 그렇다면, 단계(420)는 부울린 변수 PICT를 리셋하고 부울린 변수 GOP를 설정한다. 단계(420) 후에, 단계(410)로 돌아가도록 제어한다.
단계(418)에서, 스타트 코드가 화상 그룹 헤더에 대한 것이 아니면, 단계(422)는 상기 스타트 코드 값이 화상 헤더에 대한 것인지 결정한다. 만약 그렇다면, 단계(424)는 부울린 변수 PICT를 설정하고, 단계(410)로 진행되도록 제어한다.
단계(422)에서, 스타트 코드가 화상 헤더에 대해 발견되지 않으면, 단계(426)는 상기 코드가 시퀀스 스톱 코드인지 결정하고, 그렇다면, 단계(428)를 실행하여 부울린 변수 SEQ, GOP 및 PICT를 리셋한다. 단계(428)로부터 상기 설명한 바와 같이, 단계(410)로 진행되도록 제어한다.
단계(430)는, 단계(410)로부터의 스타트 코드 값이 시퀀스 헤더, 화상 그룹 헤더 또는 화상 헤더에 대한 것이 아니고, 시퀀스 스톱 코드가 아닐 때, 실행된다. 단계(430)는 상기 스타트 코드 값이 유저 데이터 필드의 시작을 나타내는지를 결정한다. 그렇지 않다면, 단계(410)로 진행되어 다음 스타트 코드 값의 도착을 기다리도록 제어된다.
단계(430)에서, 스타트 코드 값이 유저 데이터 스타트 코드로 결정되면, 부울린 변수 PICT의 상태를 결정하는 단계(432)로 진행한다. PICT가 설정되면, 단계(434)가 실행되어 마이크로프로세서(130)에 의해 제어 레지스터(212)에 제공되는 가변 필터 PICT 데이터의 상태를 결정한다. 상기 비트가 설정되면, 필터 화상 레벨 신호를 나타내는 단계(436)로 진행하도록 제어된다. 단계(436) 후에 또는 단계(434) 후에, 필터 PICT 데이터 신호가 설정되지 않으면, 다음 스타트 코드 값의 도착을 기다리는 단계(410)로 진행하도록 제어된다. 상기 설명한 바와 같이, 필터 화상 레벨 신호가 단계(436)에서 나타나면, 단계(430)에서 검출된 유저 데이터 스타트 코드와 스타트 코드 값에 이어지는 유저 데이터가, 도 1에 도시된 메모리(120)의 VBV 버퍼 영역에 저장되지 않도록 저지된다. 단계(438, 440, 442)는, 처리된 유저 데이터 필드가 화상 그룹 헤더에서 발생되고, 마이크로프로세서(130)에 의해 제공된 필터 GOP 데이터 신호가 필터 그룹 레벨 신호가 나타나는지 결정하기 위해 검사되는 것을 제외하고는, 단계(432, 434, 436)와 동일하다. 끝으로, 단계(444, 446, 448)는, 시퀀스 헤더의 유저 데이터 필드가 처리되고 필터 시퀀스 레벨 신호가 선택적으로 나타나는 것을 제외하고는, 단계(432, 434, 436)와 동일하다.
상기 설명한 회로는 MPEG-2 비트 스트림을 모니터링하여, 비트 스트림을 VBV 버퍼에 저장하기 전에, 비트 스트림으로부터 불필요한 유저 데이터를 선택적으로 제거한다. 불필요한 유저 데이터가 생략되지 않았다면, 도 1에 도시된 마이크로프로세서(130)에 의해 메모리(120)로부터 추출되고, 즉시 폐기된다. 폐기되기 때문에, 마이크로프로세서는 부가적인 비트 스트림 데이터를 즉시 추출할 필요가 있다. 불필요한 데이터의 추출은, 특히 고선명(MP@HL) MPEG-2 인코딩 이미지 데이터를 디코딩할 때, 다른 유형의 메모리 작동에 보다 잘 사용될 수 있는 가변 메모리 대역폭을 사용한다.
MPEG-2 비트 스트림으로 전송되는 유저 데이터는 뷰어의 요구에 따라 선택적으로 이용되는 정보를 포함할 수 있다. 예를 들어, 유저 데이터로 전송될 수 있는 한 유형의 데이터는 다중 언어 클로즈 캡션 정보이다. 도 1에 도시된 본 발명의 실시예에서, 마이크로프로세서(130)는 원격 제어 장치(도시하지 않음)로부터의 뷰어 명령을 수신하도록 연결될 수 있다. 상기 뷰어 명령 중 하나는 OCD(171)를 사용하여, 유저가 프랑스어, 스페인어 및 일본어 클로즈 캡션 데이터 중 선택할 수 있는 메뉴를 만들 수 있다. 예를 들어, 뷰어가 스페인어의 클로즈 캡션 데이터를 선택하고, 그 데이터가 화상 헤더의 유저 데이터 필드에 전송되면, 마이크로프로세서(130)는 부울린 신호 필터 PICT 데이터를 리셋하여, 화상 레코드에 대한 유저 데이터가, 스페인어의 클로즈 캡션 비디오 오버레이로 처리되는 VBV 버퍼에 전달된다.
상기 설명한 바와 같이, 시퀀스 헤더는 그 시퀀스 레코드동안 여러 번 반복된다. 시퀀스 헤더의 첫 번째 경우가 분석될 때 유저 데이터가 정확히 수신되었다면, 첫 번째 경우에 이어지는 헤더의 임의의 예의 유저 데이터 필드는 무시될 수 있다. 본 발명은, 부울린 변수 SEQ가 설정되고 시퀀스 스타트 코드가 도 4의 단계(414)에서 검출될 때, 부울린 변수 필터 SEQ 데이터를 설정하도록 수정될 수 있다. 이는 유저 데이터 필드의 모든 연속한 경우들을 무시하면서, 디코더가 시퀀스에 대한 제 1 의 유저 데이터 필드를 분석하도록 한다(왜냐하면, 변수 SEQ가 초기에 리셋되고, 시퀀스 스톱 코드의 끝이 검출될 때 리셋되므로).
상기 설명한 본 발명의 실시예에서, 유저 데이터 필드는 디코딩 동작에서 사용되지 않으므로 저장된 비트 스트림으로부터 선택적으로 생략될 수 있다. 그러나, 정의를 통해, 유저 데이터 필드는 MPEG-2 인코딩 비디오 이미지 시퀀스를 디코딩하기에 필요하지 않을 수 있다. 따라서, 유저 데이터 필드가 특정 디코딩 동작에 사용된다 하더라도, 재생된 신호의 악영향을 주지 않는 한 무시할 수 있다. MPEG-2 비트 스트림의 상기 특징은, 디코딩하기에 어려운 이미지 시퀀스를 디코딩하면서 유저 데이터 필드를 선택적으로 생략하는 디코더에 사용할 수 있다.
예를 들어, 유저 데이터 필드 중 선택된 하나를 생략할 필요가 있다고 결정하기 위해, 마이크로프로세서는 메모리(120) 내의 데이터에 액세스하기 위한 저순위의 요구를 주기적으로 내고, 메모리 요구를 완성시키기에 필요한 시간의 양을 주기적으로 모니터링할 수 있다. 상기 여러 요구들을 완성시키기 위한 평균 시간량이 임계값을 초과하면, 마이크로프로세서는 신호, 필터 SEQ 데이터를 나타내어, 시퀀스 헤더와 관련한 유저 데이터가 저장된 비트 스트림으로부터 생략되도록 한다. 상기 데이터를 생략하는 것이 수용 가능한 메모리 액세스 시간을 생성하지 못하면, 마이크로프로세서(130)는 신호, 필터 GOP 데이터 및 필터 PICT 데이터를 연속적으로 나타내어, 수용 가능한 메모리 액세스 시간이 이루어질 때까지, 화상 그룹 헤더 및 화상 헤더와 관련된 유저 데이터를 선택적으로 제거한다.
비록 본 발명을 실시예를 참고로 설명하였지만, 첨부된 청구범위의 관점을 벗어나지 않는 다양한 변화가 가능하다는 것은 당연하다.

Claims (10)

  1. 동영상 전문가 그룹(MPEG)에 의해 규정된 표준(MPEG-2)에 따라 인코딩된, 스타트 코드(start code)를 갖는 유저 데이터 필드(User Data field)를 포함하는 비디오 신호를 디코딩하는 비디오 신호 디코더로서,
    상기 인코딩된 비디오 신호를 수신하기 위한 단말기와,
    메모리와,
    상기 유저 데이터 필드의 상기 스타트 코드 및 상기 유저 데이터 필드에 바로 이어지는 다른 스타트 코드를 검출하여, 상기 유저 데이터 스타트 코드가 검출될 때는 긍정되고(asserted), 나머지 스타트 코드가 검출될 때는 리셋되는 금지 신호(inhibit signal)를 발생하는 스타트 코드 검출 엔진과,
    상기 금지 신호에 응답하여, 상기 금지 신호가 리셋될 때는 상기 메모리에 상기 수신된 인코딩된 비디오 신호를 저장하고, 상기 금지 신호가 긍정될 때는 상기 수신된 인코딩된 비디오 신호의 저장을 차단(blocking)하는 레지스터 수단을 포함하는 비디오 신호 디코더.
  2. 제 1 항에 있어서,
    상기 인코딩된 비디오 신호는 복수의 시퀀스 헤더와, 복수의 화상 그룹 헤더와, 복수의 화상 헤더를 포함하고, 그 각각은 유저 데이터 필드를 포함하며,
    상기 스타트 코드 검출 엔진은 시퀀스 스타트 코드와, 화상 그룹 스타트 코드와, 화상 스타트 코드를 검출하여 내부 상태 변수(internal state variables)를 변화시키는, 비디오 신호 디코더로서,
    상기 디코더에 의해 사용되는 유저 데이터 필드를 포함하는 헤더의 유형을 결정하는 처리 수단과,
    상기 스타트 코드 검출 엔진에 신호를 전송하여 상기 디코더에 의해 사용되지 않는 유저 데이터 필드에 대한 헤더 유형의 유저 데이터 필드의 저장을 금지하는 수단을 더 포함하는 비디오 신호 디코더.
  3. 제 2 항에 있어서, 상기 처리 수단은, 상기 비디오 신호 디코더의 성능을 모니터링하여, 상기 성능에 응답하여, 시퀀스 헤더, 화상 그룹 헤더 및 화상 헤더의 유저 데이터 필드의 저장을 연속적으로 금지하는 수단을 포함하는 비디오 신호 디코더.
  4. 제 2 항에 있어서, 상기 인코딩된 비디오 신호는 적어도 하나의 시퀀스 레코드(Sequence record)이고, 상기 시퀀스 레코드는 복수의 상기 시퀀스 헤더를 포함하며, 상기 스타트 코드 검출 엔진은 상기 시퀀스 레코드에서 각각의 상기 시퀀스의 인스턴스(instance)가 상기 제 1 의 시퀀스 헤더의 인스턴스에 이어지는 유저 데이터 필드에 대해 금지 신호를 나타내는 비디오 신호 디코더.
  5. 제 2 항에 있어서,
    유저로 하여금, 헤더 유형들 중 하나의 유저 데이터를 사용하는 기능을 선택하게 하는 수단을 더 포함하며,
    상기 처리 수단은, 상기 유저의 선택에 따라, 상기 스타트 코드 검출 엔진에 신호를 보내, 하나의 선택된 헤더 유형에 대한 유저 데이터 필드의 저장을 금지하지 않게 하는 수단을 갖는 비디오 신호 디코더.
  6. 동영상 전문가 그룹(MPEG)에 의해 규정된 표준(MPEG-2)에 따라 인코딩된, 스타트 코드를 갖는 유저 데이터 필드를 포함하는 비디오 신호를 디코딩하는 비디오 신호 디코더에서 메모리 액세스를 감소시키는 방법으로서,
    상기 인코딩된 비디오 신호를 수신하는 단계와,
    상기 유저 데이터 필드의 상기 스타트 코드 및 상기 유저 데이터 필드에 바로 이어지는 다른 스타트 코드를 검출하여, 상기 유저 데이터 스타트 코드가 검출될 때는 긍정되고, 나머지 스타트 코드가 검출될 때는 리셋되는 금지 신호를 발생하는 단계와,
    상기 금지 신호가 긍정되지 않을 때는 상기 메모리에 상기 수신된 인코딩된 비디오 신호를 저장하고, 상기 금지 신호가 긍정될 때는 상기 수신된 인코딩된 비디오 신호의 저장을 금지하는 단계를 포함하는, 비디오 신호 디코더에서 메모리 액세스를 감소시키는 방법.
  7. 제 6 항에 있어서,
    상기 인코딩된 비디오 신호는 복수의 시퀀스 헤더와, 복수의 화상 그룹 헤더와, 복수의 화상 헤더를 포함하고, 그 각각은 유저 데이터 필드를 포함하며,
    상기 유저 데이터 필드의 상기 스타트 코드를 검출하는 단계에서는 또한, 시퀀스 스타트 코드와, 화상 그룹 스타트 코드와, 화상 스타트 코드를 검출하여 내부 상태 변수를 변화시키며,
    상기 디코더에 의해 사용되는 유저 데이터 필드들을 포함하는 헤더의 유형을 결정하는 단계와,
    상기 디코더에 의해 사용되지 않는 유저 데이터 필드에 대한 헤더 유형의 유저 데이터 필드의 저장을 금지하는 단계를 더 포함하는 방법.
  8. 제 7 항에 있어서, 상기 비디오 신호 디코더의 성능을 모니터링하여, 시퀀스 헤더, 화상 그룹 헤더 및 화상 헤더의 유저 데이터 필드의 저장을 연속적으로 금지하는 단계를 더 포함하는 방법.
  9. 제 7 항에 있어서, 상기 인코딩된 비디오 신호는 적어도 하나의 시퀀스 레코드를 포함하고, 상기 시퀀스 레코드는 복수의 상기 시퀀스 헤더를 포함하고, 상기 유저 데이터 스타트 코드 검출 단계는 상기 시퀀스 레코드에서 각각의 상기 시퀀스의 인스턴스가 상기 제 1 의 시퀀스 헤더의 인스턴스에 이어지는 유저 데이터 필드에 대해 금지 신호를 나타내는 방법.
  10. 제 7 항에 있어서,
    유저로 하여금, 헤더 유형들 중 하나의 유저 데이터를 사용하는 기능을 선택하게 하는 단계와,
    상기 유저의 선택에 따라, 하나의 선택된 헤더 유형에 대한 유저 데이터 필드의 저장을 가능하는 단계를 더 포함하는 방법.
KR1019990043400A 1998-10-09 1999-10-08 비디오 신호 디코더 및 비디오 신호 디코더에서 메모리액세스를 감소시키는 방법 KR20000028928A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/169,331 US6366617B1 (en) 1998-10-09 1998-10-09 Programmable filter for removing selected user data from an MPEG-2 bit stream
US9/169,331 1998-10-09

Publications (1)

Publication Number Publication Date
KR20000028928A true KR20000028928A (ko) 2000-05-25

Family

ID=22615222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990043400A KR20000028928A (ko) 1998-10-09 1999-10-08 비디오 신호 디코더 및 비디오 신호 디코더에서 메모리액세스를 감소시키는 방법

Country Status (6)

Country Link
US (1) US6366617B1 (ko)
EP (1) EP0993193A3 (ko)
JP (1) JP2000115787A (ko)
KR (1) KR20000028928A (ko)
CN (1) CN1155254C (ko)
TW (1) TW450004B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825548B1 (ko) * 2004-08-17 2008-04-28 마쯔시다덴기산교 가부시키가이샤 정보 기록 매체, 데이터 분별 장치, 및 데이터 재생 장치
KR100831186B1 (ko) * 2005-10-31 2008-05-22 엔이씨 일렉트로닉스 가부시키가이샤 스트림 데이터 프로세서
KR100890097B1 (ko) * 2004-08-17 2009-03-24 파나소닉 주식회사 정보 기록 매체, 데이터 분별 장치, 및 데이터 재생 장치

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW431094B (en) * 1999-07-16 2001-04-21 Via Tech Inc Memory access of Ethernet
US6579022B1 (en) * 2000-03-09 2003-06-17 Active Input Solutions, Llc Keyboard support platform
GB0127478D0 (en) * 2001-11-14 2002-01-09 Pace Micro Tech Plc Provision of dual rated programme material on a single programme service
US7012963B2 (en) * 2002-11-14 2006-03-14 Opentv, Inc. Positioning of images in a data stream
WO2004112255A1 (ja) * 2003-06-16 2004-12-23 Matsushita Electric Industrial Co., Ltd. パケット処理装置及び方法
US8625680B2 (en) * 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
CN1306822C (zh) * 2004-07-30 2007-03-21 联合信源数字音视频技术(北京)有限公司 一种基于软硬件协同控制的视频解码器
GB2423662A (en) * 2005-02-25 2006-08-30 Rok Productions Ltd Media player arranged to decode video content blocks having digital fingerprints
US8004608B2 (en) 2006-06-08 2011-08-23 Shenzhen Tcl New Technology Ltd Closed captioning data detection system and method
TWI347784B (en) * 2007-08-07 2011-08-21 Himax Tech Ltd Flexible length decoder
US20090060055A1 (en) * 2007-08-29 2009-03-05 Sony Corporation Method and apparatus for encoding metadata into a digital program stream
US20090219985A1 (en) * 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
TW201121331A (en) * 2009-12-10 2011-06-16 Novatek Microelectronics Corp Picture decoder
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
CN104429073B (zh) * 2012-09-06 2018-01-19 太阳专利托管公司 图像编码方法/解码方法及装置、图像编解码装置
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
EP2763401A1 (de) 2013-02-02 2014-08-06 Novomatic AG Eingebettetes System zur Videoverarbeitung mit Hardware-Mitteln
US9858247B2 (en) * 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9405914D0 (en) 1994-03-24 1994-05-11 Discovision Ass Video decompression
JP3341781B2 (ja) * 1992-12-15 2002-11-05 ソニー株式会社 画像復号化装置および画像符号化装置
US5566089A (en) 1994-10-26 1996-10-15 General Instrument Corporation Of Delaware Syntax parser for a video decompression processor
JPH08181988A (ja) 1994-12-26 1996-07-12 Canon Inc 動画像処理装置
DE69631393T2 (de) 1995-03-29 2004-10-21 Hitachi Ltd Dekoder für komprimierte und multiplexierte Bild- und Audiodaten
US5699124A (en) * 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
KR0176134B1 (ko) 1995-10-25 1999-05-01 김광호 압축 부호화 비디오 데이타 재생방법
US5801782A (en) 1996-03-21 1998-09-01 Samsung Information Systems America Analog video encoder with metered closed caption data on digital video input interface

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100825548B1 (ko) * 2004-08-17 2008-04-28 마쯔시다덴기산교 가부시키가이샤 정보 기록 매체, 데이터 분별 장치, 및 데이터 재생 장치
KR100890097B1 (ko) * 2004-08-17 2009-03-24 파나소닉 주식회사 정보 기록 매체, 데이터 분별 장치, 및 데이터 재생 장치
KR100978723B1 (ko) * 2004-08-17 2010-08-30 파나소닉 주식회사 정보 기록 매체, 데이터 분별 장치, 및 데이터 재생 장치
KR100831186B1 (ko) * 2005-10-31 2008-05-22 엔이씨 일렉트로닉스 가부시키가이샤 스트림 데이터 프로세서

Also Published As

Publication number Publication date
EP0993193A2 (en) 2000-04-12
EP0993193A3 (en) 2001-08-22
JP2000115787A (ja) 2000-04-21
CN1155254C (zh) 2004-06-23
CN1255023A (zh) 2000-05-31
US6366617B1 (en) 2002-04-02
TW450004B (en) 2001-08-11

Similar Documents

Publication Publication Date Title
US6263019B1 (en) Variable rate MPEG-2 video syntax processor
KR20000028928A (ko) 비디오 신호 디코더 및 비디오 신호 디코더에서 메모리액세스를 감소시키는 방법
US6522694B1 (en) Programmable filter for removing stuffing bits from an MPEG-2 bit-stream
JP2829262B2 (ja) ビデオ・デコンプレッション・プロセッサのためのシンタックスパーサ
KR100320476B1 (ko) 비디오 디코더 및 디코딩 방법
EP0793389B1 (en) Memory reduction in the MPEG-2 main profile main level decoder
EP0618730B1 (en) Priority processing of encoded video signal
US7333545B2 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
US8817885B2 (en) Method and apparatus for skipping pictures
US6219381B1 (en) Image processing apparatus and method for realizing trick play
US5410355A (en) Video signal processor including input codeword buffer for providing stored codewords to codeword priority analysis circuit
KR20000075760A (ko) 비디오 영상에 대한 오류 은닉
US5739862A (en) Reverse playback of MPEG video
US20070098072A1 (en) Command packet system and method supporting improved trick mode performance in video decoding systems
US8077778B2 (en) Video display and decode utilizing off-chip processor and DRAM
US7426238B2 (en) Method and an apparatus for recording a decoded picture sequence using virtual picture
WO2000059218A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
US6008853A (en) Sub-frame decoder with area dependent update rate for digital camcorder transmission standard
US6459736B1 (en) Moving picture decoding apparatus and method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application