Профиль Hi10P. Профили кодирования h.264
| |
Oleggg10 | Дата: Воскресенье, 16.02.2014, 17:38 | Сообщение # 1 |
Полковник
Группа: Администраторы
Сообщений: 162
Репутация: 0
Статус: Offline
| Очень интересной и важной темой на сегодняшний день является внедрение профиля кодирования H.264 - High 10 (а также h.265 Main10 Profile). Очень красочно о нём написано здесь.
Если коротко, то этот параметр влияет на цветовую глубину (палитру) видеоизображения (на самом деле я не слишком силён в этом вопросе, поэтому расскажу по простому).
Итак, самый распространённый формат цветовой глубины в современных рипах - 8 бит (примерно в 99% случаев; 16 млн. цветов). Но он имеет ограниченную палитру цветов, а значит, на картинке появляется бандинг (нажать на картинку для увеличения):
Чтобы этого избежать, в видео подмешивается шум (операция называется «дизеринг»): Как видно, картинка справа стала намного лучше при тех же цветах (центр). Но, в результате дизеринга появляется пикселизация (шум). Проблема в том, что такие структуры очень плохо сжимаются и требуют на себя много битрейта. Решением проблемы бандинга явилось увеличение размера одного канала с 8 до 10 бит, т.е. с 256 до 1024 уровней на канал. Т.е. для сохранения градиентов теперь не требуется подмешивать шум (дизеринг). За счёт этого 10 битное видео не только смотриться лучше, но и существенно уменьшает размер видео (общий битрейт) на 20-30%.
И всё бы ничего, да есть большая проблема в распространении 10 битного видео: 1. Широкая известность и практическое применение началось в 2011 г., поэтому до сих пор очень мало программной и аппаратной поддержки (иначе говоря, для воспроизведения понадобиться самый современный тюнер (плеер) или популярный проигрыватель на ПК. Но и на ПК могут возникнуть проблемы у тех, кто смотрит видео с помощью GPU-ускорения, т.к. оно тоже не поддерживается) 2. Точно не уверен, но есть сомнения в том, стоит ли кодировать 8 битное видео в 10 битное. У меня такое конвертирование не принесло никакого качественного результата (размер 10 битного стал даже немного больше при одном и том же CRF), да и не должно было, по идее (если я не прав, прошу возражения в комментариях). Получается, оригинал должен быть уже 10-битным. 3. Двукратное увеличение времени кодирования
Вот ещё одна неплохая тема по этому поводу.
Для x265 тоже существует 10 битный профиль. Возможно, в нём такой формат лучше и быстрее внедрится в повседневную жизнь, в аппаратную поддержку и принесёт 20% прирост в сжатии, убрав заодно бандинги и дизеринги в прошлый век, но пока этот профиль менее распространён, чем новоиспечённый HEVC.
|
|
| |
Oleggg10 | Дата: Воскресенье, 16.02.2014, 18:06 | Сообщение # 2 |
Полковник
Группа: Администраторы
Сообщений: 162
Репутация: 0
Статус: Offline
| Небольшая статья о профилях и уровнях h264:
Кодек H.264 предусматривает при кодировании использование семи профилей, определяющих какие функции будет использовать кодер. В основном используются три профиля. Базовый профиль используется для мобильного и интернет видео. Экономичный по использованию аппаратных ресурсов, а так же эффективное сжатие видео при небольшом битрейте. Основным профилем кодируются обычные фильмы, при этом более эффективен по сравнению с MPEG-4 по качеству видео.
Высокий профиль используется в основном для кодирования фильмов высокой четкости – FullHD, и применяется на дисках Blu-ray. Профиль поддерживает большинство доступных возможностей кодека H.264 при этом предоставляет наилучшее качество изображения при оптимальном использовании аппаратных ресурсов.
Кроме профилей, в стандарте H.264 используются уровни, которые определяют плотность видеоданных, скорость кодирования и размер кадра. Чем выше разрешение кодируется кодеком H.264, тем выше должен быть профиль. Например, для профиля 4.0 высокого уровня максимальный поток видеоданных составляет 25 Мбит/с.
Профили H.264 Профили – это комплект возможностей в количестве семнадцати штук определенные стандартом и ориентированные на определенный класс приложения. Стоит отметить, что немасштабируемые 2D приложения включают несколько профилей, куда входят ограниченный базовый, базовый, основной, расширенный, а так же несколько видов высокого профиля: просто высокий профиль, профиль 10, 4:02:02 и 4:04:04.
Говоря подробнее о каждом из представленных выше профилях, отметим, что ограниченный базовый профиль или как говорят профессионалы Constrained Baseline Profile, чаще используется в мобильных приложениях и видеоконференциях, правда оговаривает общее между базовым, основным и высоким профилями подмножество функций. Данный профиль предназначен для нетребовательных приложений.
Что касается базового профиля, отметим, что в большей степени этот профиль предназначен для недорогих требующих дополнительной потери данных надежности приложений, впрочем, это не мешает использовать его в некоторых видеоконференциях и мобильных приложениях. В профиль включены все функции поддерживаемые ограниченным базовым профилем, кроме того он имеет еще три дополнительные функции, которые успешно используются в тех случаях, когда, к примеру, имеет место потеря устойчивости. Важность профиля несколько поуменьшилась всвязи с тем, что базовый и ограниченный базовый профили практически одно и то же, где индификатором является значение кода.
Основной профиль не используется для телепередач высокой четкости, но прекрасно подходит для передач стандартного разрешения форматом MPEG-4, определенным DVB стандартом. Нельзя не сказать о том, что современем, когда в 2004 году появился высокий профиль, основной профиль стал менее употребительным и важным.
Что касается потокового видео, в данном случае широкое применение получил расширенный профиль, у которого способность сжатия достаточно высокая. Данный профиль в случаях сохранение устойчивости потери данных применяет дополнительные приемы.
Если говорить о различиях между четырьмя видами высокого профиля, то здесь важной составляющей являются возможности профилей. К примеру, высокий профиль или ка его еще называют профессионалы High Profile, является основным для дискового хранения Blu-Ray формата, а так же вещания DVB службы HDTV, особенно в тех случаях, когда имеют место телевизионные приложение высокой четкости.
Если говорить о высоком профиле 10 или High 10 Profile, он имеет поддержку до 10 бит на одну единицу декодированного изображения и давно вышел за пределы стандартных потребительских возможностей.
Для профессиональных приложений использующих видео с чересстрочной разверткой идеально подходит высокий профиль 4:02:02 или Hi422P, который является продолжением предыдущего профиля с добавлением поддержки цветности 4:02:02, в тех случаях, когда имеет место использование до десяти бит того же изображения.
Последний высокий профиль 4:04:04 или Hi444PP, является продолжением предыдущего профиля, интеллектуальный поддерживающий цветность до 4:04:04 до четырнадцати бит он помимо этого имеет прекрасную поддержку кодирования изображения в качестве отдельных трех цветовых слоев без определенных потерь.
Необходимо отметить, для редактирования, профессионального применения, а так же видеокамер стандартом предусмотрено еще 4 дополнительных профиля, которые являются простым подмножеством других уже упомянутых выше профилей, сюда входит: High 10 Intra Profile, High 444 Intra Profile, High 422 Intra Profile и CAVLC 444 Intra Profile.
Кроме того имеется еще три масштабируемых профиля получившихся в результате кодирования Scalable Video. Данные профили являются сочетанием инструментов обеспечивающих достижения масштабируемых расширений и для базового слоя H.264/AVC профиля.
В данном случае мы говорим о базовом масштабируемом профиле или Scalable Baseline Profile, который применяется при видеоконференц-связи, системах наблюдения и нацелен на мобильность. Основывается профиль на верхней части версии H.264/AVC профиля, которая является ограниченной и которой должен соответствовать базовый слой. Здесь включено для масштабируемости инструментов их доступное подмножество.
Существует и другой профиль – масштабируемый высокий профиль или Scalable High Profile, нацеленный на потоковые приложения и вещание. Профиль является продолжением H.264/AVC высокого профиля, которому необходимо, чтобы соответствовал базовый слой.
Третий существующий профиль - масштабируемый внутри высокого профиля или Scalable High Intra Profile, применяемый для используемых промышленных приложений.
Что касается Multiview Video Coding, то он содержит Stereo High Profile и Multiview High Profile. Первый профиль содержит в себе инструменты высокого профиля с сочетанием прогнозирования бинокулярного зрения и расчитан в большей стпени на 3D видео, второй профиль не поддерживает кодирования изображения, но поддерживает несколько представлений с применением MVC бинокулярного прогнозирования, а также межкадрового прогнозирования.
Уровни. Стандартом определено, что уровень – это набор ограничений, которые указывают уровень необходимой производительности декодера для применяемого профиля. В данном случае в качестве примера мы увидим, что в профиле поддержка уровня должна показывать не только частоту кадров и битрейт, но и максимальной разрешение экрана, для использования декодера. Декодер полностью соответствующий уровню должен производить декодирование всех потоков битов, кодированных для данного уровня и для всех низких уровней.
|
|
| |
|