Общие сведения о цифровом видео
Глубина пиксела
Поскольку компьютер оперирует исключительно цифрами, то для описания интенсивности цвета отдельного пиксела он применяет определенное числовое значение, которое является целым числом, т. е. – 0, 1, 2 и т. д. К примеру, чисто белый цвет в черно-белых рисунках будет описываться нулевой интенсивностью, чисто черный – некоторым максимальным числом, а серые цвета – промежуточными значениями (в зависимости от их оттенка). Важным параметром, влияющим на качество представления изображения, является именно это максимальное значение интенсивности, которое (за вычетом единицы) называется глубиной пиксела (pixel depth).
Если глубина пиксела равна, к примеру – 128, то это означает, что (кроме белого и черного цветов, интенсивность которых, по определению, равна 0 и 127 соответственно) возможно представить на экране компьютера лишь 128-2 = 126 оттенков серого цвета. Промежуточные цвета отобразить будет невозможно, и (если таковые присутствовали в исходном изображении до оцифровки) они будут заменены наиболее близким оттенком из этих 126 градаций. В то же время для изображений с глубиной пиксела равной 256, возможно отобразить в два раза больше оттенков, и поэтому такое изображение будет, скорее всего, существенно более естественным.
Минимально возможная глубина пиксела, равная 2, позволяет представить лишь два цвета – черный и белый – и подходит для графического хранения черно-белых документов с линейной графикой (line art).
Примечание
В качестве градаций глубины пиксела выбираются числа 2…..128, 256 и т. д., т. к. все они являются степенями цифры 2, обеспечивая наиболее эффективное хранение данных на компьютере (оперирующем изначально числами в двоичном представлении). Напомним читателю, что один байт информации как раз эквивалентен хранению одного из чисел диапазона 0…255.
Качество (компрессия)
Хранение всей информации о том или ином изображении (т. е. о цвете каждого его пиксела) зачастую или невозможно, или неэффективно. Например, рисунок размером 800x600 пикселов требует записи информации о 800x600 = 480 000 пикселах. Если использовать глубину пиксела, равную 256 (т. е. кодировать каждый пиксел одним байтом), то размер файла, хранящего изображение (в оттенках серого цвета), будет равен почти половине мегабайта.
Примечание
Несколько забегая вперед отметим, что для хранения такого же цветного изображения потребуется файл уже в три раза большего размера (почти 1.5 Мбайт), а для хранения одной секунды цветного видео с кадром такого качества и типичной частотой кадров 24 кадра/с целых 40 Мбайт!
Чтобы уменьшить размеры файлов, хранящих изображения, применяются специальные программы, называемые компрессорами, или, по-другому, кодеками (codec – от англ. compressor/decompressor). Процедуру уменьшения размера медиа-файла называют компрессией или сжатием. Как правило, при сжатии некоторая часть информации о рисунке теряется, и его качество соответственно понижается. Многие программы-компрессоры позволяют регулировать степень ухудшения рисунков путем варьирования параметра, называемого качеством сжатия, которое обычно измеряется в процентах. Очевидно, что чем сильнее сжато изображение (т. е. чем меньше получившийся медиа-файл), тем хуже будет его качество.
Все сказанное о рисунках в полной мере (и даже сильнее, т. к. при компрессии может учитываться дополнительная информация о последовательностях кадров) относится и к видеофайлам. Как правило, эффективность сжатия существенно зависит от структуры самого изображения, и правильный подбор кодека зачастую позволяет достичь просто фантастических успехов в улучшении качества изображений. Очевидно, что следует выбирать такие кодеки и так регулировать их параметры, чтобы, с одной стороны, обеспечить хорошее качество изображения, а с другой – скорость расчетов и приемлемый физический размер медиа-файла. Однако, зачастую, идеальный подбор кодека является "почти искусством" и под силу только очень опытным пользователям.
Цвет
Ограничимся самыми общими упоминаниями о технологии компьютерного отображения цветных изображений. Как известно, человеческий глаз устроен таким образом, что способен раздельно воспринимать три цвета, называемых основными: красный, зеленый и синий. Какой-либо предмет, имеющий определенный цвет, воспринимается нашим зрением как определенная комбинация этих основных цветов. Например, белый цвет ассоциируется нами как смесь всех трех основных цветов в максимальной равной пропорции, черный – как комбинация нулевых интенсивностей основных цветов, чисто синий цвет – как комбинация максимальной пропорции синего и нулевой – красного и зеленого, и т. д.
Именно на этом принципе и построено компьютерное представление цвета. Каждый пиксел цветного изображения кодируется тремя числами – сочетанием трех основных цветов: красного, зеленого и синего. Такую систему кодирования цвета называют моделью RGB (от англ. Red, Green, Blue – красный, зеленый, синий). Как правило, каждый цвет кодируется одним байтом информации, т. е. пропорции цветов представляются числами от 0 до 255. Разумеется, такая система передачи цвета является дискретной, т. е. не каждый имеющийся в природе цвет (число оттенков которого бесконечно) можно представить на компьютере. В этом смысле цифровое представление цвета имеет те же плюсы и минусы, что и рассмотренная нами выше передача интенсивности черно-белых изображений.
Примечание
Некоторые рисунки хранят информацию о цвете в других системах, например, CMYK-модели (голубой, пурпурный, желтый и черный), часто применяемой в бумажной полиграфии. Однако для представления на экране монитора компьютера сочетание этих цветов все равно пересчитывается в комбинацию основных цветов RGB.
Говоря о технологии передачи цвета на компьютере, нельзя не сказать о том, что она тесно связана с проблемой компрессии изображений. Легко можно сосчитать, что если каждый из основных цветов кодировать при помощи одного байта, то общее число возможных цветов составит более 16 миллионов. Кодировать каждый пиксел изображения с учетом такого большого количества цветов зачастую представляется расточительным. Поэтому многие кодеки используют несложный трюк, позволяющий значительно уменьшить размер графического файла. Они изначально, исходя из предварительного анализа исходного рисунка, готовят набор характерных именно для него цветов (например, 256 цветов), называемый цветовой палитрой (color palette). Информация об этих цветах записывается в определенном виде в графический файл, а потом уже изображение "перерисовывается" кодеком исключительно при помощи цветов из созданной палитры. Разумеется, некоторые цвета исходного рисунка при таком способе компрессии приходится заменять наиболее близкими цветами из палитры, что ухудшает качество изображения, но позволяет существенно сократить физический размер графического файла. При работе с цветными изображениями на компьютере, важно постоянно помнить о принципе использования цветовых палитр, и в случае необходимости (для достижения лучшего качества цветопередачи или, напротив, в целях минимизации размера файла) корректировать параметры кодека.