掌桥专利:专业的专利平台
掌桥专利
首页

一种多屏帧同步方法、系统及设备

文献发布时间:2024-04-18 19:53:33


一种多屏帧同步方法、系统及设备

技术领域

本发明属于图像处理技术领域,具体涉及一种多屏帧同步方法、系统及设备。

背景技术

目前在Unity3D等渲染引擎中,FOV通常指垂直方向的相机角度,根据这个角度去拼合多个屏幕存在很多困难,通常解决方式是手动微调,手动调整相机拍摄角度,根据角度拼合多个画面;这样既不精确,也不方便。

此外,需要对输入内容源进行画面缩放,按照已拼接显示设备所在坐标,进行内容投放。而使用多个内容源,无法复用单一内容源,增加了存储成本。

最后在图像的处理上,需要播放多路内容,增加了设备解码压力。

发明内容

为了克服上述技术的不足,本发明提供了一种多屏帧同步方法、系统及设备,能够让画面拼接一直保持完整连贯,弥补了手动调整相机拍摄角度存在的误差;并且根据赋值的相机夹角动态拼接摄像机输出画面,将画面显示在一个及以上的画面输出设备中,有效解决复数的画面拼接问题。

本发明的目的是采用下述技术方案实现的:

一种多屏帧同步方法,所述方法包括:

基于预先获得的摄像机的FOV垂直视口角度和显示屏宽高比例,计算摄像机的FOV水平视口角度,为相机夹角赋值;

根据赋值的相机夹角动态拼接摄像机输出画面。

优选的,所述计算摄像机的FOV水平视口角度包括:

识别所述监控区域内的一个或多个对象,所述一个或多个对象在所述多个摄像机中的至少两个摄像机的相机FOV内;其中,所述两个摄像机分别为第一摄像机和第二摄像机;

获取相机的配置信息和各顶点的位置坐标,定位渲染相机的原点,将渲染相机在渲染空间的投影截面作为所述第一摄像机平面和第二摄像机平面;

选取所述第一摄像机平面和第二摄像机平面的中心点S点和S'点作为相机的方向,计算第一摄像机平面和第二摄像机之间的夹角,并将所述夹角作为摄像机的FOV水平视口角度。

进一步地,所述获取渲染相机的配置信息和各顶点的位置坐标,定位渲染相机的原点之前还包括:

向云渲染服务器发送渲染请求;所述渲染请求包括渲染相机的配置信息;

云渲染服务器根据请求,创建渲染相机对象,与显示终端绑定连接,进行三维渲染。

优选的,所述计算第一摄像机平面和第二摄像机之间的夹角包括:设摄像机沿垂直方向的视场角∠AOB,∠COD为摄像机沿水平方向的视场角,通过下式确定∠SOS'的数值:

AS=2xOSxtan(∠AOB/2xπ/180);

CD=ASx(宽L/高H);

∠COD=2xarctan(CD/2/OS)x180/π;

∠SOS’=∠COD;

其中,L和H分别表示显示屏的宽度和高度,O点是渲染相机的原点,OS为在渲染空间内的选取的任意投影截面到渲染相机原点的距离,S为OS所在投影截面上的中心点,AS为OS所在投影截面高度的一半,CD为OS所在投影截面的宽度;∠SOS'为第一摄像机平面和第二摄像机之间的夹角。

进一步地,所述相机夹角赋值具体为基于∠SOS'的数值实时赋予第二摄像机的Y轴旋转值。

进一步地,所述动态拼接画面包括:

基于第二摄像机的Y轴旋转值转动第二摄像机,使得第二摄像机的相机FOV内识别的对象与第一摄像机对应于同一对象;

采集所述第一摄像机的相机FOV与所述第二摄像机的所述相机FOV对应帧图像;

将计算设备在逻辑上与相机耦合,以从第一摄像机接收第一图像并且从第二摄像机接收第二图像;动态拼接第一图像和第二图像以形成拼接图像,并通过画面输出设备进行显示。

