CN113727161A - 一种基于microblaze的实时视频接缝剪裁方法及系统 - Google Patents
一种基于microblaze的实时视频接缝剪裁方法及系统 Download PDFInfo
- Publication number
- CN113727161A CN113727161A CN202111032732.5A CN202111032732A CN113727161A CN 113727161 A CN113727161 A CN 113727161A CN 202111032732 A CN202111032732 A CN 202111032732A CN 113727161 A CN113727161 A CN 113727161A
- Authority
- CN
- China
- Prior art keywords
- seam
- video
- image
- data
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000001360 synchronised effect Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 17
- 239000000872 buffer Substances 0.000 claims description 14
- 238000005520 cutting process Methods 0.000 claims description 8
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 7
- 150000001875 compounds Chemical class 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 5
- 230000000007 visual effect Effects 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 3
- GJWAPAVRQYYSTK-UHFFFAOYSA-N [(dimethyl-$l^{3}-silanyl)amino]-dimethylsilicon Chemical compound C[Si](C)N[Si](C)C GJWAPAVRQYYSTK-UHFFFAOYSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101100289200 Caenorhabditis elegans lite-1 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42653—Internal components of the client ; Characteristics thereof for processing graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42692—Internal components of the client ; Characteristics thereof for reading from or writing on a volatile storage medium, e.g. Random Access Memory [RAM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
Abstract
本发明提出了一种基于microblaze的实时视频接缝剪裁方法及系统,可用于采集视频后进行接缝剪裁处理并实时显示。其中所述系统由PL端以及PS端两部分共同实现,结合改进的视频接缝剪裁运算方法处理图像,在针对缩小或放大图像时相比原有的Seam Carving算法,在保留视频信息的同时进一步减小画面失真,让用户获得更好的视觉效果。另一方面,本发明提出的系统资源占用小,可移植性强,兼具软件编程调试方便与硬件计算处理速度快的优点,软硬件协同工作增加处理速度,减小时延,在保留显示视频完整信息的同时可任意更改画面尺寸,能适配各种规格显示设备,适用于各种直播或监控场景。
Description
技术领域
本发明涉及一种基于microblaze的实时视频接缝剪裁方法及系统,特别是涉及视频图像处理技术领域。
背景技术
实时的视频采集与显示技术应用广泛,在现场直播、画面监控等领域都发挥着至关重要的作用,但视频采集设备输入和显示设备输出常会出现无法很好适配的情况。
现有技术中,针对视频采集设备输入和显示设备输出无法适配的情况,单纯采用展宽或缩小视频的方式进行数据处理,因此往往导致视频失真的情况的产生;另外,简单的对原视频进行裁剪又会造成信息的丢失,无法满足对视频进行实时不失真的接缝剪裁操作。
发明内容
发明目的:提出一种基于microblaze的实时视频接缝剪裁方法及系统,以解决现有技术存在的上述问题。通过对视频进行实时采集显示,完成不失真的接缝剪裁操作,有效的提高视频的采集传输速率。
技术方案:第一方面,提出了一种基于microblaze的实时视频接缝剪裁方法,包括以下步骤:
步骤1、根据需求设定设备参数信息,产生视频信息触发信号,并根据所述触发信号驱动摄像头视频采集模块与HDMI显示模块;
步骤2、摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据,并存储至帧缓存模块;
步骤3、通过数据传输接口将帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中;
步骤4、读取双倍速率同步动态随机存储器中的视频数据进行处理分析,从而获取用于实现视频接缝裁剪运算的配置参数,在完成配置后对视频数据进行处理,并回传至双倍速率同步动态随机存储器中进行存储;
步骤5、通过数据传输接口将双倍速率同步动态随机存储器中的视频数据传输至HDMI显示模块;
步骤6、HDMI显示模块接收视频数据,通过AXI4-Stream to video-out IP与RGBto DVI video encoder IP,将视频数据从视频流形式转换为差分信号,并在HDMI显示模块上输出。
采用轻量化microblaze软核作为处理器,不仅减少了资源的占用,而且无需arm处理器,同时在FPGA开发板上都可实现,与现有技术相比具备更强的可移植性。
在第一方面的一些可实现方式中,通过结合PS系统处理端和PL可编程逻辑端实现实时视频接缝剪裁方法。
所述PS系统处理端由microblaze软核模块以及接缝剪裁算法模块构成,用于负责整体运算流程的调度与调控,以及为实现视频接缝裁剪运算过程提供处理单元;所述PL可编程逻辑端由摄像头视频采集模块、VDMA帧缓存模块、DDR存储模块、HDMI显示模块模块、按键控制模块构成,用于负责视频数据的采集与显示。
所述PS系统处理端和所述PL可编程逻辑端两者均可与DDR双倍速率同步动态随机存储器交互读取或写入数据,并采用AXI总线进行通信协议的传输。
在第一方面的一些可实现方式中,步骤二中摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据时,选用摄像头为OV5640单目摄像头,采集的视频图像分辨率范围为300*200至1280*720。
为了便于后续对视频数据进行接缝裁剪运算,读取双倍速率同步动态随机存储器中的视频数据进行处理分析时,microblaze软核首先对视频图像数据进行RGB转灰度图处理,对应的转换公式为:
在第一方面的一些可实现方式中,步骤四中在实现视频接缝裁剪运算时,针对图像放大操作,通过定义seam被复制一定次数后重新寻找一条新的seam的方式,忽视被复制过的像素点。
步骤四中在实现视频接缝裁剪运算时,针对图像缩小操作,首先在seam两侧分别插入四条像素条,再将seam原本两侧的两条像素条和seam一同删除。
类似的,当画面进行垂直缩小时,则在seam像素点的上方与下发插入像素点。
步骤四中在实现视频接缝裁剪运算时,对视频图像数据进行RGB转灰度图处理后的运算方式为:
在进一步的实施例中,一条垂直seam的公式为:
类似的,一条水平seam公式为:
步骤四中在实现视频接缝裁剪运算时,计算一条垂直seam的公式为:
一条水平seam公式为:
在第一方面的一些可实现方式中,步骤4通过分析HDMI输出图像分辨率与原始采集图像分辨率,获取用于实现视频接缝裁剪运算的配置参数。
进一步的,首选定义HDMI显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b;其次,方向上的处理方式为先进行水平方向的图像处理,再进行垂直方向的图像处理。
获取用于实现视频接缝裁剪运算的配置参数的具体处理方式如下:
若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后图像水平方向的seam,插值后并将其删除,该过程循环(x-a)
次;寻找并计算原图像垂直方向的seam,并将其复制(y-b)条,若超过复制阈值则重新选择seam复制;
若x<a且y<b时:寻找并计算原图像水平方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像水平方向的seam,插值后并将其删除,该过程循环(x-a)次;寻找并计算原图像垂直方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像垂直方向的seam,插值后并将其删除,该过程循环(y-b)次。
第二方面,提出一种基于microblaze的实时视频接缝剪裁系统,该系统具体包括,
按键控制模块,被设置为根据用于需求复制键入需要的输出视频分辨率与原始采集视频分辨率;
microblaze软核模块,被设置为负责整体系统的控制调度,同时为接缝剪裁算法模块提供处理器单元;
摄像头视频采集模块,包括摄像头,被设置为根据需求启动摄像头并实时采集视频图像数据为AXI4-Stream数据流;
VDMA帧缓存模块,被设置为将AXI Stream格式的数据流转换为Memory Map格式或将Memory Map格式的数据转换为AXI Stream数据流,从而实现与DDR4进行通信,并在计算完成后将数据从DDR中取出并送入HDMI显示模块;
接缝剪裁算法模块,被设置为对视频信息进行接缝剪裁运算;
DDR存储模块,由DDR4内存构成,被设置为负责存储视频数据;
HDMI显示模块模块,由AXI4-Stream to video-out IP与RGB to DVI videoencoder IP构成,被设置为负责将AXI4-Stream视频流转为HDMI输出的格式,使其在HDMI显示设备上输出。
有益效果:本发明提出了一种基于microblaze的实时视频接缝剪裁方法及系统,采用轻量化microblaze软核作为处理器,减少了资源的占用,无需arm处理器,在FPGA开发板上都可实现,可移植性强。
其次,本发明采用改进的视频接缝剪裁运算方法处理图像,现有技术中的SeamCarving算法体量小计算资源需求少,适合轻量化的microblaze软核运行。本发明改进后的视频接缝剪裁运算方法在针对缩小或放大图像时相比原有的Seam Carving算法,在保留视频信息的同时进一步减小画面失真,让用户获得更好的视觉效果,适用于各种现场直播或视频监控场景。
最后,本发明采用PS端与PL端联合处理设计,兼具软件编程调试方便与硬件计算处理速度快的优点,可以实时的采集处理显示图像,性能优秀的同时方便后期其他功能的添加与改动。
附图说明
图1为本发明实施例的系统结构图。
图2是本发明的总体实现流程图。
图3是本发明的改进的Seam Carving算法流程图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
实施例一
随着大众生活对实时视频应用需求的增加,使得实时的视频采集与显示技术应用广泛,尤其是在现场直播、画面监控等领域都发挥着至关重要的作用。现有技术中,针对实时视频的传输需求,常采用展宽或缩小视频的方式进行数据处理,因此往往导致视频失真的情况的产生;另外,简单的对原视频进行裁剪又会造成信息的丢失,无法满足对视频进行实时不失真的接缝剪裁操作。针对视频采集设备输入和显示设备输出无法适配的情况,本实施例提出一种基于microblaze的实时视频接缝剪裁方法,通过结合处理系统与可编程逻辑单元的运算处理方式,达到在占用计算资源找的情况下,提高运行速度以及视频信息采集和传输的速率。
具体的,一种基于microblaze的实时视频接缝剪裁方法包括以下步骤:
步骤1、根据需求设定设备参数信息,产生视频信息触发信号,并根据所述触发信号驱动摄像头视频采集模块与HDMI显示模块;
步骤2、摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据,并存储至帧缓存模块;
步骤3、通过数据传输接口将帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中;
步骤4、读取双倍速率同步动态随机存储器中的视频数据进行处理分析,从而获取用于实现视频接缝裁剪运算的配置参数,在完成配置后对视频数据进行处理,并回传至双倍速率同步动态随机存储器中进行存储;
步骤5、通过数据传输接口将双倍速率同步动态随机存储器中的视频数据传输至HDMI显示模块;
步骤6、HDMI显示模块接收视频数据,通过AXI4-Stream to video-out IP与RGBto DVI video encoder IP,将视频数据从视频流形式转换为差分信号,并在HDMI显示模块上输出。
该方法采用轻量化microblaze软核作为处理器,不仅减少了资源的占用,而且无需arm处理器,同时在FPGA开发板上都可实现,与现有技术相比具备更强的可移植性。
实施例二
在实施例一基础上的进一步实施例中,通过结合PS系统处理端和PL可编程逻辑端实现一种基于microblaze的实时视频接缝剪裁方法。
具体的,PS系统处理端由microblaze软核模块以及接缝剪裁算法模块构成,用于负责整体运算流程的调度与调控,以及为实现视频接缝裁剪运算过程提供处理单元;PL可编程逻辑端由摄像头视频采集模块、VDMA帧缓存模块、DDR存储模块、HDMI显示模块模块、按键控制模块构成,用于负责视频数据的采集与显示。PS系统处理端和PL可编程逻辑端两者均可与DDR双倍速率同步动态随机存储器交互读取或写入数据,并采用AXI总线进行通信协议的传输。其中软件处理PS(Processing System,处理系统)端由硬件资源搭建的microblaze软核负责系统的控制以及Seam Carving算法的实现;可编程逻辑PL(Programmable Logic,可编程逻辑)端负责图像的采集存储与显示。PS端通过AXI总线控制与调度PL端的工作,两者分别可以访问DDR以完成数据的运算与搬运。
根据用户对输出视频分辨率与原始采集视频分辨率的需求,通过按键控制模块键入需要的设备参数信息,并传送至microblaze软核模块,在设备参数信息设定后产生视频信息触发信号,根据所述触发信号驱动摄像头视频采集模块与HDMI显示模块。摄像头视频采集模块触发后驱动摄像头根据需求选择视频采集分辨率,获取原始视频信息,并将获取到的视频信息送至VDMA帧缓存模块进行存储。随后,通过数据传输接口将VDMA帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中。其中通过数据传输接口进行数据传输的过程具体包括:microblaze软核模块通过S_AXI_LITE_0接口配置VDMA0 IP,再将视频信息通过S_AXI_S2MM_0接口送入VDMA0 IP中,再通过M_AXI_MM2S_0接口将视频数据送入DDR中进行存储。microblaze软核模块从DDR中读入视频数据,先将图像数据转为灰度图,通过分析输出图像分辨率与采集图像分辨率获取用于实现视频接缝裁剪运算的配置参数,在完成配置后对视频数据进行处理,并回传至双倍速率同步动态随机存储器中进行存储。将视频数据传输至HDMI显示模块时,利用microblaze软核模块进行数据接口的配置,具体通过S_AXI_LITE_1接口对VDMA1 IP进行配置,随后通过S_AXI_S2MM_1接口VDMA1 IP中,再通过M_AXI_MM2S_1接口将视频数据送入HDMI显示模块。最后,实现实时显示时,HDMI显示模块在接收到视频数据后,通过AXI4-Stream to video-out IP与RGB to DVI video encoderIP,将视频数据从AXI4-Stream视频流形式转换为TMDS差分信号,并在HDMI显示模块上输出。
本实施例通过PS端与PL端联合处理设计,兼具了软件编程调试方便与硬件计算处理速度快的优点,可以实时的采集处理显示图像,达到性能优秀的同时方便后期其他功能的添加与改动。
实施例三
在实施例一基础上的进一步实施例中,摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据时,选用摄像头为OV5640单目摄像头,优选实施例中,预设采集的视频图像分辨率为640*480。
为了便于后续对视频数据进行接缝裁剪运算,读取双倍速率同步动态随机存储器中的视频数据进行处理分析时,microblaze软核首先对视频图像数据进行RGB转灰度图处理,对应的转换公式为:
实施例四
在实施例一基础上的进一步实施例中,通过数据传输接口将帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中时,视频数据首先通过S_AXI_S2MM_0接口送入VDMA0 IP中,对VDMA0 IP进行配置。Frame Buffers写通道和读通道都设置相同的缓存帧数16帧,其他参数保持默认,实现16帧的多缓存操作,再通过M_AXI_MM2S_0接口将视频数据送入DDR中,每次送入视频图像为16帧。
在进一步的实施例中,摄像头视频采集模块根据需求启动摄像头实时采集视频图像数据为AXI4-Stream数据流。VDMA帧缓存模块将AXI Stream格式的数据流转换为MemoryMap格式从而实现与DDR4进行通信,并在计算完成后将数据从DDR中取出并送入HDMI显示模块。
实施例五
在实施例一基础上的进一步实施例中,在实现视频接缝裁剪运算时,现有技术针对图像的放大操作,采用的方式为通过Seam Carving算法寻找seam后复制多次,因此当画面在一个方向被放大过大时,会出现一条像素点占屏幕很大一部分的现象,尽管不对视频信息造成丢失,但是会造成视觉上的违和感。针对图像的缩小操作,采用的方式为通过SeamCarving算法寻找seam后删除,尽管可以基本完成不失真的图像缩小,但是在画面饱和度较高,图片较为艳丽的情况下,还是会造成视觉上的图片撕裂效果,以及删除seam的两侧撕裂感较强。
针对上述问题,本实施例提出一种视频接缝裁剪运算方法,在进行图像放大操作时,通过定义seam被复制一定次数后重新寻找一条新的seam的方式,忽视被复制过的像素点。具体的,定义显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b,具体最大复制次数定义为,随后向上取整。
在进行图像缩小操作时,首先在seam两侧分别插入四条像素条,再将seam原本两侧的两条像素条和seam一同删除。具体的,定义seam上的像素点为,其左侧第一个像素点为,右侧第一个像素点为,其左侧第二个像素点为,右侧第二个像素点为,具体操作如下:
类似的,当画面进行垂直缩小时,则在seam像素点的上方与下发插入像素点。
在进一步的实施例中,一条垂直seam的公式为:
类似的,一条水平seam公式为:
实施例六
在实施例一基础上的进一步实施例中,在进行图像处理之前首先分析HDMI显示模块输出图像分辨率与原始采集图像分辨率来决定视频接缝裁剪运算算法的配置及参数。具体的,首选定义HDMI显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b;其次,方向上的处理方式为先进行水平方向的图像处理,再进行垂直方向的图像处理,具体处理方式如下:
若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后图像水平方向的seam,插值后并将其删除,该过程循环(x-a)
次;寻找并计算原图像垂直方向的seam,并将其复制(y-b)条,若超过复制阈值则重新选择seam复制。
若x<a且y<b时:寻找并计算原图像水平方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像水平方向的seam,插值后并将其删除,该过程循环(x-a)次;寻找并计算原图像垂直方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像垂直方向的seam,插值后并将其删除,该过程循环(y-b)次。
实施例七
针对实施例一提出的一种基于microblaze的实时视频接缝剪裁方法,本实施例提出一种基于microblaze的实时视频接缝剪裁系统,用于实现该方法。该系统划分PS端以及PL端对数据进行处理,具体包括:
按键控制模块,被设置为根据用于需求复制键入需要的输出视频分辨率与原始采集视频分辨率;
microblaze软核模块,被设置为负责整体系统的控制调度,同时为接缝剪裁算法模块提供处理器单元;
摄像头视频采集模块,包括摄像头,被设置为根据需求启动摄像头并实时采集视频图像数据为AXI4-Stream数据流;
VDMA帧缓存模块,被设置为将AXI Stream格式的数据流转换为Memory Map格式或将Memory Map格式的数据转换为AXI Stream数据流,从而实现与DDR4进行通信,并在计算完成后将数据从DDR中取出并送入HDMI显示模块;
接缝剪裁算法模块,被设置为对视频信息进行接缝剪裁运算;
DDR存储模块,由DDR4内存构成,被设置为负责存储视频数据;
HDMI显示模块模块,由AXI4-Stream to video-out IP与RGB to DVI videoencoder IP构成,被设置为负责将AXI4-Stream视频流转为HDMI输出的格式,使其在HDMI显示设备上输出。
在进一步的实施例中,首先,用户由所述按键控制模块键入需要的输出视频分辨率与原始采集视频分辨率,并将信息传送至microblaze软核,由此相应的驱动摄像头视频采集模块与HDMI显示模块;其次,由所述摄像头视频采集模块驱动摄像头,选择摄像头采集分辨率,获取原始视频信息,送至VDMA帧缓存模块;再次,所述microblaze软核模块通过S_AXI_LITE_0接口配置VDMA0 IP,再将视频信息通过S_AXI_S2MM_0接口送入VDMA0 IP中,再通过M_AXI_MM2S_0接口将视频数据送入DDR;从次,所述microblaze软核模块从DDR中读入视频数据,将图像数据转为灰度图,通过分析输出图像分辨率与采集图像分辨率决定实现视频接缝裁剪运算的配置参数,再将数据送入改进的接缝剪裁算法模块进行计算,计算完成后送回至DDR存储模块;最后,通过数据传输接口将双倍速率同步动态随机存储器中的视频数据传输至HDMI显示模块,在HDMI显示模块接收到视频数据后,通过AXI4-Stream tovideo-out IP与RGB to DVI video encoder IP,将视频数据从视频流形式转换为差分信号,并在HDMI显示模块上输出。
综上所述,本发明提出的技术方案基于microblaze的实时视频接缝剪裁系统,采用了PS端与PL端联合处理设计,microblaze软核作为处理器,改进的视频接缝裁剪运算算法作为视频处理方法,可以实现在不失真的前提下,实时采集、处理并显示接缝剪裁后的视频,使用自用少,可移植性强,具有低计算复杂度、低硬件开销及高硬件利用率,显示了对于如直播、监控等实际应用的巨大潜力。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。
Claims (10)
1.一种基于microblaze的实时视频接缝剪裁方法,其特征在于,具体包括以下步骤:
步骤1、根据需求设定设备参数信息,产生视频信息触发信号,并根据所述触发信号驱动摄像头视频采集模块与HDMI显示模块;
步骤2、摄像头视频采集模块根据触发信号选择对应的视频采集分辨率,采集对应的原始视频数据,并存储至帧缓存模块;
步骤3、通过数据传输接口将帧缓存模块中的视频数据存储至双倍速率同步动态随机存储器中;
步骤4、读取双倍速率同步动态随机存储器中的视频数据进行处理分析,从而获取用于实现视频接缝裁剪运算的配置参数,在完成配置后对视频数据进行处理,并回传至双倍速率同步动态随机存储器中进行存储;
步骤5、通过数据传输接口将双倍速率同步动态随机存储器中的视频数据传输至HDMI显示模块;
步骤6、HDMI显示模块接收视频数据,通过AXI4-Stream to video-out IP与RGB toDVI video encoder IP,将视频数据从视频流形式转换为差分信号,并在HDMI显示模块上输出。
2.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,通过结合PS系统处理端和PL可编程逻辑端实现实时视频接缝剪裁方法;
所述PS系统处理端由microblaze软核模块以及接缝剪裁算法模块构成,用于负责整体运算流程的调度与调控,以及为实现视频接缝裁剪运算过程提供处理单元;
所述PL可编程逻辑端由摄像头视频采集模块、VDMA帧缓存模块、DDR存储模块、HDMI显示模块模块、按键控制模块构成,用于负责视频数据的采集与显示;
所述PS系统处理端和所述PL可编程逻辑端两者均可与DDR双倍速率同步动态随机存储器交互读取或写入数据,并采用AXI总线进行通信协议的传输。
5.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,步骤四中在实现视频接缝裁剪运算时,针对图像缩小操作,首先在seam两侧分别插入四条像素条,再将seam原本两侧的两条像素条和seam一同删除;
类似的,当画面进行垂直缩小时,则在seam像素点的上方与下发插入像素点。
8.根据权利要求1所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,步骤4通过分析HDMI输出图像分辨率与原始采集图像分辨率,获取用于实现视频接缝裁剪运算的配置参数;
进一步的,首选定义HDMI显示模块输出图像尺寸为x*y,原始采集图像分辨率为a*b;其次,方向上的处理方式为先进行水平方向的图像处理,再进行垂直方向的图像处理。
9.根据权利要求8所述的一种基于microblaze的实时视频接缝剪裁方法,其特征在于,获取用于实现视频接缝裁剪运算的配置参数的具体处理方式如下:
若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后图像水平方向的seam,插值后并将其删除,该过程循环(x-a)
次;寻找并计算原图像垂直方向的seam,并将其复制(y-b)条,若超过复制阈值则重新选择seam复制;
若x<a且y<b时:寻找并计算原图像水平方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像水平方向的seam,插值后并将其删除,该过程循环(x-a)次;寻找并计算原图像垂直方向的seam,插值后并将其删除,再次寻找并计算删除一次seam后图像垂直方向的seam,插值后并将其删除,当前过程循环(y-b)次。
10.一种基于microblaze的实时视频接缝剪裁系统,用于实现权利要求1-9任意一项方法,其特征在于,具体包括,
按键控制模块,被设置为根据用于需求复制键入需要的输出视频分辨率与原始采集视频分辨率;
microblaze软核模块,被设置为负责整体系统的控制调度,同时为接缝剪裁算法模块提供处理器单元;
摄像头视频采集模块,包括摄像头,被设置为根据需求启动摄像头并实时采集视频图像数据为AXI4-Stream数据流;
VDMA帧缓存模块,被设置为将AXI Stream格式的数据流转换为Memory Map格式或将Memory Map格式的数据转换为AXI Stream数据流,从而实现与DDR4进行通信,并在计算完成后将数据从DDR中取出并送入HDMI显示模块;
接缝剪裁算法模块,被设置为对视频信息进行接缝剪裁运算;
DDR存储模块,由DDR4内存构成,被设置为负责存储视频数据;
HDMI显示模块模块,由AXI4-Stream to video-out IP与RGB to DVI video encoderIP构成,被设置为负责将AXI4-Stream视频流转为HDMI输出的格式,使其在HDMI显示设备上输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032732.5A CN113727161B (zh) | 2021-09-03 | 2021-09-03 | 一种基于microblaze的实时视频接缝剪裁方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032732.5A CN113727161B (zh) | 2021-09-03 | 2021-09-03 | 一种基于microblaze的实时视频接缝剪裁方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113727161A true CN113727161A (zh) | 2021-11-30 |
CN113727161B CN113727161B (zh) | 2022-07-29 |
Family
ID=78681510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032732.5A Active CN113727161B (zh) | 2021-09-03 | 2021-09-03 | 一种基于microblaze的实时视频接缝剪裁方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113727161B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766901A (zh) * | 2023-01-09 | 2023-03-07 | 武汉精测电子集团股份有限公司 | 一种图像传感器的数据传输设备及方法 |
CN115914492A (zh) * | 2022-10-20 | 2023-04-04 | 中国航空工业集团公司洛阳电光设备研究所 | 一种外同步成像任意帧频转换的数据流处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097258A1 (en) * | 2000-12-06 | 2002-07-25 | Maymudes David M. | Methods and systems for effecting video transitions represented by bitmaps |
CN209517382U (zh) * | 2018-12-14 | 2019-10-18 | 南京华讯方舟通信设备有限公司 | 一种基于h264的zynq视频处理系统 |
CN112367573A (zh) * | 2020-12-10 | 2021-02-12 | 天津光电通信技术有限公司 | 一种适用于正交架构设备的控制链路及其实现方法 |
CN113014838A (zh) * | 2021-03-03 | 2021-06-22 | 北京工业大学 | 一种基于fpga的多格式高速数字视频融合系统 |
-
2021
- 2021-09-03 CN CN202111032732.5A patent/CN113727161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097258A1 (en) * | 2000-12-06 | 2002-07-25 | Maymudes David M. | Methods and systems for effecting video transitions represented by bitmaps |
CN209517382U (zh) * | 2018-12-14 | 2019-10-18 | 南京华讯方舟通信设备有限公司 | 一种基于h264的zynq视频处理系统 |
CN112367573A (zh) * | 2020-12-10 | 2021-02-12 | 天津光电通信技术有限公司 | 一种适用于正交架构设备的控制链路及其实现方法 |
CN113014838A (zh) * | 2021-03-03 | 2021-06-22 | 北京工业大学 | 一种基于fpga的多格式高速数字视频融合系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914492A (zh) * | 2022-10-20 | 2023-04-04 | 中国航空工业集团公司洛阳电光设备研究所 | 一种外同步成像任意帧频转换的数据流处理方法及装置 |
CN115914492B (zh) * | 2022-10-20 | 2024-04-30 | 中国航空工业集团公司洛阳电光设备研究所 | 一种外同步成像任意帧频转换的数据流处理方法及装置 |
CN115766901A (zh) * | 2023-01-09 | 2023-03-07 | 武汉精测电子集团股份有限公司 | 一种图像传感器的数据传输设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113727161B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113727161B (zh) | 一种基于microblaze的实时视频接缝剪裁方法及系统 | |
US6226015B1 (en) | Method of automatically producing sketches and cartoon images from movies | |
US6313822B1 (en) | Method and apparatus for modifying screen resolution based on available memory | |
US8570334B2 (en) | Image processing device capable of efficiently correcting image data and imaging apparatus capable of performing the same | |
EP2498486B1 (en) | Video processing program, device and method, and imaging device mounted with video processing device | |
JP4816704B2 (ja) | 指示システム、指示プログラム | |
US7433544B2 (en) | Apparatus and method for producing thumbnail images and for improving image quality of re-sized images | |
CN102843522B (zh) | 基于pcie的视频拼接处理卡、其控制系统及控制方法 | |
CN114866809B (zh) | 视频转换方法、装置、设备、存储介质及程序产品 | |
US6847333B2 (en) | Method of and system for low-bandwidth transmission of color video | |
CN110913118B (zh) | 视频处理方法、装置及存储介质 | |
CN117768774A (zh) | 图像处理器、图像处理方法、拍摄装置和电子设备 | |
CN117499755A (zh) | 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 | |
US20200106821A1 (en) | Video processing apparatus, video conference system, and video processing method | |
CN114245027B (zh) | 一种视频数据混合处理方法、系统、电子设备和存储介质 | |
CN111034187A (zh) | 动态图像的生成方法、装置、可移动平台和存储介质 | |
CN110519530B (zh) | 基于硬件的画中画显示方法及装置 | |
CN2603442Y (zh) | 多功能图像处理器 | |
KR100933171B1 (ko) | 그래픽 디스플레이 기능을 구현한 비메모리 반도체 | |
CN112073801B (zh) | 一种图像处理方法、电子设备及连接器 | |
JP3013336B2 (ja) | クロマキー信号生成装置 | |
CN114615537A (zh) | 一种零帧延时的视频控制系统及方法、led显示系统 | |
JP2001144968A (ja) | マルチメディア情報変換装置 | |
KR20040035127A (ko) | 디지털 비디오의 썸네일 영상 생성 장치 | |
CN116228525A (zh) | 图像处理方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |