CN111200749A - 全景视频的播放控制方法、装置、电子设备及存储介质 - Google Patents

全景视频的播放控制方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111200749A
CN111200749A CN201811368809.4A CN201811368809A CN111200749A CN 111200749 A CN111200749 A CN 111200749A CN 201811368809 A CN201811368809 A CN 201811368809A CN 111200749 A CN111200749 A CN 111200749A
Authority
CN
China
Prior art keywords
window
field
playing
view
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811368809.4A
Other languages
English (en)
Inventor
付宇豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811368809.4A priority Critical patent/CN111200749A/zh
Publication of CN111200749A publication Critical patent/CN111200749A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Abstract

本公开提供了一种全景视频的播放控制方法、装置、电子设备及存储介质,其中,方法包括:将全景视频中的视频帧映射为三维模型的表面纹理;确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场;当符合播放策略的播放窗口视场的方向,不同于当前播放窗口的视场方向时,转换播放窗口的视场方向,使其与符合播放策略的播放窗口视场的方向一致;将播放窗口视场、以及子窗口视场分别在三维模型的表面纹理中进行投影,对应得到处于播放窗口视场的纹理区域、以及处于子窗口视场的纹理区域;在播放窗口中渲染处于播放窗口视场的纹理区域,并在子窗口中渲染处于子窗口视场的纹理区域。

Description

全景视频的播放控制方法、装置、电子设备及存储介质
技术领域
本公开涉及媒体播放技术,尤其涉及一种全景视频的播放控制方法、装置、电子设备及存储介质。
背景技术
通信基础设施的不断发展,使得终端网络通信的速率不断提升,从而各种媒体形式特别是视频在网络中得到前所未有地广泛传播。全景视频是对用户感知视频方式的拓展,视频中的内容的展现能够呈现丰富多样的方式。
例如,在全景视频中,用户不再是纯粹的观看者,还可以与全景视频进行互动,全景视频中的视场能够根据用户的需求进行方向转动,且视场中的对象(例如景物、人等)能够根据用户意愿进行缩放,从而用户可以关注全景视频中感兴趣的内容,并给用户如同身临其境的感知效果。
全景视频在播放过程中,由于视场的可切换的特性,会出现用户不知道如何选择视场以达到较好的观看体验的问题,在播放过程的任意时刻其视场是单一的,对于如何改进展现内容的效率,从而保证用户更高效地在全景视频中获取信息,尚无有效解决方案。
发明内容
有鉴于此,本公开实施例提供一种全景视频的播放控制方法、装置、电子设备及存储介质。
第一方面,本公开实施例提供一种全景视频的播放控制方法,包括:
将全景视频中的视频帧映射为三维模型的表面纹理;
确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场;所述符合播放策略的播放窗口视场的方向不同于当前播放窗口的视场方向;
转换所述播放窗口的视场方向与所述符合播放策略的播放窗口视场的方向一致;
将所述播放窗口视场、以及子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域;
在所述播放窗口中渲染处于所述播放窗口视场的纹理区域,并在所述子窗口中渲染处于所述子窗口视场的纹理区域。
上述方案中,所述确定所述视频帧的符合播放策略的播放窗口视场,包括:
从全景视频文件中提取所述视频帧对应的解码元数据;
解析所述视频帧对应的解码元数据,得到所述视频帧对应的播放参数;
基于所得到的所述播放参数,确定所述视频帧的符合播放策略的播放窗口视场的方向、以及所述播放窗口视场对应的放大倍数。
上述方案中,所述确定所述视频帧的符合播放策略的播放窗口视场,包括:
对所述视频帧进行目标对象检测,得到检测结果;
当所述检测结果表征所述视频帧中包含所述目标对象时,确定所述视频帧的对应所述目标对象的视场方向,为所述符合播放策略的播放窗口视场的方向;
调整所述播放窗口视场的放大倍数,使得所述播放窗口中呈现的所述目标对象的大小与所述播放窗口相适配。
上述方案中,所述确定播放窗口的子窗口对应的子窗口视场,包括:
根据所述符合播放策略的播放窗口视场的方向,所述播放窗口视场的方向与所述子窗口视场的方向之间的相对位置关系,确定所述子窗口视场的方向;
或者,根据所述全景视频中的目标对象,确定包括所述目标对象的视场方向为所述子窗口视场的方向。
上述方案中,所述将全景视频中的视频帧映射为三维模型的表面纹理,包括:
将所述视频帧的像素点映射到纹理空间,得到所述像素点的纹理坐标;
将所述像素点的纹理坐标映射到所述三维模型表面的顶点坐标,以形成所述三维模型的表面纹理。
上述方案中,所述将所述播放窗口视场、以及子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域,包括:
对于按照渲染时间的先后顺序待渲染的各个视频帧,执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域,以及,
将与所述子窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
上述方案中,所述将所述播放窗口视场、以及子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域,包括:
对于按照渲染时间的先后顺序待渲染的各个视频帧执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域;
将所述子窗口视场在对应已渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
第二方面,本公开实施例提供一种全景视频的播放控制装置,包括:
映射单元,用于将全景视频中的视频帧映射为三维模型的表面纹理;
确定单元,用于确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场;所述符合播放策略的播放窗口视场的方向不同于当前播放窗口的视场方向;
转换单元,用于转换所述播放窗口的视场方向与所述符合播放策略的播放窗口视场的方向一致;
投影单元,用于将所述播放窗口视场、以及子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域;
渲染单元,用于在所述播放窗口中渲染处于所述播放窗口视场的纹理区域,并在所述子窗口中渲染处于所述子窗口视场的纹理区域。
上述方案中,所述确定单元,还用于从全景视频文件中提取所述视频帧对应的解码元数据;
解析所述视频帧对应的解码元数据,得到所述视频帧对应的播放参数;
基于所得到的所述播放参数,确定所述视频帧的符合播放策略的播放窗口视场的方向、以及所述播放窗口视场对应的放大倍数。
上述方案中,所述确定单元,还用于对所述视频帧进行目标对象检测,得到检测结果;
当所述检测结果表征所述视频帧中包含所述目标对象时,确定所述视频帧的对应所述目标对象的视场方向,为所述符合播放策略的播放窗口视场的方向;
调整所述播放窗口视场的放大倍数,使得所述播放窗口中呈现的所述目标对象的大小与所述播放窗口相适配。
上述方案中,所述确定单元,还用于根据所述符合播放策略的播放窗口视场的方向,所述播放窗口视场的方向与所述子窗口视场的方向之间的相对位置关系,确定所述子窗口视场的方向;
或者,根据所述全景视频中的目标对象,确定包括所述目标对象的视场方向为所述子窗口视场的方向。
上述方案中,所述映射单元,还用于将所述视频帧的像素点映射到纹理空间,得到所述像素点的纹理坐标;
将所述像素点的纹理坐标映射到所述三维模型表面的顶点坐标,以形成所述三维模型的表面纹理。
上述方案中,所述投影单元,还用于对于按照渲染时间的先后顺序待渲染的各个视频帧,执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域,以及,
将与所述子窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
上述方案中,所述投影单元,还用于对于按照渲染时间的先后顺序待渲染的各个视频帧执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域;
将所述子窗口视场在对应已渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
第三方面,本公开实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述可执行指令时,实现本公开实施例的的全景视频的播放控制方法;
其中,可执行指令可以为安装包、程序、代码、插件、库(动态/静态库)。
第四方面,本公开实施例提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,实现本公开实施例的全景视频的播放控制方法。
应用本公开上述实施例具有以下有益效果:
应用本公开上述实施例,在全景视频播放过程中,实现了符合播放策略的播放窗口的视场方向的自动转换,进而可突出展现重点内容、关键信息等,保证用户拥有好的观看体验;同时通过多窗口进行视频展现,使得在观看全景视频时不再受到单一视场的约束,扩展了在全景视频中获取信息的途径,有效提升了在全景视频中展示内容的效率。
附图说明
图1为本公开实施例提供的电子设备100的组成结构示意图;
图2是实现本公开实施例的电子设备显示全景视频的流程示意图;
图3是实现本公开实施例的电子设备显示全景视频的流程示意图;
图4A是实现本公开实施例的电子设备显示全景视频的纹理映射示意图;
图4B是实现本公开实施例的电子设备显示全景视频的视场示意图;
图4C是实现本公开实施例的电子设备显示全景视频的投影示意图;
图5是本公开实施例提供的全景视频的播放控制方法的流程示意图;
图6是本公开实施例提供的全景视频的播放控制方法的流程示意图;
图7是本公开实施例提供的全景视频的多窗口播放的界面示意图;
图8是本公开实施例提供的多窗口播放中窗口切换后的界面示意图;
图9是实现本公开实施例的全景视频的播放控制装置的结构示意图。
具体实施方式
以为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开实施例的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本公开实施例。
本公开实施例提供的附图中的流程图和框图,图示了按照本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)全景视频,是指在各种电子设备中播放能够供用户裸眼观看的视频,且播放窗口的视场能够进行方向和放大倍数的调整。
2)三维模型,是模拟全景视频所表达的空间的模型,用于将全景视频的视频帧映射到三维模型的表面以形成表面纹理,三维模型的表面一般采用球面或圆柱面。
3)视场,在三维模型的中心的虚拟镜头感知三维模型的表面纹理的视线的集合,更一般地,是指通过一个窗口在全景视频的视频帧中能够观看的区域。
4)播放窗口,全景视频的客户端中默认用于播放全景视频的全屏或非全屏的窗口,至少包括全景视频的视频播放区域,还可以包括设置有相关操作的入口的操作区域。
5)播放窗口视场,即与播放窗口对应的视场,控制在播放窗口中能够感知到视频帧中处于相应视场的部分内容。
6)子窗口,全景视频的客户端中辅助用于播放的非全屏的窗口,小于播放存储,至少包括全景视频的视频播放区域,还可以包括设置有相关操作的入口的操作区域。
7)子窗口视场,即与子窗口对应的视场,控制在窗口中能够感知到的视频帧中处于相应视场的部分内容。
8)纹理,视频帧中的对象在颜色、几何上有规律的特性,以视频帧中各纹理像素的纹理坐标和对应的颜色值表示。
9)纹理区域,视场在三维模型的表面纹理的投影所包括的区域,是三维模型的表面纹理的一个子集,例如全景视频帧能够完整展示的区域的视角在垂直方向和水平方向可以覆盖0至180度,而视场对应的纹理区域覆盖的视角在垂直方向和水平方向可以覆盖0至30度。
下面参见图1,图1是实现本公开实施例的电子设备(例如图1中的电子设备或服务器)100的结构示意图。电子设备可以是各种终端,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(PDA,Personal Digital Assistant)、平板电脑(PAD)、便携式多媒体播放器(PMP,Portable Media Player)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字电视(TV)、台式计算机等等的固定终端。图1示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图1所示,电子设备100可以包括处理装置(例如中央处理器、图形处理器等)110,其可以根据存储在只读存储器(ROM,Read-Only Memory)120中的程序或者从存储装置180加载到随机访问存储器(RAM,Random Access Memory)130中的程序而执行各种适当的动作和处理。在RAM 130中,还存储有电子设备100操作所需的各种程序和数据。处理装置110、ROM 120以及RAM 130通过总线140彼此相连。输入/输出(I/O,Input/Output)接口150也连接至总线140。
通常,以下装置可以连接至I/O接口150:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置160;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置170;包括例如磁带、硬盘等的存储装置180;以及通信装置190。通信装置190可以允许电子设备100与其他设备进行无线或有线通信以交换数据。虽然图1示出了具有各种装置的电子设备100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,所提供的流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,计算机程序可以通过通信装置190从网络上被下载和安装,或者从存储装置180被安装,或者从ROM 120被安装。在计算机程序被处理装置110执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(RF)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备100中所包含的;也可以是单独存在,而未装配入电子设备100中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得电子设备100执行本公开实施例提供的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)和广域网(WAN),以连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
描述于本公开实施例中所涉及到的单元和/或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
对于硬件的方式来说,实现本公开实施例的电子设备的单元和/或模块可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件实现,用于执行实现本公开实施例提供的方法。
参见图2,图2是实现本公开实施例的电子设备显示全景视频的一个可选的流程示意图,以处理装置110从只读存储器(ROM)120中的程序或者从存储装置180加载到随机访问存储器(RAM)130中的程序为用于全景视频播放的客户端为例,在全景视频播放的过程中,播放窗口用于展示视频帧的视场(也就是在播放窗口中显示视频帧所采用的视场,下文中简称为播放窗口视场)能够依据用户操作或自身的播放策略发生变化,客户端将根据播放窗口视场的变化,通过纹理映射的方式,在播放窗口中显示顺序解码的视频帧中处于播放窗口视场的内容,并同步播放音频帧。
结合图2示出的步骤,说明电子设备中的客户端在播放窗口进行全景视频播放的过程,需要指出,在下文关于图2的相关说明中,为方便描述,视场即是指代“播放窗口视场”。
在步骤101中,客户端从全景视频的服务器请求全景视频的文件,并加载到客户端的内存(RAM 130)中。
例如,在全景视频的在线播放场景中,客户端通过通信装置190向服务器请求当前播放点(例如起始的播放点或根据用户操作而跳转的播放点)之后的预加载时长(例如1分钟)分段文件,并加载到RAM130中。预加载时长可由客户端根据电子设备的网络接入类型、带宽等网络参数自动设定,也可以接收用户的设定。
分段文件中包括封装了必要的解码元数据和媒体数据(包括音频帧和视频帧),客户端可以对分段文件进行及时地解码,分段文件的时长保证了在客户端中连续的播放效果且不会过分消耗电子设备的带宽。
在一些实施例中,作为步骤101的替代步骤,客户端可以从服务器一次性请求全景视频的完整的文件,并加载到内存中;或者,从存储装置180中读取本地的全景视频的文件,并加载到内存中。
在步骤102中,客户端对加载到内存中的全景视频的文件进行解码,以提取出解码元数据和媒体数据。
全景视频的文件中按照约定的方式封装了解码元数据和媒体数据,客户端根据约定的位置(例如文件的二进制数据起始的若干字节)从文件中读出解码元数据和媒体信息,就解码元数据而言,指示了各音频帧/视频帧的时间、长度、宽高和分辨率等信息。
在步骤103中,客户端将媒体数据中的视频帧映射为三维模型的表面纹理。
继续参见图3,图3是实现本公开实施例的电子设备显示全景视频的一个可选的流程示意图,示例性示出了步骤103中基于视频帧形成三维模型的表面纹理的实现过程。
在步骤1031中,客户端将视频帧映射到纹理空间。
视频帧在纹理空间中的纹理以视频帧中各像素的纹理坐标以及对应的颜色值表示,视频帧的像素在纹理空间中的纹理坐标(u,v)上是一个存放视频帧中像素在纹理空间的x轴/y轴的位置的二维数组,从而在纹理空间中可以离散地分离出视频帧中每个像素点的颜色值。
在步骤1032中,将视频帧在纹理空间的纹理坐标映射到三维模型的表面,以形成三维模型的表面纹理。
例如,可以采用的这样的方式:将视频帧的像素在纹理空间的纹理坐标映射到三维模型的顶点的坐标(x,y,z),三维模型的顶点是将三维模型的表面分割成一系列的图形(例如三角形)的顶点,从而使得无论三维模型如何发生变化,顶点之间的像素点是稳定的。
例如,参见图4A,图4A是实现本公开实施例的电子设备显示全景视频的一个可选的纹理映射示意图,客户端解码媒体数据中的视频帧,以解码得到的视频帧41为例,将视频帧41中各像素点的纹理坐标映射到球面模型42(当然,不局限于球面模型,还可以采用圆柱模型等三维模型)的三角形的顶点(三角形将使得球面模型42的表面的纹理稳定,不容易使视频帧中展示的对象发生形变;当然不限于三角形),形成以视频帧41的为表面纹理的球面模型43。
在步骤104中,客户端确定全景视频当前待渲染视频帧的视场。
这里,播放窗口中展示全景视频的各视频帧时所使用的视场,即播放窗口视场。
在一些实施例中,客户端根据全景视频的解码元数据对应各视频帧的时间,确定已解码的各视频帧的渲染的先后顺序,并顺序确定渲染各视频帧时对应的播放窗口视场,客户端通过视角(决定视场的尺寸)、方向(决定视频帧处于视场的内容在视频帧中的位置)和放大倍数(决定视频帧的内容在视场中成像的尺寸)来确定视场,下面进行说明。
参见图4B,图4B是实现本公开实施例的电子设备显示全景视频的一个可选的视场示意图,播放窗口视场46模拟了人眼47通过输入装置160的显示器显示的播放窗口能够观看到的区域,播放窗口视场46的尺寸取决于播放窗口视场46的水平视角44和垂直视角45,角度越大则播放窗口视场46中能够观看到的视频帧的内容越多(在播放窗口视场46的放大倍数一定的情况下)。
例如,参见图4C,图4C是实现本公开实施例的电子设备显示全景视频的一个可选的投影示意图,在球面模型43的中心模拟一个如图4B示出的人眼47的虚拟镜头48,镜头48与播放窗口具有相同的视场,从而播放窗口视场46在球面模型43的表面纹理中的投影区域即纹理区域49,即是通过播放窗口能够在视频帧中观看到的内容。
视场的水平视角和垂直视角取决于输出装置170中的显示器(例如显示器的宽高),因此,一般地,视场可以使用方向转动参数和镜头缩放参数两个参数进行表示,下面分别进行说明。
方向转动是表示视场的方向的变化,而播放窗口视场46的方向(即视场朝向球面模型43的表面纹理的方向)能够影响客户端在播放窗口中显示的部分内容(即视频帧的部分内容)处于视频帧中的位置。例如,假设播放窗口视场46相对于图4C示出的朝向球面模型43的方向进行方向转动时,那么,区别于纹理区域49的另一纹理区域的纹理将被渲染到播放窗口中,从而使用户观看到视频帧41中的另一部分内容。
镜头缩放是表示视场的放大倍数,从而客户端在播放窗口显示视频帧的内容还受到镜头缩放的约束,在水平视角44和垂直视角45一定(也就是视场的尺寸一定)的情况下,镜头缩放所实现的放大倍数(以大于1表示放大,小于1表示缩小)与播放窗口视场46在球面模型43对应的纹理区域49(即视场在球面模型43的表面纹理的投影区域)中纹理的成像尺寸成反比,即放大倍数越小,则成像的尺寸越小,从而播放窗口中显示的内容越多,同时能够看到的内容的细节也越少。
在一些实施例中,视场的方向转动和放大倍数可以通过输入装置160接收用户的各种操作来确定,输入装置160中可以设置如陀螺仪、鼠标、键盘、触摸板、操作条和鼠标等支持实施相应的操作。
以方向转动的操作为例,包括移动端的触控拖拽交互、陀螺仪事件,还可以包括电脑(PC)端的鼠标拖拽交互、转动控件和键盘事件。
以镜头缩放的操作为例,包括移动端的双击(或多击)触控操作、双指(或多指)触控操作,还可以包括PC端的触摸板事件、操作条滑动和鼠标滚轮事件。特别地,针对不同类型的事件,客户端可以按照一定的优先级进行响应,例如针对鼠标滚轮的时间兼容性差于触摸板事件和操作条滑动的情况,鼠标滚轮事件的响应优先级可以设置为低于触摸板事件和操作条滑动。
此外,方向转动和镜头缩放的操作不局限于上述类型,例如用户表达意愿的操作还可以包括向输入装置160的摄像头实施的面部动作和眼部动作。从而,客户端可以根据用户意愿而显示全景视频处于不同视场的内容,符合用户针对全景视频的个性化的需求。
在另一些实施例中,视场的方向和放大倍数两个参数可以为客户端中根据全景视频的特点而设置的保证观看体验的经验值;或者,采用从全景视频的文件中读取的参数(由拍摄或发布全景视频的用户设定,可以针对全景视频中部分或者全部的时间轴而设定),又或者,采用服务器跟随全景视频而向客户端所下发的参数。
可以理解地,上述确定视场的参数的方式可以择一使用或者结合使用,例如,设置不同来源的参数的优先级,按照优先级的降序使用参数,特别地,当没有检测到用户指示参数的操作时,采用客户端中的针对播放效果而优化的默认值,以保证全景视频的最佳播放效果。
在步骤105A中,客户端将以待渲染的视频帧为贴图的三维模型的表面纹理中,与待渲染的视频帧的视场相对应的纹理渲染到输出装置170中的显示器显示的播放窗口。
在一些实施例中,客户端根据视场朝向三维模型的方向,确定三维模型处于视场的纹理区域,根据区域中的顶点从纹理空间提取与纹理区域相应的纹理,包括顶点在纹理空间中对应的为例像素、以及顶点之间的区域在纹理空间中对应的纹理像素;采用透视投影的方式(即近大远小的原则),将纹理区域对应的纹理渲染到输出装置170中的显示器显示的播放窗口。
可以理解,由于视场的方向转动/缩放,对三维模型处于视场的纹理区域提取的纹理像素在整体上可以进行相应的旋转/缩放(例如在放大时进行像素插值)处理。
在步骤105B中,与步骤105A同步地,客户端播放与步骤105A中待渲染视频帧在时间上同步的已解码音频帧。
在步骤106中,客户端判断是否已经渲染完毕内存中的全部待渲染的视频帧,如果是则结束播放;否则,继续下一视频帧,直至渲染完毕内存中的全部待渲染的视频帧。
至此,已经说明了客户端在播放窗口中显示全景视频的过程,客户端能够在播放过程中播放符合用户意愿的视场中的对象,使得用户能够灵活进行视场的方向转动和调整镜头缩放,以关注全景视频中感兴趣的内容,并给用户如同身临其境的感知效果。
为了进一步提升在全景视频的播放窗口展现的信息量,以及保证用户更高效地在全景视频中获取信息,除了在客户端的播放窗口中展示全景视频的内容,本公开实施例还提供了在播放窗口的子窗口中展示同一全景视频的内容,并实现对播放窗口视场方向的自动控制的方案。
参见图5,图5为本公开实施例提供的全景视频的播放控制方法的流程示意图,接下来结合图5所示的步骤对本公开实施例的全景视频的播放控制方法进行说明。
步骤201:将全景视频中的视频帧映射为三维模型的表面纹理。
步骤202:确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场。
步骤203:当所述符合播放策略的播放窗口视场的方向,不同于当前播放窗口的视场方向时,转换所述播放窗口的视场方向,使其与所述符合播放策略的播放窗口视场的方向一致。
步骤204:将所述播放窗口视场、以及所述子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域。
步骤205:在所述播放窗口中渲染处于所述播放窗口视场的纹理区域,并在所述子窗口中渲染处于所述子窗口视场的纹理区域。
通过在客户端中实现播放窗口的子窗口进行内容的展示,拓展了用户从全景视频中获取信息的途径,使用户在观看全景视频的过程中能够更加高效地获取所需要的信息;同时,实现了符合播放策略的播放窗口的视场方向的自动转换,进而可突出展现重点内容、关键信息等,保证用户拥有好的观看体验;下面结合图6继续进行说明,图6为本公开实施例提供的全景视频的播放控制方法的流程示意图,包括:
步骤301:客户端初始化播放窗口和子窗口。
在一些实施例中,当客户端被启动时,或在后台运行并当接收播放全景视频的操作时,将默认初始化播放窗口。
当默认初始化播放窗口时,还可以默认初始化播放窗口的一个或以上的子窗口,或者,当默认初始化播放窗口时,不默认初始化子窗口,根据图3示出的步骤在播放窗口中播放全景视频,在播放过程中,当接收到开启子窗口的操作时才初始化一个或以上的子窗口。
一般地,播放窗口的视频播放区域大于子窗口的视频播放区域。
播放窗口与子窗口的相对位置关系是多样化的。例如,播放窗口与子窗口可以在客户端的不同区域显示。再例如,子窗口可以位于播放窗口的内部并覆盖播放窗口的部分视频播放区域,参见图7,图7是本公开实施例提供的全景视频的多窗口播放的一个可选的示意图,播放窗口71呈现所渲染的视频帧的部分内容A,子窗口72呈现所渲染的视频帧的部分内容B,播放窗口71的视频播放区域中部分被子窗口72所覆盖。或者,子窗口可以位于播放窗口的内部,并由播放窗口的视频播放区域避让子窗口。
特别地,当子窗口位于播放窗口的内部时,子窗口在播放窗口的位置,还可以反映与子窗口显示的内容、与播放窗口中显示的内容在视频帧中的相对位置关系,从而当用户需要在播放窗口中显示与子窗口相同的内容时,可以根据相对位置关系快速调整播放窗口的视场的方向,以在播放窗口观看与子窗口相同的内容,由于播放窗口是大于子窗口的,从而能够看到子窗口中无法看到的更多细节。
步骤302:将全景视频中待渲染的视频帧映射为三维模型的表面纹理。
在实际应用中,客户端在进行所述表面纹理映射之前,需要从全景视频的服务器请求全景视频的文件,并加载到客户端的内存中,然后对加载到内存中的全景视频的文件进行解码,以提取出解码元数据和媒体数据,进而得到媒体数据中的视频帧。
这里进行表面纹理映射的所述视频帧为一个或多个待渲染的媒体数据中的视频帧,例如,可以将媒体数据的全部视频帧分别映射到多个相同三维模型,以形成相应的表面纹理,或者,按照视频帧的渲染顺序,当一个视频帧被渲染完毕时才将下一个视频帧映射为三维模型的表面纹理。
在一实施例中,客户端可以通过如下方式将全景视频中的视频帧映射为三维模型的表面纹理:
将视频帧的像素点映射到纹理空间,得到像素点的纹理坐标;将像素点的纹理坐标映射到三维模型表面的顶点坐标,以形成所述三维模型的表面纹理。
步骤303:确定待渲染的第一视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场。
这里,符合播放策略的播放窗口视场,是客户端通过播放窗口视场的方向和放大倍数的两个参数来确定的。
在一些实施例中,播放窗口视场的上述参数是通过解析用户操作的方式来确定,即,客户端通过接收用于设定方向和放大倍数的操作来确定播放窗口视场的方向和放大倍数。
例如,对于播放窗口视场的方向来说,根据在客户端中接收到的表达方向转动的操作(例如包括前述的触控拖拽交互、操作条滑动等),解析触发虚拟镜头实现的方向转动,其表示基于基准方向变化的角度,进而对实现播放窗口视场的虚拟镜头朝向三维模型的表面纹理的方向进行更新,以得到播放窗口视场的更新的方向。
再例如,对于播放窗口视场的放大倍数来说,根据在客户端中接收到的表达镜头缩放的操作(例如包括前述的触摸板事件、鼠标滚轮事件等),解析触发虚拟镜头实现的镜头缩放,进而根据镜头缩放与放大倍数的换算关系,来确定更新的放大倍数。
在另一些实施例中,播放窗口视场采用预先设定的方式,客户端通过解析全景视频文件的解码元数据而得到在播放窗口视场中渲染各视频帧时所对应的方向和放大倍数,以确定对应的播放窗口视场。
例如,拍摄或发布全景视频的用户,在全景视频的文件中封装解码元数据,其中设定了播放窗口视场中渲染各视频帧的方向和放大倍数。从而,一旦客户端根据约定的规范从视频文件中提取出解码元数据,即可确定实现播放窗口视场的更新的方向和放大倍数。
根据上述示例,可以理解地,播放窗口视场的方向和放大倍数也可以是独立于全景视频的播放视场数据,当客户端向服务器请求全景视频的过程中,由服务器向客户端下发,以控制播放窗口视场中渲染全景视频的部分或者全部视频时所使用的方向和放大倍数。
在一实施例中,播放窗口视场的方向和子窗口视场的方向存在固定的相对位置关系,如播放窗口的视场方向与子窗口的视场方向相差180°,因此,在确定了播放窗口视场的方向后,依据所述相对位置关系可确定子窗口视场的方向。
步骤304:基于确定的播放窗口视场以及子窗口视场,渲染第一视频帧。
这里,具体可通过如下方式实现对第一视频帧的渲染:
将播放窗口视场、以及子窗口视场分别在三维模型的表面纹理中进行投影,对应得到处于播放窗口视场的纹理区域、以及处于子窗口视场的纹理区域;在播放窗口中渲染处于播放窗口视场的纹理区域,并在子窗口中渲染处于子窗口视场的纹理区域。
在一实施例中,将播放窗口视场、以及子窗口视场分别在三维模型的表面纹理中进行投影,对应得到处于播放窗口视场的纹理区域、以及处于子窗口视场的纹理区域,具体包括:
对于按照渲染时间的先后顺序待渲染的各个视频帧,执行以下操作:
将播放窗口视场在待渲染的视频帧映射形成的表面纹理中进行投影,得到处于播放窗口视场的纹理区域,以及,将与子窗口视场在待渲染的视频帧映射形成的表面纹理中进行投影,得到处于子窗口视场的纹理区域。也就是说,播放窗口和子播放窗口渲染同一视频帧,由于不同的窗口实质上是利用同一视频帧进行渲染,因此,客户端只需要运行一个实例,从而能够以资源节约的方式完成多个窗口的显示。
在一实施例中,将播放窗口视场、以及子窗口视场分别在三维模型的表面纹理中进行投影,对应得到处于播放窗口视场的纹理区域、以及处于子窗口视场的纹理区域,具体包括:
对于按照渲染时间的先后顺序待渲染的各个视频帧执行以下操作:
将播放窗口视场在待渲染的视频帧映射形成的表面纹理中进行投影,得到处于播放窗口视场的纹理区域;将子窗口视场在已渲染的视频帧映射形成的表面纹理中进行投影,得到处于子窗口视场的纹理区域。也就是说,对于全景视频中各个待渲染的视频帧,提供按照全景视频中各视频帧的先后时间顺序在播放窗口中渲染,并在子窗口中渲染与播放窗口渲染的视频帧在时间上不同步的视频帧,例如相对于播放窗口回放已经渲染的视频帧。
对于已渲染的视频帧来说,已渲染的视频帧可以是全景视频已经播放的任意时段所渲染的视频帧,也可以是与播放窗口的播放时间差值固定(例如,子窗口的时间总是晚于播放窗口十分钟)的视频帧。这样,在子窗口中可以对播放窗口中已经播放的全景视频进行回放,可以理解地,在回放的过程中,子窗口可以根据用户的操作而改变子窗口视场,从而是用户在会看过程中关注所感兴趣的内容。
在一实施例中,在全景视频播放过程中,还可以根据在客户端中接收的针对播放窗口与子窗口的切换操作,交换播放窗口视场与子窗口视场的方向,以实现播放窗口视场与子窗口视场所呈现内容的交换,对应图7所示,参见图8,图8为本公开实施例提供的多窗口播放中窗口切换后的界面示意图,当客户端接收到交换指令时,播放窗口81呈现所渲染的视频帧的部分内容B,子窗口82呈现所渲染的视频帧的部分内容A;当然,由于播放窗口与子窗口的大小存在差异,因此播放窗口与子窗口的放大倍数可以保持不变,以便于利用相对子窗口更大的播放窗口关注之前在子窗口显示的内容,在必要时可以再次切换还原播放窗口视场与子窗口视场的方向,例如在计时时间到达(例如30秒)后再次切换还原播放窗口视场与子窗口视场的方向,或者,根据用户的操作而切换还原播放窗口视场与子窗口视场的方向。
步骤305:确定待渲染的第二视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场。
这里,第二视频帧与第一视频帧为基于渲染时间的先后顺序排列的相邻的两个视频帧。
在实际应用中,客户端可通过如下方式确定第二视频帧的符合播放策略的播放窗口视场:
对待渲染的第二视频帧对应的解码元数据进行解析,得到包括方向转动参数及镜头缩放参数的播放参数;基于得到的播放参数,确定第二视频帧的符合播放策略的播放窗口视场。
其中,方向转动参数用于指示播放窗口视场的方向,镜头缩放参数用于指示播放窗口视场对应的虚拟镜头的放大倍数。
在实际应用中,为了突出显示目标内容(例如高潮情节,植入广告)的时段中的视频帧时,还可将对应目标对象的视场方向,作为符合播放策略的视场方向,相应的,客户端还可通过如下方式确定第二视频帧的符合播放策略的播放窗口视场:
对待渲染的第二视频帧的图像进行目标对象检测,得到检测结果;当检测结果表征第二视频帧中包含目标对象时,确定第二视频帧的对应目标对象的视场方向,为第二视频帧的符合播放策略的播放窗口视场;
确定播放窗口中呈现的目标对象的大小与播放窗口相适配时,播放窗口视场的放大倍数;
基于所确定的视场方向及放大倍数,确定第二视频帧的符合播放策略的播放窗口视场。
在一实施例中,第二视频帧对应的子窗口视场的确定可基于第二视频帧的解码元数据确定,或者,基于播放窗口视场与子窗口视场的播放参数的关联关系确定。
步骤306:判断第二视频帧的播放窗口视场的方向与第一视频帧的播放窗口视场的方向是否相同,如果不同,执行步骤307;如果相同,执行步骤309。
步骤307:转换播放窗口视场的方向与第二视频帧的播放窗口视场的方向一致。
步骤308:基于方向转换后的播放窗口视场及子窗口视场,渲染第二视频帧,执行步骤310。
这里,渲染第二视频帧的具体方式可参见对第一视频帧的渲染的描述。
步骤309:基于当前的播放窗口视场及子窗口视场,渲染第二视频帧。
步骤310:结束本次处理流程。
继续对本公开实施例提供的全景视频的播放控制装置的软件实现进行说明,全景视频的播放控制装置可以实施于电子设备中,对于软件的方式来说,实现本公开实施例的装置/电子设备的单元和/或模块可以被两个或以上的单元实现,
下面以软件的方式为例,示例性说明实现本公开实施例的全景视频的播放控制装置的单元和/或模块。
图9是实现本公开实施例的全景视频的播放控制装置的一个可选的结构示意图,参见图9,本公开实施例的全景视频的播放控制装置包括:
映射单元91,用于将全景视频中的视频帧映射为三维模型的表面纹理;
确定单元92,用于确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场;
转换单元93,用于当所述符合播放策略的播放窗口视场的方向,不同于当前播放窗口的视场方向时,转换所述播放窗口的视场方向,使其与所述符合播放策略的播放窗口视场的方向一致;
投影单元94,用于将所述播放窗口视场、以及所述子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域;
渲染单元95,用于在所述播放窗口中渲染处于所述播放窗口视场的纹理区域,并在所述子窗口中渲染处于所述子窗口视场的纹理区域。
在一实施例中,所述确定单元,还用于从全景视频文件中提取所述视频帧对应的解码元数据;
解析所述视频帧对应的解码元数据,得到所述视频帧对应的播放参数;
基于所得到的所述播放参数,确定所述视频帧的符合播放策略的播放窗口视场的方向、以及所述播放窗口视场对应的放大倍数。
在一实施例中,所述确定单元,还用于对所述视频帧进行目标对象检测,得到检测结果;
当所述检测结果表征所述视频帧中包含所述目标对象时,确定所述视频帧的对应所述目标对象的视场方向,为所述符合播放策略的播放窗口视场的方向;
调整所述播放窗口视场的放大倍数,使得所述播放窗口中呈现的所述目标对象的大小与所述播放窗口相适配。
在一实施例中,所述确定单元,还用于根据所述符合播放策略的播放窗口视场的方向,所述播放窗口视场的方向与所述子窗口视场的方向之间的相对位置关系,确定所述子窗口视场的方向;
或者,根据所述全景视频中的目标对象,确定包括所述目标对象的视场方向为所述子窗口视场的方向。
在一实施例中,所述映射单元,还用于将所述视频帧的像素点映射到纹理空间,得到所述像素点的纹理坐标;
将所述像素点的纹理坐标映射到所述三维模型表面的顶点坐标,以形成所述三维模型的表面纹理。
在一实施例中,所述投影单元,还用于对于按照渲染时间的先后顺序待渲染的各个视频帧,执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域,以及,
将与所述子窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
在一实施例中,所述投影单元,还用于对于按照渲染时间的先后顺序待渲染的各个视频帧执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域;
将所述子窗口视场在对应已渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种全景视频的播放控制方法,其特征在于,所述方法包括:
将全景视频中的视频帧映射为三维模型的表面纹理;
确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场;
当所述符合播放策略的播放窗口视场的方向,不同于当前播放窗口的视场方向时,转换所述播放窗口的视场方向,使其与所述符合播放策略的播放窗口视场的方向一致;
将所述播放窗口视场、以及所述子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域;
在所述播放窗口中渲染处于所述播放窗口视场的纹理区域,并在所述子窗口中渲染处于所述子窗口视场的纹理区域。
2.根据权利要求1所述的方法,其特征在于,所述确定所述视频帧的符合播放策略的播放窗口视场,包括:
从全景视频文件中提取所述视频帧对应的解码元数据;
解析所述视频帧对应的解码元数据,得到所述视频帧对应的播放参数;
基于所得到的所述播放参数,确定所述视频帧的符合播放策略的播放窗口视场的方向、以及所述播放窗口视场对应的放大倍数。
3.根据权利要求1所述的方法,其特征在于,所述确定所述视频帧的符合播放策略的播放窗口视场,包括:
对所述视频帧进行目标对象检测,得到检测结果;
当所述检测结果表征所述视频帧中包含所述目标对象时,确定所述视频帧的对应所述目标对象的视场方向,为所述符合播放策略的播放窗口视场的方向;
调整所述播放窗口视场的放大倍数,使得所述播放窗口中呈现的所述目标对象的大小与所述播放窗口相适配。
4.根据权利要求1所述的方法,其特征在于,所述确定播放窗口的子窗口对应的子窗口视场,包括:
根据所述符合播放策略的播放窗口视场的方向,所述播放窗口视场的方向与所述子窗口视场的方向之间的相对位置关系,确定所述子窗口视场的方向;
或者,根据所述全景视频中的目标对象,确定包括所述目标对象的视场方向为所述子窗口视场的方向。
5.根据权利要求1所述的方法,其特征在于,所述将全景视频中的视频帧映射为三维模型的表面纹理,包括:
将所述视频帧的像素点映射到纹理空间,得到所述像素点的纹理坐标;
将所述像素点的纹理坐标映射到所述三维模型表面的顶点坐标,以形成所述三维模型的表面纹理。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述播放窗口视场、以及所述子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域,包括:
对于按照渲染时间的先后顺序待渲染的各个视频帧,执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域,以及,
将与所述子窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述将所述播放窗口视场、以及所述子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域,包括:
对于按照渲染时间的先后顺序待渲染的各个视频帧执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域;
将所述子窗口视场在对应已渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
8.一种全景视频的播放控制装置,其特征在于,所述装置包括:
映射单元,用于将全景视频中的视频帧映射为三维模型的表面纹理;
确定单元,用于确定所述视频帧的符合播放策略的播放窗口视场、以及播放窗口的子窗口对应的子窗口视场;
转换单元,用于当所述符合播放策略的播放窗口视场的方向,不同于当前播放窗口的视场方向时,转换所述播放窗口的视场方向,使其与所述符合播放策略的播放窗口视场的方向一致;
投影单元,用于将所述播放窗口视场、以及所述子窗口视场分别在所述三维模型的表面纹理中进行投影,对应得到处于所述播放窗口视场的纹理区域、以及处于所述子窗口视场的纹理区域;
渲染单元,用于在所述播放窗口中渲染处于所述播放窗口视场的纹理区域,并在所述子窗口中渲染处于所述子窗口视场的纹理区域。
9.根据权利要求8所述的装置,其特征在于,
所述确定单元,还用于从全景视频文件中提取所述视频帧对应的解码元数据;
解析所述视频帧对应的解码元数据,得到所述视频帧对应的播放参数;
基于所得到的所述播放参数,确定所述视频帧的符合播放策略的播放窗口视场的方向、以及所述播放窗口视场对应的放大倍数。
10.根据权利要求8所述的装置,其特征在于,
所述确定单元,还用于对所述视频帧进行目标对象检测,得到检测结果;
当所述检测结果表征所述视频帧中包含所述目标对象时,确定所述视频帧的对应所述目标对象的视场方向,为所述符合播放策略的播放窗口视场的方向;
调整所述播放窗口视场的放大倍数,使得所述播放窗口中呈现的所述目标对象的大小与所述播放窗口相适配。
11.根据权利要求8所述的装置,其特征在于,
所述确定单元,还用于根据所述符合播放策略的播放窗口视场的方向,所述播放窗口视场的方向与所述子窗口视场的方向之间的相对位置关系,确定所述子窗口视场的方向;
或者,根据所述全景视频中的目标对象,确定包括所述目标对象的视场方向为所述子窗口视场的方向。
12.根据权利要求8所述的装置,其特征在于,
所述映射单元,还用于将所述视频帧的像素点映射到纹理空间,得到所述像素点的纹理坐标;
将所述像素点的纹理坐标映射到所述三维模型表面的顶点坐标,以形成所述三维模型的表面纹理。
13.根据权利要求8至12任一项所述的装置,其特征在于,
所述投影单元,还用于对于按照渲染时间的先后顺序待渲染的各个视频帧,执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域,以及,
将与所述子窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
14.根据权利要求8至12任一项所述的装置,其特征在于,
所述投影单元,还用于对于按照渲染时间的先后顺序待渲染的各个视频帧执行以下操作:
将所述播放窗口视场在对应待渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述播放窗口视场的纹理区域;
将所述子窗口视场在对应已渲染的视频帧映射形成的表面纹理中进行投影,得到处于所述子窗口视场的纹理区域。
15.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至7任一项所述的全景视频的播放控制方法。
16.一种存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现权利要求1至7任一项所述的全景视频的播放控制方法。
CN201811368809.4A 2018-11-16 2018-11-16 全景视频的播放控制方法、装置、电子设备及存储介质 Pending CN111200749A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811368809.4A CN111200749A (zh) 2018-11-16 2018-11-16 全景视频的播放控制方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811368809.4A CN111200749A (zh) 2018-11-16 2018-11-16 全景视频的播放控制方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111200749A true CN111200749A (zh) 2020-05-26

Family

ID=70747378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811368809.4A Pending CN111200749A (zh) 2018-11-16 2018-11-16 全景视频的播放控制方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111200749A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245838A (zh) * 2015-09-29 2016-01-13 成都虚拟世界科技有限公司 一种全景视频播放方法及播放器
CN105678693A (zh) * 2016-01-25 2016-06-15 成都易瞳科技有限公司 全景视频浏览播放方法
CN105741341A (zh) * 2016-01-27 2016-07-06 桂林长海发展有限责任公司 一种三维空间环境成像系统及方法
CN106101741A (zh) * 2016-07-26 2016-11-09 武汉斗鱼网络科技有限公司 在网络视频直播平台上观看全景视频的方法及系统
CN106331732A (zh) * 2016-09-26 2017-01-11 北京疯景科技有限公司 生成、展现全景内容的方法及装置
CN106358036A (zh) * 2016-08-31 2017-01-25 杭州当虹科技有限公司 一种以预设视角观看虚拟现实视频的方法
WO2018093718A1 (en) * 2016-11-18 2018-05-24 Twitter, Inc. Live interactive video streaming using one or more camera devices
CN108377407A (zh) * 2016-11-04 2018-08-07 株式会社理光 全景视频的处理方法、装置及电子设备
CN108632674A (zh) * 2017-03-23 2018-10-09 华为技术有限公司 一种全景视频的播放方法和客户端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245838A (zh) * 2015-09-29 2016-01-13 成都虚拟世界科技有限公司 一种全景视频播放方法及播放器
CN105678693A (zh) * 2016-01-25 2016-06-15 成都易瞳科技有限公司 全景视频浏览播放方法
CN105741341A (zh) * 2016-01-27 2016-07-06 桂林长海发展有限责任公司 一种三维空间环境成像系统及方法
CN106101741A (zh) * 2016-07-26 2016-11-09 武汉斗鱼网络科技有限公司 在网络视频直播平台上观看全景视频的方法及系统
CN106358036A (zh) * 2016-08-31 2017-01-25 杭州当虹科技有限公司 一种以预设视角观看虚拟现实视频的方法
CN106331732A (zh) * 2016-09-26 2017-01-11 北京疯景科技有限公司 生成、展现全景内容的方法及装置
CN108377407A (zh) * 2016-11-04 2018-08-07 株式会社理光 全景视频的处理方法、装置及电子设备
WO2018093718A1 (en) * 2016-11-18 2018-05-24 Twitter, Inc. Live interactive video streaming using one or more camera devices
CN108632674A (zh) * 2017-03-23 2018-10-09 华为技术有限公司 一种全景视频的播放方法和客户端

Similar Documents

Publication Publication Date Title
US11303881B2 (en) Method and client for playing back panoramic video
CN111198610B (zh) 一种全景视频的视场控制方法、装置、设备及存储介质
US10270825B2 (en) Prediction-based methods and systems for efficient distribution of virtual reality media content
CN110419224B (zh) 消费视频内容的方法、电子设备和服务器
WO2020248900A1 (zh) 全景视频的处理方法、装置及存储介质
CN112738541B (zh) 画面显示方法、装置及电子设备
TW202001499A (zh) 使用演現命令及後續接收之眼睛位置資料之圖像內容之注視點演現
CN112672185B (zh) 基于增强现实的显示方法、装置、设备及存储介质
CN112051961A (zh) 虚拟交互方法、装置、电子设备及计算机可读存储介质
CN112053370A (zh) 基于增强现实的显示方法、设备及存储介质
CN111258519B (zh) 屏幕分屏实现方法、装置、终端和介质
CN114419213A (zh) 图像处理方法、装置、设备和存储介质
CN115761090A (zh) 特效渲染方法、装置、设备、计算机可读存储介质及产品
CN111200750B (zh) 全景视频的多窗口播放方法、装置、电子设备及存储介质
CN114445600A (zh) 一种特效道具的展示方法、装置、设备及存储介质
CN114900625A (zh) 虚拟现实空间的字幕渲染方法、装置、设备及介质
CN111818265B (zh) 基于增强现实模型的交互方法、装置、电子设备及介质
CN111200758B (zh) 全景视频的多视场控制方法、装置、电子设备及存储介质
JP7447266B2 (ja) ボリュメトリック画像データに関するビューの符号化及び復号
CN111277886B (zh) 全景视频的视场控制方法、装置、电子设备及存储介质
CN116248889A (zh) 图像编码及解码方法、装置和电子设备
CN115734001A (zh) 特效显示方法、装置、电子设备及存储介质
CN111200749A (zh) 全景视频的播放控制方法、装置、电子设备及存储介质
CN111200759B (zh) 一种全景视频的播放控制方法、装置、终端及存储介质
CN111200754B (zh) 一种全景视频的播放方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200526

RJ01 Rejection of invention patent application after publication