发明内容
有鉴于此,本公开实施例提供一种全景视频的处理方法、装置及存储介质。
本公开实施例提供了一种全景视频的处理方法,所述方法包括:
确定全景视频的视频帧中的参考帧,并确定所述参考帧中的目标对象;
获取所述目标对象在所述参考帧中的位置信息;
基于所述位置信息,获取所述目标对象在所述全景视频中的运动轨迹;
基于所述运动轨迹对待处理音频帧进行处理,以得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧;并且
将所述目标音频帧与所述全景视频的视频帧合成以得到全景视频文件。
上述方案中,所述获取所述目标对象在所述参考帧中的位置信息,包括:
识别所述参考帧中所述目标对象的多个特征点,得到对应所述目标对象的特征点集合;
基于所述特征点集合中的特征点,获取所述目标对象在所述参考帧中的位置信息,所述位置信息包括:
所述目标对象在所述全景视频中所处位置对应的角度信息;所述目标对象在所述全景视频中所处位置的中心距离,所述中心距离为所述位置与所述参考帧对应的三维模型的中心的距离。
上述方案中,所述基于所述特征点集合中的特征点,获取所述目标对象在所述参考帧中的位置信息,包括:
确定所述特征点集合中多个特征点的重心位置;
基于所述重心位置,确定所述目标对象在所述全景视频中所处位置对应的角度信息;
获取所述多个特征点在所述参考帧中占据的区域的像素面积;
基于所述像素面积,确定所述目标对象在所述全景视频中所处位置的中心距离。
上述方案中,所述基于所述重心位置,确定所述目标对象在所述全景视频中所处位置对应的角度信息,包括:
确定所述重心位置对应的像素点的像素点坐标;
将所述像素点坐标转换成对应所述三维模型的球面坐标,所述球面坐标指示所述目标对象在所述全景视频中所处位置对应的角度。
上述方案中,所述基于所述像素面积,确定所述目标对象在所述全景视频中所处位置的中心距离,包括:
根据所述像素面积与所述中心距离的平方所呈的反比例关系,确定所述目标对象在所述全景视频中所处位置的中心距离。
上述方案中,所述方法还包括:
将所述特征点集合中的多个特征点,与所述全景视频的非参考帧中的特征点进行特征点匹配,得到特征点匹配结果;
基于所述特征点匹配结果,确定所述非参考帧中所述目标对象的位置。
上述方案中,所述基于所述特征点匹配结果,确定所述非参考帧中所述目标对象的位置,包括:
基于所述特征点匹配结果,在所述非参考帧中,选取与所述特征点集合中的特征点的相似度大于第一相似度阈值的特征点;
基于选取的所述大于第一相似度阈值的特征点,确定所述非参考帧中所述目标对象的位置。
上述方案中,所述基于所述位置信息,获取所述目标对象在所述全景视频中的运动轨迹,包括:
获取所述全景视频的每个非参考帧中所述目标对象的位置信息;
基于所述目标对象在所述参考帧中的位置信息,以及每个非参考帧中所述目标对象的位置信息,确定所述目标对象在所述全景视频中的运动轨迹。
上述方案中,所述方法还包括:
基于所述特征点匹配结果,在所述非参考帧中,选取与所述特征点集合中的特征点的相似度小于第二相似度阈值的特征点;
基于选取的所述小于第二相似度阈值的特征点,更新所述特征点集合中的特征点。
上述方案中,所述方法还包括:
获取预设数量的非参考帧,与所述特征点集合中特征点的匹配结果;所述预设数量的非参考帧为所述全景视频的连续视频帧;
基于获取的特征点匹配结果,确定所述特征点集合中的待删除特征点,所述待删除特征点与获取的非参考帧中的特征点的相似度小于第三相似度阈值;
将所述待删除特征点从所述特征点集合中删除。
上述方案中,所述确定所述参考帧中的目标对象,包括:
接收到针对所述参考帧的对象选取操作;
基于所述对象选取操作在所述参考帧中所选定的区域,确定所述参考帧中的目标对象。
上述方案中,所述基于所述运动轨迹,对待处理音频帧进行处理,得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧,包括:
调用三维音频引擎,对待处理音频帧根据所述运动轨迹进行混音处理,得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧。
本公开实施例还提供了一种全景视频的处理装置,所述装置包括:
确定单元,用于确定全景视频的视频帧中的参考帧,并确定所述参考帧中的目标对象;
获取单元,用于获取所述目标对象在所述参考帧中的位置信息;
以及,用于基于所述位置信息,获取所述目标对象在所述全景视频中的运动轨迹;
处理单元,用于基于所述运动轨迹,对待处理音频帧进行处理,得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧;
其中所述目标音频帧用于与所述全景视频的视频帧合成得到全景视频文件。
上述方案中,所述获取单元,还用于识别所述参考帧中所述目标对象的多个特征点,得到对应所述目标对象的特征点集合;
基于所述特征点集合中的特征点,获取所述目标对象在所述参考帧中的位置信息,所述位置信息包括:
所述目标对象在所述全景视频中所处位置对应的角度信息;所述目标对象在所述全景视频中所处位置的中心距离,所述中心距离为所述位置与所述参考帧对应的三维模型的中心的距离。
上述方案中,所述获取单元,还用于确定所述特征点集合中多个特征点的重心位置;
基于所述重心位置,确定所述目标对象在所述全景视频中所处位置对应的角度信息;
获取所述多个特征点在所述参考帧中占据的区域的像素面积;
基于所述像素面积,确定所述目标对象在所述全景视频中所处位置的中心距离。
上述方案中,所述获取单元,还用于确定所述重心位置对应的像素点的像素点坐标;
将所述像素点坐标转换成对应所述三维模型的球面坐标,所述球面坐标指示所述目标对象在所述全景视频中所处位置对应的角度。
上述方案中,所述获取单元,还用于根据所述像素面积与所述中心距离的平方所呈的反比例关系,确定所述目标对象在所述全景视频中所处位置的中心距离。
上述方案中,所述装置还包括匹配单元;
所述匹配单元,用于将所述特征点集合中的多个特征点,与所述全景视频的非参考帧中的特征点进行特征点匹配,得到特征点匹配结果;
所述获取单元,还用于基于所述特征点匹配结果,确定所述非参考帧中所述目标对象的位置。
上述方案中,所述获取单元,还用于基于所述特征点匹配结果,在所述非参考帧中,选取与所述特征点集合中的特征点的相似度大于第一相似度阈值的特征点;
基于选取的所述大于第一相似度阈值的特征点,确定所述非参考帧中所述目标对象的位置。
上述方案中,所述获取单元,还用于获取所述全景视频的每个非参考帧中所述目标对象的位置信息;
基于所述目标对象在所述参考帧中的位置信息,以及每个非参考帧中所述目标对象的位置信息,确定所述目标对象在所述全景视频中的运动轨迹。
上述方案中,所述装置还包括:
更新单元,用于基于所述特征点匹配结果,在所述非参考帧中,选取与所述特征点集合中的特征点的相似度小于第二相似度阈值的特征点;
基于选取的所述小于第二相似度阈值的特征点,更新所述特征点集合中的特征点。
上述方案中,所述装置还包括:
删除单元,用于获取预设数量的非参考帧,与所述特征点集合中特征点的匹配结果;所述预设数量的非参考帧为所述全景视频的连续视频帧;
基于获取的特征点匹配结果,确定所述特征点集合中的待删除特征点,所述待删除特征点与获取的非参考帧中的特征点的相似度小于第三相似度阈值;
将所述待删除特征点从所述特征点集合中删除。
上述方案中,所述确定单元,还用于接收到针对所述参考帧的对象选取操作;
基于所述对象选取操作在所述参考帧中所选定的区域,确定所述参考帧中的目标对象。
上述方案中,所述处理单元,还用于调用三维音频引擎,对待处理音频帧根据所述运动轨迹进行混音处理,得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧。
本公开实施例还提供了一种全景视频的处理装置,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述可执行指令时,实现本公开实施例提供的全景视频的处理方法。
本公开实施例还提供了一种非暂态存储介质,存储有可执行指令,所述可执行指令被执行时,用于实现本公开实施例提供的全景视频的处理方法。
本公开实施例具有如下有益效果:
应用本公开上述实施例,自动获取目标对象在全景视频中的运动轨迹,并根据运动轨迹,自动实现对待处理音频帧的处理,进而得到能够表征目标对象在全景视频中所处位置的目标音频帧,提高了对全景视频的音频数据的处理效率。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)全景视频,是指在各种电子设备中播放能够供用户裸眼观看的视频,且播放窗口的视场能够进行方向和放大倍数的调整。
2)三维模型,是模拟全景视频所表达的空间的模型,用于将全景视频的视频帧映射到三维模型的表面以形成表面纹理,三维模型的表面一般采用球面或圆柱面。
3)视场,在三维模型的中心的虚拟镜头感知三维模型的表面纹理的视线的集合,更一般地,是指通过一个窗口在全景视频的视频帧中能够观看的区域。
4)播放窗口,全景视频的客户端中默认用于播放全景视频的全屏或非全屏的窗口,至少包括全景视频的视频播放区域,还可以包括设置有相关操作的入口的操作区域。
5)播放窗口视场,即与播放窗口对应的视场,控制在播放窗口中能够感知到视频帧中处于相应视场的部分内容。
6)特征点,在图像中能够反映对象的局部特征(如颜色特征、形状特征和纹理特征)的点,一般为多个像素点的集合,以人脸图像为例,特征点可以是眼睛特征点、嘴巴特征点或鼻子特征点等。
基于上述对本公开实施例中涉及的名词和术语的解释,接下来对本公开实施例提供的全景视频的处理装置进行说明。本公开实施例的全景视频的处理装置可以以各种形式来实施,如:由智能手机、平板电脑和台式机等终端单独实施,或者由服务器单独实施,或者由终端、服务器协同实施。
作为由终端、服务器协同实施本公开实施例的全景视频的处理装置的示例,参见图1,图1是本公开实施例提供的全景视频的处理系统100的一个可选的架构示意图,为实现支撑一个示例性应用,终端400(包括终端400-1(包括图形界面410-1)和终端400-2(包括图形界面410-2)),终端400通过网络300连接服务器200,终端上设置有全景视频客户端,用户可通过该全景视频客户端实现对全景视频的显示,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
终端400(如终端400-1),用于加载全景视频数据,进行全景视频的视频帧显示,基于显示的视频帧,确定全景视频的视频帧中的参考帧,并确定参考帧中的目标对象,发送参考帧标识及目标对象的标识给服务器200;
服务器200,存储有全景视频数据,用于基于参考帧标识及目标对象的标识,获取目标对象在参考帧中的位置信息;基于位置信息,获取目标对象在全景视频中的运动轨迹;基于运动轨迹,对待处理音频帧进行处理,得到能够表征目标对象在全景视频中所处位置的目标音频帧;
服务器200,还用于将得到的目标音频帧与全景视频的视频帧合成,得到全景视频文件,以及发送合成得到的全景视频文件给终端400;
终端400,还用于基于接收到的全景视频文件,进行全景视频播放。
本公开实施例提供的全景视频的处理装置可以实施为硬件或者软硬件结合的方式,下面说明本公开实施例提供的全景视频的处理装置的各种示例性实施。
对本公开实施例的全景视频的处理装置的硬件结构做详细说明,图2为本公开实施例提供的全景视频的处理装置的组成结构示意图,图2示出的装置组成仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,全景视频的处理装置可以包括处理装置(例如中央处理器、图形处理器等)210,其可以根据存储在只读存储器(ROM,Read-Only Memory)220中的程序或者从存储装置280加载到随机访问存储器(RAM,Random Access Memory)230中的程序而执行各种适当的动作和处理。在RAM 230中,还存储有全景视频的处理装置操作所需的各种程序和数据。处理装置210、ROM 220以及RAM 230通过总线240彼此相连。输入/输出(I/O,Input/Output)接口250也连接至总线240。
通常,以下装置可以连接至I/O接口250:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置260;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置270;包括例如磁带、硬盘等的存储装置280;以及通信装置290。通信装置290可以允许全景视频的处理装置与其他设备进行无线或有线通信以交换数据。虽然图2示出了具有各种装置的全景视频的处理装置,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,所提供的流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,计算机程序可以通过通信装置290从网络上被下载和安装,或者从存储装置280被安装,或者从ROM220被安装。在计算机程序被处理装置210执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(RF)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述全景视频的处理装置中所包含的;也可以是单独存在,而未装配入全景视频的处理装置中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该全景视频的处理装置执行时,使得全景视频的处理装置执行本公开实施例提供的上述全景视频的处理方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)和广域网(WAN),以连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
描述于本公开实施例中所涉及到的单元和/或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
对于硬件的方式来说,实现本公开实施例的全景视频的处理装置的单元和/或模块可以被一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件实现,用于执行实现本公开实施例提供的方法。
接下来对本公开实施例提供的全景视频的处理方法进行说明,在实际实施时,本公开实施例的全景视频的处理方法可由终端实施,或由终端及服务器协同实施,接下来以终端实施为例进行说明。图3为本公开实施例提供的全景视频的处理方法的流程示意图,参见图3,本公开实施例的全景视频的处理方法包括:
步骤301:终端确定全景视频的视频帧中的参考帧,并确定参考帧中的目标对象。
在实际实施时,终端解码全景视频文件得到多个连续的视频帧,显示解码得到的视频帧,用户基于终端显示的视频帧进行参考帧的选取,在实际应用中,通常选取多个连续的视频帧中出现目标对象的第一个视频帧作为参考帧,相应的,终端接收到用户触发的对象选取操作,确定对象选取操作所针对的视频帧作为参考帧,相应的,全景视频中除参考帧以外的视频帧均为非参考帧。
在一些实施例中,终端可通过如下方式确定参考帧中的目标对象:接收到针对参考帧的对象选取操作,基于对象选取操作在参考帧中所选定的区域,确定参考帧中的目标对象。在实际应用中,对象选取操作既可以为用户的触控操作,也可以为用户通过鼠标触发的指针选取操作;图4为本公开实施例提供的确定参考帧中的目标对象的示意图,如图4所示,目标对象为全景视频中某个特定的人,用户可通过鼠标在显示该人的第一个视频帧中进行勾画,使得鼠标指针的滑动轨迹包括该人或对应该人的轮廓。如此,通过人机交互实现参考帧及目标对象的选取,使得用户能够自主决定待处理音频数据对应的目标对象,提高了用户体验。
步骤302:获取目标对象在参考帧中的位置信息。
在一些实施例中,终端可通过如下方式获取目标对象在参考帧中的位置信息:识别参考帧中目标对象的多个特征点,得到对应目标对象的特征点集合;基于特征点集合中的特征点,获取目标对象在参考帧中的位置信息;
其中,目标对象在参考帧中的位置信息包括:目标对象在参考帧中所处位置对应的角度信息;目标对象在全景视频中所处位置的中心距离,该中心距离为所述位置与参考帧对应的三维模型的中心的距离。
这里,对于参考帧中目标对象的特征点的识别可采用尺度不变特征变换(SIFT,Scale-Invariant Feature Taransform)技术,或者方向梯度直方图(HOG,Histogram ofOriented Gradient)技术。
在一些实施例中,终端可通过如下方式获取目标对象在参考帧中的位置信息:终端确定特征点集合中多个特征点的重心位置,基于重心位置,确定目标对象在全景视频中所处位置对应的角度信息;终端获取所述多个特征点在参考帧中占据的区域的像素面积,基于获取的像素面积,确定目标对象在全景视频中所处位置的中心距离。
这里,首先对全景视频中某特定位置对应的角度信息进行说明。在实际应用中,全景视频的视频帧中的像素点坐标和该像素点对应的三维模型的球面坐标存在固定的映射关系,图5为本公开实施例提供的全景视频的三维模型到二维图像的映射关系示意图,参见图5,图5为根据Tissot Indicatrix投影的等距柱状图,该图示出了360°全景空间与该360°全景视频画幅的映射关系。图6为本公开实施例提供的全景视频对应的球坐标系的示意图,参见图6,对于全景视频中的任一位置A(即球面上任一点)来说,位置A的角度信息包括水平转角ψ及垂直转角β表示。
基于上述对角度信息的说明,在一些实施例中,可通过如下方式确定参考帧中目标对象在全景视频中所处位置对应的角度信息:
确定多个特征点的重心位置对应的像素点的像素点坐标;将像素点坐标转换成对应三维模型的球面坐标,球面坐标指示目标对象在全景视频中所处位置对应的角度。
接下来对目标对象在全景视频中所处位置的中心距离进行说明。以全景视频的三维模型为球面模型为例,参见图7,图7为本公开实施例提供的全景视频的三维模型投影示意图,在球面模型71的中心模拟一个对应人眼的虚拟镜头72,虚拟镜头与播放窗口具有相同的视场,从而播放窗口视场在球面模型的表面纹理中的投影区域,即是通过播放窗口能够在视频帧中观看到的内容,视频帧中目标对象与虚拟镜头的距离,即为目标对象在全景视频中所处位置的中心距离。当目标对象在全景视频中所处位置的中心距离变大时,相应的目标对象在全景视频中的像素面积会变小;当目标对象在全景视频中所处位置的中心距离变小时,相应的目标对象在全景视频中的像素面积会变大。图8为本公开实施例提供的全景视频中对象的中心距离的示意图,参见图8,其中,编号1、2及3所指示的均为全景视频帧中的对象,编号0指示的是全景视频的三维模型中的虚拟镜头,以1所指示的对象为目标对象为例进行说明,目标对象所处的位置的中心距离为4m。
基于上述对中心距离的说明,在一些实施例中,可通过如下方式确定目标对象在全景视频中所处位置的中心距离:根据多个特征点在参考帧中占据的区域的像素面积与中心距离的平方所呈的反比例关系,确定目标对象在全景视频中所处位置的中心距离。
这里,多个特征点在参考帧中占据的区域的像素面积,可以理解为目标对象在参考帧中所占据的像素面积。
在一些实施例中,目标对象在全景视频中所处位置的中心距离d,与目标对象在当前视频帧中对应的像素面积Area的关系如下所示:
其中,k为调整系数,具体数值的大小可依据实际情况进行设定。
步骤303:基于所述位置信息,获取目标对象在全景视频中的运动轨迹。
在一些实施例中,可通过如下方式获取目标对象在全景视频中的运动轨迹:
获取全景视频的每个非参考帧中目标对象的位置信息;基于目标对象在参考帧中的位置信息,以及每个非参考帧中目标对象的位置信息,确定目标对象在全景视频中的运动轨迹。
接下来对非参考帧中目标对象的位置信息的获取进行说明。在一些实施例中,可通过如下方式确定非参考帧中目标对象的位置:将特征点集合中目标对象的多个特征点,与全景视频的非参考帧中目标对象的特征点进行特征点匹配,得到特征点匹配结果;基于特征点匹配结果,确定非参考帧中目标对象的位置。
这里,需要说明的是,对于非参考帧中目标对象位置信息的获取,为逐帧顺序获取,也即对于连续的多个非参考帧,依据非参考帧对应的播放时间的先后,顺序的获取目标对象在每个非参考帧中的位置信息,也即,顺序的执行特征点集合中特征点与非参考帧中特征点的匹配。在执行特征点集合中特征点与非参考帧中特征点的匹配时,首先通过特征点集合中特征点可定位非参考帧中目标对象,然后基于识别得到的非参考帧中的目标对象,进行特征点提取,进而将提取得到的特征点与特征点集合中的特征点进行匹配。
在一些实施例中,基于特征点匹配结果,可通过如下方式确定非参考帧中目标对象的位置:基于特征点匹配结果,在非参考帧中,选取与参考帧中的特征点的相似度大于第一相似度阈值的特征点;基于选取的大于第一相似度阈值的特征点,确定非参考帧中目标对象的位置。
这里,在实际应用中,第一相似度阈值的取值可基于实际需要进行设定,具体地,第一相似度阈值的设定可保证如下:当参考帧中目标对象的第一特征点与特征点集合中第二特征点的相似度大于第一相似度阈值时,第一特征点与第二特征点为目标对象的同一特征点。
在实际应用中,存在如下情况:由于目标对象的移动或转动,某一个或多个在第一视频帧中识别到的目标对象的特征点,在第二视频帧中未出现,即无法检测到,第二视频帧的播放时间晚于第一视频帧,此时,为了保证目标对象在连续旋转、变化时不会被跟踪丢失,当特征点在连续的读多个帧图像中不再出现时,需要将不再出现的特征点从特征点集合中删除;相应的,在一些实施例中,还可通过如下方式更新特征点集合中的特征点:
获取预设数量的非参考帧,与特征点集合中特征点的匹配结果;预设数量的非参考帧为全景视频的连续视频帧;基于获取的特征点匹配结果,确定特征点集合中的待删除特征点,待删除特征点与获取的非参考帧中的特征点的相似度小于第三相似度阈值;将待删除特征点从特征点集合中删除。
这里,在实际应用中,第三相似度阈值的取值可依据实际情况进行设定,具体地,第三相似度阈值的取值可保证如下:当特征点集合中第三特征点与非参考帧中目标对象的第四特征点的相似度小于第三相似度阈值时,第三特征点与第四特征点为不同特征点,视为在非参考帧中未检测到第三特征点;上述获取的非参考帧的具体数量可依据实际需要进行设定,如获取连续5个非参考帧,当特征点集合中某特征点在该连续5个非参考帧中均未出现,即特征点匹配的结果表征相似度小于第三相似度阈值时,将该特征点从特征点集合中删除。
在实际应用中,存在如下情况:由于目标对象的移动或转动,在进行特征点匹配时,在非参考帧中检测到的某一个或多个特征点,在特征点集合中不存在,此时,为了保证目标对象在连续旋转、变化时不会被跟踪丢失,当检测到目标对象新增的特征点时,需要将该特征点增加至特征点集合;相应的,在一些实施例中,还可通过如下方式更新特征点集合中的特征点:
基于特征点匹配结果,在非参考帧中,选取与特征点集合中每个特征点的相似度均小于第二相似度阈值的特征点;基于选取的小于第二相似度阈值的特征点,更新特征点集合中的特征点。
这里,在实际应用中,第二相似度阈值的取值可依据实际情况进行设定,具体地,第二相似度阈值的取值可保证如下:当非参考帧中目标对象的第五特征点与特征点集合中每个特征点的相似度均小于第二相似度阈值时,视为特征点集合中不存在第五特征点,即第五特征点为目标对象新增的特征点。
步骤304:基于运动轨迹,对待处理音频帧进行处理,得到能够表征目标对象在全景视频中所处位置的目标音频帧。
在一些实施例中,可通过如下方式对待处理音频帧进行处理,得到能够表征目标对象在全景视频中所处位置的目标音频帧:
调用三维音频引擎,对待处理音频帧根据运动轨迹进行混音处理,得到能够表征目标对象在全景视频中所处位置的目标音频帧。如此,可实现针对目标对象在全景视频中的运动轨迹,自动为目标对象进行配音,准确的还原目标对象的发声方位。
在一些实施例中,在得到能够表征目标对象在全景视频中所处位置的目标音频帧之后,还将目标音频帧与全景视频的视频帧进行合成,得到全景视频文件,该全景视频文件在播放时,目标对象的声音能够准确的反应目标对象在全景视频中所处的方位。
继续对本公开实施例提供的全景视频的处理方法进行说明。图9为本公开实施例提供的全景视频的处理方法的流程示意图,参见图9,本公开实施例的全景视频的处理方法包括:
步骤401:确定全景视频的视频帧中的参考帧,并确定参考帧中的目标对象。
在实际实施时,解码后的全景视频为许多帧图像,在目标对象出现的帧图像上,通过软件交互方式,如通过鼠标勾画,划出目标对象所处的区域。例如,如果对象是一个人,则把人的大体轮廓勾画出来。
步骤402:识别参考帧中目标对象的多个特征点,得到对应目标对象的特征点集合。
这里,在实际实施时,可采用关键点识别技术,如SIFT或HoG,识别参考帧中目标对象的多个特征点,得到一篮子的特征点,即目标对象的特征点集合。
步骤403:将特征点集合中的特征点与非参考帧中目标对象的特征点进行相似度匹配,得到每个参考帧中的有效特征点。
这里,参考帧中的有效特征点为与特征点集合中特征点的相似度大于相似度阈值的特征点。
在实际实施时,在进行特征点相似度匹配的过程中,需要实时更新特征点集合中的特征点,例如删除特征点集合中连续N帧未出现的特征点,增加特征点集合中不存在的目标对象的特征点,具体更新方式可参见前述实施例。
步骤404:根据参考帧中的特征点获取目标对象在参考帧中的位置信息,根据非参考帧中的有效特征点获取目标对象在每个非参考帧中的位置信息。
这里,位置信息包括:目标对象在全景视频中所处位置对应的角度信息;所述目标对象在所述全景视频中所处位置的中心距离,所述中心距离为所述位置与所述参考帧对应的三维模型的中心的距离。对于角度信息及中心距离的计算可参见前述实施例,在一些实施例中,可采用目标对象在全景视频中所处位置对应的球面坐标表示目标对象的位置信息。
步骤405:根据目标对象在参考帧中的位置信息,以及目标对象在每个非参考帧中的位置信息,获取目标对象在全景视频中的运动轨迹。
这里,以目标对象的位置信息用球面坐标表示为例,根据目标对象对应参考帧的位置的球面坐标,以及对应每个非参考帧的位置的球面坐标,绘制形成对应目标对象的运动轨迹的曲线,经平滑处理,得到表征目标对象在全景视频中运动轨迹的目标曲线。
步骤406:调用三维音频引擎,对待处理音频帧根据运动轨迹进行混音处理,得到能够表征目标对象在全景视频中所处位置的目标音频帧。
步骤407:将得到的目标音频帧与全景视频的视频帧合成,得到全景视频文件。
接下来对本公开实施例提供的全景视频的处理装置采用软件单元实施进行说明。图10为本公开实施例提供的全景视频的处理装置的组成结构示意图,参见图10,本公开实施例的全景视频的处理装置包括:
确定单元11,用于确定全景视频的视频帧中的参考帧,并确定所述参考帧中的目标对象;
获取单元12,用于获取所述目标对象在所述参考帧中的位置信息;
以及,用于基于所述位置信息,获取所述目标对象在所述全景视频中的运动轨迹;
处理单元13,用于基于所述运动轨迹,对待处理音频帧进行处理,得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧;
所述目标音频帧,用于与所述全景视频的视频帧合成得到全景视频文件。
在一些实施例中,所述获取单元,还用于识别所述参考帧中所述目标对象的多个特征点,得到对应所述目标对象的特征点集合;
基于所述特征点集合中的特征点,获取所述目标对象在所述参考帧中的位置信息,所述位置信息包括:
所述目标对象在所述全景视频中所处位置对应的角度信息;所述目标对象在所述全景视频中所处位置的中心距离,所述中心距离为所述位置与所述参考帧对应的三维模型的中心的距离。
在一些实施例中,所述获取单元,还用于确定所述特征点集合中多个特征点的重心位置;
基于所述重心位置,确定所述目标对象在所述全景视频中所处位置对应的角度信息;
获取所述多个特征点在所述参考帧中占据的区域的像素面积;
基于所述像素面积,确定所述目标对象在所述全景视频中所处位置的中心距离。
在一些实施例中,所述获取单元,还用于确定所述重心位置对应的像素点的像素点坐标;
将所述像素点坐标转换成对应所述三维模型的球面坐标,所述球面坐标指示所述目标对象在所述全景视频中所处位置对应的角度。
在一些实施例中,所述获取单元,还用于根据所述像素面积与所述中心距离的平方所呈的反比例关系,确定所述目标对象在所述全景视频中所处位置的中心距离。
在一些实施例中,所述装置还包括匹配单元;
所述匹配单元,用于将所述特征点集合中的多个特征点,与所述全景视频的非参考帧中的特征点进行特征点匹配,得到特征点匹配结果;
所述获取单元,还用于基于所述特征点匹配结果,确定所述非参考帧中所述目标对象的位置。
在一些实施例中,所述获取单元,还用于基于所述特征点匹配结果,在所述非参考帧中,选取与所述特征点集合中的特征点的相似度大于第一相似度阈值的特征点;
基于选取的所述大于第一相似度阈值的特征点,确定所述非参考帧中所述目标对象的位置。
在一些实施例中,所述获取单元,还用于获取所述全景视频的每个非参考帧中所述目标对象的位置信息;
基于所述目标对象在所述参考帧中的位置信息,以及每个非参考帧中所述目标对象的位置信息,确定所述目标对象在所述全景视频中的运动轨迹。
在一些实施例中,所述装置还包括:
更新单元,用于基于所述特征点匹配结果,在所述非参考帧中,选取与所述特征点集合中的特征点的相似度小于第二相似度阈值的特征点;
基于选取的所述小于第二相似度阈值的特征点,更新所述特征点集合中的特征点。
在一些实施例中,所述装置还包括:
删除单元,用于获取预设数量的非参考帧,与所述特征点集合中特征点的匹配结果;所述预设数量的非参考帧为所述全景视频的连续视频帧;
基于获取的特征点匹配结果,确定所述特征点集合中的待删除特征点,所述待删除特征点与获取的非参考帧中的特征点的相似度小于第三相似度阈值;
将所述待删除特征点从所述特征点集合中删除。
在一些实施例中,所述确定单元,还用于接收到针对所述参考帧的对象选取操作;
基于所述对象选取操作在所述参考帧中所选定的区域,确定所述参考帧中的目标对象。
在一些实施例中,所述处理单元,还用于调用三维音频引擎,对待处理音频帧根据所述运动轨迹进行混音处理,得到能够表征所述目标对象在所述全景视频中所处位置的目标音频帧。
这里需要指出的是:以上涉及装置的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述,对于本公开实施例所述装置中未披露的技术细节,请参照本公开方法实施例的描述。
本公开实施例还提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本公开实施例提供的全景视频的处理方法。
以上描述仅为本公开的实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开实施例构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。