Читаем Журнал 4PDA. Февраль-Март 2006 полностью

Сжатие разделяют на два типа: «без потери качества» и «с потерей качества». Разница между этими типами понятна из их названия. Максимальная степень сжатия, достигаемая с помощью алгоритмов «без потерь», не превышает 3 к 1, поэтому они не очень помогут в решении нашей задачи. В то время, как алгоритмы, работающие с потерей качества, могут сжимать вплоть до 100 к 1 по отношению к несжатому потоку.

Каким же образом методы сжатия видео достигают столь впечатляющих результатов? Как известно, пороговая частота дискретного восприятия человеком сменяющих друг друга графических образов – 25 кадров/сек. В силу этого обстоятельства, наличие в выходном потоке большего числа кадров не оправдано. Более того, смежные кадры содержат одни и те же объекты сцены. Следовательно, хранение каждого из кадров можно заменить хранением изменений, произошедших со времени показа предыдущего кадра. Таким образом, весь фильм можно представить в виде последовательности ключевых кадров, сохраненных с небольшим коэффициентом сжатия и промежуточных (зависимых) кадров, ссылающихся на предыдущие ключевые или зависимые кадры. Зависимые кадры минимальны по размеру и содержат только изменения, которые претерпела сцена. При этом, алгоритм выясняет то, что глаз может не заметить, и выбрасывает это, а затем вычисляет лучший способ для сохранения оставшегося. Вот за счет этого и достигается впечатляющая экономия дискового пространства.

А к каким проблемам приводит сжатие видео? Оно приводит к, так называемым, артефактам. Артефакты – это видимые нарушения качества видео, возникающие в процессе сжатия с потерями. Искажения, получаемые при сжатии, варьируются от алгоритма к алгоритму. Наиболее часто встречающийся артефакт сжатия – разбиение картинки на квадратные блоки. Также часто наблюдаются: «мусор» рядом с контрастными границами и движущимися объектами, «волнующиеся» и «расплывшиеся» цвета или «замыливание» картинки.

Здесь ключевым моментом является количество бит, выделяемых для хранения цвета одного пикселя. В этой связи появляется термин «битрейт». Битрейт – это размер видеопоследовательности в битах, отнесенный к его длительности в секундах. Единицей измерения битрейта служит 1 бит/с – один бит в секунду (1bps – 1 bit(s)-per-second). Поскольку 1 бит/с – величина очень маленькая в приложении к цифровому видео, также вводятся килобит/с (кбит/с). Чем выше битрейт и, соответственно, бит выделено под хранение одного пикселя, тем реалистичнее картинка, но тем больше объем конечного файла.

Параметры кодирования

Итак, из всего вышесказанного можно сделать вывод, что основные параметры, на которые мы можем повлиять – это битрейт и размер картинки. Частоту кадров не стоит трогать, так как это может привести к рывкообразному воспроизведению видеоряда и проблемам синхронизации со звуковой дорожкой.

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

Однопроходный режим с постоянным битрейтом

Этот режим – самый простой: каждый кадр имеет одинаковый размер, а результирующий поток видеоданных имеет постоянный битрейт. Алгоритм этого режима весьма прост и, соответственно, нересурсоемок. Однако, результаты, полученные в таком режиме, существенно уступают результатам в других однопроходных режимах. В современных кодеках практически не используется.

Однопроходный режим с переменным битрейтом

Он реализует простейшую схему: если кадр простой для сжатия, то используется лишь часть выделенных для нее битов. Остальные биты «откладываются» в своего рода копилку – резервуар. Благодаря этому на сложных сценах мы можем использовать больше бит для сжатия кадра, заимствуя часть битов из резервуара. Данная схема проста и эффективна, потому она дает лучшее качество изображения, чем в режиме с постоянным битрейтом. Но, реальный битрейт получится на усмотрение кодека, поэтому точно контролировать размер фала не получится.

Однопроходный с постоянным качеством

Название этого режима – «с постоянным качеством», – не совсем корректно. В процессе сжатия остается постоянным так называемый quantizer – численная характеристика степени сжатия кадра. Quantizer задаёт коэффициент потерь в качестве видео. При выставлении его в постоянное значение, качество видео будет одинаково на протяжении всего фильма, не зависимо от количества движения. Уменьшение значения «квантизатора» ведёт к улучшению качества картинки. А, чем этот показатель выше, тем больше сжатие, тем ниже качество, тем более заметны квадраты (артефакты). Основной недостаток этого режима – мы не можем узнать заранее (до сжатия), какой размер будет иметь файл в результате.

Двухпроходный режим

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

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

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT