СПОСОБ ГИБРИДНОГО МАСКИРОВАНИЯ: КОМБИНИРОВАННОЕ МАСКИРОВАНИЕ ПОТЕРИ ПАКЕТОВ В ЧАСТОТНОЙ И ВРЕМЕННОЙ ОБЛАСТИ В АУДИОКОДЕКАХ
HYBRID MASKING METHOD: COMBINED MASKING OF PACKET LOSS IN FREQUENCY AND TIME DOMAIN IN AUDIO CODECS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Варианты осуществления согласно изобретению создают блоки маскирования ошибок для обеспечения аудиоинформации маскирования ошибок для маскирования потерь аудиокадра в кодированной аудиоинформации на основе компонента маскирования во временной области и компонента маскирования в частотной области.
Варианты осуществления согласно изобретению создают аудиодекодеры для обеспечения декодированной аудиоинформации на основе кодированной аудиоинформации, причем декодеры содержат упомянутые блоки маскирования ошибок.
Варианты осуществления согласно изобретению создают аудиокодеры для обеспечения кодированной аудиоинформации и дополнительной информации, подлежащей использованию для функций маскирования, при необходимости.
Некоторые варианты осуществления согласно изобретению создают способы для обеспечения аудиоинформации маскирования ошибок для маскирования потерь аудиокадра в кодированной аудиоинформации на основе компонента маскирования во временной области и компонента маскирования в частотной области.
Некоторые варианты осуществления согласно изобретению создают компьютерные программы для осуществления одного из упомянутых способов.
Уровень техники
В последние годы возрастает потребность в цифровой передаче и хранении аудиоконтента. Однако аудиоконтент часто передается по ненадежным каналам, что повышает риск потери блоков данных (например, пакеты) содержащий один или более аудиокадров (например, в форме кодированного представления, в частности, кодированного представления в частотной области или кодированного представления во временной области). В некоторых ситуациях, можно запрашивать повторение (повторную передачу) потерянных аудиокадров (или блоков данных, в частности, пакетов, содержащих один или более потерянных аудиокадров). Однако это обычно вносит существенную задержку и, таким образом, требует обширной буферизации аудиокадров. В других случаях, вряд ли возможно запрашивать потерянных аудиокадров.
Для получения хорошего или, по меньшей мере, приемлемого, качества аудиосигнала в случае потери аудиокадров без обеспечения обширной буферизации (что будет потреблять большой объем памяти и также будет существенно снижать возможности в реальном времени кодирования аудиосигнала) желательно иметь принципы, чтобы обрабатывать потерю одного или более аудиокадров. В частности, желательно иметь принципы, которые способствуют повышению качества аудиосигнала или, по меньшей мере, приемлемого качества аудиосигнала, даже в случае потери аудиокадров.
Заметим, что, потеря кадра предусматривает, что кадр не был надлежащим образом декодирован (в частности, не декодирован ко времени вывода). Потеря кадра может происходить, когда кадр полностью не обнаружен, или когда кадр приходит слишком поздно, или в случае, когда обнаруживается битовая ошибка (по этой причине, кадр теряется в том смысле, что его нельзя использовать и нужно маскировать). Для этих неудач (которые можно рассматривать как часть класса ʺпотерь кадраʺ), результат состоит в невозможности декодировать кадр и необходимости осуществления операции маскирования ошибок.
В прошлом были разработаны некоторое принципы маскирования ошибок, которые можно использовать в разных принципах кодирования аудиосигнала.
Традиционным методом маскирования в усовершенствованном аудиокодеке (AAC) является замена шума [1]. Он действует в частотной области и пригоден для зашумленных и музыкальных элементов.
Тем не менее, было установлено, что, для речевых сегментов, замена шума в частотной области часто создает нарушения непрерывности фазы, приводящие к раздражающим артефактам типа ʺщелчокʺ во временной области.
Таким образом, подход типа ACELP во временной области можно использовать для речевых сегментов (например, TD-TCX PLC в [2] или [3]), определенных классификатором.
Одна проблема с маскированием во временной области состоит в искусственно сгенерированной грамоничности в полном частотном диапазоне. Могут создаваться раздражающие артефакты типа ʺгудокʺ.
Еще один недостаток маскирования во временной области состоит в высокой вычислительной сложности по сравнению с безошибочным декодированием или маскированием с заменой шума.
Необходимо решение для преодоления недостатков уровня техники.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Согласно изобретению, предусмотрен блок маскирования ошибок для обеспечения аудиоинформации маскирования ошибок для маскирования потерь аудиокадра в кодированной аудиоинформации. Блок маскирования ошибок выполнен с возможностью обеспечения первого компонента аудиоинформации маскирования ошибок для первого частотного диапазона с использованием маскирования в частотной области. Блок маскирования ошибок дополнительно выполнен с возможностью обеспечения второго компонента аудиоинформации маскирования ошибок для второго частотного диапазона, который содержит более низкие частоты, чем первый частотный диапазон, с использованием маскирования во временной области. Блок маскирования ошибок дополнительно выполнен с возможностью объединения первого компонента аудиоинформации маскирования ошибок и второго компонента аудиоинформации маскирования ошибок, для получения аудиоинформации маскирования ошибок (где дополнительная информация в отношении маскирования ошибок, в необязательном порядке, также может обеспечиваться).
С использованием маскирования в частотной области для высоких частот (по большей части шума) и маскирования во временной области для низких частот (по большей части, речи), можно избегать искусственно сгенерированной сильной грамоничности для шума (что предполагается с учетом использования маскирования во временной области в полном частотном диапазоне), и также можно избегать или ослаблять вышеупомянутые артефакты щелчка (что предполагается с учетом использования маскирования в частотной области в полном частотном диапазоне) и артефакты гудка (что предполагается с учетом использования маскирования во временной области в полном частотном диапазоне).
Кроме того, вычислительная сложность (которая предполагается, когда маскирование во временной области используется в полном частотном диапазоне) также снижается.
В частности, решается проблема искусственно сгенерированной грамоничности в полном частотном диапазоне. Если бы сигнал имел только сильные гармоники на более низких частотах (для речевых элементов она обычно не превышает около 4 кГц), где фоновый шум имеет более высокие частоты, сгенерированные гармоники до частоты Найквиста создавали бы раздражающие артефакты типа ʺгудокʺ. Настоящее изобретение позволяет сильно ослаблять или, в большинстве случаев, решать эта проблему.
Согласно аспекту изобретения, блок маскирования ошибок выполнен так, что первый компонент аудиоинформации маскирования ошибок представляет высокочастотный участок данного потерянного аудиокадра, и благодаря чему, второй компонент аудиоинформации маскирования ошибок представляет низкочастотный участок данного потерянного аудиокадра, что позволяет получать аудиоинформацию маскирования ошибок, связанную с данным потерянным аудиокадром, с использованием как маскирования в частотной области, так и маскирования во временной области.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью вывода первого компонента аудиоинформации маскирования ошибок с использованием представления в области преобразования высокочастотного участка надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, и/или блок маскирования ошибок выполнен с возможностью вывода второго компонента аудиоинформации маскирования ошибок с использованием синтеза сигнала во временной области на основе низкочастотного участка надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью использования масштабированной или немасштабированной копии представления в области преобразования высокочастотного участка надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, для получения представления в области преобразования высокочастотного участка потерянного аудиокадра, и для преобразования представления в области преобразования высокочастотного участка потерянного аудиокадра во временную область, для получения компонента сигнала во временной области, который является первым компонентом аудиоинформации маскирования ошибок.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью получения одного или более параметров стимула синтеза и одного или более параметров фильтра синтеза на основе низкочастотного участка надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, и получения второго компонента аудиоинформации маскирования ошибок с использованием синтеза сигнала, параметры стимула и параметры фильтра которого выводятся на основе полученных параметров стимула синтеза и полученных параметров фильтра синтеза или равны полученным параметрам стимула синтеза и полученным параметрам фильтра синтеза.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления управления для определения и/или сигнально-адаптивного изменения первого и/или второго частотных диапазонов.
Соответственно, пользователь или управляющее приложение может выбирать предпочтительные частотные диапазоны. Дополнительно, можно модифицировать маскирование согласно декодированным сигналам.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления управления на основе характеристик, выбранных между характеристиками одного или более кодированных аудиокадров и характеристиками одного или более надлежащим образом декодированных аудиокадров.
Соответственно, можно адаптировать частотные диапазоны к характеристикам сигнала.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью получения информации о грамоничности одного или более надлежащим образом декодированных аудиокадров и осуществления управления на основе информации о грамоничности. Дополнительно или альтернативно, блок маскирования ошибок выполнен с возможностью получения информации о спектральном наклоне одного или более надлежащим образом декодированных аудиокадров и осуществления управления на основе информации о спектральном наклоне.
Соответственно, можно осуществлять специальные операции. Например, когда энергетический наклон гармоник постоянен по частотам, может быть предпочтительно осуществлять полное частотное маскирование во временной области (вовсе без маскирования в частотной области). Маскирование в частотной области в полном спектре (вовсе без маскирования во временной области) может быть предпочтительно, где сигнал не содержит грамоничности.
Согласно аспекту изобретения, можно сделать грамоничность сравнительно меньше в первом частотном диапазоне (по большей части, шума) по сравнению с грамоничностью во втором частотном диапазоне (по большей части, речи).
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью определения, до какой частоты надлежащим образом декодированный аудиокадр, предшествующий потерянному аудиокадру, содержит грамоничность, превышающую порог грамоничности, и выбора первого частотного диапазона и второго частотного диапазона в зависимости от него.
Используя сравнение с порогом, можно, например, отличать шум от речи и определять частоты, подлежащие маскированию с использованием маскирования во временной области, и частоты, подлежащие маскированию, с использованием маскирования в частотной области.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью определения или оценивания частотной границы, на которой спектральный наклон надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, изменяется от меньшего спектрального наклона к большему спектральному наклону, и выбора первого частотного диапазона и второго частотного диапазона в зависимости от него.
Можно предположить, что при малом спектральном наклоне образуется довольно (или, по меньшей мере, в основном) плоская частотная характеристика, тогда как при большом спектральном наклоне сигнал имеет либо значительно большую энергию в нижней полосе, чем в верхней полосе или наоборот.
Другими словами, малый (или меньший) спектральный наклон может означать, что частотная характеристика является ʺдовольноʺ плоской, тогда как при большом (или большем) спектральном наклоне сигнал имеет либо (значительно) большую энергию (например, в расчете на спектральный бин или в расчете на частотный интервал) в нижней полосе, чем в верхней полосе, или наоборот.
Можно также осуществлять основное (несложное) оценивание спектрального наклона для получения тренда энергии полосы частот, который может быть функцией первого порядка (например, которая может быть представлена линией). В этом случае, можно обнаруживать область, где энергия (например, средняя энергия полосы) ниже определенного (заранее определенного) порога.
В случае, когда нижняя полоса почти не имеет энергии, но верхняя полоса имеет, можно использовать FD (например, маскирование в частотной области) только в некоторых вариантах осуществления.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью регулировки первого (в целом более высокого) частотного диапазона и второго (в целом более низкого) частотный диапазон, благодаря чему, первый частотный диапазон покрывает спектральную область, которая содержит шумоподобную спектральную структуру, и благодаря чему, второй частотный диапазон покрывает спектральную область, которая содержит гармоническую спектральную структуру.
Соответственно, можно использовать разные методы маскирования для речи и шума.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления управления для адаптации более низкочастотного конца первого частотного диапазона и/или более высокочастотного конца второго частотного диапазона в зависимости от энергетического соотношения между гармониками и шумом.
Посредством анализа энергетического соотношения между гармониками и шумом, можно определять, с высокой степенью определенности, частоты, подлежащие обработке с использованием маскирования во временной области, и частоты, подлежащие обработке с использованием маскирования в частотной области.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления управления, чтобы выборочно запрещать, по меньшей мере, одно из маскирования во временной области и маскированию в частотной области и/или осуществлять маскирование только во временной области или маскирование только в частотной области для получения аудиоинформации маскирования ошибок.
Это свойство позволяет осуществлять специальные операции. Например, можно выборочно запрещать маскирование в частотной области, когда энергетический наклон гармоник постоянен по частотам. Маскирование во временной области можно запрещать, когда сигнал не содержит грамоничности (по большей части, шума).
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью определения или оценивания, меньше ли изменение спектрального наклона надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, заранее определенного порога спектрального наклона в данном частотном диапазоне, и получения аудиоинформации маскирования ошибок с использованием маскирования только во временной области, если установлено, что изменение спектрального наклона надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, меньше заранее определенного порога спектрального наклона.
Соответственно, можно иметь легкий метод для определения, работать ли только с маскированием во временной области посредством наблюдения эволюции спектрального наклона.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью определения или оценивания, меньше ли грамоничность надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, заранее определенного порога грамоничности, и
получения аудиоинформации маскирования ошибок с использованием маскирования только в частотной области, если установлено, что грамоничность надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, меньше заранее определенного порога грамоничности.
Соответственно, можно обеспечивать решение для определения, работать ли с маскированием только в частотной области посредством наблюдения эволюции грамоничности.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью адаптации основного тона замаскированного кадра на основе основного тона надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру и/или в зависимости от временной эволюции основного тона в надлежащим образом декодированном аудиокадре, предшествующем потерянному аудиокадру, и/или в зависимости от интерполяции основного тона между надлежащим образом декодированным аудиокадром, предшествующим потерянному аудиокадру, и надлежащим образом декодированному аудиокадру, следующему за потерянным аудиокадром.
Если основной тон известен для каждого кадра, можно изменять основной тон внутри замаскированного кадра на основе предыдущего значения основного тона.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления управления на основе информации, передаваемой кодером.
Согласно аспекту изобретения, блок маскирования ошибок дополнительно выполнен с возможностью объединения первого компонента аудиоинформации маскирования ошибок и второго компонента аудиоинформации маскирования ошибок с использованием механизма добавления с перекрытием, OLA.
Соответственно, можно легко осуществлять комбинацию между двумя компонентами аудиоинформации маскирования ошибок между первым компонентом и вторым компонентом.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления обратного модифицированного дискретного косинусного преобразования (IMDCT) на основе представления в спектральной области, полученного посредством маскирования ошибок в частотной области, для получения представления во временной области первого компонента аудиоинформации маскирования ошибок.
Соответственно, можно обеспечивать полезный интерфейс между маскированием в частотной области и маскированием во временной области.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью обеспечения второго компонента аудиоинформации маскирования ошибок, благодаря чему, второй компонент аудиоинформации маскирования ошибок содержит временную длительность, которая, по меньшей мере, на 25 процентов длиннее потерянного аудиокадра, для обеспечения возможности добавления с перекрытием. Согласно аспекту изобретения, блок маскирования ошибок может быть выполнен с возможностью осуществления IMDCT дважды для получения двух последовательных кадров во временной области.
Для объединения низко- и высокочастотных частей или трактов, механизм OLA осуществляется во временной области. Для кодека типа AAC, это означает, что более одного кадра (обычно полтора кадра) нужно обновлять для одного замаскированного кадра. Это объясняется тем, что способ анализа и синтеза OLA имеет задержку в половину кадра. Когда используется обратное модифицированное дискретное косинусное преобразование (IMDCT), IMDCT создает только один кадр: таким образом, необходима дополнительная половина кадра. Таким образом, IMDCT может вызываться дважды для получения двух последовательных кадров во временной области.
Заметим, что, если длина кадра состоит из заранее определенного количества выборок (например, 1024 выборок) для AAC, на кодере преобразование MDCT состоит в первоначальном применении окна, которое вдвое больше длины кадра. На декодере после MDCT и до операции перекрытия и добавление, количество выборок также вдвое больше (например, 2048). Эти выборки содержат наложение спектров. В этом случае, оно состоит в том, что после перекрытия и добавления с предыдущим кадром наложение спектров отменяется для левой части (1024 выборки). Они соответствуют кадру, которые будут воспроизводиться декодером.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления высокочастотной фильтрации первого компонента аудиоинформации маскирования ошибок, после маскирования в частотной области.
Соответственно, можно получить, с высокой степенью надежности, высокочастотный компонент информации маскирования.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления высокочастотной фильтрации с частотой среза между 6 кГц и 10 кГц, предпочтительно, 7 кГц и 9 кГц, более предпочтительно, между 7,5 кГц и 8,5 кГц, еще более предпочтительно, между 7,9 кГц и 8,1 кГц, и еще более предпочтительно, 8 кГц.
Было доказано, что эта частота особенно пригодна для отличения шума от речи.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью сигнально-адаптивной регулировки более низкочастотной границы высокочастотной фильтрации, чтобы, таким образом, изменять ширину первого частотного диапазона.
Соответственно, можно отсекать (в любой ситуации) частоты шума от частот речи. Поскольку для получения таких фильтров (HP и LP) это точное отсечение обычно слишком сложно, то на практике частота среза является строго определенной (даже если ослабление также не может быть совершенным для более высоких или более низких частот).
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью понижающей дискретизации представления во временной области аудиокадра, предшествующего потерянному аудиокадру, для получения дискретизированного с понижением представления во временной области аудиокадра, предшествующего потерянному аудиокадру, причем дискретизированное с понижением представление только во временной области представляет низкочастотный участок аудиокадра, предшествующего потерянному аудиокадру, и для осуществления маскирования во временной области с использованием дискретизированного с понижением представления во временной области аудиокадра, предшествующего потерянному аудиокадру, и для повышающей дискретизации замаскированной аудиоинформации, обеспеченной посредством маскирования во временной области, или ее постобработанной версии, для получения второго компонента аудиоинформации маскирования ошибок, благодаря чему, маскирование во временной области осуществляется с использованием частоты дискретизации, которая меньше частоты дискретизации, необходимой для полного представления аудиокадра, предшествующего потерянному аудиокадру. Затем дискретизированный с повышением второй компонент аудиоинформации маскирования ошибок может объединяться с первым компонентом аудиоинформации маскирования ошибок.
Благодаря работе в условиях дискретизации с понижением, вычислительная сложность маскирования во временной области снижается.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью сигнально-адаптивной регулировки частоты дискретизации дискретизированного с понижением представления во временной области, чтобы, таким образом, изменять ширину второго частотного диапазона.
Соответственно, можно изменять частоту дискретизации дискретизированного с понижением представления во временной области до назначенной частоты, в частности, когда условия сигнала изменяются (например, когда конкретный сигнал требуется для увеличения частоты дискретизации). Соответственно, можно получить предпочтительную частоту дискретизации, например с целью отделения шума от речи.
Согласно аспекту изобретения, блок маскирования ошибок выполнен с возможностью осуществления ослабления с использованием коэффициента ослабления.
Соответственно, можно элегантно подавлять последующие замаскированные кадры для снижения их интенсивности.
Обычно ослабление осуществляется при наличии потери более одного кадра. Большую часть времени уже применялся тот или иной вид ослабления на первой потере кадра, но наиболее важной частью является приятное ослабление до тишины или фонового шума, при наличии пакета ошибок (потери нескольких кадров подряд).
Согласно еще одному аспекту изобретения, блок маскирования ошибок выполнен с возможностью масштабирования спектрального представления аудиокадра, предшествующего потерянному аудиокадру, с использованием коэффициента ослабления, для вывода первого компонента аудиоинформации маскирования ошибок.
Было отмечено, что такая стратегия позволяет достигать изящного подавления, особенно адаптированного к изобретению.
Согласно аспекту изобретения, маскирование ошибок выполняется для низкочастотной фильтрации выходного сигнала маскирования во временной области, или его дискретизированной с повышением версии, для получения второго компонента аудиоинформации маскирования ошибок.
Таким образом, можно обеспечить простой, но надежный способ определения того, что второй компонент аудиоинформации маскирования ошибок находится в низкочастотном диапазоне.
Изобретение также относится к аудиодекодеру для обеспечения декодированной аудиоинформации на основе кодированной аудиоинформации, причем аудиодекодер содержит блок маскирования ошибок согласно любому из вышеупомянутых аспектов.
Согласно аспекту изобретения, аудиодекодер выполнен с возможностью получения представления в спектральной области аудиокадра на основе кодированного представления для представления в спектральной области аудиокадра, и при этом аудиодекодер выполнен с возможностью осуществления преобразования из спектральной области во временную область, для получения декодированного временного представления аудиокадра. Маскирование ошибок выполняется для осуществления маскирования в частотной области с использованием представления в спектральной области надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, или его участка. Маскирование ошибок выполняется для осуществления маскирования во временной области с использованием декодированного представления во временной области надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру.
Изобретение также относится к способу маскирования ошибок для обеспечения аудиоинформации маскирования ошибок для маскирования потерь аудиокадра в кодированной аудиоинформации, причем способ содержит:
- обеспечение первого компонента аудиоинформации маскирования ошибок для первого частотного диапазона с использованием маскирования в частотной области,
- обеспечение второго компонента аудиоинформации маскирования ошибок для второго частотного диапазона, который содержит более низкие частоты, чем первый частотный диапазон, с использованием маскирования во временной области, и
- объединение первого компонента аудиоинформации маскирования ошибок и второго компонента аудиоинформации маскирования ошибок, для получения аудиоинформации маскирования ошибок.
Способ, отвечающий изобретению также может содержать сигнально-адаптивное управление первым и вторым частотными диапазонами. Способ также может содержать адаптивное переключение в режим, в котором только маскирование во временной области или только маскирование в частотной области используется для получения аудиоинформации маскирования ошибок для, по меньшей мере, одного потерянного аудиокадра.
Изобретение также относится к компьютерной программе для осуществления способа, отвечающего изобретению, когда компьютерная программа выполняется на компьютере и/или для управления блоком маскирования ошибок, отвечающем изобретению, и/или декодером, отвечающим изобретению.
Изобретение также относится к аудиокодеру для обеспечения кодированного представления аудиосигнала на основе входной аудиоинформации. Аудиокодер содержит: кодер частотной области, выполненный с возможностью обеспечения кодированного представления в частотной области на основе входной аудиоинформации, и/или кодер области линейного предсказания, выполненный с возможностью обеспечения кодированного представления в области линейного предсказания на основе входной аудиоинформации; и блок определения частоты перехода, выполненный с возможностью определения информации частоты перехода, которая задает частоту перехода между маскированием ошибок во временной области и маскированием ошибок в частотной области, подлежащим использованию на стороне аудиодекодера. Аудиокодер выполнен с возможностью включать кодированное представление в частотной области и/или кодированное представление в области линейного предсказания и также информацию частоты перехода в кодированное представление аудиосигнала.
Соответственно, не требуется распознавать первый и второй частотные диапазоны на стороне декодере. Эта информация может легко обеспечиваться кодером.
Однако аудиокодер может, например, опираться на те же принципы для определения частоты перехода, что и аудиодекодер (где входной аудиосигнал может использоваться вместо декодированной аудиоинформации).
Изобретение также относится к способу обеспечения кодированного представления аудиосигнала на основе входной аудиоинформации. Способ содержит:
- этап кодирования в частотной области для обеспечения кодированного представления в частотной области на основе входной аудиоинформации, и/или этап кодирования в области линейного предсказания для обеспечения кодированного представления в области линейного предсказания на основе входной аудиоинформации; и
- этап определения частоты перехода для определения информации частоты перехода, которая задает частоту перехода между маскированием ошибок во временной области и маскированием ошибок в частотной области, подлежащим использованию на стороне аудиодекодера.
Этап кодирования выполняется для включения кодированного представления в частотной области и/или кодированного представления в области линейного предсказания и также информацию частоты перехода в кодированное представление аудиосигнала.
Изобретение также относится к кодированному представлению аудиосигнала, содержащему: кодированное представление в частотной области, представляющее аудиоконтент, и/или кодированное представление в области линейного предсказания, представляющее аудиоконтент; и информацию частоты перехода, которая задает частоту перехода между маскированием ошибок во временной области и маскированием ошибок в частотной области, подлежащим использованию на стороне аудиодекодера.
Соответственно, можно просто передавать аудиоданные, которые включают в себя (например, в их битовом потоке) информацию, связанную с первым и вторым частотными диапазонами или с границей между первым и вторым частотными диапазонами. Декодер, принимающий кодированное представление аудиосигнала, может, таким образом, просто адаптировать частотные диапазоны для маскирования FD и маскирования TD к инструкциям, обеспеченным кодером.
Изобретение также относится к системе, содержащей вышеупомянутый аудиокодер и вышеупомянутый аудиодекодер. Средство управления может быть выполнено с возможностью определения первого и второго частотных диапазонов на основе информации частоты перехода, обеспеченной аудиокодером.
Соответственно, декодер может адаптивно модифицировать частотные диапазоны маскирований TD и FD в команды, обеспеченные кодером.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Далее варианты осуществления настоящего изобретения будут описаны со ссылкой на прилагаемые чертежи, в которых:
фиг. 1 - блок-схема блока маскирования согласно изобретению;
фиг. 2 - блок-схема аудиодекодера согласно варианту осуществления настоящего изобретения;
фиг. 3 - блок-схема аудиодекодера, согласно другому варианту осуществления настоящего изобретения;
фиг. 4 образована фиг. 4A и 4B, где показана блок-схема аудиодекодера, согласно другому варианту осуществления настоящего изобретения;
фиг. 5 - блок-схема маскирования во временной области;
фиг. 6 - блок-схема маскирования во временной области;
фиг. 7 - диаграмма, демонстрирующая операцию маскирования в частотной области;
фиг. 8a - блок-схема маскирования согласно варианту осуществления изобретения;
фиг. 8b - блок-схема маскирования согласно другому варианту осуществления изобретения;
фиг. 9 - блок-схема операций способа маскирования, отвечающего изобретению;
фиг. 10 - блок-схема операций способа маскирования, отвечающего изобретению;
фиг. 11 - частности операции изобретения в отношении операции вырезания и добавления с перекрытием;
фиг. 12-18 - сравнительные примеры диаграмм сигнала;
фиг. 19 - блок-схема аудиокодера согласно варианту осуществления настоящего изобретения;
фиг. 20 - блок-схема операций способа кодирования, отвечающего изобретению.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
В настоящем разделе рассмотрены варианты осуществления изобретения со ссылкой на чертежи.
Блок маскирования ошибок согласно фиг. 1
На фиг. 1 показана блок-схема блока 100 маскирования ошибок согласно изобретению.
Блок 100 маскирования ошибок обеспечивает аудиоинформацию 102 маскирования ошибок для маскирования потерь аудиокадра в кодированной аудиоинформации. На блок 100 маскирования ошибок поступает аудиоинформация, например, надлежащим образом декодированный аудиокадр 101 (предполагается, что надлежащим образом декодированный аудиокадр был декодирован в прошлом).
Блок 100 маскирования ошибок выполнен с возможностью обеспечения (например, с использованием блока 105 маскирования в частотной области) первого компонента 103 аудиоинформации маскирования ошибок для первого частотного диапазона с использованием маскирования в частотной области. Блок 100 маскирования ошибок дополнительно выполнен с возможностью обеспечения (например, с использованием блока 106 маскирования во временной области) второго компонента 104 аудиоинформации маскирования ошибок для второго частотного диапазона, с использованием маскирования во временной области. Второй частотный диапазон содержит более низкие частоты, чем первый частотный диапазон. Блок 100 маскирования ошибок дополнительно выполнен с возможностью объединения (например, с использованием объединителя 107) первого компонента 103 аудиоинформации маскирования ошибок и второго компонента 104 аудиоинформации маскирования ошибок для получения аудиоинформации 102 маскирования ошибок.
Первый компонент 103 аудиоинформации маскирования ошибок может назначаться как представляющий высокочастотный участок (или сравнительно более высокочастотный участок) данного потерянного аудиокадра. Второй компонент 104 аудиоинформации маскирования ошибок может назначаться как представляющий низкочастотный участок (или сравнительно более низкочастотный участок) данного потерянного аудиокадра. Аудиоинформация 102 маскирования ошибок, связанная с потерянным аудиокадром, получается с использованием блока 105 маскирования в частотной области и блока 106 маскирования во временной области.
Маскирование ошибок во временной области
Здесь обеспечивается некоторая информация, относящаяся к маскированию во временной области, что можно реализовать посредством маскирования 106 во временной области.
Таким образом, маскирование во временной области может, например, быть выполняться для модификации сигнала возбуждения временной области, полученного на основе одного или более аудиокадров, предшествующих потерянному аудиокадру, для получения второго компонента аудиоинформации маскирования ошибок для аудиоинформации маскирования ошибок. Однако, в некоторых простых вариантах осуществления, сигнал возбуждения временной области можно использовать без модификации. Другими словами, маскирование во временной области может получать (или выводить) сигнал возбуждения временной области для (или на основе) одного или более кодированных аудиокадров, предшествующих потерянному аудиокадру, и может модифицировать упомянутый сигнал возбуждения временной области, который получается для (или на основе) одного или более надлежащим образом принятых аудиокадров, предшествующих потерянному аудиокадру, для получения, таким образом (посредством модификации) сигнала возбуждения временной области, который используется для обеспечения второго компонента аудиоинформации маскирования ошибок для аудиоинформации маскирования ошибок. Другими словами, модифицированный сигнал возбуждения временной области (или немодифицированный сигнал возбуждения временной области) может использоваться в качестве входного сигнала (или в качестве компонента входного сигнала) для синтеза (например, синтеза LPC) аудиоинформации маскирования ошибок, связанной с потерянным аудиокадром (или даже с несколькими потерянными аудиокадрами). За счет обеспечения второго компонента аудиоинформации маскирования ошибок для аудиоинформации маскирования ошибок на основе сигнала возбуждения временной области, полученного на основе одного или более надлежащим образом принятых аудиокадров, предшествующих потерянному аудиокадру, можно избежать слышимых нарушений непрерывности. С другой стороны, за счет (в необязательном порядке) модификации сигнала возбуждения временной области, выведенного для (или из) одного или более аудиокадров, предшествующих потерянному аудиокадру, и за счет обеспечения аудиоинформации маскирования ошибок на основе (в необязательном порядке) модифицированного сигнала возбуждения временной области, можно рассматривать изменяющиеся характеристики аудиоконтента (например, изменение основного тона), и можно также избегать неестественный слухового восприятия (например, посредством ʺослабленияʺ детерминистического (например, по меньшей мере, приблизительно периодического) компонента сигнала). Таким образом, можно добиться, чтобы аудиоинформация маскирования ошибок содержала некоторое сходство с декодированной аудиоинформацией, полученной на основе надлежащим образом декодированных аудиокадров, предшествующих потерянному аудиокадру, и все же можно добиться, чтобы аудиоинформация маскирования ошибок содержала несколько другой аудиоконтент по сравнению с декодированной аудиоинформацией, связанной с аудиокадром, предшествующим потерянному аудиокадру, посредством некоторой модификации сигнала возбуждения временной области. Модификация сигнала возбуждения временной области, используемого для обеспечения второго компонента аудиоинформации маскирования ошибок для аудиоинформации маскирования ошибок (связанной с потерянным аудиокадром) может, например, содержать масштабирование по амплитуде или масштабирование по времени. Однако возможны другие типы модификации (или даже комбинацию масштабирования по амплитуде и масштабирования по времени), причем, предпочтительно, чтобы определенная степень соотношения между сигналом возбуждения временной области, полученным (в качестве входной информации) посредством маскирования ошибок, и модифицированным сигналом возбуждения временной области, сохранялась.
В итоге, аудиодекодер позволяет обеспечивать аудиоинформацию маскирования ошибок, благодаря чему, аудиоинформация маскирования ошибок обеспечивает хорошее слуховое восприятие даже в случае, когда один или более аудиокадров теряются. Маскирование ошибок осуществляется на основе сигнала возбуждения временной области, причем изменение характеристик сигнала аудиоконтента в ходе потерянного аудиокадра можно рассматривать посредством модификации сигнала возбуждения временной области, полученного на основе одного или более аудиокадров, предшествующих потерянному аудиокадру.
Маскирование ошибок в частотной области
Здесь обеспечена некоторая информация, относящаяся к маскированию в частотной области, которое можно реализовать посредством маскирования 105 в частотной области. Однако, в блоке маскирования ошибок, отвечающий изобретению, рассмотренное ниже маскирование ошибок в частотной области осуществляется в ограниченном частотном диапазоне.
Однако, следует отметить, что описанное здесь маскирование в частотной области следует рассматривать только в качестве примеров, причем можно также применять другие или более усовершенствованные принципы. Другими словами, описанный здесь принцип используется в некоторых конкретных кодеках, не нужно применять для всех декодеров частотной области.
Функция маскирования в частотной области может, в некоторых реализациях, увеличивать задержку декодера на один кадр (например, если маскирование в частотной области использует интерполяцию). В некоторых реализациях (или в некоторых декодерах) маскирование в частотной области действует на спектральных данных непосредственно до окончательного частотно-временного преобразования. В случае повреждения единственного кадра, маскирование может, например, интерполировать между последним (или одним из последних) хорошим кадром (надлежащим образом декодированным аудиокадром) и первым хорошим кадром для создания спектральных данных для пропущенного кадра. Однако некоторые декодеры могут не быть способны осуществлять интерполяцию. В таком случае, может использоваться более простое маскирование в частотной области, например, копирование или экстраполяцию ранее декодированных спектральных значений. Предыдущий кадр можно обрабатывать посредством частотно-временного преобразования, поэтому здесь пропущенный кадр, подлежащий замене, является предыдущим кадром, последний хороший кадр является кадр до предыдущего, и первый хороший кадр является фактическим кадром. Если повреждено несколько кадров, маскирование осуществляет сначала ослабление на основе немного модифицированных спектральных значений из последнего хорошего кадра. При наличии хороших кадров, маскирование ослабляет новые спектральные данные.
В дальнейшем фактическим кадром является кадр номер n, поврежденным кадром, подлежащим интерполяции, является кадр n-1, и предпоследний кадр имеет номер n-2. Определение последовательности окна и формы окна поврежденного кадра следует из нижеприведенной таблицы:
Таблица 1: интерполированные последовательности окна и формы окна (используемые для некоторых декодеров семейства AAC и USAC)
Последовательность окна <i>n-2</i>
Последовательность окна <i>n</i>
Последовательность окна <i>n</i>-1
Форма окна <i>n</i>-1
ONLY_LONG_SEQUENCE или LONG_START_SEQUENCE или LONG_Stop_SEQUENCE
ONLY_LONG_SEQUENCE или LONG_START_SEQUENCE или LONG_Stop_SEQUENCE
ONLY_LONG_SEQUENCE
0
ONLY_LONG_SEQUENCE или LONG_START_SEQUENCE или LONG_Stop_SEQUENCE
EIGHT_SHORT_SEQUENCE
LONG_START_SEQUENCE
1
EIGHT_SHORT_SEQUENCE
EIGHT_SHORT_SEQUENCE
EIGHT_SHORT_SEQUENCE
1
EIGHT_SHORT_SEQUENCE
ONLY_LONG_SEQUENCE или LONG_START_SEQUENCE или LONG_Stop_SEQUENCE
LONG_Stop_SEQUENCE
0
Вычисляются энергии диапазона масштабного коэффициента кадров n-2 и n. Если последовательность окна в одном из этих кадров является EIGHT_SHORT_SEQUENCE, и окончательная последовательность окна для кадра n-1 является одной из длинных окон преобразования, энергии диапазона масштабного коэффициента вычисляются для диапазонов масштабного коэффициента длинного блока посредством отображения индекса частотной линии спектральных коэффициентов короткого блока в представление длинного блока. Новый интерполированный спектр строится посредством повторного использования масштабного коэффициента спектра более старого кадра n-2 на каждый спектральный коэффициент. Исключение делается в случае короткой последовательности окна в кадре n-2 и длинной последовательности окна в кадре n, здесь спектр фактического кадра n модифицируется коэффициентом интерполяции. Этот коэффициент постоянен в диапазоне каждого диапазона масштабного коэффициента и выводится из разностей энергии полосы масштабного коэффициента кадров n-2 и n. Наконец, знак интерполированных спектральных коэффициентов будет меняться случайным образом.
Полное ослабление занимает 5 кадров. Спектральные коэффициенты из последнего хорошего кадра копируются и ослабляются с коэффициентом:
где  - счетчик кадров после последнего хорошего кадра.
После 5 кадров ослабления маскирование переключается на заглушение, что означает, что полный спектр будет установлен на 0.
Декодер осуществляет ослабление при повторном приеме хороших кадров. Процесс ослабления также занимает 5 кадров, и коэффициент, умноженный на спектр, равен:
где  - счетчик кадров после первого хорошего кадра после маскирования нескольких кадров.
Недавно были представлены новые решения. В отношении этих систем, теперь можно копировать частотный бин сразу после декодирования последнего предыдущего хорошего кадра, и затем применять независимо другую обработку наподобие TNS и/или заполнения шумом.
Другие решения также могут использоваться в EVS или ELD.
Аудиодекодер согласно фиг. 2
На фиг. 2 показана блок-схема аудиодекодера 200, согласно варианту осуществления настоящего изобретения. Аудиодекодер 200 принимает кодированную аудиоинформацию 210, которая может, например, содержать аудиокадр, кодированный в представлении в частотной области. Кодированная аудиоинформация 210, в принципе, принимается по ненадежному каналу, благодаря чему, время от времени происходит потеря кадра. Также возможно, что кадр принимается или обнаруживается слишком поздно, или что обнаруживается битовая ошибка. Эти случаи имеют эффект потери кадра: кадр недоступен для декодирования. В ответ на одну из этих неудач, декодер может действовать в режиме маскирования. Аудиодекодер 200 дополнительно обеспечивает, на основе кодированной аудиоинформации 210, декодированную аудиоинформацию 212.
Аудиодекодер 200 может содержать декодирование/обработку 220, которая обеспечивает декодированную аудиоинформацию 222 на основе кодированной аудиоинформации в отсутствие потери кадра.
Аудиодекодер 200 дополнительно содержит маскирование 230 ошибок (которое можно реализовать посредством блока 100 маскирования ошибок), которая обеспечивает аудиоинформацию 232 маскирования ошибок. Маскирование 230 ошибок выполняется для обеспечения аудиоинформации 232 маскирования ошибок для маскирования потерь аудиокадра.
Другими словами, декодирование/обработка 220 может обеспечивать декодированную аудиоинформацию 222 для аудиокадров, кодированных в форме представления в частотной области, т.е. в форме кодированного представления, кодированные значения которых выражают интенсивности в разных частотных бинах. Другими словами, декодирование/обработка 220 может, например, содержать аудиодекодер частотной области, который выводит набор спектральных значений из кодированной аудиоинформации 210 и осуществляет преобразование из частотной области во временную область, чтобы, таким образом, выводить представление во временной области, которое образует декодированную аудиоинформацию 222 или образует основу для обеспечения декодированной аудиоинформации 222 в случае наличия дополнительной постобработки.
Кроме того, следует отметить, что аудиодекодер 200 может дополняться любым из признаков и функциональных возможностей, описанных в дальнейшем, по отдельности или совместно.
Аудиодекодер согласно фиг. 3
На фиг. 3 показана блок-схема аудиодекодера 300, согласно варианту осуществления изобретения.
Аудиодекодер 300 выполнен с возможностью приема кодированной аудиоинформации 310 и обеспечения, на ее основе, декодированной аудиоинформации 312. Аудиодекодер 300 содержит анализатор 320 битового потока (который также может именоваться как “блок разложения битового потокаʺ). Анализатор 320 битового потока принимает кодированную аудиоинформации 310 и обеспечивает, на ее основе, представление 322 в частотной области и, возможно, дополнительную информацию 324 управления. Представление 322 в частотной области может, например, содержать кодированные спектральные значения 326, кодированные масштабные коэффициенты (или представление LPC) 328 и, в необязательном порядке, дополнительную вспомогательную информацию 330, которая может, например, управлять конкретными этапами обработки, например, заполнением шумом, промежуточной обработкой или постобработкой. Аудиодекодер 300 также содержит декодирование 340 спектрального значения, которое выполняется для приема кодированных спектральных значений 326 и для обеспечения, на ее основе, набора декодированных спектральных значений 342. Аудиодекодер 300 также может содержать декодирование 350 масштабного коэффициента, которое может быть выполняется для приема кодированных масштабных коэффициентов 328 и обеспечения, на их основе, набора декодированных масштабных коэффициентов 352.
Альтернативно декодированию масштабного коэффициента, преобразование 354 LPC в масштабный коэффициент может использоваться, например, в случае, когда кодированная аудиоинформация содержит кодированную информацию LPC вместо информации о масштабных коэффициентах. Однако, в некоторых режимах кодирования (например, в режиме декодирования TCX аудиодекодера USAC или в аудиодекодере EVS) набор коэффициентов LPC может использоваться для вывода набора масштабных коэффициентов на стороне аудиодекодера. Эта функциональная возможность может достигаться преобразованием 354 LPC в масштабный коэффициент.
Аудиодекодер 300 также может содержать блок 360 масштабирования, который может быть выполнен с возможностью применения набора масштабированных коэффициентов 352 к набору спектральных значений 342, для получения, таким образом, набора масштабированных декодированных спектральных значений 362. Например, первая полоса частот, содержащая несколько декодированных спектральных значений 342, может масштабироваться с использованием первого масштабного коэффициента, и второй полоса частот, содержащая несколько декодированных спектральных значений 342, может масштабироваться с использованием второго масштабного коэффициента. Соответственно, получается набор масштабированных декодированных спектральных значений 362. Аудиодекодер 300 может дополнительно содержать необязательную обработку 366, которая может применять некоторую обработку к масштабированным декодированным спектральным значениям 362. Например, необязательная обработка 366 может содержать заполнение шумом или некоторые другие операции.
Аудиодекодер 300 также может содержать преобразование 370 из частотной области во временную область, которое выполняется для приема масштабированных декодированных спектральных значений 362, или их обработанной версии 368, и для обеспечения представления 372 во временной области, связанного с набором масштабированных декодированных спектральных значений 362. Например, преобразование 370 из частотной области во временную область может обеспечивать представление 372 во временной области, которое связано с кадром или подкадром аудиоконтента. Например, преобразование из частотной области во временную область может принимать набор коэффициентов MDCT (которые можно рассматривать как масштабированные декодированные спектральные значения) и обеспечивать, на ее основе, блок выборок во временной области, который может образовывать представление 372 во временной области.
Аудиодекодер 300 может, в необязательном порядке, содержать постобработку 376, которая может принимать представление 372 во временной области и несколько модифицировать представление 372 во временной области, чтобы, таким образом, получать постобработанную версию 378 представления 372 во временной области.
Аудиодекодер 300 также содержит маскирование 380 ошибок, которое принимает представление 372 во временной области из преобразования 370 из частотной области во временную область и масштабированные декодированные спектральные значения 362 (или их обработанную версию 368). Дополнительно, маскирование 380 ошибок обеспечивает аудиоинформацию 382 маскирования ошибок для одного или более потерянных аудиокадров. Другими словами, в случае потери аудиокадра, вследствие чего, например, кодированные спектральные значения 326 для упомянутого аудиокадра (или подкадра аудиосигнала) недоступны, маскирование 380 ошибок может обеспечивать аудиоинформацию маскирования ошибок на основе представления 372 во временной области, связанного с одним или более аудиокадрами, предшествующими потерянному аудиокадру, и масштабированных декодированных спектральных значений 362 (или их обработанной версии 368). Аудиоинформация маскирования ошибок обычно может быть представлением во временной области аудиоконтента.
Следует отметить, что маскирование 380 ошибок может, например, осуществлять функциональную возможность блока 100 маскирования ошибок и/или вышеописанное маскирование 230 ошибок.
В отношении маскирования ошибок, следует отметить, что маскирование ошибок не происходит одновременно с декодированием кадра. Например, если кадр n является хорошим, то осуществляется нормальное декодирование, и в конце сохраняется некоторая переменная, которая будет помогать, если нужно замаскировать следующий кадр, то, в случае потери кадра n+1 вызывается функция маскирования, дающая переменную, поступающую из предыдущего хорошего кадра. Некоторые переменные также будут обновляться для помощи при потере следующего кадра или после восстановления до следующего хорошего кадра.
Аудиодекодер 300 также содержит комбинацию 390 сигналов, которая выполнена с возможностью приема представления 372 во временной области (или постобработанного представления 378 во временной области в случае наличия постобработки 376). Кроме того, комбинация 390 сигналов может принимать аудиоинформацию 382 маскирования ошибок, которая обычно также является представлением во временной области аудиосигнала маскирования ошибок, обеспеченного для потерянного аудиокадра. Комбинация 390 сигналов может, например, объединять представления во временной области, связанные с последующими аудиокадрами. В случае, когда существуют последующие надлежащим образом декодированные аудиокадры, комбинация 390 сигналов может объединять (например, посредством добавления с перекрытием) представления во временной области, связанные с этими последующими надлежащим образом декодированными аудиокадрами. Однако в случае потери аудиокадра, комбинация 390 сигналов может объединять (например, посредством добавления с перекрытием) представление во временной области, связанное с надлежащим образом декодированным аудиокадром, предшествующим потерянному аудиокадру, и аудиоинформацию маскирования ошибок, связанную с потерянным аудиокадром, чтобы, таким образом, иметь плавный переход между надлежащим образом принятым аудиокадром и потерянным аудиокадром. Аналогично, комбинация 390 сигналов может быть выполнена с возможностью объединения (например, добавления с перекрытием) аудиоинформации маскирования ошибок, связанной с потерянным аудиокадром, и представления во временной области, связанного с другим надлежащим образом декодированным аудиокадром, следующим за потерянным аудиокадром (или другой аудиоинформации маскирования ошибок, связанной с другим потерянным аудиокадром в случае потери нескольких последовательных аудиокадров).
Соответственно, комбинация 390 сигналов может обеспечивать декодированную аудиоинформацию 312, благодаря чему, представление 372 во временной области или его постобработанная версия 378, обеспечивается для надлежащим образом декодированных аудиокадров, и благодаря чему аудиоинформация 382 маскирования ошибок обеспечивается для потерянных аудиокадров, причем операция добавления с перекрытием обычно осуществляется между аудиоинформацией (независимо от того, обеспечивается ли она преобразованием 370 из частотной области во временную область или маскированием 380 ошибок) последующих аудиокадров. Поскольку некоторые кодеки имеют некоторое наложение спектров в части перекрытия и добавления, которую необходимо отменить, в необязательном порядке можно создавать некоторое искусственное наложение спектров на половине кадра, созданного для осуществления добавления с перекрытием.
Следует отметить, что функциональная возможность аудиодекодера 300 аналогична функциональной возможности аудиодекодера 200 согласно фиг. 2. Кроме того, следует отметить, что аудиодекодер 300 согласно фиг. 3 может дополняться любым из признаков и функциональных возможностей, описанных здесь. В частности, маскирование 380 ошибок может дополняться любым из признаков и функциональных возможностей, описанных здесь в отношении маскирования ошибок.
Аудиодекодер 400 согласно фиг. 4
На фиг. 4 показан аудиодекодер 400 согласно другому варианту осуществления настоящего изобретения.
Аудиодекодер 400 выполнен с возможностью приема кодированной аудиоинформации и обеспечения, на ее основе, декодированной аудиоинформации 412. Аудиодекодер 400 может, например, быть выполнен с возможностью приема кодированной аудиоинформации 410, причем разные аудиокадры кодируются с использованием разных режимов кодирования. Например, аудиодекодер 400 можно рассматривать как многорежимный аудиодекодер или ʺпереключающийсяʺ аудиодекодер. Например, некоторые из аудиокадров могут кодироваться с использованием представления в частотной области, причем кодированная аудиоинформация содержит кодированное представление спектральных значений (например, значения FFT или значения MDCT) и масштабные коэффициенты, представляющие масштабирование разных полос частот. Кроме того, кодированная аудиоинформация 410 также может содержать ʺпредставление во временной областиʺ аудиокадров или ʺпредставление в области кодирования с линейным предсказаниемʺ нескольких аудиокадров. ʺПредставление в области кодирования с линейным предсказаниемʺ (также кратко обозначенное как ʺпредставление LPCʺ) может, например, содержать кодированное представление сигнала возбуждения, и кодированное представление параметров LPC (параметры кодирования с линейным предсказанием), где параметры кодирования с линейным предсказанием описывают, например, синтезирующий фильтр кодирования с линейным предсказанием, который используется для реконструкции аудиосигнала на основе сигнала возбуждения временной области.
Далее будут описаны некоторые детали аудиодекодера 400.
Аудиодекодер 400 содержит анализатор 420 битового потока, который может, например, анализировать кодированную аудиоинформацию 410 и извлекать из кодированной аудиоинформации 410 представление 422 в частотной области, содержащее, например, кодированные спектральные значения, кодированные масштабные коэффициенты и, в необязательном порядке, дополнительную вспомогательную информацию. Анализатор 420 битового потока также может быть выполнен с возможностью извлечения представление 424 в области кодирования с линейным предсказанием, которое может, например, содержать кодированное возбуждение 426 и кодированные коэффициенты 428 линейного предсказания (которые также могут рассматриваться как кодированные параметры линейного предсказания). Кроме того, анализатор битового потока может, в необязательном порядке, извлекать дополнительную вспомогательную информацию, которая может использоваться для управления дополнительными этапами обработки, из кодированной аудиоинформации.
Аудиодекодер 400 содержит тракт 430 декодирования в частотной области, который может быть, например, по существу, идентичен тракту декодирования аудиодекодера 300 согласно фиг. 3. Другими словами, тракт 430 декодирования в частотной области может содержать декодирование 340 спектрального значения, декодирование 350 масштабного коэффициента, блок 360 масштабирования, необязательную обработку 366, преобразование 370 из частотной области во временную область, необязательную постобработку 376 и маскирование 380 ошибок, как описано выше согласно фиг. 3.
Аудиодекодер 400 также может содержать тракт 440 декодирования в области линейного предсказания (который также может рассматриваться как тракт декодирования во временной области, поскольку синтез LPC осуществляется во временной области). Тракт декодирования в области линейного предсказания содержит декодирование 450 возбуждения, которое принимает кодированное возбуждение 426, обеспеченное анализатором 420 битового потока и обеспечивает, на ее основе, декодированное возбуждение 452 (которое может принимать форму декодированного сигнала возбуждения временной области). Например, декодирование 450 возбуждения может принимать кодированную информацию возбуждения, кодированного преобразованием, и может обеспечивать, на ее основе, декодированный сигнал возбуждения временной области. Однако, альтернативно или дополнительно, декодирование 450 возбуждения может принимать кодированное возбуждение ACELP, и может обеспечивать декодированный сигнал 452 возбуждения временной области на основе упомянутой информации кодированного возбуждения ACELP.
Следует отметить, что существуют разные варианты для декодирования возбуждения. Обратимся, например, к соответствующим стандартам и публикациям, задающим принципы кодирования CELP, принципы кодирования ACELP, модификации принципов кодирования CELP и принципов кодирования ACELP и принцип кодирования TCX.
Тракт 440 декодирования в области линейного предсказания в необязательном порядке содержит обработку 454, в которой обработанный сигнал 456 возбуждения временной области выводится из сигнала 452 возбуждения временной области.
Тракт 440 декодирования в области линейного предсказания также содержит декодирование 460 коэффициентов линейного предсказания, которое выполняется для приема кодированных коэффициентов линейного предсказания и для обеспечения, на их основе, декодированных коэффициентов 462 линейного предсказания. Декодирование 460 коэффициентов линейного предсказания может использовать разные представления коэффициента линейного предсказания в качестве входной информации 428 и может обеспечивать разные представления декодированных коэффициентов линейного предсказания в качестве выходной информации 462. За подробностями можно обратиться к различным документам стандартов, в которых описано кодирование и/или декодирование коэффициентов линейного предсказания.
Тракт 440 декодирования в области линейного предсказания в необязательном порядке содержит обработку 464, которая может обрабатывать декодированные коэффициенты линейного предсказания и обеспечивать их обработанную версию 466.
Тракт 440 декодирования в области линейного предсказания также содержит синтез 470 LPC (синтез кодирования с линейным предсказанием), который выполняется для приема декодированного возбуждения 452, или его обработанной версии 456, и декодированных коэффициентов 462 линейного предсказания, или их обработанной версии 466, и для обеспечения декодированного аудиосигнала 472 во временной области. Например, синтез 470 LPC может выполняться для применения фильтрации, которая задается декодированными коэффициентами 462 линейного предсказания (или их обработанной версией 466) к декодированному сигналу 452 возбуждения временной области, или его обработанной версии, благодаря чему, декодированный аудиосигнал 472 во временной области получается посредством фильтрации (фильтрации посредством синтеза) сигнала 452 возбуждения временной области (или 456). Тракт 440 декодирования в области линейного предсказания может, в необязательном порядке, содержать постобработку 474, которая может использоваться для уточнения или регулировки характеристик декодированного аудиосигнала 472 во временной области.
Тракт 440 декодирования в области линейного предсказания также содержит маскирование 480 ошибок, которое выполняется для приема декодированных коэффициентов 462 линейного предсказания (или их обработанной версии 466) и декодированного сигнала 452 возбуждения временной области (или его обработанной версии 456). Маскирование 480 ошибок может, в необязательном порядке принимать дополнительную информацию, например, информацию основного тона. В результате, маскирование 480 ошибок может обеспечивать аудиоинформацию маскирования ошибок, которая может быть в форме аудиосигнала во временной области, в случае потери кадра (или подкадра) кодированной аудиоинформации 410. Таким образом, маскирование 480 ошибок может обеспечивать аудиоинформацию 482 маскирования ошибок, благодаря чему, характеристики аудиоинформации 482 маскирования ошибок существенно адаптируются к характеристикам последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру. Следует отметить, что маскирование 480 ошибок может содержать любой из признаков и функциональных возможностей, описанных в отношении маскирования 100 и/или 230 и/или 380 ошибок. Кроме того, следует отметить, что маскирование 480 ошибок также может содержать любой из признаков и функциональных возможностей, описанных в отношении маскирования во временной области на фиг. 6.
Аудиодекодер 400 также содержит объединитель сигналов (или комбинацию 490 сигналов), который выполнен с возможностью приема декодированного аудиосигнала 372 во временной области (или его постобработанной версии 378), аудиоинформации 382 маскирования ошибок, обеспеченной посредством маскирования 380 ошибок, декодированного аудиосигнала 472 во временной области (или его постобработанной версии 476) и аудиоинформации 482 маскирования ошибок, обеспеченной посредством маскирования 480 ошибок. Объединитель 490 сигналов может быть выполнен с возможностью объединения упомянутых сигналов 372 (или 378), 382, 472 (или 476) и 482 для получения, таким образом, декодированной аудиоинформации 412. В частности, операция добавления с перекрытием может применяться объединителем 490 сигналов. Соответственно, объединитель 490 сигналов может обеспечивать плавные переходы между последовательными аудиокадрами для которых аудиосигнал во временной области обеспечивается разными сущностями (например, разными трактами 430, 440 декодирования). Однако объединитель 490 сигналов также может обеспечивать плавные переходы, если аудиосигнал во временной области обеспечивается той же сущностью (например, преобразованием 370 из частотной области во временную область или синтезом 470 LPC) для последовательных кадров. Поскольку некоторые кодеки имеют некоторое наложение спектров в части перекрытия и добавления, которую необходимо отменить, в необязательном порядке можно создавать некоторое искусственное наложение спектров на половине кадра, созданного для осуществления добавления с перекрытием. Другими словами, может, в необязательном порядке, использоваться искусственная компенсация наложения спектров во временной области (TDAC).
Кроме того, объединитель 490 сигналов может обеспечивать плавные переходы к и от кадров, для которых обеспечивается аудиоинформация маскирования ошибок (которая обычно также является аудиосигналом во временной области).
В итоге, аудиодекодер 400 позволяет декодировать аудиокадры, которые кодируются в частотной области, и аудиокадры, которые кодируются в области линейного предсказания. В частности, можно переключаться между использованием тракта декодирования в частотной области и использованием тракта декодирования в области линейного предсказания в зависимости от характеристик сигнала (например, с использованием информации сигнализации, обеспеченной аудиокодером). Различные типы маскирования ошибок могут использоваться для обеспечения аудиоинформации маскирования ошибок в случае потери кадра, в зависимости от того, был ли последний надлежащим образом декодированный аудиокадр кодирован в частотной области (или, эквивалентно, в представлении в частотной области), или во временной области (или, эквивалентно, в представлении во временной области, или, эквивалентно, в области линейного предсказания, или, эквивалентно, в представлении в области линейного предсказания).
Маскирование во временной области согласно фиг. 5
На фиг. 5 показана блок-схема маскирования ошибок во временной области согласно варианту осуществления настоящего изобретения. Маскирование ошибок согласно фиг. 5 обозначено в целом как 500 и может воплощать маскирование 106 во временной области на фиг. 1. Однако понижающая дискретизация, которая может использоваться на входе маскирования во временной области (например, применительно к сигналу 510), и повышающая дискретизация, которая может использоваться на выходе маскирования во временной области, и также может применяться низкочастотная фильтрация, хотя для простоты она не показана на фиг. 5.
Маскирование 500 ошибок во временной области выполняется для приема аудиосигнала 510 во временной области (который может быть низкочастотным диапазоном сигнала 101) и для обеспечения, на его основе, компонента 512 аудиоинформации маскирования ошибок, который принимает форму аудиосигнала во временной области (например, сигнала 104), который можно использовать для обеспечения второго компонента аудиоинформации маскирования ошибок.
Маскирование 500 ошибок содержит предварительное выделение 520, которое можно рассматривать как необязательное. Предварительное выделение принимает аудиосигнал во временной области и обеспечивает, на его основе, предварительно выделенный аудиосигнал 522 во временной области.
Маскирование 500 ошибок также содержит анализ 530 LPC, который выполняется для приема аудиосигнала 510 во временной области, или его предварительно выделенной версии 522, и для получения информации 532 LPC, которая может содержать набор параметров 532 LPC. Например, информация LPC может содержать набор коэффициентов фильтрации LPC (или его представление) и сигнал возбуждения временной области (который адаптирован для возбуждения фильтра с синтезом LPC, выполняемого, в соответствии с коэффициентами фильтрации LPC, для реконструкции, по меньшей мере, приблизительной, входного сигнала анализа LPC).
Маскирование 500 ошибок также содержит поиск 540 основного тона, который выполняется для получения информации основного тона 542, например, на основе ранее декодированного аудиокадра.
Маскирование 500 ошибок также содержит экстраполяцию 550, которая может выполняться для получения экстраполированного сигнала возбуждения временной области на основе результата анализа LPC (например, на основе сигнала возбуждения временной области, определенного посредством анализа LPC), и, возможно, на основе результата поиска основного тона.
Маскирование 500 ошибок также содержит генерацию 560 шума, которая обеспечивает шумовой сигнал 562. Маскирование 500 ошибок также содержит объединитель/микшер 570, который выполнен с возможностью приема экстраполированного сигнала 552 возбуждения временной области и шумового сигнала 562, и обеспечения, на их основе, объединенного сигнала 572 возбуждения временной области. Объединитель/микшер 570 может быть выполнен с возможностью объединения экстраполированного сигнала 552 возбуждения временной области и шумового сигнала 562, в которых может осуществляться ослабление, благодаря чему, относительный вклад экстраполированного сигнала 552 возбуждения временной области (который определяет детерминистический компонент входного сигнала синтеза LPC) уменьшается со временем, тогда как относительный вклад шумового сигнала 562 увеличивается со временем. Однако также возможна другая функциональная возможность объединителя/микшера. Также обратимся к нижеследующему описанию.
Маскирование 500 ошибок также содержит синтез 580 LPC, который принимает объединенный сигнал 572 возбуждения временной области и который обеспечивает аудиосигнал 582 во временной области на ее основе. Например, синтез LPC также может принимать коэффициенты фильтрации LPC, описывающие фильтр формирования LPC, который применяется к объединенному сигналу 572 возбуждения временной области, для вывода аудиосигнала 582 во временной области. Синтез 580 LPC может, например, использовать коэффициенты LPC, полученные на основе одного или более ранее декодированных аудиокадров (например, обеспеченных посредством анализа 530 LPC).
Маскирование 500 ошибок также содержит снятие 584 выделения, которое можно рассматривать как необязательное. Снятие 584 выделения может обеспечивать аудиосигнал 586 маскирования ошибок во временной области со снятым выделением.
Маскирование 500 ошибок также содержит, в необязательном порядке, добавление с перекрытием 590, которое осуществляет операцию добавления с перекрытием аудиосигналов во временной области, связанных с последовательными кадрами (или подкадрами). Однако, следует отметить, что добавление с перекрытием 590 следует рассматривать как необязательное, поскольку маскирование ошибок также может использовать комбинацию сигналов, которая уже обеспечена в окружении аудиодекодера.
Далее будут описаны некоторые дополнительные детали в отношении маскирования 500 ошибок.
Маскирование 500 ошибок согласно фиг. 5 охватывает контекст кодека области преобразования в качестве AAC_LC или AAC_ELD. Другими словами, маскирование 500 ошибок хорошо адаптировано для использования в таком кодеке области преобразования (и, в частности, в таком аудиодекодере области преобразования). В случае только кодека преобразования (например, в отсутствие тракта декодирования в области линейного предсказания), выходной сигнал из последнего кадра используется в качестве начальной точки. Например, аудиосигнал 372 во временной области может использоваться в качестве начальной точки для маскирования ошибок. Предпочтительно, сигнал возбуждения недоступен, только выходной сигнал во временной области из (одного или более) предыдущих кадров (как, например, аудиосигнал 372 во временной области).
В дальнейшем будут более подробно описаны подблоки и функциональные возможности маскирования 500 ошибок.
Анализ LPC
Согласно варианту осуществления согласно фиг. 5, все маскирование осуществляется в области возбуждения для получения более плавного перехода между последовательными кадрами. Таким образом, необходимо сначала найти (или, в более общем случае, получить) правильный набор параметров LPC. Согласно варианту осуществления согласно фиг. 5, анализ 530 LPC осуществляется на предыдущем предварительно выделенном сигнале 522 во временной области. Параметры LPC (или коэффициенты фильтрации LPC) используются для осуществления анализа LPC предыдущего сигнала синтеза (например, на основе аудиосигнала 510 во временной области, или на основе предварительно выделенного аудиосигнала 522 во временной области) для получения сигнала возбуждения (например, сигнала возбуждения временной области).
Поиск основного тона
Существуют разные подходы для получения основного тона, подлежащего использованию для построения нового сигнала (например, аудиоинформации маскирования ошибок).
В контексте кодека с использованием фильтра LTP (фильтра долгосрочного предсказания), например AAC-LTP, если последним кадром был AAC с LTP, используется это последнее принятое отставание основного тона LTP и соответствующий коэффициент усиления для генерации гармонической части. В этом случае, коэффициент усиления используется для принятия решения, строить ли гармоническую часть в сигнале, или нет. Например, если коэффициент усиления LTP выше 0,6 (или любого другого заранее определенного значения), то информация LTP используется для построения гармонической части.
Если из предыдущего кадра нельзя извлечь информацию основного тона, то существует, например, два решения, которые будут описаны в дальнейшем.
Например, можно осуществлять поиск основного тона на кодере и передавать в битовом потоке отставание основного тона и коэффициент усиления. Это аналогично LTP, но не применяется никакой фильтрации (также никакой фильтрации LTP в чистом канале).
Альтернативно, можно осуществлять поиск основного тона на декодере. Поиск основного тона AMR-WB в случае TCX осуществляется в области FFT. В ELD, например, если область MDCT использовалась, то фазы будут пропущены. Таким образом, поиск основного тона, предпочтительно, осуществляется напрямую в области возбуждения. Это дает лучшие результаты, чем осуществление поиска основного тона в области синтеза. Поиск основного тона в области возбуждения осуществляется сначала по разомкнутому контуру посредством нормализованной взаимной корреляции. Затем, в необязательном порядке, поиск основного тона уточняется посредством осуществления поиска по замкнутому контуру вокруг основного тона разомкнутого контура с определенной дельтой. Вследствие ограничений вырезания ELD, можно найти неправильный основной тон, таким образом также проверяется правильность найденного основного тона, который в противном случае отвергается.
В итоге, основной тон последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру можно рассматривать при обеспечении аудиоинформации маскирования ошибок. В ряде случаев, информация основного тона доступна из декодирования предыдущего кадра (т.е. последнего кадра, предшествующего потерянному аудиокадру). В этом случае, этот основной тон можно повторно использовать (возможно с некоторой экстраполяцией и учетом изменения основного тона со временем). Можно также, в необязательном порядке, повторно использовать основной тон более одного предыдущего кадра, чтобы попытаться экстраполировать или предсказать основной тон, который нужен в конце нашего замаскированного кадра.
Также, при наличии информации (например, обозначенной как коэффициент усиления долгосрочного предсказания), которая описывает интенсивность (или относительную интенсивность) детерминистического (например, по меньшей мере, приблизительно периодический) компонента сигнала, это значение можно использовать для принятия решения, следует ли включать детерминистический (или гармонический) компонент в аудиоинформацию маскирования ошибок. Другими словами, посредством сравнения упомянутого значения (например, коэффициента усиления LTP) с заранее определенным пороговым значением, можно решать, следует ли рассматривать сигнал возбуждения временной области, выведенный из ранее декодированного аудиокадра для обеспечения аудиоинформации маскирования ошибок.
Если не существует информации основного тона, доступной из предыдущего кадра (или, точнее, из декодирования предыдущего кадра), существуют разные варианты. Информация основного тона может передаваться от аудиокодера на аудиодекодер, что упростит аудиодекодер, но создаст издержки битовой скорости. Альтернативно, информация основного тона может определяться на аудиодекодере, например, в области возбуждения, т.е. на основе сигнала возбуждения временной области. Например, сигнал возбуждения временной области, выведенный из предыдущего, надлежащим образом декодированного аудиокадра, может оцениваться для идентификации информации основного тона, подлежащей использованию для обеспечения аудиоинформации маскирования ошибок.
Экстраполяция возбуждения или создание гармонической части
Возбуждение (например, сигнал возбуждения временной области), полученное из предыдущего кадра (либо только что вычисленное для потерянного кадра, либо уже сохраненного в предыдущем потерянном кадре для потери нескольких кадров), используется для построения гармонической части (также обозначенный в качестве детерминистического компонента или приблизительно периодического компонента) в возбуждении (например, во входном сигнале синтеза LPC) посредством копирования последнего цикла основного тона столько раз, сколько необходимо для получения полутора кадра. Для упрощения можно также создавать полтора кадра только для первой потери кадра и затем сдвигать обработку для последующей потери кадра на половину кадра и создавать каждый раз только один кадр. Тогда всегда обеспечивается доступ к половине кадра перекрытия.
В случае первого потерянного кадра после хорошего кадра (т.е. надлежащим образом декодированного кадра), первый цикл основного тона (например, сигнала возбуждения временной области, полученного на основе последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру) подвергается низкочастотной фильтрации посредством фильтра, зависящего от частоты дискретизации (поскольку ELD покрывает действительно широкую комбинацию частоты дискретизации - от ядра AAC-ELD к AAC-ELD с SBR или AAC-ELD с SBR двойной скорости).
Основной тон в речевом сигнале почти всегда изменяется. Таким образом, представленное выше маскирование способствует возникновению некоторых проблем (или, по меньшей мере, искажений) при восстановлении, поскольку основной тон в конце замаскированного сигнала (т.е. в конце аудиоинформации маскирования ошибок) часто не совпадает с основным тоном первого хорошего кадра. Таким образом, в необязательном порядке, в некоторых вариантах осуществления предпринимается попытка предсказать, что основной тон в конце замаскированного кадра совпадает с основным тоном в начале кадра восстановления. Например, предсказывается основной тон в конце потерянного кадра (который считается замаскированным кадром), причем целью предсказания является установление основного тона в конце потерянного кадра (замаскированного кадра) для аппроксимации основного тона в начале первого надлежащим образом декодированного кадра, следующего за одним или более потерянными кадрами (причем первый надлежащим образом декодированный кадр также именуется ʺкадром восстановленияʺ). Это может осуществляться в ходе потери кадра или в ходе первого хорошего кадра (т.е. в ходе первого надлежащим образом принятого кадра). Для получения еще лучших результатов, можно, в необязательном порядке, повторно использовать и адаптировать некоторые традиционные инструменты, например, предсказание основного тона и ресинхронизация импульсов. За подробностями, обратимся, например, к [4] и [5].
Если долгосрочное предсказание (LTP) используется в кодеке частотной области, можно использовать отставание в качестве начальной информации об основном тоне. Однако, в некоторых вариантах осуществления, также желательно иметь более высокую гранулярность, чтобы иметь возможность лучше отслеживать контур основного тона. Таким образом, предпочтительно осуществлять поиск основного тона в начале и в конце последнего хорошего (надлежащим образом декодированного) кадра. Для адаптации сигнала к перемещению основного тона, желательно использовать ресинхронизацию импульсов, которая присутствует в уровне техники.
Коэффициент усиления
основного тона
В некоторых вариантах осуществления, предпочтительно применять коэффициент усиления на ранее полученном возбуждении для достижения желаемого уровня. ʺКоэффициент усиления основного тонаʺ (например, коэффициент усиления детерминистического компонента сигнала возбуждения временной области, т.е. коэффициент усиления, применяемый к сигналу возбуждения временной области, выведенному из ранее декодированного аудиокадра, для получения входного сигнала синтеза LPC), может получаться, например, посредством осуществления нормализованной корреляции во временной области в конце последнего хорошего (например, надлежащим образом декодированного) кадра. Длина корреляции может быть эквивалентна длине двух подкадров, или может адаптивно изменяться. Задержка эквивалентна отставанию основного тона, используемому для создания гармонической части. Также в необязательном порядке можно осуществлять вычисление коэффициента усиления только на первом потерянном кадре и затем только применять снижение (сниженный коэффициент усиления) для следующей последовательной потери кадра.
ʺКоэффициент усиления основного тонаʺ будет определять величину тональности (или количество детерминистических, по меньшей мере, приблизительно периодических компонентов сигнала) которая будет создана. Однако желательно добавлять некоторый сформированный шум, чтобы иметь не только искусственный тон. Если получается очень низкий коэффициент усиления основного тона, строится сигнал, состоящий только из сформированного шума.
В итоге, в ряде случаев сигнал возбуждения временной области, полученный, например, на основе ранее декодированного аудиокадра, масштабируется в зависимости от коэффициента усиления (например, для получения входного сигнала для анализа LPC). Соответственно, поскольку сигнал возбуждения временной области определяет детерминистический (по меньшей мере, приблизительно периодический) компонент сигнала, коэффициент усиления может определять относительную интенсивность упомянутых детерминистических (по меньшей мере, приблизительно периодических) компонентов сигнала в аудиоинформации маскирования ошибок. Кроме того, аудиоинформация маскирования ошибок могут базироваться на шуме, который также формируется посредством синтеза LPC, благодаря чему, полная энергия аудиоинформации маскирования ошибок адаптируется, по меньшей мере, до некоторой степени, к надлежащим образом декодированному аудиокадру, предшествующему потерянному аудиокадру и, в идеале, также к надлежащим образом декодированному аудиокадру, следующему за одним или более потерянными аудиокадрами.
Создание шумовой части
ʺИнновацияʺ создается генератором белого шума. Этот шум, в необязательном порядке, дополнительно подвергается высокочастотной фильтрации и, в необязательном порядке, предварительно выделяется для вокализованных и атаковых кадров. Что касается низких частот гармонической части, этот фильтр (например, высокочастотный фильтр) зависит от частоты дискретизации. Этот шум (который обеспечивается, например, посредством генерации 560 шума) будет формироваться посредством LPC (например, посредством синтеза 580 LPC) для максимального приближения к фоновому шуму. Высокочастотная характеристика также, в необязательном порядке, изменяется в последовательной потере кадра, благодаря чему, после определенного объема потери кадра больше не существует фильтрации только для получения шума, сформированного в полной полосе для получения комфортного шума, замкнутого на фоновый шум.
Коэффициент усиления инновации (который может, например, определять коэффициент 562 усиления шума в комбинации/ослаблении 570, т.е. коэффициент усиления с использованием которого шумовой сигнал 562 включается в входной сигнал 572 синтеза LPC), вычисляется, например, посредством удаления ранее вычисленного вклада основного тона (если он существует) (например, масштабированной версии, масштабированной с использованием ʺкоэффициент усиления основного тонаʺ, сигнала возбуждения временной области, полученного на основе последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру) и осуществления корреляции в конце последнего хорошего кадра. Что касается коэффициента усиления основного тона, это может осуществляться в необязательном порядке только на первом потерянном кадре с последующим ослаблением, но в этом случае ослабление может либо доходить до 0, что приводит к полному заглушению, либо к оцененному уровню шума, присутствующему в фоне. Длина корреляции, например, эквивалентна длине двух подкадров, и задержка эквивалентна отставанию основного тона, используемому для создания гармонической части.
В необязательном порядке, этот коэффициент усиления также умножается на (1-ʺкоэффициент усиления основного тонаʺ) для применения максимального коэффициента усиления к шуму для достижения пропуска энергии, если коэффициент усиления основного тона не равен единице. В необязательном порядке, этот коэффициент усиления также умножается на коэффициент шума. Этот коэффициент шума поступает, например, из предыдущего пригодного кадра (например, из последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру).
Ослабление
Ослабление, по большей части, используется для потери нескольких кадров. Однако ослабление также может использоваться в случае, когда теряется один-единственный аудиокадр.
В случае потери нескольких кадров, параметры LPC повторно не вычисляются. Либо остается последний вычисленный, либо маскирование LPC осуществляется посредством схождения к форме фона. В этом случае, периодичность сигнала сходится к нулю. Например, сигнал 552 возбуждения временной области, полученный на основе одного или более аудиокадров, предшествующих потерянному аудиокадру все еще использует коэффициент усиления, который постепенно снижается со временем, тогда как шумовой сигнал 562 остается постоянным или масштабируется с коэффициентом усиления, который постепенно возрастает со временем, благодаря чему, относительный весовой коэффициент сигнала 552 возбуждения временной области снижается со временем по сравнению с относительным весовым коэффициентом шумового сигнала 562. В результате, входной сигнал 572 синтеза 580 LPC становится все более и более ʺшумоподобнымʺ. В результате, ʺпериодичностьʺ (или, точнее, детерминистический, или, по меньшей мере, приблизительно периодический компонент выходного сигнала 582 синтеза 580 LPC) снижается со временем.
Скорость схождения согласно которому периодичность сигнала 572 и/или периодичность сигнала 582 сходится к 0, зависит от параметров последнего правильно принятого (или надлежащим образом декодированного) кадра и/или количества последовательных стертых кадров, и управляется коэффициентом ослабления α. Коэффициент α дополнительно зависит от устойчивости фильтра LP. В необязательном порядке, можно изменять коэффициент α по отношению к длине основного тона. Если основной тон (например, длина периода, связанная с основным тоном) действительно является длинным, α остается ʺнормальнымʺ, но если основной тон действительно является коротким, обычно необходимо копировать много раз одну и ту же часть предыдущего возбуждения. Это будет быстро звучать слишком искусственно, и, таким образом предпочтительно быстрее ослаблять этот сигнал.
Дополнительно в необязательном порядке, при наличии, можно учитывать выход предсказания основного тона. Если предсказывается основной тон, это означает, что основной тон уже изменялся в предыдущем кадре, и тогда, чем больше кадров мы теряем, тем дальше мы от истины. Таким образом, в этом случае предпочтительно немного ускорять ослабление тональной части.
Если предсказание основного тона не удается, поскольку основной тон изменяется слишком сильно, это означает, либо что значения основного тона не являются действительно надежными, либо что сигнал действительно является непредсказуемым. Таким образом, повторно, предпочтительно ослаблять более быстрый (например, быстрее ослаблять сигнал 552 возбуждения временной области, полученный на основе одного или более надлежащим образом декодированных аудиокадров, предшествующих одному или более потерянным аудиокадрам).
Синтез LPC
Для возврата во временную область, предпочтительно осуществлять синтез 580 LPC на суммировании двух возбуждений (тональной части и зашумленной части), сопровождаемый снятием выделения. Другими словами, предпочтительно осуществлять синтез 580 LPC на основе взвешенной комбинации сигнала 552 возбуждения временной области, полученного на основе одного или более надлежащим образом декодированных аудиокадров, предшествующих потерянному аудиокадру (тональной части) и шумового сигнала 562 (зашумленной части). Как упомянуто выше, сигнал 552 возбуждения временной области можно модифицировать по сравнению с сигналом 532 возбуждения временной области, полученным посредством анализа 530 LPC (помимо коэффициентов LPC, описывающих характеристику фильтра с синтезом LPC, используемого для синтеза 580 LPC). Например, сигнал 552 возбуждения временной области может быть масштабированной по времени копией сигнала 532 возбуждения временной области, полученного посредством анализа 530 LPC, причем масштабирование по времени может использоваться для адаптации основного тона сигнала 552 возбуждения временной области к желаемому основному тону.
Добавление с перекрытием
В случае только кодека преобразования, для получения наилучшего перекрытия с добавлением создается искусственный сигнал для половины кадра более чем замаскированный кадр, и на нем создается искусственное наложение спектров. Однако можно применять другие принципы перекрытия с добавлением.
В контексте регулярного AAC или TCX, добавление с перекрытием применяется между дополнительной половиной кадра, поступающей из маскирования, и первой частью первого хорошего кадра (может быть половина или менее для окон более низкой задержки, как AAC-LD).
В особом случае ELD (сверхнизкой задержки), для первого потерянного кадра, предпочтительно выполнять анализ три раза для получения правильного вклада из трех последних окон и затем для первого кадра маскирования и всех последующих анализ выполняется еще раз. Затем один синтез ELD осуществляется для возврата во временную область со всей правильной памятью для следующего кадра в области MDCT.
В итоге, входной сигнал 572 синтеза 580 LPC (и/или сигнал 552 возбуждения временной области) может обеспечиваться в течение временной длительности, которая длиннее, чем длительность потерянного аудиокадра. Соответственно, выходной сигнал 582 синтеза 580 LPC также можно обеспечить в течение периода времени, который длиннее, чем потерянный аудиокадр. Соответственно, добавление с перекрытием может осуществляться между аудиоинформацией маскирования ошибок (которая, в результате, получается в течение более длинного периода времени, чем временное удлинение потерянного аудиокадра) и декодированная аудиоинформация, обеспеченная для надлежащим образом декодированного аудиокадра, следующего за одним или более потерянными аудиокадрами.
Маскирование во временной области согласно фиг. 6
На фиг. 6 показана блок-схема маскирования во временной области, которое можно использовать для переключаемого кодека. Например, маскирование 600 во временной области согласно фиг. 6 может осуществляться, например, вместо маскирования 106 ошибок во временной области, например, в маскировании 380 ошибок на фиг. 3 или фиг. 4.
В случае переключаемого кодека (и даже в случае кодека, осуществляющего лишь декодирование в области коэффициентов линейного предсказания) обычно уже имеется сигнал возбуждения (например, сигнал возбуждения временной области), поступающий из предыдущего кадра (например, надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру). В противном случае (например, в отсутствие сигнала возбуждения временной области), можно действовать, как объяснено согласно варианту осуществления, показанному на фиг. 5, т.е. для осуществления анализа LPC. Если предыдущий кадр был типа ACELP, также уже имеется информация основного тона подкадров в последнем кадре. Если последним кадром был TCX (возбуждением, кодированным преобразованием) с LTP (долгосрочным предсказанием) также имеется информация отставания, поступающая из долгосрочного предсказания. И если последним кадром был в частотной области без долгосрочного предсказания (LTP), то поиск основного тона предпочтительно осуществлять напрямую в области возбуждения (например, на основе сигнала возбуждения временной области, обеспеченного анализом LPC).
Если декодер уже использует некоторые параметры LPC во временной области, они повторно используются и экстраполируются в новый набор параметров LPC. Экстраполяция параметров LPC основана на предыдущем LPC, например, среднем трех последних кадров, и (в необязательном порядке) форме LPC, выведенной в ходе оценивания шума DTX, если в кодеке существует DTX (прерывистая передача).
Все маскирование осуществляется в области возбуждения для получения более плавного перехода между последовательными кадрами.
В дальнейшем будет более подробно описано маскирование 600 ошибок согласно фиг. 6.
Маскирование 600 ошибок принимает предыдущее возбуждение 610 и информацию 640 предыдущего основного тона. Кроме того, маскирование 600 ошибок обеспечивает аудиоинформацию 612 маскирования ошибок.
Следует отметить, что предыдущее возбуждение 610, принятое посредством маскирования 600 ошибок, может, например, соответствовать выходу 532 анализа 530 LPC. Кроме того, информация 640 предыдущего основного тона может, например, соответствовать выходной информации 542 поиска 540 основного тона.
Маскирование 600 ошибок дополнительно содержит экстраполяцию 650, которая может соответствовать экстраполяции 550, поэтому обратимся к вышеприведенному рассмотрению.
Кроме того, маскирование ошибок содержит генератор 660 шума, который может соответствовать генератору 560 шума, поэтому обратимся к вышеприведенному рассмотрению.
Экстраполяция 650 обеспечивает экстраполированный сигнал 652 возбуждения временной области, который может соответствовать экстраполированному сигналу 552 возбуждения временной области. Генератор 660 шума обеспечивает шумовой сигнал 662, который соответствует шумовому сигналу 562.
Маскирование 600 ошибок также содержит объединитель/микшер 670, который принимает экстраполированный сигнал 652 возбуждения временной области и шумовой сигнал 662 и обеспечивает, на их основе, входной сигнал 672 для синтеза 680 LPC, причем синтез 680 LPC может соответствовать синтезу 580 LPC, благодаря чему, также можно применять вышеприведенные объяснения. Синтез 680 LPC обеспечивает аудиосигнал 682 во временной области, который может соответствовать аудиосигналу 582 во временной области. Маскирование ошибок также содержит (в необязательном порядке) снятие 684 выделения, которое может соответствовать снятию 584 выделения и которое обеспечивает аудиосигнал 686 маскирования ошибок во временной области со снятым выделением. Маскирование 600 ошибок в необязательном порядке содержит добавление с перекрытием 690, которое может соответствовать добавлению с перекрытием 590. Однако вышеприведенные объяснения в отношении добавления с перекрытием 590 также применяются к добавлению с перекрытием 690. Другими словами, добавление с перекрытием 690 также может быть заменено общим добавлением с перекрытием аудиодекодера, благодаря чему, выходной сигнал 682 синтеза LPC или выходной сигнал 686 снятия выделения можно рассматривать как аудиоинформацию маскирования ошибок.
В итоге, маскирование 600 ошибок существенно отличается от маскирования 500 ошибок тем, что маскирование 600 ошибок напрямую получает информацию 610 предыдущего возбуждения и информацию 640 предыдущего основного тона напрямую от одного или более ранее декодированных аудиокадров без необходимости осуществления анализа LPC и/или анализа основного тона. Однако следует отметить, что маскирование 600 ошибок может, в необязательном порядке, содержать анализ LPC и/или анализ основного тона (поиск основного тона).
Далее, будут более подробно описаны некоторые детали маскирования 600 ошибок. Однако следует отметить, что конкретные детали следует рассматривать в качестве примеров, а не в качестве существенных признаков.
Предыдущий основной тон поиска основного тона
Существуют разные подходы для получения основного тона, подлежащего использованию для построения нового сигнала.
В контексте кодека, использующего фильтр LTP, например AAC-LTP, если последним кадром (предшествующим потерянному кадру) был AAC с LTP, имеется информация основного тона, поступающая из последнего отставания основного тона LTP и соответствующего коэффициента усиления. В этом случае используется коэффициент усиления для принятия решения, нужно ли построить гармоническую часть в сигнале. Например, если коэффициент усиления LTP выше 0,6, то используется информация LTP для построения гармонической части.
В отсутствие какой-либо информации основного тона, доступной из предыдущего кадра, то существует, например, два других решения.
Одно решение состоит в осуществлении поиска основного тона на кодере и передаче в битовом потоке отставания основного тона и коэффициента усиления. Это аналогично долгосрочному предсказанию (LTP), но не применяется никакой фильтрации (также никакой фильтрации LTP в чистом канале).
Другое решение состоит в осуществлении поиска основного тона на декодере. Поиск основного тона AMR-WB в случае TCX осуществляется в области FFT. В TCX, например, используется область MDCT, затем осуществляется пропуск фазы. Таким образом, поиск основного тона осуществляется напрямую в области возбуждения (например, на основе сигнала возбуждения временной области, используемого в качестве входа синтеза LPC, или используемого для вывода входа для синтеза LPC) в предпочтительном варианте осуществления. Это обычно дает лучшие результаты, чем осуществление поиска основного тона в области синтеза (например, на основе полностью декодированного аудиосигнала во временной области).
Поиск основного тона в области возбуждения (например, на основе сигнала возбуждения временной области) осуществляется сначала по разомкнутому контуру посредством нормализованной взаимной корреляции. Затем, в необязательном порядке, поиск основного тона может уточняться посредством осуществления поиска по замкнутому контуру вокруг основного тона разомкнутого контура с определенной дельтой.
В предпочтительных реализациях, не просто рассматривается одно максимальное значение корреляции. При наличии информации основного тона из предыдущего кадра, не подверженного ошибке, выбирается основной тон, который соответствует одному из пяти наивысших значений в области нормализованной взаимной корреляции, но ближайшему к основному тону предыдущего кадра. Затем, также проверяется, что найденный максимум не является неправильным максимумом вследствие ограничения окна.
В итоге, существуют разные принципы определения основного тона, причем вычислительно эффективно рассматривать предыдущий основной тон (т.е. основной тон, связанный с ранее декодированным аудиокадром). Альтернативно, информация основного тона может передаваться от аудиокодера на аудиодекодер. В порядке другой альтернативы, поиск основного тона может осуществляться на стороне аудиодекодера, причем определение основного тона предпочтительно осуществлять на основе сигнала возбуждения временной области (т.е. в области возбуждения). Двухстадийный поиск основного тона, содержащий поиск по разомкнутому контуру и поиск по замкнутому контуру, может осуществляться для получения особенно надежной и точной информации основного тона. Альтернативно или дополнительно, информация основного тона из ранее декодированного аудиокадра может использоваться, чтобы гарантировать, что поиск основного тона обеспечивает надежный результат.
Экстраполяция возбуждения или создание гармонической части
Возбуждение (например, в форме сигнала возбуждения временной области), полученное из предыдущего кадра (либо только что вычисленное для потерянного кадра, либо уже сохраненного в предыдущем потерянном кадре для потери нескольких кадров), используется для построения гармонической части в возбуждении (например, экстраполированного сигнала 662 возбуждения временной области) посредством копирования последнего цикла основного тона (например, участка сигнала 610 возбуждения временной области, временная длительность которого равна длительность периода основного тона) столько раз, сколько необходимо для получения, например, полутора (потерянного) кадра.
Для получения еще лучших результатов, в необязательном порядке можно повторно использовать некоторые инструменты, известные из уровня техники и адаптировать их. Можно обратиться, например, к ссылке [4] и/или ссылке [5].
Было установлено, что основной тон в речевом сигнале почти всегда изменяется. Было установлено, что, таким образом, представленное выше маскирование способствует возникновению некоторых проблем при восстановлении, поскольку основной тон в конце замаскированного сигнала часто не совпадает с основным тоном первого хорошего кадра. Таким образом, в необязательном порядке, предпринимается попытка предсказать, что основной тон в конце замаскированного кадра совпадает с основным тоном в начале кадра восстановления. Эта функциональная возможность будет осуществляться, например, посредством экстраполяции 650.
Если используется LTP в TCX, отставание можно использовать в качестве начальной информации об основном тоне. Однако желательно иметь более высокую гранулярность, чтобы иметь возможность лучше отслеживать контур основного тона. Таким образом, поиск основного тона, в необязательном порядке, осуществляется в начале и в конце последнего хорошего кадра. Для адаптации сигнала к перемещению основного тона может использоваться ресинхронизация импульсов, которая присутствует в уровне техники.
В итоге, экстраполяция (например, сигнала возбуждения временной области, связанного с, или полученного на основе, последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному кадру) может содержать копирование временного участка упомянутого сигнала возбуждения временной области, связанного с предыдущим аудиокадром, причем скопированный временной участок можно модифицировать в зависимости от вычисления, или оценивания, (предполагаемого) изменения основного тона в ходе потерянного аудиокадра. Доступны различные принципы для определения изменения основного тона.
Коэффициент усиленияосновного тона
Согласно варианту осуществления согласно фиг. 6, коэффициент усиления применяется на ранее полученном возбуждении для достижения желаемого уровня. Коэффициент усиления основного тона получается, например, посредством осуществления нормализованной корреляции во временной области в конце последнего хорошего кадра. Например, длина корреляции может быть эквивалентна двум подкадрам длина, и задержка может быть эквивалентна отставанию основного тона, используемому для создания гармонической части (например, для копирования сигнала возбуждения временной области). Было установлено, что осуществление вычисления коэффициента усиления во временной области дает значительно более надежный коэффициент усиления, чем его осуществление в области возбуждения. LPC изменяются с каждым кадром, и затем применение коэффициента усиления, вычисленного на предыдущем кадре, на сигнале возбуждения, который будет обработан другим набором LPC, не будем давать предполагаемую энергию во временной области.
Коэффициент усиления основного тона определяет величину тональности, которая будет создана, но некоторый сформированный шум также будет добавляться, чтобы не иметь только искусственный тон. Если получен очень низкий коэффициент усиления основного тона, то можно построить сигнал, состоящий только из сформированного шума.
В итоге, коэффициент усиления, который применяется для масштабирования сигнала возбуждения временной области, полученного на основе предыдущего кадра (или сигнала возбуждения временной области, который получается для ранее декодированного кадра, или который связан с ранее декодированным кадром), регулируется для определения, таким образом, взвешивания тонального (или детерминистического, или, по меньшей мере, приблизительно периодического) компонента в входном сигнале синтеза 680 LPC, и, в результате, в аудиоинформации маскирования ошибок. Упомянутый коэффициент усиления можно определять на основе корреляции, которая применяется к аудиосигналу во временной области, полученному посредством декодирования ранее декодированного кадра (причем упомянутый аудиосигнал во временной области может быть получен с использованием синтеза LPC, который осуществляется в ходе декодирования).
Создание шумовой части
Инновация создается генератором белого 660 шума. Этот шум дополнительно подвергается высокочастотной фильтрации и, в необязательном порядке, предварительно выделяется для вокализованных и атаковых кадров. Высокочастотная фильтрация и предварительное выделение, которое может осуществляться выборочно для вокализованных и атаковых кадров, не показаны в явном виде на фиг. 6, но может осуществляться, например, в генераторе 660 шума или в объединителе/микшере 670.
Шум будет формироваться (например, после объединения с сигналом 652 возбуждения временной области, полученным посредством экстраполяции 650) посредством LPC для максимального приближения к фоновому шуму.
Например, коэффициент усиления инновации можно вычислять посредством удаления ранее вычисленного вклада основного тона (если он существует) и осуществления корреляции в конце последнего хорошего кадра. Длина корреляции может быть эквивалентна двум подкадрам длина, и задержка может быть эквивалентна отставанию основного тона, используемому для создания гармонической части.
В необязательном порядке, этот коэффициент усиления также может умножаться на (1 - коэффициент усиления основного тона) для применения максимального коэффициента усиления к шуму для достижения пропуска энергии, если коэффициент усиления основного тона не равен единице. В необязательном порядке, этот коэффициент усиления также умножается на коэффициент шума. Этот коэффициент шума может поступать из предыдущего пригодного кадра.
В итоге, шумовой компонент аудиоинформации маскирования ошибок получается посредством формирования шума, обеспеченного генератором 660 шума с использованием синтеза 680 LPC (и, возможно, снятия 684 выделения). Кроме того, может применяться дополнительная высокочастотная фильтрация и/или предварительное выделение. Коэффициент усиления шумового вклада в входной сигнал 672 синтеза 680 LPC (также обозначенный как ʺкоэффициент усиления инновацииʺ) можно вычислять на основе последнего надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, причем детерминистический (или, по меньшей мере, приблизительно периодический) компонент можно удалять из аудиокадра, предшествующего потерянному аудиокадру, и при этом корреляция может затем осуществляться для определения интенсивности (или коэффициента усиления) шумового компонента в декодированном сигнале во временной области аудиокадра, предшествующего потерянному аудиокадру.
В необязательном порядке, некоторые дополнительные модификации могут применяться к коэффициенту усиления шумового компонента.
Ослабление
Ослабление, по большей части, используется для потери нескольких кадров. Однако ослабление также может использоваться в случае, когда теряется один-единственный аудиокадр.
В случае потери нескольких кадров, параметры LPC повторно не вычисляются. Либо остается последний вычисленный, либо осуществляется маскирование LPC, как объяснено выше.
Периодичность сигнала сходится к нулю. Скорость схождения зависит от параметров последнего правильно принятого (или правильно декодированного) кадра и количества последовательных стертых (или потерянных) кадров, и управляется коэффициентом ослабления α. Коэффициент α дополнительно зависит от устойчивости фильтра LP. В необязательном порядке, коэффициент α может изменяться по отношению к длине основного тона. Например, если основной тон действительно является длинным, то α может оставаться нормальным, но если основной тон действительно является коротким, может быть желательно (или необходимо) копировать много раз одну и ту же часть предыдущего возбуждения. Поскольку было установлено, что это будет быстро звучать слишком искусственно, сигнал, таким образом, ослабляется быстрее.
Кроме того в необязательном порядке, можно учитывать выход предсказания основного тона. Если предсказывается основной тон, это означает, что основной тон уже изменялся в предыдущем кадре, и тогда, чем больше кадров теряется, тем дальше мы от истины. Таким образом, желательно немного ускорить ослабление тональной части в этом случае.
Если предсказание основного тона не удается, поскольку основной тон изменяется слишком сильно, это означает либо значения основного тона не являются действительно надежными, либо что сигнал действительно является непредсказуемым. Таким образом, опять же, ослабление следует производить быстрее.
В итоге, вклад экстраполированного сигнала 652 возбуждения временной области в входной сигнал 672 синтеза 680 LPC обычно снижается со временем. Этого можно добиться, например, посредством уменьшения значения коэффициента усиления, которое применяется к экстраполированному сигналу 652 возбуждения временной области, по времени. Скорость, используемая для постепенного снижения коэффициента усиления, применяемого для масштабирования сигнала 652 возбуждения временной области, полученного на основе одного или более аудиокадров, предшествующих потерянному аудиокадру (или одной или более их копий) регулируется в зависимости от одного или более параметров одного или более аудиокадров (и/или в зависимости от количества последовательных потерянных аудиокадров). В частности, длина основного тона и/или скорость, с которой основной тон изменяется со временем, и/или вопрос, удается или нет предсказание основного тона, можно использовать для регулировки упомянутой скорости.
Синтез LPC
Для возврата во временную область, синтез 680 LPC осуществляется на суммировании (или, в целом, взвешенной комбинации) двух возбуждений (тональной части 652 и зашумленной части 662), сопровождаемым снятием 684 выделения.
Другими словами, результат взвешенной (ослабляющей) комбинации экстраполированного сигнала 652 возбуждения временной области и шумового сигнала 662 образует объединенный сигнал возбуждения временной области и поступает на синтез 680 LPC, который может, например, осуществлять фильтрацию с синтезом на основе упомянутого объединенного сигнала возбуждения временной области 672 в зависимости от коэффициентов LPC, описывающих синтезирующий фильтр.
Добавление с перекрытием
Поскольку в ходе маскирования неизвестно, что будет режимом прихода следующего кадра (например, ACELP, TCX или FD), предпочтительно заранее подготавливать разные перекрытия. Для получения наилучшего добавления с перекрытием, если следующий кадр находится в области преобразования (TCX или FD), искусственный сигнал (например, аудиоинформация маскирования ошибок) может, например, создаваться для половины кадра более чем замаскированный (потерянный) кадр. Кроме того, на нем может создаваться искусственное наложение спектров (причем искусственное наложение спектров может, например, адаптироваться к добавлению с перекрытием MDCT).
Для получения хорошего добавления с перекрытием и без нарушения непрерывности с будущим кадром во временной области (ACELP), осуществляются вышеупомянутые действия, но без наложения спектров, чтобы иметь возможность применения длинных окон добавления с перекрытием или если желательно использовать квадратное окно, отклик при отсутствии входного сигнала (ZIR) вычисляется в конце буфера синтеза.
В итоге, в переключаемом аудиодекодере (который может, например, переключаться между декодированием ACELP, декодированием TCX и декодированием в частотной области (декодированием FD)), добавление с перекрытием может осуществляться между аудиоинформацией маскирования ошибок, которая обеспечивается, в основном, для потерянного аудиокадра, но также для определенного временного участка, следующего за потерянным аудиокадром, и декодированная аудиоинформация, обеспеченная для первого надлежащим образом декодированного аудиокадра, следующего за последовательностью одного или более потерянных аудиокадров. Для получения правильного добавления с перекрытием даже для режимов декодирования, которые способствуют наложению спектров во временной области при переходе между последовательными аудиокадрами, может обеспечиваться информация подавления наложения спектров (например, обозначенного как искусственное наложение спектров). Соответственно, добавление с перекрытием между аудиоинформацией маскирования ошибок и аудиоинформацией временной области, полученной на основе первого надлежащим образом декодированного аудиокадра, следующего за потерянным аудиокадром, приводит к подавлению наложения спектров.
Если первый надлежащим образом декодированный аудиокадр, следующий за последовательностью из одного или более потерянных аудиокадров, кодируется в режиме ACELP, можно вычислять информацию конкретного перекрытия, которая может базироваться на отклике при отсутствии входного сигнала (ZIR) фильтра LPC.
В итоге, маскирование 600 ошибок весьма пригодна для использования в переключаемом аудиокодеке. Однако маскирование 600 ошибок также можно использовать в аудиокодеке, который декодирует только аудиоконтент, кодированный в режиме TCX или в режиме ACELP.
Заключение
Следует отметить, что особенно хорошее маскирование ошибок достигается согласно вышеупомянутому принципу для экстраполяции сигнала возбуждения временной области, для объединения результата экстраполяции с шумовым сигналом с использованием ослабления (например, перекрестного затухания) и для осуществления синтеза LPC на основе результата перекрестного затухания.
Маскирование в частотной области согласно фиг. 7
Маскирование в частотной области изображено на фиг. 7. На этапе 701 производится определение (например, на основе CRC или аналогичной стратегии), если текущая аудиоинформация содержит надлежащим образом декодированный кадр. Если результат определения положителен, спектральное значение надлежащим образом декодированного кадра используется в качестве правильной аудиоинформации на этапе 702. Спектр записывается в буфере 703 для дополнительного использования (например, для будущих неправильно декодированных кадров, подлежащих, таким образом, маскированию).
Если результат определения отрицателен, на этапе 704 ранее записанное спектральное представление 705 предыдущего надлежащим образом декодированного аудиокадра (сохраненное в буфере на этапе 703 в предыдущем цикле) используется для замены поврежденного (и отброшенного) аудиокадра.
В частности, блок 707 копирования и масштабирования копирует и масштабирует спектральные значения частотных бинов (или спектральных бинов) в частотных диапазонах 705a, 705b, …, ранее записанного надлежащим образом спектрального представления 705 предыдущего надлежащим образом декодированного аудиокадра, для получения значения частотных бинов (или спектральных бинов) 706a, 706b, …, подлежащих использованию вместо поврежденного аудиокадра.
Каждое из спектральных значений можно умножать на соответствующий коэффициент согласно конкретной информации, переносимой полосой. Дополнительно, коэффициенты 708 ослабления между 0 и 1 можно использовать для подавления сигнала для итерационного снижения интенсивности сигнала в случае последовательных маскирований. Также, шум можно, в необязательном порядке, добавлять в спектральных значениях 706.
Маскирование согласно фиг. 8a
На фиг. 8a показана блок-схема маскирования ошибок согласно варианту осуществления настоящего изобретения. Блок маскирования ошибок согласно фиг. 8a обозначен в целом как 800 и может воплощать любой из рассмотренных выше блоков 100, 230, 380 маскирования ошибок. Блок 800 маскирования ошибок обеспечивает аудиоинформацию 802 маскирования ошибок (которая может воплощать информацию 102, 232 или 382 рассмотренных выше вариантов осуществления) для маскирования потерь аудиокадра в кодированной аудиоинформации.
Блок 800 маскирования ошибок может вводиться спектром 803 (например, спектром спектра последнего надлежащим образом декодированного аудиокадра, или, в более общем случае, спектром предыдущего надлежащим образом декодированного аудиокадра, или его фильтрованной версии) и представление 804 во временной области кадра (например, последнего или предыдущего надлежащим образом декодированного представления во временной области аудиокадра, или последнего или предыдущего буферизованного значения pcm).
Блок 800 маскирования ошибок содержит первую часть или тракт (введенный спектром 803 надлежащим образом декодированного аудиокадра), который может работать на (или в) первом частотном диапазоне, и вторую часть или тракт (введенный представлением 804 во временной области надлежащим образом декодированного аудиокадра), который может работать на (или в) втором частотном диапазоне. Первый частотный диапазон может содержать более высокие частоты, чем частоты второго частотного диапазона.
На фиг. 14 показаны пример первого частотного диапазона 1401 и пример второго частотного диапазона 1402.
Маскирование 805 в частотной области можно применять к первой части или тракту (к первому частотному диапазону). Например, можно использовать замену шума внутри аудиокодека AAC-ELD. Этот механизм использует скопированный спектр последнего хорошего кадра и добавляет шум до обратного модифицированного дискретного косинусного преобразования (IMDCT) применяет для возврата во временную область. Замаскированный спектр может преобразовываться во временную область через IMDCT.
Аудиоинформация 802 маскирования ошибок, обеспеченная блоком 800 маскирования ошибок, получается в виде комбинации первого компонента 807' аудиоинформации маскирования ошибок, обеспеченного первой частью, и второго компонента 811' аудиоинформации маскирования ошибок, обеспеченного второй частью. В некоторых вариантах осуществления, первый компонент 807' может назначаться как представляющий высокочастотный участок потерянного аудиокадра, тогда как второй компонент 811' может назначаться как представляющий низкочастотный участок потерянного аудиокадра.
Первая часть блока 800 маскирования ошибок можно использовать для вывода первого компонента 807' с использованием представления в области преобразования высокочастотного участка надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру. Вторая часть блока 800 маскирования ошибок можно использовать для вывода второго компонента 811' с использованием синтеза сигнала во временной области на основе низкочастотного участка надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру.
Предпочтительно, первая часть и вторая часть блока 800 маскирования ошибок работать параллельно (и/или одновременно или квазиодновременно) друг другу.
В первой части, маскирование 805 ошибок в частотной области обеспечивает первую аудиоинформацию маскирования 805' ошибок (представление в спектральной области).
Обратное модифицированное дискретное косинусное преобразование (IMDCT) 806 может использоваться для обеспечения представления 806' во временной области, представления 805' в спектральной области, полученного посредством маскирования 805 ошибок в частотной области, для получения представления 806' во временной области на основе первой аудиоинформации маскирования ошибок.
Как будет объяснено ниже, можно дважды осуществлять IMDCT для получения двух последовательных кадров во временной области.
В первой части или тракте, высокочастотный фильтр 807 может использоваться для фильтрации представления 806' во временной области первой аудиоинформации маскирования 805' ошибок и для обеспечения высокочастотной фильтрованной версии 807'. В частности, высокочастотный фильтр 807 может располагаться после маскирования 805 в частотной области (например, до или после IMDCT 805). В других вариантах осуществления, высокочастотный фильтр 807 (или дополнительный высокочастотный фильтр, который может ʺотсекатьʺ некоторые низкочастотные спектральные бины) может располагаться до маскирования 805 в частотной области.
Высокочастотный фильтр 807 можно настраивать, например, на частоту среза между 6 кГц и 10 кГц, предпочтительно, 7 кГц и 9 кГц, более предпочтительно, между 7,5 кГц и 8,5 кГц, еще более предпочтительно, между 7,9 кГц и 8,1 кГц, и еще более предпочтительно, 8 кГц.
Согласно некоторым вариантам осуществления, можно сигнально-адаптивно регулировать более низкочастотную границу высокочастотного фильтра 807, чтобы, таким образом, изменять ширину первого частотного диапазона.
Во второй части (которая выполнена с возможностью работать, по меньшей мере, частично, на более низких частотах, чем частоты первого частотного диапазона) блока 800 маскирования ошибок, маскирование 809 ошибок во временной области обеспечивает вторую аудиоинформацию 809' маскирования ошибок.
Во второй части, до маскирования 809 ошибок во временной области, понижающая дискретизация 808 обеспечивает дискретизированную с понижением версию 808' представления 804 во временной области надлежащим образом декодированного аудиокадра. Понижающая дискретизация 808 позволяет получать дискретизированное с понижением представление 808' во временной области аудиокадра 804, предшествующего потерянному аудиокадру. Это дискретизированное с понижением представление 808' во временной области представляет низкочастотный участок аудиокадра 804.
Во второй части, после маскирования 809 ошибок во временной области, повышающая дискретизация 810 обеспечивает дискретизированную с повышением версию 810' второй аудиоинформации 809' маскирования ошибок. Соответственно, можно дискретизировать с повышением замаскированную аудиоинформацию 809', обеспеченную посредством маскирования 809 во временной области, или ее постобработанной версии, для получения второго компонента 811' аудиоинформации маскирования ошибок.
Таким образом, маскирование 809 во временной области предпочтительно осуществлять с использованием частоты дискретизации, которая меньше частоты дискретизации, необходимой для полного представления надлежащим образом декодированного аудиокадра 804.
Согласно варианту осуществления, можно сигнально-адаптивно регулировать частоту дискретизации дискретизированного с понижением представления 808' во временной области, чтобы, таким образом, изменять ширину второго частотного диапазона.
Низкочастотный фильтр 811 может обеспечиваться для фильтрации выходного сигнала 809' маскирования во временной области (или выходного сигнала 810' повышающей дискретизации 810), для получения второго компонента 811' аудиоинформации маскирования ошибок.
Согласно изобретению, первый компонент аудиоинформации маскирования ошибок (выводимый высокочастотным фильтром 807 или, в других вариантах осуществления, IMDCT 806 или маскированием 805 в частотной области) и второй компонент аудиоинформации маскирования ошибок (выводимый низкочастотным фильтром 811 или, в других вариантах осуществления, повышающей дискретизацией 810 или маскированием 809 во временной области) могут соединяться (или объединяться) друг с другом с использованием механизма 812 добавления с перекрытием (OLA).
Соответственно, получается аудиоинформация 802 маскирования ошибок (которая может воплощать информацию 102, 232 или 382 рассмотренных выше вариантов осуществления).
Маскирование согласно фиг. 8b
На фиг. 8b показан вариант 800b для блока 800 маскирования ошибок (все признаки варианта осуществления, представленного на фиг. 8a, применимы к настоящему варианту, и, таким образом, их свойства не повторяются). Средство управления (например, контроллер) 813 обеспечивается для определения и/или сигнально-адаптивного изменения первого и/или второго частотных диапазонов.
Управление 813 может основываться на характеристиках, выбранных между характеристиками одного или более кодированных аудиокадров, и характеристиками одного или более надлежащим образом декодированных аудиокадров, например, последним спектром 803 и последним буферизованным значением 804 pcm. Управление 813 также может основываться на объединенных данных (интегральных значениях, средних значениях, статистических значениях и т.д.) этих входных сигналов.
В некоторых вариантах осуществления, может обеспечиваться выбор 814 (например, полученный назначенным средством ввода, например, клавиатурой, графическим пользовательским интерфейсом, мышью, рычагом). Выбор может вводиться пользователем или компьютерной программой, выполняющейся на процессоре.
Средство управления 813 может управлять (если обеспечен) понижающей дискретизацией 808, и/или повышающей дискретизацией 810, и/или низкочастотным фильтром 811, и/или высокочастотным фильтром 807. В некоторых вариантах осуществления, средство управления 813 управляет частотой среза между первым частотным диапазоном и вторым частотным диапазоном.
В некоторых вариантах осуществления, средство управления 813 может получать информацию о грамоничности одного или более надлежащим образом декодированных аудиокадров и осуществлять управление частотными диапазонами на основе информации о грамоничности. Альтернативно или дополнительно, средство управления 813 может получать информацию о спектральном наклоне одного или более надлежащим образом декодированных аудиокадров и осуществлять управление на основе информации о спектральном наклоне.
В некоторых вариантах осуществления, средство управления 813 может выбирать первый частотный диапазон и второй частотный диапазон, благодаря чему, грамоничность сравнительно меньше в первом частотном диапазоне по сравнению с грамоничностью во втором частотном диапазоне.
Изобретение можно реализовать таким образом, что средство управления 813 определяет, до какой частоты надлежащим образом декодированный аудиокадр, предшествующий потерянному аудиокадру, содержит грамоничность, превышающую порог грамоничности, и выбирает первый частотный диапазон и второй частотный диапазон в зависимости от нее.
Согласно некоторым реализациям, средство управления 813 может определять или оценивать частотную границу, на которой спектральный наклон надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, изменяется от меньшего спектрального наклона к большему спектральному наклону, и выбирать первый частотный диапазон и второй частотный диапазон в зависимости от нее.
В некоторых вариантах осуществления, средство управления 813 определяет или оценивает, меньше ли изменение спектрального наклона надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру заранее определенного порога спектрального наклона в данном частотном диапазоне. Аудиоинформация 802 маскирования ошибок получается с использованием маскирования 809 во временной области только, если установлено, что изменение спектрального наклона надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, меньше заранее определенного порога спектрального наклона.
Согласно некоторым вариантам осуществления, средство управления 813 может регулировать первый частотный диапазон и второй частотный диапазон, благодаря чему, первый частотный диапазон покрывает спектральную область, которая содержит шумоподобную спектральную структуру, и благодаря чему, второй частотный диапазон покрывает спектральную область, которая содержит гармоническую спектральную структуру.
В некоторых реализациях, средство управления 813 может адаптировать более низкочастотный конец первого частотного диапазона и/или более высокочастотный конец второго частотного диапазона в зависимости от энергетического соотношения между гармониками и шумом.
Согласно некоторым предпочтительным аспектам изобретения, средство управления 813 выборочно подавляет, по меньшей мере, одно из маскирования 809 во временной области и маскирования 805 в частотной области и/или осуществляет только маскирование 809 во временной области или только маскирование 805 в частотной области для получения аудиоинформации маскирования ошибок.
В некоторых вариантах осуществления, средство управления 813 определяет или оценивает, меньше ли грамоничность надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, заранее определенного порога грамоничности. Аудиоинформацию маскирования ошибок можно получать с использованием маскирования 805 в частотной области только, если установлено, что грамоничность надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру, меньше заранее определенного порога грамоничности.
В некоторых вариантах осуществления, средство управления 813 адаптирует основной тон замаскированного кадра на основе основного тона надлежащим образом декодированного аудиокадра, предшествующего потерянному аудиокадру и/или в зависимости от временной эволюции основного тона в надлежащим образом декодированном аудиокадре, предшествующем потерянному аудиокадру, и/или в зависимости от интерполяции основного тона между надлежащим образом декодированным аудиокадром, предшествующим потерянному аудиокадру, и надлежащим образом декодированному аудиокадру, следующему за потерянным аудиокадром.
В некоторых вариантах осуществления, средство управления 813 принимает данные (например, частоту перехода или соответствующие ей данные), которые передаются кодером. Соответственно, средство управления 813 может модифицировать параметры других блоков (например, блоков 807, 808, 810, 811) для адаптации первого и второго частотного диапазона к значению, передаваемому кодером.
Способ согласно фиг. 9
На фиг. 9 показана блок-схема операций 900 способа маскирования ошибок для обеспечения аудиоинформации маскирования ошибок (например, обозначенные 102, 232, 382 и 802 в предыдущих примерах) для маскирования потерь аудиокадра в кодированной аудиоинформации. Способ содержит:
- на этапе 910, обеспечение первого компонента (например, 103 или 807') аудиоинформации маскирования ошибок для первого частотного диапазона с использованием маскирования (например, 105 или 805) в частотной области,
- на этапе 920 (который может осуществляться одновременно или почти одновременно с этапом 910, и может назначаться параллельным этапу 910), обеспечение второго компонента (например, 104 или 811') аудиоинформации маскирования ошибок для второго частотного диапазона, который содержит (по меньшей мере, некоторые) более низкие частоты, чем первый частотный диапазон, с использованием маскирования (например, 106, 500, 600 или 809) во временной области, и
- на этапе 930, объединение (например, 107 или 812) первого компонента аудиоинформации маскирования ошибок и второго компонента аудиоинформации маскирования ошибок, для получения аудиоинформации маскирования ошибок (например, 102, 232, 382 или 802).
Способ согласно фиг. 10
На фиг. 10 показана блок-схема операций 1000, которая является вариантом фиг. 9, в котором управление 813 на фиг. 8b или аналогичное управление используется для определения и/или сигнально-адаптивного изменения первого и/или второго частотных диапазонов. В отношении способа на фиг. 9, этот вариант содержит этап 905, на котором определяются первый и второй частотные диапазоны, например, на основе пользовательского выбора 814 или сравнения значения (например, значения наклона или значения грамоничности) с пороговым значением.
Заметим, что, этап 905 может осуществляться с учетом режимов работы средства управления 813 (которое может быть некоторыми из рассмотренных выше). Например, данные (например, частота перехода) может передаваться от кодера в конкретном поле данных. На этапах 910 и 920, первый и второй частотные диапазоны управляются (по меньшей мере, частично) кодером.
Кодер согласно фиг. 19
На фиг. 19 показан аудиокодер 1900, который можно использовать для воплощения изобретения согласно некоторым вариантам осуществления.
Аудиокодер 1900 обеспечивает кодированную аудиоинформацию 1904 на основе входной аудиоинформации 1902. Заметим, что кодированное представление 1904 аудиосигнала может содержать кодированную аудиоинформацию 210, 310, 410.
В одном варианте осуществления, аудиокодер 1900 может содержать кодер 1906 частотной области, выполненный с возможностью обеспечения кодированного представления 1908 в частотной области на основе входной аудиоинформации 1902. Кодированное представление 1908 в частотной области может содержать спектральные значения 1910 и масштабные коэффициенты 1912, которые могут соответствовать информации 422. Кодированное представление 1908 в частотной области может воплощать кодированную аудиоинформацию 210, 310, 410 (или ее часть).
В одном варианте осуществления, аудиокодер 1900 может содержать (в порядке альтернативы кодеру частотной области или в порядке замена кодера частотной области) кодер 1920 области линейного предсказания, выполненный с возможностью обеспечения кодированного представления 1922 в области линейного предсказания на основе входной аудиоинформации 1902. Кодированное представление 1922 в области линейного предсказания может содержать возбуждение 1924 и линейное предсказание 1926, которые могут соответствовать кодированному возбуждению 426 и кодированному коэффициенту 428 линейного предсказания. Кодированное представление 1922 в области линейного предсказания может воплощать кодированную аудиоинформацию 210, 310, 410 (или ее часть).
Аудиокодер 1900 может содержать блок 1930 определения частоты перехода, выполненный с возможностью определения информации 1932 частоты перехода. Информация 1932 частоты перехода может задавать частоту перехода. Частоту перехода можно использовать для различения маскирования (например, 106, 809, 920) ошибок во временной области и маскирования (например, 105, 805, 910) ошибок в частотной области, подлежащих использованию на стороне аудиодекодера (например, 100, 200, 300, 400, 800b).
Аудиокодер 1900 может быть выполнен с возможностью включать (например, с использованием объединителя 1940 битовых потоков) кодированное представление 1908 в частотной области и/или кодированное представление 1922 в области линейного предсказания и также информацию 1930 частоты перехода в кодированное представление 1904 аудиосигнала.
Информация 1930 частоты перехода, когда оценивается на стороне аудиодекодера, может служить для обеспечения команд и/или инструкций на средство управления 813 блока маскирования ошибок, например, блока 800b маскирования ошибок.
Не повторяя признаки средства управления 813, можно просто сказать, что информация 1930 частоты перехода может иметь те же функции, что рассмотрены для средства управления 813. Другими словами, информация частоты перехода может использоваться для определения частоты перехода, т.е. частотная граница между маскированием в области линейного предсказания и маскированием в частотной области. Таким образом, при приеме и использовании информации частоты перехода, средство управления 813 можно значительно упростить, поскольку в этом случае средство управления больше не отвечает за определение частоты перехода. Напротив, средство управления может потребоваться только для регулировки фильтров 807, 811 в зависимости от информации частоты перехода, извлеченной из кодированного представления аудиосигнала аудиодекодером.
Средство управления, в некоторых вариантах осуществления, можно подразделить на два разных (удаленных) блоков: блок определения частоты перехода на стороне кодера, который определяет информацию 1930 частоты перехода, которая, в свою очередь, определяет частоту перехода, и контроллер 813 на стороне декодера, который принимает информацию частоты перехода и действует посредством надлежащего установления компонентов блока 800b маскирования ошибок декодера на ее основе. Например, контроллер 813 может управлять (когда обеспечен) блоком 808 понижающей дискретизации и/или блоком 810 повышающей дискретизации, и/или низкочастотным фильтром 811, и/или высокочастотным фильтром 807.
Поэтому, в одном варианте осуществления, система образована:
- аудиокодером 1900, который может передавать кодированную аудиоинформацию, которая содержит информацию 1932, связанную с первым частотным диапазоном и вторым частотным диапазоном (например, описанную здесь информацию частоты перехода);
- причем аудиодекодер содержит:
-- блок 800b маскирования ошибок, выполненный с возможностью обеспечения:
--- первого компонента 807' аудиоинформации маскирования ошибок для первого частотного диапазона с использованием маскирования в частотной области; и
--- второго компонента 811' аудиоинформации маскирования ошибок для второго частотного диапазона, который содержит более низкие частоты, чем первый частотный диапазон, с использованием маскирования 809 во временной области,
-- причем блок маскирования ошибок выполнен с возможностью осуществления управления (813) на основе информации 1932, передаваемой кодером 1900
-- причем блок 800b маскирования ошибок дополнительно выполнен с возможностью объединения первого компонента 807' аудиоинформации маскирования ошибок и второго компонента 811' аудиоинформации маскирования ошибок, для получения аудиоинформации 802 маскирования ошибок.
Согласно варианту осуществления (который может, например, осуществляться с использованием кодера 1900 и/или блока 800b маскирования), изобретение предусматривает способ 2000 (фиг. 20) для обеспечения кодированного представления (например, 1904) аудиосигнала на основе входной аудиоинформации (например, 1902), причем способ содержит:
- этап 2002 кодирования в частотной области (например, осуществляемый блоком 1906) для обеспечения кодированного представления (например, 1908) в частотной области на основе входной аудиоинформации, и/или этап кодирования в области линейного предсказания (например, осуществляемый блоком 1920) для обеспечения кодированного представления (например, 1922) в области линейного предсказания на основе входной аудиоинформации; и
- этап 2004 определения частоты перехода (например, осуществляемый блоком 1930) для определения информации (например, 1932) частоты перехода, которая задает частоту перехода между маскированием ошибок во временной области (например, осуществляемым блоком 809) и маскированием ошибок в частотной области (например, осуществляемым блоком 805), подлежащим использованию на стороне аудиодекодера;
- причем этап кодирования выполняется для включения кодированного представления в частотной области и/или кодированного представления в области линейного предсказания и также информацию частоты перехода в кодированное представление аудиосигнала.
Дополнительно, кодированное представление аудиосигнала может (в необязательном порядке) обеспечиваться и/или передаваться (этап 2006) совместно с информацией частоты перехода, включенной в него, на приемник (декодер), который может декодировать информацию и, в случае потери кадра, осуществлять маскирование. Например, блок (например, 800b) маскирования декодера может осуществлять этапы 910-930 способа 1000 на фиг. 10, тогда как этап 905 способа 1000 реализуется этапом 2004 способа 2000 (или в котором функциональная возможность этапа 905 осуществляется на стороне аудиокодера, и при этом этап 905 заменен оцениванием информации частоты перехода, включенной в кодированное представление аудиосигнала).
Изобретение также относится к кодированному представлению (например, 1904) аудиосигнала, содержащему:
- кодированное представление (например, 1908) в частотной области, представляющее аудиоконтент, и/или кодированное представление (например, 1922) в области линейного предсказания, представляющее аудиоконтент; и
- информация (например, 1932) частоты перехода, которая задает частоту перехода между маскированием ошибок во временной области и маскированием ошибок в частотной области, подлежащим использованию на стороне аудиодекодера.
Ослабление
Помимо вышеприведенного раскрытия, блок маскирования ошибок может ослаблять замаскированный кадр. Согласно фиг. 1, 8a и 8b, ослабление может осуществляться при маскировании 105 или 805 FD (например, посредством масштабирования значений частотных бинов в частотных диапазонах 705a, 705b с коэффициентами 708 ослабления на фиг. 7) для подавления первого компонента 105 и 807' маскирования ошибок. Ослабление также может осуществляться при маскировании 809 TD посредством масштабирования значений с надлежащими коэффициентами ослабления для подавления второго компонента 104 или 811' маскирования ошибок (см. объединитель/микшер 570 или предыдущий раздел "ослабление").
Дополнительно или альтернативно, можно также масштабировать аудиоинформацию 102 или 802 маскирования ошибок.
Операция изобретения
Здесь обеспечен пример операции изобретения. В аудиодекодере (например, аудиодекодере 200, 300 или 400) некоторый кадр данных может теряться. Соответственно, блок (например, 100, 230, 380, 800, 800b) маскирования ошибок используется для маскирования потерянных кадров данных с использованием, для каждого потерянного кадра данных, предыдущего надлежащим образом декодированного аудиокадра.
Блок (например, 100, 230, 380, 800, 800b) маскирования ошибок действует следующим образом:
- в первой части или тракте (например, для получения первого компонента 807' аудиоинформации маскирования ошибок в первом частотном диапазоне), высокочастотное маскирование ошибок в частотной области потерянного сигнала осуществляется с использованием представления частотного спектра (например, 803) предыдущего надлежащим образом декодированного аудиокадра;
- параллельно и/или одновременно (или, по существу, одновременно), во второй части или тракте (для получения второго компонента аудиоинформации маскирования ошибок во втором частотном диапазоне) осуществляется маскирование во временной области представления (например 804) во временной области предыдущего надлежащим образом декодированного аудиокадра (например, буферизованного значения pcm).
out
out
out
out
Можно предположить, что (например, для высокочастотного фильтра 807 и низкочастотного фильтра 811) задается частота среза FS/4 (например, заранее заданная, заранее выбранная или управляемая, например, в режиме обратной связи, контроллером, например, контроллером 813), благодаря чему, большинство частот первого частотного диапазона превышает FS/4, и большинство частот второго частотного диапазона ниже FS/4 (частота дискретизации ядра). FSможет быть установлена на значение, например между 46 кГц и 50 кГц, предпочтительно, между 47 кГц и 49 кГц, и более предпочтительно, 48 кГц.
out
FS обычно (но не обязательно) выше (например, 48 кГц), чем 16 кГц (частота дискретизации ядра).
Во второй (низкочастотной) части блока маскирования ошибок (например, 100, 230, 380, 800, 800b), могут осуществляться следующие операции:
- при понижающей дискретизации 808, представление 804 во временной области надлежащим образом декодированного аудиокадра дискретизируется с понижением до желаемой частоты дискретизации ядра (здесь 16 кГц);
- маскирование во временной области осуществляется на 809 для обеспечения синтезированного сигнала 809';
out
- при повышающей дискретизации 810, синтезированный сигнал 809' дискретизируется с повышением для обеспечения сигнала 810' на выходной частоте дискретизации (FS);
- наконец, сигнал 810' фильтруется низкочастотным фильтром 811, предпочтительно, с частотой среза (здесь 8 кГц), которая составляет половину частоты дискретизации ядра (например, 16 кГц).
В первой (высокочастотной) части блока маскирования ошибок, могут осуществляться следующие операции:
- маскирование 805 в частотной области маскирует высокочастотную часть входного спектра (надлежащим образом декодированного кадра);
- спектр 805', выводимый посредством маскирования 805 в частотной области, преобразуется во временную область (например, через IMDCT 806) в качестве синтезированного сигнала 806';
- синтезированный сигнал 806' фильтруется предпочтительно, высокочастотным фильтром 807, с частотой среза (8 кГц) половины частоты дискретизации ядра (16 кГц).
Для объединения более высокочастотного компонента (например, 103 или 807') с более низкочастотным компонентом (например, 104 или 811'), механизм перекрытия и добавления (OLA) (например, 812) используется во временной области. Для кодека типа AAC, более одного кадра (обычно полтора кадра) нужно обновлять для одного замаскированного кадра. Дело в том, что способ анализа и синтеза OLA имеет задержку в половину кадра. Необходима дополнительная половина кадра. Таким образом, IMDCT 806 вызывается дважды для получения двух последовательных кадров во временной области. Можно обратиться к графику 1100 на фиг. 11, где показано соотношение между замаскированными кадрами 1101 и потерянными кадрами 1102. Наконец, низкочастотная и высокочастотная часть суммируются, и применяется механизм OLA.
В частности с использованием оборудования, показанного на фиг. 8b или реализации способа, показанного на фиг. 10, можно осуществлять выбор первого и второго частотных диапазонов или динамически адаптировать частоту перехода между маскированием во временной области (TD) и частотной области (FD), например, на основе грамоничности и/или наклона предыдущего надлежащим образом декодированного аудиокадра или кадров.
Например, в случае элемента женской речи с фоновым шумом, сигнал может дискретизироваться с понижением до 5 кГц, и маскирование во временной области будет хорошо маскировать наиболее важную часть сигнала. Затем зашумленная часть будет синтезироваться способом маскирования в частотной области. Это будет снижать сложность по сравнению с фиксированным переходом (или фиксированным коэффициентом понижающей дискретизации) и удалять раздражающие артефакты типа ʺгудокʺ (см. графики, рассмотренные ниже).
Если основной тон известен для каждого кадра, можно использовать одно ключевое преимущество маскирования во временной области по сравнению с любым тональным маскированием в частотной области: можно изменять основной тон внутри замаскированного кадра, на основе предыдущего значения основного тона (в разрешении требования задержки можно также использовать будущий кадр для интерполяции).
На фиг. 12 показана диаграмма 1200 с безошибочным сигналом, причем по оси абсцисс отложено время, и по оси ординат отложена частота.
На фиг. 13 показана диаграмма 1300, в которой маскирование во временной области применяется ко всей полосе частот ошибочного сигнала. Линии, сгенерированные посредством маскирования TD, показывают искусственно сгенерированную грамоничность в полном частотном диапазоне ошибочного сигнала.
На фиг. 14 показана диаграмма 1400, иллюстрирующая результаты настоящего изобретения: шум (в первом частотном диапазоне 1401, здесь свыше 2,5 кГц) был замаскирован посредством маскирования (например, 105 или 805) в частотной области и речь (во втором частотном диапазоне 1402, здесь ниже 2,5 кГц) была замаскирована посредством маскирования (например, 106, 500, 600 или 809) во временной области. Сравнение с фиг. 13 позволяет понять, что искусственно сгенерированная грамоничность в частотном диапазоне шума удалось избежать.
Если энергетический наклон гармоник постоянен по частотам, имеет смысл осуществлять всечастотное маскирование TD и вовсе не маскирование FD или наоборот, если сигнал не содержит грамоничности.
Как можно видеть из диаграммы 1500 на фиг. 15, маскирование в частотной области способствует созданию нарушений непрерывности фазы, тогда как, как можно видеть из диаграммы 1600 на фиг. 16, маскирование во временной области, применяемое к полному частотному диапазону поддерживает фазу сигнала и создает совершенный выходной сигнал, свободный от артефактов.
Диаграмма 1700 на фиг. 17 демонстрирует маскирование FD во всей полосе частот ошибочного сигнала. Диаграмма 1800 на фиг. 18 демонстрирует маскирование TD во всей полосе частот ошибочного сигнала. В этом случае, маскирование FD сохраняет характеристики сигнала, тогда как маскирование TD на всех частотах будет создавать раздражающий артефакт типа ʺгудокʺ, или создавать некоторую большую дыру в спектре, которая является заметной.
В частности, можно переключаться между операциями, показанными на фиг. 15-18, с использованием оборудования, показанного на фиг. 8 или реализации способа, показанного на фиг. 10. Контроллер, например, контроллер 813 может совершать определение, например, посредством анализа сигнала (энергии, наклона, грамоничности и т.д.), для появления в операции, показанной на фиг. 16 (только маскирования TD), когда сигнал имеет сильные гармоники. Аналогично, контроллер 813 также может осуществлять определение для появления в операции, показанной на фиг. 17 (только маскирования FD), когда преобладает шум.
Выводы на основе экспериментальных результатом
Традиционным методом маскирования в аудиокодеке AAC [1] является замена шума. Он работает в частотной области и весьма пригоден для зашумленных и музыкальных элементов. Было установлено, что для речевых сегментов, замена шума часто создает нарушения непрерывности фазы, приводящие к раздражающим артефакты щелчка во временной области. Таким образом, подход типа ACELP во временной области можно использовать для речевых сегментов (наподобие TD-TCX PLC в [2][3]), определенных классификатором.
Одна проблема с маскированием во временной области состоит в искусственно сгенерированной грамоничности в полном частотном диапазоне. Если сигнал имеет только сильные гармоники на более низких частотах, для речевых элементов она обычно около 4 кГц, где более высокие частоты состоят из фонового шума, сгенерированные гармоники до частоты Найквиста будут создавать раздражающие артефакты типа ʺгудокʺ. Еще один недостаток подхода временной области состоит в высокой вычислительной сложности по сравнению с безошибочным декодированием или маскированием с заменой шума.
Для снижения вычислительной сложности, заявленный подход использует комбинацию обоих способов:
маскирование во временной области в более низкочастотной части, где речевые сигналы оказывают наивысшее влияние
маскирование в частотной области в более высокочастотной части, где речевые сигналы имеют шумовую характеристику.
Низкочастотная часть (ядро)
Сначала буфер последнего pcm дискретизируется с понижением до желаемой частоты дискретизации ядра (здесь 16 кГц).
Алгоритм маскирования во временной области осуществляется для получения полутора синтезированных кадров. Дополнительная половина кадра позже требуется для механизма перекрытия с добавлением (OLA).
Синтезированный сигнал дискретизируется с повышением до выходной частоты дискретизации (FS_out) и фильтруется низкочастотным фильтром с частотой среза FS_out/2.
Высокочастотная часть
Для высокочастотной части, может применяться любое маскирование в частотной области. Здесь, будет использоваться замена шума внутри аудиокодек AAC-ELD. Этот механизм использует скопированный спектр последнего хорошего кадра и добавляет шум в IMDCT применяется для возврата во временную область.
Замаскированный спектр преобразуется во временную область через IMDCT
В конце, синтезированный сигнал с буфер предыдущего pcm фильтруется высокочастотным фильтром с частотой среза FS_out/2
Полная часть
Для объединения низко- и высокочастотной части, механизм перекрытия и добавления осуществляется во временной области. Для кодека типа AAC, это означает, что более одного кадра (обычно полтора кадра) нужно обновлять для одного замаскированного кадра. Это объясняется тем, что способ анализа и синтеза OLA имеет задержку в половину кадра. IMDCT создает только один кадр, таким образом, необходима дополнительная половина кадра. Таким образом, IMDCT вызывается дважды для получения двух последовательных кадров во временной области.
Низкочастотная и высокочастотная часть суммируются, и применяется механизм добавления с перекрытием
Необязательные расширения
Можно динамически адаптировать частоту перехода между маскированием TD и FD на основе грамоничности и наклона последнего хорошего кадра. Например в случае элемента женской речи с фоновым шумом, сигнал может дискретизироваться с понижением до 5 кГц, и маскирование во временной области будет хорошо маскировать наиболее важную часть сигнала. Затем зашумленная часть будет синтезироваться способом маскирования в частотной области. Это будет снижать сложность по сравнению с фиксированным переходом (или фиксированным коэффициентом понижающей дискретизации) и удалять раздражающие артефакты типа ʺгудокʺ (см. фиг. 12-14).
Экспериментальные выводы
На фиг. 13 показано маскирование TD в полном частотном диапазоне; на фиг. 14 показано гибридное маскирование: от 0 до 2,5 кГц (см. 1402) с маскированием TD и более высоких частот (см. 1401) с маскированием FD.
Однако, если энергетический наклон гармоник постоянен по частотам (и обнаруживаются один чистый основной тон или грамоничность), имеет смысл осуществлять полное частотное маскирование TD и вовсе не осуществлять маскирование FD или наоборот если сигнал не содержит грамоничности.
Маскирование FD (фиг. 15) создает нарушения непрерывности фазы, тогда как маскирование TD (фиг. 16), применяемое в полном частотном диапазоне сохраняет фазу сигналов и создают приблизительный (в ряде случаев даже совершенный) выходной сигнал, свободный от артефактов (совершенного выходного сигнала, свободного от артефактов, можно добиться с действительно тональными сигналами). Маскирование FD (фиг. 17) сохраняет характеристику сигнала, где маскирование TD (фиг. 18) в полном частотном диапазоне создает раздражающий артефакт ʺгудокʺ.
Если основной тон известен для каждого кадра, можно использовать одно ключевое преимущество маскирования во временной области по сравнению с любым тональным маскированием в частотной области, то можно изменять основной тон внутри замаскированного кадра, на основе предыдущего значения основного тона (в разрешении требования задержки также можно использовать будущий кадр для интерполяции).
Дополнительные замечания
Варианты осуществления относятся к способугибридного маскирования, который содержит комбинацию маскирования в частотной и временной области для аудиокодеков. Другими словами, варианты осуществления относятся к способугибридного маскирования в частотной и временной области для аудиокодеков.
Традиционным методом маскирования потери пакетов в аудиокодеке семейства AAC является заменой шума. Он работает в частотной области (FDPLC - маскирование потери пакетов в частотной области) и весьма пригоден для зашумленных и музыкальных элементов. Было установлено, что для речевых сегментов, он часто создает нарушения непрерывности фазы, приводящие к раздражающим артефакты щелчка. Для преодоления этой проблемы подход типа ACELP во временной области TDPLC (маскирование во временной области потери пакетов) используется для речеподобных сегментов. Во избежание вычислительной сложности и высокочастотных артефактов TDPLC, описанный подход использует адаптивную комбинацию обоих способов маскирования: TDPLC для более низких частот, FDPLC для более высоких частот.
Варианты осуществления согласно изобретению можно использовать совместно с любым из следующих принципов: ELD, XLD, DRM, MPEG-H.
Альтернативы реализации
Хотя некоторые аспекты были описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, где блок или устройство соответствует этапу способа или признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента или признака соответствующего устройства. Некоторые или все из этапов способа может выполняться посредством (или с использованием) аппаратного устройства, например, микропроцессора, программируемого компьютера или электронной схемы. В некоторых вариантах осуществления, один или более из наиболее важных этапов способа могут выполняться таким устройством.
В зависимости от определенных требований к реализации, варианты осуществления изобретения можно реализовать аппаратными средствами или программными средствами. Реализация может осуществляться с использованием цифрового носителя данных, например, флоппи-диска, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, где хранятся электронно считываемые сигналы управления, которые взаимодействуют (или способны взаимодействовать) с программируемой компьютерной системой, благодаря чему, осуществляется соответствующий способ. Таким образом, цифровой носитель данных может быть компьютерно-считываемым.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронно считываемые сигналы управления, которые способны взаимодействовать с программируемой компьютерной системой, благодаря чему, осуществляется один из описанных здесь способов.
В целом, варианты осуществления настоящего изобретения можно реализовать в виде компьютерного программного продукта с программным кодом, причем программный код способен осуществлять один из способов, когда компьютерный программный продукт выполняется на компьютере. Программный код может храниться, например, на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из описанных здесь способов, хранящуюся на машиночитаемом носителе.
Другими словами, вариант осуществления способа, отвечающего изобретению является, таким образом, компьютерной программой, имеющей программный код для осуществления одного из описанных здесь способов, когда компьютерная программа выполняется на компьютере.
Дополнительный вариант осуществления способов, отвечающих изобретению, является, таким образом, носителем данных (или цифровым носителем данных, или компьютерно-считываемым носителем), содержащим записанную на нем компьютерную программу для осуществления одного из описанных здесь способов. Носитель данных, цифровой носитель данных или записанный носитель обычно являются материальными и/или долговременными.
Дополнительный вариант осуществления способа, отвечающего изобретению является, таким образом, потоком данных или последовательностью сигналов, представляющих компьютерную программу для осуществления одного из описанных здесь способов. Поток данных или последовательность сигналов может, например, переноситься через соединение для передачи данных, например, интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер, или программируемое логическое устройство, выполненное с возможностью или адаптированное для осуществления одного из описанных здесь способов.
Дополнительный вариант осуществления содержит компьютер, на котором установлена компьютерная программа для осуществления одного из описанных здесь способов.
Дополнительный вариант осуществления согласно изобретению содержит устройство или систему, выполненную с возможностью переноса (например, электронного или оптического) компьютерной программы для осуществления одного из описанных здесь способов на приемник. Приемником может быть, например, компьютер, мобильное устройство, запоминающее устройство и т.п. Устройство или система может, например, содержать файловый сервер для переноса компьютерной программы на приемник.
В некоторых вариантах осуществления, программируемое логическое устройство (например, вентильная матрица, программируемая пользователем) может использоваться для осуществления некоторых или всех функциональных возможностей описанных здесь способов. В некоторых вариантах осуществления, вентильная матрица, программируемая пользователем, может взаимодействовать с микропроцессором для осуществления одного из описанных здесь способов. В целом, способы, предпочтительно, осуществляться любым аппаратным устройством.
Описанное здесь устройство можно реализовать с использованием аппаратного устройства, или с использованием компьютера, или с использованием комбинации аппаратного устройства и компьютера.
Описанные здесь способы могут осуществляться с использованием аппаратного устройства, или с использованием компьютера, или с использованием комбинации аппаратного устройства и компьютера.
Вышеописанные варианты осуществления призваны лишь иллюстрировать принципы настоящего изобретения. Следует понимать, что специалисты в данной области техники могут предложить модификации и вариации описанных здесь конфигураций и деталей. Таким образом, оно ограничивается только объемом нижеследующей формулы изобретения, но не конкретными деталями, представленными посредством описания и объяснения рассмотренных здесь вариантов осуществления.
БИБЛИОГРАФИЯ
[1] 3GPP TS 26,402 „Enhanced aacPlus general audio codec; Additional decoder tools (Release 11)ʺ,
[2] J. Lecomte, et al, ʺEnhanced time domain packet loss concealment in switched speech/audio codecʺ, submitted to IEEE ICASSP, Brisbane, Australia, Apr.2015.
[3] WO 2015063045 A1
[4] "Apparatus and method for improved concealment of the adaptive codebook in ACELP-like concealment employing improved pitch lag estimation", 2014, PCT/EP2014/062589
[5] "Apparatus and method for improved concealment of the adaptive codebook in ACELP-like concealment employing improved pulse ʺsynchronization", 2014, PCT/EP2014/062578