Кодирование изображений
Как и все виды информации, изображения в компьютере закодированы в виде двоичных последовательностей. Используют два принципиально разных метода кодирования, каждый из которых имеет свои достоинства и недостатки.
И линия, и область состоят из бесконечного числа точек. Цвет каждой из этих точек нам нужно закодировать. Техника формирования изображений из мелких точек является наиболее распространенной и называется растровой.
Представим себе, что на изображение наложена сетка, которая разбивает его на квадратики. Такая сетка называется растром. Теперь для каждого квадратика определим цвет.
У нас получился так называемый растровый рисунок, состоящий из квадратиков-пикселей.
Пиксель (англ. pixel = picture element, элемент рисунка) – это наименьший элемент рисунка, для которого можно задать свой цвет.
Разбив «обычный» рисунок на квадратики, мы выполнили его дискретизацию – разбили единый объект на отдельные элементы. Действительно, у нас был единый и неделимый рисунок. В результаты мы получили дискретный объект – набор пикселей.
Чтобы уменьшить потери информации, нужно уменьшать размер пикселя, то есть увеличивать разрешение.
Разрешение – это количество пикселей, приходящихся на дюйм размера изображения.
Разрешение обычно измеряется в пикселях на дюйм (используется английское обозначение ppi = pixels per inch). Например, разрешение $254$ ppi означает, что на дюйм ($25,4$ мм) приходится $254$ пикселя, так что каждый пиксель «содержит» квадрат исходного изображения размером $0,1×0,1$ мм. Чем больше разрешение, тем точнее кодируется рисунок (меньше информации теряется), однако одновременно растет и объем файла. Но кроме растровой графики, в компьютерах используется еще и так называемая векторная графика.
Векторные изображения создаются только при помощи компьютера и формируются не из пикселей, а из графических примитивов (линий, многоугольников, окружностей и др.).
Векторная графика - это чертежная графика. Она очень удобна для компьютерного «рисования» и широко используется дизайнерами при графическом оформлении печатной продукции, в том числе создании огромных рекламных плакатов, а также в других подобных ситуациях. Векторное изображение в двоичном коде записывается как совокупность примитивов с указанием их размеров, цвета заливки, места расположения на холсте и некоторых других свойств.
Например, чтобы записать на запоминающем устройстве векторное изображение круга, компьютеру достаточно в двоичный код закодировать тип объекта (окружность), координаты его центра на холсте, длину радиуса, толщину и цвет линии, цвет заливки.
В растровой системе пришлось бы кодировать цвет каждого пикселя. И если размер изображения большой, для его хранения понадобилось бы значительно больше места на запоминающем устройстве.
Тем не менее, векторный способ кодирования не позволяет записывать в двоичном коде реалистичные фото. Поэтому все фотокамеры работают только по принципу растровой графики. Рядовому пользователю иметь дело с векторной графикой в повседневной жизни приходится не часто.
Кодирование звуковой информации
Любой звук, слышимый человеком, является колебанием воздуха, которое характеризируется двумя основными показателями: частотой и амплитудой. Амплитуда колебаний - это степень отклонения состояния воздуха от начального при каждом колебании. Она воспринимается нами как громкость звука. Частота колебаний - это количество отклонений состояний воздуха от начального за единицу времени. Она воспринимается как высота звука.
Так, тихий комариный писк - это звук с высокой частотой, но с небольшой амплитудой. Звук грозы наоборот имеет большую амплитуду, но низкую частоту.
Схему работы компьютера со звуком в общих чертах можно описать так. Микрофон превращает колебания воздуха в аналогичные по характеристикам электрических колебаний.
Звуковая карта компьютера преобразовывает электрические колебания в двоичный код, который записывается на запоминающем устройстве. При воспроизведении такой записи происходит обратный процесс (декодирование) - двоичный код преобразуется в электрические колебания, которые поступают в аудиосистему или наушники.
Динамики акустической системы или наушников имеют противоположное микрофону действие. Они превращают электрические колебания в колебания воздуха.
Принцип разделения звуковой волны на мелкие участки лежит в основе двоичного кодирования звука. Аудиокарта компьютера разделяет звук на очень мелкие временные участки и кодирует степень интенсивности каждого из них в двоичный код. Такое дробление звука на части называется дискретизацией.
Одной из важных характеристик процесса кодирования звука является частота дискретизации, которая представляет собой количество измерений уровня сигнала за $1$ секунду. Чем выше частота дискретизации, тем точнее фиксируется геометрия звуковой волны и тем качественней получается запись.
В процессе кодирования звуковой информации непрерывный сигнал заменяется дискретным, то есть преобразуется в последовательность электрических импульсов, состоящих из двоичных нулей и единиц.
Качество записи зависит также от количества битов, используемых компьютером для кодирования каждого участка звука, полученного в результате дискретизации. Количество битов, используемых для кодирования каждого участка звука, полученного при дискретизации, называется глубиной звука.
Чем выше частота и глубина дискретизации звука, тем более качественно будет звучать оцифрованный звук. Самое низкое качество оцифрованного звука, которое соответствует качеству телефонной связи, получается, когда частота дискретизации равна $8000$ раз в секунду, глубина дискретизации $8$ битов, что соответствует записи одной звуковой дорожки (режим «моно»). Самое высокое качество оцифрованного звука, которое соответствует качеству аудио-CD, достигается, когда частота дискретизации равна $48000$ раз в секунду, глубина дискретизации $16$ битов, что соответствует записи двух звуковых дорожек (режим «стерео»).
Кодирование видеозаписи
Поскольку видеоинформация состоит из звуковой и графической компоненты, то и для обработки видеоматериалов требуется очень мощный персональный компьютер. Под обработкой видеоматериалов понимается процесс оцифровки, то есть кодирования видеоинформации.
Представим, что в нашем распоряжении есть какая-либо видеоинформация. Любую видеоинформацию можно дифференцировать, то есть разложить на две ключевые составляющие: звуковую и графическую. Следовательно, операция кодирования видеоинформации будет заключаться в сочетании операций кодирования звуковой информации и кодирования графической информации.
Кодирование звуковой дорожки видеофайла в двоичный код осуществляется по тем же алгоритмам, что и кодирование обычных звуковых данных. Принципы кодирования видеоизображения схожи с кодированием растровой графики, хотя и имеют некоторые особенности.
Как известно, видеозапись - это последовательность быстро меняющихся статических изображений (кадров). Одна секунда видео может состоять из $25$ и больше картинок. При этом, каждый следующий кадр лишь незначительно отличается от предыдущего.
Учитывая эту особенность, алгоритмы кодирования видео, как правило, предусматривают запись лишь первого (базового) кадра. Каждый же последующий кадр формируются путем записи его отличий от предыдущего.
После проведения операции цифрования звука и изображений на выходе получается бинарный, двоичный код, который будет понятен процессору персонального компьютера. Именно в формате двоичного кода наша видеоинформация и будет храниться на электронных носителях.
Если мы захотим проиграть видеоконтент на нашем персональном компьютере или другом устройстве, то нам придется провести операцию восстановления информации, то есть осуществить преобразование информации, записанной в двоичном коде в формат понятный человеку.
Единственное, на чем хотелось бы акцентировать внимание, это на том, что при просмотре видеоинформации мы одновременно и видим «картинку» и слышим звук.
Чтобы добиться синхронного исполнения звука и смены графических изображений, процессор персонального компьютера выполняет эти операции в различных потоках. За счет этого происходит запараллеливание двух сигналов: звукового и графического, которые в совокупности образуют видеопоток.