本发明涉及视频信息处理技术领域,尤其涉及基于CameraLink协议的视频图像显示方法、装置及系统,可应用于数字视频监控和显示等领域。
背景技术:
随着数字图像采集速度的提高和存储量的增大,相机和图像采集卡之间的原有通信标准已不再适用,CameraLink标准应运而生。CameraLink接口协议是工业高速串口数据和连接标准,能够简化图像采集接口,方便高速数字相机和数据采集卡之间的连接。
现有的高速数字摄像机的图像输出接口都采用标准CameraLink接口,而CameraLink接口虽可与现有的视频显示接口的传输带宽相匹配,但由于CameraLink接口和现有的视频显示接口的图像数据格式和接口方式不同,并且市面上目前也没有CameraLink接口的显示设备。因此,目前CameraLink接口输出的视频数据无法直接显示。针对这一问题,现有的一种解决方案为:通过专门的图像采集卡将CameraLink接口连接到计算机上,进而由图像采集卡来采集CameraLink接口输出的视频数据,并交由计算机进行解码、计算以将CameraLink接口输出的视频数据转换为视频显示接口可识别的视频文件,最终通过计算机显卡将视频文件输出到视频显示接口。现有的该种这种方案虽然可行,但由于需要借助计算机实现,导致系统较庞大,并且使用不方便。
技术实现要素:
为此,本发明提供基于CameraLink协议的视频图像显示方法、装置及系统,能够将CameraLink接口输出的视频数据直接转换为数字视频接口(Digital Visual Interface,DVI)可识别的视频数据,进而利用DVI显示器即可实现对CameraLink接口输出的视频图像的显示,并且无需借助计算机,实现方便。
为达到上述目的,本发明采用如下技术方案:
第一方面,提供一种基于CameraLink协议的视频图像显示方法,包括以下步骤:
步骤1,接收摄像机通过CameraLink接口输出的一帧视频数据;其中,一帧视频数据为摄像机输出的任一帧视频数据,摄像机输出的任一帧视频数据中均包含一帧对应的视频图像;
步骤2,提取并存储一帧视频数据中包含的视频图像;
步骤3,检测视频图像的分辨率;
步骤4,确定与视频图像的分辨率对应的分辨率模式;
步骤5,根据分辨率模式,生成与分辨率模式对应的DVI时钟信号及DVI图像同步信号;
步骤6,通过数字视频接口DVI将DVI时钟信号、DVI图像同步信号以及视频图像发送至DVI显示器,以使DVI显示器根据DVI时钟信号及DVI图像同步信号,显示视频图像。
第二方面,提供一种基于CameraLink协议的视频图像显示装置,用于执行第一方面所述的方法。
第三方面,提供一种基于CameraLink协议的视频图像显示系统,包括:摄像机、DVI显示器以及第二方面所述的显示装置;其中,摄像机通过CameraLink接口与显示装置连接,显示装置通过数字视频接口DVI与DVI显示器连接;
摄像机,用于采集视频数据,并通过CameraLink接口向显示装置发送所采集的视频数据;
显示装置,用于接收摄像机采集的视频数据,并将摄像机采集的视频数据转换为DVI可识别的视频数据,进而通过数字视频接口DVI向DVI显示器发送转换得到的视频数据;
DVI显示器,用于接收并显示显示装置转换得到的视频数据。
在本发明上述方案中,通过接收摄像机通过CameraLink接口输出的一帧视频数据,提取并存储该帧视频数据中包含的视频图像,进而检测该视频图像的分辨率,确定与该视频图像的分辨率对应的分辨率模式,并根据分辨率模式,生成与分辨率模式对应的DVI时钟信号及DVI图像同步信号,最后通过数字视频接口将DVI时钟信号、DVI图像同步信号以及该视频图像发送至DVI显示器,以使DVI显示器根据DVI时钟信号及DVI图像同步信号,显示视频图像。基于本发明上述方案,能够将CameraLink接口输出的视频数据直接转换为数字视频接口(Digital Visual Interface,DVI)可识别的视频数据,进而利用DVI显示器即可实现对CameraLink接口的视频图像的显示,并且无需借助计算机,实现方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于CameraLink协议的视频图像显示方法的流程示意图;
图2为本发明实施例提供的另一种基于CameraLink协议的视频图像显示方法的流程示意图;
图3为本发明实施例提供的一种基于CameraLink协议的视频图像显示装置的结构示意图;
图4为本发明实施例提供的一种基于CameraLink协议的视频图像显示系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示为本发明实施例提供的一种基于CameraLink协议的视频图像显示方法的流程示意图。
如图1所示,本发明实施例提供的基于CameraLink协议的视频图像显示方法,具体包括以下步骤:
步骤1,接收摄像机通过CameraLink接口输出的一帧视频数据。
其中,所述一帧视频数据为摄像机输出的任一帧视频数据,摄像机输出的任一帧视频数据中均包含一帧对应的视频图像。
其中,所述视频图像数据包括1位帧同步信号、1位行同步信号、1位数据有效信号以及24位的图像数据。当帧同步信号为高时表示摄像机正输出一帧有效数据;在帧同步信号为高时,行同步信号为高表示摄像机正输出一有效的行数据;当帧同步信号为高并且行同步信号为高时,数据有效信号为高表示摄像机正输出有效的数据。
步骤2,提取并存储一帧视频数据中包含的视频图像。
一种具体的实现方式中,步骤2具体可以包括:
当检测到帧同步信号的上升沿到来后,在帧同步信号、行同步信号和数据有效信号同时为高电平时,读取并存储24位的图像数据。
即,当根据帧同步信号、行同步信号和数据有效信号确定当前图像数据信号为有效数据时,读取并存储图像数据信号,所存储的图像数据信号即是摄像机输出的该帧视频数据中包含的视频图像。
步骤3,检测视频图像的分辨率。
其中,需要说明的是,本领域技术人员可以理解,图像的分辨率=水平宽度×垂直高度,因此检测视频图像的分辨率即是检测视频图像的垂直高度和水平宽度。
具体的,步骤3具体可以包括:
当检测到帧同步信号的上升沿到来后,检测帧同步信号为高电平期间行同步信号的上升沿个数,将行同步信号的上升沿个数确定为视频图像的垂直高度Y_SIZE,以及,当检测到行同步信号的上升沿到来后,检测行同步信号为高电平期间数据有效信号的高电平个数,将数据有效信号的高电平个数确定为视频图像的水平宽度X_SIZE。
步骤4,确定与视频图像的分辨率对应的分辨率模式。
本发明实施例的一种具体的实现方式中,步骤4具体可以包括:
当满足X_SIZE≤640且Y_SIZE≤480时,确定与视频图像的分辨率对应的分辨率模式为模式1;
当满足X_SIZE≤800且Y_SIZE≤600,并且X_SIZE>640或Y_SIZE>480时,确定与视频图像的分辨率对应的分辨率模式为模式2;
当满足X_SIZE≤1024且Y_SIZE≤768,并且X_SIZE>800或Y_SIZE>600时,确定与视频图像的分辨率对应的分辨率模式为模式3;
当满足X_SIZE≤1280且Y_SIZE≤1024,并且X_SIZE>1024或Y_SIZE>768时,确定与视频图像的分辨率对应的分辨率模式为模式4;
当满足X_SIZE≤1920且Y_SIZE≤1080,并且X_SIZE>1280或Y_SIZE>1024时,确定与视频图像的分辨率对应的分辨率模式为模式5;
其中,X_SIZE表示视频图像的水平宽度,Y_SIZE表示视频图像的垂直高度。
步骤5,根据分辨率模式,生成与分辨率模式对应的DVI时钟信号及DVI图像同步信号。
具体的,步骤5中,根据分辨率模式,生成与分辨率模式对应的DVI时钟信号,具体可以包括:
当分辨率模式为模式1时,生成频率为25.6MHz的DVI时钟信号;
当分辨率模式为模式2时,生成频率为40MHz的DVI时钟信号;
当分辨率模式为模式3时,生成频率为65MHz的DVI时钟信号;
当分辨率模式为模式4时,生成频率为109MHz的DVI时钟信号;
当分辨率模式为模式5时,生成频率为148.5MHz的DVI时钟信号。
优选的,所述的DVI图像同步信号包括:垂直同步信号、水平同步信号以及数据有效信号,则步骤5中,根据分辨率模式,生成与分辨率模式对应的DVI图像同步信号,具体可以包括以下步骤:
(5a)根据分辨率模式,确定对应的水平同步信号的有效周期数H_SYNC、水平同步信号下降沿到数据有效信号上升沿之间的周期数H_BACK、每行的有效数据周期数H_ACTIVE、数据有效信号下降沿到水平同步信号上升沿之间的周期数H_FRONT、垂直同步信号的有效周期数V_SYNC、垂直同步信号下降沿到数据有效上升沿之间的行数V_BACK、每帧视频图像的有效行数V_ACTIVE以及数据有效信号下降沿到垂直同步信号上升沿之间的行数V_FRONT。
具体的,可以预先存储各分辨率模式与各参数的对应关系,从而在确定对应的分辨率模式后,根据该预先存储的对应关系确定各参数。其中,根据相关标准,分辨率模式与各参数值的对应关系具体如表1所示,其中mode表示分辨率模式。
表1
(5b)在DVI时钟信号上升沿的触发下,产生行计数器和列计数器,并将行计数器和列计数器的值初始化为0;判断列计数器的值col是否满足:col<H_SYNC+H_BACK+H_ACTIVE+H_FRONT-1;若满足,则令列计数器的值col加1;若不满足,则将列计数器的值col清零,并判断行计数器的值row是否满足row<V_SYNC+V_BACK+V_ACTIVE+V_FRONT-1:若满足,则令行计数器的值row加1,若不满足,则将行计数器的值row清零。
(5c)利用列计数器的值col、行计数器的值row、水平同步信号的有效周期数H_SYNC、水平同步信号下降沿到数据有效信号上升沿之间的周期数H_BACK、每行的有效数据周期数H_ACTIVE、数据有效信号下降沿到水平同步信号上升沿之间的周期数H_FRONT、垂直同步信号的有效周期数V_SYNC、垂直同步信号下降沿到数据有效上升沿之间的行数V_BACK、每帧视频图像的有效行数V_ACTIVE以及数据有效信号下降沿到垂直同步信号上升沿之间的行数V_FRONT,生成与分辨率模式对应的垂直同步信号、水平同步信号以及数据有效信号。
其中,步骤5c具体可以如下逻辑,生成与分辨率模式对应的垂直同步信号、水平同步信号以及数据有效信号:
当DVI时钟信号的上升沿到来后,判断行计数器的值row是否大于(V_SYNC+V_BACK+V_FRONT-1):
若行计数器的值row大于(V_SYNC+V_BACK+V_FRONT-1),则进一步判断列计数器的值col是否小于(H_SYNC+H_BACK)或者是否大于(H_SYNC+H_BACK+H_ACTIVE-1):若是,则将数据有效信号置为低电平;若否,则将数据有效信号置为高电平;
若行计数器的值row不大于(V_SYNC+V_BACK+V_FRONT-1),则将数据有效信号置为低电平。
当DVI时钟信号的上升沿到来后,判断列计数器的值col是否小于H_SYNC:
若列计数器的值col小于H_SYNC,则将水平同步信号置为高电平;
若列计数器的值col不小于H_SYNC,则将水平同步信号置为低电平。
当DVI时钟信号的上升沿到来后,判断行计数器的值row是否小于V_SYNC:
若行计数器的值row小于V_SYNC,则将水平同步信号置为高电平;
若行计数器的值row不小于V_SYNC,则将水平同步信号置为低电平。
步骤6,通过数字视频接口将DVI时钟信号、DVI图像同步信号以及视频图像发送至DVI显示器,以使DVI显示器根据DVI时钟信号及DVI图像同步信号,显示视频图像。
至此,即处理完毕所接收的该帧视频数据,并通过DVI显示器显示了该帧视频数据中包含的视频图像。需要说明的是,在处理该帧视频数据的过程中,当该帧视频数据的下一帧数据到来后,对于该下一帧数据同样按照上述步骤进行并行处理。即,本发明实施例提供的基于CameraLink协议的视频图像显示方法中步骤1-6为并行处理方式。
基于本发明实施例提供的基于CameraLink协议的视频图像显示方法,通过接收摄像机通过CameraLink接口输出的一帧视频数据,提取并存储该帧视频数据中包含的视频图像,进而检测该视频图像的分辨率,确定与该视频图像的分辨率对应的分辨率模式,并根据分辨率模式,生成与分辨率模式对应的DVI时钟信号及DVI图像同步信号,最后通过数字视频接口将DVI时钟信号、DVI图像同步信号以及该视频图像发送至DVI显示器,以使DVI显示器根据DVI时钟信号及DVI图像同步信号显示视频图像,能够将CameraLink接口输出的视频数据直接转换为DVI可识别的视频数据,进而利用DVI显示器即可实现对CameraLink接口的视频图像的显示,并且无需借助计算机,实现方便。
优选的,如图2所示,本发明实施例提供的基于CameraLink协议的视频图像显示方法,在步骤5之后,还可以包括:
步骤7,根据视频图像的分辨率以及分辨率模式,计算得到视频图像的起始行数V_BEGIN、结束行数V_END、起始列数H_BEGIN及结束列数H_END。
其中,V_BEGIN=V_BACK+V_SYNC-1+(V_ACTIVE-Y_SIZE)/2,
V_END=V_BACK+V_SYNC-1+(V_ACTIVE-Y_SIZE)/2+Y_SIZE,
H_BEGIN=H_BACK+H_SYNC+(H_ACTIVE-X_SIZE)/2,
H_END=H_BACK+H_SYNC+(H_ACIIVE-X_SIZE)/2+X_SIZE。
则,步骤6具体可以包括:
当垂直同步信号的上升沿到来后,若检测到行计数器的值row在起始行数与结束行数之间,并且列计数器的值col在起始列数到结束列数之间,则通过数字视频接口将DVI时钟信号、DVI图像同步信号以及视频图像发送至DVI显示器,以使DVI显示器根据DVI时钟信号及DVI图像同步信号,显示视频图像。
这样一来,如果视频数据中包含的视频图像的分辨率小于DVI显示器的分辨率,则基于本发明上述方案,在垂直同步信号的上升沿到来后,检测到行计数器的值row在起始行数与结束行数之间,并且列计数器的值col在起始列数到结束列数之间时,才向通过数字视频接口向DVI显示器发送DVI时钟信号、DVI图像同步信号以及视频图像,即可将视频图像显示在DVI显示器的屏幕中心。
基于上述方法,本发明实施例还提供了一种基于CameraLink协议的视频图像显示装置,用于执行上述方法。
优选的,如图3所示,本发明实施例提供的基于CameraLink协议的视频图像显示装置30具体可以包括:视频数据接收模块、分辨率检测模块、DVI时钟信号产生模块、DVI同步信号产生模块以及DVI视频输出模块。工作时,视频数据接收模块接收摄像机通过CameraLink接口输出的视频数据,提取并存储视频数据中包含的视频图像;分辨率检测模块检测视频图像的分辨率,并根据视频图像的分辨率确定对应的分辨率模式,并将所确定的分辨率模式发送至DVI时钟信号产生模块及DVI同步信号产生模块;DVI时钟信号产生模块根据分辨率模式,产生对应的DVI时钟信号,并将DVI时钟信号发送至DVI同步信号产生模块及DVI视频输出模块;DVI同步信号产生模块在DVI时钟信号的驱动下,根据分辨率模式产生对应的DVI同步信号,并将DVI同步信号发送至DVI视频输出模块;DVI视频输出模块读取视频数据接收模块存储的视频图像,并将视频图的图像数据以及DVI时钟信号和DVI同步信号通过数字视频接口发送给DVI显示器,以使DVI显示器根据DVI时钟信号及DVI图像同步信号,显示视频图像。
其中,需要说明的是,使用DVI时钟信号驱动DVI同步信号产生模块可避免由于时序不一致导致分辨率模式不匹配,可保证分辨率模式的匹配。
具体的,可基于FPGA芯片实现本发明实施例上述装置。
基于本发明实施例提供的上述装置,能够将CameraLink接口输出的视频数据直接转换为DVI可识别的视频数据,进而利用DVI显示器即可实现对CameraLink接口的视频图像的显示,并且无需借助计算机,实现方便。
基于上述显示装置,本发明实施例还提供了一种基于CameraLink协议的视频图像显示系统,如图4所示,具体包括:摄像机10、DVI显示器20以及显示装置30。其中,摄像机通过CameraLink接口40与显示装置30连接,显示装置30通过数字视频接口50与DVI显示器20连接。
摄像机10,用于采集视频数据,并通过CameraLink接口40向显示装置30发送所采集的视频数据。
显示装置30,用于接收摄像机10采集的视频数据,并将摄像机10采集的视频数据转换为DVI可识别的视频数据,进而通过数字视频接口50向DVI显示器20发送转换得到的视频数据。
DVI显示器20,用于接收并显示装置30转换得到的视频数据。
基于本发明实施例提供的上述系统,能够将CameraLink接口输出的视频数据直接转换为数字视频接口可识别的视频数据,进而利用DVI显示器即可实现对CameraLink接口的视频图像的显示,并且无需借助计算机,实现方便。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。