[go: up one dir, main page]

HK1022229B - Method for processing and storage of digital data and program specific information - Google Patents

Method for processing and storage of digital data and program specific information Download PDF

Info

Publication number
HK1022229B
HK1022229B HK00100919.8A HK00100919A HK1022229B HK 1022229 B HK1022229 B HK 1022229B HK 00100919 A HK00100919 A HK 00100919A HK 1022229 B HK1022229 B HK 1022229B
Authority
HK
Hong Kong
Prior art keywords
program
data
cpsi
psi
data stream
Prior art date
Application number
HK00100919.8A
Other languages
Chinese (zh)
Other versions
HK1022229A1 (en
Inventor
H‧布拉特
K‧E‧布里格瓦特
M‧S‧戴斯
T‧E‧霍尔兰德
Original Assignee
汤姆森消费电子有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/696,415 external-priority patent/US5754651A/en
Application filed by 汤姆森消费电子有限公司 filed Critical 汤姆森消费电子有限公司
Publication of HK1022229A1 publication Critical patent/HK1022229A1/en
Publication of HK1022229B publication Critical patent/HK1022229B/en

Links

Description

Method for processing and storing digital data and program specific information
The present invention relates to digital signal processing and, in particular, to the formation of program specific information for recovering program content and the insertion of that information into stored digital video data.
In video signal processing and storage applications, digital video data is typically encoded to comply with the requirements of known standards. One widely used standard is the MPEG2 (moving picture experts group) image coding standard, hereinafter the "MPEG standard". The MPEG standard includes a system coding part (ISO/IEC13818-1, 10/6 1994) and a video coding part (ISO/IEC13818-2, 20/1 1995), hereinafter referred to as "MPEG system standard" and "MPEG video standard", respectively. Video data encoded into the MPEG standard is in the form of a packetized data stream that typically includes the content of multiple program channels (e.g., channels 1-125). For example, in order for a decoder to be able to decode a packetized data stream and recover the content of the video data of a selected program channel for display, it must include identifying and splicing the individual data packets of the selected program channel.
This MPEG standard specifies Program Specific Information (PSI) for identifying and splicing individual data packets to recover the content of a selected program channel. The PSI includes user definable information as well as mandatory information components and is defined to include sufficient information to enable recovery of the data content of all program channels including packetized datastreams. Moreover, such PSI is incorporated in the data stream of the packet. This both increases the storage capacity required to store the data stream and reduces the communication bandwidth used to transmit the program content. As such, the PSI represents an additional coding overhead.
The degree of overhead of the PSI depends on the amount of data included in the PSI (the size of the PSI) and the repetition frequency of the PSI within the packet data stream. At a minimum, the PSI needs to include enough information to enable recovery of the data content of all program channels comprising the packetized datastream. The minimum repetition frequency of the PSI in the packet data stream is limited by the desired delay characteristics of system operation. For example, the decoder requires the most up-to-date PSI to effect a program channel change commanded by the television viewer. As a result, the minimum PSI repetition rate is limited by the willingness of the television viewer to tolerate a response delay (lag) to a channel change command. This is a problem that the system according to the invention aims to solve.
The inventors have recognized that in some applications it is desirable to reduce the overhead added by the PSI. For example, in a limited capacity digital storage application, it is beneficial to reduce the size of the PSI stored on the storage medium and the number of repetitions of the PSI on the storage medium. In other video signal processing applications, it is desirable to reduce the size of the PSI in order to allow the PSI to be repeated more frequently and thereby reduce the latency of recovery of the program content. In addition, the generated PSI should be compatible with the operational characteristics of the selected storage medium and the user's needs.
The inventors have further recognized that it is desirable to record the PSI on the storage medium in a format that minimizes the use of the PSI of one program for content recovery of a second program requiring different recovery parameters with errors. This situation may occur when the storage medium is used for storing programs derived from different packetized datastreams, for example when the storage medium is partially overwritten by a program derived from a different datastream. Ideally, the storage format of the PSI also reduces the latency of program recovery and reduces the recovery time of random access data. Fast random access is particularly important in operations involving fast play or skipping of content (trick repeats) in storage devices such as VCRs.
In accordance with the principles of the present invention, a video processing system reduces the processing and storage overhead incurred by Program Specific Information (PSI) for program content recovery. One disclosed system provides compressed (condensed) PSI and adaptively inserts such compressed PSI into a packet data stream, providing reduced processing and storage overhead. The system adaptively generates information for various media types PSI, such as videotape, Digital Video Disk (DVD) or CDROM. In addition, a format of a storage medium and a packet data stream format are disclosed, which use the compressed PSI to improve processing efficiency. The disclosed storage and data stream formats reduce program recovery delays and reduce the use of incorrect PSI parameters across program boundaries.
A method of generating a data stream representing packetized data from an incoming packetized data stream representing a plurality of programs includes selecting a desired program from the plurality of programs. Data packets of program content including the selected program are identified. Compressed Program Specific Information (CPSI) suitable for use in identifying and splicing the identified data sets is formed. The resulting CPSI and the identified data set are formed into a data stream.
The invention also discloses a method for processing a data stream of program characterizing packets combined with Program Specific Information (PSI) for identifying and splicing packets of program content. The method comprises the step of selecting a program characterizing data stream from an input data stream representing a plurality of programs. Both the program content data set comprising the selected program and the PSI data set associated with the selected program are identified. The identified PSI data set and the identified program content data set are extracted from the packetized datastream. The PSI data set and the program content data set are stored on a storage medium.
Brief description of the drawings
Figure 1 illustrates a video receiver system for adaptively generating and inserting compressed PSI in a packetized datastream for storage on various types of media in accordance with the present invention.
Fig. 2 is a flow chart illustrating a process for generating Compressed Program Specific Information (CPSI) from the PSI and incorporating the CPSI in a packetized datastream suitable for storage on an alternative recording medium.
Fig. 3 is a flow chart showing a process for forming a stored CPSI of a selected program on a selected storage medium.
Fig. 4 is a flow chart showing a process for formatting the CPSI to ensure that the correct CPSI is used in the program decoding process.
Fig. 5 is a flow chart illustrating a process for retrieving a selected program from a selected storage device.
Figure 1 shows a video receiver system for adaptively generating and inserting compressed PSI into a packetized datastream to be stored in accordance with the present invention. The receiver system adaptively generates PSI for various media, such as videotape, Digital Video Disk (DVD), or CDROM. In addition, the video receiver system reduces processing and storage overhead caused by Program Specific Information (PSI) used to perform program content recovery.
Although the disclosed system is described in the context of an MPEG compatible system that receives an MPEG encoded transport stream representing a broadcast program, the system is merely an example. The principles of the present invention may be used in other types of systems including non-MPEG compatible systems that use other types of encoded data streams. For example, the principles of the present invention may also be applied to Digital Video Disc (DVD) systems and MPEG program data streams. Also, although the disclosed system is described in terms of broadcast programming, this is merely an example. As used herein, "program" is intended to mean any form of packetized data, such as telephone information, computer programs, internet data, or other communication data.
In summary, in the video receiver system shown in fig. 1, a carrier modulated with video data is received by an antenna 10 and processed by a unit 15. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output of the decoder 30 is processed by the transmission system 25 in response to commands from the remote control unit 125. The system 25 provides compressed data output for storage and decoding or communication with other devices. The video receiver user selects the desired program to view, the desired program to store, the type of storage medium, and the storage mode by making an on-screen menu selection using remote control unit 125. Video and audio decoders 85 and 80, respectively, decode the compressed data from system 25 to provide an output for display. The data port 75 provides an interface for communication of compressed data from the system 25 to other devices, such as a computer or a High Definition Television (HDTV) receiver from the system 25. The storage device 90 stores the compressed data from the system 25 on a storage medium 105. The device 90 in playback mode also supports recovery of compressed data from the storage medium 105 for decoding processing by the system 25, communication with other devices, or storage on a different storage medium (not shown for simplicity).
Referring in detail to fig. 1, a carrier wave modulated with video data is received by an antenna 10 and converted into a form of digital data by an output processor 15. The processor 15 comprises a Radio Frequency (RF) tuner and an Intermediate Frequency (IF) mixer and an amplification stage for down-converting the incoming video signal to a lower frequency band suitable for further processing. The resulting digital output signal is demodulated by demodulator 20 and decoded by decoder 30. The output of the decoder 30 is further processed by the transmission system 25.
The multiplexer 37 of the service detector 33 receives the output from the decoder 30 through the selector 35, or the output of the decoder 30 which is further processed by an NRSS (national committee for updated standards) descrambling unit 40. Selector 35 detects the presence of an insertable, NRSS-compatible descrambling card and supplies the output of unit 40 to multiplexer 37 when the card IS currently inserted in the video receiver unit (NRSS removable conditional access system IS defined in item PN-3639 in EIA draft file IS-679). Otherwise, selector 35 provides the output of detector 30 to multiplexer 37. The presence of the insertable card causes unit 40 to descramble the additional premium decoded channel and provide the additional programming services to the viewer. It should be noted that the NRSS unit 40 and the smart card unit 130 (the smart card unit 130 will be discussed below) in the preferred embodiment share the same system 25 interface to enable only NRSS cards or smart cards to be inserted at any one time. However, several separate interfaces are possible to allow parallel operation.
The data supplied from selector 35 to multiplexer 37 is in the form of an MPEG compliant packetized transport data stream as defined in MPEG systems standards part 2.4 and includes the content of one or more program channels. Those individual data packets that comprise a particular program channel are identified by a Packet Identifier (PID). The transport stream includes Program Specific Information (PSI) used in identifying the PIDs and splicing the individual data packets to recover the content in all program channels comprising the packetized data stream. By using the remote control unit 125 to make menu selections on the screen, the user of the video receiver selects the desired program to view, the stored programs, and the recording medium used. The system controller 115 uses the selection information provided via interface 120 to set up the system 25, select programs for storage and display and generate PSI suitable for the selected storage device and media. Controller 115 sets these units of system 25 by making settings of control register values on data buses at units 45, 47, 50, 55, 65 and 95, and selection of signal paths with control signal C via multiplexers 37 and 110.
In response to the control signal C, the multiplexer 37 either selects the transport stream from the unit 35 or, in replay mode, selects the recovered stream from the memory device 90 via the memory interface 95. In normal non-playback operation the data sets comprising the program for which viewing is to be selected are identified by the selection unit 45 by their PID. If the encryption identifier in the header data of the selected program data set indicates that the data set is encrypted, unit 45 supplies the data set to encryption unit 50. Otherwise, unit 45 will provide the unencrypted data set to transport decoder 55. Similarly, the data sets comprising the programs selected by the user to be stored are identified by their PID by the selection unit 47. Based on the packet header encryption identifier information, unit 47 provides the encrypted packet to decryption unit 50 or the unencrypted packet to multiplexer 110.
Units 45 and 47 employ PID detection filters that match the PIDs of the input data packets provided by multiplexer 37 to PID values in control registers preloaded in units 45 and 47 by controller 115. The pre-loaded PIDs are used in units 47 and 45 to identify the data sets to be stored and the data sets to be decoded for providing video images. Pre-populated PIDs are stored in look-up tables in units 45 and 47. These PID look-up tables are memory transformed into encryption key tables in units 45 and 47 that associate encryption keys with each pre-installed PID. The memory-transformed PID and encryption key look-up table causes units 45 and 47 to match the encrypted data sets including the pre-stored PIDs with the associated encryption keys that effect their decryption. The unencrypted data set does not require an associated encryption key. Both units 45 and 47 provide the identified data sets and their associated encryption keys to the decryptor 50. The PID lookup table in unit 45 is also memory converted to a destination table that matches packet data including pre-stored PIDs to corresponding destination buffer locations in packet data buffer 60. The encryption key is preloaded into units 45 and 47 by controller 115 along with the destination buffer location address and associated PID associated with the program selected by the user for viewing or storage. The encryption key is generated by the ISO7816-3 compatible smart card system 130 from encryption codes extracted from the incoming data stream. The generation of the encryption key is conditioned on the user's rights determined by the encoding information pre-loaded in the insertable smart card itself (international standards organization document, ISO7816-3 defines the interface and signal structure for smart card systems in 1989).
The data sets provided by units 45 and 47 to unit 50 are encrypted according to the Data Encryption Standard (DES) defined in federal information standards (FIPS) release regulations 46, 74 and 81 provided by the national information services agency. Unit 50 decrypts the encrypted data set by employing well-known techniques using the corresponding encryption keys provided by units 45 and 47. The data set comprising the decryption for displaying the program is supplied from unit 50 to decoder 55 and the unencrypted data set is supplied from unit 45 to unit 55. The encrypted data set from unit 50 and the unencrypted data set from unit 47, including the data set for storing programs, are provided to multiplexer 110.
Unit 60 includes four data set buffers that can be accessed by controller 115. One of these buffers is allocated to hold the specified data for use by the controller 115, while the other three buffers are allocated to hold the specified data set for use by the application devices 75, 80 and 85. The access performed by the controller and application interface 70 to the data sets stored in the four buffers within unit 60 is controlled by buffer control unit 65. Unit 45 provides a destination flag to unit 65 for each data set identified by unit 45 for decoding. This flag indicates to the individual unit 60 the target position of the data set for identification and is stored by the control unit 65 in an internal memory table. The control unit 65 determines a series of read and write pointers associated with the data sets stored in the buffer 60 on a first-in-first-out (FIFO) basis. The write pointer in combination with the destination flag allows sequential storage of the identified data set from unit 45 or 50 in the next empty location in the appropriate destination buffer in unit 60. The read pointer allows the controller 115 and the application interface 70 to read out the sequence of data sets implemented in the destination buffer of the appropriate unit 60.
The unencrypted and decrypted data set provided to 55 by units 45 and 50 contains a transport header as defined in section 2.4.3.2 of the MPEG systems standard. The decoder 55 determines from the transport header whether an adaptation field is included in the unencrypted and decrypted data set (prior to the MPEG system standard). The adaptation field includes timing information such as decoding time references (PCRs) to enable synchronization and decoding of the content data sets. Upon detection of a timing information burst, i.e. a burst comprising an adaptation field, the decoder 55 will use the setting of a system interrupt to inform the controller 115 of a system interrupt that the burst has been received. In addition, decoder 55 changes the flag of the timed data set in unit 65 and supplies the data set to unit 60. By changing the destination flag of the unit 65, the unit 65 switches the timing information data set provided by the decoder 55 to the location of the buffer of the unit 60 allocated to hold data by the controller 115, instead of the location of the application buffer.
Once the decoder 55 receives the interrupt setting of the system, the controller 115 reads out the timing information and PCR value and stores them in the internal memory. The PCR values of successive sets of timing information data are used by controller 115 to adjust the master clock (27MHz) of system 25. The difference in the time interval estimate between the PCR reference and the master clock reference between the receipt of successive sets of timing data generated by controller 115 is used to adjust the master clock of system 25. The controller 115 achieves this adjustment by using the estimated difference obtained to adjust the input control voltage of the voltage controlled oscillator used to generate the master clock. The controller 115 resets the interrupt after storing the timing information in the content memory.
Unit 65 transfers the data packets containing audio, video, program titles and other information received by decoder 55 from units 45 and 50 from decoder 55 to the designated application device buffer in data packet buffer 60. The application control unit 70 sequentially extracts audio, video, program titles, and other data from a designated buffer of the buffer 60 and supplies the data to the corresponding application devices 75, 80, and 85. The application devices include audio and video decoders 80 and 85 and a high speed data port 75. The data port 75 may be used to provide high speed data, such as providing computer programs to a computer. This outer terminal 75 can be used to output data to an HDTV decoder.
The data set comprising the PSI is identified by the unit 45 as data to be sent by the controller 115 to the buffer in the unit 60. The PSI data sets are fed directly to the buffer by unit 65 via units 45, 50 and 55 in the same manner as described for the data sets comprising the program content. The controller 115 reads the PSI from the unit 60 and stores it in an internal memory.
The process of figure 2 employed by controller 115 both generates Compressed PSI (CPSI) from stored PSI and incorporates the CPSI in a packetized datastream suitable for storage on an optional storage medium. The control of the burst identification function and the steering process of fig. 2 is accomplished by the controller 115 combining the functions of the PID, destination look-up table and encryption key look-up table of unit 45 and unit 47 and the control unit 65 in the manner described above.
CPSI includes information related to a particular program to be stored, while PSI includes information related to all programs entered into system 25. As a result, CPSI occupies less storage capacity and incurs less overhead than PSI. Furthermore, given a fixed overhead constraint, the CPSI can be repeated more frequently in the data stream than the PSI and can therefore be extracted to reduce latency in program content recovery.
The PSI defined in MPEG systems standards section 2.4.4 includes four unencrypted components or information tables. These are a Program Association Table (PAT), a Program Map Table (PMT), a Network Information Table (NIT), and a Conditional Access Table (CAT). Each table is formed from data sets identified by a particular PID. The PMT defines the PID flag bits that identify the individual packetized datastreams that make up a program. These separate data streams are referred to as elementary data streams in the MPEG standard. Elementary streams include streams such as video and audio data for various languages and title streams. PAT associates programs and PIDs, and realizes identification and splicing of data groups containing PMT. NIT is an option and may be constructed and used to define physical network parameters such as the frequency of the satellite transmission channel and the transponder channel. The CAT includes conditional access information, such as an encryption code that controls access to the program according to the user's interests.
In step 205 of fig. 2, controller 115 (fig. 1) performs an initialization process following start step 200 after the system is turned on. In step 205, the controller 115 inputs the MPEG defined PID values (PID 16, 0000 and 16, 0001, respectively) for the PAT and CAT tables in the PID detection filter of unit 45 (FIG. 1). In addition, the controller 115 pre-assigns PAT and CAT data sets to the control buffer in unit 60 by refreshing the destination table of unit 45. Under the control of unit 65, the PAT and CAT data sets detected by unit 45 are directed via decoder 55 to the control buffer in 60. At step 205, the control unit 65 notifies the controller 115 through a PSI interrupt that the PSI is already present in the unit 60. Upon receiving the PSI interrupt, the controller 115 repeatedly extracts the data sets stored in the buffer of the designated cell 60 and stores the complete CAT and PAT data in internal memory. After determining the PIDs from the PAT that identify the PMT and NIT, the controller 115 will repeat this process to store the complete PMT and NIT data in the internal memory. Upon receipt of the PSI interrupt while the receiver is on, the controller 115 continuously accesses the buffer 60 and retrieves PSI data sets from the internal memory. As a result, controller 115 obtains PAT, PMT, NIT, and CAT data in its internal memory that includes the complete PSI of the transport data stream input to system 25.
In step 210 of fig. 2, user generated data (SP, SM, SE) representing the program that the user wishes to store, as well as data of the program to be stored in encrypted form and the medium and device used for storage, are input into the controller 115 (fig. 1). After an on-screen menu selection is made using the remote control 125 unit, user selection data is input to the controller 115 via the interface 120. In step 215, in response to inputting the selection data (SP), the controller 115 extracts the PID for the selected program from the stored PSI for storage. The detection filter of unit 47 is fed by controller 115 with the PID of the program to be stored. This will cause unit 47 to identify the data set comprising the selected program for storage.
In step 215 of fig. 2, unit 47 (fig. 1) provides the unencrypted data set to multiplexer 110 and the encrypted data set (identified by the encryption identifier in the data set header data) along with the associated encryption key to decryption unit 50. In the manner previously described, after the smart card 130 generates the encryption key from the encryption code obtained from the CAT for the Selected Program (SP), the encryption key is provided by the controller 115 to the unit 47 in step 215 of fig. 2. However, if the selected data SE requires decryption of the store, unit 47 will pass the encrypted data set to be stored to multiplexer 110. Subsequently, in step 215 of fig. 2, in response to the selection data SE, the data set comprising the program (SP) to be stored is supplied to the multiplexer 110 in encrypted form or in decrypted form. In step 225, controller 115 forms Compressed Program Specific Information (CPSI) for the Selected Program (SP) for storage based on all program specific information acquired in the transport stream input to system 25. By employing the process in fig. 3, controller 115 forms a CPSI for each program to be stored in step 225 of fig. 2.
In step 305 of fig. 3, after the start step 300, the controller 115 renumbers the PID values constituting the elementary data stream to be stored and the PID values identifying the PMT and NIT. The renumbered PID values are different from the corresponding PID values recovered in the PSI of the transport stream input to the system 25, except for the occasional coincidence. The determination of the renumbered PID is accomplished by specifying a fixed (base) PID to identify the PMT and by adding a predetermined offset to the base PID to determine the PID values for video, audio, title, PCR, and NIT. An exemplary PID allocation scheme for the two programs to be stored (program 1 and program 2) is output in table I.
As can be seen in table I, the elementary data streams corresponding to the two programs are given the same PID, for example the video data streams for program 1 and program 2 are both denoted with PID 0401. The assignment of the same PID values to the corresponding elementary data streams simplifies the retrieval and recovery process performed by the decoder or playback device. The decoder can directly identify the data stream without first retrieving and splicing the PID de-transform data. However, renumbering PIDs in this manner introduces the potential problem of PIDs being difficult to distinguish and requires that renumbered elementary streams belonging to individual programs not be intermixed. Otherwise, intermixing of elementary data streams belonging to different programs using the same PID can lead to erroneous program splicing. Thus, the PID renumbering of step 305 is employed in the application, the groups of elementary data streams belonging to a single program being identified individually. Such applications include the generation of data streams and tape storage where elementary data streams of individual programs are not intermixed. Such applications also include recording disk storage applications, where the recording disk storage information is used to separate groups of elementary streams belonging to individual programs.
In addition, other PID allocation schemes that avoid potential problems that are difficult to discern by PID may also be used. For example, base PID values may be assigned to individually identify particular programs, as set forth in section 8.4.7.1 of the "digital television standard for HDTV transmission" published by the american Advanced Television Systems Committee (ATSC) on 12 4 months 1995. In addition, PID values of elementary streams constituting a program can be stored as transmitted without renumbering them. Such a scheme is straightforward to use, but is not simple in the data recovery process. It should be noted that the PIDs identifying PAT and CAT are 0000 and 0001 (16-ary), respectively, as defined in the MPEG standard.
TABLE I
PID name PID definition basis + compensation (16 system) Description of the invention
Program 1
PMT 0400 PID-base PID for program conversion table
Video 0401 PID for audio-visual data stream
PCR 0401 PID in video data stream
Audio 1 0406 PID for first program audio data stream
Audio 2 0407 PID for second program audio data stream
Data of 040B PID for program title data stream
NIT 040E PID for program network information table
Program 2
PMT 0400 PID-base PID for program conversion table
Video 0401 PID for audio-visual data stream
PCR 0401 PID in video data stream
Audio 1 0406 PID for first program audio data stream
Audio 2 0407 PID for second program audio data stream
Data of 040B PID for program title data stream
NIT 040E PID for program network information table
In step 310 of fig. 3, the controller 115 generates a Program Association Table (PAT) using a PID value (16-ary) equal to 0000. The convenient generation of the PAT only generates a new PAT for the individual programs currently being stored, and for the storage of each program. Therefore, the PAT includes only the entries required for identification of a single Program Map Table (PMT). In the example program shown in table I, the CPSI of both program 1 and program 2 include PAT with PID entries (0400) identifying single PMTs. In addition, the PAT formation may include an entry for the identification of the PMT, or for all programs that the user has selected for storage, or for programs that the user has selected for storage and programs stored in advance on the recording medium. To generate the latter type of PAT, the controller 115 retrieves the pre-recorded PID of the PMT from the storage medium 105 via the interface 95 and the device 90 prior to generating the PAT. If the NIT is generated, the PID that implements the identification of the NIT dataset is also included in the PAT, as discussed below.
At step 315, using the renumbered PID values, the controller 115 generates a PMT for each program to be stored to identify the component elementary data streams. The elementary data streams comprising the program to be stored are determined by the controller 115 from previously stored PSI data. In step 320, the controller determines whether the individual programs are to be stored in encrypted form based on user input data SE provided via the interface unit 120 (fig. 1). If the program is stored in unencrypted form, the controller 115 will continue to execute from step 330 of FIG. 3 without generating a Conditional Access Table (CAT). If the SE data requires encrypted storage of the program, the controller 115 generates a program for incorporation with an encryption code at step 325. The stored encryption code is recovered in a subsequent program recovery operation and is used to generate an encryption key to effect decryption of the encrypted program for display. The encrypted data may also be generated from the recovered code only, if decryption is effected in the manner described above by means of authorisation data pre-stored on the insertable smart card.
The above described encryption system is only an example. Encryption mechanisms for stored content including other different types of encryption codes or keys for encryption may also be used. Other authorization mechanisms that do not involve storage of codes would not require a CAT. Furthermore, the encryption code can be incorporated into the CPSI's information table instead of in the CAT, thereby obviating the need for a CAT. For example, the encryption code may be included in the CA descriptor private data part of the PMT (according to MPEG system standard part 2.6.16). This arrangement has the advantage of directly associating the codes with the data streams making up the program, avoiding the need for a separate directory linking the underlying data streams to the codes.
After step 325 or 320, the controller 115 generates a Network Information Table (NIT) for each program to be stored in step 330. The NIT generated by the controller 115 includes specific data which may include, for example, the title, duration and description of the program, and rating of the violence/pornography, the time and date recorded, and additional optional information relating to whether the edited version is available for user selection. The stored specific information is collected by the controller 115 from previously stored PSI information or is additionally collected from user-entered data via the remote control unit 125 and the interface 120. The NIT is an option that the user may choose to ignore the NIT and select through a menu for all of the stored selections of any or all of the programs, in which case step 330 of fig. 3 would be skipped.
Furthermore, such dedicated information may be incorporated into the information table of the CPSI instead of in the NIT. For example, the private information may be incorporated in the user private specifier part of the PMT (according to MPEG systems standards part 2.6). The advantage of this solution is that the private data is directly combined with the elementary data stream constituting the program, eliminating the need for a separate directory for linking the elementary data stream to the private data.
At step 335, the controller 115 concatenates the PAT and PMT generated for the individual programs to form compressed program description information (CPSI) for each program. The controller 115 also splices and incorporates the optional CAT and NIT for each program in the CPSI. Thus, the CPSI is made to include a PAT and a PMT, and may also include one or both of the CAT and NIT. As a result, the CPSI includes information relating to particular programs selected for storage from the data stream input to the system 25 and excludes particular information relating to programs not selected for storage.
However, the CPSI may also be generated for one or more programs selected from the incoming transport stream for storage. In this case, the CPSI would include a single PAT and PMT, and may include a single CAT and a single NIT. The tables in this case include data supporting the identification and recovery of a plurality of selected programs selected for storage, which data is defined in the MPEG standard. In the case where the programs selected for storage are separate data streams from two inputs to the system 25, the CPSI includes a single PAT and two PMTs. One PMT for each program to be stored. The CPSI may include a single CAT and two NITs. One NIT for each program to be stored.
If the playback apparatus erroneously uses the CPSI of a different program, a problem will arise in recovering one program from the storage medium. Incorrect use of CPSI data, such as for PMTs, can lead to incorrect identification and splicing of data groups in the recovery of program content and produce data that is invalid for display or processing. This problem occurs, for example, if a playback apparatus applies a CPSI that is not the program being recovered or does not recognize that the CPSI has changed and applies a previously derived CPSI for a different program. The likelihood of such problems increases if more than one program is included in the storage medium. In this case, for example, the playback apparatus may cross the boundaries of the program during trick playback or retrieval operations and continuously apply the CPSI of the previous program. To alleviate the problem of crossing program boundaries by applying incorrect CPSI parameters, controller 115 will format the CPSI in step 340 by employing the process of fig. 4.
In step 405 following the start step 400 of fig. 4, the controller 115 determines the type of memory and media selected by the user from the input data (SM) provided via the interface 120. If the selected medium is linear, i.e., a sequential storage medium such as a video tape for use with digital vhs (dvhs), controller 115 performs step 425 directly after step 410. In step 425, the controller changes the version numbers associated with the PAT, PMT, CAT, and NIT, the data burst format, according to the MPEG composition rules (MPEG systems standard part 2.4.4-2.4.4.11). The change of the version number is effected by incrementing the version number between successive repetitions of the CPSI in the program to be stored. The version counter is continuously incremented by any overflow condition. Upon retrieval of the program from the storage medium 105, the decoder or playback device will detect the changes in the serial version number and apply them to the acquired program each time PAT, PMT, CAT, and NIT information appears.
Another method of changing the version number can be used to start the decoder to reacquire the CPSI. For example, the version number may be incremented between the first two consecutive occurrences of a CPSI at the start of recording of a program, or between selected CPSI occurrences within the program, or between different programs on the storage medium. Furthermore, the version numbers of the program boundaries that appear between different programs need not be distinguished by any particular number. However, version numbers consecutively generated in one program should differ by 1 in the MPEG manner. In non-MPEG compatible applications, the version number of the CPSI table in a program may differ by any value. Another method that may be used in step 425 is to specify a separate identifier that instructs a playback device to apply each CPSI at the time of its occurrence or at the time of the occurrence of the selected CPSI. Such an identifier would be compatible with MPEG composition rules and entered in a private data section, such as in the adaptation field of a PAT or CAT (section 2.4.3.4 of the MPEG system standard) such an identifier could be arbitrarily defined, or could be an existing identifier, such as a 'discontinuity identifier' in the group header adaptation field (defined in section 2.4.3.5 of the MPEG system standard) which, when set to "1", indicates a potential discontinuity in the CPSI by the decoder or playback device, and therefore the subsequently occurring PAT, PMT, CAT and NIT information would be applied. This use of a discontinuous identifier is incompatible with the MPEG standard.
Additional methods available are also included in the non-MPEG compatible data stream, including, for example, specifying a non-MPEG compatible identifier or using a signal to indicate the start or end of a program recording. Another technique is to construct a playback device to identify and apply each occurrence of the CPSI in the acquired data stream regardless of its version number. Step 425 at this point may be skipped.
If the selected storage medium 105 is of a non-linear type, i.e. the medium accepts non-sequential access, e.g. an optical disc medium including a CDROM or DVD, the controller directly performs step 430 after step 415. CPSI data in a non-linear type recording medium may be stored in one or more specific directory locations on the medium, or in program content as in a linear type medium. In step 430, where the CPSI is stored in several directory locations, the controller 115 changes the version numbers associated with the PAT, PMT, CAT, and NIT datasets in the directory locations. The version number is incremented according to MPEG system rules to ensure that they are different between different programs on storage medium 105 (fig. 1). In step 430, in the case that the CPSI is stored in the program contents, the controller 15 changes the version number as described in step 425 for the linear type medium. To ensure that there are different version numbers of CPSI units between different programs, the controller 115 recovers the version number of the pre-recorded program or file from the storage medium 105 via the interface 95 and means 90 before generating and inserting the incremented version number into the CPSI data.
Other methods of changing the version number may also be employed in step 430. However, the CPSI version numbers between different programs stored on the medium 105 should be different from each other. In addition, a separate identifier may be specified in step 430 to instruct the decoder to apply the CPSI either at the beginning of the program or at the time of making a transition to the program boundary. Such a specified identifier should be compatible with MPEG system rules and placed in a private data section, for example in the additional field of the PAT or CAT (section 2.4.3.4 of the MPEG system standard). The identifier may be arbitrarily defined or may be an existing identifier, such as a "discontinuity identifier" in the data set header adaptation field described in connection with step 425. In the content of the non-MPEG compatible data stream, an identifier may be specified to instruct a decoder or playback apparatus to apply the CPSI. Such an identifier may for example indicate the start or end of a program recording.
If the selected storage medium 105 is a solid-state storage medium, such as a semiconductor memory RAM, the controller 115 performs step 430 after step 420. Solid-state storage media like non-linear storage media, their CPSI data is typically stored in one or more specific directory locations on the media and is easily retrieved from other storage locations. As a result, the controller 115 alleviates the problem of applying incorrect CPSI parameters across program boundaries by formatting the CPSI of a solid-state storage medium, as is done for non-linear media. This is the process of the controller using step 430.
After steps 425 and 430, the process of fig. 4 ends at step 435, which completes the CPSI formatting of step 340 of fig. 3. Following step 340, the process of fig. 3 ends at step 345, completing the formation of the CPSI for the program selected for storage by the process terminating to step 225 of fig. 2. The controller 115 continues the process of fig. 2 to perform step 230.
At step 230, the controller 115 forms the CPSI into several parts according to MPEG System rules (MPEG System standards 2.4.4.3-2.4.4.11). These portions are formed for PAT data and PMT data. These parts are also formed for the selected CAT and NIT (private data) if these tables are incorporated in the CPSI in the process of fig. 3 described earlier. The generated packet data includes an identifier of the table, a partial length identifier, and a version number previously determined in the process of fig. 4. It is noted that the PAT part also includes a transport data stream identifier that associates the PAT to a particular transport data stream. The controller 115 obtains this identifier from the original PSI and inserts it into the transport stream identifier field of the PAT portion of the CPSI. However, the field may be selected to remain intact or to be left empty.
In step 230, the controller 115 adds header data to the CPSI data portion to format and packetize the CPSI data for insertion into the data stream to be stored. The controller 115 is according to MPEG system standard 2. Sections 4.3.2 and 2.4.3.3 generate titles from PSI title data stored in the controller internal memory. However, the CPSI section differs in length from the data of the corresponding PSI section. Therefore, new header parameters including a "continuous count" identifier and a "payload unit start" identifier are generated by the controller 115 and inserted into separate identifier fields in the header data. The new consecutive count identifier generated by the controller 115, for example, reflects the number of packets for each PID of the CPSI unit rather than the number of headers for each PID packet of the corresponding PSI. The new payload unit start identifier generated by the controller 115 indicates the first byte of the CPSI instead of the first byte corresponding to the PSI section.
With continued reference to fig. 2, in step 235, the CPSI in the form of packetized MPEG compatible portions of data formed in step 230 is provided by controller 115 to multiplexer 110 (fig. 1). The program content packet data stream from unit 47 or unit 50, formed as described in step 215 above, is also provided to multiplexer 110. In step 235, the controller uses the path select signal C to multiplex between the program content input to the multiplexer 110 and the CPSI data stream to produce a composite data stream that is output by the multiplexer 110 to the storage interface 95. The composite data stream includes program content packet data and CPSI packet data. In response to the PSI interrupt signal from the control unit 65 (fig. 1), the controller 115 synchronizes the CPSI data inserted into the program data stream to be stored. The PSI interrupt indicates the presence of a PSI data packet in buffer 60 as discussed in connection with step 205. In this manner, the PAT, PMT, CAT, and NIT portions of the packet of the CPSI are inserted into the location of the PSI to replace the corresponding portions of the PSI. Unencrypted CPSI data may be inserted into encrypted or unencrypted program content data streams that are input to multiplexer 110 to produce encrypted or unencrypted programs for storage.
In step 235, the controller 115 replaces each occurrence of PSI data in the data stream to be stored with corresponding CPSI data, regardless of the type of storage medium selected by the user. However, further reduction in coding overhead can be achieved by inserting the CPSI into the selected PSI location or by inserting the CPSI only once into the program to be stored. The repetition frequency of the CPSI in the program to be stored may be determined by the controller 115 based on a number of factors including, for example, the repetition frequency limit of the minimum PSI unit, the user's will, the limitations of storage capacity, or the type of storage medium selected. The system proposed by ATSC for High Definition Television (HDTV) specifies a certain minimum repetition frequency of PSI units, e.g., a minimum interval of 100ms included between repetitions of PAT (digital television standard for HDTV transmission, note C, 12/4 in 1995). Also, reducing the number of repetitions of the CPSI or the number of insertions of the CPSI to only once in the program to be stored does not adversely affect the delay in program recovery, for example in the case of non-linear or solid-state storage media. This is because this type of medium allows fast non-sequential (random) data extraction.
In step 240, storage interface 95 receives data in digital form of a program to be stored (referred to hereinafter as a CPSI data stream) from multiplexer 110 incorporating the CPSI's packetized data stream. The process of fig. 2 used by controller 115 to generate the CPSI data stream terminates in step 245. It should be noted that the CPSI data stream may also be provided in step 240 for other purposes, such as for display or communication via interface 70, rather than for storage via interface 95.
The CPSI data stream from multiplexer 110 is buffered by interface 95 to reduce gaps in the data and variations in the bit rate. The resulting buffered data is processed by the storage device 90 to be suitable for storage on the medium 105. The controller 115 uses a standardized CEB bus control protocol (home automation standard (CEB bus), EIA/IS-60, 12 months 1989) to control the operation of the storage device 90 (fig. 1) via commands of the I/O port 100. The storage device 90 is a linear storage medium DVHS type device that encodes the buffered data stream from the interface 95 using known error coding techniques such as channel coding, interleaving and reed-solomon coding to produce an encoded data stream suitable for storage. The unit 90 stores the generated encoded data stream combined with the CPSI on the tape medium 105.
Other types of storage systems are capable of recording two data streams in parallel. The first data stream, which typically contains the body of the program content, is usually recorded helically on a magnetic tape. The data density and bit rate are typically recorded in parallel in a linear (non-spiral) fashion on auxiliary tracks on the outside of the tape in a much lower second data stream. In this type of storage system, the device 90 separates the CPSI data from the CPSI data stream and records the CPSI advantageously on the auxiliary track. Unit 90 stores the CPSI in such a way that each program recorded on the tape carries associated CPSI data on auxiliary tracks parallel to the program. The repetition frequency of the CPSI data on the auxiliary track may be adjusted in accordance with the limitations of the auxiliary track data rate. In addition, the CPSI may be stored in a spiral auxiliary track or a data management area including a Track Information Area (TIA) or an insertion and track information area (ITI area). The data management area is stored in a spiral or non-spiral track parallel to the program content.
Although described in the embodiment of fig. 1 as a DVHS of data recorded on a linear type storage medium, the storage unit 90 may be any type of storage unit. For example, the unit 90 may be a solid state or non-linear type device for storing data in a RAM or DVD or CDROM. If the medium 105 is a non-linear or solid-state type storage system, the unit 90 will separate the CPSI data from the CPSI data stream and store the CPSI data in a designated directory area of the medium. This advantageously avoids repeated storage of CPSI and reduces the requirements on storage capacity. In addition, the unit 90 may store the CPSI as it is formed and input into the unit 90 with one or more repetitions of the CPSI data.
Moreover, the system 25 of FIG. 1 may incorporate multiple storage/retrieval paths that support the operation of various types of storage devices, including linear, non-linear, and solid-state types. The single store/restore path as shown in fig. 1 includes elements 47, 90, 95, 105, and 110. By replicating these units to produce parallel storage functions, system 25 is easily expanded to include multiple storage paths. As previously described, storage paths and programs targeted to a particular storage device are selected by user-generated data (SP, SM) entered into the controller 115 via the interface 120 using the remote control unit 125 following an on-screen displayed menu.
The system 25 of fig. 1 utilizes the process of fig. 5 to retrieve programs from the storage device 90 and the medium 25 in a repeat mode. The recovered data stream is processed by the system 25 and provided to the application devices 75, 80, and 85 for display or output. Furthermore, the program data stream may be stored in a further parallel storage device (not shown in fig. 1 for simplicity of the drawing).
In step 505, which follows the start step 500 of fig. 5, user generated data (SR, SM) is input to 115 of the system 25 (fig. 1) indicating the program to be restored and the storage device from which the program to be restored originated. Data selected by the user is input to the controller 115 through the interface 120 according to prompts of the menu displayed on the screen using the remote control unit 125. Assume, for example, that the user selected program to be restored is from storage device 90 (fig. 1). As previously discussed, at step 510, the controller 115 initiates the restoration of the data stream of the selected program from the medium 105 by the device 90 by a command of the I/O port using the standardized CEB bus control procedure. The device 90 decodes the error encoded data retrieved from the medium 105 to recover the corresponding data originally provided to the device 90 for storage. The device 90 may be a DVHS linear type memory unit or other type of memory unit, such as a solid state RAM or a non-linear type DVD or CDROM type device. The recovered decoded data stream is transmitted by the device 90 to the interface 95 at step 510. The transfer of such data is controlled and synchronized by the controller 115 over the CEB bus. Interface 95 buffers data from unit 90 and adjusts the time interval between data bursts to provide MPEG compatible and buffered data output at MPEG bit rate conventions.
In step 515, the controller 115 outputs the buffered output (replay data stream) from the interface 95 directly to the PID selection units 45 and 47 via the multiplexer 30 using the path selection signal C. In step 520, units 45 and 47 and the rest of the system 25 process the replay data stream either for storage via multiplexer 110 or for application use via interface 70. The replay data stream from unit 95 and the transmit data stream from selector 35 are both processed in a similar manner by system 25 after selection by multiplexer 37. Both types of data streams are processed in the manner described above for transmitting the data streams. However, the replayed data stream selected by the multiplexer 37 already incorporates the CPSI. Therefore, in the playback mode, the controller does not perform the CPSI-related steps described in connection with fig. 2-4 at step 520.
In the exemplary playback mode of fig. 5, system 25 transmits the decoded playback data stream in step 520 to provide the decoded data to application decoders 80 and 85 for display. In this mode, the system 25 applies the CPSI data included in the playback data stream according to the MPEG standard to transmit a program data stream representing the selected program SR.
At step 520, the controller 115 accesses the playback data stream CPSI data through the buffer 60 and examines the data for changes in version numbers that occur between successive CPSI units. The controller 115 also examines a discontinuity (defined in 2.4.3.5 of the MPEG systems standard) of the playback stream represented by a "discontinuity indicator" in the packet data header application field. Upon detecting a change or discontinuity in the version number, the controller 115 applies the latest full CPSI data for transmission decoding of the replayed data stream. It is noted that the controller 115 can also be programmed to employ the latest complete CPSI data upon the occurrence of a change in other conditions, including the detection of a mismatch in continuity count between the successive data sets and transport error identifiers of a particular PID. Both of these parameters are present in the header of the data packets of the playback data stream (defined in section 2.4.3.2 of the MPEG systems standard). The controller 115 may also be programmed to apply the CPSI when a discontinuity between current time samples (PTS) or between Decoding Time Samples (DTS) (defined in the MPEG standard) or other user-defined time samples is detected. It is noted, however, that MPEG compliant system rules require that a discontinuity indicator be set to identify the occurrence of a continuity count mismatch.
In a similar manner as described above in connection with fig. 1, CPSI is used in the transport decoding process using the PID filters 45 and 47, the decryptor 50, the decoder 55, the buffer 60 and the control unit 65. In addition to the CPSI, the transport decoded data stream is provided via interface 70 to application decoders 80 and 85 for MPEG decoding and image reproduction. In other modes, system 25 provides the playback data stream with the CPSI incorporated to other applications, such as to high speed data port 75. The CPSI can be used by these application devices or subsequent devices as needed in the transport decoding process for the playback data stream. If the playback data stream is stored to the second storage device instead of the device 90, the multiplexer 110 provides the CPSI combined data stream to the second storage device via the second storage interface. Also, a second storage device and interface (not shown in FIG. 1) mimic the functionality of units 90 and 95, respectively.
During a default period prior to implementation of the CPSI, system 25 provides decoded data to video decoder 85 representing a predetermined video image for display, such as a "blue screen" or "still frame". Similarly, during the default period before detecting the change in the version number and displaying for the CPSI, system 25 provides data to audio decoder 80 to blank the audio output. This measure prevents annoying video or audio from being output to the reproduction apparatus until correct CPSI data has been applied to provide effective material for viewing and listening. Such a default period includes, for example, any of the following conditions:
a) detection of an end of decoding the identifier or system power-on;
b) detection of a user command including fast play or skipping of content (trick playback);
or c) detection of an error condition indicating that no valid set of video data has been detected,
until detection of a change in the CPSI unit version number.
Data from interface 70 that is MPEG decoded by application decoders 80 and 85 is presented by audio and image reproduction means in units 80 and 85 respectively. This will end the playback process at step 530. It should be noted that the controller 115 may alternatively employ any of the other methods previously described to prevent the application of an incorrect CPSI.
The output structure of fig. 1 is not exclusive. Other configurations can be derived in accordance with the principles of the present invention to achieve the same objectives. Moreover, the functions of the components of the architecture of fig. 1 and the process steps of fig. 2-5 may also be programmed to be implemented in whole or in part by a microprocessor with programmed instructions. Furthermore, the principles of the present invention are applicable to any form of non-MPEG compatible electronic program guide and are not limited by the manner of enumeration in MPEG compatible PSI tables.

Claims (28)

1. A method of generating a data stream from an input data stream representing a plurality of programs, comprising the steps of:
selecting a desired program from the plurality of programs;
identifying a program content data set comprising the selected program;
forming compressed program specific information CPSI adapted to identify and concatenate said identified program content data sets, said CPSI including program transformation information associating data set identifiers with individual packetized datastreams constituting a selected program and excluding program transformation information associated with said plurality of programs other than said selected program; and
a data stream representing the desired program is formed from the identified program content data sets and the compressed program specific information.
2. The method according to claim 1, wherein,
the formed data stream is an MPEG compatible data stream.
3. The method according to claim 1, wherein,
the program conversion information is MPEG compatible program conversion table information.
4. The method of claim 1, further comprising the step of,
copying the CPSI; and
inserting the replicated CPSI into the formed data stream at a plurality of locations.
5. The method according to claim 4, wherein,
said input data stream incorporates program specific information PSI adapted to recover data content of said plurality of programs; and
the replicated CPSI occurs more frequently in the formed data stream than PSI occurs in the input data stream.
6. The method of claim 1, further comprising the steps of:
the identified program content data sets are formed into a content data stream, thereby forming a desired program data stream from the content data stream and the compressed program specific information.
7. The method according to claim 1, wherein,
the CPSI includes one or more private data elements describing the program, the private data elements being selected from title, duration, program description, violence rating, age suitability rating, time of recording, date of recording, version list.
8. The method according to claim 7, wherein,
one or more of said private data components are included in a network information table NIT.
9. The method according to claim 7, wherein,
one or more of the private data components are included in a user-defined portion of the program transformation information.
10. The method according to claim 1, wherein,
encrypting the identified program content data set; and
the CPSI includes an encryption code.
11. The method according to claim 10, wherein,
the encryption code is included in a conditional access table CAT.
12. The method according to claim 10, wherein,
the encryption code is included in a user-defined portion of the program transform information.
13. The method according to claim 10, wherein,
the encrypted data set is decrypted by information derived using the encryption code.
14. The method according to claim 1, comprising the steps of:
selecting a plurality of desired programs from the plurality of programs;
identifying a program content data set comprising the selected program;
compressed program specific information is formed which includes program transformation information associating identifiers of the data groups with individual packetized datastreams constituting the selected program.
15. The method of claim 1, further comprising the steps of:
storing the CPSI and the identified program content data set on a storage medium.
16. The method of claim 15, further comprising the step of:
the medium is selected for storage.
17. The method of claim 16, wherein said step of forming a CPSI comprises the steps of:
the CPSI is adaptively formed to adapt to the selected media type.
18. The method of claim 15, wherein said storing step comprises the steps of:
storing the CPSI and the identified program content data set in separate locations on the storage medium.
19. The method according to claim 18, wherein,
the separate locations are adjacent.
20. The method according to claim 15, wherein,
the storage medium is a non-linear type medium.
21. The method of claim 1, comprising the steps of:
identifying Program Specific Information (PSI) data groups related to the selected program; and
the PSI is used in forming the CPSI.
22. A method of processing a program characterizing packetized datastream, the method comprising the steps of:
selecting the program characterizing datastream from an input datastream representing a plurality of programs;
identifying a program content data set comprising the selected program;
forming program specific information PSI for identifying and splicing already identified program content data sets, said PSI being adaptively generated so as to be adapted to the type of storage medium desired; and
storing said PSI and said program content data sets on a storage medium.
23. The method of claim 21, wherein
Encrypting the identified program content data set; and
the PSI includes an encryption code.
24. A method according to claim 21, wherein in said PSI formation step comprises:
the PSI is formed so as to include program transformation information associating data group identifiers with data streams of individual packets constituting the selected program and to exclude program transformation information related to the plurality of programs other than the selected program.
25. The method of claim 21, comprising the steps of:
forming said PSI data set and said program content data set into respective data groups; and
storing the data clusters in separate locations on the storage medium.
26. The method of claim 25, wherein
The data clusters are stored in predetermined contiguous locations.
27. The method according to claim 18 or 25, wherein,
the storage medium is a linear type medium including a tape medium; and
the separate locations are selected from: a) a recording track adjacent to the recording track storing the program, including an auxiliary recording track, and b) a data management area.
28. A method of generating a compressed program guide from an input data stream representing a plurality of programs and including a first program guide adapted for use in decoding said plurality of programs, comprising the steps of:
selecting a desired program from the plurality of programs; and
forming a compressed program guide suitable for use in decoding a selected program by:
program transformation information including associating data group identifiers with data streams of individual packets constituting the selected program; and
program transformation information not related to the selected program is excluded from the first program guide.
HK00100919.8A 1996-05-31 1997-05-22 Method for processing and storage of digital data and program specific information HK1022229B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US1872296P 1996-05-31 1996-05-31
US60/018,722 1996-05-31
US08/696,415 US5754651A (en) 1996-05-31 1996-08-13 Processing and storage of digital data and program specific information
US08/696,415 1996-08-13
PCT/US1997/008875 WO1997046008A1 (en) 1996-05-31 1997-05-22 Processing of digital data and program guide information

Publications (2)

Publication Number Publication Date
HK1022229A1 HK1022229A1 (en) 2000-07-28
HK1022229B true HK1022229B (en) 2007-08-24

Family

ID=

Similar Documents

Publication Publication Date Title
CN1294741C (en) Method for processing and storing digital data and program specific information
CN1210948C (en) Formation of performance specific information processed by digital data
CN100358345C (en) Block data form for digital data storage medium
EP0903034B1 (en) Decoding of digital data including program specific information
KR100515707B1 (en) Program specific information formation for digital data processing
HK1022229B (en) Method for processing and storage of digital data and program specific information
HK1022227B (en) Program specific information for digital data processing
HK1022070B (en) Decoding of digital data including program specific information