多通道超高分辨率全景视频实时拼接处理方法与流程

文档序号:11389068阅读:1119来源:国知局
多通道超高分辨率全景视频实时拼接处理方法与流程

本发明涉及图像处理技术领域,尤其涉及一种高清视频数据处理方法,具体来说就是一种多通道超高分辨率全景视频实时拼接处理方法。



背景技术:

近年来,随着图像处理技术及数字视频技术的快速发展,虚拟现实(vr,virtualreality)技术在游戏、教育、军事和医疗等领域,都有广泛的应用。如今人们对视觉体验的要求越来越苛刻,用户希望通过vr设备观看分辨率更高的全景视频,但往往受到硬件设备的限制,用户的要求无法得到满足。全景视频通常由多个摄像头组合而成,例如,市场上存在鱼眼全景摄像头,但是这种镜头获得的视频容易产生畸变,而且这种摄像头自身的视频分别率比较低。因此,为了获得高分辨率的大场景信息,克服普通摄像头视野小,分辨率低的缺点,采用多路摄像头实现全景视频采集是目前比较常见的一种做法,多路摄像头实现全景视频采集必然应用到视频图像拼接技术。

多路摄像头实现全景视频采集技术中,多个摄像头能够同时获取两路或者三路的视频图像,且两个相邻的摄像机的视角重叠比例适当,再通过查找图像特征和特征值配准的方法计算出两幅图像之问的单应性矩阵,最后将各路图像缝合成广视角的图像。大部分相同型号的多个摄像头的性能是有微小差异的,在相同的环境下得到的图像色彩也会不同,而实际应用中受光线视角的影响,摄像机在同一时刻获得的图像是有明显视觉差的,从而导致最后得到的拼接图像的效果达不到用户的要求。因此本领域技术人员对视频预处理以及图像拼接算法的深入研究,有助于对采集的图像进行校正归一,以减少合成视频的差异性。

因此,本领域技术人员亟需研发一种多通道超高分辨率全景视频实时拼接处理方法,在现有有限的硬件资源情况下,实时、高效、无损地完成4k等超高分辨率全景视频的实时拼接。



技术实现要素:

有鉴于此,本发明要解决的技术问题在于提供一种多通道超高分辨率全景视频实时拼接处理方法,解决了现有技术中不能实时、高效、无损地完成多通道高分辨率全景视频拼接的问题。

为了解决上述技术问题,本发明的具体实施方式提供一种通道超高分辨率全景视频实时拼接处理方法,包括:将全景相机的输出图像在二维坐标系中的二维坐标转换为经纬度坐标系中的经纬度坐标;将所述经纬度坐标转换为归一化笛卡尔直角坐标;根据所述归一化笛卡尔直角坐标确定目标输入面;计算每个所述目标输入面的面内二维坐标;将所述面内二维坐标实时拼接成全景视频。

根据本发明的上述具体实施方式可知,通道超高分辨率全景视频实时拼接处理方法至少具有以下有益效果:将输出的二维坐标图像归一化为经纬度坐标图像,再转换至归一化笛卡尔直角坐标图像;然后依次完成前、后、左、右四个输入面的面选与计算,以及顶、底两个输入面的面选;计算每个输入面的面内二维坐标;最后校准输入面内的面内二维坐标。本发明实现了实时、高效、无损地完成多通道高分辨率全景视频实时拼接,易于实现、设计成本较低,可以利用现有的fpga(现场可编辑门阵列)或asic(专用集成电路),充分利用现有的硬件设备,在有限处理资源的情况下完成拼接任务。

应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本发明所欲主张的范围。

附图说明

下面的所附附图是本发明的说明书的一部分,其绘示了本发明的示例实施例,所附附图与说明书的描述一起用来说明本发明的原理。

图1为本发明实施例的一种多通道超高分辨率全景视频实时拼接处理方法的实施例一的流程示意图;

图2为本发明实施例的一种多通道超高分辨率全景视频实时拼接处理方法的实施例二的流程示意图;

图3为本发明实施例的一种多通道超高分辨率全景视频实时拼接处理方法的实施例三的流程示意图;

图4为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的信号处理示意图;

图5为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的坐标系转换模块处理示意图;

图6为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的六个输入面面选模块处理示意图;

图7为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的面内二维坐标计算模块处理示意图;

图8为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的误差校准模块处理示意图;

