Compresión de Vídeo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

Que es un video

Un vídeo es básicamente un arreglo tridimensional de pixeles de color. Dos


dimensiones direcciones (horizontal y vertical) espaciales de las imágenes en
movimiento, y una dimensión representa el dominio del tiempo. Una capa de datos es
donde se asignan todos los pixeles que corresponden en un solo momento en el
tiempo. Básicamente, una capa es lo mismo que una imagen estática.
Compresión de vídeo
La compresión de vídeo consiste en la reducción y eliminación del número de datos
redundantes utilizados para representar las imágenes de un vídeo digital, con el fin de
que el archivo de vídeo se pueda enviar a través de la red y almacenar. Si se utilizan
técnicas de compresión eficientes se puede reducir considerablemente el tamaño del
fichero afectando muy poco o casi nada la calidad de la imagen, pero si aumentas en
exceso el nivel de compresión puedes afectar la calidad del video.
Para que se comprima correctamente un vídeo digital necesita alrededor de 25 o 30
imágenes por segundo, lo cual genera un flujo de datos de 30 Mbps aproximadamente,
es decir, 1.5 GB por minuto. Si el vídeo no está comprimido estas imágenes ocuparán
1 MB aproximadamente. Para superar esta dificultad se recurre a algoritmos que
permitan reducir de forma significativa el flujo de datos por medio de la compresión /
descompresión de datos de vídeo. A estos algoritmos se les denominan códec.

Actualmente, la mayoría de los proveedores de vídeo utilizan técnicas de compresión


estándar, con el propósito de asegurar la compatibilidad y la interoperabilidad entre sistemas.
Gracias a estos estándares, el usuario final puede escoger el proveedor de su preferencia.

Para entender el proceso de la compresión de video, es una buena idea comenzar definiendo
la entidad de trabajo, la señal de video.

Las señales de video son señales espacio-temporales o simplemente una secuencia de


imágenes que varían en el tiempo. La información es visual. Una imagen monocromática
puede representarse matemáticamente por x(h,v), donde x es el valor de intensidad en la
localización horizontal h y vertical v. La correspondiente señal de video monocromática puede
ser representada por x(h,v,t) donde t es el tiempo.

Las señales de video en color simplemente es una superposición de la distribución de


intensidad de los tres colores primarios (R,G,B) o equivalentemente de una componente de
luminancia (Y) y dos de crominancia (U,V).

La luminancia contiene toda la información relacionada con la mayor o menor luminosidad de


la imagen y no contiene ninguna información acerca de los colores de la misma. Reproduce
por lo tanto, la imagen en blanco y negro en todas sus tonalidades de grises intermedios.

La crominancia, por el contrario, contiene todo lo relacionado con el color de los objetos,
separada en los tres colores básicos. Las señales de crominancia se obtienen de las llamadas
señales diferencia de color: rojo menos luminancia (R-Y), azul menos luminancia (B-Y) y
verde menos luminancia (G-Y). De estas tres señales sólo necesitamos dos, al poder obtener
la otra mediante la combinación de las anteriores. En la siguiente tabla vemos la equivalencia
entre estas señales:
La forma más común de la señal de video todavía es la señal analógica. Esta señal se obtiene
a través de un proceso conocido como scanning. Este proceso graba los valores de intensidad
de la señal espacio-temporal en la dirección h, convirtiéndola en una señal unidimensional.
Esta señal se señaliza con pulsos de sincronización verticales y horizontales para conseguir la
señal de video final.

Existen dos tipos de scanning que pueden ser progresiva o entralazada:

La progresiva escanea todas las líneas horizontales para formar el cuadro (frame) completo
y se usa en la industria de los monitores de computadoras.

El scanning entrelazado se utiliza en la industria de TV. Aquí, las líneas horizontales pares
e impares de un cuadro se escanean de forma separada consiguiendo los dos campos de un
cuadro.

Existen principalmente tres standards de video analógico, estas son denominadas:

Video Compuesto.

Video RGB o Componente y,

S-Video ó S-VHS.

En el formato de video Compuesto, la componente luminancia y las dos de crominancia son


codificadas juntas como una única señal.

En contraposición está el formato RGB o Componente en el que se codifican por separado,


y cada componente tiene un canal para ella.

En el formato S-Video, también conocido como Y/C, existen dos señales independientes,
una de ellas contiene únicamente la información de luminancia, mientras que el segundo
canal contiene la información de crominancia C (U y V). El estándar de video Compuesto
incluye el formato NTSC utilizado en USA y Japón, y PAL/SECAM utilizado en Europa.

RELACIÓN ESPACIO-TEMPORAL. PROCESO DE SCANNING.

Actualmente la tendencia generalizada es integrar las industrias de video, computadoras y


telecomunicaciones juntas en una única plataforma multimedia. La señal de video requiere ser
escalable, independiente de la plataforma, proporcionando interactividad y edición, y ser
robusta a errores.
Desgraciadamente la señal de video analógica no cumple estos requisitos. Digitalizándola no
solo se eliminan todos los problemas de la señal analógica, sino que se permiten sofisticadas
técnicas de compresión y de edición de video. Para digitalizar la señal espacio-temporal
x(h,v,t), usualmente, las componentes de la señal analógica son muestradas en las tres
direcciones. Cada punto muestreado en un cuadro se denomina pixel. El proceso de muestreo
consigue el conjunto completo de parámetros necesario para representar una señal digital de
video, incluyendo pixeles por línea, número de líneas por cuadro, relación de aspecto (aspect
ratio), y la velocidad de cuadros/campos. Por ejemplo, el muestreo en la dirección horizontal
nos proporciona el parámetro de pixeles por línea, que define la resolución horizontal de una
imagen. El muestreo vertical nos determina la resolución vertical, indicada por el número total
de líneas. El muestreo temporal determina la velocidad de cuadros o campos.

Técnicas de compresión de imágenes


La compresión de imágenes y de secuencias de vídeo se basa en la eliminación de tres tipos
de redundancias:
Redundancia Espacial: Se basa en los píxeles que están cerca unos de otros, ya
que estos tienen un parecido muy grande entre ellos. Para eliminar esta
redundancia se usan métodos transformados, como por ejemplo la (DCT, Discret
Cosinus Transform) y la cuantificación. Estas técnicas serán conocidas como codificación
Intratrama.
Redundancia Estadística: Consiste en determinar que valores de bit se repiten
más en una secuencia. Utilizaremos métodos como el VLC (Variable Length
Code) y el RLC (Run Length Code) para poder eliminar esta redundancia.
Redundancia Temporal: Pretende aprovechar el hecho de que un píxel se repita a lo largo
del tiempo. Para poder eliminar este tipo de redundancia se utilizaran técnicas predictivas
para poder deducir la posición futura de los píxeles. En concreto utilizaremos una predicción
Intertrama con la técnica de compensación de movimiento, basada en obtener la imagen de
predicción a partir de vectores de movimiento de imágenes pasadas y/o futuras. Esta
eliminación de redundancia es la que nos comprimirá más el video.

Conceptos Básicos
Cuando un decodificador de vídeo restaura un vídeo descodificando la transmisión de
bits fotograma a fotograma, la descodificación debe comenzar siempre por un
fotograma I. Los fotogramas P y B, en caso de usarse, deben descodificarse junto a los
fotogramas de referencia.
Secuencia con fotogramas I, B y P

 Fotograma I o Intra-fotograma

Es una imagen autónoma que se codifica aisladamente, sin referencias a otros


fotogramas, como si fueran imágenes estáticas. La primera imagen de una secuencia
de vídeo es siempre un fotograma I y permiten implementar funciones de avance o
retroceso rápido o un acceso aleatorio e impiden la propagación de errores, funcionan
como puntos de inicio en nuevas visualizaciones o como puntos de resincronización si
la transmisión de bits resulta dañada. La desventaja de este fotograma es que
consumen muchos más bits, pero por otro lado no generan demasiados defectos
provocados por los datos que faltan.

 Fotograma P o Inter-fotograma Predictivo

Codifican aplicando compensación de movimiento al último fotograma I o P, el que sea


más reciente. Estos fotogramas suelen requerir menos bits que los fotogramas I, pero
con la desventaja de ser muy sensibles a la transmisión de errores, debido a la compleja
dependencia con fotogramas P o I anteriores. Los fotogramas I y P se denominan
fotogramas de anclaje.

 Fotograma B o Inter-fotograma Bipredictivo

Hace referencia a fotogramas anteriores y posteriores. El uso de fotogramas B aumenta


la latencia, proporcionan la máxima compresión. Reducen el ruido debido a un proceso
de promedio y el uso de cuadros posteriores para la codificación, esto es
particularmente útil para la codificación de áreas descubiertas. Estos cuadros nunca se
usan por sí solos para predicciones para no propagar errores. Para una secuencia de
imágenes de variación lenta es mejor codificar los cuadros (combinando los dos campos,
si es necesario). MC basada en campos es especialmente útil cuando la señal de video
incluye movimientos rápidos.

 Latencia

Es el tiempo que se tarda la compresión, el envío, la descompresión y visualización de


un archivo.

 Códec de vídeo

Los algoritmos que codifican reduciendo considerablemente el tamaño de los archivos


y decodifican los videos son denominados Códec. Su nombre se origina de las
palabras compresión y descompresión.
Los códecs de vídeo con estándares diferentes que no suelen ser compatibles entre sí,
es decir, es poco probable descomprimir un archivo de video comprimido con un
estándar diferente. Un decodificador MPEG-4 no funcionará con un codificador H.264,
debido a que un algoritmo no puede descodificar correctamente los datos de salida del
otro algoritmo, pero es posible usar muchos algoritmos diferentes en el mismo software
o hardware, que permitirían la coexistencia de varios formatos.
Para la reproducción del archivo generado se aplica el algoritmo inverso y se crea un
vídeo que incluye prácticamente el mismo contenido que el vídeo original. Mientras más
avanzado sea el algoritmo de compresión, mayor será la latencia.
Tipos de algoritmos de compresión
Los estándares de compresión utilizan métodos distintos para reducir los datos
generados, como consecuencia hay gran variedad en cuanto a la frecuencia de bits y
latencia. Existen dos tipos de compresión de vídeo intra-frame o inter-frame:

 Intra-frame o Intra-fotograma

También se conoce como compresión


espacial, comprime los fotogramas de forma individual sin tomar en cuenta su relación
con las imágenes que le rodean. Se fundamenta en la redundancia espacial y devuelve
vídeos con gran calidad, lo que genera que ocupe más espacio. El formato AVI utiliza
este tipo de compresión.

 Inter-frame o Inter-fotograma

Este método está basado en la similitud temporal entre los distintos cuadros de imagen
o fotogramas. También se conoce por compresión temporal. Los archivos generados
son de menor tamaño, ya que excluye mucha información, resultando de menor
calidad. El formato MPEG-2 utiliza este tipo de compresión.

Formatos de compresión
 Motion JPEG (M-JPEG)
Esta compresión utiliza la tecnología de codificación intra-fotograma. Los datos se
reducen a un fotograma y es comprimido por separado por una serie de imágenes JPEG
individuales (JPEG son las siglas de Joint Photographic Experts Group – Grupo de
Expertos Fotográficos Unidos). Este formato se utiliza frecuentemente en dispositivos
portátiles tales como cámaras digitales. Al visualizar 16 o más imágenes por segundo,
el ojo humano lo percibe como un vídeo en movimiento. Motion-JPEG es el método
elegido para las aplicaciones donde se envía la misma información a todos los usuarios,
las broadcast.

Las imágenes de la secuencia se codifican y se envían como imágenes únicas y


separadas, sin que dependan unas de otras.
Una ventaja es que cada imagen de una secuencia de vídeo puede conservar la misma
calidad garantizada que se determina mediante el nivel de compresión elegido para la
cámara de red o codificador de vídeo. Cuanto más alto es el nivel de compresión, menor
es el tamaño del archivo y la calidad de imagen.
El principal inconveniente es que no utiliza ninguna técnica de compresión de vídeo
para reducir datos, ya que consiste en una serie de imágenes fijas y completas. El
resultado es una frecuencia de bits relativamente alta o una relación de compresión
baja para la calidad proporcionada, en comparación con estándares de compresión de
vídeo como MPEG-4 y H.264.

 Compresión de vídeo-4

Los algoritmos como el MPEG-4 y el H.264 utilizan la predicción inter-fotograma para


reducir los datos de vídeo entre las series de fotogramas, básicamente consiste en
técnicas como la codificación diferencial, en la que un fotograma se compara con un
fotograma de referencia y sólo se codifican los píxeles que han cambiado con respecto
al fotograma de referencia. De esta forma, se reduce el número de valores de píxeles
codificados y enviados. Cuando una secuencia codificada se visualiza de este modo, las
imágenes salen como en la secuencia de vídeo original.

La primera imagen de
la secuencia se codifica en su totalidad, en las imágenes siguientes existen referencias
a la primera imagen, en cuanto a los elementos estáticos, ejemplo, la casa. Sólo se
codifican los elementos en movimiento, a través de vectores de movimiento, esto con
el fin de reducir la cantidad de información que se almacena.

 MPEG-4

Cuando nos referimos al MPEG-4 en aplicaciones de video vigilancia hacemos referencia


al MPEG-4 parte 2 (H.263), que también se le conoce como MPEG-4 visual. Es una
técnica de compresión de vídeo desarrollada por MPEG (Moving Picture Experts Group)
y requiere de una licencia como todos los estándares MPEG. Este estándar es
compatible con aplicaciones que requieren imágenes de alta calidad y ancho de banda
reducido, sin limitaciones de frecuencia de imagen y con un ancho de banda
virtualmente ilimitado.

 H.264

H.264 o MPEG–4 parte 10 es una norma que define un códec de vídeo de alta
compresión, desarrollada conjuntamente por el ITU-T Video Coding Experts Group
(VCEG) y el ISO/IEC Moving Picture Experts Group (MPEG). Es el estándar más actual
de MPEG para la codificación de vídeo. Un codificador H.264 puede reducir el tamaño
de un archivo de vídeo digital en más de un 80% si se compara con el formato Motion
JPEG, y hasta un 50% más en comparación con el estándar MPEG-4, todo esto sin
comprometer la calidad de la imagen. Esto se traduce en menos espacio de
almacenamiento y ancho de banda, es decir, se puede lograr mayor calidad de imagen
de vídeo para una frecuencia de bits determinada.
La mayor utilidad de este estándar es en el sector de la video vigilancia, ya que en este
sector se necesitan velocidades y resoluciones altas, como es el caso de la vigilancia de
autopistas, aeropuertos y casinos, lugares donde por lo general se usa una velocidad
de 30/25 (NTSC/PAL) imágenes por segundo. Las ventajas de reducción de ancho de
banda y almacenamiento afectaran positivamente tu economía.
¿Cuál formato es mejor?
A continuación, se visualiza un cuadro comparativo en el cual se muestra que el
formato H.264 es el estándar de compresión de vídeo más eficaz.

El H.264 es el estándar de compresión de vídeo más actual y eficaz, ya que admite


técnicas avanzadas como los esquemas de predicción para codificar fotogramas I, la
compensación de movimiento mejorada con una precisión inferior a un píxel y el filtro
de eliminación de bloques en bucle para suavizar los bordes de los bloques (defectos).

Transformada coseno discreta (DCT)

Este método de codificación se basa en el esquema de la figura


La imagen a comprimir se divide en bloques o subimágenes de tamaño reducido sobre las
que se aplica la transformación. El resultado de la transformada de cada bloque se
cuantifica y posteriormente se aplican códigos eficientes para transmitir o
almacenar esta información. La compresión de imagen se produce principalmente durante
el proceso de cuantificación, donde parte de la información se descarta o se cuantifica con
un número de niveles muy reducido. Veremos que la información de cada subimagen
puede quedar muy bien empaquetada en unos pocos coeficientes transformados, de modo
que resulta suficiente con determinar qué coeficientes son los más representativos y
codificar la imagen utilizando únicamente estos elementos. Evidentemente, también existe
alguna ganancia de compresión debido a la codificación de los coeficientes mediante
algoritmos eficientes, aunque en ningún modo es tan significativa como la debida a la parte
de cuantificación.

La decodificación de la imagen se realiza aplicando el proceso inverso: los coeficientes se


descodifican y se aplica la transformada inversa, de manera que se recuperan los elementos
de imagen en el dominio espacial original. Posteriormente, es necesario recomponer la
imagen a partir de los bloques en los que se ha divido originalmente. Esta recomposición de
la imagen suele ser uno de los principales problemas de los métodos transformados. En
efecto, debido a la cuantificación de los coeficientes transformados, la subimagen se
recupera con cierto error respecto a la original. Este error es muy crítico si se produce en los
límites de las subimágenes, debido a que al fusionar todos los bloques aparecerán cambios
de nivel de gris bruscos que pueden reproducir la descomposición en bloques cuando se
observa la imagen descomprimida
El factor de compresión que puede obtenerse aumenta a medida que se utilizan bloques
más grandes, aunque también se incrementa la carga computacional. En la mayoría de
aplicaciones pensadas para una resolución espacial similar a la de los sistemas de
televisión, los bloques son de tamaño 8x8 o 16x16.

características principales
Capacidad de compactación de la energía en el dominio transformado. La
transformada coseno discreto (DCT- Discrete Cosine Transform) consigue

concentrar la mayor parte de la información en unos pocos coeficientes


transformados. Esto permite obtener importantes ventajas para una codificación
eficiente de la imagen, puesto que basta con codificar de forma precisa estos
coeficientes principales para obtener una buena representación de todo el bloque
de la imagen. Debe tenerse en cuenta que la capacidad de compactación de la
energía en unos pocos coeficientes es un parámetro puramente estadístico, lo
que significa que siempre es posible encontrar un bloque de imagen en la que la
energía en el dominio transformado esté dispersada entre todos los coeficientes.
No obstante, esto tiene una probabilidad de ocurrencia muy baja y no suele
producirse nunca si trabajamos con imágenes naturales. La capacidad de
compactación de la energía de la DCT es muy superior a la que se obtiene con las
transformadas de Walsh- Hadamard, Hart y también Fourier. La transformada
Karhunen-Loeve consigue una compactación óptima, aunque al precio de un
elevado coste computacional. La transformada Wavelet también consigue
concentrar la energía en unos pocos coeficientes, aunque en este caso, la
posición de los coeficientes con mayor energía depende de la imagen.

• Es una transformada independiente de los datos. Esto significa que el


algoritmo es independiente del contenido de la imagen. Prácticamente todas las

transformadas que hemos venido comentando son independientes de los datos,


con la excepción de la Karhunen-Loeve, donde las matrices asociadas a la
transformación deben calcularse en función de las características de la propia
imagen. Por este motivo, la transformada de Karhunen Loeve es óptima en el
sentido de compactación de energía.

• Existen algoritmos eficientes para el cálculo rápido. Existen algoritmos


análogos al de la FFT (Fast Fourier Transform) para realizar la transformación.

Los algoritmos se encuentran disponibles en circuitos integrados especializados


en realizar esta transformación. La restricción para poder utilizar estos algoritmos
es que los bloques tengan un tamaño que sea múltiplo de una potencia de dos. Si
no es así, deberán añadirse ceros a las subimágenes, aunque esto supone que
aumenta notablemente el riesgo de que aparezca el efecto de bloques al
decodificar la imagen.

• Errores reducidos en los contornos de los bloques. Probablemente éste es


uno de los motivos principales por los que se ha elegido la DCT frente a otras

transformadas. La presencia de errores de codificación muy pequeños en los


límites de la subimagen es necesaria para evitar la aparición del efecto de bloques
en la imagen reconstruida.

• Identificación e interpretación frecuencial de los componentes


transformados. Para aprovechar al máximo la capacidad de compresión de un

método es conveniente que los coeficientes puedan interpretarse desde el punto


de vista frecuencial con facilidad. Esto permite introducir conceptos psico-
visuales, permitiendo dedicar un menor número de bits a aquellas
componentes que de antemano sabemos que no resultan críticas para el
sistema visual.

La ecuación que se utiliza para la transformada NxN bidimensional (se suponen


bloques cuadrados) es:

En general sólo trataremos con bloques cuadrados cuyos tamaños son, como
hemos comentado, una potencia de 2.

De forma análoga, la ecuación para la transformada inversa es:

Propiedades de la DCT

La DCT por sí misma, al pasar de una matriz a otra del mismo tamaño no implica
compresión alguna, pero tiene algunas características importantes que la hacen muy
útil para nuestro propósito. Sin llegar a hacer un estudio exhaustivo, nos vamos a centrar
en aquellas propiedades que nos van a ser útiles en los procesos de compresión de
imágenes.

a)- Una de las propiedades más importantes y que se puede comprobar directamente
de la definición es la de “separabilidad”. En este caso. la separabilidad quiere
decir que una DCT bidimensional se puede expresar como un conjunto de varias
DCTs unidimensionales.

Si x[m,n] = x 1[m] · x 2[n], C[u,v] = C 1[u] · C2[v].

b)- La DCT presenta también la propiedad de una gran compactación de la información


en los coeficientes de menor orden, de tal manera que los de orden superior tienen
un valor nulo o caso nulo, salvo en el caso de imágenes que presenten una
anormalmente alta variación espacial.

c)- Los coeficientes resultado de la DCT presentan entre sí una muy pequeña
correlación. Esta propiedad es especialmente importante en aplicaciones de
compresión de imágenes, ya que de esta forma será posible dar a los coeficientes
tratamientos totalmente diferentes dependiendo del lugar que ocupen dentro de
la matriz de coeficientes.

d)- La transformada de Fourier es una transformada compleja, con parte real y parte
imaginaria, lo que complicado el trabajo con ella. Sin embargo la DCT es una
transformada real; sus resultados son muestras de la función coseno, y esto
simplifica mucho su manejo.

e)- Si en la transformada de una imagen se suprimen los coeficientes de mayor orden,


al volver a calcular la transformada inversa, se obtiene una muy buena
aproximación de la imagen inicial.

También podría gustarte