一种多路视频预处理方法与流程

文档序号:15625560发布日期:2018-10-09 22:53阅读:334来源:国知局

本发明涉及图像视频处理领域,尤其涉及一种多路视频预处理方法。



背景技术:

随着计算机技术、通信技术、网络技术和多媒体技术的飞速发展,数字技术的出现和应用为现代人类的生活带来了深远的影响,如今人类已经在一个数字化的世界中生活,由于数字信号具备远程传输、容易存储且存储的信息可靠及高质量还原和累积失真小等特点,其已经应用在人们日常生活的许多方面;

人类接收信息主要通过视觉和听觉两种方式来实现,在接收到的信息里面70%是来自视觉,所以通过视觉获取的视频图像信息一般比通过听觉获取的音频信息量大很多;通常人类最有效和最重要的信息获取方式是通过视网膜对周围景物的映像,所以视频图像具有直观、具体、生动、真实、效率高和应用广泛等诸多优点;

多路视频叠加技术是视频图像处理技术的一个应用方向,它将多路多制式视频信号进行处理以叠加融合形成一路视频信号输出,这项技术在电视系统、视频监控系统、广告娱乐系统、军事领域中有重要意义因而应用广泛;在电视系统中,利用多路视频叠加技术可以实现双视窗、多视窗显示,即一个屏幕可显示多个频道的视频,还可以实现画中画效果,即一个主视频占满屏幕,一个副视频以小窗口方式叠加在主视频之上,并且可以移动位置;在机载电子系统的综合显示系统中,利用视频叠加技术可将机载计算机输出的包含虚拟仪表、地图、各种传感器参数字符的视频与外部输入的视频叠加融合在一起显示,使飞行员能够方便快速的获取丰富的信息;

但随着多路视频叠加技术在各领域的广泛应用,技术人员对多路视频叠加的灵活性及实时性提出了更高的要求,鉴于此,提供一种灵活性好、实时性强的多路视频预处理方法成为本领域亟待解决的问题。



技术实现要素:

本发明的目的在于克服现有技术的缺点,提供一种多路视频预处理方法,灵活性好,实时性强。

为解决以上技术问题,本发明的技术方案为:一种多路视频预处理方法,其特征在于,其步骤包括:

a:视频源的选择;

a1:输入多路视频源并利用与视频源相配合的视频解码芯片对其进行解码,获取视频源数据;

a2:选择视频源:可选择其中任意一路,作为编码器使用;也可选择其中任意多路,作为视频叠加器使用,进行多路视频叠加;

b:视频参数的提取和判断:

b1:从视频源数据的定时基准码中得到行场消隐指示,然后根据行场消隐指示获得该视频源的分辨率及帧频大小;

b2:判断分辨率和帧频与系统处理器设置的参数是否匹配,若匹配,则将视频源输出至下一步,否则,输出蓝屏;

c:视频源缩放:按照系统处理器设置的分辨率对视频源进行缩放;若输入的视频源是隔行模式,则需要将视频源从隔行模式转换为逐行模式;

d:视频源缓存及多路视频叠加处理:

若步骤a中只选择了一路视频,则跳过此步骤;若步骤a中选择了多路视频,则经过此步骤;此步骤具体为:设置外挂的ddr3对每路视频源进行存储,存储完后从ddr3中读取数据并使用fpga中的osd核进行视频叠加;

e:视频源格式转化:将视频源进行编码并发送给系统处理器进行后续处理;

f:初始配置流程:进行初始配置流程,整个流程在系统处理器中完成,系统处理器把相关参数配置给fpga,系统处理器和fpga之间通过spi接口进行通信;

g:重配流程:在程序在运行过程中设定不同参数时,根据配置参数与上一次的差别,对模块进行有针对性的配置。

按以上方案,所述步骤a1中输入的视频源为3路,其中第一路为dvi或vga,与其相配合的视频解码芯片为adv7441,第二路和第三路为sdi,与其相配合的视频解码芯片为gs2971;步骤a2中选择视频源时,可以选择其中任何一路,作为dvi、vga或sdi编码器使用,也可以选择其中两路或三路,进行多路视频叠加,作为视频叠加器使用。

按以上方案,所述步骤b1中的视频源数据为bt1120格式,所述视频源数据具体包括:图像数据、定时基准码、附属数据。

按以上方案,所述步骤c具体包括:

c1:按照系统处理器hi3516a设置的分辨率对视频源进行缩放,其具体步骤为:

c11:例化fpga的videoscalerip核并设置相应参数,所述参数包括滤波器参数、视频源输入尺寸及输出尺寸范围、视频输入格式、核处理时钟以及能支持最大帧频;

c12:在系统处理器hi3516a中根据视频源输入尺寸及输出尺寸计算出水平缩放因子hsf以及垂直缩放因子vsf,hsf=[round(input_h_size/output_h_size)*2^20],vsf=[round(input_v_size/output_v_size)*2^20],式中input_h_size为水平输入尺寸,input_v_size为垂直输入尺寸,output_h_size为垂直输出尺寸,output_v_size为垂直输出尺寸;

c13:将水平缩放因子hsf以及垂直缩放因子vsf配置给videoscalerip核,对视频源进行缩放处理;

c2:若输入的视频源是逐行模式,则无需进行模式转换,若输入的视频源是隔行模式,则需要将视频源从隔行模式转换为逐行模式。

按以上方案,所述步骤c1中的视频缩放和步骤c2中的模式转换均在fpga的videoscalerip核中完成。

按以上方案,所述步骤d具体包括:

d1:设置外挂的ddr3对每路视频源进行存储:在存储视频源时,对每路视频源分别按照一帧来进行存储,存储完一帧后从ddr3中读取数据用于视频叠加;其中,所述ddr3由fpga中自带的mig核对其进行控制;

d2:使用fpga中的osd核进行视频叠加,其具体步骤为:

d21:例化fpga的osdip核并配置相关参数,所述相关参数包括视频格式、视频数据宽度、层数以及层配置;

d22:在系统处理器hi3516a中计算出每层的背景色,alpha-blending(透明混合),尺寸以及位置参数的计算;

d23:将计算好的每层的背景色,alpha-blending(透明混合),尺寸以及位置参数配置给osdip核,对视频进行叠加。

按以上方案,所述步骤d21中的层数为3层,当三路视频叠加时,提供一个主窗口,两个小窗口,小窗口的位置可以拖动和修改,并且小窗口和主窗口可以互换,形成多路视频叠加画中画功能。

按以上方案,所述步骤e中,在对视频源进行编码时,按照bt1120格式进行编码。

按以上方案,所述步骤f中,初始配置流程主要包括:关闭fpga逻辑图层、配置bt1120格式所需时钟、配置各路视频输入大小、配置各路scaler、配置各路osd、配置bt1120总大小以及有效大小、打开fpga逻辑图层。

按以上方案,所述系统处理器为hi3516a处理器。

由上述方案可知,本方法能支持多路视频源同时输入,且能支持不同的视频源类型,视频源参数也能动态调整;进一步的,本发明可以配置为单路编码器,也可配置为多路视频叠加器,支持画中画功能,且主窗口大小可调整,小窗口大小以及位置可调整,小窗口和主窗口可互换等,能配置为多种模式,非常灵活;同时,本发明采用fpga完成整个预处理过程,各操作并行,实时性强,响应速度快。

附图说明

图1为本发明多路视频预处理方法总体框图;

图2为bt1120数据格式框图;

图3为scaler顶层接口;

图4为scaler参数配置框图;

图5为osd顶层接口;

图6为osd参数配置框图;

图7为初始化流程框图;

图8为重配流程框图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

请参考图1,图1是本发明多路视频预处理方法总体框图,主要由以下几个部分构成:视频源的选择、视频参数的提取和判断、视频源缩放、视频源缓存及多路视频叠加处理、视频源格式转化;本发明多路视频预处理方法的步骤为:

a:视频源的选择;

a1:输入多路视频源并利用与视频源相配合的视频解码芯片对其进行解码,获取视频源数据;本发明输入的视频源为3路,其中第一路为dvi或vga,支持分辨率1920*1200,1920*1080,1080*720等,与其相配合的视频解码芯片为adv7441,第二路和第三路为sdi,支持分辨率为1920*1080,1080*720等,与其相配合的视频解码芯片为gs2971;

a2:选择视频源:可选择其中任意一路,作为编码器使用;也可选择其中任意多路,作为视频叠加器使用,进行多路视频叠加;本发明实施例中,当选择一路视频源时,作为dvi、vga或sdi编码器使用,当选择其中两路或三路时,进行多路视频叠加,作为视频叠加器使用。

b:视频参数的提取和判断:

b1:从视频源数据的定时基准码中得到行场消隐指示,然后根据行场消隐指示获得该视频源的分辨率及帧频大小;从视频解码芯片adv7441和gs2971过来的数据支持bt1120格式,itu-rbt.1120数字接口是在单个信号源与单个目的端之间提供单向连接,请参阅图2,图2中,bt1120格式数据主要包括三部分:图像数据、定时基准码、附属数据,其中,图像数据是实际有效数据;定时基准码主要有sav和eav,sav和eav信号3字节的前导ff,ff,00,最后1字节xy表示该行位于整个数据帧的位置及如何区分,bit7固定数据为1,bit6表示奇偶场,bit5表示该行是否为有效视频数据,bit4表示是sav还是eav,bit3~bit0表示保护信号;附属数据为行场消隐数据固定填充为16进制数据8010;我们可以从定时基准码中得到行场消隐指示,然后根据行场消隐指示获得该视频源的分辨率以及帧频大小;

b2:判断实时计算的分辨率和帧频与系统处理器hi3516a设置的参数是否匹配,若匹配,则将视频源输出至下一步,否则,输出蓝屏;

c:视频源缩放:按照系统处理器hi3516a设置的分辨率对视频源进行缩放;若输入的视频源是隔行模式,则需要将视频源从隔行模式转换为逐行模式;视频缩放和隔行转逐行的模式转换均在fpga的videoscalerip核中完成;

