一种视频数据的处理方法和装置的制造方法
【专利摘要】本发明实施例公开了一种视频数据的处理方法和装置;本发明实施例在获取到全景视频数据后,可以获取播放设备的方位信息,然后,根据该方位信息生成视图变换矩阵,并根据该视图变换矩阵将该全景视频数据映射到预设的球形银幕模型上,得到三维视频画面,再然后,将该三维视频画面映射到播放设备的显示屏幕上,以进行播放,从而达到通过改变播放设备的方位来控制三维场景投影到二维屏幕中的角度的目的,使得用户在观看视频时,可以通过操控播放设备来调整视频画面,以模拟出身临其境的感觉,大大提高了用户与播放设备的互动性,改善播放效果。
【专利说明】
一种视频数据的处理方法和装置
技术领域
[0001] 本发明涉及通信技术领域,具体涉及一种视频数据的处理方法和装置。
【背景技术】
[0002] 现如今,视频已经成为人们生活娱乐、以及沟通交流不可或缺的一部分,而如何对 视频数据进行处理,以改善视频的播放性能,也一直都是业界所关注的问题。
[0003] 在现有技术中,不管是二维(2D,2Dimensional)的视频还是三维(3D,3 Dimensional)的视频,一般都会采用传统的视频播放技术进行播放。例如,在获取到视频数 据后,生成相应的播放器,并利用该播放器对该视频数据进行播放,等等。其中,在播放的过 程中,用户可以对视频的播放进度进行控制,比如对视频画面进行快进、快退、暂停或关闭, 等等。
[0004] 在对现有技术的研究和实践过程中,本发明的发明人发现,在现有方案中,用户只 能被动地对视频进行观看,仅有的交互也只限于对进度进行控制,因此,交互性较差,播放 效果不佳。
【发明内容】
[0005] 本发明实施例提供一种视频数据的处理方法和装置,可以根据用户的操作,控制 三维场景投放到二维屏幕上的角度,大大提高其交互性,改善播放效果。
[0006] 本发明实施例提供一种视频数据的处理方法,包括:
[0007] 获取全景视频数据,以及获取播放设备的方位信息;
[0008] 根据所述方位信息生成视图变换矩阵;
[0009] 根据所述视图变换矩阵将所述全景视频数据映射到预设的球形银幕模型上,得到 三维视频画面;
[0010] 将所述三维视频画面映射到所述播放设备的显示屏幕上,以进行播放。
[0011] 相应的,本发明实施例还提供一种视频数据的处理装置,包括:
[0012] 获取单元,用于获取全景视频数据,以及获取播放设备的方位信息;
[0013] 生成单元,用于根据所述方位信息生成视图变换矩阵;
[0014] 映射单元,用于根据所述视图变换矩阵将所述全景视频数据映射到预设的球形银 幕模型上,得到三维视频画面;
[0015] 播放单元,用于将所述三维视频画面映射到所述播放设备的显示屏幕上,以进行 播放
[0016] 本发明实施例在获取到全景视频数据后,可以获取播放设备的方位信息,然后,根 据该方位信息生成视图变换矩阵,并根据该视图变换矩阵将该全景视频数据映射到预设的 球形银幕模型上,得到三维视频画面,再然后,将该三维视频画面映射到播放设备的显示屏 幕上,以进行播放,从而达到通过改变播放设备的方位来控制三维场景投影到二维屏幕中 的角度的目的,使得用户在观看视频时,可以通过操控播放设备来调整视频画面,以模拟出 身临其境的感觉,大大提高了用户与播放设备的互动性,改善播放效果。
【附图说明】
[0017] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附 图。
[0018] 图la是本发明实施例提供的视频数据的处理方法的场景示意图;
[0019] 图lb是本发明实施例提供的视频数据的处理方法的流程图;
[0020] 图1C是本发明实施例提供的视频数据的处理方法中球形模型的示例图;
[0021] 图Id是本发明实施例提供的视频数据的处理方法中球形银幕模型的示例图;
[0022] 图le是本发明实施例中将三维空间中的点映射至终端屏幕上的示意图;
[0023]图2a是本发明实施例提供的视频数据的处理方法的另一流程图;
[0024]图2b是本发明实施例提供的视频数据的处理方法中终端操作界面的示例图;
[0025]图2c是本发明实施例提供的视频数据的处理方法中的所显示的视频画面的示例 图;
[0026]图3a是本发明实施例提供的视频数据的处理装置的结构示意图;
[0027]图3b是本发明实施例提供的视频数据的处理装置的另一结构示意图;
[0028]图4是本发明实施例提供的终端的结构示意图。
【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。
[0030] 本发明实施例提供一种视频数据的处理方法和装置。
[0031] 其中,该视频数据的处理装置具体可以集成在终端,比如手机中。例如,参见图la, 该终端可以获取全景视频数据,以及获取播放设备如该终端的方位信息,然后,根据该方位 信息生成视图变换矩阵,并根据该视图变换矩阵将该全景视频数据映射到预设的球形银幕 模型上,得到三维视频画面,然后,再将该三维视频画面映射到该播放设备如该终端的显示 屏幕上,以进行播放,从而使得用户在观看视频时,可以通过操控播放设备,比如操控该终 端的方向和角度来调整视频画面(通过操控该终端的方向和角度可查看拍摄点四周任意角 度的情况),以模拟出身临其境的感觉,比如,如果终端向左移动,则视频画面也随着显示靠 左边的画面,如果终端向右移动,则视频画面也随着显示靠右边的画面,等等。
[0032]以下分别进行详细说明。需说明的是,以下实施例的编号并不作为对实施例优选 顺序的限定。
[0033] 实施例一、
[0034]本实施例将从视频数据的处理装置的角度进行描述,该视频数据的处理装置具体 可以作为独立的实体来实现,也可以集成在其他的设备,比如终端中;来实现,该终端具体 可以包括手机、平板电脑、笔记本电脑、或个人计算机(PC,Personal Computer)等设备中。 [0035] 一种视频数据的处理方法,包括:获取全景视频数据,以及获取播放设备的方位信 息;根据该方位信息生成视图变换矩阵;根据该视图变换矩阵将该全景视频数据映射到预 设的球形银幕模型上,得到三维视频画面;将该三维视频画面映射到该播放设备的显示屏 幕上,以进行播放。
[0036]如图lb所示,该视频数据的处理方法的具体流程可以如下:
[0037] 101、获取全景视频数据,以及获取播放设备的方位信息。
[0038] 其中,该全景视频数据指的是通过全景影像采集设备进行全方位,比如360度或接 近360度的动态视频影像的拍摄所得到的视频数据,其与全景图片的区别在于,全景图片为 静态的,而全景视频数据是动态的,它可以包括多幅具有关联关系的全景图片。
[0039] 在获取全景视频数据时,具体可以从本地存储单元中获取,也可以从其他用户设 备或服务器中获取,等等。
[0040] 其中,获取播放设备的方位信息也可以有多种,例如,可以通过播放设备中的方向 传感器,比如陀螺仪或重力传感器等来获取该播放设备的旋转信息和平移信息,得到方位 f目息,等等。
[0041] 其中,旋转信息指的是旋转该播放设备时的角度、以及坐标等信息,而平移信息指 的是平移该播放设备时的移动间距和坐标等信息。
[0042] 可选的,为了提高该方位信息的精准性,在获取到播放设备的方位信息之后,该视 频数据的处理方法还可以包括:
[0043] 对该方位信息进行校正,比如通过重力感应器等对该方位信息进行校正,得到校 正后方位信息。
[0044] 需说明的是,其中,该播放设备可以是该视频数据的处理装置所在的终端,也可以 是有别于该视频数据的处理装置所在终端的其他设备,若该播放设备为该视频数据的处理 装置所在的终端,则此时可以直接通过本终端中的方向传感器,比如陀螺仪或重力传感器 等来获取相应的方位信息,而如果该播放设备为有别于该视频数据的处理装置所在终端的 其他设备,则可以通过该其他设备中的方向传感器,比如陀螺仪或重力传感器等来获取相 应的方位信息后,由该其他设备将该方位信息提供给该终端,等等。为了描述方便,在本发 明实施例中,将均以该播放设备为该视频数据的处理装置所在的终端为例进行说明。
[0045] 102、根据该方位信息生成视图变换矩阵。
[0046] 例如,具体可以根据该方位信息分别生成旋转矩阵和平移矩阵,对该旋转矩阵和 平移矩阵进行合并,得到视图变换矩阵。
[0047] 其中,矩阵的格式可以根据实际应用的需求进行调整,例如,以构建3*3的矩阵为 例,则具体可以如下:
[0048]在图形学编程中,一般采用right(第一向量)、up(第二向量)、l〇〇k(第三向量)和 position(第四向量)四个向量来定义摄像机在世界坐标系中的位置和方向。也就是说,这 几个向量的功能主要是为了实现一个摄像机类(Camara类),它使我们能够比直接构造观察 矩阵的方式更好地操作摄像机,并且可以用来作为飞行模拟摄像机和第一人称视觉摄像 机。其实现方法如下:
[0049]为摄像机类定义两种枚举类型:LAND0_BJECT模式和AIR_CRAFT模式。在摄像机类 中定义一个该枚举类型的变量、定义"right,up,look"向量,以及定义position向量,并为 虚拟摄像机定义6个自由度,实现以下操作:
[0050]绕ri ght向量旋转(俯仰,pi tch),绕up向量旋转(偏航,yaw),绕1 ook向量旋转(翻 滚,roll),沿着right向量左右平移(平移,straf),沿着up向量上下移动(升降,fly),沿着 look向量前后移动(移动,move)。
[0051] 基于上述说明可知,若构建一数据模型,比如构建一球形模型,参见图lc,并根据 该球形模型构建一球形银幕模型(该和球形模型和球形银幕模型的大小可以根据实际应用 的需求而定),且虚拟摄像机的拍摄点位于该球形银幕模型的中心,参见图Id(图Id仅作为 示意,并不作为对该球形银幕模型的任何限定),则对于该球形银幕上的任意一个点,均可 采用四个向量right(第一向量)、up(第二向量)、l 〇〇k(第三向量)和position(第四向量)来 表示,其中,"right、up和look"这三个向量两两垂直,有时也会将这三个向量一起称为方向 向量。因此,可以构造一 3*3的旋转矩阵A,使得该旋转矩阵A能够将right、up和look分别与x 轴、y轴和z轴对齐,则该旋转矩阵A需要满足如下三个等式: "a00 a01 a02_
[0052] rA=[ rx, ry,irz] aio an ai2 =[1,0',0]:; _a20 a21 a22. a00 a01 a02"
[0053] uA=[ Ux,U、,U:J a10 %1 %2 =[0 > 1? 0]; _a20 a21 a22. a00 a01 a02."
[0054] dA=[ dx,d、,dz] aio %i .a;i2 =[0..,0.,. '] -a2(.) ^21 a22.
[0055] 其中,r、u和d,即[rx,ry,rz]、[Ux,uy,u z]和[dx,dy,dz]分别对应着right、up和look 三个向量。
[0056]需说明的是,这里使用3*3矩阵是因为现在不需要额外的信息来表现旋转,后续可 以将它增加到常用的4*4矩阵,即将相应的position向量也作为考量因素之一。
[0057]由于rA、uA和dA这三个等式都有一个相同系数,即旋转矩阵A,所以,可以将其合 并,得到: "lx r.y [a00 a 01 a02| n 0 0
[0058] BA= ux uy aio ^ii ai2 = 0 1 0. dx dy dz a 2〇 a2i a 22. .〇 〇 1. rx ry rz j [10 0
[0059] 其中,B_= uy _uz, 0 1 0 为单位矩阵,即I。 dx dy dj [0 0 1.
[0060] 求矩阵A的方法有多种,但是由于A是B逆矩阵,而且,因为B是一个直交矩阵(它的 行向量是正交标准化的),所以它的逆矩阵就是它的转置矩阵,即BA = BB^1 = I。因此,将方向 向量和世界坐标系中的坐标轴对齐的变换可以如下:
[0061 ] B"1=Bt=A= ry Uy dy :,可以得出: Jz uz rx ux dx [o062] ry uy dy Jz % d,
[0063]可见,在获取到方位信息后,可以根据该方位信息,基于该构造的旋转矩阵A计算 出具体的旋转矩阵。
[0064]同理,也可以构造一平移矩阵1=[1\,1^12],然后,根据该方位信息,基于该构 造的平移矩阵T计算出具体的旋转矩阵。
[0065] 此后,便可以对该旋转矩阵和平移矩阵进行合并,其中,合并的方式可以有多种, 例如,可以如下:
[0066] 将该旋转矩阵和平移矩阵分别变换为预设格式的矩阵,得到转换后旋转矩阵和转 换后平移矩阵,将该转换后旋转矩阵和转换后平移矩阵进行合并,得到视图变换矩阵,用公 式表示即为: I x ux dx
[0067] 将A= ry Uy dy变换为4*4矩阵,得到转换后旋转矩阵A',如下: 12 u'2. dz. r.x ux dx Q A, ry uv dv 0
[0068] A =) " 》 r-, uz dz 0 -〇 〇 o i-
[0069] 将1=[卞,^,,]变换为4*4矩阵,得到转换后旋转矩阵1'',如下: ? 1 0 0 〇 0 10 0
[0070] T= 0 0 1 〇 _-Px _Py -Pz 1.
[0071]将转换后旋转矩阵A'和转换后旋转矩阵T'进行合并,得到视图变换矩阵V,如下: 1 〇 〇 〇] ri'x % dx 〇 「 1 丁,… ° 1 0 or u d v 0
[0072] T "= 0 0 10 U: d: 〇 -Px -Py -pz l.JL〇 0 0 1. r踔 u.x dx 0 ry uv d 〇
[0073] - / u..z dz 0 p ?. r -p . u -p ? d 1...
[0074] = V
[0075]需说明的是,若在步骤101中,已经对方位信息进行了校正,则此时,需要根据校正 后方位信息生成视图变换矩阵,在此不再赘述。
[0076] 103、根据该视图变换矩阵将该全景视频数据映射到预设的球形银幕模型上,得到 三维视频画面;例如,可以如下:
[0077] 根据该视图变换矩阵对该全景视频数据进行转换,得到转换后视频数据,获取预 设的球形银幕模型的坐标信息,根据该坐标信息将该转换后视频数据映射到预设的球形银 幕模型上,得到三维视频画面。
[0078] 其中,将转换后视频数据映射到球形银幕模型上的方式可以有多种,比如,具体可 以利用像素着色器来进行映射,像素着色器是一个执行在图形卡的图形处理器(GPU, Graphics Processing Unit)上的程序,它运行在对每个像素进行光栅化处理时。它实际上 替换了固定功能管线的多纹理化阶段(the multitexturing stage),并赋予我们直接操纵 单独的像素和访问每个像素的纹理坐标的能力。即步骤"根据该坐标信息将该转换后视频 数据映射到预设的球形银幕模型上"可以包括:
[0079] 根据该坐标信息,确定该转换后视频数据中每一帧图像的每个像素点在预设的球 形银幕模型的位置,利用像素着色器,根据该位置将相应的像素点映射到预设的球形银幕 模型,得到三维视频画面。
[0080] 其中,该球形银幕模型可以预先进行建立,且其大小可以根据实际应用的需求而 定,比如,可以先建立球形模型,然后根据该球形模型再建立一个球形银幕模型,等等。例 如,具体可参见图lc和图Id、以及实施例102中的相关描述,在此不再赘述。
[0081] 104、将该三维视频画面映射到该播放设备的显示屏幕上,以进行播放。
[0082]例如,可以将三维视频画面中的每一个像素点(即该三维空间中的每一个点)沿着 投影中心射线的方向,投影至该播放设备的显示屏幕上。
[0083]比如,以该播放设备为终端为例,则如图le所示,其中,三维视频画面上的某一点K 可以沿着投影中心射线的方向,投影至终端屏幕上,如图Id中的K',以及延伸至远截面的 K",其中,远截面指的是人眼能够辨认到该图像的最远的投影平面。
[0084]具体投影时,可以采用正视投影方式,比如利用正视投影函数如gl0rtho()和 glu0rth〇2D()进行投影,或者,也可以采用透视投影方式,比如采用透视投影函数如 glFrustumO和gluPerspectiveO进行投影,等等,在此不再赘述。
[0085] 由上可知,本实施例在获取到全景视频数据后,可以获取播放设备的方位信息,然 后,根据该方位信息生成视图变换矩阵,并根据该视图变换矩阵将该全景视频数据映射到 预设的球形银幕模型上,得到三维视频画面,再然后,将该三维视频画面映射到播放设备的 显示屏幕上,以进行播放,从而达到通过改变播放设备的方位来控制三维场景投影到二维 屏幕中的角度的目的,使得用户在观看视频时,可以通过操控播放设备来调整视频画面,以 模拟出身临其境的感觉,大大提高了用户与播放设备的互动性,改善播放效果。
[0086] 实施例二、
[0087] 根据实施例一所描述的方法,以下将举例作进一步详细说明。
[0088] 在本实施例中,将以该视频数据的处理装置具体集成在终端中,且播放设备即为 该终端为例进行说明。
[0089]如图2a所示,一种视频数据的处理方法,具体流程可以如下:
[0090] 201、终端获取全景视频数据。
[0091] 例如,具体可以从终端本地的存储单元中获取该全景视频数据,或者,也可以从其 他用户设备或服务器中获取该全景视频数据。
[0092] 其中,该全景视频数据指的是通过全景影像采集设备进行全方位,比如360度或接 近360度的动态视频影像的拍摄所得到的视频数据,该视频数据可以是任何内容的视频,比 如,可以是音乐短片(MV,Music Video)、自己录制的短片或一些小影片,等等。
[0093] 202、终端获取本终端的方位信息。
[0094] 例如,终端具体可以通过终端内置的陀螺仪或重力传感器等方向传感器来获取该 终端的旋转信息和平移信息,得到方位信息。
[0095] 其中,旋转信息指的是旋转该播放设备时的角度、以及坐标等信息,而平移信息指 的是平移该播放设备时的移动间距和坐标等信息。
[0096]可选的,为了提高该方位信息的精准性,在获取播放设备的方位信息之后,还可以 通过重力感应器等对该方位信息进行校正。
[0097] 可选的,为了便于用户操作,在播放该全景视频数据之前,或在播放该全景视频数 据时,可以在相应的界面上显示提示信息,以提醒用户可以通过操控终端,如改变终端方向 和角度来观看该全景视频数据的多个角度,比如,如图2b所示,可以在界面上显示提示信息 "在全景视频下,可滑动视频观看更多角度哦",等等。
[0098] 其中,操控终端的方式可以有多种,比如可以是滑动屏幕、点击屏幕、和/或调整终 端的方向或角度,等等,具体可根据实际应用的需求进行设置,在此不再赘述。
[0099] 203、终端根据该方位信息分别生成旋转矩阵和平移矩阵,对该旋转矩阵和平移矩 阵进行合并,得到视图变换矩阵。
[0100] 其中,旋转矩阵A为: rx ux (V
[0101] A= Uy dy _rz % dz
[0102] 平移矩阵T为:
[0103] T= [-px,-py,-pz]
[0104] 分别将旋转矩阵A和平移矩阵T变换为4*4矩阵,得到转换后旋转矩阵A'和转换后 旋转矩阵T',如下: -rx ux dx 〇- 「 n ry % d v 0
[0105] A y y y rz uz dz 0 .0 0 〇 l- 1 0 0 〇 r n T 0 1 0 0
[0106] T- 〇 〇 ! 〇 ,_Px _Py ~Pz 1.
[0107] 将转换后旋转矩阵A'和转换后旋转矩阵T'进行合并,得到视图变换矩阵V,如下: -1 0 0 0] [r x Ux d x 0 V r v , 0 1 0 0 l y Uy dy 0
[0108] V=r A = A A t a y u y 1 0 fz uz dz 0 -Px -Py -Pz iJLo 0 0 1. ' rx ux d x 〇- ry Uv dv 0
[0109] = / i'z u, dz 0 p . r -p . u -p ? d 1-
[0ii0]根据方位信息确定视图变换矩阵v中各个元素的值,并代入视图变换矩阵v中,即 可得到具体的视图变换矩阵的值。
[0111] 204、终端根据该视图变换矩阵对该全景视频数据进行转换,得到转换后视频数 据。 -rx ux dx 0-
[0112] 例如,具体可以利用 1 1 / A对该全景视频数据进行转 rz uz dz Q _p.r _p u -p,d 1- 换,得到转换后视频数据。
[0113] 205、终端获取预设的球形银幕模型的坐标信息,根据该坐标信息将该转换后视频 数据映射到预设的球形银幕模型上,得到三维视频画面。
[0114] 例如,具体可以根据该坐标信息,确定该转换后视频数据中每一帧图像的每个像 素点在预设的球形银幕模型的位置,利用像素着色器,根据该位置将相应的像素点映射到 预设的球形银幕模型。
[0115] 比如,以该转换后视频数据中的某一帧图像F为例,由实施例一中步骤102中的描 述可知,球形银幕模型的任意一个点,均可采用四个向量right、up、look和posit ion来表 示,因此,可以根据该球形银幕模型的坐标信息(即这四个向量的值),在球形银幕(即球形 银幕模型)中为该帧图像中的每一个像素点找到相应的投影位置,然后,利用像素着色器, 将该帧图像中的这些点分别投影至该球形银幕上,从而得到与该帧图像相应的得到三维视 频画面。
[0116] 其中,该球形银幕模型可以预先进行建立,且其大小可以根据实际应用的需求而 定,比如,可以先建立球形模型,然后根据该球形模型再建立一个球形银幕模型,等等。例 如,具体可参见图lc和图Id、以及实施例102中的相关描述,在此不再赘述。
[0117] 206、终端将该三维视频画面映射到本终端的显示屏幕上,以进行播放。
[0118] 例如,终端可以将三维视频画面中的每一个像素点(即该三维空间中的每一个点) 沿着投影中心射线的方向,投影至本终端的显示屏幕上。
[0119] 具体投影时,可以采用正视投影方式,也可以采用透视投影方式,如下:
[0120] 终端采用正视投影方式,比如采用gl0rtho()和glu0rtho2D()等正视投影函数确 定该三维视频画面中的每一个像素点在终端屏幕上的位置,然后,根据该位置将这些像素 点分别投影至该终端屏幕上。
[0121 ] 或者,终端也可以采用透视投影方式,比如采用glFrustumO和gluPerspectiveO 等透视投影函数确定该三维视频画面中的每一个像素点在终端屏幕上的位置,然后,根据 该位置将这些像素点分别投影至该终端屏幕上,等等。
[0122] 参见图2c,当用户滑动终端如手机屏幕上的视频画面、或者移动或旋转终端如手 机时,则视频画面的显示可以产生一定的变化,比如,以旋转为例,如当用户逆时针旋转30 度时,则视频画面也相应地显示当前画面的北偏西30度方向的画面,而当用户顺时针旋转 30度时,则视频画面也相应地显示当前画面的北偏东30度方向的画面,依次类推,等等。
[0123] 由上可知,本实施例的终端在获取到全景视频数据后,可以获取本终端的方位信 息,然后,根据该方位信息生成视图变换矩阵,并根据该视图变换矩阵将该全景视频数据映 射到预设的球形银幕模型上,得到三维视频画面,再然后,将该三维视频画面映射到本终端 屏幕上,以进行播放,从而达到通过改变终端的方位来控制三维场景投影到二维屏幕中的 角度的目的,使得用户在观看视频时,可以通过操控终端来调整视频画面,以模拟出身临其 境的感觉,大大提高了用户与终端的互动性,改善播放效果。
[0124] 实施例三、
[0125] 为了更好地实施以上方法,本发明实施例还提供一种视频数据的处理装置,如图 3a所示,该视频数据的处理装置可以包括获取单元301、生成单元302、映射单元303和播放 单元304,如下:
[0126] (1)获取单元 301;
[0127] 获取单元301,用于获取全景视频数据,以及获取播放设备的方位信息。
[0128] 例如,获取单元301,具体可以用于从终端本地的存储单元中获取该全景视频数 据,或者,也可以从其他用户设备或服务器中获取该全景视频数据,等等。
[0129] 可选的,获取方位信息也可以有多种,例如,可以如下:
[0130] 获取单元301,具体可以用于通过播放设备中的方向传感器获取该播放设备的旋 转信息和平移信息,得到方位信息。
[0131] 其中,该方向传感器可以包括陀螺仪或重力传感器等。
[0132] 需说明的是,其中,该播放设备可以是该视频数据的处理装置所在的终端,也可以 是有别于该视频数据的处理装置所在终端的其他设备,若该播放设备为该视频数据的处理 装置所在的终端,则此时可以直接通过本终端中的方向传感器,比如陀螺仪或重力传感器 等来获取相应的方位信息,而如果该播放设备为有别于该视频数据的处理装置所在终端的 其他设备,则可以通过该其他设备中的方向传感器,比如陀螺仪或重力传感器等来获取相 应的方位信息后,由该其他设备将该方位信息提供给该终端,等等。
[0133] (2)生成单元 302;
[0134] 生成单元302,用于根据该方位信息生成视图变换矩阵。
[0135] 例如,该生成单元302,具体可以用于根据该方位信息分别生成旋转矩阵和平移矩 阵,对该旋转矩阵和平移矩阵进行合并,得到视图变换矩阵。
[0136] 其中,矩阵的格式可以根据实际应用的需求进行调整,具体可参见前面的方法实 施例,在此不再赘述。
[0137] 其中,对该旋转矩阵和平移矩阵进行合并的方式可以有多种,例如,可以如下:
[0138] 该生成单元302,具体可以用于将该旋转矩阵和平移矩阵分别变换为预设格式的 矩阵,得到转换后旋转矩阵和转换后平移矩阵;将该转换后旋转矩阵和转换后平移矩阵进 行合并,得到视图变换矩阵。
[0139] (3)映射单元 303;
[0140] 映射单元303,用于根据该视图变换矩阵将该全景视频数据映射到预设的球形银 幕模型上,得到三维视频画面。
[0141] 例如,该映射单元303,具体可以用于根据该视图变换矩阵对该全景视频数据进行 转换,得到转换后视频数据;获取预设的球形银幕模型的坐标信息;根据该坐标信息将该转 换后视频数据映射到预设的球形银幕模型上,得到三维视频画面。
[0142] 其中,将转换后视频数据映射到球形银幕模型上的方式可以有多种,比如,具体可 以利用像素着色器来进行映射,等等,即:
[0143] 该映射单元303,具体用于根据该坐标信息,确定该转换后视频数据中每一帧图像 的每个像素点在预设的球形银幕模型的位置;利用像素着色器,根据该位置将相应的像素 点映射到预设的球形银幕模型,得到三维视频画面。
[0144] 其中,该球形银幕模型可以预先进行建立,且其大小可以根据实际应用的需求而 定,比如,可以先建立球形模型,然后根据该球形模型再建立一个球形银幕模型,等等,具体 可参见前面的方法实施例,在此不再赘述。
[0145] (4)播放单元 304;
[0146] 播放单元304,用于将该三维视频画面映射到该播放设备的显示屏幕上,以进行播 放。
[0147] 例如,可以将三维视频画面中的每一个像素点沿着投影中心射线的方向,投影至 该播放设备的显示屏幕上。
[0148] 具体投影时,可以采用正视投影方式,也可以采用透视投影方式,如下:
[0149] 播放单元304,具体用于采用正视投影方式,比如采用gl0rtho()和glu0rtho2D() 等正视投影函数确定该三维视频画面中的每一个像素点在播放设备的显示屏幕上的位置, 然后,根据该位置将这些像素点分别投影至该播放设备的显示屏幕上。
[0150]或者,播放单元304,具体用于采用透视投影方式,比如采用glFrustumO和 gluPerspective()等透视投影函数确定该三维视频画面中的每一个像素点在播放设备的 显示屏幕上的位置,然后,根据该位置将这些像素点分别投影至该播放设备的显示屏幕上, 等等。
[0151]可选的,为了提高该方位信息的精准性,在获取到播放设备的方位信息之后,还可 以对该方位信息进行校正,即如图3b所示,该视频数据的处理装置还可以包括校正单元 305,如下:
[0152] 该校正单元305,用于通过重力感应对该方位信息进行校正,得到校正后方位信 息;
[0153]则此时,生成单元302,具体可以用于根据校正后方位信息生成视图变换矩阵。
[0154] 具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作 为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不 再赘述。
[0155] 该视频数据的处理装置可以作为独立的实体,也可以集成在终端中,该终端具体 可以包括手机、平板电脑、笔记本电脑或PC等设备中,其中,这些设备中配置有相应的方向 传感器,比如陀螺仪或重力传感器等。
[0156] 由上可知,本实施例的视频数据的处理装置的获取单元301在获取到全景视频数 据后,可以获取播放设备的方位信息,然后,由生成单元302根据该方位信息生成视图变换 矩阵,并由映射单元303根据该视图变换矩阵将该全景视频数据映射到预设的球形银幕模 型上,得到三维视频画面,再然后,由播放单元304将该三维视频画面映射到播放设备的显 示屏幕上,以进行播放,从而达到通过改变播放设备的方位来控制三维场景投影到二维屏 幕中的角度的目的,使得用户在观看视频时,可以通过操控播放设备来调整视频画面,以模 拟出身临其境的感觉,大大提高了用户与播放设备的互动性,改善播放效果。
[0157] 实施例四、
[0158] 相应的,本发明实施例还提供一种终端,如图4所示,该终端可以包括射频(RF, Radio Frequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输 入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity) 模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技 术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更 少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0159] RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的 下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给 基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用 户身份模块(SIM,Subscriber Identity Module)卡、收发信机、親合器、低噪声放大器 (LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其 他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系 统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多 址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
[0160] 存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402 的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程 序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比 如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据 (比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括 非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相 应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402 的访问。
[0161]输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能 控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例 中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触 控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或 附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装 置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检 测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从 触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理 器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种 类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输 入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠 标、操作杆等中的一种或多种。
[0162] 显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种 图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示 单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、 有机发光二极管(〇LED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步 的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理 器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应 的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入 功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
[0163] 终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。 具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线 的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背 光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的 大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、 相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置 的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0164] 音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可 将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一 方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再 将音频数据输出处理器408处理后,经RF电路401以发送给比如另一终端,或者将音频数据 输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与 终端的通信。
[0165] WiFi属于短距离无线传输技术,终端通过WiFi模块407可以帮助用户收发电子邮 件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了 WiFi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改 变发明的本质的范围内而省略。
[0166] 处理器408是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通 过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的 数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包 括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应 用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。 可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
[0167] 终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管 理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理 等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检 测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0168] 尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施 例中,终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的 可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从 而实现各种功能:
[0169] 获取全景视频数据,以及获取本终端的方位信息;根据该方位信息生成视图变换 矩阵;根据该视图变换矩阵将该全景视频数据映射到预设的球形银幕模型上,得到三维视 频画面;将该三维视频画面映射到本终端的显示屏幕上,以进行播放。
[0170] 例如,该处理器408,还可以实现如下功能:
[0171]通过本终端的方向传感器,比如陀螺仪或重力传感器等来获取本终端的旋转信息 和平移信息,得到方位信息。
[0172]可选的,为了提高该方位信息的精准性,在获取到播放设备的方位信息之后,还可 以对该方位信息进行校正,即该处理器408,还可以实现如下功能:
[0173]通过重力感应器等对该方位信息进行校正,得到校正后方位信息,根据校正后方 位信息生成视图变换矩阵。
[0174] 其中,根据方位信息生成视图变换矩阵的方式可以有多种,例如,可以如下:
[0175] 根据该方位信息分别生成旋转矩阵和平移矩阵,对该旋转矩阵和平移矩阵进行合 并,得到视图变换矩阵。
[0176] 其中,矩阵的格式可以根据实际应用的需求进行调整,具体可参见前面的实施例, 在此不再赘述。
[0177] 此外,在将该全景视频数据映射到预设的球形银幕模型上时,具体可以根据该视 图变换矩阵对该全景视频数据进行转换,得到转换后视频数据,以及获取预设的球形银幕 模型的坐标信息,然后,根据该坐标信息,确定该转换后视频数据中每一帧图像的每个像素 点在预设的球形银幕模型的位置,并利用像素着色器,根据该位置将相应的像素点映射到 预设的球形银幕模型。
[0178] 以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0179] 由上可知,本实施例所提供的终端在获取到全景视频数据后,可以获取本终端的 方位信息,然后,根据该方位信息生成视图变换矩阵,并根据该视图变换矩阵将该全景视频 数据映射到预设的球形银幕模型上,得到三维视频画面,再然后,将该三维视频画面映射到 本终端屏幕上,以进行播放,从而达到通过改变终端方位来控制三维场景投影到二维屏幕 中的角度的目的,使得用户在观看视频时,可以通过操控终端的位置和角度来调整视频画 面,以模拟出身临其境的感觉,大大提高了用户与播放设备的互动性,改善播放效果。
[0180]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储 介质可以包括:只读存储器(R〇M,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
[0181]以上对本发明实施例所提供的一种视频数据的处理方法和装置进行了详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用 于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思 想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本发明的限制。
【主权项】
1. 一种视频数据的处理方法,其特征在于,包括: 获取全景视频数据,以及获取播放设备的方位信息; 根据所述方位信息生成视图变换矩阵; 根据所述视图变换矩阵将所述全景视频数据映射到预设的球形银幕模型上,得到三维 视频画面; 将所述三维视频画面映射到所述播放设备的显示屏幕上,以进行播放。2. 根据权利要求1所述的方法,其特征在于,所述根据所述方位信息生成视图变换矩 阵,包括: 根据所述方位信息分别生成旋转矩阵和平移矩阵; 对所述旋转矩阵和平移矩阵进行合并,得到视图变换矩阵。3. 根据2所述的方法,其特征在于,所述对所述旋转矩阵和平移矩阵进行合并,得到视 图变换矩阵,包括: 将所述旋转矩阵和平移矩阵分别变换为预设格式的矩阵,得到转换后旋转矩阵和转换 后平移矩阵; 将所述转换后旋转矩阵和转换后平移矩阵进行合并,得到视图变换矩阵。4. 根据1所述的方法,其特征在于,所述根据所述视图变换矩阵将所述全景视频数据映 射到预设的球形银幕模型上,得到三维视频画面,包括: 根据所述视图变换矩阵对所述全景视频数据进行转换,得到转换后视频数据; 获取预设的球形银幕模型的坐标信息; 根据所述坐标信息将所述转换后视频数据映射到预设的球形银幕模型上。5. 根据权利要求4所述的方法,其特征在于,所述根据所述坐标信息将所述转换后视频 数据映射到预设的模拟球形银幕上,包括: 根据所述坐标信息,确定所述转换后视频数据中每一帧图像的每个像素点在预设的球 形银幕模型的位置; 利用像素着色器,根据所述位置将相应的像素点映射到预设的球形银幕模型。6. 根据权利要求1至5任一项所述的方法,其特征在于,所述获取播放设备的方位信息, 包括: 通过播放设备中的方向传感器获取所述播放设备的旋转信息和平移信息,得到方位信 息。7. 根据权利要求1至5任一项所述的方法,其特征在于,所述获取播放设备的方位信息 之后,还包括: 通过重力感应对所述方位信息进行校正,得到校正后方位信息; 所述根据所述方位信息生成视图变换矩阵,包括:根据校正后方位信息生成视图变换 矩阵。8. -种视频数据的处理装置,其特征在于,包括: 获取单元,用于获取全景视频数据,以及获取播放设备的方位信息; 生成单元,用于根据所述方位信息生成视图变换矩阵; 映射单元,用于根据所述视图变换矩阵将所述全景视频数据映射到预设的球形银幕模 型上,得到三维视频画面; 播放单元,用于将所述三维视频画面映射到所述播放设备的显示屏幕上,以进行播放。9. 根据权利要求8所述的装置,其特征在于, 所述生成单元,具体用于根据所述方位信息分别生成旋转矩阵和平移矩阵;对所述旋 转矩阵和平移矩阵进行合并,得到视图变换矩阵。10. 根据权利要求9所述的装置,其特征在于, 所述生成单元,具体用于将所述旋转矩阵和平移矩阵分别变换为预设格式的矩阵,得 到转换后旋转矩阵和转换后平移矩阵;将所述转换后旋转矩阵和转换后平移矩阵进行合 并,得到视图变换矩阵。11. 根据权利要求8所述的装置,其特征在于, 所述映射单元,具体用于根据所述视图变换矩阵对所述全景视频数据进行转换,得到 转换后视频数据;获取预设的球形银幕模型的坐标信息;根据所述坐标信息将所述转换后 视频数据映射到预设的球形银幕模型上。12. 根据权利要求11所述的装置,其特征在于, 所述映射单元,具体用于根据所述坐标信息,确定所述转换后视频数据中每一帧图像 的每个像素点在预设的球形银幕模型的位置;利用像素着色器,根据所述位置将相应的像 素点映射到预设的球形银幕模型。13. 根据权利要求8至12任一项所述的装置,其特征在于, 所述获取单元,具体用于通过播放设备中的方向传感器获取所述播放设备的旋转信息 和平移信息,得到方位信息。14. 根据权利要求8至12任一项所述的装置,其特征在于,还包括校正单元; 所述校正单元,用于通过重力感应对所述方位信息进行校正,得到校正后方位信息; 所述生成单元,具体用于根据校正后方位信息生成视图变换矩阵。
【文档编号】H04N13/00GK105959675SQ201610353019
【公开日】2016年9月21日
【申请日】2016年5月25日
【发明人】柯灵杰
【申请人】腾讯科技(深圳)有限公司