Abstract:
A mechanism for splicing advertisements, local programming and the like into a digital video transport stream is provided. In order to achieve proper splicing, an appropriate number of frames is inserted between bitstream to properly close a GOP of the first bistream into which a second bitstream carrying the spliced content is inserted. Program clock references (PCRS) of the bitstreams are adjusted as necessary in order to force continuity between the bistreams. For inserting advertisements, the PCR of the program stream and ad stream can be tracked, and the PCR of the program stream can be used both before and after splicing. For local program insertion (which are typically substantially longer than advertisements), the PCR of the local program can be used, after adjustment thereof with an offset to maintain continuity at the splice point. The PTS an/or DTS of the inserted bistream can be modified to keep them continuous at the splice point for both video and audio streams. The spliced bitstream is transcoded to maintain a desired output bit rate, and to provide overflow/underflow protection of the video buffers.
Abstract translation:提供了一种用于将广告,本地编程等拼接成数字视频传输流的机制。 为了实现适当的拼接,在比特流之间插入适当数量的帧以恰当地关闭插入了拼接内容的第二比特流的第一双向流的GOP。 根据需要调整比特流的编程时钟参考(PCRS),以便强制双向传送器之间的连续性。 为了插入广告,可以跟踪节目流和广播流的PCR,并且可以在拼接之前和之后使用节目流的PCR。 对于本地程序插入(其通常比广告更长),可以使用本地程序的PCR进行调整之后使用偏移量来保持拼接点的连续性。 可以修改插入的双向流的PTS a /或DTS,以使它们在视频和音频流的拼接点处保持连续。 拼接的比特流被转码以保持期望的输出比特率,并提供视频缓冲器的溢出/下溢保护。
Abstract:
An efficient processing system, such as for transcoding video data. In an embodiment that is suitable for single or multiple processor embodiments, a processing mode is set for each input video frame, e.g., as a full transcode mode (740), which uses motion compensation, a requantization mode (755), which avoids motion compensation, or a bypass mode (750). The processing mode selection is based on a number or processing cycles that are available to process a frame, and an expected processing requirement of the frame. The bypass or requantization modes are selected to avoid a buffer overflow of the processor.
Abstract:
An efficient statistical remultiplexer for processing a number of channels that include video data. In one aspect, transcoding of the video data is delayed while statistical information is obtained from the data. Bit rate need parameters for the data are determined based on the statistical information, and the video data is transcoded (110, 112, 200, 300) based on the respective bit rate need parameters following the delay. In another aspect, a transcoding bit rate for video frames is updated a plurality of times at successive intervals to allow a closer monitoring of the bit rate. Minimum and maximum bounds for the transcoding bit rate, e.g., for buffer overflow and underflow protection, are also updated in each interval. In another aspect, the pre-transcoding quantization scales of the macroblocks in a frame are scaled to provide corresponding new quantization scales of the macroblocks in a frame are scaled to provide corresponding new quantization scales for transcoding based on a ratio of pre-transcoding amount of data in the frame and a target, post-transcoding amount of data for the frame. The quantization scales are adjusted for different poritons of the frame as transcoding progresses to ensure that a minimum amount of transcoding bandwidth is allocated to each macroblock.
Abstract:
A system for providing an accurate time reference for multiple input and output digital video signals of a transcoder (100) that is particularly suited for use with MPEG data. The multiple streams are synchronized with a single master system time clock (155) at the transcoder (100). Timing data from the master clock is compared to timing data from packets that are input to the transcoder to determine an offset (120, 130). In particular, timing data, such as a program clock reference (PCR) field, is recovered from packets (104) of different channels that are input to the transcoder (122, 132). For each channel, timing data is then provided for packets (106) that are output from the transcoder based on the offset and timing data of the master clock (155) at the respective output times. In particular, the adjusted timing data is determined as a sum of the offset and an associated hardware error, less a delay (PcrSysDla) associated with the transcoder, which includes a lookahead delay and a buffer delay. The associated hardware error represents an error of the master clock and/or a system time clock of an encoder that encoded the particular channel.
Abstract:
A statistical multiplexer for coding and multiplexing multiple channels of digital television data, or multiple panels of HDTV digital television data. A bit rate need parameter is determined (102, 104, 106) for each encoder (112, 114, 116) in a stat mux group, and an encoding bit rate is allocated to each channel based on its need parameter. A transmission bit rate is allocated to each channel as a time-lagged version of its need parameter to minimize a rate mismatch between the output and the input of a decoder buffer (184). A packet processor (250, 350) checks for impending decoder buffer overflow or underflow events to set minimum and maximum limits on the transmission bit rate. Moreover, these limits are set based on whether a new transmission bit rate can be implemented before the decoding time stamp (DTS) of the current or next frame.
Abstract:
PROBLEM TO BE SOLVED: To provide a multiplex channel image compression system that compresses image data by using plural coders. SOLUTION: A coding level command is given to respective coders for designating quality level. Coded image data generated by the coders, in response to the coding level command, are multiplexed for transmission by a multiplexer 26 and become decoded signals. The coding level command is used to adjust the quality level so as to maintain stored data within the range of a processing capability of a communication channel 48, in response to the storage amount of data consisting of the decoded signal. The coding level command can designates an identical general-purpose coding level to all the coders, but each coder derives a local coding level from the general-purpose coding level and is able to provide different coding qualities. Decoders 30-46 are installed to decode the image from compressed image data.
Abstract:
A statistical multiplexer for coding and multiplexing multiple channels of digital television data, or multiple panels of HDTV digital television data. A bit rate need parameter is determined (102, 104, 106) for each encoder (112, 114, 116) in a stat mux group, and an encoding bit rate is allocated to each channel based on its need parameter. A transmission bit rate is allocated to each channel as a time-lagged version of its need parameter to minimize a rate mismatch between the output and the input of a decoder buffer (184). A packet processor (250, 350) checks for impending decoder buffer overflow or underflow events to set minimum and maximum limits on the transmission bit rate. Moreover, these limits are set based on whether a new transmission bit rate can be implemented before the decoding time stamp (DTS) of the current or next frame.
Abstract:
A system for providing an accurate time reference for multiple input and output digital video signals of a transcoder (100) that is particularly suited for use with MPEG data. The multiple streams are synchronized with a single master system time clock (155) at the transcoder (100). Timing data from the master clock is compared to timing data from packets that are input to the transcoder to determine an offset (120, 130). In particular, timing data, such as a program clock reference (PCR) field, is recovered from packets (104) of different channels that are input to the transcoder (122, 132). For each channel, timing data is then provided for packets (106) that are output from the transcoder based on the offset and timing data of the master clock (155) at the respective output times. In particular, the adjusted timing data is determined as a sum of the offset and an associated hardware error, less a delay (PcrSysDla) associated with the transcoder, which includes a lookahead delay and a buffer delay. The associated hardware error represents an error of the master clock and/or a system time clock of an encoder that encoded the particular channel.
Abstract:
A statistical multiplexer for coding and multiplexing multiple channels of digital television data, or multiple panels of HDTV digital television data. A bit rate need parameter is determined for each encoder in a stat mux group, and an encoding bit rate is allocated to each channel based on its need parameter. A transmission bit rate is allocated to each channel as a time-lagged version of its need parameter to minimize a rate mismatch between the output and the input of a decoder buffer. A packet processor checks for impending decoder buffer overflow or underflow events to set minimum and maximum limits on the transmission bit rate. Moreover, these limits are set based on whether a new transmission bit rate can be implemented before the decoding time stamp (DTS) of the current or next frame.
Abstract:
A system for providing an accurate time reference for multiple input and output digital video signals of a transcoder that is particularly suited for use with MPEG data. The multiple streams are synchronized with a single master system time clock at the transcoder. Timing data from the master clock is compared to timing data from packets that are input to the transcoder to determine an offset. In particular, timing data, such as a program clock reference (PCR) field, is recovered from packets of different channels that are input to the transcoder. For each channel, timing data is then provided for packets that are output from the transcoder based on the offset and timing data of the master clock at the respective output times. In particular, the adjusted timing data is determined as a sum of the offset and an associated hardware error, less a delay (PcrSysDly) associated with the transcoder, which includes a lookahead delay and a buffer delay. The associated hardware error represents an error of the master clock and/or a system time clock of an encoder that encoded the particular channel.