一种媒体内容的获取和发送方法及装置与流程

文档序号:13425722阅读:171来源:国知局
一种媒体内容的获取和发送方法及装置与流程

本发明实施例涉及多媒体技术领域,尤其涉及一种媒体内容的获取和发送方法及装置。



背景技术:

在目前的视频质量评估技术中,视频显示质量的影响因素主要包括:分辨率,帧率,编码类型,码率,内容复杂度和终端的屏幕尺寸等。对于具有不同屏幕尺寸终端来说,当其他因素不变时,分辨率不同则终端的视频显示质量也不同。

现有技术中,通常通过媒体描述文件中的媒体展现来描述超文本传输协议(hypertexttransferprotocol,http)媒体流,每种媒体展现对应一个码率和一个分辨率。在其他因素已确定的情况下,终端根据当前网络质量确定目标码率,并获取目标码率对应的媒体展现中媒体流的媒体内容。

由于目标码率所对应的分辨率并不一定能够使得具有当前屏幕尺寸的终端的视频显示质量较高,而可能会使得具有当前屏幕尺寸的终端的视频显示质量较低,从而影响了终端用户的视频观看体验。



技术实现要素:

本发明实施例提供一种媒体内容的获取和发送方法及装置,能够在确定目标码率的情况下,通过选择适当的分辨率,使得具有当前屏幕尺寸的终端的视频显示质量较高。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,提供一种媒体内容的获取和发送方法,包括:首先,媒体服务器将媒体描述文件发送给终端。其中,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片。终端在接收到媒体描述文件后,根据当前网络质量确定目标码率,并进一步根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定目标分辨率。然后,终端再根据播放进度确定与目标码率和目标分辨率对应的目标分片,并向媒体服务器发送携带有目标分片的分片标识的目标分片请求消息。之后,媒体服务器向终端发送目标分片对应的媒体内容。

其中,由于媒体描述文件中的每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,因而,终端在确定目标码率后,可以根据终端的屏幕尺寸从目标码率对应的至少两个分辨率中确定使得视频显示质量最高的目标分辨率,从而根据播放进度确定与目标码率和目标分辨率对应的目标分片,获取目标分片对应的媒体内容。因此,终端通过选择适当的分辨率,可以使得具有当前屏幕尺寸的终端能够获得较佳的视频显示质量,提高终端用户的视频观看体验。

在一个可能的设计中,该方法还可以包括:终端向媒体服务器发送决策指示信息,以指示目标分辨率由终端确定,从而使得媒体服务器清楚需要发送给终端的媒体描述文件中至少需要包含目标码率对应的至少两个分辨率。

在一个可能的设计中,该方法还包括:源服务器向媒体服务器发送媒体描述文件和媒体内容。

第二方面,本发明实施例提供了一种计算机存储介质,用于储存为上述终端所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第三方面,本发明实施例提供了另一种计算机存储介质,用于储存为上述媒体服务器所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第四方面,本发明实施例提供了一种终端,该终端具有实现上述方法实际中终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。

第五方面,本发明实施例提供了一种媒体服务器,该媒体服务器具有实现上述方法实际中媒体服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。

第六方面,终端的结构中包括存储器,收发器和处理器。其中存储器用于存储计算机可执行程序代码,并与和收发器耦合。所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述终端执行上述方法中所涉及的信息或者指令。

第七方面,媒体服务器的结构中包括存储器,收发器和处理器。其中存储器用于存储计算机可执行程序代码,并与和收发器耦合。所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述媒体服务器执行上述方法中所涉及的信息或者指令。

第八方面,提供一种媒体内容的获取和发送方法,包括:首先,媒体服务器将媒体描述文件发送给终端,其中,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片。终端在接收到媒体描述文件后,根据当前网络质量确定目标码率,然后将目标码率、终端的屏幕尺寸和播放进度指示发送给媒体服务器。而后,媒体服务器根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定目标分辨率,并根据播放进度指示确定与目标码率和目标分辨率对应的目标分片。之后,媒体服务器向终端发送目标分片对应的媒体内容。

由于媒体描述文件中的每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,因而,终端在确定目标码率后,通过将目标码率、终端的屏幕尺寸以及播放进度指示发送给媒体服务器,以使得媒体服务器根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中确定使得视频显示质量最高的目标分辨率,从而根据播放进度指示确定与目标码率和目标分辨率对应的目标分片,并向终端发送目标分片对应的媒体内容。因此,媒体服务器通过选择适当的分辨率,可以使得具有当前屏幕尺寸的终端能够获得较佳的视频显示质量,提高终端用户的视频观看体验。

在一种可能的设计中,播放进度指示为时间点或分片标识;当播放进度指示为分片标识时,媒体服务器根据播放进度指示确定与目标码率和目标分辨率对应的目标分片包括:媒体服务器根据分片标识指示的分片确定时间点,并根据时间点确定目标码率和目标分辨率对应的目标分片。

在一种可能的设计中,该方法还可以包括:终端向媒体服务器发送决策指示信息,以指示目标分辨率由媒体服务器确定,从而使得媒体服务器明确需要根据目标码率以及终端的屏幕尺寸确定目标分辨率。

在一种可能的设计中,该方法还可以包括:源服务器向媒体服务器发送媒体描述文件和媒体内容。

第九方面,本发明实施例提供了一种计算机存储介质,用于储存为上述终端所用的计算机软件指令,其包含用于执行上述第八方面所设计的程序。

第十方面,本发明实施例提供了另一种计算机存储介质,用于储存为上述媒体服务器所用的计算机软件指令,其包含用于执行上述第八方面所设计的程序。

第十一方面,本发明实施例提供了一种终端,该终端具有实现上述第八方面的方法实际中终端行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。

第十二方面,本发明实施例提供了一种媒体服务器,该媒体服务器具有实现上述第八方面的方法实际中媒体服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。

第十三方面,终端的结构中包括存储器,收发器和处理器。其中存储器用于存储计算机可执行程序代码,并与和收发器耦合。所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述终端执行上述第八方面的方法中所涉及的信息或者指令。

第十四方面,媒体服务器的结构中包括存储器,收发器和处理器。其中存储器用于存储计算机可执行程序代码,并与和收发器耦合。所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述媒体服务器执行上述第八方面的方法中所涉及的信息或者指令。

第十五方面,提供一种系统,包括源服务器以及上述方面提供的终端和媒体服务器。

附图说明

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

图1为本发明实施例提供的一种媒体播放系统的基本架构示意图;

图2为本发明实施例提供的一种终端、媒体服务器的结构示意图;

图3为本发明实施例提供的一种媒体内容的获取和发送方法流程图;

图4为本发明实施例提供的一种自适应流中的媒体描述文件的结构示意图;

图5为本发明实施例提供的另一种媒体内容的获取和发送方法流程图;

图6为本发明实施例提供的另一种媒体内容的获取和发送方法流程图;

图7为本发明实施例提供的另一种终端的结构示意图;

图8为本发明实施例提供的另一种媒体服务器的结构示意图;

图9为本发明实施例提供的另一种媒体服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于理解,示例的给出了部分与本发明相关概念的说明以供参考。如下所示:

码率:即比特率,是指每秒传送的比特数。

分辨率:单位英寸中所包含的像素点数,可以包括宽度值和高度值,宽度值用于表示水平方向上可以显示的像素值,高度值用于表示垂直方向上可以显示的像素值。

内容复杂度:表明视频画面内容的复杂程度或多样性程度。

编码类型:视频编码所采用的格式类型,例如可以有h.264/avc类型、h.265/hevc类型等。

帧率:每秒可以显示的帧数,是测量显示帧数的量度。

由于现有技术中的每个媒体展现对应一个码率和一个分辨率,且一个码率仅对应唯一一个分辨率,当终端根据当前网络质量确定目标码率,并获取媒体描述文件中目标码率对应的媒体展现中的媒体内容时,目标码率对应的分辨率可能会使得具有当前屏幕尺寸的终端的视频显示质量较低,从而影响了终端用户的视频观看体验。

针对上述问题,本发明以下实施例提供一种媒体内容的获取和发送方法及装置,可以在确定目标码率的情况下,通过选择适当的分辨率,以使得具有当前屏幕尺寸的终端能够获得较佳的视频显示质量。

本发明实施例中的媒体播放系统的基本架构示意图可以参见图1,其中包括源服务器1100、一个或多个媒体服务器1200和多个终端1300。媒体播放系统中所涉及的媒体流为http流,具体可以是http动态自适应流(dynamicadaptivestreamingoverhttp,dash)、http直播流(httplivestreaming,hls)、http动态流(httpdynamicstreaming,hds)或http平滑流(httplivestreaming,hss)等。

在如图1所示的基本架构中,源服务器1100主要负责媒体内容的存储、编转码、加密以及媒体描述文件的生成等。媒体服务器1200可主要负责从源服务器1100接收媒体内容和媒体描述文件,并根据终端的请求,将媒体内容和媒体描述文件发送至终端。终端1300主要负责从媒体服务器获取媒体内容和媒体描述文件,并负责媒体描述文件的解析,以及媒体内容的解码、解密、渲染和呈现等。这里的终端具体可以是手机、电视、平板电脑等各种媒体播放设备。

具体的,图2为本发明实施例提供的媒体播放系统中的装置结构示意图,用于在图1所示的系统中触发媒体内容的获取和发送流程。该装置可包含一个或多个端口,与收发器(transceiver)230相耦合。收发器230可以是发射器,接收器或其组合,从其他网络节点通过端口发送或接收数据包。处理器耦合到收发器,用于处理数据包。处理器220可包含一个或多个多核处理器。处理器可以是一个通用处理器,专用集成电路(applicationspecificintegratedcircuit,asic),或数字信号处理器(dsp)。

存储器210可为非瞬时性的存储介质,与处理器220相耦合,用于保存不同类型的数据,如媒体描述文件,媒体内容等等。存储器可包含只读存储器(readonlymemory,rom),随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。存储器可用于保存实现媒体内容获取和发送相关方法的指令。可以理解,通过编程或装载可执行指令到设备的处理器,缓存和长期存储中的至少一个。

图2所示的装置可实现根据本发明的实施例执行一个或多个指令以触发进行媒体内容的获取和发送。这些指令可存储在存储器中,也可集成在操作系统的内核或内核的插件中。

具体的,图2可以作为本发明实施例提供的终端的结构示意图。终端可以包括存储器210,处理器220和收发器230以及与收发器耦合的一个或多个端口。存储器210,用于存储计算机可执行程序代码;处理器220与所述存储器210和所述收发器230耦合;其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行图3-图6中终端分别执行的相关步骤。

此外,图2还可以作为本发明实施例提供的媒体服务器的结构示意图。媒体服务器可以包括存储器210,处理器220和收发器230以及与收发器耦合的一个或多个端口。存储器210,用于存储计算机可执行程序代码;处理器与所述存储器和所述收发器耦合;其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行图3-图6中媒体服务器执行的相关步骤。

结合图2所示的终端、媒体服务器的结构示意图,本发明实施例提供的一种媒体内容的获取和发送方法的方法流程图如图3所示,可以包括如下步骤:

101、媒体服务器接收终端发送的媒体描述文件请求消息。

具体的,终端可以根据事先获取的媒体描述文件的统一资源定位符(uniformresourcelocator,url)向媒体服务器发送媒体描述文件请求消息,并在媒体描述文件请求消息中携带媒体描述文件的url。媒体服务器接收来自于终端的媒体描述文件请求消息。

示例性的,终端发送的媒体描述文件请求消息可以为:

gethttp://example.com/mpd?http/1.1

connection:keep-alive

其中,“http://example.com/mpd”为媒体描述文件的url,“http/1.1”表示http协议版本;“connection:keep-alive”表示保持连接。

102、媒体服务器向终端发送媒体描述文件,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片。

在接收到终端发送的媒体描述文件请求消息后,媒体服务器具体可以根据媒体描述文件的url,将媒体描述文件发送给终端。其中,这里的媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片,分片是媒体服务器向终端发送媒体内容的基本单位。在媒体描述文件中,每个媒体展现对应的一个码率可以用于终端根据当前的网络质量确定目标码率,每个码率对应的至少两个分辨率可以用于终端根据目标码率以及终端的屏幕尺寸确定目标分辨率。

其中,不同http流中媒体描述文件的具体表现形式不同,例如在dash流中可以是(mediapresentationdescription,mpd)文件,在hls中可以是m3u8文件,在hss中可以是ism/ismc文件。

示例性的,dash流中的mpd文件的具体结构可以参见图4。在图4中,一个完整的媒体文件可以分成一个或多个时段(period),每个时段就是一个媒体时间段,有起始时间和结束时间。每个时段包含一个或多个适应集(adaptationset),每个适应集对应着一种媒体成分,如音频、视频、字幕等。每个适应集包含多个媒体展现(representation),每个媒体展现对应一个码率和一个分辨率,不同媒体展现中,一个码率可以对应至少两个分辨率。每个媒体展现可以分成一个或多个分片(segment),分片是终端向媒体服务器请求媒体内容的基本单位。

例如,一个视频适应集的具体示例可以参见如下表1:

表1

其中,上述表1所示的适应集中各属性的相关描述可以参见如下表2:

表2

由表1和表2可知,上述视频适应集的属性中定义了内容复杂度,编码类型和帧率,内容复杂度是计算适应集的平均内容复杂度,编码类型是avc即h.264,帧率是40fps(帧/秒)。表1中的适应集包含了8个媒体展现,共有4个码率,分别为256kb/s、512kb/s、1024kb/s和2048kb/s。每个码率分别对应2个分辨率,即码率256kb/s对应分辨率(宽度值=320,高度值=240)和分辨率(宽度值=640,高度值=480);即码率512kb/s对应分辨率(宽度值=320,高度值=240)和分辨率(宽度值=640,高度值=480);即码率1024kb/s对应分辨率(宽度值=640,高度值=480)和分辨率(宽度值=1280,高度值=720);即码率2048kb/s对应分辨率(宽度值=640,高度值=480)和分辨率(宽度值=1280,高度值=720)。在该示例中,每个媒体展现只包括一个分片,所以每个媒体展现只有一个url,在实际应用中,每个媒体展现也可以包括多个分片,每个分片对应一个url。

103、终端接收媒体服务器发送的媒体描述文件后,根据当前网络质量确定目标码率。

在接收到媒体服务器发送的媒体描述文件后,终端可以根据当前网络质量确定目标码率。其中,当前网络质量用于描述终端当前的网络状况,例如终端当前的下载速度等。目标码率是终端根据当前网络质量所选择的最佳码率,如果当前网络质量较好,终端可以选择较高的码率作为目标码率,以获得更好的视频观看体验;当当前网络质量较差时,终端可以选择较低的码流作为目标码率,以防止缓存不足造成播放卡顿。

具体的,终端根据当前网络质量确定目标码率的常用方法可以有多种,以下将以一种具体实现方式为例进行举例说明。

示例性的,参见如下式(1),终端可以根据当前下载速度、终端缓存时长和最小缓存时长,计算当前可以选择的最大码率。

最大码率=下载速度*终端缓存时长/最小缓存时长式(1)

若当前下载速度为300kb/s,当前终端缓存内容的时长为10s,最小缓存时间为2s,则最大码率为1500kb/s。此时,目标码率应该小于或者等于最大码率1500kb,并且与最大码率1500kb接近。以表1所举示例为例,可以选择的4个码率为56kb/s、512kb/s、1024kb/s和2048kb/s,其中,小于或者等于最大码率1500kb,并且与最大码率1500kb最为接近的码率为1024kb/s,该码率即为目标码率。

值得说明的是,终端根据当前网络质量确定目标码率的方法为现有技术,除了上述方法之外,还有别的方法。本发明实施例不再一一详述。

104、终端根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定目标分辨率。

在确定目标码率后,由于具有不同屏幕尺寸的终端的视频显示质量还与分辨率有关,因而在本步骤中,终端可以根据所具有的屏幕尺寸从目标码率对应的至少两个分辨率中确定目标分辨率,从而使得终端的视频显示质量达到最高。

仍以表1所举示例为例,当目标码率确定为1024kb/s时,目标码率对应的分辨率为(宽度值=640,高度值=480)和(宽度值=1280,高度值=720)共2个,终端可以从这2个分辨率中确定一个使得终端的视频显示质量最高的目标分辨率。

105、终端根据播放进度确定与目标码率和目标分辨率对应的目标分片。

由于一个码率和一个分辨率对应一个媒体展现,因而终端根据目标码率和目标分辨率可以确定目标媒体展现。当目标媒体展现中包括一个分片时,该分片即为终端想要获取的目标分片;当目标媒体展现中包括多个分片时,不同分片对应不同时间片段,每个时间片段对应一个起始时间和终止时间。终端可以根据播放进度指示,从目标媒体展现包括的多个分片中确定需要获取的目标分片。

106、终端向媒体服务器发送目标分片请求消息,目标分片请求消息中携带目标分片的分片标识。

其中,分片标识用于唯一标识一个分片,具体可以为分片的url,分片对应的编号,或者分片对应的起-止时间等,这里将不对分片标识的具体形式予以限定。

示例性的,当分片标识为分片的url时,终端向媒体服务器发送的目标分片请求消息具体可以为:

gethttp://example.com/56363639.mp4http/1.1

connection:keep-alive

其中,“http://example.com/56363639.mp4”表示目标分片的url。

107、媒体服务器接收终端发送的目标分片请求消息后,向终端发送目标分片对应的媒体内容。

媒体服务器在接收到终端发送的目标分片请求消息后,可以将目标分片对应的媒体内容发送终端。具体的,媒体服务器可以根据目标分片请求中携带的目标分片的url找到目标分片对应的媒体内容,并发送给终端。

108、终端接收媒体服务器发送的目标分片对应的媒体内容后,缓存并播放目标分片对应的媒体内容。

终端接收媒体服务器发送的目标分片对应的媒体内容并缓存,以进行视频播放。

在本发明上述实施例提供的媒体内容的获取和发送方法中,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,终端在确定目标码率后,根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中确定使得视频显示质量最高的目标分辨率,从而根据目标码率和目标分辨率确定目标分片,获取目标分片对应的媒体内容。因此,终端通过选择适当的分辨率,可以使得具有当前屏幕尺寸的终端能够获得较佳的视频显示质量,避免现有技术中由于目标码率仅对应唯一一个分辨率,而该分辨率可能会使得具有当前屏幕尺寸的终端的视频显示质量较低,从而影响了终端用户的视频观看体验的问题。

需要说明的是,在上述步骤104中,终端确定视频显示质量高低的方法可以有多种,终端根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定使得视频显示质量最高的目标分辨率的方法也可以有多种。例如,目标码率对应的至少两个分辨率中,与具有当前屏幕尺寸的终端允许的最大分辨率最为接近的分辨率,即为使得视频显示质量最高的目标分辨率。以下将以通过计算视频显示质量分值来确定目标分辨率的方式来举例说明。

在该方式中,上述媒体描述文件还可以包括内容复杂度、编码类型和帧率。其中,媒体描述文件中内容复杂度的计算方法可以有多种,例如可以分片为单位进行计算,当一个分片与多个视频场景有交集时,分片的内容复杂度可以是多个场景的内容复杂度的平均值上述步骤104具体可以包括:

终端根据终端的屏幕尺寸、目标码率以及媒体描述文件中的内容复杂度、编码类型和帧率,计算目标码率对应的至少两个分辨率中,每个分辨率分别对应的视频显示质量分值,并确定最高视频显示质量分值对应的分辨率即为目标分辨率。

具体的,可以根据如下式(2)计算屏幕显示质量qsc:

其中,d,e,f是常数,qmax是屏幕显示质量最大值,p是有效显示像素密度,p的计算公式可以为如下式(3):

其中,height,width分别是视频分辨率的高度值和宽度值。

根据如下式(4)计算参考质量qb:

其中,a,c是常数,取值与编码类型和分辨率有关,qmin是屏幕显示质量最小值,λ是帧率因子,λ的计算公式可以为如下式(5),式(5)中的fbase为基准帧率;y1的计算公式可以为如下式(6),式(6)表示y1与内容复杂度有关;y2的计算公式可以为如下式(7),式(7)表示y2与内容复杂度有关:

y1=func1(videocomplexity)式(6)

y2=func2(videocomplexity)式(7)

视频显示质量分值qv的计算公式可以为如下式(8):

其中,c1,c2,c3,c4为常数。

示例性的,设置参数值如下:qmax=5,qmin=1,d=50,e=1,f=1,fbase=30,a=10,c=0.1,y1=videocomplexity,y2=videocomplexity,c1=1,c2=0,c3=1,c4=0。

当目标分辨率为表1所示的1024kb/s时,对应的两个分辨率为(宽度值=640,高度值=480)和(宽度值=1280,高度值=720),则通过计算可以得到:

当分辨率为(宽度值=640,高度值=480)时,视频显示质量得分qv=2.75。

当分辨率为(宽度值=1280,高度值=720)时,视频显示质量得分qv=3.56。

计算结果表明:分辨率(宽度值=1280,高度值=720)对应的视频显示质量的分值高于分辨率(宽度值=640,高度值=480)对应的视频显示质量分值,分辨率(宽度值=1280,高度值=720)对应的视频显示质量,高于分辨率(宽度值=1280,高度值=720)对应的视频显示质量。因而,在目标码率1024kb/s对应的两个分辨率中,分辨率(宽度值=1280,高度值=720)对应的视频显示质量最高,分辨率(宽度值=1280,高度值=720)即为目标分辨率。

进一步地,本发明实施例提供的方法还可以包括:

109、终端向媒体服务器发送决策指示信息,以指示目标分辨率由终端确定。

110、媒体服务器接收终端发送的决策指示信息。

