发明内容
本发明的目的是针对现有技术存在的不足,提供一种基于FPGA的实时画中画产生方法及其装置,本发明具有实时的画面检测、提取,并将感兴趣画面在整体画面中实时显示的能力。
本发明的技术方案如下:
一种基于FPGA的实时画中画产生方法,其包括以下步骤:
步骤一:根据当前视频数据流的控制使能信号,提取当前帧的行场信息,缓存当前帧的数据;
步骤二:根据当前帧的行场信息,读取上一帧对应行场位置的数据,缓存上一帧的数据;
步骤三:通过对当前帧缓存数据和上一帧缓存数据的画面检测,获取感兴趣的区域,将感兴趣的区域写入内存;
步骤四:整帧数据接收完毕之后,将感兴趣的数据读出到缓存中,并进行处理;
步骤五:处理后的感兴趣数据与从内存读出来的整帧数据进行合并,形成画中画。
所述步骤一、步骤二以及步骤四中,画面缓存的原理是:在控制逻辑的控制下,按照当前帧的行场信息对RAM进行数据读写操作;数据在一行开始写入RAM之前,先把当前行场坐标的数据从RAM读取出来,作为下一行RAM的写入数据;对于当前帧缓存、上一帧缓存的数据流读写,都是由当前帧的行场坐标使能来控制的;对于兴趣画面缓存,其控制信息包括:当前帧与上一帧画面检测出来的感兴趣画面的坐标,是否需要处理,以及处理后的感兴趣区域的坐标;在坐标区域内的画面进行数据缓存的使能,不是感兴趣区域的数据不进行数据缓存使能。
所述步骤一、步骤二中,对视频数据流而言,行场有效数据在数据使能信号的控制下,逐行流过;检测视频数据流的消隐区、有效数据区,并检测当前数据流的行场开始和行场结束;根据当前行的场坐标产生读地址,读地址用于从行数据缓存读取需要的数据;写地址可以采用根据行数据读取延时周期延时之后的读地址,也可以采用行场坐标生成的地址。
所述步骤三中,画面检测是针对当前帧缓存数据和上一帧缓存数据进行滤波处理,滤波之后的数据进行特征提取;特征提取的内容包括5×5行数据的边缘信息、亮度信息、直方图统计信息、加权亮度统计信息;对当前帧和上一帧的上述特征信息进行比较,如果差值满足在预定的设置阈值之内,则判断该区域是感兴趣的区域,记录区域坐标;根据感兴趣区域的行场坐标生成往内存写数据的使能信号,视频数据流在使能信号的控制下,把感兴趣的视频数据写入内存。
所述步骤四中,感兴趣区域的行场坐标被写入到兴趣画面缓存中,并在一整帧视频写入内存完毕后,同步到输出帧数据流上;兴趣画面处理包括对兴趣画面部分进行图像增强、对比度拉伸、缩放,以及区域边缘重点突出显示。
所述步骤五中,通过接收上一帧缓存出来的数据,根据当前的行场信息,产生当前画面数据有效的使能控制信号;通过接收兴趣区域处理后的数据流和对应的兴趣区域的行场坐标,产生当前数据是否参与视频合成的使能控制信号;若当前帧画面数据流和兴趣区域数据同时有效,则开始进行视频合成;合成控制针对当前视频数据流的数据的亮度分量Y和色度分量CbCr分别乘以一个系数得到;合成后的视频数据为:Y=Y1*x+Y2*(1-x);CbCr=CbCr1*x+CbCr2*(1-x);其中x为从0到1的合成百分比;Y1,CbCr1是当前视频数据流的亮度分量和色度分量;Y2,CbCr2是感兴趣区域视频数据流的亮度分量和色度分量。
本发明还提供一种实现上述方法的基于FPGA的实时画中画产生装置,其包括以下功能模块:
一个视频帧控制器,其输入为视频数据源,其输出分别与当前帧缓存器以及上一帧缓存器相连接;
一个当前帧缓存器,其输入与视频帧控制器相连接,其输出分别与画面检测模块以及内存控制器相连接;
一个上一帧缓存器,其输入分别与视频帧控制器以及内存控制器相连接,其输出分别与画面检测模块以及视频合成控制模块相连接;
一个画面检测模块,其输入分别与当前帧缓存器以及上一帧缓存器相连接,其输出与兴趣画面控制器相连接;
一个兴趣画面控制器,其输入与画面检测模块相连接,其输出与内存控制器相连接;
一个兴趣画面缓存器,其输入与内存控制器相连接,其输出与兴趣画面处理模块相连接;
一个兴趣画面处理模块,其输入与兴趣画面缓存器相连接,其输出与视频合成控制模块相连接;
一个视频合成控制模块,其输入分别与上一帧缓存器以及兴趣画面处理模块相连接,其输出为合成的画中画视频数据。
所述当前帧缓存器、上一帧缓存器以及兴趣画面缓存器分别由第一行存储器、第二行存储器、第三行存储器、第四行存储器以及延时逻辑单元组成;输入视频数据流经过延时逻辑单元后,作为第四行存储器的写入数据,第四行存储器的读取数据作为第三行存储器的写入数据,第三行存储器的读取数据作为第二行存储器的写入数据,第二行存储器的读取数据作为第一行存储器的写入数据;所述延时逻辑单元的延时与行存储器数据读取的延时相同。
所述视频帧控制器由第一写控制模块、第一读控制模块、第二写控制模块以及第二读控制模块组成;所述视频数据源经过第一写控制模块、第一读控制模块产生当前帧缓存器的读写控制信号;所述视频数据源经过第二写控制模块、第二读控制模块产生上一帧缓存器的读写控制信号。
所述画面检测模块由第一滤波模块、第一特征提取模块、第二滤波模块、第二特征提取模块、特征向量对比模块以及阈值比较模块组成;所述当前帧缓存器的输出信号依次经过第一滤波模块、第一特征提取模块输入特征向量对比模块;所述上一帧缓存器的输出信号依次经过第二滤波模块、第二特征提取模块输入特征向量对比模块;特征向量对比模块的输出信号经过阈值比较模块输入所述兴趣画面控制器。
所述视频合成控制模块由视频流使能控制模块、兴趣区域使能控制模块以及合成控制模块组成;所述上一帧缓存器的输出信号经过视频流使能控制模块产生第一使能控制信号;所述兴趣画面处理模块的输出信号经过兴趣区域使能控制模块产生第二使能控制信号;所述第一使能控制信号和第二使能控制信号对合成控制模块是否输出信号进行控制。
本发明的有益技术效果是:
本发明可以在视频数据流上实时检测提取感兴趣的画面区域,并将感兴趣区域缩小或放大之后,在整体的画面上显示的画中画。采用双端口RAM对数据流进行缓存,通过数据流的控制,同时检测当前的兴趣画面区域,并将感兴趣数据通过内存控制器和当前的视频数据流同时写入内存。在进行对比的同时,上一帧数据连同感兴趣数据从内存取出,经视频合成模块将感兴趣画面以画中画的形式实时显示。本发明的数据缓存量小,系统引入延时小,处理器处理速度快,适合在高帧率大数据流量下进行实时控制。
本发明附加的优点将在下面具体实施方式部分的描述中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
图1示出了本发明方法的原理框图,也是本发明装置的电路原理框图。如图1所示,在一种实施例中,本发明电路装置的组成包括视频帧控制器1、当前帧缓存器2、上一帧缓存器3、画面检测模块4、兴趣画面控制器5、兴趣画面缓存器6、兴趣画面处理模块7以及视频合成控制模块8。本发明方法的思路是:根据当前数据流的控制使能信号,提取当前帧的行场信息,根据这些控制信息读取上一帧对应行场位置的数据,并分别缓存5行数据。这些数据供画面检测模块4获取感兴趣的区域,感兴趣的区域被写入内存控制器9。等整帧数据接收完毕之后,这部分感兴趣的数据,在兴趣画面控制器5的控制下被读出到缓存中,并根据需要进行处理。处理后的兴趣数据,在视频合成控制模块8的控制下按照一定的时隙将这部分数据与从内存读出来的整帧数据进行合并,形成画中画。
图2示出了当前帧缓存、上一帧缓存和感兴趣画面缓存的原理图。如图2所示,该部分的电路装置,即当前帧缓存器2、上一帧缓存器3以及兴趣画面缓存器6,其组成分别包括4个行存储器和一组延时逻辑组成。行存储器由FPGA内部的双口RAM组成,在控制逻辑的控制下,按照当前帧的行场信息对RAM进行数据读写操作。数据在一行开始写入RAM之前,先把当前行场坐标的数据从RAM读取出来,作为下一行RAM的写入数据。
当前帧的当前行的数据流经过延时后,作为第四行存储器的输入数据,其中延时逻辑的延时与行存储器数据读取的延时相同。第四行存储器的读取数据作为第三行存储器的写入数据。第三行存储器的读取数据作为第二行存储器的写入数据。第二行存储器的读取数据作为第一行存储器的写入数据。
对于当前帧缓存、上一帧缓存的数据流读写,都是由当前帧的行场坐标使能来控制的。兴趣画面缓存是由兴趣画面控制器产生的控制信息控制的,该控制信息包含有:当前帧与上一帧画面检测出来的感兴趣画面的坐标,是否需要处理,以及处理后的感兴趣区域的坐标。在坐标区域内的画面进行数据缓存的使能,不是感兴趣区域的数据不进行数据缓存使能。
图3示出了视频帧控制的原理图。如图3所示,该部分的电路装置,即视频帧控制器1是由当前帧的控制信号产生模块、上一帧的控制信号产生模块两部分组成。这两部分又分别由读控制和写控制组成。对视频数据流而言,行场有效数据在数据使能信号的控制下,逐行流过。控制器检测视频数据流的消隐区、有效数据区,并检测当前数据流的行场开始和行场结束。读控制器根据当前行的场坐标产生读地址,这个读地址用于从行数据缓存读取需要的数据。写地址可以采用根据行数据读取延时周期延时之后的读地址,也可以采用行场坐标生成的地址。
图4示出了画面检测的原理图。如图4所示,画面检查的原理是:针对帧数据行缓存器缓存的数据当前帧和上一帧的数据进行滤波处理。滤波处理可以采用中值滤波、均值滤波等滤波方式。滤波之后的数据进行特征提取,特征提取主要是提取5×5行数据的边缘信息,亮度信息,直方图统计信息,加权亮度统计信息。然后当前帧和上一帧对这些特征信息进行比较,如果两帧的差值满足在预定的设置阈值之内,那么判断该区域是感兴趣的区域,区域坐标记录下来,并按照帧同步方式同步到兴趣画面控制器5使用。
兴趣画面控制器5首先接收画面检测模块检测出来的感兴趣区域的行场坐标,根据这个坐标生成往内存写数据的使能信号,视频数据流在使能信号的控制下,把感兴趣的视频数据写入内存。感兴趣区域的行场坐标同时写入兴趣画面缓存器6中,并在一整帧视频写入内存完毕后,同步到输出帧数据流上,使这些控制信号与视频数据流同步输出到兴趣画面处理模块7。
兴趣画面处理主要是对兴趣画面部分进行一些图像增强,对比度拉伸,缩放,区域边缘重点突出显示功能,本发明包括但不限于这些功能,可以根据需要选择其中的某种功能进行嵌入实现。
图5示出了视频合成控制的原理图。如图5所示,该部分的电路装置,即视频合成控制模块8主要由视频流使能控制模块、兴趣区域使能控制模块、合成控制模块三部分组成。其中视频流使能控制模块接收行上一帧缓存出来的数据,根据当前的行场信息,产生当前换面数据有效的使能控制信号。兴趣区域使能控制模块接收兴趣区域处理后的数据流和对应的兴趣区域的行场坐标,产生当前数据是否参与视频合成的使能控制信号。如果当前帧画面数据流有效和兴趣区域数据同时有效,那么合成控制模块开始进行视频合成。
视频合成的过程针对当前视频数据流的数据的亮度分量Y和色度分量CbCr分别乘以一个系数得到;合成后的视频数据为:Y=Y1*x+Y2*(1-x);CbCr=CbCr1*x+CbCr2*(1-x)。其中x为从0到1的合成百分比;Y1,CbCr1是当前视频数据流的亮度分量和色度分量;Y2,CbCr2是感兴趣区域视频数据流的亮度分量和色度分量。
将整帧视频图像作为背景,感兴趣的区域从整帧图像中获取后,可以放置在整帧图像的不同位置,也可以叠放在整帧图像的不同位置,其目的是可以同时观察整帧图像和感兴趣区域。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的基本构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。