ES2368050A1 - Método de codificación y compresión interframe de video con jpeg 2000. - Google Patents
Método de codificación y compresión interframe de video con jpeg 2000. Download PDFInfo
- Publication number
- ES2368050A1 ES2368050A1 ES200900262A ES200900262A ES2368050A1 ES 2368050 A1 ES2368050 A1 ES 2368050A1 ES 200900262 A ES200900262 A ES 200900262A ES 200900262 A ES200900262 A ES 200900262A ES 2368050 A1 ES2368050 A1 ES 2368050A1
- Authority
- ES
- Spain
- Prior art keywords
- frame
- video
- partition
- jpeg
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H04N7/26111—
-
- H04N7/26228—
-
- H04N7/26313—
-
- H04N7/26627—
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Método de codificación y compresión interframe
de vídeo con JPEG 2000.
Método de codificación y compresión de vídeo con
JPEG 2000, estando dicho vídeo formado por una secuencia de
fotogramas, que comprende los siguientes pasos:
i) establecer un tamaño de partición y dividir
cada fotograma en particiones;
ii) comprimir (100) cada fotograma siguiendo el
formato JPEG 2000 según dicho tamaño establecido de partición;
iii) comparar partición a partición (110) cada
fotograma sin comprimir (20) con un fotograma de referencia (21), y
marca aquellas particiones que han cambiado entre cada fotograma y
el fotograma de referencia por encima de un umbral
preestablecido;
iv) actualizar (120) dicho fotograma de
referencia sobrescribiendo cada partición marcada en el paso
anterior con la partición que ha cambiado del fotograma sin
comprimir;
v) generar un flujo de información de salida
(130) formado por aquellas particiones comprimidas en JPEG 2000 que
han cambiado para cada fotograma; y
reiterar los pasos iii)-v) para
cada fotograma de la secuencia.
Description
Método de codificación y compresión interframe
de vídeo con JPEG 2000.
La presente invención se refiere a la
codificación y compresión de vídeo; y más en particularmente, en el
caso de utilizar imágenes comprimidas con el formato JPEG 2000.
Actualmente los sistemas de transmisión de vídeo
se basan en la utilización de técnicas de compresión para comprimir
la señal procedente de una fuente de vídeo
(vídeo-cámara, fichero, ...), ya que sin emplear
ningún tipo de compresión sobre la imagen, se generaría una gran
cantidad de información que tiene que ser enviada a través de la
red, y que limita la cantidad de fotogramas por segundo que pueden
ser transmitidos por ta red.
Para hacernos una idea una imagen capturada
directamente desde una digitalizadora a una resolución de 768x576
píxeles con tres componentes rojo, verde, azul, sin emplear ningún
tipo de compresión ocupa 1296 KB. Si se considera que una secuencia
de vídeo normal está en torno a los 25 fotogramas por segundo,
implicaría un total de 32400 KB/s, o lo que es lo mismo, cerca de 2
GB de datos para la transmisión de vídeo de un minuto de duración,
casi la mitad de lo que puede almacenar un DVD actual.
Estas cifras desbancan por completo las
capacidades de las redes digitales de transmisión actuales, salvo
configuraciones específicas que pueden ser muy costosas y poco
accesibles.
La compresión del vídeo es por tanto una de las
partes más importante de la transmisión de vídeo en tiempo real Es
indispensable el uso de códecs de compresión para reducir la
cantidad de datos a transmitir. Para solventar este problema
actualmente existen diversas técnicas de compresión de vídeo e
imágenes, que reducen el nivel de bits necesarios para representar
la imagen y así reducir la cantidad de información enviada y/o
almacenada.
Dentro de las técnicas de compresión de vídeo
actuales, se encuentras dos métodos claramente diferenciados, las
técnicas "intraframe" y las "interframe".
Una técnica intraframe se aplica sobre un
fotograma individual de la secuencia de vídeo haciendo uso de las
similitudes entre los píxeles próximos en la imagen y de las
limitaciones del sistema de visión humana. La compresión en el vídeo
vendrá dada en este caso por la compresión individual de cada uno de
sus fotogramas. Uno de los códecs que emplean esta técnica es
MJPEG.
La técnica interframe sin embargo, se basa en la
similitud de las imágenes consecutivas de una secuencia de vídeo,
aprovechando que una secuencia de fotogramas consecutivos suelen ser
muy parecidos. Con esta técnica por regla general se suelen obtener
mayores ratios de compresión que con las técnicas intraframe,
teniendo como contrapartida la consiguiente pérdida de calidad
(entiéndase calidad como degradación respecto a la fuente original).
Un ejemplo de un códec que emplea esta técnica es MPEG (MPEG2,
MPEG4).
Para evaluar la efectividad de una técnica de
compresión de vídeo, se analizan fundamentalmente dos factores:
El primero consiste en evaluar el ratio de
compresión alcanzado por el códec, el cual se basa en comparar el
archivo original (sin comprimir) frente al archivo obtenido como
resultado del proceso de compresión. Cuanto menor sea el archivo
final frente al archivo original, mejor será el sistema.
El segundo factor, y también muy importante,
consiste en analizar la calidad que tiene el archivo de vídeo una
vez comprimido frente al archivo original, para evaluar la similitud
que tienen ambos. Para comprobar esta calidad existen diferentes
técnicas de referencia que pretenden evaluar tanto calidades
objetivas como subjetivas.
La compresión intraframe ha demostrado ser muy
adecuada para uso en la transmisión de vídeo en tiempo real.
Dentro de las técnicas de compresión de vídeo
intraframe actuales predomina la utilización del códec MJPEG, en el
que cada fotograma de una secuencia de vídeo es comprimido
independientemente utilizando JPEG.
Otra técnica existente, pero menos extendida, es
MJPEG 2000, que se basa en el mismo fundamento que MJPEG, pero en
este caso el códec utilizado para la compresión de cada fotograma es
JPEG 2000, que es la evolución de JPEG por el grupo Joint
Pothographic Expert Group.
JPEG 2000 descompone la imagen en varias
resoluciones durante el proceso de compresión; por eso se le llama
códec escalable, ya que permite obtener múltiples versiones de un
único archivo comprimi-
do.
do.
MJPEG 2000 es actualmente el formato de
compresión de vídeo intraframe más avanzado. Este formato está
definido como estándar en el documento ISO/IEC
15444-3, donde se detallan todas sus
especificaciones como sistema de almacenamiento de vídeo comprimido
utilizando como base el códec JPEG 2000.
Dentro del ámbito de la transmisión de vídeo en
tiempo real con JPEG 2000 existe un estándar recientemente aprobado
(octubre de 2008), que está especificado en el RFC 5371.
Con JPEG 2000 una imagen se divide en regiones
más pequeñas llamadas tiles. Estas regiones están codificadas
independientemente, lo que significa que cada una de éstas puede ser
accedida y decodificada independientemente de las demás.
La organización física de una imagen comprimida
con JPEG 2000, dividida en celdas (TILE #0, TILE #1, TILE #2), es en
un flujo de código 10 como se muestra en la figura 1. En esta figura
se puede observar cómo en este formato, al comienzo del flujo de
código 11 (Start of Codestream: SOC) existe una cabecera principal
(12), que es la que almacena información sobre toda la imagen, como
es el ancho, alto, número de componentes, etc. Seguida de esta
cabecera principal aparecen ya las partes de la imagen (T0, T1, T2)
como tal, también cada una precedida por su correspondiente cabecera
(TH0, TH1, TH2), comienzo de celda (13, 13', 13'') y comienzo de
datos (14, 14', 14''), una a una hasta completar toda la imagen,
acabando el flujo de código 10 con un fin de flujo de código 15.
Hasta ahora, para formar un vídeo a partir de
imágenes comprimidas con JPEG 2000 se realiza la compresión de cada
uno de los fotogramas independientemente y se almacenan o
retransmiten consecutivamente.
De este modo, surge la necesidad de implementar
un sistema de vídeo transmisión de imágenes en tiempo real que
reduzca los anchos de banda necesarios, mejore la calidad de la
imagen, y aumente la cantidad de imágenes por segundo que pueden ser
transmitidas, y que su utilización introduzca el mínimo retardo
posible entre su captura y recepción, ya que por ejemplo en entornos
como los de vídeo vigilancia se necesita observar lo que está
pasando en tiempo real.
En ninguno de estos dos estándares (tanto
almacenamiento como transmisión) ni en trabajos relacionados con
JPEG 2000 se hace referencia a la utilización de técnicas de
análisis intraframe para reducir la cantidad de datos generados.
La invención se refiere a un método de
codificación y compresión de vídeo con JPEG 2000 de acuerdo con la
reivindicación 1. Realizaciones preferidas del método se describen
en las reivindicaciones dependientes.
La presente invención proporciona un método de
análisis intraframe de imágenes JPEG 2000 (MIJ2K) con el que se
obtiene una mejora sustancial tanto en requisitos de ancho de banda
en transmisión de vídeo, como de almacenamiento para vídeos
comprimidos con el códec JPEG 2000.
La presente invención aprovecha el hecho de que
JPEG 2000 permite dividir la imagen en particiones o zonas más
pequeñas, que son los llamados tiles. Y transmite únicamente
aquellos tiles de la imagen que han sido modificados entre
fotogramas consecutivos, realizando sencillas y pequeñas
comprobaciones entre los tiles de dos fotogramas consecutivos de la
secuencia de vídeo, con el objeto de no recargar las necesidades de
cómputo en la codificación del vídeo.
Esto permite reducir el ancho de banda necesario
para la transmisión del vídeo, así como reducir el costo de
procesamiento y decodificación en el lado del cliente, el cual es
uno de los mayores problemas en este tipo de sistemas, sobre todo
cuando se emplean sistemas con pocos recursos como teléfonos móviles
o PDAs.
Es decir, la presente invención aprovecha las
ventajas de los dos tipos de compresión: la intraframe, que aporta
baja latencia y la interframe, que reduce el ancho de banda
necesario.
Según un primer aspecto de la invención, ésta se
refiere a un método de codificación y compresión de vídeo con JPEG
2000, estando dicho vídeo formado por una secuencia de fotogramas,
que comprende los siguientes pasos:
i) establecer un tamaño de partición y dividir
cada fotograma en particiones;
ii) comprimir cada fotograma siguiendo el
formato JPEG 2000 según dicho tamaño establecido de partición;
iii) comparar partición a partición cada
fotograma sin comprimir con un fotograma de referencia, y marcar
aquellas particiones que han cambiado entre cada fotograma y el
fotograma de referencia por encima de un umbral preestablecido,
iv) actualizar dicho fotograma de referencia
sobrescribiendo cada partición marcada en el paso anterior con la
partición que ha cambiado del fotograma sin comprimir;
v) generar un flujo de información de salida
formado por aquellas particiones comprimidas en JPEG 2000 que han
cambiado para cada fotograma; y
reiterar los pasos iii)-v) para
cada fotograma de la secuencia.
Además, se puede establecer un número máximo de
iteraciones que una partición puede permanecer sin actualizar, y si
una partición pasa dicho número máximo se actualiza en el fotograma
de referencia y se selecciona para, comprimida, formar parte del
flujo de información de salida.
También es posible establecer un parámetro que
indica cada cuántos fotogramas se actualiza el fotograma de
referencia por completo con dicho fotograma y dicho fotograma
completo comprimido se selecciona para formar el flujo de
información de salida.
Preferiblemente dicho fotograma de referencia se
inicializa con un fotograma negro.
Las particiones en las que se divide cada
fotograma preferiblemente serán cuadrículas.
La etapa de comparar cada fotograma con el
fotograma de referencia se realiza haciendo una resta en valor
absoluto entre dichos fotogramas.
Previamente a esa resta se puede hacer una
conversión de dichos fotogramas en RGB a su correspondiente espacio
de colores YUV, y restar así su luminancia.
El umbral predeterminado se puede determinar
realizando una media del valor de 1os píxeles de una misma
partición, sobre el fotograma de diferencia en valor absoluto.
Dicho umbral predeterminado se puede determinar
como el píxel con el mayor índice de variación dentro de una misma
partición, o píxel con mayor valor de color.
La etapa de comparar cada fotograma con el
fotograma de referencia da preferiblemente como resultado un valor
cuantitativo del cambio habido.
Alternativamente la etapa de comparar cada
fotograma con el fotograma de referencia también se puede realizar
haciendo una operación XOR entre dichos primer y segundo fotogramas.
Esta operación XOR es preferiblemente local, es decir, se realiza
entre dos imágenes y la operación se lleva a cabo entre píxeles
correspondientes a la misma posición de ambas imágenes (no la
vecindad de un píxel).
En cualquier caso, el tamaño de la partición se
puede establecer según que el fotograma pertenezca a un tipo de
escena u otro dentro de grupos de escenas preestablecidos.
La presente invención también se refiere a un
método de transmisión de vídeo con JPEG2000, en el que:
- se codifica y comprime una secuencia de
fotogramas de dicho vídeo de acuerdo con el método de codificación y
compresión definido en anteriormente; y
- se transmiten dicho flujo de información
generado para cada fotograma de la secuencia.
Es decir, se transmite menos información.
Preferiblemente la transmisión se realiza
mediante protocolo RTP sobre UDP.
Así se requiere mínima capacidad de cómputo en
la codificación obteniéndose muy bajas latencias.
Preferiblemente en dicho protocolo RTP se
utiliza una cabecera adicional identificando el tipo de contenido
que se está transmitiendo, siendo dicho contenido tramas JPEG 2000
con el procesamiento interframe incluido.
La invención también se refiere a un método de
almacenamiento de vídeo con JPEG 2000, en el que:
- se codifica y comprime una secuencia de
fotogramas de dicho vídeo de acuerdo con el método de codificación y
compresión definido en anteriormente; y,
- se almacenan dicho flujo de información
generado para cada fotograma de la secuencia en medios de
almacenamiento,
Dicha secuencia almacenada de fotogramas
codificados y comprimidos puede ser leída posteriormente para su
descodificación y reproducción en un reproductor específico de dicho
formato.
El método de codificación y compresión de la
presente invención puede adaptarse tanto a la transmisión de vídeo
en tiempo real, ya que este análisis requiere de un mínimo
procesamiento, como para el almacenamiento de vídeo, mejorando en
ambos casos el ancho de banda o el espacio necesario para el
almacenamiento.
Este método es especialmente indicado en
ambientes de vídeo vigilancia donde se emplean cámaras fijas que
monitorizan principalmente interiores, en los que el movimiento de
la imagen se minimiza con respecto a imágenes capturadas en
exteriores, en los que el movimiento de agentes como árboles, nubes,
etc., podría jugar en detrimento del rendimiento. Aunque como se ha
indicado anteriormente, su utilización es extrapolable a cualquier
tipo de vídeo en tiempo real.
A continuación se pasa a describir de manera muy
breve una serie de dibujos que ayudan a comprender mejor la
invención y que se presentan como ejemplos ilustrativos pero no
limitativos de ésta.
La Figura 1 muestra la organización física de
una imagen comprimida con JPEG2000 siguiendo la referencia ISO/IEC
15444-1:2000.
La Figura 2 muestra el resultado de restar dos
fotogramas consecutivos.
En la Figura 3 se resaltan mediante un cuadrado
los tiles cuyo contenido difiere entre el fotograma actual y el
anterior. Para la determinación de los tiles modificados se ha
utilizado la técnica de los dos umbrales.
La Figura 4 muestra esquemáticamente el proceso
de compresión de la invención.
La Figura 5 muestra un fotograma del vídeo de
referencia "hall monitor" (obtenido de http://trace.
eas.asu.edu/yuv/index.html), utilizado para realizar medidas de calidad en diferentes códecs.
eas.asu.edu/yuv/index.html), utilizado para realizar medidas de calidad en diferentes códecs.
En la Figura 6 se muestra el resultado de
evaluar el parámetro PSNR (Peak to Signal Noise Ratio) habiendo
utilizado una secuencia de vídeo a la máxima calidad de vídeo
posible para varios formatos. Se puede observar que se consigue
similar calidad con la invención propuesta, MIJ2K, que con los códec
DivX y MPEG4.
La Figura 7 muestra el resultado de evaluar el
parámetro SSIM (Structural Similarity) para varios tipos de
códec.
La Figura 8 muestra el índice de compresión del
vídeo "hall monitor" para los varios tipos de códec.
En la figura 9 se muestra el tamaño de los
archivos utilizando la técnica de MJ2K (Motion JPEG 2000) y la
interframe propuesta en la presente invención MIJ2K.
Como se ha comentado, actualmente se emplean
técnicas de compresión intraframe para la transmisión de vídeo en
tiempo real, como sucede con MJPEG. Así, para formar un vídeo a
partir de imágenes comprimidas con JPEG 2000 se realiza la
compresión de cada uno de los fotogramas independientemente y se
almacenan o retransmiten consecutivamente. Se trata siempre de un
almacenamiento o transmisión completa.
De acuerdo con el método de la presente
invención, se propone no codificar y almacenar/transmitir todas las
partes de la imagen, sino únicamente aquellas que presentan algún
cambio (movimiento, cambios de iluminación, etc.) con respecto a la
imagen anterior,
En la figura 4 se muestra esquemáticamente el
proceso de compresión llevado a cabo en la presente invención de
codificación de vídeo mediante JPEG 2000 y procesado interframe
(MIJ2K). Como se puede observar posee una estructura en
"pipeline". Esta estructura es alimentada con todos los
fotogramas originales sin comprimir (ya provengan de un archivo o
cámara de vídeo) o también llamados fotogramas en crudo
("raw"). Como salida se obtiene el fotograma en formato
MIJ2K.
Se comienza estableciendo un tamaño de tile que
sirve tanto para analizar las imágenes como para realizar la
compresión con JPEG 2000. El tamaño del tile dependerá de la escena
que se esté tratando. Este parámetro influye en el tamaño y calidad
del vídeo a codificar. Preferiblemente la partición o tile es un
determinado tamaño de retícula rectangular. De esta forma cada
fotograma original se encuentra dividido en rectángulos.
Establecido el tamaño de las particiones (o
tiles) de una imagen o fotograma, se realiza la compresión del
fotograma original (fotograma sin comprimir 20) siguiendo el formato
JPEG 2000, especificando el tamaño de los tiles anteriormente
elegido (paso 100).
A continuación se realiza un análisis
comparativo o comparación (paso 110), partición a partición, de cada
fotograma sin comprimir 20 con un fotograma de referencia 21 para
detectar si ha habido cambio o movimiento (ya que como se ha
comentado anteriormente, en JPEG 2000 cada tile está localizado de
manera independiente). Así se obtienen los rectángulos que han
cambiado respecto al fotograma de referencia.
Este paso se realiza numerando las diferentes
particiones (rectángulos) en los que se ha detectado movimiento o
cambio, y está basado en la comparación del fotograma original con
el fotograma de referencia en función de unos umbrales (véase
explicación más adelante) y de las dimensiones de los
rectángulos.
El fotograma de referencia es un fotograma que
permite detectar el movimiento o cambio con respecto a un nuevo
fotograma. Al inicio este fotograma de referencia es una imagen
completa de color negro del mismo tamaño que el fotograma original
sin compresión, por lo que no hace falta esperar a un segundo
fotograma para empezar a hacer la comparación.
A continuación se construye el flujo de
información de información de salida (paso 130), denominado
"fotograma MIJ2K". Para generar este flujo se seleccionan sólo
los rectángulos comprimidos en JPEG 2000 que han cambiado. Es decir,
se extrae del fotograma comprimido en JPEG 2000 aquellos rectángulos
que han cambiado, y éste flujo únicamente es lo que se transmite y/o
almacena.
Por otra parte, se actualiza el fotograma de
referencia (paso 120). Para ello, los rectángulos del fotograma
original sin compresión en los que se ha detectado movimiento se
actualizan (se insertan) en el fotograma de referencia.
De esta forma el flujo de información de salida
sólo contiene aquellas particiones que hayan presentado cambios de
contenido con respecto al fotograma de referencia, lo cual supone
una reducción importante de la cantidad de datos a transmitir o a
almacenar.
Se ha comprobado que es más eficiente comprimir
en JPEG 2000 toda la imagen y luego acceder sólo a los tiles
modificados.
A la hora de reproducir un vídeo comprimido con
el método de la presente invención, se debe mantener como base un
fotograma anterior y actualizar sólo aquellas nuevas zonas presentes
en el flujo de información de salida o "fotograma MIJ2K", es
decir, mostrar únicamente aquellas particiones presentes en ese
flujo.
Con esta técnica se introduce un pequeño
procesamiento extra interframe a un sistema que originalmente se
define como códec de compresión de vídeo intraframe, por lo que se
aportan las ventajas de la compresión interframe a los métodos
intraframe.
Este método puede adaptarse tanto a la
transmisión de vídeo en tiempo real, ya que este análisis requiere
de un mínimo procesamiento, como para el almacenamiento de vídeo,
mejorando en ambos casos el ancho de banda o el espacio necesario
para el almacenamiento.
La selección del análisis comparativo entre
particiones de fotogramas consecutivos (la medida de desemejanza) es
importante, ya que debe ser un proceso que no conlleve complejidad
computacional (bajas latencias) a la vez que sea efectivo a la hora
de llevarlo a la práctica.
De acuerdo con una realización preferida de la
invención, se ha seleccionado un criterio de desemejanza basado en
la diferencia entre fotogramas consecutivos, aunque otros métodos
como, por ejemplo el XOR local, también serían válidos.
El criterio de desemejanza seleccionado consiste
en hacer una resta en valor absoluto de la imagen ya comprimida
mediante JPEG 2000 que se quiere enviar, con la última imagen
enviada. Esta resta se puede hacer fácilmente convirtiendo las dos
imágenes RGB en su correspondiente espacio de colores YUV y restar
así su luminancia. Además el costo computacional es extremadamente
bajo ya que es una operación sencilla.
La resta que se emplea es en valor absoluto, lo
que da siempre la desemejanza que hay entre la información de un
píxel de la imagen que se quiere transmitir respecto a la imagen de
referencia almacenada en el buffer. Con esta simple resta ya se
obtiene una imagen como la mostrada en la Figura 2, donde se muestra
la diferencia entre dos fotogramas consecutivos.
La imagen que se muestra sigue estando en escala
de grises, ya que las dos imágenes de origen también lo estaban,
pero en este caso la información que se muestra es totalmente
distinta. En este caso el color de los píxeles indica la cantidad en
la que difieren dos píxeles de dos fotogramas consecutivos. Los
tonos blancos indican que se ha producido un cambio importante,
mientras que los más oscuros, que apenas ha habido variación en el
color.
Esta información, por tanto, proporciona los
cambios cuantificados que se han producido entre dos fotogramas
consecutivos en una escala de 0 a 255, y con esta información se
puede determinar qué partes de la imagen hace falta enviar.
Para determinar finalmente los tiles a enviar se
han utilizado dos umbrales que no varían en función del tamaño del
tile, lo que da más flexibilidad a la hora de elegir el tamaño del
tile deseado en la transmisión.
El primer método utilizado consiste en la
realización de una media sobre el valor de los píxeles de un mismo
tile, siempre sobre 1a imagen de diferencia en valor absoluto. Este
valor indica la cantidad de información medía cambiada en un tile de
dos fotogramas consecutivos.
Entonces, si la media de los valores de un
determinado tile supera un cierto umbral, indica que ese tile ha de
enviarse, ya que se ha producido un cambio de información
importante.
Este umbral se ha elegido en función de la
percepción visual que produce cada uno de los umbrales y de un
pequeño análisis estadístico de los valores medios de cada tile, de
esta forma se ha establecido un umbral de 2. De tal forma que todo
aquel tile cuya media de valores sea mayor de 2, es enviado.
Sin embargo, con la utilización única de este
método, puede ocurrir que en la imagen haya pequeños artefactos o
residuos de imágenes anteriores. Estos residuos se producen por la
no actualización del tile.
Con este método algunos tiles no son
actualizados, ya que aunque la diferencia de valores en esas zonas
residuales son grandes, la superficie de las mismas no es lo
suficiente amplia como para aumentar el valor medio del tile
completo, con lo que no supera el umbral.
Para solucionar este problema se puede emplear
un método adicional que, funcionando conjuntamente con este método,
permite eliminar esos pequeños residuos de la imagen.
Está relacionado con la aparición de los máximos
locales. Un máximo local en este caso es aquel píxel con el mayor
índice de variación dentro de un tile, o lo que es lo mismo, el
píxel del tile con mayor valor de color.
Cuando uno de los píxeles ha adquirido un valor
suficiente de variación, significa que se ha producido un cambio
importante en esa zona de la imagen, y es posible que dentro de ese
mismo tile existan más píxeles con valores similares, ya que la
aparición de píxeles aislados con gran variación es muy poco
probable.
Esto permite elegir un valor de umbral para el
máximo local, a partir del cual se considera que se ha producido un
cambio importante en esa zona, por pequeño que pueda llegar a ser y,
por tanto, marcar ese tile para el envío. En el presente caso este
umbral se ha elegido en función de la desaparición de residuos o
no.
Se han realizado pruebas de umbrales hasta
encontrar uno con el valor adecuado que no comprometa la calidad del
vídeo pero que continúe minimizando a la vez el ancho de banda
necesario para la transmisión.
Para encontrar el valor de umbral a partir del
cual se empezaría a enviar tiles si uno de los píxeles del tile lo
supera, se ha ido disminuyendo gradualmente el valor del mismo hasta
que dejaron de aparecer esos residuos. En este caso el umbral de
diferencia elegido ha sido de 16. Por lo que cualquier tile que
contenga al menos un píxel con valor mayor a 16, será enviado.
Por otro lado, además de comprobar si ha habido
algún cambio, un rectángulo o tile se considera que ha cambiado si
sobrepasa los siguientes valores:
- "Edad del rectángulo" Es un parámetro
externo donde se indica el número máximo de iteraciones que un
rectángulo puede permanecer sin ser actualizado. Si un rectángulo
retícula sobrepasa ese número, se selecciona para su codificación y
actualización en el fotograma de referencia.
- "Edad del fotograma". Es un parámetro
externo donde se indica cada cuantos fotogramas se debe codificar
enteramente todo el fotograma actual y actualizar el fotograma de
referencia por completo.
En la figura 3 se muestran los rectángulos de un
fotograma que han variado respecto a su fotograma antecesor
empleando este sistema. Y como cabría esperar, la gran mayoría que
ha seleccionado corresponden a la parte de la grada que está en
movimiento, y a los jugadores que se encuentran corriendo por el
terreno de juego.
Con este método entonces se está transmitiendo
únicamente aquellas zonas de la imagen que presentan movimiento,
reduciendo considerablemente el ancho de banda, y la computación en
tareas de decodificación por parte de los clientes, lo cual es una
ventaja de las técnicas interframe pero utilizando técnicas con bajo
costo computacional. Además, el criterio de desemejanza es lo
suficientemente sencillo y robusto para no aumentar la carga
computacional de la codificación, obteniéndose de esta forma una
baja latencia en el proceso de codificación. Este hecho es
importante en la transmisión en tiempo real.
Entonces, en el método de la presente invención,
y como JPEG 2000 permite dividir la imagen en particiones o zonas
más pequeñas (los tiles), se transmiten únicamente aquellos tiles de
la imagen que han sido modificados de un fotograma a otro,
realizando una comprobación de cambio o comparación entre los tiles
de dos fotogramas de la secuencia de vídeo.
Esto permite reducir el ancho de banda necesario
para la transmisión del vídeo, así como reducir el costo de
procesamiento y decodificación en el lado del cliente, el cual es
uno de los mayores problemas en este tipo de sistemas, sobre todo
cuando se emplean sistemas con pocos recursos como teléfonos móviles
o PDAs.
Este método es especialmente indicado en
aplicaciones que se necesite de vídeo en tiempo real (baja
latencia), como por ejemplo en sistemas de vídeo vigilancia. En los
sistemas de vídeo vigilancia se emplean cámaras fijas que
monitorizan áreas extensas con el objeto de detectar intrusiones.
Por norma general, estas escenas no cambian de fotograma a
fotograma, y podrán tomar ventaja del procesamiento interframe aquí
planteado.
Se ha realizado un pequeño análisis de calidad y
compresión empleando el método de la invención sobre un dataset de
vídeos estándar (http://trace.
eas.asu.edu/vuv/index.html) y secuencias de vídeo de cámaras de vídeo vigilancia propias (como el vídeo "hall monitor", del que se muestra un fotograma en la figura 5), y los resultados que se han obtenido han sido los siguientes:
eas.asu.edu/vuv/index.html) y secuencias de vídeo de cámaras de vídeo vigilancia propias (como el vídeo "hall monitor", del que se muestra un fotograma en la figura 5), y los resultados que se han obtenido han sido los siguientes:
\text{*} Peak-Signal to Noise
Ratio (PSNR): es una estimación objetiva de la fidelidad de un vídeo
comprimido con respecto al vídeo original, y está basada en una
técnica del error cuadrático medio.
En la Figura 6 se muestra el resultado de la
evaluación de este parámetro PSNR habiendo utilizado una secuencia
de vídeo a la máxima calidad de vídeo posible para todos los
formatos. Como podemos observar, con el método propuesto en la
presente invención (MIJ2K) se obtiene una calidad similar a MPEG4 y
DIVX. Lo que sí se puede observar es que posee una calidad muy
superior respecto al Motion-JPEG tradicional.
\text{*} Structural Similarity (SSIM;
http://www.ece.
uwaterloo.ca/\simz70wang/research/ssim/) es una medida subjetiva de la calidad del vídeo, y se basa en el sistema de visión humano para estimar si desde un punto de vista humano se aprecian diferencias con respecto a la imagen original. En este índice, cuanto mayor valor se obtiene menos diferencia apreciable existirá.
uwaterloo.ca/\simz70wang/research/ssim/) es una medida subjetiva de la calidad del vídeo, y se basa en el sistema de visión humano para estimar si desde un punto de vista humano se aprecian diferencias con respecto a la imagen original. En este índice, cuanto mayor valor se obtiene menos diferencia apreciable existirá.
Igualmente (véase Figura 7) se puede apreciar
que los resultados de calidad son similares a los que se obtiene con
otros códecs como DIVX y MPEG4. Sin embargo, en este punto hay que
tener en cuenta que estos dos últimos códecs son códecs de
compresión intraframe reales, mientras que la presente invención
(MIJ2K) es un híbrido entre codificación intraframe e interframe, y
como ya se ha comentado, tiene la ventaja de que necesita poca
capacidad de cómputo para la compresión, por lo que puede ofrecer el
vídeo comprimido en tiempo real.
En resumen, el método propuesto posee similar
calidad que los actuales códecs requiriendo menor capacidad de
cómputo.
En capacidad de almacenamiento necesario para
almacenar el vídeo analizado o transmitirlo por la red, la presente
invención ha superado notablemente a otros tres tipos de códec. En
fas pruebas realizadas con vídeos propios de un sistema de
vídeo-vigilancia se ha comprobado como con la
presente invención se obtienen excelentes resultados en compresión,
obteniendo calidades muy similares a las máximas que se pueden
obtener con DIVX y MPEG 4, junto con unos tamaños de archivos muy
reducidos.
En la Figura 8 se muestra el índice de
compresión del vídeo "hall monitor" para los códec MPEG4, DIVX,
MIJ2K y MJPEG.
En la Figura 9, además, se puede comparar el
vídeo generado (en este caso el vídeo "fútbol") utilizando la
técnica interframe propuesta y sin su uso. Se ve una mejora muy
significativa, lo que lo hace idóneo para su transmisión a través de
las redes de comunicaciones, ya que el tiempo de procesamiento es
mínimo comparado con el ancho de banda que podría ahorrarse, aunque
esto produzca una leve pérdida de calidad.
La invención ha sido descrita según una
realización preferida de la misma, pero para el experto en la
materia resultará evidente que otras variaciones pueden ser
introducidas sin exceder el objeto de la invención reivindicada.
Claims (17)
1. Método de codificación y compresión de vídeo
con JPEG 2000, estando dicho vídeo formado por una secuencia de
fotogramas, que comprende los siguientes pasos:
i) establecer un tamaño de partición y dividir
cada fotograma en particiones;
ii) comprimir (100) cada fotograma siguiendo el
formato JPEG 2000 según dicho tamaño establecido de partición;
iii) comparar partición a partición (110) cada
fotograma sin comprimir (20) con un fotograma de referencia (21), y
marcar aquellas particiones que han cambiado entre cada fotograma y
el fotograma de referencia por encima de un umbral
preestablecido;
iv) actualizar (120) dicho fotograma de
referencia sobrescribiendo cada partición marcada en el paso
anterior con la partición que ha cambiado del fotograma sin
comprimir;
v) generar un flujo de información de salida
(130) formado por aquellas particiones comprimidas en JPEG 2000 que
han cambiado para cada fotograma; y
reiterar los pasos iii)-v) para
cada fotograma de la secuencia.
2. Método según la reivindicación 1, en el que
se establece un número máximo de iteraciones que una partición puede
permanecer sin actualizar, y si una partición pasa dicho número
máximo se actualiza en el fotograma de referencia y se selecciona
para, comprimida, formar parte del flujo de información de
salida.
3. Método según cualquiera de tas
reivindicaciones 1-2, en el que se establece un
parámetro que indica cada cuántos fotogramas se actualiza el
fotograma de referencia por completo con dicho fotograma y dicho
fotograma completo comprimido se selecciona para formar el flujo de
información de salida.
4. Método según cualquiera de las
reivindicaciones anteriores, en el que dicho fotograma de referencia
se inicializa con un fotograma negro.
5. Método según cualquiera de las
reivindicaciones 1-4, en el que la etapa de comparar
cada fotograma con el fotograma de referencia se realiza haciendo
una resta en valor absoluto entre dichos fotogra-
mas.
mas.
6. Método según la reivindicación 5, en el que
previamente a esa resta se hace una conversión de dichos fotogramas
a escala de grises.
7. Método según cualquiera de las
reivindicaciones 1-6, en el que dicho umbral
predeterminado se determina realizando una media del valor de los
píxeles de una misma partición, sobre el fotograma de diferencia en
valor absoluto.
8. Método según cualquiera de las
reivindicaciones 1-7, en el que dicho umbral
predeterminado se determina como el píxel con el mayor índice de
variación dentro de una misma partición, o píxel con mayor valor de
color.
9. Método según cualquiera de las
reivindicaciones 1-8, en el que la etapa de comparar
cada fotograma con el fotograma de referencia da como resultado un
valor cuantitativo del cambio habido.
10. Método según cualquiera de las
reivindicaciones 1-4, en el que la etapa de comparar
dicho fotograma con el fotograma de referencia se realiza haciendo
una operación XOR entre dichos primer y segundo fotogramas.
11. Método según cualquiera de las
reivindicaciones 1-10, en el que dicho tamaño de ta
partición se establece según el fotograma a codificar y comprimir
pertenezca a un tipo de escena dentro de grupos de escenas
preestablecidos.
12. Método de transmisión de vídeo con JPEG
2000, caracterizado porque:
- se codifica y comprime una secuencia de
fotogramas de dicho vídeo de acuerdo con el método de codificación y
compresión definido en cualquiera de las reivindicaciones
1-11,
- se transmite dicho flujo de información
generado para cada fotograma de la secuencia.
13. Método de transmisión según la
reivindicación 12, en el que se transmite dichos fotogramas mediante
protocolo RTP sobre UDP.
14. Método de transmisión según la
reivindicación 13, en el que en dicho protocolo RTP se utiliza una
cabecera adicional identificando el tipo de contenido que se está
transmitiendo.
15. Método de almacenamiento de vídeo con
JPEG2000, caracterizado porque:
- se codifica y comprime una secuencia de
fotogramas de dicho vídeo de acuerdo con el método definido en
cualquiera de las reivindicaciones 1-11,
- se almacena dicho flujo de información
generado para cada fotograma de la secuencia en medios de
almacenamiento.
16. Dispositivo codificador y decodificador de
vídeo que incluye medios para llevar a cabo el método de
codificación y compresión definido en cualquiera de las
reivindicaciones 1-11.
17. Programa informático que comprende medios de
código de programa informático adaptados para llevar a cabo el
método de codificación y comprensión definido en cualquiera de las
reivindicaciones 1-11, cuando dicho programa es
ejecutado.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200900262A ES2368050B1 (es) | 2009-01-29 | 2009-01-29 | Método de codificación y compresión interframe de video con jpeg 2000. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200900262A ES2368050B1 (es) | 2009-01-29 | 2009-01-29 | Método de codificación y compresión interframe de video con jpeg 2000. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2368050A1 true ES2368050A1 (es) | 2011-11-14 |
ES2368050B1 ES2368050B1 (es) | 2012-09-27 |
Family
ID=44838634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES200900262A Active ES2368050B1 (es) | 2009-01-29 | 2009-01-29 | Método de codificación y compresión interframe de video con jpeg 2000. |
Country Status (1)
Country | Link |
---|---|
ES (1) | ES2368050B1 (es) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080253666A1 (en) * | 2004-07-08 | 2008-10-16 | Conon Kabushiki Kaisha | Conditional Replenishment for Motion Jpeg2000 |
-
2009
- 2009-01-29 ES ES200900262A patent/ES2368050B1/es active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080253666A1 (en) * | 2004-07-08 | 2008-10-16 | Conon Kabushiki Kaisha | Conditional Replenishment for Motion Jpeg2000 |
Non-Patent Citations (1)
Title |
---|
A. Luis y Miguel A. Patricio. Scalable Streaming of JPEG 2000 Live Video Using RTP over UDP.nternational Symposium on Distributed Computing and Artificial Intelligence 22-24/10/2008 * |
Also Published As
Publication number | Publication date |
---|---|
ES2368050B1 (es) | 2012-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2630452T3 (es) | Dispositivo de codificación de imágenes, dispositivo de descodificación de imágenes, procedimiento de codificación de imágenes y procedimiento de descodificación de imágenes | |
ES2686936T3 (es) | Códec 3DVC basado en MVC que soporta el modo de predicción de movimiento de visualización interna (IVMP) | |
ES2958967T3 (es) | Reducción de latencia en codificación y descodificación de vídeo | |
RU2553103C2 (ru) | Способ кодирования, кодер, программный продукт и программное приложение для мобильного устройства беспроводной связи | |
RU2559691C2 (ru) | Способ декодирования, декодер, программный продукт, программное приложение для мобильного устройства беспроводной связи и электронный потребительский продукт | |
CN110024398A (zh) | 针对屏幕远程处理场景的局部的基于散列的运动估计 | |
BR112018077218A2 (pt) | método e aparelho de codificação e método e aparelho de decodificação | |
KR102457810B1 (ko) | 3d 영상에 관련된 블록의 파티션 경계에서 필터링 수행 방법 | |
BR112021007865A2 (pt) | método e aparelho de predição de imagem | |
ES2964088T3 (es) | Extensión de profundidad de árbol multi-tipo para manejo de límite de imagen | |
KR101354014B1 (ko) | 코딩 구조 | |
ES2702213T3 (es) | Sistema y procedimiento para la detección de planicidad para la compresión de flujo de pantalla (DSC) | |
BR122015017699A2 (pt) | dispositivo de decodificação de imagem | |
CN113261288A (zh) | 视频译码中的灵活分块指示 | |
KR20220145405A (ko) | 피쳐 양자화/역양자화를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 | |
CN112465698A (zh) | 一种图像处理方法和装置 | |
KR20150027731A (ko) | 스크린 영상 부호화 방법 및 그 장치, 스크린 영상 복호화 방법 및 그 장치 | |
CN110505482B (zh) | 一种编解码方法及装置 | |
KR20150010658A (ko) | 비디오 포멧 파라미터 전달을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 | |
CN109923865A (zh) | 一种视频数据的解码方法、解码装置、编码方法和编码装置 | |
CN113261030A (zh) | 视频译码中的灵活分块的分块组 | |
JP7415030B2 (ja) | 混成nalユニットタイプに基づく画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法 | |
ES2807259T3 (es) | Sistema interactivo y procedimiento para transmitir imágenes clave seleccionadas de un flujo de vídeo sobre una red de ancho de banda bajo | |
KR20170019362A (ko) | 뎁스 블록을 이용한 멀티 레이어 비디오 부호화 방법 및 멀티 레이어 비디오 복호화 방법 | |
WO2020143348A1 (zh) | 预测模式确定方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 2368050 Country of ref document: ES Kind code of ref document: B1 Effective date: 20120927 |