流式传输媒体转让专利

申请号 : CN201480051246.X

文献号 : CN105556979B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 贾伊·马尼布兰登·比林斯基

申请人 : 谷歌有限责任公司

摘要 :

当可能在具有太有限以致于不能支持以那样的质量流式传输整个媒体的带宽的连接上,媒体内容的一个或多个分段被指定用于以较高质量呈现。媒体中的一些以较低质量被流式传输,留下一些带宽可用于预流式传输较高质量的分段,所述较高质量的分段可在要被呈现之前被全部或部分地缓存。当较高质量内容将要被呈现时,被缓存的分段数据可以被用来以较高质量将分段呈现给用户。

权利要求 :

1.一种方法,包括:

确定流式传输连接的容量带宽;

确定所述流式传输连接的流式传输带宽,所述流式传输带宽被用于在所述流式传输连接上提供具有第一质量的媒体,所述流式传输带宽小于所述容量带宽,所述媒体具有多个分段,每个分段具有至少一个分段特性;

确定所述流式传输连接的可用带宽,所述可用带宽基于所述容量带宽和所述流式传输带宽之差;

从所述多个分段中识别分段;

确定所识别的分段具有第二质量,所述第二质量大于所述第一质量;

确定所识别的分段能够至少以第三质量及时地被发送以被呈现,其中,所述第三质量大于所述第一质量并且小于或等于所述第二质量;以及基于所述确定所识别的分段能够至少以所述第三质量及时地被发送以被呈现,在所述流式传输连接上发送所识别的分段。

2.如权利要求1所述的方法,其中,所述至少一个分段特性包括来自由以下构成的组中的至少一个:分段位置、分段大小、以及与质量相对应的质量属性。

3.如权利要求2所述的方法,其中,所述分段位置包括来自由以下构成的组中的至少一个:开始时间、结束时间、持续时间、开始帧、结束帧、分段开始帧数、和分段结束帧数。

4.如权利要求2所述的方法,其中,所述质量属性包括来自由以下构成的组中的至少一个:图片帧维度、像素计数、像素率、位计数、和比特率。

5.如权利要求1所述的方法,其中,所述媒体包括来自由以下构成的组中的至少一个:视频、歌曲、和文档。

6.如权利要求1所述的方法,其中,所述确定所识别的分段可以至少以第三质量及时地被发送以被呈现包括:确定所述第三质量的所识别的分段的第一数据大小;

基于所述可用带宽和所述第一数据大小确定分段流时间;

确定前置时间,所述前置时间为第一时间和分段开始时间之差,所述第一时间为在当前时间或晚于所述当前时间且早于所述分段开始时间的时间,并且所述分段开始时间为大约所识别的分段将要开始被呈现的时间;以及确定所述分段流时间最多等于所述前置时间。

7.如权利要求1所述的方法,其中,所述确定所识别的分段可以至少以第三质量及时地被发送以被呈现包括:确定所识别的分段的分段大小;

确定所述第三质量的所识别的分段的第一数据大小;

确定所识别的分段的分段开始时间;

确定第一时间,所述第一时间为在当前时间或晚于所述当前时间且早于所述分段开始时间的时间;

基于所述可用带宽以及所述分段开始时间和所述第一时间之差确定第一数量;

确定所识别的分段的分段持续时间;

基于所述容量带宽和所述分段持续时间确定第二数量;以及确定所述第一数量和所述第二数量之和至少等于所述分段大小。

8.一种系统,包括:

存储器;

与所述存储器通信的处理器,所述处理器被配置为:确定流式传输连接的容量带宽;

确定所述流式传输连接的流式传输带宽,所述流式传输带宽被用于在所述流式传输连接上提供具有第一质量的媒体,所述流式传输带宽小于所述容量带宽,所述媒体具有多个分段,每个分段具有至少一个分段特性;

确定所述流式传输连接的可用带宽,所述可用带宽基于所述容量带宽和所述流式传输带宽之差;

从所述多个分段中识别识别的分段;

确定所识别的分段具有第二质量,所述第二质量大于所述第一质量;

确定所识别的分段可以至少以第三质量及时地被发送以被呈现,其中,所述第三质量大于所述第一质量并且小于或等于所述第二质量;以及基于所述确定所识别的分段可以至少以所述第三质量及时地被发送以被呈现,在所述流式传输连接上发送所识别的分段。

