Вернёмся к вопросу о сжатии динамических изображений.

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

Например алгоритм SPIHT, который используется в описываемом кодере, обладает следующими полезными особенностями:

§  Высокая производительность: время сжатия одного кадра составляет порядка 10 миллисекунд

§  На любом этапе декодирования качество отображаемой в этот момент картинки является наилучшим для введенного объема информации

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

5.

Вернёмся к вопросу о сжатии динамических изображений.

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

Простейший способ учесть временную зависимость – попиксельная разность кадров. Это эффективно для неподвижных сцен, но если в кадре есть какое-то движение, то недостатки метода сразу же проявляются, в разностом кадре наблюдаются резкие переходы яркостей и такой кадр плохо подходит для сжатия. Поэтому все современные алгоритмы сжимают не просто попиксельную разность двух соседних кадров, а так называемый скомпенсированный кадр. Для вычисления скомпенсированного кадра необходимо сначала преобразовать один из соседних уже сжатых кадров следующим образом: объекты в кадре должны быть перемещены так, чтобы этот измененный кадр был как можно более близок в некоторой метрике к текущему кодируемому кадру. Разность преобразованного и текущего кадра называется скомпенсированным кадром и подвергается сжатию. Основная сложность состоит в грамотном перемещении объектов.

 

В описываемом кодере компенсация движения реализована следующим образом: кадр делиться на блоки 8x8 пикселей и ищутся вектора перемещений этих блоков от текущего к предыдущего кадру (в качестве метрики используется среднеквадратичное отклонение по всем пикселям блока). На рисунке 3 такой вектор обозначен как v. Область поиска, естественно, ограничена и составляет порядка нескольких десятков пикселей, иначе время работы кодера было бы неприемлимым. В том случае, когда в видеопоследовательности присутствует резкое движение, из-за малой области поиска может получиться так что вектор перемещения будет найден неверно и это приведёт к резким переходам яркости в

Ссылка на основную публикацию
Adblock detector