Устройство для кодирования речевого сигнала с использованием acelp в автокорреляционной области
Иллюстрации
Показать всеИзобретение относится к средствам для кодирования аудиосигнала. Технический результат заключается в повышении эффективности кодирования аудио. Устройство кодирования речевого сигнала посредством определения вектора кодовой книги алгоритма кодирования речи содержит модуль определения матрицы для определения автокорреляционной матрицы R и модуль определения вектора кодовой книги для определения вектора кодовой книги в зависимости от автокорреляционной матрицы R. Модуль определения матрицы выполнен с возможностью определять автокорреляционную матрицу R посредством определения коэффициентов вектора для вектора r, при этом автокорреляционная матрица R содержит множество строк и множество столбцов, при этом вектор r обозначает один из столбцов или одну из строк автокорреляционной матрицы R, где R(i, j)=r(|i-j|), где R(i, j) обозначает коэффициенты автокорреляционной матрицы R, где i является первым индексом, обозначающим одну из множества строк автокорреляционной матрицы R, и где j является вторым индексом, обозначающим один из множества столбцов автокорреляционной матрицы R. 12 н. и 12 з.п. ф-лы, 3 ил.
Реферат
Настоящее изобретение относится к кодированию аудиосигналов, и, в частности, к устройству для кодирования речевого сигнала с использованием ACELP в автокорреляционной области.
В кодировании речи посредством линейного предсказания с кодовым возбуждением (CELP), огибающая спектра (или эквивалентно, кратковременная временная структура) речевого сигнала описывается посредством модели линейного предсказания (LP) и остаток предсказания моделируется посредством долговременного предсказателя (предиктора) (LTP, также известного как адаптивная кодовая книга) и сигнала остатка, представленного посредством кодовой книги (также известной как фиксированная кодовая книга). Последняя, фиксированная кодовая книга, в общем, применяется как алгебраическая кодовая книга, где кодовая книга представлена посредством алгебраической формулы или алгоритма, в силу чего нет необходимости сохранять всю кодовую книгу, но только алгоритм, в то время как одновременно обеспечивается возможность для быстрого алгоритма поиска. Кодеки CELP, применяющие алгебраическую кодовую книгу для остатка, известны как кодеки линейного предсказания с алгебраическим кодовым возбуждением (ACELP) (см. [1], [2], [3], [4]).
В кодировании речи, использование алгебраической кодовой книги остатков является подходом выбора в основных кодеках, как, например, [17], [13], [18]. ACELP основывается на моделировании огибающей спектра посредством фильтра линейного предсказания (LP), собственной частоты речевых звуков посредством долговременного предсказателя (LTP) и остатка предсказания посредством алгебраической кодовой книги. Параметры LTP и алгебраической кодовой книги оптимизируются посредством алгоритма наименьших квадратов в перцепционной области, где перцепционная область определяется посредством фильтра.
Вычислительно наиболее сложной частью алгоритмов типа ACELP, узким местом, является оптимизация кодовой книги остатков. Единственным в текущее время известным оптимальным алгоритмом является исчерпывающий поиск по пространству размера Np для каждого подкадра, где в каждой точке, требуется оценка сложности . Так как обычными значениями являются длина подкадра N=64 (т.е. 5 мс) с p=8 импульсами, это имеет следствием более, чем 1020 операций в секунду. Ясно, что это не является жизнеспособным вариантом. Чтобы оставаться в рамках пределов сложности, установленных требованиями аппаратного обеспечения, подходы оптимизации кодовой книги должны работать с неоптимальными итеративными алгоритмами. Много таких алгоритмов и улучшений для процесса оптимизации было представлено в прошлом, например, [17], [19], [20], [21], [22].
Явным образом, оптимизация ACELP основывается на описании речевого сигнала x(n) как вывода модели линейного предсказания, так что оцененный речевой сигнал является
где a(k) являются коэффициентами LP и является сигналом остатка. В векторной форме, это уравнение может быть выражено как
где матрица H определяется как нижнетреугольная матрица свертки Теплица с диагональю h(0) и нижними диагоналями h(1), ..., h(39) и вектор h(k) является импульсной характеристикой модели LP. Следует отметить, что в этой системе обозначений перцепционная модель (которая обычно соответствует взвешенной модели LP) пропущена, но предполагается, что перцепционная модель включена в импульсную характеристику h(k). Этот пропуск не имеет никакого влияния на общность результатов, но упрощает систему обозначений. Включение перцепционной модели применяется как в [1].
Соответствие модели измеряется посредством возведенной в квадрат ошибки. То есть,
Эта возведенная в квадрат ошибка используется, чтобы находить оптимальные параметры модели. Здесь, предполагается, что LTP и кодовая книга импульсов оба используются, чтобы моделировать вектор e. Практическое применение может быть найдено в соответствующих публикациях (см. [1-4]).
На практике, вышеупомянутая мера соответствия может быть упрощена следующим образом. Пусть матрица B=HTH содержит корреляции h(n), пусть ck будет k-ым вектором фиксированной кодовой книги и положим , где g является коэффициентом усиления. Предположим, что g выбран оптимально, тогда кодовая книга ищется посредством максимизации критерия поиска
где d=HTx является вектором, содержащим корреляцию между целевым вектором и импульсной характеристикой h(n) и верхний индекс T обозначает транспонирование. Вектор d и матрица B вычисляются до поиска кодовой книги. Эта формула обычно используется в оптимизации как LTP, так и кодовой книги импульсов.
Большое количество исследований было инвестировано в оптимизацию использования вышеупомянутой формулы. Например,
1) Вычисляются только те элементы матрицы B, к которым фактически осуществляется доступ алгоритмом поиска. Или:
2) Алгоритм проб и ошибок поиска импульсов редуцируется к тому, что пробуются только такие векторы кодовой книги, которые имеют высокую вероятность успеха, на основе предыдущей проверки (см. например, [1, 5]).
Практические детали алгоритма ACELP относятся к концепции импульсной характеристики при расширении остатка нулями (ZIR). Эта концепция появляется при рассмотрении сигнала синтеза исходной области в сравнении с синтезированным остатком. Остаток кодируется в блоках, соответствующих размеру кадра или подкадра. Однако, при синтезе сигнала исходной области с помощью модели LP из Уравнения 1, остаток фиксированной длины будет иметь "хвост" бесконечной длины, соответствующий импульсной характеристике фильтра LP. То есть, хотя вектор кодовой книги остатков имеет конечную длину, он будет иметь влияние на сигнал синтеза значительно дальше текущего кадра или подкадра. Влияние кадра на будущее может вычисляться посредством расширения вектора кодовой книги с помощью нулей и вычисления вывода синтеза из Уравнения 1 для этого расширенного сигнала. Это расширение синтезированного сигнала известно как импульсная характеристика при расширении остатка нулями. Затем, чтобы учитывать влияние предыдущих кадров в кодировании текущего кадра, ZIR предыдущего кадра вычитается из цели текущего кадра. В кодировании текущего кадра, таким образом, рассматривается только та часть сигнала, которая не была уже смоделирована посредством предыдущего кадра.
На практике, ZIR учитывается следующим образом: Когда (под)кадр N-1 кодирован, квантованный остаток расширяется с помощью нулей до длины следующего (под)кадра N. Расширенный квантованный остаток фильтруется посредством LP, чтобы получать ZIR квантованного сигнала. ZIR квантованного сигнала затем вычитается из исходного (не квантованного) сигнала и этот модифицированный сигнал формирует целевой сигнал при кодировании (под)кадра N. Этим способом, все ошибки квантования, сделанные в (под)кадре N-1, будут учитываться при квантовании (под)кадра N. Эта практика значительно улучшает перцепционное качество выходного сигнала.
Однако было бы весьма предпочтительным, если бы были обеспечены дополнительные улучшенные концепции для кодирования аудио.
Задача настоящего изобретения состоит в том, чтобы обеспечить такие улучшенные концепции для кодирования аудиообъектов. Задача настоящего изобретения решается посредством устройства согласно пункту 1 формулы изобретения, посредством способа для кодирования согласно пункту 15 формулы изобретения, посредством декодера согласно пункту 16 формулы изобретения, посредством способа для декодирования согласно пункту 17 формулы изобретения, посредством системы согласно пункту 18 формулы изобретения, посредством способа согласно пункту 19 формулы изобретения и посредством компьютерной программы согласно пункту 20 формулы изобретения.
Обеспечивается устройство для кодирования речевого сигнала посредством определения вектора кодовой книги алгоритма кодирования речи. Устройство содержит модуль определения матрицы для определения автокорреляционной матрицы R, и модуль определения вектора кодовой книги для определения вектора кодовой книги в зависимости от автокорреляционной матрицы R. Модуль определения матрицы выполнен с возможностью определять автокорреляционную матрицу R посредством определения коэффициентов вектора для вектора r, при этом автокорреляционная матрица R содержит множество строк и множество столбцов, при этом вектор r обозначает один из столбцов или одну из строк автокорреляционной матрицы R, где R(i,j)=r(|i-j|), где R(i, j) обозначает коэффициенты автокорреляционной матрицы R, где i является первым индексом, обозначающим одну из множества строк автокорреляционной матрицы R, и где j является вторым индексом, обозначающим один из множества столбцов автокорреляционной матрицы R.
Устройство выполнено с возможностью использовать вектор кодовой книги, чтобы кодировать речевой сигнал. Например, устройство может генерировать кодированный речевой сигнал, так что кодированный речевой сигнал содержит множество коэффициентов линейного предсказания, указание собственной частоты речевых звуков (например, параметры основного тона), и указание вектора кодовой книги, например, индекс вектора кодовой книги.
Дополнительно, обеспечивается декодер для декодирования кодированного речевого сигнала, который кодирован посредством устройства согласно вышеописанному варианту осуществления, чтобы получать декодированный речевой сигнал.
Дополнительно обеспечивается система. Система содержит устройство согласно вышеописанному варианту осуществления для кодирования входного речевого сигнала, чтобы получать кодированный речевой сигнал. Дополнительно, система содержит декодер согласно вышеописанному варианту осуществления для декодирования кодированного речевого сигнала, чтобы получать декодированный речевой сигнал.
Обеспечиваются улучшенные концепции для целевой функции ACELP алгоритма кодирования речи, которые учитывают не только влияние импульсной характеристики предыдущего кадра на текущий кадр, но также влияние импульсной характеристики текущего кадра в следующем кадре, при оптимизации параметров текущего кадра. Некоторые варианты осуществления реализуют эти улучшения посредством изменения корреляционной матрицы, которая является центральной для стандартной оптимизации ACELP для автокорреляционной матрицы, которая имеет эрмитову теплицеву структуру. Посредством использования этой структуры, является возможным делать оптимизацию ACELP более эффективной в терминах как вычислительной сложности, так и требований к памяти. Одновременно, также применяемая перцепционная модель становится более согласующейся, и межкадровые зависимости могут избегаться, чтобы улучшать производительность под влиянием потери пакетов.
Кодирование речи с использованием парадигмы ACELP основывается на алгоритме наименьших квадратов в перцепционной области, где перцепционная область определяется посредством фильтра. Согласно вариантам осуществления, вычислительная сложность стандартного определения проблемы наименьших квадратов может уменьшаться посредством учета влияния импульсной характеристики при расширении остатка нулями в следующем кадре. Обеспеченные модификации вводят теплицеву структуру для корреляционной матрицы, появляющейся в целевой функции, которая упрощает структуру и уменьшает вычисления. Предложенные концепции уменьшают вычислительную сложность вплоть до 17% без уменьшения перцепционного качества.
Варианты осуществления основываются на обнаружении, что посредством незначительной модификации целевой функции, сложность в оптимизации кодовой книги остатков может быть дополнительно уменьшена. Это уменьшение в сложности приходит без уменьшения в перцепционном качестве. Как альтернатива, так как оптимизация остатка ACELP основывается на итеративных алгоритмах поиска, с представленной модификацией, является возможным увеличивать количество итераций без увеличения в сложности, и этим способом получать улучшенное перцепционное качество.
Как стандартная, так и модифицированная целевые функции моделируют восприятие и стараются минимизировать перцепционное искажение. Однако оптимальное решение для стандартного подхода не является необходимо оптимальным по отношению к модифицированной целевой функции и наоборот. Это одиночно не означает, что один подход будет лучше, чем другой, но аналитические аргументы действительно показывают, что модифицированная целевая функция является более согласующейся. Конкретно, в отличие от стандартной целевой функции, обеспеченные концепции трактуют все выборки внутри подкадра одинаково, с согласующимися и хорошо определенными перцепционными и сигнальными моделями.
В вариантах осуществления, предложенные модификации могут применяться так, что они изменяют только оптимизацию кодовой книги остатков. Это, поэтому, не изменяет структуру битового потока и может применяться обратно совместимым способом к существующим кодекам ACELP.
Дополнительно, обеспечивается способ для кодирования речевого сигнала посредством определения вектора кодовой книги алгоритма кодирования речи. Способ содержит:
- Определение автокорреляционной матрицы R. И:
- Определение вектора кодовой книги в зависимости от автокорреляционной матрицы R.
Определение автокорреляционной матрицы R содержит определение коэффициентов вектора для вектора r. Автокорреляционная матрица R содержит множество строк и множество столбцов. Вектор r обозначает один из столбцов или одну из строк автокорреляционной матрицы R, где
R(i,j)=r(|i-j|).
R(i, j) обозначает коэффициенты автокорреляционной матрицы R, где i является первым индексом, обозначающим одну из множества строк автокорреляционной матрицы R, и где j является вторым индексом, обозначающим один из множества столбцов автокорреляционной матрицы R.
Дополнительно, обеспечивается способ для декодирования кодированного речевого сигнала, который кодирован согласно способу для кодирования речевого сигнала согласно вышеописанному варианту осуществления, чтобы получать декодированный речевой сигнал.
Дополнительно, обеспечивается способ. Способ содержит:
Кодирование входного речевого сигнала согласно вышеописанному способу для кодирования речевого сигнала, чтобы получать кодированный речевой сигнал. И:
Декодирование кодированного речевого сигнала, чтобы получать декодированный речевой сигнал согласно вышеописанному способу для декодирования речевого сигнала.
Дополнительно, обеспечиваются компьютерные программы для осуществления вышеописанных способов, когда исполняются на компьютере или сигнальном процессоре.
Предпочтительные варианты осуществления обеспечиваются в зависимых пунктах формулы изобретения.
В последующем, варианты осуществления настоящего изобретения описываются более подробно со ссылкой на чертежи, на которых:
Фиг. 1 иллюстрирует устройство для кодирования речевого сигнала посредством определения вектора кодовой книги алгоритма кодирования речи согласно одному варианту осуществления,
Фиг. 2 иллюстрирует декодер согласно одному варианту осуществления и декодер, и
Фиг. 3 иллюстрирует систему, содержащую устройство для кодирования речевого сигнала согласно одному варианту осуществления и декодер.
Фиг. 1 иллюстрирует устройство для кодирования речевого сигнала посредством определения вектора кодовой книги алгоритма кодирования речи согласно одному варианту осуществления.
Устройство содержит модуль (110) определения матрицы для определения автокорреляционной матрицы R, и модуль (120) определения вектора кодовой книги для определения вектора кодовой книги в зависимости от автокорреляционной матрицы R.
Модуль (110) определения матрицы выполнен с возможностью определять автокорреляционную матрицу R посредством определения коэффициентов вектора для вектора r.
Автокорреляционная матрица R содержит множество строк и множество столбцов, при этом вектор r обозначает один из столбцов или одну из строк автокорреляционной матрицы R, где R(i,j)=r(|i-j|).
R(i, j) обозначает коэффициенты автокорреляционной матрицы R, где i является первым индексом, обозначающим одну из множества строк автокорреляционной матрицы R, и где j является вторым индексом, обозначающим один из множества столбцов автокорреляционной матрицы R.
Устройство выполнено с возможностью использовать вектор кодовой книги, чтобы кодировать речевой сигнал. Например, устройство может генерировать кодированный речевой сигнал, так что кодированный речевой сигнал содержит множество коэффициентов линейного предсказания, указание собственной частоты речевых звуков (например, параметры основного тона), и указание вектора кодовой книги.
Например, согласно одному конкретному варианту осуществления для кодирования речевого сигнала, устройство может быть выполнено с возможностью определять множество коэффициентов линейного предсказания (a(k)) в зависимости от речевого сигнала. Дополнительно, устройство выполнено с возможностью определять сигнал остатка в зависимости от множества коэффициентов линейного предсказания (a(k)).
Дополнительно, модуль 110 определения матрицы может быть выполнен с возможностью определять автокорреляционную матрицу R в зависимости от сигнала остатка.
В последующем, описываются некоторые дополнительные варианты осуществления настоящего изобретения.
Возвращаясь уравнениям 3 и 4, где Уравнение 3 определяет возведенную в квадрат ошибку, показывающую соответствие перцепционной модели, как:
и где Уравнение 4
указывает критерий поиска, который подлежит максимизации.
Алгоритм ACELP центрируется около Уравнения 4, которое в свою очередь основывается на Уравнении 3.
Варианты осуществления основываются на обнаружении, что анализ этих уравнений выявляет, что значения квантованного остатка e(k) имеют очень разное влияние на энергию ошибки в зависимости от индекса k. Например, при рассмотрении индексов k=1 и k=N, если единственное ненулевое значение кодовой книги остатков появляется при k=1, то энергия ошибки сводится к:
в то время как для k=N, энергия ошибки сводится к:
Другими словами, e(1) взвешивается с импульсной характеристикой h(k) в диапазоне от 1 до N, в то время как e(N) взвешивается только с h(1). В терминах спектрального взвешивания, это означает, что каждый e(k) взвешивается с разной спектральной весовой функцией, так что, в крайности, e(N) является линейно взвешенным. С позиции перцепционного моделирования, имеет смысл применять один и тот же перцепционный вес для всех выборок внутри кадра. Уравнение 3 должно, таким образом, быть расширено таким образом, чтобы оно учитывало ZIR в следующем кадре. Следует отметить, что здесь, среди прочего, различие с предшествующим уровнем техники состоит в том, что учитываются как ZIR из предыдущего кадра, так и ZIR в следующем кадре.
Пусть e(k) будет исходным, неквантованным остатком и квантованным остатком.
Дополнительно, пусть оба остатка будут ненулевыми в диапазоне от 1 до N и нулевыми в других местах. Тогда
Эквивалентным образом, такие же отношения в матричной форме могут быть выражены как:
где является бесконечномерной матрицей свертки, соответствующей импульсной характеристике h(k). Подстановка в Уравнение 3 дает
где является эрмитовой теплицевой матрицей конечного размера, соответствующей автокорреляции h(n). Посредством аналогичного вывода как для Уравнения 4, получается целевая функция:
Эта целевая функция очень подобна Уравнению 4. Основное различие состоит в том, что вместо корреляционной матрицы B, здесь эрмитова теплицева матрица R находится в знаменателе.
Как описано выше, эта новая формулировка имеет преимущество, что все выборки остатка e внутри кадра получат одно и то же перцепционное взвешивание. Однако, является важным, что эта формулировка вводит значительные преимущества для вычислительной сложности и требований к памяти также. Так как R является эрмитовой теплицевой матрицей, первый столбец r(0) .. r(N-1) определяет матрицу полностью. Другими словами, вместо сохранения полной матрицы NxN, является достаточным сохранять только Nx1 вектор r(k), что, таким образом, дает значительное сбережение в распределении памяти. Более того, вычислительная сложность также уменьшается, так как не является необходимым определять все NxN элементов, но только первый столбец Nx1. Также индексирование внутри матрицы является простым, так как элемент (i,j) может быть найден посредством R(i,j)=r(|i-j|).
Так как целевая функция в Уравнении 10 является, таким образом, аналогичной Уравнению 4, структура общего ACELP может сохраняться. Конкретно, любая из следующих операций может выполняться с любой целевой функцией, только с незначительными модификациями алгоритма:
1. Оптимизация задержки LTP (адаптивная кодовая книга)
2. Оптимизация кодовой книги импульсов для моделирования остатка (фиксированная кодовая книга)
3. Оптимизация усилений LTP и импульсов, либо раздельно, либо объединенно
4. Оптимизация любых других параметров, чья производительность может быть измерена посредством возведенной в квадрат ошибки из Уравнения 3.
Единственная часть, которая должна модифицироваться в стандартных приложениях ACELP, является обработка корреляционной матрицы B, которая заменяется матрицей R, также как цель, которая должна включать в себя ZIR в следующем кадре.
Некоторые варианты осуществления используют концепции настоящего изобретения посредством того, что, в любом месте в алгоритме ACELP, где появляется корреляционная матрица B, она заменяется автокорреляционной матрицей R. Если все экземпляры матрицы B пропускаются, то вычисление ее значения может избегаться.
Например, автокорреляционная матрица R определяется посредством определения коэффициентов первого столбца r(0), .., r(N-1) автокорреляционной матрицы R.
Матрица R определяется в Уравнении 9 посредством R=HTH, в силу чего ее элементы Rij=r(i-j) могут вычисляться посредством
То есть, последовательность r(k) является автокорреляцией для h(k).
Часто, однако, r(k) может получаться посредством даже более эффективного средства. Конкретно, в стандартах кодирования речи, таких как AMR и G.718, последовательность h(k) является импульсной характеристикой фильтра линейного предсказания A(z), фильтрованного посредством перцепционной весовой функции W(z), которая используется, чтобы включать предыскажение. Другими словами, h(k) обозначает перцепционно взвешенную импульсную характеристику модели линейного предсказания.
Фильтр A(z) обычно оценивается из автокорреляции речевого сигнала rX(k), то есть, rX(k) является уже известным. Так как H(z)=A-1(u)W(z), то следует, что автокорреляционная последовательность r(k) может определяться посредством вычисления автокорреляции для w(k) посредством
в силу чего автокорреляция для h(k) равняется
В зависимости от дизайна системы в целом, эти уравнения могут, в некоторых вариантах осуществления, модифицироваться соответственно.
Вектор кодовой книги из кодовой книги может тогда, например, определяться на основе автокорреляционной матрицы R. В частности, Уравнение 10 может, согласно некоторым вариантам осуществления, использоваться, чтобы определять вектор кодовой книги из кодовой книги.
В этом контексте, Уравнение 10 определяет целевую функцию в форме , которая является в других отношениях такой же формой как в стандартах кодирования речи AMR и G.718, но так, что матрица R теперь имеет симметричную теплицеву структуру. Целевая функция является в своей основе нормализованной корреляцией между целевым вектором d и вектором кодовой книги и наилучший возможный вектор кодовой книги является тем, который дает наивысшее значение для нормализованной корреляции , например, который максимизирует нормализованную корреляцию .
Векторы кодовой книги могут, таким образом, оптимизироваться с помощью таких же подходов как в упомянутых стандартах. Конкретно, например, может применяться очень простой алгоритм для нахождения наилучшего вектора алгебраической кодовой книги (т.е. фиксированной кодовой книги) для остатка, как описано ниже. Следует, однако, отметить, что значительные усилия были инвестированы в дизайн эффективных алгоритмов поиска (ср. AMR и G.718), и этот алгоритм поиска является только иллюстративным примером применения.
1. Определение начального вектора кодовой книги и установка количества импульсов на p=0.
2. Установка начальной меры качества кодовой книги на .
3. Установка временной меры качества кодовой книги на .
4. Для каждого положения k в векторе кодовой книги
(i) Увеличение p на единицу.
(ii) Если положение k уже содержит отрицательный импульс, переход на этап vii.
(iii) Создание временного вектора кодовой книги и добавление положительного импульса в положении k.
(iv) Оценка качества временного вектора кодовой книги посредством .
(v) Если временный вектор кодовой книги лучше, чем любой из предыдущих, , то сохранение этого вектора кодовой книги, установка и переход на следующую итерацию.
(vi) Если положение k уже содержит положительный импульс, переход на следующую итерацию.
(vii) Создание временного вектора кодовой книги и добавление отрицательного импульса в положении k.
(viii) Оценка качества временного вектора кодовой книги посредством .
(ix) Если временный вектор кодовой книги лучше, чем любой из предыдущих, , то сохранение этого вектора кодовой книги, установка и переход на следующую итерацию.
5. Определение вектора кодовой книги , чтобы он был последним (то есть, наилучшим) из сохраненных векторов кодовой книги.
6. Если количество импульсов p достигло требуемое количество импульсов, то определение выходного вектора как , и остановка. В противном случае, продолжение на этапе 4.
Как уже указано, по сравнению со стандартными применениями ACELP, в некоторых вариантах осуществления, цель модифицируется так, что она включает в себя ZIR в следующем кадре.
Уравнение 1 описывает модель линейного предсказания, используемую в кодеках типа ACELP. Импульсная характеристика при расширении остатка нулями (ZIR, также иногда известная как отклик при отсутствии входного сигнала), указывает на вывод модели линейного предсказания, когда остаток текущего кадра (и все будущие кадры) устанавливается на нуль. ZIR может легко вычисляться посредством определения остатка, который является нулевым от положения N вперед как
для | (10a) | |
для |
в силу чего ZIR может быть определена как
Посредством вычитания этой ZIR из входного сигнала, получается сигнал, который зависит от остатка только из текущего кадра вперед.
Эквивалентным образом, ZIR может определяться посредством фильтрации прошлого входного сигнала как
для | (10c) | |
для |
Входной сигнал, где ZIR была удалена, часто известен как цель и может определяться для кадра, который начинается в положении K как d(n)=x(n)-ZIRK(n). Эта цель в принципе в точности равна цели в стандартах AMR и G.718. При квантовании сигнала, квантованный сигнал сравнивается с d(n) для продолжительности кадра K≤n<K+N.
Обратно, остаток текущего кадра имеет влияние на следующие кадры, в силу чего он является полезным, чтобы рассматривать его влияние при квантовании сигнала, то есть, таким образом, может потребоваться оценивать разность также за текущим кадром, n > K+N. Однако, чтобы делать это, может потребоваться рассматривать влияние остатка текущего кадра только посредством установки остатков следующих кадров на нуль. Поэтому, может сравниваться ZIR для в следующем кадре. Другими словами, получается модифицированная цель:
Эквивалентно, с использованием импульсной характеристики h(n) для A(z), тогда
Эта формула может быть записана в удобной матричной форме посредством , где H и e определены как в Уравнении 2. Можно видеть, что модифицированная цель является в точности x из Уравнения 2.
В вычислении матрицы R, отметим, что в теории, импульсная характеристика h(k) является бесконечной последовательностью, которая не является реализуемой в практической системе.
Однако является возможным либо
1) усечение или оконная обработка импульсной характеристики к конечной длине и определение автокорреляции усеченной импульсной характеристики, либо
2) вычисление спектра мощности импульсной характеристики с использованием спектров Фурье ассоциированного LP и перцепционных фильтров, и получать автокорреляцию посредством обратного преобразования Фурье.
Теперь, описывается расширение, использующее LTP.
Долговременный предсказатель (LTP) фактически является также линейным предсказателем.
Согласно одному варианту осуществления, модуль 110 определения матрицы может быть выполнен с возможностью определять автокорреляционную матрицу R в зависимости от перцепционно взвешенного линейного предсказателя, например, в зависимости от долговременного предсказателя.
LP и LTP могут свертываться в один объединенный предсказатель, который включает в себя как форму огибающей спектра, так и гармоническую структуру. Импульсная характеристика такого предсказателя будет очень длинной, в силу чего является даже более трудным управляться с предшествующим уровнем техники. Однако, если автокорреляция линейного предсказателя уже известна, то автокорреляция объединенного предсказателя может быть вычислена посредством простой фильтрации автокорреляции с использованием LTP вперед и назад, или с помощью аналогичной обработки в частотной области.
Отметим, что предыдущие способы, использующие LTP, имеют проблему, когда задержка LTP является более короткой, чем длина кадра, так как LTP будет вызывать цикл обратной связи внутри кадра. Преимущество включения LTP в целевую функцию состоит в том, что, когда задержка LTP является более короткой, чем длина кадра, то эта обратная связь явно учитывается в оптимизации.
В последующем, описывается расширение для быстрой оптимизации в некоррелированной области.
Центральной проблемой в дизайне систем ACELP является уменьшение вычислительной сложности. Системы ACELP являются сложными, так как фильтрация посредством LP вызывает усложненные корреляции между выборками остатков, которые описываются посредством матрицы B или в текущем контексте посредством матрицы R. Так как выборки e(n) являются коррелированными, не является возможным всего лишь квантовать e(n) с требуемой точностью, но должны пробоваться многие комбинации разных квантований с подходом проб и ошибок, чтобы найти наилучшее квантование по отношению к целевой функции из Уравнения 3 или 10, соответственно.
Посредством введения матрицы R, получается новая перспектива для этих корреляций. Именно, так как R имеет эрмитову теплицеву структуру, могут применяться несколько эффективных матричных разложений, таких как разложение по сингулярным значениям, разложение Холецкого или разложение Вандермонда матриц Ганкеля (матрицы Ганкеля являются перевернутыми матрицами Теплица, в силу чего одни и те же разложения могут применяться к матрицам Теплица и Ганкеля) (см. [6] и [7]). Пусть R=E D EH будет разложением для R, так что D является диагональной матрицей такого же размера и ранга что и R. Уравнение 9 может тогда быть модифицировано следующим образом:
где . Так как D является диагональной, ошибка для каждой выборки f(k) является независимой от других выборок f(i). В Уравнении 10, предполагается, что вектор кодовой книги масштабирован посредством оптимального усиления, в силу чего новая целевая функция равняется
Здесь, выборки снова являются коррелированными (так как изменение квантования одной строки изменяет оптимальное усиление для всех строк), но в сравнении с Уравнением 10, влияние корреляции здесь является ограниченным. Однако, даже если корреляция учитывается, оптимизация этой целевой функции является намного более простой, чем оптимизация Уравнений 3 или 10.
С использованием этого подхода разложения, является возможным
1. применять любой стандартный способ скалярного или векторного квантования с требуемой точностью, или
2. использовать Уравнение 12 в качестве целевой функции с любым стандартным алгоритмом поиска импульсов ACELP.
Оба подхода дают почти оптимальное квантование по отношению к Уравнению 12. Так как стандартные способы квантования, в общем, не требуют каких-либо способов грубой силы (за исключением возможного цикла обратной связи по скорости), и так как матрица D является более простой, чем либо B, или R, оба способа квантования являются менее сложными, чем стандартные алгоритмы поиска импульсов ACELP. Основным источником вычислительной сложности в