一种蓝牙音箱通话音质的处理方法和装置的制造方法

文档序号:10626544阅读:439来源:国知局
一种蓝牙音箱通话音质的处理方法和装置的制造方法
【专利摘要】本发明公开了一种蓝牙音箱通话音质的处理方法和装置,以优化蓝牙音箱通话音质,该方法为在接收到待处理的语音数据后,确定当前空中传输的语音数据包的数量q;依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结果确定该语音数据的第一位置,根据该第一位置确定处理起始位置;从该处理起始位置开始,在每一个周期内,确定对应的空中传输的各个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携带的数据和状态标识,对在当前周期接收的语音数据进行补偿处理,这样,能够实现有针对性地进行丢包补偿处理,从而减少有效数据的浪费,优化通话音质,降低语音数据的错误率。
【专利说明】
一种蓝牙音箱通话音质的处理方法和装置
技术领域
[0001] 本发明涉及蓝牙技术领域,尤其涉及一种蓝牙音箱通话音质的处理方法和装置。
【背景技术】
[0002] 参阅图1所示,手机通话时,将语音数据编码并加密,然后通过射频(RF)发送给音 箱。音箱的控制(Controller)端接收空中的语音数据并解析,然后通过UART发送给音箱的 主控(Host)端。Host收到数据后进行一些后期处理然后才丢给数字模拟转换器(Digital to analog converter,DAC)从音箱的喇机(Speaker)端输出声音,其中Controller是外接 的蓝牙模组,host是蓝牙音箱的主控芯片。当我们想实时的分析Controller发送给Host 的语音数据时,往往需要借助第三方工具,因为Host端的硬件资源(主频、内存、存储)受 限。第三方工具即UART sniffer,通常使用的有Ellisys或者Frontline两家的蓝牙协议 分析仪。
[0003] 由于硬件的制造原因,可能导致control ler通过主机控制器接口(Host Controller Interface,HCI)送语音数据给 host 的语音数据(Synchronous Connection-Oriented,sco)包大小不是空中sco包大小的整数倍。例如:空中的sco包大 小是60bytes,controller输出的sco包大小是48bytes。即controller在输出语音数据 给host前需要进行数据包的重组。而controller输出的sco包的状态标识位是根据空中 sco包的接收情况判定的,各标识值的含义具体为:〇表示正确的数据即空中收到该数据并 校验通过;1表示接收到有错的数据即空中至少一个sco包收到的数据校验不通过;2表示 没有数据收到即空中出现丢包的情况;3表示部分数据丢失,即对应的空中sco包中有丢包 的也有正确接收的。
[0004] 为了保证声音的正确性,我们需要将controller端输出的标志为1、2、3的sco包 都认为是坏的数据,在host端进行丢包补偿。参阅图2所示,空中出现60bytes的sco包 丢失,由于controller输出的sco包大小是48bytes,此时controller端sco包的重组导 致输出为两个标志为3的48bytes的sco包,按照处理的原则host端会将该数据认为是坏 数据,丢弃后进行丢包补偿即丢弃96bytes的坏数据,而实际上只有60bytes的坏数据,这 将导致36bytes的有效数据被浪费了,同理当这种浪费的情况碰巧每次都发生时,则最终 会导致原本只有1%出错的数据量变成了 2%出错的数据量,使得有效的数据量变小,增加 了有效数据的浪费,降低了通话音质。

【发明内容】

[0005] 本发明的目的是提供一种蓝牙音箱通话音质的处理方法和装置,以优化蓝牙音箱 通话音质。
[0006] 本发明的目的是通过以下技术方案实现的:
[0007] -种蓝牙音箱通话音质的处理方法,包括:
[0008] 在接收到待处理的语音数据后,蓝牙装置周期性的从所述语音数据中读取p个m 字节的语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的语音 数据包的大小,确定当前空中传输的语音数据包的数量q,其中空中传输的语音数据包的大 小为η字节,p,m,η均为设定的正整数,且m〈n ;
[0009] 依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结果确定所 述语音数据的第一位置,根据所述第一位置确定处理起始位置;
[0010] 从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取p个语音 数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传输的各 个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携带的数据和 状态标识,对在当前周期内接收的语音数据进行补偿处理。
[0011] 这样,能够实现利用接收端的语音数据包携带的语音数据和状态标识,反推出空 中传输的语音数据的状态标识,有针对性的进行丢包补偿处理,从而减少有效数据的浪费, 提高通话音质,降低语音数据的错误率。
[0012] 可选的,在接收到待处理的语音数据后,蓝牙装置从所述语音数据中读取p个m字 节的语音数据语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输 的语音数据包的大小,确定当前空中传输的语音数据包的数量q,包括:
[0013] 当前空中传输的语音数据包的数量q满足当前空中传输的所有语音数据包的大 小等于蓝牙装置从所述语音数据中读取的所有语音数据包的大小,其中P*m = q*n。
[0014] 可选的,从所述语音数据中读取到的语音数据包的状态标识包括第一标识、第二 标识、第三标识和第四标识,其中第一标识指示所述语音数据包接收到正确的数据,第二标 识指示所述语音数据包接收到错误的数据,第三标识指示所述语音数据包没有接收到任何 数据,第四标识指示所述语音数据包接收到部分数据;
[0015] 空中传输的语音数据包的状态标识包括第一标识、第二标识和第三标识,其中第 一标识指示所述空中传输的语音数据包校验正确,第二标识指示空中传输的语音数据包校 验错误,第三标识指示空中传输的语音数据包丢失;
[0016] 若空中传输的语音数据包的状态标识为第三标识,则对应的蓝牙装置接收到的语 音数据全部置为0。
[0017] 可选的,在接收到待处理的语音数据后,蓝牙装置周期性的从所述语音数据中读 取p个m字节的语音数据包,进一步包括:
[0018] 在接收到待处理的语音数据后,蓝牙装置周期性的从所述语音数据中读取p个m 字节的语音数据包,所述待处理的语音数据从第一个语音数据开始为X字节的第三标识的 初始化语音数据,剩余的语音数据为从空中传输的语音数据,其中X字节的语音数据全部 为0,且x〈w,W为待处理的语音数据的字节个数。
[0019] 可选的,依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结 果确定所述语音数据的第一位置,根据所述第一位置确定处理起始位置,包括:
[0020] 依次获取读取的每个语音数据包携带的数据和状态标识,基于获取到的每个数据 包的数据和状态标识,记录第一次出现状态标识不是第三标识的语音数据包的位置作为第 一位置,并统计所述第一位置所在的语音数据包数据开头能够连续获取到的〇数据的个数 y,判断y的大小是否为0,若是,则将第一周期读取的第一个语音数据包作为处理起始位 置,否则,计算i = ((y*P)/m)+1,从第一位置开始再统计p-i个的语音数据包后的位置作为 处理起始位置。
[0021] 这样,通过检测数据0的个数能够快速准确的确定出待处理的语音数据的处理起 始位置。
[0022] 可选的,从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取p 个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传 输的各个语音数据包携带的数据和状态标识,具体包括:
[0023] 确定p大于q且小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的 语音数据中读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进 行对齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带 的数据,以及根据读取的第一个语音数据包的状态标识,确定空中传输的第一个语音数据 包的状态标识;
[0024] 根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包的状态标 识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数据包的状 态标识,其中空中传输的第一个语音数据包的状态标识和读取的第一个语音数据包的状态 标识相同。
[0025] 可选的,根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包 的状态标识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数 据包的状态标识,包括:
[0026] 在空中传输的一个语音数据包的状态标识不是第二标识时,根据对应的读取的下 一个语音数据包的状态标识,确定空中传输的下一个语音数据包的状态标识,并建立空中 传输的下一个语音书包的状态标识与所述空中传输的一个语音数据包的状态标识、读取的 下一个语音数据包的状态标识之间的第一映射关系;
[0027] 在确定空中传输的第一个语音数据包的状态标识不是第二标识时,根据空中传输 的第一个语音数据包的状态标识和读取的第二个语音数据包的状态标识,利用第一映射关 系确定空中传输的第二个语音数据包的状态标识;在确定空中传输的第一个语音数据包的 状态标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语 音数据包的状态,确定空中传输的第二个语音数据包的状态标识;
[0028] 继续根据空中传输的一个语音数据包的状态标识、读取的下一个语音数据包的状 态标识和空中传输的下一个语音数据包携带的数据、确定空中传输的下一个语音数据包的 状态标识,直到确定出空中传输的每一个语音数据包的状态标识为止。
[0029] 可选的,在确定空中传输的第一个语音数据包的状态标识是第二标识时,根据空 中传输的第二个语音数据包携带的数据和读取的第三个语音数据包的状态,确定空中传输 的第二个语音数据包的状态标识,包括:
[0030] 在确定空中传输的第一个语音数据包的状态标识是第二标识时,获取空中传输的 第二个语音数据包携带的数据,判断空中传输的第二个语音数据包携带的数据是否全为0,
[0031] 若是,则判定空中传输的第二个语音数据包的状态标识为第三标识;
[0032] 否则,进一步判断读取的第三个语音数据包的状态标识是否为第二标识,若是,则 判定空中传输的第二个语音数据包的状态标识为第二标识;否则,判定空中传输的第二个 语音数据包的状态标识为第一标识。
[0033] 可选的,从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取p 个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传 输的各个语音数据包携带的数据和状态标识,具体包括:
[0034] 确定p不小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的语音 数据中读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进行对 齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数 据;
[0035] 获取读取的p个语音数据包的状态标识,确定空中传输的各个语音数据包的状态 标识,其中空中传输的第i个语音数据包的状态标识与读取的第a个语音数据包的状态标 识相同,a = (p*i/q),a取正整数,i为大于0且不大于q的正整数。
[0036] 可选的,基于空中传输的各个语音数据包携带的数据和状态标识,对在当前周期 接收的语音数据进行补偿处理,包括:
[0037] 若空中传输的一个语音数据包的状态标识为第三标识时,对当前周期接收的语音 数据中对应于所述一个语音数据包的语音数据进行补偿处理。
[0038] 一种蓝牙音箱通话音质的处理装置,包括:
[0039] 读取单元,用于在接收到待处理的语音数据后,周期性的从所述语音数据中读取p 个m字节的语音数据包,并根据读取的语音数据包的大小和数量p,以及预设的空中传输的 语音数据包的大小,确定当前空中传输的语音数据包的数量q,其中空中传输的语音数据包 的大小为η字节,p,m,η均为设定的正整数,且m〈n ;
[0040] 确定单元,用于依次获取读取的每个语音数据包携带的数据和状态标识,并根据 获取结果确定所述语音数据的第一位置,根据所述第一位置确定处理起始位置;
[0041] 处理单元,用于从所述处理起始位置开始,在每一个周期内,从接收的语音数据中 读取P个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空 中传输的各个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携 带的数据和状态标识,对在当前周期内接收的语音数据进行补偿处理。
[0042] 这样,能够实现利用接收端的语音数据包携带的语音数据和状态标识,反推出空 中传输的语音数据的状态标识,有针对性的进行丢包补偿处理,从而减少有效数据的浪费, 提高通话音质,降低语音数据的错误率。
[0043] 可选的,在接收到待处理的语音数据后,从所述语音数据中读取p个m字节的语音 数据语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的语音数 据包的大小,确定当前空中传输的语音数据包的数量q时,所述读取单元用于:
[0044] 确定当前空中传输的语音数据包的数量q满足当前空中传输的所有语音数据包 的大小等于蓝牙装置从所述语音数据中读取的所有语音数据包的大小,其中P*m = q*n。
[0045] 可选的,所述读取单元从所述语音数据中读取到的语音数据包的状态标识包括第 一标识、第二标识、第三标识和第四标识,其中第一标识指示所述语音数据包接收到正确的 数据,第二标识指示所述语音数据包接收到错误的数据,第三标识指示所述语音数据包没 有接收到任何数据,第四标识指示所述语音数据包接收到部分数据;
[0046] 空中传输的语音数据包的状态标识包括第一标识、第二标识和第三标识,其中第 一标识指示所述空中传输的语音数据包校验正确,第二标识指示空中传输的语音数据包校 验错误,第三标识指示空中传输的语音数据包丢失;
[0047] 若空中传输的语音数据包的状态标识为第三标识,则对应的蓝牙装置接收到的语 音数据全部置为0。
[0048] 可选的,在接收到待处理的语音数据后,周期性的从所述语音数据中读取p个m字 节的语音数据包时,所述读取单元具体用于:
[0049] 在接收到待处理的语音数据后,周期性的从所述语音数据中读取p个m字节的语 音数据包,所述待处理的语音数据从第一个语音数据开始为X字节的第三标识的初始化 语音数据,剩余的语音数据为从空中传输的语音数据,其中X字节的语音数据全部为0,且 x〈w,w为待处理的语音数据的字节个数。
[0050] 可选的,依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结 果确定所述语音数据的第一位置,根据所述第一位置确定处理起始位置时,所述确定单元 用于:
[0051] 依次获取读取的每个语音数据包携带的数据和状态标识,基于获取到的每个数据 包的数据和状态标识,记录第一次出现状态标识不是第三标识的语音数据包的位置作为第 一位置,并统计所述第一位置所在的语音数据包数据开头能够连续获取到的0数据的个数 y,判断y的大小是否为0,若是,则将第一周期读取的第一个语音数据包作为处理起始位 置,否则,计算i = ((y*P)/m)+ll,从第一位置开始再统计p-i个的语音数据包后的位置作 为处理起始位置。
[0052] 这样,通过检测数据0的个数能够快速准确的确定出待处理的语音数据的处理起 始位置。
[0053] 可选的,从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取p 个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传 输的各个语音数据包携带的数据和状态标识时,所述处理单元具体用于:
[0054] 确定p大于q且小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的 语音数据中读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进 行对齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带 的数据,以及根据读取的第一个语音数据包的状态标识,确定空中传输的第一个语音数据 包的状态标识;
[0055] 根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包的状态标 识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数据包的状 态标识,其中空中传输的第一个语音数据包的状态标识和读取的第一个语音数据包的状态 标识相同。
[0056] 可选的,根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包 的状态标识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数 据包的状态标识时,所述处理单元具体用于:
[0057] 在空中传输的一个语音数据包的状态标识不是第二标识时,根据对应的读取的下 一个语音数据包的状态标识,确定空中传输的下一个语音数据包的状态标识,并建立空中 传输的下一个语音书包的状态标识与所述空中传输的一个语音数据包的状态标识、读取的 下一个语音数据包的状态标识之间的第一映射关系;
[0058] 在确定空中传输的第一个语音数据包的状态标识不是第二标识时,根据空中传输 的第一个语音数据包的状态标识和读取的第二个语音数据包的状态标识,利用第一映射关 系确定空中传输的第二个语音数据包的状态标识;在确定空中传输的第一个语音数据包的 状态标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语 音数据包的状态,确定空中传输的第二个语音数据包的状态标识;
[0059] 继续根据空中传输的一个语音数据包的状态标识、读取的下一个语音数据包的状 态标识和空中传输的下一个语音数据包携带的数据、确定空中传输的下一个语音数据包的 状态标识,直到确定出空中传输的每一个语音数据包的状态标识为止。
[0060] 可选的,在确定空中传输的第一个语音数据包的状态标识是第二标识时,根据空 中传输的第二个语音数据包携带的数据和读取的第三个语音数据包的状态,确定空中传输 的第二个语音数据包的状态标识时,所述处理单元具体用于:
[0061] 在确定空中传输的第一个语音数据包的状态标识是第二标识时,获取空中传输的 第二个语音数据包携带的数据,判断空中传输的第二个语音数据包携带的数据是否全为0,
[0062] 若是,则判定空中传输的第二个语音数据包的状态标识为第三标识;
[0063] 否则,进一步判断读取的第三个语音数据包的状态标识是否为第二标识,若是,则 判定空中传输的第二个语音数据包的状态标识为第二标识;否则,判定空中传输的第二个 语音数据包的状态标识为第一标识。
[0064] 可选的,从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取p 个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传 输的各个语音数据包携带的数据和状态标识时,所述处理单元具体用于:
[0065] 确定p不小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的语音 数据中读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进行对 齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数 据;
[0066] 获取读取的p个语音数据包的状态标识,确定空中传输的各个语音数据包的状态 标识,其中空中传输的第i个语音数据包的状态标识与读取的第a个语音数据包的状态标 识相同,a = (p*i/q),a取正整数,i为大于0且不大于q的正整数。
[0067] 可选的,基于空中传输的各个语音数据包携带的数据和状态标识,对在当前周期 接收的语音数据进行补偿处理时,所述处理单元具体用于:
[0068] 若空中传输的一个语音数据包的状态标识为第三标识时,对当前周期接收的语音 数据中对应于所述一个语音数据包的语音数据进行补偿处理。
【附图说明】
[0069] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
[0070] 图1为现有技术中蓝牙通话语音数据的调试装置示意图;
[0071] 图2为现有技术中语音数据重组导致的误判示意图;
[0072] 图3为本发明实施中蓝牙音箱通话音质的处理方法流程示意图;
[0073] 图4为本发明实施中当q〈p〈2q时一个周期内接收端和空中传输的语音数据包对 比示意图;
[0074] 图5为本发明实施中当p>2q时一个周期内接收端和空中传输的语音数据包对比 示意图;
[0075] 图6为本发明实施中一个周期内接收端数据包大小为48字节和空中传输60字节 的语音数据包对比示意图;
[0076] 图7为本发明实施中一个周期内接收端数据包大小为48字节和空中传输60字节 时host端周期性处理流程示意图;
[0077] 图8为本发明实施中一个周期内接收端数据包大小为30字节和空中传输70字节 的语音数据包对比示意图;
[0078] 图9为本发明实施例中蓝牙音箱通话音质的处理装置结构示意图。
【具体实施方式】
[0079] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0080] 有效的原始数据越多,对提高通话音质就越有帮助,所以要减少上述提到的浪费, 减少的方法就是由controller给出的sco数据及标志反推出空中sco数据包的数据及标 ν·、ι、〇
[0081] 参阅图3所示,本发明实施中提供一种蓝牙音箱通话音质的处理方法,具体流程 如下所示:
[0082] 步骤300 :在接收到待处理的语音数据后,蓝牙装置从该语音数据中读取p个m字 节的语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的语音数 据包的大小,确定当前空中传输的语音数据包的数量q,其中空中传输的语音数据包的大小 为η字节,p,m,η均为设定的正整数,且m〈n。
[0083] 具体的,在接收到待处理的语音数据后,蓝牙装置从该语音数据中读取p个m字节 的语音数据语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的 语音数据包的大小,确定当前空中传输的语音数据包的数量q,其中当前空中传输的语音数 据包的数量q满足当前空中传输的所有语音数据包的大小等于蓝牙装置从该语音数据中 读取的所有语音数据包的大小,即P*m = q*n。
[0084] 具体的,从该语音数据中读取到的语音数据包的状态标识包括第一标识、第二标 识、第三标识和第四标识,其中第一标识指示该语音数据包接收到正确的数据,第二标识指 示该语音数据包接收到错误的数据,第三标识指示该语音数据包没有接收到任何数据,第 四标识指示该语音数据包接收到部分数据;
[0085] 空中传输的语音数据包的状态标识包括第一标识、第二标识和第三标识,其中第 一标识指示该空中传输的语音数据包校验正确,第二标识指示空中传输的语音数据包校验 错误,第三标识指示空中传输的语音数据包丢失;
[0086] 若空中传输的语音数据包的状态标识为第三标识,则对应的蓝牙装置接收到的语 音数据全部置为0。
[0087] 例如,本发明实施例中接收端接收到的语音数据包用标志0表示接收到正确的数 据即空中收到该数据并校验通过;标志1表示可能有错的数据即对应的空中至少一个SCO 包收到的数据校验不通过;标志2表示没有数据收到即对应的空中出现丢包的情况;标志3 表示出现部分数据丢失即对应的空中sco包中有丢包的也有正确接收的。具体的,接收端 接收到语音数据包的状态标识可参阅表1所示。
[0088] 表 1
[0089]
[0090] 空中的语音数据包只有0、1、2三种标志,标志0表示传输的数据正确;标志1表 示传输的数据有错;标志2表示传输的数据丢失,即空中丢包,而不会出现部分丢包的标志 (即标志3)。具体的,空中传输的语音数据包的状态标识可参阅表2所示。
[0091] 表 2
[0092]
[0093] 进一步的,在接收到待处理的语音数据后,蓝牙装置周期性的从该语音数据中读 取p个m字节的语音数据包,该待处理的语音数据从第一个语音数据开始为X字节的第三 标识的初始化语音数据,剩余的语音数据为从空中传输的语音数据,其中X字节的语音数 据全部为〇,且x〈w,w为待处理的语音数据的字节个数。
[0094] 这样做的原因是正常情况下控制端(Controller)在sco链路建立后开始送数据 给主控端(host),刚开始会是一段标志为2的初始化语音数据即淡入静音数据,一般是几 十毫秒至几百毫秒,然后才是正常语音数据。在host端检测sco包的标志,当发现它不是2 时,通过计算这个非2标志的sco包最开始的0数据的个数能够确定语音数据的起始对齐 位置,这是由于空中只要出现丢包,对应的controller会将所有语音数据清0送给host,而 语音静音数据的值一般是-1,不是0。
[0095] 步骤301 :依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取 结果确定语音数据的第一位置,根据该第一位置确定处理起始位置。
[0096] 具体的,依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结 果确定语音数据的第一位置,根据该第一位置确定处理起始位置,具体过程为:依次获取 读取的每个语音数据包携带的数据和状态标识,基于获取到的每个数据包的数据和状态标 识,记录第一次出现状态标识不是第三标识的语音数据包的位置作为第一位置,并统计从 所述第一位置所在的语音数据包的包头到第一位置连续获取到的〇数据的个数y,判断y的 大小是否为〇,若是,则将第一周期读取的第一个语音数据包作为处理起始位置,否则,计算 i = ((y*P)/m)+l,从第一位置开始再统计p-i个的语音数据包后的位置作为处理起始位 置,其中(y*P)/m为(y*p)除以m取整。
[0097] 步骤302 :从该处理起始位置开始,在每一个周期内,从接收的语音数据中读取p 个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传 输的各个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携带的 数据和状态标识,对在当前周期内接收的语音数据进行补偿处理。
[0098] 具体的,从该处理起始位置开始,在每一个周期内,从接收的语音数据中读取p个 语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传输 的各个语音数据包携带的数据和状态标识,包括两种情形:
[0099] 第一种情形为:确定p大于q且小于2q时,从该处理起始位置开始,在每一个周期 内,从接收的语音数据中读取P个语音数据包,将该P个语音数据包与空中传输的q个语音 数据包进行对齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数 据包携带的数据,以及根据读取的第一个语音数据包的状态标识,确定空中传输的第一个 语音数据包的状态标识;根据空中传输的第一个语音数据包的状态标识、读取的P个语音 数据包的状态标识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个 语音数据包的状态标识,其中空中传输的第一个语音数据包的状态标识和读取的第一个语 音数据包的状态标识相同。
[0100] 这样做能够使空中传输的语音数据包与host端接收到的语音数据包进行对齐, 从而得到空中传输的语音数据,其中空中传输的语音数据与对齐后的host端接收到的语 音数据相同。
[0101] 具体的,根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包 的状态标识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数 据包的状态标识,具体过程为:在空中传输的一个语音数据包的状态标识不是第二标识时, 根据对应的读取的下一个语音数据包的状态标识,确定空中传输的下一个语音数据包的状 态标识,并建立空中传输的下一个语音书包的状态标识与该空中传输的一个语音数据包的 状态标识、读取的下一个语音数据包的状态标识之间的第一映射关系;在确定空中传输的 第一个语音数据包的状态标识不是第二标识时,根据空中传输的第一个语音数据包的状态 标识和读取的第二个语音数据包的状态标识,利用第一映射关系确定空中传输的第二个语 音数据包的状态标识;在确定空中传输的第一个语音数据包的状态标识是第二标识时,根 据空中传输的第二个语音数据包携带的数据和读取的第三个语音数据包的状态,确定空中 传输的第二个语音数据包的状态标识;继续根据空中传输的一个语音数据包的状态标识、 读取的下一个语音数据包的状态标识和空中传输的下一个语音数据包携带的数据、确定空 中传输的下一个语音数据包的状态标识,直到确定出空中传输的每一个语音数据包的状态 标识为止。
[0102] 例如,参阅图4所示,由于空中传输的第一个语音数据包的状态标识和读取的第 一个语音数据包的状态标识相同,其中空中传输的语音数据包用air_pkti表示,接收到的 语音数据用uart_pkti表示,若air_pktl的标志不是1,假设air_pktl = 0,即正确的数据, 此时 uart_pktl = 0,当 uart_pkt2 = 0 时,能够推出 air_pkt2 = 0,这是由于 uart_pkt2 的语音数据部分包含在air_pkt2中,若uart_pkt2为正确的数据对应的air_pkt2的数据 也是正确传输的;同理 air_pktl = 0,当 uart_pkt2 = 1 时,air_pkt2 = 1 ;同理 air_pktl =0,当 uart_pkt2 = 3 时,air_pkt2 = 2 ;注意 air_pktl = 0 时 uart_pkt2 的标志不可能 等于2,因为air_pktl中已经包含了部分有效数据。假如air_pktl = 2,当uart_pkt2 = 1 时,air_pkt2 = 1 ;当 air_pktl = 2, uart_pkt2 = 2 时,air_pkt2 = 2 ;当 air_pktl = 2, uart_pkt2 = 3 时,air_pkt2 = 0 ;注意 air_pktl = 2 时 uart_pkt2 的标志不可能等于 0, 因为其已经有部分数据丢失。以上转换可以抽象为如下映射表,具体见表3所示。
[0103] 表 3
[0104]
[0105] 具体的,在确定空中传输的第一个语音数据包的状态标识是第二标识时,根据空 中传输的第二个语音数据包携带的数据和读取的第三个语音数据包的状态,确定空中传输 的第二个语音数据包的状态标识,具体过程为:在确定空中传输的第一个语音数据包的状 态标识是第二标识时,获取空中传输的第二个语音数据包携带的数据,判断空中传输的第 二个语音数据包携带的数据是否全为〇,若是,则判定空中传输的第二个语音数据包的状态 标识为第三标识;否则,进一步判断读取的第三个语音数据包的状态标识是否为第二标识, 若是,则判定空中传输的第二个语音数据包的状态标识为第二标识;否则,判定空中传输的 第二个语音数据包的状态标识为第一标识。
[0106] 例如,参阅图4所示,假设air_pkt 1 = 1,即空中传输的数据有错误,此时uart_ pkt2肯定为1,无法利用映射关系表借助air_pktl和uart_pkt2的标志反推出air_pkt2 的标志,此时可以先检测air_pkt2的数据的值是否都为0,如果都为0,则air_pkt2 = 2 ;否 贝丨J,继续获取 uart_pkt3 的状态标志,当 uart_pkt3 ! = 1 时,air_pkt2 = Ο ;当 uart_pkt3 =1时,air_pkt2 = 1,这种做法将引入air_pkt2原本是0被误判成1的可能,即air_pktl =1,air_pkt2 = 1,此时检测air_pkt2的数据的值不是都为0,当uart_pkt3 = 1时可能 出现air_pkt2 = 0的情况,但是其实在反推前,uart_pkt2和uart_pkt3的标志已经是1, 所以我们真的将air_pkt2误判为1也不会有不良影响,只是没有达到优化的目的而已。
[0107] 第二种情形为:确定p不小于2q时,从该处理起始位置开始,在每一个周期内,从 接收的语音数据中读取P个语音数据包,将该P个语音数据包与空中传输的q个语音数据 包进行对齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包 携带的数据;获取读取的P个语音数据包的状态标识,确定空中传输的各个语音数据包的 状态标识,其中空中传输的第i个语音数据包的状态标识与读取的第a个语音数据包的状 态标识相同,a = (p*i/q),a取正整数,i为大于0且不大于q的正整数。
[0108] 例如,参阅图5所示,对于p大于2q的情开$,air_pkt⑴=uart_pkt((p/q)*i), 其中i为大于〇且小于等于P的正整数,P是uart_pkt -个周期内的包个数,m为uart_pkt 的大小,q是air_pkt -个周期内的包个数,η为air_pkt的大小,p/q是p除以q取整。
[0109] 具体的,基于空中传输的各个语音数据包携带的数据和状态标识,对在当前周期 内接收的语音数据进行补偿处理,具体过程为:若空中传输的一个语音数据包的状态标识 为第三标识时,对当前周期接收的语音数据中对应于该一个语音数据包的语音数据进行补 偿处理。
[0110] 实施例一以空中传输(air) 60字节的语音数据包对应host端接收到48字节语音 的数据包进行举例分析上述方法。
[0111] 实施例一
[0112] 首先要根据空中传输的sco包大小和controller输出的sco包大小求它们的最 小公倍数,如图6所示,48和60的最小公倍数是240,即host端uart接口每收到5个sco 包时对应空中传输4个sco包。
[0113] 用 uart_pktl、uart_pkt2、uart_pkt3、uart_pkt4、uart_pkt 5 分别表不 host 端接 收到的某个周期内的第一至第五个sco数据包,air_pktl、air_pkt2、air_pkt3、air_pkt4 分别表示对应空中传输的第一至第四个sco数据包。
[0114] 进一步的,确认语音数据的起始对齐位置。正常情况下Controller在sco链路 建立后开始送数据给host,刚开始会是一段标志为2的初始化语音数据,一般是几十毫秒 至几百毫秒,然后才是正常数据。在host端检测sco包的标志,当发现它不是2时,计算 这个非2标志的sco包最开始的0数据的个数,需要说明的是空中只要出现丢包,对应的 controller会将所有数据清0送给host,而语音静音数据的值一般是-1,不是0。
[0115] 从图6中可以看出,当非2标志的sco数据包处于uart_pktl时,贝lj 0的个数为 0,此时对应的空中传输的数据包没有丢包情况出现;当非2标志的sco数据包处于uart_ pkt2时,此时uart_pktl的状态标志为2,可以推出air_pktl的状态标志也为2,即空中第 一个语音数据包出现丢包,对应的uart_pkt 2有12字节的语音数据为0,这是由于空中只要 出现丢包,对应的controller会将所有数据清0送给host ;同理当非2标志的sco数据包 处于 uart_pkt3 时,此时 uart_pktl = uart_pkt2 = 2,能够推出 air_pktl = air_pkt2 = 0,对应的uart_pkt3有24字节的语音数据为0 ;同理当非2标志的sco数据包处于uart_ pkt4 时,此时 uart-pktl = uart_pkt2 = uart_pkt3 = 2,會b够推出 air_pktl = air_pkt2 =air_pkt3 = 0,对应的uart_pkt4有36字节的语音数据为0 ;但是这个非2标志的的sco 数据包不可能处于uart_pkt5,若非2标志的sco数据包处于uart_pkt5时,uart_pkt5 ! =2,此时 uart_pktl = uart_pkt2 = uart_pkt3 = uart_pkt4 = 2,因为 uart_pkt5 的数 据恰好包含于air_pkt4中,如果uart_pkt5的标志不是2,则air_pkt4的标志也不是2,那 么uart_pkt4的标志肯定也是非2,这与发现第一个不是2标志sco数据包为uart_pkt5的 如提相违背。
[0116] 通过上述分析可知,通过在host端检测sco包的状态标志,就能确定语音数据的 初始对齐位置,例如当检测某一语音数据包的状态标志不是2时,计算这个非2标志的sco 包的从开始建立SCO链路的数据0的个数,若数据0的个数为0,则判定从uart_pktl开始接 收语音数据,从uart_pktl开始以周期为单位根据host端接收到得语音数据包携带的状态 标识和语音数据来反推空中实际传输的语音数据包携带的状态标识和语音数据;若数据0 的个数为12,则判定从uart_pkt2开始接收语音数据,从uart_pkt2开始再统计p-2个语音 数据包后以周期为单位根据host端接收到得语音数据包携带的状态标识和语音数据来反 推空中实际传输的语音数据包携带的状态标识和语音数据;同理,若数据〇的个数为24,则 判定从uart_pkt3开始接收语音数据,从uart_pkt3开始再统计p-3个语音数据包后以周 期为单位根据host端接收到得语音数据包携带的状态标识和语音数据来反推空中实际传 输的语音数据包携带的状态标识和语音数据,同理,若数据〇的个数为36,则判定从uart_ Pkt4开始接收语音数据,从uart_pkt4开始再统计p-4个语音数据包后以周期为单位根据 host端接收到得语音数据包携带的状态标识和语音数据来反推空中实际传输的语音数据 包携带的状态标识和语音数据,这不限于空中传输60字节的4个语音数据包对应host端 接收到5个48字节语音的数据包这一种情形。
[0117] 具体的,以周期为单位循环根据host端收到的数据和标志反推出空中实际实际 传输的语音数据包携带的状态标识和语音数据。如图6所示,host端的uart_pktl和uart_ pkt5正好完整的包含在空中的air_pktl和air_pkt4中。所以air_pktl和air_pkt4的 标志分别等于uart_pktl和uart_pkt5的标志。空中的数据包要么正确、要么出错、要么丢 包,所以只能有〇、1、2标志,而不会出现部分丢包的标志(即标志3)。
[0118] 假如air_pktl和air_pkt4的标志不是1,那么我们可以借助air_pktl和uart_ pkt2得到air_pkt2的标志,借助air_pkt4和uart_pkt4得到air_pkt3的标志。假如air_ pktl = 0,当 uart_pkt2 = 0 时,air_pkt2 = 0 ;当 air_pktl = 0,uart_pkt2 = 1 时,air_ pkt2 = 1 ;当 air_pktl = 0,uart_pkt2 = 3 时,air_pkt2 = 2 ;注意此时 air_pktl = 0 时, uart_pkt2的标志不可能等于2,因为其已经包含了部分有效数据。假如air_pktl = 2,当 uart_pkt2 = 1 时,air_pkt2 = 1 ;当 air_pktl = 2, uart_pkt2 = 2 时,air_pkt2 = 2 ;当 air_pktl = 2,uart_pkt2 = 3 时,air_pkt2 = 0 ;注意此时 air_pktl = 2 时,uart_pkt2 的标志不可能等于0,因为其已经有部分数据丢失,以上转换可以抽象为如下映射表,参阅 表4所示。需要说明的是,已知空中传输的一个语音数据包的状态(非1)和对应的空中传 输的下一个语音数据包对应的host端的语音数据包的状态,通过以下映射表都能推导出 空中传输的下一个语音数据包的状态。
[0119] 表 4
[0120]
[0121] 当air_pktl状态标志不是1时,假设air_pktl ! = 1,则我们利用前面推导出的 映射表先由air_pktl和uart_pkt2得到air_pkt2的标志。如果air_pkt2 ! = 1,同样可 以利用映射表由air_pkt2和uart_pkt3得到air_pkt3的状态标志。如果air_pktl = 1, 那么只能直接根据air_pkt2的数值是否都为0判断出air_pkt2的状态标志,若是,则air_ pkt2 = 2,否则,进一步检测 uart_pkt3 的状态标志,若 uart_pkt3 ! = 1 时,air_pkt2 = 0,若 uart_pkt3 = 1 时,air_pkt2 = 1,进一步根据 air_pkt2 的状态标志和 uart_pkt3、 uart_pkt4的状态标志,推导出air_pkt3的状态标志,具体实现算法流程如图7所示。
[0122] 步骤S700 :确定空中传输的第一个语音数据包和第四个语音数据包的状态标志, air_pktl = uart_pktl, air_pkt4 = uart_pkt5〇
[0123] 步骤S701 :判断判断air_pktl的状态标志是否不是1,即是否满足air_pktl != 1,若是,则执行步骤S702,否则,执行步骤S708。
[0124] 步骤S702 :根据上述表4的映射关系,利用air_pktl和uart_pkt2的状态标志, 确定 air_pkt2 的状态标志,B卩 air_pkt2 = pkt_status_map[air_pktl/2] [uart_pkt2]。
[0125] 步骤S703 :判断air_pkt2的状态标志是否不是1,即是否满足air_pkt2 ! = 1, 若是,则执行步骤S704,否则,执行步骤S705。
[0126] 步骤S704 :根据上述表4的映射关系,利用air_pkt2和uart_pkt3的状态标志, 确定 air_pkt3 的状态标志,即 air_pkt3 = pkt_status_map[air_pkt2/2] [uart_pkt3]。
[0127] 步骤S705 :检测air_pkt3的数据,并判断air_pkt3的数据是否全为0,若是,则执 行步骤S706,否则,执行步骤S707。
[0128] 步骤S706 :确定air_pkt3 = 2,流程结束。
[0129] 步骤S707 :确定air_pkt3 = 1,流程结束。
[0130] 步骤S708 :检测air_pkt2的数据,并判断air_pkt2的数据是否全为0,若是,则执 行步骤S709,否则,执行步骤S711。
[0131] 步骤 S709 :确定 air_pkt2 = 2。
[0132] 步骤S710 :根据上述表4的映射关系,利用air_pkt2和uart_pkt3的状态标志, 确定 air_pkt3 的状态标志,即 air_pkt3 = pkt_status_map[air_pkt2/2] [uart_pkt3],此 时air_pkt2 = 2,流程结束。
[0133] 步骤S711 :判断uart_pkt3的状态标志是否不是1,即是否满足air_pkt3 ! = 1, 若是,则执行步骤S712,否则,执行步骤S714。
[0134] 步骤 S712 :确定 air_pkt2 = 0。
[0135] 步骤S713 :根据上述表4的映射关系,利用air_pkt2和uart_pkt3的状态标志, 确定 air_pkt3 的状态标志,即 air_pkt3 = pkt_status_map[air_pkt2/2] [uart_pkt3],此 时air_pkt2 = 0,流程结束。
[0136] 步骤 S714 :确定 air_pkt2 = 1。
[0137] 步骤S715 :检测air_pkt3的数据,并判断air_pkt3的数据是否全为0,若是,则执 行步骤S716,否则,执行步骤S717。
[0138] 步骤S716 :确定air_pkt3 = 2,流程结束。
[0139] 步骤S717 :确定air_pkt3 = 1,流程结束。
[0140] 实施例二以空中传输(air) 70字节的语音数据包对应host端接收到30字节语音 的数据包进行举例分析上述方法。
[0141] 实施例二
[0142] 首先要根据空中传输的sco包大小和控制端(controller)输出的sco包大小求 它们的最小公倍数,如图8所示,30和70的最小公倍数是210,即host端uart接口每收到 7 (即计算210除以30的大小)个sco包时对应空中传输3 (即计算210除以70的大小) 个SCO包。
[0143] 用uart_pktl~uart_pkt7表示host端接收到的某个周期内的第一至第七个sco 数据包,air_pktl~air_pkt3表示对应空中传输的第一至第三个sco数据包。
[0144] 进一步的,确认语音数据的起始对齐位置。正常情况下Controller在sco链路建 立后开始送数给host,刚开始会是一段标志为2的初始化语音数据,一般是几十毫秒至几 百毫秒,然后才是正常数据。在host端检测sco包的标志,当发现它不是2时,计算这个非2 标志的SCO包最开始的0数据的个数,需要说明的是空中只要出现丢包,对应的controller 会将所有数据清〇送给host,而语音静音数据的值一般是-1,不是0。
[0145] 从图8中可以看出,当非2标志的sco数据包处于uart_pktl时,则0的个数为 0,此时对应的空中传输的数据包没有丢包情况出现;当非2标志的sco数据包处于uart_ pkt3时,此时uart_pktl = uart_pkt2 = 2,能够推出air_pktl = 2即空中第一个语音数 据包出现丢包,对应的uart_pkt3有10字节的语音数据为0,这是由于空中只要出现丢包, 对应的controller会将所有数据清0送给host ;同理当非2标志的sco数据包处于uart_ pkt5 时,此时 uart-pktl = uart_pkt2 = uart_pkt3 = uart_pkt4 = 2,會泛够推出 air_pktl =air_pkt2 = 0,对应的uart_pkt5有20字节的语音数据为0 ;当非2标志的sco数据包 处于uart_pkt2时,此时uart_pktl的状态标志为2,可以推出air_pktl的状态标志也为 2,进一步的uart_pkt2的状态标志也是2,这与非2标志的sco数据包处于uart_pkt2相矛 盾,因此非2标志的sco数据包不可能处于uart_pkt2,同理,非2标志的sco数据包不可能 处于uart_pkt4和uart_pkt6 ;但是这个非2标志的的sco数据包不可能处于uart_pkt7, 若非 2 标志的 sco 数据包处于 uart_pkt7 时,uart_pkt7 ! = 2,此时 uart_pktl = uart_ pkt2 = uart_pkt3 = uart_pkt4 = uart_pkt5 = uart_pkt6 = 2,因为 uart_pkt7 的数据 恰好包含于air_pkt3中,如果uart_pkt7的标志不是2,则air_pkt3的标志也不是2,那么 uart_pkt6的标志肯定也是非2,这与发现第一个不是2标志sco数据包为uart_pkt7的前 提相违背。
[0146] 通过上述分析可知,通过在host端检测sco包的状态标志,就能确定语音数据的 初始对齐位置,例如当检测某一语音数据包的状态标志不是2时,计算这个非2标志的sco 包的从开始建立SCO链路的数据0的个数,若数据0的个数为0,则判定从uart_pktl开始 接收语音数据,从uart_pktl开始以周期为单位根据host端接收到得语音数据包携带的状 态标识和语音数据来反推空中实际传输的语音数据包携带的状态标识和语音数据;若数据 0的个数为10,则判定从uart_pkt3开始接收语音数据,从uart_pkt3开始再统计p-3个语 音数据包后以周期为单位根据host端接收到得语音数据包携带的状态标识和语音数据来 反推空中实际传输的语音数据包携带的状态标识和语音数据;同理,若数据〇的个数为20, 则判定从uart_pkt5开始接收语音数据,从uart_pkt5开始再统计p-5个语音数据包后以 周期为单位根据host端接收到得语音数据包携带的状态标识和语音数据来反推空中实际 传输的语音数据包携带的状态标识和语音数据,这不限于空中传输70字节的3个语音数据 包对应host端接收到7个30字节语音的数据包这一种情形。
[0147] 具体的,以周期为单位循环根据host端收到的数据和标志反推出空中实际实际 传输的语音数据包携带的状态标识和语音数据。空中的数据包要么正确、要么出错、要么丢 包,所以只能有〇、1、2标志,而不会出现部分丢包的标志(即标志3)。
[0148] 具体的,以m = 30bytes,n = 70bytes,p = 7, q = 3为例,参阅图8所示,反推过 程如下:air_pkt(i) = uart_pkt((p/q)*i),其中i为大于0且小于或等于p的正整数,p 是uart_pkt -个周期内的包个数,m为uart_pkt的大小,q是air_pkt -个周期内的包个 数,η为air_pkt的大小,p/q是p除以q取整。
[0149] 即air_pktl的状态标志与uart_pkt2的状态标志相同,即air_pktl = uart_ pkt2 ;air_pkt2 的状态标志与 uart_pkt4 的状态标志相同,即 air_pkt2 = uart_pkt4 ;air_ pkt3的状态标志与uart_pkt6的状态标志相同,即air_pkt3 = uart_pkt6〇
[0150] 基于上述技术方案,参阅图9所示,本发明实施例中提供一种蓝牙音箱通话音质 的处理装置,包括:读取单元90,确定单元91和处理单元92,其中:
[0151] 读取单元90,用于在接收到待处理的语音数据后,周期性的从该语音数据中读取 P个m字节的语音数据包,并根据读取的语音数据包的大小和数量p,以及预设的空中传输 的语音数据包的大小,确定当前空中传输的语音数据包的数量q,其中空中传输的语音数据 包的大小为η字节,p,m,η均为设定的正整数,且m〈n ;
[0152] 确定单元91,用于依次获取读取的每个语音数据包携带的数据和状态标识,并根 据获取结果确定该语音数据的第一位置,根据该第一位置确定处理起始位置;
[0153] 处理单元92,用于从该处理起始位置开始,在每一个周期内,从接收的语音数据中 读取P个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空 中传输的各个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携 带的数据和状态标识,对在当前周期内接收的语音数据进行补偿处理。
[0154] 可选的,在接收到待处理的语音数据后,从该语音数据中读取p个m字节的语音数 据语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的语音数据 包的大小,确定当前空中传输的语音数据包的数量q时,该读取单元90用于:
[0155] 确定当前空中传输的语音数据包的数量q满足当前空中传输的所有语音数据包 的大小等于蓝牙装置从该语音数据中读取的所有语音数据包的大小,其中P*m = q*n。
[0156] 可选的,该读取单元90从该语音数据中读取到的语音数据包的状态标识包括第 一标识、第二标识、第三标识和第四标识,其中第一标识指示该语音数据包接收到正确的数 据,第二标识指示该语音数据包接收到错误的数据,第三标识指示该语音数据包没有接收 到任何数据,第四标识指示该语音数据包接收到部分数据;
[0157] 空中传输的语音数据包的状态标识包括第一标识、第二标识和第三标识,其中第 一标识指示该空中传输的语音数据包校验正确,第二标识指示空中传输的语音数据包校验 错误,第三标识指示空中传输的语音数据包丢失;
[0158] 若空中传输的语音数据包的状态标识为第三标识,则对应的蓝牙装置接收到的语 音数据全部置为0。
[0159] 可选的,在接收到待处理的语音数据后,周期性的从该语音数据中读取p个m字节 的语音数据包时,该读取单元90具体用于:
[0160] 在接收到待处理的语音数据后,周期性的从该语音数据中读取p个m字节的语音 数据包,该待处理的语音数据从第一个语音数据开始为X字节的第三标识的初始化语音数 据,剩余的语音数据为从空中传输的语音数据,其中X字节的语音数据全部为〇,且X〈w,w为 待处理的语音数据的字节个数。
[0161] 可选的,依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结 果确定该语音数据的第一位置,根据该第一位置确定处理起始位置时,该确定单元91用 于:
[0162] 依次获取读取的每个语音数据包携带的数据和状态标识,基于获取到的每个数据 包的数据和状态标识,记录第一次出现状态标识不是第三标识的语音数据包的位置作为第 一位置,并统计该第一位置所在的语音数据包数据开头能够连续获取到的〇数据的个数y, 判断y的大小是否为〇,若是,则将第一周期读取的第一个语音数据包作为处理起始位置, 否则,计算i = ((y*P)/m)+11,从第一位置开始再统计p-i个的语音数据包后的位置作为处 理起始位置。
[0163] 可选的,从该处理起始位置开始,在每一个周期内,从接收的语音数据中读取p个 语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传输 的各个语音数据包携带的数据和状态标识时,该处理单元92具体用于:
[0164] 确定p大于q且小于2q时,从该处理起始位置开始,在每一个周期内,从接收的语 音数据中读取P个语音数据包,将该P个语音数据包与空中传输的q个语音数据包进行对 齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数 据,以及根据读取的第一个语音数据包的状态标识,确定空中传输的第一个语音数据包的 状态标识;
[0165] 根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包的状态标 识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数据包的状 态标识,其中空中传输的第一个语音数据包的状态标识和读取的第一个语音数据包的状态 标识相同。
[0166] 可选的,根据空中传输的第一个语音数据包的状态标识、读取的p个语音数据包 的状态标识和空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数 据包的状态标识时,该处理单元92具体用于:
[0167] 在空中传输的一个语音数据包的状态标识不是第二标识时,根据对应的读取的下 一个语音数据包的状态标识,确定空中传输的下一个语音数据包的状态标识,并建立空中 传输的下一个语音书包的状态标识与该空中传输的一个语音数据包的状态标识、读取的下 一个语音数据包的状态标识之间的第一映射关系;
[0168] 在确定空中传输的第一个语音数据包的状态标识不是第二标识时,根据空中传输 的第一个语音数据包的状态标识和读取的第二个语音数据包的状态标识,利用第一映射关 系确定空中传输的第二个语音数据包的状态标识;在确定空中传输的第一个语音数据包的 状态标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语 音数据包的状态,确定空中传输的第二个语音数据包的状态标识;
[0169] 继续根据空中传输的一个语音数据包的状态标识、读取的下一个语音数据包的状 态标识和空中传输的下一个语音数据包携带的数据、确定空中传输的下一个语音数据包的 状态标识,直到确定出空中传输的每一个语音数据包的状态标识为止。
[0170] 可选的,在确定空中传输的第一个语音数据包的状态标识是第二标识时,根据空 中传输的第二个语音数据包携带的数据和读取的第三个语音数据包的状态,确定空中传输 的第二个语音数据包的状态标识时,该处理单元92具体用于:
[0171] 在确定空中传输的第一个语音数据包的状态标识是第二标识时,获取空中传输的 第二个语音数据包携带的数据,判断空中传输的第二个语音数据包携带的数据是否全为0,
[0172] 若是,则判定空中传输的第二个语音数据包的状态标识为第三标识;
[0173] 否则,进一步判断读取的第三个语音数据包的状态标识是否为第二标识,若是,则 判定空中传输的第二个语音数据包的状态标识为第二标识;否则,判定空中传输的第二个 语音数据包的状态标识为第一标识。
[0174] 可选的,从该处理起始位置开始,在每一个周期内,从接收的语音数据中读取p个 语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传输 的各个语音数据包携带的数据和状态标识时,该处理单元92具体用于:
[0175] 确定p不小于2q时,从该处理起始位置开始,在每一个周期内,从接收的语音数据 中读取P个语音数据包,将该P个语音数据包与空中传输的q个语音数据包进行对齐处理, 根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数据;
[0176] 获取读取的p个语音数据包的状态标识,确定空中传输的各个语音数据包的状态 标识,其中空中传输的第i个语音数据包的状态标识与读取的第a个语音数据包的状态标 识相同,a = (p*i/q),a取正整数,i为大于0且不大于q的正整数。
[0177] 可选的,基于空中传输的各个语音数据包携带的数据和状态标识,对在当前周期 接收的语音数据进行补偿处理时,该处理单元92具体用于:
[0178] 若空中传输的一个语音数据包的状态标识为第三标识时,对当前周期接收的语音 数据中对应于该一个语音数据包的语音数据进行补偿处理。
[0179] 综上所述,本发明实施例中,在接收到待处理的语音数据后,蓝牙装置从该语音数 据中读取P个m字节的语音数据包,并根据读取的语音数据包的大小和数量p,以及预设的 空中传输的语音数据包的大小,确定当前空中传输的语音数据包的数量q,其中空中传输的 语音数据包的大小为η字节,p,m,η均为设定的正整数,且m〈n ;依次获取读取的每个语音 数据包携带的数据和状态标识,并根据获取结果确定该语音数据的第一位置,根据该第一 位置确定处理起始位置;从该处理起始位置开始,在每一个周期内,从接收的语音数据中读 取P个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中 传输的各个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携带 的数据和状态标识,对在当前周期接收的语音数据进行补偿处理,这样,能够实现利用接收 端的语音数据包携带的语音数据和状态标识,反推出空中传输的语音数据的状态标识,有 针对性的进行丢包补偿处理,从而减少有效数据的浪费,提高通话音质,降低语音数据的错 误率。
[0180] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0181] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0182] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0183] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
[0184] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。
[0185] 显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发 明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求 及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1. 一种蓝牙音箱通话音质的处理方法,其特征在于,包括: 在接收到待处理的语音数据后,周期性的从所述语音数据中读取P个m字节的语音数 据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的语音数据包的大 小,确定当前空中传输的语音数据包的数量q,其中空中传输的语音数据包的大小为η字 节,p,m,η均为设定的正整数,且m〈n ; 依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取结果确定所述语 音数据的第一位置,根据所述第一位置确定处理起始位置; 从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取P个语音数据 包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传输的各个语 音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携带的数据和状态 标识,对在当前周期内接收的语音数据进行补偿处理。2. 如权利要求1所述的方法,其特征在于,在接收到待处理的语音数据后,蓝牙装置从 所述语音数据中读取P个m字节的语音数据语音数据包,并根据读取的语音数据包的大小 和数量P,以及预设的空中传输的语音数据包的大小,确定当前空中传输的语音数据包的数 量q,包括: 当前空中传输的语音数据包的数量q满足当前空中传输的所有语音数据包的大小等 于蓝牙装置从所述语音数据中读取的所有语音数据包的大小,其中P*m = q*n。3. 如权利要求1所述的方法,其特征在于,包括: 从所述语音数据中读取到的语音数据包的状态标识包括第一标识、第二标识、第三标 识和第四标识,其中第一标识指示所述语音数据包接收到正确的数据,第二标识指示所述 语音数据包接收到错误的数据,第三标识指示所述语音数据包没有接收到任何数据,第四 标识指示所述语音数据包接收到部分数据; 空中传输的语音数据包的状态标识包括第一标识、第二标识和第三标识,其中第一标 识指示所述空中传输的语音数据包校验正确,第二标识指示空中传输的语音数据包校验错 误,第三标识指示空中传输的语音数据包丢失; 若空中传输的语音数据包的状态标识为第三标识,则对应的蓝牙装置接收到的语音数 据全部置为〇。4. 如权利要求1所述的方法,其特征在于,在接收到待处理的语音数据后,蓝牙装置周 期性的从所述语音数据中读取P个m字节的语音数据包,进一步包括: 在接收到待处理的语音数据后,蓝牙装置周期性的从所述语音数据中读取P个m字节 的语音数据包,所述待处理的语音数据从第一个语音数据开始为X字节的第三标识的初始 化语音数据,剩余的语音数据为从空中传输的语音数据,其中X字节的语音数据全部为〇, 且x〈w,w为待处理的语音数据的字节个数。5. 如权利要求1所述的方法,其特征在于,依次获取读取的每个语音数据包携带的数 据和状态标识,并根据获取结果确定所述语音数据的第一位置,根据所述第一位置确定处 理起始位置,具体包括: 依次获取读取的每个语音数据包携带的数据和状态标识,基于获取到的每个数据包的 数据和状态标识,记录第一次出现状态标识不是第三标识的语音数据包的位置作为第一位 置,并统计所述第一位置所在的语音数据包数据开头能够连续获取到的〇数据的个数y,判 断y的大小是否为0,若是,则将第一周期读取的第一个语音数据包作为处理起始位置,否 贝1J,计算i = ((y*P)/m)+l,从第一位置开始再统计p-i个的语音数据包后的位置作为处理 起始位置。6. 如权利要求1-5任一项所述的方法,其特征在于,从所述处理起始位置开始,在每一 个周期内,从接收的语音数据中读取P个语音数据包,并根据读取的P个语音数据包携带的 数据和状态标识,确定对应的空中传输的各个语音数据包携带的数据和状态标识,具体包 括: 确定P大于q且小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的语音 数据中读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进行对 齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数 据,以及根据读取的第一个语音数据包的状态标识,确定空中传输的第一个语音数据包的 状态标识; 根据空中传输的第一个语音数据包的状态标识、读取的P个语音数据包的状态标识和 空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数据包的状态标 识,其中空中传输的第一个语音数据包的状态标识和读取的第一个语音数据包的状态标识 相同。7. 如权利要求6所述的方法,其特征在于,根据空中传输的第一个语音数据包的状态 标识、读取的P个语音数据包的状态标识和空中传输的各个语音数据包携带的数据,确定 对应的空中传输的各个语音数据包的状态标识,具体包括: 在空中传输的一个语音数据包的状态标识不是第二标识时,根据对应的读取的下一个 语音数据包的状态标识,确定空中传输的下一个语音数据包的状态标识,并建立空中传输 的下一个语音书包的状态标识与所述空中传输的一个语音数据包的状态标识、读取的下一 个语音数据包的状态标识之间的第一映射关系; 在确定空中传输的第一个语音数据包的状态标识不是第二标识时,根据空中传输的第 一个语音数据包的状态标识和读取的第二个语音数据包的状态标识,利用第一映射关系确 定空中传输的第二个语音数据包的状态标识;在确定空中传输的第一个语音数据包的状态 标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语音数 据包的状态,确定空中传输的第二个语音数据包的状态标识; 继续根据空中传输的一个语音数据包的状态标识、读取的下一个语音数据包的状态标 识和空中传输的下一个语音数据包携带的数据、确定空中传输的下一个语音数据包的状态 标识,直到确定出空中传输的每一个语音数据包的状态标识为止。8. 如权利要求7所述的方法,其特征在于,在确定空中传输的第一个语音数据包的状 态标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语音 数据包的状态,确定空中传输的第二个语音数据包的状态标识,具体包括: 在确定空中传输的第一个语音数据包的状态标识是第二标识时,获取空中传输的第二 个语音数据包携带的数据,判断空中传输的第二个语音数据包携带的数据是否全为0, 若是,则判定空中传输的第二个语音数据包的状态标识为第三标识; 否则,进一步判断读取的第三个语音数据包的状态标识是否为第二标识,若是,则判定 空中传输的第二个语音数据包的状态标识为第二标识;否则,判定空中传输的第二个语音 数据包的状态标识为第一标识。9. 如权利要求1-5任一项所述的方法,其特征在于,从所述处理起始位置开始,在每一 个周期内,从接收的语音数据中读取P个语音数据包,并根据读取的P个语音数据包携带的 数据和状态标识,确定对应的空中传输的各个语音数据包携带的数据和状态标识,具体包 括: 确定P不小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的语音数据中 读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进行对齐处理, 根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数据; 获取读取的P个语音数据包的状态标识,确定空中传输的各个语音数据包的状态标 识,其中空中传输的第i个语音数据包的状态标识与读取的第a个语音数据包的状态标识 相同,a = (p*i/q),a取正整数,i为大于0且不大于q的正整数。10. 如权利要求1所述的方法,其特征在于,基于空中传输的各个语音数据包携带的数 据和状态标识,对在当前周期内接收的语音数据进行补偿处理,包括: 若空中传输的一个语音数据包的状态标识为第三标识时,对当前周期内接收的语音数 据中对应于所述一个语音数据包的语音数据进行补偿处理。11. 一种蓝牙音箱通话音质的处理装置,其特征在于,包括: 读取单元,用于在接收到待处理的语音数据后,周期性的从所述语音数据中读取P个m 字节的语音数据包,并根据读取的语音数据包的大小和数量P,以及预设的空中传输的语音 数据包的大小,确定当前空中传输的语音数据包的数量q,其中空中传输的语音数据包的大 小为η字节,p,m,η均为设定的正整数,且m〈n ; 确定单元,用于依次获取读取的每个语音数据包携带的数据和状态标识,并根据获取 结果确定所述语音数据的第一位置,根据所述第一位置确定处理起始位置; 处理单元,用于从所述处理起始位置开始,在每一个周期内,从接收的语音数据中读取 P个语音数据包,并根据读取的P个语音数据包携带的数据和状态标识,确定对应的空中传 输的各个语音数据包携带的数据和状态标识,以及基于空中传输的各个语音数据包携带的 数据和状态标识,对在当前周期内接收的语音数据进行补偿处理。12. 如权利要求11所述的装置,其特征在于,在接收到待处理的语音数据后,从所述 语音数据中读取P个m字节的语音数据语音数据包,并根据读取的语音数据包的大小和数 量P,以及预设的空中传输的语音数据包的大小,确定当前空中传输的语音数据包的数量q 时,所述读取单元用于: 确定当前空中传输的语音数据包的数量q满足当前空中传输的所有语音数据包的大 小等于蓝牙装置从所述语音数据中读取的所有语音数据包的大小,其中P*m = q*n。13. 如权利要求11所述的装置,其特征在于,所述读取单元从所述语音数据中读取到 的语音数据包的状态标识包括第一标识、第二标识、第三标识和第四标识,其中第一标识指 示所述语音数据包接收到正确的数据,第二标识指示所述语音数据包接收到错误的数据, 第三标识指示所述语音数据包没有接收到任何数据,第四标识指示所述语音数据包接收到 部分数据; 空中传输的语音数据包的状态标识包括第一标识、第二标识和第三标识,其中第一标 识指示所述空中传输的语音数据包校验正确,第二标识指示空中传输的语音数据包校验错 误,第三标识指示空中传输的语音数据包丢失; 若空中传输的语音数据包的状态标识为第三标识,则对应的蓝牙装置接收到的语音数 据全部置为0。14. 如权利要求11所述的装置,其特征在于,在接收到待处理的语音数据后,周期性的 从所述语音数据中读取P个m字节的语音数据包时,所述读取单元具体用于: 在接收到待处理的语音数据后,周期性的从所述语音数据中读取P个m字节的语音数 据包,所述待处理的语音数据从第一个语音数据开始为X字节的第三标识的初始化语音数 据,剩余的语音数据为从空中传输的语音数据,其中X字节的语音数据全部为〇,且x〈w,w为 待处理的语音数据的字节个数。15. 如权利要求11所述的装置,其特征在于,依次获取读取的每个语音数据包携带的 数据和状态标识,并根据获取结果确定所述语音数据的第一位置,根据所述第一位置确定 处理起始位置时,所述确定单元具体用于: 依次获取读取的每个语音数据包携带的数据和状态标识,基于获取到的每个数据包的 数据和状态标识,记录第一次出现状态标识不是第三标识的语音数据包的位置作为第一位 置,并统计所述第一位置所在的语音数据包数据开头能够连续获取到的〇数据的个数y,判 断y的大小是否为〇,若是,则将第一周期读取的第一个语音数据包作为处理起始位置,否 贝1J,计算i = ((y*P)/m)+11,从第一位置开始再统计p-i个的语音数据包后的位置作为处理 起始位置。16. 如权利要求11-15任一项所述的装置,其特征在于,从所述处理起始位置开始,在 每一个周期内,从接收的语音数据中读取P个语音数据包,并根据读取的P个语音数据包携 带的数据和状态标识,确定对应的空中传输的各个语音数据包携带的数据和状态标识时, 所述处理单元具体用于: 确定P大于q且小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的语音 数据中读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进行对 齐处理,根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数 据,以及根据读取的第一个语音数据包的状态标识,确定空中传输的第一个语音数据包的 状态标识; 根据空中传输的第一个语音数据包的状态标识、读取的P个语音数据包的状态标识和 空中传输的各个语音数据包携带的数据,确定对应的空中传输的各个语音数据包的状态标 识,其中空中传输的第一个语音数据包的状态标识和读取的第一个语音数据包的状态标识 相同。17. 如权利要求16所述的装置,其特征在于,根据空中传输的第一个语音数据包的状 态标识、读取的P个语音数据包的状态标识和空中传输的各个语音数据包携带的数据,确 定对应的空中传输的各个语音数据包的状态标识时,所述处理单元具体用于: 在空中传输的一个语音数据包的状态标识不是第二标识时,根据对应的读取的下一个 语音数据包的状态标识,确定空中传输的下一个语音数据包的状态标识,并建立空中传输 的下一个语音书包的状态标识与所述空中传输的一个语音数据包的状态标识、读取的下一 个语音数据包的状态标识之间的第一映射关系; 在确定空中传输的第一个语音数据包的状态标识不是第二标识时,根据空中传输的第 一个语音数据包的状态标识和读取的第二个语音数据包的状态标识,利用第一映射关系确 定空中传输的第二个语音数据包的状态标识;在确定空中传输的第一个语音数据包的状态 标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语音数 据包的状态,确定空中传输的第二个语音数据包的状态标识; 继续根据空中传输的一个语音数据包的状态标识、读取的下一个语音数据包的状态标 识和空中传输的下一个语音数据包携带的数据、确定空中传输的下一个语音数据包的状态 标识,直到确定出空中传输的每一个语音数据包的状态标识为止。18. 如权利要求17所述的装置,其特征在于,在确定空中传输的第一个语音数据包的 状态标识是第二标识时,根据空中传输的第二个语音数据包携带的数据和读取的第三个语 音数据包的状态,确定空中传输的第二个语音数据包的状态标识时,所述处理单元具体用 于: 在确定空中传输的第一个语音数据包的状态标识是第二标识时,获取空中传输的第二 个语音数据包携带的数据,判断空中传输的第二个语音数据包携带的数据是否全为0, 若是,则判定空中传输的第二个语音数据包的状态标识为第三标识; 否则,进一步判断读取的第三个语音数据包的状态标识是否为第二标识,若是,则判定 空中传输的第二个语音数据包的状态标识为第二标识;否则,判定空中传输的第二个语音 数据包的状态标识为第一标识。19. 如权利要求11-15任一项所述的装置,其特征在于,从所述处理起始位置开始,在 每一个周期内,从接收的语音数据中读取P个语音数据包,并根据读取的P个语音数据包携 带的数据和状态标识,确定对应的空中传输的各个语音数据包携带的数据和状态标识时, 所述处理单元具体用于: 确定P不小于2q时,从所述处理起始位置开始,在每一个周期内,从接收的语音数据中 读取P个语音数据包,将所述P个语音数据包与空中传输的q个语音数据包进行对齐处理, 根据读取的P个语音数据包携带的数据确定空中传输的各个语音数据包携带的数据; 获取读取的P个语音数据包的状态标识,确定空中传输的各个语音数据包的状态标 识,其中空中传输的第i个语音数据包的状态标识与读取的第a个语音数据包的状态标识 相同,a = (p*i/q),a取正整数,i为大于0且不大于q的正整数。20. 如权利要求11所述的装置,其特征在于,基于空中传输的各个语音数据包携带 的数据和状态标识,对在当前周期接收的语音数据进行补偿处理时,所述处理单元具体用 于: 若空中传输的一个语音数据包的状态标识为第三标识时,对当前周期接收的语音数据 中对应于所述一个语音数据包的语音数据进行补偿处理。
【文档编号】H04M1/725GK105991237SQ201510099085
【公开日】2016年10月5日
【申请日】2015年3月5日
【发明人】陈金宏
【申请人】炬新(珠海)微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1