УСТРОЙСТВО И СПОСОБ ДЛЯ УМЕНЬШЕНИЯ ШУМА КВАНТОВАНИЯ В ДЕКОДЕРЕ ВРЕМЕННОЙ ОБЛАСТИ
DEVICE AND METHOD FOR REDUCING QUANTIZATION NOISE IN DECODER OF TEMPORAL AREA

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к области обработки звука. Более конкретно, настоящее изобретение относится к уменьшению шума квантования в звуковом сигнале.
УРОВЕНЬ ТЕХНИКИ
[0002] Современные разговорные кодеки представляют с очень хорошим качеством чисто речевые сигналы при скоростях передачи приблизительно 8 Кбит/с и приближаются к незаметности для пользователя при скорости передачи 16 Кбит/с. Для того чтобы поддерживать это высокое качество речи при низкой скорости передачи, обычно используется мультимодальная схема кодирования. Обычно входной сигнал расщепляется на различные категории, отражающие его характеристику. Эти различные категории включают в себя, например, вокализированную речь, невокализированную речь, вокализированные вступления и т.д. Кодек затем использует различные режимы кодирования, оптимизированные для этих категорий.
[0003] Основанные на модели речи кодеки обычно не очень хорошо воспроизводят общие сигналы звуковой частоты, такие как музыку. Следовательно, некоторые развернутые кодеки для разговорных сигналов не представляют музыку с хорошим качеством, особенно при низких скоростях передачи. Когда кодек развернут, трудно модифицировать кодер из-за того, что поток битов стандартизован, и любые изменения в потоке битов нарушили бы функциональную совместимость кодека.
[0004] Следовательно, имеется потребность в улучшении воспроизведения музыкального контента основанными на модели речи кодеками, например кодеками на основе линейного предсказания (LP).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] В соответствии с настоящим изобретением предлагается устройство для уменьшения шума квантования в сигнале, содержащем во временной области возбуждение, декодируемое декодером временной области. Это устройство включает в себя преобразователь декодированного возбуждения во временной области в возбуждение в частотной области. Устройство также включает в себя блок формирования маски для формирования весовой маски для восстановления спектральной информации, потерянной в шуме квантования. Устройство также включает в себя модификатор возбуждения в частотной области для того, чтобы увеличить динамику спектра путем применения весовой маски. Устройство дополнительно включает в себя преобразователь модифицированного возбуждения в частотной области в модифицированное возбуждение во временной области.
[0006] Настоящее изобретение также относится к способу для уменьшения шума квантования в сигнале, содержащем во временной области возбуждение, декодируемое декодером временной области. Декодированное возбуждение во временной области преобразовывается в возбуждение в частотной области декодером временной области. Весовая маска формируется для восстановления спектральной информации, потерянной в шуме квантования. Возбуждение в частотной области модифицируется для того, чтобы увеличить динамику спектра путем применения весовой маски. Модифицированное возбуждение в частотной области преобразовывается в модифицированное возбуждение во временной области.
[0007] Вышеперечисленные и другие признаки станут более ясными после прочтения последующего не ограничивающего описания иллюстративных вариантов их осуществления, представленных только в качестве примеров со ссылками на сопроводительные чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Далее варианты осуществления настоящего изобретения будут описаны только в качестве примеров со ссылками на сопроводительные чертежи, на которых:
[0009] Фиг. 1 представляет собой блок-схему, показывающую операции способа для уменьшения шума квантования в сигнале, содержащемся в возбуждении во временной области, декодированном декодером временной области, в соответствии с одним вариантом осуществления;
[0010] Фиг. 2a и 2b, совместно упоминаемые как Фиг. 2, представляют собой упрощенную принципиальную схему декодера, имеющего возможности постобработки в частотной области для уменьшения шума квантования в музыкальных сигналах и других звуковых сигналах; и
[0011] Фиг. 3 представляет собой упрощенную блок-схему примерной конфигурации аппаратных компонентов, формирующих декодер, изображенный на Фиг. 2.
ПОДРОБНОЕ ОПИСАНИЕ
[0012] Различные аспекты настоящего изобретения в целом решают одну или более проблем улучшения воспроизведения музыкального контента кодеками на основе модели речи, например кодеками на основе линейного предсказания (LP), путем уменьшения шума квантования в музыкальном сигнале. Следует учесть, что настоящее изобретение может также применяться к другим звуковым сигналам, например к общим сигналам звуковой частоты, отличающимся от музыки.
[0013] Модификации декодера могут улучшить воспринимаемое качество на стороне приемника. Настоящее изобретение раскрывает подход к реализации на стороне декодера постобработки для музыкальных сигналов и других звуковых сигналов в частотной области, который уменьшает шум квантования в спектре синтезируемого декодированного сигнала. Постобработка может быть осуществлена без какой-либо дополнительной задержки кодирования.
[0014] Принцип удаления в частотной области шума квантования между гармониками спектра и частотной постобработки, используемый в настоящем документе, основан на патентной публикации PCT WO 2009/109050 A1 автора Vaillancourt и др., датированной 11 сентября 2009 г. (в дальнейшем упоминаемой как «Vaillancourt '050»), раскрытие которой включено в настоящий документ посредством ссылки. В большинстве случаев такая частотная постобработка применяется к синтезируемому декодированному сигналу и требует увеличения задержки обработки для того, чтобы включить перекрытие и добавить процесс для получения значительного выигрыша в качестве. Более того, при традиционной постобработке в частотной области чем короче добавляемая задержка (то есть чем короче окно преобразования), тем менее эффективной является постобработка благодаря ограниченному частотному разрешению. В соответствии с настоящим изобретением частотная постобработка достигает более высокого частотного разрешения (используется более длинное частотное преобразование) без добавления задержки к синтезу. Кроме того, информация, присутствующая в энергии спектра прошлых кадров, используется для создания весовой маски, которая применяется к спектру текущего кадра для того, чтобы восстановить, то есть улучшить, спектральную информацию, потерянную в шуме кодирования. Для того, чтобы достичь этой постобработки без добавления задержки к синтезу, в этом примере используется симметричное трапецеидальное окно. Это окно центрируется на текущем кадре, причем окно является плоским (оно имеет постоянное значение, равное 1), и экстраполяция используется для того, чтобы создать будущий сигнал. В то время как постобработка обычно может быть применена непосредственно к сигналу синтеза любого кодека, настоящее изобретение представляет иллюстративный вариант осуществления, в котором постобработка применяется к сигналу возбуждения в рамках кодека линейного предсказания с кодовым возбуждением (CELP), описанного в технической спецификации (TS) 26.190 Программы Партнерства 3-го поколения (3GPP), озаглавленной как «Адаптивный многоскоростной широкополосный (AMR-WB) речевой кодек; Функции транскодирования», доступной на веб-сайте 3GPP, полное содержание которой включено в настоящий документ посредством ссылки. Преимущество работы над сигналом возбуждения, а не над сигналом синтеза, состоит в том, что любые потенциальные разрывы, вводимые постобработкой, сглаживаются последующим применением фильтра синтеза CELP.
[0015] В настоящем изобретении для целей иллюстрации используется AMR-WB с внутренней частотой оцифровки 12,8 кГц. Однако настоящее изобретение может быть применено к другим речевым декодерам с низкой скоростью передачи, где синтез получается с помощью сигнала возбуждения, отфильтрованного через фильтр синтеза, например фильтр синтеза LP. Это может быть также применено на мультимодальных кодеках, где музыка кодируется с помощью комбинации возбуждения во временной области и в частотной области. Следующие строки суммируют работу постфильтра. Затем следует подробное описание иллюстративного варианта осуществления, использующего AMR-WB.
[0016] Сначала полный битовый поток декодируется, и текущий синтезированный кадр обрабатывается классификатором первого этапа, подобным тому, который раскрывается в патентной публикации PCT WO 2003/102921 A1 автора Jelinek и др., датированной 11 декабря 2003 г., в патентной публикации PCT WO 2007/073604 A1 автора Vaillancourt и др., датированной 5 июля 2007 г., и в международной заявке PCT/CA2012/001011, зарегистрированной 1 ноября 2012 автора Vaillancourt и др. (в дальнейшем упоминаемой как «Vaillancourt '011»), раскрытия которых включены в настоящий документ посредством ссылки. Для целей данного раскрытия этот классификатор первого этапа анализирует кадр и обособленно устанавливает НЕАКТИВНЫЕ кадры и НЕВОКАЛИЗИРОВАННЫЕ кадры, например кадры, соответствующие активной НЕВОКАЛИЗИРОВАННОЙ речи. Все кадры, которые не категоризируются как НЕАКТИВНЫЕ кадры или как НЕВОКАЛИЗИРОВАННЫЕ кадры на первого этапа, анализируются с помощью классификатора второго этапа. Классификатор второго этапа решает, применять ли постобработку, и в какой степени. Когда постобработка не применяется, обновляется только память, относящаяся к постобработке.
[0017] Для всех кадров, которые не категоризированы классификатором первого этапа как НЕАКТИВНЫЕ кадры или как кадры с активной НЕВОКАЛИЗИРОВАННОЙ речью, формируется вектор с использованием прошлого декодированного возбуждения, декодированного возбуждения текущего кадра и экстраполяции будущего возбуждения. Длина прошлого декодированного возбуждения и экстраполируемого возбуждения является одинаковой и зависит от желаемого разрешения частотного преобразования. В этом примере длина используемого частотного преобразования составляет 640 отсчетов. Создание вектора с использованием прошлого и экстраполируемого возбуждения позволяет увеличить частотное разрешение. В представленном примере длина прошлого и экстраполируемого возбуждения является одинаковой, но для эффективной работы постфильтра не обязательно требуется симметрия окна.
[0018] Энергетическая устойчивость частотного представления объединенного возбуждения (включающего прошлое декодированное возбуждение, декодированное возбуждение текущего кадра и экстраполяцию будущего возбуждения) затем анализируется с помощью классификатора второго этапа для того, чтобы определить вероятность присутствия музыки. В этом примере определение присутствия музыки выполняется в ходе двухэтапного процесса. Однако обнаружение музыки может быть выполнено различными путями, например, оно может быть выполнено в единственной операции, предшествующей частотному преобразованию, или даже определено в кодере и передано в потоке битов.
[0019] Межгармонический шум квантования уменьшается так же, как и в публикации Vaillancourt'050, путем оценки соотношения сигнал/шум (SNR) для каждого элемента разрешения по частоте и применения усиления к каждому элементу разрешения по частоте в зависимости от значения его SNR. В настоящем изобретении, однако, оценка энергии шумов выполняется не так, как описано в публикации Vaillancourt'050.
[0020] Затем используется дополнительная обработка, которая восстанавливает информацию, потерянную в шуме кодирования, и дополнительно увеличивает динамику спектра. Этот процесс начинается с нормализации энергетического спектра диапазоном от 0 до 1. Затем постоянное смещение прибавляется к нормализованному энергетическому спектру. Наконец, степень 8 применяется к каждому элементу разрешения по частоте модифицированного энергетического спектра. Получаемый масштабированный энергетический спектр обрабатывается усредняющей функцией вдоль частотной оси, от низких частот до высоких частот. Наконец, долговременное сглаживание спектра во времени выполняется элемент за элементом разрешения.
[0021] Эта вторая часть обработки приводит к маске, в которой пики соответствуют важной информации о спектре, а впадины соответствуют кодирующему шуму. Эта маска затем используется для того, чтобы отфильтровать шум и увеличить динамику спектра путем небольшого увеличения амплитуды элементов разрешения спектра в пиковых областях, ослабляя амплитуду элементов разрешения во впадинах, и, следовательно, увеличивая отношение пиков ко впадинам. Эти две операции выполняются с использованием высокого частотного разрешения, но без добавления задержки к синтезу выхода.
[0022] После того как частотное представление объединенного вектора возбуждения улучшено (его шум уменьшен, а его динамика спектра увеличена), выполняется обратное частотное преобразование, для того, чтобы создать улучшенную версию объединенного возбуждения. В настоящем изобретении часть окна преобразования, соответствующая текущему кадру, является по существу плоской, и только те части окна, которые применяются к прошлому и экстраполируемому сигналу возбуждения, нуждаются в сужении. Это делает возможным уничтожение повышенного возбуждения в текущем кадре после обратного преобразования. Эта последняя манипуляция аналогична умножению повышенного возбуждения во временной области на прямоугольное окно в положении текущего кадра. В то время как эта операция не может быть выполнена в области синтеза без добавления важных блочных артефактов, это может быть альтернативно сделано в области возбуждения, потому что фильтр синтеза LP помогает сглаживать переходы от одного блока к другому, как показано в публикации Vaillancourt'011.
Описание иллюстративного варианта осуществления AMR-WB
[0023] Описанная здесь постобработка применяется к декодированному возбуждению фильтра синтеза LP для таких сигналов, как музыка или реверберирующая речь. Решение о природе сигнала (речь, музыка, реверберирующая речь и т.п.) и решение о применении постобработки могут быть сообщены кодером, который посылает декодеру информацию о классификации как часть потока битов AMR-WB. Если это не так, то классификация сигнала альтернативно может быть сделана на стороне декодера. В зависимости от компромисса между сложностью и надежностью классификации фильтр синтеза может опционально быть применен к текущему возбуждению для того, чтобы получить временный синтез и более хороший анализ классификации. В этой конфигурации синтез перезаписывается, если классификация приводит к категории, в которой применяется постфильтрация. Для того чтобы минимизировать добавленную сложность, классификация может также быть выполнена на синтезе прошлого кадра, и фильтр синтеза тогда применяется однократно после постобработки.
[0024] Обращаясь теперь к чертежам, Фиг. 1 представляет собой блок-схему, показывающую операции способа для уменьшения шума квантования в сигнале, содержащемся в возбуждении во временной области, декодированном декодером временной области, в соответствии с одним вариантом осуществления. На Фиг. 1 последовательность 10 включает в себя множество операций, которые могут выполняться в переменном порядке, некоторые из этих операций могут выполняться параллельно, и некоторые из этих операций могут быть опциональными. В операции 12 декодер временной области, получает и декодирует поток битов, сформированный кодером, включающий в себя информацию о возбуждении во временной области в форме параметров, которые можно использовать для того, чтобы реконструировать возбуждение во временной области. Для этого декодер временной области, может получать поток битов через интерфейс входа или считывать поток битов из памяти. Декодер временной области, преобразовывает декодированное возбуждение во временной области в возбуждение в частотной области в операции 16. Прежде, чем преобразовать сигнал возбуждения из временной области в частотную область в операции 16, будущее возбуждение во временной области может быть экстраполировано в операции 14 так, чтобы преобразование возбуждения во временной области в возбуждение в частотной области можно было сделать без задержки. Таким образом, выполняется лучший частотный анализ без потребности в дополнительной задержке. С этой целью прошлый, текущий и предсказанный будущий сигнал возбуждения во временной области могут быть объединены перед преобразованием в частотную область. Декодер временной области формирует затем весовую маску для того, чтобы восстановить спектральную информацию, потерянную в шуме квантования, в операции 18. В операции 20 декодер временной области, модифицирует возбуждение в частотной области для того, чтобы увеличить динамику спектра путем применения весовой маски. В операции 22 декодер временной области, преобразовывает модифицированное возбуждение в частотной области в модифицированное возбуждение во временной области. Декодер временной области, может затем выполнить синтез модифицированного возбуждения во временной области в операции 24 и сгенерировать звуковой сигнал из одного из синтеза декодированного возбуждения во временной области и синтеза модифицированного возбуждения во временной области в операции 26.
[0025] Способ, проиллюстрированный на Фиг. 1, может быть адаптирован с использованием нескольких дополнительных особенностей. Например, синтез декодированного возбуждения во временной области может быть классифицирован на одно из первого набора категорий возбуждения и второго набора категорий возбуждения, в которых второй набор категорий возбуждения включает в себя НЕАКТИВНУЮ или НЕВОКАЛИЗИРОВАННУЮ категории, в то время как первый набор категорий возбуждения включает в себя ДРУГУЮ категорию. Преобразование декодированного возбуждения во временной области в возбуждение в частотной области может быть применено к декодированному возбуждению во временной области, классифицированному как первый набор категорий возбуждения. Восстановленный поток битов может включать в себя информацию о классификации, которая может использоваться для того, чтобы классифицировать синтез декодированного возбуждения во временной области как первый набор или как второй набор категорий возбуждения. Для генерирования звукового сигнала выходной синтез может быть выбран как синтез декодированного возбуждения во временной области, когда возбуждение во временной области классифицируется как второй набор категорий возбуждения, или как синтез модифицированного возбуждения во временной области, когда возбуждение во временной области классифицируется как первый набор категорий возбуждения. Возбуждение в частотной области может быть проанализировано для того, чтобы определить, содержит ли возбуждение в частотной области музыку. В частности, определение того, что возбуждение в частотной области содержит музыку, может основываться на сравнении с некоторым порогом статистической девиации разностей спектральных энергий возбуждения в частотной области. Весовая маска может быть сформирована с использованием усреднения во времени, или частотного усреднения, или их комбинации. Величина отношения сигнал/шум может быть оценена для выбранного диапазона декодированного возбуждения во временной области, и шумоподавление в частотной области может быть выполнено на основе оценки отношения сигнал/шум.
CAT
[0026] Фиг. 2a и 2b, совместно упоминаемые как Фиг. 2, представляют собой упрощенную принципиальную схему декодера, имеющего возможности постобработки в частотной области для уменьшения шума квантования в музыкальных сигналах и других звуковых сигналах. Декодер 100 включает в себя несколько элементов, проиллюстрированных на Фиг. 2a и 2b, эти элементы соединены, как показано стрелками, некоторые из взаимосвязей проиллюстрированы с использованием соединителей A, B, C, D и E, которые показывают, как некоторые элементы, изображенные на Фиг. 2a, соединяются с другими элементами, изображенными на Фиг. 2b. Декодер 100 включает в себя приемник 102, который получает поток битов AMR-WB от кодера, например через интерфейс радиосвязи. Альтернативно декодер 100 может быть оперативно соединен с памятью (не показана), хранящей поток битов. Демультиплексор 103 извлекает из потока битов параметры возбуждения во временной области для того, чтобы реконструировать возбуждение во временной области, информацию о задержке высоты тона и информацию об определении присутствия голосового сигнала (VAD). Декодер 100 включает в себя декодер 104 возбуждения во временной области, получающий параметры возбуждения во временной области для того, чтобы декодировать возбуждение во временной области существующего кадра, буферную память 106 прошлого возбуждения, два (2) фильтра 108 и 110 синтеза LP, классификатор 112 сигнала первого этапа, включающий в себя блок 114 оценки классификации сигнала, который получает сигнал VAD и контрольную точку 116 выбора класса, блок 118 экстраполяции возбуждения, который получает информацию о задержке высоты тона, блок 120 объединения возбуждения, модуль 122 кадрирования и частотного преобразования, анализатор энергетической устойчивости как классификатор 124 сигнала второго этапа, блок 126 оценки уровня шума в диапазоне, блок 128 уменьшения шума, блок 130 формирования маски, включающий в себя блок 131 нормализации спектральной энергии, блок 132 усреднения энергии и блок 134 сглаживания энергии, блок 136 модификации динамики спектра, блок 138 преобразования из частотной области во временную область, блок 140 извлечения возбуждения кадра, блок 142 перезаписи, включающий в себя контрольную точку 144 принятия решения, управляющую переключателем 146, и фильтр устранения предыскажений и передискретизатор 148. Решение о перезаписи, принимаемое контрольной точкой 144 принятия решения, основывается на НЕАКТИВНОЙ или НЕВОКАЛИЗИРОВАННОЙ классификации, получаемой из классификатора 112 сигнала первого этапа, и на категории звукового сигнала e, получаемой из классификатора 124 сигнала второго этапа, независимо от того, подается ли к фильтру устранения предыскажений и передискретизатору 148 сигнал 150 основного синтеза от фильтра 108 синтеза LP, или модифицированный, то есть улучшенный сигнал 152 синтеза от фильтра 110 синтеза LP. Выход фильтра устранения предыскажений и передискретизатора 148 подается к цифро-аналоговому (D/A) преобразователю 154, который обеспечивает аналоговый сигнал, усиленный усилителем 156 и подаваемый далее к громкоговорителю 158, который генерирует слышимый звуковой сигнал. Альтернативно выход фильтра устранения предыскажений и передискретизатора 148 может быть передан в цифровом формате по коммуникационному интерфейсу (не показан) или сохранен в цифровом формате в памяти (не показана), на компакт-диске или на любом другом носителе цифрового накопителя. В качестве другой альтернативы, выход цифроаналогового преобразователя 154 может быть подан в наушники (не показаны), непосредственно или через усилитель. В качестве еще одной альтернативы, выход цифроаналогового преобразователя 154 может быть записан на аналоговом носителе (не показан) или передан через коммуникационный интерфейс (не показан) как аналоговый сигнал.
[0027] Следующие параграфы описывают подробности операций, выполняемых различными компонентами декодера 100, изображенного на Фиг. 2.
1) Классификация первого этапа
x
t
s
[0028] В иллюстративном варианте осуществления классификация первого этапа выполняется в декодере в классификаторе 112 первого этапа в ответ на параметры определения присутствия голосового сигнала VAD от демультиплексора 103. Классификация первого этапа декодера аналогична тому, что описано в публикации Vaillancourt'011. Следующие параметры используются для классификации в блоке 114 оценки классификации сигнала декодера: нормализованная корреляция r, мера спектрального наклона e счетчика устойчивости высоты тона pc, относительная энергия кадра сигнала в конце текущего кадра E, а также счетчик нулевых пересечений zc. Вычисление этих параметров, которые используются для классификации сигнала, объясняется ниже.
x
[0029] Нормализованная корреляция r вычисляется в конце кадра на основе сигнала синтеза. Используется задержка высоты тона последнего подкадра.
x
[0030] Нормализованная корреляция r вычисляется одновременно с высотой тона как
[0031] где T является задержкой высоты тона последнего подкадра, t=L-T, и L является размером кадра. Если задержка высоты тона последнего подкадра больше, чем 3N/2 (где N - размер подкадра), T устанавливается равным средней задержке высоты тона последних двух подкадров.
x
x
[0032] Корреляция r вычисляется с использованием сигнала синтеза x(i). Для задержки высоты тона ниже, чем размер подкадра (64 отсчета) нормализованная корреляция вычисляется дважды в моменты времени t=L-T и t=L-2T, а r задается как среднее значение этих двух вычислений.
t
[0033] Параметр спектрального наклона e содержит информацию о частотном распределении энергии. В существующем иллюстративном варианте осуществления спектральный наклон в декодере оценивается как первый нормализованный коэффициент автокорреляции сигнала синтеза. Он вычисляется на основе последних 3 подкадров как
[0034] где x (i) является сигналом синтеза, N является размером подкадра, а L является размером кадра (N=64 и L=256 в этом иллюстративном варианте осуществления).
[0035] Счетчик устойчивости высоты тона оценивает вариацию периода высоты тона. Она вычисляется в декодере следующим образом:
3
2
1
0
pc = |p+p-p-p| (3)
0
1
2
3
[0036] Значения p, p, pи p соответствуют задержке высоты тона в замкнутом цикле от этих 4 подкадров.
s
[0037] Относительная энергия E кадра вычисляется как разность между текущей энергией кадра в дБ и его долгосрочным средним значением
f
out
[0038] где энергия E кадра является энергией сигнала синтеза s в дБ, вычисляемой синхронно с высотой тона в конце кадра как
[0039] где L=256 является длиной кадра, а T является средней задержкой высоты тона последних двух подкадров. Если значение T меньше, чем размер подкадра, тогда значение T устанавливается равным 2T (энергии, вычисленной с использованием двух периодов высоты тона для коротких задержек высоты тона).
[0040] Долгосрочная усредненная энергия обновляется на активных кадрах с использованием следующего соотношения:
[0041] Последний параметр является параметром zc нулевых пересечений, вычисленным на одном кадре сигнала синтеза. В этом иллюстративном варианте осуществления счетчик нулевых пересечений zc подсчитывает количество раз, которое знак сигнала меняется с положительного на отрицательный во время этого интервала.
m
x
[0042] Для того, чтобы сделать классификацию первого этапа более надежной, параметры классификации рассматриваются вместе, формируя функцию выгоды f. С этой целью параметры классификации сначала масштабируются с использованием линейной функции. Рассмотрим параметр p, масштабированная версия которого получается с использованием формулы
p
p
[0043] Масштабированный параметр устойчивости высоты тона обрезается между 0 и 1. Коэффициенты функции k и c были найдены экспериментально для каждого из параметров. Значения, используемые в этом иллюстративном варианте осуществления, приведены в Таблице 1.
Таблица 1Параметры классификации сигнала первого этапа в декодере и коэффициенты их соответствующих масштабирующих функций
Параметр
Значение
k<sub>p</sub>
Op
r<sub>x</sub>
Нормализованная корреляция
0,8547
0,2479
e<sub>t</sub>
Спектральный наклон
0,8333
0,2917
pc
Счетчик устойчивости высот тона
-0,0357
1,6074
E<sub>s</sub>
Относительная энергия кадра
0,04
0,56
zc
Счетчик нулевых пересечений
-0,04
2,52
[0044] Функция выгоды была определена как
[0045] где верхний индекс s указывает масштабированную версию параметров.
m
[0046] Классификация затем выполняется (контрольная точка 116 выбора класса) с использованием функции f выгоды, следуя правилам, приведенным в Таблице 2.
Таблица 2Правила классификации сигнала в декодере
Класс предыдущего кадра
Правило
Класс текущего кадра
ДРУГОЙ
f<sub>m</sub> ≥ 0,39
ДРУГОЙ
f<sub>m</sub> < 0,39
НЕВОКАЛИЗИРОВАННЫЙ
НЕВОКАЛИЗИРОВАННЫЙ
f<sub>m</sub> > 0,45
ДРУГОЙ
fm ≤ 0,45
НЕВОКАЛИЗИРОВАННЫЙ
VAD = 0
НЕАКТИВНЫЙ
f
[0047] В дополнение к этой классификации первого этапа, информация об определении присутствия голосового сигнала (VAD) кодером может быть передана в потоке битов, как это имеет место в случае иллюстративного примера на основе AMR-WB. Таким образом, один бит посылается в потоке битов для того, чтобы определить, рассматривает ли кодер текущий кадр как активный контент (VAD = 1) или НЕАКТИВНЫЙ контент (фоновый шум, VAD = 0). Когда контент рассматривается как НЕАКТИВНЫЙ, тогда классификация перезаписывается как НЕВОКАЛИЗИРОВАННЫЙ. Схема классификации первого этапа также включает в себя обнаружение ОБЩЕГО ЗВУКА. Категория ОБЩИЙ ЗВУК включает в себя музыку, реверберирующую речь и может также включать фоновую музыку. Для того, чтобы идентифицировать эту категорию, используются два параметра. Одним из этих параметров является общая энергия E кадра, выражаемая уравнением (5).
t
t
E
f
df
[0048] Сначала модуль определяет разность энергий Δ двух смежных кадров, в частности разность между энергией текущего кадра E и энергией предыдущего кадра. Затем вычисляется средняя разность энергий E по прошлым 40 кадрам, используя следующее соотношение:
где:
E
[0049] Затем модуль определяет статистическую девиацию вариации энергии a для последних пятнадцати (15) кадров, используя следующее соотношение:
E
[0050] При практической реализации иллюстративного варианта осуществления масштабный коэффициент p был найден экспериментально и установлен равным приблизительно 0,77. Получаемая девиация a указывает на энергетическую устойчивость декодированного синтеза. Как правило, музыка имеет более высокую энергетическую устойчивость, чем речь.
uv
f
uv
f
lt
lt
[0051] Результат классификации первого этапа далее используется для того, чтобы подсчитать количество кадров N между двумя кадрами, классифицированными как НЕВОКАЛИЗИРОВАННЫЕ. При практической реализации подсчитываются только кадры с энергией E выше чем -12 дБ. Обычно счетчик N инициализируется нулем, когда кадр классифицируется как НЕВОКАЛИЗИРОВАННЫЙ. Однако, когда кадр классифицируется как НЕВОКАЛИЗИРОВАННЫЙ, и его энергия E больше, чем -9 дБ, и долгосрочная средняя энергия E ниже 40 дБ, тогда счетчик инициализируется значением 16 для того, чтобы придать небольшое смещение в сторону музыкального решения. В противном случае, если кадр классифицируется как НЕВОКАЛИЗИРОВАННЫЙ, но долгосрочная средняя энергия E выше 40 дБ, счетчик уменьшается на 8 для того, чтобы обеспечить схождение к речевому решению. При практической реализации счетчик ограничивается диапазоном от 0 до 300 для активного сигнала; счетчик также ограничивается диапазоном от 0 до 125 для НЕАКТИВНОГО сигнала для того, чтобы получить быструю сходимость к речевому решению, когда следующий активный сигнал является речевым. Эти диапазоны не являются ограничивающими, и другие амплитуды также могут быть рассмотрены в конкретной реализации. Для этого иллюстративного примера решение между активным и НЕАКТИВНЫМ сигналом выводится из решения о речевой активности (VAD), включенного в поток битов.
uv
uv
lt
uv
lt
uv
[0052] Долгосрочное среднее число N выводится из этого счетчика НЕВОКАЛИЗИРОВАННЫХ кадров для активного сигнала следующим образом: N = 0,9⋅N + 0,1 ⋅ N
[0053] и для НЕАКТИВНОГО сигнала следующим образом:
[0054] где t является индексом кадра. Следующий псевдокод иллюстрирует функциональность счетчика НЕВОКАЛИЗИРОВАННЫХ кадров и его долгосрочное среднее значение:
uv
E
uv
E
[0055] Кроме того, когда долгосрочное среднее значение N является очень высоким и девиация σ также является высокой в некотором кадре (N > 140 и σ > 5 в текущем примере), что означает, что текущий сигнал навряд ли будет музыкой, долгосрочное среднее значение обновляется в этом кадре по-другому. Обновление осуществляется так, чтобы оно сходилось к значению 100 и смещало решение в сторону речи. Это делается, как показано ниже:
A
[0056] Этот параметр на долгосрочном среднем значении ряда кадров, находящихся между кадрами, классифицированными как НЕВОКАЛИЗИРОВАННЫЕ, используется для определения того, должен ли этот кадр рассматриваться как ОБЩИЙ ЗВУК или нет. Чем ближе друг к другу по времени НЕВОКАЛИЗИРОВАННЫЕ кадры, тем более вероятно, что сигнал имеет речевую характеристику (менее вероятно, что он является ОБЩИМ ЗВУКОВЫМ сигналом). В иллюстративном примере порог для принятия решения о том, что кадр следует рассматривать как ОБЩИЙ ЗВУК G, определяется следующим образом:
A
uv
E
t
Кадр является ОБЩИМ ЗВУКОМ G, если: N > 100 и Δ < 12 (14)
t
E
[0057] Параметр Δ, определенный в уравнении (9), используется в условии (14) для того, чтобы избежать классификации большой энергетической вариации в качестве ОБЩЕГО ЗВУКА.
[0058] Постобработка, выполняемая на возбуждении, зависит от классификации сигнала. Для некоторых типов сигналов модуль постобработки вообще не используется. Следующая таблица показывает все случаи, в которых выполняется постобработка.
Таблица 3Категории сигнала для модификации возбуждения
Классификация кадра
Использовать ли модуль постобработки, да/нет
ВОКАЛИЗИРОВАННЫЙ
да
ОБЩИЙ ЗВУК
да
НЕВОКАЛИЗИРОВАННЫЙ
нет
НЕАКТИВНЫЙ
нет
[0059] Когда используется модуль постобработки, другой анализ энергетической устойчивости, описываемый ниже, выполняется на спектральной энергии объединенного возбуждения. Аналогично описанному в публикации Vaillancourt'050, этот второй анализ энергетической устойчивости дает указание, где именно в спектре должна начаться постобработка и в какой степени она должна быть применена.
2) Создание вектора возбуждения
c
x
w
c
[0060] Для того, чтобы увеличить частотное разрешение, используется частотное преобразование более длинное, чем длина кадра. Чтобы сделать это, в иллюстративном варианте осуществления в блоке 120 объединения возбуждения создается объединенный вектор возбуждения e(n) путем объединения последних 192 отсчетов предыдущего кадра возбуждения, сохраненного в буферной памяти 106 прошлого возбуждения, декодированного возбуждения текущего кадра e(n) из декодера 104 возбуждения во временной области, и экстраполяции 192 отсчетов возбуждения будущего кадра e(n) из блока 118 экстраполяции возбуждения. Это описывается ниже, где L является длиной прошлого возбуждения, а также длиной экстраполируемого возбуждения, а L является длиной кадра. Это соответствует 192 и 256 отсчетам соответственно, давая полную длину L = 640 отсчетов в иллюстративном варианте осуществления:
[0061] В декодере CELP сигнал e(n) возбуждения во временной области задается формулой
e(n) = bv(n)+gc(n)
x
[0062] где v(n) является вкладом адаптивной кодировочной книги, b является усилением адаптивной кодировочной книги, c(n) является вкладом фиксированной кодировочной книги, и g является усилением фиксированной кодировочной книги. Экстраполяция будущих отсчетов возбуждения e(n) вычисляется в блоке 118 экстраполяции возбуждения путем периодического расширения сигнала возбуждения e(n) текущего кадра из декодера 104 возбуждения во временной области с использованием декодированной фракционной высоты тона последнего подкадра текущего кадра. Учитывая фракционное разрешение задержки высоты тона, повышающая дискретизация возбуждения текущего кадра выполняется с использованием кадрирующей синусоидальной функции Хэмминга длиной 35 отсчетов.
3) Кадрирование
[0063] В модуле 122 кадрирования и частотного преобразования перед преобразованием из временной в частотную область выполняется кадрирование объединенного возбуждения. Выбранное окно w(n) имеет плоскую вершину, соответствующую текущему кадру, и уменьшается по функции Хэмминга до 0 на каждом конце. Следующее уравнение представляет используемое окно:
c
C
W
wc
[0064] При применении к объединенному возбуждению при практической реализации получается вход для частотного преобразования, имеющий полную длину L=640 отсчетов (L=2L+L). Кадрированное объединенное возбуждение e(n) центруется на текущем кадре и представляется следующим уравнением:
4) Частотное преобразование
e
[0065] Во время фазы постобработки в частотной области объединенное возбуждение представляется в домене преобразования. В этом иллюстративном варианте осуществления преобразование из временной в частотную область достигается в модуле 122 кадрирования и частотного преобразования, использующем дискретное косинусное преобразование типа II, дающее разрешение 10 Гц, однако может использоваться любое другое преобразование. В случае, если используется другое преобразование (или другая длина преобразования), частотное разрешение (определенное выше), количество полос и количество элементов разрешения на полосу (определенное ниже), может быть соответственно пересмотрено. Частотное представление объединенного и кадрированного возбуждения CELP во временной области f определяется следующим образом:
wc
c
c
[0066] Где e(n) представляет собой объединенное и кадрированное возбуждение во временной области, а L является длиной частотного преобразования. В этом иллюстративном варианте осуществления длина кадра L составляет 256 отсчетов, но длина частотного преобразования L составляет 640 отсчетов для соответствующей внутренней частоты оцифровки, равной12,8 кГц.
5) Анализ энергии на полосу и на элемент разрешения
[0067] После дискретного косинусного преобразования получаемый спектр делится на полосы критических частот (практическая реализация использует 17 критических полос в частотном диапазоне 0-4000 Гц и 20 полос критических частот в частотном диапазоне 0-6400 Гц). Используемые зоны критических частот являются максимально возможно близкими к тому, что определяется в публикации J. D. Johnston, «Transform coding of audio signal using perceptual noise criteria», IEEE J. Select. Areas Commun., vol. 6, pp. 314-323, Feb. 1988, содержание которой включено в настоящий документ посредством ссылки, и их верхние границы определяются следующим образом:
B
C = {100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400} Гц.
[0068] Дискретное косинусное преобразование с 640 точками дает частотное разрешение 10 Гц (6400 Гц / 640 точек). Количество частотных элементов разрешения на полосу критической частоты составляет
cb
M= {10, 10, 10, 10, 11, 12, 14, 15, 16, 19,21,24, 28, 32, 38, 45, 55, 70, 90, 110}.
b
[0069] Средняя спектральная энергия на полосу критической частоты E(i) вычисляется следующим образом:
e
i
[0070] где f(h) представляет h-й элемент разрешения по частоте критической полосы, а j является индексом первого элемента разрешения в i-й критической полосе, определяемым как
i
j = {0, 10, 20, 30, 40, 51, 63, 77, 92, 108, 127, 148, 172, 200, 232, 270, 315, 370, 440, 530}.
BIN
[0071] Спектральный анализ также вычисляет энергию спектра на элемент разрешения по частоте E(k) с использованием следующего соотношения:
c
[0072] Наконец, спектральный анализ вычисляет полную спектральную энергию E объединенного возбуждения как сумму спектральных энергий первых 17 полос критических частот с использованием следующего соотношения:
6) Классификация сигнала возбуждения второго этапа
[0073] Как описано в публикации Vaillancourt'050, способ для улучшения декодированного общего звукового сигнала включает в себя дополнительный анализ сигнала возбуждения, спроектированный для того, чтобы дополнительно максимизировать эффективность межгармонического шумоподавления путем идентификации того, какой кадр хорошо подходит для межтонального шумоподавления.
[0074] Классификатор 124 сигнала второго этапа не только дополнительно разделяет декодированное объединенное возбуждение на категории звукового сигнала, но также дает инструкции блоку 128 межгармонического уменьшения шума относительно максимального уровня затухания и минимальной частоты, где может начинаться это уменьшение.
c
[0075] В представленном иллюстративном примере классификатор 124 сигнала второго этапа был сохранен настолько простым, насколько это возможно, и очень похож на классификатор типа сигнала, описанный в публикации Vaillancourt'050. Первая операция заключается в выполнении анализа энергетической устойчивости аналогично тому, как это делается в уравнениях (9) и (10), но используя в качестве ввода полную спектральную энергию объединенного возбуждения E, как сформулировано в уравнении (21):
d
c
c
t
(t-1)
[0076] где E представляет среднюю разницу энергий объединенных векторов возбуждения двух смежных кадров, E представляет энергию объединенного возбуждения текущего кадра t, и E представляет энергию объединенного возбуждения предыдущего кадра t-1. Среднее значение вычисляется по последним 40 кадрам.
c
[0077] Затем статистическая девиация σ вариации энергии по последним пятнадцати (15) кадрам вычисляется с использованием следующего соотношения:
c
CAT
[0078] где при практической реализации масштабный коэффициент p находится экспериментально и устанавливается равным приблизительно 0,77. Получаемая девиация σ сравнивается с четырьмя (4) плавающими порогами для определения того, в какой степени шум между гармониками может быть уменьшен. Выход этого классификатора 124 сигнала второго этапа расщепляется на пять (5) категорий звукового сигнала e, называемых категориями звукового сигнала 0-4. Каждая категория звукового сигнала имеет свою собственную настройку межтонального шумоподавления.
[0079] Пять (5) категорий звукового сигнала 0-4 могут быть определены, как указано в следующей Таблице.
Таблица 4Выходные характеристики классификатора возбуждения
Категория
Улучшенная полоса (широкая полоса)
Допустимоеуменьшение
e<sub>CAT</sub>
Гц
дБ
0
неприменимо
0
1
[920, 6400]
6
2
[920, 6400]
9
3
[770, 6400]
12
4
[630, 6400]
12
[0080] Категория 0 звукового сигнала является категорией нетонального, неустойчивого звукового сигнала, которая не модифицируется методом межтонального шумоподавления. Эта категория декодированного звукового сигнала имеет самую большую статистическую девиацию вариации спектральной энергии, и в большинстве случаев включает в себя речевой сигнал.
c
s
s
max
[0081] Категория 1 звукового сигнала (самая большая статистическая девиация вариации спектральной энергии после категории 0) обнаруживается, когда статистическая девиация σ вариации спектральной энергии ниже Порога 1, и последняя обнаруженная категория звукового сигнала ≥ 0. Тогда максимальное уменьшение шума квантования декодированного тонального возбуждения в пределах полосы частот от 920 Гц до F/2 Гц (6400 Гц в этом примере, где F является частотой оцифровки) ограничивается максимальным шумоподавлением R с величиной 6 дБ.
c
s
[0082] Категория 2 звукового сигнала обнаруживается, когда статистическая девиация σ вариации спектральной энергии ниже Порога 2, и последняя обнаруженная категория звукового сигнала ≥ 1. Тогда максимальное уменьшение шума квантования декодированного тонального возбуждения в пределах полосы частот от 920 Гц до F/2 Гц ограничивается максимумом в 9 дБ.
c
[0083] Категория 3 звукового сигнала обнаруживается, когда статистическая девиация σ вариации спектральной энергии ниже Порога 3, и последняя обнаруженная категория звукового сигнала ≥ 2. Тогда максимальное уменьшение шума квантования декодированного тонального возбуждения в пределах полосы частот от 770 Гц до Fs/2 Гц ограничивается максимумом в 12 дБ.
c
[0084] Категория 4 звукового сигнала обнаруживается, когда статистическая девиация σ вариации спектральной энергии ниже Порога 4, и последняя обнаруженная категория звукового сигнала ≥ 3. Тогда максимальное уменьшение шума квантования декодированного тонального возбуждения в пределах полосы частот от 630 Гц до Fs/2 Гц ограничивается максимумом в 12 дБ.
[0085] Плавающие пороги 1-4 помогают предотвратить неправильную классификацию типа сигнала. Как правило, декодированный тональный звуковой сигнал, представляющий музыку, получает намного более низкую статистическую девиацию вариации своей спектральной энергии, чем речь. Однако даже музыкальный сигнал может содержать сегмент более высокой статистической девиации, и аналогичным образом речевой сигнал может содержать сегменты с более низкой статистической девиацией. Тем не менее маловероятно, чтобы речь и музыкальный контент регулярно чередовались от одного кадра к другому. Плавающие пороги добавляют гистерезис решения и действуют как усиление предыдущего состояния для того, чтобы по существу предотвратить ошибочную классификацию, которая может привести к неоптимальной эффективности блока 128 межгармонического уменьшения шума.
[0086] Счетчики последовательных кадров категории 0 звукового сигнала и счетчики последовательных кадров категории 3 или 4 звукового сигнала используются для того, чтобы соответственно уменьшить или увеличить эти пороги.
[0087] Например, если счетчик подсчитывает серию из более чем 30 кадров звукового сигнала категории 3 или 4, все плавающие пороги (1-4) увеличиваются на предопределенное значение с целью разрешения рассматривать большее количество кадров как категорию 4 звукового сигнала.
[0088] Обратное также справедливо для категории 0 звукового сигнала. Например, если насчитывается серия из более чем 30 кадров звукового сигнала категории 0, все плавающие пороги (1-4) уменьшаются с целью разрешения рассматривать большее количество кадров как категорию 0 звукового сигнала. Все плавающие пороги 1-4 ограничиваются абсолютными максимальными и минимальными значениями для того, чтобы гарантировать, что классификатор сигнала не блокируется на фиксированной категории.
[0089] В случае стирания кадра все пороги 1-4 вновь устанавливаются равными их минимальным величинам, и выход классификатора второго этапа рассматривается как нетональный (категория 0 звукового сигнала) для трех (3) последовательных кадров (включая потерянный кадр).
CAT
[0090] Если доступна информация от детектора речевой активности (VAD), и она указывает на отсутствие речевой активности (наличие тишины), решение классификатора второго этапа насильно устанавливается в категорию 0 звукового сигнала (e = 0).
7) Межгармоническое шумоподавление в домене возбуждения
s
min
max
[0091] Межтональное или межгармоническое шумоподавление выполняется на частотном представлении объединенного возбуждения как первая операция улучшения. Уменьшение шума межтонального квантования выполняется в блоке 128 уменьшения шума путем масштабирования спектра в каждой критической полосе масштабирующим усилением g, ограниченным минимальным и максимальным усилением g и g. Масштабирующее усиление выводится из оценки отношения сигнал/шум (SNR) в этой критической полосе. Эта обработка выполняется на основе частотных элементов разрешения, а не на основе критических полос. Таким образом, масштабирующее усиление применяется ко всем частотным элементам разрешения, и оно выводится из SNR, вычисленного с использованием энергии элемента разрешения, деленной на оценку энергии шумов критической полосы, включающей в себя этот элемент разрешения. Эта особенность позволяет сохранить энергию на частотах около гармоник или тонов, таким образом по существу предотвращая искажение, одновременно с этим сильно уменьшая шум между гармониками.
td
[0092] Межтональное шумоподавление выполняется на поэлементной основе по всем 640 элементам разрешения. После применения межтонального шумоподавления к спектру выполняется другая операция улучшения спектра. Затем обратное дискретное косинусное преобразование используется для того, чтобы реконструировать сигнал улучшенного объединенного возбуждения e, как будет описано позже.
min
max
[0093] Минимальное масштабирующее усиление g выводится из максимально допустимого межтонального шумоподавления R в дБ. Как описано выше, второй этап классификации дает максимально допустимое понижение в диапазоне от 6 до 12 дБ. Таким образом минимальное масштабирующее усиление определяется как
[0094] Масштабирующее усиление вычисляется относительно значения SNR на элемент разрешения. Затем поэлементное шумоподавление выполняется, как упомянуто выше. В текущем примере поэлементная обработка применяется ко всему спектру до максимальной частоты 6400 Гц. В этом иллюстративном варианте осуществления шумоподавление начинается в 6-й критической полосе (то есть никакого шумоподавления не выполняется ниже 630 Гц). Для того чтобы уменьшить негативное воздействие метода, классификатор второго этапа может сместить начальную критическую полосу вплоть до 8-й полосы (920 Гц). Это означает, что первая критическая полоса, на которой выполняется шумоподавление, находится между 630 Гц и 920 Гц, и это может изменяться от кадра к кадру. В более консервативной реализации минимальная полоса, где начинается шумоподавление, может быть установлена выше.
[0095] Масштабирование для определенного элемента разрешения по частоте k вычисляется как функция SNR, определяемая выражением
ограниченным как
max
s
s
s
min
s
min
s
s
s
[0096] Обычно значение g равно 1 (то есть усиление не выполняется), затем определяются значения k и c таким образом, что g = g для SNR = 1 дБ, и g = 1 для SNR = 45 дБ. Таким образом, для значения SNR 1 дБ и ниже масштабирование ограничивается величиной g, а для значения SNR 45 дБ и выше никакое шумоподавление не выполняется (g = 1). Таким образом, учитывая эти две конечных точки, значения k и c в Уравнении (25) определяются как
max
[0097] Если значение g имеет величину выше 1, то оно позволяет процессу слегка усиливать тоны, имеющие самую высокую энергию. Это может использоваться для того, чтобы компенсировать тот факт, что кодек CELP, используемый в практической реализации, не полностью выравнивает энергию в частотной области. Это обычно имеет место для сигналов, отличающихся от вокализированной речи.
[0098] Значение SNR на элемент разрешения в определенной критической полосе i вычисляется как
B
i
B
[0099] где  и  обозначают энергию на элемент разрешения по частоте для спектрального анализа прошлого и текущего кадра соответственно, вычисленную по уравнению (20), N(i) обозначает оценку энергии шумов критической полосы i, j является индексом первого элемента разрешения в i-й критической полосе, и M(i) является количеством элементов разрешения в критической полосе i, как определено выше.
gs
s
s
[00100] Коэффициент сглаживания является адаптивным, и он сделан обратно относящимся к самому усилению. В этом иллюстративном варианте осуществления коэффициент сглаживания задается выражением α = 1-g. Иначе говоря, сглаживание является более сильным для меньших усилений g. Этот подход по существу предотвращает искажение в сегментах с высоким значением SNR, которым предшествуют кадры с низким значением SNR, как это имеет место для вокализированных вступлений. В иллюстративном варианте осуществления процедура сглаживания способна быстро адаптироваться и использовать более низкие масштабирующие усиления на вступлениях.
BIN,LP
[00101] В случае поэлементной обработки в критической полосе с индексом i, после определения масштабирующего усиления, как в уравнении (25), и использования значения SNR, как определено в уравнениях (27), фактическое масштабирование выполняется с использованием сглаженного масштабирующего усиления g, обновляемого при каждом частотном анализе следующим образом
gs
[00102] Временное сглаживание усилений по существу предотвращает слышимые колебания энергии, в то время как управление сглаживанием с использованием a по существу предотвращает искажение в сегментах с высоким значением SNR, которым предшествуют кадры с низким значением SNR, как это имеет место для вокализированных вступлений или атак.
[00103] Масштабирование в критической полосе i выполняется как
i
B
[00104] где j является индексом первого элемента разрешения в критической полосе i, а M(i) является количеством элементов разрешения в этой критической полосе.
BIN,LP
CAT
[00105] Сглаженные масштабирующие усиления g(k) первоначально устанавливаются равными 1. Каждый раз, когда обрабатывается нетональный звуковой кадр, e =0, сглаженные масштабирующие усиления вновь устанавливаются равными 1,0 для того, чтобы уменьшить любое возможное понижение в следующем кадре.
BIN,LP
b
[00106] Следует отметить, что при каждом спектральном анализе сглаженные масштабирующие усиления g(k) обновляется для всех частотных элементов разрешения во всем спектре. Также следует отметить, что в случае низкоэнергетического сигнала межтональное шумоподавление ограничено величиной -1,25 дБ. Это происходит, когда максимальная энергия шумов во всех критических полосах max(N(i)), i = 0…, 20, меньше или равна 10.
8) Оценка шума межтонального квантования
[00107] В этом иллюстративном варианте осуществления энергия шумов межтонального квантования на полосу критической частоты оценивается в блоке 126 оценки уровня шума в полосе как средняя энергия этой полосы критической частоты за исключением максимальной энергии элемента разрешения этой же самой полосы. Следующая формула суммирует оценку энергии шумов квантования для конкретной полосы i:
i
b
B
BIN
i
B
[00108] где j является индексом первого элемента разрешения в критической полосе i, M(i) является количеством элементов разрешения в этой критической полосе, E(i) является средней энергией полосы i, E(h+j) является энергией конкретного элемента разрешения, и N(i) является получаемой оценкой энергии шумов конкретной полосы i. В уравнении (30) оценки шума величина q(i) представляет шумовой масштабирующий коэффициент на полосу, который находится экспериментально и может модифицироваться в зависимости от реализации, в которой используется постобработка. При практической реализации шумовой масштабирующий коэффициент устанавливается так, чтобы больше шума могло быть удалено на низких частотах и меньше шума могло быть удалено на высоких частотах, как показано ниже:
q={10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,15,15,15,15,15}.
9) Увеличение динамики спектра возбуждения
[00109] Вторая операция частотной постобработки обеспечивает возможность восстановления частотной информации, которая была потеряна в шумах кодирования. Кодеки CELP, особенно когда они используются при низких скоростях передачи, не очень эффективны для кодирования частотного контента выше 3,5-4 кГц. Главная идея здесь состоит в том, чтобы использовать преимущество того факта, что музыкальный спектр зачастую не изменяется существенно от кадра к кадру. Следовательно, может быть сделано долгосрочное усреднение, и часть шума кодирования может быть устранена. Следующие операции выполняются для того, чтобы определить частотно-зависимую функцию усиления. Эта функция затем используется для того, чтобы дополнительно улучшить возбуждение перед его обратным преобразованием во временную область.
а. Поэлементная нормализация энергии спектра
BIN
n
[00110] Первая операция заключается в создании в блоке 130 формирования маски весовой маски на основе нормализованной энергии спектра объединенного возбуждения. Нормализация выполняется в блоке 131 нормализации энергии спектра так, чтобы тона (или гармоники) имели значение выше 1,0, а впадины имели значение ниже 1,0. Для того чтобы сделать это, энергетический спектр E(k) элемента разрешения нормализуется в диапазоне от 0,925 до 1 925, с тем чтобы получить нормализованный энергетический спектр E(k), с использованием следующего уравнения:
BIN
[00111] где E(k) представляет энергию элемента разрешения, вычисленную в соответствии с уравнением (20). Так как нормализация выполняется в энергетической области, многие элементы разрешения имеют очень низкие значения. При практической реализации смещение 0,925 было выбрано так, чтобы только небольшая часть нормализованных энергетических элементов разрешения имела значение меньше 1,0. Как только нормализация выполнена, полученный нормализованный энергетический спектр обрабатывается с помощью степенной функции для того, чтобы получить масштабированный энергетический спектр. В этом иллюстративном примере используется степень 8 для того, чтобы ограничить минимальные величины масштабированного энергетического спектра величиной приблизительно 0,5, как показано в следующей формуле:
n
p
[00112] где E(k) является нормализованным энергетическим спектром, а E(k) является масштабированным энергетическим спектром. Более агрессивная степенная функция может использоваться для того, чтобы еще больше уменьшить шум квантования, например, может быть выбрана степень10 или 16, возможно со смещением, более близким к единице. Однако попытка удалить слишком много шума может также привести к потере важной информации.
[00113] Использование степенной функции без ограничения ее выхода быстро приводит к насыщению для значений энергетического спектра, больших единицы. Максимальный предел масштабированного энергетического спектра, таким образом, устанавливается равным 5 при практической реализации, создавая отношение между максимальным и минимальным значениями нормализованной энергии, равное приблизительно 10. Это является полезным, учитывая, что доминирующий элемент разрешения может иметь слегка отличающееся положение от одного кадра к другому, так что предпочтительно, чтобы весовая маска была относительно устойчивой от одного кадра к следующему кадру. Следующее уравнение показывает, как применяется эта функция:
pl
p
[00114] где E(k) представляет ограниченный масштабированный энергетический спектр, а E(k) является масштабированным энергетическим спектром, как определено в уравнении (32).
b. Сглаживание масштабированного энергетического спектра вдоль частотной оси и временной оси
[00115] В ходе последних двух операций начинает формироваться положение большинства энергетических импульсов. Применение степени 8 к элементам разрешения нормализованного энергетического спектра является первой операцией, которая создаст эффективную маску для увеличения динамики спектра. Следующие две (2) операции дополнительно улучшают эту маску спектра. Сначала масштабированный энергетический спектр сглаживается в блоке 132 усреднения энергии вдоль частотной оси от низких частот до высоких частот с использованием усредняющего фильтра. Затем полученный спектр обрабатывается в блоке 134 сглаживания энергии вдоль оси временной области для того, чтобы сгладить значения элементов разрешения от кадра к кадру.
[00116] Сглаживание масштабированного энергетического спектра вдоль частотной оси может быть описано следующей функцией:
m
e
[00117] Наконец, сглаживание вдоль оси времени приводит к усредненной во времени весовой маске G усиления/ослабления, которая должна быть применена к спектру f'. Весовая маска, также называемая маской усиления, описывается следующим уравнением:
pl
m
[00118] где E является масштабированным энергетическим спектром, сглаженным вдоль частотной оси, t является индексом кадра, а G является усредненной во времени весовой маской.
e
[00119] Более медленная скорость адаптации была выбрана для более низких частот для того, чтобы по существу предотвратить колебания усиления. Более быстрая скорость адаптации обеспечивается для более высоких частот, так как положения тонов с большей вероятностью быстро меняются в более высокой части спектра. При усреднении, выполняемом на частотной оси, и долгосрочном сглаживании, выполняемом вдоль оси времени, конечный вектор, полученный в выражении (35), используется в качестве весовой маски, применяемой непосредственно к улучшенному спектру объединенного возбуждения f' уравнения (29).
10) Применение весовой маски к улучшенному спектру объединенного возбуждения
CAT
CAT
=
[00120] Весовая маска, определенная выше, применяется по-разному блоком 136 модификации динамики спектра в зависимости от выхода классификатора возбуждения второго этапа (от значения e, показанного в таблице 4). Весовая маска не применяется, если возбуждение классифицируется как категория 0 (e 0; т.е. высокая вероятность наличия речи). Когда скорость передачи кодека является высокой, уровень шума квантования является в большинстве случаев низким, и он изменяется в зависимости от частоты. Это означает, что усиление тонов может быть ограничено в зависимости от положений импульсов в спектре и закодированной скорости передачи. При использовании способа кодирования, отличающегося от CELP, например, если сигнал возбуждения включает в себя комбинацию компонентов, закодированных во временной области и в частотной области, использование весовой маски может быть скорректировано для каждого конкретного случая. Например, усиление импульса может быть ограничено, но способ может все еще использоваться для уменьшения шума квантования.
CAT
[00121] Для первого 1 кГц (первые 100 элементов разрешения в практической реализации) маска применяется, если возбуждение не классифицируется как возбуждение категории 0 (e ≠ 0). Ослабление возможно, однако никакого усиления не выполняется в этом частотном диапазоне (максимальное значение маски ограничено величиной 1,0).
CAT
max0
[00122] Если больше чем 25 последовательных кадров классифицируются как кадры категории 4 (e = 4; то есть высокая вероятность музыкального контента), но не более 40 кадров, тогда весовая маска применяется без усиления для всех остающихся элементов разрешения (элементы разрешения 100-639) (максимальное усиление G ограничивается величиной 1,0, и нет никакого ограничения на минимальное усиление).
max1
max1
min1
[00123] Когда более 40 кадров классифицируются как кадры категории 4, для частот между 1 и 2 кГц (элементы разрешения 100-199 в практической реализации) максимальное усиление G устанавливается равным 1,5 для скоростей передачи ниже 12650 бит в секунду (бит/с). В противном случае максимальное усиление G устанавливается равным 1,0. В этой полосе частот минимальное усиление G устанавливается равным 0,75, только если скорость передачи является более высокой, чем 15850 бит/с, в противном случае нет никакого ограничения на минимальное усиление.
max2
max2
min2
[00124] Для полосы от 2 до 4 кГц (элементы разрешения 200-399 в практической реализации), максимальное усиление G ограничивается величиной 2,0 для скоростей передачи ниже 12650 бит/с, и ограничивается величиной 1,25 для скоростей передачи, равных или выше чем 12650 бит/с и меньше 15850 бит/с. В противном случае максимальное усиление G ограничивается величиной 1,0. В этой же полосе частот минимальное усиление G устанавливается равным 0,5, только если скорость передачи является более высокой, чем 15850 бит/с, в противном случае нет никакого ограничения на минимальное усиление.
max3
min3
[00125] Для полосы от 4 до 6,4 кГц (элементы разрешения 400-639 в практической реализации), максимальное усиление G ограничивается величиной 2,0 для скоростей передачи ниже 15850 бит/с, и величиной 1,25 в противном случае. В этой полосе частот минимальное усиление G устанавливается равным 0,5, только если скорость передачи является более высокой, чем 15850 бит/с, в противном случае нет никакого ограничения на минимальное усиление. Следует отметить, что другие настройки максимального и минимального усиления могут быть подходящими в зависимости от характеристик кодека.
e
m
[00126] Следующий псевдокод показывает, как воздействует на окончательный спектр объединенного возбуждения f'' применение весовой маски G к улучшенному спектру f'. Следует отметить, что первая операция улучшения спектра (как описано в секции 7) не является абсолютно необходимой для того, чтобы выполнить эту вторую операцию улучшения путем поэлементной модификации усиления.
e
BINLP
m
max
min
e
[00127] Здесь f' представляет спектр объединенного возбуждения, предварительно улучшенный относящейся к SNR функцией g(k) уравнения (28), G является весовой маской, вычисленной в уравнении (35), G и G являются максимальным и минимальным усилениями частотного диапазона, определенными выше, t является индексом кадра, где t=0 соответствует текущему кадру, и, наконец, f'' представляет собой окончательный улучшенный спектр объединенного возбуждения.
11) Обратное частотное преобразование
td
[00128] После того как улучшение в частотной области завершено, обратное преобразование из частотной области во временную область выполняется в блоке 138 преобразования из частотной области во временную область для того, чтобы вернуть улучшенное возбуждение во временную область. В этом иллюстративном варианте осуществления преобразование из частотной области во временную область достигается с помощью того же самого дискретного косинусного преобразования типа II, которое используется для преобразования и временной области в частотную область. Модифицированное возбуждение e' во временной области получается как
e
ld
c
[00129] где f'' является частотным представлением модифицированного возбуждения, e' является улучшенным объединенным возбуждением, а L является длиной объединенного вектора возбуждения.
12) Фильтрование синтеза и перезапись текущего синтеза CELP
f
[00130] Так как нежелательно добавлять задержку к синтезу, было решено избегать алгоритма перекрытия и добавления при практической реализации. Практическая реализация берет точную длину конечного возбуждения e, используемого для генерирования синтеза, непосредственно из улучшенного объединенного возбуждения, без перекрытия, как показано в уравнении ниже:
w
[00131] Здесь L представляет длину кадрирования, применяемую к прошлому возбуждению перед частотным преобразованием, как объяснено в уравнении (15). Как только модификация возбуждения выполнена и правильная длина улучшенного модифицированного возбуждения во временной области из блока 138 преобразования из частотной области во временную область извлечена из объединенного вектора с использованием блока 140 извлечения возбуждения кадра, модифицированное возбуждение во временной области обрабатывается с помощью фильтра 110 синтеза для того, чтобы получить улучшенный сигнал синтеза для текущего кадра. Этот улучшенный синтез используется для того, чтобы перезаписать первоначально декодированный синтез из фильтра 108 с тем, чтобы улучшить качество восприятия. Решение о перезаписи принимается блоком 142 перезаписи, включающим в себя контрольную точку 144 принятия решения, управляющую переключателем 146, как описано выше, в ответ на информацию от контрольной точки 116 выбора класса и от классификатора 124 сигнала второго этапа.
[00132] Фиг. 3 представляет собой упрощенную блок-схему примерной конфигурации аппаратных компонентов, формирующих декодер, изображенный на Фиг. 2. Декодер 200 может быть осуществлен как часть мобильного терминала, как часть портативного медиапроигрывателя, или в любом другом подобном устройстве. Декодер 200 включает в себя вход 202, выход 204, процессор 206 и память 208.
[00133] Вход 202 выполнен с возможностью получения потока 102 битов AMR-WB. Вход 202 является обобщением приемника 102, изображенного на Фиг. 2. Неограничивающие примеры реализации входа 202 включают в себя радиоинтерфейс мобильного терминала, физический интерфейс, такой как, например, порт универсальной последовательной шины (USB) портативного медиапроигрывателя и т.п. Выход 204 является обобщением цифроаналогового преобразователя 154, усилителя 156 и громкоговорителя 158, изображенных на Фиг. 2, и может включать в себя аудиоплеер, громкоговоритель, записывающее устройство и т.п. Альтернативно выход 204 может включать в себя интерфейс, способный соединяться с аудиоплеером, с громкоговорителем, с записывающим устройством и т.п. Вход 202 и выход 204 могут быть осуществлены в общем модуле, например в устройстве последовательного ввода-вывода.
[00134] Процессор 206 оперативно соединяется со входом 202, с выходом 204 и с памятью 208. Процессор 206 реализуется как один или более процессоров для выполнения кодовых инструкций для поддержания функций декодера 104 возбуждения во временной области, фильтров 108 и 110 синтеза LP, классификатора 112 сигнала первого этапа и его компонентов, блока 118 экстраполяции возбуждения, блока 120 объединения возбуждения, модуля 122 кадрирования и частотного преобразования, классификатора 124 сигнала второго этапа, блока 126 оценки уровня шума в полосе, блока128 уменьшения шума, блока 130 формирования маски и его компонентов, блока 136 модификации динамики спектра, блока 138 преобразования из частотной области во временную область, блока 140 извлечения возбуждения кадра, блока 142 перезаписи и его компонентов, а также фильтра устранения предыскажений и передискретизатора 148.
[00135] Память 208 хранит результаты различных операций постобработки. Более конкретно, память 208 включает в себя буферную память 106 прошлого возбуждения. В некоторых вариантах результаты промежуточной обработки различных функций процессора 206 могут быть сохранены в памяти 208. Память 208 может дополнительно включать в себя постоянную память для хранения кодовых инструкций, исполняемых процессором 206. Память 208 может также сохранять сигнал звуковой частоты от фильтра устранения предыскажений и передискретизатора 148, подавая хранящийся сигнал звуковой частоты на выход 204 по запросу от процессора 206.
[00136] Специалист в данной области техники поймет, что описание устройства и способа для уменьшения шума квантования в музыкальном сигнале или другом сигнале, содержащемся в возбуждении во временной области, декодируемом декодером временной области, является всего лишь иллюстративным и никоим образом не является ограничивающим. Другие варианты осуществления могут быть легко сформированы специалистами в данной области техники на основе представленного раскрытия. Кроме того, раскрытые устройство и способ могут быть специализированы для того, чтобы предложить ценные решения для существующих потребностей и проблем улучшения воспроизведения музыкального контента кодеками на основе линейного предсказания (LP).
[00137] В интересах ясности показаны и описаны не все обычные признаки реализаций устройства и способа. Следует, конечно, иметь в виду, что при разработке любой такой фактической реализации устройства и способа для уменьшения шума квантования в музыкальном сигнале, содержащемся в возбуждении во временной области, декодируемом декодером временной области, возможно, должны быть приняты многочисленные специфичные для реализации решения, чтобы достигнуть конкретных целей разработчика, таких как соответствие ограничениям, относящимся к применению, системе, сети и организации, и что эти конкретные цели будут изменяться от одной реализации к другой и от одного разработчика к другому. Более того, следует иметь в виду, что опытно-конструкторские работы могут быть сложными и отнимающими много времени, но тем не менее будут представлять собой повседневную деятельность специалистов в области обработки звука, пользующихся выгодами представленного раскрытия.
[00138] В соответствии с настоящим изобретением описанные в настоящем документе компоненты, операции процесса, и/или структуры данных могут быть осуществлены с использованием различных типов операционных систем, вычислительных платформ, сетевых устройств, компьютерных программ и/или машин общего назначения. В дополнение к этому, специалист в данной области техники поймет, что также могут использоваться устройства менее общего назначения, такие как аппаратные устройства, программируемые пользователем вентильные матрицы (FPGA), специализированные интегральные схемы (ASIC) и т.п. Там, где способ, включающий в себя ряд операций процесса, осуществляется компьютером или машиной, и эти операции процесса могут быть сохранены как последовательность машиночитаемых инструкций, они могут быть сохранены на материальном носителе.
[00139] Хотя настоящее изобретение было описано выше посредством не ограничивающих иллюстративных вариантов его осуществления, эти варианты осуществления могут модифицироваться по желанию в рамках прилагаемой формулы изобретения без отступлений от сущности и природы настоящего изобретения.