способ и устройство для аудиодекодирования
Классы МПК: | G10L19/00 Техника анализа-синтеза речи для уменьшения избыточности, например в вокодерах ; кодирование или декодирование речи |
Автор(ы): | ЧЭНЬ Чжэ (CN), ИНЬ Фулян (CN), ЧЖАН Сяою (CN), ДАЙ Цзиньлян (CN), ЧЖАН Либинь (CN) |
Патентообладатель(и): | ХУАВЭЙ ТЕКНОЛОДЖИЗ КО., ЛТД. (CN) |
Приоритеты: |
подача заявки:
2008-10-20 публикация патента:
27.04.2012 |
Изобретение относится к области голосовой связи, в частности к способам и устройствам для аудиодекодирования. Техническим результатом является повышение качества декодированного речевого сигнала при переключении пропускной способности. Указанный результат достигается тем, что в способе декодирования аудиосигнала получают компоненты сигнала нижней полосы аудиосигнала в принятом кодовом потоке, когда аудиосигнал переключается с первой полосы пропускания на вторую полосу пропускания, которая ýже первой полосы пропускания; расширяют компоненты сигнала нижней полосы для получения информации верхней полосы; выполняют изменяющийся во времени процесс затухания с информацией верхней полосы, полученной посредством расширения, для получения обработанной компоненты сигнала верхней полосы; и синтезируют обработанную компоненту сигнала верхней полосы и полученную компоненту сигнала нижней полосы. При этом изменяющийся во времени процесс затухания содержит выполнение изменяющегося во времени взвешивания параметра верхней полосы в частотной области для информации верхней полосы, полученной посредством расширения, для получения спектральной огибающей изменяющегося во времени затухания, и получение компоненты сигнала верхней полосы посредством декодирования. 2 н. и 9 з.п. ф-лы, 13 ил., 2 табл.
Формула изобретения
1. Способ декодирования аудиосигнала, содержащий:
получение компоненты сигнала нижней полосы аудиосигнала в принятом кодовом потоке, когда аудиосигнал переключается с первой полосы пропускания на вторую полосу пропускания, которая уже первой полосы пропускания;
расширение компоненты сигнала нижней полосы для получения информации верхней полосы;
выполнение изменяющегося во времени процесса затухания с информацией верхней полосы, полученной посредством расширения, для получения обработанной компоненты сигнала верхней полосы; и
синтезирование обработанной компоненты сигнала верхней полосы и полученной компоненты сигнала нижней полосы,
причем изменяющийся во времени процесс затухания содержит выполнение изменяющегося во времени взвешивания параметра верхней полосы в частотной области для информации верхней полосы, полученной посредством расширения, для получения спектральной огибающей изменяющегося во времени затухания, и получение компоненты сигнала верхней полосы посредством декодирования.
2. Способ декодирования аудиосигнала по п.1, в котором перед получением компоненты сигнала нижней полосы аудиосигнала способ дополнительно содержит:
определение структуры кадра принятого кодового потока; и обнаружение того, возникает ли переключение с первой полосы пропускания на вторую полосу пропускания согласно структуре кадра.
3. Способ декодирования аудиосигнала по п.1, в котором расширение компоненты сигнала нижней полосы для получения информации верхней полосы дополнительно содержит:
расширение компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, для получения информации верхней полосы, причем информацией верхней полосы является параметр декодирования верхней полосы; или
расширение компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, для получения информации верхней полосы, причем информацией верхней полосы является компонента сигнала верхней полосы; или
расширение компоненты сигнала нижней полосы, декодированной из текущего аудиокадра после переключения, для получения компоненты сигнала верхней полосы.
4. Способ декодирования аудиосигнала по п.3, в котором расширение компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, для получения информации верхней полосы содержит:
буферизацию параметра кодирования верхней полосы аудиокадра, принятого перед переключением; и
оценку параметра кодирования верхней полосы текущего аудиокадра путем использования экстраполяции после переключения.
5. Способ декодирования аудиосигнала по п.3, в котором расширение компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, для получения информации верхней полосы содержит:
буферизацию параметра кодирования верхней полосы аудиокадра, принятого перед переключением;
оценку параметра кодирования верхней полосы текущего аудиокадра путем использования экстраполяции после переключения; и
расширение параметра кодирования верхней полосы, оцененного с использованием экстраполяции с помощью соответствующего алгоритма широкополосного декодирования, для получения компоненты сигнала верхней полосы.
6. Способ декодирования аудиосигнала по п.1, в котором выполнение изменяющегося во времени взвешивания параметра верхней полосы в частотной области для информации верхней полосы, полученной посредством расширения, для получения спектральной огибающей изменяющегося во времени затухания и получение компоненты сигнала верхней полосы посредством декодирования дополнительно содержит:
когда информацией верхней полосы является параметр кодирования верхней полосы, выполнение формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, путем использования способа изменяющегося во времени взвешивания параметра верхней полосы в частотной области для получения спектральной огибающей изменяющегося во времени затухания и получение компоненты сигнала верхней полосы посредством декодирования; или
когда информацией верхней полосы является компонента сигнала верхней полосы, разделение компоненты сигнала верхней полосы, полученной посредством расширения, на субполосы, выполнение изменяющегося во времени взвешивания параметра верхней полосы в частотной области для параметра кодирования для каждой субполосы для получения спектральной огибающей изменяющегося во времени затухания и получение компоненты сигнала верхней полосы посредством декодирования.
7. Устройство для декодирования аудиосигнала, содержащее блок получения, блок расширения, блок обработки изменяющегося во времени затухания и блок синтезирования, в котором:
блок получения выполнен с возможностью получения компоненты сигнала нижней полосы аудиосигнала в принятом кодовом потоке, когда аудиосигнал переключается с первой полосы пропускания на вторую полосу пропускания, которая уже первой полосы пропускания, и передачи компоненты сигнала нижней полосы в блок расширения;
блок расширения выполнен с возможностью расширения компоненты сигнала нижней полосы для получения информации верхней полосы и передачи информации верхней полосы, полученной посредством расширения, в блок обработки изменяющегося во времени затухания;
блок обработки изменяющегося во времени затухания выполнен с возможностью выполнения изменяющегося во времени процесса затухания для информации верхней полосы, полученной посредством расширения, для получения обработанной компоненты сигнала верхней полосы и передачи обработанной компоненты сигнала верхней полосы в блок синтезирования, причем изменяющийся во времени процесс затухания содержит выполнение изменяющегося во времени взвешивания параметра верхней полосы в частотной области для информации верхней полосы, полученной посредством расширения, для получения спектральной огибающей изменяющегося во времени затухания и получение компоненты сигнала верхней полосы посредством декодирования; и
блок синтезирования выполнен с возможностью синтезирования принятой обработанной компоненты сигнала верхней полосы и компоненты сигнала нижней полосы, полученной блоком получения.
8. Устройство для декодирования аудиосигнала по п.7, дополнительно содержащее блок обработки и блок обнаружения, причем:
блок обработки выполнен с возможностью определения структуры кадра принятого кодового потока и передачи структуры кадра кодового потока в блок обнаружения; и
блок обнаружения выполнен с возможностью обнаружения того, возникает ли переключение с первой полосы пропускания на вторую полосу пропускания, согласно структуре кадра кодового потока, переданного из блока обработки, и передачи кодового потока в блок обнаружения, если произошло переключение с первой полосы пропускания на вторую полосу пропускания.
9. Устройство декодирования аудиосигнала по п.7, в котором блок расширения дополнительно содержит по меньшей мере одно из первого субблока расширения, второго субблока расширения и третьего субблока расширения, причем:
первый субблок расширения выполнен с возможностью расширения компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, с тем, чтобы получить параметр кодирования верхней полосы;
второй субблок расширения выполнен с возможностью расширения компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, с тем, чтобы получить компоненту сигнала верхней полосы; и
третий субблок расширения выполнен с возможностью расширения компоненты сигнала нижней полосы, декодированной из текущего аудиокадра после переключения, с тем, чтобы получить компоненту сигнала верхней полосы.
10. Устройство для декодирования аудиосигнала по п.7, в котором блок обработки изменяющегося во времени затухания дополнительно содержит субблок отдельной обработки или субблок гибридной обработки, причем:
субблок гибридной обработки выполнен с возможностью:
когда информацией верхней полосы, полученной посредством расширения, является параметр кодирования верхней полосы, выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения; или
когда информацией верхней полосы, полученной посредством расширения, является компонента сигнала верхней полосы, разделения компоненты сигнала верхней полосы, полученной посредством расширения, на субполосы, выполнения формообразования в частотной области для параметра кодирования для каждой субполосы и передачи обработанной компоненты сигнала верхней полосы в блок синтезирования.
11. Устройство для декодирования аудиосигнала по п.10, в котором субблок гибридной обработки дополнительно содержит по меньшей мере одно из пятого субблока и шестого субблока, причем:
пятый субблок выполнен с возможностью:
когда информацией верхней полосы, полученной посредством расширения, является параметр кодирования верхней полосы, выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, с использованием способа изменяющегося во времени взвешивания параметра верхней полосы в частотной области с тем, чтобы получить спектральную огибающую изменяющегося во времени затухания;
получения компоненты сигнала верхней полосы посредством декодирования и
передачи обработанной компоненты сигнала верхней полосы в блок синтезирования; и
шестой субблок выполнен с возможностью:
когда информацией верхней полосы, полученной посредством расширения, является компонента сигнала верхней полосы, разделения компоненты сигнала верхней полосы, полученной посредством расширения, на субполосы;
выполнения изменяющегося во времени взвешивания параметра верхней полосы в частотной области для параметра кодирования для каждой субполосы для получения спектральной огибающей изменяющегося во времени затухания;
получения компоненты сигнала верхней полосы посредством декодирования; и
передачи обработанной компоненты сигнала верхней полосы в блок синтезирования.
Описание изобретения к патенту
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к области голосовой связи и, в частности, касается способа и устройства для аудиодекодирования.
УРОВЕНЬ ТЕХНИКИ
Стандарт G.729.1 является стандартом речевого кодирования и декодирования нового поколения, выпущенным Международным союзом электросвязи (ITU). Этот стандарт встроенного речевого кодирования и декодирования лучше всего характеризуется наличием такого признака, как многоуровневое кодирование, которое может обеспечить качество звучания, от узкополосного до широкополосного, в диапазоне скоростей от 8 кбит/с~32 кбит/с. В процессе передачи кодовый поток внешнего уровня можно отбрасывать в зависимости от состояния канала, что открывает возможность достижения хорошей адаптации канала.
В стандарте G.729.1 множество уровней обеспечивается путем построения кодового потока во встроенной многоуровневой структуре, для чего потребуется новый встроенный многоуровневый многоскоростной речевой кодек. При вводе суперкадра длительностью 20 мс, когда частота дискретизации равна 16000 Гц, длина кадра составляет 320 точек. На фиг.1 представлена блок-схема системы G.729.1 с кодерами на каждом уровне. Речевой кодек реализует специфический процесс кодирования, состоящий в следующем. Сначала входной сигнал SWB(n) делится блоком квадратурных зеркальных фильтров (QMF) на две субполосы (H1(z),H2(z)). Сигнал нижней субполосы предварительно обрабатывается в фильтре верхних частот, имеющем частоту среза 50 Гц. Выходной сигнал SLB(n) кодируется встроенным кодером с линейным предсказанием (CELP) в узкой полосе 8 кбит/с~12 кбит/с. Сигнал dLB (n) разности между SLB(n) и локальным синтезированным сигналом кодера CELP со скоростью 12 кбит/с проходит через взвешивающий фильтр (WLB(z)) для получения сигнала Сигнал подвергается модифицированному дискретному косинусному преобразованию (MDCT) в частотную область. Взвешивающий фильтр WLB(z) включает в себя функцию компенсации усиления для поддержания непрерывности спектра между выходным сигналом фильтра и входным сигналом SHB(n) верхней субполосы. Взвешенный сигнал разности преобразуется в частотную область.
Компонента верхней субполосы умножается на (-1) n для получения спектрально инвертированного сигнала . Спектрально инвертированный сигнал предварительно обрабатывается после прохождения через фильтр нижних частот, имеющий частоту среза 3000 Гц. Отфильтрованный сигнал SHB(n) кодируется в кодере с расширением полосы пропускания временной области (TDBWE). Прежде чем сигнал S HB(n) поступает в модуль кодирования с аннулированием псевдонимов временной области (TDAC), над сигналом SHB(n) выполняется преобразование MDCT в частотную область.
Наконец, с использованием алгоритма кодирования TDAC кодируют два набора и SHB(k) коэффициентов MDCT. Вдобавок, для исправления ошибок, вызванных потерями кадров во время передачи, кодер маскирования стирания кадра (FEC) передает ряд других параметров.
На фиг.2 представлена блок-схема системы по стандарту G.729.1, имеющей декодеры на каждом уровне. Рабочий режим декодера определяется количеством уровней принимаемого кодового потока или, что то же самое, скоростью приема. Далее подробно описываются различные случаи, возникающие на приемной стороне при разных скоростях приема.
1. Если скорость приема составляет 8 кбит/с или 12 кбит/с (то есть принимаются только первый уровень или первые два уровня), то встроенный декодер CELP декодирует кодовый поток первого уровня или первых двух уровней, получает декодированный сигнал и выполняет пост-фильтрацию для получения сигнала , который проходит через фильтр верхних частот, достигая блока фильтров QMF. Синтезируется широкополосный сигнал 16 кГц с компонентой верхней полосы, установленной в 0.
2. Если скорость приема составляет 14 кбит/с (то есть принимают первые три уровня), кроме того, что декодер CELP декодирует узкополосную компоненту, декодер TDBWE декодирует компоненту верхней полосы. Выполняют преобразование MDCT над сигналом , частотные компоненты, превышающие 3000 Гц в спектре верхней субполосы (что соответствует более 7000 Гц при частоте дискретизации 16 кГц), устанавливают в 0, а затем выполняют обратное преобразование MDCT. После наложения и инверсии спектра синтезируют обработанную компоненту верхней полосы в блоке фильтров QMF с компонентой нижней полосы, декодированной декодером CELP, для получения широкополосного сигнала с частотой дискретизации 16 кГц.
3. Если принимаемый кодовый поток имеет скорость, превышающую 14 кбит/с (что соответствует первым четырем уровням или более), помимо того, что декодер CELP получает компоненту нижней субполосы путем декодирования и декодер TDBWE получает компоненту верхней субполосы путем декодирования, декодер TDAC получает дифференциальный сигнал взвешивания нижней субполосы и сигнал улучшения верхней субполосы путем декодирования. Выполняется улучшение сигнала всей полосы, и в блоке фильтров QMF окончательно синтезируется широкополосный сигнал с частотой дискретизации 16 кГц.
При реализации изобретения авторы обнаружили, что в известном уровне техники имеются по меньшей мере следующие проблемы.
Кодовый поток стандарта G.729.1 имеет многоуровневую структуру. В процессе передачи кодовые потоки внешнего уровня могут отбрасываться с внешних уровней на внутренние в зависимости от пропускной способности канала, что открывает возможность адаптации к состоянию канала. Из описания алгоритмов кодирования и декодирования можно видеть, что при резких изменениях во времени пропускной способности канала декодер может принимать узкополосный кодовый поток (со скоростью, меньшей или равной 12 кбит/с) в момент, когда декодированный сигнал содержит только компоненты ниже 4000 Гц, и декодер может принимать широкополосный кодовый поток (со скоростью, большей или равной 14 кбит/с) в другой момент, когда декодированный сигнал может содержать широкополосный сигнал в диапазоне 0~7000 Гц. Такое внезапное изменение полосы пропускания называется здесь переключением полосы пропускания. Поскольку вклады верхних и нижних полос в восприятие речи при прослушивании разные, такие частые переключения могут внести значительный дискомфорт в восприятие речи при прослушивании. В частности, при неоднократных переключениях с широкой полосы на узкую будут часто ощущаться перескоки с отчетливого голоса говорящего на неестественно растянутый. Таким образом, имеется потребность в способе снижения дискомфорта, вызванного частыми переключениями, ухудшающими восприятие речи при прослушивании.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Изобретение обеспечивает способ и устройство для аудиодекодирования, повышающие комфортность восприятия речи человеком при переключении полосы пропускания в речевом сигнале.
Для решения указанной задачи один вариант изобретения обеспечивает способ аудиодекодирования, включающий в себя:
получение компоненты сигнала нижней полосы аудиосигнала в принятом кодовом потоке, когда аудиосигнал переключается с первой полосы пропускания на вторую полосу пропускания, которая ýже первой полосы пропускания;
расширение компоненты сигнала нижней полосы для получения информации верхней полосы;
выполнение изменяющегося во времени процесса затухания с информацией верхней полосы, полученной посредством расширения, для получения обработанной компоненты сигнала верхней полосы; и
синтезирование обработанной компоненты сигнала верхней полосы и полученной компоненты сигнала нижней полосы.
Также вариант изобретения обеспечивает устройство аудиодекодирования, включающее в себя блок получения, блок расширения, блок обработки изменяющегося во времени затухания и блок синтезирования.
Блок получения выполнен с возможностью получения компоненты сигнала нижней полосы аудиосигнала, соответствующего принятому кодовому потоку, когда аудиосигнал переключается с первой полосы пропускания на второю полосу пропускания, которая ýже первой полосы пропускания, и передачи компоненты сигнала нижней полосы в блок расширения.
Блок расширения выполнен с возможностью расширения компоненты сигнала нижней полосы для получения информации верхней полосы и передачи информации верхней полосы, полученной посредством расширения, в блок обработки изменяющегося во времени затухания.
Блок обработки изменяющегося во времени затухания выполнен с возможностью выполнения изменяющегося во времени процесса затухания с информацией верхней полосы, полученной посредством расширения, для получения обработанной компоненты сигнала верхней полосы и передачи обработанной компоненты сигнала верхней полосы в блок синтезирования.
Блок синтезирования выполнен с возможностью синтезирования принятой обработанной компоненты сигнала верхней полосы и компоненты сигнала нижней полосы, полученной блоком получения.
По сравнению с известным уровнем техники в указанных вариантах изобретения могут быть достигнуты следующие положительные эффекты.
При использовании способов, обеспеченных в вариантах изобретения, при переключении аудиосигнала с широкополосного на узкополосный может быть выполнен ряд процессов, таких как искусственное расширение полосы, процесс изменяющегося во времени затухания и синтез полосы пропускания, обеспечивающие плавный переход при переключении с широкополосного сигнала на узкополосный сигнал, что открывает возможность обеспечения комфортного восприятия речи при ее прослушивании.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема системы кодеров G.729.1 согласно известному уровню техники;
фиг.2 - блок-схема системы декодеров G.729.1 согласно известному уровню техники;
фиг.3 - блок-схема способа декодирования аудиосигнала согласно первому варианту изобретения;
фиг.4 - блок-схема способа декодирования аудиосигнала согласно второму варианту изобретения;
фиг.5 - кривая изменения коэффициента усиления, изменяющегося во времени, согласно второму варианту изобретения;
фиг.6 - изменение полюсной точки изменяющегося во времени фильтра согласно второму варианту изобретения;
фиг.7 - блок-схема способа декодирования аудиосигнала согласно третьему варианту изобретения;
фиг.8 - блок-схема способа декодирования аудиосигнала согласно четвертому варианту изобретения;
фиг.9 - блок-схема способа декодирования аудиосигнала согласно пятому варианту изобретения;
фиг.10 - блок-схема способа декодирования аудиосигнала согласно шестому варианту изобретения;
фиг.11 - блок-схема способа декодирования аудиосигнала согласно седьмому варианту изобретения;
фиг.12 - блок-схема способа декодирования аудиосигнала согласно восьмому варианту изобретения; и
фиг.13 - схематическое представление устройства для декодирования аудиосигнала согласно девятому варианту изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Далее со ссылками на конкретные варианты и сопроводительные чертежи подробно описывается реализация изобретения.
На фиг.3 показан способ декодирования аудиосигнала согласно первому варианту изобретения. Способ содержит следующие конкретные этапы.
На этапе S301 определяют структуру кадра принятого кодового потока.
На этапе S302 на основе структуры кадра кодового потока устанавливают, имеется ли переключение аудиосигнала, соответствующего кодовому потоку, с первой полосы пропускания на вторую полосу пропускания, которая ýже первой полосы пропускания. Если такое переключение имеет место, то выполняют этап S303. В противном случае кодовый поток декодируют согласно нормальному потоку декодирования и выводят восстановленный аудиосигнал.
В сфере речевого кодирования и декодирования узкополосным сигналом обычно называют сигнал, имеющий полосу частот 0~4000 Гц, а широкополосным сигналом называют сигнал, имеющий полосу частот 0~8000 Гц. Ультраширокополосным (UWB) называют сигнал, имеющий полосу частот 0~16000 Гц. Сигнал, имеющий более широкую полосу, можно разделить на компоненту сигнала нижней полосы и компоненту сигнала верхней полосы. Конечно, вышеуказанное определение носит общий характер, и практические приложения не ограничиваются этим аспектом. Для облегчения иллюстрации компонентой сигнала верхней полосы в вариантах изобретения можно называть часть, добавленную после переключения по отношению к полосе пропускания перед переключением, а компонентой узкополосного сигнала можно называть часть, имеющую полосу пропускания, являющуюся общей для аудиосигналов до и после переключения. Например, когда происходит переключение с сигнала, имеющего полосу 0~8000 Гц, на сигнал, имеющий полосу 0~4000 Гц, компонента сигнала нижней полосы может относиться к сигналу 0~4000 Гц, а компонента сигнала верхней полосы может относиться к сигналу 4000~8000 Гц.
На этапе S303 при определении факта переключения аудиосигнала, соответствующего кодовому потоку, с первой полосы пропускания на вторую полосу пропускания, чтобы получить компоненту сигнала нижней полосы, при декодировании используют принятый параметр кодирования нижней полосы.
В одном варианте изобретения решение может быть принято, пока полоса пропускания до переключения шире, чем полоса пропускания после переключения, причем в общем смысле это не ограничивается переключением с широкой полосы на узкую.
На этапе S304 используют методику искусственного расширения полосы для расширения компоненты сигнала нижней полосы с тем, чтобы получить информацию верхней полосы.
В частности, информацией верхней полосы может быть компонента сигнала верхней полосы или параметр кодирования верхней полосы. На начальном периоде времени, когда аудиосигнал, соответствующий кодовому потоку, переключается с первой полосы пропускания на вторую, можно использовать два способа расширения компоненты сигнала нижней полосы для получения информации верхней полосы с помощью методики искусственного расширения полосы. В частности, для получения информации верхней полосы можно использовать параметр кодирования верхней полосы, принятый перед переключением, для расширения компоненты сигнала нижней полосы; или для получения информации верхней полосы можно расширить компоненту сигнала нижней полосы, декодированную из текущего аудиокадра после переключения.
Способ использования параметра кодирования верхней полосы, принятого перед переключением, для расширения компоненты сигнала нижней полосы с целью получения информации верхней полосы может включать в себя: буферизацию параметра кодирования верхней полосы, принятого перед переключением (например, огибающие во временной области и частотной области в алгоритме кодирования TDBWE или коэффициенты MDCT в алгоритме кодирования TDAC); и оценку параметра кодирования верхней полосы для текущего аудиокадра путем использования экстраполяции после переключения. Кроме того, согласно параметру кодирования верхней полосы для получения компоненты сигнала верхней полосы можно использовать соответствующий алгоритм широкополосного декодирования.
Способ использования компоненты сигнала нижней полосы, декодированной из текущего аудиокадра после переключения для получения информации верхней полосы, может включать в себя: выполнение быстрого преобразования Фурье (FFT) над компонентой сигнала нижней полосы, декодированной из текущего аудиокадра после переключения; расширение и формообразование коэффициентов FFT компоненты сигнала нижней полосы в области FFT, сформированных коэффициентов FFT в качестве коэффициентов FFT для информации верхней полосы; выполнение обратного преобразования FFT для получения компоненты сигнала верхней полосы. Конечно, сложность вычислений по первому способу гораздо ниже, чем по последнему. В последующих вариантах, например, для описания изобретения используют первый способ.
На этапе S305 выполняется процесс изменяющегося во времени затухания с информацией верхней полосы, полученной посредством расширения.
В частности, после получения информации верхней полосы посредством расширения путем использования методики искусственного расширения полосы фильтрация QMF для синтезирования информации верхней полосы и компоненты сигнала нижней полосы в широкополосный сигнал не выполняется. Скорее выполняется процесс изменяющегося во времени затухания с информацией верхней полосы, полученной посредством расширения. Процесс затухания относится к переходу аудиосигнала с первой полосы пропускания на вторую полосу пропускания. Способ выполнения процесса изменяющегося во времени затухания с информацией верхней полосы может включать в себя отдельный процесс изменяющегося во времени затухания и гибридный процесс изменяющегося во времени затухания.
В частности, отдельный процесс изменяющегося во времени затухания может включать в себя первый способ, в котором выполняется формообразование во временной области для информации верхней полосы, полученной посредством расширения, с использованием коэффициента усиления временной области, и, кроме того, может быть выполнено формообразование в частотной области для информации верхней полосы, сформированной во временной области, путем использования изменяющейся во времени фильтрации; или второй способ, в котором выполняется формообразование в частотной области для информации верхней полосы, полученной посредством расширения, с использованием изменяющейся во времени фильтрации, и, кроме того, может быть выполнено формообразование во временной области для информации верхней полосы, сформированной в частотной области, путем использования коэффициента усиления временной области.
В частности, гибридная процедура изменяющегося во времени затухания может включать в себя третий способ, в котором выполняют формообразование в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, с использованием способа изменяющегося во времени взвешивания параметра верхней полосы в частотной области, для получения спектральной огибающей изменяющегося во времени затухания, и посредством кодирования получают обработанную компоненту сигнала верхней полосы; или четвертый способ, в котором компоненту сигнала верхней полосы, полученную посредством расширения, делят на субполосы и выполняют изменяющееся во времени взвешивание параметра верхней полосы в частотной области для параметра кодирования каждой субполосы, чтобы получить спектральную огибающую изменяющегося во времени затухания, и посредством декодирования получают обработанную компоненту сигнала верхней полосы.
На этапе S306 синтезируют обработанную компоненту сигнала верхней полосы и декодированную компоненту сигнала нижней полосы.
На вышеуказанных этапах декодер может множеством способов выполнять процедуру изменяющегося во времени затухания с информацией верхней полосы, полученной посредством расширения. Далее следует подробное описание конкретных вариантов другого способа обработки изменяющегося во времени затухания.
В последующих вариантах кодовый поток, принятый декодером, может представлять собой речевой сегмент. Речевой сегмент относится к сегменту из речевых кадров, последовательно принятых декодером. Речевой кадр может представлять собой полноскоростной речевой кадр или несколько уровней полноскоростного речевого кадра. В альтернативном варианте кодовый поток, принятый декодером, может представлять собой сегмент шума, относящийся к сегменту из кадров шума, последовательно принятых декодером. Кадром шума может быть полноскоростной кадр шума или несколько уровней полноскоростного кадра шума.
Во втором варианте изобретения кодовый поток, принятый декодером, представляет собой, например, речевой сегмент, и в процедуре изменяющегося во времени затухания используется первый способ. Другими словами, формообразование во временной области выполняют с информацией верхней полосы, полученной посредством расширения, с использованием коэффициента усиления временной области, и, кроме того, может быть выполнено формообразование в частотной области информации верхней полосы, сформированной во временной области, путем использования изменяющейся во времени фильтрации. Способ декодирования аудиосигнала показан на фиг.4, причем он может включать в себя следующие конкретные этапы.
На этапе S401 декодер принимает кодовый поток, переданный из кодера, и определяет структуру кадра принятого кодового потока.
В частности, кодер кодирует аудиосигнал согласно потоку операций, показанному на систематизированной блок-схеме (фиг.1), и передает кодированный поток на декодер. Декодер принимает кодированный поток. Если аудиосигнал, соответствующий кодовому потоку, не переключается с широкополосного на узкополосный, то декодер может декодировать принятый кодовый поток как нормальный, согласно потоку операций, показанному на систематизированной блок-схеме на фиг.2. Здесь нет повторений. Кодовый поток, принятый декодером, представляет собой речевой сегмент. Речевым кадром в речевом сегменте может быть полноскоростной речевой кадр или несколько уровней полноскоростного речевого кадра. В данном варианте используют полноскоростной речевой кадр, структура которого показана в таблице 1.
Таблица 1 | |||||
Уровень 1 - базовый уровень (узкополосный встроенный CELP) | |||||
10-миллисекундный кадр 1 | 10-миллисекундный кадр 2 | Всего | |||
LSP | 18 | 18 | 36 | ||
Субкадр 1 | Субкадр 2 | Субкадр 1 | Субкадр 2 | ||
Задержка адаптивного кодового словаря | 8 | 5 | 8 | 5 | 26 |
Контроль четности задержки основного тона | 1 | 1 | 2 | ||
Фиксированный индекс кодового словаря | 13 | 13 | 13 | 13 | 52 |
Фиксированный символ кодового словаря | 4 | 4 | 4 | 4 | 16 |
Усиление кодового словаря (уровень 1) | 3 | 3 | 3 | 3 | 12 |
Усиление кодового словаря (уровень 2) | 4 | 4 | 4 | 4 | 16 |
Базовые уровни 8 кбит/с, всего | 160 | ||||
Уровень 2 - узкополосный уровень улучшения (узкополосный встроенный CELP) | |||||
Фиксированный индекс кодового словаря уровня 2 | 13 | 13 | 13 | 13 | 52 |
Фиксированный символ кодового словаря уровня 2 | 4 | 4 | 4 | 4 | 16 |
Фиксированное усиление кодового словаря уровня 2 | 3 | 2 | 3 | 2 | 10 |
Биты исправления ошибок (информация о классе) | 1 | 1 | 2 | ||
Уровни улучшения 12 кбит/с, всего | 80 | ||||
Уровень 3 - широкополосный уровень улучшения (TDBWE) | |||||
Среднее огибающей временной области | 5 | 5 | |||
Вектор расщепления огибающей во временной области | 7+7 | 14 | |||
Вектор расщепления огибающей в частотной области | 5+5+4 | 14 | |||
Биты исправления ошибок (информация о фазе) | 7 | 7 | |||
Уровни улучшения 14 кбит/с, всего | 40 | ||||
Уровни с 4 по 12 - широкополосный уровень улучшения (TDAC) | |||||
Биты исправления ошибок (информация об энергии) | 5 | 5 | |||
Нормализованный коэффициент MDCT | 4 | 4 | |||
Огибающая спектра верхней полосы | nbits_HB | nbits_HB | |||
Огибающая спектра нижней полосы | nbits_LB | nbits_LB | |||
Тонкая структура | nbits_VQ=351-nbits_HB-nbits_LB | nbits_VQ | |||
Уровни улучшения 16~32 кбит/с, всего | 360 | ||||
Всего | 640 |
На этапе S402 декодер определяет, происходит ли переключение с широкой полосы на узкую согласно структуре кадра кодового потока. Если указанное переключение происходит, то обработка продолжается на этапе S403. В противном случае кодовый поток декодируют согласно нормальному потоку операций декодирования, и осуществляется вывод восстановленного аудиосигнала.
При приеме речевого кадра можно определить, происходит ли переключение с широкой полосы на узкую, согласно длине данных или скорости декодирования текущего кадра. Например, если текущий кадр содержит только данные уровня 1 и уровня 2, то длина текущего кадра составляет 160 бит (то есть скорость декодирования составляет 8 кбит/с) или 240 бит (то есть скорость декодирования составляет 12 кбит/с), и, следовательно, текущий кадр является узкополосным. В противном случае, если текущий кадр содержит данные первых двух уровней, а также данные более высоких уровней, то есть длина текущего кадра больше или равна 280 бит (то есть скорость декодирования составляет 14 кбит/с), то текущий кадр является широкополосным.
В частности, на основе полосы пропускания речевого сигнала, определенной из текущего кадра и предыдущего кадра или кадров, можно определить, имеет ли место переключение с широкой полосы на узкую в текущем речевом сегменте.
На этапе S403 при переключении речевого сигнала, соответствующего принятому кодовому потоку, с широкой полосы на узкую декодер декодирует принятый параметр кодирования нижней полосы путем использования встроенного алгоритма CELP с тем чтобы получить компоненту сигнала нижней полосы.
На этапе S404 для расширения компоненты сигнала нижней полосы можно использовать параметр кодирования компоненты сигнала верхней полосы, принятой перед переключением, с тем, чтобы получить компоненту сигнала верхней полосы.
В частности, после приема речевого кадра, имеющего параметр кодирования верхней полосы, декодер буферизирует параметр кодирования TDBWE (включая огибающую во временной области и огибающую в частотной области) М речевых кадров, принятых перед каждым переключением. После обнаружения переключения с широкой полосы на узкую декодер сначала экстраполирует огибающую во временной области и огибающую в частотной области текущего кадра на основе огибающей во временной области и огибающей в частотной области речевых кадров, принятых перед переключением и запомненных в буфере, а затем выполняет декодирование TDBWE, используя экстраполированные огибающую во временной области и огибающую в частотной области для получения компоненты сигнала верхней полосы посредством расширения. Также декодер может буферизировать параметр кодирования TDAC для М речевых кадров, принятых перед переключением (то есть коэффициенты MDCT), экстраполирует коэффициенты MDCT текущего кадра, а затем выполняет декодирование TDAC, используя экстраполированные коэффициенты MDCT для получения компоненты сигнала верхней полосы посредством расширения.
После обнаружения переключения с широкой полосы на узкую для речевого кадра, где отсутствует какой-либо параметр кодирования верхней полосы, может быть выполнена оценка параметра синтезирования компоненты сигнала верхней полосы методом зеркальной интерполяции. Другими словами, параметры кодирования верхней полосы для М последних речевых кадров, буферизированных в буфере, используют в качестве зеркального источника для выполнения посегментной линейной интерполяции, начиная с текущего речевого кадра. Уравнение для посегментной линейной интерполяции выгладит следующим образом:
В приведенной выше формуле Pk представляет параметр синтезирования для компоненты сигнала верхней полосы k-го речевого кадра, восстановленного из позиции переключения, где k=0, , N-1; N - количество речевых кадров, для которых выполняется процесс затухания; P-i представляет параметр кодирования верхней полосы i-го речевого кадра, принятого перед позицией переключения, запомненной в буфере; i=1, , M; М - количество кадров, буферизированных для процесса затухания; (a)mod(b) представляет операцию «a» по модулю «b»; и представляет операцию определения наибольшего целого, не превышающего указанное число. Согласно уравнению (1) параметры кодирования верхней полосы для M буферизированных речевых кадров перед переключением можно использовать для оценки параметров кодирования верхней полосы для N речевых кадров после переключения. Компоненты сигнала верхней полосы для N речевых кадров после переключения можно восстановить с помощью алгоритма декодирования TDBWE или TDAC. Согласно требованиям для практических приложений M может иметь любое значение, меньшее N.
На этапе S405 выполняют формообразование во временной области компоненты сигнала верхней полосы, полученной посредством расширения , для получения обработанной компоненты сигнала верхней полосы.
В частности, при выполнении формообразования во временной области можно ввести изменяющийся во времени коэффициент g(k) усиления. На фиг.5 показана кривая изменяющегося во времени коэффициента. Изменяющийся во времени коэффициент усиления линейно затухает в логарифмической области. Для k-го речевого кадра, появляющегося после переключения, компонента сигнала верхней полосы, полученная посредством расширения, умножается на изменяющийся во времени коэффициент усиления, как показано в уравнении 2:
где n=0, , L-1; k=0, , N-1, а L представляет длину кадра.
На этапе S406, как возможный вариант, формообразование в частотной области может выполняться с компонентой сигнала верхней полосы, сформированной во временной области, путем использования изменяющейся во времени фильтрации для получения компоненты сигнала верхней полосы, сформированной в частотной области.
В частности, компонента сигнала верхней полосы, сформированная во временной области, проходит через изменяющийся во времени фильтр, так что полоса частот компоненты сигнала верхней полосы медленно сужается во времени. Изменяющимся во времени фильтром, используемым в этом варианте, является изменяющийся во времени фильтр Батерворта 2-го порядка, имеющий нулевую точку, зафиксированную на значении -1, и постоянно изменяющуюся полюсную точку. На фиг.6 показано изменение полюсной точки изменяющегося во времени фильтра Батерворта 2-го порядка. Полюсная точка изменяющегося во времени фильтра перемещается по часовой стрелке. Другими словами, полоса пропускания фильтра уменьшается, пока не достигнет 0.
Когда декодер обрабатывает речевой сигнал со скоростью 14 кбит/с или выше, флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 0, а также устанавливают в 0 счетчик точек фильтра fad_out_count. Начиная с определенного момента, когда декодер приступает к обработке речевого сигнала 8 кбит/с или 12 кбит/с, флаг fad_out_flag переключения с узкой полосы на широкую устанавливают в 1 и изменяющемуся во времени фильтру разрешают начать фильтрацию восстановленной компоненты сигнала верхней полосы. Когда количество точек фильтра fad_out_count станет удовлетворять условию fag_out_count<FAD_OUT_COUNT_MAX, изменяющаяся во времени фильтрация выполняется непрерывно. В противном случае работа изменяющегося во времени фильтра прекращается. Здесь FAD_OUT_COUNT_MAX=N×L - количество переходов (например, FAD_OUT_COUNT_MAX=8000).
Положим, что изменяющийся во времени фильтр имеет прецизионную полюсную точку rel(i)+img(i)×j в момент i, причем эта полюсная точка перемещается в rel(m)+img(m)×j точно в момент m. Если количество точек интерполяции составляет N, то результатом интерполяции в момент k будет:
rel(k)=rel(i)×(N-k)/N+rel(m)×k/N
img(k)=img(i)×(N-k)/N+img(m)×k/N.
Полюсную точку интерполяции можно использовать для восстановления коэффициентов фильтра в момент k, после чего можно получить передаточную функцию:
Когда декодер принимает широкополосный речевой сигнал, счетчик точек фильтра fad_out_count устанавливают в 0. Когда речевой сигнал, принятый декодером, переключается с широкой полосы на узкую, включают изменяющийся во времени фильтр, и счетчик фильтра может обновляться следующим образом:
fad_out_count=min(fad_out_count+1, FAD_OUT_COUNT_MAX), где FAD_OUT_COUNT_MAX - количество последовательных отсчетов во время фазы перехода.
Пусть и . Сформированная во временной области восстановленная компонента сигнала верхней полосы является входным сигналом для изменяющегося во времени фильтра, а является выходным сигналом изменяющегося во времени фильтра.
где gain_filter - коэффициент усиления фильтра, который вычисляют по формуле:
На этапе S407 можно использовать блок фильтров QMF для выполнения синтезирующей фильтрации декодированной компоненты сигнала нижней полосы и обработанной компоненты сигнала верхней полосы (компоненты сигнала верхней полосы, если этап S406 не выполняется). Таким образом, можно восстановить изменяющийся во времени сигнал затухания, который соответствует характеристикам плавного перехода с широкой полосы на узкую.
Обработанную компоненту сигнала верхней полосы с изменяющимся во времени затуханием и восстановленную компоненту сигнала нижней полосы вводят вместе в блок фильтров QMF для синтезирующей фильтрации, чтобы получить восстановленный сигнал полной полосы. Даже в том случае, если переключения с широкой полосы на узкую во время декодирования происходят часто, восстановленный сигнал, обработанный согласно изобретению, может обеспечить относительно высокое качество прослушивания.
В данном варианте в процессе изменяющегося во времени затухания речевого сегмента используют первый способ, то есть выполняют формообразование во временной области для информации верхней полосы, полученной посредством расширения, путем использования коэффициента усиления во временной области, и выполняют формообразование в частотной области для информации верхней полосы, сформированной во временной области, путем использования изменяющейся во времени фильтрации. Очевидно, что в процессе изменяющегося во времени затухания можно использовать другие альтернативные способы. Например, в третьем варианте изобретения кодовый поток, принятый декодером, представляет собой речевой сегмент, и в процессе изменяющегося во времени затухания используют третий способ, то есть для выполнения формообразования в частотной области для информации верхней полосы, полученной посредством расширения, используют способ изменяющегося во времени взвешивания параметра верхней полосы в частотной области. Способ декодирования аудиосигнала, показанный на фиг.7, включает в себя следующие этапы.
Этапы S701-S703 аналогичны этапам S401-S403 во втором варианте, и поэтому их описание здесь не повторяется.
На этапе S704, чтобы получить параметр кодирования верхней полосы, используют параметр кодирования компоненты сигнала нижней полосы , принятой перед переключением, для расширения компоненты сигнала верхней полосы.
В этом процессе параметр кодирования верхней полосы для M речевых кадров перед переключением, буферизированный в декодере, можно использовать для оценки параметра кодирования верхней полосы для N речевых кадров после переключения (огибающая в частотной области и огибающая спектра верхней полосы). В частности, после приема декодером кадра, содержащего параметр кодирования верхней полосы, можно каждый раз буферизировать параметры кодирования TDBWE для M речевых кадров, принятых перед переключением, в том числе такие параметры кодирования, как огибающая во временной области и огибающая в частотной области. После обнаружения переключения с широкой полосы на узкую полосу декодер сначала получает огибающую во временной области и огибающую в частотной области для текущего кадра посредством экстраполяции на основе огибающей во временной области и огибающей в частотной области, полученных перед переключением и сохраненных в буфере. В альтернативном варианте декодер может буферизировать параметр кодирования TDAC (то есть коэффициенты MDCT) для M речевых кадров, принятых перед переключением, и получает параметр кодирования верхней полосы посредством расширения на основе коэффициентов MDCT речевого кадра.
После обнаружения переключения с широкой полосы на узкую для кадра, где отсутствует какой-либо параметр кодирования верхней полосы, можно использовать метод зеркальной интерполяции для оценки синтезирующего параметра компоненты сигнала верхней полосы. В частности, если принять параметр кодирования верхней полосы (огибающая в частотной области и огибающая спектра верхней полосы) для M (например, M=5) последних речевых кадров, буферизированных в буфере, в качестве зеркального источника, то посегментную линейную интерполяцию выполняют, начиная с текущего речевого кадра. Это можно реализовать путем использования уравнения (1) посегментной линейной интерполяции во втором варианте, где количество последовательных кадров составляет N (например, N=50). В этом процессе буферизированные параметры кодирования верхней полосы для M кадров перед переключением можно использовать для оценки параметров кодирования верхней полосы (огибающая в частотной области и огибающая спектра верхней полосы) для N кадров после переключения.
На этапе S705 для выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, можно использовать способ изменяющегося во времени взвешивания параметра верхней полосы в частотной области.
В частности, сигнал верхней полосы делят на несколько субполос в частотной области, а затем выполняют взвешивание в частотной области параметра кодирования верхней полосы для каждой субполосы с разным усилением с тем, чтобы полоса частот компоненты сигнала верхней полосы постепенно становилась уже. Параметр широкополосного кодирования, неважно, будь то огибающая в частотной области в алгоритме кодирования TDBWE при скорости 14 кбит/с или огибающая верхней полосы в алгоритме кодирования TDAC при скорости выше 14 кбит/с, может подразумевать процесс разделения верхней полосы на несколько субполос. Следовательно, если процесс изменяющегося во времени затухания выполняется непосредственно с параметром кодирования верхней полосы в частотной области, то скорее всего вычисления окажутся весьма сложными по сравнению со способом, состоящим в использовании фильтра во временной области. При обработке декодером речевого сигнала, передающегося со скоростью 14 кбит/с или более, флаг fad_out_flag переключения с узкой полосы на широкую устанавливают в 0 и устанавливают в 0 счетчик переходных кадров fad_out_frame_count. С определенного момента, когда декодер начинает обработку речевого сигнала 8 кбит/с или 12 кбит/с, флаг fad_out_flag переключения с узой полосы на широкую устанавливают в 1. Когда значение счетчика переходных кадров fad_out_frame_count удовлетворяет условию fad_out_frame_count<N, параметр кодирования взвешивают в частотной области, и коэффициент взвешивания изменяется во времени.
Если скорость передачи речевого кадра, появляющегося перед переключением, превышает 14 кбит/с, то параметры кодирования компоненты сигнала верхней полосы, принятой и буферизированной в буфере, могут включать в себя огибающую верхней полосы в области MDCT и огибающую в частотной области в алгоритме TDBWE. В противном случае параметры кодирования сигнала верхней полосы, принятые и буферизированные в буфере, включают в себя только огибающую в частотной области в алгоритме TDBWE. Для k-го речевого кадра (k=1, , N), появляющегося после переключения, параметры кодирования верхней полосы в буфере можно использовать для восстановления соответствующего параметра кодирования верхней полосы текущего кадра, огибающей в частотной области или огибающей в верхней полосе в области MDCT. Эти огибающие в частотной области делят всю верхнюю полосу на несколько субполос. Эти спектральные огибающие представлены как (j=0, , J-1, где J - количество субполос, например J=12 для огибающей в частотной области в алгоритме TDBWE согласно стандарту G.729.1, и J=18 для огибающей верхней полосы в области MDCT). Каждую субполосу взвешивают согласно коэффициенту gain(k,j) усиления изменяющегося во времени затухания, то есть ×gain(k,j). Таким образом, можно получить огибающую спектра изменяющегося во времени затухания в частотной области. Уравнение для вычисления gain(k,j) выглядит следующим образом:
Обработанные огибающая в частотной области TDBWE и огибающая верхней полосы в области MDCT могут быть декодированы с использованием алгоритма декодирования TDBWE и алгоритма декодирования TDAC соответственно. Таким образом, можно получить компоненту сигнала верхней полосы с изменяющимся во времени затуханием.
На этапе S706 блок фильтров QMF может выполнить синтезирующую фильтрацию обработанной компоненты сигнала верхней полосы и декодированной компоненты сигнала нижней полосы для восстановления сигнала с изменяющимся во времени затуханием.
Аудиосигнал может включать в себя речевой сигнал и сигнал шума. В описании второго варианта и третьего варианта изобретения речевой сегмент, например, переключается с широкой полосы на узкую. Следует принять во внимание, что сегмент шума также может переключаться с широкой полосы на узкую. В четвертом варианте изобретения, например, кодовым потоком, принятым декодером, является сегмент шума, и в процессе изменяющегося во времени затухания используется второй способ. Другими словами, формообразование в частотной области выполняется путем использования изменяющейся во времени фильтрации информации верхней полосы, полученной посредством расширения, и, кроме того, может быть выполнено формообразование во временной области для информации верхней полосы, сформированной в частотной области, с использованием коэффициента усиления временной области. Способ декодирования аудиосигнала, показанный на фиг.8, включает в себя следующие этапы.
На этапе S801 декодер принимает кодовый поток, переданный из кодера, и определяет структуру кадра принятого кодового потока.
В частности, кодер кодирует аудиосигнал, согласно потоку операций, показанному на систематизированной блок-схеме по фиг.1, и передает кодовый поток в декодер. Декодер принимает кодовый поток. Если аудиосигнал, соответствующий кодовому потоку, не переключается с широкой полосы на узкую, то декодер может декодировать принятый кодовый поток как нормальный, согласно потоку операций, показанному на систематизированной блок-схеме по фиг.2. Повторно это здесь не описывается. Кодовым потоком, принятым декодером, является речевой сегмент. Речевым кадром в речевом сегменте может быть полноскоростной речевой кадр или несколько уровней полноскоростного речевого кадра. Кадр шума может кодироваться и передаваться непрерывно, либо может быть использована технология прерывистой передачи (DTX). В этом варианте сегмент шума и кадр шума могут быть определены одинаково. В этом варианте кадром шума, принятым декодером, является полноскоростной кадр шума, а структура кодирования кадра шума, используемая в этом варианте, показана в таблице 2.
Таблица 2 | ||
Описание параметра | Распределение бит | Многоуровневая структура |
Индекс квантователя параметра LSF | 1 | Узкополосный базовый уровень |
Квантованный вектор LSF уровня 1 | 5 | |
Квантованный вектор LSF уровня 2 | 4 | |
Квантованное значение энергетического параметра | 5 | |
Квантованное значение уровня 2 энергетического параметра | 3 | Узкополосный уровень улучшения |
Квантованный вектор LSF уровня 3 | 6 | |
Огибающая широкополосной компоненты во временной области | 6 | Широкополосный базовый уровень |
Вектор 1 огибающей широкополосной компоненты в частотной области | 5 | |
Вектор 2 огибающей широкополосной компоненты в частотной области | 5 |
Вектор 3 огибающей широкополосной компоненты в частотной области | 4 |
На этапе S802 декодер определяет, происходит ли переключение с широкой полосы на узкую согласно структуре кадра кодового потока. Если такое переключение происходит, то поток операций продолжается на этапе S803. В противном случае кодовый поток декодируют согласно нормальной последовательности декодирования и выводится восстановленный сигнал шума.
При приеме кадра шума декодер может определить, происходит ли переключение с широкой полосы на узкую, согласно длине данных текущего кадра. Например, если данные текущего кадра содержат только узкополосный базовый уровень или узкополосный базовый уровень плюс узкополосный уровень улучшения, то есть длина текущего кадра составляет 15 бит или 24 бита, то текущий кадр является узкополосным. В противном случае, если данные текущего кадра дополнительно содержат широкополосный базовый уровень, то есть длина текущего кадра составляет 43 бита, то текущий кадр является широкополосным.
На основе полосы пропускания сигнала шума, определенной из текущего кадра или предыдущего кадра или кадров, можно определить, происходит ли в данный момент переключение с широкой полосы на узкую.
Если кадр дескриптора введения радиомолчания (SID), принятый декодером, содержит параметр кодирования верхней полосы (то есть широкополосный базовый уровень), то параметр кодирования верхней полосы в буфере обновляют кадром SID. Начиная с определенного момента в сегменте шума, когда кадр SID, принятый декодером, больше не содержит широкополосный базовый уровень, декодер может определить, что произошло переключение с широкой полосы на узкую.
На этапе S803, когда сигнал шума, соответствующий принятому кодовому потоку, переключается с широкой полосы на узкую, декодер декодирует принятый параметр кодирования нижней полосы, используя встроенный алгоритм CELP, для получения компоненты сигнала нижней полосы.
На этапе S804 с использованием параметра кодирования компоненты сигнала верхней полосы, принятой перед переключением, выполняют расширение компоненты сигнала нижней полосы для получения компоненты сигнала верхней полосы.
Для кадра шума без какого-либо параметра кодирования верхней полосы синтезирующий параметр компоненты сигнала верхней полосы можно оценить методом зеркальной интерполяции. Если кадр шума кодируют и передают непрерывно, то параметры кодирования верхней полосы (огибающая в частотной области и огибающая спектра верхней полосы) для M последних кадров шума (например, M=5), буферизированных в буфере, используют в качестве зеркального источника для восстановления параметра кодирования верхней полосы k-го кадра шума после переключения с широкой полосы на узкую путем использования уравнения (1) во втором варианте. Если в кадре шума используется технология DTX, то в качестве зеркального источника можно взять два последних кадра SID, содержащих параметр кодирования верхней полосы (огибающая в частотной области), буферизированных в буфере, для выполнения посегментной линейной интерполяции, начиная с текущего кадра. Для восстановления параметра кодирования верхней полосы для k-го кадра шума после переключения с широкой полосы на узкую используют уравнение (3)
Количество последовательных кадров составляет N (например, N=50). Psid_past представляет параметр кодирования верхней полосы самого последнего кадра SID, содержащего широкополосный базовый уровень, запомненный в буфере, а Psid_p_past представляет параметр кодирования верхней полосы для предпоследнего кадра SID, содержащего широкополосный базовый уровень, запомненный в буфере. В этом процессе буферизированный параметр кодирования верхней полосы для двух кадров шума перед переключением можно использовать для оценки параметра кодирования верхней полосы (огибающая в частотной области) для N кадров шума после переключения с тем, чтобы восстановить компоненту сигнала верхней полосы для N кадров шума после переключения. Путем использования декодирования TDBWE или TDAC можно расширить параметр кодирования верхней полосы, восстановленный с помощью уравнения (3), для получения компоненты сигнала верхней полосы.
На этапе S805 используют изменяющуюся во времени фильтрацию для формообразования в частотной области компоненты сигнала верхней полосы, полученной посредством расширения , для получения компоненты сигнала верхней полосы, сформированной в частотной области.
В частности, при выполнении формообразования в частотной области компонента сигнала верхней полосы, полученная посредством расширения, , проходит через изменяющийся во времени фильтр, так что полоса частот компоненты сигнала верхней полосы постепенно со временем становится ýже. На фиг.6 показано изменение полюсной точки фильтра. Каждый раз, когда декодер принимает кадр SID, содержащий широкополосный базовый уровень, флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 0, а также в 0 устанавливают счетчик точек фильтра fad_out_count. Начиная с определенного момента, когда декодер принимает кадр SID, не содержащий широкополосный базовый уровень, флаг fad_out_flag переключения с узкой полосы на широкую устанавливается в 1. Изменяющийся во времени фильтр получает возможность фильтрации восстановленной компоненты сигнала верхней полосы. Когда количество точек фильтра fad_out_count станет удовлетворять условию fad_out_count<FAD_OUT_COUNT_MAX, изменяющаяся во времени фильтрация выполняется непрерывно. В противном случае работа изменяющегося во времени фильтра прекращается. Здесь FAD_OUT_COUNT_MAX=N×L - количество переходов (например, FAD_OUT_COUNT_MAX=8000).
Положим, что изменяющийся во времени фильтр имеет прецизионную полюсную точку rel(i)+img(i)×j в момент i, причем эта полюсная точка перемещается в rel(m)+img(m)×j точно в момент m. Если количество интерполяций составляет N, то результатом интерполяции в момент k будет:
rel(k)=rel(i)×(N-k)/N+rel(m)×k/N
img(k)=img(i)×(N-k)/N+img(m)×k/N.
Полюсную точку интерполяции можно использовать для восстановления коэффициентов фильтра в момент k, после чего можно получить передаточную функцию:
Когда декодер принимает широкополосный сигнал шума, счетчик фильтра fad_out_count устанавливают в 0. Когда сигнал шума, принятый декодером, переключается с широкой полосы на узкую, включают изменяющийся во времени фильтр, и счетчик фильтра может обновляться следующим образом:
fad_out_count = min(fad_out_count+1, FAD_OUT_COUNT_MAX) , где FAD_OUT_COUNT_MAX - количество последовательных отсчетов во время фазы перехода.
Пусть и Компонента сигнала верхней полосы, полученная посредством расширения, является входным сигналом для изменяющегося во времени фильтра, а является выходным сигналом изменяющегося во времени фильтра.
где gain_filter - коэффициент усиления фильтра, который вычисляют по формуле:
На этапе S806, как вариант, может выполняться формообразование во временной области для компоненты сигнала верхней полосы, сформированной в частотной области, для получения компоненты сигнала верхней полосы, сформированной во временной области.
В частности, при выполнении формообразования во временной области может быть введен изменяющийся во времени коэффициент g(k) усиления. Кривая изменяющегося во времени коэффициента усиления показана на фиг.5. Для k-го речевого кадра, появляющегося после переключения, компонента сигнала верхней полосы, полученная посредством расширения, после декодирования TDBWE или TDAC, умножается на изменяющийся во времени коэффициент усиления, как показано в уравнении (2). Этот вариант реализации аналогичен процессу выполнения формообразования во временной области для компоненты сигнала верхней полосы во втором варианте, и поэтому его описание здесь не повторяется. В альтернативном варианте изменяющийся во времени коэффициент усиления на этом этапе может быть умножен на усиление фильтра на этапе S805. Эти два способа могут дать один и тот же результат.
На этапе S807 может быть использован блок фильтров QMF для выполнения синтезирующей фильтрации для декодированной компоненты сигнала нижней полосы и сформированной компоненты сигнала верхней полосы (компонента сигнала верхней полосы, если этап S806 не выполняется). Таким образом, может быть восстановлен сигнал с изменяющимся во времени затуханием, который удовлетворяет характеристикам плавного перехода с широкой полосы на узкую.
В данном варианте в процессе изменяющегося во времени затухания сегмента шума используют второй способ, то есть выполняют формообразование в частотной области для информации верхней полосы, полученной посредством расширения, путем использования изменяющейся во времени фильтрации, и, кроме того, может выполняться формообразование во временной области для информации верхней полосы, сформированной в частотной области, путем использования коэффициента усиления временной области. Очевидно, что в процессе изменяющегося во времени затухания можно использовать другие альтернативные способы. В пятом варианте изобретения, например, кодовый поток, принятый декодером, является сегментом шума, и в процессе изменяющегося во времени затухания используют четвертый способ, то есть информацию верхней полосы, полученную посредством расширения, делят на субполосы и выполняют изменяющееся во времени взвешивание параметра верхней полосы в частотной области для параметра кодирования каждой субполосы. Способ аудиодекодирования, показанный на фиг.9, включает в себя следующие этапы.
Этапы S901-S903 аналогичны этапам S801-S803 в четвертом варианте, и поэтому их описание здесь не повторяется.
На этапе S904 можно использовать параметр кодирования компоненты сигнала верхней полосы, принятой перед переключением (в том числе, но не только, огибающую в частотной области), для получения параметра кодирования верхней полосы посредством расширения.
Для кадра шума без какого-либо параметра кодирования верхней полосы синтезирующий параметр компоненты сигнала верхней полосы можно оценить методом зеркальной интерполяции. Если кадр шума кодируют и передают непрерывно, то можно в качестве зеркального источника принять параметр кодирования верхней полосы (огибающая в частотной области и огибающая спектра верхней полосы) для M (например, M=5) последних речевых кадров, буферизированных в буфере, для восстановления параметра кодирования верхней полосы для k-го кадра после переключения с широкой полосы на узкую с использованием уравнения (1). Если в кадре шума используется технология DTX, то в качестве зеркального источника можно взять два последних кадра SID, содержащих параметр кодирования верхней полосы (огибающая в частотной области), буферизированный в буфере, для выполнения посегментной линейной интерполяции, начиная с текущего кадра. Уравнение (3) можно использовать для восстановления параметра кодирования верхней полосы k-го кадра после переключения с широкой полосы на узкую.
Поскольку параметры кодирования верхней полосы аудиосигнала в разных алгоритмах кодирования могут относиться к разным типам, вышеуказанный параметр кодирования верхней полосы, полученный посредством расширения, может не быть разделен на субполосы. В этом случае параметр кодирования верхней полосы, полученный посредством расширения, можно декодировать для получения компоненты сигнала верхней полосы, при этом параметр кодирования верхней полосы можно выделить из компоненты сигнала верхней полосы, полученной посредством расширения, для выполнения формообразования в частотной области.
На этапе S905 параметр кодирования верхней полосы, полученный посредством расширения, декодируют для получения компоненты сигнала верхней полосы.
На этапе S906 из компоненты сигнала верхней полосы, полученной посредством расширения с использованием алгоритма TDBWE, можно извлечь огибающие в частотной области. Эти огибающие в частотной области могут разделить всю компоненту сигнала верхней полосы на ряд неперекрывающихся субполос.
На этапе S907 используют изменяющееся во времени взвешивание параметра верхней полосы в частотной области для выполнения формообразования в частотной области для выделенной огибающей частотной области. Огибающую частотной области, сформированную в частотной области, декодируют для получения обработанной компоненты сигнала верхней полосы.
В частности, выполняют процесс изменяющегося во времени взвешивания для извлеченной огибающей частотной области. Огибающие частотной области эквивалентны разделению компоненты сигнала верхней полосы на несколько субполос в частотной области, и таким образом взвешивание в частотной области выполняют для каждой огибающей частотной области с разным коэффициентом усиления, так что полоса сигнала плавно сужается. Когда декодер последовательно принимает кадры SID, содержащие параметр кодирования верхней полосы, можно считать, что он находится в фазе с сигналом шума верхней полосы. Флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 0, а также в 0 устанавливают счетчик переходных кадров fad_out_frame_count. Когда кадр SID, принятый декодером, начиная с определенного момента, не содержит широкополосный базовый уровень, декодер определяет, что произошло переключение с широкой полосы на узкую. Флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 1. Когда счетчик переходных кадров fad_out_frame_count удовлетворяет условию fad_out_frame_count<N, выполняется процесс изменяющегося во времени затухания путем взвешивания параметра кодирования в частотной области, причем коэффициент взвешивания изменяется во времени, где N - количество переходных кадров (например, N=50).
Параметр кодирования верхней полосы для k-го кадра (k=0, , N-1) после переключения с широкой полосы на узкую можно восстановить с помощью уравнения (3) и восстановленный параметр кодирования верхней полосы можно декодировать для получения компоненты сигнала верхней полосы. Из компоненты сигнала верхней полосы, полученной посредством расширения с использованием алгоритма TDBWE, можно извлечь огибающие частотной области (j=0, , J-1, где J - количество выделенных субполос). Огибающую частотной области для каждой субполосы взвешивают с использованием коэффициента усиления gain(k,j) изменяющегося во времени затухания, то есть ·gain(k,j). Таким образом, можно получить в частотной области огибающую спектра изменяющегося во времени затухания. Уравнение для вычисления gain(k,j) выгладит следующим образом:
Огибающую частотной области TDBWE для изменяющегося во времени затухания можно декодировать с помощью алгоритма декодирования TDBWE для получения обработанной компоненты сигнала верхней полосы с изменяющимся во времени затуханием.
На этапе S908 блок фильтров QMF может выполнить синтезирующую фильтрацию обработанной компоненты сигнала верхней полосы и декодированной компоненты сигнала нижней полосы для восстановления сигнала с изменяющимся во времени затуханием.
При описании вышеупомянутых вариантов изобретения, например, речевой сегмент или сегмент шума, соответствующий кодовому потоку, принятому декодером, переключается с широкой полосы на узкую. Следует понимать так, что возможны два следующих случая. Речевой сегмент, соответствующий кодовому потоку, принятому декодером, переключается с широкой полосы на узкую, а после переключения декодер может еще принять сегмент шума, соответствующий этому кодовому потоку. Или сегмент шума, соответствующий кодовому потоку, принятому декодером, переключается с широкой полосы на узкую, а после переключения декодер может еще принять речевой сегмент, соответствующий кодовому потоку.
В шестом варианте изобретения, например, речевой сегмент, соответствующий кодовому потоку, принятому декодером, переключается с широкой полосы на узкую, декодер после переключения может еще принять сегмент шума, соответствующий кодовому потоку, а затем для процесса изменяющегося во времени затухания используется третий способ. Другими словами, выполняют формообразование в частотной области для информации верхней полосы, полученной посредством расширения, путем использования метода изменяющегося во времени взвешивания параметра верхней полосы в частотной области. Способ аудиодекодирования, показанный на фиг.10, включает в себя следующие этапы.
На этапе S1001 декодер принимает кодовый поток, переданный из кодера, и определяет структуру кадра принятого кодового потока.
В частности, кодер кодирует аудиосигнал согласно потоку операций, показанному на систематизированной блок-схеме (фиг.1), и передает кодовый поток на декодер. Декодер принимает кодовый поток. Если аудиосигнал, соответствующий кодовому потоку, не переключился с широкой полосы на узкую, то декодер может декодировать принятый кодовый поток как нормальный, согласно потоку операций, показанному на систематизированной блок-схеме по фиг.2. Повторение описания здесь опущено. В этом варианте кодовый поток, принятый декодером, включает в себя речевой сегмент и сегмент шума. Речевые кадры в речевом сегменте имеют структуру полноскоростного речевого кадра (см. таблицу 1), а кадры шума в сегменте шума имеют структуру полноскоростного кадра шума, как показано в таблице 2.
На этапе S1002 декодер обнаруживает появление переключения с широкой полосы на узкую согласно структуре кадра кодового потока. Если указанное переключение произошло, то обработка продолжается на этапе S1003. В противном случае кодовый поток декодируют согласно нормальному потоку операций декодирования, и осуществляется вывод восстановленного аудиосигнала.
На этапе S1003, когда речевой сигнал, соответствующий принятому кодовому потоку, переключился с широкой полосы на узкую, декодер декодирует принятый параметр кодирования нижней полосы, используя встроенный алгоритм CELP, для получения компоненты сигнала нижней полосы.
На этапе S1004 можно использовать технологию искусственного расширения полосы для расширения компоненты сигнала нижней полосы, чтобы получить параметр кодирования верхней полосы.
При переключении с широкой полосы на узкую аудиосигнал, запомненный в буфере, может по типу совпадать или отличаться от аудиосигнала, принятого после переключения. Могут иметь место пять следующих случаев.
(1) В буфере запоминаются только параметры кодирования верхней полосы для кадра шума (другими словами, только огибающие TDBWE в частотной области без огибающих TDAC верхней полосы), причем все кадры, принятые после переключения, являются речевыми кадрами.
(2) В буфере запоминаются только параметры кодирования верхней полосы для кадра шума (другими словами, только огибающие TDBWE в частотной области без огибающих TDAC верхней полосы), причем все кадры, принятые после переключения, являются кадрами шума.
(3) В буфере запоминаются только параметры кодирования верхней полосы для речевого кадра (другими словами, как огибающие TDBWE в частотной области, так и огибающие TDAC верхней полосы), причем все кадры, принятые после переключения, являются речевыми кадрами.
(4) В буфере запоминаются только параметры кодирования верхней полосы для речевого кадра (другими словами, как огибающие TDBWE в частотной области, так и огибающие TDAC верхней полосы), причем все кадры, принятые после переключения, являются кадрами шума.
(5) В буфере запоминаются только параметры кодирования верхней полосы для речевого кадра (другими словами, как огибающие TDBWE в частотной области, так и огибающие TDAC верхней полосы) и в буфере запоминаются параметры кодирования верхней полосы для кадра шума (другими словами, только огибающие TDBWE в частотной области без огибающих TDAC верхней полосы). Кадры, принятые после переключения, могут включать в себя как кадры шума, так и речевые кадры.
Случаи (2) и (3) были подробно описаны в вышеприведенных вариантах изобретения. В оставшихся трех случаях после переключения параметр кодирования может быть восстановлен согласно способу в соответствии с уравнением (1). Однако параметр кодирования верхней полосы для кадра шума не имеет огибающую TDAC верхней полосы. Следовательно, в случае, когда сегмент шума принят после переключения речевого сегмента, параметр кодирования верхней полосы больше не восстанавливается. Другими словами, огибающая TDAC верхней полосы не будет восстановлена, поскольку алгоритм кодирования TDAC является лишь дополнительным усовершенствованием к кодированию TDBWE. Что касается огибающей TDBWE в частотной области, то ее достаточно для восстановления сигнала верхней полосы. Другими словами, когда принято решение о возможности использования этого варианта (то есть в течение N кадров после переключения), речевые кадры декодируют при сниженной скорости 14 кбит/с, пока не будет завершена вся операция изменяющегося во времени затухания. Для k-го кадра (k=1, , N) после переключения можно восстановить огибающие (j=0, , J-1, J=12) в частотной области для параметра кодирования верхней полосы.
На этапе S1005 выполняют формообразование в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, используя метод изменяющегося во времени взвешивания параметра верхней полосы в частотной области, а затем сформированный параметр кодирования верхней полосы декодируют для получении обработанной компоненты сигнала верхней полосы.
В частности, во время формообразования в частотной области сигнал верхней полосы делят на несколько субполос в частотной области, после чего выполняют взвешивание в частотной области для каждой субполосы или параметра кодирования верхней полосы, характеризующего каждую субполосу, с использованием разного усиления так, чтобы полоса сигнала плавно сужалась. Огибающая частотной области в алгоритме кодирования TDBWE, использованном в речевом кадре, или огибающая частотной области на базовом уровне широкой полосы для речевого кадра может повлиять на процесс разделения верхней полосы на субполосы. Декодер принимает аудиосигнал, содержащий параметр кодирования верхней полосы (включая кадр SID, имеющий широкополосный базовый уровень и речевой кадр со скоростью передачи 14 кбит/с или более). Флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 0 и также в 0 устанавливают количество переходных кадров fad_out_frame_count. Начиная с определенного момента, когда аудиосигнал, принятый декодером, не содержит параметр кодирования верхней полосы (в кадре SID нет широкополосного базового уровня, или речевой кадр передается со скоростью, меньшей 14 кбит/с), декодер может зафиксировать переключение с широкой полосы на узкую. Флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 1. Когда количество переходных кадров fad_out_frame_count удовлетворяет условию fad_out_frame_count<N, выполняется процесс изменяющегося во времени затухания путем взвешивания параметра кодирования в частотной области, где коэффициент взвешивания изменяется во времени, а N - количество переходных кадров (например, N=50).
J огибающих в частотной области могут разделить компоненту сигнала верхней полосы на J субполос. Каждую огибающую частотной области взвешивают, используя изменяющийся во времени коэффициент усиления gain(k,j), другими словами, ×gain(k,j). Таким образом, можно получить огибающую спектра изменяющегося во времени затухания в частотной области. Уравнение для вычисления gain(k,j) выглядит следующим образом:
Обработанная огибающая в частотной области TDBWE может быть декодирована с использованием алгоритма декодирования TDBWE для получения обработанной компоненты сигнала верхней полосы с изменяющимся во времени затуханием.
На этапе S1006 блок фильтров QMF может выполнить синтезирующую фильтрацию обработанной компоненты сигнала верхней полосы и декодированной компоненты сигнала нижней полосы для восстановления сигнала с изменяющимся во времени затуханием.
В седьмом варианте изобретения, например, сегмент шума, соответствующий кодовому потоку, принятому декодером, переключается с широкой полосы на узкую. После переключения декодер может еще принять речевой сегмент, соответствующий кодовому потоку, и в процессе изменяющегося во времени затухания используется третий способ. Другими словами, для выполнения формообразования в частотной области для информации верхней полосы, полученной посредством расширения, можно использовать метод изменяющегося во времени взвешивания параметра верхней полосы в частотной области. Способ аудиодекодирования, показанный на фиг.11, включает в себя следующие этапы.
Этапы S1101-S1102 аналогичны этапам S1001-S1002 в шестом варианте, и поэтому их описание здесь не повторяется.
На этапе S1103 при переключении сигнала шума, соответствующего принятому кодовому потоку, с широкой полосы на узкую декодер декодирует принятый параметр кодирования нижней полосы, используя встроенный алгоритм CELP, чтобы получить компоненту сигнала нижней полосы.
На этапе S1104 можно использовать технологию искусственного расширения полосы для расширения компоненты сигнала нижней полосы, чтобы получить параметр кодирования верхней полосы.
На этапе S1105 для выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, можно использовать метод изменяющегося во времени взвешивания параметра верхней полосы в частотной области, после чего сформированный параметр кодирования верхней полосы декодируют для получения обработанной компоненты сигнала верхней полосы.
В частности, во время формообразования в частотной области выполняют взвешивание в частотной области для параметра кодирования верхней полосы, представляя каждую субполосу с разным усилением, так что полоса сигнала плавно расширяется. Декодер принимает аудиосигнал, содержащий широкополосный параметр кодирования (включая кадр SID, имеющий широкополосный базовый уровень и речевой кадр со скоростью передачи 14 кбит/с или более). Флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 0 и также в 0 устанавливают счетчик переходных кадров fad_out_frame_count. Начиная с определенного момента, когда аудиосигнал, принятый декодером, не содержит параметр кодирования широкой полосы (другими словами, в кадре SID нет широкополосного базового уровня, или речевой кадр передается со скоростью, меньшей 14 кбит/с), декодер фиксирует появление переключения с широкой полосы на узкую. Затем флаг fad_out_flag переключения с широкой полосы на узкую устанавливают в 1. Когда счетчик переходных кадров fad_out_frame_count удовлетворяет условию fad_out_frame_count<N, выполняется процесс изменяющегося во времени затухания путем взвешивания параметра кодирования в частотной области, где коэффициент взвешивания изменяется во времени, а N - количество переходных кадров (например, N=50).
В этом варианте при появлении переключения в буфере запоминают только широкополосные параметры кодирования кадра шума (то есть только огибающие TDBWE в частотной области без огибающих TDAC верхней полосы). Кадры, принятые после переключения, будут содержать как кадры шума, так и речевые кадры. После появления переключения параметр кодирования верхней полосы согласно данному варианту может быть восстановлен способом согласно уравнению (1). Однако параметр кодирования верхней полосы для шума не имеет параметр огибающей верхней полосы TDAC, необходимый в речевом кадре. Следовательно, при восстановлении параметра кодирования верхней полосы для принятого речевого кадра огибающая TDAC больше не восстанавливается, поскольку алгоритм кодирования TDAC является лишь дополнительным улучшением к кодированию TDBWE. Если имеется огибающая TDBWE в частотной области, этого достаточно для восстановления компоненты сигнала верхней полосы. Другими словами, когда принимается решение об использовании этого варианта (то есть в пределах N кадров после переключения), речевые кадры декодируют с пониженной скоростью передачи 14 кбит/с вплоть до завершения всей операции изменяющегося во времени затухания. Для k-го кадра (k=1, , N) после переключения восстановленный широкополосный параметр кодирования таков, что огибающие частотной области (j=0, , J-1, J=12) делят компоненту верхней полосы на J субполос. Каждую субполосу взвешивают с использованием коэффициента усиления gain(k,j) изменяющегося во времени затухания, то есть ·gain(k,j). Таким образом, огибающую спектра изменяющегося во времени затухания можно получить в частотной области. Уравнение для вычисления gain(k,j) выгладит следующим образом:
Обработанную огибающую TDBWE в частотной области можно декодировать с помощью алгоритма декодирования TDBWE, чтобы получить компоненту сигнала верхней полосы с изменяющимся во времени затуханием.
На этапе S1106 блок фильтров QMF может выполнить синтезирующую фильтрацию обработанной компоненты сигнала верхней полосы и декодированной компоненты узкополосного сигнала, чтобы восстановить сигнал с изменяющимся во времени затуханием.
В восьмом варианте изобретения, например, речевой сегмент, соответствующий кодовому потоку, принятому декодером, переключается с широкой полосы на узкую, декодер может еще принять сегмент шума, соответствующий кодовому потоку, после переключения, а в процессе изменяющегося во времени затухания используют упрощенную версию третьего способа. Способ аудиодекодирования, показанный на фиг.12, включает в себя следующие этапы.
Этапы S1201-S1202 аналогичны этапам S1001-S1002 в шестом варианте, и поэтому их описание здесь не повторяется.
На этапе S1203 при переключении принятого речевого сигнала с широкой полосы на узкую декодер может декодировать принятый параметр кодирования нижней полосы с помощью встроенного алгоритма CELP для получения компоненты сигнала нижней полосы.
На этапе S1204 используют технологию искусственного расширения полосы для расширения компоненты сигнала нижней полосы, чтобы получить параметр кодирования верхней полосы.
При появлении переключения с широкой полосы на узкую аудиосигнал, запомненный в буфере, может по типу совпадать или отличаться от аудиосигнала, принятого после переключения, и здесь могут иметь место пять случаев, описанных в шестом варианте. В вышеупомянутых вариантах были подробно описаны случаи (2) и (3). Для трех остальных случаев после переключения параметр кодирования верхней полосы можно восстановить, используя способ по уравнению (1). Однако параметр кодирования верхней полосы для кадра шума не имеет огибающую TDAC верхней полосы. Следовательно, не будет восстановлена огибающая верхней полосы TDAC, необходимая для восстановления параметра кодирования, а восстанавливается только огибающая в частотной области в алгоритме TDBWE. Алгоритм кодирования TDAC является лишь дополнительным улучшением к кодированию TDBWE. Наличие огибающей TDBWE в частотной области достаточно для восстановления компоненты сигнала верхней полосы. Другими словами, когда принято решение об использовании данного варианта (то есть в рамках COUNTfad_out кадров после переключения), речевые кадры декодируют при пониженной скорости 14 кбит/с вплоть до завершения всей операции изменяющегося во времени затухания. Для k-го кадра (k=0, , COUNTfad_out-1) после переключения восстановленный параметр кодирования верхней полосы таков, что огибающая (j=0, , J-1) делит компоненту сигнала верхней полосы на J субполос.
На этапе S1205 используют упрощенный способ выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, и сформированный параметр кодирования верхней полосы декодируют для получения обработанной компоненты сигнала верхней полосы.
Во время формообразования в частотной области восстановленная огибающая в частотной области делит сигнал верхней полосы на J субполос. Когда флаг fad_out_flag переключения с широкой полосы на узкую равен 1 и счетчик fad_out_frame_count переходных кадров удовлетворяет условию fad_out_frame_count<COUNTfad_out , выполняется процесс изменяющегося во времени затухания по огибающей в частотной области, восстановленной для k-го кадра после переключения, согласно уравнению (4), (5) или (6):
где представляет максимальное целое число, не превышающее х. Алгоритм декодирования TDBWE может быть использован для обработанной огибающей TDBWE в частотной области для получения компоненты сигнала верхней полосы с изменяющимся во времени затуханием. LOW_LEVEL - минимально возможное значение для огибающей в частотной области в таблице квантования. Например, огибающая (J=0, , 3) частотной области использует технологию многоуровневого квантования, причем кодовый словарь квантования на уровне 1 выглядит следующим образом:
Индекс | Кодовый словарь векторного квантования на уровне 1 | |||
000 | -3,0000000000f | -2,0000000000f | -1,0000000000f | -0,5000000000f |
001 | 0,0000000000f | 0,5000000000f | 1,0000000000f | 1,5000000000f |
010 | 2,0000000000f | 2,5000000000f | 3,0000000000f | 3,5000000000f |
011 | 4,0000000000f | 4,5000000000f | 5,0000000000f | 5,5000000000f |
100 | 0,2500000000f | 0,7500000000f | 1,2500000000f | 1,7500000000f |
101 | 2,2500000000f | 2,7500000000f | 3,2500000000f | 3,7500000000f |
110 | 4,2500000000f | 4,7500000000f | 5,2500000000f | 5,7500000000f |
111 | -1,5000000000f | 9,5000000000f | 10,5000000000f | -2,5000000000f |
Кодовый словарь квантования на уровне 2:
Индекс | Кодовый словарь векторного квантования на уровне 2 | |||
0000 | -2,9897100000f | -2,9897100000f | -1,9931400000f | -0,9965700000f |
0001 | 1,9931400000f | 1,9931400000f | 1,9931400000f | 1,9931400000f |
0010 | 0,0000000000f | 0,0000000000f | -1,9931400000f | -1,9931400000f |
0011 | -0,9965700000f | -0,9965700000f | -0,9965700000f | -1,9931400000f |
0100 | 0,9965700000f | 0,9965700000f | 0,0000000000f | -0,9965700000f |
0101 | 0,9965700000f | 0,9965700000f | 0,9965700000f | 0,0000000000f |
0110 | -1,9931400000f | -1,9931400000f | -2,9897100000f | -2,9897100000f |
0111 | 0,0000000000f | 0,9965700000f | 0,0000000000f | -0,9965700000f |
1000 | -12,9554100000f | -12,9554100000f | -12,9554100000f | -12,9554100000f |
1001 | 0,0000000000f | 0,9965700000f | 0,9965700000f | 0,9965700000f |
1010 | 0,0000000000f | -0,9965700000f | -0,9965700000f | -0,9965700000f |
1011 | -1,9931400000f | -0,9965700000f | 0,0000000000f | 0,0000000000f |
1100 | -0,9965700000f | 0,0000000000f | 0,0000000000f | 0,9965700000f |
1101 | -5,9794200000f | -8,9691300000f | -8,9691300000f | -4,9828500000f |
1110 | 0,9965700000f | 0,0000000000f | 0,0000000000f | 0,0000000000f |
1111 | -3,9862800000f | -3,9862800000f | -4,9828500000f | -4,9828500000f |
Тогда =l1(j)+l2(j), где l1(j) - квантованный вектор уровня 1, а l2(j) - квантованный вектор уровня 2. В этом варианте минимальное значение составит -3,0000+(-12,95541)=-15,95541. Кроме того, при практической реализации нахождение этого минимального значения можно упростить и свести к выбору достаточно малого значения.
Кроме того, следует заметить, что вышеописанный способ определения является предпочтительным вариантом для данного изобретения. При практической реализации это значение можно упростить или заменить на другие значения, удовлетворяющие техническим требованиям согласно конкретным техническим потребностям. Эти изменения также лежат в рамках объема настоящего изобретения.
На этапе S1206 блок фильтров QMF выполняет синтезирующую фильтрацию обработанной компоненты сигнала верхней полосы и декодированной восстановленной компоненты сигнала нижней полосы для восстановления сигнала с изменяющимся во времени затуханием.
Изобретение применимо к переключению с широкой полосы на узкую, а также к переключению с ультраширокой (UWB) полосы на широкую полосу. В обоих описанных вариантах компоненту сигнала верхней полосы декодируют, используя алгоритм декодирования TDBWE или TDAC. Следует заметить, что изобретение также применимо к другим алгоритмам широкополосного кодирования вдобавок к алгоритму декодирования TDBWE или TDAC. Кроме того, можно использовать другие способы расширения компоненты сигнала верхней полосы и параметра кодирования верхней полосы после переключения, но их описание здесь опущено.
При использовании способов, предусмотренных в указанных вариантах изобретения, когда аудиосигнал переключается с широкой полосы на узкую, может быть использован ряд процессов обработки, таких как определение полосы пропускания, искусственное расширение полосы, процесс изменяющегося во времени затухания и синтез полосы пропускания для выполнения переключения с плавным переходом от широкополосного сигнала к узкополосному сигналу, с тем чтобы можно было обеспечить комфортное восприятие речи при прослушивании.
В девятом варианте изобретения устройство аудиодекодирования, показанное на фиг.12, включает в себя блок 10 получения, блок 20 расширения, блок 30 обработки изменяющегося во времени затухания и блок 40 синтезирования.
Блок 10 получения выполнен с возможностью получения компоненты сигнала нижней полосы аудиосигнала, соответствующего принятому кодовому потоку, когда аудиосигнал переключается с первой полосы пропускания на вторую полосу пропускания, которая ýже первой полосы пропускания, и передачи компоненты сигнала нижней полосы в блок 20 расширения.
Блок 20 расширения выполнен с возможностью расширения компоненты сигнала нижней полосы для получения информации верхней полосы, а также для передачи информации верхней полосы, полученной посредством расширения, в блок 30 обработки изменяющегося во времени затухания.
Блок 30 обработки изменяющегося во времени затухания выполнен с возможностью выполнения процесса изменяющегося во времени затухания с информацией верхней полосы, полученной посредством расширения, получения обработанной компоненты сигнала верхней полосы, а также передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Блок 40 синтезирования выполнен с возможностью синтезирования принятой обработанной компоненты сигнала верхней полосы и компоненты сигнала нижней полосы, полученной блоком 10 получения.
Устройство, кроме того, включает в себя блок 50 обработки и блок 60 обнаружения.
Блок 50 обработки выполнен с возможностью определения структуры кадра принятого кодового потока и передачи структуры кадра кодового потока в блок 60 обнаружения.
Блок 60 обнаружения выполнен с возможностью обнаружения того, произошло ли переключение с первой полосы пропускания на вторую полосу пропускания согласно структуре кадра кодового потока, переданной из блока 50 обработки, а также передачи кодового потока в блок 10 получения, если произошло переключение с первой полосы пропускания на вторую полосу пропускания.
В частотности, блок 20 расширения дополнительно включает в себя по меньшей мере один из следующих субблоков: первый субблок 21 расширения, второй субблок 22 расширения и/или третий субблок 23 расширения.
Первый субблок 21 расширения выполнен с возможностью расширения компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, с тем чтобы получить параметр кодирования верхней полосы.
Второй субблок 22 расширения выполнен с возможностью расширения компоненты сигнала нижней полосы путем использования параметра кодирования для компоненты сигнала верхней полосы, принятой перед переключением, с тем чтобы получить компоненту сигнала верхней полосы.
Третий субблок 23 расширения выполнен с возможностью расширения компоненты сигнала нижней полосы, декодированной из текущего аудиокадра после переключения, с тем чтобы получить компоненту сигнала верхней полосы.
Блок 30 обработки изменяющегося во времени затухания дополнительно включает в себя по меньшей мере один из следующих субблоков: субблок 31 отдельной обработки и/или субблок 32 гибридной обработки.
Субблок 31 отдельной обработки выполнен с возможностью выполнения формообразования во временной области и/или формообразования в частотной области для компоненты сигнала верхней полосы, полученной посредством расширения, когда информацией верхней полосы, полученной посредством расширения, является компонента сигнала верхней полосы, а также выполнен с возможностью передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Субблок 32 гибридной обработки выполнен с возможностью: выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, когда информацией верхней полосы, полученной посредством расширения, является параметр кодирования верхней полосы; или разделения компоненты сигнала верхней полосы, полученной посредством расширения, на субполосы, выполнения формообразования в частотной области для параметра кодирования каждой субполосы и передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования, когда информацией верхней полосы, полученной посредством расширения, является компонента сигнала верхней полосы.
Субблок 31 отдельной обработки дополнительно включает в себя по меньшей мере один из следующих субблоков: первый субблок 311, второй субблок 312, третий субблок 313 и/или четвертый субблок 314.
Первый субблок 311 выполнен с возможностью выполнения формообразования во временной области для компоненты сигнала верхней полосы, полученной посредством расширения, путем использования коэффициента усиления временной области, а также передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Второй субблок 312 выполнен с возможностью выполнения формообразования в частотной области для компоненты сигнала верхней полосы, полученной посредством расширения, путем использования изменяющейся во времени фильтрации, а также передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Третий субблок 313 выполнен с возможностью выполнения формообразования во временной области для компоненты сигнала верхней полосы, полученной посредством расширения, путем использования коэффициента усиления временной области, выполнения формообразования в частотной области для компоненты сигнала верхней полосы, сформированной во временной области, путем использования изменяющейся во времени фильтрации, а также передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Четвертый субблок 314 выполнен с возможностью выполнения формообразования в частотной области для компоненты сигнала верхней полосы, полученной посредством расширения, путем использования изменяющейся во времени фильтрации, выполнения формообразования во временной области для компоненты сигнала верхней полосы, сформированной в частотной области путем использования коэффициента усиления временной области, а также передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Субблок 32 гибридной обработки дополнительно включает в себя по меньшей мере один из следующих субблоков: пятый субблок 321 и/или шестой субблок 322.
Пятый субблок 321 выполнен с возможностью: выполнения формообразования в частотной области для параметра кодирования верхней полосы, полученного посредством расширения, путем использования метода изменяющегося во времени взвешивания параметра верхней полосы в частотной области, когда информацией верхней полосы, полученной посредством расширения, является параметр кодирования верхней полосы, с тем чтобы получить огибающую спектра изменяющегося во времени затухания; получения компоненты сигнала верхней полосы посредством декодирования и передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
Шестой субблок 322 выполнен с возможностью: разделения компоненты сигнала верхней полосы, полученной посредством расширения, на субполосы, когда информацией верхней полосы, полученной посредством расширения, является компонента сигнала верхней полосы; выполнения изменяющегося во времени взвешивания параметра верхней полосы в частотной области для параметра кодирования для каждой субполосы с тем, чтобы получить огибающую спектра изменяющегося во времени затухания; получения компоненты сигнала верхней полосы посредством декодирования; и передачи обработанной компоненты сигнала верхней полосы в блок 40 синтезирования.
При использовании устройства, предусмотренного в упомянутых вариантах изобретения, когда аудиосигнал переключается с широкой полосы на узкую, может быть использован ряд процессов обработки, таких как определение полосы пропускания, искусственное расширение полосы, процесс изменяющегося во времени затухания и синтез полосы пропускания, для выполнения переключения с плавным переходом от широкополосного сигнала к узкополосному сигналу с тем, чтобы обеспечить возможность комфортного прослушивания речи.
Из приведенного выше описания различных вариантов изобретения специалистам в данной области техники должно быть очевидно, что настоящее изобретение можно реализовать аппаратными средствами или с помощью программных средств и необходимой для этого аппаратной платформы общего назначения. На основе раскрытых здесь принципов настоящее изобретение можно технически воплотить в виде программного продукта. Такой программный продукт может храниться в энергонезависимой запоминающей среде (которая может представлять собой ПЗУ/ОЗУ, U-диск, съемный диск и т.д.), включая ряд команд, предписывающих компьютерному устройству (персональный компьютер, сервер, сетевое устройство или т.п.) выполнять способы согласно различным вариантам настоящего изобретения.
Вышеизложенное подробное описание изобретения сопровождалось ссылками на некоторые предпочтительные варианты, которые не следует рассматривать как ограничивающие объем настоящего изобретения. Подразумевается, что различные изменения, эквивалентные замены и усовершенствования, предложенные в рамках основных принципов изобретения, не выходят за рамки настоящего изобретения.
Класс G10L19/00 Техника анализа-синтеза речи для уменьшения избыточности, например в вокодерах ; кодирование или декодирование речи