You are on page 1of 29

Trabajo en clase 7: Análisis de los Tipos de Frames

y el Parámetro GoP

José Espinoza1, Juan Inga1


1
Faculta de Ingeniería, Universidad de Cuenca,
Av. 12 de Abril y Av. Loja, 01.01.168 Cuenca, Ecuador
1
{jose.espinosaf, juan.inga}@ucuenca.edu.ec

Resumen. La codificación es el proceso de poner juntos los segmentos de sus


datos que parecen ilustrar una idea o un concepto (representados en su proyecto
como nodos). De esa forma, la codificación es una forma de hacer abstracción a
partir de los datos existentes en sus recursos para construir un mayor
entendimiento de las fuerzas que intervienen, esto también se lo puede ralizar
modificando el GoP.

Palabras Clave: Codificación, FFMPEG, kbps

1 Introducción

Mediante la siguiente practica se verificará que es el GoP, el mismo que es una


secuencia de cuadros correspondiente a un periodo de la estructura de modos de
procesamiento. Su función principal es permitir el acceso aleatorio a partes de la
secuencia. Sintaxis: Código de cabecera y código de tiempos correspondiente al
primer cuadro del GOP.

2 Marco teórico

Group of pictures

En codificación de vídeo, un grupo de imágenes, o estructura GOP, especifica el


orden en el que las imágenes tipo intra e inter son ordenadas.

El GOP es la unidad de acceso aleatorio, que se utiliza para declarar si las primeras
imágenes tipo B después de unas de tipo I pueden ser decodificadas correctamente en
caso de un acceso aleatorio.

Es un grupo de imágenes sucesivas dentro de un stream codificado de vídeo. Cada


stream de vídeo codificado consiste en sucesivos GOP, y es desde las imágenes que
contienen estos GOP desde donde se generan las imágenes visibles.
Un GOP puede contener los distintos tipos de imágenes:

 Imagen tipo I (codificación intra) - Es una imagen de referencia que


representa una imagen fija que es independiente de los otros tipos de
imágenes. Cada GOP empieza por una imagen de este tipo.
 Imagen tipo P (codificación mediante predicción) - Contiene información de
la compensación de movimiento de la imagen precedente, ya sea de tipo P o
I.
 Imagen tipo B (codificación mediante predicción bidireccional) - Contiene
diferente información de la imagen precedente y la siguiente, ya sean tipo I o
P, dentro del mismo GOP.
 En MPEG-1, hay un cuarto tipo, las imágenes DC, que contienen
información de baja frecuencia. Estos fueron creados con el fin de ser usados
para modos rápidos de búsqueda.

Un GOP siempre empieza con una imagen tipo I. A continuación, le siguen varias
imágenes tipo P, en cada caso, con varias imágenes de distancia. Finalmente, los
huecos restantes son ocupados por las imágenes de tipo B.

Las imágenes tipo I contiene la imagen entera, y no requieren ninguna información


adicional para reconstruirla. Por lo tanto, los errores que pueda haber dentro de una
estructura GOP serán corregidos por la siguiente imagen tipo I. Las imágenes tipo B
solo propagaran error en el estándar H.264, en el que las imágenes tipo B pueden ser
referenciadas por otras imágenes con el objetivo de lograr una mayor eficiencia de
compresión.

Cuantas más imágenes tipo I haya en un stream de vídeo, más fácil será su edición,
pero en contraposición este stream ocupará más tamaño. Para ahorrar ancho de banda
y espacio en el disco, los vídeos preparados para su difusión en Internet, solo tienen
una imagen tipo I por GOP.

La estructura GOP suele estar referenciada por dos números, por ejemplo, M=3,
N=12. El primero de ellos nos dice la distancia que hay entre dos imágenes tipo I o P.
El segundo nos dice la distancia que hay entre dos imágenes enteras, es decir, entre
dos imágenes tipo I: es la longitud del GOP. Siguiendo con el ejemplo, la estructura
que le correspondería sería: IBBPBBPBBPBB. En lugar del parámetro M también se
puede dar el número de imágenes tipo B que hay entre dos imágenes tipo I o P.

3 Desarrollo

1. Trabajar en grupos de dos personas.


2. Seleccionar y descargar cuatro secuencias de video del sitio web:Yuv
Sequences
Formato CIF o QCIF
Emplear secuencias con un número de 2000 frames como máximo.

3. Codificar cada una de las secuencias mediante el estándar H.264 (FFMPEG


(FFMPEG -libx libx264 )
O Emplear el parámetro bit rate(-b:v) para la codificación.
O Defina a su criterio el valor adecuado del parámetro –b:v
4. Para cada una de las secuencias codificadas, obtenga información acera de la
estructura GoP del video.
O Sugerencia: Emplear el comando ffprobe, la opción show_frames y
adicionalmente el comando Linux grep, para filtrar únicamente la información
pict_type.
O Realice una tabla indicando el valor del GoP obtenido para cada secuencia.
5. Investigue como modificar el valor del GoP durante la codificación y repita el
paso 3, para algún valor de GoP de su elección (por ejemplo:12 ,15 ,24 o 30 ).
Realizar el experimento para cada secuencia de video.
6. A continuación, repita el paso 4 y verifique si el tamaño GoP se ha modificado
acorde a la configuración realizada.
Se repite el mismo procedimiento con los otros dos videos
7,5
Ultimo video
4 Conclusiones y trabajos futuros

El bit rate que se selecciono fue de 300k, ya que se fue probando desde 50k pero este
ofrecía una calidad muy baja, a comparación del de 300k que su resolución era similar
al original.

El valor del GoP propio del video sin modificar fue de 250 ya que este es el número
de saltos que existía entre cada intervalo del parámetro I.

Para modificar el GoP con FFMPEG se utiliza la opción – g X. En donde X


representa el velo del GoP que deseemos colocar.

Luego al verificar los valores de las tablas de datos se verifico que el GoP es de 12, y
al visualizar el video no se nota diferencia. Por esto se puede decir que el valor de 12
para GoP no perjudica a la calidad del video. Esto se debe seleccionar dependiendo
que tiempo de información queremos priorizar la I, B o P.

Referencias

1. Iain E. Richardson, The H.264 Advanced Video Compression Standard, Wiley, Second
Edition, 2010

You might also like