Рисунок размером 1024*512 пикселей сохранили в виде несжатого файла размером 1.5 Мб. Какое количество информации было использовано для кодирования цвета пикселя? Каково максимальное число цветов в палитре, соответствующей такой глубине цвета?

1

Ответы и объяснения

  • Участник Знаний
2013-02-02T06:11:44+00:00

Задачка простая, недавно здесь подобную решал. Чтобы её решить, нужно знать несколько базовых положений.

 

1. Для отображения цветовой гаммы, как правило, исользуется 3 цвета(красный, зелёный, синий).

2. Если для цвета выделено n бит, он может принимать 2^n оттенков. (это чистая математика(комбинаторика)).

3. Как следствие, макс количество цветов в палитре 2^n*2^n*2^n = 2^(3n)

 

Теперь можно решать задачу.

 

Пусть под цвет выделено n бит.

Так как всего цветов 3, на один пиксел будет 3*n бит, Следовательно, общий объем рисунка будет

1024 * 512 *( 3*n) = 512 K *(3*n)  = (1.5*n)Mбита (По определению 2^10 = 1024 = 1K) .

 

Вот, в принципе, и всё!

Но..... Дальше БОЛЬШИЕ сложности, так как не понятно, что написано в условии, что такое Мб - это мегаБИТ или МегаБАЙТ, поэтому придётся рассматривать 2 случая

1. МегаБИТ.

(1.5*n) = 1.5

n=1, то есть под цвет выделен 1 бит.

Макс количество цветов в палитре

2^(3n) = 2^3 = 8.

Да! всего 8 оттенков.

 

2. МегаБАЙТ, вспомним, что байт=8бит, получим

(1.5*n) = 1.5 *8, 

n=8, то есть под цвет выделен целый байт(8 бит)

Макс количество цветов в палитре

2^(3n)= 2^24= 16777216.

 

Вот и всё.

Да, в реальности, в настоящее время, как правило, под цвет выделено ОДИН БАЙТ, то есть случай 2 полностью соответствует принятому в настоящее время стандарту де-факто и в пикселе 3 байта.