Система передачи, терминальный блок, кодирующее устройство, декодирующее устройство и адаптивный фильтр

 

Система передачи, содержащая кодирующее устройство, предназначенное для кодирования сигнала, передающее устройство, приемное устройство и декодирующее устройство. Для декодирующего устройства предусмотрен адаптивный фильтр прогнозирования, посредством которого речевые или звуковые сигналы кодируются при снижении их скоростей передачи битов. Коэффициенты фильтра для адаптивного фильтра прогнозирования (10А, 10В) определяются рекурсивным образом в соответствии с рекурсией Левинсона-Дербина при арифметических операциях над числами с фиксированной запятой. Техническим результатом заявленной группы изобретений является снижение объема аппаратных средств и стоимости расчетов в системе передачи такого типа без снижения при этом точности расчета. 5 с. и 5 з.п. ф-лы, 4 ил.

Изобретение касается системы передачи, включающей в себя кодирующее устройство, предназначенное для кодирования сигнала, передающее устройство, предназначенное для передачи кодированного сигнала на приемное устройство, декодирующее устройство, предназначенное для декодирования кодированного сигнала, и адаптивный фильтр прогнозирования.

Кроме того, изобретение касается оконечной аппаратуры, кодирующего устройства, декодирующего устройства и адаптивного фильтра прогнозирования.

Описание такой системы передачи можно найти в документе "Проект спецификации G. -728 с фиксированной запятой", документ АН.93-Д.3, Исследовательская группа ХУ МККТТ (Международный консультативный комитет по телеграфии и телефонии), Лондон, 29-30 марта 1993 г., и в Рекомендации G.728 МККТТ "Кодирование речевых сигналов со скоростью 16 кбит/с, с использованием линейного прогнозирования, сформированного кодом с низкой задержкой". На эти два документа далее будут даваться ссылки как на источники [1] и [2]. Такие системы передачи можно также использовать, когда необходимо осуществлять многократное использование заданной пропускной способности. Уменьшение скорости передачи битов сигнала при кодировании обеспечивает возможность, например, поддерживать четыре телефонных разговора одновременно по одному каналу передачи со скоростью 64 кбит/с.

Многократное использование заданной пропускной способности имеет очень важное значение в радиоканалах для увеличения количества абонентов системы подвижной радиотелефонной связи. Кроме того, емкость запоминающего устройства с произвольно выбранной средой для хранения информации можно использовать со значительно большим преимуществом, когда применяются кодирующие устройства, понижающие скорость передачи битов, и соответствующие декодирующие устройства, потому что для хранения информационного сигнала необходима меньшая область в запоминающем устройстве.

Для уменьшения скорости передачи битов известно использование линейного прогнозирования. В источниках [1] и [2] коэффициенты прогнозирования вычисляются адаптивным фильтром прогнозирования. Вычисления выполняются посегментно с использованием значений выборок вспомогательного сигнала. В качестве вспомогательного сигнала можно использовать (электрический) звуковой сигнал или речевой сигнал, например, от говорящего абонента. В качестве альтернативы можно в качестве вспомогательного сигнала использовать синтезированный звуковой или речевой сигнал, создаваемый в кодирующем устройстве, которое работает по принципу "анализ посредством синтеза". Линейная корреляция между предсказанным значением выборки (прогнозируемым значением) вспомогательного сигнала и предыдущим значением выборки этого сигнала определяется с использованием коэффициентов прогнозирования (предсказания). Коэффициенты прогнозирования определяют из условия, что сумма квадратов всех ошибок, вычисленная для сегмента значений выборок, должна быть минимальной. Понятие ошибки здесь означает разницу между значением выборки и ее прогнозируемым значением. Ниже приводится более точное описание.

В соответствии с источниками [1] и [2] возбуждаемый сигнал преобразуется посредством синтезирующего фильтра в синтезированный звуковой сигнал. Этот синтезированный звуковой сигнал вычитается из подлежащего кодированию звукового сигнала, а разница используется для оптимизации выбора возбуждаемого сигнала.

Расчет коэффициентов прогнозирования требует определения коэффициентов корреляции, которые получают из значений выборок синтезированного звукового сигнала. Расчет коэффициентов прогнозирования на базе коэффициентов корреляции связан с использованием значительного объема аппаратных средств и с высокими расходами требований к объему аппаратных средств и стоимости, коэффициенты прогнозирования вычисляются рекурсивно. Начинают с вычисления первого коэффициента отражения по двум первым коэффициентам корреляции. Из первого коэффициента отражения получают первый коэффициент прогнозирования. Кроме того, вычисляют также ошибку прогнозирования, которая является показателем качества прогнозирования. Затем определяют следующий (второй) коэффициент отражения исходя из следующего (второго) коэффициента корреляции, ранее вычисленных коэффициентов прогнозирования (на данной стадии рассматривается только первый коэффициент прогнозирования) и текущей ошибки прогнозирования. При наличии этого (второго) коэффициента отражения и ранее вычисленных коэффициентов прогнозирования производится перерасчет ранее вычисленных коэффициентов прогнозирования. Затем вычисляется следующий (второй) коэффициент прогнозирования и новая ошибка прогнозирования. Перерасчет ранее вычисленных коэффициентов прогнозирования и расчет следующего коэффициента прогнозирования повторяются столько раз, чтобы оказались известными все необходимые коэффициенты прогнозирования.

В источнике [2] для получения достаточной точности предлагается осуществление в арифметических операциях над числами с плавающей запятой. Недостаток осуществления арифметических операций над числами с плавающей запятой состоит в необходимости использования большого объема аппаратных средств. Поэтому, в источнике [1] предложено выполнять арифметические операции над 16-разрядными числами с фиксированной запятой, при которых результаты и промежуточные результаты сохраняются в так называемом формате блока чисел с плавающей запятой. Под этим следует понимать представление блока чисел в формате с плавающей запятой, однако с тем ограничением, что все числа блока имеют один и тот же показатель степени (с основанием 2). Общий показатель степени выбирают так, чтобы все мантиссы располагались в заданных пределах. В источнике [1] предусматривается, что все мантиссы располагаются между -1 и +1. В формате блока чисел с плавающей запятой, например, показаны коэффициенты прогнозирования, приобретающие в соответствии с предыдущим опытом значения, которые могут иметь величину порядка 10. Если, например, при перерасчете коэффициентов прогнозирования происходит переполнение, то есть пересчитанный коэффициент прогнозирования будет равен 1 или превышает 1, мантиссы всех ранее вычисленных коэффициентов прогнозирования будут разделены на 2, а общий показатель степени (с основанием 2) уменьшится на 1. После этого снова начнется перерасчет. Изменение формата блока чисел с плавающей запятой из-за переполнения здесь будет требовать адаптации формата блока чисел с плавающей запятой. Для повторного перерасчета используются только мантиссы ранее вычисленных коэффициентов прогнозирования и только с 16-разрядной разрешающей способностью. Снижение разрешающей способности по меньшей мере с 17 бит до 16 бит, которое иногда оказывается необходимым для расчета, можно осуществить различными способами. На примере будет приведено краткое объяснение способа снижения в соответствии с источником [1]. Если, например, вычислен третий коэффициент отражения с разрешающей способностью 17 бит (между третьим коэффициентом отражения и третьим коэффициентом прогнозирования, который должен получаться из него, разница заключается только в числовом представлении), она сокращается посредством округления до 16 бит, так что два первых коэффициента прогнозирования посредством этого можно пересчитать в арифметических операциях над 16-разрядными числами с фиксированной запятой. Если во время этого перерасчета происходит переполнение, то при окончании перерасчета округленный третий коэффициент отражения, например, также делится на два, а результат, имеющий разрешающую способность, равную 16 битам, запоминается в качестве мантиссы третьего коэффициента прогнозирования. Деление прекращается после 16 бит (включая знаковый бит). Вследствие двоичной системы эта операция соответствует сдвигу десятичной запятой на одно положение, тогда как самый младший двоичный разряд теряется. Эта процедура вызывает появление неприемлемо большой неточности, особенно в случае большого количества коэффициентов прогнозирования.

Задачей настоящего изобретения является снижение объема аппаратных средств и стоимости расчетов в системе передачи такого типа, который определен выше, без снижения при этом точности расчета.

Такая система передачи содержит: - кодирующее устройство, предназначенное для кодирования сигнала, - передающее устройство, предназначенное для передачи кодированного сигнала на приемное устройство, - декодирующее устройство, предназначенное для декодирования кодированного сигнала, и - адаптивный фильтр прогнозирования, предназначенный для кодирующего устройства, причем адаптивный фильтр прогнозирования содержит: - средство расчета коэффициентов корреляции из сегментов значений выборки вспомогательного сигнала, который зависит от сигнала или от декодированного сигнала, а также - средство определения коэффициентов отражения и прогнозирования по коэффициентам корреляции в арифметических операциях над N-разрядными числами с фиксированной запятой, причем система содержит следующие средства, предназначенные для рекурсивного определения коэффициентов прогнозирования, представляемых в формате блока с плавающей запятой: a) средство вычисления K-го коэффициента отражения, b) средство перерасчета K-1 ранее вычисленных коэффициентов прогнозирования с использованием полученного в соответствии с пунктом a) K-го коэффициента отражения,
c) средство адаптирования формата блока чисел с плавающей запятой уже перерассчитанных и еще не перерассчитанных K-1 коэффициентов прогнозирования при переполнении во время перерасчета K-1 ранее рассчитанных в соответствии с пунктом b) коэффициентов прогнозирования, так что N двоичных разрядов уже недостаточны для представления перерассчитанного коэффициента прогнозирования,
d) средство перерасчета K-1 коэффициентов прогнозирования для коэффициента прогнозирования, при котором произошло переполнение в соответствии с пунктом c),
e) средство преобразования K-го коэффициента прогнозирования из K-го коэффициента отражения, полученного в соответствии с пунктом a) в формате чисел с плавающей запятой, показатель степени которого представлен показателем степени, полученным в соответствии с пунктом c) формата блока чисел с плавающей запятой, и
f) средство (Х79) запоминания в качестве K-го коэффициента прогнозирования числа, полученного в соответствии с пунктом e).

Если при перерасчете коэффициентов прогнозирования происходит переполнение, то в соответствии с источником [1] адаптируется формат чисел с плавающей запятой всех K-1 ранее вычисленных коэффициентов прогнозирования и затем перерасчет опять начинается сначала. В противоположность этому соответствующий изобретению вариант осуществления исключает значительную часть вычислительных схем, особенно в случае большого количества коэффициентов, потому что нет необходимости снова рассчитывать уже перессчитанный коэффициент прогнозирования. Изобретение основывается на том, что уже перерассчитанные коэффициенты прогнозируются, за исключением формата блока чисел с плавающей запятой, соответствуют значениям, которые появились бы при повторном перерасчете.

Указанную выше последовательность средств, а также последовательность, которая будет указана ниже, нельзя понимать таким образом, что эти средства должны приводиться в действие также в этой последовательности по времени. Дополнительный вариант осуществления изобретения включает в себя:
2a) средство, предназначенное для вычисления K-го коэффициента отражения с минимальной разрешающей способностью, равной N + 1 двоичных разрядов,
2b) средство, предназначенное для буферизации K-го коэффициента отражения с минимальной разрешающей способностью, равной N + 1 двоичных разрядов,
2c) средство, предназначенное для преобразования K-го коэффициента отражения, буферизированного в соответствии с пунктом 2b) в формат числа с плавающей запятой, определяемый в соответствии с пунктом e), мантисса которого имеет разрешающую способность, равную по крайней мере N + 1 двоичных разрядов,
2d) средство, предназначенное для округления до N двоичных разрядов мантиссы, полученной в соответствии с пунктом 2c) и
2e) средство, предназначенное для запоминания мантиссы, округленной в соответствии с пунктом 2d), в качестве мантиссы K-го коэффициента предсказания.

Соответствующая изобретению система передачи отличается от системы передачи, описанной в источнике [1], тем, что K-й коэффициент отражения после его первого расчета буферизируется с минимальной точностью, равной N + 1 бит. Для перерасчета K-1 ранее рассчитанных коэффициентов прогнозирования используется значение, которое отличается от буферизированного значения ограничением до N бит. Если во время перерасчета K-1 ранее рассчитанных коэффициентов прогнозирования происходит переполнение, буферизированное значение после завершения перерасчета делится, например, на 2 и затем округляется до N бит. Этот способ введения K-го коэффициента прогнозирования в (адаптированный) формат блока чисел с плавающей запятой создает ошибку, которая по крайней мере равна соответствующей ошибке в источнике [1]. Однако в равной степени важно указать, что в случае изобретения знак ошибки оказывается с одинаковой частотой, и положительным, и отрицательным, что представляет собой отличие от источника [1].

Вышеизложенное будет подтверждено на двух примерах.

Предположим, что имеются три (N=3) двоичных разряда для представления результатов и четыре двоичных разряда для промежуточных результатов. Кроме того, предположим, что адаптирование из-за переполнения требует деления на 4. Числовые примеры для K-х коэффициентов отражения, имеющих 4-разрядную разрешающую способность, начинаются с представления в числах с фиксированной запятой.

В первом примере K-й коэффициент отражения имеет значение +5/8. В двоичной системе этот коэффициент отражения представлен числом 0.101, где первый нуль указывает на знак. В соответствии с источником [1] процедура имеет следующий вид:
a) 0.101 (K-й коэффициент отражения: +5/8 с 4-разрядной разрешающей способностью),
b) 0.11 (значение по пункту b), округленное до 3 позиций для перерасчета K-1 ранее вычисленных коэффициентов прогнозирования),
c) 0.00 (значение по пункту b), разделенное на 4, также с 3-разрядной разрешающей способностью. Это значение представляет мантиссу K-го коэффициента отражения в форме блока чисел с плавающей запятой с показателем степени 2 и основанием 2).

Что касается выводов в отношении ошибки, то если используется аппроксимация по пункту c) вместо пункта a), то результат по пункту c) вначале снова необходимо умножить на 4. Разница между получающимся в результате этого значением и выходным значением представляeт ошибку F. В настоящем случае (представления в виде дроби) F=(-5/8)=-5/8.

В противоположность этому в соответствии с изобретением здесь обеспечивается следующее:
a) 0.101 (K-й коэффициент отражения: +5/8 с 4-разрядной разрешающей способностью),
b) 0.001 (значение по пункту a), деленное на 4, также с 4-разрядной разрешающей способностью),
c) 0.01 (значение по пункту b), округленное до 3 двоичных разрядов).

По аналогии с предыдущими наблюдениями теперь мы имеем ошибку F=(1-5/8)= -3/8.

Если в качестве выходного значения выбрать 0.011 (+3/8), то в соответствии с той же схемой источника [1] для ошибки имеем значение F=(0-3/8)=-3/8. В соответствии с изобретением теперь имеем F=(0-3/8)=-3/8.

Далее изобретение с его вариантами осуществления будет описано со ссылкой на чертежи, на которых представлено следующее:
фиг.1 - специальная система передачи, в которой можно использовать изобретение;
фиг.2 - базовая блок-схема адаптивного фильтра прогнозирования;
фиг.3 - базовая блок-схема речевого кодирующего устройства;
фиг. 4 - графики, поясняющие разницу между изобретением и известной техникой.

На фиг. 1 схематически представлена система передачи, содержащая кодирующее устройство 101 и передающее устройство 102 на передающей стороне, и приемное устройство 103 и декодирующее устройство 104 на приемной стороне. Сочетание кодирующего устройства 101 с передающим устройством 102 и(или) сочетание приемного устройства 103 с декодирующим устройством 104 образуют оконечное устройство или терминал LE.

Кодирующее устройство 101 кодирует речевой сигнал 10a посредством адаптивного фильтра прогнозирования 10A. Этот фильтр имеет соответствующие изобретению характерные особенности, которые будут пояснены ниже. Речевой сигнал 10a имеет скорость передачи битов, равную 64 кбит/с. Кодирующее устройство 101 снижает эту скорость до скорости кодированного сигнала 10b. Скорость передачи битов кодированного сигнала 10b составляет 16 кбит/с. Сигнал 10b состоит из параметров речевого сигнала 10a, и эти параметры определяются посегментно (для отдельных сегментов).

Передающее устройство 102 передает кодированный сигнал 10b (перекодированный в требуемый код передачи) по показанному на чертеже каналу передачи на приемное устройство 103, которое перекодирует переданный сигнал в сигнал 10c. Этот сигнал соответствует сигналу 10b, за исключением искажений, обусловленных кодированием и передачей.

Декодирующее устройство 104 декодирует сигнал 10c также с помощью адаптивного фильтра прогнозирования 10B. В результате получается сигнал 10d. Сигнал 10d соответствует речевому сигналу 10a, за исключением искажений, обусловленных кодированием, декодированием и передачей. Адаптивные фильтры 10A и 10B определяют зависящие от сигнала коэффициенты фильтров (коэффициенты прогнозирования) в соответствии с рекурсией Левинсона-Дербина. Рекурсия Левинсона-Дербина представляет собой алгоритм, предназначенный для определения поэтапным способом решений линейной системы уравнений, матрица коэффициентов которых представляет собой матрицу Теплитца типа симметричной матрицы, имеющей одинаковые элементы на данной диагонали.

NCOF - коэффициенты прогнозирования (NCOF означает количество этих коэффициентов) для адаптивного фильтра с предсказанием представляют однозначное следствие условия, чтобы сумма квадратов ошибок предсказаний была минимизирована в среднем по сигнальному сегменту заданной длины.

Если, например, значения S(K) выборки подать на вход фильтра, то выходное значение фильтра в момент n будет представлять собой следующую линейную комбинацию:

Значение Y(n) считается прогнозирующим значением S(n) выборки. Если выразить сумму квадратов ошибок сегмента, содержащего LSEG значений выборок, уравнением

и уравнение (1) подставить в уравнение (2), минимизируя при этом коэффициенты a(i) в уравнении (2), получится вышеуказанная система уравнений с матрицей Теплитца, если значения выборок за пределами этого сегмента равны нулю. Элементами матрицы Теплитца в этом случае являются значения функции автокорреляции выходного сигнала в моменты выборок входного сигнала, и эту функцию в дальнейшем будем называть коэффициентом автокорреляции r(minc). Подробное описание рекурсии Левинсона-Дербина можно найти в работе Л.Р.Рабинера и Р.У.Шейфера "Цифровая обработка речевых сигналов", Прентис-Хол, 1978 год.

В нижеприведенном алгоритме рекурсия Левинсона-Дербина, определенная в работе Рабинера и Шейфера уравнениями (8.67) - (8.72), представлена в виде псевдокода, потому что этот код позволяет лучше определить этапы программы, которую должен выполнять арифметический блок для расчета коэффициентов прогнозирования.

Рекурсия Левинсона-Дербина (псевдокод).

Входные значения: NCOF - Коэффициент предсказывающего устройства (прогнозатора)
r(0) ... r(NCOF) - Коэффициенты автокорреляции
Выходные значения: a(0) ... a(NCOF) - Коэффициенты прогнозирования
a(0) = 1.0 - 01
a(1) = -r(1)/r(0) - 02
альфа = r(0) + r(1) a(1) - 03
Для minc = 2, 3, 4, ... NCOF - 04
{сумма = 0 - 05
для ip = 0, 1, 2, 3, ..., minc-1 - 06
сумма = сумма + r(minc-ip) a(ip) - 07 - 08
rc= -сумма/альфа - 09
альфа = альфа + сумма rc - 010 - 011
если (альфа < = 0.0) прерывание - 012 - 013
Для ip = 1, 2, 3, ..., minc/2 - 014
{R1 = a(ip) + rc a(minc-ip) - 015
R2 = a(minc-ip)rc a(ip) - 016
a(ip) = R1 - 017
a(minc-ip) = R2 - 018 - 019
a(minc)=rc - 020 - 021
В целях более ясного представления приведенных в псевдокоде этапов программы, дадим более подробное пояснение нескольких строк показанного выше алгоритма.

В качестве входных данных требуется коэффициент прогнозатора, имеющий наименование NCOF, и NCOF + 1 коэффициентов автокорреляции. Коэффициент прогнозатора NCOF идентичен количеству коэффициентов фильтра a(i) в уравнении (1). Коэффициенты автокорреляции r(0), r(1) и так далее до r(NCOF) определяются другими, не раскрытыми здесь функциональными блоками, которые, однако, специалистам в данной области техники известны.

Коэффициенты прогнозирования a(0), a(1) и так далее до a(NCOF) представляют выходные данные.

Строки 01 и 02 относятся к двум первым коэффициентам прогнозирования. Строка 03 содержит данные, задающие вспомогательную переменную величину альфа (ошибка прогнозирования для NCOF = 1), первое слагаемое которого представляет нулевой коэффициент автокорреляции, а второе слагаемое которого представляет произведение первого коэффициента корреляции и первого коэффициента прогнозирования.

Если коэффициент прогнозатора NCOF равен 1, расчет повторяется, в противном случае продолжается цикл, имеющий текущую переменную minc, причем эта переменная приобретает значения всех целых чисел от 2 до NCOF. В цикле для всех текущих переменных minc ранее рассчитанные коэффициенты предсказания a(1), a(2) и так далее, до a(minc-1) изменяются (перерассчитываются), как показано в строках 017 и 018. В конце всех команд, которые должны выполняться для текущего значения переменной minc, проходящей по диапазону значений, коэффициенту прогнозирования с индексом minc, присваивается значение, как показано в строке 020. Это значение коэффициента прогнозирования должно быть отнесено к К-му коэффициенту прогнозирования; сумма переменных и rc (коэффициент отражения), которые рассчитываются впервые для текущего значения к переменной minc, проходящей диапазон значений, должны получить такое же добавление.

В цикле для переменной minc, проходящей диапазон значений, выполняют два дополнительных цикла, которые не перемежаются и имеют текущую переменную величину ip, верхнее значение которой может изменяться в зависимости от текущего значения переменной minc, проходящей диапазон значений, как показано в строках 06 и 014.

Вспомогательными переменными являются переменные альфа, сумма, rc, R1 и R2. Вспомогательная переменная альфа представляет собой сумму квадратов ошибок соответственно уравнению (2), а также имеет описательное значение: альфа представляет собой энергосодержание сигнала ошибки (ошибку прогнозирования). Это содержание всегда должно быть положительным. Поэтому, если для альфа имеется значение, меньшее или равное нулю, как показано в строке 012, расчет прерывается. Переменная rc также имеет описательное значение: это так называемый коэффициент отражения, который играет роль в так называемой "трубной" модели речевого тракта. Коэффициент отражения, который появляется в виде отношения суммы вспомогательных переменных к альфа, как показано в строке 09, относится к каждому коэффициенту прогнозирования.

Большинство реализаций способов кодирования речи в реальном масштабе времени, в соответствии с которыми необходимо также рассчитывать коэффициенты для адаптивных фильтров, основываются на арифметических устройствах, производящих операции над 16-разрядами числами с фиксированной запятой, хотя промежуточные результаты могут иметь и более высокую точность (например, 32 бит). Точность результата рекурсии Левинсона зависит от точности вычислений рекурсии. Что касается точности расчетов, то в псевдокоде найдены позиции с высокой чувствительностью, где промежуточные результаты умножения и деления определяются с более высокой разрешающей способностью, и в этом случае необходимо снижать ее до простой разрешающей способности. К ним относятся, в частности, строки 02, 03, 07, 09, 010, 015, 016 и 020.

Модуль, предназначенный для реализации рекурсии Левинсона-Дербина в арифметических операциях над 16-разрядными числами с фиксированной запятой, будет описан со ссылкой на нижеприведенный псевдокод. Вначале следует ввести несколько определений:
> > - операция сдвига вправо
< < - операция сдвига влево
round (reg) - операция округления, выполняемая на регистре "reg" 32-разрядных слов. Предположим, что двоичные разряды в "reg" пронумерованы числами 0, 1, 2, ..., 31, в то время как знаковый разряд представляет 31-й разряд, а значимость отдельных двоичных разрядов уменьшается от 30-го разряда к 0-му разряду. Округление с точностью до 16 двоичных разрядов в этом случае означает, что 16-му разряду добавляется 15-й рязряд, после чего в качестве результата используются разряды 16-31
*2* - перемножение чисел с фиксированной запятой.

/ - деление чисел с фиксированной запятой. Поскольку выполнение деления является очень дорогостоящей операцией, точный расчет результата деления производят только для такого количества позиций, которое абсолютно необходимо. Результаты делений исправляются прямо в регистре, содержащем результаты
xn - означает 16 самых старших двоичных разрядов 32-разрядного слова x
xe - означает 16 самых младших двоичных разрядов 32-разрядного слова x.

Рекурсия Левинсона 16-разрядных чисел с фиксированной запятой (псевдокод)
EXPa = 0; - X1
den = r[0]; - X2
num = r[1]; - X3
Если (num<0) num = - num; - X4
a2 = num/den; - X5
a2 = a2 < < 15; - X6
a1 = round (a2); - X7
Если (r[1] > 0) a1 = -a1; - X8
rc1 = a1h; - X9
a[1] = a1h; - X10
a01 = 0; - X11
a0h = r[0]; - X12
a0 = a0 + rc1*2*r[1]; - X13
a0 = round (a0); - X14
альфа = aoh; - X15
Для minc = 2; minc < = NCOF; minc ++) - X16
{a0 = 0; - X17
для (ip = 1; ip < minc; ip ++) - X18
a0 + r[minc - ip]*2* a[ip] - X19 - X20
a0 = a0 < < EXPa; - X21
a11 = 0; - X22
a1= r[minc]; - X23
a0 = a0 + a1; - X24
a0 = round(a0) - X25
sign = a0h - X26
num = a0h; - X27
Если (num <0) num = - num; - X28
Если (num > = альфа) - X29
goto LEDUMO - отказ - X30
a2 = num/альфа - X31
a2 = a2 < < 15; - X32
a1 = round (a2); - X33
Если (a0 >) a1 = -a1; - X34
rc = a1h; - X35 - X36
a11 = 0; - X37
a1h = альфа; - X38
a1 = a1 + rc*2*a0h; - X39
a1 = round (a1); - X40
если (альфа < = 0) - X41
goto LEDUMO - отказ - X42
альфа = a1h; - X43 - X44
a0 = 0; - X45
a1 = 0; - X46
для (ip = 1; ip < = (minc > >1); ip ++) - X47
{aoh = a[ip]; - X48
a0 = a0 + rc*2* a[minc - ip]; - X49
a0 = round (a0); - X50
Если (переполнение в a0) - X51
{EXPa = EXPa + 1); - X52
для (1p = 1; 1p < minc; 1p++) - X53
a[1p] = a[1p] > > 1; - X54
a0h = a[ip]; - X55
a0 = a0 + rc*2* a[minc - ip]; - X56
a0 = round (a0); - X57
} - X58
a1h = a[minc - ip]; - X59
a1 = a1 + rc*2* a[ip]; - X60
a1 = round (a1); - X61
Если (переполнение в a1) - X62
{EXPa = EXPa + 1; - X63
для (1p = 1; 1p < minc; 1p++) - X64
a[1p] = a[1p] > > 1; - X65
a0h = a[ip]; - X66
a0 = a0 + rc*2* a[minc - ip]; - X67
a0 = round (a0); - X68
a1h = a [minc - ip]; - X69
a1 = a1 + rc*2* a[ip]; - X70
a1 = round (a1); - X71
} - X72
a[ip ] = a0h; - X73
a[minc-ip] = a1h; - X74
} - X75
a2 = a2 > > EXPa; - X76
a2 = round (a2); - X77
если (sign >0) a2 = -a2; - X78
a[minc] = a2h; - X79
} - X80
a[0] = EXPa; - X81
возврат; - X82 - X83 - X83
LEDUMO - отказ - X84
a[0] = -1; - X85
возврат; - X86
Пояснения к псевдокоду.

При представлении числами с фиксированной запятой, коэффициенты прогнозирования a[i] можно представлять значениями только между -0.1 и +1.0. Однако, поскольку во время рекурсии коэффициенты a[i] могут превышать 1.0 (строки X47... X75), все коэффициенты представляются в формате блока чисел с плавающей запятой. То есть, можно сказать, что все коэффициенты нормализуются к общему основанию 2EXPa, так что мантисса всех нормализованных коэффициентов прогнозирования вновь будет находиться между -1.0 и +1.0. В начале рекурсии Левинсона коэффициенты еще не рассчитаны, поэтому показатель степени EXPa устанавливается на 0 (строка X1).

Строка 01 здесь не выполняется, потому что нет необходимости дополнительно рассчитывать a(0) = 1.0.

Аналогичным образом преобразуются строки 02 и 03 в цикле, имеющем переменную minc, проходящую диапазон значений. Поэтому ниже будет дано объяснение разрушающей способности с фиксированной запятой.

Вначале будет приведено описание реализации посредством чисел с фиксированной запятой строк 05-07. В строках X17, X19 a0 указывает на 32-разрядный регистр накопления. Входной регистр умножения загружается коэффициентом автокорреляции r[minc - ip]. Дополнительный входной регистр умножения загружается мантиссой ранее рассчитанного нормализованного коэффициента прогнозатора a [ip]; соответствующий показатель степени EXPa один и тот же для всех коэффициентов. Необходимо подчеркнуть, что коэффициент a[0] не включается в нормализацию, потому что не нужно дополнительно выполнять умножение на a[0] = 1.

Конечный результат накопления, вначале без составляющей a[0]*2*r[minc], преобразуется в строке X21 из представления в виде числа с плавающей запятой в представление в виде числа с фиксированной запятой посредством устройства сдвига влево, предназначенного для денормализации 32-разрядного результата в накопителе a0.

В строках X22 - X24 добавляется составляющая a[0]*2*r[minc] при использовании дополнительного 32-разрядного регистра a1. Здесь следует отметить, что необходимо стереть младшую часть регистра a1, потому что вследствие его использования вспомогательный регистр a1 может все еще содержать предыдущие значения в других ячейках.

В строках X25 - X28 подготавливается противоположный член деления для расчета текущего (K-го) коэффициента отражения rc. Деление требует положительных входных данных, имеющих размер слова, равный 16 двоичным разрядам, который получается в строке X25 посредством операции округления результата 32-разрядного слова в регистре a0.

Регистры на входе схемы делителя непосредственно загружаются для выполнения деления с целью расчета текущего (K-го) коэффициента отражения rc; показатель степени здесь не нужен. Необходимо здесь указать, что в соответствии с источником [1] выполняется деление на значения переменных альфа и num, выраженные числами с плавающей запятой, восстановленные за a0 строки X24. Это соответствует существенному увеличению необходимой скорости вычисления.

Результат деления в строке X31 вычисляется с точностью 17 двоичных разрядов, где 17-й двоичный разряд необходим для операции округления. Это округление выполняется в строке X33 с целью вычисления текущего (K-го) коэффициента и в строке X77 с целью вычисления текущего (K-го) коэффициента прогнозирования. В строке X32 результат деления, из которого 17 двоичных разрядов запоминаются с выравниванием вправо в 32-разрядом регистре a2, перед операцией округления соответствующим образом адаптируются к фиксированной десятичной запятой. После использования корректировочного знака в строке X34 окончательный текущий коэффициент отражения rc получается из старшей части 32-разрядного регистра a1 посредством считывания старшей 16-разрядной длины слова a1h.

В строках X37 - X40 производится расчет теперь известным способом нового значения альфа, где все входные и выходные переменные величины представляются в 16-разрядном формате чисел с фиксированной запятой. Здесь также следует специально упомянуть о том, что на этом этапе в соответствии с источником [1] расчеты альфа и a0h (a0h соответствует сумме в строке 09) производятся посредством представления с плавающей запятой, что соответствует значительному увеличению требуемой скорости вычисления.

В строках X45 - X74 осуществляется адаптирование ранее рассчитанных коэффициентов прогнозатора (перерасчет и адаптирование формата блока чисел с плавающей запятой). Это соответствует операциям строк 015 - 018. В этом отношении необходимо специально отметить, что в случае переполнения во время перерасчета коэффициентов прогнозирования a[ip] и соответственно a[minc-ip] все коэффициенты (то есть коэффициенты, уже перерассчитанные и еще не перерассчитанные, таким образом, ранее рассчитанные коэффициенты) a[1], a[2], ... , a[minc-1] уменьшаются в 1/2 раза (что соответствует сдвигу вправо на 1 двоичный разряд в строках X54, X65 соответственно). После того как произведен перерасчет в строках X55, X56, X57 и X66 - X71, переполнение не будет иметь места.

После завершения регулировки старых коэффициентов (ранее рассчитанных) по rc производится расчет нового (K-го) коэффициента прогнозирования a[minc] (см. строку 020). В отношении формата с фиксированной запятой следует отметить, что новый (K-й) коэффициент также должен запоминаться в формате блока с плавающей запятой. Следовательно, ранее рассчитанный коэффициент отражения rc, который имеется в ненормализованном формате с фиксированной запятой, запоминается в регистре a[minc] после сдвига вправо на EXPa двоичных разрядов. В случае приведенного здесь решения первый коэффициент отражения, который все еще запомнен в регистре a2 и имеет 17-разрядную разрешающую способность, сдвигается вправо на EXPa двоичных разрядов, а после этого округляется с точностью до 16 двоичных разрядов. Это является принципиальным отличием от решения, опубликованного в источнике [1], в котором коэффициент отражения, уже округленный непосредственно после деления, сдвигается вправо на EXPa двоичных разрядов, а новый коэффициент прогнозирования получается путем ограничения до 16 двоичных разрядов. Это существенное различие на данном этапе ведет к реализации операций над 16-разрядными числами с фиксированной запятой описанной здесь рекурсии Левинсона, которая обеспечивает лучшие результаты при одновременном значительном снижении стоимости вычислений в сравнении с решением, раскрытым в источнике [1].

На фиг. 2 показан адаптивный фильтр с прогнозированием. Такие фильтры с прогнозированием содержат фильтр 2 в узком смысле и блок управления 1. Фильтр 2 формирует соответствующие уравнению (1) выходные значения y(n) и посылает их по линии a2. Входные значения s(n) подаются по линии b1 как на фильтр b2, так и на блок управления 1.

Блок управления 1 можно грубо разделить на два функциональных блока 1A и 1B. Функциональный блок 1A рассчитывает по сегменту входного сигнала коэффициенты корреляции, передает эти значения в функциональный блок 1B, который посредством преобразования выражения (2) определяет из них новые коэффициенты прогнозирования описанным выше способом. Затем блок управления 1 заменяет по линии b1 весь блок коэффициентов, вычисленных блоком 1B для использовавшихся до сих пор коэффициентов прогнозирования. Описанный фильтр, содержащий функциональный блок 1B, можно использовать несколько раз в современных речевых кодеках.

На фиг. 3 показано предсказывающее речевое кодирующее устройство, посредством которого кодированный речевой сигнал также декодируется с целью улучшения кодирования. Поэтому специальное описание декодирующего устройства опускается.

Подлежащий кодированию речевой сигнал подается в виде значений выборок на кодирующее устройство по линии 6a. Вычитающее устройство 6 вычитает из него соответствующие значения речевого сигнала, вновь декодированного кодирующим устройством. Этот речевой сигнал подается на вычитающее устройство 6 по линии 4a. По линии 6b разность подается на блок 9, который осуществляет специальное взвешивание разностного сигнала (для обширного представления сравните, например, работу Дж.Х.Чена "Высококачественное кодирование речи со скоростью 16 кбит/с с задержкой в одном направлении менее 2 мс", 1990 г., S9.1 IEEE, стр. 453-456), после чего формируется и запоминается сумма квадратов ошибок для сегмента речевого сигнала. Для поступающего по линии 6a сегмента речевого сигнала испытываются 128 различных вариантов кодирования, и, наконец, вариант, приводящий к наименьшим ошибкам, посылается на приемное устройство в качестве кодированного сигнала.

Эти 128 вариантов появились из-за того, что показанная позицией 1 кодовая книга запоминает 128 так называемых векторов. Каждый вектор представляет последовательность значений выборки, и эта последовательность включает в себя модель сигнала, который может возбуждать речевой тракт человека, например при резонансе. Векторы последовательно считываются из кодовой книги 1 и масштабируются посредством управляемого пересчетного устройства 2 (это соответствует регулировке громкости при генерировании человеческой речи). Пересчетное устройство 2 управляется посредством блока 3. После этого масштабированные векторы подаются на прогнозатор 4, 5 и 8 с прогнозированием назад. Прогнозатор формирует копию работы голосового тракта человека. Он содержит фильтр 5, 8, как показано на фиг. 2. Кроме того, такие фильтры включены в блоки 3 и 9. По линии 1a передается, например, номер вектора, который приводит к наименьшим ошибкам в текущем сегменте речевого сигнала.

На фиг. 4 графически показано то, что описано выше для двух примеров, то есть то, что при преобразовании коэффициентов прогнозирования в формате блока чисел с плавающей запятой с мантиссами до 3 двоичных разрядов изобретение в среднем обеспечивает лучшие результаты, чем в соответствии с известной техникой [1]. Все выходные данные представляют собой положительные двоичные числа с 4-разрядной разрешающей способностью. Для облегчения проверки двух выходных данных в двоичном представлении (знаковый разряд опускается) в сравнении с их представлением в дробных числах.

На среднем графике показана ошибка F, которая получается, если выходные данные вначале округляются в соответствии с источником [1], а затем рассчитываются мантиссы с 3-разрядной разрешающей способностью. На нижнем графике показана ошибка F, которая получается, если вначале рассчитываются мантиссы с 4-разрядной разрешающей способностью, а затем округляются до 3 двоичных разрядов. Масштаб ошибки F одинаковый в обоих случаях и соответствует масштабу верхнего графика.


Формула изобретения

1. Система передачи, содержащая кодирующее устройство для кодирования сигнала, передающее устройство для передачи кодированного сигнала к приемному устройству, декодирующее устройство для декодирования сигнала и адаптивный фильтр прогнозирования, предназначенный по меньшей мере для кодирующего устройства, причем адаптивный фильтр прогнозирования содержит средство для вычисления коэффициентов корреляции по сегментам значений выборок вспомогательного сигнала, который зависит от сигнала или от декодированного сигнала, и средство для определения коэффициентов отражения и прогнозирования исходя из коэффициентов корреляции, представленных N-разрядными числами с фиксированной запятой, отличающаяся тем, что содержит следующие средства, предназначенные для рекурсивного определения коэффициентов прогнозирования для представления в формате блока чисел с плавающей запятой: средство для вычисления К-го коэффициента отражения, средство для повторного вычисления К-1 ранее вычисленных коэффициентов прогнозирования с использованием полученного К-го коэффициента отражения, средство для адаптирования формата блока чисел с плавающей запятой К-1 уже повторно вычисленных и еще не вычисленных повторно коэффициентов прогнозирования, если при повторном вычислении К-1 ранее вычисленных коэффициентов прогнозирования возникает переполнение, так что N двоичных разрядов недостаточны для представления повторно вычисленного коэффициента прогнозирования, средство
для продолжения повторного вычисления К-1 коэффициентов прогнозирования для коэффициента прогнозирования, при котором возникло переполнение, средство для преобразования К-го коэффициента отражения в число в формате с плавающей запятой, показатель степени которого представляется показателем, определяемым в формате блока чисел с плавающей запятой, и средство для запоминания полученного числа в качестве К-го коэффициента прогнозирования.

2. Система по п.1, отличающаяся тем, что упомянутое средство для вычисления К-го коэффициента отражения выполнено с возможностью обеспечения минимальной разрешающей способности, равной N+1 двоичным разрядам, при этом упомянутая система передачи дополнительно содержит средство для буферизации К-го коэффициента отражения с минимальной разрешающей способностью, равной N+1 двоичным разрядам, средство для преобразования буферизованного К-го коэффициента отражения в формат числа с плавающей запятой, мантисса которого имеет разрешующую способность, равную по меньшей мере N+1 двоичным разрядам, средство для округления до N двоичных единиц полученной мантиссы, а средство для запоминания полученного числа выполнено с возможностью запоминания полученной округленной мантиссы в качестве мантиссы К-го коэффициента прогнозирования.

3. Терминальный блок, содержащий кодирующее устройство и/или декодирующее устройство, передающее устройство и/или приемное устройство и адаптивный фильтр прогнозирования, содержащий средство для вычисления коэффициентов корреляции по сегментам значений выборок сигнала и средство для определения коэффициентов отражения и прогнозирования по коэффициентам корреляции, представленными в виде N-разрядных чисел с фиксированной запятой, отличающийся тем, что содержит следующие средства, предназначенные для рекурсивного определения коэффициентов прогнозирования для представления в формате блока чисел с плавающей запятой: средство для вычисления К-го коэффициента отражения, средство для повторного вычисления К-1 ранее вычисленных коэффициентов прогнозирования с использованием К-го коэффициента отражения, средство для адаптирования формата блока чисел с плавающей запятой К-1 уже повторно вычисленных и еще не вычисленных повторно коэффициентов прогнозирования, если при повторном вычислении К-1 ранее вычисленных коэффициентов прогнозирования возникает переполнение, так что N двоичных единиц недостаточны для представления повторно вычисленного коэффициента прогнозирования, средство для продолжения повторного вычисления К-1 коэффициентов прогнозирования для коэффициента прогнозирования, при котором возникло переполнение, средство для преобразования К-го коэффициента отражения в число в формате с плавающей запятой, показатель степени которого представляется показателем, определяемым в формате блока числе с плавающей запятой, и средство для запоминания полученного числа в качестве К-го коэффициента прогнозирования.

4. Блок по п.3, отличающийся тем, что средство для вычисления К-го коэффициента отражения выполнено с возможностью обеспечения минимальной разрешающей способности, равной N+1 двоичным разрядам, причем терминальный блок дополнительно содержит средство для буферизации К-го коэффициента отражения с минимальной разрешающей способностью, равной N+1 двоичным разрядам, средство для преобразования буферизованного К-го коэффициента отражения в формат числа с плавающей запятой, мантисса которого имеет разрешающую способность, равную по меньшей мере N+1 двоичным разрядам, средство для округления до N двоичных разрядов полученной мантиссы, а средство для запоминания полученного числа выполнено с возможностью запоминания полученной округленной мантиссы в качестве мантиссы К-го коэффициента прогнозирования.

5. Кодирующее устройство, предназначенное для кодирования сигнала, содержащее адаптивный фильтр прогнозирования, содержащий средство для вычисления коэффициентов корреляции по сегментам значений выборок вспомогательного сигнала, который зависит от сигнала или от декодированного сигнала, и средство для определения коэффициентов отражения и прогнозирования по коэффициентам корреляции, представленным в виде N-разрядных чисел с фиксированной запятой, отличающееся тем, что содержит следующие средства, предназначенные для рекурсивного определения коэффициентов прогнозирования для представления в формате блока чисел с плавающей запятой: средство для вычисления К-го коэффициента отражения, средство для повторного вычисления К-1 ранее вычисленных коэффициентов прогнозирования с использованием К-го коэффициента отражения, средство для адаптирования формата блока чисел с плавающей запятой К-1 уже повторно вычисленных и еще не вычисленных повторно коэффициентов прогнозирования, если при повторном вычислении К-1 ранее вычисленных коэффициентов прогнозирования возникает переполнение, так что N двоичных разрядов недостаточны для представления повторно вычисленного коэффициента прогнозирования, средство для продолжения повторного вычисления К-1 коэффициентов прогнозирования для коэффициента прогнозирования, при котором возникло переполнение, средство для преобразования К-го коэффициента отражения в число в формате с плавающей запятой, показатель степени которого представляется показателем, определенным в формате блока чисел с плавающей запятой, и средство для запоминания полученного числа в качестве К-го коэффициента прогнозирования.

6. Устройство по п.5, отличающееся тем, что средство для вычисления К-го коэффициента отражения выполнено с возможностью обеспечения минимальной разрешающей способности, равной N+1 двоичным разрядам, при этом кодирующее устройство дополнительно содержит средство для буферизации К-го коэффициента отражения с минимальной разрешающей способностью, равной N+1 двоичным разрядам, средство для преобразования буферизованного К-го коэффициента отражения в формат числа с плавающей запятой, мантисса которого имеет разрешающую способность, равную по меньшей мере N+1 двоичным разрядам, средство для округления до N двоичных разрядов полученной мантиссы, а средство для запоминания полученного числа выполнено с возможностью запоминания полученной округленной мантиссы в качестве мантиссы К-го коэффициента прогнозирования.

7. Декодирующее устройство, предназначенное для декодирования сигнала, содержащее адаптивный фильтр прогнозирования, содержащий средство для определения коэффициентов корреляции по сегментам значений выборок вспомогательного сигнала, который зависит от сигнала или от декодированного сигнала, и средство для определения коэффициентов отражения по коэффициентам корреляции в виде N-разрядных чисел с фиксированной запятой, отличающееся тем, что содержит следующие средства, предназначенные для рекурсивного определения коэффициентов прогнозирования для представления в формате блока чисел с плавающей запятой: средство для вычисления К-го коэффициента отражения, средство для повторного вычисления К-1 ранее вычисленных коэффициентов прогнозирования с использованием К-го коэффициента отражения, средство для адаптирования формата блока чисел с плавающей запятой К-1 уже повторно вычисленных и еще не вычисленных повторно коэффициентов прогнозирования, если при повторном вычислении К-1 ранее вычисленных коэффициентов прогнозирования возникает переполнение, так что N двоичных разрядов недостаточны для представления повторно вычисленного коэффициента прогнозирования, средство для продолжения повторного вычисления К-1 коэффициентов прогнозирования для коэффициента прогнозирования, при котором возникло переполнение, средство для преобразования К-го коэффициента отражения в число в формате с плавающей запятой, показатель степени которого представляется показателем, определяемым в формате блока чисел с плавающей запятой, и средство для запоминания полученного числа в качестве К-го коэффициента прогнозирования.

8. Устройство по п.7, отличающееся тем, что средство для вычисления К-го коэффициента отражения выполнено с возможностью обеспечения минимальной разрешающей способности, равной N+1 двоичным разрядам, при этом декодирующее устройство дополнительно содержит средство для буферизации К-го коэффициента отражения с минимальной разрешающей способностью, равной N+1 двоичным разрядам, средство для преобразования буферизованного К-го коэффициента отражения в формат числа с плавающей запятой, мантисса которого имеет разрешающую способность, равную по меньшей мере N+1 двоичным разрядам, средство для округления до N двоичных разрядов полученной мантиссы, а средство для запоминания полученного числа выполнено с возможностью запоминания полученной округленной мантиссы в качестве мантиссы К-го коэффициента прогнозирования.

9. Адаптивный фильтр прогнозирования, содержащий средство для вычисления коэффициентов корреляции по сегментам значений выборок сигнала и средство для определения коэффициентов отражения и прогнозирования по коэффициентам корреляции, представленным в виде N-разрядных чисел с фиксированной запятой, отличающийся тем, что содержит следующие средства, предназначенные для рекурсивного определения коэффициента прогнозирования для представления в формате блока чисел с плавающей запятой: средство для вычисления К-го коэффициента отражения, средство для повторного вычисления К-1 ранее вычисленных коэффициентов прогнозирования с использованием К-го коэффициента отражения, средство для адаптирования формата блока чисел с плавающей запятой К-1 уже повторно вычисленных и еще не вычисленных повторно коэффициентов прогнозирования, если при повторном вычислении К-1 ранее вычисленных коэффициентов прогнозирования возникает переполнение, так что N двоичных разрядов недостаточны для представления повторно вычисленного коэффициента прогнозирования, средство для продолжения повторного вычисления К-1 коэффициентов прогнозирования для коэффициента прогнозирования, при котором появилось переполнение, средство для преобразования К-го коэффициента отражения в число в формате с плавающей запятой, показатель степени которого представляется показателем, определяемым в формате блока чисел с плавающей запятой, и средство для запоминания полученного числа в качестве К-го коэффициента прогнозирования.

10. Фильтр по п.9, отличающийся тем, что средство для вычисления К-го коэффициента отражения выполнено с возможностью обеспечения минимальной разрешающей способности, равной N+1двоичным разрядам, при этом адаптивный фильтр дополнительно содержит средство для буферизации К-го коэффициента отражения с минимальной разрешающей способностью, равной N+1 двоичным разрядам, средство для преобразования буферизованного К-го коэффициента отражения в формат числа с плавающей запятой, мантисса которого имеет разрешающую способность, равную по меньшей мере N+1 двоичным разрядам, средство для округления до N двоичных разрядов полученной мантиссы, а средство для запоминания полученного числа выполнено с возможностью запоминания полученной округленной мантиссы в качестве мантиссы К-го коэффициента прогнозирования.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4



 

Похожие патенты:

Изобретение относится к области обработки речевых сигналов, точнее к созданию новых усовершенствованных способов и устройств для сжатия речевых сигналов, в которых степень сжатия динамически меняется с целью минимизации влияния сжатия на качество воспроизводимой речи
Наверх