视频播放方法及显示设备

文档序号:1131093 发布日期:2020-10-02 浏览:6次 >En<

阅读说明:本技术 视频播放方法及显示设备 (Video playing method and display equipment ) 是由 刘相双 于 2020-06-18 设计创作,主要内容包括:本申请实施例公开了一种视频播放方法和显示设备。在本申请实施例中,当检测到视场角发生变化时,显示设备获取位于当前播放进度之后且距离当前播放进度最近的目标稀疏流以及位于目标稀疏流之后的多个完整流,由于稀疏流包含根据对应的完整流中的一个视频帧生成的I帧,因此,如果当前播放进度是播放至某个完整流中的某个视频帧,则根据该当前播放进度获取到的目标稀疏流,显示设备能够播放该目标稀疏流中的I帧和位于该I帧之后剩余的视频帧,如此,在开始播放下一个完整流之前,用户就无需通过单纯观看基础视频流来等待接下来的高清画面,减少了用户观看低分辨率视频画面的时长,提高了用户体验。(The embodiment of the application discloses a video playing method and display equipment. In the embodiment of the application, when the change of the field angle is detected, the display device acquires a target sparse stream which is located behind the current playing progress and is closest to the current playing progress and a plurality of complete streams which are located behind the target sparse stream, and the sparse stream contains an I frame generated according to one video frame in the corresponding complete streams, so that if the current playing progress is played to a certain video frame in the certain complete stream, the display device can play the I frame in the target sparse stream and the video frames which are left after the I frame according to the target sparse stream acquired by the current playing progress, so that before playing of the next complete stream is started, a user does not need to wait for a next high-definition picture by simply watching a basic video stream, the time for the user to watch a low-resolution video picture is reduced, and the user experience is improved.)

视频播放方法及显示设备

技术领域

本申请涉及流媒体技术领域,特别涉及一种视频播放方法及显示设备。

背景技术

当前,在AR(Augmented Reality,增强现实)或VR(Virtual Reality,虚拟现实)领域,服务器可以向显示设备推送大角度视频流,例如,360度全景视频流。随着高分辨率流媒体的应用,用户对大角度视频流的分辨率的要求也越来越高。然而,出于网络带宽的限制和流量费用等因素的影响,服务器直接向显示设备推送分辨率较高的大角度高清视频流的成本太高。基于此,服务器可以向显示设备推送分辨率较低的基础视频流,与此同时,将分辨率较高的高清视频流分割为多个切片,每个切片编码为一个子流,之后,根据用户的当前视场角来获取对应的子流组合推送至显示设备,显示设备可以将接收到的子流组合和基础视频流进行组合播放。

通常,一个子流包括一个I帧和多个P帧,其中,I帧是子流的第一帧数据,显示设备在解码I帧之后才能播放后面的多个P帧。当显示设备检测到用户的视场角发生变化时,可以获取变化后的视场角对应的子流组合。然而,由于子流组合下载需要时间,因此,获取到子流组合时,可能已经到达了播放第一个子流中的某个视频帧的播放时刻,此时,解码第一个子流的I帧已经来不及。在这种情况下,显示设备只能寻找下一个子流的I帧进行解码。这样,显示设备将无法播放第一个子流,而用户则需要等待第二个子流的播放时刻到达,才能看到显示设备将基础视频流和该子流组合的第二个子流组合播放的高清画面。

发明内容

本申请提供了一种视频播放方法及显示设备,可以提高视场角发生变化时用户观看视频的体验。所述技术方案如下:

一方面,提供了一种显示设备,所述显示设备包括控制器和显示器;

所述控制器用于响应于视场角发生变化,根据当前播放进度获取变化后的视场角对应的子流组合,所述子流组合包括目标稀疏流和多个完整流,每个完整流对应至少一个稀疏流,每个稀疏流包括根据对应的完整流中的一个视频帧生成的I帧,所述目标稀疏流为位于所述当前播放进度之后且距离所述当前播放进度最近的稀疏流;

所述控制器还用于根据所述目标稀疏流和所述多个完整流控制所述显示器进行视频播放。

另一方面,提供了一种视频播放方法,所述视频播放方法包括:

响应于视场角发生变化,根据当前播放进度获取变化后的视场角对应的子流组合,所述子流组合包括目标稀疏流和多个完整流,每个完整流对应至少一个稀疏流,每个稀疏流包括根据对应的完整流中的一个视频帧生成的I帧,所述目标稀疏流为位于所述当前播放进度之后且距离所述当前播放进度最近的稀疏流;

根据所述目标稀疏流和所述多个完整流进行视频播放。

另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的视频播放方法的步骤。

另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的视频播放方法的步骤。

本申请提供的技术方案至少可以带来以下有益效果:

在本申请实施例中,当检测到视场角发生变化时,显示设备获取位于当前播放进度之后且距离当前播放进度最近的目标稀疏流以及位于目标稀疏流之后的多个完整流,由于稀疏流包含根据对应的完整流中的一个视频帧生成的I帧,因此,如果当前播放进度播放至某个完整流中的某个视频帧,则根据该当前播放进度获取到的目标稀疏流,显示设备能够播放该目标稀疏流中的I帧和位于该I帧之后剩余的视频帧,如此,在开始播放下一个完整流之前,用户就无需通过单纯观看基础视频流来等待接下来的高清画面,减少了用户观看低分辨率视频画面的时长,提高了用户体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种显示设备与控制装置之间操作场景的示意图;

图2是根据一示例性实施例示出的一种显示设备的硬件配置框图;

图3是根据一示例性实施例示出的一种控制设备的配置框图;

图4是根据一示例性实施例示出的一种显示设备的功能配置示意图;

图5是根据一示例性实施例示出的一种显示设备中软件系统的配置框图;

图6是根据一示例性实施例示出的一种显示设备中应用程序的配置框图;

图7是根据一示例性实施例示出的一种视频播放方法的流程图;

图8是根据一示例性实施例示出的另一种视频播放方法的流程图。

具体实施方式

为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。

应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(RF,Radio Frequency)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB(UniversalSerial Bus(通用串行总线)、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。

本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。

图1是根据一示例性实施例示出显示设备与控制装置之间操作场景的示意图。如图1所示,用户可以通过移动终端300和控制装置100操作显示设备200。

其中,控制装置100可以为遥控器,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。

在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。

示例的,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。

如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以为一组,也可以为多组,可以是一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。

在一些可能的实施例中,该显示设备200还与诸如VR眼镜之类的VR设备通过多种通信方式进行数据通信。这样,当用户的姿态发生变化时,VR设备可以将用户的姿态变化参数发送至显示设备200,显示设备200可以根据该姿态变化参数来判断视场角是否发生变化。

显示设备200可以包括液晶显示器、OLED(OrganicLight-Emitting Diode,有机发光二极管)显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。

显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。示例性地,显示设备200还可以提供网络电视、智能电视、互联网协议电视(IPTV,Internet Protocol Television)等智能电视的功能。

接下来,对本申请实施例提供的显示设备进行介绍。

请参考图2,图2是根据一示例性实施例示出的一种显示设备的硬件配置框图。该显示设备200中包括控制器210、通信接口230、检测器240、输入\输出接口250、视频处理器260-1,音频处理器260-2,显示器280,音频输出270、存储器290,供电电源、红外接收器。

显示器280,用于接收源自视频处理器260-1输入的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。显示器280包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。显示的视频内容可以为广播电视内容,即通过有线或无线通信协议接收的各种广播信号,或者,显示的视频内容可以为通过网络通信协议接收的网络服务器端发送的各种图像内容。

同时,显示器280还可以显示显示设备200中产生且用于控制显示设备200的用户操控UI界面。另外,根据显示器280类型不同,显示器280还可以包括用于驱动显示的驱动组件。或者,倘若显示器280为一种投影显示器,还可以包括一种投影装置和投影屏幕。

通信接口230是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信接口230可以是Wifi芯片231,蓝牙通信协议芯片232,有线以太网通信协议芯片233等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器(图中未示出)。

显示设备200可以通过通信接口230与外部控制设备或内容提供设备之间建立连接,该连接用于进行控制信号和数据信号的发送和接收。另外,红外接收器为用于接收控制装置100(如:红外遥控器等)红外控制信号的接口器。

检测器240可以用于采集外部环境或与外部交互的信号。检测器240包括光接收器242,该光接收器242为用于采集环境光线强度的传感器,通过采集环境光可以自适应性显示参数变化等。

检测器240还包括图像采集器241,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。

在一些实施例中,检测器240还可以包括温度传感器,通过温度传感器感测环境温度,显示设备200可自适应调整图像的显示色温。如当环境温度偏高时,可调整显示设备200显示图像色温偏冷色调,或当环境温度偏低时,可以调整显示设备200显示图像偏暖色调。

在另一些实施例中,检测器240还可以包括声音采集器,如麦克风,可以用于接收用户的声音,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,显示设备200可以自适应适应环境噪声。

输入/输出接口250,在控制器210的控制下,用于实现显示设备200与外部其他设备间进行数据传输。如接收外部设备的视频信号、音频信号、命令指令等数据。

其中,输入/输出接口250可以包括,但不限于如下:高清多媒体接口HDMI(HighDefinition Multimedia Interface)接口251、模拟或数据高清分量输入接口253、复合视频输入接口252、USB输入接口254、RGB(Red Green Blue,色彩模式)端口(图中未示出)等任一个或多个接口。

在一些示例性实施例中,输入/输出接口250也可以为上述多个接口形成的复合性的输入/输出接口。

视频处理器260-1,用于接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到可直接在显示设备200上显示或播放的信号。

示例的,视频处理器260-1,可以包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。

其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。

视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。

图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI(Graphical User Interface,图形用户界面)信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。

帧率转换模块,用于转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。

显示格式化模块,用于将接收帧率转换后的视频输出信号进行改变,得到符合显示格式的信号,如输出RGB数据信号。

音频处理器260-2,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。

在其他一些示例性实施例中,视频处理器260-1可以包括一颗或多颗芯片。音频处理器260-2,也可以包括一颗或多颗芯片。

在其他一些示例性实施例中,视频处理器260-1和音频处理器260-2,可以为单独的芯片,也可以与控制器210一起集成在一颗或多颗芯片中。

音频输出272,在控制器210的控制下接收音频处理器260-2输出的声音信号,如:扬声器272,以及除了显示设备200自身携带的扬声器272之外,可以输出至外接设备的发生装置的外接音响输出端子274,如:外接音响接口或耳机接口等。

供电电源,在控制器210控制下,将外部电源输入的电力用于为显示设备200提供电源供电支持。供电电源可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源,在显示设备200中提供外接电源的电源接口。

用户输入接口,用于接收用户输入信号,然后,将接收到的用户输入信号发送给控制器210。用户输入信号可以是通过红外接收器接收的遥控器信号,也可以是通过网络通信模块接收到的各种用户控制信号。

示例的,用户通过控制设备100或移动终端300输入用户输入信号,用户输入接口则根据用户输入信号,显示设备200通过控制器210响应用户输入信号。

在一些实施例中,用户可在显示器280上显示图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户命令。或者,用户可通过输入特定的声音或手势输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收输入用户命令。

控制器210,通过存储在存储器290上中各种软件控制程序,来控制显示设备200的工作和响应用户的操作。

如图2所示,控制器210包括RAM(Random Access Memory,随机存取存储器)213和ROM(Read-Only Memory,只读存储器)214以及图形处理器216、CPU处理器212、通信接口218,如:第一接口218-1到第n接口218-n,以及通信总线。其中,RAM213和ROM214以及图形处理器216、CPU处理器212、通信接口218通过总线相连接。

RAM213,用于存储各种系统启动的指令。如在收到开机信号时,显示设备200电源开始启动,CPU(central processing unit)处理器212运行RAM213中系统启动指令,将存储在存储器290的操作系统拷贝至RAM213中,以使开始运行启动操作系统。当操作系统启动完成后,CPU处理器212再将存储器290中各种应用程序拷贝至RAM213中,然后开始运行启动各种应用程序。

图形处理器216,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。图形处理器216包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。图形处理器216还包括渲染器,产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器280上。

CPU处理器212,用于执行存储在存储器290中的操作系统和应用程序指令,以及根据接收到的外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。

在一些示例性实施例中,CPU处理器212,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。多个或一个子处理器,用于在待机模式等状态下执行一种操作。

控制器210可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器280上显示UI对象的用户命令,控制器210便可以执行与由用户命令选择的对象有关的操作。

其中,对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关的操作可以包括,例如:显示连接到超链接页面、文档、图像等操作,或者执行与该图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。

存储器290,包括存储用于驱动显示设备200的各种软件模块。如:存储器290中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等。

其中,基础模块用于产后护理显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理。

例如:语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器280进行显示图像内容,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。

同时,存储器290还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。

请参考图3,图3是根据一示例性实施例示出的一种控制设备的配置框图。控制设备100包括控制器110、通信接口130、用户输入/输出接口140、存储器190和供电电源180。

控制设备100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起到用户与显示设备200之间交互中介的作用。如:用户通过操作控制设备100上频道加减键,显示设备200响应频道加减的操作。

在一些实施例中,控制设备100可以是一种智能设备。如:控制设备100可根据用户需求安装控制显示设备200的各种应用。

在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制设备100类似功能。如:用户可以通过安装应用,在移动终端300或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制设备100实体按键的功能。

控制器110包括处理器112和RAM113和ROM114、通信接口118以及通信总线。控制器110用于控制控制设备100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。

通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括WiFi芯片、蓝牙模块、NFC模块等其他近场通信模块中至少之一种。

用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。

输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。

在一些实施例中,控制设备100包括通信接口130和输出接口中至少一者。控制设备100中配置通信接口130,如:WiFi、蓝牙、NFC(Near Field Communication,近场通信)等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.

存储器190,用于在控制器110的控制下存储驱动和控制显示设备200的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。

供电电源180,用于在控制器110的控制下为控制设备100各元件提供运行电力支持,可以包括电池及相关控制电路。

请参考图4,图4是根据一示例性实施例示出的一种显示设备的功能配置示意图。

如图4所示,存储器290用于存储操作系统、应用、内容和用户数据等,在控制器210控制下执行驱动显示设备200的系统运行以及响应用户的各种操作。存储器290可以包括易失性和/或非易失性存储器。

存储器290,具体用于存储驱动显示设备200中控制器210的运行程序,以及存储显示设备200内置各种应用,以及用户从外部设备下载的各种应用、以及与应用相关各种图形用户界面,以及与图形用户界面相关的各种对象,用户数据信息,以及各种支持应用的内部数据。存储器290用于存储OS(Operating System,操作系统)内核、中间件和应用等系统软件,以及存储输入的视频数据和音频数据、及其他用户数据。

存储器290,具体用于存储音视频处理器260-1和260-2、显示器280、通信接口230、检测器240输入/输出接口等驱动程序和相关数据。

在一些实施例中,存储器290可以存储软件和/或程序,用于表示操作系统(OS)的软件程序包括,例如:内核、中间件、应用编程接口(API,Application ProgrammingInterface)和/或应用程序。示例性的,内核可控制或管理系统资源,或其它程序所实施的功能(如所述中间件、API或应用程序),以及内核可以提供接口,以允许中间件和API,或应用访问控制器,以实现控制或管理系统资源。

示例的,存储器290,包括广播接收模块2901、频道控制模块2902、音量控制模块2903、图像控制模块2904、显示控制模块2905、音频控制模块2906、外部指令识别模块2907、通信控制模块2908、光接收模块2909、电力控制模块2910、操作系统2911、以及其他应用程序2912、浏览器模块等等。控制器210通过运行存储器290中各种软件程序,来执行诸如:广播电视信号接收解调功能、电视频道选择控制功能、音量选择控制功能、图像控制功能、显示控制功能、音频控制功能、外部指令识别功能、通信控制功能、光信号接收功能、电力控制功能、支持各种功能的软件操控平台、以及浏览器功能等其他应用。

请参考图5,图5是根据一示例性实施例示出的一种显示设备中软件系统的配置框图。

如图5所示,操作系统2911,包括用于处理各种基础系统服务和用于实施硬件相关任务的执行操作软件,充当应用程序和硬件组件之间完成的数据处理的媒介。在一些实施例中,部分操作系统内核可以包含一系列软件,用以管理显示设备硬件资源,并为其他程序或软件代码提供服务。

在另一些实施例中,部分操作系统内核可包含一个或多个设备驱动器,设备驱动器可以是操作系统中的一组软件代码,帮助操作或控制显示设备关联的设备或硬件。驱动器可以包含操作视频、音频和/或其他多媒体组件的代码。示例的,包括显示屏、摄像头、Flash、WiFi和音频驱动器。

其中,可访问性模块2911-1,用于修改或访问应用程序,以实现应用程序的可访问性和对其显示内容的可操作性。

通信模块2911-2,用于经由相关通信接口和通信网络与其他外设的连接。

用户界面模块2911-3,用于提供显示用户界面的对象,以供各应用程序可访问,可实现用户可操作性。

控制应用程序2911-4,用于可控制进程管理,包括运行时间应用程序等。

事件传输系统2914,可在操作系统2911内或应用程序2912中实现,以一些实施例中,一方面在在操作系统2911内实现,同时在应用程序2912中实现,用于监听各种用户输入事件,将根据各种事件指代响应各类事件或子事件的识别结果,而实施一组或多组预定义的操作的处理程序。

其中,事件监听模块2914-1,用于监听用户输入接口输入事件或子事件。

事件识别模块2914-1,用于对各种用户输入接口输入各类事件的定义,识别出各种事件或子事件,且将其传输给处理用以执行其相应一组或多组的处理程序。

其中,事件或子事件,是指显示设备200中一个或多个传感器检测的输入,以及外界控制设备(如控制设备100等)的输入。如:语音输入各种子事件,手势识别的手势输入,以及控制设备的遥控按键指令输入的子事件等。示例的,遥控器中一个或多个子事件包括多种形式,包括但不限于按键按上/下/左右/、确定键、按键按住等中一个或组合。以及非实体按键的操作,如移动、按住、释放等操作。

界面布局管理器2913,直接或间接接收来自于事件传输系统2914监听到各用户输入事件或子事件,用于更新用户界面的布局,包括但不限于界面中各控件或子控件的位置,以及容器的大小或位置、层级等与界面布局相关各种执行操作。

请参考图6,图6是根据一示例性实施例示出的一种显示设备中应用程序的配置框图。

如图6所示,应用程序层2912包含可在显示设备200执行的各种应用。应用可包含但不限于一个或多个应用程序,如:直播电视应用、视频点播应用、媒体中心应用、应用程序中心、游戏应用等。

直播电视应用,可以通过不同的信号源提供直播电视。例如,直播电视应用可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用可在显示设备200上显示直播电视信号的视频。

视频点播应用,可以提供来自不同存储源的视频。不同于直播电视应用,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。

媒体中心应用,可以提供各种多媒体内容播放的应用。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用访问各种图像或音频所提供服务。

应用程序中心,可以提供储存各种应用。应用程序可以是一种游戏、应用,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用。应用中心可从不同来源获得这些应用,将它们储存在本地储存器中,然后在显示设备200上可运行。

接下来对本申请实施例提供的视频播放方法进行详细的解释说明。

在本申请实施例中,显示设备从服务器中获取大角度视频的基础视频流和高清视频流。其中,基础视频流的分辨率低于高清视频流的分辨率。显示设备能够直接从服务器拉取整个视频的完整的基础视频流,但是,对于高清视频流,出于网络带宽、成本等因素的考虑,服务器将高清视频流切割为多个切片,每个切片编码为一个子流,显示设备通过从服务器中拉取子流来实现基础视频流和拉取的子流的组合播放。本申请实施例提供的视频播放方法即主要提供了显示设备拉取子流,并对子流进行播放的实现过程。

图7是根据一示例性实施例示出的一种视频播放方法的流程图,该方法应用于上述显示设备中。请参考图7,该方法包括如下步骤:

步骤701:响应于视场角发生变化,根据当前播放进度获取变化后的视场角对应的子流组合。

其中,该子流组合包括目标稀疏流和位于目标稀疏流之后的多个完整流,每个完整流对应至少一个稀疏流,每个稀疏流包括根据对应的完整流中的一个视频帧生成的I帧,该目标稀疏流是指位于当前播放进度之后且距离当前播放进度最近的稀疏流。

需要说明的是,在本申请实施例中,服务器将高清视频流分割为多个切片,并对每个切片进行编码,得到对应的子流。其中,每个子流包括多个视频帧,并且,每个子流的第一个视频帧均为I帧,之后的视频帧为P帧。这些直接编码得到的子流包含了完整的切片数据,因此,将其称为完整流。在得到完整流之后,服务器生成每个完整流对应的至少一个稀疏流。

在一种可能的实现方式中,服务器根据一个完整流包括的多个视频帧中的n个视频帧生成n个稀疏流,其中,每个稀疏流包括根据n个视频帧中的一个视频帧生成的I帧。

例如,假设一个完整流包括30个视频帧,则服务器根据该完整流的第5个视频帧、第10个视频帧、第15个视频帧、第20个视频帧以及第25个视频帧生成5个稀疏流。其中,第1个稀疏流中包括根据第5帧视频数据生成的I帧,第2个稀疏流中包括根据第10帧视频数据生成的I帧,以此类推。

可选地,为了表征各个稀疏流中的I帧是根据完整流中的第几个视频帧生成的,每个稀疏流中还包括一个偏移值,该偏移值即用于指示生成相应稀疏流中的I帧的视频帧在对应的完整流中所处的位置。

需要说明的是,在本申请实施例中,偏移值可以通过稀疏流文件的头部或尾部的一个固定区域来存放。

在另一种可能的实现方式中,服务器将一个完整流分割为多个分段数据,并将除第一个分段数据之外的其他分段数据的第一个视频帧保存为I帧,从而得到多个稀疏流。这样,每个稀疏流将包括一个I帧和位于该I帧之后多个P帧,且每个稀疏流中的包括的多个P帧实际上是处于该稀疏流的I帧与下一个稀疏流的I帧之间的视频帧。

例如,假设一个完整流包括30个视频帧,服务器将该完整流分割为3段,第1个视频帧到第10个视频帧为第一个分段数据,第11至第20个视频帧为第二个分段数据,第21至第30个视频帧为第三个分段数据。对于第一个分段数据,由于第一个视频帧本身为I帧,因此可以不必生成稀疏流。对于第二个分段数据,可以将第11个视频帧保存为I帧,从而得到一个稀疏流,对于第三个分段数据,将第21个视频帧保存为I帧,得到第二个稀疏流。

可选地,一个完整流对应的至少一个稀疏流可以按照各个稀疏流中包含的I帧的先后顺序进行排列。其中,各个稀疏流中包含的I帧的先后顺序是指生成相应的I帧的视频帧在对应的完整流中的先后顺序。

另外,在本申请实施例中,为了方便后续获取稀疏流,每个完整流对应的稀疏流可以按照I帧在完整流中所处的位置进行命名。例如,仍以前述包括30个视频帧的完整流对应的5个稀疏流为例,将第一个稀疏流命名为5、第二个稀疏流命名为10,以此类推。或者,在一些可能的实施例中,相邻的两个稀疏流的I帧之间的P帧的数量可以是相同的,在这种情况下,则直接按照各个稀疏流的I帧在完整流中的先后顺序排列各个依次命名各个稀疏流即可。例如,仍以前述包括30个视频帧的完整流对应的5个稀疏流为例,可以将第一个稀疏流命名为1,第二个稀疏流命名为2,以此类推。

上述仅是给出了几种为了便于获取稀疏流而设计的稀疏流的实现方式,在一些可能的实施例中,也可以通过在稀疏流中添加其他信息或者是通过其他存储稀疏流的方式来实现稀疏流的查找,本申请实施例对此不做限定。

在本申请实施例中,对于待播放的视频,显示设备首先从服务器中获取待播放的视频的高清视频流的媒体描述文件。其中,该媒体描述文件可以包括多个切片的切片信息,该多个切片是指服务器将高清视频流分割后得到的切片。

示例性地,显示设备向服务器发送获取请求,该获取请求中携带有待播放的视频的标识。服务器在接收到该获取请求之后,根据待播放的视频的标识,获取该视频的高清视频流的媒体描述文件,并将该媒体描述文件发送至显示设备。

显示设备在接收到服务器发送的待播放视频的高清视频流的媒体描述文件之后,对该媒体描述文件进行解析,从而得到多个切片的切片信息。

在得到多个切片的切片信息之后,显示设备可以实时获取用户的视场角。其中,显示设备与诸如VR眼镜之类的VR设备建立有通信连接。VR设备可以实时检测用户的姿态。显示设备接收VR设备实时检测到的用户的姿态,并根据用户的姿态,实时确定用户的视场角。当在某个时刻,显示设备确定的用户的当前视场角相较于最近一次确定的视场角发生变化时,则显示设备根据当前播放进度获取当前视场角对应的子流组合,当前视场角即为变化后的视场角。

需要说明的是,当显示设备检测到视场角发生变化时,根据当前播放进度可能当前要播放的是某个完整流中的P帧。为了方便描述,将当前要播放的P帧称为目标视频帧,将该P帧所属的完整流称为目标完整流。在这种情况下,由于已经过了目标完整流的I帧的播放时刻,因此,当前即使获取到目标完整流,解码目标完整流的I帧也已经来不及,相应地,目标完整流中位于目标视频帧之后的其他视频帧也无法解码播放。基于此,显示设备可以获取目标完整流对应的至少一个稀疏流中距离当前播放进度最近且位于当前播放进度之后的目标稀疏流,从而借助目标稀疏流中包括的I帧来加载后续的视频帧。

在一些可能的实施例中,在确定当前视场角相较于最近一次确定的视场角发生变化之后,显示设备根据当前视场角确定对应的视频区域,进而根据该视频区域确定当前视场角对应的多个切片的切片编号。之后,显示设备向服务器发送视频数据获取请求,该视频数据获取请求中携带当前视场角对应的多个切片的切片编号以及当前播放进度。其中,当前播放进度可以通过视频的当前播放时刻来表征。服务器在接收到视频数据获取请求之后,根据当前视场角对应的多个切片的切片编号确定该多个切片中第一个切片对应的完整流,该完整流即为当前播放进度对应的目标完整流,之后,服务器根据当前播放进度确定显示设备当前要播放的是目标完整流中的哪个视频帧,进而根据确定的该视频帧从目标完整流对应的至少一个稀疏流中获取目标稀疏流。除此之外,服务器还可以获取当前视场角对应的多个切片中除第一个切片之外剩余的切片对应的多个完整流,将该目标稀疏流和多个完整流作为一个子流组合反馈至显示设备,该子流组合即为变化后的视场角对应的子流组合。

在一些可能的实施例中,服务器在获取到目标稀疏流之后,还可以获取目标完整流中位于该目标稀疏流之后的剩余视频帧。除此之外,服务器还可以获取对当前视场角对应的多个切片中除第一个切片之外剩余的切片进行编码得到的多个完整流。将该目标稀疏流、位于目标稀疏流之后的剩余视频帧和该多个完整流作为一个子流组合反馈至显示设备,该子流组合即为变化后的视场角对应的子流组合。或者,如果稀疏流包括I帧和多个P帧,则服务器在获取到目标稀疏流之后,获取目标完整流对应的至少一个稀疏流中位于目标稀疏流之后的剩余稀疏流,将该目标稀疏流、位于目标稀疏流之后的剩余稀疏流和多个完整流作为一个子流组合发送至显示设备。

在一些可能的实施例中,在确定当前视场角相较于最近一次确定的视场角发生变化之后,显示设备根据当前视场角确定对应的视频区域,进而根据该视频区域确定当前视场角对应的多个切片的切片编号。之后,显示设备向服务器发送视频数据获取请求,该视频数据获取请求携带当前视场角对应的多个切片的切片编号。服务器在接收到该视频数据获取请求之后,根据其中携带的当前视场角对应的多个切片的切片编号,获取该多个切片中的每个切片对应的完整流,以及获取每个完整流对应的至少一个稀疏流。将获取的多个完整流和多个完整流对应的多个稀疏流发送至显示设备。

显示设备在接收到多个完整流和多个稀疏流之后,根据当前播放进度确定当前要播放的目标完整流,并根据当前播放进度确定当前要播放的是目标完整流中的哪个视频帧,进而根据该视频帧从目标完整流对应的至少一个稀疏流中获取目标稀疏流,将获取的目标稀疏流和位于该目标稀疏流之后的多个完整流作为一个子流组合,该子流组合即为变化后的视场角对应的子流组合。

需要说明的是,无论是由服务器还是显示设备从目标完整流对应的至少一个稀疏流中获取目标稀疏流,该实现过程均可以为:首先检测目标视频帧是否位于目标完整流中的参考视频帧之后。其中,目标视频帧是指根据当前播放进度确定的当前要播放的目标完整流中的视频帧,所谓参考视频帧是指用于生成目标完整流对应的最后一个稀疏流的I帧的视频帧。

例如,假设目标完整流包括30个视频帧,根据该目标完整流的第5个视频帧、第10个视频帧、第15个视频帧、第20个视频帧以及第25个视频帧生成5个稀疏流。在这种情况下,用于生成5个稀疏流中的最后一个稀疏流的I帧的视频帧为目标完整流的第25个视频帧,因此,参考视频帧即为第25个视频帧。

如果目标视频帧位于该参考视频帧之后,则说明目标视频帧的播放时刻位于目标完整流的最后一个稀疏流的I帧之后,也即是,当前播放时刻已经过了最后一个稀疏流的I帧的播放时刻,在这种情况下,根据最后一个稀疏流的I帧也无法实现目标视频帧之后的P帧的加载和播放。此时,则直接获取目标完整流的下一个完整流即可,也即,在这种情况下,子流组合中可以不包括目标稀疏流。

如果目标视频帧不位于该参考视频帧之后,则从目标完整流对应的至少一个稀疏流中获取目标稀疏流,该目标稀疏流是指包括的I帧位于该目标视频帧之后且距离该目标视频帧最近的一个稀疏流。其中,所谓的包括的I帧位于目标视频帧之后,是指用于生成相应稀疏流的I帧的视频帧在目标完整流中位于该目标视频帧之后。同理,包括的I帧距离目标视频帧最近也是指生成相应稀疏流的I帧的视频帧在目标完整流中距离该目标视频帧最近。

例如,假设目标完整流包括30个视频帧,根据该目标完整流的第5个视频帧、第10个视频帧、第15个视频帧、第20个视频帧以及第25个视频帧生成5个稀疏流。目标视频帧为目标完整流的第16个视频帧,则位于该目标视频帧之后且距离该目标视频帧最近的一个用于生成稀疏流的视频帧为第20个视频帧,因此,可以将根据第20个视频帧生成的稀疏流作为目标稀疏流。

需要说明的是,在本申请实施例中,根据稀疏流的实现方式的不同,根据目标视频帧获取目标稀疏流的方法也不同。

当稀疏流包括一个I帧和一个偏移值时,在确定目标视频帧不位于参考视频帧之后,根据目标视频帧在目标完整流中的位置和该目标完整流对应的每个稀疏流的偏移值,来确定位于该目标视频帧之后且距离该视频帧最近的目标稀疏流。

当各个稀疏流是按照I帧在对应的完整流中的位置来命名时,则根据各个稀疏流的名称来获取目标稀疏流。

当各个稀疏流是按照I帧在对应的完整流中的先后顺序来命名时,则根据目标完整流对应的稀疏流的数量以及各个稀疏流的名称来确定各个稀疏流包括的I帧是根据目标完整流中的第几个视频帧生成的,进而根据目标视频帧和各个稀疏流的I帧在目标完整流中对应的视频帧来确定目标稀疏流。

步骤702:根据该子流组合包括的目标稀疏流和多个完整流进行视频播放。

在获取到当前视场角对应的子流组合之后,显示设备根据该子流组合中包括的目标稀疏流和多个完整流进行视频播放。

其中,如果目标稀疏流中包括一个I帧和一个偏移值,且显示设备从服务器拉取了目标稀疏流、目标完整流中位于目标稀疏流的I帧之后的剩余视频帧以及位于目标稀疏流之后的多个完整流,则显示设备直接依次播放目标稀疏流的I帧、该I帧之后的剩余视频帧以及位于目标稀疏流之后的多个完整流。通过一次性拉取目标稀疏流和目标稀疏流的I帧之后的剩余视频帧以及完整流,可以减少显示设备和服务器之间的交互次数,并且减少服务器传输的数据量。

可选地,如果目标稀疏流中包括一个I帧和一个偏移值,且显示设备从服务器获取到的子流组合中仅包括目标稀疏流和多个完整流,则显示设备在获取大目标稀疏流之后,根据该稀疏流中的偏移值从服务器存储的目标完整流中获取位于第一视频帧之后的所有视频帧,第一视频帧是指用于生成目标稀疏流中的I帧的视频帧。之后,依次播放目标稀疏流包括的I帧、第一视频帧之后的所有视频帧以及子流组合中的多个完整流。其中,目标完整流中位于第一视频帧之后的剩余视频帧也可以称为目标完整流中位于目标稀疏流的I帧之后的剩余视频帧。

例如,假设目标完整流流包括30个视频帧,根据该目标完整流的第5个视频帧、第10个视频帧、第15个视频帧、第20个视频帧以及第25个视频帧生成5个稀疏流。目标稀疏流为第4个稀疏流,此时,目标稀疏流中的偏移值可以指示出用于生成第4个稀疏流的I帧的视频帧为目标完整流中的第20个视频帧。基于此,显示设备根据该偏移值从服务器中拉取目标完整流包括的多个视频帧中第20个视频帧之后的所有视频帧,这些视频帧均为P帧。之后,显示设备可以再解码目标稀疏流的I帧和获取的P帧,以及子流组合中的位于目标稀疏流之后的多个完整流,从到达目标稀疏流的I帧的播放时刻开始,依次播放目标稀疏流的I帧、获取的P帧以及多个完整流。

可选地,如果目标稀疏流中包括一个I帧和一个偏移值,且显示设备从服务器拉取了目标完整流以及位于目标稀疏流之后的多个完整流,则显示设备根据目标稀疏流的偏移值,从已经获取到的目标完整流中获取目标稀疏流的I帧之后其他视频帧,之后,依次播放目标稀疏流的I帧、获取的其他视频帧以及位于目标稀疏流之后的多个完整流。

可选地,如果目标稀疏流中包括I帧和多个P帧,且显示设备从服务器中拉取了目标稀疏流、目标完整流中位于目标稀疏流之后的剩余稀疏流以及多个完整流,则显示设备依次播放目标稀疏流、位于目标稀疏流之后的剩余稀疏流以及位于目标稀疏流之后的多个完整流。

例如,假设目标完整流包括30个视频帧,服务器将该目标完整流分割为3个分段数据,每个分段数据包括10个视频帧,共生成3个稀疏流。假设目标稀疏流为第二个稀疏流,则显示设备可以获取第二个稀疏流、第三个稀疏流,依次加载并播放第二个稀疏流、第三个稀疏流,以及目标完整流之后的下一个完整流。

由此可见,如果当前播放进度指示要播放的目标完整流包括30个视频帧,而当前要播放的目标视频帧为第16帧,则按照现有技术的视频播放方法,由于目标完整流的I帧无法解码,因此,显示设备将会寻找下一个I帧进行解码播放,而下一个I帧是目标完整流的下一个完整流的I帧,这样,显示设备则需要等待14帧的时长,才能播放下一个完整流的I帧高清画面,而在这14帧的等待时长内,用户将只能观看分辨率较低的基础视频流,也即,用户将有14帧的时长看不到高清画面。而如果通过本申请实施例提供的方法来进行视频播放,根据30个视频帧的第5个视频帧、第10个视频帧、第15个视频帧、第20个视频帧以及第25个视频帧分别生成5个稀疏流,则显示设备根据目标视频帧将会获取到根据目标完整流的第20个视频帧生成的目标稀疏流,这样,显示设备对该目标稀疏流包括的I帧进行解码,如此,显示设备只需等待4帧的时长即可以播放目标稀疏流包括的I帧以及目标完整流中位于该I帧之后剩余的P帧,换句话说,用户也只需要等待4帧的时长,即可以观看到高清画面,相较于现有技术中的方法,减少了用户的观看低分辨率视频的时长,提升了用户体验。

图8示出了显示设备与服务器交互获取子流组合以及显示设备播放子流组合的完整流程图。参见图8,显示设备首先向服务器发送获取请求,该获取请求中携带待播放的视频的标识,服务器根据待播放的视频的标识,向显示设备反馈待播放的视频的高清视频流的媒体描述文件。之后,显示设备确定当前的第一视场角,并根据第一视场角确定第一视场角对应的多个切片的切片信息。向服务器发送视频数据获取请求,该视频数据获取请求中携带第一视场角对应的多个切片的切片信息。服务器根据该视频数据获取请求向显示设备返回第一视场角对应的子流组合。显示设备依次播放第一视场角对应的子流组合中的各个完整流,并在播放过程中实时检测视场角是否发生变化。当检测到视场角发生变化时,确定变化后的视场角对应的切片信息,并通过视频数据获取请求从服务器中拉取变化后的视场角对应的子流组合。该子流组合中包括位于当前播放进度之后且距离当前播放进度最近的目标稀疏流、目标稀疏流所对应的目标完整流中位于目标稀疏流的I帧之后的剩余视频帧以及位于目标稀疏流之后的多个完整流。之后,显示设备根据目标稀疏流来依次加载并播放目标稀疏流中的I帧、目标完整流中位于该目标稀疏流的视频帧之后的其他视频帧以及多个完整流。

在本申请实施例中,当检测到视场角发生变化时,显示设备获取位于当前播放进度之后且距离当前播放进度最近的目标稀疏流以及位于目标稀疏流之后的多个完整流,由于稀疏流包含根据对应的完整流中的一个视频帧生成的I帧,因此,如果当前播放进度播放至某个完整流中的某个视频帧,则根据该当前播放进度获取到的目标稀疏流,显示设备能够播放该目标稀疏流中的I帧和位于该I帧之后剩余的视频帧,如此,在开始播放下一个完整流之前,用户就无需通过单纯观看基础视频流来等待接下来的高清画面,减少了用户观看低分辨率视频画面的时长,提高了用户体验。

在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中的视频播放方法的步骤。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。

应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。

也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的视频播放方法的步骤。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息处理方法、装置、客户端和服务器、存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类