logo
Лекция_Представление_информации_в_компьютере1

Алгоритмы mpeg

Как уже упоминалось, MPEG — это целое семейство методов сжатия видеоданных. В них используется очень большое количество приемов сжатия, даже краткое перечисление которых заняло бы несколько страниц. Они опираются на несколько базовых идей, а различаются конкретной реализацией алгоритмов.

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

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

Кроме того, формат MPEG позволяет сохранять в одном файле несколько так называемых потоков данных. Так, в основном потоке можно сохранить фильм, в другом — логотип, в третьем — субтитры, и т. д. Потоки данных накладываются друг на друга только при воспроизведении. Такой способ позволяет, например, хранить субтитры в виде текста вместо изображений букв, логотип сохранить всего один раз, а не в каждом кадре, и т. п.

Разновидности формата MPEG отличаются друг от друга по возможностям, качеству воспроизводимого изображения и максимальной степени сжатия:

Вопросы и задания.

  1. Для метода упаковки подсчитайте коэффициент сжатия текста, содержащего только прописные английские бук­вы, пробелы и знаки препинания (точка, запятая, дефис).

  2. Для метода упаковки подсчитайте коэффициент сжатия текста, содержащего прописные и строчные русские бук­вы, пробелы, цифры и знаки препинания (точка, запя­тая, дефис).

  3. Приведите примеры алгоритмов сжатия с потерей и без потери информации.

  4. Что произойдет, если в упакованном методом RLE сооб­щении пропустить один байт?

  5. Какова длина последовательности, после кодирования которой методом RLE получилось следующее: 11111111 11111111 11000000 00000001 00000010 11111111 00000000 ?

  6. Как надо поступить при RLE-кодировании, если количе­ство идущих подряд одинаковых байтов больше 127 и не помещается в 7 разрядов?

  7. Постройте дерево Хаффмана и выпишите коды символов для сообщения

AHFBHCEHEHCEAHDCEEHHHCHHHDEGHGGEHCHH.