本发明属于图像处理领域,尤其涉及一种全景相机及其实时输出和录制hdmi全景视频流的方法和装置。
背景技术
目前常见的全景相机在做直播时,需要把多个镜头的数据分别通过网线传输到电脑,再由电脑完成多路画面的拼接,拼接成一个全景画面,然后通过推流软件推送到网络中做直播,没有多余的性能来录制实时的直播画面。这种方案的缺点是:一、从全景相机镜头采集多路数据,再到电脑端合成处理,然后再转发推流,中间处理环节复杂,数据量交换巨大,造成最后推出的直播流延迟很大,往往需要十几秒以上的延迟,直播的实时性大打折扣;二、从全景相机镜头采集的多路数据必须同步,才能在电脑端合成时合成同步的画面,对网络的带宽和稳定性要求非常高,一旦其中有任何一路出了问题,整个直播便无法进行,因此容错率低;三、一台全景相机没法实现直播的同时录制实时画面,例如一些重要的新闻实时直播没法同时记录下来;四、为了实现直播的同时录制实时画面则必须用多台全景相机或者额外的电脑来录制实时画面,设备成本和操作复杂度比较高。
技术实现要素:
本发明的目的在于提供一种全景相机及其实时输出和录制hdmi全景视频流的方法、装置和计算机可读存储介质,旨在解决现有的全景相机直播延迟大、对网络的带宽和稳定性要求非常高、容错率低,一台全景相机没法实现直播的同时录制实时画面,实现直播的同时录制实时画面则设备成本和操作复杂度比较高的问题。
第一方面,本发明提供了一种全景相机实时输出和录制hdmi全景视频流的方法,所述方法包括:
当利用全景相机拍摄全景视频时,全景相机将所有镜头采集到的图像数据实时拼接成完整的全景图像,从而生成全景视频流;
全景相机将全景视频流实时编码为hdmi全景视频流信号;
全景相机实时通过hdmi接口将hdmi全景视频流信号传输至终端,并实时通过数据传输接口将hdmi全景视频流信号存储至外部存储设备。
第二方面,本发明提供了一种全景相机实时输出和录制hdmi全景视频流的装置,所述装置内置于全景相机,所述装置包括:
拼接模块,用于当利用全景相机拍摄全景视频时,将所有镜头采集到的图像数据实时拼接成完整的全景图像,从而生成全景视频流;
编码模块,用于将全景视频流实时编码为hdmi全景视频流信号;
传输模块,用于实时通过hdmi接口将hdmi全景视频流信号传输至终端,并实时通过数据传输接口将hdmi全景视频流信号存储至外部存储设备。
第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的全景相机实时输出和录制hdmi全景视频流的方法的步骤。
第四方面,本发明提供了一种全景相机,包括:
一个或多个处理器;
存储器;以及
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上述的全景相机实时输出和录制hdmi全景视频流的方法的步骤。
在本发明中,由于全景相机在机内将所有镜头采集到的图像数据实时拼接成完整的全景图像,从而生成全景视频流,将全景视频流实时编码为hdmi全景视频流信号,实时通过hdmi接口将hdmi全景视频流信号传输至终端,并实时通过数据传输接口将hdmi全景视频流信号存储至外部存储设备。因此从实时拼接到输出hdmi全景视频流信号的延迟较低,保证了直播的实时性;对网络的带宽和稳定性依赖较低,只要全景相机和hdmi视频线的连接稳定即可传输hdmi全景视频流信号;本发明将hdmi全景视频流信号传输至终端依赖的环节少,因此容错率高;又由于实时通过hdmi接口将hdmi全景视频流信号传输至终端,因此除了视频采集卡、直播导播台等常见的直播场景之外,本发明还支持航拍hdmi图传、电视实时展示,拓展了普通全景相机只能用视频采集卡或直播导播台的应用场景;本发明可以采用一台全景相机实现直播的同时录制实时画面,设备成本低,操作简单。
附图说明
图1是本发明实施例一提供的全景相机实时输出和录制hdmi全景视频流的方法的流程图。
图2是本发明实施例一提供的全景相机实时输出和录制hdmi全景视频流的方法中,s101的流程图。
图3是本发明实施例二提供的全景相机实时输出和录制hdmi全景视频流的装置的功能模块框图。
图4是本发明实施例四提供的全景相机的具体结构框图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
请参阅图1,本发明实施例一提供的全景相机实时输出和录制hdmi全景视频流的方法包括以下步骤:需注意的是,若有实质上相同的结果,本发明的全景相机实时输出和录制hdmi全景视频流的方法并不以图1所示的流程顺序为限。
s101、当利用全景相机拍摄全景视频时,全景相机将所有镜头采集到的图像数据实时拼接成完整的全景图像,从而生成全景视频流。
s102、全景相机将全景视频流实时编码为hdmi(highdefinitionmultimediainterface,高清晰度多媒体接口)全景视频流信号。
s103、全景相机实时通过hdmi接口将hdmi全景视频流信号传输至终端,并实时通过数据传输接口将hdmi全景视频流信号存储至外部存储设备。
在本发明实施例一中,终端可以是航拍hdmi图传模块、视频采集卡、直播导播台、电视等设备,所述外部存储设备是移动硬盘、u盘等。
在本发明实施例一中,请参阅图2,所述全景相机将所有镜头采集到的图像数据实时拼接成完整的全景图像具体可以包括以下步骤:
s1011、全景相机获取所有镜头采集到的图像数据。
s1012、将多幅图像分别展开成经纬度图像。
在本发明实施例一中,s1012具体可以包括以下步骤:
获取将镜头采集的图像展开到经纬度图像的模型;
根据所述模型,分别展开所述多幅图像,得到与所述多幅图像分别对应的多幅经纬度图像。
s1013、分别提取多幅经纬度图像之间的拼接区域,得到多个拼接区域,将多个拼接区域投影到单位球上。
在本发明实施例一中,s1013具体可以包括以下步骤:
分别提取n幅经纬度图像i1-in之间的拼接区域,得到n个拼接区域s1-sn;对提取的n个拼接区域s1-sn进行球面投影,得到单位球面上的n个待拼接区域j1-jn,其中n为大于或等于2的自然数。
s1014、提取单位球面上待拼接区域对应的柱面区域,分别计算待拼接区域的左、右图像之间的光流场。
在本发明实施例一中,s1014具体可以包括以下步骤:
提取单位球面上n个待拼接区域j1-jn,将待拼接区域j1-jn分别映射到对应的柱面区域t1-tn;
分别计算n个柱面区域t1-tn的左、右图像之间的光流场,针对每个柱面区域,具体为:
计算左图像到右图像的光流场fl→r(x,y)和右图像到左图像的光流场fr→l(x,y);
根据拼接区域像素点和左、右两个拼缝之间的距离自适应调整左图像到右图像的光流场fl→r(x,y)的权重值α和右图像到左图像的光流场fr→l(x,y)的权重值β,得到调整后的光流场。
fl→r(x,y)=α·fl→r(x,y)(公式1)
fr→l(x,y)=β·fr→l(x,y)(公式2)
为了实现无缝拼接,对于左图像,应使其越靠近左边的区域光流值越小,而对于右图像,应使其越靠近右边的图像区域光流值越小。因此设置两个权重值α和β,其中α∈[0,1],β∈[0,1],在公式1中,α值随着左图像的区域从左到右逐渐增大,在公式2中,β值随着右图像的区域从右到左逐渐减小。
s1015、根据待拼接区域的左、右图像之间的光流场,分别对每个拼接区域的图像进行融合,直至所有拼接区域的图像融合后,得到无缝拼接后的全景图像。
在本发明实施例一中,所述根据待拼接区域的左、右图像之间的光流场,分别对每个拼接区域的图像进行融合具体可以包括以下步骤:
根据拼接区域像素点和左、右两个拼缝之间的距离自适应调整左、右图像融合的权重值λ和μ;
根据公式3对待拼接的区域tl和tr进行图像融合,获取融合后的区域tb。
其中,tb(x,y)表示融合后像素点(x,y)的值,tl(x,y)表示表示融合区域左图像中像素点的值,tr(x,y)表示融合区域右图像中像素点的值,λ和μ为权重值,λ∈[0,1],μ∈[0,1]。对于靠近左拼缝的融合区域,应使左图像对应像素值占有较大权重,λ值设置随着距左拼缝的距离而由大到小变化。而对于靠近右拼缝的融合区域,应使右图像对应像素值占有较大权重,μ值设置为随着距离右拼缝的距离而由大到小变化。
由于分别提取多幅经纬度图像之间的拼接区域,得到多个拼接区域,将多个拼接区域投影到单位球上;提取单位球面上待拼接区域对应的柱面区域,分别计算待拼接区域的左、右图像之间的光流场;根据待拼接区域的左、右图像之间的光流场,分别对每个拼接区域的图像进行融合。因此,在图像拼接区域不会出现明显的拼接痕迹,能实现融合区域平滑过渡,达到无缝拼接的效果。
实施例二:
请参阅图3,本发明实施例二提供的全景相机实时输出和录制hdmi全景视频流的装置,所述装置内置于全景相机,所述装置包括:
拼接模块11,用于当利用全景相机拍摄全景视频时,将所有镜头采集到的图像数据实时拼接成完整的全景图像,从而生成全景视频流;
编码模块12,用于将全景视频流实时编码为hdmi全景视频流信号;
传输模块13,用于实时通过hdmi接口将hdmi全景视频流信号传输至终端,并实时通过数据传输接口将hdmi全景视频流信号存储至外部存储设备。
本发明实施例二提供的全景相机实时输出和录制hdmi全景视频流的装置及本发明实施例一提供的全景相机实时输出和录制hdmi全景视频流的方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。
实施例三:
本发明实施例三提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例一提供的全景相机实时输出和录制hdmi全景视频流的方法的步骤。
实施例四:
图4示出了本发明实施例四提供的全景相机的具体结构框图,一种全景相机100包括:一个或多个处理器101、存储器102、以及一个或多个计算机程序,其中所述处理器101和所述存储器102通过总线连接,所述一个或多个计算机程序被存储在所述存储器102中,并且被配置成由所述一个或多个处理器101执行,所述处理器101执行所述计算机程序时实现如本发明实施例一提供的全景相机实时输出和录制hdmi全景视频流的方法的步骤。
在本发明中,由于全景相机在机内将所有镜头采集到的图像数据实时拼接成完整的全景图像,从而生成全景视频流,将全景视频流实时编码为hdmi全景视频流信号,实时通过hdmi接口将hdmi全景视频流信号传输至终端,并实时通过数据传输接口将hdmi全景视频流信号存储至外部存储设备。因此从实时拼接到输出hdmi全景视频流信号的延迟较低,保证了直播的实时性;对网络的带宽和稳定性依赖较低,只要全景相机和hdmi视频线的连接稳定即可传输hdmi全景视频流信号;本发明将hdmi全景视频流信号传输至终端依赖的环节少,因此容错率高;又由于实时通过hdmi接口将hdmi全景视频流信号传输至终端,因此除了视频采集卡、直播导播台等常见的直播场景之外,本发明还支持航拍hdmi图传、电视实时展示,拓展了普通全景相机只能用视频采集卡或直播导播台的应用场景;本发明可以采用一台全景相机实现直播的同时录制实时画面,设备成本低,操作简单。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。