КОДИРОВАНИЕ ЗВУКОВЫХ СИГНАЛОВ
ENCODING AUDIO SIGNALS

Область техники
Данное изобретение касается модуля для обработки потока битов, включающего параметры для декодирования упомянутого потока битов, который формируется путем кодирования из кадров звукового сигнала в разделенном диапазоне частот, при этом для сигнала заданы по меньшей мере первый режим и второй режим, причем сигналы в первом режиме кодируются только в полосе нижних частот, а сигналы во втором режиме кодируются в полосе и нижних, и верхних частот. Изобретение также касается устройства, содержащего такой модуль. Изобретение далее касается способа обработки звуковых сигналов в диапазоне частот, который разделяется по меньшей мере на полосу нижних частот и полосу верхних частот, звуковые сигналы полосы нижних частот кодируются так, чтобы формировать параметры сигнала, касающиеся полосы нижних частот, звуковые сигналы полосы верхних частот кодируются так, чтобы формировать параметры сигнала, касающиеся полосы верхних частот, и для кодирования звуковых сигналов выбирается режим по меньшей мере среди первого режима и второго режима, причем сигналы в первом режиме кодируются только в полосе нижних частот, а сигналы во втором режиме кодируются в полосе и нижних, и верхних частот. Изобретение касается компьютерного программного продукта, включающего машинно-выполняемые шаги для сжатия звуковых сигналов в диапазоне частот, который разделен по меньшей мере на полосу нижних частот и полосу верхних частот, для кодирования звуковых сигналов полосы нижних частот, для кодирования звуковых сигналов полосы верхних частот и для выбора режима кодирования по меньшей мере среди первого режима и второго режима, причем сигналы в первом режиме кодируются только в полосе нижних частот, а сигналы во втором режиме кодируются в полосе и нижних, и верхних частот. Изобретение касается сигнала, содержащего поток битов, который включает параметры для декодера, чтобы декодировать поток битов, причем поток битов формируется кодированием кадров звукового сигнала в диапазоне частот, который разделяется по меньшей мере на полосу нижних частот и полосу верхних частот, и для сигнала задаются по меньшей мере первый режим и второй режим, при этом сигналы в первом режиме кодируются только в полосе нижних частот, а сигналы во втором режиме кодируются в полосе и нижних, и верхних частот.
Обзор известных технических решений
Во многих применениях обработки звуковых сигналов звуковые сигналы сжимают, чтобы уменьшить требования к мощности обработки при обработке звукового сигнала. Например, в системах цифровой связи звуковой сигнал типично захватывается как аналоговый сигнал, преобразуется в цифровую форму в аналого-цифровом преобразователе (АЦП) и затем кодируется перед передачей по беспроводному воздушному интерфейсу между пользовательским оборудованием, таким как подвижная станция, и базовой станцией. Цель кодирования состоит в том, чтобы сжать цифровой сигнал и передать его по воздушному интерфейсу с минимальным количеством данных при обеспечении приемлемого уровня качества сигнала. Это особенно важно, когда пропускная способность радиоканала через беспроводный воздушный интерфейс в сотовой сети связи ограничена. Есть также применения, в которых цифровой звуковой сигнал сохраняется на носителе данных для его более позднего воспроизведения.
Сжатие может быть с потерями или без потерь. При сжатии с потерями во время сжатия некоторая информация теряется, при этом невозможно полностью восстановить исходный сигнал из сжатого сигнала. При сжатии без потерь обычно никакая информация не теряется. Следовательно, обычно исходный сигнал может быть полностью восстановлен из сжатого сигнала.
В службах телефонной связи речь часто ограничивается полосой приблизительно от 200 до 3400 Гц. Типичная частота дискретизации, используемая аналого-цифровым преобразователем для преобразования аналогового речевого сигнала в цифровой сигнал, составляет 8 или 16 кГц. Музыка или неречевые сигналы могут содержать частотные компоненты намного выше нормальной ширины полосы частот речи. В некоторых применениях звуковая система должна быть способна обрабатывать диапазон частот приблизительно от 20 Гц до 20 кГц. Чтобы избежать спектрального наложения, частота дискретизации для сигналов этого вида должна составлять по меньшей мере 40 кГц. Здесь следует заметить, что вышеупомянутые значения являются лишь не ограничивающими изобретение примерами. Например, в некоторых системах верхний предел для сигналов музыки может быть значительно ниже упомянутых 20 кГц.
Дискретизированный цифровой сигнал затем кодируется, обычно на покадровой основе, давая в результате поток цифровых данных со скоростью передачи битов, которая определяется кодеком, используемым для кодирования. Чем выше скорость передачи битов, тем больше данных кодируется, что приводит к более точному представлению вводимого кадра. Кодированный звуковой сигнал затем может быть декодирован и пропущен через цифроаналоговый преобразователь (ЦАП), чтобы восстановить сигнал, как можно более близкий к исходному сигналу.
Идеальный кодек кодирует звуковой сигнал по возможности наименьшим количеством битов, оптимизируя, таким образом, пропускную способность канала, но при этом создает декодированный звуковой сигнал, который звучит как можно ближе к исходному звуковому сигналу. На практике обычно достигается компромисс между скоростью передачи битов в кодеке и качеством декодированного звукового сигнала.
В настоящее время имеется широкое разнообразие кодеков, например адаптивный многоскоростной (AMR - Adaptive multi-rate) кодек, адаптивный многоскоростной широкополосный (AMR-WB - Adaptive multi-rate wideband) кодек и расширенный адаптивный многоскоростной широкополосный (AMR-WB+ - Adaptive multi-rate wideband) кодек, которые разработаны для сжатия и кодирования звуковых сигналов. AMR кодек был разработан организацией Проект партнерства по разработке сетей подвижной связи третьего поколения (3GPP - 3rd Generation Partnership Project) для систем связи по стандартам GSM/EDGE и WCDMA. Кроме того, было предусмотрено, что адаптивное многоскоростное кодирование будет использоваться в сетях с коммутацией пакетов. Адаптивное многоскоростное кодирование основано на ACELP-кодировании, т.е. кодировании методом линейного предсказания с возбуждением алгебраическим кодом (ACELP - Algebraic Code Excited Linear Prediction). Кодеки AMR, AMR-WB и AMR-WB+ имеют 8, 9 и 12 активных скоростей передачи битов, соответственно, и также включают функциональные возможности обнаружения речевой активности (VAD - Voice Activity Detection) и прерывистой передачи (DTX - Discontinuous transmission). В настоящее время частота дискретизации в AMR кодеке составляет 8 кГц, а в AMR-WB кодеке частота дискретизации составляет 16 кГц. Очевидно, что эти кодеки и указанные частоты дискретизации представляют собой лишь не ограничивающие изобретение примеры.
Алгоритмы расширения полосы частот кодека звуковых сигналов обычно применяют как функции кодирования, так и параметры кодирования, поступающие из основного кодека. То есть ширина полосы частот кодируемого звукового сигнала разбивается на две полосы, из которых полоса нижних частот обрабатывается основным кодеком, а полоса верхних частот затем кодируется с использованием сведений о параметрах кодирования и сигналах из основной полосы частот (то есть полосы нижних частот). Поскольку в большинстве случаев полосы нижних и верхних частот звукового сигнала коррелированы друг с другом, параметры полосы нижних частот до некоторой степени могут использоваться также и в полосе верхних частот. Использование параметров из кодера полосы нижних частот для поддержки кодирования полосы верхних частот значительно уменьшает расход битов при кодировании полосы верхних частот.
Примером алгоритма кодирования с разделением диапазона является расширенный AMR-WB (AMR-WB+) кодек. Основной кодер содержит полные алгоритмы кодирования исходного сигнала, в то время как сигнал возбуждения кодирования с линейным предсказанием (LPC) кодера полосы верхних частот копируется из основного кодера или является локально генерируемым случайным сигналом.
При кодировании полосы нижних частот используются алгоритмы типа линейного предсказания с возбуждением алгебраическим кодом (ACELP) или на основе "кодирования с преобразованием". Выбор между алгоритмами выполняется на основании характеристик входного сигнала. Алгоритм линейного предсказания с возбуждением алгебраическим кодом (ACELP) обычно используется для речевых сигналов и для транзиентов, в то время как музыкальные и тоноподобные сигналы обычно кодируются с использованием кодирования с преобразованием, чтобы лучше управлять разрешающей способностью по частоте.
Кодирование полосы верхних частот использует линейное кодирование с предсказанием для моделирования спектральной огибающей сигнала полосы верхних частот. Чтобы сэкономить расход битов, сигнал возбуждения генерируется путем дискретизации возбуждения полосы нижних частот с повышением частоты в полосу верхних частот. То есть возбуждение полосы нижних частот повторно используется в полосе верхних частот путем его транспозиции в полосу верхних частот. Другой способ заключается в том, чтобы генерировать случайный сигнал возбуждения для полосы верхних частот. Синтезированный сигнал полосы верхних частот восстанавливается фильтрацией масштабированного сигнала возбуждения посредством модели кодирования с линейным предсказанием (LPC) полосы верхних частот.
Расширенный AMR-WB (AMR-WB+) кодек применяет структуру с разделением диапазона, в которой перед процессом кодирования ширина полосы звукового сигнала разделяется на две части. Обе полосы кодируются независимо. Однако чтобы минимизировать битовую скорость передачи, полоса верхних частот кодируется с использованием вышеупомянутых способов расширения полосы частот, в которых часть кодирования полосы верхних частот зависит от кодирования полосы нижних частот. В этом случае сигнал возбуждения полосы верхних частот для синтеза кодирования с линейным предсказанием (LPC) копируется из кодера полосы нижних частот. В AMR-WB+ кодеке полоса нижних частот составляет от 0 до 6,4 кГц, в то время как полоса верхних частот составляет от 6,4 до 8 кГц для частоты дискретизации 16 кГц и от 6,4 до 12 кГц для частоты дискретизации 24 кГц.
Кодек AMR-WB+ способен переключаться между режимами также во время обработки звукового потока при условии, что частота дискретизации не изменяется. Таким образом, возможно переключение между режимами AMR-WB и режимами расширения, применяющими частоту дискретизации 16 кГц. Эти функциональные возможности могут использоваться, например, если условия передачи требуют переключения из режима высокой скорости передачи (режима расширения) в режим низкой скорости передачи (режим AMR-WB), чтобы уменьшить перегрузку в сети. Точно так же, если изменение в режиме сети позволяет выполнить переход из режима низкой скорости передачи в режим более высокой скорости передачи для обеспечения лучшего качества звука, AMR-WB+ кодек может переключиться из режима AMR-WB в один из режимов расширения. Переключение из режима кодирования с использованием расширенного кодирования полосы верхних частот в режим с использованием только кодирования основной полосы частот может быть достигнуто просто немедленным выключением расширения полосы верхних частот в момент, когда происходит такое изменение режима. Точно так же при переключении из режима только основной полосы в режим с использованием расширения полосы верхних частот полоса верхних частот вводится немедленно с полной громкостью включением расширения полосы верхних частот. Из-за кодирования с расширением полосы частот ширина полосы звукового сигнала, обеспечиваемая режимами расширения AMR-WB+, больше, чем ширина полосы режимов AMR-WB, что может вызывать слышимый раздражающий эффект, если переключение происходит слишком быстро. Пользователь может замечать это изменение в ширине полосы слышимого звукового сигнала, особенно мешающее при переключении от более широкой полосы звукового сигнала к более узкой полосе, то есть при переключении из режима расширения в режим AMR-WB.
Сущность изобретения
Одной из целей данного изобретения является обеспечение улучшенного способа кодирования звуковых сигналов в кодере для ограничения раздражающих слышимых эффектов при переключении между режимами, имеющими различную ширину полосы частот.
Изобретение основано на том, что, когда происходит переключение из узкополосного режима (AMR-WB) в широкополосный режим (AMR-WB+), расширение полосы верхних частот не включается немедленно, а во избежание слишком быстрого изменения амплитуда только постепенно увеличивается до конечной громкости. Точно так же при переключении из широкополосного режима в узкополосный режим вклад от расширения полосы верхних частот не выключается немедленно, а постепенно уменьшается, чтобы избежать мешающих эффектов.
Согласно изобретению, такое постепенное введение сигнала расширения полосы верхних частот реализуется на уровне параметров умножением коэффициентов усиления возбуждения, используемых для синтеза полосы верхних частот, на масштабный коэффициент, который возрастает малыми шагами от нуля до единицы в пределах выбранного временного окна. Например, можно ожидать, что в AMR-WB+ кодеке длительность окна 320 мс (4 кадра AMR-WB+ по 80 мс) обеспечит достаточно медленное линейное нарастание вклада от полосы верхних частот звукового сигнала. Аналогично нарастанию вклада от полосы верхних частот звукового сигнала, постепенное уменьшение сигнала полосы верхних частот также может быть реализовано на уровне параметров, в этом случае посредством умножения коэффициентов усиления возбуждения, используемых для синтеза полосы верхних частот, на масштабный коэффициент, который уменьшается малыми шагами от единицы до нуля в течение выбранного периода времени. Однако в этом случае не имеют доступных обновляемых параметров для расширения полосы верхних частот, как только произошло действительное переключение в режим только основной полосы частот. Тем не менее, синтез полосы верхних частот может выполняться с использованием параметров расширения полосы верхних частот, принятых для последнего кадра перед переключением в режим только основной полосы частот, и сигнала возбуждения, полученного из кадров, принятых в режиме только основной полосы частот. В немного модифицированном варианте этого способа LPC параметры, используемые для синтеза полосы верхних частот, после переключения будут изменяться таким образом, чтобы заставить частотную характеристику фильтра LPC постепенно приблизиться к более плоскому спектру. Это может быть реализовано, например, вычислением взвешенного среднего значения фактически принятого фильтра LPC и фильтра LPC, обеспечивающего плоский спектр в области пар спектра иммитанса (ISP). Этот подход может обеспечить улучшенное качество звукового сигнала в случаях, когда оказывается, что последний кадр с параметрами расширения полосы верхних частот содержит четкий спектральный пик (пики).
Способ согласно данному изобретению дает эффект, подобный прямому масштабированию во временной области, но выполнение масштабирования на уровне параметров является более эффективным решением в отношении объема вычислений.
Модуль согласно данному изобретению отличается в основном тем, что кодер дополнительно содержит устройство масштабирования для постепенного изменения по меньшей мере одного из параметров сигнала, относящегося к упомянутой полосе верхних частот, в связи с изменением режима работы кодера.
Способ согласно данному изобретению отличается в основном тем, что по меньшей мере один из параметров сигнала, относящийся к упомянутой полосе верхних частот, постепенно изменяется в связи с изменением режима работы.
Компьютерный программный продукт согласно данному изобретению отличается в основном тем, что он дополнительно содержит машинно-выполняемые шаги для постепенного изменения характеристик кодирования в связи с изменением режима работы.
Сигнал согласно данному изобретению в основном отличается тем, что при переключении режима между первым режимом и вторым режимом по меньшей мере один из параметров сигнала, относящихся к полосе верхних частот, изменяется постепенно.
По сравнению с подходом известного уровня техники, представленным выше, изобретение обеспечивает уменьшение возможных слышимых эффектов, возникающих из-за переключения между режимами с различной шириной полосы. Следовательно, может быть улучшено качество звукового сигнала. Данное изобретение обеспечивает функциональные возможности, сходные с возможностями прямого масштабирования во временной области, но выполнение масштабирования на уровне параметров в отношении объема вычислений является более эффективным решением в отношении объема вычислений.
Перечень чертежей
Фиг.1 представляет упрощенную схему, поясняющую принцип кодирования-декодирования с разделением диапазона согласно данному изобретению с использованием двух банков полосовых фильтров и отдельных блоков кодирования и декодирования для каждой полосы частот звукового сигнала.
На фиг.2 показан пример выполнения устройства кодирования согласно изобретению.
На фиг.3 показан пример выполнения устройства декодирования согласно изобретению.
На фиг.4а представлена спектрограмма переключения полосы частот от узкой к широкой в кодере известного уровня техники.
На фиг.4b представлена спектрограмма переключения полосы частот от узкой к широкой в кодере формы осуществления данного изобретения.
На фиг.4с показана энергия кодированного сигнала полосы верхних частот по оси времени для случая, когда полоса частот переключается от узкой к широкой в кодере известного уровня техники и в кодере согласно форме осуществления данного изобретения.
На фиг.5а представлена спектрограмма переключения полосы частот от широкой к узкой в кодере известного уровня техники.
На фиг.5b представлена спектрограмма переключения полосы частот от широкой к узкой в кодере согласно форме осуществления данного изобретения.
На фиг.5с представлена энергия кодированного сигнала полосы верхних частот по оси времени, когда полоса частот переключается от широкой к узкой в кодере известного уровня техники и в кодере согласно форме осуществления данного изобретения.
На фиг.6 показан пример системы согласно данному изобретению.
Подробное описание изобретения
На фиг.1 показан принцип кодирования и декодирования с разделением диапазона согласно примеру осуществления данного изобретения с использованием двух банков полосовых фильтров и отдельных блоков кодирования и декодирования для каждой полосы звуковых частот. Входной сигнал от источника 1.2 сигнала сначала обрабатывается посредством фильтра 1.3 анализа, в котором диапазон звуковых частот разделяется по меньшей мере на две полосы звуковых частот, то есть на полосу нижних звуковых частот и полосу верхних звуковых частот, и подвергается критической субдискретизации. Полоса нижних звуковых частот затем кодируется в первом блоке 1.4.1 кодирования, а полоса верхних звуковых частот кодируется во втором блоке 1.4.2 кодирования, соответственно. Полосы звуковых частот кодируются по существу независимо друг от друга. Мультиплексированный поток битов передается от передающего устройства 1 через канал 2 связи на приемное устройство 3, в котором полосы нижних и верхних частот независимо декодируются в первом блоке 3.3.1 декодирования и во втором блоке 3.3.2 декодирования, соответственно. Декодированные сигналы дискретизируются с повышением частоты дискретизации до первоначальной, после чего банк 3.4 фильтров синтеза объединяет декодированные звуковые сигналы, чтобы сформировать синтезированный звуковой сигнал 3.5.
В случае кодера AMR-WB+, работающего со звуковым сигналом, дискретизируемым с частотой 16 кГц, диапазон звуковых частот шириной 8 кГц разделяется на полосы 0-6,4 и 6,4-8 кГц. После фильтра 1.3 анализа используется критическая субдискретизация. То есть полоса нижних частот субдискретизируется с понижением частоты дискретизации до 12,8 кГц (2*(0-6,4)), а полоса верхних частот передискретизируется до 3,2 кГц (2*(8-6,4)).
Первый блок 1.4.1 кодирования (кодер полосы нижних частот) и первый блок 3.3.1 декодирования (декодер полосы нижних частот) могут быть, например, кодером и декодером стандарта AMR-WB, в то время как второй блок 1.4.2 кодирования (кодер полосы верхних частот) и второй блок 3.3.2 декодирования (декодер полосы верхних частот) могут быть осуществлены как независимый алгоритм кодирования, как алгоритм расширения полосы или как их комбинация.
Ниже устройство 1 кодирования согласно примеру осуществления данного изобретения будет описано более подробно со ссылкой на фиг.2. Устройство 1 кодирования содержит входной блок 1.2 для преобразования в цифровую форму, фильтрации и формирования кадров входного сигнала, если необходимо. Преобразование входного сигнала в цифровую форму выполняется входным устройством 1.2.1 дискретизации с входной частотой дискретизации. Частота входного устройства дискретизации в примере осуществления изобретения составляет 16 или 24 кГц, но очевидно, что могут использоваться также и другие частоты дискретизации. Здесь следует отметить, что входной сигнал может уже быть представлен в форме, подходящей для процесса кодирования. Например, входной сигнал, возможно, был оцифрован на более раннем этапе и хранился на носителе данных (не показанном). Кадры входного сигнала вводятся в фильтр 1.3 анализа. Фильтр 1.3 анализа содержит банк фильтров, в котором диапазон звуковых частот разделяется на две или несколько полос звуковых частот. В этой форме осуществления изобретения банк фильтров состоит из первого фильтра 1.3.1 и второго фильтра 1.3.2. Первый фильтр 1.3.1 является, например, фильтром нижних частот, имеющим частоту среза у верхней границы полосы нижних частот. Частота среза составляет, например, приблизительно 6,4 кГц. Второй фильтр 1.3.2 является, например, полосовым фильтром, имеющим ширину полосы от частоты среза первого фильтра 1.3.1 до верхней границы диапазона звуковых частот. Ширина полосы составляет, например, 6,4-8 кГц для частоты дискретизации 16 кГц и 6,4-12 кГц для частоты дискретизации 24 кГц. Возможно также, чтобы второй фильтр 1.3.2 являлся фильтром верхних частот, если диапазон звуковых частот на входе кодера 1.4 ограничен сверху ниже или на уровне половины частоты дискретизации, то есть только частоты ниже верхней границы пропускаются к фильтру 1.3 анализа. Также возможно, чтобы диапазон звуковых частот разделялся на больше, чем две полосы звуковых частот, причем фильтр анализа может содержать фильтр для каждой полосы звуковых частот. Однако ниже предполагается, что используются только две полосы звуковых частот.
Выходные сигналы банка фильтров критически субдискретизируются, чтобы уменьшить необходимую битовую скорость при передаче звукового сигнала. Выходной сигнал первого фильтра 1.3.1 субдискретизируется в первом устройстве 1.3.3 дискретизации, а выходной сигнал второго фильтра 1.3.2 субдискретизируется во втором устройстве 1.3.4 дискретизации. Частота дискретизации первого устройства 1.3.3 дискретизации равна, например, половине ширины полосы первого фильтра 1.3.1. Частота дискретизации второго устройства 1.3.4 дискретизации составляет, например, половину ширины полосы второго фильтра 1.3.2, соответственно. В данном примере осуществления изобретения частота дискретизации первого устройства 1.3.3 дискретизации равна 12,8 кГц, а частота дискретизации второго устройства 1.3.4 дискретизации составляет 6,4 кГц для частоты дискретизации входного звукового сигнала 16 кГц и 11,2 кГц для частоты дискретизации входного звукового сигнала 24 кГц.
Выборки из первого устройства 1.3.3 дискретизации вводятся в первый блок 1.4.1 кодирования для кодирования. Выборки из второго устройства 1.3.4 дискретизации вводятся во второй блок 1.4.2 кодирования для кодирования, соответственно. Первый блок 1.4.1 кодирования анализирует выборки, чтобы определить, какой способ возбуждения является наиболее подходящим для кодирования входного сигнала. Для выбора могут иметься два или более способа возбуждения. Например, первый способ возбуждения выбирается для неречевых (или похожих на неречевые) сигналов (например, музыки), а второй способ возбуждения выбирается для речевых (или похожих на речевые) сигналов. Первый способ возбуждения создает, например, сигнал возбуждения ТСХ ("кодирование с преобразованием"), а второй способ возбуждения создает, например, сигнал возбуждения ACELP (линейное предсказание с возбуждением алгебраическим кодом).
После выбора способа возбуждения выполняется LPC (кодирование с линейным предсказанием) анализ в первом блоке 1.4.1 кодирования на выборках на покадровой основе, чтобы найти такой набор параметров, который лучше всего соответствует входному сигналу. Имеется несколько альтернативных способов выполнения этого, и они известны специалистам в данной области техники, поэтому в этой заявке не требуется описывать подробности анализа кодирования с линейным предсказанием (LPC).
Информация о выбранном способе возбуждения и параметрах LPC передается второму блоку 1.4.2 кодирования. Во втором блоке 1.4.2 кодирования используется то же самое возбуждение, которое было создано в первом блоке 1.4.1 кодирования. В данном примере осуществления изобретения сигнал возбуждения для второго блока 1.4.2 кодирования генерируется путем повышения частоты дискретизации для возбуждения полосы нижних звуковых частот до частот полосы верхних звуковых частот. То есть возбуждение полосы нижних звуковых частот повторно используется в полосе верхних звуковых частот посредством транспонирования его в эту полосу. Параметрами, используемыми для описания звукового сигнала верхних частот в кодеке ARM-WB+, являются фильтр синтеза кодирования с линейным предсказанием (LPC), который определяет спектральные характеристики синтезируемого сигнала, и набор параметров коэффициента усиления для сигнала возбуждения, которые управляют амплитудой синтезируемого звукового сигнала.
Параметры LPC и параметры возбуждения, генерируемые первым блоком 1.4.1 кодирования и вторым блоком 1.4.2 кодирования, например, квантуются и кодируются канальным кодом в блоке 1.5 квантования и канального кодирования и объединяются (мультиплексируются) в один поток передачи блоком 1.6 формирования потока перед передачей, например, в канал передачи, такой как сеть 605 связи (фиг.6). Однако не обязательно передавать параметры, они могут, например, сохраняться на носителе данных и на более позднем этапе выбираться для передачи и/или декодирования.
Ниже способ согласно примеру осуществления данного изобретения будет описан более подробно для случая, когда выполняется переключение между первым режимом кодирования и вторым режимом кодирования. Первый режим кодирования является, например, узкополосным режимом кодирования, а второй режим кодирования является, например, широкополосным режимом кодирования.
Определяется параметр времени Т, показывающий длительность времени, за которое происходит изменение режима. Параметр времени Т используется для постепенного изменения режима кодирования. Значение параметра времени составляет, например, 320 мс, что равняется четырехкратной длительности кадра F (80 мс в кодере ARM-WB+). Очевидно, что для параметра времени Т могут использоваться также другие значения. Для использования вторым блоком кодирования во время изменения режима определяются также множитель М и значение шага S. Значение шага задается так, чтобы оно показывало, шаги какой величины должны использоваться при изменении режима. Например, если параметр времени Т равняется четырем кадрам (4*FL), значение шага равняется 0,25 (1/4), то есть значение шага может быть рассчитано делением длительности кадра на параметр времени (F/T).
Сначала предположим, что кодер 1 использует первый режим кодирования и необходимо выполнить переключение во второй режим кодирования. Кодирование звукового сигнала нижних частот продолжается в первом блоке 1.4.1 кодирования, как описано выше. Индикатор режима (не показан) устанавливается в состояние, указывающее, что выбран второй режим кодирования. В дополнение к этому, информация о режиме кодирования и параметрах LPC, а также, в случае необходимости, другие параметры из первого блока 1.4.1 кодирования передаются во второй блок 1.4.2 кодирования. Во втором блоке 1.4.2 кодирования полученные параметры LPC не используются как таковые, а выполняется модификация по меньшей мере некоторых из этих параметров. Множитель М устанавливается на нуль. После этого набор параметров коэффициента усиления кодирования с линейным предсказанием (LPC) модифицируется путем умножения этого набора на множитель М. Модифицированные параметры LPC используются вторым блоком 1.4.2 кодирования в процессе кодирования текущего кадра (набора выборок). Затем для следующего кадра к множителю М добавляется значение шага S и набор параметров коэффициента усиления LPC модифицируется, как упомянуто выше. Вышеописанная процедура повторяется для каждого последующего кадра до тех пор, пока множитель М не достигнет значения 1, после чего используется значение 1 и работа кодера 1 продолжается во втором режиме кодирования (широкополосном режиме).
Затем предположим, что кодер 1 использует второй режим кодирования и необходимо выполнить переключение в первый режим кодирования. Кодирование звукового сигнала нижних частот продолжается в первом блоке 1.4.1 кодирования, как описано выше. Индикатор режима устанавливается в состояние, указывающее, что выбран первый режим кодирования. На этой стадии информация о режиме кодирования и параметрах LPC обычно не передается из первого блока 1.4.1 кодирования во второй блок 1.4.2 кодирования. Поэтому, чтобы работать при постепенном изменении режима кодирования, необходимы некоторые меры. В первом варианте второй блок 1.4.2 кодирования сохраняет параметры LPC, используемые при кодировании последнего кадра перед изменением режима. Затем множитель М устанавливается на единицу и набор параметров коэффициента усиления кодирования с линейным предсказанием (LPC) умножается на множитель М, и при кодировании первого кадра после изменения режима используются модифицированный набор параметров коэффициента усиления кодирования с линейным предсказанием (LPC). Для следующего кадра значение множителя М уменьшается на значение шага S, набор параметров LPC умножается на множитель М, и выполняется кодирование для этого кадра. Вышеупомянутые шаги (изменения значение множителя, модификации набора LPC параметров и выполнения кодирования для кадра) повторяются до тех пор, пока множитель не достигнет нулевого значения. После этого процесс кодирования продолжает только первый блок 1.4.1 кодирования.
В качестве примера вектор, используемый для масштабирования с увеличением и с уменьшением, может иметь приведенный ниже вид. Этот вектор содержит 64 элемента, то есть один элемент используется для субкадра длительностью 5 мс. Это означает, что масштабирование с увеличением/с уменьшением выполняется в течение 320 мс.
gain_hf_ramp [64]=
{0.01538461538462, 0.03076923076923,
0.04615384615385, 0.06153846153846,
0.07692307692308, 0.09230769230769,
0.10769230769231, 0.12307692307692,
0.13846153846154, 0.15384615384615,
0.16923076923077, 0.18461538461538,
0.20000000000000, 0.21538461538462,
0.23076923076923, 0.24615384615385,
0.26153846153846, 0.27692307692308,
0.29230769230769, 0.30769230769231,
0.32307692307692, 0.33846153846154,
0.35384615384615, 0.36923076923077,
0.38461538461538, 0.40000000000000,
0.41538461538462, 0.43076923076923,
0.44615384615385, 0.46153846153846,
0.47692307692308, 0.49230769230769,
0.50769230769231, 0.52307692307692,
0.53846153846154, 0.55384615384615,
0.56923076923077, 0.58461538461538,
0.60000000000000, 0.61538461538462,
0.63076923076923, 0.64615384615385,
0.66153846153846, 0.67692307692308,
0.69230769230769, 0.70769230769231,
0.72307692307692, 0.73846153846154,
0.75384615384615, 0.76923076923077,
0.78461538461538, 0.80000000000000,
0.81538461538462, 0.83076923076923,
0.84615384615385, 0.86153846153846,
0.87692307692308, 0.89230769230769,
0.90769230769231, 0.92307692307692,
0.93846153846154, 0.95384615384615,
0.96923076923077, 0.98461538461538}
При увеличении масштаба полосы верхних частот во втором блоке 1.4.2 кодирования коэффициент усиления возбуждения второго блока 1.4.2 кодирования умножается на то из значений, на которое указывает индекс в векторе масштабирования. Значение индекса является номером кодируемых субкадров длительностью 5 мс. Поэтому после переключения режима в первом субкадре (5 мс) коэффициент усиления возбуждения второго блока 1.4.2 кодирования умножается на первый элемент вектора масштабирования. Во втором субкадре (5 мс) коэффициент усиления возбуждения второго блока 1.4.2 кодирования умножается на второй элемент вектора масштабирования и т.д.
При уменьшении масштаба полосы верхних частот во втором блоке 1.4.2 кодирования коэффициент усиления возбуждения второго блока 1.4.2 кодирования также умножается на то из значений, на которое указывает индекс в векторе масштабирования. Значение индекса является номером кодируемых субкадров длительностью 5 мс, но указатель индекса является обратным. Следовательно, после переключения режима в первом субкадре (5 мс) коэффициент усиления возбуждения второго блока 1.4.2 кодирования умножается на последний элемент вектора масштабирования. Во втором субкадре (5 мс) коэффициент усиления возбуждения второго блока 1.4.2 кодирования умножается на предпоследний элемент вектора масштабирования и т.д.
При уменьшении масштаба полосы верхних частот (например, при переключении режима из AMR-WB+ в AMR-WB) последние параметры кодированной речи (LPC параметры, возбуждение и коэффициент усиления возбуждения) второго блока 1.4.2 кодирования используются для формирования полосы верхних частот в течение первых 320 мс, когда используется режим работы без второго блока 1.4.2 кодирования.
Пример псевдокода может иметь следующий вид:
ExcGain2=ExcGain2*gain_hf_ramp(ind)
Exc_hf(1:n)=ExcGain2*Exc_lf(1:n)
Output_hf=synth(LPC_hf, exc_hf, mem),
где
ExcGain2
- коэффициент усиления возбуждения во втором блоке кодирования;
gain_hf_ramp
- вектор масштабирования;
Exc_lf
- вектор возбуждения из первого блока кодирования (ширина полосы 0-6,4 кГц);
Exc_hf
- вектор возбуждения из второго блока кодирования (ширина полосы 6,4-8,0 кГц);
Output_hf
- синтезированный сигнал для полосы верхних частот;
Synth
- функция, которая создает синтезированный сигнал;
LPC
- коэффициенты фильтра линейного предсказания (LP);
Mem
- память фильтра линейного предсказания (LP).
Немного модифицированным вариантом этого способа будет модификация параметров LPC, используемых для синтеза полосы звукового сигнала высокой частоты после переключения, таким образом, чтобы заставить частотную характеристику фильтра LPC постепенно приближаться к более плоскому спектру. Это может быть реализовано, например, вычислением взвешенного среднего значения фактически принимаемого фильтра кодирования с линейным предсказанием (LPC) и фильтра LPC, обеспечивающего плоский спектр в области пар спектра иммитанса (ISP). Этот подход может обеспечить улучшенное качество звукового сигнала в случаях, когда оказывается, что последний кадр с параметрами расширения полосы верхних частот содержит четкий спектральный пик (пики).
Масштабирование с увеличением/уменьшением может выполняться также адаптивно, исходя из характеристик звукового сигнала, например, на основании кодирования с линейным предсказанием (LPC) или других параметров. Вместо линейного вектора масштабирования может использоваться также нелинейный вектор. Вектор масштабирования может также быть различным для масштабирования с увеличением и уменьшением.
Ниже декодер 3 согласно данному изобретению будет описан более подробно со ссылкой на фиг.3. Кодированный звуковой сигнал принимается из канала 2 передачи. Демультиплексор 3.1 демультиплексирует информацию о параметрах, принадлежащих полосе нижних частот звукового сигнала, в первый поток битов, а информацию о параметрах, принадлежащих полосе верхних частот звукового сигнала, во второй поток битов. Потоки битов затем декодируются и деквантуются в блоке 3.2 канального декодирования и деквантования, если это необходимо.
Первый поток битов, декодированный канальным декодером, содержит параметры LPC и параметры возбуждения, генерированные первым блоком 1.4.1 кодирования, и, если использовался широкополосный режим, второй поток битов, декодированный канальным декодером, содержит набор параметров коэффициента усиления LPC и других LPC параметров (параметры, описывающие характеристики фильтра LPC), генерированных вторым блоком 1.4.2 кодирования.
Первый поток битов подается на вход первого блока 3.3 декодирования, который выполняет фильтрацию LPC (фильтрацию синтеза LPC полосы нижних частот) согласно принятым параметрам коэффициента усиления LPC и другим параметрам, чтобы сформировать синтезированный звуковой сигнал полосы нижних частот. После фильтра 3.3.1 имеется первый повышающий дискретизатор 3.3.2 для дискретизации декодированного и отфильтрованного сигнала с повышением частоты дискретизации до первоначальной.
Второй поток битов, когда он присутствует в битовом потоке, подается на вход второго блока 3.4 декодирования, который выполняет LPC фильтрацию (LPC фильтрацию синтеза полосы верхних частот) согласно принятым параметрам коэффициента усиления LPC и другим параметрам, чтобы сформировать синтезированный звуковой сигнал полосы верхних частот. Параметры возбуждения первого битового потока умножаются на набор параметров коэффициента усиления LPC в умножителе 3.4.1. Умноженные параметры возбуждения подаются на вход фильтра 3.4.2, в который вводятся также другие LPC параметры второго битового потока. Фильтр 3.4.2 восстанавливает звуковой сигнал полосы верхних частот на основе параметров, подаваемых на вход фильтра 3.4.2. После фильтра 3.4.2 имеется второй повышающий дискретизатор 3.4.3 для получения декодированного и отфильтрованного сигнала с первоначальной частотой дискретизации.
Выход первого повышающего дискретизатора 3.3.2 подключен к первому фильтру 3.5.1 банка 3.5 фильтров синтеза. Соответственно, выход второго повышающего дискретизатора 3.4.3 подключен ко второму фильтру 3.5.2 банка 3.5 фильтров синтеза. Выходы первого 3.5.1 и второго фильтра 3.5.2 соединены и служат выходом банка 3.5 фильтров синтеза, при этом выходной сигнал является восстановленным звуковым сигналом, широкополосным или узкополосным в зависимости от режима, используемого при кодировании звукового сигнала.
Очевидно, что кодированный звуковой сигнал не обязательно необходимо принимать из канала 2 связи, как показано на фиг.1, а он может также быть кодированным потоком битов, который предварительно был сохранен на носителе данных.
Как было описано выше, данное изобретения обеспечивает способ постепенного выключения вклада от расширения полосы верхних частот при переходе из режима кодирования, использующего кодирование с расширением полосы верхних частот, в режим, использующий кодирование только основной полосы. Изменение амплитуды вклада от расширения полосы верхних частот постепенно, от полной громкости до нуля, в течение относительно короткого периода времени, например несколько сотен миллисекунд, будет делать изменение ширины полосы звуковых частот более плавным и менее заметным для абонента, обеспечивая улучшенное качество звукового сигнала. Таким же образом, когда происходит переход из режима только основного диапазона в режим, использующий кодирование с расширением полосы верхних частот, вклад, вносимый расширением полосы верхних частот, не вводится немедленно с полной громкостью, а его амплитуда масштабируется от нуля до уровня полной громкости малыми шагами в течение относительно короткого временного окна, чтобы обеспечить плавное переключение с улучшенным качеством звукового сигнала.
Хотя изобретение главным образом используется для звукового сигнала, дискретизированного с частотой 16 кГц, для примеров переключения на фиг.4а-5с был использован звуковой сигнал, дискретизированный с частотой 24 кГц. Следовательно, кодер AMR-WB+ работает со звуковым сигналом, дискретизированным с частотой 24 кГц. Диапазон звуковых частот 12 кГц разделяется на полосы 0-6,4 и 6,4-12 кГц. Критическая субдискретизация используется после банка фильтров. То есть полоса нижних частот субдискретизируется с понижением частоты до 12,8 кГц, а полоса верхних частот передискретизируется до частоты 11,2 кГц (2*(12-6,4)).
На фиг.4а показан случай, когда выполняется переключение из узкополосного режима в широкополосный согласно известному уровню техники, а на фиг.4b показан случай, когда переключение выполняется согласно данному изобретению, соответственно. На фиг.4с представлена полная энергия кодированного сигнала полосы верхних частот для случая известного уровня техники и переключения согласно данному изобретению.
На фиг.5а показан случай, когда выполняется переключение из широкополосного режима в узкополосный согласно известному уровню техники, а на фиг.5b показан случай, когда выполняется переключение согласно данному изобретению, соответственно. На фиг.5с представлена полная энергия кодированного сигнала полосы верхних частот для случая известного уровня техники и переключения согласно данному изобретению.
На фиг.6 изображен пример системы согласно изобретению, в которой может быть применена обработка для кодирования и декодирования с разделением диапазона частот. Система содержит один или несколько источников 601 звукового сигнала, создающих речевые и/или неречевые звуковые сигналы. Звуковые сигналы преобразуются в цифровые сигналы аналого-цифровым преобразователем 602, если это необходимо. Цифровые сигналы подаются на вход кодера 603 устройства 600 передачи, в котором выполняется кодирование согласно данному изобретению. Кодированные сигналы также квантуются и кодируются для передачи в кодере 603, если это необходимо. Передатчик 604, например передатчик устройства 600 мобильной связи, передает сжатые и кодированные сигналы в сеть связи 605. Сигналы принимаются из сети 605 связи приемником 607 приемного устройства 606. Принятые сигналы передаются из приемника 607 в декодер 608 для декодирования, деквантования и декомпрессии. Декодер 608 выполняет декомпрессию принимаемых битовых потоков для формирования синтезированных звуковых сигналов. Синтезированные звуковые сигналы затем могут быть преобразованы в звук, например, в громкоговорителе 609.
Данное изобретение может быть реализовано в различных системах, в частности в системах с низкой скоростью передачи, с целью достижения более эффективного сжатия, чем в системах известного уровня техники. Кодер 1 согласно данному изобретению может быть размещен в различных частях систем связи. Например, кодер 1 может быть установлен в устройстве мобильной связи, которое может иметь ограниченные возможности по обработке сигналов.
Изобретение может быть осуществлено, по меньшей мере частично, в форме компьютерного программного продукта, включающего машинно-выполняемые шаги для выполнения по меньшей мере некоторых частей способа согласно изобретению. Кодер 1 и декодер 3 содержат управляющий блок, например цифровой сигнальный процессор и/или микропроцессор, в котором может быть использована эта компьютерная программа.
Очевидно, что данное изобретение не ограничено исключительно вышеописанными формами его осуществления, а может быть модифицировано в рамках прилагаемой формулы изобретения.