Вопрос

Может ли кто-нибудь объяснить простым и понятным способом, как MPEG4 сжимает данные.Больше всего меня интересует видео.Я знаю, что существуют разные стандарты или части.Я просто ищу преобладающий общий метод сжатия, если он существует с MPEG4.

Это было полезно?

Решение

MPEG-4 — это огромный стандарт, в котором используется множество методов для достижения высоких степеней сжатия, на которые он способен.

В общем, сжатие видео направлено на то, чтобы удалить как можно больше информации, оказывая при этом минимальное влияние на качество просмотра для конечного пользователя.Например, использование YUV с субдискретизацией вместо RGB сразу сокращает размер видео вдвое.Это возможно, поскольку человеческий глаз менее чувствителен к цвету, чем к яркости.В YUV значение Y — это яркость, а значения U и V представляют цвет.Таким образом, вы можете выбросить часть информации о цвете, что уменьшит размер файла, и зритель не заметит никакой разницы.

После этого большинство методов сжатия используют, в частности, две избыточности.Первое — это временная избыточность, а второе — пространственная избыточность.

Временная избыточность означает, что последовательные кадры видеопоследовательности очень похожи.Обычно видео имеет частоту 20–30 кадров в секунду, и за 1/30 секунды ничего особенного не меняется.Возьмите любой DVD и поставьте его на паузу, затем переместите его на один кадр и обратите внимание, насколько похожи два изображения.Таким образом, вместо независимого кодирования каждого кадра MPEG-4 (и другие стандарты сжатия) кодируют только разницу между последовательными кадрами (используя оценка движения найти разницу между кадрами)

Пространственная избыточность использует тот факт, что в целом распределение цвета по изображениям имеет тенденцию быть довольно низкой частотой.Под этим я подразумеваю, что соседние пиксели имеют тенденцию иметь одинаковые цвета.Например, на изображении, где вы носите красный свитер, все пиксели, представляющие ваш свитер, будут иметь очень похожий цвет.Можно использовать DCT для преобразования значений пикселей в частотное пространство, где некоторая высокочастотная информация может быть выброшена.Затем, когда выполняется обратное ДКП (во время декодирования), изображение теперь не содержит выброшенной высокочастотной информации.

Чтобы увидеть последствия выбрасывания высокочастотной информации, откройте MS Paint и нарисуйте серию перекрывающихся горизонтальных и вертикальных черных линий.Сохраните изображение в формате JPEG (который также использует DCT для сжатия).Теперь увеличьте рисунок и обратите внимание, что края линий уже не такие резкие и стали размытыми.Это связано с тем, что некоторая высокочастотная информация (переход от черного к белому) была выброшена во время сжатия. Прочтите это для объяснения с красивыми картинками.

Для дальнейшего чтения, эта книга неплохо, хотя и немного тяжеловато по математике.

Другие советы

Как и любой другой популярный видеокодек, MPEG4 использует разновидность дискретное косинусное преобразование и различные методы компенсации движения (которые вы можете назвать прогнозированием движения, если это поможет), которые уменьшают объем данных, необходимых для последующих кадров. Эта страница содержит обзор того, что делает обычный MPEG4.

Это не совсем отличается от методов, используемых в JPEG.

MPEG4 использует различные методы сжатия видео.

Если вы еще не заглянули в Википедию, это было бы неплохо отправная точка.

Еще есть эта статья из IEEE который объясняет эти методы более подробно.

Острые края определенно ДЕЙСТВИТЕЛЬНО содержат высокие частоты.Уменьшение или устранение высоких частот снижает резкость краев.Мелкие детали, включая острые края, удаляются с помощью высокочастотного удаления — возможность разрешения двух небольших объектов удаляется с помощью высоких частот — тогда вы видите только один.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top