M
M-JPEG (Motion JPEG)– это покадровый алгоритм сжатия видео с использованием технологии JPEG.
Стандарт JPEG сегодня чаще всего применяется для сжатия фотографий и прочих изображений, поэтому и для видео его применение достаточно эффективно. Суть алгоритма M-JPEG состоит в том, что видео разбивается на отдельные изображения, а затем каждое изображение кодируется с помощью алгоритма JPEG. В итоге можно получить видео, сжатое до 5 раз, что значительно увеличивает скорость его передачи по каналам данных.
Сжатие изображений по методу JPEG происходит в несколько этапов. На первом шаге осуществляется преобразование цветового пространства. Это делается для того, чтобы увеличить степень последующего сжатия, так как лучше всего алгоритм JPEG работает с цветовым пространством яркость/цветность. Далее изображение разбивается на сегменты (обычно по 64 пикселя), и каждый сегмент кодируется через дискретное косинусное преобразование (это одна из разновидностей преобразования Фурье). После этого формируется матрица квантования, в одном части которой группируются большие коэффициенты, а в другой – малые. Малые коэффициенты позже отбрасываются как несущественные, за счет чего и происходит сжатие. На последнем шаге матрицы кодируются по алгоритму Хаффмана.
– это международный стандарт сжатия видео, наиболее популярный на сегодняшний день.
Изображение, которое кодируется с помощью этого стандарта, применяется и в цифровом телевидении, и в графических приложениях, и для распространения видеороликов в Интернете. Неудивительно, что в видеонаблюдении этот стандарт также один из самых главных.
Суть MPEG-4 заключается в том, чтобы разбивать кадр на контуры и текстуры и кодировать их по-разному. Контуры, которые выделяют в изображении, кодируются как сплайн (то есть полиномиальная функция). Так как в математике сплайны записываются координатами их опорных точек, то это позволяет значительно сэкономить на объеме видео. Текстуры записываются на основе частотного преобразования (вейвлетного или дискретного косинусного).
В технологии MPEG-4 выделяют три типа кадров. Полные кадры кодируются полностью, предсказуемые – это те изображения, которые частично можно восстановить с предыдущих кадров, а двунаправленные кадры состоят из информации из предыдущих и последующих кадров. Благодаря такому разделению алгоритм позволяет еще сильнее сжимать видео и обеспечивает качественное декодированное видео.