KR100515707B1 - Program specific information formation for digital data processing - Google Patents
Program specific information formation for digital data processing Download PDFInfo
- Publication number
- KR100515707B1 KR100515707B1 KR1019980709738A KR19980709738A KR100515707B1 KR 100515707 B1 KR100515707 B1 KR 100515707B1 KR 1019980709738 A KR1019980709738 A KR 1019980709738A KR 19980709738 A KR19980709738 A KR 19980709738A KR 100515707 B1 KR100515707 B1 KR 100515707B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- psi
- data
- pid
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015572 biosynthetic process Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 49
- 230000008859 change Effects 0.000 abstract description 10
- 239000000872 buffer Substances 0.000 description 26
- 230000008569 process Effects 0.000 description 17
- 230000006978 adaptation Effects 0.000 description 8
- 238000001824 photoionisation detection Methods 0.000 description 8
- 239000007787 solid Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 206010036618 Premenstrual syndrome Diseases 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
-
- 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/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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- 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
-
- 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/4344—Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
-
- 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
- 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/4348—Demultiplexing of additional data and video streams
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4355—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
-
- 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
프로그램 특정 정보(PSI)는 패킷화된 데이터 스트림의 형태로 프로그램의 데이터 내용을 복원하는데 사용하기에 적당하게 형성된다. 프로그램을 구성하는 각각의 패킷화된 데이터 스트림을 식별하는 패킷 식별자(PID)는 번호가 재지정되며, 상이한 프로그램을 구성하는 대응하는 패킷화된 데이터 스트림은 동일한 PID(115)에 제공된다. 프로그램을 구성하는 각각의 패킷화된 데이터 스트림에 번호가 재지정된 PID를 연관시키는 프로그램 맵 테이블(PMT)이 생성된다. 또한, PMT를 구비하는 패킷을 식별하는 PID에 프로그램을 연관시키는 프로그램 연관 테이블(PAT)이 생성된다. 파라미터는 PSI와 이전 PSI 내용간의 실질적인 차이에 관계없이 프로그램의 후속 처리에 PSI 가 사용되는 것을 표시하기 위해 PSI 내에 사용될 수 있다. 또한, PSI는 PSI 내용에서의 실질적인 변화에 관계없이 PSI의 연속 발생 사이에서 변화된 버전 번호를 조합시킬 수 있다. 하나 이상의 개인 데이터 요소는 프로그램을 기술하기 위해 PMT에 포함될 수 있다.Program specific information (PSI) is suitably formed for use in restoring the data content of a program in the form of a packetized data stream. Packet identifiers (PIDs) identifying each packetized data stream constituting a program are renumbered, and corresponding packetized data streams constituting a different program are provided to the same PID 115. A program map table (PMT) is created that associates a numbered PID with each packetized data stream constituting the program. In addition, a program association table (PAT) is generated that associates a program with a PID that identifies a packet with a PMT. The parameter may be used in the PSI to indicate that the PSI is used for subsequent processing of the program, regardless of the substantial difference between the PSI and the previous PSI content. In addition, the PSI can combine the changed version numbers between successive occurrences of the PSI regardless of the substantial change in the PSI content. One or more personal data elements may be included in the PMT to describe the program.
Description
본 발명은 디지털 신호 처리 분야에 관한 것이다. 더 상세히 말하자면, 본 발명은 프로그램 내용을 복원하는데 사용되는 프로그램 특정 정보(Program Specific Information:PSI)의 형성과, 저장용 디지털 화상(video) 데이터 정보의 삽입 등에 관한 것이다. The present invention relates to the field of digital signal processing. More specifically, the present invention relates to the formation of Program Specific Information (PSI) used for restoring program content, the insertion of storage digital video data information, and the like.
화상 처리 및 저장 애플리케이션에 있어서, 디지털 화상 데이터는 공지된 표준 방식의 요구 사항에 부합하도록 부호화되는 것이 통상적이다. 이처럼 광범위하게 채택된 표준 방식 중 하나는 MPEG2(동화상 전문가 그룹) 이미지 부호화 표준 방식(이후 "MPEG 표준 방식"이라 함)이다. MPEG 표준 방식은 시스템 부호화 섹션(ISO/IEC 13818-1, 1994. 6. 10)과 화상 부호화 섹션(ISO/IEC 13818-2, 1995. 1. 20)(이후 각각 "MPEG 시스템 표준 방식" 과 "MPEG 화상 표준 방식"이라 함)으로 구성된다. MPEG 표준 방식에 의해 부호화된 화상 데이터는, 통상 많은 프로그램 채널(예컨대, 채널 1 내지 채널 125)의 데이터 내용을 포함하는 패킷화된 데이터 스트림의 형태를 갖는다. 예컨대, 디코더가 이 패킷화된 데이터 스트림을 복호화하고 디스플레이를 위해 선택된 프로그램 채널의 화상 데이터 내용을 복원하기 위하여, 선택된 프로그램 채널을 포함하는 각각의 패킷을 식별 및 조합해야한다. In image processing and storage applications, digital image data is typically encoded to meet the requirements of known standard schemes. One such widely adopted standard scheme is the MPEG2 (Moving Picture Experts Group) image coding standard scheme (hereinafter referred to as the "MPEG standard scheme"). The MPEG standard scheme is the system encoding section (ISO / IEC 13818-1, June 10, 1994) and the image encoding section (ISO / IEC 13818-2, January 20, 1995) (hereinafter referred to as "MPEG system standard scheme" and " MPEG picture standard system ". Picture data encoded by the MPEG standard scheme usually takes the form of a packetized data stream containing the data content of many program channels (e.g., channels 1 to 125). For example, the decoder must identify and combine each packet containing the selected program channel in order to decode this packetized data stream and restore the image data contents of the program channel selected for display.
MPEG 표준 방식은 선택된 프로그램 채널의 내용을 복원하기 위해 각각의 데이터 패킷을 식별 및 조합하는데 사용하기 위한 프로그램 특정 정보(PSI)를 정의한다. PSI는 사용자가 정의 가능한 정보 요소와 필수 정보 요소 모두를 포함하며, 패킷화된 데이터 스트림을 포함하는 모든 프로그램 채널의 데이터 내용의 복원을 위한 충분한 정보를 포함하도록 정의된다. 더욱이, PSI는 패킷화된 데이터 스트림과 결합된다. 이로써, 데이터 스트림을 저장하기 위해 필요한 저장 용량이 증가하는 한편, 프로그램 내용의 통신용으로 이용 가능한 통신 대역폭을 감소된다. 이와 같이, PSI는 부가적인 부호화 오버헤드를 나타내게 된다. The MPEG standard scheme defines program specific information (PSI) for use in identifying and combining each data packet to recover the contents of the selected program channel. The PSI includes both user definable and mandatory information elements, and is defined to contain sufficient information for the restoration of the data content of all program channels, including packetized data streams. Moreover, PSI is combined with packetized data streams. This increases the storage capacity required for storing the data stream, while reducing the available communication bandwidth for communication of program content. As such, the PSI represents additional encoding overhead.
PSI에 부과되는 오버헤드의 정도는 PSI에 포함된 데이터의 양(PSI 의 크기)과 패킷화된 데이터 스트림 내에서 PSI의 반복 횟수에 따라 달라진다. 최소한, PSI는 패킷화된 데이터 스트림을 포함하는 모든 프로그램 채널의 데이터 내용을 복원하기에 충분한 정보를 포함할 필요가 있다. 패킷화된 데이터 스트림에서 PSI의 최소 반복 횟수는 소망하는 시스템 동작 지연 특성에 의해 제한된다. 예컨대, 디코더는 텔레비전 시청자(viewer)의 명령에 의해 제어된 프로그램 채널의 변경을 수행하기 위해 갱신된 PSI를 필요로 한다. 결론적으로, 최소한의 PSI 반복 횟수는 채널 제어 명령의 변경에 따른 지연(대기 시간)이 허용되기 위한 텔레비전 시청자의 의도에 의해 제한된다. 이러한 문제점들은 본 발명에 따른 시스템에 의해 해결된다. The amount of overhead imposed on the PSI depends on the amount of data included in the PSI (size of the PSI) and the number of iterations of the PSI within the packetized data stream. At a minimum, the PSI needs to contain enough information to recover the data content of all program channels including the packetized data stream. The minimum number of iterations of PSI in a packetized data stream is limited by the desired system operating delay characteristics. For example, the decoder needs an updated PSI to perform the change of program channel controlled by the instruction of the television viewer. In conclusion, the minimum number of PSI repetitions is limited by the intention of the television viewer to allow a delay (latency) due to the change of the channel control command. These problems are solved by the system according to the invention.
도 1은 다양한 형태의 매체에 저장하기 위해 패킷화된 데이터 스트림에 압축 PSI를 적절하게 생성 및 삽입하기 위한 본 발명에 따른 화상 수신 시스템을 나타낸 도면. 1 is an illustration of an image receiving system in accordance with the present invention for properly generating and inserting a compressed PSI into a packetized data stream for storage on various types of media.
도 2는 PSI로부터 압축된 프로그램 특정 정보(CPSI)를 생성하고, 선택 가능한 저장 매체에 저장하기 적당한 패킷화된 데이터 스트림에 압축된 프로그램 특정 정보(CPSI)를 결합하는 과정을 나타낸 흐름도. FIG. 2 is a flow chart illustrating the process of generating compressed program specific information (CPSI) from a PSI and combining the compressed program specific information (CPSI) into a packetized data stream suitable for storage on a selectable storage medium.
도 3은 선택된 저장 매체에 선택된 프로그램의 저장을 위해 CPSI를 형성하는 과정을 나타낸 흐름도. 3 is a flowchart illustrating a process of forming a CPSI for storing a selected program in a selected storage medium.
도 4는 프로그램 복호화시 정확한 CPSI가 사용되는 것을 보장하기 위해 CPSI를 포맷하는 과정을 나타낸 흐름도. 4 is a flowchart illustrating a process of formatting CPSI to ensure that correct CPSI is used in program decoding.
도 5는 선택된 저장 장치로부터 선택된 프로그램을 복원하기 위한 과정을 나타낸 흐름도. 5 is a flowchart illustrating a process for restoring a selected program from a selected storage device.
본원의 발명자는 일부 응용에서, PSI에 의해 부과된 오버헤드를 감소시키는 것이 바람직하다는 것을 인식하고 있다. 예컨대, 용량이 제한된 디지털 저장 응용 에서, 저장 매체에 저장된 PSI의 크기를 감소시키고 저장 매체에서 반복되는 PSI의 횟수를 감소시키는 것이 바람직하다. 다른 화상 처리 응용에서는, PSI의 반복 횟수를 더 많이 허용하기 위해 PSI의 크기를 감소시키고, 이로써 프로그램 내용의 복원 대기 시간을 감소시키는 것이 바람직하다. 또한, 생성된 PSI는 선택된 저장 매체의 동작 특성 및 사용자 요구 사항에 부합해야 한다. The inventors of the present application recognize that in some applications, it is desirable to reduce the overhead imposed by PSI. For example, in capacity limited digital storage applications, it is desirable to reduce the size of the PSI stored on the storage medium and to reduce the number of PSI repeated on the storage medium. In other image processing applications, it is desirable to reduce the size of the PSI in order to allow more repetitions of the PSI, thereby reducing the restoration waiting time of the program contents. In addition, the generated PSI must meet the operating characteristics and user requirements of the selected storage medium.
또한, 본원의 발명자는 상이한 복원 파라미터(인자)를 필요로 하는 프로그램의 내용 복원을 위해 다른 프로그램의 PSI를 잘못 사용하는 것을 최소화하는 형태로 PSI를 저장 매체에 저장하는 것이 바람직하다는 것을 인식하고 있다. 이러한 상황은 저장 매체가 상이한 패킷화된 데이터 스트림으로부터 얻어진 프로그램을 저장하는 데 사용되는 경우, 예컨대 저장 매체가 상이한 데이터 스트림으로부터 얻어진 프로그램으로 중복 기록되는 경우에 발생할 수 있다. 또한, PSI 저장 포맷은 프로그램 복원 지연 시간을 감소시키고, 랜덤 액세스(random access) 데이터 복원 시간을 최소화하는 것이 이상적일 것이다. 고속 랜덤 액세스는, 예컨대 VCR과 같은 고속 재생 또는 내용 스키핑(skipping)(트릭 플레이)을 포함하는 저장 장치의 동작에서 특히 중요하다. In addition, the inventors of the present application recognize that it is desirable to store the PSI in a storage medium in a form that minimizes misuse of the PSI of another program for restoring the contents of a program requiring different restoration parameters (arguments). This situation can occur when the storage medium is used to store programs obtained from different packetized data streams, for example when the storage medium is overwritten with programs obtained from different data streams. In addition, the PSI storage format would ideally reduce program recovery delay time and minimize random access data recovery time. Fast random access is particularly important in the operation of storage devices, including fast playback or content skipping (trick play) such as for example a VCR.
본 발명의 원리에 따라, 화상 처리 시스템은 프로그램 내용 복원에 사용되는 프로그램 특정 정보(PSI)에 의해 부과된 처리 과정 및 저장 오버헤드를 감소시킨다. 개시된 시스템은 압축된 PSI를 제공하고, 감소된 처리 과정 및 저장 오버헤드를 제공하기 위해 이 압축된 PSI를 패킷화된 데이터 스트림에 적절하게 삽입한다. 본 발명의 시스템은 비디오 테이프, 디지털 비디오 디스크(DVD) 또는 CDROM과 같은 각종 저장 매체의 종류에 적합하게 PSI를 적절하게 생성한다. 더욱이, 저장 매체 포맷과 패킷화된 데이터 스트림 포맷은 압축된 PSI를 이용하여 데이터 처리 효율을 증가시키는 것이 개시되어 있다. 상기 개시된 저장 및 데이터 스트림 포맷은 감소된 프로그램 복원 대기 시간을 제공하고, 프로그램 경계를 넘어가는 부정확한 PSI파라미터를 최소화한다. According to the principles of the present invention, the image processing system reduces the processing and storage overhead imposed by the program specific information (PSI) used for program content restoration. The disclosed system provides a compressed PSI and appropriately inserts the compressed PSI into the packetized data stream to provide reduced processing and storage overhead. The system of the present invention suitably generates PSI for various types of storage media such as video tapes, digital video discs (DVD) or CDROMs. Moreover, storage media formats and packetized data stream formats are disclosed that utilize compressed PSI to increase data processing efficiency. The disclosed storage and data stream formats provide reduced program recovery latency and minimize inaccurate PSI parameters across program boundaries.
패킷화된 데이터 스트림의 형태로 프로그램의 데이터 내용을 복원하는데 사용하기 적당한 프로그램 특정 정보(PSI)의 형성 방법이 개시되어 있다. 이 방법은 프로그램을 구성하는 각각의 패킷화된 데이터 스트림을 식별하는 패킷 식별자(PID)의 번호를 재특정하는 단계를 포함한다. 상이한 프로그램을 구성하는 대응하는 패킷화된 데이터 스트림에는 동일한 PID가 제공된다. 상기 번호가 재특정된 PID를 프로그램을 구성하는 각각의 패킷화된 데이터 스트림과 연관시키는 프로그램 맵 테이블(PMT)이 생성된다. 또한, 프로그램 연관 테이블(PAT)이 생성된다. PAT는 상기 프로그램을 PMT를 구비하는 패킷을 식별하는 PID과 연관시킨다. A method of forming program specific information (PSI) suitable for use in restoring data contents of a program in the form of a packetized data stream is disclosed. The method includes re-specifying a number of a packet identifier (PID) that identifies each packetized data stream constituting the program. The same PIDs are provided for corresponding packetized data streams that make up different programs. A program map table (PMT) is created that associates the renumbered PID with each packetized data stream constituting the program. In addition, a program association table (PAT) is generated. The PAT associates the program with a PID that identifies a packet with a PMT.
본 발명의 특징으로서, PSI 와 이전 PSI 내용간의 실질적인 차이에 관계없이 프로그램의 후속 처리에 PSI 가 사용될 것이라는 것을 표시하는 파라미터가 PSI 내에서 채용한다. As a feature of the invention, a parameter is employed within the PSI that indicates that the PSI will be used for subsequent processing of the program, regardless of the substantial difference between the PSI and previous PSI content.
본 발명의 다른 특징으로서, PSI의 상이한 버전간의 차이를 구분 하기 위해 PSI에 버전 번호가 포합되고, 이 버전 번호는 연속적으로 생성되는 PSI 내용에서의 실질적인 변화에 관계없이 상기 PSI의 연속 발생 사이에서 변화된다. As another feature of the invention, a version number is incorporated in the PSI to distinguish between differences between different versions of the PSI, which version number varies between successive occurrences of the PSI regardless of the substantial change in the successively generated PSI content. do.
본 발명의 다른 특징으로서, 하나 이상의 개인적인 데이터 요소가 프로그램을 기술하는 PMT에 포함될 수 있다. 이 데이터 요소는 타이틀, 지속 기간, 프로그램 설명, 폭력 등급, 시청 가능 연령 등급, 기록 시간, 기록일 및 버전 리스트로부터 선택된다. As another feature of the invention, one or more personal data elements may be included in the PMT describing the program. This data element is selected from the title, duration, program description, violence rating, viewable age rating, recording time, recording date and version list.
도 1은 압축된 PSI를 적응형으로 생성하여 저장될 패킷화된 데이터 스트림 내에 삽입하는 본 발명에 따른 화상 수신 시스템의 예를 나타내고 있다. 이 수신기 시스템은 비디오 테이프, 디지털 비디오 디스크(DVD) 또는 CDROM 과 같은 각종 매체용 PSI를 적응형으로 생성한다. 더욱이, 화상 수신 시스템은 프로그램 내용 복원을 위해 사용되는 프로그램 특정 정보(PSI)에 의해 부과된 처리 과정 및 저장 오버헤드를 감소시킨다. 1 shows an example of an image receiving system according to the present invention which adaptively generates a compressed PSI and inserts it into a packetized data stream to be stored. This receiver system adaptively generates PSI for various media such as video tapes, digital video discs (DVD) or CDROMs. Moreover, the image receiving system reduces the processing and storage overhead imposed by the program specific information (PSI) used for the program content restoration.
개시된 시스템이 방송 프로그램을 나타내는 MPEG 방식으로 부호화된 트랜스포트 스트림(transport stream)을 수신하기 위한 MPEG 호환 가능 시스템의 내용에 관해 기술되어 있지만, 이것은 예시적인 것에 불과하다. 또한, 본 발명의 원리는 다른 형식으로 부호화된 데이터 스트림을 포함하여 MPEG과 호환 가능하지 않은 시스템을 포함하는 다른 종류의 시스템에 적용될 수 있다. 예컨대, 본 발명의 원리는 디지털 비디오 디스크(DVD) 시스템과 MPEG 프로그램 스트림에 사용될 수 있다. 더욱이, 개시된 시스템은 방송 프로그램을 처리하는 것에 대해 기술되어 있지만, 예는 예시에 불과하다. '프로그램'이란 용어는 임의 형식의 패킷화된 데이터, 예컨대, 전화 메시지, 컴퓨터 프로그램, 인터넷 데이터 또는 기타 다른 통신 정보를 나타내는 데 사용된다.Although the disclosed system is described with respect to the contents of an MPEG compatible system for receiving a transport stream encoded in an MPEG manner representing a broadcast program, this is merely exemplary. The principles of the present invention can also be applied to other types of systems, including systems that are not compatible with MPEG, including data streams encoded in other formats. For example, the principles of the present invention can be used in digital video disc (DVD) systems and MPEG program streams. Moreover, although the disclosed system is described for processing broadcast programs, examples are merely illustrative. The term 'program' is used to refer to any form of packetized data, such as telephone messages, computer programs, Internet data or other communication information.
개괄적으로 말해서, 도 1의 화상 수신 시스템에 있어서, 화상 데이터로 변조된 반송파는 안테나(10)에서 수신되어 유닛(15)에서 처리된다. 그 결과로 발생된 디지털 출력 신호는 복조기(20)에 의해 복조되어, 디코더(30)에 의해 복호화된다. 디코더(30)로부터의 출력은 원격 제어 유닛(125)으로부터의 제어 명령에 응답하여 트랜스포트 시스템(25)에 의해 처리된다. 이 트랜스포트 시스템(25)은 저장, 복호화 또는 다른 장치와의 통신에 사용하기 위한 압축된 데이터의 출력을 제공한다. 화상 수신기 사용자는 원격 제어 유닛(125)을 사용하여 스크린 상의 메뉴를 선택함으로써 그가 시청하길 원하는 프로그램과, 저장하길 원하는 프로그램을 선택하며, 저장 매체의 종류와 저장의 방식을 선택한다. 화상 및 음성 디코더(85, 80)는 디스플레이용 출력을 제공하기 위해 트랜스포트 시스템(25)로부터 제공된 압축 데이터를 각각 복호화한다. 데이터 포트(75)는 트랜스포트 시스템(25)으로부터 다른 장치, 예컨대 컴퓨터나 고선명 텔레비전(HDTV) 수상기에 압축 데이터를 송수신(통신)하기 위한 인터페이스를 제공한다. 저장 장치(90)는 트랜스포트 시스템(25)로부터 제공된 압축 데이터를 저장 매체(105)에 저장한다. 또한, 재생 모드에서, 저장 장치(90)는 트랜스포트 시스템(25)에서 복호화를 하기 위해 저장 매체(105)로부터 압축 데이터의 복원을 지원하고, 상이한 저장 매체(간단히 나타내기 위해 도시 안됨)의 저장이나 다른 장치와의 통신을 지원한다. In general, in the image receiving system of FIG. 1, a carrier wave modulated with image data is received at the antenna 10 and processed in the unit 15. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output from the decoder 30 is processed by the transport system 25 in response to a control command from the remote control unit 125. This transport system 25 provides an output of compressed data for use in storage, decryption or communication with other devices. The image receiver user selects the program he wants to watch, the program he wants to save by selecting a menu on the screen using the remote control unit 125, and selects the type of storage medium and the manner of storage. Image and audio decoders 85 and 80 decode the compressed data provided from transport system 25, respectively, to provide output for display. The data port 75 provides an interface for transmitting and receiving (communicating) compressed data from the transport system 25 to another device, such as a computer or a high definition television (HDTV) receiver. Storage device 90 stores compressed data provided from transport system 25 in storage medium 105. Also, in the playback mode, the storage device 90 supports the restoration of compressed data from the storage medium 105 for decoding in the transport system 25, and the storage of different storage media (not shown for simplicity). Or communication with other devices.
도 1을 상세히 설명하면, 안테나(10)에 의해 수신된 화상 데이터로 변조된 반송파는 디지털 형태로 변환되어 입력 처리기(15)에 의해 처리된다. 이 입력 처리기(15)는 무선 주파수(RF) 동조기와, 중간 주파수(IF) 혼합기와, 추가적인 처리에 적당한 저주파 대역으로 입력 화상 신호를 하향 변환(down-converting)하기 위한 증폭단을 포함한다. 이 결과로 발생된 디지털 출력 신호는 복조기(20)에 의해 복조되고, 디코더(30)에 의해 복호화된다. 디코더(30)로부터의 출력은 트랜스포트 시스템(25)에 의해 추가로 처리된다. Referring to FIG. 1 in detail, a carrier modulated with image data received by the antenna 10 is converted into a digital form and processed by the input processor 15. The input processor 15 includes a radio frequency (RF) tuner, an intermediate frequency (IF) mixer, and an amplifier stage for down-converting the input image signal to a low frequency band suitable for further processing. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output from the decoder 30 is further processed by the transport system 25.
서비스 검출기(33)의 멀티플렉서(MUX)(37)는 디코더(30)로부터의 출력이나 NRSS(National Renewable Standards Committee) 디스크램블링(descrambling) 유닛(40)에 의해 추가로 처리된 디코더(30)의 출력 중 하나로 선택기(35)를 통해 제공된다. 선택기(35)는 삽입 가능하고 NRSS와 호환 가능한 디스크램블링 카드의 존재를 검출하고, 이 카드가 화상 수신기 유닛(NRSS 제거가능 조건부 액세스 시스템은 EIA 드래프트 서류 IS-679, 프로젝트 PN-3639 에 정의되어 있음)에 현재 삽입되었을 때만 유닛(40)의 출력을 MUX(37)에 제공한다. 그 외의 경우, 선택기(35)는 디코더(30)로부터 제공되는 출력을 MUX(37)에 제공한다. 삽입 가능한 카드의 존재로 인해 유닛(40)은 예컨대 부가적인 프레미엄 프로그램 채널을 디스크램블할 수 있으며, 부가적인 프로그램 서비스를 시청자에게 제공할 수 있다. 주목할 것은, 바람직한 실시예에서, NRSS 유닛(40)과 스마트 카드 유닛(130)(스마트 카드 유닛에 대해서는 후에 설명됨)는 동일한 시스템(25) 인터페이스를 공유하여 NRSS 카드 또는 스마트 카드 중 하나만이 소정 시간에 삽입될 수 있다. 그러나, 상기 인터페이스는 병렬 동작을 허용하기 위해 분리될 수도 있다. The multiplexer (MUX) 37 of the service detector 33 is either an output from the decoder 30 or an output of the decoder 30 further processed by the National Renewable Standards Committee (NRSS) descrambling unit 40. One is provided via a selector 35. The selector 35 detects the presence of an insertable and NRSS compatible descrambling card, which card is defined in the picture receiver unit (NRSS removable conditional access system is defined in EIA draft document IS-679, project PN-3639). Outputs the unit 40 to the MUX 37 only when currently inserted. In other cases, the selector 35 provides the output provided from the decoder 30 to the MUX 37. The presence of an insertable card allows unit 40 to descramble additional premium program channels, for example, and provide additional program services to the viewer. Note that, in the preferred embodiment, the NRSS unit 40 and the smart card unit 130 (described later for the smart card unit) share the same system 25 interface so that only one of the NRSS card or smart card is available for a predetermined time. Can be inserted in However, the interface may be separated to allow parallel operation.
선택기(35)로부터 MUX(37)에 제공된 데이터는 MPEG 시스템 표준 섹션 2.4 에서 정의된 바와 같이 MPEG 순응형(compliant) 패킷화 트랜스포트 데이터 스트림의 형태가 되며, 하나 이상의 프로그램 채널의 데이터 내용을 포함한다. 특정 프로그램 채널을 포함하는 각각의 패킷은 패킷 식별자(PID)에 의해 식별된다. 트랜스포트 스트림은 패킷화된 데이터 스트림을 포함하는 모든 프로그램 채널의 내용을 복원하기 위해 PID를 식별하고 각각의 데이터 패킷을 조합하는데 사용하기 위한 프로그램 특정 정보(PSI)를 포함한다. 화상 수신기 사용자는 원격 제어 유닛(125)을 이용하여 스크린 상의 메뉴를 선택함으로써, 시청하길 원하는 프로그램, 저장하길 원하는 프로그램 및 저장용 매체를 선택한다. 시스템 제어기(115)는 저장 및 디스플레이용 프로그램을 선택하고 선택된 저장 장치와 매체를 위해 적당한 PSI를 생성하기 위한 시스템(25)을 구성하기 위해 인터페이스(120)를 통해 제공된 선택 정보를 이용한다. 시스템 제어기(115)는 시스템(25)의 구성 성분(45, 47, 50, 55, 65 및 95)을 구비하는데, 이것은 데이터 버스를 통해 이들 구성 성분내의 제어 레지스터 값을 설정하고 제어 신호 C에 의해 MUX(37, 110)를 통해 신호 경로를 선택함으로써 달성된다. The data provided from the selector 35 to the MUX 37 is in the form of an MPEG compliant packetized transport data stream, as defined in MPEG System Standards Section 2.4, and contains the data content of one or more program channels. . Each packet containing a particular program channel is identified by a packet identifier (PID). The transport stream includes program specific information (PSI) for use in identifying PIDs and combining each data packet to recover the contents of all program channels including the packetized data stream. The image receiver user selects a program to be watched, a program to be stored, and a storage medium by using the remote control unit 125 to select a menu on the screen. The system controller 115 uses the selection information provided through the interface 120 to select a program for storage and display and to configure the system 25 to generate a PSI suitable for the selected storage device and medium. System controller 115 has components 45, 47, 50, 55, 65, and 95 of system 25, which set control register values in these components via a data bus and are controlled by control signal C. This is accomplished by selecting a signal path through the MUXs 37 and 110.
제어 신호 C 에 응답하여, MUX(37)는 유닛(35)으로부터의 트랜스포트 스트림이나, 재생 모드에서 저장 인터페이스(95)를 통해 저장 장치(90)로부터 검색된 데이터 스트림 중 하나를 선택한다. 정상적인 비재생 동작에 있어서, 사용자가 시청하기 위해 선택한 프로그램을 구성하는 데이터 패킷은 선택 유닛(45)에서 이들의 PID에 의해 식별된다. 선택된 프로그램 패킷의 헤더 데이터에 있는 암호화 표시자에 의해 패킷이 암호화되었다는 것이 표시되었다면, 유닛(45)은 이 패킷들을 암호해독 유닛(50)에 제공할 것이다. 그 외의 경우 유닛(45)은 암호화되지 않은 패킷들을 트랜스포트 디코더(55)에 제공한다. 이와 마찬가지로, 사용자가 저장용으로 선택한 프로그램을 포함하는 데이터 패킷은 선택 유닛(47)에서 이들의 PID에 의해 식별된다. 유닛(47)은 패킷 헤더 암호화 표시자 정보에 따라 암호화된 패킷을 암호해독 유닛(50)에 제공하거나 암호화되지 않은 패킷을 MUX(110)에 제공한다. In response to the control signal C, the MUX 37 selects either the transport stream from the unit 35 or the data stream retrieved from the storage device 90 via the storage interface 95 in the playback mode. In the normal non-playback operation, data packets constituting a program selected by the user for viewing are identified by their PID in the selection unit 45. If the encryption indicator in the header data of the selected program packet indicated that the packet was encrypted, unit 45 will provide these packets to decryption unit 50. In other cases, the unit 45 provides the unencrypted packets to the transport decoder 55. Similarly, data packets containing a program selected by the user for storage are identified by their PID in the selection unit 47. The unit 47 provides the encrypted packet to the decryption unit 50 or the unencrypted packet to the MUX 110 according to the packet header encryption indicator information.
유닛(45,47)은 MUX(37)에 의해 제공되는 입력 패킷의 PID를 제어기(115)에 의해 유닛(45,47)내의 제어 레지스터에 사전 로딩(pre-load)된 PID값과 매칭시키는 PID 검출 필터를 채용한다. 사전 로딩된 PID는 저장될 데이터 패킷과, 화상 이미지를 제공하는데 사용하기 위해 복호화될 데이터 패킷을 식별하기 위해 유닛(47,45)에 사용된다. 사전 로딩된 PID는 유닛(45,47)의 조사 테이블에 저장된다. PID 조사 테이블은 각각의 사전 로딩된 PID와 암호화 키를 연관시키는 유닛(45,47) 내의 암호화 키 테이블에 메모리 맵핑(memory mapped)된다. 메모리 맵핑된 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 match PIDs of the input packets provided by the MUX 37 with PID values pre-loaded by the controller 115 into the control registers in the units 45 and 47. A detection filter is adopted. The preloaded 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 providing the image image. The preloaded PID is stored in the lookup table of units 45 and 47. The PID lookup table is memory mapped to an encryption key table in units 45 and 47 that associates each preloaded PID with an encryption key. By means of the memory mapped PID and encryption key lookup table, units 45 and 47 can match encrypted packets containing preloaded PIDs with an associated encryption key that enables their decryption. Unencrypted packets do not have an associated encryption key. Units 45 and 47 provide the decryptor 50 with both the identified packets and their associated encryption keys. In addition, the PID lookup table in unit 45 is memory mapped to a destination table that matches a packet containing a preloaded PID to a corresponding destination buffer location in packet buffer 60. The encryption key and destination buffer location address associated with the program selected by the user for viewing or storage are preloaded into units 45 and 47 together with the PID assigned by controller 115. The encryption key is generated by the ISO 7816-3 compliant smart card system 130 from the encryption code extracted from the input data stream. The generation of the encryption key relies on customer naming determined from coded information pre-stored in the insertable smart card itself (in 1989, the International Organization for Standardization, ISO 7816-3, interfaces and signal structures for smart card systems are defined. has exist).
유닛(45,47)에 의해 유닛(50)에 제공된 패킷은 상무성(Department of Commerce) 국제 기술 정보 서비스(National Technical Information Service)에 의해 제공된 연방 정보 표준(Federal Information Standard:FIP) 간행물 46, 74 및 81 에 정의된 데이터 암호화 표준(Data Encryption Standard:DES)에 따라 암호화된다. 유닛(50)은 공지된 기술로 유닛(45,47)에 의해 제공된 대응 암호화 키를 사용하여 암호화된 패킷을 암호해독한다. 디스플레이용 프로그램을 포함하는 유닛(50)으로부터 해독된 패킷 및 유닛(45)으로부터의 암호화되지 않은 패킷은 디코더(55)에 제공된다. 저장용 프로그램을 포함하는 유닛(47)으로부터 제공되는 암호해독된 패킷과 유닛(47)으로부터 제공되는 암호화되지 않은 패킷은 MUX(110)에 제공된다. Packets provided to units 50 by units 45 and 47 are subject to Federal Information Standard (FIP) publications 46, 74 and provided by the Department of Commerce National Technical Information Service. Encrypted according to the Data Encryption Standard (DES) defined in 81. The unit 50 decrypts the encrypted packet using the corresponding encryption key provided by the units 45 and 47 by known techniques. Packets decrypted from the unit 50 containing the program for display and unencrypted packets from the unit 45 are provided to the decoder 55. The decrypted packet provided from the unit 47 containing the storage program and the unencrypted packet provided from the unit 47 are provided to the MUX 110.
유닛(60)은 제어기(115)에 의해 액세스 가능한 4개의 패킷 버퍼를 포함한다. 이들 버퍼중 하나는 제어기(115)에 사용하기 위한 데이터를 유지하기 위해 할당되고, 나머지 3개의 버퍼들은 응용 장치(75,80,85)에 사용하기 위한 패킷을 유지하기 위해 할당된다. 제어기(115) 및 응용 인터페이스(70) 양자에 의해 유닛(60)내의 4개의 버퍼에 저장된 패킷으로의 액세스는 버퍼 제어 유닛(65)에 의해 제어된다. 유닛(45)은 복호화를 위해 유닛(45)에 의해 식별된 각 패킷에 대한 유닛(65)에 목적지 플래그를 제공한다. 이 플래그는 식별된 패킷에 대한 각 유닛(60)의 목적지 위치를 표시하고, 제어 유닛(65)에 의해 내부 메모리 테이블내에 저장된다. 제어 유닛(65)은 선입선출(First-In-First-Out: FIFO) 원리에 기초하여 버퍼(60)내에 저장된 패킷과 관련된 일련의 판독 및 기록 포인터를 판정한다. 목적지 플래그와 관련된 기록 포인터에 의해 유닛(60)의 적절한 목적지 버퍼 내에 있는 다음 빈(empty) 위치에 유닛(45 또는 50)으로부터의 식별된 패킷을 순차적으로 저장할 수 있다. 판독 포인터에 의해서는 제어기(115)와 응용 인터페이스(70)에 의해 적절한 유닛(60)의 목적지 버퍼에서 제공되는 패킷의 순차적인 판독이 허용된다. Unit 60 includes four packet buffers accessible by controller 115. One of these buffers is allocated to hold data for use in the controller 115, and the remaining three buffers are allocated to hold packets for use in the application devices 75, 80, and 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 provides a destination flag to unit 65 for each packet identified by unit 45 for decryption. This flag indicates the destination position of each unit 60 for the identified packet and is stored in the internal memory table by the control unit 65. The control unit 65 determines a series of read and write pointers associated with the packets stored in the buffer 60 based on the first-in-first-out (FIFO) principle. The write pointer associated with the destination flag may sequentially store the identified packets from the unit 45 or 50 at the next empty location in the appropriate destination buffer of the unit 60. The read pointer allows sequential reading of packets provided by the controller 115 and the application interface 70 in the destination buffer of the appropriate unit 60.
유닛(45,50)에 의해 디코더(55)에 제공된 암호화되지 않은 패킷과 해독된 패킷은 MPEG 시스템 표준의 섹션 2.4.3.2 에서 정의된 바와 같이 트랜스포트 헤더를 포함한다. 디코더(55)는 암호화되지 않은 패킷과 해독된 패킷이 (MPEG 시스템 표준에 대해) 적응 필드를 포함하는지 여부를 트랜스포트 헤더로부터 판정한다. 적응 필드는 예컨대, 내용 패킷의 동기화 및 복호화를 허용하는 프로그램 클록 기준(Program Clock Reference:PCR)을 포함하는 타이밍 정보를 포함한다. 타이밍 정보 패킷, 즉 적응 필드를 포함하는 패킷을 검출할 경우, 디코더(55)는 인터럽트 메커니즘을 통해 시스템 인터럽트를 설정함으로써 패킷이 수신되었다는 신호를 제어기(115)에 보낸다. 또한, 디코더(55)는 유닛(65) 내의 타이밍 패킷 목적지 플래그를 변경하고, 이 패킷을 유닛(60)에 제공한다. 유닛(65)의 목적지 플래그를 변경함으로써, 유닛(65)은 디코더(55)에 의해 제공된 타이밍 정보 패킷을 응용 버퍼 위치 대신에, 제어기(115)에 의해 사용될 데이터를 유지하기 위해 할당된 유닛(60)의 버퍼 위치로 보낸다. The unencrypted and decrypted packets provided to decoder 55 by units 45, 50 include transport headers as defined in section 2.4.3.2 of the MPEG system standard. The decoder 55 determines from the transport header whether unencrypted packets and decrypted packets contain an adaptation field (for the MPEG system standard). The adaptation field contains timing information, including, for example, a Program Clock Reference (PCR) that allows synchronization and decoding of content packets. When detecting a timing information packet, that is, a packet including an adaptation field, the decoder 55 sends a signal to the controller 115 that the packet has been received by setting a system interrupt via an interrupt mechanism. The decoder 55 also changes the timing packet destination flag in the unit 65 and provides this packet to the unit 60. By changing the destination flag of unit 65, unit 65 assigns the timing information packet provided by decoder 55 to the unit 60 allocated to hold the data to be used by controller 115, instead of the application buffer location. To the buffer location.
디코더(55)에 의해 설정된 시스템 인터럽트를 수신하는 경우, 제어기(115)는 타이밍 정보와 PCR 값을 판독하여, 이것을 내부 메모리에 저장한다. 연속적인 타이밍 정보 패킷의 PCR 값은 시스템(25)의 제어기(115)에 의해 마스터 클록(27 MHz)을 조정하는데 사용된다. 제어기(115)에 의해 생성된 연속적인 타이밍 패킷 수신 사이의 시간 간격에 대한 예상치에 기초한 PCR 및 마스터 클록 사잉의 차이는 시스템(25)의 마스터 클록을 조정하는데 사용된다. 이것은 제어기(115)에 의해 달성되는데, 마스터 클록을 생성하기 위해 사용된 전압 제어식 발진기의 입력 제어 전압을 조정하기 위해 유도된 시간 예상치의 차를 사용하여 달성된다. 제어기(115)는 내부 메모리에 타이밍 정보를 저장한 후 시스템 인터럽트를 리셋한다. When receiving the system interrupt set by the decoder 55, the controller 115 reads the timing information and the PCR value and stores it in the internal memory. PCR values of successive timing information packets are used by the controller 115 of the system 25 to adjust the master clock (27 MHz). Differences in PCR and master clock sizing based on estimates for the time intervals between successive timing packet receipts generated by controller 115 are used to adjust the master clock of system 25. This is accomplished by the controller 115, using the difference in time estimates derived 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 timing information in the internal memory.
음성, 화상, 캡션 및 다른 정보를 비롯한 프로그램 내용을 포함하는 유닛(45,50)으로부터 디코더(55)에 의해 수신된 패킷은 유닛(65)에 의해 디코더(55)로부터 패킷 버퍼(60) 내의 지정된 응용 장치 버퍼로 보내진다. 응용 제어 유닛(70)은 버퍼(60) 내의 지정된 버퍼로부터 음성, 화상, 캡션 및 다른 데이터를 순차적으로 복원하여, 이 데이터를 대응하는 응용 장치(75,80,85)에 제공한다. 응용 장치들은 음성 및 화상 디코더(80,85)와, 고속 데이터 포트(75)를 구비한다. 데이터 포트(75)는 컴퓨터 프로그램과 같은 고속 데이터를 컴퓨터에 제공하는데 사용될 수 있다. 또한, 포트(75)는 데이터, 예컨대 HDTV 디코더에 출력하는데 사용될 수 있다. Packets received by decoder 55 from units 45 and 50, including program content, including audio, pictures, captions, and other information, are designated in packet buffer 60 from decoder 55 by unit 65; Sent to the application device buffer. The application control unit 70 sequentially restores audio, images, captions and other data from the designated buffer in the buffer 60 and provides this data to the corresponding application apparatus 75, 80, 85. FIG. Application devices include voice and picture decoders 80 and 85 and high speed data ports 75. Data port 75 may be used to provide high speed data, such as a computer program, to a computer. Port 75 may also be used to output data, such as to an HDTV decoder.
PSI 정보를 포함하는 패킷은 유닛(60)에 의해 유닛(60) 내의 제어기(115) 버퍼로 보내지는 것으로 인식된다. PSI 패킷은 프로그램 내용을 포함하는 패킷에 대해 설명한 것과 유사한 방식으로 유닛(45,50,55)을 통해 유닛(65)에 의해 버퍼에 보내진다. 제어기(115)는 유닛(60)으로부터 PSI를 판독하고 이것을 내부 메모리에 저장한다. It is recognized that the packet containing the PSI information is sent by the unit 60 to the controller 115 buffer in the unit 60. PSI packets are sent to the buffer by unit 65 via units 45, 50, 55 in a manner similar to that described for packets containing program content. Controller 115 reads the PSI from unit 60 and stores it in internal memory.
제어기(115)는 저장된 PSI로부터 압축 PSI(CPSI)를 생성하고, 선택 가능한 저장 매체에 저장하기 적당한 패킷화된 데이터 스트림에 이 CPSI를 결합시킨다. 도 2의 패킷 식별 및 방향 처리는 유닛(45,47)의 PDI, 목적지 및 암호화 키 조사 테이블 및 제어 유닛(65)의 기능과 함께 제어기(115)에 의해 전술한 방식으로 제어된다. The controller 115 generates a compressed PSI (CPSI) from the stored PSI and combines this CPSI into a packetized data stream suitable for storage in a selectable storage medium. The packet identification and direction processing of FIG. 2 is controlled in the manner described above by the controller 115 together with the functions of the PDI, destination and encryption key lookup table of the units 45 and 47 and the control unit 65.
CPSI가 저장될 특정 프로그램에 관련된 정보를 포함하는 반면에, PSI는 시스템(25)에 입력될 데이터 스트림의 모든 프로그램과 관련된 정보를 포함한다. 결론적으로, CPSI는 PSI에 비해 적은 저장 용량을 차지하고 적은 오버헤드가 부여된다. 게다가, 오버헤드 제한이 일정하게된 경우, CPSI는 PSI에 비해 더 빈번하게 데이터 스트림에서 반복될 수 있고, 이로써 프로그램 내용의 복원 대기 시간을 감소시키기 위해 유도되어 사용될 수 있다. While the CPSI contains information related to a particular program to be stored, the PSI includes information related to all programs of the data stream to be input to the system 25. In conclusion, CPSI occupies less storage capacity and is given less overhead than PSI. In addition, when the overhead limit is constant, the CPSI may be repeated in the data stream more frequently than the PSI, and thus may be derived and used to reduce the restoration latency of the program contents.
MPEG 시스템 표준 섹션 2.4.4 에서 정의된 PSI는 4개의 암호화되지 않은 구성 성분 또는 정보 테이블을 구비한다. 이들은 프로그램 연관 테이블(Program Association Table:PAT), 프로그램 맵 테이블(PMT), 네트워크 정보 테이블(NIT) 및 조건부 액세스 테이블(CAT)이다. 각각의 테이블은 특정 PID에 의해 인식된 데이터 패킷으로부터 형성된다. PMT는 프로그램을 구성하는 각 패킷화된 데이터 스트림을 식별하는 PDI 레이블을 정의한다. 이들 각 스트림은 MPEG 표준에서 명명된 기본 스트림이다. 기본적인 스트림들은 각종 언어 및 캡션 데이터 스트림에 대한 화상이나 음성과 같은 데이터 스트림을 포함한다. PAT는 PMT를 포함하는 패킷의 식별 및 조합을 허용하는 PID에 프로그램 번호를 연관시킨다. NIT는 임의로 선택 가능한 테이블이며, 위성 전송 채널 주파수와 트랜스폰더 채널과 같은 물리적인 네트워크 파라미터를 정의하기 위해 구성되고 사용될 수 있다. CAT는 사용자 명칭 부여에 따른 프로그램으로의 액세스를 제어하는 암호화 코드와 같은 조건부 액세스 정보를 포함한다. The PSI, defined in MPEG System Standard Section 2.4.4, has four unencrypted components or information tables. These are the Program Association Table (PAT), Program Map Table (PMT), Network Information Table (NIT) and Conditional Access Table (CAT). Each table is formed from data packets recognized by a particular PID. The PMT defines a PDI label that identifies each packetized data stream that makes up the program. Each of these streams is an elementary stream named in the MPEG standard. Basic streams include data streams, such as pictures or audio, for various language and caption data streams. The PAT associates a program number with a PID that allows identification and combination of packets containing a PMT. The NIT is an arbitrarily selectable table and can be configured and used to define physical network parameters such as satellite transmission channel frequency and transponder channel. The CAT includes conditional access information, such as an encryption code that controls access to a program according to user naming.
도 2의 단계 205에서, 제어기(115)(도 1)는 단계 200의 개시(start)에 이어 시스템 전원 공급에 의해 초기화 절차를 수행한다. 단계 205에서, 제어기(115)는 유닛(45)(도 1)의 PID 검출 필터에 PAT 및 CAT 테이블에 대해 MPEG으로 정의된 PID값(각각 PID 16진수값 0000 및 16진수값 0001)을 로딩한다. 또한, 제어기(115)는 유닛(45)의 목적지 테이블을 갱신함으로써 유닛(60)의 제어기 버퍼에 PAT 및 CAT 패킷을 사전 할당(pre-assign)한다. 유닛(45)에 의해 검출된 PAT 및 CAT 패킷은 유닛(65)의 제어하에서 디코더(55)를 통해 유닛(60) 내의 제어기 버퍼에 제공된다. 단계 205에서, 제어 유닛(65)은 PSI 인터럽트를 통해 PSI 패킷이 유닛(60)에 존재하는지를 제어기(115)에 알린다. PSI 인터럽트를 수신하면 제어기(115)는 지정된 유닛(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) performs an initialization procedure by system power up following the start of step 200. In step 205, the controller 115 loads the PID values defined in MPEG for the PAT and CAT tables (PID hexadecimal value 0000 and hexadecimal value 0001, respectively) into the PID detection filter of unit 45 (FIG. 1). . The controller 115 also pre-assigns the PAT and CAT packets to the controller buffer of the unit 60 by updating the destination table of the unit 45. PAT and CAT packets detected by the unit 45 are provided to the controller buffer in the unit 60 through the decoder 55 under the control of the unit 65. At step 205, control unit 65 informs controller 115 whether a PSI packet is present in unit 60 via a PSI interrupt. Upon receiving the PSI interrupt, the controller 115 repeatedly accesses the packets stored in the buffer of the designated unit 60 to store the complete CAT and PAT data in the internal memory. The controller 115 determines the PID identifying the PMT and NIT packets from the PAT and then repeats the process for storing complete PMT and NIT data in the internal memory. While powering up the receiver, the controller 115 continues to access the buffer 60 and capture PSI packets in internal memory when receiving a PSI interrupt. As a result, the controller 115 captures, in its internal memory, PAT, PMT, NIT and CAT data with the complete PSI of the transport data stream input to the system 25.
도 2의 단계 210에서, 사용자가 저장하길 원하는 프로그램뿐만 아니라 암호화된 형태로 저장될 프로그램과, 저장을 위해 사용될 매체 및 장치를 식별하는 사용자에 의해 생성된 데이터(SP, SM, SE)는 제어기(115)(도 1)에 입력된다. 원격 제어 유닛(125)으로 스크린 상의 메뉴를 선택한 후에, 사용자가 선택한 데이터가 이 인터페이스(120)를 통해 제어기(115)에 입력된다. 단계 215에서, 입력 선택 데이터(SP)에 응답하여, 제어기(115)는 저장된 PSI로부터 저장을 위해 선택된 프로그램용 PID를 추출한다. 유닛(47) 검출 필터에는 제어기(115)에 의해 저장될 프로그램의 PID와 로딩된다. 이로써, 유닛(47)은 저장용 선택된 프로그램을 포함하는 패킷을 식별할 수 있다. In step 210 of FIG. 2, the data SP, SM, SE generated by the user identifying a program to be stored in encrypted form as well as a program that the user wants to store, a medium and a device to be used for storage are stored in a controller ( 115) (FIG. 1). After selecting a menu on the screen with the remote control unit 125, the data selected by the user is input to the controller 115 via this interface 120. In step 215, in response to the input selection data SP, the controller 115 extracts the programmatic PID selected for storage from the stored PSI. The unit 47 detection filter is loaded with the PID of the program to be stored by the controller 115. As such, unit 47 may identify the packet that contains the selected program for storage.
도 2의 단계 215에서, 유닛(47)(도 1)은 암호화되지 않은 패킷을 MUX(110)에 제공하고, 연관된 암호화 키와 함께 암호화된 패킷(패킷 헤더 데이터의 암호화 표시자에 의해 식별)을 해독 유닛(50)에 제공한다. 암호화 키는 이전에 기술된 방식에 따라 선택된 프로그램(SP)을 위한 CAT로부터 획득된 암호화 코드로부터 스마트 카드(130)(도 1)에 의해 생성된 후에, 도 2의 단계 215에서 제어기(115)에 의해 유닛(47)에 제공된다. 그러나, 선택 데이터 SE가 암호화된 저장을 필요로 하는 경우에, 유닛(47)은 저장될 암호화된 패킷을 MUX(110)로 보낸다. 결론적으로, 도 2의 단계 215에서, 저장될 프로그램(SP)을 포함하는 패킷은 선택 데이터 SE에 따라 암호화된 형태나 해독된 형태로 MUX(110)에 제공된다. 단계 225에서, 제어기(115)는 시스템(25)에 입력되는 트랜스포트 데이터 스트림으로부터 포획된 완전한 프로그램 특정 정보(PSI)로부터 저장용으로 선택된 프로그램(SP)에 대한 압축된 프로그램 특정 정보(CPSI)를 형성한다. 제어기(115)는 도 3에 도시된 과정을 채택함으로써 도 2의 단계 225에서 저장될 각 프로그램에 대한 CPSI를 형성한다.In step 215 of FIG. 2, unit 47 (FIG. 1) provides the unencrypted packet to MUX 110 and identifies the encrypted packet (identified by the encryption indicator in the packet header data) with an associated encryption key. To the decryption unit 50. The encryption key is generated by the smart card 130 (FIG. 1) from an encryption code obtained from the CAT for the selected program SP according to the manner previously described, and then sent to the controller 115 in step 215 of FIG. By the unit 47. However, if the selection data SE requires encrypted storage, unit 47 sends an encrypted packet to MUX 110 to be stored. In conclusion, in step 215 of FIG. 2, the packet including the program SP to be stored is provided to the MUX 110 in encrypted form or decrypted form according to the selection data SE. In step 225, the controller 115 obtains the compressed program specific information CPSI for the program SP selected for storage from the complete program specific information PSI captured from the transport data stream input to the system 25. Form. The controller 115 forms the CPSI for each program to be stored in step 225 of FIG. 2 by employing the process shown in FIG.
단계 300의 개시에 이어, 도 3의 단계 305에서, 제어기(115)는 PMT 및 NIT를 식별하는 PID 뿐만 아니라 저장될 프로그램을 구성하는 기본적인 스트림의 PID 값의 번호를 다시 지정한다. 우연히 일치하는 경우를 제외하고, 번호가 재지정된 PID 값은 시스템(25)에 입력되는 트랜스포트 스트림의 PSI에서 복원된 대응 PID 값과 상이하다. 번호가 재지정된 PID는 PMT를 식별하기 위해 고정(기본) PID를 할당하고, 화상, 음성, 캡션, PCR 및 NIT에 대한 PID 값을 판정하기 위해 기본 PID에 소정의 오프셋 값을 부가함으로써 결정된다. 저장될 2개의 프로그램(프로그램 1 및 프로그램 2)에 대해 예시적인 PID 할당 방법이 표 1에 도시되어 있다. Following the start of step 300, in step 305 of FIG. 3, the controller 115 renumbers the PIDs of the elementary streams that make up the program to be stored as well as the PIDs identifying the PMTs and NITs. Except in the case of a coincidence, the renumbered PID value is different from the corresponding PID value recovered in the PSI of the transport stream input to the system 25. The numbered PID is determined by assigning a fixed (base) PID to identify the PMT and adding a predetermined offset value to the base PID to determine the PID values for the picture, voice, caption, PCR, and NIT. An exemplary PID allocation method is shown in Table 1 for two programs (Program 1 and Program 2) to be stored.
표 1로부터 알 수 있는 바와 같이, 2개의 프로그램에 대해 대응하는 기본 스트림은 동일한 PID에 제공되는데, 예를 들어 프로그램 1 및 2에 대한 화상 스트림은 PID=0401에 의해 모두 식별된다. 대응하는 기본 스트림에 동일한 PID 값을 할당하는 것은 디코더 또는 재생 장치에 의해 수행된 데이터 검색 및 복원 과정을 간단하게 만든다. 디코더는 PID 맵핑 해제 데이터를 먼저 포획 및 조합할 필요 없이 스트림을 직접 식별할 수 있다. 그러나, 이러한 방식으로 PID의 번호를 재지정하는 것은 잠재적으로 PID가 불확실해질 수 있으며, 각 프로그램에 속해 있는 번호가 재지정된 기본 스트림이 결합되지 않을 수 있다. 그 외의 경우, 동일한 PID를 공유하고 상이한 프로그램에 속해 있는 기본 스트림이 결합되는 것으로 인해 오류가 있는 프로그램 어셈블리가 생길 수 있다. 결론적으로, 단계 305에서의 PID 번호의 재지정은 각 프로그램에 속해 있는 기본 스트림 그룹이 개별적으로 식별될 수 있는 응용 장치에서 채택된다. 이러한 응용 장치는 각 프로그램의 기본 스트림이 서로 결합되지 않는 데이터 스트림 생성 및 테이프 저장 장치를 포함한다. As can be seen from Table 1, the corresponding elementary streams for the two programs are provided in the same PID, for example the picture streams for programs 1 and 2 are both identified by PID = 0401. Assigning the same PID value to the corresponding elementary stream simplifies the data retrieval and recovery process performed by the decoder or playback device. The decoder can directly identify the stream without having to first capture and combine the PID demapping data. However, renumbering PIDs in this manner can potentially cause the PID to be uncertain, and the numbered elementary streams belonging to each program may not be combined. Otherwise, elementary streams that share the same PID and belong to different programs can result in a faulty program assembly. In conclusion, the reassignment of PID numbers in step 305 is adopted in an application device in which elementary stream groups belonging to each program can be individually identified. Such applications include data stream generation and tape storage where the elementary streams of each program are not combined with each other.
대안으로, 잠재적인 PID 불확실성을 피하는 기타 다른 PID 할당 구성이 사용될 수도 있다. 예를 들어, 기본 PID 값은 미국의 Advanced Television Systems Committee(ATSC)에 의해 제안된 1995년 4월 2일의 "Digital Television Standard for HDTV Transmission" 의 섹션 8.4.7.1 의 고선명 텔레비전(HDTV) 신호 복호화를 위해 제안된 것과 같이, 특히 개별적인 프로그램을 식별하기 위해 할당될 수 있다. 또한, 프로그램을 구성하는 기본 스트림의 PID 값은 번호 재지정되지 않고 전달되어 저장될 수 있다. 이러한 구성은 간단히 수행될 수 있지만, 데이터 복원 과정을 간단하게 하지는 않는다. PAT 및 CAT를 식별하는 PID는 MPEG 표준에서 정의된 바와 같이 각각 0000 및 0001(16 진수)이라는 것에 유의하라. Alternatively, other PID assignment schemes may be used that avoid potential PID uncertainties. For example, the default PID value is based on the high-definition television (HDTV) signal decoding of section 8.4.7.1 of "Digital Television Standard for HDTV Transmission" of April 2, 1995, proposed by the Advanced Television Systems Committee (ATSC) of the United States. As suggested for this purpose, in particular, it may be assigned to identify individual programs. In addition, the PID value of the elementary stream constituting the program may be transferred and stored without being renumbered. This configuration can be performed simply, but does not simplify the data recovery process. Note that the PIDs identifying PAT and CAT are 0000 and 0001 (hexadecimal), respectively, as defined in the MPEG standard.
도 3의 단계 310에서, 제어기(115)는 0000인 PID 값(16진수)을 갖는 프로그램 연관 테이블(PAT)을 생성한다. PAT는 현재 저장되는 각 프로그램에 대해서만 생성되는 것이 바람직하며, 새로운 PAT는 각각의 저장된 프로그램을 위해 생성된다. 따라서, PAT는 단일의 프로그램 맵 테이블(PMT)의 식별에 필요한 엔트리만을 포함한다. 표 1에 도시된 예시적인 프로그램에 있어서, 프로그램 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 having a PID value (hexadecimal) equal to 0000. The PAT is preferably generated only for each program currently stored, and a new PAT is created for each stored program. 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 1, the CPSI of both Program 1 and Program 2 will include a PAT with a PID entry 0400 identifying a single PMT. In addition, the PAT may be configured to include an entry for identification of a PMT for every program that the user has selected to store or for all programs previously stored on the storage medium in addition to the user's choice to store. To generate the latter type of PAT, the controller 115 restores the PID of the pre-recorded PMT from the storage medium 105 via the interface 95 and the device 90 prior to generating the PAT. Once the NIT is generated, the PID that allows identification of the NIT packet, as described later, includes the PAT.
단계 315에서, 제어기(115)는 구성 요소의 기본 스트림을 식별하기 위해 소정의 번호가 재지정된 PID 값을 이용하여 저장될 각 프로그램에 대한 PMT를 생성한다. 저장된 각각의 프로그램을 구성하는 기본 스트림은 이전에 저장된 PSI 데이터로부터 제어기(115)에 의해 결정된다. 단계 320에서, 제어기(115)는 각각의 프로그램이 암호화된 형태로 저장되었는지 여부를 인터페이스 유닛(120)(도 1)을 통해 제공된 사용자 입력 데이터 SE 로부터 판정한다. 프로그램이 암호화되지 않은 형태로 저장된 경우에, 제어기(115)는 도 3의 단계 330의 실행을 계속하고 조건부 액세스 테이블(CAT)을 생성하지 않는다. SE 데이터가 프로그램의 암호화된 저장을 요구하는 경우에, 제어기(115)는 단계 325에서, 암호화 코드를 결합하는 프로그램을 위한 CAT 를 생성한다. 저장된 암호화 코드는 후속하는 프로그램 검색 동작에서 복원되고, 예컨대 디스플레이를 위해 암호화된 프로그램의 해독을 허용하는 암호화 키를 생성하는데 사용된다. 이 암호화 키는 앞서 기술된 방식으로 삽입 가능한 스마트 카드 상에 미리 저장된 명칭 부여 데이터에 의해 허용되는 경우에, 복원된 코드로부터 생성될 수 있다. In step 315, the controller 115 generates a PMT for each program to be stored using the predetermined numbered PID value to identify the elementary stream of components. The elementary stream constituting each stored program is 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) whether each program has been stored in encrypted form. If the program is stored in unencrypted form, the controller 115 continues execution of step 330 of FIG. 3 and does not generate a conditional access table CAT. If the SE data requires encrypted storage of the program, the controller 115 generates a CAT for the program that combines the encryption code, at step 325. The stored encryption code is restored in a subsequent program retrieval operation and is used to generate an encryption key that allows, for example, decryption of the encrypted program for display. This encryption key can be generated from the recovered code if allowed by the naming data previously stored on the insertable smart card in the manner described above.
기술된 암호화 시스템은 예시적인 것에 불과하다. 상이한 암호화 코드 및 해독용 키의 저장을 포함하는 대안의 암호화 메커니즘이 채용될 수 있다. 코드 저장을 포함하지 않는 다른 명칭 부여 메커니즘은 CAT를 반드시 필요로 하지는 않는다. 또한, 암호화 코드는 CAT가 아닌 CPSI의 정보 테이블에 조합되어 있어서, CAT를 사용하지 않을 수 있다. 예를 들어, 암호화 코드는 (MPEG 시스템 표준화 섹션 2.6.16 에 의해)PMT의 CA_descriptor 개인 데이터 섹션에 조합될 수 있다. 이 방법은 기본적 스트림을 코드에 연결하기 위해 개별 디렉토리를 필요로 하지 않고, 상기 코드를 프로그램을 구성하는 기본 스트림과 직접 연관시킬 수 있는 이점을 갖는다. The described encryption system is merely exemplary. Alternative encryption mechanisms may be employed including storage of different encryption codes and decryption keys. Other naming mechanisms that do not include code storage do not necessarily require CAT. In addition, the encryption code is combined in the information table of the CPSI rather than the CAT, so that the CAT may not be used. For example, the encryption code can be combined in the CA_descriptor personal data section of the PMT (by MPEG System Standardization Section 2.6.16). This method has the advantage of directly associating the code with the elementary streams that make up the program, without requiring separate directories to link the elementary streams to the code.
단계 325 또는 단계 320에 이어, 제어기(115)는 단계 330 에서, 저장될 각 프로그램에 대한 네트워크 정보 테이블(NIT)을 생성한다. 제어기(115)에 의해 생성된 NIT는 예컨대, 프로그램의 타이틀, 지속 기간 및 설명뿐만 아니라 편집된 버전이 사용자에 의해 선택 가능한지에 관한 부가적인 선택적 정보에다 기록된 폭력성/성별 등급 및 시간과 날짜가 포함될 수 있는 개인 데이터를 구비할 수 있다. 저장된 개인 데이터는 이전에 저장된 PSI 정보로부터, 또는 추가적으로 원격 제어 유닛(125)과 인터페이스(120)를 통해 사용자에 의해 입력된 데이터로부터 제어기(115)에 의해 조합된다. NIT는 옵션(option)이며, 사용자는 도 3의 단계 330 을 무시하는 메뉴 선택을 통해 저장될 임의의 프로그램이나 모든 프로그램에 대해 NIT를 생략하도록 선택할 수 있다. Following step 325 or step 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 include, for example, the title, duration and description of the program as well as additional optional information regarding whether the edited version is selectable by the user, as well as the recorded violence / gender rating and time and date. Personal data may be provided. The stored personal data is combined by the controller 115 from previously stored PSI information, or additionally from the data entered by the user via the interface 120 with the remote control unit 125. The NIT is an option, and the user may choose to omit the NIT for any program or all programs to be stored through a menu selection ignoring step 330 of FIG.
또한, 개인 데이터는 NIT가 아닌 CPSI의 정보 테이블에 합쳐질 수 있다. 예를 들어, 개인 데이터는 (MPEG 시스템 표준화 섹션 2.6 에 의해) PMT 의 사용자 개인 설명자 부분에 결합될 수 있다. 이 방법은 개인 데이터에 기본 스트림을 연결하기 위한 개별 디렉토리를 필요로 하지 않고, 프로그램을 구성하는 기본 스트림에 개인 데이터를 직접 대응시킬 수 있는 이점을 갖는다. In addition, personal data may be aggregated into information tables of CPSI rather than NIT. For example, personal data may be coupled to the user personal descriptor portion of the PMT (by MPEG System Standardization Section 2.6). This method has the advantage that the personal data can be directly mapped to the elementary stream constituting the program, without requiring a separate directory for linking elementary streams to the personal data.
단계 335에서, 제어기(115)는 각 프로그램에 대한 압축된 프로그램 특정 정보(CPSI)를 형성하기 위해 각 프로그램에 대해 생성된 PAT 및 PMT를 조합한다. 제어기(115)는 각 프로그램에 대해 생성된 옵션의 CAT 및 NIT 데이터를 CPSI에 부가적으로 조합 및 결합시킨다. 따라서, CPSI는 PAT 및 PMT 를 구비하며, 또 CAT 및 NIT 모두 또는 그 중 하나를 포함할 수 있다. CPSI의 생성에 따라, CPSI는 시스템(25)에 입력되는 데이터 스트림으로부터 저장용으로 선택된 특정 프로그램과 관련된 정보를 포함하고, 저장용으로 선택되지 않은 프로그램과 관련된 프로그램 특정 정보를 배제한다. In step 335, the controller 115 combines the PAT and PMT generated for each program to form compressed program specific information (CPSI) for each program. The controller 115 additionally combines and combines optional CAT and NIT data generated for each program to CPSI. Thus, the CPSI has a PAT and a PMT, and may include both or both of CAT and NIT. Upon generation of the CPSI, the CPSI includes information related to the particular program selected for storage from the data stream input to the system 25 and excludes program specific information related to the program not selected for storage.
그러나, 대안으로 CPSI는 입력 트랜스포트 데이터 스트림으로부터 저장용으로 선택된 하나 이상의 프로그램에 대해 생성될 수 있다. 이 경우 CPSI는 단일의 PAT 및 PMT 를 포함할 것이며, 단일 CAT 및 단일 NIT를 포함할 수도 있다. 이 경우, 이들 테이블은 MPEG 표준 방식에서 정의된 바와 같이, 저장용으로 선택된 복수개의 프로그램의 식별 및 복원을 지원하는 데이터를 포함한다. 예컨대, 프로그램이 시스템(25)으로 입력되는 2개의 개별 트랜스포트 데이터 스트림으로부터 저장용으로 선택되는 경우, CPSI는 단일 PAT 및 2개의 PMT 를 포함할 것이다. 각 프로그램에 대해 하나의 PMT가 저장될 것이다. 또한, CPSI는 단일 CAT 및 2개의 NIT를 포함할 수 있다. 각 프로그램에 대해 하나의 NIT가 저장될 것이다. Alternatively, however, CPSI may be generated for one or more programs selected for storage from the input transport data stream. In this case CPSI will include a single PAT and PMT, and may include a single CAT and a single NIT. In this case, these tables contain data that supports the identification and restoration of a plurality of programs selected for storage, as defined in the MPEG standard scheme. For example, if a program is selected for storage from two separate transport data streams entering the system 25, the CPSI will include a single PAT and two PMTs. One PMT will be stored for each program. In addition, the CPSI may include a single CAT and two NITs. One NIT will be stored for each program.
저장 매체로부터 프로그램을 복원하는데 있어서, 재생 장치가 상이한 프로그램의 CPSI를 부정확하게 사용한 경우에 문제가 발생한다. 부정확한 CPSI 데이터, 예컨대 PMT를 사용하게 되면, 프로그램 내용의 복원에 있어서 데이터 패킷의 식별과 조합에 오류가 생기게 되며, 예컨대 디스플레이나 처리를 위한 유효하지 않은 데이터를 생성하게 될 것이다. 이 문제는 예컨대, 재생 장치가 복원된 프로그램의 CPSI를 사용하지 않거나 CPSI가 변경되었고 계속하여 상이한 프로그램에 대해 이전에 유도된 CPSI를 사용하는 경우에 발생할 것이다. 저장 매체가 하나 이상의 프로그램을 포함한 경우에도 이와 유사한 문제가 발생할 것이다. 이 경우 재생 장치는 예컨대, 재생이나 검색 동작시 프로그램 경계를 침범하고 계속해서 이전 프로그램의 CPSI를 사용하게 될 것이다. 프로그램 경계를 침범하는 부정확한 CPSI 파라미터의 사용 문제를 완화하기 위해, 제어기(115)는 단계 340에서 도 4의 과정을 채택하여 CPSI를 포맷한다. In restoring a program from a storage medium, a problem occurs when a playback device incorrectly uses CPSI of different programs. The use of incorrect CPSI data, such as PMT, will lead to errors in the identification and combination of data packets in the restoration of program content, for example to produce invalid data for display or processing. This problem may arise, for example, if the playback device does not use the CPSI of the restored program or if the CPSI has changed and continues to use previously derived CPSI for different programs. Similar problems will arise if the storage medium contains more than one program. In this case, the playback device will, for example, violate program boundaries during playback or search operations and continue to use the CPSI of the previous program. To mitigate the problem of using incorrect CPSI parameters that violate program boundaries, the controller 115 adopts the process of FIG. 4 at step 340 to format the CPSI.
도 4의 단계 405에서, 단계 400 의 개시에 이어, 제어기(115)는 인터페이스(120)를 통해 제공된 입력 데이터(SM)로부터 사용자에 의해 선택된 저장 장치와 매체의 타입을 결정한다. 예컨대, 선택된 매체가 선형 타입, 즉 디지털 VHS(DVHS)에 사용되는 비디오 테이프와 같은 순차 액세스 매체인 경우, 제어기(115)는 단계 410에 이어 단계 425를 수행하게 된다. 단계 425에서, 제어기(115)는 MPEG 신택스(MPEG 시스템 표준 섹션 2.4.4. - 2.4.4.11)에 따른 PAT, PMT, CAT 및 NIT와 관련된 버전 번호를 변경한다. 이 버전 번호는 저장될 프로그램에서 CPSI기 연속적으로 반복되는 동안에 버전 번호를 계속적으로 증가시킴으로써 변경된다. 버전 번호 카운터는 어떤 오버플로우 상태를 통해서도 연속적으로 증가된다. 저장 매체(105)로부터 프로그램을 검색하는 경우에, 디코더나 재생 장치는 연속적인 버전 번호의 변화를 검출하고, 검색된 프로그램 내에서 변화가 발생할 때마다 PAT, PMT, CAT 및 NIT를 사용한다. In step 405 of FIG. 4, following the commencement of step 400, the controller 115 determines the type of storage device and media selected by the user from input data SM provided through interface 120. For example, if the selected medium is a linear type, that is, a sequential access medium such as a video tape used for digital VHS (DVHS), the controller 115 performs step 410 followed by step 425. In step 425, the controller 115 changes the version number associated with the PAT, PMT, CAT and NIT according to the MPEG syntax (MPEG System Standards Sections 2.4.4.-2.4.4.11). This version number is changed by continuously increasing the version number while the CPSI is continuously repeated in the program to be stored. The version number counter is incremented continuously through any overflow condition. In the case of retrieving a program from the storage medium 105, the decoder or playback apparatus detects the continuous change of the version number and uses PAT, PMT, CAT and NIT whenever a change occurs in the retrieved program.
디코더를 초기화하여 CPSI를 재획득하기 위하여 버전 번호를 변경하는 다른 방법이 사용될 수도 있다. 버전 번호는 예컨대, 프로그램 기록의 초기에 생성되는 최초 2개의 CPSI 사이, 또는 상기 프로그램 내에서 선택된 CPSI의 발생 사이 또는 저장 매체(105)의 프로그램에서 증가될 것이다. 더욱이, 상이한 프로그램 사이의 프로그램 경계에서 생성되는 버전 번호는 어떤 특정한 번호에 의해 다르게될 필요는 없다. 그러나, 프로그램 내에서 생성된 연속적인 버전 번호는 MPEG에 따르기 위해 하나씩 상이해야 한다. MPEG 비순응형 애플리케이션의 경우에, CPSI 테이블 버전 번호는 프로그램내에서 임의의 값에 의해 상이하게 될 수 있다. 단계 425에서 채택될 수 있는 다른 방법은 CPSI가 생성될 때마다 또는 선택된 생성에서, CPSI를 사용하기 위해 재생 장치에 명령을 주는데 사용될 개별 표시자를 지정하는 것이다. 할당된 표시자는 MPEG 신택스와 호환 가능할 것이며, 예를 들어 PAT 또는 CAT의 적응 필드 내의 개인 데이터 섹션(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 be used to initialize the decoder to reacquire CPSI. The version number may, for example, be increased in the program of the storage medium 105 or between the first two CPSIs generated at the beginning of the program recording, or between occurrences of the selected CPSI within the program. Moreover, the version numbers generated at program boundaries between different programs need not be different by any particular number. However, consecutive version numbers generated within the program must be different one by one in order to comply with MPEG. In the case of MPEG non-compliant applications, the CPSI table version number may be different by any value in the program. Another method that may be employed in step 425 is to specify an individual indicator to be used to command the playback device to use CPSI each time CPSI is generated or in the selected generation. The assigned indicator will be compatible with MPEG syntax, for example located in the Personal Data section (section 2.4.3.4 of the MPEG System Standard) in the adaptation field of the PAT or CAT. This indicator may be arbitrarily defined, or may be an existing indicator such as 'discontinuity indicator' (defined in section 2.4.3.5 of the MPEG system standard) in the packet header adaptation field. Is set to '1' to indicate a decoder or playback device to be used for the next generation of PAT, PMT, CAT and NIT information. The use of such discrete indicators is not considered in the MPEG standard scheme.
MPEG 과 호환 가능하지 않은 데이터 스트림의 경우에, 예컨대, MPEG 과 호환 가능하지 않은 표시자의 특정 또는 프로그램 기록의 개시 또는 종료를 표시하기 위한 신호의 이용을 포함하는 부가적인 방법이 사용될 수도 있다. 다른 기술은 버전 번호에 관계 없이, 복원된 데이터 스트림에서 CPSI의 생성될 때마다 이를 식별 및 사용하기 위해 재생 장치를 구성하는 것이다. 이 경우 단계 425는 무시한다. In the case of a data stream that is not compatible with MPEG, additional methods may be used, including, for example, the use of signals to indicate the start or end of a program recording or the specification of an indicator that is not compatible with MPEG. Another technique is to configure the playback device to identify and use the CPSI whenever it is generated in the recovered 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 데이터 내에서 증가된 버전 번호를 생성 및 삽입하기에 앞서, 인터페이스(95) 및 장치(90)를 통해 저장 매체(105)로부터 미리 기록된 프로그램이나 파일의 버전 번호를 복원한다. If the selected storage medium 105 is a non-linear type, i.e., a medium that performs non-sequential access, such as, for example, a disk medium including a CDROM or DVD, the controller 115 performs step 415 followed by step 430. For non-linear types of media, CPSI data may be stored in program content such as one or more specific directory locations on the media or media of linear type. In step 430, if the CPSI is stored in a directory location, the controller 115 changes the version number associated with the PAT, PMT, CAT and NIT at the directory location. The version number is increased to match the MPEG syntax to ensure that the version numbers will be different between different programs of the storage medium 105 (FIG. 1). In step 430, if CPSI is stored in the program content, the controller 115 changes the version number as described in step 425 for the linear type of medium. In order to ensure that the version numbers of the CPSI components are different between different programs, the controller 115 may, via interface 95 and device 90, prior to generating and inserting the increased version numbers in the CPSI data. The version number of the program or file recorded in advance from the storage medium 105 is restored.
단계 430에서 버전 번호를 변경하는 다른 방법이 사용될 수도 있다. 그러나, CPSI 버전 번호는 매체(105)에 저장된 상이한 프로그램 사이에서 상이하여야 한다. 대안으로, 프로그램 경계를 침범할 때나 프로그램을 개시할 때 CPSI를 사용하기 위해 디코더에 명령을 제공하도록 단계 430 에서 개별 표시자가 지정될 수 있다. 할당된 표시자는 MPEG 신택스와 호환 가능할 것이며, 예컨대, PAT 또는 CAT 의 적응 필드(MPEG 시스템 표준의 섹션 2.4.3.4)와 같은 개인 데이터 섹션에 위치된다. 표시자는 임으로 정의되거나, 단계 425와 관련하여 기술된 것과 같이 패킷 헤더 적응 필드에서의 '불연속 표시자'와 같은 기존의 표시자가 될 수 있다. MPEG 과 호환 가능하지 않은 데이터 스트림의 경우에, 표시자는 디코더 또는 재생 장치로 하여금 CPSI 를 사용하도록 하는 명령을 지정할 수 있다. 이 표시자는 예컨대, 프로그램 기록의 개시 및 종료를 나타낼 수 있다. Another method of changing the version number at step 430 may be used. However, the CPSI version number must be different among the different programs stored on the medium 105. Alternatively, individual indicators may be designated in step 430 to provide instructions to the decoder to use CPSI when violating program boundaries or initiating a program. The assigned indicator will be compatible with the MPEG syntax and is located in the private data section, for example the adaptation field of the PAT or CAT (section 2.4.3.4 of the MPEG system standard). The indicator may be defined randomly 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 case of a data stream that is not compatible with MPEG, the indicator may specify a command to cause the decoder or playback device to use CPSI. This indicator may, for example, indicate the start and end of a program record.
선택된 저장 매체(105)가 고체(solid) 상태, 즉 RAM 과 같은 반도체 메모리인 경우, 제어기(115)는 단계 420에 이어 단계 430을 수행한다. 비선형 매체로서 고체 상태 타입의 저장 매체를 사용한 경우, CPSI 데이터는 매체의 하나 이상의 특정한 디렉토리 위치에 저장되고, 다른 저장 위치로부터 용이하게 액세스 가능한 것이 통상적이다. 결론적으로, 제어기(115)는 비선형 타입의 저장 매체와 같은 고체 상태의 저장 매체에 대해 CPSI를 포맷함으로써 프로그램 경계를 침범하는 부정확한 CPSI 파라미터를 사용하는 문제점을 완화시킨다. 즉, 제어기(115)는 단계 430의 과정을 이용한다. If the selected storage medium 105 is a solid state, ie, a semiconductor memory such as a RAM, the controller 115 performs step 420 followed by step 430. When using a solid state type storage medium as a non-linear medium, CPSI data is typically stored in one or more specific directory locations on the medium and is easily accessible from other storage locations. In conclusion, the controller 115 mitigates the problem of using incorrect CPSI parameters that violate program boundaries by formatting CPSI for a solid state storage medium, such as a nonlinear type of storage medium. That is, the controller 115 uses the process of step 430.
도 4의 과정은 단계 425 또는 430에 이어 단계 435에서 종료되는데, 그 결과 도 3의 단계 340의 CPSI 포맷화가 완료된다. 도 3의 과정은 단계 340 에 이어 단계 345에서 종료되는데, 여기서 도 2의 단계 225를 포함하는 저장을 위해 선택된 프로그램에 대한 CPSI의 형성을 완료한다. 제어기(115)는 단계 230의 실행으로 단계 2의 과정을 계속한다. The process of FIG. 4 ends at step 435 following step 425 or 430, resulting in the CPSI formatting of step 340 of FIG. The process of FIG. 3 ends at step 340 following step 340, where the formation of CPSI for the program selected for storage including step 225 of FIG. 2 is completed. The controller 115 continues the process of step 2 with execution of step 230.
단계 230에서, 제어기(115)는 MPEG 신택스에 따른 섹션(MPEG 시스템 표준의 패러그래프 2.4.4.3-2.4.4.11)에 CPSI 데이터를 형성한다. PAT 데이터 및 PMT 데이터를 위해 섹션이 형성된다. 또한, 이들 테이블이 이전에 기술된 도 3의 과정에서 CPSI 에 결합된 경우, 선택적인 CAT 및 NIT(개인 데이터)를 위해 섹션이 형성된다. 이 결과로서 패킷화된 데이터는 테이블 식별자, 섹션 길이 식별자와, 도 4의 과정에서 이전에 결정된 버전 번호를 포함한다. 주목할 것은, PAT 섹션은 PAT 를 특정한 트랜스포트 스트림에 연관시키는 트랜스포트 스트림 식별자를 포함한다는 것이다. 제어기(115)는 최초의 PSI 데이터로부터 이 식별자를 획득하며, 이것을 CPSI의 PAT 섹션의 트랜스포트 스트림 식별자 필드에 삽입한다. 그러나, 이 필드가 변경되지 않거나 공백으로 남는 것은 선택적이 될 것이다. In step 230, the controller 115 forms CPSI data in a section according to the MPEG syntax (paragraph 2.4.4.3-2.4.4.11 of the MPEG system standard). Sections are formed for PAT data and PMT data. In addition, when these tables are coupled to CPSI in the process of FIG. 3 described previously, sections are formed for optional CAT and NIT (personal data). The packetized data as a result of this includes a table identifier, a section length identifier, and a version number previously determined in the process of FIG. Note that the PAT section contains a transport stream identifier that associates the PAT to 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 CPSI. However, it will be optional for this field to remain unchanged or left blank.
단계 230에서, 제어기(115)는 헤더 데이터를 CPSI 데이터 섹션에 부가하여, 삽입을 위한 CPSI 데이터를 저장될 데이터 스트림으로 포맷화 및 패킷화한다. 제어기(115)는 자신의 내부 메모리에 저장된 PSI 헤더 데이터로부터 MPEG 시스템 표준 방식의 섹션 2.4.3.2 와 2.4.3.3에 따라 헤더를 생성한다. 그러나, CPSI 섹션 데이터는 대응하는 PSI 섹션 데이터와 그 길이가 상이하다. 따라서, '불연속 카운트' 표시자와 '패이로드(payload) 유닛 개시 표시자'를 포함하는 새로운 헤더 파라미터는 제어기(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 a data stream to be stored. The controller 115 generates headers according to sections 2.4.3.2 and 2.4.3.3 of the MPEG system standard scheme from PSI header data stored in its internal memory. However, CPSI section data is different in length from corresponding PSI section data. Thus, a new header parameter including a 'discontinuous count' indicator and a 'payload unit initiation indicator' is generated by the controller 115 and inserted into each indicator field in the header data. The new discrete count indicator generated by the controller 115 reflects the packet number of the PID for the CPSI component, for example, instead of a different packet number for the PID of the corresponding PSI component. The new payload unit initiation indicator generated by the controller 115 identifies the first byte of the CPSI section, eg, instead of the first byte of the corresponding PSI section.
도 2의 단계 235에서, 단계 230에서 형성된 패킷화된 MPEG 과 호환 가능한 섹션 데이터 형태의 CPSI는 제어기(115)에 의해 MUX(110)(도 1)에 제공된다. 단계 215와 관련하여 이전에 기술된 바와 같이, 유닛(47 또는 50)으로부터의 프로그램 내용 패킷 데이터 스트림도 MUX(110)에 제공된다. 단계 235에서, 제어기(115)는 MUX(110)에 의해 저장 인터페이스(95)에 출력되는 합성 데이터 스트림을 생성하기 위해, 경로 선택 신호 C 를 이용하여 MUX(110)에 입력되는 CPSI 데이터 스트림과 프로그램 내용 사이를 다중화한다. 합성 데이터 스트림은 프로그램 내용 패킷과 CPSI 패킷을 구비한다. 제어기(115)는 제어 유닛(65)(도 1)에서 발생되는 PSI 인터럽트 신호에 따라 CPSI 패킷의 삽입을, 저장될 프로그램 데이터 스트림으로 동기화한다. PSI 인터럽트는 단계 205와 관련하여 기술된 바와 같이, 버퍼(60)내에 PSI 패킷이 존재함을 표시한다. 이 방식에 있어서, CPSI의 패킷화된 PAT, PMT, CAT 및 NIT는 PSI 의 대응 섹션을 대체하기 위해 PSI 위치로 삽입된다. 암호화되지 않은 CPSI 데이터는 저장용으로 암호화되거나 또는 암호화되지 않은 프로그램을 생성하기 위해, MUX(110)에 입력되는 암호화된 또는 암호화되지 않은 프로그램 내용 데이터스트림을 삽입할 수 있다. In step 235 of FIG. 2, CPSI in the form of section data compatible with the packetized MPEG formed in step 230 is provided to the MUX 110 (FIG. 1) by the controller 115. As previously described in connection with step 215, the program content packet data stream from unit 47 or 50 is also provided to MUX 110. In step 235, the controller 115 uses the path selection signal C to program the CPSI data stream and program to generate the composite data stream output by the MUX 110 to the storage interface 95. Multiplex between content. The composite data stream includes a program content packet and a CPSI packet. The controller 115 synchronizes the insertion of the CPSI packet with the program data stream to be stored in accordance with the PSI interrupt signal generated by the control unit 65 (FIG. 1). The PSI interrupt indicates that there is a PSI packet in the buffer 60, as described in connection with step 205. In this manner, the packetized PAT, PMT, CAT and NIT of the CPSI are inserted into the PSI location to replace the corresponding section of the PSI. Unencrypted CPSI data may insert an encrypted or unencrypted program content datastream input to MUX 110 to generate an encrypted or unencrypted program for storage.
단계 235에서, 제어기(115)는 저장용으로 사용자가 선택한 매체의 타입에 관계없이, 저장될 데이터 스트림에서 생성되는 각 PSI 데이터를 대응하는 CPSI로 대체한다. 그러나, 저장될 프로그램 내에서 CPSI를 한 번만 삽입하거나, 또는 선택된 PSI 위치에서 CPSI를 삽입함으로써 부호화 오버헤드가 더욱 감소될 수 있다. 저장될 프로그램 내에서 CPSI의 반복 횟수는 예컨대, 최소 PSI 성분 반복 횟수 제한, 사용자 기호, 데이터 저장 용량 제한 또는 선택된 저장 매체 타입을 포함하는 인자에 기초하여 제어기(115)에 의해 결정될 수 있다. ATSC에 의해 고선명 텔레비전(HDTV)용으로 제안된 시스템은, 예컨대 PAT 의 반복간에 100ms 의 최소 주기를 포함하는 (1995년 4월 12일, HDTV 전송에 대한 디지털 텔리비전 표준의 부록 C, 섹션 5.4) 임의의 PSI 성분에 대한 최소 반복 횟수를 특정한다. 게다가, 예컨대 비선형 또는 고체 상태 타입의 저장 매체에 있어서, CPSI의 반복수를 감소시키거나 저장될 프로그램에서만 CPSI를 삽입하는 것은 프로그램 복원 지연 시간에 악영향을 미치지 않는다. 이것은 이들 매체의 타입이 고속의 비순차(불규칙)적인 데이터 액세스를 허용하기 때문이다. In step 235, the controller 115 replaces each PSI data generated in the data stream to be stored with a corresponding CPSI, regardless of the type of medium selected by the user for storage. However, the encoding overhead can be further reduced by inserting the CPSI only once in the program to be stored or by inserting the CPSI at the selected PSI location. The number of repetitions of the CPSI in the program to be stored may be determined by the controller 115 based on factors including, for example, a minimum PSI component repetition number limit, a user preference, a data storage capacity limit, or a selected storage medium type. Systems proposed for high-definition television (HDTV) by the ATSC include, for example, a minimum period of 100 ms between iterations of the PAT (April 12, 1995, Appendix C of the Digital Television Standard for HDTV Transmission, Section 5.4). Specify the minimum number of repetitions for the PSI component of. In addition, for example, in a non-linear or solid state type storage medium, reducing the number of repetitions of CPSI or inserting CPSI only in a program to be stored does not adversely affect the program recovery delay time. This is because these types of media allow for high speed out of order (irregular) data access.
단계 240에서, 저장 인터페이스(95)는 MUX(110)로부터 CPSI를 결합한 패킷화된 데이터 스트림(이후, CPSI 스트림이라함)의 형태로 저장될 프로그램을 수신한다. CPSI 스트림을 생성하기 위해 제어기(115)에서 사용된 도 2의 과정은 단계 245에서 종료된다. 주목할 것은, CPSI 스트림은 인터페이스(95)를 통한 저장 대신에, 인터페이스(70)를 통한 디스플레이 또는 통신과 같은 단계 240에서의 다른 응용에 제공될 수 있다는 것이다. At step 240, storage interface 95 receives a program to be stored from MUX 110 in the form of a packetized data stream (hereinafter referred to as CPSI stream) combining CPSI. The process of FIG. 2 used in the controller 115 to generate the CPSI stream ends at step 245. Note that the CPSI stream may be provided for other applications in step 240, such as display or communication over interface 70, instead of storage over interface 95.
MUX(110)로부터의 CPSI 스트림은 데이터에서의 갭과 비트율 변화를 감소시키기 위해 인터페이스(95)에 의해 버퍼링된다. 그 결과로서 버퍼링된 데이터는 저장 장치(90)에 의해 처리되어, 매체(105)에 적절하게 저장된다. 제어기(115)는 표준화된 CEBus 제어 프로토콜(1989년 12월, Home Automation Standard(CEBus), EIA/IS-60)을 이용한 I/O 포트(100)를 통해 제어 명령을 제공함으로써 저장 장치(90)(도 1)의 동작을 개시 및 제어한다. 저장 장치(90)는 저장하기에 적당한 부호화된 데이터 스트림을 생성하기 위해 채널 코딩, 인터리빙(interleaving) 및 리드 솔로몬 부호화(Reed Solomon encoding)와 같은 공지된 오류 부호화 기술을 이용하여, 인터페이스(95)로부터 버퍼링된 데이터 스트림을 부호화하는 선형 저장 매체 DVHS 타입 장치이다. 유닛(90)은 테이프 매체(105) 상의 CPSI를 결합하는 상기 결과 생성된 부호화 데이터 스트림을 저장한다. The CPSI stream from MUX 110 is buffered by interface 95 to reduce gaps and bit rate variations in data. As a result, the buffered data is processed by the storage device 90 and properly stored in the medium 105. The controller 115 provides the storage device 90 by providing control commands through the I / O port 100 using a standardized CEBus control protocol (December 1989, Home Automation Standard (CEBus), EIA / IS-60). The operation of Fig. 1 is started and controlled. Storage device 90 uses known error encoding techniques such as channel coding, interleaving and Reed Solomon encoding to generate an encoded data stream suitable for storage from interface 95. A linear storage medium DVHS type device that encodes a buffered data stream. Unit 90 stores the resultant encoded data stream that combines CPSI on tape medium 105.
2개의 데이터 스트림의 기록을 병렬로 수행하는 다른 테이프 저장 시스템이 허용된다. 프로그램 내용의 대부분을 일반적으로 포함하는 제1 데이터 스트림은 종래의 나선형 테이프에 저장된다. 더 낮은 데이터 밀도와 비트율을 갖는 제2 데이터 스트림은 테이프의 에지를 향해 위치한 보조 트랙상에 선형(비나선형)의 형태로 병렬로 저장된다. 이러한 타입의 저장 시스템에 있어서, 장치(90)는 CPSI 스트림으로부터 CPSI 데이터를 분리하고, CPSI 데이터를 보조 트랙에 저장하는 것이 바람직하다. 유닛(90)은 그와 관련된 데이터를 상기 테이프에 기록된 각 프로그램이 상기 프로그램과 병렬의 보조 트랙에 전송하는 방식으로 CPSI 데이터를 저장한다. 보조 트랙에서 CPSI 데이터의 반복 횟수는 보조 트랙 데이터 속도의 제한으로 조절될 수 있다. 또한, CPSI는 나선형 보조 트랙에, 또는 트랙 정보 영역(TIA)을 포함하는 데이터 관리 영역에 저장될 수 있고 정보 섹터(ITI 섹터)를 삽입 및 트래킹할 수 있다. 데이터 관리 영역은 프로그램 내용과 병렬인 나선형 또는 비나선형으로 저장될 수 있다. Other tape storage systems are permitted which perform the writing of two data streams in parallel. The first data stream, which generally includes most of the program content, is stored on a conventional helical tape. Second data streams with lower data densities and bit rates are stored in parallel (non-spiral) form on an auxiliary track located towards the edge of the tape. In this type of storage system, the device 90 preferably separates the CPSI data from the CPSI stream and stores the CPSI data in an auxiliary track. The unit 90 stores the CPSI data in such a manner that each program recorded on the tape transmits the related data to an auxiliary track in parallel with the program. The number of repetitions of CPSI data in the auxiliary track may be adjusted by limiting the auxiliary track data rate. In addition, CPSI can be stored in a spiral auxiliary track or in a data management area including a track information area (TIA) and can insert and track an information sector (ITI sector). The data management area can be stored in a spiral or non-helical manner in parallel with the program content.
DVHS 장치가 도 1의 예시적인 실시예에서는 선형 타입의 저장 매체에 데이터를 저장하는 것으로 기술되어 있지만, 저장 유닛(90)은 어떠한 타입의 저장 유닛이 될 수 있다. 예컨대, 유닛(90)은 RAM, DVD 또는 CDROM 에 데이터를 저장하기 위한 고체 상태 또는 비선형 타입의 장치가 될 수 있다. 유닛(90)과 매체(105)가 비선형 또는 고체 상태 타입의 저장 시스템인 경우, 유닛(90)은 CPSI 스트림으로부터 CPSI 데이터를 분리하여, 매체의 선정된 디렉토리 섹션에 CPSI 데이터를 저장한다. 이것으로 CPSI 의 반복된 저장을 피할 수 있고, 필요한 저장 용량을 감소시킬 수 있는 이점이 있다. 또한, 유닛(90)은 유닛(90)에 형성 및 입력된 CPSI 스트림을 저장하여 CPSI 데이터의 1회 이상의 반복을 통합할 수 있다. Although the DVHS device is described as storing data in a linear type storage medium in the exemplary embodiment of FIG. 1, the storage unit 90 may be any type of storage unit. For example, unit 90 may be a solid state or non-linear type of device for storing data in RAM, DVD or CDROM. If unit 90 and medium 105 are a non-linear or solid state type storage system, unit 90 separates CPSI data from the CPSI stream and stores CPSI data in a predetermined directory section of the medium. This has the advantage of avoiding repeated storage of CPSI and reducing the required storage capacity. In addition, the unit 90 may store the CPSI stream formed and input in the unit 90 to integrate one or more repetitions of CPSI data.
더욱이, 도 1의 시스템(25)은 선형, 비선형 및 고체 상태 타입을 포함하는 다양한 타입의 복수개의 저장 장치의 동작을 지원하는 복수개의 저장/복원 경로를 포함할 수 있다. 도 1에 도시된 단일의 저장/복원 경로는 기술된 바와 같이, 복수개의 유닛(47, 90, 95, 105 및 110)을 구비한다. 병렬 저장 기능을 생성하기 위해 이들 성분들을 복사함으로써, 시스템(25)은 복수 개의 저장 경로를 결합시키기 위해 용이하게 확장된다. 특정 저장 장치를 위한 저장 경로와 프로그램은 제어기(115)에 입력되는 사용자가 생성한 데이터(SP, SM)에 의해 인터페이스(120)를 통해 이전에 기술된 바와 같이, 원격 제어 유닛(125)을 이용하여 온스크린 메뉴 선택에 따라 선택된다. Moreover, the system 25 of FIG. 1 may include a plurality of storage / restore paths that support operation of a plurality of types of storage devices, including linear, non-linear, and solid state types. The single storage / restore path shown in FIG. 1 has a plurality of units 47, 90, 95, 105 and 110, as described. By copying these components to create a parallel storage function, the system 25 is easily extended to combine multiple storage paths. The storage path and program for the particular storage device utilizes the remote control unit 125, as previously described via the interface 120 by user-generated data SP and SM input to the controller 115. Is selected according to the on-screen menu selection.
도 1의 시스템(25)은 도 5의 과정을 이용하여 재생 모드에서 저장 장치(90)와 매체(105)로부터 프로그램을 복원한다. 복원된 데이터 스트림은 시스템(25)에 의해 처리되어, 예컨대 디스플레이나 출력을 위해 응용 장치(75,80,85)에 제공된다. 또한, 프로그램 데이터 스트림은 다른 병렬 저장 장치(간단히 나타내기 위해 도 1에 도시 안함)에 저장될 수 있다. The system 25 of FIG. 1 restores the program from the storage device 90 and the medium 105 in the playback mode using the process of FIG. The recovered data stream is processed by the system 25 and provided to the application devices 75, 80, 85, for example for display or output. Also, program data streams may be stored in other parallel storage devices (not shown in FIG. 1 for simplicity).
단계 500의 개시에 이어 도 5의 단계 505에 있어서, 사용자가 생성한 데이터(SR,SM)는 복원될 프로그램을 식별하는 도 1의 시스템(35)의 제어기(115)에 입력되고 저장 장치로부터 프로그램이 복원된다. 사용자 선택 데이터는 원격 제어 유닛(125)을 이용하여 스크린 상의 메뉴 선택에 의해 인터페이스(120)를 통해 제어기(115)에 입력된다. 사용자가 선택한 프로그램이 도 1의 저장 장치(90)로부터 복원되는 것은 예시적으로 나타낸 것이다. 단계 510에 있어서, 제어기(115)는 이전에 기술된 바와 같이, 표준화 CEBus 제어 프로토콜을 이용하여 I/O 포트(100)를 통해 제어 명령을 제공함으로써 매체(105)로부터 장치(90)에 의해 선택된 프로그램 데이터 스트림의 복원을 개시한다. 저장 장치(90)는 저장용으로 자신에게 최초에 제공된 대응 데이터를 복원하기 위해, 매체(105)로부터 회복된 오류 부호화 데이터를 부호화한다. 저장 장치(90)는 DVHS 선형 타입의 저장 유닛이거나 고체 상태 RAM, 비선형 타입의 DVD 또는 CDROM 타입의 장치와 같은 다른 타입의 저장 유닛이 될 수 있다. 복원된 복호화 데이터 스트림은 단계 510 에서 저장 장치(90)에 의해 인터페이스(95)로 전송된다. 이 데이터 전송은 표준화 CEBus 를 통해 제어기(115)에 의해 제어되고 동기화된다. 인터페이스(95)는 유닛(90)으로부터 수신된 데이터를 일시 저장하여, 데이터 패킷간의 시간 간격을 조절함으로써, MPEG 과 호환 가능하고 MPEG 비트율 제한에 따르는 버퍼링된 데이터 출력을 제공하게 된다. In step 505 of FIG. 5 following the commencement of step 500, the user-generated data SR, SM are input to the controller 115 of the system 35 of FIG. 1 identifying the program to be restored and the program from the storage device. Is restored. User selection data is input to the controller 115 via the interface 120 by menu selection on the screen using the remote control unit 125. The program selected by the user is restored from the storage device 90 of FIG. 1 by way of example. In step 510, the controller 115 is selected by the device 90 from the medium 105 by providing control commands through the I / O port 100 using a standardized CEBus control protocol, as previously described. Start the restoration of the program data stream. The storage device 90 encodes the error coded data recovered from the medium 105 in order to restore the corresponding data originally provided to it for storage. Storage device 90 may be a DVHS linear type storage unit or another type of storage unit such as a solid state RAM, a nonlinear type DVD or CDROM type device. The recovered decoded data stream is transmitted by the storage device 90 to the interface 95 in step 510. This data transmission is controlled and synchronized by the controller 115 via the standardized CEBus. The interface 95 temporarily stores the data received from the unit 90 to adjust the time interval between the data packets, thereby providing a buffered data output compatible with MPEG and subject to the MPEG bit rate limitation.
단계 515에서, 제어기(115)는 인터페이스(95)로부터의 버퍼링된 출력(재생 데이터 스트림)을 경로 선택 신호 C 를 이용하여 MUX(37)를 통해 PID 선택 유닛(45,47)에 제공한다. 단계 520에서, 유닛(45,47)과 시스템(25)의 나머지 유닛들은 MUX(110)를 통한 저장이나 인터페이스(70)를 통한 응용 장치의 사용을 위해 재생 데이터 스트림을 처리한다. 유닛(95)으로부터의 재생 데이터 스트림과 선택기(35)로부터 전송된 데이터 스트림 모두는 MUX(37)를 통한 선택에 이어, 시스템(25)에서 유사한 방식으로 처리된다. 이들 데이터 스트림 모두는 전송된 데이터 스트림에 대해 이전에 기술된 방식으로 처리된다. 그러나 MUX(37)를 통해 선택된 재생 데이터 스트림은 이미 CPSI 와 결합되어 있다. 따라서 재생 모드에 있어서, 단계 520에서의 제어기(115)는 도 2 내지 도 4와 관련하여 기술된 CPSI 정보에 대한 단계를 수행하지 않는다. In step 515, the controller 115 provides the buffered output (replay data stream) from the interface 95 to the PID selection units 45, 47 via the MUX 37 using the path selection signal C. In step 520, the units 45, 47 and the remaining units of the system 25 process the playback data stream for storage via the MUX 110 or for use of the application through the interface 70. Both the reproduction data stream from the unit 95 and the data stream transmitted from the selector 35 are processed in a similar manner in the system 25, following selection through the MUX 37. All of these data streams are processed in the manner previously described for the transmitted data stream. However, the playback data stream selected via MUX 37 is already combined with CPSI. Thus, in the playback mode, the controller 115 at step 520 does not perform the steps for the CPSI information described in connection with FIGS.
도 5에 도시된 예시적인 재생 모드에 있어서, 단계 520의 시스템(25)은 디스플레이를 위해 응용 디코더(80,85)에 복호화된 데이터를 제공하도록 재생 데이터 스트림을 트랜스포트 복호화한다. 이 모드에 있어서, 시스템(25)은 MPEG 표준 방식에 따라, 재생 데이터 스트림에 포함된 CPSI 데이터를 선택된 프로그램 SR 을 나타내는 트랜스포트 복호화된 데이터 스트림을 제공하게 된다. In the exemplary playback mode shown in FIG. 5, system 25 of step 520 transport-decodes the playback data stream to provide decoded data to application decoders 80 and 85 for display. In this mode, the system 25 provides a transport decoded data stream indicating the selected program SR for CPSI data included in the reproduction data stream, according to the MPEG standard scheme.
단계 520에서, 제어기(115)는 버퍼(60)를 통해 재생 데이터 스트림 CPSI 데이터를 액세스하고, 데이터를 검사하여 연속적인 CPSI 성분 사이에서 버전 번호의 변경이 발생하는 지를 조사한다. 또한, 제어기(115)는 패킷 헤더 적응 필드(MPEG 시스템 표준 방식의 섹션 2.4.3.5에서 정의됨)에 있는 '불연속 표시자'에 의해 표시되는 불연속성이 존재하는 지에 대해 재생 데이터 스트림을 조사한다. 버전 번호의 변경 또는 불연속성을 검출할 경우, 제어기(115)는 최종적으로 완료된 CPSI 데이터를 이용하여 재생 데이터 스트림을 트랜스포트 복호화한다. 주목할 것은 제어기(115)가 특정 PID 의 연속하는 패킷간의 불연속 카운트 불일치와 전송 오류 표시의 검출과 같은 다양한 다른 상태에 따라 최종적으로 완료된 CPSI 데이터를 사용하도록 프로그래밍될 수도 있다는 것이다. 이들 파라미터 모두는 (MPEG 시스템 표준 방식의 섹션 2.4.3.2에서 정의된) 재생 데이터 스트림 패킷 헤더에 존재한다. 또한, 제어기(115)는 MPEG 표준 방식. 또는 다른 사용자 정의 시간 스탬프에서 정의된 표시 시간 스탬프(PTS) 또는 복호화 시간 스탬프(DTS)간의 불연속성의 검출에 CPSI 를 이용하도록 프로그래밍될 수 있다. 그러나, MPEG과 호환 가능한 신택스는 불연속 표시자가 불연속 카운트 불일치의 발생을 표시하도록 설정되어야 한다는 점을 주목해야 한다.In step 520, the controller 115 accesses the playback data stream CPSI data through the buffer 60 and examines the data to see if a change in version number occurs between successive CPSI components. The controller 115 also examines the playback data stream to see if there is a discontinuity indicated by the 'discontinuity indicator' in the packet header adaptation field (defined in section 2.4.3.5 of the MPEG system standard scheme). When detecting a change or discontinuity of the version number, the controller 115 transport-decodes the reproduced data stream using the finally completed CPSI data. Note that the controller 115 may be programmed to use the finally completed CPSI data in accordance with various other conditions, such as discrepancy in discrepancy between consecutive packets of a particular PID and detection of transmission error indications. All of these parameters are present in the playback data stream packet header (defined in section 2.4.3.2 of the MPEG system standard scheme). In addition, the controller 115 is an MPEG standard scheme. Or may be programmed to use CPSI to detect discontinuities between a display time stamp (PTS) or a decoding time stamp (DTS) defined in another user defined time stamp. However, it should be noted that the syntax compatible with MPEG should be set to indicate the occurrence of the discrete count mismatch.
PID 필터(45,47), 해독기(50), 디코더(55), 버퍼(60) 및 제어 유닛(65)을 이용하여 도 1과 관련하여 전술한 것과 유사한 방식으로 재생 데이터 스트림을 트랜스포트 복호화하는 것에 CPSI를 이용한다. 트랜스포트 복호화된 데이터 스트림은 CPSI 를 제외하고는 인터페이스(70)를 통해 MPEG 복호화 및 이미지 재생용 응용 디코더(80,85)에 제공된다. 다른 모드에 있어서, 시스템(25)은 고속 데이터 포트(75)와 같은 다른 응용 장치에 CPSI를 결합시키는 재생 데이터 스트림을 제공한다. 이어서, CPSI는 필요에 따라 이들 응용 장치나 수반하는 장치들에 의해 재생 데이터 스트림을 트랜스포트 복호하하는데 사용할 수 있다. 재생 데이터 스트림이 예컨대, 저장 장치(90)가 아닌 다른 제2 저장 장치에 저장되는 경우에, MUX(110)는 CPSI를 제2 저장 인터페이스를 통해 제2 저장 장치에 결합시키는 데이터 스트림을 제공한다. 또한, 제2 저장 장치와 인터페이스(도 1에는 모두 도시 안됨)는 유닛(90,95)의 동작과 기능을 각각 모방한다. Transport decoding of the playback data stream in a manner similar to that described above in connection with FIG. 1 using PID filters 45, 47, decoder 50, decoder 55, buffer 60 and control unit 65 CPSI is used for this. The transport decoded data stream is provided to the application decoders 80 and 85 for MPEG decoding and image reproduction via the interface 70 except CPSI. In another mode, the system 25 provides a playback data stream that incorporates CPSI to other applications, such as high speed data port 75. CPSI can then be used to transport-decode the playback data stream by these applications or accompanying devices as needed. If the playback data stream is stored, for example, in a second storage device other than the storage device 90, the MUX 110 provides a data stream that couples the CPSI to the second storage device via the second storage interface. In addition, the second storage device and the interface (both not shown in FIG. 1) mimic the operation and function of units 90 and 95, respectively.
디폴트 주기에서, CPSI를 사용하기에 앞서, 시스템(25)은 '블루 스크린(blue screen)' 또는 '고정 프레임(freeze frame)'과 같은 소정의 디스플레이용 화상 이미지를 표시하는 화상 디코더(85)에 복호화된 데이터를 제공한다. 이와 유사하게, 디폴트 주기에서, 버전 번호의 변경을 검출하고 CPSI를 사용하기에 앞서, 시스템(25)은 음성 출력을 블랭크(blank)시키기 위해 데이터를 음성 디코더(80)에 제공한다. 이러한 방법에 의해 정확한 CPSI 데이터가 시청 또는 청취에 유효한 자료를 제공하기 위해 사용될 때까지 화상 또는 음성 출력이 재생 장치에 악영향을 주는 것을 방지할 수 있다. 예컨대, 디폴트 주기에는 다음과 같은 상태 중 하나로부터 시간 간격이 포함된다. In the default period, prior to using the CPSI, the system 25 may be connected to a picture decoder 85 that displays a picture image for some display, such as a 'blue screen' or a 'freeze frame'. Provide the decrypted data. Similarly, in the default period, prior to detecting a change in version number and using CPSI, system 25 provides data to speech decoder 80 to blank the speech output. In this way, it is possible to prevent the image or audio output from adversely affecting the playback device until the correct CPSI data is used to provide the material valid for viewing or listening. For example, the default period includes a time interval from one of the following states.
(a) 프로그램 표시자의 종료 또는 전원 공급의 검출(a) End of program indicator or detection of power supply
(b) 고속 재생 또는 내용 스키핑(트릭플레이)을 포함하는 사용자 명령의 검출 또는,(b) detecting user commands including fast playback or content skipping (trick play), or
(c) CPSI 성분 버전 번호에서의 변경을 검출할 때까지, 유효 화상 패킷이 검출되지 않았다는 것을 표시하는 오류 조건의 검출.(c) Detection of an error condition indicating that no valid picture packet was detected until a change in the CPSI component version number was detected.
응용 디코더(80,85)에 의해 MPEG 복호화된 인터페이스(70)로부터의 데이터는 음성 및 이미지 재생 장치를 통해 유닛(80,85)에 각각 제공된다. 이것으로 단계 530 에서 종료하는 재생 과정을 완료하게 된다. 주목할 것은, 제어기(115)가 부정확한 CPSI 데이터 사용을 방지하기 위해 이전에 논의된 기타 어떠한 방법도 채택할 수 있다는 것이다. Data from the interface 70 decoded by the application decoders 80 and 85 are provided to the units 80 and 85 through the audio and image reproducing apparatus, respectively. This completes the playback process ending at step 530. Note that the controller 115 may employ any other method previously discussed to prevent incorrect CPSI data usage.
도 1의 구조가 유일한 것은 아니다. 동일한 목적을 달성하기 위해 본 발명의 원리에 따라 다른 구조도 유도될 수 있다. 또한, 도 1에 도시된 성분들의 기능과 도 2-5의 처리 단계들은 마이크로프로세서의 프로그램된 명령 내에서 전체적으로 또는 부분적으로 달성될 수 있다. 더욱이, 본 발명의 원리는 MPEG 과 호환 가능하지 않은 전자 프로그램 가이드의 어떠한 형태에도 적용될 수 있으며, 이 원리들을 MPEG 과 호환 가능한 PSI 테이블에서 제한없이 수행시킬 수 있다.The structure of FIG. 1 is not unique. Other structures may also be derived in accordance with the principles of the present invention to achieve the same object. In addition, the functionality of the components shown in FIG. 1 and the processing steps of FIGS. 2-5 may be achieved in whole or in part within the programmed instructions of the microprocessor. Moreover, the principles of the present invention can be applied to any form of electronic program guide that is not compatible with MPEG, and these principles can be carried out without limitation in PSI tables compatible with MPEG.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980709738A KR100515707B1 (en) | 1996-05-31 | 1997-05-22 | Program specific information formation for digital data processing |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/018,722 | 1996-05-31 | ||
US696,414 | 1996-08-13 | ||
KR1019980709738A KR100515707B1 (en) | 1996-05-31 | 1997-05-22 | Program specific information formation for digital data processing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000016170A KR20000016170A (en) | 2000-03-25 |
KR100515707B1 true KR100515707B1 (en) | 2006-04-10 |
Family
ID=41739671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980709738A Expired - Lifetime KR100515707B1 (en) | 1996-05-31 | 1997-05-22 | Program specific information formation for digital data processing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100515707B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100601596B1 (en) * | 1999-01-06 | 2006-07-14 | 삼성전자주식회사 | Apparatus for recording/playing MPEG bit stream and method thereof |
KR20070058288A (en) * | 2005-12-02 | 2007-06-08 | 삼성전자주식회사 | Method and apparatus for descrambling av stream |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0668697A2 (en) * | 1994-02-18 | 1995-08-23 | Matsushita Electric Industrial Co., Ltd. | Digital signal recording and reproducing apparatus |
-
1997
- 1997-05-22 KR KR1019980709738A patent/KR100515707B1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0668697A2 (en) * | 1994-02-18 | 1995-08-23 | Matsushita Electric Industrial Co., Ltd. | Digital signal recording and reproducing apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR20000016170A (en) | 2000-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0903036B1 (en) | Processing of digital data and program guide information | |
US5838873A (en) | Packetized data formats for digital data storage media | |
US5844478A (en) | Program specific information formation for digital data processing | |
JP4646148B2 (en) | Method for decoding a packetized data stream representing a program | |
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 | |
KR100478383B1 (en) | Decoding method for digital data including program specific information | |
KR100474033B1 (en) | Method for processing digital data and program guide information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 19981130 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20020522 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20040329 Patent event code: PE09021S01D |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20050219 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20050819 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20050909 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20050908 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20080825 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20090824 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20100825 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20110812 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20120821 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20120821 Start annual number: 8 End annual number: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130819 Year of fee payment: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20130819 Start annual number: 9 End annual number: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140825 Year of fee payment: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20140825 Start annual number: 10 End annual number: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150819 Year of fee payment: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20150819 Start annual number: 11 End annual number: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160818 Year of fee payment: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20160818 Start annual number: 12 End annual number: 12 |
|
EXPY | Expiration of term | ||
PC1801 | Expiration of term |
Termination date: 20171122 Termination category: Expiration of duration |