Способ кодирования, способ декодирования, кодер, декодер, программа и носитель записи

Иллюстрации

Показать все

Изобретение относится к средствам кодирования акустического сигнала. Технический результат заключается в повышении эффективности кодирования акустических сигналов при кодировании на низкой битовой скорости. Последовательность отсчетов частотной области, извлеченная из акустического сигнала, делится на взвешенную огибающую и затем делится на коэффициент усиления, полученный результат квантуется, и каждый отсчет подвергается кодированию переменной длины. Ошибка между отсчетом перед квантованием и отсчетом после квантования квантуется с помощью информации, сохраненной в данном кодировании переменной длины. Данное квантование выполняется по правилу, которое задает согласно количеству сохраненных битов отсчеты, чьи ошибки должны быть квантованы. При декодировании коды переменной длины во вводимой последовательности кодов декодируются для получения последовательности отсчетов частотной области; сигнал ошибки дополнительно декодируется по правилу, которое зависит от количества битов кодов переменной длины; и из полученной последовательности отсчетов исходная последовательность отсчетов получается согласно вспомогательной информации. 8 н. и 30 з.п. ф-лы, 6 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0001] Настоящее изобретение относится к методике кодирования акустических сигналов и методике декодирования кодовых последовательностей, полученных посредством методики кодирования, и, более конкретно, к кодированию последовательности отсчетов частотной области, полученной посредством преобразования акустического сигнала в частотную область, и декодирования закодированной последовательности отсчетов.

УРОВЕНЬ ТЕХНИКИ

[0002] Адаптивное кодирование коэффициентов ортогонального преобразования при дискретном преобразовании Фурье (DFT), модифицированном дискретном косинусном преобразовании (MDCT) и тому подобном является известным способом кодирования речевых сигналов и акустических сигналов, имеющих низкую битовую скорость (приблизительно от 10 до 20 кбит/с, например). Стандартная методика AMR-WB+ (расширенное адаптивное многоскоростное широкополосное кодирование), например, имеет режим кодирования с преобразованием кодированного возбуждения (TCX), в котором коэффициенты DFT нормализуются и векторно квантуются в блоках из восьми отсчетов (см. Непатентную литературу 1, например).

ЛИТЕРАТУРА ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ

НЕПАТЕНТНАЯ ЛИТЕРАТУРА

[0003] Непатентная литература 1: ETSI TS 126 290 V6.3.0 (2005-06)

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

ЗАДАЧИ, РЕШАЕМЫЕ ИЗОБРЕТЕНИЕМ

[0004] Поскольку AMR-WB+ и другое основанное на TCX кодирование не учитывают изменения в амплитудах коэффициентов частотной области, вызванные периодичностью, если амплитуды, которые изменяются значительно, кодируются вместе, то эффективность кодирования снижается. Среди разнообразия модифицированных методик основанного на TCX квантования или кодирования, сейчас будет рассматриваться случай, например, в котором последовательность коэффициентов MDCT, размещенных в порядке возрастания частоты, причем коэффициенты являются дискретными значениями, полученными посредством квантования сигнала, полученного посредством деления коэффициентов на коэффициент усиления, сжимается посредством энтропийного кодирования арифметических кодов и т.п. В данном случае, множество отсчетов формируют одиночный символ (блок кодирования), и кодом, который следует назначить, адаптивно управляют в зависимости от символа, непосредственно предшествующего интересующему символу. В целом, если амплитуда является малой, назначается короткий код, а если амплитуда является большой, то назначается длинный код. Это уменьшает количество битов на кадр в целом. Если количество битов, которые следует назначить на кадр, постоянно, то существует возможность того, что уменьшенное количество битов не может использоваться эффективно.

[0005] Ввиду данного уровня техники, задача настоящего изобретения состоит в предоставлении методик кодирования и декодирования, которые могут повысить качество дискретных сигналов, особенно качество цифровой речи или акустических сигналов после того, как они закодированы на низкой битовой скорости, с помощью небольшого количества вычислений.

СРЕДСТВА ДЛЯ РЕШЕНИЯ ЗАДАЧ

[0006] Способ кодирования согласно одному аспекту настоящего изобретения является способом кодирования, с помощью предварительно определенного количества битов, последовательности отсчетов частотной области, извлеченной из акустического сигнала в предварительно определенном временном интервале. Способ кодирования включает в себя этап кодирования, на котором кодируют, посредством кодирования переменной длины, целое число, соответствующее значению каждого отсчета в последовательности отсчетов частотной области, для генерирования кода переменной длины; этап вычисления ошибки, на котором вычисляют последовательность значений ошибок, причем каждое получено посредством вычитания целого числа, соответствующего значению каждого отсчета в последовательности отсчетов частотной области, из значения отсчета; и этап кодирования ошибки, на котором кодируют последовательность значений ошибок с помощью количества избыточных битов, полученного посредством вычитания количества битов кода переменной длины из предварительно определенного количества битов, для генерирования кодов ошибок.

[0007] Способ декодирования согласно одному аспекту настоящего изобретения является способом для декодирования введенного кода, сформированного из предварительно определенного количества битов. Способ декодирования включает в себя этап декодирования, на котором декодируют код переменной длины, включенный во введенный код, для генерирования последовательности целых чисел; этап декодирования ошибки, на котором декодируют код ошибки, включенный во введенный код, причем код ошибки формируют из количества избыточных битов, полученного посредством вычитания количества битов кода переменной длины из предварительно определенного количества битов, для генерирования последовательности значений ошибок; и этап добавления, на котором добавляют каждый отсчет в последовательности целых чисел к соответствующему отсчету с ошибкой в последовательности значений ошибки.

ПОЛОЖИТЕЛЬНЫЙ ЭФФЕКТ ИЗОБРЕТЕНИЯ

[0008] Поскольку ошибки кодируются с использованием избыточных битов, которые были сохранены посредством выполнения кодирования переменной длины над целыми числами, даже если количество битов на кадр постоянно, эффективность кодирования может быть повышена, и искажение квантования может быть уменьшено.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0009] Фиг. 1 является блок-схемой, изображающей конфигурацию кодера согласно варианту осуществления;

Фиг. 2 является блок-схемой последовательности операций способа, изображающей процесс в кодере в упомянутом варианте осуществления;

Фиг. 3 является видом, изображающим отношение между взвешенными нормализованными коэффициентами MDCT и огибающей спектра мощности;

Фиг. 4 является видом, изображающим пример процесса, выполняемого, когда существует много избыточных битов;

Фиг. 5 является блок-схемой, изображающей конфигурацию декодера в упомянутом варианте осуществления;

Фиг. 6 является блок-схемой последовательности операций способа, изображающей процесс в декодере в упомянутом варианте осуществления.

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТА ОСУЩЕСТВЛЕНИЯ

[0010] Теперь будет описан вариант осуществления настоящего изобретения со ссылкой на чертежи. Подобные элементы будут указываться посредством тех же самых ссылочных позиций, а избыточные описания этих элементов будут опущены.

[0011] Одним характерным признаком данного варианта осуществления является улучшение при кодировании, то есть, уменьшение искажения кодирования в инфраструктуре квантования последовательности отсчетов частотной области, извлеченной из акустического сигнала в кадре, который является предварительно определенным временным интервалом, через кодирование переменной длины последовательности отсчетов частотной области после взвешенного сглаживания и квантования сигнала с ошибкой посредством использования избыточных битов, сохраненных при кодировании переменной длины, с определенным порядком приоритета. Даже если постоянное количество битов назначается на кадр, то может быть получено преимущество от кодирования переменной длины.

[0012] Примеры последовательностей отсчетов частотной области, извлеченных из акустических сигналов, то есть, последовательностей отсчетов частотной области на основе акустических сигналов, включают в себя последовательность коэффициентов DFT и последовательность коэффициентов MDCT, которые могут быть получены посредством преобразования цифровой речи или акустического сигнала в блоках кадров из временной области в частотную область, и последовательность коэффициентов, полученную посредством применения процесса, такого как нормализация, взвешивание, либо квантование, к последовательности коэффициентов DFT или MDCT. Данный вариант осуществления будет описан с помощью последовательности коэффициентов MDCT, взятой в качестве примера.

[0013] [ВАРИАНТ ОСУЩЕСТВЛЕНИЯ КОДИРОВАНИЯ]

Сначала, со ссылкой на Фиг. 1-4 будет описан процесс кодирования.

[0014] Как показано на Фиг. 1, кодер 1 включает в себя преобразователь 11 в частотную область, блок анализа 12 с линейным предсказанием, блок 13 кодирования и квантования коэффициентов линейного предсказания, блок 14 вычисления огибающей спектра мощности, блок 15 нормализации взвешенной огибающей, блок 16 вычисления нормализованного коэффициента усиления, квантователь 17, блок 18 вычисления ошибки, блок 19 кодирования и блок 110 кодирования ошибки, например. Кодер 1 выполняет отдельные этапы способа кодирования, изображенного на Фиг.2. Этапы кодера 1 будут описаны далее.

[0015] Преобразователь 11 в частотную область

Сначала, преобразователь 11 в частотную область преобразует цифровую речь или акустический сигнал в блоках кадров в последовательность коэффициентов MDCT из N точек в частотной области (этап S11).

[0016] Говоря в целом, кодирующая часть квантует последовательность коэффициентов MDCT, кодирует квантованную последовательность коэффициентов MDCT и отправляет полученную кодовую последовательность в декодирующую часть, а декодирующая часть может восстановить квантованную последовательность коэффициентов MDCT из кодовой последовательности и может также восстановить цифровую речь или акустический сигнал во временной области посредством выполнения обратного преобразования MDCT.

[0017] Огибающая амплитуды коэффициентов MDCT является приблизительно такой же, как огибающая амплитуды (огибающая спектра мощности) обычного спектра мощности DFT. Поэтому, посредством назначения информации, пропорциональной логарифмическому значению огибающей амплитуды, искажение квантования (ошибка квантования) коэффициентов MDCT может быть распределена равномерно по всей полосе, полное искажение квантования может быть уменьшено, и информация может быть сжата. Огибающая спектра мощности может быть эффективно оценена посредством использования коэффициентов линейного предсказания, полученных посредством анализа с линейным предсказанием.

[0018] Ошибкой квантования можно управлять посредством адаптивного назначения бита(ов) квантования для каждого коэффициента MDCT (регулируя ширину шага квантования после сглаживания амплитуды) или посредством определения кода, выполняя адаптивное взвешивание посредством взвешенного векторного квантования. В данном документе описывается пример способа квантования, исполненного в варианте осуществления настоящего изобретения, однако настоящее изобретение не ограничивается описанным способом квантования.

[0019] Блок 12 анализа с линейным предсказанием

Блок 12 анализа с линейным предсказанием выполняет анализ с линейным предсказанием цифровой речи или акустического сигнала в блоках кадров и получает и выводит коэффициенты линейного предсказания в соответствии с предварительно установленным порядком (этап S12).

[0020] Блок 13 кодирования и квантования коэффициентов линейного предсказания

Блок 13 кодирования и квантования коэффициентов линейного предсказания получает и выводит коды, соответствующие коэффициентам линейного предсказания, полученным посредством блока 12 анализа с линейным предсказанием, и квантованным коэффициентам линейного предсказания (этап S13).

Коэффициенты линейного предсказания могут быть преобразованы в пары спектральных линий (LSP); могут быть получены коды, соответствующие LSP и квантованным LSP; а квантованные LSP могут быть преобразованы в квантованные коэффициенты линейного предсказания.

[0021] Коды, соответствующие коэффициентам линейного предсказания, то есть, коды коэффициентов линейного предсказания, являются частью кодов, отправленных в декодер 2.

[0022] Блок 14 вычисления огибающей спектра мощности

Блок 14 вычисления огибающей спектра мощности получает огибающую спектра мощности посредством преобразования квантованных коэффициентов линейного предсказания, выведенных блоком 13 кодирования и квантования коэффициентов линейного предсказания, в частотную область (этап S14). Полученная огибающая спектра мощности отправляется в блок 15 нормализации взвешенной огибающей. При необходимости огибающая спектра мощности отправляется в блок 110 кодирования ошибки, как указано прерывистой линией на Фиг. 1.

[0023] Отдельные коэффициенты с W(1) по W(N) в последовательности коэффициентов огибающей спектра мощности, соответствующие отдельным коэффициентам с X(1) по X(N) в последовательности коэффициентов MDCT из N точек, могут быть получены посредством преобразования квантованных коэффициентов линейного предсказания в частотную область. Например, посредством авторегрессивного процесса порядка p, который является моделью с одними полюсами, временный сигнал y(t) от времени t выражается Формулой (1) со своими собственными прошлыми значениями c y(t-1) по y(t-p) обратно к точке p, остатком от предсказания e(t), и квантованными коэффициентами линейного предсказания c α1 по αp. Здесь, каждый коэффициент W(n)[1≤n≤N] в последовательности коэффициентов огибающей спектра мощности выражается Формулой (2), где exp(·) является экспоненциальной функцией, основанием которой является число Непера (=e), j является мнимой единицей, а σ2 является остаточной энергией от предсказания.

[0024]

[0025] Порядок p может быть идентичным порядку квантованных коэффициентов линейного предсказания, выведенных блоком 13 кодирования и квантования коэффициентов линейного предсказания, или может быть меньше порядка квантованных коэффициентов линейного предсказания, выведенных блоком 13 кодирования и квантования коэффициентов линейного предсказания.

[0026] Блок 14 вычисления огибающей спектра мощности может вычислять приближенные значения огибающей спектра мощности или оценки огибающей спектра мощности вместо значений огибающей спектра мощности. Значения огибающей спектра мощности являются коэффициентами с W(1) по W(N) последовательности коэффициентов огибающей спектра мощности.

[0027] При вычислении приближенных значений огибающей спектра мощности, например, блок 14 вычисления огибающей спектра мощности получает коэффициенты W(n), где 1≤n≤ N/4, посредством Формулы (2) и выводит N-е количество W'(n), заданных как W'(4n-3)=W'(4n-2)=W'(4n-1)=W'(4n)=W(n)[1≤n≤N/4], в качестве приближенных значений огибающей спектра мощности.

[0028] Блок 15 нормализации взвешенной огибающей

Блок 15 нормализации взвешенной огибающей нормализует коэффициенты последовательности коэффициентов MDCT с помощью огибающей спектра мощности, выведенной блоком 14 вычисления огибающей спектра мощности (этап S15). Здесь, чтобы реализовать квантование, которое уменьшает искажение при восприятии, блок 15 нормализации взвешенной огибающей нормализует коэффициенты последовательности коэффициентов MDCT в блоках кадров посредством использования взвешенных коэффициентов огибающей спектра, полученных посредством сглаживания последовательности значений огибающей спектра мощности или ее последовательности квадратных корней вдоль частотной оси.

В результате получаются коэффициенты с x(1) по x(N) основанной на кадре последовательности взвешенных нормализованных коэффициентов MDCT. Последовательность взвешенных нормализованных коэффициентов MDCT отправляется в блок 16 вычисления нормализованного коэффициента усиления, квантователь 17 и блок 18 вычисления ошибки. Последовательность взвешенных нормализованных коэффициентов MDCT в целом имеет довольно большую амплитуду в низкочастотной области и имеет тонкую структуру, являющуюся следствием периода основного тона, однако градиент и неравномерность амплитуды не являются большими по сравнению с исходной последовательностью коэффициентов MDCT.

[0029] Блок 16 вычисления нормализованного коэффициента усиления

Далее, блок 16 вычисления нормализованного коэффициента усиления определяет ширину шага квантования посредством использования суммы значений амплитуд или значений энергии по всей полосе частот так, чтобы коэффициенты с x(1) по x(N) последовательности взвешенных нормализованных коэффициентов MDCT могли быть квантованы с помощью заданного общего количества битов в кадрах, и получает коэффициент g (далее в данном документе коэффициент усиления), на который каждый коэффициент последовательности взвешенных нормализованных коэффициентов MDCT должен быть разделен для выведения ширины шага квантования (этап S16). Информация о коэффициенте усиления, которая указывает данный коэффициент усиления, является частью кодов, отправленных в декодер 2.

[0030] Квантователь 17

Квантователь 17 квантует коэффициенты с x(1) по x(N) последовательности взвешенных нормализованных коэффициентов MDCT в кадрах с шириной шага квантования, определенной на этапе 16 (этап S17). Другими словами, целое число u(n), полученное посредством округления x(n)/g до ближайшего целого числа, причем x(n)/g получаются посредством деления коэффициента x(n)[1≤n≤N] последовательности взвешенных нормализованных коэффициентов MDCT на коэффициент усиления g, служит в качестве квантованного коэффициента MDCT. Последовательность квантованных коэффициентов MDCT в кадрах отправляется в блок 18 вычисления ошибки и блок кодирования 19. Значение, полученное посредством округления в большую сторону или в меньшую сторону дробного числа x(n)/g, может использоваться в качестве целого числа u(n). Целое число u(n) можно быть значением, соответствующим x(n)/g.

[0031] В данном варианте осуществления последовательность x(n)/g соответствует последовательности отсчетов в частотной области в формуле изобретения. Последовательность x(n)/g является примером последовательности отсчетов в частотной области. Квантованный коэффициент MDCT, который является целым числом u(n), соответствует целому числу, соответствующему значению каждого отсчета в последовательности отсчетов в частотной области.

[0032] Блок 18 вычисления ошибки

Последовательность взвешенных нормализованных коэффициентов MDCT, полученная на этапе S15, коэффициент усиления g, полученный на этапе S16, и основанная на кадре последовательность квантованных коэффициентов MDCT, полученная на этапе S17, вводятся в блок 18 вычисления ошибки. Ошибка, происходящая из-за квантования, задается как r(n)=x(n)/g-u(n) [1≤n≤N]. Другими словами, значение, полученное посредством вычитания квантованного коэффициента MDCT u(n), соответствующего каждому коэффициенту x(n) последовательности взвешенных нормализованных коэффициентов MDCT, из значения, полученного посредством деления коэффициента x(n) на коэффициент усиления g, служит в качестве ошибки квантования r(n), соответствующей коэффициенту x(n).

[0033] Последовательность ошибок квантования r(n) соответствует последовательности ошибок в формуле изобретения.

[0034] Блок 19 кодирования

Затем, блок 19 кодирования кодирует последовательность квантованных коэффициентов MDCT (последовательность квантованных коэффициентов MDCT u(n)), выведенную квантователем 17 в кадрах, и выводит полученные коды и количество битов кодов (этап S19).

[0035] Блок 19 кодирования может уменьшить среднюю величину кода посредством использования кодирования переменной длины, которое, например, назначает коды, имеющие длины в зависимости от частот значений последовательности квантованных коэффициентов MDCT. Коды переменной длины включают в себя коды Райса, коды Хаффмана, арифметические коды и коды длин серий.

[0036] Кодирование Райса и кодирование длин серий, показанные здесь в качестве примеров, широко известны и не будут здесь описываться (см справочную литературу 1, например).

Справочная литература 1: David Salomon, “Data Compression: The Complete Reference,” 3rd edition, Springer-Verlag, ISBN-10: 0-387-40697-2, 2004.

[0037] Сгенерированные коды переменной длины становятся частью кодов, отправленных в декодер 2. Способ кодирования переменной длины, который был исполнен, указывается посредством информации о выборе. Информация о выборе может быть отправлена в декодер 2.

[0038] Блок 110 кодирования ошибки

В результате кодирования переменной длины коэффициентов с u(1) по u(N), которые являются целыми числами, последовательности квантованных коэффициентов MDCT получается количество битов, необходимых для выражения последовательности квантованных коэффициентов MDCT, а количество избыточных битов, созданных посредством сжатия при кодировании переменной длины, получается из предварительно определенного количества битов. Если битами можно манипулировать среди нескольких кадров, то избыточные биты могут быть эффективно использованы в последующих кадрах. Если в каждом кадре назначается постоянное число битов, то избыточные биты следует эффективно использовать для кодирования другого элемента, в противном случае, уменьшение количества средних битов посредством кодирования переменной длины становится бессмысленным.

[0039] В данном варианте осуществления блок 110 кодирования ошибки кодирует ошибку квантования r(n)=x(n)/g-u(n) посредством использования всех или части избыточных битов. Для краткости использование всех или части избыточных битов будет упоминаться как использование избыточных битов. Избыточные биты, которые не использовались при кодировании ошибки квантования r(n), используются для других целей, таких как коррекция коэффициента усиления g. Ошибка квантования r(n) генерируется посредством округления дробных частей, образованных при квантовании, и распределяется почти равномерно в диапазоне от -0,5 до +0,5. Чтобы закодировать все отсчеты (например, 256 точек) посредством данного количества битов, способ кодирования и правило, задающее положения целевых отсчетов, определяются посредством использования избыточных битов. Цель состоит в минимизации ошибки E = ∑ n ∈ N (r(n) − q(n)) 2 во всем кадре, где q(n) является последовательностью, которую следует восстановить с помощью избыточных битов.

[0040] Блок 110 кодирования ошибки вычисляет количество избыточных битов посредством вычитания количества битов в кодах переменной длины, выведенных блоком 19 кодирования, из количества битов, предварительно установленных в качестве величины кода последовательности взвешенных нормализованных коэффициентов MDCT. Затем, последовательность ошибок квантования, полученная блоком 18 вычисления ошибки, кодируется с помощью количества избыточных битов, и полученные коды ошибок выводятся (этап S110). Коды ошибки являются частью кодов, отправленных в декодер 2.

[0041] [КОНКРЕТНЫЙ СЛУЧАЙ 1 КОДИРОВАНИЯ ОШИБКИ]

Когда кодируются ошибки квантования, векторное квантование может быть применено ко множеству отсчетов совместным образом. В целом, однако, это требует накопления кодовой последовательности в таблице (кодовой книге) и требует вычисления расстояния между вводом и кодовой последовательностью, увеличивая размер памяти и объем вычисления. Кроме того, для обработки любого количества битов потребуются отдельные кодовые книги, и конфигурация станет сложной.

[0042] Далее будет описано функционирование в конкретном случае 1.

[0043] В блоке хранения кодовых книг в блоке 110 кодирования ошибки заранее сохраняется одна кодовая книга для каждого возможного количества избыточных битов. Каждая кодовая книга хранит заранее столько же векторов, сколько и количество отсчетов в последовательности ошибок квантования, которая может быть выражена с помощью количества избыточных битов, соответствующих кодовой книге, связанной с кодами, соответствующими векторам.

[0044] Блок 110 кодирования ошибки вычисляет количество избыточных битов, выбирает кодовую книгу, соответствующую вычисленному количеству избыточных битов, из кодовых книг, сохраненных в блоке хранения кодовых книг, и выполняет векторное квантование посредством использования выбранной кодовой книги. Процесс кодирования после выбора кодовой книги является тем же самым, что и в общем векторном квантовании. В качестве кодов ошибки блок 110 кодирования ошибки выводит коды, соответствующие векторам, которые минимизируют расстояния между векторами выбранной кодовой книги и введенной последовательностью ошибок квантования или минимизируют корреляцию между ними.

[0045] В описании, данном выше, количество векторов, сохраненных в кодовой книге, является тем же самым, что и количество отсчетов в последовательности ошибок квантования. Количество векторов отсчетов, сохраненных в кодовой книге, может также быть целым делителем количества отсчетов в последовательности ошибок квантования; последовательность ошибок квантования может быть векторно квантована для каждой группы множества отсчетов; и множество полученных кодов может использоваться в качестве кодов ошибки.

[0046] [КОНКРЕТНЫЙ СЛУЧАЙ 2 БЛОКА 110 КОДИРОВАНИЯ ОШИБКИ]

Когда отсчеты с ошибками квантования, включенные в последовательность ошибок квантования, кодируются по одному, то определяется порядок приоритета отсчетов с ошибками квантования, включенных в последовательность ошибок квантования, и отсчеты с ошибками квантования, которые могут быть закодированы с помощью избыточных битов, кодируются в порядке убывания приоритета. Например, отсчеты с ошибками квантования кодируются в порядке убывания абсолютного значения или энергии.

[0047] Порядок приоритета может быть определен относительно значений огибающей спектра мощности, например. Подобно значениям огибающей спектра мощности, могут использоваться приближенные значения огибающей спектра мощности, оценки огибающей спектра мощности, значения, полученные посредством сглаживания любых из упомянутых значений вдоль частотной оси, средние значения множества отсчетов любых из упомянутых значений или значения, имеющие ту же самую взаимосвязь модулей амплитуд, что и, по меньшей мере, одни из упомянутых значений, несомненно, использование значений огибающей спектра мощности будут описаны ниже. Как изображено на примере, показанном на Фиг. 3, искажение при восприятии в акустическом сигнале, таком как речь или музыкальный звук, может быть уменьшено посредством приближения тенденции в амплитудах последовательности отсчетов, которые следует квантовать в частотной области (соответствующие огибающей спектра после взвешенного сглаживания на Фиг. 3), к огибающей спектра мощности акустического сигнала (соответствующей огибающей спектра исходного звука на Фиг. 3). Если окажется, что значения огибающей спектра мощности являются большими, соответствующие взвешенные нормализованные коэффициенты MDCT x(n) также будут большими. Даже если взвешенные нормализованные коэффициенты MDCT x(n) являются большими, ошибка квантования r(n) находится в диапазоне от -0,5 до +0,5.

[0048] Если взвешенные нормализованные коэффициенты MDCT x(n) являются очень малыми, другими словами, если коэффициенты меньше половины ширины шага, то значения, полученные посредством деления взвешенных нормализованных коэффициентов MDCT x(n) на коэффициент усиления g, являются 0, и ошибки квантования r(n) много меньше 0,5. Если значения огибающей спектра мощности являются достаточно малыми, то кодирование ошибок квантования r(n) так же как и взвешенных нормализованных коэффициентов MDCT x(n) окажет малое воздействие на качество восприятия, и они могут быть исключены из элементов, которые следует кодировать в блоке 110 кодирования ошибки. Если огибающая спектра мощности является довольно большой, то невозможно отличить отсчет, имеющий большую ошибку квантования, от других отсчетов. В этом случае, отсчеты с ошибками квантования r(n) каждый кодируются с использованием одного бита, только для количества отсчетов с ошибками квантования, соответствующих количеству избыточных битов, в порядке возрастания положения отсчета на частотной оси (порядок возрастания частоты) или в порядке убывания значения огибающей спектра мощности. Достаточно лишь будет исключить значения огибающей спектра мощности до конкретного уровня.

[0049] При кодировании последовательности ошибок квантования предполагается, что отсчет с ошибкой квантования является r(n)=x, и его искажение, вызванное квантованием, представляет собой E  =   ∫ 0 0 ,5 f(x)(x-μ) 2 dx , где f(x) является функцией распределения вероятностей, а µ является абсолютным значением значения, восстановленного посредством декодера. Чтобы минимизировать искажение E, вызванное квантованием, µ должно быть установлено так, чтобы dE/dµ=0. То есть, µ должно быть центроидой распределения вероятностей ошибок квантования r(n).

[0050] Если значение, полученное посредством деления взвешенного нормализованного коэффициента MDCT x(n) на коэффициент усиления g и округления результата до целого числа, то есть, значения соответствующего квантованного коэффициента MDCT u(n), не является '0', то распределение ошибок квантования r(n) является фактически равномерным, и может быть установлено µ=0,25.

[0051] Если значение, полученное посредством деления взвешенного нормализованного коэффициента MDCT x(n) на коэффициент усиления g и округления результата до целого числа, то есть, значения соответствующего квантованного коэффициента MDCT u(n), является '0', то распределение ошибок квантования r(n) стремится к '0', и центроида распределения должна использоваться в качестве значения µ.

[0052] В данном случае, отсчет с ошибкой квантования, который следует кодировать, может быть выбран для каждого набора из множества отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', и положение выбранного отсчета с ошибкой квантования в наборе отсчетов с ошибками квантования и значение выбранного отсчета с ошибкой квантования могут быть закодированы и отправлены в качестве кода ошибки в декодер 2. Например, среди четырех отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', выбирается отсчет с ошибкой квантования, имеющий самое большое абсолютное значение; значение выбранного отсчета с ошибкой квантования квантуется (определяется, является ли оно положительным или отрицательным, например), и данная информация отправляется в качестве одиночного бита; и положение выбранного отсчета с ошибкой квантования отправляется в качестве двух битов. Коды отсчетов с ошибками квантования, которые не были выбраны, не отправляются в декодер 2, и соответствующие декодированные значения в декодере 2 являются '0'. В целом, необходимо q битов для сообщения декодеру положение отсчета, который был выбран среди 2q отсчетов.

[0053] Здесь, µ должно быть значением центроиды распределения отсчетов, имеющих самые большие абсолютные значения ошибок квантования в наборах из множества отсчетов.

