Показать меню
Показать категории

Чем формат JPEG отличается от BMP?

+1 голос
1,055 просмотров
спросил(а) enginr (111 баллов) в категории Компьютеры и ПО

1 Ответ

+1 голос
 
Лучший ответ

Формат JPEG(Joint Photographic Expert Group) – метод сжатия, до разработки которого все прочие методы кодирования были практически не пригодны для сжатия изображений содержащих сотни тысяч цветов. JPEG является методом сжатия с потерей информации. И хотя он не был определен в качестве стандартного формата графического файла, на основе создано много новых форматов и улучшено немало старых.

Принципы JPEG-сжатия:

Де-факто, при сжатии происходит преобразование из RGB в YCbCr (YUV). Далее, для каналов Cb и Cr (что отвечают за цвет), выполняется функция «прореживания» (subsampling), которая заключается в присвоении каждому блоку (из 2х2 пикселей) усреднённых значений Cb и Cr. При этом на каждый такой 2х2 блок, вместо 12 значений (4 Y, 4 Cb и 4 Cr) используется всего 6 (4 Y и по одному усреднённому Cb и Cr). Иногда, с целью повышения качества, прореживание может выполняться лишь в каком-то одном направлении — по вертикали (|4|4|0|), горизонтали (|4|2|2|), либо вовсе не выполняться (|4|4|4|).

Далее компонент Y (яркость) и компоненты Cb и Cr (цвет) разбиваются на блоки 8х8 пикселов. Каждый такой блок подвергается дискретному косинусному преобразованию (ДКП), а коэффициенты, что получены квантуются (разбиваются), каждый по своей матрице квантования. Затем полученные данные пакуются с использованием кодирования серий Хаффмана.

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


 

BMP(Bit Map – “битовая карта«родной» формат для графических файлов для OC Windows компании Microsoft, по этой причине весьма точно соответствует внутреннему формату системы. Является форматом изображения растрового массива зависит от количества битов, используемых для кодирования цвета каждого пкселя (1, 4, 8, 16, 24-бит x пиксель)

Например, при изображении с 256 цветами под каждый пиксель отводится 1байт(8 бит), который содержит номер цвета в таблице цветов файла.

Таким образом, если в цветовой модели RGB в таблице цветов файла BMP храниться значение |R|G|B|255|0|0|то значению пикселя 0 (в растровом массиве) будет поставлен в соответствие ярко-красный цвет.

Файлы BMP с глубиной представления 16 и 24 бит на пиксель не имеют таблицы цветов. В них значения пикселей растрового массива непосредственно задают значения цветов RGB. Пиксели в формате изображения хранятся, как правило, с нижней строки изображения. Если число байтов в строке развертки нечетное, то к такой строке добавляется еще один байт, чтобы «выровнять» данные растрового массива.

ответил(а) Александра-lab (404 баллов)

Похожие вопросы

0 голосов
0 ответов
0 голосов
1 ответ
+1 голос
1 ответ
спросил(а) enginr (111 баллов) в категории Компьютеры и ПО
+1 голос
1 ответ
спросил(а) enginr (111 баллов) в категории Компьютеры и ПО
...