WO2001043448A1 - Apparatus and method for image data coding with additional data embedding - Google Patents
Apparatus and method for image data coding with additional data embedding Download PDFInfo
- Publication number
- WO2001043448A1 WO2001043448A1 PCT/GB2000/004671 GB0004671W WO0143448A1 WO 2001043448 A1 WO2001043448 A1 WO 2001043448A1 GB 0004671 W GB0004671 W GB 0004671W WO 0143448 A1 WO0143448 A1 WO 0143448A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- stream
- bit
- output
- bit rate
- data
- Prior art date
Links
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/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
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
Definitions
- This invention relates to compressed data streams and in one important example to the filling of unused data-carrying capacity in digital media transmission, and other systems, with extra data as and when capacity allows.
- MPEG2 The international standard ISO/IEC 13818 (generic coding of moving pictures and associated audio information), known commonly as MPEG2, has been globally adopted as the method of encoding media and binding them together in a multiplex for transmission as digital services. MPEG2 is an important example of an application for the present invention.
- media are compressed by removing temporally and spatially redundant information.
- Psycho-visual and psycho-acoustic models also reduce information content.
- the resulting digital data is packetised and bound together to form a collection of services called a multiplex.
- the rate of coded data from the video encoding process varies depending on the difficulty encountered when trying to maintain a constant image quality. This results in a general short fall of data from the encoders to ensure a working overhead of capacity.
- the spare capacity of the multiplex is then filled with ancillary data in a process known as opportunistic data insertion.
- the management of opportunistic data insertion is complex and troublesome. If the available data-carrying capacity is to be fully utilised, the data handling system is required to react extremely quickly and flexibly when an opportunity for data insertion arises. The data handling system is, however, required also to communicate with the various sources of data and must perform
- the present invention consists, in one aspect, in compression apparatus comprising an input; a processing unit; and an output, the processing unit being arranged to provide at the output a compressed stream having a variable bit rate, there being a time delay between the input and the output, characterized in that the processing unit is adapted to provide in the time frame of the output, advance information concerning the bit rate of the output.
- the advance information is inserted into the output stream.
- the present invention consists in a compressed bit stream having a variable bit rate, wherein there is inserted in the bit-stream at each of a number of repeated locations, advance information concerning a parameter of the stream at a future location.
- the parameter is the bit rate or one a more parameters useful in estimating or deducing bit rate.
- said repeated locations are repeated at least once per frame in the compressed bit-stream.
- the present invention consists in opportunistic data insertion apparatus adapted to read from the bit-stream, advance information concerning the bit-rate at future locations in the bit-stream.
- the present invention consists in a process of multiplexing variable bit rate streams with dynamic allocation of an available multiplex bit rate capacity among the respective streams, wherein there is read from at least one of the streams advance information concerning the bit rate of the stream at a future location.
- Figure 1 is a block diagram of an exemplary data server
- Figure 2 is a block diagram of an encoder according to the prior art
- Figure 3 is block diagram of an encoder according to the present invention.
- Figure 4 is a block diagram of a multiplexer arrangement according to the present invention.
- the invention relates in this example to the optimisation of the system that inserts data into the MPEG2 stream and enables greater assurance that all spare capacity is used.
- Figure 1 a block diagram of an example data server. There are several concurrent operations a data server may be required to perform, some of which are listed below:
- Data must be added to the server from input streams such as a network or backup device.
- Data may need to be duplicated within a disk sub-system for fault tolerance.
- Data may also be replicated between servers so that on a failure of one the second steps in to maintain the service.
- the system must respond to control and information requests from users or automatic systems.
- Figure 2 shows a typical example of an encoding and transmission system.
- the source video is analysed and then encoded according to the MPEG2 standard.
- the encoded MPEG2 bit-stream will be transcoded to a different bit-rate.
- the encoded data is fed into the encoder buffer ready to be included in the output data stream.
- the encoder buffer is used to govern the feedback algorithm that sets the level of compression and hence controls the output bit rate.
- the delay is inherent in the MPEG2 compression system and can only be reduced, not eliminated. It arises in various ways; the most obvious of which is the encoder buffer. There are also delays arising from the need for picture reordering and from processing in the compression engine itself.
- Figure 3 demonstrates the same encoding and transmission system as Figure 2, but with the inclusion of the present invention proposed.
- information from the coding process is carried forward through the encoder, avoiding the delay of the buffer and is passed out to the following data server.
- the data may be sent on a separate interface or may be included in suitable points in the MPEG multiplex.
- the information sent from the encoder may include, but is not limited to, the number of bits currently being used to code the image and an indication of the time of encoding.
- the time might be the time of day, a relative time (i.e. in 300 ms time) an independent count or the program clock reference (PCR).
- PCR program clock reference
- the data server may calculate the capacity of data available in the future and by comparing the time code to the PCR, or other reference, know how soon this capacity will be available. From this information the server may modify is behaviour in many ways, some of which are:
- a convenient mechanism for inserted data is in Programme Specific Information (PSI) packets of MPEG2. Every decoder will have the capacity to read and interpret PSI packets and there is therefore considerable advantage for certain types of inserted data of utilising the PSI stream. Indeed, there are at least two recommended protocols for inserting data in the PSI stream.
- a potential difficulty is that many encoders are capable of reading only one type of PSI packet at any one time. Thus, if an encoder is reading the Programme Allocation Table (PAT) from the PSI stream, all other packets are effectively locked out until such time as reading of the table is complete.
- PAT Programme Allocation Table
- the advance bit rate information would enable the server to select a location for inserting the file data at which enough contiguous or closely spaced packets are available to carry the file with minimum lock out of other PSI packets. It will be seen from Figure 3 that information can be made available to the data server from the compression engine or from the mode decision system.
- the information from the compression engine may simply take the form of the number of bits being fed into the buffer for a particular picture. This is precise information which the data server receives "in advance” by an amount of time determined by buffer throughput. Still “earlier” information is made available from the mode decision system. This will not represent a precise number of bits but will provide a reasonable estimate of the number of bits that will be used in the compression engine to encode the particular picture being considered in the mode decision system.
- the information can - in one example of the invention - be presented to the data server as part of the MPEG2 transport stream.
- the MPEG2 standard provides ample opportunity for the insertion of such private data. This approach is particularly valuable where the data server is remote from the encoder. It also allows the benefit of the invention to be achieved where an MPEG2 transport stream, generated by an encoder in accordance with this invention, is recorded on conventional recording equipment before passing to a data server in accordance with this invention.
- the stream itself may then be regarded as embodying the present invention, in the sense that - at intervals - it includes information concerning the bit rates utilised subsequently in the stream.
- the information may in the case of a transport stream take the form of the available bit capacity for data insertion, being the maximum capacity of the transport stream less the aggregate instantaneous bit rates of the services it contains.
- An alternative is for each service to carry advance information of its own bit rate utilisation.
- a transport stream of conventional form is analysed and, with appropriate delay, information concerning bit rate utilisation at one point in the transport stream is inserted at a point earlier in the stream. Whilst this of course introduces further processing and further delay, it may be useful in certain non-real time applications, or applications in which delay of that sense is not critical.
- the amount of advance notice that can be given is, of course, not limited to the delay inherent in a compression unit. It is accordingly possible to select a desired look ahead period for the advance information that is being inserted into the stream.
- the advance bit rate information can also be inserted in an off-line software process.
- an encoder 400 provides an MPEG output with inserted look-ahead information.
- a transcoder 402 is controlled by the multiplexer 404 to provide the required bit rate.
- the look-ahead information stripped out in transcoder 402 is fed forward to the multiplexer to inform the bit rate allocation process with advance bit rate information.
- a file server 406 holds pre-recorded bit-streams which have look-ahead information inserted (in real time at the point of encoding or in an offline process, as examples). This advance information is made use of by the multiplexer 404 in its control of the bit rate allocated to other services, which may include the output of a conventional encoder 408 having its bit rate controlled in conventional fashion by the multiplexer, or data provided from data source 412.
- an MPEG bit-stream has been encoded conventionally, it can if appropriate have look-ahead information inserted as at box 410. It will be understood that this invention has been described by way of examples only and that a wide variety of further modifications are possible without departing from the scope of the present invention.
- the advance information which is inserted into the bit-stream may represent the bit rate itself or information which alone or with other information enables the bit rate to be deduced or estimated.
- Such information might include, for example, the location of intra coded frames, edit points or frames which have proved particularly difficult to code.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
By taking advantage of the time delay arising from the buffer in an MPEG encoder, information concerning future bit rate is inserted at regular locations in the bit-stream. In consequence, a multiplexer or data inserter receives advance notice of opportunities to insert data into the bit-stream. Advance notice enables data to be drawn from secondary storage and to be formatted optimally. In both cases, the effective data-carrying capacity of the stream is increased.
Description
APPARATUS AND METHOD FOR IMAGE DATA CODING WITH ADDITIONAL DATA EMBEDDING
This invention relates to compressed data streams and in one important example to the filling of unused data-carrying capacity in digital media transmission, and other systems, with extra data as and when capacity allows.
This practice is referred to as opportunistic data insertion.
The international standard ISO/IEC 13818 (generic coding of moving pictures and associated audio information), known commonly as MPEG2, has been globally adopted as the method of encoding media and binding them together in a multiplex for transmission as digital services. MPEG2 is an important example of an application for the present invention.
In this system, media are compressed by removing temporally and spatially redundant information. Psycho-visual and psycho-acoustic models also reduce information content. The resulting digital data is packetised and bound together to form a collection of services called a multiplex.
In many systems the rate of coded data from the video encoding process varies depending on the difficulty encountered when trying to maintain a constant image quality. This results in a general short fall of data from the encoders to ensure a working overhead of capacity. The spare capacity of the multiplex is then filled with ancillary data in a process known as opportunistic data insertion.
The management of opportunistic data insertion is complex and troublesome. If the available data-carrying capacity is to be fully utilised, the data handling system is required to react extremely quickly and flexibly when an opportunity for data insertion arises. The data handling system is, however, required also to communicate with the various sources of data and must perform
"housekeeping" tasks such as moving data between tiers of storage, ensuring redundancy in the event of equipment failure, regular archiving, and so on. Many of these demands conflict with the requirement for fast and flexible reaction to data insertion opportunities. It is thus the case that the design of data handling systems is a severe obstacle to the goal of maximising the carriage of data in
digital media streams.
It is an object of the present invention to address this problem. Accordingly, the present invention consists, in one aspect, in compression apparatus comprising an input; a processing unit; and an output, the processing unit being arranged to provide at the output a compressed stream having a variable bit rate, there being a time delay between the input and the output, characterized in that the processing unit is adapted to provide in the time frame of the output, advance information concerning the bit rate of the output. Advantageously, the advance information is inserted into the output stream.
In a further aspect, the present invention consists in a compressed bit stream having a variable bit rate, wherein there is inserted in the bit-stream at each of a number of repeated locations, advance information concerning a parameter of the stream at a future location. Preferably, the parameter is the bit rate or one a more parameters useful in estimating or deducing bit rate.
Advantageously, said repeated locations are repeated at least once per frame in the compressed bit-stream.
In yet a further aspect, the present invention consists in opportunistic data insertion apparatus adapted to read from the bit-stream, advance information concerning the bit-rate at future locations in the bit-stream.
In still a further aspect, the present invention consists in a process of multiplexing variable bit rate streams with dynamic allocation of an available multiplex bit rate capacity among the respective streams, wherein there is read from at least one of the streams advance information concerning the bit rate of the stream at a future location.
The invention will now be described by way of example with reference to the accompanying drawings, in which:
Figure 1 is a block diagram of an exemplary data server;
Figure 2 is a block diagram of an encoder according to the prior art; Figure 3 is block diagram of an encoder according to the present invention; and
Figure 4 is a block diagram of a multiplexer arrangement according to the present invention.
Briefly, the invention relates in this example to the optimisation of the system that inserts data into the MPEG2 stream and enables greater assurance that all spare capacity is used. To explain the invention it is necessary to understand a typical data insertion system. Reference is directed to Figure 1 for a block diagram of an example data server. There are several concurrent operations a data server may be required to perform, some of which are listed below:
1. Data must be added to the server from input streams such as a network or backup device.
2. Data must archived for safety and record keeping.
3. Data must be sent to the insertion point, the multiplexer.
4. Data may need to be duplicated within a disk sub-system for fault tolerance.
5. Data may also be replicated between servers so that on a failure of one the second steps in to maintain the service.
6. The system must respond to control and information requests from users or automatic systems.
Figure 2 shows a typical example of an encoding and transmission system. The source video is analysed and then encoded according to the MPEG2 standard. In many systems, the encoded MPEG2 bit-stream will be transcoded to a different bit-rate. The encoded data is fed into the encoder buffer ready to be included in the output data stream. The encoder buffer is used
to govern the feedback algorithm that sets the level of compression and hence controls the output bit rate.
Between the analysis of the incoming video frame and the appearance of that frame as coded information in the output stream, there will be a significant delay. The length of this delay will of course vary in time and will also vary between encoding systems. An average delay of 0.5 seconds would, however be typical. It will be recognised that in the management of data handling systems, 0.5 seconds is a considerable period of time.
The delay is inherent in the MPEG2 compression system and can only be reduced, not eliminated. It arises in various ways; the most obvious of which is the encoder buffer. There are also delays arising from the need for picture reordering and from processing in the compression engine itself.
Figure 3 demonstrates the same encoding and transmission system as Figure 2, but with the inclusion of the present invention proposed. Here information from the coding process is carried forward through the encoder, avoiding the delay of the buffer and is passed out to the following data server. The data may be sent on a separate interface or may be included in suitable points in the MPEG multiplex.
The information sent from the encoder may include, but is not limited to, the number of bits currently being used to code the image and an indication of the time of encoding. The time might be the time of day, a relative time (i.e. in 300 ms time) an independent count or the program clock reference (PCR). From this and any other information it receives, the data server may calculate the capacity of data available in the future and by comparing the time code to the PCR, or other reference, know how soon this capacity will be available. From this information the server may modify is behaviour in many ways, some of which are:
1. Change the balance of time expended on its processes, e.g. if little bandwidth will be available for insertion it may boost its backup or
update rate. If more bandwidth will be available, the priority of other processes might be reduced to guarantee that the demand is met. 2. Schedule data requests more efficiently to reduce the peak demands on the disk and network channels. 3. Choose the most efficient order to send blocks of data to minimise the period that each virtual file is "open" i.e. present in the multiplex. 4. Increase advanced data requests to cope with peaks in demand without abandoning sending opportunities.
By way of further explanation under point No. 3, a convenient mechanism for inserted data is in Programme Specific Information (PSI) packets of MPEG2. Every decoder will have the capacity to read and interpret PSI packets and there is therefore considerable advantage for certain types of inserted data of utilising the PSI stream. Indeed, there are at least two recommended protocols for inserting data in the PSI stream. A potential difficulty, however, is that many encoders are capable of reading only one type of PSI packet at any one time. Thus, if an encoder is reading the Programme Allocation Table (PAT) from the PSI stream, all other packets are effectively locked out until such time as reading of the table is complete. More importantly, if a large file is being carried as opportunistic data within the PSI stream, all other packets in the PSI stream may be locked out from the time the first packet containing data from the file is opened, until reading is completed of the last packet containing file data. In the case of a large file, with a relatively small bit rate available for opportunistic data, this 'lock out" time may be unacceptably large. In accordance with the present invention, the advance bit rate information would enable the server to select a location for inserting the file data at which enough contiguous or closely spaced packets are available to carry the file with minimum lock out of other PSI packets. It will be seen from Figure 3 that information can be made available to the data server from the compression engine or from the mode decision system. The information from the compression engine may simply take the form of
the number of bits being fed into the buffer for a particular picture. This is precise information which the data server receives "in advance" by an amount of time determined by buffer throughput. Still "earlier" information is made available from the mode decision system. This will not represent a precise number of bits but will provide a reasonable estimate of the number of bits that will be used in the compression engine to encode the particular picture being considered in the mode decision system.
It has been explained that the information can - in one example of the invention - be presented to the data server as part of the MPEG2 transport stream. The MPEG2 standard provides ample opportunity for the insertion of such private data. This approach is particularly valuable where the data server is remote from the encoder. It also allows the benefit of the invention to be achieved where an MPEG2 transport stream, generated by an encoder in accordance with this invention, is recorded on conventional recording equipment before passing to a data server in accordance with this invention.
The stream itself may then be regarded as embodying the present invention, in the sense that - at intervals - it includes information concerning the bit rates utilised subsequently in the stream.
The information may in the case of a transport stream take the form of the available bit capacity for data insertion, being the maximum capacity of the transport stream less the aggregate instantaneous bit rates of the services it contains. An alternative is for each service to carry advance information of its own bit rate utilisation.
It has been clearly shown that there is advantage in a data server reading advance bit rate information from an incoming transport stream, with there being no physical link between the server and the encoder. The question may then be asked of how that data server reacts when it receives a transport stream from a conventional encoder and not from an encoder according to the present invention. In one approach, the data server will in such circumstances operate conventionally. An alternative, however, is for the conventional transport stream
to be pre-processed by the insertion at appropriate intervals of advance bit rate information. The data server will then operate in the same optimised manner whether it is receiving a stream from an encoder according to this invention or a stream from a conventional encoder that has been processed in accordance with this invention.
Thus, in a further embodiment of the present invention, a transport stream of conventional form is analysed and, with appropriate delay, information concerning bit rate utilisation at one point in the transport stream is inserted at a point earlier in the stream. Whilst this of course introduces further processing and further delay, it may be useful in certain non-real time applications, or applications in which delay of that sense is not critical. In this embodiment, the amount of advance notice that can be given is, of course, not limited to the delay inherent in a compression unit. It is accordingly possible to select a desired look ahead period for the advance information that is being inserted into the stream. The advance bit rate information can also be inserted in an off-line software process.
Whilst the description of this invention has focused on data insertion, there will be other uses for the advance bit rate information that the invention provides. One such example is multiplexing. In a typical situation, a so-called statistical multiplexer will monitor the output of a bank of encoders, each providing a service, and will exercise control over the instantaneous bit rates of the encoders to allocate the available bit rate dynamically between the services in accordance with variations in picture material. It is not always convenient to provide the necessary control paths from the multiplexer to the encoders; some or all of the encoders may be in physically remote locations and some material may be available only in encoded form. In these multiplexing arrangements, it will be recognised that advance warning in the incoming transport streams of subsequent bit rate utilisation, (or of parameters from which subsequent bit rate utilisation may be estimated or deduced) will greatly assist the taking of decisions on bit rate allocation. This
advance information is preferably sent continuously or at least at the picture rate or at least once per Group of Pictures (GOP). Decisions can be taken on the basis of more complete information and provisional decisions taken early can be used in electing an optimum allocation strategy. There is shown in Figure 4 a multiplexer receiving a variety of inputs that in different ways take advantage of the present invention.
Thus, an encoder 400 according to the present invention provides an MPEG output with inserted look-ahead information. A transcoder 402 is controlled by the multiplexer 404 to provide the required bit rate. The look-ahead information stripped out in transcoder 402 is fed forward to the multiplexer to inform the bit rate allocation process with advance bit rate information.
A file server 406 holds pre-recorded bit-streams which have look-ahead information inserted (in real time at the point of encoding or in an offline process, as examples). This advance information is made use of by the multiplexer 404 in its control of the bit rate allocated to other services, which may include the output of a conventional encoder 408 having its bit rate controlled in conventional fashion by the multiplexer, or data provided from data source 412.
If an MPEG bit-stream has been encoded conventionally, it can if appropriate have look-ahead information inserted as at box 410. It will be understood that this invention has been described by way of examples only and that a wide variety of further modifications are possible without departing from the scope of the present invention. Thus the advance information which is inserted into the bit-stream (or otherwise conveyed to a multiplexer or data inserter) may represent the bit rate itself or information which alone or with other information enables the bit rate to be deduced or estimated.
Such information might include, for example, the location of intra coded frames, edit points or frames which have proved particularly difficult to code.
Claims
1. Compression apparatus comprising an input; a processing unit; and an output, the processing unit being arranged to provide at the output a compressed stream having a variable bit rate, there being a time delay between the input and the output, characterised in that the processing unit is adapted to provide in the time frame of the output, advance information concerning the bit rate of the output.
2. Apparatus according to Claim 1 , wherein said advance information is inserted into the output stream.
3. Apparatus according to any one of the preceding claims, wherein the processing unit comprises a compression encoder adapted to receive an uncompressed input.
4. Apparatus according to Claim 3, wherein the compression encoder comprises a compression engine and a buffer, the compression engine being adapted to deliver a compressed bit-stream to said output through the buffer and wherein information concerning bit rate is derived from the compression engine and inserted in the bit-stream between the buffer and the output.
5. Apparatus according to Claim 4, wherein the compression encoder further comprises a mode decision system adapted to receive from the input an uncompressed signal and to deliver mode decisions to the compression engine, wherein information concerning bit rate is derived from the mode decision system and inserted in the bit-stream between the buffer and the output.
6. Apparatus according to Claim 1 , wherein the processing unit comprises a compression transcoder adapted to receive a compressed input.
7. A compressed bit-stream having a variable bit rate, wherein there is inserted in the bit-stream at each of a number of repeated locations, advance information concerning a parameter of the bit-stream at a future location.
8. A bit-stream according to Claim 7, wherein said advance information concerns the bit rate of the bit-stream at a future location.
9. A bit-stream according to Claim 7, wherein said locations comprise a regular continuous structure.
10. An MPEG bit-stream according to Claim 7, wherein said locations appear at least once per Group of Pictures and preferably once per picture.
11. Bit-stream apparatus comprising an analysis unit for extracting information from a bit-stream, a bit-stream delay and an information inserter for inserting extracted information into the bit-stream after the delay, thereby to provide an output bit-stream having at each of a number of repeated locations, advance information concerning the stream at a future location.
12. Apparatus according to Claim 11 , wherein the advance information concerns bit rate.
13. Apparatus according to Claim 11 , wherein said locations comprise a regular continuous structure.
14. MPEG apparatus according to Claim 11 , wherein said locations appear at least once per Group of Pictures and preferably once per picture.
15. Opportunistic data insertion apparatus adapted to read from the bit- stream, advance information concerning the bit-rate at future locations in the bit-stream.
16. A process of multiplexing variable bit rate streams with dynamic allocation of an available multiplex bit rate capacity among the respective streams, wherein there is read from at least one of the streams advance information concerning the bit rate of the stream at a future location.
17. A bit-stream mastering process, comprising the steps of generating information about the bit-stream at a first location and inserting a representation of that information into the bit-stream at a second location which is in advance of the first location.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU21893/01A AU2189301A (en) | 1999-12-06 | 2000-12-06 | Apparatus and method for image data coding with additional data embedding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9928836.7 | 1999-12-06 | ||
GB9928836A GB2357210A (en) | 1999-12-06 | 1999-12-06 | Inserting future bit rate information in a compressed data stream |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2001043448A1 true WO2001043448A1 (en) | 2001-06-14 |
Family
ID=10865805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2000/004671 WO2001043448A1 (en) | 1999-12-06 | 2000-12-06 | Apparatus and method for image data coding with additional data embedding |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2189301A (en) |
GB (1) | GB2357210A (en) |
WO (1) | WO2001043448A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002080547A2 (en) * | 2001-03-29 | 2002-10-10 | Koninklijke Philips Electronics N.V. | A method for adaptive data/content insertion in mpeg2 transport stream |
WO2002085032A2 (en) * | 2001-04-10 | 2002-10-24 | Koninklijke Philips Electronics N.V. | System and method for inserting video and audio packets into a video transport stream |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0708564A2 (en) * | 1994-10-21 | 1996-04-24 | AT&T Corp. | Method of encoder control |
WO1997039577A1 (en) * | 1996-04-12 | 1997-10-23 | Snell & Wilcox Limited | Processing of video signals prior to compression |
EP0888015A2 (en) * | 1997-06-25 | 1998-12-30 | Sony Corporation | Digital signal coding methods and apparatus, signal recording media, and signal transmission methods |
EP0969671A1 (en) * | 1998-07-01 | 2000-01-05 | Victor Company Of Japan, Limited | Data coding method and apparatus therefor |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960010196B1 (en) * | 1993-06-04 | 1996-07-26 | 배순훈 | Dct coefficient quantizer utilizing human vision characteristics |
JP3313118B2 (en) * | 1994-04-20 | 2002-08-12 | トムソン コンシユーマ エレクトロニクス インコーポレイテツド | Complexity judgment device |
KR0139154B1 (en) * | 1994-07-08 | 1998-06-15 | 김광호 | Coding method in a neural network |
US5694170A (en) * | 1995-04-06 | 1997-12-02 | International Business Machines Corporation | Video compression using multiple computing agents |
US5719632A (en) * | 1996-01-25 | 1998-02-17 | Ibm Corporation | Motion video compression system with buffer empty/fill look-ahead bit allocation |
-
1999
- 1999-12-06 GB GB9928836A patent/GB2357210A/en not_active Withdrawn
-
2000
- 2000-12-06 WO PCT/GB2000/004671 patent/WO2001043448A1/en active Application Filing
- 2000-12-06 AU AU21893/01A patent/AU2189301A/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0708564A2 (en) * | 1994-10-21 | 1996-04-24 | AT&T Corp. | Method of encoder control |
WO1997039577A1 (en) * | 1996-04-12 | 1997-10-23 | Snell & Wilcox Limited | Processing of video signals prior to compression |
EP0888015A2 (en) * | 1997-06-25 | 1998-12-30 | Sony Corporation | Digital signal coding methods and apparatus, signal recording media, and signal transmission methods |
EP0969671A1 (en) * | 1998-07-01 | 2000-01-05 | Victor Company Of Japan, Limited | Data coding method and apparatus therefor |
Non-Patent Citations (1)
Title |
---|
PEREIRA M ET AL: "RE-CODABLE VIDEO", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP),US,LOS ALAMITOS, IEEE COMP. SOC. PRESS, vol. CONF. 1, 13 November 1994 (1994-11-13), pages 952 - 956, XP000522756, ISBN: 0-8186-6952-7 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002080547A2 (en) * | 2001-03-29 | 2002-10-10 | Koninklijke Philips Electronics N.V. | A method for adaptive data/content insertion in mpeg2 transport stream |
WO2002080547A3 (en) * | 2001-03-29 | 2003-01-09 | Koninkl Philips Electronics Nv | A method for adaptive data/content insertion in mpeg2 transport stream |
WO2002085032A2 (en) * | 2001-04-10 | 2002-10-24 | Koninklijke Philips Electronics N.V. | System and method for inserting video and audio packets into a video transport stream |
WO2002085032A3 (en) * | 2001-04-10 | 2003-01-03 | Koninkl Philips Electronics Nv | System and method for inserting video and audio packets into a video transport stream |
Also Published As
Publication number | Publication date |
---|---|
AU2189301A (en) | 2001-06-18 |
GB2357210A (en) | 2001-06-13 |
GB9928836D0 (en) | 2000-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5691986A (en) | Methods and apparatus for the editing and insertion of data into an encoded bitstream | |
JP4538908B2 (en) | Data conversion apparatus and method | |
US6483543B1 (en) | System and method for transcoding multiple channels of compressed video streams using a self-contained data unit | |
CA2199360C (en) | Method and apparatus for electronic distribution of digital multi-media information | |
JP4414134B2 (en) | Use of null packets in packetized digital television systems. | |
CN100576931C (en) | The method of generating information and signal | |
EP2151971B1 (en) | Transcoding video data | |
EP0618695A2 (en) | Multiplexing encoded data signals | |
US7266133B2 (en) | Methods and apparatus for statistical multiplexing with distributed multiplexers | |
US7342961B2 (en) | Encoded data outputting apparatus and method | |
US20060120466A1 (en) | Editing system, editing controlling apparatus, and editing controlling method | |
US6584120B1 (en) | Data multiplexing apparatus and method | |
US20120213269A1 (en) | Method and system for dynamically allocating video multiplexing buffer based on queuing theory | |
US6683911B1 (en) | Stream editing apparatus and stream editing method | |
US6993080B2 (en) | Signal processing | |
EP0903041B1 (en) | Improvements in or relating to changing the bit rate of a signal | |
EP1119974B1 (en) | Aligning compressed data packets with nominated reference packets of a transport bit-stream, wherein the bit rate output of the compression is controlled by the rate of the nominated reference packets | |
WO2001043448A1 (en) | Apparatus and method for image data coding with additional data embedding | |
US20090185620A1 (en) | Video encoding apparatus and method for the same | |
GB2341745A (en) | Image encoding | |
US6445825B2 (en) | Apparatus and method of generating compressed data | |
US8699527B2 (en) | Encoding/transmitting apparatus and encoding/transmitting method | |
GB2353654A (en) | Processing GOPs to be stored as all I-frames | |
JP3024380B2 (en) | Image coding control method | |
JP2009100303A (en) | Moving image encoding device and data processing method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |