Что такое I-кадры, P-кадры и B-кадры в видеокадрах?
Что такое I-кадры, P-кадры и B-кадры в видеокадрах?

1)Что такое I-фреймы, P-фреймы и B-фреймы?

2)Что такое рамка РДЭ? В чем отличие от обычных I-кадров?

3)Что такое Республиканская партия? Как установить значение gop_size, чтобы улучшить качество изображения?

4)OpenGOP & Что означает CloseGOP?

5) Что такое PTS и DTS в видеопотоках?

Что такое I-фреймы, P-фреймы и B-фреймы?

Я кадр: внутри картинка, внутрикодированный кадр.IКадры обычно каждыйGOPпервый кадр из,Его можно рассматривать как результат сжатия изображения.,Как говорилось в предыдущем выпускеКодирование сжатия изображений HEIF,Фактически, его можно понимать как I-кадр в последовательности процесса кодирования видео по стандарту H.265/HEVC. При декодировании нужны только данные этого кадра (т.к. он содержит полную картинку). эффективно предотвращать накопленное распространение ошибок межкадрового предсказания.

* Сам I-кадр может быть распакован в одно полное видеоизображение с помощью алгоритма декомпрессии видео, поэтому I-кадр удаляет избыточную информацию видеокадра в пространственном измерении.

Особенности рамы:

1) I-кадр представляет собой кадр, закодированный с полным сжатием кадра;

2) При декодировании полное изображение можно восстановить, используя только данные I-кадра;

3) I-кадр описывает детали фона изображения и движущиеся объекты;

4) I кадры генерируются без обращения к другим картинкам;

5) I-кадр является опорным кадром P-кадра и B-кадра (его качество напрямую влияет на качество последующих кадров в той же группе);

6) I-кадр является основным кадром (первым кадром) группы кадров GOP, и в группе GOP имеется только один I-кадр;

7) В I кадрах нет необходимости учитывать векторы движения;

8) Объем информации в данных, занимаемых I кадрами, относительно велик.

P-кадр: кадр с предсказанием, кадр кодирования с прямым предсказанием.Путем полного удаления временной избыточной информации из ранее закодированных кадров в последовательности изображений.Для сжатия объема передаваемых данных кодируются изображения,Также называется прогнозируемыми кадрами. P-кадр представляет собой разницу между этим кадром и предыдущим кадром.,P-кадры можно использовать в качестве опорных кадров для последующего кодирования изображения. При декодировании нужно наложить разницу, определенную в этом кадре, на ранее закешированную картинку.,Создайте финальную картинку. (т. е. разностная система,P-кадр не содержит полных данных изображения,Только данные, которые отличаются от предыдущего кадра,Поэтому для декодирования используются значения пикселей эталонного изображения. )

* P-кадр должен ссылаться на I-кадр или P-кадр перед ним, чтобы декодировать его в полное видеоизображение.

Особенности рамки P:

1) P-кадр использует компенсацию движения для передачи разности и вектора движения (ошибки прогнозирования) между ним и предыдущим I- или P-кадром;

2) Во время декодирования значение прогнозирования и ошибка прогнозирования в I-кадре должны быть суммированы, прежде чем можно будет восстановить полное изображение P-кадра;

3) P-кадр принадлежит к межкадровому кодированию прямого предсказания, которое относится только к предыдущему I-кадру или ближайшему к нему P-кадру;

4) P-кадр может быть опорным кадром следующего за ним P-кадра или может быть опорным кадром B-кадра до и после него;

5) Из-за дифференциальной передачи сжатие P кадров относительно высокое.

Рамка B: двунаправленная interpolated prediction кадр, кадр кодирования двунаправленной интерполяции с предсказанием.Учитывает как ранее закодированный кадр исходной последовательности изображений, так и,Учет временной избыточности между кодированными кадрами, следующими за последовательностью исходного изображения.,Для сжатия объема передаваемых данных кодируются изображения,Также называется кадрами с двунаправленным прогнозированием. Для декодирования B-кадров,Вам не только нужно получить предыдущий кэшированный экран,Также нужно расшифровать картинку,Итоговое изображение получается путем наложения предыдущего и последующего изображения с данными этого кадра.

* Кадр B должен ссылаться на предыдущий кадр I или кадр P и следующий кадр P для создания полного видеоизображения. Кадр P и кадр B удаляют избыточную информацию видеокадра во временном измерении.

Особенности B-рамы:

1) Кадр B прогнозируется на основе предыдущего кадра I или P и следующего кадра P;

2) Кадр B передает ошибку предсказания и вектор движения между ним и предыдущим кадром I или P и следующим кадром P;

3) B-кадр представляет собой кадр двунаправленного кодирования с предсказанием;

4) Кадр B имеет самую высокую степень сжатия, поскольку он отражает только изменения движущихся объектов между опорными кадрами, и прогноз получается более точным;

5) Кадр B не является опорным кадром и не вызывает распространения ошибок декодирования.

Что такое рамка РДЭ? В чем отличие от обычных I-кадров?

IDR (изображение мгновенного обновления декодирования), кадр обновления мгновенного декодирования, первый кадр последовательности является кадром IDR. Кадры IDR также являются разновидностью I-кадров, так в чем же разница между кадрами IDR и обычными I-кадрами?

Все кадры после кадра IDR не могут ссылаться на содержимое кадра до кадра IDR, а для обычных кадров I последующие кадры P и B могут ссылаться на другие кадры I перед обычным кадром I; Функция кадра IDR заключается в немедленном обновлении для предотвращения распространения ошибок. Начиная с кадра IDR, пересчитывается новая последовательность и начинается кодирование. Обычные I-кадры не имеют возможности произвольного доступа. Эту функцию берет на себя IDR. В декодере после получения кадра IDR буфер опорного кадра немедленно очищается, и кадр IDR будет использоваться в качестве опорного кадра.

При воспроизведении видео плеер обычно поддерживает случайный поиск (перетаскивание) в указанную позицию, и плееру удобнее всего напрямую выбирать кадр IDR рядом с указанной позицией для воспроизведения, поскольку можно четко знать, что все кадры после Кадр IDR не является «Другими I-кадрами», прежде чем на него будут ссылаться, чтобы избежать более сложного обратного анализа.

Например, при перекодировании одного и того же видео с несколькими скоростями передачи данных, если вы указываете выравнивание кадров IDR, это означает, что кадры IDR всех выходных видео точно синхронизируются с точки зрения моментов времени и содержимого кадра. В это время проигрыватель может это сделать. добиться плавного переключения многобитных видео, чтобы не было явной задержки переключения.

Что такое Республиканская партия? Как установить значение gop_size, чтобы улучшить качество изображения?

GOP (группа изображений) — это группа изображений. GOP — это группа непрерывных изображений. GOP — это набор изображений в последовательности, используемый для обеспечения произвольного доступа. Первое изображение GOP должно быть I-кадром, что гарантирует, что GOP не нужно ссылаться на другие изображения и может быть декодирована независимо.

Обычно при настройке параметров кодера необходимо задать значение gop_size, которое представляет собой количество кадров между двумя I-кадрами. Кадром с наибольшей емкостью в GOP является I-кадр, поэтому, условно говоря, чем больше установлен gop_size, тем лучше будет качество всего изображения. Однако окончание декодирования должно начинаться с первого полученного I-кадра. его можно правильно декодировать из исходного изображения, иначе оно не будет декодировано правильно. Среди советов по улучшению качества видео есть еще один совет: используйте больше B-кадров. Использование B-кадров может сэкономить много места. Сэкономленное пространство можно использовать для сохранения большего количества I-кадров, чтобы его можно было передавать с той же скоростью передачи данных. Лучшее качество изображения, поэтому в соответствии с различными бизнес-сценариями размер gop_size должен быть установлен соответствующим образом для получения видео более высокого качества.

OpenGOP & Что означает CloseGOP?

OpenGOP:одинGOPОпределенный кадр в нем зависит от соседнего кадра при декодированииGOPнесколько кадров внутри,Как показано ниже,Два кадра B в конце должны полагаться на кадр I в следующей GOP для декодирования.

ClosedGOP:Межкадровое предсказание – этоGOPв ходе выполнения,На рисунке ниже показаны два примера CloseGOP.

В сценариях адаптивного потокового мультимедиа, таких как HLS и DASH, необходимо использовать ClosedGOP для обеспечения плавного переключения между потоками. Кроме того, аппаратные декодеры некоторых мобильных телефонов не могут хорошо поддерживать OpenGOP, и OpenGOP также можно закрыть напрямую.

Что такое DTS и PTS в видеопотоках?

DTS в основном используется для декодирования видео. Его полное название — Decoding Time Stamp, которое представляет собой временную метку декодирования.

PTS в основном используется для синхронизации и вывода видео на этапе декодирования. Его полное название — Presentation Time Stamp, которое представляет собой временную метку отображения.

При отсутствии B-кадров порядок вывода DTS и PTS одинаков. Поскольку двунаправленное предсказание B-кадров нарушает порядок декодирования и отображения, как только B-кадр существует, PTS и DTS неизбежно будут разными. В FFmpeg структура AVPacket используется для описания сжатых данных перед декодированием или кодированием, а структура AVFrame используется для описания исходных данных после декодирования или перед кодированием. Для видео AVFrame — это кадр видео. Когда этот кадр отображается пользователю, зависит от его PTS. DTS является членом AVPacket, указывающим, когда сжатый пакет должен быть декодирован. Если кодирование каждого кадра видео выполняется последовательно (порядок отображения), то время декодирования и отображения должно быть согласованным, но фактически в большинстве случаев кодирования. и стандартами декодирования, порядок кодирования и порядок ввода несовместимы, поэтому необходимы две разные временные метки, PTS и DTS.

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода