Читаем Код. Тайный язык информатики полностью

В последние годы широкое распространение получили методы сжатия данных с потерями. Алгоритм сжатия с потерями не является обратимым, поскольку при его использовании некоторые исходные данные безвозвратно теряются. Вы вряд ли примените этот алгоритм к электронным таблицам или текстовым документам, так как в них каждое число и слово имеют значение. Однако вы, вероятно, не станете возражать против его применения к изображениям при условии, что потеря данных не окажет существенного влияния на результат. Именно поэтому методы сжатия данных с потерями основаны на психологических исследованиях, задача которых выявить, что важно для человеческого визуального восприятия, а что нет. Самые распространенные методы сжатия данных с потерями, применяемые для растровых изображений, известны под общим названием JPEG (Joint Photography Experts Group, «объединенная группа экспертов по фотографии»). Формат JPEG фактически объединяет несколько алгоритмов сжатия как с потерями, так и без.

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

Преобразовать растровое изображение в метафайл не так просто, а в случае сложного изображения вообще невозможно. Один из способов решения этой задачи — оптическое распознавание символов (Optical Character Recognition, OCR). Оно используется, когда нужно преобразовать в ASCII-коды растровое изображение некоторого текста (например, полученную по факсу или отсканированную печатную страницу). Программное обеспечение OCR анализирует точечные последовательности и определяет, каким символам они соответствуют. Из-за алгоритмической сложности этой задачи OCR-программы обычно не дают абсолютно точного результата. Еще менее точным является программное обеспечение, предназначенное для преобразования в ASCII-коды рукописного текста.

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

Цифровой звук произвел настоящий фурор в 1983 году благодаря появлению компакт-диска (compact-disk, CD), который стал самым успешным продуктом в истории потребительской электроники. Компакт-диск был разработан компаниями Philips и Sony и позволял хранить на одной стороне диска диаметром 12 сантиметров цифровые аудиофайлы общей длительностью 74 минуты. Такая длительность была выбрана для того, чтобы на компакт-диске могла уместиться Девятая симфония Бетховена.

Для кодирования звука подходит метод кодово-импульсной модуляции. Несмотря на сложное название, концептуально этот метод довольно прост.

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

В 1877 году Томас Эдисон изобрел фонограф, в котором для записи и воспроизведения звука на поверхности цилиндра, покрытого фольгой, создавались углубления, повторяющие форму звуковых волн. До появления компакт-диска эта техника записи звука практически не менялась, хотя цилиндры были заменены дисками, а оловянная фольга — сначала воском, а затем пластиком. Первые фонографы были полностью механическими, однако со временем для усиления звука в них стали использоваться электрические компоненты. Переменный резистор в микрофоне преобразует звук в электрический сигнал, а электромагнит в динамике превращает этот сигнал обратно в звук.

Электрический ток, с помощью которого кодируется звук, не похож на цифровые сигналы, о которых мы говорили. Звуковое давление непрерывно изменяется, в связи с чем меняется и напряжение. Электрический ток — аналог звуковой волны. Для преобразования аналогового сигнала в цифровой потребуется специальный аналого-цифровой преобразователь (АЦП), обычно реализуемый в виде микросхемы. Выходные цифровые сигналы АЦП, количество которых равно 8, 12 или 16, обозначают относительный уровень напряжения. Например, 12-битный АЦП преобразует входящий сигнал в число от 000h до FFFh, различая при этом 4096 уровней напряжения.

Перейти на страницу:

Похожие книги