Видеоконференции в сети INTERNETРефераты >> Программирование и компьютеры >> Видеоконференции в сети INTERNET
Стандарт 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, если это фрагмент из середины потока.