Изюмов В.В.
Актуальность темы. В сфере телекоммуникаций всегда стоял вопрос о том, как обеспечить связь как можно большее количество абонентов, по как можно меньшему количеству каналов. Для решения этого вопроса научные сообщества вкладывают гигантское количество денег в разработку компрессии речевых сигналов, что приводит к снижению информационной емкости передаваемых по каналам связи речевых сообщений и удешевлению услуг средств связи. Кроме этого компрессия речевых сигналов востребована и в военной области и других ведомствах для обеспечения закрытой информации. Так же следует обратить внимание на быстрый рост компьютерных сетей. При улучшении качества вокодерной речи при скоростях менее 4 кбит/с становиться возможным коммуникация по компьютерным сетям.
Разработка новых методов низко скоростной компрессии делает возможным создание новых приложений [1]:
Современные достижения в области создания высокопроизводительных вычислительных элементов, таких как микроконтролеры цифровой обработки сигналов позволяют практически неограниченно совершенствовать методы и алгоритмы цифровой обработки речевого сигнала.
Цель и задачи исследования. Целью данной работы является анализ существующих методов кодирования речевого сигнала на основе систем с переменной структурой, разработка метода кодирования с учётом обеспечения пользователя качественной голосовой связью, с последующей разработкой математического описания и модели системы, построение диаграмм выходного сигнала по результатам моделирования, теоретическими исследованиями влияния ошибок в параметрах системы на качество кодирования, и синтезом алгоритма кодирования на микросхеме программируемой логики. Для достижения поставленной цели в работе решаются следующие основные задачи:
Объект и предмет исследования. Исследуются алгоритмы кодирования речевой информации на предмет их эффективности и рационального использования в зависимости от конкретной системы передачи данных.
Научная новизна полученных результатов состоит в разработке математической модели алгоритма и изучение на базе её поведения и свойств реальной системы в зависимости от характеристик передаваемых данных, поведено исследование влияния ошибок в системе на качество кодирования, исследовано влияние ошибок в канале передачи данных на выходной сигнал декодера.
Речь представляет собой колебания сложной формы, зависящей от произносимых слов, тембра голоса, интонации, пола и возраста говорящего. Спектр речи весьма широк (примерно от 50 до 10000 Гц), но для передачи речи в телефонии отказались от составляющих, лежащих за пределами полосы частот 0,3 - 3,4 кГц, что несколько ухудшило восприятие ряда звуков (например шипящих, существенная часть энергии которых сосредоточена в верхней части речевого спектра), но мало затронуло разборчивость. Ограничение частоты снизу (до 300 Гц) также немного ухудшает восприятие из-за потерь низкочастотных гармоник основного тона.
В составе спектра речевого сигнала можно отметить, что уровень низкочастотных (т.е. медленных по времени) составляющих значительно выше уровня высокочастотных (быстрых) составляющих. Эта существенная неравномерность спектра, кстати, является одним из факторов сжимаемости таких сигналов.
Второй особенностью речевых сигналов, является неравномерность распределения вероятностей (плотности вероятности) мгновенных значений сигнала. Малые уровни сигнала значительно более вероятны, чем большие. Особенно это заметно на фрагментах большой длительности с невысокой активностью речи. Еще одна особенность речевых сигналов - их существенная нестационарность во времени: свойства и параметры сигнала на различных участках значительно различаются. При этом размер интервала стационарности составляет порядка нескольких десятков миллисекунд. Речь формируется при прохождении выталкиваемого легкими потока воздуха через голосовые связки и голосовой тракт.
Голосовой тракт начинается от голосовых связок и заканчивается губами и в среднем имеет длину порядка 15-17 сантиметров. Голосовой тракт в силу своих резонансных свойств вносит в формируемый сигнал набор характерных для каждого человека частотных составляющих, называемых формантами и придающих голосу тембровую окраску.
Частоты и полосы формант могут управляться изменением формы голосового тракта, например, изменением положения языка. Важной частью многих голосовых кодеров/декодеров является моделирование голосового тракта как кратковременного фильтра с изменяемыми параметрами. Поскольку форма голосового тракта может изменяться сравнительно медленно (трудно предположить, что можно изменять положение языка чаще, чем 20-30 раз в секунду), то параметры такого фильтра должны обновляться (или изменяться) также сравнительно редко (обычно - через каждые 20 миллисекунд или даже реже).
Таким образом, голосовой тракт возбуждается потоком воздуха, направляемым в него через голосовые связки. В зависимости от способа возбуждения возникающие при этом звуки можно условно разделить на три класса:
Некоторые звуки в чистом виде не подходят ни под один из описанных выше классов, но могут рассматриваться как их смесь. Таким образом, процесс речеобразования можно рассматривать как фильтрацию речеобразующим трактом с изменяющимися во времени параметрами сигналов возбуждения, также с изменяющимися характеристиками. (рис.1.1)
Рисунок 1.1 - Модель процесса речеобразования
При этом, несмотря на исключительное разнообразие генерируемых речевых сигналов, форма и параметры голосового тракта, а также способы и параметры возбуждения достаточно однообразны и изменяются сравнительно медленно. Речевой сигнал обладает высокой степенью кратковременной и долговременной предсказуемости из-за периодичности вибраций голосовых связок и резонансных свойств голосового тракта. Большинство кодеров/декодеров речи и используют эту предсказуемость, а также низкую скорость изменения параметров модели системы речеобразования для уменьшения скорости кода.
На данный момент существует несколько подходов к компрессии речевого сигнала:
Кодирование формы сигнала позволяет достигнуть компрессии речевого сигнала, с приемлемым (коммерческим) качеством, до 24 Кбит/с. Данное сжатие достигается за счет применения адаптивной дифференциальной импульсно-кодовой модуляции (стандарт G.271 или G.279).
АДИКМ реализуется, если предсказание и квантование сигнала будет выполняться не на основе некоторых усредненных его характеристик, а с учетом их текущего значения и изменения во времени, то есть адаптивно. Так, если скорость изменения сигнала стала большей, можно увеличить шаг квантования, и, наоборот, если сигнал стал изменяться гораздо медленнее, величину шага квантования можно уменьшить. При этом ошибка предсказания уменьшится и, следовательно, будет кодироваться меньшим числом бит на отсчет. Использование АДИКМ со скоростью кода 4 бита/отсчет или 32 кбит/с обеспечивает такое же субъективное качество речи, что и 64 кбит/с - ИКМ, но при вдвое меньшей скорости кода.
На сегодня стандартизованы (в соответствии с рекомендацией G.726) АДИКМ - кодеки для скоростей 40, 32, 24 и 16 кбит/с (в последних двух случаях с несколько худшим, чем для 32 кбит/с - АДИКМ, качеством сигнала). Таким образом, видно, что сжатие речевых сигналов на основе кодирования их формы обеспечивает в лучшем случае двух - трехкратное уменьшение скорости кода. Дальнейшее снижение скорости ведет к резкому ухудшению качества кодируемого сигнала. Структурная схема кодера АДИКМ представлена на рисунке 1.2.
Рисунок 1.2 - Структурная схема кодера АДИКМ
Принцип кодирования заключается в следующем: входной сигнал А- или μ-закона преобразуется в сигнал линейной ИКМ, далее из этого сигнала вычитается оценка сигнала, затем полученная разность поступает на вход адаптивного квантователя, где вычисляется выходной сигнал кодера с величиной кодового слова 2,3,4 или 5 бит, в зависимости от настройки кодера, в инверсном адаптивном квантователе происходит обратная операция, т.е. вычисляется квантованный разностный сигнал, представляющий собой восстановленную разность входного сигнала и оценки сигнала, затем адаптивным линейным предсказателем и вычисленным значением восстановленного сигнала на основе некоторого количества раннее пришедших отсчетов квантованного разностного сигнала вычисляется следующий отсчет оценки сигнала, который является предсказанным значением следующего отсчета входного сигнала.
Далее процесс повторяется по вышеописанному алгоритму. Структурная схема декодера АДИКМ представлена на рисунке 1.3.
Рисунок 1.3 - Структурная схема декодера АДИКМ
Снижение скорости происходит благодаря тому, что в канал передается не сам отсчет, а разность между истинным и предсказанным значением, длина полученного таким образом кодового слова меньше чем при обычной ИКМ.
По рекомендации G.721 длина кодовой комбинации равна 4 бита, при скорости 24 Кбит/с - 3 бита, а при скорости 40 Кбит/с - 5 бит, для G.726 при скорости 16 Кбит/с - 2 бита. При этом качество сигнала остается достаточно высоким, благодаря чему эти кодеки получили широкое распространение в мире.
Описанные кодеры формы сигнала использовали чисто временной подход к описанию параметров сигнала. Однако возможны и другие подходы. Примером может служить так называемое кодирование поддиапазонов (Sub-Band Coding - SBC), при котором входной сигнал разбивается (или расфильтровывается) на несколько частотных диапазонов (поддиапазонов - sub-bands) и сигнал в каждом из этих поддиапазонов кодируется по отдельности, например, с использованием техники АДИКМ.
Поскольку каждый из частотных поддиапазонов имеет более узкую полосу (все поддиапазоны в сумме дают полосу исходного сигнала), то и частота дискретизации в каждом поддиапазоне также будет меньше. В результате суммарная скорость всех кодов будет по крайней мере не больше, чем скорость кода для исходного сигнала. Однако у такой техники есть определенные преимущества. Дело в том, что субъективная чувствительность слуха к сигналам и их искажениям различна на разных частотах. Она максимальна на частотах 1-1,5 кГц и уменьшается на более низких и более высоких частотах. Таким образом, если в диапазоне более высокой чувствительности слуха квантовать сигнал более точно, а в диапазонах низкой чувствительности более грубо, то можно получить выигрыш в результирующей скорости кода. При использовании технологии кодирования поддиапазонов получено хорошее качество кодируемой речи при скорости кода 16-32 кбит/с. Кодер получается несколько более сложным, чем при простой АДИКМ, однако гораздо проще, нежели для других эффективных способов сжатия речи.
Близким к кодированию поддиапазонов является метод сжатия, основанный на применении к сигналу линейных преобразований, к примеру, дискретного косинусного или синусного преобразования. Для кодирования речи используется так называемая технология АТС (Adaptive Transform Coding), при которой сигнал разбивается на блоки, к каждому блоку применяется дискретное косинусное преобразование и полученные коэффициенты адаптивно, в соответствии с характером спектра сигнала, квантуются. Чем более значимыми являются коэффициенты преобразования, тем большим числом бит они кодируются. Достигаемые при таком кодировании скорости кодов составляют 12-16 кбит/с при вполне удовлетворительном качестве сигнала. Широкого распространения для сжатия речи этот метод не получил, поскольку известны гораздо более эффективные и простые в исполнении методы кодирования.
Следующим большим классом кодеров речевых сигналов являются кодеры источника.
Кодирование параметров источника сигнала осуществляется путем вычисления параметров, описывающих передаточную функцию речевого тракта человека. К примеру, такими параметрами являются коэффициенты линейного предсказания (модель авторегрессии). В данной категории кодирования параметров источника сигнала достигнут предел в 2400 бит/с (стандарт FS1015).
Это наиболее древний тип вокодера, предложенный еще в 1939 году. Этот вокодер использует слабую чувствительность слуха человека к незначительным фазовым (временным) сдвигам сигнала, поскольку органы слуха человека не реагируют на фазовые соотношения.
Для сегментов речи длиной примерно в 20 - 30 мс с помощью набора узкополосных фильтров определяется амплитудный спектр. Чем больше фильтров, тем лучше оценивается спектр, но тем больше нужно бит для его кодирования и тем больше результирующая скорость кода. Сигналы с выходов фильтров детектируются, пропускаются через ФНЧ, дискретизуются и подвергаются двоичному кодированию (рис. 1.4).
Рис. 1.4. Канальный вокодер
Таким образом определяются медленно изменяющиеся параметры голосообразующего тракта, а также с помощью детекторов основного тона и гласных звуков, период основного тона возбуждения и признак - гласный/негласный звук.
Канальный вокодер может быть реализован как в цифровой, так и в аналоговой форме и обеспечивает достаточно разборчивую речь при скорости кода на его выходе порядка 4,8 кбит/с.Декодер (рис. 1.5), получив информацию, вырабатываемую кодером, обрабатывает ее в обратном порядке, синтезируя на своем выходе речевой сигнал, в какой-то мере похожий на исходный.
Рис. 1.5. Декодер канального вокодера
Учитывая простоту модели, трудно ожидать от вокодерного сжатия хорошего качества восстановленной речи. Действительно, канальные вокодеры используются в основном только там, где главным образом необходимы разборчивость и высокая степень сжатия: в военной связи, авиации, космической связи.
Хотя данный вокодер не обладает высоким качеством, но он является основоположником кодирования источника. Теперь рассмотрим еще один вокодер, который широко используется в сотовой связи GSM.
Кодер Regular Pulse Excited, или RPE-кодек, использует в качестве сигнала возбуждения фиксированный набор коротких импульсов. Однако в этом кодеке импульсы расположены регулярно на одинаковых расстояниях друг от друга, и кодеру необходимо определить лишь положение первого импульса и амплитуды всех импульсов. Таким образом, декодеру нужно передавать меньше информации о положении импульсов, следовательно, в сигнал возбуждения можно включить их большее количество и тем самым улучшить приближение синтезированного сигнала к оригиналу. К примеру, если при скорости кода 10 кбит/с в МРЕ-кодеке используется четырехимпульсный сигнал возбуждения, то в RPE-кодеке можно использовать уже десятиимпульсный сигнал. При этом существенно повышается качество речи.
Кодирование элементов речи и кодирование лингвистических элементов на данный момент является обширной и практически не изученной категорией методов компрессии речи. Данное кодирование осуществляется методами распознания и синтеза речи. Часто кодирование происходит с помощью скрытых марковских моделей (HMM) и нейронных сетей. К сожалению, хотя и существует огромное количество разработок, данный вид кодирования пока не обладает достаточной точностью и устойчивостью для внедрения в телекоммуникационные услуги.
Задачей квалификационной работы является развитие категории кодеков кодирования элементов речи, используя нейросетевые технологии. Вследствие чего основная задача работы распадается на две под задачи: распознавание элементов речи в речевом сигнале на передающей стороне и синтез из полученных элементов речевого сигнала на приемной стороне. Задача синтеза в принципе уже решена и имеется большое количество разработок обладающих хорошим качеством синтезированной речи. Одно из таких решений, освещенной в работе [2], является система Net-Talk, которая может преобразовывать английский текст в речевой сигнал. А вот задача распознавания элементов речи, представляется сложной до сегодняшних дней.
Основная проблема распознавания элементов речи заключается в построении как можно более точных акустических моделей. Акустические модели и акустический анализ, в общем, представляет собой модель человеческого уха и применение, хорошо зарекомендовавших себя, нейронных сетей обуславливается хотя бы тем, что они близки по природе к поставленной проблеме. Так же применение нейронных сетей обусловлены следующими факторами:
Существует много различных моделей сетей, с различной архитектурой, обучающей процедурой, но все они основаны на некоторых общих принципах. Искусственная нейронная сеть состоит из большого количества простых элементов (т.н. модулей, узлов, или нейронов), которые влияют на поведенение друг друга через сеть весов. Каждый элемент просто вычисляет нелинейную взвешенную сумму входов, и передает результат по его уходящим связям к другим элементам. Обучение заключается в подборе весов при представлении сети известных образцов входов и выходов.
Много биологических подробностей игнорируется в упрощенных моделях. Например, биологические нейроны генерируют последовательности импульсов, а не устойчивое значение (на данный момент существуют разработки симулирующие данное свойство, но увеличивается сложность реализации); также существует несколько различных типов биологических нейронов; их физическая геометрия может затронуть вычислительные возможности; на их поведение влияют гормоны и другие химикалии. Такие подробности могут в конечном итоге понадобится для модели мозга, но пока упрощенная модель имеет вычислительную мощность для решения проблем, для которых нужны преимущества нейронных сетей.
На данный момент рассмотрены основные методы распознания фонем такие как, скрытые марковские модели (HMM), нейронные сети и их комбинации. Данные методы требую предварительного преобразования речевого сигнала с целью получения вектора свойств характеризующего данный момент времени речевого сигнала. Элементы вектора составляются из коэффициентов преобразования таких как, преобразование Фурье, вейвлет преобразование или коэффициенты линейного предсказания. Недостаток данной методики в том, что вид и количество коэффициентов преобразования задаются заранее и могут нести продублированную или ненужную информацию о речевом сигнала. На основе работы [3], найденно свойство нейрона находить корреляцию между сигналом и весовой функцией. На основе данного свойства была предложена следующая структура системы распознания фонем в речевом сигнале:
Рисунок 2 - Структура системы распознания фонем
Входной сигнал речи поступает на вход линии задержки (ЛЗ), которая формирует входной вектор нейронной сети, представляющей собой отрезок сигнала входящего в анализирующий кадр. С линии задержки сигнал поступает на корреляционный слой (КС) нейронов, количество нейронов зависит от того, сколько необходимо сформировать коррелятов. С корреляционного слоя сигнал поступает на вход анализирующей сети (АС) состоящей из двух слоев нейронов. Во втором слое анализирующей сети каждый нейрон соответствует признаку отдельной фонемы. Выходами анализирующего слоя являются сигналы показывающие какая фонема в данный момент возможно находится во входном сигнале. Данная система обладает тем преимуществом, что при обучении ее в корреляционном слое будет формироваться группа коррелятов речевого сигнала, то есть автоматически формируется входной вектор нейронной сети с необходимыми свойствами характеризующие речевой сигнал. Количество свойств зависит от количества нейронов входящих в данный слой. В анализирующем слое будет формироваться метод анализа данных коррелятов и сопоставление их с признаками фонем. Хотелось бы заметить, то что в рабочем режиме скорость работы данной системы не будет превышать скорости работы системы с анализатором на основе преобразования Фурье или вейвлет.
В дальнейшем планируется решить следующие задачи:
Был произведен анализ основных кодеков речевого сигнала. В ходе анализа было выяснено, что на сегодняшний день достигнут предел сжатия в 2400 bits/s, хотя экспериментально установлено [4], что если речь передавать текстом, то скорость кода будет равна 50 bit/s, что в 48 раз больше. Это объясняется тем, что все методы компрессии основаны на лобовой аппроксимизации речевого сигнала без учета его акустико-информационной структуры [5]. На данный момент сформирована концепция нейронной сети преобразующей речевой сигнал в поток фонем. Данная сеть, при обучении, должна сформировать набор коррелятов и правил, учитывающих структуру речевого сигнала. Для обучения данной сети необходимо построить методику ее обучения и сформировать обучающие шаблоны. В конечном счете планируется провести исследование на правильность распознавания и устойчивость к помехам.
Окончание работы и получение результатов планируется к началу 2008 года.