音频编解码方法、装置、存储介质及计算机程序产品与流程

文档序号:36886544发布日期:2024-02-02 21:20阅读:39来源:国知局
音频编解码方法、装置、存储介质及计算机程序产品与流程

本技术涉及音频编解码领域,特别涉及一种音频编解码方法、装置、存储介质及计算机程序产品。


背景技术:

1、随着生活质量的提高,人们对高质量音频的需求不断增大。为了利用有限的带宽更好地传输音频信号,通常需要先在编码端对音频信号进行数据压缩,以得到码流,然后将码流传输到解码端。解码端对接收到的码流进行解码处理,以重建音频信号,重建出的音频信号用于回放。然而,一些解码端的资源有限,例如某些蓝牙耳机、智能音箱等。如何降低解码端在解码过程中的功耗,成为一个亟需解决的技术问题。


技术实现思路

1、本技术提供了一种音频编解码方法、装置、存储介质及计算机程序产品,能够降低解码端的功耗。所述技术方案如下:

2、第一方面,提供了一种音频解码方法,所述方法包括:

3、如果待解码的音频信号满足第一条件,则获取声道解码模式,所述第一条件包括所述音频信号为双声道信号、所述音频信号的编码码率不小于码率阈值,且所述音频信号的采样率不小于采样率阈值;如果所述声道解码模式为左声道解码模式,则解码码流中的左声道比特流,以得到所述音频信号的左声道数据,将所述左声道数据复制到右声道;如果所述声道解码模式为右声道解码模式,则解码所述码流中的右声道比特流,以得到所述音频信号的右声道数据,将所述右声道数据复制到左声道。

4、可选地,所述方法还包括:如果所述声道解码模式不是所述左声道解码模式,且不是所述右声道解码模式,则解码所述左声道比特流和所述右声道比特流,以得到所述左声道数据和所述右声道数据。

5、可选地,所述方法还包括:如果所述音频信号不满足所述第一条件,则在所述音频信号为双声道信号的情况下,解码所述码流中的双声道交织比特流,以得到所述左声道数据和所述右声道数据。

6、可选地,所述方法还包括:如果所述音频信号不满足所述第一条件,则在所述音频信号为单声道信号的情况下,解码所述码流中的单声道比特流,以得到所述音频信号的单声道数据。

7、可选地,所述方法还包括:获取所述码流的总数据量;解码所述码流的包头,以得到所述音频信号的声道数、采样率和帧长;基于所述总数据量、所述声道数、所述采样率和所述帧长,确定所述音频信号是否满足所述第一条件。

8、可选地,所述方法还包括:解码所述码流中边信息的比特流,以得到所述边信息,所述边信息包括编码码本标识;基于所述编码码本标识,从多个解码码本中确定解码所需的目标解码码本。

9、可选地,所述多个解码码本如下:

10、{{0,0,4},{1,1,4},{2,2,4},{3,3,4},{4,4,4},{5,5,4},{6,6,4},{7,7,4},

11、{8,8,4},{9,9,4},{10,10,4},{11,11,4},{12,12,4},{13,13,4},{14,14,4},{15,15,4}

12、};

13、{{11,0,5},{15,1,5},{13,2,4},{13,3,4},{0,4,3},{0,5,3},{0,6,3},{0,7,3},

14、{9,8,4},{9,9,4},{5,10,4},{5,11,4},{14,12,4},{14,13,4},{7,14,4},{7,15,4},{6,16,4},{6,17,4},{3,18,4},{3,19,4},{10,20,4},{10,21,4},{12,22,4},{12,23,4},{2,24,4},{2,25,4},{1,26,4},{1,27,4},{8,28,4},{8,29,4},{4,30,4},{4,31,4}

15、};

16、{{2,0,4},{2,1,4},{2,2,4},{2,3,4},{1,4,4},{1,5,4},{1,6,4},{1,7,4},

17、{8,8,4},{8,9,4},{8,10,4},{8,11,4},{4,12,4},{4,13,4},{4,14,4},{4,15,4},{0,16,2},{0,17,2},{0,18,2},{0,19,2},{0,20,2},{0,21,2},{0,22,2},{0,23,2},

18、{0,24,2},{0,25,2},{0,26,2},{0,27,2},{0,28,2},{0,29,2},{0,30,2},{0,31,2},{11,32,6},{15,33,6},{14,34,5},{14,35,5},{7,36,5},{7,37,5},{13,38,5},

19、{13,39,5},{12,40,4},{12,41,4},{12,42,4},{12,43,4},{6,44,4},{6,45,4},

20、{6,46,4},{6,47,4},{3,48,4},{3,49,4},{3,50,4},{3,51,4},{5,52,4},{5,53,4},{5,54,4},{5,55,4},{10,56,4},{10,57,4},{10,58,4},{10,59,4},{9,60,4},{9,61,4},{9,62,4},{9,63,4}

21、};

22、{{11,0,7},{15,1,7},{14,2,6},{14,3,6},{7,4,6},{7,5,6},{13,6,6},{13,7,6},{12,8,5},{12,9,5},{12,10,5},{12,11,5},{6,12,5},{6,13,5},{6,14,5},{6,15,5},{3,16,5},{3,17,5},{3,18,5},{3,19,5},{5,20,5},{5,21,5},{5,22,5},{5,23,5},{10,24,5},{10,25,5},{10,26,5},{10,27,5},{9,28,5},{9,29,5},{9,30,5},{9,31,5},{2,32,4},{2,33,4},{2,34,4},{2,35,4},{2,36,4},{2,37,4},{2,38,4},{2,39,4},{1,40,4},{1,41,4},{1,42,4},{1,43,4},{1,44,4},{1,45,4},{1,46,4},{1,47,4},{8,48,4},{8,49,4},{8,50,4},{8,51,4},{8,52,4},{8,53,4},{8,54,4},{8,55,4},{4,56,4},{4,57,4},{4,58,4},{4,59,4},{4,60,4},{4,61,4},{4,62,4},{4,63,4},{0,64,1},{0,65,1},{0,66,1},{0,67,1},{0,68,1},{0,69,1},{0,70,1},{0,71,1},{0,72,1},{0,73,1},{0,74,1},{0,75,1},{0,76,1},{0,77,1},{0,78,1},{0,79,1},{0,80,1},{0,81,1},{0,82,1},{0,83,1},{0,84,1},{0,85,1},{0,86,1},{0,87,1},{0,88,1},{0,89,1},{0,90,1},{0,91,1},{0,92,1},{0,93,1},{0,94,1},{0,95,1},{0,96,1},{0,97,1},{0,98,1},{0,99,1},{0,100,1},{0,101,1},{0,102,1},{0,103,1},{0,104,1},{0,105,1},{0,106,1},{0,107,1},{0,108,1},{0,109,1},{0,110,1},{0,111,1},{0,112,1},{0,113,1},{0,114,1},{0,115,1},{0,116,1},{0,117,1},{0,118,1},{0,119,1},{0,120,1},{0,121,1},{0,122,1},{0,123,1},{0,124,1},

23、{0,125,1},{0,126,1},{0,127,1}

24、};

25、{{11,0,5},{15,1,5},{14,2,4},{14,3,4},{0,4,3},{0,5,3},{0,6,3},{0,7,3},{7,8,4},{7,9,4},{9,10,4},{9,11,4},{10,12,4},{10,13,4},{13,14,4},{13,15,4},{3,16,4},{3,17,4},{8,18,4},{8,19,4},{6,20,4},{6,21,4},{12,22,4},{12,23,4},{4,24,4},{4,25,4},{1,26,4},{1,27,4},{2,28,4},{2,29,4},{5,30,4},{5,31,4}

26、};

27、{{2,0,4},{2,1,4},{5,2,4},{5,3,4},{0,4,3},{0,5,3},{0,6,3},{0,7,3},{10,8,5},{13,9,5},{7,10,5},{14,11,5},{12,12,4},{12,13,4},{3,14,4},{3,15,4},{8,16,4},{8,17,4},{9,18,4},{9,19,4},{6,20,4},{6,21,4},{11,22,5},{15,23,5},{4,24,3},{4,25,3},{4,26,3},{4,27,3},{1,28,3},{1,29,3},{1,30,3},{1,31,3}

28、};

29、{{4,0,4},{4,1,4},{1,2,4},{1,3,4},{2,4,4},{2,5,4},{5,6,4},{5,7,4},{0,8,2},{0,9,2},{0,10,2},{0,11,2},{0,12,2},{0,13,2},{0,14,2},{0,15,2},{10,16,5},{13,17,5},{7,18,5},{14,19,5},{12,20,4},{12,21,4},{3,22,4},{3,23,4},{8,24,4},{8,25,4},{9,26,4},{9,27,4},{6,28,4},{6,29,4},{11,30,5},{15,31,5},

30、};

31、{{10,0,6},{13,1,6},{7,2,6},{14,3,6},{12,4,5},{12,5,5},{3,6,5},{3,7,5},{8,8,5},{8,9,5},{9,10,5},{9,11,5},{6,12,5},{6,13,5},{11,14,6},{15,15,6},{4,16,4},{4,17,4},{4,18,4},{4,19,4},{1,20,4},{1,21,4},{1,22,4},{1,23,4},{2,24,4},{2,25,4},{2,26,4},{2,27,4},{5,28,4},{5,29,4},{5,30,4},{5,31,4},{0,32,1},{0,33,1},{0,34,1},{0,35,1},{0,36,1},{0,37,1},{0,38,1},{0,39,1},{0,40,1},{0,41,1},{0,42,1},{0,43,1},{0,44,1},{0,45,1},{0,46,1},{0,47,1},{0,48,1},{0,49,1},{0,50,1},{0,51,1},{0,52,1},{0,53,1},{0,54,1},{0,55,1},{0,56,1},{0,57,1},{0,58,1},{0,59,1},{0,60,1},{0,61,1},{0,62,1},{0,63,1}

32、};

33、{{4,0,4},{4,1,4},{4,2,4},{4,3,4},{6,4,6},{7,5,6},{5,6,5},{5,7,5},{3,8,3},{3,9,3},{3,10,3},{3,11,3},{3,12,3},{3,13,3},{3,14,3},{3,15,3},{2,16,2},{2,17,2},{2,18,2},{2,19,2},{2,20,2},{2,21,2},{2,22,2},{2,23,2},{2,24,2},{2,25,2},{2,26,2},{2,27,2},{2,28,2},{2,29,2},{2,30,2},{2,31,2},{1,32,2},{1,33,2},{1,34,2},{1,35,2},{1,36,2},{1,37,2},{1,38,2},{1,39,2},{1,40,2},{1,41,2},{1,42,2},{1,43,2},{1,44,2},{1,45,2},{1,46,2},{1,47,2},{0,48,2},{0,49,2},{0,50,2},{0,51,2},{0,52,2},{0,53,2},{0,54,2},{0,55,2},{0,56,2},{0,57,2},{0,58,2},{0,59,2},{0,60,2},{0,61,2},{0,62,2},{0,63,2}

34、};

35、{{2,0,3},{2,1,3},{2,2,3},{2,3,3},{3,4,3},{3,5,3},{3,6,3},{3,7,3},{5,8,4},{5,9,4},{6,10,5},{7,11,5},{4,12,3},{4,13,3},{4,14,3},{4,15,3},{1,16,2},{1,17,2},{1,18,2},{1,19,2},{1,20,2},{1,21,2},{1,22,2},{1,23,2},{0,24,2},{0,25,2},{0,26,2},{0,27,2},{0,28,2},{0,29,2},{0,30,2},{0,31,2}

36、};

37、{{0,0,1},{0,1,1},{0,2,1},{0,3,1},{0,4,1},{0,5,1},{0,6,1},{0,7,1},{0,8,1},{0,9,1},{0,10,1},{0,11,1},{0,12,1},{0,13,1},{0,14,1},{0,15,1},{0,16,1},{0,17,1},{0,18,1},{0,19,1},{0,20,1},{0,21,1},{0,22,1},{0,23,1},{0,24,1},{0,25,1},{0,26,1},{0,27,1},{0,28,1},{0,29,1},{0,30,1},{0,31,1},{5,32,5},{5,33,5},{6,34,6},{7,35,6},{4,36,4},{4,37,4},{4,38,4},{4,39,4},{1,40,3},{1,41,3},{1,42,3},{1,43,3},{1,44,3},{1,45,3},{1,46,3},{1,47,3},{2,48,3},{2,49,3},{2,50,3},{2,51,3},{2,52,3},{2,53,3},{2,54,3},{2,55,3},{3,56,3},{3,57,3},{3,58,3},{3,59,3},{3,60,3},{3,61,3},{3,62,3},{3,63,3}

38、};

39、{{0,0,3},{1,1,3},{2,2,3},{3,3,3},{4,4,3},{5,5,3},{6,6,3},{7,7,3}

40、}。

41、第二方面,提供了一种音频编码方法,所述方法包括:

42、如果待编码的音频信号满足第一条件,则将所述音频信号的左声道数据编入码流,以及将所述音频信号的右声道数据编入所述码流,所述第一条件包括所述音频信号为双声道信号、所述音频信号的编码码率不小于码率阈值,且所述音频信号的采样率不小于采样率阈值。

43、可选地,所述方法还包括:如果所述音频信号不满足所述第一条件,则在所述音频信号为双声道信号的情况下,通过双声道交织编码的方式,将所述左声道数据与所述右声道数据编入所述码流。

44、可选地,所述方法还包括:如果所述音频信号不满足所述第一条件,则在所述音频信号为单声道信号的情况下,将所述音频信号的单声道数据编入所述码流。

45、可选地,所述将所述音频信号的左声道数据编入码流,包括:

46、获取多个子带中各个子带的量化等级衡量因子,所述量化等级衡量因子表征编码相应子带内的各个频谱值所需的平均比特数,所述多个子带是指将所述左声道数据包括的经量化的频谱数据所划分到的多个子带;

47、基于所述多个子带的量化等级衡量因子,将所述多个子带划分为多组子带,同一组子带的量化等级衡量因子相同;

48、基于每组子带的量化等级衡量因子,从多个编码码本中确定每组子带对应的目标编码码本,以及确定每组子带内的频谱值的比特流,所述目标编码码本是指对相应一组子带内的频谱值进行编码所采用的编码码本;

49、将每组子带对应的目标编码码本的标识作为所述左声道数据的一种边信息编入所述码流。

50、可选地,所述基于每组子带的量化等级衡量因子,从多个编码码本中确定每组子带对应的目标编码码本,以及确定每组子带内的频谱值的比特流,包括:

51、对于所述多组子带中的任一组子带,如果所述任一组子带的量化等级衡量因子为第一值,则采用所述多个编码码本中的多个第一编码码本分别对所述任一组子带内的频谱值进行编码,以得到与所述多个第一编码码本一一对应的多个第一候选频谱比特流;

52、将所述多个第一候选频谱比特流中比特总数最少的第一候选频谱比特流,确定为所述任一组子带内的频谱值的比特流,以及将所述比特总数最少的第一候选频谱比特流所对应的第一编码码本确定为所述任一组子带对应的目标编码码本。

53、可选地,所述第一值为1;

54、所述采用所述多个编码码本中的多个第一编码码本分别对所述任一组子带内的频谱值进行编码,包括:

55、将所述任一组子带中的每四个频谱值组合成一个二进制数;

56、采用所述多个第一编码码本分别对所述二进制数所表示的十进制数进行编码;

57、其中,所述多个第一编码码本如下:

58、{{0,0,4},{1,1,4},{2,2,4},{3,3,4},{4,4,4},{5,5,4},{6,6,4},{7,7,4},

59、{8,8,4},{9,9,4},{10,10,4},{11,11,4},{12,12,4},{13,13,4},{14,14,4},{15,15,4}

60、};

61、{{0,1,3},{1,13,4},{2,12,4},{3,9,4},{4,15,4},{5,5,4},{6,8,4},{7,7,4},

62、{8,14,4},{9,4,4},{10,10,4},{11,0,5},{12,11,4},{13,1,4},{14,6,4},{15,1,5}

63、};

64、{{0,1,2},{1,1,4},{2,0,4},{3,12,4},{4,3,4},{5,13,4},{6,11,4},{7,18,5},

65、{8,2,4},{9,15,4},{10,14,4},{11,32,6},{12,10,4},{13,19,5},{14,17,5},{15,33,6}

66、};

67、{{0,1,1},{1,5,4},{2,4,4},{3,4,5},{4,7,4},{5,5,5},{6,3,5},{7,2,6},

68、{8,6,4},{9,7,5},{10,6,5},{11,0,7},{12,2,5},{13,3,6},{14,1,6},{15,1,7}

69、}。

70、可选地,所述基于每组子带的量化等级衡量因子,从多个编码码本中确定每组子带对应的目标编码码本,以及确定每组子带内的频谱值的比特流,包括:

71、对于所述多组子带中的任一组子带,如果所述任一组子带的量化等级衡量因子为第二值,则采用所述多个编码码本中的多个第二编码码本分别对所述任一组子带内的频谱值进行编码,以得到与所述多个第二编码码本一一对应的多个第二候选频谱比特流;

72、将所述多个第二候选频谱比特流中比特总数最少的第二候选频谱比特流,确定为所述任一组子带内的频谱值的比特流,以及将所述比特总数最少的第二候选频谱比特流所对应的第二编码码本确定为所述任一组子带对应的目标编码码本。

73、可选地,所述第二值为2;

74、所述采用所述多个编码码本中的多个第二编码码本分别对所述任一组子带内的频谱值进行编码,包括:

75、将所述任一组子带内的每两个频谱值组合成一个二进制数;

76、采用所述多个第二编码码本分别对所述二进制数所表示的十进制数进行编码;

77、其中,所述多个第二编码码本如下:

78、{{0,1,3},{1,13,4},{2,14,4},{3,8,4},{4,12,4},{5,15,4},{6,10,4},{7,4,4},{8,9,4},{9,5,4},{10,6,4},{11,0,5},{12,11,4},{13,7,4},{14,1,4},{15,1,5}

79、};

80、{{0,1,3},{1,7,3},{2,0,4},{3,7,4},{4,6,3},{5,1,4},{6,10,4},{7,10,5},

81、{8,8,4},{9,9,4},{10,8,5},{11,22,5},{12,6,4},{13,9,5},{14,11,5},{15,23,5}

82、};

83、{{0,1,2},{1,1,4},{2,2,4},{3,11,4},{4,0,4},{5,3,4},{6,14,4},{7,18,5},

84、{8,12,4},{9,13,4},{10,16,5},{11,30,5},{12,10,4},{13,17,5},{14,19,5},{15,31,5}

85、};

86、{{0,1,1},{1,5,4},{2,6,4},{3,3,5},{4,4,4},{5,7,4},{6,6,5},{7,2,6},

87、{8,4,5},{9,5,5},{10,0,6},{11,14,6},{12,2,5},{13,1,6},{14,3,6},{15,15,6}

88、}。

89、可选地,所述基于每组子带的量化等级衡量因子,从多个编码码本中确定每组子带对应的目标编码码本,以及确定每组子带内的频谱值的比特流,包括:

90、对于所述多组子带中的任一组子带,如果所述任一组子带的量化等级衡量因子为第三值,则采用所述多个编码码本中的多个第三编码码本分别对所述任一组子带内的频谱值进行编码,以得到与所述多个第三编码码本一一对应的多个第三候选频谱比特流;

91、将所述多个第三候选频谱比特流中比特总数最少的第三候选频谱比特流,确定为所述任一组子带内的频谱值的比特流,以及将所述比特总数最少的第三候选频谱比特流所对应的第三编码码本确定为所述任一组子带对应的目标编码码本。

92、可选地,所述基于每组子带的量化等级衡量因子,从多个编码码本中确定每组子带对应的目标编码码本,以及确定每组子带内的频谱值的比特流,包括:

93、对于所述多组子带中的任一组子带,如果所述任一组子带的量化等级衡量因子为第四值,则采用所述多个第三编码码本分别对所述任一组子带内的各个频谱值中的第一部分比特位进行编码,以得到与所述多个第三编码码本一一对应的多个第一部分候选比特流;

94、将所述多个第一部分候选比特流中比特总数最少的第一部分候选比特流,确定为所述第一部分比特位的比特流,以及将所述比特总数最少的第一部分候选比特流所对应的第三编码码本确定为所述任一组子带对应的目标编码码本;

95、对所述任一组子带内的各个频谱值中的除第一部分比特位之外的第二部分比特位进行均匀量化编码,以得到所述第二部分比特位的比特流。

96、可选地,所述第一部分比特位是指所述频谱值中高位的n个比特位,所述第二部分比特位是指所述频谱值中低位的m个比特,所述m等于所述任一组子带的量化等级衡量因子减去所述第三值。

97、可选地,所述第三值为3;

98、所述采用所述多个编码码本中的多个第三编码码本分别对所述任一组子带内的频谱值进行编码,包括:

99、采用所述多个第三编码码本分别对所述任一组子带内的各个频谱值进行编码;

100、其中,所述多个第三编码码本如下:

101、{{0,3,2},{1,2,2},{2,1,2},{3,1,3},{4,0,4},{5,3,5},{6,4,6},{7,5,6}

102、};

103、{{0,3,2},{1,2,2},{2,0,3},{3,1,3},{4,3,3},{5,4,4},{6,10,5},{7,11,5}

104、};

105、{{0,0,1},{1,5,3},{2,6,3},{3,7,3},{4,9,4},{5,16,5},{6,34,6},{7,35,6}

106、};

107、{{0,0,3},{1,1,3},{2,2,3},{3,3,3},{4,4,3},{5,5,3},{6,6,3},{7,7,3}

108、}。

109、本技术所提供的音频编解码方法,在音频信号为双声道信号的情况下,即使码流包括左声道比特流和右声道比特流,在解码过程中,也能够依据声道解码模式,来解码左声道比特流且不解码右声道比特流,或者解码右声道比特流而不解码左声道比特流,从而在解码端资源有限的情况下,降低解码端的功耗。相应地,编码端也能够依据音频信号所满足的条件,依次编码左声道数据和右声道数据,而非必须按照双声道交织编码方式或必须按照双声道解交织编码方式进行编码。可见本方案的编码方式更加灵活。

110、第三方面,提供了一种音频解码装置,所述音频解码装置具有实现上述第一方面中音频解码方法行为的功能。所述音频解码装置包括一个或多个模块,该一个或多个模块用于实现上述第一方面所提供的音频解码方法。

111、第四方面,提供了一种音频编码装置,所述音频编码装置具有实现上述第二方面中音频编码方法行为的功能。所述音频编码装置包括一个或多个模块,该一个或多个模块用于实现上述第二方面所提供的音频编码方法。

112、第五方面,提供了一种音频解码设备,所述音频解码设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的音频解码方法的程序,以及存储用于实现上述第一方面所提供的音频解码方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述音频解码设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。

113、第六方面,提供了一种音频编码设备,所述音频编码设备包括处理器和存储器,所述存储器用于存储执行上述第二方面所提供的音频编码方法的程序,以及存储用于实现上述第二方面所提供的音频编码方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述音频解码设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。

114、第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的音频解码方法,或者执行上述第二方面所述的音频编码方法。

115、第八方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的音频解码方法,或者执行上述第二方面所述的音频编码方法。

116、上述第二方面至第八方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1