La segunda razón es que a una velocidad de 28 Mbytes/segundo, una imagen sin comprimir de 15 segundos ocupará 420 millones de Mbytes de espacio de memoria, lo cual es difícil para la mayoría de las computadoras de escritorio que solo pueden manejar pequeños fragmentos de imagen. era inaceptable.
Hoy en día, la cuestión clave a la hora de añadir imágenes a señales electrónicas son los métodos de compresión. Existen varios métodos de compresión diferentes, pero mpeg es el más prometedor.
La historia y las ventajas de mpeg
Mpeg (Moving Pictures Experts Group) es un estándar internacional, concretamente iso11172. Particularmente importantes son sus dos estándares: MPEG-1 y MPEG-2. Mpeg-1 se introdujo en 1991 para acelerar la transferencia de imágenes en discos ópticos. Su propósito es comprimir imágenes ntsc de 221 mbit/s a 1,2 mbit/s, con una relación de compresión de 200:1. Este es el estándar reconocido en la industria para la compresión de imágenes.
La calidad de imagen de mpeg-2 para transmisión de banda ancha alcanza los estándares de las retransmisiones televisivas e incluso de la televisión de alta definición. En comparación con mpeg-1, mpeg-2 admite una gama más amplia de resoluciones y velocidades de bits y se convertirá en el modo de compresión para discos de vídeo digitales (DVD) y transmisiones de televisión digitales. Estos mercados estarán entrelazados con el mercado de las computadoras, lo que hará de mpeg-2 un importante estándar de compresión de imágenes para computadoras. Esto es muy importante porque se requiere un descompresor mpeg-2 para descomprimir el flujo de bits mpeg-1. Se está desarrollando otro estándar, MPEG-4, que admitirá aplicaciones de transmisión por secuencias con una tasa de bits extremadamente baja, como videotelefonía, videocorreo y periódicos electrónicos.
La amplia aceptación de Mpeg significa protección de la inversión para sus usuarios. Muchos minoristas venden software o reproductores de hardware MPEG y esta competencia hace que los precios bajen y la calidad aumente. Mpeg-1 es compatible con mpeg-2, por lo que es un estándar con margen de desarrollo.
Principios básicos del algoritmo de compresión de vídeo MPEG
En términos generales, muchas secuencias de vídeo contienen una gran redundancia estadística y redundancia subjetiva dentro y entre fotogramas. El objetivo final del código fuente de video es reducir la velocidad de bits requerida para almacenar y transmitir información de video mediante la extracción de redundancia estadística y redundancia subjetiva. Se compila un esquema de codificación práctico del "grupo de información mínimo" utilizando tecnología de codificación directa, que es una codificación; característica (un compromiso entre alta compresión de calidad suficiente) y complejidad de implementación. Para el desarrollo de algoritmos de compresión MPEG, es muy importante considerar el ciclo de vida de estos estándares y las capacidades de la tecnología VLSI moderna. Dependiendo de los requisitos de la aplicación, podemos pensar que el propósito de la codificación sin pérdidas y la codificación con pérdida de datos de video es reducir la cantidad de imágenes o videos que deben almacenarse y transmitirse manteniendo la calidad de la imagen original (es decir, la la calidad de la imagen después de la decodificación es igual a la calidad de la imagen antes de la codificación) Cantidad de datos. Por el contrario, las técnicas de codificación "con pérdida" (relacionadas con aplicaciones futuras de los estándares de vídeo MPEG-1 y MPEG-2) están diseñadas para ajustarse a una cadena de bits de almacenamiento y transmisión determinada. Algunas aplicaciones importantes incluyen: transmitir información de video a través de canales de comunicación usando un ancho de banda limitado o estrecho y almacenar información de video de manera eficiente; En estas aplicaciones, la alta compresión de vídeo se logra reduciendo la calidad del vídeo, es decir, la calidad "objetiva" de la imagen decodificada se reduce en comparación con la imagen original antes de la codificación (es decir, el error cuadrático medio de la imagen original y la reproducida). La imagen se utiliza como estándar de evaluación objetiva de la calidad de la imagen), cuanto menor sea la tasa de bits objetivo del canal, mayor será la tasa de compresión que debe sufrir el vídeo y, por lo general, se notarán más artefactos de codificación. El objetivo final de la tecnología de codificación con pérdidas es obtener el mejor estándar de imagen en las condiciones de cadena de bits de destino especificadas. Aquí se debe observar el mejor criterio de "objetivo" o "subjetivo". Es importante señalar aquí que el grado de degradación de la imagen (refiriéndose a la reducción objetiva y la cantidad de artefactos perceptibles) depende de la sofisticación de la técnica de compresión; para fotografías simples e imágenes con poca actividad de video, use compresión simple. permite imágenes bien reproducidas y completamente libres de artefactos perceptibles.
Modo fuente del codificador de vídeo (A)MPEG
La tecnología de codificación de vídeo digital MPEG es esencialmente un método estadístico. Las columnas de vídeo suelen contener redundancia estadística tanto en dirección temporal como espacial. La propiedad estadística básica en la que se basa la tecnología de compresión MPEG es la correlación entre píxeles, que incluye la suposición de que existe un movimiento de traslación de correlación simple entre fotogramas consecutivos. Se supone que los valores de píxeles de una imagen en particular se pueden predecir en función de los píxeles cercanos en el mismo cuadro (utilizando técnicas de intracodificación) o en función de los píxeles de cuadros adicionales (utilizando técnicas entre cuadros). La intuición nos dice que en algunos casos, como cuando cambia la toma de una secuencia de vídeo, la correlación temporal entre los píxeles de los fotogramas cercanos es muy pequeña o incluso desaparece; en este momento, la toma de vídeo se convierte en un grupo sin una combinación de imágenes fijas relevantes. fotos. En este caso, se pueden utilizar técnicas de intracodificación para explotar la correlación espacial para una compresión de datos eficiente. El algoritmo de compresión MPEG utiliza tecnología de codificación por transformada de coseno discreta (DCT) en bloques de imágenes de 8×8 píxeles para explotar eficazmente la correlación espacial entre cables de vídeo adyacentes en el mismo plano. Sin embargo, si la correlación entre píxeles en fotogramas adyacentes es grande, es decir, el contenido de dos fotogramas consecutivos es similar o idéntico, entonces se puede adoptar tecnología de codificación DPCM entre fotogramas que debería utilizar predicción temporal (predicción de compensación de movimiento entre fotogramas). . En diversos esquemas de codificación de vídeo MPEG, si los códigos de transformación de la información espacial residual de los canales de predicción de compensación de movimiento temporal se combinan de forma adaptativa, se puede lograr una alta compresión de datos (codificación híbrida de vídeo DPCM/DCT). La Figura 1 ofrece un ejemplo de las características de correlación entre píxeles de una imagen, donde se utiliza un modelo estadístico muy simple pero valioso. Este modelo hipotético simple ya contiene algunas características de correlación básicas de muchas imágenes "típicas", a saber, una alta correlación entre píxeles adyacentes y una disminución de la correlación de un solo valor al aumentar el espaciado entre píxeles. Usaremos este modelo más adelante para demostrar algunas características de la codificación de regiones transformadas. La correlación espacial entre píxeles de algunas imágenes "típicas" en la Figura 1 se calcula aplicando el patrón de imagen AR(1) gaussiano de Markov con alta correlación entre píxeles. Las variables xey representan la distancia entre píxeles en las direcciones horizontal y vertical de la imagen, respectivamente.
Submuestreo e interpolación
Casi todas las técnicas de codificación de vídeo presentadas en este artículo se someten a una gran cantidad de procesos de submuestreo y cuantificación antes de la codificación. El concepto básico del submuestreo es reducir las dimensiones del vídeo de entrada (dimensiones horizontales y/o verticales) y numerar los píxeles antes de codificar. Vale la pena señalar que en algunas aplicaciones el vídeo también se submuestrea en la dirección temporal para reducir la velocidad de fotogramas antes de la codificación. En el receptor, la imagen decodificada se muestra mediante interpolación. Este método puede considerarse como la tecnología de compresión más simple. Aprovecha el apellido fisiológico único del ojo humano, eliminando así la redundancia subjetiva contenida en los datos de vídeo, es decir, la respuesta del ojo humano a la señal de luminancia en comparación con el cambio. en la señal de crominancia son más sensibles a los cambios. Por lo tanto, muchos esquemas de codificación MPEG primero dividen la imagen en Y:U:V y señales de cantidad (un componente de luma y dos componentes de crominancia). Luego, el componente croma se muestrea dos veces en relación con el componente luma. Para algunas aplicaciones especiales, existe una relación Y: U: V (es decir, para el estándar MPEG-2, 4: 1: 1 o 4: 2: 2).
(c) Predicción de compensación de movimiento
La predicción de compensación de movimiento es una herramienta poderosa para reducir la redundancia temporal entre cuadros. Como técnica de predicción para la codificación DPCM temporal, esta herramienta se ha utilizado ampliamente en los estándares de codificación de vídeo MPEG 1 y MPEG-2. El concepto de compensación de movimiento se basa en la estimación del movimiento entre fotogramas del vídeo, es decir, si todos los objetos en la toma de vídeo tienen desplazamiento espacial, entonces el movimiento entre fotogramas se puede describir mediante parámetros de movimiento limitados (como el movimiento de traslación de píxeles, que pueden describirse mediante vectores de movimiento). En este ejemplo sencillo, los píxeles predichos con compensación de movimiento de fotogramas previamente codificados dan la mejor predicción de píxeles válidos. Normalmente, tanto los errores de predicción como los vectores de movimiento se transmiten al receptor. Sin embargo, no vale la pena ni es necesario codificar cada píxel de la imagen codificada con información de movimiento. Debido a que la correlación espacial entre algunos vectores de movimiento suele ser alta, a veces se puede considerar que un vector de movimiento representa el movimiento de bloques de píxeles adyacentes. Para hacer esto, la imagen generalmente se divide en varios bloques de píxeles no conectados (un bloque de píxeles tiene 16 × 16 píxeles en los estándares MPEG 1 y MPEG 2), y solo se estima, codifica y transmite un movimiento. cada uno de dichos bloques de píxeles (Figura 2).
En el algoritmo de compresión MPEG, la tecnología de predicción de compensación de movimiento se utiliza para reducir la redundancia temporal entre fotogramas y solo se codifica la imagen de error de predicción (la diferencia entre la imagen original y la imagen de predicción de compensación de movimiento). En general, la correlación entre los píxeles en la imagen de error entre cuadros con compensación de movimiento que se va a codificar es pobre en comparación con la correlación dentro del cuadro mostrada en la Figura 1 debido a la predicción basada en cuadros previamente codificados. Figura 2 Método de compensación de movimiento de coincidencia de bloques: en el enésimo cuadro válido que se va a codificar, se estima un vector de movimiento (mv) para cada bloque de imagen, que es el mismo que el del tamaño del cuadro N-1 previamente codificado. bloque de imagen de referencia. El error de predicción con compensación de movimiento se calcula de la siguiente manera: reste un píxel del bloque de cara que tiene una contraparte de deriva de movimiento en el bloque de referencia del cuadro anterior.
(d) Conversión o codificación
En las últimas dos décadas, se ha investigado mucho sobre la codificación por transformación, y la codificación por transformación se ha convertido en parte de la codificación de imágenes fijas y vídeos. codificación. Un método de compresión muy popular. El propósito de la codificación de transformación es eliminar la correlación del contenido de la imagen con error dentro o entre cuadros y codificar los coeficientes de transformación en lugar de codificar los píxeles originales de la imagen. Para hacer esto, la imagen de entrada se divide en bloques de imagen de píxeles B no conectados (es decir, N × N píxeles). Basada en una transformación lineal, separable y unitaria, esta transformación se puede expresar como una operación matricial, utilizando una matriz de transformación A N×N para obtener el coeficiente de transformación N×N C = abAT donde AT representa el término de desplazamiento de la transformación A. de la matriz A. Nota: Esta transformación es reversible porque el bloque de imagen original de N × N b píxeles se puede reproducir mediante una transformación inversa lineal y separable. b=AtCa Utilizando muchos métodos posibles, la Transformada Discreta de Coseno (DCT) aplicada a bloques de imágenes más pequeños que constan de 8 × 8 píxeles se ha convertido en la mejor transformación para la codificación de imágenes fijas y vídeos. De hecho, dado que los métodos basados en DCT tienen un alto rendimiento anticorrelación y pueden obtener algoritmos DCT rápidos, son adecuados para aplicaciones en tiempo real y se han utilizado en la mayoría de los estándares de codificación de imágenes y videos. La tecnología VLSI se ha comercializado porque su velocidad de funcionamiento es adecuada para una amplia gama de aplicaciones de vídeo. El objetivo principal de la codificación de transformadas es hacer que tantos coeficientes de transformación como sea posible sean lo suficientemente pequeños como para que sigan siendo ineficaces (desde una perspectiva de medición estadística y subjetiva). Al mismo tiempo, la correlación estadística entre coeficientes debe reducirse tanto como sea posible para reducir el número de bits necesarios para codificar los coeficientes restantes. La Figura 3 muestra la varianza (energía) de un bloque de 8 × 8 píxeles de coeficientes DCT internos basados en los supuestos de patrones estadísticos simples discutidos en la Figura 1. Aquí, la varianza de cada coeficiente representa la variabilidad del coeficiente (un valor casi promedio en una gran cantidad de fotogramas). En comparación con los coeficientes con una gran varianza, los coeficientes con una pequeña varianza tienen poca importancia en la reproducción de bloques de píxeles de una imagen. Como se muestra en la Figura 3, en general, para obtener una representación aproximada útil de un bloque de píxeles de una imagen, sólo es necesario enviar al receptor una pequeña cantidad de coeficientes DCT. Si bien los coeficientes DCT con los bits más significativos se concentran en la esquina superior izquierda (coeficientes DCT bajos), la efectividad de los coeficientes disminuye gradualmente a medida que aumenta la distancia. Esto significa que los coeficientes DCT de alto orden son menos importantes en la reproducción de bloques de píxeles de una imagen que los coeficientes de bajo orden. Usando predicción compensada por movimiento, el resultado de la transformación DCT es reproducir la señal DPCM temporal en el dominio DCT, que esencialmente hereda esta correlación estadística similar, por ejemplo, usando esta señal DPCM en el dominio DCT para reproducir la señal intratrama en la Figura 2. (aunque con energía reducida): esta es la razón por la que el algoritmo MPEG debería emplear codificación DCT para que la compresión entre cuadros sea exitosa. La Figura 3 ilustra la distribución de la varianza de los coeficientes DCT y generalmente se calcula el valor promedio obtenido de una gran cantidad de bloques de dibujo. El cálculo de la varianza de los coeficientes DCT se basa en el modelo estadístico de la Figura 1. u y V son las variables del dominio de transformación de imágenes horizontal y vertical en el bloque de 8 × 8, respectivamente. La mayor parte de la varianza total se concentra alrededor de los coeficientes DCDC (u = 0, v = 0). La DCT está muy cerca de la Transformada Discreta de Fourier y es importante darse cuenta de que los coeficientes de la DCT se pueden describir en términos de frecuencia para acercarlos más al DFTo en el bloque de imagen. Los coeficientes Dcr de orden bajo están relacionados con frecuencias espaciales más bajas y los coeficientes DCT de orden alto están relacionados con frecuencias más altas. Esta característica se aplica en el esquema de codificación MPEG para eliminar la redundancia subjetiva contenida en los datos de la imagen, que es un estándar basado en el sistema visual humano. Debido a que los espectadores son más sensibles a los errores de reproducción asociados con frecuencias espaciales más bajas que a los errores de reproducción asociados con frecuencias espaciales más altas, para mejorar la calidad visual de la imagen decodificada para una velocidad de bits determinada, los coeficientes a menudo se modifican progresivamente en función de lo visual ( cuantificación perceptiva) Las frecuencias se ponderan (cuantizan) adaptativamente.
La combinación de las dos tecnologías anteriores: predicción de compensación de movimiento temporal y codificación de dominio de transformación. La tercera característica del algoritmo MPEG, que se considera el foco del estándar de codificación MPEG, es que estas dos tecnologías procesan bloques de imágenes más pequeños (normalmente la compensación de movimiento es). se realiza en 16×16 píxeles y la codificación DCT se realiza en 8×8 píxeles). Por lo tanto, el algoritmo de codificación MPEG a menudo se denomina algoritmo híbrido DPCM/DCT basado en bloques de imágenes.
MPEG-1: Un estándar universal para medios de almacenamiento digital
Estándar de codificación para imágenes y sonidos en movimiento (velocidad máxima 1,5 MB/s)
La compresión de vídeo La tecnología desarrollada por MPEG-1 tiene una amplia gama de aplicaciones, incluidos sistemas interactivos en CD-ROM y transmisión de vídeo en redes de telecomunicaciones. El estándar de codificación de vídeo MPEG-1 se considera un estándar universal. Para admitir una variedad de aplicaciones, los usuarios pueden especificar una variedad de parámetros de entrada, incluidos tamaños de imagen y velocidades de cuadros flexibles. MPEG recomienda un conjunto de parámetros especificados por el sistema: cada decodificador compatible con MPEG-L debe poder admitir al menos los parámetros de la fuente de vídeo y alcanzar los mejores estándares de televisión: al menos 720 píxeles por línea y al menos 720 píxeles por imagen 576. líneas, al menos 30 fotogramas por segundo y una velocidad de bits mínima de 1,86 MB/s. La entrada de vídeo estándar debe incluir formatos de imagen de vídeo no entrelazados. Cabe señalar que: Pero esto no significa que la aplicación de MPEGl esté limitada al conjunto de parámetros especificado por este sistema. El algoritmo de vídeo MPEG-L se desarrolló bajo las actividades JPiG y H. 261. La idea en ese momento era intentar mantener la misma naturaleza que el estándar CCITT H.261, por lo que parecía posible soportar ambos estándares. Por supuesto, el objetivo principal de MPEGl es la aplicación de discos ópticos multimedia, en los que se necesitan funciones adicionales soportadas por codificadores y decodificadores. Las características importantes proporcionadas por MPEG1 incluyen: acceso aleatorio a vídeo basado en fotogramas, búsqueda rápida hacia adelante/rebobinado a través de flujo de bits comprimido, reproducción inversa de vídeo y capacidades de edición de flujo de bits comprimido.
(a) Esquema básico de codificación entre cuadros MPEG-1.
La tecnología de compresión de vídeo básica MPEG 1 (y MPEG-2) se basa en la estructura de macrobloques, compensación de movimiento y suplementación condicional de macrobloques. Como se muestra en la Figura 49, el algoritmo de codificación MPEG-1 codifica el primer fotograma de la secuencia de vídeo en modo de codificación intracuadro (imagen I). Cada fotograma siguiente se codifica mediante predicción entre fotogramas (imagen P); solo se utilizan para la predicción los datos del fotograma I o P codificado más recientemente. El algoritmo MPEG-L procesa fotogramas basándose en una secuencia de vídeo de bloques de imágenes. Como se muestra en la Figura 4b, cada cuadro de entrada de color en la secuencia de video se divide en múltiples "macromódulos" que no se superponen. Cada módulo macro incluye cuatro bloques de luminancia (Y1, Y2, Y3, Y4) y dos bloques de crominancia (U, V). El tamaño de cada módulo macro es de 8*8 píxeles. Estos fragmentos de datos provienen de las bandas luma y croma de la dirección * * *. Y: U: V La relación de muestreo entre los píxeles de luma y croma es 4: 1: 1. Las imágenes P se codifican mediante un método de predicción con compensación de movimiento basado en el cuadro anterior más reciente. Cada cuadro se divide en "macrobloques" (MB) discretos. Figura 4b Para cada macrobloque, siempre se codifican letras con respecto a cuatro bloques de brillo (Y3, Y2, Y3, Y4) y dos bloques de color (u, v). Cada uno contiene 8×8 píxeles. El diagrama de bloques de la estructura básica del codificador y decodificador híbrido DPCM/DCT mpeg 1 se muestra en la Figura 5. El fotograma 1 de la secuencia de vídeo (imagen I) se codifica en modo intra sin referencia a ningún fotograma pasado o futuro. En el codificador, se agrega DCT a cada bloque de luma y croma de 8×8. Después de la salida de CC, cada uno de los 64 coeficientes DCT se cuantifica uniformemente (Q) y el paso de cuantificación para cuantificar los coeficientes DCT en el macrobloque se transmite al receptor. Después de la cuantificación, los coeficientes DO de orden más bajo (coeficientes DC) se procesan de manera diferente a los coeficientes restantes (coeficientes AC). El coeficiente de CC representa el brillo promedio del módulo componente y el coeficiente de CC se puede codificar mediante el método de predicción de CC diferencial. Los valores de cuantificador distintos de cero retenidos de los coeficientes DCT y sus posiciones se escanean en zigzag y se codifican mediante una tabla de codificación de longitud variable (VLC). La Figura 5 es un diagrama de bloques de la arquitectura básica híbrida de codificador y decodificador DC/DPCM. El concepto de escaneo en zigzag de coeficientes se muestra en la Figura 6. Debido a que la señal de imagen bidimensional se convierte en un flujo de bits unidimensional mediante el uso de coeficientes, se realiza un proceso de asignación de palabras de código de longitud variable después de escanear la señal bidimensional en el dominio DCT cuantificado.
Estos valores del cuantificador de coeficiente AC distintos de cero (longitud) se detectan a lo largo de la línea de exploración y la distancia (recorrido) entre dos coeficientes consecutivos distintos de cero. Cada par consecutivo (ejecución y longitud) se codifica utilizando el método de transmitir sólo una palabra de código VLC. El propósito del escaneo en zigzag es rastrear los coeficientes DCT de baja frecuencia (incluida la energía máxima) antes de rastrear los coeficientes de alta frecuencia. La Figura 6 es un escaneo en zigzag de coeficientes DCT cuantificados en un bloque de 8 × 8. Sólo se codifican coeficientes DCT cuantificados distintos de cero. La figura indica las posibles ubicaciones de coeficientes DCT distintos de cero. Para realizar un seguimiento de los coeficientes DCT según su efectividad, consulte la Figura 3. Los coeficientes DCT de orden más bajo (0,0) contienen la mayor parte de la energía en estos bloques, que se concentra alrededor de los coeficientes DCT de orden más bajo. El decodificador hace lo contrario. Primero, las palabras de código de longitud variable (VLD) se extraen del flujo de bits y se decodifican para obtener la configuración de bits y los valores de cuantificación de los coeficientes DCT distintos de cero para cada bloque de imagen. Los valores de píxeles del bloque cuantificado se obtienen mediante la reproducción (q) de todos los coeficientes DCT distintos de cero del bloque de imagen y la DCT inversa posterior (DCT-1). Al procesar todo el flujo de bits, todos los bloques de imágenes se decodifican y reproducen. Para codificar una imagen P, los N-1 fotogramas de la imagen I anterior se almacenan en memorias de fotogramas en el codificador y el decodificador. La compensación de movimiento (MC) se realiza en macrobloques; para codificar el macrobloque, solo se estima un vector de movimiento entre el enésimo fotograma y el n-1.º fotograma. Estos vectores de movimiento se codifican y transmiten al receptor. El error de predicción con compensación de movimiento se calcula restando un píxel del macrobloque con la correspondiente deriva de movimiento del cuadro anterior. Luego agregue 8 × 8 DCT a cada bloque de 8 × 8 contenido en el módulo macro, luego cuantice los coeficientes DCT (Q) y realice la codificación de ancho de escaneo y codificación de píxeles (VLC). Aquí se requiere un búfer de video para garantizar que el codificador; puede producir una salida de tasa de bits objetivo constante. Para cada macrobloque en el cuadro, el tamaño del paso de cuantificación (SZ) se puede ajustar para obtener una tasa de bits objetivo determinada y evitar desbordamientos y desbordamientos del búfer. El decodificador utiliza procesamiento inverso para reproducir el macrobloque del enésimo cuadro en el receptor. Después de decodificar las palabras de longitud variable (VLD) contenidas en el búfer del decodificador de vídeo (VB), se pueden reproducir los valores de píxeles de error de predicción (operaciones Q y DCT-1). Los píxeles con compensación de movimiento de la canción N-1 contenida en la memoria de cuadro (FS) se agregan al error de predicción para recuperar el macrobloque del cuadro N. En las Figuras 7a-7d, 9 se utiliza una secuencia de prueba típica para describir los beneficios de codificar vídeo utilizando predicción con compensación de movimiento basada en los primeros N-1 fotogramas renderizados en el codificador MPEG. La Figura 7a muestra una trama que se codificará en n tiempos, y la Figura 7b muestra una trama reproducida en n-1 tiempos, que se almacena en la memoria de tramas (FS) proporcionada en el codificador y decodificador. El vector de movimiento del bloque (mv, consulte la Fig. 2) que se muestra en la Figura 7b se estimó utilizando el método de estimación de movimiento del codificador, que puede predecir la cantidad de desplazamiento del movimiento de traslación de cada macrobloque en el enésimo cuadro (consulte el n- 1° cuadro) . La Figura 7b muestra esta señal de diferencia de cuadro pura (enésimo cuadro menos n-1.° cuadro). Esta señal de diferencia de cuadros se puede obtener si no se utiliza en absoluto la predicción con compensación de movimiento durante la codificación, es decir, se supone que todos los vectores de movimiento son cero. La Figura 7d muestra la señal de diferencia de cuadro con compensación de movimiento cuando se usa el vector de movimiento de la Figura 7b para la predicción. Obviamente, al utilizar compensación de movimiento, la señal residual a codificar se reduce considerablemente en comparación con la codificación de diferencia de cuadros pura en la Figura 7c. Figura 7: (a) Cuadro que se codificará en el momento n: (b) Cuadro en el momento P4-1, utilizado para predecir el contenido del enésimo cuadro (nota: los vectores de movimiento mostrados en los cuatro lados no se almacenan en el codificador y decodificador Parte de la imagen reconstruida; (c) Imagen de error de predicción obtenida sin compensación de movimiento, asumiendo que todos los vectores de movimiento son cero (d) Imagen de error de predicción que se codificará si se utiliza la predicción con compensación de movimiento
Cómo mpeg; funciona
Mpeg-1 se caracteriza por una codificación con pérdida y desequilibrada. Lossy significa que para lograr una velocidad de bits baja, se perderá parte de la información de imagen y sonido. Esta información es la menos sensible a los ojos humanos. oídos, por lo que incluso con una compresión de disco de 1x, se pueden lograr la calidad de imagen y los efectos estéreo de alta fidelidad de vhs. La codificación no balanceada en mpeg significa imágenes comprimidas mucho más lentas que descomprimir imágenes. MPEG-1 contiene tres partes: flujo de imagen, flujo de sonido y flujo del sistema. El flujo de imagen solo contiene información de imagen, el flujo de sonido contiene información de sonido y el flujo de sistema permite la sincronización de imágenes y sonidos.
Toda la información del reloj necesaria para reproducir imágenes MPEG y datos de audio está contenida en el flujo del sistema.
Mpeg utiliza complejas técnicas matemáticas y psicológicas para lograr sus resultados de compresión. La codificación de compresión de audio MPEG utiliza resultados de investigaciones sobre la sensibilidad del oído humano, y la codificación de imágenes utiliza algunos resultados beneficiosos de la sensibilidad del ojo humano al brillo, el color y el movimiento.
Sonido Mpeg
Los dos canales de sonido del CD * * * contienen flujos de datos de 1,4 mbit/s. La investigación en psicología auditiva muestra que utilizando la tecnología de compresión adecuada, este flujo de datos se puede comprimir a 256 kbit/s sin distorsión. El audio MPEG aprovecha este resultado, aunque algunos compresores MPEG no admiten imágenes de alta calidad.
La codificación de audio Mpeg puede alcanzar tres niveles de compresión. El primer nivel es la compresión simple, que consiste en una codificación de submuestreo según el modelo psicológico auditivo. El segundo nivel agrega mayor precisión y el tercer nivel agrega tecnologías avanzadas como la cuantificación no lineal y la codificación Huffman para lograr una velocidad de bits baja e imágenes de alta fidelidad. Los niveles continuos proporcionan alta calidad y relaciones de compresión más altas, pero requieren una computadora con mayores capacidades de compresión. Mpeg Level ii puede comprimir un flujo de datos estéreo de 1,4 mbit/s a 32 kbit/s -384 kbit/s manteniendo un sonido de alta fidelidad. Los datos típicos son que el objetivo para el nivel uno es 192 kbit/s por canal, el nivel dos es 128 kbit/s por canal y el nivel tres es 64 kbit/s por canal. El objetivo dos no es tan bueno como el nivel tres cuando se alcanza 64 kbit/canal, pero a 128 kbit/canal, el nivel dos y el nivel tres son igualmente efectivos, y ambos son mejores que el nivel uno. Como se mencionó anteriormente, 128 kbit/s por canal o 256 kbit para dos canales/s se puede lograr una buena fidelidad. Por lo tanto, el nivel dos es necesario pero suficiente para el estéreo de alta fidelidad.
Mpeg-1 admite dos canales configurados en mono, dos canales, estéreo o estéreo combinado. El estéreo conjunto de clase II combina las partes de alta frecuencia de la señal de sonido (por encima de 2 kHz), se conserva toda la imagen estéreo, pero solo se transmite la envolvente instantánea. El nivel I no admite suma estéreo. Algunos compresores mpeg no pueden producir transmisiones de audio isócronas II, por lo que la fidelidad del sonido es baja y no existe una función estéreo conjunta.
imagen mpeg
La codificación de imágenes mpeg consta de tres partes: cuadro I, cuadro P y cuadro B. Durante el proceso de codificación mpeg, algunas imágenes se comprimen en fotogramas I, otras en fotogramas P y otras en fotogramas B. La compresión I-frame puede alcanzar una relación de compresión de 6:1 sin ninguna borrosidad perceptible. La compresión de fotograma I y la compresión de fotograma P permiten relaciones de compresión más altas sin crear un desenfoque imperceptible. La relación de compresión de los fotogramas B puede alcanzar 200: 1 y el tamaño del archivo es generalmente el 15% del tamaño comprimido de los fotogramas I y menos de la mitad del tamaño comprimido de los fotogramas P. La compresión de fotogramas I elimina la redundancia espacial de la imagen, y los fotogramas P y B eliminan la redundancia temporal, lo que se explicará con más detalle a continuación.
La compresión de cuadro I utiliza el modo de cuadro de referencia y solo proporciona compresión intracuadro, es decir, al comprimir imágenes de cuadro en cuadros I, solo se consideran las imágenes intracuadro. La compresión de fotogramas I no puede eliminar la redundancia entre fotogramas. La compresión intracuadro se basa en la transformada de coseno discreta (DCT), un estándar de compresión similar al DCT utilizado en imágenes JPEG y H.261.
Los fotogramas P utilizan codificación predictiva, utilizando la información estadística general de fotogramas adyacentes para la predicción. En otras palabras, proporciona codificación entre cuadros que tiene en cuenta las características de movimiento. La predicción del fotograma P es la diferencia entre el fotograma actual y el último fotograma I o P.
El cuadro B es codificación entre cuadros bidireccional. Extrae datos de los fotogramas I o fotogramas P anteriores y siguientes. Los fotogramas B se comprimen en función de la diferencia entre el fotograma actual y la imagen de los fotogramas anterior y siguiente.
Al comienzo del flujo de datos mepg, se muestrea una imagen digital sin comprimir con resolución sif especificada por ccirc-601. La resolución si, para el formato ntsc, es que la señal de brillo es de 352 * 240 píxeles y cada señal de crominancia es de 176 * 120 píxeles. 30 fotogramas por segundo por señal. El compresor mpeg determina si el fotograma actual es un fotograma I, un fotograma P o un fotograma B. Una vez determinada la trama, se utiliza la transformación DCT, el resultado se cuantifica, se redondea y el código de longitud de ejecución se cambia a codificación de longitud variable. Una secuencia de fotogramas típica para codificar una imagen es: ibbpbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbi...
Los fotogramas B y P requieren ordenadores más potentes.
Algunos compresores no pueden producir cuadros B o incluso cuadros P, por lo que los resultados de la compresión de la imagen serán obviamente discontinuos.
Otras formas de compresión de imágenes
Por supuesto, mpeg no es el único estándar de compresión de imágenes. H.261, motion jpeg, cinepak e indeo son los mejores estándares alternativos.
H.261, motion-jpeg y mepg utilizan tecnología similar, es decir, todos utilizan transformada de coseno discreta (dct). Sin embargo, la compresión de cuadros jpeg y MPEG-I es compresión intracuadro. Para evitar un desenfoque perceptible, la relación de compresión no puede exceder 10. Por lo tanto, los archivos JPEG no son una buena opción para transferir imágenes a través de discos o a través de Internet, ya que deben tener una relación de compresión de 200:1. H.261 puede proporcionar una relación de compresión más alta, pero no es adecuado para imágenes con mucho movimiento. Es más adecuado para imágenes de diálogo con fondos estáticos. Aunque h.261 admite la compresión entre cuadros a través de cuadros P, no admite la compresión de cuadros B. Por tanto, se consiguen relaciones de compresión elevadas a expensas de la calidad de la imagen. Cuando la calidad de la imagen y el movimiento son importantes, h.261 ya no es una buena opción.
Indeo3.2 y 4.0 son exclusivos y utilizan diferentes tecnologías de compresión. La compresión Indeo 4.0 es la más sofisticada de las dos y permite la predicción bidireccional (fotogramas B) y el escalado. La compresión de indeo4.0 generalmente se implementa mediante software, que es muy lento, especialmente cuando se utiliza codificación de fotograma B. La compresión del fotograma B de Indeo también puede provocar caídas de fotogramas. La función de escala también provoca una pixelación notable de bordes abruptos y caídas de fotogramas. Sin escala de compresión de fotogramas B, una resolución de 320x240 y una imagen de 15 fotogramas por segundo se pueden comprimir a 200 kb por segundo. En comparación, mpeg proporciona una relación de compresión más alta, es decir, comprime una imagen con una resolución de 352x240 a 30 fotogramas por segundo a 150 kb por segundo.
Cinepak es una tecnología de compresión desarrollada por la empresa Radius. También es un monopolio y la velocidad de compresión es muy lenta. Generalmente, los CD vienen con 15 fotogramas por segundo, en lugar de 30 fotogramas por segundo como el mpeg.