当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于microblaze的实时视频接缝剪裁方法及系统技术方案

技术编号:31089456 阅读:21 留言:0更新日期:2021-12-01 12:49
本发明专利技术提出了一种基于microblaze的实时视频接缝剪裁方法及系统,可用于采集视频后进行接缝剪裁处理并实时显示。其中所述系统由PL端以及PS端两部分共同实现,结合改进的视频接缝剪裁运算方法处理图像,在针对缩小或放大图像时相比原有的Seam Carving算法,在保留视频信息的同时进一步减小画面失真,让用户获得更好的视觉效果。另一方面,本发明专利技术提出的系统资源占用小,可移植性强,兼具软件编程调试方便与硬件计算处理速度快的优点,软硬件协同工作增加处理速度,减小时延,在保留显示视频完整信息的同时可任意更改画面尺寸,能适配各种规格显示设备,适用于各种直播或监控场景。适用于各种直播或监控场景。适用于各种直播或监控场景。

【技术实现步骤摘要】
一种基于microblaze的实时视频接缝剪裁方法及系统


[0001]本专利技术涉及一种基于microblaze的实时视频接缝剪裁方法及系统,特别是涉及视频图像处理


技术介绍

[0002]实时的视频采集与显示技术应用广泛,在现场直播、画面监控等领域都发挥着至关重要的作用,但视频采集设备输入和显示设备输出常会出现无法很好适配的情况。
[0003]现有技术中,针对视频采集设备输入和显示设备输出无法适配的情况,单纯采用展宽或缩小视频的方式进行数据处理,因此往往导致视频失真的情况的产生;另外,简单的对原视频进行裁剪又会造成信息的丢失,无法满足对视频进行实时不失真的接缝剪裁操作。

技术实现思路

[0004]专利技术目的:提出一种基于microblaze的实时视频接缝剪裁方法及系统,以解决现有技术存在的上述问题。通过对视频进行实时采集显示,完成不失真的接缝剪裁操作,有效的提高视频的采集传输速率。
[0005]技术方案:第一方面,提出了一种基于microblaze的实时视频接缝剪裁方法,包括以下步骤:步骤1、根据需求设定设备参数信息,产生视频信息触发信号,并根据所述触发信号驱动摄像头视频采集模块与HDMI显示模块;步骤2、摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据,并存储至帧缓存模块;步骤3、通过数据传输接口将帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中;步骤4、读取双倍速率同步动态随机存储器中的视频数据进行处理分析,从而获取用于实现视频接缝裁剪运算的配置参数,在完成配置后对视频数据进行处理,并回传至双倍速率同步动态随机存储器中进行存储;步骤5、通过数据传输接口将双倍速率同步动态随机存储器中的视频数据传输至HDMI显示模块;步骤6、HDMI显示模块接收视频数据,通过AXI4

Stream to video

out IP与RGB to DVI video encoder IP,将视频数据从视频流形式转换为差分信号,并在HDMI显示模块上输出。
[0006]采用轻量化microblaze软核作为处理器,不仅减少了资源的占用,而且无需arm处理器,同时在FPGA开发板上都可实现,与现有技术相比具备更强的可移植性。
[0007]在第一方面的一些可实现方式中,通过结合PS系统处理端和PL可编程逻辑端实现实时视频接缝剪裁方法。
[0008]所述PS系统处理端由microblaze软核模块以及接缝剪裁算法模块构成,用于负责整体运算流程的调度与调控,以及为实现视频接缝裁剪运算过程提供处理单元;所述PL可编程逻辑端由摄像头视频采集模块、VDMA帧缓存模块、DDR存储模块、HDMI显示模块模块、按键控制模块构成,用于负责视频数据的采集与显示。
[0009]所述PS系统处理端和所述PL可编程逻辑端两者均可与DDR双倍速率同步动态随机存储器交互读取或写入数据,并采用AXI总线进行通信协议的传输。
[0010]在第一方面的一些可实现方式中,步骤二中摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据时,选用摄像头为OV5640单目摄像头,采集的视频图像分辨率范围为300*200至1280*720。
[0011]为了便于后续对视频数据进行接缝裁剪运算,读取双倍速率同步动态随机存储器中的视频数据进行处理分析时,microblaze软核首先对视频图像数据进行RGB转灰度图处理,对应的转换公式为:式中,表示灰度化处理后的图像数据;表示红色通道的亮度值;表示绿色通道的亮度值;表示蓝色通道的亮度值。
[0012]在第一方面的一些可实现方式中,步骤四中在实现视频接缝裁剪运算时,针对图像放大操作,通过定义seam被复制一定次数后重新寻找一条新的seam的方式,忽视被复制过的像素点。
[0013]进一步的,定义显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b,具体最大复制次数定义为,随后向上取整。
[0014]步骤四中在实现视频接缝裁剪运算时,针对图像缩小操作,首先在seam两侧分别插入四条像素条,再将seam原本两侧的两条像素条和seam一同删除。
[0015]进一步的,当画面进行水平缩小时,定义seam上的像素点为,其左侧第一个像素点为,右侧第一个像素点为,其左侧第二个像素点为,右侧第二个像素点为,具体操作如下:在与像素点之间,插入像素点;在与像素点之间,插入像素点;在与像素点之间,插入像素点;在与像素点之间,插入像素点;删除,,,,像素点。
[0016]类似的,当画面进行垂直缩小时,则在seam像素点的上方与下发插入像素点。
[0017]步骤四中在实现视频接缝裁剪运算时,对视频图像数据进行RGB转灰度图处理后
的运算方式为:定义像素点的灰阶为a,定义像素点的灰阶为b,定义像素点的灰阶为c,定义像素点的灰阶为d,定义像素点的灰阶为e,则像素点的灰阶f的计算公式为:素点的灰阶f的计算公式为:像素点的灰阶g的计算公式为:像素点的灰阶g的计算公式为:像素点的灰阶h的计算公式为:像素点的灰阶h的计算公式为:像素点的灰阶i的计算公式为:在进一步的实施例中,一条垂直seam的公式为:==, s.t. 1类似的,一条水平seam公式为:==, s.t. 1式中,表示对应的横坐标;表示对应的纵坐标。
[0018]步骤四中在实现视频接缝裁剪运算时,计算一条垂直seam的公式为:==, s.t. 1一条水平seam公式为:==, s.t. 1式中,表示对应的横坐标;表示对应的纵坐标。
[0019]在第一方面的一些可实现方式中,步骤4通过分析HDMI输出图像分辨率与原始采集图像分辨率,获取用于实现视频接缝裁剪运算的配置参数。
[0020]进一步的,首选定义HDMI显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b;其次,方向上的处理方式为先进行水平方向的图像处理,再进行垂直方向的图像处理。
[0021]获取用于实现视频接缝裁剪运算的配置参数的具体处理方式如下:若x>a且y>b时:寻找并计算原图像水平方向的seam,并将其复制(x

a)条,若超过复制阈值则重新选择seam复制;寻找并计算原图像垂直方向的seam,并将其复制(y

b)条,
若超过复制阈值则重新选择seam复制;若x>a且y<b时:寻找并计算原图像水平方向的seam,并将其复制(x

a)条,若超过复制阈值则重新选择seam复制;寻找并计算原图像垂直方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像垂直方向的seam,插值后并将其删除,该过程循环(y

b)次;若x<a且y>b时:寻找并计算原图像水平方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像水平方向的sea本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于microblaze的实时视频接缝剪裁方法,其特征在于,具体包括以下步骤:步骤1、根据需求设定设备参数信息,产生视频信息触发信号,并根据所述触发信号驱动摄像头视频采集模块与HDMI显示模块;步骤2、摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据,并存储至帧缓存模块;步骤3、通过数据传输接口将帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中;步骤4、读取双倍速率同步动态随机存储器中的视频数据进行处理分析,从而获取用于实现视频接缝裁剪运算的配置参数,在完成配置后对视频数据进行处理,并回传至双倍速率同步动态随机存储器中进行存储;步骤5、通过数据传输接口将双倍速率同步动态随机存储器中的视频数据传输至HDMI显示模块;步骤6、HDMI显示模块接收视频数据,通过AXI4

