В MPEG-4 Part 2 были некоторые удивительные концепции движения лица и тела, но они исчезли в MPEG-4 Part 10 (H.264).Зачем? - PullRequest
10 голосов
/ 21 марта 2012

За последние несколько недель у меня была возможность прочитать два документа:

  • Спецификация MPEG-4 Part 2 (ISO / IEC 14496-2), которую люди просто называют «mpeg-4»
  • Спецификация MPEG-4 Part 10 (ISO / IEC 14496-10), которая также называется "h.264" или "AVC"

Прочитав все классные идеи в «mpeg-4», такие как определение выражения лица, движения конечностей людей и спрайтов, я очень обрадовался. Идеи звучат очень забавно, возможно даже фантастически, для идеи 1999 года.

Но потом я прочитал стандарт "h.264", и ни одной из этих идей не было. Было много дискуссий о том, как кодировать пиксели, но ни одна из действительно крутых идей.

Что случилось? Почему были удалены эти идеи?

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

Ответы [ 2 ]

14 голосов
/ 27 марта 2012

Похоже, вы предполагаете, что спецификация MPEG-4 Part 10 улучшена по сравнению с MPEG-4 Part 2, хотя эти две спецификации не связаны, не имеют ничего общего и даже были разработаны разными людьми (MPEG разработали спецификацию части 2, а МСЭ-Т, ISO, IEC и MPEG вместе разработали спецификацию части 10).

Имейте в виду, что стандарт ISO / IEC 14496 представляет собой набор спецификаций, которые применяются к различным аспектам аудиовизуального кодирования. Целью спецификации части 2 является кодирование различных видов визуальных объектов (видео, 3D-объекты и т. Д.). Цель части 10 - обеспечить очень эффективное и качественное кодирование видео. Другие части стандарта имеют дело с другими аспектами, например, спецификация части 3 касается кодирования звука, а части 12 и 15 определяют формат файла контейнера, который чаще всего используется для переноса видео части 10 (т. Е. H.264) и части 3. аудио (т.е. AAC) в один файл, так называемый формат .mp4.

Надеюсь, это поможет!

1 голос
/ 29 марта 2012

Немного истории может помочь.

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

Это была реакция на короткий срок службы спецификаций MPEG-1, которые были устаревшими до того, как они были формализованы.

MPEG-4 можно разделить на

механизмы для передачи данных, генерирующих изображения

К ним относятся такие очевидные вещи, как

  • сжатие
  • компенсация движения и явные спрайты

Эксперимент, такой как

  • Транспортировка и восстановление 3D и 3D + временных данных из изображения поток (видео) для обеспечения сжатия и расширения возможностей.

Механизмы адаптации скорости

В 1999 году было огромное количество актуальных скорость передачи данных от 128 Кбит / с до 1000 Мбит L / M / WAN, и спецификации много особых случаев и усилий по обеспечению совместимости.

Это привело к большой работе комитета, которая стала излишней, так как сеть диапазон производительности сужается до минимума / максимума от 1 Мбит до 100 Мбит.

Первоначально каждая спецификация под солнцем, а некоторые еще в сознании создателей была привязана к платформе MPEG-4, за исключением конкурирующих спецификаций, таких как H.264.

Некоторые спецификации исчезли из-за того, что деньги потерпели крах в крахе dot.com, а H.264 и другие слились в MPEG4.

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

Полагаю, "использовать источник, который может использовать Люк"

или

"Спецификации имеют плохой вкус без источника".

...