Варианты осуществления настоящего изобретения относятся к кодеру и к соответствующему способу кодирования аудиосигнала. Дополнительные варианты осуществления относятся к декодеру и к соответствующему способу декодирования. Предпочтительные варианты осуществления относятся к усовершенствованному подходу для извлечения импульсов и кодирования, например, в сочетании с кодеком MDCT.
Кодеки в области MDCT оптимально подходят для кодирования музыкальных сигналов, поскольку MDCT обеспечивает декорреляцию и уплотнение гармонических компонентов, обычно формируемых инструментами и поющим голосом. Это свойство MDCT ухудшается, если переходные части (короткие всплески энергии) присутствуют в сигнале. Это имеет место даже в низкотональной речи или при пении, когда сигнал может считаться фильтрованной цепочкой гортанных импульсов.
Традиционные кодеки MDCT (например, MP3, AAC) используют переключение на короткие блоки и формирование временного шума (TNS) для обработки переходных сигналов. Тем не менее, с этими технологиями возникают проблемы. Наложение спектров во временной области (TDA) в MDCT значительно ограничивает TNS. Короткие блоки ухудшают сигналы, которые являются гармоническими и переходными. Оба способа очень ограничены для моделирования цепочки гортанных импульсов в низкотональной речи.
В уровне техники известны некоторые принципы кодирования, в частности, для кодека MDCT.
В [1], представляется алгоритм для обнаружения и извлечения переходных сигнальных компонентов. Для каждой полосы частот в комплексном спектре (MDCT+MDST) формируется временная огибающая. С использованием временной огибающей, длительности вступления и весовые коэффициенты вычисляются в каждой полосе частот. Местоположения плиток в частотно-временной области крутых вступлений находятся с использованием длительностей вступления и весовых коэффициентов, также с учетом соседних полос частот. Плитки крутых вступлений помечаются в качестве переходных частей, если они удовлетворяют определенным пороговым критериям. Плитки в частотно-временной области, помеченные в качестве переходной части, комбинируются в отдельный сигнал. Извлечение переходных частей достигается посредством умножения коэффициентов MDCT на коэффициенты плавного перехода. Кодирование переходных частей выполняется в области MDCT. Это экономит дополнительное обратное MDCT для вычисления переходного временного сигнала. Кодированный переходный сигнал декодируется, и результирующий сигнал временной области вычитается из исходного сигнала. Остаток также может кодироваться с помощью аудиокодера на основе преобразования.
В [2], аудиокодер включает в себя модуль извлечения импульсов для извлечения импульсообразной части из аудиосигнала. Остаточный сигнал извлекается из исходного аудиосигнала таким образом, что импульсообразная часть уменьшается или исключается в остаточном аудиосигнале. Импульсообразная часть и остаточный сигнал кодируются отдельно, и оба из означенного передаются в декодер, в котором они отдельно декодируются и комбинируются. Импульсообразная часть получается посредством синтеза LPC идеального импульсообразного сигнала, при этом идеальный импульсообразный сигнал получается через чистый подбор пиков и улучшение импульсной характеристики из сигнала ошибки прогнозирования анализа LPC. Чистый подбор пиков означает то, что импульс, начиная с некоторых выборок слева от пика и заканчивая в некоторых выборках справа от пика, подбирается из сигнала, и выборки сигналов между пиками полностью отбрасываются. Улучшение импульсной характеристики обрабатывает пики таким образом, что каждый пик имеет равную высоту и форму.
В [3], предлагается обработка огибающей с высоким разрешением (HREP), которая работает в качестве препроцессора, который временно сглаживает сигнал для высоких частот. На стороне декодера, она работает в качестве постпроцессора, который временно формирует сигнал для высоких частот с использованием вспомогательной информации.
В [4], исходный и кодированный сигнал разлагаются на семантические компоненты (т.е. отличающиеся переходные события хлопков и более шумоподобный фон), и их энергии измеряются в нескольких полосах частот до и после кодирования. Усиления коррекции, извлекаемые из разностей энергий, используются для восстановления энергетических взаимосвязей в исходном сигнале посредством постобработки через масштабирование разделенных переходных событий хлопков и шумоподобного фонового сигнала для полосовых областей. Заданные профили восстановления используются для постобработки.
В [5] представляется гармоническое/ перкуссионное/ остаточное разделение с использованием структурного тензора на логарифмической спектрограмме. Тем не менее статья не рассматривает кодирование аудио/речи.
Родовые заявки (Европа) 19166643.7 составляют дополнительный предшествующий уровень техники. Заявки относятся к концепциям для формирования частотно-улучшенного аудиосигнала из аудиосигнала источника.
Ниже приводится анализ предшествующего уровня техники, при этом анализ предшествующего уровня техники и его недостатков представляет собой часть вариантов осуществления, поскольку решение, описанное в контексте вариантов осуществления, основано на этом анализе.
Способы в [3] и [4] не рассматривают отдельное кодирование переходных событий и в силу этого не используют преимущества, которые могут иметь специализированный кодек для переходных частей и специализированный кодек для остаточных/стационарных сигналов.
В [2] любая ошибка, введенная посредством выполнения улучшения импульсной характеристики, учитывается в остаточном кодере. Поскольку улучшение импульсной характеристики обрабатывает пики таким образом, что каждый пик имеет равную высоту и форму, это приводит к ошибке, содержащей разности между импульсами, и эти разности имеют переходные характеристики. Такая ошибка с переходными характеристиками не является хорошо подходящей для остаточного кодера, который ожидает стационарный сигнал. Ниже рассматривается сигнал, состоящий из наложения сильного стационарного сигнала и небольшой переходной части. Поскольку все выборки в местоположении пика сохраняются, и все выборки между пиками удаляются, это означает то, что импульс должен содержать небольшую переходную часть и ограниченную по времени часть сильного стационарного сигнала, и остаток должен иметь разрывность в местоположении переходной части. Для такого сигнала, ни "импульсообразный" сигнал не подходит для кодера импульсов, ни "стационарный остаток" не удовлетворяется для остаточного кодера. Другой недостаток способа в [2] состоит в том, что он является адекватным только для цепочки импульсов, но не для одиночных переходных частей.
В [1] рассматриваются только вступления, и в силу этого переходные события как гортанные импульсы не рассматриваются или неэффективно кодируются. Посредством использования спектра линейной абсолютной величины и посредством использования отдельных огибающих для каждой полосы частот, широкополосные переходные части могут быть пропущены в присутствии фонового шума/сигналов. Следовательно, имеется потребность в усовершенствованном подходе.
Задача настоящего изобретения состоит в создании концепции кодирования аудио, имеющего лучшую производительность кодирования для импульсного кодирования.
Варианты осуществления настоящего изобретения предусматривают аудиокодер для кодирования аудиосигнала, который содержит импульсную часть и стационарную часть. Аудиокодер содержит модуль извлечения импульсов, кодер сигналов, а также выходной интерфейс. Модуль извлечения импульсов выполнен с возможностью извлечения импульсной части из аудиосигнала и дополнительно содержит кодер импульсов для кодирования импульсной части для получения кодированной импульсной части. Модуль извлечения импульсов выполнен с возможностью определения спектрограммы, например спектрограммы абсолютной величины и спектрограммы фазы аудиосигнала для извлечения импульсной части. Например, спектрограмма может иметь более высокое временное разрешение, чем кодер сигналов. Кодер сигналов выполнен с возможностью кодирования остаточного сигнала, извлекаемого из аудиосигнала (после извлечения импульсной части) для получения кодированного остаточного сигнала. Остаточный сигнал извлекается из аудиосигнала таким образом, что импульсная часть уменьшается или исключается из аудиосигнала. Интерфейс выполнен с возможностью вывода кодированного импульсного сигнала (сигнала, описывающего кодированную форму импульсного сигнала (например, посредством использования параметров) и кодированного остаточного сигнала для создания кодированного сигнала. Следует обратить внимание, что, согласно вариантам осуществления, остаточный сигнал представляет собой сигнал, полученный при (посредством/после) извлечении импульсной части из аудиосигнала таким образом, что импульсная часть в остаточном сигнале уменьшается или исключается.
Согласно вариантам осуществления, кодер импульсов выполнен с возможностью обеспечения информации (например, таким способом, при котором число импульсов в кадре NPC задается равным 0) в отношении того, что кодированная импульсная часть не присутствует, когда модуль извлечения импульсов не может находить импульсную часть в аудиосигнале. Согласно вариантам осуществления, спектрограмма имеет более высокое временное разрешение, чем кодер сигналов.
Варианты осуществления настоящего изобретения основаны на таких выявленных сведениях, что производительность кодирования, и, в частности, качество кодированного сигнала значительно увеличивается, когда импульсная часть кодируется отдельно. Например, стационарная часть может кодироваться после извлечения импульсной части, например, с использованием кодека в области MDCT. Извлеченная импульсная часть кодируется с использованием другого кодера, например, с использованием временной области. Импульсная часть (цепочка импульсов или переходная часть) определяется с использованием спектрограммы аудиосигнала, при этом спектрограмма имеет более высокое временное разрешение, чем кодер сигналов. Например, может использоваться спектрограмма нелинейной (логарифмической) абсолютной величины и/или спектрограмма фазы. Посредством использования спектра нелинейной абсолютной величины, широкополосные переходные части могут точно определяться, даже в присутствии фонового шума/сигналов.
Например, импульсная часть может состоять из форм импульсного сигнала, имеющих характеристики верхних частот, расположенные в пиках временной огибающей, полученной из спектрограммы. Согласно дополнительному варианту осуществления, предложен аудиокодер, в котором модуль извлечения импульсов выполнен с возможностью получения импульсной части, состоящей из форм импульсного сигнала или форм сигналов, имеющих характеристики верхних частот, расположенные в пиках временной огибающей, полученной из спектрограммы аудиосигнала. Согласно вариантам осуществления, модуль извлечения импульсов выполнен с возможностью определения спектрограммы абсолютной величины либо спектрограммы нелинейной абсолютной величины и/или спектрограммы фазы, или их сочетания, для извлечения импульсной части. Согласно вариантам осуществления, модуль извлечения импульсов выполнен с возможностью получения временной огибающей посредством суммирования значений спектрограммы абсолютной величины в один момент времени; дополнительно либо в качестве альтернативы, временная огибающая может получаться посредством суммирования значений спектрограммы нелинейной абсолютной величины в один момент времени. Согласно другому варианту осуществления, модуль извлечения импульсов выполнен с возможностью получения импульсной части (состоящей из форм импульсного сигнала) из спектрограммы абсолютной величины и/или спектрограммы фазы аудиосигнала посредством удаления стационарной части аудиосигнала во все моменты времени спектрограммы абсолютной величины/фазы.
Согласно вариантам осуществления, кодер дополнительно содержит фильтр, выполненный с возможностью обработки импульсной части таким образом, что каждая форма импульсного сигнала импульсной части содержит характеристику верхних частот и/или характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты. Альтернативно или дополнительно, фильтр выполнен с возможностью обработки импульсной части таким образом, что каждая форма импульсного сигнала импульсной части содержит характеристику верхних частот и/или характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты, причем начальная частота является пропорциональной инверсии среднего расстояния между близлежащими формами импульсного сигнала. Может возникать такая ситуация, что стационарная часть также имеет характеристику верхних частот независимо от того, как извлекается импульсная часть. Тем не менее, характеристика верхних частот в остаточном сигнале удаляется или уменьшается по сравнению с аудиосигналом, если импульсная часть находится и удаляется или уменьшается из аудиосигнала.
Согласно вариантам осуществления, кодер дополнительно содержит средство (например, модуль извлечения импульсов, модуль удаления фона, модуль нахождения местоположений импульсов либо комбинацию вышеозначенного) для обработки импульсной части таким образом, что каждая форма импульсного сигнала имеет характеристику большей энергии около своего временного центра, чем на большом расстоянии от своего временного центра, либо таким образом, что импульсы или формы импульсного сигнала расположены в пиках временной огибающей, полученной из спектрограммы аудиосигнала или около них.
Согласно вариантам осуществления, модуль извлечения импульсов выполнен с возможностью получения по меньшей мере одной выборки временной огибающей или временной огибающей по меньшей мере в один момент времени посредством суммирования значений спектрограммы абсолютной величины по меньшей мере в один момент времени и/или посредством суммирования значений спектрограммы нелинейной абсолютной величины по меньшей мере в один момент времени.
Согласно дополнительным вариантам осуществления, форма импульсного сигнала имеет конкретную характеристику большей энергии около своего временного центра по сравнению с большим расстоянием от временного центра. Соответственно, модуль извлечения импульсов может быть выполнен с возможностью определения импульсной части на основе этой характеристики. Следует обратить внимание, что импульсная часть может состоять потенциально из множества форм импульсного сигнала. То, что форма импульсного сигнала имеет большую энергию около своего временного центра, является следствием того, как они находятся и извлекаются.
Согласно дополнительным вариантам осуществления, каждая форма импульсного сигнала содержит характеристики верхних частот и/или характеристики, имеющие большую энергию на частотах, начинающихся выше начальной частоты. Следует обратить внимание, что начальная частота может быть пропорциональной инверсии среднего расстояния между близлежащими формами импульсного сигнала.
Согласно дополнительным вариантам осуществления, модуль извлечения импульсов выполнен с возможностью определения форм импульсного сигнала, принадлежащих к импульсной части, в зависимости от одного из:
- корреляции между формами импульсного сигнала, и/или
- расстояния между формами импульсного сигнала, и/или
- взаимосвязи между энергией форм импульсного сигнала и аудио- или остаточного сигнала.
Согласно дополнительным вариантам осуществления, модуль извлечения импульсов содержит дополнительный кодер, выполненный с возможностью кодирования извлеченной импульсной части посредством спектральной огибающей, общей для форм импульсного сигнала близко друг к другу, и посредством параметров для представления спектрально сглаженной формы импульсного сигнала. Согласно дополнительным вариантам осуществления, кодер дополнительно содержит объект кодирования, выполненный с возможностью кодирования либо кодирования и квантования усиления для (полного) остатка прогнозирования, Здесь при необходимости может использоваться объект коррекции, который выполнен с возможностью вычисления и/или применения коэффициента коррекции к усилению для (полного) остатка прогнозирования.
Этот подход на основе кодирования может быть реализован посредством способа кодирования аудиосигнала, содержащего импульсную часть и стационарную часть. Способ содержит четыре базовых этапа:
- извлечение импульсной части из аудиосигнала посредством определения спектрограммы аудиосигнала, при этом спектрограмма имеет более высокое временное разрешение, чем кодер сигналов;
- кодирование извлеченной импульсной части для получения кодированной импульсной части;
- кодирование остаточного сигнала, извлекаемого из аудиосигнала для получения кодированного остаточного сигнала, причем остаточный сигнал извлекается из аудиосигнала таким образом, что импульсная часть уменьшается или исключается из аудиосигнала; и
- вывод кодированной импульсной части и кодированного остаточного сигнала для создания кодированного сигнала.
Другой вариант осуществления предусматривает декодер для декодирования кодированного аудиосигнала, содержащего кодированную импульсную часть и кодированный остаточный сигнал. Декодер содержит декодер импульсов и декодер сигналов, а также модуль комбинирования сигналов. Декодер импульсов выполнен с возможностью использования алгоритма декодирования, например, адаптированного к алгоритму кодирования, используемому для формирования кодированной импульсной части для получения декодированной импульсной части. Декодер сигналов выполнен с возможностью использования алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированного остаточного сигнала для получения декодированного остаточного сигнала. Модули комбинирования выполнены с возможностью комбинирования декодированной импульсной части и декодированного остаточного сигнала для создания декодированного выходного сигнала.
Как пояснено выше, декодированная импульсная часть может состоять из форм импульсного сигнала, расположенных в указанных временных местоположениях. В качестве альтернативы, кодированная импульсная часть включает в себя параметр для представления спектрально сглаженных форм импульсного сигнала, при этом каждая форма импульсного сигнала имеет характеристику большей энергии около своего временного центра, чем на большом расстоянии от своего временного центра.
Согласно вариантам осуществления, декодер сигналов и декодер импульсов работают с возможностью обеспечения выходных значений, связанных с одним и тем же моментом времени декодированного сигнала.
Согласно вариантам осуществления, кодер импульсов выполнен с возможностью получения спектрально сглаженных форм импульсного сигнала, например, имеющих спектрально сглаженные абсолютные величины спектра, ассоциированного с формой импульсного сигнала или импульсным STFT. На стороне декодера, спектрально сглаженные формы импульсного сигнала могут получаться с использованием прогнозирования из предыдущей формы импульсного сигнала или предыдущей сглаженной формы импульсного сигнала. Согласно дополнительным вариантам осуществления, декодер импульсов выполнен с возможностью получения форм импульсного сигнала посредством спектрального формирования спектрально сглаженных форм импульсного сигнала с использованием спектральной огибающей, общей для форм импульсного сигнала близко друг к другу.
Согласно вариантам осуществления, декодер, дополнительно содержит гармоническую постфильтрацию. Например, гармоническая постфильтрация может имплантироваться так, как раскрыто посредством [9]. В качестве альтернативы, HPF может быть выполнен с возможностью фильтрации множества перекрывающихся субинтервалов, при этом гармонический постфильтр основан на передаточной функции, содержащей числитель и знаменатель, при этом числитель содержит значение гармоничности, и при этом знаменатель содержит значение запаздывания основного тона и значение гармоничности и/или значение усиления.
Согласно вариантам осуществления, декодер импульсов выполнен с возможностью декодирования импульсной части текущего кадра с учетом импульсной части или импульсных частей одного или более кадров, предыдущих по отношению к текущему кадру.
Согласно вариантам осуществления, декодер импульсов выполнен с возможностью декодирования импульсной части с учетом усиления ()для прогнозирования; здесь усиление () для прогнозирования может непосредственно извлекаться из кодированного аудиосигнала.
Согласно дополнительным вариантам осуществления, декодирование может выполняться посредством способа декодирования кодированного аудиосигнала, содержащего кодированную импульсную часть и кодированный остаточный сигнал. Способ содержит три этапа:
- использование алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированной импульсной части для получения декодированной импульсной части;
- использование алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированного остаточного сигнала для получения декодированного остаточного сигнала; и
- комбинирование декодированной импульсной части и декодированного остаточного сигнала для создания декодированного выходного сигнала.
Вышеуказанные варианты осуществления также могут быть реализуемыми компьютером. Следовательно, другой вариант осуществления относится к способу осуществления способа декодирования и/или кодирования при выполнении на компьютере.
Далее варианты осуществления настоящего изобретения поясняются с обращением к прилагаемым чертежам, на которых:
Фиг. 1a показывает схематичное представление базовой реализации кодека, состоящего из кодера и декодера согласно варианту осуществления;
Фиг. 1b-1d показывают три частотно-временных диаграммы для иллюстрации преимуществ предложенного подхода согласно варианту осуществления;
Фиг. 2a показывает принципиальную блок-схему, иллюстрирующую кодер согласно варианту осуществления и декодер согласно другому варианту осуществления;
Фиг. 2b показывает принципиальную блок-схему, иллюстрирующую выдержку фиг. 2a, содержащую кодер согласно варианту осуществления;
Фиг. 2c показывает принципиальную блок-схему, иллюстрирующую выдержку фиг. 2a, содержащую декодер согласно другому варианту осуществления;
Фиг. 3 показывает принципиальную блок-схему кодера сигналов для остаточного сигнала согласно вариантам осуществления;
Фиг. 4 показывает принципиальную блок-схему декодера, содержащего принцип заполнения нулями согласно дополнительным вариантам осуществления;
Фиг. 5 показывает принципиальную схему для иллюстрации принципа определения контура основного тона (см. контур основного тона межблочного интервала отсутствия сигнала) согласно вариантам осуществления;
Фиг. 6 показывает принципиальную блок-схему модуля извлечения импульсов с использованием информации относительно контура основного тона согласно дополнительным вариантам осуществления;
Фиг. 7 показывает принципиальную блок-схему модуля извлечения импульсов с использованием контура основного тона в качестве дополнительной информации согласно альтернативному варианту осуществления;
Фиг. 8 показывает принципиальную блок-схему, иллюстрирующую кодер импульсов согласно дополнительным вариантам осуществления;
Фиг. 9a-9b показывают принципиальные схемы для иллюстрации принципа спектрального сглаживания импульса согласно вариантам осуществления;
Фиг. 10 показывает принципиальную блок-схему кодера импульсов согласно дополнительным вариантам осуществления;
Фиг. 11a-11b показывают принципиальную схему, иллюстрирующую принцип определения прогнозного остаточного сигнала, начинающегося со сглаженного оригинала;
Фиг. 12 показывает принципиальную блок-схему кодера импульсов согласно дополнительным вариантам осуществления;
Фиг. 13 показывает принципиальную схему, иллюстрирующую остаточный сигнал и кодированные импульсы для иллюстрации вариантов осуществления;
Фиг. 14 показывает принципиальную блок-схему декодера импульсов согласно дополнительным вариантам осуществления;
Фиг. 15 показывает принципиальную блок-схему декодера импульсов согласно дополнительным вариантам осуществления;
Фиг. 16 показывает блок-схему, иллюстрирующую принцип оценки оптимального шага квантования (т.е. размера шага) с использованием блока iBPC согласно вариантам осуществления;
Фиг. 17a-17d показывают принципиальные схемы для иллюстрации принципа долговременного прогнозирования согласно вариантам осуществления;
Фиг. 18a-18d показывают принципиальные схемы для иллюстрации принципа гармонической постфильтрации согласно дополнительным вариантам осуществления.
Ниже варианты осуществления настоящего изобретения поясняются с обращением к прилагаемым чертежам, на которых одинаковые ссылочные позиции приведены для объектов, имеющих одинаковые или аналогичные функции, так что их описание является взаимно применимым и взаимозаменяемым.
Фиг. 1a показывает устройство 10 для кодирования и декодирования сигнала PCMi. Устройство 10 содержит модуль 11 извлечения импульсов, кодер 13 импульсов, а также кодек 15 сигналов, например, кодек в частотной области или кодек MDCT. Кодек содержит сторону (15a) кодера и сторону (15b) декодера. Кодек 15 использует сигнал yM (остаток после выполнения извлечения импульсов (см. объект 11)) и информацию относительно контура PC основного тона, определенного с использованием объекта 18 (получение контура основного тона).
Кроме того, относительно фиг. 1a, проиллюстрирован соответствующий декодер 20. Он содержит по меньшей мере объекты 22, 23 и части 15, при этом модуль HPF, указанный ссылочной позицией 21, представляет собой факультативный объект. В общем, следует отметить, что некоторые объекты могут состоять из одного из большего числа элементов, при этом не все элементы являются обязательными.
Ниже поясняется базовая реализация аудиокодера без акцентирования внимания на его факультативных элементах. Модуль 11 извлечения импульсов принимает входной аудиосигнал PCMi. При необходимости сигнал PCMi может представлять собой вывод аналитической фильтрации LP. Этот сигнал PCMi анализируется, например, с использованием спектрограммы, такой как спектрограмма абсолютной величины, спектрограмма нелинейной абсолютной величины или спектрограмма фазы, с тем чтобы извлекать импульсную часть сигнала PCMi. Следует обратить внимание, что для обеспечения хорошего определения импульсов в спектрограмме, спектрограмма при необходимости может иметь более высокое временное разрешение, чем кодек 15 сигналов. Эта извлеченная импульсная часть помечается в качестве импульсов P и перенаправляется в кодер 13 импульсов. После извлечения импульсов 11, остаточный сигнал R перенаправляется в кодек 15 сигналов.
Более высокое временное разрешение спектрограммы, чем кодека сигналов, означает то, что имеется большее количество спектров в спектрограмме, чем имеется субкадров в кадре кодека сигналов. Согласно примеру, в кодеке сигналов, работающем в частотной области, кадр может разделяться на 1 или более субкадров, и каждый субкадр может кодироваться в частотной области с использованием спектра, и спектрограмма имеет большее количество спектров в кадре, чем имеется спектров кодека сигналов в кадре. Кодек сигналов может использовать сигнально-адаптивное число субкадров в расчете на кадр. В общем, преимущественно, если спектрограмма имеет большее количество спектров в расчете на кадр, чем максимальное число субкадров, используемых посредством кодека сигналов. В примере, может быть предусмотрено 50 кадров в секунду, 40 спектров спектрограммы в расчете на кадр и вплоть до 5 субкадров кодека сигналов в расчете на кадр.
Кодер 13 импульсов выполнен с возможностью кодирования извлеченной импульсной части P таким образом, чтобы выводить кодированную импульсную часть и выводить кодированные импульсы CP. Согласно вариантам осуществления, импульсная часть (содержащая форму импульсного сигнала) может кодироваться с использованием текущей импульсной части (содержащей форму импульсного сигнала) и одной или более предыдущих форм импульсного сигнала, как поясняется ниже относительно фиг. 10.
Кодек 15 сигналов выполнен с возможностью кодирования остаточного сигнала R для получения кодированного остаточного сигнала CR. Остаточный сигнал извлекается из аудиосигнала PCMI таким образом, что импульсная часть уменьшается или исключается из аудиосигнала PCMI. Следует отметить, что, согласно предпочтительным вариантам осуществления, кодек 15 сигналов для кодирования остаточного сигнала R представляет собой кодек, выполненный с возможностью кодирования стационарных сигналов, или что он предпочтительно представляет собой кодек в частотной области, такой как кодек MDCT. Согласно вариантам осуществления, этот кодек 15 на основе MDCT использует информацию PC контура основного тона для кодирования. Эта информация контура основного тона получается непосредственно из сигнала PCMi посредством использования отдельного объекта, обозначенного ссылочной позицией 18 «получение контура основного тона».
Для полноты проиллюстрирован декодер 20. Декодер 20 содержит объекты 22, 23, части 15 и при необходимости объект 21. Объект 22 используется для декодирования и реконструирования импульсной части, состоящей из реконструированных форм импульсного сигнала. Реконструирование текущей восстановленной формы импульсного сигнала может выполняться с учетом предыдущих импульсов, как показано в 220. Этот подход с использованием прогнозирования поясняется ниже в контексте фиг. 15 и 14. Процесс, выполняемый посредством объекта 220 по фиг. 14, выполняется многократно (для каждой реконструированной формы импульсного сигнала), формируя реконструированные формы импульсного сигнала, которые вводятся в объект 22' по фиг. 15. Объект 22' конструирует форму yP сигнала (т.е. часть реконструированного импульса или декодированную импульсную часть), состоящую из реконструированных форм импульсного сигнала, размещенных в положениях импульсов, полученных из кодированных импульсов CP. Параллельно декодеру импульсов, объект 15 кодека MDCT используется для декодирования остаточного сигнала. Декодированный остаточный сигнал может комбинироваться с декодированной импульсной частью yP в модуле 23 комбинирования. Модуль комбинирования комбинирует декодированную импульсную часть и декодированный остаточный сигнал для создания декодированного выходного сигнала PCMO. При необходимости объект 21 HPF для гармонической постфильтрации может размещаться между модулем 23 комбинирования и декодером 15 MDCT либо, в качестве альтернативы, в выводе модуля 23 комбинирования.
Модуль 11 извлечения импульсов соответствует объекту 110, кодер 13 импульсов соответствует объекту 132 на фиг. 2a и 2b. Объекты 22 и 23 также показаны на фиг. 2a и 2c.
В качестве обобщения, декодер 20 сигналов выполнен с возможностью использования алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированного остаточного сигнала для получения декодированного остаточного сигнала, передаваемого в модуль 23 комбинирования сигналов.
Ниже приводится улучшенное описание механизма извлечения импульсов, выполняемого посредством объекта 110.
Согласно вариантам осуществления, импульсное извлечение (см. объект 110) получает STFT входного аудиосигнала и использует спектрограмму нелинейной (логарифмической) абсолютной величины и спектрограмму фазы STFT для нахождения и извлечения импульсов/переходных частей, причем каждый импульс/переходная часть имеет форму сигнала с характеристиками верхних частот. Пики во временной огибающей считаются местоположениями импульсов/переходных частей, причем временная огибающая получается посредством суммирования значений спектрограммы нелинейной абсолютной величины в один момент времени. Каждый импульс/переходная часть протягивается на 2 момента времени влево и на 2 вправо от своего центрального временного местоположения в STFT.
Фон (стационарная часть) может оцениваться в спектрограмме нелинейной абсолютной величины и удаляться в области линейной абсолютной величины. Фон оценивается с использованием интерполяции нелинейных абсолютных величин вокруг импульсов/переходных частей.
Согласно вариантам осуществления, для каждого импульса/переходной части, начальная частота может задаваться таким образом, что она является пропорциональной инверсии среднего расстояния между импульсами из числа близлежащих импульсов. Спектрограмма абсолютной величины в линейной области импульса/переходной части ниже начальной частоты задается равной нулю.
Согласно вариантам осуществления, кодер импульсов выполнен с возможностью спектрального сглаживания абсолютных величин формы импульсного сигнала или импульсного STFT (либо, например, спектрограммы) с использованием спектральной огибающей. В качестве альтернативы, процессор фильтрации может быть выполнен с возможностью спектрального сглаживания формы импульсного сигнала посредством фильтрации формы импульсного сигнала во временной области. Другой вариант заключается в том, что кодер импульсов выполнен с возможностью получения спектрально сглаженной формы импульсного сигнала из спектрально сглаженного STFT через обратное DFT, окно взвешивания и суммирование с перекрытием. Согласно вариантам осуществления, форма импульсного сигнала получается из STFT через обратное DFT, окно взвешивания и суммирование с перекрытием.
Вероятность пары импульсов, принадлежащей цепочке импульсов, согласно вариантам осуществления, может вычисляться из следующего:
- корреляция между формами сигналов импульсов/переходных частей,
- ошибка между расстоянием для двух импульсов и запаздыванием основного тона из анализа основного тона.
Согласно вариантам осуществления, вероятность импульса может вычисляться из следующего:
- отношение энергии импульса к локальной энергии,
- вероятность того, что он принадлежит цепочке импульсов.
Импульсы с вероятностью выше порогового значения кодируются, и их исходные некодированные формы сигнала могут вычитаться из входного аудиосигнала.
Согласно вариантам осуществления, импульсы P могут кодироваться посредством объекта 130 следующим образом: число форм импульсного сигнала в кадре, положения/местоположения, начальные частоты, спектральная огибающая, усиления и источники прогнозирования, инновационные усиления и инновационные импульсы.
Например, одна спектральная огибающая кодируется в расчете на кадр, представляя среднее спектральных огибающих импульсов в кадре. Абсолютные величины импульсного STFT спектрально сглаживаются с использованием спектральной огибающей. В качестве альтернативы, спектральная огибающая входного сигнала может использоваться как для: импульса (см. объект 130), так и для остатка (см. объект 150).
Спектрально сглаженная форма импульсного сигнала может получаться из спектрально сглаженного STFT через обратное DFT, окно взвешивания и суммирование с перекрытием.
Наиболее аналогичный ранее квантованный импульс может находиться, и прогнозирование, сконструированное из наиболее аналогичного предыдущего импульса, вычитается из спектрально сглаженной формы импульсного сигнала для получения остатка прогнозирования, причем прогнозирование умножается на усиление для прогнозирования.
Например, остаток прогнозирования квантуется с использованием вплоть до четырех импульсов, причем кодируются положения и знаки импульсов. Кроме того, инновационное усиление для (полного) остатка прогнозирования может кодироваться. Следует обратить внимание, что полный остаток прогнозирования означает, например, вплоть до четырех импульсов, т.е. одно инновационное усиление находится и применяется ко всем импульсам. Таким образом, полный остаток прогнозирования может означать такие характеристики, что квантованный остаток прогнозирования состоит из вплоть до четырех импульсов и одного усиления. Тем не менее в другой реализации может быть предусмотрено множество усилений, например, одно усиление для каждого импульса. В еще одном другом примере, может быть предусмотрено более четырех импульсов, например, максимальное число импульсов может быть пропорциональным скорости передачи битов кодека.
Согласно вариантам осуществления, начальное прогнозирование и инновационное усиление максимизируют SNR и могут вводить уменьшение энергии. Таким образом, коэффициент коррекции вычисляется, и усиления умножаются на коэффициент коррекции, чтобы компенсировать уменьшение энергии. Усиления могут квантоваться и кодироваться после применения коэффициента коррекции без изменения варианта выбора источника прогнозирования или импульсов.
В декодере, импульсы, согласно вариантам осуществления, декодируются и умножаются на инновационное усиление, чтобы формировать инновацию. Прогнозирование конструируется из наиболее аналогичного предыдущего импульса/переходной части и умножается на усиление для прогнозирования. Прогнозирование суммируется с инновацией, чтобы формировать сглаженную форму импульсного сигнала, которая спектрально формируется посредством декодированной спектральной огибающей, чтобы формировать форму импульсного сигнала.
Формы импульсного сигнала суммируются с декодированным выводом MDCT в местоположениях, декодированных из потока битов.
Следует обратить внимание, что формы импульсного сигнала имеют свою энергию, сконцентрированную около временного центра формы сигнала.
Относительно фиг. 1b, 1c и 1d, ниже поясняются преимущества предложенного способа.
Благодаря интеграции нелинейных абсолютных величин по полной полосе пропускания, рассеянные переходные части (включающие в себя импульсы) могут обнаруживаться даже в присутствии фонового сигнала/шума. Фиг. 1b иллюстрирует спектрограмму (частоту во времени), в которой различные значения абсолютной величины проиллюстрированы посредством различного затенения. Некоторые части, представляющие импульсы, указаны ссылочной позицией 10p. Между этими импульсными частями 10p, помечаются стационарные части 10s.
Посредством удаления стационарных частей из спектрограммы абсолютной величины импульсов (см. фиг. 1c), почти только части, которые подходят для кодера MDCT, удаляются (см. ссылочную позицию 10s') из входного сигнала. За счет немодификации нестационарных частей спектра абсолютной величины импульсов, почти все части, не подходящие для кодера MDCT, удаляются из входного сигнала (см. фиг. 1d).
Сигналы с меньшим расстоянием между импульсами цепочки импульсов имеют более высокую F0 и большее расстояние между гармониками, в силу чего их кодирование с помощью кодера MDCT является эффективным. Такие сигналы также демонстрируют меньшее маскирование широкополосных переходных частей. Посредством увеличения начальной частоты импульса/переходной части для меньшего расстояния между импульсами, ошибки при извлечении или кодировании импульсов становятся менее возмущающими.
За счет использования прогнозирования из одиночного импульса/переходной части в одиночный импульс/переходную часть, кодирование импульсов/переходных частей становится эффективным. Посредством спектрального сглаживания, изменения спектральной огибающей импульсов/переходных частей игнорируются, и использование прогнозирования увеличивается.
Использование корреляции между формами импульсного сигнала в варианте выбора импульса обеспечивает то, что импульсы, которые могут эффективно кодироваться, извлекаются. Использование отношения энергии импульса к локальной энергии в варианте выбора импульса обеспечивает возможность того, что также сильные переходные части, не принадлежащие цепочке импульсов, извлекаются. Таким образом, любой вид переходных частей, включающих в себя гортанные импульсы, которые не могут эффективно кодироваться в MDCT, удаляется из входного сигнала. Ниже поясняются дополнительные варианты осуществления.
Фиг. 2a показывает кодер 101 в комбинации с декодером 201.
Основные объекты кодера 101 указаны ссылочными позициями 110, 130, 150. Объект 110 выполняет импульсное извлечение, при котором импульсы p кодируются с использованием объекта 132 для импульсного кодирования.
Кодер 150 сигналов реализуется посредством множества объектов 152, 153, 154, 155, 156, 157, 158, 159, 160 и 161. Эти объекты 152-161 формируют основной тракт кодера 150, в котором, параллельно, могут размещаться дополнительные объекты 162, 163, 164, 165 и 166. Объект 162 (zfl-декодер) соединяет информативно объекты 156 (iBPC) с объектом 158 для заполнения нулями. Объект 165 (получение TNS) соединяет информативно объект 153 (SNSE) с объектом 154, 158 и 159. Объект 166 (получение SNS) соединяет информативно объект 152 с объектами 153, 163 и 160. Объект 158 выполняет заполнение нулями и может содержать модуль 158c комбинирования, который поясняется в контексте фиг. 4. Следует отметить, что может быть предусмотрена реализация, в которой объекты 159 и 160 не существуют, например, система с фильтрацией LP вывода MDCT. Таким образом, эти объекты 159 и 160 являются факультативными.
Объекты 163 и 164 принимают контур основного тона из объекта 180 и кодированный остаток YC, с тем чтобы формировать прогнозированный спектр XP, и/или при перцепционно сглаженном прогнозировании XPS. Ниже описана функциональность и взаимодействие различных объектов.
До пояснения функциональности кодера 101 и, в частности, кодера 150, приводится краткое описание декодера 210. Декодер 210 может содержать объекты 157, 162, 163, 166, 158, 159, 160, 161, а также конкретные для кодера объекты 214 (HPF), 23 (модуль комбинирования сигналов) и 22 (для конструирования формы сигнала). Кроме того, декодер 201 содержит декодер 210 сигналов, при этом объекты 158, 159, 160, 161, 162, 163 и 164 формируют, вместе с объектом 214, декодер 210 сигналов. Кроме того, декодер 201 содержит модуль 23 комбинирования сигналов.
Ниже поясняется функциональность кодирования: Импульсное извлечение 110 получает STFT входного аудиосигнала PCMi и использует спектрограмму нелинейной абсолютной величины и спектрограмму фазы STFT для нахождения и извлечения импульсов, причем каждый импульс имеет форму сигнала с характеристиками верхних частот. Остаточный импульсный сигнал yM получается посредством удаления импульсов из входного аудиосигнала. Импульсы кодируются посредством импульсного кодирования 132, и кодированные импульсы CP передаются в декодер 201.
Остаточный импульсный сигнал yM подвергается оконному взвешиванию и преобразуется через MDCT 152, чтобы формировать XM длины LM. Окна взвешивания выбираются из 3 окон взвешивания, как указано в [6]. Самое длинное окно взвешивания имеет длину в 30 миллисекунд с перекрытием в 10 миллисекунд в нижеприведенном примере, но могут использоваться любое другое окно взвешивания и длина перекрытия. Спектральная огибающая XM перцепционно сглаживается через SNSE 153, получая XMS. При необходимости, формирование 154 временного шума (TNSE) применяется, чтобы сглаживать временную огибающую по меньшей мере в части спектра, формируя XMT. По меньшей мере, один флаг ϕH тональности в части спектра (в XM или XMS, или XMT) может оцениваться и передаваться в декодер 201/210. При необходимости, долговременное прогнозирование 164 (LTP), которое выполняется после контура 180 основного тона, используется для конструирования прогнозированного спектра XP из предыдущих декодированных выборок, и перцепционно сглаженное прогнозирование XPS вычитается в области MDCT из XMT, формируя остаток XMR LTP. Контур 180 основного тона получается для кадров с высокой средней гармоничностью и передается в декодер 201/210. Контур 180 основного тона и гармоничность используются для направления множества частей кодека. Средняя гармоничность может вычисляться для каждого кадра.
Фиг. 2b показывает выдержку фиг. 2a с акцентированием внимания на кодере 101', содержащем объекты 180, 110, 152, 153, 153, 155, 156', 165, 166 и 132. Следует обратить внимание, что 156 на фиг. 2a является видом комбинации 156' на фиг. 2b и 156'' на фиг. 2c. Следует обратить внимание, что объект 163 (на фиг. 2a, 2c) может быть одинаковым или сравнимым с 153 и является инверсией 160.
Согласно вариантам осуществления, кодер разбивает входной сигнал на кадры и выводит, например, для каждого кадра по меньшей мере один или более следующих параметров:
- контур основного тона,
- вариант выбора окна взвешивания MDCT, 2 бита,
- параметры LTP,
- кодированные импульсы,
- sns, который представляет собой кодированную информацию для формирования спектра через SNS,
- tns, который представляет собой кодированную информацию для временного формирования через TNS,
- глобальное усиление gQ0, которое представляет собой кодированную информацию для кодека MDCT,
- spect, состоящий из энтропийно кодированного квантованного спектра MDCT,
- zfl, состоящий из параметрически кодированных нулевых частей квантованного.
Кодированный остаточный сигнал CR может состоять из spec и/или gQ0, и/или zfl, и/или tns, и/или sns.
XPS исходит из LTP, которое также используется в кодере, но показывается только в декодере.
Фиг. 2c показывает выдержку фиг. 2a с акцентированием внимания на кодере 201', содержащем объекты 156'', 162, 163, 164, 158, 159, 160, 161, 214, 23 и 22, которые пояснены в контексте фиг. 2a касательно LTP 164. По существу, LTP составляет часть декодера (за исключением HPF, "конструирования формы сигнала" и их выводов), оно также может использоваться/требоваться в кодере (в качестве части внутреннего декодера). В реализациях без LTP, внутренний декодер не нужен в кодере.
Кодирование XMR (остатка из LTP), выводимого посредством объекта 155, выполняется в интегральном кодере параметров для каждой полосы частот (iBPC), как пояснено относительно фиг. 3.
Перед пояснением объекта 155, проводится экскурс в MDCT 152 по фиг. 2: Вывод MDCT представляет собой XM длины LM. Для примера, на входной частоте дискретизации в 48 кГц и для примерной длины кадра в 20 миллисекунд, LM равна 960. Кодек может работать на других частотах дискретизации и/или при других длинах кадров. Все другие спектры извлекаются из XM: XMS, XMT, XMR, XQ, XD, XDT, XCT, XCS, XC, XP, XPS, XN, XNP, XS также имеют равную длину LM, хотя в некоторых случаях только часть спектра может требоваться и использоваться. Спектр состоит из спектральных коэффициентов, также известных как спектральные элементы разрешения или частотные элементы разрешения. В случае спектра MDCT, спектральные коэффициенты могут иметь положительные и отрицательные значения. Можно сказать, что каждый спектральный коэффициент покрывает полосу пропускания. В случае частоты дискретизации в 48 кГц и длины кадра в 20 миллисекунд, спектральный коэффициент покрывает полосу пропускания в 25 Гц. Спектральные коэффициенты могут индексироваться от 0 до LM-1.
Коэффициенты масштабирования SNS, используемые в SNSE и SNSD, могут получаться из энергий в NSB=64 подполосах частот (иногда также называемых «полосами частот»), имеющих увеличивающиеся полосы пропускания, причем энергии получаются из спектра, разделенного на подполосы частот. Согласно примеру, границы подполос частот, выражаемые в Гц, могут задаваться равными 0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2050, 2200, 2350, 2500, 2650, 2800, 2950, 3100, 3300, 3500, 3700, 3900, 4100, 4350, 4600, 4850, 5100, 5400, 5700, 6000, 6300, 6650, 7000, 7350, 7750, 8150, 8600, 9100, 9650, 10250, 10850, 11500, 12150, 12800, 13450, 14150, 15000, 16000, 24000. Подполосы частот могут индексироваться от 0 до NSB-1. В этом примере, нулевая подполоса частот (от 0 до 50 Гц) содержит 2 спектральных коэффициента, одинаково с подполосами 1-11 частот, подполоса 62 частот содержит 40 спектральных коэффициентов, и подполоса 63 частот содержит 320 коэффициентов. Энергии в NSB=64 подполосах частот могут дискретизироваться с понижением до 16 значений, которые кодируются, причем кодированные значения обозначаются как "sns". 16 декодированных значений, полученных из "sns", интерполируются в SNS-коэффициенты масштабирования, причем, например, может быть предусмотрено 32, 64 или 128 коэффициентов масштабирования. Для получения дополнительных сведений относительно получения SNS, читателям следует обратиться к [21-25].
В блоках iBPC, «декодирования zfl» и/или «заполнения нулями», спектры могут разделяться на подполосы Bi частот варьирующейся длины , причем подполоса частот начинается в . Могут использоваться 64 границы подполос частот, одинаковые с границами, используемыми для энергий для получения коэффициентов масштабирования SNS, но также может использоваться любое другое число подполос частот и любые другие границы подполос частот (независимо от SNS). Необходимо отметить, что может использоваться тот же принцип деления на подполосы частот, что и принцип деления на подполосы частот в SNS, но деление на подполосы частот в блоках iBPC, «декодирования zfl» и/или «заполнения нулями» является независимым от SNS и от блоков SNSE и SNSD. В вышеуказанном примере деления на подполосы частот, и , и ..., и .
Фиг. 3 показывает объект 156 iBPC, который может иметь подобъекты 156q, 156m, 156pc, 156sc и 156mu. В выводе мультиплексора 156mu потоков битов, параметрический декодер 162 для каждой полосы частот (на стороне L) размещается вместе со спектральным декодером 156sc. Оба объекта 162 и 156sc соединяются с модулем 157 комбинирования.
В выводе мультиплексора 156mu потоков битов, параметрический декодер 162 для каждой полосы частот размещается вместе со спектральным декодером 156sd. Объект 162 принимает сигнал zfl, а объект 156sd - сигнал spect, причем оба из них могут принимать глобальное усиление/размер gQ0 шага. Следует обратить внимание, что параметрический декодер 162 использует вывод XD спектрального декодера 156sd для декодирования zfl. Он альтернативно может использовать другой сигнал, выводимый из декодера 156sd. Исходная информация для указанного заключается в том, что спектральный декодер 156sd может содержать две части, а именно, спектральный декодер без потерь и деквантователь. Например, вывод спектрального декодера без потерь может представлять собой декодированный спектр, полученный из spect и используемый в качестве ввода для параметрического декодера 162. Вывод спектрального декодера без потерь может содержать ту же информацию, что и ввод XQ 156pc и 156sc. Деквантователь может использовать глобальное усиление/размер шага, чтобы извлекать XD из вывода спектрального декодера без потерь. Местоположение нулевых подполос частот в декодированном спектре и/или в деквантованном спектре XD может определяться независимо от шага квантования.
XMR квантуется и кодируется, что включает в себя квантование и кодирование энергии для нулевых значений в (части) квантованном спектре XQ, при этом XQ является квантованной версией XMR. Квантование и кодирование XMR выполняется в интегральном параметрическом кодере 156 для каждой полосы частот (iBPC). В качестве одной из частей iBPC, квантование (квантователь 156q) вместе с адаптивным обнулением 156m полос частот формирует, на основе оптимального размера gQ0 шага квантования, квантованный спектр XQ. iBPC 156 формирует кодированную информацию, состоящую из spect 156sc (который представляет XQ) и zfl 162 (который может представлять энергию для нулевых значений в части XQ).
Объект 158 заполнения нулями, размещаемый в выводе объекта 157, проиллюстрирован посредством фиг. 4.
Фиг. 4 показывает объект 158 заполнения нулями, принимающий сигнал EB из объекта 162 и комбинированный спектр XDT из объекта 156sd при необходимости через элемент 157. Объект 158 заполнения нулями может содержать два подобъекта 158sc и 158sg, а также модуль 158c комбинирования.
Spect декодируется, чтобы получать деквантованный спектр XD (декодированный остаток LTP, спектр ошибки), эквивалентный квантованной версии XMR, представляющей собой XQ. EB получается из zfl с учетом местоположения нулевых значений в XD. EB может представлять собой сглаженную версию энергии для нулевых значений в XQ. EB может иметь разрешение, отличное от разрешения zfl, предпочтительно более высокое разрешение, исходящее из сглаживания. После получения EB (см. 162), перцепционно сглаженное прогнозирование XPS при необходимости суммируется с декодированным XD, формируя XDT. Заполнение G нулями получается и комбинируется с XDT (например, с использованием суммирования 158c) в «заполнении нулями», причем заполнение XG нулями состоит из заполнения нулями для каждой полосы частот, которое итеративно получается из спектра XS источника, состоящего из спектра источника для каждой полосы частот (см. 156sc), и взвешивается на основе EB. XCT представляет собой комбинацию для каждой полосы частот заполнения XS нулями и спектра XDT (158c). XS конструируется для каждой полосы частот (158sg выводит XG), и XCT получается для каждой полосы частот, начиная с наименьшей подполосы частот. Для каждой подполосы частот, спектр источника выбирается (см. 158sc), например, в зависимости от положения подполосы частот, флага тональности (toi), спектра мощности, оцененного из XDT, EB, информации основного тона (pii) и временной информации (tei). Следует обратить внимание, что спектр мощности, оцененный из XDT, может извлекаться из XDT или XD. В качестве альтернативы, вариант выбора спектра источника может получаться из потока битов. Наименьшие подполосы частот в XS вплоть до начальной частоты могут задаваться равными 0, что означает то, что в наименьших подполосах частот, XCT может представлять собой копию XDT. может быть равна 0, что означает то, что спектр источника, отличающийся от нулей, может выбираться даже с начала спектра. Спектр источника для подполосы i частот, например, может представлять собой случайный шум или прогнозированный спектр либо комбинацию уже полученной нижней части XCT, случайного шума и прогнозированного спектра. Спектр XS источника взвешивается на основе EB, чтобы получать заполнение XG нулями.
Взвешивание, например, выполняться посредством объекта 158sg и может иметь более высокое разрешение, чем деление на подполосы частот; оно может определяться даже на основе выборок, чтобы получать сглаженное взвешивание. суммируется с полосой i частот XDT, чтобы формировать подполосу i частот XCT. После получения полного XCT, его временная огибающая при необходимости модифицируется через TNSD 159 (см. фиг. 2a), чтобы совпадать с временной огибающей XMS, формируя XCS. Спектральная огибающая XCS затем модифицируется с использованием SNSD 160, чтобы совпадать со спектральной огибающей XM, формируя XC. Сигнал yC временной области получается из XC в качестве вывода IMDCT 161, при этом IMDCT 161 состоит из обратного MDCT, оконного взвешивания и суммирования с перекрытием; yC используется для обновления буфера 164 LTP (сравнимого либо с буфером 164 на фиг. 2a и 2c, либо с комбинацией 164+163) для следующего кадра. Гармонический постфильтр (HPF), который выполняется после контура основного тона, применяется к yC, чтобы уменьшать уровень шума между гармониками и выводить yH. Кодированные импульсы, состоящие из кодированных форм импульсного сигнала, декодируются, и сигнал yP временной области конструируется из декодированных форм импульсного сигнала; yP комбинируется с yH, чтобы формировать декодированный аудиосигнал (PCMO). В качестве альтернативы, yP может комбинироваться с yC, и их комбинация может использоваться в качестве ввода в HPF, причем в этом случае вывод HPF 214 представляет собой декодированный аудиосигнал.
Объект 180 «получение контура основного тона» описан ниже с обращением к фиг. 5.
Ниже поясняется процесс в блоке 180 «получение контура основного тона». Входной сигнал дискретизируется с понижением от полной частоты дискретизации до более низкой частоты дискретизации, например, в 8 кГц. Контур основного тона определяется посредством pitch_mid и pitch_end из текущего кадра и посредством pitch_start, который равен pitch_end из предыдущего кадра. Кадры примерно иллюстрируются посредством фиг. 5. Все значения, используемые в контуре основного тона, сохраняются в качестве запаздываний основного тона с дробной точностью. Значения запаздывания основного тона составляют между минимальным запаздыванием основного тона миллисекунды (соответствующим 444,4 Гц) и максимальным запаздыванием основного тона миллисекунд (соответствующим 51,3 Гц), при этом диапазон от до называется "полным диапазоном основного тона". Также может использоваться другой диапазон значений. Значения pitch_mid и pitch_end находятся во множестве этапов. На каждом этапе поиск основного тона выполняется в зоне дискретизированного с понижением сигнала либо в зоне входного сигнала.
Поиск основного тона вычисляет нормализованную автокорреляцию своего ввода и задержанной версии ввода. Запаздывания dF составляют между началом поиска основного тона и концом поиска основного тона. Начало поиска основного тона, конец поиска основного тона, длина автокорреляции и предыдущий возможный вариант основного тона представляют собой параметры поиска основного тона. Поиск основного тона возвращает оптимальный основной тон , в качестве запаздывания основного тона с дробной точностью и уровнем гармоничности, полученным из значения автокорреляции при оптимальном запаздывании основного тона. Диапазон составляет между 0 и 1, при этом 0 означает отсутствие гармоничность, а 1 означает максимальную гармоничность.
Местоположение абсолютного максимума в нормализованной автокорреляции представляет собой первый возможный вариант dF1 для оптимального запаздывания основного тона. Если находится рядом с dF1, то второй возможный вариант dF2 для оптимального запаздывания основного тона составляет , в противном случае местоположение локального максимума рядом представляет собой второй возможный вариант dF2. Поиск локального максимума не выполняется, если находится рядом с dF1, поскольку в таком случае dF1 должен выбираться снова для dF2. Если разность нормализованной автокорреляции в dF1 и dF2 составляет выше порогового значения возможного варианта основного тона, то задается равным dF1 (), в противном случае задается равным dF2. адаптивно выбирается в зависимости от dF1, dF2 и , например, , если , в противном случае , если и , если (для небольшого изменения основного тона проще переключаться на новое местоположение максимума, и если изменение является большим, то проще переключаться на меньшее запаздывание основного тона, чем на большее запаздывание основного тона).
Местоположения зон для поиска основного тона относительно кадрирования и оконного взвешивания показаны на фиг. 5. Для каждой зоны, поиск основного тона выполняется с длиной автокорреляции, заданной равной длине зоны. Во-первых, запаздывание start_pitch_ds основного тона и ассоциированная гармоничность start_norm_corr_ds вычисляются на более низкой частоте дискретизации с использованием =pitch_start,= и = при выполнении поиска основного тона. После этого запаздывание avg_pitch_ds основного тона и ассоциированная гармоничность avg_norm_corr_ds вычисляются на более низкой частоте дискретизации с использованием =start_pitch_ds,= и = при выполнении поиска основного тона. Средняя гармоничность в текущем кадре задается равной max(start_norm_corr_ds, avg_norm_corr_ds). Запаздывания mid_pitch_ds и end_pitch_ds основного тона и ассоциированные гармоничности mid_norm_corr_ds и end_norm_corr_ds вычисляются на более низкой частоте дискретизации с использованием =avg_pitch_ds, =0,3*avg_pitch_ds и =0,7*avg_pitch_ds при выполнении поиска основного тона. Запаздывания pitch_mid и pitch_end основного тона и ассоциированные гармоничности norm_corr_mid и norm_corr_end вычисляются на полной частоте дискретизации с использованием =pitch_ds, =pitch_ds- и =pitch_ds+ при выполнении поиска основного тона, при этом является отношением полной и более низкой частоты дискретизации, и pitch_ds=mid_pitch_ds для pitch_mid и pitch_ds=end_pitch_ds для pitch_end.
Если средняя гармоничность ниже 0,3, либо если norm_corr_end ниже 0,3, либо если norm_corr_mid ниже 0,6, то передается в служебных сигналах в потоке битов с помощью одного бита то, что в текущем кадре отсутствует контур основного тона. Если средняя гармоничность выше 0,3, контур основного тона кодируется с использованием абсолютного кодирования для pitch_end и дифференциального кодирования для pitch_mid. Pitch_mid кодируется дифференцированно в (pitch_start+pitch_end)/2 с использованием 3 битов, посредством использования кода для разности в (pitch_start+pitch_end)/2 из числа 8 предварительно заданных значений, который минимизирует автокорреляцию в зоне pitch_mid. Если имеется конец гармоничности в кадре, например, norm_corr_end<norm_corr_mid/2, то линейная экстраполяция из pitch_start и pitch_mid используется для pitch_end таким образом, что pitch_mid может кодироваться (например, norm_corr_mid>0,6 и norm_corr_end<0,3).
Если |pitch_mid-pitch_start| , и |norm_corr_mid-norm_corr_start|≤0,5, и ожидаемые усиления HPF в зоне pitch_start и pitch_mid составляют близко к 1 и сильно не изменяются, то передается в служебных сигналах в потоке битов то, что HPF должен использовать постоянные параметры.
Контур основного тона обеспечивает dcontour, значение dcontour[i] запаздывания основного тона в каждой выборке i в текущем окне взвешивания и по меньшей мере в предыдущих выборок. Запаздывания основного тона контура основного тона получаются посредством линейной интерполяции pitch_mid и pitch_end из текущего, предыдущего и второго предыдущего кадра.
Среднее запаздывание основного тона вычисляется для каждого кадра в качестве среднего pitch_start, pitch_mid и pitch_end.
Коррекция запаздывания в половину основного тона также является возможной согласно дополнительным вариантам осуществления.
Буфер LTP, который доступен как в кодере, так и в декодере, используется для проверки того, является ли запаздывание основного тона входного сигнала меньшим, чем . Обнаружение того, является ли запаздывание основного тона входного сигнала меньшим, чем , называется «обнаружением запаздывания в половину основного тона», и если указанное обнаружено, считается, что «обнаружено запаздывание в половину основного тона». Кодированные значения (pitch_mid, pitch_end) запаздывания основного тона кодируются и передаются в диапазоне от до . Из этих кодированных параметров, контур основного тона извлекается так, как задано выше. Если запаздывание в половину основного тона обнаруживается, предполагается, что кодированные значения запаздывания основного тона должны иметь значение, близкое к целому кратному истинных значений запаздывания основного тона (эквивалентно, основной тон входного сигнала составляет около целого кратного кодированного основного тона). Чтобы расширять диапазон запаздывания основного тона за пределы кодируемого диапазона, скорректированные значения (pitch_mid_corrected, pitch_end_corrected) запаздывания основного тона используются. Скорректированные значения (pitch_mid_corrected, pitch_end_corrected) запаздывания основного тона могут быть равными кодированным значениям (pitch_mid, pitch_end) запаздывания основного тона, если истинные значения запаздывания основного тона находятся в кодируемом диапазоне. Следует обратить внимание, что скорректированные значения запаздывания основного тона могут использоваться для получения скорректированного контура основного тона, аналогично тому, как контур основного тона извлекается из значений запаздывания основного тона. Другими словами, это позволяет расширять частотный диапазон контура основного тона за пределами частотного диапазона для кодированных параметров основного тона, формируя скорректированный контур основного тона.
Обнаружение половины основного тона выполняется только в том случае, если основной тон считается постоянным в текущем окне взвешивания, и . Основной тон считается постоянным в текущем окне взвешивания, если max(|pitch_mid-pitch_start |, | pitch_mid-pitch_end |)< . При обнаружении половины основного тона, для каждого , поиск основного тона выполняется с использованием , = ,= и = ; задается равным , который максимизирует нормализованную корреляцию, возвращаемую посредством поиска основного тона. Считается, что половина основного тона обнаруживается, если , и нормализованная корреляция, возвращаемая посредством поиска основного тона для , выше 0,8 и на 0,02 выше нормализованной корреляции, возвращаемой посредством поиска основного тона для .
Если запаздывание в половину основного тона обнаруживается, то pitch_mid_corrected и pitch_end_corrected принимают значение, возвращаемое посредством поиска основного тона для , в противном случае pitch_mid_corrected и pitch_end_corrected задаются равными pitch_mid и pitch_end, соответственно.
Среднее скорректированное запаздывание основного тона вычисляется как среднее pitch_start, pitch_mid_corrected и pitch_end_corrected после коррекции конечных октавных перескоков. Коррекция октавных перескоков находит минимум из pitch_start, pitch_mid_corrected и pitch_end_corrected, и для каждого основного тона из pitch_start, pitch_mid_corrected и pitch_end_corrected находит основной тон/ , ближайший к минимуму (для ). Основной тон/ затем используется вместо исходного значения при вычислении среднего.
Ниже импульсное извлечение поясняется в контексте фиг. 6. Фиг. 6 показывает модуль 110 извлечения импульсов, имеющий объекты 111hp, 112, 113c, 113p, 114 и 114m. Первый объект во вводе представляет собой факультативный фильтр верхних частот 111hp, который выводит сигнал в модуль 112 извлечения импульсов (извлекает импульсы и статистику).
В выводе размещаются два объекта 113c и 113p, которые взаимодействуют между собой и принимают в качестве ввода контур основного тона из объекта 180. Объект для 113c выбора импульсов выводит импульсы P непосредственно в другой объект 114, формирующий форму сигнала. Она представляет собой форму сигнала импульса и может вычитаться с использованием микшера 114m из сигнала PCMi таким образом, чтобы формировать остаточный сигнал R (остаток после извлечения импульсов).
Вплоть до 8 импульсов в расчете на кадр извлекаются и кодируются. В другом примере, может использоваться другое максимальное число импульсов. NPp импульсов из предыдущих кадров сохраняются и используются при извлечении и прогнозирующем кодировании (). В другом примере, другой предел может использоваться для NPp. «Получение 180 контура основного тона» обеспечивает ; в качестве альтернативы, может использоваться . Предполагается, что равен нулю для кадров с низкой гармоничностью.
Частотно-временной анализ через кратковременное преобразование Фурье (STFT) используется для нахождения и извлечения импульсов (см. объект 112). В другом примере, могут использоваться другие частотно-временные представления. Сигнал PCMi может фильтроваться по верхним частотам (111hp) и подвергаться оконному взвешиванию с использованием возведенных в квадрат синусоидальных окон взвешивания длиной в 2 миллисекунды с 75%-м перекрытием и преобразовываться через дискретное преобразование Фурье (DFT) в частотную область (FD). Фильтр 111hp выполнен с возможностью фильтрации аудиосигнала PCMi таким образом, что каждая форма импульсного сигнала импульсной части содержит характеристику верхних частот (после последующей обработки, например, после извлечения импульсов) и/или характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты, и таким образом, что характеристика верхних частот в остаточном сигнале удаляется или уменьшается. В качестве альтернативы, фильтрация верхних частот может выполняться в FD (в 112s или в выводе 112s). Таким образом, в каждом кадре в 20 миллисекунд имеется 40 точек для каждой полосы частот, причем каждая точка состоит из абсолютной величины и фазы. Каждая полоса частот имеет ширину в 500 Гц, и учитываются только 49 полос частот для частоты дискретизации FS=48 кГц, поскольку оставшиеся 47 полос частот могут конструироваться через симметричное протягивание. Таким образом, имеется 49 точек в каждый момент времени STFT и 40-49 точек в частотно-временной плоскости кадра. Размер перескока STFT составляет .
На фиг. 7, объект 112 показывается подробнее. В 112te, временная огибающая получается из спектрограммы логарифмической абсолютной величины посредством интеграции на частотной оси, т.е. для каждого момента времени STFT, логарифмические абсолютные величины суммируются для получения одной выборки временной огибающей.
Показанный объект 112 содержит объект 112s получения спектрограммы, выводящий фазу и/или спектрограмму абсолютной величины на основе сигнала PCMi. Спектрограмма фазы перенаправляется в модуль 112pe извлечения импульсов, тогда как спектрограмма абсолютной величины дополнительно обрабатывается. Спектрограмма абсолютной величины может обрабатываться с использованием модуля 112br удаления фона, модуля 112be оценки фона для оценки фонового сигнала, который должен удаляется. Дополнительно либо в качестве альтернативы, модуль 112te определения временной огибающей и модуль 112pl определения местоположений импульсов обрабатывают спектрограмму абсолютной величины. Объекты 112pl и 112te позволяют определять местоположение(я) импульсов, которые используются в качестве ввода для модуля 112pe извлечения импульсов и модуля 112be оценки фона. Модуль 112pl нахождения местоположений импульсов может использовать информацию контура основного тона. При необходимости, некоторые объекты, например, объект 112be и объект 112te, могут использовать логарифмическое представление спектрограммы абсолютной величины, полученной посредством объекта 112lo.
Согласно вариантам осуществления, кодер 112pe импульсов может быть выполнен с возможностью обработки улучшенной спектрограммы, при этом улучшенная спектрограмма извлекается из спектрограммы аудиосигнала или импульсной части P таким образом, что каждая форма импульсного сигнала импульсной части P содержит характеристику верхних частот и/или характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты, причем начальная частота является пропорциональной инверсии среднего расстояния между близлежащими формами импульсного сигнала. Начальная частота, пропорциональная среднему расстоянию, доступна после нахождения местоположения импульсов (см. 112pl). Следует обратить внимание, что местоположение импульса является эквивалентным положению импульса.
Ниже поясняется функциональность. Сглаженная временная огибающая представляет собой фильтрованную по нижним частотам версию временной огибающей с использованием короткого симметричного FIR-фильтра (например, фильтра четвертого порядка с FS=48 кГц).
Нормализованная автокорреляция временной огибающей вычисляется следующим образом:
,
где eT является временной огибающей после удаления средних. Точная задержка () для максимума оценивается с использованием лагранжева полинома из 3 точек, формирующих пик в нормализованной автокорреляции.
Ожидаемое среднее расстояние между импульсами может оцениваться из нормализованной автокорреляции временной огибающей и среднего запаздывания основного тона в кадре:
,
Где, для кадров с низкой гармоничностью, задается равным 13, что соответствует 6,5 миллисекундам.
Положения импульсов представляют собой локальные пики в сглаженной временной огибающей с таким требованием, что пики должны находиться выше своих окрестностей. Окружение задается как фильтрованная по нижним частотам версия временной огибающей с использованием простого фильтра на основе скользящего среднего с адаптивной длиной; длина фильтра задается равной половине ожидаемого среднего расстояния () между импульсами. Точное положение () импульса оценивается с использованием лагранжева полинома из 3 точек, формирующих пик в сглаженной временной огибающей. Центральное положение () импульса представляет собой точное положение, округленное до моментов времени STFT, и в силу этого расстояние между центральными положениями импульсов является кратным 0,5 миллисекунд. Считается, что каждый импульс протягивается на 2 момента времени влево и на 2 вправо от своего центрального временного положения. Также может использоваться другое число моментов времени.
Вплоть до 8 импульсов в расчете на 20 миллисекунд находятся; если больше импульсов обнаруживается, то меньшие импульсы игнорируются. Число найденных импульсов обозначается как . i-й импульс обозначается как Pi. Среднее расстояние между импульсами задается следующим образом:
Абсолютные величины улучшаются на основе положений импульсов таким образом, что улучшенное STFT, также называемое «улучшенной спектрограммой», состоит только из импульсов. Фон импульса оценивается в качестве линейной интерполяции левого и правого фона, причем левый и правый фоны являются средним значением третьего-пятого моментов времени от центрального временного положения. Фон оценивается в области логарифмической абсолютной величины в 112be и удаляется посредством его вычитания в области линейной абсолютной величины в 112br. Абсолютные величины в улучшенном STFT задаются на линейной шкале. Фаза не модифицируется. Все абсолютные величины в моменты времени, не принадлежащие импульсу, задаются равными нулю.
Начальная частота импульса является пропорциональной инверсии среднего расстояния между импульсами (между близлежащими формами импульсного сигнала) в кадре, но ограничивается между 750 Гц и 7250 Гц:
Начальная частота () выражается как индекс полосы частот STFT.
В общем, согласно вариантам осуществления, упомянутое разнесение может варьироваться в зависимости от импульса таким образом, что среднее может формироваться. Это среднее разнесение/среднее расстояние между импульсами, например, может оцениваться в качестве среднего расстояния между импульсами. Эта оценка среднего разнесения/среднего расстояния используется для вычисления начальной частоты , как пояснено.
Изменение начальной частоты в последовательных импульсах ограничено 500 Гц (одной полосой частот STFT). Абсолютные величины улучшенного STFT ниже начальной частоты задаются равными нулю в 112pe.
Форма сигнала каждого импульса получается из улучшенного STFT в 112pe. Форма импульсного сигнала является ненулевой в пределах 4 миллисекунд вокруг ее временного центра, и длина импульса составляет (частота дискретизации формы импульсного сигнала равна частоте дискретизации FS входного сигнала). Символ представляет форму импульсного сигнала i-ого импульса.
Каждый импульс Pi уникально определяется посредством центрального положения и формы импульсного сигнала. Модуль 112pe извлечения импульсов выводит импульсы Pi, состоящие из центральных положений и формы импульсного сигнала. Импульсы совмещаются с сеткой STFT. В качестве альтернативы, импульсы могут не совмещаться с сеткой STFT, и/или точное положение () импульса может определять импульс вместо .
Признаки вычисляются для каждого импульса:
- процентная доля от локальной энергии в импульсе - ,
- процентная доля от энергии кадра в импульсе - ,
- процентная доля от полос частот с энергией импульса выше половины локальной энергии - ,
- корреляция и расстояние между каждой парой импульсов (из числа импульсов в текущем кадре и NPp последних кодированных импульсов из прошлых кадров),
- запаздывание основного тона в точном местоположении импульса - .
Локальная энергия вычисляется из 11 моментов времени вокруг центра импульса в исходном STFT. Все энергии вычисляются только выше начальной частоты.
Расстояние между парой импульсов получается из местоположения максимальной взаимной корреляции между импульсами. Взаимная корреляция подвергается оконному взвешиванию с прямоугольным окном взвешивания длиной в 2 миллисекунды и нормализуется посредством нормы импульсов (также подвергается оконному взвешиванию с прямоугольным окном взвешивания в 2 миллисекунды). Корреляция импульсов является максимумом нормализованной взаимной корреляции:
Значение находится в диапазоне между 0 и 1.
Ошибка между основным тоном и расстоянием между импульсами вычисляется следующим образом:
При введении кратного числа () расстояния между импульсами, ошибки в оценке основного тона учитываются. Введение кратных чисел () запаздывания основного тона разрешает пропущенные импульсы, возникающие в результате неидеальностей в цепочках импульсов: если импульс в цепочке искажается, или имеется переходная часть, не принадлежащая цепочке импульсов, которая запрещает обнаружение импульса, принадлежащего цепочке.
Вероятность того, что i-й и j-й импульс принадлежит цепочке импульсов (см. объект 113p):
Вероятность импульса со взаимосвязью только с уже кодированными предыдущими импульсами (см. объект 113p) задается следующим образом:
Вероятность () (см. объект 113c) импульса итеративно находится:
Все вероятности возникновения импульсов () задаются равными 1.
В порядке появления во времени импульсов, для каждого импульса, который по-прежнему является вероятным ():
Вероятность импульса, принадлежащего цепочке импульсов в текущем кадре, вычисляется:
Начальная вероятность того, что он представляет собой истинный импульс, в таком случая является следующей:
Вероятность увеличивается для импульсов с энергией во множестве полос частот выше половины локальной энергии:
Вероятность ограничена посредством корреляции временных огибающих и процентной доли от локальной энергии в импульсе:
Если вероятность возникновения импульсов ниже порогового значения, то эта вероятность задается равной нулю, и она более не учитывается:
Этап 2 повторяется при условии, что имеется по меньшей мере одна , заданная равной нулю в текущей итерации, либо до тех пор, пока все не задаются равными нулю.
В конце этой процедуры, имеются NPc истинных импульсов с , равной единице. Все и только истинные импульсы составляют импульсную часть P и кодируются в качестве CP. Из числа NPc истинных импульсов, вплоть до трех последних импульсов сохраняются в запоминающем устройстве для вычисления и в следующих кадрах. Если имеется менее трех истинных импульсов в текущем кадре, некоторые импульсы уже в запоминающем устройстве сохраняются. Всего вплоть до трех импульсов сохраняются в запоминающем устройстве. Может быть предусмотрен другой предел для числа импульсов, сохраненных в запоминающем устройстве, например, 2 или 4. После того, как имеется три импульса в запоминающем устройстве, запоминающее устройство остается полным, при этом самые старые импульсы в запоминающем устройстве заменяются посредством новых найденных импульсов. Другими словами, число NPp предыдущих импульсов, сохраненных в запоминающем устройстве, увеличивается в начале обработки до NPp=3 и сохраняется равным 3 в дальнейшем.
Ниже, относительно фиг. 8, поясняется импульсное кодирование (сторона кодера, см. объект 132 по фиг. 1a).
Фиг. 8 показывает кодер 132 импульсов, содержащий объекты 132fs, 132c и 132pc в основном тракте, при этом объект 132as выполнен с возможностью определения и обеспечения спектральной огибающей импульса в качестве ввода в объект 132fs, выполненный с возможностью выполнения спектрального сглаживания. В основном тракте 132fs, 132c и 132pc, импульсы P кодируются, чтобы определять кодированные спектрально сглаженные импульсы. Кодирование, выполняемое посредством объекта 132pc, выполняется для спектрально сглаженных импульсов. Кодированные импульсы CP на фиг. 2a-c состоят из кодированных спектрально сглаженных импульсов и спектральной огибающей импульса. Ниже подробно поясняется кодирование множества импульсов относительно фиг. 10.
Импульсы кодируются с использованием параметров:
- число NPc импульсов в кадре,
- положение в кадре,
- начальная частота fPi импульсов,
- спектральная огибающая импульса,
- усиление для прогнозирования, и если не равно нулю:
- индекс источника прогнозирования,
- смещение при прогнозировании,
- инновационное усиление ,
- инновация, состоящая из вплоть до 4 импульсов, причем каждый импульс кодируется посредством своего положения и знака.
Один кодированный импульс определяется посредством параметров:
- начальная частота fPi импульсов,
- спектральная огибающая импульса,
- усиление для прогнозирования, и если не равно нулю:
- индекс источника прогнозирования,
- смещение при прогнозировании,
- инновационное усиление ,
- инновация, состоящая из вплоть до 4 импульсов, причем каждый импульс кодируется посредством своего положения и знака.
Из параметров, которые определяют один кодированный импульс, может конструироваться форма сигнала, которая представляет один кодированный импульс. В таком случае также можно сказать, что кодированная форма импульсного сигнала определяется посредством параметров одного кодированного импульса.
Число импульсов кодируется кодом Хаффмана.
Первое положение импульса кодируется абсолютно с использованием кодирования кодом Хаффмана. Для следующих импульсов, дельты положений кодируются кодом Хаффмана. Предусмотрены различные коды Хаффмана в зависимости от числа импульсов в кадре и в зависимости от первого положения импульса.
Первая начальная частота fP0 импульсов кодируется абсолютно с использованием кодирования кодом Хаффмана. Начальные частоты следующих импульсов дифференциально кодируются. Если имеется нулевая разность, то все следующие разности также являются нулевыми, в силу чего число ненулевых разностей кодируется. Все разности имеют одинаковый знак, в силу чего знак разностей может кодироваться с одним битом в расчете на кадр. В большинстве случаев, абсолютная разность составляет самое большее единицу, в силу чего один бит используется для кодирования, если максимальная абсолютная разность составляет единицу или более. В конце, только если максимальная абсолютная разность больше единицы, все ненулевые абсолютные разности должны кодироваться, и они унарно кодируются.
Спектральное сглаживание, например, выполняемое с использованием STFT (см. объект 132fs по фиг. 8), проиллюстрировано посредством фиг. 9a и 9b, причем фиг. 9a показывает исходную форму 10pw импульсного сигнала по сравнению со сглаженной версией по фиг. 9b. Следует обратить внимание, что спектральное сглаживание альтернативно может выполняться посредством фильтра, например, во временной области. Дополнительно на фиг. 9 показано, что импульс определяется посредством формы импульсного сигнала, например, исходный импульс определяется посредством исходной формы импульсного сигнала, и сглаженный импульс определяется посредством сглаженной формы импульсного сигнала. Исходная форма (10pw) импульсного сигнала может получаться из улучшенного STFT (10p') через обратное DFT, окно взвешивания и суммирование с перекрытием, таким же образом, как спектрально сглаженная форма импульсного сигнала (фиг. 9b) получается из спектрально сглаженного STFT в 132c.
Все импульсы в кадре могут использовать одинаковую спектральную огибающую (см. объект 132as), состоящую, например, из восьми полос частот. Частоты границ полос частот являются следующими: 1 кГц, 1,5 кГц, 2,5 кГц, 3,5 кГц, 4,5 кГц, 6 кГц, 8,5 кГц, 11,5 кГц, 16 кГц. Спектральный контент выше 16 кГц явно не кодируется. В другом примере, могут использоваться другие границы полос частот.
Спектральная огибающая в каждый момент времени импульса получается посредством суммирования абсолютных величин в полосах частот огибающей, причем импульс состоит из 5 моментов времени. Огибающие усредняются по всем импульсам в кадре. Точки между импульсами в частотно-временной плоскости не учитываются.
Значения сжимаются с использованием корня четвертой степени, и огибающие векторно квантуются. Векторный квантователь имеет 2 каскада, и второй каскад разбивается на 2 половины. Различные таблицы кодирования существуют для кадров с и и для значений и . Различные таблицы кодирования требуют различного числа битов.
Квантованная огибающая может сглаживаться с использованием линейной интерполяции. Спектрограммы импульсов сглаживаются с использованием сглаженной огибающей (см. объект 132fs). Сглаживание достигается посредством деления абсолютных величин на огибающую (принимаемую из объекта 132as), которое является эквивалентным вычитанию в области логарифмической абсолютной величины. Значения фазы не изменяются. В качестве альтернативы, процессор фильтрации может быть выполнен с возможностью спектрального сглаживания формы импульсного сигнала посредством фильтрации формы импульсного сигнала во временной области.
Форма yPi сигнала спектрально сглаженного импульса получается из STFT через обратное DFT, оконное взвешивание и суммирование с перекрытием в 132c.
Фиг. 10 показывает объект 132pc для кодирования одной спектрально сглаженной формы импульсного сигнала из множества спектрально сглаженных форм импульсного сигнала. Каждая одна кодированная форма импульсного сигнала выводится в качестве кодированного импульсного сигнала. С другой точки зрения, объект 132pc для кодирования одиночных импульсов по фиг. 10 является одинаковым с объектом 132pc, выполненным с возможностью кодирования форм импульсного сигнала, как показано на фиг. 8, но используется несколько раз для кодирования нескольких форм импульсного сигнала.
Объект 132pc по фиг. 10 содержит кодер 132spc импульсов, конструктор 132cpw для сглаженной формы импульсного сигнала и запоминающее устройство 132m, размещаемые в качестве вида контура обратной связи. Конструктор 132cpw имеет одинаковую функциональность с 220cpw, а запоминающее устройство 132m - ту же функциональность, что и 229 на фиг. 14. Каждый одиночный/текущий импульс кодируется посредством объекта 132spc на основе предыдущих импульсов с учетом сглаженной формы импульсного сигнала. Информация относительно предыдущих импульсов обеспечивается запоминающим устройством 132m. Следует обратить внимание, что предыдущие импульсы, кодированные посредством 132pc, подаются через конструктор 132cpw формы импульсного сигнала и запоминающее устройство 132m. Это обеспечивает прогнозирование. Результат посредством использования такого подхода на основе прогнозирования проиллюстрирован посредством фиг. 11. Здесь, фиг. 11a указывает сглаженный оригинал вместе с прогнозированием и результирующим прогнозным остаточным сигналом на фиг. 11b.
Согласно вариантам осуществления, наиболее аналогичный ранее квантованный импульс находится из числа NPp импульсов из предыдущих кадров и уже квантованных импульсов из текущего кадра. Корреляция , как задано выше, используется для выбора наиболее аналогичного импульса. Если разности в корреляции ниже 0,05, более близкий импульс выбирается. Наиболее аналогичный предыдущий импульс представляет собой источник прогнозирования, и его индекс , относительно текущего кодированного импульса, используется в импульсном кодировании. Вплоть до четырех относительных индексов источников прогнозирования группируются и кодируются кодом Хаффмана. Группировка и коды Хаффмана зависят от NPc и от того, либо , либо .
Смещение для максимальной корреляции представляет собой смещение при импульсном прогнозировании. Оно кодируется абсолютно, дифференцированно или относительно оцененного значения, причем оценка вычисляется из запаздывания основного тона в точном местоположении импульса . Число битов, требуемых для каждого типа кодирования, вычисляется, и тип кодирования с минимальным числом битов выбирается.
Усиление , которое максимизирует SNR, используется для масштабирования прогнозирования . Усиление для прогнозирования неравномерно квантуется с 3-4 битами. Если энергия остатка прогнозирования не меньше по меньшей мере на 5% энергии импульса, прогнозирование не используется, и задается равным нулю.
Остаток прогнозирования квантуется с использованием вплоть до четырех импульсов. В другом примере, может использоваться другое максимальное число импульсов. Квантованный остаток, состоящий из импульсов, называется инновацией . Это проиллюстрировано посредством фиг. 12. Чтобы сокращать число битов, число импульсов уменьшается на единицу для каждого импульса, прогнозированного из импульса в этом кадре. Другими словами: если усиление для прогнозирования является нулевым, либо если источник прогнозирования представляет собой импульс из предыдущих кадров, то четыре импульса квантуются, в противном случае число импульсов снижается по сравнению с источником прогнозирования.
Фиг. 12 показывает тракт обработки, который должен использоваться в качестве блока 132spc обработки по фиг. 10. Тракт процесса позволяет определять кодированные импульсы и может содержать три объекта 132bp, 132qi, 132ce.
Первый объект 132bp для нахождения наилучшего прогнозирования использует предыдущие импульсы и форму импульсного сигнала для определения iSOURCE, сдвига, GP' и остатка прогнозирования. Объект 132gi квантования импульсов квантует остаток прогнозирования и выводит GI' и импульсы. Объект 132ce выполнен с возможностью вычисления и применения коэффициента коррекции. Вся эта информация вместе с формой импульсного сигнала принимается посредством объекта 132ce для коррекции энергии, с тем чтобы выводить кодированный импульс. Следующий алгоритм может использоваться согласно вариантам осуществления:
Для нахождения и кодирования импульсов, используется следующий алгоритм:
Абсолютная форма импульсного сигнала конструируется с использованием двухполупериодного выпрямления:
Вектор с числом импульсов в каждом местоположении инициализируется с нулями:
Местоположение максимума в находится:
Вектор с числом импульсов увеличивается на единицу в местоположении найденного максимума:
Максимум в уменьшается:
Этапы 3-5 повторяются до тех пор, пока требуемое число импульсов не находится, при этом число импульсов равно .
Следует отметить, что импульсы могут иметь одинаковое местоположение. Местоположения импульсов упорядочиваются посредством их расстояния от центра импульса. Местоположение первого импульса абсолютно кодируется. Местоположения следующих импульсов дифференциально кодируются с вероятностями в зависимости от положения предыдущего импульса. Кодирование кодом Хаффмана используется для импульсного местоположения. Знак каждого импульса также кодируется. Если множество импульсов имеют одинаковое местоположение, то знак кодируется только однократно.
Усиление , которое максимизирует SNR, используется для масштабирования инновации , состоящей из импульсов. Инновационное усиление неравномерно квантуется с 2-4 битами, в зависимости от числа NPc импульсов.
Первая оценка для квантования сглаженной формы импульсного сигнала в таком случае является следующей:
,
где обозначает квантование.
Поскольку усиления находятся посредством максимизации SNR, энергия может быть гораздо ниже энергии исходного целевого yPi. Чтобы компенсировать уменьшение энергии, коэффициент cg коррекции вычисляется:
Конечные усиления затем являются следующими:
Запоминающее устройство для прогнозирования обновляется с использованием квантованной сглаженной формы импульсного сигнала:
В конце кодирования NPp,≤3 квантованных сглаженных форм импульсного сигнала сохраняются в запоминающем устройстве для прогнозирования в следующих кадрах.
Результирующие 4 масштабированных импульса 15i остаточного сигнала 15r проиллюстрированы посредством фиг. 13. Подробно, масштабированные импульсы 15i представляют , т.е. инновацию , состоящую из импульсов, масштабируемых с квантованной версией усиления .
Ниже с обращением к фиг. 14, поясняется подход для реконструирования импульсов.
Фиг. 14 показывает объект 220 для реконструирования формы сигнала одиночного импульса. Нижепоясненный подход для реконструирования формы сигнала одиночного импульса выполняется многократно для множества форм импульсного сигнала. Множество форм импульсного сигнала используются объектом 22' по фиг. 15 для реконструкции формы сигнала, которая включает в себя множество импульсов. С другой точки зрения, объект 220 обрабатывает сигнал, состоящий из множества кодированных импульсов и множества спектральных огибающих импульса, и, для каждого кодированного импульса и ассоциированной спектральной огибающей импульса, выводит одну реконструированную форму импульсного сигнала таким образом, что в выводе объекта 220 предусмотрен сигнал, состоящий из множества реконструированных форм импульсного сигнала.
Объект 220 содержит множество подобъектов, например, объект 220cpw для конструирования спектрально сглаженной формы импульсного сигнала, объект 224 для формирования спектрограммы импульсов (спектрограммы фазы и абсолютной величины) спектрально сглаженной формы импульсного сигнала и объект 226 для спектрального формирования спектрограммы абсолютной величины импульсов. Этот объект 226 использует спектрограмму абсолютной величины, а также спектральную огибающую импульса. Вывод объекта 226 подается в преобразователь для преобразования спектрограммы импульсов в форму сигнала, который указан ссылочной позицией 228. Этот объект 228 принимает спектрограмму фазы, а также спектрально сформированную спектрограмму абсолютной величины импульсов, с тем чтобы реконструировать форму импульсного сигнала. Следует отметить, что объект 220cpw (выполненный с возможностью конструирования спектрально сглаженной формы импульсного сигнала) принимает во вводе сигнал, описывающий кодированный импульс. Конструктор 220cpw содержит вид контура обратной связи, включающего в себя запоминающее устройство 229 обновления. Это обеспечивает возможность того, что форма импульсного сигнала конструируется с учетом предыдущих импульсов. Здесь, ранее сконструированные формы импульсного сигнала возвращаются таким образом, что предыдущие импульсы могут использоваться посредством объекта 220cpw для конструирования следующей формы импульсного сигнала. Ниже поясняется функциональность этого реконструктора 220 импульсов. Следует отметить, что на стороне декодера имеются только квантованные сглаженные формы импульсного сигнала (также называются "декодированными сглаженными формами импульсного сигнала" или "кодированными сглаженными формами импульсного сигнала"), и поскольку отсутствуют исходные формы импульсного сигнала на стороне декодера, используются сглаженные формы импульсного сигнала для называния квантованных сглаженных форм импульсного сигнала на стороне декодера и формы импульсного сигнала для называния квантованных форм импульсного сигнала (также называемых "декодированными формами импульсного сигнала" или "кодированными формами импульсного сигнала", или "декодированными формами импульсного сигнала").
Для реконструирования импульсов на стороне 220 декодера, квантованные сглаженные формы импульсного сигнала конструируются (см. объект 220cpw) после декодирования усилений ( и ), импульсов/инновации, источника () прогнозирования и смещения (). Запоминающее устройство 229 для прогнозирования обновляется (аналогично кодеру в объекте 132m). STFT (см. объект 224) затем получается для каждой формы импульсного сигнала. Например, используются возведенные в квадрат синусоидальные окна взвешивания длиной в 2 миллисекунды с 75%-м перекрытием, равные окнам взвешивания при импульсном извлечении. Абсолютные величины STFT восстанавливаются в исходную форму с использованием декодированной и сглаженной спектральной огибающей и обнуляются ниже начальной частоты fPi импульсов. Простое умножение абсолютных величин на огибающую может использоваться для формирования STFT (см. объект 226). Фазы не модифицируются. Реконструированная форма сигнала импульса получается из STFT через обратное DFT, оконное взвешивание и суммирование с перекрытием (см. объект 228). В качестве альтернативы, огибающая может формироваться через FIR или некоторый другой фильтр, и каждая форма импульсного сигнала может фильтроваться по верхним частотам с отсечкой фильтра верхних частот, заданной равной начальной частоте fPi импульсов, исключая STFT. Обнуление STFT ниже начальной частоты fPi импульсов и фильтрация верхних частот с отсечкой фильтра верхних частот, заданной равной начальной частоте fPi импульсов, имеют одинаковый эффект для каждой формы импульсного сигнала, которая содержит характеристики верхних частот и/или характеристики, имеющие большую энергию на частотах, начинающихся выше начальной частоты.
Фиг. 15 показывает объект 22', последующий относительно объекта 228, который принимает множество реконструированных форм сигналов импульсов, а также положений импульсов таким образом, чтобы конструировать форму yP сигнала (см. фиг. 2a, 2c). Этот объект 22' используется, например, в качестве последнего объекта в конструкторе 22 форм сигналов по фиг. 1a или 2a, или 2c.
Реконструированные формы импульсного сигнала конкатенируются на основе декодированных положений , со вставкой нулей между импульсами в объекте 22' на фиг. 15. Конкатенированная форма (yP) сигнала суммируется с декодированным сигналом (см. 23 на фиг. 2a или на фиг. 2c). Объекты 22' на фиг. 15 и 114 на фиг. 6 имеют одинаковую функциональность.
Реконструированные формы импульсного сигнала конкатенируются на основе декодированных положений , со вставкой нулей между реконструированными импульсами (реконструированными формами импульсного сигнала). В некоторых случаях, реконструированные формы импульсного сигнала могут перекрываться в конкатенированной форме (yP) сигнала, и в этом случае нули не вставляются между формами импульсного сигнала. Конкатенированная форма (yP) сигнала суммируется с декодированным сигналом. Таким же способом исходные формы xPi импульсного сигнала конкатенируются и вычитаются из ввода кодека на основе MDCT.
Реконструированная форма импульсного сигнала не является идеальными представлениями исходных импульсов. Удаление реконструированной формы импульсного сигнала из ввода в силу этого должно оставлять некоторые переходные части сигнала. Поскольку переходные сигналы не могут оптимально представляться с помощью кодека MDCT, шум, разбросанный по всему кадру, должен присутствовать, и преимущество отдельного кодирования импульсов должно уменьшаться. По этой причине, исходные импульсы удаляются из ввода.
Согласно вариантам осуществления, флаг ϕH тональности HF может задаваться следующим образом:
Нормализованная корреляция вычисляется для yMHF между выборками в текущем окне взвешивания и задержанной версией с задержкой (или ), при этом yMHF является фильтрованной по верхним частотам версией остаточного импульсного сигнала yM. Для примера, может использоваться фильтр верхних частот с частотой перехода приблизительно в 6 кГц.
Для каждого частотного элемента разрешения MDCT выше указанной частоты, как указано в 5.3.3.2.5 по [7], определяется то, является либо нет частотный элемент разрешения тональным или шумоподобным. Общее число тональных частотных элементов разрешения вычисляется в текущем кадре, и дополнительно сглаженное общее число тональных частот вычисляется как .
Флаг ϕH HF-тональности задается равным 1, если TNS является неактивным, и контур основного тона присутствует, и имеется тональность на высоких частотах, при этом тональность существует на высоких частотах, если или .
Относительно фиг. 16, поясняется iBPC-подход. Ниже поясняется процесс получения оптимального размера gQ0 шага квантования. Процесс может представлять собой неотъемлемую часть iBPC блока. Следует обратить внимание, что iBPC по фиг. 16 выводит gQ0 на основе XMR. В другом устройстве XMR и gQ0 могут использоваться в качестве ввода (для получения подробностей см. фиг. 3).
Фиг. 16 показывает блок-схему подхода для оценки размера шага. Процесс начинается с i=0, при этом далее выполняются четыре этапа квантования, адаптивного обнуления полос частот, объединенного определения параметров для каждой полосы частот и спектра и определения того, является ли спектр кодируемым. Эти этапы указаны ссылочными позициями 301-304. В случае если спектр является кодируемым, размер шага снижается (см. этап 307), следующая итерация++i выполняется, см. ссылочную позицию 308. Это выполняется при условии, что i не равен максимальной итерации (см. этап 309 принятия решения). В случае если максимальная итерация достигается, размер шага выводится. В случае если максимальная итерация не достигается, выполняется следующая итерация.
В случае если спектр не является кодируемым, процесс, имеющий этапы 311 и 312 вместе с этапом 313 верификации (спектр теперь является кодируемым), применяется. После этого, размер шага увеличивается (см. 314) перед инициированием следующей итерации (см. этап 308).
Спектр XMR, спектральная огибающая которого перцепционно сглаживается, скалярно квантуется с использованием одного размера gQ шага квантования по всей кодированной полосе пропускания и энтропийно кодируется, например, с помощью контекстного арифметического кодера, формирующего кодированный spect, полоса пропускания кодированного спектра разделяется на подполосы Bi частот увеличивающейся ширины .
Оптимальный размер gQ0 шага квантования, также называемый «глобальным усилением», находится итеративно, как пояснено.
На каждой итерации, спектр XMR квантуется в блоке квантования, чтобы формировать XQ1. В блоке «адаптивного обнуления полос частот», отношение энергии нульквантованных линий и исходной энергии вычисляется в подполосах Bi частот, и если отношение энергий выше адаптивного порогового значения , целая подполоса частот в XQ1 задается равной нулю. Пороговые значения вычисляются на основе флага ϕH тональности и флагов , причем флаги указывают, обнулена ли подполоса частот в предыдущем кадре:
Для каждой обнуленной подполосы частот, флаг задается равным единице. В конце обработки текущего кадра, копируются в . В качестве альтернативы, может быть предусмотрено более одного флага тональности и преобразование из множества флагов тональности в тональность каждой подполосы частот, формируя значение тональности для каждой подполосы частот. Значения , например, могут иметь значение из набора значений {0,25, 0,5, 0,75}. В качестве альтернативы, другое решение может использоваться для принятия решения на основе энергии нуль-квантованных линий и исходной энергии и на основе контента XQ1 и XMR в отношении того, следует ли задавать целую подполосу i частот в XQ1 равной нулю.
Частотный диапазон, в котором используется адаптивное обнуление полос частот, может ограничиваться выше определенной частоты , например, в 7000 Гц, расширяя адаптивное обнуление полос частот при условии, что наименьшая подполоса частот обнуляется, вниз до определенной частоты , например, в 700 Гц.
Отдельные уровни заполнения нулями (отдельный zfl) подполос частот XQ1 выше fEZ, причем fEZ, например, составляет 3000 Гц, которые полностью являются нулевыми, явно кодируются, и дополнительно один уровень (zflsmall) заполнения нулями для всех нулевых подполос частот ниже fEZ и всех нулевых подполос частот выше fEZ, квантованных до нуля, кодируется. Подполоса частот XQ1 может быть полностью нулевой вследствие квантования в блоке квантования, даже если явно не задается равной нулю посредством адаптивного обнуления полос частот. Требуемое число битов для энтропийного кодирования уровней заполнения нулями (zfl, состоящих из отдельного zfl и zflsmall) и спектральных линий в XQ1 вычисляется. Дополнительно, число NQ спектральных линий, которые могут явно кодироваться с доступным битовым бюджетом, находится. NQ представляет собой неотъемлемую часть кодированного spect и используется в декодере, чтобы узнать, сколько битов используется для кодирования спектральных линий; другие способы для нахождения числа битов для кодирования спектральных линий могут использоваться, например, с использованием специального EOF-символа. При условии, что недостаточно битов для кодирования всех ненулевых линий, линии в XQ1 выше NQ задаются равными нулю, и требуемое число битов повторно вычисляется.
Для вычисления битов, необходимых для кодирования спектральных линий, вычисляются биты, необходимые для кодирования линий начиная снизу. Это вычисление необходимо только однократно, поскольку повторное вычисление битов, необходимых для кодирования спектральных линий, становится эффективным посредством сохранения числа битов, требуемых для кодирования n линий для каждого .
На каждой итерации, если требуемое число битов превышает число доступных битов, глобальное усиление gQ снижается (307), в противном случае gQ увеличивается (314). На каждой итерации, скорость изменения глобального усиления адаптируется. Адаптация скорости изменения, та же адаптация скорости изменения в контуре искажения в зависимости от скорости передачи из EVS [20], может использоваться для итеративной модификации глобального усиления. В конце итеративного процесса оптимальный размер gQ0 шага квантования равен gQ, который формирует оптимальное кодирование спектра, например, с использованием критериев из EVS, и XQ равен соответствующему XQ1.
Вместо фактического кодирования, может использоваться оценка максимального числа битов, необходимых для кодирования. Вывод итеративного процесса представляет собой оптимальный размер gQ0 шага квантования; вывод также может содержать кодированный spect и кодированные уровни заполнения шумом (zfl), поскольку они обычно уже доступны, с тем чтобы исключать повторяющуюся обработку при получении их снова.
Ниже подробно поясняется заполнение нулями.
Согласно вариантам осуществления, ниже поясняется блок "заполнения нулями", начиная с примера способа выбора спектра источника.
Для создания заполнения нулями, следующие параметры адаптивно находятся:
- оптимальное большое расстояние перезаписи,
- минимальное расстояние перезаписи,
- минимальное начало источника перезаписи,
- сдвиг расстояния перезаписи.
Оптимальное расстояние перезаписи определяет оптимальное расстояние, если спектр источника представляет собой уже полученную нижнюю часть . Значение находится между минимальным , которое, например, задается равным индексу, соответствующему 5600 Гц, и максимальным , которое, например, задается равным индексу, соответствующему 6225 Гц. Другие значения могут использоваться с ограничением .
Расстояние между гармониками вычисляется из среднего запаздывания основного тона, причем среднее запаздывание основного тона декодируется из потока битов или выводится из параметров из потока битов (например, ). В качестве альтернативы, может получаться посредством анализа либо его производной (например, из сигнала временной области, полученного с использованием ). Расстояние между гармониками не обязательно является целым числом. Если , то задается равным нулю, причем нуль представляет собой способ передачи в служебных сигналах того, что отсутствует значимое запаздывание основного тона.
Значение является минимальным кратным расстояния между гармониками, большего минимального оптимального расстояния перезаписи:
Если равно нулю, то не используется.
Начальная спектральная TNS-линия плюс TNS-порядок обозначается как ; она, например, может составлять индекс, соответствующий 1000 Гц.
Если TNS является неактивным в кадре, задается равным . Если TNS является активным, задается равным , с дополнительным нижним ограничением посредством , если HF являются тональными (например, если ϕH равен единице).
Спектр ZC абсолютной величины оценивается из декодированного spect XDT:
Нормализованная корреляция оцененного спектра абсолютной величины вычисляется следующим образом:
Длина LC корреляции задается равной максимальному значению, разрешенному посредством доступного спектра, при необходимости ограниченному некоторым значением (например, длиной, эквивалентной 5000 Гц).
По существу, выполняется поиск n, которое максимизирует корреляцию между источником перезаписи и назначением , где .
выбирается из n (), при этом имеет первый пик и выше среднего значения , т.е.: и , и для каждого , не удовлетворяется то, что . В другой реализации, можно выбирать таким образом, что оно является абсолютным максимумом в диапазоне от до . Любое другое значение в диапазоне от до может выбираться для , при этом оптимальное большое расстояние перезаписи ожидается.
Если TNS является активным, можно выбирать .
Если TNS является неактивным, , где является нормализованной корреляцией, и является оптимальным расстоянием в предыдущем кадре. Флаг указывает, происходит ли изменение тональности в предыдущем кадре. Функция возвращает , либо . Решение в отношении того, какое значение следует возвращать в , главным образом основано на значениях , и . Если флаг является истинным, и или являются допустимыми, то игнорируется. Значения и используются в редких случаях.
В примере может задаваться со следующими решениями:
возвращается, если больше , по меньшей мере для и больше , по меньшей мере для , где и являются адаптивными пороговыми значениями, которые являются пропорциональными и , соответственно. Дополнительно, может требоваться то, что выше некоторого абсолютного порогового значения, например, 0,5,
- в противном случае возвращается, если больше , по меньшей мере для порогового значения, например, 0,2,
- в противном случае возвращается, если задается, и ,
- в противном случае возвращается, если , и значение является допустимым, т.е. если возникает значимое запаздывание основного тона,
- в противном случае возвращается, если является небольшим, например, ниже 0,1, и значение является допустимым, т.е. если возникает значимое запаздывание основного тона, и изменение запаздывания основного тона из предыдущего кадра является небольшим,
- в противном случае возвращается.
Флаг задается как истинный, если TNS является активным, либо если , и тональность являются низкой, при этом тональность является низкой, например, если является ложью, либо если является нулем; составляет значение, меньшее 1, например, 0,7. Значение, заданное равным , используется в следующем кадре.
Процентное изменение между предыдущим кадром и текущим кадром также вычисляется.
Сдвиг расстояния перезаписи задается равным , если оптимальное расстояние перезаписи не является эквивалентным, и ( составляет предварительно заданное пороговое значение), причем в этом случае задается равным значению, равному значению в предыдущем кадре, так что оно становится постоянным по последовательным кадрам. представляет собой показатель изменения (например, процентного изменения) между предыдущим кадром и текущим кадром; , например, может задаваться равным 0,1, если представляет собой перцепционное изменение . Если TNS является активным в кадре, не используется.
Минимальное начало источника перезаписи, например, может задаваться равным , если TNS является активным, с факультативным нижним ограничением посредством , если HF являются тональными, либо, например, задаваться равным , если TNS не является активным в текущем кадре.
Минимальное расстояние перезаписи, например, задается равным , если TNS является неактивным. Если TNS является активным, , например, задается равным , если HF не являются тональными, либо задается, например, равным , если HF являются тональными.
С использованием, например, в качестве начального условия, случайный шумовой спектр XN конструируется как , причем функция усекает результат до 16 битов. Любой другой генератор случайного шума и начальное условие могут использоваться. Случайный шумовой спектр XN затем задается равным нулю в местоположении ненулевых значений в XN, и при необходимости части в XN между заданными равными нулю местоположениями подвергаются оконному взвешиванию, чтобы уменьшать случайный шум около местоположений ненулевых значений в XD.
Для каждой подполосы Bi частот длины , начиная c в , спектр источника для находится. Деление на подполосы частот может быть таким же, что и деление на подполосы частот, используемое для кодирования zfl, но также может и отличаться, может быть более высоким или более низким.
Для примера, если TNS не является активным, и HF не являются тональными, то случайный шумовой спектр XN используется в качестве спектра источника для всех подполос частот. В другом примере, XN используется в качестве спектра источника для подполос частот, в которых другие источники являются пустыми, либо для некоторых подполос частот, которые начинаются ниже минимального назначения перезаписи: .
В другом примере, если TNS не является активным, и HF являются тональными, прогнозированный спектр XNP может использоваться в качестве источника для подполос частот, которые начинаются ниже , и при этом EB по меньшей мере на 12 дБ выше EB в соседних подполосах частот, в которых прогнозированный спектр получается из предыдущего декодированного спектра или из сигнала, полученного из предыдущего декодированного спектра (например, из декодированного TD-сигнала).
Для случаев, не содержащихся в вышеприведенных примерах, расстояние dc может находиться таким образом, что , либо смесь и может использоваться в качестве спектра источника для , который начинается в , где . В одном примере, если TNS является активным, но начинается только на более высокой частоте (например, в 4500 Гц), и HF не являются тональными, смесь и может использоваться в качестве спектра источника, если ; в еще одном другом примере, только или спектр, состоящий из нулей, может использоваться в качестве источника. Если , то dc может задаваться равным . Если TNS является активным, то положительное целое число n может находиться таким образом, что , и dc может задаваться равным , например, наименьшему такому целому числу n. Если TNS не является активным, другое положительное целое число n может находиться таким образом, что , и задается равным , например, наименьшему такому целому числу n.
В другом примере, наименьшие подполосы частот в XS вплоть до начальной частоты могут задаваться равными 0, что означает то, что в наименьших подполосах частот, XCT может представлять собой копию XDT.
Ниже приводится пример взвешивания спектра источника на основе EB в блоке "заполнения нулями".
В примере сглаживания EB, может получаться из zfl, причем каждое соответствует подполосе i частот в EB. затем сглаживаются: и .
Коэффициент масштабирования вычисляется для каждой подполосы Bi частот в зависимости от спектра источника:
Дополнительно, масштабирование ограничено с помощью коэффициента , вычисляемого следующим образом:
Полоса () частот спектра источника разбивается на две половины, и каждая половина масштабируется, первая половина с , а вторая с .
Следует обратить внимание, что в вышеприведенном пояснении, извлекается с использованием , и извлекается с использованием и , и извлекается с использованием и . извлекается с использованием и , и . Согласно дополнительным вариантам осуществления, это может извлекаться с использованием gQ0. Например, масштабирование спектра источника извлекается с использованием оптимального шага gQ0 квантования, при необходимости - дополнительного декодера.
Масштабированная полоса частот спектра источника, причем масштабированная полоса частот спектра источника составляет , суммируется с для получения .
Ниже приводится пример квантования энергий нульквантованных линий (в качестве части iBPC).
XQZ получается из XMR посредством задания ненулевых квантованных линий равными нулю. Например, так же как и XN, значения в местоположении ненулевых квантованных линий в XQ задаются равными нулю, и нулевые части между ненулевыми квантованными линиями подвергаются оконному взвешиванию в XMR, формируя XQZ.
Энергия () в расчете на полосу i частот для нулевых линий вычисляется из XQZ:
EZi, например, квантуются с использованием размера шага в 1/8 и ограничиваются 6/8. Отдельные EZi кодируются в качестве отдельного zfl только для подполос частот выше fEZ, причем fEZ, например, составляет 3000 Гц, которые полностью квантуются до нуля. Дополнительно, один энергетический уровень EZs вычисляется как среднее значение всех EZi из нулевых подполос частот ниже fEZ и из нулевых подполос частот выше fEZ, причем EZi квантуется до нуля, при этом нулевая подполоса частот означает то, что полная подполоса частот квантуется до нуля. Низкий уровень EZs квантуется с размером шага в 1/16 и ограничивается 3/16. Энергия отдельных нулевых линий в ненулевых подполосах частот оценивается и не кодируется явно.
Значения EBi получаются на стороне декодера из zfl, и значения EBi для нулевых подполос частот соответствуют квантованным значениям EZi. Таким образом, значение EB, состоящее из EBi, может кодироваться в зависимости от оптимального шага gQ0 квантования. Это проиллюстрировано посредством фиг. 3, на котором параметрический кодер 156pc принимает в качестве ввода для gQ0. В другом примере, другой размер шага квантования, конкретный для параметрического кодера, может использоваться, независимо от оптимального шага gQ0 квантования. В еще одном другом примере, неравномерный скалярный квантователь или векторный квантователь может использоваться для кодирования zfl. При этом в представленном примере преимущественно использовать оптимальный шаг gQ0 квантования вследствие зависимости квантования XMR до нуля от оптимального шага gQ0 квантования.
Долговременное прогнозирование (LTP)
Ниже поясняется блок LTP.
Сигнал yC временной области используется в качестве ввода в LTP, причем yC получается из XC в качестве вывода IMDCT. IMDCT состоит из обратного MDCT, оконного взвешивания и суммирования с перекрытием. Левая перекрывающаяся часть и неперекрывающаяся часть yC в текущем кадре сохраняются в буфере LTP.
Буфер LTP используется в следующем кадре в LTP, чтобы формировать прогнозированный сигнал для всего окна взвешивания MDCT. Это проиллюстрировано посредством фиг. 17a.
Если меньшее перекрытие, например половинное перекрытие, используется для правого перекрытия в текущем взвешивающем окне, то также неперекрывающаяся часть «разность перекрытия» сохраняется в буфере LTP. Таким образом, выборки в положении «разность перекрытия» (см. фиг. 17b) также должны помещаться в буфер LTP, вместе с выборками в положении между двумя вертикальными линиями перед «разностью перекрытия». Неперекрывающаяся часть «разность перекрытия» выводится в декодере не в текущем кадре, а только в следующем кадре (см. фиг. 17b и 17c).
Если меньшее перекрытие используется для левого перекрытия в текущем окне взвешивания, целая неперекрывающаяся часть вплоть до начала текущего окна взвешивания используется в качестве части буфера LTP для формирования прогнозированного сигнала.
Прогнозированный сигнал для целого окна взвешивания MDCT формируется из буфера LTP. Временной интервал длины окна взвешивания разбивается на перекрывающиеся субинтервалы длины с размером перескока в . Другие размеры перескока и взаимосвязи между длиной субинтервала и размером перескока могут использоваться. Длина перекрытия может составлять или меньше. выбирается таким образом, что значимое изменение основного тона не ожидается в субинтервалах. В примере, является целым числом, ближайшим к , но не большим , и задается равным , как проиллюстрировано посредством фиг. 17d. В другом примере, дополнительно может требоваться то, что длина кадра или длина окна взвешивания делится на .
Ниже приводится пример «средства (1030) вычисления, выполненного с возможностью извлечения параметров субинтервала из кодированного параметра основного тона в зависимости от положения субинтервалов в интервале, ассоциированном с кадром кодированного аудиосигнала», а также пример «параметры извлекаются из кодированного параметра основного тона и положения субинтервала в интервале, ассоциированном с кадром кодированного аудиосигнала». Для каждого запаздывания основного тона в субинтервал, в центре субинтервала получается из контура основного тона. На первом этапе, запаздывание основного тона в субинтервал задается равным запаздыванию основного тона в положении центра субинтервала. При условии, что расстояние () от конца субинтервала до начала окна взвешивания больше , увеличивается для значения запаздывания основного тона из контура основного тона в положении слева от центра субинтервала, которая составляет , до . Расстояние () от конца субинтервала до начала окна взвешивания также может называться «концом субинтервала».
В каждом субинтервале, прогнозированный сигнал конструируется с использованием буфера LTP и фильтра с передаточной функцией , при этом:
,
где является целочисленной частью , т.е. , и является дробной частью , т.е. , и является фильтром с дробной задержкой. может иметь характеристики нижних частот (либо он может компенсировать предыскажения высоких частот), Прогнозный сигнал затем подвергается плавному переходу в перекрывающихся областях субинтервалов.
В качестве альтернативы, прогнозированный сигнал может конструироваться с использованием способа с каскадными фильтрами, как описано в [8], с откликом при отсутствии входного сигнала (ZIR) фильтра на основе фильтра с передаточной функцией и буфера LTP, используемого в качестве начального вывода фильтра, причем:
Примеры для являются следующими:
В примерах обычно округляется до ближайшего значения из списка значений, и для каждого значения в списке фильтр B предварительно задается.
Прогнозированный сигнал XP' (см. фиг. 1a) подвергается оконному взвешиванию, с окном взвешивания, равным окну взвешивания, используемому для формирования XM, и преобразуется через MDCT для получения XP.
Ниже приводится пример средства для модификации прогнозированного спектра или производной прогнозированного спектра, в зависимости от параметра, извлекаемого из кодированного параметра основного тона. Абсолютные величины коэффициентов MDCT, отстоящие по меньшей мере на от гармоник в XP, задаются равными нулю (или умножаются на положительный коэффициент, меньший 1), причем , например, равно 10. В качестве альтернативы, окна взвешивания, для уменьшения абсолютных величин между гармониками могут использоваться окна взвешивания, отличные от прямоугольного окна. Считается, что гармоники в XP находятся в местоположениях элементов разрешения, которые являются целыми кратными , где LM является длиной XP, и является средним скорректированным запаздыванием основного тона. Гармонические местоположения составляют . Это удаляет шум между гармониками, в частности, когда обнаруживается запаздывание в половину основного тона.
Спектральная огибающая XP перцепционно сглаживается таким же способом, что и способ для XM, например, через SNSE, для получения XPS.
Ниже приводится пример «число прогнозируемых гармоник определяется на основе кодированного параметра основного тона». С использованием XPS, XMS и , число nLTP прогнозируемых гармоник определяется; nLTP кодируется и передается в декодер. Вплоть до NLTP гармоник могут прогнозироваться, например, NLTP=8. XPS и XMS разделяются на NLTP полос частот с длиной , причем каждая полоса частот начинается в , ; nLTP выбирается таким образом, что для всех n≤nLTP, отношение энергии XMS-XPS и XMS ниже порогового значения , например, . Если нет такого n, то nLTP=0, и LTP не является активным в текущем кадре. В служебных сигналах с помощью флага передается, является ли LTP активным. Вместо XPS и XMS, могут использоваться XP и XM. Вместо XPS и XMS, могут использоваться XPS и XMT. В качестве альтернативы, число прогнозируемых гармоник может определяться на основе контура dcontour основного тона.
Ниже приводится пример модуля (157) комбинирования, выполненного с возможностью комбинирования по меньшей мере части спектра (XP) прогнозирования или части производной прогнозированного спектра (XPS) со спектром (XD) ошибки. Если LTP является активным, то первые коэффициентов XPS, за исключением нулевого коэффициента, вычитаются из XMT, чтобы формировать XMR. Нулевой, а также коэффициенты выше копируются из XMT в XMR.
В процессе квантования, XQ получается из XMR, и XQ кодируется в качестве spect, и посредством декодирования, XD получается из spect.
Если LTP является активным, то первые коэффициентов XPS, за исключением нулевого коэффициента, суммируются с XD, чтобы формировать XDT. Нулевой, а также коэффициенты выше копируются из XD в XDT.
Ниже поясняются используемые при необходимости признаки гармонической постфильтрации.
Сигнал yC временной области получается из XC в качестве вывода IMDCT, причем IMDCT состоит из обратного MDCT, оконного взвешивания и суммирования с перекрытием. Гармонический постфильтр (HPF), который выполняется после контура основного тона, применяется к yC, чтобы уменьшать уровень шума между гармониками и выводить yH. Вместо yC, комбинация yC и сигнала yP временной области, сконструированная из декодированных форм импульсного сигнала, может использоваться в качестве ввода в HPF, как проиллюстрировано посредством фиг. 18a.
Ввод HPF для текущего кадра k составляет . Также доступны предыдущие выходные выборки (, где составляет по меньшей мере максимальное запаздывание основного тона). Также доступно Nahead упреждающих выборок IMDCT, которые могут включать в себя подвергнутые временному наложению спектров части правой перекрывающейся области обратного вывода MDCT. Показан пример, в котором временной интервал, к которому применяется HPF, равен текущему кадру, но могут использоваться различные интервалы. Местоположение текущего ввода-вывода HPF, предыдущего вывода HPF и упреждения IMDCT относительно окон взвешивания MDCT/IMDCT проиллюстрировано на фиг. 18a, где также показана перекрывающаяся часть, которая может суммироваться как обычно, чтобы формировать суммирование с перекрытием.
Если в служебных сигналах в потоке битов передается, что HPF должен использовать постоянные параметры, сглаживание используется в начале текущего кадра, с дальнейшим выполнением HPF с постоянными параметрами для оставшейся части кадра. В качестве альтернативы, анализ основного тона может выполняться для yC, чтобы принять решение в отношении того, должны ли использоваться постоянные параметры. Длина области, в которой используется сглаживание, может зависеть от параметров основного тона.
Когда постоянные параметры не передаются в служебных сигналах, ввод HPF разбивается на перекрывающиеся субинтервалы длины Lk с размером перескока в . Другие размеры перескока могут использоваться. Длина перекрытия может составлять или меньше. Lk выбирается таким образом, что значимое изменение основного тона не ожидается в субинтервалах. В примере, является целым числом, ближайшим к pitch_mid/2, но не большим pitch_mid/2, и Lk задается равной . Вместо pitch_mid, некоторые другие значения могут использоваться, например, среднее значение pitch_mid и pitch_start либо значение, полученное из анализа основного тона для yC, или, например, ожидаемое минимальное запаздывание основного тона в интервале для сигналов с варьирующимся основным тоном. В качестве альтернативы, фиксированное число субинтервалов может выбираться. В другом примере, дополнительно может требоваться то, что длина кадра делится на (см. фиг. 18b).
Считается, что число субинтервалов в текущем интервале k составляет Kk, в предыдущем интервале k-1 составляет Kk-1, и в следующем интервале k+1 составляет Kk+1. В примере на фиг. 18b, Kk=6 и Kk-1=4.
В другом примере, возможно то, что текущий (временной) интервал разбивается на нецелое число субинтервалов, и/или то, что длина субинтервалов изменяется в текущем интервале, как показано ниже. Это проиллюстрировано посредством фиг. 18c и 18d.
Для каждого субинтервала l в текущем интервале , запаздывание pk, l основного тона в субинтервал находится с использованием алгоритма поиска основного тона, который может быть таким же, что и поиск основного тона, используемый для получения контура основного тона, или отличающимся от него. Поиск основного тона для субинтервала l может использовать значения, извлеченные из кодированного запаздывания основного тона (pitch_mid, pitch_end), чтобы уменьшать сложность поиска и/или повышать стабильность значений pk, l по субинтервалам, например, значения, извлеченные из кодированного запаздывания основного тона, могут быть значениями контура основного тона. В другом примере, параметры, найденные посредством глобального анализа основного тона в полном интервале yC, могут использоваться вместо кодированного запаздывания основного тона, чтобы уменьшать сложность поиска и/или стабильность значений pk, l по субинтервалам. В другом примере, при поиске запаздывания основного тона в субинтервал, предполагается, что промежуточный вывод гармонической постфильтрации для предыдущих субинтервалов доступен и используется в поиске основного тона (включающем в себя субинтервалы предыдущих интервалов).
Nahead (потенциально подвергнутых временному наложению спектров) упреждающих выборок также могут использоваться для нахождения основного тона в субинтервалах, которые пересекают границу интервала/кадра, или, например, если упреждение не доступно, задержка может вводиться в декодере, чтобы иметь упреждение для последнего субинтервала в интервале. В качестве альтернативы, значение, извлеченное из кодированного запаздывания (pitch_mid, pitch_end) основного тона, может использоваться для .
Для гармонической постфильтрации, может использоваться адаптивный к усилению гармонический постфильтр. В примере, HPF имеет передаточную функцию:
,
где является фильтром с дробной задержкой. может быть таким же, что и фильтры с дробной задержкой, используемые в LTP, или отличающимся от них, поскольку выбор является независимым. В HPF, также выступает в качестве нижних частот (или фильтра наклона, который компенсирует предыскажения высоких частот).
Пример для разностного уравнения для адаптивного к усилению гармонического постфильтра с передаточной функцией H(z) и в качестве коэффициентов является следующим:
Вместо фильтра нижних частот с дробной задержкой, может использоваться фильтр тождественности, что дает и разностное уравнение:
Параметр g является оптимальным усилением. Он моделирует изменение амплитуды (модуляцию) сигнала и является сигнально-адаптивным.
Параметр h является уровнем гармоничности. Он управляет требуемым увеличением гармоничности сигнала и является сигнально-адаптивным. Параметр β также управляет увеличением гармоничности сигнала и является постоянным либо зависит от частоты дискретизации и скорости передачи битов. Параметр β также может быть равным 1. Значение произведения должно составлять между 0 и 1, при этом 0 не вызывает изменение в гармоничности, а 1 максимально увеличивает гармоничность. На практике, обычно βh<0,75.
Часть с прямой связью гармонического постфильтра (которая представляет собой ) выступает в качестве верхних частот (или фильтра наклона, который компенсирует предыскажения низких частот). Параметр α определяет интенсивность фильтрации верхних частот (или другими словами, он управляет наклоном компенсации предыскажений) и имеет значение между 0 и 1. Параметр α является постоянным или зависит от частоты дискретизации и скорости передачи битов. Значение между 0,5 и 1 является предпочтительным в вариантах осуществления.
Для каждого субинтервала, оптимальное усиление и уровень гармоничности находятся, либо, в некоторых случаях, они могут извлекаться из других параметров.
Для данного , функция для сдвига/фильтрации сигнала задается следующим образом:
В этих определениях, представляет, для , сигнал yC в (суб-)интервале l с длиной L, представляет фильтрацию yC с , представляет сдвиг yH для (возможно дробных) выборок.
Нормализованная корреляция сигналов yC и yH в (суб-)интервале l с длиной L и сдвигом задается следующим образом:
Альтернативное определение может быть следующим:
В альтернативном определении, представляет yH в предыдущих субинтервалах для .
В вышеприведенных определениях, используется четвертого порядка. Может использоваться любой другой порядок, требующий изменения диапазона для j. В примере, в котором , получаются и , что может использоваться, если учитываются только целочисленные сдвиги.
Нормализованная корреляция, заданная таким образом, обеспечивает возможность вычисления для дробных сдвигов .
Параметры normcorr l и L задают окно взвешивания для нормализованной корреляции. В вышеуказанном определении, используется прямоугольное окно взвешивания. Вместо этого, может использоваться любой другой тип окна взвешивания (например, Ханна, косинусоидальное), которое может задаваться как умножение и на , где представляет окно взвешивания.
Чтобы получать нормализованную корреляцию в субинтервале, l должно задаваться равным номеру интервала, а L - равной длине субинтервала.
Вывод представляет ZIR адаптивного к усилению гармонического постфильтра H(z) для субкадра l, где , и , и .
Оптимальное усиление моделирует изменение амплитуды (модуляцию) в субкадре l. Например, оно может вычисляться в качестве корреляции прогнозированного сигнала с фильтрованным по нижним частотам вводом, деленным на энергию прогнозированного сигнала:
В другом примере, оптимальное усиление может вычисляться как энергия фильтрованного по нижним частотам ввода, деленная на энергию прогнозированного сигнала:
Уровень гармоничности управляет требуемым увеличением гармоничности сигнала и, например, может вычисляться в качестве квадрата нормализованной корреляции:
Обычно, нормализованная корреляция субинтервала уже доступна из поиска основного тона в субинтервале.
Уровень hk, l гармоничности также может модифицироваться в зависимости от LTP и/или в зависимости от декодированных спектральных характеристик. Например, можно задавать:
,
где является значением между 0 и 1 и является пропорциональным числу гармоник, прогнозированных посредством LTP, и является значением между 0 и 1 и является обратно пропорциональным наклону XC. В примере, , если равно нулю, в противном случае, . Наклон XC может представлять собой отношение энергии первых 7 спектральных коэффициентов к энергии следующих 43 коэффициентов.
После того, как вычислены параметры для субинтервала l, можно формировать промежуточный вывод гармонической постфильтрации для части субинтервала l, которая не перекрывается с субинтервалом l+1. Как указано выше, этот промежуточный вывод используется в нахождении параметров для последующих субинтервалов.
Каждый субинтервал является перекрывающимся, и операция сглаживания между двумя параметрами фильтрации используется. Сглаживание, описанное в [3], может использоваться. Ниже поясняются предпочтительные варианты осуществления.
Варианты осуществления предусматривают аудиокодер для кодирования аудиосигнала, содержащего импульсную часть и стационарную часть, содержащий: модуль извлечения импульсов, выполненный с возможностью извлечения импульсной части из аудиосигнала, причем модуль извлечения импульсов содержит кодер импульсов для кодирования импульсных частей, чтобы получать кодированную импульсную часть; импульсная часть(и) может состоять из форм импульсного сигнала (имеющих характеристики верхних частот), расположенных в пиках временной огибающей, полученной из спектрограммы (возможно нелинейной) (абсолютной величины) аудиосигнала, кодер сигналов, выполненный с возможностью кодирования остаточного сигнала, извлекаемого из аудиосигнала для получения кодированного остаточного сигнала, причем остаточный сигнал извлекается из аудиосигнала таким образом, что импульсная часть уменьшается или исключается из аудиосигнала; и выходной интерфейс, выполненный с возможностью вывода кодированной импульсной части и кодированного остаточного сигнала для создания кодированного сигнала, при этом кодер импульсов выполнен с возможностью неформирования кодированной импульсной части, когда модуль извлечения импульсов не может находить импульсную часть в аудиосигнале, причем спектрограмма имеет более высокое временное разрешение, чем кодер сигналов.
Согласно дополнительным вариантам осуществления, предусмотрен аудиокодер (как пояснено), в котором каждая форма импульсного сигнала имеет большую энергию около своего временного центра, чем на большом расстоянии от своего временного центра.
Согласно дополнительным вариантам осуществления, предусмотрен аудиокодер (как пояснено), в котором временная огибающая получается посредством суммирования значений спектрограммы (возможно нелинейной) абсолютной величины в один момент времени.
Согласно дополнительным вариантам осуществления, предусмотрен аудиокодер, в котором формы импульсного сигнала получаются из спектрограммы (нелинейной) абсолютной величины и спектрограммы фазы аудиосигнала посредством удаления стационарной части сигнала во все моменты времени спектрограммы абсолютной величины.
Согласно дополнительным вариантам осуществления, предусмотрен аудиокодер (как пояснено), в котором формы импульсного сигнала имеют характеристики верхних частот, имеющие большую энергию на частотах, начинающихся выше начальной частоты, причем начальная частота является пропорциональной инверсии среднего расстояния между близлежащими формами импульсного сигнала.
Согласно дополнительным вариантам осуществления, предусмотрен аудиокодер (как пояснено), в котором решение в отношении того, какие формы импульсного сигнала принадлежат импульсной части, зависит от одного из следующего:
- корреляция между формами импульсного сигнала, и/или
- расстояние между формами импульсного сигнала, и/или
- взаимосвязь между энергией форм импульсного сигнала и аудио- или остаточного сигнала.
Согласно дополнительным вариантам осуществления, предусмотрен аудиокодер (как пояснено), в котором формы импульсного сигнала кодируются посредством спектральной огибающей, общей для форм импульсного сигнала близко друг к другу, и посредством параметров для представления спектрально сглаженной формы импульсного сигнала.
Другой вариант осуществления предусматривает декодер для декодирования кодированного аудиосигнала, содержащего кодированную импульсную часть и кодированный остаточный сигнал, содержащий:
- декодер импульсов, выполненный с возможностью декодирования кодированной импульсной части с использованием алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированной импульсной части, при этом декодированная импульсная часть получается;
- декодер сигналов, выполненный с возможностью декодирования кодированного остаточного сигнала с использованием алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированного остаточного сигнала, при этом декодированный остаточный сигнал получается; и
- модуль комбинирования сигналов, выполненный с возможностью комбинирования декодированной импульсной части и декодированного остаточного сигнала для создания декодированного выходного сигнала, при этом декодер сигналов и декодер импульсов работают с возможностью формирования выходных значений, связанных с одним и тем же моментом времени декодированного сигнала,
- при этом декодер импульсов работает с возможностью приёма кодированной импульсной части и обеспечения декодированной импульсной части, состоящей из форм импульсного сигнала, расположенных в указанных временных частях, и кодированный импульсообразный сигнал включает в себя параметры для представления спектрально сглаженных форм импульсного сигнала, причем каждая форма импульсного сигнала имеет большую энергию около своего временного центра, чем на большом расстоянии от своего временного центра.
Дополнительные варианты осуществления предусматривают аудиодекодер (как пояснено), в котором декодер импульсов получает спектрально сглаженную форму импульсного сигнала с использованием прогнозирования из предыдущей (сглаженной) формы импульсного сигнала.
Дополнительные варианты осуществления предусматривают аудиодекодер (как пояснено), в котором декодер импульсов получает формы импульсного сигнала посредством спектрального формирования спектрально сглаженных форм импульсного сигнала с использованием спектральной огибающей, общей для форм импульсного сигнала близко друг к другу (например, в смысле последующих относительно друг друга в текущем кадре).
Согласно вариантам осуществления, кодер может содержать параметрический кодер для каждой полосы частот, выполненный с возможностью обеспечения кодированного параметрического представления (zfl) спектрального представления (XMR) в зависимости от квантованного представления (XQ), при этом спектральное представление (XMR) аудиосигнала разделяется на множество подполос частот, при этом спектральное представление (XMR) состоит из частотных элементов разрешения или из частотных коэффициентов, и при этом по меньшей мере одна подполоса частот содержит больше одного частотного элемента разрешения; при этом кодированное параметрическое представление (zfl) состоит из параметра, описывающего энергию в подполосах частот, или из кодированной версии параметров, описывающих энергию в подполосах частот; при этом имеются по меньшей мере две подполосы частот, и в силу этого параметры, описывающие энергию по меньшей мере в двух подполосах частот, отличаются. Следует обратить внимание, что преимущественно использовать параметрическое представление в MDCT остатка, поскольку параметрическое представление импульсной части (P) в подполосах частот MDCT требует множества битов, и поскольку остаточный (R) сигнал имеет множество подполос частот, которые могут хорошо параметрически кодироваться.
Согласно вариантам осуществления, декодер дополнительно содержит средство для заполнения нулями, выполненное с возможностью выполнения заполнения нулями. Кроме того, декодер может, согласно дополнительным вариантам осуществления, содержать декодер в спектральной области и параметрический декодер для каждой полосы частот, причем декодер в спектральной области выполнен с возможностью формирования декодированного спектра (XD) из кодированного представления спектра (spect) и в зависимости от шага (gQ0) квантования, при этом декодированный спектр (XD) разделяется на подполосы частот; причем параметрический декодер (1210, 162) для каждой полосы частот выполнен с возможностью идентификации нулевых подполос частот в декодированном спектре (XD) и декодирования параметрического представления (EB) нулевых подполос частот на основе кодированного параметрического представления (zfl), при этом параметрическое представление (EB) содержит параметры, описывающие энергию в подполосах частот, и при этом имеются по меньшей мере две подполосы частот, которые отличаются, и в силу этого параметры, описывающие энергию по меньшей мере в двух подполосах частот, отличаются, и/или при этом кодированное параметрическое представление (zfl) кодируется посредством использования переменного числа битов, и/или при этом число битов, используемых для представления кодированного параметрического представления (zfl) зависит от спектрального представления (XMR) аудиосигнала.
Хотя некоторые аспекты описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогичным образом, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства. Некоторые или все этапы способа могут выполняться посредством (или с использованием) аппаратного устройства, такого как, например, микропроцессор, программируемый компьютер либо электронная схема. В некоторых вариантах осуществления, некоторые из одного или более самых важных этапов способа могут выполняться посредством этого устройства.
Кодированный аудиосигнал согласно изобретению может сохраняться на цифровом носителе данных либо может передаваться по среде передачи, такой как беспроводная среда передачи или проводная среда передачи, к примеру, Интернет.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя данных, например, гибкого диска, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные электронно считываемые управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ. Следовательно, цифровой носитель данных может быть машиночитаемым.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий считываемые электронными средствами управляющие сигналы, которые способны взаимодействовать с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.
В общем, варианты осуществления настоящего изобретения могут быть реализованы в виде компьютерного программного продукта с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт выполняется на компьютере. Программный код, например, может сохраняться на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, сохраненную на машиночитаемом носителе.
Другими словами, вариант осуществления способа согласно изобретению в силу этого представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа выполняется на компьютере.
Следовательно, дополнительный вариант осуществления способов согласно изобретению представляет собой носитель данных (цифровой носитель данных или машиночитаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе. Носитель данных, цифровой носитель данных или носитель с записанными данными обычно является физическим и/или постоянным.
Следовательно, дополнительный вариант осуществления способа согласно изобретению представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью осуществления одного из способов, описанных в данном документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.
Дополнительный вариант осуществления согласно изобретению содержит устройство или систему, выполненную с возможностью передачи (например, электронными или оптическими средствами) компьютерной программы для осуществления одного из способов, описанных в данном документе, в приемное устройство. Приемное устройство, например, может представлять собой компьютер, мобильное устройство, запоминающее устройство и т.п. Устройство или система, например, может содержать файловый сервер для передачи компьютерной программы в приемное устройство.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнения части или всех из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого аппаратного устройства.
Вышеописанные варианты осуществления являются лишь иллюстративными в отношении принципов настоящего изобретения. Следует понимать, что специалистам в данной области техники должны быть очевидны модификации и изменения конфигураций и подробностей, описанных в данном документе. Следовательно, подразумевается ограничение лишь объемом нижеприведенной формулы изобретения, а не конкретными подробностями, представленными в данном документе в качестве описания и пояснения вариантов осуществления.
Список литературы
[1] O. Niemeyer и B. Edler "Detection and Extraction of Transients for Audio Coding", in Audio Engineering Society Convention 120, 2006 год.
[2] J. Herre, R. Geiger, S. Bayer, G. Fuchs, U. Krämer, N. Rettelbach и B. Grill "Audio Encoder For Encoding An Audio Signal Having An Impulse-Like Portion And Stationary Portion, Encoding Methods, Decoder, Decoding Method; And Encoded Audio Signal", PCT/EP2008/004496, 2007 год.
[3] F. Ghido, S. Disch, J. Herre, F. Reutelhuber и A. Adami "Coding Of Fine Granular Audio Signals Using High Resolution Envelope Processing (HREP)", in 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2017 год, стр. 701-705.
[4] A. Adami, A. Herzog, S. Disch и J. Herre "Transient-to-noise ratio restoration of coded applause-like signals", in 2017 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), 2017 год, стр. 349-353.
[5] R. Füg, A. Niedermeier, J. Driedger, S. Disch и M. Müller "Harmonic-percussive-residual sound separation using the structure tensor on spectrograms", in 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016 год, стр. 445-449.
[6] C. Helmrich, J. Lecomte, G. Markovic, M. Schnell, B. Edler и S. Reuschl "Apparatus And Method For Encoding Or Decoding An Audio Signal Using A Transient-Location Dependent Overlap", PCT/EP2014/053293, 2014 год.
[7] 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Codec for Enhanced Voice Services (EVS); Detailed algorithmic description, номер 26.445. 3GPP, 2019 год.
[8] G. Markovic, E. Ravelli, M. Dietz и B. Grill "Signal Filtering", PCT/EP2018/080837, 2018 год.
[9] E. Ravelli, C. Helmrich, G. Markovic, M. Neusinger, S. Disch, M. Jander и M. Dietz "Apparatus and Method for Processing the Audio Signal Using the Harmonic Post-Filter", PCT/EP2015/066998, 2015 год.
Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в повышении производительности кодирования для импульсного кодирования. Технический результат достигается за счет этапов, на которых: извлекают импульсную часть (Р) из аудиосигнала (PCMi) посредством определения спектрограммы аудиосигнала (РСМi), при этом спектрограмма имеет более высокое временное разрешение, чем кодер (152, 156') сигналов; кодируют извлеченную импульсную часть (Р) для получения кодированной импульсной части (CP); кодируют остаточный (ум, R) сигнал, извлекаемый из аудиосигнала (РСМi) для получения кодированного остаточного (CR) сигнала, причем остаточный (R) сигнал извлекается из аудиосигнала (РСМi) посредством уменьшения или исключения импульсной части (Р) из аудиосигнала (PCMi); и выводят кодированную импульсную часть (CP) и кодированный остаточный (CR) сигнал для создания кодированного сигнала. 6 н. и 24 з.п. ф-лы, 31 ил.
1. Аудиокодер (10, 101, 101') для кодирования аудиосигнала (РСМi) содержащий:
модуль (11, 110) извлечения импульсов, выполненный с возможностью извлечения импульсной части (Р) из аудиосигнала (РСМi), при этом модуль (11, 110) извлечения импульсов выполнен с возможностью определения спектрограммы аудиосигнала (РСМi) для извлечения импульсной части (Р);
кодер (13, 132) импульсов для кодирования извлеченной импульсной части (Р) для получения кодированной импульсной части (CP);
- кодер (152, 156') сигналов, выполненный с возможностью кодирования остаточного (уM, R) сигнала, извлекаемого из аудиосигнала (РСМi) для получения кодированного остаточного (CR) сигнала, причем остаточный (уM, R) сигнал извлекается из аудиосигнала (РСМi) посредством уменьшения или исключения импульсной части (Р) из аудиосигнала (РСМi); при этом спектрограмма имеет более высокое временное разрешение, чем кодер (150) сигналов; и
выходной интерфейс (170), выполненный с возможностью вывода кодированной импульсной части (CP) и кодированного остаточного (CR) сигнала для создания кодированного сигнала.
2. Аудиокодер (10, 101, 101') по п. 1, в котором кодер (13, 132) импульсов выполнен с возможностью обеспечения информации в отношении того, что кодированная импульсная часть (CP) не присутствует, когда модуль (11, 110) извлечения импульсов не может найти импульсную часть в аудиосигнале (РСМi); и/или
при этом импульсная часть (Р) извлекается из спектрограммы аудиосигнала (РСМi).
3. Аудиокодер (10, 101, 101') по п. 1 или 2, в котором кодер (152, 156') сигналов выполнен с возможностью кодирования остаточного (уM, R) сигнала или остатка (уM, R), содержащего стационарную часть аудиосигнала (РСМi); и/или
- при этом кодер (152, 156') сигналов предпочтительно представляет собой кодер в частотной области; и/или
- при этом кодер (152, 156') сигналов более предпочтительно представляет собой кодер MDCT; и/или
- при этом кодер (152, 156') сигналов выполнен с возможностью выполнения кодирования MDCT.
4. Аудиокодер (10, 101, 101') по пп. 1, 2 или 3, в котором модуль (11, 110) извлечения импульсов выполнен с возможностью получения импульсной части (Р), состоящей из форм (10pw) импульсного сигнала; или
- при этом модуль (11, 110) извлечения импульсов выполнен с возможностью получения импульсной части (Р), состоящей из импульсов (10р') или форм (10pw) импульсного сигнала, при этом импульсы или формы (10pw) импульсного сигнала расположены в пиках временной огибающей, полученной из спектрограммы аудиосигнала (PCM1), или около них, или при этом модуль (11, 110) извлечения импульсов выполнен с возможностью уникального определения каждого импульса (P1) из импульсов (10р') посредством положения и формы импульсного сигнала.
5. Аудиокодер (10, 101, 101') по одному из предыдущих пунктов, дополнительно содержащий фильтр (111hp) верхних частот, выполненный с возможностью обработки аудиосигнала (РСМi) таким образом, что каждая форма импульсного сигнала импульсной части (Р) содержит характеристику верхних частот и/или характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты, и выполненный с возможностью обработки аудиосигнала (РСМi) таким образом, что характеристика верхних частот в остаточном (уM, R) сигнале удаляется или уменьшается; и/или
- дополнительно содержащий фильтр (112ре), выполненный с возможностью обработки улучшенной спектрограммы, при этом улучшенная спектрограмма извлекается из спектрограммы аудиосигнала или импульсной части (Р) таким образом, что каждая форма импульсного сигнала импульсной части (Р) содержит характеристику верхних частот и/или характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты, причем начальная частота является пропорциональной инверсии оценки среднего расстояния между близлежащими импульсами; и/или
- при этом каждая форма импульсного сигнала содержит характеристику, имеющую большую энергию на частотах, начинающихся выше начальной частоты.
6. Аудиокодер (10, 101, 101') по одному из пп. 4-5, дополнительно содержащий средство (112ре, 112pl, 112br) для обработки спектрограммы аудиосигнала или улучшенной спектрограммы, извлекаемой из спектрограммы аудиосигнала, таким образом, что каждый импульс (10р') или форма (10pw) импульсного сигнала имеет характеристику большей энергии около своего временного центра, чем на большом расстоянии от своего временного центра, либо таким образом, что импульсы (10р') или формы (10pw) импульсного сигнала расположены в пиках временной огибающей, полученной из спектрограммы аудиосигнала, или около них.
7. Аудиокодер (10, 101, 101') по одному из пп. 1-6, в котором спектрограмма выбрана из группы, содержащей:
- спектрограмму абсолютной величины;
- спектрограмму абсолютной величины и фазы;
- спектрограмму нелинейной абсолютной величины;
- спектрограмму нелинейной абсолютной величины и фазы;
- и/или:
- при этом модуль (11, 110) извлечения импульсов выполнен с возможностью определения спектрограммы, в частности спектрограммы аудиосигнала и/или улучшенной спектрограммы, таким образом, чтобы извлекать импульсную часть (Р).
8. Аудиокодер (10, 101, 101') по п. 7, в котором модуль (11, 110) извлечения импульсов выполнен с возможностью получения по меньшей мере одной выборки временной огибающей или временной огибающей по меньшей мере в один момент времени посредством суммирования значений спектра абсолютной величины по меньшей мере в один момент времени, причем спектрограмма абсолютной величины содержит по меньшей мере один спектр абсолютной величины, и/или посредством суммирования значений спектра нелинейной абсолютной величины по меньшей мере в один момент времени, причем спектрограмма нелинейной абсолютной величины содержит по меньшей мере один спектр нелинейной абсолютной величины.
9. Аудиокодер (10, 101, 101'), по одному из пп. 1-8, в котором модуль (11, 110) извлечения импульсов выполнен с возможностью получения импульсной части (Р) из спектрограммы аудиосигнала (РСМi) посредством удаления или уменьшения стационарной части аудиосигнала (РСМi) во все моменты времени спектрограммы; и/или посредством задания равным нулю и/или посредством уменьшения спектрограммы ниже начальной частоты, причем начальная частота является пропорциональной инверсии среднего расстояния между близлежащими формами импульсного сигнала.
10. Аудиокодер (10, 101, 101') по одному из пп. 1-9, в котором кодер (13, 132) импульсов выполнен с возможностью кодирования извлеченной импульсной части (Р) текущего кадра с учетом извлеченной импульсной части (Р) или извлеченных импульсных частей (Р) одного или более кадров, предыдущих по отношению к текущему кадру.
11. Аудиокодер (10, 101, 101') по одному из пп. 1-10, в котором модуль (11, 110) извлечения импульсов выполнен с возможностью определения форм (10pw) импульсного сигнала, принадлежащие импульсной части (Р), в зависимости от одного из:
корреляции между формами (10pw) импульсного сигнала,
и/или
расстояния между формами (10pw) импульсного сигнала,
и/или
взаимосвязи между энергией форм (10pw) импульсного сигнала и аудиосигнала или взаимосвязи между энергией форм (10pw) импульсного сигнала и стационарной части, или взаимосвязи между энергией аудиосигнала и стационарной части.
12. Аудиокодер (10, 101, 101') по одному из пп. 1-11, в котором кодер (13, 132) импульсов выполнен с возможностью кодирования извлеченной импульсной части (Р) посредством спектральной огибающей, общей для форм (10pw) импульсного сигнала близко друг к другу, и посредством параметров для представления спектрально сглаженной формы импульсного сигнала, причем извлеченная импульсная часть (Р) состоит из форм (10pw) импульсного сигнала, и спектрально сглаженная форма импульсного сигнала получается из формы импульсного сигнала с использованием спектральной огибающей или кодированной спектральной огибающей.
13. Аудиокодер (10, 101, 101') по одному из пп. 4-12, в котором кодер (13, 132) импульсов выполнен с возможностью спектрального сглаживания формы импульсного сигнала или импульсного кратковременного преобразования (10р') Фурье (STFT) с использованием спектральной огибающей; и/или
- дополнительно содержащий процессор фильтрации, выполненный с возможностью спектрального сглаживания формы импульсного сигнала посредством фильтрации формы импульсного сигнала во временной области; и/или
- при этом кодер (13, 132) импульсов выполнен с возможностью получения спектрально сглаженной формы импульсного сигнала из спектрально сглаженного кратковременного преобразования Фурье (STFT) через обратное дискретное преобразование Фурье (DFT), окно взвешивания и суммирование с перекрытием.
14. Аудиокодер (10, 101, 101') по одному из пп. 1-13, дополнительно содержащий объект (132bр) кодирования, выполненный с возможностью кодирования либо кодирования и квантования усиления для прогнозного остаточного сигнала, причем прогнозный остаточный сигнал получается на основе предыдущей импульсной части.
15. Аудиокодер (10, 101, 101') по п. 14, дополнительно содержащий объект (132 се) коррекции, выполненный с возможностью вычисления и/или применения коэффициента коррекции к усилению для прогнозного остаточного сигнала.
16. Аудиокодер (10, 101, 101') по одному из пп. 1-15, дополнительно содержащий параметрический кодер для каждой полосы частот, выполненный с возможностью обеспечения кодированного параметрического представления (zfl) спектрального представления (XMR), при этом спектральное представление (XMR) аудиосигнала получается из остаточного (уM, R) сигнала с использованием временно-частотного преобразования (152), при этом спектральное представление (XMR) аудиосигнала разделяется на множество подполос частот, при этом спектральное представление (XMR) состоит из частотных элементов разрешения или из частотных коэффициентов, и при этом по меньшей мере одна подполоса частот содержит больше одного частотного элемента разрешения; при этом кодированное параметрическое представление (zfl) состоит из параметра, описывающего подполосы частот, или из кодированной версии параметров, описывающих подполосы частот; при этом имеются по меньшей мере две подполосы частот, которые отличаются, и в силу этого параметры, описывающие по меньшей мере две подполосы частот, отличаются.
17. Аудиокодер (10, 101, 101') по одному из пп. 1-16, в котором модуль (11, 110) извлечения импульсов выполнен с возможностью определения положений импульсов в качестве локальных пиков в сглаженной временной огибающей с таким требованием, что пики находятся выше их окрестностей; причем сглаженная временная огибающая представляет собой фильтрованную по нижним частотам версию временной огибающей, полученной из спектрограммы аудиосигнала (РСМi); и/или
- при этом модуль (11, 110) извлечения импульсов выполнен с возможностью определения положений импульсов, и при этом кодер импульсов выполнен с возможностью кодирования информации по положениям импульсов в качестве части кодированной импульсной части (CP); и/или
- при этом модуль (11, 110) извлечения импульсов выполнен с возможностью уникального определения каждого импульса (Р1) посредством положения и формы импульсного сигнала; и/или
- при этом модуль (11, 110) извлечения импульсов выполнен с возможностью определения пиков во временной огибающей, считающихся положениями импульсов или переходных частей, причем временная огибающая получается посредством суммирования значений спектрограммы абсолютной величины.
18. Способ кодирования аудиосигнала (PCMi), содержащий этапы, на которых:
извлекают импульсную часть (Р) из аудиосигнала (PCMi) посредством определения спектрограммы аудиосигнала (РСМi), при этом спектрограмма имеет более высокое временное разрешение, чем кодер (152, 156') сигналов;
- кодируют извлеченную импульсную часть (Р) для получения кодированной импульсной части (CP);
кодируют остаточный (уM, R) сигнал, извлекаемый из аудиосигнала (РСМi) для получения кодированного остаточного (CR) сигнала, причем остаточный (R) сигнал извлекается из аудиосигнала (РСМi) посредством уменьшения или исключения импульсной части (Р) из аудиосигнала (PCMi); и
- выводят кодированную импульсную часть (CP) и кодированный остаточный (CR) сигнал для создания кодированного сигнала.
19. Декодер (20, 201, 201р') для декодирования кодированного аудиосигнала, содержащего кодированную импульсную часть (CP) и кодированный остаточный (CR) сигнал, содержащий:
- декодер (22) импульсов, выполненный с возможностью использования алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированной импульсной части (CP) для получения декодированной импульсной части (уP);
- декодер (15b) сигналов, выполненный с возможностью использования алгоритма декодирования, адаптированного к алгоритму кодирования, используемому для формирования кодированного остаточного (CR) сигнала для получения декодированного остаточного (уC, уH) сигнала; и
- модуль (23) комбинирования сигналов, выполненный с возможностью комбинирования декодированной импульсной части (уР) и декодированного остаточного (уC, уH) сигнала для создания декодированного выходного сигнала (РСМO);
- при этом декодер (15b) сигналов и декодер (22) импульсов работают с возможностью обеспечения выходных значений, связанных с одним и тем же моментом времени декодированного сигнала; и
- декодер сигналов работает в частотной области, включающей в себя частотно-временное преобразование; и
- при этом декодированная импульсная часть (уР) состоит из форм (10pw) импульсного сигнала, расположенных в указанных временных частях, причем информация относительно указанных временных частей составляет часть кодированной импульсной части (CP); и
- при этом кодированная импульсная часть (CP) включает в себя параметры для представления спектрально сглаженных форм импульсного сигнала; и
- при этом декодированная импульсная часть (у_Р) состоит из форм (10pw) импульсного сигнала, и декодер (22) импульсов выполнен с возможностью получения форм (10pw) импульсного сигнала посредством спектрального формирования спектрально сглаженных форм (10pw) импульсного сигнала с использованием спектральной огибающей, общей для форм импульсного сигнала близко друг к другу.
20. Декодер (20, 201, 201р') по п. 19,
- в котором каждая форма (10pw) импульсного сигнала имеет характеристику большей энергии около своего временного центра, чем на большом расстоянии от своего временного центра.
21. Декодер (20, 201, 201р') по п. 19 или 20, в котором кодированный аудиосигнал содержит кодированную импульсную часть (CP) и кодированный остаток (CR), причем кодированная импульсная (CP) часть имеет характеристики верхних частот; и/или
- при этом кодированный аудиосигнал кодируется посредством использования кодера по одному из пп. 1-18.
22. Декодер (20, 201, 201р') по одному из пп. 19-21, в котором декодер (22) импульсов выполнен с возможностью получения спектрально сглаженной формы импульсного сигнала с использованием прогнозирования из предыдущей формы импульсного сигнала или предыдущей сглаженной формы импульсного сигнала.
23. Декодер (20, 201, 201р'), по одному из пп. 21-22, в котором кодированная импульсная часть (CP) содержит начальную частоту fPi импульсов, при этом характеристики верхних частот определяются посредством модификации форм (10pw) импульсного сигнала таким образом, чтобы иметь большую энергию на частотах, начинающихся выше начальной частоты fPi импульсов.
24. Декодер (20, 201, 201р') по одному из пп. 19-23, дополнительно содержащий средство для заполнения нулями, выполненное с возможностью выполнения заполнения нулями;
- дополнительно содержащий декодер в спектральной области и параметрический декодер для каждой полосы частот, причем декодер в спектральной области выполнен с возможностью формирования декодированного спектра (XD) из кодированного представления кодированного остатка (CR), при этом декодированный спектр (XD) разделяется на подполосы частот; причем параметрический декодер (1210, 162) для каждой полосы частот выполнен с возможностью идентификации нулевых подполос частот в декодированном спектре
(XD) и декодирования параметрического представления (ЕB) нулевых подполос частот на основе кодированного параметрического представления (zfl), при этом параметрическое представление (ЕB) содержит параметры, описывающие подполосы частот, и при этом имеются по меньшей мере две подполосы частот, которые отличаются, и в силу этого параметры, описывающие по меньшей мере две подполосы частот, отличаются, и/или при этом кодированное параметрическое представление (zfl) кодируется посредством использования переменного числа битов.
25. Декодер (20, 201, 201р') по одному из пп. 19-24, дополнительно содержащий гармонический постфильтр (21), выполненный с возможностью уменьшения декодированного выходного сигнала (РСМO) между гармониками.
26. Декодер (20, 201, 201р') по одному из пп. 19-25, в котором декодер (22) импульсов выполнен с возможностью декодирования кодированной импульсной части текущего кадра с учетом кодированной импульсной части или кодированных импульсных частей одного или более кадров, предыдущих по отношению к текущему кадру.
27. Декодер (20, 201, 201р') по одному из пп. 19-26, в котором декодер (22) импульсов выполнен с возможностью получения спектрально сглаженной формы импульсного сигнала с учетом усиления для прогнозирования, непосредственно извлеченного из кодированной импульсной части.
28. Способ декодирования кодированного аудиосигнала (РСМi), содержащего кодированную импульсную часть (CP) и кодированный остаточный (CR) сигнал, при этом способ содержит этапы, на которых:
- используют алгоритм импульсного декодирования, адаптированный к алгоритму кодирования, используемому для формирования кодированной импульсной части (CP) для получения декодированной импульсной части (уP);
- используют алгоритм декодирования сигналов, адаптированного к алгоритму кодирования, используемому для формирования кодированного остаточного (CR) сигнала для получения декодированного остаточного (уC, уH) сигнала; и
- комбинируют декодированную импульсную часть (уP) и декодированный остаточный (уC, уH) сигнал для создания декодированного выходного сигнала (РСМO);
- при этом алгоритм декодирования сигналов работает с возможностью обеспечения выходных значений, связанных с одним и тем же моментом времени декодированного сигнала; и
- алгоритм декодирования сигналов работает в частотной области, включающей в себя частотно-временное преобразование; и
- при этом декодированная импульсная часть (уР) состоит из форм (10pw) импульсного сигнала, расположенных в указанных временных частях, причем информация относительно указанных временных частей составляет часть кодированной импульсной части (CP); и
- при этом кодированная импульсная часть (CP) включает в себя параметры для представления спектрально сглаженных форм импульсного сигнала; и
- при этом декодированная импульсная часть (у_Р) состоит из форм (10pw) импульсного сигнала, и алгоритм импульсного декодирования работает с возможностью получения форм (10pw) импульсного сигнала посредством спектрального формирования спектрально сглаженных форм (10pw) импульсного сигнала с использованием спектральной огибающей, общей для форм импульсного сигнала близко друг к другу.
29. Машиночитаемый носитель, на котором сохранена компьютерная программа для осуществления при выполнении на компьютере способа по п. 18.
30. Машиночитаемый носитель, на котором сохранена компьютерная программа для осуществления при выполнении на компьютере способа по п. 28.
Колосоуборка | 1923 |
|
SU2009A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
УСТРОЙСТВО И СПОСОБ ФОРМИРОВАНИЯ РАСШИРЕННОГО СИГНАЛА С ИСПОЛЬЗОВАНИЕМ ЗАПОЛНЕНИЯ НЕЗАВИСИМЫМ ШУМОМ | 2015 |
|
RU2667376C2 |
СЖАТИЕ ЗВУКОВЫХ СИГНАЛОВ | 2005 |
|
RU2409874C9 |
Авторы
Даты
2024-08-23—Публикация
2022-07-14—Подача