掌桥专利:专业的专利平台
掌桥专利
首页

多媒体数据传输方法、装置、介质及设备

文献发布时间:2024-04-18 20:01:30


多媒体数据传输方法、装置、介质及设备

技术领域

本申请涉及电子通信技术领域,尤其涉及一种多媒体数据传输技术领域,特别涉及一种多媒体数据传输方法、装置、介质及设备。

背景技术

目前在实时视频传输应用场景中,为了让实时视频能够正常传输,通常要让待传输的实时视频满足预设的指标要求,主要的指标包含:延时(Delay)、画面(Picture)、音频(Audio)质量。实时视频在传输过程中会根据当前网络带宽选择画面分辨率、音频编码格式等参数。在网络顺畅的情况下,实时视频能够满足延时、画面、音频的指标要求,但是当网络突发拥塞(抖动)时,接收端(用户端)将无法正常收到待播放的视频数据,导致画面出现卡顿不连续的问题,影响用户的观看体验。

综上,需要一种更为简单有效的方法来避免在实时视频传输应用场景中可能由于当前网络较差导致接收端数据接收延迟,造成在用户端出现画面卡顿的问题。

发明内容

本申请实施例提供一种多媒体数据传输方法、装置、介质及设备。利用本申请实施例提供的多媒体数据传输方法,通过设定可接受的期望延迟,并实时计算送入缓冲区中已完成缓冲的多媒体数据对应的可播放时长,将可播放时长与期望延迟进行比较,根据比较结果决定是否对当前播放速度进行调速处理,具体是当当前缓冲区中可播放时长小于期望延迟时,说明当前网络存在传输异常,导致没有新增的缓冲数据进入缓冲区,此时通过降低当前可播放多媒体数据的播放速度能够避免出现画面卡顿。

本申请实施例一方面提供了一种多媒体数据传输方法,所述多媒体数据传输方法包括:

接收发送端传输的多媒体数据包;

将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;

实时计算缓冲区中多媒体数据对应的可播放时长;

当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在本申请实施例所述的多媒体数据传输方法中,当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度之前,还包括:

向所述发送端发送预设目标期望延时,以供所述发送端根据所述预设期望延时及自身数据处理能力进行协商,得到协商结果;

若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时;

若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时。

在本申请实施例所述的多媒体数据传输方法中,所述实时计算缓冲区中多媒体数据对应的可播放时长之后,还包括:

当所述可播放时长超过所述目标期望延时,提升所述缓冲区中的多媒体数据的所述第一播放速度。

在本申请实施例所述的多媒体数据传输方法中,所述降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度,包括:

将所述可播放时长及所述目标期望延时输入预设的播放速率调整算法,得到调整后的减速比例值;

根据所述减速比例值修改当前播放设备的第一播放速度以得到第二播放速度。

在本申请实施例所述的多媒体数据传输方法中,所述根据所述减速比例值修改所述第一播放速度以得到第二播放速度之后,还包括:

判断所述第二播放速度是否落入预设的可允许播放速度范围内;

若所述第二播放速度未落入所述可允许播放速度范围内,则将所述第二播放速度调整为第三播放速度,所述第三播放速度为所述可允许播放速度范围内与所述第二播放速度最接近的临界值。

在本申请实施例所述的多媒体数据传输方法中,所述根据所述减速比例值修改所述第一播放速度以得到第二播放速度之前,还包括:

计算所述第一播放速度与上一次的历史播放速度之间的差值;

判断所述差值的绝对值是否超过预设可允许波动范围;

对应地,所述根据所述减速比例值修改所述第一播放速度以得到第二播放速度,包括:

若超过所述可允许波动范围,则根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在本申请实施例所述的多媒体数据传输方法中,所述降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度之后,还包括:

获取当前的可播放时长及播放速度回传所述发送端;

分别计算预设周期内得到的平均可播放时长及平均播放速度,以供所述发送端定期分析判断是否调整待传输的多媒体数据的传输参数,所述传输参数包括多媒体帧率和多媒体码率。

相应的,本申请实施例另一方面还提供了一种多媒体数据传输方法,包括:

获取待传输的多媒体数据;

将所述待传输的多媒体数据包传输至接收端,以使得所述接收端将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长,在所述可播放时长不超过所述目标期望延时时,降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在本申请实施例所述的多媒体数据传输方法中,所述实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长之前,还包括:

接收所述接收端发送的预设目标期望延时,根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;

若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时,并将所述目标期望延时回传所述接收端;

若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时,并将所述目标期望延时回传所述接收端。

在本申请实施例所述的多媒体数据传输方法中,所述降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度之后,还包括:

接收所述接收端回传的平均可播放时长及平均播放速度,判断所述平均可播放时长是否落入预设的可允许延时范围内,得到第二判断结果;

若所述第二判断结果为平均可播放时长未落入可允许延时范围内,则进一步判断所述平均播放速度是否超过第一预设阈值,得到第三判断结果;

若所述第三判断结果为平均播放速度不超过所述第一预设阈值,则进一步将所述平均播放速度与上一次接收端回传的历史平均播放速度进行比较,判断是否呈递减趋势,若是则调整待传输的多媒体数据的传输参数。

在本申请实施例所述的多媒体数据传输方法中,所述得到第三判断结果之后,还包括:

若所述第三判断结果为所述平均可播放时长小于所述第二预设阈值,则将所述待传输的多媒体数据包丢弃,所述第二预设阈值小于所述第一预设阈值。

相应的,本申请实施例另一方面还提供了一种多媒体数据传输装置,所述多媒体数据传输装置包括:

数据接收模块,用于接收发送端传输的多媒体数据包;

数据缓冲模块,用于将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;

时长计算模块,用于实时计算缓冲区中多媒体数据对应的可播放时长;

第一调速模块,用于当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

相应的,本申请实施例另一方面还提供了数据获取模块,所述多媒体数据传输装置包括:

用于获取待传输的多媒体数据;

数据传输模块,用于将所述待传输的多媒体数据包传输至接收端将所述待传输的多媒体数据包传输至接收端,以使得所述接收端将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长,在所述可播放时长不超过所述目标期望延时时,降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

相应的,本申请实施例另一方面还提供了一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述的多媒体数据传输方法。

相应的,本申请实施例另一方面还提供了一种终端设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行如上所述的多媒体数据传输方法。

本申请实施例提供了一种多媒体数据传输方法、装置、介质及设备,该方法通过接收发送端传输的多媒体数据包;将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;实时计算缓冲区中多媒体数据对应的可播放时长;当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。利用本申请实施例提供的多媒体数据传输方法,通过设定可接受的期望延迟,并实时计算送入缓冲区中已完成缓冲的多媒体数据对应的可播放时长,将可播放时长与期望延迟进行比较,根据比较结果决定是否对当前播放速度进行调速处理,具体是当当前缓冲区中可播放时长小于期望延迟时,说明当前网络存在传输异常,导致没有新增的缓冲数据进入缓冲区,此时通过降低当前可播放多媒体数据的播放速度能够避免出现画面卡顿。

附图说明

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

图1为本申请实施例提供的多媒体数据传输方法的应用场景示意图。

图2为本申请实施例提供的多媒体数据传输方法的流程示意图。

图3为本申请实施例提供的多媒体数据传输装置的另一流程示意图。

图4为本申请实施例提供的多媒体数据传输装置的结构示意图。

图5为本申请实施例提供的多媒体数据传输装置的另一结构示意图。

图6为本申请实施例提供的多媒体数据传输装置的另一结构示意图。

图7为本申请实施例提供的终端设备的结构示意图。

具体实施方式

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

本申请实施例提供一种多媒体数据传输方法,通过设定可接受的期望延迟,并实时计算送入缓冲区中已完成缓冲的多媒体数据对应的可播放时长,将可播放时长与期望延迟进行比较,根据比较结果决定是否对当前播放速度进行调速处理,具体是当当前缓冲区中可播放时长小于期望延迟时,说明当前网络存在传输异常,导致没有新增的缓冲数据进入缓冲区,此时通过降低当前可播放多媒体数据的播放速度能够避免出现画面卡顿。以下分别进行详细说明。

