Patent ID: 8630341

Claim:
A method for decoding a video encoded as a bit stream in a video decoder, comprising the steps of: maintaining a set of inverse trained transforms generated from decoded prediction residuals of the video, and wherein the inverse trained transforms account for a reconstruction error and a number of nonzero transform coefficients, and wherein a method for training the inverse trained transforms comprises: determining optimal coefficients using horizontal transforms and vertical transforms; and updating the vertical transforms using the horizontal transforms and the optimal coefficients to produce new vertical transforms; updating the optimal coefficients using the horizontal transforms and the new vertical transforms to produce new optimal coefficients; and updating the horizontal transforms using the new optimal coefficients and the new vertical transforms; entropy decoding and inverse quantizing a current macroblock of the bit stream to produce decoded coefficients; selecting, for the current macroblock, a particular inverse trained transform of the set of inverse trained transforms according to a prediction mode signaled in the bit stream; applying the particular inverse trained transform to the decoded coefficients to reconstruct a current decoded macroblock prediction residual; and combining the current decoded macroblock prediction residual with previously decoded macroblocks to generate an output macroblock of a reconstructed video, wherein the steps are performed in a decoder.