WO2004098185A1 - Method and apparatus for storing a data stream - Google Patents

Method and apparatus for storing a data stream Download PDF

Info

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
Application number
PCT/IB2004/050516
Other languages
French (fr)
Inventor
Jingwei Tan
Jun Shi
Liang Gan
Declan P. Kelly
Philips S. Newton
Original Assignee
Koninklijke Philips Electronics N.V.
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
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of WO2004098185A1 publication Critical patent/WO2004098185A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue 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.

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

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.
PCT/IB2004/050516 2003-04-29 2004-04-26 Method and apparatus for storing a data stream WO2004098185A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03101173.7 2003-04-29
EP03101173 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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 an interactive application in a data stream
US8266669B2 (en) Method and apparatus for storing an interactive television program
WO2004098185A1 (en) Method and apparatus for storing a data stream
US20030086696A1 (en) Method for recording digital video broadcast data, and digital video recorder
US20060161955A1 (en) Linking of interactive television recording to applications
US20060236361A1 (en) Storing repetition information for dsmcc carousel
EP1576822A1 (en) Font library for interactive television recording and playback on a storage medium
US20040162908A1 (en) Method of servicing reception of software broadcasted in a carousel of objects
US20060072900A1 (en) Method and apparatus for storing a stream of data received from a source
EP1662390B1 (en) Control of an interactive application at service handover
EP1311116A2 (en) Method for recording digital video broadcast data, and digital video recorder
KR20070039594A (en) Method and apparatus for storing/deleting interactive applications

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