本申请中出现的术语“和/或”,可以是一种描述关联对象的关联关系,表示可以存在三种关系,例如,,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。

本申请实施例的应用场景如图1所示,其中包括:发送端101和接收端102。接收端102和发送端101之间可以通过网络连接的方式实现通信。

示例性地,发送端101可以是电脑、服务器等,在此不做限定。可选地,服务器可以是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此不做限定。

接收端102可以是电视、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电及车载终端等,在此不做限定。

为了便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图2。

图2为本申请实施例提供的多媒体数据传输方法的一实施例流程示意图。

在图2所示的实施例中,所述方法可以包括以下步骤:

步骤201,接收发送端传输的多媒体数据包。

本方案可以适用于网络直播场景中或其他实时视频传输场景,在此不做限定。在本实施例中,以网络直播场景为例,在接收端与发送端建立网络传输通道并开启网络直播功能后,由接收端接收发送端传输过来的多媒体数据包。

步骤202,将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理。

在本实施例中,由接收端读取多媒体数据包中的待播放多媒体数据。其中,多媒体数据指的是视频数据或音频数据或音视频数据,在此不做限定。

需要解释的是,多媒体数据缓冲区作为“解码线程”和“显示线程”之间的缓冲池,主要起到了两个作用,分别是实现“音画同步”的必要条件和抵抗渲染抖动。假设没有“多媒体数据缓冲区”,即“解码线程”和“显示线程”之间是串行的,将导致无论是视频帧还是音频数据,都是解码完立马送入渲染模块,无法添加音画同步的逻辑处理。如果渲染模块出现“抖动”,会直接出现数据阻塞,无法异步去解码帧缓冲区中的数据,降低数据处理效率。

其中,本方案中的多媒体数据缓冲区主要用于存储待播放的多媒体数据,正常情况下,即网络畅通时,发送端产生的多媒体数据会不断地向接收端传输并存入多媒体数据缓冲区内补充已传入“显示线程”的多媒体数据,使“显示线程”能够持续性地将多媒体数据通过接收端的多媒体数据播放设备进行播放,不会出现画面卡顿的问题。

步骤203,实时计算缓冲区中多媒体数据对应的可播放时长。

在本实施例中,可播放时长根据缓冲区中现存的多媒体数据帧数总和进行计算得到。

步骤204,当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

需要解释的是,目标期望延时是指实时视频从源端传输到目的地端所需时长,一般称之为“端到端”延时,例如单帧视频画面从摄像机传输到最终显示器显示所需时间。这个延时大小在不同行业存在着很大差异,对于广播电视一般为5-10秒左右,流媒体延时可以有30秒或以上,而实时视频制作或交互性更强的直播推流(例如比赛和体育博彩)而言,延时往往需要低于1秒。

基于目标期望延时的概念,可以结合多媒体数据缓冲区中多媒体数据对应的可播放时长,进而判断当前可播放的多媒体数据能否在播放结束之前等到发送端补充过来的新增多媒体数据,假设当前可播放的多媒体数据未能在播放结束之前等到发送端补充过来的新增多媒体数据,因此此时缓冲区中的可播放时长为0,并且接收端也不知道具体在什么时间段会重新接收到发送端传输过来的多媒体数据,理论上来说就会出现用户当前看到的画面出现卡顿不继续播放的问题。

举例来说,当多媒体数据缓冲区中多媒体数据的可播放时长为250ms,同时假设目标期望延时为250ms,理想状态下可播放时长等于目标期望延时,即每当多媒体数据缓冲区中的多媒体数据被消耗1帧数据时,发送端会实时将新增的1帧数据送入多媒体数据缓冲区进行补充。当出现可播放时长不超过目标期望延时时,说明当前网络可能存在传输异常,导致没有新的多媒体数据进入多媒体数据缓冲区,若继续按照正常播放速度进行播放多媒体数据则会出现画面卡顿的问题。

