Любая информация в памяти компьютера представлена в двоичном коде – последовательности нулей и единиц. Для работы с текстом этого было достаточно (достаточно создать таблицу кодирования, где каждому символу соответствует свой код, например, ASCII или Unicode).
Но информация в окружающем мире чаще всего аналоговая (непрерывная): плавный звук, градиент цвета на изображении, непрерывное движение в видео. Чтобы компьютер мог обработать такую информацию, ее необходимо дискретизировать (превратить в набор отдельных значений) и закодировать в цифровую (дискретную) форму.
Этот процесс называется оцифровкой.
Графические изображения делятся на два основных типа: растровые и векторные.
2.1. Растровые изображения
Изображение разбивается на мелкие фрагменты – пиксели (picture element). Каждый пиксель имеет свой цвет и координаты. Совокупность пикселей образует растр.
Процесс оцифровки:
Дискретизация пространства: Изображение разбивается на строки и столбцы (сетку пикселей).
Квантование цвета: Каждому пикселю присваивается числовой код, определяющий его цвет.
Основные характеристики:
Разрешение (Resolution): Количество пикселей по ширине и высоте изображения (например, 1920×1080). Чем выше разрешение, тем больше детализация.
Глубина цвета (Color Depth): Количество бит, отводимое для кодирования цвета одного пикселя. Определяет максимальное количество цветов в изображении.
I = i * X * Y, где:
I – информационный объем изображения (в битах),
i – глубина цвета (в битах),
X * Y – количество пикселей (разрешение).
Пример расчета:
Сколько цветов можно закодировать с глубиной 8 бит?
N = 2⁸ = 256 цветов.
Сколько места займет несжатое изображение размером 1024x768 пикселей с глубиной цвета 24 бита?
I = 24 бита * 1024 * 768 = (24 * 1024 * 768) / 8 байт = (24 * 1024 * 768) / (8 * 1024) Кбайт = 2304 Кбайт (или ~2.25 Мбайт).
Популярные форматы: JPEG, PNG, GIF, BMP.
2.2. Векторные изображения
Изображение описывается с помощью математических формул (геометрических примитивов: точек, линий, окружностей, многоугольников).
Принцип кодирования: Хранение не цвета каждого пикселя, а команд для его отрисовки.
Пример: Окружность(центр=(50,100), радиус=40, цвет_заливки=красный, цвет_границы=черный).
Преимущества:
Маленький размер файла для простых изображений.
Масштабирование без потери качества.
Недостатки: Не подходит для кодирования сложных фотографических изображений.
Форматы: SVG, CDR, AI.
Звук – это непрерывная звуковая волна с изменяющейся амплитудой (громкость) и частотой (тон).
Процесс оцифровки (аналого-цифровое преобразование, АЦП):
Дискретизация по времени: Непрерывная звуковая волна измеряется через равные промежутки времени. Количество измерений за секунду называется частотой дискретизации (измеряется в Герцах, Гц). Стандартные значения: 44.1 кГц, 48 кГц.
Квантование по уровню: Каждому измеренному значению амплитуды присваивается определенный уровень громкости (значение из заданного диапазона). Точность этого присвоения определяется глубиной кодирования (разрядностью) (измеряется в битах). Стандартные значения: 16 бит, 24 бита.
Расчет объема звукового файла:
I = F * i * t * k, где:
I – информационный объем файла (в битах),
F – частота дискретизации (в Гц),
i – глубина кодирования (разрядность, в битах на одно измерение),
t – время звучания (в секундах),
k – количество каналов (моно = 1, стерео = 2).
Пример расчета:
Оценим объем моноаудиофайла длительностью 10 секунд, оцифрованного с частотой 44.1 кГц и глубиной кодирования 16 бит.
I = 44 100 Гц * 16 бит * 10 с * 1 = 44 100 * 16 * 10 бит = (44 100 * 16 * 10) / 8 байт ≈ 861 Кбайт.
Для стерео (k=2) объем удвоится ≈ 1.68 Мбайт.
Популярные форматы:
Без сжатия: WAV, AIFF (хранят полную "оцифрованную" волну).
С потерями: MP3, AAC (удаляют избыточную и "малозаметную" для уха информацию для уменьшения размера).
Без потерь: FLAC, ALAC (уменьшают размер без потери качества, как ZIP-архив для звука).
Видео – это совокупность статических кадров (изображений), сменяющих друг друга с определенной скоростью, и звуковой дорожки.
Основные характеристики:
Разрешение кадра: Размер кадра в пикселях (например, Full HD – 1920×1080, 4K – 3840×2160).
Частота кадров (FPS – Frames Per Second): Количество статических изображений, сменяющихся за одну секунду (например, 24, 25, 30, 60 кадров/с). Чем выше частота, тем плавнее движение.
Битрейт (скорость потока): Количество бит, обрабатываемое за одну секунду видео (измеряется в бит/с, Кбит/с, Мбит/с). Влияет на качество и размер файла.
Принцип кодирования:
Видеокодек (кодер-декодер) сжимает видео, используя два основных метода:
Внутрикадровое сжатие (как в JPEG): Сжимает каждый кадр в отдельности.
Межкадровое сжатие: Кодирует только изменения между соседними кадрами. Например, если в сцене неподвижен фон, то в последующих кадрах он не сохраняется, а переиспользуется из предыдущего. Это дает очень высокую степень сжатия.
Расчет объема несжатого видео:
I = I_кадр * F * t + I_звук, где:
I_кадр – размер одного кадра (рассчитывается как для изображения),
F – частота кадров,
t – время видео,
I_звук – объем звуковой дорожки.
Пример (теоретический):
1 секунда несжатого видео Full HD (1920x1080, 24 бита), 25 кадр/с:
I = (1920 * 1080 * 24 бит) * 25 = (1920 * 1080 * 24 * 25) / 8 байт ≈ 155.6 Мбайт/сек.
Именно поэтому все современные видеоформаты используют сложное сжатие.
Популярные форматы-контейнеры: AVI, MP4, MKV (они содержат в себе видео, сжатое одним кодеком, звук, сжатый другим, и другую информацию – субтитры, метаданные).
Популярные кодеки: H.264, H.265 (HEVC), AV1.
Видео урок по данному уроку от учителя информатики Трашкова Олега Леонидовича