Patent ID: 8351509
Filing Date: 2013-01-08
Classification: H04N

Abstract:
1. A method for compressing video data, comprising the steps of: selecting a current video frame of the video data, wherein the video frame is comprised of a plurality of pixels; dividing the current video frame into a plurality of blocks, wherein each block is comprised of M×N of the plurality of pixels; in a first iteration, approximating the blocks of the current frame based on motion vectors associated with corresponding blocks from the previous frame of the video data; in a second iteration, further refining the blocks of the current frame by determining optimal motion vectors for the blocks of the current frame based on the motion vectors (i) provided by the corresponding blocks from the previous frame, (ii) provided by the surrounding blocks in the current frame, and (iii) provided by successively smaller blocks from the current frame; and wherein the optimal motion vectors for the blocks of the current frame are optimized to balance distortion and rate, wherein the optimal motion vectors are represented by codewords generated from Huffman tables, wherein the optimal motion vector for a respective block of the current frame is optimized by ranking candidate motion vectors from neighboring blocks higher than other blocks and from neighboring blocks with a similar motion vector higher than other neighboring blocks, and wherein ranking of candidate motion vectors is determined by the formula C=D+(λ)R+(μ)V wherein C equals cost associated with each possible motion vector, D equals distortion, R equals rate, λ is a non-negative value that is modifiable based on desired tolerance values, V is an amount by which a velocity vector differs from the mean of the velocity vectors above, below, to the left, and to the right of the motion vector of the respective block, and μ is an arbitrary constant.