Наши друзья:
|
Представление электрических сигналов в цифровой форме
Прогресс последних лет в области повышения пропускной способности каналов в заметной мере связан с развитием технологии передачи цифровых данных. Здесь нужно решить проблемы синхронизации, эффективного кодирования и надежной передачи. Чем шире импульс, тем большую энергию он несет, тем лучше отношение сигнал/шум, но тем ниже и предельная скорость передачи. Раньше каждому двоичному разряду соответствовал импульс или перепад в кодовой последовательности. Сегодня перепад возникает лишь при смене последовательности нулей на последовательность единиц или наоборот. Цифровой метод имеет целый ряд преимуществ перед аналоговым:
- Высокую надежность. Если шум ниже входного порога, его влияние не ощущается, возможна повторная посылка кода.
- Отсутствие зависимости от источника информации (звук, изображение или цифровые данные).
- Возможность шифрования, что повышает безопасность передачи.
- Независимость от времени. Можно передавать не тогда, когда информация возникла, а когда готов канал.
Представлена уже не последовательность импульсов, а последовательность переходов из одного состояния в другое. При этом уровень +V соответствует логической <1>, а -V - логическому <0>. Переключение из состояния <0> в состояние <1> и наоборот (бод) уже не соответствует передаче одного бита.
На практике число нулей или единиц следующих подряд не лимитировано. По этой причине на принимающей стороне при этом рано или поздно возникает проблема синхронизации временных шкал передатчика и приемника. Для решения этой проблемы существует два метода передачи данных: синхронный и асинхронный. Асинхронный метод используется для относительно низкоскоростных каналов передачи и автономного оборудования. Синхронный метод применяется в скоростных каналах и базируется на пересылке синхронизующего тактового сигнала по отдельному каналу или путем совмещения его с передаваемыми данными. При наличии синхронизации приемника и передатчика можно допустить более длинные последовательности нулей или единиц, что способствует повышению пропускной способности. На 2.2 показана схема канала, использующая технику импульсно-кодовой модуляции. Импульсно-кодовая модуляция (ИКМ) была предложена в 30-ые годы 20-го века, но реализована лишь в 1962 году.
Шаг квантования в АЦП должен быть много меньше диапазона вариации входного сигнала. Число уровней квантования n выбирается из соображений минимизации искажений сигнала и повышения уровня s/n. При разумных предположениях (биполярность сигнала (+V -V), однородность распределения уровня сигнала в рабочем диапазоне, ошибка квантования не более S/2, где S шаг квантования, и т.д.) [S/N]db = 10 log10(22n) = 6n (N - шум квантования при этом равен S2/12). Это означает, что при 2n уровнях квантования и при условии, что входной сигнал может варьироваться во всем рабочем диапазоне АЦП, отношение сигнал-шум (S/N), связанное с самим процессом квантования, будет равно 6n при n=8 это составит 48 дБ). Отсюда следует известное значение относительного расстояния между уровнями квантования, равное 6 дБ. Звуковой сигнал может иметь динамический диапазон 40 дБ, что создает определенные проблемы, которые преодолеваются путем прямого и обратного логарифмического преобразования (см. 4.1).
Типичный кадр данных в асинхронном канале начинается со стартового бита, за которым следует 8 битов данных. Завершается такой кадр одним или двумя стоп-битами. Стартовый бит имеет полярность противоположную пассивному состоянию линии и переводит приемник в активное состояние. Пример передачи такого кадра показан на 2.3.
Одним из способов обеспечения надежной синхронизации является применение в приемнике частоты, например, в 8 раз больше частоты следования данных. При этом стробирование данных может производиться примерно в середине сигнала бита (см. 2.4).
Начальный и стоп-биты на каждый байт данных снижают пропускную способность канала и по этой причине используются только для низких скоростей обмена. Увеличение же длины блока данных приводит к ужесточению требований к точности синхронизации. При использовании синхронного метода передачи необходимы специальные меры для выделения кадра в общем потоке данных. Для решения этой задачи используется специальная сигнатура. Если такая последовательность встретится внутри кадра, она видоизменяется путем ввода в нее двоичных нулей (bit stuffing). Синхронный приемник нуждается в синхронизирующем сигнале, передаваемом передатчиком. Обычно это реализуется путем введения определенного вида кодирования сигнала, например, биполярного кодирования. В этом случае используется три уровня сигнала: +v соответствует логической 1; -v – логическому нулю, а 0 вольт логическому нулю или единице. Пример такого типа кодирования показан на 2.5.
Другой разновидностью такого рода кодирования является использование манчестерского кода. В этой схеме логической единице и нулю соответствует не уровни напряжения, а перепады. Так логической единице поставлен в соответствие переход с низкого уровня на высокий, а логическому нулю – с высокого на низкий (схема NRZ – non-return-to-zero). Пример представления сигнала с использованием манчестерского кода показан на 2.6.
Манчестерский код достаточно неэффективно использует пропускную способность канала. Оба описанные выше кода требуют удвоения полосы для передачи данных. Этого можно избежать, используя схему цифровой фазировки DPLL - Digital Phase Locked Loop). Эта схема предполагает применение кодирования NRZI (non-return-zero-inverted). Здесь сигнал сначала кодируется с использованием кода NRZ и только затем последовательность преобразуется в NRZI. В процессе такого преобразования логический нуль из NRZ вызывает определенную модификацию исходного кода, в то время как логическая единица не приводит ни к каким вариациям. Здесь создаются условия, при которых количество переходов 0/1 и 1/0 в единицу времени достаточно велико, чтобы обеспечить надежную синхронизацию. Схема NRZI кодирования с использованием DPLL проиллюстрирована на 2.7.
Симметричная скрученная пара проводов с волновым сопротивлением 120 Ом обеспечивает пропускную способность 2048 Мбит/с (система кодирования HDB3, длина проводов ~100м), а 100 Ом - 1544 Мбит/с (амплитуда сигналов 3 в, система кодирования B8ZS). Номинальное значение перепада обычно составляет 750 мВ.
Наиболее простая схема передача данных путем представления <0> и <1> с помощью двух уровней напряжения не применяется из-за того, что линия обычно используется для подачи на оконечное (терминальное) оборудование. Проблема может быть решена, если <0> характеризуется 0 вольт (приращение над постоянным уровнем), а <1> попеременно сигналами положительной и отрицательной полярности (AMI - Alternate Mark Inversion). Такая схема создает проблему синхронизации, когда подряд следует большое число нулей. Необходимо, чтобы было достаточное число переходов 0->1 и 1->0 в единицу времени. Существует также схема ADI (Alternate Digit Inversion), где инверсия полярности производится для каждого из передаваемых двоичных разрядов. Но эта схема менее эффективна.
По этой причине система кодирования AMI была модифицирована в HDB3 (High Density Bipolar 3). Цифра 3 указывает на максимально возможное число последовательных нулей в кодовой последовательности. AMI требует, чтобы <1> передавались попеременно сигналами противоположной полярности, так последовательность 11011 должна быть передана как +-0+-. HDB3 заменяет любую группу из 4 нулей последовательностью из 3 нулей, за которой следует нарушение последовательности отображения единиц. Таким образом, последовательность 11000001 будет отображена как +-000-0+ (возможен инверсный вариант, когда символы + заменяются на - и наоборот). Дальнейшего улучшения балансировки сигнала можно достичь, если заменить код, содержащий 4 нуля подряд, последовательностью b00v (b - обычный биполярный сигнал, v - нарушение последовательности). В США используют схему кодировки B8ZS (Bipolar with 8 Zeros Substitution), где 8 нулей кодируются как 00b0vb0v. В 1986 году ansi принял решение о введение схемы кодирования 2B1Q (2 Binary into 1 Quaternary). При этой схеме каждая пара бит преобразуется в четверичные элементы +3 +1 -1 -3. Код синхронизации (SW - Synchronization Word) при этом содержит 9 четверичных элементов, повторяющихся каждые 1.5 мс:
+3 +3 -3 -3 -3 +3 -3 +3 +3 (+3 соответствует +2.5 В)
В Германии используется схема кодировки 4B3T (4 двоичных разряда кодируются в 3 циклических кода).
Двоичная информация передается блоками, обычно зазываемыми кадрами (или пакетами). В рамках системы 2B1Q для передачи 144 кбит/с требуется частота модуляции не менее 72 кбод. На практике для передачи кадров и выполнения функций управления необходимо создать дополнительные виртуальные каналы. Это доводит требуемую частоту модуляции до 80 кбод. Сводные данные по наиболее популярным схемам кодирования приведены в табл. 2.2.1.
Таблица 2.2.1.
Название метода |
Расшифровка |
Описание |
1B2B |
|
Один бит исходной последовательности кодируется комбинацией из 2 бит половинной длительности |
B3ZS
B6ZS
B8ZS |
bipolar with 3/6/8 zero substitution |
Биполярный код с заменой 000/000000/00000000 на последовательности 00v/0vb0vb/000vb0vb (или b0v для B3ZS) |
HDB2 (/3) |
High density bipolar code of order 2 (/3) |
Биполярный код высокой плотности второго (третьего) порядка. Эквивалентен коду с возвратом к нулю (RZ) и с инверсией для логических 1. Последовательность 000 (соответственно 0000) заменяется на 00v или b0v (соответственно 000v или b00v). Число b сигналов между v-сигналами всегда нечетно. В результате возникает трехуровневый код. |
CMI |
coded mark inversion |
Двухуровневый двоичный код (класса 1B2B) без возвращения к нулю. Используется инверсия полярности для каждой логической 1 (единице ставится в соответствие 11 или 00), а для каждого логического нуля вводится смена полярности в середине интервала. |
Кадр содержит 120 пар бит (quats), что соответствует 240 бит, 8 кадров образуют мультифрэйм. Первый кадр мультифрэйма выделяется путем посылки Inverted Synchronization Word (ISW). В конце каждого кадра всегда присутствуют специальные биты, которые служат для целей управления (бит активации, бит холодного старта, биты состояния питания, биты управления синхронизацией и т.д.). Структура кадра выглядит следующим образом:
Биты |
quats |
Канал |
1-18 |
1-9 |
isw (кадр 1) |
sw (кадры 2-8) |
19-26 |
10-13 |
b-канал 1 |
27-34 |
14-17 |
b-канал 2 |
34-36 |
18 |
d-канал |
37-44 |
19-22 |
b |
45-52 |
23-26 |
b |
53-54 |
27 |
d |
55-62 |
28-31 |
b |
63-70 |
32-35 |
b |
71-72 |
36 |
d |
73-80 |
37-40 |
b |
81-88 |
41-44 |
b |
89-90 |
45 |
d |
91-98 |
46-49 |
b |
99-106 |
50-53 |
b |
107-108 |
54 |
d |
109-116 |
55-58 |
b |
117-124 |
59-62 |
b |
125-126 |
63 |
d |
|
|
Биты |
quats |
Канал |
127-134 |
64-67 |
b |
135-142 |
68-71 |
b |
143-144 |
72 |
d |
145-152 |
73-76 |
b |
153-160 |
77-80 |
b |
161-162 |
81 |
d |
163-170 |
82-85 |
b |
171-178 |
86-89 |
b |
179-180 |
90 |
d |
181-188 |
91-94 |
b |
189-196 |
95-98 |
b |
197-198 |
99 |
d |
199-206 |
100-103 |
b |
204-214 |
104-107 |
b |
215-216 |
108 |
d |
217-224 |
109-112 |
b |
225-232 |
113-116 |
b |
233-234 |
117 |
d |
235-240 |
118-120 |
Контроль и управление |
|
Кадры следуют каждые 1.5мс. Здесь нужно следить за тем, чтобы не было корреляции между сигналами, следующими в противоположных направлениях. Для этого используются скрэмблеры.
В традиционной телефонной сети для соединения с требуемым клиентом используются аппаратные коммутаторы. Если коммутатор имеет n входов и n выходов, то одновременно можно реализовать не более n связей. Реально это число всегда меньше и клиент слышит в трубке “короткие гудки” сигнала “занято”. В случае комбинирования традиционного коммутатора с m-канальными мультиплексорами пакетов по времени можно осуществить до m*n связей одновременно. При этом становится возможным объединить нескольких клиентов так, что они все одновременно могут говорить друг с другом. Схема такого переключателя каналов показана на 2.8.
Кружочки на пересечениях линий представляют собой ключи, замыкая которые можно соединить i-й входной канал с j-м выходным. На каждой линии может быть только один замкнутый ключ. Такая схема коммутации называется TST (Time-Space-Time). Именно она преобладает сегодня при построении сетей ISDN. Магистральные каналы ISDN строятся в соответствии со стандартом T1.
Такая схема при числе входных и выходных каналов равном N=1000 требует миллиона элементарных переключателей. Можно рассмотреть вариант когда используются коммутаторы с n входами и k выходами. Схема коммутатора с N=16, n=4 и k=2 показана на 2.9. Число элементаных переключателей в таком коммутаторе М равно:
M = 2kN + k(N/n)2
Первое слагаемое характеризует число элементарных переключателей во входной и выходной секциях системы, а второе - число элементарных переключателей в k внутренних модулях При N=1000, n=50 и k=10 требуется 24000 элементарных переключателей вместо миллиона (но и число одновременно формируемых каналов становится много меньше 1000).
Цифровые каналы T1 и Е1
Системы (каналы) T1 имеют пропускную способность, соответствующую 24 аналоговым каналам с полосой 0-3.3 кГц (американская версия стандарта). Частота стробирования равна 8 кГц, что соответствует передаче 8000 кадров в сек. После каждых 6000 футов коаксиального кабеля ставятся системы регенерации сигналов. Все 24 канала мультиплексируются на общий коаксиальный кабель, предварительно производится PCM-преобразование сигналов. 24 канала по 8 бит (при 8-битном АЦП) дает 192 бита на кадр. Один дополнительный (193-ий) бит используется для целей синхронизации (F). Таким образом частота бит в канале Т1 составляет 193*8000=1,554 Мбит/с (это стандарт США, его европейский аналог - Е1 имеет 30 каналов и пропускную способность 2048 кбит/c). Это соответствует частоте кадров 667/с. Каждый восьмой бит (младший) байта (временного домена на 3.1) используется для целей управления, что несколько снижает пропускную способность. В ISDN каналы 1,544 и 2,048 Мбит/с, форматы которых здесь описаны, называются первичными.
8-битовые pcm-блоки генерируются каждые 125мксек (8000/с). Структура данных при передаче со скоростью 1,544 Мбит/с представлена ниже (isdn 2*B+D):
Скорости передачи 1,544 (кодирование B8ZS) и 2,048 Мбит/с (HDB3) называются первичными скоростями. Кадры структурированы так, что временные домены (таймдомен на 3.1) для передачи данных по каналам B1 и B2 чередуются. В Европе используется 2048Мбит/с интерфейс. Каждый 6-ой кадр используется для сигнальных целей. Количество временных доменов в кадре определяет число телефонных разговоров, которые могут осуществляться одновременно. Для американского стандарта это число равно 24, а для европейского 30 (в последнем случае учтено то, что часть доменов используется в служебных целях).
Все современные коммутаторы управляются центральным процессором. Такие коммутаторы обычно называются коммутаторами, управляемыми встроенной памятью (SPC - Stored Program Controlled exchanges).
Методы преобразования и передачи звуковых сигналов
На физическом уровне в ISDN используется кодово-импульсная модуляция с частотой стробирования 8кГц (что превосходит ограничение Найквиста = 2*3.3кГц, где 3.3кГц - полоса пропускания канала для традиционной телефонной сети). Эмпирически установлено, что для удовлетворительного воспроизведения речи, достаточно 4096 уровней квантования сигнала (12 разрядов АЦП). Такое разрешение диктуется большим динамическим диапазоном сигналов. По этой причине возникает возможность преобразования 12-битных кодов в 8-битные, что формирует информационный поток в 64 Кбит/c. Для этого используется логарифмическое преобразование. Природа позаботилась о человеке, снабдив его логарифмической чувствительностью слуха, в противном случае у нас в мозгу перегорали бы предохранители при близком выстреле или грозовом разряде. Логарифмическое преобразование наталкивается на определенные трудности при низких значениях входного сигнала, ведь логарифм для значений меньше 1 имеет отрицательную величину. Функция же преобразования должна пройти через нуль. В США две логарифмические кривые смещаются в направлении оси ординат (вертикальная ось), в результате получается функция вида:
y ~ log(1 +mx) |
(так называемая m-зависимость [m-law]) |
В Европе используется функция преобразования вида: |
y ~ ax |
в области значений x вблизи нуля и |
y ~ 1 + log(Ax) |
при “больших” значениях x (A-зависимость [a-law], см. 4.1) |
Для дальнейшего упрощения процесса преобразования реальные кривые апроксимируются последовательностью отрезков прямых, наклоны которых каждый раз меняется вдвое. На практике функция табулируется (рекомендация G.711) и отличия m- и A-функций пренебрежимо малы. Но следует учитывать, что при реализации практической связи между Европой и Америкой, например телефонной, необходим m/A-конвертор.
Для кодирования используется симметричный код, у которого первый бит характеризует полярность сигнала.
Дальнейшим усовершенствованием схемы pcm является адаптивный дифференциальный метод кодово-импульсной модуляции ( 4.2). Здесь преобразуется в код не уровень сигнала в момент времени ti, а разница уровней в моменты ti и ti-1. Так как обычно сигнал меняется плавно, что типично для человеческой речи, можно заметно сократить необходимое число разрядов АЦП. Принципиальное отличие между PCM и ADPCM (1984 год) заключается в использовании адаптивного АЦП и дифференциального кодирования, соответственно. Адаптивный АЦП отличается от стандартного PCM-преобразователя тем, что в любой момент времени уровни квантования расположены однородно (а не логарифмически), причем шаг квантования меняется в зависимости от уровня сигнала. Применение адаптивного метода базируется на том, что в человеческой речи последовательные уровни сигнала не являются независимыми. Поэтому, преобразуя и передавая лишь разницу между предсказанием и реальным значением, можно заметно снизить загрузку линии, а также требования к широкополосности канала. Следует иметь в виду, что метод не лишен серьезных недостатков: уровень шумов, связанный с квантованием сигнала, выше; при резких изменениях уровня сигнала, превышающих диапазон АЦП, возможны серьезные искажения.
Расширение диапазона преобразования достигается умножением шага квантования на величину несколько больше (или меньше) единицы.
При дифференциальном преобразовании на вход кодировщика подается не сам сигнал, а разница между текущим значением сигнала и предыдущим ( 4.3).
Блок прогнозирования является адаптивным фильтром, который использует предшествующий код для оценки последующего стробирования. На вход кодировщика поступает сигнал, пропорциональный разнице между входным сигналом и предсказанием. Чем точнее предсказание, тем меньше бит нужно, чтобы с нужной точностью закодировать эту разницу. Характер человеческой речи позволяет заметно снизить требования к каналу при использовании адаптивного дифференциального преобразователя.
Для компактных музыкальных дисков (cd) характерна полоса 50Гц - 20 кГц, обычная же речь соответствует полосе 50 Гц - 7 кГц. Только звуки типа Ф или С имеют заметные составляющие в высокочастотной части звукового спектра. Для высококачественной передачи речи используется субдиапазонный ADPCM-преобразователь (Adaptive Differential Pulse Code Modulation). В нем звук сначала стробируется с частотой 16 кГц, производится преобразование в цифровой код с разрешением не менее 14 бит, а затем подается на квадратурный зеркальный фильтр (qmf), который разделяет сигнал на два субдиапазона (50Гц-4кГц и 4кГц-7кГц). Диапазоны этих фильтров перекрываются в области 4кГц. Нижнему диапазону ставится в соответствие 6 бит (48кбит/с), а верхнему 2 бита (16 Кбит/с). Выходы этих фильтров мультиплексируются, формируя 64 кбит/с -поток.
На CD используется 16-битное кодирование с частотой стробирования 44,1 кГц, что создает информационный поток 705 Кбит/c. Для стерео сигнала этот поток может удвоиться. Практически это не так - сигналы в стереоканалах сильно коррелированны, и можно кодировать и передавать лишь их разницу, на практике высокочастотные сигналы каналов суммируются, для различия каналов передается код их относительной интенсивности. Исследования показывают, что для акустического восприятия тонкие спектральные детали важны лишь в окрестности 2 кГц. Для передачи звуковой информации с учетом этих факторов был разработан стандарт MUSICAM (Masking pattern Universal Sub-band Integrated Coding and Multiplexing), который согласуется с ISO MPEG (Moving Picture Expert Group; стандарт ISO 11172). musicam развивает идеологию деления звукового диапазона на субдиапазоны, здесь 20кГц делится на 32 равных интервалов. Логарифмическая чувствительность человеческого уха и эффект маскирования позволяет уменьшить число разрядов кодирования. Эффект маскирования связан с тем, что в присутствии больших звуковых амплитуд человеческое ухо нечувствительно к малым амплитудам близких частот. Причем чем ближе частота к частоте маскирующего сигнала, тем сильнее этот эффект (см. 4.4). Сплошной линией на рисунке показана нормальная зависимость порога чувствительности уха, а пунктиром - зависимость порога чувствительности в присутствии 500-герцного тона с амплитудой в 110 дБ.
При разбиении на субдиапазоны можно оценить эффект маскирования и передавать только ту часть информации, которая этому эффекту не подвержена. При этом уровень ошибок квантования следует держать лишь ниже порога маскирования, что также снижает информационный поток. Для стробирования высококачественных звуковых сигналов используются частоты 32, 44,1 или 48 кГц. Стандартом предусмотрено три уровня кодирования звука, отличающиеся по сложности и качеству. На первом уровне производится разбивка на 32 диапазона, определение диапазонных коэффициентов и формирование кадров, несущих по 384 результатов стробирования. Уровень 2 формирует кадры с 1152 результатами стробирования и дополнительными данными. Уровень 3 допускает динамическое разбиение на субдиапазоны и уплотнение данных с использованием кодов Хафмана. Любой декодер способен работать на своем и более низком уровне.
Для улучшения качества передачи низких частот в дополнение к суб-диапазонным фильтрам, используется быстрое Фурье-преобразование (FFT). Результирующая частота бит при передаче звуковых данных оказывается не постоянной. Практическое измерение показывает, что частота редко превышает 110кбит/с, применение 128кбит/с делает качество воспроизведения неотличимым от CD. Ограничение скорости на уровне 64 Кбит/с вносит лишь незначительные искажения.
Ниже в таблицах представлены данные по скоростям передачи аудиоданных по традиционным цифровым и отповолоконным каналам (см. также раздел 3.5.6).
Таблица 2.4.1 Скорости передачи данных по цифровым каналам
Линия |
Быстродействие
Мбит/с |
Число аудио каналов |
DS-0 |
0,064 |
1 |
T-1 |
1,544 |
24 |
T-1C |
3,152 |
48 |
T-2 |
6,312 |
96 |
T-3 |
44,736 |
672 |
Таблица 2.4.2. Скорости передачи данных по оптическим каналам
Линия OC-x |
Быстродействие
Мбит/с |
Число аудио каналов |
STM-x |
1 |
51,84 |
672 |
- |
3 |
155,52 |
2016 |
1 |
9 |
466,56 |
6048 |
3 |
12 |
622.08 |
8064 |
4 |
24 |
1244,16 |
16128 |
8 |
48 |
2488,32 |
32256 |
6 |
6 |
976,64 |
4512 |
2 |
92 |
953,28 |
29024 |
4 |
Еще одним методом, нацеленным на повышение эффективности преобразования входного аналогового сигнала в код, является дельта-модуляция.
Дельта-модуляция
Дельта-модуляция представляет собой вариант дифференциальной импульсно-кодовой модуляции, где для кодирования разностного сигнала используется только один бит. Этот бит служит для того, чтобы увеличить или уменьшить оценочный уровень. Примером реализации дельта-модуляции может служить схема, показанная на 4.1.1. Сигнал ЦАП отслеживает входной сигнал in(t). Здесь компаратор заменил дифференциальный усилитель, который используется в дифференциальном импульсно-кодовом модуляторе.
Если скорость нарастания входного сигнала велика, то уровень на выходе ЦАП будет отставать и сможет нагнать In(t) только, когда входной сигнал начнет уменьшаться. Данный метод не является разумной альтернативой PCM. Для улучшения характеристик дельта-преобразователя реверсивный счетчик можно заменить цифровым процессором, при этом шаг S становится переменным, но кратным некоторому базовому значению.
Существуют много других способов кодирования человеческого голоса, среди них наиболее эффективный реализован в приборах, носящих название - вокодер (VOCODER).
Кодировщики голоса (Vocoder)
Эта технология находит применение в военных системах связи, в диспетчерских службах, а также в системах пейджерной связи. Разработчики преобразователей голоса учли особенности работы горла, голосовых связок и всего речевого аппарата. Звонкие и глухие звуки воспроизводятся здесь различными способами (с помощью импульсного генератора и генератора шума, соответственно). Блок-схема преобразователя звука типа вокодер показана на 4.2.1. Исходный спектр человеческого голоса здесь делится на ряд субдиапазонов (на 4.2.1 их число равно16) по 200 Гц каждый. Эти субдиапазоны выделяются узкополосными фильтрами, за которыми следуют выпрямители и фильтры низких частот (20 Гц). Выходные сигналы этих фильтров мультиплексируются и преобразуются в цифровую форму. Частота стробирования этих сигналов составляет примерно 50 Гц. Разрядность АЦП в этом случае может составлять 3 бита. На принимающей стороне осуществляется цифро-аналоговое преобразование (ЦАП) и мультиплексирование. Сбалансированные амплитудные модуляторы, управляемые ЦАП и переключателем, выдают сигналы на узкополосные фильтры. Все эти сигналы смешиваются в сумматоре, а результат воспроизводится.
Не трудно видеть, что в случае схемы, показанной на 4.2.1, необходимое быстродействие передающей линии составляет 3 бита * 50 Гц * 16 каналов = 2,4 Кбит/с. Дальнейший выигрыш может быть получен за счет цифрового сжатия. Число каналов (фильтров) и ширина пропускаемой полосы частот может варьироваться, соответственно будет меняться и качество воспроизведения звука. Минимально возможная полоса пропускания передающей линии, при которой значение передаваемого текста еще воспринимается правильно, лежит ниже 1 Кбит/с.
Предшествующая фраза, включая пробелы и знаки препинания, содержит около 150 символов. Для ее произношения требуется около 10 сек (15 символов в сек). Но даже вокодеру потребуется для этого предложения передать не менее 10000 бит. Откуда такое отличие? Во-первых, человеческая речь индивидуальна и эта фраза, произнесенная разными людьми, будет звучать по-разному, кроме того, существует эмоциональная окраска, которой практически лишена буквенная запись. Во-вторых, даже самая совершенная современная система сжатия звуковой информации не идеальна и остается широкое поле для дальнейшего совершенствования. Пути могут быть разными в зависимости от поставленной задачи. Если требуется передать только информацию, следует преобразовать звук в символьную (буквенную) форму, передать эти данные в цифровом виде, а на принимающей стороне осуществить обратное преобразование. Само буквенное представление может быть также подвергнуто некоторому сжатию, но это неизбежно увеличит задержку воспроизведения. В сущности, данная схема является развитием идей, заложенных в вокодере.
В случае необходимости передачи индивидуальных особенностей голоса, сначала должен проводиться анализ этих персональных отличий. Особенности голоса в закодированном виде передаются принимающей стороне, где эти данные используются в дальнейшем при воспроизведении закодированного текста. Эти схемы потребуют довольно мощных сигнальных процессоров и, вероятно, найдут применение лишь в следующем веке.
Передача голоса по каналам Интернет
Несколько лет назад появился новый вид услуг в Интернет - голосовая связь (IP-phone, Vocaltec). Сегодня имеется 30 миллионов абонентов, регулярно пользующихся IP-phone и его аналогами, ожидается до 200 миллионов до конца текущего десятилетия, качество передачи постепенно приближается к уровню цифровой телефонии.
Среди пользователей есть те, для кого это лишь возможность общения, как для радиолюбителей; но все больше людей использует IP-phone для деловых контактов или даже как объект бизнеса.
Существуют два алгоритма сжатия звуковой информации, используемых для ip-телефонных переговоров: GSM (global system for mobile communications, ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm), которая обеспечивает коэффициент сжатия 5, и алгоритм DSP-группы (true speech) с коэффициентом сжатия данных 18 (работает при частотах 7.7 кбит/с). Добавление аппаратных средств сжатия информации позволяет сократить необходимую полосу до 6.72 Кбит/с. Потеря 2-5% пакетов остается незамеченной, 20% оставляет разговор понятным. В таблице 2.4.3.1 представлена зависимость необходимой полосы телекоммуникационного канала от частоты стробирования звукового сигнала, которая определяет качество воспроизведения.
Таблица 2.4.3.1.
Пропускная способность
[бит/с] |
Частота стробирования
[1/с] |
9600 |
4000 |
14400 |
6000 |
19200 |
8000 |
28800 |
11000 |
Для подключения к сети ip-phone необходима мультимедийная карта, микрофон, динамики (или наушники), 8 Мбайт оперативной памяти, доступ к Интернет и соответствующее программное обеспечение. Качество передачи звука зависит от загруженности IP-канала. В качестве транспорта используется протокол UDP. Для обеспечения высокого качества звука нужна гарантированная ширина IP-канала, ведь задержанные сверх меры UDP-дейтограммы теряются безвозвратно, что и приводит к искажениям. Внедрение протоколов, гарантирующих определенную ширину канала сделают IP-phone значительно более привлекательным. Многие компании уже предлагают такое оборудование и программы. Программы и описания этого вида услуг можно найти по адресам: ftp://cs.ucl.ac.uk/mice/videoconference
http://www.pulver.com/netwatch
http://www.planeteers.com
http://www.newparadigm.com
http://www.vocaltec.com
http://www.itelco.com
http://www.quarterdeck.com
В последнее время технология передачи звука по каналам Интернет стала широко использоваться для трансляции новостей и музыки. При этом обеспечивается вполне удовлетворительное качество даже при передаче стерео программ. В этом случае имеется возможность применить более эффективное сжатие информации и протоколы типа RTP и RTCP. Задержка при передаче в этом случае никакого значения не имеет, а качество доставки гарантировано. Современные системы ip-телефонии снабжены гибкой системой буферов, позволяющих использовать для передачи паузы, когда один из партнеров молчит. (См. также "RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals. H. Schulzrinne, S. Petrack. May 2000" RFC-2833 и "URLs for Telephone Calls. A. Vaha-Sipila. April 2000". RFC-2806).
В настоящее время имеется практически полный набор технологий, чтобы создать электронную книгу. Такая книга будет представлять собой систему размером с ноут-бук, снабженное устройством для чтения CD-дисков. Текст книги вместе с иллюстрациями и необходимыми командными последовательностями записывается на CD. При этом в перспективе можно рассматривать возможность того, что такое устройство будет читать "книгу" вслух (вывод на наушники). В настоящее время имеется достаточно большое количество книг, записанных на cd. Это, прежде всего, энциклопедические словари, альбомы музеев, библия и многие другие. Преимущество такой формы книги уже сегодня ощутимо - вы можете использовать современные поисковые средства, чтобы найти нужный раздел или какую-то конкретную информацию. По мере развития этой технологии и интеграции ее с сетями можно будет осуществлять поиск не только по данной книге, но и по книгам или журналам, ссылки на которые в данной книге содержатся, что может быть особенно полезно при первичном знакомстве с какой-то проблемой. Я здесь не говорю о компактности, а в перспективе, и долговечности такой формы записи информации. При звуковом воспроизведении читатель сможет выбирать, голосом какого актера или актеров будет читаться данная книга. Разумеется, для этого не потребуется начитывать данный текст самим актерам. Достаточно иметь запись характерных особенностей голоса и интонаций конкретного голоса, а процессор сам при генерации звука будет использовать голосовые особенности того или иного человека. Немного фантазии и можно будет представить, как ЭВМ будет воспроизводить текст в виде фильма, который она сгенерировала по выданному ей тексту (ведь сгенерирован же на ЭВМ корабль "Титаник" и море, по которому он плывет). Аналогичные услуги смогут оказываться и через сеть Интернет. Наибольшие трудности вызовет реализация качественного воспроизведения. Программы способные преобразовывать символьный текст в голос уже существуют. Проблема распознавания индивидуального голоса давно решена в охранных системах. Осталось научиться использовать результаты такого анализа при воспроизведении.
Активно разрабатываются многие новые стандарты и протоколы для обеспечения передачи звука по ip-каналам, проведения видеоконференций и управления в реальном масштабе времени. К таким протоколам относятся RTP (real time protocol, RFC-1889, -1890), RTCP (real-time control protocol), который является дополнением RTP, и RSVP (resource reservation protocol, см. разделы проектов IETF nic.nordu.net, ftp.isi.edu, munnari.oz.au и ds.internic.net или ftp.ietf.org/internet-drafts/draft-ietf-rsvp-spec-16.txt), служащий для обеспечения своевременной доставки данных при работе в реальном времени. Протокол RTP способен работать помимо UDP/IP в сетях CLNP, ATM и IPX. Он обеспечивает детектирование потерь, идентификацию содержимого, синхронизацию и безопасность (доступ по шифрованному паролю, см. RFC-1423). Проблема синхронизации при передаче звука особенно важна, так как даже для локальных сетей время доставки пакетов может варьироваться в весьма широких пределах из-за используемого алгоритма доступа (например, CSMA/CD), а это приводит к искажениям при воспроизведении. Протоколы RTP и RTCP позволяют одновременное голосовое общение неограниченного числа людей в рамках сети Интернет. Протокол же RSVP (или его аналог) в случае внедрения гарантирует качество связи (разумеется, при достаточной широкополосности канала) за счет повышения приоритета пакетов реального времени. Следует иметь в виду, что голосовое общение, хотя и весьма привлекательно, не является единственной и даже главной целью разработчиков. По мере совершенствования протоколов Интернет сделает возможным управление в реальном масштабе времени довольно сложными удаленными объектами.
В таблице 2.4.2 представлены характеристики аудио-кодеков, которые можно использовать в IP-телефонии.
Таблица 2.4.2. Характеристики аудио-кодеков
Кодек |
Выходная скорость кодека |
G.711 |
64 кбит/с |
g.723.1 |
5,3 или 6,4 кбит/с |
g.722 |
48, 56 или 64 кбит/с |
g.728 |
16 кбит/с |
g.728/g.729a |
8 кбит/с |
При внедрении ip-телефонии желательно, чтобы сетевая инфраструктура обеспечивала:
- Время задержки в одну сторону менее 100 мсек.
- Вероятность потери пакета менее 5%.
- Оборудование должно соответствовать требованиям H.323v2, а механизмы безопасности - стандарту H.235.
- Наличие функции привратника в маршрутизаторе/шлюзе (блокирует установку новых телефонных соединений при отсутствии необходимых ресурсов)
Одна из возможных реализаций IP-телефонии показана на 4.3.1. (MVD – Multiflex Voice/WAN модуль, включаемый в маршрутизатор, например, Cisco-3662).
На рисунке MVW-модуль (Multiflex Voice/WAN), включаемый в маршрутизатор, например, CISCO-3662, служит для связи с общедоступной телефонной сетью. Если сеть “А” размещена в Рио-де-Жанейро, а “В” в Москве, то любой клиент нижней сети сможет разговаривать с клиентом в Рио “бесплатно”, а с клиентами телефонных сетей “А” и “B” по локальным тарифам. В левой части рисунка показаны телефонные аппараты, которые подключаются непосредственно к сегменту локальной сети. Такие приборы уже поступили в продажу.
Связь может осуществляться как с традиционной старой аналоговой телефонной сетью, так и с ISDN. Телефонные аппараты могут подключаться непосредственно к интерфейсу маршрутизатора, к сетевой рабочей станции или к специальному сетевому адаптеру.
Методы преобразования и передачи изображения
Передача изображения представляет собой наиболее тяжелую проблему, так как человеческий глаз с информационной точки зрения несравненно совершеннее уха.
В 1902 году Артур Корн (Германия) запатентовал систему фотоэлектрического сканирования изображения, а в 1910 году заработала первая международная факсимильная связь Берлин-Париж-Лондон. До 60-х годов этого века рынок факсимильной аппаратуры был ограничен.
В 1968 году CCITT разработала рекомендации по факсимильному оборудованию, которое было способно передавать страницу за 6 минут при разрешении 3.85 линий на мм. Позднее в 1976 году аналоговая факсимильная техника была улучшена. Это позволило сократить время передачи страницы до 3 минут. В 1980 году разработан стандарт для цифровых факс-машин (группа 3), здесь уже предусматривается сжатие информации, что позволяет сократить время передачи страницы до 1 мин при скорости передачи 4800 бит/с. Следует иметь в виду, что сжатие информации в сочетании с ошибками пересылки может приводить к неузнаваемости изображения локальному или полному. По этой причине число линий сканирования, которые используются при обработке изображения, с целью сжатия может варьироваться (1-4) и определяется в результате диалога между отправителем и получателем, а передача каждой скан-линии завершается довольно длинным кодом, предназначенным для надежного распознавания завершения строки сканирования, а также коррекции ошибок. Факсимильное оборудование группы 3 может и не обеспечивать сжатия передаваемых (принимаемых) данных. В 1984 году разработаны требования к факс-аппаратам группы 4. Система базируется на двухмерной системе кодирования изображения (MMR - Modified Modified Reed).
Факсимильное оборудование поделено на 4 группы. Первая группа практически совпадает с традиционным фототелеграфным оборудованием (6 минут на страницу при разрешении 3.85 линий на миллиметр). Динамической вариации кодовой таблицы не предусмотрено. При этом для кодирования очередной линии сканирования используются результаты, полученные для предшествующей линии. Следует учитывать, что зона сканирования факс-машины больше размера изображения и всегда имеются пустые строки и поля, что предоставляет дополнительные возможности для сжатия передаваемой информации. Существует три режима кодирования: вертикальный, горизонтальный и проходной. Последний режим реализуется, когда позиция в эталонной строке a2 находится слева от b1 (см. 5.1; вериткальному и горизонтальному режиму соответствует нижняя часть рисунка). При “вертикальном” режиме кодирования (a2 справа от b1 и |b1a1|<= 3) позиция b1 кодируется относительно позиции a1. Относительное положение b1a1 может принимать одно из семи значений V(0), VR(1), VR(2), VR(3), VL(1), vL(2) и VL(3) (см. табл. 2.5.1). Индексы r и l указывают на то, что b1 находится справа или слева по отношению к a1, а число в скобках обозначает расстояние b1a1. Если используется “горизонтальный” режим кодирования (a2 справа от b1 и |b1a1|>3), длины b0b1 и b1b2 отображаются с помощью кодовой комбинации H+M(b0b1)+M(b1b2). H представляет собой код 001, взятый из двумерной кодовой таблицы. M(b0b1) и M(b1b2) являются кодовыми словами, которые характеризуют длину и цвет субстрок b0b1 и b1b2 соответственно.
Факс-оборудование группы 4 может поддерживать так называемый расширенный режим, когда часть рабочего поля кодируется без использования алгоритмов уплотнения информации (как правило, это участки, где попытка сжать либо ничего не дает, либо даже приводит к увеличению объема передаваемых данных). Оборудование этой группа использует на канальном уровне процедуры HDLC LAPB. Рекомендуемой полосой пропускания канала, к которому подключается такое оборудование, является 64 Кбит/с.
Таблица 2.5.1. Кодирование элементов изображения
Режим кодирования |
Элементы, подлежащие кодированию |
Обозначение |
Код |
Проход |
a1a2 |
p |
0001 |
Горизонтальный |
b0b1,b1b2 |
h |
001+m(b0b1)+m(b1b2) |
Вертикальный |
b1 под a1 b1a1=0
b1 справа от a1 b1a1=1
b1a1=2
b1a1=3
b1 слева от a1 b1a1=1
b1a1=2 b1a1=3 |
v(0)
vr(1)
vr(2)
vr(3)
vl(1)
vl(2)
vl(3). |
1
011
000011
0000011
010
000010
0000010
0000001ххх |
Перед началом передачи терминалы должны обменяться своими идентификаторами (TID - terminal identification). В последнее время появились факс-аппараты, которые печатают изображение на обычную бумагу с разрешением 300-400 точек на дюйм. Такая схема удобна, но имеет некоторые недостатки. Такие аппараты дороги, печать может начаться не ранее, чем будет передана вся страница; передающий аппарат может иметь более низкое разрешение, нужно уметь адаптироваться к любому разрешению, что приводит к тому, что скорость печати изображения при низком разрешении остается столь же низкой, как и при высокой.
В 1970 году в Бритиш Телеком были разработаны основные принципы еще одного вида передачи графической информации - телетекста, первые опыты по его внедрению относятся к 1979 году. Стандарт на мозаичное представление символов был принят CEPT в 1983 году. Каждому символу ставится в соответствие код длиной в 7-8 бит. На экране такой символ отображается с помощью специального знакового генератора, использующего таблицу.
Полному экрану видео текста, содержащему 24 строки по 40 символов, соответствует 960 байт, для передачи которых по коммутируемой телефонной сети требуется 6,4 секунды. D-канал ISDN может пропустить эту информацию за 1 сек, а B-канал быстрее за 0,1 сек. Телетекст позволяет более эффективно использовать каналы связи и не налагает чрезмерных требований на устройства отображения.
Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трех цветовых компонент). Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мбайта. Для передачи такой информации по B-каналу ISDN, если не используется сжатие, потребуется около 2,5 минут. Эта цифра помогает понять актуальность проблемы сжатия графической информации. При передаче чисто текстовой информации электронная почта имеет по этой причине абсолютное преимущество перед факсом. В перспективе можно ожидать внедрения сжатия информации при передаче почтовых сообщений с последующей дешифровкой данных принимающей стороной. Первым шагом на этом пути является внедрение системы MIME. Такое усовершенствование электронной почты сделает ее еще более грозным конкурентом факс-машин. Ведь передача графических образов уже не является монополией факсимильных систем, а возможность шифрования почтовых сообщений (например, в PGP) делает электронную почту более противостоящей перехвату. Таким образом, чтобы выдержать конкуренцию со стороны электронной почты разработчикам факс-систем нужно упорно работать.
Стандарты для представления и передачи изображения разрабатывает Joint Photographic Expert Group (JPEG). Для сжатия графической информации в настоящее время используется дискретное косинусное двухмерное преобразование (DCT - Discrete Cosine Transform), которое дает субъективно наилучший результат и описывается уравнением:
где v - горизонтальная координата графического блока, u - вертикальная, x - вертикальная координата внутри блока, а y - горизонтальная координата внутри блока, C(u), C(v) = 1/ для u,v = 0 и С(u), С(v) = 1 в противном случае. Два члена в квадратных скобках являются ядрами преобразования, показанными ниже на 5.2, а p(x,y) представляет собой пиксельные данные блока реального рисунка. Начало координат в обоих случаях в верхнем левом углу. Процесс кодирования сводится к разбиению изображения на блоки 8*8 пикселей и выполнению процедуры двухмерного DCT для каждого из этих блоков. Полученные коэффициенты преобразования дискретизируются. 64 числа, характеризующие уровень сигнала, превращаются в 64 коэффициента преобразования (амплитуды пространственных частот), которые хорошо поддаются процедуре сжатия. Дискретизатор округляет коэффициенты, эта процедура вносит некоторые ошибки, но обратное преобразование на принимающей стороне за счет усреднения частично устраняет вносимые искажения. На практике дискретизатор реализует несколько более сложный алгоритм.
Интуитивно метод DCT базируется на выявлении того, насколько вышестоящий блок отличается от нижестоящего. Для реального представления (сжатия) коэффициентов преобразования здесь также используются коды Хафмана.
DCT обеспечивает сжатие на уровне 0.5-1.0 бит/пиксель при хорошем качестве изображения. Сжатие требует времени, а максимально приемлемым временем задержки при пересылке изображения является 5 секунд. На 5.3 приведена качественная оценка четкости и соответствия оригиналу изображения в зависимости от величины сжатия (DCT). Если использовать скорость обмена 64 кбит/с, то степени сжатия 0,01 бита на пиксель будет соответствовать время передачи изображения 0,04 секунды, а сжатию 10 - время передачи
Отображение графического образа может выполняться последовательно (примерно так, как мы читаем текст: слева-направо и сверху-вниз) или с использованием прогрессивного кодирования (сначала передается вся картинка с низким разрешением, затем последовательно четкость изображения доводится до максимальной). Последний метод весьма удобен для систем WWW, где просмотрев изображение низкого разрешения, можно отменить передачу данных улучшающих четкость и тем самым сэкономить время. Хорошо распознаваемое изображение получается при сжатии порядка 0,1 бита на пиксель.
Проблема сжатия и передачи движущегося изображения еще сложнее. Алгоритм кодирования такого изображения описан в рекомендациях CCITT H.261 и предполагает, что скорость передачи при этом лежит в интервале 40кбит/с - 2Мбит/с. Следует иметь в виду, что видео телефония и видеоконференции требуют синхронной передачи звука и изображения (стандарт H.221, например 46,4 Кбит/с для видео и 16 Кбит/с для звука). Нормальный формат телевидения имеет 625 и 525 строк развертки и частоту кадров 25-30 в секунду. Цветное телевидение использует сигналы R (red), G (green) и B (blue), причем яркость луча (y) определяется соотношением: Y = 0.30R + 0.59G + 0.11B (при отображении белого цвета). Информация о цветах определяется формулами: СB = B - Y и CR = R - Y. Зная величины y, CB и СR, можно восстановить значения R, G и B. При сжатии цветного изображения учитывается тот факт, что человеческий глаз извлекает большую часть информации из контуров предметов, а не из цветных деталей. Например в рекомендации CCIR 601 предлагается использовать полосу 13.5 Мгц для кодирования Y и только по 6.75 Мгц для СB и CR. Такая схема требует 216 Мбит/с, что в 3375 раза превышает возможности стандартного 64кбит/с B-канала ISDN. Приемлемыми решениями могут быть:
- снижение числа строк до 288 (формат 625 строк) для отображения яркости;
- использование максимально возможного сжатия графических данных;
- повышение пропускной способности канала. Для разрешение по горизонтали вполне достаточно 3 Мгц. Рекомендация 601 требует 720 пикселей для яркости и 360 для каждой из составляющих цветов. В настоящее время используется стандарт CIF (Common Intermediate Format). Для некоторых приложений рекомендовано вдвое более низкое разрешение по каждой из осей (quarter CIF). PCM-кодирование CIF с 8 битами на пиксель требует 352х288х(1+1/4+1/4)х29.97х8 = 36.5 Мбит/с.
Проблема сжатия информации была, есть и всегда будет актуальной. При известных современных методах, чем больше эффективность сжатия - больше задержка (наилучший результат можно получить, используя сжатие всего фильма, чем кадра или тем более строки). В каждом конкретном случае выбирается то или иное компромиссное решение. При работе в реальном масштабе времени, где в процессе обмена участвует человек, задержки более секунды вызывают раздражение, и приходится ограничиваться сравнительно скромными коэффициентами сжатия.
При пересылке движущегося изображения производится сравнение текущего кадра с предшествующим. Если кадры идентичны, никакого информационного обмена не происходит. Если кадры отличаются лишь смещением какого-то объекта, выявляются границы этого объекта, направление и величина вектора его перемещения. Так как использование индивидуальных векторов перемещения для каждого пикселя слишком расточительно, используется общий вектор для блока пикселей 16*16 по яркости и для соответствующего блока 8*8 по цвету. Точность задания вектора перемещения обычно лежит в пределах 1/2 пикселя (стандарт MPEG-2). Только эта информация и передается по каналу связи. Выявление движущихся объектов осуществляется путем вычитания изображения двух последовательных кадров. Если бы передавалась всегда только разница кадров, происходило бы накопление ошибок. Кроме того, как кодер, так и декодер содержат прямой и обратный DCT-преобразователь. Если комбинация прямого и обратного DCT-преобразования не приводит к получению исходного объекта, то такого рода эффекты могут заметно усилиться. Для исключения этого время от времени производится передача непосредственно видеосигнала. Практически преобразователь изображения представляет чудо современной технологии, которое даст работу еще не одному поколению математиков и инженеров.
Нисколько не проще система передачи и мультиплексирования потока видео данных, который содержит помимо обычной информации описания формы движущихся объектов, векторы перемещения, коэффициенты дискретизации и многое другое. Схема передачи графической информации имеет 4-х уровневую, иерархическую структуру. Передача каждого кадра изображения начинается с 20-битного кода PSC (Picture Start Code, эта сигнатура позволяет выделить начало кадра изображения в общем потоке), далее следует 5-битовый код TR (Temporal Reference, временная метка, которая позволяет поместить соответствующую часть изображения в правильную точку экрана). Изображение пересылается частями, имеется 4 уровня: кадр, группа блоков GoB (Group of Blocks), макроблоки (MB) и просто блоки.
Ядро всей структуры составляет процедура передачи кадра (внутренний слой, существуют еще слои GoB, MB и блока, см. 5.4, 2.5.5, 2.5.6)
Поле Ptype содержит 6 бит, которые характеризуют формат изображения (используется ли формат CIF или QCIF). Однобитное поле PEI указывает на то, следует ли далее 8-битное поле PSpare (предназначено на будущее). Если PEI=0, начинается цикл передачи GoB. Группа блоков составляет одну двенадцатую картинки CIF или одну треть QCIF. GoB описывает Y (яркость), 176 пикселей для каждой из 48 строк и соответствующие 88*24 элементов для CB и CR.
GBSC - (Group of Blocks Start Code) представляет собой 16-разрядное слово, за которым следует 4 бита номера GoB (GN - GoB number). GN указывает, какой части изображения соответствует данный GoB. Поле gquant имеет 5 бит и указывает на номер преобразователя (одного из 31 дискретизаторов), который используется данным GoB. Смысл GEI идентичен PEI. GEI и GSpare позволяют сформировать структуру данных, идентичную той, что используется на уровне кадра.
Формат пересылки mb сложнее (см. [17]). Каждый GoB делится на 33 макроблока (MB), каждый из которых соответствует 16 строкам по 16 пикселей Y (четыре блока 8*8) и CB и CR. Каждый макроблок начинается с его адреса MBA (MacroBlock Address), имеющего переменную длину и определяющего положение макроблока в GoB.
Макроблоки не передаются, если данная часть изображения не изменилась. За MBA следует код переменной длины Mtype, характеризующий формат макроблока (применен ли метод подвижного вектора MVD и т.д.) и последующую информацию. CBP (Coded Block Pattern) представляет собой кодовое слово переменной длины, которое несет в себе информацию о том, какой из шести блоков преобразования (8*8) содержит коэффициенты (слой блоков). CBP нужно не для всех типов макроблоков. Каждый блок завершается флагом EOB (End of Block).
Сама природа алгоритма кодирования и передачи графических данных такова, что число бит передаваемых в единицу времени зависит от характера изображения. Чем динамичнее изменяется картинка, тем больше поток данных. Для выравнивания потока данных широко используется буферизация. Буферизация в свою очередь порождает дополнительные задержки, которые в случае видео-конференций или видео-телефонии не должны превышать нескольких сотен миллисекунд.
Так как при передаче изображения широко используются коды переменной длины, она крайне уязвима для любых искажений. В случае ошибки будет испорчена вся информация вплоть до следующего стартового кода GoB. Из-за рекурсивности алгоритма формирования картинки, искажения будут оставаться на экране довольно долго. Использование векторов перемещения может привести к дрейфу искажений по экрану и расширению их области. Для того чтобы уменьшить последствия искажений, в передаваемый информационный поток включаются коды коррекции ошибок BCH (511,493; Forward Error Correction Code), которые позволяют исправить любые две ошибки или кластер, содержащий до 6 ошибок в блоке из 511 бит (см. 5.7). Алгоритм работает в широком диапазоне скоростей передачи информации. Для реализации коррекции ошибок в поток двоичных данных включается 8 пакетов, каждый из которых включает в себя 1 кадровый бит, 1 бит индикатор заполнения, 492 бита кодированных данных и 18 бит четности. Поле Fi (индикатор заполнения) может равняться нулю, тогда последующие 492 бита не являются графической информацией и могут игнорироваться. Алгоритм предназначен для работы в динамическом диапазоне частот 40:1.
Во время переговоров или в ходе видеоконференции может возникнуть необходимость отобразить текст, выделить на экране какой-то объект, послать факс и т.д. Для решения таких задач можно использовать D-канал, но это не оптимально, так как он имеет свои специфические функции. Поэтому более привлекательным представляется создание специального протокола, работающего в рамках B-канала (H.221). Для этих целей используется младший бит каждого из октетов, что позволяет создать канал с пропускной способностью 8 Кбит/с. этот сервисный канал использует кадры по 80 бит. Первые 8 бит служат для целей синхронизации (FAS - Frame Alignment Signal) и выполняют следующие функции:
- выделение начала кадра (исключение имитации этого в информационном потоке);
- выделение начала блока кадров (опционно до 16 кадров);
- выполнение функций счетчика в многокадровых блоках (по модулю 16), может использоваться в многоточечных соединениях;
- нумерация соединений;
- CRC-контроль (опционно);
- ”A-бит” для определения кадр/мультикадр/синхронизация при пересылке в противоположном направлении (A=0 - передача, см. также структуру кадров isdn );
При работе с каналами на 384, 1536 и 1920 Кбит/с сервисный канал использует тайм-слот 1. Следующие 8 бит имеют название BAS (Bit Allocation Signal) и выполняют следующие функции:
- код, характеризующий возможности канала (узко/широко полосная передача звука, различные видео параметры, тип шифрования и т.д.);
- коды команд, определяющие значения передаваемых кадров;
- ESC-последовательности.
Очевидно, что BAS-коды (H.242) должны быть надежно защищены от ошибок. Для этой цели они пересылаются с использованием кодов, допускающих коррекцию ошибок. При работе оба приемника непрерывно ищут разделительный код кадров. Когда он обнаружен, бит А для выходного канала делается равным нулю. Только после получения А=0 терминал может быть уверен в том, что удаленный терминал правильно воспринял код BAS. Работа с кодами BAS описана в документе H.242. При установлении режима обмена терминалы обмениваются командами BAS. Команда действительна для последующих двух кадров, следовательно, при частоте кадров 100 Гц, изменения режима могут производиться каждые 20 мс.
Многоточечный вызов может рассматриваться как несколько связей между терминалами и бриджом MCU (Multipoint Control Unit) по схеме точка-точка. Простой MTU передает на каждый из терминалов смешанный аудио-сигнал от остальных терминалов. Каждый терминал осуществляет широковещательную передачу для остальных терминалов, участвующих в обмене. При видео обмене на терминал выводится только одна картинка. Дополнительную информацию по данной тематике можно найти в рекомендациях H.231, H242 и H.243.
Для передачи нормального телевизионного изображения необходимо 364 Кбит/с (4х64 Кбит/c). Интеграция телевидения с сетями передачи данных, появление видеотелефона и широкое внедрение видеоконференций становится велением времени. Требования к каждому из этих видов услуг варьируется значительно в зависимости от приложения. Например, ставшие обычными телевизионные мосты требуют высокого качества передачи изображения и звука. А в некоторых дорогостоящих отраслях науки, где международное сотрудничество стало неизбежным, важным является передача статических изображений (чертежи, схемы, описания алгоритмов, и т.д.) с высоким (иногда более высоким, чем в телевидении) разрешением. Здесь важно передать звук с приемлемым качеством (но заметно хуже, чем на ТВ) и обеспечить синхронное перемещение маркера мыши по экрану в ходе обсуждения переданного документа. Экономия только на авиа билетах (не говоря о командировочных и времени экспертов) способна перекрыть издержки по оплате канала для видеоконференции. В этом режиме приемлемым может считаться один кадр в 1-4 секунды.
Рисунок известного французского художника Клода Серрэ из книги “Черный юмор и люди в белом” (см. начало раздела) может служить иллюстрацией того, к чему может привести использование протокола tcp при передаче изображения в реальном масштабе времени. Предположим, что в процессе передачи изображения носа пакеты были повреждены, тогда спустя некоторое время, определяемое размером окна (TCP), будет проведена повторная их передача. Тем временем переданные ранее пакеты будут использованы для построения изображения, а часть картинки, содержавшаяся в пакетах, посланных вместо поврежденных, будет отображена совсем не там, где это следует. Реально из-за повреждения пакетов возможны в этой версии и более тяжелые искажения изображения. Именно это является причиной использования UDP для передачи видео и аудио информации при видео и аудио конференциях (еще лучшего результата можно достичь, использую протокол RTP). Протокол UDP не требует подтверждения и повторной передачи при ошибке доставки. Поврежденные пакеты вызовут искажения изображения (или звука) лишь локально.
Ситуация меняется в случае посылки изображения или звукового послания по электронной почте. Здесь в случае повторной передачи пакетов в конечном итоге будет сформирован файл, уже не содержащий ошибок. Такое решение приемлемо всякий раз, когда большая задержка появления изображения или звука не играет никакой роли.
Стандарт MPEG (1,2)
Стандарт MPEG-2 является усовершенствованием MPEG-1 и базируется на схеме шифрования с потерями и передачи без потерь. Кодирование в MPEG-2 идентично используемому в MPEG-1 (I- P- и B-кадры; В-кадры не используются). I-кадр (Intracoded) представляет собой изображение, закодированное согласно стандарту JPEG при полном разрешении по яркости и половинном разрешении по цвету. Такие кадры должны появляться периодически. Эти кадры обеспечивают совместимость с MPEG-1, и исключают влияние накопления ошибок в процессе передачи. P-кадры (Predictive) содержат отличие блоков в последнем кадре изображения (базируются на идее макроблоков). B-кадры (Bidirectional) характеризуют отличие двух последовательных изображений. Здесь применено двойное косинусное преобразование с числом коэффициентов 10*10 (против 8*8 в MPEG-1). MPEG-2 предназначен для широковещательного телевидения (включая прямое спутниковое - DBS) и для записи на CD-ROM и поддерживает четыре разных стандартов разрешения: 352*240 (низкое), 720*480 (базовое), 1440*1152 (высокое-1440) и 1920*1080 (высокое). Низкое разрешение служит для обеспечения совместимости с MPEG-1. Базовое разрешение ориентировано на работу со стандартом NTSC. Последние два стандарта относятся к телевидению высокого разрешения (HDTV). Помимо этого MPEG-2 поддерживает 5 профайлов для различных прикладных областей. Основной профайл ориентирован на общие приложения с базовым разрешением. Простой профайл сходен с основным профайлом, но не работает с B-кадрами, чтобы облегчить процедуры кодирования/декодирования. Остальные профайлы служат для обеспечения масштабируемости и работы с HDTV, они отличаются цветовым разрешением и форматами информационных потоков. Скорость передачи данных для каждой комбинации разрешения и профайла различна и лежит в диапазоне от 3 до 100 Мбит/c. Для обычного ТВ характерна скорость 3-4 Мбит/c. В таблице 2.5.2 представлены размеры кадров в битах для MPEG-1 и MPEG-2.
Таблица 2.5.2. Размеры кадров MPEG-1 и MPEG-2
|
Тип кадра |
i |
p |
b |
Средний |
mpeg-1 (1,15 Мбит/с) |
150,000 |
50,000 |
20,000 |
38,000 |
mpeg-2 (4 Мбит/c) |
400,000 |
200,000 |
80,000 |
130,000 |
Мультиплексирование аудио- и видеоданных в MPEG-2 показано на 5.8. На выходе пакетизатора мы имеем элементарные потоки пакетов (PES- Packetized Elementary Stream), содержащих около 30 полей, включая длину, идентификаторы потоков, временные метки, контрольные суммы и т.д. В MPEG-2 формируется два комплексных потока, программный поток (PS) длинных пакетов переменной длины сходный с MPEG-1, содержащий видео и аудио данные и имеющий общую временную шкалу, и транспортный поток (TS) пакетов постоянной длины (188 байт) без общей временной шкалы. В последнем случае минимизируется влияние потерь пакетов в процессе транспортировки. Предусмотрено выделение в потоке составляющих разной степени важности (например, DCT-коэффициентов и обычных графических данных).
Преобразование аналогового сигнала в цифровую последовательность осуществляется в MPEG-2 с помощью кодеков, создавая первичный поток в 140 Мбит/с, который затем преобразуется для передачи через стандартные каналы 1,5 и 15 Мбит/с (например, для прямого широковещательного, спутникового телевидения). В соответствии со стандартом сжатия данных H.320 можно обеспечить передачу видео + аудио по каналу 56 кбит/с с низким разрешением и частотой 1 кадр/сек.
|