一种媒体内容在线适配方法及装置的制作方法

文档序号:7909285阅读:165来源:国知局
专利名称:一种媒体内容在线适配方法及装置的制作方法
技术领域
本发明涉及流媒体技术领域,尤其涉及一种媒体内容在线适配方法及装置。
背景技术
随着网络通信和多媒体技术的发展,流媒体技术的应用也日益广泛。所谓流媒体是指采用流式传输的方式在因特网与内联网播放的媒体格式。通过流媒体技术,可以为用户提供一种在线播放服务,客户端无需等到多媒体文件全部下载完成后就可以进行在线观看,这样给用户带来了很大的方便。由于媒体内容格式的不断增加,同时用户的网络连接、终端设备的不同(例如,手机,个人PC机等),为满足用户需求和适应带宽变化,内容提供商往往需要提供相同媒体内容的不同版本,并且根据网络带宽变化,用户终端的不同,对媒体内容进行码率、分辨率等方面的适配。具体实现时,这种相同媒体内容的不同版本可以是预先存储的,但是,这种预先存储的方式的缺点在于,需要更多的存储资源来来保存不同码率/分辨率的媒体内容副本, 存储成本较高,同时对于网络带宽、终端设备的变化的适应能力有限。为了更好地适应不同的用户接入网络环境,现有技术可以采用在线生成不同码率 /分辨率的媒体内容副本的方式,例如,可以在边缘节点上通过在线适配的方式生成用户所需质量的媒体内容,从而实现平滑的质量变化。但是,这种在线适配的方式需要在线对媒体内容进行适配处理,并且这种适配处理通常是在接收到用户请求之后触发的,获取到符合要求的媒体内容之后,再向用户返回响应,显然,这种适配处理所需的时间会增加用户请求的响应延迟。例如,在某次用户请求中,请求的媒体内容为时长为2秒、速率为5121ApS的分片,则在现有技术的方法中,需要在接收到用户请求之后,首先查询缓存中是否有与用户请求相适应的媒体内容,如果没有,需要向原始服务器请求相应的媒体内容,或者,将缓存中的媒体内容进行转码处理,然后再向用户返回响应。而无论如何,都会对用户请求的响应造成延迟。

发明内容
本发明实施例提供了一种媒体内容在线适配方法及装置,能够降低在线适配处理对用户请求造成的响应延迟。本发明提供了如下方案一种媒体内容在线适配方法,包括在非首次用户请求到达之前,预测用户需要的媒体内容;获取所述预测出的用户需要的媒体内容;当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。一种媒体内容在线适配装置,包括CN 102217278 A
说明书
2/7页预测单元,用于在非首次用户请求到达之前,预测用户需要的媒体内容;获取单元,用于获取所述预测出的用户需要的媒体内容;响应单元,用于当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。通过本发明实施例,可以在用户请求到来之前,对用户需要的媒体内容进行预测, 如果预测准确,则可以直接向用户返回针对该用户请求的响应。显然,相对于在接收到用户请求之后再准备相应的媒体内容的方式相比,可以大大降低用户请求的响应延迟。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的方法的流程图;图2是本发明实施例提供的选择获取媒体内容方式的方法的流程图;图3是本发明实施例提供的装置的示意图;图4是本发明实施例提供的另一装置的流程图;图5是本发明实施例提供的装置中获取单元的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。参见图1,本发明实施例提供的媒体内容在线适配方法包括以下步骤SlOl 在非首次用户请求到达之前,预测用户需要的媒体内容;S102 获取所述预测出的用户需要的媒体内容;S103:当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。首先需要说明的是,在播放同一个媒体文件的过程中,客户端通常需要多次向媒体服务器发送用户请求,每次请求发送媒体文件的一部分内容。其中,用户每次请求的一部分媒体内容称为媒体文件的一个分片,换言之,客户端每次请求媒体文件的一个分片。客户端在发送用户请求时,会携带请求的分片的比特率、码率或者分辨率等信息,服务器需要针对用户请求返回相应比特率的媒体内容。针对首次接收到的播放某媒体文件的用户请求,服务器可以首先准备相应的媒体内容,然后向用户返回响应。在返回该响应的同时,第二个用户请求到来之前,就可以对第二个用户请求需要的媒体内容进行预测,并获取预测出的媒体内容,这样,当第二个用户请求到来之后,就可以将预测出的媒体内容的参数(为方便描述,下面均以比特率为例进行介绍),与第二个用户请求中携带的媒体内容的比特率进行比较,如果相同,则证明预测准确,并直接利用已经获取到的预测出的媒体内容返回针对第二个用户请求的响应信息即可。在针对第二个用户请求返回响应信息的同时,又可以对第三个用户请求需要的媒体内容进行预测,并获取预测出的媒体内容,这样,当第三个用户请求到来之后,就可以将预测出的媒体内容的比特率,与第三个用户请求中携带的媒体内容的比特率进行比较,如果相同,直接利用已经获取到的预测出的媒体内容返回针对第三个用户请求的响应信息,以此类推。换言之,在本发明实施例中,除了首次接收到的用户请求之外,都可以在用户请求到来之前,对用户需要的媒体内容进行预测,如果预测准确,则可以直接向用户返回针对该请求的响应。显然,相对于在接收到用户请求之后再准备相应的媒体内容的方式相比,可以大大降低用户请求的响应延迟。当然,如果当某用户请求到来时,发现针对该用户请求预测出的媒体内容的比特率,与用户请求中实际携带的媒体内容的比特率不同,则可以重新准备与用户请求中实际携带的媒体内容的比特率相匹配的媒体内容,然后再针对该用户请求返回响应,同时,对下一个用户请求中需要的媒体内容进行预测。下面介绍如何预测用户需要的媒体内容。为了便于理解,首先对媒体文件及其比特率进行简单的介绍。在流媒体技术应用中,客户端接收到媒体内容进行解码播放,播放的流畅度与客户端的状态(包括带宽、软硬件配置及网络链路状况等)以及传输媒体内容时采用的比特率有关。对于相同的比特率而言,如果客户端的状态不同,则在客户端上播放出的媒体文件的流畅度是不同的。换言之,从播放流畅程度的角度出发,在保证播放流畅的前提下,不同的客户端状态能够接收比特率的能力是不同的。当实际的比特率超过客户端当前状态能够承受的最大比特率时,客户端就可能出现播放不流畅的现象。当然,比特率也不是越小越好,因为比特率的降低通常是以减少单位时间内传输的信息量为代价的,这对于客户端而言,就意味着视频的清晰程度、分辨率或者音频的播放质量的下降。可见,如果能够根据客户端的具体状况,综合考虑播放的流畅度以及清晰度等因素,选择较为合适的比特率,则对于客户端而言,可以得到更高品质的播放效果。因此,在本发明实施例中,可以根据当前的网络带宽条件和/或用户播放器的虚拟缓冲区状况,对下一个用户请求中用户需要的媒体内容进行预测。实际应用中,可以根据经验或者其他手段,建立网络带宽条件和/或用户播放器的虚拟缓冲区状况,与媒体内容的比特率的对应关系。具体预测时,可以首先获取当前的网络带宽条件和/或用户播放器的虚拟缓冲区状况,然后根据预先建立的对应关系,获取对应的媒体内容的比特率,将其作为预测出的用户需要的媒体内容的比特率即可。其中,关于当前的网络带宽条件及用户播放器的虚拟缓冲区状况,可以是由客户端主动上报给服务器的,也可以通过单独一套机制去获取当前的网络带宽条件及用户播放器的虚拟缓冲区状况信息。当然,上述对用户需要的媒体内容进行预测的方法并不是唯一的,在实际应用中, 还可以使用其他的方法进行预测。例如,可以根据用户当前以及之前请求的媒体内容的情况进行预测,即,从历史用户请求中,获取用户需要的媒体内容的规律,利用该规律对下一用户请求中用户需要的媒体内容进行预测。在预测出用户需要的媒体内容的比特率之后,就可以预先准备相应的媒体内容。 具体在获取预测出的用户需要的媒体内容时,可以首先在服务器的缓存中查询,如果此前已经有用户请求过该部分媒体内容,并且尚未被删除或者尚未被其它内容替换,则服务器的缓存中就已经存储有这部分媒体内容。此时,相当于缓存中存在符合要求的媒体内容,在接收到用户请求之后,如果预测的结果与用户请求的媒体内容的比特率相同,则直接从缓存中取出这部分媒体内容作为用户的响应返回给用户即可。如果经过查询发现缓存中不存在与预测出的媒体内容相匹配的媒体内容,则可以采用向上级服务器请求的方式,或者采用对缓存中存在的媒体内容进行转码的方式,来获取预测出的用户需要的媒体内容。其中,采用向上级服务器请求的方式,相当于是向媒体内容所在的原始服务器进行请求,在原始服务器中存有同一媒体内容的多个副本,每个副本中,内容相同,但是具有不同的比特率;当预测出需要具有某比特率的某分片时,就可以向原始服务器请求该比特率的该分片,原始服务器会将相应的分片返回。采用对缓存中存在的媒体内容进行转码的方式,相当于当预测出需要具有某比特率的某分片时,缓存中不存在该比特率的该分片,但是具有其他比特率的该分片,此时,可以通过转码操作,将其他比特率转换为需要的比特率,从而得到所需的媒体内容。这里需要说明的是,对于同一媒体文件而言,具有的分片数目及分片大小通常是由服务器预先确定好的,并且每一分片具有各自的分片标识。对于同一媒体文件的不同比特率的副本而言,各个副本之间的分片方式是相同的,并且各个分片的分片标识也是都对应的。例如,某媒体文件具有三个副本副本A、副本B、副本C,每个副本中有M个分片,每
个副本中各分片的分片标识都为1、2、3......M,则三个副本中分片标识相同的分片对应的
内容是相同的,也就是说,在客户端播放这三个副本中相同分片标识的分片时(假设都能够流畅播放的前提下),用户看到的内容是相同的,只是清晰度会有所差别。客户端在发送用户请求时,除了携带分片的比特率以外,还会携带分片的分片标识;而媒体文件的各个分片是顺序排列的,因此,对于预测下一个用户请求需要的媒体内容而言,只需要预测其需要的比特率,对于分片标识,只需要在当前用户请求中的分片标识的基础上取下一分片即可。例如,假设当前请求的是分片标识为2的分片,该分片的下一分片的分片标识为3,则下一用户请求的分片标识应该为3 ;并且预测出下一用户请求需要的分片的比特率为5121ApS,则服务器就可以在缓存中查找分片标识为3的分片中,是否存在比特率为 512kbps的分片,如果不存在,就可以向上级服务器请求分片标识为3、比特率为5121ApS的分片,或者,将缓存中存在的其他比特率的分片标识为3的分片进行转码,转换为比特率为 512kbps的分片。具体实现时,可以选择上述任意种方式获取预测出的用户需要的媒体内容,当然, 为了能够进一步降低对用户请求的响应延迟,在本发明实施例中,还可以根据缓存中是否已经存在相同内容但不同比特率的分片、转码延迟、向上级服务器请求的请求延迟、转码负载情况、用户等级等因素,来确定是采用向上级服务器请求的方式,还是采用对所述缓存中存在的媒体内容进行转码的方式,获取预测出的用户需要的媒体内容。具体的,如果缓存中存在比预测出的用户需要的媒体内容的比特率高的媒体内容,用户的等级为可以转码,并且从缓存中存在的高比特率的媒体内容转码为预测出的用户需要的媒体内容的转码延迟,小于向上级服务器请求的延迟,则采用对缓存中存在的媒体内容进行转码的方式,获取预测出的用户需要的媒体内容;否则,采用向上级服务器请求的方式,获取预测出的用户需要的媒体内容。例如,当前请求的分片的下一分片的分片标识为3,并且根据网络带宽条件及用户播放器的虚拟缓冲区状况等,预测出下一个用户请求需要的媒体内容的比特率为5121ApS, 则获取预测出的用户需要的媒体内容的步骤可以如图2所示S201 判断缓存中是否有分片标识为3、比特率为5121ApS的媒体内容存在,如果有,则结束获取流程,否则,进入步骤S202 ;S202 判断缓存中是否有分片标识为3、比特率高于5121ApS的媒体内容存在,如果有,则进入步骤S203,否则进入步骤S208 ;如前文所述,比特率的降低通常是以减少单位时间内传输的信息量为代价的,也就是说,低比特率的媒体内容相对于高比特率的媒体内容而言,单位时间内传输的信息量会比较少,因此,对于相同内容的分片而言,从高比特率向低比特率转换相对比较容易,只要将高比特率的媒体内容中删除一些信息即可;否则,如果是从低比特率向高比特率进行转换,则可能意味着需要进行信息的还原等操作,相对比较复杂。因此,为了进一步降低对用户请求的响应延迟,可以仅当缓存中存在高于预测出的比特率的媒体内容的情况,才可能进行从高比特率向低比特率的转换,即采用将缓存中存在的其他比特率的媒体内容进行转换的方式,获取预测出的用户需要的媒体内容,否则,选择从上级服务器请求的方式获取预测出的用户需要的媒体内容。S203 判断用户的等级是否可以转码,如果可以,进入步骤S204,否则,进入步骤 S208 ;S204:根据平均转码延迟、当前的转码负载情况计算从某高比特率转码得到 512kbps的分片所需的转码延迟;当前的转码负载是指转码器的转码负载,由于服务器可能同时向多个用户提供流媒体服务,因此,转码器可能同时进行多个转码进程,当转码负载较高时,完成新的转码任务所需的时间就会比较长。S205 判断转码延迟是否小于向上级服务器请求所需的延迟,如果小于,则进入步骤S206,否则进入步骤S208 ;S206 向转码器提交转码任务;例如,缓存中存在的高比特率的媒体内容的比特率为lmbps,则向转码器提交的转码任务为将分片标识为3、比特率为Imbps的媒体内容,转码为比特率为5121ApS的媒体内容。S207 转码器将转码后的媒体内容写入到服务器的缓存;S208 向上级服务器请求分片标识为3、比特率为5121cbpS的媒体内容。当然,上述选择获取媒体内容的方式也不是唯一的,实际应用中还可以采用系统方式。例如,首先查询缓存中是否已经存储预测出的媒体内容,如果没有存储,则查询上级服务器是否存储有该媒体内容,若已经存储则从上级服务器获取;若预测出的媒体内容也没有在上级服务器存储,则查询缓存中是否有合适的媒体内容进行转码,以及转码器是否具有能力进行转码,如果条件满足则进行转码。需要说明的是,对于缓存中对媒体内容的存储情况,缓存管理系统可以根据一定的缓存管理策略,决定是否在缓存中存储转码后的媒体内容或从上级内容服务器获取的媒体内容。具体的缓存管理策略并不是本发明的重点,因此不再赘述。与本发明实施例提供的媒体内容在线适配方法相对应,本发明实施例还提供了一种媒体内容在线适配装置,参见图3,该装置包括预测单元301,用于在非首次用户请求到达之前,预测用户需要的媒体内容;获取单元302,用于获取所述预测出的用户需要的媒体内容;响应单元303,用于当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。其中,预测单元301具体用于根据网络带宽条件和/或用户播放器的虚拟缓冲区状况,预测用户需要的媒体内容。具体实现时,参见图4,获取单元302可以包括查询子单元3021,用于从缓存中查询出与所述预测出的用户需要的媒体内容匹配的媒体内容。请求子单元3022,用于缓存中不存在与所述预测出的用户需要的媒体内容匹配的媒体内容时,采用向上级服务器请求的方式,获取所述预测出的用户需要的媒体内容;或者,转码子单元3023,用于缓存中不存在与所述预测出的用户需要的媒体内容匹配的媒体内容时,采用对所述缓存中存在的媒体内容进行转码的方式,获取所述预测出的用户需要的媒体内容。实际应用中,获取单元302还可以包括选择子单元30M,用于根据缓存中是否已经存在相同内容但不同比特率的分片、 转码延迟、向上级服务器请求的请求延迟、转码负载情况和/或用户等级,确定获取所述预测出的用户需要的媒体内容的方式。参见图5,选择子单元30M可以包括第一判断子单元30M1,用于判断缓存中是否存在比所述预测出的用户需要的媒体内容的比特率高的媒体内容;如果不存在,则可以采用向上级服务器请求的方式获取预测出的用户需要的媒体内容;第二判断子单元30M2,用于如果所述第一判断子单元的判断结果为是,则判断用户的等级是否可以转码;如果不可以,则可以采用向上级服务器请求的方式获取预测出的用户需要的媒体内容;第三判断子单元30M3,用于如果所述第二判断子单元的判断结果为是,则判断从所述缓存中存在的高比特率的媒体内容转码为所述预测出的用户需要的媒体内容的转码延迟,是否小于向上级服务器请求的延迟;如果不小于,则可以采用向上级服务器请求的方式获取预测出的用户需要的媒体内容;转码确定子单元30M4,用于如果所述第三判断子单元的判断结果为是,则采用所述对所述缓存中存在的媒体内容进行转码的方式,获取所述预测出的用户需要的媒体内容。通过本发明实施例,可以在非首次用户请求到来之前,对用户需要的媒体内容进行预测,如果预测准确,则可以直接向用户返回针对该用户请求的响应。显然,相对于在接收到用户请求之后再准备相应的媒体内容的方式相比,可以大大降低用户请求的响应延迟。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,包括如下步骤在非首次用户请求到达之前,预测用户需要的媒体内容; 获取所述预测出的用户需要的媒体内容;当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。所述的存储介质,如ROM/RAM、磁碟、光盘等。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种媒体内容在线适配方法,其特征在于,包括在非首次用户请求到达之前,预测用户需要的媒体内容;获取所述预测出的用户需要的媒体内容;当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。
2.根据权利要求1所述的方法,其特征在于,所述预测用户需要的媒体内容包括根据网络带宽条件和/或用户播放器的虚拟缓冲区状况,预测用户需要的媒体内容。
3.根据权利要求1所述的方法,其特征在于,所述获取所述预测出的用户需要的媒体内容包括从缓存中查询出与所述预测出的用户需要的媒体内容匹配的媒体内容。
4.根据权利要求3所述的方法,其特征在于,如果所述缓存中不存在与所述预测出的用户需要的媒体内容匹配的媒体内容,所述获取所述预测出的用户需要的媒体内容还包括采用向上级服务器请求的方式,获取所述预测出的用户需要的媒体内容;或者,采用对所述缓存中存在的媒体内容进行转码的方式,获取所述预测出的用户需要的媒体内容。
5.根据权利要求4所述的方法,其特征在于根据缓存中是否已经存在相同内容但不同比特率的分片、转码延迟、向上级服务器请求的请求延迟、转码负载情况和/或用户等级,确定获取所述预测出的用户需要的媒体内容的方式。
6.根据权利要求5所述的方法,其特征在于,所述确定获取所述预测出的用户需要的媒体内容的方式包括判断缓存中是否存在比所述预测出的用户需要的媒体内容的比特率高的媒体内容;如果是,判断用户的等级是否可以转码;如果可以,判断从所述缓存中存在的高比特率的媒体内容转码为所述预测出的用户需要的媒体内容的转码延迟,是否小于向上级服务器请求的延迟;如果小于,则采用所述对所述缓存中存在的媒体内容进行转码的方式,获取所述预测出的用户需要的媒体内容。
7.一种媒体内容在线适配装置,其特征在于,包括预测单元,用于在非首次用户请求到达之前,预测用户需要的媒体内容;获取单元,用于获取所述预测出的用户需要的媒体内容;响应单元,用于当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。
8.根据权利要求7所述的装置,其特征在于,所述预测单元具体用于根据网络带宽条件和/或用户播放器的虚拟缓冲区状况,预测用户需要的媒体内容。
9.根据权利要求7所述的装置,其特征在于,所述获取单元包括查询子单元,用于从缓存中查询出与所述预测出的用户需要的媒体内容匹配的媒体内
10.根据权利要求9所述的装置,其特征在于,所述获取单元包括请求子单元,用于所述缓存中不存在与所述预测出的用户需要的媒体内容匹配的媒体内容时,采用向上级服务器请求的方式,获取所述预测出的用户需要的媒体内容;或者,转码子单元,用于所述缓存中不存在与所述预测出的用户需要的媒体内容匹配的媒体内容时,采用对所述缓存中存在的媒体内容进行转码的方式,获取所述预测出的用户需要的媒体内容。
11.根据权利要求10所述的装置,其特征在于,所述获取单元还包括选择子单元,用于根据缓存中是否已经存在相同内容但不同比特率的分片、转码延迟、 向上级服务器请求的请求延迟、转码负载情况和/或用户等级,确定获取所述预测出的用户需要的媒体内容的方式。
12.根据权利要求11所述的装置,其特征在于,所述选择子单元包括第一判断子单元,用于判断缓存中是否存在比所述预测出的用户需要的媒体内容的比特率高的媒体内容;第二判断子单元,用于如果所述第一判断子单元的判断结果为是,则判断用户的等级是否可以转码;第三判断子单元,用于如果所述第二判断子单元的判断结果为是,则判断从所述缓存中存在的高比特率的媒体内容转码为所述预测出的用户需要的媒体内容的转码延迟,是否小于向上级服务器请求的延迟;转码确定子单元,用于如果所述第三判断子单元的判断结果为是,则采用所述对所述缓存中存在的媒体内容进行转码的方式,获取所述预测出的用户需要的媒体内容。
全文摘要
本发明公开了一种媒体内容在线适配方法及装置,其中,该方法包括在非首次用户请求到达之前,预测用户需要的媒体内容;获取所述预测出的用户需要的媒体内容;当所述用户请求到达时,如果用户实际请求的媒体内容与所述预测出的用户需要的媒体内容相同,则将所述获取到的媒体内容返回给用户。通过本发明,能够降低在线适配处理对用户请求造成的响应延迟。
文档编号H04L29/06GK102217278SQ201080004692
公开日2011年10月12日 申请日期2010年12月17日 优先权日2010年12月17日
发明者张鹏, 赵华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1