ES2807908T3 - Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación - Google Patents

Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación Download PDF

Info

Publication number
ES2807908T3
ES2807908T3 ES14711801T ES14711801T ES2807908T3 ES 2807908 T3 ES2807908 T3 ES 2807908T3 ES 14711801 T ES14711801 T ES 14711801T ES 14711801 T ES14711801 T ES 14711801T ES 2807908 T3 ES2807908 T3 ES 2807908T3
Authority
ES
Spain
Prior art keywords
image
quantization parameter
value
image portion
qpi
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.)
Active
Application number
ES14711801T
Other languages
English (en)
Inventor
Edouard Francois
Guillaume Laroche
Patrice Onno
Christophe Gisquet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of ES2807908T3 publication Critical patent/ES2807908T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Abstract

Procedimiento de codificación de una imagen o una porción de imagen que comprende: determinar el valor QPC de un parámetro de cuantificación para un componente de croma de una imagen o porción de imagen utilizando la siguiente función para obtener el valor QPC a partir de un parámetro de cuantificación intermedio QPI tanto cuando el formato de color es 4:2:2 como cuando el formato de color es 4:4:4, **(Ver fórmula)** y determinar el valor del parámetro de cuantificación para el componente de croma utilizando la siguiente función para obtener el valor QPC a partir del parámetro de cuantificación intermedio QPI cuando el formato de color es 4:2:0, **(Ver fórmula)** , basándose el parámetro de cuantificación intermedio QPI en el valor de un parámetro de cuantificación de un componente de luma de la imagen o porción de imagen; y utilizar el valor determinado QPC para codificar la imagen o porción de imagen.

Description

DESCRIPCIÓN
Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación
SECTOR TÉCNICO DE LA INVENCIÓN
La presente invención se refiere a un procedimiento y a un dispositivo para determinar el valor de un parámetro de cuantificación. Dicho procedimiento y dispositivo se puede utilizar para proporcionar una mejora de la cuantificación conjunta de los componentes de color en la Extensión de Rango (RExt) del estándar de vídeo HEVC ("High Efficiency Video Coding", Codificación de vídeo de alta eficiencia).
ESTADO DE LA TÉCNICA ANTERIOR
En general, una imagen en color está hecha de tres componentes de color, R, G y B. En general, estos componentes están correlacionados, y es muy habitual en la compresión de imagen y de vídeo descorrelacionar los componentes de color antes de procesar las imágenes. Con ese propósito, el formato más común utilizado es el formato de color YUV (u otra variante similar denominada YCbCr). Habitualmente, las señales YUV se crean a partir de imágenes RGB, utilizando una transformada lineal de las tres entradas R, G y B. En el formato YUV, U y V son los segundos componentes de color e Y es el primer componente de color. Actualmente, los tres componentes de color se consideran componentes de color.
La imagen o fotografía y, en particular, sus componentes de color, están asociados con los parámetros de cuantificación QP (habitualmente entre 0 y 51) utilizados en el proceso de cuantificación de los coeficientes obtenidos a partir de los valores de muestras de píxeles mediante una transformada (por ejemplo, la DCT o la DST) durante la codificación de la imagen y en el proceso de descuantificación durante la codificación y descodificación de la imagen.
Por ejemplo, en el estándar de vídeo HEVC hay una relación entre los parámetros de cuantificación QP aplicados al primer componente de color (que es el primer componente de color en el caso del formato de color YUV, y puede ser, por ejemplo, el componente de color G en el caso del formato de color RGB), denotados de ahora en adelante como QPY, y los parámetros de cuantificación QP aplicados a los otros componentes de color denominados segundos componentes de color (que son los segundos componentes de color en el caso del formato de color YUV, y pueden ser, por ejemplo, los componentes de color R y B en el caso del formato de color RGB), denotados de ahora en adelante como QPC.
Para generar QPC a partir de QPY, se calcula un valor intermedio QPI como sigue:
QPI = MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC))
en el que:
- QPBdOffsetC es un desplazamiento predefinido que depende de la profundidad de bits utilizada para representar el segundo componente de color, y
- QPOffsetC es un desplazamiento que permite controlar parcialmente la relación entre QPY y QPC.
Entonces, el parámetro de cuantificación aplicado al segundo componente QPC se obtiene a partir del valor intermedio q Pi utilizando, por ejemplo, una de las siguientes tablas de correspondencia (del borrador actual de la Extensión de rango de HEVC), seleccionada dependiendo del formato de color utilizado (especificado mediante un parámetro ChromaArrayType):
Figure imgf000003_0001
Figure imgf000004_0001
T abla 3: formato de color 4:4:4 YUV
Figure imgf000005_0001
Por tanto, estas tablas se utilizan para obtener los parámetros de cuantificación del segundo componente de color, cada vez en correlación con el formato de color utilizado. En la primera versión de HEVC (la versión publicada antes de la versión de Extensión de rango), solo se especifica y utiliza la Tabla 1. En el borrador actual de la especificación de Extensión de rango, se han añadido las dos tablas adicionales (Tabla 2 y Tabla 3).
Incluso si permite una generalización para varios formatos de color con respecto a la primera versión del estándar HEVC, que estaba enfocada en el formato de color 4:2:0 YUV, no hay ninguna flexibilidad en la elección de la tabla, ya que con un formato de color se asocia una única tabla.
Asimismo, con el fin de permitir la generalización del estándar HEVC para los otros formatos de color distintos al 4:2:0 YUV, se requiere memoria adicional para almacenar los valores de las Tablas 2 y 3.
El documento de FLYNN D et al: "HEVC Range Extensions Draft 2" (Borrador 2 de Extensiones de rango de HEVC), 12. REUNIÓN DEL JCT-VC; 103. REUNIÓN DE MPEG; GINEBRA; (EQUIPO CONJUNTO DE COLABORACIÓN EN CODIFICACIÓN DE VÍDEO ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16), n° JCTVC-L1005, publicado el 25 de febrero de 2013, da a conocer dicha versión de Extensión de rango que utiliza las tablas 1 a 3 mostradas anteriormente para la obtención del QP de croma.
El documento de Xu J et al: "Chroma QP extension and signaling enhancement" (Extensión y mejora de señalización del QP de croma), 100. Reunión de MPEG; Ginebra; (Grupo de expertos en imágenes en movimiento o ISO/IEC JTC1/SC29/WG11), n° m24512, 28 de abril de 2012, describe que en HM6.0, el QP de croma solo puede tomar valores en el rango de [0, 39]. También describe la extensión del QP de croma para variar en el rango de [0, 51] utilizando como una base una propuesta realizada en JCTVC-H0400, y la señalización de un desplazamiento del QP de croma a nivel de fragmento similar al desplazamiento del QP de luma que se señaliza a nivel de fragmento.
CARACTERÍSTICAS DE LA INVENCIÓN
La presente invención se ha concebido para abordar uno o varios de los problemas anteriores, con intención de mejorar la flexibilidad de la cuantificación del primer y segundo componentes de color en la Extensión de rango del estándar de vídeo HEVC.
En este contexto y según un primer aspecto de la invención, se da a conocer un procedimiento como se expone en las reivindicaciones 1 a 13.
En algunas realizaciones, el formato de color es un formato de color YUV.
Según la invención, dicha función es una tabla que asocia con cada valor del parámetro de cuantificación intermedio un valor del parámetro de cuantificación para el componente de croma.
Según la invención, los tres posibles formatos de color son el formato de color 4:2:0 YUV, el formato de color 4:2:2 YUV y el formato de color 4:4:4 YUV, y las dos funciones disponibles son las siguientes tablas:
Figure imgf000006_0001
Tabla asociada con el formato de color 4:4:4 YUV
Figure imgf000007_0001
Como se dispone de menos funciones que posibles formatos de color, la memoria adicional requerida para almacenar los valores de las funciones es limitada en comparación con la técnica anterior (véase, por ejemplo, la Tabla 2 de la introducción, que contiene valores concretos que no se pueden deducir a partir de las otras Tablas).
Por tanto, la determinación del valor del parámetro de cuantificación para un componente de croma se puede gestionar utilizando las funciones disponibles.
Según la invención, se dispone de, como mínimo, tres posibles formatos de color, y hay solo dos funciones disponibles para determinar los parámetros de cuantificación para componentes de croma.
En algunas realizaciones, el valor del parámetro de cuantificación intermedio QPI se calcula utilizando la siguiente ecuación:
QPI = MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC)) en la que:
- QPBdOffsetC es un desplazamiento predefinido que depende de la profundidad de bits utilizada para representar el segundo componente de color,
- QPY es el valor del parámetro de cuantificación del primer componente de color de la imagen o porción de imagen, y
- QPOffsetC es un desplazamiento que permite controlar parcialmente la relación entre QPC y QPY.
En algunas realizaciones, la etapa de generación comprende introducir un parámetro que indica la función utilizada en la etapa de determinación en una unidad NAL del flujo de bits.
En algunas realizaciones, dicha unidad NAL es un Conjunto de parámetros de secuencia o un Conjunto de parámetros de imagen.
En variantes, dicha unidad NAL comprende un fragmento, y en las que dicho parámetro se incluye en la cabecera del fragmento.
En algunas realizaciones, cuando la imagen se filtra mediante un filtro de eliminación de bloques utilizando como mínimo un parámetro de cuantificación de eliminación de bloques para el como mínimo un segundo componente de color, el parámetro de cuantificación de eliminación de bloques se determina aplicando dicha como mínimo una función a un valor de otro parámetro de cuantificación intermedio QPI' basándose también en el valor del parámetro de cuantificación del componente de luma de la imagen o porción de imagen.
Por ejemplo, la imagen filtrada es la imagen reconstruida basándose en los datos cuantificados. La imagen filtrada se puede utilizar como una imagen de referencia para codificar otra imagen.
En algunas realizaciones, la imagen o porción de imagen se divide en bloques, y en las que el valor del otro parámetro de cuantificación intermedio QPI' se calcula utilizando la siguiente ecuación:
QPI' = QPYpred cQpPicOffset
en la que:
- cQpPicOffset es un desplazamiento predefinido transmitido en el flujo de bits generado utilizado para representar el parámetro de cuantificación para el como mínimo un segundo componente de color; y
- QPYpred es el valor de un parámetro de cuantificación de eliminación de bloques promedio deducido a partir de los bloques vecinos del bloque actual que se está procesando.
En algunas realizaciones, el procedimiento de descodificación comprende, además, filtrar la imagen o porción de imagen con un filtro de eliminación de bloques utilizando como mínimo un parámetro de cuantificación de eliminación de bloques para el componente de croma, determinándose dicho parámetro de cuantificación de eliminación de bloques aplicando dicha como mínimo una función a un valor de otro parámetro de cuantificación intermedio QPI' basado también en el valor del parámetro de cuantificación del componente de luma de la imagen o porción de imagen.
En algunas realizaciones, la imagen o porción de imagen se divide en bloques, y el valor del otro parámetro de cuantificación intermedio QPI' se calcula utilizando la siguiente ecuación:
QPI' = QPYpred cQpPicOffset
en la que:
- cQpPicOffset es un desplazamiento predefinido transmitido en el flujo de bits recibido utilizado para representar el parámetro de cuantificación de eliminación de bloques para el componente de croma; y
- QPYpred es el valor de un parámetro de cuantificación de eliminación de bloques promedio deducido a partir de los bloques vecinos del bloque actual que se está procesando.
De manera correspondiente, también se da a conocer un producto de programa informático como se expone en la reivindicación 14, o un medio de almacenamiento legible por ordenador como se expone en la reivindicación 15.
De manera correspondiente, también se da a conocer un dispositivo para codificar una imagen o porción de imagen como se expone en las reivindicaciones 16 y 17.
De manera correspondiente, también se da a conocer un dispositivo para descodificar una imagen o porción de imagen como se expone en las reivindicaciones 18 y 19.
Los dispositivos pueden tener características opcionales similares a las definidas anteriormente en las reivindicaciones dependientes de los procedimientos. Cuando se describe una característica en términos del proceso anterior, un experto en la materia podrá implementarla como un elemento funcional en los dispositivos de la invención.
Como mínimo, partes de los procedimientos según la invención se pueden implementar por ordenador. En consecuencia, la presente invención puede tomar la forma de una realización completamente hardware, una realización completamente software o una realización que combina aspectos de software y de hardware que, en la presente memoria descriptiva, pueden denominarse, en general, un dispositivo o un "sistema". Asimismo, la presente invención puede tomar la forma de un producto de programa informático incorporado en cualquier medio o expresión tangible que tiene código de programa utilizable por ordenador incorporado en el medio. Como la presente invención se puede implementar en software, la presente invención se puede realizar como código legible por ordenador para su provisión a un aparato programable en cualquier medio portador apropiado, por ejemplo, un medio portador tangible o un medio portador transitorio. Un medio portador tangible puede comprender un medio de almacenamiento tal como una unidad de disco flexible, un CD-ROM, una unidad de disco duro, un dispositivo de cinta magnética o un dispositivo de memoria de estado sólido y similares. Un medio portador transitorio puede incluir una señal tal como una señal eléctrica, una señal electrónica, una señal óptica, una señal acústica, una señal magnética o una señal electromagnética, por ejemplo, una señal de microondas o de RF.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
A continuación, se describirán las realizaciones de la invención, solo a modo de ejemplo, y haciendo referencia a los siguientes dibujos, en los que:
- la figura 1 ilustra la división de HEVC de una imagen;
- la figura 2 muestra un diagrama de bloques simplificado que muestra un ejemplo de un dispositivo de codificación según una realización particular de la invención;
- la figura 3 muestra un diagrama de bloques simplificado que muestra un ejemplo de un dispositivo de descodificación según una realización particular de la invención;
- la figura 4 muestra las etapas generales de un procedimiento para determinar el valor de un parámetro de cuantificación para, como mínimo, un segundo componente de color de una imagen, según una realización particular de la invención;
- la figura 5 muestra las etapas generales de un procedimiento de codificación de una imagen, según una realización particular de la invención;
- la figura 6 muestra las etapas generales de un procedimiento de descodificación de una imagen, según una realización particular de la invención;
DESCRIPCIÓN DETALLADA DE REALIZACIONES DE LA INVENCIÓN
La invención da a conocer procedimientos y dispositivos para determinar el valor de un parámetro de cuantificación para un segundo componente de color.
La figura 1 ilustra la división de HEVC de una imagen o fotografía hecha de tres componentes de color. Por ejemplo, el primer componente de color es un componente de luma Y, y los otros componentes son los componentes de croma U, V.
En particular, la figura 1 muestra la estructura de codificación utilizada en HEVC, que es aplicable tanto a la primera versión de HEVC como a la Extensión de rango. Según HEVC y uno de sus predecesores anteriores, la secuencia de vídeo original 101 es una sucesión de imágenes digitales "imágenes i". Como se conoce en sí, una imagen digital se representa mediante una o varias matrices, cuyos coeficientes representan píxeles. Las imágenes 102 se dividen en fragmentos 103. Un fragmento es una parte de la imagen o la imagen completa. En HEVC, estos fragmentos se dividen en Unidades de árbol de codificación (Coding Tree Units, CTU) no superpuestas 104 (también denominadas Unidades de codificación más grandes).
Cada CTU 105 se puede dividir de forma iterativa en Unidades de codificación (Coding Units, CU) de tamaño variable más pequeñas, utilizando una descomposición de árbol cuádruple. Las unidades de codificación CU son elementos de codificación elementales, comprendiendo cada una dos subunidades: Unidad de predicción (Prediction Unit, PU) 106 y Unidades de transformada (Transform Units, TU) 107 de tamaño máximo igual al tamaño de la CU.
Las Unidades de predicción corresponden a la división de la CU para la predicción de valores de píxeles. Cada CU se puede dividir, además, en un máximo de cuatro cuadrados o dos rectángulos. Las Unidades de transformada se utilizan para representar las unidades elementales que se transforman espacialmente (por ejemplo, con DCT o DST). Una CU se puede dividir en TU basándose en una representación de árbol cuádruple.
Cada fragmento está embebido en una unidad NAL. Además, los parámetros de codificación de la secuencia de vídeo se almacenan en unidades NAL dedicadas denominadas conjuntos de parámetros. En HEVC y H.264/AVC se emplean dos tipos de unidades NAL de conjuntos de parámetros:
- Unidad NAL de Conjunto de parámetros de secuencia (Sequence Parameter Set, SPS), que recoge todos los parámetros que no cambian durante toda la secuencia de vídeo; habitualmente, gestiona el perfil de codificación, el tamaño de las tramas de vídeo y otros parámetros
- Unidad NAL de Conjuntos de parámetros de imagen (Picture Parameter Sets, PPS), que codifica los diferentes valores que pueden cambiar de una trama a otra.
La figura 2 muestra un diagrama de un codificador de vídeo HEVC clásico 20 que se puede considerar un superconjunto de uno de sus predecesores (H.264/AVC). Dicho codificador puede implementar un procedimiento de codificación según realizaciones de la presente invención, tal como se describe posteriormente con referencia a la figura 5.
Cada trama de la secuencia de vídeo original 101 se divide en primer lugar en una cuadrícula de unidades de codificación (CU) mediante el módulo 201. Esta etapa también controla la definición de fragmentos de codificación y entropía. En general, dos procedimientos definen los límites de fragmento, que son: utilizar un número fijo de CU por fragmentos (fragmentos de entropía o de codificación) o un número fijo de bytes.
La subdivisión de las CTU en CU y la división de las CU en TU y PU se determina basándose en un criterio de grado de distorsión. Cada PU de las CU que se están procesando se predice espacialmente mediante un predictor "Intra" 217, o temporalmente mediante un predictor "Inter" 218. Cada predictor es un bloque de píxeles generado a partir de la misma imagen u otra imagen, con respecto a la que se obtiene un bloque de diferencia (o "residuo"). Gracias a la identificación del bloque predictor y a la codificación del residuo, es posible reducir la cantidad de información que realmente se debe codificar.
Las tramas codificadas son de dos tipos: tramas predichas de forma temporal (predichas a partir de una trama de referencia, denominadas tramas P, o predichas a partir de dos tramas de referencia, denominadas tramas B) y tramas predichas de forma no temporal (denominadas tramas Intra o tramas I). En las tramas I, solo se considera la intrapredicción para codificar CU/PU. En las tramas P y las tramas B, se considera la intrapredicción y la interpredicción para codificar CU/PU.
En el módulo de procesamiento de intrapredicción 217, el bloque actual se predice por medio de un intrapredictor, un bloque de píxeles construido a partir de la información ya codificada de la imagen actual. El módulo 202 determina un modo de predicción espacial que se utiliza para predecir píxeles a partir de los píxeles de PU vecinas. En HEVC, se consideran hasta 35 modos. Un bloque residual se obtiene calculando la diferencia del bloque intrapredicho y el bloque de píxeles actual. Por lo tanto, un bloque intrapredicho está compuesto por un modo de predicción con un residuo.
La codificación del modo de intrapredicción se infiere a partir del modo de predicción de las unidades de predicción vecinas. Este proceso de inferencia del modo de intrapredicción que lleva a cabo el módulo 203 permite reducir la velocidad de codificación del modo de intrapredicción. El módulo de procesamiento de intrapredicción también utiliza dependencias espaciales de la trama para predecir los píxeles, pero también para inferir el modo de intrapredicción de la unidad de predicción.
El segundo módulo de procesamiento 218 lleva a cabo la intercodificación, utilizando monopredicción (tipo P) o bipredicción (tipo B). La monopredicción (tipo P) consiste en predecir el bloque haciendo referencia a un bloque de referencia de una imagen de referencia, y la bipredicción (tipo B) consiste en predecir el bloque haciendo referencia a dos bloques de referencia de una o dos imágenes de referencia.
El módulo 204 realiza una estimación del movimiento entre la PU actual y las imágenes de referencia 215 con el fin de identificar, en una o varias de estas imágenes de referencia, uno (tipo P) o varios (tipo B) bloques de píxeles, con el fin de utilizarlos como predictores de este bloque actual. En caso de que se utilicen varios predictores de bloque (tipo B), se combinan para generar un único bloque de predicción. Las imágenes de referencia son imágenes en la secuencia de vídeo que ya se han codificado y, a continuación, reconstruido (mediante su descodificación).
El bloque de referencia se identifica en la trama de referencia mediante un vector de movimiento que es igual al desplazamiento entre la PU en la trama actual y el bloque de referencia. El siguiente módulo 205 lleva a cabo un proceso de interpredicción que consiste en calcular la diferencia entre el bloque de predicción y el bloque actual. Este bloque de diferencia es el residuo del bloque interpredicho. Al final del proceso de interpredicción, la PU actual está compuesta por un vector de movimiento y un residuo.
HEVC proporciona un procedimiento para predecir los vectores de movimiento de cada PU. Se emplean varios predictores de vector de movimiento candidatos. Habitualmente, los vectores de movimiento de la PU localizada en la parte superior, la izquierda o la esquina superior izquierda de la PU actual son un primer conjunto de predictores espaciales. También se utiliza un candidato de vector de movimiento temporal, que es el de la PU colocalizada (es decir, la PU en las mismas coordenadas) en una trama de referencia. Selecciona uno de los predictores basándose en un criterio que minimiza la diferencia entre el predictor de MV y el de la PU actual. En HEVC, este proceso se denomina AMVP (significa "Adaptive Motion Vector Prediction", Predicción adaptativa del vector de movimiento).
Finalmente, el vector de movimiento de la PU actual se codifica mediante el módulo 206 con un índice que identifica al predictor dentro del conjunto de candidatos y una diferencia de MV (MVD) del MV de la PU con el candidato del MV seleccionado. El módulo de procesamiento de interpredicción también se basa en dependencias espaciales entre la información de movimiento de las unidades de predicción para aumentar la relación de compresión de las unidades de codificación interpredichas.
Por tanto, estos dos tipos de codificación proporcionan varios residuos de textura (la diferencia entre el bloque actual y el bloque predictor), que se comparan en un módulo 216 para seleccionar el mejor modo de codificación.
A continuación, el residuo obtenido al final del proceso de interpredicción o intrapredicción se transforma mediante el módulo 207. La transformada se aplica a una Unidad de transformada (TU) que está incluida en una CU. Una TU se puede dividir además en TU más pequeñas utilizando una descomposición de árbol cuádruple residual (RQT). En general, en HEVC se utilizan 2 o 3 niveles de descomposiciones, y los tamaños de transformada autorizados son de 32x32, 16x16, 8x8 y 4x4. La base de la transformada se obtiene a partir de una transformada de coseno discreto DCT o de una transformada de seno discreto DST.
A continuación, los coeficientes transformados residuales se cuantifican mediante el módulo 208 utilizando los parámetros de cuantificación para el primer y los segundos componentes de color. Los parámetros de cuantificación para los segundos componentes de color se determinan, por ejemplo, utilizando un procedimiento de determinación según realizaciones de la presente invención, tal como se describe posteriormente con referencia a la figura 4. A continuación, los coeficientes del residuo transformado cuantificado se codifican por medio de una codificación por entropía que lleva a cabo el módulo 209, y, a continuación, se introducen en el flujo de bits comprimido 210. Los elementos de sintaxis de codificación también se codifican con la ayuda del módulo 209. Como se explicará con más detalle con referencia a la figura 5, estos elementos de sintaxis de codificación pueden comprender parámetros que indican las funciones utilizadas para obtener los parámetros de cuantificación. El módulo de procesamiento 209 utiliza dependencias espaciales entre los elementos de sintaxis para aumentar la eficiencia de codificación.
Con el fin de calcular los intrapredictores o para realizar una estimación del movimiento para los interpredictores, el codificador lleva a cabo una descodificación de los bloques que ya están codificados por medio de un bucle de descodificación implementado mediante los módulos 211, 212, 213, 214, 215. Este bucle de descodificación hace posible reconstruir los bloques e imágenes a partir de los residuos transformados cuantificados.
Por tanto, el residuo transformado cuantificado se descuantifica mediante el módulo 211 aplicando la cuantificación inversa a la proporcionada por el módulo 208 y se reconstruye mediante el módulo 212 aplicando la transformada inversa a la que lleva a cabo el módulo 207.
Si el residuo proviene de un módulo de intracodificación 217, el intrapredictor utilizado se añade a este residuo con el fin de recuperar un bloque reconstruido correspondiente al bloque original modificado por las pérdidas resultantes de una transformación con pérdidas, aquí operaciones de cuantificación.
Por otra parte, si el residuo proviene de un módulo de intercodificación 218, los bloques a los que apuntan los vectores de movimiento actuales (estos bloques pertenecen a las imágenes de referencia 215 referenciadas mediante los índices de la imagen actual) se combinan y, a continuación, se añaden a este residuo descodificado. De este modo, el bloque original se modifica por las pérdidas resultantes de las operaciones de cuantificación.
Un módulo de procesamiento de filtro de bucle final 219 se aplica a la señal reconstruida con el fin de reducir los efectos creados por la cuantificación pesada de los residuos obtenidos y de mejorar la calidad de la señal. En el estándar HEVC actual, se utilizan 2 tipos de filtros de bucle: el filtro de eliminación de bloques 213 y el desplazamiento adaptativo de muestras (Sample Adaptive Offset, SAO) 220.
El filtro de eliminación de bloques 213 puede utilizar los parámetros de cuantificación de eliminación de bloques obtenidos mediante la aplicación de la(s) misma(s) función(es) que la(s) aplicada(s) para determinar el(los) parámetro(s) de cuantificación para el(los) segundo(s) componente(s) de color utilizado(s) por el módulo de cuantificación 208.
Las imágenes filtradas, también denominadas imágenes reconstruidas, se almacenan entonces como imágenes de referencia 215 con el fin de permitir que las interpredicciones posteriores tengan lugar durante la compresión de las siguientes imágenes de la secuencia de vídeo actual. Es posible utilizar varias imágenes de referencia 215 para la estimación y la compensación de movimiento de la imagen actual.
El flujo de bits resultante 210 del codificador 20 también está compuesto por un conjunto de unidades NAL que corresponde a conjuntos de parámetros y fragmentos de codificación.
La figura 3 muestra un diagrama global de un descodificador de vídeo clásico 30 de tipo HEVC. El descodificador 30 recibe como una entrada un flujo de bits 210 correspondiente a una secuencia de vídeo 201 comprimida mediante un codificador del tipo HEVC, como el de la figura 2.
Dicho descodificador puede implementar un procedimiento de descodificación según realizaciones de la presente invención, tal como se describe posteriormente con referencia a la figura 6.
Durante el proceso de descodificación, en primer lugar, el flujo de bits 210 se analiza con la ayuda del módulo de descodificación por entropía 301. Este módulo de procesamiento utiliza los elementos previamente descodificados por entropía para descodificar los datos codificados. En concreto, descodifica los conjuntos de parámetros de la secuencia de vídeo para inicializar el descodificador y también descodifica las Unidades de árbol de codificación (CTU, también denominadas LCU) de cada trama de vídeo. A continuación, se descodifica cada unidad NAL que corresponde a fragmentos de codificación o fragmentos de entropía. El proceso de análisis que utiliza los módulos 301, 302 y 303 se puede realizar en paralelo para cada fragmento, pero los módulos de procesos de predicción de bloque 305 y 303 y el módulo de filtro de bucle deben ser secuenciales para evitar el problema de disponibilidad de datos de vecinos.
La división de la CTU se analiza y se identifica la subdivisión de CU, PU y TU. El procesamiento sucesivo de cada CU mediante el descodificador se lleva a cabo entonces con la ayuda de los módulos de intrapredicción (307) e interpredicción (306), los módulos de cuantificación inversa y de transformada inversa y, finalmente, el módulo de procesamiento de filtro de bucle (219).
El modo de interpredicción o intrapredicción para el bloque actual se analiza a partir del flujo de bits 210 con la ayuda del módulo de proceso de análisis 301. Dependiendo el modo de predicción, se emplea el módulo de procesamiento de intrapredicción 307 o el módulo de procesamiento de interpredicción 306. Si el modo de predicción del bloque actual es de tipo Intra, el modo de intrapredicción se extrae del flujo de bits y se descodifica con la ayuda del módulo de modo de predicción de vecinos 302 del módulo de procesamiento de intrapredicción 307. A continuación, se calcula el bloque intrapredicho en el módulo 303 con el modo de intrapredicción descodificado y los píxeles ya descodificados en los límites de la PU actual. El residuo asociado con el bloque actual se recupera a partir del flujo de bits 210 y se descodifica por entropía.
Si el modo de predicción del bloque actual indica que este bloque es de tipo Inter, la información de movimiento se extrae del flujo de bits 210 y se descodifica mediante el módulo 304. El proceso AMVP se lleva a cabo mediante los módulos 304 y 305. La información de movimiento de las PU de vecinos ya descodificadas también se utiliza para calcular el vector de movimiento de la PU actual. Este vector de movimiento se utiliza en el módulo de compensación de movimiento inverso 305 con el fin de determinar el bloque interpredictor contenido en las imágenes de referencia 215 del descodificador 30. De una manera similar al codificador, estas imágenes de referencia 215 están compuestas por imágenes que preceden a la imagen que se está descodificando actualmente y que se reconstruyen a partir del flujo de bits (y, por lo tanto, se descodifican previamente).
La siguiente etapa de descodificación consiste en descodificar el bloque residual que se ha transmitido en el flujo de bits. El módulo de análisis 301 extrae los coeficientes residuales del flujo de bits y lleva a cabo sucesivamente la cuantificación inversa (en el módulo 211) y la transformada inversa (módulo 212) para obtener el bloque residual.
En particular, la cuantificación inversa se lleva a cabo utilizando los parámetros de cuantificación para el primer y los segundos componentes de color determinados, por ejemplo, utilizando un procedimiento de determinación según realizaciones de la presente invención, tal como se describe posteriormente con referencia a la figura 4. En dicha determinación, las funciones a utilizar para obtener los parámetros de cuantificación para los segundos componentes de color se pueden indicar mediante parámetros incluidos como elementos de sintaxis en el flujo de bits durante la codificación.
Este bloque residual se añade al bloque predicho obtenido en la salida del módulo de procesamiento intra o inter.
Al final de la descodificación de todos los bloques de la imagen actual, el módulo de procesamiento de filtro de bucle 219 se utiliza para eliminar los efectos de bloque y mejorar la calidad de la señal, con el fin de obtener las imágenes de referencia 215. Como se ha hecho en el codificador, este módulo de procesamiento emplea el filtro de eliminación de bloques 213, y, a continuación, el filtro de SAO 220.
El filtro de eliminación de bloques 213 puede utilizar los parámetros de cuantificación de eliminación de bloques obtenidos mediante la aplicación de la(s) misma(s) función(es) que la(s) aplicada(s) para determinar el(los) parámetro(s) de descuantificación para el(los) segundo(s) componente(s) de color utilizado(s) por el módulo de descuantificación o cuantificación inversa 211.
Las imágenes así descodificadas constituyen la señal de vídeo de salida 308 del descodificador, que se pueden visualizar y utilizar.
La figura 4 muestra las etapas generales de un procedimiento para determinar el valor de un parámetro de cuantificación para, como mínimo, un segundo componente de color de una imagen 102 o porción de imagen (por ejemplo, el fragmento 103), según realizaciones de la invención.
Dicho procedimiento se puede implementar mediante un dispositivo de codificación o un dispositivo de descodificación tal como los descritos con referencia a las figuras 2 y 3, con el fin de obtener los parámetros de cuantificación para la cuantificación de los coeficientes obtenidos a partir de los valores de píxeles mediante una transformada (por ejemplo, DCT o DST) calculada, por ejemplo, mediante el módulo 207, o para la descuantificación de los símbolos obtenidos mediante la descodificación por entropía de los símbolos codificados.
Como se ha explicado anteriormente, hay una relación entre los parámetros de cuantificación aplicados al primer componente de color QPY y los parámetros de cuantificación aplicados a los segundos componentes de color QPC. Esa relación puede consistir en un valor intermedio QPI basado en QPY y que se calcula en la etapa 410 utilizando, por ejemplo, la siguiente ecuación:
QPI = MAX(-QPBdOffsetC, MIN(57, QPY+QPOffsetC))
en la que:
- QPBdOffsetC es un desplazamiento predefinido que depende de la profundidad de bits utilizada para representar el segundo componente de color,
- QPY es el valor del parámetro de cuantificación del primer componente de color de la imagen o porción de imagen, y
- QPOffsetC es un desplazamiento que permite controlar parcialmente la relación entre QPC y QPY.
Cuando el procedimiento se implementa mediante un dispositivo de codificación, el parámetro de cuantificación QPY para el primer componente de color normalmente se proporciona por un usuario.
Sin embargo, cuando la cuantificación se lleva a cabo sobre los datos recibidos por un descodificador, es decir, cuando el procedimiento se implementa mediante un dispositivo de descodificación, el parámetro de cuantificación QPY está incluido en el flujo de bits.
Como un recordatorio, en la Extensión de rango de HEVC se admiten varios formatos de color: formato de color 4:4:4 YUV, formato de color 4:2:2 YUV y formato de color 4:2:0 YUV. Obviamente, existen otros formatos de color.
En general, se asocia una función con un formato de color. Dicha función es capaz de asociar con cada valor intermedio QPI, un valor del parámetro de cuantificación para el segundo componente de color QPC. En general, estas funciones se representan como tablas de correspondencia como las Tablas 1 (correspondientes a 4:2:0 YUV), 2 (correspondiente a 4:2:2 YUV) y 3 (correspondiente a 4:4:4 YUV) mostradas anteriormente. En un ejemplo comparativo, la flexibilidad de la Extensión de rango es permitir la conmutación entre las diferentes funciones. En otros términos, ahora es posible, dado un formato de color actual (por ejemplo, 4:2:2 YUV), utilizar una función asociada con un formato de color (por ejemplo, 4:2:0 YUV o 4:4:4 YUV) diferente del formato de color actual.
Para hacerlo, se proporciona una etapa de selección 420 en la que se seleccionan una o varias funciones para aplicarse al valor intermedio QPI y para determinar el parámetro de cuantificación para el segundo componente de color QPC.
Volviendo al ejemplo de las Tablas 1, 2 y 3 mostradas anteriormente, se puede advertir que la Tabla 3 (correspondiente a 4:4:4 YUV) es bastante sencilla, ya que corresponde a una versión recortada de QPI: QPC = MIN(QPI, 51). Sin embargo, la Tabla 2 (correspondiente a 4:2:2 YUV) contiene valores concretos que no se pueden deducir de la Tabla 1 (correspondiente a 4:2:0 YUV) o de la Tabla 3.
Una o dos de estas tablas se pueden seleccionar durante la etapa 420. Por ejemplo, en una realización, cuando el formato de color actual es 4:2:2 YUV, se puede seleccionar la Tabla 3 asociada con 4:4:4 YUV, que es más sencilla, en lugar de la Tabla 2.
En un ejemplo ilustrativo, cuando el formato de color actual es 4:2:2 YUV, se puede seleccionar la Tabla 1 asociada con 4:2:0 YUV y la Tabla 3 asociada con 4:4:4 YUV en lugar de la Tabla 2.
Esa etapa de selección 420 es particularmente interesante si la memoria es limitada y si solo se dispone de un número limitado de funciones. Por ejemplo, en una realización, se puede evitar almacenar los valores de la Tabla 2, sino solo los valores de la Tabla 1 y la Tabla 3, con el fin de ahorrar memoria. En ese caso, es posible que el formato de color actual no se corresponda con los de una función disponible, pero la etapa de selección 420 permite gestionar ese caso, ya que proporcionar un tipo de conmutación sistemática hacia funciones disponibles.
Con este fin, en una realización, se puede designar una función disponible que se utilizará de forma predeterminada cuando no haya ninguna función disponible asociada con el formato de color actual.
En una variante, la(s) función(es) se puede(n) seleccionar según un parámetro, dado por un usuario o dentro de un grupo de elementos de sintaxis en caso de que el procedimiento de determinación se lleve a cabo mediante un descodificador (véase la figura 5 a continuación).
Cuando se seleccionan las funciones, se aplican al valor intermedio QPI con el fin de determinar, en la etapa 430, un valor del parámetro de cuantificación QPC para el segundo componente de color.
Por ejemplo, si se han seleccionado dos funciones F1 y F3, el QPC se puede determinar como sigue:
QPC = ValorEnteroDe(F1(QPI) F3(QPI) R)/2
en el que R es un desplazamiento de redondeo igual a 0 o 1, y puede ser fijo o depender del valor intermedio QPI. Por ejemplo, R=0 cuando QPI<44 y de otro modo R=1.
El QPC y el QPY determinados se utilizan entonces en una operación de cuantificación o descuantificación mediante un codificador o un descodificador.
La figura 5 muestra las etapas generales de un procedimiento de codificación de una imagen 102 o porción de imagen (por ejemplo, el fragmento 103), según realizaciones de la invención.
Dicho procedimiento se puede implementar mediante un dispositivo de codificación tal como el descrito con referencia a la figura 2.
Se debe observar que, como una imagen 102 o porción de imagen 103 se representa mediante un primer componente y, como mínimo, un segundo componente de color divididos en unidades codificación Cu , el procedimiento de codificación presente consiste en codificar todas las unidades de codificación de la imagen 102 o porción de imagen 103.
Dicho procedimiento de codificación comprende determinar (en la etapa 510) el valor de un parámetro de cuantificación QPC para, como mínimo, un segundo componente de color, por ejemplo, aplicando el procedimiento (etapas 410, 420 y 430) descrito anteriormente con referencia a la figura 4.
Los QPC determinados se utilizan entonces con el QPY para codificar las sucesivas unidades de codificación en datos codificados ENC(datos). Esa etapa 520 comprende cuantificar el primer y los segundos componentes de color utilizando los parámetros de cuantificación correspondientes. En particular, el primer componente de color se cuantifica utilizando el parámetro de cuantificación QPY y el como mínimo un segundo componente de color se cuantifica utilizando los parámetros de cuantificación determinados QPC.
En la etapa 530, se genera un flujo de bits 210 de los datos codificados ENC(Datos). Los datos codificados comprenden el parámetro de cuantificación QPY para el primer componente de color.
En algunas realizaciones, la etapa de generación 530 comprende introducir un parámetro como un elemento de sintaxis, que indica las funciones utilizadas en la etapa 510 para obtener los parámetros de cuantificación. El parámetro puede estar asociado con una imagen específica, incluido por tanto en una unidad NAL de PPS. En una variante, el parámetro puede estar asociado con una secuencia de imágenes, incluido por tanto en una unidad NAL de SPS.
Por ejemplo, la sintaxis para una unidad NAL de SPS seq_parameter_set_rbsp() que incluye dicho parámetro, denominado chroma_table_idc, se puede representar como sigue:
Figure imgf000015_0001
en la que:
chroma_format_idc especifica el formato de color del flujo de bits entrante:
- 0 para contenido monocromo (es decir, solo un componente de color),
- 1 para el formato de color 4:2:0 YUV,
- 2 para el formato de color 4:2:2 YUV,
- 3 para el formato de color 4:4:4 YUV.
separate_colour_plane_flag, cuando es igual a 1 especifica que cada componente se codifica de forma independiente como un componente monocromo.
chroma_table_idc especifica la función (aquí la tabla) utilizada para determinar el(los) parámetro(s) de cuantificación QPC para el(los) segundo(s) componente(s) de color a partir del parámetro de cuantificación QPY para el primer componente de color:
- 0: se utiliza la tabla 4:2:0 YUV,
- 1: se utiliza la tabla 4:2:2 YUV,
- 2: se utiliza la tabla 4:4:4 YUV.
En una realización, cuando hay menos funciones disponibles (tablas) que posibles formatos de color, por ejemplo, solo se dispone de las tablas 4:2:0 YUV y 4:4:4 YUV, la sintaxis para una unidad NAL de SPS seq_parameter_set_rbsp() que incluye dicho parámetro, denominado chroma_420_table_not_used_flag, se puede representar como sigue:
Figure imgf000016_0001
en la que:
chroma_format_idc especifica el formato de color del flujo de bits entrante:
- 0 para contenido monocromo (es decir, solo un componente de color),
- 1 para el formato de color 4:2:0 YUV,
- 2 para el formato de color 4:2:2 YUV,
- 3 para el formato de color 4:4:4 YUV.
separate_colour_plane_flag, cuando es igual a 1 especifica que cada componente se codifica de forma independiente como un componente monocromo.
chroma_420_table_not_used_flag, cuando es igual a 0 especifica que la tabla de 4:2:0 YUV se utiliza de forma predeterminada para determinar el(los) parámetro(s) de cuantificación QPC para el(los) segundo(s) componente(s) de color a partir del parámetro de cuantificación QPY para el primer componente de color. Cuando es igual a 1, este parámetro especifica que la otra tabla (por ejemplo, 4:4:4 YUV) se utiliza de forma predeterminada para determinar el(los) parámetro(s) de cuantificación QPC para el(los) segundo(s) componente(s) de color a partir del parámetro de cuantificación QPY para el primer componente de color. En una variante, de forma predeterminada (que es cuando no está presente en el flujo de bits), chroma_420_table_not_used_flag se establece igual a 0.
En otra variante, el parámetro se puede asociar con un fragmento, incorporado por tanto en la cabecera del fragmento.
Donde sea que se introduzca el parámetro, se recibe mediante el descodificador en el flujo de bits 210.
En una realización, las dos tablas se especifican como sigue:
Figure imgf000017_0001
Figure imgf000018_0001
La figura 6 muestra las etapas generales de un procedimiento de descodificación de una imagen 102 o porción de imagen (por ejemplo, el fragmento 103), según realizaciones de la invención.
Dicho procedimiento se puede implementar mediante un dispositivo de descodificación tal como el descrito con referencia a la figura 3.
El descodificador recibe los datos codificados, por ejemplo, codificados según un procedimiento de codificación tal como el descrito anteriormente con referencia a la figura 5, que comprenden el parámetro de cuantificación QPY para el primer componente de color, y descodifica los datos codificados en la etapa 610.
En la etapa 620, se determina el valor de los parámetros de cuantificación QPC para, como mínimo, un segundo componente de color, por ejemplo, aplicando el procedimiento (etapas 410, 420 y 430) descrito anteriormente con referencia a la figura 4, en el que la(s) función(es) para determinar los parámetros de cuantificación para los segundos componentes de color se seleccionan (etapa 420) basándose en el parámetro correspondiente (respectivamente chroma_table_idc y chroma_420_table_not_used_flag en los ejemplos anteriores) incluido dentro del flujo de bits 210 durante la codificación (véase la figura 5).
En una variante, el descodificador se puede configurar de modo que una función que asocia el QPI con el QPC se designe de forma predeterminada cuando no hay ninguna función disponible asociada con el formato de color actual.
En la etapa 630, la imagen o porción de imagen descodificada se reconstruye a partir de los datos descodificados. La reconstrucción comprende descuantificar el primer y los segundos componentes de color de la imagen o porción de imagen utilizando los parámetros de cuantificación del primer y segundos componentes de color determinados en la etapa 620.
En particular, el primer componente de color se descuantifica utilizando el parámetro de cuantificación QPY incluido en los datos descodificados y el como mínimo un segundo componente de color se descuantifica utilizando los parámetros de cuantificación determinados QPC.
La función seleccionada se utiliza además en el filtro de eliminación de bloques para determinar el parámetro de cuantificación de eliminación de bloques.
Finalmente, en una realización, se proporciona una flexibilidad mejorada permitiendo la selección de la(s) función(es) utilizadas para determinar los parámetros de cuantificación para los segundos componentes de color. Asimismo, dependiendo de la función seleccionada finalmente, esa mejora no implica una disminución del rendimiento de la codificación, o, en caso de que exista una pérdida apreciable en uno de los componentes, esa pérdida en general se compensa con una ganancia comparable en los otros componentes.
En particular, como un ejemplo, cuando el objetivo es un equilibrio de calidad diferente entre los componentes de color (por ejemplo, un componente de luma más débil y un componente de croma más fuerte), y el formato de color actual es 4:4:4 YUV o 4:2:2 YUV, los inventores han descubierto que es particularmente interesante seleccionar una función asociada con el formato de color 4:2:0 YUV en lugar de utilizar una función asociada con los formatos de color 4:4:4 YUV o 4:2:2 YUV.
Asimismo, esta flexibilidad mejorada hace posible almacenar solo determinadas funciones en memoria, ya que se puede seleccionar otra función distinta de la asociada con el formato de color actual para determinar el QPC. Los ejemplos anteriores son solo posibles realizaciones de la presente invención, y la presente invención, tal como se define en las reivindicaciones adjuntas, no se limita a los mismos.

Claims (19)

REIVINDICACIONES
1. Procedimiento de codificación de una imagen o una porción de imagen que comprende:
determinar el valor QPC de un parámetro de cuantificación para un componente de croma de una imagen o porción de imagen utilizando la siguiente función para obtener el valor QPC a partir de un parámetro de cuantificación intermedio QPI tanto cuando el formato de color es 4:2:2 como cuando el formato de color es 4:4:4,
Figure imgf000019_0002
y determinar el valor del parámetro de cuantificación para el componente de croma utilizando la siguiente función para obtener el valor QPC a partir del parámetro de cuantificación intermedio QPI cuando el formato de color es 4:2:0,
Figure imgf000019_0001
basándose el parámetro de cuantificación intermedio QPI en el valor de un parámetro de cuantificación de un componente de luma de la imagen o porción de imagen; y
utilizar el valor determinado QPC para codificar la imagen o porción de imagen.
2. Procedimiento, según la reivindicación 1, en el que el valor del parámetro de cuantificación intermedio QPI se calcula utilizando la siguiente ecuación:
QPI = MAX(-QPBdOffsetC, MIN(57, QPY+QPOffset))
en la que:
- QPBdOffsetC es un desplazamiento predefinido que depende de la profundidad de bits utilizada para representar el componente de croma,
- QPY es el valor del parámetro de cuantificación del componente de luma de la imagen o porción de imagen, y - QPOffsetC es un desplazamiento que permite controlar parcialmente la relación entre QPC y QPY.
3. Procedimiento, según la reivindicación 1, en el que dichos componentes de luma y de croma de la imagen o porción de imagen se dividen en unidades de codificación, y la imagen o porción de imagen forma parte de una secuencia de imágenes, comprendiendo además el procedimiento:
- codificar las sucesivas unidades de codificación en datos codificados, comprendiendo la codificación cuantificar el componente de luma y de croma de la imagen o porción de imagen utilizando los parámetros de cuantificación de los componentes de luma y croma, y
- generar un flujo de bits de dichos datos codificados.
4. Procedimiento, según la reivindicación 3, en el que la etapa de generación comprende introducir un parámetro que indique la función utilizada en la etapa de determinación, en una unidad NAL del flujo de bits.
5. Procedimiento, según la reivindicación 3, en el que dicha unidad NAL es un Conjunto de parámetros de secuencia o un Conjunto de parámetros de imagen.
6. Procedimiento, según la reivindicación 3, en el que dicha unidad NAL comprende un fragmento, y en el que dicho parámetro se incluye en la cabecera del fragmento.
7. Procedimiento, según cualquiera de las reivindicaciones 3 a 6, en el que, cuando la imagen se filtra mediante un filtro de eliminación de bloques utilizando como mínimo un parámetro de cuantificación de eliminación de bloques para el componente de croma, el parámetro de cuantificación de eliminación de bloques se determina aplicando la función a un valor de otro parámetro de cuantificación intermedio QPI' basado también en el valor del parámetro de cuantificación del componente de luma de la imagen o porción de imagen.
8. Procedimiento, según la reivindicación 7, en el que la imagen o porción de imagen se divide en bloques, y en el que el valor del otro parámetro de cuantificación intermedio QPI' se calcula utilizando la siguiente ecuación:
QPI' = QPYpred cQpPicOffset
en la que:
- cQpPicOffset es un desplazamiento predefinido transmitido en el flujo de bits generado utilizado para representar el parámetro de cuantificación para el componente de croma; y
- QPYpred es el valor de un parámetro de cuantificación de eliminación de bloques promedio deducido a partir de los bloques vecinos del bloque actual que se está procesando.
9. Procedimiento de descodificación de una imagen o porción de imagen que comprende determinar el valor QPC de un parámetro de cuantificación para un componente de croma de una imagen o porción de imagen a descodificar utilizando la siguiente función para obtener el valor QPC a partir de un parámetro de cuantificación intermedio QPI tanto cuando el formato de color es 4:2:2 como cuando el formato de color es 4:4:4,
Figure imgf000020_0002
y determinar el valor del parámetro de cuantificación para el componente de croma utilizando la siguiente función para obtener el valor QPC a partir del parámetro de cuantificación intermedio QPI cuando el formato de color es 4:2:0,
Figure imgf000020_0001
basándose el parámetro de cuantificación QPI en el valor de un parámetro de cuantificación de un componente de luma de la imagen o porción de imagen; y utilizar el valor determinado QPC para descodificar la imagen o porción de imagen.
10. Procedimiento, según la reivindicación 9, en el que la imagen o porción de imagen forma parte de una secuencia de imágenes, comprendiendo además el procedimiento:
- recibir datos codificados relativos a la imagen o porción de imagen a descodificar,
- descodificar los datos codificados,
- reconstruir la imagen o porción de imagen descodificada a partir de los datos descodificados, comprendiendo la reconstrucción descuantificar los componentes de luma y de croma de la imagen o porción de imagen utilizando los parámetros de cuantificación de los componentes de luma y de croma.
11. Procedimiento, según la reivindicación 10, que comprende, además, filtrar la imagen o porción de imagen con un filtro de eliminación de bloques utilizando como mínimo un parámetro de cuantificación de eliminación de bloques para el componente de croma, determinándose dicho parámetro de cuantificación de eliminación de bloques aplicando dicha como mínimo una función a un valor de otro parámetro de cuantificación intermedio QPI' basado también en el valor del parámetro de cuantificación del componente de luma de la imagen o porción de imagen.
12. Procedimiento, según la reivindicación 11, en el que la imagen o porción de imagen se divide en bloques, y en el que el valor del otro parámetro de cuantificación intermedio QPI' se calcula utilizando la siguiente ecuación:
QPI' = QPYpred cQpPicOffset
en la que:
- cQpPicOffset es un desplazamiento predefinido transmitido en el flujo de bits recibido utilizado para representar el parámetro de cuantificación de eliminación de bloques para el componente de croma; y - QPYpred es el valor de un parámetro de cuantificación de eliminación de bloques promedio deducido a partir de los bloques vecinos del bloque actual que se está procesando.
13. Procedimiento, según cualquiera de las reivindicaciones 1 a 12, en el que el formato de color es un formato de color YUV.
14. Producto de programa informático que comprende una secuencia de instrucciones que implementan un procedimiento según cualquiera de las reivindicaciones 1 a 13 cuando se cargan en y se ejecutan mediante un aparato programable.
15. Medio de almacenamiento legible por ordenador que almacena un programa informático según la reivindicación 14.
16. Dispositivo para codificar una imagen o una porción de imagen que comprende:
medios para determinar el valor QPC de un parámetro de cuantificación para un componente de croma de una imagen o porción de imagen utilizando la siguiente función para obtener el valor QPC a partir de un parámetro de cuantificación intermedio QPI tanto cuando el formato de color es 4:2:2 como cuando el formato de color es 4:4:4,
Figure imgf000021_0002
y determinar el valor del parámetro de cuantificación para el componente de croma utilizando la siguiente función para obtener el valor QPC a partir del parámetro de cuantificación intermedio QPI cuando el formato de color es 4:2:0,
Figure imgf000021_0001
basándose el parámetro de cuantificación intermedio QPI en el valor de un parámetro de cuantificación de un componente de luma de la imagen o porción de imagen; y
medios para utilizar el valor determinado QPC para codificar la imagen o porción de imagen.
17. Dispositivo, según la reivindicación 16, en el que dichos componentes de luma y de croma de la imagen o porción de imagen se dividen en unidades de codificación, y la imagen o porción de imagen forma parte de una secuencia de imágenes, comprendiendo además el dispositivo:
- medios para codificar las sucesivas unidades de codificación en datos codificados, comprendiendo la codificación cuantificar el componente de luma y de croma de la imagen o porción de imagen utilizando los parámetros de cuantificación de los componentes de luma y croma, y
- medios para generar un flujo de bits de dichos datos codificados.
18. Dispositivo para descodificar una imagen o una porción de imagen que comprende:
medios para determinar el valor QPC de un parámetro de cuantificación para un componente de croma de una imagen o porción de imagen a descodificar utilizando la siguiente función para obtener el valor QPC a partir de un parámetro de cuantificación intermedio QPI tanto cuando el formato de color es 4:2:2 como cuando el formato de color es 4:4:4,
Figure imgf000021_0003
y determinar el valor del parámetro de cuantificación para el componente de croma utilizando la siguiente función para obtener el valor QPC a partir del parámetro de cuantificación intermedio QPI cuando el formato de color es 4:2:0,
Figure imgf000022_0001
basándose el parámetro de cuantificación intermedio QPI en el valor de un parámetro de cuantificación de un componente de luma de la imagen o porción de imagen; y
medios para utilizar el valor determinado QPC para descodificar la imagen o porción de imagen.
19. Dispositivo, según la reivindicación 18, en el que la imagen o porción de imagen forma parte de una secuencia de imágenes, y el dispositivo comprende, además:
- medios para recibir datos codificados relativos a la imagen o porción de imagen a descodificar,
- medios para descodificar los datos codificados,
- medios para reconstruir la imagen o porción de imagen descodificada a partir de los datos descodificados, comprendiendo la reconstrucción descuantificar el componente de luma y de croma de la imagen o porción de imagen utilizando los parámetros de cuantificación de los componentes de luma y de croma.
ES14711801T 2013-04-05 2014-03-24 Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación Active ES2807908T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1306214.6A GB2512826B (en) 2013-04-05 2013-04-05 Method and device for determining the value of a quantization parameter
PCT/EP2014/055863 WO2014161741A1 (en) 2013-04-05 2014-03-24 Method and device for determining the value of a quantization parameter

Publications (1)

Publication Number Publication Date
ES2807908T3 true ES2807908T3 (es) 2021-02-24

Family

ID=48483430

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14711801T Active ES2807908T3 (es) 2013-04-05 2014-03-24 Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación

Country Status (11)

Country Link
US (2) US10075714B2 (es)
EP (1) EP2982110B1 (es)
JP (3) JP6355715B2 (es)
KR (2) KR101981905B1 (es)
CN (1) CN105284112B (es)
BR (1) BR112015025330B1 (es)
ES (1) ES2807908T3 (es)
GB (1) GB2512826B (es)
PL (1) PL2982110T3 (es)
RU (2) RU2642331C2 (es)
WO (1) WO2014161741A1 (es)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
EP3456043A4 (en) * 2016-05-28 2019-11-27 MediaTek Inc. METHOD AND DEVICE FOR REFERENCING THE CURRENT IMAGE FOR VIDEO CODING USING AFFINER MOTION COMPENSATION
WO2018006390A1 (en) * 2016-07-08 2018-01-11 SZ DJI Technology Co., Ltd. System and method for image processing
EP3425911A1 (en) * 2017-07-06 2019-01-09 Thomson Licensing A method and a device for picture encoding and decoding
US11019339B2 (en) * 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
MX2021003166A (es) 2018-09-21 2021-05-14 Huawei Tech Co Ltd Aparato y metodo para cuantificacion inversa.
CN113678456A (zh) 2019-03-15 2021-11-19 Lg 电子株式会社 用信号通知关于色度格式的信息的方法和装置
SG11202111156PA (en) * 2019-04-26 2021-11-29 Huawei Tech Co Ltd Method and apparatus for signaling of mapping function of chroma quantization parameter
JP7128364B2 (ja) 2019-05-28 2022-08-30 ドルビー ラボラトリーズ ライセンシング コーポレイション 量子化パラメータシグナリング
KR102636330B1 (ko) 2019-06-21 2024-02-15 후아웨이 테크놀러지 컴퍼니 리미티드 크로마 양자화 제어의 인코더, 디코더 및 대응하는 방법들
KR20240036119A (ko) * 2019-06-28 2024-03-19 엘지전자 주식회사 크로마 양자화 파라미터 테이블을 사용하는 영상 디코딩 방법 및 그 장치
CN114223198A (zh) * 2019-07-05 2022-03-22 Lg 电子株式会社 编译色度量化参数数据的图像解码方法及其设备
CN114731401A (zh) 2019-09-25 2022-07-08 Lg电子株式会社 基于颜色格式来确定分割模式的图像编码/解码方法和装置以及发送比特流的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4254147B2 (ja) 2001-11-30 2009-04-15 ソニー株式会社 画像情報符号化方法及び装置、並びにプログラム及び記録媒体
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
CN100546388C (zh) 2007-07-12 2009-09-30 深圳市融创天下科技发展有限公司 一种用于视频编码的色度均衡方法
CN101183460B (zh) 2007-11-27 2010-10-13 西安电子科技大学 彩色图像背景杂波量化方法
US8279924B2 (en) * 2008-10-03 2012-10-02 Qualcomm Incorporated Quantization parameter selections for encoding of chroma and luma video blocks
KR101566366B1 (ko) * 2011-03-03 2015-11-16 한국전자통신연구원 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
CN106131561B (zh) * 2012-01-20 2019-10-18 维洛媒体国际有限公司 解码装置和解码方法
US9451258B2 (en) * 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
CN102724510B (zh) 2012-06-21 2014-05-28 中科开元信息技术(北京)有限公司 一种基于虚拟编码缓冲区充盈度的码率控制算法
US9414054B2 (en) * 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values

Also Published As

Publication number Publication date
BR112015025330B1 (pt) 2023-04-11
RU2015147182A (ru) 2017-05-12
JP6355715B2 (ja) 2018-07-11
US10075714B2 (en) 2018-09-11
KR20150139884A (ko) 2015-12-14
GB201306214D0 (en) 2013-05-22
US20180352228A1 (en) 2018-12-06
JP2016518762A (ja) 2016-06-23
PL2982110T3 (pl) 2020-11-02
EP2982110A1 (en) 2016-02-10
GB2512826B (en) 2017-05-10
KR101839663B1 (ko) 2018-03-16
BR112015025330A2 (pt) 2017-07-18
CN105284112A (zh) 2016-01-27
US10701360B2 (en) 2020-06-30
CN105284112B (zh) 2018-10-09
US20160057419A1 (en) 2016-02-25
KR20180029277A (ko) 2018-03-20
GB2512826A (en) 2014-10-15
RU2642331C2 (ru) 2018-01-24
EP2982110B1 (en) 2020-07-01
RU2674307C1 (ru) 2018-12-06
KR101981905B1 (ko) 2019-05-23
JP6701270B2 (ja) 2020-05-27
WO2014161741A1 (en) 2014-10-09
JP2020074597A (ja) 2020-05-14
JP2018174546A (ja) 2018-11-08

Similar Documents

Publication Publication Date Title
ES2807908T3 (es) Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación
CN106664405B (zh) 用调色板模式对经逸出编码的像素的稳健编码/解码
US20130003855A1 (en) Processing method and device for video signals
US20140003530A1 (en) Sign hiding techniques for quantized transform coefficients in video coding
US10003793B2 (en) Processing of pulse code modulation (PCM) parameters
KR102210946B1 (ko) 스크린 컨텐츠의 딕셔너리 인코딩 및 디코딩
EP2920971A1 (en) Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc)
US11039166B2 (en) Devices and methods for using base layer intra prediction mode for enhancement layer intra mode prediction
WO2014055231A1 (en) Devices and methods for using base layer motion vector for enhancement layer motion vector prediction
CN113301338A (zh) 图像解码装置及图像编码装置
KR20220036940A (ko) 팔레트 모드에서의 델타 양자화 파라미터 (qp) 시그널링
CN110771166B (zh) 帧内预测装置和方法、编码、解码装置、存储介质
KR102505364B1 (ko) 복호 장치, 프로그램, 및 복호 방법
JP2024513160A (ja) クロスコンポーネントサンプル適応型オフセットにおける符号化向上
CN112020860A (zh) 选择性量化参数传输
WO2023141338A1 (en) Methods and devices for geometric partitioning mode with split modes reordering
CN117413516A (zh) 跨分量样本自适应偏移中的编解码增强
EP4349014A1 (en) Coding enhancement in cross-component sample adaptive offset
CN117769834A (zh) 跨分量样点自适应偏移中的编解码增强