Способ и устройство эффективной маскировки стирания кадров в речевых кодеках
Иллюстрации
Показать всеИзобретение относится к способу цифрового кодирования звукового сигнала. Способ и устройство для маскировки стирания кадров, вызванного стиранием кадров закодированного звукового сигнала при передаче от кодера к декодеру, и для восстановления декодера после стирания кадров включают в кодере: определение параметров маскировки/восстановления, включая, по меньшей мере, фазовую информацию, относящуюся к кадрам кодированного звукового сигнала. Параметры маскировки/восстановления, определенные в кодере, передаются на декодер, в котором в ответ на принятые параметры маскировки/восстановления проводится маскировка стирания кадра. Маскировка стирания кадра включает повторную синхронизацию, в ответ на полученную фазовую информацию, кадров с замаскированным стиранием с соответствующими кадрами звукового сигнала, кодированного кодером. Когда параметры маскировки/восстановления на декодер не передаются, в декодере оценивается фазовая информация каждого кадра кодированного звукового сигнала, который был стерт при передаче от кодера к декодеру. Аналогично, маскировка стирания кадра проводится в декодере в ответ на оцененную фазовую информацию, причем маскировка стирания кадра включает повторную синхронизацию, в ответ на оцененную фазовую информацию, каждого кадра с замаскированным стиранием с соответствующим кадром звукового сигнала, кодированного в кодере. Технический результат - обеспечение надежного кодирования и декодирования звуковых сигналов. 6 н. и 68 з.п ф-лы, 13 ил., 6 табл.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу цифрового кодирования звукового сигнала, в частности, но не исключительно, речевого сигнала, в целях передачи и/или синтеза этого звукового сигнала. Более конкретно, настоящее изобретение относится к надежному кодированию и декодированию звуковых сигналов, чтобы сохранить хорошие характеристики в случае стертого кадра или кадров, например, из-за ошибок канала в беспроводных системах или из-за потерянных пакетов в приложениях передачи голоса по пакетной сети.
Предпосылки изобретения
Потребность в эффективных методах узкополосного и широкополосного кодирования речи с хорошим компромиссом между субъективным качеством и битовой скоростью растет в разных областях применения, таких, как телеконференцсвязь, мультимедиа и беспроводная связь. До недавнего времени в приложениях речевого кодирования использовалась в основном полоса частот телефонии, ограниченная диапазоном 200-3400 Гц. Однако широкополосные речевые приложения обеспечивают большую разборчивость и естественность в передачах по сравнению с обычной телефонной полосой. Было найдено, что полоса частот в интервале 50-7000 Гц достаточна для получения хорошего качества, давая впечатление непосредственного общения. Для обычных аудиосигналов эта полоса частот дает приемлемое субъективное качество, но оно все же ниже, чем качество FM-радио или CD, которые работают в диапазоне 20-16000 Гц и 20-20000 Гц соответственно.
Речевой кодер преобразует речевой сигнал в цифровой битовый поток, который передается по каналу связи или сохраняет на носителе для хранения данных. Речевой сигнал оцифровывается, то есть дискретизируется и квантуется обычно 16 битами на выборку. Речевой кодер выполняет роль представления этих цифровых выборок меньшим числом битов при сохранении хорошего субъективного качества речи. Речевой декодер, или синтезатор воздействует на переданный или сохраненный битовый поток и снова преобразует его в звуковой сигнал.
Линейное предсказание с кодовым возбуждением (CELP) является одним из лучших существующих методов достижения хорошего компромисса между субъективным качеством и битовой скоростью. Этот метод кодирования является основой нескольких стандартов речевого кодирования в приложениях как беспроводных, так и проводных линий связи. В CELP-кодировании дискретизированный речевой сигнал обрабатывается в последовательных блоках из L выборок, обычно называемых кадрами, где L есть заданное число, типично соответствующее 10-30 мс речевого сигнала. Фильтр линейного предсказания (LP) вычисляется и передается каждый кадр. Вычисление LP-фильтра обычно требует предварительного просмотра 5-15 миллисекундного речевого сегмента из последующего кадра. Кадр из L выборок разделяется на меньшие блоки, называемые подкадрами. Обычно число подкадров равно трем или четырем, что дает 4-10 миллисекундные подкадры. В каждом подкадре сигнал возбуждения обычно получают из двух компонентов: предшествующего возбуждения и обновленного возбуждения фиксированной кодовой книги. Компонент, образованный из предшествующего возбуждения, часто упоминается как адаптивная кодовая книга или возбуждение основного тона. Параметры, характеризующие сигнал возбуждения, кодируются и передаются на декодер, где реконструированный сигнал возбуждения используется как входной для LP-фильтра.
Поскольку основным применением речевого кодирования с низкой скоростью передачи битов являются беспроводные системы мобильной связи и сети пакетной передачи голоса, то повышение надежности речевых кодеков в случае стирания кадров имеет большое значение. В беспроводных сотовых системах энергия принимаемого сигнала часто может обнаруживать сильное затухание, что приводит к высокой частоте появления ошибочных битов, и это становится более явным на границах сот. В этом случае канальный декодер не способен исправить ошибки в принятом кадре и, как следствие, устройство обнаружения ошибок, обычно использующееся после канального декодера, объявит этот кадр как стертый. В приложениях передачи голоса в пакетной сети речевой сигнал объединяется в пакеты, причем обычно каждый пакет соответствует 20-40 мс звукового сигнала. В системах связи с коммутацией пакетов может произойти отбрасывание пакета в маршрутизаторе, если число пакетов станет очень большим, или пакет может дойти до приемного устройства с большим запаздыванием, и он будет объявлен как потерянный, если его запаздывание превысит длину буфера колебаний задержки на стороне приемного устройства. В этих системах кодек подвергается действию стирания кадров частотой типично от 3 до 5%. Кроме того, применение широкополосного речевого кодирования является большим достоинством этих систем, которое позволит им конкурировать с традиционной PSTN (коммутируемая телефонная сеть общего пользования), в которой исторически используются узкополосные речевые сигналы.
Адаптивная кодовая книга, или предсказатель основного тона, в CELP участвует в сохранении высокого качества речи при низкой скорости передачи битов. Однако, поскольку содержание адаптивной кодовой книги основано на сигнале от предшествующих кадров, это делает модель кодека чувствительной к потере кадра. В случае стертых или потерянных кадров содержимое адаптивной кодовой книги на декодере будет отличаться от его содержимого на кодере. Таким образом, после того как потерянный кадр замаскирован и получены последующие хорошие кадры, синтезированный сигнал в принятых хороших кадрах отличается от планировавшегося синтезированного сигнала, так как вклад адаптивной кодовой книги изменился. Влияние потерянного кадра зависит от природы речевого сегмента, в котором произошло стирание. Если стирание происходит в стационарном сегменте сигнала, то может быть осуществлена эффективная маскировка стирания кадра, и влияние на последующие хорошие кадры может быть сведено к минимуму. С другой стороны, если стирание происходит в начале речи или при переходе, эффект от стирания может распространиться на несколько кадров. Например, если потеряно начало голосового сегмента, то первый период основного тона в содержимом адаптивной кодовой книги будет пропущен. Это будет иметь сильное влияние на предсказатель основного тона в последующих хороших кадрах, что приведет к большему времени, прежде чем синтезированный сигнал сойдется к намеченному на кодере.
Суть изобретения
В частности, в соответствии с первым аспектом настоящего изобретения приложен способ маскировки стирания кадров, вызванного стиранием кадров кодированного звукового сигнала при передаче от кодера к декодеру, и восстановления декодера после стирания кадров, причем способ включает в кодере: определение параметров маскировки/восстановления, в том числе по меньшей мере фазовой информации, относящейся к кадрам кодированного звукового сигнала; передачу на декодер параметров маскировки/восстановления, определенных в кодере, и в декодере: проведение маскировки стирания кадра в ответ на принятые параметры маскировки/восстановления, причем маскировка стирания кадра включает повторную синхронизацию кадров с замаскированным стиранием с соответствующими кадрами кодированного звукового сигнала путем выравнивания первого фазоуказующего признака каждого кадра с замаскированным стиранием со вторым фазоуказующим признаком соответствующего кадра кодированного звукового сигнала, причем указанный второй фазоуказующий признак включен в фазовую информацию.
В соответствии со вторым аспектом настоящего изобретения предложено устройство для маскировки стирания кадров, вызванного стиранием кадров кодированного звукового сигнала при передаче от кодера к декодеру, и для восстановления декодера после стирания кадров, причем устройство включает в кодере: средство для определения параметров маскировки/восстановления, включая по меньшей мере фазовую информацию, относящуюся к кадрам кодированного звукового сигнала; средство для передачи на декодер параметров маскировки/восстановления, определенных в кодере; и в декодере: средство проведения маскировки стирания кадра в ответ на полученные параметры маскировки/восстановления, причем средство для проведения маскировки стирания кадра содержит средство повторной синхронизации кадров с замаскированным стиранием с соответствующими кадрами кодированного звукового сигнала путем выравнивания первого фазоуказующего признака каждого кадра с замаскированным стиранием со вторым фазоуказующим признаком соответствующего кадра кодированного звукового сигнала, причем указанный второй фазоуказующий признак включен в фазовую информацию.
В соответствии с третьим аспектом настоящего изобретения предложено устройство для маскировки стирания кадров, вызванного стиранием кадров кодированного звукового сигнала при передаче от кодера к декодеру, и для восстановления декодера после стирания кадров, причем устройство содержит в кодере: генератор параметров маскировки/восстановления, включая по меньшей мере фазовую информацию, относящуюся к кадрам кодированного звукового сигнала; канал связи для передачи декодеру параметров маскировки/восстановления, определенных в кодере; и в декодере: модуль маскировки стирания кадров, на который подаются полученные параметры маскировки/восстановления и который содержит синхронизатор, который в ответ на полученную фазовую информацию проводит повторную синхронизацию кадров с замаскированным стиранием с соответствующими кадрами кодированного звукового сигнала путем выравнивания первого фазоуказующего признака каждого кадра с замаскированным стиранием со вторым фазоуказующим признаком соответствующего кадра кодированного звукового сигнала, причем указанный второй фазоуказующий признак включен в фазовую информацию.
В соответствии с четвертым аспектом настоящего изобретения предложен способ маскировки стирания кадров, вызванного стиранием кадров кодированного звукового сигнала при передаче от кодера к декодеру, и для восстановления декодера после стирания кадров, причем способ включает в декодере: оценку фазовой информации для каждого кадра кодированного звукового сигнала, который был стерт при передаче от кодера к декодеру; и проведение маскировки стирания кадра в ответ на оцененную фазовую информацию, причем маскировка стирания кадра включает повторную синхронизацию, в ответ на оцененную фазовую информацию, каждого кадра с замаскированным стиранием с соответствующим кадром кодированного звукового сигнала путем выравнивания первого фазоуказующего признака каждого кадра с замаскированным стиранием со вторым фазоуказующим признаком соответствующего кадра кодированного звукового сигнала, причем указанный второй фазоуказующий признак включен в оцененную фазовую информацию.
В соответствии с пятым аспектом настоящего изобретения предложено устройство для маскировки стирания кадров, вызванного стиранием кадров кодированного звукового сигнала при передаче от кодера к декодеру, и для восстановления декодера после стирания кадров, причем устройство содержит: средство для оценки на декодере фазовой информации о каждом кадре кодированного звукового сигнала, который был стерт при передаче от кодера к декодеру; и средство для проведения маскировки стирания кадра в ответ на оценку фазовой информации, причем средство для проведения маскировки стирания кадра содержит средство повторной синхронизации, в ответ на оцененную фазовую информацию, каждого кадра с замаскированным стиранием с соответствующим кадром кодированного звукового сигнала путем выравнивания первого фазоуказующего признака каждого кадра с замаскированным стиранием со вторым фазоуказующим признаком соответствующего кадра кодированного звукового сигнала, причем указанный второй фазоуказующий признак включен в оцененную фазовую информацию.
В соответствии с шестым аспектом настоящего изобретения предложено устройство для маскировки стирания кадров, вызванного стиранием кадров кодированного звукового сигнала при передаче от кодера к декодеру, и для восстановления декодера после стирания кадров, причем устройство содержит на декодере: модуль оценки фазовой информации о каждом кадре кодированного сигнала, который был стерт при передаче от кодера к декодеру; и модуль маскировки стирания, на который подается оценка фазовой информации и который содержит синхронизатор, который в ответ на оцененную фазовую информацию повторно синхронизирует каждый кадр с замаскированным стиранием с соответствующим кадром кодированного звукового сигнала путем выравнивания первого фазоуказующего признака каждого кадра с замаскированным стиранием со вторым фазоуказующим признаком соответствующего кадра кодированного звукового сигнала, причем указанный второй фазоуказующий признак включен в оцененную фазовую информацию.
Вышеупомянутые и другие цели, преимущества и отличительные признаки настоящего изобретения станут более понятны при прочтении следующего неограничивающего описания иллюстративных вариантов реализации, данных исключительно для примера, с обращением к приложенным чертежам.
Краткое описание чертежей
На приложенных чертежах:
фиг.1 является принципиальной блок-схемой системы речевой связи, показывающей пример применения устройств речевого кодирования и декодирования;
фиг.2 является принципиальной блок-схемой примера устройства CELP-кодирования;
фиг.3 является принципиальной блок-схемой примера устройства CELP-кодирования;
фиг.4 является принципиальной блок-схемой вложенного кодера на основе ядра G.729 (G.729 означает рекомендацию ITU-T G.729);
фиг.5 является принципиальной блок-схемой вложенного декодера на основе ядра G.729;
фиг.6 является упрощенной блок-схемой устройства CELP-кодирования по фиг.2, в котором модуль поиска основного тона с обратной связью, модуль расчета отклика при отсутствии входного сигнала, модуль генерирования импульсной характеристики, модуль поиска обновленного возбуждения и модуль обновления памяти были сгруппированы в один модуль поиска основного тона замкнутого контура и обновленной кодовой книги;
фиг.7 является расширением блок-схемы по фиг.4, в которую были добавлены модули, связанные с параметрами улучшения маскировки/восстановления;
фиг.8 является схематическим представлением, показывающим пример конечного автомата классификации кадров для маскировки стирания;
фиг.9 является блок-схемой, показывающей процедуру маскировки периодической части возбуждения согласно неограничительному иллюстративному варианту осуществления настоящего изобретения;
фиг.10 является блок-схемой, показывающей процедуру синхронизации периодической части возбуждения согласно неограничительному иллюстративному варианту осуществления настоящего изобретения;
фиг.11 показывает типичные примеры сигнала возбуждения с и без процедуры синхронизации;
фиг.12 показывает примеры реконструированного речевого сигнала с использованием сигналов возбуждения, показанных на фиг.11 и
фиг.13 является блок-схемой, иллюстрирующей случай, когда потерян начальный кадр.
Подробное описание
Хотя иллюстративный вариант осуществления настоящего изобретения будет описан в дальнейшем описании в отношении речевого сигнала, следует иметь в виду, что идеи настоящего изобретения применимы равным образом к сигналам другого типа, в частности, но не исключительно, к другим типам звуковых сигналов.
Фиг.1 иллюстрирует систему 100 речевой связи, показывая применение речевого кодирования и декодирования в иллюстративном контексте настоящего изобретения. Система 100 речевой связи на фиг.1 поддерживает передачу речевого сигнала по каналу 101 связи. Хотя он может содержать, например, проводную, оптическую связь или волоконную связь, обычно канал 101 связи содержит, по меньшей мере в части, радиочастотную связь. Такая радиочастотная связь часто поддерживает множество одновременных речевых передач, что требует совместно используемых ресурсов частотной полосы, как можно найти в системах сотовой телефонии. Хотя это не показано, канал 101 связи может быть заменен запоминающим устройством в варианте осуществления систем 100 с одним устройством, для записи и хранения кодированного речевого сигнала для последующего воспроизведения.
В системе 100 речевой связи по фиг.1 микрофон 102 производит аналоговый речевой сигнал 103, который подается на аналого-цифровой преобразователь (АЦП) 104 для его преобразования в цифровой речевой сигнал 105. Кодер 106 речи кодирует цифровой речевой сигнал 105 с получением набора параметров 107 кодирования сигнала, которые закодированы в двоичной форме и подаются на канальный кодер 108. Факультативный канальный кодер 108 добавляет избыточность в двоичное представление параметров 107 кодирования сигнала до передачи их по каналу 101 связи.
В приемном устройстве канальный декодер 109 использует указанную избыточную информацию в полученном битовом потоке 111, чтобы обнаружить и исправить ошибки канала, которые произошли при передаче. Затем декодер речи 110 преобразует битовый поток 112, полученный от канального декодера 109, снова в набор параметров кодирования сигнала и создает из восстановленных параметров кодирования сигнала синтезированный цифровой речевой сигнал 113. Синтезированный цифровой речевой сигнал 113, реконструированный в речевом декодере 110, преобразуется в аналоговую форму 114 посредством цифроаналогового преобразователя (ЦАП) 115 и воспроизводится через блок 116 громкоговорителя.
Неограничительный иллюстративный вариант осуществления эффективного способа маскировки стирания кадра, раскрываемого в настоящем описании, может применяться с любым из узкополосного или широкополосного кодека на основе линейного предсказания. Равным образом, этот иллюстративный вариант осуществления описан в отношении вложенного кодека на основе рекомендации G.729, стандартизованной Международным союзом телекоммуникаций (ITU) [ITU-T рекомендация G.729 "Кодирование речи на 8 кбит/с с применением сопряженно-структурного линейного предсказания с возбуждением алгебраического кода (CS-ACELP)", Женева, 1996].
Вложенный кодек на основе G.729 был стандартизован комитетом ITU-T в 2006 и известен как рекомендация G.729.1 [рекомендация ITU-T G.729.1 "Вложенный кодер G.729 с переменной скоростью передачи битов: Широкополосный битовый поток кодера, масштабируемый на интервале 8-32 кбит/с, способный взаимодействовать с G.729", Женева, 2006]. Методы, описанные в настоящем подробном описании, были реализованы в рекомендации ITU-T G.729.1.
Здесь следует понимать, что иллюстративный вариант осуществления способа эффективной маскировки стирания кадра может применяться для других типов кодеков. Например, иллюстративный вариант осуществления способа эффективной маскировки стирания кадров, представленный в настоящем описании, используется в алгоритме-кандидате для стандартизации комитетом ITU-T вложенного кодека с переменной скоростью передачи битов. В алгоритме-кандидате базовый уровень основан на методе широкополосного кодирования, сходном с AMR-WB (рекомендация ITU-T G.722.2).
В следующих разделах сначала будет дан обзор CELP и вложенных кодера и декодера на основе G.729. Затем будет описан иллюстративный вариант осуществления нового подхода к улучшению надежности кодека.
Обзор кодера ACELP
Дискретизированный речевой сигнал кодируется поблочно кодирующим устройством 200 по фиг.2, которое разбито на одиннадцать модулей, пронумерованных позициями с 201 по 211.
Таким образом, входной речевой сигнал 212 обрабатывается поблочно, т.е. в вышеупомянутых блоках длиной L выборок, называемых кадрами.
Согласно фиг.2 дискретизированный входной речевой сигнал 212 подается на факультативный модуль 201 предварительной обработки. Модуль 201 предварительной обработки может состоять из фильтра верхних частот с частотой отсечки 200 Гц для узкополосных сигналов и частотой отсечки 50 Гц для широкополосных сигналов.
Предварительно обработанный сигнал обозначается s(n), n=0, 1, 2,...,L-1, где L есть длина кадра, равная типично 20 мс (160 выборок при частоте дискретизации 8 кГц).
Сигнал s(n) используется для проведения LP-анализа в модуле 204. LP-анализ является методом, хорошо известным специалистам в данной области. В данной иллюстративной реализации используется автокорреляционный подход. В автокорреляционном подходе сигнал s(n) сначала обрабатывается методом окна, используя обычно окно Хэмминга, имеющее длину порядка 30-40 мс. Автокорреляции рассчитываются из сигнала, обработанного методом окна, для расчета коэффициентов LP-фильтра aj (где j=1,...,p и p есть порядок LP, типично равный 10 в узкополосном кодировании и 16 в широкополосном кодировании) применяется рекурсия Левинсона-Дурбина. Параметры aj являются коэффициентами передаточной функции A(z) LP-фильтра, которая задается следующим соотношением:
Считается, что LP-анализ для других целей хорошо известен специалистам, и соответственно он не будет описываться подробнее в настоящем описании.
Модуль 204 также проводит квантование и интерполяцию коэффициентов LP-фильтра. Коэффициенты LP-фильтра сначала трансформируются в другую эквивалентную область, более подходящую для целей квантования и интерполяции. Области линейных спектральных пар (LSP) и спектральных пар иммитанса (ISP) являются двумя областями, в которых можно эффективно провести квантование и интерполяцию. При узкополосном кодировании 10 коэффициентов LP-фильтра aj могут быть квантованы примерно 18-30 битами, используя расщепленное или многостадийное квантование или их комбинацию. Целью интерполяции является дать возможность обновить коэффициенты LP-фильтра каждого подкадра, одновременно передавая их один раз на каждый кадр, что улучшает характеристики кодера без повышения скорости передачи битов. Считается, что квантование и интерполяция коэффициентов LP-фильтра в других отношениях хорошо известны специалистам и, соответственно, не будут описываться подробнее в настоящем описании.
В следующем абзаце будут описаны остальные операции кодирования, проводимые на основе подкадров. В данной иллюстративной реализации 20-миллисекундный входной кадр делится на 4 подкадра длиной 5 мс (40 выборок на частоте дискретизации 8 кГц). В дальнейшем описании фильтр A(z) означает неквантованный интерполированный LP-фильтр подкадра, а фильтр В(z) означает квантованный интерполированный LP-фильтр подкадра. Фильтр В(z) подает каждый подкадр на мультиплексор 213 для передачи через канал связи (не показан).
В кодерах, действующих по принципу анализа через синтез, оптимальные параметры основного тона и обновления ищутся путем минимизации среднеквадратичной ошибки между входным речевым сигналом 212 и синтезированным речевым сигналом в перцептивно взвешенной области. Взвешенный сигнал sw(n) рассчитывается в перцептивном взвешивающем фильтре 205 в ответ на сигнал s(n). Пример передаточной функции для перцептивного взвешивающего фильтра 205 дается следующим соотношением:
W(z)=A(z/γ1)/A(z/γ2),
где 0<γ2<γ1≤1.
Чтобы упростить анализ основного тона, сначала в модуле 206 поиска основного тона в разомкнутом контуре из взвешенного речевого сигнала sw(n) оценивается запаздывание TOL основного тона разомкнутого контура. Затем анализ основного тона замкнутого контура, который проводится в модуле 207 поиска основного тона замкнутого контура на основе подкадров, ограничивается окрестностью запаздывания T0L основного тона разомкнутого контура, что значительно уменьшает сложность поиска LTP-параметров (параметров долгосрочного предсказания) T (запаздывание основного тона) и b (усиление основного тона). Анализ основного тона разомкнутого контура обычно проводится в модуле 206 один раз каждые 10 мс (два подкадра), используя методы, хорошо известные специалистам.
Сначала рассчитывается целевой вектор x для LTP-анализа (долговременное предсказание). Это обычно проводится вычитанием отклика s0 нулевого входа взвешенного синтезирующего фильтра W(z)/В(z) из взвешенного речевого сигнала sw(n). Этот отклик s0 нулевого входа рассчитывается устройством 208 расчета отклика нулевого входа в ответ на квантованный интерполированный LP-фильтр A(z) из модуля 204 LP-анализа, квантования и интерполяции и на начальные состояния взвешенного синтезирующего фильтра W(z)/В(z)), сохраненные в модуле 211 обновления памяти в ответ на LP-фильтры A(z) и В(z) и вектор возбуждения u. Эта операция хорошо известна специалистам и, соответственно, в настоящем описании не будет описываться более подробно.
N-мерный вектор импульсной характеристики h взвешенного синтезирующего фильтра W(z)/В(z) рассчитывается в генераторе 209 импульсной характеристики с использованием коэффициентов LP-фильтра A(z) и В(z) из модуля 204. Опять же эта операция хорошо известна специалистам и, соответственно, в настоящем описании не будет описываться более подробно.
Параметры b и T основного тона замкнутого контура (или кодовой книги основного тона) рассчитываются в модуле 207 поиска основного тона замкнутого контура, который в качестве входных параметров использует целевой вектор x, вектор импульсной характеристики h и запаздывание TOL основного тона замкнутого контура.
Поиск основного тона состоит в нахождении наилучшего запаздывания T и усиления b основного тона, которые минимизируют среднеквадратичную взвешенную ошибку предсказания основного тона, например,
между целевым вектором x и масштабированной фильтрованной версией предшествующего возбуждения.
В частности, в настоящей иллюстративной реализации поиск основного тона (кодовой книги основного тона или адаптивной кодовой книги) состоит из трех (3) стадий.
На первой стадии запаздывание TOL основного тона разомкнутого контура оценивается в модуле 206 поиска основного тона разомкнутого контура в ответ на взвешенный речевой сигнал sw(n). Как указывалось выше в описании, этот анализ основного тона разомкнутого контура обычно осуществляется один раз каждые 10 мс (два подкадра), используя методы, хорошо известные специалистам.
На второй стадии в модуле 207 поиска основного тона замкнутого контура отыскивается критерий C поиска для целочисленных запаздываний основного тона в окрестности оценки запаздывания TOL основного тона разомкнутого контура (обычно ±5), что существенно упрощает процедуру поиска. Пример критерия C поиска задается формулой:
где t означает транспонирование вектора.
После того как на второй стадии найдено оптимальное целочисленное запаздывание основного тона, на третьей стадии поиска (модуль 207) проверяются, с помощью критерия C поиска, дробные части в окрестности этого оптимального целочисленного запаздывания основного тона. Например, в рекомендации ITU-T G.729 используется разрешение субдискретизации 1/3.
Индекс T кодовой книги основного тона кодируется и передается на мультиплексор 213 для передачи через канал связи (не показан). Усиление b основного тона квантуется и передается на мультиплексор 213.
После того как параметры b и T основного тона, или LTP-параметры (параметры долгосрочного предсказания) определены, следующим этапом является поиск оптимального обновленного возбуждения с помощью модуля 210 поиска обновленного возбуждения, показанного на фиг.2. Сначала обновляется целевой вектор x, вычитая вклад от LTP:
x'=x-byT,
где b есть усиление основного тона, а yT означает фильтрованный вектор кодовой книги основного тона (свертка предшествующего возбуждения при запаздывании T с импульсной характеристикой h).
Процедура поиска обновленного возбуждения в CELP проводится в обновленной кодовой книге, чтобы найти кодовый вектор ck оптимального возбуждения и усиление g, которые минимизируют среднеквадратичную ошибку E между целевым вектором x' и масштабированной фильтрованной версией кодового вектора ck, например:
где H есть нижняя треугольная матрица свертки, выводимая из вектора импульсной характеристики h. Индекс k обновленной кодовой книги, соответствующий найденному оптимальному кодовому вектору ck, и усиление g подаются на мультиплексор 213 для передачи через канал связи.
В иллюстративной реализации используемая обновленная кодовая книга представляет собой динамическую кодовую книгу, содержащую алгебраическую кодовую книгу, за которой следует адаптивный предфильтр F(z), который усиливает особые спектральные компоненты, чтобы улучшить качество синтезированной речи, в соответствии с патентом US 5444816, выданным Adoul и др. 22 августа 1995. В данной иллюстративной реализации поиск обновленной кодовой книги проводится в модуле 210 с помощью алгебраической кодовой книги, как описано в патентах US 5444816 (Adoul и др.) от 22 августа 1995; 5699482, выдан Adoul и др. 17 декабря 1997; 5754976, выдан Adoul и др. 19 мая 1998, и 5701392 (Adoul и др.) от 23 декабря 1997.
Обзор декодеров ACELP
Речевой декодер 300 по фиг.3 показывает различные этапы, проводимые между входом 322 цифровых данных (входной битовый поток в демультиплексор 317) и выходным дискретизированным речевым сигналом sout.
Демультиплексор 317 выделяет параметры модели синтеза из двоичной информации (входной битовый поток 322), полученной из канала цифрового ввода. Параметрами, выделенными из каждого полученного двоичного кадра, являются:
- квантованные, интерполированные LP-коэффициенты В(z), называемые также параметрами краткосрочного предсказания (STP), формируемыми один раз на кадр;
- параметры T и b долгосрочного предсказания (LTP) (для каждого подкадра) и
- индекс k и усиление g обновленной кодовой книги (для каждого подкадра).
Как будет объяснено ниже, текущий речевой сигнал синтезируется на основе этих параметров.
Обновленная кодовая книга 318 в ответ на индекс k получает обновленный кодовый вектор ck, который масштабируется декодированным усилением g через усилитель 324. В иллюстративной реализации обновленная кодовая книга, какая описана в вышеупомянутых патентах US 5444816; 5699482, 5754976 и 5701392, используется для получения обновленного кодового вектора сk.
Масштабированный кодовый вектор основного тона bvT получается при использовании запаздывания T основного тона в кодовой книге 301 основного тона для получения кодового вектора основного тона. Затем кодовый вектор vT основного тона умножается на усиление b основного тона усилителем 326 для получения масштабированного кодового вектора bvT основного тона.
Сигнал u возбуждения вычисляется сумматором 320 как
u=gck+bvT.
Содержимое кодовой книги 301 основного тона обновляется при использовании прошлых значений сигнала u возбуждения, хранившихся в памяти 303, чтобы сохранить синхронность между кодером 200 и декодером 300.
Синтезированный сигнал s' рассчитывается фильтрацией сигнала u возбуждения через синтезирующий LP-фильтр 306, который имеет форму 1/В(z), где В(z) есть квантованный интерполированный LP-фильтр текущего подкадра. Как можно видеть на фиг.3, квантованные интерполированные LP-коэффициенты В(z) на линии 325 подаются из демультиплексора 317 на синтезирующий LP-фильтр 306, чтобы соответственно настроить параметры синтезирующего LP-фильтра 306.
Вектор s' фильтруется через постпроцессор 307, чтобы получить выходной дискретизированный речевой сигнал sout. Пост-обработка состоит типично в краткосрочной выходной фильтрации, долгосрочной выходной фильтрации и масштабировании усиления. Она может также состоять из фильтра верхних частот для удаления нежелательных низких частот. В других отношениях выходная фильтрация хорошо известна специалистам.
Обзор вложенного кодирования на основе G.729
Кодек G.729 основан на принципе объясненного выше алгебраического CELP-кодирования (ACELP). Распределение битов в кодеке G.729 на 8 кбит/с приведено в таблице 1.
Таблица 1 | |
Распределение битов в кодеке G.729 на 8 кбит/с | |
Параметр | Бит/кадр 10 мс |
LP-параметры | 18 |
Запаздывание основного тона | 13=8+5 |
Четность основного тона | 1 |
Усиления | 14=7+7 |
Алгебраическая кодовая книга | 34=17+17 |
Всего | 80 бит/10 мс = 8 кбит/с |
Рекомендация ITU-T G.729 работает на кадрах длиной 10 мс (80 выборок при частоте дискретизации 8 кГц). LP-параметры квантуются и передаются по одному на кадр. Кадр G.729 делится на подкадры длиной 5 мс. Запаздывание основного тона (или индекс адаптивной кодовой книги) квантуется 8 битами в первом подкадре и 5 битами во втором подкадре (относительно запаздывания первого подкадра). Усиления основного тона и алгебраической кодовой книги квантуются вместе, используя 7 бит на подкадр. Для представления возбуждения обновленной или фиксированной кодовой книги используется 17-битовая алгебраическая кодовая книга.
Вложенный кодек построен на основе кодека с ядром G.729. Вложенное кодирование, или многоуровневое кодирование, состоит из базового уровня и дополнительных уровней для повышения качества или увеличения кодированной ширины полосы. Битовый поток, соответствующий верхним уровнем, может при необходимости быть отброшен сетью (в случае перегрузки или в ситуации групповой передачи, когда некоторые соединения имеют пониженную доступную скорость передачи битов). Декодер может восстановить сигнал на основе уровней, которые он принимает.
В данной иллюстративной реализации базовый уровень L1 состоит из G.729 на 8 кбит/с. Второй уровень L2 состоит из 4 кбит/с для улучшения качества для узкой полосы (при скорости передачи битов R2=L1+L2=12 кбит/с). Десять (10) верхних уровней, каждый на 2 кбит/с, используются для получения широкополосного кодированного сигнала. Десять уровней с L3 по L12 соответствуют скоростям передачи битов 14, 16,… и 32 кбит/с. Таким образом, вложенный кодер работает как широкополосный кодер для скоростей передачи битов 14 кбит/с и выше.
Например, кодер использует кодирование с предсказанием (CELP) в двух первых уровнях (G.729, модифицированный добавлением второй алгебраической кодовой книги) и затем квантует в частотной области ошибку кодирования первых уровней. Чтобы отобразить сигнал на частотную область, применяется MDCT (Модифицированное дискретное косинусное преобразование). MDCT-коэффициенты квантуются, используя масштабируемое алгебраическое векторное квантование. Чтобы расширить аудиополосу, для высоких частот применяется параметрическое кодирование.
Кодер работает с 20 миллисекундными кадрами и требует 5 мс задержки для окна LP-анализа. MDCT с 50%-ным перекрытием требует дополнительных 20 мс упреждения, которое может быть применено к любому из кодера или декодера. Например, MDCT-упреждение используется на стороне декодера, что, как будет объяснено ниже, приводит к улучшенной маскировке стирания кадров. Кодер формирует вывод на 32 кбит/с, что переводится в кадры длиной 20 мс, содержащие 640 бит каждый. Биты в каждом кадре упорядочены во вложенных уровнях. Уровень 1 имеет 160 бит, представляющих 20 мс стандарта G.729 на 8 кбит/с (что соответствует двум кадрам G.729). Уровень 2 содержит 80 бит, представляя дополнительные 4 кбит/с. Затем каждый дополнительный уровень (уровни 3-12) добавляют 2 кбит/с и так до 32 кбит/с.
Блок-схема примера вложенного кодера показана на фиг.4.
Исходный широкополосный сигнал x (401), дискретизированный на 16 кГц, сначала в модуле 402 разделяется на две полосы: 0-4000 Гц и 4000-8000 Гц. В примере по фиг.4 расщепление полосы реализуется с применением блока фильтров QMF (квадратурный зеркальный фильтр) с 64 коэффициентами. Эта операция хорошо известна специалистам. После расщепления полосы получают два сигнала: один, покрывающий частотную полосу 0-4000 Гц (нижняя полоса), и другой, покрывающий полосу 4000-8000 (верхняя полоса). Сигналы в каждой из этих двух полос субдискретизируются коэффициентом 2 в модуле 402. Это дает 2 сигнала на частоте дискретизации 8 кГц: xLF для нижней полосы (403) и xHF д