一种多屏帧同步系统,,包括:

计算模块,用于基于预先获得的摄像机的FOV垂直视口角度和显示屏宽高比例,计算摄像机的FOV水平视口角度,为相机夹角赋值;

动态拼接模块,用于根据赋值的相机夹角动态拼接摄像机输出画面。

优选的,所述计算模块包括:

识别单元,用于识别所述监控区域内的一个或多个对象,所述一个或多个对象在所述多个摄像机中的至少两个摄像机的相机FOV内;其中,所述两个摄像机分别为第一摄像机和第二摄像机;

请求单元,用于向云渲染服务器发送渲染请求;所述渲染请求包括渲染相机的配置信息;

渲染单元,用于云渲染服务器根据请求,创建渲染相机对象,与显示终端绑定连接,进行三维渲染;

定位单元,用于获取相机的配置信息和各顶点的位置坐标,定位渲染相机的原点,将渲染相机在渲染空间的投影截面作为所述第一摄像机平面和第二摄像机平面;

确定单元,用于选取所述第一摄像机平面和第二摄像机平面的中心点S点和S'点作为相机的方向,计算第一摄像机平面和第二摄像机之间的夹角,并将所述夹角作为摄像机的FOV水平视口角度。

优选的,所述动态拼接模块包括:

处理单元,用于基于第二摄像机的Y轴旋转值转动第二摄像机,使得第二摄像机的相机FOV内识别的对象与第一摄像机对应于同一对象;

采集单元,用于采集所述第一摄像机的相机FOV与所述第二摄像机的所述相机FOV对应帧图像;

图像显示单元,用于将计算设备在逻辑上与相机耦合,以从第一摄像机接收第一图像并且从第二摄像机接收第二图像;动态拼接第一图像和第二图像以形成拼接图像,并通过画面输出设备进行显示。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述的多屏帧同步方法的步骤。

本发明达到的有益效果是:

1、本发明提出的一种多屏帧同步方法、系统及设备,可根据相机的FOV设置,动态计算不同相机之间的夹角,让画面拼接一直保持完整连贯。

2、将一个(路)内容源(360°全景图像及视频、2D平面图像及视频),利用该发明显示在一个及以上的画面输出设备中,解决复数的画面拼接问题。输出设备拼接之间,不限制夹角度数,节省了安装设备的人力成本。并且可以随时更改拼接角度。并且输出设备不限制数量,直至可以显示一个完整的内容源画面。增强显示内容的播放效果。

3、本发明显示的画面支持平面显示屏,球形显示屏,任意拼接角度的多台显示屏。

4、本发明不需要制作新硬件,或者对现有硬件进行改造,纯软件实现,节省经济成本。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1是本发明提供的一种多屏帧同步方法流程图;

图2是本发明提供的计算不同相机之间的夹角示意图;

图3是本申请实施例的一种电子设备模块示意图;

图4是本发明具体实施方式提供的多屏帧同步系统结构示意图;

附图标记说明:31、处理器;32、通信总线;33、计算机程序;34、用户接口;35、网络接口;36、存储器;41、计算模块;42、动态拼接模块。

具体实施方式

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

如图1所示,本发明提供的一种多屏帧同步方法,所述方法包括:

S1基于预先获得的摄像机的FOV垂直视口角度和显示屏宽高比例,计算摄像机的FOV水平视口角度,为相机夹角赋值;

S2根据赋值的相机夹角动态拼接摄像机输出画面。

步骤S1中,计算摄像机的FOV水平视口角度包括以下步骤:

S101识别所述监控区域内的一个或多个对象,所述一个或多个对象在所述多个摄像机中的至少两个摄像机的相机FOV内;其中,所述两个摄像机分别为第一摄像机和第二摄像机;

S102获取相机的配置信息和各顶点的位置坐标,定位渲染相机的原点,将渲染相机在渲染空间的投影截面作为所述第一摄像机平面和第二摄像机平面;

S103选取所述第一摄像机平面和第二摄像机平面的中心点S点和S'点作为相机的方向,计算第一摄像机平面和第二摄像机之间的夹角,并将所述夹角作为摄像机的FOV水平视口角度。

其中,在步骤S102获取渲染相机的配置信息和各顶点的位置坐标,定位渲染相机的原点之前还包括:

向云渲染服务器发送渲染请求;所述渲染请求包括渲染相机的配置信息;

云渲染服务器根据请求,创建渲染相机对象,与显示终端绑定连接,进行三维渲染。

步骤S103中计算第一摄像机平面和第二摄像机之间的夹角具体计算过程包括:设摄像机沿垂直方向的视场角∠AOB,∠COD为摄像机沿水平方向的视场角,通过下式确定∠SOS'的数值:

AS=2xOSxtan(∠AOB/2xπ/180);

CD=ASx(宽L/高H);

∠COD=2xarctan(CD/2/OS)x180/π;

∠SOS’=∠COD;

其中,L和H分别表示显示屏的宽度和高度,O点是渲染相机的原点,OS为在渲染空间内的选取的任意投影截面到渲染相机原点的距离,S为OS所在投影截面上的中心点,AS为OS所在投影截面高度的一半,CD为OS所在投影截面的宽度;∠SOS'为第一摄像机平面和第二摄像机之间的夹角。

步骤S2,所述相机夹角赋值具体为基于∠SOS'的数值实时赋予第二摄像机的Y轴旋转值。

进一步地,动态拼接画面包括:

基于第二摄像机的Y轴旋转值转动第二摄像机,使得第二摄像机的相机FOV内识别的对象与第一摄像机对应于同一对象;

采集所述第一摄像机的相机FOV与所述第二摄像机的所述相机FOV对应帧图像;

将计算设备在逻辑上与相机耦合,以从第一摄像机接收第一图像并且从第二摄像机接收第二图像;动态拼接第一图像和第二图像以形成拼接图像,并通过画面输出设备进行显示。

实施例1:本实施例1提供一种基于上述多屏帧同步方法进行相机的FOV设置,动态计算不同相机之间的夹角的方案,参见图2;图中O点是渲染相机的原点,“摄像机1”平面和“摄像机2”平面是模拟虚拟相机的渲染空间的投影截面。“S”点和“S'”点是相机的方向,也是“摄像机1”平面和“摄像机2”平面的中心点。∠AOB是摄像机的FOV(fieldofview)垂直方向的视场角。∠COD是水平方向的视场角。本方法计算∠SOS'的数值,并将此值实时赋予摄像机2的Y轴旋转值。

本实施例中,实时计算上图中SoS'的度数,项目已知条件是垂直方向FOV的角度即∠AOB,屏幕的宽L和高H,具体算法如下:

AS=2xOSxtan(∠AOB/2xπ/180);

CD=ASx(宽L/高H);

∠COD=2xarctan(CD/2/OS)x180/π;

∠SOS’=∠COD;

设屏幕的宽高比是16:9,设OS的长度为1,设场视角FOV为60度,代入以上算法可得:AS=2x1xtan(60/2xπ/180)≈1.154701;

CD=1.154701x16/9≈2.052801;

∠SOS’=∠COD=2xarctan(2.052801/2/1)x180/π≈91.49284;

通过计算机程序实现,以C#为例:

publicfloatGetHorizenCameraFOV(){

floatcameraHeight=2.0f*objDistanceFOV*Mathf.Tan(myCamera.fieldOfView*0.5f*Mathf.Deg2Rad);

varcameraWidth=cameraHeight*myCamera.aspect;

varhorizontalfov=2*Mathf.Atan(cameraWidth*0.5f/objDistanceFOV)*Mathf.Rad2Deg;

returnhorizontalfov;

}

