CN106331823B - 一种视频播放方法及装置 - Google Patents

一种视频播放方法及装置 Download PDF

Info

Publication number
CN106331823B
CN106331823B CN201610799113.1A CN201610799113A CN106331823B CN 106331823 B CN106331823 B CN 106331823B CN 201610799113 A CN201610799113 A CN 201610799113A CN 106331823 B CN106331823 B CN 106331823B
Authority
CN
China
Prior art keywords
buffering
image
panoramic picture
panoramic
motion
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.)
Active
Application number
CN201610799113.1A
Other languages
English (en)
Other versions
CN106331823A (zh
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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201610799113.1A priority Critical patent/CN106331823B/zh
Publication of CN106331823A publication Critical patent/CN106331823A/zh
Application granted granted Critical
Publication of CN106331823B publication Critical patent/CN106331823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Circuits (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种视频播放方法及装置,其中视频播放方法包括依据全景视频数据形成全景图像缓冲,并将全景图像缓冲填充至缓冲队列中,再从缓冲队列中获取全景图像缓冲进行图像管理,以获得预处理图像缓冲。从而根据运动传感器采集的运动传感数据,通过***对预处理图像缓冲进行抽取生成场景图像缓冲,以使***能够根据最新的传感数据,对全景图像缓冲进行抽取后便可以进行合成显示,从而大幅缩短因用户运动导致的画面延迟时间,进而提升用户使用感受。

Description

一种视频播放方法及装置
技术领域
本发明实施例涉及通信领域,尤其涉及一种视频播放方法及装置。
背景技术
随着近年来VR(Virtual Reality,虚拟现实)技术的快速发展,VR产品用户也在不断增多。对于VR产品用户来说,最强烈的使用感受便是对播放内容的沉浸感。
现有技术中,用户在使用VR产品过程中普遍存在眩晕感,失去了沉浸感,严重影响使用感受。产生这种眩晕感主要是由画面延迟时间过长导致的,其中画面延迟指的是用户(头部)运动开始,到用户看到运动后的画面完全显示在终端设备上的时间间隔。当时间间隔超过20ms时,用户便会察觉到画面延迟。画面延迟时间过长会使得人体感应技能与人眼看到的图像不匹配,进而产生眩晕的感觉。
因此,如何减少全景视频播放的画面延迟,是目前亟待解决的技术问题。
发明内容
本发明实施例提供一种视频播放方法,以解决现有技术中全景视频播放时头部转动引起的画面延迟过大的问题。
为了解决上述问题,本发明公开了一种视频播放方法,包括:
依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,所述全景图像缓冲包括全景标记。
从所述缓冲队列中获取所述全景图像缓冲进行图像管理,以获得预处理图像缓冲。
根据运动传感器采集的运动传感数据,通过***对所述预处理图像缓冲进行抽取生成场景图像缓冲。
将所述场景图像缓冲进行合成,以显示对应位置的场景图像。
优选的,依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,包括从缓冲队列中移出空闲缓冲;将应用程序获取的全景视频数据填充至所述空闲缓冲中,形成全景图像缓冲;将所述全景图像缓冲移入所述队列缓冲。
优选的,通过***对预处理图像缓冲进行抽取生成场景图像缓冲之前,还包括:检测所述预处理图像缓冲是否存在全景标记,以确定所述预处理图像缓冲为全景图像缓冲。
优选的,通过***对预处理图像缓冲进行抽取生成场景图像缓冲,包括:通过***调用融合算法对全景图像缓冲进行抽取,以生成所述场景图像缓冲。
其中,对预处理图像缓冲进行抽取,与对场景图像缓冲进行合成,在同一帧同步中完成,并且在下一帧同步中显示对应位置的场景图像。
进一步地,运动传感器设置于虚拟现实设备中,用于对用户头部运动进行追踪,获取指示头部运动状态的运动传感数据。
另一方面,为了解决上述问题,本发明还公开了一种视频播放装置,包括:
图像导入模块,用于依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,所述全景图像缓冲包括全景标记。
图像管理模块,用于从所述缓冲队列中获取所述全景图像缓冲进行图像管理,以获得预处理图像缓冲。
抽取模块,用于根据运动传感器采集的运动传感数据,通过***对所述预处理图像缓冲进行抽取生成场景图像缓冲。
合成显示模块,用于将所述场景图像缓冲进行合成,以显示对应位置的场景图像。
综上,本发明实施例通过依据全景视频数据形成全景图像缓冲,将全景图像缓冲填充至缓冲队列中。并从缓冲队列中获取该全景图像缓冲进行图像管理,以获得预处理图像缓冲。再根据运动传感器采集的运动传感数据,通过***对预处理图像缓冲进行抽取生成场景图像缓冲,以使***能够根据最新的传感数据,对全景图像缓冲进行抽取后便可以进行合成显示,从而大幅缩短因用户运动导致的画面延迟时间,进而使用户无法察觉到画面延迟,提升用户使用感受。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频播放方法流程图;
图2为本发明实施例提供的另一种视频播放方法流程图;
图3为现有技术中一种视频播放方法的buffer管理示意图;
图4为现有技术中一种视频播放方法的时序示意图;
图5为本发明实施例提供的一种视频播放方法的buffer管理示意图;
图6为本发明实施例提供的一种视频播放方法的时序示意图;
图7为本发明实施例提供的一种视频播放装置的结构框图;
图8为本发明实施例提供的另一种视频播放装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明所提供的视频播放方法,在描述具体实施例之前,对实施例中所涉及的技术术语进行解释:
GraphicBuffer:图像缓冲,Android***通过定义GraphicBuffer数据类型来描述一块图像buffer,该对象可以跨进程传输。
Bufferqueue:缓冲队列,是ISurfaceTexture的本地实现,必须重载接口中的各虚函数,比如queueBuffer、dequeueBuffer等。可以认为BufferQueue是一个服务中心,通过它来管理buffer。
SurfaceFlinger:图像管理模块,主要负责合成各窗口的Surface,然后通过OpenGLES显示到FrameBuffer上。SurfaceFlinger服务运行在Android***的System进程中,它负责管理Android***的帧缓冲区。
Hwcomposer:图像合成器,利用硬件完成图像数据组合并显示的功能。
Surface:绘图对象,对应了一块屏幕缓冲区,每个窗口对应一个Surface,任何View都是画在Surface上的。
Queuebuffer:入列缓冲,即将缓冲移入队列,也可表述为将buffer queue到Bufferqueue中。
Dequeuebuffer:出列缓冲,即从队列中移出缓冲,也可表述为从Bufferqueue中dequeue出buffer。
VR(Virtual Reality,虚拟现实):是一种可以创建和体验虚拟世界的计算机仿真***。它利用计算机生成一种模拟环境,是一种多源信息融合的交互式的三维动态视景和实体行为的***仿真,能够使用户沉浸到该环境中。
FrameBuffer:帧缓冲,用于通过视频输出设备从包含完整的帧数据的内存缓冲区中来驱动视频显示设备。在内存缓冲区中标准上包含了屏幕上每个像素的色彩值组成。
Overlay:叠加层,不修改framework源代码的情况下,实现资源的定制。
此处简要解释了技术术语的含义,以上技术术语会在后续结合具体实施例进行进一步地解释。
实施例一
参照图1,给出了本发明实施例提供的一种视频播放方法流程图。
步骤101,依据全景视频数据形成全景图像缓冲,并将全景图像缓冲填充至缓冲队列中。
其中,全景视频由应用程序获取,包括360度全景视频,是通过对专业相机捕捉整个场景的图像信息或者使用建模软件渲染过后的图片,使用软件进行图片拼合,并用专门的播放器进行播放的全景图像。用于虚拟现实浏览,把二维的平面图模拟成真实的三维空间,呈现给用户。
本实施例中,以应用于VR领域为例。为了确定播放的视频为全景视频,可以在全景视频的图像缓冲中设置全景标记flag,若存在flag则对应图像为全景视频。
通过将全景视频数据填充至缓冲队列Bufferqueue的空闲缓存buffer1中,形成全景图像缓冲GraphicBuffer1,使该全景视频数据导入至***缓存中,便于***对该全景视频进行操作。
步骤102,从缓冲队列中获取全景图像缓冲进行图像管理,以获得预处理图像缓冲。
其中,图像管理模块SurfaceFlinger从Bufferqueue里面获取该GraphicBuffer1,并进行图像管理,获得预处理图像缓冲GraphicBuffer2。其中,图像管理具体用于对每个窗口进行测量、布局和绘制,从而对缓冲进行调整。
步骤103,根据运动传感器采集的运动传感数据,通过***对预处理图像缓冲进行抽取生成场景图像缓冲。
其中,运动传感器用于检测用户在观看该全景视频时,头部的运动情况。例如,当头部转动时,运动传感器将定位头部转动后的目视方向,并将该信息作为运动传感数据发送至***中。以供***根据该运动传感数据从GraphicBuffer2中抽取目视方向的场景图像缓冲GraphicBuffer3。步骤104,将场景图像缓冲进行合成,以显示对应位置的场景图像。
利用图像合成器Hwcomposer对GraphicBuffer3进行合成,从而在虚拟现实设备的屏幕上显示出用户头部运动后目视方向的场景图像。
由于在前述步骤中已将全景视频的数据导入***缓存中,将全景视频数据转化为GraphicBuffer2。因此在运动传感器采集到这一运动传感数据后,只需对GraphicBuffer2进行抽取,便可以将GraphicBuffer3直接放入Hwcomposer中合成,并显示在屏幕上。而不需要通过应用程序对全景视频数据进行抽取,再将抽取结果导入***,并由***对图像缓冲处理后,才能放入Hwcomposer中合成,并显示在屏幕上。即本申请为了减少获取运动传感数据之后的操作以缩短时间,预先把所有的视频图像数据进行缓冲处理。当运动传感器获取到头部转动的位置时,仅需要从已完成缓冲处理的GraphicBuffer2中选取出与运动传感数据对应的GraphicBuffer3即可。从而大幅缩短了从获取运动传感数据到最后显示到显示屏上所需的时间。
综上,本发明实施例通过依据全景视频数据形成全景图像缓冲,将全景图像缓冲填充至缓冲队列中。并从缓冲队列中获取该全景图像缓冲进行图像管理,以获得预处理图像缓冲。再根据运动传感器采集的运动传感数据,通过***对预处理图像缓冲进行抽取生成场景图像缓冲,以使***能够根据最新的传感数据,对全景图像缓冲进行抽取后便可以进行合成显示,从而大幅缩短因用户运动导致的画面延迟时间,进而使用户无法察觉到画面延迟,提升用户使用感受。
实施例二
在上述实施例的基础上,本实施例进一步论述视频播放方法。
参照图2,给出了本发明实施例提供的另一种视频播放方法流程图:
步骤201,依据全景视频数据形成全景图像缓冲,并将全景图像缓冲填充至缓冲队列中。
具体的,应用程序从BufferQueue中dequeue出buffer1以承载图像信息,将应用程序获取的全景视频数据填充至该buffer1中以形成GraphicBuffer1后,再将该GraphicBuffer1queue到BufferQueue中,以完成全景视频数据向***的导入。
步骤202,从缓冲队列中获取全景图像缓冲进行图像管理。
具体的,将全景视频数据填充至BufferQueue中后,由SurfaceFlinger从BufferQueue中获取该GraphicBuffer1,并对该GraphicBuffer1进行图像管理,获得GraphicBuffer2。当GraphicBuffer2被后续步骤调用后,将会把buffer1释放至BufferQueue中,其中SurfaceFlinger服务运行在安卓***的System进程中,具体用于管理安卓***的帧缓冲FrameBuffer,合成各窗口的Surface。
步骤203,检测所述预处理图像缓冲是否存在全景标记。
具体的,由于***为全景视频的图像缓冲设置了flag,因此可以对GraphicBuffer2进行抽取生成GraphicBuffer3之前,通过检测是否存在flag,判断该图像缓冲是否包括全景视频。若存在flag,则需要对该GraphicBuffer2进行抽取。
步骤204,根据运动传感器采集的运动传感数据,通过***对预处理图像缓冲进行抽取生成场景图像缓冲。
本实施例中,以应用于VR领域为例。运动传感器可以设置于VR设备中,例如,可以设置于VR头盔中,其中,VR头盔是一种利用头戴式显示器,将人的对外界的视觉、听觉封闭,引导用户产生一种身在虚拟环境中的感觉的虚拟现实终端。当用户头部运动时,可以对用户头部运动进行追踪,从而获取指示头部运动状态的运动传感数据。
当运动传感器采集到运动传感数据时,由于缓存中已存在对应场景的GraphicBuffer2,因此可以根据最新的运动传感数据,直接通过***对全景视频的GraphicBuffer2进行抽取,以得到与运动传感数据对应的GraphicBuffer3。其中,对全景视频的GraphicBuffer2进行抽取,可以通过***调用融合算法来完成。
步骤205,将场景图像缓冲进行合成,以显示对应位置的场景图像。
具体的,通过Hwcomposer将GraphicBuffer3进行合成,得到与运动传感数据对应位置的场景图像,并将该场景图像显示在虚拟显示设备的显示屏上。其中,若通过overlay方式,则直接由Hwcomposer将GraphicBuffer2合成到overlay上。若通过framebuffer方式,则将该GraphicBuffer2绘制到framebuffer上,并最终通过Hwcomposer合成到framebuffer上。
与现有技术不同的是,在使用虚拟显示设备观赏全景视频时,若头部由位置A转向位置B。在现有技术中,当运动传感器采集到这一运动传感数据后,需要通过应用程序对全景视频数据进行抽取,再将抽取结果导入***,并由***对图像缓冲处理后,才能放入Hwcomposer中合成,并显示在屏幕上。从这个过程可以看出从获取运动传感数据到最后显示到显示屏上,至少需要3-4帧同步的时间。参照图3给出了现有技术中一种视频播放方法的buffer管理示意图。参照图4给出了现有技术中一种视频播放方法的时序示意图。即使采用“三缓冲”技术,画面延迟的时间也需要超过2帧同步的时间。若虚拟现实设备的显示屏幕采用目前主流的刷新率为60Hz的液晶显示屏,则该显示屏显示一帧的时间约为16.67ms,显示2帧即2帧同步便需要超过33ms的时间,即画面延迟时间将远超过20ms,使用户非常明显的感觉到画面延迟。例如,在全景视频中,你看到了一只猴子,当猴子从你的视野中快速地、拖着残影爬到身旁的一颗树上时,你抬头看向树上的猴子,过了超过20ms的时间,画面才跟着你的头转了过去。使得用户失去了沉浸感。
而本发明实施例由于已将全景视频的数据导入***缓存中,并生成GraphicBuffer2。所以,在运动传感器采集到这一运动传感数据后,只需对GraphicBuffer2进行抽取,便可以将抽取得到的GraphicBuffer3直接放入Hwcomposer中合成,并显示在屏幕上。大幅缩短了画面延迟的时间。参照图5给出了本发明实施例提供的一种视频播放方法的buffer管理示意图。参照图6给出了本发明实施例提供的一种视频播放方法的时序示意图。其中,对GraphicBuffer2进行抽取,与对GraphicBuffer3进行合成,可以在同一帧同步中完成,因此在运动传感器采集到这一运动传感数据的下一帧同步中,便可以显示出对应位置的场景图像,从而将画面延迟的时间控制在一帧同步的时间。例如,若虚拟现实设备的显示屏幕采用目前主流的刷新率为60Hz的液晶显示屏,则该显示屏显示一帧的时间约为16.67ms,即画面延迟时间可以控制在20ms以内,进而使用户无法察觉到画面延迟,避免了因画面延迟导产生的眩晕感觉,提升用户使用感受。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
在上述实施例的基础上,本实施例还提供了一种视频播放装置,应用于虚拟现实终端。
参照图7给出了本发明实施例提供的一种视频播放装置的结构框图,具体可以包括如下模块:
图像导入模块701,用于依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,全景图像缓冲包括全景标记。
图像管理模块702,用于从缓冲队列中获取全景图像缓冲进行图像管理,以获得预处理图像缓冲。
抽取模块703,用于根据运动传感器采集的运动传感数据,通过***对预处理图像缓冲进行抽取生成场景图像缓冲。
合成显示模块704,用于将场景图像缓冲进行合成,以显示对应位置的场景图像。
参照图8,在本发明的一个可选实现方式中,在图7的基础上,视频播放装置还包括:
全景检测模块705,用于在对预处理图像缓冲进行抽取生成场景图像缓冲之前,检测预处理图像缓冲是否存在全景标记,以确定预处理图像缓冲为全景图像缓冲。
图像导入模块701包括:出列子模块7011、填充子模块7012和入列子模块7013。其中,出列子模块7011,用于从缓冲队列中移出空闲缓冲;填充子模块7012,用于将应用程序获取的全景视频数据填充至空闲缓冲中,形成全景图像缓冲;入列子模块7013,用于将全景图像缓冲移入队列缓冲。
基于此,抽取模块703,具体用于通过***调用融合算法对全景图像缓冲进行抽取,以生成场景图像缓冲。
进一步的,抽取模块703对预处理图像缓冲进行抽取,与合成显示模块704对场景图像缓冲进行合成,在同一帧同步中完成;且合成显示模块704对合成结果的显示,在下一帧同步中完成。
其中,运动传感器设置于虚拟现实设备中,用于对用户头部运动进行追踪,获取指示头部运动状态的运动传感数据。
综上,本发明实施例通过图像导入模块701依据全景视频数据形成全景图像缓冲,将全景图像缓冲填充至缓冲队列中。并通过图像管理模块702从缓冲队列中获取该全景图像缓冲进行图像管理,以获得预处理图像缓冲。再根据运动传感器采集的运动传感数据,通过抽取模块703对预处理图像缓冲进行抽取生成场景图像缓冲,以使***能够通过合成显示模块704根据最新的传感数据,便可以对抽取模块703的抽取结果进行合成显示,从而大幅缩短因用户运动导致的画面延迟时间,进而使用户无法察觉到画面延迟,提升用户使用感受。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种视频播放方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种视频播放方法,其特征在于,所述方法包括:
依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,所述全景图像缓冲包括全景标记;其中,所述全景图像缓冲为用于在安卓***中描述一块全景图像缓冲的数据类型;
从所述缓冲队列中获取所述全景图像缓冲进行图像管理,以获得预处理图像缓冲;其中,所述图像管理用于对每个窗口进行测量、布局和绘制,以调整缓冲;
根据运动传感器采集的运动传感数据,通过***从所述预处理图像缓冲中抽取目视方向的场景图像缓冲;
将所述场景图像缓冲进行合成,以显示对应位置的场景图像;
其中,所述对预处理图像缓冲进行抽取,与所述对场景图像缓冲进行合成,在同一帧同步中完成,在下一帧同步中显示所述对应位置的场景图像。
2.根据权利要求1所述的方法,其特征在于,所述依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,包括:
从缓冲队列中移出空闲缓冲;
将应用程序获取的全景视频数据填充至所述空闲缓冲中,形成全景图像缓冲;
将所述全景图像缓冲移入所述队列缓冲。
3.根据权利要求1所述的方法,其特征在于,所述通过***对预处理图像缓冲进行抽取生成场景图像缓冲之前,还包括:
检测所述预处理图像缓冲是否存在全景标记,以确定所述预处理图像缓冲为全景图像缓冲。
4.根据权利要求1所述的方法,其特征在于,所述通过***对预处理图像缓冲进行抽取生成场景图像缓冲,包括:
通过***调用融合算法对全景图像缓冲进行抽取,以生成所述场景图像缓冲。
5.根据权利要求1所述的方法,其特征在于,
所述运动传感器设置于虚拟现实设备中,用于对用户头部运动进行追踪,获取指示头部运动状态的运动传感数据。
6.一种视频播放装置,其特征在于,所述装置包括:
图像导入模块,用于依据全景视频数据形成全景图像缓冲,并将所述全景图像缓冲填充至缓冲队列中,所述全景图像缓冲包括全景标记;其中,所述全景图像缓冲为用于在安卓***中描述一块全景图像缓冲的数据类型;
图像管理模块,用于从所述缓冲队列中获取所述全景图像缓冲进行图像管理,以获得预处理图像缓冲;其中,所述图像管理用于对每个窗口进行测量、布局和绘制,以调整缓冲;
抽取模块,用于根据运动传感器采集的运动传感数据,通过***从所述预处理图像缓冲中抽取目视方向的场景图像缓冲;
合成显示模块,用于将***根据所述运动传感数据抽取的所述场景图像缓冲进行合成,以显示对应位置的场景图像;
其中,所述抽取模块对预处理图像缓冲进行抽取,与所述合成显示模块对场景图像缓冲进行合成,在同一帧同步中完成,所述合成显示模块对合成结果的显示,在下一帧同步中完成。
7.根据权利要求6所述的装置,其特征在于,所述图像导入模块包括:
出列子模块,用于从缓冲队列中移出空闲缓冲;
填充子模块,用于将应用程序获取的全景视频数据填充至所述空闲缓冲中,形成全景图像缓冲;
入列子模块,用于将所述全景图像缓冲移入所述队列缓冲。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
全景检测模块,用于检测所述预处理图像缓冲是否存在全景标记,以确定所述预处理图像缓冲为全景图像缓冲。
9.根据权利要求6所述的装置,其特征在于,
所述抽取模块,具体用于通过***调用融合算法对全景图像缓冲进行抽取,以生成所述场景图像缓冲。
10.根据权利要求6所述的装置,其特征在于,
所述运动传感器设置于虚拟现实设备中,用于对用户头部运动进行追踪,获取指示头部运动状态的运动传感数据。
CN201610799113.1A 2016-08-31 2016-08-31 一种视频播放方法及装置 Active CN106331823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610799113.1A CN106331823B (zh) 2016-08-31 2016-08-31 一种视频播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610799113.1A CN106331823B (zh) 2016-08-31 2016-08-31 一种视频播放方法及装置

Publications (2)

Publication Number Publication Date
CN106331823A CN106331823A (zh) 2017-01-11
CN106331823B true CN106331823B (zh) 2019-08-20

Family

ID=57786299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610799113.1A Active CN106331823B (zh) 2016-08-31 2016-08-31 一种视频播放方法及装置

Country Status (1)

Country Link
CN (1) CN106331823B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106896826B (zh) * 2017-02-27 2020-04-28 张斌 运动场景数字合成***和方法
CN109791297B (zh) * 2017-07-18 2021-07-20 深圳市柔宇科技股份有限公司 检测头戴式显示器数据传输延迟的方法及头戴式显示器
CN107743223A (zh) * 2017-10-31 2018-02-27 歌尔科技有限公司 图像写入控制方法、装置及电子设备
CN108921867A (zh) * 2018-06-01 2018-11-30 天津煋鸟科技有限公司 一种全景图像的运动检测和人体识别方法
CN109741463B (zh) * 2019-01-02 2022-07-19 京东方科技集团股份有限公司 虚拟现实场景的渲染方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103034A (zh) * 2013-03-25 2015-11-25 索尼电脑娱乐欧洲有限公司 显示器
CN105323552A (zh) * 2015-10-26 2016-02-10 北京时代拓灵科技有限公司 一种全景视频播放方法及***
CN105404393A (zh) * 2015-06-30 2016-03-16 指点无限(美国)有限公司 低延迟虚拟现实显示***
CN105898138A (zh) * 2015-12-18 2016-08-24 乐视致新电子科技(天津)有限公司 全景视频播放方法及装置
CN105898359A (zh) * 2016-04-27 2016-08-24 乐视控股(北京)有限公司 虚拟现实终端及其视频的处理方法和装置
CN105898338A (zh) * 2015-12-18 2016-08-24 乐视致新电子科技(天津)有限公司 全景视频播放方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9314691B2 (en) * 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9999835B2 (en) * 2015-02-05 2018-06-19 Sony Interactive Entertainment Inc. Motion sickness monitoring and application of supplemental sound to counteract sickness

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103034A (zh) * 2013-03-25 2015-11-25 索尼电脑娱乐欧洲有限公司 显示器
CN105404393A (zh) * 2015-06-30 2016-03-16 指点无限(美国)有限公司 低延迟虚拟现实显示***
CN105323552A (zh) * 2015-10-26 2016-02-10 北京时代拓灵科技有限公司 一种全景视频播放方法及***
CN105898138A (zh) * 2015-12-18 2016-08-24 乐视致新电子科技(天津)有限公司 全景视频播放方法及装置
CN105898338A (zh) * 2015-12-18 2016-08-24 乐视致新电子科技(天津)有限公司 全景视频播放方法及装置
CN105898359A (zh) * 2016-04-27 2016-08-24 乐视控股(北京)有限公司 虚拟现实终端及其视频的处理方法和装置

Also Published As

Publication number Publication date
CN106331823A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
CN106331823B (zh) 一种视频播放方法及装置
JP6898430B2 (ja) 仮想現実および拡張現実ディスプレイシステムのための連続時間ワーピングおよび両眼時間ワーピングおよび方法
RU2754991C2 (ru) Система устройства просмотра смешанной реальности и способ для него
CN106464854B (zh) 图像编码和显示
CN110515452A (zh) 图像处理方法、装置、存储介质和计算机设备
CN106066701B (zh) 一种ar和vr数据处理设备与方法
CN110809149B (zh) 用于计算机生成现实的媒体合成器
CN105872698B (zh) 播放方法、播放***和虚拟现实终端
CN108292489A (zh) 信息处理装置和图像生成方法
CN105939481A (zh) 一种交互式三维虚拟现实视频节目录播和直播方法
WO2017127562A1 (en) Generating a virtual reality environment for displaying content
CN106101741A (zh) 在网络视频直播平台上观看全景视频的方法及***
CN106598229A (zh) 一种虚拟现实场景的生成方法、设备及虚拟现实***
JP2010033367A (ja) 情報処理装置及び情報処理方法
CN106210856B (zh) 在网络视频直播平台上观看3d全景视频的方法及***
CN107277485B (zh) 基于虚拟现实的图像显示方法和装置
KR20130061538A (ko) 가상현실 기반 콘텐츠 제공장치 및 그 방법
CN110351480A (zh) 用于电子设备的图像处理方法、装置及电子设备
CN112380989B (zh) 一种头戴显示设备及其数据获取方法、装置和主机
JP6656382B2 (ja) マルチメディア情報を処理する方法及び装置
CN106303495A (zh) 全景立体图像的合成方法、装置及其移动终端
EP3346375B1 (en) Program, recording medium, content provision device, and control method
CN107197339A (zh) 影片弹幕的显示控制方法、装置及头戴式显示设备
JP2019074881A (ja) 画像生成装置および画像生成方法
CN105630170B (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant