Системы видеконференций базируются на достижениях технологий средств телекоммуникаций и мультимедиа. Изображение и звук с помощью компьютера передаются по каналам связи локальных и глобальных вычислительных сетей. Ограничивающими факторами для таких систем будет пропускная способность канала связи и алгоритмы компрессии/декомпрессии цифрового изображения и звука. Предположим, мы имеем неподвижную картинку (кадр) на экране компьютера размером 300х200 пикселов с глубиной цвета всего 1 бит/пиксел. На запись такого изображения потребуется 60 Kбайт. Скорость смены кадров в телевизоре составляет 25 кадров/с, в профессиональном кинопроекторе 24 кадра/с. Нам бы хотелось получить такую же частоту смены кадров размером 60 Kбайт каждый при сеансе связи в системе видеоконференции. Для этого наш канал связи должен обеспечить пропускную способность 1,5 Mбайт/с. Ни один современный канал связи такой пропускной способности за разумную цену не обеспечивает, поэтому возникает проблема сжатия видеосигнала. На сегодня известны два основных типа алгоритмов сжатия видеоизображения : алгоритмы сжатия без потерь и алгоритмы сжатия с потерями. Алгоритмы сжатия с потерями позволяют добиться очень высокой степени сжатия изображения, такой, что даже по низкоскоростным каналам связи можно передавать изображения с незначительной потерей качества, практически незаметной для человеческого глаза. Выполнение таких алгоритмов требует достаточно больших вычислительных мощностей. Для достижения приемлемых частот смены кадров на экране монитора требуется дорогостоящее аппаратное обеспечение, называемое общим словом CODEC (compression/decompression). Концепция настольных видеоконференций предполагает возможность доступа к телеконференциям с любого, даже домашнего, компьютера. Использование дорогостоящего оборудования CODEC идет вразрез с этой концепцией, что заставляет создателей аппаратуры систем видеоконференций прибегать к разумным компромиссам. Декомпрессия изображения требует меньшей вычислительной мощности, чем компрессия, поэтому некоторые производители используют аппаратные средства для компресcии данных, а декомпрессия осуществляется программно. [11]
Стандарт JPEG и его производные
Стандарт JPEG (Joint Photographic Experts Group, группа экспертов по фотографическим изображениям) является стандартом ISO (International Standards Organization, Международная организация по стандартизации). Этот стандарт поддерживает компрессию как с потерями, так и без потерь. Однако если термин "формат стандарта JPEG" употребляется без каких-либо оговорок, то обычно это означает, что подразумевается компрессия с потерями. Сжатие изображения по методу JPEG предполагает преобразование блоков изображения в реальном цвете размером 8х8 пикселов в набор уровней яркости и цветности. К каждому блоку применяется двумерное дискретное преобразование Фурье, в результате чего получается набор из 64 коэффициентов, представляющих данный блок. Затем коэффициенты квантуются с помощью таблиц компонентов яркости и цветности, после чего информация о блоке упаковывается в коэффициенты, соответствующие меньшим частотам. В результате получается представление коэффициентов в двоичном виде. Этот метод обеспечивает сжатие изображения в пределах от 10:1 до 20:1 при приемлемом качестве. Основное назначение формата JPEG с потерями -- получение фотографических изображений высокой степени сжатия при незначительных видимых потерях качества. Формат MJPEG, или Motion JPEG (JPEG для подвижных изображений) стандартом ISO не является. Тем не менее, так принято называть цифровой видеосигнал, представляющий собой последовательность изображений, сжатых с потерями в стандарте JPEG.
Стандарт Н.261 разработан организацией по стандартам телекоммуникаций ITU (Международный союз телефонной связи), которая раньше называлась CCITT (Международный консультативный комитет по телеграфии и телефонии). На практике, первый кадр в стандарте H.261 всегда представляет собой изображение стандарта JPEG, компрессированное с потерями и с высокой степенью сжатия. Последующие кадры строятся из фрагментов изображения (блоков), либо JPEG-подобных, либо фиксирующих отличия от фрагментов предыдущего кадра. Последовательные кадры видеоряда, как правило, очень похожи друг на друга. Поэтому стандарт Н.261 чаще всего используют в телеконференциях. Код, задающий перемещение части изображения, короче кода аналогичного фрагмента в стандарте MJPEG, то есть требует передачи меньшего количества данных. Поэтому при определенном значении пропускной способности линии связи изображение в формате H.261 зрительно воспринимается более качественным, чем изображение в формате MJPEG. Различия кадров всегда кодируются исходя из предыдущего кадра. Поэтому данная методика получила название "дифференциация вперед" (forward differencing). Итак, изображение в формате H.261 передается меньшим количеством данных, и, кроме того, для декодирования такого изображения требуется меньше вычислительной мощности, чем для декодирования видеопотока в формате MJPEG при аналогичном качестве.
Спецификация MPEG (Motion Picture Experts Group, Группа экспертов по подвижным изображениям) предлагает еще более изощренную, чем стандарт H.261, методику повышения качества изображения при меньшем объеме передаваемых данных, реализованную в стандартах MPEG-1 и MPEG-2. Помимо дифференциации вперед, стандарт MPEG-1 обеспечивает дифференциацию назад (backward differencing) и усреднение (averaging) фрагментов изображения. Даже на CD-ROM c одинарной скоростью передачи данных (1,2 Мбит/с) MPEG-1 позволяет добиться качества, сравнимого с качеством кассеты VHS, записанной на профессиональной аппаратуре. Кроме того, MPEG-1 нормирует кодирование аудиосигнала, синхронизированного с видеосигналом. 2.2.4.1.[10]
ВИДЕО MPEG
Цветное цифровое изображение из сжимаемой последовательности переводится в цветовое пространство YUV (YCbCr). Компонента Y представляет собой интенсивность, а U и V - цветность. Так как человеческий глаз менее восприимчив к цветности, чем к интенсивности, то разрешений цветовых компонент может быть уменьшено в 2 раза по вертикали, или и по вертикали и по горизонтали. К анимации и высококачественному студийному видео уменьшение разрешения не применяется для сохранения качества, а для бытового применения, где потоки более низкие, а аппаратура более дешевая, такое действие не приводит к заметным потерям в визуальном восприятии, сохраняя в то же время драгоценные биты данных.
Основная идея всей схемы - это предсказывать движение от кадра к кадру, а затем применить дискретное косинусное преобразование (ДКП), чтобы перераспределить избыточность в пространстве. ДКП выполняется на блоках 8х8 точек, предсказание движения выполняется на канале интенсивности (Y) на блоках 16х16 точек, или, в зависимости от характеристик исходной последовательности изображении (чересстрочная развертка, содержимое), на блоках 16х8 точек. Другими словами, данный блок 16х16 точек в текущем кадре ищется в соответствующей области большего размера в предыдущих или последующих кадрах. Коэффициенты ДКП (исходных данных или разности этого блока и ему соответствующего) квантуются, то есть делятся на некоторое число, чтобы отбросить несущественные биты. Многие коэффициенты после такой операции оказываются нулями. Коэффициент квантизации может изменяться для каждого "макроблока" (макроблок - блок 16х16 точек из Y-компонент и соответствующие блоки 8х8 в случае отношения YUV 4:2:0, 16х8 в случае 4:2:2 и 16х16 в случае 4:4:4. Коэффициенты ДКП, параметры квантизации, векторы движения и пр. кодируется по Хаффману с использованием фиксированных таблиц, определенных стандартом. Закодированные данные складываются в пакеты, которые формируют поток согласно синтаксису MPEG.
Соотношение кадров друг с другом
Существует три типа закодированных кадров. I-фремы - это кадры, закодированные как неподвижные изображения - без ссылок на последующие или предыдущие. Они используются как стартовые. P- фреймы - это кадры, предсказанные из предыдущих I- или P-кадров. Каждый макроблок в P- фрейме может идти с вектором и разностью коэффициентов ДКП от соответствующего блока последнего раскодированного I или P, или может быть закодирован как в I, если не соответствующего блока не нашлось.
И, наконец, существуют B- фреймы, которые предсказаны из двух ближайших I или P-фреймов , одного предыдущего и другого - последующего. Соответствующие блоки ищутся в этих кадрах и из них выбирается лучший. Ищется прямой вектор, затем обратный и вычисляется среднее между соответствующими макроблоками в прошлом и будущем. Если это не работает, то блок может быть закодирован как в I- фрейме.
Последовательность раскодированных кадров обычно выглядит как
I B B P B B P B B P B B I B B P B B P B ...
Здесь 12 кадров от I до I фрейма. Это основано на требовании произвольного доступа, согласно которому начальная точка должна повторяться каждые 0.4 секунды. Соотношение P и B основано на опыте.
Чтобы декодер мог работать, необходимо, чтобы первый P- фрейм в потоке встретился до первого B, поэтому сжатый поток выгдядит так:
0 x x 3 1 2 6 4 5 ...
где числа - это номера кадров. xx может не быть ничем, если это начало последовательности, или B- фреймы -2 и -1, если это фрагмент из середины потока.
Сначала необходимо раскодировать I- фрейм , затем P, затем, имея их оба в памяти, раскодировать B. Во время декодирования P показывается I- фрейм , B показываются сразу, а раскодированный P показывается во время декодирования следующего. [11]
Сжатие аудио
При сжатии аудио используются хорошо разработанные психоакустические модели, полученные из экспериментов с самыми взыскательными слушателями, чтобы выбросить звуки, которые не слышны человеческому уху. Это то, что называется "маскированием", например, большая составляющая в некоторой частоте не позволяет услышать компоненты с более низким коэфициентом в близлежащих частотах, где соотношение между энергиями частот, которые маскируются, описывается некоторой эмпирической кривой. Существуют похожие временные эффекты маскирования, а также более сложные взаимодействия, когда временной эффект может выделить частоту или наоборот.