其中,当当前缓冲区中可播放时长小于期望延迟时,说明当前网络存在传输异常,导致没有新增的缓冲数据进入缓冲区,此时通过降低当前可播放多媒体数据的播放速度能够避免出现画面卡顿。

具体地,通过将可播放时长及目标期望延时输入预设的播放速率调整算法,得到调整后的减速比例值;根据所述减速比例值修改第一播放速度以得到第二播放速度。

播放速率调整算法:

减速比例值ratio=(可播放时长-目标期望延时)/目标期望延时

当前播放设备的实际播放速度play_ratio=1.0+ratio,如未开始播放play_ratio为无效值。

需要说明的是,当当前缓冲区中可播放时长大于目标期望延迟时,说明网络恢复导致瞬时涌入多帧数据,为了避免造成延时延长,需要加速播放当前多媒体数据,避免接收端缓冲区数据过多,导致延时变大,影响用户体验感。

因此,若判断结果为可播放时长超过目标期望延时,则提升缓冲区中的多媒体数据的第一播放速度。具体调整过程可参照上述播放速率调整算法。

综上所述,由于在实际应用中,网络环境复杂多变,难以保证在实时视频传输应用场景(例如网络直播场景)中网络能够一直保持在良好的状态,因此,如果在保持正常播放速度的前提下进行多媒体数据播放,则难免会出现画面卡顿的问题。为了解决这个问题,本方案通过设定可接受的目标期望延时,并实时计算送入缓冲区中已完成缓冲的多媒体数据对应的可播放时长,将当前多媒体数据缓冲区中多媒体数据的可播放时长与期望延迟进行比较,根据比较结果决定是否对当前播放速度进行调速处理,避免当没有新增的多媒体数据进入缓冲区时会出现画面卡顿的问题。

在一些实施例中,如图3所示,目标期望延时是根据发送端与接收端双方进行协商的结果,具体协商过程可分为两种:

一种是接收端接收到多媒体数据包时向发送端发送预设目标期望延时,以供发送端根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;若预设期望延时与接收端的自身数据处理能力匹配,则将预设期望延时作为目标期望延时;

另一种是若预设期望延时与接收端的自身数据处理能力不匹配,说明发送端的数据处理能力不足以在预设期望延时内将多媒体数据送往接收端,则需要对预设期望延时进行调整,具体是预设期望延时的基础上增大数值,得到调整后的目标期望延时。

在一些实施例中,虽然利用本方案提供的多媒体数据传输方法能够实现播放速度可调,但是由于多媒体数据的播放速度过快或过慢都会影响观看体验,因此需要限制播放速度的调整范围。

通过判断播放速度是否落入预设的可允许播放速度范围内,若第二播放速度未落入可允许播放速度范围内,则将第二播放速度调整为第三播放速度,第三播放速度为可允许播放速度范围内与第二播放速度最接近的临界值。

在一些实施例中,由于利用本方案提供的多媒体数据传输方法能够实现播放速度可调,但是假设画面一直处于频繁变速,会影响用户的观看体验感,因此为了解决该问题,本方案设定了播放速度调整的前提条件,通过计算第一播放速度与上一次的历史播放速度之间的差值;判断差值的绝对值是否超过预设可允许波动范围;若超过可允许波动范围,则根据减速比例值修改第一播放速度以得到第二播放速度。若不超过可允许波动范围,则继续以上一次设定播放速度进行播放。

在一些实施例中,为了能够让发送端根据接收端的实际情况实时或定时调整待发送多媒体数据包的参数,使多媒体数据的传输效果能够更加符合接收端的当前数据接收条件。

如图3所示,通过获取当前的可播放时长及播放速度回传发送端;分别计算预设周期内得到的平均可播放时长及平均播放速度,以供发送端定期分析判断是否调整待传输的多媒体数据的传输参数。其中,传输参数包括多媒体帧率和多媒体码率。

在另一实施例中,在图2所示的实施例中,所述方法还可以包括以下步骤:

步骤301,获取待传输的多媒体数据,构建待传输的多媒体数据包,将所述待传输的多媒体数据包传输至接收端,以使得所述接收端将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长,在所述可播放时长不超过所述目标期望延时时,降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在一些实施例中,将待传输的多媒体数据包传输至接收端后,该方法还包括以下步骤:

接收所述接收端发送的预设目标期望延时,根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;

若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时,并将所述目标期望延时回传所述接收端;

若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时,并将所述目标期望延时回传所述接收端。

需要说明的是,本方案中提到的目标期望延时是根据发送端与接收端双方进行协商的结果,具体协商过程可分为两种:

一种是接收接收端发送的预设目标期望延时,根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;

若预设期望延时与接收端的自身数据处理能力匹配,则将预设期望延时作为目标期望延时,并将目标期望延时回传所述接收端;

另一种是若预设期望延时与接收端的自身数据处理能力不匹配,说明发送端的数据处理能力不足以在预设期望延时内将多媒体数据送往接收端,则对预设期望延时进行调整,具体是预设期望延时的基础上增大数值,得到调整后的目标期望延时,并将目标期望延时回传所述接收端。

在一些实施例中,该方法还包括以下步骤:

接收接收端回传的平均可播放时长及平均播放速度,判断平均可播放时长是否落入预设的可允许延时范围内,得到第二判断结果,根据第二判断结果能够分析待发送数据的配置参数是否合理,进而让接收端能够正常接收并且不会超过目标期望延时;

若第二判断结果为平均可播放时长未落入可允许延时范围内,则说明待发送数据的配置参数存在不合理的地方,需要进一步判断平均播放速度是否超过第一预设阈值,得到第三判断结果;

若第三判断结果为平均播放速度不超过第一预设阈值(在本方案中第一预设阈值为1),则进一步将平均播放速度与上一次接收端回传的历史平均播放速度进行比较,判断是否呈递减趋势,若是则说明接收端反映出来的问题是多媒体缓冲区中的多媒体数据持续性得不到补充,画面卡顿问题依然存在只能通过不断减缓播放速度来避免,这显然是不合理的,需要调整待传输的多媒体数据的传输参数。

若第三判断结果为平均可播放时长小于第二预设阈值,第二预设阈值小于第一预设阈值,则说明即使接收端的当前网络恢复了能够继续接收发送端发送的多媒体数据,但是由于中间间隔时间过长,此时的多媒体数据若继续播放则会造成更严重的数据延迟,因此需要将这部分待传输的多媒体数据包丢弃。

综上,本方案在多媒体数据传输中,对于给定的期望延时,可以根据该参数,发送端根据接收端的反馈,估算接收端播放质量;接收端调节播放速率,发送端调节编码参数,两者共同保证音视频连续性,改善用户体验。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。

由上可知,本申请实施例提供的多媒体数据传输方法通过接收发送端传输的多媒体数据包;将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;实时计算缓冲区中多媒体数据对应的可播放时长;当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。利用本申请实施例提供的多媒体数据传输方法,通过设定可接受的期望延迟,并实时计算送入缓冲区中已完成缓冲的多媒体数据对应的可播放时长,将可播放时长与期望延迟进行比较,根据比较结果决定是否对当前播放速度进行调速处理,具体是当当前缓冲区中可播放时长小于期望延迟时,说明当前网络存在传输异常,导致没有新增的缓冲数据进入缓冲区,此时通过降低当前可播放多媒体数据的播放速度能够避免出现画面卡顿。

本申请实施例还提供一种多媒体数据传输装置,所述多媒体数据传输装置可以集成在终端设备中。

请参阅图4,图4为本申请实施例提供的多媒体数据传输装置的结构示意图。多媒体数据传输装置30可以包括:

数据接收模块31,用于接收发送端传输的多媒体数据包;

数据缓冲模块32,用于将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;

时长计算模块33,用于实时计算缓冲区中多媒体数据对应的可播放时长;

第一调速模块34,用于当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在一些实施例中,所述装置还包括第一协商模块,用于向所述发送端发送预设目标期望延时,以供所述发送端根据所述预设期望延时及自身数据处理能力进行协商,得到协商结果;若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时;若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时。

在一些实施例中,所述装置还包括第二调速模块,用于当所述可播放时长超过所述目标期望延时,提升所述缓冲区中的多媒体数据的所述第一播放速度。

在一些实施例中,所述第一调速模块34,用于将所述可播放时长及所述目标期望延时输入预设的播放速率调整算法,得到调整后的减速比例值;

根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在一些实施例中,所述装置还包括第三调速模块,用于判断所述第二播放速度是否落入预设的可允许播放速度范围内;若所述第二播放速度未落入所述可允许播放速度范围内,则将所述第二播放速度调整为第三播放速度,所述第三播放速度为所述可允许播放速度范围内与所述第二播放速度最接近的临界值。

在一些实施例中,所述装置还包括第四调速模块,用于计算所述第一播放速度与上一次的历史播放速度之间的差值;判断所述差值的绝对值是否超过预设可允许波动范围;若超过所述可允许波动范围,则根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在一些实施例中,所述装置还包括数据回传模块,用于获取当前的可播放时长及播放速度回传所述发送端;分别计算预设周期内得到的平均可播放时长及平均播放速度,以供所述发送端定期分析判断是否调整待传输的多媒体数据的传输参数,所述传输参数包括多媒体帧率和多媒体码率。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。

由上可知,本申请实施例提供的多媒体数据传输装置30,其中数据接收模块31用于接收发送端传输的多媒体数据包;数据缓冲模块32用于将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;时长计算模块33用于实时计算缓冲区中多媒体数据对应的可播放时长;第一调速模块34用于当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

本申请实施例还提供一种多媒体数据传输装置,所述多媒体数据传输装置可以集成在终端设备中。

请参阅图5,图5为本申请实施例提供的多媒体数据传输装置的结构示意图。多媒体数据传输装置40可以包括:

数据获取模块41,用于获取待传输的多媒体数据;

数据传输模块42,用于将所述待传输的多媒体数据包传输至接收端,以使得所述接收端将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长,在所述可播放时长不超过所述目标期望延时时,降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在一些实施例中,所述装置还包括第二协商模块,用于接收所述接收端发送的预设目标期望延时,根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时,并将所述目标期望延时回传所述接收端;若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时,并将所述目标期望延时回传所述接收端。

在一些实施例中,所述装置还包括数据调整模块,用于接收所述接收端回传的平均可播放时长及平均播放速度,判断所述平均可播放时长是否落入预设的可允许延时范围内,得到第二判断结果;若所述第二判断结果为平均可播放时长未落入可允许延时范围内,则进一步判断所述平均播放速度是否超过第一预设阈值,得到第三判断结果;若所述第三判断结果为平均播放速度不超过所述第一预设阈值,则进一步将所述平均播放速度与上一次接收端回传的历史平均播放速度进行比较,判断是否呈递减趋势,若是则调整待传输的多媒体数据的传输参数。

在一些实施例中,所述装置还包括数据丢弃模块,用于若所述第三判断结果为所述平均可播放时长小于所述第二预设阈值,则将所述待传输的多媒体数据包丢弃,所述第二预设阈值小于所述第一预设阈值。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。

由上可知,本申请实施例提供的多媒体数据传输装置40,其中数据获取模块41用于获取待传输的多媒体数据;数据传输模块42用于将所述待传输的多媒体数据包传输至接收端,以使得所述接收端将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长,在所述可播放时长不超过所述目标期望延时时,降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

请参阅图6,图6为本申请实施例提供的多媒体数据传输装置的另一结构示意图,多媒体数据传输装置30包括存储器120、一个或多个处理器180、以及一个或多个应用程序,其中该一个或多个应用程序被存储于该存储器120中,并配置为由该处理器180执行;该处理器180可以包括数据接收模块31、数据缓冲模块32,时长计算模块33以及第一调速模块34。例如,以上各个部件的结构和连接关系可以如下:

