KR20000077165A - 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체 - Google Patents

데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체 Download PDF

Info

Publication number
KR20000077165A
KR20000077165A KR1020000023979A KR20000023979A KR20000077165A KR 20000077165 A KR20000077165 A KR 20000077165A KR 1020000023979 A KR1020000023979 A KR 1020000023979A KR 20000023979 A KR20000023979 A KR 20000023979A KR 20000077165 A KR20000077165 A KR 20000077165A
Authority
KR
South Korea
Prior art keywords
time unit
data
address
unit
map
Prior art date
Application number
KR1020000023979A
Other languages
English (en)
Other versions
KR100784652B1 (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 KR20000077165A publication Critical patent/KR20000077165A/ko
Application granted granted Critical
Publication of KR100784652B1 publication Critical patent/KR100784652B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • 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
    • 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/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
    • 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/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • 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/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • 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
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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
    • 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/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
    • 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/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Landscapes

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

Abstract

다중 채널 디지털 텔레비전 방송 시스템에 사용되는 데이터 처리 장치에 있어서, 코드화 스트림(coded stream)은 매우 효율적으로 기록 매체에 기록되어, 고속으로 랜덤 엑세스될 수 있다. 데이터 처리 장치는 소정의 시간 유닛(time unit)에 대해 입력되는 코드화 스트림을 세그먼팅 하는 세그먼팅 수단, 및 세그먼팅 수단에 의해 세그먼팅된 코드화 스트림의 시간 유닛마다 데이터의 어드레스를 나타내는 시간 유닛 맵(time unit map)을 형성하는 제 1 형성 수단으로 구성된다.

Description

데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록 매체{Data processing method/apparatus, and data reproducing method/apparatus, capable of random-accessing multiplexed program data, and recording medium}
본 발명은 일반적으로 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록 매체에 관한 것이다. 특히, 본 발명은 코드화된 운송 스트림(transport stream)으로부터 특성 포인트 정보를 추출함으로서 다중화된 프로그램 데이터를 신속하게 랜덤 엑세스할 수 있는 데이터 처리/기록 방법/장치에 관한 것이다.
유럽 DVB(Digital Video Broadcast) 시스템 및 일본 디지털 BS(Broadcast Satellite) 방송 시스템으로 공지된 다중 채널 디지털 텔레비전 방송 시스템에서는 MPEG(Moving Picture Experts Group)-2 운송 스트림이 사용된다. 운송 스트림은 운송 패킷(packet)이 계속되는 스트림에 대응한다. 운송 패킷은 예를 들면, MPEG-2 비디오 스트림이나 MPEG-1 오디오 스트림이 패킷화된 패킷에 대응한다. 한 프로그램이나 다수의 AV(Audio Visual) 프로그램은 전자기파를 방송함으로서 전송되는 단일 운송 스트림에 다중화된다. 일반적으로, 각 채널의 AV 프로그램은 서로 독립적으로 제공된다.
결과적으로, 방송 채널에서 전송된 운송 스트림이 직접 수신되어 가정용 수신기에 의해 기록될 때, 이 전송된 운송 스트림에 포함되는 모든 채널의 AV 프로그램은 동시에 기록될 수 있다. 또한, 이 방송된 운송 스트림으로부터 사용자에 의해 선택된 수개의 채널의 AV 프로그램에 대한 운송 스트림이 분리되어 기록될 때, 임의로 선택된 채널의 AV 프로그램은 동시에 기록될 수 있다.
도 1은 한가지 종래의 운송 스트림 기록 방법에 대한 예를 나타낸다. 도 1a는 다수의 AV 프로그램이 다중화된 운송 스트림을 도시한다. 이 도면에서, 가로축은 시간을 도시한다. 이 시간은 간격 "Δt"를 갖는 매 시간 유닛 TUi(i = 0, 1, 2, ...)로 분할된다. 입력 운송 스트림으로부터는 하나의 AV 프로그램이나 다수의 AV 프로그램이 선택된다. 선택된 운송 패킷은 빗금선을 사용해 나타내진다. 일반적으로 말하여, 도 1b에 도시된 바와 같이, 선택된 이들 운송 패킷은 비정규적인 타이밍으로 나타나게 되므로, 매 시간 유닛 TUi 마다 운송 패킷의 총수가 변화된다.
도 2에 나타내지는 바와 같이, Δt의 간격을 갖는 매 시간 유닛 TUi 마다 선택되는 운송 패킷은 간격이 단축되면서 기록 매체에 기록된다. 이때, 이들 운송 패킷은 이에 각 운송 패킷에서의 시간 순간을 나타내는 시간 스탬프(time stamp)를 부가하면서 이 기록 매체에 기록된다. 시간 스탬프는 4 바이트의 길이를 갖는 TSP_extra_header와 유사하다. 즉, 이 4-바이트의 TSP_extra_header는 예를 들어, DV(Digital Video) 포맷(HD 디지털 VCR 컨퍼런스(conference)에서 6.3 mm 자기 테이프를 사용한 소비자용 디지털 VCR의 명세조건) 및 PART7-DVB(소비자용 디지털 VCR의 명세조건)에서 정의된 운송 패킷에 부가된다.
도 2에서, 가로축은 기록된 운송 스트림의 바이트 위치를 나타내는 어드레스를 나타낸다. 도 1b에 도시된 가변 비트 비율을 갖는 운송 스트림이 들어올 때, 기록 장치는 더미 데이터(dummy data)를 이 입력 운송 스트림에 삽입하고, 이어서 도 2에 도시된 바와 같이 고정된 기록 비율로 결과적인 데이터를 기록한다. 결과적으로, 기록된 운송 스트림의 시간 경과에 대한 데이터량은 직접적으로 비례하는 관계를 갖는다. 다른 말로 하면, 시간 유닛 당 기록된 데이터의 양이 "x"가 되도록 선택된다고 가정하면, 제 n(n = 0, 1, 2, ...) 시간 유닛 중 헤드(head) 데이터의 바이트 위치는 x를 n으로 곱하여 얻어진 위치와 동일하다.
이 기록 방법에서는 일정한 기록 비율을 이루도록 운송 스트림에 더미 데이터가 삽입되므로, 운송 스트림의 기록 효율성이 그렇게 높지 않다. 그러나, 이러한 더미 데이터가 삽입되지 않으면, 기록된 운송 스트림의 시간 경과는 더 이상 파일의 데이터량에 직접적으로 비례하지 않는다. 그 결과로, 운송 스트림의 시간축에서 원하는 위치에 있는 데이터가 엑세스되는 경우에는 데이터 엑세스 특성이 변형되는 문제점이 있다.
또한, 일반적으로 말하면, MPEG-2 비디오 데이터 스트림에서, I 화상은 대략 0.5초의 간격으로 코드화되고, 다른 화상들은 P 화상이나 B 화상으로 코드화된다. 결과적으로, MPEG-2 비디오 데이터 스트림이 기록된 기록 매체로부터 비디오 신호가 고속으로 재생될 때, 이러한 I 화상이 탐색되어야 한다. 그러나, 디지털 방송 시스템과 같이 운송 스트림이 기록된 기록 매체로부터 랜덤 엑세스 방식으로 I 화상이 재생되는 경우, 더 높은 효율성으로 I 화상의 시작 바이트를 탐색하는 것은 특히 어렵다. 다른 말로 하면, 기록 매체에 기록된 운송 스트림의 랜덤 바이트 위치로부터 판독되는 비디오 스트림의 구문(syntax)이 분석되므로, I 화상이나 오디오 프레임의 시작 바이트가 탐색된다. 결과적으로, 최악의 경우 I 화상의 긴 탐색 시간이 요구된다. 또한, 고속 랜덤 엑세스 재생 동작은 사용자 입력에 응답하여 실행될 수 없다.
본 발명은 상기에 설명된 문제점을 해결하도록 이루어지므로, 코드화된 운송 스트림(transport stream)으로부터 특성 포인트 정보를 추출함으로서 다중화된 프로그램 데이터를 신속하게 랜덤 엑세스할 수 있는 데이터 처리/기록 방법/장치를 제공한다.
상기에 설명된 목적을 이루기 위해, 본 발명에 따른 데이터 처리 장치는: 소정의 시간 유닛에 대해 입력되는 코드화 스트림(stream)을 세그먼팅 하는 세그먼팅 수단; 및 세그먼팅 수단에 의해 세그먼팅된 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵(time unit map)을 형성하는 제 1 형성 수단을 구비하는 것으로 특징지워진다.
이 데이터 처리 장치에서, 시간 유닛 맵은 각 시간 유닛에 대한 데이터의 어드레스로 시간 유닛 마다 헤드 패킷(head packet)의 패킷수를 그에 저장할 수 있다.
이 데이터 처리 장치에서, 시간 유닛 맵은 시간 유닛의 헤드 데이터에 대한 어드레스, 및 헤드 데이터의 어드레스에 대응하여 그 시간 유닛내에 포함되는 데이터량에 대응하는 어드레스 사이의 간격을 그에 저장할 수 있다.
이 데이터 처리 장치는 코드화된 스트림과 연관되어 시간 유닛 맵을 채우는 파일링 수단을 더 구비한다.
이 데이터 처리 장치는 파일링 수단에 의해 파일링된 데이터를 기록 매체에 기록하는 기록 수단을 더 구비한다.
이 데이터 처리 장치에서, 제 1 형성 수단은 코드화된 스트림이 편집될 때 시간 유닛 맵의 내용을 변화시킬 수 있다.
이 데이터 처리 장치는 시간 유닛 맵에 종속되고, 코드화된 스트림의 엔트리 포인트(entry point)의 위치를 나타내는 엔트리 포인트 맵을 형성하는 제 2 형성 수단을 더 구비한다.
이 데이터 처리 장치에서, 엔트리 포인트 맵은 엔트리 포인트의 시간 유닛에서 헤드 데이터로부터 정의된 어드레스의 간격을 포함할 수 있다.
이 데이터 처리 장치에서, 엔트리 포인트는 시간 유닛에 포함된 I 화상의 헤드 어드레스를 나타낼 수 있고; 엔트리 포인트 맵은 I 화상의 헤드 어드레스로부터 I 화상의 종료 어드레스까지 정의된 간격과, I 화상을 포함하는 시간 유닛내에 포함되어 I 화상의 헤드 어드레스로부터 I 화상의 종료 어드레스에 이어지는 P 화상의 종료 어드레스까지 정의된 또 다른 간격 중 하나를 포함할 수 있다.
이 데이터 처리 장치에서, 엔트리 포인트 맵은 시간 유닛내의 엔트리 포인트가 주어지는가 여부를 나타내기 위한 플래그(flag)를 포함할 수 있다.
이 데이터 처리 장치에서, 코드화된 스트림이 다수의 프로그램을 다중화함으로서 만들어진 코드화 스트림인 경우, 제 2 형성 수단은 프로그램 마다 엔트리 포인트 맵을 형성할 수 있다.
이 데이터 처리 장치에서, 제 2 형성 수단은 코드화된 스트림이 편집될 때 엔트리 포인트 맵을 변화시킨다.
본 발명에 따른 데이터 처리 방법은: 소정의 시간 유닛에 대해 입력되는 코드화 스트림을 세그먼팅 하는 세그먼팅 단계; 및 세그먼팅 단계의 처리에 의해 세그먼팅된 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 형성하는 형성 단계를 구비하는 것으로 특징지워진다.
본 발명에 따른 제 1 기록 매체의 프로그램은: 소정의 시간 유닛에 대해 입력되는 코드화 스트림을 세그먼팅 하는 세그먼팅 단계; 및 세그먼팅 단계의 처리에 의해 세그먼팅된 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 형성하는 형성 단계를 구비하는 것으로 특징지워진다.
본 발명에 따른 데이터 재생 장치는: 기록 매체에 기록되는 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 재생하는 제 1 재생 수단; 및 제 1 재생 수단에 의해 재생된 시간 유닛 맵을 근거로 임의의 위치로부터 기록 매체에 기록된 코드화 스트림을 재생하는 제 2 재생 수단을 구비하는 것으로 특징지워진다.
데이터 재생 장치에서, 제 1 재생 수단은 시간 유닛 맵에 종속되고 코드화된 스트림의 엔트리 포인트의 위치를 나타내는 엔트리 포인트 맵을 더 재생할 수 있고; 제 2 재생 수단은 제 1 재생 수단에 의해 재생되는 시간 유닛 맵과 엔트리 포인트 맵 모두를 근거로 임의의 위치로부터 기록 매체에 기록된 코드화 스트림을 재생할 수 있다.
본 발명에 따른 데이터 재생 방법은: 기록 매체에 기록되는 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 재생하는 제 1 재생 단계; 및 제 1 재생 단계의 처리에 의해 재생된 시간 유닛 맵을 근거로 임의의 위치로부터 기록 매체에 기록된 코드화 스트림을 재생하는 제 2 재생 단계를 구비하는 것으로 특징지워진다.
본 발명에 따른 제 2 기록 매체의 프로그램은: 기록 매체에 기록되는 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 재생하는 제 1 재생 단계; 및 제 1 재생 단계의 처리에 의해 재생된 시간 유닛 맵을 근거로 임의의 위치로부터 기록 매체에 기록된 코드화 스트림을 재생하는 제 2 재생 단계를 구비하는 것으로 특징지워진다.
본 발명에 따른 기록 매체는 코드화된 스트림, 및 코드화된 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵이 파일의 형태로 기록 매체에 기록되는 것으로 특징지워진다.
기록 매체에서, 시간 유닛 맵은 각 시간 유닛에 대한 데이터의 어드레스로 시간 유닛 마다 헤드 패킷의 패킷수를 그에 저장할 수 있다.
기록 매체에서, 시간 유닛 맵은 시간 유닛의 헤드 데이터에 대한 어드레스, 및 헤드 데이터의 어드레스에 대응하여 그 시간 유닛내에 포함되는 데이터량에 대응하는 어드레스 사이의 간격을 그에 저장할 수 있다.
기록 매체에서, 시간 유닛 맵에 종속되고, 코드화된 스트림의 엔트리 포인트의 위치를 나타내는 엔트리 포인트 맵은 기록 매체에 더 기록될 수 있다.
기록 매체에서, 엔트리 포인트 맵은 엔트리 포인트의 시간 유닛에서 헤드 데이터로부터 정의된 어드레스의 간격을 포함할 수 있다.
기록 매체에서, 엔트리 포인트는 I 화상의 헤드 어드레스를 나타낼 수 있고; 엔트리 포인트 맵은 I 화상의 헤드 어드레스로부터 I 화상의 종료 어드레스까지 정의된 간격과, I 화상을 포함하는 시간 유닛내에 포함되어 I 화상의 헤드 어드레스로부터 I 화상의 종료 어드레스에 이어지는 P 화상의 종료 어드레스까지 정의된 또 다른 간격 중 하나를 포함할 수 있다.
기록 매체에서, 엔트리 포인트 맵은 시간 유닛내의 엔트리 포인트가 주어지는가 여부를 나타내기 위한 플래그를 포함할 수 있다.
본 발명에 따른 데이터 처리 장치, 데이터 처리 방법, 및 제 1 기록 매체의 프로그램에서, 입력되는 코드화 스트림은 시간 유닛 마다 분할되고; 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵과, 시간 유닛 맵에 종속되고 코드화된 스트림의 엔트리 포인트의 위치를 나타내는 엔트리 포인트 맵 모두가 만들어진다.
본 발명에 따른 데이터 처리 장치, 데이터 처리 방법, 및 제 2 기록 매체의 프로그램에서, 코드화된 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵과, 시간 유닛 맵에 종속되고 코드화된 스트림의 엔트리 포인트의 위치를 나타내는 엔트리 포인트 맵은 모두 재생 매체로부터 재생된다. 이때, 코드화된 스트림은 시간 유닛 맵과 엔트리 포인트 맵을 근거로 임의의 위치로부터 재생된다.
본 발명의 기록 매체에서, 코드화된 스트림, 및 코드화된 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵은 파일 형태로 기록된다.
도 1은 종래 운송 스트림(transport stream)의 패킷(packet)을 설명하는 도면.
도 2는 기록된 종래 운송 스트림을 설명하는 도면.
도 3은 본 발명에 따른 운송 스트림을 설명하는 도면.
도 4는 본 발명에 따라 기록된 운송 스트림을 설명하는 도면.
도 5는 소스 패킷의 구문(syntax)을 도시하는 도면.
도 6은 TP_extra_header의 구문을 도시하는 도면.
도 7은 시간 유닛 맵(time unit map)의 예를 도시하는 도면.
도 8은 매 시간 유닛 마다 오프셋(offset) 어드레스를 설명하는 도면.
도 9는 엔트리 포인트 맵(entry point map)의 예를 도시하는 도면.
도 10은 엔트리 포인트 데이터를 설명하는 도면.
도 11a 및 11b는 데이터의 삭제를 설명하는 도면.
도 12는 데이터가 삭제될 때 시간 유닛 맵의 예를 도시하는 도면.
도 13은 TimeUnitMapHeader()의 구문을 도시하는 도면.
도 14는 TimeUnitMapData()의 구문을 도시하는 도면.
도 15는 EntryPointMapHeader()의 구문을 도시하는 도면.
도 16은 EntryPointData()의 구문을 도시하는 도면.
도 17은 entry_point_data()의 구문을 도시하는 도면.
도 18은 EntryPointMapData()의 구문을 도시하는 도면.
도 19는 운송 스트림 파일의 엔트리 포인트를 설명하는 도면.
도 20a 내지 20c는 EntryPointMapData()의 예를 도시하는 도면.
도 21은 EntryPointMapData()의 예를 도시하는 도면.
도 22는 본 발명에 따른 운송 스트림을 설명하는 도면.
도 23은 TimeUnitMapHeader()의 구문을 도시하는 도면.
도 24는 TimeUnitMapData()의 구문을 도시하는 도면.
도 25a 및 25b는 데이터의 삭제를 설명하는 도면.
도 26a 및 26b는 데이터가 삭제될 때 시간 유닛 맵의 예를 도시하는 도면.
도 27은 본 발명이 적용된 이동 화상 기록 장치의 구조적인 예를 도시하는 블록도.
도 28은 도 27에 도시된 이동 화상 기록 장치의 기록 동작을 설명하는 흐름도.
도 29는 도 27에 도시된 이동 화상 기록 장치의 기록 동작을 설명하는 흐름도.
도 30은 도 27에 도시된 이동 화상 기록 장치의 기록 동작을 설명하는 흐름도.
도 31은 운송 스트림 파일의 시간 유닛 맵과 엔트리 포인트 맵 사이의 관계를 설명하는 도면.
도 32는 본 발명이 적용된 이동 화상 기록 장치의 또 다른 구조적인 예를 나타내는 블록도.
도 33은 본 발명이 적용된 이동 화상 재생 장치의 구조적인 예를 나타내는 블록도.
도 34는 도 33에 도시된 이동 화상 재생 장치의 재생 동작을 설명하는 흐름도.
도 35는 도 33에 도시된 이동 화상 재생 장치의 재생 동작을 설명하는 흐름도.
도 36은 도 33에 도시된 이동 화상 재생 장치의 재생 동작을 설명하는 흐름도.
도 37은 도 33에 도시된 이동 화상 재생 장치의 재생 동작을 설명하는 흐름도.
도 38a 내지 38c는 본 발명에 따른 기록 매체를 설명하는 도면.
* 도면의 주요부분에 대한 부호의 설명 *
19 : 변조 유닛 20 : 기록 유닛
본 발명에 대해 더욱 이해를 돕기 위해, 첨부된 도면과 연결된 상세한 설명이 참조된다. 이제는 도면을 참고로, 본 발명의 다양한 실시예가 설명된다.
본 발명의 설명은 코드화된 스트림이 한 프로그램 또는 다수의 프로그램을 다중화시킨 다중화 스트림인 경우에 대해 이루어진다. 유사하게, 본 발명은 MPEG 비디오 스트림과 같은 기본 스트림인 코드화 스트림에 적용될 수 있음을 주목하여야 한다.
본 발명의 기본 개념
우선, 본 발명의 기본적인 개념이 설명된다. 즉, 본 발명에 따른 이동 화상 기록 장치가 디스크 및 테이프와 같은 기록 매체에 운송 스트림을 기록할 때, 이 이동 화상 기록 장치는 소정의 시간 유닛(유닛 시간(unit time))에 대해 운송 스트림상의 시간을 분할하고, 이어서 시간 유닛 마다 데이터 스트림상의 어드레스를 계산한다. 이 운송 스트림에는 하나 또는 다수의 프로그램이 다중화된다. 이때, 시간 유닛 맵(time unit map)이 형성된다. 이 시간 유닛 맵은 이 시간 유닛 마다 데이터 스트림상의 어드레스를 나타낸다. 또한, 엔트리 포인트 맵(entry point map)이 형성된다. 이 엔트리 포인트 맵은 기록되는 운송 스트림의 각 프로그램에 대해 엔트리 포인트(즉, 랜덤 엑세스 포인트)의 위치를 나타낸다. 엔트리 포인트 맵은 시간 유닛 맵에 이어지는 구조를 갖는다. 이제는 이 시간 유닛 맵이 다음과 같이 설명된다.
도 3은 다수의 AV 프로그램이 다중화되어 형성된 운송 스트림을 나타낸다. 이 도면에서, 가로축은 시간을 나타내고, 시간은 시간 간격 "Δt"를 갖는 시간 유닛 TUi(i = 0, 1, 2, ...) 마다 분할된다. 문자 "TU"에 이어져 위치하는 참고 번호 "i"는 이 시간 유닛 TU의 시간 순차(순서)를 나타낸다. 제 1 원본이 기록될 때, 모든 시간 유닛 TU의 시간 길이는 똑같은 간격의 값 "Δt"을 갖는다. Δt 값의 크기는 예를 들면, 0.5초로 선택된다. 하나의 AV 프로그램 또는 다수의 AV 프로그램은 입력 운송 스트림으로부터 선택되어 기록된다. 선택된 운송 패킷은 빗금선으로 나타내진다. 일반적으로, 도 3b에 도시된 바와 같이, 선택된 운송 패킷은 불규칙적인 타이밍으로 나타나므로, 시간 간격 Δt을 갖는 시간 유닛 TUi 마다 운송 패킷의 총수는 변화된다. 실제 운송 스트림에서, 시간 유닛의 시간 길이가 실질적으로 0.5초와 같은 것으로 생각하면, 이 시간 유닛에 포함된 운송 패킷의 실제 수는 도 3에 도시된 예 보다 더 커진다. 그러나, 이 실시예 모드에서는 운송 패킷이 간단한 방식으로 나타내진다.
도 4에 도시된 바와 같이, 선택된 운송 패킷은 선택된 운송 패킷간의 간격이 단축되면서 기록 매체(도시되지 않은)에 기록된다. 이 기록 동작시, 각 운송 패킷에는 운송 스트림상의 시간 순간을 나타내는 시간 스탬프(도착 시간 스탬프(Arrival Time Stamp))가 부가된다. 이제는 도착 시간 스탬프가 예를 들어, DV 포맷으로 정의된 운송 패킷에 부가되는 4 바이트의 길이를 갖는 TSP_extra_header와 유사하다고 가정한다. 본 명세서에서, 4 바이트의 길이를 갖고 이 Arrival_Time_Stamp를 포함하는 헤더가 부가된 운송 패킷은 "소스 패킷(source packet)"이라 칭하여진다. 운송 패킷이 88 바이트의 길이를 가지므로, 이 소스 패킷은 192 바이트의 길이를 갖는다.
도 5에 도시된 바와 같이, 소스 패킷의 구문(syntax)은 TP_extra_header() 및 transport_packet() 모두로 구성된다. 도 6에 도시된 바와 같이, 이 TP_extra_header()는 copy_permission_indicator 및 arrival_time_stamp로 배열된다.
도 4에서, 가로축은 기록된 운송 패킷의 바이트 위치를 나타내는 어드레스이다. 또한, 가로축은 시간 유닛 마다 먼저 입력되는 운송 패킷의 헤드 어드레스를 도시한다. 본 예에서는 4개의 운송 패킷이 시간 유닛 TU0에 포함되고, 3개의 운송 패킷이 시간 유닛 TU1에 포함되고, 6개의 운송 패킷이 시간 유닛 TU2에 포함된다. 두 시간 유닛을 브릿지(bridge) 연결함으로서 입력된 운송 패킷은 전방측 시간 유닛에 포함된다. 또한, 이들 운송 패킷을 포함하는 소스 패킷의 시간 유닛 TU0, TU1, TU2, 또는 헤드 어드레스 중 먼저 입력된 운송 패킷의 헤드 어드레스는 각각 A(TU0), A(TU1), 및 A(TU2)로 나타내진다고 가정한다.
도 7은 시간 유닛 맵, 즉 기록된 운송 스트림의 시간 유닛 마다 데이터의 헤드 어드레스에 대한 테이블의 예를 나타낸다. 이 경우, time_unit_address는 기록된 스트림에서 시간 유닛의 헤드 데이터의 어드레스를 나타낸다. 시간 유닛 맵에서는 시간 유닛 마다 데이터 길이 delta_time_unit_address가 테이블로 형성된다.
본 예에서, 시간 유닛 TU0의 데이터 길이는 시간 유닛 TU1의 헤드 어드레스 A(TU1)와 시간 유닛 TU0의 헤드 어드레스 A(TU0) 사이의 차이 [A(TU1) - A(TU0)]로 표시된다. 유사하게, 시간 유닛 TU1의 데이터 길이는 시간 유닛 TU2의 헤드 어드레스 A(TU2)와 시간 유닛 TU1의 헤드 어드레스 A(TU1) 사이의 차이 [A(TU2) - A(TU1)]으로 표시된다. 유사하게, 시간 유닛 TU2의 데이터 길이는 시간 유닛 TU2의 종료 어드레스 end_address와 시간 유닛 TU2의 헤드 어드레스 A(TU2) 사이의 차이 [end_address_A(TU2)]로 표시된다.
다음에는 상기에 설명된 엔트리 포인트 맵이 설명된다. 도 8에 도시된 운송 스트림은 도 4에 도시된 운송 스트림과 유사한 운송 스트림이다. 이 경우에는 빗금으로 나타내지는 운송 패킷에서 엔트리 포인트가 시작된다고 가정한다. 구체적으로 말하면, 엔트리 포인트에서, MPEG 비디오 데이터의 순차 헤더와 I 화상 데이터가 시작된다고 가정한다. 엔트리 포인트가 미리 선택된 시간 유닛에 주어지는 경우에는 이 소정의 시간 유닛의 데이터의 헤드 어드레스로부터 엔트리 포인트의 어드레스까지 정의된 오프셋(offset) 어드레스가 계산된다. 다른 말로 하면, 도 8의 예에서, 엔트리 포인트(I 화상)은 시간 유닛 TU0 및 시간 유닛 TU2에 주어진다. 그래서, 시간 유닛 TU0에서는 간격 "a"가 오프셋 어드레스로 계산된다. 이 간격 "a"는 시간 유닛 TU0의 헤드 어드레스 A(TU0)로부터 I 화상의 헤드 어드레스 I_start_address까지 정의된다. 동시에, 시간 유닛 TU2에서는 간격 "b"가 오프셋 어드레스로 계산된다. 이 간격 "b"는 시간 간격 TU2의 헤드 어드레스 A(TU2)로부터 I 화상의 헤드 어드레스 I_start_address까지로 정의된다.
도 9는 엔트리 포인트 맵, 즉 시간 유닛 마다 엔트리 포인트까지의 오프셋 어드레스에 대한 테이블의 예를 나타낸다. 플래그 entry_point_flag는 대응하는 시간 유닛 "TUi"에 엔트리 포인트가 주어질 때 "1"로 설정된다. 이 플래그 entry_point_flag는 대응하는 시간 유닛에 엔트리 포인트가 주어지지 않을 때 "0"으로 설정된다. entry_point_flag가 "1"인 시간 유닛에 대해, 그 시간 유닛의 데이터의 헤더 어드레스 time_unit_address로부터 엔트리 포인트의 어드레스 I_start_address까지 정의된 오프셋 어드레스 I_start_offset_from_time_unit_address는 다음 공식으로 계산된다:
I_start_offset_from_time_unit_address
= I_start_address_time_unit_address
또한, 각 엔트리 포인트에 대해, 이후 기술되는 공식에 따라 엔트리 포인트의 I 화상 데이터의 종료 어드레스 I_end_address; 다음 한 P 화상의 종료 어드레스 P1_end_address 또는 엔트리 포인트의 I 화상의 다음 한 I 화상; 및 다음 두 P 화상의 종료 어드레스 P2_end_address 또는 엔트리 포인트의 I 화상의 다음 두 I 화상에 대한 계산이 이루어진다:
I_end_offset_address = I_end_address - I_start_address
P1_end_offset_address = P1_end_address - I_start_address
P2_end_offset_address = P2_end_address - I_start_address
도 10은 어드레스의 구체적인 예를 도시한다. 즉, 도 10은 미리 선택된 시간 유닛의 헤드로부터 시작하는 MPEG 비디오 데이터를 나타낸다. 이 도면에서, 심볼 I, P, B는 각각 I 화상, P 화상, 및 B 화상을 나타낸다. 또한, 첨자 번호는 이들 화상의 디스플레이 순서를 나타낸다. 이 시간 유닛에는 "I2"로 나타내지는 엔트리 포인트의 I 화상이 있다. 또한, I 화상 I2에 이어지는 P 화상은 "P5"에 대응하고, 이 I 화상에 두 번째로 이어지는 P 화상은 "P8"에 대응한다. 이때, 상술된 공식에 의해 계산되는 I_start_offset_from_time_unit_address; I_end_offset_address; P1_end_offset_address; 및 P2_end_offset_address의 어드레스는 이 도면에서 나타내지는 바와 같은 관계를 이룬다.
다른 말로 하면, 어드레스 I_end_offset_address는 I 화상 I2의 종료 어드레스 I_end_address로부터 I 화상 I2의 시작 어드레스 I_start_address를 감산하여 구해진 값인 것으로 가정한다. 또한, 어드레스 P1_end_offset_address는 P 화상 P5의 종료 어드레스 P1_end_address로부터 I 화상 I2의 시작 어드레스 I_start_address을 감산하여 구해진 값으로 가정한다. 또한, 어드레스 P2_end_address는 P 화상 P8의 종료 어드레스 P2_end_address로부터 I 화상 I2의 시작 어드레스 I_start_address를 감산하여 구해진 값인 것으로 가정한다.
어드레스 I_start_offset_from_time_unit_address는 엔트리 포인트의 어드레스 I_start_address로부터 시간 유닛의 데이터의 헤드 어드레스 time_unit_address를 감산하여 구해진 값인 것으로 가정한다.
기록되는 운송 스트림에 다수의 프로그램이 포함될 때, 엔트리 포인트의 정보는 형성되는 프로그램 마다 서로 구별됨을 주목하여야 한다. 엔트리 포인트 데이터가 모든 프로그램에 대해 준비될 수 있는 경우를 생각하면, 엔트리 포인트 맵은 엔트리 포인트 데이터가 프로그램 마다 주어지는가 여부를 나타내는 정보(parsed_program_flag)를 포함한다.
기록 매체에 기록된 운송 스트림이 편집되는 경우에는 그의 시간 유닛 맵이 변한다(업데이트된다). 다음에는 이 변화 방법이 설명된다. 도 11a는 도 4 및 도 3 종료 패킷에 도시된 운송 스트림의 2 헤드 패킷이 모두 삭제된 경우의 예를 나타낸다. 도 11b는 이 방식으로 패킷이 부분적으로 삭제된 이후에 만들어지는 운송 스트림을 도시한다. 도 12는 도 11b에 도시된 운송 스트림의 시간 유닛 맵을 나타낸다. 시간 유닛의 중간에 포함된 데이터가 이 방식으로 삭제될 때, 제 1 시간 유닛 TU0의 시간 길이(first_time_unit_size)는 변하므로 재기록된다. 도 11b의 경우에, 시간 유닛 TU0의 시간 길이는 삭제 이후 시간 유닛 TU0의 헤드 패킷 Pa의 시간 스탬프와 시간 유닛 TU1의 헤드 패킷 Pb의 시간 스탬프 사이의 차이값으로 변화된다. 또한, 도 12에 나타내지는 바와 같이, 시간 유닛 TU0의 어드레스 delta_time_unit_address는 삭제 이후 시간 유닛 TU0의 헤드 패킷 Pa의 어드레스 C와 시간 유닛 TU1의 헤드 패킷 Pb의 어드레스 A(TU1) 사이의 차이값(A(TU1) - C)로 업데이트된다. 시간 유닛 맵이 변할 때는 이 시간 유닛 맵에 관련된 엔트리 포인트 맵도 또한 변한다.
도 13 및 도 14는 상기에 설명된 시간 유닛의 구문예를 나타낸다. 도 13 및 도 14는 각각 시간 유닛의 헤더 부분 [TimeUnitMapHeader()] 및 데이터 부분 [TimeUnitMapData()]을 나타낸다. 시간 유닛 맵이 파일로 기록될 때, 헤더 부분과 데이터 부분은 각각 단일 파일 또는 분리된 파일로 기록될 수 있다. TimeUnitMapHeader()의 심볼 "start_time" 및 심볼 "end_time"은 각각 이 시간 유닛 맵의 시작 시간 순간과 종료 시간 순간을 나타낸다. 예를 들면, 이들 심볼은 특정한 운송 스트림이 기록될 때의 기록 시작 시간 순간 및 기록 종료 시간 순간을 나타낸다. 심볼 "first_time_unit_size"는 제 1 시간 유닛의 시간 길이를 나타낸다. 심볼 "time_unit_size"는 제 2 시간 유닛 이후의 시간 유닛 또는 제 2 시간 유닛의 시간 길이를 도시한다. 심볼 "number_of_time_unit_entries"는 운송 스트림에 포함된 시간 유닛의 총수를 나타낸다. 그 수가 이 심볼"number_of_time_unit_entries로 나타내지는 어드레스 delta_time_unit_address(도 7을 참고)는 데이터 유닛 TimeUnitMapData()에 기록된다.
또한, 도 15 내지 도 17에는 상술된 엔트리 포인트 맵의 제 1 구문예가 설명된다. 도 15는 엔트리 포인트 맵의 헤더 부분 [EntryPointMapHeader()]을 도시하고, 도 16은 엔트리 포인트 맵의 데이터 부분 [EntryPointMapData()]을 도시한다. 도 17은 또한 도 16에 도시된 entry_point_data()의 구문을 도시한다. 엔트리 포인트 맵이 파일로 기록될 때, 헤더 부분과 데이터 부분은 모두 단일 파일로 기록되거나 분리된 파일로 각각 기록될 수 있다.
도 15에 도시된 헤더 EntryPointMapHeader()의 심볼 "number_of_programs"은 운송 스트림에 포함된 프로그램의 총수를 나타낸다. 거기에는 제 3 라인(line) 내지 제 6 라인까지 이 구문의 선에 기록된 각 프로그램에 대해 엔트리 맵 테이블이 주어지는가 여부를 나타내는 정보가 있다. 제 4 라인의 프로그램 번호 program_number는 프로그램을 지정(구별)하는 정보로, 대응하는 프로그램의 PMT(Program Map Table)에 기록된 정보와 동일하다. 제 5 라인의 플래그 parsed_program_flag는 이 프로그램의 엔트리 포인트 데이터가 있는가 여부를 나타내는 플래그이다.
기록된 각 프로그램의 PMT에 대한 정보는 제 8 라인에서 제 10 라인까지 계속된다. 심볼 "MPEG2_TS_program_map_section()"은 기록된 운송 스트림으로부터 추출되는 PMT를 나타내고, MPEG-2 시스템 규칙을 근거로 정의된다. 이 경우, 심볼 "NUMBER_OF_ParsedPrograms"은 그의 parsed_program_flag가 "1"과 같은 프로그램의 총수를 나타낸다. 제 8 라인에서 번호 NUMBER_OF_ParsedPrograms의 루프(loop)에 나타내지는 데이터의 순차 순서는 제 3 라인에서 프로그램의 program_number의 루프에 그의 parsed_program_flag가 "1"인 번호 program_number의 순차 순서에 대응한다.
도 6의 EntryPointMapData()에서는 기록되는 각 프로그램에 대한 엔트리 포인트의 데이터가 설명된다. 한 시간 유닛에 대한 엔트리 포인트의 매개변수로는 "entry_point_flag" 및 "entry_point_data()"가 있다. 도 17에 나타내지는 바와 같이, 한 시간 유닛에 대한 entry_point_data()의 내용은 "entry_point_time_stamp", "I_start_offset_from_time_unit_address", "I_end_offset_address", "P1_end_offset_address", 및 "P2_end_offset_address"이다. 이 경우, entry_point_time_stamp는 엔트리 포인트의 우송 패킷의 스트림에서의 시간 순간 또는 엔트리 포인트의 I 화상의 PTS(Presentation Time Stamp)를 근거로 계산된다. PTS는 MPEG-2 시스템 규칙에 정의된 PES 패킷의 헤더에 부가된 정보에 대응한다.
도 18은 상기에 설명된 엔트리 포인트 맵의 제 2 구문예를 도시한다. EntryPointMapHeader()의 구조 및 entry_point_data()의 구조는 도 15나 도 17에 도시된 바와 같은 상술된 제 1 예와 유사하다. 도 18과 도 16 사이의 비교로부터 명백해지는 바와 같이, 제 2 예의 각 프로그램에 대한 엔트리 포인트의 데이터 배열 순서는 도 16에 도시된 제 1 예와 다르다.
다음에는 엔트리 맵의 데이터 배열 순서가 아래에 설명되는 조건하의 제 1 예 및 제 2 예에서 도시된다. 이 경우에서는 도 19에 도시된 바와 같이, 운송 스트림에 포함된 3개의 프로그램(program #1, program #2, program #3)이 다중화되고, 각 프로그램의 엔트리 포인트가 시간 TUi(i = 0, 1, 2, 3) 마다 주어진다고 가정한다. 이 경우, 각 매개변수는 다음과 같이 주어진다:
number_of_time_unit_entries = 4
number_of_program = 3
program_number = 1 : parsed_program_flag = 1
program_number = 2 : parsed_program_flag = 1
program_number = 3 : parsed_program_flag = 1
NUMBER_OF_ParsedPrograms = 3
도 20은 제 1 예(도 16의 예)의 경우에서 엔트리 포인트 맵을 도시한다. 이 경우에는 프로그램 마다 엔트리 포인트 데이터의 리스트가 분리된 형태로 형성된다. 다른 말로 하면, 도 20a에 도시된 바와 같이, 프로그램 program #1의 EntryPointMapData는 다음과 같이 배열된다. entry_point_data #1-1 내지 entry_point_data#1-4는 시간 유닛 TU0 내지 TU3 각각에서 entry_point_data로 주어지고, 각 플래그 entry_point_flag는 "1"로 설정되고, 또한 entry_point_data #1-1 내지 entry_point_data #1-4는 시간 유닛 TU0 내지 TU3에서 설명된다.
심볼 "entry_point_data #A-B"는 program_number = A의 제 B 엔트리 포인트에 대해 entry_point_data()를 나타냄을 주목하여야 한다.
도 20b에 나타내지는 바와 같이, program #2의 EntryPointMapData는 다음과 같이 배열된다. 시간 유닛 TU1 및 TU3에는 entry_point_data가 없으므로, 그의 플래그 entry_point_flag는 "0"으로 설정된다. 대조적으로, entry_point_data #2-1 및 entry_point_data #2-2는 모두 시간 유닛 TU0 및 TU2 각각에 주어지므로, 그의 플래그 entry_point_flag는 "1"로 설정되고, 또한 그에 대응하는 entry_point_data, 즉 entry_point_data #2-1 및 entry_point_data #2-2는 시간 유닛 TU0 및 TU2에서 설명된다.
부가하여, program #3의 EntryPointMapData에 대해, 시간 유닛 TU0 및 TU2에는 entry_point_data가 없으므로, 그의 플래그 entry_point_flag는 "0"으로 설정된다. 대조적으로, entry_point_data #3-1 및 entry_point_data #3-2는 모두 시간 유닛 TU1 및 TU3 각각에 주어지므로, 그의 플래그 entry_point_flag는 "1"로 설정되고, 또한 그에 대응하는 entry_point_data, 즉 entry_point_data #3-1 및 entry_point_data #3-2는 시간 유닛 TU1 및 TU3에서 설명된다.
이들 entry_point_flag 및 entry_point_data는 EntryPointMapData에서 설명된다.
도 21은 제 2 예(도 18의 예)의 경우에서 엔트리 포인트 맵을 나타낸다.
이 경우, 각 프로그램의 엔트리 포인트 데이터는 시간 유닛 마다 시간 순서 형태로 배열되고, 이들 엔트리 포인트 데이터의 리스트는 단일 형태를 구성한다. 다른 말로 하면, 시간 유닛 TU0에는 3개 세트의 프로그램 program #1 내지 program #3이 설명되고, entry_point_flag에 대응하는 entry_point_data는 이들 3개 프로그램 각각에서 설명된다. 본 예에서는 program #3에 entry_point_data가 주어지지 않으므로, 그의 플래그 entry_point_flag가 "0"으로 설정된다. 대조적으로, entry_point_data #1-1 및 entry_point_data #2-1 모두가 program #1 및 program #2로 주어지므로, 그의 플래그 entry_point_flag는 "1"로 설정된다.
또한, 다른 시간 유닛 TU1 내지 TU3에서는 entry_point_flag 및 entry_point_data가 모두 program #1 내지 program #3 각각에서 설명된다.
이제는 도 22를 참고로, 시간 유닛 맵의 또 다른 예가 설명된다. 도 22a 및 도 22b는 상기에 설명된 바와 같이 도 3a 및 도 3b에 유사한 배열을 도시한다. 또한, 도 4에 유사하게, 도 22c는 기록 매체에 기록된 소스 패킷 데이터를 도시한다. 운송 패킷과 소스 패킷 사이의 관계는 도 4에 나타내진다. 도 22c에서, 가로축은 기록된 소스 패킷의 수를 나타낸다. 소스 패킷 번호는 소스 패킷이 기록된 순서에 대응한다. 이 소스 패킷 번호는 0에서 시작되고, 순차적으로 1 만큼씩 증가된다. 시간 유닛 마다 데이터의 헤드 어드레스 A(TU0), A(TU1), 및 A(TU2)는 소스 패킷 번호의 유닛에서 카운트되어 각각 0, 4, 7이 된다.
도 22d는 시간 유닛 맵, 즉 기록된 운송 패킷의 시간 유닛 마다 데이터의 헤드 어드레스에 대한 테이블의 예를 나타낸다. 본 예에서, 심볼 "RSPN(Relative Source Packet Number)_time_unit_start"는 기록된 스트림에서 시간 유닛의 헤드 데이터의 어드레스를 도시한다. 시간 유닛 맵에서, 어드레스 RSPN_time_unit_start는 기록된 운송 스트림의 헤드로부터 시간 유닛의 순서에서 테이블로 형성된다. 도 22d의 경우, 어드레스값은 A(TU0), A(TU1), A(TU2)의 순서로 배열된다.
다음에는 상기에 설명된 시간 유닛 맵의 구문예가 도 23 및 도 24에서 주어진다. 도 23 및 도 24는 시간 유닛 맵의 헤더 부분 [TimeUnitMapHeader()] 및 데이터 부분 [TimeUnitMapData()]를 나타낸다. 시간 유닛 맵이 파일로 기록될 때, 헤더 부분과 데이터 부분은 모드 단일 파일로 기록되거나, 다른 방법으로 분리된 파일로 기록될 수 있다.
도 23에 도시된 헤더 부분 TimeUnitMapHeader()의 심볼 "offset_SPN"은 기록된 운송 스트림의 제 1 소스 패킷의 번호를 나타낸다. 본 실시예 모드에서, 심볼 "RSPN_time_unit_start"는 소스 패킷 번호 offset_SPN에 대해 상대적인 소스 패킷 번호로 표시된다. 시간 유닛 맵이 처음에 형성될 때, 소스 패킷 번호 offset_SPN의 초기값은 0이다. 다음 심볼 "offset_time"은 이 시간 유닛 맵의 시작 시간 순간을 나타내어, 제 1 시간 유닛의 시간 시간을 표시한다.
심볼 "time_unit_size"는 이 시간 유닛 맵의 시간 유닛의 시간 길이(크기)를 도시한다.
심볼 "number_of_time_unit_entries"는 기록된 운송 스트림내에서 시간 유닛의 총수를 나타낸다.
번호가 시간 유닛 번호 number_of_time_unit으로 표시되는 어드레스 RSN_time_unit_start(도 22d)는 도 24의 데이터 부분 TimeUnitMapData()에 기록된다.
다음에는 기록된 운송 스트림이 편집되는 경우에서 상기에 설명된 시간 유닛 맵을 변화시키는(업데이트) 방법이 설명된다. 도 25a는 도 22c에 도시된 운송 스트림의 두 헤드 패킷이 삭제되는, 즉 헤드 패킷으로부터 "C"로 나타내지는 어드레스에 있는 소스 패킷까지 정의된 패킷이 삭제되는 예를 나타낸다. 도 25b는 패킷이 이 방식으로 부분 삭제된 이후 형성된 운송 스트림을 나타낸다.
도 26은 도 25a 및 도 25b의 경우에서 운송 스트림의 시간 유닛 맵을 도시한다. 이 도면에서 볼 수 있는 바와 같이, 시간 유닛의 헤드 부분에 위치하는 데이터가 삭제될 때, 삭제된 데이터 부분을 포함하는 시간 유닛을 참고하기 위한 RSTN_time_unit_start의 데이터는 삭제된다. 도 26b의 경우에는 시간 유닛 TU0의 RSTN_time_unit_start의 데이터가 삭제된다. 그에 연관되어, 수 "number_of_time_unit_entries"는 삭제된 RSPN_time_unit_start의 데이터의 총수 만큼 감소된다.
또한, 상기에 설명된 offset_SPN 및 offset_time은 변화된다. 도 26a의 경우, offset_SPN은 0이고, 또한 시간 유닛 TU0의 시작 시간 순간(즉, 0)은 offset_time으로 설정된다. 도 26b의 경우, offset_SPN은 새롭게 헤드 패킷이 된 소스 패킷에 대해 원래 소스 패킷의 수 C(= 2)로 변화된다. 또한, offset_time이 새롭게 헤드가 된 시간 유닛은 변화된다. 즉, 본 예에서는 이 시간 유닛이 시간 유닛 TU1의 원래 시작 시간 "ΔT"으로 변화된다. 또한, time_unit_size는 편집 동작이 실행되기 전후에 변화되지 않음을 주목하여야 한다.
시간 유닛 맵이 변할 때, 이 시간 유닛 맵에 관련된 엔트리 포인트 맵은 또한 변화된다.
이동 화상 기록 장치의 배열
다음에, 도 27은 본 발명의 바람직한 실시예 모드에 따른 이동 화상 기록 장치(1)의 구조적인 예를 도시한다. 이 이동 화상 기록 장치(1)는 입력된 운송 스트림으로부터 상기에 설명된 테이블을 만들고, 만들어진 이 테이블을 입력 운송 스트림과 연관되어 기록 매체에 기록한다.
이러한 이동 화상 기록 장치(1)의 단자(10)로부터 입력된 운송 스트림에는 하나의 AV 프로그램 또는 다수의 AV 프로그램이 다중화된다. 한편, 사용자 인터페이스에 의해 선택된 이러한 AV 프로그램의 채널이 입력된다. 이 경우, 선택되는 채널의 총수는 1 또는 그 이상으로 선택될 수 있다.
PID 필터(11)는 입력된 운송 스트림의 스트림 분석 유닛(12)에 의해 지정된 PID(패킷 ID)의 운송 패킷을 필터 처리한다. 심볼 "PID"는 13 비트의 길이를 갖는 코드를 나타내고, 이는 운송 패킷의 헤더 중 고정 위치에 놓인다. 이 PID 코드는 이 운송 패킷의 패이로드(payload)에 저장된 데이터 종류를 나타낸다. 먼저, PID 필터(11)는 PID = 0x0000인 PAT(Program Association Table)의 운송 패킷을 필터 처리한다. 이 PAT에서는 운송 스트림에 다중화된 각 프로그램의 PMT(Program Map Table) 중 운송 패킷의 PID가 설명된다. PID 필터(11)로부터 필터 처리된 PAT의 운송 패킷은 스트림 분석 유닛(12)으로 들어간다.
카운터(24)는 기록된 운송 스트림의 헤드 패킷으로부터 현재 패킷까지 정의된 패킷의 총수를 카운트한다. 이어서, 카운터(24)는 현재 패킷수를 시간 유닛 맵 형성 유닛(23) 및 엔트리 포인트 맵 형성 수단(16)에 출력한다.
스트림 분석 유닛(12)은 이 PCR을 전달하는 운송 패킷으로부터 PCR(Program Clock Reference)를 추출하고, 추출된 PCR을 PLL 유닛(13)에 공급한다. PCR을 전달하는 운송 패킷의 PID가 다수 있는 경우, 스트림 분석 유닛(12)은 운송 패킷의 PID 중 임의의 하나로부터 PCR을 추출한다. PLL 유닛(13)은 입력된 PCR과 동기화되어 27 MHz의 주파수를 갖는 클럭을 만들고, 이어서 만들어진 클럭을 시간 스탬프 발생 유닛(14)에 출력한다.
시간 스탬프 발생 유닛(14)은 들어온 클럭을 카운트하고, 이 카운트값에 대응하는 시간 스탬프(Arrival_Time_Stamp)를 발생한다. 먼저 기록된 운송 패킷의 시간 스탬프가 0으로 설정된다고 가정하여, 카운트된 이 시간 스탬프는 이 운송 스트림이 기록된 이후 시간 경과를 나타낸다. 이 시간 스탬프는 스트림 분석 유닛(12), 시간 스탬프 부가 유닛(15), 및 시간 유닛 맵 형성 유닛(23)에 공급된다.
시간 스탬프 부가 유닛(15)은 PID 필터(11)로부터 들어온 운송 패킷에 헤더를 부가하고, 소스 패킷(도 4를 참고)를 파일 시스템 유닛(17)에 출력한다. 이 헤더는 들어온 이 운송 패킷의 도착 시간 순간을 나타내는 시간 스탬프를 포함한다.
시간 유닛 맵 형성 유닛(23)은 카운터(24)로부터 들어온 패킷수와 시간 스탬프 발생 유닛(14)으로부터 들어온 시간 스탬프를 모두 근거로 하여 상기에 설명된 시간 유닛 맵을 형성한다. 형성된 시간 유닛 맵은 엔트리 포인트 맵 형성 유닛(16) 및 파일 시스템 유닛(17)으로 출력된다.
스트림 분석 유닛(12)은 각 프로그램에 대해 이후 설명될 프로그램 정보를 엔트리 포인트 맵 형성 유닛(16)에 공급한다.
(1) 프로그램의 program_number;
(2) 프로그램의 PMT에서 운송 패킷의 PID;
(3) 프로그램을 구성하는 비디오 데이터의 운송 패킷에서 stream_type 및 PID 모두;
(4) 프로그램을 구성하는 오디오 데이터의 운송 패킷에서 stream_type 및 PID 모두; 및
(5) 프로그램의 PCR의 PID.
이러한 프로그램 정보에서, 심볼 "stream_type"은 PMT에 기록된 내용을 의미한다. 비디오 데이터의 경우, 이 심볼 "stream_type"은 MPEG-2형 비디오 데이터 및 MPEG-1형 비디오 데이터와 같은 비디오 데이터의 스트림 종류를 나타낸다. 오디오 데이터의 경우, 이 심볼 "stream_type"은 MPEG-1/AC-3형 오디오 데이터와 같은 오디오 데이터의 스트림 종류를 나타낸다.
또한, 스트림 분석 유닛(12)은 기록되는 스트림의 엔트리 포인트 데이터를 형성하고, 이어서 형성된 엔트리 포인트 데이터를 엔트리 포인트 맵 형성 유닛(16)에 입력한다. 이 엔트리 포인트 데이터의 내용은 도 17에 나타내진다. 엔트리 포인트의 시간 스탬프가 엔트리 포인트의 PTS와 같은 경우, 스트림 분석 유닛(12)에 의해 입력 스트림으로부터 PTS가 유도되므로, 시간 스탬프 발생 유닛(14)에 의해 형성된 시간 스탬프는 스트림 분석 유닛(12)으로 입력될 필요가 없다.
엔트리 포인트 맵 형성 유닛(16)은 프로그램 마다 엔트리 포인트 데이터 테이블을 형성하도록 엔트리 포인트 데이터를 처리하므로, 상술된 엔트리 포인트 맵이 형성되고, 이어서 파일 시스템 유닛(17)으로 출력된다.
이동 화상 기록 장치의 기록 동작
이제는 상기에 설명된 이동 화상 기록 장치의 기록 동작이 설명된다. 운송 스트림이 단자(10)로부터 입력될 때, 이동 화상 기록 장치에서 사용되는 PID 필터(11)는 PID(즉, PID = 0x0000)를 포함하는 운송 패킷을 필터 처리하고, 이어서 추출된 이 운송 패킷을 스트림 분석 유닛(12)에 출력한다. 이때, 스트림 분석 유닛(12)은 도 28의 흐름도에서 설명되는 처리 동작을 실행한다.
스트림 분석 유닛(12)이 단계(S11)에서 PID 필터(11)로부터 PID = 0x0000의 운송 패킷을 수신할 때, 스트림 분석 유닛(12)은 단자(22)를 통해 주어지는 각 프로그램의 PMT에서 운송 패킷의 PID를 PAT로부터 구한다.
단계(S12)에서, 스트림 분석 유닛(12)은 각 프로그램의 PMT의 PID를 PID 필터(11)로 설정한다. 이 PID 필터(11)가 이들 PMT의 PID를 갖는 운송 패킷을 유도할 때, 이 운송 패킷은 스트림 분석 유닛(12)으로부터 출력된다.
단계(S13)에서, 스트림 분석 유닛(12)은 PID 필터(11)로부터 PMT의 운송 패킷을 수신한다. 이 PMT에는 패킷의 PID가 기록된다. 즉, 이 패킷은 패이로드로서 비디오 스트림 및 오디오 스트림 모두를 소유하는 운송 패킷의 PID 및 PCR(Program Clock Reference) 모두를 전달한다. 이러한 비디오 및 오디오 스트림은 이 프로그램을 구성한다. 스트림 분석 유닛(12)은 이 단계에서 패이로드로서 비디오 스트림 및 오디오 스트림을 소유하는 운송 패킷의 PID 및 PCR 모두를 전달한 패킷의 PID를 구한다. 이들 비디오 스트림 및 오디오 스트림은 사용자 인터페이스에 의해 선택되는 각 프로그램을 구성한다.
단계(S14)에서, 스트림 분석 유닛(12)은 패이로드로서 비디오 스트림 및 오디오 스트림을 소유하는 운송 패킷의 PID 및 PCR 모두를 전달하는 패킷의 PID를 PID 필터(11)에 설정한다. 이들 비디오 스트림 및 오디오 스트림은 사용자 인터페이스에 의해 선택된 각 프로그램을 구성한다.
EPG(Electrical Program Guide) 등을 전달하는데 사용되는 서비스 정보 패킷의 PID(패킷 ID)가 미리 인식될 때, 이 PID도 또한 PID 필터(11)에 설정되고, 이 PID의 패킷도 또한 이 PID 필터(11)로부터 필터 처리되는 것으로 이해되어야 한다.
이어서, 이 방식으로 PID 필터(11)에 의해 추출된 운송 패킷은 카운터(24), 스트림 분석 유닛(12), 및 시간 스탬프 부가 유닛(15)에 공급된다. 카운터(24)는 기록되는 운송 스트림의 헤드 패킷으로부터 현재 패킷까지 정의된 패킷의 총수를 카운트하고, 현재 패킷수를 감지한다. 감지된 이 현재 패킷수는 카운터(24)에 의해 시간 유닛 맵 형성 유닛(23) 및 엔트리 포인트 맵 형성 유닛(16)에 공급된다.
또한, 스트림 분석 유닛(12)은 입력된 운송 패킷으로부터 PCR(Program Clock Reference)을 추출하고, 이어서 추출된 PCR을 PLL 유닛(13)에 공급한다. PLL 유닛(13)은 입력된 PCR과 동기화되어 27 MHz의 주파수를 갖는 클럭을 발생하고, 이 클럭을 시간 스탬프 발생 유닛(14)에 공급한다.
시간 스탬프 발생 유닛(14)은 이 카운트값에 대응하는 시간 스탬프를 만들도록 입력된 클럭을 카운트한다. 시간 스탬프 부가 유닛(15)은 PID 필터(11)로부터 입력된 운송 패킷에 시간 스탬프를 부가하고, 이어서 소스 패킷을 파일 시스템 유닛(17)에 공급한다. 이 시간 스탬프는 이 운송 패킷의 도착 시간 순간을 나타내고, 시간 스탬프 발생 회로(14)로부터 발생된다.
시간 유닛 맵 형성 유닛(23)은 카운터(24)로부터 입력된 패킷수와 시간 스탬프 발생 유닛(14)으로부터 입력된 시간 스탬프를 근거로 시간 유닛 맵을 형성하고, 이어서 형성된 시간 유닛 맵을 엔트리 포인트 맵 형성 유닛(16) 및 파일 시스템 유닛(17)에 공급한다. 이 시간 유닛 맵에서는 도 7에 도시된 바와 같이, 시간 유닛 마다 어드레스 time_unit_address가 시간 유닛 마다의 어드레스 delta_time_unit_address에 대응하여 이루어진다. 또한, 시간 유닛 맵 형성 유닛(23)은 도 22d에 도시된 바와 같이 또 다른 시간 유닛 맵을 형성하고, 이 시간 유닛 맵을 엔트리 포인트 맵 형성 유닛(16) 및 파일 시스템(17)에 공급한다. 이 시간 유닛 맵에서, 헤드 데이터 어드레스 RSTN_time_unit_start는 시간 유닛에 대응하여 이루어진다.
또한, 스트림 분석 유닛(12)은 프로그램 마다 상기에 설명된 프로그램 정보를 엔트리 포인트 맵 형성 유닛(16)에 공급한다.
그 결과로, 스트림 분석 유닛(12)은 도 29 및 도 30에 도시된 흐름도에서 설명되는 바와 같이 엔트리 포인트를 분석하기 위한 처리 동작을 실행한다.
도 29에 도시된 이 분석 처리 흐름도의 단계(S31)에서, 스트림 분석 유닛(12)은 기록되는 프로그램의 비디오 데이터의 PID 및 그의 스트림 종류를 PID 필터(11)에 설정한다. 그 결과로, 비디오 데이터의 지정된 패킷은 PID 필터(11)로부터 스트림 분석 유닛(12)으로 공급된다.
단계(S32)에서, 스트림 분석 유닛(12)은 비디오 패킷의 포인터 "vpp"를 초기화한다. 즉, vpp = 0이다. 이 포인터 vpp는 처리중인 상기에 설명된 PID의 비디오 패킷에서 순서(순차)를 나타낸다.
단계(S33)에서, 스트림 분석 유닛(12)은 비디오 패킷의 포인터 vpp를 증가시킨다. 예를 들면, 이 포인터를 1 만큼 증가시킨다.
단계(S34)에서, 스트림 분석 유닛(12)은 MPEG 비디오 데이터의 코드 순차-헤더 코드(즉, 32 비트의 비트 길이를 갖고 "0X000001B3"으로 나타내지는 코드)가 패이로드의 스트림에 포함되는가 여부를 점검한다. 이 코드 sequence_header_code가 스트림에 포함되지 않을 때, 이 비디오 스트림 분석 처리 동작은 이전의 단계(S33)로 복귀된다.
대조적으로, 코드 sequence_header_code가 패이로드에 포함되는 것으로 스트림 분석 유닛(12)이 단계(S34)에서 판단할 때, 이 분석 처리 동작은 단계(S35)로 진행된다. 이 단계(S35)에서, 스트림 분석 유닛(12)은 이 코드 sequence_header_code를 포함하는 패킷의 어드레스(즉, 제 1 I 화상의 패킷)를 어드레스 "I_start_address"로 설정한다(도 10을 참고).
단계(S36)에서, 스트림 분석 유닛(12)은 비디오 패킷의 포인터 vpp를 증가시킨다.
다음 단계(S37)에서, 스트림 분석 유닛(12)은 상기에 설명된 I-화상의 데이터가 종료되었나 여부를 점검한다. 이 I 화상의 데이터가 아직 이루어지지 않을 때, 분석 처리 동작은 단계(S36)로 복귀된다. I 화상의 데이터가 종료될 때, 분석 처리 동작은 또 다른 단계(S38)로 진행된다.
이 단계(S38)에서, 스트림 분석 유닛(12)은 I 화상이 종료될 때의 패킷 어드레스를 "I_end_address"로 설정한다(도 10을 참고). 상기에 설명된 분석 처리 동작을 실행하여, 제 1 I 화상의 어드레스가 결정된다.
단계(S39)에서(비디오 포인터 vpp가 증가되지 않은 동안), 스트림 분석 유닛(12)은 다음 비디오 패킷이 순차 헤더 코드를 포함하는가 여부를 점검한다. 다음 비디오 패킷이 순차 헤더 코드를 포함하는 것으로 스트림 분석 유닛(12)이 판단할 때, 분석 처리 동작은 단계(S47)로 진행된다. 대조적으로, 다음 비디오 패킷이 순차 헤더 코드를 포함하지 않는 것으로 스트림 분석 유닛(12)이 판단할 때, 분석 처리 동작은 단계(S40)로 진행된다.
단계(S40)에서, 스트림 분석 유닛(12)은 비디오 패킷의 포인터 vpp를 증가시킨다.
다음 단계(S41)에서, 스트림 분석 유닛(12)은 상기에 설명된 I 화상 또는 P 화상이 종료되었나 여부를 점검한다. P 화상 또는 I 화상이 아직 완성되지 않았을 때, 분석 처리 동작은 이전 단계(S39)로 복귀된다. P 화상 또는 I 화상이 종료될 때, 분석 처리 동작은 단계(S42)로 복귀된다.
이 단계(S42)에서, 스트림 분석 유닛(12)은 P 화상 또는 I-화상이 종료될 때의 패킷 어드레스를 "P1_end_address"로 설정한다(도 10을 참고). 상기에 설명된 분석 처리 동작의 실행으로, 제 1 I 화상 또는 그 I 화상에 이어지는 P 화상의 어드레스가 결정된다.
단계(S43)에서(비디오 포인터 vpp가 증가되지 않는 동안), 스트림 분석 유닛(12)은 다음 비디오 패킷이 순차 헤더 코드를 포함하는가 여부를 점검한다. 다음 비디오 패킷이 순차 헤더 코드를 포함하는 것으로 스트림 분석 유닛(12)이 판단할 때, 분석 처리 동작은 단계(S47)로 진행된다. 대조적으로, 다음 비디오 패킷이 순차 헤더 코드를 포함하지 않는 것으로 스트림 분석 유닛(12)이 판단할 때, 분석 처리 동작은 단계(S44)로 진행된다.
단계(S44)에서, 스트림 분석 유닛(12)은 비디오 패킷의 포인터 vpp를 증가시킨다.
다음 단계(S45)에서, 스트림 분석 유닛(12)은 P 화상 또는 I 화상이 종료되었나 여부를 점검한다. P 화상 또는 I 화상이 아직 완성되지 않았을 때, 분석 처리 동작은 단계(S43)로 복귀된다. P 화상 또는 I 화상이 종료될 때, 분석 처리 동작은 또한 단계(S46)로 진행된다.
이 단계(S46)에서, 스트림 분석 유닛(12)은 P 화상 또는 I 화상이 종료될 때의 패킷 어드레스를 "P2_end_address"로 설정한다(도 10을 참고). 상기에 기술된 분석 처리 동작의 실행으로, P 화상 또는 I 화상의 어드레스는 I 화상의 다음 두 위치에 놓인다.
단계(S47)에서, 스트림 분석 유닛(12)은 어드레스 I_start_address, 어드레스 I_end_address, 어드레스 P1_end_address, 및 어드레스 P2_end_address를 엔트리 포인트 맵 형성 유닛(16)에 출력한다. 이때에는 어드레스 P1_end_address 및 어드레스 P2_end_address 중 적어도 하나가 주어지지 않을 확률이 있다.
단계(S48)에서, 스트림 분석 유닛(12)은 현재 패킷이 최종적으로 입력된 패킷에 대응하는가 여부를 판단한다. 현재 패킷이 최종적으로 입력된 패킷이 아닌 것으로 스트림 분석 유닛(12)이 판단할 때, 분석 처리 동작은 단계(S33)로 복귀된다. 대조적으로, 현재 패킷이 최종적으로 입력된 패킷에 대응할 때, 분석 처리 동작은 완성된다.
다수의 프로그램이 기록되는 운송 스트림에 포함되는 경우, 비디오 스트림의 상술된 분석 동작은 각 프로그램의 비디오 패킷에 대해 실행된다.
스트림 분석 유닛(12)이 상술된 방식에 따라 엔트리 포인트 데이터를 만들 때, 스트림 분석 유닛(12)은 이 엔트리 포인트 데이터를 엔트리 포인트 맵 형성 유닛(16)에 공급한다. 엔트리 포인트 맵 형성 유닛(16)은 스트림 분석 유닛(12)으로부터 공급된 엔트리 포인트 데이터를 처리하여 각 프로그램에 대한 테이블을 형성하고, 도 9에 나타내지는 바와 같이 엔트리 포인트 맵을 형성하여 이를 파일 시스템 유닛(17)으로 공급한다.
그 결과로, 시간 스탬프 부가 유닛(15)에 의해 시간 스탬프가 부가된 운송 스트림, 이 운송 스트림의 특성 포인트를 나타내는 특성 포인트 데이터로 동작하는 시간 유닛 맵 및 엔트리 포인트 맵은 시간 유닛 맵 형성 유닛(23) 및 엔트리 포인트 맵 형성 유닛(16)으로부터 각각 파일 시스템 유닛(17)으로 공급된다. 파일 시스템 유닛(17)은 그에 대응하는 운송 스트림 및 특성 포인트 데이터를 한 파일로 처리한다.
도 31은 이 파일 구조의 예를 나타낸다. 이 파일 구조의 예에서는 3개 세트의 프로그램이 운송 스트림 파일내에서 다중화된다. 이 도면에 도시된 바와 같이, 엔트리 포인트 맵은 이 엔트리 포인트 맵이 시간 유닛 맵에 이어지는 방식으로 구성된다. 이때, 각 엔트리 포인트 맵은 프로그램 마다 이후 설명되는 데이터를 소유한다:
(1) 프로그램의 program_number;
(2) 프로그램의 PMT에서 운송 패킷의 PID;
(3) 프로그램을 구성하는 비디오 데이터의 운송 패킷에서 stream_type 및 PID 모두;
(4) 프로그램을 구성하는 오디오 데이터의 운송 패킷에서 stream_type 및 PID 모두;
(5) 프로그램의 PCR의 PID; 및
(6) 엔트리 포인트의 리스트.
파일 시스템 유닛(17)에 의해 만들어진 파일은 에러 정정 유닛(18)에 공급된다. 만들어진 이 파일에 에러 정정 코드가 부가된 이후에, 결과의 파일은 미리 선택된 변조 시스템에 의해 변조되도록 변조 유닛(19)으로 공급된다. 변조 유닛(19)으로부터 출력된 신호는 기록 유닛(20)에 공급되고, 공급된 이 신호는 기록 매체(21)에 기록된다.
운송 스트림과 그의 특성 포인트 데이터는 상기에 설명된 방식으로 기록 매체(21)에 기록된다.
이동 화상 기록 장치의 변경
상기에 설명된 실시예에서, 시간 유닛 맵과 엔트리 포인트 맵은 모두 운송 스트림으로부터 형성된다. 다른 방법으로, 예를 들면 이동 화상 기록 장치 자체가 운송 스트림을 다중화하여 다중화된 운송 스트림을 만드는 경우, 이 이동 화상 기록 장치는 이러한 다중화 동작 동안 시간 유닛 맵과 엔트리 포인트 맵을 모두 만들 수 있다. 도 32는 이러한 다른 경우의 구조적인 예를 나타낸다.
다른 말로 하면, 도 32의 구조예에서, 다수의 프로그램 중 비디오 데이터의 기본 스트림 #1 내지 #n 및 오디오 데이터의 기본 스트림 #1 내지 #n은 다중화 유닛(40)으로 입력된다. 시스템 시간 클럭 유닛(42)은 27 MHz의 주파수를 갖는 시스템 시간 클럭을 카운트하고, 시간 스탬프를 만들고, 이어서 시간 스탬프를 제어기(41) 및 시간 유닛 맵 형성 유닛(43)으로 출력한다. 제어기(41)는 다중화 유닛(40)으로 입력된 각 기본 스트림을 분석하고, MPEG 시스템 규칙의 T-STD(Transport Stream System Target Decoder)를 만족시키면서 다중화 유닛(40)이 운송 스트림을 다중화하는 방식으로 이 다중화 유닛(40)을 제어한다.
제어기(41)는 다중화 유닛(40)으로부터 유도된 운송 패킷의 총수를 나타내는 패킷수를 시간 유닛 맵 형성 유닛(43)과 엔트리 포인트 맵 형성 유닛(44)에 공급한다. 시간 유닛 맵 형성 유닛(43)은 제어기(41)로부터 입력된 패킷수와 시스템 시간 클럭(42)으로부터 입력된 시간 스탬프를 근거로 시간 유닛 맵을 형성한다.
또한, 제어기(41)는 프로그램 정보와 엔트리 포인트 데이터를 엔트리 포인트 맵 형성 유닛(44)에 공급한다. 엔트리 포인트 맵 형성 유닛(44)은 제어기(41)로부터 공급되는 패킷수, 프로그램 정보, 및 엔트리 포인트 데이터와, 시간 유닛 맵 형성 유닛(43)으로부터 공급되는 시간 유닛 맵을 근거로 엔트리 포인트 맵을 형성한다.
다중화 유닛(40)으로부터 유도되는 운송 스트림, 시간 유닛 맵 형성 유닛(43)에 의해 형성된 시간 유닛 맵, 및 엔트리 포인트 맵 형성 유닛(44)에 의해 형성된 엔트리 포인트 맵은 각각 도 27에 도시된 파일 시스템 유닛(17)에 공급된다. 또한, 이 파일 시스템 유닛(17)으로부터 기록 매체(21)까지 정의된 배열은 도 27에 도시된 것과 유사함을 주목하여야 한다.
도 32에 도시된 바와 같은 배열을 사용한 이동 화상 기록 장치(1)에서, 제어기(41)는 다중화 유닛(40)에 의해 다중화된 기본 스트림으로부터 프로그램 정보 및 엔트리 포인트 데이터를 만들고, 이어서 이들 프로그램 정보 및 엔트리 포인트 데이터를 엔트리 포인트 맵 형성 유닛(44)에 공급한다. 또한, 제어기(41)는 패킷수를 시간 유닛 맵 형성 유닛(43) 및 엔트리 포인트 맵 형성 유닛(44)에 공급한다. 이 패킷수는 시스템 시간 클럭 유닛(42)으로부터 입력된 시간 스탬프에 대응한다.
시간 유닛 맵 형성 유닛(43)은 제어기(41)로부터 입력된 패킷수와 시스템 시간 클럭(42)으로부터 입력된 시간 스탬프를 근거로 시간 유닛 맵을 형성한다. 유사하게, 엔트리 포인트 맵 형성 유닛(44)은 제어기(41)로부터 입력되는 패킷수, 프로그램 정보, 및 엔트리 포인트 데이터와, 시간 유닛 맵 형성 유닛(43)으로부터 입력된 시간 유닛 맵을 근거로 엔트리 포인트 맵을 형성한다.
도 27에 도시된 배열과 유사하게, 형성된 운송 스트림, 시간 유닛 맵, 및 엔트리 포인트 맵은 파일 시스템 유닛(17)에 의해 한 파일로 처리되고, 이어서 에러 정정 유닛(18)에 의해 에러 정정 부분이 그에 부가된다. 에러 정정된 운송 스트림/시간 유닛 맵/엔트리 포인트 맵은 또한 변조 유닛(19)에 의해 변조된다. 이어서, 변조된 운송 스트림/시간 유닛 맵/엔트리 포인트 맵은 기록 유닛(20)에 의해 기록 매체(21)에 기록된다.
이동 화상 재생 장치의 배열
다음에는 운송 스트림 파일 및 이 운송 스트림 파일의 특성 포인트 데이터가 상기에 설명된 방식으로 기록된 기록 매체(21)를 재생하는 이동 화상 재생 장치가 설명된다. 도 33은 이동 화상 재생 장치(51)의 구조적인 예를 나타낸다. 이러한 이동 화상 재생 장치(51)에서, 기록 유닛(61)은 기록 매체(21)에 기록된 데이터를 판독하고, 이어서 판독된 데이터를 복조 유닛(62)에 출력한다. 복조 유닛(62)은 판독 유닛(61)으로부터 입력된 데이터를 복조하고, 복조된 데이터를 에러 정정 유닛(63)에 출력한다. 에러 정정 유닛(63)은 복조 유닛(62)으로부터 입력된 데이터에 포함되는 에러를 정정하고, 에러 정정된 데이터를 파일 시스템 유닛(64)에 공급한다.
파일 시스템 유닛(64)은 에러 정정 유닛(63)으로부터 입력된 데이터를 운송 스트림 파일 및 특성 포인트 데이터로 분리하고, 이 스트림 파일을 버퍼(65)에 공급하고 이 특성 포인트 데이터를 재생 제어 유닛(71)에 공급한다. 재생 제어 유닛(71)은 지시에 응답하여 판독 유닛(61), 디멀티플렉서(69), 및 AV 디코더(70)를 제어한다. 이 지시는 사용자에 의해 단자(73) 및 사용자 인터페이스를 통해 입력된다.
버퍼(65)는 초기값으로 arrival_time_stamp에 스트림 파일로부터 저장된 값을 카운터(68)에 공급하여 카운터(68)를 설정한다. 카운터(68)는 기준값으로 버퍼(65)에서 유도된 초기값을 사용하면서 27 MHz의 주파수를 갖는 클럭을 카운트하고, 카운트값을 비교 유닛(66)에 공급한다. 이 클럭은 시스템 시간 클럭 유닛(67)으로부터 발생된다.
비교 유닛(66)은 카운터(68)로부터 공급된 카운트값을 버퍼(65)로부터 공급된 운송 패킷에 포함되는 값 arrival_time_stamp와 비교한다. 이 카운트값이 값 arrival_time_stamp와 일치하게 될 때, 비교 유닛(66)은 이 운송 패킷을 디멀티플렉서(69)에 출력한다.
디멀티플렉서(69)는 비교 유닛(66)으로부터 입력된 운송 스트림 파일에서 재생 제어 유닛(71)으로부터 전해진 지시에 대응하는 채널의 비디오 데이터 및 오디오 데이터를 추출하고, 추출된 비디오 데이터 및 추출된 오디오 데이터를 AV 디코더(70)에 출력한다. AV 디코더(70)는 디멀티플렉서(69)로부터 입력된 비디오 데이터 및 오디오 데이터를 복호화하고, 이어서 복호화된 비디오/오디오 데이터를 단자(72)에 출력한다.
이동 화상 재생 장치의 재생 동작
이어서, 이동 화상 재생 장치의 재생 동작이 설명된다. 도 27 또는 도 32에 도시된 이동 화상 기록 장치(1)에 기록된 운송 스트림의 특성 포인트 데이터 및 운송 스트림 파일은 모두 기록 매체(21)에 기록된다. 이 운송 스트림 파일에서는 하나의 프로그램 또는 다수의 프로그램이 다중화된다.
먼저, 재생 제어 유닛(71)은 운송 스트림 파일로부터 특성 포인트 데이터를 판독하도록 판독 유닛(61)에 지시한다. 이때, 판독 유닛(61)은 기록 매체(21)로부터 운송 스트림의 특성 포인트 데이터를 판독하고, 이어서 판독된 특성 포인트 데이터를 복조 유닛(62)에 출력한다. 복조 유닛(62)은 입력된 특성 포인트 데이터를 복조하고, 이어서 복조된 데이터를 에러 정정 유닛(63)에 출력한다. 에러 정정 유닛(63)은 입력된 데이터의 에러를 정정하고, 에러 정정된 데이터를 파일 시스템 유닛(64)에 공급한다. 파일 시스템 유닛(64)은 입력된 스트림 특성 포인트 데이터를 재생 제어 유닛(71)에 공급한다.
프로그램 번호는 단자(73)로부터 재생 제어 유닛(71)에 입력된다. 이 프로그램 번호는 사용자 인터페이스에 의해 재생되도록 지정된다. 재생 제어 유닛(71)은 특성 포인트 데이터로부터 지정된 이 프로그램의 PMT에서 운송 패킷의 PID; 이 프로그램을 구성하는 비디오 데이터의 운송 패킷의 스트림 종류 및 PID; 이 프로그램을 구성하는 오디오 데이터의 운송 패킷의 스트림 종류 및 PID; 및 PCR의 PID를 판독한다. 이어서, 재생 제어 유닛(71)은 판독된 항목을 디멀티플렉서(69) 및 AV 디코더(70)에 출력한다.
또한, 재생 제어 유닛(71)은 운송 스트림 파일을 판독하도록 판독 유닛(61)에 지시한다. 이 지시에 응답하여, 판독 유닛(61)은 기록 매체(21)로부터 운송 스트림 파일을 판독한다. 상기에 설명된 경우와 유사하게, 운송 스트림 파일에 대한 데이터는 복조 유닛(62), 에러 정정 유닛(63), 및 파일 시스템 유닛(64)에 의해 버퍼(65)로 처리된다.
버퍼(65)는 입력된 운송 스트림 파일로부터 arrival_time_stamp에 저장된 값을 판독하고, 판독된 값을 초기값으로 카운터(68)에 공급하여 이 카운터(68)를 설정한다. 이어서, 카운터(68)는 기준값으로 초기값을 사용하면서 시스템 시간 클럭 유닛(67)으로부터 발생된 클럭을 카운트하고, 이 카운트값을 비교 유닛(66)에 공급한다. 비교 유닛(66)은 버퍼(65)로부터 공급된 운송 스트림 파일로부터 arrival_time_stamp의 값을 판독하고, 판독된 값을 카운터(68)로부터 공급된 카운터값과 비교한다. 판독 데이터가 카운트값과 일치하게 되는 타이밍에, 비교 유닛(66)은 운송 스트림 파일을 디멀티플렉서(69)에 출력한다.
디멀티플렉서(69)는 입력된 운송 스트림으로부터, 사용자 인터페이스에 의해 지정된 프로그램을 구성하는 비디오 데이터의 운송 패킷 및 오디오 데이터의 운송 패킷을 분리한다. 이어서, 디멀티플렉서(69)는 비디오/오디오 데이터의 분리된 운송 패킷을 AV 디코더(70)에 입력시킨다. AV 디코더(70)는 비디오 스트림 및 오디오 스트림을 모두 복호화하고, 복호화된 스트림을 재생 비디오 신호 및 재생 오디오 신호로 단자(72)에서 출력한다.
랜덤 엑세스 재생 동작이 사용자 인터페이스를 통해 지시될 때, 재생 제어 유닛(71)은 저장된 스트림의 특성 포인트 데이터 내용에 응답해 기록 매체(21)에 대해 데이터 판독 위치를 결정하고, 랜덤 엑세스 제어 정보를 판독 유닛(61)에 입력한다. 예를 들면, 사용자에 의해 선택된 프로그램이 미리 설정된 시간 순간에 재생되는 경우, 재생 제어 유닛(71)은 지정된 시간 순간에 대응하는 운송 스트림의 어드레스를 계산하고, 기록 매체(21)로부터 계산된 어드레스에 있는 데이터를 판독하도록 판독 유닛(61)에 지시한다. 다음에는 데이터 판독 순차 동작이 다음과 같이 설명된다:
먼저, 도 7에 나타내진 시간 유닛 맵이 설명된다. 제 0 시간 유닛 TU0의 헤드 데이터의 시간 순간은 "start_time"인 것으로 가정하면, 제 N 시간 유닛(N 〉 0)의 헤드 데이터의 시간 순간은 다음과 같다:
(start_time + first_time_unit_size +(N - 1) * time_unit_size). 그 결과로, 다음의 사실이 밝혀질 수 있다. 즉, 시간 유닛의 헤드 데이터의 시간 순간이 사용자에 의해 지정된 시간 순간 보다 더 커지는 시간 유닛의 수를 재생 제어 유닛(71)이 포착할 수 있으면, 판독 유닛(61)은 포착된 수를 갖는 시간 유닛으로부터 데이터를 판독할 수 있다.
이 경우, 기록된 스트림에서 제 0 시간 유닛의 헤드 데이터의 어드레스가 0인 것으로 가정하면, 제 N 시간 유닛의 헤드 데이터의 어드레스 "time_unit_address(N)"은 이후 설명되는 공식(1)에 의해 계산될 수 있다:
방정식 1
time_unit_address(N) =delta_time_unit_address(i)
다음에는 도 22d에 나타내진 시간 유닛 맵이 설명된다.
이 경우, 제 N(N 〉= 0) 시간 유닛의 헤드 데이터의 시간 순간은(offset_time + N * time_unit_size)가 된다. 그 결과로, 다음의 사실이 밝혀질 수 있다. 즉, 시간 유닛의 헤드 데이터의 시간 순간이 사용자에 의해 지정된 시간 순간 보다 더 커지는 시간 유닛의 수를 재생 제어 유닛(71)이 포착할 수 있으면, 판독 유닛(61)은 포착된 수를 갖는 시간 유닛으로부터 데이터를 판독할 수 있다. 제 N 시간 유닛의 헤드 데이터의 소스 패킷수는 다음과 같다:
(RSPN_time_unit_start(N) - offset_SPN). 이 경우, 심볼 "RSPN_time_unit_start(N)"은 N-시간 유닛에 대한 "RSPN_time_unit_start" 값을 나타낸다.
또한, 사용자에 의해 선택된 프로그램에 대응하는 엔트리 포인트 맵의 데이터가 있는 경우, 재생 제어 유닛(71)은 엔트리 포인트 데이터를 근거로 특수 재생 동작을 제어한다. 예를 들면, 고속 재생 동작의 경우, 재생 제어 유닛(71)은 엔트리 포인트 마다 어드레스에 있는 스트림 데이터가 순차적으로 연속하여 판독되는 방식으로 판독 유닛(61)에 지시한다.
특수 재생 모드
도 34는 이동 화상 재생 장치(51)의 재생 제어 유닛(71)에 의해 실행되는 특수 재생 동작에 대한 흐름도이다. 사용자로부터 전해지는 지시에 응답해, 재생 제어 유닛(71)은 단계(S61)에서 재생되는 프로그램의 program_number를 재생 제어 유닛(71)의 내부 메모리로 설정한다.
단계(S62)에서, 재생 제어 유닛(71)은 플래그 "parsed_program_flag"를 근거로 본 프로그램의 엔트리 포인트 데이터가 주어지는가 여부를 점검한다. 엔트리 포인트 데이터가 주어질 때(즉, parsed_program_flag = 1), 고속 처리 동작은 단계(S63)로 진행된다. 대조적으로, 엔트리 포인트 데이터가 주어지지 않을 때, 재생 제어 유닛(71)은 엔트리 포인트 맵을 사용하여 데이터를 엑세스할 수 없으므로, 고속 재생 동작이 종료된다.
단계(S63)에서, 재생 제어 유닛(71)은 사용자에 의해 지정된 시간 순간으로부터 데이터 판독 동작이 시작되는 시간 유닛의 수 "TN"를 계산한다. 다른 말로 하면, 도 7에 나타내지는 시간 유닛 맵의 경우,(start_time + first_time_unit_size +(N - 1) * time_unit_size)의 값, 즉 시간 유닛의 헤드 데이터의 시간 순간이 지정된 시간 순간 보다 더 커질 때 시간 유닛의 수 "TN"이 계산된다. 또한, 도 22d에 나타내지는 시간 유닛 맵의 경우에는(offset_time + N * time_unit_size)의 값이 지정된 시간 순간 보다 더 커질 때 시간 유닛의 수 "TN"가 계산된다.
재생 제어 유닛(71)은 단계(S64)에서 플래그 entry_point_flag를 근거로 이 프로그램의 엔트리 포인트가 제 TN 시간 유닛에 주어지는가 여부를 점검한다. 엔트리 포인트가 주어질 때(즉, entry_point_flag = 1), 특수 재생 동작은 단계(S65)로 진행된다. 엔트리 포인트가 주어지지 않을 때, 특수 재생 동작은 단계(S67)로 진행된다.
엔트리 포인트가 주어지는 경우, 재생 제어 유닛(71)은 entry_point_data()로부터 엔트리 포인트의 스트림 데이터를 판독하는데 사용되는 어드레스를 계산한다. 스트림 데이터 판독 동작이 시작될 때의 시작 어드레스는 "I_start_address"인 반면, 스트림 데이터 판독 동작이 종료될 때의 종료 어드레스는 "I_end_address", "P1_end_address", 또는 "P2_end_address"이다.
재생 제어 유닛(71)은 이전 단계(S65)에서 계산된 어드레스를 근거로 엔트리 포인트의 스트림 데이터를 판독하도록 판독 유닛(61)에 지시한다(단계 S66). 이어서, 판독 유닛(61)은 이 지시에 응답하여 판독 동작을 실행한다.
재생 제어 유닛(71)은 단계(S67)에서 TN을 증가시킨다. 재생 제어 유닛(67)은 단계(S68)에서 특수 재생 동작의 완료가 지시되었나 여부를 판단한다. 특수 재생 동작의 완료가 아직 지시되지 않았을 때, 이 재생 동작은 단계(S64)로 복귀된다. 대조적으로, 특수 재생 동작의 완료가 지시되었을 때, 이 재생 동작은 종료된다.
판독 유닛(61)은 지정된 랜덤 엑세스 포인트로부터 데이터를 판독한다. 판독된 데이터는 복조 유닛(62), 에러 정정 유닛(63), 파일 시스템 유닛(64), 버퍼(65), 및 비교 유닛(66)에 의해 처리된 이후 디멀티플렉서(69)로 입력된다. 디멀티플렉싱된 데이터는 AV 디코더(70)에 의해 복호화되고, AV 디코더(70)는 복호화된 데이터를 출력한다.
이제는 단계(S63)에서 정의된 상기 계산 처리 동작이 도 35 및 도 36에 도시된 흐름도를 참고로 도 7에 도시된 시간 유닛 맵 경우에서 보다 상세히 기술된다. 도 35에 도시된 흐름도의 단계(S81)에서, 프로그램 번호 및 재생 시작 시간 순간 "Tst"가 모두 단자(73)에서 재생 제어 유닛(71)으로 입력될 때, 재생 제어 유닛(71)은 단계(S81)에서 입력된 재생 시작 시간 순간 Tst이 단계(S82)에서 특성 포인트 데이터에 포함된 운송 스트림의 시작 시간 순간 "start_time"(도 3b)과 같은가 여부를 판단한다. 재생 시작 시간 순간 Tst이 시작 시간 "start_time"과 같을 때, 처리 동작은 단계(S86)로 진행된다. 단계(S86)에서, 재생 제어 유닛(71)은 시간 유닛의 수를 나타내는 변수 "N"에 "0"을 설정하고, 또한 이 시간 유닛(즉, 제 0 시간 유닛)의 어드레스 "time_unit_address(N)"에 "0"을 설정한다.
대조적으로, 단계(S82)에서 재생 시작 시간 순간 Tst이 시작 시간 순간 "start_time"과 같지 않은 것으로 재생 제어 유닛(71)이 판단할 때, 처리 동작은 단계(S83)로 진행된다. 이 단계(S83)에서, 재생 제어 유닛(71)은 시간 유닛 맵의 헤더 부분을 판독하고, 이후 설명되는 부등성을 만족시킬 수 있는 최소값 "N"을 계산한다:
Tst ≤ start_time + first_time_unit_size +(N - 1) x time_unit_size
단계(S85)에서, 재생 제어 유닛(71)은 공식(1)에 따라 시간 유닛 맵의 데이터를 근거로 time_unit_address(N)를 계산한다.
제 N 시간 유닛에서 헤드 데이터의 시간 순간 "time_unit_address(N)"이 계산될 때, 재생 제어 유닛(71)은 단계(S87)에서 제 N 시간 유닛의 어드레스 "time_unit_address(N)"로부터 데이터를 판독하도록 판독 유닛(61)에 지시한다.
재생 제어 유닛(71)으로부터 전해지는 지시에 응답해, 판독 유닛(61)은 단계(S88)에서 기록 매체(21)로부터 어드레스 "time_unit_address(N)"에 있는 운송 스트림을 판독한다. 이 판독 유닛(61)에 의해 판독된 데이터(운송 스트림)는 복조 유닛(62), 에러 정정 유닛(63), 파일 시스템 유닛(64), 버퍼(65), 및 비교 유닛(66)을 통해 디멀티플렉서(69)에 공급된다.
단계(S89)에서, 재생 제어 유닛(71)은 사용자가 재생하도록 지시한 프로그램의 program_number를 디멀티플렉서(69)에 출력한다. 단계(S90)에서, 디멀티플렉서(69)는 재생 제어 유닛(71)에 의해 지시된 program_number에서 프로그램의 운송 패킷을 분리하고, 분리된 운송 패킷을 AV 디코더(70)에 출력한다. 단계(S91)에서, AV 디코더(70)는 디멀티플렉서(69)로부터 입력된 데이터를 복호화하고, 복호화된 데이터를 단자(72)에서 출력한다.
이제는 도 37에 도시된 흐름도를 참고로, 도 34에 도시된 흐름도 중 단계(S63)에서 정의된 계산 처리 동작이 도 22d에 도시된 시간 유닛 맵의 경우에서 보다 상세히 설명된다.
도 37에 나타내지는 흐름도의 처리 단계는 도 35 및 도 36의 흐름도에서 정의된 단계(S82, S84, S85)가 각각 단계(S102, S104, S105)로 변하는 방식으로 이루어진다. 도 37의 흐름도에서 정의된 상기 단계 이외의 단계는 도 35 및 도 36의 흐름도에서 정의된 단계와 똑같다. 여기서는 각각의 변화된 단계(S102, S104, S105)만이 다음과 같이 설명된다:
단계(S102)에서, 재생 시작 시간 순간 Tst은 시간 유닛 맵의 시작 시간 "offset_time"과 비교된다.
단계(S104)에서, 계산은 이후 설명될 부등성을 만족시킬 수 있는 최소값 "N"에 대해 이루어진다.
Tst 〈 = offset_time + N * time_unit_size.
단계(S85)에서, 재생 제어 유닛(71)은 이후 설명될 공식에 따라 시간 유닛 맵의 데이터를 근거로 어드레스 "time_unit_address(N)"을 계산한다.
time_unit_address(N) = RSPN_time_unit_start(N) - offset_SPN.
상술된 일련의 처리 동작은 하드웨어를 사용해 실행될 수 있지만, 또한 소프트웨어를 사용해 실행될 수 있는 것으로 이해하여야 한다. 상술된 일련의 처리 동작이 소프트웨어를 사용하여 실행되는 경우, 다음의 경우가 생각될 수 있다. 즉, 배타적으로 사용되는 하드웨어로 동작하는 이동 화상 기록/재생 장치에 이러한 소프트웨어를 구성하는 프로그램이 설치된 컴퓨터가 사용될 수 있고, 다양한 종류의 기능을 실시할 수 있는 범용 컴퓨터가 설치된 다양한 종류의 컴퓨터와 함께 사용될 수 있다.
이제는 도 38을 참고로 본 발명의 실시예 모드에 따른 기록 매체가 설명된다. 말하자면, 상기에 설명된 일련의 처리 동작을 실행할 수 있는 프로그램이 범용 개인 컴퓨터에 설치되면서, 이 컴퓨터 프로그램은 실시예 모드의 기록 매체에 기록될 수 있다.
도 38a에 나타내진 바와 같이, 컴퓨터 프로그램은 이 컴퓨터 프로그램이 컴퓨터(301)에 내장된 기록 매체로 동작하는 하드 디스크 드라이브(HDD)(302) 또는 반도체 메모리(303)에 미리 설치된 조건하에서 제공될 수 있다.
다른 방법으로, 도 38b에 나타내진 바와 같이, 컴퓨터 프로그램은 이 컴퓨터 프로그램이 임시로 저장되거나 플로피 디스크(311), CD-ROM(Compact Disk-Read Only Memory) 디스크(312), MO(Magneto-Optical) 디스크(303), DVD(Digital Versatile Disk)(314), 자기 디스크(315), 및 반도체 메모리(316)와 같은 기록 매체에 영구히 저장되는 방식에서 패키지 소프트웨어로 제공될 수 있다.
또한, 도 38c에 도시된 바와 같이, 컴퓨터 프로그램은 무선 방식으로 다운로드 사이트(download site)(321)로부터 디지털 위상 방송 시스템에서 사용되는 위성(322)을 통해 컴퓨터(323)에 전송될 수 있다. 다른 방법으로, 컴퓨터 프로그램은 유선 방식으로 다운로드 사이트(321)로부터 구내 전산망(LAN) 및 인터넷과 같은 네트워크(131)를 통해 컴퓨터(323)에 전송되고, 이어서 컴퓨터(323)에 내장된 하드 디스크 드라이브로 저장될 수 있다.
본 명세서에서 정의된 기록 매체는 상기에 설명된 기록 매체 모두를 포함하는 광범위의 개념을 의미한다.
또한, 판독 매체로부터 제공되는 컴퓨터 프로그램을 설명하는데 사용되는 단계는 설명된 순차적인 순서에 따라 시간 순차적 방식으로 명확하게 처리되지만, 시간 순차적으로 처리되지 않을 수 있음을 주목하여야 한다. 예를 들면, 병렬 방식이나 분리된 방식으로 처리될 수 있다.
또한, 본 명세서에서 설명된 시스템은 다수의 장치에 의해 배열된 전체적인 장치를 나타내는 것으로 이해하여야 한다.
앞서 설명된 바와 같이, 하나의 운송 스트림 또는 다수의 운송 스트림이 기록된 기록 매체가 원하는 데이터를 재생하도록 랜덤 엑세스되는 경우, I 화상의 시작 위치 또는 오디오 프레임은 효과적으로 탐색될 수 있으므로, 사용자 입력에 응답하여 고속 랜덤 엑세스 재생 동작이 실행될 수 있다.
앞서 상세히 설명된 바와 같이, 제 1 데이터 처리 장치, 데이터 처리 방법, 및 기록 매체에 기록된 프로그램에 따라, 코드화된 스트림은 소정의 시간 유닛에 대해 분할되어, 시간 유닛 맵이 형성된다. 이 시간 유닛 맵은 분할된 코드화 스트림의 시간 유닛에 대한 데이터의 어드레스를 나타낸다. 그 결과로, 랜덤 엑세스 동작은 고속 응답으로 실행될 수 있다.
더욱이, 제 2 데이터 처리 장치, 데이터 처리 방법, 및 기록 매체에 기록된 프로그램에 따라, 기록 매체에 기록된 코드화 스트림은 기록 매체로부터 재생된 시간 유닛 맵을 근거로 임의의 위치로부터 재생된다. 결과적으로, 랜덤 데이터 스트림 재생은 고속으로 실행될 수 있다.
본 발명의 데이터 처리/기록 방법/장치는 코드화된 운송 스트림(transport stream)으로부터 특성 포인트 정보를 추출함으로서 다중화된 프로그램 데이터를 신속하게 랜덤 엑세스할 수 있다.

Claims (26)

  1. 입력되는 코드화 스트림(coded stream)에 포함된 데이터를 처리하는 데이터 처리 장치에 있어서,
    소정의 시간 유닛(time unit)에 대해 상기 입력되는 코드화 스트림을 세그먼팅 하는 세그먼팅 수단, 및
    상기 세그먼팅 수단에 의해 세그먼팅된 상기 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵(time unit map)을 형성하는 제 1 형성 수단을 포함하는 데이터 처리 장치.
  2. 제 1 항에 있어서,
    상기 시간 유닛 맵은 상기 시간 유닛 각각에 대한 데이터의 어드레스로써 시간 유닛 마다 헤드 패킷(head packet)의 패킷수를 상기 시간 유닛 맵에 저장하는 데이터 처리 장치.
  3. 제 1 항에 있어서,
    상기 시간 유닛 맵은 상기 각 시간 유닛의 헤드 데이터의 상기 어드레스, 및 상기 헤드 데이터의 어드레스에 대응하여 상기 시간 유닛내에 포함되는 데이터량에 대응하는 어드레스 사이의 간격을 상기 시간 유닛 맵에 저장하는 데이터 처리 장치.
  4. 제 1 항에 있어서,
    상기 코드화 스트림과 연관되어 상기 시간 유닛 맵을 채우는 파일링 수단을 더 구비하는 데이터 처리 장치.
  5. 제 4 항에 있어서,
    상기 파일링 수단에 의해 파일링된 데이터를 기록 매체에 기록하는 기록 수단을 더 구비하는 데이터 처리 장치.
  6. 제 1 항에 있어서,
    상기 제 1 형성 수단은 상기 코드화 스트림이 편집될 때 상기 시간 유닛 맵의 내용을 변화시키는 데이터 처리 장치.
  7. 제 1 항에 있어서,
    상기 시간 유닛 맵에 종속되고, 상기 코드화 스트림의 엔트리 포인트(entry point)의 위치를 나타내는 엔트리 포인트 맵(entry point map)을 형성하는 제 2 형성 수단을 더 구비하는 데이터 처리 장치.
  8. 제 7 항에 있어서,
    상기 엔트리 포인트 맵은 엔트리 포인트의 상기 시간 유닛의 헤드 데이터로부터 정의된 어드레스의 간격을 포함하는 데이터 처리 장치.
  9. 제 8 항에 있어서,
    상기 엔트리 포인트는 상기 시간 유닛에 포함된 I 화상의 헤드 어드레스를 나타내고,
    상기 엔트리 포인트 맵은 I 화상의 상기 헤드 어드레스로부터 상기 I 화상의 종료 어드레스까지 정의된 간격, 또는 상기 I 화상을 포함하는 시간 유닛내에 포함되어 I 화상의 상기 헤드 어드레스로부터 I 화상의 상기 종료 어드레스에 이어지는 P 화상의 종료 어드레스까지 정의된 간격을 포함하는 데이터 처리 장치.
  10. 제 7 항에 있어서,
    상기 엔트리 포인트 맵은 상기 시간 유닛내의 상기 엔트리 포인트가 주어지는가 여부를 나타내기 위한 플래그(flag)를 포함하는 데이터 처리 장치.
  11. 제 7 항에 있어서,
    상기 코드화 스트림이 다수의 프로그램을 다중화함으로서 만들어진 코드화 스트림인 경우, 상기 제 2 형성 수단은 상기 프로그램 마다 상기 엔트리 포인트 맵을 형성하는 데이터 처리 장치.
  12. 제 7 항에 있어서,
    상기 제 2 형성 수단은 상기 코드화 스트림이 편집될 때 상기 엔트리 포인트 맵을 변화시키는 데이터 처리 장치.
  13. 입력되는 코드화 스트림에 포함된 데이터를 처리하는 데이터 처리 장치의 데이터 처리 방법에 있어서,
    소정의 시간 유닛에 대해 상기 입력되는 코드화 스트림을 세그먼팅하는 세그먼팅 단계, 및
    상기 세그먼팅 단계의 처리에 의해 세그먼팅된 상기 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 형성하는 형성 단계를 구비하는 데이터 처리 방법.
  14. 입력되는 코드화 스트림에 포함된 데이터를 처리하는데 사용되는 컴퓨터 판독가능 프로그램을 기록 매체에 기록하는 상기 기록 매체에 있어서,
    상기 컴퓨터 판독가능 프로그램은,
    소정의 시간 유닛에 대해 상기 입력되는 코드화 스트림을 세그먼팅 하는 세그먼팅 단계, 및
    상기 세그먼팅 단계의 처리에 의해 세그먼팅된 상기 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 형성하는 형성 단계를 구비하는 기록 매체.
  15. 데이터 재생 장치에 있어서,
    기록 매체에 기록되는 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 재생하는 제 1 재생 수단, 및
    상기 제 1 재생 수단에 의해 재생된 시간 유닛 맵을 근거로 임의의 위치로부터 기록 매체에 기록된 상기 코드화 스트림을 재생하는 제 2 재생 수단을 구비하는 데이터 재생 장치.
  16. 제 15 항에 있어서,
    상기 제 1 재생 수단은 상기 시간 유닛 맵에 종속되고 상기 코드화 스트림의 엔트리 포인트의 위치를 나타내는 엔트리 포인트 맵을 더 재생할 수 있고,
    상기 제 2 재생 수단은 상기 제 1 재생 수단에 의해 재생되는 상기 시간 유닛 맵과 상기 엔트리 포인트 맵 모두를 근거로 임의의 위치로부터 상기 기록 매체에 기록된 상기 코드화 스트림을 재생하는 데이터 재생 장치.
  17. 데이터 재생 방법에 있어서,
    기록 매체에 기록되는 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 재생하는 제 1 재생 단계, 및
    상기 제 1 재생 단계의 처리에 의해 재생된 상기 시간 유닛 맵을 근거로 임의의 위치로부터 기록 매체에 기록된 상기 코드화 스트림을 재생하는 제 2 재생 단계를 구비하는 데이터 재생 방법.
  18. 컴퓨터 판독가능 프로그램을 그에 기록하는 기록 매체에 있어서,
    상기 컴퓨터 판독가능 프로그램은,
    기록 매체에 기록되는 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵을 재생하는 제 1 재생 단계, 및
    상기 제 1 재생 단계의 처리에 의해 재생된 상기 시간 유닛 맵을 근거로 임의의 위치로부터 기록 매체에 기록된 상기 코드화 스트림을 재생하는 제 2 재생 단계를 구비하는 기록 매체.
  19. 기록 매체에 있어서,
    코드화 스트림, 및 상기 코드화 스트림의 시간 유닛 마다 데이터의 어드레스를 나타내는 시간 유닛 맵이 파일의 형태로 기록되는 기록 매체.
  20. 제 19 항에 있어서,
    상기 시간 유닛 맵은 상기 시간 유닛 각각에 대한 데이터의 어드레스로 시간 유닛 마다 헤드 패킷의 패킷수를 그에 저장하는 기록 매체.
  21. 제 19 항에 있어서,
    상기 시간 유닛 맵은 상기 시간 유닛의 헤드 데이터의 상기 어드레스, 및 상기 헤드 데이터의 어드레스에 대응하여 상기 시간 유닛내에 포함되는 데이터량에 대응하는 어드레스 사이의 간격을 그에 저장하는 기록 매체.
  22. 제 19 항에 있어서,
    상기 시간 유닛 맵에 종속되고, 상기 코드화 스트림의 엔트리 포인트의 위치를 나타내는 엔트리 포인트 맵이 더 기록되는 기록 매체.
  23. 제 22 항에 있어서,
    상기 엔트리 포인트 맵은 엔트리 포인트의 상기 시간 유닛의 헤드 데이터로부터 정의된 어드레스의 간격을 포함하는 기록 매체.
  24. 제 23 항에 있어서,
    상기 엔트리 포인트는 I 화상의 헤드 어드레스를 나타내고,
    상기 엔트리 포인트 맵은 I 화상의 상기 헤드 어드레스로부터 상기 I 화상의 종료 어드레스까지 정의된 간격, 또는 상기 I 화상을 포함하는 시간 유닛내에 포함되어 I 화상의 상기 헤드 어드레스로부터 I 화상의 상기 종료 어드레스에 이어지는 P 화상의 종료 어드레스까지 정의된 또 다른 간격을 포함하는 기록 매체.
  25. 제 22 항에 있어서,
    상기 엔트리 포인트 맵은 상기 시간 유닛내의 상기 엔트리 포인트가 주어지는가 여부를 나타내기 위한 플래그를 포함하는 기록 매체.
  26. 제 22 항에 있어서,
    상기 엔트리 포인트 맵은 프로그램 마다 형성되는 기록 매체.
KR1020000023979A 1999-05-06 2000-05-04 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체 KR100784652B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP12616499 1999-05-06
JP99-126164 1999-05-06

Publications (2)

Publication Number Publication Date
KR20000077165A true KR20000077165A (ko) 2000-12-26
KR100784652B1 KR100784652B1 (ko) 2007-12-12

Family

ID=14928274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000023979A KR100784652B1 (ko) 1999-05-06 2000-05-04 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체

Country Status (7)

Country Link
US (1) US7738779B2 (ko)
EP (1) EP1051027B1 (ko)
JP (1) JP4670952B2 (ko)
KR (1) KR100784652B1 (ko)
CN (1) CN1245022C (ko)
DE (1) DE60028120T2 (ko)
MY (1) MY130203A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100972559B1 (ko) * 2002-04-25 2010-07-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 스트림에 엔트리 포인트들을 규정하는 방법 및 장치

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
KR100394974B1 (ko) * 2000-05-23 2003-08-19 엘지전자 주식회사 고밀도 광 기록매체에서의 멀티경로 데이터를 수용하는 방법
SG95685A1 (en) * 2001-01-10 2003-04-23 Samsung Electronics Co Ltd Recording medium with content stream data recorded thereon, recording apparatus, and reproducing apparatus therefor
KR100406630B1 (ko) * 2001-03-13 2003-11-20 엘지전자 주식회사 데모용 데이터의 기록 및 재생방법과, 그에 따른 기록매체
KR20020072934A (ko) 2001-03-13 2002-09-19 엘지전자 주식회사 데모용 데이터가 기록된 재생전용 광디스크와, 그 재생방법
KR20020097454A (ko) * 2001-06-21 2002-12-31 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
KR100598285B1 (ko) 2001-06-21 2006-07-07 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
KR100752480B1 (ko) * 2001-06-21 2007-08-28 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
JP2003009086A (ja) * 2001-06-22 2003-01-10 Matsushita Electric Ind Co Ltd 映像記録装置及び記録方法
US7643727B2 (en) * 2001-07-24 2010-01-05 Lg Electronics Inc. Method and apparatus of recording a multi-channel stream, and a recording medium containing a multi-channel stream recorded by said method
US7075990B2 (en) * 2001-08-28 2006-07-11 Sbc Properties, L.P. Method and system to improve the transport of compressed video data in real time
KR100563685B1 (ko) * 2002-02-25 2006-03-28 엘지전자 주식회사 재기록 가능 기록매체의 재생리스트 관리방법
US7486680B1 (en) 2002-03-21 2009-02-03 Ji Zhang Packet schedule timestamp for a compressed bitstream
KR20030087193A (ko) 2002-05-07 2003-11-14 엘지전자 주식회사 멀티 채널 방송 스트림의 기록 관리방법
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
RU2316831C2 (ru) * 2002-06-21 2008-02-10 Эл Джи Электроникс Инк. Носитель записи со структурой данных для управления воспроизведением записанных на нем видеоданных
CA2465105C (en) * 2002-06-21 2012-08-28 Lg Electronics Inc. Recording medium having data structure for managing reproduction of video data recorded thereon
AU2003241205B2 (en) * 2002-06-24 2009-03-26 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple title video data recorded thereon and recording and reproducing methods and apparatuses
US7889968B2 (en) 2002-06-24 2011-02-15 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple reproduction path video data for at least a segment of a title recorded thereon and recording and reproducing methods and apparatuses
CN101350215B (zh) * 2002-06-24 2012-08-29 Lg电子株式会社 记录和再现用于视频数据的再现的数据结构的方法及装置
KR20040000290A (ko) 2002-06-24 2004-01-03 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 관리방법
AU2003243049B2 (en) * 2002-06-28 2010-03-04 Lg Electronics Inc. Recording medium having data structure for managing recording and reproduction of multiple path data recorded thereon and recording and reproducing methods and apparatus
KR100554768B1 (ko) * 2002-06-28 2006-02-22 엘지전자 주식회사 다중 재생 경로 비디오 데이터의 재생을 관리하기 위한데이터 구조를 갖는 기록 매체와 그에 따른 기록 및 재생방법 및 장치
US7154886B2 (en) * 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
US7230929B2 (en) * 2002-07-22 2007-06-12 Qlogic, Corporation Method and system for dynamically assigning domain identification in a multi-module fibre channel switch
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
EP2355360B1 (en) 2002-10-05 2020-08-05 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
US6886141B1 (en) * 2002-10-07 2005-04-26 Qlogic Corporation Method and system for reducing congestion in computer networks
CA2469176C (en) * 2002-10-14 2010-09-14 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple audio streams recorded thereon and recording and reproducing methods and apparatuses
ATE547792T1 (de) * 2002-10-15 2012-03-15 Lg Electronics Inc Aufzeichnungsmedium mit einer datenstruktur zur verwaltung der wiedergabe mehrerer darauf aufgezeichneter grafikströme und aufzeichnungs- und wiedergabeverfahren und vorrichtungen
CN1685420B (zh) * 2002-11-08 2010-07-07 Lg电子有限公司 在高密度记录介质上记录多成分数据流及其重现的方法和装置
US7720356B2 (en) 2002-11-12 2010-05-18 Lg Electronics Inc Recording medium having data structure for managing reproduction of multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
US7664372B2 (en) * 2002-11-20 2010-02-16 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple component data recorded thereon and recording and reproducing methods and apparatuses
US7783160B2 (en) * 2002-11-20 2010-08-24 Lg Electronics Inc. Recording medium having data structure for managing reproduction of interleaved multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
EP1447986A1 (en) * 2003-01-16 2004-08-18 Thomson Licensing S.A. Method of assigning an absolute time value to an entry point of a data stream sequence
EP1439700A1 (en) * 2003-01-16 2004-07-21 Deutsche Thomson-Brandt Gmbh Method of assigning an absolute time value to an entry point of a data stream sequence
US7693394B2 (en) * 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7809775B2 (en) * 2003-02-27 2010-10-05 Lg Electronics, Inc. Recording medium having data structure for managing playback control recorded thereon and recording and reproducing methods and apparatuses
CN100397882C (zh) * 2003-02-28 2008-06-25 Lg电子株式会社 具有用于管理记录其上的视频数据的随机/洗牌重现的数据结构的记录媒体以及记录和重现的方法和装置
US7224664B2 (en) * 2003-03-25 2007-05-29 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7620301B2 (en) * 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
US7471635B2 (en) * 2003-07-16 2008-12-30 Qlogic, Corporation Method and apparatus for test pattern generation
US7453802B2 (en) * 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7620059B2 (en) * 2003-07-16 2009-11-17 Qlogic, Corporation Method and apparatus for accelerating receive-modify-send frames in a fibre channel network
US7463646B2 (en) * 2003-07-16 2008-12-09 Qlogic Corporation Method and system for fibre channel arbitrated loop acceleration
US7522522B2 (en) * 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7894348B2 (en) * 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7477655B2 (en) * 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7792115B2 (en) * 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7522529B2 (en) * 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for detecting congestion and over subscription in a fibre channel network
US7580354B2 (en) * 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US7573909B2 (en) * 2003-07-21 2009-08-11 Qlogic, Corporation Method and system for programmable data dependant network routing
US7684401B2 (en) * 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7447224B2 (en) * 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7630384B2 (en) * 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7512067B2 (en) * 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7583597B2 (en) * 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7558281B2 (en) * 2003-07-21 2009-07-07 Qlogic, Corporation Method and system for configuring fibre channel ports
US7466700B2 (en) * 2003-07-21 2008-12-16 Qlogic, Corporation LUN based hard zoning in fibre channel switches
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7545794B2 (en) * 2003-08-14 2009-06-09 Intel Corporation Timestamping network controller for streaming media applications
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
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
US7564789B2 (en) * 2004-02-05 2009-07-21 Qlogic, Corporation Method and system for reducing deadlock in fibre channel fabrics using virtual lanes
US7480293B2 (en) * 2004-02-05 2009-01-20 Qlogic, Corporation Method and system for preventing deadlock in fibre channel fabrics using frame priorities
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
WO2006025527A1 (ja) * 2004-09-03 2006-03-09 Matsushita Electric Industrial Co., Ltd. 記録媒体、記録装置、プログラム、記録方法
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7411958B2 (en) * 2004-10-01 2008-08-12 Qlogic, Corporation Method and system for transferring data directly between storage devices in a storage area network
KR101042850B1 (ko) 2005-01-12 2011-06-17 삼성전자주식회사 디지털 멀티미디어 방송 수신 단말기에서 특정 프로그램의방송 채널을 검색하는 방법
US7519058B2 (en) * 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches
KR100941248B1 (ko) * 2005-04-25 2010-02-10 샤프 가부시키가이샤 기록 장치 및 방법, 재생 장치 및 방법, 기록 재생 장치, 컴퓨터 판독가능한 기록 프로그램 기록 매체, 및 컴퓨터 판독가능한 재생 프로그램 기록 매체
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
JP4746998B2 (ja) * 2006-02-15 2011-08-10 Necディスプレイソリューションズ株式会社 伝送レート調整装置および伝送レート調整方法
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007282023A (ja) * 2006-04-10 2007-10-25 Nec Electronics Corp 多重化装置及び多重化方法
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
KR101451239B1 (ko) * 2007-08-13 2014-10-15 삼성전자 주식회사 미디어 파일 포맷에서 메타데이터의 생성 방법, 접근 방법및 그 장치
AU2008298602A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US20120151302A1 (en) * 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
EP2614654B1 (en) * 2010-09-07 2018-12-19 Samsung Electronics Co., Ltd Manifest mechanism in broadcast involved system
JP5605238B2 (ja) * 2011-01-25 2014-10-15 ソニー株式会社 メモリシステムおよびその動作方法
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
CN104185088B (zh) * 2014-03-03 2017-05-31 无锡天脉聚源传媒科技有限公司 一种视频处理方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323785B1 (ko) * 1993-09-21 2002-06-20 이데이 노부유끼 데이타전송방법및장치와데이타복호화장치
US5596564A (en) * 1993-10-08 1997-01-21 Matsushita Electric Industrial Co., Ltd. Information recording medium and apparatus and method for recording and reproducing information
US5566089A (en) * 1994-10-26 1996-10-15 General Instrument Corporation Of Delaware Syntax parser for a video decompression processor
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
JP4095681B2 (ja) * 1995-02-24 2008-06-04 株式会社日立製作所 データ記録方法及び装置及びデータ記録再生装置
JP3389747B2 (ja) * 1995-08-01 2003-03-24 松下電器産業株式会社 伝送装置および伝送記録装置および再生伝送装置
US6069902A (en) * 1995-06-14 2000-05-30 Matsushita Electric Industrial Co., Ltd. Broadcast receiver, transmission control unit and recording/reproducing apparatus
US5754651A (en) * 1996-05-31 1998-05-19 Thomson Consumer Electronics, Inc. Processing and storage of digital data and program specific information
KR100474033B1 (ko) * 1996-05-31 2005-09-13 톰슨 콘슈머 일렉트로닉스, 인코포레이티드 디지털데이터와프로그램가이드정보의처리방법
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US5999698A (en) * 1996-09-30 1999-12-07 Kabushiki Kaisha Toshiba Multiangle block reproduction system
US6167083A (en) * 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
DE69833976T2 (de) * 1997-09-17 2006-09-07 Matsushita Electric Industrial Co., Ltd., Kadoma Optische Platte, Aufzeichnungsgerät, und rechnerlesbares Aufzeichnungsmedium
JP3028517B2 (ja) 1997-09-17 2000-04-04 松下電器産業株式会社 光ディスク、録画装置及び方法、再生装置及び方法並びにプログラム記憶媒体
US6356567B2 (en) * 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
JP4763892B2 (ja) 1999-03-01 2011-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 情報信号のリアルタイムストリームをディスク状記録担体上に記憶する方法
JP2000333128A (ja) 1999-03-17 2000-11-30 Sony Corp データ処理装置および方法、並びに媒体
TW526477B (en) 1999-08-03 2003-04-01 Matsushita Electric Ind Co Ltd A/V data recording device and method, and the disk recording with the same
JP4269495B2 (ja) 1999-09-28 2009-05-27 ソニー株式会社 トランスポートストリーム記録装置および方法、プログラム記録媒体、データ記録媒体、並びにデータ生成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100972559B1 (ko) * 2002-04-25 2010-07-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 스트림에 엔트리 포인트들을 규정하는 방법 및 장치

Also Published As

Publication number Publication date
EP1051027B1 (en) 2006-05-24
MY130203A (en) 2007-06-29
JP2009118495A (ja) 2009-05-28
DE60028120D1 (de) 2006-06-29
US7738779B2 (en) 2010-06-15
JP4670952B2 (ja) 2011-04-13
CN1245022C (zh) 2006-03-08
US20050036763A1 (en) 2005-02-17
CN1273489A (zh) 2000-11-15
EP1051027A1 (en) 2000-11-08
KR100784652B1 (ko) 2007-12-12
DE60028120T2 (de) 2006-12-28

Similar Documents

Publication Publication Date Title
KR100784652B1 (ko) 데이터 처리 방법/장치, 데이터 재생 방법/장치, 및 기록매체
JP4264575B2 (ja) データ処理装置および方法、データ再生装置および方法、並びに記録媒体
TW520605B (en) Transport stream recording apparatus and method, transport stream reproducing apparatus and method, and program recording medium
US8249419B2 (en) Method for generating additional information for guaranteeing seamless playback between data streams, recording medium storing the information, and recording, editing and/or playback apparatus using the same
US8326117B2 (en) Data recording device, data recording method, data processing device, data processing method, program, program recording medium, data recording medium, and data structure
US20090169183A1 (en) Data recording device, data recording method, data processing device, data processing method, program, program recording medium, data recording medium, and data structure
KR20010108339A (ko) Mpeg 순차의 시작에서 시스템 시간 클럭을 설정하는방법
JPH11317014A (ja) 記録再生装置および方法、並びに提供媒体
US8346059B2 (en) Data processing device, data processing method, program, program recording medium, data recording medium, and data structure
US8254764B2 (en) Recording apparatus, image reproducing apparatus, and special reproduction method therefor
KR19990037244A (ko) 정보 처리 장치, 정보 처리 방법, 제공 매체 및 기록 매체
US20030091331A1 (en) Method for implementing low-speed playback of a digital broadcast program
JP4763589B2 (ja) 再生装置、および、その再生方法
JP2000333128A (ja) データ処理装置および方法、並びに媒体

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121123

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131122

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee