US20060034375A1 - Data compression unit control for alignment of output signal - Google Patents
Data compression unit control for alignment of output signal Download PDFInfo
- Publication number
- US20060034375A1 US20060034375A1 US11/244,834 US24483405A US2006034375A1 US 20060034375 A1 US20060034375 A1 US 20060034375A1 US 24483405 A US24483405 A US 24483405A US 2006034375 A1 US2006034375 A1 US 2006034375A1
- Authority
- US
- United States
- Prior art keywords
- programme
- packets
- input
- compression
- compression unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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/2365—Multiplexing of several 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/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/2365—Multiplexing of several video streams
- H04N21/23655—Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
-
- 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/4347—Demultiplexing of several 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
Definitions
- This invention relates to data compression and especially to the compression of digital television signals.
- transport stream is used here to include both single-programme transport streams (TS) which comprise elementary streams of—for example—video, audio and data, and multi-programme transport streams (MPTS) which comprise two or more single-programme transports streams and—optionally—data or other services.
- TS single-programme transport streams
- MPTS multi-programme transport streams
- the programme to be replaced within the nationally distributed SPTS is constructed so as to have within it a number of splice points.
- the group of picture (GOP) structure, the video buffering verifier delay and certain other parameters are constrained.
- the GOP structure will be arranged so that the last picture (in presentation order) before an out point is either a non-predicted I-frame or a forward only predicted P-frame.
- the video buffering verifier delay (which corresponds with the buffer occupancy in the downstream decoder) will take a predefined value.
- the bit-stream which is to be inserted at the splice point will then be arranged to start with an I-frame and to have an initial value for the video buffering verifier delay which is equal to the same predetermined value. This is cumbersome; moreover, it is generally not possible to switch the bit-stream at anywhere other than the splice points.
- the present invention consists in one aspect in a method of controlling a compression unit which outputs a compressed bit-stream, the method comprising the steps of supplying to a reference input of the compression unit, a transport stream input with a sequence of transport packets; nominating a set of the transport packets as reference packets and arranging for the compression unit to output packets in alignment with the reference packets.
- the transport stream comprises a multi-programme transport stream and wherein the nominated set of transport packets comprises those packets associated with a selected programme.
- the nominated set of transport packets will typically comprise sub-sets of packets, those sub-sets being associated with respective video, audio, data and service information elementary streams of the selected programme.
- each compression unit is arranged to output packets having at least one parameter determined by the reference packet with which it is in alignment.
- Those parameters may include: a clock reference such as the MPEG-2 Programme Clock Reference (PCR); the location of video and audio frame starts; time stamps such as the MPEG-2 Presentation Time Stamps (PTS) and Decode Time Stamps (OTS); and a delay value such as the MPEG-2 Video Buffering Verifier (VBV) delay.
- a clock reference such as the MPEG-2 Programme Clock Reference (PCR)
- time stamps such as the MPEG-2 Presentation Time Stamps (PTS) and Decode Time Stamps (OTS)
- OTS Decode Time Stamps
- a delay value such as the MPEG-2 Video Buffering Verifier (VBV) delay.
- the present invention consists in a method of replacing a programme within a multi-programme transport stream by the output of a programme compression unit, comprising the steps of supplying the multi-programme transport stream to a reference input of the compression unit, nominating as reference packets those packets which are associated with the programme to be replaced; arranging for the compression unit to output packets in alignment with the reference packets; and re-multiplexing the output of a programme compression unit with the remaining packets of the multi-programme transport stream.
- the “reference” MPEG-2 bit-stream input could be regarded as the MPEG-2 equivalent of the “genlock” synchronisation input common on equipment handling uncompressed video. The latter input is used to force the equipment's output to conform with the timing of one particular video signal, whereas the “reference” MPEG-2 bit-stream input is used to force the output of the MPEG-2 encoder to conform with timing and/or other aspects of one particular programme within the multiplex carried by a particular MPEG-2 transport stream signal.
- MPEG-2 encoders and decoders are cascaded; where individual MPEG-2 programmes are to be added, substituted or otherwise combined together, or where a non-MPEG-2 programme is to be added, substituted or otherwise combined with programmes within an MPEG-2 transport stream.
- MPEG-2 decoders “downstream” of the switch system are very likely to produce noticeable artefacts unless the following critical timing-related MPEG-2 parameters are consistent before and after the switch:
- An MPEG-2 encoder can make these critical parameters consistent with another MPEG-2 programme from “upstream” if that MPEG-2 encoder has a “reference” MPEG-2 bit-stream input.
- ES Elementary Stream
- An MPEG-2 encoder can make the ES bit-rates consistent with another MPEG-2 programme if it has a “reference” MPEG-2 bit-stream input.
- the only external “references” on conventional MPEG-2 encoders are external clock signals from which ES bit-rates and/or total programme bit-rate can be derived. This allows bit-rates to be set with high accuracy, which would allow one MPEG-2 encoder to have bit-rates very close to those of another MPEG-2 encoder.
- the “reference” MPEG-2 bit-stream input allows bit-rates to be matched exactly with those from “upstream” encoders. It also allows other MPEG-2 parameters to be matched. It is the exactness of the matching and the ability to match other parameters (such as PCR's) that make this aspect of the invention so powerful.
- the compression unit will be a full encoder receiving the regional programming as live video. If, in another example, locally-targeted advertisements or announcements are to be inserted, these may exist on a server as pre-encoded streams. The compression unit will in that instance be a transcoder.
- Conventional statistical multiplexing employs control paths extending from the multiplexer to the individual coders, allocating available bit rate to the respective coders whilst ensuring that the fixed bit rate for the multiplex is not exceeded.
- This invention provides an alternative arrangement which has certain important advantages.
- the present invention consists in another aspect in apparatus for forming a multi-programme transport stream having a fixed overall bit rate and in which the instantaneous allocation of that bit rate amongst the programme transport streams is controllable, comprising a plurality of programme compression units each having a reference input; a controller which generates a transport stream reference having sets of reference packets associated respectively with the respective compression units, in which the relative occurrence of packets of the respective sets reflects the desired instantaneous allocation of that bit rate amongst the programme transport streams, each compression unit receiving the transport stream reference and being arranged to output packets in alignment with the reference packets associated with that compression unit and a multiplexer which combines the outputs of the respective programme compression units to form a multi-programme transport stream.
- the reference transport stream which is passed to all compression units can usefully be regarded as a protocol for controlling a statistical multiplexing operation.
- the outputs of the compression units can then be passed to a conventional but non-statistical multiplexer. This will be convenient if—for example—encryption is required to be added in the multiplexer. In simpler arrangements, because the outputs of the respective compression units are aligned with different sets of reference packets and are thus never coincident, it will be possible to combine the streams by a simple OR'ing operation.
- FIG. 1 is a block diagram illustrating one embodiment of the present invention 20 for performing a local opt-out
- FIGS. 2 and 3 are block diagrams illustrating processes conducted in the coder of FIG. 1 ;
- FIG. 4 is a block diagram illustrating a further embodiment of the present invention for performing a local opt-out
- FIGS. 5, 6 and 7 are block diagrams illustrating processes conducted in the circuitry of FIG. 4 ;
- FIG. 8 is a block diagram illustrating a further embodiment of this invention for multiplexing.
- FIG. 1 there is illustrated apparatus for performing a local programme opt-out.
- one programme (the “local” programme) is substituted for another (the “original” programme) within a multi-programme MPEG-2 transport stream broadcast.
- the incoming multi-programme transport stream is received at terminal 102 , passing through an MPEG delay 104 to a remultiplexer 106 .
- This provides a multi-programme transport stream output at terminal 108 .
- the input multi-programme transport stream (MPTS) passes seamlessly to the output 108 , subject only to a delay.
- a source of local programming is shown at 110 and this provides the input to a compression encoder 112 . It will be understood that if the compression encoder 112 were of conventional form, any attempt in the remultiplexer to substitute the locally encoded programme for one of the programmes in the MPTS, would almost certainly produce severe artefacts, if not crashing, in downstream decoders.
- the encoder 112 received as a reference input the multi-programme transport stream.
- This reference input is used—in ways that will be described—to control the encoder 112 so that its output can be substituted seamlessly for a designated programme in the MPTS.
- FIG. 2 illustrates one of the processes inside the encoder 112 utilising the reference transport stream input.
- a packet detector 200 receives the reference transport stream input together with an indication of which programme in the multi-programme transport stream, is to be replaced and which the packet detector is therefore required to track.
- the packet detector 200 then provides for each of the elementary streams of the tracked programme, an indication of the location of the associated packets in the MPTS.
- the encoder 112 includes a video coder 202 , an audio coder 204 and a data coder 206 . These coders receive video, audio and data inputs, respectively.
- the encoder further includes a PSI generator 208 .
- the video elementary stream will be taken as an example; it will be apparent that the remaining elementary streams are treated in analogous fashion.
- the video coder 202 is arranged to provide a packet output when it receives a packet request.
- the corresponding output from the packet detector 200 will normally provide such requests so that the video coder 202 will provide packets which are aligned with those packets in the reference transport stream which correspond with the video elementary stream of the tracked programme.
- a stand-alone packet request generator is provided to enable the encoder to function in the absence of a reference transport stream input. This has a clock-timing reference input and a further input which sets the desired bit-rates for the various elementary streams.
- the packet request generator provides an output for each of the elementary streams and there is a notional ganged switch arrangement which enables the elementary stream coders to be locked either to the incoming reference transport stream or to free run in a stand-alone mode under control of the stand-alone packet request generator.
- “reference” packets in the MPTS that is to say the packets associated with the elementary stream which is to be replaced by the output of a specific coder
- the coder to ensure that the packets which are output by the coder are in alignment with those reference packets.
- this will be a temporal alignment although it will be understood that in certain non-real time processes, the alignment will be according to a measure which is related to time.
- the reference packets are used additionally to control certain parameters in those packets which are output in alignment with the reference packets.
- the reference packets which are provided by the packet detector 200 are passed also to a packet analyser 302 . Whilst the packet detector 200 will provide a reference packet output for each of the elementary streams within the tracked programme, FIG. 3 —for clarity of illustration—shows only the video elementary stream.
- the packet analyser 302 reads each packet, identifies a number of parameters and makes those parameters available to the video coder 202 .
- the packets which are output by the video coder are then not only in alignment with the reference packets but also share certain key parameters. For example, the packet analyser will identify the Programme Clock Reference (PCR) in each packet and will provide this to the video coder.
- the analyser 302 will also identify time stamps (both presentation time stamps (PTS) and decoder time stamps (DTS) and the video coder 202 will again ensure that these time stamps are present also in the locally coded packets.
- PTS presentation time stamps
- DTS decoder time stamps
- the analyser 302 will also determine the Video Buffering Verifier delay (VDV_delay) and will ensure that this value, or related information concerning buffer occupancy, is passed to the video coder which uses this information to ensure that there are no discontinuities in buffer occupancy.
- VDV_delay Video Buffering Verifier delay
- the packet analyser 302 is adapted to identify frame starts; this information is used in the coder to ensure that there is synchronism in the frame starts between the programme to be replaced and the locally encoded programme. If there is an established protocol that a frame start will occur at a predetermined point in a packet, this location information will simply be the location of the packet containing the frame start.
- This more detailed embodiment utilises the information bus technology, referred to earlier, in which inter-alia, a decoder can make available on an information bus, information relating to coding decisions taken in the upstream encoding process.
- a multi-programme transport stream input 400 is taken to a distribution amplifier 402 which provides the MPTS input through a fixed MPEG-2 delay 404 to a remultiplexer 406 .
- This remultiplexer provides a multi-programme transport stream output 408 which in the case where there is no local opt-out in effect, corresponds to the MPTS input, subject to a fixed delay.
- the distribution amplifier 402 also makes the transport stream available to a decoder 410 . This is arranged to decode the particular programme in the multi-programme transport stream which it is required to replace.
- Decoding of the programme to be replaced is useful in that it enables fades or other digital effects to be provided at the splice points, rather than a simple switch from one programme into the next.
- the decoded video and audio from the decoder 410 are passed to a video and audio mixer 412 which also receives the output of the local video and audio source 414 .
- Sync signals are taken from the decoder 410 to ensure synchronisation of the local video and audio source 414 .
- the output from the video and audio mixer 412 passes to the coder 416 .
- this coder also receives as a reference input the multi-programme transport stream input.
- the decoder 410 is of the type arranged to provide an information bus output, the coder 416 can utilise both the transport stream reference input and the information bus to ensure that the packets which are output by the coder 416 are capable of seamless remuxing in multiplexer 406 with the remaining packets of the multi-programme transport stream.
- Transport packets are too frequent to be able to convey their timing in the information bus, so the “reference” MPEG-2 transport stream input is used for this purpose, in the manner previously described.
- An arrangement such as FIG. 5 uses control logic within the coder 416 employed to align locally encoded access unit (AU) headers with corresponding AU headers in the reference transport stream.
- AU access unit
- FIG. 5 is a generalised outline for a non-specific elementary stream. It shows the extraction of AU headers and timestamps (DTSs and PTSs) from the “reference” input.
- DTSs and PTSs AU headers and timestamps
- AU headers and timestamps are also extracted from the local video input using a form of the information bus technology which has been extended to carry timestamps.
- the reference transport stream input is taken to a header detection and time stamp extraction block 500 which provides an input to a control logic block 502 .
- the corresponding elementary stream of the local programme is encoded at block 504 , there being an appropriate control feedback from the control logic block 502 .
- the output of the encoding process passes to a timestamp (PTS and DTS) allocation block 506 and to a main buffer 508 .
- a second header detection and timestamp extraction unit 510 operates on the buffer output, to provide the second input to the control logic 502 . Real control of the main buffer is effected by the control logic 502 .
- the output of the main buffer passes through a secondary buffer 512 and through an access unit length adjustment block 514 , both of these blocks being under control from the control logic 502 .
- the output of the access unit length adjustment block 514 is then made available to the remultiplexer 406 .
- the “access unit length adjustment” function shown is only needed where a particular ES has AUs of unpredictable length (so that encoded AUs in the “local” programme are not guaranteed to be the same length as in the “original” one). This length adjustment may be performed, for example, by controlling quantisation and by inserting ES padding.
- the AU co-alignment implementation described above offers a way to automatically set the “fine” timing of the “local” data path. This is because after the timestamps have been matched up and a local AU header has then arrived before the corresponding one from the reference stream, reading from the local video buffer stops until an AU header arrives from the reference stream. This has the effect of fine-tuning the “local path” delay by changing the local main video ES buffer level.
- the AU length adjustment process just described can then be run through once after coder power-up to fine-tune the video ES buffer level before attempting any seamless switching.
- the AU co-alignment architecture described above offers a way to set the “coarse” MPEG-2 delay timing during system installation. This is done in a special set-up mode (“delay coarse adjust” mode) in which all co-alignment is inhibited. Timestamps are extracted in blocks 500 and 510 in FIG. 5 and sent via the “local CPU” 516 to the overall system controller. This can then subtract the timestamps and set the “MPEG-2 delay” accordingly. This time difference extracted from the timestamps sets the MPEG-2 delay tap which feeds the coder. The MPEG-2 delay tap which feeds the Seamless Remux can then be set to the same value plus a fixed offset for the remaining path delay difference between the two Seamless Remux inputs in FIG. 5 .
- the ability to automate system data path delay set-up in this way shows a benefit of using the information bus and the “reference” MPEG-2 input together at the MPEG-2 encoder.
- co-aligning content requires the arrangement already shown in FIG. 5 .
- the decoder buffer levels (in decoders downstream of the whole local opt-out system) must be the same for each ES between the “local” programme and the “original” one. This constrains the PTSs and DTSs within each local ES.
- the local coder needs an internal “local” PCR which is consistent with the values passed through the information bus when they are present, and which continues to run, locked to the rate of the “reference” bit-stream PCR, when values passed through the information bus are absent (i.e., whilst the system is “opted out” to the local programme).
- This “local” PCR can then be used for to generate both audio and video timestamps.
- FIG. 6 One possible architecture is shown in FIG. 6 .
- Video is chosen as the ES on which to perform timestamp comparison because it has the best-defined timing (using the Video MOLETM).
- the reference transport stream input is taken to a PCR extraction and reconstruction block 602 , the output of which is added at 604 with the output of a latch 606 .
- the output of the add block 604 provides a PCR bus which is made available to the audio elementary streams which take their PCR timing from the video stream.
- an input 608 is encoded at 610 and passes through a PTS and DTS allocation block 612 which receives the PCR bus.
- the output of block 612 passes through an elementary stream main buffer 614 to the multiplexer 406 .
- the PCR bus is also latched at 616 in the processing for the video elementary stream.
- the input at 618 passes to an encode block 504 with extracted information bus information passing to a PTS and DTS extraction unit 620 .
- This provides an output which is interpolated for every picture at 622 .
- the interpolated output passes to a multiplexer 623 which will select the values from the information bus, if these are valid, and pass them to the PTS and DTS insertion unit 506 .
- This multiplexer also receives an input from the latch 616 .
- the output of the interpolation block 622 also passes to a subtractor block 624 , for subtraction of the values from the latch 616 , with the output being smoothed at 626 and passing as a PCR offset to latch 606 .
- This latch receives clock and reset signals from the local CPU 517 .
- the timestamps values for each picture may be a PTS, a PTS and DTS, or neither. If both are present then only DTSs are subtracted (in the subtract block 624 in FIG. 6 ) because there is no need to subtract PTSs as well (the difference between PTSs should be the same as between DTSs; the choice of DTSs over PTSs here is arbitrary).
- PCR and “vbv_delay” values need to be co-aligned to prevent timing “hiccups” in downstream decoders when the local opt-out system performs a seamless switch.
- the local coder produces valid “vbv_delay” values (which are only ever present within the video ES), and the timestamp co-alignment implementation described above co-aligns the PCR values used internally to the local coder.
- the “vbv_delay” and PCR values output by the local coder would still be incorrect for the following two reasons.
- vbv_delay and PCR values can be re-calculated from scratch just before the output of the MPC.
- FIG. 7 shows one possible implementation of this “re-stamping”.
- the reference transport stream input is taken to block 702 where the PCR is extracted and a full PCR at 27 MHz resolution is reconstructed.
- This reconstructed PCR then passes through block 704 where a fixed offset is added for the delay from the reference input to the local output.
- the full PCR is reduced in block 706 to a non-extended format (90 kHz resolution).
- a variable offset is added to compensate for the padding delay added to the main video elementary stream buffer in alignment of the packet.
- This provides a PCR bus which is used as shown generally in block 710 for the elementary stream encoders, buffer, timestamp and (optionally) PCR insertion. Timestamps are extracted at block 712 and in block 714 .
- the PCR value from block 706 is subtracted to provide an output in block 718 .
- This receives the output of the access unit co-alignment block 716 and re-stamps, that is to say locates and replaces the VBV_delay.
- the output passes to block 720 which receives inputs from the block 704 and the local CPU 517 to re-stamp (that is to say locate and replace) PCR.
- the output of block 720 then forms the local path output.
- the “variable offset” to the PCR bus shown in FIG. 7 is the same “offset” as is shown in FIG. 6 .
- the “timestamp extraction” block shown in FIG. 7 is the same one used to identify each “local” video AU for AU co-alignment (the lower of the two shaded blocks in FIG. 5 ).
- the timestamp extracted from the video ES is the DTS value (or the PTS if there is no DTS) because “vbv_delay” is a time interval before decoding rather than before presentation.
- Each of the preceding co-alignment mechanisms is dependent on extracting timing-related information from the “reference” input to the local coder within the local opt-out system. Co-alignment of each parameter is vital to guarantee that the “local opt-out” can be seamlessly switched in and out, i.e. without artefacts at “downstream” decoders.
- FIG. 8 there is shown an arrangement in which a series of transcoders 801 to 810 , each receives a single programme transport stream from a file server 820 .
- the single programme transport streams from the transcoders are multiplexed at 830 to form a multi-programme transport stream.
- a reference transport stream generator 840 generates what might be termed a template for the multi-programme transport stream output of the multiplexer 830 .
- reference packets will be allocated to the specific programmes and the number of packets allocated per unit time to a specific programme will effectively set the instantaneous bit-rate output for the transcoder for that programme. Since the transcoders which supply the multiplexer 830 are all constrained to provide packets in alignment with the reference transport stream, it is ensured that the overall desired bit-rate for the multi-programme transport stream output (whether fixed or variable) is always complied with.
- Each transcoder will typically comprise a decoder and an encoder linked using information bus technology so as to avoid cascade loss.
- the encoder stage will then employ the reference transport stream input and the information bus signal in a manner analogous to that previously described so as to provide a single programme transport stream output which has packets aligned with the nominated packet of the reference transport stream input.
- the individual packets of the single programme transport stream will take parameters (such as the peR and timestamps) from the nominated packets of the reference transport stream input.
- the reference transport stream generator 840 may receive information concerning the SPTS's from the file servers or from the transcoders. It will typically also receive external control signals.
- NVOD Near Video on Demand
Abstract
To enable a single programme in a multiple programme MPEG transport stream (MPTS) to be replaced seamlessly by a locally generated programme, the local coder receives the MPTS as a reference signal and outputs transport packets in alignment with the packets of the programme to be replaced. Timing and other packet parameters are also copied.
Description
- This application is a continuation of U.S. application Ser. No. 09/806,969, filed Apr. 6, 2001, which is a National Phase Application of International Application No. PCT/GB99/03361, filed Oct. 11, 1999, which claims priority to United Kingdom Application No. GB9822087 filed on Oct. 9, 1998.
- This invention relates to data compression and especially to the compression of digital television signals.
- The example will be taken of the well-known MPEG-2 compression scheme. In television production, distribution and transmission, there are a variety of operations which require to be performed on MPEG-2 transport streams without adversely affecting the performance of—for example—downstream MPEG-2 decoders. The term “transport stream” is used here to include both single-programme transport streams (TS) which comprise elementary streams of—for example—video, audio and data, and multi-programme transport streams (MPTS) which comprise two or more single-programme transports streams and—optionally—data or other services.
- A frequent requirement is to receive a nationally distributed MPTS and to replace one of the programmes with a locally produced programme. Similarly, it is frequently required to insert local advertisements or announce programmes. A procedure exists for performing these types of operations, but the procedure is cumbersome and lacks flexibility. Briefly, the programme to be replaced within the nationally distributed SPTS is constructed so as to have within it a number of splice points. At these splice points, the group of picture (GOP) structure, the video buffering verifier delay and certain other parameters are constrained. Specifically, the GOP structure will be arranged so that the last picture (in presentation order) before an out point is either a non-predicted I-frame or a forward only predicted P-frame. The video buffering verifier delay (which corresponds with the buffer occupancy in the downstream decoder) will take a predefined value. The bit-stream which is to be inserted at the splice point will then be arranged to start with an I-frame and to have an initial value for the video buffering verifier delay which is equal to the same predetermined value. This is cumbersome; moreover, it is generally not possible to switch the bit-stream at anywhere other than the splice points.
- It is one object of the present invention to provide improved method and apparatus which overcomes or ameliorates the difficulties associated with prior art techniques.
- Accordingly, the present invention consists in one aspect in a method of controlling a compression unit which outputs a compressed bit-stream, the method comprising the steps of supplying to a reference input of the compression unit, a transport stream input with a sequence of transport packets; nominating a set of the transport packets as reference packets and arranging for the compression unit to output packets in alignment with the reference packets.
- Suitably, the transport stream comprises a multi-programme transport stream and wherein the nominated set of transport packets comprises those packets associated with a selected programme. The nominated set of transport packets will typically comprise sub-sets of packets, those sub-sets being associated with respective video, audio, data and service information elementary streams of the selected programme.
- Advantageously, each compression unit is arranged to output packets having at least one parameter determined by the reference packet with which it is in alignment.
- Those parameters may include: a clock reference such as the MPEG-2 Programme Clock Reference (PCR); the location of video and audio frame starts; time stamps such as the MPEG-2 Presentation Time Stamps (PTS) and Decode Time Stamps (OTS); and a delay value such as the MPEG-2 Video Buffering Verifier (VBV) delay.
- In a different aspect, the present invention consists in a method of replacing a programme within a multi-programme transport stream by the output of a programme compression unit, comprising the steps of supplying the multi-programme transport stream to a reference input of the compression unit, nominating as reference packets those packets which are associated with the programme to be replaced; arranging for the compression unit to output packets in alignment with the reference packets; and re-multiplexing the output of a programme compression unit with the remaining packets of the multi-programme transport stream.
- In one arrangement according to this invention, there is proposed the use of a “reference” MPEG-2 bit-stream input to an MPEG-2 encoder, such that the output of the encoder is controlled by this “reference” input. This input is in addition to and in parallel with the other customary inputs to an encoder.
- The “reference” MPEG-2 bit-stream input could be regarded as the MPEG-2 equivalent of the “genlock” synchronisation input common on equipment handling uncompressed video. The latter input is used to force the equipment's output to conform with the timing of one particular video signal, whereas the “reference” MPEG-2 bit-stream input is used to force the output of the MPEG-2 encoder to conform with timing and/or other aspects of one particular programme within the multiplex carried by a particular MPEG-2 transport stream signal.
- This capability is potentially useful in all multi-programme applications of MPEG-2—for example—where MPEG-2 encoders and decoders are cascaded; where individual MPEG-2 programmes are to be added, substituted or otherwise combined together, or where a non-MPEG-2 programme is to be added, substituted or otherwise combined with programmes within an MPEG-2 transport stream.
- For example, if one programme is to be substituted for another within a multi-programme MPEG-2 transport stream which has already been encoded (i.e., it is from “upstream” of the switch system) whilst it is “on-air”, MPEG-2 decoders “downstream” of the switch system are very likely to produce noticeable artefacts unless the following critical timing-related MPEG-2 parameters are consistent before and after the switch:
-
- Access Unit (AU) timing,
- Programme Clock References (PCRs),
- Decode Time-Stamps (DTSs),
- Presentation Time-Stamps (PTSs), and
- Video Buffering Verifier delay (“vbv_delay”)
- An MPEG-2 encoder can make these critical parameters consistent with another MPEG-2 programme from “upstream” if that MPEG-2 encoder has a “reference” MPEG-2 bit-stream input.
- As a second example, it may be beneficial to make the Elementary Stream (ES) bit-rates within a programme being encoded dependent on the bit-rates of one or more other programmes from “upstream.” Applications which would benefit from this include various forms of statistical multiplexing and the substitution of one programme for another within a multi-programme MPEG-2 transport stream, without the use of a full (scheduling) MPEG-2 remultiplexer and even where the multi-programme MPEG-2 transport stream has a fully-occupied payload capacity. An MPEG-2 encoder can make the ES bit-rates consistent with another MPEG-2 programme if it has a “reference” MPEG-2 bit-stream input.
- The only external “references” on conventional MPEG-2 encoders are external clock signals from which ES bit-rates and/or total programme bit-rate can be derived. This allows bit-rates to be set with high accuracy, which would allow one MPEG-2 encoder to have bit-rates very close to those of another MPEG-2 encoder.
- The “reference” MPEG-2 bit-stream input according to one aspect of this invention allows bit-rates to be matched exactly with those from “upstream” encoders. It also allows other MPEG-2 parameters to be matched. It is the exactness of the matching and the ability to match other parameters (such as PCR's) that make this aspect of the invention so powerful.
- The nature of the compression unit will depend upon the circumstances. If, for example, a regional opt-out is required, the compression unit will be a full encoder receiving the regional programming as live video. If, in another example, locally-targeted advertisements or announcements are to be inserted, these may exist on a server as pre-encoded streams. The compression unit will in that instance be a transcoder.
- Conventional statistical multiplexing employs control paths extending from the multiplexer to the individual coders, allocating available bit rate to the respective coders whilst ensuring that the fixed bit rate for the multiplex is not exceeded. This invention provides an alternative arrangement which has certain important advantages.
- Accordingly, the present invention consists in another aspect in apparatus for forming a multi-programme transport stream having a fixed overall bit rate and in which the instantaneous allocation of that bit rate amongst the programme transport streams is controllable, comprising a plurality of programme compression units each having a reference input; a controller which generates a transport stream reference having sets of reference packets associated respectively with the respective compression units, in which the relative occurrence of packets of the respective sets reflects the desired instantaneous allocation of that bit rate amongst the programme transport streams, each compression unit receiving the transport stream reference and being arranged to output packets in alignment with the reference packets associated with that compression unit and a multiplexer which combines the outputs of the respective programme compression units to form a multi-programme transport stream.
- The reference transport stream which is passed to all compression units can usefully be regarded as a protocol for controlling a statistical multiplexing operation.
- The outputs of the compression units (which can be encoders or transcoders or a mix of these) can then be passed to a conventional but non-statistical multiplexer. This will be convenient if—for example—encryption is required to be added in the multiplexer. In simpler arrangements, because the outputs of the respective compression units are aligned with different sets of reference packets and are thus never coincident, it will be possible to combine the streams by a simple OR'ing operation.
- The invention will now be described by way of example with reference to the accompanying drawings, in which:
-
FIG. 1 is a block diagram illustrating one embodiment of the present invention 20 for performing a local opt-out; -
FIGS. 2 and 3 are block diagrams illustrating processes conducted in the coder ofFIG. 1 ; -
FIG. 4 is a block diagram illustrating a further embodiment of the present invention for performing a local opt-out; -
FIGS. 5, 6 and 7 are block diagrams illustrating processes conducted in the circuitry ofFIG. 4 ; and -
FIG. 8 is a block diagram illustrating a further embodiment of this invention for multiplexing. - Before describing in detail specific embodiments of the present invention, it will be helpful to mention briefly a related technology which is particularly useful in combination with the present invention.
- It is now recognised that problems associated with cascaded encoding and decoding processes can be very much reduced (if not eliminated) if a downstream encoder has available to it certain of the coding decisions employed by the upstream encoder. These decisions may be carried in an information bus which typically extends from an MPEG-2 decoder to an MPEG-2 encoder. The information bus can with great advantage be carried within the video signal itself. For a more detailed explanation, reference is directed to EP 0 765 576 and EP 0 913 058.
- Referring now to
FIG. 1 , there is illustrated apparatus for performing a local programme opt-out. Here, one programme (the “local” programme) is substituted for another (the “original” programme) within a multi-programme MPEG-2 transport stream broadcast. - The incoming multi-programme transport stream is received at
terminal 102, passing through anMPEG delay 104 to a remultiplexer 106. This provides a multi-programme transport stream output atterminal 108. Where no local opt-out is in force, the input multi-programme transport stream (MPTS) passes seamlessly to theoutput 108, subject only to a delay. - A source of local programming is shown at 110 and this provides the input to a
compression encoder 112. It will be understood that if thecompression encoder 112 were of conventional form, any attempt in the remultiplexer to substitute the locally encoded programme for one of the programmes in the MPTS, would almost certainly produce severe artefacts, if not crashing, in downstream decoders. - According to the present invention, the
encoder 112 received as a reference input the multi-programme transport stream. This reference input is used—in ways that will be described—to control theencoder 112 so that its output can be substituted seamlessly for a designated programme in the MPTS. - Reference is now directed to
FIG. 2 which illustrates one of the processes inside theencoder 112 utilising the reference transport stream input. Thus apacket detector 200 receives the reference transport stream input together with an indication of which programme in the multi-programme transport stream, is to be replaced and which the packet detector is therefore required to track. Thepacket detector 200 then provides for each of the elementary streams of the tracked programme, an indication of the location of the associated packets in the MPTS. - The
encoder 112 includes avideo coder 202, anaudio coder 204 and adata coder 206. These coders receive video, audio and data inputs, respectively. The encoder further includes aPSI generator 208. - The video elementary stream will be taken as an example; it will be apparent that the remaining elementary streams are treated in analogous fashion.
- The
video coder 202 is arranged to provide a packet output when it receives a packet request. The corresponding output from thepacket detector 200 will normally provide such requests so that thevideo coder 202 will provide packets which are aligned with those packets in the reference transport stream which correspond with the video elementary stream of the tracked programme. To enable the encoder to function in the absence of a reference transport stream input, a stand-alone packet request generator is provided. This has a clock-timing reference input and a further input which sets the desired bit-rates for the various elementary streams. The packet request generator provides an output for each of the elementary streams and there is a notional ganged switch arrangement which enables the elementary stream coders to be locked either to the incoming reference transport stream or to free run in a stand-alone mode under control of the stand-alone packet request generator. - It will thus be seen that “reference” packets in the MPTS (that is to say the packets associated with the elementary stream which is to be replaced by the output of a specific coder) are provided to the coder to ensure that the packets which are output by the coder are in alignment with those reference packets. In the normal case, this will be a temporal alignment although it will be understood that in certain non-real time processes, the alignment will be according to a measure which is related to time. The reference packets are used additionally to control certain parameters in those packets which are output in alignment with the reference packets.
- Referring to
FIG. 3 , the reference packets which are provided by thepacket detector 200 are passed also to apacket analyser 302. Whilst thepacket detector 200 will provide a reference packet output for each of the elementary streams within the tracked programme,FIG. 3 —for clarity of illustration—shows only the video elementary stream. - The
packet analyser 302 reads each packet, identifies a number of parameters and makes those parameters available to thevideo coder 202. The packets which are output by the video coder are then not only in alignment with the reference packets but also share certain key parameters. For example, the packet analyser will identify the Programme Clock Reference (PCR) in each packet and will provide this to the video coder. Theanalyser 302 will also identify time stamps (both presentation time stamps (PTS) and decoder time stamps (DTS) and thevideo coder 202 will again ensure that these time stamps are present also in the locally coded packets. Theanalyser 302 will also determine the Video Buffering Verifier delay (VDV_delay) and will ensure that this value, or related information concerning buffer occupancy, is passed to the video coder which uses this information to ensure that there are no discontinuities in buffer occupancy. Finally, in this example, thepacket analyser 302 is adapted to identify frame starts; this information is used in the coder to ensure that there is synchronism in the frame starts between the programme to be replaced and the locally encoded programme. If there is an established protocol that a frame start will occur at a predetermined point in a packet, this location information will simply be the location of the packet containing the frame start. - There will now be described a more detailed embodiment according to the present invention. This more detailed embodiment utilises the information bus technology, referred to earlier, in which inter-alia, a decoder can make available on an information bus, information relating to coding decisions taken in the upstream encoding process.
- Reference is now directed to
FIG. 4 . A multi-programmetransport stream input 400 is taken to adistribution amplifier 402 which provides the MPTS input through a fixed MPEG-2delay 404 to aremultiplexer 406. This remultiplexer provides a multi-programmetransport stream output 408 which in the case where there is no local opt-out in effect, corresponds to the MPTS input, subject to a fixed delay. Thedistribution amplifier 402 also makes the transport stream available to adecoder 410. This is arranged to decode the particular programme in the multi-programme transport stream which it is required to replace. Decoding of the programme to be replaced is useful in that it enables fades or other digital effects to be provided at the splice points, rather than a simple switch from one programme into the next. Thus, the decoded video and audio from thedecoder 410 are passed to a video and audio mixer 412 which also receives the output of the local video andaudio source 414. Sync signals are taken from thedecoder 410 to ensure synchronisation of the local video andaudio source 414. - The output from the video and audio mixer 412 passes to the
coder 416. As with the previous embodiment, this coder also receives as a reference input the multi-programme transport stream input. Additionally, because thedecoder 410 is of the type arranged to provide an information bus output, thecoder 416 can utilise both the transport stream reference input and the information bus to ensure that the packets which are output by thecoder 416 are capable of seamless remuxing inmultiplexer 406 with the remaining packets of the multi-programme transport stream. - Transport packets are too frequent to be able to convey their timing in the information bus, so the “reference” MPEG-2 transport stream input is used for this purpose, in the manner previously described.
- Other co-alignment issues for the “local programme opt-out” application are described below. These also illustrate the practical use of the “reference” MPEG-2 bit-stream input to the
local coder 416 inFIG. 4 . - Even when using the video information bus technology to extract coding decisions, unavoidable rounding variations in the DCT make it impossible to guarantee encoding of an elementary stream to exactly the same number of bits as in the “upstream” encoder. An arrangement such as
FIG. 5 , uses control logic within thecoder 416 employed to align locally encoded access unit (AU) headers with corresponding AU headers in the reference transport stream. -
FIG. 5 is a generalised outline for a non-specific elementary stream. It shows the extraction of AU headers and timestamps (DTSs and PTSs) from the “reference” input. To allow the “control logic” block to calculate the relative timing of “local” and “reference” AUs, AU headers and timestamps are also extracted from the local video input using a form of the information bus technology which has been extended to carry timestamps. - In more detail, the reference transport stream input is taken to a header detection and time
stamp extraction block 500 which provides an input to acontrol logic block 502. The corresponding elementary stream of the local programme is encoded atblock 504, there being an appropriate control feedback from thecontrol logic block 502. The output of the encoding process passes to a timestamp (PTS and DTS)allocation block 506 and to amain buffer 508. A second header detection andtimestamp extraction unit 510 operates on the buffer output, to provide the second input to thecontrol logic 502. Real control of the main buffer is effected by thecontrol logic 502. The output of the main buffer passes through asecondary buffer 512 and through an access unitlength adjustment block 514, both of these blocks being under control from thecontrol logic 502. The output of the access unitlength adjustment block 514 is then made available to theremultiplexer 406. - The “access unit length adjustment” function shown is only needed where a particular ES has AUs of unpredictable length (so that encoded AUs in the “local” programme are not guaranteed to be the same length as in the “original” one). This length adjustment may be performed, for example, by controlling quantisation and by inserting ES padding.
- The AU co-alignment implementation described above offers a way to automatically set the “fine” timing of the “local” data path. This is because after the timestamps have been matched up and a local AU header has then arrived before the corresponding one from the reference stream, reading from the local video buffer stops until an AU header arrives from the reference stream. This has the effect of fine-tuning the “local path” delay by changing the local main video ES buffer level.
- The AU length adjustment process just described can then be run through once after coder power-up to fine-tune the video ES buffer level before attempting any seamless switching.
- In addition to the “fine-tuning” just described, the AU co-alignment architecture described above offers a way to set the “coarse” MPEG-2 delay timing during system installation. This is done in a special set-up mode (“delay coarse adjust” mode) in which all co-alignment is inhibited. Timestamps are extracted in
blocks FIG. 5 and sent via the “local CPU” 516 to the overall system controller. This can then subtract the timestamps and set the “MPEG-2 delay” accordingly. This time difference extracted from the timestamps sets the MPEG-2 delay tap which feeds the coder. The MPEG-2 delay tap which feeds the Seamless Remux can then be set to the same value plus a fixed offset for the remaining path delay difference between the two Seamless Remux inputs inFIG. 5 . - The ability to automate system data path delay set-up in this way shows a benefit of using the information bus and the “reference” MPEG-2 input together at the MPEG-2 encoder.
- When a switch between bypass and local paths is about to take place, the encoded data within every ES representing the same uncompressed content must be in the same AU in the “local” encoded programme as it is in the “original” one.
- For video, co-aligning content requires the arrangement already shown in
FIG. 5 . This shows control logic within the local coder time-aligning locally-encoded AUs with corresponding AUs in the “reference” transport stream. This gives complete content co-alignment for the video by using its inherent picture boundaries. - Similar methods may be used to co-align audio and data services.
- When a switch between bypass and local paths is about to take place, the decoder buffer levels (in decoders downstream of the whole local opt-out system) must be the same for each ES between the “local” programme and the “original” one. This constrains the PTSs and DTSs within each local ES.
- To meet this constraint, the local coder needs an internal “local” PCR which is consistent with the values passed through the information bus when they are present, and which continues to run, locked to the rate of the “reference” bit-stream PCR, when values passed through the information bus are absent (i.e., whilst the system is “opted out” to the local programme). This “local” PCR can then be used for to generate both audio and video timestamps. One possible architecture is shown in
FIG. 6 . - Although the ES encoding chain is separate for each ES, the local PCR offset is set using the video ES only. This is because only one ES needs to be used to correct the PCR as all ESs must share the same common resulting PCR. Comparing timestamps within all ESs would also complicate the logic. Video is chosen as the ES on which to perform timestamp comparison because it has the best-defined timing (using the Video MOLE™).
- Turning to
FIG. 6 , the reference transport stream input is taken to a PCR extraction andreconstruction block 602, the output of which is added at 604 with the output of alatch 606. The output of theadd block 604 provides a PCR bus which is made available to the audio elementary streams which take their PCR timing from the video stream. Briefly, for each audio elementary aninput 608 is encoded at 610 and passes through a PTS andDTS allocation block 612 which receives the PCR bus. The output ofblock 612 passes through an elementary streammain buffer 614 to themultiplexer 406. The PCR bus is also latched at 616 in the processing for the video elementary stream. The input at 618 passes to an encodeblock 504 with extracted information bus information passing to a PTS andDTS extraction unit 620. This provides an output which is interpolated for every picture at 622. The interpolated output passes to amultiplexer 623 which will select the values from the information bus, if these are valid, and pass them to the PTS andDTS insertion unit 506. This multiplexer also receives an input from thelatch 616. The output of the interpolation block 622 also passes to asubtractor block 624, for subtraction of the values from thelatch 616, with the output being smoothed at 626 and passing as a PCR offset to latch 606. This latch receives clock and reset signals from the local CPU 517. - The timestamps values for each picture may be a PTS, a PTS and DTS, or neither. If both are present then only DTSs are subtracted (in the subtract
block 624 inFIG. 6 ) because there is no need to subtract PTSs as well (the difference between PTSs should be the same as between DTSs; the choice of DTSs over PTSs here is arbitrary). - In order for the proposed system architecture to work properly, it must be possible to subtract video timestamps for any picture, even though PTSs and OTSs may arrive at, different times in the “local” and “original” programmes. The local coder always produces timestamps for every picture (within the header of the PES packet which it always produces for every picture). Just in case the “upstream” encoder does not, the arrangement of
FIG. 6 interpolates timestamps for every picture from those supplied to the local coder in the information bus from thedecoder 410. - PCR and “vbv_delay” values need to be co-aligned to prevent timing “hiccups” in downstream decoders when the local opt-out system performs a seamless switch. In standalone operation the local coder produces valid “vbv_delay” values (which are only ever present within the video ES), and the timestamp co-alignment implementation described above co-aligns the PCR values used internally to the local coder. However, the “vbv_delay” and PCR values output by the local coder would still be incorrect for the following two reasons.
-
- The AU co-alignment scheme shown in
FIG. 5 introduces an ES delay in the “secondary buffer.” This “padding delay” acts is in addition to the main ES buffer delay which would apply in stand-alone operation. The “padding delay” is needed as “local path” delay fine-tuning but it invalidates the “vbv_delay” values which pass through it. This is because the main video ES buffer, including the “padding delay,” is a single buffer whose occupancy is used to calculate the local “vbv _delay” values. - The arrangement of
FIG. 5 also adds a variable delay by holding up local AU headers during AU length adjustment, which invalidates the PCR values which pass through it by adding large amounts of jitter.
- The AU co-alignment scheme shown in
- To correct for these effects, “vbv_delay” and PCR values can be re-calculated from scratch just before the output of the MPC.
FIG. 7 shows one possible implementation of this “re-stamping”. - The reference transport stream input is taken to block 702 where the PCR is extracted and a full PCR at 27 MHz resolution is reconstructed. This reconstructed PCR then passes through
block 704 where a fixed offset is added for the delay from the reference input to the local output. The full PCR is reduced in block 706 to a non-extended format (90 kHz resolution). In block 708 a variable offset is added to compensate for the padding delay added to the main video elementary stream buffer in alignment of the packet. This provides a PCR bus which is used as shown generally inblock 710 for the elementary stream encoders, buffer, timestamp and (optionally) PCR insertion. Timestamps are extracted atblock 712 and inblock 714. The PCR value from block 706 is subtracted to provide an output inblock 718. This receives the output of the access unitco-alignment block 716 and re-stamps, that is to say locates and replaces the VBV_delay. The output passes to block 720 which receives inputs from theblock 704 and the local CPU 517 to re-stamp (that is to say locate and replace) PCR. The output ofblock 720 then forms the local path output. - The “variable offset” to the PCR bus shown in
FIG. 7 is the same “offset” as is shown inFIG. 6 . The “timestamp extraction” block shown inFIG. 7 is the same one used to identify each “local” video AU for AU co-alignment (the lower of the two shaded blocks inFIG. 5 ). The timestamp extracted from the video ES is the DTS value (or the PTS if there is no DTS) because “vbv_delay” is a time interval before decoding rather than before presentation. - Each of the preceding co-alignment mechanisms is dependent on extracting timing-related information from the “reference” input to the local coder within the local opt-out system. Co-alignment of each parameter is vital to guarantee that the “local opt-out” can be seamlessly switched in and out, i.e. without artefacts at “downstream” decoders.
- In addition, the “reference” input has been shown to allow automatic system data path delay equalisation when used in conjunction with the information bus technology.
- In the preceding examples, attention has been focussed on the situation in which it is desired to replace one programme in a multi-programme transport stream. This is not the only use, however, of a reference transport stream input according to the present invention. There are situations, for example, in which it will be useful to use a single transport stream reference input to control a compression unit, either an encoder or a transcoder. In a more radical departure, it will be useful in certain cases to employ a reference transport stream input which is not taken from a “real” multi-programme transport stream, but is artificially generated, purely as a reference. An example will make this clearer.
- It is a common requirement to multiplex a number of single programme transport streams with dynamic allocations of bit-streams according to the content or priority of the respective single programme transport streams. So-called statistical multiplexers are available which have elaborate control links with the single programme transport stream encoders to enable the required dynamic allocation of bit-rates. In certain circumstances, a programme encoder will be remote from the multiplexer with no control loop being feasible. The single programme transport stream may, for example, exist in encoded form on a file server. In such a case, it will be preferable to pass the encoded transport stream through a transcoder rather than to decode the transport stream to video in one unit and then to pass the video signal to a coder unit which is capable of receiving a control signal from the multiplexer. There will be other situations where the requirement to receive a specific format of control signal from a statistical multiplexer will represent an undesirable constraint.
- Turning now to
FIG. 8 , there is shown an arrangement in which a series oftranscoders 801 to 810, each receives a single programme transport stream from afile server 820. The single programme transport streams from the transcoders are multiplexed at 830 to form a multi-programme transport stream. - A reference transport stream generator 840 generates what might be termed a template for the multi-programme transport stream output of the
multiplexer 830. Within this reference multi-programme transport stream, reference packets will be allocated to the specific programmes and the number of packets allocated per unit time to a specific programme will effectively set the instantaneous bit-rate output for the transcoder for that programme. Since the transcoders which supply themultiplexer 830 are all constrained to provide packets in alignment with the reference transport stream, it is ensured that the overall desired bit-rate for the multi-programme transport stream output (whether fixed or variable) is always complied with. Moreover, since the nature of this control does not rely on feedback loops from the multiplexer to a coder, there is no requirement to allow a safety margin in the bit-rate allocation to account for control delays and tolerances. This will ensure optimal use of the available output bit-rate. The use of a transport stream reference has a further advantage that a well-documented and easily reproducible control input is employed, rather than a proprietary control loop. - Each transcoder will typically comprise a decoder and an encoder linked using information bus technology so as to avoid cascade loss. The encoder stage will then employ the reference transport stream input and the information bus signal in a manner analogous to that previously described so as to provide a single programme transport stream output which has packets aligned with the nominated packet of the reference transport stream input. Moreover, the individual packets of the single programme transport stream will take parameters (such as the peR and timestamps) from the nominated packets of the reference transport stream input.
- The reference transport stream generator 840 may receive information concerning the SPTS's from the file servers or from the transcoders. It will typically also receive external control signals.
- One particular example of use of the arrangement of
FIG. 8 where control of the reference transport system generator 840 is especially straightforward is for Near Video on Demand (NVOD). Here the various single programme transport streams are time-shifted version of each other. - It will be understood that this invention has been devised by way of examples only and a wide variety of further modifications are possible within objects from the scope of the invention.
Claims (32)
1. A method of controlling a compression unit which outputs a compressed bitstream in packets, the method comprising.
supplying to a reference input of the compression unit, a transport stream input with a sequence of transport packets;
supplying to a second input of the compression unit an input to be compression coded; and
nominating a set of the transport packets as reference packets and arranging for the compression unit to compression code the input and output the compression coded bit-stream in packets that are in alignment with the reference packets.
2. A method according to claim 1 , wherein the transport stream comprises a multiprogramme transport stream and wherein the nominated set of transport packets comprises those packets associated with a selected programme.
3. A method according to claim 2 , wherein the nominated set of transport packets comprises sub-sets of packets, those sub-sets being associated with respective elementary streams of the selected programme.
4. A method according to claim 1 , wherein each said compression unit is arranged to output packets having at least one parameter determined by the reference packet with which it is in alignment.
5. A method according to claim 4 , wherein said parameter is a clock reference.
6. A method according to claim 4 , wherein said parameter is the location of a frame start.
7. A method according to claim 4 , wherein said parameter is a time stamp.
8. A method according to claim 4 , wherein said parameter is a delay value.
9. A method of replacing a programme within a multi-programme transport stream by the output of a programme compression unit, the method comprising:
supplying to the compression unit the multi-programme transport stream and a programme input;
nominating as reference packets those packets which are associated with the programme to be replaced;
arranging for the compression unit to compression code the programme input and output the encoded programme stream in packets in alignment with the reference packets; and
re-multiplexing the output of a the programme compression unit with the remaining packets of the multi-programme transport stream.
10. A method according to claim 9 , wherein the programme compression unit comprises a compression encoder receiving an uncompressed programme input.
11. A method according to claim 9 , wherein the programme compression unit comprises a compression transcoder receiving a compressed programme stream input.
12. A method according to claim 9 , wherein the compression unit is arranged to output packets having at least one parameter determined by the reference packet with which it is in alignment.
13. A method according to claim 12 , wherein said parameter is a clock reference.
14. A method according to claim 12 , wherein said parameter is the location of a frame start.
15. A method according to claim 12 , wherein said parameter is a time stamp.
16. A method according to claim 12 , wherein said parameter is a delay value.
17. Apparatus for replacing a programme within a multi-programme transport stream by the output of a programme compression unit, the apparatus comprising:
a compression unit having a reference input and a programme input;
means for supplying the multi-programme transport stream to said reference input and a programme input to said programme input, and nominating as reference packets those packets which are associated with the programme to be replaced;
the compression unit being arranged to compression code the programme input and output the encoded programme stream in packets in alignment with the reference packets; and
a re-multiplexer for re-multiplexing the output of the programme compression unit with the multi-programme transport stream.
18. Apparatus according to claim 17 , wherein the programme compression unit comprises a compression encoder receiving an uncompressed programme input.
19. Apparatus according to claim 17 , wherein the programme compression unit comprises a compression transcoder receiving a compressed programme stream input.
20. Apparatus according to claim 17 , wherein the compression unit is arranged to output packets having at least one parameter determined by the reference packet with which it is in alignment.
21. Apparatus according to claim 20 , wherein said parameter is a clock reference.
22. Apparatus according to claim 20 , wherein said parameter is the location of a frame start.
23. Apparatus according to claim 20 , wherein said parameter is a time stamp.
24. Apparatus according to claim 20 , wherein said parameter is a delay value.
25. A method of controlling a plurality of compression units which each output a compressed bit-stream, the method comprising:
supplying to a reference input of each of the compression units, a transport stream input with a sequence of transport packets;
supplying to a second input of each compression unit an input to be compression coded; and
nominating a different set of the transport packets as reference packets for each of the respective compression units and arranging for each compression unit to compression code the input for that compression unit and output the encoded programme stream in packets in alignment with the reference packets nominated for that compression unit.
26. A method according to claim 25 , wherein some or all of the compression units comprise a compression encoder receiving an uncompressed input.
27. A method according to claim 25 , wherein some or all of the compression units comprise a compression transcoder receiving a compressed input stream.
28. A method according to claim 25 , wherein the relative occurrences of the different sets of packets in the transport stream input are varied to control the relative bit rates of the respective compression unit outputs.
29. A method according to claim 28 , wherein the activity of each compression unit is monitored to inform said control of relative bit rates.
30. A method according to claim 25 , wherein the outputs of the respective compression units are combined to form a multi-programme transport stream in which the overall bit rate and the instantaneous allocation of that bit rate amongst the programme transport streams is defined by said transport stream reference.
31. A method according to claim 30 , wherein the outputs of the respective compression units are combined by OR'ing.
32-34. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/244,834 US20060034375A1 (en) | 1998-10-09 | 2005-10-06 | Data compression unit control for alignment of output signal |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9822087.4A GB9822087D0 (en) | 1998-10-09 | 1998-10-09 | Improvements in data compression |
GB9822087.4 | 1998-10-09 | ||
US09/806,969 US7023925B1 (en) | 1998-10-09 | 1999-10-11 | Data compression unit control for alignment of output signal |
PCT/GB1999/003361 WO2000022830A1 (en) | 1998-10-09 | 1999-10-11 | Data compression unit control for alignment of output signal |
US11/244,834 US20060034375A1 (en) | 1998-10-09 | 2005-10-06 | Data compression unit control for alignment of output signal |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB1999/003361 Continuation WO2000022830A1 (en) | 1998-10-09 | 1999-10-11 | Data compression unit control for alignment of output signal |
US09/806,969 Continuation US7023925B1 (en) | 1998-10-09 | 1999-10-11 | Data compression unit control for alignment of output signal |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060034375A1 true US20060034375A1 (en) | 2006-02-16 |
Family
ID=10840311
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/806,969 Expired - Fee Related US7023925B1 (en) | 1998-10-09 | 1999-10-11 | Data compression unit control for alignment of output signal |
US11/244,834 Abandoned US20060034375A1 (en) | 1998-10-09 | 2005-10-06 | Data compression unit control for alignment of output signal |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/806,969 Expired - Fee Related US7023925B1 (en) | 1998-10-09 | 1999-10-11 | Data compression unit control for alignment of output signal |
Country Status (7)
Country | Link |
---|---|
US (2) | US7023925B1 (en) |
EP (1) | EP1119974B1 (en) |
AT (1) | ATE241248T1 (en) |
AU (1) | AU766738B2 (en) |
DE (1) | DE69908164T2 (en) |
GB (1) | GB9822087D0 (en) |
WO (1) | WO2000022830A1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060222320A1 (en) * | 2005-03-31 | 2006-10-05 | Bushell John S | Use of multiple related timelines |
US20090096922A1 (en) * | 2003-08-14 | 2009-04-16 | Zenith Electronics Corporation | Pcr jitter reduction in a vsb and/or evsb multiplexer system |
US20110119064A1 (en) * | 2009-11-18 | 2011-05-19 | General Instrument Corporation | Audio data bit rate detector |
CN102075794A (en) * | 2009-11-03 | 2011-05-25 | 特克特朗尼克国际销售有限责任公司 | Method and apparatus for measuring delay within a compressed digital stream |
US20110255556A1 (en) * | 2008-12-19 | 2011-10-20 | Frederic Landais | Method for transport stream synchronizing in a multiplexer comprising an external corpocessor |
US20130202027A1 (en) * | 2010-08-23 | 2013-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Program clock reference insertion |
WO2016094667A1 (en) * | 2014-12-10 | 2016-06-16 | Intelsat Corporation | Method of seamless protection switching of packets at the satellite, from two matching streams of packets from two separate uplink sites |
CN112400204A (en) * | 2018-07-03 | 2021-02-23 | 高通股份有限公司 | Synchronizing enhanced audio transmission with backward compatible audio transmission |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088725B1 (en) * | 1999-06-30 | 2006-08-08 | Sony Corporation | Method and apparatus for transcoding, and medium |
CN1314269C (en) * | 2002-04-02 | 2007-05-02 | 中兴通讯股份有限公司 | Method and device for regulating program reference clock of motion image expert group 2 |
JP3925311B2 (en) * | 2002-06-03 | 2007-06-06 | ソニー株式会社 | Data distribution system |
CN100551038C (en) * | 2004-04-15 | 2009-10-14 | 松下电器产业株式会社 | Content generation device and method |
GB2438004B (en) * | 2006-05-08 | 2011-08-24 | Snell & Wilcox Ltd | Creation and compression of video data |
Citations (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5086488A (en) * | 1989-08-19 | 1992-02-04 | Mitsubishi Denki Kabushiki Kaisha | Transform coding apparatus |
US5142380A (en) * | 1989-10-23 | 1992-08-25 | Ricoh Company, Ltd. | Image data processing apparatus |
US5249053A (en) * | 1991-02-05 | 1993-09-28 | Dycam Inc. | Filmless digital camera with selective image compression |
US5438625A (en) * | 1991-04-09 | 1995-08-01 | Jbl, Incorporated | Arrangement to correct the linear and nonlinear transfer behavior or electro-acoustical transducers |
US5512956A (en) * | 1994-02-04 | 1996-04-30 | At&T Corp. | Adaptive spatial-temporal postprocessing for low bit-rate coded image sequences |
US5629779A (en) * | 1994-01-12 | 1997-05-13 | Samsung Electronics Co., Ltd. | Image coding method and apparatus therefor |
US5642115A (en) * | 1993-12-08 | 1997-06-24 | Industrial Technology Research Institute | Variable length coding system |
US5671298A (en) * | 1994-08-30 | 1997-09-23 | Texas Instruments Incorporated | Image scaling using cubic filters |
US5748245A (en) * | 1993-03-29 | 1998-05-05 | Canon Kabushiki Kaisha | Encoding apparatus for encoding input information data while controlling a code quantity of encoded information data |
US5802218A (en) * | 1994-11-04 | 1998-09-01 | Motorola, Inc. | Method, post-processing filter, and video compression system for suppressing mosquito and blocking atrifacts |
US5812197A (en) * | 1995-05-08 | 1998-09-22 | Thomson Consumer Electronics, Inc. | System using data correlation for predictive encoding of video image data subject to luminance gradients and motion |
US5831688A (en) * | 1994-10-31 | 1998-11-03 | Mitsubishi Denki Kabushiki Kaisha | Image coded data re-encoding apparatus |
US5835493A (en) * | 1996-01-02 | 1998-11-10 | Divicom, Inc. | MPEG transport stream remultiplexer |
US5838664A (en) * | 1997-07-17 | 1998-11-17 | Videoserver, Inc. | Video teleconferencing system with digital transcoding |
US5859660A (en) * | 1996-02-29 | 1999-01-12 | Perkins; Michael G. | Non-seamless splicing of audio-video transport streams |
US5917830A (en) * | 1996-10-18 | 1999-06-29 | General Instrument Corporation | Splicing compressed packetized digital video streams |
US5930398A (en) * | 1991-04-18 | 1999-07-27 | Ampex Corporation | Method and apparatus for determining a quantizing factor for multi-generation data compression/decompression processes |
US5991456A (en) * | 1996-05-29 | 1999-11-23 | Science And Technology Corporation | Method of improving a digital image |
US6005952A (en) * | 1995-04-05 | 1999-12-21 | Klippel; Wolfgang | Active attenuation of nonlinear sound |
US6101195A (en) * | 1997-05-28 | 2000-08-08 | Sarnoff Corporation | Timing correction method and apparatus |
US6137834A (en) * | 1996-05-29 | 2000-10-24 | Sarnoff Corporation | Method and apparatus for splicing compressed information streams |
US6151362A (en) * | 1998-10-30 | 2000-11-21 | Motorola, Inc. | Joint rate control for stereoscopic video coding |
US6157674A (en) * | 1996-03-21 | 2000-12-05 | Sony Corporation | Audio and video data transmitting apparatus, system, and method thereof |
US6163573A (en) * | 1996-12-12 | 2000-12-19 | Sony Corporation | Equipment and method for compressing picture data |
US6167084A (en) * | 1998-08-27 | 2000-12-26 | Motorola, Inc. | Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals |
US6208759B1 (en) * | 1995-08-31 | 2001-03-27 | British Broadcasting Corporation | Switching between bit-rate reduced signals |
US6208691B1 (en) * | 1997-03-28 | 2001-03-27 | Philips Electronics North America Corp. | Method for seamless splicing in a video encoder |
US6269120B1 (en) * | 1998-03-23 | 2001-07-31 | International Business Machines Corporation | Method of precise buffer management for MPEG video splicing |
US6278735B1 (en) * | 1998-03-19 | 2001-08-21 | International Business Machines Corporation | Real-time single pass variable bit rate control strategy and encoder |
US6285716B1 (en) * | 1994-06-17 | 2001-09-04 | Snell & Wilcox Limited | Video compression |
US6351471B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Brandwidth optimization of video program bearing transport streams |
US6353613B1 (en) * | 1996-07-02 | 2002-03-05 | Sony Corporation | Information transmitter device and transmitting method |
US20020064177A1 (en) * | 1998-07-31 | 2002-05-30 | Michael C. Bertram | Method and apparatus for forming and utilizing a slotted mpeg transport stream |
US6414998B1 (en) * | 1998-01-27 | 2002-07-02 | Sony Corporation | Method and apparatus for inserting an image material |
US6437827B1 (en) * | 1998-04-03 | 2002-08-20 | Tandberg Television Asa | Filtering video signals containing chrominance information |
US6459427B1 (en) * | 1998-04-01 | 2002-10-01 | Liberate Technologies | Apparatus and method for web-casting over digital broadcast TV network |
US6480537B1 (en) * | 1999-02-25 | 2002-11-12 | Telcordia Technologies, Inc. | Active techniques for video transmission and playback |
US6483543B1 (en) * | 1998-07-27 | 2002-11-19 | Cisco Technology, Inc. | System and method for transcoding multiple channels of compressed video streams using a self-contained data unit |
US6487721B1 (en) * | 1998-01-30 | 2002-11-26 | General Instrument Corporation | Apparatus and method for digital advertisement insertion in a bitstream |
US6529550B2 (en) * | 1997-10-03 | 2003-03-04 | Sony Corporation | Coded stream splicing device and method, and coded stream generating device and method |
US6539120B1 (en) * | 1997-03-12 | 2003-03-25 | Matsushita Electric Industrial Co., Ltd. | MPEG decoder providing multiple standard output signals |
US6570922B1 (en) * | 1998-11-24 | 2003-05-27 | General Instrument Corporation | Rate control for an MPEG transcoder without a priori knowledge of picture type |
US6583821B1 (en) * | 1999-07-16 | 2003-06-24 | Thomson Licensing S.A. | Synchronizing apparatus for a compressed audio/video signal receiver |
US6611624B1 (en) * | 1998-03-13 | 2003-08-26 | Cisco Systems, Inc. | System and method for frame accurate splicing of compressed bitstreams |
US6674802B2 (en) * | 1996-07-15 | 2004-01-06 | Snell & Wilcox Limited | Video process where part of compressed version of video signal accompanies video signal itself |
US6970564B1 (en) * | 1998-07-13 | 2005-11-29 | Sony Corporation | Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device |
US6988238B1 (en) * | 2000-01-24 | 2006-01-17 | Ati Technologies, Inc. | Method and system for handling errors and a system for receiving packet stream data |
US7016337B1 (en) * | 1999-03-02 | 2006-03-21 | Cisco Technology, Inc. | System and method for multiple channel statistical re-multiplexing |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0589657B1 (en) * | 1992-09-21 | 1999-05-12 | Canon Kabushiki Kaisha | Network system and terminal apparatus |
GB2327548B (en) | 1997-07-18 | 2002-05-01 | British Broadcasting Corp | Switching compressed video bitstreams |
-
1998
- 1998-10-09 GB GBGB9822087.4A patent/GB9822087D0/en not_active Ceased
-
1999
- 1999-10-11 US US09/806,969 patent/US7023925B1/en not_active Expired - Fee Related
- 1999-10-11 AU AU61145/99A patent/AU766738B2/en not_active Ceased
- 1999-10-11 WO PCT/GB1999/003361 patent/WO2000022830A1/en active IP Right Grant
- 1999-10-11 AT AT99947778T patent/ATE241248T1/en not_active IP Right Cessation
- 1999-10-11 EP EP99947778A patent/EP1119974B1/en not_active Expired - Lifetime
- 1999-10-11 DE DE69908164T patent/DE69908164T2/en not_active Expired - Fee Related
-
2005
- 2005-10-06 US US11/244,834 patent/US20060034375A1/en not_active Abandoned
Patent Citations (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5086488A (en) * | 1989-08-19 | 1992-02-04 | Mitsubishi Denki Kabushiki Kaisha | Transform coding apparatus |
US5142380A (en) * | 1989-10-23 | 1992-08-25 | Ricoh Company, Ltd. | Image data processing apparatus |
US5249053A (en) * | 1991-02-05 | 1993-09-28 | Dycam Inc. | Filmless digital camera with selective image compression |
US5438625A (en) * | 1991-04-09 | 1995-08-01 | Jbl, Incorporated | Arrangement to correct the linear and nonlinear transfer behavior or electro-acoustical transducers |
US5930398A (en) * | 1991-04-18 | 1999-07-27 | Ampex Corporation | Method and apparatus for determining a quantizing factor for multi-generation data compression/decompression processes |
US5748245A (en) * | 1993-03-29 | 1998-05-05 | Canon Kabushiki Kaisha | Encoding apparatus for encoding input information data while controlling a code quantity of encoded information data |
US5642115A (en) * | 1993-12-08 | 1997-06-24 | Industrial Technology Research Institute | Variable length coding system |
US5629779A (en) * | 1994-01-12 | 1997-05-13 | Samsung Electronics Co., Ltd. | Image coding method and apparatus therefor |
US5512956A (en) * | 1994-02-04 | 1996-04-30 | At&T Corp. | Adaptive spatial-temporal postprocessing for low bit-rate coded image sequences |
US6285716B1 (en) * | 1994-06-17 | 2001-09-04 | Snell & Wilcox Limited | Video compression |
US20010031009A1 (en) * | 1994-06-17 | 2001-10-18 | Knee Michael James | Video compression |
US5671298A (en) * | 1994-08-30 | 1997-09-23 | Texas Instruments Incorporated | Image scaling using cubic filters |
US5831688A (en) * | 1994-10-31 | 1998-11-03 | Mitsubishi Denki Kabushiki Kaisha | Image coded data re-encoding apparatus |
US5802218A (en) * | 1994-11-04 | 1998-09-01 | Motorola, Inc. | Method, post-processing filter, and video compression system for suppressing mosquito and blocking atrifacts |
US6005952A (en) * | 1995-04-05 | 1999-12-21 | Klippel; Wolfgang | Active attenuation of nonlinear sound |
US5812197A (en) * | 1995-05-08 | 1998-09-22 | Thomson Consumer Electronics, Inc. | System using data correlation for predictive encoding of video image data subject to luminance gradients and motion |
US6208759B1 (en) * | 1995-08-31 | 2001-03-27 | British Broadcasting Corporation | Switching between bit-rate reduced signals |
US5835493A (en) * | 1996-01-02 | 1998-11-10 | Divicom, Inc. | MPEG transport stream remultiplexer |
US5859660A (en) * | 1996-02-29 | 1999-01-12 | Perkins; Michael G. | Non-seamless splicing of audio-video transport streams |
US6157674A (en) * | 1996-03-21 | 2000-12-05 | Sony Corporation | Audio and video data transmitting apparatus, system, and method thereof |
US5991456A (en) * | 1996-05-29 | 1999-11-23 | Science And Technology Corporation | Method of improving a digital image |
US6137834A (en) * | 1996-05-29 | 2000-10-24 | Sarnoff Corporation | Method and apparatus for splicing compressed information streams |
US6353613B1 (en) * | 1996-07-02 | 2002-03-05 | Sony Corporation | Information transmitter device and transmitting method |
US6674802B2 (en) * | 1996-07-15 | 2004-01-06 | Snell & Wilcox Limited | Video process where part of compressed version of video signal accompanies video signal itself |
US5917830A (en) * | 1996-10-18 | 1999-06-29 | General Instrument Corporation | Splicing compressed packetized digital video streams |
US6163573A (en) * | 1996-12-12 | 2000-12-19 | Sony Corporation | Equipment and method for compressing picture data |
US6539120B1 (en) * | 1997-03-12 | 2003-03-25 | Matsushita Electric Industrial Co., Ltd. | MPEG decoder providing multiple standard output signals |
US6208691B1 (en) * | 1997-03-28 | 2001-03-27 | Philips Electronics North America Corp. | Method for seamless splicing in a video encoder |
US6101195A (en) * | 1997-05-28 | 2000-08-08 | Sarnoff Corporation | Timing correction method and apparatus |
US5838664A (en) * | 1997-07-17 | 1998-11-17 | Videoserver, Inc. | Video teleconferencing system with digital transcoding |
US6529550B2 (en) * | 1997-10-03 | 2003-03-04 | Sony Corporation | Coded stream splicing device and method, and coded stream generating device and method |
US6351471B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Brandwidth optimization of video program bearing transport streams |
US6414998B1 (en) * | 1998-01-27 | 2002-07-02 | Sony Corporation | Method and apparatus for inserting an image material |
US6487721B1 (en) * | 1998-01-30 | 2002-11-26 | General Instrument Corporation | Apparatus and method for digital advertisement insertion in a bitstream |
US6611624B1 (en) * | 1998-03-13 | 2003-08-26 | Cisco Systems, Inc. | System and method for frame accurate splicing of compressed bitstreams |
US6278735B1 (en) * | 1998-03-19 | 2001-08-21 | International Business Machines Corporation | Real-time single pass variable bit rate control strategy and encoder |
US6269120B1 (en) * | 1998-03-23 | 2001-07-31 | International Business Machines Corporation | Method of precise buffer management for MPEG video splicing |
US6459427B1 (en) * | 1998-04-01 | 2002-10-01 | Liberate Technologies | Apparatus and method for web-casting over digital broadcast TV network |
US6437827B1 (en) * | 1998-04-03 | 2002-08-20 | Tandberg Television Asa | Filtering video signals containing chrominance information |
US6970564B1 (en) * | 1998-07-13 | 2005-11-29 | Sony Corporation | Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device |
US6483543B1 (en) * | 1998-07-27 | 2002-11-19 | Cisco Technology, Inc. | System and method for transcoding multiple channels of compressed video streams using a self-contained data unit |
US20020064177A1 (en) * | 1998-07-31 | 2002-05-30 | Michael C. Bertram | Method and apparatus for forming and utilizing a slotted mpeg transport stream |
US7035278B2 (en) * | 1998-07-31 | 2006-04-25 | Sedna Patent Services, Llc | Method and apparatus for forming and utilizing a slotted MPEG transport stream |
US6167084A (en) * | 1998-08-27 | 2000-12-26 | Motorola, Inc. | Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals |
US6151362A (en) * | 1998-10-30 | 2000-11-21 | Motorola, Inc. | Joint rate control for stereoscopic video coding |
US6570922B1 (en) * | 1998-11-24 | 2003-05-27 | General Instrument Corporation | Rate control for an MPEG transcoder without a priori knowledge of picture type |
US6480537B1 (en) * | 1999-02-25 | 2002-11-12 | Telcordia Technologies, Inc. | Active techniques for video transmission and playback |
US7016337B1 (en) * | 1999-03-02 | 2006-03-21 | Cisco Technology, Inc. | System and method for multiple channel statistical re-multiplexing |
US6583821B1 (en) * | 1999-07-16 | 2003-06-24 | Thomson Licensing S.A. | Synchronizing apparatus for a compressed audio/video signal receiver |
US6988238B1 (en) * | 2000-01-24 | 2006-01-17 | Ati Technologies, Inc. | Method and system for handling errors and a system for receiving packet stream data |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090096922A1 (en) * | 2003-08-14 | 2009-04-16 | Zenith Electronics Corporation | Pcr jitter reduction in a vsb and/or evsb multiplexer system |
US20100118934A1 (en) * | 2003-08-14 | 2010-05-13 | Kim Jin H | Pcr jitter reduction in a vsb and/or evsb multiplexer system |
US8184642B2 (en) | 2003-08-14 | 2012-05-22 | Zenith F. ectronics LLC | PCR jitter reduction in a VSB and/or EVSB multiplexer system |
US7970018B2 (en) * | 2003-08-14 | 2011-06-28 | Zenith Electronics Llc | PCR jitter reduction in a VSB and/or EVSB multiplexer system |
US8126312B2 (en) * | 2005-03-31 | 2012-02-28 | Apple Inc. | Use of multiple related timelines |
US20060222320A1 (en) * | 2005-03-31 | 2006-10-05 | Bushell John S | Use of multiple related timelines |
US20110255556A1 (en) * | 2008-12-19 | 2011-10-20 | Frederic Landais | Method for transport stream synchronizing in a multiplexer comprising an external corpocessor |
CN102075794A (en) * | 2009-11-03 | 2011-05-25 | 特克特朗尼克国际销售有限责任公司 | Method and apparatus for measuring delay within a compressed digital stream |
US20110119064A1 (en) * | 2009-11-18 | 2011-05-19 | General Instrument Corporation | Audio data bit rate detector |
US8510107B2 (en) * | 2009-11-18 | 2013-08-13 | General Instrument Corporation | Audio data bit rate detector |
US20130202027A1 (en) * | 2010-08-23 | 2013-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Program clock reference insertion |
US9374580B2 (en) * | 2010-08-23 | 2016-06-21 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for insertion of a program clock reference during packetization of an encoded data stream |
US20160269770A1 (en) * | 2010-08-23 | 2016-09-15 | Telefonaktiebolaget Lm Ericsson (Publ) | System And Method For Insertion Of A Program Clock Reference During Packetization Of An Encoded Data Stream |
US10080050B2 (en) * | 2010-08-23 | 2018-09-18 | Telefonakliebolaget LM Ericsson (publ) | System and method for insertion of a program clock reference during packetization of an encoded data stream |
WO2016094667A1 (en) * | 2014-12-10 | 2016-06-16 | Intelsat Corporation | Method of seamless protection switching of packets at the satellite, from two matching streams of packets from two separate uplink sites |
US10389433B2 (en) | 2014-12-10 | 2019-08-20 | Intelsat Corporation | Method of seamless protection switching of packets at the satellite, from two matching steams of packets from two separate uplink sites |
CN112400204A (en) * | 2018-07-03 | 2021-02-23 | 高通股份有限公司 | Synchronizing enhanced audio transmission with backward compatible audio transmission |
Also Published As
Publication number | Publication date |
---|---|
WO2000022830A1 (en) | 2000-04-20 |
EP1119974A1 (en) | 2001-08-01 |
EP1119974B1 (en) | 2003-05-21 |
AU766738B2 (en) | 2003-10-23 |
US7023925B1 (en) | 2006-04-04 |
AU6114599A (en) | 2000-05-01 |
GB9822087D0 (en) | 1998-12-02 |
DE69908164T2 (en) | 2004-03-25 |
DE69908164D1 (en) | 2003-06-26 |
ATE241248T1 (en) | 2003-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060034375A1 (en) | Data compression unit control for alignment of output signal | |
US6993081B1 (en) | Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream | |
EP1397918B1 (en) | Splicing of digital video transport streams | |
KR100574186B1 (en) | Encoded stream splicing device and method, and an encoded stream generating device and method | |
US6101195A (en) | Timing correction method and apparatus | |
AU754879B2 (en) | Processing coded video | |
US5691986A (en) | Methods and apparatus for the editing and insertion of data into an encoded bitstream | |
EP0893027B1 (en) | Compressed-video distribution system having a statistical multiplexer with transcoders | |
EP1323312B1 (en) | Regeneration of program clock reference data for mpeg transport streams | |
EP2271103A2 (en) | Video Signal Compression | |
JPH11511605A (en) | Switching method between signals with reduced bit rate | |
CA2303149C (en) | Seamless splicing of compressed video programs | |
Weiss | Switching facilities in mpeg-2: Necessary but not sufficient | |
US10757473B2 (en) | Digital media splicing system and method | |
JPH11112947A (en) | Device and method for data multiplexing, device and method for data processing, and transmission medium | |
Reid | An MPEG-2 digital decoder design: A practical approach with emphasis on elementary stream data flows | |
Chen | Transport Packet Scheduling and Multiplexing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SNELL & WILCOX LIMITED, UNITED KINGDOM Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WARD, GRAHAM;REEL/FRAME:022656/0467 Effective date: 20010328 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |