УСТРОЙСТВО И СПОСОБ ДЛЯ УЛУЧШЕННОГО МАСКИРОВАНИЯ АДАПТИВНОЙ ТАБЛИЦЫ КОДИРОВАНИЯ ПРИ ACELP-ОБРАЗНОМ МАСКИРОВАНИИ С ИСПОЛЬЗОВАНИЕМ УЛУЧШЕННОЙ ОЦЕНКИ ЗАПАЗДЫВАНИЯ ОСНОВНОГО ТОНА
APPARATUS AND METHOD FOR IMPROVED CONCEALMENT OF ADAPTIVE CODEBOOK IN ACELP-LIKE CONCEALMENT EMPLOYING IMPROVED PITCH LAG ESTIMATION

Настоящее изобретение относится к обработке аудиосигналов, в частности, к обработке речи, а более конкретно, к устройству и способу для улучшенного маскирования адаптивной таблицы кодирования при ACELP-образном маскировании (ACELP - линейное прогнозирование с возбуждением по алгебраическому коду).
Обработка аудиосигналов приобретают все большую важность. В области техники обработки аудиосигналов, важную роль играют технологии маскирования. Когда кадр теряется или повреждается, потерянная информация из потерянного или поврежденного кадра должна быть заменена. В обработке речевых сигналов, в частности, при рассмотрении ACELP- или ACELP-образных речевых кодеков, информация основного тона является очень важной. Требуются технологии прогнозирования основного тона и технологии повторной синхронизации импульсов.
Относительно восстановления основного тона, предусмотрены различные технологии экстраполяции основного тона в предшествующем уровне техники.
Одна из этих технологий представляет собой технологию на основе повторений. Большинство современных кодеков применяет простой подход к маскированию на основе повторений, что означает то, что последний корректно принимаемый период основного тона до потерь пакетов повторяется до тех пор, пока не поступит хороший кадр, и новая информация основного тона может декодироваться из потока битов. Альтернативно, логика обеспечения стабильности основного тона применяется согласно тому, что выбрано значение основного тона, которое принято за некоторое время до потерь пакетов. Кодеки согласно подходу на основе повторений представляют собой, например, G.719 (см. [ITU08b, 8.6]), G.729 (см. [ITU12, 4.4]), AMR (см. [3GP12a, 6.2.3.1], [ITU03]), AMR-WB (см. [3GP12b, 6.2.3.4.2]), и AMR-WB+(ACELP- и TCX20-(ACELP-образное) маскирование) (см. [3GP09]); (AMR - стандарт адаптивного многоскоростного кодирования; AMR-WB - стандарт широкополосного адаптивного многоскоростного кодирования).
Другая технология восстановления основного тона предшествующего уровня техники представляет собой извлечение основного тона из временной области. Для некоторых кодеков, основной тон требуется для маскирования, но не встраивается в поток битов. Следовательно, основной тон вычисляется на основе сигнала временной области предыдущего кадра для того, чтобы вычислять период основного тона, который затем сохраняется постоянным во время маскирования. Кодек согласно этому подходу представляет собой, например, G.722, см., в частности, G.722 Приложение 3 (см. [ITU06a, III.6.6 и III.6.7]), и G.722 Приложение 4 (см. [ITU07, IV.6.1,2.5]).
Дополнительная технология восстановления основного тона предшествующего уровня техники основана на экстраполяции. Некоторые современные кодеки применяют подходы на основе экстраполяции основного тона и выполняют конкретные алгоритмы для того, чтобы изменять основной тон, соответственно, на оценки экстраполированного основного тона во время потерь пакетов. Эти подходы подробнее описываются следующим образом в отношении G.718 и G.729.1.
Сначала рассмотрим G.718 (см. [ITU08a]). Оценка будущего основного тона проводится посредством экстраполяции для того, чтобы поддерживать модуль повторной синхронизации гортанных импульсов. Эта информация относительно возможного будущего значения основного тона используется для того, чтобы синхронизировать гортанные импульсы маскированного возбуждения.
Экстраполяция основного тона проводится только в том случае, если последний хороший кадр не является вокализованным. Экстраполяция основного тона G.718 основана на таком допущении, что кодер имеет плавный контур основного тона. Упомянутая экстраполяция проводится на основе запаздываний основного тона  последних семи субкадров перед стиранием.
В G.718, обновление предыстории плавающих значений основного тона проводится после каждого корректно принимаемого кадра. С этой целью, значения основного тона обновляются только в том случае, если базовый режим отличается от невокализованного. В случае потерянного кадра, разность  между плавающими запаздываниями основного тона вычисляется согласно формуле:
В формуле (1),  обозначает запаздывание основного тона последнего (т.е. четвертого) субкадра предыдущего кадра;  обозначает запаздывание основного тона третьего субкадра предыдущего кадра; и т.д.
Согласно G.718, сумма разностей  вычисляется следующим образом:
Поскольку значения  могут быть положительными или отрицательными, число инверсий знака  суммируется, и позиция первой инверсии указывается посредством параметра, сохраненного в запоминающем устройстве.
corr
Параметр f находится следующим образом:
,
max
где d=231 является максимальным учитываемым запаздыванием основного тона.
max
В G.718, позиция i, указывающая максимальную абсолютную разность, находится согласно определению:
,
и отношение для этой максимальной разности вычисляется следующим образом:
Если это отношение превышает или равно 5, то основной тон четвертого субкадра последнего корректно принимаемого кадра используется для всех субкадров, которые должны быть маскированы. Если это отношение превышает или равно 5, это означает то, что алгоритм не экстраполирует однозначно основной тон, и повторная синхронизация гортанных импульсов не выполняется.
max
corr2
corr
max
Если r меньше 5, то проводится дополнительная обработка для того, чтобы добиваться самой лучшей экстраполяции. Три различных способа используются для того, чтобы экстраполировать будущий основной тон. Чтобы выбирать между возможными алгоритмами экстраполяции основного тона, вычисляется параметр f отклонения, который зависит от коэффициента f и от позиции максимального варьирования i основного тона. Тем не менее, сначала средняя плавающая разность основного тона модифицируется, чтобы удалять слишком большие разности основного тона от среднего значения:
corr
max
Если f<0,98, а если i=3, то средняя дробная разность  основного тона определяется согласно формуле:
,
с тем, чтобы удалять разности основного тона, связанные с переходом между двумя кадрами.
corr
max
Если f≥0,98, или если i≠3, средняя дробная разность  основного тона вычисляется следующим образом:
,
и максимальная плавающая разность основного тона заменена этим новым средним значением:
corr2
При этом новом среднем значении плавающих разностей основного тона, нормализованное отклонение f вычисляется следующим образом:
,
sf
где I равен 4 в первом случае и равен 6 во втором случае.
В зависимости от этого нового параметра, осуществляется выбор между тремя способами экстраполяции будущего основного тона:
corr2
ext
ext
- Если  изменяет знак более двух раз (это указывает высокое варьирование основного тона), первая инверсия знака находится в последнем хорошем кадре (для i<3) и f>0,945, экстраполированный основной тон d (экстраполированный основной тон также обозначается как T), вычисляется следующим образом:
.
corr2
w
corr2
- Если 0,945<f<0,99, и  изменяет знак, по меньшей мере, один раз, взвешенное среднее дробных разностей основного тона используется для того, чтобы экстраполировать основной тон. Взвешивание f средней разности связано с нормализованным отклонением f, и позиция первой инверсии знака задается следующим образом:
mem
mem
mem
ext
Параметр i формулы зависит от позиции первой инверсии знака, так что i=0, если первая инверсия знака возникает между последними двумя субкадрами предыдущего кадра, так что i=1, если первая инверсия знака возникает между вторым и третьим субкадрами предыдущего кадра, и т.д. Если первая инверсия знака находится близко к концу последнего кадра, это означает то, что варьирование основного тона является менее стабильным рядом с потерянным кадром. Таким образом, весовой коэффициент, примененный к среднему значению, должен иметь значение около 0, и экстраполированный основной тон d должен иметь значение близко к основному тону четвертого субкадра последнего хорошего кадра:
ext
- В противном случае, постепенное изменение основного тона считается стабильным, и экстраполированный основной тон d определяется следующим образом:
.
После этой обработки, запаздывание основного тона ограничено между 34 и 231 (значения обозначают минимальное и максимальное разрешенные запаздывания основного тона).
Далее, для иллюстрации другого примера технологий восстановления основного тона на основе экстраполяции, рассмотрим G.729.1 (см. [ITU06b]).
G.729.1 показывает подход на основе экстраполяции основного тона (см. [Gao]), в случае если информация прямого маскирования ошибок (например, информация фазы) не является декодируемой. Это происходит, например, если два последовательных кадра теряются (один суперкадр состоит из четырех кадров, которые могут быть или ACELP или TCX20). Также возможны TCX40- или TCX80-кадры и практически все их комбинации.
Когда один или более кадров теряются в вокализованной области, предыдущая информация основного тона всегда используется для того, чтобы восстанавливать текущий потерянный кадр. Точность текущего оцененного основного тона может оказывать непосредственное влияние на фазовое совмещение с исходным сигналом, и это критически важно для качества восстановления текущего потерянного кадра и принимаемого кадра после потерянного кадра. Использование нескольких предыдущих запаздываний основного тона вместо простого копирования предыдущего запаздывания основного тона должно приводить к статистически лучшей оценке основного тона. В G.729.1-кодере, экстраполяция основного тона для FEC (FEC - прямая коррекция ошибок) состоит из линейной экстраполяции на основе предыдущих пяти значений основного тона. Предыдущие пять значений основного тона представляют собой P(i), для i=0, 1, 2, 3, 4, где P(4) является последним значением основного тона. Модель экстраполяции задается согласно следующему:
Значение экстраполированного основного тона для первого субкадра в потерянном кадре затем задается следующим образом:
Чтобы определять коэффициенты a и b, ошибка E минимизируется, при этом ошибка E задается согласно следующему:
Посредством задания:
a и b получаются в результате следующим образом:
Далее описывается принцип маскирования стирания кадров предшествующего уровня техники для AMR-WB-кодека, как представлено в [MCZ11]. Этот принцип маскирования стирания кадров основан на линейном прогнозировании основного тона и усиления. Упомянутая работа представляет подход на основе линейной интер/экстраполяции основного тона в случае потерь кадров, на основе критерия минимальной среднеквадратической ошибки.
Согласно этому принципу маскирования стирания кадров, в декодере, когда тип последнего допустимого кадра до стертого кадра (предыдущего кадра) является идентичным стертому кадру самого раннего после стертого кадра (будущего кадра), задается основной тон P(i), где i=-N,-N+1, ..., 0, 1, ..., N+4, N+5, и где N является числом предыдущих и будущих субкадров стертого кадра. P(1), P(2), P(3), P(4) являются четырьмя основными тонами четырех субкадров в стертом кадре, P(0), P(-1), ..., P(-N) являются основными тонами предыдущих субкадров, и P(5), P(6), ..., P(N+5) являются основными тонами будущих субкадров. Используется модель линейного прогнозирования P'(i)=a+b*i. Для i=1, 2, 3, 4; P'(1), P'(2), P'(3), P'(4) являются прогнозными основными тонами для стертого кадра. MMS-критерий (MMS - минимальное среднеквадратическое значение) учитывается для того, чтобы извлекать значения двух прогнозных коэффициентов a и b согласно подходу на основе интерполяции. Согласно этому подходу, ошибка E задается следующим образом:
Затем коэффициенты a и b могут получаться посредством вычисления:
Запаздывания основного тона для последних четырех субкадров стертого кадра могут вычисляться согласно следующему:
Обнаружено, что N=4 предоставляет наилучший результат. N=4 означает, что пять предыдущих субкадров и пять будущих субкадров используются для интерполяции.
Тем не менее, когда тип предыдущих кадров отличается от типа будущих кадров, например, когда предыдущий кадр является вокализованным, но будущий кадр является невокализованным, просто вокализованные основные тона предыдущих или будущих кадров используются для того, чтобы прогнозировать основные тона стертого кадра с использованием вышеуказанного подхода на основе экстраполяции.
Далее рассмотрим повторную синхронизацию импульсов в предшествующем уровне техники, в частности, в отношении G.718 и G.729.1. Подход для повторной синхронизации импульсов описывается в [VJGS12].
Сначала описывается составление периодической части возбуждения.
Для маскирования стертых кадров после корректно принимаемого кадра, отличного от невокализованного, периодическая часть возбуждения составляется посредством повторения фильтрованного по нижним частотам последнего периода основного тона предыдущего кадра.
Составление периодической части выполняется с использованием простой копии фильтрованного по нижним частотам сегмента сигнала возбуждения из конца предыдущего кадра.
Длина периода основного тона округляется до ближайшего целого числа:
p
r
С учетом того, что длина последнего периода основного тона составляет T, то длина сегмента, который копируется, T, например, может задаваться согласно следующему:
Периодическая часть составляется для одного кадра и одного дополнительного субкадра.
Например, для M субкадров в кадре, длина субкадра составляет ,
frame
frame.
где L является длиной кадра, также обозначаемой как L: L=L
Фиг. 3 иллюстрирует составленную периодическую часть речевого сигнала.
T[0] является местоположением первого максимального импульса в составленной периодической части возбуждения. Позиции других импульсов задаются следующим образом:
согласно следующему:
После составления периодической части возбуждения, повторная синхронизация гортанных импульсов выполняется для того, чтобы корректировать разность между оцененной целевой позицией (P) последнего импульса в потерянном кадре и его фактической позицией (T[k]) в составленной периодической части возбуждения.
Постепенное изменение запаздывания основного тона экстраполировано на основе запаздываний основного тона последних семи субкадров перед потерянным кадром. Постепенно изменяющиеся запаздывания основного тона в каждом субкадре следующие:
,
где:
ext
ext
ext
и T (также обозначается как d) является экстраполированным основным тоном, как описано выше для d.
c
Разность, обозначаемая как d, между суммой общего числа (T) выборок в пределах циклов основного тона с постоянным основным тоном и суммой общего числа p[i] выборок в пределах циклов основного тона с постепенно изменяющимся основным тоном, находится в длине кадра. В документации отсутствует описание касательно того, как находить d.
В исходном коде G.718 (см. [ITU08a]), d находится с использованием следующего алгоритма (где M является числом субкадров в кадре):
Число импульсов в составленной периодической части в длине кадра плюс первый импульс в будущем кадре составляет N. В документации отсутствует описание касательно того, как находить N.
В исходном коде G.718 (см. [ITU08a]), N находится согласно следующему:
Позиция T[n] последнего импульса в составленной периодической части возбуждения, которая принадлежит потерянному кадру, определяется следующим образом:
Оцененная позиция P последнего импульса следующая:
Фактическая позиция T[k] для позиции последнего импульса представляет собой позицию импульса в составленной периодической части возбуждения (в том числе в поиске первого импульса после текущего кадра), ближайшую к оцененной целевой позиции P:
Повторная синхронизация гортанных импульсов проводится посредством добавления или удаления выборок в областях минимальной энергии полных циклов основного тона. Число выборок, которые должны быть добавлены или удалены, определяется посредством разности:
c
c
min
Области минимальной энергии определяются с использованием скользящего окна в 5 выборок. Позиция минимальной энергии задается в середине окна, в котором энергия является минимальной. Поиск выполняется между двумя импульсами основного тона от T[i]+T/8 до T[i+1]-T/4. Имеется N=n-1 областей минимальной энергии.
min
Если N=1, то имеется только одна область минимальной энергии, и dif f выборок вставляются или удаляются в этой позиции.
min
Для N>1, меньшее число выборок добавляется или удаляется в начале и большее - к концу кадра. Число выборок, которые должны быть удалены или добавлены, между импульсами T[i] и T[i+1], находится с использованием следующего рекурсивного отношения:
Если R[i]<R[i-1], то значения R[i] и R[i-1] меняются местами.
Цель настоящего изобретения заключается в том, чтобы предоставлять усовершенствованные принципы для обработки аудиосигналов, в частности, предоставлять усовершенствованные принципы для обработки речи, а более конкретно, предоставлять улучшенные принципы маскирования.
Цель настоящего изобретения достигается посредством устройства по п. 1, посредством способа по п. 15 и посредством компьютерной программы по п. 16.
Предусмотрено устройство для определения оцененного запаздывания основного тона. Устройство содержит входной интерфейс для приема множества исходных значений запаздывания основного тона и модуль оценки запаздывания основного тона для оценки оцененного запаздывания основного тона. Модуль оценки запаздывания основного тона выполнен с возможностью оценивать оцененное запаздывание основного тона в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, информационное значение из множества информационных значений назначается упомянутому исходному значению запаздывания основного тона.
Согласно варианту осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества значений усиления основного тона в качестве множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, значение усиления основного тона из множества значений усиления основного тона назначается упомянутому исходному значению запаздывания основного тона.
В конкретном варианте осуществления, каждое из множества значений усиления основного тона, например, может представлять собой усиление адаптивной таблицы кодирования.
В варианте осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством минимизации функции ошибок.
Согласно варианту осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
p
где a является действительным числом, где b является действительным числом, где k является целым числом с k≥2, и где P(i) является i-ым исходным значением запаздывания основного тона, где g(i) является i-ым значением усиления основного тона, назначаемым i-ому значению P(i) запаздывания основного тона.
В варианте осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
p
где a является действительным числом, где b является действительным числом, где P(i) является i-ым исходным значением запаздывания основного тона, где g(i) является i-ым значением усиления основного тона, назначаемым i-ому значению P(i) запаздывания основного тона.
Согласно варианту осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью определять оцененное запаздывание p основного тона согласно p=a*i+b.
В варианте осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества значений времени в качестве множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, значение времени из множества значений времени назначается упомянутому исходному значению запаздывания основного тона.
Согласно варианту осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством минимизации функции ошибок.
В варианте осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
passed
где a является действительным числом, где b является действительным числом, где k является целым числом с k≥2, и где P(i) является i-ым исходным значением запаздывания основного тона, где time(i) является i-ым значением времени, назначаемым i-ому значению P(i) запаздывания основного тона.
Согласно варианту осуществления, модуль оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
passed
где a является действительным числом, где b является действительным числом, где P(i) является i-ым исходным значением запаздывания основного тона, где time(i) является i-ым значением времени, назначаемым i-ому значению P(i) запаздывания основного тона.
В варианте осуществления, модуль оценки запаздывания основного тона выполнен с возможностью определять оцененное запаздывание p основного тона согласно p=a*i+b.
Кроме того, предусмотрен способ для определения оцененного запаздывания основного тона. Способ содержит:
- прием множества исходных значений запаздывания основного тона; и
- оценку оцененного запаздывания основного тона.
Оценка оцененного запаздывания основного тона проводится в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, информационное значение из множества информационных значений назначается упомянутому исходному значению запаздывания основного тона.
Кроме того, предусмотрена компьютерная программа для реализации вышеописанного способа при выполнении на компьютере или в процессоре сигналов.
Кроме того, предусмотрено устройство для восстановления кадра, содержащего речевой сигнал в качестве восстановленного кадра, причем восстановленный кадр ассоциирован с одним или более доступных кадров, причем упомянутые один или более доступных кадров представляют собой, по меньшей мере, один из одного или более предшествующих кадров восстановленного кадра и одного или более последующих кадров восстановленного кадра, при этом один или более доступных кадров содержат один или более циклов основного тона в качестве одного или более доступных циклов основного тона. Устройство содержит модуль определения для определения разности числа выборок, указывающей разность между числом выборок одного из одного или более доступных циклов основного тона и числом выборок первого цикла основного тона, который должен быть восстановлен. Кроме того, устройство содержит модуль восстановления кадров для восстановления восстановленного кадра посредством восстановления, в зависимости от разности числа выборок и в зависимости от выборок упомянутого одного из одного или более доступных циклов основного тона, первого цикла основного тона, который должен быть восстановлен в качестве первого восстановленного цикла основного тона. Модуль восстановления кадров выполнен с возможностью восстанавливать восстановленный кадр таким образом, что восстановленный кадр полностью или частично содержит первый восстановленный цикл основного тона, таким образом, что восстановленный кадр полностью или частично содержит второй восстановленный цикл основного тона, и таким образом, что число выборок первого восстановленного цикла основного тона отличается от числа выборок второго восстановленного цикла основного тона.
Согласно варианту осуществления, модуль определения, например, может быть выполнен с возможностью определять разность числа выборок для каждого из множества циклов основного тона, которые должны быть восстановлены, таким образом, что разность числа выборок каждого из циклов основного тона указывает разность между числом выборок упомянутого одного из или более доступных циклов основного тона и числом выборок упомянутого цикла основного тона, который должен быть восстановлен. Модуль восстановления кадров, например, может быть выполнен с возможностью восстанавливать каждый цикл основного тона из множества циклов основного тона, которые должны быть восстановлены, в зависимости от разности числа выборок упомянутого цикла основного тона, который должен быть восстановлен, и в зависимости от выборок упомянутого одного из одного или более доступных циклов основного тона, для того чтобы восстанавливать восстановленный кадр.
В варианте осуществления, модуль восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр в зависимости от упомянутого одного из одного или более доступных циклов основного тона. Модуль восстановления кадров, например, может быть выполнен с возможностью модифицировать промежуточный кадр, с тем чтобы получать восстановленный кадр.
Согласно варианту осуществления, модуль определения, например, может быть выполнен с возможностью определять разностное значение (d; s) кадра, указывающее то, сколько выборок должно удаляться из промежуточного кадра или сколько выборок должно добавляться в промежуточный кадр. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью удалять первые выборки из промежуточного кадра, с тем чтобы получать восстановленный кадр, когда разностное значение кадра указывает то, что первые выборки должны удаляться из кадра. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью добавлять вторые выборки в промежуточный кадр, с тем чтобы получать восстановленный кадр, когда разностное значение (d; s) кадра указывает то, что вторые выборки должны добавляться в кадр.
В варианте осуществления, модуль восстановления кадров, например, может быть выполнен с возможностью удалять первые выборки из промежуточного кадра, когда разностное значение кадра указывает то, что первые выборки должны удаляться из кадра таким образом, что число первых выборок, которые удаляются из промежуточного кадра, указывается посредством разностного значения кадра. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью добавлять вторые выборки в промежуточный кадр, когда разностное значение кадра указывает то, что вторые выборки должны добавляться в кадр таким образом, что число вторых выборок, которые добавляются в промежуточный кадр, указывается посредством разностного значения кадра.
Согласно варианту осуществления, модуль определения, например, может быть выполнен с возможностью определять разностное число s кадра таким образом, что формула:
r
является справедливой, где L указывает число выборок восстановленного кадра, где M указывает число субкадров восстановленного кадра, где T указывает округленную длину периода основного тона упомянутого одного из одного или более доступных циклов основного тона, и где P[i] указывает длину периода основного тона восстановленного цикла основного тона i-ого субкадра восстановленного кадра.
В варианте осуществления, модуль восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр в зависимости от упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр таким образом, что промежуточный кадр содержит первый частичный промежуточный цикл основного тона, один или более дополнительных промежуточных циклов основного тона и второй частичный промежуточный цикл основного тона. Кроме того, первый частичный промежуточный цикл основного тона, например, может зависеть от одной или более выборок упомянутого одного из одного или более доступных циклов основного тона, при этом каждый из одного или более дополнительных промежуточных циклов основного тона зависит от всех выборок упомянутого одного из одного или более доступных циклов основного тона, при этом второй частичный промежуточный цикл основного тона зависит от одной или более выборок упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль определения, например, может быть выполнен с возможностью определять разностное число начальной части, указывающее то, сколько выборок должно удаляться или добавляться из первого частичного промежуточного цикла основного тона, при этом модуль восстановления кадров выполнен с возможностью удалять одну или более первых выборок из первого частичного промежуточного цикла основного тона или выполнен с возможностью добавлять одну или более первых выборок в первый частичный промежуточный цикл основного тона в зависимости от разностного числа начальной части. Кроме того, модуль определения, например, может быть выполнен с возможностью определять, для каждого из дополнительных промежуточных циклов основного тона, разностное число цикла основного тона, указывающее то, сколько выборок должно удаляться или добавляться из упомянутого одного из дополнительных промежуточных циклов основного тона. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью удалять одну или более вторых выборок из упомянутого одного из дополнительных промежуточных циклов основного тона или выполнен с возможностью добавлять одну или более вторых выборок в упомянутый один из дополнительных промежуточных циклов основного тона в зависимости от упомянутого разностного числа цикла основного тона. Кроме того, модуль определения, например, может быть выполнен с возможностью определять разностное число конечной части, указывающее то, сколько выборок должно удаляться или добавляться из второго частичного промежуточного цикла основного тона, при этом модуль восстановления кадров выполнен с возможностью удалять одну или более третьих выборок из второго частичного промежуточного цикла основного тона или выполнен с возможностью добавлять одну или более третьих выборок во второй частичный промежуточный цикл основного тона в зависимости от разностного числа конечной части.
Согласно варианту осуществления, модуль восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр в зависимости от упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль определения, например, может быть выполнен с возможностью определять одну или более низкоэнергетических частей сигнала для речевого сигнала, состоящего из промежуточного кадра, при этом каждая из одной или более низкоэнергетических частей сигнала является первой частью сигнала для речевого сигнала в промежуточном кадре, причем энергия речевого сигнала ниже во второй части сигнала для речевого сигнала, состоящего из промежуточного кадра. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью удалять одну или более выборок, по меньшей мере, из одной из одной или более низкоэнергетических частей сигнала для речевого сигнала или добавлять одну или более выборок, по меньшей мере, в одну из одной или более низкоэнергетических частей сигнала для речевого сигнала, с тем чтобы получать восстановленный кадр.
В конкретном варианте осуществления, модуль восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр таким образом, что промежуточный кадр содержит один или более восстановленных циклов основного тона, так что каждый из одного или более восстановленных циклов основного тона зависит от упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль определения, например, может быть выполнен с возможностью определять число выборок, которое должно удаляться из каждого из одного или более восстановленных циклов основного тона. Кроме того, модуль определения, например, может быть выполнен с возможностью определять каждую из одной или более низкоэнергетических частей сигнала таким образом, что для каждой из одной или более низкоэнергетических частей сигнала, число выборок упомянутой низкоэнергетической части сигнала зависит от числа выборок, которое должно удаляться из одного из одного или более восстановленных циклов основного тона, при этом упомянутая низкоэнергетическая часть сигнала расположена в упомянутом одном или более восстановленных циклов основного тона.
В варианте осуществления, модуль определения, например, может быть выполнен с возможностью определять позицию одного или более импульсов речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра. Кроме того, модуль восстановления кадров, например, может быть выполнен с возможностью восстанавливать восстановленный кадр в зависимости от позиции одного или более импульсов речевого сигнала.
Согласно варианту осуществления, модуль определения, например, может быть выполнен с возможностью определять позицию двух или более импульсов речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, где T[0] представляет собой позицию одного из двух или более импульсов речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, при этом модуль определения выполнен с возможностью определять позицию (T[i]) дополнительных импульсов из двух или более импульсов речевого сигнала согласно формуле:
,
r
где T указывает округленную длину упомянутого одного из одного или более доступных циклов основного тона, и где i является целым числом.
Согласно варианту осуществления, модуль определения, например, может быть выполнен с возможностью определять индекс k последнего импульса речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, так что:
,
r
где L указывает число выборок восстановленного кадра, где s указывает разностное значение кадра, где T[0] указывает позицию импульса речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, отличающегося от последнего импульса речевого сигнала, и где T указывает округленную длину упомянутого одного из одного или более доступных циклов основного тона.
В варианте осуществления, модуль определения, например, может быть выполнен с возможностью восстанавливать кадр, который должен быть восстановлен в качестве восстановленного кадра, посредством определения параметра δ, при этом δ задается согласно формуле:
,
p
ext
при этом кадр, который должен быть восстановлен в качестве восстановленного кадра, содержит M субкадров, где T указывает длину упомянутого одного из одного или более доступных циклов основного тона, и где T указывает длину одного из циклов основного тона, которые должны быть восстановлены, для кадра, который должен быть восстановлен в качестве восстановленного кадра.
r
Согласно варианту осуществления, модуль определения, например, может быть выполнен с возможностью восстанавливать восстановленный кадр посредством определения округленной длины T упомянутого одного из одного или более доступных циклов основного тона на основе формулы:
,
p
где T указывает длину упомянутого одного из одного или более доступных циклов основного тона.
В варианте осуществления, модуль определения, например, может быть выполнен с возможностью восстанавливать восстановленный кадр посредством применения формулы:
,
p
r
где T указывает длину упомянутого одного из одного или более доступных циклов основного тона, где T указывает округленную длину упомянутого одного из одного или более доступных циклов основного тона, при этом кадр, который должен быть восстановлен в качестве восстановленного кадра, содержит M субкадров, при этом кадр, который должен быть восстановлен в качестве восстановленного кадра, содержит L выборок, и где является действительным числом, указывающим разность между числом выборок упомянутого одного из одного или более доступных циклов основного тона и числом выборок одного из одного или более циклов основного тона, которые должны быть восстановлены.
Кроме того, предусмотрен способ для восстановления кадра, содержащего речевой сигнал в качестве восстановленного кадра, причем восстановленный кадр ассоциирован с одним или более доступных кадров, причем упомянутые один или более доступных кадров представляют собой, по меньшей мере, один из одного или более предшествующих кадров восстановленного кадра и одного или более последующих кадров восстановленного кадра, при этом один или более доступных кадров содержат один или более циклов основного тона в качестве одного или более доступных циклов основного тона. Способ содержит:
- определение разности  числа выборок, указывающей разность между числом выборок одного из одного или более доступных циклов основного тона и числом выборок первого цикла основного тона, который должен быть восстановлен; и;
- восстановление восстановленного кадра посредством восстановления, в зависимости от разности  числа выборок и в зависимости от выборок упомянутого одного из одного или более доступных циклов основного тона, первого цикла основного тона, который должен быть восстановлен в качестве первого восстановленного цикла основного тона.
Восстановление восстановленного кадра проводится таким образом, что восстановленный кадр полностью или частично содержит первый восстановленный цикл основного тона, таким образом, что восстановленный кадр полностью или частично содержит второй восстановленный цикл основного тона, и таким образом, что число выборок первого восстановленного цикла основного тона отличается от числа выборок второго восстановленного цикла основного тона.
Кроме того, предусмотрена компьютерная программа для реализации вышеописанного способа при выполнении на компьютере или в процессоре сигналов.
Кроме того, предусмотрена система для восстановления кадра, содержащего речевой сигнал. Система содержит устройство для определения оцененного запаздывания основного тона согласно одному из вышеописанных или нижеописанных вариантов осуществления и устройство для восстановления кадра, при этом устройство для восстановления кадра выполнено с возможностью восстанавливать кадр в зависимости от оцененного запаздывания основного тона. Оцененное запаздывание основного тона представляет собой запаздывание основного тона речевого сигнала.
В варианте осуществления, восстановленный кадр, например, может быть ассоциирован с одним или более доступных кадров, причем упомянутые один или более доступных кадров представляют собой, по меньшей мере, один из одного или более предшествующих кадров восстановленного кадра и одного или более последующих кадров восстановленного кадра, при этом один или более доступных кадров содержат один или более циклов основного тона в качестве одного или более доступных циклов основного тона. Устройство для восстановления кадра, например, может представлять собой устройство для восстановления кадра согласно одному из вышеописанных или нижеописанных вариантов осуществления.
Настоящее изобретение основано на таких выявленных сведениях, что предшествующий уровень техники имеет значительные недостатки. Как G.718 (см. [ITU08a]), так и G.729.1 (см. [ITU06b]) используют экстраполяцию основного тона в случае потерь кадров. Это необходимо, поскольку в случае потерь кадров, запаздывания основного тона также теряются. Согласно G.718 и G.729.1, основной тон экстраполирован с учетом постепенного изменения основного тона во время последних двух кадров. Тем не менее, запаздывание основного тона, восстанавливаемое посредством G.718 и G.729.1, не является очень точным и, например, зачастую приводит к восстановленному запаздыванию основного тона, которое значительно отличается от реального запаздывания основного тона.
Варианты осуществления настоящего изобретения предоставляют более точное восстановление запаздывания основного тона. С этой целью, в отличие от G.718 и G.729.1, некоторые варианты осуществления учитывают информацию относительно надежности информации основного тона.
Согласно предшествующему уровню техники, информация основного тона, на которой основана экстраполяция, содержит последние восемь корректно принимаемых запаздываний основного тона, для которых режим кодирования отличается от невокализованного. Тем не менее, в предшествующем уровне техники, характеристика вокализации может быть довольно слабой, указываться посредством низкого усиления основного тона (которое соответствует низкому усилению для прогнозирования). В предшествующем уровне техники, в случае если экстраполяция основана на запаздываниях основного тона, которые имеют различные усиления основного тона, экстраполяция не позволяет выводить обоснованные результаты или даже вообще завершается неудачно и откатывается к простому подходу на основе повторений запаздывания основного тона.
Варианты осуществления основаны на таких выявленных сведениях, что причина этих недостатков предшествующего уровня техники состоит в том, что, на стороне кодера, запаздывание основного тона выбрано относительно максимизации усиления основного тона таким образом, чтобы максимизировать усиление при кодировании адаптивной таблицы кодирования, но что в случае, если речевая характеристика является слабой, запаздывание основного тона не может точно указывать основную частоту, поскольку шум в речевом сигнале приводит к тому, что оценка запаздывания основного тона становится неточной.
Следовательно, во время маскирования, согласно вариантам осуществления, применение экстраполяции запаздывания основного тона взвешивается в зависимости от надежности ранее принимаемых запаздываний, используемых для этой экстраполяции.
Согласно некоторым вариантам осуществления, предыдущие усиления адаптивных таблиц кодирования (усиления основного тона) могут использоваться в качестве показателя надежности.
Согласно некоторым дополнительным вариантам осуществления настоящего изобретения, взвешивание согласно тому, насколько давно ранее приняты запаздывания основного тона, используется в качестве показателя надежности. Например, высокие весовые коэффициенты задаются для более новых запаздываний, и меньшие весовые коэффициенты задаются для запаздываний, принятых раньше.
Согласно вариантам осуществления, предоставляются принципы взвешенного прогнозирования основного тона. В отличие от предшествующего уровня техники, предоставленное прогнозирование основного тона вариантов осуществления настоящего изобретения использует показатель надежности для каждого из запаздываний основного тона, на которых оно основано, что делает результат прогнозирования намного более допустимым и стабильным. В частности, усиление основного тона может использоваться в качестве индикатора для надежности. Альтернативно или дополнительно, согласно некоторым вариантам осуществления, время, которое прошло после корректного приема запаздывания основного тона, например, может использоваться в качестве индикатора.
Относительно повторной синхронизации импульсов, настоящее изобретение основано на таких выявленных сведениях, что один из недостатков предшествующего уровня техники относительно повторной синхронизации гортанных импульсов заключается в том, что экстраполяция основного тона не учитывает то, сколько импульсов (циклов основного тона) должно составляться в маскированном кадре.
Согласно предшествующему уровню техники, экстраполяция основного тона проводится таким образом, что изменения основного тона ожидаются только на границах субкадров.
Согласно вариантам осуществления, при проведении повторной синхронизации гортанных импульсов, могут учитываться изменения основного тона, которые отличаются от непрерывных изменений основного тона.
Варианты осуществления настоящего изобретения основаны на таких выявленных сведениях, что G.718 и G.729.1 имеют следующие недостатки.
Во-первых, в предшествующем уровне техники, при вычислении d предполагается, что имеется целое число циклов основного тона в кадре. Поскольку d задает местоположение последнего импульса в маскированном кадре, позиция последнего импульса не является корректной, когда имеется нецелочисленное число циклов основного тона в кадре. Это проиллюстрировано на фиг. 6 и фиг. 7. Фиг. 6 иллюстрирует речевой сигнал перед удалением выборок. Фиг. 7 иллюстрирует речевой сигнал после удаления выборок. Кроме того, алгоритм, используемый посредством предшествующего уровня техники для вычисления d, является неэффективным.
Кроме того, вычисление предшествующего уровня техники требует числа импульсов N в составленной периодической части возбуждения. Это добавляет необязательную вычислительную сложность.
Кроме того, в предшествующем уровне техники, вычисление числа импульсов N в составленной периодической части возбуждения не учитывает местоположение первого импульса.
c
Сигналы, представленные на фиг. 4 и фиг. 5, имеют идентичный период основного тона длины T.
Фиг. 4 иллюстрирует речевой сигнал, имеющий 3 импульса в кадре.
Напротив, фиг. 5 иллюстрирует речевой сигнал, который имеет только два импульса в кадре.
Эти примеры, проиллюстрированные посредством фиг. 4 и 5, показывают то, что число импульсов зависит от позиции первого импульса.
Кроме того, согласно предшествующему уровню техники, проверяется, находится или нет T[N-1], местоположение N-ого импульса в составленной периодической части возбуждения, в пределах длины кадра, даже если N задается таким образом, что оно включает в себя первый импульс в следующем кадре.
Кроме того, согласно предшествующему уровню техники, выборки не добавляются или удаляются перед первым и после последнего импульса. Варианты осуществления настоящего изобретения основаны на таких выявленных сведениях, что это приводит к такому недостатку, что может быть внезапное изменение длины первого полного цикла основного тона, и кроме того, это дополнительно приводит к такому недостатку, что длина цикла основного тона после последнего импульса может превышать длину последнего полного цикла основного тона перед последним импульсом, даже когда запаздывание основного тона снижается (см. фиг. 6 и 7).
Варианты осуществления основаны на таких выявленных сведениях, что импульсы T[k]=P-dif f и T[n]=P-d не равны, когда:
c
- . В этом случае dif f=T-d, и число удаленных выборок составляет dif f вместо d.
- T[k] находится в будущем кадре, и он перемещается в текущий кадр только после удаления d выборок.
- T[n] перемещается в будущий кадр после добавления -d выборок (d<0).
Это должно приводить к неправильной позиции импульсов в маскированном кадре.
Кроме того, варианты осуществления основаны на таких выявленных сведениях, что в предшествующем уровне техники, максимальное значение d ограничено минимальным допустимым значением для кодированного запаздывания основного тона. Это представляет собой сдерживающий фактор, который ограничивает возникновение других проблем, но он также ограничивает возможное изменение основного тона и в силу этого ограничивает повторную синхронизацию импульсов.
Кроме того, варианты осуществления основаны на таких выявленных сведениях, что в предшествующем уровне техники, периодическая часть составляется с использованием целочисленного запаздывания основного тона, и что это создает сдвиг частоты гармоник и значительное ухудшение при маскировании тональных сигналов с постоянным основным тоном. Это ухудшение может наблюдаться на фиг. 8, при этом фиг. 8 иллюстрирует частотно-временное представление речевого сигнала, повторно синхронизируемого при использовании округленного запаздывания основного тона.
Кроме того, варианты осуществления основаны на таких выявленных сведениях, что большинство проблем предшествующего уровня техники возникает в случаях, показанных посредством примеров, проиллюстрированных на фиг. 6 и 7, в которых d выборок удаляются. Здесь считается, что отсутствуют ограничения на максимальное значение для d, чтобы сделать проблему легко очевидной. Проблема также возникает, когда имеется предел для d, но не является настолько очевидной. Вместо непрерывного увеличения основного тона, получается внезапное увеличение, после которого следует внезапное уменьшение основного тона. Варианты осуществления основаны на таких выявленных сведениях, что это происходит, поскольку выборки не удаляются до и после последнего импульса, и косвенно также вызывается посредством непринятия во внимание того, что импульс T[2] перемещается в кадре после удаления d выборок. Неправильное вычисление N также происходит в этом примере.
Согласно вариантам осуществления, предоставляются улучшенные принципы повторной синхронизации импульсов. Варианты осуществления предоставляют улучшенное маскирование монофонических сигналов, включающих в себя речь, которое является преимущественным по сравнению с существующими технологиями, описанными в стандартах G.718 (см. [ITU08a]) и G.729.1 (см. [ITU06b]). Предоставленные варианты осуществления являются подходящими для сигналов с постоянным основным тоном, а также для сигналов с изменяющимся основным тоном.
В числе прочего, согласно вариантам осуществления, предоставляются три технологии.
Согласно первой технологии, предоставленной посредством варианта осуществления, предоставляется принцип поиска для импульсов, который, в отличие от G.718 и G.729.1, учитывает местоположение первого импульса при вычислении числа импульсов в составленной периодической части, обозначаемого в качестве N.
Согласно второй технологии, предоставленной посредством другого варианта осуществления, предусмотрен алгоритм для поиска импульсов, которому, в отличие от G.718 и G.729.1, не требуется число импульсов в составленной периодической части, обозначаемое в качестве N, который учитывает местоположение первого импульса, и который непосредственно вычисляет индекс последнего импульса в маскированном кадре, обозначаемый в качестве k.
Согласно третьей технологии, предоставленной посредством дополнительного варианта осуществления, поиск импульсов не требуется. Согласно этой третьей технологии, составление периодической части комбинируется с удалением или добавлением выборок, за счет этого обеспечивая меньшую сложность по сравнению с предыдущими технологиями.
Дополнительно или альтернативно, некоторые варианты осуществления предоставляют следующие изменения для вышеуказанных технологий, а также для технологий G.718 и G.729.1:
- Дробная часть запаздывания основного тона, например, может использоваться для составления периодической части для сигналов с постоянным основным тоном.
- Смещение в ожидаемое местоположение последнего импульса в маскированном кадре, например, может вычисляться для нецелочисленного числа циклов основного тона в кадре.
- Выборки, например, могут добавляться или удаляться также перед первым импульсом и после последнего импульса.
- Выборки, например, могут также добавляться или удаляться, если имеется всего один импульс.
- Число выборок, которые должны быть удалены или добавлены, например, может изменяться линейно, согласно прогнозному линейному изменению в основном тоне.
Далее подробнее описываются варианты осуществления настоящего изобретения в отношении чертежей, на которых:
Фиг. 1 иллюстрирует устройство для определения оцененного запаздывания основного тона согласно варианту осуществления,
Фиг. 2a иллюстрирует устройство для восстановления кадра, содержащего речевой сигнал в качестве восстановленного кадра согласно варианту осуществления,
Фиг. 2b иллюстрирует речевой сигнал, содержащий множество импульсов,
Фиг. 2c иллюстрирует систему для восстановления кадра, содержащего речевой сигнал согласно варианту осуществления,
Фиг. 3 иллюстрирует составленную периодическую часть речевого сигнала,
Фиг. 4 иллюстрирует речевой сигнал, имеющий три импульса в кадре,
Фиг. 5 иллюстрирует речевой сигнал, имеющий два импульса в кадре,
Фиг. 6 иллюстрирует речевой сигнал перед удалением выборок,
Фиг. 7 иллюстрирует речевой сигнал по фиг. 6 после удаления выборок,
Фиг. 8 иллюстрирует частотно-временное представление речевого сигнала, повторно синхронизируемого с использованием округленного запаздывания основного тона,
Фиг. 9 иллюстрирует частотно-временное представление речевого сигнала, повторно синхронизируемого с использованием неокругленного запаздывания основного тона с дробной частью,
Фиг. 10 иллюстрирует схему запаздывания основного тона, на которой запаздывание основного тона восстанавливается с использованием принципов предшествующего уровня техники,
Фиг. 11 иллюстрирует схему запаздывания основного тона, на которой запаздывание основного тона восстанавливается согласно вариантам осуществления,
Фиг. 12 иллюстрирует речевой сигнал перед удалением выборок, и
0
3
Фиг. 13 иллюстрирует речевой сигнал по фиг. 12 с дополнительной иллюстрацией Δ-Δ.
Фиг. 1 иллюстрирует устройство для определения оцененного запаздывания основного тона согласно варианту осуществления. Устройство содержит входной интерфейс 110 для приема множества исходных значений запаздывания основного тона и модуль 120 оценки запаздывания основного тона для оценки оцененного запаздывания основного тона. Модуль 120 оценки запаздывания основного тона выполнен с возможностью оценивать оцененное запаздывание основного тона в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, информационное значение из множества информационных значений назначается упомянутому исходному значению запаздывания основного тона.
Согласно варианту осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества значений усиления основного тона в качестве множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, значение усиления основного тона из множества значений усиления основного тона назначается упомянутому исходному значению запаздывания основного тона.
В конкретном варианте осуществления, каждое из множества значений усиления основного тона, например, может представлять собой усиление адаптивной таблицы кодирования.
В варианте осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством минимизации функции ошибок.
Согласно варианту осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
p
где a является действительным числом, где b является действительным числом, где k является целым числом с k≥2, и где P(i) является i-ым исходным значением запаздывания основного тона, где g(i) является i-ым значением усиления основного тона, назначаемым i-ому значению P(i) запаздывания основного тона.
В варианте осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
p
где a является действительным числом, где b является действительным числом, где P(i) является i-ым исходным значением запаздывания основного тона, где g(i) является i-ым значением усиления основного тона, назначаемым i-ому значению P(i) запаздывания основного тона.
Согласно варианту осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью определять оцененное запаздывание p основного тона согласно p=a*i+b.
В варианте осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона в зависимости от множества исходных значений запаздывания основного тона и в зависимости от множества значений времени в качестве множества информационных значений, при этом для каждого исходного значения запаздывания основного тона из множества исходных значений запаздывания основного тона, значение времени из множества значений времени назначается упомянутому исходному значению запаздывания основного тона.
Согласно варианту осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством минимизации функции ошибок.
В варианте осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
passed
где a является действительным числом, где b является действительным числом, где k является целым числом с k≥2, и где P(i) является i-ым исходным значением запаздывания основного тона, где time(i) является i-ым значением времени, назначаемым i-ому значению P(i) запаздывания основного тона.
Согласно варианту осуществления, модуль 120 оценки запаздывания основного тона, например, может быть выполнен с возможностью оценивать оцененное запаздывание основного тона посредством определения двух параметров a, b посредством минимизации функции ошибок:
,
passed
где a является действительным числом, где b является действительным числом, где P(i) является i-ым исходным значением запаздывания основного тона, где time(i) является i-ым значением времени, назначаемым i-ому значению P(i) запаздывания основного тона.
В варианте осуществления, модуль 120 оценки запаздывания основного тона выполнен с возможностью определять оцененное запаздывание p основного тона согласно p=a*i+b.
Далее описываются варианты осуществления, предоставляющие взвешенное прогнозирование основного тона, относительно формул (20)-(24b).
Сначала описываются варианты осуществления для взвешенного прогнозирования основного тона с использованием взвешивания согласно усилению основного тона в отношении формул (20)-(22c). Согласно некоторым из этих вариантов осуществления, для того чтобы преодолевать недостаток предшествующего уровня техники, запаздывания основного тона взвешиваются с помощью усиления основного тона для того, чтобы выполнять прогнозирование основного тона.
p
В некоторых вариантах осуществления, усиление основного тона может представлять собой усиление g адаптивной таблицы кодирования, как задано в стандарте G.729 (см. [ITU12], в частности, главу 3.7.3, более конкретно, формулу (43)). В G.729, усиление адаптивной таблицы кодирования определяется согласно следующему:
Здесь, x(n) является целевым сигналом, и y(n) получается посредством свертывания v(n) с h(n) согласно следующему:
,
где v(n) является вектором адаптивной таблицы кодирования, где y(n) является фильтрованным вектором адаптивной таблицы кодирования, и где h(n-i) является импульсной характеристикой взвешенного синтезирующего фильтра, как задано в G.729 (см. [ITU12]).
p
Аналогично, в некоторых вариантах осуществления, усиление основного тона может представлять собой усиление g адаптивной таблицы кодирования, как задано в стандарте G.718 (см. [ITU08a], в частности, главу 6.8.4.1.4.1, более конкретно, формулу (170)). В G.718, усиление адаптивной таблицы кодирования определяется согласно следующему:
,
k
где x(n) является целевым сигналом, и y(n) является предыдущим фильтрованным возбуждением при задержке k.
k
Например, см. [ITU08a], главу 6.8.4.1.4.1, формулу (171), на предмет определения того, как может задаваться y(n).
p
p
Аналогично, в некоторых вариантах осуществления, усиление основного тона может представлять собой усиление g адаптивной таблицы кодирования, как задано в AMR-стандарте (см. [3GP12b]), при этом усиление g адаптивной таблицы кодирования в качестве усиления основного тона задается согласно следующему:
,
где y(n) является фильтрованным вектором адаптивной таблицы кодирования.
В некоторых конкретных вариантах осуществления, запаздывания основного тона, например, могут быть взвешены с помощью усиления основного тона, например, до выполнения прогнозирования основного тона.
С этой целью, согласно варианту осуществления, например, может вводиться второй буфер длины 8, хранящий усиления основного тона, которые принимаются в субкадрах, идентичных субкадрам запаздываний основного тона. В варианте осуществления, буфер, например, может обновляться с использованием правил, идентичных правилам обновления запаздываний основного тона. Одна возможная реализация заключается в том, чтобы обновлять оба буфера (хранящие запаздывания основного тона и усиления основного тона последних восьми субкадров) в конце каждого кадра независимо от того, является этот кадр безошибочным или подверженным ошибкам.
Предусмотрено две различных стратегии прогнозирования, известные из предшествующего уровня техники, которые могут улучшаться таким образом, чтобы использовать взвешенное прогнозирование основного тона.
Некоторые варианты осуществления обеспечивают значительные изобретаемые улучшения стратегии прогнозирования G.718-стандарта. В G.718, в случае потерь пакетов, буферы могут умножаться друг на друга поэлементно, чтобы взвешивать запаздывание основного тона с высоким коэффициентом, если ассоциированное усиление основного тона является высоким, и взвешивать его с низким коэффициентом, если ассоциированное усиление основного тона является низким. После этого, согласно G.718, прогнозирование основного тона выполняется как обычно (см. [ITU08a, раздел 7.11.1.3] на предмет подробностей относительно G.718).
Некоторые варианты осуществления обеспечивают значительные изобретаемые улучшения стратегии прогнозирования G.729.1-стандарта. Алгоритм, используемый в G.729.1 для того, чтобы прогнозировать основной тон (см. [ITU06b] на предмет подробностей относительно G.729.1), модифицируется согласно вариантам осуществления таким образом, чтобы использовать взвешенное прогнозирование.
Согласно некоторым вариантам осуществления, цель состоит в том, чтобы минимизировать функцию ошибок:
,
p
где g(i) хранит усиления основного тона из предыдущих субкадров, и P(i) хранит соответствующие запаздывания основного тона.
p
p
В изобретаемой формуле (20), g(i) представляет весовой коэффициент. В вышеприведенном примере, каждый g(i) представляет усиление основного тона из одного из предыдущих субкадров.
Ниже предусмотрены уравнения согласно вариантам осуществления, которые описывают то, как извлекать коэффициенты a и b, которые могут использоваться для того, чтобы прогнозировать запаздывание основного тона согласно следующему: a+i*b, где i является номером субкадра для субкадра, который должен прогнозироваться.
Например, для того, чтобы получать первый прогнозный субкадр на основе прогнозирования для последних пяти субкадров P(0), ..., P(4), прогнозное значение P(5) основного тона должно быть следующим:
P(5)=a+5*b.
Чтобы извлекать коэффициенты a и b, функция ошибок, например, может извлекаться (как производная) и может задаваться равной нулю:
p
Предшествующий уровень техники не раскрывает использование изобретаемого взвешивания, предоставленного посредством вариантов осуществления. В частности, предшествующий уровень техники не использует весовой коэффициент g(i).
p
Таким образом, в предшествующем уровне техники, который не использует весовой коэффициент g(i), извлечение функции ошибок и задание производной функции ошибок равной 0 приводит в результате к следующему:
(см. [ITU06b, 7.6.5]).
p
Напротив, при использовании подхода на основе взвешенного прогнозирования предоставленных вариантов осуществления, например, подход на основе взвешенного прогнозирования по формуле (20) с весовым коэффициентом g(i), a и b приводит в результате к следующему:
Согласно конкретному варианту осуществления, A, B, C, D; E, F, G, H, I, J и K, например, могут иметь следующие значения:
(22c)
Фиг. 10 и фиг. 11 показывают превосходные характеристики предложенной экстраполяции основного тона.
При этом, фиг. 10 иллюстрирует схему запаздывания основного тона, на которой запаздывание основного тона восстанавливается с использованием принципов предшествующего уровня техники. Напротив, фиг. 11 иллюстрирует схему запаздывания основного тона, на которой запаздывание основного тона восстанавливается согласно вариантам осуществления.
В частности, фиг. 10 иллюстрирует характеристики стандартов предшествующего уровня техники G.718 и G.729.1, тогда как фиг. 11 иллюстрирует характеристики предоставленного принципа, предоставленного посредством варианта осуществления.
Ось абсцисс обозначает номер субкадра. Непрерывная линия 1010 показывает запаздывание основного тона кодера, которое встраивается в поток битов и которое теряется в области серого сегмента 1030. Левая ось ординат представляет ось запаздывания основного тона. Правая ось ординат представляет ось усиления основного тона. Непрерывная линия 1010 иллюстрирует запаздывание основного тона, в то время как пунктирные линии 1021, 1022, 1023 иллюстрируют усиление основного тона.
Серый прямоугольник 1030 обозначает потери кадров. Вследствие потерь кадров, которые возникают в области серого сегмента 1030, информация относительно запаздывания основного тона и усиления основного тона в этой области недоступна на стороне декодера и должна быть восстановлена.
На фиг. 10, запаздывание основного тона, маскированное с использованием G.718-стандарта, проиллюстрировано посредством части 1011 штрихпунктирной линии. Запаздывание основного тона, маскированное с использованием G.729.1-стандарта, проиллюстрировано посредством части 1012 непрерывной линии. Можно четко видеть, что использование предоставленного прогнозирования основного тона (фиг. 11, часть 1013 непрерывной линии) соответствует по существу потерянному запаздыванию основного тона кодера и в силу этого является преимущественным по сравнению с G.718- и G.729.1-технологиями.
Далее описываются варианты осуществления с использованием взвешивания в зависимости от истекшего времени в отношении формул (23a)-(24b).
Чтобы преодолевать недостатки предшествующего уровня техники, некоторые варианты осуществления применяют временное взвешивание к запаздываниям основного тона до выполнения прогнозирования основного тона. Применение временного взвешивания может достигаться посредством минимизации этой функции ошибок:
,
passed
где time(i) представляет инверсию количества времени, которое прошло после корректного приема запаздывания основного тона, и P(i) хранит соответствующие запаздывания основного тона.
Некоторые варианты осуществления, например, могут задавать высокие весовые коэффициенты для более новых запаздываний и меньший весовой коэффициент для запаздываний, принятых раньше.
Согласно некоторым вариантам осуществления, формула (21a) затем может использоваться для того, чтобы извлекать a и b.
Чтобы получать первый прогнозный субкадр, некоторые варианты осуществления, например, могут осуществлять прогнозирование на основе последних пяти субкадров, P(0), ..., P(4). Например, прогнозное значение P(5) основного тона затем может получаться согласно следующему:
Например, если:
(временное взвешивание согласно субкадровой задержке), это приводит в результате к следующему:
Далее описываются варианты осуществления, предоставляющие повторную синхронизацию импульсов.
Фиг. 2a иллюстрирует устройство для восстановления кадра, содержащего речевой сигнал в качестве восстановленного кадра согласно варианту осуществления. Упомянутый восстановленный кадр ассоциирован с одним или более доступных кадров, причем упомянутые один или более доступных кадров представляют собой, по меньшей мере, один из одного или более предшествующих кадров восстановленного кадра и одного или более последующих кадров восстановленного кадра, при этом один или более доступных кадров содержат один или более циклов основного тона в качестве одного или более доступных циклов основного тона.
Устройство содержит модуль 210 определения для определения разности  числа выборок, указывающей разность между числом выборок одного из одного или более доступных циклов основного тона и числом выборок первого цикла основного тона, который должен быть восстановлен.
Кроме того, устройство содержит модуль восстановления кадров для восстановления восстановленного кадра посредством восстановления, в зависимости от разности  числа выборок и в зависимости от выборок упомянутого одного из одного или более доступных циклов основного тона, первого цикла основного тона, который должен быть восстановлен в качестве первого восстановленного цикла основного тона.
Модуль 220 восстановления кадров выполнен с возможностью восстанавливать восстановленный кадр таким образом, что восстановленный кадр полностью или частично содержит первый восстановленный цикл основного тона, таким образом, что восстановленный кадр полностью или частично содержит второй восстановленный цикл основного тона, и таким образом, что число выборок первого восстановленного цикла основного тона отличается от числа выборок второго восстановленного цикла основного тона.
Восстановление цикла основного тона проводится посредством восстановления некоторых или всех выборок цикла основного тона, который должен быть восстановлен. Если цикл основного тона, который должен быть восстановлен, полностью состоит из кадра, который потерян, то все выборки цикла основного тона, возможно, например, придется восстанавливать. Если цикл основного тона, который должен быть восстановлен, только частично состоит из кадра, который потерян, и если некоторые выборки цикла основного тона доступны, например, поскольку они состоят из другого кадра, то может быть достаточным, например, восстанавливать только те выборки цикла основного тона, которые состоят из кадра, который потерян, для того чтобы восстанавливать цикл основного тона.
Фиг. 2b иллюстрирует функциональность устройства по фиг. 2a. В частности, фиг. 2b иллюстрирует речевой сигнал 222, содержащий импульсы 211, 212, 213, 214, 215, 216, 217.
Первая часть речевого сигнала 222 состоит из кадра n-1. Вторая часть речевого сигнала 222 состоит из кадра n. Третья часть речевого сигнала 222 состоит из кадра n+1.
На фиг. 2b, кадр n-1 идет перед кадром n, а кадр n+1 идет после кадра n. Это означает, кадр n-1 содержит часть речевого сигнала, которая возникает раньше во времени по сравнению с частью речевого сигнала кадра n; и кадр n+1 содержит часть речевого сигнала, которая возникает позже во времени по сравнению с частью речевого сигнала кадра n.
В примере по фиг. 2b предполагается, что кадр n потерян или поврежден, и в силу этого только кадры перед кадром n ("предшествующие кадры") и кадры после кадра n ("последующие кадры") доступны ("доступные кадры").
Цикл основного тона, например, может задаваться следующим образом: Цикл основного тона начинается с одного из импульсов 211, 212, 213 и т.д. и завершается непосредственно последующим импульсом в речевом сигнале. Например, импульс 211 и 212 задают цикл 201 основного тона. Импульс 212 и 213 задают цикл 202 основного тона. Импульс 213 и 214 задают цикл 203 основного тона и т.д.
Альтернативно могут рассматриваться другие определения цикла основного тона, известные специалистам в данной области техники, которые используют, например, другие начальные и конечные точки цикла основного тона.
В примере по фиг. 2b, кадр n недоступен в приемном устройстве или поврежден. Таким образом, приемное устройство имеет сведения по импульсам 211 и 212 и по циклу 201 основного тона кадра n-1. Кроме того, приемное устройство имеет сведения по импульсам 216 и 217 и по циклу 206 основного тона кадра n+1. Тем не менее, кадр n, который содержит импульсы 213, 214 и 215, которые полностью содержат циклы 203 и 204 основного тона и которые частично содержат циклы 202 и 205 основного тона, должен быть восстановлен.
Согласно некоторым вариантам осуществления, кадр n может быть восстановлен в зависимости от выборок, по меньшей мере, одного цикла основного тона ("доступных циклов основного тона") доступных кадров (например, предшествующего кадра n-1 или последующего кадра n+1). Например, выборки цикла 201 основного тона кадра n-1, например, могут циклически многократно копироваться для того, чтобы восстанавливать выборки потерянного или поврежденного кадра. Посредством циклического многократного копирования выборок цикла основного тона, непосредственно цикл основного тона копируется, например, если цикл основного тона составляет c, то:
sample(x+i*c)=sample(x); где i является целым числом.
В вариантах осуществления, выборки из конца кадра n-1 копируются. Длина части (n-1)-ого кадра, который копируется, равна длине цикла 201 основного тона (или почти равна). Тем не менее, выборки из 201 и 202 используются для копирования. Это может учитываться особенно тщательно, когда имеется всего один импульс в (n-1)-ом кадре.
В некоторых вариантах осуществления, копированные выборки модифицируются.
Кроме того, настоящее изобретение основано на таких выявленных сведениях, что посредством циклического многократного копирования выборок цикла основного тона, импульсы 213, 214, 215 потерянного кадра n перемещаются в неправильные позиции, когда размер циклов основного тона, которые (полностью или частично) состоят из потерянного кадра (n) (циклов 202, 203, 204 и 205 основного тона), отличается от размера копированного доступного цикла основного тона (здесь: цикла 201 основного тона).
1
2
3
4
Например, на фиг. 2b, разность между циклом 201 основного тона и циклом 202 основного тона указывается посредством Δ, разность между циклом 201 основного тона и циклом 203 основного тона указывается посредством Δ, разность между циклом 201 основного тона и циклом 204 основного тона указывается посредством Δ, и разность между циклом 201 основного тона и циклом 205 основного тона указывается посредством Δ.
На фиг. 2b, можно видеть, что цикл 201 основного тона кадра n-1 значительно больше цикла 206 основного тона. Кроме того, циклы 202, 203, 204 и 205 основного тона, (частично или полностью) состоящие из кадра n, меньше цикла 201 основного тона и больше цикла 206 основного тона. Кроме того, циклы основного тона, находящиеся ближе к большому циклу 201 основного тона (например, циклу 202 основного тона), больше циклов основного тона (например, цикла 205 основного тона), находящихся ближе к небольшому циклу 206 основного тона.
На основе этих выявленных сведений настоящего изобретения, согласно вариантам осуществления, модуль 220 восстановления кадров выполнен с возможностью восстанавливать восстановленный кадр таким образом, что число выборок первого восстановленного цикла основного тона отличается от числа выборок второго восстановленного цикла основного тона, частично или полностью состоящего из восстановленного кадра.
Например, согласно некоторым вариантам осуществления, восстановление кадра зависит от разности числа выборок, указывающей разность между числом выборок одного из одного или более доступных циклов основного тона (например, цикла 201 основного тона) и числом выборок первого цикла основного тона (например, цикла 202, 203, 204, 205 основного тона), который должен быть восстановлен.
Например, согласно варианту осуществления, выборки цикла 201 основного тона, например, могут циклически многократно копироваться.
Затем разность числа выборок указывает, сколько выборок должно удаляться из циклически повторяющейся копии, соответствующей первому циклу основного тона, который должен быть восстановлен, или сколько выборок должно добавляться в циклически повторяющуюся копию, соответствующую первому циклу основного тона, который должен быть восстановлен.
На фиг. 2b, каждое число выборок указывает, сколько выборок должно удаляться из циклически повторяющейся копии. Тем не менее, в других примерах, число выборок может указывать, сколько выборок должно добавляться в циклически повторяющуюся копию. Например, в некоторых вариантах осуществления, выборки могут добавляться посредством добавления выборок с амплитудным нулем в соответствующий цикл основного тона. В других вариантах осуществления, выборки могут добавляться в цикл основного тона посредством копирования других выборок цикла основного тона, например, посредством копирования выборок, соседних с позициями выборок, которые должны добавляться.
Хотя выше описаны варианты осуществления, в которых выборки цикла основного тона кадра перед потерянным или поврежденным кадром циклически многократно скопированы, в других вариантах осуществления, выборки цикла основного тона кадра после потерянного или поврежденного кадра циклически многократно копируются, чтобы восстанавливать потерянный кадр. Идентичные принципы, описанные выше и ниже, применяются аналогично.
Такая разность числа выборок может определяться для каждого цикла основного тона, который должен быть восстановлен. Далее, разность числа выборок каждого цикла основного тона указывает, сколько выборок должно удаляться из циклически повторяющейся копии, соответствующей соответствующему циклу основного тона, который должен быть восстановлен, или сколько выборок должно добавляться в циклически повторяющуюся копию, соответствующую соответствующему циклу основного тона, который должен быть восстановлен.
Согласно варианту осуществления, модуль 210 определения, например, может быть выполнен с возможностью определять разность числа выборок для каждого из множества циклов основного тона, которые должны быть восстановлены, таким образом, что разность числа выборок каждого из циклов основного тона указывает разность между числом выборок упомянутого одного из одного или более доступных циклов основного тона и числом выборок упомянутого цикла основного тона, который должен быть восстановлен. Модуль 220 восстановления кадров, например, может быть выполнен с возможностью восстанавливать каждый цикл основного тона из множества циклов основного тона, которые должны быть восстановлены, в зависимости от разности числа выборок упомянутого цикла основного тона, который должен быть восстановлен, и в зависимости от выборок упомянутого одного из одного или более доступных циклов основного тона, для того чтобы восстанавливать восстановленный кадр.
В варианте осуществления, модуль 220 восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр в зависимости от упомянутого одного из одного или более доступных циклов основного тона. Модуль 220 восстановления кадров, например, может быть выполнен с возможностью модифицировать промежуточный кадр, с тем чтобы получать восстановленный кадр.
Согласно варианту осуществления, модуль 210 определения, например, может быть выполнен с возможностью определять разностное значение (d; s) кадра, указывающее то, сколько выборок должно удаляться из промежуточного кадра или сколько выборок должно добавляться в промежуточный кадр. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью удалять первые выборки из промежуточного кадра, с тем чтобы получать восстановленный кадр, когда разностное значение кадра указывает то, что первые выборки должны удаляться из кадра. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью добавлять вторые выборки в промежуточный кадр, с тем чтобы получать восстановленный кадр, когда разностное значение (d; s) кадра указывает то, что вторые выборки должны добавляться в кадр.
В варианте осуществления, модуль 220 восстановления кадров, например, может быть выполнен с возможностью удалять первые выборки из промежуточного кадра, когда разностное значение кадра указывает то, что первые выборки должны удаляться из кадра таким образом, что число первых выборок, которые удаляются из промежуточного кадра, указывается посредством разностного значения кадра. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью добавлять вторые выборки в промежуточный кадр, когда разностное значение кадра указывает то, что вторые выборки должны добавляться в кадр таким образом, что число вторых выборок, которые добавляются в промежуточный кадр, указывается посредством разностного значения кадра.
Согласно варианту осуществления, модуль 210 определения, например, может быть выполнен с возможностью определять разностное число s кадра таким образом, что формула:
r
является справедливой, где L указывает число выборок восстановленного кадра, где M указывает число субкадров восстановленного кадра, где T указывает округленную длину периода основного тона упомянутого одного из одного или более доступных циклов основного тона, и где P[i] указывает длину периода основного тона восстановленного цикла основного тона i-ого субкадра восстановленного кадра.
В варианте осуществления, модуль 220 восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр в зависимости от упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр таким образом, что промежуточный кадр содержит первый частичный промежуточный цикл основного тона, один или более дополнительных промежуточных циклов основного тона и второй частичный промежуточный цикл основного тона. Кроме того, первый частичный промежуточный цикл основного тона, например, может зависеть от одной или более выборок упомянутого одного из одного или более доступных циклов основного тона, при этом каждый из одного или более дополнительных промежуточных циклов основного тона зависит от всех выборок упомянутого одного из одного или более доступных циклов основного тона, при этом второй частичный промежуточный цикл основного тона зависит от одной или более выборок упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль 210 определения, например, может быть выполнен с возможностью определять разностное число начальной части, указывающее то, сколько выборок должно удаляться или добавляться из первого частичного промежуточного цикла основного тона, при этом модуль 220 восстановления кадров выполнен с возможностью удалять одну или более первых выборок из первого частичного промежуточного цикла основного тона или выполнен с возможностью добавлять одну или более первых выборок в первый частичный промежуточный цикл основного тона в зависимости от разностного числа начальной части. Кроме того, модуль 210 определения, например, может быть выполнен с возможностью определять, для каждого из дополнительных промежуточных циклов основного тона, разностное число цикла основного тона, указывающее то, сколько выборок должно удаляться или добавляться из упомянутого одного из дополнительных промежуточных циклов основного тона. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью удалять одну или более вторых выборок из упомянутого одного из дополнительных промежуточных циклов основного тона или выполнен с возможностью добавлять одну или более вторых выборок в упомянутый один из дополнительных промежуточных циклов основного тона в зависимости от упомянутого разностного числа цикла основного тона. Кроме того, модуль 210 определения, например, может быть выполнен с возможностью определять разностное число конечной части, указывающее то, сколько выборок должно удаляться или добавляться из второго частичного промежуточного цикла основного тона, при этом модуль 220 восстановления кадров выполнен с возможностью удалять одну или более третьих выборок из второго частичного промежуточного цикла основного тона или выполнен с возможностью добавлять одну или более третьих выборок во второй частичный промежуточный цикл основного тона в зависимости от разностного числа конечной части.
Согласно варианту осуществления, модуль 220 восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр в зависимости от упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль 210 определения, например, может быть выполнен с возможностью определять одну или более низкоэнергетических частей сигнала для речевого сигнала, состоящего из промежуточного кадра, при этом каждая из одной или более низкоэнергетических частей сигнала является первой частью сигнала для речевого сигнала в промежуточном кадре, причем энергия речевого сигнала ниже во второй части сигнала для речевого сигнала, состоящего из промежуточного кадра. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью удалять одну или более выборок, по меньшей мере, из одной из одной или более низкоэнергетических частей сигнала для речевого сигнала или добавлять одну или более выборок, по меньшей мере, в одну из одной или более низкоэнергетических частей сигнала для речевого сигнала, с тем чтобы получать восстановленный кадр.
В конкретном варианте осуществления, модуль 220 восстановления кадров, например, может быть выполнен с возможностью формировать промежуточный кадр таким образом, что промежуточный кадр содержит один или более восстановленных циклов основного тона, так что каждый из одного или более восстановленных циклов основного тона зависит от упомянутого одного из одного или более доступных циклов основного тона. Кроме того, модуль 210 определения, например, может быть выполнен с возможностью определять число выборок, которое должно удаляться из каждого из одного или более восстановленных циклов основного тона. Кроме того, модуль 210 определения, например, может быть выполнен с возможностью определять каждую из одной или более низкоэнергетических частей сигнала таким образом, что для каждой из одной или более низкоэнергетических частей сигнала, число выборок упомянутой низкоэнергетической части сигнала зависит от числа выборок, которое должно удаляться из одного из одного или более восстановленных циклов основного тона, при этом упомянутая низкоэнергетическая часть сигнала расположена в упомянутом одном или более восстановленных циклов основного тона.
В варианте осуществления, модуль 210 определения, например, может быть выполнен с возможностью определять позицию одного или более импульсов речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра. Кроме того, модуль 220 восстановления кадров, например, может быть выполнен с возможностью восстанавливать восстановленный кадр в зависимости от позиции одного или более импульсов речевого сигнала.
Согласно варианту осуществления, модуль 210 определения, например, может быть выполнен с возможностью определять позицию двух или более импульсов речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, где T[0] представляет собой позицию одного из двух или более импульсов речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, при этом модуль 210 определения выполнен с возможностью определять позицию (T[i]) дополнительных импульсов из двух или более импульсов речевого сигнала согласно формуле:
,
r
где T указывает округленную длину упомянутого одного из одного или более доступных циклов основного тона, и где i является целым числом.
Согласно варианту осуществления, модуль 210 определения, например, может быть выполнен с возможностью определять индекс k последнего импульса речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, так что:
,
r
где L указывает число выборок восстановленного кадра, где s указывает разностное значение кадра, где T[0] указывает позицию импульса речевого сигнала кадра, который должен быть восстановлен в качестве восстановленного кадра, отличающегося от последнего импульса речевого сигнала, и где T указывает округленную длину упомянутого одного из одного или более доступных циклов основного тона.
В варианте осуществления, модуль 210 определения, например, может быть выполнен с возможностью восстанавливать кадр, который должен быть восстановлен в качестве восстановленного кадра, посредством определения параметра , при этом задается согласно формуле:
,
p
ext
при этом кадр, который должен быть восстановлен в качестве восстановленного кадра, содержит M субкадров, где T указывает длину упомянутого одного из одного или более доступных циклов основного тона, и где T указывает длину одного из циклов основного тона, которые должны быть восстановлены, для кадра, который должен быть восстановлен в качестве восстановленного кадра.
r
Согласно варианту осуществления, модуль 210 определения, например, может быть выполнен с возможностью восстанавливать восстановленный кадр посредством определения округленной длины T упомянутого одного из одного или более доступных циклов основного тона на основе формулы:
,
p
где T указывает длину упомянутого одного из одного или более доступных циклов основного тона.
В варианте осуществления, модуль 210 определения, например, может быть выполнен с возможностью восстанавливать восстановленный кадр посредством применения формулы:
,
p
r
где T указывает длину упомянутого одного из одного или более доступных циклов основного тона, где T указывает округленную длину упомянутого одного из одного или более доступных циклов основного тона, при этом кадр, который должен быть восстановлен в качестве восстановленного кадра, содержит M субкадров, при этом кадр, который должен быть восстановлен в качестве восстановленного кадра, содержит L выборок, и где является действительным числом, указывающим разность между числом выборок упомянутого одного из одного или более доступных циклов основного тона и числом выборок одного из одного или более циклов основного тона, которые должны быть восстановлены.
Ниже подробнее описываются варианты осуществления.
Далее описывается первая группа вариантов осуществления для повторной синхронизации импульсов в отношении формул (25)-(63).
В таких вариантах осуществления, если отсутствует изменение основного тона, последнее запаздывание основного тона используется без округления, сохраняя дробную часть. Периодическая часть составляется с использованием нецелочисленного основного тона и интерполяции, как указано, например, в [MTTA90]. Это уменьшает сдвиг частоты гармоник, по сравнению с использованием округленного запаздывания основного тона, и в силу этого значительно улучшает маскирование тональных или вокализованных сигналов с постоянным основным тоном.
Преимущество проиллюстрировано посредством фиг. 8 и фиг. 9, на которых сигнал, представляющий камертон с потерями кадров, маскируется с использованием, соответственно, округленного и неокругленного дробного запаздывания основного тона. При этом, фиг. 8 иллюстрирует частотно-временное представление речевого сигнала, повторно синхронизируемого с использованием округленного запаздывания основного тона. Напротив, фиг. 9 иллюстрирует частотно-временное представление речевого сигнала, повторно синхронизируемого с использованием неокругленного запаздывания основного тона с дробной частью.
Возникает повышенная вычислительная сложность при использовании дробной части основного тона. Это не должно оказывать влияние на сложность по принципу наихудшего случая, поскольку нет необходимости в повторной синхронизации гортанных импульсов.
Если отсутствует прогнозное изменение основного тона, то нет необходимости в обработке, поясненной ниже.
c
Если изменение основного тона прогнозируется, варианты осуществления, описанные в отношении формул (25)-(63), предоставляют принципы для определения d, представляющей собой разность, между суммой общего числа (T) выборок в пределах циклов основного тона с постоянным основным тоном и суммой общего числа p[i] выборок в пределах циклов основного тона с постепенно изменяющимся основным тоном.
c
c
Далее, T задается в формуле (15a): T=round(last_pitch).
Согласно вариантам осуществления, разность d может определяться с использованием более быстрого и точного алгоритма (подхода на основе быстрого алгоритма для определения d), как описано ниже.
Такой алгоритм, например, может быть основан на следующих принципах:
c
c
c
c
- В каждом субкадре i: T-p[i] выборок для каждого цикла основного тона (длины T) должны удаляться (или p[i]-T добавляться, если T-p[i]<0).
- В каждом субкадре, имеется  циклов основного тона.
- Таким образом, для каждого субкадра  выборок должны удаляться.
Согласно некоторым вариантам осуществления, округление не проводится, и используется дробный основной тон. В таком случае:
.
- Таким образом, для каждого субкадра i,  выборок должны удаляться, если δ<0 (или добавляться, если δ>0).
- Таким образом,  (где M является числом субкадров в кадре).
Согласно некоторым другим вариантам осуществления, проводится округление. Для целочисленного основного тона (M является числом субкадров в кадре), d задается следующим образом:
Согласно варианту осуществления, предусмотрен алгоритм для вычисления d, соответственно:
В другом варианте осуществления, последняя строка алгоритма заменена следующим образом:
Согласно вариантам осуществления, последний импульс T[n] находится согласно следующему:
Согласно варианту осуществления, используется формула для того, чтобы вычислять N. Эта формула получается из формулы (26) согласно следующему:
и последний импульс в таком случае имеет индекс N-1.
Согласно этой формуле, N может вычисляться для примеров, проиллюстрированных посредством фиг. 4 и фиг. 5.
Далее описывается принцип без явного поиска последнего импульса, но с учетом позиций импульсов. Такому принципу не требуется N, индекс последнего импульса в составленной периодической части.
Фактическая позиция (T[k]) последнего импульса в составленной периодической части возбуждения определяет число k полных циклов основного тона, в которых выборки удаляются (или добавляются).
Фиг. 12 иллюстрирует позицию T[2] последнего импульса перед удалением d выборок. Относительно вариантов осуществления, описанных относительно формул (25)-(63), ссылка с номером 1210 обозначает d.
В примере по фиг. 12, индекс k последнего импульса равен 2, и имеется 2 полных цикла основного тона, из которых должны удаляться выборки.
После удаления d выборок из сигнала длины L_frame+d, отсутствуют выборки из исходного сигнала помимо L_frame+d выборок. Таким образом, T[k] находится в пределах L_frame+d выборок, и k в силу этого определяется следующим образом:
Из формулы (17) и формулы (28) следует, что:
Иными словами:
Из формулы (30) следует, что:
В кодеке, который, например, использует кадры, по меньшей мере, в 20 мс, и в котором наименьшая основная частота речи составляет, например, по меньшей мере, 40 Гц, в большинстве случаев, по меньшей мере, один импульс имеется в маскированном кадре, отличном от невокализованного.
Далее описывается случай, по меньшей мере, с двумя импульсами (k≥1) в отношении формул (32)-(46).
i
i
Допустим, что в каждом полном i-ом цикле основного тона между импульсами, Δ выборок должны удаляться, где Δ задается следующим образом:
,
где a является неизвестной переменной, которая должна выражаться с точки зрения известных переменных.
0
0
Допустим, что Δ выборок должны удаляться перед первым импульсом, где Δ задается следующим образом:
k+1
k+1
Допустим, что Δ выборок должны удаляться после последнего импульса, где Δ задается следующим образом:
Последние два допущения соответствуют формуле (32) с учетом длины частичных первых и последних циклов основного тона.
i
0
k+1
Каждое из Δ значений является разностью числа выборок. Кроме того, Δявляется разностью числа выборок. Кроме того, Δявляется разностью числа выборок.
0
3
Фиг. 13 иллюстрирует речевой сигнал по фиг. 12 с дополнительной иллюстрацией Δ-Δ. Число выборок, которые должны быть удалены в каждом цикле основного тона, схематично представлено в примере на фиг. 13, где k=2. Относительно вариантов осуществления, описанных в отношении формул (25)-(63), ссылка с номером 1210 обозначает d.
i
Общее число d выборок, которые должны быть удалены, в таком случае связано с Δ следующим образом:
Из формул (32)-(35), d может получаться следующим образом:
Формула (36) является эквивалентной следующему:
Допустим, что последний полный цикл основного тона в маскированном кадре имеет длину p[M-1], т.е.:
Из формулы (32) и формулы (38) следует, что:
Кроме того, из формулы (37) и формулы (39) следует, что:
Формула (40) является эквивалентной следующему:
Из формулы (17) и формулы (41) следует, что:
Формула (42) является эквивалентной следующему:
Кроме того, из формулы (43) следует, что:
Формула (44) является эквивалентной следующему:
Кроме того, формула (45) является эквивалентной следующему:
Согласно вариантам осуществления, далее на основе формул (32)-(34), (39) и (46) вычисляется то, сколько выборок должно удаляться или добавляться перед первым импульсом и/или между импульсами, и/или после последнего импульса.
В варианте осуществления, выборки удаляются или добавляются в областях минимальной энергии.
Согласно вариантам осуществления, число выборок, которые должны быть удалены, например, может округляться с использованием следующего:
Далее описывается случай с одним импульсом (k=0) в отношении формул (47)-(55).
0
Если имеется всего один импульс в маскированном кадре, то Δ выборок должны удаляться перед импульсом:
,
1
где Δ и a являются неизвестными переменными, которые должны выражаться с точки зрения известных переменных; Δ выборок должны удаляться после импульса, где:
Затем общее число выборок, которые должны быть удалены, задается следующим образом:
Из формул (47)-(49) следует, что:
Формула (50) является эквивалентной следующему:
Предполагается, что отношение цикла основного тона перед импульсом к циклу основного тона после импульса является идентичным отношению между запаздыванием основного тона в последнем субкадре и первом субкадре в ранее принимаемом кадре:
Из формулы (52) следует, что:
Кроме того, из формулы (51) и формулы (53) следует, что:
Формула (54) является эквивалентной следующему:
Имеется  выборок, которые должны быть удалены или добавлены в области минимальной энергии перед импульсом и  выборок после импульса.
Далее описывается упрощенный принцип согласно вариантам осуществления, который не требует поиска (местоположения) импульсов, в отношении формул (56)-(63).
T[i] обозначает длину i-ого цикла основного тона. После удаления d выборок из сигнала, k полных циклов основного тона и 1 частичный (вплоть до полного) цикл основного тона получаются.
Таким образом:
c
Поскольку циклы основного тона длины T[i] получаются из цикла основного тона длины T после удаления некоторых выборок, и поскольку общее число удаленных выборок составляет d, из этого следует, что:
Из этого следует, что:
Кроме того, из этого следует, что:
Согласно вариантам осуществления, можно предполагать линейное изменение запаздывания основного тона:
В вариантах осуществления,  выборок удаляются в k-ом цикле основного тона.
Согласно вариантам осуществления, в части k-ого цикла основного тона, которая остается в кадре после удаления выборок:
выборок
удаляются.
Таким образом, общее число удаленных выборок составляет:
Формула (60) является эквивалентной следующему:
Кроме того, формула (61) является эквивалентной следующему:
Кроме того, формула (62) является эквивалентной следующему:
Согласно вариантам осуществления,  выборок удаляются в позиции минимальной энергии. Нет необходимости знать местоположение импульсов, поскольку поиск позиции минимальной энергии выполняется в кольцевом буфере, который хранит один цикл основного тона.
Если позиция минимальной энергии находится после первого импульса, и если выборки до первого импульса не удаляются, то может возникать ситуация, в которой запаздывание основного тона постепенно изменяется как  (2 цикла основного тона в последнем принимаемом кадре и 3 цикла основного тона в маскированном кадре). Таким образом, возникает неоднородность. Аналогичная неоднородность может возникать после последнего импульса, но не одновременно с тем, когда она случается перед первым импульсом.
c
С другой стороны, область минимальной энергии должна возникать после первого импульса с большей вероятностью, если импульс находится ближе к началу маскированного кадра. Если первый импульс находится ближе к началу маскированного кадра, более вероятно, что последний цикл основного тона в последнем принимаемом кадре превышает T. Чтобы уменьшать вероятность неоднородности изменения основного тона, взвешивание должно использоваться для того, чтобы обеспечивать преимущество для минимальных областей ближе к началу или к концу цикла основного тона.
Согласно вариантам осуществления, описывается реализация предоставленных принципов, которая реализует один или более или все из следующих этапов способа:
c
1. Сохранение, во временном буфере B, T фильтрованных по нижним частотам выборок из конца последнего принимаемого кадра, параллельный поиск на предмет области минимальной энергии. Временный буфер считается кольцевым буфером при поиске области минимальной энергии. (Это может означать, что область минимальной энергии может состоять из нескольких выборок от начала и нескольких выборок от конца цикла основного тона.) Область минимальной энергии, например, может быть местоположением минимума для скользящего окна с длиной в  выборок. Например, может использоваться взвешивание, которое, например, может обеспечивать преимущество для минимальных областей ближе к началу цикла основного тона.
2. Копирование выборок из временного буфера B в кадр с пропуском  выборок в области минимальной энергии. Таким образом, цикл основного тона с длиной T[0] создается. Задание
3. Для i-ого цикла основного тона (0<i<k), копирование выборок из (i-1)-ых циклов основного тона с пропуском  выборок в области минимальной энергии. Задание . Повторение этого этапа k-1 раз.
4. Для k-ого цикла основного тона, поиск новой минимальной области в (k-1)-ом цикле основного тона с использованием взвешивания, которое обеспечивает преимущество для минимальных областей ближе к концу цикла основного тона. Затем копирование выборок из (k-1)-ого цикла основного тона с пропуском:
выборок в области минимальной энергии.
Если выборки должны добавляться, эквивалентная процедура может использоваться с учетом того, что d<0 и , и того, что добавляется всего |d| выборок, т.е.  выборок добавляются в k-ом цикле в позиции минимальной энергии.
Дробный основной тон может использоваться на уровне субкадра, с тем чтобы извлекать d, как описано выше относительно "подхода на основе быстрого алгоритма для определения d", поскольку в любом случае используются аппроксимированные длины цикла основного тона.
Далее описывается вторая группа вариантов осуществления для повторной синхронизации импульсов в отношении формул (64)-(113). Эти варианты осуществления первой группы используют определение формулы (15b):
,
p
r
где длина последнего периода основного тона составляет T, и длина сегмента, который копируется, составляет T.
Если некоторые параметры, используемые посредством второй группы вариантов осуществления для повторной синхронизации импульсов, не заданы ниже, варианты осуществления настоящего изобретения могут использовать определения, предоставленные для этих параметров относительно первой группы вариантов осуществления для повторной синхронизации импульсов, заданных выше (см. формулы (25)-(63)).
Некоторые формулы (64)-(113) второй группы вариантов осуществления для повторной синхронизации импульсов могут переопределять некоторые параметры, уже используемые относительно первой группы вариантов осуществления для повторной синхронизации импульсов. В этом случае, предоставленные переопределяемые определения применяются для вторых вариантов осуществления для повторной синхронизации импульсов.
frame
Как описано выше, согласно некоторым вариантам осуществления, периодическая часть, например, может составляться для одного кадра и одного дополнительного субкадра, где длина кадра обозначается как L=L.
Например, для M субкадров в кадре, длина субкадра составляет .
Как уже описано, T[0] является местоположением первого максимального импульса в составленной периодической части возбуждения. Позиции других импульсов задаются следующим образом:
r
T[i]=T[0]+i*T.
Согласно вариантам осуществления, в зависимости от составления периодической части возбуждения, например, после составления периодической части возбуждения, повторная синхронизация гортанных импульсов выполняется для того, чтобы корректировать разность между оцененной целевой позицией (P) последнего импульса в потерянном кадре и его фактической позицией (T[k]) в составленной периодической части возбуждения.
Оцененная целевая позиция (P) последнего импульса в потерянном кадре, например, может определяться косвенно посредством оценки постепенного изменения запаздывания основного тона. Постепенное изменение запаздывания основного тона, например, экстраполировано на основе запаздываний основного тона последних семи субкадров перед потерянным кадром. Постепенно изменяющиеся запаздывания основного тона в каждом субкадре следующие:
где:
,
ext
ext
ext
и T является экстраполированным основным тоном, и i является индексом субкадра. Экстраполяция основного тона может выполняться, например, с использованием взвешенной линейной подгонки либо способа из G.718, либо способа из G.729.1, либо любого другого способа для интерполяции основного тона, который, например, учитывает один или более основных тонов из будущих кадров. Экстраполяция основного тона также может быть нелинейной. В варианте осуществления, Tможет определяться аналогично тому, как Tопределяется выше.
Разность в длине кадра между суммой общего числа (p[i]) выборок в пределах циклов основного тона с постепенно изменяющимся основным тоном и суммой общего числа (Tp) выборок в пределах циклов основного тона с постоянным основным тоном обозначается как s.
ext
p
ext
p
Согласно вариантам осуществления, если T>T, то s выборок должны добавляться в кадр, а если T<T , то -s выборок должны удаляться из кадра. После добавления или удаления |s| выборок, последний импульс в маскированном кадре находится в оцененной целевой позиции (P).
ext
p
Если T=T, нет необходимости в добавлении или удалении выборок в кадре.
Согласно некоторым вариантам осуществления, повторная синхронизация гортанных импульсов выполняется посредством добавления или удаления выборок в областях минимальной энергии всех циклов основного тона.
Далее описывается вычисление параметра s согласно вариантам осуществления в отношении формул (66)-(69).
Согласно некоторым вариантам осуществления, разность s, например, может вычисляться на основе следующих принципов:
r
r
- В каждом субкадре i, p[i]-Tr выборок для каждого цикла основного тона (длины) должны добавляться (если p[i]-T>0); (или Tr-p[i] выборок должны удаляться, если p[i]-T<0).
- В каждом субкадре, имеется  циклов основного тона.
- Таким образом, в -том субкадре  выборок должны удаляться.
Следовательно, в соответствии с формулой (64), согласно варианту осуществления, , например, может вычисляться согласно формуле (66):
Формула (66) является эквивалентной следующему:
где формула (67) является эквивалентной следующему:
и где формула (68) является эквивалентной следующему:
ext
p
ext
p
Следует отметить, что s является положительным, если T>T, и выборки должны добавляться и что s является отрицательным, если T<T, и выборки должны удаляться. Таким образом, число выборок, которые должны быть удалены или добавлены, может обозначаться как |s|.
Далее описывается вычисление индекса последнего импульса согласно вариантам осуществления в отношении формул (70)-(73).
Фактическая позиция последнего импульса в составленной периодической части возбуждения  определяет число k полных циклов основного тона, в которых выборки удаляются (или добавляются).
Фиг. 12 иллюстрирует речевой сигнал перед удалением выборок.
В примере, проиллюстрированном посредством фиг. 12, индекс k последнего импульса равен 2, и имеется два полных цикла основного тона, из которых должны удаляться выборки. Относительно вариантов осуществления, описанных в отношении формул (64)-(113), ссылка с номером 1210 обозначает |s|.
После удаления |s| выборок из сигнала длины L-s, где L=L_frame, или после добавления |s| выборок в сигнал длины L-s, отсутствуют выборки из исходного сигнала помимо L-s выборок. Следует отметить, что s является положительным, если выборки добавляются, и что s является отрицательным, если выборки удаляются. Таким образом, L-s<L, если выборки добавляются, и L-s>L, если выборки удаляются. Таким образом, T[k] должен быть в пределах L-s выборок, и k в силу этого определяется следующим образом:
Из формулы (15b) и формулы (70) следует, что:
Иными словами:
Согласно варианту осуществления, k, например, может определяться на основе формулы (72) следующим образом:
Например, в кодеке с использованием кадров, например, по меньшей мере, в 20 мс и с использованием наименьшей основной частоты речи, по меньшей мере, в 40 Гц, в большинстве случаев, по меньшей мере, один импульс имеется в маскированном кадре, отличном от невокализованного.
Далее описывается вычисление числа выборок, которые должны быть удалены в минимальных областях, согласно вариантам осуществления в отношении формул (74)-(99).
Например, можно предполагать, что  выборок в каждом полном i-ом цикле основного тона между импульсами должны удаляться (или добавляться), где  задается следующим образом:
и где  является неизвестной переменной, которая, например, может выражаться с точки зрения известных переменных.
Кроме того, например, можно предполагать, что  выборок должны удаляться (или добавляться) перед первым импульсом, где  задается следующим образом:
Кроме того, например, можно предполагать, что  выборок после последнего импульса должны удаляться (или добавляться), где  задается следующим образом:
Последние два допущения соответствуют формуле (74) с учетом длины частичных первых и последних циклов основного тона.
Число выборок, которые должны быть удалены (или добавлены) в каждом цикле основного тона, схематично представлено в примере на фиг. 13, где k=2. Фиг. 13 иллюстрирует схематичное представление выборок, удаленных в каждом цикле основного тона. Относительно вариантов осуществления, описанных в отношении формул (64)-(113), ссылка с номером 1210 обозначает |s|.
Общее число выборок, которые должны быть удалены (или добавлены), , связано с  согласно следующему:
Из формул (74)-(77) следует, что:
Формула (78) является эквивалентной следующему:
Кроме того, формула (79) является эквивалентной следующему:
Кроме того, формула (80) является эквивалентной следующему:
Кроме того, с учетом формулы (16b), формула (81) является эквивалентной следующему:
Согласно вариантам осуществления, можно предполагать, что число выборок, которые должны быть удалены (или добавлены) в полном цикле основного тона после последнего импульса, задается следующим образом:
Из формулы (74) и формулы (83) следует, что:
Из формулы (82) и формулы (84) следует, что:
Формула (85) является эквивалентной следующему:
Кроме того, формула (86) является эквивалентной следующему:
Кроме того, формула (87) является эквивалентной следующему:
Из формулы (16b) и формулы (88) следует, что:
Формула (89) является эквивалентной следующему:
Кроме того, формула (90) является эквивалентной следующему:
Кроме того, формула (91) является эквивалентной следующему:
Кроме того, формула (92) является эквивалентной следующему:
Из формулы (93) следует, что:
Таким образом, например, на основе формулы (94), согласно вариантам осуществления:
- вычисляется то, сколько выборок должно удаляться и/или добавляться перед первым импульсом, и/или
- вычисляется то, сколько выборок должно удаляться и/или добавляться между импульсами, и/или
- вычисляется то, сколько выборок должно удаляться и/или добавляться после последнего импульса.
Согласно некоторым вариантам осуществления, выборки, например, могут удаляться или добавляться в областях минимальной энергии.
Из формулы (85) и формулы (94) следует, что:
Формула (95) является эквивалентной следующему:
Кроме того, из формулы (84) и формулы (94) следует, что:
Формула (97) является эквивалентной следующему:
Согласно варианту осуществления, число выборок, которые должны быть удалены после последнего импульса, может вычисляться на основе формулы (97) согласно следующему:
Следует отметить, что согласно вариантам осуществления, , и  являются положительными, и что знак  определяет то, должны выборки добавляться или удаляться.
По причинам сложности, в некоторых вариантах осуществления, требуется добавлять или удалять целое число выборок, и в силу этого в таких вариантах осуществления,  и , например, может округляться. В других вариантах осуществления, другие принципы с использованием интерполяции формы сигнала, например, альтернативно или дополнительно могут использоваться для того, чтобы не допускать округления, но с увеличенной сложностью.
Далее описывается алгоритм для повторной синхронизации импульсов согласно вариантам осуществления в отношении формул (100)-(113).
Согласно вариантам осуществления, входные параметры такого алгоритма, например, могут быть следующими:
L - длина кадра
M - число субкадров
p
T - длина цикла основного тона в конце последнего принимаемого кадра
ext
T - длина цикла основного тона в конце маскированного кадра
src_exc - входной сигнал возбуждения, который создан с копированием фильтрованного по нижним частотам последнего цикла основного тона сигнала возбуждения из конца последнего принимаемого кадра, как описано выше
dst_exc - выходной сигнал возбуждения, созданный из src_exc с использованием алгоритма, описанного здесь для повторной синхронизации импульсов
Согласно вариантам осуществления, такой алгоритм может содержать один или более или все из следующих этапов:
- вычисление изменения основного тона в расчете на субкадр на основе формулы (65):
- вычисление округленного начального основного тона на основе формулы (15b):
- вычисление числа выборок, которые должны добавляться (удаляться, если отрицательное) на основе формулы (69):
- нахождение местоположения первого максимального импульса  из числа первых выборок  в составленной периодической части возбуждения src_exc.
- получение индекса последнего импульса в повторно синхронизируемом кадре dst_exc на основе формулы (73):
- вычисление -дельта выборок, которые должны быть добавлены или удалены между последовательными циклами, на основе формулы (94):
- вычисление числа выборок, которые должны быть добавлены или удалены перед первым импульсом, на основе формулы (96):
- округление числа выборок, которые должны быть добавлены или удалены, в меньшую сторону перед первым импульсом и сохранение в запоминающем устройстве дробной части:
- для каждой области между 2 импульсами, вычисление числа выборок, которые должны быть добавлены или удалены, на основе формулы (98):
- округление числа выборок, которые должны быть добавлены или удалены, в меньшую сторону между 2 импульсами, с учетом оставшейся дробной части из предыдущего округления:
- если вследствие добавленного  для некоторого  возникает то, что , перестановка значений для  и .
- вычисление числа выборок, которые должны быть добавлены или удалены после последнего импульса, на основе формулы (99):
- затем вычисление максимального числа выборок, которые должны быть добавлены или удалены, для областей минимальной энергии:
- нахождение местоположения сегмента  минимальной энергии между первыми двумя импульсами в src_exc, который имеет длину . Для каждого последовательного сегмента минимальной энергии между двумя импульсами, позиция вычисляется следующим образом:
- если  то вычисление местоположения сегмента минимальной энергии перед первым импульсом в src_exc с использованием . Иначе, нахождение местоположения сегмента  минимальной энергии перед первым импульсом в src_exc, который имеет длину .
- если  то вычисление местоположения сегмента минимальной энергии после последнего импульса в src_exc с использованием . Иначе, нахождение местоположения сегмента  минимальной энергии после последнего импульса в src_exc, который имеет длину .
min
min
- если всего имеется один импульс в маскированном сигнале dst_exc возбуждения, т.е. если k равен 0, ограничение поиска P[1] как L-s; P[1] в таком случае указывает на местоположение сегмента минимальной энергии после последнего импульса в src_exc.
min
min
- если s>0, добавление  выборок в местоположении P[i] для  в сигнал src_exc и его сохранение в dst_exc, иначе, если , удаление  выборок в местоположении P[i] для  из сигнала src_exc и его сохранение в dst_exc. Имеется k+2 областей, в которых выборки добавляются или удаляются.
Фиг. 2c иллюстрирует систему для восстановления кадра, содержащего речевой сигнал согласно варианту осуществления. Система содержит устройство 100 для определения оцененного запаздывания основного тона согласно одному из вышеописанных вариантов осуществления и устройство 200 для восстановления кадра, при этом устройство для восстановления кадра выполнено с возможностью восстанавливать кадр в зависимости от оцененного запаздывания основного тона. Оцененное запаздывание основного тона представляет собой запаздывание основного тона речевого сигнала.
В варианте осуществления, восстановленный кадр, например, может быть ассоциирован с одним или более доступных кадров, причем упомянутые один или более доступных кадров представляют собой, по меньшей мере, один из одного или более предшествующих кадров восстановленного кадра и одного или более последующих кадров восстановленного кадра, при этом один или более доступных кадров содержат один или более циклов основного тона в качестве одного или более доступных циклов основного тона. Устройство 200 для восстановления кадра, например, может представлять собой устройство для восстановления кадра согласно одному из вышеописанных вариантов осуществления.
Хотя некоторые аспекты описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства.
Изобретаемый разложенный сигнал может быть сохранен на цифровом носителе хранения данных или может быть передан по среде передачи, такой как беспроводная среда передачи или проводная среда передачи, к примеру, Интернет.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя хранения данных, например, гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные электронночитаемые управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ.
Некоторые варианты осуществления согласно изобретению содержат энергонезависимый носитель хранения данных, имеющий электронночитаемые управляющие сигналы, которые допускают взаимодействие с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.
В общем, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт работает на компьютере. Программный код, например, может быть сохранен на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, сохраненную на машиночитаемом носителе.
Другими словами, следовательно, вариант осуществления изобретаемого способа представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа работает на компьютере.
Следовательно, дополнительный вариант осуществления изобретаемых способов представляет собой носитель хранения данных (цифровой носитель хранения данных или машиночитаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе.
Следовательно, дополнительный вариант осуществления изобретаемого способа представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью осуществлять один из способов, описанных в данном документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может быть использовано для того, чтобы выполнять часть или все из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого устройства.
Вышеописанные варианты осуществления являются просто иллюстративными в отношении принципов настоящего изобретения. Следует понимать, что модификации и изменения компоновок и подробностей, описанных в данном документе, должны быть очевидными для специалистов в данной области техники. Следовательно, они подразумеваются как ограниченные только посредством объема нижеприведенной формулы изобретения, а не посредством конкретных подробностей, представленных посредством описания и пояснения вариантов осуществления в данном документе.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
[3GP09] 3GPP; Technical Specification Group Services and System Aspects, Extended adaptive multi-rate-wideband (AMR-WB+) codec, 3GPP TS 26.290, 3rd Generation Partnership Project, 2009 год.
[3GP12a], Adaptive multi-rate (AMR) speech codec; error concealment of lost frames (release 11), 3GPP TS 26.091, 3rd Generation Partnership Project, сентябрь 2012 года.
[3GP12b], Speech codec speech processing functions; adaptive multi-rate-wideband (AMRWB) speech codec; error concealment of erroneous or lost frames, 3GPP TS 26.191, 3rd Generation Partnership Project, сентябрь 2012 года.
[Gao] Yang Gao, Pitch prediction for packet loss concealment, Патент (Европа) 2002427 B1.
[ITU03] ITU-T, Wideband coding of speech at around 16 kbit/s using adaptive multi-rate wideband (amr-wb), Recommendation ITU-T G.722.2, Telecommunication Standardization Sector of ITU, июль 2003 года.
[ITU06a], G.722 Appendix III: A high-complexity algorithm for packet loss concealment for G.722, ITU-T Recommendation, ITU-T, ноябрь 2006 года.
[ITU06b], G.729.1: G.729-based embedded variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with g.729, Recommendation ITU-T G.729.1, Telecommunication Standardization Sector of ITU, май 2006 года.
[ITU07], G.722 Appendix IV: A low-complexity algorithm for packet loss concealment with G.722, ITU-T Recommendation, ITU-T, август 2007 года.
[ITU08a], G.718: Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s, Recommendation ITU-T G.718, Telecommunication Standardization Sector of ITU, июнь 2008 года.
[ITU08b], G.719: Low-complexity, full-band audio coding for high-quality, conversational applications, Recommendation ITU-T G.719, Telecommunication Standardization Sector of ITU, июнь 2008 года.
[ITU12], G.729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction (cs-acelp), Recommendation ITU-T G.729, Telecommunication Standardization Sector of ITU, июнь 2012 года.
[MCZ11] Xinwen Mu, Hexin Chen and Yan Zhao, A frame erasure concealment method based on pitch and gain linear prediction for AMR-WB codec, Consumer Electronics (ICCE), 2011 IEEE International Conference on, январь 2011 года, стр. 815-816.
[MTTA90] J.S. Marques, I. Trancoso, J.M. Tribolet and L.B. Almeida, Improved pitch prediction with fractional delays in celp coding, Acoustics, Speech and Signal Processing, 1990. ICASSP-90., 1990 International Conference on, 1990 год, стр. 665-668, том 2.
[VJGS12] Tommy Vaillancourt, Milan Jelinek, Philippe Gournay and Redwan Salami, Method and device for efficient frame erasure concealment in speech codecs, US 8255207 B2, 2012 год.