摘要:
A method for compensating for reduced picture quality when combining a multi-chip encoding chipset into a single integrated semiconductor IC. The method includes additional functions provided on the single IC to compensate for the negative effects on picture quality produced as a result of rounding 8 bit luminance pixel data to 5 bits, where the luminance data values are supplied as input to the search function. The additional functions are collectively referred to as motion biasing and are applied to influence the choice of a "best match" motion type, which is well known in the art. The biasing is performed by the addition of a weight factor to a total difference result that is calculated by the search function. The biasing is applied only for the purpose of influencing the choice of a reference frame that is not necessarily the frame which produces an optimal motion vector, but rather will result in using fewer bits to encode macroblocks.
摘要:
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 is provided for programmably vertically filtering pixel values of frames of a sequence of video frames. The technique includes separating luminance components and chrominance components of the pixel values within a vertical filter buffer, then vertically filtering luminance components of the pixel values using programmable luminance filter coefficients, and vertically filtering chrominance components of the pixel values using programmable chrominance filter coefficients. The filtered luminance component data and filtered chrominance component data is subsequently merged onto a single luminance/chrominance bus for further filtering and/or encoding. The luminance and chrominance filter coefficients are programmable and may be changed dynamically and repeatedly at picture boundaries. In one embodiment, the programmable vertical filter includes a four tap luminance component filter and a five tap chrominance component filter.
摘要:
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 method for encoding bitstream headers in a processor where templates for the bitstream header are stored in a processor buffer. The templates are addressable by programmable instructions, and the processor has a status register containing a bit for each header type. The status register is modifiable during the encoding process with a data pattern indicating the headers needed for encoding with the bitstream. In this way when a bit is set to 1 the predefined header type is generated and shipped to the bitstream. The header is generated by processing the header buffer template entries associated with the header type.
摘要:
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 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 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.