MPEG-1 es un estándar para la compresión sin pérdida de vídeo y audio . Está diseñado para comprimir vídeo digital sin procesar con calidad VHS y audio de CD a aproximadamente 1,5 Mbit/s (relaciones de compresión de 26:1 y 6:1 respectivamente) [ 2] sin pérdida excesiva de calidad, lo que hace que los CD de vídeo , la televisión digital por cable o satélite y la transmisión de audio digital (DAB) sean prácticos. [3] [4]
En la actualidad, el MPEG-1 se ha convertido en el formato de audio y vídeo con pérdida de calidad más compatible del mundo y se utiliza en una gran cantidad de productos y tecnologías. Tal vez la parte más conocida del estándar MPEG-1 sea la primera versión del formato de audio MP3 que introdujo.
El estándar MPEG-1 está publicado como ISO / IEC 11172 , titulado Tecnología de la información: codificación de imágenes en movimiento y audio asociado para medios de almacenamiento digital de hasta aproximadamente 1,5 Mbit/s .
La norma consta de las cinco partes siguientes : [5] [6] [7] [8] [9]
El predecesor de MPEG-1 para la codificación de vídeo fue el estándar H.261 producido por el CCITT (ahora conocido como ITU-T ). La arquitectura básica establecida en H.261 fue la estructura de codificación de vídeo híbrida DCT con compensación de movimiento . [10] [11] Utiliza macrobloques de tamaño 16×16 con estimación de movimiento basada en bloques en el codificador y compensación de movimiento utilizando vectores de movimiento seleccionados por el codificador en el decodificador, con codificación de diferencia residual utilizando una transformada de coseno discreta (DCT) de tamaño 8×8, cuantificación escalar y códigos de longitud variable (como los códigos de Huffman ) para la codificación de entropía . [12] H.261 fue el primer estándar práctico de codificación de vídeo, y todos sus elementos de diseño descritos también se utilizaron en MPEG-1. [13]
Siguiendo el modelo del exitoso enfoque colaborativo y las tecnologías de compresión desarrolladas por el Grupo Conjunto de Expertos en Fotografía y el Grupo de Expertos en Telefonía del CCITT (creadores del estándar de compresión de imágenes JPEG y del estándar H.261 para videoconferencias respectivamente), el grupo de trabajo del Grupo de Expertos en Imágenes en Movimiento (MPEG) se estableció en enero de 1988, por iniciativa de Hiroshi Yasuda ( Nippon Telegraph and Telephone ) y Leonardo Chiariglione ( CSELT ). [14] MPEG se formó para abordar la necesidad de formatos de video y audio estándar , y para desarrollar H.261 para obtener una mejor calidad mediante el uso de métodos de codificación algo más complejos (por ejemplo, que admiten una mayor precisión para los vectores de movimiento). [3] [15] [16]
El desarrollo del estándar MPEG-1 comenzó en mayo de 1988. Catorce propuestas de códecs de vídeo y catorce de audio fueron presentadas por empresas e instituciones individuales para su evaluación. Los códecs fueron probados exhaustivamente en cuanto a complejidad computacional y calidad subjetiva (percibida por los humanos), a velocidades de datos de 1,5 Mbit/s. Esta velocidad de bits específica fue elegida para la transmisión a través de líneas T-1 / E-1 y como la velocidad de datos aproximada de los CD de audio . [17] Los códecs que sobresalieron en estas pruebas se utilizaron como base para el estándar y se refinaron aún más, con características adicionales y otras mejoras que se incorporaron en el proceso. [18]
Después de 20 reuniones del grupo completo en varias ciudades alrededor del mundo, y 4 años y medio de desarrollo y pruebas, el estándar final (para las partes 1 a 3) fue aprobado a principios de noviembre de 1992 y publicado unos meses después. [19] La fecha de finalización informada del estándar MPEG-1 varía mucho: se produjo un borrador de estándar prácticamente completo en septiembre de 1990, y desde ese momento, solo se introdujeron cambios menores. [3] El borrador del estándar estaba disponible públicamente para su compra. [20] El estándar se terminó con la reunión del 6 de noviembre de 1992. [21] El Berkeley Plateau Multimedia Research Group desarrolló un decodificador MPEG-1 en noviembre de 1992. [22] En julio de 1990, antes de que se hubiera escrito el primer borrador del estándar MPEG-1, se comenzó a trabajar en un segundo estándar, MPEG-2 , [23] destinado a extender la tecnología MPEG-1 para proporcionar video de calidad de transmisión completa (según CCIR 601 ) a altas tasas de bits (3–15 Mbit/s) y soporte para video entrelazado . [24] Debido en parte a la similitud entre los dos códecs, el estándar MPEG-2 incluye compatibilidad total con el video MPEG-1, por lo que cualquier decodificador MPEG-2 puede reproducir videos MPEG-1. [25]
Cabe destacar que el estándar MPEG-1 define de manera muy estricta el flujo de bits y la función del decodificador, pero no define cómo se debe realizar la codificación MPEG-1, aunque se proporciona una implementación de referencia en ISO/IEC-11172-5. [2] Esto significa que la eficiencia de la codificación MPEG-1 puede variar drásticamente dependiendo del codificador utilizado, y generalmente significa que los codificadores más nuevos funcionan significativamente mejor que sus predecesores. [26] Las primeras tres partes (Sistemas, Video y Audio) de ISO/IEC 11172 se publicaron en agosto de 1993. [27]
Debido a su antigüedad, MPEG-1 ya no está cubierto por ninguna patente esencial y, por lo tanto, se puede utilizar sin obtener una licencia ni pagar ninguna tarifa. [34] [35] [36] [37] [38] La base de datos de patentes ISO enumera una patente para ISO 11172, US 4.472.747, que expiró en 2003. [39] El borrador casi completo del estándar MPEG-1 estaba disponible públicamente como ISO CD 11172 [20] el 6 de diciembre de 1991. [1] Ni el artículo de Kuro5hin de julio de 2008 "Estado de las patentes de MPEG-1, H.261 y MPEG-2", [40] ni un hilo de agosto de 2008 en la lista de correo gstreamer-devel [41] pudieron enumerar una sola patente vigente de capa I/II de vídeo MPEG-1 y audio MPEG-1. En una discusión de mayo de 2009 en la lista de correo whatwg se mencionó la patente US 5.214.678 como posible patente que cubra el formato MPEG-1 Audio Layer II. [42] Presentada en 1990 y publicada en 1993, esta patente ya ha expirado. [43]
No se pudo implementar un decodificador y codificador MPEG-1 completo, con "audio de capa III", sin pagar regalías, ya que había empresas que exigían el pago de patentes para las implementaciones de audio de capa III de MPEG-1, como se analiza en el artículo sobre MP3 . Todas las patentes del mundo relacionadas con MP3 expiraron el 30 de diciembre de 2017, lo que hace que este formato sea totalmente gratuito. [44] El 23 de abril de 2017, Fraunhofer IIS dejó de cobrar por el programa de licencias de MP3 de Technicolor para ciertas patentes y software relacionados con MP3. [45]
Las siguientes corporaciones presentaron declaraciones ante la ISO diciendo que poseían patentes para el formato de video MPEG-1 (ISO/IEC-11172-2), aunque todas esas patentes han expirado desde entonces. [46]
La parte 1 del estándar MPEG-1 cubre los sistemas y está definida en ISO/IEC-11172-1.
Los sistemas MPEG-1 especifican el diseño lógico y los métodos utilizados para almacenar audio, video y otros datos codificados en un flujo de bits estándar y para mantener la sincronización entre los diferentes contenidos. Este formato de archivo está diseñado específicamente para el almacenamiento en medios y la transmisión a través de canales de comunicación que se consideran relativamente confiables. El estándar solo define una protección limitada contra errores y pequeños errores en el flujo de bits pueden causar defectos notables.
Esta estructura fue posteriormente denominada flujo de programa MPEG : "El diseño de los sistemas MPEG-1 es esencialmente idéntico a la estructura del flujo de programa MPEG-2". [48] Esta terminología es más popular, precisa (la diferencia de un flujo de transporte MPEG ) y será la que se utilizará aquí.
Los flujos de programa (PS) se ocupan de combinar múltiples flujos elementales en paquetes (normalmente, un solo PES de audio y video) en un solo flujo, lo que garantiza la entrega simultánea y mantiene la sincronización. La estructura PS se conoce como multiplex o formato contenedor .
Las marcas de tiempo de presentación (PTS) existen en PS para corregir la inevitable disparidad entre los valores SCR de audio y video (corrección de base de tiempo). Los valores PTS de 90 kHz en el encabezado PS le indican al decodificador qué valores SCR de video coinciden con qué valores SCR de audio. [49] PTS determina cuándo mostrar una parte de un programa MPEG y también es utilizado por el decodificador para determinar cuándo se pueden descartar datos del búfer . [51] El decodificador retrasará el video o el audio hasta que llegue el segmento correspondiente del otro y pueda decodificarse.
El manejo de PTS puede ser problemático. Los decodificadores deben aceptar múltiples secuencias de programas que se han concatenado (unido secuencialmente). Esto hace que los valores de PTS en el medio del video se restablezcan a cero, y luego comiencen a incrementarse nuevamente. Estas disparidades en la transición de PTS pueden causar problemas de sincronización que el decodificador debe manejar de manera especial.
Además, se requieren marcas de tiempo de decodificación (DTS) debido a los fotogramas B. Con fotogramas B en el flujo de video, los fotogramas adyacentes deben codificarse y decodificarse fuera de orden (fotogramas reordenados). DTS es bastante similar a PTS, pero en lugar de solo manejar fotogramas secuenciales, contiene las marcas de tiempo adecuadas para indicarle al decodificador cuándo decodificar y mostrar el siguiente fotograma B (tipos de fotogramas explicados a continuación), antes de su fotograma de anclaje (P o I). Sin fotogramas B en el video, los valores PTS y DTS son idénticos. [52]
Para generar el PS, el multiplexor intercalará los (dos o más) flujos elementales en paquetes. Esto se hace para que los paquetes de los flujos simultáneos puedan transferirse por el mismo canal y se garantice que ambos lleguen al decodificador exactamente al mismo tiempo. Este es un caso de multiplexación por división de tiempo .
Determinar cuántos datos de cada flujo deben estar en cada segmento intercalado (el tamaño del intercalado) es complicado, pero es un requisito importante. Un intercalado inadecuado dará como resultado desbordamientos o subdesbordamientos del búfer, ya que el receptor obtiene más de un flujo del que puede almacenar (por ejemplo, audio), antes de obtener suficientes datos para decodificar el otro flujo simultáneo (por ejemplo, video). El Verificador de Buffering de Video MPEG (VBV) ayuda a determinar si un PS multiplexado puede ser decodificado por un dispositivo con una tasa de transferencia de datos y un tamaño de búfer especificados. [53] Esto ofrece retroalimentación al multiplexor y al codificador, de modo que puedan cambiar el tamaño del multiplexor o ajustar las tasas de bits según sea necesario para el cumplimiento.
La segunda parte del estándar MPEG-1 cubre el vídeo y está definida en la norma ISO/IEC-11172-2. El diseño estuvo muy influenciado por H.261 .
El vídeo MPEG-1 aprovecha los métodos de compresión perceptual para reducir significativamente la velocidad de datos que requiere una transmisión de vídeo. Reduce o descarta por completo la información en determinadas frecuencias y áreas de la imagen que el ojo humano tiene una capacidad limitada para percibir por completo. También aprovecha la redundancia temporal (a lo largo del tiempo) y espacial (a lo largo de una imagen) común en el vídeo para lograr una mejor compresión de datos de la que sería posible de otro modo. (Véase: Compresión de vídeo )
Antes de codificar el vídeo en formato MPEG-1, el espacio de color se transforma en Y′CbCr (Y′=Luma, Cb=Croma azul, Cr=Croma rojo). La luminancia (brillo, resolución) se almacena por separado del croma (color, tono, fase) y se separa aún más en componentes rojo y azul.
El croma también se submuestrea a 4:2:0 , lo que significa que se reduce a la mitad de la resolución verticalmente y la mitad de la resolución horizontalmente, es decir, a solo una cuarta parte del número de muestras utilizadas para el componente de luminancia del vídeo. [2] Este uso de una resolución más alta para algunos componentes de color es similar en concepto al filtro de patrón Bayer que se utiliza comúnmente para el sensor de captura de imágenes en las cámaras digitales a color. Debido a que el ojo humano es mucho más sensible a pequeños cambios en el brillo (el componente Y) que en el color (los componentes Cr y Cb), el submuestreo de croma es una forma muy eficaz de reducir la cantidad de datos de vídeo que deben comprimirse. Sin embargo, en vídeos con detalles finos (alta complejidad espacial ), esto puede manifestarse como artefactos de aliasing de croma. En comparación con otros artefactos de compresión digital , este problema parece ser muy raramente una fuente de molestia. Debido al submuestreo, el vídeo Y′CbCr 4:2:0 se almacena normalmente utilizando dimensiones pares ( divisibles por 2 horizontal y verticalmente).
El color Y′CbCr suele denominarse informalmente YUV para simplificar la notación, aunque ese término se aplica más apropiadamente a un formato de color algo diferente. De manera similar, los términos luminancia y crominancia se utilizan a menudo en lugar de los términos (más precisos) luma y croma.
MPEG-1 admite resoluciones de hasta 4095×4095 (12 bits) y velocidades de bits de hasta 100 Mbit/s. [16]
Los vídeos MPEG-1 se suelen ver con una resolución de formato de entrada de origen (SIF): 352×240, 352×288 o 320×240. Estas resoluciones relativamente bajas, combinadas con una tasa de bits inferior a 1,5 Mbit/s, conforman lo que se conoce como flujo de bits de parámetros restringidos (CPB), posteriormente rebautizado como perfil de "nivel bajo" (LL) en MPEG-2. Estas son las especificaciones de vídeo mínimas que cualquier decodificador debería poder manejar para ser considerado compatible con MPEG-1. Se seleccionó para proporcionar un buen equilibrio entre calidad y rendimiento, lo que permitía el uso de hardware razonablemente económico de la época. [3] [16]
MPEG-1 tiene varios tipos de fotogramas o imágenes que cumplen distintas funciones. El más importante, aunque más simple, es el I-frame .
"I-frame" es una abreviatura de "Intra-frame", llamado así porque se puede decodificar independientemente de cualquier otro fotograma. También se los puede conocer como imágenes I o fotogramas clave debido a su función algo similar a los fotogramas clave utilizados en la animación. Los fotogramas I pueden considerarse prácticamente idénticos a las imágenes JPEG de referencia . [16]
La búsqueda a alta velocidad en un vídeo MPEG-1 solo es posible hasta el fotograma I más cercano. Al cortar un vídeo, no es posible iniciar la reproducción de un segmento de vídeo antes del primer fotograma I del segmento (al menos no sin una recodificación que requiere un gran esfuerzo computacional). Por este motivo, en las aplicaciones de edición se utilizan vídeos MPEG que solo contienen fotogramas I.
La compresión de solo I-frame es muy rápida, pero produce archivos de gran tamaño: un factor de 3× (o más) más grande que el video MPEG-1 codificado normalmente, dependiendo de cuán complejo temporalmente sea un video específico. [3] El video MPEG-1 de solo I-frame es muy similar al video MJPEG . Tanto es así que se puede hacer una conversión de muy alta velocidad y teóricamente sin pérdidas (en realidad, hay errores de redondeo) de un formato a otro, siempre que se sigan un par de restricciones (espacio de color y matriz de cuantificación) en la creación del flujo de bits. [54]
La longitud entre fotogramas I se conoce como tamaño del grupo de imágenes (GOP). MPEG-1 utiliza habitualmente un tamaño de GOP de 15 a 18, es decir, 1 fotograma I por cada 14 a 17 fotogramas que no son I (una combinación de fotogramas P y B). Con codificadores más inteligentes, el tamaño del GOP se elige de forma dinámica, hasta un límite máximo preseleccionado. [16]
Se establecen límites en la cantidad máxima de cuadros entre cuadros I debido a la complejidad de la decodificación, el tamaño del búfer del decodificador, el tiempo de recuperación después de errores de datos, la capacidad de búsqueda y la acumulación de errores IDCT en las implementaciones de baja precisión más comunes en los decodificadores de hardware (consulte: IEEE -1180).
"P-frame" es una abreviatura de "predicted-frame". También se los puede llamar cuadros predichos hacia adelante o inter-frames (los cuadros B también son inter-frames).
Los fotogramas P existen para mejorar la compresión aprovechando la redundancia temporal (a lo largo del tiempo) de un vídeo. Los fotogramas P almacenan únicamente la diferencia de imagen con respecto al fotograma (ya sea un fotograma I o un fotograma P) inmediatamente anterior (este fotograma de referencia también se denomina fotograma de anclaje ).
La diferencia entre un fotograma P y su fotograma de anclaje se calcula utilizando vectores de movimiento en cada macrobloque del fotograma (ver a continuación). Estos datos de vectores de movimiento se incorporarán al fotograma P para que los utilice el decodificador.
Un cuadro P puede contener cualquier número de bloques intracodificados (DCT y cuantificados), además de cualquier bloque predicho hacia adelante (vectores de movimiento). [55]
Si un vídeo cambia drásticamente de un fotograma al siguiente (como un corte ), es más eficiente codificarlo como un fotograma I.
"B-frame" significa "bidirectional-frame" (marco bidireccional) o "bipredictive frame" (marco bipredictivo). También se los conoce como cuadros predichos hacia atrás o imágenes B. Los cuadros B son bastante similares a los cuadros P, excepto que pueden hacer predicciones utilizando tanto los cuadros anteriores como los futuros (es decir, dos cuadros de anclaje).
Por lo tanto, es necesario que el reproductor primero decodifique el siguiente fotograma de anclaje I o P secuencialmente después del fotograma B, antes de que el fotograma B pueda decodificarse y mostrarse. Esto significa que la decodificación de fotogramas B requiere búferes de datos más grandes y provoca un mayor retraso tanto en la decodificación como durante la codificación. Esto también requiere la función de marcas de tiempo de decodificación (DTS) en el flujo del contenedor/sistema (consulte más arriba). Como tal, los fotogramas B han sido objeto de mucha controversia durante mucho tiempo, a menudo se evitan en los videos y, a veces, los decodificadores de hardware no los admiten por completo.
No se predicen otros fotogramas a partir de un fotograma B. Debido a esto, se puede insertar un fotograma B con una tasa de bits muy baja, donde sea necesario, para ayudar a controlar la tasa de bits. Si esto se hiciera con un fotograma P, se predecirían los fotogramas P futuros a partir de él y se reduciría la calidad de toda la secuencia. Sin embargo, de manera similar, el futuro fotograma P debe codificar todos los cambios entre él y el fotograma de anclaje I o P anterior. Los fotogramas B también pueden ser beneficiosos en videos donde el fondo detrás de un objeto se revela a lo largo de varios fotogramas, o en transiciones de desvanecimiento, como cambios de escena. [3] [16]
Un marco B puede contener cualquier número de bloques intracodificados y bloques predichos hacia adelante, además de bloques predichos hacia atrás o predichos bidireccionalmente. [16] [55]
El formato MPEG-1 tiene un tipo de fotograma único que no se encuentra en los estándares de vídeo posteriores. Los "fotogramas D" o imágenes DC son imágenes codificadas de forma independiente (intrafotogramas) que se han codificado utilizando únicamente coeficientes de transformación DC (los coeficientes AC se eliminan al codificar fotogramas D; consulte DCT a continuación) y, por lo tanto, son de muy baja calidad. Los fotogramas I, P o B nunca hacen referencia a los fotogramas D. Los fotogramas D solo se utilizan para vistas previas rápidas de vídeo, por ejemplo, cuando se busca en un vídeo a alta velocidad. [3]
Si se cuenta con un equipo de decodificación de rendimiento moderadamente superior, se puede lograr una vista previa rápida decodificando fotogramas I en lugar de fotogramas D. Esto proporciona vistas previas de mayor calidad, ya que los fotogramas I contienen coeficientes de CA y de CC. Si el codificador puede suponer que los decodificadores tienen capacidad de decodificación rápida de fotogramas I, puede ahorrar bits al no enviar fotogramas D (mejorando así la compresión del contenido de vídeo). Por este motivo, los fotogramas D rara vez se utilizan en la codificación de vídeo MPEG-1, y la función de fotogramas D no se ha incluido en ningún estándar de codificación de vídeo posterior.
El formato MPEG-1 opera en video en una serie de bloques de 8x8 para cuantificación. Sin embargo, para reducir la tasa de bits necesaria para los vectores de movimiento y debido a que el croma (color) se submuestrea por un factor de 4, cada par de bloques de croma (rojo y azul) corresponde a 4 bloques de luminancia diferentes. Es decir, para 4 bloques de luminancia de tamaño 8x8, hay un bloque Cb de 8x8 y un bloque Cr de 8x8. Este conjunto de 6 bloques, con una resolución de imagen de 16x16, se procesa en conjunto y se denomina macrobloque .
Todos estos bloques de 8x8 se someten independientemente a DCT y cuantificación.
Un macrobloque es la unidad independiente más pequeña de video (en color). Los vectores de movimiento (ver a continuación) operan únicamente a nivel de macrobloque.
Si la altura o el ancho del video no son múltiplos exactos de 16, aún se deben codificar y decodificar filas y columnas completas de macrobloques para completar la imagen (aunque los píxeles decodificados adicionales no se muestran).
Para reducir la cantidad de redundancia temporal en un video, solo se actualizan los bloques que cambian (hasta el tamaño máximo de GOP). Esto se conoce como reposición condicional. Sin embargo, no es muy eficaz por sí solo. El movimiento de los objetos o de la cámara puede provocar que sea necesario actualizar grandes porciones del cuadro, aunque solo haya cambiado la posición de los objetos codificados previamente. A través de la estimación de movimiento, el codificador puede compensar este movimiento y eliminar una gran cantidad de información redundante.
El codificador compara el fotograma actual con las partes adyacentes del vídeo desde el fotograma de anclaje (fotograma I o P anterior) en un patrón de diamante, hasta un límite de radio predefinido (específico del codificador) desde el área del macrobloque actual. Si se encuentra una coincidencia, solo es necesario codificar en el fotograma intermedio (fotograma P o B) la dirección y la distancia (es decir, el vector del movimiento ) desde el área de vídeo anterior hasta el macrobloque actual. El proceso inverso, que realiza el decodificador para reconstruir la imagen, se denomina compensación de movimiento .
Sin embargo, un macrobloque predicho rara vez coincide perfectamente con la imagen actual. Las diferencias entre el área de coincidencia estimada y el cuadro/macrobloque real se denominan error de predicción. Cuanto mayor sea la cantidad de error de predicción, más datos se deben codificar adicionalmente en el cuadro. Para una compresión de video eficiente, es muy importante que el codificador sea capaz de realizar una estimación de movimiento de manera efectiva y precisa.
Los vectores de movimiento registran la distancia entre dos áreas de la pantalla en función de la cantidad de píxeles (también llamados pels). El vídeo MPEG-1 utiliza una precisión de vector de movimiento (MV) de la mitad de un píxel, o medio pel. Cuanto más fina sea la precisión de los MV, más precisa será la coincidencia y más eficiente será la compresión. Sin embargo, una mayor precisión tiene sus desventajas. Una mayor precisión de MV da como resultado el uso de una mayor cantidad de datos para representar el MV, ya que se deben almacenar números mayores en el cuadro para cada MV, una mayor complejidad de codificación ya que se requieren mayores niveles de interpolación en el macrobloque tanto para el codificador como para el decodificador, y rendimientos decrecientes (ganancias mínimas) con MV de mayor precisión. La precisión de medio pel se eligió como la desventaja ideal para ese momento. (Ver: qpel )
Dado que es probable que los macrobloques vecinos tengan vectores de movimiento muy similares, esta información redundante se puede comprimir de manera bastante efectiva si se almacena codificada en DPCM . Solo es necesario almacenar en el flujo de bits final la cantidad (más pequeña) de diferencia entre los MV de cada macrobloque.
Los fotogramas P tienen un vector de movimiento por macrobloque, en relación con el fotograma de anclaje anterior. Sin embargo, los fotogramas B pueden utilizar dos vectores de movimiento: uno del fotograma de anclaje anterior y otro del fotograma de anclaje futuro. [55]
Los macrobloques parciales y los bordes/barras negros codificados en el video que no caen exactamente en el límite de un macrobloque causan estragos en la predicción de movimiento. La información de relleno/borde del bloque evita que el macrobloque coincida exactamente con cualquier otra área del video y, por lo tanto, se debe codificar información de error de predicción significativamente mayor para cada uno de las varias docenas de macrobloques parciales a lo largo del borde de la pantalla. La codificación y cuantificación DCT (ver a continuación) tampoco es tan efectiva cuando hay un contraste de imagen grande/nítido en un bloque.
Existe un problema aún más grave con los macrobloques que contienen un ruido de borde significativo y aleatorio , donde la imagen pasa a ser (normalmente) negra. Todos los problemas anteriores también se aplican al ruido de borde. Además, la aleatoriedad añadida es simplemente imposible de comprimir significativamente. Todos estos efectos reducirán la calidad (o aumentarán la tasa de bits) del video sustancialmente.
Cada bloque de 8x8 se codifica aplicando primero una transformada de coseno discreta hacia delante (FDCT) y luego un proceso de cuantificación. El proceso FDCT (por sí mismo) es teóricamente sin pérdidas y se puede revertir aplicando una DCT inversa ( IDCT ) para reproducir los valores originales (en ausencia de errores de cuantificación y redondeo). En realidad, hay algunos errores de redondeo (a veces grandes) introducidos tanto por la cuantificación en el codificador (como se describe en la siguiente sección) como por el error de aproximación IDCT en el decodificador. La precisión mínima permitida de una aproximación IDCT del decodificador está definida por la norma ISO/IEC 23002-1. (Antes de 2006, estaba especificada por la norma IEEE 1180-1990).
El proceso FDCT convierte el bloque de 8×8 de valores de píxeles sin comprimir (valores de brillo o diferencia de color) en una matriz indexada de 8×8 de valores de coeficientes de frecuencia . Uno de ellos es el "coeficiente DC" (estadísticamente de alta varianza), que representa el valor promedio de todo el bloque de 8×8. Los otros 63 coeficientes son los "coeficientes AC" estadísticamente más pequeños, que tienen valores positivos o negativos, cada uno de los cuales representa desviaciones sinusoidales del valor del bloque plano representado por el coeficiente DC.
Un ejemplo de un bloque FDCT codificado de 8×8:
Dado que el valor del coeficiente de CC está correlacionado estadísticamente de un bloque al siguiente, se comprime mediante codificación DPCM . Solo la cantidad (menor) de diferencia entre cada valor de CC y el valor del coeficiente de CC en el bloque a su izquierda debe representarse en el flujo de bits final.
Además, la conversión de frecuencia realizada mediante la aplicación de la DCT proporciona una función de decorrelación estadística para concentrar eficientemente la señal en menos valores de alta amplitud antes de aplicar la cuantificación (ver a continuación).
La cuantificación es, esencialmente, el proceso de reducir la precisión de una señal dividiéndola por un tamaño de paso mayor y redondeándola a un valor entero (es decir, encontrando el múltiplo más cercano y descartando el resto).
El cuantificador a nivel de cuadro es un número de 0 a 31 (aunque los codificadores normalmente omiten o desactivan algunos de los valores extremos) que determina cuánta información se eliminará de un cuadro determinado. El cuantificador a nivel de cuadro normalmente lo selecciona dinámicamente el codificador para mantener una determinada tasa de bits especificada por el usuario o (con mucha menos frecuencia) lo especifica directamente el usuario.
Una "matriz de cuantificación" es una cadena de 64 números (que van de 0 a 255) que le indica al codificador cuán relativamente importante o no importante es cada pieza de información visual. Cada número de la matriz corresponde a un determinado componente de frecuencia de la imagen de video.
Un ejemplo de matriz de cuantificación:
La cuantificación se realiza tomando cada uno de los 64 valores de frecuencia del bloque DCT, dividiéndolos por el cuantificador de nivel de cuadro y luego dividiéndolos por sus valores correspondientes en la matriz de cuantificación. Finalmente, el resultado se redondea hacia abajo. Esto reduce significativamente, o elimina por completo, la información en algunos componentes de frecuencia de la imagen. Normalmente, la información de alta frecuencia es menos importante visualmente, y por lo tanto las frecuencias altas se cuantifican mucho más fuertemente (se reducen drásticamente). MPEG-1 en realidad utiliza dos matrices de cuantificación separadas, una para intrabloques (bloques I) y otra para interbloques (bloques P y B), por lo que la cuantificación de diferentes tipos de bloques se puede realizar de forma independiente y, por lo tanto, de manera más efectiva. [3]
Este proceso de cuantificación generalmente reduce una cantidad significativa de coeficientes de CA a cero (conocidos como datos dispersos), que luego pueden comprimirse de manera más eficiente mediante codificación de entropía (compresión sin pérdida) en el siguiente paso.
Un ejemplo de bloque DCT cuantificado:
La cuantificación elimina una gran cantidad de datos y es el principal paso de procesamiento con pérdida en la codificación de video MPEG-1. También es la fuente principal de la mayoría de los artefactos de compresión de video MPEG-1 , como bloques , bandas de color , ruido , zumbido , decoloración, etc. Esto sucede cuando el video se codifica con una tasa de bits insuficiente y, por lo tanto, el codificador se ve obligado a usar cuantificadores de alto nivel de cuadro ( cuantificación fuerte ) durante gran parte del video.
Varios pasos en la codificación de video MPEG-1 son sin pérdida, lo que significa que se revertirán al decodificar, para producir exactamente los mismos valores (originales). Dado que estos pasos de compresión de datos sin pérdida no agregan ruido ni cambian el contenido (a diferencia de la cuantificación), a veces se los conoce como codificación sin ruido . [47] Dado que la compresión sin pérdida tiene como objetivo eliminar la mayor cantidad posible de redundancia, se conoce como codificación de entropía en el campo de la teoría de la información .
Los coeficientes de los bloques DCT cuantificados tienden a cero hacia la parte inferior derecha. La máxima compresión se puede lograr mediante un escaneo en zigzag del bloque DCT comenzando desde la parte superior izquierda y utilizando técnicas de codificación Run-length.
Los coeficientes de CC y los vectores de movimiento están codificados en DPCM .
La codificación por longitud de ejecución (RLE) es un método simple de compresión de la repetición. Una cadena secuencial de caracteres, sin importar su longitud, se puede reemplazar por unos pocos bytes, anotando el valor que se repite y cuántas veces. Por ejemplo, si alguien dijera "cinco nueves", sabríamos que se refiere al número: 99999.
La RLE es particularmente eficaz después de la cuantificación, ya que una cantidad significativa de los coeficientes de CA ahora son cero (denominados datos dispersos) y se pueden representar con solo un par de bytes. Esto se almacena en una tabla de Huffman bidimensional especial que codifica la longitud de ejecución y el carácter de fin de ejecución.
La codificación Huffman es un método de codificación de entropía muy popular y relativamente simple, que se utiliza en el vídeo MPEG-1 para reducir el tamaño de los datos. Los datos se analizan para encontrar cadenas que se repitan con frecuencia. A continuación, esas cadenas se colocan en una tabla especial, y a los datos que se repiten con más frecuencia se les asigna el código más corto. Esto mantiene los datos lo más pequeños posible con esta forma de compresión. [47] Una vez que se construye la tabla, esas cadenas de datos se reemplazan con sus códigos (mucho más pequeños), que hacen referencia a la entrada correspondiente en la tabla. El decodificador simplemente invierte este proceso para producir los datos originales.
Este es el paso final en el proceso de codificación de video, por lo que el resultado de la codificación Huffman se conoce como "flujo de bits" de video MPEG-1.
Los fotogramas I almacenan información completa del fotograma dentro del fotograma y, por lo tanto, son adecuados para el acceso aleatorio. Los fotogramas P proporcionan compresión utilizando vectores de movimiento relativos al fotograma anterior (I o P). Los fotogramas B proporcionan una compresión máxima, pero requieren el fotograma anterior y el siguiente para el cálculo. Por lo tanto, el procesamiento de fotogramas B requiere más búfer en el lado decodificado. Se debe seleccionar una configuración del grupo de imágenes (GOP) en función de estos factores. Las secuencias de solo fotogramas I brindan la menor compresión, pero son útiles para el acceso aleatorio, FF/FR y la capacidad de edición. Las secuencias de fotogramas I y P brindan una compresión moderada, pero agregan un cierto grado de acceso aleatorio, funcionalidad FF/FR. Las secuencias de fotogramas I, P y B brindan una compresión muy alta, pero también aumentan significativamente el retraso de codificación/decodificación. Por lo tanto, estas configuraciones no son adecuadas para aplicaciones de videotelefonía o videoconferencia.
La velocidad de datos típica de un fotograma I es de 1 bit por píxel, mientras que la de un fotograma P es de 0,1 bit por píxel y la de un fotograma B, de 0,015 bit por píxel. [56]
La parte 3 del estándar MPEG-1 cubre el audio y está definida en ISO/IEC-11172-3.
El audio MPEG-1 utiliza la psicoacústica para reducir significativamente la velocidad de datos que requiere una transmisión de audio. Reduce o descarta por completo ciertas partes del audio que deduce que el oído humano no puede escuchar , ya sea porque se encuentran en frecuencias en las que el oído tiene una sensibilidad limitada o están enmascaradas por otros sonidos (normalmente más fuertes). [57]
Modos de codificación de canales:
El audio MPEG-1 se divide en tres capas. Cada capa superior es más compleja computacionalmente y, en general, más eficiente a tasas de bits más bajas que la anterior. [16] Las capas son semicompatibles con versiones anteriores, ya que las capas superiores reutilizan tecnologías implementadas por las capas inferiores. Un decodificador de capa II "completo" también puede reproducir audio de capa I, pero no audio de capa III, aunque no todos los reproductores de nivel superior son "completos". [57]
MPEG-1 Audio Layer I es una versión simplificada de MPEG-1 Audio Layer II. [18] La capa I utiliza un tamaño de cuadro más pequeño de 384 muestras para lograr un retardo muy bajo y una resolución más fina. [26] Esto es ventajoso para aplicaciones como teleconferencias, edición en estudio, etc. Tiene una complejidad menor que la capa II para facilitar la codificación en tiempo real en el hardware disponible alrededor de 1990. [ 47]
La capa I tuvo una adopción limitada en su época, y lo más notable fue que se usó en el extinto casete compacto digital de Philips a una tasa de bits de 384 kbit/s. [2] Con las mejoras sustanciales en el rendimiento del procesamiento digital desde su introducción, la capa I rápidamente se volvió innecesaria y obsoleta.
Los archivos de audio de capa I normalmente utilizan la extensión ".mp1" o, a veces, ".m1a".
MPEG-1 Audio Layer II (la primera versión de MP2, a menudo llamada informalmente MUSICAM) [57] es un formato de audio con pérdida diseñado para proporcionar alta calidad a aproximadamente 192 kbit/s para sonido estéreo. [59] La decodificación de audio MP2 es computacionalmente simple en relación con MP3, AAC , etc.
MPEG-1 Audio Layer II se derivó del códec de audio MUSICAM ( codificación y multiplexación integradas de subbanda universal adaptadas a patrones de enmascaramiento ), desarrollado por el Centro común de estudios de televisión y comunicaciones (CCETT), Philips y el Instituto de Tecnología de Radiodifusión (IRT/CNET) [16] [18] [60] como parte de la iniciativa intergubernamental paneuropea de investigación y desarrollo EUREKA 147 para el desarrollo de la radiodifusión de audio digital.
La mayoría de las características clave de MPEG-1 Audio se heredaron directamente de MUSICAM, incluido el banco de filtros, el procesamiento en el dominio del tiempo, los tamaños de los cuadros de audio, etc. Sin embargo, se realizaron mejoras y el algoritmo MUSICAM real no se utilizó en el estándar final MPEG-1 Audio Layer II. El uso generalizado del término MUSICAM para referirse a Layer II es completamente incorrecto y se desaconseja por razones tanto técnicas como legales. [57]
MP2 es un codificador de dominio temporal. Utiliza un banco de filtros polifásicos de 32 subbandas de bajo retardo para el mapeo de tiempo-frecuencia; con rangos superpuestos (es decir, polifásicos) para evitar el aliasing. [61] El modelo psicoacústico se basa en los principios de enmascaramiento auditivo , efectos de enmascaramiento simultáneos y el umbral absoluto de audición (ATH). El tamaño de un cuadro de capa II se fija en 1152 muestras (coeficientes).
El dominio del tiempo se refiere a cómo se realiza el análisis y la cuantificación en muestras o fragmentos breves y discretos de la forma de onda de audio. Esto ofrece un retardo bajo, ya que solo se analiza una pequeña cantidad de muestras antes de la codificación, a diferencia de la codificación del dominio de la frecuencia (como MP3), que debe analizar muchas más muestras antes de poder decidir cómo transformar y generar audio codificado. Esto también ofrece un mayor rendimiento en impulsos complejos, aleatorios y transitorios (como instrumentos de percusión y aplausos), lo que permite evitar artefactos como el preeco.
El banco de filtros de 32 subbandas devuelve 32 coeficientes de amplitud , uno para cada banda de frecuencia/segmento de igual tamaño del audio, que tiene un ancho de aproximadamente 700 Hz (según la frecuencia de muestreo del audio). El codificador utiliza entonces el modelo psicoacústico para determinar qué subbandas contienen información de audio que es menos importante y, por lo tanto, dónde la cuantificación será inaudible o, al menos, mucho menos perceptible. [47]
El modelo psicoacústico se aplica utilizando una transformada rápida de Fourier (FFT) de 1024 puntos . De las 1152 muestras por cuadro, 64 muestras en la parte superior e inferior del rango de frecuencia se ignoran para este análisis. Se supone que no son lo suficientemente significativas como para cambiar el resultado. El modelo psicoacústico utiliza un modelo de enmascaramiento determinado empíricamente para determinar qué subbandas contribuyen más al umbral de enmascaramiento y cuánto ruido de cuantificación puede contener cada una sin ser percibida. Cualquier sonido por debajo del umbral absoluto de audición (ATH) se descarta por completo. Luego, los bits disponibles se asignan a cada subbanda en consecuencia. [57] [61]
Por lo general, las subbandas son menos importantes si contienen sonidos más suaves (coeficiente menor) que una subbanda vecina (es decir, de frecuencia similar) con sonidos más fuertes (coeficiente mayor). Además, los componentes de "ruido" suelen tener un efecto de enmascaramiento más significativo que los componentes "tonales". [60]
Las subbandas menos significativas se reducen en precisión mediante la cuantificación. Esto implica básicamente comprimir el rango de frecuencia (amplitud del coeficiente), es decir, aumentar el nivel de ruido. Luego, se calcula un factor de amplificación que el decodificador utiliza para volver a expandir cada subbanda al rango de frecuencia adecuado. [62] [63]
La capa II también puede utilizar opcionalmente codificación estéreo de intensidad , una forma de estéreo conjunto. Esto significa que las frecuencias superiores a 6 kHz de ambos canales se combinan/mezclan en un solo canal (mono), pero la información del "canal lateral" sobre la intensidad relativa (volumen, amplitud) de cada canal se conserva y se codifica en el flujo de bits por separado. Durante la reproducción, el canal único se reproduce a través de los altavoces izquierdo y derecho, y la información de intensidad se aplica a cada canal para dar la ilusión de sonido estéreo. [47] [60] Este truco perceptivo se conoce como "irrelevancia estéreo". Esto puede permitir una mayor reducción de la tasa de bits de audio sin una pérdida de fidelidad perceptible, pero generalmente no se utiliza con tasas de bits más altas, ya que no proporciona un audio de muy alta calidad (transparente). [47] [61] [64] [65]
Las pruebas de audio subjetivas realizadas por expertos, en las condiciones más críticas jamás implementadas, han demostrado que MP2 ofrece una compresión de audio transparente a 256 kbit/s para audio de CD de 16 bits a 44,1 kHz utilizando la implementación de referencia más antigua (los codificadores más recientes presumiblemente deberían funcionar incluso mejor). [2] [60] [61] [66] Esa relación de compresión (aproximadamente) 1:6 para audio de CD es particularmente impresionante porque está bastante cerca del límite superior estimado de entropía perceptiva , a poco más de 1:8. [67] [68] Lograr una compresión mucho mayor simplemente no es posible sin descartar alguna información perceptible.
MP2 sigue siendo un estándar de codificación de audio con pérdida favorito debido a sus rendimientos de codificación de audio particularmente altos en material de audio importante como castañuelas, orquesta sinfónica, voces masculinas y femeninas y transitorios (impulsos) particularmente complejos y de alta energía como sonidos de percusión: triángulo, glockenspiel y aplausos de la audiencia. [26] Pruebas más recientes han demostrado que MPEG Multichannel (basado en MP2), a pesar de estar comprometido por un modo matricial inferior (por el bien de la compatibilidad con versiones anteriores) [2] [61] tiene una tasa ligeramente inferior a la de códecs de audio mucho más recientes, como Dolby Digital (AC-3) y Advanced Audio Coding (AAC) (en su mayoría dentro del margen de error, y sustancialmente superior en algunos casos, como el aplauso de la audiencia). [69] [70] Esta es una de las razones por las que el audio MP2 continúa usándose ampliamente. Sin embargo, las pruebas de verificación MPEG-2 AAC Stereo llegaron a una conclusión muy diferente, mostrando que AAC proporciona un rendimiento superior a MP2 a la mitad de la tasa de bits. [71] La razón de esta disparidad con las pruebas anteriores y posteriores no está clara, pero, curiosamente, una muestra de aplausos está notablemente ausente en la última prueba.
Los archivos de audio de capa II normalmente utilizan la extensión ".mp2" o, a veces, ".m2a".
MPEG-1 Audio Layer III (la primera versión de MP3 ) es un formato de audio con pérdida diseñado para proporcionar una calidad aceptable a aproximadamente 64 kbit/s para audio monoaural a través de enlaces ISDN de un solo canal ( BRI ) y 128 kbit/s para sonido estéreo.
El formato de audio de capa III del MPEG-1 se derivó del códec de codificación de entropía perceptual espectral adaptativa (ASPEC) desarrollado por Fraunhofer como parte de la iniciativa intergubernamental paneuropea de investigación y desarrollo EUREKA 147 para el desarrollo de la radiodifusión de audio digital. ASPEC se adaptó para que encajara con el modelo de capa II (tamaño de trama, banco de filtros, FFT, etc.) y se convirtió en capa III. [18]
ASPEC se basó en la codificación de audio espectral adaptativa múltiple (MSC) de EF Schroeder, la codificación óptima en el dominio de frecuencia (OCF) de la tesis doctoral de Karlheinz Brandenburg en la Universidad de Erlangen-Nuremberg , la codificación de transformación perceptual (PXFM) de JD Johnston en AT&T Bell Labs y la codificación de transformación de señales de audio de Y. Mahieux y J. Petit en el Institut für Rundfunktechnik (IRT/CNET). [72]
MP3 es un codificador de audio por transformación en el dominio de la frecuencia . Aunque utiliza algunas de las funciones de la capa inferior, MP3 es bastante diferente de MP2.
El formato MP3 funciona con 1152 muestras, como el MP2, pero necesita tomar múltiples cuadros para su análisis antes de que el procesamiento y la cuantificación en el dominio de la frecuencia (MDCT) puedan ser efectivos. Produce una cantidad variable de muestras, utilizando un búfer de bits para habilitar esta codificación de tasa de bits variable (VBR) mientras mantiene un tamaño de muestra de 1152 cuadros de salida. Esto provoca un retraso significativamente mayor antes de la salida, lo que ha hecho que el formato MP3 se considere inadecuado para aplicaciones de estudio donde se necesita realizar edición u otro procesamiento. [61]
MP3 no se beneficia del banco de filtros polifásicos de 32 subbandas, sino que solo utiliza una transformación MDCT de 18 puntos en cada salida para dividir los datos en 576 componentes de frecuencia y procesarlos en el dominio de frecuencia. [60] Esta granularidad adicional permite que MP3 tenga un modelo psicoacústico mucho más fino y aplique con más cuidado la cuantificación apropiada a cada banda, lo que proporciona un rendimiento mucho mejor a baja tasa de bits.
El procesamiento en el dominio de frecuencia también impone algunas limitaciones, causando un factor de 12 o 36 × peor resolución temporal que la Capa II. Esto causa artefactos de cuantificación, debido a sonidos transitorios como eventos de percusión y otros eventos de alta frecuencia que se extienden sobre una ventana más grande. Esto da como resultado manchas audibles y pre-eco . [61] MP3 utiliza rutinas de detección de pre-eco y codificación VBR, lo que le permite aumentar temporalmente la tasa de bits durante pasajes difíciles, en un intento de reducir este efecto. También puede cambiar entre la ventana de cuantificación normal de 36 muestras y, en su lugar, usar ventanas cortas de 12 muestras 3 × en su lugar, para reducir la longitud temporal (tiempo) de los artefactos de cuantificación. [61] Y, sin embargo, al elegir un tamaño de ventana bastante pequeño para hacer que la respuesta temporal de MP3 sea lo suficientemente adecuada para evitar los artefactos más graves, MP3 se vuelve mucho menos eficiente en la compresión del dominio de frecuencia de componentes tonales estacionarios.
El hecho de tener que usar un modelo híbrido de dominio temporal (banco de filtros)/dominio de frecuencia (MDCT) para que se adapte a la Capa II simplemente desperdicia tiempo de procesamiento y compromete la calidad al introducir artefactos de alias. El MP3 tiene una etapa de cancelación de alias específicamente para enmascarar este problema, pero que en su lugar produce energía del dominio de frecuencia que debe codificarse en el audio. Esta se lleva a la parte superior del rango de frecuencia, donde la mayoría de las personas tienen una audición limitada, con la esperanza de que la distorsión que causa sea menos audible.
La FFT de 1024 puntos de Layer II no cubre por completo todas las muestras y omitiría varias subbandas completas de MP3, donde se deben determinar los factores de cuantificación. En cambio, MP3 utiliza dos pasadas de análisis FFT para la estimación espectral, para calcular los umbrales de enmascaramiento globales e individuales. Esto le permite cubrir las 1152 muestras. De las dos, utiliza el nivel de umbral de enmascaramiento global de la pasada más crítica, con el audio más difícil.
Además del estéreo conjunto codificado por intensidad de Layer II, MP3 puede utilizar estéreo conjunto medio/lateral (medio/lateral, m/s, MS, matricial). Con el estéreo medio/lateral, ciertos rangos de frecuencia de ambos canales se fusionan en un solo canal mono (medio, medio, L+R), mientras que la diferencia de sonido entre los canales izquierdo y derecho se almacena como un canal separado (lateral, LR). A diferencia del estéreo de intensidad, este proceso no descarta ninguna información de audio. Sin embargo, cuando se combina con la cuantificación, puede exagerar los artefactos.
Si la diferencia entre los canales izquierdo y derecho es pequeña, el canal lateral será pequeño, lo que ofrecerá un ahorro de hasta el 50% en la tasa de bits y una mejora de calidad asociada. Si la diferencia entre el canal izquierdo y el derecho es grande, puede ser preferible la codificación estéreo estándar (discreta, izquierda/derecha), ya que el estéreo conjunto medio/lateral no proporcionará ningún beneficio. Un codificador MP3 puede cambiar entre estéreo m/s y estéreo completo cuadro por cuadro. [60] [65] [73]
A diferencia de las capas I y II, MP3 utiliza una codificación Huffman de longitud variable (después de la perceptual) para reducir aún más la tasa de bits, sin ninguna pérdida adicional de calidad. [57] [61]
La cuantificación más precisa y selectiva del MP3 demuestra ser notablemente superior al MP2 a tasas de bits más bajas. Es capaz de proporcionar una calidad de audio casi equivalente a la de Layer II, a una tasa de bits un 15% más baja (aproximadamente). [70] [71] 128 kbit/s se considera el "punto óptimo" para el MP3; lo que significa que proporciona un sonido estéreo de calidad generalmente aceptable en la mayoría de la música, y hay mejoras de calidad decrecientes al aumentar aún más la tasa de bits. También se considera que el MP3 presenta artefactos que son menos molestos que los de Layer II, cuando ambos se utilizan a tasas de bits que son demasiado bajas para proporcionar una reproducción fiel.
Los archivos de audio de capa III utilizan la extensión ".mp3".
El estándar MPEG-2 incluye varias extensiones de audio MPEG-1. [61] Estas se conocen como MPEG-2 BC, compatibles con versiones anteriores de audio MPEG-1. [74] [75] [76] [77] El audio MPEG-2 se define en ISO/IEC 13818-3.
Estas tasas de muestreo son exactamente la mitad de las definidas originalmente para el audio MPEG-1. Se introdujeron para mantener una mayor calidad de sonido al codificar audio a tasas de bits más bajas. [25] Las tasas de bits aún más bajas se introdujeron porque las pruebas demostraron que el audio MPEG-1 podía proporcionar una mayor calidad que cualquier códec de audio de tasa de bits (es decir, voz ) muy baja existente ( c. 1994 ) . [78]
La Parte 4 del estándar MPEG-1 cubre las pruebas de conformidad y está definida en ISO/IEC-11172-4.
Conformidad: Procedimientos para probar la conformidad.
Proporciona dos conjuntos de pautas y flujos de bits de referencia para probar la conformidad de los decodificadores de audio y video MPEG-1, así como los flujos de bits producidos por un codificador. [16] [23]
La Parte 5 del estándar MPEG-1 incluye software de referencia y está definida en ISO/IEC TR 11172–5.
Simulación: Software de referencia.
Código de referencia C para codificación y decodificación de audio y vídeo, así como multiplexación y demultiplexación. [16] [23]
Esto incluye el código codificador de audio ISO Dist10 , en el que se basaron originalmente LAME y TooLAME .
.mpg es una de las numerosas extensiones de archivo para la compresión de audio y vídeo MPEG-1 o MPEG-2 . El vídeo MPEG-1 Parte 2 es poco frecuente en la actualidad y esta extensión suele hacer referencia a un flujo de programa MPEG (definido en MPEG-1 y MPEG-2) o a un flujo de transporte MPEG (definido en MPEG-2). También existen otros sufijos como .m2ts que especifican el contenedor preciso, en este caso MPEG-2 TS, pero esto tiene poca relevancia para los medios MPEG-1.
.mp3 es la extensión más común para archivos que contienen audio MP3 (normalmente audio MPEG-1, a veces audio MPEG-2). Un archivo MP3 es normalmente un flujo de audio sin formato sin contener; la forma convencional de etiquetar archivos MP3 es escribiendo datos en segmentos "basura" de cada fotograma, que conservan la información multimedia pero son descartados por el reproductor. Esto es similar en muchos aspectos a cómo se etiquetan los archivos .AAC sin formato (pero esto es menos compatible hoy en día, por ejemplo, iTunes ).
Tenga en cuenta que, aunque se aplicaría, .mpg normalmente no agrega AAC sin procesar ni AAC en contenedores MPEG-2 Parte 7. La extensión .aac normalmente denota estos archivos de audio.
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )Bueno, entonces, ¿cómo obtengo los documentos, como el borrador de MPEG I? R. MPEG es un borrador de estándar ISO. Su
nombre
exacto es ISO CD 11172. [...] Puede solicitarlo a su organismo de estándares nacional (por ejemplo, ANSI en los EE. UU.) o comprarlo a empresas como OMNICOM [...]
{{cite web}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )11172
{{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace ){{cite web}}
: CS1 maint: varios nombres: lista de autores ( enlace )