Методы сокрытия в графических изображениях с палитрой цветов



Использование палитры (еще говорят – отображения цветов) в графических форматах связанно с попыткой уменьшить размер хранимой информации. Вообще говоря, палитра впервые была применена в графических адаптерах, для упрощения их устройства и обеспечения большего разрешения при меньшем объеме оперативной памяти графического адаптера. Вслед за этим появились форматы хранения растровых графических изображений, основанные на использовании палитры, некоторые из которых активно используются и в наши дни. Ярким примером такого формата может служить GIF, который получил широкое распространение в сети Интернет и является неотъемлемой частью дизайна современных веб-страниц и Интернет рекламы. Количество передаваемых по сети файлов в формате GIF более чем в два раза превышает количество передаваемых страниц и писем (на смену устаревающего формата был разработан формат PNG, также позволяющий использовать палитру цветов, однако, он еще не получил большого распространения).

Каждая точка обычного растрового графического изображения задает интенсивность цветовых составляющих в каком-либо фиксированном цветовом пространстве (RGB, CMY, CMYK и т.д.). Если же формат хранения изображений использует палитру, то точки изображения могут принимать лишь один цвет из имеющихся в палитре. Палитра цветов – это набор из n элементов, каждый из которых задает (как и точка обычного изображения) интенсивность цветовых составляющих в каком-либо фиксированном цветовом пространстве (обычно RGB), при этом каждая точка изображения содержит лишь номер цвета из палитры, а не информацию о ее цвете в цветовом пространстве.

Приведем простейший пример изображения с палитрой. Будем рассматривать обычное 8 битное RGB изображение с размером 4 на 4 точки, состоящее из чередующихся в шахматном порядке точек зеленого и синего цвета. Его можно записать в виде матрицы c (R, G, B) элементами:

 

( 0,255, 0) ( 0, 0,255) ( 0,255, 0) ( 0, 0,255)

( 0, 0,255) ( 0,255, 0) ( 0, 0,255) ( 0,255, 0)

( 0,255, 0) ( 0, 0,255) ( 0,255, 0) ( 0, 0,255)

( 0, 0,255) ( 0,255, 0) ( 0, 0,255) ( 0,255, 0)

 

Для хранения такой матрицы необходимо 4*4*(3*8)=384 бита памяти. Введем палитру, состоящую из 2 цветов:

0 -> ( 0,255, 0)

1 -> ( 0, 0,255)

 

В этой палитре наше изображение примет вид:

 

0 1 0 1

1 0 1 0

0 1 0 1

1 0 1 0

 

А для его хранения в памяти необходимо 48 бит для хранения информации о используемой палитре и 16 бит для хранения самого изображения.


Дата добавления: 2020-12-12; просмотров: 41; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!