CN115549863A - 重传音频数据包的方法、音频接收器、存储介质及系统 - Google Patents
重传音频数据包的方法、音频接收器、存储介质及系统 Download PDFInfo
- Publication number
- CN115549863A CN115549863A CN202110726264.5A CN202110726264A CN115549863A CN 115549863 A CN115549863 A CN 115549863A CN 202110726264 A CN202110726264 A CN 202110726264A CN 115549863 A CN115549863 A CN 115549863A
- Authority
- CN
- China
- Prior art keywords
- audio
- audio data
- data packet
- receiver
- snk
- 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
- 238000000034 method Methods 0.000 title claims abstract description 163
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims abstract description 139
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims abstract description 139
- 230000004044 response Effects 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims 1
- 230000006854 communication Effects 0.000 abstract description 17
- 238000004891 communication Methods 0.000 abstract description 17
- 238000012937 correction Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000013459 approach Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 13
- 101000729945 Homo sapiens Serine/threonine-protein kinase PLK2 Proteins 0.000 description 12
- 102100031462 Serine/threonine-protein kinase PLK2 Human genes 0.000 description 12
- 238000003639 Student–Newman–Keuls (SNK) method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012795 verification Methods 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/1607—Details of the supervisory signal
-
- 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
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/10—Earpieces; Attachments therefor ; Earphones; Monophonic headphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Mobile Radio Communication Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请实施例公开了一种重传音频数据包的方法、音频接收器、存储介质及系统,属于通信技术领域。所述方法在第一音频接收器中重传音频数据包的方法,能够从音源接收第一音频数据包,在第一音频数据包解码失败时保存已接收到的数据包中的第一音频数据,向第二音频接收器发送第一NACK消息,该消息用于指示第一音频接收器未成功接收到第一音频数据包,随后接收第二音频接收器发送的第二音频数据包,该数据包中包括第一冗余信息,对第一冗余信息和第一音频数据进行解码,以还原第一音频数据包。由于本方案通过传送冗余信息来实现对第一数据的纠错,从而降低了重传的数据量,并降低了SNK‑1获取正确信息的时延。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种重传音频数据包的方法、音频接收器、存储介质及系统。
背景技术
TWS(True Wireless Stereo,真无线立体声)耳机是一种基于蓝牙技术的无线耳机,包括一对无线耳机。其中,每一个耳机都包括一个音频接收器SNK(audio sink)。
相关技术中,音源SRC(audio source)向第一音频接收器SNK-1和第二音频接收器SNK-2中的一个SNK发送音频数据,另一个SNK侦听该信道从而获得音频数据包。当两个SNK中任意一个没有正确解码音频数据包,SRC或者另一个完整接收到音频数据的SNK将在后续的时隙向没有正确解码音频数据包的SNK重传音频数据包,以便没有正确解码音频数据的SNK能正确解码音频数据包。
发明内容
本申请实施例提供了一种重传音频数据包的方法、音频接收器、存储介质及系统。所述技术方案如下:
根据本申请的第一方面内容,提供了一种在第一音频接收器中重传音频数据包的方法,所述第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
响应于所述第一音频数据包解码失败,保存已接收到的所述第一音频数据包中的第一音频数据;
向所述第二音频接收器发送第一NACK消息,所述第一NACK消息用于指示所述第一音频接收器未成功接收到所述第一音频数据包;
接收所述第二音频接收器发送的第二音频数据包,所述第二音频数据包包括第一冗余信息(RI,Redundant Information);以及
对所述第一冗余信息和所述第一音频数据进行解码,以还原所述第一音频数据包。
根据本申请的第二方面内容,提供了一种在第二音频接收器中重传音频数据包的方法,所述第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
从所述第一音频接收器接收第一NACK消息,所述第一NACK消息用于指示所述第一音频接收器未成功接收到所述第一音频数据包;
基于所述第一NACK消息确定编码规则;
使用所述编码规则编码所述第一音频数据包,以获得第一冗余信息;以及
向所述第一音频接收器发送第二音频数据包,所述第二音频数据包包括第一冗余信息。
根据本申请的第三方面内容,提供了一种在第一音频接收器中重传音频数据包的方法,所述第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
响应于所述第一音频数据包解码失败,在未接收到用于指示所述第二音频接收器解码所述第一音频数据包失败的通知时,向所述第二音频接收器发送第一NACK消息,所述第一NACK消息用于指示所述第一音频接收器未成功接收到所述第一音频数据包;
接收所述音源重传的所述第一音频数据包,所述重传的所述第一音频数据包是所述音源在预设条件下发送的,所述预设条件是第一音频接收器和所述第二音频接收器均未能成功接收所述第一音频数据包。
根据本申请的第四方面内容,提供了一种在第二音频接收器中重传音频数据包的方法,所述第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信,所述方法包括:
在第一时隙从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
解码所述第一音频数据包;
在所述音源被设置为在第二时隙中未接收到ACK消息时确认所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包的情况下,响应于所述第一音频数据包解码失败且接收到所述第一音频接收器发送的第一NACK消息,在所述第二时隙中不向所述音源发送反馈消息,所述反馈消息包括所述ACK消息和第二NACK消息,所述第二时隙是相对于所述第一时隙的下一时隙,所述第二NACK消息用于指示所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包;
或,
在所述音源被设置为在第二时隙中接收到第二NACK消息时确认所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包的情况下,响应于所述第一音频数据包解码失败且接收到所述第一音频接收器发送的第一NACK消息,向所述音源发送第二NACK消息,所述第二时隙是相对于所述第一时隙的下一时隙,所述第二NACK消息用于指示所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包。
根据本申请的第五方面内容,提供了一种在第一音频接收器中重传音频数据包的方法,所述第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信,所述方法包括:
从所述音源接收第一音频数据包,其中所述第一音频数据包分别被所述第一音频接收器和第二音频接收器获取;
响应于所述第一音频数据包解码失败且已接收到的第一音频数据无法用于还原得到所述第一音频数据包,丢弃已接收到的所述第一音频数据;
向所述第二音频接收器发送丢失通知,所述丢失通知用于指示所述第一音频接收器完全丢失所述第一音频数据包;
接收所述第二音频接收器重传的所述第一音频数据包。
根据本申请的第六方面内容,提供了一种在第二音频接收器中重传音频数据包的方法,所述第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和第二音频接收器获取;
响应于所述第一音频数据包解码成功且接收到所述第一音频接收器发送的丢失通知,向所述音源发送第二NACK消息,所述丢失通知用于指示所述第一音频接收器完全丢失所述第一音频数据包,所述第二NACK消息用于指示所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包,以便所述音源向所述第一音频接收器重传所述第一音频数据包;或;
响应于所述第一音频数据包解码成功且接收到所述第一音频接收器发送的丢失通知,向所述音源发送ACK消息,并向所述第一音频接收器发送完整的所述第一音频数据包,所述丢失通知用于指示所述第一音频接收器完全丢失所述第一音频数据包,所述ACK消息用于指示所述第一音频接收器和所述第二音频接收器均已接收到所述第一音频数据包。
根据本申请的另一方面内容,提供了一种第一音频接收器,所述第一音频接收器包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如本申请中任意一方面提供的在第一音频接收器中重传音频数据包的方法。
根据本申请的另一方面内容,提供了一种第二音频接收器,所述第二音频接收器包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如本申请中任意一方面提供的在第二音频接收器中重传音频数据包的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请中任意一方面提供的在第一音频接收器中重传音频数据包的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请中任意一方面提供的在第二音频接收器中重传音频数据包的方法。
根据本申请的另一个方面内容,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述在第一音频接收器中重传音频数据包的方法。其中,计算机设备是第一音频接收器。
根据本申请的另一方面内容,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述在第二音频接收器中重传音频数据包的方法。其中,计算机设备是第二音频接收器。
根据本申请提供的一种无线音频系统,该系统包括音源、如第一方面内容提供的在第一音频接收器中重传音频数据包的方法、和如第二方面内容提供的在第二音频接收器中重传音频数据包的方法。
根据本申请提供的一种无线音频系统,该系统包括音源、如第三方面内容提供的在第一音频接收器中重传音频数据包的方法、和如第四方面内容提供的在第二音频接收器中重传音频数据包的方法。
根据本申请提供的一种无线音频系统,该系统包括音源、如第五方面内容提供的在第一音频接收器中重传音频数据包的方法、和如第六方面内容提供的在第二音频接收器中重传音频数据包的方法。
本申请提供的在第一音频接收器中重传音频数据包的方法,能够从音源接收第一音频数据包,在第一音频数据包解码失败时保存已接收到的数据包中的第一音频数据,向第二音频接收器发送第一NACK消息,该消息用于指示第一音频接收器未成功接收到第一音频数据包,随后接收第二音频接收器发送的第二音频数据包,该数据包中包括第一冗余信息,对第一冗余信息和第一音频数据进行解码,以还原第一音频数据包。由于本方案通过传送冗余信息来实现对第一数据的纠错,从而降低了重传的数据量,并降低了SNK-1获取正确信息的时延。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种TWS耳机和音源SRC的应用场景示意图;
图2是基于图1所示实施例提供的一种TWS耳机的组成结构示意图;
图3是本申请一个示例性实施例提供的一种在第一音频接收器中重传音频数据包的方法的流程图;
图4是本申请一个示例性实施例提供的一种在第二音频接收器中重传音频数据包的方法的流程图;
图5是本申请实施例提供的一种应用在无线音频系统中的重传音频数据包的方法的流程图;
图6是本申请实施例示出的另一种音频信息包的重传方法的示意图;
图7是基于图6所示实施例提供的一种还原第一音频数据包的示意图;
图8是本申请实施例示出的另一种音频信息包的重传方法的示意图;
图9是本申请实施例示出的另一种重传音频数据包的方法的示意图;
图10是本申请实施例提供的一种在第一音频接收器中重传音频数据包的方法的流程图;
图11是本申请实施例提供的一种在第二音频接收器中重传音频数据包的方法的流程图;
图12是本申请实施例示出的一种重传音频数据包的方法的示意图;
图13是本申请实施例提供的一种编码规则的设计方案示意图;
图14是本申请实施例提供的一种在第一音频接收器中重传音频数据包的方法的流程图;
图15是本申请实施例提供的一种在第二音频接收器中重传音频数据包的方法的流程图;
图16是本申请实施例示出的另一种音频信息包的重传方法的示意图;
图17是本申请实施例示出的另一种音频信息包的重传方法的示意图;
图18是本申请一个示例性实施例提供的一种音频接收器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在耳机技术的发展过程中,由于TWS技术能够免去耳机的线缆,使用方便,因此得到了大规模应用。请参见图1,图1是本申请实施例提供的一种TWS耳机和音源SRC的应用场景示意图。在图1中,用户的左耳佩戴TWS耳机中的第一耳机110,用户的右耳佩戴TWS耳机的第二耳机120,第一耳机110与音源130之间通过第一微微网(piconet-1)连接,第二耳机120与音源130之间通过第二微微网(piconet-2)连接,第一耳机110与第二耳机120之间通过第三微微网(piconet-3)相连。可选地,音源130可以是移动终端,比如手机、平板电脑、MP4播放终端、MP5播放终端、学习机、电子词典和智能手表等。
可选地,piconet-1和piconet-2可以是相同的无线网络。也即,具有同样的网络配置参数,使用相同的信道。当piconet-1和piconet-2使用相同的信道时,当SRC向第一耳机110发送音频信息时,第二耳机120可以通过侦测相同的信号获取到相同的音频信息,从而实现SRC同时将音频信息发送至第一耳机110和第二耳机120的效果。
可选地,第一耳机110与第二耳机120之间的piconet-3可以与piconet-1是具有不同配置的网络。在一种可能的方式中,piconet-3是一种私有无线链接(Primary WirelessLink)。其中,piconet-3具有双向通信的能力。
示意性地,请参考图2,图2是基于图1所示实施例提供的一种TWS耳机的组成结构示意图。在第一耳机110中,包括第一音频接收器111(SNK-1)和扬声器。换言之,第一音频接收器111和扬声器耦合组成第一耳机110。在一种可能的实施方式中,第一耳机110还可以包括电池、麦克风阵列、处理器、接近光传感器、压力传感器和骨传感器等组件。类似的,第二耳机120包括第二音频接收器121(SNK-2)和扬声器。
示意性的,在本申请实施例中,SNK-1和SNK-2同时接收第一音频数据包之后。当SNK-1没有成功收到第一音频数据包时,SNK-1不会把收到的第一音频数据包中的第一音频信息丢掉,而是保存下来。同时,SNK-1向SNK-2发送第一NACK消息,该第一NACK消息用于指示SNK-1未成功接收到第一音频数据包。SNK-2在收到SNK-1的第一NACK消息时,根据第一NACK消息,对SNK-2收到的第一音频数据包选取目标编码规则进行编码,得到额外的第一冗余信息。SNK-2将第一冗余信息封装成第二音频数据包,发送给SNK-1。SNK-1对第一冗余信息与原来保存的第一音频数据进行解码,以还原第一音频数据包。SNK-1可以通过与SNK-2交互的信息,决定发送第二音频数据包所在的时隙的持续时间长度,以保证有足够的时间完成第二音频数据包的交互。
请参考图3,图3是本申请一个示例性实施例提供的一种在第一音频接收器中重传音频数据包的方法的流程图。第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信。在图3中,重传音频数据包的方法包括:
步骤310,从音源接收第一音频数据包,第一音频数据包分别被第一音频接收器和第二音频接收器获取。
在本申请实施例中,SNK-1能够通过与音源之间的通信链路接收第一音频数据包。一种可能的方式中,SNK-1通过与音源之间建立的通信链路直接接收该第一音频数据包。另一种可能的方式中,SNK-1通过监听音源与SNK-2之间的通信链路,从而接收到第一音频数据包。
可选的,在本申请实施例中,SNK-1能够在第一时隙内,从音源接收第一音频数据包。
在第一时隙开始时,SRC向SNK-1或SNK-2发送第一音频数据包。另外一个SNK通过侦听的方式获取到第一音频数据包。也即,SRC可以仅与SNK-1和SNK-2中的一个之间具有通信链路。另一个SNK通过侦测该通信链路获取第一音频数据包。
例如,SRC与SNK-1之间具有通信链路,该通信链路可以是微微网(piconet)。SRC在第一时隙中,通过该通信链路向SNK-1传输第一音频数据包。相应的,SNK-2在第一时隙中,侦测该通信链路,从而获取到第一音频数据包。
又例如,SRC与SNK-2之间具有传输信道,该传输信道也可以是微微网(piconet)。SRC在当前时隙开始时,通过该传输信道向SNK-2传输第一音频数据包。相应的,SNK-1在当前时隙开始时,侦测该传输信道,从而获取到第一音频数据包。
步骤320,响应于第一音频数据包解码失败,保存已接收到的第一音频数据包中的第一数据。
在本例中,SNK-1接收完成第一音频数据包后,将对第一音频数据包进行解码。需要说明的是,在SNK-1解码第一音频数据包的过程中,SNK-1可以通过校验码对第一音频数据包进行校验,以验证第一音频数据包是否完整正确地接收。其中,校验码既可以是CRC(Cyclic Redundancy Check,循环冗余校验)码,也可以是其他具有校验功能的校验码。
当SNK-1解码第一音频数据包失败时,第一音频数据包将保存已接收到的第一音频数据包中的第一数据。需要说明的是,第一数据既可以是部分正确的第一音频数据包中的数据,也可以是既包括部分正确的数据也包括部分错误数据的内容,本申请实施例对此不作限定。
步骤330,向第二音频接收器发送第一NACK消息,第一NACK消息用于指示第一音频接收器未成功接收到第一音频数据包。
在本申请实施例中,SNK-1能够在第一时隙向SNK-2发送第一NACK消息。其中,该第一NACK消息用于指示SNK-1没有成功接收到第一音频数据包。可选的,针对SNK-1向SNK-2发送第一NACK消息的时机。一种可能的方式中,SNK-1在生成第一NACK消息后立即向SNK-2发送第一NACK消息。另一种可能的方式中,SNK-1在生成第一NACK消息后,经过指定数目个时间片后,向SNK-2发送第一NACK消息。在又一种可能的方式中,SNK-1在生成第一NACK消息后,经过随机(random)个时间片后,向SNK-2发送第一NACK消息。
步骤340,接收第二音频接收器发送的第二音频数据包,第二音频数据包包括第一冗余信息。
在本例中,SNK-1能够接收SNK-2发送的第二音频数据包。其中,第二音频数据包包括第一冗余信息。需要说明的是,SNK-1可以在发送第一NACK消息后,持续侦测SNK-1和SNK-2之间的通信链路,当通信链路中出现SNK-2发送的第二音频数据包后,接收该冗余信息。
可选地,第一时隙是音源处于相对第二音频接收器的发送状态所在的时隙,第二时隙是音源处于相对第二音频接收器的接收状态所在的时隙。
在一种可能的实施方式中,第一时隙是SRC向SNK-2发送第一音频数据包且SRC处于Tx状态所在的时隙。第二时隙是SNK-2相对SRC的数据是Rx状态所在的时隙。
步骤350,对第一冗余信息和第一音频数据进行解码,以还原第一音频数据包。
在本例中,SNK-1中可以预先设置目标编码规则,对第一冗余信息和第一音频数据进行解码,以还原第一音频数据包。在一种处理方式中,SNK-1中可以预先设置多个编码规则,在实际使用时从多个编码规则中选择目标编码规则进行使用。当第一音频数据包被还原后,第一音频接收器能够成功得到该第一音频数据包。
在一种可能的解码方式中,SNK-1可以先将第一冗余信息和第一音频数据合并,获得合并后的数据,然后再通过目标编码规则对合并后的数据进行解码,以还原第一音频数据包。
综上所述,本实施例提供在第一音频接收器SNK-1中重传音频信息包的方法应用,能够在SNK-1没能成功解码第一音频数据包时先把已接收到的第一音频数据保存下来,然后再从SNK-2中获取第二音频数据包,对第二音频数据包中的第一冗余信息和第一音频数据一起进行解码,进而得到完整的第一音频数据包,使得SNK-1无需再从SRC得到完整的第一音频数据包,也无需从SNK-2中得到完整的第一音频数据包,因此SNK-1仅需要再得到少量数据即可获取完整的第一音频数据包。由于本方案通过传送第一冗余信息来实现对第一音频数据包的还原,从而降低了重传的数据量,并降低了SNK-1在首次获取第一音频数据失败后获取第一音频数据的时延。
在由SNK-1、SNK-2和SRC组成的系统中,相对于SNK-1侧执行的方案,本申请还提供一种在SNK-2中重传音频数据包的方法,请参看如下实施例。
在图4中,图4是本申请一个示例性实施例提供的一种在第二音频接收器中重传音频数据包的方法的流程图。第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信。在图4中,重传音频数据包的方法包括:
步骤410,从音源接收第一音频数据包,第一音频数据包分别被第一音频接收器和第二音频接收器获取。
在本例中,SNK-2能够从SRC中接收第一音频数据包。其中,SNK-2接收第一音频数据包的时隙,和,SNK-1接收第一音频数据包的时隙是同一个时隙。
步骤420,从第一音频接收器接收第一NACK消息,第一NACK消息用于指示第一音频接收器未成功接收到第一音频数据包。
其中,SNK-2能够从SNK-1接收第一NACK消息。第一NACK消息的作用是指示SNK-1没有成功接收到第一音频数据包。在一种可能的方式中,第一NACK消息可以通过一个数据位表示。可选地,该数据位是1时表示SNK-1没有成功接收到第一音频数据包。或者,该数据位是0时表示SNK-1没有成功接收到第一音频数据包。
步骤430,基于第一NACK消息确定编码规则。
在本例中,SNK-2中可以预先存储多个编码规则。SNK-2能够从多个编码规则中,基于第一NACK消息确定编码规则。需要说明的是,不同的第一NACK消息能够确定出不同的编码规则。
步骤440,使用编码规则编码第一音频数据包,以获得第一冗余信息。
在本例中,SNK-2确定编码规则编码后,能够使用编码规则对第一音频数据包编码。例如,第一音频数据包的数据量是50字节,按照一个编码规则编码后,得到大小为10字节的第一冗余信息。
需要说明的是,本申请中的第一冗余信息的数据量小于第一音频数据包,以实现SNK-1快速还原第一音频数据包。
可选地,在一种可能的方式中,第一冗余信息中可以包括至少一部分原始数据。其中,该原始数据是第一音频数据包中原始的数据。在另一种可能的方式中,第一冗余信息可以不包括原始数据,仅包括全部根据编码规则编码出的新数据。
步骤450,向第一音频接收器发送第二音频数据包,第二音频数据包包括第一冗余信息。
在本例中,SNK-2在生成第一冗余信息,能够将第一冗余信息放置于第二音频数据包中,并将第二音频数据包发送至SNK-1中,以便SNK-1基于第一冗余信息与已保存的第一音频数据还原第一音频数据包。
综上所述,本申请所提供的在SNK-2中重传音频数据包的方法,能够令SNK-2在成功接收到第一音频数据包时,通过SNK-1发送的第一NACK消息获知SNK-1没有成功接收到第一音频数据包,在此情况下,SNK-2根据第一NACK消息确定出相应的编码规则,再使用编码规则编码第一音频数据包,以获取第一冗余信息,在得到第一冗余信息后,向SNK-1发送第二音频数据包。由于SNK-2能够在SNK-1没有正确接收第一音频数据包的情况下,获取SNK-1发送的第一NACK消息,进而确定对应的编码规则,在编码规则的作用下,根据第一音频数据包得到第一冗余信息,并将包含第一冗余信息的第二音频数据包发送给SNK-1,以令SNK-1能够根据第一冗余信息和已经接收到的第一音频数据,从而得到第一音频数据包。
在本申请实施例中,SNK-1还能够通过另一种方式在首次获取第一音频数据包失败后,再次通过SNK-2重传第一冗余信息的方式重新还原第一音频数据包,以避免系统再向SNK-1完整重传第一音频数据包,介绍如下。
请参考图5,图5是本申请实施例提供的一种应用在无线音频系统中的重传音频数据包的方法的流程图。该重传音频数据包的方法由无线音频系统中的音源(SRC)、第一音频接收器(SNK-1)和第二音频接收器(SNK-2)配合完成。该重传音频数据包的方法包括如下步骤。
步骤501,在第一时隙内,音源发送第一音频数据包。
相应的,SNK-1和SNK-2能够在第一时隙内,分别获取该第一音频数据包。
在一种可能的方式中,SNK-1在第一时隙内从SRC接收第一音频数据包,SNK-2在第一时隙内监听SRC发送给SNK-1的第一音频数据包,从而也能在第一时隙内够获取到该第一音频数据包。
在另一种可能的方式中,SNK-2在第一时隙内从SRC接收第一音频数据包,SNK-1在第一时隙内监听SRC发送给SNK-2的第一音频数据包,从而也能够在第一时隙内获取到该第一音频数据包。
步骤502,响应于第一音频数据包解码失败,第一音频接收器保存已接收到的第一音频数据包中的第一音频数据。
在SNK-1这一侧,其解码第一音频数据包可能成功也可能失败。在SNK-1解码第一音频数据包失败的情况下,SNK-1将已经接收到的数据保存下来。可选地,SNK-1可以将该数据作为临时数据存储在内存中,也可以将该数据作为持续保留的数据存储在外部存储芯片中。
步骤503,在第一时隙内,第一音频接收器向第二音频接收器发送第一NACK消息。
其中,第一NACK消息用于指示第一音频接收器未成功接收到第一音频数据包。本申请中设计SNK-1向SNK-2发送第一NACK消息,使得SNK-2能够知晓SNK-1未成功接收到第一音频数据包的情况。
需要说明的是,SNK-1可以根据随机退避机制或固定时间片确定第一发送时刻,并在第一发送时刻向SNK-2发送第一NACK消息。其中,第一发送时刻属于第一时隙。在该实现方式中,随机退避机制是SNK-1在需要发送第一NACK消息时,生成一个随机数,将随机数个时间片后的时刻确定为第一发送时刻。而固定时间片的方式是,SNK-1在需要发送第一NACK消息时,将固定个数个时间片后的时刻确定为第一发送时刻。
在本申请实施例中,第一NACK消息可以包括多种信息。在一种可能的方式中,第一NACK消息包括第一音频数据包的接收程度信息。该接收程度信息能够被SNK-2用来确定编码规则,并SNK-2根据编码规则编码第一音频数据包以获得第一冗余信息。
在另一种可能的方式中,第一NACK消息包括第一音频数据包的正确程度信息。SNK-2从SNK-1接收正确程度信息,该正确程度信息用于指示第一音频数据包被正确接收的概率;SNK-2基于正确程度信息,确定编码规则。同时,该正确程度信息能够被SNK-2用来确定编码规则,并SNK-2根据编码规则编码第一音频数据包以获得第一冗余信息。
作为一种落地的实现方式,正确程度信息可以包括第一音频数据包所在信道的信噪比SNR。或者,正确程度信息也可以包括第一音频数据包所在信道的历史误比特率(BitError Rate,BER)。或者,正确程度信息还可以同时包括第一音频数据包所在信道的信噪比SNR和历史误比特率BER。
相应地,在第一时隙内,SNK-2从SRC接收第一音频数据包。
相应的,SNK-2在第一时隙内从SNK-1接收第一NACK消息,并基于第一NACK消息确定编码规则。
在本申请实施例中,SNK-2可以根据第一NACK消息中包括的内容的不同,来确定相应的定编码规则。
步骤504,第二音频接收器使用编码规则编码第一音频数据包,以获得第一冗余信息。
在一种可能的方式中,第一NACK消息中包括的是第一音频数据包的接收程度信息。在此情况下,SNK-2从SNK-1接收接收程度信息,并基于接收程度信息确定编码规则。可选地,接收程度用于衡量从第一数据中接收到的可用信息的有效程度。可选地,编码规则可以是汉明(Hamming)码。
其中,该接收程度信息用于指示第一音频数据的数据量占第一音频数据包总的数据量的百分比。例如,接收程度信息可以是20%、30%或60%等介于0与1之间的数值,本申请实施例不对其具体的数值进行限定。
需要说明的是,在本申请实施例中,不同的接收程度信息可以对应不同的编码规则。例如,可以参见表一所示的接收程度信息和编码规则的对应情况。
表一
(0,0.2] | (0.2,0.4] | (0.4,0.6] | (0.6,0.8] | (0.8,1) |
编码规则A | 编码规则B | 编码规则C | 编码规则D | 编码规则E |
若本申请按照表一提供的场景设计有五种编码规则,则SNK-2能够先确定接收程度信息所在的区间中,然后再确定区间对应的编码规则。例如,若接收程度信息是0.5,则SNK-2确定出接收程度信息所在的区间是(0.4,0.6]。然后,SNK-2确定(0.4,0.6]对应的编码规则是编码规则C。
在一种可选的实现方式中,若第一接收程度信息大于第二接收程度信息,且第一接收程度信息对应的编码规则不同于第二接收程度信息对应的编码规则,则SNK-2使用第一接收程度信息对应的编码规则编码第一音频数据包获得的第一冗余信息的数据量,小于SNK-2使用第二接收程度信息对应的编码规则编码第一音频数据包获得的第一冗余信息的数据量。
在另一种可能的方式中,第一NACK消息中包括的是第一音频数据包的正确程度信息。该正确程度信息用于指示第一音频数据包被正确接收的概率,示意性的,该正确程度信息可以是30%、40%或60%等介于0与1之间的数值,本申请实施例不对其具体的数值进行限定。
步骤505,在第二时隙内,第二音频接收器向第一音频接收器发送第二音频数据包。
在本申请实施例中,SNK-2在第二时隙内,向SNK-1发送第二音频数据包。其中,第二时隙是相对第一时隙的下一个时隙。
相应的,SNK-1在第二时隙内,接收SNK-2发送的第二音频数据包。其中,第二时隙是相对第一时隙的下一个时隙。
在本申请实施例中,由于SNK-2成功接收到第一音频数据包。因此,第二音频数据包中还可以包括ACK消息。SRC可以通过监听的方式获取第二音频数据包,从而得到ACK消息。其中,该ACK消息用于向音源指示第一音频接收器和第二音频接收器均成功接收到了第一音频数据包。
在另一种可能的方式中,ACK消息可以和第二音频数据包中的第一冗余信息分属两个数据包。其中,第一冗余信息所在的第二音频数据包被SNK-2发送给SNK-1。ACK消息所在的数据包被SNK-2发送给SRC。也即,SNK-2向SRC发送ACK消息。ACK消息用于向音源指示第一音频接收器和第二音频接收器均成功接收到了第一音频数据包。
在又一种可能的实施方式中,第二音频数据包还包括指示信息。其中,该指示信息用于指示第二时隙的时长,以便第二时隙适于第一音频接收器和第二音频接收器之间交互第一NACK消息和第二音频数据包。
步骤506,基于编码规则来确定对应的解码规则,并且通过解码规则来对第一冗余信息和第一音频数据进行解码,以还原第一音频数据包。
在本例中,SNK-1能够基于编码规则来确定对应的解码规则。需要说明的是,编码规则和解码规则在设计时成对出现。例如,SNK-2中存储了5套编码规则,则SNK-1中可以存储相应的5套编码规则。
在另一种可能的方式中,编码规则和解码规则是设计成为一整套的规则。SNK-1和SNK-2被设计为共享编码规则。若SNK-1中存储有n套编码规则,则SNK-2中也同样存储有该n套编码规则。其中,n为大于或者等于1的正整数。
在本例中,若SNK-1成功还原了第一音频数据包,则本申请流程终止。若SNK-1仍没有还原第一音频数据包,则SNK-1继续执行后续步骤。
步骤507,响应于对第一冗余信息和第一音频数据解码失败,第一音频接收器向第二音频接收器发送第二接收失败通知。
在本例中,由于第一冗余信息是根据第一音频数据包编码后得到的数据量较小的数据。因此,SNK-1对第一冗余信息和第一音频数据解码时,有一定概率解码成功,同时也存在一定概率解码失败。当SNK-1解码失败时,SNK-1将再向SNK-2发送第二接收失败通知。其中,第二接收失败通知用于指示SNK-1对第一冗余信息和第一音频数据解码失败。
相应的,SNK-2接收SNK-1发送的第二接收失败通知。其中,第二接收失败通知用于指示第一音频接收器对第一冗余信息和第一音频数据解码失败。
在一种可能的方式中,SNK-1根据随机退避机制或固定时间片确定第二发送时刻。在第二发送时刻SNK-1向第二音频接收器发送第二接收失败通知。
其中,根据随机退避机制或固定时间片确定第二发送时刻的过程可以参见步骤503的执行过程,此处不再赘述。
步骤508,第二音频接收器向第一音频接收器发送第三音频数据包,第三音频数据包包括第二冗余信息。
其中,第二冗余信息的数据量大于第一冗余信息的数据量,以便第一音频接收器对第二冗余信息和第一音频数据进行解码,以还原第一音频数据包。
在本例中,由于第一冗余信息和第一音频数据已经不足还原第一音频数据包。因此,SNK-2将再次发送数据量更大的第二冗余信息。在本例中,SNK-2将第二冗余信息封装在第三音频数据包中。SNK-2通过向SNK-1发送第三音频数据包。
相应地,SNK-1接收SNK-2发送的第三音频数据包,第三音频数据包包括第二冗余信息,第二冗余信息的数据量大第三音频数据包于第一冗余信息的数据量。
步骤509,第一音频接收器对第二冗余信息和第一音频数据进行解码,以还原第一音频数据包。
综上所述,本申请实施例提供的方法,针对SNK-1而言,能够在SNK-1没能成功解码第一音频数据包时先把已接收到的第一音频数据保存下来,然后再从SNK-2中获取第二音频数据包,对第二音频数据包中的第一冗余信息和第一音频数据一起进行解码,进而得到完整的第一音频数据包,使得SNK-1无需再从SRC得到完整的第一音频数据包,也无需从SNK-2中得到完整的第一音频数据包,因此SNK-1仅需要再得到少量数据即可获取完整的第一音频数据包。由于本方案通过传送第一冗余信息来实现对第一音频数据包的还原,从而降低了重传的数据量,并降低了SNK-1在首次获取第一音频数据失败后获取第一音频数据的时延。针对SNK-2而言,能够令SNK-2在成功接收到第一音频数据包时,通过SNK-1发送的第一NACK消息获知SNK-1没有成功接收到第一音频数据包,在此情况下,SNK-2根据第一NACK消息确定出相应的编码规则,再使用编码规则编码第一音频数据包,以获取第一冗余信息,在得到第一冗余信息后,向SNK-1发送第二音频数据包。由于SNK-2能够在SNK-1没有正确接收第一音频数据包的情况下,获取SNK-1发送的第一NACK消息,进而确定对应的编码规则,在编码规则的作用下,根据第一音频数据包得到第一冗余信息,并将包含第一冗余信息的第二音频数据包发送给SNK-1,以令SNK-1能够根据第一冗余信息和已经接收到的第一音频数据,从而得到第一音频数据包。
基于上述实施例所示的方法,本申请实施例还可以通过多种案例来说明本申请的实施场景。针对上述图3至图5所示实施例提供的方案,本申请提供有如下图6、图8和图9所示的落地案例。
请参见图6,图6是本申请实施例示出的另一种音频信息包的重传方法的示意图。在本例中,该重传方法分为7个处理阶段。
在阶段610中,在时隙N中,音源SRC在时隙N开始后进入Tx状态,同时向SNK-2和SNK-1发送第一音频数据包(第一音频数据包可以用Data 1表示)。
相应的,音源SRC在时隙N内进入Tx状态(发送状态),SNK-2进入Rx状态(接收状态)并成功接收到第一音频数据包。SNK-1也进入Rx状态但接收并解码第一音频数据包时失败,
在阶段620中,在音源SRC处于Tx状态时,SNK-1处于Rx状态,但在接收过程中解码第一音频数据包失败。SNK-1在退出Tx状态后,保存已经接收到的第一音频数据包中的第一音频数据。随后,SNK-1将进入Tx状态。
在阶段630中,SNK-1处于Tx状态,尝试将重传请求发送至SNK-2。
在阶段640中,对应于SNK-1处于Tx状态的时段,SNK-2处于Rx状态,从SNK-1接收第一NACK消息。SNK-2根据第一NACK消息,明了SNK-1解码第一音频数据包失败。随后,SNK-2将根据第一NACK消息中携带的重传请求中的接收程度和/或正确程度信息确定编码规则,再基于编码规则编码第一音频数据包得到第一冗余信息RI(Redundant Information)。
在阶段650中,在时隙N+1中,SNK-2进入Tx状态以发送第二音频数据包。SNK-2将发送给音源SRC的ACK消息和发送给SNK-1的第一冗余信息打包在第二音频数据包中,向音源SRC发送。
在阶段660中,在SNK-2处于Tx状态时,SNK-1处于Rx状态并通过监听SNK-2与SRC之间的通信链路以获取第二音频数据包。
在SNK-1从第二音频数据包中获取到第一冗余信息RI后。SNK-1基于编码规则确定解码规则。SNK-1基于解码规则,对第一冗余信息RI和已保存的第一音频数据进行解码,以还原第一音频数据包。在本例中,SNK-1在阶段760中成功还原了第一音频数据包。
示意性的,SNK-1基于解码规则接对第一冗余信息RI和第一音频数据进行解码的流程。可参见图7,图7是基于图6所示实施例提供的一种还原第一音频数据包的示意图。在图7中,SNK-1基于解码规则解码第一音频数据和第一冗余信息RI,得到待确认数据包。随后,SNK-1可以对待确认数据包进行校验,校验通过后将待确认数据包确定为第一音频数据包,并确认本次流程成功还原了第一音频数据包。其中,图7中的参数1是解码方法对应的编码方法编码第一音频数据包时使用的相同的参数。
在阶段670中,在SNK-2处于Tx状态时,音源SRC处于Rx状态。音源SRC接收第二音频数据包,并从第二音频数据包中获取ACK信息。音源SRC根据ACK信息明了SNK-2和SNK-1均已成功收到第一音频数据包,从而结束第一音频数据包的传输流程,并不会再重传第一音频数据包。
请参见图8,图8是本申请实施例示出的另一种音频信息包的重传方法的示意图。在本例中,该重传方法分为10个处理阶段。
在阶段801中,SRC在时隙N开始后进入Tx状态,在进入Tx状态后向SNK-2和SNK-1发送第一音频数据包(Data 1)。
在SRC进入Tx状态的时段,SNK-2进入Rx状态并成功接收到第一音频数据包。
在阶段802中,在SRC进入Tx状态的时段,SNK-1进入Rx状态。但SNK-1没有成功解码第一音频数据包,而是保存已成功接收到的第一音频数据包中的第一音频数据。
在阶段803中,SNK-1进入Tx状态,将第一NACK消息发送至SNK-2。
在阶段804中,相应于阶段803的SNK-1处于Tx状态的时段,SNK-2处于Rx状态,并接收第一NACK消息。SNK-2根据第一NACK消息中的接收程度确定编码规则,再基于编码规则和接收程度计算出第一冗余信息RI。或者,SNK-2直接基于接收程度确定编码规则,再基于编码规则和接收程度计算出第一冗余信息RI。
在阶段805中,SNK-2在时隙N+1中,进入Tx状态并向SRC发送第二音频数据包。第二音频数据包中包括第一冗余信息和ACK消息。可选地,第二数据包括还可以包括指示信息,该指示信息用于设置发送第二音频数据包所在的时隙的时长。
在本例中,该时隙是第N+1时隙。若第一时隙是第N时隙,则第二时隙时第N+1时隙。
在阶段806中,SNK-1接收并获取SNK-2发送的第二音频数据包中的第一冗余信息RI_1,并对第一冗余信息RI_1与保存的第一音频数据进行解码。
在阶段807中,相应于阶段803中SNK-2处于Tx状态的时段,SRC处于Rx状态。SRC在Rx状态中接收第二音频数据包,从第二音频数据包中的获取ACK消息,基于ACK消息获知SNK-1和SNK-2均已收到第一音频数据包的信息,从而不会向SNK-1或者SNK-2重传第一音频数据包。
在阶段808中,由于SNK-1基于第一冗余信息RI_1仍然无法还原出第一音频数据包。因此,SNK-1在时隙N+1的剩余时间内,再次进入Tx状态并向SNK-2发送第二接收失败通知。
相应于阶段808中SNK-1处于Tx状态的时段,SNK-2进入Rx状态。且SNK-2接收SNK-1发送的第二接收失败通知。
在阶段809中,SNK-2基于第二接收失败通知,再计算第二冗余信息RI_2。SNK-2在时隙N+1的剩余时间内进入Tx状态,向SNK-1发送第二冗余信息RI_2。
在阶段810中,相应于阶段809中SNK-2处于Tx状态的时段,SNK-1进入Rx状态并接收SNK-2发送的第二冗余信息RI_2。SNK-1对第二冗余信息RI_2与保存的第一音频数据进行解码。或者,SNK-1将第二冗余信息RI_2、第一冗余信息RI_1和第一音频数据进行解码。
需要说明的是,若SNK-1在两次从SNK-2中获取冗余信息后仍没有成功还原第一音频数据包时,则SNK-1可以直接向SNK-2请求重传第一音频数据包。
在另一种可能的方式中,SNK-1和SNK-2还可以被设计进行三次、四次或者多次获取冗余信息的交互过程,该次数可以是Q次,Q为大于1的正整数。当,SNK-1和SNK-2之间获取冗余信息的次数超过Q次时,SNK-1将请求SNK-2发送完整的第一音频数据包。
请参见图9,图9是本申请实施例示出的另一种重传音频数据包的方法的示意图。在本例中,处理过程分为10个处理阶段。
在阶段901中,SRC在时隙N开始后进入Tx状态,同时向SNK-2和SNK-1发送第一音频数据包(Data 1)。
在本例中,时隙N中的N根据实际需要设置。在一种可能的方式中,时隙N可以是第一时隙。
在阶段902中,SNK-1进入Rx状态,但是SNK-1没有成功接收到第一音频数据包。
在本例中,在阶段901中的SRC处于Tx状态的时段中,SNK-1进入Rx状态。但在该Rx状态先,SNK-1没有成功解码第一音频数据包。
在阶段903中,SNK-1在退出Rx状态后,进入Tx状态向SNK-2发送第一NACK消息。
在阶段904中,SNK-2进入Rx状态,SNK-2根据SNK-1的第一NACK消息,计算出第一冗余信息。
相应于阶段903中SNK-1处于Tx状态的时段,在阶段904中SNK-2进入Rx状态。
在结束阶段904后,SNK-2在时隙N+1中进入Tx状态,并向SRC发送ACK消息。
在阶段905中,SRC处于Rx状态,SRC接收SNK-2发送的ACK消息。
其中,由于ACK消息指示SNK-1和SNK-2均已接收到第一音频数据包。因此,SRC不会再向SNK-1和SNK-2重传第一音频数据包。
在阶段906中,SNK-2在发送完ACK后,将第一冗余信息发送给SNK-1。
在阶段907中,SNK-1处于Rx状态,接收并解析SNK-2的第一冗余信息,并对第一冗余信息与第一音频数据进行解码。
在阶段908中,SNK-1使用第一冗余信息仍无法还原第一音频数据包。在时隙N+1的持续时间内,SNK-1向SNK-2发送第二接收失败通知。
相应于阶段908,SNK-2进入Rx状态并获取第二接收失败通知。
在阶段909中,SNK-2根据第二接收失败信息,重新计算第二冗余信息。SNK-2进入Tx状态,在时隙N+1的剩余时间内向SNK-1发送第二冗余信息。
在阶段910中,SNK-1接收SNK-2发送的第二冗余信息,既可以单独对第二冗余信息和第一音频数据进行解码,也可以对第二冗余信息、第一冗余信息和第一音频数据进行解码,本申请对此不作限定。
需要说明的是,若SNK-1在两次从SNK-2中获取冗余信息后仍没有成功还原第一音频数据包时,则SNK-1可以直接向SNK-2请求重传第一音频数据包。
在另一种可能的方式中,SNK-1和SNK-2还可以被设计进行三次、四次或者多次获取冗余信息的交互过程,该次数可以是Q次,Q为大于1的正整数。当,SNK-1和SNK-2之间获取冗余信息的次数超过Q次时,SNK-1将请求SNK-2发送完整的第一音频数据包。
在本申请实施例中,还存在SNK-1和SNK-2都没有成功解码第一音频数据包的情况,在该情况中,本申请提供了一种重传音频数据包的方法,请参见如下实施例。
请参见图10,图10是本申请实施例提供的一种在第一音频接收器中重传音频数据包的方法的流程图。其中,第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信。在图10中,该重传音频数据包的方法包括:
步骤1010,从音源接收第一音频数据包,第一音频数据包分别被第一音频接收器和第二音频接收器获取。
在本例中,SNK-1从SRC接收了第一音频数据包。其中,该第一音频数据包还被SNK-2获取。
步骤1020,响应于第一音频数据包解码失败,在未接收到用于指示第二音频接收器解码第一音频数据包失败的通知时,向第二音频接收器发送第一NACK消息,第一NACK消息用于指示第一音频接收器未成功接收到第一音频数据包。
在本例中,SNK-1也有可能接收到用于指示SNK-2解码失败的通知。若SNK-1接收到该通知,则由SNK-1执行向SRC告知两个设备均没有成功解码第一音频数据包的情况。在本例中,SNK-1和SNK-2都没有成功解码第一音频数据包,因此需要竞争向对方发送第一NACK消息。本申请以SNK-1抢先向SNK-2发送第一NACK消息为例进行说明。
其中,第一NACK消息用于指示SNK-1未成功接收到第一音频数据包。
步骤1030,接收音源重传的第一音频数据包,重传的第一音频数据包是音源在预设条件下发送的,预设条件是第一音频接收器和第二音频接收器均未能成功接收第一音频数据包。
在本例中,SNK-1接收SRC重传的第一音频数据包。其中,SRC能够在预设条件下向SNK-1重传该第一音频数据包。需要说明是,预设条件是第一音频接收器和第二音频接收器均未能成功接收第一音频数据包。
其中,SRC可以是通过SNK-2发送的消息获知已处于预设条件中。触发SNK-2通知SRC其已经处于预设条件的触媒是SNK-1发送的第一NACK消息。
综上所述,本申请提供的一种在第一音频接收器中重传音频数据包的方法,能够在SNK-1和SNK-2均没有成功解码第一音频数据包的情况下,令SNK-1和SNK-2互相竞争向SRC反馈信息。在本例中,SNK-1抢先向SNK-2发送了第一NACK消息,令SNK-2通知SRC其已处于预设条件中。从而,SRC将分别向SNK-1和SNK-2重传第一音频数据包,实现了重传第一音频数据包的效果,避免了SNK-1和SNK-2在两者都没有成功解码的场景下,无法及时获取重传的第一音频数据包的问题。
请参见图11,图11是本申请实施例提供的一种在第二音频接收器中重传音频数据包的方法的流程图。图11所示的由SNK-2执行的方案是图10所示的由SNK-1执行的方案的另一侧的方案。SNK-2配置为与音源进行通信,并且SNK-2与SNK-1进行通信,在重传音频数据包的方法中,包括:
步骤1110,在第一时隙从音源接收第一音频数据包,第一音频数据包分别被第一音频接收器和第二音频接收器获取。
在本例中,SNK-2在第一时隙从SRC中接收第一音频数据包。其中,第一音频数据包能够同时被第一音频接收器和第二音频接收器获取。
步骤1120,解码第一音频数据包。
在本例中,SNK-2也将解码第一音频数据包。
在本申请实施例中,SNK-2在执行完成步骤1120后,既可以执行步骤1130,也可以执行步骤1140。
步骤1130,在音源被设置为在第二时隙中未接收到ACK消息时确认第一音频接收器和第二音频接收器均没有接收到第一音频数据包的情况下,响应于第一音频数据包解码失败且接收到第一音频接收器发送的第一NACK消息,在第二时隙中不向音源发送反馈消息,反馈消息包括ACK消息和第二NACK消息,第二时隙是相对于第一时隙的下一时隙,第二NACK消息用于指示第一音频接收器和第二音频接收器均没有接收到第一音频数据包。
在本例中,SRC能够被预设有重传第一音频数据包的预设条件。该预设条件是以第二时隙为限定,在第二时隙中没有接收到ACK消息时确认SNK-1和SNK-2均没有成功解码第一音频数据包。也即SNK-1和SNK-2均没有成功接收到第一音频数据包。
在此情况下,SNK-2能够在自身解码第一音频数据包失败,并且接收到SNK-1发送的第一NACK消息时,在第二时隙不向SRC发送反馈消息。其中,第二时隙是第一时隙的下一个时隙。反馈消息中包括ACK消息和第二NACK消息。第二NACK消息用于指示SNK-1和SNK-2均没有成功接收到第一音频数据包。换言之,SNK-2在第二时隙内,既不会向SRC发送用于指示SNK-1和SNK-2都成功接收第一音频数据包的消息,也不会向SRC发送用于指示SNK-1和SNK-2都没有成功接收第一音频数据包的消息。
步骤1140,在音源被设置为在第二时隙中接收到第二NACK消息时确认第一音频接收器和第二音频接收器均没有接收到第一音频数据包的情况下,响应于第一音频数据包解码失败且接收到第一音频接收器发送的第一NACK消息,向音源发送第二NACK消息,第二时隙是相对于第一时隙的下一时隙,第二NACK消息用于指示第一音频接收器和第二音频接收器均没有接收到第一音频数据包。
在本例中,SRC能够被预设有重传第一音频数据包的预设条件。该预设条件是以第二时隙为限定,在第二时隙中接收到第二NACK消息时确认SNK-1和SNK-2均没有接收到第一音频数据包。
在此情况中,SNK-2能够在自身解码第一音频数据包失败,并且接收到SNK-1发送的第一NACK消息时,在第二时隙向SRC发送第二NACK消息。其中,第二时隙是相对于第一时隙的下一时隙。第二NACK消息用于指示SNK-1和SNK-2均没有接收到第一音频数据包。
综上所述,本申请实施例提供的在第二音频接收器中重传音频数据包的方法,能够令SNK-2在第一时隙从SRC接收第一音频数据包,并且解码该第一音频数据包。在SRC中预设在第二时隙中没有接收到反馈消息时确认SNK-1和SNK-2均没有成功接收到第一音频数据包的情况下,SNK-2能够在解码第一音频数据包失败且接收到SNK-1发送的第一NACK消息时,在第二时隙不向SRC发送反馈消息,以便SRC知晓SNK-1和SNK-2均没有成功接收到第一音频数据包,从而便于SRC向SNK-2和/或SNK-1重传第一音频数据包,实现了重传第一音频数据包的效果,避免了SNK-1和SNK-2在两者都没有成功解码的场景下,无法及时获取重传的第一音频数据包的问题。
可选的,本申请还能够令SNK-2在第一时隙从SRC接收第一音频数据包,并且解码该第一音频数据包。在SRC中预设在第二时隙中接收到第二NACK消息的情况下,SNK-2能够在解码第一音频数据包失败且接收到SNK-1发送的第一NACK消息时,在第二时隙向SRC发送第二NACK消息,以便SRC知晓SNK-1和SNK-2均没有成功接收到第一音频数据包,从而便于SRC向SNK-2和/或SNK-1重传第一音频数据包,实现了重传第一音频数据包的效果,避免了SNK-1和SNK-2在两者都没有成功解码的场景下,无法及时获取重传的第一音频数据包的问题。
作为图10和图11所示实施例的一种可能的落地实现方式,请参见图12所示的方案。图12是本申请实施例示出的一种重传音频数据包的方法的示意图。在图12提供的案例中,第一音频数据包的重传过程分为6个处理阶段。
在阶段1210中,音源SRC在时隙N中进入Tx状态。SRC在进入Tx状态后,向SNK-2和SNK-1发送第一音频数据包(第一音频数据包也可用Data 1表示)。
需要说明的是,时隙N表示N个时隙中的第N个时隙,N为正整数。在实际处理过程中,N可以根据需要选择适合的数值。
在本例中,音源SRC可以在刚进入时隙N后,立即进入Tx状态。当音源SRC处于Tx状态时,音源SRC可以向SNK-2发送第一音频数据包。同时SNK-1可以通过监听音源SRC向SNK-2发送信息的通信链路,来获取第一音频数据包。
或者,音源SRC在进入Tx状态后,音源SRC向SNK-1发送第一音频数据包。同时SNK-2可以通过监听音源SRC向SNK-1发送信息的通信链路,来获取第一音频数据包。
在阶段1220中,在音源SRC处于Tx状态的时段,SNK-2处于Rx状态以接收第一音频数据包。在SNK-2没有成功解码第一音频数据包Data1的情况下,SNK-2会在退出Rx状态后,尝试向SNK-1发送重传请求。
在阶段1230中,SNK-1处于Rx状态,SNK-1没有成功解码第一音频数据包Data1。SNK-1会在阶段1230所示的接收过程结束后,进入阶段1240。
在阶段1240中,SNK-1处于Tx状态,SNK-1首先向SNK-2发送第一NACK消息。相应的,SNK-2处于Rx状态,接收该第一NACK消息。
在阶段1250中,SNK-2由于先收到了第一NACK消息,从而放弃了向SNK-1发送第一NACK消息。
也即,在实际执行过程中,阶段1250对应的预设数据包并没有发送。图12中以虚线框示出阶段1250所处的时序位置。
在阶段1260中,SNK-2由于得到了SNK-1的第一NACK消息,且SNK-2也没有收到SRC的第一音频数据包Data1。所以SNK-2可以选择在时隙N+1向SRC发送第二NACK消息,也可以选择不发送任何音频数据包。在SNK-2处于Tx状态的时段,SRC处于Rx状态。从而SRC能够知晓SNK-1和SNK-2均没有接收到第一音频数据包,进而向SNK-1和/或SNK-2重传第一音频数据包。
请参见图13,图13是本申请实施例提供的一种编码规则的设计方案示意图,在图13中,本申请可以为第一音频数据包预设多种编码规则。图13中以多种编码规则为2种为例进行介绍。其中,第一音频数据包在编码规则1下,可以按照接收程度1进行编码,得到编码后的第一音频数据包和对应的冗余信息RI_11。第一音频数据包在编码规则1下,可以按照接收程度2进行编码,得到编码后的第一音频数据包和对应的冗余信息RI_12。例如,接收程度1可以是0.4,接收程度2可以是0.5。示意性地说明,由于接收程度1较低,其生成的冗余信息RI_11的数据量相较于冗余信息RI_12会多一些。
类似的,第一音频数据包在编码规则2下,可以按照接收程度3进行编码,得到编码后的第一音频数据包和对应的冗余信息RI_21。第一音频数据包在编码规则2下,可以按照接收程度4进行编码,得到编码后的第一音频数据包和对应的冗余信息RI_22。例如,接收程度3可以是0.6,接收程度4可以是0.7。示意性地说明,由于接收程度3较低,其生成的冗余信息RI_21的数据量相较于冗余信息RI_22会多一些。
在一种可能的编码规则的选择方式中,SNK可以根据接收程度选择相应的编码规则。例如,本例中当接收程度在[0.4,0.5]区间内时,选择编码规则1作为目标编码方式。当接收程度在在[0.6,0.1)区间内时,选择编码规则2作为目标编码方式。需要说明的是,当接收程度在(0,0.4)区间内时,SNK将自认接收程度过低,无需选择编码规则,而是请求SRC重传第一音频数据包。或者,请求另一个成功接收到第一音频数据包的SNK重传。
在本申请实施例中,还可能存在这样一种情况。其中SNK-1接收的第一音频数据包的数据过少,但SNK-2成功接收并解码第一音频数据包。在该情况下,若依旧令SNK-2向SNK-1反馈冗余信息,则SNK-1无法还原第一音频数据包,反而导致SNK-1需要多次交互之后才能还原第一音频数据包,延长了SNK-1还原第一音频数据包的时长。因此,为了解决该场景中SNK-1还原第一音频数据包的时长潜在的可能耗时较长的问题。本申请提供如下实施例。
请参见图14,图14是本申请实施例提供的一种在第一音频接收器中重传音频数据包的方法的流程图。其中,第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信。在图14中,该重传音频数据包的方法包括:
步骤1410,从音源接收第一音频数据包,其中第一音频数据包分别被第一音频接收器和第二音频接收器获取。
在本例中,SNK-1能够从SRC接收第一音频数据包。其中,第一音频数据包也能够被SNK-2接收。
步骤1420,响应于第一音频数据包解码失败且已接收到的第一音频数据无法用于还原得到第一音频数据包,丢弃已接收到的第一音频数据。
在本例中,SNK-1接收第一音频数据包时可能出现接收到的数据量非常少的情况。在该场景中,SNK-1中可以设置一个数据阈值,该阈值既可以是一个百分比,也可以是一个固定的数值。当SNK-1保存的第一音频数据的数据量小于该数据阈值时,SNK-1确定自身已接收到的第一音频数据无法用于还原得到第一音频数据包,进而丢弃已经接收到的第一音频数据。
步骤1430,向第二音频接收器发送丢失通知,丢失通知用于指示第一音频接收器完全丢失第一音频数据包。
在本例中,SNK-1向SNK-2发送丢失通知,该丢失通知用于指示SNK-1已经完全丢失第一音频数据包。
步骤1440,接收第二音频接收器重传的第一音频数据包。
在本例中,SNK-1能够接收SNK-2重传的第一音频数据包。其中,SNK-2在获取丢失通知后,在自身已经成功解码第一音频数据包的情况下,会向SNK-1重传第一音频数据包。
综上所述,本申请实施例提供的在第一音频接收器中重传音频数据包的方法,能够令SNK-1接收第一音频数据包,SNK-1在解码第一音频数据包失败并且已经接收到的数据无法用于和冗余信息一起还原得到第一音频数据包,则SNK-1将丢弃已经接收到的第一音频数据,并告知SNK-2,随后SNK-1能够接收到SNK-2重传的第一音频数据,从而实现了在接收到的数据过少的时候,直接从SNK-2重新获取完整的第一音频数据包,而不再进行获取冗余信息的交互过程,减低了SNK-1在首次获取第一音频数据包中的数据量较少的情况下,重新获取第一音频数据包的时延。
请参考图15,图15是本申请实施例提供的一种在第二音频接收器中重传音频数据包的方法的流程图。其中,第二音频接收器配置为与音源进行通信,并且第二音频接收器与第一音频接收器进行通信。该实施例中的SNK-2与图13中的SNK-1以及SRC组成一个无线音频系统工作。该方法包括:
步骤1510,从音源接收第一音频数据包,第一音频数据包分别被第一音频接收器和第二音频接收器获取。
在本例中,SNK-2将从SRC接收第一音频数据包。其中,SNK-1获取第一音频数据包的来源也是SRC。
在本例中,SNK-2在执行完成步骤1510后,既可以执行步骤1520,也可以执行步骤1530。
在一种可能的方式中,SNK-2在第一时隙从SRC接收第一音频数据包。
步骤1520,响应于第一音频数据包解码成功且接收到第一音频接收器发送的丢失通知,向音源发送第二NACK消息,丢失通知用于指示第一音频接收器完全丢失第一音频数据包,第二NACK消息用于指示第一音频接收器和第二音频接收器均没有接收到第一音频数据包,以便音源向第一音频接收器重传的第一音频数据包。
在一种可能的方式中,SNK-2在第二时隙向SRC第二NACK消息。其中,第二时隙是相对于第一时隙的下一个时隙。
步骤1530,响应于第一音频数据包解码成功且接收到第一音频接收器发送的丢失通知,向音源发送ACK消息,并向第一音频接收器发送完整的第一音频数据包,丢失通知用于指示第一音频接收器完全丢失第一音频数据包,ACK消息用于指示第一音频接收器和第二音频接收器均已接收到第一音频数据包。
在一种可能的方式中,SNK-2在第二时隙向音源发送ACK消息。
在一种可能的方式中,SNK-2向SRC发送的ACK消息和向SNK-1发送的完整的第一音频数据包可以打包成为一个数据包。详情可参见步骤(a1)。
步骤(a1),SNK-2将ACK消息和完整的第一音频数据包打包为一个组合数据包;在第二时隙向音源和第一音频接收器发送组合数据包。
需要说明的是,SNK-2可以将组合数据包发送给SRC。其中SNK-1通过监听的方式,也能够获取该组合数据包。或者,SNK-2可以将组合数据包发送给SNK-1,SRC通过监听的方式获取该组合数据包。
在另一种可能的方式中,SNK-2向SRC发送的ACK消息和向SNK-1发送的完整的第一音频数据包,可以分为两个独立的数据包分别发送。详情可参见步骤(a2)。
步骤(a2),在第二时隙向音源发送ACK消息;并且在第二时隙向第一音频接收器重传第一音频数据包。
在本例中,SNK-2在第二时隙向SRC发送ACK消息。并且,SNK-2在第二时隙向SNK-1重传第一音频数据包。
综上所述,本申请所示的一种在第二音频接收器中重传音频数据包的方法,能够令SNK-2先从SRC接收第一音频数据包,并且SNK-2解码第一音频数据包,当SNK-2解码第一音频数据包成功且获知SNK-1丢弃了第一音频数据时,SNK-2向SRC发送第二NACK消息,以告知SRC需要重传第一音频数据包,以便SRC向SNK-1重传第一音频数据包,降低了SNK-1重新获取第一音频数据包的时延。
可选的,本申请还能够令SNK-2先从SRC接收第一音频数据包,并且SNK-2解码第一音频数据包,当SNK-2解码第一音频数据包成功且获知SNK-1丢弃了第一音频数据时,SNK-2向SRC发送ACK消息,以令SRC不再重传第一音频数据包,而是由SNK-2向SNK-1重传第一音频数据包,降低了SNK-1重新获取第一音频数据包的时延。
基于上述实施例所示的方法,本申请实施例还可以通过多种案例来说明本申请的实施场景。针对上述图14和图15所示实施例提供的方案,本申请提供有如下图16和图17所示的落地案例。
请参见图16,图16是本申请实施例示出的另一种音频信息包的重传方法的示意图。在本例中,处理过程分为5个处理阶段。
在阶段1601中,SRC在时隙N开始后进入Tx状态,同时向SNK-2和SNK-1发送第一音频数据包(Data 1)。
在阶段1602中,SNK-1没有收到第一音频数据包,且完全丢弃了第一音频数据包中的第一音频数据。SNK-1会在接收过程结束后,尝试发送向SNK-2发送的丢失通知。
在阶段1603中,SNK-1在阶段1102结束后,首先发送丢失通知至SNK-2。
在阶段1604中,SNK-2收到SNK-1的丢失通知,不再计算第一冗余信息。
在阶段1605中,由于SNK-1无法正确得到第一音频数据包,所以SNK-2选择向SRC发送第二NACK消息,以触发SRC重传第一音频数据包。
请参见图17,图17是本申请实施例示出的另一种音频信息包的重传方法的示意图。在本例中,处理过程分为7个处理阶段。
在阶段1701中,SRC在时隙N开始后进入Tx状态,同时向SNK-2和SNK-1发送第一音频数据包(Data 1)。
在阶段1702中,SNK-1没有收到第一音频数据包,且完全丢弃了其中的第一音频数据。因此,SNK-1会在接收过程结束后,尝试向SNK-2发送的丢失通知。
在阶段1703中,SNK-1首先将丢失通知发送至SNK-2。
在阶段1704中,SNK-2收到SNK-1发送的丢失通知,不再计算第一冗余信息。
在阶段1705中,SNK-2向SRC发送组合数据包,组合数据包中包括发送至SRC的ACK消息和完整的第一音频数据包。
在阶段1706中,SRC基于组合数据包中的ACK消息,得到SNK-2已经收到第一音频数据包的信息,从而不会重传第一音频数据包。
在阶段1707中,SNK-1接收并解析组合数据包中包含的第一音频数据包。
请参见图18,图18是本申请一个示例性实施例提供的一种音频接收器的结构框图,如图18所示,该音频接收器包括处理器1820和存储器1840,所述存储器1840中存储有至少一条指令,所述指令由所述处理器1820加载并执行以实现如本申请各个方法实施例所述的重传音频数据包的方法。
可选地,图18所示的音频接收器既可以是第一音频接收器也可以是第二音频接收器。
处理器1820可以包括一个或者多个处理核心。处理器1820利用各种接口和线路连接整个音频接收器1800内的各个部分,通过运行或执行存储在存储器1840内的指令、程序、代码集或指令集,以及调用存储在存储器1840内的数据,执行音频接收器1800的各种功能和处理数据。可选的,处理器1820可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1820可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1820中,单独通过一块芯片进行实现。
存储器1840可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选的,该存储器1840包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1840可用于存储指令、程序、代码、代码集或指令集。存储器1840可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
收发组件1860中包括信号处理单元和天线。收发组件1860可以接收经由目标信道发送的反馈信息,还可以向音源发送反馈信息,或者也可以向第一音频接收器发送反馈信息。示意性的,收发组件1860还可以配合处理器1820计算第一音频数据包的信噪比(Signal-to-Noise Ratio,SNR)。或者,收发组件1860还可以配合处理器1820计算接收所述第一音频数据包所在信道的历史误比特率BER。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的在第一音频接收器中重传音频数据包的方法。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的在第二音频接收器中重传音频数据包的方法。
需要说明的是,本申请中音源SRC、第一音频接收器SNK-1和第二音频接收器SNK-2组成一个无线音频系统。
可选地,如图3所示的SNK-1、如图4所示的SNK-2和音源组成一种无线音频系统。
可选地,如图10所示的SNK-1、如图11所示的SNK-2和音源组成另一种无线音频系统。
可选地,如图14所示的SNK-1、如图15所示的SNK-2和音源组成另一种无线音频系统。
需要说明的是:上述实施例提供的音频信息的重传装置在执行重传音频数据包的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的音频信息的重传装置与重传音频数据包的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (37)
1.一种在第一音频接收器中重传音频数据包的方法,所述第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信,其特征在于,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
响应于所述第一音频数据包解码失败,保存已接收到的所述第一音频数据包中的第一音频数据;
向所述第二音频接收器发送第一NACK消息,所述第一NACK消息用于指示所述第一音频接收器未成功接收到所述第一音频数据包;
接收所述第二音频接收器发送的第二音频数据包,所述第二音频数据包包括第一冗余信息;以及
对所述第一冗余信息和所述第一音频数据进行解码,以还原所述第一音频数据包。
2.根据权利要求1所述的方法,其特征在于,所述第一NACK消息包括所述第一音频数据包的接收程度信息,以便所述第二音频接收器基于所述接收程度信息确定编码规则,所述第二音频接收器使用所述编码规则编码所述第一音频数据包,以获得所述第一冗余信息。
3.根据权利要求1所述的方法,其特征在于,所述第一NACK消息包括所述第一音频数据包的正确程度信息,所述正确程度信息用于指示所述第一音频数据包被正确接收的概率,以便所述第二音频接收器基于所述正确程度信息确定编码规则,所述第二音频接收器使用所述编码规则编码所述第一音频数据包,以获得所述第一冗余信息。
4.根据权利要求3所述的方法,其特征在于,所述正确程度信息包括所述第一音频数据包所在信道的信噪比SNR和/或历史误比特率BER。
5.根据权利要求1所述的方法,其特征在于,所述从所述音源接收第一音频数据包,包括:
在第一时隙内,从所述音源接收第一音频数据包;
所述向所述第二音频接收器发送第一NACK消息,包括:
在所述第一时隙内,向所述第二音频接收器发送第一NACK消息;
所述接收所述第二音频接收器发送的第二音频数据包,包括:
在第二时隙内,接收所述第二音频接收器发送的第二音频数据包,所述第二时隙是相对所述第一时隙的下一个时隙。
6.根据权利要求5所述的方法,其特征在于,所述第二音频数据包还包括指示信息,所述指示信息用于指示所述第二时隙的时长,以便所述第二时隙适于所述第一音频接收器和所述第二音频接收器之间交互所述第一NACK消息和所述第二音频数据包。
7.根据权利要求5所述的方法,其特征在于,所述向所述第二音频接收器发送第一NACK消息,包括:
根据随机退避机制或固定时间片确定第一发送时刻,所述第一发送时刻属于所述第一时隙;
在所述第一发送时刻向所述第二音频接收器发送所述第一NACK消息。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于对所述第一冗余信息和所述第一音频数据解码失败,向所述第二音频接收器发送第二接收失败通知。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:接收所述第二音频接收器发送的第三音频数据包,所述第三音频数据包包括第二冗余信息,所述第二冗余信息的数据量大第三音频数据包于所述第一冗余信息的数据量;以及
对所述第二冗余信息和所述第一音频数据进行解码,以还原所述第一音频数据包。
10.根据权利要求8所述的方法,其特征在于,所述向所述第二音频接收器发送第二接收失败通知,包括:
根据随机退避机制或固定时间片确定第二发送时刻;
在所述第二发送时刻向所述第二音频接收器发送所述第二接收失败通知。
11.根据权利要求1所述的方法,其特征在于,所述第二音频数据包还包括ACK消息,所述ACK消息用于向所述音源指示所述第一音频接收器和所述第二音频接收器均成功接收到了所述第一音频数据包。
12.根据权利要求1至11任一所述的方法,其特征在于,所述第一冗余信息还包括所述第一音频数据包中的至少一部分原始数据。
13.根据权利要求2所述的方法,所述对所述第一冗余信息和所述第一音频数据进行解码,以还原所述第一音频数据包,包括:
基于所述编码规则来确定对应的解码规则,并且通过所述解码规则来对所述第一冗余信息和所述第一音频数据进行解码,以还原所述第一音频数据包。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述第一音频接收器与所述第二音频接收器被预配置为共享所述编码规则。
15.一种在第二音频接收器中重传音频数据包的方法,所述第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信,其特征在于,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
从所述第一音频接收器接收第一NACK消息,所述第一NACK消息用于指示所述第一音频接收器未成功接收到所述第一音频数据包;
基于所述第一NACK消息确定编码规则;
使用所述编码规则编码所述第一音频数据包,以获得第一冗余信息;以及
向所述第一音频接收器发送第二音频数据包,所述第二音频数据包包括第一冗余信息。
16.根据权利要求15所述的方法,其特征在于,所述第二音频数据包还包括ACK消息,所述ACK消息用于向所述音源指示所述第一音频接收器和第二音频接收器均成功接收到了所述第一音频数据包。
17.根据权利要求15所述的方法,其特征在于,所述方法还包括:向所述音源发送ACK消息,所述ACK消息用于向所述音源指示所述第一音频接收器和第二音频接收器均成功接收到了所述第一音频数据包。
18.根据权利要求15所述的方法,其特征在于,所述第一NACK消息包括所述第一音频数据包的接收程度信息,所述从所述第一音频接收器接收第一NACK消息,包括:
从所述第一音频接收器接收所述接收程度信息;
所述基于所述第一NACK消息确定编码规则,包括:
基于所述接收程度信息,确定所述编码规则。
19.根据权利要求15所述的方法,其特征在于,所述第一NACK消息包括所述第一音频数据包的正确程度信息,所述从所述第一音频接收器接收第一NACK消息,包括:
从所述第一音频接收器接收所述正确程度信息,所述正确程度信息用于指示所述第一音频数据包被正确接收的概率;
所述基于所述第一NACK消息确定编码规则,包括:
基于所述正确程度信息,确定所述编码规则。
20.根据权利要求15所述的方法,其特征在于,所述从所述音源接收第一音频数据包,包括:
在第一时隙内,从所述音源接收第一音频数据包;
所述从所述第一音频接收器接收第一NACK消息,包括:
在所述第一时隙内,从所述第一音频接收器接收所述第一NACK消息;
所述向所述第一音频接收器发送第二音频数据包,包括:
在第二时隙内,向所述第一音频接收器发送第二音频数据包,所述第二时隙是相对所述第一时隙的下一个时隙。
21.根据权利要求20所述的方法,其特征在于,所述第二音频数据包还包括指示信息,所述指示信息用于指示所述第二时隙的时长,以便所述第二时隙适于所述第一音频接收器和所述第二音频接收器之间交互所述第一NACK消息和所述第二音频数据包。
22.根据权利要求15所述的方法,其特征在于,所述方法还包括:
接收所述第一音频接收器发送的第二接收失败通知,所述第二接收失败通知用于指示所述第一音频接收器对所述第一冗余信息和所述第一音频数据解码失败。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:向所述第一音频接收器发送第三音频数据包,所述第三音频数据包包括第二冗余信息,所述第二冗余信息的数据量大于所述第一冗余信息的数据量,以便所述第一音频接收器对所述第二冗余信息和所述第一音频数据进行解码,以还原所述第一音频数据包。
24.根据权利要求15至23任一所述的方法,其特征在于,所述第一冗余信息还包括所述第一音频数据包中的至少一部分原始数据。
25.一种在第一音频接收器中重传音频数据包的方法,所述第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信,其特征在于,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
响应于所述第一音频数据包解码失败,在未接收到用于指示所述第二音频接收器解码所述第一音频数据包失败的通知时,向所述第二音频接收器发送第一NACK消息,所述第一NACK消息用于指示所述第一音频接收器未成功接收到所述第一音频数据包;以及
接收所述音源重传的所述第一音频数据包,所述重传的所述第一音频数据包是所述音源在预设条件下发送的,所述预设条件是第一音频接收器和所述第二音频接收器均未能成功接收所述第一音频数据包。
26.一种在第二音频接收器中重传音频数据包的方法,所述第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信,其特征在于,所述方法包括:
在第一时隙从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和所述第二音频接收器获取;
解码所述第一音频数据包;
在所述音源被设置为在第二时隙中未接收到ACK消息时确认所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包的情况下,响应于所述第一音频数据包解码失败且接收到所述第一音频接收器发送的第一NACK消息,在所述第二时隙中不向所述音源发送反馈消息,所述反馈消息包括所述ACK消息和第二NACK消息,所述第二时隙是相对于所述第一时隙的下一时隙,所述第二NACK消息用于指示所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包;以及
在所述音源被设置为在第二时隙中接收到第二NACK消息时确认所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包的情况下,响应于所述第一音频数据包解码失败且接收到所述第一音频接收器发送的第一NACK消息,向所述音源发送第二NACK消息,所述第二时隙是相对于所述第一时隙的下一时隙,所述第二NACK消息用于指示所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包。
27.一种在第一音频接收器中重传音频数据包的方法,所述第一音频接收器配置为与音源进行通信,并且与第二音频接收器进行通信,其特征在于,所述方法包括:
从所述音源接收第一音频数据包,其中所述第一音频数据包分别被所述第一音频接收器和第二音频接收器获取;
响应于所述第一音频数据包解码失败且已接收到的第一音频数据无法用于还原得到所述第一音频数据包,丢弃已接收到的所述第一音频数据;
向所述第二音频接收器发送丢失通知,所述丢失通知用于指示所述第一音频接收器完全丢失所述第一音频数据包;以及
接收所述第二音频接收器重传的所述第一音频数据包。
28.一种在第二音频接收器中重传音频数据包的方法,所述第二音频接收器配置为与音源进行通信,并且与第一音频接收器进行通信,其特征在于,所述方法包括:
从所述音源接收第一音频数据包,所述第一音频数据包分别被所述第一音频接收器和第二音频接收器获取;
响应于所述第一音频数据包解码成功且接收到所述第一音频接收器发送的丢失通知,向所述音源发送第二NACK消息,所述丢失通知用于指示所述第一音频接收器完全丢失所述第一音频数据包,所述第二NACK消息用于指示所述第一音频接收器和所述第二音频接收器均没有接收到所述第一音频数据包,以便所述音源向所述第一音频接收器重传所述第一音频数据包;以及
响应于所述第一音频数据包解码成功且接收到所述第一音频接收器发送的丢失通知,向所述音源发送ACK消息,并向所述第一音频接收器发送完整的所述第一音频数据包,所述丢失通知用于指示所述第一音频接收器完全丢失所述第一音频数据包,所述ACK消息用于指示所述第一音频接收器和所述第二音频接收器均已接收到所述第一音频数据包。
29.根据权利要求28所述的方法,其特征在于,所述从所述音源接收第一音频数据包,包括:
在第一时隙从所述音源接收第一音频数据包;
所述向所述音源发送第二NACK消息,包括:
在第二时隙向所述音源发送第二NACK消息,所述第二时隙是相对于所述第一时隙的下一个时隙;
所述向所述音源发送ACK消息,包括:
在所述第二时隙向所述音源发送ACK消息。
30.根据权利要求29所述的方法,其特征在于,所述向所述音源发送ACK消息,并向所述第一音频接收器发送完整的所述第一音频数据包,包括:
将所述ACK消息和所述完整的所述第一音频数据包打包为一个组合数据包;在所述第二时隙向所述音源和所述第一音频接收器发送所述组合数据包;或;
在所述第二时隙向所述音源发送所述ACK消息;并且在所述第二时隙向所述第一音频接收器重传所述第一音频数据包。
31.第一音频接收器,其特征在于,所述第一音频接收器包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1至14任一所述的在第一音频接收器中重传音频数据包的方法,或,实现如权利要求25所述的在第一音频接收器中重传音频数据包的方法,或,实现如权利要求27所述的在第一音频接收器中重传音频数据包的方法。
32.第二音频接收器,其特征在于,所述第二音频接收器包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求15至24任一所述的在第二音频接收器中重传音频数据包的方法,或,实现如权利要求26所述的在第二音频接收器中重传音频数据包的方法,或,实现如权利要求28至30任一所述的在第二音频接收器中重传音频数据包的方法。
33.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1至14任一所述的在第一音频接收器中重传音频数据包的方法,或,实现如权利要求25所述的在第一音频接收器中重传音频数据包的方法,或,实现如权利要求27所述的在第一音频接收器中重传音频数据包的方法。
34.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求15至24任一所述的在第二音频接收器中重传音频数据包的方法,或,实现如权利要求26所述的在第二音频接收器中重传音频数据包的方法,或,实现如权利要求28至30任一所述的在第二音频接收器中重传音频数据包的方法。
35.一种无线音频系统,其特征在于,所述系统包括:
音源;
如权利要求1至14任一所述的第一音频接收器;以及
如权利要求15至24任一所述的第二音频接收器。
36.一种无线音频系统,其特征在于,所述系统包括:
音源;
如权利要求25所述的第一音频接收器;以及
如权利要求26所述的第二音频接收器。
37.一种无线音频系统,其特征在于,所述系统包括:
音源;
如权利要求27所述的第一音频接收器;以及
如权利要求28至30任一所述的第二音频接收器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726264.5A CN115549863A (zh) | 2021-06-29 | 2021-06-29 | 重传音频数据包的方法、音频接收器、存储介质及系统 |
PCT/CN2022/093496 WO2023273671A1 (zh) | 2021-06-29 | 2022-05-18 | 重传音频数据包的方法、音频接收器、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726264.5A CN115549863A (zh) | 2021-06-29 | 2021-06-29 | 重传音频数据包的方法、音频接收器、存储介质及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115549863A true CN115549863A (zh) | 2022-12-30 |
Family
ID=84689984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110726264.5A Pending CN115549863A (zh) | 2021-06-29 | 2021-06-29 | 重传音频数据包的方法、音频接收器、存储介质及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115549863A (zh) |
WO (1) | WO2023273671A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752087A (zh) * | 2012-07-09 | 2012-10-24 | 华中科技大学 | 一种基于amc-arq跨层的链路自适应方法 |
CN109905925A (zh) * | 2019-05-10 | 2019-06-18 | 恒玄科技(上海)有限公司 | 无线设备组件及无线设备组件的通信方法 |
CN110312237A (zh) * | 2019-07-05 | 2019-10-08 | 恒玄科技(上海)有限公司 | 无线耳机及无线耳机的通信方法 |
CN111770428A (zh) * | 2020-06-24 | 2020-10-13 | 杭州国芯科技股份有限公司 | 一种无线设备的监听方法 |
CN112437369A (zh) * | 2020-07-27 | 2021-03-02 | 珠海市杰理科技股份有限公司 | 音频数据的传输方法、系统、tws耳机对、芯片及介质 |
CN112994854A (zh) * | 2019-12-16 | 2021-06-18 | Oppo广东移动通信有限公司 | 蓝牙耳机的数据接收方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629539A1 (en) * | 2018-09-28 | 2020-04-01 | Rtx A/S | Audio data buffering for low latency wireless communication |
TWI791997B (zh) * | 2019-11-13 | 2023-02-11 | 達發科技股份有限公司 | 無線音訊輸出裝置與其操作方法 |
-
2021
- 2021-06-29 CN CN202110726264.5A patent/CN115549863A/zh active Pending
-
2022
- 2022-05-18 WO PCT/CN2022/093496 patent/WO2023273671A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752087A (zh) * | 2012-07-09 | 2012-10-24 | 华中科技大学 | 一种基于amc-arq跨层的链路自适应方法 |
CN109905925A (zh) * | 2019-05-10 | 2019-06-18 | 恒玄科技(上海)有限公司 | 无线设备组件及无线设备组件的通信方法 |
CN110312237A (zh) * | 2019-07-05 | 2019-10-08 | 恒玄科技(上海)有限公司 | 无线耳机及无线耳机的通信方法 |
CN112994854A (zh) * | 2019-12-16 | 2021-06-18 | Oppo广东移动通信有限公司 | 蓝牙耳机的数据接收方法、装置、设备及存储介质 |
CN111770428A (zh) * | 2020-06-24 | 2020-10-13 | 杭州国芯科技股份有限公司 | 一种无线设备的监听方法 |
CN112437369A (zh) * | 2020-07-27 | 2021-03-02 | 珠海市杰理科技股份有限公司 | 音频数据的传输方法、系统、tws耳机对、芯片及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023273671A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018127228A1 (zh) | 一种随机接入反馈、处理方法、基站及终端 | |
US10686563B2 (en) | Method for partial retransmission | |
CN111031437B (zh) | 一种无线耳机组件及其通信方法 | |
CN111510899B (zh) | 一种蓝牙传输方法及装置 | |
CN112187406B (zh) | 一种真无线耳机的纠错方法、装置及介质 | |
US20220209893A1 (en) | Adaptive Payload Extraction and Retransmission in Wireless Data Communications with Error Aggregations | |
CN111629368B (zh) | 耳机与充电盒的通信方法、充电盒、耳机及可读存储介质 | |
CN105162706B (zh) | 组播传输方法、装置及系统 | |
US20170288742A1 (en) | Wireless data transmission method, network side device, user equipment, and system | |
WO2018137563A1 (zh) | 发送和接收反馈信息的方法、接入网设备和终端设备 | |
CN113783662B (zh) | 自适应数据传输方法、装置、计算机设备及可读存储介质 | |
CN110933740B (zh) | 上行数据的传输方法、装置、终端设备及存储介质 | |
US20230179902A1 (en) | Communication method applied to binaural wireless headset, and apparatus | |
KR20210032276A (ko) | 하이브리드 자동 반복 요구 재송신 스케줄링을 실시하기 위한 시스템 및 방법 | |
US11546884B2 (en) | Method and device for determining time-frequency resource preemption, user equipment and base station | |
CN104113722A (zh) | 一种无线视频会议传输方法 | |
US12015486B2 (en) | Data retransmission decoding method, apparatus and system, and communication device | |
CN107733551B (zh) | 一种数据传输方法、装置和系统 | |
CN112055315A (zh) | 蓝牙广播通信方法、系统及其主设备、从设备 | |
WO2022133918A1 (zh) | 解码失败的处理方法、装置和系统 | |
US20170141884A1 (en) | User equipment, base station, and early decoding method for user equipment | |
CN115549863A (zh) | 重传音频数据包的方法、音频接收器、存储介质及系统 | |
CN113259803B (zh) | 一种无线耳机组件及其信号处理方法 | |
CN107888326B (zh) | 数据传输方法和装置 | |
JP7222458B2 (ja) | Polar Polar符号を利用して符号化および復号化を行う方法および装置 |
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 |