KR20010095018A - 더미 헤더 삽입을 사용하여 디지털 비디오 시스템에서디지털 비디오 스트림을 디코딩하기 위한 방법 및 장치 - Google Patents

더미 헤더 삽입을 사용하여 디지털 비디오 시스템에서디지털 비디오 스트림을 디코딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20010095018A
KR20010095018A KR1020010015741A KR20010015741A KR20010095018A KR 20010095018 A KR20010095018 A KR 20010095018A KR 1020010015741 A KR1020010015741 A KR 1020010015741A KR 20010015741 A KR20010015741 A KR 20010015741A KR 20010095018 A KR20010095018 A KR 20010095018A
Authority
KR
South Korea
Prior art keywords
header
stream
packet
pes
elementary
Prior art date
Application number
KR1020010015741A
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 KR20010095018A publication Critical patent/KR20010095018A/ko

Links

Classifications

    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 패킷들을 포함하는 패킷화된(packetized) 데이터 스트림을 디코딩하는 방법 및 장치로서, 패킷은 헤더(header)와 패이로드(payload)를 포함하며, 기본 스트림은 상기 패킷들의 패이로드로서 캡슐화(encapsulate)되는, 방법 및 장치에 관한 것이다. 본 발명의 방법은,
- 상기 기본 스트림에서 목적 헤더를 선택하는 단계와;
- 상기 목적 헤더 앞에 패킷화된 데이터 스트림 패킷 헤더를 삽입하는 단계와;
- 상기 삽입된 패킷 헤더와, 상기 목적 헤더와, 상기 목적 헤더 이후 연속되는 패킷화된 데이터 스트림의 데이터를 패킷화된 데이터 스트림 파서(parser)에 전송하는 단계를 포함한다. 본 발명은 디지털 비디오 시스템, 특히 디지털 텔레비전 디코더에 응용된다.

Description

