Вокодерная интегральная схема прикладной ориентации

Реферат

 

Изобретение относится к обработке речевых сигналов. Его использование позволяет получить технический результат в виде сокращения количества циклов обработки. Технический результат достигается благодаря тому, что вокодер содержит цифровой процессор сигналов, предназначенный для выполнения рекурсивного вычисления свертки и для выдачи результата этой рекурсивной свертки, и минимизирующий процессор, отдельный от цифрового процессора сигналов, предназначенный для приема упомянутого результата рекурсивной свертки и для выполнения поиска минимизации в соответствии с результатом рекурсивной свертки, причем минимизирующий процессор прерывает выполнение поиска, когда удовлетворен критерий минимума. 4 с. и 11 з.п. ф-лы, 12 ил., 4 табл.

1. Область техники Изобретение относится к обработке речевых сигналов. Конкретнее настоящее изобретение относится к новым и усовершенствованным способу и устройству для воплощения вокодера в интегральной схеме прикладной ориентации.

2. Предшествующий уровень техники Передача речевых сигналов цифровыми методами стала широко распространенной, особенно в системах, обеспечивающих передачу на большие дальности и в цифровых радиотелефонах. Если речевой сигнал передается путем простой дискретизации и оцифровки, требуется скорость передачи данных порядка 64 килобит в секунду (кбит/с) для достижения качества речи обыкновенных аналоговых телефонов. Однако при использовании анализа речевых сигналов, сопровождаемого соответствующим кодированием, передачей и синтезированием в приемнике, может достигаться значительное снижение скорости передачи данных. Устройства, которые выполняют анализ речевых сигналов, кодирование в передатчике и синтезирование в приемнике, известны как вокодеры.

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

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

Появление процессоров цифровой обработки сигналов стало важным фактором в осуществлении вокодерных алгоритмов в реальном масштабе времени. Процессы цифровой обработки сигналов (ПЦОС) являются высокоэффективными в выполнении арифметических операций, обычных для вокодерных алгоритмов. Прогресс в ПЦОС увеличил их вычислительные способности до скорости 40 миллионов команд в секунду (Мкоманд/с) и более.

Вокодерный алгоритм, используемый в иллюстративных целях, является регулируемым по скорости алгоритмом кодостимулированного линейного предсказания (КСЛП), описанным в совместно поданной патентной заявке 08/004484 от 14 января 1993 г. на "Регулируемый по скорости вокодер" заявителя настоящего изобретения.

Показанная ниже таблица 1 представляет собой профиль времени выполнения для одного 20-миллисекундного речевого кадра в кодирующей части иллюстративного вокодерного алгоритма, воплощенного с использованием ПЦОС. Поскольку кодирующая часть иллюстративного вокодерного алгоритма требует значительно большей обработки, чем декодирующая часть, в таблице 1 подробно показан лишь процесс кодирования. ПЦОС, представленный данными таблицы 1, тактируется с частотой 40 МГц и выполняет арифметические операции и другие операции, занимающие один или более тактовых периодов в зависимости от операции. Первый столбец представляет основные операции иллюстративного вокодерного алгоритма. Второй столбец представляет число тактовых периодов, требуемых для совершения каждой конкретной операции вокодерного алгоритма с использованием иллюстративного ПЦОС. Третий столбец представляет долю в процентах от общей выработки для каждой конкретной операции. Иллюстративный вокодерный алгоритм требует, чтобы все операции были выполнены за 20 мс для работы иллюстративного вокодерного алгоритма в реальном масштабе времени. Это предъявляет требование к ПЦОС, выбранному для воплощения алгоритма, необходимости работать с тактовой частотой не ниже, чем требуемая для совершения обработки за 20-миллисекундный кадр. Для типичного ПЦОС, описываемого таблицей 1, это ограничивает число тактов до 800000.

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

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

Раскрытие изобретения Настоящее изобретение относится к новым способу и устройству для осуществления вокодирования.

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

Первым методом повышения эффективности при выполнении алгоритма вокодирования является использование специализированной структуры ПЦОС. ПЦОС в иллюстративном выполнении повышает пропускную способность памяти за счет использования трех элементов оперативного запоминающего устройства (ОЗУ). Каждый из трех элементов ОЗУ имеет специализированный блок генерирования адресов памяти. Это подразделение памяти на три части позволяет осуществить эффективное выполнение таких операций, как рекурсивная свертка, за счет получения операндов, вычисления результатов и запоминания результатов полностью в одном периоде. Выборка операндов, вычисление результатов и запоминание результатов являются конвейерными, так что полная рекурсивная свертка для одного результата совершается за три периода, однако новый результат вырабатывается каждый период. Подразделенная на три части память снижает требования к тактовой частоте и для других операций в вокодерном алгоритме. Эффективное выполнение рекурсивной свертки обеспечивает наиболее значительную экономию в вокодерном алгоритме.

Второй метод для повышения эффективности в выполнении алгоритма вокодирования состоит в том, чтобы использовать отдельный ведомый процессор в основном ПЦОС, называемый минимизирующим процессором. Минимизирующий процессор выполняет корреляции, вычисляет среднеквадратичные ошибки (СКО) и проводит поиск по минимуму СКО по данным, подаваемым на него из ПЦОС. Минимизирующий процессор совместно с ПЦОС осуществляет интенсивные в вычислительном отношении корреляционные и минимизационные задачи. Минимизирующий процессор снабжен управляющим элементом, который осуществляет надзор за работой минимизирующего процессора и может прекратить выполнение задачи минимизации СКО при определенных условиях. Это такие условия, когда продолжающийся поиск не может дать СКО ниже текущего минимального СКО из-за математических ограничений. Способы прекращения выполнения задачи минимизации СКО определяются как режим экономии мощности минимизирующего процессора.

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

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

Фиг.1 является блок-схемой устройства, соответствующего настоящему изобретению.

Фиг. 2 является функциональной иллюстрацией работы устройства, соответствующего настоящему изобретению.

Фиг. 3 является блок-схемой алгоритма осуществления кодирования в соответствии с настоящим изобретением.

Фиг. 4а-d являются набором карт, иллюстрирующих распределение разрядов вокодера для различных скоростей и индицирующих число подкадров основного тона и кодового словаря, использованных для каждой скорости.

Фиг.5а-d иллюстрируют блок-схемы примера выполнения ПЦОС согласно настоящему изобретению.

Фиг.6а-d иллюстрируют блок-схемы примера выполнения минимизирующего процессора согласно настоящему изобретению.

Фиг. 7 является иллюстрацией операции поиска основного тона, реализуемой в примере выполнения настоящего изобретения.

Фиг. 8 является блок-схемой алгоритма операции поиска основного тона в примере выполнения настоящего изобретения.

Фиг. 9 является иллюстрацией операции поиска кодового словаря, реализуемой в примере выполнения настоящего изобретения.

Фиг.10 является блок-схемой алгоритма осуществления операции поиска кодового словаря в примере выполнения настоящего изобретения.

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

Фиг. 12 является блок-схемой декодера в примере выполнения настоящего изобретения.

Подробное описание предпочтительных выполнении Как показано на чертежах, ПСОЦ 4 (фиг.1), иллюстрируемый на фиг.5а-d, разработан на основе разделенного на три части ОЗУ (ОЗУ А 104, ОЗУ В 122 и ОЗУ С 182), постоянного запоминающего устройства (ПЗУ)(ПЗУ Е 114) и эффективного арифметико-логического блока (АЛБ) (АЛБ 143). Строенное ОЗУ обеспечивает более эффективное использование АЛБ и расширение полосы частот ОЗУ по сравнению с тем, что может быть достигнуто единичным ОЗУ. Специализированное ПЗУ Е 114 выдает 16-разрядные постоянные. ОЗУ А 104, ОЗУ В 122 и ОЗУ С 182, а также ПЗУ Е 114 подают данные на АЛБ 143. ОЗУ С 182 принимает и выдает 32-разрядные данные от АЛБ 143 и к нему, а ОЗУ А 104 и ОЗУ В 122 принимают и выдают 16-разрядные данные, проводя вычисления с 16-разрядными операндами, и запоминают 32-разрядные результаты с высокой эффективностью.

Каждое подразделение имеет специализированный блок генерирования адреса. ОЗУ А 104 имеет адресный блок А 102, ОЗУ В 122 имеет адресный блок В 120, ОЗУ С 182 имеет адресный блок С 186, а ПЗУ Е 114 имеет адресный блок Е 112. Каждый из адресных блоков выполнен на регистровых, мультиплексорных и сумматорно-вычитательных элементах (не показаны). В одном тактовом периоде ПЦОС 4 может выполнять три операции запоминания, три обновления адресов, арифметическую операцию (например, умножение-накопление-нормализацию) и перемещение данных на минимизирующий процессор 6.

Командное ПЗУ I 194 хранит команды, которые управляют последовательностью исполнения в ПЦОС 4. Последовательность команд, хранимая в ПЗУ I 194, описывает функции обработки, подлежащие выполнению ПЦОС 4. ПЗУ I 194 имеет специализированный блок генерирования адреса, счетчик идентификационных указателей (ИУ) и стек 196.

Блоки генерирования адреса ОЗУ или регистровые файлы - адресный блок А 102, адресный блок В 120 и адресный блок С 186 - выдают адреса или данные для соответствующих операций ОЗУ. Данные могут перемещаться из регистровых файловых элементов в другие регистровые файловые элементы внутри тех же адресных блоков либо в соответствующее ОЗУ. В описываемом примере выполнения адресный блок А 102 выдает данные через мультиплексор 106 на ОЗУ А 104, адресный блок В 120 выдает данные через мультиплексор 124 на ОЗУ 122, а адресный блок С 186 выдает данные через мультиплексор 180 на ОЗУ С 182.

Регистровые файловые элементы принимают непосредственно получаемые данные (НПД) (как представлено на фиг.5а-d), данные от других регистровых файловых элементов в том же самом адресном блоке и данные от ОЗУ. Здесь и далее во всех случаях упоминание слов "непосредственно получаемые данные" будут относиться к данным, выдаваемым командным декодером 192. В описываемом примере выполнения ОЗУ А 104 выдает данные через мультиплексор 100 в адресный блок А 102, ОЗУ В 122 выдает данные через мультиплексор 118 в адресный блок В 120, а ОЗУ С 182 выдает данные через мультиплексор 184 в адресный блок С 186. Каждый адресный блок для автоматического послеоперационного приращения и послеоперационного уменьшения снабжен внтуренним сумматором-вычитателем (не показан). В примере выполнения адресный блок В 120 снабжен автоматической модульной адресацией и двумя специализированными регистровыми файловыми элементами (не показаны), используемыми в качестве указателей для прямого доступа к памяти (ПДП).

Адресный блок Е 112 оптимизирован для поиска коэффициентов. Он содержит индексный регистр, который принимает непосредственно получаемые данные через мультиплексор 110, и регистр смещения, который принимает непосредственно получаемые данные через мультиплексор 110 или данные от накопителя (регистры C0REG 164 или C1 REG 166) через мультиплексоры 168 и 110. Регистр смещения для автоматического послеоперационного приращения и послеоперационного уменьшения снабжен внутренним сумматором-вычитателем (не показан).

Счетчик ИУ и стек 196 содержат адресные указатели, которые выполняют функции адресации ПЗУ I 194. Адресное упорядочивание управляется командным декодером 192. Адресные данные перемещаются либо внутри счетчика ИУ и стека 196, либо принимаются как непосредственно получаемые данные.

Данные могут перемещаться от ОЗУ А 104, ОЗУ В 122 или ОЗУ С 182 к регистрам внутри АЛБ 143. Данные могут также перемещаться от накопителя (регистры C0RЕG 164 или C1REG 166) к ОЗУ А 103, ОЗУ В 122 или ОЗУ С 182. Данные могут перемещаться от накопителя ОREG 162 к ОЗУ С 182.

ОЗУ А 104 принимает данные от адресного блока А 102 через мультиплексор 106. ОЗУ А 104 принимает также данные от накопителя (регистры С0REG 164 или C1REG 166) через мультиплексоры 168 и 106. ОЗУ В 122 принимает данные от адресного блока В 120 через мультиплексор 124. ОЗУ В 122 принимает также данные от накопителя (регистры C0REG 164 или C1REG 166) через мультиплексоры 168 и 124. ОЗУ В 122 принимает также данные со входа DMA-UNPUT (как показано на фиг.5а-d) или от входного регистра 128 через мультиплексор 124. ОЗУ С 182 принимает данные от адресного блока С 186 через мультиплексор 180. ОЗУ С 182 принимает также данные от накопителя (регистры C0REG 164 или С1REG 166) через мультиплексоры 168 и 180. ОЗУ А 104 выдает данные на адресный блок А 102 через мультиплексор 100 и на регистр А 130 через мультиплексор 108. ОЗУ В 122 выдает данные на адресный блок В 120 через мультиплексор 118, на выход RАМВ-DOUT (как представлено на фиг.5a-d), на регистр SREG 136 через мультиплексор 126, на регистр BREG 134 через мультиплексор 116 и на регистр DREG 156 через мультиплексор 158.

Регистр AREG 130 принимает непосредственно получаемые данные, данные от ПЗУ Е 114 или данные от ОЗУ А 104 через мультиплексор 108. Регистр BREG 134 принимает непосредственно получаемые данные, данные от ПЗУ Е 114 или данные от ОЗУ В 122 через мультиплексор 116. Регистр BREG 134 принимает также данные от накопителя (регистры C0REG 164 или C1REG 166) через мультиплексоры 168 и 116.

Регистры C0REG 164 или C1REG 166 принимают данные через мультиплексор 148 от ОЗУ С 182, от сумматора 146, от логического элемента 144 И или от логического элемента 142 ИЛИ.

Регистр SREG 136 сдвига указателя принимает непосредственно получаемые данные или данные от ОЗУ В 122 через мультиплексор 126.

АЛБ 143 выполняет умножение, сложение, вычитание, умножение-накопление, умножение-сложение, умножение-вычитание, округление, приращение, очистку, инверсию знака и логические операции И, ИЛИ и НЕ. Входы к перемножителю 132, регистру AREG 130 и регистру BREG 134 стробируются (не показано), снижая потребление мощности в перемножителе 132 обеспечением того, что входные сигналы изменяются только после выполнения перемножения. АЛБ 143 снабжен двумя 36-разрядными накопителями (регистры C0REG 164 или C1REG 166) для эффективности и двумя многорегистровыми циклическими сдвигателями 140 и 150 для нормировки. Многорегистровым циклическим сдвигателем 140 и многорегистровым циклическим сдвигателем 150 выполняются сдвиги влево или вправо на величину до 16 разрядов. Указатель сдвига определяется либо прямо через непосредственно поступающие данные, либо специализированным сдвиговым индексным регистром SREG 136 через мультиплексор 149. Сдвиговый индексный регистр SREG 136 вместе с многорегистровыми циклическими сдвигателями 140 и 150, подзарядным логическим элементом 160 ИЛИ и регистром OREG 162 введены для минимизации потерь при выполнении блоковой нормировки. AЛБ 143 задает состояние на командный декодер 192, разрешая условные переходы на основании арифметических и логических состояний регистров C0REG 164 или C1REG 166. К примеру, в примере выполнения знаки для значений в регистрах C0REG 164 или C1REG 166 сравниваются для задания условного перехода по смене знака. Переход происходит, когда непосредственно получаемые данные выдаются на счетчик ИУ и стек 196. Переполнение и потеря значимости (отрицательное переполнение) накопителя обнаруживаются и насыщение выполняется автоматически посредством шестнадцатеричного значения 0X7FFFFFFF в случае переполнения и 0Х80000001 в случае потери значимости, согласно арифметике с дополнением до двух.

Последовательность исполнения команд представляет собой поиск, декодирование, исполнение. Счетчиком ИУ и стеком 196 выдаются значения адресов для управления ПЗУ I 194, которое в ответ выдает команду на командный декодер 192. Командный декодер 192 в ответ на эту входную команду декодирует ее и выдает управляющие сигналы на соответствующие элементы в ПЦОС для исполнения команды.

Специализированный счетчик циклов и стек 190 со счетчиком ИУ и стеком 196 обеспечивают вызовы вложенных подпрограмм с низкими непроизводительными затратами и вложенных циклов. Поиск команды блокируется во время однокомандных циклов, снижая потребление мощности. Счетчик циклов и стек 190 принимают непосредственно получаемые данные через мультиплексор 188 для выполнения циклов форсированной длины. Счетчик циклов и стек 190 принимают также данные от накопителя (регистры C0REG 164 или C1REG 166) через мультиплексоры 168 и 188 для выполнения циклов переменной длины. Статический командный кэш на 256 слов (не показан) внутри ПЗУ I 194 обеспечивает командный поиск с низкой мощностью для большинства часто исполняемых циклов и подпрограмм. Команда ОЖИДАНИЕ блокирует командный поиск и декодирование команд во время события, снижая потребление мощности. Примеры таких событий могут включать в себя передачу ПДП, временное стробирование от интерфейса 2 ИКМ или внешнее событие.

На ПЦОС 4 подаются внешние данные и управление через портовый вход PORT- INPUT (как показано на фиг.5а-d), DMA-INPUT от интерфейса 2 ИКМ, а также статические проверочные разряды, используемые в командах условного перехода. Данные обеспечиваются извне посредством ПЦОС 4 через регистр CREG (как показано на фиг.5а-d, 6а-d) и выход RAMB-DOUT. ПДП между ПЦОС 4 и интерфейсом 2 ИКМ выполняется путем занятия цикла, как известно в технике. Данные от регистров C0REG 164 или C1REG 166 подаются через мультиплексор 168 вместе с сигналом OUTREG-EN (как показано на фиг.5а-d, 6а-b) от командного декодера 192. Активный сигнал OUTREG-EN означает наличие достоверных данных CREG, подаваемых на минимизирующий процессор 6.

Минимизирующий процессор 6, представленный на фиг.6а-b, участвует в процедурах обработки с высокими вычислительными затратами - в поиске основного тона и в поиске кодового словаря. Для выполнения процедуры минимизации минимизирующий процессор 6 принимает последовательность взвешенных с учетом человеческого восприятия отсчетов входного речевого сигнала, набор значений усиления и набор последовательностей отсчетов синтезированной речи от ПЦОС 4. Минимизирующий процессор 6 вычисляет автокоррелацию между синтезированным речевым сигналом и входным речевым сигналом, взвешенным с учетом человеческого восприятия. В результате этой корреляционной обработки определяется относительная мера среднеквадратичной ошибки (СКО) между синтезированной речью и входной речью как функция от усиления и указателя синтезированной речи. Минимизирующий процессор 6 сообщает значения указателя и усиления, соответствующие минимальной СКО. Режим сбережения мощности обеспечивает прерывание вычисления СКО, когда дальнейшая минимизация невозможна. Минимизирующий процессор 6 осуществляет связь с ПЦОС 4 через выход CREG, порт I/О и специализированные команды ПЦОС.

Работа минимизирующего процессора 6 определяется блоком 220 управления. Блок 220 управления содержит счетчик для поддержания отслеживания текущих значений указателя, регистры для сохранения оптимальных результатов поиска основного тона или поиска кодового словаря, схему генерирования адреса для обращения к ОЗУХ 212 и схему ввода-вывода. Кроме того, управляющий элемент 220 отвечает за управление сигналами выбора на мультиплексоры 224, 234, 230 и 246 и подает разрешающие сигналы на фиксаторы ("защелки") 210, 214, 226, 228, 236, 238, 244 и 250. Блок 220 управления отслеживает также различные значения в элементах в минимизирующем процессоре 6, управляет режимами сбережения мощности, которые укорачивают поиски при некоторых заранее заданных условиях прекращения поиска, и управляет циклированием значений усиления в кольцевом буфере 259.

Кроме того, блок 220 управления отвечает за выполнение операций ввода-вывода. Блок 220 управления отвечает за выдачу результатов минимизации на ПЦОС 4 (например, наилучшие период основного тона и усиление основного тона, или наилучшие указатель кодового словаря и усиление кодового словаря, определенные в соответствующих поисках) через входные порты 12. Сигнал OUTREG-EN подается на блок управления 220 для индикации того, что данные на входе в фиксатор 210 достоверны и присутствуют на входе CREG сигнала с выхода накопителя. В ответ на это блок 220 управления генерирует сигнал разрешения и подает сигнал разрешения на фиксатор 210 для приема данных.

Сигналы OUTPORT - EN (как представлено на фиг.5а-d, 6а-b) и PORT-ADD (как представлено на фиг.5а-d, 6а-b) подаются на блок управления 220 от ПЦОС 4. Сигнал PORT-ADD обеспечивает адрес на минимизирующий процессор 6. Минимизирующий процессор 6 принимает данные с СREG, когда значение PORT-ADD определяет данные для минимизирующего процессора 6, a OUTPORT-EN индицирует достоверность значения PORT-ADD. Сигналы управления и данные подаются на минимизирующий процессор 6, как описано выше.

На фиг.1 представлена блок-схема возможной структуры согласно настоящему изобретению. Интерфейс 2 ИКМ принимает от кодека (не показан) и передает на него данные речевых отсчетов импульсно-кодовой модуляции (ИКМ)(РСМ), которые в иллюстративном выполнении присутствуют в виде данных компандированных по -закону или по А-закону отсчетов или данных линейных отсчетов. Интерфейс 2 ИКМ принимает информацию тактирования от синхрогенератора 10 и принимает данные и управляющую информацию от микропроцессорного интерфейса 8.

Интерфейс 2 ИКМ подает на ПЦОС 4 ИКМ-данные речевых отсчетов, которые он принял от кодека (не показан) для кодирования. Интерфейс 2 ИКМ принимает от ПЦОС 4 ИКМ-данные речевых отсчетов, которые затем подаются на кодек (не показан). ИКМ-данные передаются между ПЦОС 4 и интерфейсом 2 ИКМ через ПДП.

Интерфейс 2 ИКМ подает информацию тактирования на синхрогенератор 10 на основании тактирования отсчетов, принятых от кодека (не показан).

ПЦОС подает данные и управляющую инфорацию на свой сопроцессор, минимизирующий процессор 6. ПЦОС 4 принимает также информацию тактирования от синхрогенератора 10. ПЦОС 4 способен также выдавать внешнюю адресную информацию и принимать внешние команды и данные.

Минимизирующий процессор 6 принимает информацию тактирования от синхрогенератора 10 и принимает данные и сигналы управления от ПЦОС 4. Минимизирующий процессор 6 выдает результаты минимизирующих процедур на ПЦОС 4 через входные порты 12.

Синхрогенератор 10 выдает информацию тактирования на все другие блоки. Синхрогенератор 10 принимает внешние синхросигналы и принимает информацию тактирования от микропроцессорного интерфейса 8 и от интерфейса 2 ИКМ.

Интерфейс 16 действующей группы встроенной проверки (ДГВП) обеспечивает способность проверки функционирования интегральной схемы прикладной ориентации. Интерфейс 16 ДГВП принимает внешние данные и управляющую информацию и выдает внешние данные.

Выходные порты 14 принимают данные от ПЦОС и подают эти данные на микропроцессорный интерфейс 8 и могут также выдавать данные на внешние устройства (не показаны).

Входные порты 12 принимают данные от микропроцессорного интерфейса 8 и от минимизирующего процессора 6 и подают эти данные на ПЦОС 4. Входные порты 12 могут также принимать внешние данные от внешних устройств (не показаны) и подавать эти данные на микропроцессорный интерфейс 8.

Микропроцессорный интерфейс 8 принимает от микропроцессора (не показан) и выдает на него данные и управляющую информацию. Эта информация подается на другие блоки.

В иллюстративном выполнении настоящего изобретения вокодерная интегральная схема прикладной ориентации (ИСПО) выполняет регулируемый по скорости алгоритм КСЛП, который детально описан в совместно поданной патентной заявке 08/004484, от 14 января 1993 года на "Регулируемый по скорости вокодер" заявителя настоящего изобретения.

На фиг.2 представлены общие функции, выполняемые в ИСПО. Согласно фиг.2, подлежащие кодированию выборки подаются на вокодерную ИСПО через интерфейс 2 ИКМ от кодека (не показан). Эти выборки подаются затем на элемент 32 декомпандирования, который преобразует выборки, компандированные по -закону или по А-закону, в линейные выборки. Выборки, выдаваемые в линейном формате, проходят через элемент 32 декомпандирования без изменения. Линейные выборки подаются на передающий элемент 34 аудио-обработки, который функционально содержит управляемый голосом переключатель (УГП) 36, аудио-выравнивающий элемент 38, кодирующий элемент 40 QCELP и двухтональный многочастотный (ДТМЧ) детектирующий элемент 41. Передающий элемент 34 аудио-обработки подает затем кодированные речевые пакеты через микропроцессорный интерфейс 42 на микропроцессор (не показан), внешний относительно ИСПО.

Кодированные речевые пакеты подаются микропроцессором (не показан) через микропроцессорный интерфейс 42 на приемный элемент 44 аудио-обработки, где они декодируются в выборки речевого сигнала. Приемный элемент 44 аудио-обработки функционально содержит декодирующий элемент 46 QCELP, аудио-выравниватель 48 и ДТМЧ генерирующий элемент 47. Декодированные выборки подаются на элемент 50 компандирования, который преобразует линейные выборки в формат -закона или А-закона или пропускает линейные выборки без изменения на интерфейс 30 ИКМ. ИСПО подает декодированные выборки через интерфейс 30 ИКМ на кодек (не показан), внешний относительно ИСПО.

Операция декомпандирования, представленная на фиг.2 как элемент 32 декомпандирования, и операция компандирования, представленная на фиг.2 как элемент 50 компандирования, выполняются в ПЦОС 4, представленном на фиг.5a-d. Передающие операции аудио-обработки, представленные на фиг.2 как передающий элемент 34 аудио-обработки, выполняются в ПЦОС 4 и минимизирующем процессоре 6, представленном на фиг.6а-b. Приемные операции аудио-обработки, представленные на фиг.2 как приемный элемент 44 аудио-обработки, выполняются в ПЦОС 4, представленном на фиг.5a-d.

В иллюстративном выполнении выборки, поступающие от кодека (не показан) в формате 8-разрядного -закона или 8-разрядного А-закона, преобразуются в 14-разрядный линейный формат. Соотношение между -законом и линейным показано в уравнении 1: 2Y=-1S(33+2M)2N-33, (1) где Y есть линейное значение (от -4015,5 до 4015,5), N является показателем экспоненты (от 0 до 7), М есть величина значения (от 0 до 15), а S есть знак (0 для положительных, 1 для отрицательных).

Соотношение между А-законом и линейным показано в уравнениях 2 и 3: 2Y=-1S(1+2М)22Y для N=0, (2) 2Y=-1S(33+2М)2N для N=1,..,7, (3) где Y есть линейное значение (от -4032 до 4032), N, М и S те же, что и вышеуказанные.

Согласно фиг.5а-d, выборки, подаваемые через интерфейс 30 ИКМ на фиг.2, преобразуются в линейный формат посредством просмотровой таблицы в ПЗУ Е 114. В предпочтительном выполнении для выполнения преобразования используются просмотровые таблицы перевода -закона в линейный и А-закона в линейный половинного размера 128х14. Предпочтительное выполнение имеет преимущество полномерной таблицы преобразования со свойствами, показанными в уравнении 4: ПЗУ(n+128)=-ПЗУ(n) 0n127. (4) Перед вычислением коэффициентов автокорреляции и коэффициентов КЛП требуется удаление любой составляющей постоянного тока из входного речевого сигнала. Операция блокирования постоянной составляющей выполняется в ПЦОС 4 вычитанием отфильтрованного по низкой частоте среднего значения речевых отсчетов - смещения по постоянному току - из каждого входного отсчета в текущем окне. Т.е. смещение по постоянному току для текущего кадра является взвешенным средним среднего значения отсчетов текущего и предыдущего кадра. Вычисление смещения по постоянному току показано в уравнении 5: Смещение=а(среднее(предыд.кадра))+(1-а)среднее(текущ.кадра), (5) где а=0,75 в примере выполнения.

Низкочастотная фильтрация используется для предотвращения больших разрывов на границах кадров. Эта операция выполняется в ПЦОС 4 запоминанием среднего значения выборки для текущего кадра и для предыдущего кадра в одном из элементов ОЗУ (например, ОЗУ А 104, ОЗУ В 122 или ОЗУ С 182) с коэффициентом a интерполяции, выдаваемым ПЗУ Е 114. Сложение выполняется сумматором 146, а умножение - перемножителем 132. Функция блокирования постоянной составляющей может разрешаться или отменяться под микропроцессорным управлением.

Свободный от постоянной составляющей входной речевой сигнал S(n) обрабатывается по методу окна для снижения воздействий от нарезания речевой последовательности на кадры фиксированной длины. В иллюстративном выполнении используется функция хэммингового окна. Для кадра длиной LA=160 обработанная по методу окна речь SW(n) вычисляется, как показано в уравнении 6: SW(n)=S(n+60)WH(n), 0nLA-1, (6) где хэммингово окно определяется в уравнении 7 и 8: WH(n)=0,54-0,46cos[2n/(LA-1)], 0nLA-1 = 0 для всех прочих значений. (8) В предпочтительном выполнении, поскольку WH(n) является четно-симметричной функцией, просмотровая таблица из 80 коэффициентов - половина коэффициентов хэммингового окна хранится в ПЗУ Е 114. Обработка по методу окна может тогда выполняться выдачей оконных коэффициентов H(n) из ПЗУ Е 114 согласно адресному значению, выдаваемому адресным блоком Е 112 через мультиплексор 108 на регистр AREG 130. Регистр AREG 130 подает эти данные на первый вход перемножителя 132. Выборка речевого сигнала S (n+60) выдается ОЗУ В 122 на регистр BREG 134. Регистр BREG 134 подает это значение на второй вход перемножителя 132. Выходным сигналом перемножителя 132 является обработанная по методу окна выборка речевого сигнала, который выдается на регистр C0REG 164, а затем подается на ОЗУ С 182 через мультиплексор 168.

Процедура блоковой нормировки состоит из двух функциональных частей: определения коэффициента нормировки и нормировки предназначенных для этого данных. В рассматриваемом примере выполнения данные запоминаются в записи с дополнением до двух. Обработанные по методу окна выборки обсчитываются согласно вышеприведенному уравнению 7. По команде нормировки DETNORM из ПЗУ I 194, результирующее значение обработанной по методу окна выборки, генерируемое в регистре С0REG 164, подлежит следующей процедуре. Если значение в регистре C0REG 164 отрицательно, то инвертирующий элемент 152 инвертирует двоичные цифры числа и пропускает значение с инвертированными разрядами на первый вход сумматора 146. На второй вход сумматора 146 подается нуль через мультиплексоры 137 и 138. Сумматор 146 затем добавляет через свой вход переноса (не показан) единицу к значению с инвертированными разрядами. Если значение в регистре C0REG 164 положительно, это значение пропускается через мультиплексоры 168 и 154, инвертирующий элемент 152 и сумматор 146 в своем исходном виде. Назначение этой процедуры состоит в том, чтобы вычислить абсолютное значение из регистра C0REG 164. Затем абсолютное значение подается на первый вход поразрядного логического элемента 160 ИЛИ. На второй вход поразрядного логического элемента 160 ИЛИ подается сигнал с регистра OREG 162. Вышеописанное вычисление абсолютного значения показано в уравнениях 8а-с: OREG новое = (абс.знач.(C0REG)) или (OREG)старое, (8а) где абс.знач.(C0REG)=C0REG, С0REG0, (8b) =-C0REG, C0REG<0. (8c) Описанная в уравнениях 8а-с операция может просто выполняться на регистре C1REG 166 с использованием команды DETNORM, если предназначенные для нормировки данные находятся в регистре C1REG 166. Регистр OREG 162 очищается в начале операции нормировки. Эта процедура повторяется для всех обработанных по методу окна отсчетов (предназначенных данных) так, что в конце операции запомненное в регистре OREG 162 значение представляет результат выполнени