图9a为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的拼接前的效果示意图;

图9b为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的拼接后的效果示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本发明所揭示内容的精神,任何所属技术领域技术人员在了解本发明内容的实施例后,当可由本发明内容所教示的技术,加以改变及修饰,其并不脱离本发明内容的精神与范围。

本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。另外,在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。

关于本文中所使用的“第一”、“第二”、…等,并非特别指称次序或顺位的意思,也非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本创作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

关于本文中所使用的用语“大致”、“约”等,用以修饰任何可以微变化的数量或误差,但这些微变化或误差并不会改变其本质。一般而言,此类用语所修饰的微变化或误差的范围在部分实施例中可为20%,在部分实施例中可为10%,在部分实施例中可为5%或是其他数值。本领域技术人员应当了解,前述提及的数值可依实际需求而调整,并不以此为限。

某些用以描述本申请的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本申请的描述上额外的引导。

图1为本发明实施例的一种多通道超高分辨率全景视频实时拼接处理方法的实施例一的流程示意图,如图1所示,将全景相机的输出图像在二维坐标系中的二维坐标转换为经纬度坐标系中的经纬度坐标后,再转换为归一化笛卡尔直角坐标(即归一化后的笛卡尔直角坐标);依次完成前后左右上下输入面的面选,其中,面选具体指“获得输出像素值进行计算所需要采纳的输入图像的面索引”;最后计算输入面的面内二维坐标。

该附图所示的具体实施方式中,多通道超高分辨率全景视频实时拼接处理方法包括:

步骤101:将全景相机的输出图像在二维坐标系中的二维坐标转换为经纬度坐标系中的经纬度坐标。全景相机具有多个摄像头,每个摄像头采集一路视频;将输出图像在二维坐标系中的二维坐标转换为经纬度坐标系中的经纬度坐标之前,需要对输出图像的二维坐标进行归一化处理。本发明的具体实施例中,步骤101具体包括:将全景相机的输出图像在二维坐标系中的二维坐标归一化为标准二维坐标;将所述标准二维坐标转换为经纬度坐标系中的经纬度坐标。

将全景相机的输出图像在二维坐标系中的二维坐标(x,y)归一化为标准二维坐标所使用的归一化方程为:

其中,w为输出图像的宽度;h为输出图像的高度;(x,y)为二维坐标;为标准二维坐标。

将所述标准二维坐标转换为经纬度坐标系中的经纬度坐标所使用的转换方程为:

其中,为经纬度坐标;为标准二维坐标。

步骤102:将所述经纬度坐标转换为归一化笛卡尔直角坐标。

将所述经纬度坐标转换为归一化笛卡尔直角坐标(x,y,z)所使用的方程为:

其中,(x,y,z)为标准三维坐标;θ为经度坐标;为纬度坐标。

步骤103:根据所述归一化笛卡尔直角坐标确定目标输入面。其中,输入面有六个,包括前输入面、后输入面、左输入面、右输入面、上输入面和下输入面。首先,利用只读存储器(rom)读取高精度经度坐标θ2,然后判断θ2位于中的某个区间来计算该点的前后左右面选,并重新计算出后续所使用的经度θ3;其次,计算高精度纬度并计算预设阈值,根据预设阈值与高精度纬度完成上下输入面的面选。所述预设阈值φ的计算公式为:

φ=arctan(cosθ)

其中,φ为预设阈值;θ为经度坐标;符号∪表示区间并集。

上述θ与θ2均表示精度坐标,区别在于精度不同:θ的精度低,通过处理单元产生,目的是计算出(x,y,z);θ2则是高精度,通过读存储获得,目的是防止直接计算产生的精度不足造成面选误差。

此外,根据所述图像拼接算法,θ3可以通过如下准则获得:

其中,符号∪表示区间并集。

本发明的具体实施例中,根据所述归一化笛卡尔直角坐标确定输入面的步骤,具体包括:获取所述输出图像在所述归一化笛卡尔直角坐标中的经度坐标;根据所述经度坐标将所述输出图像上的面点归入到前输入面、后输入面、左输入面和右输入面中的一个;获取所述输出图像在所述归一化笛卡尔直角坐标中的纬度坐标;根据预设阈值和所述纬度坐标将所述输出图像上的面点归入到上输入面和下输入面中的一个。

步骤104:计算每个所述目标输入面的面内二维坐标。

步骤105:将所述面内二维坐标实时拼接成全景视频。

参见图1,本发明实现了实时、高效、无损地完成多通道高分辨率全景视频实时拼接,易于实现、设计成本较低,可以利用现有的fpga(现场可编辑门阵列)或asic(专用集成电路),充分利用现有的硬件设备,在有限处理资源的情况下完成拼接任务。

图2为本发明实施例的一种多通道超高分辨率全景视频实时拼接处理方法的实施例二的流程示意图,如图2所示,计算每个所述输入面的面内二维坐标。

该附图所示的具体实施方式中,步骤104具体包括:

步骤1041:将所述归一化笛卡尔直角坐标映射到轴纵横坐标系中。

本发明的具体实施例中,将所述归一化笛卡尔直角坐标映射到轴纵横坐标系中所使用的公式为:

其中,radius=ratio×axis,其中,ratio为与输入图像大小有关的比例因子,(axis,px,py)为轴纵横坐标;(cubex,cubey)为面内二维坐标;radius为半径。

步骤1042:旋转所述轴纵横坐标系获取所述目标输入面上的面内二维坐标。

本发明的具体实施例中,旋转所述轴纵横坐标系获取所述目标输入面上的面内二维坐标所使用的公式为:

其中,rad为弧度角。

参见图2,利用定点乘法器、定点除法器、加法器和越界控制逻辑,完成输入面内二维坐标计算(cubex,cubey),可以应用于任何市场销售的fpga(现场可编辑门阵列)或asic(专用集成电路)。

图3为本发明实施例的一种多通道超高分辨率全景视频实时拼接处理方法的实施例三的流程示意图,如图3所示,实现多通道超高分辨率全景视频实时拼接处理方法时,因定点计算导致的量化误差会影响输出图像结果,需要利用少量寄存器校准少量的误差点。

该附图所示的具体实施方式中,步骤104之后,该方法还包括:

步骤104-1:利用二维坐标系中的二维坐标校准目标输入面上的所述面内二维坐标。

参见图3,将计算完毕的坐标(cubex,cubey)与面内二维坐标(x,y)分别输入给横纵坐标判断模块。如果坐标满足预设中需要校准的条件,则输出更新的坐标值;否则,保持原有的输出值,从而消除量化误差影响输出图像结果。

图4~图9b为基于fpga的多通道4320×2160全景视频实时拼接处理方法的具体应用示意图,如图4所示,将基于fpga的多通道超高分辨率全景视频实时拼接处理方法应用于超高分辨率全景视频实时拼接系统中,超高分辨率全景视频实时拼接系统包括坐标系转换单元、六个输入面面选单元、输入面内二维坐标计算单元以及误差校准单元。在本发明一个优选实施例中,输入为6通道1920×1080大小的图像,输出为4320×2160大小的图像,系统处理输入图像如图4所示,具体说明如下:

坐标系转换单元,将输出图像二维坐标归一化为经纬度坐标系,再转换至归一化笛卡尔直角坐标。具体来说,坐标系转换单元将输出图像在二维坐标系中的二维坐标(x,y)归一化为再转换至经纬度坐标系中的经纬度坐标再转换至归一化笛卡尔直角坐标(x,y,z),处理示意图如图5所示。坐标系转换单元具体包括归一化模块、经纬度转换模块和单位二维坐标转换模块。

其中,归一化模块将所述输出图像的二维坐标归一化,通过下列公式转换,即:

其中,w,h分别为输出图像的宽度和高度。

所述经纬度转换模块将所述输出图像归一化后的二维坐标转换成经纬度坐标即:

所述单位二维坐标转换模块将经纬度坐标转换成归一化笛卡尔直角坐标,经过下列变换方程,即:

所述坐标系转换单元映射至fpga实现时,将归一化模块以及经纬度转换模块两个模块合二为一进行定点计算;三角函数运算均利用坐标旋转数字计算算法完成,部分三角函数计算单元实现复用,通过流水设计实现同步。

六个输入面面选单元依次完成前、后、左、右四个输入面面选与计算,顶、底(上、下)两个输入面面选,处理示意图如图6所示。

所述六个输入面面选单元包括高精度经度坐标获取模块和前后左右面选模块,上述两个模块用于完成前后左右四个输入面面选与计算。

