Опрос

Какой архиватор наиболее эффективный?:

Новички

Виктор Васильев
Юрий Антонов
Сергей Андреевич
Генадий
Avanasy

Требования приложений к алгоритму

Для алгоритмов сжатия видео характерны большинство тех же требова­ний приложений, которые предъявляются к алгоритмам сжатия графики, однако есть и определенная специфика:

Произвольный доступ - подразумевает возможность найти и показать любой кадр за ограниченное время. Обеспечивается наличием в потоке дан­ных так называемых точек входа - кадров, сжатых независимо (т. е. как обычное статическое изображение). Приемлемым временем поиска произ­вольного кадра считается 1/2 с.

Быстрый поиск вперед/назад - подразумевает быстрый показ кадров, не следующих друг за другом в исходном потоке. Требует наличия допол­нительной информации в потоке. Эта возможность активно используется всевозможными проигрывателями.

Показ кадров фильма в обратном направлении. Редко требуется в приложениях. При жестких ограничениях на время показа очередного кадра выполнение этого требования может резко уменьшить степень сжатия.

Аудиовизуальная синхронизация - самое серьезное требование. Дан­ные, необходимые для того, чтобы добиться синхронности аудио и видео дорожек, существенно увеличивают размер фильма. Для видеосистемы это означает, что если мы не успеваем достать и показать в нужный момент времени некий кадр, то мы должны уметь корректно показать, например, кадр, следующий за ним. Если мы показываем фильм без звука, то можно позволить себе чуть более медленный или более быстрый показ. Во времена сравнительно несовершенного немого кино кадры шли настолько неравно­мерно, насколько неравномерно крутил ручку камеры оператор. Показ без звука фильма, снятого столь несовершенными методами, воспринимается нормально даже при условии, что частота показываемых кадров постоянна (и герои фильма передвигаются то карикатурно быстро, то медленно). Однако смотреть фильм (например, боевик), в котором видеосистема не успе­вает за звуком, становится мучением.

Устойчивость к ошибкам - требование, обусловленное тем, что боль­шинство каналов связи ненадежны. Испорченное помехой изображение должно быстро восстанавливаться. Требование достаточно легко удовле­творяется необходимым числом независимых кадров в потоке. При этом также уменьшается степень сжатия, так как на экране 2-3 с (50-75 кадров) может быть одно и то же изображение, но мы будем вынуждены нагружать поток независимыми кадрами.

Время кодирования/декодирования. Во многих системах (например, видеотелефонах) общая задержка на кодирование-передачу-декодирование должна составлять не более 150 мс. Кроме того, в приложениях, где необхо­димо редактирование, нормальная интерактивная работа невозможна, если время реакции системы составляет более 1 с.

Редактируемость. Под редактируемостью понимается возможность из­менять все кадры так же легко, как если бы они были записаны независимо.

Масштабируемость - простота реализации концепции "видео в окне". Мы должны уметь быстро изменять высоту и ширину изображения в пиксе­лах. Масштабирование способно породить неприятные эффекты в алгорит­мах, основанных на ДКП (дискретном косинусном преобразовании). Кор­ректно реализовать эту возможность для MPEG на данный момент можно, пожалуй, лишь при достаточно сложных аппаратных реализациях, только тогда алгоритмы масштабирования не будут существенно увеличивать вре­мя декодирования. Интересно, что масштабирование достаточно легко осу­ществляется в так называемых фрактальных алгоритмах. В них, даже при увеличении изображения в несколько раз, оно не распадается на квадраты, т. е. отсутствует эффект "зернистости". Если необходимо уменьшать изо­бражение (что хоть и редко, но бывает нужно), то с такой задачей хорошо справляются алгоритмы, основанные на wavelet-преобразовании (см. описа­ние JPEG 2000).

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

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

Описанные требования к алгоритму противоречивы. Очевидно, что вы­сокая степень сжатия подразумевает архивацию каждого последующего кадра с использованием предыдущего. В то же время требования на аудио­визуальную синхронизацию и произвольный доступ к любому кадру за ог­раниченное время не дают возможности вытянуть все кадры в цепочку. И тем не менее можно попытаться прийти к некоторому компромиссу. Сба­лансированная реализация, учитывающая систему противоречивых требо­ваний, может достигаться на практике за счет настроек компрессора при сжатии конкретного фильма.