СПОСОБ КОДИРОВАНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ, КОДЕР, ДЕКОДЕР, ПРОГРАММА И НОСИТЕЛЬ ЗАПИСИ Российский патент 2015 года по МПК G10L19/02 H03M7/30 

Описание патента на изобретение RU2571561C2

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

[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, и его искажение, вызванное квантованием, представляет собой =   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' и чьи соответствующие ошибки квантования r(n) являются положительными, среди отсчетов с ошибками квантования, включенных в последовательность ошибок квантования.

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

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

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

[0066] Блок 110 кодирования ошибки выводит объединение кода первого цикла и кода второго цикла в качестве кода ошибки.

[0067] Если не все из T+S отсчетов с ошибками квантования последовательности ошибок квантования закодированы или если отсчеты с ошибками квантования, чьи соответствующие квантованные коэффициенты MDCT u(n) являются '0', закодированы вместе, используя один бит или меньше на отсчет, то последовательность ошибок квантования кодируется посредством использования UU битов, которые меньше U битов. В данном случае, условие (C) может быть выражено как T+S<UU.

[0068] Приближенные значения огибающей спектра мощности или оценки огибающей спектра мощности могут использоваться вместо значений огибающей спектра мощности в (A) и (B) выше.

[0069] Значения, полученные посредством сглаживания значений огибающей спектра мощности, посредством сглаживания приближенных значений огибающей спектра мощности, либо посредством сглаживания оценок огибающей спектра мощности вдоль частотной оси, могут также использоваться вместо значений огибающей спектра мощности в (A) и (B) выше. В качестве значений, полученных посредством сглаживания, взвешенные коэффициенты огибающей спектра, полученные блоком 15 нормализации взвешенной огибающей, могут быть введены в блок 110 кодирования ошибки, либо значения могут также быть вычислены блоком 110 кодирования ошибки.

[0070] Средние значения множества значений огибающей спектра мощности могут также использоваться вместо значений огибающей спектра мощности в (A) и (B) выше. Например, может использоваться N-е количество W”(n), полученных как W”(4n-3)=W”(4n-2)=W”(4n-1)=W”(4n)=(W(4n-3)+W(4n-2)+W(4n-1)+W(4n))/4 [1≤n≤N/4]. Средние значения приближенных значений огибающей спектра мощности или средние значения оценок огибающей спектра мощности могут использоваться вместо значений огибающей спектра мощности W(n)[1≤n≤N]. Могут также использоваться средние значения значений, полученных посредством сглаживания значений огибающей спектра мощности, посредством сглаживания приближенных значений огибающей спектра мощности, либо посредством сглаживания оценок огибающей спектра мощности вдоль частотной оси. Каждое среднее значение здесь является значением, полученным посредством усреднения целевых значений над множеством отсчетов, то есть, значение, полученное посредством усреднения целевых значений во множестве отсчетов.

[0071] Значения, имеющие ту же самую взаимосвязь модулей амплитуд как, по меньшей мере, один тип из значений огибающей спектра мощности, приближенных значений огибающей спектра мощности, оценок огибающей спектра мощности, значений, полученных посредством сглаживания любых из вышеупомянутых значений, и значений, полученных посредством усреднения любых из вышеупомянутых значений над множеством отсчетов, могут также использоваться вместо значений огибающей спектра мощности в (A) и (B) выше. В этом случае, значения, имеющие одну и ту же взаимосвязь модулей амплитуд, вычисляются блоком 110 кодирования ошибки и используются. Значения, имеющие одну и ту же взаимосвязь модулей амплитуд, включают в себя квадраты величин и квадратные корни величин. Например, значения, имеющие одну и ту же взаимосвязь модулей амплитуд, как и значения огибающей спектра мощности W(n)[1≤n≤N], являются квадратами (W(n))2[1≤n≤N] значений огибающей спектра мощности и квадратными корнями (W(n))1/2[1≤n≤N] значений огибающей спектра мощности.

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

[0073] Как указано в прямоугольнике из прерывистой линии на Фиг. 1, блок 111 повторного размещения может быть предоставлен для повторного размещения последовательности квантованных коэффициентов MDCT. В этом случае, блок 19 кодирования осуществляет кодирование переменной длины над последовательностью квантованных коэффициентов MDCT, повторно размещенную блоком 111 повторного размещения. Так как повторное размещение последовательности квантованных коэффициентов MDCT на основе периодичности может иногда значительно сокращать количество битов при кодировании переменной длины, то при кодировании ошибок может ожидаться улучшение эффективности кодирования.

[0074] Блок 111 повторного размещения выводит, в блоках кадров, повторно размещенную последовательность отсчетов, которая (1) включает в себя все отсчеты в последовательности квантованных коэффициентов MDCT, и в которой (2) некоторые из тех отсчетов, включенных в последовательность квантованных коэффициентов MDCT, были повторно размещены для соединения отсчетов, имеющих равный индекс или почти равный индекс, отражающий модуль амплитуды отсчета (этап S111). Здесь, индекс, отражающий модуль амплитуды отсчета, является абсолютным значением амплитуды отсчета или мощности (в квадрате) отсчета, например, но не ограничивается ими. Для получения подробной информации о блоке 111 повторного размещения обратитесь к заявке на патент Японии № 2010-225949 (PCT/JP2011/072752, соответствует WO2012/046685).

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

Далее будет описан процесс декодирования со ссылкой на Фиг. 5 и 6.

[0076] Декодер 2 восстанавливает коэффициент MDCT посредством выполнения процесса кодирования, выполняемого в кодере 1, в обратном порядке. В данном варианте осуществления коды, введенные в декодер 2, включают в себя коды переменной длины, коды ошибок, информацию о коэффициенте усиления и коды коэффициентов линейного предсказания. Если информация о выборе выводится от кодера 1, то информация о выборе также вводится в декодер 2.

[0077] Как показано на Фиг. 5, декодер 2 включает в себя блок 21 декодирования, блок 22 вычисления огибающей спектра мощности, блок 23 декодирования ошибки, блок 24 декодирования коэффициента усиления, сумматор 25, блок 26 обратной нормализации взвешенной огибающей и преобразователь 27 во временную область, например. Декодер 2 выполняет этапы способа декодирования, показанного на Фиг. 6 в качестве примера. Далее будут описаны этапы в декодере 2.

[0078] БЛОК 21 ДЕКОДИРОВАНИЯ

Сначала, блок 21 декодирования декодирует коды переменной длины, включенные во введенные коды в блоках кадров, и выводит последовательность декодированных квантованных коэффициентов MDCT u(n), то есть, коэффициентов, которые идентичны квантованным коэффициентам MDCT u(n) в кодере, и количество битов кодов переменной длины (этап S21). Разумеется, исполняется способ декодирования переменной длины, соответствующий способу кодирования переменной длины, исполняемому для получения кодовой последовательности. Подробности процесса декодирования, выполняемого блоком 21 декодирования, соответствуют подробностям процесса кодирования, выполняемого блоком 19 кодирования кодера 1. Описание процесса кодирования цитируется здесь в качестве замены подробного описания процесса декодирования, потому что декодирование, соответствующее кодированию, которое было исполнено, является процессом декодирования, который следует выполнять в блоке 21 декодирования.

[0079] Последовательность декодированных квантованных коэффициентов MDCT u(n) соответствует последовательности целых чисел в формуле изобретения.

[0080] Способ кодирования переменной длины, который был исполнен, указывается посредством информации о выборе. Если информация о выборе включает в себя, например, информацию, указывающую область, в которой было применено кодирование Райса, и параметры Райса, информацию, указывающая область, в которой было применено кодирование длин серий, и информацию, указывающую тип энтропийного кодирования, то способы декодирования, соответствующие способам кодирования, применяются к соответствующим областям введенной кодовой последовательности. Процесс декодирования, соответствующий кодированию Райса, процесс декодирования, соответствующий энтропийному кодированию, и процесс декодирования, соответствующий кодированию длин серий, широко известны, и их описание будет опущено (например, обратитесь к Справочной литературе 1, указанной выше).

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

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

[0082] Приближенные значения огибающей спектра мощности или оценки огибающей спектра мощности могут быть вычислены вместо значений огибающей спектра мощности, как в блоке 14 вычисления огибающей спектра мощности кодера 1. Тип значений, однако, должен быть тем же самым, что тип в блоке 14 вычисления огибающей спектра мощности кодера 1. Например, если блок 14 вычисления огибающей спектра мощности кодера 1 получил приближенные значения огибающей спектра мощности, то блок 22 вычисления огибающей спектра мощности декодера 2 должен также получить приближенные значения огибающей спектра мощности.

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

[0084] БЛОК 23 ДЕКОДИРОВАНИЯ ОШИБКИ

Сначала, блок 23 декодирования ошибки вычисляет количество избыточных битов посредством вычитания количества битов, выведенных блоком 21 декодирования, из количества битов, предварительно установленных в качестве величины кодирования последовательности квантованных коэффициентов MDCT. Затем блок 23 декодирования ошибки декодирует коды ошибок, выведенные блоком 110 кодирования ошибки кодера 1, посредством использования способа декодирования, соответствующего способу кодирования, использованному в блоке 110 кодирования ошибки кодера 1, и получает декодированные ошибки квантования q(n) (этап S23). Количество битов, назначенных последовательности ошибок квантования в кодере 1, получается из количества избыточных битов на основе количества битов, использованных при кодировании переменной длины, указанным блоком 21 декодирования. Так как кодер 1 и декодер 2 определяют соответствие отсчетов и этапов между кодированием и декодированием в блоках наборов избыточных битов, то становится возможным уникальное декодирование.

[0085] Последовательность декодируемых ошибок квантования соответствует последовательности ошибок в формуле изобретения.

[0086] [Конкретный случай 1 декодирования ошибки] (соответствующий [Конкретному случаю 1 кодирования ошибки] в кодере 1)

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

[0087] Блок 23 декодирования ошибки вычисляет количество избыточных битов, выбирает кодовую книгу, соответствующую вычисленному количеству избыточных битов, из кодовых книг, сохраненных в блоке хранения кодовых книг, и выполняет векторное обратное квантование посредством использования выбранной кодовой книги. Процесс декодирования после выбора кодовой книги является тем же самым, что и обычное векторное обратное квантование. Другими словами, среди векторов в выбранной кодовой книге векторы, соответствующие введенным кодам ошибок, выводятся в качестве декодированных ошибок квантования q(n).

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

[0089] [Конкретный случай 2 блока 23 декодирования ошибки] (соответствующий [Конкретному случаю 2 кодирования ошибки] в кодере 1)

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

[0090] (A) U≤T

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

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

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

[0092] Блок 23 декодирования ошибки также декодирует однобитовый код, включенный во введенный код ошибки, для каждого из U-T отсчетов, чьи соответствующие декодированные квантованные коэффициенты MDCT u(n) являются '0', в порядке убывания соответствующего значения огибающей спектра мощности, для получения информации, указывающей, является ли декодированный отсчет с ошибкой квантования положительным или отрицательным; добавляет полученную информацию о положительности-отрицательности к абсолютному значению A восстановленного значения, которое является предварительно установленным положительным значением, большим 0,25; и выводит восстановленное значение +A или -A в качестве декодированной ошибки квантования q(n), соответствующей декодированному квантованному коэффициенту MDCT u(n).

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

[0094] Когда значения квантованного коэффициента MDCT u(n) и декодированного квантованного коэффициента MDCT u(n) не являются '0', абсолютное значение восстановленного значения устанавливается в '0,25', например; когда значения квантованного коэффициента MDCT u(n) и декодированного квантованного коэффициента MDCT u(n) являются '0', абсолютное значение восстановленного значения устанавливается в A (0<A<0,25), как описано выше. Абсолютные значения восстановленных значений приведены в качестве примеров. Абсолютному значению восстановленного значения, полученного, когда значения квантованного коэффициента MDCT u(n) и декодированного квантованного коэффициента MDCT u(n) не являются '0', необходимо быть больше абсолютного значения восстановленного значения, полученного, когда значения квантованного коэффициента MDCT u(n) и декодированного квантованного коэффициента MDCT u(n) являются '0'. Значения квантованного коэффициента MDCT u(n) и декодированного квантованного коэффициента MDCT u(n) соответствуют целым числам в формуле изобретения.

[0095] Если соответствующие значения огибающей спектра мощности являются одними и теми же, то отсчеты должны быть выбраны в соответствии с предварительно установленным правилом, таким как выбор отсчетов в порядке возрастания положения на частотной оси (в порядке возрастания частоты), например.

[0096] (C) T+S<U

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

[0097] Блок 23 декодирования ошибки декодирует однобитовый код первого цикла, включенный во введенный код ошибки, для получения информации о положительности-отрицательности, добавляет полученную информацию о положительности-отрицательности к абсолютному значению 0,25 восстановленного значения и устанавливает восстановленное значение +0,25 или -0,25 в качестве декодированной ошибки квантования первого цикла q1(n), соответствующей декодированному квантованному коэффициенту MDCT u(n). Блок 23 декодирования ошибки дополнительно декодирует однобитовый код второго цикла, включенный во введенный код ошибки, для получения информации о положительности-отрицательности, добавляет полученную информацию о положительности-отрицательности к абсолютному значению 0,125 восстановленного значения, и устанавливает восстановленное значение +0,125 или -0,125 в качестве декодированной ошибки квантования второго цикла q2(n). Декодированная ошибка квантования первого цикла q1(n) и декодированная ошибка квантования второго цикла q2(n) суммируются для создания декодированной ошибки квантования q(n).

[0098] Блок 23 декодирования ошибки выполняет следующий процесс над отсчетами, чьи декодированные квантованные коэффициенты MUCT u(n) являются '0'.

[0099] Блок 23 декодирования ошибки декодирует однобитовый код первого цикла, включенный во введенный код ошибки, для получения информации о положительности-отрицательности, добавляет полученную информацию о положительности-отрицательности к абсолютному значению A восстановленного значения, которое является положительным значением, большим 0,25, и устанавливает восстановленное значение +A или -A в качестве декодированной ошибки квантования первого цикла q1(n), соответствующей декодированному квантованному коэффициенту MDCT u(n). Блок 23 декодирования ошибки дополнительно декодирует однобитовый код второго цикла, включенный во введенный код ошибки, для получения информации о положительности-отрицательности, добавляет полученную информацию о положительности-отрицательности к абсолютному значению A/2 восстановленного значения и устанавливает восстановленное значение +A/2 или -A/2 в качестве декодированной ошибки квантования второго цикла q2(n). Декодированная ошибка квантования первого цикла q1(n) и декодированная ошибка квантования второго цикла q2(n) суммируются для создания декодированной ошибки квантования q(n).

[0100] Независимо от того, являются ли соответствующие значения квантованного коэффициента MDCT u(n) и декодированного квантованного коэффициента MDCT u(n) '0' или не '0', абсолютное значение восстановленного значения, соответствующего коду второго цикла, является половиной абсолютного значения восстановленного значения, соответствующего коду первого цикла.

[0101] Приближенные значения огибающей спектра мощности, оценки огибающей спектра мощности, значения, полученные посредством сглаживания любых из упомянутых значений, значения, полученные посредством усреднения любых из упомянутых значений над множествами отсчетов, или значения, имеющие ту же самую взаимосвязь модулей амплитуды, как и любое из упомянутых значений, могут также использоваться вместо значений огибающей спектра мощности в (A) и (B) выше. Должен использоваться тот же самый тип значений, как тот, который используется в блоке 110 кодирования ошибки кодера 1.

[0102] Блок декодирования 24 коэффициента усиления

Блок 24 декодирования коэффициента усиления декодирует введенную информацию о коэффициенте усиления, чтобы получить коэффициент усиления g, и выводит его (этап S24). Коэффициент усиления g отправляется в сумматор 25.

[0103] Сумматор 25

Сумматор 25 суммирует коэффициенты u(n) последовательности декодированных квантованных коэффициентов MDCT, выведенной блоком 21 декодирования, с соответствующими коэффициентами q(n) последовательности декодированных ошибок квантования, выведенной блоком 23 декодирования ошибки, в блоках кадров, чтобы получить их суммы. Сумматор 25 генерирует последовательность посредством умножения суммы на коэффициент усиления g, выведенный блоком 24 декодирования коэффициента усиления, и предоставляет ее в качестве последовательности декодированных взвешенных нормализованных коэффициентов MDCT (S25). Каждый коэффициент в последовательности декодированных взвешенных нормализованных коэффициентов MDCT обозначается как x^(n), где x^(n)=(u(n)+q(n))·g.

[0104] Последовательность сумм, сгенерированная сумматором 25, соответствует последовательности отсчетов в частотной области в формуле изобретения.

Блок 26 обратной нормализации взвешенной огибающей

Далее блок 26 обратной нормализации взвешенной огибающей получает последовательность коэффициентов MDCT посредством деления коэффициентов x^(n) последовательности декодированных взвешенных нормализованных коэффициентов MDCT на значения огибающей спектра мощности в блоках кадров (этап S26).

[0105] Преобразователь 27 во временную область

Далее, преобразователь 27 во временную область преобразует последовательность коэффициентов MDCT, выведенную блоком 26 обратной нормализации взвешенной огибающей, во временную область в блоках кадров и получает цифровую речь или акустический сигнал в блоке кадров (этап S27).

[0106] Обработка на этапах S26 и S27 является традиционной, и ее подробное описание здесь опускается.

[0107] Если повторное размещение было выполнено блоком 111 повторного размещения в кодере 1, то последовательность декодированных квантованных коэффициентов MDCT u(n), сгенерированная блоком 21 декодирования, повторно размещается блоком повторного размещения в декодере 2 (этап S28), и повторно размещенная последовательность декодированных квантованных коэффициентов MDCT u(n) отправляется в блок 23 декодирования ошибки и сумматор 25. В этом случае, блок 23 декодирования ошибки и сумматор 25 выполняют обработку, описанную выше, над повторно размещенной последовательностью декодированных квантованных коэффициентов MDCT u(n) вместо последовательности декодированных квантованных коэффициентов MDCT u(n), сгенерированных блоком 21 декодирования.

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

[0109] [КОНФИГУРАЦИИ АППАРАТНОГО ОБЕСПЕЧЕНИЯ КОДЕРА И ДЕКОДЕРА]

Кодер 1 и декодер 2 в варианте осуществления, описанном выше, включает в себя блок ввода, к которому могут быть подсоединена клавиатура или тому подобное, блок вывода, к которому могут быть подсоединены жидкокристаллическое устройство отображения или тому подобное, центральный блок обработки (CPU), памяти, такие как память с произвольным доступом (RAM) и постоянная память (ROM), внешний блок хранения, такой как привод жесткого диска, и шину, к которой подсоединены блок ввода, блок вывода, CPU, RAM, ROM, и внешний блок хранения, чтобы сделать возможным обмен данными среди них, например. По необходимости, блок (привод) для считывания и записи CD-ROM или других носителей записи может также быть добавлен к кодеру 1 или декодеру 2.

[0110] Внешний блок хранения кодера 1 и декодера 2 хранит программы для исполнения кодирования и декодирования и данные, необходимые при запрограммированной обработке. Программы могут также быть сохранены в ROM, которая является запоминающим устройством только для считывания, а также на внешнем блоке хранения. Данные, полученные при запрограммированной обработке, сохраняются в RAM или во внешнем блоке хранения, по необходимости. Запоминающие устройства для хранения данных и адресов областей хранения будут упоминаться только как блок хранения.

[0111] Блок хранения кодера 1 хранит программу для кодирования последовательности отсчетов в частотной области, извлеченной из речи или акустического сигнала, и для кодирования ошибок.

[0112] Блок хранения декодера 2 хранит программы для декодирования введенных кодов.

[0113] В кодере 1, каждая программа и данные, необходимые при обработке программы, считываются в RAM из блока хранения по необходимости, и CPU интерпретирует их и исполняет обработку. Кодирование реализуется посредством CPU, выполняющим заданные функции (например, блока 18 вычисления ошибки, блока 110 кодирования ошибки и блока 19 кодирования).

[0114] В декодере 2, каждая программа и данные, необходимые при обработке программы, считываются в RAM из блока хранения по необходимости, и CPU интерпретирует их и исполняет обработку. Декодирование реализуется посредством CPU, выполняющим заданные функции (например, блока 21 декодирования).

[0115] [ИЗМЕНЕНИЯ]

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

[0116] Функция G является G(h)=sign(h) × |h|a, например, где sign(h) является функцией знака полярности, которая выводит положительный или отрицательный знак введенной h. Данная sing(h) выводит '1', когда введенная h является положительным значением и выводит '-1', когда введенная h является отрицательной величиной, например. |h| представляет собой абсолютное значение h, и a является заданным числом, таким как 0,75.

[0117] В данном случае, значение G(x(n)/g), полученное посредством компандирования значения x(n)/g заданной функцией G, соответствует последовательности отсчетов в частотной области в формуле изобретения. Ошибка квантования r(n), полученная блоком 18 вычисления ошибки, является G(x(n)/g)-u(n). Ошибка квантования r(n) кодируется блоком 110 кодирования ошибки.

[0118] Здесь, сумматор 25 в декодере 2 получает последовательность декодированных взвешенных нормализованных коэффициентов MDCT x^(n) посредством умножения G-1(u(n)+q(n)) на коэффициент усиления g, причем G-1(u(n)+q(n)) получается посредством исполнения G-1=sign(h) × |h|1/a, обратной функции G, над u(n)+q(n), полученных посредством суммирования. То есть, x^(n)=G-1(u(n)+q(n))·g. Если a=0,75, то G-1=sign(h) × |h|1,33.

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

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

[0121] Программа, содержащая подробности обработки, может быть записана на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи может быть носителем любого типа, таким как устройство магнитного хранения, оптический диск, магнитооптический носитель хранения информации или полупроводниковая память. В частности, например, привод жесткого диска, гибкий диск, магнитная лента или тому подобное может использоваться в качестве магнитного записывающего устройства; DVD (цифровой универсальный диск), DVD-RAM (память с произвольным доступом), CD-ROM (постоянная память на компактных дисках), CD-R/RW (записываемый/перезаписываемый) или тому подобное может использоваться в качестве оптического диска; MO (магнитооптический диск) и тому подобное может использоваться в качестве магнитооптического носителя записи; и EEP-ROM (электронным образом стираемая и программируемая постоянная память) или тому подобное может использоваться в качестве полупроводниковой памяти.

[0122] Данная программа распространяется посредством продажи, переноса или предоставления в аренду переносного носителя записи, такого как DVD или CD-ROM с программой, записанной на нем, например. Программа может также распространяться посредством хранения программы в блоке хранения компьютера-сервера и переноса программы от компьютера-сервера на другой компьютер через сеть.

[0123] Компьютер, который исполняет данный тип программы, сначала сохраняет программу, записанную на переносном носителе записи, или программу, перенесенную от компьютера-сервера, в своем блоке хранения. Затем, компьютер считывает программу, сохраненную в своем блоке хранения, и исполняет обработку в соответствии со считанной программой. В другой форме исполнения программы компьютер может считать программу непосредственно из переносного носителя записи и исполнить обработку в соответствии с программой, или компьютер может исполнять обработку в соответствии с программой каждый раз, когда компьютер принимает программу, перенесенную от компьютера-сервера. Альтернативно, вышеописанная обработка может быть исполнена посредством так называемой услуги поставщика программно-аппаратных ресурсов (ASP), в которой функции обработки реализуются только посредством дачи команд выполнения программы и получения результатов без переноса программы с компьютера-сервера на компьютер. Программа данной формы включает в себя информацию, которая предоставляется для использования при обработке компьютером и обрабатывается соответственно как программа (то, что не является непосредственной командой для компьютера, но является данными или тому подобным, что имеет характеристики, которые определяют обработку, исполняемую компьютером).

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

Похожие патенты RU2571561C2

название год авторы номер документа
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ДЛЯ РАСШИРЕНИЯ ДИАПАЗОНА ВЫСОКИХ ЧАСТОТ 2011
  • Чоо Ки-Хиун
  • Ох Еун-Ми
  • Сунг Хо-Санг
RU2575680C2
МАСШТАБИРУЕМОЕ КОДИРОВАНИЕ РЕЧИ И АУДИО С ИСПОЛЬЗОВАНИЕМ КОМБИНАТОРНОГО КОДИРОВАНИЯ MDCT-СПЕКТРА 2008
  • Резник Юрий
  • Хуан Пэнцзюнь
RU2459282C2
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ДЛЯ РАСШИРЕНИЯ ДИАПАЗОНА ВЫСОКИХ ЧАСТОТ 2017
  • Чоо, Ки-Хиун
  • Ох, Еун-Ми
  • Сунг, Хо-Санг
RU2672133C1
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ДЛЯ РАСШИРЕНИЯ ДИАПАЗОНА ВЫСОКИХ ЧАСТОТ 2011
  • Чоо Ки-Хиун
  • Ох Еун-Ми
  • Сунг Хо-Санг
RU2639694C1
КОДИРОВАНИЕ ЗВУКА С МАЛОЙ ЗАДЕРЖКОЙ, СОДЕРЖАЩЕЕ ЧЕРЕДУЮЩИЕСЯ ПРЕДСКАЗАТЕЛЬНОЕ КОДИРОВАНИЕ И КОДИРОВАНИЕ С ПРЕОБРАЗОВАНИЕМ 2011
  • Раго Стефан
  • Ковеши Балаж
  • Берте Пьер
RU2584463C2
ЗВУКОВЫЕ КОДИРУЮЩЕЕ УСТРОЙСТВО И ДЕКОДИРУЮЩЕЕ УСТРОЙСТВО 2014
  • Виллемоес Ларс
  • Клейса Януш
  • Хеделин Пер
RU2740690C2
ЗВУКОВЫЕ КОДИРУЮЩЕЕ УСТРОЙСТВО И ДЕКОДИРУЮЩЕЕ УСТРОЙСТВО 2014
  • Виллемоес, Ларс
  • Клейса, Януш
  • Хеделин, Пер
RU2630887C2
ЗВУКОВЫЕ КОДИРУЮЩЕЕ УСТРОЙСТВО И ДЕКОДИРУЮЩЕЕ УСТРОЙСТВО 2014
  • Виллемоес, Ларс
  • Клейса, Януш
  • Хеделин, Пер
RU2740359C2
СЖАТИЕ ЗВУКОВЫХ СИГНАЛОВ 2005
  • Тамми Микко
RU2409874C9
ПРЕОБРАЗУЮЩЕЕ КОДИРОВАНИЕ/ДЕКОДИРОВАНИЕ ГАРМОНИЧЕСКИХ ЗВУКОВЫХ СИГНАЛОВ 2012
  • Гранчаров Володя
  • Тофтгод Томас
  • Неслунд Себастьян
  • Поблот Харальд
RU2611017C2

Иллюстрации к изобретению RU 2 571 561 C2

Реферат патента 2015 года СПОСОБ КОДИРОВАНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ, КОДЕР, ДЕКОДЕР, ПРОГРАММА И НОСИТЕЛЬ ЗАПИСИ

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

Формула изобретения RU 2 571 561 C2

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

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

3. Способ кодирования по любому из пп. 1 и 2, в котором среди упомянутых значений ошибок значения ошибок, чьи соответствующие целые числа не являются 0, кодируют с приоритетом на этапе кодирования ошибки.

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

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

6. Способ кодирования по п. 5, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

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

8. Способ декодирования по п. 7, в котором значения ошибок, соответствующие отсчетам, которые расположены среди отсчетов, составляющих последовательность целых чисел, и которые не являются 0, декодируют на этапе добавления.

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

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

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

12. Способ декодирования по п. 10, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, является больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

13. Способ декодирования по п. 11, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, является больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

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

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

16. Кодер по одному из пп. 14 и 15, в котором блок кодирования ошибки кодирует среди упомянутых значений ошибок значения ошибок, чьи соответствующие целые числа не являются 0, с приоритетом.

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

18. Кодер по п. 14, в котором значение, определенное на основе целого числа, рассматривается как абсолютное значение восстановленного значения, абсолютное значение восстановленного значения рассматривается как восстановленное значение, соответствующее каждому из упомянутых значений ошибок, когда каждое из упомянутых значений ошибок является положительным, а значение, полученное посредством вычитания абсолютного значения восстановленного значения из 0, рассматривается как восстановленное значение, соответствующее каждому из упомянутых значений ошибок, когда каждое из упомянутых значений ошибок является отрицательным; и
когда количество избыточных битов больше количества отсчетов с ошибками, составляющих последовательность значений ошибок, блок кодирования ошибки дополнительно кодирует информацию, указывающую, является ли значение, полученное посредством вычитания восстановленного значения, соответствующего каждому отсчету с ошибкой из каждого отсчета с ошибкой, положительным или отрицательным, с помощью одного бита.

19. Кодер по п. 18, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

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

21. Декодер по п. 20, в котором сумматор декодирует значения ошибок, соответствующие отсчетам, которые расположены среди отсчетов, составляющих последовательность целых чисел, и которые не являются 0.

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

23. Декодер по одному из пп. 20-22, в котором значения, определенные на основе целых чисел, рассматриваются как абсолютные значения восстановленных значений; и
сумматор отражает положительный или отрицательный знак, определенный посредством однобитовой информации в коде ошибки, в абсолютном значении восстановленного значения для получения каждого из значений ошибок.

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

25. Декодер по п. 23, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, является больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

26. Декодер по п. 24, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, является больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

27. Компьютерно-читаемый носитель записи, содержащий сохраненную на нем программу для предписания компьютеру исполнять этапы способа по п. 1.

28. Компьютерно-читаемый носитель записи, содержащий сохраненную на нем программу для предписания компьютеру исполнять этапы способа по п. 7.

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

30. Способ кодирования по п. 29, в котором среди упомянутых значений ошибок значения ошибок, чьи соответствующие целые числа не являются 0, кодируют с приоритетом на этапе кодирования ошибки.

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

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

33. Способ кодирования по п. 32, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

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

35. Кодер по п. 34, в котором блок кодирования ошибки кодирует среди упомянутых значений ошибок значения ошибок, чьи соответствующие целые числа не являются 0, с приоритетом.

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

37. Кодер по п. 34, в котором значение, определенное на основе целого числа, рассматривается как абсолютное значение восстановленного значения, абсолютное значение восстановленного значения рассматривается как восстановленное значение, соответствующее каждому из упомянутых значений ошибок, когда каждое из упомянутых значений ошибок является положительным, а значение, полученное посредством вычитания абсолютного значения восстановленного значения из 0, рассматривается как восстановленное значение, соответствующее каждому из упомянутых значений ошибок, когда каждое из упомянутых значений ошибок является отрицательным; и
когда количество избыточных битов больше количества отсчетов с ошибками, составляющих последовательность значений ошибок, блок кодирования ошибки дополнительно кодирует информацию, указывающую, является ли значение, полученное посредством вычитания восстановленного значения, соответствующего каждому отсчету с ошибкой из каждого отсчета с ошибкой, положительным или отрицательным, с помощью одного бита.

38. Кодер по п. 37, в котором абсолютное значение восстановленного значения, полученного, когда целое число не является 0, больше абсолютного значения восстановленного значения, полученного, когда целое число является 0.

Документы, цитированные в отчете о поиске Патент 2015 года RU2571561C2

JP 2010225949 A, 07.10.2010
Стабилизированный источник питания 1972
  • Фетцер Вадим Павлович
SU470800A1
US 6199038 B1, 06.03.2001
JPH03191628 A, 21.08.1991
Консервант для анатомических препаратов 1990
  • Палий Гордей Кондратьевич
  • Гуминский Юрий Иосифович
  • Ковальчук Валентин Петрович
  • Роменский Олег Юрьевич
  • Биктимиров Виктор Васильевич
  • Беньяминов Вадим Олегович
  • Швырев Александр Андреевич
  • Гриценко Сергей Иванович
  • Сорокоумов Валерий Павлович
SU1768104A1
US 2009248424 A1, 01.10.2009
RU 2009109129 A, 27.11.2010.

RU 2 571 561 C2

Авторы

Мория Такехиро

Харада Нобору

Камамото Ютака

Хивасаки Юсуке

Фукуи Масахиро

Даты

2015-12-20Публикация

2012-03-26Подача