"Информатика (углублённый уровень)", Калинин И.А., Самылкина Н.Н.
Видео — упорядоченная последовательность изображений-кадров, смена которых создаёт впечатление движения. Чтобы хранить и передавать ролики, важно учитывать разрешение кадра, частоту кадров, глубину цвета и длительность записи: вместе они определяют объём несжатых данных. Сжатие помогает уменьшить размер файла, а кодек и контейнер отвечают за разные стороны его представления. Зная основные параметры и единицы измерения, можно оценивать объём видео и время его передачи.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Кадр — отдельное неподвижное изображение, из последовательности которых складывается видео. Это можно представить как одну фотографию в длинной серии снимков. Понятие кадра нужно, чтобы описывать, из каких частей состоит видео и сколько таких изображений требуется хранить.
Частота кадров — число кадров, показываемых за одну секунду; её измеряют в кадрах в секунду. Например, частота 25 кадров в секунду означает, что за секунду сменяются 25 изображений. Этот параметр помогает оценить плавность движения и количество кадров в записи известной длительности.
Разрешение видео — количество пикселей по горизонтали и вертикали в каждом кадре. Его записывают как произведение ширины и высоты, например 640 × 480 пикселей. Разрешение нужно, чтобы оценить количество точек изображения и понять, сколько данных требуется для хранения кадра.
Битрейт видео — объём данных, передаваемых или сохраняемых за единицу времени; обычно его измеряют в битах в секунду. Например, при битрейте 12 Мбит/с за каждую секунду передаётся около 12 мегабит данных. По битрейту можно оценивать требуемую скорость канала и приблизительный размер файла известной длительности.
Видео можно представить как упорядоченную последовательность кадров. Соседние кадры обычно отличаются незначительно: объект перемещается, меняет положение или выражение, а фон часто остаётся тем же. Если показывать кадры достаточно часто, зрение не успевает воспринимать каждое изображение отдельно и объединяет их в непрерывное движение. При слишком редкой смене изображения движение может выглядеть прерывистым.
Для каждой секунды видео необходимо представить определённое число кадров, а в каждом кадре — данные о пикселях. Поэтому увеличение частоты кадров означает больше изображений за то же время, а повышение разрешения — больше пикселей в каждом изображении. В обоих случаях растёт объём информации, которую нужно хранить или передавать. На практике итоговый размер зависит также от глубины цвета и применённого сжатия.
Для оценки несжатого видео сначала находят число пикселей в кадре: ширину умножают на высоту. Затем это число умножают на глубину цвета, то есть количество бит на один пиксель, чтобы получить объём кадра в битах. Для всего ролика результат умножают на частоту кадров и длительность в секундах. Такой расчёт предполагает, что каждый кадр записан полностью и не применяется сжатие.
Сжатие уменьшает размер видеоданных, потому что в кадрах часто повторяются участки изображения, а соседние кадры во многом похожи. Вместо повторной записи всей информации способы сжатия могут сохранять общие данные и описывать изменения. Чем сильнее сжатие, тем меньше может стать файл, но тем заметнее иногда ухудшается изображение. Поэтому выбирают компромисс между размером и качеством, учитывая назначение видео.
Кодек задаёт правила кодирования и декодирования видеоданных: благодаря им программа может сохранить запись, а затем восстановить изображение для просмотра. Контейнер — это формат файла, который объединяет видеопоток, звук и дополнительные сведения, например данные о времени и параметрах записи. Эти понятия отвечают за разные задачи: кодек описывает способ обработки потоков, контейнер — способ их совместного хранения. Один и тот же контейнер может поддерживать разные кодеки.
| Параметр | Что характеризует | Как влияет на объём или качество |
|---|---|---|
| Разрешение кадра | Число пикселей по ширине и высоте | Большее число пикселей обычно увеличивает объём и позволяет передать больше деталей |
| Частота кадров | Число кадров за секунду | Повышение увеличивает число изображений в записи и может сделать движение плавнее |
| Глубина цвета | Число бит, отводимых на пиксель | Большая глубина позволяет точнее передавать цвет, но увеличивает объём данных |
| Длительность видео | Время воспроизведения | При неизменных остальных параметрах более длинный ролик обычно занимает больше места |
| Битрейт | Объём данных за единицу времени | Более высокий битрейт обычно повышает размер файла и может сохранять больше деталей |
| Сжатие и кодек | Способ уменьшения и восстановления данных | Влияют на размер файла, качество и совместимость с программами и устройствами |
При сравнении роликов меняйте в рассуждении только один параметр: так легче понять его влияние. Для прикидки размера несжатой записи используйте разрешение, глубину цвета, частоту кадров и длительность. Для сжатого видео учитывайте битрейт и особенности кодека: одной таблицы параметров недостаточно, чтобы точно определить итоговый размер.
Задача 1. Видеоролик длится 10 секунд и записан с частотой 25 кадров в секунду. Сколько кадров содержит ролик? Частота показывает число кадров за одну секунду, поэтому для всего ролика нужно учесть все 10 секунд. Единицы времени уже согласованы: длительность дана в секундах.
Ответ: 250 кадров.
Задача 2. Найдём объём несжатого видео длительностью 2 секунды с разрешением 640 × 480 пикселей, глубиной цвета 24 бита и частотой 25 кадров в секунду. Сначала определим объём одного кадра, затем — число кадров за всю запись. В конце переведём биты в байты, поскольку ответ требуется именно в байтах.
Ответ: 46 080 000 байт. Это расчёт для несжатых данных без учёта звука и служебной информации.
Задача 3. Видео размером 900 Мбайт передают по каналу со скоростью 12 Мбит/с. Оценим время передачи, считая, что 1 Мбайт = 8 Мбит. Чтобы делить объём на скорость, нужно сначала выразить их в согласованных единицах. Полученная оценка не учитывает потери скорости и служебные данные.
Ответ: около 600 секунд, или 10 минут. Реальная передача может занять больше времени из-за служебных данных и колебаний скорости канала.
Ошибка: считать частоту кадров количеством изображений во всём ролике. Так путают показатель «за секунду» с общим числом кадров, потому что в обоих случаях речь идёт о кадрах. Для проверки умножьте частоту на длительность в секундах: у результата будет размерность «кадры». Если длительность не дана, одной частоты недостаточно, чтобы определить общее количество.
Ошибка: складывать ширину и высоту кадра вместо того, чтобы перемножить их. Ширина и высота задают размеры прямоугольной сетки, поэтому число пикселей равно числу столбцов, умноженному на число строк. Ошибку легко заметить на простом примере: у кадра 2 × 3 пикселя должно быть 6 точек, а не 5. Перед дальнейшим расчётом проверьте, что найдено именно количество пикселей.
Ошибка: оставить результат в битах, хотя требуется объём в байтах. Это происходит, когда после умножения на глубину цвета забывают, что она выражена в битах. В одном байте 8 бит, поэтому число битов делят на 8; обратное преобразование требует умножения на 8. Проверьте единицу в ответе и убедитесь, что выполнили именно нужный перевод.
Ошибка: считать кодек и контейнер одним и тем же. Названия форматов файлов часто воспринимаются как названия способов сжатия, хотя контейнер хранит потоки и метаданные, а кодек отвечает за кодирование данных. Для самопроверки спросите, что именно описывается: объединение видео, звука и сведений в файл или правила обработки потока. Если речь о первом — это контейнер, если о втором — кодек.
Для расчётов видеоданных пригодятся перевод единиц информации и различие между битом и байтом: без них легко ошибиться при вычислении размера файла. Также нужны умножение величин и перевод секунд в минуты или часы, если требуется оценить длительность записи либо передачи. Эти знания связывают тему с изучением сжатия информации, мультимедийных форматов и передачи данных по сетям. Понимание параметров видео помогает оценивать требования к хранению файлов и пропускной способности канала.
Почему последовательность кадров воспринимается как движение?
Кадры показывают немного различающиеся положения объектов и быстро сменяют друг друга. Зрительное восприятие объединяет эти изображения, поэтому возникает впечатление непрерывного движения.
Как по частоте кадров и длительности определить число кадров в видео?
Нужно умножить частоту кадров на длительность, предварительно выразив время в секундах. Например, при 25 кадрах в секунду за 10 секунд получится 25 × 10 = 250 кадров.
Почему ролик высокого разрешения обычно занимает больше места?
В кадре с большим разрешением больше пикселей, а значит, для его хранения требуется больше данных. Если остальные параметры и степень сжатия одинаковы, увеличение числа пикселей обычно увеличивает размер видео.
Как вычислить объём несжатого видео?
Нужно умножить число пикселей в кадре на глубину цвета, частоту кадров и длительность в секундах. Полученный объём будет в битах; чтобы перевести его в байты, результат делят на 8.
Чем кодек отличается от контейнера?
Кодек задаёт способ кодирования и декодирования видео, а иногда и звука. Контейнер объединяет потоки видео и звука, а также дополнительные сведения в одном файле.
§ 5. Представление видеоданных