Descripción de datos del encabezado de la trama del protocolo h264
Los datos del encabezado de cuadro común de h264 son:
00 00 00 01?67 (SPS): SPS es el conjunto de parámetros de secuencia, También conocido como conjunto de parámetros de secuencia, SPS. SPS tiene un conjunto de parámetros globales para codificar una secuencia de vídeo. La llamada secuencia de video codificada es una secuencia estructural que codifica los datos de píxeles del video original cuadro por cuadro. Los parámetros de los que depende cada cuadro de datos codificados se almacenan en el conjunto de parámetros de la imagen. En términos generales, la unidad NAL de SPS y PPS suele estar ubicada al comienzo de todo el flujo de datos. Sin embargo, en algunos casos especiales, estas dos estructuras también pueden aparecer en medio de la transmisión. Las razones principales son las siguientes:
1: el decodificador necesita comenzar a decodificar en la mitad de la transmisión. /p>
2: El codificador cambió los parámetros de la transmisión (como la resolución de la imagen, etc.) durante el proceso de codificación;
00 00 00 01?68 (PPS): Además de el conjunto de parámetros de secuencia SPS, H.264 Otro conjunto de parámetros importante es el conjunto de parámetros de imagen (PPS). Normalmente, PPS es similar a SPS y se almacena por separado en una unidad NAL en el flujo simple de H.264, excepto que el valor nal_unit_type de la unidad PPS NAL es 8. En formatos encapsulados, PPS generalmente se almacena en el encabezado del archivo de video junto con SPS.
00 00 00 01?65 (cuadro IDR): "I cuadro" representa un cuadro clave, que puede entenderse como que este cuadro guarda completamente este cuadro y la decodificación solo se puede realizar en este cuadro (porque contiene la imagen completa)
00 00 00 01?61 (cuadro P): el cuadro P representa la diferencia entre este cuadro y el cuadro clave anterior (o cuadro P), que debe decodificarse La diferencia definida en este marco se superpone con el marco previamente almacenado en caché para generar el marco final. (El cuadro P también se llama cuadro de diferencia. No tiene datos de cuadro completos, solo los datos de diferencia del cuadro anterior)
Hay dos tipos de códigos de inicio, uno es el "00" de cuatro bytes 00" 00 01", y el otro es el "00 00 01" de tres bytes. "Ambos.
El marco H264 consta de un encabezado NALU y un cuerpo NALU. ¿Tipo?
---------------
F: 1 bit
protected_zero_bit. En la especificación H.264, este bit debe ser 0.
nal_ref_idc. NALU Por ejemplo, el decodificador puede descartar el NALU de 00 sin afectar la reproducción de la imagen; cuanto mayor es el valor, más importante es el NAL actual y el NAL actual debe protegerse primero. segmento, conjunto de parámetros de secuencia o conjunto de parámetros de imagen de un marco de referencia, este elemento de sintaxis debe ser mayor que 0
Tipo: 5 bits
nal_unit_type.
El tipo de unidad NALU (1 a 12 para H.264, 24 a 31 para aplicaciones distintas a H.264) se describe brevemente de la siguiente manera:
0 Indefinido
1-23 ? ¿Unidad NAL? Paquete de unidad NAL única
1 segmento de imagen sin particiones y sin IDR
2 segmentos de partición A
3 segmentos de partición B
4 segmentos Partición C
5 cortes en imágenes IDR
6 unidades de información de mejora suplementaria (SEI)
7 SPS
8 PPS
p>9 Fin de secuencia
10 Fin de secuencia
11 Préstamo de flujo de código
12 Relleno
13- 23 Reservado
24 STAP-A?Combinación única de paquetes de datos
25 STAP-B?Combinación única de paquetes de datos
26 MTAP16?Múltiples combinaciones de datos paquetes
p>
27 MTAP16? p>
27 MTAP24?Múltiples paquetes de datos combinados
28 Unidad de fragmentación FU-A
29 unidad de fragmento FU -B
30-31 indefinido