基于FPGA算法实现两路视频图像同步判别的研究分析

可编程逻辑

1363人已加入

描述

1、引言

由于两路视频信号的产生来源于相同景物的不同区域且有交叠部分,在任意拍摄时刻得到的两帧图像必然存在一定程度上的内容相关性,本算法将从图像重叠区域内容相关性入手,判别并调整两路视频的同步关系。同时,对于嵌入式系统的算法实现上,数据运算量的简化也是很重要的问题,直接影响到系统的实时性。

2、算法设计

如图1.a、b所示,An和Bn是两路视频图像,且基于内容同步,白色箭头指向的是当前时刻播放的图像帧。如果按照图1(a)的方式播放,两路视频是同步的;但是,由于播放器的独立性以及各种干扰的存在,如图1(b)的帧错位情况会出现。由此可见,需要解决的主要问题是:①判断当前播放是否同步;②若不同步,错位多少帧,如何快速有效地找到同步帧。

FPGA

图1(a) 图1(b)

A. 两帧图像同步判别

在任意时刻,两路边缘重叠的黑白图像信号(亮度信号为8位)的重叠区域图像对应两个矩阵。这两个矩阵的关系可是直接反应出两幅图像的同步关系。

1) 相关函数模型

FPGA

2) 抽样处理

利用上述方法判定两帧图像同步时,严格的统计相关算法的结果准确度是最高的,但是必须付出极其大的运算量。因为计算相关系数需要将重叠部分图像的每一点的亮度值纳入计算范围;同时,矩阵A和B相关系数的计算是二维运算。以175×288点大小图像计算(702×576隔行扫描的1/4重叠部分),cov(A,B)需要进行50400次8位2进制乘法运算和50400次8位2进制加法,DA、DB也各需要50400次8位2进制乘法运算和50400次8位2进制加法。显然,这样的运算两使得运用嵌入式系统是难以满足实时性要求的。

由于大部分情况下图像中的一点是与周围像素具有较强相关性的,所以没有必要在相关函数的运算过程中代入所有象素点的亮度值,而可以以适当的方式进行像素抽样。正是基于这种考虑, 如果我们仅用对原图像采取隔1 行、隔1列取一个像素的方法进行像素抽样, 形成1/4 大小的新图像, 再用新图进行判别,则计算量就将减少了3/ 4。

在判别过程中,我们继续采用像素抽样的方法。考虑到M×N的图像通常M≤N,所以考虑到采用隔6行、隔8列的方式抽样。如果每一行都从第1列开始选取如图2 (a)所示, 则未被选择的点与最近邻采样点的距离为5p (p为两个相邻像素的距离)。如果采用图2 (b)所示偶数行从第5列开始选择原点, 则未被选择的点距最近邻抽样点的最大距离为3p (图中虚线点的位置距最近邻选择点的距离为3p)。图像中像素越接近, 相似性越强; 换言之, 抽样点与未选点距离越小, 图像保留下来的特征就越多, 为此在匹配点数目不变时我们在偶数行向后移两个像素选择抽样点的选择方法如图2(b) 所示, 可以使抽样点最大限度保留图像的特征。

FPGA

3) FPGA算法设计

FPGA

FPGA

B. 错位帧数检测

FPGA

3、Matlab算法有效性仿真

1、 相关性模型有效性检验

FPGA

图4 两路同步视频

如图4所示,第二路视频图像由第一路视频图像经过零均值方差0.002的高斯噪声处理得到(这里的图像格式为180×288)。两路同步的视频图像在进行相关系数运算后得到的结果如表1所示。可以看出在同步的情况下,即使有较强的干扰存在,任意检测两帧图像的相关系数都是很接近于1的。

FPGA

如图5所示,第二路视频图像由第一路视频图像经过零均值方差0.002的高斯噪声处理并超前一帧得到。两路同步的视频图像在对应位置进行相关系数运算后得到的结果如表2所示。可以看到,在任何一组非同步帧的相关系数运算结果都远小于1。因此,相关系数用来判别两路视频是否同步。

FPGA

若以第一路视频图像的第四帧作为基准,与第二路视频图像作相关运算,得到的结果如表3所示。可以看到,第一路视频图像的第四帧与第二路视频图像的第三帧的相关系数最近接1,能够据此得出第一路视频的第四帧与第二路视频的第三帧的同步帧的结论。

FPGA

2、 抽样方案比较检验

分别用两种方式进行抽样:①对于180×288的图像横向、纵向均作32点均匀抽样,且起始点均为抽样行的起始点;②对于180×288的图像横向、纵向均作32点均匀抽样,起始点在抽样的奇数行为起始点,偶数行为第三点,进行蜂窝抽样。

由抽样①、②得到的数据分别进行互相关运算得到的互相关系数ρ1、ρ2,与未抽样时的相关系数ρ相减得到的ρ1-ρ,ρ2-ρ,可以反映两种抽样方式的有效性。如图6所示,对20幅图像作ρ1-ρ,ρ2-ρ,绘出曲线,曲线①为ρ1-ρ,曲线②为ρ2-ρ,可以看到曲线①偏离0的程度明显大于曲线②偏离0的程度,证明了抽样②在同样抽样点数的情况下优于普通采样①。经过对多组图像进行曲线绘制,得到了相似的结论。

FPGA

结论

本算法可以进行两路视频图像同步判别,并在一定范围找到两路图像错位帧数以调整视频播放速度。为了能够植入FPGA,本算法还提出了用非等间隔采样的方法来降低参与运算的数据量,从仿真的结果来看算法是正确的、有效的。

本文的创新点在于系统视频同步播放算法的开发与验证,并且针对嵌入式系统应用本算法采用了优化的抽样方法大幅度降低运算量。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分