摘要:
A method and systems are provided for efficiently implementing content adaptive variable length coding on a modern processor. Some embodiments comprise encoding a non-zero coefficient in an array of coefficients in an iteration of an encoding loop. The code value of the encoded non-zero coefficient is determined, at least in part, by the magnitude of another non-zero coefficient in the array of coefficients. A run of zero coefficients preceding a non-zero coefficient in the array of coefficients is also encoded in the iteration of the encoding loop. The encoded non-zero coefficient is appended to an encoded video bitstream when encoded. The encoded run of zero coefficients is stored in a storage device and appended to the encoded video bitstream after all non-zero coefficients in the array of coefficients have been encoded.
摘要:
This invention is a method of video encoding. The number N macroblocks stored in a temporary buffer depends upon an estimated number of motion vectors. N macroblocks of current and prior frame data is transferred to the temporary buffer. The invention determines for each macroblock whether to be inter frame predicted or intra frame predicted. The inter and intra macroblocks are separately encoded based upon this determination and stored in an output buffer. Output macroblocks are output from the output buffer in raster scan order. This technique permits the process to loop over differing number of macroblocks in differing parts of the encoding process. Entropy encoding complexity from separating inter and intra macroblock encoding is avoided by separating a symbol generation phase from an encoding phase.
摘要:
This invention is a method of video encoding. The number N macroblocks stored in a temporary buffer depends upon an estimated number of motion vectors. N macroblocks of current and prior frame data is transferred to the temporary buffer. The invention determines for each macroblock whether to be inter frame predicted or intra frame predicted. The inter and intra macroblocks are separately encoded based upon this determination and stored in an output buffer. Output macroblocks are output from the output buffer in raster scan order. This technique permits the process to loop over differing number of macroblocks in differing parts of the encoding process. Entropy encoding complexity from separating inter and intra macroblock encoding is avoided by separating a symbol generation phase from an encoding phase.