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

比特率自适应的数据传输方法及装置、设备、存储介质

文献发布时间:2023-06-19 09:38:30


比特率自适应的数据传输方法及装置、设备、存储介质

技术领域

本申请涉及电子设备技术领域,涉及但不限定于比特率自适应的数据传输方法及装置、设备、存储介质。

背景技术

相关技术中,WFD(Wi-Fi Display,无线显示)连接后,采用固定比特率方式传输数据,投屏画面处于固定清晰度。但是,无论网络质量好坏,采用固定的比特率,采集视频源会导致传输不稳定和画面缺失等问题。例如,当前投屏方案采用高清晰度进行投射,一旦用户网络质量出现波动,投射画面会出现卡顿,马赛克等情况。

发明内容

本申请实施例提供一种比特率自适应的数据传输方法及装置、设备、存储介质。

本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种比特率自适应的数据传输方法,所述方法包括:

在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P(Peer-to-Peer,点对点)链路质量;其中,所述第一设备为数据传输的源端设备,所述第二设备为数据传输的目的地端设备;

根据所述P2P链路质量,按照特定的调整策略,调整当前WFD连接中的比特率;

按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。

第二方面,本申请实施例提供一种比特率自适应的数据传输装置,包括:

检测模块,用于在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量;其中,所述第一设备为数据传输的源端设备,所述第二设备为数据传输的目的地端设备;

调整模块,用于根据所述P2P链路质量,按照特定的调整策略,调整当前WFD连接中的比特率;

传输模块,用于按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。

第三方面,本申请实施例提供一种比特率自适应的数据传输设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述比特率自适应的数据传输方法中的步骤。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述比特率自适应的数据传输方法中的步骤。

本申请实施例提供的技术方案带来的有益效果至少包括:

在本申请实施例中,首先,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量,然后,根据所述P2P链路质量,按照特定的调整策略,调整当前WFD连接中的比特率,最后,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。如此,通过实时检测两个设备之间的P2P链路质量,动态地调整传输数据的比特率,可以有效解决无线连接中出现的各种未预期的链路质量波动导致的花屏、卡顿、音视频不同步等问题。

附图说明

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

图1为本申请实施例提供的WFD涉及的技术及协议框图;

图2为本申请实施例提供的WFD连接系统的结构框图;

图3为本申请实施例提供的一种比特率自适应的数据传输方法的流程示意图;

图4为本申请实施例提供的另一种比特率自适应的数据传输方法的流程示意图;

图5为本申请实施例提供的又一种比特率自适应的数据传输方法的流程示意图;

图6为本申请实施例提供的再一种比特率自适应的数据传输方法的流程示意图;

图7为本申请实施例提供的WFD连接逻辑流程图;

图8为本申请实施例提供的自适应调整比特率的流程示意图;

图9为本申请实施例提供的一种比特率自适应的数据传输装置的组成结构示意图;

图10为本申请实施例提供的一种比特率自适应的数据传输设备的硬件实体示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。以下实施例用于说明本申请,但不用来限制本申请的范围。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请实施例所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

WFD又叫做无线投影(Miracast),是由Wi-Fi联盟(Wi-Fi Alliance)推出的无线投射技术,使多媒体设备之间建立和维持一个基于Wi-Fi的连接,并且利用这个连接推进视频/音频的在目标设备的呈现播放。现在的智能终端、移动PC(Personal Computer,个人计算机)、电视、显示器都支持WFD技术,普遍是将智能终端/移动PC的视频源投射到电视/显示器进行播放。

WFD建立在Wi-Fi P2P连接基础上的,支持以下两种连接方式:1)Wi-Fi直连对等:支持多个Wi-Fi设备无需通过无线路由器即可相互连接的技术,需要一台Wi-Fi设备作为组织者建立一个类似AP(Access Point,无线接入点)功能的网络,以使其他Wi-Fi设备可以搜索到并用Wi-Fi连接上;2)TDLS(Tunneled Direct Link Setup,通道直接链路建立):两台Wi-Fi设备连接在同一个AP上,这两台Wi-Fi设备之间可以直接建立一个点对点的通道实现数据传输。

图1为本申请实施例提供的WFD涉及的技术及协议框图。如图1所示,基于Wi-FiP2P网络技术,利用RTSP(Real Time Streaming Protocol,实时流传输协议)作为音频及视频流控制协议,涉及了流媒体的传输、控制、加密、解密、编码及解码等技术流程。WFD中涉及的技术层面比较多,相关的协议也比较多,包括了Wi-Fi P2P技术、RTSP及RTP(Real-timeTransport Protocol,实时传输协议)技术、流媒体技术以及音视频编解码相关的技术。其中,Wi-Fi保护设置(Wi-Fi Protected Setup)也是一个Wi-Fi联盟的一个认证项目,用于简化用户安装无线局域网和对安全性能的配置工作;TDLS为一项802.11协议,在两个连接到同一个AP的客户端设备之间建立的直接连接

图2为本申请实施例提供的WFD连接系统的结构框图。如图2所示,WFD连接系统200包括发送端设备201和接收端设备202。在投屏过程中,发送端设备201作为源Wi-Fi设备,接收端设备202作为目的地Wi-Fi设备,在建立WFD连接后,由发送端设备201借助Wi-Fi向接收端设备202传输多媒体内容。发送端设备201和接收端设备202可以是诸如智能电话、笔记本计算机、平板等等之类的便携式终端或诸如电视、打印机、相机等等之类的电子设备。

在本申请的示范性实施例中,发送端设备201和接收端设备202包括具有等于或高于IEEE(Institute of Electrical and Electronics Engineers,电气与电子工程师协会)802.11g(例如802.11g或802.11n)的标准的WFD连接建立模块并且对应于经Wi-Fi直连验证的设备。

当前投屏方案通常采用高清晰度进行投射,一旦用户网络质量出现波动,例如设备蓝牙工作中、设备通过Wi-Fi下载文件时、设备处于拥挤信道中、设备和电视距离发生变化等容易出现网络波动的场景中,投射画面会出现卡顿,马赛克等情况。

本申请实施例提供一种比特率自适应的数据传输方法,应用于设备。该方法所实现的功能可以通过设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该设备至少包括处理器和存储介质。处理器可以用于进行比特率自适应的数据传输的过程的处理,存储器可以用于存储进行比特率自适应的数据传输的过程中需要的数据以及产生的数据。该设备还可以包括可以用于接收以及发送数据的收发器。

图3为本申请实施例提供的一种比特率自适应的数据传输方法的流程示意图,如图3所示,所述方法至少包括以下步骤:

步骤S310,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量。

这里,所述第一设备和所述第二设备均为经Wi-Fi直连验证的设备,其中所述第一设备为数据传输的源端设备,即能够提供多媒体内容传输的设备,例如智能手机、平板等;所述第二设备为数据传输的目的地端设备,即能够接收多媒体内容并将其呈现的设备,例如显示器、打印机、电视等。

在实施过程中,源端设备和目的地设备同时开启WFD功能,基于Wi-Fi P2P和TDLS技术,建立WFD基础线路。源端设备和目的地设备之间建立TCP(Transmission ControlProtocol,传输控制协议)连接,并创建一个控制端口来建立和维护会话,该端口采用RTSP协议。通过RTSP协议协定参数,决定需要使用的最佳参数,包括音视频解码率,分辨率,信道负载等等,在参数协定确认完成后,源端设备以设定的视频码率和分辨率向目的地端设备发送源端设备的屏幕显示画面。例如将手机/笔记本屏幕上显示的东西,同步显示到超大屏投影仪、大屏液晶电视或者显示器设备上显示,让使用者中不需要连接线情况下享受高画质影像显示效果。

这里,第一设备和第二设备可以直接建立一个点对点的通道实现数据传输,然后实时检测这两台Wi-Fi设备之间的P2P链路质量,在实施中,可以采用任何一种本领域常规的链路质量检测手段,本申请实施例对此不作限定。例如,第一设备构造检测报文,该检测报文携带两个设备分别添加的网络质量检测参数如信号质量、丢包或重传数量等,并将检测报文发送给第二设备,然后基于第一设备和第二设备之间交互的检测报文,检测两台Wi-Fi设备之间的P2P链路质量。

步骤S320,根据所述P2P链路质量,按照特定的调整策略,调整当前WFD连接中的比特率。