9.如权利要求8所述的系统,其中,所述至少一个分段特性包括来自由以下构成的组中的至少一个:分段位置、分段大小、以及与质量相对应的质量属性。

10.如权利要求9所述的系统,其中,所述分段位置包括来自由以下构成的组中的至少一个:开始时间、结束时间、持续时间、开始帧、结束帧、分段开始帧数、和分段结束帧数。

11.如权利要求9所述的系统,其中,所述质量属性包括来自由以下构成的组中的至少一个:图片帧维度、像素计数、像素率、位计数、和比特率。

12.如权利要求8所述的系统,其中,所述处理器进一步被配置为:确定所述第三质量的所识别的分段的第一数据大小;

基于所述可用带宽和所述第一数据大小确定分段流时间;

确定前置时间,所述前置时间为第一时间和分段开始时间之差,所述第一时间为在当前时间或晚于所述当前时间且早于所述分段开始时间的时间,并且所述分段开始时间为大约所识别的分段将要开始被呈现的时间;以及确定所述分段流时间最多等于所述前置时间。

13.如权利要求8所述的系统,其中,所述处理器进一步被配置为:确定所识别的分段的分段大小;

确定所述第三质量的所识别的分段的第一数据大小;

确定所识别的分段的分段开始时间;

确定第一时间,所述第一时间为在当前时间或晚于所述当前时间且早于所述分段开始时间的时间;

基于所述可用带宽以及所述分段开始时间和所述第一时间之差确定第一数量;

确定所识别的分段的分段持续时间;

基于所述容量带宽和所述分段持续时间确定第二数量;以及确定所述第一数量和所述第二数量之和至少等于所述分段大小。

说明书 :

流式传输媒体

背景技术

[0001] 流式传输连接可能不具有足够的带宽来可靠地以高质量流式传输媒体(视频、电影、歌曲等等)。同样的连接可具有多于足够的带宽来以较低质量流式传输媒体。实际带宽容量和所需以较低质量流式传输的较低带宽量之差会不被使用到,因此未充分利用所述连接。

发明内容

[0002] 根据所公开的主题的实现,流式传输连接的容量带宽和流式传输带宽可被确定。流式传输带宽可以小于容量带宽。流式传输带宽可被用于在流式传输连接上以第一质量提供媒体。
[0003] 根据所公开的主题的实现,流式传输连接的容量带宽和流式传输带宽可被确定。流式传输带宽可以小于容量带宽。流式传输带宽可被用于在流式传输连接上以第一质量提供媒体。
[0004] 媒体可包括多个分段。分段中的至少一些可以具有至少一个分段特性。流式传输连接的可用带宽可被确定。可用带宽可以是基于容量带宽和流式传输带宽之差。
[0005] 分段可以从多个分段中被识别。识别的分段可具有大于第一质量的第二质量。实现可以确定识别的分段可以至少以第三质量被及时发送以被呈现。基于所述确定识别的分段可以至少以第三质量被及时发送以被呈现,实现可以在流式传输连接上发送识别的分段。
[0006] 根据本公开的系统和技术允许在有限的带宽连接上智能地以较高质量流式传输媒体的部分。附加的特性、优点、以及所公开主题的实现可被阐述或从以下的具体实施方式、附图和权利要求的考虑显而易见的。
[0007] 另外,应该理解的是,前述的发明内容和以下的具体实施方式包括示例并且意在提供进一步的解释,而不限制权利要求的范围。

附图说明

[0008] 被包括以提供对所公开主题的进一步理解的附图被并入说明书并组成本说明书的一部分。附图还图示了所公开主题的实现以及用于解释所公开主题的实现原理的具体实施方式。不试图示出用于比所公开主题的基本理解所必需的更加细节的结构细节以及可被实行的多种方法。
[0009] 图1示出了根据所公开主题的实现的一种计算机;
[0010] 图2示出了根据所公开主题的实现的一种网络配置;
[0011] 图3示出了根据所公开主题的实现的一种方法。

具体实施方式

[0012] 当到接收者的连接的带宽特别有限以致于不能以这么高的质量流式传输全部内容时,所公开的主题的实现可以选择性地将内容的一个或多个片段以较高的质量流式传输。内容的一部分可被以较低的质量流式传输,从而留下可用于将可在接受者端被缓存的较高质量的内容“预流式传输”(缓存)的带宽的一部分。当较高质量的内容将要被呈现时,可将所述内容中的一些或所有从缓存中拉取出来以用于呈现。如果内容中只有部分被拉取,则接下来剩下的可以通过所述连接被实时流式传输到接收者。
[0013] 例如,在实现中,到用户的信道带宽为3Mb/s。内容可被以360p的质量流式传输,其只需要1.5Mb/s。以720p的质量流式传输需要4Mb/s。实现可以基于多种准则将评分分配给内容的片段。例如,评分可以指示优先级顺序,其中片段应按所述优先级顺序以给定的较高质量被发送给接收者,诸如720p。评分还可以指示质量等级,片段应以所述质量等级被发送,诸如评分为1、2或3,其中1=320p、2=720p并且3=1080p。
[0014] 实现可以使用1.5Mb/s带宽将内容中的一些以320p流式传输给接收者。使用未被使用的1.5Mb/s部分的带宽,可以使用优先级评分来选择片段并将数据从所述片段发送至缓存,在那个片段将要被呈现之前至少有一些在接收者处。在片段将要被呈现时,片段数据中的一些或全部可从接收者处的缓存中被拉取出来并且以720p播放给用户。因此,实现可以自动地流式传输较高质量内容,这么做十分重要。内容中剩下的部分可以以较低质量被查看,例如,360p。
[0015] 片段可以根据多种准则被评分。例如,基于用户共享的一段媒体,评分可以更高。关于媒体的共享片段的这种数据可以从服务器日志中得到。对于单一用户或在一个用户群组当中被共享最多的片段,给定片段的评分可以更高。被共享较少的片段可以具有较低的评分。例如基于独立用户的查看历史,可以因此为独立用户生成被评分片段的集合。同样地,可以基于很多用户的行为生成被评分片段的更通用的集合。被评分片段可包括片段开始和片段结束指示以及至少一个评分。
[0016] 在实现中,包含较快音乐或较多运动(在视频中)的媒体的片段可被分配比具有较慢音乐或较少运动的媒体更高的分数。这可以使包含诸如标题画面和制作人员名单的内容的片段的评分降级,用户可忍受以较低质量观看。但是,动作序列可被以较高质量呈现。
[0017] 对于包含在各种片段中的大量不同的颜色的视频,可以分析视频。具有较多颜色的片段可以比具有较少数目颜色的片段接收更高的评分。因此,制作人员名单将被降级并且具有丰富的颜色调色板的片段将被晋级。对于音频来说,具有较高音量、音符改变的音符或语速的多样性的片段可以在不具有这些特征的片段间被晋级。
[0018] 实现可以确定可用的质量以及流式传输他们所需的带宽。例如,
[0019]
[0020] 实现可以确定接收者的(用户的)现有带宽和可接受的最低质量。如果最低流式传输速度不是可用于将被流式传输的媒体的最高质量,则可以从服务器检索被评分片段的记录。被评分片段的记录可以包括,例如,片段起始时间戳、片段结束时间戳和片段的评分。
[0021] 从最高评分片段开始,实现可以确定在片段将要被呈现给用户之前缓存片段需要花费多少时间。所述时间可以基于用户的当前带宽以及以可接受的最小质量流式传输媒体所需要的带宽之差。如果有足够的时间将足够的片段流式传输至缓存,则实现将选择片段并将片段数据发送至用户以被缓存。如果没有足够的时间,则实现将对于下一个最高评分片段做出相同确定。这可对更多的片段重复。
[0022] 目前公开主题的实现可被实现在多种组件和网络体系结构中并与其一起使用。图1是适合于实现目前公开主题的实现的示例计算机20。计算机20包括诸如中央处理器24这样的将计算机20的主要组件相互连接的总线21、存储器27(典型地RAM,但其也可包括ROM、闪速ROM等等)、输入/输出控制器28、用户显示器22(诸如经由显示适配器的显示器或触摸屏)、用户输入接口26(其可包括一个或多个控制器以及关联的用户输入件或设备,诸如键盘、鼠标、WiFi/蜂窝式移动电话台、触摸屏、麦克风/扬声器等等,并且可被紧密耦合至I/O控制器28、固定储存器23,诸如硬盘驱动器、快闪存储、光纤通道网络、SAN设备、SCSI设备等等)、以及可操作成控制和接收光盘、闪存盘等等的可拆卸媒体组件25。
[0023] 总线21允许在中央处理器24和存储器27之间的数据通信,其可包括只读存储器ROM或闪速存储器(均未示出)以及随机存取存储器(RAM)(未示出),如前面记录的。RAM可包括可以负荷操作系统和应用程序的主存储器。除了别的代码,ROM或闪速存储器可包括控制基本硬件操作的基本输入输出系统(BIOS),其控制诸如与外围组件交互的基本硬件操作。贮存在计算机20的应用可被存储在计算机可读介质上并可经由所述计算机可读介质存取,诸如硬盘驱动器(例如,固定储存器23)、光盘驱动器、软盘、或其他存储介质25。
[0024] 固定储存器23可以是与计算机20一体的或可以分开并通过其他接口存取。网络接口29可经由电话链路提供到远程服务器的直接连接,经由互联网服务提供商(ISP)提供到互联网的直接连接,或经由经由POP(入网点)或其他技术到互联网的直接网络链接到远程服务器的直接连接。网络接口29可使用无线技术提供这种连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等等。例如,如图2所示,网络接口29可允许计算机经由一个或多个本地、广域、或其他网络与其他计算机通信。
[0025] 很多其他设备或组件(未示出)可以类似的方式被连接(例如,文档扫描仪、数码相机等等)。相反地,图1中所示的所有组件不需要被呈现来实行本公开。组件可被以那个示出中的不同方式互相连接。诸如图1中示出的计算机的操作在本领域是已知的并且在该申请中不详细探讨。用来实现本公开的代码可以被存储在诸如存储器27、固定储存器23、可拆卸介质25中的一个或多个的计算机可读存储介质中,或可以被存储在远程存储位置上。
[0026] 图2示出了根据公开的主题的实现的示例网络布置。诸如本地计算机、智能电话、平板计算设备等等的一个或多个客户端10、11可经由一个或多个网络7连接至其他设备。所述网络可以是本地网络、广域网络、互联网、或任何其他合适的通信网络或网络,并且可以在包括有线和/或无线网络的任何合适的平台上被实现。客户端可与一个或多个服务器13和/或数据库15通信。设备可以被客户端10、11直接可访问,或者一个或多个其他设备可提供中介访问,诸如其中服务器13提供至存储在数据库15中的资源的访问。客户端10、11还可以访问远程平台17或由远程平台17提供的服务,诸如云计算布置和服务。远程平台17可包括一个或多个服务器13和/或数据库15。
[0027] 一般而言,目前公开主题的多种实现可包括或以可以由计算机实现的过程和用于实现那些过程的设备的形式被实现。实现也可以具有包含指令的计算机程序代码的计算机程序产品的形式被实现,所述计算机程序指令被实现在永久的和/或可触介质中,诸如软式磁碟片、CD-ROM、硬盘驱动器、USB(通用串行总线)驱动器、或任何其他机器可读存储介质,其中,当计算机程序代码被加载进计算机中并由计算机执行的时候,计算机成为用于实行所公开主题的实现的装置。实现还可以以计算机程序代码的形式被实现,例如,无论被存储在存储介质中,被加载进计算机中和/或被计算机执行,或通过某种传输介质被传输,诸如通过电线或电缆、通过光钎、或经由电磁辐射,其中,当计算机程序代码被加载进计算机中并由计算机执行的时候,计算机成为用于实行所公开主题的实现的装置。当在通用微处理器上实现时,计算机程序代码片段配置微处理器以创建特定逻辑电路。在一些配置中,存储在计算机可读存储介质上的计算机可读指令集可以通过通用处理器被实现,其可以将通用处理器或包含通用处理器的设备转变成配置为实施或执行所述指令的专用设备。实现可以使用可包括处理器的硬件来实现,诸如根据所公开主题的实现在硬件和/或固件中实现全部或部分技术的通用微处理器和/或专用集成电路(ASIC)。所述处理器可与存储器耦合,诸如RAM、ROM、闪速存储器、硬盘或能够存储电子信息的任何其他设备。存储器可存储适于被处理器执行从而执行根据所公开主题的实现的技术的指令。
[0028] 如图3中所示,实现可确定流式传输连接的容量带宽,步骤301。容量可以是固定的或者随时间可变的。实现可以确定连接的实际的或者估计的最小容量带宽。流式传输带宽也可以被确定,步骤302。流式传输带宽可以表示容量带宽的部分,其可被用于通过流式传输连接流式传输具有最小质量的媒体。例如,容量带宽可以是3Mb/s而流式传输带宽可以是1.5Mb/s从而以360p的最小质量流式传输媒体。媒体可包括可用于将以不同质量等级被流式传输的数个分段。例如,对于所有分段的默认流式传输质量可以是360p。一些分段可具有
720p的优选流式传输质量。每个分段可以具有一个或多个分段特性,诸如质量属性、分段优先级、分段大小、分段开始时间、分段位置数据(分段在哪里、什么时候或如何出现在媒体中)等等。分段位置可以包括分段开始时间、分段结束时间、分段持续时间、分段开始帧、分段结束帧、分段开始帧数、和分段结束帧数等等。实现还可以包括流式传输质量优先级,例如,最高优先级=720p,第二优先级=1080p,第三优先级=360p。质量属性可以包括图片帧维度、像素计数、像素率、位计数、比特率、视频模式等等。
[0029] 实现可基于容量带宽和流式传输带宽之差来确定流式传输连接的可用带宽,步骤303。可用带宽可被用于将较高质量分段预流式传输给接收者来缓存。
[0030] 实现可从呈现在媒体中的多个分段当中识别分段,并确定,步骤304,识别的分段具有大于媒体的最小或默认质量的质量,步骤305。例如,分段可以被识别出指定高于媒体的默认的360p质量的1080p的质量。实现可确定识别的分段可以被及时地发送从而以指定的较高质量被呈现,或者以不同于默认质量的另一个质量,步骤306。例如,实现可确定识别的分段可以被及时地发送从而不以分段最优选的质量(例如,1080p),而以中间质量(例如,720p)被呈现。基于这种确定,实现可以通过流式传输连接以适当的质量发送识别的分段,例如,有时间将分段及时发送给用户的质量,以将其呈现在当其被播放时出现在媒体的地方,步骤307。
[0031] 在实现中,只要在呈现时间期间存在可用于流式传输余下的分段数据的足够带宽时,在开始时间之前预流式传输和缓存一些(但并不一定是全部)分段可以被接纳。实现可以确定以较高质量识别的分段的大小、以及识别的分段开始时间。实现可以基于在当前时间或晚于当前时间但早于分段开始时间的时间确定前置时间。前置时间可以是周期的持续时间,在此期间识别的分段的数据可在接收者处被预流式传输和缓存。基于可用带宽和前置时间的持续时间,所述实现可以计算分段中的多少可以在前置时间期间在接收者处被预流式传输和缓存。例如,如果可用带宽是1.3Mb/s并且前置时间是120秒,则156Mb的分段可以在前置时间期间被预流式传输和缓存。所述实现还可以例如基于容量带宽计算分段中的多少可以在呈现时间期间被流式传输。例如,如果容量带宽是3.2MB/s并且分段的持续时间是9秒,则可被流式传输的分段量是28.8Mb。如果较高质量的分段的总大小小于预流式传输量的总和以及在呈现时间期间可以被流式传输的量(例如,在此示例中的分段是120Mb),则所述实现可以继续以较高质量预流式传输和流式传输分段。如果较高质量的分段的总大小大于这个总和(例如,180Mb),则可能没有足够的带宽和时间以较高质量预流式传输和流式传输分段,并且所述实现可能以较低质量将其流式传输。在那种情况下,所述实现可识别下一个最高优先级分段并在那个分段上重复这个分析以确定其是否可以以较高质量被预流式传输和流式传输。
[0032] 出于说明的目的,参照特定实现描述了前面的描述。但是,以上说明性的论述并不意在将所公开主题的实现详尽的或限制于公开的精确形式。考虑到以上教导,多种修改和改变都是可能的。所述实现被选择和描述以便解释所公开主题的实现的原理和它们的实际应用,以从而使得本领域其他技术人员能够利用那些实现以及作为可适合于特定的使用计划的带有各种修改的各种实现。