实施例2:基于同一发明构思,本具体实施方式还提供一种与上述方法对应的虚拟系统:一种多屏帧同步系统,参考图4所示,其包括:

计算模块,用于基于预先获得的摄像机的FOV垂直视口角度和显示屏宽高比例,计算摄像机的FOV水平视口角度,为相机夹角赋值;

动态拼接模块,用于根据赋值的相机夹角动态拼接摄像机输出画面。

其中,所述计算模块包括:

识别单元,用于识别所述监控区域内的一个或多个对象,所述一个或多个对象在所述多个摄像机中的至少两个摄像机的相机FOV内;其中,所述两个摄像机分别为第一摄像机和第二摄像机;

请求单元,用于向云渲染服务器发送渲染请求;所述渲染请求包括渲染相机的配置信息;

渲染单元,用于云渲染服务器根据请求,创建渲染相机对象,与显示终端绑定连接,进行三维渲染;

定位单元,用于获取相机的配置信息和各顶点的位置坐标,定位渲染相机的原点,将渲染相机在渲染空间的投影截面作为所述第一摄像机平面和第二摄像机平面;

确定单元,用于选取所述第一摄像机平面和第二摄像机平面的中心点S点和S'点作为相机的方向,计算第一摄像机平面和第二摄像机之间的夹角,并将所述夹角作为摄像机的FOV水平视口角度。

动态拼接模块包括:

处理单元,用于基于第二摄像机的Y轴旋转值转动第二摄像机,使得第二摄像机的相机FOV内识别的对象与第一摄像机对应于同一对象;

采集单元,用于采集所述第一摄像机的相机FOV与所述第二摄像机的所述相机FOV对应帧图像;

图像显示单元,用于将计算设备在逻辑上与相机耦合,以从第一摄像机接收第一图像并且从第二摄像机接收第二图像;动态拼接第一图像和第二图像以形成拼接图像,并通过画面输出设备进行显示。

实施例3:参考图3,为本申请实施例提供了一种电子设备的结构示意图。如图3所示,电子设备可以包括:至少一个处理器31,至少一个网络接口35,用户接口34,存储器36,至少一个通信总线32。

其中,通信总线32用于实现这些组件之间的连接通信。

其中,用户接口34可以包括显示屏(Display)、摄像头(Camera),可选用户接口34还可以包括标准的有线接口、无线接口。

其中,网络接口35可选的可以包括标准的有线接口、无线接口(如WIFI接口)。

其中,处理器31可以包括一个或者多个处理核心。处理器31利用各种借口和线路连接整个服务器内的各个部分,通过运行或执行存储在存储器36内的指令、程序、代码集或指令集,以及调用存储在存储器36内的数据,执行服务器的各种功能和处理数据。可选的,处理器31可以采用数字信号处理(DigitalSignalProcessing,DSP)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、可编程逻辑阵列(ProgrammableLogicArray,PLA)中的至少一种硬件形式来实现。处理器31可集成中央处理器(CentralProcessingUnit,CPU)、图像处理器(GraphicsProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器31中,单独通过一块芯片进行实现。

其中,存储器36可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory)。可选的,该存储器36包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器36可用于存储指令、程序、代码、代码集或指令集。存储器36可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器36可选的还可以是至少一个位于远离前述处理器31的存储装置。如图3所示,作为一种计算机存储介质的存储器36中可以包括操作系统、网络通信模块、用户接口模块以及一种多屏帧同步方法及系统的应用程序。

在图3所示的电子设备中,用户接口34主要用于为用户提供输入的接口,获取用户输入的数据;而处理器31可以用于调用存储器36中存储一种基于区块链机制的云算力共享方法及系统的应用程序,当由一个或多个处理器31执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。

本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLEGateArray,FPGA)、集成电路(IntegratedCircuit,IC)等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器、中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器、包括:U盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器、(Random AccessMemory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器36可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

技术分类

06120116336994