Stream to video

out IP与RGB to DVI video encoder IP,将视频数据从视频流形式转换为差分信号,并在HDMI显示模块上输出。2.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,通过结合PS系统处理端和PL可编程逻辑端实现实时视频接缝剪裁方法;所述PS系统处理端由microblaze软核模块以及接缝剪裁算法模块构成,用于负责整体运算流程的调度与调控,以及为实现视频接缝裁剪运算过程提供处理单元;所述PL可编程逻辑端由摄像头视频采集模块、VDMA帧缓存模块、DDR存储模块、HDMI显示模块模块、按键控制模块构成,用于负责视频数据的采集与显示;所述PS系统处理端和所述PL可编程逻辑端两者均可与DDR双倍速率同步动态随机存储器交互读取或写入数据,并采用AXI总线进行通信协议的传输。3.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,步骤二中摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据时,选用摄像头为OV5640单目摄像头,采集的视频图像分辨率范围为300*200至1280*720;为了便于后续对视频数据进行接缝裁剪运算,读取双倍速率同步动态随机存储器中的视频数据进行处理分析时,microblaze软核首先对视频图像数据进行RGB转灰度图处理,对应的转换公式为:式中,表示灰度化处理后的图像数据;表示红色通道的亮度值;表示绿色通道的亮度值;表示蓝色通道的亮度值。4.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,步骤四中在实现视频接缝裁剪运算时,针对图像放大操作,通过定义seam被复制预定次数后重新寻找一条新的seam的方式,忽视被复制过的像素点;进一步的,定义显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b,具体最大复
制次数定义为,随后向上取整。5.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,步骤四中在实现视频接缝裁剪运算时,针对图像缩小操作,首先在seam两侧分别插入四条像素条,再将seam原本两侧的两条像素条和seam一同删除;进一步的,当画面进行水平缩小时,定义seam上的像素点为,其左侧第一个像素点为,右侧第一个像素点为,其左侧第二个像素点为,右侧第二个像素点为,具体操作如下:在与像素点之间,插入像素点;在与像素点之间,插入像素点;在与像素点之间,插入像素点;在与像素点之间,插入像素点;删除,,,,像素点;类似的,当画面进行垂直缩小时,则在seam像素点的上方与下发插入像素点。6.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,步骤四中在实现视频接缝裁剪运算时,对视频图像数据进行RGB转灰度图处理后的运算方式为:定义像素点的灰阶为a,定义像素点的灰阶为b,定义像素点的灰阶为c,定义像素点的灰阶为d,定义像素点的灰阶为e,则像素点的灰阶f的计算公式为:灰阶f的计算公式为:像素点的灰阶g的计算公式为:像素点的灰阶g的计算公式为:像素点的灰阶h的计算公式为:像素点的灰阶h的计算公式为:像素点的灰阶i的计算公式为:在进一步...

【专利技术属性】
技术研发人员:李丽王峰傅玉祥孙玉祥何书专李伟
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1