Как правило, на изображении присутствуют большие поля "примерно одного цвета". Многократный повтор одинаковых точек несет не слишком много информации. Теоретически, именно это позволяет путем некоторых ухищрений (алгоритмов сжатия данных) уменьшить объем цифровой памяти, необходимый для хранения изображения.

Кроме того, принимая во внимание особенности человеческого восприятия, можно сознательно ухудшить некоторые параметры изображения, так что это будет "почти незаметно", и еще уменьшить размер требуемой памяти.

Наконец, видеоизображение (последовательность кадров) имеет избыточность по времени - каждый последующий кадр очень похож на предыдущий, что позволяет также экономить, не сохраняя повторно уже записанное ранее изображение. Существует множество алгоритмов сжатия изображения. Перечислим наиболее известные:



TIFF (Tagged Image File Format)


Стандарт "неухудшающего" сжатия. Точнее, целая группа стандартов, предусматривающая эффективное полностью обратимое сжатие изображения без потери качества. В системах видео не применяется, поскольку процесс сжатия занимает довольно большое время даже на самых мощных современных компьютерах, причем степень сжатия не так уж и высока.



фото алгоритмы сжатия

JPEG (Joint Photographic Experts Group)


Стандарт сжатия неподвижного изображения. Изначально предусматривает контролируемое но необратимое ухудшение качества. Основная идея - вся картинка разбивается на квадратики 8x8 точек, в каждом квадратике изображение раскладывается на гармоники (фурье-преобразование) и затем старательно сохраняются только основные гармоники, а значения остальных гармоник грубо округляются. В результате мелкие детали могут заметно искажаться. Приятной особенностью стандарта JPEG является то, что все используемые преобразования очень быстрые. На современном уровне развития электроники не представляет трудностей обработать полный кадр за 1/50 секунды. На иллюстрациях - степень ухудшения изображения при сжатии в 25, 50, 100 раз. Легко видеть, что цветные кадры сжимаются примерно вдвое лучше. Фактически, переход от ч/б изображения к цветному (RGB) увеличивает объем картинки всего в полтора раза, а не в три, как можно было подумать.



MJPEG (Motion JPEG)


Стандарт сжатия видеоизображения. На самом деле не представляет из себя ничего особенного - просто стандартизованный формат записи потока отдельных кадров, каждый из которых сжат по JPEG независимо от остальных.

Это не стандарт, а общий принцип, применяемый в большинстве нестандартных методик для сжатия видеоизображения. Полностью передаются только некоторые кадры, например, каждый десятый, а для остальных передаются лишь изменения "от кадра к кадру".



фото алгоритмы сжатия видеоизображения

MPEG (Moving Picture Experts Group)


Стандарт сжатия видеоизображения, изначально ориентированный на "медленные" средства передачи. Например, для проигрывания видео компакт-дисков. Эта первая редакция (MPEG-1) подразумевала очень невысокое разрешение (352x240 точек) при частоте обновления кадров 30 раз в секунду. Алгоритм весьма сложный, в частности, если в каком-то месте кадра произошло изменение по сравнению с предыдущим кадром, то сначала предпринимается попытка обнаружить "куда сместился" исходный объект. Например, если машина едет в поле зрения, то совсем необязательно каждый раз перерисовывать всю машину - ее изображение однажды уже сохранено, теперь надо только указать, куда она сместилась, и немножко подправить изображение вследствие изменения ракурса. Недостаток у MPEG только один. Стандарт изначально разрабатывался несимметричным. Воспроизведение (декодирование) MPEG данных возможно в реальном времени с помощью относительно дешевых устройств. Даже универсальные процессоры типа Intel Pentium успевают делать такое декодирование программно. А вот кодировать MPEG в реальном времени практически невозможно. Особенно расширенный вариант стандарта (MPEG-2), не имеющий ограничения на размер кадра и позволяющий достигать еще большей степени сжатия. Большинство применяемых ныне промышленных "кодеров" затрачивают на сжатие полуторачасового фильма до нескольких суток. Конечно, для тиражирования видеодисков это приемлемо, лишь бы сжалось поплотнее. (Примечание: данный текст написан в прошлом веке. Ныне даже общедоступные Pentium-4 могут в реальном времени сжимать полное видео по MPEG-4).



Автор: А.М. Омельянчук
технический директор
ЗАО "Компания Безопасность"
Читайте также: