WO2007128957A1 - Method and apparatus for processing digitally encoded data in stream to retrieve data portion located externally - Google Patents
Method and apparatus for processing digitally encoded data in stream to retrieve data portion located externally Download PDFInfo
- Publication number
- WO2007128957A1 WO2007128957A1 PCT/GB2007/001181 GB2007001181W WO2007128957A1 WO 2007128957 A1 WO2007128957 A1 WO 2007128957A1 GB 2007001181 W GB2007001181 W GB 2007001181W WO 2007128957 A1 WO2007128957 A1 WO 2007128957A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- stream
- demultiplexer
- sub
- portions
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 230000035755 proliferation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
- H04N21/42615—Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific demultiplexing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4722—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
Definitions
- the digital data In the field of digital data transmission the digital data is generally encoded into one of many available data file formats. Examples of such file formats include JPEG, MPEG and Microsoft wav files, amongst others.
- the encoding process Apart from providing a file format in a standard form that can be readily decoded by third parties, the encoding process generally also serves to compress the digital data so as to reduce the sheer volume of raw data to be transmitted or stored.
- the encoding process encodes the digital data into discrete packets. A sequence of such data packets arranged sequentially in the appropriate order comprises a data stream. The desired end result is to provide the correctly assembled data stream to an appropriate data decoder to allow the digital data to be decoded into its original state, for example audio data.
- the digital data in the form of a single data stream represents a very simple data arrangement. More commonly the digital data will represent a number of separate data streams. For example, where the digital data represents audio/visual data, such as a film, the video (images) and audio data may be provided in separate data streams. Depending on how the video and audio data was recorded originally and/or encoded, the video and audio streams may be further sub-divided. For example, multiple audio streams may be provided, with each audio stream representing a separate speaker channel in accordance with a surround sound standard.
- multiple original data streams are present they are generally multiplexed together prior to storage or transmission to form a 'parent stream', with the individual streams then only existing as 'virtual' sub-streams composed of a list of references to items of data in the parent stream.
- a simple data decoder is arranged to process a single data stream at a time and to simply process the individual data packets in the order in which they are provided.
- the decoder is arranged to simply process that single data file.
- a "wrapper demux" is provided, the function of which is to process the parent stream and assemble the separate individual data streams to be processed by appropriate individual decoders.
- the encoded digital data is not provided in a continuous data stream of sequential data packets but may include one or more references to completely separate data objects.
- the data stream that is input to the individual decoders will generally include one or more references to an external data object, the reference specifying the location of the data object.
- the data decoder is arranged to correctly interpret the specified file location and is arranged to have the necessary direct access to that location.
- This can be disadvantageous since it introduces a further level of complexity into the data decoders and furthermore results in a proliferation of multiple file support around many system components, i.e. individual decoders. Such a proliferation is not particularly desirable since it further complicates the decoding system and introduces an increased possibility of system conflicts.
- the adaptations required to allow individual decoders to make the required external file reference accesses can be significant in terms of both technical and financial resources.
- a method of processing a digitally encoded data stream by means of a data processing system including an I/O processor, a demultiplexer and a decoder, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the method comprising: in response to a request from the data decoder to the demultiplexer for a data portion, determining if the requested data portion includes a reference to one of the further data portions located externally from the data stream; and if the determination is positive, causing the I/O processor to retrieve the further data portion and input the further data portion to the demultiplexer and subsequently causing the demultiplexer to output the further data to the data decoder.
- the inclusion of a reference to a further data portion may be determined by the demultiplexer. Additionally, if the determination is positive a control signal may be sent to the I/O processor by the demultiplexer, the control signal causing the I/O processor to retrieve the further data portion.
- each of the plurality of data portions may be associated with one of a plurality of data sub-streams and the method further comprises generating a record of data portions associated with each sub-stream by means of the demultiplexer.
- the step of generating the list of data portions associated with each data sub- stream may comprise reading, by means of the demultiplexer, a data stream index included in a data portion located at the beginning of the data stream.
- the step of generating the list of data portions associated with each data sub-stream may comprise reading, by means of the demultiplexer, the first N data portions of the data stream, where N is an integer, wherein each data portion includes an identification of the data sub-stream to which it is associated.
- a data processing system for processing a digitally encoded data stream, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the system comprising an I/O processor arranged to receive the data stream and output a specified data portion, at least one decoder for decoding the data portions arranged to issue a request for a data portion to be decoded, and a demultiplexer in communication with the I/O processor and decoder and arranged in response to receiving the request from the decoder to determine if the requested data portion includes a reference to one of the further data portions located externally from the data stream to determine if the requested data portion includes a reference to one of the further data portions located externally from the data stream and if the determination is positive to output a request to the VO processor for the further data portion, the I/O processor being further arranged to access data portions located otherwise than in the data stream.
- each of the plurality of data portions may be associated with one of a plurality of sub-streams and the demultiplexer is arranged to generate a record of data portions associated with each data sub-stream.
- at least one of the data portions in the data stream may include a sub-stream index specifying the association between each data portion and each data sub-stream and the demultiplexer is arranged to process the sub-stream index to generate said record.
- each data portion may include a sub-stream identifier and the demultiplexer is arranged to read the sub-stream identifier for the first N data portions, where N is an integer, to generate said record.
- Figure 1 schematically illustrates a portion of a digital data decoding system according to an embodiment of the present invention.
- Figure 2 schematically illustrates the method steps of retrieving a requested data byte according to embodiments of the present invention.
- Figure 1 schematically illustrates the system and process for decoding encoded digital data according to a preferred embodiment of the present invention.
- the initial input file comprises a wrapper file 1.
- the wrapper file can be thought of as a container in which the multiple digital data streams are "wrapped".
- the wrapper file may also further encode the digital data of the data streams in a manner most appropriate for either their transmission or storage.
- the wrapper file is provided as an input to an I/O 'object' 3 that comprises a first data processing entity.
- the I/O processor 3 is arranged to provide individual 'sections' of the parent data stream to a Demux (demultiplexer) 5 in response to an appropriate request from the Demux.
- Each 'section' may be one or more bytes of data or a data header, for example, depending on the encoding scheme used.
- Each 'section' includes a start address (relative to the beginning of the parent data stream) and a length. For example, a 'section' may be identified as starting at byte 100 of the parent stream and having a length of a further 4 bytes. Contained within the parent data stream is information on the number of sub- streams contained in the parent stream.
- the location of this information within the parent stream will vary depending on the encoding used.
- the MPEG-4 format includes an initial header followed by data packets, the initial header containing the information on the number of sub-streams amongst other information.
- the MPEG-2 Transport Stream provides data packets each having their own individual header providing the information on which sub-stream the data packet belongs to.
- the Demux 5 is arranged to read sufficient of the parent data stream to determine the number of sub-streams present. In the case where an initial 'global 1 header is provided the Demux only needs to read and parse this header to determine the number of sub-streams and to create each sub-stream as a list of references to data sections in the parent stream. In the case of each data packet including its own header, the Demux 5 is arranged to read a predetermined number of the sections of the parent data stream to determine the number of sub-streams present. Since in the latter case not all the sections of the parent stream are read by the Demux 5, it is not possible to generate a corresponding complete list of references.
- the Demux reads a further number of the data sections to extend the list of references. Having assembled the list of references to the parent stream for each sub-stream the Demux 5 is able to process each request for data received from any one of the decoders 9 coupled to the Demux 5.
- each decoder 9 requests, or 'calls', the next byte of data to be decoded for the particular sub-stream being processed by that decoder.
- the decoder does not call for the next byte by location but simply requests the 'next' byte.
- the Demux 5 determines the location of the requested 'next byte 1 within the parent data stream and requests that byte from the I/O processor 3, which is arranged to physically access the required data. The requested data is then passed back downstream from the I/O processor 3 to the relevant decoder 9 via the Demux 5.
- the Demux 5 is arranged to recognise the presence of an external file reference such that when the 'next byte' requested by a decoder 9 is located in an external file the Demux 5 passes a special request upstream to the I/O processor 3 instructing the I/O processor to access the specified external file. The requested data is then retrieved from the external file by the I/O processor and subsequently passed back downstream to the Demux 5, which passes it further downstream to the relevant decoder 9.
- the 'next byte' is retrieved from the parent stream as described above and as represented by action box 22. If the 'next byte 1 is externally located then it is retrieved from the specified external file, by the I/O processor, as also previously described and as represented by action box 24 in Figure 2. The retrieved data byte is subsequently passed back to the Demux (action box 26) and then to the relevant decoder (action box 28).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A method of processing a digitally encoded data stream by means of a data processing system including an I/O processor, a demultiplexer and a decoder, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the method comprising in response to a request from the data decoder to the demultiplexer for a data portion, determining if the requested data portion includes a reference to one of the further data portions located externally from the data stream, and if the determination is positive, causing the I/O processor to retrieve the further data portion and input the further data portion to the demultiplexer and subsequently causing the demultiplexer to output the further data to the data decoder.
Description
METHOD AND APPARATUS FOR PROCESSING DIGITALLY ENCODED DATA IN STREAM TO RETRIEVE DATA PORTION LOCATED EXTERNALLY
In the field of digital data transmission the digital data is generally encoded into one of many available data file formats. Examples of such file formats include JPEG, MPEG and Microsoft wav files, amongst others. Apart from providing a file format in a standard form that can be readily decoded by third parties, the encoding process generally also serves to compress the digital data so as to reduce the sheer volume of raw data to be transmitted or stored. Generally speaking, the encoding process encodes the digital data into discrete packets. A sequence of such data packets arranged sequentially in the appropriate order comprises a data stream. The desired end result is to provide the correctly assembled data stream to an appropriate data decoder to allow the digital data to be decoded into its original state, for example audio data. By dividing the encoded data into discrete packets data loss, particularly during data transmission, is minimised since the correct receipt of individual packets can be determined and individual data packets resent if required. Equally for instances where the digital data is stored in its encoded format on a data storage medium the correct retrieval of individual data packets from the data storage medium can be determined and a repeated data access performed if required.
The provision of the digital data in the form of a single data stream represents a very simple data arrangement. More commonly the digital data will represent a number of separate data streams. For example, where the digital data represents audio/visual data, such as a film, the video (images) and audio data may be provided in separate data streams. Depending on how the video and audio data was recorded originally and/or encoded, the video and audio streams may be further sub-divided. For example, multiple audio streams may be provided, with each audio stream representing a separate speaker channel in accordance with a surround sound standard. Where multiple original data streams are present they are generally multiplexed together prior to storage or transmission to form a 'parent stream', with the individual streams then only existing as 'virtual' sub-streams composed of a list of references to items of data in the parent stream.
A simple data decoder is arranged to process a single data stream at a time and to simply process the individual data packets in the order in which they are provided. Alternatively, where an individual data stream is reassembled into a single data file, the decoder is arranged to simply process that single data file. Where multiple data streams are present a "wrapper demux" is provided, the function of which is to process the parent stream and assemble the separate individual data streams to be processed by appropriate individual decoders.
However, an increasing number of data file formats provide support for references to external data files. In other words, the encoded digital data is not provided in a continuous data stream of sequential data packets but may include one or more references to completely separate data objects.
One method of providing the necessary functionality to decode such file formats is to provide the appropriate decoders with the necessary functionality to directly access these external data objects. In other words, the data stream that is input to the individual decoders will generally include one or more references to an external data object, the reference specifying the location of the data object. The data decoder is arranged to correctly interpret the specified file location and is arranged to have the necessary direct access to that location. This can be disadvantageous since it introduces a further level of complexity into the data decoders and furthermore results in a proliferation of multiple file support around many system components, i.e. individual decoders. Such a proliferation is not particularly desirable since it further complicates the decoding system and introduces an increased possibility of system conflicts. Additionally, where a decoding system has previously been developed and arranged to operate on the principles of continuous data streams, the adaptations required to allow individual decoders to make the required external file reference accesses can be significant in terms of both technical and financial resources.
It would therefore be beneficial to provide a method of processing digital data encoded into file formats that support references to external data objects whilst using decoders that themselves do not support such external references.
According to a first aspect of the present invention there is therefore provided a method of processing a digitally encoded data stream by means of a data processing system including an I/O processor, a demultiplexer and a decoder, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the method comprising: in response to a request from the data decoder to the demultiplexer for a data portion, determining if the requested data portion includes a reference to one of the further data portions located externally from the data stream; and if the determination is positive, causing the I/O processor to retrieve the further data portion and input the further data portion to the demultiplexer and subsequently causing the demultiplexer to output the further data to the data decoder.
Additionally, the inclusion of a reference to a further data portion may be determined by the demultiplexer. Additionally, if the determination is positive a control signal may be sent to the I/O processor by the demultiplexer, the control signal causing the I/O processor to retrieve the further data portion.
Additionally or alternatively, each of the plurality of data portions may be associated with one of a plurality of data sub-streams and the method further comprises generating a record of data portions associated with each sub-stream by means of the demultiplexer. Additionally, the step of generating the list of data portions associated with each data sub- stream may comprise reading, by means of the demultiplexer, a data stream index included in a data portion located at the beginning of the data stream. Alternatively, the step of generating the list of data portions associated with each data sub-stream may comprise reading, by means of the demultiplexer, the first N data portions of the data stream, where N is an integer, wherein each data portion includes an identification of the data sub-stream to which it is associated.
According to a second aspect of the present invention there is provided a data processing system for processing a digitally encoded data stream, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the system comprising an I/O processor arranged to receive the data stream and output a specified data portion, at least one decoder for decoding the data portions arranged to issue a request for a data portion to be decoded, and a demultiplexer in communication with the I/O processor and decoder and
arranged in response to receiving the request from the decoder to determine if the requested data portion includes a reference to one of the further data portions located externally from the data stream to determine if the requested data portion includes a reference to one of the further data portions located externally from the data stream and if the determination is positive to output a request to the VO processor for the further data portion, the I/O processor being further arranged to access data portions located otherwise than in the data stream.
Additionally, each of the plurality of data portions may be associated with one of a plurality of sub-streams and the demultiplexer is arranged to generate a record of data portions associated with each data sub-stream. Additionally, at least one of the data portions in the data stream may include a sub-stream index specifying the association between each data portion and each data sub-stream and the demultiplexer is arranged to process the sub-stream index to generate said record. Alternatively, each data portion may include a sub-stream identifier and the demultiplexer is arranged to read the sub-stream identifier for the first N data portions, where N is an integer, to generate said record.
Preferred embodiments of the present invention will now be described below, by way of illustrative and non-limiting example only, with reference to the accompanying figures, of which:
Figure 1 schematically illustrates a portion of a digital data decoding system according to an embodiment of the present invention; and
Figure 2 schematically illustrates the method steps of retrieving a requested data byte according to embodiments of the present invention.
Figure 1 schematically illustrates the system and process for decoding encoded digital data according to a preferred embodiment of the present invention. According to preferred, and other, embodiments of the present invention the initial input file comprises a wrapper file 1. In this context the wrapper file can be thought of as a container in which the multiple digital data streams are "wrapped". As well as effectively bundling the multiple data
streams into a single data object, the wrapper file may also further encode the digital data of the data streams in a manner most appropriate for either their transmission or storage.
The wrapper file is provided as an input to an I/O 'object' 3 that comprises a first data processing entity. The I/O processor 3 is arranged to provide individual 'sections' of the parent data stream to a Demux (demultiplexer) 5 in response to an appropriate request from the Demux. Each 'section' may be one or more bytes of data or a data header, for example, depending on the encoding scheme used. Each 'section' includes a start address (relative to the beginning of the parent data stream) and a length. For example, a 'section' may be identified as starting at byte 100 of the parent stream and having a length of a further 4 bytes. Contained within the parent data stream is information on the number of sub- streams contained in the parent stream. The location of this information within the parent stream will vary depending on the encoding used. For example, the MPEG-4 format includes an initial header followed by data packets, the initial header containing the information on the number of sub-streams amongst other information. However, in contrast the MPEG-2 Transport Stream provides data packets each having their own individual header providing the information on which sub-stream the data packet belongs to.
The Demux 5 is arranged to read sufficient of the parent data stream to determine the number of sub-streams present. In the case where an initial 'global1 header is provided the Demux only needs to read and parse this header to determine the number of sub-streams and to create each sub-stream as a list of references to data sections in the parent stream. In the case of each data packet including its own header, the Demux 5 is arranged to read a predetermined number of the sections of the parent data stream to determine the number of sub-streams present. Since in the latter case not all the sections of the parent stream are read by the Demux 5, it is not possible to generate a corresponding complete list of references. However, when the last reference on the list has been called for (as explained further below), in response to the next request for data by a decoder the Demux reads a further number of the data sections to extend the list of references. Having assembled the list of references to the parent stream for each sub-stream the Demux 5 is able to process each request for data received from any one of the decoders 9 coupled to the Demux 5. In operation each decoder 9 requests, or 'calls', the next byte of data to be decoded for the
particular sub-stream being processed by that decoder. The decoder does not call for the next byte by location but simply requests the 'next' byte. By referring to the list of references created for each sub-stream the Demux 5 determines the location of the requested 'next byte1 within the parent data stream and requests that byte from the I/O processor 3, which is arranged to physically access the required data. The requested data is then passed back downstream from the I/O processor 3 to the relevant decoder 9 via the Demux 5.
In the case that a sub-stream includes a reference to an external file location i.e. the actual data is not contained within the parent data stream, the Demux 5 is arranged to recognise the presence of an external file reference such that when the 'next byte' requested by a decoder 9 is located in an external file the Demux 5 passes a special request upstream to the I/O processor 3 instructing the I/O processor to access the specified external file. The requested data is then retrieved from the external file by the I/O processor and subsequently passed back downstream to the Demux 5, which passes it further downstream to the relevant decoder 9. Consequently in embodiments of the present invention the provision of externally located data to a decoder is accomplished in a manner that is completely transparent to the decoder, since each byte of data is provided from the Demux 5 when requested by a decoder in the same way, as far as its passage from Demux to decoder is concerned, regardless of the data' s location. As a result only the FO processor 3 is required to be capable of accessing the external file locations, thus maintaining the simplicity of the system and avoiding multiple file access conflicts. This methodology is schematically illustrated in Figure 2. On a request for the 'next byte' from a decoder a determination is made (by the Demux) if the required byte is located in an external file, as denoted by decision box 20. If not, the 'next byte' is retrieved from the parent stream as described above and as represented by action box 22. If the 'next byte1 is externally located then it is retrieved from the specified external file, by the I/O processor, as also previously described and as represented by action box 24 in Figure 2. The retrieved data byte is subsequently passed back to the Demux (action box 26) and then to the relevant decoder (action box 28).
Claims
1. A method of processing a digitally encoded data stream by means of a data processing system including an I/O processor, a demultiplexer and a decoder, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the method comprising: in response to a request from the data decoder to the demultiplexer for a data portion, determining if the requested data portion includes a reference to one of the further data portions located externally from the data stream; and if the determination is positive, causing the I/O processor to retrieve the further data portion and input the further data portion to the demultiplexer and subsequently causing the demultiplexer to output the further data to the data decoder.
2. The method of claim 1, wherein the inclusion of a reference to a further data portion is determined by the demultiplexer.
3. The method of claim 2, wherein if the determination is positive a control signal is sent to the I/O processor by the demultiplexer, the control signal causing the I/O processor to retrieve the further data portion.
4. The method of any preceding claim, wherein each of the plurality of data portions is associated with one of a plurality of data sub-streams and the method further comprises generating a record of data portions associated with each sub-stream by means of the demultiplexer.
5. The method of claim 4, wherein the step of generating the list of data portions associated with each data sub-stream comprises reading, by means of the demultiplexer, a data stream index included in a data portion located at the beginning of the data stream.
6. The method of claim 4, wherein the step of generating the list of data portions associated with each data sub-stream comprises reading, by means of the demultiplexer, the first N data portions of the data stream, where N is an integer, wherein each data portion includes an identification of the data sub-stream to which it is associated.
7. A data processing system for processing a digitally encoded data stream, the data stream comprising a plurality of data portions at least one of which includes a reference to at least one further data portion located externally from the data stream, the system comprising: an I/O processor arranged to receive the data stream and output a specified data portion; at least one decoder for decoding the data portions arranged to issue a request for a data portion to be decoded; and a demultiplexer in communication with the I/O processor and decoder and arranged in response to receiving the request from the decoder to determine if the requested data portion includes a reference to one of the further data portions located externally from the data stream to determine if the requested data portion includes a reference to one of the further data portions located externally from the data stream and if the determination is positive to output a request to the I/O processor for the further data portion, the I/O processor being further arranged to access data portions located otherwise than in the data stream.
8. The data processing system of claim 7, wherein each of the plurality of data portions is associated with one of a plurality of sub-streams and the demultiplexer is arranged to generate a record of data portions associated with each data sub- stream.
9. The data processing system of claim 8, wherein at least one of the data portions in the data stream includes a sub-stream index specifying the association between each data portion and each data sub-stream and the demultiplexer is arranged to process the sub-stream index to generate said record.
10. The data processing system of claim 8, wherein each data portion includes a sub- stream identifier and the demultiplexer is arranged to read the sub-stream identifier for the first N data portions, where N is an integer, to generate said record.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0607216.9 | 2006-04-10 | ||
GBGB0607216.9A GB0607216D0 (en) | 2006-04-10 | 2006-04-10 | Method and apparatus for handling media with external references |
GB0610020.0 | 2006-05-19 | ||
GB0610020A GB2437101A (en) | 2006-04-10 | 2006-05-19 | Method and apparatus for processing digitally encoded data streams |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007128957A1 true WO2007128957A1 (en) | 2007-11-15 |
Family
ID=38279058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2007/001181 WO2007128957A1 (en) | 2006-04-10 | 2007-03-30 | Method and apparatus for processing digitally encoded data in stream to retrieve data portion located externally |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2007128957A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818935A (en) * | 1997-03-10 | 1998-10-06 | Maa; Chia-Yiu | Internet enhanced video system |
WO2000064172A1 (en) * | 1999-04-20 | 2000-10-26 | Microsoft Corporation | Enabling and/or disabling selected types of broadcast triggers |
US20010052133A1 (en) * | 2000-04-12 | 2001-12-13 | Lg Electronics Inc. | Apparatus and method for providing and obtaining product information through a broadcast signal |
US20020108122A1 (en) * | 2001-02-02 | 2002-08-08 | Rachad Alao | Digital television application protocol for interactive television |
EP1521472A2 (en) * | 2003-09-25 | 2005-04-06 | Sharp Kabushiki Kaisha | URI pointer system and method for the carriage of MPEG-4 data in an MPEG-2 transport stream |
-
2007
- 2007-03-30 WO PCT/GB2007/001181 patent/WO2007128957A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818935A (en) * | 1997-03-10 | 1998-10-06 | Maa; Chia-Yiu | Internet enhanced video system |
WO2000064172A1 (en) * | 1999-04-20 | 2000-10-26 | Microsoft Corporation | Enabling and/or disabling selected types of broadcast triggers |
US20010052133A1 (en) * | 2000-04-12 | 2001-12-13 | Lg Electronics Inc. | Apparatus and method for providing and obtaining product information through a broadcast signal |
US20020108122A1 (en) * | 2001-02-02 | 2002-08-08 | Rachad Alao | Digital television application protocol for interactive television |
EP1521472A2 (en) * | 2003-09-25 | 2005-04-06 | Sharp Kabushiki Kaisha | URI pointer system and method for the carriage of MPEG-4 data in an MPEG-2 transport stream |
Non-Patent Citations (2)
Title |
---|
VANG S ET AL: "The Emergence of Middleware in Home Telecommunication Equipment", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER,NEW YORK, NY, US, 1 June 2001 (2001-06-01), pages 106 - 110, XP011091738, ISSN: 0163-6804 * |
YONGSUK KIM ET AL: "Interactive broadcast terminal system using MPEG-2 and MPEG-4", CIRCUITS AND SYSTEMS, 2000. PROCEEDINGS. ISCAS 2000 GENEVA. THE 2000 IEEE INTERNATIONAL SYMPOSIUM ON MAY 28-31, 2000, PISCATAWAY, NJ, USA,IEEE, vol. 3, 28 May 2000 (2000-05-28), pages 682 - 685, XP010502623, ISBN: 0-7803-5482-6 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101868280B1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium | |
US7769477B2 (en) | Audio file format conversion | |
KR101885852B1 (en) | Method and apparatus for transmitting and receiving content | |
KR102252484B1 (en) | Apparatus and method for delivering and receiving multimedia data in hybrid network | |
JP2015527788A (en) | Adaptive media structure transmission method and apparatus in multimedia system | |
US10978109B2 (en) | Synchronously playing method and device of media file, and storage medium | |
CN100369480C (en) | Multiplexing device and inverse multiplexing device | |
TW201523587A (en) | Audio decoder, means for generating encoded audio output data, and method for allowing decoder initialization | |
GB2593897A (en) | Method, device, and computer program for improving random picture access in video streaming | |
CN113038172B (en) | Audio data stream splicing and broadcasting methods, audio decoders and audio decoding methods | |
US20080154941A1 (en) | Method of and apparatus for encoding/decoding multimedia data with preview function | |
CN113709510A (en) | High-speed data real-time transmission method and device, equipment and storage medium | |
CN103430558A (en) | A method for optimizing a video stream | |
KR100608059B1 (en) | MOT data decoding method and apparatus | |
KR101295377B1 (en) | Method for constructing of file format and apparatus and method for processing broadcast signal with file which has file format | |
US9264720B2 (en) | Apparatus and method for multimedia service | |
US20110276662A1 (en) | Method of constructing multimedia streaming file format, and method and apparatus for servicing multimedia streaming using the multimedia streaming file format | |
EP2812813B1 (en) | Methods and systems for providing file data for a media file | |
EP2810446B1 (en) | Methods and systems for providing file data for a media file | |
WO2007128957A1 (en) | Method and apparatus for processing digitally encoded data in stream to retrieve data portion located externally | |
GB2437101A (en) | Method and apparatus for processing digitally encoded data streams | |
US6804450B1 (en) | Method and apparatus for reverse playback of a digital data | |
EP1309196A2 (en) | File creating method and data reproduction method | |
US6701065B1 (en) | Methods and apparatus for buffering information prior to decoding | |
KR101656102B1 (en) | Apparatus and method for generating/providing contents file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07732235 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 07732235 Country of ref document: EP Kind code of ref document: A1 |