[0054] С помощью многих избыточных битов рассеянные отсчеты могут быть выражены посредством объединения множества последовательностей, как показано на Фиг. 4. В первой последовательности положительный или отрицательный импульс (требующий два бита) устанавливается только в одном из четырех положений, а другие положения могут быть установлены нулевыми. Для выражения первой последовательности необходимо три бита. Последовательности со второй по пятую могут быть закодированы таким же образом, всего с помощью 15 битов.

[0055] Кодирование может быть выполнено, как описано ниже, где количество избыточных битов обозначено как U, количество отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) не являются '0', среди отсчетов с ошибками квантования, составляющих последовательность ошибок квантования, обозначено как T, и количество отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', обозначено как S.

[0056] (A) U≤T

Блок 110 кодирования ошибки выбирает U отсчетов с ошибками квантования среди T отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) не являются '0', в последовательности ошибок квантования, в порядке убывания соответствующего значения огибающей спектра мощности; генерирует однобитовый код, служащий в качестве информации, выражающей, является ли отсчет с ошибкой квантования положительным или отрицательным, для каждого из выбранных отсчетов с ошибками квантования; и выводит сгенерированные U битов кодов в качестве кодов ошибки. Если соответствующие значения огибающей спектра мощности являются одними и теми же, то отсчеты следует выбирать, например, в соответствии с другим предварительно установленным правилом, таким как выбор отсчетов с ошибками квантования в порядке возрастания положения на частотной оси (отсчеты с ошибками квантования в порядке возрастания частоты).

[0057] (B) T<U≤T+S

Блок 110 кодирования ошибки генерирует однобитовый код, служащий в качестве информации, выражающей, является ли отсчет с ошибкой квантования положительным или отрицательным, для каждого из T отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) не являются '0', в последовательности ошибок квантования.

[0058] Блок 110 кодирования ошибки также кодирует отсчеты с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) не являются '0', в последовательности ошибок квантования с помощью U-T битов. Если существует множество отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', то они кодируются в порядке убывания соответствующего значения огибающей спектра мощности. В частности, однобитовый код, выражающий, является ли отсчет с ошибкой квантования положительным или отрицательным, генерируется для каждого из U-T отсчетов среди отсчетов с ошибкой квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', в порядке убывания соответствующего значения огибающей спектра мощности. Альтернативно, множество отсчетов с ошибками квантования «вынимаются» в порядке убывания соответствующего значения огибающей спектра мощности из отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', и векторно квантуются в каждой группе из множества отсчетов с ошибками квантования для генерирования U-T битов кодов. Если соответствующие значения огибающей спектра мощности являются одними и теми же, отсчеты выбираются, например, в соответствии с предварительно установленным правилом, таким как выбор отсчетов с ошибками квантования в порядке возрастания положения на частотной оси (отсчеты с ошибками квантования в порядке возрастания частоты).

[0059] Блок 110 кодирования ошибки дополнительно выводит объединение сгенерированных U-битных кодов и U-T-битных кодов в качестве кодов ошибок.

[0060] (C) T+S<U

Блок 110 кодирования ошибки генерирует однобитовый код первого цикла, выражающий, является ли отсчет с ошибкой квантования положительным или отрицательным, для каждого из отсчетов с ошибками квантования, включенных в последовательность ошибок квантования.

[0061] Блок 110 кодирования ошибки дополнительно кодирует отсчеты с ошибками квантования посредством использования оставшихся U-(T+S) битов так, как описано в (A) или (B) выше. Второй цикл для (A) исполняется над ошибками кодирования первого цикла с помощью U-(T+S) битов, устанавливаемых снова в U бит. В результате двухбитовое квантование на отсчет с ошибкой квантования выполняется над, по меньшей мере, некоторыми из отсчетов с ошибками квантования. Значения ошибок квантования r(n) при кодировании первого цикла находятся равномерно в диапазоне от -0,5 до +0,5, и значения ошибок в первом цикле, которые следует закодировать во втором цикле, находятся в диапазоне от -0,25 до +0,25.

[0062] В частности, блок 110 кодирования ошибки генерирует однобитовый код второго цикла, выражающий, является ли значение, полученное посредством вычитания восстановленного значение в 0,25 из значения отсчета с ошибкой квантования, положительным или отрицательным, для отсчетов с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) не являются '0' и чьи соответствующие ош