在本发明实施例的步骤101-108中,目标分辨率是由终端决策的,因而终端还可以向媒体服务器发送决策指示信息,以指示目标分辨率由终端确定。在接收到终端发送的决策指示信息后,媒体服务器获知目标分辨率由终端决策,媒体服务器不进行目标分辨率的决策。在一种可选的实施方式中,步骤109和110可以在步骤102之前,从而使得媒体服务器清楚需要发送给终端的媒体描述文件中至少需要包含目标码率对应的至少两个分辨率;在另一种可选的实现方式中,步骤109和110也可以在步骤107之前;在另一种可选的实现方式中,终端可以将决策指示信息携带于目标分片请求消息中发送给媒体服务器,这里不做具体限定。

示例性的,携带有决策指示信息的目标请求分片可以为:

gethttp://example.com/mpd?decider=”client”http/1.1

connection:keep-alive

其中,decider=”client”表示决策指示信息,表明决策者为终端,用于指示目标分辨率由终端确定。

本发明另一实施例提供另一种媒体内容的获取和发送方法,该方法用于媒体服务器将终端需要获取的媒体内容发送给终端,参见图5,该方法还可以包括:

201、媒体服务器接收终端发送的媒体描述文件请求消息。

202、媒体服务器向终端发送媒体描述文件,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片。

203、终端接收媒体服务器发送的媒体描述文件后,根据当前网络质量确定目标码率。

需要说明的是,在本发明实施例的步骤202中,媒体服务器发送给终端的媒体描述文件中,每个媒体展现对应的一个码率可以用于终端根据当前的网络质量确定目标码率。其它关于上述步骤201-203的描述可以参见上述实施例中关于步骤101-103的具体描述。

204、终端将目标码率、终端的屏幕尺寸和播放进度指示发送给媒体服务器。

其中,播放进度指示用于描述终端当前对应的视频播放进度。终端在接收到媒体描述文件,并根据网络质量确定目标码率后,可以将目标码率、终端的屏幕尺寸和播放进度指示发送给媒体服务器。其中,终端的屏幕尺寸可以用于媒体服务器根据目标码率确定目标分辨率,播放进度指示可以用于媒体服务器确定与目标码率和目标分辨率对应的目标分片;

205、媒体服务器接收终端发送的目标码率、终端的屏幕尺寸和播放进度指示后,根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定目标分辨率。

由于具有不同屏幕尺寸的终端的视频显示质量还与分辨率有关,因而在接收到终端发送的终端的屏幕尺寸和目标码率后,媒体服务器可以根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定一个可以使得视频显示质量最高的目标分辨率。

206、媒体服务器根据播放进度指示确定与目标码率和目标分辨率对应的目标分片。

在确定目标分辨率之后,媒体服务器可以根据从终端接收到的播放进度指示,确定目标码率和目标分辨率对应的目标分片,该目标分片即为终端根据当前播放进度播放视频时需要获取的分片。

207、媒体服务器向终端发送目标分片对应的媒体内容。

媒体服务器在确定目标分片后,可以向终端发送目标分片对应的媒体内容。

208、终端接收媒体服务器发送的目标分片对应的媒体内容后,缓存并播放目标分片对应的媒体内容。

终端接收媒体服务器发送的目标分片对应的媒体内容并缓存,以进行视频播放。

在本发明上述实施例提供的媒体内容的获取和发送方法中,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,终端在确定目标码率后,将播放进度指示、目标码率以及终端的屏幕尺寸发送给媒体服务器,以使得媒体服务器根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中确定使得视频显示质量最高的目标分辨率,从而根据播放进度指示确定与目标码率和目标分辨率对应的目标分片,并向终端发送目标分片对应的媒体内容。因此,媒体服务器通过选择适当的分辨率,可以使得具有当前屏幕尺寸的终端能够获得较佳的视频显示质量,避免现有技术中由于目标码率仅对应唯一一个分辨率,而该分辨率可能会使得具有当前屏幕尺寸的终端的视频显示质量较低,从而影响了终端用户的视频观看体验的问题。

其中,媒体服务器中保存的媒体描述文件还可以包括内容复杂度、编码类型和帧率。上述步骤205具体可以包括:

媒体服务器根据终端的屏幕尺寸、目标码率以及媒体描述文件中的内容复杂度、编码类型和帧率,计算目标码率对应的至少两个分辨率中,每个分辨率分别对应的视频显示质量分值,并确定最高视频显示质量分值对应的分辨率即为目标分辨率。

具体的,媒体服务器确定目标分辨率的过程与终端确定目标分辨率的过程类似,具体可以参见上一实施例中的描述,这里不再赘述。

