1.一种固定场景的像素级精度视频图像去抖动方法,其特征在于基于特征区间的灰度互相关值衡量图像特征块互相关程度,以此判定视频抖动程度,并将视频每一帧在两个方向的抖动程度进行量化,并单独保存后以此为凭据,再进行后期的视频去抖动处理,具体实现步骤如下:步骤(1)将原始视频保存为一个三维矩阵F;
将视频信息存储为连续帧模式,即将一段待处理视频信息存储为单通道灰度图像模式,此时这段视频能够存储在一个三维空间矩阵之中;其中两维是视频分辨率,分别用于记录视频中每一帧图像的像素长和宽,第三维是时间纬度,用来记录整段视频帧的数量,即视频的时间长度;将视频中每一帧的像素长、宽与视频总帧数分别记为M、N、Iter;矩阵F的尺寸为M×N×Iter;
步骤(2)选取标准参考帧作为去抖动校准基础帧,然后余下每一帧均以此基础帧为参考,获得对应的抖动位移量;
步骤(3)选定参考帧模式之后,对余下每一帧图像进行分割;将场景分割成若干特征块,特征块的个数和大小根据需要自行设定,也可使用默认大小,特征块默认长宽相同,特征块大小设置为(l,w),特征块数量为(a,b);
步骤(4)对参考帧进行图像分割;将参考帧分割成a×b个特征块进行编号,各个特征块之间严格相连接,紧密排布、无重叠、也无空隙,精度为像素级;
步骤(5)对视频所有帧进行逐帧对比处理;
选取当前帧进行图像分割,分割成a×b个特征块并进行编号,当前帧特征块分割方式与参考帧特征块的分布方式严格一致;并且对当前帧与参考帧编号相同的特征块进行一一对应处理,求取当前帧中每个特征块相对于参考帧中对应特征块的抖动位移量;
步骤(6)逐帧处理,得到第h帧每个特征块对应的平移量,并保存在矩阵M1、M2第h层中,最终得到完整的矩阵M1、M2;
步骤(7)选择矩阵M1第h层中a×b个特征块位移横坐标中的众数n1h作为该帧相对于参考帧的抖动位移量横坐标,并且将该众数n1h保存在一维向量N1的第h位;选择矩阵M2第h层中a×b个特征块位移纵坐标中的众数n2h作为该帧相对于参考帧的抖动位移量纵坐标,并且将该众数n2h保存在一维向量N2的第h位;
步骤(8)对视频做去抖动处理;将向量N1、N2第h位数据作为原始视频第h帧图像相对于参考图像抖动位移量的横坐标与纵坐标,对原始视频第h帧进行整体像素平移处理,并用平移处理后的图像替换原视频对应帧图像,所有帧图像全部替换完毕,并将处理后的视频进行保存。
2.根据权利要求1所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(5)中的抖动位移量计算如下:对当前帧当前特征块及其周围临近的(2T+1)×(2T+1)个特征块均进行特征块匹配运算,计算出(2T+1)×(2T+1)个特征块对应的灰度互相关值分别是多少;然后将其中灰度互相关值中最大值对应的特征块相对于初始特征块之间的平移量(t1,t2)记录下来,作为当前特征块的抖动位移量;将当前帧a×b个特征块对应的a×b个特征块平移量保存在两个a×b×Iter大小的矩阵M1、M2第h层中,其中M1矩阵第h层中记录每个特征块的平移量横坐标,M2矩阵第h层中记录每个特征块的平移量纵坐标。
3.根据权利要求1或2所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(2)所述的选取标准参考模式如下:模式一:选取某一特定帧作为参考帧,默认选择第一帧,以参考帧为基础,计算得出当前待处理帧相对于参考帧的抖动位移量;
模式二:选取当前待处理帧的前一帧作为参考帧,第一帧的参考帧选择其本身,以此类推,得出当前帧相对于前一帧的抖动位移量。
4.根据权利要求3所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(3)具体实现如下:
从当前帧第(T+1,T+1)像素坐标位置开始,特征块大小设置为(l,w),其中l与w均为奇数;特征块数量为(a,b),其中a为M/l向0方向取商,b为N/w向0方向取商,并且默认l=w;同时要求分割完成后,M/l取余为非0数,N/w取余为非0数。
5.根据权利要求4所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(4)具体实现如下:
将参考帧分割成a×b个特征块,编号分别为(1,1)、(1,2)、…、(a,b),分割之后,满足a×l
6.根据权利要求5所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(5)具体实现如下:
选取当前帧进行图像分割,分割成a×b个特征块,编号分别为(1,1)、(1,2)、…、(a,b),当前帧特征块分割方式与参考帧特征块的分布方式严格一致;并且对当前帧与参考帧对应特征块(1,1)、(1,2)、…、(a,b)进行一一对应处理,求取当前帧中每个特征块相对于参考帧中编码相同的对应特征块的抖动位移量(t1ij,t2ij),具体方法如下:
5-1.确定当前帧与参考帧中编号相同的特征块之间灰度互相关值;计算公式如下:
其中:mi表示参考帧中某一特征块的每一个像素点的灰度值;ni表示当前帧中与参考帧编号相同的对应特征块每一个像素点的灰度值; 表示参考帧当前特征块所有像素点平均灰度值大小; 表示当前帧中与参考帧编号相同的对应特征块的所有像素点平均灰度值大小;然后对该数值做归一化处理,得到一个介于0与1之间的数值;这样,当前帧与参考帧对应的两个特征块之间图形越相近,互相关值NGC就会越接近于1,如果两个特征块完全相同,则这两个特征块之间的灰度互相关值为1;
5-2.对当前帧当前特征块及其周围临近的(2T+1)×(2T+1)个特征块均进行特征块匹配运算,计算出(2T+1)×(2T+1)个特征块对应的灰度互相关值NGC(t1,t2)分别是多少,然后将第(i,j)个特征块中灰度互相关值的最大值NGCmax(i,j)对应的特征块相对于初始特征块之间的平移量(t1ij,t2ij)记录下来,作为第(i,j)个特征块的抖动位移量,其中,-T≤t1≤T,-T≤t2≤T,1≤i≤a,1≤j≤b;将当前帧中a×b个最大灰度互相关值NGCmax(i,j)对应的特征块相应平移量(t1ij,t2ij)分别保存在两个a×b×Iter大小的矩阵M1、M2第h层中,其中M1矩阵第h层中记录每个特征块的平移量横坐标,M2矩阵第h层中记录每个特征块的平移量纵坐标,其中1≤h≤Iter。
7.根据权利要求6所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(6)具体实现如下:
通过计算第h帧与参考帧之间对应特征块的灰度互相关值,得到第h帧a×b个特征块对应的平移量(t1ij,t2ij),并保存在矩阵M1、M2第h层中,逐帧处理,最终得到完整的矩阵M1、M2,此时矩阵M1、M2记录了整个视频第h帧第(1,1)、(1,2)、…、(a,b)个特征块相对于参考帧第(1,1)、(1,2)、…、(a,b)个特征块的平移量横坐标和纵坐标。
8.根据权利要求7所述的一种固定场景的像素级精度视频图像去抖动方法,其特征在于步骤(7)具体实现如下:
选择矩阵M1第h层中a×b个特征块位移横坐标中的众数n1h作为第h帧相对于参考帧的抖动位移量横坐标,并且将该众数n1h保存在一维向量N1的第h位;选择矩阵M2第h层中a×b个特征块位移纵坐标中的众数n2h作为该帧相对于参考帧的抖动位移量纵坐标,并且将该众数n2h保存在一维向量N2的第h位;其中N1、N2向量大小均为Iter×1。