存储器120可用于存储应用程序和数据。存储器120存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器180通过运行存储在存储器120的应用程序,从而执行各种功能应用以及数据处理。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180对存储器120的访问。

处理器180是装置的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的应用程序,以及调用存储在存储器120内的数据,执行装置的各种功能和处理数据,从而对装置进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。

具体在本实施例中,处理器180会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器120中,并由处理器180来运行存储在存储器120中的应用程序,从而实现各种功能:

数据接收指令,用于接收发送端传输的多媒体数据包;

数据计算指令,用于将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;

时长计算指令,用于实时计算缓冲区中多媒体数据对应的可播放时长;

第一调速指令,用于当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在一些实施例中,所述程序还包括第一协商指令,用于向所述发送端发送预设目标期望延时,以供所述发送端根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时;若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时。

在一些实施例中,所述程序还包括第二调速指令,用于当所述可播放时长超过所述目标期望延时,提升所述缓冲区中的多媒体数据的所述第一播放速度。

在一些实施例中,所述第一调速指令,用于将所述可播放时长及目标期望延时输入预设的播放速率调整算法,得到调整后的减速比例值;

根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在一些实施例中,所述程序还包括第三调速指令,用于判断所述第二播放速度是否落入预设的可允许播放速度范围内;若所述第二播放速度未落入所述可允许播放速度范围内,则将所述第二播放速度调整为第三播放速度,所述第三播放速度为所述可允许播放速度范围内与所述第二播放速度最接近的临界值。

在一些实施例中,所述程序还包括第四调速指令,用于计算所述第一播放速度与上一次的历史播放速度之间的差值;判断所述差值的绝对值是否超过预设可允许波动范围;若超过所述可允许波动范围,则根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在一些实施例中,所述程序还包括数据回传指令,用于获取当前的可播放时长及播放速度回传所述发送端;分别计算预设周期内得到的平均可播放时长及平均播放速度,以供所述发送端定期分析判断是否调整待传输的多媒体数据的传输参数,所述传输参数包括多媒体帧率和多媒体码率。

本申请实施例还提供一种终端设备。所述终端设备可以是服务器、智能手机、电脑、平板电脑等设备。

请参阅图7,图7示出了本申请实施例提供的终端设备的结构示意图,该终端设备可以用于实施上述实施例中提供的多媒体数据传输方法。该终端设备1200可以为电视机或智能手机或平板电脑。

如图7所示,终端设备1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图7中示出的终端设备1200结构并不构成对终端设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

RF电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。

存储器120可用于存储软件程序以及模块,如上述实施例中多媒体数据传输方法对应的程序指令/模块,处理器180通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据处理,可以根据终端设备所处的当前场景来自动选择振动提醒模式来进行多媒体数据传输,既能够保证会议等场景不被打扰,又能保证用户可以感知来电,提升了终端设备的智能性。存储器120可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器120可进一步包括相对于处理器180远程设置的存储器,这些远程存储器可以通过网络连接至终端设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触控显示屏或者触控板,可收集用户在其上或附近的触控操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触控检测装置和触控控制器两个部分。其中,触控检测装置检测用户的触控方位,并检测触控操作带来的信号,将信号传送给触控控制器;触控控制器从触控检测装置上接收触控信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触控操作后,传送给处理器180以确定触控事件的类型,随后处理器180根据触控事件的类型在显示面板141上提供相应的视觉输出。虽然在图7中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端设备1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端设备1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备1200的通信。

终端设备1200通过传输模块170(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了传输模块170,但是可以理解的是,其并不属于终端设备1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器180是终端设备1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端设备1200还包括给各个部件供电的电源190,在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端设备1200还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备1200的显示单元140是触控屏显示器,终端设备1200还包括有存储器120,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器120中,且经配置以由一个或者一个以上处理器180执行一个或者一个以上程序包含用于进行以下操作的指令:

数据接收指令,用于接收发送端传输的多媒体数据包;

数据计算指令,用于将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理;

时长计算指令,用于实时计算缓冲区中多媒体数据对应的可播放时长;

第一调速指令,用于当所述可播放时长不超过目标期望延时时,降低所述缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

在一些实施例中,所述程序还包括第一协商指令,用于向所述发送端发送预设目标期望延时,以供所述发送端根据接收到的预设期望延时及自身数据处理能力进行协商,得到协商结果;若所述预设期望延时与所述接收端的自身数据处理能力匹配,则将所述预设期望延时作为目标期望延时;若所述预设期望延时与所述接收端的自身数据处理能力不匹配,则对所述预设期望延时进行调整,得到调整后的目标期望延时。

在一些实施例中,所述程序还包括第二调速指令,用于当所述可播放时长超过所述目标期望延时,提升所述缓冲区中的多媒体数据的所述第一播放速度。

在一些实施例中,所述第一调速指令,用于将所述可播放时长及目标期望延时输入预设的播放速率调整算法,得到调整后的减速比例值;

根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在一些实施例中,所述程序还包括第三调速指令,用于判断所述第二播放速度是否落入预设的可允许播放速度范围内;若所述第二播放速度未落入所述可允许播放速度范围内,则将所述第二播放速度调整为第三播放速度,所述第三播放速度为所述可允许播放速度范围内与所述第二播放速度最接近的临界值。

在一些实施例中,所述程序还包括第四调速指令,用于计算所述第一播放速度与上一次的历史播放速度之间的差值;判断所述差值的绝对值是否超过预设可允许波动范围;若超过所述可允许波动范围,则根据所述减速比例值修改所述第一播放速度以得到第二播放速度。

在一些实施例中,所述程序还包括数据回传指令,用于获取当前的可播放时长及播放速度回传所述发送端;分别计算预设周期内得到的平均可播放时长及平均播放速度,以供所述发送端定期分析判断是否调整待传输的多媒体数据的传输参数,所述传输参数包括多媒体帧率和多媒体码率。

本申请实施例还提供一种终端设备。所述终端设备可以是智能手机、电脑等设备。

由上可知,本申请实施例提供了一种终端设备1200,所述终端设备1200执行以下步骤:

接收发送端传输的多媒体数据包,读取所述多媒体数据包中的待播放多媒体数据;

将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算缓冲区中多媒体数据对应的可播放时长;

判断所述可播放时长是否超过目标期望延时,得到判断结果;

若所述判断结果为所述可播放时长不超过所述目标期望延时,则降低所述缓冲区中的多媒体数据的播放速度。

在另一实施例中,所述终端设备1200还执行以下步骤:

获取待传输的多媒体数据;

将所述待传输的多媒体数据包传输至接收端,以使得所述接收端将所述多媒体数据包中的待播放多媒体数据存入多媒体数据缓冲区进行缓冲处理,并实时计算所述多媒体数据缓冲区中多媒体数据对应的可播放时长,在所述可播放时长不超过所述目标期望延时时,降低所述多媒体数据缓冲区中的多媒体数据的第一播放速度以得到第二播放速度。

本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的多媒体数据传输方法。

需要说明的是,对本申请所述多媒体数据传输方法而言,本领域普通测试人员可以理解实现本申请实施例所述多媒体数据传输方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,如存储在终端设备的存储器中,并被该终端设备内的至少一个处理器执行,在执行过程中可包括如所述多媒体数据传输方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。

对本申请实施例的所述多媒体数据传输装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。

以上对本申请实施例所提供的多媒体数据传输方法、装置、介质及设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种静电聚焦电流体喷印装置及方法
  • 一种数码喷印装置及其数码喷印方法
  • 一种电流体动力学均匀性喷印图案的工艺参数优化方法
  • 喷印装置及其喷印方法
  • 一种便携式热熔胶电流体喷印装置及方法
  • 一种便携式热熔胶电流体喷印装置及方法
技术分类

06120116560906