KR20000016091A - Processing of digital data and program guide information - Google Patents
Processing of digital data and program guide information Download PDFInfo
- Publication number
- KR20000016091A KR20000016091A KR1019980709658A KR19980709658A KR20000016091A KR 20000016091 A KR20000016091 A KR 20000016091A KR 1019980709658 A KR1019980709658 A KR 1019980709658A KR 19980709658 A KR19980709658 A KR 19980709658A KR 20000016091 A KR20000016091 A KR 20000016091A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- cpsi
- psi
- data
- packets
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 16
- 238000000034 method Methods 0.000 claims description 61
- 238000013523 data management Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 27
- 238000001514 detection method Methods 0.000 description 12
- 230000006978 adaptation Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 8
- 239000007787 solid Substances 0.000 description 8
- 238000001824 photoionisation detection Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 206010036618 Premenstrual syndrome Diseases 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013478 data encryption standard Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011057 process analytical technology Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4345—Extraction or processing of SI, e.g. extracting service information from an MPEG stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/30—Indexing; 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/3027—Indexing; 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/327—Table of contents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/21—Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
- G11B2220/213—Read-only discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2545—CDs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2579—HD-DVDs [high definition DVDs]; AODs [advanced optical discs]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/107—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/327—Table of contents
- G11B27/328—Table of contents on a tape [TTOC]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/32—Indexing; 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/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42646—Internal components of the client ; Characteristics thereof for reading from or writing on a non-volatile solid state storage medium, e.g. DVD, CD-ROM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
본 발명은 디지털 신호 처리 분야에 관한 것으로서, 더욱 상세하게는 예를 들자면 프로그램 내용(contents)을 복구하는데 사용되는 프로그램 특정 정보(Program Specific Information)의 형성, 및 저장용 디지털 비디오 데이터에 상기 프로그램 특정 정보를 삽입하는 것에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the field of digital signal processing and, more particularly, to the formation of program specific information used for recovering program contents, and to the program specific information in digital video data for storage. It is about inserting.
비디오 처리 장치(video processing application) 및 비디오 저장 장치(video storage application)에서, 전형적으로 디지털 비디오 데이터는 공지된 표준 규정의 요구조건에 순응하여 인코딩된다. 널리 사용되고 있는 한 표준 규정은 MPEG2(Moving Pictures Expert Group) 영상 인코딩 표준 규격인데, 이하에서부터는 "MPEG 표준 규정"이라고 언급하기로 한다. MPEG 표준 규격은 시스템 인코딩 부분(ISO/IEC 13818-1, 1994년 6월 10일)과 비디오 인코딩 부분(ISO/IEC 13818-2 1995년 1월 20일)으로 이루어 지는데, 이하에서부터는 "MPEG 시스템 표준 규정" "MPEG 비디오 표준 규정"이라고 각각 부르기로 한다. MPEG 표준 규정에 따라 인코딩된 비디오 데이터는, 다수의 프로그램 채널(예컨대 채널 1-125)의 데이터 내용을 일반적으로 포함하는, 패킷화된 데이터스트림의 형태를 갖는다. 디코더가 예를 들어 패킷화된 데이터스트림을 디코딩하고 디스플레이하기 위하여 선택된 프로그램 채널의 비디오 데이터 내용을 복구하게 하기 위하여, 선택된 프로그램 채널을 이루는 각각의 패킷들은 식별되어야 하고 조합되어야(assemble) 한다.In video processing applications and video storage applications, digital video data is typically encoded in compliance with the requirements of known standard regulations. One widely used standard specification is the Moving Pictures Expert Group (MPEG2) video encoding standard specification, hereinafter referred to as the "MPEG standard specification". The MPEG standard consists of the system encoding part (ISO / IEC 13818-1, June 10, 1994) and the video encoding part (ISO / IEC 13818-2 January 20, 1995). The standard regulations are referred to as "MPEG video standard regulations" respectively. Video data encoded according to the MPEG standard specification takes the form of a packetized data stream, which generally includes the data content of multiple program channels (eg channels 1-125). In order for the decoder to recover the video data contents of the selected program channel, for example to decode and display the packetized data stream, each of the packets that make up the selected program channel must be identified and assembled.
MPEG 표준 규정은 선택된 프로그램 채널들의 내용을 복구하기 위하여 각각의 데이터 패킷을 식별하고 조합시키는데 사용되는 프로그램 특정 정보(Program Specific Information : PSI)에 대하여 규정한다. PSI는 사용자가 규정할 수 있는 정보 요소와 필수 정보 요소 둘 다를 포함하고, 패킷화된 데이터스트림으로 이루는 모든 프로그램 채널들 데이터 내용을 복구하기 위하여 충분한 정보를 포함하도록 규정하고 있다. 더 나아가서, PSI는 패킷화된 데이터스트림에 병합되어 있다. 이러한 사실은 데이터스트림을 저장하는데 필요한 저장 용량을 증가시킬 뿐만 아니라 프로그램 내용의 통신을 위하여 사용되는 통신 대역폭을 감소시킨다. 이와 같이, PSI는 부가적인 인코딩 오버헤드를 의미한다.The MPEG standard specification defines Program Specific Information (PSI) used to identify and combine each data packet to recover the contents of selected program channels. The PSI includes both user-definable and mandatory information elements and requires that all program channels of the packetized data stream contain sufficient information to recover the data content. Further, the PSI is incorporated into the packetized data stream. This not only increases the storage capacity required to store the data stream, but also reduces the communication bandwidth used for communicating program content. As such, PSI means additional encoding overhead.
PSI가 부과하는 오버헤드의 정도는 PSI에 포함되는 데이터의 양(PSI의 크기)과 패킷화된 데이터스트림내에 있는 PSI 반복 횟수에 따라 의존한다. PSI는 패킷화된 데이터스트림을 이루는 모든 프로그램 채널의 데이터 내용을 복구하기 위하여 충분한 정보를 함유하고 있을 필요가 최소한 있다. 패킷화된 데이터스트림에서의 PSI 최소 반복 횟수는 바람직한 시스템 동작 딜레이 특성에 의하여 제한을 받는다. 예를 들자면, 디코더는 텔레비젼 시청자에 의하여 명령되는 프로그램 채널 변경을 실행하기 위하여 갱신된 PSI를 필요로 한다. 결과적으로, 최소 PSI 반복 횟수는 채널 명령어의 변화에 대한 응답을 하는 데 있어서의 딜레이(대기시간)를 허용하기 위하여 텔레비젼 시청자의 의지에 따라 제한을 받는다. 이러한 문제들이 본 발명에 따른 시스템에 의하여 본격적으로 착수되었다.The amount of overhead that the PSI imposes depends on the amount of data included in the PSI (size of the PSI) and the number of PSI iterations in the packetized data stream. The PSI needs to contain at least enough information to recover the data contents of all program channels that make up the packetized data stream. The minimum number of PSI iterations in a packetized data stream is limited by the desired system operation delay characteristics. For example, the decoder needs an updated PSI to perform program channel changes commanded by the television viewer. As a result, the minimum number of PSI repetitions is limited at the will of the television viewer to allow a delay (latency) in responding to changes in channel commands. These problems have been undertaken in earnest by the system according to the invention.
도 1은 본 발명에 따라, 적응되게끔 압축된 PSI를 생성하고 또한 다양한 형태의 매체에 대한 저장용 패킷화 데이터스트림에 상기 압축된 PSI를 적응되게끔 삽입하는 비디오 수신기 시스템을 도시한 도면.1 illustrates a video receiver system for generating a compressed PSI to be adapted and adaptively inserting the compressed PSI into a storage packetized datastream for various types of media in accordance with the present invention.
도 2는 PSI로부터 압축된 프로그램 특정 정보(CPSI)를 생성하고 또한 선택할 수 있는 저장 매체상에 저장을 하기 적합하게끔 패킷화된 데이터스트림에 상기 압축된 프로그램 특정 정보를 병합하는 방법에 관한 순서도.FIG. 2 is a flow chart of a method of merging compressed program specific information into a packetized data stream suitable for generating compressed program specific information (CPSI) from a PSI and for storing on a selectable storage medium.
도 3은 선택된 저장 매체상으로 선택된 프로그램을 저장하기 위하여 압축된 프로그램 특정 정보를 형성하는 방법에 관한 순서도.3 is a flowchart of a method of forming compressed program specific information for storing a selected program on a selected storage medium.
도 4는 프로그램을 디코딩하는 동안에 정확한 압축 프로그램 특정 정보가 공급되는 것을 보장할 수 있는, 압축된 프로그램 특정 정보의 포맷팅 방법에 관한 순서도.4 is a flowchart of a method of formatting compressed program specific information, which can ensure that correct compressed program specific information is supplied during decoding of a program.
도 5는 선택된 저장 장치로부터 선택된 프로그램을 복구하는 방법에 관한 순서도.5 is a flowchart of a method of recovering a selected program from a selected storage device.
발명자는 이로써 PSI에 의하여 부과되는 오버헤드를 감소하는 것이 몇 몇 응용에서 바람직하다는 것을 인식하게 되었다. 예를 들어 용량이 제한된 디지털 저장 장치에서, 저장 매체에 저장된 PSI의 크기와 PSI가 저장 매체상에서 반복되는 횟수를 감소시키는 것은 유리하다. 다른 비디오 처리 장치에 있어서, PSI의 반복이 더욱 빈번하게 하여 결과적으로 프로그램 내용의 복구 대기시간을 감소시킬 수 있게 허용하기 위하여 PSI의 크기를 감소시키는 것이 바람직하다. 부가적으로, 생성된 PSI는 선택된 저장 매체의 동작 특성 및 사용자 요구조건에 호환성을 갖어야 한다.The inventors have now recognized that reducing the overhead imposed by PSI is desirable in some applications. For example, in a capacity limited digital storage device, it is advantageous to reduce the size of the PSI stored on the storage medium and the number of times the PSI is repeated on the storage medium. In other video processing devices, it is desirable to reduce the size of the PSI in order to allow for more frequent repetition of the PSI and consequently to reduce the recovery latency of program content. In addition, the generated PSI must be compatible with the operating characteristics and user requirements of the selected storage medium.
발명가들은 더 나아가서 다른 복구 파라미터들을 요구하는 제 2 프로그램의 내용 복구를 위하여 한 프로그램의 PSI의 잘못된 사용을 최소화할 수 있는 포맷으로 저장 매체상에 PSI를 저장하는 것이 바람직하다는 것을 인식하였다. 예를 들어 저장 매체가 부분적으로 다른 데이터스트림으로부터 유도된 프로그램으로 겹침 기록되었을 때같이, 다른 패킷화 데이터스트림으로부터 유도된 프로그램을 저장하는데 저장 매체가 사용될 때에 상기와 같은 상황이 발생된다. 이상적으로, PSI 저장 포맷은 또한 프로그램 복구 대기 시간을 감소시켜서, 무작위 액세스 데이터 복구 시간을 최소화할 수 있다. 고속 무작위 액세스는 예컨대 VCR같은 상기 저장 장치의 고속 재생과 내용 건너뜀(content skipping)(트릭 플레이 : trick play)같은 동작에서 특히 중요하다.The inventors further recognized that it is desirable to store the PSI on a storage medium in a format that can minimize the misuse of the PSI of one program for restoring the contents of a second program that requires different recovery parameters. Such a situation arises when the storage medium is used to store a program derived from another packetized data stream, such as when the storage medium is overlaid with a program derived partially from another data stream. Ideally, the PSI storage format also reduces program recovery latency, thereby minimizing random access data recovery time. Fast random access is particularly important for operations such as fast playback and content skipping (trick play) of such storage devices such as VCRs.
본 발명의 기본 원리에 따라, 비디오 처리 시스템은 프로그램 내용 복구에 사용되는 프로그램 특정 정보(PSI)에 의하여 부과된, 처리 오버헤드와 저장 오버헤드를 감소시킨다. 개시된 시스템은 감소된 처리 오버헤드와 저장 오버헤드를 제공하기 위하여 압축된 PSI를 제공하고, 패킷화된 데이터스트림에 상기 압축된 PSI를 적응되게 삽입한다. 시스템은 예컨대 비디오 테이프나 디지털 비디오 디스크(DVD)나 CDROM같은 다양한 매체 형태에 대한 PSI를 적응된 방식으로 생성한다. 부가적으로, 저장 매체 포맷과 패킷화된 데이터스트림 포맷은 압축된 PSI를 사용하여 향상된 데이터 처리 효율을 제공하는 것으로 개시되어 있다. 개시된 저장 및 데이터스트림 포맷은 감소된 프로그램 복구 대기시간을 제공하여, 프로그램 경계를 통과할 때에 부정확한 PSI 파라미터들이 사용되는 것을 최소화시킨다.According to the basic principles of the present invention, the video processing system reduces processing overhead and storage overhead imposed by program specific information (PSI) used for program content recovery. The disclosed system provides a compressed PSI to provide reduced processing overhead and storage overhead, and adaptively inserts the compressed PSI into a packetized datastream. The system generates PSI in an adaptive manner for various media types such as, for example, videotape or digital video disc (DVD) or CDROM. Additionally, storage media formats and packetized datastream formats are disclosed to provide improved data processing efficiency using compressed PSI. The disclosed storage and datastream formats provide reduced program recovery latency, minimizing the use of incorrect PSI parameters when crossing program boundaries.
다수개의 프로그램을 나타내는 입력 패킷화 데이터스트림으로부터 패킷화 데이터스트림을 나타내는 한 개의 프로그램을 생성하는 방법은 다수개의 프로그램으로부터 한 개의 원하는 프로그램을 선택하는 단계를 포함한다. 선택된 프로그램을 구성하는 프로그램 내용 패킷들은 식별된다. 식별된 패킷들을 식별하고 조합하는데 사용하기 적합한 압축된 프로그램 특정 정보(CPSI)가 형성된다. 그 결과로서의 CPSI와 식별된 패킷들은 데이터스트림안에 들어가게 형성된다.A method of generating one program representing a packetized data stream from an input packetized data stream representing a plurality of programs includes selecting one desired program from the plurality of programs. Program content packets that make up the selected program are identified. Compressed program specific information (CPSI) is formed that is suitable for use in identifying and combining identified packets. The resulting CPSI and identified packets are formed to fit into the data stream.
프로그램 내용 패킷들을 식별하고 조합하기 위하여 프로그램 특정 정보(PSI)를 병합하고 있는 패킷화 데이터스트림을 나타내는 프로그램을 처리하는 방법이 또한 개시되어 있다. 상기 방법은 다수개의 프록그램을 나타내는 입력 데이터스트림으로부터 데이터스트림으로 된 프로그램을 선택하는 단계를 포함한다. 선택된 프로그램과 그 선택된 프로그램과 관련되는 PSI 패킷들을 포함하는 프로그램 내용 패킷들 둘 다 식별된다. 식별된 PSI 패킷과 식별된 프로그램 내용 패킷들은 둘 다 패킷화 데이터스트림으로부터 추출된다. PSI 패킷과 프로그램 내용 패킷들은 저장 매체상에 저장된다.A method is also disclosed for processing a program representing a packetized data stream that is merging program specific information (PSI) to identify and combine program content packets. The method includes selecting a program of data streams from an input data stream representing a plurality of programs. Both program content packets including the selected program and PSI packets associated with the selected program are identified. Both the identified PSI packet and the identified program content packets are extracted from the packetized datastream. PSI packets and program content packets are stored on a storage medium.
도 1은 예를 들어 적응된 방법으로 압축된 PSI를 생성하고 상기 압축된 PSI를 패킷화된 데이터스트림에 삽입하는, 본 발명에 따른 비디오 수신기 시스템을 도시한다. 상기 수신기 시스템은 비디오 테이프나 디지털 비디오 디스크(DVD)나 CDROM같은 다양한 매체 형태의 PSI를 적응되게끔 생성한다. 부가적으로, 비디오 수신기 시스템은 프로그램 내용 복구를 위하여 사용되는 프로그램 특정 정보가 부가하는 처리 및 저장 오버헤드를 감소시킨다.1 illustrates a video receiver system according to the present invention, for example, to generate a compressed PSI in an adaptive manner and to insert the compressed PSI into a packetized datastream. The receiver system generates PSI in various media forms such as video tapes, digital video discs (DVDs) or CDROMs. In addition, the video receiver system reduces the processing and storage overhead added by program specific information used for program content recovery.
비록 개시된 시스템이 방송 프로그램을 의미하는, MPEG 방식으로 인코딩된 트랜스포트 스트림(transport stream)을 수신하는 MPEG 호환 시스템에 관계하여 설명되고 있지만, 이것은 단지 실시예일 뿐이다. 본 발명의 기본 원리는 또한 MPEG 비호환 시스템과 같은, 즉 다른 형태의 인코딩된 데이터스트림을 포함하는, 다른 형태의 시스템에도 적용될 수 있다. 예를 들자면, 본 발명의 기본 원리는 디지털 비디오 디스크(DVD) 시스템 및 MPEG 프로그램 스트림에 적용될 수 있다. 더 나아가서, 비록 개시된 시스템이 방송 프로그램을 처리하는 것으로서 설명되고 있지만, 이것은 단지 실시예일 뿐이다. "프로그램"이라는 용어는 예컨대 전화 메시지나 컴퓨터 프로그램이나 인터넷 데이터나 또는 다른 통신 데이터같이 모든 형태의 패킷화된 데이터를 나타내는 데 사용된다.Although the disclosed system has been described in relation to an MPEG compatible system for receiving a transport stream encoded in an MPEG manner, meaning a broadcast program, this is merely an embodiment. The basic principles of the present invention may also be applied to other types of systems, such as MPEG incompatible systems, ie including other types of encoded datastreams. For example, the basic principles of the present invention can be applied to digital video disc (DVD) systems and MPEG program streams. Furthermore, although the disclosed system has been described as processing broadcast programs, this is merely an embodiment. The term "program" is used to refer to all forms of packetized data, such as, for example, telephone messages or computer programs or Internet data or other communication data.
개략적으로, 도 1에서의 비디오 수신기 시스템에서, 비디오 데이터로 변조된 캐리어는 안테나(10)에 의하여 수신되고 유니트(15)에 의하여 처리된다. 그 결과로서 발생되는 디지털 출력 신호는 복조기(20)에 의하여 복조되고, 디코더(30)에 의하여 디코딩된다. 디코더(30)의 출력은 트랜스포트 시스템(25)에 의하여 처리되는데, 이것은 원격 제어 유니트(125)로부터의 명령에 대한 응답으로 발생된다. 시스템(25)은 저장을 하기 위하여 더 나아가서는 디코딩 또는 다른 장치측으로의 통신을 위하여 압축된 데이터 출력을 제공한다. 비디오 수신기 사용자는 시청하고 싶은 프로그램과, 저장하고 싶은 프로그램과, 저장 매체의 형태 및 원격 제어 유니트(125)를 사용하여 온-스크린 메뉴 선택부의 저장 방식을 선택한다. 비디오 디코더(85)와 오디오 디코더(80)는 각각 디스플레이를 하기 위한 출력을 제공하기 위하여 시스템(25)으로부터의 압축된 데이터를 디코딩한다. 데이터 포트(75)는 시스템(25)으로부터의 압축된 데이터가 예를 들자면 컴퓨터나 HDTV 수신기같은 다른 장치 측으로의 통신을 하기 위한 인터페이스를 제공한다. 저장 장치(90)는 시스템(25)으로부터의 압축된 데이터를 저장 매체(105)에 저장한다. 플레이백 모드(playback mode)에서, 저장장치(90)는 또한 시스템(25)에 의하여 처리되게 하고, 디코딩하고, 다른 장치측으로의 통신 및 다른 저장 매체(도면의 단순성을 위하여 미도시됨)상으로의 저장되게 하기 위하여, 저장 매체(105)의 압축된 데이터를 탐색(retrieval)하는 것을 지원한다.In general, in the video receiver system in FIG. 1, a carrier modulated with video data is received by the antenna 10 and processed by the unit 15. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output of the decoder 30 is processed by the transport system 25, which is generated in response to a command from the remote control unit 125. The system 25 further provides compressed data output for storage and further for decoding or communication to the other device side. The video receiver user selects the program to be watched, the program to be stored, the type of storage medium and the storage method of the on-screen menu selection unit using the remote control unit 125. Video decoder 85 and audio decoder 80 respectively decode the compressed data from system 25 to provide an output for displaying. Data port 75 provides an interface for the compressed data from system 25 to communicate to another device side, such as a computer or HDTV receiver. Storage device 90 stores the compressed data from system 25 in storage medium 105. In the playback mode, the storage device 90 is also caused to be processed by the system 25, to decode, to communicate with other devices and onto other storage media (not shown for simplicity of drawing). To allow the compressed data of the storage medium 105 to be stored.
도 1에 대하여 상세하게 고찰하여 본다면, 안테나(10)에 의하여 수신된 비디오 데이터로 변조된 캐리어는 디지털 형태로 변환되고 입력 프로세서(15)에 의하여 처리된다. 프로세서(15)는 무선 주파수(RF) 튜너와, 중간 주파수(IF) 믹서 및 입력 비디오 신호를 더욱 처리하는데 적합하게끔 낮은 주파수 대역으로 다운-변환하는 증폭 스테이지를 포함한다. 그 결과로 발생된 디지털 출력 신호는 복조기(20)에 의하여 복조되고, 디코더(30)에 의하여 디코딩된다. 디코더(30)의 출력은 트랜스포트 시스템(25)에 의하여 더욱 처리된다.In detail with reference to FIG. 1, a carrier modulated with video data received by the antenna 10 is converted into digital form and processed by the input processor 15. The processor 15 includes a radio frequency (RF) tuner, an intermediate frequency (IF) mixer and an amplification stage down-converting to a lower frequency band suitable for further processing the input video signal. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output of the decoder 30 is further processed by the transport system 25.
서비스 검출기(33)의 멀티플렉서(mux)(37)에는 선택기(35)를 경유하여 디코더(30)의 출력이 공급되거나, 또는 NRSS(National Renewable Standards Committee) 디스크램블링 유니트(40)에 의하여 더욱 처리된 디코더(30) 출력이 선택기를 경유하여 공급된다. 선택기(35)는 삽입할 수 있으며 NRSS 방식과 호환되는 디스크램블링 카드가 존재하는 지를 검출하고, 카드가 비디오 수신기 유니트에 현재 삽입되어 있는 경우에 한해서 유니트(40)의 출력을 멀티플렉서(37) 측으로 공급한다(NRSS 제거 가능 조건부 액세스 시스템은 EIA 초안 서류인 IS-679에 규정되어 있는데, 이것은 프로젝트 PN-3639임). 그렇지 않은 경우에, 선택기(35)는 디코더(30)의 출력을 멀티플렉서(37) 측으로 공급한다. 삽입될 수 있는 카드가 있으면 유니트(40)가 예를 들자면 부가적인 프레미엄 프로그램 채널같은 것을 디스크램블링하여, 시청자에게 부가적인 프로그램 서비스를 제공할 수 있는 것이 허용된다. 바람직한 실시예에서, NRSS 유니트(40)와 스마트 카드 유니트(130)(스마트 카드 유니트에 대해서는 이하에서 설명됨)는 동일한 시스템(25) 인터페이스를 공유하여 결과적으로 NRSS 카드나 또는 스마트 카드만이 임의의 시간에 삽입될 수 있게 됨을 주목해야 한다. 그러나, 병렬 동작을 허용하기 위하여, 인터페이스는 또한 별개로 되어 있을 수 있다.The mux 37 of the service detector 33 is supplied with the output of the decoder 30 via the selector 35 or further processed by the National Renewable Standards Committee (NRSS) descrambling unit 40. Decoder 30 output is supplied via a selector. The selector 35 detects whether there is a descrambling card that can be inserted and compatible with the NRSS scheme, and supplies the output of the unit 40 to the multiplexer 37 only when the card is currently inserted in the video receiver unit. (NRSS removable conditional access systems are specified in the draft EIA document IS-679, which is Project PN-3639). Otherwise, selector 35 supplies the output of decoder 30 to multiplexer 37 side. If there is a card that can be inserted, the unit 40 is allowed to descramble, for example, an additional premium program channel, to provide additional program services to the viewer. In a preferred embodiment, the NRSS unit 40 and the smart card unit 130 (described below for the smart card unit) share the same system 25 interface so that only the NRSS card or smart card is random. Note that it can be inserted in time. However, to allow parallel operation, the interface may also be separate.
선택기(35)로부터 멀티플렉서(37) 측으로 공급된 데이터는 MPEG 시스템 표준 규정 조항 2.4에서 규정하는 바와 같은, MPEG에 순응하는 패킷화 트랜스포트 데이터스트림의 형태이며, 한 개 이상의 프로그램 채널의 데이터 내용을 포함한다. 특정 프로그램 채널을 이루는 각각의 패킷들은 패킷 식별자(PID)에 의하여 식별된다. 트랜스포트 스트림은 PID를 식별하고, 패킷화 데이터스트림을 이루는 모든 프로그램 채널의 내용을 복구하기 위하여 각각의 데이터 패킷을 조합하는데 사용되는 프로그램 특정 정보(PSI)를 포함한다. 비디오 수신기 사용자는 시청하고 싶은 프로그램과, 저장하고 싶은 프로그램 및 원격 제어 유니트(125)를 사용하여 온-스크린 메뉴 선택부가 저장을 하는데 사용되는 매체를 선택한다. 시스템 제어기(115)는 인터페이스(120)를 경유하여 제공되는 선택 정보를 사용하여, 시스템(25)이 저장 및 디스플레이용 프로그램을 선택하고 또한 선택된 저장 장치 및 매체에 적합하게 PSI를 생성하도록 만든다. 제어기(115)는 데이터 버스를 이용하여 시스템(25) 구성 요소들(45, 47, 50, 55, 65 및 95)내의 제어 레지스터 값을 셋팅하고 또한 제어 신호(C)를 이용하여 멀티플렉서(37, 110)를 이용하여 신호 경로들을 선택하여 상기 시스템(25) 구성 요소들을 구성한다.The data supplied from the selector 35 to the multiplexer 37 side is in the form of an MPEG compliant packetized transport data stream, as defined in MPEG system standard provisions clause 2.4, containing the data content of one or more program channels. do. Each packet constituting a particular program channel is identified by a packet identifier (PID). The transport stream contains program specific information (PSI) that is used to identify the PID and combine each data packet to recover the contents of all program channels that make up the packetized data stream. The video receiver user selects the program he wants to watch, the program he wants to store, and the medium on which the on-screen menu selector is used for storage. The system controller 115 uses the selection information provided via the interface 120 to cause the system 25 to select a program for storage and display and to generate a PSI for the selected storage device and media. The controller 115 sets a control register value in the system 25 components 45, 47, 50, 55, 65 and 95 using the data bus and also uses the control signal C to multiplexer 37. Signal paths are selected using 110 to configure the system 25 components.
제어 신호(C)에 대한 응답으로, 플레이백 모드에서 멀티플렉서(37)는 유니트(35)로부터의 트랜스포트 스트림을 선택하거나, 또는 저장 인터페이스(95)를 이용하여 저장 장치(90)로부터 탐색된 데이터스트림을 선택하게 된다. 전형적인 비-플레이백 동작에서, 사용자가 시청하기 위하여 선택한 프로그램을 이루는 데이터 패킷은 선택 유니트(45)에 의하여 자신들의 PID에 의하여 식별된다. 만약에 선택된 프로그램 패킷의 헤더 데이터에 있는 암호화 표시기가 패킷이 암호화 되었음을 나타낸다면, 유니트(45)는 패킷을 해독 유니트(50) 측으로 공급한다. 그렇지 않은 경우에, 유니트(45)는 암호화 되지 않은 패킷을 트랜스포트 디코더(55) 측으로 공급한다. 유사하게, 사용자가 저장을 하기 위하여 선택한 프로그램을 이루는 데이터 패킷은 선택 유니트(47)에 의하여 자신의 PID로서 식별된다. 유니트(47)는 패킷 헤더 암호화 표시기 정보에 기초하여, 암호화된 패킷들은 해독 유니트(50) 측으로 공급하고 암호화 되지 않은 패킷들은 멀티플렉서(110) 측으로 공급한다.In response to the control signal C, in the playback mode the multiplexer 37 selects the transport stream from the unit 35 or uses the storage interface 95 to retrieve data retrieved from the storage device 90. Select a stream. In a typical non-playback operation, the data packets that make up the program selected by the user for viewing are identified by their PIDs by the selection unit 45. If the encryption indicator in the header data of the selected program packet indicates that the packet is encrypted, the unit 45 supplies the packet to the decryption unit 50 side. Otherwise, the unit 45 supplies an unencrypted packet to the transport decoder 55 side. Similarly, the data packets constituting the program selected by the user for storage are identified by the selection unit 47 as their PID. The unit 47 supplies the encrypted packets to the decryption unit 50 side and the unencrypted packets to the multiplexer 110 side based on the packet header encryption indicator information.
유니트(45, 47)는 멀티플렉서(37)에 의하여 공급된 입력 패킷들의 PID를 제어기(115)에 의하여 유니트(45, 47)내에 있는 제어 레지스터 내에 미리 저장된 PID값과 매칭시키는 PID 검출 필터를 사용한다. 미리 저장된 PID는 저장되려고 하는 데이터 패킷과, 비디오 이미지를 공급하는데 사용되기 위하여 디코딩되려는 데이터 패킷을 식별하기 위하여 유니트(47, 45)에서 사용된다. 미리 저장된 PID는 유니트(45, 47)내에 있는 룩 업 테이블에 저장되어 있다. PID 룩 업 테이블은 암호화 키들을 각각 미리 저장된 PID로서 연관시키는, 유니트(45, 47)에 있는 암호 키 테이블로 맵핑된 메모리이다. PID 및 암호 키를 맵핑한 메모리 룩 업 테이블은 유니트(45, 47)로 하여금 미리 저장된 PID를 포함하는 암호화된 패킷들에 대하여 그것들이 해독되게 허용하는 관련 암호 키와의 매칭 작업을 할 수 있게 해준다. 암호화되지 않은 패킷들은 관련된 암호 키들을 갖지 않는다. 유니트(45, 47)는 식별된 패킷뿐만 아니라 그것들과 관련된 암호 키들을 해독기(50) 측으로 공급한다. 유니트(45)에 있는 PID 룩 업 테이블은 또한 미리 저장된 PID를 포함하는 패킷들을 패킷 버퍼(60)에 있는 해당 목적지 버퍼 위치와 매칭해주는 목적지 테이블에 맵핑된 메모리이다. 시청하거나 저장하기 위하여 사용자가 선택한 프로그램과 관련된 암호 키 및 목적지 버퍼는 제어기(115)에 의하여 할당된 PID와 함께 유니트(45, 47)안에 미리 저장된다. 암호 키들은 ISO 7816-3 순응 스마트 카드 시스템(130)에 의하여 입력 데이터스트림으로부터 추출된 암호 코드들로부터 생성된다. 암호 키를 생성하는 것은 삽입할 수 있는 스마트 카드 자체상에 있는 미리 저장된 부호화된 정보로부터 확정되는 사용자 권리 자격에 달려 있다(1989년도의 국제 표준화 기구 문서 ISO 7816-3는 스마트 카드 시스템의 인터페이스와 신호 구조를 규정하고 있다).The units 45 and 47 use a PID detection filter that matches the PID of the input packets supplied by the multiplexer 37 with the PID values previously stored by the controller 115 in the control registers in the units 45 and 47. . The prestored PID is used in units 47 and 45 to identify the data packet to be stored and the data packet to be decoded for use in supplying the video image. The pre-stored PID is stored in a look up table in units 45 and 47. The PID lookup table is a memory mapped to an encryption key table in units 45 and 47 that associates encryption keys as pre-stored PIDs, respectively. A memory lookup table that maps PIDs and encryption keys allows units 45 and 47 to match encrypted packets containing pre-stored PIDs with associated encryption keys that allow them to be decrypted. . Unencrypted packets do not have associated cryptographic keys. Units 45 and 47 supply the identified packets as well as the cipher keys associated with them to the decryptor 50 side. The PID lookup table in unit 45 is also a memory mapped to a destination table that matches packets containing pre-stored PIDs with corresponding destination buffer locations in packet buffer 60. The encryption key and the destination buffer associated with the program selected by the user for viewing or storing are previously stored in units 45 and 47 together with the PID assigned by the controller 115. Cryptographic keys are generated from cryptographic codes extracted from the input datastream by the ISO 7816-3 compliant smart card system 130. Generating a cryptographic key depends on the user rights entitlement ascertained from pre-stored encoded information on the insertable smart card itself (International Organization for Standardization document ISO 7816-3, 1989, describes the interface and signaling Structure).
유니트(45, 47)에 의하여 유니트(50) 측으로 공급된 패킷은 미국 상무성의 국제 기술 정보국(National Technical Information Service)에 의하여 제공된 미국 연방 정보 표준(Fededral Information Standards) 간행물 46과 74 및 81에서 규정하고 있는 데이터 암호 표준 규정(Data Encryption Standard)에 따라 암호화된다. 유니트(50)는 공지된 기술을 적용하여 유니트(45, 47)에 의하여 공급된 해당 암호 키를 사용함으로서 암호화된 패킷을 해독한다. 디스플레이하기 위한 프로그램을 이루는, 유니트(50)로부터의 해독된 패킷과 유니트(45)로부터의 암호화되지 않은 패킷은 디코더(55) 측으로 공급된다. 저장하기 위한 프로그램을 이루는, 유니트(50)로부터의 해독된 패킷과 유니트(47)로부터의 암호화되지 않은 패킷은 멀티플렉서(110) 측으로 공급된다.Packets supplied to units 50 by units 45 and 47 are defined in U.S. Federal Information Standards publications 46, 74, and 81 provided by the National Technical Information Service. Encrypted according to the existing Data Encryption Standard. The unit 50 uses known techniques to decrypt the encrypted packet by using the corresponding encryption key supplied by the units 45 and 47. Decrypted packets from unit 50 and unencrypted packets from unit 45, which make up a program for display, are supplied to decoder 55 side. Decrypted packets from unit 50 and unencrypted packets from unit 47, which constitute a program for storage, are fed to multiplexer 110 side.
유니트(60)는 제어기(115)에 의하여 액세스될 수 있는 네 개의 패킷 버퍼를 포함한다. 이들 버퍼중의 한 개는 제어기(115)가 사용하게끔 만들어진 데이터를 보관하도록 지정되고, 다른 세 개의 버퍼는 애플리케이션 장치(75, 80, 85)에 의하여 사용되도록 만들어진 패킷들을 보관하도록 지정된다. 제어기(115)와 애플리케이션 인터페이스(70) 둘 다에 의하여 유니트(60)내에 있는 네 개의 버퍼들에 저장되어 있는 패킷들에 대한 액세스는 버퍼 제어 유니트(65)에 의하여 제어된다. 유니트(45)는 디코딩을 하기 위하여 자신이 식별한 각 패킷에 대한 목적지 플래그(destination flag)를 유니트(65) 측으로 공급한다. 상기 플래그들은 식별된 패킷 각각의 유니트(60) 목적지 위치를 나타내고, 또한 내부 메모리 테이블에 제어 유니트(65)에 의하여 저장된다. 제어 유니트(65)는 선입 선출(FIFO) 원리에 기초하여 버퍼(60)상에 저장된 패킷과 관련된, 일련의 판독 포인터 및 기록 포인터를 결정한다. 목적지 플래그와 관련하여 기록 포인터는 유니트(45, 50)로부터의 식별된 패킷들이 유니트(60)에 있는 적합한 목적지 버퍼내의 그 다음 빈 위치에 연속적으로 저장되게 한다. 판독 포인터는 제어기(115)와 애플리케이션 인터페이스(70)에 의하여 적합한 유니트(60) 목적지 버퍼로부터 패킷을 연속적으로 판독하는 것을 허용한다.Unit 60 includes four packet buffers that can be accessed by controller 115. One of these buffers is designated to hold the data made for use by the controller 115, and the other three buffers are designated to hold the packets made for use by the application device 75, 80, 85. Access to packets stored in four buffers in unit 60 by both controller 115 and application interface 70 is controlled by buffer control unit 65. Unit 45 supplies a destination flag for each packet it identifies to unit 65 for decoding. The flags indicate the unit 60 destination location of each identified packet and are also stored by the control unit 65 in an internal memory table. The control unit 65 determines a series of read and write pointers associated with the packets stored on the buffer 60 based on the first in, first out (FIFO) principle. Regarding the destination flag, a write pointer causes the identified packets from units 45 and 50 to be subsequently stored in the next free location in the appropriate destination buffer in unit 60. The read pointer allows for continuous reading of packets from the appropriate unit 60 destination buffer by the controller 115 and the application interface 70.
유니트(45, 50)에 의하여 디코더(55) 측으로 공급된 암호화되지 않은 패킷과 해독된 패킷은 MPEG 시스템 표준 규정의 조항 2.4.3.2에서 규정하는 트랜스포트 헤더를 포함한다. 디코더(55)는 암호화되지 않은 패킷과 해독된 패킷이 어뎁테이션 필드(adaptation field)(MPEG 시스템 표준 규정에 따름)를 포함하는 지를 트랜스포트 헤더로부터 결정한다. 어뎁테이션 필드는, 패킷 내용을 동기화하고 디코딩하는 것을 허용해 주는, 예를 들자면 프로그램 참조 클록(Program Clock References)같은 타이밍 정보를 포함한다. 타이밍 정보 패킷 즉 어뎁테이션 필드를 포함하는 패킷을 검출하면, 디코더(55)는 패킷이 수신되었다는 것을 시스템 인터럽트를 셋팅하는 인터럽트 메커니즘을 이용하여 제어기(115)에게 통보한다. 부가적으로 디코더(55)는 유니트(65)에 있는 타이밍 패킷 목적지 플래그를 변경하고, 패킷을 유니트(60) 측으로 공급한다. 유니트(65) 목적지 플래그를 변경시킴으로써, 유니트(65)는 애플리케이션 버퍼 위치 대신에, 제어기(115)에 의하여 사용되는 데이터를 보관하도록 지정된 유니트(60) 버퍼 위치 측으로 바꿔서, 디코더(55)에 의하여 제공된 타이밍 정보 패킷을 보낸다.The unencrypted packets and the decrypted packets supplied to the decoder 55 side by the units 45 and 50 include a transport header specified in clause 2.4.3.2 of the MPEG System Standard Specification. The decoder 55 determines from the transport header whether the unencrypted packet and the decrypted packet include an adaptation field (according to the MPEG system standard specification). The adaptation field contains timing information such as, for example, Program Clock References that allow for synchronizing and decoding the packet contents. Upon detecting a timing information packet, i.e., a packet including an adaptation field, the decoder 55 notifies the controller 115 using an interrupt mechanism that sets a system interrupt that the packet has been received. In addition, the decoder 55 changes the timing packet destination flag in the unit 65 and supplies the packet to the unit 60 side. By changing the unit 65 destination flag, the unit 65 switches to the unit 60 buffer location side designated to hold the data used by the controller 115 instead of the application buffer location, provided by the decoder 55. Send a timing information packet.
디코더(55)에 의하여 셋팅된 시스템 인터럽트를 수신하면, 제어기(115)는 타이밍 정보를 판독하여 PCR 값을 판독하게 되어 그 PCR값을 내부 메모리에 저장한다. 연속적인 타이밍 정보 패킷들의 PCR 값들은 시스템(25) 마스터 클록을 조절하기 위하여(27 MHz) 제어기(115)에 의하여 사용된다. 연속적인 타이밍 패킷들의 수신 간의 시간 간격에 있어서, PCR 기준 클록을 기초로 한 시간 간격 측정값과 마스터 클록을 기초로 한 시간 간격 측정값 간의 차분치는 제어기(115)에 의하여 생성되며, 시스템(25) 마스터 클록을 조절하는 데 사용된다. 제어기(115)는 마스터 클록을 생성하는데 사용되는 전압 제어 발진기의 입력 제어 전압을 조절하기 위하여, 상기의 얻은 시간 차분 측정치를 공급함으로써 이러한 것을 달성한다. 제어기(115)는 시간 정보를 내부 메모리에 저장한 이후에 시스템 인터럽트를 리셋트한다.Upon receiving the system interrupt set by the decoder 55, the controller 115 reads the timing information to read the PCR value and stores the PCR value in the internal memory. PCR values of successive timing information packets are used by the controller 115 to adjust the system 25 master clock (27 MHz). In the time interval between receipt of successive timing packets, the difference between the time interval measurement based on the PCR reference clock and the time interval measurement based on the master clock is generated by the controller 115, and the system 25 Used to adjust the master clock. The controller 115 accomplishes this by supplying the time difference measurements obtained above to adjust the input control voltage of the voltage controlled oscillator used to generate the master clock. The controller 115 resets the system interrupt after storing the time information in the internal memory.
디코더(55)에 의하여 유니트(45, 50)로부터 수신된 패킷들은 오디오 정보와 비디오 정보와 캡션 및 다른 정보같은 프로그램 내용을 포함하며, 유니트(65)에 의하여 디코더(55)로부터 패킷 버퍼(60)에 있는 지정된 애플리케이션 장치 버퍼로 전달된다. 애플리케이션 제어 유니트(70)는 계속해서 버퍼(60)에서의 지정된 버퍼들로부터 오디오 비디오 캡션 및 다른 데이터를 탐색하여, 그 데이터를 해당 애플리케이션 장치(75, 80 및 85)측으로 공급한다. 애플리케이션 장치는 오디오 및 비디오 디코더(80, 85)와 고속 데이터 포트(75)를 포함한다. 데이터 포트(75)는 컴퓨터 프로그램같은 고속 데이터를 예를 들어 컴퓨터 측으로 공급하는데 사용될 수 있다. 다른 방식으로, 포트(75)는 예를 들어 HDTV 디코더 측으로 데이터를 출력하는데 사용될 수 있다.Packets received from the units 45 and 50 by the decoder 55 contain program content such as audio information and video information and captions and other information, and the packet buffer 60 from the decoder 55 by the unit 65. It is passed to the specified application device buffer in. The application control unit 70 then retrieves the audio video captions and other data from the designated buffers in the buffer 60 and supplies the data to the corresponding application device 75, 80 and 85. The application device includes audio and video decoders 80 and 85 and a high speed data port 75. Data port 75 may be used to supply high speed data, such as a computer program, to the computer side, for example. Alternatively, the port 75 can be used to output data to the HDTV decoder side, for example.
유니트(60)에서의 제어기(115) 버퍼를 위하여 만들어진, PSI 정보를 포함하는 패킷들은 유니트(45)에 의하여 식별된다. PSI 패킷들은 프로그램 내용을 포함하는 패킷경우에 대하여 설명한 바와 같은 방식으로 유니트(65)에 의하여 유니트(45, 50 및 55)를 이용하여 상기 버퍼 측으로 전달된다. 제어기(115)는 유니트(60)로부터 PSI를 판독하고 그것을 내부 메모리에 저장한다.Packets containing PSI information, made for the controller 115 buffer in unit 60, are identified by unit 45. PSI packets are delivered by the unit 65 to the buffer side using units 45, 50, and 55 in the same manner as described for the packet case containing program contents. The controller 115 reads the PSI from the unit 60 and stores it in the internal memory.
제어기(115)는 저장된 PSI로부터 압축된 PSI를 생성하고 또한 선택할 수 있는 저장 매체상에 저장하기 위하여 적합하게끔 패킷화 데이터스트림에 상기 CPSI를 병합시키기 위하여 도 2에서 제시하고 있는 방법을 채택한다. 도 2에서의 패킷 식별 및 전달에 관한 처리는 유니트(45, 47)와, PID와 목적지 및 암호 키 룩 업 테이블과 연관하여 제어기(115)에 의하여 결정되며, 제어 유니트(65)는 위에서 설명한 방식으로 동작한다.The controller 115 employs the method shown in FIG. 2 to merge the CPSI into a packetized datastream as appropriate to generate a compressed PSI from the stored PSI and store it on a selectable storage medium. Processing relating to packet identification and forwarding in FIG. 2 is determined by the controller 115 in association with units 45 and 47, PID and destination and cryptographic key lookup tables, and control unit 65 is described in the manner described above. It works.
CPSI는 저장되려는 특정 프로그램에 관련된 정보를 포함하는 반면에, PSI는 시스템(25) 측으로의 데이터스트림 입력에서 모든 프로그램에 관련되는 정보를 포함한다. 결과적으로, CPSI는 더 적은 저장 용량을 차지하게 되고, 그래서 PSI보다 더 적은 오버헤드를 부과한다. 부가적으로, 오버헤드가 고정되는 제한이 있다면, CPSI가 PSI보다 더욱 빈번하게 데이터스트림에서 반복될 수 있고 그래서 프로그램 내용의 복구 대기시간을 감소할 수 있도록 유도될 수 있고 또한 그렇게 하기 위하여 적용될 수 있다.The CPSI contains information related to the particular program to be stored, while the PSI contains information related to all programs in the datastream input to the system 25 side. As a result, CPSI takes up less storage capacity, and therefore imposes less overhead than PSI. In addition, if there is a constraint that the overhead is fixed, the CPSI can be repeated in the datastream more frequently than the PSI so that it can be induced to reduce the recovery latency of program content and can be applied to do so as well. .
MPEG 시스템 표준 규정 조항 2.4.4에서 규정하고 있는 PSI는 네 개의 암호화되지 않은 요소(element) 또는 정보 테이블들을 포함한다. 정보 테이블들은 프로그램 관련 테이블(PAT)과, 프로그램 맵 테이블(PMT)과, 네트워크 정보 테이블(NIT) 및 조건부 액세스 테이블(CAT)이다. 각각의 테이블은 특정 PID에 의하여 식별되는 데이터 패킷으로부터 형성된다. PMT는 프로그램을 구성하는 각각의 패킷화 데이터스트림을 식별하는 PID 라벨을 한정한다. 이러한 각각의 스트림들은 MPEG 표준 규정에서 기본 스트림(elementary stream)이라고 명칭된다. 기본 스트림은 다양한 언어에 대한 비디오나 오디오같은 데이터스트림과 캡션(caption) 데이터스트림을 포함한다. PAT는 PMT를 이루는 패킷들을 식별하고 조합하는 것을 허용하는 PID로 프로그램 번호를 연관시킨다. NIT는 옵션이며, 예를 들어 위성 전송 채널 주파수와 트랜스폰더 채널같은 물리 네트워크(physical network) 파라미터를 한정하도록 구성되고 또한 사용된다. CAT는 사용자 권리 자격에 따른 프로그램으로의 액세스를 제어하는 암호 코드같은 조건부 액세스 정보를 포함한다.The PSI as defined in MPEG System Standards Clause 2.4.4 contains four unencrypted elements or information tables. The information tables are a program related table (PAT), a program map table (PMT), a network information table (NIT) and a conditional access table (CAT). Each table is formed from data packets identified by a particular PID. The PMT defines a PID label that identifies each packetized data stream that makes up the program. Each of these streams is called an elementary stream in the MPEG standard specification. Elementary streams include data streams such as video and audio and caption data streams for various languages. The PAT associates a program number with a PID that allows identifying and combining packets that make up a PMT. NIT is optional and configured and used to define physical network parameters such as, for example, satellite transmission channel frequency and transponder channel. The CAT contains conditional access information, such as cryptographic codes, that control access to the program according to user rights entitlements.
도 2의 단계(205)에서, 제어기(115)(도 1)는 단계(200)의 시작 처리 이후에 시스템 파워-업이 되면 초기화 단계를 실행한다. 단계(205)에서, 제어기(115)는 유니트(45)(도 1) PID 검출 필터를 PAT 테이블과 CAT 테이블에 대한 MPEG 규정 PID 값들(각각 PID 16진수인 0000, PID 16진수인 0001)로 로딩한다. 추가적으로, 제어기(115)는 유니트(45) 목적지 테이블을 갱신함으로써 유니트(60)에서의 제어기 버퍼 측으로 PAT 패킷과 CAT 패킷을 미리 할당한다. 유니트(45)에 의하여 검출된 PAT 패킷과 CAT 패킷은 디코더(55)를 경유하여 유니트(65)의 제어하에 유니트(60)에 있는 제어기 버퍼 측으로 나아간다. 단계(205)에서, 제어 유니트(65)는 PSI 패킷들이 유니트(60)에 있다는 것을 PSI 인터럽트를 이용하여 제어기(115) 측으로 통보한다. 제어기(115)는 PSI 인터럽트를 수신하고 나서 자신의 지정된 유니트(60) 버퍼에 저장된 패킷을 반복적으로 액세스하여, 내부 메모리에 완전한 CAT 데이터와 PAT 데이터를 저장한다. 제어기(115)는 PAT로부터 PMT 패킷과 NIT 패킷을 식별하는 PID를 판별한 이후에, 내부 메모리에 완전한 PMT 데이터와 NIT 데이터를 저장하기 위하여 상기 처리를 반복한다. 제어기(115)는 계속적으로 버퍼(60)를 액세스하고, 수신기의 전원이 온되어 있는 동안에 PSI 인터럽트를 수신하게 되면 내부 메모리에 있는 PSI 패킷을 포착한다. 그 결과로서, 제어기(115)는 시스템(25) 측으로의 트랜스포트 데이터스트림 입력에 있는 완전한 PSI를 이루는 PAT 데이터와 PMT 데이터와 NIT 데이터 및 CAT 데이터를 자신의 내부 메모리에서 포착한다.In step 205 of FIG. 2, the controller 115 (FIG. 1) executes an initialization step if the system is powered up after the start process of step 200. In step 205, the controller 115 loads the unit 45 (FIG. 1) PID detection filter into MPEG specified PID values (0000 for PID hexadecimal and 000 for PID hexadecimal) for the PAT table and CAT table, respectively. do. In addition, the controller 115 pre-allocates the PAT packet and the CAT packet to the controller buffer side in the unit 60 by updating the unit 45 destination table. PAT packets and CAT packets detected by the unit 45 go through the decoder 55 to the controller buffer side in the unit 60 under the control of the unit 65. In step 205, the control unit 65 informs the controller 115 side using the PSI interrupt that the PSI packets are in the unit 60. The controller 115 repeatedly accesses the packet stored in its designated unit 60 buffer after receiving the PSI interrupt, and stores the complete CAT data and PAT data in the internal memory. After determining the PID identifying the PMT packet and the NIT packet from the PAT, the controller 115 repeats the above process to store complete PMT data and NIT data in the internal memory. The controller 115 continuously accesses the buffer 60 and catches PSI packets in internal memory if it receives a PSI interrupt while the receiver is powered on. As a result, the controller 115 captures, in its internal memory, the PAT data, PMT data, NIT data and CAT data that make up the complete PSI at the transport datastream input to the system 25 side.
도 2에서의 단계(210)에서, 사용자가 저장하려고 하는 프로그램뿐만 아니라, 암호 형태로 저장되는 상기 프로그램 및 저장하기 위하여 사용되는 매체 및 장치를 식별하는 사용자 발생 데이터(SP, SM, SE)는 제어기(115)(도 1)측으로 입력된다. 사용자 선택 데이터는 원격 제어 유니트(125)를 이용하여 온-스크린 메뉴 선택에 이어서 인터페이스(120)를 통하여 제어기(115) 측으로 입력된다. 단계(215)에서, 입력 선택 데이터(SP)에 대한 응답으로, 제어기(115)는 저장된 PSI로부터 저장하기 위하여 선택된 프로그램을 위한 PID를 유도한다. 유니트(47) 검출 필터들은 제어기(115)에 의하여 저장되는 프로그램의 PID로서 로딩된다. 이것은 유니트(47)가 저장하기 위하여 선택된 프로그램을 이루는 패킷들을 식별하게 해준다.In step 210 in FIG. 2, the user-generated data SP, SM, SE that identifies the program that the user intends to store, as well as the program stored in cryptographic form and the medium and device used for storage, is controlled by the controller. Input is made to 115 (FIG. 1) side. The user selection data is input to the controller 115 via the interface 120 following the on-screen menu selection using the remote control unit 125. In step 215, in response to the input selection data SP, the controller 115 derives the PID for the program selected for storage from the stored PSI. The unit 47 detection filters are loaded as the PID of the program stored by the controller 115. This allows the unit 47 to identify the packets that make up the program selected for storage.
도 2의 단계(215)에서, 유니트(47)(도 1)는 멀티플렉서(110) 측으로 암호화되지 않은 패킷들을 공급하고 암호화된 패킷들은(패킷 헤더 데이터에 있는 암호 바익 표시기에 의하여 식별가능함) 그와 관련된 암호 키들과 함께 해독 유니트(50) 측으로 공급한다. 위에서 설명한 방식으로 선택된 프로그램(SP)을 위한 CAT로부터 획득된 암호 코드로부터 스마트 카드(130)(도 1)에 의하여 암호 키들이 생성되고 나서, 그 암호 키들은 도 2의 단계(215)에서 제어기(115)에 의하여 유니트(47) 측으로 공급된다. 그러나, 만약에 선택 데이터(SE)가 암호화 저장을 요구한다면, 유니트(47)는 저장되려는 암호화 패킷들을 멀티플렉서(110) 측으로 통과시킨다. 결과적으로, 도 2의 단계(215)에서, 저장되려는 프로그램(SP)을 이루는 패킷들은 선택 데이터(SE)에 대한 응답으로 암호화된 형태로나 암호화되지 않은 형태로서 멀티플렉서(110) 측으로 공급된다. 단계(225)에서, 제어기(115)는 시스템(25) 측으로의 트랜스포트 데이터스트림 입력으로부터 포착된 전체의 프로그램 특정 정보(PSI)로부터, 저장하기 위하여 선택된 프로그램(SP)을 위한 압축 프로그램 특정 정보(CPSI)를 형성한다. 제어기(115)는 도 3에서 제시하고 있는 방법을 이용하여 도 2의 단계(225)에서 저장되는 각 프로그램을 위한 CPSI를 형성한다.In step 215 of FIG. 2, unit 47 (FIG. 1) supplies unencrypted packets to multiplexer 110 side and encrypted packets (identifiable by the cryptographic indicator in packet header data). It is supplied to the decryption unit 50 side with the associated encryption keys. After encryption keys are generated by the smart card 130 (FIG. 1) from an encryption code obtained from the CAT for the selected program SP in the manner described above, the encryption keys are generated in step 215 of FIG. 115 is supplied to the unit 47 side. However, if the selection data SE requires encrypted storage, the unit 47 passes the encrypted packets to be stored to the multiplexer 110 side. As a result, in step 215 of FIG. 2, the packets constituting the program SP to be stored are supplied to the multiplexer 110 in encrypted or unencrypted form in response to the selection data SE. In step 225, the controller 115 stores the compressed program specific information for the program SP selected for storage, from the entire program specific information PSI captured from the transport datastream input to the system 25 side. CPSI). The controller 115 forms the CPSI for each program stored in step 225 of FIG. 2 using the method shown in FIG.
단계(300)에서의 시작 단계에 이어서, 도 3의 단계(305)에서 제어기(115)는 저장되려는 프로그램을 이루는 기본 스트림의 PID 값뿐만 아니라 PMT와 NIT를 식별하는 PID 값을 번호를 다시 매긴다. 우연히 일치하는 경우를 제외하고, 다시 매겨진 PID 값들은 시스템(25)으로의 트랜스포트 데이터스트림 입력의 PSI에서 복구된 해당 PID 값과 다르다. 다시 번호가 매겨지는 PID값들은 PMT를 식별하기 위하여 고정된 (베이스 : base) PID를 할당하고, 또한 비디오와 오디오와 캡션과 PCR 및 NIT를 위한 PID 값을 결정하기 위하여 상기 베이스 PID에 사전에 결정된 오프셋 값을 더함으로써 결정된다. 저장되려는 두 개의 프로그램(프로그램 1, 프로그램 2)에 대한 실시예적인 PID 할당 계획은 표 I에 도시되어 있다.Following the start step in step 300, in step 305 of FIG. 3, the controller 115 renumbers the PID values that identify the PMT and NIT as well as the PID values of the elementary streams that make up the program to be stored. Except for a coincidence, the renumbered PID values differ from the corresponding PID values recovered from the PSI of the transport datastream input to the system 25. The renumbered PID values assign a fixed (base) PID to identify the PMT, and also predetermine the base PID to determine PID values for video, audio, captions, PCR, and NIT. Is determined by adding an offset value. An example PID allocation scheme for two programs (Program 1, Program 2) to be stored is shown in Table I.
표 I에서 도시되어 있는 바와 같이, 두 개의 프로그램에 대한 해당 기본 스트림들에는 동일한 PID가 주어지는데, 예를 들자면 프로그램 1 및 2의 비디오 스트림들은 둘 다 PID값(PID=0401)에 의하여 식별된다. 해당 기본 스트림에 동일한 PID 값을 할당하는 것은 디코더나 플레이백 장치에 의하여 실행되는 데이터 탐색 및 복구 처리를 간단하게 한다. 디코더는 PID 디-맵핑(de-mapping) 데이터를 우선 포착하고 조합할 필요없이 스트림들을 직접 식별할 수 있다. 그러나 이러한 방식으로 PID를 다시 번호 매기는 것은, 잠재적으로 PID의 다의성(ambiguity)을 초래할 수 있어서, 개별의 프로그램에 속하는 다시 번호가 매겨진 기본 스트림들이 서로 섞이지 않는 것이 요구된다. 그렇지 않으면, 동일한 PID를 사용하지만 서로 다른 프로그램에 속하는 기본 스트림들이 함께 섞이게 되면 에러가 있는 프로그램 조합의 결과를 낳는다. 결과적으로, 다시 PID에 대하여 번호를 매기는 단계(305)는 별개의 프로그램에 속하는 기본 스트림 그룹들이 따로 따로 식별되는 응용에서 사용된다. 이러한 응용들은 데이터스트림 생성과 테이프 저장을 포함하는데, 여기서 별개의 프로그램에 속하는 기본 스트림들은 함께 섞이지 않는다. 또한 이러한 응용은, 디스크 저장 정보가 별개의 프로그램들에 속하는 기본 스트림 그룹을 분리하기 위하여 사용되는 디스크 저장 장치도 포함한다.As shown in Table I, corresponding elementary streams for two programs are given the same PID, e.g. the video streams of programs 1 and 2 are both identified by a PID value (PID = 0401). Assigning the same PID value to the elementary stream simplifies the data search and recovery process performed by the decoder or playback device. The decoder can directly identify the streams without having to first capture and combine PID de-mapping data. However, renumbering the PIDs in this way can potentially lead to the ambiguity of the PIDs, requiring that the renumbered elementary streams belonging to the individual programs not be mixed with each other. Otherwise, elementary streams that use the same PID but belong to different programs are mixed together, resulting in a combination of faulty programs. As a result, numbering 305 again is used in an application where elementary stream groups belonging to separate programs are separately identified. These applications include data stream creation and tape storage, where elementary streams belonging to separate programs are not mixed together. Such an application also includes a disk storage device in which disk storage information is used to separate an elementary stream group belonging to separate programs.
다른 방식으로, PID가 잠재적으로 다의성을 갖게 될 수 있는 것을 회피하는, 다른 PID 할당 계획(scheme)이 사용될 수 있다. 예를 들자면, 베이스 PID 값은 미국 ATSC(Advanced Television Systems Committee)에 의하여 작성된 1995년 4월 12일 의 "HDTV 전송을 위한 디지털 텔레비젼 표준 규정"의 조항 8.4.7.1에서 HDTV 신호 디코딩을 위하여 제안된 것처럼, 특정 프로그램들을 따로 따로 식별하기 위하여 할당될 수 있다. 다른 방식으로, 프로그램들을 이루는 기본 스트림들의 PID값들은 다시 번호를 매기지 않고 전송되었을 때와 같은 값으로 저장될 수 있다. 이러한 계획은 실현시키기가 간단하지만, 데이터 탐색 처리를 단순화시키지는 않는다. PAT 및 CAT를 식별하는 PID 값들은 MPEG 표준 규정에서 규정하는 바와 같이 각각 16진수인 0000과 0001이다.Alternatively, other PID allocation schemes can be used, which avoids the possibility that the PID can be potentially multiplicity. For example, the base PID value is as proposed for HDTV signal decoding in clause 8.4.7.1 of the "Digital Television Standards Standards for HDTV Transmissions" of April 12, 1995, prepared by the US Advanced Television Systems Committee (ATSC). For example, it may be assigned to identify specific programs separately. Alternatively, the PID values of the elementary streams making up the programs can be stored at the same values as they were sent without being renumbered. This scheme is simple to realize, but does not simplify the data search process. PID values identifying PAT and CAT are 0000 and 0001, respectively, in hexadecimal, as specified by the MPEG standard specification.
도 3의 단계(310)에서, 제어기(115)는 0000(16진수)인 PID 값으로 프로그램 연관 테이블(PAT)을 생성한다. PAT는 현재 저장되는 각각의 프로그램만을 위하여 유리하게 생성되게 되고, 그리하여 새로운 PAT는 저장된 각 프로그램을 위하여 생성된 것이다. 따라서, PAT는 단일 프로그램 맵 테이블(PMT)의 식별을 위하여 필요한 입력값(entries)만을 포함한다. 표 I에서 제시하는 실시예적인 프로그램에서, 프로그램 1 및 2 둘 다의 CPSI는 단일의 PMT를 식별하는 PID 입력값(0400)을 갖는 PAT를 포함한다. 다른 방식으로, PAT는, 사용자가 저장하려고 선택한 모든 프로그램에 대하여, 또는 사용자가 저장하려고 선택한 모든 프로그램과 저장 매체상에 이전에 저장된 프로그램들 모두에 대한 PMT 식별을 위한 입력값을 포함하도록 형성될 수 있다. 후자 형태의 PAT를 생성하기 위하여, 제어기(115)는 PAT를 생성하기 전에 인터페이스(95)와 장치(90)를 이용하여 저장 매체(105)로부터 미리 기록된 PMT의 PID를 복구한다. 만약에 NIT가 생성되었다면, 이하에서 설명하는 바와 같이, NIT 패킷의 식별을 허용하는 PID가 또한 PAT에 포함된다.In step 310 of FIG. 3, the controller 115 generates a program association table PAT with a PID value of 0000 (hexadecimal). The PAT is advantageously created for each program currently stored, so that a new PAT is created for each program stored. Thus, the PAT contains only the entries necessary for the identification of a single program map table (PMT). In the example program shown in Table I, the CPSI of both programs 1 and 2 includes a PAT with a PID input value 0400 identifying a single PMT. Alternatively, the PAT may be configured to include an input for PMT identification for every program the user chooses to save, or for all programs that the user chooses to save and both previously stored on the storage medium. have. To generate the latter type of PAT, the controller 115 recovers the PID of the PMT previously recorded from the storage medium 105 using the interface 95 and the device 90 before generating the PAT. If the NIT has been created, a PID that allows identification of the NIT packet is also included in the PAT, as described below.
단계(315)에서, 제어기(115)는 컴포넌트 기본 스트림(component elementary stream)을 식별하기 위하여 사전에 결정된 재번호의 PID값을 사용함으로써 저장되려는 각 프로그램의 PMT를 생성한다. 저장되려는 각각의 프로그램을 이루는 기본 스트림들은 사전에 저장된 PSI 데이터로부터 제어기(115)에 의하여 결정된다. 단계(320)에서, 제어기(115)는 각각의 프로그램이 암호화 형태로 저장될 것인지에 대하여 인터페이스 유니트(120)(도 1)를 통하여 제공된 사용자 입력 데이터(SE)로부터 결정한다. 만약에 프로그램이 암호화되지 않은 형태로 저장되려고 한다면, 제어기(115)는 도 3의 단계(330)로부터 실행을 계속하고, 조건부 액세스 테이블(CAT)을 생성하지 않는다. 만약에 SE 데이터가 프로그램을 암호화 방식으로 저장하는 것을 요구한다면, 제어기(115)는 단계(325)에서 암호 코드를 병합하는 프로그램을 위한 CAT를 생성한다. 저장된 암호 코드는 그 다음의 프로그램 탐색 작업에서 복구되고, 예를 들어 디스플레이하기 위한 암호화된 프로그램의 해독을 허용하는 암호 키를 생성하는데 사용된다. 만약에 위에서 설명한 방식으로 삽입할 수 있는 스마트 카드상에 미리 저장되어 있는 권리 자격 데이터(entitlement data)에 의하여 허용된다면, 암호 키는 복구된 코드로부터 단지 생성될 수 있다.In step 315, the controller 115 generates a PMT of each program to be stored by using a predetermined renumbered PID value to identify the component elementary stream. The elementary streams that make up each program to be stored are determined by the controller 115 from previously stored PSI data. In step 320, the controller 115 determines from the user input data SE provided via the interface unit 120 (FIG. 1) as to whether each program will be stored in encrypted form. If the program is to be stored in unencrypted form, the controller 115 continues execution from step 330 of FIG. 3 and does not generate a conditional access table CAT. If the SE data requires storing the program in an encrypted manner, the controller 115 generates a CAT for the program that merges the encryption code in step 325. The stored encryption code is then recovered in the next program search operation and used to generate an encryption key that allows for decryption of the encrypted program for display, for example. If allowed by entitlement data previously stored on a smart card that can be inserted in the manner described above, the encryption key can only be generated from the recovered code.
설명된 암호 시스템은 단지 실시예이다. 다른 방식의 암호 메커니즘은 해독을 하기 위하여 다른 암호 코드나 키들의 저장을 포함하도록 채택될 수 있다. 코드를 저장하지 않는 다른 권리 자격 메커니즘은 절대적으로 CAT를 필요로 하지 않는다. 부가적으로, 암호 코드는 CAT가 아니라 CPSI의 정보 테이블로 병합될 수 있어서, CAT의 필요성을 불필요하게 한다. 예를 들자면, 암호 코드는 PMT의 CA_기술자 전용 데이터 섹션CA_descriptor private data section)으로 병합될 수 있다(MPEG 시스템 표준 규정 섹션 2.6.16에 따라). 이러한 접근 방식은 기본 스트림들을 코드로 링크시키기 위한 별개의 디렉토리에 대한 필요성을 회피하면서, 프로그램을 이루는 기본 스트림에 코드들을 직접 연관시킬 수 있는 장점이 있다.The cryptographic system described is just an embodiment. Other cryptographic mechanisms may be employed to include storage of other cryptographic codes or keys for decryption. Other rights entitlement mechanisms that do not store code absolutely do not require CAT. In addition, the encryption code can be merged into the information table of the CPSI rather than the CAT, thus eliminating the need for CAT. For example, the cipher code may be merged into the CA_descriptor private data section of the PMT (according to MPEG System Standards Specification Section 2.6.16). This approach has the advantage of directly associating the codes with the elementary stream making up the program, while avoiding the need for a separate directory to link the elementary streams to the code.
단계(325 또는 320) 이후에, 제어기(115)는 단계(330)에서 저장되려는 각 프로그램을 위한 네트워크 정보 테이블(NIT)을 생성한다. 제어기(115)에 의하여 생성된 NIT는 편집된 변형이 사용자에 의하여 선택될 수 있는 지와 같은 부가적인 옵션 정보에 덧붙여 기록 되는 시간과 날짜 및 폭력/섹스 내용 등급뿐만 아니라 예를 들어 프로그램의 제목과 지속기간과 설명을 포함하는, 전용 데이터를 포함한다. 저장된 전용 데이터는 제어기(115)에 의하여 이전에 저장된 PSI 정보와, 또는 부가적으로 원격 제어 유니트(125)와 인터페이스(120)를 경유하여 사용자에 의하여 입력된 데이터와 비교(collate)된다. NIT는 선택적이며, 그래서 사용자는 메뉴 선택을 이용하여 저장될 임의의 즉 모든 프로그램들에 대한 NIT를 생략하는 것을 선택할 수 있게 되는데 이때 도3의 단계(330)가 실행되지 않고 통과된다.After step 325 or 320, the controller 115 generates a network information table (NIT) for each program to be stored in step 330. The NIT generated by the controller 115 may be recorded in addition to the time and date recorded in addition to additional optional information such as whether the edited variant can be selected by the user and the violence / sex content rating as well as the title of the program and the like. Includes dedicated data, including duration and description. The stored dedicated data is compared with PSI information previously stored by the controller 115, or additionally data entered by the user via the remote control unit 125 and the interface 120. NIT is optional, so the user can choose to omit NIT for any, ie, all programs to be stored using menu selection, where step 330 of FIG. 3 is passed without execution.
부가적으로, 전용 데이터는 NIT가 아니라 CPSI의 정보 테이블에 병합될 수 있다. 예를 들자면, 전용 데이터는 PMT의 사용자 전용 기술자 파트로 병합될 수 있다(User Private descriptor parts)(MPEG 시스템 표준 규정 조항 2.6에 따름). 이러한 접근 방식은 전용 데이터에 기본 스트림들을 링크시키기 위한 별개의 디렉토리의 필요를 회피하면서, 프로그램을 이루는 기본 스트림에 직접 전용 데이터를 연관시킬 수 있는 장점을 가지고 있다.In addition, the dedicated data may be merged into the information table of the CPSI rather than the NIT. For example, private data can be merged into the PMT's User Private Descriptor parts (according to MPEG System Standards provisions 2.6). This approach has the advantage of associating dedicated data directly with the elementary stream making up the program, while avoiding the need for a separate directory to link the elementary streams to the dedicated data.
단계(335)에서, 제어기(115)는 각각의 프로그램에 대하여 압축된 프로그램 특정 정보(CPSI)를 형성하기 위하여 각각의 프로그램을 위하여 생성된 PAT와 PMT를 조합한다. 부가적으로 제어기(115)는 각 프로그램을 위하여 생성된 옵션인 CAT와 NIT 데이터를 조합하여 그것을 CPSI에 병합시킨다. 따라서, CPSI는 PAT와 PMT를 포함하게 되며, CAT나 NIT중에 하나를 포함할 수 있거나 또는 그둘을 모두 포함할 수도 있다. 생성되었을 때에, CPSI는 시스템(25) 측으로의 데이터스트림 입력으로부터 저장하기 위하여 선택된 특정 프로그램에 관계되는 정보를 포함하며, 또한 저장하려고 선택하지 않은 특정 프로그램들에 관계되는 프로그램 특정 정보를 배제하고 있다.In step 335, controller 115 combines the PAT and PMT generated for each program to form compressed program specific information (CPSI) for each program. Additionally, the controller 115 combines the optional CAT and NIT data generated for each program and merges it into CPSI. Accordingly, the CPSI may include a PAT and a PMT, and may include either CAT or NIT, or both. When created, the CPSI includes information related to a particular program selected for storage from a datastream input to the system 25 side, and also excludes program specific information related to specific programs not selected for storage.
다른 방식으로, CPSI는 입력 트랜스포트 데이터스트림으로부터 저장하기 위하여 선택된 한 개 이상의 프로그램을 위하여 생성될 수 있는 것도 좋다. 위와 같은 경우에서, CPSI는 한 개의 PAT와 한 개의 PMT를 포함할 수 있고, 또한 한개의 CAT와 한 개의 NIT를 포함할 수 있다. 상기의 경우에 있어서, 이러한 테이블들은 MPEG 표준 규정에서 정의한 바와 같이, 저장하기 위하여 선택된 다수개의 프로그램을 식별하고 복구하는 것을 지원해주는 데이터를 포함한다. 예를 들어, 프로그램이 시스템(25) 측으로의 별개인 트랜스포트 데이터스트림 입력 두 개로부터 저장하기 위하여 선택된 경우에 있어서, CPSI는 한 개의 PAT와 두 개의 PMT를 포함할 것이다. 한 개의 프로그램을 위하여 한 개의 PMT가 저장되는 것이다. CPSI는 또한 한 개의 CAT와 두 개의 NIT를 포함한다. 한 개의 프로그램을 위하여 한 개의 NIT가 저장되는 것이다.Alternatively, the CPSI may be generated for one or more programs selected for storage from the input transport datastream. In the above case, the CPSI may include one PAT and one PMT, and may also include one CAT and one NIT. In this case, these tables contain data that assists in identifying and recovering a plurality of programs selected for storage, as defined in the MPEG standard specification. For example, if the program was selected to store from two separate transport datastream inputs to the system 25 side, the CPSI would include one PAT and two PMTs. One PMT is stored for one program. CPSI also includes one CAT and two NITs. One NIT is stored for one program.
저장 매체로부터 프로그램을 복구하는 데 있어서, 만약에 플레이백 장치가 다른 프로그램의 CPSI를 부정확하게 공급한다면 문제가 발생한다. PMT와 같은 CPSI 데이터가 부정확하게 사용되면 이것은 프로그램 내용을 복구할 때 데이터 패킷을 잘못 식별하고 조립하는 결과를 초래하여, 예를 들자면 가치가 없는 디스플레이용 데이터나 처리용 데이터를 생성한다. 이러한 문제는 예를 들어 만약 플레이백 장치가 복구된 프로그램의 CPSI를 공급하지 않거나 또는 CPSI가 바뀐 것을 인식하지 못하고 다른 프로그램을 위하여 이전에 끌어낸 CPSI를 계속 공급할 때에 발생한다. 만약에 저장 매체가 한 개이상의 프로그램을 포함하고 있다면 이러한 것이 일어날 가능성은 증가한다. 그러한 경우에, 예를 들자면, 플레이백 장치는 트릭 재생이나 서치 동작을 하고 있는 동안에 프로그램의 경계를 넘어갈 수 있으며, 또한 이전 프로그램의 CPSI를 공급하는 것을 계속한다. 프로그램 경계를 지났을 때에 부정확한 CPSI 파라미터를 공급하는 문제를 제거하기 위하여, 제어기(115)는 단계(340)에서 도 4의 방법을 이용함으로써 CPSI를 포맷팅한다.In recovering a program from a storage medium, a problem occurs if the playback device incorrectly supplies CPSI of another program. Incorrect use of CPSI data, such as PMT, results in incorrect identification and assembly of data packets when restoring program content, producing, for example, worthless display or processing data. This problem occurs, for example, if the playback device does not supply the CPSI of the recovered program or if it does not recognize that the CPSI has changed and continues to supply the previously drawn CPSI for another program. If the storage medium contains more than one program, the likelihood of this happening is increased. In such a case, for example, the playback device may cross the boundaries of the program during a trick play or search operation and also continue to supply the CPSI of the previous program. In order to eliminate the problem of supplying incorrect CPSI parameters when crossing a program boundary, the controller 115 formats the CPSI by using the method of FIG. 4 at step 340.
도 4의 단계(405)에서, 즉 개시 단계(400) 다음에, 제어기(115)는 인터페이스(120)를 경유하여 제공된 입력 데이터(SM)로부터 사용자가 선택한 저장 장치와 매체의 형태를 결정한다. 만약에 선택된 매체가 선형(linear) 형태라면, 다시 말해서 예를 들어 디지털 VHS(DVHS) 기록을 위하여 사용되는 비디오 테이프같은 연속적으로 액세스되는 매체이면, 제어기(115)는 단계(410) 이후에 나오는 단계(425)를 수행하도록 제어된다. 단계(425)에서, 제어기(115)는 MPEG 신택스(MPEG 시스템 표준 규정 조항 2.4.4부터 2.4.4.11까지)에 따른, PAT 패킷 포맷과 PMT 패킷 포맷과 CAT 패킷 포맷 및 NIT 패킷 포맷들과 연관되는 버전 번호(version number)를 변경한다. 버전 번호는 저장되는 프로그램에서의 연속적으로 반복되는 CPSI 중간에서 버전 번호를 계속적으로 증가됨으로써 변경된다. 버전 번호 카운터들은 모든 오버플로우 상태에서 계속적으로 증가한다. 저장 매체(105)로부터 프로그램을 탐색하게 되면, 디코더나 플레이백 장치는 연속적인 버전 번호들에서의 변화를 검출하고, 탐색된 프로그램에서 그러한 검출이 일어날 때마다 PAT와 PMT와 CAT 및 NIT 정보를 공급한다.In step 405 of FIG. 4, i.e., after the start step 400, the controller 115 determines the type of storage device and media selected by the user from the input data SM provided via the interface 120. If the selected medium is in a linear form, that is to say if it is a continuously accessed medium, e.g. a video tape used for digital VHS (DVHS) recording, then the controller 115 returns after step 410. Controlled to perform 425. In step 425, the controller 115 is associated with the PAT packet format, PMT packet format, CAT packet format, and NIT packet formats, according to MPEG syntax (MPEG system standard provisions clauses 2.4.4 through 2.4.4.11). Change the version number. The version number is changed by continuously increasing the version number in the middle of successive repeated CPSIs in the stored program. Version number counters continue to increment in all overflow conditions. Upon retrieving the program from the storage medium 105, the decoder or playback device detects a change in successive version numbers and supplies PAT, PMT, CAT and NIT information whenever such a detection occurs in the retrieved program. do.
디코더로 하여금 CPSI를 다시 취득하게 하도록 개시하기 위하여 버전 번호를 변경하는 다른 방법이 또한 채택될 수 있다. 예를 들자면 버전 번호는 프로그램 기록이 시작될 때에 처음 두 개의 연속적인 CPSI가 발견되는 중간에, 또는 프로그램내의 선택된 CPSI가 발견되는 중간에나, 또는 저장 매체(105)상의 서로 다른 프로그램들 중간에서 증가될 수 있다. 부가적으로 서로 다른 프로그램 사이의 프로그램 경계에서 출현하는 버전 번호들은 특정 수만큼 다를 필요가 없다. 그러나 프로그램 내에서, 생성된 연속적인 버전 번호들은 MPEG 표준 규정에 순응하기 위하여 1만큼씩 달라야 한다. MPEG 비호환 장치에서, CPSI 테이블 버전 번호들은 한 프로그램 내에서 임의의 값만큼 다를 수 있다. 단계(425)에서 채택될 수 있는 다른 방법은 CPSI가 발견되는 모든 경우에서 또는 선택된 CPSI가 발견될 때에, CPSI를 공급하라고 플레이백 장치에게 명령하는 데에 사용되도록 별개의 표시자를 고안하는 것이다. 할당된 표시자는 MPEG 신택스와 호환되며 또한 예를 들자면 PAT나 CAT의 어뎁테이션 필드(adaptation field)내와 같은 전용 데이터 섹션에 위치하게 된다(MPEG 시스템 표준 규정의 조항 2.4.3.4). 표시자는 임의적으로 한정될 수 있으며, 또한 패킷 헤더 어뎁테이션 필드에 있는 '불연속 표시자'와 같이 이미 존재하는 표시자일 수 있다(MPEG 표준 규정의 조항 2.4.3.5에서 규정함). 불연속 표시자는 CPSI에서 잠재적인 불연속이 있고 그래서 그 다음의 PAT와 PMT와 CAT 및 NIT 정보가 공급되어야 한다는 것을 디코더나 플레이백 장치 측으로 통보하기 위하여 '1'로 셋팅된다. 불연속 표시자에 대한 이와 같은 사용은 MPEG 표준 규정에 나와 있기 때문에 심사 숙고하지 않기로 한다.Other methods of changing the version number may also be adopted to initiate the decoder to reacquire CPSI. For example, the version number can be increased in the middle of the first two consecutive CPSIs found at the beginning of the program recording, in the middle of the discovery of the selected CPSI in a program, or in the middle of different programs on the storage medium 105. have. In addition, the version numbers that appear at program boundaries between different programs do not need to differ by a certain number. However, within the program, the consecutive version numbers generated must differ by one to comply with the MPEG standard specification. In an MPEG non-compliant device, the CPSI table version numbers may differ by any value within a program. Another method that may be employed in step 425 is to devise a separate indicator to be used to instruct the playback device to supply the CPSI in every case where the CPSI is found or when the selected CPSI is found. Assigned indicators are compatible with MPEG syntax and are also located in dedicated data sections, for example in the adaptation field of a PAT or CAT (Article 2.4.3.4 of the MPEG System Standards Specification). The indicator may be arbitrarily defined and may also be an already existing indicator, such as a 'discontinuous indicator' in the packet header adaptation field (as defined in clause 2.4.3.5 of the MPEG Standard Specification). The discontinuity indicator is set to '1' to inform the decoder or playback device that there is a potential discontinuity in the CPSI so that the next PAT, PMT, CAT and NIT information should be supplied. This use of discrete markers is not considered in the MPEG standard specification.
MPEG 비호환 데이터스트림 정황에서, 예를 들어 MPEG 비호환 표시자를 고안하거나 즉 프로그램 기록된 것의 시작이나 종료를 표시하는 신호를 사용하는 것같은 것이 포함되는 추가의 방법들이 또한 있다. 다른 기술은 플레이백 장치가 버전 번호에 관계없이 탐색된 데이터스트림에서의 모든 CPSI 출현을 식별하고 적용할 수 있게끔 구성하는 것이다. 이러한 경우에, 단계(425)는 무시된다.There are also additional methods in the context of MPEG incompatible datastreams, including, for example, devising an MPEG incompatible indicator or using a signal to indicate the beginning or end of a program recording. Another technique is to configure the playback device to identify and apply all CPSI occurrences in the searched data stream regardless of the version number. In this case, step 425 is ignored.
만약에 선택된 저장 매체(105)가 비선형 형태라면, 다시 말해서 예를 들어 CDROM이나 DVD같은 디스크 매체처럼 비연속 액세스를 수용하는 매체라면, 제어기(115)는 단계(415) 이후의 단계(430)를 실행하도록 제어된다. 비선형 형태 매체에서, CPSI 데이터는 매체상에서의 한 개 이상의 특정 디렉토리 위치나 또는 선형 형태의 매체에서와 같이 프로그램 내용 내에 저장될 수 있다. 단계(430)에서, CPSI가 디렉토리 위치에 저장되는 경우에 있어서, 제어기(115)는 디렉토리 위치에 있는 PAT와 PMT와 CAT 및 NIT 패킷과 연관되는 버전 번호를 변경한다. 버전 번호는 저장 매체(105)(도 1)상에 있는 서로 다른 프로그램들간에 서로 다르게 되는 것을 보장하기 위하여 MPEG 신택스에 일관되면서 증가한다. 단계(430)에서, CPSI가 프로그램 내용내에 저장되는 경우에 있어서, 제어기(115)는 선형 형태의 매체를 위한 단계(425)에서 설명한 바와 같이 버전 번호를 변경한다. CPSI 요소 버전 번호가 다른 프로그램들 사이에서 서로 다르게 되는 것을 보장하기 위하여, 제어기(115)는 증가된 버전 번호를 생성하여 CPSI 데이터에 그 증가된 버전 번호를 삽입하기 전에, 저장 매체(105)로부터 사전에 기록된 프로그램이나 파일의 버전 번호를 인터페이스(95) 및 장치(90)를 이용하여 복구한다.If the selected storage medium 105 is non-linear, that is to say a medium that accommodates discontinuous access, such as, for example, a disk medium such as a CDROM or DVD, the controller 115 may proceed to step 430 after step 415. Controlled to execute. In non-linear media, CPSI data may be stored in one or more specific directory locations on the media or in program content, such as in a linear media. In step 430, if the CPSI is stored in a directory location, the controller 115 changes the version number associated with the PAT and PMT and CAT and NIT packets at the directory location. The version number increases consistently with the MPEG syntax to ensure that the different programs on the storage medium 105 (FIG. 1) are different. In step 430, where CPSI is stored in the program content, the controller 115 changes the version number as described in step 425 for the media in linear form. In order to ensure that the CPSI element version numbers are different among different programs, the controller 115 may advance from the storage medium 105 before generating the increased version number and inserting the increased version number into the CPSI data. The version number of the program or file recorded in the program is recovered using the interface 95 and the device 90.
단계(430)에서 버전 번호를 변경하는 다른 방법들이 또한 사용될 수 있다. 그러나, CPSI 버전 번호들은 매체(105)상에 저장된 다른 프로그램들 사이에서 서로 다르게 되어야 한다. 다른 방식으로, 단계(430)에서 프로그램이 시작할 때에 또는 프로그램 경계를 통과할 때에 디코더에게 CPSI를 공급하라고 명령하기 위한, 별개의 표시자가 고안될 수 있다. 할당된 표시자는 MPEG 신택스에 호환되며, 또한 예를 들자면 PAT나 CAT의 어뎁테이션 필드와 같은 전용 데이터 섹션에 위치하게 된다(MPEG 시스템 표준 규정의 조항 2.4.3.4). 표시자는 임의로 규정될 수 있거나 또는 단계(425)와 연관하여 설명한 바와 같이 패킷 헤더 어뎁테이션 필드에서의 '불연속 표시자'와 같은 기존의 표시자일 수 있다. MPEG 비호환 데이터스트림의 정황에서, 표시자는 디코더나 플레이백 장치에게 CPSI를 공급하라고 명령할 수 있도록 고안될 수 있다. 이러한 표시자는 예를 들어 프로그램 기록된 것의 시작이나 종료를 나타낼 수 있다.Other methods of changing the version number at step 430 may also be used. However, the CPSI version numbers must be different between different programs stored on the medium 105. Alternatively, a separate indicator can be devised to instruct the decoder to supply CPSI at step 430 when the program starts or when crossing the program boundary. Assigned indicators are compatible with MPEG syntax and are also located in dedicated data sections, for example the adaptation fields of PAT or CAT (Article 2.4.3.4 of the MPEG System Standards Regulations). The indicator may be arbitrarily defined or may be an existing indicator such as a 'discontinuous indicator' in the packet header adaptation field as described in connection with step 425. In the context of an MPEG incompatible datastream, the indicator may be designed to instruct the decoder or playback device to supply CPSI. Such an indicator may, for example, indicate the beginning or end of a program recording.
만약에 선택된 저장 매체(105)가 고체(solid state)라면, 다시 말해서 RAM같은 반도체 메모리라면, 제어기(115)는 단계(420)를 후속하는 단계(430)를 실행하도록 제어된다. 비선형 매체에서와 같이 고체 형태의 매체에서, CPSI 데이터는 전형적으로 매체상에서의 한 개 이상의 특정 디렉토리 위치에 저장되며, 다른 저장 위치로부터 쉽게 액세스될 수 있다. 결과적으로, 제어기(115)는 비선형 매체의 경우와 마찬가지로 고체 매체에 있어서의 CPSI를 포맷팅함으로써, 프로그램 경계를 지나갈때에 부정확한 CPSI 파라미터를 적용하게 되는 문제를 경감한다. 제어기(115)는 단계(430)의 처리를 상기와 같이 하는 것이다.If the selected storage medium 105 is a solid state, that is, a semiconductor memory such as a RAM, the controller 115 is controlled to execute step 430 following step 420. In solid form media, such as in non-linear media, CPSI data is typically stored in one or more specific directory locations on the media and can be easily accessed from other storage locations. As a result, the controller 115 alleviates the problem of applying incorrect CPSI parameters when crossing the program boundary by formatting the CPSI in a solid medium as in the case of nonlinear media. The controller 115 performs the processing of step 430 as described above.
도 4의 방법은 단계(425)나 단계(430)를 거쳐서 단계(435)에서 종료되는데, 단계(425, 430)는 교대로 도 3에서의 단계(340)인 CPSI 포맷팅을 완료한다. 도 3의 방법은 단계(340)를 후속하는 단계(345)에서 종료되는데, 단계(340)에서 도 2의 단계(225)를 망라하면서 저장하기 위하여 선택된 프로그램의 CPSI의 형성을 완수한다. 제어기(115)는 단계(230)를 실행함으로서 도 2의 방법을 계속한다.The method of FIG. 4 ends at step 435 via step 425 or step 430, where steps 425 and 430 alternately complete CPSI formatting, step 340 in FIG. The method of FIG. 3 ends at step 345, following step 340, in which step 340 completes the formation of the CPSI of the program selected for storage covering step 225 of FIG. Controller 115 continues the method of FIG. 2 by executing step 230.
단계(230)에서, 제어기(115)는 MPEG 신택스에 따른 섹션으로 CPSI 데이터를 형성한다(MPEG 시스템 표준 규정의 패러그래프 2.4.4.3에서 2.4.4.11까지). 섹션들은 PAT 데이터와 PMT 데이터를 위하여 형성된다. 만약에 CAT 및 NIT 테이블들이 이전에 설명된 도 3의 방법으로 CPSI에 병합되어 있다면, 섹션들은 또한 옵션인 CAT 및 NIT(전용 데이터)를 위하여 생성된다. 그 결과로서의 패킷화 데이터는 테이블 식별자와 섹션 길이 식별자 및 도 4의 방법에서 미리 결정된 버전 번호를 포함한다. PAT 섹션은 또한 PAT를 특정 트랜스포트 스트림과 연관시키는 트랜스포트 스트림 식별자를 포함한다. 제어기(115)는 오리지널 PSI 데이터로부터 이러한 식별자를 획득하고, 그것을 CPSI의 PAT 섹션의 트랜스포트 스트림 식별자 필드에 삽입한다. 그러나, 상기 필드는 선택적으로 변경되지 않은 상태거나 또는 공란으로 남아 있을 수 있다.In step 230, the controller 115 forms CPSI data into sections according to the MPEG syntax (paragraphs 2.4.4.3 to 2.4.4.11 of the MPEG System Standard Specification). Sections are formed for PAT data and PMT data. If CAT and NIT tables are merged into CPSI in the manner of FIG. 3 described previously, sections are also created for optional CAT and NIT (dedicated data). The resulting packetized data includes a table identifier and a section length identifier and a version number predetermined in the method of FIG. The PAT section also includes a transport stream identifier that associates the PAT with a particular transport stream. The controller 115 obtains this identifier from the original PSI data and inserts it into the transport stream identifier field of the PAT section of the CPSI. However, the field may optionally be left unchanged or left blank.
단계(230)에서, 제어기(115)는 저장하려는 데이터스트림내로 삽입할 목적으로 CPSI 데이터를 포맷팅하고 패킷화하기 위하여, 헤더 데이터를 CPSI 데이터 섹션에 첨가한다. 제어기(115)는 제어기(115) 내부 메모리내에 저장되어 있는 PSI 헤더 데이터로부터 MPEG 시스템 표준 규정의 조항 2.4.3.2 및 2.4.3.3에 따라 헤더를 생성한다. 그러나, CPSI 섹션 데이터는 해당 PSI 섹션 데이터의 길이와 다르다. 따라서, '연속 카운트' 표시자와 '페이로드 유니트 개시(payload unit start) 표시자'를 포함하는, 새로운 헤더 파라미터들은 제어기(115)에 의하여 생성되고, 헤더 데이터내의 해당 표시자 필드에 삽입된다. 제어기(115)에 의하여 생성된 새로운 연속 카운트 표시자는 해당 PSI 요소에 대하여 PID당 소요되는 패킷의 다른 개수 대신에, CPSI 요소에 대한 PID당 소요되는 패킷의 개수를 예를 들어 반영한다. 제어기(115)에 의하여 생성된 새로운 페이로드 유니트 개시 표시자는 예를 들어 해당 PSI 섹션의 제 1 바이트대신에, CPSI 섹션의 제 1 바이트를 나타낸다.In step 230, the controller 115 adds the header data to the CPSI data section to format and packetize the CPSI data for insertion into the data stream to be stored. The controller 115 generates a header from the PSI header data stored in the controller 115 internal memory in accordance with clauses 2.4.3.2 and 2.4.3.3 of the MPEG System Standard Specification. However, the CPSI section data is different from the length of the corresponding PSI section data. Thus, new header parameters, including a 'continuous count' indicator and a 'payload unit start indicator', are generated by the controller 115 and inserted into the corresponding indicator field in the header data. The new continuous count indicator generated by the controller 115 reflects, for example, the number of packets required per PID for the CPSI element instead of the number of packets required per PID for the corresponding PSI element. The new payload unit initiation indicator generated by the controller 115 indicates the first byte of the CPSI section, for example instead of the first byte of the corresponding PSI section.
도 2에 대하여 계속하자면, 단계(235)에서, 단계(230)에서 생성된 패킷화된 MPEG 호환 섹션 데이터의 형태로 되어 있는 CPSI는 제어기(115)에 의하여 멀티플렉서(110)(도 1) 측으로 공급된다. 단계(215)와 연관하여 앞에서 설명한, 유니트(47) 또는 유니트(50)로부터의 프로그램 내용 패킷 데이터스트림도 또한 멀티플렉서(110) 측으로 공급된다. 단계(235)에서, 제어기(115)는 저장 인터페이스(95)측으로 입력되는 멀티플렉서(110) 출력인 복합 데이터스트림을 생성하기 위하여 경로 선택 신호(C)를 이용하여, 멀티플렉서(110) 측으로 입력되는 프로그램 내용과 CPSI 데이터스트림 입력을 다중화(multiplexing)한다. 복합 데이터스트림은 프로그램 내용 패킷과 CPSI 패킷을 포함한다. 제어기(115)는 제어 유니트(65)(도 1)로부터의 PSI 인터럽트 신호에 대한 응답으로, 저장되려는 프로그램 데이터스트림안으로 CPSI 패킷을 삽입하는 것을 동기화시킨다. PSI 인터럽트 신호는 단계(205)에 연관하여 설명한 바와 같이 버퍼(60)에 PSI 패킷이 있는 지를 표시한다. 이같은 방식으로, CPSI의 패킷화된 PAT와 PMT와 CAT 및 NIT 섹션들이 PSI 위치로 삽입되어, PSI의 해당 섹션부분을 대치하게 된다. 암호화되지 않은 CPSI 데이터는 저장을 하기 위한 암호화되었거나 암호화되지 않은 프로그램을 생성하기 위하여, 멀티플렉서(110) 측으로 입력되는, 암호화되었거나 암호화되지 않은 프로그램 내용 데이터스트림에 삽입될 수 있다.Continuing with respect to FIG. 2, at step 235, the CPSI in the form of packetized MPEG compatible section data generated at step 230 is supplied by the controller 115 to the multiplexer 110 (FIG. 1) side. do. The program content packet datastream from unit 47 or unit 50, described above in connection with step 215, is also fed to multiplexer 110 side. In step 235, the controller 115 uses the path selection signal C to generate a complex data stream that is the output of the multiplexer 110 input to the storage interface 95 side, the program input to the multiplexer 110 side. Multiplex content and CPSI datastream input. The composite data stream includes a program content packet and a CPSI packet. The controller 115 synchronizes inserting the CPSI packet into the program data stream to be stored in response to the PSI interrupt signal from the control unit 65 (FIG. 1). The PSI interrupt signal indicates whether there is a PSI packet in the buffer 60 as described in connection with step 205. In this way, the packetized PAT, PMT, CAT and NIT sections of the CPSI are inserted into the PSI location, replacing the corresponding section portions of the PSI. Unencrypted CPSI data may be inserted into an encrypted or unencrypted program content data stream, which is input to the multiplexer 110 side, to create an encrypted or unencrypted program for storage.
단계(235)에서, 제어기(115)는 저장되려는 데이터스트림에 있는 PSI 데이터 각 발생을 사용자가 저장하기 위하여 선택한 매체의 형태에 상관없이 해당 CPSI 데이터로서 대치한다. 그러나 코딩 오버헤드에 대한 추가적인 감소는 CPSI를 선택된 PSI 위치에 삽입하거나 또는 저장되려는 프로그램 내에 단 한번 CPSI를 삽입함으로써 달성될 수 있다. 저장되려는 프로그램내에서 CPSI의 반복 횟수는 예를 들어 최소 PSI 요소 반복 횟수 제한, 사용자 기호, 데이터 저장 용량 제한 또는 선택된 저장 매체 형태와 같은 인자에 기초하여 제어기(115)에 의하여 결정될 수 있다. ATSC에 의하여 HDTV를 위하여 제안된 시스템은 예를 들어 반복하는 PAT들 사이의 최소 시간 간격인 100 ms같은, 특정 PSI 요소들의 최소 반복 횟수를 규정한다(1995년 4월 12일자의 부속 서류 C 조항 5.4, HDTV 전송을 위한 디지털 텔레비젼 표준 규정). 더 나아가서, 비선형이나 고체 형태의 저장 매체에서, 예를 들어, CPSI 반복 횟수를 감소시키거나 또는 저장되려는 프로그램에 한번만 CPSI를 삽입시키는 것은 프로그램 복구 대기시간에 불리하게 영향을 미치지 않는다. 이러한 것은 상기 형태의 매체들이 신속한 비연속(무작위) 데이터 액세스를 허용하기 때문이다.In step 235, the controller 115 replaces each occurrence of PSI data in the data stream to be stored as the corresponding CPSI data, regardless of the type of medium the user has selected for storage. However, further reductions in coding overhead can be achieved by inserting the CPSI at the selected PSI location or by inserting the CPSI only once in the program to be stored. The number of repetitions of the CPSI in a program to be stored may be determined by the controller 115 based on factors such as, for example, a minimum PSI element repetition limit, a user preference, a data storage capacity limit, or a selected storage medium type. The system proposed for HDTV by ATSC defines the minimum number of repetitions of certain PSI elements, for example 100 ms, which is the minimum time interval between repeating PATs (Annex C of April 12, 1995, clause 5.4 , Digital TV standard regulations for HDTV transmission). Furthermore, in non-linear or solid form of storage media, for example, reducing the number of CPSI repetitions or inserting CPSI only once in a program to be stored does not adversely affect the program recovery latency. This is because the above types of media allow for rapid discontinuous (random) data access.
단계(240)에서, 저장 인터페이스(95)는 멀티플렉서(110)로부터의 CPSI를 병합하는 패킷화된 데이터스트림(이하로부터 CPSI 스트림이라고 명칭됨)의 형태로서 저장되는 프로그램을 수신한다. 제어기(115)가 CPSI 스트림을 생성하는데 사용되는 도 2의 방법은 단계(245)에서 종료된다. 다른 방식으로는 단계(240)에서 CPSI 스트림이 인터페이스(95)를 경유하여 저장 장치로 공급되는 대신에 인터페이스(70)를 경유하여 디스플레이나 통신 장치 측으로 제공될 수 있다는 것을 기억하기로 한다.In step 240, storage interface 95 receives a program that is stored in the form of a packetized data stream (hereinafter referred to as CPSI stream) that merges CPSI from multiplexer 110. The method of FIG. 2 in which the controller 115 is used to generate the CPSI stream ends at step 245. Alternatively, it will be remembered that in step 240 the CPSI stream may be provided to the display or communication device via interface 70 instead of being supplied to storage via interface 95.
멀티플렉서(110)로부터의 CPSI 스트림은 데이터에서의 간격과 비트율 변동을 감소시키기 위하여 인터페이스(95)에 의하여 버퍼링된다. 그 결과인 버퍼링된 데이터는 매체(105)상의 저장을 위하여 적합하게 되도록 저장 장치(90)에 의하여 처리된다. 제어기(115)는 표준화된 CEBus 제어 프로토콜(홈 자동 표준 규정(Home Automation Standard (CEBus), EIA/IS-60, 1989년 12월)을 사용하여 I/O 포트(100)를 통한 커맨드에 의하여 저장 장치(90)(도 1)의 동작을 시작하고 제어한다. 저장 장치(90)는 저장에 적합한 인코딩된 데이터스트림을 공급하기 위하여 채널 코딩과, 인터리빙 및 리드 솔로몬 인코딩같은 공지된 에러 인코딩 기술을 사용하여 인터페이스(95)로부터의 버퍼링된 데이터스트림을 인코딩하는 선형 저장 매체 DVHS 형태 장치이다. 유니트(90)는 그 결과로서 생긴 인코딩된 데이터스트림을 CPSI를 병합시켜 테이프 매체(105)상에 저장한다.The CPSI stream from the multiplexer 110 is buffered by the interface 95 to reduce gaps and bit rate variations in the data. The resulting buffered data is processed by storage device 90 to be suitable for storage on medium 105. Controller 115 is stored by command over I / O port 100 using a standardized CEBus control protocol (Home Automation Standard (CEBus), EIA / IS-60, December 1989). Initiate and control the operation of device 90 (Figure 1) Storage device 90 uses known error encoding techniques such as channel coding, interleaving and Reed Solomon encoding to provide an encoded datastream suitable for storage. And a linear storage medium DVHS type device that encodes the buffered datastream from interface 95. Unit 90 merges CPSI and stores the resulting encoded datastream on tape medium 105.
다른 테이프 저장 시스템들은 두 개의 데이터스트림을 병행로 기록하는 것을 허용한다. 일반적으로 프로그램 내용의 대부분을 포함하는 제 1 데이터스트림은 종래에는 테이프상에 나선형으로 저장되어 있다. 전형적으로 데이터 밀도나 비트율이 훨씬 낮은 제 2 데이터스트림은 병행 방식으로 테이프 끝쪽에 위치하고 있는 보조 트랙상에 선형(나선형이 아님) 형태로 저장된다. 이러한 형태의 저장 시스템에서, 장치(90)는 CPSI 데이터를 CPSI 스트림과 구별하며, 유리하게 보조 트랙상에 CPSI 데이터를 저장한다. 유니트(90)는 테이프상에 기록된 각 프로그램이 프로그램 내용과 병행로 보조 트랙에 있는 자신과 관련된 CPSI 데이터를 포함하는 방식으로 CPSI 데이터를 저장한다. 보조 트랙에 있는 CPSI 데이터의 반복 횟수는 보조 트랙 데이터 속도 제한에 따라 조절될 수 있다. 다른 방식으로, CPSI는 트랙 정보 영역(TIA)와 삽입&트랙 정보 섹터(ITI 섹터)를 포함하는 데이터 관리 영역이나 나선형 보조 트랙에 저장될 수 있다. 데이터 관리 영역은 프로그램 내용에 병행하여 나선형의 또는 비나선형의 트랙에 저장된다.Other tape storage systems allow for writing two data streams in parallel. In general, a first data stream containing most of the program content is conventionally stored helically on tape. Typically, a second data stream with a much lower data density or bit rate is stored in a linear (not spiral) form on an auxiliary track located at the end of the tape in a parallel manner. In this type of storage system, the device 90 distinguishes CPSI data from CPSI streams and advantageously stores CPSI data on auxiliary tracks. The unit 90 stores CPSI data in such a manner that each program recorded on the tape includes CPSI data related to itself in the auxiliary track in parallel with the program contents. The number of repetitions of CPSI data in the auxiliary track may be adjusted according to the auxiliary track data rate limit. Alternatively, the CPSI may be stored in a data management area or a spiral auxiliary track that includes a track information area (TIA) and an insert & track information sector (ITI sector). The data management area is stored in spiral or non-helical tracks in parallel with the program contents.
비록 도 1에서 제시하는 실시예에서 나오는 선형 형태의 저장 매체상에 데이터를 저장하는 DVHS 장치에서 설명되었지만, 저장 유니트(90)는 임의 형태의 저장 유니트가 될 수 있다. 예를 들자면, 유니트(90)는 RAM이나 DVD나 또는 CDROM에 데이터를 저장하기 위한 고체나 비선형 형태의 장치일 수 있다. 만약에 유니트(90)와 매체(105)가 비선형 즉 고체 형태의 저장 시스템이라면, 유니트(90)는 CPSI 데이터를 CPSI 스트림으로부터 분리하여 CPSI 데이터를 매체의 지정된 디렉토리 섹션에 저장한다. 이것은 유리하게 CPSI의 반복된 저장을 피하게 되어, 필요한 저장 용량을 감소시킨다. 다른 방식으로, 유니트(90)는 형성된 CPSI 스트림으로서 유니트(90)로 입력되는 것을 한 개이상의 CPSI 데이터의 반복을 병합하여 저장할 수 있다.Although described in a DVHS apparatus for storing data on a linear storage medium in the embodiment shown in FIG. 1, the storage unit 90 can be any type of storage unit. For example, unit 90 may be a solid or non-linear device for storing data in RAM, DVD or CDROM. If unit 90 and medium 105 are a non-linear, solid form storage system, unit 90 separates CPSI data from the CPSI stream and stores the CPSI data in a designated directory section of the medium. This advantageously avoids repeated storage of the CPSI, reducing the required storage capacity. Alternatively, unit 90 may merge and store repetitions of one or more CPSI data that are input to unit 90 as a formed CPSI stream.
더 나아가서, 도 1의 시스템(25)은 선형과 비선형 및 고체 형태같은 다양한 형태의 다수개 저장 장치의 동작을 지원하는 다수개의 저장/탐색 경로를 병합할 수 있다. 도 1에서 도시한 유일한 저장/탐색 경로는 설명한 바와 같이 유니트들(47, 90, 95, 105 및 110)을 포함한다. 병행 저장 기능을 생성하기 위하여 이러한 요소들을 복제함으로써, 시스템(25)은 쉽게 확장되어 다수개의 저장 경로를 병합하게 된다. 특정 저장 장치에서의 저장 경로 및 프로그램은 이전에 설명한 바와 같이, 원격 제어 유니트(125)를 이용하여 온-스크린 메뉴 선택 이후에 인터페이스(120)를 이용하여 제어기(115) 측으로 입력되는 사용자 생성 데이터(SP, SM) 입력에 의하여 선택된다.Furthermore, the system 25 of FIG. 1 may incorporate multiple storage / navigation paths that support the operation of multiple storage devices of various types, such as linear, non-linear, and solid forms. The only storage / browsing path shown in FIG. 1 includes units 47, 90, 95, 105 and 110 as described. By replicating these elements to create a parallel storage function, the system 25 is easily extended to merge multiple storage paths. The storage paths and programs in a particular storage device are user-generated data input to the controller 115 using the interface 120 after the on-screen menu selection using the remote control unit 125 as previously described. SP, SM) input.
도 1의 시스템(25)은 도 5의 방법을 사용하여 플레이백 모드에서 저장 장치(90)와 매체(105)로부터 프로그램을 복구한다. 복구된 데이터스트림은 시스템(25)에 의하여 처리되고, 예를 들어 디스플레이 즉 출력을 하기 위하여 응용 장치(75, 80 및 85) 측으로 공급된다. 다른 방식으로, 프로그램 데이터스트림은 다른 병행 저장 장치상에 저장될 수 있다(도면을 단순하게 하기 위하여 도 1에 미도시됨).The system 25 of FIG. 1 recovers a program from the storage device 90 and the medium 105 in the playback mode using the method of FIG. The recovered datastream is processed by the system 25 and fed to the application devices 75, 80 and 85 for example for display or output. Alternatively, the program datastream can be stored on another parallel storage device (not shown in FIG. 1 for simplicity of the drawing).
단계(500)의 개시단계를 후속하여 도 5의 단계(505)에서, 사용자 생성 데이터(SR, SM)는 시스템(25)(도 1)의 제어기(115) 측으로 입력되며, 상기 제어기는 프로그램이 복구되는 저장 장치와 복구되는 프로그램을 나타낸다. 사용자 선택 데이터는 원격 제어 유니트(125)를 이용한 온-스크린 메뉴 선택에 따라 인터페이스(120)를 경유하여 제어기(115) 측으로 입력된다. 사용자가 저장 장치(90)(도 1)로부터 복구되려는 프로그램을 선택하는 것은 실시예의 목적을 위하여 가정한 것이다. 제어기(115)는, 단계(510)에서, 이전에 설명한 표준화된 CEBus 제어 프로토콜을 사용하여 I/O 포트(100)를 통한 커맨드에 의하여 매체(105)로부터 장치(90)에 의한 선택된 프로그램 데이터스트림 복구를 개시한다. 장치(90)는 저장을 위하여 장치(90)에 원래 공급된 해당 데이터를 복구하기 위하여 매체(105)로부터 탐색된 에러 인코딩된 데이터를 디코딩한다. 장치(90)는 DVHS 선형 형태 저장 유니트이거나, 고체 RAM이나 비선형 형태의 DVD나 CDROM 형태의 장치일 수 있는 다른 형태의 저장 형태의 저장 유니트일 수 있다. 복구된 디코딩된 데이터스트림은 단계(510)에서 장치(90)에 의하여 인터페이스(95) 측으로 전달된다. 이러한 데이터 전달은 제어기(115)에 의하여 표준 CEBus를 이용하여 제어되고 동기화된다. 인터페이스(95)는 데이터 패킷간의 시간 간격을 조절하여 MPEG에 호환되어 MPEG 비트율 제한에 순응하는 버퍼링된 데이터 출력을 공급하기 위하여 유니트(90)로부터 수신된 데이터를 버퍼링한다.In step 505 of FIG. 5 following the initiation of step 500, the user-generated data SR, SM are input to the controller 115 side of the system 25 (FIG. 1), the controller being programmed. Indicates the storage device to be recovered and the program to be restored. The user selection data is input to the controller 115 via the interface 120 according to the on-screen menu selection using the remote control unit 125. It is assumed for the purpose of the embodiment that the user selects a program to be recovered from the storage device 90 (FIG. 1). The controller 115, in step 510, selects the selected program datastream by the device 90 from the medium 105 by a command through the I / O port 100 using the standardized CEBus control protocol described previously. Initiate recovery. The device 90 decodes the error encoded data retrieved from the medium 105 to recover the corresponding data originally supplied to the device 90 for storage. The device 90 may be a DVHS linear storage unit or another type of storage unit that may be a solid state RAM or a non-linear DVD or CDROM type device. The recovered decoded datastream is passed by the device 90 to the interface 95 at step 510. This data transfer is controlled and synchronized by the controller 115 using the standard CEBus. The interface 95 buffers the data received from the unit 90 to adjust the time interval between data packets to supply buffered data output that is compatible with MPEG and conforms to the MPEG bit rate limit.
단계(515)에서, 제어기(115)는 경로 선택 신호(C)를 이용하여 인터페이스(95)로부터의 버퍼링된 출력(플레이백 데이터스트림)을 멀티플렉서(37)를 경유하여 PID 선택 유니트(45, 47) 측으로 전달된다. 단계(520)에서, 유니트(45, 47) 및 시스템(25)의 나머지 유니트들은 멀티플렉서(110)를 이용하여 저장을 하거나 또는 인터페이스(70)를 이용하여 공급하기 위하여 플레이백 데이터스트림을 처리한다. 유니트(95)로부터의 플레이백 데이터스트림과 섹터(35)로부터 전송된 데이터스트림은 둘 다, 멀티플렉서(37)를 이용한 선택 이후에, 유사한 방식으로 시스템(25)에 의하여 처리된다. 이러한 데이터스트림 모두 전송된 데이터스트림에 대하여 이전에 설명한 방식으로 처리된다. 그러나, 멀티플렉서(37)를 이용하여 선택된 플레이백 데이터스트림은 이미 CPSI를 병합하고 있다. 따라서, 플레이백 모드에서, 제어기(115)는 단계(520)에서 도 2 내지 도 4와 연관하여 설명된 CPSI 형성과 관계되는 단계들을 수행하지 않는다.In step 515, the controller 115 uses the path selection signal C to pass the buffered output (playback datastream) from the interface 95 via the multiplexer 37 to the PID selection units 45, 47. ) Is delivered to the side. In step 520, the units 45, 47 and the remaining units of the system 25 process the playback datastream for storage using the multiplexer 110 or for supplying using the interface 70. Both the playback data stream from the unit 95 and the data stream transmitted from the sector 35 are processed by the system 25 in a similar manner after selection with the multiplexer 37. Both of these datastreams are processed in the manner previously described for the transmitted datastream. However, the playback datastream selected using the multiplexer 37 is already merging CPSI. Thus, in playback mode, the controller 115 does not perform the steps related to CPSI formation described in connection with FIGS. 2-4 at step 520.
도 5에서 도시한 실시예적인 플레이백 모드에 있어서, 단계(520)에서 시스템(25)은 디스플레이를 하기 위하여, 디코딩된 데이터를 적용하는 디코더(80, 85) 측으로 공급하기 위하여 플레이백 데이터스트림을 트랜스포트-디코딩(transport decode)한다. 이러한 모드에서, 시스템(25)은 선택된 프로그램(SR)을 나타내는 트랜스포트-디코딩된 데이터스트림을 공급하기 위하여, MPEG 표준 방식에 따라 플레이백 데이터스트림에 포함되어 있는 CPSI 데이터를 공급한다.In the exemplary playback mode shown in FIG. 5, in step 520 the system 25 feeds the playback data stream to the side of the decoder 80, 85 that applies the decoded data for display. Transport decode. In this mode, the system 25 supplies CPSI data included in the playback datastream according to the MPEG standard scheme, in order to supply a transport-decoded datastream representing the selected program SR.
단계(520)에서, 제어기(115)는 버퍼(60)를 이용하여 플레이백 데이터스트림 CPSI 데이터를 액세스하여, 연속적인 CPSI 요소들간에서 출현하는 버전 번호의 변경을 알기 위하여 데이터를 검사한다. 제어기(115)는 또한 패킷 헤더 어뎁테이션 필드(MPEG 시스템 표준 규정의 조항 2.4.3.5에서 규정함)에서의 '불연속 표시자'에 의하여 표시되는 불연속에 대하여 알기 위하여 플레이백 데이터스트림을 검사한다. 버전 번호의 변경이나 불연속에 대한 검출이 있으면, 제어기(115)는 플레이백 데이터스트림을 트랜스포트 디코딩하기 위하여 가장 나중의 CPSI 데이터 전체를 공급한다. 또한 특정 PID의 연속적인 패킷들간의 연속 카운트 불일치에 대한 검출 및 트랜스포트 에러 표시의 검출같은 것을 포함하는 다른 다양한 상태가 되었을 때에도, 제어기(115)는 가장 나중의 CPSI 데이터 전체를 공급하게 되도록 프로그램될 수 있다는 것을 기억하기로 한다. 이들 파라미터 둘다 플레이백 데이터스트림 패킷 헤더에 존재한다(MPEG 시스템 표준 규정의 조항 2.4.3.2.에 규정됨). 제어기(115)는 또한 MPEG 표준 규정에서 규정하고 있는 프리젠테이션 시간 스탬프(presentation time stamp : PTS)나 디코딩 시간 스탬프들간의 불연속이 검출되거나 또는 사용자가 규정한 시간 스탬프에서의 불연속이 검출될 때에 CPSI를 공급하도록 프로그램될 수 있다. 그러나, MPEG 호환 신택스는 불연속 표시자가 연속 카운트 불일치의 발견을 표시하도록 설정되는 것을 요구한다는 것을 기억하기로 한다.In step 520, the controller 115 accesses the playback datastream CPSI data using the buffer 60 and checks the data to see the change in version number appearing between successive CPSI elements. The controller 115 also examines the playback datastream to know about the discontinuity indicated by the 'discontinuity indicator' in the packet header adaptation field (as defined in clause 2.4.3.5 of the MPEG System Standard Specification). If there is a detection of a version number change or discontinuity, the controller 115 supplies the entire last CPSI data to transport decode the playback datastream. The controller 115 may also be programmed to supply the entire last CPSI data, even when there are various other states, including detection of consecutive count mismatches between consecutive packets of a particular PID and detection of transport error indications. Let's remember that you can. Both of these parameters are present in the playback datastream packet header (as specified in clause 2.4.3.2. Of the MPEG System Standard Specification). The controller 115 also detects the CPSI when a discontinuity between the presentation time stamp (PTS) or decoding time stamps defined in the MPEG standard specification is detected or a discontinuity in the user-defined time stamp is detected. Can be programmed to supply. However, it will be remembered that the MPEG compatible syntax requires that the discrete indicator be set to indicate the discovery of a continuous count mismatch.
CPSI는 도 1에 연관하여 이상에서 설명한 바와 유사한 방식으로 PID 필터(45, 47)와, 해독기(50)와, 디코더(55)와, 버퍼(60) 및 제어 유니트(65)를 사용하여 플레이백 데이터스트림을 트랜스포트 디코딩을 하는데 공급된다. CPSI를 제외한 트랜스포트 디코딩된 데이터스트림은 MPEG 방식의 디코딩 및 영상 재생을 위하여 장치 디코더(80, 85) 측으로 인터페이스(70)를 경유하여 제공된다. 다른 모드들에서, 시스템(25)은 CPSI를 병합하는 플레이백 데이터스트림을 예를 들자면 고속 데이터 포트(75)같은 다른 응용 장치 측으로 공급한다. 그 다음에 CPSI는 필요하다면 상기의 응용 장치들이나 후속 장치들에 의하여, 플레이백 데이터스트림을 트랜스포트 디코딩하는데 공급하기 위하여 사용될 수 있다. 만약에 플레이백 데이터스트림이 예를 들어 장치(90)말고 제 2의 저장 장치에 저장되려고 한다면, 멀티플렉서(110)는 CPSI가 병합된 데이터스트림을 제 2의 저장 인터페이스를 이용하여 제 2 저장 장치 측으로 공급한다. 더 나아가서, 제 2 저장 장치 및 제 2 저장 인터페이스는( 도 1에 둘 다 미도시됨) 유니트(90, 95)의 기능과 동작을 각각 모방한다.CPSI plays back using PID filters 45 and 47, decoder 50, decoder 55, buffer 60 and control unit 65 in a manner similar to that described above in connection with FIG. It is supplied to transport decoding the data stream. The transport decoded data streams other than CPSI are provided via the interface 70 to the device decoders 80 and 85 for MPEG decoding and video reproduction. In other modes, system 25 supplies a playback datastream that incorporates CPSI to another application, such as high speed data port 75, for example. CPSI can then be used by the application or subsequent devices, if necessary, to supply for transport decoding the playback datastream. If the playback datastream is to be stored in a second storage device other than the device 90, for example, the multiplexer 110 sends the CPSI merged datastream to the second storage device side using the second storage interface. Supply. Furthermore, the second storage device and the second storage interface (both not shown in FIG. 1) mimic the functions and operations of the units 90, 95, respectively.
CPSI를 공급하기 전의, 디폴트 주기에서, 시스템(25)은 예를 들어 '블루 스크린(blue screen)' 또는 '동결 프레임(freeze frame)'과 같이, 디스플레이를 하기 위하여 사전에 결정된 비디오 영상을 나타내는 디코딩된 데이터를 비디오 디코더(85) 측으로 제공한다. 유사하게, 디폴트 주기에서 버전 번호의 변경에 대한 검출 및 CPSI의 공급이 이루어지기 전에, 시스템(25)은 오디오 출력을 지우기 위하여 오디오 디코더(80) 측으로 데이터를 공급한다. 상기와 같은 조처는 정확한 CPSI 데이터가 공급되어 결과적으로 시청 또는 청취용의 유효한 자료가 제공되기까지 바람직하지 않은 비디오나 오디오 출력이 재생 장치들에 공급되는 것을 방지한다. 디폴트 주기는 예를 들어 이하에 나오는 상황들중 어는 한쪽으로부터 CPSI 요소 버전 번호의 변경에 대한 검출사이의 시간간격을 포함한다:In the default period, prior to supplying the CPSI, the system 25 decodes the video image, which is predetermined for display, for example, such as a 'blue screen' or a 'freeze frame'. The generated data to the video decoder 85 side. Similarly, before detection of a change in version number and supply of CPSI are made in the default period, the system 25 supplies data to the audio decoder 80 side to clear the audio output. Such measures prevent undesired video or audio output from being supplied to playback devices until the correct CPSI data is supplied, resulting in valid material for viewing or listening. The default period includes, for example, the time interval between detection of a change in the CPSI element version number from one of the following situations:
a) 프로그램 표시자의 끝이나 시스템 전력-온에 대한 검출;a) detection of the end of the program indicator or system power-on;
b) 고속 플레이나 내용 뛰어넘기(트릭 플레이)같은 것을 포함하는 사용자 명령어에 대한 검출; 또는b) detection of user commands, such as fast play or content jump (trick play); or
c) 유효한 비디오 패킷이 검출되지 않았음을 표시하는 에러 상태에 대한 검출.c) detection of an error condition indicating that no valid video packet was detected.
인터페이스(70)로부터의 데이터는 장치 디코더(80, 85)에 의하여 MPEG 방식으로 디코딩되어 각각 유니트(80, 85)에 있는 오디오 및 영상 재생 장치를 이용하여 표시된다. 상기 처리는 단계(530)에서 종료되는 플레이백 처리를 완료시킨다. 제어기(115)가 부정확한 CPSI 데이터가 공급되는 것을 방지하기 위하여 위에서 언급한 바와 같은 다른 방법들 중 임의의 것을 사용할 수 있다는 것을 기억하기로 한다.Data from the interface 70 is decoded in an MPEG manner by the device decoders 80 and 85 and displayed using the audio and video reproducing apparatus in the units 80 and 85, respectively. The process completes the playback process ending at step 530. It will be remembered that the controller 115 can use any of the other methods as mentioned above to prevent incorrect CPSI data from being supplied.
도 1의 구조는 배타적이지 않다. 다른 구조가 동일한 목적을 달성하기 위하여 본 발명의 원리들에 따라 유도될 수 있다. 더 나아가서, 도 1 구조의 구성 요소들의 기능들과 도 2 내지 도 5에서의 방법 단계들은 마이크로프로세서의 프로그램된 명령어들 내에서 전부 또는 부분적으로 실현될 수 있다. 부가적으로, 본 발명의 원리들은 모든 MPEG 비호환 전자 프로그램 가이드 형태에 적용되며, MPEG 호환 PSI 테이블에서 시사되는 전자 프로그램 가이드에만 사용되도록 제한되지 않는다.The structure of FIG. 1 is not exclusive. Other structures may be derived in accordance with the principles of the present invention to achieve the same purpose. Furthermore, the functions of the components of the FIG. 1 structure and the method steps in FIGS. 2 to 5 may be realized in whole or in part within the programmed instructions of the microprocessor. Additionally, the principles of the present invention apply to all MPEG incompatible electronic program guide forms and are not limited to use only in electronic program guides suggested in MPEG compatible PSI tables.
Claims (28)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1998-0709658A KR100474033B1 (en) | 1996-05-31 | 1997-05-22 | Method for processing digital data and program guide information |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/018,722 | 1996-05-31 | ||
US8/696,415 | 1996-08-13 | ||
US08/696,415 | 1996-08-13 | ||
KR10-1998-0709658A KR100474033B1 (en) | 1996-05-31 | 1997-05-22 | Method for processing digital data and program guide information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000016091A true KR20000016091A (en) | 2000-03-25 |
KR100474033B1 KR100474033B1 (en) | 2005-09-13 |
Family
ID=43666668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1998-0709658A KR100474033B1 (en) | 1996-05-31 | 1997-05-22 | Method for processing digital data and program guide information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100474033B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100784652B1 (en) * | 1999-05-06 | 2007-12-12 | 소니 가부시끼 가이샤 | Data processing method/apparatus, and data reproducing method/apparatus, capable of random-accessing multiplexed program data, and recording medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0166935B1 (en) * | 1994-11-23 | 1999-03-20 | 구자홍 | Mpeg2 transport decoder apparatus |
-
1997
- 1997-05-22 KR KR10-1998-0709658A patent/KR100474033B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100784652B1 (en) * | 1999-05-06 | 2007-12-12 | 소니 가부시끼 가이샤 | Data processing method/apparatus, and data reproducing method/apparatus, capable of random-accessing multiplexed program data, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
KR100474033B1 (en) | 2005-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0903036B1 (en) | Processing of digital data and program guide information | |
US5844478A (en) | Program specific information formation for digital data processing | |
US5838873A (en) | Packetized data formats for digital data storage media | |
US5844595A (en) | Decoding of digital data including program specific information | |
KR100474033B1 (en) | Method for processing digital data and program guide information | |
KR100478383B1 (en) | Decoding method for digital data including program specific information | |
KR100518496B1 (en) | Storage medium storing packetized data program and method for forming program specific information | |
KR100515707B1 (en) | Program specific information formation for digital data processing | |
MXPA98009922A (en) | Data formats in packages for a digita data storage environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130117 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140120 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150120 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160119 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20170119 Year of fee payment: 13 |
|
EXPY | Expiration of term |