Un procedimiento y un sistema de codificación y descodificación de señales de vídeo con estimación de movimiento.
Un procedimiento implementado por ordenador para la codificación de señales de vídeo con estimación de movimiento,
comprendiendo la señal de vídeo tramas divididas en unidades de predicción, comprendiendo el procedimiento las etapas de:
- determinar (401) una unidad de predicción actual (PUX) a codificar,
- crear (407) una lista (LMVXpred) que comprende predicciones de vectores de movimiento (MVPUY) a partir de unidades vecinas (PUY),
- seleccionar (411) de la lista (LMVXpred) la predicción de vector de movimiento que sea la mejor de acuerdo a una función de coste predeterminada para codificar la unidad de predicción actual (PUX)
- usar (412) el número de predicción seleccionada para codificar la unidad de predicción actual (PUX) caracterizado por comprender adicionalmente las etapas de:
- para cada unidad vecina (PUY), comprobar (403) si la unidad vecina (PUY) ha sido codificada en la modalidad de FUSIÓN y no de OMISIÓN y, si es así,
- determinar (404) un vector de movimiento de reconstrucción (MVPUYrec) para esa unidad (PUY) como un vector de movimiento que minimiza la diferencia entre el bloque de predicción reconstruido (PUY) y un bloque en una trama de referencia a la que apunta este vector de movimiento, y
- asignar (405) el vector de movimiento de reconstrucción (MVPUYrec) como un vector de movimiento (MVPUY) a esa unidad (PUY), a usar en la creación (407) de la lista (LMVXpred);
- en el que, en la modalidad de FUSIÓN de la codificación, la unidad vecina (PUY) tiene una corrección de vector de movimiento, dMVY, igual a cero;
- y en el que, en la modalidad no de OMISIÓN de la codificación, la señal residual es enviada para la unidad vecina (PUY).
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E13180012.
Solicitante: POLITECHNIKA POZNANSKA.
Nacionalidad solicitante: Polonia.
Dirección: PI. M. Sklodowskiej-Curie 5 61-542 Poznan POLONIA.
Inventor/es: SIAST,JAKUB, DOMANSKI,MAREK.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- H04N19/109 ELECTRICIDAD. › H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04N TRANSMISION DE IMAGENES, p. ej. TELEVISION. › H04N 19/00 Métodos o disposiciones para la codificación, decodificación, compresión o descompresión de señales de vídeo digital. › codificación predictiva entre una pluralidad de modos temporales.
- H04N19/147 H04N 19/00 […] › según el tipo de criterio de distorsión (tasa de distorsión como un criterio para la estimación del movimiento H04N 19/567).
- H04N19/157 H04N 19/00 […] › Modo de codificación asignado, es decir, el modo de codificación está predefinido o preseleccionado para ser utilizado adicionalmente para la selección de otro elemento o parámetro.
- H04N19/176 H04N 19/00 […] › siendo la región de un bloque, p. ej. un macrobloque.
- H04N19/19 H04N 19/00 […] › mediante la optimización basada en multiplicadores de Lagranges.
- H04N19/513 H04N 19/00 […] › Procesamiento de los vectores de movimiento.
- H04N19/52 H04N 19/00 […] › por codificación predictiva.
- H04N19/593 H04N 19/00 […] › implica técnicas de predicción espacial.
- H04N19/61 H04N 19/00 […] › en combinación con codificación predictiva.
PDF original: ES-2538128_T3.pdf
Fragmento de la descripción:
Un procedimiento y un sistema de codificación y descodificación de señales de vídeo con estimación de movimiento
La presente invención se refiere a un procedimiento y a un sistema de codificación y descodificación de señales de vídeo con estimación de movimiento. Se refiere al campo técnico de la compresión de vídeos.
Uno de los desarrollos recientes en la compresión de vídeo es la Codificación de Vídeo de Alta Eficacia (HEVC), que utiliza la predicción entre imágenes con compensación de movimiento y procedimientos avanzados de predicción de vectores de movimiento. La HEVC ha sido descrita en detalle en el documento: "Codificación de Vídeo de Alta Eficacia (HEVC) - borrador de especificación textual 10 (para FDIS y Consent)" por B. Bross et al (JCTVC-L 1003, Ginebra, Enero de 2013).
En la HEVC, una imagen es codificada en bloques. El bloque básico, para el cual se realiza la predicción de compensación de movimiento, se llama una Unidad de Predicción (PU). Al codificar una PU con compensación de movimiento, se asigna a la PU información referida a su movimiento y una señal residual.
La señal residual describe una diferencia entre valores de píxeles del bloque codificado y los valores de píxeles del bloque resultante de la compensación de movimiento. En la HEVC, un bloque puede ser codificado en modalidad de OMISIÓN, en la que no se envía ninguna señal residual para el bloque, o bien no en modalidad de OMISIÓN, en la que hay alguna señal residual enviada para el bloque.
La información de movimiento comprende vectores de movimiento (MV) e índices de imágenes de referencia (Refldx). El proceso de buscar el vector de movimiento se llama estimación de movimiento (ME). En ese proceso, se busca en un bloque de referencia para un bloque PUx específico, y se indica por un vector MVx de movimiento, a fin de minimizar la función de coste definida por la HEVC como:
Jpred.SATD - SATD + ^vpred * Spred (1)
en donde SATD (una suma de diferencias transformadas absolutas) representa la medida de la no coincidencia de los puntos del bloque de referencia con los valores de los puntos del bloque codificado, Xpred represente el coeficiente de Lagrange y Bpred representa el número de bits necesarios para codificar información de movimiento.
El vector de movimiento MVX mismo está codificado por predicción, usando vectores de movimiento asignados a los bloques de PU que han sido previamente codificados y que son vecinos al bloque codificado PUX. Los vectores de movimiento de las PU de los bloques vecinos forman una lista de predicciones de vectores de movimiento, LMVXpred, para el bloque PUx. Antes de que los vectores de movimiento de las PUy de los bloques vecinos sean insertados en LMvxpred, son ajustados a escala de acuerdo a la distancia temporal entre la trama actual y la trama de referencia a la que apunta el índice de trama de referencia de la PUy vecina y el índice de referencia de la PUX actual. Después del ajuste a escala, todas las predicciones en LMvxPred representan la misma distancia temporal. En la HEVC, LMvxpred tiene una longitud fija y, si no pueden hallarse suficientes predicciones en este punto, entonces los vectores de movimiento generados son insertados para llenarla. Por ejemplo, un vector de movimiento cero puede ser añadido como una predicción. En el flujo de bits, el vector de movimiento MVX está representado usando un índice L¡dx de predicción de vector de movimiento en la lista de predicciones LMvxpred y una posible corrección dMVx para el vector resultante de la predicción. Cuando el bloque de predicción es codificado en una modalidad de FUSIÓN, la corrección dMVx para el vector resultante de la predicción es igual a cero y no se transmite. Las predicciones de vectores de movimiento pueden tener mayor o menor calidad. La calidad de las predicciones de vectores de movimiento se entiende como la generación del más bajo coste de codificación J para las PU del bloque, para la predicción específica.
Cuando un bloque es codificado con compensación de movimiento, al mantener una calidad constante del bloque codificado, el número de bits B disminuye según aumenta la calidad de las predicciones de vectores de movimiento.
El documento US2011176611 divulga un procedimiento para la obtención de vectores de movimiento del sector descodificador (DMVD) que incluye: verificar un tamaño de bloque de un bloque actual a codificar y generar en consecuencia un resultado de la verificación; y utilizar un módulo de la DMVD para referirse al resultado de la verificación, para controlar la transmisión de la primera información de control de la DMVD, que es utilizada para indicar si una operación de codificación de la DMVD es empleada o no para codificar el bloque actual. Cuando el resultado de la verificación indica que se satisface un criterio predeterminado, la primera información de control de la DMVD es enviada en un flujo de bits; en caso contrario, no se envía la primera información de control de la DMVD.
El documento US2012134416 divulga un procedimiento y aparato para obtener un predictor de vectores de movimiento (MVP) temporal. El predictor se obtiene para un bloque actual de una imagen actual en modalidad de Inter, o de Fusión o de Omisión, en base a bloques de referencia co-situados de un bloque co-situado. Los bloques de referencia co-situados comprenden el bloque de referencia de arriba a la izquierda del bloque vecino de abajo a la derecha del bloque co-situado.
Los vectores de movimiento de referencia asociados a los bloques de referencia co-situados son recibidos y usados para obtener el MVP temporal.
El documento US2012128060 divulga un aparato y un procedimiento para obtener un predictor de vectores de movimiento, o un candidato a predictor de vectores de movimiento, o un vector de movimiento, o un candidato a vector de movimiento para un bloque actual.
El documento US2011002390 divulga un procedimiento y un aparato para obtener un vector de movimiento en un descodificador de vídeo. Un vector de movimiento basado en bloques puede ser producido en el descodificador de vídeo utilizando la estimación de movimiento entre los píxeles disponibles, con respecto a bloques en una o más tramas de referencia. Un vector de movimiento MVpred, que es hallado para un bloque vecino Y, se usa para determinar el vector de movimiento para el bloque X. El procedimiento es llevado a cabo para todos los bloques, lo que Impone una carga significativa al aparato descodificador.
El documento WO2011/047994 presenta un procedimiento de codificación de un bloque actual de una secuencia de imágenes que comprende las siguientes etapas: determinar al menos un vector de movimiento candidato, asociado a un bloque vecino de dicho bloque actual, determinar un vector de movimiento de predicción a partir del vector de movimiento candidato y codificar el bloque actual a partir del vector de movimiento de predicción. El vector de movimiento de predicción es determinado de acuerdo a las siguientes etapas: determinar, para el vector de movimiento candidato, un vector de movimiento correctivo a fin de minimizar una distorsión calculada entre el bloque vecino sucesivamente codificado y reconstruido y un movimiento de bloque de predicción compensado por dicho al menos un vector de movimiento candidato, modificado por el vector de movimiento correctivo, y determinar el vector de movimiento de predicción a partir del vector de movimiento candidato, modificado por el vector de movimiento correctivo.
El objetivo de la invención es mejorar los procedimientos para obtener un vector de movimiento, a fin de reducir el ancho de banda necesario para transmitir el flujo codificado con la estimación de movimiento.
El objeto de la invención es un procedimiento implementado por ordenador para la codificación de señales de vídeo con estimación de movimiento y división de tramas en unidades de predicción. El procedimiento comprende las etapas de: determinar la unidad de predicción actual (PUx) a codificar, crear una lista (LMvxPred) que comprende predicciones de vectores de movimiento (MVpuy) en las unidades vecinas (PUy), seleccionar entre la lista (LMvxpred) la predicción de vector de movimiento que sea la mejor de acuerdo a una función de coste predeterminada para codificar la unidad de predicción actual (PUX), usando el número de predicción seleccionada para codificar la unidad de predicción actual (PUX). El procedimiento está caracterizado por comprender además las etapas de: para cada unidad vecina (PUy), comprobar si la unidad vecina (PUy) ha sido codificada en la modalidad de FUSIÓN y no de OMISIÓN y, si es así, determinar un vector de movimiento de reconstrucción (MVpuyrec) para esa unidad (PUy) como un vector de movimiento... [Seguir leyendo]
Reivindicaciones:
1. Un procedimiento ¡mplementado por ordenador para la codificación de señales de vídeo con estimación de movimiento, comprendiendo la señal de vídeo tramas divididas en unidades de predicción, comprendiendo el procedimiento las etapas de:
- determinar (401) una unidad de predicción actual (PUx) a codificar,
- crear (407) una lista (l-Mvxpred) que comprende predicciones de vectores de movimiento (MVpuy) a partir de unidades vecinas (PUy),
- seleccionar (411) de la lista (LMvxPred) la predicción de vector de movimiento que sea la mejor de acuerdo a una función de coste predeterminada para codificar la unidad de predicción actual (PUX)
- usar (412) el número de predicción seleccionada para codificar la unidad de predicción actual (PUX) caracterizado por comprender adicionalmente las etapas de:
- para cada unidad vecina (PUY), comprobar (403) si la unidad vecina (PUy) ha sido codificada en la modalidad de FUSIÓN y no de OMISIÓN y, si es así,
- determinar (404) un vector de movimiento de reconstrucción (MVpuyrec) para esa unidad (PUy) como un vector de movimiento que minimiza la diferencia entre el bloque de predicción reconstruido (PUy) y un bloque en una trama de referencia a la que apunta este vector de movimiento, y
- asignar (405) el vector de movimiento de reconstrucción (MVpuyrec) como un vector de movimiento (MVpuy) a esa unidad (PUy), a usar en la creación (407) de la lista (LMvxpred);
- en el que, en la modalidad de FUSIÓN de la codificación, la unidad vecina (PUy) tiene una corrección de vector de movimiento, dMVy, igual a cero;
- y en el que, en la modalidad no de OMISIÓN de la codificación, la señal residual es enviada para la unidad vecina (PUy).
2. Un programa de ordenador que comprende medios de código de programa para realizar todas las etapas del procedimiento de acuerdo a la reivindicación 1 cuando dicho programa es ejecutado en un ordenador.
3. Un procedimiento ¡mplementado por ordenador para la descodificación de señales de vídeo con estimación de movimiento, comprendiendo la señal de vídeo tramas divididas en unidades de predicción, comprendiendo el procedimiento las etapas de:
- determinar (501) una unidad de predicción actual (PUX) a descodificar,
- determinar (502) a partir de la información de flujo codificada una unidad vecina (PUy) cuyo vector de movimiento será usado para descodificar la unidad de predicción actual (PUX),
- usar (507) el vector de movimiento (MVpuy) de la unidad vecina (PUy) para descodificar información de movimiento en la unidad de predicción actual (PUX),
caracterizado por comprender adicionalmente las etapas de:
- comprobar (503) si la unidad vecina (PUy) ha sido codificada en la modalidad de FUSIÓN y no de OMISIÓN y, si es así,
- determinar (504) un vector de movimiento de reconstrucción (MVpuyrec) para esa unidad (PUy) como un vector de movimiento que minimiza la diferencia entre el bloque de predicción reconstruido (PUy) y un bloque en una trama de referencia a la que apunta este vector de movimiento, y
- asignar (505) el vector de movimiento de reconstrucción (MVpuyrec) como un vector de movimiento (MVpuy) a esa unidad (PUy), a usar en la descodificación de la información de movimiento de la unidad de predicción actual (PUX)
- en el que, en la modalidad de FUSIÓN de la codificación, la unidad vecina (PUy) tiene una corrección de vector de movimiento, dMVy, igual a cero;
- y en donde, en la modalidad no de OMISIÓN de la codificación, la señal residual es enviada para la unidad vecina (PUy).
4. Un programa de ordenador que comprende medios de código de programa para realizar todas las etapas del procedimiento de acuerdo a la reivindicación 3 cuando dicho programa es ejecutado en un ordenador.
5. Un procedimiento ¡mplementado por ordenador para transmitir una señal de vídeo, que comprende las etapas de codificar la señal de vídeo de acuerdo al procedimiento de la reivindicación 1 y de descodificar la señal de vídeo de acuerdo al procedimiento de la reivindicación 3.
6. Un codificador de señales de vídeo que utiliza la estimación de movimiento, comprendiendo la señal de vídeo tramas divididas en unidades de predicción, comprendiendo el codificador;
- una unidad de estimación de movimiento (104) configurada para:
- determinar (401) una unidad de predicción actual (PUx) a codificar,
- crear (407) una lista (l-Mvxpred) que comprende predicciones de vectores de movimiento (MVPUy) a partir de unidades vecinas (PUy),
- seleccionar (411) de la lista (LMvxPred) la predicción de vector de movimiento que sea la mejor de acuerdo a una función de coste predeterminada para codificar la unidad de predicción actual (PUX),
- usar (412) el número de la predicción seleccionada para codificar la unidad de predicción actual (PUx) caracterizado porque comprende adicionalmente:
- una unidad de corrección de predicción (151) configurada para:
- para cada unidad vecina (PUY), comprobar (403) si la unidad vecina (PUY) ha sido codificada en la modalidad de FUSIÓN y no de OMISIÓN y, si es así,
- determinar (404) un vector de movimiento de reconstrucción (MVpuYrec) para esa unidad (PUY) como un vector de movimiento que minimiza la diferencia entre el bloque de predicción reconstruido (PUy) y un bloque en una trama de referencia a la que apunta este vector de movimiento, y
- asignar (405) el vector de movimiento de reconstrucción (MVpuYrec) como un vector de movimiento (MVpuy) a esa unidad (PUy), a usar en la creación (407) de la lista (LMvxpred);
- en el que, en la modalidad de FUSIÓN de la codificación, la unidad vecina (PUy) tiene una corrección de vector de movimiento, dMVy, igual a cero;
- y en el que, en la modalidad no de OMISIÓN de la codificación, la señal residual es enviada para la unidad vecina (PUY).
7. Un descodificador de señales de vídeo que utiliza estimación de movimiento, comprendiendo la señal de vídeo tramas divididas en unidades de predicción, comprendiendo el descodificador:
- una unidad de estimación de movimiento (204) configurada para:
- determinar (501) una unidad de predicción actual (PUX) a descodificar,
- determinar (502) a partir de la información de flujo codificada una unidad vecina (PUY) cuyo vector de movimiento será usado para descodificar la unidad de predicción actual (PUX),
- usar (507) el vector de movimiento (MVpuy) de la unidad vecina (PUy) para descodificar la información de movimiento en la unidad de predicción actual (PUx),
caracterizado porque comprende adicionalmente:
- una unidad de corrección de predicción (251) configurada para:
- comprobar (503) si la unidad vecina (PUy) ha sido codificada en una modalidad de FUSIÓN y no de OMISIÓN y, si es así,
- determinar (504) un vector de movimiento de reconstrucción (MVpuYrec) para esa unidad (PUy) como un vector de movimiento que minimiza la diferencia entre el bloque de predicción reconstruido (PUY) y un bloque en una trama de referencia a la que apunta este vector de movimiento, y
- asignar (505) el vector de movimiento de reconstrucción (MVpuYrec) como un vector de movimiento (MVpuy) a esa unidad (PUy), para ser usada en la descodificación de la unidad de predicción actual (PUX);
- en el que, en la modalidad de FUSIÓN de la codificación, la unidad vecina (PUY) tiene una corrección de vector de movimiento, dMVy, igual a cero;
-y en el que, en la modalidad no de OMISIÓN de la codificación, la señal residual es enviada para la unidad vecina (PUy).
8. Un sistema de transmisión de señales de vídeo, que comprende el codificador de señales de vídeo de acuerdo a la reivindicación 6 y el descodificador de señales de vídeo de acuerdo a la reivindicación 7.
Patentes similares o relacionadas:
Método de correlación de modo de intra predicción, del 29 de Julio de 2020, de DOLBY LABORATORIES LICENSING CORPORATION: Un método de descodificación de imágenes, comprendiendo el método: descodificar (S300) información de bandera que indica si uno de los modos […]
Aparato de derivación de información de movimiento, del 24 de Junio de 2020, de INNOTIVE LTD: Un aparato de decodificación de datos de vídeo en un modo de fusión, en el que, en el modo de fusión, información de movimiento de uno de entre […]
Método y aparato para decodificar modo de intra-predicción, del 24 de Junio de 2020, de INNOTIVE LTD: Un método de decodificación de un modo de intra-predicción, que comprende: reconstruir un indicador de grupo de modos de intra-predicción y un índice de modo de predicción, […]
Codificación luma-croma con tres predictores espaciales distintos, del 17 de Junio de 2020, de DOLBY INTERNATIONAL AB: Un codificador de video para codificar datos de señal de video para un bloque de imagen, comprendiendo el codificador de video un codificador para codificar […]
Procedimiento de descodificación predictiva de vídeo en movimiento, dispositivo de descodificación predictiva de vídeo en movimiento, del 17 de Junio de 2020, de NTT DOCOMO, INC.: Procedimiento de descodificación predictiva de vídeo ejecutado por un dispositivo de descodificación predictiva de vídeo, que comprende: […]
Aparato de decodificación de imágenes, del 3 de Junio de 2020, de INNOTIVE LTD: Aparato de decodificación de imágenes, que comprende: una unidad de análisis para decodificar información de intra-predicción de un flujo […]
Aparato de decodificación de imágenes, del 3 de Junio de 2020, de INNOTIVE LTD: Aparato de decodificación de imágenes, que comprende: una unidad de análisis para decodificar información de intra-predicción de un flujo de bits recibido; […]
Aparato de decodificación de imágenes, del 3 de Junio de 2020, de INNOTIVE LTD: Aparato de decodificación de imágenes, que comprende: una unidad de análisis para decodificar información de intra-predicción de un flujo de bits recibido; […]