RU2779265C2 - Способы, устройства и системы для улучшения унифицированного декодирования и кодирования речи и звука - Google Patents

Способы, устройства и системы для улучшения унифицированного декодирования и кодирования речи и звука Download PDF

Info

Publication number
RU2779265C2
RU2779265C2 RU2020123712A RU2020123712A RU2779265C2 RU 2779265 C2 RU2779265 C2 RU 2779265C2 RU 2020123712 A RU2020123712 A RU 2020123712A RU 2020123712 A RU2020123712 A RU 2020123712A RU 2779265 C2 RU2779265 C2 RU 2779265C2
Authority
RU
Russia
Prior art keywords
lsf
usac
decoding
vector
mpeg
Prior art date
Application number
RU2020123712A
Other languages
English (en)
Other versions
RU2020123712A (ru
Inventor
Раджат КУМАР
Рамеш КАТУРИ
Сакет САТУВАЛЛИ
Решма РАИ
Original Assignee
Долби Интернэшнл Аб
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Долби Интернэшнл Аб filed Critical Долби Интернэшнл Аб
Priority claimed from PCT/EP2018/085938 external-priority patent/WO2019121980A1/en
Publication of RU2020123712A publication Critical patent/RU2020123712A/ru
Application granted granted Critical
Publication of RU2779265C2 publication Critical patent/RU2779265C2/ru

Links

Images

Abstract

Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в сокращении вычислительной нагрузки при декодировании закодированного потока унифицированного кодирования речи и звука (MPEG-D USAC). Технический результат достигается за счет рекурсивного разбиения преобразования DFT на меньшие преобразования FFT на основе алгоритма Кули-Тьюки, и использования корня 4 степени, если количество точек FFT является степенью 4, и использования смешанного корня, если это количество не является степенью 4, причем выполнение малых преобразований FFT включает в себя применение поворотных коэффициентов, и причем применение поворотных коэффициентов включает в себя обращение к предварительно вычисленным значениям для поворотных коэффициентов, и причем реализация модуля FFT содержит использование матрицы поворотных коэффициентов для 4-точечного FFT, матрица поворотных коэффициентов включает в себя множество поворотных коэффициентов в качестве своих элементов, причем матрица поворотных коэффициентов разделена на первую промежуточную матрицу и вторую промежуточную матрицу. 6 н. и 16 з.п. ф-лы, 8 ил.

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Настоящая заявка испрашивает приоритет согласно следующим приоритетным заявкам: предварительная заявка на патент Индии 201741045575 (ссылочный номер: D17116CINP1), поданная 19 декабря 2017 года, и предварительная заявка на патент США 62/665,746 (ссылочный номер: D17116CUSP1), поданная 02 мая 2018 года, содержание которых полностью включено в настоящую заявку посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
Настоящий документ относится к устройствам и способам для декодирования закодированных потоков унифицированного кодирования речи и звука (USAC). Настоящий документ также относится к такому устройству и способу, которые сокращают вычислительную нагрузку во время выполнения.
УРОВЕНЬ ТЕХНИКИ
Кодеры и декодеры для унифицированного кодирования речи и звука (USAC), специфицированного в международном стандарте ISO/IEC 23003-3:2012 (далее называемого "стандарт USAC"), включают в себя несколько модулей (блоков), которые требуют нескольких этапов комплексных вычислений. Каждый из этих этапов вычислений может быть обременительным для аппаратных систем, реализующих эти кодеры и декодеры. Примеры таких модулей включают в себя модуль (или инструмент) MPS212, модуль гармонической транспозиции QMF, модуль LPC и модуль IMDCT.
Таким образом, существует потребность в реализации модулей кодеров и декодеров USAC, которые сокращают вычислительную нагрузку во время выполнения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
С учетом вышеизложенных проблем настоящий документ обеспечивает устройства и способы для декодирования закодированного потока унифицированного кодирования речи и звука (USAC), а также соответствующие компьютерные программы и запоминающие носители, имеющие признаки соответствующих независимых пунктов формулы изобретения.
Аспект раскрытия относится к устройству для декодирования закодированного потока USAC. Устройство может включать в себя базовый декодер для декодирования закодированного потока USAC. Базовый декодер может включать в себя блок повышающего микширования, выполненный с возможностью выполнить повышающее микширование из моно-сигнала в стерео-сигнал. Блок повышающего микширования может включать в себя блок декоррелятора D, выполненный с возможностью применять фильтр декорреляции к входному сигналу. Блок декоррелятора может быть выполнен с возможностью определять коэффициенты фильтра для фильтра декорреляции посредством обращения к предварительно вычисленным значениям.
Другой аспект раскрытия относится к устройству для кодирования аудиосигнала в поток USAC. Устройство может включать в себя базовый кодер для кодирования потока USAC. Базовый кодер может быть выполнен с возможностью автономно определять коэффициенты фильтра для фильтра декорреляции для использования в блоке повышающего микширования декодера для декодирования потока USAC.
Другой аспект раскрытия относится к способу декодирования закодированного потока USAC. Способ может включать в себя декодирование закодированного потока USAC. Декодирование может включать в себя повышающее микширование из моно-сигнала в стерео-сигнал. Повышающее микширование из моно-сигнала в стерео-сигнал может включать в себя применение фильтра декорреляции к входному сигналу. Применение фильтра декорреляции может включать в себя определение коэффициентов фильтра для фильтра декорреляции посредством обращения к предварительно вычисленным значениям.
Другой аспект раскрытия относится к способу кодирования аудиосигнала в поток USAC. Способ может включать в себя кодирование потока USAC. Кодирование может включать в себя автономное определение коэффициентов фильтра для фильтра декорреляции для использования в блоке повышающего микширования декодера для декодирования закодированного потока USAC.
Другой аспект раскрытия относится к дополнительному устройству для декодирования закодированного потока USAC. Устройство может включать в себя базовый декодер для декодирования закодированного потока USAC. Базовый декодер может включать в себя блок eSBR для расширения частотной полосы входного сигнала. Блок eSBR может включать в себя модуль гармонической транспозиции на основе QMF. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью обрабатывать входной сигнал в области QMF в каждом множестве поддиапазонов синтеза для расширения частотной полосы входного сигнала. Модуль гармонической транспозиции на основе QMF может быть дополнительно выполнен с возможностью функционировать по меньшей мере частично на основе предварительно вычисленной информации.
Другой аспект раскрытия относится к дополнительному способу декодирования закодированного потока USAC. Способ может включать в себя декодирование закодированного потока USAC. Декодирование может включать в себя расширение частотной полосы входного сигнала. Расширение частотной полосы входного сигнала может включать в себя обработку входного сигнала в области QMF в каждом из множества поддиапазонов синтеза. Обработка входного сигнала в области QMF может функционировать по меньшей мере частично на основе предварительно вычисленной информации.
Другой аспект раскрытия относится к дополнительному устройству для декодирования закодированного потока USAC. Устройство может включать в себя базовый декодер для декодирования закодированного потока USAC. Базовый декодер может включать в себя реализацию модуля быстрого преобразования Фурье (FFT) на основе алгоритма Кули-Тьюки. Модуль FFT может быть выполнен с возможностью определять дискретное преобразование Фурье (DFT). Определение DFT может включать в себя рекурсивное разделение преобразования DFT на малые преобразования FFT на основе алгоритма Кули-Тьюки. Определение DFT может дополнительно включить в себя использование корня 4 степени, если количество точек FFT является степенью 4, и использование смешанного корня, если это количество не является степенью 4. Выполнение малых FFT может включать в себя применение поворотных коэффициентов. Применение поворотных коэффициентов может включать в себя обращение к предварительно вычисленным значениям для поворотных коэффициентов.
Другой аспект раскрытия относится к дополнительному устройству для декодирования закодированного потока USAC. Устройство может включать в себя базовый декодер для декодирования закодированного потока USAC. Закодированный поток USAC может включать в себя представление фильтра кодирования с линейным предсказанием (LPC), который был квантован с использованием представления линейной спектральной частоты (LSF). Базовый декодер может быть выполнен с возможностью декодировать фильтр LPC из потока USAC. Декодирование фильтра LPC из потока USAC может включать в себя вычисление начального приближения вектора LSF. Декодирование фильтра LPC из потока USAC может дополнительно включать в себя восстановление разностного вектора LSF. Если для квантования фильтра LPC использовался режим абсолютного квантования, декодирование фильтра LPC из потока USAC может дополнительно включать в себя определение обратных весовых коэффициентов LSF для обратного взвешивания разностного вектора LSF посредством обращения к предварительно вычисленным значениям для обратных весовых коэффициентов LSF или их соответствующих весовых коэффициентов LSF. Декодирование фильтра LPC из потока USAC может дополнительно включать в себя обратное взвешивание разностного вектора LSF посредством определенных обратных весовых коэффициентов LSF. Декодирование фильтра LPC из потока USAC может, кроме того, включать в себя вычисление фильтра LPC на основе обратно взвешенного разностного вектора LSF и начального приближения вектора LSF. Весовые коэффициенты LSF могут быть доступны с использованием следующих уравнений
Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
,
где i - индекс, указывающий компонент вектора LSF, w(i) - весовые коэффициенты LSF, W - масштабный коэффициент, и LSF1st - начальное приближение вектора LSF.
Другой аспект раскрытия относится к дополнительному способу декодирования закодированного потока USAC. Способ может включать в себя декодирование закодированного потока USAC. Декодирование может включать в себя использование реализации модуля быстрого преобразования Фурье (FFT) на основе алгоритма Кули-Тьюки. Реализация модуля FFT может включать в себя определение дискретного преобразования Фурье (DFT). Определение DFT может включать в себя рекурсивное разбиение преобразования DFT в меньшие преобразования FFT на основе алгоритма Кули-Тьюки. Определение DFT может дополнительно включать в себя использование корня 4 степени, если количество точек FFT является степенью 4, и использование смешанного корня, если это количество не является степенью 4. Выполнение малых FFT может включать в себя применение поворотных коэффициентов. Применение поворотных коэффициентов может включать в себя обращение к предварительно вычисленным значениям для поворотных коэффициентов.
Другой аспект раскрытия относится к дополнительному способу декодирования закодированного потока USAC. Способ может включать в себя декодирование закодированного потока USAC. Закодированный поток USAC может включать в себя представление фильтра кодирования с линейным предсказанием (LPC), который был квантован с использованием представления линейной спектральной частоты (LSF). Декодирование может включать в себя декодирование фильтра LPC из потока USAC. Декодирование фильтра LPC из потока USAC может включать в себя вычисление начального приближения вектора LSF. Декодирование фильтра LPC из потока USAC может дополнительно включать в себя восстановление разностного вектора LSF. Если для квантования фильтра LPC использовался режим абсолютного квантования, декодирование фильтра LPC из потока USAC может дополнительно включать в себя определение обратных весовых коэффициентов LSF для обратного взвешивания разностного вектора LSF посредством обращения к предварительно вычисленным значениям для обратных весовых коэффициентов LSF или их соответствующих весовых коэффициентов LSF. Декодирование фильтра LPC из потока USAC может дополнительно включать в себя обратное взвешивание разностного вектора LSF посредством определенных обратных весовых коэффициентов LSF. Декодирование фильтра LPC из потока USAC может, кроме того, включать в себя вычисление фильтра LPC на основе обратно взвешенного разностного вектора LSF и начального приближения вектора LSF. Весовые коэффициенты LSF могут быть доступны с использованием следующих уравнений
Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
,
где i - индекс, указывающий компонент вектора LSF, w(i) - весовые коэффициенты LSF, W - масштабный коэффициент, и LSF1st - начальное приближение вектора LSF.
Дополнительные аспекты раскрытия относятся к носителям записи, включающим в себя программы программного обеспечения, выполненные с возможностью исполнения на процессоре и выполнения этапов способов в соответствии с приведенными выше аспектами раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 схематично иллюстрирует пример кодера для USAC,
Фиг. 2 схематично иллюстрирует пример декодера для USAC,
Фиг. 3 схематично иллюстрирует блок OTT декодера на фиг. 2,
Фиг. 4 схематично иллюстрирует блок декоррелятора блока OTT на фиг. 3,
Фиг. 5 - блок-схема, схематично иллюстрирующая обратное квантование фильтра LPC,
Фиг. 6 схематично иллюстрирует блок IMDCT декодера на фиг. 2, и
Фиг. 7 и фиг. 8 - блок-схемы последовательности этапов, схематично иллюстрирующие примеры способов декодирования закодированного потока USAC.
ПОДРОБНОЕ ОПИСАНИЕ
Фиг. 1 и 2 иллюстрируют пример кодера 1000 и пример декодера 2000, соответственно, для унифицированного кодирования речи и звука (USAC).
Фиг. 1 иллюстрирует пример кодера 1000 USAC. Кодер 1000 USAC включает в себя функциональный блок 1902 MPEG Surround (MPEGS) для управления стерео или многоканальной обработкой, и блок 1901 усовершенствованной SBR (репликации спектральной полосы) (eSBR), который управляет параметрическим представлением более высоких звуковых частот во входном сигнале. Также имеются две ветви 1100, 1200, первый путь 1100 включает в себя модифицированный путь инструмента Advanced Audio Coding (AAC), и второй путь 1200 включает в себя путь на основе кодирования с линейным предсказанием (область LP или LPC), который в свою очередь представляет либо представление в частотной области, либо представление во временной области разностного сигнала LPC. Все переданные спектры и для AAC, и для LPC могут быть представлены в области преобразования MDCT после квантования и арифметического кодирования. Представление временной области может использовать схему с кодовым возбуждением ACELP.
Как отмечено выше, может иметься общий (начальный) процесс предварительной/постобработки, выполняемый функциональным блоком 1902 MPEGS для управления стерео или многоканальной обработкой и блоком 2901 eSBR, соответственно, который управляет параметрическим представлением более высоких звуковых частот во входном сигнале, и который может использовать способы гармонической транспозиции, изложенные в настоящем документе.
Блок 1901 eSBR кодера 1000 может содержать системы воссоздания высоких частот, изложенные в настоящем документе. В частности, блок 1901 eSBR может содержать набор анализирующих фильтров, чтобы сформировать множество сигналов поддиапазонов анализа. Эти сигналы поддиапазонов анализа затем могут быть перемещены в блок нелинейной обработки, чтобы сформировать множество сигналов поддиапазонов синтеза, которые затем могут быть введены в набор синтезирующих фильтров, чтобы сформировать высокочастотный компонент. Закодированные данные, относящиеся к высокочастотному компоненту, подвергаются слиянию с другой закодированной информацией в мультиплексоре битового потока и пересылаются как закодированный аудиопоток соответствующему декодеру 2000.
Фиг. 2 иллюстрирует пример декодера 2000 USAC. Декодер 2000 USAC включает в себя функциональный блок 2902 MPEG Surround для управления стерео или многоканальной обработкой. Функциональный блок 2902 MPEG Surround может быть описан, например, в пункте 7.11 стандарта USAC. Этот пункт полностью включен в настоящий документ по ссылке. Функциональный блок 2902 MPEG Surround может включать в себя блок OTT (блок декодирования OTT) в качестве примера блока повышающего микширования, который может выполнять повышающее микширование из моно-сигнала в стерео-сигнал. Пример блока 300 OTT проиллюстрирован на фиг. 3. Блок 300 OTT может включать в себя декоррелятор D 310 (блок декоррелятора), на который подается входной моно-сигнал M0. Блок 300 OTT может дополнительно включать в себя матрицу 320 микширования (или модуль микширования, применяющий матрицу микширования). Декоррелятор D 310 может обеспечить декоррелированную версию входного моно-сигнала M0. Матрица 320 микширования может микшировать входной моно-сигнал M0 и его декоррелированную версию, чтобы сформировать каналы (например, левый, правый) требуемого стерео-сигнала. Матрица микширования может быть основана, например, на управляющих параметрах CLD, ICC и IPD. Декоррелятор D 310 может содержать всечастотный декоррелятор DAP.
Пример декоррелятора D 310 проиллюстрирован на фиг. 4. Декоррелятор D 310 может содержать (например, состоять из) сепаратор 410 сигнала (например, для отделения транзиента), две структуры 420, 430 декоррелятора и блок 440 объединения сигнала. Сепаратор 410 сигнала (блок разделения) может отделить транзиентный компонент сигнала от не транзиентного компонента входного сигнала. Одна из структур декоррелятора в декорреляторе D может представлять собой всечастотный декоррелятор 420 DAP. Другая из структур декоррелятора может представлять собой транзиентный декоррелятор 430 DTR. Транзиентный декоррелятор 430 DTR может обработать сигнал, который подан на него, например, посредством применения фазы к этому сигналу. Всечастотный декоррелятор 420 DAP может включать в себя фильтр декорреляции с зависимой от частоты предварительной задержкой, за которым следуют всечастотные секции (например, IIR). Коэффициенты фильтра могут быть выведены из коэффициентов решетки по-разному, и это зависит от того, используется ли дробная задержка. Другими словами, коэффициенты фильтра выводятся из коэффициентов решетки разным образом в зависимости от того, используется ли дробная задержка или нет. Для декоррелятора с дробной задержкой дробная задержка применяется посредством добавления зависимого от частоты смещения фазы к коэффициентам решетки. Коэффициенты всечастотного фильтра могут быть определены автономно с использованием коэффициентов решетки. Таким образом, коэффициенты всечастотного фильтра могут быть вычислены предварительно. Во время выполнения предварительно вычисленные коэффициенты всечастотного фильтра могут быть получены и использованы для всечастотного декоррелятора 420 DAP. Например, коэффициенты всечастотного фильтра могут быть определены на основе одной или более поисковых таблиц.
В общем случае коэффициенты решетки (также известные как коэффициенты отражения) преобразовываются в коэффициенты фильтра axn, k и bxn, k следующим образом:
Figure 00000005
Figure 00000006
Figure 00000007
где
Figure 00000008
обозначает комплексное сопряжение от
Figure 00000009
, и где
Figure 00000010
являются коэффициентами фильтра для фильтра порядка p, заданные следующей рекурсией:
Figure 00000011
Figure 00000012
Figure 00000013
Figure 00000014
Приведенная выше формула может быть реализована автономно, чтобы получить (например, предварительно вычислить) коэффициенты фильтра до времени выполнения. Во время выполнения на предварительно вычисленные коэффициенты всечастотного фильтра можно ссылаться по мере необходимости, не вычисляя их из коэффициентов решетки. Например, коэффициенты всечастотного фильтра могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка коэффициентов всечастотного фильтра в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящего коэффициента (коэффициентов) всечастотного фильтра во время выполнения.
При предварительном вычислении коэффициентов всечастотного фильтра ось частот может быть подразделена на множество неперекрывающихся и последовательных областей, например, с первой по четвертую области. Обычно каждая область может соответствовать множеству последовательных частотных диапазонов. Затем отдельная поисковая таблица может быть обеспечена для каждой области, причем соответствующая поисковая таблица включает в себя коэффициенты всечастотного фильтра для этой области частот.
Например, коэффициенты фильтра для коэффициентов решетки для первой области вдоль оси частот могут быть определены на основе:
Figure 00000015
Коэффициенты фильтра для коэффициентов решетки для второй области вдоль оси частот могут быть определены на основе:
Figure 00000016
Коэффициенты фильтра для коэффициентов решетки для третьей области вдоль оси частот могут быть определены на основе:
Figure 00000017
Коэффициенты фильтра для коэффициентов решетки для четвертой области вдоль оси частот могут быть определены на основе:
Figure 00000018
В приведенной ниже функции ixheaacd_mps_decor_filt_init переменная self->den инициализируется соответствующим коэффициентом фильтра (lattice_coeff_0_filt_den_coeff/ lattice_coeff_1_filt_den_coeff/ lattice_coeff_2_filt_den_coeff/ lattice_coeff_3_filt_den_coeff) на основе частотного диапазона реверберации. Эта переменная self->den (которая является указателем на коэффициент фильтра) используется в функции ixheaacd_mps_allpass_apply, как показано ниже.
Figure 00000019
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, которое сконфигурировано следующим образом. Устройство может содержать базовый декодер для декодирования закодированного потока USAC. Базовый декодер может включать в себя блок повышающего микширования (например, блок OTT), выполненный с возможностью выполнять повышающее микширование из моно-сигнала в стерео-сигнал. Блок повышающего микширования в свою очередь может включать в себя блок декоррелятора D, выполненный с возможностью применять фильтр декорреляции к входному сигналу. Блок декоррелятора D может быть выполнен с возможностью определять коэффициенты фильтра для фильтра декорреляции посредством обращения к предварительно вычисленным значениям. Коэффициенты фильтра для фильтра декорреляции могут быть предварительно вычислены автономно и до времени выполнения (например, до декодирования) и могут быть сохранены в одной или более поисковых таблицах. Отдельная поисковая таблица может быть обеспечена для каждого множества не накладывающихся диапазонов частотных полос. Определение коэффициентов фильтра может включать в себя запрос предварительно вычисленных значений для коэффициентов фильтра из одной или более поисковых таблиц во время декодирования.
Базовый декодер может содержать функциональный блок MPEG Surround, который включает в себя блок повышающего микширования. Фильтр декорреляции может включать в себя зависимую от частоты предварительную задержку, за которой следуют всечастотные секции. Коэффициенты фильтра могут быть определены для всечастотных секций. Блок повышающего микширования может представлять собой блок OTT, который может выполнять повышающее микширование из моно-сигнала в стерео-сигнал.
Входной сигнал может представлять собой моно-сигнал. Блок повышающего микширования может дополнительно включать в себя модуль микширования для применения матрицы микширования для микширования входного сигнала с выходными данными блока декоррелятора. Блок декоррелятора может включать в себя блок разделения для отделения транзиентного компонента входного сигнала от не транзиентного компонента входного сигнала, блок всечастотного декоррелятора, выполненный с возможностью применять фильтр декорреляции к не транзиентному компоненту входного сигнала, блок транзиентного декоррелятора, выполненный с возможностью обрабатывать транзиентный компонент входного сигнала, и блок объединения сигнала для объединения выходных данных блока всечастотного декоррелятора и выходных данных блока транзиентного декоррелятора. Блок всечастотного декоррелятора может быть выполнен с возможностью определять коэффициенты фильтра для фильтра декорреляции посредством обращения к предварительно вычисленным значениям.
Пример соответствующего способа 700 применения фильтра декорреляции в контексте повышающего микширования из моно-сигнала в стерео-сигнал при декодировании закодированного потока USAC показан в блок-схеме последовательности этапов на фиг. 7.
На этапе S710 транзиентный компонент входного сигнала отделяется от не транзиентного компонента входного сигнала. На этапе S720, фильтр декорреляции применяется к не транзиентному компоненту входного сигнала посредством блока всечастотного декоррелятора. Коэффициенты фильтра для фильтра декорреляции определяются посредством обращения к предварительно вычисленным значениям. На этапе S730, транзиентный компонент входного сигнала обрабатывается посредством блока транзиентного декоррелятора. На этапе S740, выходные данные блока всечастотного декоррелятора и выходные данные блока транзиентного декоррелятора объединяются.
Как проиллюстрировано на фиг. 2, декодер 2000 USAC дополнительно включает в себя блок 2901 усовершенствованной репликации спектральной полосы (eSBR). Блок 2901 eSBR может быть описан, например, в пункте 7.5 стандарта USAC. Этот пункт полностью включен в настоящий документ по ссылке. Блок 2901 eSBR принимает закодированный битовый аудиопоток или закодированный сигнал от кодера. Блок 2901 eSBR может сформировать высокочастотный компонент сигнала, который подвергается слиянию с декодированным низкочастотным компонентом для получения декодированного сигнала. Другими словами, блок 2901 eSBR может восстановить верхний диапазон аудиосигнала. Он может быть основан на репликации последовательностей гармоник, усеченных во время кодирования. Кроме того, он может отрегулировать огибающую спектра сформированной высокочастотной полосы, и применить обратную фильтрацию и добавить шумовые и синусоидальные компоненты, чтобы воссоздать спектральные характеристики первоначального сигнала. Выходные данные инструмента eSBR могут представлять собой либо сигнал во временной области, либо представление сигнала в области набора фильтров (например, QMF-области), например, в случае использования MPS212.
Блок 2901 eSBR может содержать различные компоненты, такие как набор анализирующих фильтров, блок нелинейной обработки и набор синтезирующих фильтров. Блок 2901 eSBR может включать в себя модуль гармонической транспозиции на основе QMF. Модуль гармонической транспозиции на основе QMF может быть описан, например, в пункте 7.5.4 стандарта USAC. Этот пункт полностью включен в настоящий документ по ссылке. В модуле гармонической транспозиции на основе QMF расширение частотной полосы входного сигнала (например, сигнала во временной области базового кодера) может быть выполнено полностью в области QMF, например, с использованием модифицированной структуры фазового вокодера, выполняющей прореживание и затем растяжение во времени для каждого поддиапазона QMF. Транспозиция с использованием нескольких коэффициентов транспозиции (например, T=2, 3, 4) может быть выполнена на стадии обычного преобразования анализа/синтеза QMF. Например, в случае sbrRatio="2:1" выходной сигнал модуля транспозиции будет иметь частоту дискретизации в два раза больше чем у входного сигнала (для sbrRatio="8:3": 8/3 частоты дискретизации), и это означает, что для коэффициента транспозиции T=2 комплексные сигналы поддиапазона QMF, полученные из набора анализирующих фильтров QMF модуля комплексной транспозиции, будут растянуты во времени, но не прорежены, и поданы в набор синтезирующих фильтров QMF с удвоенным физическим интервалом поддиапазонов по сравнению с набором анализирующих фильтров QMF модуля транспозиции. Объединенная система может интерпретироваться как три параллельных модуля транспозиции, использующих коэффициенты транспозиции 2, 3 и 4, соответственно. Чтобы сократить сложность, коэффициенты 3 и 4 модуля транспозиции (модули транспозиции третьего и четвертого порядка) могут быть интегрированы в модуль транспозиции с коэффициентом 2 (модуль транспозиции второго порядка) посредством интерполяции. Следовательно, для модуля транспозиции второго порядка требуется только по одной стадии анализирующего и синтезирующего преобразования QMF. Поскольку модуль гармонической транспозиции на основе QMF не обладает адаптивной к сигналу супердискретизацией в частотной области, соответствующий флаг в битовом потоке игнорируется.
В модуле транспозиции QMF комплексное выходное значение коэффициента усиления может быть определено для всех поддиапазонов синтеза на основе:
Figure 00000020
где k указывает отсчет поддиапазона.
Вместо вычисления действительных и мнимых частей комплексных экспонент комплексных выходных коэффициентов усиления во время выполнения, эти значения предварительно вычислены автономно (и сохранены), и во время выполнения к ним осуществляется доступ, например, из соответствующих поисковых таблиц.
Таким образом, действительные и мнимые части комплексных экспонент предварительно вычисляются (автономно) и сохраняются. Во время выполнения на предварительно вычисленные действительные и мнимые части комплексных экспонент могут делаться ссылки по мере необходимости без вычисления. Например, действительные и мнимые части комплексных экспонент могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка коэффициентов всечастотного фильтра в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящих действительных и мнимых комплексных экспонент во время выполнения.
Например, одна поисковая таблица может быть обеспечена для действительных частей комплексных экспонент (например, таблица phase_vocoder_cos_tab), и другая поисковая таблица может быть обеспечена для мнимых частей комплексных экспонент (например, таблица phase_vocoder_sin_tab). Во время выполнения индекс k частотной полосы (который может быть обозначен qmf_band_idx) может использоваться для ссылки на эти поисковые таблицы и извлечение подходящих действительных и мнимых частей.
Комплексное умножение отсчетов QMF на выходные коэффициенты усиления в каждом поддиапазоне синтеза для применения выходных коэффициентов усиления Ω(k) может быть выполнено на основе заданной ниже функции ixheaacd_qmf_hbe_apply(ixheaacd_hbe_trans.c), где qmf_r_out_buf[i] и qmf_i_out_buf[i] указывают действительную и мнимую части, соответственно, отсчета QMF i в соответствующем поддиапазоне синтеза (обозначенном индексом qmf_band_idx).
Figure 00000021
Как отмечено выше, умножение для применения выходных коэффициентов усиления Ω(k) может быть основано на таблице phase_vocoder_cos_tab[k] (для действительных частей) и таблице phase_vocoder_sin_tab[k] (для мнимой части), которые могут быть заданы следующим образом:
Figure 00000022
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, которое сконфигурировано следующим образом. Устройство может содержать базовый декодер для декодирования закодированного потока USAC. Базовый декодер может включать в себя блок eSBR для расширения частотной полосы входного сигнала, блок eSBR включает в себя модуль гармонической транспозиции на основе QMF. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью обрабатывать входной сигнал в области QMF в каждом множестве поддиапазонов синтеза для расширения частотной полосы входного сигнала. Модуль гармонической транспозиции на основе QMF может быть дополнительно выполнен с возможностью функционировать по меньшей мере частично на основе предварительно вычисленной информации.
Предварительно вычисленная информация может храниться в одной или более поисковых таблицах. Затем модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к предварительно вычисленной информации из одной или более поисковых таблиц во время выполнения.
Блок eSBR может быть выполнен с возможностью восстанавливать компонент частоты верхнего диапазона входного сигнала на основе репликации последовательностей гармоник, которые были усечены во время кодирования, чтобы тем самым расширить частотную полосу входного сигнала. Блок eSBR может быть выполнен с возможностью управлять параметрическим представлением более высоких звуковых частот во входном сигнале.
Модуль гармонической транспозиции на основе QMF может быть дополнительно выполнен с возможностью получать соответствующее комплексное выходное значение коэффициента усиления для каждого из множества поддиапазонов синтеза и применять комплексные выходные значения коэффициента усиления к их соответствующим поддиапазонам синтеза. Предварительно вычисленная информация может относиться к комплексным выходным значениям коэффициента усиления. Комплексные выходные значения коэффициента усиления могут включать в себя действительные и мнимые части, к которым осуществляют доступ из одной или более поисковых таблиц во время выполнения.
Также в модуле транспозиции QMF входной временной сигнал базового кодера может быть преобразован в область QMF с использованием блоков входных отсчетов coreCoderFrameLength. Чтобы сэкономить вычислительную сложность, преобразование реализовано посредством применения критической обработки дискретизации сигналов поддиапазона из набора 32-полосных анализирующих фильтров QMF, который уже присутствует в инструменте SBR. Критическая обработка дискретизации может преобразовать матрицу X Low в новые подматрицы QMF Γ(μ,ν) с удвоенным разрешением с отсчетами поддиапазона. Эти подматрицы QMF могут управляться посредством обработки блока поддиапазона с временной протяженностью в двенадцать отсчетов поддиапазона с шагом отсчета поддиапазона, равным 1. Обработка может выполнить линейные извлечения и нелинейные операции с этими подматрицами и выполняет наложения с суммированием модифицированных подматриц с шагом отсчета поддиапазона, равным 2. Результат состоит в том, что выходные данные QMF подвергаются растяжению в области поддиапазона с коэффициентом 2 и транспозициям в области поддиапазона с коэффициентами T/2=1, 3/2, 2. После синтеза с помощью набора фильтров QMF с удвоенным физическим интервалом поддиапазонов по сравнению набором анализирующих фильтров модуля транспозиции получится требуемая транспозиция с коэффициентами T=2, 3, 4.
В одном примере нелинейная обработка одной подматрицы отсчетов может быть обеспечена на основе переменной u=0, 1, 2, ..., которая обозначает позицию подматрицы. В целях обозначений в дальнейшем этот индекс может быть опущен, когда он фиксирован. Вместо этого может использоваться следующая индексация подматрицы:
Figure 00000023
Выходные данные нелинейной модификации обозначены как Y(m, k), где m=-6, ..., 5, и xOverQMF(0)< k<xOverQmf(numPatches). Каждый поддиапазон синтеза с индексом k может являться результатом одного порядка транспозиции, и обработка может немного отличаться в зависимости от этого порядка. Общим признаком является то, что выбираются поддиапазоны анализа с индексами, аппроксимирующими 2k/T.
В одном случае, для xOverQmf(1) ≤ k < xOverQmf(2), где T= 3, нелинейная обработка может использовать линейную интерполяцию для извлечения нецелочисленных отсчетов поддиапазона.
Могут быть определены два индекса n и ñ поддиапазона анализа. Например, индекс ñ поддиапазона анализа может быть определен как целая часть от 2k/T=2k/3, и индекс n поддиапазона анализа может быть определен как n=ñ+κ, где
Figure 00000024
и Z+ обозначает множество положительных целых чисел.
Блок с заданной временной протяженностью (например, восемь отсчетов поддиапазона) может быть извлечен для ν=n, ñ как
Figure 00000025
.
Элементы нецелочисленного отсчета поддиапазона могут быть получены посредством фильтра интерполяции с двумя отводами в форме
Figure 00000026
с коэффициентами фильтра, определенными для
Figure 00000027
и ε=0,1, как
Figure 00000028
Отсчеты QMF X(m,ν), полученные этим методом, могут быть преобразованы в полярные координаты для ν=n,ñ как
Figure 00000029
Выходные данные тогда могут быть определены для
Figure 00000030
как
Figure 00000031
и Y(3)(m, k) может быть расширен с помощью нулей для
Figure 00000032
. Эта последняя операция может быть эквивалентна окну синтеза с прямоугольным окном с длиной восемь. Умножение на комплексный выходной коэффициент усиления Ω(k) может включать в себя методики, описанные выше.
Необходимость определения элементов нецелочисленного отсчета поддиапазона также может возникнуть в контексте добавления векторных произведений, которое описано далее.
Для каждого k, xOverQmf(0) ≤ k ≤ xOverQmf(numPatches), уникальный коэффициент транспозиции T=2, 3, 4 определен по правилу xOverQmf(T-2) ≤ kxOverQmf(T-1). Коэффициент усиления векторного произведения ΩC(m, k) устанавливается равным нулю, если параметр высоты векторного произведения удовлетворяет p<1. p может быть определен из параметра sbrPitchInBins[ch] битового потока как
Figure 00000033
Если p ≥ 1, то ΩC(m, k) и промежуточные целочисленные параметры μ 1 (k), μ 2 (k) и t(k) могут быть определен следующей процедурой. Пусть M - максимальное из по большей мере T-1 значений
Figure 00000034
, где
-
Figure 00000035
- целая часть
Figure 00000036
и
Figure 00000037
;
-
Figure 00000038
- целая часть
Figure 00000039
и
Figure 00000040
;
-
Figure 00000041
.
Если
Figure 00000042
, где
Figure 00000043
определено как целая часть
Figure 00000044
, то добавление векторного произведения отменяется, и
Figure 00000045
. Иначе t(k) определяется как наименьшее
Figure 00000046
, для которого
Figure 00000047
и целочисленная пара
Figure 00000048
определяются как соответствующая максимизирующая пара
Figure 00000049
. Два коэффициента понижающей дискретизации
Figure 00000050
и
Figure 00000051
могут быть определены из значений T и t(k) как конкретные решения уравнения
Figure 00000052
=T/2, которые даны в следующей таблице:
T t(k) D 1 (k) D 2 (k)
2 1 0 1
3 1 0 1,5
3 2 1,5 0
4 1 0 2
4 2 0 1
4 3 2 0
В случаях, когда
Figure 00000053
и
Figure 00000054
, коэффициент усиления векторного произведения может быть тогда определен как
Figure 00000055
.
Могут быть извлечены два блока с временной протяженностью, например, в два отсчетов поддиапазона. Например, это извлечение может быть выполнено в соответствии с
Figure 00000056
где использование коэффициента понижающей дискретизации, равного нолю, может соответствовать повторению одного значения отсчета поддиапазона, и использование нецелочисленного коэффициента понижающей дискретизации потребует вычисления нецелочисленных элементов отсчета поддиапазона. Эти элементы могут быть получены посредством того же самого фильтра интерполяции с двумя отводами в форме:
Figure 00000026
с коэффициентами фильтра, определенными для
Figure 00000027
и ε=0,1, как
Figure 00000028
Извлеченные отсчеты QMF X1(m) и X2(m) преобразовываются в полярные координаты
Figure 00000057
Член векторного произведения тогда вычисляется как
Figure 00000058
Figure 00000059
может быть расширен с помощью нулей для
Figure 00000060
.
Объединенные выходные данные QMF тогда могут быть получены посредством сложения вкладов
Figure 00000061
и
Figure 00000062
.
Из приведенной выше формулы для
Figure 00000063
мы видим, что
Real (h 1 (n)) = Real (h 0 (n))
Imag (h 1 (n)) = -Imag (h 0 (n)) и
Real (h 0 (n) ) = cos(((2* n+1 ) *p)/4)
Imag (h 0 (n)) = sin(((2* n+1 ) *p)/4)
Где Real (h e (n)) относится к действительной части h e (n) , и Imag (h e (n)) относится к мнимой части комплексного числа h e (n) . Таким образом, (единственными) релевантными значениями являются Real h0(ν) и Imag h0(ν).
Формула для определения коэффициентов фильтра h ε (ν) (или эквивалентно Real h 0 (ν) и Imag h 0 (ν)) может быть реализована автономно для получения (например, предварительного вычисления) коэффициентов фильтра до времени выполнения. Во время выполнения на предварительно вычисленные коэффициенты фильтра h ε (ν) можно делать ссылку по мере необходимости без вычисления. Например, коэффициенты фильтра h ε (ν) могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка коэффициентов фильтра h ε (ν) в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящего коэффициента (коэффициентов) фильтра во время выполнения.
Например, к поисковой таблице можно осуществить доступ на основе значения ν. В качестве примера к следующей таблице осуществляют доступ на основе значения n, табличные значения соответствуют заданному n следующим образом
Real (h 0 (n) ) = hbe_post_anal_proc_interp_coeff[(( n+ 1) & 3)][0];
Imag (h 0 (n) ) = hbe_post_anal_proc_interp_coeff[( n+ 1) & 3)][1];
Figure 00000064
Из таблицы можно заметить, что абсолютное значение действительных и мнимых частей коэффициентов является одинаковым. Таким образом, умножение на коэффициенты фильтра h ε (ν) может быть заменено сложениями и вычитаниями (например, действительных и мнимых частей целочисленных отсчетов поддиапазона B(μ,ν) и B(μ+1,ν), соответственно), за которыми следует единственное умножение результата на 0,3984033437 (0.3984033437f).
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, как описано выше (среди прочего включающего в себя модуль гармонической транспозиции QMF), для которого множество поддиапазонов синтеза может включать в себя нецелочисленные поддиапазоны синтеза с дробным индексом поддиапазона. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью обрабатывать отсчеты, извлеченные из входного сигнала в этих нецелочисленных поддиапазонах синтеза. Предварительно вычисленная информация может относиться к коэффициентам интерполяции для интерполяции отсчетов в нецелочисленных поддиапазонах на основе отсчетов в соседних целочисленных поддиапазонах с целочисленными индексами поддиапазонов. Коэффициенты интерполяции могут быть определены автономно и сохранены в одной или более поисковых таблицах. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к коэффициентам интерполяции из одной или более поисковых таблиц во время выполнения.
Также определение значения коэффициента усиления векторного произведения, заданного следующей формулой
Figure 00000065
может быть реализовано автономно для получения (например, предварительного вычисления) коэффициентов усиления векторного произведения до времени выполнения. Во время выполнения на предварительно вычисленные коэффициенты усиления векторного произведения можно ссылаться по мере необходимости без вычисления. Например, коэффициенты усиления векторного произведения могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка коэффициентов усиления векторного произведения в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящего коэффициента (коэффициентов) усиления векторного произведения во время выполнения. Извлечение предварительно вычисленных коэффициентов усиления векторного произведения может быть выполнено посредством того же самого блока нелинейной обработки, как описано выше.
Например, упомянутое выше комплексное значение коэффициента усиления векторного произведения может быть заменено следующими поисковыми таблицами:
hbe_x_prod_cos_table_trans_2, hbe_x_prod_cos_table_trans_3, hbe_x_prod_cos_table_trans_4
Эти таблицы могут быть вычислены посредством прямой замены этих значений, и к ним может быть осуществлен доступ на основе значений t(k), D1(k) и D2(k). Например, таблицы могут быть заданы как:
Figure 00000066
Figure 00000067
Figure 00000068
Figure 00000069
Figure 00000070
Figure 00000071
Figure 00000072
Figure 00000073
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, как описано выше (среди прочего включающего в себя модуль гармонической транспозиции QMF), для которого модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью извлекать отсчеты из поддиапазонов входного сигнала, получать значения коэффициента усиления векторного произведения для пар извлеченных отсчетов и применять значения коэффициента усиления векторного произведения к соответствующим парам извлеченных отсчетов. Предварительно вычисленная информация может относиться к значениям коэффициента усиления векторного произведения. Значения коэффициента усиления векторного произведения могут быть определены автономно на основе формулы коэффициента усиления векторного произведения и сохранены в одной или более поисковых таблицах. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к значениям коэффициента усиления векторного произведения из одной или более поисковых таблиц во время выполнения.
Модуль транспозиции QMF может включить в себя наборы субдискретизированных фильтров для критической обработки дискретизации QMF. Такие наборы субдискретизированных фильтров для критической обработки дискретизации QMF могут быть описаны, например, в пункте 7.5.4.2 стандарта USAC, который полностью включен в настоящий документ по ссылке. Подмножество поддиапазонов, покрывающих исходный диапазон для модуля транспозиции, может быть синтезировано во временной области посредством малого набора субдискретизированных действительнозначных фильтров QMF. Выходные данные во временной области из этого набора фильтров затем подаются в набор комплекснозначных анализирующих фильтров QMF с удвоенным размером набора фильтров. Этот подход дает существенную экономию вычислительной сложности, поскольку только релевантный исходный диапазон преобразовывается в область поддиапазона QMF, имеющую удвоенное частотное разрешение. Малые наборы фильтров QMF получаются посредством субдискретизации первоначального набора 64-полосных фильтров QMF, в котором прототипные коэффициенты фильтра получены посредством линейной интерполяции первоначального прототипного фильтра.
Модуль транспозиции QMF может включать в себя набор действительнозначных субдискретизированных MS-канальных синтезирующих фильтров. Набор действительнозначных субдискретизированных MS-канальных синтезирующих фильтров модуля транспозиции QMF может быть описан, например, в пункте 7.5.4.2.2 стандарта USAC. Этот пункт полностью включен в настоящий документ по ссылке. В наборе фильтров множество из MS действительнозначных отсчетов поддиапазона может быть вычислено на основе MS новых комплекснозначных отсчетов поддиапазона в соответствии с
Figure 00000074
В уравнении exp() обозначает комплексную экспоненциальную функцию, i - мнимая единица.
Figure 00000075
представляет индекс поддиапазона первого канала из набора фильтров QMF (например, набора 32-полосных фильтров QMF) для входа в набор субдискретизированных синтезирующих фильтров, т.е., первой полосы. Когда coreCoderFrameLength=768 отсчетов и k L +M S > 24, k L вычисляется как k L =24 - M S .
Формула для определения комплексных коэффициентов (т.е., комплексных экспонент) может быть реализована автономно для получения (например, предварительного вычисления) комплексных коэффициентов до времени выполнения. Во время выполнения на предварительно вычисленные комплексные коэффициенты можно ссылаться по мере необходимости без вычисления. Например, комплексные коэффициенты могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка комплексных коэффициентов в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящего комплексного коэффициента (коэффициентов) фильтра во время выполнения.
Например, в процессе определения действительнозначного субдискретизированного MS-канального синтезирующего фильтра в наборе фильтров QMF упомянутые выше комплексные коэффициенты (т.е., комплексные экспоненты) могут быть определены на основе поисковой таблицы. Значения с нечетными индексами в этой таблице могут соответствовать синусу (мнимому компоненту комплексного значения), и значения с четными индексами могут соответствовать косинусу (действительному компоненту комплексных значений). Разные таблицы могут быть обеспечены для разных начальных полос kL.
Например, поисковая таблица может быть задана следующим образом (для MS=32):
Figure 00000076
Figure 00000077
Figure 00000078
Figure 00000079
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, как описано выше (среди прочего включающего в себя модуль гармонической транспозиции QMF), для которого модуль гармонической транспозиции на основе QMF может содержать набор действительнозначных MS-канальных синтезирующих фильтров, выполненных с возможностью вычислять множество из MS действительнозначных отсчетов поддиапазона из множества из MS новых комплекснозначных отсчетов поддиапазона. Каждый действительнозначный отсчет поддиапазона и каждый новый комплекснозначный отсчет поддиапазона могут быть ассоциированы с соответствующим поддиапазоном среди MS поддиапазонов. Вычисление множества из MS действительнозначных отсчетов поддиапазона из множества из MS новых комплекснозначных отсчетов поддиапазона могут включать в себя, для каждого из MS новых комплекснозначных отсчетов поддиапазона, применение соответствующей комплексной экспоненты к этому новому комплекснозначному отсчету поддиапазона и извлечение его действительной части. Соответствующая комплексная экспонента может зависеть от индекса поддиапазона этого нового комплекснозначного отсчета поддиапазона. Предварительно вычисленная информация может относиться к комплексным экспонентам для MS поддиапазонов. Комплексные экспоненты могут быть определены автономно и сохранены в одной или более поисковых таблицах. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к комплексным экспонентам из одной или более поисковых таблиц во время выполнения.
Далее в наборе действительнозначных субдискретизированных MS-канальных синтезирующих фильтров модуля транспозиции QMF отсчеты в массиве v могут быть сдвинуты на 2M S позиций. Наиболее старые 2M S отсчетов могут быть отброшены. M S действительнозначных отсчетов поддиапазона могут быть умножены на матрицу N, т.е. вычисляется матрично-векторное произведение N…V, где элементы матрицы N заданы как
Figure 00000080
Матрица N (т.е., ее элементы) могут быть предварительно вычислены (автономно) для всех возможных значений MS до времени выполнения. Во время выполнения на предварительно вычисленные матрицы N (т.е., их элементы) можно ссылаться по мере необходимости без вычисления. Например, матрицы N могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка (элементов) матриц N в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящей матрицы (элементов) во время выполнения.
Например, элементы матрицы N для всех возможных значений Ms (например, Ms=4, 8, 12, 16, 20) могут быть предварительно вычислены и сохраненный в следующих таблицах: synth_cos_tab_kl_4, synth_cos_tab_kl_8, synth_cos_tab_kl_12, synth_cos_tab_kl_16, synth_cos_tab_kl_20, где
Figure 00000081
Figure 00000082
Figure 00000083
Figure 00000084
Figure 00000085
Figure 00000086
Figure 00000087
Figure 00000088
Figure 00000089
Figure 00000090
Каждая таблица может соответствовать заданному значению Ms и включает в себя элементы матрицы с размером 2MS × MS.
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, как описано выше (среди прочего включающего в себя модуль гармонической транспозиции QMF), для которого модуль гармонической транспозиции на основе QMF может содержать набор действительнозначных MS- канальных фильтров синтеза. Набор действительнозначных MS-канальных фильтров синтеза может быть выполнен с возможностью обрабатывать массив из MS действительнозначных отсчетов поддиапазона, чтобы получить массив из 2MS действительнозначных отсчетов поддиапазона. Каждый действительнозначный отсчет поддиапазона среди MS действительнозначных отсчетов поддиапазона может относиться к соответствующему поддиапазону среди MS поддиапазонов. Обработка массива из MS действительнозначных отсчетов поддиапазона может включать в себя выполнение матрично-векторного умножения действительнозначной матрицы N и массива из MS действительнозначных отсчетов поддиапазона. Элементы действительнозначной матрицы N могут зависеть от индекса поддиапазона соответствующего отсчета поддиапазона, на который они умножаются при векторно-матричном умножении вектора на матрицу. Далее, предварительно вычисленная информация может относиться к элементам действительнозначной матрицы для матрично-векторного умножения. Элементы действительнозначной матрицы N могут быть определены автономно и сохранены в одной или более поисковых таблицах. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к элементам действительнозначной матрицы N из одной или более поисковых таблиц во время выполнения.
Как отмечено выше, отсчеты в массиве v могут быть сдвинуты на 2M S позиций. Наиболее старые 2M S отсчетов могут быть отброшены. M S действительнозначных отсчетов поддиапазона могут быть умножены на матрицу N, т.е. вычисляется матрично-векторное произведение N · V, где
Figure 00000091
Выходные данные этой операции могут быть сохранена в позициях от 0 до 2M S -1 массива v. Отсчеты из массива v могут быть извлечены, чтобы создать массив g из 10M S элементов. Отсчеты массива g могут быть умножены на окно c i для получения массива w. Оконные коэффициенты c i могут быть получены посредством линейной интерполяции коэффициентов c, т.е. через уравнение
Figure 00000092
Коэффициенты c могут быть определены в таблице 4.A.89 документа ISO/IEC 14496-3:2009, эта таблица полностью включена в настоящий документ по ссылке.
Формула для определения оконных коэффициентов c i из коэффициентов c может быть реализована автономно для получения (например, предварительного вычисления) оконных коэффициентов c i до времени выполнения. Во время выполнения на предварительно вычисленные оконные коэффициенты c i можно ссылаться по мере необходимости без вычисления. Например, оконные коэффициенты c i могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка оконных коэффициентов c i в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящего оконного коэффициента (коэффициентов) c i во время выполнения.
В одной реализации коэффициенты c i (n) для всех возможных значений M s (например, MS=4, 8, 12, 16, 20) могут быть вычислены и сохранены в таблице. Например, все коэффициенты, соответствующие всем возможным значениям M s , могут быть предварительно вычислены и сохраненный в (находящейся в постоянном запоминающем устройстве (ПЗУ; ROM)) таблице sub_samp_qmf_window_coeff, которая проиллюстрирована ниже.
На основе значения M s соответствующие оконные коэффициенты преобразовываются с использованием функции map_prot_filter (ixheaacd_hbe_trans.c) следующим образом
Figure 00000093
Figure 00000094
Figure 00000095
Figure 00000096
Figure 00000097
Figure 00000098
Figure 00000099
Figure 00000100
Figure 00000101
Таблица может включать в себя, начиная с позиции индекса 0, оконные коэффициенты ci(n), n=0, …, 10MS-1, для первого возможного значения MS (например, MS=4), затем, начиная со следующей позиции индекса, оконные коэффициенты ci(n) для второго возможного значения MS (например, MS=8), и т.д.
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, как описано выше (среди прочего включающего в себя модуль гармонической транспозиции QMF), для которого модуль гармонической транспозиции на основе QMF может содержать набор действительнозначных MS-канальных синтезирующих фильтров и набор комплекснозначных 2M-канальных анализирующих фильтров. Предварительно вычисленная информация может относиться к оконным коэффициентам для оконной обработки массивов отсчетов во время синтеза в наборе действительнозначных MS-канальных синтезирующих фильтров и/или во время анализа в наборе комплекснозначных 2M-канальных анализирующих фильтров. Оконные коэффициенты могут быть определены автономно на основе линейной интерполяции между сведенными в таблицу значениями для всех возможных значений MS или M, соответственно, и сохранены в одной или более поисковых таблицах. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к оконным коэффициентам из одной или более поисковых таблиц во время выполнения.
Модуль транспозиции QMF может включать в себя набор комплекснозначных субдискретизированных 2M-канальных анализирующих фильтров. M может быть равно MS. Набор комплекснозначных субдискретизированных M-канальных анализирующих фильтров может быть описан, например, в пункте 7.5.4.2.3 стандарта USAC. Этот пункт полностью включен в настоящий документ по ссылке.
В наборе анализирующих фильтров отсчеты массива x могут быть сдвинуты на 2M S позиций. Наиболее старые 2M S отсчетов отбрасываются, и 2M S новых отсчетов сохраняются в позициях от 0 до 2M S -1. Отсчеты массива x могут быть умножены на оконные коэффициенты c 2i . Оконные коэффициенты c 2i получены посредством линейной интерполяции коэффициентов c, т.е. через уравнение
Figure 00000102
где
Figure 00000103
и
Figure 00000104
определены как целая и дробная части
Figure 00000105
, соответственно. Отсчеты могут быть просуммированы, чтобы создать массив u из 4MS элементов. 2MS новых комплекснозначных отсчетов поддиапазона могут быть вычислены на основе матрично-векторного умножения M · u, где
Figure 00000106
В уравнении exp() обозначает комплексную экспоненциальную функцию, и i - мнимая единица.
Формула для определения матрицы M(k, n) (или ее элементов) может быть реализована автономно для получения (например, предварительного вычисления) матрицы (или элементов) до времени выполнения. Во время выполнения на предварительно вычисленные матрицы можно ссылаться по мере необходимости без вычисления. Например, матрицы M(k, n) могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка элементов матриц в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящих элементов матриц во время выполнения.
В одной реализации M(k, n) для всех возможных значений M s (например, MS=8, 16, 24, 32, 40) могут быть вычислены и сохранены в таблице вместо вычисления во время инициализации (время выполнения). Поисковые таблицы могут быть названы
analy_cos_sin_tab_kl_8, analy_cos_sin_tab_kl_16, analy_cos_sin_tab_kl_24, analy_cos_sin_tab_kl_32 и analy_cos_sin_tab_kl_40, и проиллюстрированы ниже.
Все элементы с четными индексами в таблице могут соответствовать действительной части (значения косинуса) упомянутых выше комплекснозначных коэффициентов (элементов матрицы M(k, n)), и элементы с нечетными индексами могут соответствовать мнимой части (значения синуса) упомянутых выше комплекснозначных коэффициентов.
Общее количество комплексных значений, соответствующих заданному M s , составляет 8*(M s ) 2. Лишь половины, т.е. 4*(M s ) 2 значений достаточно для достижения обработки.
Функция ixheaacd_complex_anal_filt иллюстрирует, как могут использоваться таблицы. Это достигнуто при помощи периодической природы значений в этой матрице.
Figure 00000107
Figure 00000108
Сами таблицы могут быть заданы следующим образом:
Figure 00000109
Figure 00000110
Figure 00000111
Figure 00000112
Figure 00000113
Figure 00000114
Figure 00000115
Figure 00000116
Figure 00000117
Figure 00000118
Figure 00000119
Figure 00000120
Figure 00000121
Figure 00000122
Figure 00000123
Figure 00000124
Figure 00000125
Figure 00000126
Figure 00000127
Figure 00000128
Figure 00000129
Figure 00000130
Figure 00000131
Figure 00000132
Figure 00000133
Figure 00000134
Figure 00000135
Figure 00000136
Figure 00000137
Figure 00000138
Figure 00000139
Figure 00000140
Figure 00000141
Каждая таблица может соответствовать заданному значению MS и включить в себя комплексные элементы матрицы с размером (2MS) × (4MS). Как отмечено выше, элементы с четными индексами (в предположении, что индексация начинается с нуля) таблиц могут соответствовать действительным частям соответствующих элементов матрицы, тогда как элементы с нечетными индексами могут соответствовать мнимым частям соответствующих элементов матрицы.
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, как описано выше (среди прочего включающего в себя модуль гармонической транспозиции QMF), для которого модуль гармонической транспозиции на основе QMF может содержать набор комплекснозначных 2MS-канальных анализирующих фильтров. Набор комплекснозначных 2MS-канальных анализирующих фильтров может быть выполнен с возможностью обрабатывать массив из 4MS отсчетов поддиапазона для получения массива из 2MS комплекснозначных отсчетов поддиапазона. Каждый комплекснозначный отсчет поддиапазона среди 2MS действительнозначных отсчетов поддиапазона может быть ассоциирован с соответствующим поддиапазоном среди 2MS поддиапазонов. Обработка массива из 4MS отсчетов поддиапазона может включать в себя выполнение матрично-векторного умножения комплекснозначной матрицы M и массива из 4MS отсчетов поддиапазона. Элементы комплекснозначной матрицы M могут зависеть от индекса поддиапазона соответствующего отсчета поддиапазона среди 2MS комплекснозначных отсчетов поддиапазона, в которые элементы матрицы вносят вклад при векторно-матричном умножении. Предварительно вычисленная информация может относиться к элементам комплекснозначной матрицы M для матрично-векторного умножения. Элементы комплекснозначной матрицы M могут быть определены автономно и сохранены в одной или более поисковых таблицах. Модуль гармонической транспозиции на основе QMF может быть выполнен с возможностью осуществлять доступ к элементам комплекснозначной матрицы M из одной или более поисковых таблиц во время выполнения.
Кроме того, в модуле транспозиции QMF может быть выполнен следующий код:
Figure 00000142
Эта функция vld4q_s32 предназначена для загрузки вектора из 16 32-битных элементов данных из местоположения в памяти (указатель на эту память передается в качестве входного параметра в эту функции). Аналогичным образом, функция vst4q_s32 предназначена для сохранения вектора из 16 32-битных элементов данных в местоположение в памяти (указатель на эту память передается в качестве входного параметра в эту функцию). Функция vld4q_s32 обеспечивает оптимальные для платформы инструкцию и код, поддержка легче, чем фактическое кодирование на ассемблере. Эти две функции достигают такой же цели, как кодирование на ассемблере, однако удобочитаемость, лучше для собственной версии.
Декодер 2000 может дополнительно включать в себя инструмент 2903 фильтра LPC, который производит сигнал временной области из сигнала области возбуждения посредством фильтрации воссозданного сигнала возбуждения через синтезирующий фильтр линейного предсказания.
Фильтр (фильтры) LPC может быть передан в битовом потоке USAC (в обоих режимах ACELP и TCX). В нем фактическое количество фильтров LPC nb_lpc, которые закодированы в битовом потоке, зависит от комбинации режимов ACELP/TCX кадра USAC. Комбинация режимов ACELP/TCX может быть извлечена из поля (например, поля lpd_mode) кадра USAC, который в свою очередь определяет режимы кодирования, mod[k] для k=0, ..., 3, для каждого из 4 субкадров, составляющих кадр USAC. Значение режима может быть равно 0 для ACELP, 1 для короткого TCX (coreCoderFrameLength/4 отсчетов), 2 для среднего TCX (coreCoderFrameLength/2 отсчетов), 3 для длинного TCX (coreCoderFrameLength отсчетов).
Битовый поток может быть подвергнут синтаксическому разбору, чтобы извлечь индексы квантования, соответствующие каждому из фильтров LPC, требуемых комбинацией режима ACELP/TCX. Далее описаны операции, требуемые для декодирования одного из фильтров LPC.
Обратное квантование фильтра LPC выполняется, как описано на фиг. 5.
Фильтры LPC квантуются с использованием представления линейных спектральных частот (LSF). Начальное приближение вычисляется посредством режима абсолютного квантования или режимов относительного квантования. Это описано, например, в пункте 7.13.6 стандарта USAC, который полностью включен в настоящий документ по ссылке. Информация, указывающая режим квантования (mode_lpc), включена в битовый поток. Декодер может извлечь режим квантования в качестве первого шага декодирования фильтра LPC.
Факультативное уточнение, квантованное посредством алгебраического векторного квантования (AVQ), затем вычисляется на основе блока векторного квантования с 8-мерной решеткой RE8 (матрица Госсета). Это описано, например, в пункте 7.13.7 стандарта USAC, который полностью включен в настоящий документ по ссылке. Квантованный вектор LSF воссоздается посредством сложения начального приближения и обратно взвешенного вклада AVQ. (Более подробно см. пункты 7.13.5, 7.13.6, 7.13.7 23003-3:2012 ISO/IEC). Обратно квантованный вектор LSF может быть затем преобразован в вектор параметров LSP (пара спектральных линий), затем интерполирован и снова преобразован в параметры LPC.
На фиг. 5 закодированные индексы из битового потока USAC принимаются демультиплексором 510, который выдает данные блоку 520 начального приближения и декодеру 530 алгебраического VQ (AVQ). Начальное приближение вектора LSF получается в блоке 510. Разностный вектор LSF получается декодером 530 AVQ. Обратные весовые коэффициенты для разностного вектора LSF могут быть определены на основе начального приближения вектора LSF в блоке 540. Обратное взвешивание выполняется в блоке 550 умножения посредством применения соответствующих обратных весовых коэффициентов к компонентам разностного вектора LSF. Обратно квантованный вектор LSF получается в блоке 560 сложения посредством сложения начального приближения вектора LSF и обратно взвешенного разностного вектора LSF.
Чтобы построить обратно квантованный вектор LSF, информация, относящаяся к уточнению AVQ, извлекается из битового потока. AVQ основано на векторном блоке квантования с 8-мерной решеткой RE 8 . Декодирование фильтров LPC включает в себя декодирование двух 8-мерных подвекторов
Figure 00000143
взвешенного разностного вектора LSF.
Информация AVQ для этих двух подвекторов может быть извлечена из битового потока. Она может содержать два номера qn1 и qn2 закодированных кодовых книг и соответствующие индексы AVQ. Взвешенный разностный вектор LSF получается посредством конкатенации двух подвекторов
Figure 00000144
и
Figure 00000145
уточнения AVQ. Этот взвешенный разностный вектор LSF должен быть обратно взвешен, чтобы инвертировать взвешивание, которое было выполнено в кодере USAC. Следующий подход для обратного взвешивания может использоваться, когда используется режим абсолютного квантования.
1) В режиме абсолютного квантования значения LSF могут быть извлечены из таблицы.
2) Затем мы вычисляем весовые коэффициенты LSF с использованием следующего уравнения
Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
3) Поскольку значения LSF извлечены из таблицы, существующая таблица может быть заменена предварительно вычисленной таблицей, в которой показанные ниже весовые коэффициенты LSF уже взвешены с весовым коэффициентом в
Figure 00000146
В соответствии с этим обратное взвешивание посредством весовых коэффициентов LSF может быть реализовано автономно для получения (например, предварительного вычисления) взвешенных значений LSF до времени выполнения. Во время выполнения на предварительно вычисленные нагруженные значения LSF можно ссылаться по мере необходимости без вычисления. Например, обратные взвешенные значения LSF могут быть получены (например, считаны, извлечены) из одной или более поисковых таблиц. Фактическая расстановка взвешенных значений LSF в поисковой таблице (таблицах) может быть различной при условии, что декодеру предоставлена процедура для извлечения подходящих обратных взвешенных значений LSF во время выполнения.
Пример поисковой таблицы для использования на этапе 3) показан ниже. Использование этой поисковой таблицы позволяет предотвратить вычисление расстояния LSF, умножения смежного расстояния, за которым следует извлечение квадратного корня и деление.
Figure 00000147
Figure 00000148
Figure 00000149
Figure 00000150
Figure 00000151
Figure 00000152
Figure 00000153
Figure 00000154
Figure 00000155
Figure 00000156
Figure 00000157
Figure 00000158
Figure 00000159
Figure 00000159
Figure 00000160
Figure 00000161
Figure 00000162
Figure 00000163
Figure 00000164
Figure 00000165
Figure 00000166
Следующий пример кода иллюстрирует использование обсуждавшийся выше функции weight_table_avq_flt.
Figure 00000167
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, которое сконфигурировано следующим образом. Устройство может содержать базовый декодер для декодирования закодированного потока USAC. Закодированный поток USAC может включать в себя представление фильтра кодирования с линейным предсказанием (LPC), который был квантован с использованием представления линейной спектральной частоты (LSF). Базовый декодер может быть выполнен с возможностью декодировать фильтр LPC из потока USAC. Декодирование фильтра LPC из потока USAC может содержать вычисление начального приближения вектора LSF, воссоздание разностного вектора LSF, если для квантования фильтра LPC использовался режим абсолютного квантования, определение обратных весовых коэффициентов LSF для обратного взвешивания разностного вектора LSF посредством обращения к предварительно вычисленным значениям для обратных весовых коэффициентов LSF или их соответствующих весовых коэффициентов LSF, обратное взвешивание разностного вектора LSF посредством определенных обратных весовых коэффициентов LSF и вычисление фильтра LPC на основе обратно взвешенного разностного вектора LSF и начального приближения вектора LSF. Весовые коэффициенты LSF могут быть доступны с использованием следующих уравнений
Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
,
где i - индекс, указывающий компонент вектора LSF, w(i) - весовые коэффициенты LSF, W - масштабный коэффициент, и LSF1st - начальное приближение вектора LSF.
Весовые коэффициенты LSF или обратные весовые коэффициенты LSF могут быть предварительно вычислены автономно (до времени выполнения) и сохранены в одной или более поисковых таблицах. Декодирование фильтра LPC из потока USAC может включать в себя запрос предварительно вычисленных значений для весовых коэффициентов LSF или обратных весовых коэффициентов LSF из одной или более поисковых таблиц во время декодирования.
Декодирование фильтра LPC из потока USAC может дополнительно содержать воссоздание подвекторов уточнения алгебраического векторного квантования (AVQ) разностного вектора LSF из потока USAC и конкатенацию подвекторов уточнения AVQ для получения разностного вектора LSF. Декодирование фильтра LPC из потока USAC может дополнительно содержать определение вектора LSF посредством сложения начального приближения вектора LSF и обратно взвешенного разностного вектора LSF, преобразование вектора LSF в область косинусов для получения вектора LSP и определение коэффициентов линейного предсказания фильтра LPF на основе вектора LSP. Декодирование фильтра LPC из потока USAC может дополнительно содержать извлечение информации, указывающей режим квантования, из потока USAC и определение, использовался ли режим абсолютного квантования для квантования фильтра LPC.
Декодирование фильтра LPC из потока USAC может содержать извлечение компонентов разностного вектора LSF из поисковой таблицы. Поисковая таблица может включать в себя компоненты обратно взвешенного разностного вектора LSF.
Пример соответствующего способа 800 декодирования фильтра LPC в контексте декодирования потока USAC показан в блок-схеме последовательности этапов на фиг. 8.
На этапе S810 вычисляется начальное приближение вектора LSF. На этапе S820 воссоздается разностный вектор LSF. На этапе S830, если режим абсолютного квантования использовался для квантования фильтра LPC, определяются обратные весовые коэффициенты LSF для обратного взвешивания разностного вектора LSF посредством обращения к предварительно вычисленным значениям для обратных весовых коэффициентов LSF или их соответствующих весовых коэффициентов LSF. На этапе S840 выполняется обратное взвешивание разностного вектора LSF посредством определенных обратных весовых коэффициентов LSF. На этапе S850 вычисляется фильтр LPC на основе обратно взвешенного разностного вектора LSF и начального приближения вектора LSF. В приведенном выше описании вектор LSF доступен с использованием следующих уравнений
Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
,
где i - индекс, указывающий компонент вектора LSF, w(i) - весовые коэффициенты LSF, W - масштабный коэффициент, и LSF1st - начальное приближение вектора LSF.
Декодер 2000 на фиг. 2 также может включать в себя дополнительные компоненты, которые могут быть совместимы с унифицированным кодеком речи и звука, такие как:
- инструмент 2904 демультиплексора полезной нагрузки битового потока, который разделяет полезную нагрузку битового потока на части для каждого инструмента и предоставляет каждому из инструментов информацию полезной нагрузки битового потока, относящуюся к этому инструменту;
- инструмент 2905 бесшумного декодирования масштабных коэффициентов, который извлекает информацию из демультиплексора полезной нагрузки битового потока, выполняет синтаксический разбор этой информации и декодирует масштабные коэффициенты, закодированные с помощью кода Хаффмана и DPCM;
- инструмент 2905 спектрального бесшумного декодирования, который извлекает информацию из демультиплексора полезной нагрузки битового потока, выполняет синтаксический разбор этой информации, декодирует арифметически закодированные данные и воссоздает квантованные спектры;
- инструмент 2905 обратного квантования, который извлекает квантованные значения для спектров и преобразовывает целочисленные значения в не масштабированные воссозданные спектры; этот блок квантования предпочтительно является блоком квантования с компандированием, коэффициент компандирования которого зависит от выбранного базового режима кодирования;
- инструмент 2905 заполнения шумом, который используется для заполнения спектральных провалов в декодированных спектрах, которые возникают, когда спектральные значения квантуются до нуля, например, вследствие сильного ограничения на потребность разрядов в кодере;
- инструмент 2905 перемасштабирования, который преобразовывает целочисленное представление масштабных коэффициентов в фактические значения и умножает не масштабированные обратно квантованные спектры на релевантные масштабные коэффициенты;
- инструмент 2906 M/S, как описано в ISO/IEC 14496-3;
- инструмент 2907 временного формирования шума (TNS), как описано в ISO/IEC 14496-3;
- инструмент 2908 набора фильтров/переключения блоков, который применяет инверсию отображения частот, которое было выполнено в кодере; обратное модифицированное дискретное косинусное преобразование (IMDCT) предпочтительно используется для инструмента набора фильтров;
- инструмент 2908 набора фильтров/переключения блоков с деформацией времени, который заменяет обычный инструмент набора фильтров/переключения блоков, когда разрешен режим деформации времени; набор фильтров предпочтительно тот же самый (IMDCT) для обычного набора фильтров, дополнительно обработанные с помощью оконной функции отсчеты во временной области отображаются из деформированной временной области в линейную временную область посредством переменной во времени передискретизации;
- инструмент 2902 MPEG Surround (MPEGS), который производит несколько сигналов из одного или более входных сигналов посредством применения сложной процедуры повышающего микширования к входному сигналу (сигналам), управляемой подходящими пространственными параметрами; в контексте USAC MPEGS предпочтительно используется для кодирования многоканального сигнала посредством передачи параметрической вспомогательной информации вместе с переданным микшированным с понижением сигналом;
- инструмент классификатора сигнала, который анализирует первоначальный входной сигнал и формирует из него управляющую информацию, которая инициирует выбор различных режимов кодирования; анализ входного сигнала обычно зависит от реализации и пытается выбрать оптимальный базовый режим кодирования для данного кадра входного сигнала; выходные данные классификатора сигнала в некоторых случаях также могут использоваться, чтобы влиять на поведение других инструментов, например, MPEG Surround, усовершенствованной SBR, набора фильтров с деформацией времени и других;
- инструмент 2909 ACELP, который обеспечивает метод эффективного представления сигнала возбуждения во временной области посредством комбинирования долгосрочного предсказания (адаптивное кодовое слово) с импульсовидной последовательностью (инновационное кодовое слово).
Пример блока 600 IMDCT схематично проиллюстрирован на фиг. 6. В блоке 600 IMDCT может быть использован модуль 620 FFT. В одной реализации реализация модуля FFT основана на алгоритме Кули-Тьюки. Преобразование DFT рекурсивно разделено на малые преобразования FFT. Алгоритм использует корень 4 степени для количества точек, являющегося степенью 4, и используется смешанный корень, если степень не равна 4.
Матрица поворотных коэффициентов, используемая четырехточечным FFT , разбивается, как показано ниже, и применяется к входным данным.
Figure 00000168
Матрица поворотных коэффициентов, используемая четырехточечным IFFT , разбивается, как показано ниже, и применяется к входным данным.
Figure 00000169
Разбиение матрицы упомянутым выше методом эффективно помогает при использовании доступных регистров ARM без дополнительных загрузок в стек и выгрузок из стека. Причина состоит в том, что применение упомянутых выше разделенных матриц требует только одного дополнительного вычитания на каждый индекс, так как каждый столбец и каждая строка разделенных матриц включает в себя только два отличных от нуля элемента.
Все поворотные коэффициенты предварительно вычисляются, и для реализации нужны только 514 поворотных коэффициентов ((257 значений косинусов и 257 значений синусов) для вычисления всех 2n-точечных преобразований FFT до 1024 (210) точек.
C-реализация может быть векторизована в соответствии с различными процессорами (например, ARM, DSP, X86).
Блок MDCT и блок IMDCT могут быть реализованы c использованием блока 610 предварительно вычисленных поворотных коэффициентов, за которым следует блок 620 FFT (модуль FFT) и блок 630 обработки после применения поворотных коэффициентов, что сокращает сложность обработки. Сложность блоков намного меньше, чем для прямой реализации. Кроме того, блок извлекает все преимущества, которые имеет блок FFT. Таблица поворотных коэффициентов, используемая блоками предварительной и постобработки, может быть извлечена из поисковых таблиц.
Следующий код иллюстрирует преобразование FFT настоящего изобретения:
Figure 00000170
Figure 00000171
В итоге изложенное выше может соответствовать обработке устройства для декодирования закодированного потока USAC, которое сконфигурировано следующим образом. Устройство может содержать базовый декодер для декодирования закодированного потока USAC. Базовый декодер может включать в себя реализацию модуля быстрого преобразования Фурье (FFT) на основе алгоритма Кули-Тьюки. Модуль FFT выполнен с возможностью определять дискретное преобразование Фурье (DFT). Определение DFT может включать в себя рекурсивное разделение преобразования DFT на малые преобразования FFT на основе алгоритма Кули-Тьюки. Определение DFT может дополнительно включить в себя использование корня 4 степени, если количество точек FFT является степенью 4, и использование смешанного корня, если это количество не является степенью 4. Выполнение малых FFT может включать в себя применение поворотных коэффициентов. Применение поворотных коэффициентов может включать в себя обращение к предварительно вычисленным значениям для поворотных коэффициентов.
Модуль FFT может быть выполнен с возможностью определять поворотные коэффициенты посредством обращения к предварительно вычисленным значениям. Поворотные коэффициенты могут быть предварительно вычислены автономно и сохранены в одной или более поисковых таблицах. Применение поворотных коэффициентов может включать в себя запрос предварительно вычисленных значений для поворотных коэффициентов из одной или более поисковых таблиц во время декодирования.
Модуль FFT может быть выполнен с возможностью использовать матрицу поворотных коэффициентов для 4-точечного FFT, матрица поворотных коэффициентов включает в себя множество поворотных коэффициентов в качестве ее элементов. Матрица поворотных коэффициентов может быть разделена на первую промежуточную матрицу и вторую промежуточную матрицу. Матричное произведение первой промежуточной матрицы и второй промежуточной матрицы может дать в результате матрицу поворотных коэффициентов. Каждая из первой и второй промежуточных матриц может иметь точно два элемента в каждой строке и в каждом столбце. Модуль FFT может быть выполнен с возможностью последовательно применять первую и вторую промежуточные матрицы к входным данным, к которым должны быть применены поворотные коэффициенты. Модуль FFT может быть выполнен с возможностью обращаться к предварительно вычисленным значениям для элементов матрицы поворотных коэффициентов или к предварительно вычисленным значениям для элементов первой и второй промежуточных матриц.
Во время декодирования предсказание комплексного стерео-сигнала требует микшированного с понижением спектра MDCT пары текущих каналов, и в случае complex_coef == 1 требует оценки микшированного с понижением спектра MDST пары текущих каналов, т.е. мнимой дополняющей части спектра MDCT. Микшированная с понижением оценка MDST вычисляется из микширования с понижением преобразования MDCT текущего кадра, и в случае use_prev_frame == 1, микширования с понижением преобразования MDCT предыдущего кадра. Микширование с понижением преобразования MDCT предыдущего кадра dmx_re_prev[g][b] оконной группы g и оконной группы b получается из воссозданных левого и правого спектра этого кадра и индикатора pred_dir текущего кадра.
Во время этого процесса может использоваться значение dmx_length, где значение dmx_length является длиной преобразования MDCT с четным значением, которая зависит от window_sequence. Во время фильтрации вспомогательная функция filterAndAdd() может выполнить фактическую фильтрацию и сложение и может быть определена на основе следующего:
Figure 00000172
Фрагмент кода FilterandAdd
Figure 00000173
Фрагмент кода ixheaacd_filter_and_add
Приведенный выше фрагмент кода указывает, что к указателю коэффициента фильтра доступ осуществляется в порядке убывания, в то время как к входным данным доступ осуществляется в порядке возрастания. В Neon, когда эти два вектора загружаются, входные данные загружают от [v1[0]-v1[3]), и фильтр загружается от [v2[0]-v2[3]]. Согласно приведенным выше формулам v1[0] будет умножен на v2[3], что не поддерживается в Neon. Таким образом, мы должны были инвертировать фильтр или входные данные во время выполнения. На это обращена предложенная процедура (например, показанная в нижнем фрагменте кода), в которой мы перестроили коэффициент фильтра, сохраняя их и избегая любой перестановки во время выполнения, тем самым улучшая производительность (количество MCPS)
Способ и система, описанные в настоящем документе, могут быть реализованы как программное обеспечение, программно-аппаратное обеспечение и/или аппаратные средства. Например, некоторые компоненты могут быть реализованы как программное обеспечение, работающее на процессоре цифровой обработки сигналов или микропроцессоре. Другой компонент может быть реализован, например, как аппаратные средства и/или как специализированные интегральные схемы. Сигналы, встречающиеся в описанных способах и системах, могут быть сохранены на носителях, таких как оперативное запоминающее устройство или оптические запоминающие носители. Они могут быть перенесены через сети, такие как радиосети, спутниковые сети, беспроводные сети или проводные сети, например, Интернет. Типичными устройствами, использующими способ и систему, описанные в настоящем документе, являются ТВ-приставки или другое потребительское оборудование, которое декодирует аудиосигналы. На стороне кодирования способ и система могут использоваться в радиостанциях, например, в головных узлах передачи видеоданных.

Claims (102)

1. Устройство для декодирования закодированного потока унифицированного кодирования речи и звука (MPEG-D USAC), причем устройство содержит:
базовый декодер для декодирования закодированного потока унифицированного кодирования речи и звука (MPEG-D USAC);
причем базовый декодер включает в себя реализацию модуля быстрого преобразования Фурье (FFT) на основе алгоритма Кули-Тьюки,
причем модуль FFT выполнен с возможностью определять дискретное преобразование Фурье (DFT),
причем определение DFT включает в себя:
рекурсивное разбиение преобразования DFT на малые преобразования FFT на основе алгоритма Кули-Тьюки, и
использование корня 4 степени, если количество точек FFT является степенью 4, и использование смешанного корня, если это количество не является степенью 4, и
причем выполнение малых преобразований FFT включает в себя применение поворотных коэффициентов,
причем применение поворотных коэффициентов включает в себя обращение к предварительно вычисленным значениям для поворотных коэффициентов, и
причем модуль FFT дополнительно выполнен с возможностью использовать матрицу поворотных коэффициентов для 4-точечного FFT, матрица поворотных коэффициентов включает в себя множество поворотных коэффициентов в качестве своих элементов,
причем матрица поворотных коэффициентов разделена на первую промежуточную матрицу и вторую промежуточную матрицу, причем матричное произведение первой промежуточной матрицы и второй промежуточной матрицы приводит к матрице поворотных коэффициентов, и причем каждая из первой и второй промежуточных матриц имеет два ненулевых элемента в каждой строке и в каждом столбце,
причем модуль FFT выполнен с возможностью последовательно применять первую и вторую промежуточные матрицы к входным данным, к которым должны быть применены поворотные коэффициенты, и
причем матрица поворотных коэффициентов разделяется следующим образом:
Figure 00000174
и применяется к входным данным.
2. Устройство по п. 1, в котором модуль FFT выполнен с возможностью определять поворотные коэффициенты посредством обращения к предварительно вычисленным значениям.
3. Устройство по п. 1 или 2, в котором поворотные коэффициенты предварительно вычислены автономно и сохранены в одной или более поисковых таблицах.
4. Устройство по любому из пп. 1-3, в котором применение поворотных коэффициентов включает в себя запрос предварительно вычисленных значений для поворотных коэффициентов из одной или более поисковых таблиц во время декодирования.
5. Устройство по любому из пп. 1-4,
в котором модуль FFT выполнен с возможностью обращаться к предварительно вычисленным значениям для элементов матрицы поворотных коэффициентов или к предварительно вычисленным значениям для элементов первой и второй промежуточных матриц.
6. Устройство для декодирования закодированного потока унифицированного кодирования речи и звука (MPEG-D USAC), причем устройство содержит:
базовый декодер для декодирования закодированного потока унифицированного кодирования речи и звука (MPEG-D USAC),
причем закодированный поток унифицированного кодирования речи и звука (MPEG-D USAC) включает в себя представление фильтра кодирования с линейным предсказанием (LPC), который был квантован с использованием представления линейной спектральной частоты (LSF);
причем базовый декодер выполнен с возможностью декодировать фильтр LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC);
причем декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) содержит:
вычисление начального приближения вектора LSF;
восстановление разностного вектора LSF;
если для квантования фильтра LPC использовался режим абсолютного квантования, определение обратных весовых коэффициентов LSF для обратного взвешивания разностного вектора LSF посредством обращения к предварительно вычисленным значениям для обратных весовых коэффициентов LSF или их соответствующих весовых коэффициентов LSF;
обратное взвешивание разностного вектора LSF посредством определенных обратных весовых коэффициентов LSF; и
вычисление фильтра LPC на основе обратно взвешенного разностного вектора LSF и начального приближения вектора LSF;
причем весовые коэффициенты LSF могут быть получены с использованием следующих уравнений:
Figure 00000175
Figure 00000176
Figure 00000177
Figure 00000178
,
где i - индекс, указывающий компонент вектора LSF, w(i) - весовые коэффициенты LSF, W - масштабный коэффициент, и LSF1st - начальное приближение вектора LSF,
причем весовые коэффициенты LSF или обратные весовые коэффициенты LSF предварительно вычислены автономно и сохранены в одной или более поисковых таблицах, и
причем декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) включает в себя запрос предварительно вычисленных значений для весовых коэффициентов LSF или обратных весовых коэффициентов LSF из одной или более поисковых таблиц во время декодирования.
7. Устройство по п. 6, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) дополнительно содержит:
воссоздание подвекторов уточнения алгебраического векторного квантования (AVQ) разностного вектора LSF из потока унифицированного кодирования речи и звука (MPEG-D USAC); и
конкатенацию подвекторов уточнения AVQ для получения разностного вектора LSF.
8. Устройство по любому из пп. 6, 7, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) дополнительно содержит:
определение вектора LSF посредством сложения начального приближения вектора LSF и обратно взвешенного разностного вектора LSF;
преобразование вектора LSF в область косинусов для получения вектора LSP; и
определение коэффициентов линейного предсказания фильтра LPF на основе вектора LSP.
9. Устройство по любому из пп. 6-8, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) дополнительно содержит:
извлечение информации, указывающей режим квантования, из потока унифицированного кодирования речи и звука (MPEG-D USAC) и определение, использовался ли режим абсолютного квантования для квантования фильтра LPC.
10. Устройство по любому из пп. 6-9, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) содержит:
извлечение компонентов разностного вектора LSF из поисковой таблицы,
причем поисковая таблица включает в себя компоненты обратно взвешенного разностного вектора LSF.
11. Способ декодирования закодированного потока унифицированного кодирования речи и звука (MPEG-D USAC), причем способ содержит этап, на котором:
декодируют закодированный поток унифицированного кодирования речи и звука (MPEG-D USAC);
причем декодирование включает в себя использование реализации модуля быстрого преобразования Фурье (FFT) на основе алгоритма Кули-Тьюки,
причем реализация модуля FFT включает в себя определение дискретного преобразования Фурье (DFT),
причем определение DFT включает в себя этапы, на которых:
рекурсивно разбивают преобразование DFT на меньшие преобразования FFT на основе алгоритма Кули-Тьюки, и
используют корень 4 степени, если количество точек FFT является степенью 4, и используют смешанный корень, если это количество не является степенью 4,
причем выполнение малых преобразований FFT включает в себя применение поворотных коэффициентов, и
причем применение поворотных коэффициентов включает в себя обращение к предварительно вычисленным значениям для поворотных коэффициентов, и
причем реализация модуля FFT содержит использование матрицы поворотных коэффициентов для 4-точечного FFT, матрица поворотных коэффициентов включает в себя множество поворотных коэффициентов в качестве своих элементов,
причем матрица поворотных коэффициентов разделена на первую промежуточную матрицу и вторую промежуточную матрицу, причем матричное произведение первой промежуточной матрицы и второй промежуточной матрицы приводит к матрице поворотных коэффициентов, и причем каждая из первой и второй промежуточных матриц имеет два ненулевых элемента в каждой строке и в каждом столбце,
причем реализация модуля FFT содержит последовательное применение первой и второй промежуточных матриц к входным данным, к которым должны быть применены поворотные коэффициенты, и
причем матрица поворотных коэффициентов разделяется следующим образом:
Figure 00000174
и применяется к входным данным.
12. Способ по п. 11, в котором реализация модуля FFT дополнительно включает в себя определение поворотных коэффициентов посредством обращения к предварительно вычисленным значениям.
13. Способ по п. 11 или 12, в котором поворотные коэффициенты предварительно вычислены автономно и сохранены в одной или более поисковых таблицах.
14. Способ по любому из пп. 11-13, в котором применение поворотных коэффициентов включает в себя запрос предварительно вычисленных значений для поворотных коэффициентов из одной или более поисковых таблиц во время декодирования.
15. Способ по любому из пп. 11-14,
в котором реализация модуля FFT содержит обращение к предварительно вычисленным значениям для элементов матрицы поворотных коэффициентов или к предварительно вычисленным значениям для элементов первой и второй промежуточных матриц.
16. Способ декодирования закодированного потока унифицированного кодирования речи и звука, причем способ содержит этап, на котором:
декодируют закодированный поток унифицированного кодирования речи и звука (MPEG-D USAC),
причем закодированный поток унифицированного кодирования речи и звука (MPEG-D USAC) включает в себя представление фильтра кодирования с линейным предсказанием (LPC), который был квантован с использованием представления линейной спектральной частоты (LSF);
причем декодирование содержит декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC);
причем декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) содержит этапы, на которых:
вычисляют начальное приближение вектора LSF;
восстанавливают разностный вектор LSF;
если для квантования фильтра LPC использовался режим абсолютного квантования, определяют обратные весовые коэффициенты LSF для обратного взвешивания разностного вектора LSF посредством обращения к предварительно вычисленным значениям для обратных весовых коэффициентов LSF или их соответствующих весовых коэффициентов LSF;
выполняют обратное взвешивание разностного вектора LSF посредством определенных обратных весовых коэффициентов LSF; и
вычисляют фильтр LPC на основе обратно взвешенного разностного вектора LSF и начального приближения вектора LSF;
причем весовые коэффициенты LSF могут быть получены с использованием следующих уравнений:
Figure 00000175
Figure 00000176
Figure 00000177
Figure 00000178
,
где i - индекс, указывающий компонент вектора LSF, w(i) - весовые коэффициенты LSF, W - масштабный коэффициент, и LSF1st - начальное приближение вектора LSF,
причем весовые коэффициенты LSF или обратные весовые коэффициенты LSF предварительно вычислены автономно и сохранены в одной или более поисковых таблицах, и
причем декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) включает в себя запрос предварительно вычисленных значений для весовых коэффициентов LSF или обратных весовых коэффициентов LSF из одной или более поисковых таблиц во время декодирования.
17. Способ по п. 16, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) дополнительно содержит этапы, на которых:
воссоздают подвекторы уточнения алгебраического векторного квантования (AVQ) разностного вектора LSF из потока унифицированного кодирования речи и звука (MPEG-D USAC); и
выполняют конкатенацию подвекторов уточнения AVQ для получения разностного вектора LSF.
18. Способ по любому из пп. 16, 17, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) дополнительно содержит этапы, на которых:
определяют вектор LSF посредством сложения начального приближения вектора LSF и обратно взвешенного разностного вектора LSF;
преобразовывают вектор LSF в область косинусов для получения вектора LSP; и
определяют коэффициенты линейного предсказания фильтра LPF на основе вектора LSP.
19. Способ по любому из пп. 16-18, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) дополнительно содержит этап, на котором:
извлекают информацию, указывающую режим квантования, из потока унифицированного кодирования речи и звука (MPEG-D USAC) и определяют, использовался ли режим абсолютного квантования для квантования фильтра LPC.
20. Способ по любому из пп. 16-19, в котором декодирование фильтра LPC из потока унифицированного кодирования речи и звука (MPEG-D USAC) содержит этап, на котором:
извлекают компоненты разностного вектора LSF из поисковой таблицы,
причем поисковая таблица включает в себя компоненты обратно взвешенного разностного вектора LSF.
21. Запоминающий носитель, содержащий программу программного обеспечения, выполненную с возможностью исполнения на процессоре и выполнения этапов способа по любому из пп. 11-15 при ее выполнении на вычислительном устройстве.
22. Запоминающий носитель, содержащий программу программного обеспечения, выполненную с возможностью исполнения на процессоре и выполнения этапов способа по любому из пп. 16-20 при ее выполнении на вычислительном устройстве.
RU2020123712A 2017-12-19 2018-12-19 Способы, устройства и системы для улучшения унифицированного декодирования и кодирования речи и звука RU2779265C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN201741045575 2017-12-19
IN201741045575 2017-12-19
US201862665746P 2018-05-02 2018-05-02
US62/665,746 2018-05-02
PCT/EP2018/085938 WO2019121980A1 (en) 2017-12-19 2018-12-19 Methods and apparatus systems for unified speech and audio decoding improvements

Publications (2)

Publication Number Publication Date
RU2020123712A RU2020123712A (ru) 2022-01-20
RU2779265C2 true RU2779265C2 (ru) 2022-09-05

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2520402C2 (ru) * 2008-10-08 2014-06-27 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Переключаемая аудио кодирующая/декодирующая схема с мультиразрешением
US20150317986A1 (en) * 2010-07-19 2015-11-05 Dolby International Ab Processing of Audio Signals During High Frequency Reconstruction
US20160142854A1 (en) * 2013-07-22 2016-05-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for processing an audio signal in accordance with a room impulse response, signal processing unit, audio encoder, audio decoder, and binaural renderer
RU2591661C2 (ru) * 2009-10-08 2016-07-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Многорежимный декодировщик аудио сигнала, многорежимный кодировщик аудио сигналов, способы и компьютерные программы с использованием кодирования с линейным предсказанием на основе ограничения шума
US20160232901A1 (en) * 2013-10-22 2016-08-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for decoding and encoding a downmix matrix, method for presenting audio content, encoder and decoder for a downmix matrix, audio encoder and audio decoder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2520402C2 (ru) * 2008-10-08 2014-06-27 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Переключаемая аудио кодирующая/декодирующая схема с мультиразрешением
RU2591661C2 (ru) * 2009-10-08 2016-07-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Многорежимный декодировщик аудио сигнала, многорежимный кодировщик аудио сигналов, способы и компьютерные программы с использованием кодирования с линейным предсказанием на основе ограничения шума
US20150317986A1 (en) * 2010-07-19 2015-11-05 Dolby International Ab Processing of Audio Signals During High Frequency Reconstruction
US20160142854A1 (en) * 2013-07-22 2016-05-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for processing an audio signal in accordance with a room impulse response, signal processing unit, audio encoder, audio decoder, and binaural renderer
US20160232901A1 (en) * 2013-10-22 2016-08-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method for decoding and encoding a downmix matrix, method for presenting audio content, encoder and decoder for a downmix matrix, audio encoder and audio decoder

Similar Documents

Publication Publication Date Title
AU2011238010B2 (en) Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
US11482233B2 (en) Methods, apparatus and systems for unified speech and audio decoding and encoding decorrelation filter improvements
US11532316B2 (en) Methods and apparatus systems for unified speech and audio decoding improvements
JP7326285B2 (ja) 音声音響統合復号および符号化のqmfに基づく高調波トランスポーザーの改良のための方法、機器、およびシステム
RU2779265C2 (ru) Способы, устройства и системы для улучшения унифицированного декодирования и кодирования речи и звука
RU2776394C2 (ru) Способы, устройство и системы для улучшения фильтра декорреляции унифицированного декодирования и кодирования речи и звука
RU2777304C2 (ru) Способы, устройство и системы для улучшения модуля гармонической транспозиции на основе qmf унифицированного декодирования и кодирования речи и звука
CN104078048B (zh) 一种声音解码装置及其方法