CN115276920A - 音频数据处理方法、装置、电子设备及存储介质 - Google Patents
音频数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115276920A CN115276920A CN202210892851.6A CN202210892851A CN115276920A CN 115276920 A CN115276920 A CN 115276920A CN 202210892851 A CN202210892851 A CN 202210892851A CN 115276920 A CN115276920 A CN 115276920A
- Authority
- CN
- China
- Prior art keywords
- audio data
- data packet
- bluetooth
- preset threshold
- data packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 18
- 230000005540 biological transmission Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000007246 mechanism Effects 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 5
- YZCKVEUIGOORGS-OUBTZVSYSA-N Deuterium Chemical compound [2H] YZCKVEUIGOORGS-OUBTZVSYSA-N 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 20
- 238000001514 detection method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 6
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- YZCKVEUIGOORGS-IGMARMGPSA-N Protium Chemical compound [1H] YZCKVEUIGOORGS-IGMARMGPSA-N 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种音频数据处理方法、装置、电子设备及存储介质,该方法应用于蓝牙发送端,蓝牙发送端在进行音频数据传输时应用flush机制,包括:获取自身发送队列中的音频数据包的数量;根据所述音频数据包的数量对flush超时时间进行调整;基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输,用以在传输音频数据时,在尽量保证通讯质量的前提下实现低延时的需求。
Description
技术领域
本申请涉及音频处理领域,具体而言,涉及一种音频数据处理方法、装置、电子设备及存储介质。
背景技术
高级音频分发协议(Advanced Audio Distribution Profile,A2DP)是一种蓝牙传输协议,在该协议中,音频数据通过设备之间的异步面向连接的链(AsynchronousConnection-oriented Link,ACL)连接传输。在ACL中,若一个音频数据包没有传输成功,会一直进行重传,并不会考虑重传该音频数据包消耗的时间。但是,音频数据包具有较强的时效性,若一直进行重传,即使最终重传成功,由于该音频数据包到达接收端的时间很晚,无法实现低延时的要求。
发明内容
本申请实施例的目的在于提供一种音频数据处理方法、装置、电子设备及存储介质,用以在传输音频数据时,在尽量保证通讯质量的前提下实现低延时的需求。
第一方面,本申请提供一种音频数据处理方法,应用于蓝牙发送端,所述蓝牙发送端在进行音频数据传输时应用flush机制,所述方法包括:获取自身发送队列中的音频数据包的数量;根据所述音频数据包的数量对flush超时时间进行调整;基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输。
在上述实现过程中,相较于现有技术中,在采用flush机制时设定一个固定的flush超时时间,本申请实施例提供的音频数据处理方法在音频数据包传输过程中,针对不同的发送场景(即发送端的发送队列中音频数据包累计数量情况),根据发送队列中音频数据包的数量对flush机制中的flush超时时间进行实时调整,基于实时调整后的flush超时时间对发送队列中的音频数据包进行传输,从而在尽量保证通讯质量的前提下实现低延时的需求。
在可选的实施方式中,所述根据所述音频数据包的数量对flush超时时间进行调整,包括:当所述音频数据包的数量大于第一预设阈值时,将所述flush超时时间减小第一预设值;当所述音频数据包的数量小于所述第一预设阈值且大于第二预设阈值时,维持所述flush超时时间不变;其中,所述第一预设阈值大于所述第二预设阈值;当所述音频数据包的数量小于所述第二预设阈值时,将所述flush超时时间增大第二预设值。
在上述实现过程中,设置第一预设阈值和第二预设阈值,将音频数据包的数量与第一预设阈值和第二预设阈值进行比较,根据比较结果调整flush超时时间,实现了flush机制中的flush超时时间可以根据发送队列中音频数据包的数量灵活调整,具有实现逻辑简单,处理延时较低的优点。
在可选的实施方式中,所述第一预设阈值和第二预设阈值根据延时需求、蓝牙接收端接收一个音频数据包的时间及所述蓝牙发送端生成一个音频数据包的时间确定。
在上述实现过程中,根据延时需求、蓝牙接收端接收一个音频数据包的时间及所述蓝牙发送端生成一个音频数据包的时间确定第一预设阈值和第二预设阈值,进而根据第一预设阈值和第二预设阈值调整flush超时时间,使得flush机制中的flush超时时间可以根据蓝牙设备的当前传输环境灵活调整,进一步在尽量保证通讯质量的前提下实现低延时的需求。
在可选的实施方式中,所述第一预设阈值通过如下公式确定:N1=(ReqDelay-A)/n1f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n1>0,f为所述蓝牙发送端生成一个音频数据包的时间。
在可选的实施方式中,所述第二预设阈值通过如下公式确定:N2=(ReqDelay-A)/n2f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n2>0,f为所述蓝牙发送端生成一个音频数据包的时间。
在可选的实施方式中,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,所述基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输,包括:将所述音频数据包及其对应的标识信息基于调整后的flush超时时间进行传输,以使蓝牙接收端根据所述标识信息确定接收到的音频数据包是否与已经接收到的音频数据包相同。
在上述实现过程中,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,蓝牙接收端可以根据音频数据包中的标识信息进行重复包检测,提高通讯质量。
第二方面,本申请提供一种音频数据处理装置,配置于蓝牙发送端,所述蓝牙发送端在进行音频数据传输时应用flush机制,所述装置包括:获取模块,用于获取自身发送队列中的音频数据包的数量;调整模块,用于根据所述音频数据包的数量对flush超时时间进行调整;传输模块,用于基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输。
在可选的实施方式中,所述调整模块具体用于当所述音频数据包的数量大于第一预设阈值时,将所述flush超时时间减小第一预设值;当所述音频数据包的数量小于所述第一预设阈值且大于第二预设阈值时,维持所述flush超时时间不变;其中,所述第一预设阈值大于所述第二预设阈值;当所述音频数据包的数量小于所述第二预设阈值时,将所述flush超时时间增大第二预设值。
在可选的实施方式中,所述第一预设阈值和第二预设阈值根据延时需求、蓝牙接收端接收一个音频数据包的时间及所述蓝牙发送端生成一个音频数据包的时间确定。
在可选的实施方式中,所述第一预设阈值通过如下公式确定:N1=(ReqDelay-A)/n1f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n1>0,f为所述蓝牙发送端生成一个音频数据包的时间。
在可选的实施方式中,所述第二预设阈值通过如下公式确定:N2=(ReqDelay-A)/n2f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n2>0,f为所述蓝牙发送端生成一个音频数据包的时间。
在可选的实施方式中,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,所述传输模块具体用于将所述音频数据包及其对应的标识信息基于调整后的flush超时时间进行传输,以使蓝牙接收端根据所述标识信息确定接收到的音频数据包是否与已经接收到的音频数据包相同。
第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如前述实施方式任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如前述实施方式任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种音频数据处理方法的流程图;
图2为本申请实施例提供的蓝牙接收端进行重复包检测的流程图;
图3为本申请实施例提供的一种音频数据处理装置的结构框图;
图4为本申请实施例的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供一种音频数据处理方法、装置、电子设备及存储介质,用以在传输音频数据时,在尽量保证通讯质量的前提下实现低延时的需求。
该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
下面将针对本申请所提供的音频数据处理方法进行介绍。
请参阅图1,图1为本申请实施例提供的一种音频数据处理方法的流程图,该音频数据处理方法应用于蓝牙发送端,蓝牙发送端在进行音频数据传输时应用flush机制,该音频数据处理方法可以包括以下内容:
步骤S101:获取自身发送队列中的音频数据包的数量。
步骤S102:根据音频数据包的数量对flush超时时间进行调整。
步骤S103:基于调整后的flush超时时间对发送队列中的音频数据包进行传输。
为了解决ACL中不断进行重传的问题,引入flush机制。
蓝牙协议由主机层(host层)和控制器层(controller层)组成。现有的flush机制中,在发送端的controller层设置一个固定的flush超时时间(Flush Timeout,FT),待发送音频数据包从host层到达controller层后,发送端在flush超时时间内将该待发送音频数据包发送至接收端。若接收端成功接收到该待发送音频数据包,回复ACK;若接收端没有接收到该待发送音频数据包或是接收到了错误的音频数据包,回复NACK。当接收端接收到NACK后,若还在flush超时时间内,对该待发送音频数据包进行重传。当该待发送音频数据包在发送端的controller层的累计时间超过flush超时时间时,为了保证能尽快的发送后续的音频数据包,保证后续音频数据包的时效性,发送端将该音频数据包丢弃,对后一个音频数据包重复上述过程。
由此可见,若flush超时时间设定值较大,当音频数据包没有成功发送时,发送端会不断的进行重传,从而会导致音频数据传输时的延时较大;若flush超时时间设定值较小,当音频数据包没有成功发送时,发送端会相对较快地将没有成功发送的音频数据包丢弃,接收端不会接收到该音频数据包,从而影响通讯质量。
因此,相较于现有技术中,在采用flush机制时设定一个固定的flush超时时间,本申请实施例提供的音频数据处理方法在音频数据包传输过程中,针对不同的发送场景(即发送端的发送队列中音频数据包累计数量情况),根据发送队列中音频数据包的数量对flush机制中的flush超时时间进行实时调整,基于实时调整后的flush超时时间对发送队列中的音频数据包进行传输,从而在尽量保证通讯质量的前提下实现低延时的需求。
需要说明的是,本申请实施例提供的音频数据处理方法可以应用于任何采用flush机制的音频数据传输协议,不限定于A2DP传输协议,还可以应用于逻辑链路控制和适配协议(Logical Link Control and Adaption Protocol,L2CAP)协议、蓝牙低功耗音频(Low Energy Audio,LE Audio)等音频数据传输协议。
为了方便理解本方案,以下以应用于A2DP传输协议为例对上述步骤进行说明。
步骤S101:获取自身发送队列中的音频数据包的数量。
本申请实施例中,蓝牙发送端的controller层中维护有一个发送队列,host层将音频数据包发送给controller层,controller层接收到的音频数据包存入发送队列中,根据该发送队列依次将音频数据包发送至蓝牙接收端。
考虑到***资源的消耗以及蓝牙设备硬件***的限制,直接获取每个音频数据包在controller层等待的时间会占用大量***资源,本申请实施提供的音频数据处理方法获取controller层的发送队列中的音频数据包的数量,可以有效减轻对***资源的消耗。
步骤S102:根据音频数据包的数量对flush超时时间进行调整。
本申请实施例中,在获取到发送队列中的音频数据包的数量后,根据音频数据包的数量对flush机制中的flush超时时间进行调整。
在一种可选的实施方式中,可以设置一个预设数量,若当前发送队列中,音频数据包的数量大于预设数量时,将flush超时时间减少第一预设值;若当前发送队列中,音频数据包的数量小于预设数量时,将flush超时时间增大第二预设值。
若当前发送队列中,音频数据包的数量大于预设数量,则表示发送端的controller层的发送队列中存在较多的音频数据包未发送。为了保证音频数据低延时的需求,减少flush超时时间,减少未成功发送的音频数据包的重传次数,从而尽快将发送队列中累积的音频数据包发送至接收端。
若当前发送队列中,音频数据包的数量小于预设数量,则表示发送端的controller层的发送队列中存在较少的音频数据包未发送。为了提高蓝牙设备的通讯质量,增加flush超时时间,增加未成功发送的音频数据包的重传次数,尽可能保证发送队列中的每个音频数据包都能成功发送至接收端。
在另一种可选的实施方式中,步骤S102可以包括以下内容:
当音频数据包的数量大于第一预设阈值时,将flush超时时间减小第一预设值;
当音频数据包的数量小于第一预设阈值且大于第二预设阈值时,维持flush超时时间不变;其中,第一预设阈值大于第二预设阈值;
当音频数据包的数量小于第二预设阈值时,将flush超时时间增大第二预设值。
本申请实施例中,第一预设阈值和第二预设阈值根据延时需求、蓝牙接收端接收一个音频数据包的时间及蓝牙发送端生成一个音频数据包的时间确定。
第一预设阈值可以通过如下公式确定:N1=(ReqDelay-A)/n1f,其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n1>0,f为蓝牙发送端生成一个音频数据包的时间。
第二预设阈值可以通过如下公式确定:N2=(ReqDelay-A)/n2f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n2>0,f为蓝牙发送端生成一个音频数据包的时间。
以下对上述第一预设阈值和第二预设阈值的确定逻辑进行说明。
蓝牙发送端的host层每间隔固定时间f,将一个音频数据包发送至controller层,该间隔时间f即为蓝牙发送端生成一个音频数据包的时间。
将一个音频数据包传输延时记为D,传输延时D定义为蓝牙发送端的host层将音频数据包发送给蓝牙发送端的controller层的时刻作为起始时间,蓝牙接收端的host层接收到音频数据包的时刻作为结束时间。
传输延时D由两部分组成:
(1)蓝牙接收端的controller层成功地从空中收到音频数据包的时刻作为起始时间,蓝牙接收端的host层接收到音频数据包的时刻作为结束时间,记为时间A,即蓝牙接收端接收一个音频数据包的时间。
(2)蓝牙发送端的host层发送音频数据包的时刻作为起始时间,蓝牙发送端的controller层成功将地将音频数据包发送至空中的时刻作为结束时间,记为时间B。
传输延时D=时间A+时间B。可以理解,时间A由蓝牙接收端的硬件设备性能决定,因此,时间A的长度相对固定。由于蓝牙发送端存在重传机制,为了保证传输低延时的要求,传输延时D应当小于延时需求ReqDelay,即B≤ReqDelay-A。
当蓝牙发送端的controller层中发送队列中的音频数据包的数量为N时,则发送队列中最后一个音频数据包发送成功的时间(即时间B)至少是f*N。根据前述B≤ReqDelay-A可知,为了保证传输低延时的要求,发送队列中最后一个音频数据包发送成功的时间应当满足条件f*N≤ReqDelay-A。
经过移项可得,N≤(ReqDelay-A)/f。也就是说,当发送队列中的音频数据包的数量满足N≤(ReqDelay-A)/f时,发送队列中的音频数据包的数量会逐渐减少。为了在尽量保证通讯质量的前提下实现低延时的需求,将第一预设阈值N1设置为N1=(ReqDelay-A)/n1f,将第二预设阈值N2设置N2=(ReqDelay-A)/n2f,n2>n1。
若N1>(ReqDelay-A)/n1f,则说明当前发送队列中的音频数据包的数量较多,存在较多的音频数据包未发送。为了保证音频数据低延时的需求,将flush超时时间减小第一预设值,减少未成功发送的音频数据包的重传次数,从而尽快将发送队列中累积的音频数据包发送至接收端。
若(ReqDelay-A)/n2f<N<(ReqDelay-A)/n1f,则说明当前发送队列中的音频数据包的数量适中,无需调整flush超时时间,保持当前的flush超时时间即可。
若N1<(ReqDelay-A)/n2f,则说明当前发送队列中的音频数据包的数量较少,只有少量音频数据包等待发送。为了提高蓝牙设备的通讯质量,将flush超时时间增加第一预设值,增加未成功发送的音频数据包的重传次数,尽可能保证发送队列中的每个音频数据包都能成功发送至接收端。
需要说明的是,在一些实施例中,第一预设阈值N1可以设置为N1=(ReqDelay-A)/2f,第二预设阈值N2可以为设置N2=(ReqDelay-A)/4f。在另一些实施例中,第一预设阈值N1还可以设置为N1=(ReqDelay-A)/3f,第二预设阈值N2为设置N2=(ReqDelay-A)/6f;或第一预设阈值N1还可以设置为N1=(ReqDelay-A)/2f,第二预设阈值N2为设置N2=(ReqDelay-A)/6f等,本申请实施例对此不作具体限定。
可以理解的是,在上述两种实施方式中,第一预设值可以为A2DP传输协议中的最小时间间隔,即1slot(0.625s),也可以为2slot、3slot等,本申请对此不作限定。第二预设值也可以为A2DP传输协议中的最小时间间隔,即1slot(0.625s),也可以为2slot、3slot等,本申请对此不作限定。第一预设值和第二预设值可以相同也可以不同。本申请对此不作具体限定。
在上述实现过程中,根据延时需求、蓝牙接收端接收一个音频数据包的时间及所述蓝牙发送端生成一个音频数据包的时间确定第一预设阈值和第二预设阈值,进而根据第一预设阈值和第二预设阈值调整flush超时时间,使得flush机制中的flush超时时间可以根据蓝牙设备的当前传输环境灵活调整,进一步在尽量保证通讯质量的前提下实现低延时的需求。
步骤S103:基于调整后的flush超时时间对发送队列中的音频数据包进行传输。
本申请实施例中,对flush超时时间进行调整后,基于调整后的flush超时时间对发送队列中的音频数据包进行传输。
进一步地,在传输距离较远或传输环境中存在干扰时,蓝牙发送端会对发送失败的音频数据包进行重传。现有的蓝牙发送端和蓝牙接收端存在以下机制:
蓝牙发送端发送的音频数据包中包括一个seq bit字段(该seq bit字段的值为0或者1)。蓝牙发送端每次成功接收到接收端的回复ACK之后,会将seq bit字段的值进行反转(若原本是0,则反转为1;若原本是1,则反转为0)。如果蓝牙接收端没有收到该音频数据包,或者收到的音频数据包是错的,那么就回复NACK。如果蓝牙发送端接收到NACK,或者没有收到任何回复,就不会将音频数据包中的seq bit字段反转,继续发送该音频数据包,实现音频数据包重传。
当蓝牙接收端接收到新的音频数据包中的seq bit字段的值与前一个音频数据包中的seq bit字段的值不同时,蓝牙接收端认为新接收到的音频数据包为一个新的音频数据包,不是对上一个音频数据包的重传。反之,当蓝牙接收端接收到新的音频数据包中的seq bit字段的值与前一个音频数据包中的seq bit字段的值相同时,就认为新接收到的音频数据包是对上一个音频数据包的重传,将新接收到的音频数据包丢弃。通过上述方式,蓝牙接收端可以实现重复包检测。
然而,当蓝牙发送端在进行音频数据传输时应用flush机制后,蓝牙发送端会将原本要发送的音频数据包丢弃。蓝牙发送端发送新的音频数据包时,该音频数据包的seq bit字段的值可能与前一个音频数据包的seq bit字段的值相同。若蓝牙接收端依旧按照原有的处理逻辑进行重复包检测,则会将蓝牙发送端发送新的音频数据包丢弃,从而导致通讯质量降低。
因此,作为一种可选的实施方式,本申请实施例提供的音频数据处理方法中,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,上述步骤S103包括如下内容:
将音频数据包及其对应的标识信息基于调整后的flush超时时间进行传输,以使蓝牙接收端根据所述标识信息确定接收到的音频数据包是否与已经接收到的音频数据包相同。
本申请实施例中,蓝牙发送端为每个音频数据包生成一个标识信息,将音频数据包及其对应的标识信息基于调整后的flush超时时间进行传输,蓝牙接收端接收到音频数据包后,根据音频数据包中的标识信息进行重复包检测。
以下结合一个具体场景,对蓝牙接收端根据标识信息进行重复包检测进行说明。请参阅图2,图2为本申请实施例提供的蓝牙接收端进行重复包检测的流程图。每个音频数据包包括一个seq num,相同的音频数据包的seq num相同。蓝牙发送端将音频数据包及其对应的标识信息基于调整后的flush超时时间发送给蓝牙接收端,蓝牙接收端成功接收到音频数据包后,不再根据原本蓝牙协议中规定的seq bit字段进行重复包检测。先进行CRC校验,若CRC校验通过,无论音频数据包的seq bit字段的值为多少,均向蓝牙发送段回复ACK,表示成功接收到该音频数据包;若CRC校验不通过,向蓝牙发送段回复NACK,表示未成功接收到该音频数据包,需要蓝牙发送端进行重传。然后,蓝牙接收端将接收到的音频数据包发送至host层或是host层之上的APP层,由host层或是APP层根据音频数据包的seq num确定该音频数据包是否为重复包。
可以理解,由于相同的音频数据包的标识信息相同,若蓝牙接收端确定新接收到音频数据包的标识信息与之前接收到的音频数据包的标识信息相同,则确定新接收到音频数据包为重复包,将该新接收到音频数据包丢弃。
在上述实现过程中,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,蓝牙接收端可以根据音频数据包中的标识信息进行重复包检测,提高通讯质量。
基于同一发明构思,本申请实施例中还提供一种音频数据处理装置。请参阅图3,图3为本申请实施例提供的一种音频数据处理装置的结构框图,该音频数据处理装置配置于蓝牙发送端,蓝牙发送端在进行音频数据传输时应用flush机制,该音频数据处理装置200可以包括:
获取模块201,用于获取自身发送队列中的音频数据包的数量;
调整模块202,用于根据所述音频数据包的数量对flush超时时间进行调整;
传输模块203,用于基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输。
在可选的实施方式中,所述调整模块202具体用于当所述音频数据包的数量大于第一预设阈值时,将所述flush超时时间减小第一预设值;当所述音频数据包的数量小于所述第一预设阈值且大于第二预设阈值时,维持所述flush超时时间不变;其中,所述第一预设阈值大于所述第二预设阈值;当所述音频数据包的数量小于所述第二预设阈值时,将所述flush超时时间增大第二预设值。
在可选的实施方式中,所述第一预设阈值和第二预设阈值根据延时需求、蓝牙接收端接收一个音频数据包的时间及所述蓝牙发送端生成一个音频数据包的时间确定。
在可选的实施方式中,所述第一预设阈值通过如下公式确定:N1=(ReqDelay-A)/2f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,f为所述蓝牙发送端生成一个音频数据包的时间。
在可选的实施方式中,所述第二预设阈值通过如下公式确定:N2=(ReqDelay-A)/4f;其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,f为所述蓝牙发送端生成一个音频数据包的时间。
在可选的实施方式中,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,所述传输模块203具体用于将所述音频数据包及其对应的标识信息基于调整后的flush超时时间进行传输,以使蓝牙接收端根据所述标识信息确定接收到的音频数据包是否与已经接收到的音频数据包相同。
请参阅图4,图4为本申请实施例的电子设备300的结构示意图,该电子设备300配置有蓝牙功能,蓝牙发送端在进行音频数据传输时应用flush机制,该电子设备300包括:至少一个处理器301,至少一个通信接口302,至少一个存储器303和至少一个总线304。其中,总线304用于实现这些组件直接的连接通信,通信接口302用于与其他节点设备进行信令或数据的通信,存储器303存储有处理器301可执行的机器可读指令。当电子设备300运行时,处理器301与存储器303之间通过总线304通信,机器可读指令被处理器301调用时执行如上述音频数据处理方法。
处理器301可以是一种集成电路芯片,具有信号处理能力。上述处理器301可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器303可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图4所示的结构仅为示意,电子设备300还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备300可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备300也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述实施例中音频数据处理方法的步骤。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种音频数据处理方法,其特征在于,应用于蓝牙发送端,所述蓝牙发送端在进行音频数据传输时应用flush机制,所述方法包括:
获取自身发送队列中的音频数据包的数量;
根据所述音频数据包的数量对flush超时时间进行调整;
基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输。
2.根据权利要求1所述的方法,其特征在于,所述根据所述音频数据包的数量对flush超时时间进行调整,包括:
当所述音频数据包的数量大于第一预设阈值时,将所述flush超时时间减小第一预设值;
当所述音频数据包的数量小于所述第一预设阈值且大于第二预设阈值时,维持所述flush超时时间不变;其中,所述第一预设阈值大于所述第二预设阈值;
当所述音频数据包的数量小于所述第二预设阈值时,将所述flush超时时间增大第二预设值。
3.根据权利要求2所述的方法,其特征在于,所述第一预设阈值和第二预设阈值根据延时需求、蓝牙接收端接收一个音频数据包的时间及所述蓝牙发送端生成一个音频数据包的时间确定。
4.根据权利要求3所述的方法,其特征在于,所述第一预设阈值通过如下公式确定:N1=(ReqDelay-A)/n1f;
其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n1>0,f为所述蓝牙发送端生成一个音频数据包的时间。
5.根据权利要求3所述的方法,其特征在于,所述第二预设阈值通过如下公式确定:N2=(ReqDelay-A)/n2f;
其中,ReqDelay为延时需求,A为蓝牙接收端接收一个音频数据包的时间,n2>0,f为所述蓝牙发送端生成一个音频数据包的时间。
6.根据权利要求1-5任一项所述的方法,其特征在于,每个音频数据包包括标识信息,相同的音频数据包的标识信息相同,所述基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输,包括:
将所述音频数据包及其对应的标识信息基于调整后的flush超时时间进行传输,以使蓝牙接收端根据所述标识信息确定接收到的音频数据包是否与已经接收到的音频数据包相同。
7.一种音频数据处理装置,其特征在于,配置于蓝牙发送端,所述蓝牙发送端在进行音频数据传输时应用flush机制,所述装置包括:
获取模块,用于获取自身发送队列中的音频数据包的数量;
调整模块,用于根据所述音频数据包的数量对flush超时时间进行调整;
传输模块,用于基于调整后的flush超时时间对所述发送队列中的音频数据包进行传输。
8.根据权利要求7所述的装置,其特征在于,所述调整模块具体用于当所述音频数据包的数量大于第一预设阈值时,将所述flush超时时间减小第一预设值;当所述音频数据包的数量小于所述第一预设阈值且大于第二预设阈值时,维持所述flush超时时间不变;其中,所述第一预设阈值大于所述第二预设阈值;当所述音频数据包的数量小于所述第二预设阈值时,将所述flush超时时间增大第二预设值。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892851.6A CN115276920A (zh) | 2022-07-27 | 2022-07-27 | 音频数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892851.6A CN115276920A (zh) | 2022-07-27 | 2022-07-27 | 音频数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115276920A true CN115276920A (zh) | 2022-11-01 |
Family
ID=83772277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210892851.6A Pending CN115276920A (zh) | 2022-07-27 | 2022-07-27 | 音频数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115276920A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116634492A (zh) * | 2023-01-29 | 2023-08-22 | 上海物骐微电子有限公司 | 基于蓝牙le音频的数据调度方法、装置及存储介质 |
CN117061070A (zh) * | 2023-09-15 | 2023-11-14 | 深圳旷世科技有限公司 | 无线音频传输方法、音频设备及存储介质 |
CN117707462A (zh) * | 2023-05-16 | 2024-03-15 | 荣耀终端有限公司 | 一种音频数据处理方法、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697631A (zh) * | 2009-10-28 | 2010-04-21 | 中兴通讯股份有限公司 | 一种可序数据包的乱序调整方法及装置 |
CN109213578A (zh) * | 2017-07-05 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 一种任务的调度方法和调度*** |
WO2020124611A1 (zh) * | 2018-12-22 | 2020-06-25 | 华为技术有限公司 | 一种速率控制方法及设备 |
CN113259710A (zh) * | 2021-06-22 | 2021-08-13 | 北京百瑞互联技术有限公司 | 改进音频传输卡顿的方法、***及介质 |
CN113365129A (zh) * | 2021-08-09 | 2021-09-07 | 北京百瑞互联技术有限公司 | 蓝牙音频数据处理方法、发射器、接收器及收发设备 |
-
2022
- 2022-07-27 CN CN202210892851.6A patent/CN115276920A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697631A (zh) * | 2009-10-28 | 2010-04-21 | 中兴通讯股份有限公司 | 一种可序数据包的乱序调整方法及装置 |
CN109213578A (zh) * | 2017-07-05 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 一种任务的调度方法和调度*** |
WO2020124611A1 (zh) * | 2018-12-22 | 2020-06-25 | 华为技术有限公司 | 一种速率控制方法及设备 |
CN113259710A (zh) * | 2021-06-22 | 2021-08-13 | 北京百瑞互联技术有限公司 | 改进音频传输卡顿的方法、***及介质 |
CN113365129A (zh) * | 2021-08-09 | 2021-09-07 | 北京百瑞互联技术有限公司 | 蓝牙音频数据处理方法、发射器、接收器及收发设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116634492A (zh) * | 2023-01-29 | 2023-08-22 | 上海物骐微电子有限公司 | 基于蓝牙le音频的数据调度方法、装置及存储介质 |
CN116634492B (zh) * | 2023-01-29 | 2024-04-12 | 上海物骐微电子有限公司 | 基于蓝牙le音频的数据调度方法、装置及存储介质 |
CN117707462A (zh) * | 2023-05-16 | 2024-03-15 | 荣耀终端有限公司 | 一种音频数据处理方法、电子设备及介质 |
CN117061070A (zh) * | 2023-09-15 | 2023-11-14 | 深圳旷世科技有限公司 | 无线音频传输方法、音频设备及存储介质 |
CN117061070B (zh) * | 2023-09-15 | 2024-03-29 | 深圳旷世科技有限公司 | 无线音频传输方法、音频设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115276920A (zh) | 音频数据处理方法、装置、电子设备及存储介质 | |
CN111786748B (zh) | 数据重传方法和***、网卡、装置、服务器和存储介质 | |
US11792114B2 (en) | System and method for facilitating efficient management of non-idempotent operations in a network interface controller (NIC) | |
CN111512603B (zh) | 一种数据传输方法及第一设备 | |
US11695669B2 (en) | Network interface device | |
US9529746B2 (en) | Method for operating a communication system | |
CN110506403B (zh) | 用于无线设备的流控制的方法及装置 | |
CN113852563B (zh) | 报文数据传输方法、装置、终端设备及可读存储介质 | |
TW202205890A (zh) | 用於資源選擇的方法及第一使用者設備 | |
USRE43151E1 (en) | Acknowledging data transmissions in the presence of multiple shared-communications channels | |
WO2019192354A1 (zh) | 调度请求传输方法、终端及网络侧设备 | |
WO2020221206A1 (zh) | Harq反馈方法、第一终端和计算机可读存储介质 | |
US7626927B2 (en) | System and method of data transmission in wireless communication networks | |
CN110913431A (zh) | 数据无线传输方法、装置、计算机设备及存储介质 | |
CN116868553A (zh) | 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度 | |
JPH0955718A (ja) | データ通信装置 | |
US20090252162A1 (en) | Transmission apparatus, transmission method, and program | |
US8522104B2 (en) | Smart aging retry buffer | |
CN113300967B (zh) | Rdma网络传输方法、装置以及rdma网络通信*** | |
WO2010136865A1 (en) | Packet retransmission optimization in wireless network | |
CA2784985C (en) | Apparatus and method of communicating automatic repeat request (arq) feedback in a wireless communication network | |
WO2023231910A1 (zh) | 反馈信息发送方法、反馈信息接收方法、终端及存储介质 | |
CN113556650B (zh) | Tws耳机无线通信方法、***、装置及存储介质 | |
WO2021136278A1 (zh) | 报文传输方法及电子设备 | |
US20240243851A1 (en) | Wireless data transmission system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |