用于流传输数据的方法和装置与流程

文档序号:19735831发布日期:2020-01-18 04:27阅读:131来源:国知局
用于流传输数据的方法和装置与流程

本公开涉及用于流传输数据的方法、装置和计算机程序。



背景技术:

通信设备可以通过网络诸如通过流传输以音频和/或视频数据的形式接收媒体内容。术语流传输通常用于指示媒体内容由服务器通过网络提供给客户端通信设备(客户端通信设备可以是任何类型的用户计算设备,诸如移动或蜂窝电话、膝上型计算机、台式计算机、平板电脑、游戏控制台等)以基本上实时地回放。这可以与“下载”进行对比,在“下载”中,下载整个文件,以便例如以后可能使用。接收到的音频和/或视频数据可以被播出给用户,从而消耗音频和/或视频数据的内容。



技术实现要素:

根据本文公开的第一方面,提供了一种流传输数据的方法,该方法包括:通过网络接收包含音频和/或视频内容的数据段;将数据段存储在缓冲区中;在播出数据段之前确定网络具有以比当前存储在缓冲区中更高的质量提供数据段中的内容的能力;以及相比于请求具有较早相对播出时间的数据段的内容的更高质量版本,优先请求缓冲区中具有最新相对播出时间的一个或多个数据段的内容的更高质量版本。

该方法可以是计算机实现的方法。

该方法可以包括:确定用户已暂停播出存储在缓冲区中的数据段,其中响应于确定用户已暂停播出存储在缓冲区中的数据段,执行确定网络具有能力并且请求具有更高质量版本的数据段。

该方法可以包括:确定缓冲区中的数据段包括音频和/或视频流的结尾(end),其中响应于确定缓冲区中的数据段包括音频和/或视频流的结尾,执行确定网络具有能力并且请求具有更高质量版本的数据段。

该方法可以包括:通过将缓冲区中的数据段一起分组为最大尺寸的组来形成多个组,使得组中的每个数据段具有与组中的至少一个其它数据段的播出时间直接相邻的播出时间,其中所述请求包括请求具有最新相对播出时间的数据段的组的更高质量版本。

该方法可以包括:在缓冲区中接收内容的一部分的更高质量版本;确定内容的所述部分的播出将在内容的所述部分的更高质量版本被完全接收之前的播出时间发生;并且使得所述内容的较低质量的版本在所述播出时间被播出。

提供了一种包括计算机代码的计算机程序,该计算机代码在由计算机执行时使计算机执行如上所述的方法。

根据第二方面,提供了一种用于流传输数据的装置,该装置被构造和布置为:通过网络请求包含音频和/或视频内容的数据段;将数据段存储在缓冲区中;在播出数据段之前确定网络具有以比当前存储在缓冲区中更高的质量提供数据段中的内容的能力;以及相比于请求具有较早相对播出时间的数据段的内容的更高质量版本,优先请求缓冲区中具有最新相对播出时间的一个或多个数据段的内容的更高质量版本。

该装置可以被布置为响应于接收到用户已暂停播出数据段的指示来确定网络具有能力。

该装置可以被布置为:接收用户输入,该用户输入指示:针对应该相比于请求具有较早相对播出时间的数据段的更高质量版本优先请求具有最新相对播出时间的数据段,应该请求一个或多个数据段的更高质量版本。

该装置可以被布置为:请求包括在缓冲区中的第一数据段中的内容的更高质量版本;以及确定所述第一数据段的内容的播出将发生在更高质量版本被完全接收之前的播出时间;并且使得所述内容的较低质量的版本在所述播出时间被播出。

根据第三方面,提供了一种流传输数据的方法,该方法包括:通过网络发送包含音频和/或视频数据内容的数据段;接收相比于发送具有较早相对播出时间的数据段的内容的更高质量版本优先发送具有所发送内容的最新相对播出时间的一个或多个数据段的内容的更高质量版本的请求;并且发送具有最新相对播出时间的一个或多个数据段的内容的更高质量版本。

该方法可以是计算机实现的方法。

提供了一种包括计算机代码的计算机程序,该计算机代码在由计算机执行时使计算机执行如上所述的方法。

根据第四方面,提供了一种用于流传输数据的装置,该装置被构造和布置为:通过网络发送包含音频和/或视频数据内容的数据段;接收相比于发送具有较早相对播出时间的数据段的内容的更高质量版本优先发送具有所发送内容的最新相对播出时间的一个或多个数据段的内容的更高质量版本的请求;并且发送具有最新相对播出时间的一个或多个数据段的内容的更高质量版本。

附图说明

为了帮助理解本公开并示出实施例如何可以被实践,通过示例的方式参考附图,其中:

图1示意性地示出了示例通信设备;

图2示意性地示出了示例缓冲区状态;

图3是示出由接收流传输的音频和/或视频数据内容的数据段的装置进行的潜在操作的流程图;以及

图4是示出由发送流传输的音频和/或视频内容的数据段的装置进行的潜在操作的流程图。

具体实施方式

可以使用客户端/服务器模型通过网络将形成媒体内容的音频和/或视频(a/v)数据提供给通信设备。

在这样的模型中,服务器(其实际上可以是多个物理服务器)从充当客户端设备的通信设备接收对特定媒体内容的请求,并确定是否准予该请求。

服务器可以使用自适应流使用数据段来提供a/v内容。自适应流旨在适应流传输设备(即,客户端通信设备)正在使用的网络带宽来获得a/v内容,以便在任何时候都最大化接收数据的质量。服务器被配置为提供相同a/v内容的多个流,每个流具有与其它流不同的相应质量。与特定流相关联的质量可以取决于许多因素,包括媒体内容的分辨率和媒体内容的编码质量。因此,不同的流可以被视为以不同的比特率提供相同媒体内容的版本。

客户端可以根据例如客户端正在接收a/v内容的通信链路的质量以及根据通信设备的当前处理能力来确定a/v内容的优选质量(以及对应的流)。通信设备可以通过网络来请求优选流。然后,接收到的a/v内容可以在仍然接收流的同时被播出给用户。

在已知的布局中,当用户暂停播出a/v内容时,通信设备可以继续接收包括a/v内容的数据段并将其存储在缓冲区中。当已完成接收a/v内容时(例如,如果已接收到预定播出长度和/或已接收到所请求内容的结尾点),则可以从网络请求质量更好的流,并且通信设备可以使用提供更高质量的a/v内容(例如,以改进的编码/比特率)的数据段来重新缓冲a/v内容。

当用户恢复播出a/v内容时,可能没有接收到缓冲的a/v内容的所有更高质量版本。这导致在消费a/v内容时产生抖动,这将使用户的观看/收听体验中断。

为了解决这个问题,下面描述一种用于用具有更高质量版本的内容的数据段替换a/v内容的缓冲数据段的布局。特别地,替换缓冲区中的a/v数据段,使得缓冲区中被指定为最后要在流中被播出的a/v数据段(即,朝流传输的内容的结尾,或者流传输的内容中至少已经被接收到的部分)被首先升级,被指定为倒数第二个要播出的数据段的a/v数据段被其次升级,依此类推。因此,以“向后”方式升级a/v内容的质量,使得具有接近于暂停瞬间(即,在流传输的内容中出现得更早)的播出时间的数据段将被最后升级。

通过以向后的方式处理a/v数据段的质量升级,用户不太可能受到间歇性流升级处理的影响。

参考图1描述了示例客户端通信装置。

图1图示了通信设备101,其包括接收单元102、至少一个处理器103、包括计算机代码105的存储器104、缓冲区106和发送单元107。发送单元107和接收单元102可以利用至少一些相同的组件来执行它们各自的操作,或者可以利用不同的组件来执行它们各自的操作。计算机代码105可以包括用于流传输和回放内容(诸如音频和/或视频内容)的代码。

在操作中,通信设备101被配置为使用发送单元107向服务器(未示出)发送请求,该请求包括从服务器接收a/v内容的请求。

