摘要:
A technique is provided for adaptively encoding in hardware, software or a combination thereof a sequence of frames in real time, wherein one or more of the frames includes a random noise portion. The technique includes using statistics analysis to determine whether a current frame includes a random noise portion, and if so, to evaluate and dynamically encode each macroblock thereof based on activity level of the macroblock. Evaluating macroblock activity level includes determining whether its activity level exceeds a predefined threshold indicative of random noise. The macroblock is adaptively encoded by adjusting one or more coding parameters if the macroblock activity level is excessive and its target bitrate is low. For example, when the macroblock is within the random noise portion of the frame, the macroblock is biased towards being coded predictive and an adjusted quantization level is calculated to conserve bits used in encoding the macroblock, thereby moving encode bits from macroblocks within the random noise portion of the frame to macroblocks within the normal portion of the frame.
摘要:
Method, system and computer program product are provided for adaptively encoding in hardware, software or a combination thereof a series of still or partially still pictures using motion video encoding. A pre-encode statistics measurement unit is employed to derive statistics on each frame of the sequence of video frames to be encoded. The statistics are determinative of whether the frame comprises a still frame. If so, at least one controllable parameter to be used to encode the still frame is modified, and an encoding engine employs the at least one controllable parameter to encode the still frame so that pulsation artifacts are prevented between still frames of the series of still frames. Partial still picture encoding to prevent pulsation artifacts on a macroblock level is also addressed.
摘要:
A technique is provided for encoding macroblocks of a frame of a sequence of video frames initially employing luminance data only to analyze temporal redundancy of the macroblocks within the frame. Upon deciding to code at least one macroblock as a non-intra macroblock, the technique includes considering whether to switch the coding decision for the at least one macroblock from non-intra to intra by evaluating chrominance data of the at least one macroblock. The evaluating of the chrominance data can include determining whether chrominance difference data, obtained by comparing chrominance values of a current macroblock with a reference macroblock, is greater than a user set chrominance difference threshold, and if so then the technique includes switching the macroblock coding decision. As a further qualification, the switching might occur only if the chrominance difference data is also greater than the corresponding luminance difference data.
摘要:
A method to insert or splice new pictures into an existing video stream is provided where the video stream is compressed according to the MPEG-2 video compression standard. The method assures that the new pictures will fit into the encoded stream in the space allotted without running over or under their given bit allocation. The method comprises of steps by which a number of new pictures may be encoded to a precise bit target given the number of free bits in the buffer at the start and end of the splicing, while preventing buffer overruns and under runs.
摘要:
A method and system for encoding digital video picture data. In accordance with this method, the video picture data is partitioned into a group of blocks, at least some of those blocks are selected, one block at a time, and each of the selected blocks of data is encoded to form an encoded coefficient having an associated number of bits. The encoded coefficients are outputted, and an accumulated sum of the number of bits in the outputted encoded coefficients is kept. The outputting of the encoded coefficients is terminated at a defined time in order to prevent the accumulated sum from exceeding a given number.
摘要:
A technique is provided for programmably controlling output of compressed data from, for example, a video encoder. The technique can be implemented within the video encoder and includes buffering the compressed data in a write buffer, followed by transferring the compressed data from the write buffer to a read buffer. At least one programmable output mode is provided for selectively controlling output of the compressed data from the read buffer. When the read buffer is full, the compressed data is stored to the encoder's external memory to await transfer to the read buffer. The at least one programmable mode can include a slave mode, a gated master mode, a multi-cycle speed mode, and a paced master mode, which may be employed individually or in combination. A mechanism for inserting pad bytes of data into the compressed data is also provided.
摘要:
Plural encoders operating in parallel to achieve a desired data rate have their respective outputs combined by an autonomously operating arrangement for transfer of data to a direct memory access arrangement from respective encoders in order in response to a signal asserted upon completion of encoding and output of encoded data corresponding to a predetermined portion of input data. Buffering of encoder output can be either internal or external to the encoders. Zero bytes which may be inherently generated at the beginning and end of an encoder output stream may be suppressed to improve encoded signal quality and efficiency.
摘要:
A technique for encoding macroblocks of a frame is provided which includes switching a coding decision for a macroblock from a non-intra decision to a skip macroblock decision when the absolute prediction error for the macroblock is less than a prediction error threshold and the magnitude of the motion vector for the at least one macroblock is less than a motion vector threshold. In one embodiment, the prediction error threshold is multiple programmable prediction error thresholds, which are for comparison with the absolute luminance and chrominance summation components and the maximum luminance and chrominance difference values. The motion vector threshold may be a preset value when the macroblock is to be predictive coded, and may be the magnitude of the motion vector of the previous macroblock when the macroblock is to be bi-directionally encoded.
摘要:
Simultaneous vertical spatial filtering and chrominance conversion is achieved with reduced data buffering and simplified filtering circuits by using a single filter stage and hybrid filter coefficients. Data latency is reduced and performance requirements are reduced while avoiding critical signal propagation paths. The filter and buffers are fully compatible with any scan format having consecutively presented lines of image data, including both progressive and interlaced scan formats.
摘要:
A control strategy is provided for dynamically encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel. The control strategy is a single pass strategy which allows individual encode bit rates to be dynamically adjusted for each video data stream based on part in relative complexity of the multiple streams of video data, as well as fullness of compressed video data buffers and a channel buffer coupled between the encoders and the constant bit rate channel. The control strategy includes encoding the multiple streams of video frames in parallel, and dynamically adapting encoding of at least one stream of the video frames based on relative complexity of the video frames. The bit rate for each stream of video frames is only changed at GOP boundaries, or if a scene change occurs. The calculated bit rate is preferably further modified based upon buffer fullness.