c1:在单路输出做为视频编码器以及多路输出做为视频叠加器时,都需要对视频按照系统处理器hi3516a设设置的分辨率进行缩放处理,其具体步骤为:

c11:例化fpga的videoscalerip核并设置相应参数,所述参数包括滤波器参数、视频源输入尺寸及输出尺寸范围、视频输入格式、核处理时钟以及能支持最大帧频等;在本发明实施例中,视频输入格式使用的是yuv422;

c12:在系统处理器hi3516a中根据视频源输入尺寸及输出尺寸完成对水平缩放因子hsf以及垂直缩放因子vsf的计算,hsf=[round(input_h_size/output_h_size)*2^20],vsf=[round(input_v_size/output_v_size)*2^20],式中input_h_size为水平输入尺寸,input_v_size为垂直输入尺寸,output_h_size为垂直输出尺寸,output_v_size为垂直输出尺寸;

c13:将水平缩放因子hsf以及垂直缩放因子vsf配置给videoscalerip核,对视频源进行缩放处理;

c2:若输入的视频源是逐行模式,则无需进行模式转换,若输入的视频源是隔行模式,则需要将视频源从隔行模式转换为逐行模式给系统处理器hi3516a进行处理,减轻系统处理器hi3516a处理的压力;

d:视频源缓存及多路视频叠加处理:若步骤a中只选择了一路视频,则跳过此步骤;若步骤a中选择了多路视频,则经过此步骤;此步骤具体为:设置外挂的ddr3对每路视频源进行存储,存储完后从ddr3中读取数据并使用fpga中的osd核进行视频叠加;

所述步骤d具体包括:

d1:设置外挂的ddr3对每路视频源进行存储:在存储视频源时,对每路视频源分别按照一帧来进行存储,存储完一帧后从ddr3中读取数据并交给视频叠加模块用于视频叠加;其中,使用fpga中自带的mig核来完成对ddr3的控制;

d2:使用fpga中的osdip核进行视频叠加,osdip核最多支持8层视频或图像的α混合,能够提供可编程的背景色以及可编程的层位置;在本发明实施例中,使用了3层,当三路视频叠加时,提供一个主窗口,两个小窗口,小窗口的位置可以拖动和修改,并且小窗口和主窗口可以互换,形成多路视频叠加画中画功能;视频的叠加以及窗口位置的变化都是在fpgaosdip核中完成的;在使用osd时,其具体步骤为:

d21:例化fpga的osdip核并配置相关参数,所述相关参数包括视频格式、视频数据宽度、层数以及层配置;本发明实施例中,视频格式为yuv422、视频数据为8bit、层数为3、层配置为外部axi;

d22:在系统处理器hi3516a中计算出每层的背景色,alpha-blending(透明混合),尺寸以及位置参数的计算;

d23:将计算好的每层的背景色,alpha-blending(透明混合),尺寸以及位置参数配置给osdip核,对视频进行叠加;

e:视频源格式转化:将视频源上一步的数据按照bt1120格式即图2所述格式进行编码并发送给系统处理器hi3516a进行后续处理;本发明实施例中,此步骤的数据是从osd中输出的视频数据;

f:初始配置流程:图7示出了初始化配置流程,整个初始配置在hi3516a中完成,系统处理器hi3516a把相关参数配置给fpga,hi3516a和fpga之间通过spi接口进行通信;所述初始配置的具体流程为:关闭fpga逻辑图层、配置bt1120格式所需时钟、配置各路视频输入大小、配置各路scaler、配置各路osd、配置bt1120总大小以及有效大小、打开fpga逻辑图层;关闭fpga逻辑图层是指让各模块输出不使能,由于不同的输出分辨率所需的像素处理时钟是不一样的,所以在视频源编码中要按照要求输出分辨率所需像素时钟进行处理,不同像素处理时钟获得是通过对fpgapll进行drp(动态重配)获得的,配置各路视频大小和各路scaler,配置osd完成对多路视频的叠加,配置bt1120编码模块,最后打开fpga逻辑图层,完成对整个初始化流程的配置;

g:重配流程:图8示出了重配流程框图,在程序在运行过程中会设定不同的参数,此时,需要进行重配置,为了降低配置时间,提高响应速度,所以在进行重配时是根据配置参数与上一次的差别,对要配置的模块进行标识置位,然后在根据相应的置位标志对相应模块进行重配并清零各重配标识,是有针对性的配置。

上述步骤是多路视频预处理方法,能够对单路视频及多路视频进行缩放,叠加,格式转化后给专用图像处理器进行后续操作,本发明实施例的优点为:

1)灵活性好

本发明能够支持多路视频源同时输入,能支持不同的视频源类型,分辨率,帧频,输出分辨率也能够动态调整,能够配置为单路编码器也能配置为多路视频叠加器,支持画中画功能,主窗口大小可调整,小窗口大小以及位置可调整,小窗口和主窗口可互换等,能配置为多种模式非常灵活;

2)实时性强

本发明采用fpga完成整个预处理过程,fpga中各操作是并行处理,因此具有很强的实时性并且系统延时小响应速度快

3)稳定性强

本发明在固定模式以及模式切换后,码流稳定。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1