Motion JPEG
MJPEG — неофіційна назва групи стандартів кодування відео, в яких кожен кадр цифрової відео послідовності незалежно закодований за алгоритмом JPEG. Нині найчастіше використовується в цифрових відеокамерах. Оскільки алгоритм MJPEG вимагає менше обчислювальних ресурсів, ніж алгоритми MPEG-4 апаратна реалізація його простіша і, відповідно, дешевша. Формат MJPEG активно використовується в системах зовнішнього спостереження, оскільки дає стоп-кадри високої якості. У відеосистемах, які використовують формат MJPEG, простіше реалізується функція прискореного відтворення, як вперед, так і назад, ніж у системах з MPEG-4.
Формат MJPEG зручно використовувати для редагування відео, оскільки зв'язок між сусідніми кадрами відсутній і можна вносити зміни в кадр, не побоюючись, що це вплине на сусідні кадри. На відміну від групи стандартів MPEG, в алгоритмах MJPEG не передбачено усунення часової надмірності. Тому ступінь стиснення у алгоритмів MJPEG є нижчим (близько 5-20) за однакової якості зображення.
Одним з основних недоліків формату MJPEG є відсутність єдиного документа, який би визначав специфікацію формату для всіх. Тому можна зустріти реалізації MJPEG від різних розробників і виробників ПЗ, що не сумісні один з одним[1].
Кодування
Motion JPEG використовує кадрове стиснення з втратами на основі дискретного косинусного перетворення (ДКП). Ця математична операція переводить кожен кадр/поле відеозображення з просторової області в частотну область (область перетворення). Психовізуальна модель, що ґрунтується на особливостях сприйняття зображень людиною, видаляє високочастотну інформацію, загрубляє різкі переходи яскравості і відтінків кольору. Коефіцієнти ДКП квантуються, квантовані коефіцієнти відтак без втрат упаковуються у вихідний бітовий потік з використанням кодів Хаффмана або за допомогою арифметичного кодування. Майже всі програмні реалізації MJPEG дозволяють користувачам контролювати ступінь стиснення (а також інші параметри) і досягати компромісу якості зображення і розміру файлу. При апаратних рішеннях параметри кодування, як правило, попередньо вибрані і зафіксовані.