Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Методы сжатия графической информации






Изображения своеобразный тип данных, характеризуемый тремя особенностями:

  • Изображения (как и видео) обычно требует для хранения гораздо большего объема памяти, чем текст. Так, скромная, не очень качественная иллюстрация на обложке книги размером 500x800 точек, занимает 1.2 Мб - столько же, сколько художественная книга из 400 страниц. В качестве примера можно рассмотреть также, сколько тысяч страниц текста мы сможем поместить на CD-ROM, и как мало там поместится несжатых фотографий высокого качества. Эта особенность изображений определяет актуальность алгоритмов архивации графики.
  • Второй особенностью изображений является то, что человеческое зрение при анализе изображения оперирует контурами, общим переходом цветов и сравнительно нечувствительно к малым изменениям в изображении. Таким образом, мы можем создать эффективные алгоритмы архивации изображений, в которых декомпрессированное изображение не будет совпадать с оригиналом, однако человек этого не заметит. Данная особенность человеческого зрения позволила создать специальные алгоритмы сжатия, ориентированные только на изображения. Эти алгоритмы позволяют сжимать изображения с высокой степенью сжатия и незначительными с точки зрения человека потерями.
  • Мы можем легко заметить, что изображение, в отличие, например, от текста, обладает избыточностью в 2-х измерениях. Т.е. как правило, соседние точки, как по горизонтали, так и по вертикали, в изображении близки по цвету. Кроме того, мы можем использовать подобие между цветовыми плоскостями R, G и B в наших алгоритмах, что дает возможность создать еще более эффективные алгоритмы. Таким образом, при создании алгоритма компрессии графики мы используем особенности структуры изображения.

 

Как правило, все методы сжатия графических изображений разделяют на две категории: архивацию и компрессию.

Под архивацией понимают сжатие информации с возможностью ее дальнейшего восстановления.

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

Архивировать можно как растровую, так и векторную графику. Принцип архивации состоит в том, что программа анализирует наличие в сжимаемых данных одинаковых последовательностей и исключает их, записывая вместо повторяющегося фрагмента ссылку на предыдущий и аналогичный ему для того, чтобы была возможность восстановления. Хорошим примером графического объекта с большим количеством одинаковых последовательностей может стать фотография или рисунок с голубым небом в изображении или со сплошной однотонной заливкой. При таком подходе можно восстанавливать нужную информацию без потерь.

Компрессия же не гарантирует полного восстановления исходных данных, поэтому ее основная задача - не " убить" что-нибудь очень ценное в погоне за уменьшением объема. Обычно информация, подвергнутая компрессии, занимает значительно меньше объема, чем сохраненная методами архивации. Регулирование степени сжатия дает право на выбор: размер выходного файла или сохранение его качества.

Рассмотрим несколько алгоритмов сжатия данных, которые не вносят изменений в исходные файлы и гарантируют полное восстановление данных.

1. RLE. При этом методе кодирования изображение вытягивается в цепочку байт по строкам растра. Сжатие происходит за счёт того, что в исходном изображении встречаются цепочки одинаковых байт, они заменяются на пары: счетчик повторений и значение, что позволяет уменьшить изображение. RLE — используется в форматах PCX — в качестве основного метода и в форматах BMP, TGA, TIFF в качестве одного из доступных.

2. LZW (Lempel, Ziv, Welch). Сжатие по этому алгоритму осуществляется за счет одинаковых цепочек байт. В изображении ищутся повторяющиеся цепочки, делаются ссылки на ранее встречавшиеся. Метод LZW используется, например, при создании файлов формата GIF.

3. Deflate — это алгоритм сжатия без потерь, который использует комбинацию алгоритма LZ77 и алгоритма Хаффмана. LZ-Huffman — использует в формате PNG.

 

Наиболее популярным примером формата изображения, где используется сжатие с потерями является JPEG.

Принцип работы основан на особенностях восприятия человеческим глазом различных цветов и достаточно сложен с вычислительной точки зрения, так как занимает много процессорного времени. Кодирует файлы в несколько этапов. Во-первых, изображение условно разбивается на несколько цветовых каналов для дальнейшего анализа. Затем картинка разбивается на группы по 64 пиксела в каждой группе (она же - квадратный участок изображения размером 8х8 пикселей) для последующей обработки. Затем цвет пикселей специальным образом кодируется, исключаются дублирующая и избыточная информация, причем при описании цвета больше внимания уделяется скорее яркостной, чем цветовой составляющей, так как человеческий глаз воспринимает изменения яркости лучше, чем изменения конкретного цветового тона. Полученные данные сжимаются по RLE или LZW-алгоритму для достижения еще большей компрессии. В результате на выходе получаем файл иногда в десятки раз меньший, чем его неконвертированный аналог.

 

Сжатие видео — уменьшение количества данных, используемых для представления видеопотока. Сжатие видео позволяет эффективно уменьшать поток, необходимый для передачи видео по каналам радиовещания, уменьшать пространство, необходимое для хранения данных на носителе. Недостатки: при использования сжатия с потерями появляются характерные, иногда отчётливо видные артефакты — например, блочность (разбиение изображения на блоки 8x8 пикселей), замыливание (потеря мелких деталей изображения) и т. д. Существуют и способы сжатия видео без потерь, но на сегодняшний день они уменьшают данные недостаточно.

Сжатие было бы невозможно, если бы каждый кадр был уникален и расположение пикселов было полностью случайным, но это не так. Поэтому можно сжимать, во-первых, саму картинку — например, фотография голубого неба без солнца фактически сводится к описанию граничных точек и градиента заливки. Во-вторых, можно сжимать похожие соседние кадры. В конечном счёте, алгоритмы сжатия картинок и видео схожи, если рассматривать видео как трёхмерное изображение со временем как третьей координатой.

Видеокодек — программа/алгоритм сжатия (то есть уменьшения размера) видеоданных (видеофайла, видеопотока) и восстановления сжатых данных. Кодек — файл-формула, которая определяет, каким образом можно «упаковать» видеоконтент и, соответственно, проиграть видео.

 

Многие приемы сжатия аудио- и видеоинформации основываются на «обмане» органов чувств человека (зрение, слух) путем исключения избыточной информации, которую человек в силу своих физиологических особенностей не способен воспринять. Это компрессия с потерями. Эти методы не ставят цель абсолютно точно восстановить формы исходных сигналов. Их главная задача – достижение максимального сжатия сигнала при минимально заметных искажениях восстановленного после сжатия сигнала.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.