Учебник MAXIMUM Education

Интернет-энциклопедия по школьным предметам от Maximum Education. Учебник поможет решить домашнее задание, подготовиться к контрольной и вспомнить прошлые темы.

10 класс
Информатика

Кодирование изображений и звукового файла

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

Векторное кодирование изображений

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

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

Векторное изображение имеет ряд достоинств.

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

Во-вторых, векторные файлы имеют сравнительно небольшой размер, так как компьютер запоминает только начальные и конечные координаты элементов изображения, что достаточно для описания элементов в виде математических формул. Размер файла, как правило, не зависит от размера изображаемых объектов, но зависит от сложности изображения: количества объектов на одном рисунке. А понятие «разрешение» не применимо к векторным изображениям.

Растровое кодирование изображений

Растровые изображения – это изображения, которые состоят из множества точек различного цвета (пикселей), образующих строки и столбцы.

Пиксель – это минимальный участок изображения, цвет которого можно задать независимым образом.

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

Качество растрового изображения зависит от размера изображения – пространственного разрешения (количества пикселей по горизонтали и вертикали) и количества цветов, которые можно задать для каждого пикселя.

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

Программы растровой графики работают с пикселями экрана, которые мы видим при увеличении картинки.

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

Нахождение количества цветов и объема изображения

Любое изображение имеет объем, который можно найти по формуле:

\(V = i \bullet m \bullet n\),

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

m – количество точек в строке; n – количество строк.

Максимальное количество цветов в изображении можно вычислить по формуле:

\(K = 2^{i},\)

где K – количество цветов в изображении, i – глубина кодирования в битах.

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

Пример.

Определите объем (в Кбайт) растрового изображения размером \(160 \times 320\) при глубине цвета 8 бит.

Решение. Используем формулу для нахождения объема изображения:

\(V = i \bullet m \bullet n\)

\(V = 8 \bullet 160 \bullet 320 = 8 \bullet 16 \bullet 10 \bullet 32 \bullet 10 = 2^{3} \bullet 2^{4} \bullet 2^{5} \bullet 100 = 2^{12} \bullet 100\) бит

Переведем результат в Кбайты:

\(\frac{2^{12} \bullet 100\ }{8 \bullet 1024} = \frac{2^{12} \bullet 100\ }{2^{3} \bullet 2^{10}} = \frac{100}{2} = 50\) Кбайт

Кодирование звуковой информации

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

Частота дискретизации – количество измерений уровня сигнала в единицу времени.

Чем большее количество измерений производится за 1 секунду (чем больше частота дискретизации), тем точнее процедура двоичного кодирования и качественнее запись.

Единицы измерения \(1\ Гц = {1\ с}^{- 1}\), 1 килоГерц = 1000 Герц.

Глубина кодирования – количество уровней сигнала, измеряется в битах.

Современные звуковые карты обеспечивают 16-битную глубину кодирования звука.

Количество различных уровней сигнала (состояний при данном кодировании) можно рассчитать по формуле:

\(K = 2^{i}\),

где i – глубина кодирования.

Формула для расчета размера цифрового моноаудиофайла:

𝑉 = 𝑁 ∙ 𝑖 ∙ 𝑡,

где N – частота дискретизации (Гц); i – глубина звука (бит); t – время звучания (секунды).

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

Сейчас же вы можете замечать, что в каждом наушнике играют определенные звуки, и музыка кажется нам более объемной. Так на практике можно различать моно- и стерео-записи.

Помимо одноканальной и двухканальной записей, в условиях задач можно встретить четырехканальную (квадро) и восьмиканальную запись. Это всего лишь значит, что объем нужно будет умножить на 4 или 8.

Пример.

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

Решение. Переведем частоту дискретизации требуемую единицу измерения:

N = 8 кГц = 8 000 Гц

Найдем размер файла, используя формулу и учитывая, что запись двухканальная:

𝑉 = 𝑁 ∙ 𝑖 ∙ 𝑡

𝑉 = 2 ∙ 8 000 ∙ 16 ∙ 12 = 2 ∙ 8 ∙ 1000 ∙ 16 ∙ 3 ∙ 4 = 2 ∙ 23 ∙ 1000 ∙ 24 ∙ 3 ∙ 22 = 210 ∙ 3 ∙ 1000 бит

Переведем в нужную единицу измерения:

𝑉 = 210 ∙ 3 ∙ 1000/ 213 = 3 ∙ 1000/ 23 = 375 Кбайт.