此外,媒体服务器发送给终端的媒体描述文件中可以包括内容复杂度、编码类型和帧率,也可以不包括内容复杂度、编码类型和帧率,这里不做具体限定。

其中,播放进度指示具体可以为时间点或分片标识。

当播放进度指示为时间点时,在上述步骤208中,媒体服务器根据该时间点确定目标码率和目标分辨率对应的目标分片。

当播放进度指示为分片标识时,在上述步骤208中,媒体服务器可以根据分片标识指示的分片确定时间点,并根据时间点确定目标码率和目标分辨率对应的目标分片。

一个媒体展现可以包括一个或多个分片,每个分片对应一个时间片段,从而对应一个起始时间和终止时间。当播放进度指示为分片标识时,终端可以根据当前视频播放进度确定一个参考分片,并将该参考分片的分片标识发送给媒体服务器。在一种可能的实现方式中,媒体服务器根据从终端接收到的分片标识确定的时间点,可以为该分片标识对应的参考分片的起始时间。媒体服务器根据播放进度指示确定的时间点,可以表明终端当前的视频播放进度,因而媒体服务器可以根据该时间点确定起-止时间范围包括该时间点,且与目标码率和目标分辨率对应的分片,该分片即为目标分片。

具体的,终端可以向媒体服务器发送一个参考分片请求消息,该消息携带有参考分片的url,还可以携带有目标码率以及终端的屏幕尺寸。当然,目标码率与终端的屏幕尺寸也可以不携带于参考分片请求消息中,而是通过额外的消息单独发送,这里不做具体限定。

或者,终端根据当前视频播放进度确定的参考分片还可以为与目标码率对应的分片。这样,该消息本身携带有参考分片的url,还可以携带有终端的屏幕尺寸,而不需要额外发送目标码率。媒体服务器接收到参考分片请求消息后,可以根据参考分片的url确定对应的码率,该码率即为目标码率。示例性的,终端发送的参考分片请求消息可以为:

gethttp://example.com/56363638.mp4?screensize=”14”http/1.1

connection:keep-alive

其中,“http://example.com/56363638.mp4”表示参考分片的url,screensize=”14”表示终端的屏幕尺寸为14寸。

此外,终端的屏幕尺寸也可以通过额外的消息单独发送,这里不做具体限定

进一步的,在上述步骤208之前,该方法还可以包括:

209、终端向媒体服务器发送决策指示信息,以指示目标分辨率由媒体服务器确定。

210、媒体服务器接收终端发送的决策指示信息。

在本发明实施例的步骤201-208中,目标分辨率是由媒体服务器决策的,终端不进行目标分辨率的决策,因而终端还可以向媒体服务器发送决策指示信息,以使得媒体服务器明确需要根据目标码率以及终端的屏幕尺寸确定目标分辨率。

在一种可能的实现方式中,终端还可以将决策指示信息携带于参考分片请求消息中发送给媒体服务器。示例性的,该参考分片请求消息具体可以为:

gethttp://example.com/56363638.mp4?decider=”server”&screen

size=”14”http/1.1

connection:keep-alive

其中,decider=”server”表示决策指示信息,表明决策者为媒体服务器,用于指示目标分辨率由媒体服务器确定。

更进一步地,媒体服务器在向终端发送媒体描述文件和媒体内容之前,可以先从源服务器获取到该媒体描述文件和媒体内容。因而,参见图6,在上述两个方法实施例中的步骤101和201之前,还可以包括:

301、媒体服务器向源服务器发送请求消息,以请求获取媒体描述文件和媒体内容。

302、源服务器接收媒体服务器发送的请求消息后,将媒体描述文件和媒体内容发送给媒体服务器。

303、媒体服务器接收源服务器发送的媒体描述文件和媒体内容。

如图7所示,本发明实施例还提供一种终端700的结构示意图,该终端700可以包括:接收单元701、处理单元702和发送单元703。其中,接收单元701,用于接收媒体服务器发送的媒体描述文件,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片;处理单元702,用于根据终端700的当前网络质量确定目标码率;根据终端700的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定目标分辨率;根据播放进度确定与目标码率和目标分辨率对应的目标分片;发送单元703,用于向媒体服务器发送目标分片请求消息,目标分片请求消息中携带目标分片的分片标识;接收单元701还用于,接收媒体服务器发送的目标分片对应的媒体内容。

进一步的,接收单元701还用于执行图3、图6中终端执行的108等步骤,处理单元702还可以执行图3、图6中终端执行的103、104、105等步骤,发送单元703还用于执行图3、图6中终端执行的106等步骤。本发明实施例在此不再详述。

在本发明另一实施例中,在图7所示的终端700的结构示意图中,接收单元701,用于接收媒体服务器发送的媒体描述文件,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片;处理单元702,用于根据终端700的当前网络质量确定目标码率;发送单元703,用于将目标码率、终端700的屏幕尺寸和播放进度指示发送给媒体服务器,终端700的屏幕尺寸用于根据目标码率确定目标分辨率,播放进度指示用于确定与目标码率和目标分辨率对应的目标分片;接收单元701还用于,接收媒体服务器发送的目标分片对应的媒体内容。

进一步的,接收单元701还用于执行图5-图6中终端执行的208等步骤,处理单元702还可以执行图5-图6中终端执行的203等步骤,发送单元703还用于执行图5-图6中终端执行的204等步骤。本发明实施例在此不再详述。

进一步的,图7中的终端700是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到图7中的终端700可以采用图2所示的形式。各单元可以通过图2的处理器和存储器来实现。

如图8所示,本发明实施例还提供一种媒体服务器800的结构示意图,该媒体服务器800可以包括:接收单元801和发送单元802。其中,接收单元801,用于接收终端发送的媒体描述文件请求消息;发送单元802,用于向终端发送媒体描述文件,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片,每个媒体展现对应的一个码率用于根据当前的网络质量确定目标码率,每个码率对应的至少两个分辨率用于根据目标码率以及终端的屏幕尺寸确定目标分辨率;接收单元801还用于,接收终端发送的目标分片请求消息,目标分片请求消息中携带目标分片的分片标识,目标分片是根据播放进度确定的,并与目标码率和目标分辨率对应;发送单元802还用于,向终端发送目标分片对应的媒体内容。

进一步的,接收单元801还用于执行图3、图6中媒体服务器执行的101等步骤,发送单元802还用于执行图3、图6中媒体服务器执行的102、107等步骤。并且,媒体服务器还可以进一步包括处理单元803,用于控制接收单元801和发送单元802执行相应的功能。本发明实施例在此不再详述。

如图9所示,本发明实施例还提供一种媒体服务器900的结构示意图,该媒体服务器900可以包括:接收单元901、发送单元902和处理单元903。其中,接收单元901,用于接收终端发送的媒体描述文件请求消息;发送单元902,用于向终端发送媒体描述文件,媒体描述文件用于描述至少两个媒体展现,每个媒体展现对应一个码率和一个分辨率,每个码率对应至少两个分辨率,每个媒体展现包括至少一个分片,每个媒体展现对应的一个码率用于根据当前的网络质量确定目标码率;接收单元901还用于,接收终端发送的目标码率、终端的屏幕尺寸和播放进度指示;处理单元903,用于根据终端的屏幕尺寸,从目标码率对应的至少两个分辨率中,确定目标分辨率;根据播放进度指示确定与目标码率和目标分辨率对应的目标分片;发送单元902还用于,向终端发送目标分片对应的媒体内容。

进一步的,接收单元901还用于执行图5-图6中媒体服务器执行的201等步骤,处理单元903还可以执行图5-图6中媒体服务器执行的205、206等步骤,发送单元902还用于执行图5-图6中媒体服务器执行的202、207等步骤。本发明实施例在此不再详述。

进一步的,图8和图9中的媒体服务器是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到图8和图9中的媒体服务器可以采用图2所示的形式。各单元可以通过图2的处理器和存储器来实现。

本发明实施例还提供了一种计算机存储介质,用于储存为上述图7所示的终端或图8、图9所示的媒体服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现媒体内容的获取和发送。

本发明另一实施例还提供一种媒体播放系统,可以包括源服务器,上述图7所示的终端,以及上述图8、图9所示的媒体服务器。该媒体播放系统的基本架构示意图具体可以参见图1。

本领域普通技术人员应该了解本申请的所有或部分标的物可在结合硬件和/或固件的软件中实施。例如,本文描述的标的物可在一个或多个处理器执行的软件中实施。在一项示例性实施方式中,本文描述的标的物可使用存储有计算机可执行指令的非瞬时计算机可读介质实施,当计算机处理器执行该计算机可执行指令时,该指令控制计算机执行步骤。适于实施本文描述的标的物的示例计算机可读介质包括非瞬时计算机可读介质,例如磁盘存储器设备、芯片存储器设备、可编程逻辑设备和专用集成电路。另外,实施本文描述的标的物的计算机可读介质可位于单个设备或计算平台上,或可在多个设备或计算平台上分发。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1