这里,所述P2P链路质量至少指示为以下之一:丢包率、RSSI(Received SignalStrength Indication,接收信号强度指示)、当前重传数据包的数量。

这里,比特率是指每秒传送的比特数,单位为bps(Bit Per Second,位/秒),比特率越高,传送数据速度越快。

可以理解的是,音频中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。例如音乐文件中最常用的比特率为128kbps,MP3文件可以使用的一般是8至320kbps。

在一些实施例中,所述特定的调整策略可以为实时获取P2P链路数据,然后根据P2P链路数据判断网络质量是否良好,动态地调整数据传输的比特率。如果P2P链路质量良好,则升高比特率;如果P2P链路质量变差,则降低比特率。

在一些实施例中,所述特定的调整策略可以为实时检测网络质量,采用二分法的形式不断调整比特率来达到最优比特率配置。

在一些实施例中,所述特定的调整策略可以为设置链路数据的不同等级,建立每一等级的链路数据与比特率的映射关系,从而根据检测的链路数据实时调整为与当前等级的链路数据对应的比特率。

步骤S330,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。

这里,所述目标数据可以包括诸如电视节目视频、VOD(Video On Demand,视频点播)、UCC(User Created Contents,用户创建的内容)、音乐视频和其它类似和/或适当类型的视频之类的视频内容、诸如图片、图画和其它类似类型的图像之类的静止图像内容、诸如电子书、信、任务文件、网络页和其它类似和/或适当类型文本的文本内容、诸如音乐、乐曲音乐、声音文件、无线广播和其它类似和/或适当类型的声音和/或音乐之类的音乐内容以及诸如小窗口、游戏、实用程序、可运行文件和其它类似和/或适当应用之类的应用。

在本申请实施例中,首先,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量,然后,根据所述P2P链路质量,按照特定的调整策略,调整当前WFD连接中的比特率,最后,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。如此,通过实时检测两个设备之间的P2P链路质量,动态地调整传输数据的比特率,可以有效解决无线连接中出现的各种未预期的链路质量波动导致的花屏、卡顿、音视频不同步等问题。

图4为本申请实施例提供的另一种比特率自适应的数据传输方法的流程示意图,所述P2P链路质量指示为丢包率,如图4所述,所述方法至少包括以下步骤:

步骤S410,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量。

步骤S420,获取所述P2P链路中的丢包率。

这里,P2P在数据传送中,可以将30秒数据文件作为一块数据包,所述丢包率(LossTolerance或Packet Loss Rate)是指测试中所丢失数据包数量占所发送数据组的比率。

所述P2P链路中的丢包率可以为在单位时间内源端设备发送的数据包和目的地设备未收到的数据包的比率,显然丢包率数值是越小越好,比如在网络游戏中有时候会觉得卡,就是说明丢包率相对较高所致。

步骤S430,根据所述丢包率和特定区间在数轴上的位置关系,调整所述比特率。

这里,所述特定区间可以作为网络质量良好的判断标准,一般为经验值,例如丢包率在0.5%至2%的范围内时表明网络质量稳定。

在一些实施例中,在P2P链路中的丢包率小于特定区间的最小值的情况下,增加所述比特率,提高数据吞吐量,提升投射画面质量进而提升用户体验;

在一些实施例中,在P2P链路中的丢包率处于所述特定区间的情况下,维持所述比特率;

在一些实施例中,在P2P链路中的丢包率大于所述特定区间的最大值的情况下,降低所述比特率,以减少在P2P链接质量变差时出现的丢包问题,进而提升画面传输的稳定性。

步骤S440,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。

在本申请实施例中,首先,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量,然后,获取P2P链路中的丢包率,再根据所述丢包率和特定区间在数轴上的位置关系,调整所述比特率,最后,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。如此,通过判断P2P链路中丢包率与表明网络质量良好的特定区间之间的数值关系,动态地调整传输数据的比特率,可以有效解决无线连接中出现的各种未预期的链路质量波动导致的花屏、卡顿、音视频不同步等问题。

图5为本申请实施例提供的又一种比特率自适应的数据传输方法的流程示意图,所述P2P链路质量指示为丢包率,如图5所述,所述方法至少包括以下步骤:

步骤S510,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量。

步骤S520,在所述P2P链路质量满足预设条件的情况下,按照二分法的方式调整所述比特率。

这里,所述P2P链路质量满足预设条件的情况可以为网络质量极好或者网络质量极差等极端的情况。

二分法查找是一种非常高效的搜索方法,主要原理是每次搜索可以抛弃一半的值来缩小范围。其时间复杂度是O(log2n),一般用于对普通搜索方法的优化。二分法的适用情况一般满足以下几点:该数组数据量巨大,需要对处理的时间复杂度进行优化;该数组已经排序;一般要求找到的是某一个值或一个位置。

需要说明的是,通常在不同的应用场景下,数据传输的比特率可以设置为[10bps,100000bps]区间内的多个不同数值,由于取值范围较宽,可以按照二分法的思路不断调整比特率来达到最优比特率配置。

例如,如果当前网络质量极好,可以通过升高比特率来提高透射画面质量。至于将当前比特率调整为多大数值,可以先找到当前比特率与最大比特率的中间值,以中间值作为下一次传输数据的比特率,再检测网络质量,如此逐步缩短取值范围,直到找到最优的比特率配置。

在一些实施例中,在所述丢包率大于第一阈值的情况下,确定所述比特率和第一特定比特率的第一中间值;将所述第一中间值作为下一次数据传输的比特率。

这里,第一阈值表征网络质量极差,出现严重丢包的情况,例如比正常范围内的最大值2%高出10%甚至更高。在实施中根据不同的应用场景进行设置,本申请实施例对此不作限定。

在一些实施例中,在所述丢包率小于第二阈值的情况下,确定所述比特率和第二特定比特率的第二中间值;将所述第二中间值作为下一次数据传输的比特率。

这里,所述第二阈值小于所述第一阈值,表征网络质量极好,丢包率小于0.5%甚至在检测期间内未出现丢包的情况。在实施中根据不同的应用场景进行设置,本申请实施例对此不作限定。

这里,所述第二特定比特率大于所述第一特定比特率,第一特定比特率和第二特定比特率分别为比特率取值范围内的最小值和最大值。

步骤S530,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。

在本申请实施例中,首先,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量,然后,在所述P2P链路质量满足预设条件的情况下,按照二分法的方式调整所述比特率,最后,按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。如此,在网络质量可能出现极高和极低的情况下,可以按照二分法的思路不断调整比特率来达到最优比特率配置,可以有效提升画面传输的稳定性,保证投射的画面不会出现花屏、卡顿等问题,同时在p2p链路质量良好的时候,提升用户投射画面质量进而提升用户体验。

图6为本申请实施例提供的再一种比特率自适应的数据传输方法的流程示意图,P2P链路质量指示为丢包率,如图6所述,所述方法至少包括以下步骤:

步骤S610,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量。

步骤S620,设置不同等级区间的丢包率与比特率之间的映射关系。

这里,可以设置比特率的阶梯调整,对丢包率进行不同等级的划分,建立不同等级区间的丢包率与比特率之间的映射关系。

例如分别设置丢包率为2%至3%为第一等级、5%为第二等级、12%为第三等级(即丢包率对比2%分别高出1%、3%、10%),做不同程度的比特率降低,也就是对应每一等级设置一个比特率。

在实施的过程中可以采用贪心算法(又称贪婪法)逐一确定每一等级区间内的丢包率对应的最优比特率。其中,贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。

步骤S630,确定所述P2P链路中的丢包率所在的等级区间。

这里,首先获取所述P2P链路中的丢包率,然后判断该丢包率属于哪一等级区间。

步骤S640,从所述映射关系中确定出与所述等级区间对应的目标比特率。

这里,根据当前P2P链路中丢包率所在的等级区间从映射关系中确定出对应的目标比特率。

步骤S650,将所述比特率调整为所述目标比特率。

步骤S660,按照所述目标比特率,从所述第一设备向所述第二设备传输目标数据。

在本申请实施例中,首先,在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量,然后,设置不同等级区间的丢包率与比特率之间的映射关系,再确定所述P2P链路中的丢包率所在的等级区间,从所述映射关系中确定出与所述等级区间对应的目标比特率,将所述比特率调整为所述目标比特率,最后,按照所述目标比特率,从所述第一设备向所述第二设备传输目标数据。如此,通过设置比特率的阶梯调整,对丢包率进行不同等级的划分,以根据P2P链路质量实时配置对应的比特率,可以有效提升画面传输的稳定性,保证投射的画面不会出现花屏、卡顿等问题。

下面结合一个具体实施例对上述比特率自适应的数据传输方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。

调整比特率可以有效解决无线连接中出现的各种未预期的链路质量波动导致的花屏,卡顿,音视频不同步等问题。为此,本申请实施例通过获取P2P链路数据,判断当前网络中发生重传、丢包的概率变化,动态地降低/升高采集视频的比特率。

图7为本申请实施例提供的WFD连接逻辑流程图,如图7所示,所述流程包括以下步骤:

步骤S701,两个设备之间建立WFD连接。

这里,两个设备均为经Wi-Fi直连验证的设备,可以建立WFD连接。

步骤S702,检测当前P2P链路质量。

这里,通过获取网络中的P2P链路数据检测当前网络的质量,例如丢包率、信号质量、当前重传数据包的数量。

步骤S703,判断链路质量是否良好。

这里,如果链接质量良好,则执行步骤S704;如果链接质量较差,则执行步骤S705。

步骤S704,增加比特率

步骤S705,降低比特率。

在上述步骤S704或S705之后继续执行步骤S702。

对于上述步骤S703至步骤S705,一种可能的实现方式是:通过配置一个丢包率的区间值来界定当前是否需要调整比特率。图8为本申请实施例提供的自适应调整比特率的流程示意图,如图8所示,该流程包括以下几个步骤:

步骤S801,计算P2P链路的丢包率。

步骤S802,判断丢包率是否满足预设区间。

如果丢包率在预设区间内,则执行步骤S803;如果丢包率小于预设区间的最小值,则执行步骤S804;如果丢包率大于预设区间的最大值,则执行步骤S805。

在实施中,如果丢包率在0.5%至2%的范围内,在网络质量中一般可以作为良的判断标准,暂且作为应用于WFD投屏场景中的判断。

步骤S803,保持当前比特率。

步骤S804,增加当前比特率。

这里,在P2P链路质量良好的时候,通过升高比特率的手段,提升用户投射画面质量进而提升用户体验。

步骤S805,降低当前比特率。

这里,降低比特率可以降低数据吞吐量,减少在P2P链接质量变差时出现的丢包问题,进而提升画面传输的稳定性。保证投射的画面不会出现花屏、卡顿等问题。

在实际的应用中,网络质量可能在某些时候出现极高和极低的情况,那么在调整比特率时就不必显得保守,可以采用二分法的形式不断调整比特率来达到最优比特率配置。

也可以采用贪心算法设置比特率的阶梯调整,对丢包率进行不同等级的划分,比如若是丢包率对比2%高出1%、3%、10%,做不同程度的比特率降低,对比0.5%高于0.1%,0.3%,0.5%做不同大小的比特率提升。

本申请实施例中,在两个设备之间建立WFD连接后,根据获取的P2P链路数据,判断当前网络中发生重传、丢包的概率变化,动态地降低/升高采集视频的比特率。通过以上手段,降低数据吞吐量,进而提升画面传输的稳定性。通过自适应调整比特率,有效解决无线连接中出现的各种未预期的链路质量波动导致的花屏、卡顿、音视频不同步等问题。

基于前述的实施例,本申请实施例再提供一种比特率自适应的数据传输装置,所述装置包括所包括的各模块、以及各模块所包括的各单元,可以通过设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processing Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable GateArray,FPGA)等。

图9为本申请实施例提供的一种比特率自适应的数据传输装置的组成结构示意图,如图9所示,所述装置900包括检测模块910、调整模块920和传输模块930,其中:

所述检测模块910,用于在第一设备与第二设备建立WFD连接的情况下,检测所述WFD连接中的P2P链路质量;其中,所述第一设备为数据传输的源端设备,所述第二设备为数据传输的目的地端设备;

所述调整模块920,用于根据所述P2P链路质量,按照特定的调整策略,调整当前WFD连接中的比特率;

所述传输模块930,用于按照调整后的比特率,从所述第一设备向所述第二设备传输目标数据。

在一些可能的实施例中,所述P2P链路质量至少指示为以下之一:丢包率、接收信号强度指示RSSI、当前重传数据包的数量。

在一些可能的实施例中,所述P2P链路质量指示为丢包率,所述调整模块920包括获取子模块和第一调整子模块,其中:所述获取子模块,用于获取所述P2P链路中的丢包率;所述第一调整子模块,根据所述丢包率和特定区间在数轴上的位置关系,调整所述比特率。

在一些可能的实施例中,所述第一调整子模块包括第一调整单元、第二调整单元和第三调整单元,其中:所述第一调整单元,用于在所述丢包率小于特定区间的最小值的情况下,增加所述比特率;所述第二调整单元,用于在所述丢包率处于所述特定区间的情况下,维持所述比特率;所述第三调整单元,用于在所述丢包率大于所述特定区间的最大值的情况下,降低所述比特率。

在一些可能的实施例中,所述调整模块还用于在所述P2P链路质量满足预设条件的情况下,按照二分法的方式调整所述比特率。

在一些可能的实施例中,所述P2P链路质量指示为丢包率,所述调整模块还包括第一确定子模块和第二确定子模块,其中:所述第一确定子模块,用于在所述丢包率大于第一阈值的情况下,确定所述比特率和第一特定比特率的第一中间值;所述第二确定子模块,用于将所述第一中间值作为下一次数据传输的比特率;或者所述第一确定子模块,用于在所述丢包率小于第二阈值的情况下,确定所述比特率和第二特定比特率的第二中间值;其中,所述第二阈值小于所述第一阈值;所述第二特定比特率大于所述第一特定比特率;所述第二确定子模块,用于将所述第二中间值作为下一次数据传输的比特率。

在一些可能的实施例中,P2P链路质量指示为丢包率,所述装置900还包括设置模块,用于设置不同等级区间的丢包率与比特率之间的映射关系。

在一些可能的实施例中,所述调整模块,还包括第三确定子模块、第四确定子模块和第二调整子模块,其中:所述第三确定子模块,用于确定所述P2P链路中的丢包率所在的等级区间;所述第四确定子模块,用于从所述映射关系中确定出与所述等级区间对应的目标比特率;所述第二调整子模块,用于将所述比特率调整为所述目标比特率。

这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述比特率自适应的数据传输方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中任一所述比特率自适应的数据传输方法中的步骤。

对应地,本申请实施例中,还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现上述实施例中任一所述比特率自适应的数据传输方法中的步骤。

对应地,本申请实施例中,还提供了一种计算机程序产品,当该计算机程序产品被设备的处理器执行时,其用于实现上述实施例中任一所述比特率自适应的数据传输方法中的步骤。

基于同一技术构思,本申请实施例提供一种比特率自适应的数据传输设备,用于实施上述方法实施例记载的比特率自适应的数据传输方法。所述设备应理解为数据传输的源端设备,可以是任意形式的信息和通信设备,诸如支持用于通信系统的通信协议的移动通信设备、智能电话、便携多媒体播放器、数字广播接收器、个人数字助理音频播放器之类的音乐播放器或便携游戏机。本申请实施例提供的设备可以应用于中等到大尺寸的设备,诸如电视机、大型显示器、数字标牌、媒体亭、个人计算机、膝上型计算机、打印机、多功能办公室机器等等。

图10为本申请实施例提供的一种设备的硬件实体示意图,如图10所示,所述设备1000包括存储器1010和处理器1020,所述存储器1010存储有可在处理器1020上运行的计算机程序,所述处理器1020执行所述程序时实现本申请实施例任一所述比特率自适应的数据传输方法中的步骤。

存储器1010配置为存储由处理器1020可执行的指令和应用,还可以缓存待处理器1020以及设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。

处理器1020执行程序时实现上述任一项的比特率自适应的数据传输方法的步骤。处理器1020通常控制设备1000的总体操作。

上述处理器可以为特定用途集成电路(Application Specific IntegratedCircuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable LogicDevice,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。

上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本申请实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备自动测试线执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 比特率自适应的数据传输方法及装置、设备、存储介质
  • 自适应数据传输方法、装置及设备、计算机可读存储介质
技术分类

06120112240679