АУДИОКОДЕРЫ, АУДИОДЕКОДЕРЫ, СПОСОБЫ И КОМПЬЮТЕРНЫЕ ПРОГРАММЫ, ПРИМЕНЯЮЩИЕ КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ МЛАДШИХ ЗНАЧАЩИХ БИТОВ

1. Аудиодекодер (100; 200; 700) для предоставления декодированной аудиоинформации (112; 212; 712), на основе кодированной аудиоинформации (110; 210: 710), при этом аудиодекодер выполнен с возможностью получения декодированных спектральных значений (132; 232; 732; Xq[n], Xq[n+1]) на основе кодированной информации (130; 230), представляющей собой спектральные значения,
при этом аудиодекодер выполнен с возможностью совместного декодирования (950; 1110a-1110g) двух или нескольких старших значащих битов на спектральное значение, на основе соответствующих кодов (sym) символа для набора спектральных значений, с использованием арифметического декодирования,
при этом соответствующий код (sym) символа представляет собой два или несколько старших значащих битов на спектральное значение для одного или нескольких спектральных значений,
при этом аудиодекодер выполнен с возможностью декодирования (972; 1140a-1141j) одного или нескольких младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, в зависимости от того, сколько доступно информации о младшем значащем бите так, что декодируется один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, тогда как младшие значащие биты не декодируются для одного или нескольких других спектральных значений, для которых декодируется один или несколько старших значащих битов, и которые содержат больше битов, чем один или несколько старших значащих битов; и
при этом аудиодекодер выполнен с возможностью предоставления декодированной аудиоинформации с использованием спектральных значений.
2. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью отображения (1110f, 1110g) одного символа (sym) арифметически кодированного представления, которое представляет собой по меньшей мере два старших значащих бита по меньшей мере одного спектрального значения, в по меньшей мере двух старших значащих битах по меньшей мере одного спектрального значения.
3. Аудиодекодер по п. 1, в котором арифметическое декодирование выполнено с возможностью определения (1110a-1110e) битовых позиций (numbits, numbits-1) по меньшей мере двух старших значащих битов и распределения (1110f, 1110g) по меньшей мере двух старших значащих битов, определенных символом (sym) арифметически кодированного представления, определенным битовым позициям.
4. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью декодирования (954; 1120a-1120e) для всех спектральных значений, для которых были декодированы два или несколько старших значащих битов, и которые содержат больше битов, чем два или несколько старших значащих битов и младший значащий бит, одного или нескольких промежуточных битов, битовые позиции которых находятся между младшим значащим битом и двумя или несколькими старшими значащими битами.
5. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью декодирования, на первой фазе декодирования, двух или нескольких старших значащих битов на спектральное значение (950; 1110a-1110g), и для всех спектральных значений, для которых декодируются два или несколько старших значащих битов, и которые содержат больше битов, чем два или несколько старших значащих битов и младший значащий бит, одного или нескольких промежуточных битов (954; 1120a-1120e), битовые позиции которых находятся между младшим значащим битом и двумя или несколькими старшими значащими битами, и для всех спектральных значений, для которых декодируется два или несколько старших значащих битов, и для которых два или несколько старших значащих битов и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают ненулевое значение, знаков (958; 1130a-1131d); и при этом аудиодекодер выполнен с возможностью выборочного пропуска (1130a, 1131a), на первой фазе декодирования, декодирования знака для спектральных значений, для которых два или несколько старших значащих битов и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, при этом аудиодекодер выполнен с возможностью выборочного получения (972; 1140h-1140j, 1141h-1141j), на второй фазе декодирования, которая следует за первой фазой декодирования, информации о знаке для спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и для которых информация о младшем значащем бите указывает ненулевое значение.
6. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью последовательного использования (1140e, 1140i, 1141e, 1141i) последующих битов битовой последовательности информации о младшем значащем бите (lsbs[]) для того, чтобы получать значения младшего значащего бита, ассоциированные со спектральными значениями.
7. Аудиодекодер по п. 6, при этом аудиодекодер выполнен с возможностью использования (1140e, 1141e) одного бита битовой последовательности информации о младшем значащем бите для соответствующих спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают ненулевое значение, при этом использованный один бит битовой последовательности информации о младшем значащем бите используется (1140f, 1140g, 1141f, 1141g) для того, чтобы получать значение младшего значащего бита; и при этом аудиодекодер выполнен с возможностью использования (1140e, 1141e) одного бита битовой последовательности информации о младшем значащем бите для соответствующих спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и для которых использованный один бит битовой последовательности информации о младшем значащем бите подтверждает нулевое значение; и при этом аудиодекодер выполнен с возможностью использования (1140e, 1140i, 1141e, 1141i) двух последующих битов битовой последовательности информации о младшем значащем бите для соответствующих спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и для которых первый из использованных битов битовой последовательности информации о младшем значащем бите указывает отклонение от нулевого значения на значение младшего значащего бита, при этом второй из использованных битов битовой последовательности информации о младшем значащем бите определяет (1140j, 1141j) знак соответствующего спектрального значения.
8. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью декодирования (972; 1140a-1141j) младших значащих битов, начиная с младшего значащего бита, ассоциированного со спектральным значением самой низкой частоты, и продолжая в направлении спектральных значений, ассоциированных с все более высокими частотами, так, что спектральные значения уточняются посредством информации о младшем значащем бите в диапазоне от спектрального значения самой низкой частоты вплоть до спектрального значения, для которого доступна последняя информации о младшем значащем бите, и так, что спектральные значения с ассоциированными частотами выше частоты, ассоциированной со спектральным значением, для которого доступна последняя информация о младшем значащем бите, остаются грубыми.
9. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью переключения между первым режимом (930, 934, 938, 942, 944, 948), при котором декодирование спектральных значений в диапазоне более высоких частот пропускается в ответ на сигнализацию от кодера, и при котором младшие значащие биты декодируются (934) для всех спектральных значений, для которых декодируется один или несколько старших значащих битов, и которые содержат больше битов, чем старшие значащие биты, и вторым режимом (950, 954, 958, 962, 968, 972), при котором декодируется (972) один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, тогда как младшие значащие биты не декодируются для одного или нескольких других спектральных значений, для которых декодируется один или несколько старших значащих битов, и которые содержат больше битов, чем старшие значащие биты.
10. Аудиодекодер по п. 9, при этом аудиодекодер выполнен с возможностью оценки флага битового потока, который включен в кодированную аудиоинформацию, для того чтобы принять решение о том, работает ли аудиодекодер в первом режиме или во втором режиме.
q
q
11. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью совместного декодирования (950; 1110a-1110g) двух или нескольких старших значащих битов на спектральное значение для по меньшей мере двух спектральных значений (X[n], X[n+1]) на основе соответствующих кодов символа, при этом соответствующий код символа представляет собой два или несколько старших значащих битов на спектральное значение для по меньшей мере двух спектральных значений.
12. Аудиодекодер по п. 1, при этом аудиодекодер выполнен с возможностью декодирования спектральных значений в соответствии со следующим алгоритмом:
q
q
декодируют 2 старших значащих бита обоих коэффициентов X(n) и X(n+1) в соответствии с:
numbits=1;
do {
получают вероятности p из контекста c
декодируют символ sym с помощью арифметического декодирования и вероятностей p
обновляют контекст c
numbits++;
} while (sym==VAL_ESC)
q
X[n]=(sym & 3) << (numbits-2);
q
X[n+1]=(sym >> 2) << (numbits-2);
декодируют оставшиеся биты, за исключением младшего значащего бита, если присутствуют любые оставшиеся биты, в соответствии с:
for (b=1; b < numbits-2; b++) {
Декодируют bit0
q
X[n] += bit0 << b
Декодируют bit1
q
X[n+1] += bit1 << b
}
декодируют знак каждого коэффициента, за исключением того, если старший значащий бит является нулем и оставшиеся биты являются нулем, в соответствии с:
q
if (X[n] != 0) {
Декодируют bit0
if (bit0 == 1) {
q
q
X[n] = -X[n];
}
}
q
if (X[n+1] != 0) {
Декодируют bit1
if (bit1 == 1) {
q
q
X[n+1] = -X[n+1];
}
}
устанавливают все коэффициенты n >= lastnz в ноль, при этом lastnz получается на основе побочной информации, полученной из кодированного аудиопредставления;
осуществляют окончательную обработку арифметического декодирования и вычисляют количество неиспользованных битов;
если присутствуют неиспользованные биты, то декодируют nlsbs битов и сохраняют их в структуре данных lsbs[];
q
q
затем уточняют коэффициенты (X(n),X(n+1)), если numbits[n]>2 с использованием декодированных битов LSB в соответствии с:
q
13. Аудиокодер (300; 400; 500; 600) для предоставления кодированной аудиоинформации (312; 412; 512; 612) на основе входной аудиоинформации (310; 410; 510; 610), при этом аудиокодер выполнен с возможностью получения (620, 630, 640, 650, 660) спектральных значений (330; 662; X[n]), представляющих собой аудиоконтент входной аудиоинформации, и при этом аудиокодер выполнен с возможностью кодирования (670; 800) по меньшей мере множества спектральных значений для того, чтобы получить кодированную информацию (350, 450, 550, 672; sym, lsbs[]), представляющую собой спектральные значения; при этом аудиокодер выполнен с возможностью совместного кодирования (878, 886, 890; 1000a, 1020a, 1040a-1040d) двух или нескольких старших значащих битов на спектральное значение, чтобы получить соответствующие коды (sym) символа для набора спектральных значений (Xq[0] … Xq[lastnz-1]) с использованием арифметического кодирования, при этом соответствующий код (sym) символа представляет собой два или несколько старших значащих битов на спектральное значение для одного или нескольких спектральных значений, при этом аудиокодер выполнен с возможностью кодирования (882; 898; 1010a-1010e, 1011a-1011e) одного или нескольких младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, в зависимости от доступного бюджета битов, так, что кодируется один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, тогда как младшие значащие биты не кодируются для одного или нескольких других спектральных значений, для которых кодируется два или несколько старших значащих битов, и которые содержат больше битов, чем два или несколько старших значащих битов; и при этом аудиокодер выполнен с возможностью предоставления кодированной аудиоинформации с использованием кодированной информации, представляющей собой спектральные значения.
14. Аудиокодер по п. 13, в котором арифметическое кодирование выполнено с возможностью определения (878; 1000a) битовых позиций (numbits, numbits-1) по меньшей мере двух старших значащих битов, и включения (886,1020a) в арифметически кодированное представление информации, описывающей битовые позиции.
q
q
15. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью отображения (890; 1040a-1040d) по меньшей мере двух старших значащих битов по меньшей мере одного спектрального значения (X[n], X[n+1]) в одном символе (sym) арифметически кодированного представления, которое представляет собой по меньшей мере два старших значащих бита по меньшей мере одного спектрального значения.
16. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью кодирования (892; 1050a-1050c) для всех спектральных значений, для которых кодируется два или несколько старших значащих битов, и которые содержат больше битов, чем два или несколько старших значащих битов и младший значащий бит, одного или нескольких промежуточных битов, битовые позиции которых находятся между младшим значащим битом и двумя или несколькими старшими значащими битами.
17. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью кодирования, на первой фазе кодирования, двух или нескольких старших значащих битов на спектральное значение (878, 886, 890; 1000a, 1020a, 1040a-1040d), и для всех спектральных значений, для которых кодируется два или несколько старших значащих битов, и которые содержат больше битов, чем два или несколько старших значащих битов и младший значащий бит, одного или нескольких промежуточных битов, битовые позиции которых находятся между младшим значащим битом и двумя или несколькими старшими значащими битами (892; 1050a-1050c), и для всех спектральных значений, для которых кодируется два или несколько старших значащих битов, и для которых два или несколько старших значащих битов и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают ненулевое значение, знаков (894; 1060a-1061c); и при этом аудиокодер выполнен с возможностью выборочного пропуска (1060a, 1061a), на первой фазе кодирования, кодирования знака для спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и при этом аудиокодер выполнен с возможностью выборочного кодирования (898), на второй фазе кодирования, информации (1010e, 1011e) о знаке для спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и для которых информация о младшем значащем бите указывает ненулевое значение.
18. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью включения (882, 898; 1010c-1010e, 1011c-1011e) информации о знаке в кодированное аудиопредставление только для спектральных значений, которые отличаются от нуля только на младший значащий бит, если фактически кодируется младший значащий бит таких спектральных значений.
19. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью последовательного предоставления последующих битов битовой последовательности (lsbs[]) информации о младшем значащем бите для того, чтобы кодировать значения младшего значащего бита, ассоциированные со спектральными значениями.
20. Аудиокодер по п. 19, при этом аудиокодер выполнен с возможностью предоставления (882, 898; 1010a, 1010b, 1011a, 1011b) одного бита (bit) битовой последовательности (lsbs[]) информации о младшем значащем бите для соответствующих спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают ненулевое значение, при этом использованный один бит битовой последовательности информации о младшем значащем бите используется для того, чтобы кодировать значение младшего значащего бита; и при этом аудиокодер выполнен с возможностью предоставления (882, 898; 1010a, 1010b, 1011a, 1011b) одного бита битовой последовательности информации о младшем значащем бите для соответствующих спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и для которых предоставленный один бит (bit) битовой последовательности информации о младшем значащем бите подтверждает нулевое значение; и при этом аудиокодер выполнен с возможностью предоставления (882, 898; 1010a, 1010b, 1010d, 1010e, 1011a, 1011b, 1011d, 1011e) двух последующих битов битовой последовательности информации о младшем значащем бите для соответствующих спектральных значений, для которых два или несколько старших значащих значений и любые промежуточные биты, при условии, что промежуточные биты присутствуют, указывают нулевое значение, и для которых первый из предоставленных битов битовой последовательности информации о младшем значащем бите указывает отклонение от нулевого значения на значение младшего значащего бита, при этом второй из предоставленных битов битовой последовательности информации о младшем значащем бите кодирует знак соответствующего спектрального значения.
21. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью кодирования (882,898; 1140a-1141j) младших значащих битов, начиная с младшего значащего бита, ассоциированного со спектральным значением самой низкой частоты, и продолжая в направлении спектральных значений, ассоциированных со все более высокими частотами, так, что кодированная информация для уточнения спектральных значений посредством информации о младшем значащем бите предоставляется в диапазоне от спектрального значения самой низкой частоты вплоть до спектрального значения, для которого предоставляется последняя информация о младшем значащем бите, и так, что кодированная информация для уточнения спектральных значений посредством информации о младшем значащем бите не предоставляется для спектральных значений с ассоциированными частотами выше частоты, ассоциированной со спектральным значением, для которого предоставляется последняя информация о младшем значащем бите.
22. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью переключения между первым режимом (840, 844, 848, 852, 856, 860, 864, 868, 869), при котором кодирование ненулевых спектральных значений в диапазоне более высоких частот пропускается в случае, когда доступный бюджет битов использован посредством кодирования спектральных значений в диапазоне более низких частот, и при котором младшие значащие биты кодируются (860) для всех спектральных значений, для которых кодируется (848, 852, 856) один или несколько старших значащих битов, и которые содержат больше битов, чем старшие значащие биты, и вторым режимом (870, 874, 878, 882, 886, 890, 892, 894, 896, 898), при котором кодируется (898) один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, тогда как младшие значащие биты не кодируются для одного или нескольких других спектральных значений, для которых кодируется один или несколько старших значащих битов, и которые содержат больше битов, чем старшие значащие биты.
23. Аудиокодер по п. 22, при этом аудиокодер выполнен с возможностью предоставления флага битового потока, который включается в кодированную аудиоинформацию для того, чтобы указать, работает ли аудиокодер в первом режиме или во втором режиме.
q
q
24. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью совместного кодирования (878, 886, 890; 1000a, 1020a, 1040a-1040d) двух или нескольких старших значащих битов на спектральное значение для по меньшей мере двух спектральных значений (X[n], X[n+1]) с использованием соответствующих кодов (sym) символа, при этом соответствующий код символа представляет собой два или несколько старших значащих битов на спектральное значение для по меньшей мере двух спектральных значений.
25. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью определения ненулевого спектрального значения фактической самой высокой частоты и кодирования по меньшей мере двух или нескольких старших значащих битов всех ненулевых спектральных значений или всех ненулевых групп спектральных значений.
26. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью кодирования (878, 886, 890, 892) всех битов, за исключением младшего значащего бита, для всех ненулевых спектральных значений, и при этом аудиокодер выполнен с возможностью кодирования (882, 898) младших значащих битов для спектральных значений до тех пор, пока не исчерпывается бюджет битов.
27. Аудиокодер по п. 13, при этом аудиокодер выполнен с возможностью получения (810; 814, 818, 82) информации об усилении, которая определяет шаги квантования для квантования (660) спектральных значений, и которая определяет потребность в битах для кодирования квантованных спектральных значений.
28. Способ для предоставления декодированной аудиоинформации (112; 212; 712), на основе кодированной аудиоинформации (110; 210: 710), при этом способ содержит этап, на котором получают декодированные спектральные значения (132; 232; 732; Xq[n], Xq[n+1]) на основе кодированной информации (130; 230), представляющей собой спектральные значения, при этом способ содержит этап, на котором совместно декодируют (950; 1110a-1110g) два или несколько старших значащих битов на спектральное значение, на основе соответствующих кодов (sym) символа для набора спектральных значений, с использованием арифметического декодирования, при этом соответствующий код (sym) символа представляет собой два или несколько старших значащих битов на спектральное значение для одного или нескольких спектральных значений, при этом способ содержит этап, на котором декодируют (972; 1140a-1141j) один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, в зависимости от того, сколько доступно информации о младшем значащем бите, так, что декодируется один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, тогда как младшие значащие биты не декодируются для одного или нескольких других спектральных значений, для которых декодируется один или несколько старших значащих битов, и которые содержат больше битов, чем один или несколько старших значащих битов; и при этом способ содержит этап, на котором предоставляют декодированную аудиоинформацию с использованием спектральных значений.
q
29. Способ для предоставления кодированной аудиоинформации (312; 412; 512; 612) на основе входной аудиоинформации (310; 410; 510; 610), при этом способ содержит этап, на котором получают (620, 630, 640, 650, 660) спектральные значения (330; 662; X[n]), представляющие собой аудиоконтент входной аудиоинформации, и при этом способ содержит этап, на котором кодируют (670; 800) по меньшей мере множества спектральных значений для того, чтобы получить кодированную информацию (350, 450, 550, 672; sym, lsbs[]), представляющую собой спектральные значения; при этом способ содержит этап, на котором совместно кодируют (878, 886, 890; 1000a, 1020a, 1040a-1040d) два или несколько старших значащих битов на спектральное значение, чтобы получить соответствующие коды (sym) символа для набора спектральных значений (Xq[0] … Xq[lastnz-1]) с использованием арифметического кодирования, при этом соответствующий код (sym) символа представляет собой два или несколько старших значащих битов на спектральное значение для одного или нескольких спектральных значений, при этом способ содержит этап, на котором кодируют (882; 898; 1010a-1010e, 1011a-1011e) один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, в зависимости от доступного бюджета битов, так, что кодируется один или несколько младших значащих битов, ассоциированных с одним или несколькими спектральными значениями, тогда как младшие значащие биты не кодируются для одного или нескольких других спектральных значений, для которых кодируется два или несколько старших значащих битов, и которые содержат больше битов, чем два или несколько старших значащих битов; и при этом способ содержит этап, на котором представляют кодированную аудиоинформацию с использованием кодированной информации, представляющей собой спектральные значения.
30. Компьютерная программа для выполнения способа по п. 28 или 29, когда компьютерная программа выполняется на компьютере.