En la codificación de vídeo , un grupo de imágenes ( GOP ) especifica el orden en que se organizan los fotogramas internos e externos . El GOP es una colección de imágenes sucesivas dentro de una secuencia de vídeo codificada. Cada secuencia de vídeo codificada consta de GOP sucesivos, a partir de los cuales se generan los fotogramas visibles. Encontrar un nuevo GOP en una secuencia de vídeo comprimida significa que el decodificador no necesita fotogramas anteriores para decodificar los siguientes, lo que permite una búsqueda rápida en el vídeo.
Elementos
Un GOP puede contener los siguientes tipos de imágenes:
- I frame (imagen codificada intra, que algunas fuentes afirman erróneamente que siempre es un fotograma clave, [ 1 ] pero no siempre se puede empezar con un I frame y decodificar los siguientes fotogramas limpiamente [ 2 ] ) – una imagen que se codifica independientemente de todas las demás imágenes, cada I frame se puede decodificar completamente por sí mismo. Cada GOP comienza (en orden de decodificación) con este tipo de fotograma.
- Marco IDR (Actualización instantánea del decodificador): Marco I con una marca que indica que ningún marco P o B subsiguiente tiene referencias que se remontan más allá de este marco I. Mediante el uso de estos marcos IDR, se forman GOP cerrados que no pueden hacer referencia a marcos fuera del GOP. [ 3 ] Los IDR son los verdaderos marcos clave junto con los marcos de acceso aleatorio limpios (puntos de recuperación), CLA.
- El fotograma P (imagen codificada predictiva) contiene información de diferencia compensada por movimiento con respecto a imágenes decodificadas previamente. En diseños más antiguos como MPEG-1 , H.262 / MPEG-2 y H.263 , cada fotograma P solo puede hacer referencia a una imagen, y esa imagen debe preceder al fotograma P tanto en el orden de visualización como en el de decodificación, y la referencia debe ser un fotograma I o P. Estas restricciones no se aplican en los estándares más recientes H.264/MPEG-4 AVC y HEVC .
- El fotograma B (imagen codificada bipredictiva) contiene información de diferencia compensada por movimiento relativa a las imágenes decodificadas previamente. En diseños antiguos como MPEG-1 y H.262/MPEG-2, cada fotograma B solo puede hacer referencia a dos fotogramas: el que lo precede en el orden de visualización y el que lo sigue, y todas las imágenes referenciadas deben ser fotogramas I o P. Estas restricciones no se aplican en los estándares más recientes H.264/MPEG-4 AVC y HEVC . A veces, un códec utiliza fotogramas B unidireccionales. Este es un fotograma P que, si bien no utiliza datos de un fotograma futuro, ningún otro fotograma depende de él. Una propiedad fundamental de los fotogramas B es que se pueden descartar sin afectar la correcta decodificación de otros fotogramas.
- El fotograma D (imagen codificada directamente en DC) sirve como representación de acceso rápido de un fotograma para mayor robustez ante pérdidas o avance rápido. Los fotogramas D solo se utilizan en vídeo MPEG-1 .
Un marco I indica el comienzo de un GOP. A continuación, le siguen varios marcos P y B. En diseños más antiguos, la estructura de ordenación y referencia permitida está relativamente restringida. [ 4 ]
Los fotogramas I contienen la imagen completa y no requieren información adicional para su reconstrucción. Por lo general, los codificadores utilizan estructuras GOP que hacen que cada fotograma I sea un "punto de acceso aleatorio limpio", de modo que la decodificación puede comenzar correctamente en un fotograma I y cualquier error dentro de la estructura GOP se corrige después de procesar un fotograma I correcto.
En los diseños más recientes de H.264/MPEG-4 AVC y HEVC , los codificadores tienen mucha más flexibilidad en cuanto a las estructuras de referencia. Pueden usar las mismas estructuras que se usaban en diseños anteriores, o bien, usar más imágenes como referencia y un orden de codificación más flexible con respecto al orden de visualización. También se les permite usar fotogramas B como referencia al codificar otros fotogramas (B o P). Esta flexibilidad adicional puede mejorar la eficiencia de la compresión, pero puede provocar la propagación de errores si se pierden o corrompen algunos datos. Una estructura popular para usar con los diseños más recientes es el uso de una jerarquía de fotogramas B. Los fotogramas B jerárquicos pueden proporcionar una muy buena eficiencia de compresión y también pueden limitar la propagación de errores, ya que la jerarquía puede garantizar que el número de imágenes afectadas por cualquier problema de corrupción de datos esté estrictamente limitado. [ 5 ]
En general, cuantos más fotogramas I tenga el flujo de vídeo, más editable será. Sin embargo, un mayor número de fotogramas I aumenta considerablemente la tasa de bits necesaria para codificar el vídeo.
Estructura
La estructura GOP se suele representar con dos números, por ejemplo, M = 3, N = 12. El primer número indica la distancia entre dos fotogramas de anclaje (I o P), también conocida como la longitud de un "mini-GOP". [ 6 ] El segundo indica la distancia entre dos imágenes completas (fotogramas I): es el tamaño del GOP. [ 7 ] En lugar del parámetro M, se puede utilizar el número máximo de fotogramas B entre dos fotogramas de anclaje consecutivos; este es el método utilizado por ffmpeg . [ 8 ]
Ejemplos:
- Para M =3, N =12 , la estructura GOP es IBBPBBPBBPBB . Hay 2 fotogramas B entre dos fotogramas de anclaje consecutivos.
- Para la secuencia IBBBBPBBBBPBBBB , tamaño de GOP N = 15 , distancia de anclaje M = 5. Hay 4 fotogramas B entre dos fotogramas de anclaje consecutivos.
La estructura GOP no necesita permanecer fija durante la codificación. Variar N para insertar un fotograma I en el cambio de escena es una técnica bien conocida. [ 9 ] Las técnicas más recientes también varían M en función de la cantidad de movimiento en el vídeo. [ 10 ]
Conceptos adicionales
Con H.264 y diseños posteriores que permiten estructuras de referencia altamente flexibles, un fotograma B en un GOP puede hacer referencia a un fotograma en un GOP diferente, en particular incluso antes del fotograma I, lo que hace que el fotograma I no sea IDR (no es un fotograma clave). [ 2 ] Un GOP que contiene cualquier fotograma de referencia externa de este tipo se conoce como un "GOP abierto". Lo opuesto es un GOP autocontenido, conocido como un "GOP cerrado". [ 6 ] En orden de presentación, un GOP puede comenzar con un fotograma B, pero no puede terminar con uno. Un GOP abierto comienza con un fotograma B y es un poco más eficiente porque comenzar con un fotograma I significa que se debe agregar un fotograma P adicional al final (un GOP no puede terminar con un fotograma B). [ 11 ]
Véase también
Referencias
- ↑ "Fotogramas clave, interfotogramas y compresión de vídeo" . 13 de abril de 2021.
- 1 2 "¿Fotogramas rotos debido a H.264 Open-GOP (DVB MPEG-TS) ?" . Foro de Avidemux . 2024-07-01 . Consultado el 2024-07-01 .
- ↑ McCarrel, Jarrod (4 de mayo de 2022). "¿Qué es "Grupo de imágenes" y por qué es importante?" . Venera Technologies . Recuperado el 22 de junio de 2024 .
- ↑ "B-Frames" . users.cs.cf.ac.uk . Consultado el 23 de septiembre de 2025 .
- ↑ " Compresión de vídeo mediante fotogramas B jerárquicos o pirámide B" . www.ramugedia.com
- 1 2 Vijayanagar, Krishna Rao (17 de diciembre de 2020). "GOP cerrado y GOP abierto: explicación simplificada - OTTVerse" . ottverse.com .
- ↑ "Manual de usuario del compresor 4" .
- ↑ "Documentación de códecs de FFmpeg" . ffmpeg.org .
bf entero (codificación, vídeo) Establece el número máximo de fotogramas B entre fotogramas que no son B.
- ↑ Jeehong Lee; Ilhong Shin; Hyunwook Park (octubre de 2006). "Asignación intra-fotograma adaptativa y estimación de tasa de bits para longitud de GOP variable en H.264" . IEEE Transactions on Circuits and Systems for Video Technology . 16 (10): 1271–1279 . doi : 10.1109/TCSVT.2006.881856 .
- ↑ "Docs/Appendix-Adaptive-Prediction-Structure.md · master · Alliance for Open Media / SVT-AV1 · GitLab" . GitLab . 23 de agosto de 2023.
- ↑ "Compresión MPEG y H.264" (PDF) . Consultado el 2 de julio de 2024 .
- MPEG
- Compresión de vídeo