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



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

После разбивки на точки цвет каждого пикселя кодируется в бинарный код и записывается на запоминающем устройстве.

Первая цифровая фотокамера, созданная в 1975 г. инженерами компании Kodak, весила 3 кг, делала черно-белые снимки размером 100Х100 пикселей и сохраняла их в двоичном коде на магнитную ленту. Запись одного снимка длилась дольше 20 секунд.

Если говорят, что размер изображения составляет, например, 512 х 512 точек, это значит, что оно представляет собой матрицу, сформированную из 262144 пикселей (количество пикселей по вертикали, умноженное на количество пикселей по горизонтали).

Прибором, "разбивающим" изображения на пиксели, является любая современная фотокамера (в том числе веб-камера, камера телефона) или сканер.

И если в характеристиках камеры значится, например, "10 MegaPixels", значит количество пикселей, на которые эта камера разбивает изображение для записи в двоичном коде, - 10 миллионов.

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

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

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

Алгоритмов записи цвета в двоичном коде существует несколько. Самым распространенным из них является RGB. Эта аббревиатура – первые буквы названий трех основных цветов: красного – англ.Red, зеленого – англ. Green, синего – англ. Blue. Режим представления цветной графики в системе RGB с использованием 24 разрядов (по 8 разрядов для каждого из трех основных цветов) называется полноцветным.

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

Чем больше битов выделяется для кодирования пикселя, тем больше вариантов смешивания этих трех каналов можно использовать и тем значительнее будет цветовая насыщенность изображения.

Цветовое разнообразие пикселей, из которых состоит изображение, называется глубиной цвета.

Если для кодирования каждого пикселя какого-то изображения выделяется 8 битов двоичного кода, цветовое разнообразие составит 256 цветов.

Глубина цвета 12-битов даст 4096 цветов, 16-битов - 65536 цветов, 18-битов - 262144 цветов.

Максимальная глубина цвета, используемая в компьютерной технике – 24 бита. Такую глубину часто называют TrueColor ("Настоящий цвет"). Она позволяет отобразить около 16,7 млн. цветов. Глаз человека не способен воспринимать большее их количество.

Для полноцветного режима в системе CMYK необходимо иметь 32 разряда (четыре цвета по 8 разрядов).

 

Но кроме растровой графики, в компьютерах используется еще и так называемая векторнаяграфика.

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

Зачем нужна векторная графика? В известной детской песенке поется, что для изображения "человечка" достаточно нарисовать всего две "палки" и "огуречек". А представьте, насколько трудно вручную составить человечка из большого числа точек.

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

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

Например, чтобы записать на запоминающем устройстве векторное изображение круга, компьютеру достаточно в двоичный код закодировать тип объекта (окружность), координаты его центра на холсте, длину радиуса, толщину и цвет линии, цвет заливки.

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

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


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

Любой звук, слышимый человеком, является колебанием воздуха, которое характеризируется двумя основными показателями: частотой и амплитудой.

Амплитуда колебаний – это степень отклонения состояния воздуха от начального при каждом колебании. Она воспринимается нами как громкость звука.

Частота колебаний – это количество отклонений состояний воздуха от начального за единицу времени. Она воспринимается как высота звука.

Так, тихий комариный писк – это звук с высокой частотой, но с небольшой амплитудой. Звук грозы наоборот имеет большую амплитуду, но низкую частоту.

Если графически изобразить звуковую волну, она будет выглядеть следующим образом:

Схему работы компьютера со звуком в общих чертах можно описать так.

Микрофон превращает колебания воздуха в аналогичные по характеристикам электрические колебания.

Звуковая карта компьютера "умеет" преобразовывать электрические колебания в двоичный код, который записывается на запоминающем устройстве. При воспроизведении такой записи происходит обратный процесс (декодирование) – двоичный код преобразуется в электрические колебания, которые поступают в аудиосистему или наушники.

Динамики акустической системы или наушников имеют противоположное микрофону действие. Они превращают электрические колебания в колебания воздуха.

Но каким же образом звуковая карта преобразовывает электрические колебания в двоичный код?

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

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

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

Описанный принцип разделения звуковой волны на мелкие участки и лежит в основе двоичного кодирования звука.

Аудиокарта компьютера разделяет звук на очень мелкие временные участки и кодирует степень интенсивности каждого из них в двоичный код. Такое "дробление" звука на части называется дискретизацией. Чем выше частота дискретизации, тем точнее фиксируется геометрия звуковой волны и тем качественней получается запись.

Так, простая речь (например, диктофонная запись) нормально воспринимается человеком, если частота дискретизации при кодировании была не ниже 8000 Гц (8 КГц). То есть, каждая секунда такой записи в двоичном коде должна состоять как минимум из 8000 частей.

Музыкальные же произведения, хранимые в компьютере, должны иметь еще более высокую частоту дискретизации. При записи стандартных звуковых CD она составляет минимум 44,1 КГц (44100 Гц).

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

Представим, например, что для кодирования каждого такого участка компьютер использует 8 битов. Как известно, 8-битная ячейка может принимать одно из 256 значений. Но вдруг разнообразие интенсивности участков, полученных при дискретизации какого-то звука, оказалось более широким (например, 512 вариантов). В таком случае, компьютер "округлит" интенсивность участков до ближайших доступных значений чтобы "уложиться" в 256 вариантов и качество записи получится низким.

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

Глубины звука в 8-битов достаточно для кодирования простой речи. Но музыкальные произведения с такой глубиной будут звучать отвратительно. Поэтому гораздо чаще встречаются звуковые файлы, закодированные с глубиной 16, 24 или даже 32 бита.

Следует учитывать, что далеко не все устройства, предназначенные для воспроизведения "цифрового" звука, могут работать с файлами, закодированными с высокой частотой дискретизации и/или большой глубиной звука. Такие файлы могут проигрываться на одном компьютере, и "не открываться" на другом (если звуковая карта не поддерживает настолько высокий уровень дискретизации или глубины звука).

 


Дата добавления: 2018-06-01; просмотров: 1885; Мы поможем в написании вашей работы!

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






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