КОДИРОВАНИЕ СПЕКТРАЛЬНЫХ КОЭФФИЦИЕНТОВ СПЕКТРА АУДИОСИГНАЛА
CODING OF SPECTRAL COEFFICIENTS OF AUDIO SIGNAL SPECTRUM

Область техники, к которой относится изобретение
Настоящая заявка относится к схеме кодирования спектральных коэффициентов спектра аудиосигнала, используемого, например, в различных аудиокодеках на основе преобразования.
Предшествующий уровень техники
Основанное на контексте арифметическое кодирование является эффективным способом кодирования с пониженным уровнем шума спектральных коэффициентов кодера на основе преобразования [1]. Контекст использует взаимную информацию между спектральным коэффициентом и уже кодированными коэффициентами, находящимися в их окрестности. Контекст является доступным, как на стороне кодера, так и на стороне декодера и не нуждается в какой-либо дополнительной информации, которую необходимо передавать. Таким образом, основанное на контексте энтропийное кодирование имеет потенциал для обеспечения более высокого выигрыша по сравнению с энтропийным кодированием без запоминания. Однако на практике построение контекста серьезно ограничивается среди прочего требованиями к памяти, сложностью вычислений и устойчивостью к образованию канальных ошибок. Эти ограничения ограничивают эффективность основанного на контексте энтропийного кодирования и приводят к более низкому выигрышу от кодирования, особенно для тональных сигналов, где контекст должен быть очень ограниченным для использования гармонической структуры сигнала.
Более того, при кодировании на основе преобразования аудиосигнала с низкой задержкой для уменьшения алгоритмической задержки используются окна с низким перекрытием. Как прямое следствие этого, потери при модифицированном дискретном косинусном преобразовании (MDCT) важны для тональных сигналов, и они приводят к более высокому шуму квантования. Тональные сигналы можно обрабатывать, комбинируя преобразования с предсказанием в частотной области, как это делается для MPEG2/4-AAC [2], или с предсказанием во временной области [3].
Сущность изобретения
Было бы выгодно иметь концепцию кодирования, которая повышает эффективность кодирования. Соответственно, задача настоящего изобретения состоит в том, чтобы обеспечить концепцию кодирования для спектральных коэффициентов спектра аудиосигнала, которая позволила бы повысить эффективность кодирования. Эта цель достигается с помощью предмета находящихся на рассмотрении независимых пунктов формулы изобретения.
Основной результат настоящей заявки состоит в том, что эффективность кодирования при кодировании спектральных коэффициентов спектра аудиосигнала можно увеличить путем кодирования/декодирования спектрального коэффициента, подлежащего кодированию/декодированию в данный момент времени, за счет энтропийного кодирования/декодирования, и при этом выполнить энтропийное кодирование/декодирование в зависимости, контекстно-адаптивным образом, от предварительно кодированного/декодированного спектрального коэффициента, в то же время регулируя относительное спектральное расстояние между предварительно кодированным/декодированным спектральным коэффициентом и кодированным/декодированным в данный момент времени спектральным коэффициентом в зависимости от информации относительно формы спектра. Информация относительно формы спектра может содержать меру тона или периодичности аудиосигнала, меру межгармонического расстояния спектра аудиосигнала и/или относительные местоположения формант и/или впадин спектральной огибающей спектра, и на основе этого знания спектральную окрестность, которая используется для того, чтобы сформировать контекст спектральных коэффициентов, подлежащих кодированию/декодированию в данный момент времени, можно адаптировать к определенной таким образом форме спектра, тем самым, повышая эффективность энтропийного кодирования.
Краткое описание чертежей
Преимущественные реализации являются предметом зависимых пунктов формулы изобретения, и предпочтительные варианты осуществления настоящей заявки описаны ниже со ссылкой на фигуры, на которых:
на фиг.1 показана схематичная диаграмма, иллюстрирующая кодер спектральных коэффициентов и его режим работы при кодировании спектральных коэффициентов спектра аудиосигнала;
на фиг.2 показана схематичная диаграмма, иллюстрирующая декодер спектральных коэффициентов, соответствующий кодеру спектральных коэффициентов (фиг.1);
на фиг.3 показана блок-схема возможной внутренней структуры кодера спектральных коэффициентов (фиг.1) в соответствии с вариантом осуществления;
на фиг.4 показана блок-схема возможной внутренней структуры спектрального коэффициента декодера (фиг.2) в соответствии с вариантом осуществления;
на фиг.5 схематично показан график спектра, коэффициенты которого должны кодироваться/декодироваться для того, чтобы проиллюстрировать адаптацию относительного спектрального расстояния в зависимости от меры тона или периодичности аудиосигнала или меры межгармонического расстояния;
на фиг.6 показана схематичная диаграмма, иллюстрирующая спектр, спектральные коэффициенты которого должны кодироваться/декодироваться в соответствии с вариантом осуществления, где спектр спектрально сформирован согласно перцептивно взвешенному синтезирующему фильтру на основе LP, а именно его противоположности, и иллюстрирующая адаптацию относительного спектрального расстояния в зависимости от меры межформатного расстояния в соответствии с вариантом осуществления;
фиг.7 схематично иллюстрирует участок спектра для того, чтобы проиллюстрировать шаблон контекста, окружающий спектральный коэффициент, подлежащий кодированию/декодированию в данный момент времени, и адаптацию шаблонов контекста, разбросанных по спектру в зависимости от информации относительно формы спектра в соответствии с вариантом осуществления;
на фиг.8 показана схематичная диаграмма, иллюстрирующая отображение из одного или более значений контрольных спектральных коэффициентов шаблона 81 контекста с использованием скалярной функции для того, чтобы получить оценку распределения вероятностей, которая должна использоваться для кодирования/декодирования текущего спектрального коэффициента в соответствии с вариантом осуществления;
фиг.9a схематично иллюстрирует использование неявной сигнализации для того, чтобы синхронизировать адаптацию относительного спектрального расстояния между кодером и декодером;
на фиг.9b показана схематичная диаграмма, иллюстрирующая использование явной сигнализации для того, чтобы синхронизировать адаптацию относительного спектрального расстояния между кодером и декодером;
на фиг.10a показана блок-схема аудиокодера на основе преобразования в соответствии с вариантом осуществления;
на фиг.10b показана блок-схема аудиодекодера на основе преобразования, соответствующая кодеру (фиг.10a);
на фиг.11a показана блок-схема аудиокодера на основе преобразования, использующего формирование спектра в частотной области в соответствии с вариантом осуществления;
на фиг.11b показана блок-схема аудиодекодера на основе преобразования, соответствующего кодеру (фиг.11a);
на фиг.12a показана блок-схема аудиодекодера с возбуждением c кодированным преобразованием на основе линейного предсказания в соответствии с вариантом осуществления;
на фиг.12b показан аудиодекодер с возбуждением с кодированным преобразованием на основе линейного предсказания, соответствующий кодеру (фиг.12a);
на фиг.13 показана блок-схема аудиокодера на основе преобразования в соответствии с дополнительным вариантом осуществления;
на фиг.14 показана блок-схема аудиодекодера на основе преобразования, соответствующего варианту осуществления (фиг.13);
на фиг.15 показана схематичная диаграмма, иллюстрирующая традиционный контекст или шаблон контекста, охватывающий окрестность спектрального коэффициента, подлежащего кодированию/декодированию в данный момент времени;
на фиг.16a-c показаны модифицированные конфигурации шаблонов контекста или отображенный контекст в соответствии с вариантами осуществления настоящей заявки;
фиг.17 схематично иллюстрирует график гармонического спектра для того, чтобы проиллюстрировать преимущество использования отображенного контекста, показанного на любом из фиг.16a-16c по сравнению с определением шаблона контекста (фиг.15) для гармонического спектра;
на фиг.18 показана блок-схема последовательности операций алгоритма оптимизации относительного спектрального расстояния D для отображения контекста в соответствии с вариантом осуществления.
Подробное описание изобретения
На фиг.1 показан кодер 10 спектральных коэффициентов в соответствии с вариантом осуществления. Кодер выполнен с возможностью кодирования спектральных коэффициентов спектра аудиосигнала. Фиг.1 иллюстрирует последовательные спектры в виде спектрограммы 12. Чтобы быть более точными, спектральные коэффициенты 14 иллюстрированы в виде прямоугольников, размещенных спектровременным образом вдоль временной оси t и частотной оси f. Несмотря на то что возможно, чтобы спектровременное разрешение поддерживалось постоянным, Фиг. 1 иллюстрирует, что спектровременное разрешение может изменяться во времени с одним таким моментом времени, изображенным на фиг.1 поз.16. Эта спектрограмма 12 может быть результатом преобразования на основе спектрального разложения, применяемого к аудиосигналу 18 в различные моменты времени, такого как преобразование с перекрытием, такое, например, как преобразование на основе критической дискретизации, такое как MDCT, или некоторое другое преобразование на основе действительнозначной критической дискретизации. В данном случае спектрограмму 12 можно принимать с помощью кодера 10 спектральных коэффициентов в виде спектра 20, состоящего из последовательности коэффициентов преобразования, каждый из которых принадлежит к одному и тому же моменту времени. Таким образом, спектры 20 представляют собой спектральные срезы спектрограммы, и проиллюстрированы на фиг.1 в виде отдельных столбцов спектрограммы 12. Каждый спектр состоит из последовательности коэффициентов 14 преобразования и был получен из соответствующего временного кадра 22 аудиосигнала 18 с использованием, например, некоторой функции 24 окна. В частности, временные кадры 22 последовательно размещаются в вышеупомянутые моменты времени и ассоциируются с временной последовательностью спектров 20. Как показано на фиг.1, эти спектры могут перекрывать друг друга, как это могут делать соответствующие окна 24 преобразования. То есть термин "спектр", используемый в данном документе, обозначает спектральные коэффициенты, принадлежащие к одному и тому же моменту времени, и, таким образом, представляет собой частотное разложение. Термин "спектрограмма" представляет собой частотно-временное разложение последовательных спектров, где слово "спектры" является формой множественного числа слова "спектр". Иногда, тем не менее, термин "спектр" используется в качестве синонима для спектрограммы. Термин "коэффициент преобразования" используется в качестве синонима для термина "спектральный коэффициент", если исходный сигнал находится во временной области, и преобразование представляет собой преобразование частоты.
Как только что было описано выше, кодер 10 спектральных коэффициентов предназначен для кодирования спектральных коэффициентов 14 спектрограммы 12 аудиосигнала 18, и с этой целью кодер может применять, например, предварительно определенный порядок кодирования/декодирования, в котором проходят, например, спектральные коэффициенты 14 вдоль спектровременного пути, по которому производится, например, сканирование по спектру спектральных коэффициентов 14 от низкой до высокой частоты в пределах одного спектра 20 и затем продолжается в отношении спектральных коэффициентов следующего по времени спектра 20, как показано на фиг.1 поз.26.
В способе, изложенном более подробно ниже, кодер 10 выполнен с возможностью кодирования спектрального коэффициента, подлежащего кодированию в данный момент времени и показанного в виде маленького крестика на фиг.1, посредством энтропийного кодирования, которое зависит, контекстно-адаптивным образом, от одного или более предварительно кодированных спектральных коэффициентов, показанных в качестве примера на фиг.1 в виде маленького кружка. В частности, кодер 10 выполнен таким образом, чтобы регулировать относительное спектральное расстояние между предварительно кодированным спектральным коэффициентом и спектральным коэффициентом, кодированным в данный момент времени, в зависимости от информации относительно формы спектра. Что касается зависимости и информации относительно формы спектра, то подробности изложены ниже наряду с соображениями относительно преимуществ, возникающих в результате адаптации относительного спектрального расстояния 28 в зависимости от только что упомянутой информации.
Другими словами, кодер 10 спектральных коэффициентов последовательно кодирует спектральные коэффициенты 14 в потоке 30 данных. Как будет описано более подробно ниже, кодер 10 спектральных коэффициентов может представлять собой часть кодера на основе преобразования, который в дополнение к спектральным коэффициентам 14 кодирует в потоке 30 данных дополнительную информацию таким образом, чтобы поток 30 данных позволял восстанавливать аудиосигнал 18.
На фиг.2 показан декодер 40 спектральных коэффициентов, соответствующий кодеру 10 спектральных коэффициентов (фиг.1). Функциональные возможности декодера 40 спектральных коэффициентов являются по существу противоположными функциональным возможностям кодера 10 спектральных коэффициентов (фиг.1): декодер 40 спектральных коэффициентов декодирует спектральные коэффициенты 14 спектра 12, используя, например, последовательно порядок 26 декодирования. При декодировании спектрального коэффициента, подлежащего кодированию в данный момент времени и показанного в качестве примера на фиг.2 в виде маленького крестика, путем энтропийного декодирования, декодер 40 спектральных коэффициентов выполняет энтропийное декодирование, которое зависит, контекстно-адаптивным образом, от одного или более предварительно декодированных спектральных коэффициентов, также показанных на фиг.2 в виде маленького кружка. При этом, декодер 40 спектральных коэффициентов регулирует относительное спектральное расстояние 28 между предварительно декодированным спектральным коэффициентом и спектральным коэффициентом, подлежащим декодированию в данный момент времени, в зависимости от вышеупомянутой информации относительно формы спектра 12. Таким же образом, как было указано выше, декодер 40 спектральных коэффициентов может представлять собой часть декодера на основе преобразования, выполненного с возможностью восстановления аудиосигнала 18 из потока 30 данных, из которого декодер 40 спектральных коэффициентов декодирует спектральные коэффициенты 14, используя энтропийное декодирование. Последний декодер на основе преобразования может, в качестве части операции восстановления, подвергать спектр 12 обратному преобразованию, такому, например, как обратное преобразование с перекрытием, которое, например, приводит к восстановлению последовательности перекрывающихся и обработанных с помощью окна временных кадров 22, которая в процессе перекрытия и добавления удаляет, например, наложение спектров, которое возникает из-за преобразования на основе спектрального разложения.
Как будет описано более подробно ниже, преимущества, возникающие в результате регулировки относительного спектрального расстояния 28 в зависимости от информации относительно формы спектра 12, опираются на возможность улучшения оценки распределения вероятностей, используемой для энтропийного кодирования/декодирования текущего спектрального коэффициента x. Чем лучше оценка распределения вероятностей, тем выше эффективность энтропийного кодирования, то есть более высокое сжатие. "Оценка распределения вероятностей" представляет собой оценку фактического распределения вероятностей текущего спектрального коэффициента 14, то есть функцию, которая назначает вероятность каждому значению области значений, которая может принимать текущий спектральный коэффициент 14. Из-за зависимости адаптации расстояния 28 от формы спектра 12 оценку распределения вероятностей можно определить для того, чтобы обеспечить более точное соответствие фактическому распределению вероятностей, так как использование информации о форме спектра 12 дает возможность получить оценку распределения вероятностей из спектральной окрестности текущего спектрального коэффициента x, что позволяет произвести более точную оценку распределения вероятностей текущего спектрального коэффициента x. Подробности, связанные с этим, представлены ниже вместе с примерами информации о форме спектра 12.
Прежде чем перейти к конкретным примерам вышеупомянутой информации о форме спектра 12, на фиг.3 и 4 показаны возможные внутренние структуры кодера 10 спектральных коэффициентов и декодера 40 спектральных коэффициентов, соответственно. В частности, как показано на фиг.3, кодер 10 спектральных коэффициентов может состоять из модуля 42 получения оценки распределения вероятностей и механизма 44 энтропийного кодирования, где аналогичным образом декодер 40 спектральных коэффициентов может состоять из модуля 52 получения оценки распределения вероятностей и механизма 54 энтропийного декодирования. Модули 42 и 52 получения оценки распределения вероятностей работают таким же образом: они получают, на основе значения одного или более предварительно декодированных/кодированных спектральных коэффициентов o, оценку 56 распределения вероятностей для энтропийного декодирования/кодирования текущего спектрального коэффициента x. В частности, механизм 44/54 энтропийного кодирования/декодирования принимает оценку распределения вероятностей из модуля 42/52 получения и выполняет энтропийное кодирование/декодирование относительно текущего спектрального коэффициента x, соответственно.
N
N-1
N-1
N
N
a
Механизм 44/54 энтропийного кодирования/декодирования может использовать, например, кодирование с переменной длиной, такое как кодирование Хаффмана, для кодирования/декодирования текущего спектрального коэффициента x, и в связи с этим механизм 44/54 может использовать различные таблицы кодирования с переменной длиной (VLC) для различных оценок 56 распределения вероятностей. В качестве альтернативы механизм 44/54 может использовать арифметическое кодирование/декодирование по отношению к текущему спектральному коэффициенту x с оценкой 56 распределения вероятностей, управляющей разбиением текущего интервала вероятности, представляющего внутреннее состояние механизмов 44/54 арифметического кодирования/декодирования, причем каждому частичному интервалу присваивается различное возможное значение из целевого диапазона значений, который может допускаться текущим спектральным коэффициентом x. Как будет описано более подробно ниже, механизм энтропийного кодирования и механизм 44 и 54 энтропийного декодирования могут использовать механизм выхода для того, чтобы отобразить полный диапазон значений спектрального коэффициента 14 в ограниченный целочисленный интервал, то есть целевой диапазон, такой как [0…2-1]. Набор целочисленных значений в целевом диапазоне, то есть {0,…,2}, определяет наряду со знаком перехода) {esc} алфавит символов механизма 44/54 арифметического кодирования/декодирования, то есть {0,…,2, esc}. Например, при необходимости механизм 44 энтропийного кодирования подвергает входящий спектральный коэффициент x делению на 2 так часто, сколько потребуется, если понадобится, чтобы ввести спектральный коэффициент x в вышеупомянутый целевой интервал [0…2-1] с кодированием, для каждого деления, символа перехода в потоке 30 данных вслед за арифметическим кодированием остатка деления – или исходное спектральное значение в случае отсутствия необходимости деления – в потоке 30 данных. Механизм 54 энтропийного декодирования будет, в свою очередь, реализовывать механизм перехода следующим образом: он будет декодировать текущий коэффициент x преобразования из потока 30 данных как последовательность из 0, 1 или большего количества символов перехода esc, следующих за знаком отсутствия перехода, то есть как одну из последовательностей {a}, {esc, a}, {esc, esc, a}, …, с обозначением символа отсутствия перехода. Механизм 54 энтропийного декодирования будет путем арифметического декодирования символа отсутствия перехода получать значение а в пределах целевого интервала [0…2-1], например, и будет получать значение коэффициента x путем вычисления значения текущего спектрального коэффициента, которое будет равно в +2 раз больше числа символов перехода.
Существуют различные возможности по отношению к использованию оценки 56 распределения вероятностей и применения ее в последовательности символов, используемой для представления текущего спектрального коэффициента x: оценку распределения вероятностей можно применить, например, в любом символе, передаваемом в пределах потока 30 данных для спектрального коэффициента x, то есть символ отсутствия перехода, а также любой символ перехода в случае, если это необходимо. В качестве альтернативы оценка 56 распределения вероятностей используется только для первого, или первых двух или первых n<N из последовательности 0 или более символов перехода, за которыми следует символ отсутствия перехода с использованием, например, некоторой оценки распределения вероятностей по умолчанию для любого последующего одного из последовательности символов, такого как равновероятностное распределение.
На фиг.5 показан примерный спектр 20 из спектрограммы 12. В частности, величина спектральных коэффициентов графически изображена на фиг.5 в относительных единицах вдоль оси y, тогда как горизонтальная ось x соответствует частоте в относительных единицах. Как уже отмечалось, спектр 20 на фиг.5 соответствует спектральному срезу выше спектрограммы аудиосигнала в определенный момент времени, где спектрограмма 12 состоит из последовательности таких спектров 20. Фиг.5 также иллюстрирует спектральное положение текущего спектрального коэффициента x.
Как будет описано более подробно ниже, хотя спектр 20 может быть невзвешенным спектром аудиосигнала в соответствии с вариантами осуществления, изложенными дополнительно ниже, например, спектр 20 уже перцептивно взвешивается с использованием передаточной функции, которая соответствует обратному действию функции перцептивного синтезирующего фильтра. Однако настоящая заявка не ограничивается конкретным случаем, изложенным дополнительно ниже.
На фиг.5 показан спектр 20 с некоторой периодичностью по оси частот, которая показана в виде более или менее эквидистантного размещения локальных максимумов и минимумов в спектре вдоль направления частот. Только для цели иллюстрации на фиг.5 показана мера 60 тона или периодичности аудиосигнала, которая определяется спектральным расстоянием между локальными максимумами спектра, между которыми располагается текущий спектральный коэффициент x. Естественно, меру 60 можно установить или определить иным образом в качестве средней тона между локальными максимумами и/или локальными минимумами или частотным расстоянием, эквивалентным максимуму задержки времени, измеренному в автокорреляционной функции сигнала 18 временной области.
В соответствии с вариантом осуществления мера 60 является, или содержится в, информацией о форме спектра. Кодер 10 и декодер 40 или, чтобы быть более точным, модуль 42/52 получения оценки распределения вероятностей может, например, регулировать относительное спектральное расстояние между предыдущим спектральным коэффициентом o и текущим спектральным коэффициентом x в зависимости от этой меры 60. Например, относительное спектральное расстояние 28 может варьироваться в зависимости от меры 60 таким образом, что расстояние 28 увеличивается при увеличении меры 60. Например, было бы предпочтительно установить расстояние 28 равным мере 60, или чтобы оно было его целым кратным.
Как будет описано ниже более подробно, существуют различные возможности относительно того, как информация о форме спектра 12 становится доступной декодеру. В общем, эту информацию, такую как мера 60, можно передать в декодер явным образом только с помощью кодера 10 или модуля 42 получения оценки распределения вероятностей, который фактически определяет информацию о форме спектра, или определение информации о форме спектра выполняется параллельно на сторонах кодера и декодера на основании предварительно декодированного участка спектра или может быть получено из другой информации, уже считанной в битовом потоке.
Используя другую терминологию, мера 60 может также интерпретироваться как "мера межгармонического расстояния", так как вышеупомянутые локальные максимумы или горбы в спектре могут образовывать гармоники друг с другом.
На фиг.6 представлен другой пример информации о форме спектра, на основе которой можно регулировать спектральное расстояние 28 – исключительно или наряду с другой мерой, такой, как мера 60, как описано выше. В частности, фиг.6 иллюстрирует примерный случай, где спектр 12, представленный спектральными коэффициентами, кодированными/декодированными кодером 10 и декодером 40, спектральный срез которого показан на фиг.6, взвешивается с использованием инверсии функции перцептивно взвешенного синтезирующего фильтра. Таким образом, исходный спектр и окончательно восстановленный спектр аудиосигнала показаны на фиг.6 поз.62. Предыскаженная версия обозначена поз.64 и показана пунктирной линией. Линейное предсказание, оцененное спектральной огибающей предыскаженной версии 64, показано штрихпунктирной линией 66, и его перцептивно модифицированная версия, то есть передаточная функция перцептивно обусловленного синтезирующего фильтра показана на фиг.6 поз.68 штрихпунктирной с двумя точками линией. Спектр 12 может представлять собой результат фильтрации предыскаженной версии первоначального спектра аудиосигнала 62 с инверсией функции 68 перцептивно взвешенного синтезирующего фильтра. В любом случае кодер и декодер могут иметь доступ к спектральной огибающей 66, которая, в свою очередь, может иметь более или менее выраженные форманты 70 или впадины 72. В соответствии с альтернативным вариантом осуществления настоящей заявки информация относительно формы спектра определяется, по меньшей мере, частично на основании относительных местоположений этих формант 70 и/или впадин 72 спектральной огибающей 66 спектра 12. Например, спектральное расстояние 74 между формантами 70 можно использовать для установки вышеупомянутого относительного спектрального расстояния 28 между текущим спектральным коэффициентом x и предыдущим спектральным коэффициентом o. Например, расстояние 28 можно предпочтительно установить равным или целочисленно кратным расстоянию 74, при этом, однако, возможны также и другие альтернативные варианты.
Вместо огибающей на основе LP, как иллюстрировано на фиг.6, спектральную огибающую можно также определить различным образом. Например, огибающую можно определить и передать в потоке данных посредством коэффициентов масштабирования. Можно также использовать и другие способы передачи огибающей.
Из-за регулировки расстояния 28 способом, представленным выше со ссылкой на фиг.5 и 6, значение "контрольного" спектрального коэффициента o представляет собой по существу лучшую подсказку для оценки распределения вероятностей для текущего спектрального коэффициента x по сравнению с другими спектральными коэффициентами, которые находятся, например, спектрально ближе к текущему спектральному коэффициенту x. В связи с этим следует отметить, что моделирование контекста является в большинстве случаев компромиссом между сложностью энтропийного кодирования с одной стороны и эффективностью кодирования с другой стороны. Таким образом, в вариантах осуществления, описанных до сих пор, предложена адаптация относительного спектрального расстояния 28 в зависимости от информации о форме спектра таким образом, что, например, расстояние 28 увеличивается при увеличении меры 60 и/или при увеличении межформантного расстояния 74. Однако число предыдущих коэффициентов o, на основе которых выполняется контекстная адаптация энтропийного кодирования/декодирования, может быть постоянным, то есть не может увеличиваться. Число предыдущих спектральных коэффициентов o, на основе которых выполняется контекстная адаптация, может, например, быть постоянным независимо от изменения информации относительно формы спектра. Это означает, что адаптация относительного спектрального расстояния 28 способом, представленным выше, ведет к более лучшему или более эффективному энтропийному кодированию/декодированию без значительного увеличения затрат на выполнение моделирования контекста. Только адаптация непосредственно спектрального расстояния 28 увеличивает затраты на моделирование контекста.
Для того чтобы более подробно проиллюстрировать только что упомянутую проблему, ссылка сделана на фиг.7, на которой показан спектровременной участок спектрограммы 12, причем спектровременной участок включает в себя текущий спектральный коэффициент 14, подлежащий кодированию/декодированию. Кроме того, фиг.7 иллюстрирует шаблон показанных в качестве примера пяти предварительно кодированных/декодированных спектральных коэффициентов o, на основе которых выполняется моделирование контекста для энтропийного кодирования/декодирования текущего спектрального коэффициента x. Шаблон располагается в местоположении текущего спектрального коэффициента x и показывает соседние контрольные спектральные коэффициенты o. Спектральный разброс положений по спектру этих контрольных спектральных коэффициентов o адаптируется в зависимости от вышеупомянутой информации о форме спектра. Это проиллюстрировано на фиг.7 с помощью двусторонней стрелки 80 и заштрихованных маленьких кружков, которые в качестве примера иллюстрируют положения контрольных спектральных коэффициентов в случае, например, масштабирования спектрального разброса спектральных положений контрольных спектральных коэффициентов в зависимости от адаптации 80. То есть на фиг.7 показано, что число контрольных спектральных коэффициентов, вносящих свой вклад в моделирование контекста, то есть число контрольных спектральных коэффициентов шаблона, окружающего текущий спектральный коэффициент x и идентифицирующего контрольные спектральные коэффициенты o, поддерживается постоянным, независимо от любого изменения информации о форме спектра. Между этими контрольными спектральными коэффициентами и текущим спектральным коэффициентом адаптируется согласно поз.80 только относительное спектральное расстояние и по существу расстояние между самими контрольными спектральными коэффициентами. Однако следует отметить, что число контрольных спектральных коэффициентов o не обязательно поддерживается постоянным. В соответствии с вариантом осуществления число контрольных спектральных коэффициентов может увеличиваться при увеличении относительного спектрального расстояния. Однако возможна и обратная ситуация.
Следует отметить, что на фиг.7 показан примерный случай, где моделирование контекста для текущего спектрального коэффициента x также включает в себя предварительно кодированные/декодированные спектральные коэффициенты, соответствующие более раннему спектру/временному кадру. Однако этот случай следует также рассматривать только в качестве примера, и можно пренебречь зависимостью от таких предшествующих по времени предварительно кодированных/декодированных спектральных коэффициентов в соответствии с дополнительным вариантом осуществления. Фиг.8 иллюстрирует, как модуль 42/52 получения оценки распределения вероятностей может, на основе одного или более контрольных спектральных коэффициентов o, определить оценку распределения вероятностей для текущего спектрального коэффициента. Как показано на фиг.8, с этой целью один или более контрольных спектральных коэффициентов o можно подвергнуть действию скалярной функции 82. На основе скалярной функции, например, один или более контрольных спектральных коэффициентов o отображаются в индекс, индексирующий оценку распределения вероятностей, которая будет использоваться для текущего спектрального коэффициента x из набора имеющихся оценок распределения вероятностей. Как уже упомянуто выше, имеющиеся оценки распределения вероятностей могут, например, соответствовать различным разбиениям интервала вероятностей для алфавита символов в случае арифметического кодирования или различным таблицам кодирования переменной длительности в случае использования кодирования переменной длительности.
Прежде чем продолжить описание возможного объединения вышеописанных кодеров/декодеров спектральных коэффициентов в соответствующие кодеры/декодеры на основе преобразования, ниже будет обсуждено несколько возможностей относительно того, как могут видоизменяться варианты осуществления, описанные до сих пор. Например, механизм перехода, кратко описанный выше по отношению к фиг.3, и фиг.4, был выбран только в целях иллюстрации и может быть опущен в соответствии с альтернативным вариантом осуществления. В варианте осуществления, описанном ниже, используется механизм перехода. Более того, как станет ясно из описания более конкретных вариантов осуществления, описанных ниже, вместо того, чтобы кодировать/декодировать спектральные коэффициенты по отдельности, их можно кодировать/декодировать в блоках из кортежей из n элементов, то есть в блоках из n непосредственно прилегающих по спектру спектральных коэффициентов. В этом случае определение относительного спектрального расстояния можно также выполнить в блоках из таких кортежей из n элементов или в блоках из отдельных спектральных коэффициентов. Что касается скалярной функции 82, показанной на фиг.8, то следует отметить, что скалярная функция может представлять собой арифметическую функцию или логическую операцию. Более того, можно предпринять специальные меры для этих контрольных скалярных коэффициентов o, которые, например, являются недоступными, например, из-за превышения частотного диапазона спектра или, например, расположения на участке спектра, дискретизированного спектральными коэффициентами со спектровременным разрешением, отличным от спектровременного разрешения, при котором спектр дискретизируется в момент времени, соответствующий текущему спектральному коэффициенту. Значения недоступных контрольных спектральных значений o можно заменить на значения по умолчанию, например, и затем ввести их в скалярную функцию 82 вместе с другими (имеющимися) контрольными спектральными коэффициентами. Другой способ, касающийся того, как энтропийное кодирование/декодирование может работать при использовании адаптации спектрального расстояния, описанного выше, заключается в следующем: например, текущий спектральный коэффициент может подвергаться бинаризации. Например, спектральный коэффициент x можно отобразить в последовательность элементов дискретизации, которые затем подвергаются энтропийному кодированию с использованием адаптации относительного спектрального расстояния. При декодировании элементы дискретизации будут последовательно подвергаться энтропийному декодированию до тех пор, пока не встретится правильная последовательность элементов дискретизации, которую можно затем повторно отобразить в соответствующие значения текущего спектрального коэффициента x.
Дополнительно, адаптацию контекста в зависимости от одного или более предыдущих спектральных коэффициентов o можно реализовать способом, который отличается от способа, изображенного на фиг.8. В частности, скалярную функцию 82 можно использовать для индексации одного из набора доступных контекстов, и каждый контекст может иметь связанную с ними оценку распределения вероятностей. В этом случае оценку распределения вероятностей, связанную с определенным контекстом, можно адаптировать к фактической статистике спектральных коэффициентов каждый раз, когда кодированный/декодированный в данный момент времени спектральный коэффициент x, назначается соответствующему контексту, а именно, используя значение этого текущего спектрального коэффициента x.
Наконец, на фиг.9a и 9b показаны различные возможности относительно того, как получение информации относительно формы спектра можно синхронизировать между кодером и декодером. На фиг.9a показана возможность, согласно которой неявная сигнализация используется для того, чтобы синхронизировать получение информации относительно формы спектра между кодером и декодером. В данном случае на обеих сторонах кодирования и декодирования получение информации выполняется на основании предварительно кодированного участка или предварительно декодированного участка битового потока 30 соответственно, причем получение на стороне кодирования показано с помощью ссылочной позиции 83, а получение на стороне декодирования показано с помощью ссылочной позиции 84. Обе операции получения можно выполнить непосредственно с помощью модулей 42 и 52 получения.
Фиг.9b иллюстрирует возможность, согласно которой явная сигнализация используется для того, чтобы передать информацию относительно формы спектра из кодера в декодер. Получение 83 на стороне кодирования может даже включать в себя анализ первоначального аудиосигнала, включающего в себя его компоненты, которые, из-за потерь при кодировании, не доступны на стороне декодирования. Наоборот, явная сигнализация в пределах потока 30 данных используется для представления информации относительно формы спектра, доступной на стороне декодирования. Другими словами, получение 84 на стороне декодирования использует явную сигнализацию в пределах потока 30 данных для того, чтобы получить доступ к информации относительно формы спектра. Явная сигнализация 30 может включать в себя дифференциальное кодирование. Как будет описано более подробно ниже, например, параметр запаздывания долгосрочного предсказания (LTP), уже имеющийся в потоке 30 данных для других целей, можно использовать в качестве информации относительно формы спектра. Однако в качестве альтернативы явная сигнализация (фиг.9b) позволяет дифференциально кодировать меру 60 по отношению к, то есть дифференциально к, уже имеющемуся параметру запаздывания LTP. Существует много других возможностей для представления информации относительно формы спектра, имеющейся на стороне декодирования.
В дополнение к альтернативным вариантам осуществления, изложенным выше, следует отметить, что кодирование/декодирование спектральных коэффициентов может, в дополнение к энтропийному кодированию/декодированию, включать в себя спектральное и/или временное предсказание спектрального коэффициента, подлежащего кодированию/декодированию в данный момент времени. Остаток предсказания можно затем подвергнуть энтропийному кодированию/декодированию, как описано выше.
После описания различных вариантов осуществления для кодера и декодера спектральных коэффициентов ниже будут описаны некоторые варианты осуществления относительно того, как их можно преимущественно встроить в кодер/декодер на основе преобразования.
Например, на фиг.10a показан аудиокодер на основе преобразования в соответствии с вариантом осуществления настоящей заявки. Аудиокодер на основе преобразования (фиг.10a) показан, в общем, с помощью ссылочной позиции 100, и содержит вычислитель 102 спектра, за которым следует кодер 10 спектральных коэффициентов (фиг.1). Вычислитель 102 спектра принимает аудиосигнал 18 и на основе этого аудиосигнала вычисляет спектр 12, спектральные коэффициенты которого кодируются кодером 10 спектральных коэффициентов, как описано выше, в виде потока 30 данных. На фиг.10b показана структура соответствующего декодера 104: декодер 104 содержит каскадное соединение декодера 40 спектральных коэффициентов, образованного так, как показано выше, и в случае фиг.10a и 10b вычислитель 102 спектра может, например, выполнять только преобразование с перекрытием в отношении спектра 20 в вычислителе 106 временной области, выполняя соответственно только его инверсию. Кодер 10 спектральных коэффициентов можно выполнить с возможностью кодирования без потерь входного спектра 20. По сравнению с ним, вычислитель 102 спектра может вносить потери при кодировании из-за квантования.
Для того чтобы спектрально сформировать шум квантования, вычислитель 102 спектра можно реализовать в виде, показанном на фиг.11a. В данном случае спектр 12 формируется спектрально с использованием коэффициентов масштабирования. В частности, согласно фиг.11a вычислитель 102 спектра содержит каскадное соединение преобразователя 108 и формирователя 110 спектра, среди которых преобразователь 108 подвергает входной аудиосигнал 18 преобразованию на основе спектрального разложения для того, чтобы получить несформированный спектр 112 аудиосигнала 18, причем формирователь 110 спектра формирует спектрально этот несформированный спектр 112 с использованием коэффициентов 114 масштабирования, полученных из определителя 116 коэффициентов масштабирования вычислителя 102 спектра для того, чтобы получить спектр 12, который окончательно кодируется с помощью кодера 10 спектральных коэффициентов. Например, формирователь 110 спектра получает один коэффициент 114 масштабирования в диапазоне коэффициентов масштабирования из определителя 116 коэффициентов масштабирования и делит каждый спектральный коэффициент из соответствующего диапазона коэффициентов масштабирования на коэффициент масштабирования, связанный с соответствующим диапазоном коэффициентов масштабирования для того, чтобы принять спектр 12. Определитель 116 коэффициентов масштабирования можно привести в действие с помощью перцептивной модели для того, чтобы определить коэффициенты масштабирования на основе аудиосигнала 18. В качестве альтернативы определитель 116 коэффициентов масштабирования может определить коэффициенты масштабирования на основании анализа линейного предсказания, так что коэффициенты масштабирования представляют собой передаточную функцию в зависимости от синтезирующего фильтра линейного предсказания, определенного с помощью информации о коэффициентах линейного предсказания. Информация 118 о коэффициентах линейного предсказания кодируется в потоке 30 данных наряду со спектральными коэффициентами спектра 20 кодером 10. Для полноты картины на фиг.11a показан квантователь 120, расположенный ниже по ходу формирователя 110 спектра для того, чтобы получить спектр 12 с квантованными спектральными коэффициентами, которые затем кодируются без потерь кодером 10 спектральных коэффициентов.
На фиг.11b показан декодер, соответствующий кодеру, показанному на фиг.10a. В данном случае спектр в вычислителе 106 временной области содержит определитель 122 коэффициентов масштабирования, который восстанавливает коэффициенты 114 масштабирования на основе информации 118 о коэффициентах линейного предсказания, которые содержатся в потоке 30 данных, так что коэффициенты масштабирования представляют собой передаточную функцию, зависящую от синтезирующего фильтра линейного предсказания, определенного с помощью информации 118 о коэффициентах линейного предсказания. Формирователь спектра формирует спектрально спектр 12, который декодируется декодером 40 из потока 30 данных согласно коэффициентам 114 масштабирования, то есть формирователь 124 спектра масштабирует коэффициенты масштабирования в пределах каждого спектрального диапазона с использованием коэффициента масштабирования соответствующего диапазона коэффициентов масштабирования. Таким образом, на выходе формирователя 124 спектра восстанавливается, в результате, несформированный спектр 112 аудиосигнала 18, и, как это иллюстрировано на фиг.11b пунктирными линиями, применение обратного преобразования к спектру 112 посредством модуля 126 обратного преобразования для того, чтобы восстановить аудиосигнал 18 во временной области, не является обязательным.
-1
На фиг.12a показан более подробный вариант осуществления аудиокодера на основе преобразования (фиг.11a) в случае использования формирования спектра на основе линейного предсказания. В дополнение к компонентам, показанным на фиг.11a, кодер (фиг.12a) содержит фильтр 128 предыскажений, выполненный с возможностью изначально подвергать входной аудиосигнал 18 фильтрации предыскажений. Фильтр 128 предыскажений можно, например, реализовать в виде фильтра с ограниченной частотной характеристикой (FIR-фильтра). Передаточная функция фильтра 128 предыскажений может, например, представлять собой передаточную функцию фильтра верхних частот. В соответствии с вариантом осуществления фильтр 128 предыскажений реализован в виде фильтра верхних частот n-го порядка, такого как, например, фильтр верхних частот первого порядка, имеющий передаточную функцию H(z)=1–αz, где α устанавливается, например, на 0,68. Соответственно, на выходе фильтра 128 предыскажений получается в результате предыскаженная версия 130 аудиосигнала 18. Дополнительно, на фиг.12a показан определитель 116 коэффициентов масштабирования, который состоит из анализатора 132 (линейного предсказания) (LP) и преобразователя 134 коэффициентов масштабирования в коэффициенты линейного предсказания. Анализатор 132 LPC обрабатывает информацию 118 о коэффициентах линейного предсказания на основе предыскаженной версии аудиосигнала 18. Таким образом, коэффициенты линейного предсказания информации 118 представляют собой спектральную огибающую на основе линейного предсказания аудиосигнала 18 или, чтобы быть более точным, ее предыскаженную версию 130. Режим работы анализатора 132 LP может, например, включать в себя обработку с помощью окна входного сигнала 130 для получения последовательности обработанных с помощью окна участков сигнала 130, подлежащего LP-анализу, определение автокорреляции для определения автокорреляции каждого обработанного с помощью окна участка и обработку с помощью окна с запаздыванием, которая является необязательной, для применения функции окна с запаздыванием к автокорреляциям. Затем можно произвести оценку параметра линейного предсказания к автокорреляциям или к выходу окна с запаздыванием, то есть к обработанным с помощью окна автокорреляционным функциям. Оценка параметра линейного предсказания может включать в себя, например, выполнение алгоритма Винера-Левинсона-Дербина или другого подходящего алгоритма в отношении (обработанных с помощью окна с запаздыванием) автокорреляций для того, чтобы получить коэффициенты линейного предсказания на одну автокорреляцию, то есть на обработанный с помощью окна участок сигнала 130. То есть на выходе анализатора 132 LP получаются коэффициенты 118 LPC. Анализатор 132 LP может быть выполнен с возможностью квантования коэффициентов линейного предсказания для вставки в поток 30 данных. Квантование коэффициентов линейного предсказания можно выполнить в другой области, чем область коэффициентов линейного предсказания, такой, например, как в линейной спектральной паре или линейной спектральной частотной области. Однако помимо алгоритма Винера-Левинсона-Дарбина могут использоваться и другие похожие алгоритмы.
Преобразователь 134 коэффициентов масштабирования в коэффициенты линейного предсказания преобразует коэффициенты линейного предсказания в коэффициенты 114 масштабирования. Преобразователь 134 может определить коэффициенты 140 масштабирования так, чтобы соответствовать инверсии синтезирующего фильтра 1/А(z) линейного предсказания, как это определяется с помощью информации 118 о коэффициентах линейного предсказания. В качестве альтернативы преобразователь 134 определяет коэффициент масштабирования так, чтобы следовать перцептивно обусловленной модификации этого синтезирующего фильтра линейного предсказания такого, например, как 1/A(γ⋅z), где γ=0,92±10%, например. Перцептивно обусловленная модификация синтезирующего фильтра линейного предсказания, то есть 1/A(γ⋅z), может называться "перцептивной моделью".
В целях иллюстрации на фиг.12a показан другой элемент, который, однако, является необязательным для варианта осуществления, показанного на фиг.12a. Этот элемент представляет собой фильтр 136 долгосрочного предсказания (LTP-фильтр), расположенный выше по ходу относительно преобразователя 108 так, чтобы подвергать аудиосигнал операции долгосрочного предсказания. Предпочтительно, анализатор 132 LP работает, используя версию фильтра недолгосрочного предсказания. Другими словами, LTP-фильтр 136 выполняет предсказание LTP в отношении аудиосигнала 18 или его предыскаженной версии 130 и выводит остаточную версию 138 LTP так, чтобы преобразователь 108 выполнял преобразование в отношении предыскаженного и остаточного сигнала 138 с предсказанием LTP. LTP-фильтр можно реализовать, например, в виде FIR-фильтра, и управление LTP-фильтра 136 можно осуществлять с помощью параметров LTP, включая, например, усиление предсказания LTP и задержку LTP. Оба параметра 140 LTP кодируются в потоке 30 данных. Усиление LTP представляет собой, как будет описано более подробно ниже, пример для меры 60, которая показывает тон или периодичность, которые будут без LTP-фильтрации полностью проявлять себя в спектре 12, и при использовании LTP-фильтрации имеет место в спектре 12 при постепенно уменьшающейся интенсивности со степенью уменьшения, зависящей от параметра усиления LTP, который управляет интенсивностью LTP-фильтрации с помощью LTP-фильтра 136.
Для полноты картины на фиг.12b показан декодер, соответствующий кодеру (фиг.12a). В дополнение к компонентам (фиг.11b) и тому факту, что определитель 122 коэффициентов масштабирования реализован в виде преобразователя 142 LPC в коэффициент масштабирования, декодер (фиг.12b) содержит ниже по ходу модуль 126 обратного преобразования и каскад 144 перекрытия-добавления, подвергающий выходной сигнал обратному преобразованию с помощью модуля 126 обратного преобразования для процесса перекрытия и добавления, тем самым получая восстановление предыскаженной и LTP-фильтрованной версии 138, которая затем подвергается LTP-постфильтрации, где LTP-постфильтр 146, передаточная функция которого соответствует инверсии передаточной функции LTP-фильтра 136. LTP-постфильтр 146 можно реализовать, например, в виде фильтра с бесконечной импульсной характеристикой (IIR-фильтра). В качестве примера на фиг.12b показан декодер, расположенный последовательно и ниже по ходу LTP-постфильтра 146, (фиг.12b) содержит фильтр 148 предыскажений, который выполняет фильтрацию предыскажений в отношении сигнала во временной области, использующего передаточную функцию, соответствующую инверсии передаточной функции фильтра 128 предыскажений. Фильтр 148 предыскажений может быть также выполнен в виде IIR-фильтра. На выходе фильтра 148 предыскажений получается аудиосигнал 18.
Другими словами, описанные выше варианты осуществления обеспечивают возможность кодирования тональных сигналов и частотной области путем адаптации структуры контекста энтропийного кодера, такого как контекст арифметического кодера, к форме спектров сигналов, таких как периодичность сигнала. Варианты осуществления, описанные выше, откровенно говоря, расширяют контекст за пределы понятия окрестности и предлагают адаптивную структуру контекста на основе формы спектра аудиосигналов, например, на основе информации о тоне. Такая информация о тоне может быть дополнительно передана в декодер или может быть уже доступной из других модулей кодирования, таких как модуль усиления LTP, упомянутый выше. Затем контекст отображается для того, чтобы указать уже кодированные коэффициенты, которые относятся к текущему коэффициенту для кодирования с помощью расстояния, кратного или пропорционального основной частоте входного сигнала.
Следует отметить, что концепцию LTP-пред/постфильтра, используемую согласно фиг.12a и 12b, можно заменить на концепцию гармонического постфильтра, согласно которой, управление гармоническим постфильтром в декодере осуществляется посредством параметров LTP, включая тон (или запаздывание тона), отправленную из кодера в декодер через поток 30 данных. Параметры LTP можно использовать в качестве ссылки для дифференциальной передачи вышеупомянутой информации относительно формы спектра в декодер, используя явную сигнализацию.
Посредством варианта осуществления, описанного выше, предсказание для тональных сигналов можно опустить, например, тем самым избегая внесения нежелательных межкадровых зависимостей. С другой стороны, вышеупомянутую концепцию кодирования/декодирования спектральных коэффициентов можно также объединить с любой технологией предсказания, так как остатки предсказания все еще показывают некоторые гармонические структуры.
Иными словами, описанные выше варианты осуществления иллюстрированы снова по отношению к следующим фигурам, среди которых на фиг.13 показана общая блок-схема процесса кодирования с использованием концепции адаптации спектрального расстояния, описанной выше. Для того чтобы облегчить соответствие между следующим описанием и описанием, представленным до сих пор, снова частично используются ссылочные позиции.
Входной сигнал 18 сначала передается для формирования/предсказания шума в модуль 200 временной области (TD). Модуль 200 охватывает, например, один или оба элемента 128 и 136 (фиг.12a). Этот модуль 200 можно обойти или он может выполнить краткосрочное предсказание с использованием LPC-кодирования, и/или, как иллюстрировано на фиг.12a, долгосрочное предсказание. Можно предусмотреть каждый вид предсказания. Если одна из обработок во временной области использует и передает информацию о тоне, как это было вкратце описано выше посредством параметра запаздывания LTP, выводимого LTP-фильтром 136, такую информацию можно затем передать в модуль арифметического кодера на основе контекста для отображения контекста, основанного на тоне.
Затем, остаточный и сформированный сигнал 202 во временной области преобразуется преобразователем 108 в частотную область с помощью преобразования времени в частоту. Можно также использовать дискретное преобразование Фурье DFT или модифицированное дискретно косинусное преобразование MDCT. Можно адаптировать также длину преобразования, и для низкой задержки будут использоваться области с низким перекрытием с окнами предыдущего и следующего преобразования (смотри поз.24). В остальной части документа в качестве иллюстративного примера будет использоваться MDCT.
Преобразованный сигнал 112 формируется затем в частотной области модулем 204, который, таким образом, реализован, например, с использованием определителя 116 коэффициентов масштабирования и формирователя 110 спектра. Это можно сделать с помощью частотного отклика коэффициентов LPC и с помощью коэффициентов масштабирования, приводимых в действие психоакустической моделью. Можно также применить формирование шума во временной области (TNS) или предсказание в частотной области, используя и передавая информацию о тоне. В таком случае информацию о тоне можно передать в модуль арифметического кодера на основе контекста с учетом отображения контекста на основе тона. Последний вариант можно также применить к вышеупомянутым вариантам осуществления фиг.10a-12b, соответственно.
Выходные спектральные коэффициенты затем квантуются с помощью каскада 120 квантования перед кодированием с пониженным уровнем шума энтропийным кодером 10 на основе контекста. Как описано выше, этот последний модуль 10 использует, например, оценку тона входного сигнала в качестве информации относительно спектра аудиосигнала. Такая информация может быть унаследована от одного из модулей 200 или 204 формирования/предсказания шума, которые были выполнены заранее, либо во временной области, либо в частотной области. Если информация недоступна, можно выполнить оценку выделенного тона на входном сигнале, например, с помощью модуля 206 оценки тона, который затем отправляет информацию о тоне в битовый поток 30.
На фиг.14 показана общая блок-схема процесса декодирования, соответствующего фиг.13. Этот процесс состоит из обратной обработки, описанной на фиг.13. Информация о тоне, которая используется в случаях, показанных на фиг.13 и 14 в качестве примера информации о форме спектра, сначала декодируется и передается в арифметический декодер 40. В случае необходимости информация дополнительно передается в другие модули, требующие эту информацию.
В частности, в дополнение к декодеру 208 информации о тоне, который декодирует информацию о тоне из потока 30 данных и, таким образом, отвечает за процесс 84 получения (фиг.9b), декодер (фиг.14) содержит после декодера 40 на основе контекста и в порядке их упоминания, деквантователь 210, модуль 212 формирования/предсказания шума в частотной области (FD), модуль 214 обратного преобразования и модуль 216 обратного формирования/предсказания шума во временной области TD, каждый из которых последовательно соединен друг с другом для того, чтобы восстановить из спектра 12, спектральные коэффициенты которого декодируются декодером 40 из битового потока 30, аудиосигнал 18 во временной области. При отображении элементов (фиг.14), в элементы, показанные, например, на фиг.12b, блок 214 обратного преобразования охватывает блок 126 обратного преобразования и каскад 144 перекрытия-добавления (фиг.12b). Дополнительно, фиг.14 иллюстрирует, что деквантование можно применить в отношении декодированных спектральных коэффициентов на выходе декодера 40, используя, например, единичную функцию квантования, одинаковую для всех спектральных линий. Дополнительно, фиг.14 иллюстрирует, что модуль 212, такой как модуль временного формирования шума (TNS), может быть расположен между формирователями 124 и 126 спектра. Обратное формирование/предсказание шума в модуле 216 временной области охватывает элементы 146 и/или 148 (фиг.12b).
Для того чтобы снова обусловить преимущества, обеспеченные вариантами осуществления настоящей заявки, на фиг.15 показан традиционный контекст для энтропийного кодирования спектральных коэффициентов. Контекст охватывает предельную зону прошлой окрестности настоящих коэффициентов для кодирования. То есть на фиг.15 показан пример энтропийного кодирования спектральных коэффициентов с использованием адаптации контекста так, как это используется, например, в MPEG USAC. Таким образом, фиг.15 иллюстрирует спектральные коэффициенты способом, аналогичным фиг.1 и 2, однако с группированием соседних по спектру спектральных коэффициентов или разбиением их на кластеры, которые называются кортежами из n элементов спектральных коэффициентов. Для того чтобы отличить такие кортежи из n элементов от отдельных спектральных коэффициентов, тем не менее сохраняя согласованность с описанием, представленным выше, эти кортежи из n элементов показаны с помощью ссылочной позиции 14'. Фиг.15 устанавливает различие между уже кодированными/декодированными кортежами из n элементов, с одной стороны, и еще некодированными/декодированными кортежами из n элементов с другой стороны, путем изображения формы одних с использованием прямоугольных контуров и других с использованием круговых контуров. Дополнительно, кортеж 14' из n элементов, подлежащий декодированию/кодированию в данный момент времени, изображен с использованием штриховки и кругового контура, тогда как уже кодированные/декодированные кортежи 14' из n элементов, локализованные с помощью фиксированного соседнего шаблона, расположенного в кортеже из n элементов, подлежащем кодированию в данный момент времени, также показаны штриховкой, однако при наличии прямоугольного контура. Таким образом, в соответствии с примером, показанным на фиг.15, соседний шаблон контекста, определенный как шесть кортежей 14' из n элементов в окрестности кортежа из n элементов, подлежащего обработке в данный момент времени, а именно, кортежа из n элементов в тот же самый момент времени, но непосредственно на соседней нижней спектральной(ых) линии(ях) c0, а именно, один на одинаковую(ые) линию(ии), но непосредственно в предыдущий момент времени, а именно c1, кортеж из n элементов на непосредственно соседней более высокой спектральной линии в непосредственно предыдущий момент времени, а именно, c2 и т.д. То есть шаблон контекста, используемый в соответствии с фиг.15, идентифицирует контрольные кортежи 14' из n элементов на фиксированных относительных расстояниях от кортежа из n элементов, подлежащего обработке в данный момент времени, а именно, непосредственно соседние элементы. В соответствии с фиг.15, спектральные коэффициенты рассмотрены в качестве примеров в блоках из n, так называемых, кортежах из n элементов. Объединение n последовательных значений позволяет использовать зависимости между коэффициентами. Более высокий размер экспоненциально увеличивает размер алфавита кортежей из n элементов для кодирования и, следовательно, размер кодовой книги. Величина n=2 используется в качестве примера в оставшейся части описания и представляет собой компромисс между выигрышем от кодирования и размером кодовой книги. Например, во всех вариантах осуществления при кодировании знак рассматривается отдельно. Более того, 2 старших значащих бита и остающиеся младшие значащие биты каждого коэффициента можно также рассматривать по отдельности. Адаптацию контекста можно применить, например, только к 2 старшим значащим битам (MSB) беззнаковых спектральных значений. Можно предположить, что знак и младший значащий бит распределены равномерным образом. Наряду с 16 комбинациями MSB 2-элемента символ перехода (ESC) добавлен в алфавит для того, чтобы показать, что декодер должен предполагать один дополнительный LSB. Многочисленные символы ESC, также как дополнительные LSB, передаются. Всего, 17 символов образуют алфавит кода. Настоящее изобретение не ограничивается вышеописанным способом генерирования символов.
Перенос последних специфических подробностей на описание фиг.3 и 4 означает следующее: алфавит символов механизма 44 и 54 энтропийного кодирования/декодирования может охватывать значения {0, 1, 2, 3} плюс символ перехода, и входной спектральный коэффициент, подлежащий кодированию, делится на 4, если он превышает 3 требуемое число раз для того, чтобы он был меньше 4 при кодировании символа перехода на одно деление. Таким образом, 0 или более символов перехода, за которыми следует символ отсутствия перехода, кодируется для каждого спектрального коэффициента, только с помощью первых двух из этих символов, например, кодируются с использованием контекста-адаптивности, как было описано выше в настоящем документе. Перенося эту идею на кортеж из 2 элементов, т.е. на пары непосредственно соседних по спектру коэффициентов, алфавит символов может содержать 16 пар значений для этого 2-элемента, а именно, {(0, 0), (0, 1), (1, 0), …, (1, 1)}, и символ перехода esc (где esc – сокращение для символа перехода), то есть в общем 17 символов. Каждый кортеж из n элементов входного спектрального коэффициента, содержащий, по меньшей мере, один коэффициент, превышающий 3, подвергается операции деления на 4, применяемый к каждому коэффициенту соответствующего кортежа из 2 элементов. На стороне декодирования число символов перехода, равное 4, если таковые имеются, добавляется к значению остатка, полученному из символа отсутствия перехода.
D0
На фиг.16 показана конфигурация отображения отображенного контекста, возникающего в результате модификации концепции, показанной на фиг.15, согласно концепции, описанной выше, согласно которой относительное спектральное расстояние 28 контрольных спектральных коэффициентов адаптируется в зависимости от информации о форме спектра, такой, например, как информация, учитывающая периодичность или тон сигнала. В частности, на фиг.16a-16c показано, что расстояние D, которое соответствует вышеупомянутому относительному спектральному расстоянию 28 в пределах контекста, можно грубо оценить с помощью , заданного следующей формулой:
,
s
N
-
L
где f-частота дискретизации,  размер MDCT, и  - период запаздывания в выборках. В примере, показанном на фиг.16a, контекст указывает на кортежи из n элементов, отдаленных от текущего кортежа из n элементов для кодирования с помощью кратного числа D. Фиг.16b объединяет традиционный контекст с гармонически связанным контекстом. Наконец, на фиг.16 (c) показан пример внутрикадрового отображенного контекста с отсутствием зависимости от предыдущих кадров. То есть фиг.16a иллюстрирует, что в дополнение к возможностям, изложенным выше по отношению к фиг.7, адаптацию относительного спектрального расстояния в зависимости от информации о форме спектра можно применить ко всему фиксированному количеству контрольных спектральных коэффициентов, принадлежащих к шаблону контекста. На фиг.16b показано, что, в соответствии с другим примером, только подмножество этих контрольных спектральных коэффициентов подвергается смещению в соответствии с адаптивностью 80, такой как, например, только спектрально наиболее удаленные контрольные спектральные коэффициенты на низкочастотной стороне шаблона контекста, в данном случае C3 и C5. Остающиеся контрольные спектральные коэффициенты, в данном случае C0-C4, можно расположить в фиксированных положениях относительно спектрального коэффициента, обрабатываемого в данный момент времени, а именно, непосредственно рядом со спектровременными положениями относительно спектрального коэффициента, подлежащего обработке в данный момент времени. Наконец, на фиг.16c показана возможность того, что только предварительно кодированные спектральные коэффициенты используются в качестве контрольных коэффициентов шаблона контекста, которые располагаются в одинаковый момент времени в виде спектрального коэффициента, подлежащего обработке в данный момент времени.
На фиг.17 приведена иллюстрация того, что отображаемый контекст, показанный на фиг.16a-c, может быть более эффективным, чем традиционный контекст согласно фиг.15, который оказывается неспособным предсказывать тон крайне гармонического спектра Х (смотри поз.20).
Далее следует подробное описание возможного механизма отображения контекста и представлены примерные реализации для эффективной оценки и кодирования расстояния D. В иллюстративных целях в дальнейшем используются следующие части внутрикадрового отображенного контекста согласно фиг.16c.
Первый вариант осуществления: кодирование и отображение кортежа из 2 элементов
x[]
N
D0
Сначала производится поиск оптимального расстояния путем уменьшения самого большого числа битов, необходимых для кодирования текущего квантованного спектра  размером . Начальное расстояние можно оценить с помощью функции  с периодом L запаздывания, обнаруженным в предварительно выполненной оценке тона. Диапазон поиска может быть следующим:
D0
В качестве альтернативы диапазон можно изменять с учетом кратности . Расширенный диапазон выглядит следующим образом:
,
M
F
M
D
где  - коэффициент умножения, принадлежащий конечному множеству . Например,  может принимать значения 0,5, 1 и 2 для исследования половинного и двойного тона. Наконец, можно также произвести исчерпывающий поиск . На практике, этот последний подход может быть слишком сложным. На фиг.18 представлен пример алгоритма поиска. Этот алгоритм поиска может быть частью, например, процесса 82 получения или обоих процессов 82 и 84 получения на стороне кодирования и декодирования.
Цене присваивается значение цена, когда не выполняется отображение контекста. Если расстояние не приводит к лучшей цене, отображение не выполняется. Флаг передается в декодер для сигнализации когда выполняется отображение.
Dopt
L
d
Если оптимальное расстояние  найдено, то его необходимо передать. Если было уже передано другим модулем кодера, параметры m и  регулировки, соответствующие вышеупомянутой явной сигнализации (фиг.9b), необходимы для дальнейшей передачи следующим образом
Dopt
D
D
В других случаях необходимо передавать абсолютное значение . Обе альтернативы были обсуждены выше по отношению к фиг.9b. Например, рассматривается MDCT с размером N=256 и fs=12800 Гц, можно охватить частоту тона между 30 Гц и 256 Гц путем ограничения  между 2 и 17. При целочисленном разрешении  можно кодировать с 4 битами, 5 битами для разрешения 0,5 и 6 битами для разрешения 0,25.
x[]
D
D
D
D
x[]
Функцию цены можно вычислить как число битов, необходимых для кодирования с помощью , которое используется для выработки отображения контекста. Эта функция цены является обычно сложной для получения, так как она требует арифметическое кодирование спектра или, по меньшей мере, наличие хорошей оценки необходимого количества битов. Так как эта функция цены может быть сложной для вычисления каждого кандидата , в качестве альтернативы предлагается производить оценку цены непосредственно из получения отображения контекста из значения . При получении отображения контекста можно легко вычислить разность нормы соседнего отображенного контекста. Так как контекст используется в арифметическом кодере для предсказания кортежа из n элементов для кодирования, и так как контекст вычисляется в нашем предпочтительном варианте осуществления на основании нормы L1, сумма разности нормы между соседними отображенными контекстами является хорошим показателем эффективности отображения данного . Первая норма каждого кортежа из 2 элементов  вычисляется следующим образом:
r=2
N/2
Где NORM=1 в предпочтительном варианте осуществления, когда норма L1 рассматривается при вычислении контекста. В этом разделе приводится описание отображения контекста, которое действует с разрешением 2, то есть одно отображение на кортеж из n элементов. Разрешение равно , и таблица отображения контекстов имеет размер . Псевдокод выработки отображения контекста и вычисления функции цены приведены ниже:
После вычисления оптимального расстояния D также выводится таблица перестановок индексов, которая дает положения гармоник, впадины и хвост спектра. Правила отображения контекста выводятся следующим образом:
x[2*i],x[2*i+1])
2l+1
Это означает, что для кортежа из 2 элементов индекса i в спектре (, прошлый контекст будет рассматриваться с кортежами из 2 элементов индексов contextMapping[i-1], contextMapping[i-2]… contextMapping[i-l], где l - размер контекста в условиях кортежа из 2 элементов. Если один или более предыдущих спектров также рассматриваются для контекста, кортежи из 2 элементов для этих спектров, включенные в прошлый контекст, будут иметь в виде индексов contextMapping[i+l],…,contextMapping[i+1],contextMapping[i],contextMapping[i-1], contextMapping[i-l], где  – размер контекста на предыдущий спектр.
lastNz/2-1
lastNz
Таблица IndexPermutation дает также дополнительную интересующую информацию относительно сбора индексов тональных компонентов, которые следуют за индексами нетональных компонентов. Поэтому предполагается, что соответствующие амплитуды уменьшаются. Это можно использовать при обнаружении последнего индекса в IndexPermutaion, который соответствует ненулевому кортежу из 2 элементов. Этот индекс соответствует (), где  вычисляется как:
lastNz/2
N/2
кодируется по ceil(log2()) битам перед спектральными компонентами.
Кодер арифметического псевдокода:
Вход:
спектр x[N]
Вход:
contextMapping[N/2]
Вход:
lastNz
Выход:
кодированный битовый поток
cum_proba
proba_model_lookup
pki
cum_equiprob[]
Таблицы [] представляют собой различные модели накопления, полученные во время автономного обучения большого обучающего набора. В этом специфическом случае она содержит 17 символов. [] представляет собой таблицу поиска, отображающую индекс t контекста в модель  накопленной вероятности. Эта таблица также получается в ходе фазы обучения.  представляет собой таблицу накопленной вероятности для алфавита из 2-х символов, которые являются равновероятными.
Второй вариант осуществления: кортеж из 2 элементов с отображением кортежа из 1 элемента
В этом втором варианте осуществления спектральные компоненты по-прежнему кодируются в виде кортежи из 2 элементов на кортежи из 2 элементов, но contextMapping имеет теперь разрешение кортежа из 1 элемента. Это означает, что существует гораздо больше возможных и гибких вариантов при отображении контекста. Отображенный контекст может затем лучше подходить для данного сигнала. Оптимальное расстояние отыскивается таким же способом, как это делается в разделе 3, но в этом случае с разрешением r=1. Для этого необходимо вычислить normVect[] для каждой линии MDCT:
N
LastNz
Затем результирующее отображение контекста приводится в таблице с размером . вычисляется так же, как и в предыдущем разделе, и кодирование может быть описано следующим образом:
Вход:
lastNz
Вход:
contextMapping[N]
Вход:
спектр x[N]
выход:
кодированный битовый поток
локальный объект:
context[N/2]
В отличие от предыдущего раздела в том же самом кортеже из 2 элементов можно собрать два непоследовательных спектральных коэффициента. По этой причине отображение контекста для двух элементов из кортежа из 2 элементов может указывать на два различных индекса в таблице контекстов. В предпочтительном варианте осуществления производится выбор отображенного контекста с наименьшим индексом, но можно также иметь другое правило, такое, как усреднение двух отображенных контекстов. По этой же причине обновление контекста должно также обрабатываться различным образом. Если 2 элемента являются последовательными в спектре, то используется традиционный способ вычисления контекста. В других случаях контекст обновляется отдельно для 2-элементов с учетом только его собственной величины.
Декодирование состоит из следующих этапов:
Декодирование флага для того, чтобы узнать, выполняется ли отображение контекста
Декодирование отображения контекста путем декодирования Dopt или параметров регулировки параметров для получения Dopt для D0.
Декодирование lastNz
Декодирование квантованного спектра производится следующим образом:
Вход:
lastNz
Вход:
contextMapping[N]
Вход:
кодированный битовый поток
локальный объект
: context[N/2]
Выход:
квантованный спектр x[N]
Таким образом, вышеупомянутые варианты осуществления, в том числе раскрыли, например, отображение контекста на основе тона для энтропии, такое как, арифметическое кодирование тональных сигналов.
Хотя некоторые аспекты были описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствуют этапу способа или признаку этапа способа. Аналогично аспекты, описанные в контексте этапа способа, также представляют собой описание соответствующего блока, или элемента, или признака соответствующего устройства. Некоторые или все этапы способа можно выполнить с помощью (или с использованием) устройства аппаратных средств, такого как, например, микропроцессор, программируемый компьютер или электронная схема. В некоторых вариантах осуществления некоторый один или несколько из наиболее важных этапов способа можно выполнить с помощью такого устройства.
Кодированный аудиосигнал согласно изобретению может храниться на цифровом носителе информации или может передаваться по среде передачи, такой как беспроводная среда передачи или проводная среда передачи, такая как Интернет.
В зависимости от требований к некоторым реализациям варианты осуществления изобретения можно реализовать в виде аппаратных средств или программного обеспечения. Реализацию можно выполнить с использованием цифрового носителя информации, например гибкого диска, DVD, Blu-ray, CD-ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сигналы управления, считываемые электронным способом и хранящиеся на нем, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой таким образом, чтобы выполнялся соответствующий способ. Поэтому цифровой носитель информации может быть машиночитаемым.
Некоторые варианты осуществления согласно изобретению содержат носитель информации, имеющий сигналы управления, считываемые электронным способом, которые имеют возможность взаимодействовать с программируемой компьютерной системой таким образом, чтобы выполнялся один из способов, описанных в данном документе.
В общем, варианты осуществления настоящего изобретения можно реализовать в виде компьютерного программного продукта с кодом программы, причем код программы функционирует для выполнения одного из способов при запуске компьютерного программного продукта на компьютере. Код программы может храниться, например, на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для выполнения одного из способов, описанных в данном документе, который хранится на машиночитаемом носителе.
Другими словами, вариант осуществления способа согласно изобретению представляет собой, таким образом, компьютерную программу, имеющую код программы для выполнения одного из способов, описанных в данном документе, при запуске компьютерной программы на компьютере.
Дополнительный вариант осуществления способов согласно изобретению представляет собой, таким образом, носитель информации (или цифровой носитель информации или машиночитаемый носитель информации), содержащий записанную на нем компьютерную программу для выполнения одного из способов, описанных в данном документе. Носитель информации, цифровой носитель информации или записываемый носитель информации являются обычно материальными и/или невременными.
Дополнительный вариант осуществления способа согласно изобретению представляет собой, таким образом, поток данных или последовательность сигналов, представляющих собой компьютерную программу для выполнения одного из способов, описанных в данном документе. Поток данных или последовательность сигналов можно, например, выполнить с возможностью передачи через информационные коммуникационные соединения, например через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например компьютер или программируемое логическое устройство, выполненное с возможностью или адаптированное для выполнения одного из способов, описанных в данном документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для выполнения одного из способов, описанных в данном документе.
Дополнительный вариант осуществления согласно изобретению содержит устройство или систему, выполненную с возможностью передачи (например, электронным или оптическим способом) компьютерной программы для выполнения одного из способов, описанных в данном документе, в приемник. Приемник может представлять собой, например, компьютер, мобильное устройство, запоминающее устройство или т.п., устройство или система может содержать, например, файловый сервер для передачи компьютерной программы в приемник.
В некоторых вариантах осуществления программируемое логическое устройство (например, программируемая пользователем вентильная матрица) можно использовать для выполнения некоторых или всех функциональных возможностей способов, описанных в данном документе. В некоторых вариантах осуществления программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором для того, чтобы выполнять один из способов, описанных в данном документе. Обычно способы выполняются предпочтительно с помощью любого устройства аппаратных средств.
Описанные выше варианты осуществления являются лишь иллюстративными для принципов настоящего изобретения. Понятно, что возможные модификации и вариации размещений и деталей, описанных в данном документе, будут очевидны для специалистов в данной области техники. Таким образом, намерение не должно ограничиваться только объемом нижеизложенной формулы изобретения и специфическими деталями, представленными в данном документе посредством описания и объяснения вариантов осуществления.
Ссылки
1. Fuchs, G.; Subbaraman, V.; Multrus, M., "Efficient context adaptive entropy coding for real-time applications," Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on, vol., no., pp. 493, 496, 22-27 May 2011.
2. ISO/IEC 13818, Part 7, MPEG-2 AAC.
3. Juin-Hwey Chen; Dongmei Wang, "Transform predictive coding of wideband speech signals," Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. Conference Proceedings., 1996, IEEE International Conference on, vol.1, no., pp. 275, 278 vol. 1, 7-10 May 1996.