响应于该请求,通信设备101在接收单元102处通过通信链路(未示出)从网络接收a/v数据段(即,包括a/v内容的数据段)。通信链路可以是有线的或无线的,并且可以根据用于发送a/v数据段的任何合适的协议进行操作,包括例如互联网协议,使用例如用于将数据段流传输到通信设备101的实时流传输协议。以第一质量级别接收a/v数据段。取决于用于通过通信链路传输数据和在应用级别格式化a/v内容的协议,数据段可以作为分组(packet)、数据块和/或组块(chunk)接收。本文使用术语段来指代接收到的a/v内容的任何格式的单位。接收到的数据段被存储在缓冲区106中。

在某个时刻,通信设备可以停止接收媒体内容的数据段。这可以是临时的(例如,如果用户暂停流的播出)或“永久地”(例如,当已接收到整个内容时)。响应于此,通信设备可以因此确定网络具有提供比第一质量更高质量版本的a/v内容的能力。该确定也可以考虑从网络到客户端通信设备的通信链路的质量。

在这种情况下,通信设备可以被配置为确定接收到的a/v内容的数据段的相对播出时间(由于a/v内容的数据段可能被乱序地接收,因此接收时间与播出时间不相同)。播出时间是安排将a/v数据段中包括的媒体内容播出/呈现给用户的时间。通过确定相对播出时间,通信设备能够确定缓冲区中的哪个数据段被安排为最后播出、哪个数据段被安排为倒数第二个播出,等等。然后,当对更高质量的流的请求被发送到服务器时,通信设备可以请求以“反向”顺序接收更高质量的数据段,使得具有更高质量内容并且被安排最后播出的数据段(即,朝流传输的内容的结尾,或流传输的内容中至少已经被接收到的部分)被优先接收,而不是那些被安排较早播出的数据段(即,在流传输的内容中出现得较早)。可以经由通信设备上的可配置用户设置来控制通信设备是否请求以相反的顺序来接收更高质量的数据段。因此,通信设备可以被配置为从用户接收输入,该输入将通信设备配置为做出这种反向顺序下载的请求。

关于图2图示了上述机制。

图2描绘了在不同时间实例201-204处包含在缓冲区内的a/v数据流。每个数据流包括多个数据段200。贯穿每个时间实例201-204的垂直线205表示播出时间点,在该播出时间点,用户已暂停播出a/v数据流,其中时间沿着x轴增加。

在第一时刻201,已经播出了暂停点205的左手侧的数据段。在暂停点205的右手侧没有接收到的数据段。

在第二时刻202(在第一时刻之后),缓冲区已接收到与a/v流的剩余部分相关的数据段。因此,在暂停点205的左手侧和右手侧都有数据段。这些数据段被显示为以安排的播出时间布置,使得最后播出的数据段位于缓冲区的最右侧,并且在恢复媒体内容的播出之后首先被播出的数据段位于右手侧并紧挨着暂停点205。

在第三时刻203(在第一时刻和第二时刻之后),缓冲区正在升级缓冲区的最右侧的最后两个数据段206。换句话说,缓冲区正在升级接收到的被安排播出的最后两个数据段206。

在第四时刻204(在第一、第二和第三时刻之后),暂停点205的右手侧的所有数据段(棒上紧挨着暂停点205并在其后的前两个数据段207)已被升级。最先两个数据段207当前正在被升级。

因此,如该图所演示的,在用户在暂停点205暂停视频之后,数据流的缓冲可以继续,直到停止接收a/v数据段为止。此刻,内容流被升级(在来自通信设备的请求之后,使得被安排最后播出的数据段首先被升级,优先于那些被安排较早播出的数据段)。继续该处理,直到最后紧挨着暂停点之后要播出的数据段被播出。

从流的结尾而不是开头更新视频可以增强用户的观看体验,因为当用户决定继续观看a/v内容时,存在缓冲问题的可能性较小。但是,为了避免缓冲中断,可以将通信设备配置为将正在被升级的数据段保留在存储器中,并将该数据段标记为正在被升级。如果在继续播出之后,正在播出的a/v内容接近被标记的(一个或多个)数据段,则将从存储器中检索接收到的a/v数据段的原始较低质量版本,并将其作为流的一部分播出。

参考图3和图4的流程图描述客户端通信设备和服务器两者的潜在操作。

图3图示了客户端通信设备的潜在操作。

在301处,客户端通信设备被配置为通过网络接收包含a/v内容的数据段。接收到的a/v数据段可以以第一质量被发送。客户端通信设备可能已经请求了第一质量。接收到的a/v数据段可以是要向通信设备的用户播出的媒体内容流的一部分。可以经由可操作地连接到客户端通信设备的显示器和/或扬声器来播出该流。

在302处,客户端通信设备被配置为将数据段存储在缓冲区中。为此,缓冲区可操作地连接到客户端通信设备。

在303处,客户端通信设备被配置为在播出数据段之前确定网络具有以比当前存储在缓冲区中更高的第二质量来提供数据段中的内容的能力。第二质量高于第一质量。

在304处,客户端通信设备被配置为优先请求发送缓冲区中具有最新相对播出时间的一个或多个数据段的内容的更高质量版本,而不是请求发送具有相对较早播出时间的内容的更高质量版本。该请求可以经由网络被发送到服务器。响应于该请求,服务器可以优先发送具有最新/最后相对播出时间的具有更高质量版本的a/v内容的数据段,而不是发送包含具有较早相对播出时间的内容的那些数据段的更高质量版本。

参考图4描述服务器的操作。如前所述,服务器实际上可以是几个不同的服务器,它们可以协作交互以执行以下描述的机制。

在401处,服务器被配置为通过网络将包含a/v内容的数据段发送到通信设备。该发送可以是由于通信设备先前请求接收包含在a/v数据段内的内容。

在402处,服务器被配置为接收发送具有所发送的数据段的内容的更高质量版本的数据段的请求。该请求指示应当优先发送具有最新相对播出时间的一个或多个数据段的更高质量版本的内容,而不是发送具有较早相对播出时间的内容的更高质量版本的数据段。可以从客户端通信设备接收请求。

响应于该请求,在403处,服务器被配置为将具有最新相对播出时间的一个或多个数据段的更高质量版本发送到客户端通信设备。

虽然以上讨论了暂停(或以其它方式停止)a/v播出以便下载/请求接收到的a/v内容的更高质量版本,但是应该理解的是,这不是必需的。替代地,通信设备可以简单地确定它已经接收到所有相关的a/v数据段,并且能够在播出这些数据段之前接收到更高质量版本的接收到的a/v数据段。但是,当用户暂停和/或停止播出a/v内容时,本系统尤其有用,因为这为允许通过相对较差的连接接收大部分a/v数据流以及接收a/v内容的改进质量版本这两者提供更多的时间。

将理解的是,本文中所提及的处理器或处理系统或电路系统实际上可以由单个芯片或集成电路或多个芯片或集成电路提供,可选地作为芯片组、专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、图形处理单元(gpu)等提供。一个或多个芯片可以包括用于实施至少一个或多个数据处理器或一个或多个数字信号处理器的电路系统(以及可能的固件),这些数据处理器或数字信号处理器是可配置的,以便根据示例性实施例进行操作。在这方面,示例性实施例可以至少部分地由存储在(非暂态)存储器中并且可由处理器执行的计算机软件来实现,或者由硬件来实现,或者由有形存储的软件和硬件(以及有形存储的固件)的组合来实现。

本文参考用于存储数据的数据存储装置(例如上述缓冲区和存储器)。这可以由单个设备或多个设备提供。合适的设备包括例如硬盘和非易失性半导体存储器。

本文描述的示例将被理解为本发明的实施例的说明性示例。设想了其它实施例和示例。关于任何一个示例或实施例描述的任何特征可以被单独使用或与其它特征结合使用。此外,关于任何一个示例或实施例描述的任何特征也可以与任何其它示例或实施例的一个或多个特征或者任何其它示例或实施例的任何组合结合使用。此外,在权利要求书所限定的本发明的范围内,也可以采用本文未描述的等同物和修改。

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