KR20010074886A - 비트스트림 레코딩을 어드레싱하기 위한 방법 - Google Patents

비트스트림 레코딩을 어드레싱하기 위한 방법 Download PDF

Info

Publication number
KR20010074886A
KR20010074886A KR1020017002658A KR20017002658A KR20010074886A KR 20010074886 A KR20010074886 A KR 20010074886A KR 1020017002658 A KR1020017002658 A KR 1020017002658A KR 20017002658 A KR20017002658 A KR 20017002658A KR 20010074886 A KR20010074886 A KR 20010074886A
Authority
KR
South Korea
Prior art keywords
iapat
packet
value
sobu
piece
Prior art date
Application number
KR1020017002658A
Other languages
English (en)
Other versions
KR100569811B1 (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
Priority claimed from EP98250387A external-priority patent/EP0991072A1/en
Priority claimed from EP99250179A external-priority patent/EP0986062A1/en
Application filed by 루엘랑 브리지뜨, 도이체 톰손-브란트 게엠베하 filed Critical 루엘랑 브리지뜨
Publication of KR20010074886A publication Critical patent/KR20010074886A/ko
Application granted granted Critical
Publication of KR100569811B1 publication Critical patent/KR100569811B1/ko

Links

Classifications

    • 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
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers 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/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]
    • 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/34Indicating arrangements 
    • 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/4343Extraction or processing of packetized elementary streams [PES]
    • 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
    • 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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Digital Magnetic Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Facsimile Heads (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

비트스트림 레코딩에서, 표현 데이터는 비디오 객체 유닛(Video Object Unit)들로 구성된다. 이러한 비디오 객체 유닛들은 가변적인 크기를 갖지만 가변적인 지속기간(duration)도 또한 갖는다. 비트스트림 내의 임의의 비디오 객체 유닛으로의 엑세스를 허용하기 위해서, 피스마다 일정한 크기의 비트스트림을 갖는 피스(SOBU#n)에 기초하는 매핑 리스트(mapping list)가 사용된다. 매핑 리스트는, 이러한 피스 각각에 대해서, 피스의 첫 번째 패킷의 도착 시간과 그 피스의 마지막 패킷 바로 다음에 오는 패킷의 도착 시간 사이의 차이를 나타내는 특정 델타 지속기간(IAPAT#n)을 추가적으로 포함하고, 응용 시간 스탬프(ATS)의 사전 결정된 양의 MSB와 상기 델타 시간 지속기간(IAPAT#n)의 합의 동일한 양의 LSB 사이에 동일한 비트의 공유(share)를 갖도록 허용하는 초기 값(IAPAT#0)을 포함한다.

Description

비트스트림 레코딩을 어드레싱하기 위한 방법{METHOD FOR ADDRESSING A BITSTREAM RECORDING}
비트스트림 레코딩에 있어서, 비트스트림을 더욱 규칙적인 구조의 서브-유닛들로 세분하는 것은 자유롭다. DVD(디지털 비디오 또는 범용 디스크)내의 표현 데이터(presentation data)는, 일예로 유닛들이 VOBU로 지칭되는 DVD 비디오 레코딩에 대한 DVD VR 명세에서, 비디오 객체 유닛(Video Object Unit)으로 지칭되며 VOBU로 표기되는 유닛이나 또는 스트림 객체 유닛(Stream Object Unit)으로 지칭되며 SOBU로 표기되는 유닛으로 구성된다. VOBU는 가변적인 크기(다수의 섹터에서 측정된 데이터의 양)를 갖지만, (다수의 비디오 필드에서 측정된)가변적인 지속기간(duration)을 또한 갖는다. SOBU는 일정한 크기를 갖지만, 가변적인 지속기간을 또한 갖는다. 디스크로부터의 데이터 검색을 위해서, DVD VR 명세는 'VOBU 맵(VOBU map)'을 예견하는데(foresee), VOBU 맵은 레코딩에 있어서의 모든 VOBU에 대하여 섹터에 있어서의 길이와 필드에 있어서의 지속기간이 기입되는 테이블이다.
저장 매체로부터의 데이터 검색을 위한 테이블은 일정한 지속기간을 갖는 피스들(pieces)로 세분화되는 비트스트림 데이터에 기초할 수 있다. '지속기간(duration)'은 한 피스의 첫 번째 패킷의 도착 시간과 그 피스의 마지막 패킷 바로 다음에 오는 첫 번째 패킷의 도착 시간 사이의 차이를 의미한다. DVD VR 레코딩이나 또는 스트림 레코딩의 일반적인 컨텍스트(context)에서 '하우스키핑(Housekeeping)'은 정해진 시간 값(DVD VR 레코딩 경우의 표현 시간이나 스트림 레코딩 경우의 패킷 도착 시간)을 원하는 데이터가 발견될 수 있는 디스크 어드레스 값으로 변환하기 위한 작업이다. 그러한 시스템에서, VOBU 맵이나 SOBU 맵 또는 MAPL(mapping list)로 표기되는 '매핑 리스트'는 이러한 일정-지속기간을 갖는 피스들 각각에 대해, 특정 크기나 특정 오프셋이나 특정 델타 크기(delta size)나 또는, 일반적으로, 특정 어드레스 같은 양(quantity)을 포함할 수 있다. 총 지속기간 대신에 델타 값을 현재의 VOBU나 SOBU에 저장함으로써, 이러한 엔트리(entry)는 전체 MAPL을 적당한 크기로 유지하는데 도움을 주는 더 짧은 워드 길이로 설명될 수 있다. 이러한 시스템을 위한 가능한 유형의 하우스키핑 방법은:
- 분할 및 잘라버림(truncation)을 통해, 정해진 시간 값으로부터 탐색(look-up)될 매핑 리스트 엔트리의 인덱스를 계산하는 단계와,
- 매핑 리스트 엔트리의 내용이 엑세스할 어드레스 값을 직접 명시하거나, 또는 엑세스될 상기 어드레스 값을 획득하기 위해서 그 인덱스까지의 모든 매핑 리스트 엔트리가 누산되어야 하는 단계를 포함할 수 있다.
일정한 지속기간을 갖는 피스에 기초하는 그러한 유형의 MAPL의 큰 단점은 다음과 같다:
- 낮은 비트율 레코딩의 경우에, 일정한 지속기간을 갖는 피스들은 크기에 있어서 작게될 것이다, 즉 모든 피스들은 소수의 데이터 섹터만을 포함하거나, 극단적으로, 하나의 데이터 섹터의 일부만을 포함할 것이다. 디스크가 상당한 수의 그러한 피스들을 포함할 수 있음으로써, MAPL은 너무 커져서 메모리에 보유될 수 없을 수도 있다.
- 높은 비트율 레코딩의 경우에, 일정한 지속기간을 갖는 피스들은 크기에 있어서 크다, 즉 각각의 피스들은 많은 데이터 섹터를 포함할 것이다. 그래서, 여러 가지 피스에 대한 어드레싱은 (섹터)스케일 상(on the scale) 매우 거친(coarse) 어드레싱에 대응한다, 즉 MAPL로부터 유도되는 피스 어드레스는 현재 원하는 위치로부터 멀리 떨어져 있는 많은 섹터들에 위치될 수 있다.
그러므로, 일정한 지속기간을 갖는 피스들에 기초한 하우스키핑은 일부 경우에 너무 큰 MAPL(디스크 용량의 절반까지)을 초래할 수 있고, 다른 경우에는 너무 거친 어드레싱을 초래할 수 있다.
본 발명은 일예로 광 디스크와 같은 저장 매체에 레코딩될 비트스트림이나 또는 거기에 레코딩되어 있는 비트스트림을 어드레싱하기 위한 방법 및 장치에 관한 것이다.
도 1은 DVD 스트림 레코딩을 위한 전체적인 시스템을 간단하게 나타내는 도면.
도 2는 기본 디렉토리와 파일 구조를 나타내는 도면.
도 3은 네비게이션 데이터 구조를 나타내는 도면.
도 4는 스트림 팩(stream pack)을 나타내는 도면.
도 5는 본 발명의 매핑 리스트(mapping list)를 나타내는 도면.
도 6은 상기 매핑 리스트의 구조를 나타내는 도면.
도 7은 매핑 리스트의 예를 나타내는 도면.
도 8은 몇몇 시간 값의 비교를 나타내는 도면.
도 9는 IAPAT 구조를 나타내는 도면.
도 10은 APAT와 PAT 구조를 나타내는 도면.
도 11은 ATS 구조를 나타내는 도면.
본 발명의 목적은 그러한 단점을 회피하는 방법으로서 저장 매체 어드레스 값에 정해진 시간 값을 할당하기 위한 방법을 개시하는데 있다. 이 목적은 청구범위 1항에 개시된 방법에 의해 달성된다.
본 발명에 따라, 매핑 리스트(MAPL : mapping list)는 일정한 길이나 크기를갖는 피스, 즉 피스마다 일정한 수의 비트를 갖는 피스에 기초한다. 데이터가 각각 32 kByte 길이의 'ECC(에러 정정 코드 : Error Correction Code) 블록'으로 물리적으로 구성되는 DVD-RAM과 같은 매체에서, 위의 일정한 크기나 그 크기의 배수가 피스의 일정한 크기로써 사용된다면 특별한 장점이 생긴다. 그러나, 임의의 다른 일정한 크기가 사용될 수 있다. 피스가 일정한 크기를 갖는 이러한 경우에, MAPL은 일정한 크기를 갖는 이러한 피스들 각각에 대해 특정의 절대 지속기간이나, 바람직하게는, 특정 델타 지속기간을 포함하는데, 상기 델타 지속기간은 어느 한 피스의 첫 번째 패킷의 도착 시간과 그 피스의 마지막 패킷 바로 다음에 오는 패킷의 도착 시간의 차이를 나타낸다. 하우스키핑 방법, 즉 목표 VOBU나 SOBU 어드레스의 계산은,
- 정해진 시간 값이 목표 VOBU나 SOBU를 향해 가장 근접하게 이를 때까지, 즉 델타 지속기간의 합이 정해진 시간 값보다 작거나 또는 동일하고, 다음 델타 지속기간을 더한 이후의 결과가 VOBU나 SOBU의 순방향 스캐닝이 수행된다면 정해진 시간 값보다 클 때까지, 또는 델타 지속기간의 합이 VOBU나 SOBU 엔트리의 역방향 스캐닝이 수행된다면 가정하는 정해진 시간 값보다 클 때까지, MAPL에 포함된 델타 지속기간을 누산하는 단계와;
- 일정한 피스 크기가 곱해진 상기 매핑 리스트 엔트리의 실행 인덱스(running index)로부터 엑세스될 어드레스 값을 직접 산출하는 단계를 포함한다.
본 발명의 일정 크기에 기초한 MAPL의 장점은,
- MAPL 크기가 레코딩의 비트율에 의존하지 않는다는 것과,
- MAPL 어드레싱 정확도는 일정하고, 입도(granularity)는 기본적으로 '피스 크기 상수'에 대응하는데, 상기 피스 크기 상수는 모든 유형의 디스크에 대해 일정하게 되거나, 디스크마다 일정하게 되거나, 또는 특정 디스크 상의 레코딩마다 일정하게 되도록 적절하게 선택될 수 있다는 것이다. 유리하게, 어드레스 테이블은 델타 시간 지속기간의 누산을 초기화하기 위해서 추가적인 초기 값을 포함한다.
대체로, 본 발명의 방법은 일예로 DVD 레코더와 같은 저장 매체 상에 레코딩될 비트스트림이나 거기에 레코딩되어진 비트스트림을 어드레싱하는데 적합하고, 여기서 상기 비트스트림의 피스에 기초하는 어드레스 테이블이 사용되며,
- 상기 피스들 각각이 상기 비트스트림의 일정한 양의 비트를 포함하며;
- 상기 피스들에 대한 각각의 어드레스 테이블 엔트리, 특히 가장 높은 인덱스를 갖는 것을 제외한 어드레스 테이블 엔트리에 실행 인덱스를 사용하여, 델타 시간 지속기간이 상기 어드레스 테이블에 할당되며;
- 어드레스 테이블이 응용 시간 스탬프의 사전 결정된 양의 MSB와 상기 델타 시간 지속기간의 동일한 양의 LSB 사이에 동일한 비트의 공유(share)를 갖도록 허용하는 초기 값을 또한 포함하며;
- 목표 어드레스에 이르기 위한 어드레스 값을 획득하기 위해서, 상기 초기 값과 상기 어드레스 값에 대응하는 가장 근접한 시간 지속기간까지의 모든 델타 시간 지속기간은 누산되고, 상기 어드레스 값을 계산하기 위해서 상기 가장 근접한 시간 지속기간에 관련된 델타 시간 지속기간 엔트리에 대응하는 실행 인덱스에는상기 일정한 양이 곱해진다.
본 발명의 방법에 대한 유리한 추가적인 실시예가 각각의 종속항에서 개시된다.
본 발명의 실시예가 첨부 도면을 참조하여 설명된다.
DVD VR 스트림 레코딩 시스템은 현행의 디지털 비트스트림을 레코딩하고, 그것들을 편집하며 그것들을 비트스트림으로써 재생(play back)하기 위해 재기록가능한 DVD 디스크를 사용하도록 설계되었다. 다음의 약어들이 사용된다:
AP : 응용 패킷, APAT : 응용 패킷 도착 시간, ATS : 응용 시간스탬프(Application Timestamp), IAPAT : 증가적인 APAT{12 비트 분해도(resolution)를 갖는 델타 값}, LB : 논리 블록, LSBs : 최하위 비트들, MAPL : 매핑 리스트, MSBs : 최상위 비트들, MTU_SHFT : 매핑 시간 유닛 이동(부호화 되지 않은 정수 값, 일예로 18), PAT : 패킷 도착 시간, RBN : 상대적인 바이트 수, RBP : 상대적인 바이트 위치, RLBN : 상대적인 논리 블록 수, SCR : 시스템 클럭 기준, SOB : 스트림 객체, SOBU : 스트림 객체 유닛, SOB_E_APAT : SOB의 마지막 AP의 APAT, SOB_S_APAT : SOB의 첫 번째 AP의 APAT, SOBU_S_APAT : SOBU의 첫 번째 AP의 APAT, STB : 세톱 박스, SUM_IAPAT : IAPAT 값의 합, TOC : 내용 테이블.
이 시스템은 다음의 필요조건을 만족시키도록 설계되었다:
재생 동안에 적절한 패킷 전달을 가능하게 하기 위해서 모든 방송 패킷(broadcast packet)에 시간조정 메커니즘, 즉 시간 스탬프가 추가된다. 응용의 분야를 확대하기 위해서, 비-실시간 레코딩이 가능하여야 한다. 그러나, 이 경우에, STB는 시간 스탬프 정보를 생성하여야 한다. 데이터 할당 전략과 파일은 실시간 스트림 레코딩을 지원한다. 많은 디지털 서비스는 일반적으로 실시간 스트림에 삽입되는 서비스 정보를 필요로 한다. DVD 플레이어로부터의 데이터를 통해 제공된 STB를 지원하기 위해서, DVD는 추가적인 공간을 제공하여야 하는데, 상기 공간은 서비스 정보의 일부를 복사하고 추가적인 TOC 정보를 추가하기 위해서 STB에 의해사용될 수 있다. 복사 방지가 지원되어야 한다. 또한, 서비스 제공자나 STB에 의해 수행되는 임의의 스크램블링(scrambling)은 계속해서 불변적이어야 한다. 사용자 필요조건은 레코딩을 위한 필요조건, 재생을 위한 필요조건, 및 편집을 위한 필요조건으로 그룹화될 수 있다:
실시간 레코딩
상기 시스템은 디지털 스트림의 실시간 레코딩을 가능하게 하도록 설계되어야 한다. 상기 시스템은 또한, 비록 그러한 레코딩이 각기 다른 스트림 포맷으로 구성되더라도, 사용자로 하여금 레코딩을 연결시키도록 허용하여야 한다. 만약 레코딩이 연결된다면, 끊어짐이 없거나(seamless) 또는 거의 연속적인 재생 가능성이 양호할 것이지만, 이것은 불필요하다.
네비게이션 지원
네비게이션을 지원하기 위해서, 다음과 같은 두 개의 정보 피스(pieces){리스트(lists)}가 레코딩 동안에 생성되어야 한다:
1) 플레이 리스트의 '최초(original)' 버전. 이 리스트는 매우 낮은 레벨의 정보, 즉 레코딩의 (방송)패킷 순서나 시간 맵을 포함한다. 이 리스트는 STB에 의해 엑세스가능하고, 그 내용은 STB뿐만 아니라 DVD 스트리머(DVD streamer)에 의해 판독된다. 그것의 최초 버전에서, 플레이리스트(playlist)는 완전한 레코딩의 재생을 가능하게 한다. 플레이리스트는 더욱 정교한 재생 시퀀스를 허용하기 위해서 STB에 의해 레코딩 이후에 엑세스되고 확장될 수 있다.
2) 두 번째 정보 피스, 매핑 리스트가 패킷 스트림 청크(chunk)(셀)를 검색하도록 스트림 레코더를 지원하기 위해서 생성되는데, 패킷 스트림 청크는 일예로 '방송 패킷'이나 '시간'과 같은 응용 분야의 용어들을 통해 설명된다. 이 리스트는 DVD 스트리머에 의해서만 소유되고 판독된다.
내용 설명
시스템은 높은 레벨의 TOC와 서비스 정보를 저장하기 위해서 STB에 의해서 사용될 수 있는 공간을 예비하여야 한다. 이 정보는 사용자가 디스크에 저장된 내용을 통해 네비게이팅하도록 하기 위해 제공되고, 정교한 GUI 정보를 포함할 수 있다. 내용은 스트림 레코더에 의해 판독될 필요가 없다. 그러나, 일예로 문자열에 기초한 TOC 정보의 공동 서브세트는, 스트림 레코더가 스스로 기본 메뉴를 제공할 수 있도록 하기 위해서, STB와 DVD 사이에 공유되는 것이 유용할 수 있다.
각 레코딩의 재생과 모든 레코딩을 연속적으로 플레이시키는 것은 플레이 리스트를 통해 가능하여야 한다.
엔트리 포인트 선택을 위한 플레이어 메뉴
STB는 디스크에 저장된 TOC 정보에 기초하는 정교한 메뉴를 생성할 수 있다. 그러나, 일예로 STB와 DVD에 의해 공유되는 일부 '문자' 정보를 통해, 스트리머 자체에 의해서 간단한 메뉴를 생성하는 것이 가능하여야 한다.
트릭(trick) 플레이 모드
STB는 '플레이 리스트'를 통해 트릭 플레이를 조종할 수 있어야 한다. 방송 스트림의 상태로 인해, 트릭 플레이 특징은 일예로 시간 검색 및 타이틀 점프(Title Jump)와 같은 기본적인 특징으로 제한될 수 있다. 프로그래밍이나 부모제어(parental control)와 같은 사용자 정의된 재생 시퀀스 특징이 플레이 리스트를 통해 지원될 수 있다.
DVD 스트리머는 플레이 리스트의 '최초 버전'을 생성하여야 한다. 그것은 또한 더욱 정교한 재생 특징을 위해 STB에 의한 플레이 리스트의 확장과 변경을 허용하여야 한다. DVD 스트리머는 그러한 정교한 플레이리스트(들)의 내용에 대한 책임이 없다.
시스템은 사용자의 요청에 따라 단일 레코딩의 삭제를 지원하여야 한다. 가능하다면, 시스템은 STB의 제어 아래에서 이러한 특징을 허용하여야 한다. 시스템은 삽입 편집(insert editing)을 지원할 수도 있다.
도 1의 간단하게 도시된 전체적인 시스템에서, 응용 장치(AD)는 일예로 IEEE1394 인터페이스와 같은 인터페이스(IF)를 통해 스트리머 장치(STRD), 즉 DVD 레코더와 상호작용한다. STRD 내의 스트리머(STR)는 출력 버퍼링 및 시간스탬핑 처리 수단(BTHO)을 통해 자신의 데이터를 IF에 송신하고, 입력 버퍼링 및 시간스탬핑 처리 수단(BTHI)을 통해 IF로부터 데이터를 수신한다. AD는 출력 버퍼링 및 시간스탬핑 처리 수단(BTHOAD)을 통해 자신의 데이터를 IF에 송신하고, 입력 버퍼링 및 시간스탬핑 처리 수단(BTHIAD)을 통해 IF로부터 데이터를 수신한다. 디렉토리 및 파일 구조에 관하여, DVD 스트림 레코딩의 스트림 데이터와 네비게이션 데이터의 구조화는 다음의 사항들을 고려하도록 특정 방식으로 이루어진다:
- 임의의 DVD 스트리머 장치(STRD)는 디스크 상에 자신의 매핑 리스트나 스트리머-특정 네비게이션 데이터를 저장하기 위해서 특정의 필요조건을 구비한다.이러한 데이터는 단지 레코딩된 데이터의 검색을 돕기 위한 것이고, 상기 데이터는 임의의 외부 응용 장치(AD)에 판독되거나 심지어 인식될(visible) 필요가 없다.
- 임의의 DVD 스트리머 장치(STRD)는 자신이 연결되는 응용 장치(AD)와 통신할 필요가 있다. 이 통신은 최대의 가능한 응용 범위가 스트리머에 연결될 수 있도록 가능한 한 범용적이어야 한다. 그러한 통신을 지원하는 네비게이션 데이터는 공동 네비게이션 데이터로 지칭되고, 응용 장치뿐만 아니라 스트리머에 의해서 판독가능하여야 한다.
- 스트리머 장치(STRD)는 임의의 원하는 종류의 자신의 전용 데이터를 저장하기 위한 수단을 연결된 응용 장치(AD)에 제공하여야 한다. 스트리머는 이 응용-특정 네비게이션 테이터의 내용, 내부 구조, 또는 의미 중 임의의 것을 판독할 필요가 없다.
도 2는 디스크 내용을 포함하는 모든 데이터가 존재하는 가능한 디렉토리와 파일 구조를 도시한다. 디스크 내용을 저장하는 파일은 루트 디렉토리 아래에 있는 STRREC 디렉토리 아래에 배치된다. STRREC 디렉토리 아래에는 다음과 같은 파일들이 생성된다:
- COMMON.IFO
스트림 내용을 설명하기 위한 기본 정보. 스트리머뿐만 아니라 응용 장치에 의해 판독될 필요가 있음.
- STREAMER.IFO
스트리머 장치에 대해 특정한 전용 스트림 객체 정보. 응용 장치에 의해판독될 필요가 없음.
- APPLICAT.IFO
응용 전용 데이터, 즉 스트리머에 연결되는 응용(들)에 대해 특정한 정보. 스트리머에 의해 판독될 필요가 없음.
- REALTIME.SOB
레코딩된 적당한 실시간 스트림 데이터. 상술된 파일을 제외하고, STRREC 디렉토리는 임의의 다른 파일이나 디렉토리를 포함하지 않을 것이라는 것을 주지하라.
네비게이션 데이터 구조에 관하여, 레코딩되는 임의의 비트스트림의 레코딩, 재생, 및 편집을 제어하기 위해서 네비게이션 데이터가 제공된다. 도 3에 도시된 바와 같이, 네비게이션 데이터는 COMMON.IFO라고 명명되는 파일에 포함된 것과 같은 스트리머 비디오 관리자 정보(STR_VMGI : Streamer Video Manager Information)와 STREAMER.IFO라고 명명되는 파일에 포함된 것과 같은 스트림 파일 정보(SFI : Stream File Information)를 포함한다. 스트리머 장치의 관점에서, 이러한 두 종류의 정보는 모든 필요한 동작을 수행하기에 충분하다. 이러한 것들 외에도, DVD 스트림 레코딩은 응용 전용 데이터(APD_MG : Application Private Data)를 위한 저장 위치의 예약 가능성을 또한 예견하고, 응용 전용 데이터는 일반적으로 네비게이션 데이터로서 또한 간주될 수 있다. STR_VMGI와 SFI는 스트리머 동작에 직접 관련되는 네비게이션 데이터이다. STR_VMGI는 두 종류의 정보 테이블, 즉 비디오 관리자 정보 관리 테이블(VMGI_MAT : Video Manager Information Management Table)과 플레이 리스트 검색 포인터 테이블(PL_SRPT : Play List Search Pointer Table)을 그러한 순서로 포함한다. SFI는 세 종류의 정보 테이블, 즉 스트림 파일 일반 정보(SF_GI : Stream File General Information), SOBI 검색 포인터 #n(SOBI_SRP#n) 및 모든 스트림 객체 정보 #n(SOBI#n)을 그러한 순서로 포함한다. 스트림 레코딩에 있어서, 네비게이션 정보 내의 각 테이블이 섹터 경계와 정렬되어야 한다는 어떠한 제약도 존재하지 않는다.
VMGI_MAT는 스트리머 정보(STRI)의 종료 어드레스, STR_VMGI의 종료 어드레스, 스트림 파일 정보 테이블(SFIT)의 시작 어드레스, 최초 프로그램 연쇄 정보(ORG_PGCI : Original Program Chain Information)의 시작 어드레스 및 사용자 정의된 프로그램 연쇄 정보 테이블(UD_PGCIT : User Defined Program Chain Information Table)의 시작 어드레스와 같은 정보 아이템들을 포함한다. PL_SRPT는 플레이리스트 검색 포인터의 번호, PL_SRPT의 종료 어드레스, 플레이리스트 정보의 프로그램 연쇄 번호, 플레이리스트 생성 시간 및 제 1 텍스트 정보와 같은 정보 아이템들을 포함한다.
스트림 객체 정보 일반 정보(SOBI_GI : Stream Object Information General Information)는 SOB 유형(SOB_TY), SOB 레코딩 시간(SOB_REC_TM), SOB 스트림 정보 번호(SOB_STI_N), 엑세스 유닛 데이터 플래그(AUD_FLAGS), SOB 시작 APAT(SOB_S_APAT), SOB 종료 APAT(SOB_E_APAT), 상기 SOB의 첫 번째 SOBU(SOB_S_SOBU), 매핑 리스트 엔트리의 번호(MAPL_ENT_Ns)와 같은 정보 아이템들을 포함한다. MAPL_ENT_Ns는 SOBI_GI 다음에 오는 매핑 리스트 엔트리의 번호를 나타낸다.
본 발명의 매핑 리스트(MAPL)의 목적은 정해진 플레이리스트 엔트리가 디스크 어드레스 쌍으로 유효하게 변환되도록 하고, 또한 그와 반대의 변환을 위해서 모든 필요한 정보를 제공하는데 있다.
세 종류의 정보, 즉 응용 전용 데이터 일반 정보, 하나 이상의 응용 전용 데이터 검색 포인터 세트, 및 하나 이상의 응용 전용 데이터 영역 세트로 구성되는 응용 전용 데이터를 포함하는 것이 또한 가능하다. 만약 임의의 응용 전용 데이터가 존재한다면, 이러한 세 종류의 정보는 APPLICAT.IFO 파일에 그러한 순서로 레코딩 및 저장된다.
스트림 데이터는 하나 이상의 스트림 객체(SOB)를 포함하는데, SOB 각각은 ISO/IEC 13818-1 시스템에서 설명된 것과 같은 프로그램 스트림으로써 저장될 수 있다. SOB는 프로그램_종료_코드에 의해 종료될 수 있다. 각 SOB의 첫 번째 팩(pack)에서 SCR 필드의 값은 "0"이 아닐 수 있다. SOB는 '스트림 팩(S_PCK)' 시퀀스로 패킷화된(packed) 스트림 데이터를 포함한다. 스트림 데이터는 하나의 기본 스트림으로써 구성될 수 있고 stream_id를 갖는 PES 패킷으로 전달된다.
도 4에 도시된 바와 같이, 스트림 팩은 6 바이트의 PES 패킷 헤더, 서브스트림 ID 바이트 및 스트림 데이터 영역이 속하는 스트림 PES 패킷과 14 바이트의 팩 헤더를 포함한다. 스트림 데이터 영역은 9 바이트의 응용 헤더에 의해서 및 선택적으로 응용 헤더 확장(Application Header Extension)에 의해서 헤드가 형성되고, 그에 따라, 나머지 부분은 응용 패킷 영역이다. 스트림 객체는 하나 이상의 스트림팩으로 구성된다.
도 5에 도시된 MAPL 테이블은 레코딩될 비트스트림이나 레코딩된 비트스트림의 n 개의 피스나 또는 n 개의 SOBU(SOBU#1 내지 SOBU#n)를 포함한다. SOBU#1 내지 SOBU#n-1에 대해서, 대응하는 증가적인 응용 패킷 도착 시간 엔트리(IAPAT#1 내지 IAPAT#n-1)가 할당된다. DAV는 비트스트림 내에서의 원하는 어드레스나 목표 어드레스를 나타낸다. SOBU#1 내지 SOBU#n 각각은 비트스트림의 일정한 수의 비트에 관련한다.
도 6에 도시된 바와 같이, 매핑 리스트는 MAPL의 초기 시간(IAPAT#0)과 "증가적인 응용 패킷 도착 시간(IAPAT)"의 "0" 이상인 경우를 포함한다.
내용 바이트의 수
(1) IAPAT 증가적인 APAT 2
2
IAPAT 값의 구조가 도 9에 도시되어 있다. IAPAT는 아래에서 정의되는 DVD 스트림 레코딩의 증가적인 PAT 표시 포맷에서 대응하는 스트림 객체 유닛의 증가적인 응용 패킷 도착 시간을 나타낸다.
레코딩 동안에 IAPAT(i)를 계산하는 방법에 대한 설명을 위해서, 다음의 표기(notation)들이 사용될 것이다:
· 약어로써, M은 매핑 리스트 엔트리의 번호(MAPL_ENT_Ns)를 나타낼 것이다.
· SOBU_S_APAT(i)(1≤i≤M)는 스트림 객체의 스트림 객체 유닛(#i)의 시작 응용 패킷 도착 시간, 즉 스트림 객체 유닛(#i)에 속하는 첫 번째 패킷의 패킷 도착 시간을 나타낼 것이다. SOBU_S_APAT(1)은 스트림 객체의 스트림 객체 유닛(#1)의 첫 번째 응용 패킷의 응용 시간 스탬프와 동일할 것이다.
· IAPAT(0)는 매핑 리스트의 초기 값을 나타낼 것이다.
· IAPAT(i)는 매핑 리스트의 i번째 엔트리를 나타낼 것이다, 즉 IAPAT(0)는 매핑 리스트의 첫 번째 엔트리이고, IAPAT(M-1)은 매핑 리스트의 마지막 엔트리이다.
· SUM_IAPAT(i)는 "0"부터 "i"까지(i<M)의 IAPAT의 합을 나타낼 것이다.
인 경우에,
SUM_IAPAT(i)=IAPAT(0)+IAPAT(1)+...+IAPAT(i)
다음으로 IAPAT(i)가
i=0,1,2,...,M-1에 대해서
IAPAT(i)=플로어(SOBU_S_APAT(i+1)/2MTU_SHFT)-SUM_IAPAT(i-1)이 되도록 선택될 것이다.
IAPAT 값의 범위는 IAPAT 값의 분해도(12비트)와 그것의 최소값에 의해서 제한된다{i>0에 대해서 IAPAT(i)=1이고, IAPAT(0)=0}:
이고
플로어 함수인 플로어(x)는 일예로 플로어(1.2)=플로어(1.8)=1, 플로어(-1.2)=플로어(-1.8)=-2와 같이 끝자리 수는 잘라버린다(round down). SOBU_S_APAT(i)는 DVD 스트림 레코딩 PAT 표시 포맷으로 표시된다. 그러나, 위의 수학식을 계산하는데 있어, 그것들은 마치 그것들이 6 바이트의 부호화되지 않은 정수 값처럼 취급되어야 한다.
도 7은, 시간 축을 따라, SOBU, SOBU_S_APAT 및 IAPAT의 순으로 된 예를 나타내고 있다. 시간 축의 좌측은 '매핑 시간 유닛들'로 분할되고, 시간 축의 우측은 SOBU들을 나타낸다. 매핑 시간 유닛은 IAPAT=1에 대응하는 지속기간이고,
로써 계산될 수 있다. MTU_SHFT=18비트에 대해서 상기 매핑 시간 유닛은 거의 5.69 ms에 대응한다.
SOB_S_APAT는 스트림 객체의 시작 응용 패킷 도착 시간, 즉 SOB에 속하는 첫 번째 패킷의 패킷 도착 시간을 나타낸다. SOB_S_APAT는 아래에서 DVD 스트림 레코딩 PAT 표시 포맷으로 표현된다: PAT는 기본 부분과 확장 부분으로 구성된다. 기본 부분은 소위 90 kHz 유닛 값을 갖고, 확장 부분은 27 MHz 유닛에서 측정된 최하위 값(less significant value)을 갖는다.
(a) 새로운 레코딩을 위한 SOB_S_APAT를 선택
새롭게 레코딩된 SOB는 일반적으로 SOBU의 첫 번째 응용 패킷으로 시작할 것이다. 이 경우에, SOB_S_APAT와 SOB의 첫 번째 응용 패킷의 응용 시간스탬프는 일반적으로 "0"으로 설정될 것이다.
(b) 편집 이후에 SOB_S_APAT의 계산
편집 이후에, 일예로 SOB의 시작, 즉 SOB_S_APAT를 삭제한 후에, SOB의 첫 번째 SOBU의 첫 번째 응용 패킷의 응용 시간스탬프와 SOB에 속하는 첫 번째 응용 패킷의 응용 시간스탬프는 서로 다를 수 있고 "0"이 아닐 수 있다.
모든 가능한 경우가 다음과 같은 SOB_S_APAT의 일반적인 정의에 의해 커버된다:
· atse를 SOB에 속하는 첫 번째 응용 패킷의 30-비트 응용 시간스탬프라고 하고,
· N을 상기 SOB의 첫 번째 SOBU에서 시작하는 첫 번째 응용 패킷의 30-비트 응용 시간스탬프와 atse사이에 발생하는 모든 응용 시간스탬프 랩어라운드(wrap around)의 수, 즉 0≤N≤1라고 하면, 그 때는
SOB_S_APAT[MTU_SHFT+11...0]=atse[MTU_SHFT+11...0], SOB_S_APAT[47...MTU_SHFT+12]=N이다.
이러한 SOB_S_APAT의 정의에 따라, SOB의 첫 번째 SOBU에서 시작하는 첫 번째 응용 패킷의 APAT는 "0"이거나 또는 그 보다 크고, 2MTU_SHFT+12보다 작다.
도 10은 DVD 스트림 레코딩 PAT 표시 포맷을 나타낸다. 이 도면에서 변수들은 다음과 같이 정의된다:
PAT_기본 : 90 kHz 유닛에 의해 측정된 PAT의 기본 값,
PAT_확장 : 27 MHz 유닛에 의해 측정된 PAT의 확장 값(0≤PAT_확장<300),
초 단위의 PAT=(PAT_기본/90000Hz)+(PAT_확장/27000000Hz).
독특한 시간 표현을 위해, PAT_확장은 0≤PAT_확장<300의 범위에 존재하여야 한다. 또한, PAT_기본과 PAT_확장은 1696 시간 보다 더 큰 시간의 범위를 커버한다.
SOB_E_APAT는 DVD 스트림 레코딩 PAT 표시 포맷에서 스트림 객체의 종료 응용 패킷 도착 시간, 즉 SOB에 속하는 마지막 패킷의 패킷 도착 시간을 나타낸다. SOB_E_APAT의 일반적인 정의는 다음과 같다:
· atse를 SOB에 속하는 마지막 응용 패킷의 30-비트 응용 시간스탬프라고 하고,
· N을 상기 SOB의 첫 번째 SOBU에서 시작하는 첫 번째 응용 패킷의 30-비트 응용 시간스탬프와 atse사이에 발생하는 모든 응용 시간스탬프 랩어라운드의 번호, 즉 N≥0라고 가정하면, 그 때는
SOB_E_APAT[MTU_SHFT+11...0]=atse[MTU_SHFT+11...0], SOB_E_APAT[47...MTU_SHFT+12]=N이다.
각 응용 패킷 앞의 응용 시간 스탬프(ATS)는 30-비트 값으로 구성된다. ATS는 기본 부분과 확장 부분을 포함한다. 기본 부분은 소위 90 kHz 유닛 값을 갖고,확장 부분은 27 MHz 유닛에서 측정된 최하위 값을 갖는다.
도 11은 DVD 스트림 레코딩 응용 시간 스탬프 표시 포맷을 나타낸다. 이 도면에서 변수들은 다음과 같이 정의된다:
AU_시작 : '1'로 설정되었을 때, 이는 관련된 응용 패킷이 스트림에 대한 임의 엑세스 엔트리 포인트(임의 엑세스 유닛의 시작)를 포함하는 것을 나타낸다,
AU_종료 : '1'로 설정되었을 때, 이는 관련된 응용 패킷이 임의 엑세스 유닛의 마지막 패킷임을 나타낸다,
ATS_기본 : 90 kHz 유닛에서 측정된 ATS의 기본 값,
ATS_확장 : 27 MHz 유닛에서 측정된 ATS의 확장 값,
초 단위의 ATS=(ATS_기본/90000Hz)+(ATS_확장/27000000Hz).
독특한 시간 표현을 위해서, ATS_확장은 0≤ATS_확장<300의 범위에 존재하여야 한다. 또한, ATS_기본과 ATS_확장은 23초 보다 큰 범위를 커버한다.
도 8은 48-비트의 APAT 범위에 대한 ATS, IAPAT 및 SUM_IAPAT의 값의 범위를 나타낸다. ATS는 비트(0 내지 29)를 커버한다. IAPAT는 비트(18 내지 29)를 커버한다. SUM_IAPAT는 비트(18 내지 47)를 커버한다. 본 발명의 중요한 장점은, 매핑 리스트가 시간 스탬프들을 생성하는데, 그 중에서 SUM_IAPAT의 12 LSB 비트(번호 18 내지 29)는 응용 시간스탬프(ATS)의 12 MSB(번호 18 내지 29)와 동일하다는 것이다. 이러한 특징은 실시간 레코더 하드웨어를 간단하게 하도록 허용한다.
원하는 응용 패킷이 발견될 때까지 표현 데이터를 스캐닝하기 위한 예시적인 함수
다음의 함수는 패킷 도착 시간 'x'와 관련된 각각의 응용 패킷을 검색하기 위해서 표현 데이터를 스캐닝하는 방법을 나타낸다. 그에 따라, 매핑 리스트와 그것으로의 엑세스가 예를 들어 후속 단계들에서 필요시 되는 내부 중간 값들로 더 상세하게 설명되는데, 도 5, 6 및 7을 참조하라. 매핑 리스트 엑세스의 주요한 결과는 어디에서 스캐닝이 시작하는 지를 나타내는 섹터 오프셋(SOFF : sector offset)이다. 완전한 스캐닝이 정해진 SOB 내에서 수행될 것이다.
사용된 명칭에 대한 언급:
· x48은 아래에서 '48'로 표기되는 6-바이트의 APAT 값이다.
· 다른 변수들에 첨부되는 값 '30'은 일예로 응용 시간 스탬프(ATS)와 같은 변수들이 30비트로 구성됨을 나타낸다.
· IAPAT(0), IAPAT(1),...은 매핑 리스트의 엔트리를 나타낸다.
· 변수[a...b]의 형태는 가변 변수 사이의 비트 필드로써, 비트(a 와 b)를 포함하는 비트 필드를 나타낸다.
· '[i...k]'는 이진수의 비트(i내지 k)를 나타내는데, i는 MSB이고, k는 LSB이다.
· '/*...*/'는 설명을 위한 주석을 나타낸다.
상기 예를 간단히 하기 위해서, 각각의 섹터는 적어도 하나 이상의 정수 개의 응용 패킷(들)을 포함한다는 것이 가정된다.
함수 get_application_packet_location(x48)
a) sum_iapat48 = IAPAT(0)*2MTU_SHFT; k=1
b) ss48=IAPAT(k)*2MTU_SHFT
c) 만약 (sum_iapat48 + ss48)[47...18]≥x48[47...18]라면, 그 때는 g)로 가라
d) sum_iapat48=sum_iapat48 + ss48
e) k=k + 1
f) 만약 k < MAPL_ENT_Ns라면, 그 때는 b)로 가라
g) soff = (k-1)*SOBU_SZ /* SOB의 첫 번째 SOBU에 대한 SOBU#(k)의 섹터 오프셋*/
h) 오프셋48[47...30] = sum_iapat48[47...30]
i) 오프셋48[29...0] = 0
j) 현재_ats30 = 0;
k) ap_no = 1
/* 섹터 내의 AP의 번호, 1≤ap_no≤AP_Ns */
l) 이전_ats30 = 현재_ats30
m) 현재_ats30 = {섹터(#soff)의 응용 패킷(#ap_no)의 ATS}
n) 만약 이전_ats30이 현재_ats30 보다 크다면, 그 때는 오프셋48 = 오프셋48 + 230/*ATS 랩어라운드를 처리*/
o) 만약 현재_ats30 + 오프셋48 = x48 이라면, 그 때는 s)로 가라 /*목표 발견!*/
p) 만약 섹터(#soff)가 적어도 하나 더 응용 패킷 시작을 포함한다면, 그 때는 ap_no = ap_no + 1이고 m)으로 가라
q) soff = soff+1
r) k)로 가라
s) 함수 종료
원하는 응용 패킷이 이제 섹터(#soff)의 패킷(#ap_no)으로써 검색된다. ap_no의 값이 1이라는 것은 상기 섹터에서 시작하는 첫 번째 응용 패킷을 나타낸다. soff의 값이 0이라는 것은 SOB의 첫 번째 SOBU의 첫 번째 섹터를 나타낸다.
위의 함수는 더욱 일반적인 예이다. 그것은 MTU_SHFT < 19일 경우 간단해질 수 있다. 이러한 필요조건은 MTU_SHFT가 18로써 정의되기 때문에 충족된다.
a) sum_iapat30 = IAPAT(0); k=1
b) sum_iapat30 = sum_iapat30 + IAPAT(k)
c) 만약 sum_iapat30 ≥ x48[47...18]라면, 그 때는 f)로 가라
d) k=k+1
e) 만약 k < MAPL_ENT_Ns라면, 그 때는 b)로 가라
f) soff = (k-1)*SOBU_SZ /* SOB의 첫 번째 SOBU에 대한 SOBU #(k)의 섹터 오프셋*/
g) ap_no = 1
/* 섹터 내의 AP의 번호, 1 ≤ ap_no ≤ AP_PKT_Ns */
h) 만약 {섹터(#soff)의 응용 패킷(#ap_no)의 ATS}가 x48[29...0]과 동일하 다면, 그 때는 l)로 가라 /* 목표 발견! */
i) 만약 섹터(#soff)가 적어도 하나 더 응용 패킷 시작을 포함한다면, 그 때는 ap_no = ap_no +1이고 h)로 가라
j) soff = soff + 1
k) g)로 가라
l) 함수 종료
원하는 응용 패킷은 이제 섹터(#soff)의 패킷(#ap_no)으로써 검색된다. ap_no의 값이 1이라는 것은 상기 섹터에서 시작하는 첫 번째 응용 패킷을 나타낸다. soff의 값이 0이라는 것은 상기 SOB의 첫 번째 SOBU의 첫 번째 섹터를 나타낸다. ATS의 30비트는 APAT의 30 LSB와 동일한 가중치를 갖는다. SOB의 첫 번째 SOBU의 첫 번째 섹터가 상기 SOB에 속하는 것이 요구되지 않는다. 만약 SOB의 첫 번째 부분이 삭제되었다면, 그 때는 나머지 SOB가 SOBU의 중간에서 시작할 수 있다, 즉 상기 SOBU의 첫 번째 섹터는 SOB의 일부가 아니다.
스트림 레코딩에서, 응용은 자신의 패딩(pading)을 수행함으로써, DVD-ROM 비디오나 DVD-VR의 팩 길이 조정 방법이 사용될 필요가 없다. 스트림 레코딩에서, 스트림 패킷은 항상 필요한 길이를 가질 것이라는 것을 가정하는 것이 안전하다. 데이터스트림은 일예로 데이터 패킷 내에 응용 시간 스탬프(ATS)를 또한 포함한다.
본 발명은 일예로 광 디스크와 같은 저장 매체에 레코딩될 비트스트림이나또는 거기에 레코딩되어 있는 비트스트림을 어드레싱하기 위한 방법 및 장치에 이용된다.

Claims (6)

  1. 저장 매체(STRD) 상에 레코딩될 비트스트림이나 또는 거기에 레코딩되어진 비트스트림을 어드레싱하기 위한 방법으로서, 상기 비트스트림의 피스(piece)(SOBU#n)에 기초한 어드레스 테이블(MAPL)이 사용되는, 비트스트림을 어드레싱하기 위한 방법에 있어서,
    - 상기 피스(SOBU#n) 각각은 상기 비트스트림의 일정한 양의 비트를 포함하고;
    - 상기 피스들에 대한 각 어드레스 테이블 엔트리, 특히 가장 높은 인덱스를 갖는 것을 제외한 각 어드레스 테이블 엔트리에 실행 인덱스(running index)(0, 1, 2, 3,..., n-1)를 사용하여, 델타 시간 지속기간(IAPAT#n)이 상기 어드레스 테이블에 할당되고;
    - 상기 어드레스 테이블은 응용 시간 스탬프(ATS : application time stamp)의 사전 결정된 양의 MSB와 상기 델타 시간 지속기간(IAPAT#n)의 합의 동일한 양의 LSB 사이에 동일한 비트의 공유(share)를 갖도록 허용하는 초기 값(IAPAT#0)을 또한 포함하고;
    - 목표 어드레스(DAV : target address)에 이르기 위한 어드레스 값을 획득하기 위해서, 상기 초기 값(IAPAT#0)과 상기 어드레스 값에 대응하는 가장 근접한 시간 지속기간 값까지의 모든 델타 시간 지속기간(IAPAT#1,...IAPAT#n-1)은 누산되고, 상기 어드레스 값을 계산하기 위해서 상기 가장 근접한 시간 지속기간 값에 관련된 상기 델타 시간 지속기간 엔트리(IAPAT#i)에 대응하는 실행 인덱스(i)에는 상기 일정한 양이 곱해지는 것을
    특징으로 하는, 비트스트림을 어드레싱하기 위한 방법.
  2. 제 1항에 있어서, 상기 저장 매체(STRD)는 스트리머 장치(Streamer device)이거나 DVD 레코더인, 비트스트림을 어드레싱하기 위한 방법.
  3. 제 1항 또는 제 2항에 있어서, 상기 비트스트림의 상기 피스(SOBU#n)는 어느 한 피스의 첫 번째 패킷의 도착 시간과 그 피스의 마지막 패킷 바로 다음에 오는 패킷의 도착 시간 사이의 차이인 델타 시간 지속기간 값과 데이터 패킷을 포함하는, 비트스트림을 어드레싱하기 위한 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 피스의 크기는 ECC 블록의 비트 수나 그것의 배수에 대응하는, 비트스트림을 어드레싱하기 위한 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서, 상기 초기 값은 임의의 값, 특히 상기 어드레스 테이블(MAPL)에 의해 표현되는 상기 첫 번째 피스(SOBU)의 상기 첫 번째 응용 패킷의 상기 응용 시간 스탬프(ATS)의 MSB인 12에 대응하는, 비트스트림을 어드레싱하기 위한 방법.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서, 상기 어드레스 테이블은 매핑 리스트(MAPL)인, 비트스트림을 어드레싱하기 위한 방법.
KR1020017002658A 1998-09-07 1999-08-30 비트스트림 레코딩을 어드레싱하기 위한 방법 KR100569811B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
EP98250315 1998-09-07
EP98250315.3 1998-09-07
EP98250387.2 1998-11-04
EP98250387A EP0991072A1 (en) 1998-09-07 1998-11-04 Method for addressing a bit stream recording
EP99250179A EP0986062A1 (en) 1998-09-07 1999-06-08 Method for addressing a bit stream recording
EP99250179.1 1999-06-08
EP99250214 1999-07-01
EP99250214.6 1999-07-01

Publications (2)

Publication Number Publication Date
KR20010074886A true KR20010074886A (ko) 2001-08-09
KR100569811B1 KR100569811B1 (ko) 2006-04-10

Family

ID=27443705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017002658A KR100569811B1 (ko) 1998-09-07 1999-08-30 비트스트림 레코딩을 어드레싱하기 위한 방법

Country Status (15)

Country Link
US (1) US7043139B1 (ko)
EP (1) EP1112573B1 (ko)
JP (1) JP4910103B2 (ko)
KR (1) KR100569811B1 (ko)
CN (1) CN1182533C (ko)
AT (1) ATE227465T1 (ko)
AU (1) AU758598B2 (ko)
CA (1) CA2339680C (ko)
DE (1) DE69903839T2 (ko)
ES (1) ES2187192T3 (ko)
HU (1) HU224669B1 (ko)
MY (1) MY121087A (ko)
PL (1) PL193356B1 (ko)
TW (1) TW463165B (ko)
WO (1) WO2000014744A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000052693A2 (en) 1999-03-01 2000-09-08 Koninklijke Philips Electronics N.V. A method of storing a real time stream of information signals on a disc like record carrier
EP1039468A3 (en) * 1999-03-19 2000-10-04 Deutsche Thomson-Brandt Gmbh Method for implementing trickplay modes in a data stream recorder
DE60000013T2 (de) * 1999-04-02 2002-05-02 Matsushita Electric Ind Co Ltd Optische Platte, Aufzeichnungs- und Wiedergabeanordnung
KR100601610B1 (ko) 1999-04-27 2006-07-14 삼성전자주식회사 데이터 열의 임시 삭제방법, 탐색방법, 복원방법, 영구 삭제방법과 임시 삭제에 의해 분리된 데이터 열들을 복원하기 위한부가 정보를 저장하는 기록 매체
US7646967B2 (en) * 2000-04-21 2010-01-12 Sony Corporation Information processing apparatus and method, program and recorded medium
EP1305800A2 (en) * 2000-08-03 2003-05-02 Thomson Licensing S.A. Method for recording data streams with a low bit rate
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
KR100677098B1 (ko) * 2001-01-10 2007-02-05 삼성전자주식회사 컨텐츠 스트림 데이터가 기록된 기록매체, 그 기록장치,및 재생장치
JP4794787B2 (ja) 2001-12-07 2011-10-19 パイオニア株式会社 情報記録装置及び方法、情報再生装置及び方法、情報記録用プログラム及び情報再生用プログラム並びに記録媒体
EP1320099A1 (en) * 2001-12-11 2003-06-18 Deutsche Thomson-Brandt Gmbh Method for editing a recorded stream of application packets, and corresponding stream recorder
EP1361577A1 (en) 2002-05-08 2003-11-12 Deutsche Thomson-Brandt Gmbh Appliance-guided edit-operations in advanced digital video recording systems
EP2117006B1 (en) * 2007-02-27 2015-11-04 Mitsubishi Electric Corporation Information delivering method, information recording method, information reproducing method, and information recording medium for copyright protection of dvd content
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
US8099473B2 (en) 2008-12-31 2012-01-17 Apple Inc. Variant streams for real-time or near real-time streaming
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
CN102882845B (zh) 2010-04-07 2016-07-13 苹果公司 实时或准实时流传输
JP2011259110A (ja) * 2010-06-07 2011-12-22 Panasonic Corp 動画再生方法および動画再生装置
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0141219B1 (ko) * 1993-10-29 1998-07-15 김광호 미니 디스크의 시간환산방법
EP0673034B1 (en) * 1994-03-19 2003-07-16 Sony Corporation Optical disk and method and apparatus for recording and then playing information back from that disk
JP3329979B2 (ja) * 1995-02-24 2002-09-30 株式会社日立製作所 光ディスク及び光ディスク再生装置
JP3761623B2 (ja) * 1996-03-18 2006-03-29 パイオニア株式会社 情報記録媒体、情報記録装置及び方法並びに情報再生装置及び方法
US5630005A (en) * 1996-03-22 1997-05-13 Cirrus Logic, Inc Method for seeking to a requested location within variable data rate recorded information
US5999698A (en) * 1996-09-30 1999-12-07 Kabushiki Kaisha Toshiba Multiangle block reproduction system
JP2857122B2 (ja) * 1996-11-22 1999-02-10 株式会社東芝 多種言語記録媒体
JPH10222316A (ja) * 1997-02-12 1998-08-21 Sony Corp 再生システム、再生装置、再生方法
JP3028517B2 (ja) * 1997-09-17 2000-04-04 松下電器産業株式会社 光ディスク、録画装置及び方法、再生装置及び方法並びにプログラム記憶媒体

Also Published As

Publication number Publication date
WO2000014744A1 (en) 2000-03-16
MY121087A (en) 2005-12-30
ES2187192T3 (es) 2003-05-16
ATE227465T1 (de) 2002-11-15
HUP0104005A1 (hu) 2002-03-28
HU224669B1 (hu) 2005-12-28
JP4910103B2 (ja) 2012-04-04
TW463165B (en) 2001-11-11
KR100569811B1 (ko) 2006-04-10
CA2339680C (en) 2006-12-12
CA2339680A1 (en) 2000-03-16
DE69903839T2 (de) 2003-02-27
EP1112573B1 (en) 2002-11-06
AU758598B2 (en) 2003-03-27
CN1182533C (zh) 2004-12-29
HUP0104005A3 (en) 2005-01-28
AU5742899A (en) 2000-03-27
JP2002524815A (ja) 2002-08-06
PL193356B1 (pl) 2007-02-28
DE69903839D1 (de) 2002-12-12
PL346464A1 (en) 2002-02-11
EP1112573A1 (en) 2001-07-04
US7043139B1 (en) 2006-05-09
CN1317139A (zh) 2001-10-10

Similar Documents

Publication Publication Date Title
KR100569811B1 (ko) 비트스트림 레코딩을 어드레싱하기 위한 방법
JP4500453B2 (ja) データストリームレコーダにおけるトリックプレイモードを実現するための方法
EP0986062A1 (en) Method for addressing a bit stream recording
JP5306526B2 (ja) ストリーム情報記録に用いる情報記憶媒体、情報記録方法、情報再生方法、および情報再生装置
JP5323157B2 (ja) ストリームデータを記録する情報記憶媒体、その記録方法、再生方法、記録装置および再生装置
JP3992437B2 (ja) ビットストリーム記録をアドレスする方法
RU2246141C2 (ru) Способ адресации записи потока битов
JP3615174B2 (ja) ストリーム情報記録に用いる情報媒体、情報記録方法、情報再生方法、および情報再生装置
RU2246140C2 (ru) Способ адресации записи потока битов, носитель данных и устройство для записи потока битов на носителе данных
MXPA01001561A (en) Method for addressing a bitstream recording
JP3896130B2 (ja) Mpegトランスポートストリームのストリームデータおよびその管理情報を記録する情報媒体と、mpegトランスポートストリームのストリームデータおよびその管理情報を記録する情報媒体を用いる記録方法、再生方法、記録装置、および再生装置
JP3930503B2 (ja) Mpegトランスポートストリームのストリームデータおよびその管理情報を記録する情報媒体と、mpegトランスポートストリームのストリームデータおよびその管理情報を記録する情報媒体を用いる記録方法、再生方法、記録装置、および再生装置
MXPA01001563A (en) Method for addressing a bitstream recording

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee