WO2004098185A1 - Method and apparatus for storing a data stream - Google Patents
Method and apparatus for storing a data stream Download PDFInfo
- Publication number
- WO2004098185A1 WO2004098185A1 PCT/IB2004/050516 IB2004050516W WO2004098185A1 WO 2004098185 A1 WO2004098185 A1 WO 2004098185A1 IB 2004050516 W IB2004050516 W IB 2004050516W WO 2004098185 A1 WO2004098185 A1 WO 2004098185A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data object
- data
- stream
- stored
- memory
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000008520 organization Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4433—Implementing client middleware, e.g. Multimedia Home Platform [MHP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/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/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
Definitions
- the invention relates to a method of storing a data stream in a memory, the data stream comprising a stream of audiovisual data and at least one data object associated with the stream of audiovisual data, the method comprising the step of separating the data object from the stream of audiovisual data.
- the invention further relates to an apparatus for storing a data stream in a memory, the data stream comprising a stream of audiovisual data and at least one data object associated with the stream of audiovisual data, the apparatus comprising a de-multiplexer for separating the data object from the stream of audiovisual data, a memory for storing the data object, and a processing unit.
- the invention also relates to a record carrier comprising a computer program.
- the invention further relates to a programmed computer.
- Multiple television programs may comprise the same or similar data objects like applications. Using the method according to the prior art, this would result in similar or the same data objects being stored twice. From a viewpoint of memory management, this is not desirable, since redundant data is stored.
- This object is achieved by using the method according to the invention, which is characterized in that the method comprises the steps of: checking whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory; when a similar data object has been stored previously, storing the data object in such a way that only one of said similar data objects is stored in the memory; when no similar data object has been stored previously, storing the data object comprised in the data stream in the memory.
- the invention is based on the recognition that multiple streams of audiovisual data, like episodes of a series, can be associated with one and the same data object. This may be exactly the same data object or a data object of another version that slightly differ from each other.
- By determining the similarity between two data objects it can be decided whether the additional storage of a received data object is a redundant action or not. When it is a redundant action, action can be taken to avoid redundant data storage, resulting in storage of only one of said similar data objects.
- the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the step of replacing the stored similar data object by the similar data object comprised in the data stream in the memory.
- This embodiment has the advantage that the last received stream of audiovisual data like a TV-program, which is probably the most wanted by a user, will always be played consistently, since the data objects stored are specifically associated with and designed for the last received program.
- the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the step of discarding the similar data object comprised in the data stream in the memory and leaving the stored similar data object as it is stored in the memory.
- the data objects are formatted for usage in accordance with the Multimedia Home Platform standard and the similarity criterion is satisfied when the Organization id' parameter and the
- the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the steps of: determining the value of the version number parameter; when the value of the version number id of the stored data object is higher than the value of the version number id of the data object comprised by the data stream, discarding the data object comprised by the data stream; when the value of the version number id of the stored data object is lower than the value of the version number id of the data object comprised by the data stream, replacing the stored data object by the data object comprised by the data stream.
- This embodiment has the advantage that always the latest version of a data object is stored in the memory. In most cases, this version will have the smallest number of bugs, since most software suppliers will process bug information and fix bugs in later versions of software packages, as is common practice nowadays.
- the method further comprises the step of discarding the data object comprised by the data stream when the value of the version number id of the stored data object is equal to the value of the version number id of the data object comprised by the data stream.
- This embodiment has the advantage that no unnecessary operations are performed in the memory - replacing a data object by a data object with the same id and the same version number is deemed unnecessary, since it means replacing a data object by exactly the same data object - and that unnecessary wear and tear of the memory is thus prevented, enhancing the lifetime of the memory.
- the apparatus according to the invention is characterized in that the processing unit is conceived to: check whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory; when a similar data object has been stored previously, store the data object in such a way that only one of said similar data objects is stored in the memory; when no similar data object has been stored previously, store the data object comprised in the data stream in the memory.
- the record carrier comprising a computer program according to the invention is characterized in that the computer program is conceived to program a computer to carry out the method defined in claim 1.
- the programmed computer according to the invention is characterized in that it is enabled to perform the method defined in claim 1.
- Fig. 1 shows an embodiment of the apparatus according to the invention
- Fig. 2 shows a transport stream comprising a stream of audiovisual data and a carousel comprising data objects
- Fig. 3 is a flowchart depicting an embodiment of the method according to the invention.
- Fig. 1 shows a consumer electronics system 100 comprising a video recorder
- the video recorder 110 as an embodiment of the apparatus according to the invention, a TV-set 150 and a control device 160.
- the video recorder 110 is arranged to record streams of audiovisual data and interactive applications associated with these streams of audiovisual data carried by a signal 170.
- the video recorder 110 comprises a receiver 120 for receiving the signal 170, a de-multiplexer 122, a video processor 124, a central processing unit such as a microprocessor 126 for controlling components comprised by the video recorder 110, a storage device 128 such as a harddisk drive or an optical disk drive such as a DVD or Blu-
- the video recorder further comprises a network interface unit 140 for connection to a network such as the Internet.
- the network interface unit 140 may be embodied as an analog modem, an ISDN, DSL or cable modem or a UTP/ethernet network interface.
- the receiver 120 is arranged to tune in to a television channel and derive data of this television channel from the signal 170.
- the signal 170 can be received by any known method; cable, terrestrial; satellite, broadband network connection or any other method of distributing audiovisual data.
- the signal 170 can even be derived from the output of another consumer electronics apparatus.
- the program code memory 130 enables the microprocessor 126 to execute the method according to the invention.
- the program code memory 130 may be embodied as a Flash EEPROM, a ROM, an optical disk or any other type of data carrier.
- the storage device is adapted to store content that is received by either the receiver 120 or the network interface unit 140 for future reproduction on the TV-set 150 or for further dissemination via the network interface unit 140. The content may be processed prior to storage.
- Digital Video Broadcasting is a standard for distribution of digital television. Audiovisual data is provided in MPEG format and interactive applications, associated with the audiovisual data, are provided in the MHP - Multimedia Home Platform - format. In this format, applications are provided as application data objects in Java. In the Digital Video Broadcasting (DVB) standard, the application data objects are distributed with the audiovisual data in an object carousel. This basically means that the application data objects are transmitted repeatedly. This way of data transmission is indicated in Figure 2.
- Figure 2 shows a transport stream 200 comprising a stream of audiovisual data 210 and an object carousel 220, as it is carried by the signal 170 ( Figure 1) in this embodiment of the invention.
- the object carousel 220 comprises a set of files 221, which set is broadcast repeatedly and comprises various files like application data objects, indicated by the dashed lines. It is advantageous to store the application data objects apart from the audiovisual data for various reasons. The most important reason is that redundancy automatically introduced by the carousel method of distribution can be removed by storing each application data object associated with a single program only once. This saves a considerable amount of storage space compared to the case when the full transport stream as received by the tuner 120 would be stored.
- the application information table (not shown) of a program as carried by the transport stream 200 has to be parsed by the microprocessor 126.
- the values of parameters "organization id” and "version number” to identify the application have to be checked.
- the "application _identifier” itself is included in the Application Information Table (AIT), which is incorporated in the DVB transport stream.
- the received application data object is stored in such a way that only one of said similar application data objects is stored in the storage device 128.
- values of all three mentioned parameters - "application id", “organization id” and “version number” - have to be equal to satisfy the criterion for similarity.
- values of parameters "application id” and “organization id” have to be equal.
- the value of the parameter "version number” is used to determine whether to discard the received application data object or to replace the stored application data object by the application data object received.
- Fig. 3 is a flowchart 300 depicting an embodiment of the method according to the invention.
- the process starts in a process step 310 with the reception of a transport stream, preferably in the format prescribed by the Digital Video Broadcasting standard, the stream carrying audiovisual data and application data objects, preferably in the format prescribed by the Multimedia Home Platform standard.
- the transport stream is parsed, i.e. application data objects are separated from the audiovisual data and an Application Information Table (AIT), incorporated in the transport stream, is analyzed for every application data object.
- AIT Application Information Table
- a process step 314 the value of the parameter "application id" is extracted from the AIT.
- the extracted value is compared with a stored list that carries the applications ids and version numbers of all application data objects that have already been stored. When an application data object with the same value of the parameter "application id" has not been stored previously, the application data object is stored.
- the value of the parameter 'application id' is stored in the list that carries the application ids of all application data objects stored in a process step 319.
- the value of the parameter "version number” is extracted from the AIT in a process step 320 for the received application data object. This value is compared with the version number of the application data object that has already been stored in a decision step 322. When the version number of the received application data object is lower than or equal to the version number of the stored application data object, the received application data object is discarded in a process step 324.
- the stored application data object is replaced by the received application data object in a process step 326.
- the process step 326 is followed by a process step 328 in which the version number in the list is updated for this application data object. This sequence is repeated during the whole process of storing the received transport stream for every application data object.
- the flowchart 300 merely presents an embodiment of the method according to the invention and that various modifications thereof are possible without departing from the scope of the invention.
- the stored application data object is nevertheless replaced by the received application data object.
- the approach may also be opposite to the method as presented in Fig. 3, i.e. when the application id of the received application data object and the stored application data object are equal and the version number of the received application data object is lower than the version number of the stored application data object, the stored application data object is replaced by the received application data object, resulting in the application data object with the lowest version number being stored.
- This embodiment is especially advantageous when older version of series are recorded, of which other data does not function with newer versions of similar application data objects having equal values for the parameter "application".
- the invention does not necessarily have to be implemented in a dedicated television receiver, but may be implemented in a general-purpose computer, such that it is enabled to carry out the method according to the invention.
- the invention has been described with reference to application data objects. However, it may be applied to storage of other data objects such as text files, object files that come wit executable files, dynamic link libraries, et cetera.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The invention relates to a method and apparatus for storing a data stream in a memory, the data stream comprising a stream of audiovisual data and at least one data object associated with the stream of audiovisual data, the method comprising the step of separating the data object from the stream of audiovisual data, wherein the method comprises the steps of: checking whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory; when a similar data object has been stored previously, storing the data object in such a way that only one of said similar data objects is stored in the memory; when no similar data object has been stored previously, storing the data object comprised in the data stream in the memory.
Description
Method and apparatus for storing a data stream
The invention relates to a method of storing a data stream in a memory, the data stream comprising a stream of audiovisual data and at least one data object associated with the stream of audiovisual data, the method comprising the step of separating the data object from the stream of audiovisual data. The invention further relates to an apparatus for storing a data stream in a memory, the data stream comprising a stream of audiovisual data and at least one data object associated with the stream of audiovisual data, the apparatus comprising a de-multiplexer for separating the data object from the stream of audiovisual data, a memory for storing the data object, and a processing unit. The invention also relates to a record carrier comprising a computer program.
The invention further relates to a programmed computer.
An embodiment of such a method and apparatus is known from PCT patent application WO 01/33852. This document discloses a method of storing data objects extracted from a data stream comprising a carousel of data objects.
Multiple television programs, like series or film sequels, may comprise the same or similar data objects like applications. Using the method according to the prior art, this would result in similar or the same data objects being stored twice. From a viewpoint of memory management, this is not desirable, since redundant data is stored.
It is an object of the invention to provide a more efficient use of the memory in which the data object is to be stored. This object is achieved by using the method according to the invention, which is characterized in that the method comprises the steps of: checking whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory; when a similar data object has been stored previously, storing the data object in such a way that only one of said similar data objects is stored in the memory; when no
similar data object has been stored previously, storing the data object comprised in the data stream in the memory.
The invention is based on the recognition that multiple streams of audiovisual data, like episodes of a series, can be associated with one and the same data object. This may be exactly the same data object or a data object of another version that slightly differ from each other. By determining the similarity between two data objects, it can be decided whether the additional storage of a received data object is a redundant action or not. When it is a redundant action, action can be taken to avoid redundant data storage, resulting in storage of only one of said similar data objects. In an embodiment of the method according to the invention, the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the step of replacing the stored similar data object by the similar data object comprised in the data stream in the memory.
This means that always the last received version of the application is stored in the memory. This embodiment has the advantage that the last received stream of audiovisual data like a TV-program, which is probably the most wanted by a user, will always be played consistently, since the data objects stored are specifically associated with and designed for the last received program.
In a further embodiment of the method according to the invention, the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the step of discarding the similar data object comprised in the data stream in the memory and leaving the stored similar data object as it is stored in the memory.
In yet a further embodiment of the method according to the invention, the data objects are formatted for usage in accordance with the Multimedia Home Platform standard and the similarity criterion is satisfied when the Organization id' parameter and the
'application id' parameter of the stored data object and of the data object comprised by the stream have equal values.
This embodiment of the method according to the invention has the advantage that the Multimedia Home Platform standard is already defined to a large extent and that this embodiment can therefore be implemented without a lot of additional development resources. In again a further embodiment of the method according to the invention, additionally the parameter 'version number' has to be equal for the stored data object and of the data object comprised by the stream to satisfy the similarity criterion, and the step of storing the data object in such a way that only one of said similar data objects is stored in the
memory comprises the steps of: determining the value of the version number parameter; when the value of the version number id of the stored data object is higher than the value of the version number id of the data object comprised by the data stream, discarding the data object comprised by the data stream; when the value of the version number id of the stored data object is lower than the value of the version number id of the data object comprised by the data stream, replacing the stored data object by the data object comprised by the data stream.
This embodiment has the advantage that always the latest version of a data object is stored in the memory. In most cases, this version will have the smallest number of bugs, since most software suppliers will process bug information and fix bugs in later versions of software packages, as is common practice nowadays.
In another embodiment of the method according to the invention, the method further comprises the step of discarding the data object comprised by the data stream when the value of the version number id of the stored data object is equal to the value of the version number id of the data object comprised by the data stream.
This embodiment has the advantage that no unnecessary operations are performed in the memory - replacing a data object by a data object with the same id and the same version number is deemed unnecessary, since it means replacing a data object by exactly the same data object - and that unnecessary wear and tear of the memory is thus prevented, enhancing the lifetime of the memory.
The apparatus according to the invention is characterized in that the processing unit is conceived to: check whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory; when a similar data object has been stored previously, store the data object in such a way that only one of said similar data objects is stored in the memory; when no similar data object has been stored previously, store the data object comprised in the data stream in the memory.
The record carrier comprising a computer program according to the invention is characterized in that the computer program is conceived to program a computer to carry out the method defined in claim 1. The programmed computer according to the invention is characterized in that it is enabled to perform the method defined in claim 1.
The invention will be described in further detail by means of Figures, wherein:
Fig. 1 shows an embodiment of the apparatus according to the invention; Fig. 2 shows a transport stream comprising a stream of audiovisual data and a carousel comprising data objects; and
Fig. 3 is a flowchart depicting an embodiment of the method according to the invention.
Fig. 1 shows a consumer electronics system 100 comprising a video recorder
110 as an embodiment of the apparatus according to the invention, a TV-set 150 and a control device 160. The video recorder 110 is arranged to record streams of audiovisual data and interactive applications associated with these streams of audiovisual data carried by a signal 170.
To this end, the video recorder 110 comprises a receiver 120 for receiving the signal 170, a de-multiplexer 122, a video processor 124, a central processing unit such as a microprocessor 126 for controlling components comprised by the video recorder 110, a storage device 128 such as a harddisk drive or an optical disk drive such as a DVD or Blu-
Ray drive, a program code memory 130, a user command receiver 132 for receiving signals from the control device 160 and a central bus 134 for connecting components comprised by the video recorder 110. The video recorder further comprises a network interface unit 140 for connection to a network such as the Internet. The network interface unit 140 may be embodied as an analog modem, an ISDN, DSL or cable modem or a UTP/ethernet network interface.
The receiver 120 is arranged to tune in to a television channel and derive data of this television channel from the signal 170. The signal 170 can be received by any known method; cable, terrestrial; satellite, broadband network connection or any other method of distributing audiovisual data. The signal 170 can even be derived from the output of another consumer electronics apparatus.
Data stored in the program code memory 130 enables the microprocessor 126 to execute the method according to the invention. The program code memory 130 may be embodied as a Flash EEPROM, a ROM, an optical disk or any other type of data carrier. The storage device is adapted to store content that is received by either the receiver 120 or the network interface unit 140 for future reproduction on the TV-set 150 or
for further dissemination via the network interface unit 140. The content may be processed prior to storage.
Digital Video Broadcasting is a standard for distribution of digital television. Audiovisual data is provided in MPEG format and interactive applications, associated with the audiovisual data, are provided in the MHP - Multimedia Home Platform - format. In this format, applications are provided as application data objects in Java. In the Digital Video Broadcasting (DVB) standard, the application data objects are distributed with the audiovisual data in an object carousel. This basically means that the application data objects are transmitted repeatedly. This way of data transmission is indicated in Figure 2. Figure 2 shows a transport stream 200 comprising a stream of audiovisual data 210 and an object carousel 220, as it is carried by the signal 170 (Figure 1) in this embodiment of the invention. The object carousel 220 comprises a set of files 221, which set is broadcast repeatedly and comprises various files like application data objects, indicated by the dashed lines. It is advantageous to store the application data objects apart from the audiovisual data for various reasons. The most important reason is that redundancy automatically introduced by the carousel method of distribution can be removed by storing each application data object associated with a single program only once. This saves a considerable amount of storage space compared to the case when the full transport stream as received by the tuner 120 would be stored.
However, even more storage space can be saved by using the method according to the invention. Multiple different programs may use the same or a similar application data object, for example, in a detective series. For example, several interactive applications can be associated with the detective series 'Baantjer', like a quiz on who committed the murder. In an embodiment of the invention presented, this quiz needs various application data objects, like the application itself and the names of the characters in the current episode of the series. The files having the data for the characters will vary every episode, but the main application data object of the quiz will probably be the same for at least a season, so as to reduce development cost. At most, a new version might be introduced over time to kill some bugs.
It is advantageous to store such an application data object only once for various episodes. First, it is of course desirable to further reduce the amount of storage space needed to store an episode. Secondly, it is also advantageous to replace an old version of the
application data object with bugs by a newer version of the application data object with at least a smaller number of bugs.
To obtain information on the application data object that is received with the transport stream 200 with the signal 170, the application information table (not shown) of a program as carried by the transport stream 200 has to be parsed by the microprocessor 126. To determine whether two application data objects are similar, the value of at least the parameter "application id", as known in the MHP standard, included in the "application identifierO", has to be checked. In further embodiments of the method according to the invention, also the values of parameters "organization id" and "version number" to identify the application have to be checked. The "application _identifier" itself is included in the Application Information Table (AIT), which is incorporated in the DVB transport stream.
To check whether any similar application data objects have already been stored in the storage device 128, the values of the same parameter or parameters of applications already stored are checked. Advantageously, they are administered in a table in the storage device 128 (Figure 1).
When an application data object has already been stored that is similar to an application data object received in the transport stream 200, according to the invention, the received application data object is stored in such a way that only one of said similar application data objects is stored in the storage device 128.
Various conditions for similarity may apply. In one embodiment of the invention, values of all three mentioned parameters - "application id", "organization id" and "version number" - have to be equal to satisfy the criterion for similarity. In a further embodiment, only the values of parameters "application id" and "organization id" have to be equal. In this embodiment, the value of the parameter "version number" is used to determine whether to discard the received application data object or to replace the stored application data object by the application data object received.
Fig. 3 is a flowchart 300 depicting an embodiment of the method according to the invention. The process starts in a process step 310 with the reception of a transport stream, preferably in the format prescribed by the Digital Video Broadcasting standard, the stream carrying audiovisual data and application data objects, preferably in the format prescribed by the Multimedia Home Platform standard. In a subsequent process step 312, the transport stream is parsed, i.e. application data objects are separated from the audiovisual
data and an Application Information Table (AIT), incorporated in the transport stream, is analyzed for every application data object.
In a process step 314, the value of the parameter "application id" is extracted from the AIT. In a decision 316, the extracted value is compared with a stored list that carries the applications ids and version numbers of all application data objects that have already been stored. When an application data object with the same value of the parameter "application id" has not been stored previously, the application data object is stored. Next, the value of the parameter 'application id' is stored in the list that carries the application ids of all application data objects stored in a process step 319. When, however, an application data object with the same value of the parameter "application id " has been stored previously, the value of the parameter "version number" is extracted from the AIT in a process step 320 for the received application data object. This value is compared with the version number of the application data object that has already been stored in a decision step 322. When the version number of the received application data object is lower than or equal to the version number of the stored application data object, the received application data object is discarded in a process step 324.
When, however, the version number of the received application data object is higher than the version number of the stored application data object, the stored application data object is replaced by the received application data object in a process step 326. The process step 326 is followed by a process step 328 in which the version number in the list is updated for this application data object. This sequence is repeated during the whole process of storing the received transport stream for every application data object.
It will be evident to a person skilled in the art that the flowchart 300 merely presents an embodiment of the method according to the invention and that various modifications thereof are possible without departing from the scope of the invention. For example, when the application ids of a stored application data object and a received application data object are equal and the version numbers are equal, the stored application data object is nevertheless replaced by the received application data object.
Furthermore, the approach may also be opposite to the method as presented in Fig. 3, i.e. when the application id of the received application data object and the stored application data object are equal and the version number of the received application data object is lower than the version number of the stored application data object, the stored application data object is replaced by the received application data object, resulting in the application data object with the lowest version number being stored. This embodiment is
especially advantageous when older version of series are recorded, of which other data does not function with newer versions of similar application data objects having equal values for the parameter "application".
Although the invention has been described for a transport stream complying with the DVB standard for broadcast of interactive television, it will be evident to a person skilled in the art that the invention may be applied for other formats of data streams carrying application data objects as well, such as DASE.
Furthermore, it will be apparent as well that the invention does not necessarily have to be implemented in a dedicated television receiver, but may be implemented in a general-purpose computer, such that it is enabled to carry out the method according to the invention.
The invention has been described with reference to application data objects. However, it may be applied to storage of other data objects such as text files, object files that come wit executable files, dynamic link libraries, et cetera.
Claims
1. A method of storing a data stream (200) in a memory (128), the data stream comprising a stream of audiovisual data (210) and at least one data object (221) associated with the stream of audiovisual data, the method comprising the step of separating (312) the data object from the stream of audiovisual data, characterized in that the method comprises the steps of:
(a) checking (316) whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory;
(b) when a similar data object has been stored previously, storing (324, 326) the data object in such a way that only one of said similar data objects is stored in the memory; (c) when no similar data object has been stored previously, storing (318) the data object comprised in the data stream in the memory.
2. A method as claimed in claim 1, wherein the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the step of replacing (326) the stored similar data object by the similar data object comprised in the data stream in the memory.
3. A method as claimed in claim 1, wherein the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the step of discarding (324) the similar data object comprised in the data stream in the memory and leaving the stored similar data object as it is stored in the memory.
4. A method as claimed in claim 1, wherein the data objects are formatted for usage in accordance with the Multimedia Home Platform standard and the similarity criterion is satisfied when the Organization id' parameter and the 'application id' parameter of the stored data object and of the data object comprised by the stream have equal values.
5. A method as claimed in claim 4, wherein additionally the parameter 'version number' has to be equal for the stored data object and of the data object comprised by the stream to satisfy the similarity criterion, and the step of storing the data object in such a way that only one of said similar data objects is stored in the memory comprises the steps of:
(a) determining the value of the version number parameter;
(b) when the value of the version number id of the stored data object is higher than the value of the version number id of the data object comprised by the data stream, discarding the data object comprised by the data stream;
(c) when the value of the version number id of the stored data object is lower than the value of the version number id of the data object comprised by the data stream, replacing the stored data object by the data object comprised by the data stream.
6. A method as claimed in claim 5, further comprising the step of replacing the stored data object by the data object comprised by the data stream when the value of the version number id of the stored data object is equal to the value of the version number id of the data object comprised by the data stream.
7 A method as claimed in claim 5, further comprising the step of discarding the data object comprised by the data stream when the value of the version number id of the stored data object is equal to the value of the version number id of the data object comprised by the data stream.
8 A method as claimed in claim 1, wherein the data objects are application data objects.
9 An apparatus (110) for storing a data stream (200) in a memory (128), the data stream comprising a stream of audiovisual data (210) and at least one data object (221) associated with the stream of audiovisual data, the apparatus comprising a de-multiplexer (122) for separating the data object from the stream of audiovisual data, a memory (128) for storing the data object and a processing unit (126), characterized in that the processing unit is conceived to: (a) check whether at least one further data object similar to the data object comprised by the stream has already been stored in the memory;
(b) when a similar data object has been stored before, store the data object in such a way that only one of said similar data objects is stored in the memory; (c) when no similar data object has been stored previously, store the data object comprised in the data stream in the memory.
10. A record carrier (130) comprising a computer program conceived to program a computer to carry out the method as claimed in claim 1.
11. A programmed computer enabled to perform the method as claimed in claim 1.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03101173 | 2003-04-29 | ||
EP03101173.7 | 2003-04-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004098185A1 true WO2004098185A1 (en) | 2004-11-11 |
Family
ID=33395947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2004/050516 WO2004098185A1 (en) | 2003-04-29 | 2004-04-26 | Method and apparatus for storing a data stream |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2004098185A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006018792A1 (en) * | 2004-08-18 | 2006-02-23 | Koninklijke Philips Electronics N.V. | Method and apparatus for storing/deleting interactive applications |
WO2006134509A2 (en) * | 2005-06-15 | 2006-12-21 | Koninklijke Philips Electronics N.V. | Method and apparatus for storing image data files |
WO2008086836A1 (en) * | 2007-01-17 | 2008-07-24 | Institut für Rundfunktechnik GmbH | Method for controlling set top boxes and set top box that can be controlled by said method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033852A1 (en) * | 1999-10-29 | 2001-05-10 | Opentv, Corp. | System and method for recording pushed data |
EP1107600A1 (en) * | 1999-12-07 | 2001-06-13 | Sony Service Center (Europe) N.V. | Method and system for optimising a data carousel |
US20030002432A1 (en) * | 2001-06-30 | 2003-01-02 | Koninklijke Philips Electronics N.V. | Receiver apparatus and method |
-
2004
- 2004-04-26 WO PCT/IB2004/050516 patent/WO2004098185A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001033852A1 (en) * | 1999-10-29 | 2001-05-10 | Opentv, Corp. | System and method for recording pushed data |
EP1107600A1 (en) * | 1999-12-07 | 2001-06-13 | Sony Service Center (Europe) N.V. | Method and system for optimising a data carousel |
US20030002432A1 (en) * | 2001-06-30 | 2003-01-02 | Koninklijke Philips Electronics N.V. | Receiver apparatus and method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006018792A1 (en) * | 2004-08-18 | 2006-02-23 | Koninklijke Philips Electronics N.V. | Method and apparatus for storing/deleting interactive applications |
WO2006134509A2 (en) * | 2005-06-15 | 2006-12-21 | Koninklijke Philips Electronics N.V. | Method and apparatus for storing image data files |
WO2006134509A3 (en) * | 2005-06-15 | 2007-03-01 | Koninkl Philips Electronics Nv | Method and apparatus for storing image data files |
WO2008086836A1 (en) * | 2007-01-17 | 2008-07-24 | Institut für Rundfunktechnik GmbH | Method for controlling set top boxes and set top box that can be controlled by said method |
US8763064B2 (en) | 2007-01-17 | 2014-06-24 | Institut Fuer Rundfunktechnik Gmbh | Method for controlling set top boxes and set top box that can be controlled by said method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1218559C (en) | System for program specific information error management in a video decoder | |
US20100017832A1 (en) | Network digital television middleware | |
US7590111B1 (en) | Transmission of a multiplex signal comprising a carousel having a plurality of modules | |
JP4229706B2 (en) | Interactive application recording | |
US8191102B2 (en) | Method of transmitting interactive television | |
KR100940460B1 (en) | Control of interactive applications in the data stream | |
KR20050093816A (en) | Devices and methods for conditional execution decision making in relation to services received and creation of information messages associated with said services, and associated products | |
US8266669B2 (en) | Method and apparatus for storing an interactive television program | |
AU2002321784A1 (en) | Control of an interactive application in a data stream | |
WO2004098185A1 (en) | Method and apparatus for storing a data stream | |
US20030086696A1 (en) | Method for recording digital video broadcast data, and digital video recorder | |
US20080184325A1 (en) | Information monitoring and updating method and system for transport stream | |
US20060161955A1 (en) | Linking of interactive television recording to applications | |
US20060236361A1 (en) | Storing repetition information for dsmcc carousel | |
WO2004056115A1 (en) | Font library for interactive television recording and playback on a storage medium | |
US20090292761A1 (en) | Bypass dsmcc middleware via section filter mechanism | |
US20040162908A1 (en) | Method of servicing reception of software broadcasted in a carousel of objects | |
US20080292277A1 (en) | Apparatus and Method for Activating an Interactive Application | |
US20060072900A1 (en) | Method and apparatus for storing a stream of data received from a source | |
KR20070039594A (en) | Method and device for storing / deleting interactive applications | |
EP1311116A2 (en) | Method for recording digital video broadcast data, and digital video recorder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase |