技术新讯 > 乐器声学设备的制造及制作,分析技术 > 一种音频数据的编码方法、解码方法及装置与流程  >  正文

一种音频数据的编码方法、解码方法及装置与流程

  • 国知局
  • 2024-06-21 11:52:01

本公开涉及数据处理,尤其涉及一种音频数据的编码方法、解码方法及装置。

背景技术:

1、在voip(voice over internet protocol,基于ip的语音传输)通话中,为了提高音频信号质量,编码端会根据实时网络情况调整编码模式,例如在多描述编码(multipledescription coding,mdc)模式和单描述编码(single description coding,sdc)模式之间切换。

2、由于多描述编码mdc模式和单描述编码sdc模式使用不同编码算法,因此,在延时、采样率等参数上可能不一致,这导致在切换编码模式的情况下解码音频数据时可能出现音频不连续和/或有杂音的问题。

技术实现思路

1、有鉴于此,本公开实施例提供了一种音频数据的编码方法、解码方法处理方法及装置,用于在编码模式切换的情况下,提升音频信号的质量。

2、为了实现上述目的,本公开实施例提供技术方案如下:

3、第一方面,本公开的实施例提供了一种音频数据的编码方法,包括:

4、确定第一音频帧的编码模式;

5、判断所述第一音频帧的编码模式与第二音频帧的编码模式是否相同;所述第二音频帧为所述第一音频帧的前一个音频帧;

6、若不相同,且所述第一音频帧的编码模式为多描述编码,则根据第一数据、第二数据以及第一延迟,生成第三数据;所述第一数据为对所述第一音频帧的原始音频数据进行分频得到的低频数据,所述第二数据为对所述第二音频帧的原始音频数据进行分频得到的低频数据,所述第一延迟为所述多描述编码的编码延迟;

7、对所述第三数据进行多描述编码,以获取所述第一音频帧的编码数据。

8、作为本技术实施例一种可选的实施方式,所述方法还包括:

9、若所述第一音频帧的编码模式与第二音频帧的编码模式不相同,且所述第一音频帧的编码模式为单描述编码,则根据第四数据、第五数据以及第二延迟,生成第六数据;所述第四数据为所述第一音频帧的原始音频数据,所述第五数据为所述第二音频帧的原始音频数据,所述第二延迟为所述单描述编码的编码延迟;

10、对所述第六数据进行单描述编码,以获取所述第一音频帧的编码数据。

11、作为本技术实施例一种可选的实施方式,所述根据第一数据、第二数据以及第一延迟,生成第三数据,包括:

12、从所述第二数据的尾端截取长度为所述第一延迟的样点,以获取第七数据;

13、将所述第七数据拼接于所述第一数据的首端,以获取第八数据;

14、从所述第八数据的尾端删除长度为所述第一延迟的样点,以获取所述第三数据。

15、作为本技术实施例一种可选的实施方式,所述根据第四数据、第五数据以及第二延迟,生成第六数据,包括:

16、从所述第五数据的尾端截取长度为所述第二延迟的样点,以获取第九数据;

17、将所述第九数据拼接于所述第四数据的首端,以获取第十数据;

18、从所述第十数据的尾端删除长度为所述第二延迟的样点,以获取所述第六数据。

19、作为本技术实施例一种可选的实施方式,所述确定第一音频帧的编码模式,包括:

20、基于编码模式持续时长和所述第一音频帧的信号类型确定是否满足编码模式切换条件;所述编码模式持续时长为当前编码模式连续编码的音频帧的播放时长;

21、若否,则将所述第二音频帧的编码模式确定为所述第一音频帧的编码模式;

22、若是,则根据音频编码数据传输网络的网络参数确定所述第一音频帧的编码模式。

23、作为本技术实施例一种可选的实施方式,所述基于编码模式持续时长和所述第一音频帧的信号类型,确定是否满足编码模式切换条件,包括:

24、判断所述编码模式持续时长是否大于阈值时长;

25、判断所述第一音频帧为语音音频帧的概率是否小于阈值概率;

26、若所述编码模式持续时长大于所述阈值时长,且所述第一音频帧为语音音频帧的概率小于所述阈值概率,则确定满足所述编码模式切换条件;

27、若所述编码模式持续时长小于或等于所述阈值时长和/或所述第一音频帧为语音音频帧的概率大于或等于所述阈值概率,则确定不满足所述编码模式切换条件。

28、作为本技术实施例一种可选的实施方式,所述根据音频编码数据传输网络的网络参数确定所述第一音频帧的编码模式,包括:

29、根据所述网络参数确定所述音频编码数据传输网络的丢包率;

30、判断所述丢包率是否大于或等于阈值丢包率;

31、若是,则确定所述第一音频帧的编码模式为多描述编码;

32、若否,则确定所述第一音频帧的编码模式为单描述编码。

33、第二方面,本公开的实施例提供了一种音频数据的解码方法,包括:

34、根据第一音频帧的编码数据确定第一音频帧的编码模式;

35、根据所述编码模式对所述第一音频帧的编码数据进行解码,获取解码数据;

36、判断所述第一音频帧的编码模式与第二音频帧的编码模式是否相同;所述第二音频帧为所述第一音频帧的前一个音频帧;

37、若不相同,且所述第一音频帧的编码模式为多描述编码,则基于所述第二音频帧生成丢包补偿数据;

38、根据所述第二音频帧的延迟数据和所述丢包补偿数据对所述解码数据进行平滑处理,以获取所述第一音频帧的播放数据。

39、作为本技术实施例一种可选的实施方式,所述方法还包括:

40、若所述第一音频帧的编码模式与第二音频帧的编码模式不相同,且所述第一音频帧的编码模式为单描述编码,则基于所述第二音频帧生成丢包补偿数据;

41、根据所述丢包补偿数据对所述解码数据进行平滑处理,以获取所述解码数据对应的平滑结果;

42、根据所述丢包补偿数据和延迟样点数量对所述平滑结果进行延迟处理,以获取所述第一音频帧的播放数据;所述延迟样点数量为多描述编码的延迟样点数量。

43、作为本技术实施例一种可选的实施方式,所述根据所述丢包补偿数据对所述解码数据进行平滑处理,以获取所述解码数据对应的平滑结果,包括:

44、将所述解码数据中的第一样点序列替换为所述丢包补偿数据中的第二样点序列,以获取第一替换结果;所述第一样点序列为所述解码数据的前第一数量个样点组成的样点序列,所述第一数量为第一预设数量与所述延迟样点数量的差值;所述第二样点序列为所述丢包补偿数据中索引值为所述延迟样点数量至所述第一预设数量的样点组成的样点序列;

45、基于第一窗函数对所述第一替换结果中的第三样点序列和所述丢包补偿数据中的第四样点序列进行加窗叠加,以获取所述解码数据对应的平滑结果,所述第三样点序列为所述第一替换结果中索引值为所述第一数量至所述第一数量与第二预设数量的和的样点组成的样点序列;所述第四样点序列为所述丢包补偿数据中索引值为所述第一预设数量至所述第一预设数量与第二预设数量的和的样点组成的样点序列。

46、作为本技术实施例一种可选的实施方式,所述根据所述丢包补偿数据和延迟样点数量对所述平滑结果进行延迟处理,以获取所述第一音频帧的播放数据,包括:

47、获取第五样点序列,所述第五样点序列为所述丢包补偿数据的前所述延迟样点数量个样点组成的样点序列;

48、将所述第五样点序列拼接于所述平滑结果之前,以获取第一拼接结果;

49、删除所述第一拼接结果中的第六样点序列,以获取所述第一音频帧的播放数据,所述第六样点序列为所述第一拼接结果的后所述延迟样点数量个样点组成的样点序列。

50、作为本技术实施例一种可选的实施方式,所述根据所述第二音频帧的延迟数据和所述丢包补偿数据对所述解码数据进行平滑处理,以获取所述第一音频帧的播放数据,包括:

51、将所述解码数据中的第七样点序列替换为所述延迟数据,以获取第二替换结果;所述第七样点序列为所述解码数据中的前所述延迟样点数量个样点组成的样点序列;

52、基于第二窗函数对所述第二替换结果中的第八样点序列和所述丢包补偿数据中的第九样点序列进行加窗叠加,以获取所述第一音频帧的播放数据,所述第八样点序列为所述第二替换结果中索引值为所述延迟样点数量至所述延迟样点数量与第三预设数量的和的样点组成的样点序列;所述第九样点序列为所述丢包补偿数据的前所述第三预设数量个样点组成的样点序列。

53、作为本技术实施例一种可选的实施方式,所述方法还包括:

54、若所述第一音频帧的编码模式与第二音频帧的编码模式相同,且所述第一音频帧的编码模式为单描述编码,则根据所述第二音频帧的延迟数据和所述延迟样点数量对所述解码数据进行延迟处理,以获取所述第一音频帧的播放数据。

55、作为本技术实施例一种可选的实施方式,所述根据所述第二音频帧的延迟数据和所述延迟样点数量对所述解码数据进行延迟处理,以获取所述第一音频帧的播放数据,包括:

56、将所述延迟数据拼接于所述解码数据之前,以获取第二拼接结果;

57、删除所述第二拼接结果中的第十样点序列,以获取所述第一音频帧的播放数据,所述第十样点序列为所述第二拼接结果的后所述延迟样点数量个样点组成的样点序列。

58、第三方面,本公开实施例提供一种音频数据的编码装置,包括:

59、确定单元,用于确定第一音频帧的编码模式;

60、判断单元,用于判断所述第一音频帧的编码模式与第二音频帧的编码模式是否相同;所述第二音频帧为所述第一音频帧的前一个音频帧;

61、生成单元,用于在所述第一音频帧的编码模式与第二音频帧的编码模式不相同且所述第一音频帧的编码模式为多描述编码的情况下,根据第一数据、第二数据以及第一延迟,生成第三数据;所述第一数据为对所述第一音频帧的原始音频数据进行分频得到的低频数据,所述第二数据为对所述第二音频帧的原始音频数据进行分频得到的低频数据,所述第一延迟为所述多描述编码的编码延迟;

62、编码单元,用于对所述第三数据进行多描述编码,以获取所述第一音频帧的编码数据。

63、作为本技术实施例一种可选的实施方式,所述生成单元,还用于在所述第一音频帧的编码模式与第二音频帧的编码模式不相同,且所述第一音频帧的编码模式为单描述编码的情况下,根据第四数据、第五数据以及第二延迟,生成第六数据;所述第四数据为所述第一音频帧的原始音频数据,所述第五数据为所述第二音频帧的原始音频数据,所述第二延迟为所述单描述编码的编码延迟;

64、所述编码单元,还用于对所述第六数据进行单描述编码,以获取所述第一音频帧的编码数据。

65、作为本技术实施例一种可选的实施方式,所述生成单元,具体用于从所述第二数据的尾端截取长度为所述第一延迟的样点,以获取第七数据;将所述第七数据拼接于所述第一数据的首端,以获取第八数据;从所述第八数据的尾端删除长度为所述第一延迟的样点,以获取所述第三数据。

66、作为本技术实施例一种可选的实施方式,所述生成单元,具体用于从所述第五数据的尾端截取长度为所述第二延迟的样点,以获取第九数据;将所述第九数据拼接于所述第四数据的首端,以获取第十数据;从所述第十数据的尾端删除长度为所述第二延迟的样点,以获取所述第六数据。

67、作为本技术实施例一种可选的实施方式,所述确定单元,具体用于基于编码模式持续时长和所述第一音频帧的信号类型确定是否满足编码模式切换条件;所述编码模式持续时长为当前编码模式连续编码的音频帧的播放时长;若否,则将所述第二音频帧的编码模式确定为所述第一音频帧的编码模式;若是,则根据音频编码数据传输网络的网络参数确定所述第一音频帧的编码模式。

68、作为本技术实施例一种可选的实施方式,所述确定单元,具体用于判断所述编码模式持续时长是否大于阈值时长;判断所述第一音频帧为语音音频帧的概率是否小于阈值概率;若所述编码模式持续时长大于所述阈值时长,且所述第一音频帧为语音音频帧的概率小于所述阈值概率,则确定满足所述编码模式切换条件;若所述编码模式持续时长小于或等于所述阈值时长和/或所述第一音频帧为语音音频帧的概率大于或等于所述阈值概率,则确定不满足所述编码模式切换条件。

69、作为本技术实施例一种可选的实施方式,所述确定单元,具体用于根据所述网络参数确定所述音频编码数据传输网络的丢包率;判断所述丢包率是否大于或等于阈值丢包率;若是,则确定所述第一音频帧的编码模式为多描述编码;若否,则确定所述第一音频帧的编码模式为单描述编码。

70、第四方面,本公开实施例提供一种音频数据的解码装置,包括:

71、确定单元,用于根据第一音频帧的编码数据确定第一音频帧的编码模式;

72、解码单元,用于根据所述编码模式对所述第一音频帧的编码数据进行解码,获取解码数据;

73、判断单元,用于判断所述第一音频帧的编码模式与第二音频帧的编码模式是否相同;所述第二音频帧为所述第一音频帧的前一个音频帧;

74、处理单元,用于在所述第一音频帧的编码模式与第二音频帧的编码模式不相同且所述第一音频帧的编码模式为多描述编码的情况下,基于所述第二音频帧生成丢包补偿数据;以及根据所述第二音频帧的延迟数据和所述丢包补偿数据对所述解码数据进行平滑处理,以获取所述第一音频帧的播放数据。

75、作为本公开实施例一种可选的实施方式,所述处理单元,还用于在所述第一音频帧的编码模式与第二音频帧的编码模式不相同,且所述第一音频帧的编码模式为单描述编码的情况下,基于所述第二音频帧生成丢包补偿数据;根据所述丢包补偿数据对所述解码数据进行平滑处理,以获取所述解码数据对应的平滑结果;根据所述丢包补偿数据和延迟样点数量对所述平滑结果进行延迟处理,以获取所述第一音频帧的播放数据;所述延迟样点数量为多描述编码的延迟样点数量。

76、作为本技术实施例一种可选的实施方式,所述处理单元,具体用于将所述解码数据中的第一样点序列替换为所述丢包补偿数据中的第二样点序列,以获取第一替换结果;所述第一样点序列为所述解码数据的前第一数量个样点组成的样点序列,所述第一数量为第一预设数量与所述延迟样点数量的差值;所述第二样点序列为所述丢包补偿数据中索引值为所述延迟样点数量至所述第一预设数量的样点组成的样点序列;基于第一窗函数对所述第一替换结果中的第三样点序列和所述丢包补偿数据中的第四样点序列进行加窗叠加,以获取所述解码数据对应的平滑结果,所述第三样点序列为所述第一替换结果中索引值为所述第一数量至所述第一数量与第二预设数量的和的样点组成的样点序列;所述第四样点序列为所述丢包补偿数据中索引值为所述第一预设数量至所述第一预设数量与第二预设数量的和的样点组成的样点序列。

77、作为本技术实施例一种可选的实施方式,所述处理单元,具体用于获取第五样点序列,所述第五样点序列为所述丢包补偿数据的前所述延迟样点数量个样点组成的样点序列;将所述第五样点序列拼接于所述平滑结果之前,以获取第一拼接结果;删除所述第一拼接结果中的第六样点序列,以获取所述第一音频帧的播放数据,所述第六样点序列为所述第一拼接结果的后所述延迟样点数量个样点组成的样点序列。

78、作为本技术实施例一种可选的实施方式,所述处理单元,具体用于将所述解码数据中的第七样点序列替换为所述延迟数据,以获取第二替换结果;所述第七样点序列为所述解码数据中的前所述延迟样点数量个样点组成的样点序列;基于第二窗函数对所述第二替换结果中的第八样点序列和所述丢包补偿数据中的第九样点序列进行加窗叠加,以获取所述第一音频帧的播放数据,所述第八样点序列为所述第二替换结果中索引值为所述延迟样点数量至所述延迟样点数量与第三预设数量的和的样点组成的样点序列;所述第九样点序列为所述丢包补偿数据的前所述第三预设数量个样点组成的样点序列。

79、作为本技术实施例一种可选的实施方式,所述处理单元,还用于在所述第一音频帧的编码模式与第二音频帧的编码模式相同,且所述第一音频帧的编码模式为单描述编码的情况下,根据所述第二音频帧的延迟数据和所述延迟样点数量对所述解码数据进行延迟处理,以获取所述第一音频帧的播放数据。

80、作为本技术实施例一种可选的实施方式,所述处理单元,具体用于将所述延迟数据拼接于所述解码数据之前,以获取第二拼接结果;删除所述第二拼接结果中的第十样点序列,以获取所述第一音频帧的播放数据,所述第十样点序列为所述第二拼接结果的后所述延迟样点数量个样点组成的样点序列。

81、第五方面,本公开实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一实施方式所述的音频数据的编码方法或音频数据的解码方法。

82、第六方面,本公开实施例提供一种计算机可读存储介质,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施方式所述的音频数据的编码方法或音频数据的解码方法。

83、第七方面,本公开实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施方式所述的音频数据的编码方法或音频数据的解码方法。

84、本公开实施例提供的音频数据的编码方法、解码方法通过确定第一音频帧的编码模式;判断所述第一音频帧的编码模式与第二音频帧的编码模式是否相同;若不相同,且所述第一音频帧的编码模式为多描述编码,则根据第一数据、第二数据以及第一延迟,生成目标数据。由于本公开实施例提供的音频数据的编码方法在所述第一音频帧的编码模式与所述第二音频帧的编码模式不相同,且所述第一音频帧的编码模式为多描述编码时,会根据第二音频帧的原始音频数据进行分频得到的低频数据和多描述编码的编码延迟对第一音频帧的原始音频数据进行分频得到的低频数据进行处理,然后在对处理得到的第三数据进行编码,因此本技术实施例可以在变化模式由单描述编码切换为多描述编码时,避免出现音频不连续以及有杂音的问题,进而提升音频信号的质量。

本文地址:https://www.jishuxx.com/zhuanli/20240618/24095.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。