Линейное предсказательное кодирование ( LPC ) — это метод, используемый в основном при обработке аудиосигналов и речи для представления спектральной огибающей цифрового речевого сигнала в сжатом виде с использованием информации линейной предсказательной модели . [1] [2]
LPC — наиболее широко используемый метод кодирования и синтеза речи . Это мощный метод анализа речи и полезный метод для кодирования речи хорошего качества при низкой скорости передачи данных .
LPC начинается с предположения, что речевой сигнал производится зуммером на конце трубки (для звонких звуков), с редкими добавленными шипящими и хлопающими звуками (для глухих звуков, таких как свистящие и взрывные ). Хотя эта модель источника-фильтра выглядит грубой, на самом деле она является близким приближением к реальности производства речи. Голосовая щель (пространство между голосовыми связками) производит жужжание, которое характеризуется своей интенсивностью ( громкостью ) и частотой (высотой тона). Речевой тракт (горло и рот) образует трубку, которая характеризуется своими резонансами; эти резонансы приводят к формантам или расширенным полосам частот в производимом звуке. Шипение и хлопки генерируются действием языка, губ и горла во время свистящих и взрывных.
LPC анализирует речевой сигнал, оценивая форманты, удаляя их эффекты из речевого сигнала и оценивая интенсивность и частоту остаточного гудения. Процесс удаления формант называется обратной фильтрацией, а оставшийся сигнал после вычитания отфильтрованного смоделированного сигнала называется остатком.
Числа, описывающие интенсивность и частоту жужжания, форманты и остаточный сигнал, могут быть сохранены или переданы в другое место. LPC синтезирует речевой сигнал, обращая процесс: используя параметры жужжания и остаток, чтобы создать исходный сигнал, используя форманты, чтобы создать фильтр (который представляет собой трубку), и пропуская источник через фильтр, в результате чего получается речь.
Поскольку речевые сигналы со временем меняются, этот процесс выполняется на коротких фрагментах речевого сигнала, которые называются кадрами; как правило, от 30 до 50 кадров в секунду дают разборчивую речь с хорошим сжатием.
Линейное предсказание (оценка сигнала) восходит как минимум к 1940-м годам, когда Норберт Винер разработал математическую теорию для вычисления наилучших фильтров и предикторов для обнаружения сигналов, скрытых в шуме. [3] [4] Вскоре после того, как Клод Шеннон создал общую теорию кодирования , работа над предиктивным кодированием была проделана Ч. Чапином Катлером , [5] Бернардом М. Оливером [6] и Генри К. Харрисоном. [7] Питер Элиас в 1955 году опубликовал две статьи по предиктивному кодированию сигналов. [8] [9]
Линейные предикторы были применены к анализу речи независимо Фумитадой Итакурой из Нагойского университета и Шузо Сайто из Nippon Telegraph and Telephone в 1966 году, а в 1967 году Бишну С. Аталом , Манфредом Р. Шредером и Джоном Бергом. Итакура и Сайто описали статистический подход, основанный на оценке максимального правдоподобия ; Атал и Шредер описали подход адаптивного линейного предиктора ; Берг изложил подход, основанный на принципе максимальной энтропии . [4] [10] [11] [12]
В 1969 году Итакура и Сайто представили метод, основанный на частичной корреляции (PARCOR), Глен Каллер предложил кодирование речи в реальном времени, а Бишну С. Атал представил речевой кодер LPC на ежегодном собрании Акустического общества Америки . В 1971 году компания Philco-Ford продемонстрировала LPC в реальном времени с использованием 16-битного оборудования LPC ; было продано четыре единицы. [13] Технология LPC была усовершенствована Бишну Аталом и Манфредом Шредером в 1970–1980-х годах. [13] В 1978 году Атал и Вишванат и др. из BBN разработали первый алгоритм LPC с переменной скоростью . [13] В том же году Атал и Манфред Р. Шредер из Bell Labs предложили речевой кодек LPC , названный адаптивным предиктивным кодированием , который использовал алгоритм психоакустического кодирования, использующий маскирующие свойства человеческого уха. [14] [15] Позднее это стало основой для техники перцептивного кодирования , используемой в формате сжатия звука MP3 , представленном в 1993 году. [14] Линейное предсказание с кодовым возбуждением (CELP) было разработано Шредером и Аталом в 1985 году. [16]
LPC является основой для технологии передачи голоса по IP (VoIP). [13] В 1972 году Боб Кан из ARPA вместе с Джимом Форджи из Lincoln Laboratory (LL) и Дэйвом Уолденом из BBN Technologies начали первые разработки в области пакетной речи, которые в конечном итоге привели к технологии передачи голоса по IP. В 1973 году, согласно неофициальной истории Lincoln Laboratory, Эд Хофштеттер реализовал первый LPC в реальном времени со скоростью 2400 бит / с . В 1974 году была осуществлена первая двусторонняя пакетная речевая связь LPC в реальном времени по ARPANET со скоростью 3500 бит/с между Culler-Harrison и Lincoln Laboratory. В 1976 году состоялась первая конференция LPC по ARPANET с использованием сетевого голосового протокола между Culler-Harrison, ISI, SRI и LL со скоростью 3500 бит/с. [ требуется цитата ] [ требуется разъяснение ]
LPC часто используется для передачи информации о спектральной огибающей, и как таковой он должен быть терпимым к ошибкам передачи. Передача коэффициентов фильтра напрямую (см. линейное предсказание для определения коэффициентов) нежелательна, так как они очень чувствительны к ошибкам. Другими словами, очень маленькая ошибка может исказить весь спектр, или, что еще хуже, небольшая ошибка может сделать фильтр предсказания нестабильным.
Существуют более продвинутые представления, такие как логарифмические отношения площадей (LAR), разложение линейных спектральных пар (LSP) и коэффициенты отражения . Из них особенно популярно разложение LSP, поскольку оно обеспечивает стабильность предиктора, а спектральные ошибки являются локальными для небольших отклонений коэффициентов.
LPC является наиболее широко используемым методом в кодировании и синтезе речи . [17] Он обычно используется для анализа и повторного синтеза речи. Он используется как форма сжатия голоса телефонными компаниями, например, в стандарте GSM . Он также используется для защищенной беспроводной связи, где голос должен быть оцифрован , зашифрован и отправлен по узкому голосовому каналу; ранним примером этого является Navajo I правительства США .
Синтез LPC может быть использован для построения вокодеров , где музыкальные инструменты используются в качестве сигнала возбуждения для изменяющегося во времени фильтра, оцениваемого по речи певца. Это довольно популярно в электронной музыке . Пол Лански создал известную компьютерную музыкальную пьесу notjustmoreidlechatter, используя линейное предиктивное кодирование. [18] LPC 10-го порядка использовался в популярной образовательной игрушке 1980-х годов Speak & Spell .
Предикторы LPC используются в аудиокодеках Shorten , MPEG-4 ALS , FLAC , SILK и других аудиокодеках без потерь .
LPC получил некоторое внимание как инструмент для использования в тональном анализе скрипок и других струнных музыкальных инструментов. [19]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )