运动估计( Motion Estimation)
维基百科链接:http://en.wikipedia.org/wiki/Motion_estimation
运动估计的应用有很多,最初的应用的领域是视频的编码。
运动估计算法一般分为: 像素递归法pel-recursive algorithm (PRA)和块匹配法 block-matching algorithm (BMA)。块匹配法是把图像分成若干矩形块,事先假定块做平移运动, 按照不同的准则函数对块进行匹配;像素递归法则是对每一个像素的位移进行估计。相对像素递归法,块匹配法的精确度比较较低, 但它的位移跟踪能力强, 在实际中很容易实现, 得到了广泛地应用。像素递归法中因为每个像素都参与,所以精度很高,但由于像素间距较小,因而实际使用中位移跟踪能力略逊一筹。
块匹配算法的流程
图一 块匹配算法的流程
在一个块匹配算法中,每一帧都将分为许多宏块,每个宏块由亮度块(luminance block)和色度块(chrominance block)组成。通常为了编码效率,只是在亮度块上进行运动估计。当前帧的宏块将与参考帧中指定范围内的候选宏块一一匹配,这些候选块可以看成是原始宏块对应不同位移量之后的宏块,最佳的匹配快将查找出来并记录。
由于位移是在三维空间的,而图像只是三维空间的实物在二维平面的投影,所以运动估计是一个病态问题(an ill-posed problem)。
运动补偿(Motion compensation)
用当前帧图像的运动矢量来合成下一帧图像的变换就称为运动补偿(Motion compensation)。
运动补偿的例子:
The following is a simplistic illustrated explanation of how motion compensation works. Two successive frames were captured from the movie Elephants Dream. As can be seen from the images, the bottom (motion compensated) difference between two frames contains significantly less detail than the prior images, and thus compresses much better than the rest.
Type | Example Frame | Description |
Original | Full original frame, as shown on screen. | |
Difference | Differences between the original frame and the next frame. | |
Motion compensated difference | Differences between the original frame and the next frame, shifted right by 2 pixels. Shifting the frame compensates for the panning of the camera, thus there is greater overlap between the two frames. |