Кодирование изображений

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

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

N = 2i

где:

  • i — глубина кодирования (количество бит, занимаемых одним пикселем);

  • N — количество цветов в палитре.

В простейшем случае (чёрно-белое изображение без градаций серого) палитра состоит из двух цветов — чёрного и белого. Каждая точка экрана может принимать одно из двух состояний, поэтому:

N = 2i → 2 = 2i → i = 1 бит

Наиболее распространёнными значениями глубины цвета при кодировании цветных изображений являются 8, 16 или 24 бита на точку. Зная глубину цвета, по формуле можно вычислить количество цветов в палитре.

Таблица 3. Глубина цвета и количество цветов в палитре

Глубина цвета, i бит Количество цветов в палитре, N
1 21 = 2
8 28 = 256
16 216 = 65 536
24 224 = 16 777 216

Для подсчёта количества информации растрового изображения используется формула:

V = H × W × i

где:

  • V — информационный вес (объём) изображения;

  • H — высота изображения в пикселях;

  • W — ширина изображения в пикселях;

  • i — информационный вес одного пикселя (глубина цвета).


Пример 1

Цветное (с палитрой из 256 цветов) растровое графическое изображение имеет размер 10 × 10 точек. Какой информационный объём имеет изображение?

Дано:
N = 256 (цветов)
H = 10 (точек)
W = 10 (точек)
i пикселя = ? (бит)
V изображения = ? (бит)
Решение:
V = H × W × i, N = 2i
256 = 2i = 28, значит i = 8 (бит) = 1 (байт)
V = 10 × 10 × 1 = 100 (байт)

Ответ: 100 байт.


Пример 2

Сканируется цветное изображение размером 10 × 10 см. Разрешающая способность сканера 1200 dpi и глубина цвета 24 бита. Какой информационный объём будет иметь полученный графический файл?

Дано:
H = 10 (см)
W = 10 (см)
dpi = 1200 (точек)
i пикселя = 24 (бита)
V изображения = ? (бит)

Решение:
10 см ≈ 4 дюйма
V = H × W × i × dpi
V ≈ (4 × 4 дюйма) × 1200 (точек) × 3 (байта) ≈ 57 600 (байт) ≈ 56,25 (Кбайт)

Ответ: 56,25 Кбайт.


Кодирование звука

Размер цифрового моноаудиофайла (V) вычисляется по формуле:

V = d × t × i

где:

  • d — частота дискретизации (Гц);

  • t — время звучания или записи (с);

  • i — глубина кодирования (бит).

Размер цифрового стереоаудиофайла (V) вычисляется по формуле:

V = 2 × d × t × i

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

Частота дискретизации измеряется в герцах (Гц) и килогерцах (кГц):

1 кГц = 1000 Гц

Частота дискретизации, равная 100 Гц, означает, что за одну секунду проводится 100 измерений громкости звука.


Пример 3

Какой информационный объем в Кб имеет моноаудиофайл, длительность звучания которого 1 секунда, при среднем качестве звука (16 бит, 23,04 кГц)?

Дано:
t = 1 (с)
i = 16 (бит)
d = 23,04 (кГц) = 23 040 Гц
V = ? (бит)
Решение:
V = d × t × i
V = 23 040 × 1 × 16 = 368 640 (бит) = 46 080 (байт) = 45 (Кб)

Ответ: 45 Кб.


Пример 4

Определить информационный объем стереоаудиофайла длительностью звучания 1 секунда при высоком качестве звука (16 бит, 48 кГц).

Дано:
t = 1 (с)
i = 16 (бит)
d = 48 (кГц) = 48 000 Гц
V = ? (бит)
Решение:
V = 2 × d × t × i
V = 2 × 48 000 × 1 × 16 = 1 536 000 (бит) = 192 000 (байт) = 187,5 (Кб)

Ответ: 187,5 Кб.


Кодирование видео

Размер видео вычисляется по формуле:

I = H × W × i × v × t

где:

  • I — информационный объём видео;

  • H, W — высота и ширина изображения в пикселях;

  • i — глубина цвета (количество бит на кодирование цвета одного пикселя);

  • v — частота кадров в секунду;

  • t — время (с).


Пример 5

Определите в мегабайтах объём 1 секунды видео с размерами кадра 256 × 512, глубиной цвета 16 бит, скоростью воспроизведения 25 кадров в секунду.

Дано:
t = 1 (с)
H × W = 256 × 512 (пикс.)
i = 16 (бит)
v = 25 (кадров в секунду)
I = ? (Мб)
Решение:
I = H × W × i × v × t
I = 28 × 29 × 24 × 25 = 221 × 25 (бит) = 28 × 25 (Кб)
= 2−2 × 25 = 25/4 = 6,25 (Мб)

Ответ: 6,25 Мб.


Дополнительно: видео со звуком

На видео часто накладывается звук. В этом случае к информационному объёму видео нужно прибавить информационный объём звука.

Информационный объём видео со звуком:

I видео = I графики × v × t + I звука

где:

  • v — частота кадров в секунду;

  • t — время (с).

I графики = H × W × i

где:

  • H, W — высота и ширина изображения в пикселях;

  • i — глубина цвета (количество бит, выделенных на кодирование цвета одного пикселя).

I звука = v × i × Ch × t

где:

  • v — частота дискретизации (Гц);

  • i — разрядность (бит);

  • t — время (с);

  • Ch — количество параллельных потоков (1 — моно, 2 — стерео, 4 — квадро).


Пример дополнительный

Какой объём будет иметь видео, передаваемое с разрешением кадра 512 × 256 пикселов с 16-битовой глубиной цвета, скоростью воспроизведения 24 кадра в секунду и длительностью 2 минуты. Известно, что стереозвук, наложенный на видео, имеет 256 уровней громкости, а частота дискретизации равна 8 192 Гц.

Дано:
Графика:
H × W = 512 × 256 (пикс.)
i = 16 (бит)
v = 24 (кадра в секунду)
t = 5 (мин) = 120 (с)

Звук:
Ch = 2
N = 256 → i = 8 (бит)
v = 8 192 (Гц)
t = 2 (мин) = 120 (с)
I видео = ? (Мб)

Решение:
I видео = I графики × v × t + I звука
I графики = H × W × i = 29 × 28 × 24 = 221 (бит) = 2−2 (Мб) = 0,25 (Мб)
I звука = v × i × Ch × t = [213] × [23] × [21] × [23 × 15] = 220 × 15 (бит)
I звука = 2−3 × 15 = 1,875 (Мб)
I видео = 0,25 (Мб) × 24 (к/с) × 120 (с) + 1,875 (Мб) = 1350 (Мб)

Ответ: I видео = 1350 (Мб).

Основное задание

Дополнительное задание