其中,高精度经度坐标获取模块利用预先设计的只读存储器(rom)读取高精度经度坐标θ2;前后左右面选模块通过判断θ2位于中的某个区间来计算输出面上目标点的前后左右面选,并重新计算出后续所使用的经度θ3。

所述六个输入面面选单元还包括阈值计算模块、高精度纬度坐标计算模块、上下面选模块。上述模块依次完成顶底(上下)两个输入面面选。

其中,阈值计算模块根据φt=arctan(cosθ3)获得门限值φt,余弦值的计算通过cordic(坐标旋转数据计算方法)完成,反正切的计算通过对称式查找表完成,降低存储并提高精度;高精度纬度坐标计算模块用于计算高精度纬度上下面选模块则通过判断与±φt的关系计算目标输入面f是上下输入面还是前后左右输入面。

所述输入面内二维坐标计算单元包括映射模块、旋转与变换处理优化模块。其中,映射模块根据目标输入面,完成从归一化笛卡尔直角坐标到轴、横坐标、纵坐标的映射,即(x,y,z)→(axis,px,py);旋转与变换处理优化模块,利用很少的定点乘法器及定点除法器,完成输入面的面内二维坐标(cubex,cubey)计算。

优选地,该输入面内二维坐标计算单元是通过所选轴axis,面内坐标px、py,弧度角rad,半径radius进行计算的。

首先,经过如下公式进行初始化:

其次,利用下述公式进行旋转:

随后,利用下述公式进行映射:

优选地,在本实施例中,因为各通道输入图像为1920×1080大小,故

考虑到rad的选择是离散的,即:0,±π,故而将上述公式优化为:

当f=上输入面时,即有rad=π,

[axispxpy]t=[tytztx]t

当f=左输入面时,即有rad=π,

[axispxpy]t=[tztxty]t

当f=右输入面时,即有时,

[axispxpy]t=[tztytx]t

当f=下输入面时,即有时,

[axispxpy]t=[tytxtz]t

当f=后输入面时,即有时,

[axispxpy]t=[txtytz]t

当f=前输入面时,即有rad=0时,

[axispxpy]t=[txtzty]t

映射模块、旋转与变换处理优化模块在fpga中实现如下,首先将归一化笛卡尔直角坐标系变换为:

其次,将此输出用作标准输入,其处理示意图如图7所示。px和py信号依次经过定点乘法器、定点除法器、加法器和越界控制逻辑,完成输入面的面内二维坐标(cubex,cubey)计算。

误差校准单元用于校准输出面内少量误差点的输入面及二维坐标,误差校准单元包括横纵坐标判断模块、预设更新模块和保持模块。在fpga上实现所述多通道超高分辨率全景视频实时拼接处理方法时,因定点计算导致的量化误差会影响输出图像结果,需要利用少量寄存器校准少量的误差点。其处理示意图如图8所示,计算完毕的坐标(cubex,cubey)与输出面坐标(x,y)分别输入给横纵坐标判断模块。如果坐标满足预设中需要校准的条件,则由预设更新模块更新输出的坐标值;否则,保持模块保持原有的输出值。这里更新的或保持的均为目标点所对应的某输入面的二维坐标

图9a为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的拼接前的效果示意图;图9b为本发明实施例的一种基于fpga的多通道4320×2160全景视频实时拼接处理方法的拼接后的效果示意图,拼接前是6张独立的图像,分别为前、后、左、右、上、下图像,拼接后,对后、上、下图像进行拆分,便于观看。

上述的本发明实施例可在各种硬件、软件编码或两者组合中进行实施。例如,本发明的实施例也可为在数据信号处理器(digitalsignalprocessor,dsp)中执行上述方法的程序代码。本发明也可涉及计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(fieldprogrammablegatearray,fpga)执行的多种功能。可根据本发明配置上述处理器执行特定任务,其通过执行定义了本发明揭示的特定方法的机器可读软件代码或固件代码来完成。可将软件代码或固件代码发展为不同的程序语言与不同的格式或形式。也可为不同的目标平台编译软件代码。然而,根据本发明执行任务的软件代码与其他类型配置代码的不同代码样式、类型与语言不脱离本发明的精神与范围。

以上所述仅为本发明示意性的具体实施方式,在不脱离本发明的构思和原则的前提下,任何本领域的技术人员所做出的等同变化与修改,均应属于本发明保护的范围。

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