더미 헤더 삽입을 사용하여 디지털 비디오 시스템에서 디지털 비디오 스트림을 디코딩하기 위한 방법 및 장치{METHOD AND DEVICE FOR DECODING A DIGITAL VIDEO STREAM IN A DIGITAL VIDEO SYSTEM USING DUMMY HEADER INSERTION}
본 발명은 디지털 비디오 시스템에서 레코딩된 트랜스포트 스트림들 또는 패킷화된 기본 스트림들을 디코딩하기 위한 방법에 관한 것이다. 본 발명은 또한 이러한 방법을 구현하는 장치에 관한 것이다. 본 발명은 특히 트릭모드 디코딩에 응용될 수 있다.
MPEG Ⅱ 또는 DVB 순응형 디지털 텔레비전 스트림은 몇 개의 계층을 포함하는데, 그 중에 기본 스트림 계층, 패킷화된 기본 스트림(PES) 계층 및 트랜스포트 스트림(TS) 계층이 있다. 이에 대응하는 디코더는 보통 특정한 TS 계층 패킷들을 필터링하기 위한 디멀티플렉서와, PES 계층을 제거하고 본래의 기본 스트림들을 전송하기 위한 PES 파서 및 비디오 기본 스트림을 디코딩하기 위한 적어도 하나의 비디오 디코더를 포함한다.
미래의 디코더들은 압축된 TS 또는 PES 스트림들을 레코딩하기 위해서 대용량 저장 장치들을 병합할 것이다. 저속 또는 고속의 전진(forward) 또는 후진(backward) 플레이와 같은 트릭모드들을 구현하기 위해서, 비디오 스트림은 상기 대용량 저장 장치로부터 비디오 디코더로 전송되기 이전에 편집되어야 한다. 특히, 고속 전진 또는 후진 플레이의 경우, 특정한 화상들 또는 화상 시퀀스들만이 디스플레이될 것이다. 이러한 편집으로 인해서, 비디오 디코더에 전송된 최종 데이터가 반드시 유효한 TS 또는 PES 스트림 포맷을 갖지는 않을 것이며, 이러한 비디오 디코더의 동작이 반드시 예상된 동작이지는 않을 것이다.
본 발명의 목적은 비디오 디코더에 적법한(ISO 13818-2 표준에 비추어) 스트림들만을 전달하는 것이다.
도 1은 본 실시예에 따른 텔레비전 수신기의 블록도.
도 2는 본 실시예에 따른 대용량 저장 매체로 사용되는 하드디스크 드라이브의 파일 시스템을 도시한 도면.
도 3은 오디오/비디오 스트림 레코딩 및 재생 전용인 파일 시스템의 부분을 도시한 도면.
도 4a는 PES(패킷화된 기본 스트림 : Packetized Elementary Stream) 모드에서 스트림 데이터를 저장하는데 사용되는 저장 기본 유닛(SEU: Storage Elementary Unit)을 도시한 도면.
도 4b는 트랜스포트 스트림(TS : Transport Stream) 모드에서 스트림 데이터를 저장하는데 사용되는 SEU를 도시한 도면.
도 5a 및 도 5b는 PES 모드일 때 하드디스크 드라이브에 기록되는 PES 데이터를 저장하는데 사용되는 FIFO를 도시한 도면.
도 6은 본 실시예에 따른 트릭모드(trickmode) 정보를 저장하기 위한 다른 데이터 구조들을 나타내는 도면.
도 7a는 더미(dummy) PES 헤더의 삽입 이전의 PES 계층 비디오 스트림을 나타내는 도면.
도 7b는 더미 PES 헤더의 삽입 이후의 도 7a의 PES 계층 비디오 스트림을 나타내는 도면.
도 8a는 더미 PES 헤더를 포함하는 TS 패킷을 삽입하기 이전의 TS 계층 비디오 스트림을 나타내는 도면.
도 8b는 더미 PES 헤더를 포함하는 TS 패킷을 삽입한 이후의 도 8a의 TS 계층 비디오 스트림을 나타내는 도면.
도 9는 비디오 디코더의 입력 버퍼에서 바라본 기본 비디오 스트림을 나타내는 도면.
<도면 주요 부분에 대한 부호의 설명>
1 : 수신기 3 : 스트림 파서(parser)
5 : 메모리 7 : TS 디멀티플렉서
9 : MPEG 비디오 디코더 10 : 마이크로프로세서
본 발명의 하나의 대상은 패킷들을 포함하는 패킷화된 데이터 스트림을 디코딩하는 방법으로서, 패킷은 헤더(header)와 패이로드(payload)를 포함하며, 기본 스트림은 상기 패킷들의 패이로드로서 캡슐화(encapsulate)되는, 디코딩 방법이며, 이 방법은
- 상기 기본 스트림에서 목적 헤더를 선택하는 단계와;
- 상기 목적 헤더 앞에 패킷화된 데이터 스트림 패킷 헤더를 삽입하는 단계와;
- 상기 삽입된 패킷 헤더와, 상기 목적 헤더와, 상기 목적 헤더 이후 연속되는 패킷화된 데이터 스트림의 데이터를 패킷화된 데이터 스트림 파서에 전송하는 단계를 포함하는 것을 특징으로 한다.
파싱(parsing)되고 디코딩될 목적 헤더 이전에 추가적인 패킷 헤더를 삽입함으로써, 파서에서 바라본 기본 스트림의 보전성(integrity)이 복구된다. 따라서 파서는 정확하게 동작할 것이다.
특정한 실시예에 따라서, 패킷화된 데이터 스트림은 PES 스트림, 기본 스트림, 기본 비디오 스트림 및 목적 헤더(시퀀스 헤더, 화상 헤더, 화상 헤더 그룹중 하나)이다.
본 발명의 또 다른 대상은 패킷들을 포함하는 패킷화된 데이터 스트림을 캡슐화하는 트랜스포트 스트림을 디코딩하기 위한 방법으로서, 패킷은 헤더와 패이로드를 포함하며, 기본 스트림은 상기 패킷들의 패이로드로서 캡슐화되는, 디코딩 방법이며, 이 방법은
- 상기 기본 스트림에서 목적 헤더를 선택하는 단계와;
- 상기 목적 헤더를 포함하는 상기 트랜스포트 스트림 패킷 앞에 트랜스포트 스트림 패킷을 삽입하는 단계로서, 상기 삽입된 트랜스포트 스트림 패킷은 패킷화된 데이터 스트림 헤더를 포함하는, 트랜스포트 스트림 패킷 삽입 단계와;
- 상기 목적 헤더를 포함하는 상기 트랜스포트 스트림 패킷이 다음에 오는 삽입된 트랜스포트 스트림 패킷을 패킷화된 데이터 스트림 파서가 다음에 오는 트랜스포트 스트림 디멀티플렉서에 전송하는 단계를 포함하는 것을 특징으로 한다.
TS 스트림들에 적용되는 제약은 스트림 편집에 관한 한 PES 스트림들에 적용되는 제약들과는 다르다. PES 패킷 헤더를 삽입하기 위해서, PES 패킷 헤더가 TS 패킷의 패이로드에 포함되는, 특수한 TS 패킷이 삽입되어야 한다.
특정한 실시예에 따라서, 트랜스포트 스트림, 패킷화된 데이터 스트림 및 기본 스트림은 MPEG 순응형이며, 여기서 기본 스트림은 기본 비디오 스트림이며, 목적 헤더는 시퀀스 헤더, 화상 헤더, 화상 헤더 그룹중 하나이다.
본 발명의 또 다른 대상은,
- 패킷화된 기본 스트림 포맷을 갖는 디지털 비디오 스트림을 저장하기 위한 대용량 저장 장치와;
- 패킷화된 기본 스트림 포맷 데이터를 수신하도록 적응되는 비디오 디코딩 회로와;
- 상기 디지털 비디오 스트림에서 캡슐화된 기본 비디오 스트림에서 목적 헤더의 위치를 찾고, 상기 목적 헤더로부터 시작하는 상기 기본 스트림의 부분을 상기 디코더에 전송하고, 및 상기 전송 이전에 상기 목적 헤더의 앞에 더미 패킷화된기본 스트림 패킷 헤더를 삽입하기 위한 회로를 포함하는 것을 특징으로 하는 디지털 비디오 디코딩 장치이다.
본 발명의 또 다른 대상은,
- 트랜스포트 스트림 포맷을 갖는 디지털 비디오 스트림을 저장하는 대용량 저장 장치와;
- 상기 트랜스포트 스트림 포맷 데이터를 수신하도록 적응되는 비디오 디코딩 회로와;
- 상기 디지털 비디오 스트림에서 캡슐화된 기본 비디오 스트림에서 목적 헤더의 위치를 찾고, 상기 목적 헤더를 포함하는 상기 기본 스트림 패킷을 포함하는 상기 트랜스포트 스트림 패킷에서 시작하는 상기 트랜스포트 스트림을 상기 디코더에 전송하며, 상기 목적 헤더를 포함하는 상기 트랜스포트 스트림 패킷 앞에 패킷화된 데이터 스트림 헤더를 포함하는 트랜스포트 스트림 패킷을 삽입하기 위한 회로를 포함하는 것을 특징으로 하는 디지털 비디오 디코딩 장치이다.
본 발명의 다른 특징 및 장점들은, 도면을 통해 예시된 본 발명의 특정한 비제한적인 실시예들에 대한 설명을 통해서 분명해질 것이다.
(실시예)
본 상세한 설명은 MPEG Ⅱ 순응형 데이터 스트림을 수용하는 시스템 구조에 관한 것이며, 이에 대응하는 용어를 사용한다. 비디오 및 트랜스포트 레벨 코딩을 위한 MPEG Ⅱ 표준 신택스(syntax)에 관한 정보는 일예로 다음의 문서들, 즉 ISO/IEC 13818-1(정보 기술-이동 화상들과 이와 관련된 오디오 정보에 대한 일반적인 코딩 : 시스템) 및 ISO/IEC 13818-2(정보 기술-이동 화상들과 이와 관련된 오디오 정보에 대한 일반적인 코딩 : 비디오)에서 더 발견될 수 있다. 본 시스템은 DVB ETR-154 표준에 또한 순응한다.
물론, 본 발명은 MPEG Ⅱ 환경 또는 본 특허 출원에서 설명된 데이터 계층으로 제한되지 않는다.
1. 시스템 개요
로컬 대용량 저장 장치로부터 비디오 스트림을 플레이백(play back)할 때 고품질의 트릭모드 관리를 달성하기 위해서, 레코딩된 비디오 스트림의 구조에 대한 이해가 필요하다. 이러한 구조는 이하에서 트릭모드 정보로 호칭될 것이다. 이것은 비디오 스트림을 레코딩하기 이전에 및 레코딩하는 동안에 수행되는 파싱 처리에서 유래되었다. 파싱은 스트림 구조를 분석하고, 특정한 신택스 구조의 속성을 기억하는 것이다. 대용량 저장 매체 상에서의 이러한 구조들의 위치뿐만 아니라 이러한 구조들에 대한 정보가 또한 레코딩된다.
본 실시예에 따라서, 비디오와 같은 데이터(비디오로 제한되지는 않음)는 트랜스포트 스트림 계층 또는 패킷화된 기본 스트림 계층에서 레코딩된다. 트릭모드 정보는 많은 계층{잘 알려진 MPEG Ⅱ 신택스에 따라서 트랜스포트 스트림(TS)-패킷화된 기본 스트림(PES)-기본 스트림(ES)}에서 압축된 비디오 정보로 저장된 비디오 스트림의 구조를 설명한다. TS 계층 레벨에서 레코딩을 수행하는 주요한 실시예가 먼저 설명될 것이다. PES 계층 레벨에서 레코딩하는 제 2 실시예와의 차이가 각 경우에 나타내어질 것이다. 두 실시예들은 레코딩 레벨 모두가 동일한 디코더에서 양립할 수 있다는 의미에서 호환성을 갖기 때문에, 이들 실시예는 모두 도 1을 참조하여 설명될 것이다.
(a) TS 계층 레코딩
도 1은 본 실시예에 따른 디지털 텔레비전 수신기의 블록도이다. 수신기(1)는, 트랜스포트 스트림을 트랜스포트 스트림 디멀티플렉서 및 필터(4)에 출력할 수 있는 전단(FE : Front-End) 회로(2)를 포함한다. 전형적으로, 전단 회로는 튜너, 아날로그/디지털 컨버터, 적절한 복조기 및 순방향 에러 정정 회로를 포함한다. 전단 회로는, 전형적으로 케이블, 접시형 위성 안테나 및 이와 관련된 저잡음 블록 및 다운-컨버터(down-converter) 또는 지상 안테나인 신호원(미도시)으로부터 신호를 수신한다. 시스템에서의 전역 자원들(global resources)은 RAM(5), PES 파서(6), 2차 트랜스포트 스트림 디멀티플렉서(7), 오디오/비디오 디코더(8 및 9) 및 마이크로프로세서(10)를 포함한다. TS 디멀티플렉서 및 필터(4)는, 특정한 기준에 대응하는 인입 트랜스포트 스트림 데이터 패킷들을 필터링하고 이 데이터 패킷들로부터 특정한 패킷 식별자(PID : Packet IDentifier) 값들을 갖는 데이터 패킷들을 전형적으로 추출하도록 마이크로프로세서에 의해 프로그래밍된다. 인입 스트림 내용, 특히 PID 할당은 예컨대 MPEG Ⅱ 표준 또는 DVB 서비스 정보 표준(ETSI EN 300 468 문서 참조)에 의해 한정된 특정한 개수의 송신된 데이터 표들을 통해 알려진다. 전용 PID 값들이 또한 한정될 것이다.
필터링된 트랜스포트 스트림 데이터 패킷들은 스트림 파서(3)에 의해 더 처리하기 위해서 TS 기록 FIFO(15)가 일부분에 배치된 메모리(5)에서 버퍼링된다.
TS 패킷들의 PID 값과 이 패킷들의 목적지 응용(예컨대 오디오 및 비디오 디코더)에 따라서 별도의 버퍼들에 다른 TS 패킷들을 디스패치(dispatch)하는 종래의 디멀티플렉서와는 대조적으로, TS 디멀티플렉서 및 필터(4)는 단일 버퍼{즉, 본 실시예에서 TS 기록 FIFO(15)}에 레코딩되는 스트림들의 PID들에 대응하는 모든 패킷들을 패킷의 수신 순서대로 기록한다.
압축된 스트림 데이터 및 기타 데이터(예컨대, 제어 데이터)가 버스(11)로 모형화된 데이터 경로들을 통해서 주변 블록들 사이에서 송신된다. 수신기는 본 실시예에 따라서 하드디스크 드라이브인 대용량 저장 장치(12)를 더 포함한다. 대용량 저장 장치(12)는 본 경우에 EIDE 인터페이스인 인터페이스(13)를 통해서 버스(11)에 연결된다. 비디오 디코더 회로(9)는 알려진 방식으로 비디오 처리 및 디스플레이 회로(14)에 연결된다.
메모리(5)는 다음의 영역:
- 하드디스크에 기록될 필터링된 TS 패킷 데이터를 저장하기 위한 이미 언급된 기록 FIFO(15)와,
- 하드디스크로부터 판독된 TS 패킷 데이터를 저장하기 위한 TS 판독 FIFO(16)와,
- 하드디스크에 기록(또는 판독)될 트릭모드 정보를 저장하기 위한 트릭모드 버퍼 영역(17)을 포함한다.
(b) PES 계층 레코딩
PES 계층 레코딩을 위해서, 메모리(5)는 각각 오디오 PES, 비디오 PES 및 기타 데이터 전용인 세 개의 기록 FIFO(18 내지 20)와, 각각 유사한 유형의 패킷 전용인 세 개의 판독 FIFO(21 내지 23)를 포함한다.
디코더가 PES 모드에서 동작할 때, 제 2 디멀티플렉서(7)는 사용되지 않으며, PES 패킷들은 하드디스크(12)로부터 FIFO(21 및 22)를 통해서 직접 PES 파서(6)에 전송된다.
바람직하게, FIFO(15, 16 및 18 내지 23)는 순환 방식(circular manner)으로 구성된다.
2. 대용량 저장 장치
이제 하드디스크 드라이브 파일 시스템이 설명될 것이다. 디스크 드라이브(12)는 도 2의 도면에 의해 도시된 파일 시스템을 소유하며, 이 파일 시스템은 오디오/비디오 스트림 레코딩 및 재생 전용이다. 이 파일 시스템은 파일 시스템이 관리하는 데이터의 유형에 대한 특정한 필요조건에 응답한다. 본 파일 시스템은 상대적으로 큰 크기를 갖는 블록들의 등시성 데이터 스트림에 대한 순차적인 액세스를 위해 최적화된다.
변형으로써, 스트림된 데이터 이외의 다른 데이터에 대한 레코딩 및 검색 전용인 제 2 파일 시스템(예시되지 않음)이 동일한 하드디스크 상에 제공될 수 도 있다. 이러한 제 2 파일 시스템은 좀더 진부한 컴퓨터-유형 파일들에 대한 랜덤(random) 액세스를 위해 최적화된다. 부트(boot) 블록은 두 파일 시스템에 공통적일 수 있다. 이러한 제 2 파일 시스템은 UNIX 또는 MINIX 파일 시스템과 같은 진부한 유형이며, 좀더 상세하게 설명되지는 않을 것이다.
도 3은 스트림 파일 시스템의 좀더 상세한 형태이다. 이 파일 시스템은 슈퍼블록(superblock), 노드 저장 영역, 실행(run) 확장 저장 영역, 오디오/비디오 데이터 저장 영역 및 비트표 영역을 포함하며, 비트표 영역은 세 저장 영역들 각각에서의 각 기본 저장 구조의 상태를 설명하는 세 개의 비트표를 보유한다.
부트 블록은 볼륨(volume) 명칭 및 볼륨 식별자, BIOS 파라미터들 및 부트 프로그램과 같은 하드디스크 드라이브에 관한 일반적인 정보를 포함한다.
슈퍼 블록은 스트림 파일 시스템에 관한 정보, 특히 파일 시스템의 다른 영역들의 주소{논리적인 블록 주소(LBA : Logical Block Address)들의 형태로} 및 크기에 관한 정보를 보유한다.
노드 저장 영역은 노드들을 저장하는데 사용된다. 노드는 오디오/비디오 데이터 저장 영역에 저장된 파일을 설명하는 데이터 구조이다. 노드는 또한 디렉토리를 설명할 것이다. 노드는 파일 명칭, 부모(parent) 디렉토리 정보 및 그 파일이 위치되는 오디오/비디오 데이터 저장 영역의 부분들에 대한 설명과 같은 정보를 포함한다. 이러한 정보는 LBA 실행의 형태로 제공되며, LBA 시작 주소와, 그 실행을 형성하는 많은 LBA 블록에 의해 한정된다. 제한된 개수의 실행이 주어진 노드에 저장될 수 있으므로, 노드 내의 포인터는 대응하는 저장 영역에 위치한 실행 확장 데이터 구조를 가리킬 것이다. 만약 노드가 디렉토리를 설명하는데 사용된다면, 파일 위치 정보는 파일 또는 디렉토리 식별자들로 대체된다. 제 1 노드는 루트 디렉토리를 설명한다.
실행 확장 저장 영역은 주어진 파일을 위해서 추가의 LBA 실행들을 식별하는특정한 데이터 구조들을 포함한다.
비트표 영역은 세 개의 비트표, 즉 노드 비트표, 실행 확장 비트표 및 저장 기본 유닛 비트표를 포함한다. 처음 두 표들은 각각, 각각 실행 확장인 각 노드의 자유 상태 또는 사용 상태를 나타낸다. 세 번째 표는 각 저장 기본 유닛에 대해서 처음 두 표들과 같은 기능을 하며, 각 저장 기본 유닛은 본 실시예에 따라서 128 Kbytes의 블록을 나타낸다(물론, 다른 크기, 특히 더 큰 크기를 갖는 블록들이 사용될 수 도 있으며, 128 Kbytes 값은 단지 일예로 제공된 것이다).
마지막으로, 오디오/비디오 데이터 저장 영역은 일련의 저장 기본 유닛(SEU)을 포함한다. 각 SEU는 256개의 섹터들을 포함하며, 따라서 128 Kbytes를 나타낸다.
위의 데이터 구조들을 사용하여, 마이크로프로세서(10)는 파일들에 데이터를 기록하고 이 파일들로부터 데이터를 판독할 수 있을 뿐만 아니라 이러한 파일들을 생성하고 삭제할 수 있다.
(a) TS 계층 레코딩의 경우:
도 4b는 SEU가 TS 계층 레코딩을 위해서 사용될 때 SEU를 도시한 도면이다. SEU는 많은 멀티플렉싱된 전체 TS 패킷들로 이루어진 짧은 헤더와 패이로드를 포함한다. SEU가 정수 개수의 TS 패킷을 포함하므로, SEU의 크기가 512 bytes의 배수이기 때문에, 특정한 개수의 스터핑(stuffing) 비트들이 패이로드에 더해져야 한다.
(b) PES 계층 레코딩의 경우:
도 4a는 PES 스트림 SEU의 내용을 예시한다. SEU는 헤더와, 본 실시예에 따라서 각각 비디오 PES 패킷, 오디오 PES 패킷 및 기타 PES 패킷 전용인 가변적인 크기를 갖는 영역을 세 개까지 포함한다.
비록 이것이 실제의 예이지만, 영역의 개수는 세 개로 제한되지 않는다. 몇 개의 비디오 기본 스트림, 오디오 기본 스트림 및 보조 데이터 스트림은 SEU 내에서 이에 대응하는 개수의 영역들을 초래할 것이다. 이러한 경우, 메모리(5)는 이에 대응하는 개수의 판독/기록 FIFO를 포함할 것이다.
3. 레코딩 프로세스
(a) TS 계층 레코딩:
TS 계층 레코딩 및 재생을 위한 SEU의 구성은, 필터링된 TS 패킷들이 수신기의 다른 요소들에 의해 어떻게 다뤄지는지를 설명함으로써 가장 잘 설명될 수 있다. 일단 디멀티플렉서가 프로그래밍된 PID 값들에 대응하는 패킷들을 선택하게되면, 디멀티플렉서는 이 패킷들을 메모리(5)의 순환 기록 FIFO(15)에 저장한다. 패킷의 내용 유형, 즉 비디오(V), 오디오(A) 또는 기타(O)는 패킷 헤더의 각 PID 값으로부터 마이크로프로세서(10)에 의해 결정된다. 디멀티플렉서에 의해 처리된 비디오(V) 트랜스포트 스트림 패킷의 내용은 이후에 좀더 상세하게 설명되는 특정한 유형의 트릭모드 정보에 대한 추출을 위해서 스트림 파서(3)에 의해 파싱, 즉 분석된다. 원칙적으로, 어떠한 분석도 오디오 데이터 패킷 또는 기타 데이터 패킷에 대해 수행되지 않는다. TS 패킷들의 스트림에서의 초기의 순서는 FIFO(15)에서 유지된다. 이런 식으로, 다른 패킷들에서의 연속 카운터 값들은 일관성(coherent)을 유지한다. 게다가, 다른 스트림들(특히, 동일한 이벤트에 대응하는 비디오 스트림 및오디오 스트림) 사이에서의 동기화가 유지된다. 마이크로프로세서(10)는 도 5a에 의해 예시된 바와 같이 기록 FIFO(15)에 대한 판독 포인터 및 기록 포인터를 관리한다. 기록 포인터와 판독 포인터 사이의 차이가 128 Kbytes에서 SEU 헤더 크기를 뺀 값과 같게 될 때, 마이크로프로세서는 하드디스크로의 기록 프로세스를 착수한다.
TS 레코딩의 경우, 각 SEU 헤더는, TS 패킷들과 스터핑 비트들 사이를 구별하기 위해서 TS 패킷 패이로드에서 유용한 데이터의 길이에 대한 지시를 포함한다.
(b) PES 계층 레코딩:
이 경우에, 디멀티플렉서 및 필터(4)는 TS 패킷들을 필터링할 뿐만 아니라, TS 패이로드, 즉 PES 패킷들을 RAM(5)에 저장하기 이전에 TS 계층을 또한 제거한다. PES 패킷들은 PES 패킷들이 이송되었던 TS 패킷의 PID 값에 따라서 순환 기록 FIFO(18 내지 20)중 하나에 전송된다. 마이크로프로세서(10)는 이러한 FIFO 각각에 대한 판독 포인터와 기록 포인터를 관리한다. 모든 버퍼에 대한 기록 포인터와 판독 포인터 사이의 차이들의 합이 128 Kbytes에서 SEU 헤더 크기를 뺀 값과 같게 될 때, 마이크로프로세서는 하드디스크로의 기록 프로세스를 착수한다. 비디오 PES는 트릭모드 정보를 위해서 스트림 파서(3)에 의해 파싱된다.
PES 레코딩의 경우, 헤더는 SEU에 기록될 각 유형의 데이터 양, 즉 특정한 PID와 관련된 각 영역의 크기에 대한 정보와, SEU 내의 각 영역의 오프셋 주소를 포함한다. PES 레코딩의 경우에 어떠한 스터핑 비트도 사용되지 않으며, 따라서 PES 패킷들은 하나의 SEU에서 시작해서 그 다음 SEU에서 끝날 것이다.
TS 레코딩 또는 PES 레코딩일 수 있는 기록 프로세스는 이 기록이 시작해야하는 LBA 주소와, 기록될 LBA들의 개수를 명시하는 적절한 명령을 EIDE 인터페이스에 전달하여, 마이크로프로세서(10)에 의해 시작된다. 일단 하드디스크 드라이브가 기록 프로세스를 수행할 준비가 되면, EIDE 인터페이스는 적절하게 인터럽트를 함으로써 마이크로프로세서에게 통보한다.
계속해서 기록 프로세스는 마이크로프로세서(10)에 의해 생성된 SEU 헤더 내용을 HDD 인터페이스에 기록한다. 계속해서 기록 프로세스는 TS 기록 FIFO(15)로부터(TS 레코딩의 경우) 또는 차례로 기록 FIFO(18 내지 20) 각각에 대해서(PES 레코딩의 경우) HDD 인터페이스(13)로의 DMA 프로세스들을 개시한다. 알려진 방식에서, HDD 인터페이스(13)는 디스크 액세스를 위한 버퍼로 동작하는 캐시(cache) 메모리를 포함한다.
물론, 여기서 적절한 파일이 마이크로프로세서에 의해서 열려졌으며, 마이크로프로세서가 또한 EIDE 인터페이스에 전송된 데이터에 대한 목적지 SEU를 또한 지시한 것으로 가정된다.
이러한 하드디스크 기록 프로세스가 발생하는 동안, 패킷들(TS 또는 PES)은 계속 FIFO에 기록될 것이다.
PES 레코딩의 경우, 만약 도 5a가 디스크로 전송이 시작되기 바로 전의 FIFO와, 판독 및 기록 포인터의 상태들을 예시한다면, 도 5b는 전송이 이루어진 직후의 상태를 나타낸다. 포인터들이 FIFO의 최상부(top) 주소에 도달할 때, 이들은 최하부(bottom) 주소들로 자리 이동한다(wrap around). 비록 모든 FIFO들이 도 5a와 도5b에서와 동일한 외견상의 크기를 가질지라도, 다른 크기들이 사용될 수 도 있다. 유사한 프로세스가 TS 레코딩에 적용된다.
4. 트릭모드 데이터 생성
도 6은 트릭모드 정보를 저장하는데 사용되는 데이터 구조를 도시한 도면이다. 이러한 구조 및 이들의 저장이 먼저 논의될 것이고, 스트림 레코딩 동안에 대응하는 데이터를 얻기 위한 방법이 그 다음에 논의될 것이다.
본 실시예에 따라서, 트릭모드 데이터는 세 개의 다른 구조, 즉 비디오 설명 유닛(VDU : Video Description Unit) 표, 시간 인덱스 표(TT : Temporal indexing Table) 및 많은 설명자 블록들(비디오 설명 유닛-VDU들)로 확산된다.
도 6은 회색으로 나타낸 두 개의 VDU들을 도시한다. VDU는 많은 시퀀스에 대한 설명자들과, 각 시퀀스에 대해서는 그 시퀀스에 포함된 PES 헤더들과 화상들에 대한 설명자들을 포함한다. 예컨대, 본 실시예에 따라서, 각 VDU는 대략 3.5 초 동안의 비디오에 대응하는 7개의 시퀀스 설명자를 포함한다. VDU들은 또한 단지 최대 크기를 가지며, 가변적인 개수의 시퀀스를 설명할 것이다.
이하에서 제시된 표와 설명은 PES 계층 레코딩 모드에 관한 것이다. TS 계층 레코딩의 경우, 디스크 상의 또는 SEU에서의 한 항목에 대한 주소는 그 항목의 제 1 바이트를 포함하는 TS 패킷의 TS 패킷 헤더에 대한 주소에 의해 대체될 것이다.
각 시퀀스 설명자("S" 설명자)는 표 1에 도시된 데이터를 포함한다.
표 1 : 시퀀스 설명자
시퀀스 인덱스
제 1 화상의 인덱스
PES 정렬(alignment)
SEU 주소
SEU에서의 제 1 바이트의 주소
화상 목록
PES 헤더 목록
그 다음 시퀀스 주소
앞선 시퀀스 주소
본 실시예에 따라서, '시퀀스'는 ISO/IEC 13818-1 문서에서 한정된 MPEG Ⅱ 시퀀스이다.
시퀀스 인덱스는 레코딩된 비디오 스트림의 시작부분에 비교한 시퀀스의 등급을 제공한다.
제 1 화상 인덱스는 비디오 스트림의 시작부분에 비교한 이 시퀀스 내의 제 1 화상의 등급을 제공한다.
PES 정렬은 시퀀스에서의 PES 헤더들 다음에 화상 헤더가 즉시 오는지의 여부를 지시하는 플래그이다.
SEU(저장 기본 유닛) 주소는 이 시퀀스 헤더의 제 1 바이트를 포함하는 128 Kbytes 블록의 하드디스크 상의 주소(논리적인 블록 주소 번호)이다.
SEU에서의 제 1 바이트의 주소는 이 시퀀스 헤더의 제 1 바이트에서의 SEU의 시작부분에 비교한 바이트 단위의 오프셋이다.
화상 목록은 고려된 시퀀스에서의 각 화상의 화상 설명자에 대한 VDU에서의 포인터 목록이다.
VDU들에서의 모든 포인터들은 VDU 기본 주소에 기초한 상대적인 주소지정 구조를 사용한다. 이런 방식으로, 유효 포인터 값을 유지하면서 임의의 메모리 영역에 VDU가 로딩될 수 있다.
유사한 방식으로, PES 헤더 목록은 고려된 시퀀스에서의 각 PES 헤더의 PES 헤더 설명자에 대한 VDU 에서의 포인터 목록이다.
그 다음 시퀀스 주소는 고려된 시퀀스 다음에 오는 비디오 시퀀스에 대응하는 시퀀스 설명자 주소에 대한 VDU에서의 포인터이다. 특정한 주소값이 이 설명자가 또 다른 VDU에 있는 경우를 지시하는데 사용된다.
유사한 방식으로, 앞선 시퀀스 주소는 고려된 시퀀스 앞에 있는 비디오 시퀀스에 대응하는 시퀀스 설명자의 주소에 대한 VDU에서의 포인터이다. 특정한 주소값이 이 설명자가 또 다른 VDU에 있는 경우를 지시하는데 사용된다.
각 화상 설명자("P" 설명자)는 다음의 데이터 항목들을 보유한다.
표 2 : 화상 설명자
유형
시간 기준
필드/프레임
SEU 주소
SEU에서의 제 1 바이트의 주소
PES 시퀀스에서의 제 1 바이트의 주소
그 다음 화상 주소
유형 정보는 화상이 내부, 예측(intra, predictive) 코딩 유형인지, 양방향 코딩 유형인지의 여부를 지시한다.
시간 기준 정보는 MPEG Ⅱ 화상 헤더로부터 직접 추출된다. 이 정보는 화상들의 서로에 대한 디스플레이 순서를 제공한다.
필드/프레임 정보는 이 화상이 짝수 필드, 홀수 필드 또는 전체 프레임을 포함하는지의 여부를 지시한다.
SEU 주소는 화상 헤더의 제 1 바이트를 포함하는 SEU의 제 1 LBA의 번호이다.
SEU에서의 제 1 바이트의 주소는 화상 헤더의 제 1 바이트의 SEU 주소의 시작부분에 비교한 바이트 단위의 오프셋이다. 이것은 화상의 제 1 바이트에 직접 액세스하게 한다. 이러한 정보는 스트림 파서에 의해 유도된다.
PES 시퀀스에서의 제 1 바이트의 주소는 화상 시작 코드의 제 1 바이트와 전체 비디오 시퀀스의 제 1 바이트 사이에서의 상대적인 주소이며, 이 전체 비디오 시퀀스의 제 1 바이트는 복원(restitution)하는 동안에 편집하기 위해서 메모리에 로딩될 것이다.
PES 헤더의 내용은 화상을 적절하게 디코딩하고 제공하기 위해 또는 디코딩하거나 제공하기 위해 요구될 수 있을 것이다. 결국, 설명자들이 PES 헤더를 위해서 또한 생성된다.:
각 PES 설명자("E" 설명자)는 다음의 데이터 항목들을 보유한다
표 3 : PES 설명자
SEU 주소
SEU에서의 제 1 바이트의 주소
PES 시퀀스에서의 제 1 바이트의 주소
그 다음 PES 헤더 주소
SEU 주소는 PES 헤더의 제 1 바이트를 포함하는 128 Kbytes 블록의 제 1 LBA의 번호이다.
SEU에서의 제 1 바이트 주소는 PES 헤더의 제 1 바이트의, SEU 주소의 시작부분에 비교한 바이트 단위의 오프셋이다.
PES 비디오 시퀀스에서의 제 1 바이트의 주소는, 복원하는 동안에 메모리로 로딩될 전체 비디오 시퀀스의 제 1 바이트에 비교한 PES 시작 코드의 시작부분의 바이트 단위의 오프셋이다.
그 다음 PES 헤더 주소는 VDU에서의 그 다음 PES 헤더에 대한 포인터이다.
비록 본 실시예의 경우는 아니지만, 변형된 실시예에 따라서, 또 다른 설명자가 화상 그룹(GOP : Group Of Picture) 헤더와 관련된다.
시간 인덱스 표는 표 4로 도시된 포맷을 갖는다.
표 4 : 시간 표
시간 인덱스 시퀀스 설명자 주소 SEU 주소
0 xxx yyy
1 xxx yyy
2 xxx yyy
3 xxx yyy
... ... ...
14400 xxx yyy
시간 인덱스는 비디오 스트림의 시작부분에서부터 카운트된 초 단위의 번호이다. 본 실시예에 따라서, 14400개의 엔트리가 가능하며, 이는 네시간 분량의 비디오에 대응하며, 하나의 화상 또는 프레임은 40 ms를 나타낸다.
시퀀스 설명자 주소는 대응하는 VDU 기본 주소에 비교한, 시간 인덱스 이후에 제 1 화상을 포함하는 시퀀스 설명자에 대한 포인터를 제공한다. 만약 대응하는 VDU가 메모리에 존재하지 않는다면, VDU는 먼저 VDU 표에서 제공된 정보를 사용하여 하드디스크로부터 로딩되어야 한다.
SEU 주소는 SEU의 하드디스크 드라이브 상의 LBA 번호에서의 주소이며, 이SEU는,
(a) TS 계층 레코딩의 경우에, T초가 지난 후 시작하는 제 1 비디오 시퀀스의 시퀀스 헤더를 포함하는 트랜스포트 스트림 패킷의 트랜스포트 패킷 헤더와,
(b) PES 계층 레코딩의 경우에, T초가 지난 후 시작하는 제 1 비디오 시퀀스의 시퀀스 헤더를 포함한다.
대략 초 단위의 시간(T)에서 시작하는 비디오 시퀀스에 대한 액세스의 경우에, T를 인덱스로 사용하여 시간 표를 주소지정하는 것과, LBA에서 시작해서 디스크로부터의 판독을 시작하기 위해서 대응하는 SEU 주소를 사용하는 것이면 충분하며, LBA는 시퀀스를 디코딩하는데 필요한 트랜스포트 스트림 패킷의 시작부분을 포함하거나{(a)의 경우}, 시퀀스 헤더의 위치를 직접 포함한다{(b)의 경우}. 시간 표만이 이러한 액세스에 대해서 필요하다.
표들과 VDU들 모두에 저장된 나머지 데이터는 주로 트릭모드 재생을 위해서 사용된다.
VDU 표는 표 5로 도시된 포맷을 갖는다.
표 5 : VDU 표
VDU 인덱스 LBA 주소 LBA 단위의 크기 시간 표 인덱스
0 Xxx yyy Zzz
1 Xxx yyy Zzz
2 Xxx yyy Zzz
... ... ... ...
VDU 표는 각 VDU에 대한 엔트리를 가지며, 각 VDU에 대해서 하드디스크 상의 제 1 LBA의 번호와, LBA를 통한 VDU의 크기와, VDU에 의해 나타내어진 비디오 부분에 대한 시간 간격(비디오 스트림의 시작부분으로부터 시작해서 초 단위로 나타내짐)을 지시한다. 이러한 간격은 엔트리들을 TT 표에 명기한다(specify).
시간 인덱스 표(TIT : Temporal Index Table), VDU 표 및 VDU들은 하드디스크 상에 저장된다. 이러한 표들은 메모리(5)의 트릭모드 버퍼 영역(17)으로 또한 로딩되며, 이는 비디오를 하드디스크에 레코딩하는 경우에 변형하고, 하드디스크로부터 재생하는 경우에 참조하기 위해서 이다. 필요한 VDU들은 또한 이용 가능한 자유 메모리의 양에 따라 하드디스크로부터/로 판독/기록된다.
TIT 및 VDU 표들과 VDU들에 저장된 트릭모드 데이터의 생성은 다음과 같이 수행된다.
생성되는 정보는 세 종류, 즉 디멀티플렉싱된 비디오 패킷들로부터 직접 추출된 정보와, 비디오 스트림의 구조를 설명하는 정보와, 하드디스크 드라이브 상의 특정한 비디오 스트림 데이터의 위치에 관한 정보이다. 처음 경우에, 스트림에서의 PES 또는 화상 헤더들에 대한 간단한 파싱이 필요한 정보를 산출한다. 두 번째 경우에, 비디오 스트림은 분석되어야 하고 비디오 스트림의 구조가 기억되어야 한다. 세 번째 경우에, 정보가 파일 시스템으로부터 더 구해져야 한다. 표 6은 각 데이터 종류에 대한 기원을 지시한다.
표 6
설명자 데이터 기원
S 시퀀스 인덱스 비디오 스트림 분석
S 제 1 화상 인덱스 비디오 스트림 분석
S PES 정렬 PES 헤더
S SEU 주소 파일 시스템 & 기록 FIFO 관리
S SEU에서의 제 1 바이트의 주소 파일 시스템 & 기록 FIFO 관리
S 화상 목록 비디오 스트림 분석
S PES 헤더 목록 비디오 스트림 분석
S 그 다음 시퀀스 주소 비디오 스트림 분석
S 앞선 시퀀스 주소 비디오 스트림 분석
P 유형 화상 헤더
P 시간 기준 화상 헤더
P 필드/프레임 화상 헤더
P SEU 주소 파일 시스템 & 기록 FIFO 관리
P SEU에서의 제 1 바이트의 주소 파일 시스템 & 기록 FIFO 관리
P PES 시퀀스에서의 제 1 바이트의 주소 비디오 스트림 분석
P 그 다음 화상 주소 비디오 스트림 분석
E SEU 주소 파일 시스템 & 기록 FIFO 관리
E SEU에서의 제 1 바이트의 주소 파일 시스템 & 기록 FIFO 관리
E PES 시퀀스에서의 제 1 바이트의 주소 파일 시스템 & 기록 FIFO 관리
E 그 다음 PES 헤더의 주소 비디오 스트림 분석
이하에서, 하나의 기본 비디오 스트림만이 주어진 시간에 레코딩되는 것으로, 즉 하나의 비디오 PID만이 필터링되는 것으로 가정된다. 만약 하나보다 많은 비디오 PID가 필터링된다면, 표들과 VDU들이 각 스트림을 위해서 동시에, 개별적으로 생성된다.
파싱은 TS 계층 레코딩 및 PES 계층 레코딩에 대해 유사한 방식으로 수행된다, 즉 동일한 항목들이 저장된 데이터에서 발견된다(spot). 변경되는 점은, TS 레코딩의 경우 항목이 발견될 때 이 항목을 포함하는 TS 패킷의 TS 헤더에 대한 주소가 이 항목의 주소 대신에 사용된다는 점이다.
디멀티플렉서에 의해 메모리(5)에 저장된 TS 패킷 또는 PES 패킷은 먼저 시퀀스 헤더, PES 헤더 또는 화상 헤더를 검출함으로써 분석된다. 이러한 헤더들 각각은 MPEG Ⅱ 비디오 표준에 의해 한정된, 사전에 한정된 시작 코드를 가지며, 인입 TS 패킷 패이로드 또는 PES 패킷에서 쉽게 발견될 수 있다. 두 PES 패킷으로 확산된 화상 또는 시퀀스 시작 코드들과, 두 TS 패킷으로 확산된 화상, 시퀀스 또는 PES 헤더 시작 코드를 놓치지 않도록 주의해야 한다. 각 검출된 헤더에 대해서, 대응하는 설명자(S, P, E)가 생성된다. PES 및 화상 헤더들이 설명자들에 삽입될 관련 필드들을 추출하기 위해서 더 파싱된다. 시퀀스와 화상은 제 1 시퀀스의 각 화상에서부터 시작하여 번호가 매겨지며, 시퀀스의 번호와 각 시퀀스에서의 제 1 화상 번호가 시퀀스 설명자에 삽입된다. 이미 언급된 바와 같이, 새 VDU가 VDU 크기를 관리할 만하게 유지하기 위해서 대략 매 3.5 초 동안의 비디오에 대해서 생성된다. 이러한 VDU는 평균 84개의 화상을 보유한다. VDU는 완전한(complete) 시퀀스만을 보유하며, 따라서 특정한 VDU의 크기는 바뀔 것이다.
마이크로프로세서(10)는 오디오, 비디오 및/또는 기타 데이터가 기록되는 그 다음 SEU 블록 주소를 또한 결정한다. 파싱 프로세스 동안에, 스트림 파서(3)는 SEU의 시작부분에 비교한 주어진 피스의 데이터(a given piece of data)의 바이트 단위(또는 LBA 및 바이트)의 오프셋을 결정한다. 오프셋은 SEU가 디스크에 기록될 때마다 리셋된다. 오프셋은 다음의 데이터 항목, 즉 PES 계층 레코딩의 경우 시퀀스 헤더, 화상 헤더, PES 헤더 및 TS 계층 레코딩의 경우 이에 대응하는 TS 패킷 헤더의 주소에 대해 결정된다. 이 세 헤더들을 위한 SEU 주소 및 오프셋이 각 설명자에 삽입된다.
VDU의 생성과 동시에, 마이크로프로세서는 VDU 표와 시간 표를 생성한다.
VDU 표에 대한 엔트리는 VDU가 디스크에 기록될 준비가 될 때마다 생성된다. 본 실시예에 따라서, VDU는 스트림 파일 시스템의 파일에 기록된다. 각 VDU에 대해, VDU의 위치와 크기는 LBA 단위로 제공된다. VDU가 포함하는 시간 간격(비디오 스트림의 시작부분에 비교해서 초 단위로 나타내짐)이 VDU에 포함된 화상의 번호에 기초하여 계산된다. 이 정보는 또한 VDU 표에 삽입된다.
시간 인덱스 표는 본 실시예에 따라 초당 하나의 엔트리를 포함한다. 시간 인덱스 표의 내용은 VDU의 내용과 TS 헤더 오프셋(TS 계층 레코딩의 경우) 또는 시퀀스 헤더 오프셋(PES 계층 레코딩의 경우)을 사용하여 결정된다.
VDU 표와 시간 인덱스 표 모두는 일단 생성되면 하드디스크에 기록된다. 이들의 크기와 이용 가능한 메모리에 따라서, 이러한 표들을 분할하여 필요한 부분의 표들만 로딩해야할 수 도 있다.
의도적으로, VDU는 분할하게 하고, 메모리에서 다이내믹하게 재위치지정하게 하기 위해서 상대적인 주소지정을 사용하여 링크된 요소들로 이루어진다.
5. 트릭모드 복원
트릭모드 비디오를 복원하는 동안에, 오디오 데이터는 오디오 디코더에 송신되지 않는다.
이제, 트릭모드 목적을 위한 하드디스크 드라이브로부터의 재생이 논의될 것이다. 이러한 단계 동안에, 마이크로프로세서(10)는 앞서 레코딩된 비디오 스트림에 대한 실시간 스트림 편집과, 트릭모드 정보에 기초한 비디오 액세스 유닛(하나의 화상에 대해 코딩된 데이터임)에 대한 추출 및 재 순서지정과, 디코더(9)의 급송(feeding) 및 디코딩 및 디스플레이 프로세스의 제어를 수행한다.
하드디스크 드라이브로의 랜덤 액세스 시간이 꽤 길기 때문에, 실제적인 방법은 단일 비디오 시퀀스를 포함하는 레코딩된 스트림의 슬라이스(a slice of the recorded stream)를 디스크로부터 메모리(5)로 판독할 것이다. 전체 시퀀스가 메모리(5)에 있으므로, 시퀀스에서의 각 화상은 비디오 디코더에 전송되도록 액세스될 수 있다.
PES 파서(6) 및/또는 TS 디멀티플렉서(7)는 대응하는 PES 계층 또는 TS 계층을 제거하고, PES 헤더와 TS 헤더 각각으로부터 더 낮은 계층에 관련된 정보를 추출한다. 버스로부터 직접이든 디멀티플렉서(7)로부터든간에 데이터를 수신할 때, PES 파서는 유효한 PES 헤더 시작 코드 이전에 나타나는 임의의 데이터를 거부할 것이다.
트릭모드 재생의 경우, 스트림에서의 화상들은, 대응하는 시퀀스가 하드디스크로부터 판독되어진 후 메모리에서 하나씩 액세스된다. 그러나, TS 레코딩 모드이든 PES 레코딩 모드이든 간에, 규칙적으로 PES 헤더가 대응하는 화상 헤더의 바로 앞에 있지는 않는다. 다시 말해, 화상 헤더는 PES 패킷 패이로드의 시작부분 상에 반드시 정렬되지는 않으며, 고려된 화상에 관련되지 않은 데이터가 PES 헤더와 화상 헤더 사이에 존재할 수 있다. PES 파서가 정확하게 동작하는 경우에, 그럼에도 불구하고 이러한 PES 헤더를 제공하는 것이 필요하다. 그렇지 않으면, PES 파서는 화상 데이터를 비디오 디코더(9)에 전달하지 않을 것이고, 제 1 PES 헤더의 앞에 있는 모든 데이터는 보통 디코더가 리셋된 이후 거부된다. 따라서, PES 헤더가 앞에 오지 않은 화상 데이터가 뒤에 오는 화상 헤더가 또한 거부될 것이다. 본 실시예에 따라서, 더미 PES 헤더가 디코딩될 화상의 화상 헤더 앞에 삽입된다. 따라서, 일관성의 PES 스트림이 복구되며, 최소량의 관련 없는 데이터가 하드디스크로부터 판독되고, 어떠한 관련없는 데이터도 디코더(9)에 전달되지 않는다.
정상 속도의 12배인 고속 전진을 포함하는 간단한 예가 더미 PES 헤더의 삽입을 설명하는데 사용될 것이다. 이러한 예를 위해서, I-유형 화상들만이 액세스되는 것으로 가정될 것이다. 이러한 경우가 아닐 때, 즉 디스플레이되는 화상이 P-유형 또는 B-유형일 때에 취해질 사전 주의사항이 이후에 설명될 것이다.
정상 속도의 10배인 고속 전진은 12개의 화상중 하나의 화상을 판독하여(I-유형의 화상들만이 액세스된 것으로 가정) 디코딩하며, 이 디코딩된 화상들을 하나의 화상의 정상 속도로, 즉 50 Hz 프레임 속도의 경우 매 40 ms마다 디스플레이하는 것을 포함한다.
(a) PES 계층 레벨에서의 스트림 편집
마이크로프로세서(10)의 제 1의 임무는 하드디스크 드라이브로부터 추출될 제 1 비디오 액세스 유닛을 결정하는 것이다. 만약 고속 전진이 비디오 스트림의 시작부분에 비교해서 시간(T)에서 시작한다면, 디스플레이될 제 1 화상은 T시간 이후에 스트림에서 존재하는 제 1 화상이다.
VDU 표와 시간 표에서 인덱스로 사용되기 위해서, T는 정수 개수의 초 단위의 시간들로 절단된다. VDU 표를 사용하여, 대응하는 VDU는 EIDE 인터페이스로부터 요청을 받으며, 이것이 이미 존재하지 않는다면 메모리(즉, 트릭모드 버퍼 영역)에로딩된다.
시간 표는 화상 설명자를 포함하는 이러한 VDU에서의 시퀀스 설명자를 가리킨다. 시퀀스 설명자의 내용은 이에 대응하는 전체 비디오 시퀀스를 메모리(5)에 로딩하는데 사용된다. 디코더(9)는 마이크로프로세서(10)가 디코더(9)의 디코딩 파라미터들을 조정할 수 있도록 된다. 이때, 화상 데이터가 다음에 오는 더미 PES 헤더를 송신하기 이전에 시퀀스 헤더를 PES 파서에 송신하는 것이 필요하지는 않을 것이다.
각 화상이 40 ms를 나타내며, 화상 목록(시퀀스에서의 화상들의 다른 화상 설명자를 가리킴)을 사용하므로, 적절한 시간에서(in time) T에 가장 근접한 화상 설명자에 쉽게 액세스할 수 있다. 화상 설명자는 메모리에 로딩된 비디오 시퀀스에서의 화상 헤더의 오프셋을 나타낸다. 따라서, 원하는 화상이 디코더에 전달되며, 디코더는 이러한 화상을 정확하게 다루기 위해서 마이크로프로세서(10)에 의해 프로그래밍된다.
이 경우에, 트랜스포트 계층이 이미 제거되었으므로, 데이터가 메모리(5)로부터 PES 파서(6)에 제공된다.
도 7a 및 도 7b는 디코딩될 화상을 포함하는 PES 패킷들로 매핑(mapping)된 순차적인 화상들의 형태 하에서의 PES 스트림을 나타낸다. 나타내어진 스트림의 부분은, 만약 PES 계층만 레코딩되었다면, 비디오 판독 FIFO에 저장된 스트림일 것이다. 각 화상 데이터의 앞에는 화상 헤더가 오며, 이들은 함께 비디오 액세스 유닛을 형성한다. 스트림은 일반적으로 기본 비디오 스트림의 내용과는 무관한 위치에서 PES 헤더를 포함한다.
도 7a는 화상(n)이 디스플레이될 화상인 편집되지 않은 PES 스트림을 도시한다. 이 화상의 앞에는 헤더가 온다. 화상(n)의 화상 헤더를 포함하는 PES 패킷의 헤더가 화살표로 나타내어졌다. 도 7b는 편집된 PES 스트림을 도시하며, 이 스트림으로 마이크로프로세서(10)는 화상(n)의 화상 헤더의 바로 앞에 더미 PES 헤더를 삽입하고, 이는 두 헤더 사이에서 임의의 데이터 간섭을 피하기 위해서 이다.
본 실시예에 따라서, 더미 PES 헤더는 표 7에 제공된 포맷을 갖는다. 이것은 MPEG Ⅱ 시스템 문서에 의해 허용되는 가장 짧은(즉 9바이트) 헤더이며, 비디오 판독 FIFO의 내용이 화상 헤더 오프셋에 의해 한정된 주소에서부터 시작해서 판독되기 이전에 비디오 디코더(9)에 전달된다. 이때, 디코더는 유효한 PES 스트림을 알아서, 마이크로프로세서(10)에 의해 지시되는 대로 이 화상 데이터를 처리할 것이다.
더미 PES 헤더는 디코더에 전달되는 비디오 액세스 유닛 시퀀스에서 갭(gap)이 있을 때마다 삽입된다.
아래의 표 7에서, 'Ox' 표기법은 16 진수값을 나타낸다. 소문자 'u'는 가변적인 2 진수를 나타낸다.
표 7: 더미 PES 헤더
의미
0000 0000 0000 0000 00000001("0x000001") 패킷 시작 코드 접두부(prefix)
1110 uuuu(여기서, 'uuuu'는 "OxEO와 OxEF" 사이에서 변한다 비디오 스트림 번호(uuuu)b
0000 0000 0000 0000("OxOOOO") PES 패킷 길이
10(7:6)uu(5:4)0(3)0(2)0(1)0(0) PES_스크램블링(scrambling)_제어: 이러한 두 비트는 이전의 PES 패킷 헤더로부터의 동일한 비트에 대한 복사본(copy)이어야 한다PES_낮은_우선순위 데이터_정렬_지시자: 비디오 시작 코드가 PES 헤더 바로 다음에 오는지의 여부는 한정되지 않는다저작권 원본_또는_복사본: PES 패킷 패이로드는 복사본이다.
00(7:6) PTS_DTA_플래그: 어떠한 PTS 및 DTS 필드도 존재하지 않는다
0(5) ESCR_플래그: 어떠한 ESCR 필드도 존재하지 않는다
0(4) ES_속도_플래그: 어떠한 ES_속도 필드도 존재하지 않는다
0(3) DSM_트릭_모드_플래그: 어떠한 DSM_트릭_모드 필드도 존재하지 않는다
0(2) 추가_복사본_정보_플래그: 대응하는 필드가 존재하지 않는다
0(1) PES_CRC_플래그: 대응하는 필드가 존재하지 않는다
0(0) PES_확장_플래그: 대응하는 필드가 존재하지 않는다
0000 0000("0x00") PES 패킷 헤더 길이(PES 헤더에 더 이상의 바이트가 없다)
(b) TS 계층 레벨에서의 스트림 편집
이 경우, 데이터는 판독 FIFO(22)로부터 트랜스포트 스트림 디멀티플렉서(7)에 전송된다.
TS 계층은 PES 계층에 비교해서 추가적인 제약을 갖는다: 편집은 TS 패킷 레벨에서 단지 수행될 수 있다, 즉 전체 TS 패킷이 더해지거나 제거되어야 한다. 기존의 패킷에서의 바이트 삽입 또는 삭제는 결국 유효한 TS 스트림을 초래한다.
그 결과로, 디코딩될 화상을 포함한 SEU의 결정은, (a)의 경우에 비교해서 약간 다른 방식으로 수행된다. 다시, 화상을 포함하는 비디오 시퀀스를 포함하는 스트림의 전체 슬라이스(a whole slice of stream)가 메모리(5)에 로딩된다. 전체 TS 패킷들을 디멀티플렉서(7)에 단지 제공하기 위한 필요조건에 순응하기 위해서, 디코딩될 화상의 화상 헤더를 포함하는 TS 패킷의 TS 헤더에서부터 시작하는 판독을 시작해야 한다. 트릭모드 정보는 필요한 주소 정보를 제공한다: TS 스트림 레코딩의 경우, 트릭모드 정보 설명자의 모든 주소는 TS 패킷 경계상에서 적절하게 정렬된다.
도 8a는 디코딩될 화상의 화상 헤더를 포함하는 동일한 비디오 성분을 갖는 패킷(즉, 동일한 PID를 가짐)의 TS 스트림을 나타낸다.
PES 헤더만을 삽입하는 대신, 전체 TS 패킷이 삽입된다. 이러한 TS 패킷은 (a)에 관한 것과 동일한 이유로 더미 PES 헤더를 또한 포함한다. 도 8b는 TS 패킷을 삽입한 이후의 스트림을 예시한다.
삽입된 TS 패킷 헤더는 화상 헤더를 포함하는 TS 패킷의 TS 패킷 헤더의 PID 값과 같은 PID 값을 포함한다. TS 패킷 헤더는, 모듈로 16을 취해 1만큼 감소되는, 화상 헤더를 포함하는 TS 패킷의 TS 패킷 헤더의 연속_카운트 값과 같은 연속_카운트 값을 포함하며, 이는 그 다음의 TS 패킷의 값과 일치되게 하기 위해서이다. 연속_카운트 값은 메모리의 스트림에서 직접 판독된다. 적응 필드 플래그들 사이에서, 불연속 에러 플래그가 임의의 이전의 연속_카운트 값에 비교해서 불연속임을 나타내기 위해서 세팅된다. 적응 필드의 길이는, 헤더가 포함된 전체 TS 패킷의 길이가 188 bytes가 되도록 선택된다.
TS 패이로드는 이미 설명된 더미 PES 헤더를 포함한다. (a)의 경우와는 대조적으로, 화상 헤더가 TS 헤더의 끝부분과 반드시 정렬되지는 않으므로, 관련 없는 즉 쓸모 없는 데이터가 디코딩될 화상의 화상 헤더와 PES 헤더 사이에 존재할 것이다. 비디오 디코더에게 이 관련 없는 데이터를 무시하도록 통보하기 위해서, 삽입된 TS 헤더는 더미 PES 헤더 이후에 시퀀스 에러 코드를 또한 포함한다. 도 9는 디코더에 의해 수신되고, PES 계층이 제거된 데이터를 예시한다. 화상(X)은 디코딩될 화상이다. 디코더의 입력 버퍼는 이전에 수신된 부분적인 데이터를 여전히 포함하고 있으며, 이 부분적인 데이터는 예컨대 화상(B)와 같이 디코딩되는 이전의 화상의 전송으로부터 발생되고, 화상(B+1)에 관련되어 있다. 화상(X-1)에 관한 데이터는 마이크로프로세서(10)에 의해 삽입된 더미 TS 패킷과 화상(X)의 화상 헤더 사이에 존재하는 데이터이다. 더미 TS 패킷의 TS 헤더는 디멀티플렉서(7)에 의해 제거되어지고, 더미 TS 패킷의 패이로드에 포함된 더미 PES 헤더는 PES 파서(6)에 의해 제거되어진다. 화상(B+1)과 화상(X-1)의 부분적인 데이터 사이에는, 또 다른 코드("OxB4")가 앞에 오는 에러 시퀀스 코드("OxOO OO O1 B4")가 남아있다.
MPEG Ⅱ 비디오 문서의 섹션 6.2.1 및 표 6-1에 특히 언급되어진 시퀀스 에러 코드를 검출하자마자, 디코더(9)는 이 에러 코드 이전에 수신되어진 모든 데이터를 거부하며, 그 다음 화상 헤더까지의 이후에 수신되어진 모든 데이터를 거부한다. 디코더(9)는 이러한 동작을 하도록 구성된다.
시퀀스 에러 코드를 삽입함으로써 새로운 문제가 생긴다, 즉 PES 파서(6)가 PES 헤더의 스트림을 제거하면, 삽입된 PES 패킷의 앞에 오는 PES 패킷의 패이로드의 마지막 바이트는 시퀀스 에러 코드의 처음 바이트(즉 "OxOO")와 결합되어 화상 헤더 시작 코드(즉, "OxOO OO O1 OO")를 구성한다. 이러한 경우를 피하기 위해서, 값("OxB4")의 바이트가 더미 PES 헤더와 시퀀스 에러 코드 사이에 삽입된다. 이러한 경우에, 만약 앞선 PES 패킷 패이로드의 마지막 세 바이트가 사실 "OxOO OO O1"이라면, 형성된 코드는 또 다른 시퀀스 에러 코드"OxOO OO O1 B4"가 된다. 이 코드가 한 번 또는 두 번 존재하는지의 여부는 비디오 디코더의 동작에 관한 한 중요하지 않다. 마지막 세 바이트 및 "OxB4" 바이트가 시퀀스 에러 코드를 형성하지 않을 때, B4의 존재는 그 다음의 시퀀스 에러 코드가 어쨌든 추가적인 "OxB4"를 포함하는 비디오 디코더의 입력 버퍼의 앞선 내용을 제거할 것이기 때문에 그리 중요하지 않다.
표 8: 더미 PES 헤더와 시퀀스 에러 코드를 갖는 TS 패킷
의미
헤더
0x47 동기화 바이트
0(7)1(6)0(5)(PID 5 MSB)(4:0) TS 패킷에 어떠한 에러도 없음PES 패킷의 시작낮은 우선 순위의 트랜스포트비디오 스트림 구성요소 PID의 5개의 MSB
(PID 8 LSB)(7:0) 비디오 스트림 구성요소 PID의 8개의 LSB
00(7:6)11(5:4)(N-1)(3:0) 스크램블링 되지 않은 TS 패이로드패이로드가 다음에 오는 적응 필드연속_카운트: 그 다음 TS 패킷 연속_카운트-1의 값을 취한다(모듈로 16)
OxA9(169Dec) 적응 필드 길이:183에서- 더미 PES 헤더의 길이(9 bytes)- 시퀀스 에러 코드길이(5 bytes)의 합을 뺀 값과 같다
1(7)0000000(6:0) 적응 필드 플래그:불연속성 에러가 세팅된다.
OxFF*168 168 스터핑 bytes
패이로드
0x000x000x01(1110 uuuu)b0x000x00(10uu 0000)b0x000x00 더미 PES 헤더
OxB4 이후에 제공되는 코드는 원하지 않는 시퀀스에 포함되지 않을 것을 보장한다
00 00 01 B4 시퀀스 에러 코드
보통, 트릭모드 동안에 하나씩 액세스되는 화상들이 반드시 내부-유형의 화상만은 아니다. 따라서, 다른 화상들을 디코딩하며, 특정한 화상을 디코딩하기위해서 이들을 메모리에 유지시키는 것이 필요할 것이다. 만약 디스플레이될 화상이 P-유형의 화상이라면, 앞선 I-유형의 화상(디스플레이될 화상의 화상 설명자의 앞에 오는 화상 설명자를 사용하여 발견될 수 있다)을 디코딩하고 이 I-유형의 화상을 먼저 디코딩하는 것이 필요할 것이다. 화상들은 화상들이 디스플레이되는 순서가아니라 화상들이 디코딩되는 순서에 따라서 송신(및 저장)됨을 기억해야 한다. 일반적으로 이러한 순서는 디스플레이 순서와 다르다. 비디오 디코더는 I-유형의 화상만을 디코딩하고, 이것을 디스플레이하지 않도록 마이크로프로세서(10)에 의해 지시를 받을 것이다. 그런 다음, P-유형의 화상이 디코딩되고 디스플레이된다.
이와 유사하게, 만약 B-유형의 화상이 디코딩된다면, 앞선 및 이후의 I-유형 및/또는 P-유형의 화상은 하드디스크로부터 추출되어 먼저 디코딩되어야 한다.
본 실시예는 대개 TS 스트림 패킷 레코딩 및 재생에 관한 것이지만, 물론 다른 계층 특히 PES 계층에 대한 레코딩/재생은 본 발명의 범위 바깥에 있지 않다.
게다가, 비록 본 실시예에 따라 마이크로프로세서(10)가 하드디스크 드라이브의 파일 시스템을 관리하더라도, 이러한 임무는 수신기의 다른 프로세서, 특히 비디오 디코더(9)에 의해 또한 수행될 수 도 있다.
또한, 비록 본 실시예에서 사용된 대용량 저장 장치가 하드디스크 드라이브이지만, 또 다른 유형의 장치가 또한 사용될 수 있다. 예컨대, 레코딩 가능한 컴팩트 디스크 또는 디지털 비디오 디스크가 사용될 수 도 있다.

Claims (12)

  1. 패킷들을 포함하는 패킷화된 데이터 스트림을 디코딩하는 방법으로서, 패킷은 헤더(header)와 패이로드(payload)를 포함하며, 기본 스트림은 상기 패킷들의 패이로드로서 캡슐화(encapsulate)되는, 디코딩 방법에 있어서,
    - 상기 기본 스트림에서 목적 헤더를 선택하는 단계와;
    - 상기 목적 헤더 앞에 패킷화된 데이터 스트림 패킷 헤더를 삽입하는 단계와;
    - 상기 삽입된 패킷 헤더와, 상기 목적 헤더와, 상기 목적 헤더 이후 연속되는 상기 패킷화된 데이터 스트림의 데이터를 패킷화된 데이터 스트림 파서(parser)에 전송하는 단계를,
    포함하는 것을 특징으로 하는, 패킷화된 데이터 스트림 디코딩 방법.
  2. 제 1항에 있어서, 상기 패킷화된 데이터 스트림은 PES 스트림, 상기 기본 스트림, 기본 비디오 스트림 및 상기 목적 헤더(시퀀스 헤더, 화상 헤더, 화상 헤더 그룹중 하나)인, 패킷화된 데이터 스트림 디코딩 방법.
  3. 제 1항 또는 제 2항에 있어서, 상기 삽입된 패킷 헤더는 더미(dummy) 패킷 헤더인, 패킷화된 데이터 스트림 디코딩 방법.
  4. 패킷들을 포함하는 패킷화된 데이터 스트림을 캡슐화하는 트랜스포트 (transport) 스트림을 디코딩하는 방법으로서, 패킷은 헤더와 패이로드를 포함하며, 기본 스트림은 상기 패킷들의 패이로드로서 캡슐화되는, 디코딩 방법에 있어서,
    - 상기 기본 스트림에서 목적 헤더를 선택하는 단계와;
    - 상기 목적 헤더를 포함하는 상기 트랜스포트 스트림 패킷 앞에 트랜스포트 스트림 패킷을 삽입하는 단계로서, 상기 삽입된 트랜스포트 스트림 패킷은 패킷화된 데이터 스트림 헤더를 포함하는, 트랜스포트 스트림 패킷 삽입 단계와;
    - 상기 목적 헤더를 포함하는 상기 트랜스포트 스트림 패킷이 다음에 오는 상기 삽입된 트랜스포트 스트림 패킷을 패킷화된 데이터 스트림 파서가 다음에 오는 트랜스포트 스트림 디멀티플렉서에 전송하는 단계를,
    포함하는 것을 특징으로 하는, 트랜스포트 스트림 디코딩 방법.
  5. 제 4항에 있어서, 상기 트랜스포트 스트림, 상기 패킷화된 데이터 스트림 및 상기 기본 스트림은 MPEG 순응형이며, 상기 기본 스트림은 기본 비디오 스트림이며, 상기 목적 헤더는 시퀀스 헤더, 화상 헤더, 화상 헤더 그룹중 하나인, 트랜스포트 스트림 디코딩 방법.
  6. 제 4항 또는 제 5항에 있어서, 상기 삽입된 트랜스포트 스트림 헤더에서의 상기 패킷화된 데이터 스트림 패킷 헤더는 더미 패킷 헤더인, 트랜스포트 스트림디코딩 방법.
  7. 제 4항 내지 제 6항중 어느 한 항에 있어서, 상기 삽입된 트랜스포트 스트림 패킷은 자신의 패이로드에 시퀀스 에러 코드를 더 포함하는, 트랜스포트 스트림 디코딩 방법.
  8. 제 7항에 있어서, 시작 코드와 같은 특정한 2진 시퀀스의 상기 기본 스트림 레벨로 나타나는 것을 피하기 위해서, 상기 시퀀스 에러 코드 이전에 추가적인 코드가 삽입되는, 트랜스포트 스트림 디코딩 방법.
  9. 제 8항에 있어서, 상기 추가적인 코드는 코드("OxB4")인, 트랜스포트 스트림 디코딩 방법.
  10. 제 4항 내지 제 9항중 어느 한 항에 있어서, 상기 삽입된 트랜스포트 패킷의 상기 헤더는, 상기 목적 헤더를 포함하는 상기 트랜스포트 패킷의 헤더의 연속 카운터 값에서 1을 뺀 값과 같은 연속 카운터 값과, 연속 카운터 불연속 정보(a continuity counter discontinuity information)를 포함하는, 트랜스포트 스트림 디코딩 방법.
  11. - 패킷화된 기본 스트림 포맷을 갖는 디지털 비디오 스트림을 저장하기 위한대용량 저장 장치와;
    - 패킷화된 기본 스트림 포맷 데이터를 수신하도록 적응된 비디오 디코딩 회로와;
    - 상기 디지털 비디오 스트림에서 캡슐화된 기본 비디오 스트림에서 목적 헤더의 위치를 찾고, 상기 목적 헤더로부터 시작하는 기본 스트림의 부분을 디코더에 전송하며, 상기 전송 이전에 상기 목적 헤더의 앞에 더미 패킷화된 기본 스트림 패킷 헤더를 삽입하기 위한 회로를,
    포함하는 것을 특징으로 하는 디지털 비디오 디코딩 장치.
  12. - 트랜스포트 스트림 포맷을 갖는 디지털 비디오 스트림을 저장하는 대용량 저장 장치와;
    - 트랜스포트 스트림 포맷 데이터를 수신하도록 적응되는 비디오 디코딩 회로와;
    - 상기 디지털 비디오 스트림에서 캡슐화되는 기본 비디오 스트림에서 목적 헤더의 위치를 찾고, 상기 목적 헤더를 포함하는 기본 스트림 패킷을 포함하는 트랜스포트 스트림 패킷에서 시작하는 트랜스포트 스트림을 디코더에 전송하며, 패킷화된 데이터 스트림 헤더를 포함하는 트랜스포트 스트림 패킷을 상기 목적 헤더를 포함하는 상기 트랜스포트 스트림 패킷 이전에 삽입하기 위한 회로를,
    포함하는 것을 특징으로 하는, 디지털 비디오 디코딩 장치.
KR1020010015741A 2000-04-05 2001-03-26 더미 헤더 삽입을 사용하여 디지털 비디오 시스템에서디지털 비디오 스트림을 디코딩하기 위한 방법 및 장치 KR20010095018A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00400941.1 2000-04-05
EP00400941A EP1148727A1 (en) 2000-04-05 2000-04-05 Method and device for decoding a digital video stream in a digital video system using dummy header insertion

Publications (1)

Publication Number Publication Date
KR20010095018A true KR20010095018A (ko) 2001-11-03

Family

ID=8173634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010015741A KR20010095018A (ko) 2000-04-05 2001-03-26 더미 헤더 삽입을 사용하여 디지털 비디오 시스템에서디지털 비디오 스트림을 디코딩하기 위한 방법 및 장치

Country Status (13)

Country Link
US (1) US6823131B2 (ko)
EP (1) EP1148727A1 (ko)
JP (1) JP4689872B2 (ko)
KR (1) KR20010095018A (ko)
CN (1) CN1194552C (ko)
AR (1) AR027770A1 (ko)
BR (1) BR0101303A (ko)
HK (1) HK1038126A1 (ko)
HU (1) HUP0101405A3 (ko)
MX (1) MXPA01003090A (ko)
MY (1) MY125951A (ko)
TW (1) TW510129B (ko)
ZA (1) ZA200102267B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008533B1 (ko) * 2002-10-10 2011-01-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 인터페이스를 통한 itv 트릭 재생

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001015163A1 (fr) * 1999-08-20 2001-03-01 Sony Corporation Dispositif d'enregistrement et de reproduction d'information
US7050505B2 (en) * 2001-09-13 2006-05-23 General Instrument Corporation Aliasing and routing of plural MPEG data streams
EP1320035A1 (en) * 2001-12-11 2003-06-18 Thomson Licensing S.A. Storage device cache management
US7080148B2 (en) 2002-09-30 2006-07-18 America Online, Inc. Translating switch and method
JP3821086B2 (ja) * 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
FR2850826B1 (fr) * 2003-02-04 2005-04-01 Medialive Procede et dispositif de protection pour la diffusion securisee d'oeuvres audiovisuelles
US7561597B2 (en) * 2003-08-14 2009-07-14 Broadcom Corporation System and method for data packet substitution
US7489362B2 (en) 2003-03-04 2009-02-10 Broadcom Corporation Television functionality on a chip
US7697818B2 (en) * 2003-03-28 2010-04-13 Panasonic Corporation Data processing device
US20070098356A1 (en) * 2003-04-23 2007-05-03 Kenji Morimoto Data processor
KR20040095034A (ko) * 2003-05-06 2004-11-12 삼성전자주식회사 엔트리 포인트 결정 방법 및 그 장치
US7817721B2 (en) * 2003-05-15 2010-10-19 Lsi Corporation Posting status data in digital transport stream processing
WO2004112255A1 (ja) * 2003-06-16 2004-12-23 Matsushita Electric Industrial Co., Ltd. パケット処理装置及び方法
US7349428B2 (en) * 2003-06-30 2008-03-25 Broadcom Corporation Data alignment of the packetized elementary streams in the coded data buffer for dual decode
EP1647139B1 (en) * 2003-07-21 2007-10-17 Thomson Licensing Method and system for detecting weak or invalid signals in data streams
DE10355345A1 (de) * 2003-11-25 2005-06-23 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zum Speichern oder Wiederfinden von definierten Positionen in einem Datenstrom
CN1902904A (zh) 2004-01-22 2007-01-24 半导体研究及设计公司 动态图像专家组数据接口之间的处理和后续路由的集成电路
TWI275273B (en) * 2004-03-03 2007-03-01 Mediatek Inc Method and apparatus for extracting payload from a packetized elementary stream packet
ATE555474T1 (de) 2004-04-28 2012-05-15 Panasonic Corp Stream-erzeugungsvorrichtung für bewegliche bilder, kodierungsvorrichtung für bewegliche bilder, multiplex-vorrichtung für bewegliche bilder und decodierungsvorrichtung für bewegliche bilder
KR100608056B1 (ko) 2004-06-05 2006-08-02 삼성전자주식회사 멀티미디어 컨텐츠 재생 장치, 재생 방법, 생성 장치,생성 방법, 및 그 멀티미디어 컨텐츠를 저장한 저장 매체
KR20050120491A (ko) * 2004-06-19 2005-12-22 삼성전자주식회사 멀티미디어 방송 시스템에서의 전송 에러 처리방법 및장치
US20060041923A1 (en) * 2004-08-17 2006-02-23 Mcquaide Arnold Jr Hand-held remote personal communicator & controller
US20060040638A1 (en) * 2004-08-17 2006-02-23 Mcquaide Arnold Jr Hand-held remote personal communicator & controller
US20060041916A1 (en) * 2004-08-17 2006-02-23 Mcquaide Arnold Jr Personal multi-modal control and communications system
BRPI0517365B1 (pt) * 2004-09-23 2019-12-17 Interdigital Madison Patent Holdings inserção de metadados para controle de reprodução em fluxo de transporte de vídeo
US20070166000A1 (en) * 2005-03-01 2007-07-19 Ramesh Nallur System and method for generating trick mode streams
US7885338B1 (en) * 2005-04-25 2011-02-08 Apple Inc. Decoding interdependent frames of a video for display
US7908555B2 (en) * 2005-05-31 2011-03-15 At&T Intellectual Property I, L.P. Remote control having multiple displays for presenting multiple streams of content
US8098657B2 (en) * 2005-05-31 2012-01-17 Broadcom Corporation System and method for providing data commonality in a programmable transport demultiplexer engine
US8045542B2 (en) * 2005-11-02 2011-10-25 Nokia Corporation Traffic generation during inactive user plane
US7792144B2 (en) * 2005-11-14 2010-09-07 Broadcom Corporation Processing data packets using navigational hardware assist
US7881320B1 (en) * 2005-12-12 2011-02-01 Xilinx, Inc. Parsing data from multiple digital bitstreams
US20070248318A1 (en) * 2006-03-31 2007-10-25 Rodgers Stephane W System and method for flexible mapping of AV vs record channels in a programmable transport demultiplexer/PVR engine
US8447169B2 (en) * 2006-10-09 2013-05-21 Philip Charles Lewis Process for editing and producing videos
JP4425287B2 (ja) 2007-02-20 2010-03-03 株式会社バッファロー ディジタルコンテンツ再生記録装置、ディジタルコンテンツ再生記録方法、ディジタルコンテンツ記録装置、およびディジタルコンテンツ再生記録プログラムを記録した媒体
US8090241B2 (en) * 2007-05-15 2012-01-03 Broadcom Corporation System and method for simultaneous network recording and playback of digital television programs
US8553781B2 (en) * 2007-12-07 2013-10-08 Thomson Licensing Methods and apparatus for decoded picture buffer (DPB) management in single loop decoding for multi-view video
US20090172752A1 (en) * 2007-12-28 2009-07-02 Yahoo! Inc. Streaming multiple videos in a playlist
US8041740B1 (en) * 2008-03-04 2011-10-18 Amdocs Software Systems Limited Database system, method, and computer program product for recording entity state and type information for use during subsequent processing of data
JP2009294603A (ja) * 2008-06-09 2009-12-17 Panasonic Corp データ再生方法、データ再生装置及びデータ再生プログラム
CN102768834B (zh) * 2012-03-21 2018-06-26 新奥特(北京)视频技术有限公司 一种实现音频帧解码的方法
JP5949204B2 (ja) * 2012-06-21 2016-07-06 ソニー株式会社 電子機器、電子機器におけるストリーム送受信方法、プログラム、ホストデバイスおよびホストデバイスにおけるストリーム送受信方法
EP3534617A1 (en) * 2018-02-28 2019-09-04 Vestel Elektronik Sanayi ve Ticaret A.S. Method, device and computer program for recording digital transport stream packets

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2288521B (en) * 1994-03-24 1998-10-14 Discovision Ass Reconfigurable process stage
JPH08138316A (ja) * 1994-11-07 1996-05-31 Toshiba Corp 記録再生装置
DE69631393T2 (de) * 1995-03-29 2004-10-21 Hitachi Ltd Dekoder für komprimierte und multiplexierte Bild- und Audiodaten
US6480664B1 (en) * 1995-06-07 2002-11-12 Hou-Chun Ting Trick mode VTR which generates trick play data from a stream of images containing intra-pictures and predictive pictures and selects specific DCT coefficients for intra-pictures
US5793927A (en) * 1995-06-07 1998-08-11 Hitachi America, Ltd. Methods for monitoring and modifying a trick play data stream to insure MPEG compliance
GB9700956D0 (en) * 1997-01-17 1997-03-05 Digi Media Vision Ltd Improvements in or relating to switching between compressed bitstreams
US5832085A (en) * 1997-03-25 1998-11-03 Sony Corporation Method and apparatus storing multiple protocol, compressed audio video data
JPH10276407A (ja) * 1997-03-31 1998-10-13 Nippon Telegr & Teleph Corp <Ntt> ビデオ情報提供管理方法およびシステム
US6333950B1 (en) * 1997-04-18 2001-12-25 Canon Kabushiki Kaisha Encoding apparatus and method and computer readable recording medium in which encoding program has been recorded
US6219381B1 (en) * 1997-05-26 2001-04-17 Kabushiki Kaisha Toshiba Image processing apparatus and method for realizing trick play
JPH11149717A (ja) * 1997-11-19 1999-06-02 Toshiba Corp デコード処理方法及び装置
JPH11177520A (ja) * 1997-12-10 1999-07-02 Sony Corp データ多重化装置
JPH11205696A (ja) * 1998-01-20 1999-07-30 Sony Corp 映像伝送装置及び映像伝送方法
US6510554B1 (en) * 1998-04-27 2003-01-21 Diva Systems Corporation Method for generating information sub-streams for FF/REW applications
JP2000078573A (ja) * 1998-09-03 2000-03-14 Hitachi Ltd 階層符号化データ配信装置
JP4053668B2 (ja) * 1998-09-16 2008-02-27 パイオニア株式会社 情報記録装置及び情報記録方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008533B1 (ko) * 2002-10-10 2011-01-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 인터페이스를 통한 itv 트릭 재생

Also Published As

Publication number Publication date
HK1038126A1 (en) 2002-03-01
HUP0101405A2 (hu) 2002-07-29
ZA200102267B (en) 2001-09-19
JP2002057985A (ja) 2002-02-22
TW510129B (en) 2002-11-11
US20010040925A1 (en) 2001-11-15
US6823131B2 (en) 2004-11-23
AR027770A1 (es) 2003-04-09
MY125951A (en) 2006-09-29
CN1194552C (zh) 2005-03-23
HU0101405D0 (en) 2001-06-28
CN1321045A (zh) 2001-11-07
JP4689872B2 (ja) 2011-05-25
EP1148727A1 (en) 2001-10-24
MXPA01003090A (es) 2004-07-30
HUP0101405A3 (en) 2003-08-28
BR0101303A (pt) 2001-11-06

Similar Documents

Publication Publication Date Title
US6823131B2 (en) Method and device for decoding a digital video stream in a digital video system using dummy header insertion
KR100741433B1 (ko) 디지털 비디오 시스템에서 트릭모드 생성을 위한 방법 및디바이스
JP5765828B2 (ja) プログラムを記録するための情報の処理方法
JP4646148B2 (ja) プログラムを表すパケット化されたデータストリームを復号化する方法
AU716349B2 (en) Processing of digital data and program guide information
JP2001502854A (ja) ディジタルデータ処理用プログラム特定情報の形成方法
EP1148728A1 (en) Trick play signal generation for a digital video recorder
EP1148729B1 (en) Method and device for decoding a digital video stream in a digital video system using dummy header insertion
US7869696B1 (en) Method for recording recorded digital data stream and for providing presentation managing information for the recorded digital data stream
KR100515707B1 (ko) 디지털데이터처리용프로그램특정정보형성방법
KR100662651B1 (ko) 디지털 비디오 시스템에서 데이터를 리코딩 매체로 기록하기 위한 방법 및 디바이스
KR20000016169A (ko) 디지털데이터저장매체용패킷화데이터포맷

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee