ES2963368T3 - Obtención de valores de modo de referencia y codificación y descodificación de información que representa modos de predicción - Google Patents

Obtención de valores de modo de referencia y codificación y descodificación de información que representa modos de predicción Download PDF

Info

Publication number
ES2963368T3
ES2963368T3 ES19157988T ES19157988T ES2963368T3 ES 2963368 T3 ES2963368 T3 ES 2963368T3 ES 19157988 T ES19157988 T ES 19157988T ES 19157988 T ES19157988 T ES 19157988T ES 2963368 T3 ES2963368 T3 ES 2963368T3
Authority
ES
Spain
Prior art keywords
mode
probable
mode value
values
intra prediction
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
ES19157988T
Other languages
English (en)
Inventor
Edouard Fransois
Guillaume Laroche
Patrice Onno
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 ES2963368T3 publication Critical patent/ES2963368T3/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/103Selection of coding mode or of prediction mode
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/18Methods 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 set of transform coefficients
    • 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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Se derivan los valores del modo de predicción de referencia, también denominados modos más probables o MPM, utilizables para codificar o decodificar un modo de predicción relacionado con una unidad de codificación actual. Al derivar tres MPM en lugar de dos para compararlos con el modo de predicción del bloque de codificación actual, se mejora la eficiencia de la codificación. Esto se debe al aumento en la probabilidad de que el modo de predicción del bloque de codificación actual corresponda a uno de los modos más probables derivados. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Obtención de valores de modo de referencia y codificación y descodificación de información que representa modos de predicción
Sector técnico de la invención
La invención se refiere a un procedimiento y un dispositivo para codificar o descodificar valores de modo que representan modos de predicción. En particular, pero no exclusivamente, la invención se refiere más específicamente a codificación en modo intra en el estándar de codificación de vídeo de alta eficiencia (HEVC, High Efficiency Video Coding) en desarrollo.
Descripción de la técnica anterior
Las aplicaciones de vídeo avanzan continuamente hacia una mayor resolución. Una gran cantidad de material de vídeo ya se distribuye en forma digital a través de canales de difusión, redes digitales y medios empaquetados, con una evolución continua hacia una mayor calidad y resolución (por ejemplo, mayor número de píxeles por cuadro, mayor velocidad de cuadro, mayor profundidad de bits o una gama de colores ampliada). Esta evolución de la tecnología ejerce más presión sobre las redes de distribución, que ya están afrontando dificultades para transportar resolución y velocidades de datos de HDTV de forma económica para el usuario final. Por lo tanto, cualquier incremento adicional de la velocidad de datos ejercerá una presión adicional sobre las redes. Para gestionar este desafío, ITU-T e ISO/MPEG decidieron lanzar en enero de 2010 un nuevo proyecto de estándar de codificación de vídeo, denominado codificación de vídeo de alta eficiencia (HEVC).
El diseño del códec HEVC es similar al de la mayoría de los denominados códecs de transformada híbrida basados en bloques anteriores, tales como H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC. Los algoritmos de compresión de vídeo, tales como los estandarizados por los cuerpos de estandarización ITU, ISO y SMPTE, utilizan las redundancias espaciales y temporales de las imágenes con el fin de generar flujos de bits de datos de tamaño reducido en comparación con estas secuencias de vídeo. Dichas compresiones hacen que la transmisión y/o el almacenamiento de las secuencias de vídeo sean más eficaces.
Durante la compresión de vídeo en el codificador HEVC propuesto, cada bloque de una imagen que se está procesando se predice espacialmente mediante un predictor "Intra" (denominado modo de codificación "Intra"), o temporalmente mediante un predictor "Inter" (denominado modo de codificación "Inter"). Cada predictor es un bloque de píxeles generado a partir de la misma imagen u otra imagen, del cual se obtiene un bloque de diferencia (o "residuo"). En el modo de codificación Intra, el predictor (predictor Intra) utilizado para el bloque actual es un bloque de píxeles construido a partir de la información ya codificada de la imagen actual. En virtud de la identificación del bloque predictor y de la codificación del residuo, es posible reducir la cantidad de información que realmente se tiene que codificar.
Los cuadros codificados son de dos tipos: cuadros predichos de forma temporal (predichos a partir de un cuadro de referencia, denominados cuadros P, o predichos a partir de dos cuadros de referencia, denominados cuadros B) y cuadros predichos de forma no temporal (denominados cuadros Intra o cuadros I). En los cuadros I, solo se considera la predicción Intra para codificar bloques. En los cuadros P y los cuadros B, se consideran las predicciones Intra e Inter para codificar bloques.
Si se selecciona codificación "Intra", un elemento de información para describir el predictor "Intra" utilizado se codifica antes se introducirse en el flujo de bits para enviarse a un descodificador correspondiente.
En el diseño de HEVC actual, así como en diseños anteriores tales como MPEG-4 AVC/H.264, la codificación intra implica obtener un bloque de predicción intra a partir de muestras vecinas reconstruidas 101 del bloque a codificar (descodificar), tal como se ilustra esquemáticamente en las figuras 1A y 1B. Se soportan múltiples modos de predicción, ya sean direccionales o no direccionales. En HEVC, el número de modos soportados depende del tamaño de una unidad de codificación (CU, Coding Unit). En la fecha de presentación de la presente solicitud, la especificación de HEVC todavía está sujeta a cambios, pero en la actualidad se contemplan los siguientes modos soportados: 4 modos para CU de 64x64, 18 modos para CU de 4x4, 35 modos para CU de otros tamaños (8x8 a 32x32).
Cuando se codifica intra una CU, se tiene que codificar su modo de predicción intra relacionado. Haciendo referencia a la figura 1B, cuando se codifica una CU actual 102, la codificación en modo Intra hace uso de dos CU vecinas que ya se han codificado, es decir, las CU superior e izquierda 103 y 104.
La figura 2 ilustra los modos de predicción intra considerados en HEVC. Los modos de predicción intra incluyen un modo de predicción plano identificado por un valor de predicción de modo 0, un modo de CC que tiene un valor de predicción de modo 3, y un número de modos de predicción direccionales identificados por los valores de predicción de modo 4 a 34 para predecir estructuras direccionales en una imagen correspondiente a diferentes ángulos. También se incluyen el modo de predicción horizontal 2 y el modo de predicción vertical 1.
La figura 3 es un diagrama de flujo a utilizar para explicar cómo se lleva a cabo la codificación en modo Intra en el diseño de HEVC actual. En la primera etapa S201, se identifican los modos de predicción Intra de las CU superior e izquierda vecinas 103 y 104, como se ilustra en la figura 1B. Las dos CU pueden compartir el mismo modo de predicción Intra o pueden tener diferentes modos de predicción Intra. Por consiguiente, en la etapa S201 se pueden identificar uno o dos modos de predicción intra diferentes. En la etapa S202, se obtienen dos "modos más probables" (MPM, Most Probable Modes) a partir de los modos de predicción intra identificados. Si los modos de predicción de las CU superior e izquierda 103 y 104 son diferentes, entonces dos MPM, MPM0 y MPM1, se ajustan, respectivamente, a los valores mínimo y máximo de los modos de predicción de las Cu superior e izquierda. Si los modos de predicción de las CU superior e izquierda 103 y 104 son iguales, y si no corresponden al modo de predicción plano, entonces MPM0 se ajusta igual al modo plano y MPM1 se ajusta al modo de predicción del modo de predicción de las CU superior o izquierda. Si ambos modos de predicción de las CU superior e izquierda 103 y 104 corresponden al modo plano, entonces MPM0 se ajusta igual al modo plano y MPM1 se ajusta al modo de CC. Por tanto, MPM0 y MPM1 se ordenan según sus valores de modo de predicción, denominándose el modo de predicción que tiene el valor de modo más pequeño MPM0 y denominándose el modo de predicción que tiene el valor de modo más grande MPM1. En la etapa S203, el modo de predicción de la unidad de codificación actual se compara entonces con los dos MPM. Si el modo de predicción de la unidad de codificación actual es igual a MPM0 o a MPM1, entonces, en la etapa S204, se aplica un primer proceso de codificación (proceso 1).
Este primer proceso de codificación implica codificar un indicador que señaliza que el modo del bloque actual es igual a uno de los MPM y, a continuación, codificar el índice del MPM implicado (0 si es MPM0, 1 si es MPM1).
Si, en la etapa S203, se determina que el modo de predicción del bloque actual no es igual a uno de los dos MPM, entonces, en la etapa S205, se aplica un segundo proceso de codificación (proceso 2).
A diferencia del primer proceso de codificación, el segundo proceso de codificación implica codificar el valor de modo del bloque actual.
Estadísticamente, el proceso 1 se utiliza con más frecuencia que el proceso 2. Estadísticamente, un modo de predicción es igual con mayor frecuencia a uno de sus MPM que diferente de todos los MPM. El motor de codificación por entropía se beneficia de esta propiedad, ya sea utilizando palabras de código más cortas en el proceso 1 que en el proceso 2, o bien aprovechando la mayor probabilidad de ser igual a uno de los MPM (la codificación aritmética utilizada en CABAC aprovecha eficazmente la probabilidad para mejorar la codificación y reducir el coste de codificación). La presente invención se ha ideado para abordar uno o varios de los problemas y deseos anteriores. Es deseable mejorar la eficiencia de codificación de procedimientos para codificar información de modo de predicción.
W-J CHIEN ET AL: "Parsing friendly intra mode coding", 97. REUNIÓN DE MPEG; 18-7-2011 - 22-7-2011; TORINO; (GRUPO DE EXPERTOS EN IMÁGENES EN MOVIMIENTO DE ISO/IEC JTC1/SC29/WG11), n.° m20889, JCTVC-F459 versión 4, 15 de julio de 2011 (15-07-2011), XP030049452, da a conocer la utilización de 4 MPM, ajustándose el 4° MPM a predicción plana si ninguno del 1er y el 2° MPM es el modo de predicción plano.
W-J CHIEN ET AL: "Parsing friendly intra mode coding", 6. REUNIÓN DEL JCT-VC; 97. REUNIÓN DE MPEG; 14-7-2011 - 22-7-2011; TORINO; (EQUIPO DE COLABORACIÓN CONJUNTO SOBRE CODIFICACIÓN DE VÍDEO DE ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, n.° JCTVC-F459 versión 1,2 de julio de 2011 (02-07-2011), XP030009482 da a conocer la utilización de 3 MPM, donde el 3er MPM se ajusta al modo de predicción de CC si ninguno del 1er y el 2° MPM es el modo de predicción de CC, al modo de predicción vertical si ninguno del 1er y el 2° MPM es el modo de predicción vertical o al modo de predicción horizontal en otro caso.
Según un primer aspecto de la invención, se da a conocer un procedimiento para codificar información de modo que representa un modo de predicción relacionado con una unidad de codificación actual, tal como se expone en la reivindicación 1.
Obteniendo tres MPM en lugar de dos para la comparación con el modo de predicción del bloque de codificación actual, se mejora la eficiencia de codificación. Esto se debe al incremento en la probabilidad de que el modo de predicción del bloque de codificación actual corresponda a uno de los modos más probables obtenidos. Dado que esto permite utilizar un proceso de codificación más económico para codificar el modo de predicción del bloque de codificación actual, se reduce el coste de codificación global.
Según un segundo aspecto de la invención, se da a conocer un dispositivo para codificar información de modo que representa un modo de predicción relacionado con una unidad de codificación actual, tal como se expone en la reivindicación 2.
Según un tercer aspecto de la invención, se da a conocer un procedimiento para descodificar un valor de modo que representa un modo de predicción relacionado con una unidad de descodificación actual a descodificar, tal como se expone en la reivindicación 3.
Según un cuarto aspecto de la invención, se da a conocer un dispositivo para descodificar un valor de modo que representa un modo de predicción relacionado con una unidad de descodificación actual a descodificar, tal como se expone en la reivindicación 4.
La invención se define en las reivindicaciones adjuntas. Las realizaciones se refieren solo a la combinación de características reivindicada. En adelante, cuando el término "realización" se refiere a combinaciones de características no reivindicadas, debe entenderse que dicho término hace referencia a ejemplos de la presente invención.
Por lo menos partes de los procedimientos según la invención se pueden implementar por ordenador. Por consiguiente, la presente invención puede adoptar la forma de una realización completamente de hardware, una realización completamente de software (incluyendo software inalterable, software residente, microcódigo, etc.) o una realización que combina aspectos de software y hardware que, en la presente memoria, pueden denominarse, en general, un "circuito", "módulo" o "sistema". Asimismo, la presente invención puede adoptar la forma de un producto de programa informático incorporado en cualquier medio o expresión tangible que tenga 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 suministrarlo a un aparato programable en cualquier medio portador apropiado. 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.
A continuación, se describirán realizaciones de la invención, solo a modo de ejemplo, y haciendo referencia a los siguientes dibujos, en los que:
las figuras 1A y 1B, analizadas anteriormente, son diagramas esquemáticos a utilizar para explicar cómo se obtiene un bloque de predicción intra en el diseño de HEVC actual;
la figura 2, también analizada anteriormente, ilustra modos de predicción intra en el diseño de HEVC actual; la figura 3, también analizada anteriormente, es un diagrama de flujo a utilizar para explicar la codificación en modo intra en el diseño de HEVC actual;
la figura 4 es un diagrama de flujo a utilizar para explicar un principio de codificación en modo intra según, por lo menos, una realización de la presente invención;
la figura 5 es un diagrama de flujo de etapas de un procedimiento para obtener un valor de modo de predicción de referencia según una realización de la presente invención;
la figura 6 es un diagrama de flujo que ilustra etapas relativas al procedimiento de la figura 5;
la figura 7 muestra una secuencia de imágenes;
la figura 8 muestra partes de un aparato apropiado para implementar un codificador según una realización de la presente invención;
la figura 9 muestra un diagrama de bloques de partes de un codificador según, por lo menos, una realización de la presente invención; y
la figura 10 ilustra un diagrama de bloques de partes de un descodificador.
Descripción detallada de las realizaciones
La figura 4 es un diagrama de flujo para utilizar en la explicación de un principio de un procedimiento de codificación en modo intra que realiza la presente invención. El procedimiento de codificación en modo intra según este diagrama de flujo es aplicable a cualquier motor de codificación por entropía, tal como CABAC o CAVLC.
En la figura 4, las etapas S401 y S402 son iguales a las etapas S201 y S202, respectivamente, en la figura 3, y la descripción de estas etapas no se repite aquí.
En la etapa S403, se obtiene un tercer modo más probable (MPM2) a partir del primer y el segundo modos más probables MPM0 y MPM1 obtenidos a partir de los modos de predicción de las CU superior e izquierda vecinas en la etapa S402.
La figura 5 es un diagrama de flujo que ilustra en más detalle las etapas para obtener el tercer modo más probable MPM2 según una primera realización de la invención. En la etapa S501, se identifican los valores del primer y el segundo modos más probables MPM0 y MPM1 obtenidos en la etapa S402. En la etapa S502, se comprueba si uno de los valores de modos más probables MPM0 y MPM1 corresponde a un modo de predicción plano. Esta etapa puede implicar comprobar ambos valores de modos más probables para comprobar si corresponden a un modo de predicción plano. En una realización alternativa de la invención, cuando los valores de modos más probables MPM0 y MPM1 se han ordenado según sus valores de modo de predicción, solo puede ser necesario comprobar si MPM0 corresponde a un modo plano, dado que MPM0 corresponderá al modo de predicción de menor orden. Si ni MPM0 ni MPM1 corresponden a un modo de predicción plano, el modo más probable adicional MPM2 se ajusta a un valor de modo correspondiente a un modo de predicción plano en la etapa S506. Dado que un modo plano es estadísticamente el modo de predicción utilizado con mayor frecuencia, es beneficioso introducirlo en el conjunto de MPM para la etapa de comparación posterior, dado que es más probable que corresponda al modo de predicción del bloque actual. Sin embargo, si en la etapa S502 se determina que uno del primer y el segundo MPM, MPM0 o MPM1, corresponde a un modo plano, entonces se comprueba, en la etapa S503, si el otro MPM0 o MPM1 corresponde a un modo de predicción de CC. Si se determina que uno del primer y el segundo MPM MPM0 o MPM1 corresponde a un modo de predicción plano y el otro del primer y el segundo MPM, MPM0 y MPM1, corresponde a un modo de predicción de CC, el tercer MPM MPM2 se ajusta a un valor de modo predefinido. En la práctica, se utilizan modos de predicción con un valor de modo de predicción pequeño porque es más probable que correspondan al modo de predicción del bloque actual. En el ejemplo ilustrado en la figura 5, MPM2 se ajusta a un valor de modo de predicción 2, que corresponde al modo de predicción vertical.
Se puede observar que también se podría elegir un valor de modo de predicción 2, que corresponde a predicción de dirección horizontal, pero la dirección vertical está estadísticamente más presente en imágenes naturales que en estructuras horizontales y, por tanto, es más probable que corresponda al modo de predicción del bloque actual.
En algunas realizaciones de la invención, el modo de predicción predefinido se puede señalizar en la cabecera de segmento o de imagen, dado que puede ser dependiente del contenido de la imagen, por ejemplo, en función de las estadísticas de la distribución de modos en la imagen.
En otra realización de la invención, el modo de predicción predefinido se puede obtener adaptativamente, basándose en probabilidades de modo representativas de la probabilidad de aparición de modos de predicción respectivos que se calculan regularmente. En este caso, se definen tablas de probabilidad. Cada vez que se codifica un modo, su probabilidad se actualiza. Cuando MPM0 y MPM1 son plano y CC, MPM2 se calcula como el modo diferente de plano y CC que tiene el valor de probabilidad más alto. Por lo tanto, en este caso concreto de plano y CC como los dos primeros MPM, el MPM2 se calcula adaptativamente en función del contenido de la imagen.
Sin embargo, si en la etapa S503 se determina que ni el primer MPM, MPM0, ni el segundo MPM, MPM1, corresponden a un modo de predicción de CC y que, por tanto, uno del primer y el segundo MPM, MPM0 o MPM1, corresponde a un modo de predicción direccional MPM_dir, el tercer MPM, MPM2, se ajusta al modo de predicción direccional con la dirección angular superior autorizada más cercana a la dirección de MPM_dir en la etapa S505. Haciendo referencia a la figura 6, que muestra este proceso con más detalle, en la etapa S601 se identifica el modo de predicción de las unidades de codificación vecinas, que no es un modo plano. En la etapa S602 se determina si el modo de predicción identificado es CC. En caso afirmativo, MPM2 se ajusta a un modo de predicción vertical, en otro caso, si el modo de predicción identificado no es un CC, MPM2 se ajusta a la dirección angular superior autorizada más cercana a la dirección (MPM_dir) del modo m en la etapa S604.
Por ejemplo, si MPM_dir es igual a 13, haciendo referencia a la figura 2, MPM2 se ajusta a 24 si la unidad de codificación actual es de tamaño 8x8 a 32x32, o a 6 si la unidad de codificación actual es de tamaño 4x4 (en el diseño de HEVC actual, en CU de 4x4, están prohibidos los modos con valor superior a 17). Se ha demostrado experimentalmente que utilizar la dirección angular superior más cercana es la solución de mejor rendimiento.
Se apreciará que, en algunas realizaciones de la invención, el orden de los modos de predicción más probables MPM0 y MPM1 se puede ordenar según sus valores de predicción antes de que se obtenga el tercer modo de predicción más probable MPM2. En realizaciones alternativas de la invención, la etapa S402 puede no incluir el proceso de reordenar MPM0 y MPM1 según su valor de modo de predicción, y entonces MPM0, MPM1 y MPM2 se pueden ordenar según su valor de modo de predicción después de que se ha obtenido MPM2.
Volviendo a la figura 4, en la etapa S404 se verifica si el modo de predicción relacionado con el bloque de codificación actual es igual al primer MPM, MPM0, al segundo MpM, MPM1, o al tercer MPM, MpM2, obtenidos en las etapas S402 y S403 con el fin de determinar si se aplicará el proceso 1 de codificación o el proceso 2 de codificación para codificar el valor de modo de predicción del bloque de codificación actual. El proceso 1, que se lleva a cabo cuando el modo del bloque actual es igual a uno de los tres MPM, MPM0, MPM1 o MPM2, se implementa en la etapa S405. En algunas realizaciones de la presente invención, la etapa 5405 puede ser igual a la etapa S204 en la figura 3, y no se describirá en detalle aquí.
El proceso 2, que se lleva a cabo cuando el modo del bloque actual es diferente de cada uno del primer MPM, MPMO, el segundo MPM, MPM1, y el tercer MPM, MPM2, se implementa en la etapa S406. La etapa 5406 es igual a la etapa correspondiente S205 en la figura 3, y no se describirá en detalle aquí.
Utilizar tres MPM en lugar de dos para comparar con el modo de predicción del bloque de codificación actual mejora la eficiencia de codificación, dado que se incrementa la probabilidad de que el modo de predicción del bloque de codificación actual corresponda a uno de los modos más probables obtenidos. A su vez, esto incrementa la probabilidad de que el proceso 1 de codificación más económico, que requiere menos bits para señalizar el modo de predicción del bloque de codificación actual, se utilice para codificar el modo de predicción del bloque de codificación actual. Por consiguiente, se reduce el coste de codificación global. Al mismo tiempo, la complejidad del proceso global no se incrementa en exceso al obtener un gran número de MPM.
La figura 7 muestra la estructura de codificación de imagen 100 utilizada en HEVC. Según HEVC y uno de sus predecesores anteriores, la secuencia de vídeo original 1001 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 1002 se dividen en segmentos 1003. Un segmento es una parte de la imagen o la imagen completa. En HEVC, estos segmentos se dividen en unidades de codificación máximas (LCU, Largest Coding Unit) 1004 no superpuestas, generalmente bloques de 64 píxeles x 64 píxeles de tamaño. Cada LCU se puede dividir a su vez de forma iterativa en unidades de codificación (C<u>) 1005 de tamaño variable más pequeñas utilizando una descomposición de árbol cuaternario. Cada CU se puede dividir, asimismo, en un máximo de 2 unidades de división rectangulares simétricas 1006.
La figura 8 ilustra un diagrama de un aparato 1000 adaptado para implementar un codificador según una realización de la presente invención o para implementar un descodificador. El aparato 1000 es, por ejemplo, un microordenador, una estación de trabajo o un dispositivo portátil ligero.
El aparato 1000 comprende un bus de comunicación 1113 al que se conectan, preferentemente:
- una unidad central de procesamiento 1111, tal como un microprocesador, denominada CPU;
- una memoria de solo lectura (ROM) 1107 que almacena uno o varios programas informáticos para implementar la invención;
- una memoria de acceso aleatorio (RAM) 1112 que almacena código ejecutable del procedimiento de la invención y proporciona registros adaptados para registrar variables y parámetros necesarios para implementar el procedimiento para codificar una secuencia de imágenes digitales y/o el procedimiento para descodificar un flujo de bits; y
- una interfaz de comunicación 1102 conectada a una red de comunicación 1103 sobre la que se transmiten datos digitales a procesar.
Opcionalmente, el aparato 1000 también puede tener los siguientes componentes:
- un medio de almacenamiento de datos 1104, tal como un disco duro, capaz de contener los programas que implementan la invención y datos utilizados o producidos durante la implementación de la invención;
- una unidad 1105 de disco para un disco 1106, estando adaptada la unidad de disco para leer datos del disco 1106 o para escribir datos en dicho disco;
- una pantalla 1109 para visualizar datos y/o para servir como una interfaz gráfica con el usuario, por medio de un teclado 1110 o cualquier otro medio de puntero.
El aparato 1000 se puede conectar a varios periféricos, tales como, por ejemplo, una cámara digital 1100 o un micrófono 1108, estando conectado cada uno de ellos a una tarjeta de entrada/salida (no mostrada) para suministrar datos multimedia al aparato 1000.
El bus de comunicación permite comunicación e interoperabilidad entre los diversos elementos incluidos en el aparato 1000 o conectados al mismo. La representación del bus no es limitativa y, en particular, la unidad central de procesamiento es capaz de comunicar instrucciones a cualquier elemento del aparato 1000, directamente o por medio de otro elemento del aparato 1000.
El disco 1106 se puede sustituir por cualquier medio de información, tal como, por ejemplo, un disco compacto (CD-ROM), regrabable o no, un disco ZIP o una tarjeta de memoria y, en términos generales, por un medio de almacenamiento de información que pueda ser leído por un microordenador o por un microprocesador, integrado o no en el aparato, posiblemente extraíble y adaptado para almacenar uno o varios programas cuya ejecución permite implementar el procedimiento para codificar el secuencia de imágenes digitales y/o el procedimiento para descodificar un flujo de bits, según la invención.
El código ejecutable se puede almacenar en una memoria de solo lectura 1107, en el disco duro 1104 o en un medio digital extraíble, tal como, por ejemplo, un disco 1106, tal como se ha descrito anteriormente. Según una variante, el código ejecutable de los programas se puede recibir por medio de la red de comunicación 1103, a través de la interfaz 1102, para ser almacenado en uno de los medios de almacenamiento del aparato 1000 antes de ser ejecutado, tal como el disco duro 1104.
La unidad central de procesamiento 1111 está adaptada para controlar y dirigir la ejecución de las instrucciones o porciones de código de software del programa o programas según la invención, instrucciones que están almacenadas en uno de los medios de almacenamiento mencionados anteriormente. Al encender, el programa o programas que están almacenados en una memoria no volátil, por ejemplo, en el disco duro 1104, o en la memoria de solo lectura 1107, se transfieren a la memoria de acceso aleatorio 1112, que contiene entonces el código ejecutable del programa o programas, así como registros para almacenar las variables y los parámetros necesarios para implementar la invención.
En esta realización, el aparato es un aparato programable que utiliza software para implementar la invención. Sin embargo, alternativamente, la presente invención se puede implementar en hardware (por ejemplo, en la forma de un circuito integrado de aplicación específica o ASIC).
La figura 9 ilustra un diagrama de bloques de un codificador 1200 según una realización de la invención. El codificador está representado por módulos conectados, estando adaptado cada módulo para implementar, por ejemplo, en la forma de instrucciones de programación a ejecutar por la CPU 1111 del aparato 1000, una etapa correspondiente de un procedimiento que implementa una realización de la invención.
Una secuencia original de imágenes digitales iü a in 1001 se recibe como una entrada por el codificador 1200. Cada imagen digital se representa mediante un conjunto de muestras, conocidas como píxeles.
El codificador 1200 entrega un flujo de bits 1210.
Se debe tener en cuenta que, en la siguiente descripción, en ocasiones se utiliza el término "bloque" en lugar de la terminología específica CU y PU utilizada en HEVC. Una CU o una PU es un bloque de píxeles.
Las imágenes digitales de entrada i se dividen en bloques mediante el módulo 1202. Estos bloques son porciones de imagen y pueden ser de tamaños variables (por ejemplo, 4x4, 8x8, 16x16, 32x32, 64x64). Durante la compresión de vídeo, cada bloque de una imagen que se está procesando se predice espacialmente mediante un módulo predictor "Intra" 1203, o temporalmente mediante un módulo predictor "Inter" que comprende un módulo de estimación de movimiento 1204 y un módulo de compensación de movimiento 1205. Cada predictor es un bloque de píxeles generado a partir de la misma imagen u otra imagen, del cual se obtiene un bloque de diferencia (o "residuo"). En virtud de la identificación del bloque predictor y la codificación del residuo, es posible reducir la cantidad de información que realmente hay que codificar.
Los cuadros codificados son de dos tipos: cuadros predichos de forma temporal (predichos a partir de un cuadro de referencia, denominados cuadros P, o predichos a partir de dos cuadros de referencia, denominados cuadros B) y cuadros predichos de forma no temporal (denominados cuadros Intra o cuadros I). En los cuadros I, solo se considera la predicción Intra para codificar CU/PU. En los cuadros P y los cuadros B, se consideran las predicciones Intra e Inter para codificar CU/PU.
En el módulo de "predicción Intra" 1203, el bloque actual se predice por medio de un predictor "Intra", un bloque de píxeles construido a partir de la información ya codificada de la imagen actual.
Con respecto a la codificación "Inter", son posibles dos tipos de predicción. La monopredicción (tipo P) consiste en predecir el bloque haciendo referencia a un bloque de referencia de una imagen de referencia. 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 1204 lleva a cabo una estimación de movimiento entre la CU o PU actual e imágenes de referencia 1216. Esta estimación de movimiento se realiza 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 a utilizar como predictores de este bloque actual. En un caso en el que se utilicen varios predictores de bloque (tipo B), estos se combinan para generar un único bloque de predicción. Las imágenes de referencia utilizadas consisten en imágenes en la secuencia de vídeo que ya se han codificado y, a continuación, reconstruido (mediante descodificación).
Generalmente, la estimación de movimiento llevada a cabo por el módulo 1204 es un algoritmo de coincidencia de bloques (BMA, Block Matching Algorithm).
A continuación, el predictor obtenido por el algoritmo se sustrae del bloque de datos actual a procesar, con el fin de obtener un bloque de diferencia (residuo de bloque). Este procesamiento se denomina "compensación de movimiento" y se realiza mediante el módulo 1205.
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 1206 para seleccionar el mejor modo de codificación.
Si se selecciona codificación "Intra", un elemento de información para describir el predictor "Intra" utilizado se codifica mediante un módulo de codificación por entropía 1209 antes se introducirse en el flujo de bits 1210. Las realizaciones de la presente invención descritas anteriormente haciendo referencia a las figuras 4 a 6 son aplicables al módulo de codificación por entropía 1209 en la figura 9.
Si el módulo 1206 para seleccionar el mejor modo de codificación elige codificación "Inter", la información de movimiento se codifica mediante el módulo de codificación por entropía 1209 y se introduce en el flujo de bits 1210. En particular, esta información de movimiento se compone de uno o varios vectores de movimiento (que indican la posición del bloque predictor en las imágenes de referencia con respecto a la posición del bloque a predecir) y de un índice de imagen entre las imágenes de referencia.
A continuación, el residuo obtenido según el modo de codificación seleccionado por el módulo 1206 se transforma mediante el módulo 1207. La transformada se aplica a una unidad de transformada (TU), que está incluida en una CU. Una TU se puede dividir además en T<u>más pequeñas 1006 utilizando la denominada descomposición de árbol cuaternario residual (RQT, Residual QuadTree). Generalmente, 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 discreta DCT.
A continuación, los coeficientes transformados del residuo se cuantifican mediante un módulo de cuantificación 1208. A continuación, los coeficientes del residuo transformado cuantificado se codifican por medio del módulo de codificación por entropía 1209 y, a continuación, se introducen en el flujo de bits comprimido 1210.
Con el fin de calcular los predictores “Intra” o para realizar una estimación del movimiento para los predictores “Inter”, el codificador lleva a cabo una descodificación de los bloques ya codificados por medio de un denominado bucle de "descodificación" 1211-1215. Este bucle de descodificación hace posible reconstruir los bloques e imágenes a partir de los residuos transformados cuantificados.
El residuo transformado cuantificado se descuantifica en el módulo 1211 aplicando la cuantificación inversa a la proporcionada por el módulo 1208 y se reconstruye en el módulo 1212 aplicando la transformada inversa a la del módulo 1207.
Si el residuo proviene de una codificación "Intra", entonces, en el módulo 1213, el predictor "Intra" 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, en este caso operaciones de cuantificación.
Por otra parte, si el residuo proviene de una codificación "Inter", los bloques a los que apuntan los vectores de movimiento actuales (estos bloques pertenecen a las imágenes de referencia 1216 referenciadas mediante los índices de la imagen actual) se combinan y, a continuación, se añaden a este residuo descodificado en el módulo 1214. De este modo, se obtiene el bloque original, modificado por las pérdidas resultantes de las operaciones de cuantificación.
Un filtro 1215 de bucle final 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. El filtro de bucle comprende dos etapas, un filtro de "eliminación de bloques" y un filtrado lineal. El filtrado de eliminación de bloques suaviza los bordes entres los bloques con el fin de atenuar visualmente estas altas frecuencias creadas por la codificación. El filtrado lineal mejora más la señal utilizando coeficientes de filtro determinados adaptativamente en el codificador. Por tanto, el filtrado mediante el módulo 1215 se aplica a una imagen cuando todos los bloques de píxeles de esta imagen se han descodificado.
Las imágenes filtradas, también denominadas imágenes reconstruidas, se almacenan entonces como imágenes de referencia 1216 con el fin de permitir que las predicciones “Inter" posteriores tengan lugar durante la compresión de las siguientes imágenes de la secuencia de vídeo actual.
En el contexto de HEVC, es posible utilizar varias imágenes de referencia 1216 para la estimación y la compensación de movimiento de la imagen actual. En otras palabras, la estimación de movimiento se lleva a cabo sobre N imágenes. Por tanto, los mejores predictores “Inter” del bloque actual, para la compensación de movimiento, se seleccionan en algunas de las múltiples imágenes de referencia. Por consiguiente, dos bloques adyacentes pueden tener dos bloques predictores que provienen de dos imágenes de referencia distintas. En particular, este es el motivo por el que, en el flujo de bits comprimido, se indica el índice de la imagen de referencia (además del vector de movimiento) utilizado para el bloque predictor.
La utilización de múltiples imágenes de referencia es tanto una herramienta para soportar errores como una herramienta para mejorar la eficacia de la compresión. El grupo VCEG recomienda limitar el número de imágenes de referencia a cuatro.
La figura 10 ilustra un diagrama de bloques de un descodificador 1300 según una realización de la invención. El descodificador se representa mediante módulos conectados, estando adaptado cada módulo para implementar, por ejemplo, en la forma de instrucciones de programación a ejecutar por la CPU 1111 del aparato 1000, una etapa correspondiente de un procedimiento que implementa una realización de la invención.
El descodificador 1300 recibe como una entrada un flujo de bits 1301 correspondiente a una secuencia de vídeo 1210 comprimida mediante un codificador del tipo HEVC, tal como el mostrado en la figura 9.
Durante el proceso de descodificación, en primer lugar, el flujo de bits 1301 se descodifica entrópicamente mediante un módulo 1302.
A continuación, el residuo del bloque actual se descuantifica mediante un módulo de descuantificación 1303. Esto invierte la cuantificación llevada a cabo por el módulo de cuantificación 1208 en el codificador 1200. A continuación, los datos descuantificados se reconstruyen mediante un módulo de transformada inversa 1304 que lleva a cabo una transformación inversa a la llevada a cabo por el módulo de transformada 1207 en el codificador 1200.
A continuación, la descodificación de los datos en la secuencia de vídeo se lleva a cabo imagen a imagen y, dentro de una imagen, bloque a bloque.
El modo de codificación "Inter" o "Intra" para el bloque actual se extrae a partir del flujo de bits 1301 y se descodifica entrópicamente.
Si la codificación del bloque actual es del tipo de codificación "Intra", el número del predictor se extrae a partir del flujo de bits y se descodifica entrópicamente. El bloque predictor Intra asociado con este índice se recupera a partir de los datos ya descodificados de la imagen actual.
El residuo asociado con el bloque actual se recupera a partir del flujo de bits 1301 y, a continuación, se descodifica entrópicamente. Finalmente, el bloque predictor Intra recuperado se añade al residuo así descuantificado y se reconstruye en un módulo de predicción Intra inversa 1305 con el fin de obtener el bloque descodificado.
Si el modo de codificación del bloque actual indica que este bloque es del tipo de codificación "Inter", la información de movimiento se extrae del flujo de bits 1301 mediante el módulo de descodificación por entropía 1302 y se descodifica.
Esta información de movimiento se utiliza en un módulo de compensación de movimiento inversa 206 con el fin de determinar el bloque predictor "Inter" contenido en las imágenes de referencia 1308 del descodificador 1300. De una manera similar al codificador, estas imágenes de referencia 1308 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).
También en este caso, el residuo asociado con el bloque actual se recupera a partir del flujo de bits 1301 y, a continuación, se descodifica entrópicamente mediante el módulo 1302. A continuación, el bloque predictor Inter determinado se añade al residuo así descuantificado reconstruido en el módulo de compensación de movimiento inversa 1306 con el fin de obtener el bloque descodificado.
Al final de la descodificación de todos los bloques de la imagen actual, el mismo filtro 1307 de bucle que el filtro 1215 proporcionado en el codificador 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 1308.
Las imágenes así descodificadas constituyen la señal de vídeo de salida 1309 del descodificador, que, a continuación, se pueden visualizar y utilizar.
Las realizaciones descritas anteriormente se basan en divisiones en bloques de imágenes de entrada, pero, de forma más general, se puede considerar cualquier tipo de porciones de imagen para codificar o descodificar, en particular porciones rectangulares o, de forma más general, porciones geométricas.
De forma más general, aunque la presente invención se ha descrito anteriormente haciendo referencia a realizaciones específicas, la presente invención no se limita a las realizaciones específicas, y las modificaciones serán evidentes para un experto en la materia.
Muchas modificaciones y variaciones diferentes se plantearán por sí solas a los expertos en la materia después de hacer referencia a las realizaciones ilustrativas anteriores, que se proporcionan solo a modo de ejemplo, y que no pretenden limitar el alcance de la invención, determinándose el mismo únicamente por las reivindicaciones adjuntas. En particular, las diferentes características de las diferentes realizaciones se pueden intercambiar si es apropiado.
En las reivindicaciones, la palabra "comprende" no excluye otros elementos o etapas, y el artículo indefinido "un" o "una" no excluye una pluralidad. El mero hecho de que diferentes características se citen en reivindicaciones dependientes mutuamente diferentes no indica que no se pueda utilizar ventajosamente una combinación de estas características.

Claims (6)

REIVINDICACIONES
1. Procedimiento para codificar un valor de modo que representa un modo de predicción intra relacionado con una unidad actual a codificar utilizando una pluralidad de valores de modos más probables, en el que el número de valores de modos más probables utilizado es tres, comprendiendo el procedimiento: obtener un primer y un segundo valores de modos más probables a partir de modos de predicción intra respectivos de, por lo menos, dos unidades vecinas de la unidad actual, siendo diferentes entre sí el primer y el segundo valores de modos más probables, y comprendiendo la obtención:
comprobar si los modos de predicción intra respectivos de, por lo menos, dos unidades vecinas de la unidad actual son iguales o diferentes;
si los modos de predicción intra respectivos son diferentes, ajustar el primer valor de modo más probable a un valor de modo correspondiente a uno de dichos modos de predicción intra respectivos, y ajustar el segundo valor de modo más probable a un valor de modo correspondiente a otro de dichos modos de predicción intra respectivos; y
obtener un tercer valor de modo más probable a partir del primer y el segundo valores de modos más probables, siendo el tercer valor de modo más probable diferente de cada uno de dichos primer y segundo valores de modos más probables, mediante, si ninguno de dichos primer y segundo valores de modos más probables corresponde a un modo de predicción plano, ajustar el tercer valor de modo más probable a un valor de modo correspondiente al modo de predicción plano;
comparar el valor de modo con, por lo menos, uno del primer, el segundo y el tercer valores de modos más probables obtenidos;
seleccionar, basándose en la comparación, un primer proceso de codificación, de entre, por lo menos, un primer y un segundo procesos de codificación, a aplicar al valor de modo a codificar cuando el valor de modo a codificar es igual a, por lo menos, uno del primer, el segundo y el tercer valores de modos más probables, y el segundo proceso de codificación cuando el valor de modo a codificar difiere de cada uno del primer, el segundo y el tercer valores de modos más probables; y
codificar el valor de modo utilizando el proceso de codificación seleccionado, y
el primer proceso de codificación comprende codificar primera información que indica el valor de modo a codificar de uno del primer, el segundo y el tercer valores de modos más probables, y el segundo proceso de codificación comprende codificar segunda información que representa el valor de modo a codificar que no es igual a ninguno del primer, el segundo y el tercer valores de modos más probables.
2. Procedimiento para descodificar un valor de modo que representa un modo de predicción intra relacionado con una unidad actual a descodificar utilizando una pluralidad de valores de modos más probables, en el que el número de valores de modos más probables utilizado es tres, comprendiendo el procedimiento: obtener un primer y un segundo valores de modos más probables a partir de modos de predicción intra respectivos de, por lo menos, dos unidades vecinas de la unidad actual, siendo diferentes entre sí el primer y el segundo valores de modos más probables, y comprendiendo la obtención:
comprobar si los modos de predicción intra respectivos de, por lo menos, dos unidades vecinas de la unidad actual son iguales o diferentes;
si los modos de predicción intra respectivos son diferentes, ajustar el primer valor de modo más probable a un valor de modo correspondiente a uno de dichos modos de predicción intra respectivos, y ajustar el segundo valor de modo más probable a un valor de modo correspondiente a otro de dichos modos de predicción intra respectivos; y
obtener un tercer valor de modo más probable a partir del primer y el segundo valores de modos más probables, siendo el tercer valor de modo más probable diferente de cada uno de dichos primer y segundo valores de modos más probables, mediante, si ninguno de dichos primer y segundo valores de modos más probables corresponde a un modo de predicción plano, ajustar el tercer valor de modo más probable a un valor de modo correspondiente al modo de predicción plano;
seleccionar, basándose en un indicador que señaliza si el valor de modo de la unidad actual es igual a uno del primer, el segundo y el tercer valores de modos más probables, un proceso de descodificación, de entre, por lo menos, un primer y un segundo procesos de descodificación, y
descodificar el valor de modo aplicando el proceso de descodificación seleccionado,
en el que el primer proceso de descodificación comprende descodificar primera información que indica el valor de modo a descodificar de uno del primer, el segundo y el tercer valores de modos más probables, y el segundo proceso de descodificación comprende descodificar segunda información que representa el valor de modo a descodificar que no es igual a ninguno del primer, el segundo y el tercer valores de modos más probables.
3. Dispositivo para codificar un valor de modo que representa un modo de predicción intra relacionado con una unidad actual a codificar, utilizando una pluralidad de valores de modos más probables, en el que el número de valores de modos más probables utilizado es tres, comprendiendo el dispositivo:
medios de obtención para obtener un primer y un segundo valores de modos más probables a partir de respectivos modos de predicción intra de, por lo menos, dos unidades vecinas de la unidad actual, siendo diferentes entre sí el primer y el segundo valores de modos más probables, y comprendiendo la obtención: comprobar si los modos de predicción intra respectivos de, por lo menos, dos unidades vecinas de la unidad actual son iguales o diferentes;
si los modos de predicción intra respectivos son diferentes, ajustar el primer valor de modo más probable a un valor de modo correspondiente a uno de dichos modos de predicción intra respectivos, y ajustar el segundo valor de modo más probable a un valor de modo correspondiente a otro de dichos modos de predicción intra respectivos,
en el que los medios de obtención se adaptan para obtener un tercer valor de modo más probable a partir del primer y el segundo valores de modos más probables, siendo el tercer valor de modo más probable diferente de cada uno de dichos primer y segundo valores de modos más probables, mediante, si ninguno de dichos primer y segundo valores de modos más probables corresponde a un modo de predicción plano, ajustar el tercer valor de modo más probable a un valor de modo correspondiente al modo de predicción plano; medios de comparación para comparar el valor de modo con, por lo menos, uno del primer, el segundo y el tercer valores de modos más probables obtenidos;
medios de selección para seleccionar, basándose en la comparación, un primer proceso de codificación, de entre, por lo menos, un primer y un segundo procesos de codificación, a aplicar al valor de modo a codificar cuando el valor de modo a codificar es igual a, por lo menos, uno del primer, el segundo y el tercer valores de modos más probables, y el segundo proceso de codificación cuando el valor de modo a codificar difiere de cada uno del primer, el segundo y el tercer valores de modos más probables; y
medios para codificar el valor de modo utilizando el proceso de codificación seleccionado, en el que el primer proceso de codificación comprende codificar primera información que indica el valor de modo a codificar de uno del primer, el segundo y el tercer valores de modos más probables, y el segundo proceso de codificación comprende codificar segunda información que representa el valor de modo a codificar que no es igual a ninguno del primer, el segundo y el tercer valores de modos más probables.
4. Dispositivo para descodificar un valor de modo que representa un modo de predicción intra relacionado con una unidad actual a descodificar, utilizando una pluralidad de valores de modos más probables, en el que el número de valores de modos más probables utilizado es tres, comprendiendo el dispositivo:
medios de obtención para obtener un primer y un segundo valores de modos más probables a partir de respectivos modos de predicción intra de, por lo menos, dos unidades vecinas de la unidad actual, siendo diferentes entre sí el primer y el segundo valores de modos más probables, y comprendiendo la obtención: comprobar si los modos de predicción intra respectivos de, por lo menos, dos unidades vecinas de la unidad actual son iguales o diferentes,
si los modos de predicción intra respectivos son diferentes, ajustar el primer valor de modo más probable a un valor de modo correspondiente a uno de dichos modos de predicción intra respectivos, y ajustar el segundo valor de modo más probable a un valor de modo correspondiente a otro de dichos modos de predicción intra respectivos, en el que
los medios de obtención se adaptan para obtener un tercer valor de modo más probable a partir del primer y el segundo valores de modos más probables, siendo el tercer valor de modo más probable diferente de cada uno de dichos primer y segundo valores de modos más probables, mediante, si ninguno de dichos primer y segundo valores de modos más probables corresponde a un modo de predicción plano, ajustar el tercer valor de modo más probable a un valor de modo correspondiente al modo de predicción plano;
medios de selección para seleccionar, basándose en un indicador que señaliza si el valor de modo de la unidad actual es igual a uno del primer, el segundo y el tercer valores de modos más probables, un proceso de descodificación, de entre, por lo menos, un primer y un segundo procesos de descodificación, y medios para descodificar el valor de modo utilizando el proceso de descodificación seleccionado, en el que el primer proceso de descodificación comprende descodificar primera información que indica el valor de modo a descodificar de uno del primer, el segundo y el tercer valores de modos más probables, y el segundo proceso de descodificación comprende descodificar segunda información que representa el valor de modo a descodificar que no es igual a ninguno del primer, el segundo y el tercer valores de modos más probables.
5. Programa que comprende instrucciones que, cuando se ejecutan mediante un ordenador o un procesador, hacen que el ordenador o el procesador lleve a cabo el procedimiento según las reivindicaciones 1 o 2.
6. Medio de almacenamiento legible por ordenador que almacena el programa según la reivindicación 5.
ES19157988T 2011-09-12 2012-09-12 Obtención de valores de modo de referencia y codificación y descodificación de información que representa modos de predicción Active ES2963368T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1115739.3A GB2494468B (en) 2011-09-12 2011-09-12 Method and device for encoding or decoding information representing prediction modes

Publications (1)

Publication Number Publication Date
ES2963368T3 true ES2963368T3 (es) 2024-03-26

Family

ID=44908429

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19157988T Active ES2963368T3 (es) 2011-09-12 2012-09-12 Obtención de valores de modo de referencia y codificación y descodificación de información que representa modos de predicción

Country Status (16)

Country Link
US (5) US9930332B2 (es)
EP (6) EP2756675B1 (es)
JP (5) JP6129178B2 (es)
KR (6) KR20140062509A (es)
CN (6) CN108632617B (es)
BR (5) BR122020002125B1 (es)
ES (1) ES2963368T3 (es)
GB (1) GB2494468B (es)
HR (1) HRP20240151T1 (es)
HU (1) HUE065000T2 (es)
IN (1) IN2014CN02461A (es)
PL (1) PL3518540T3 (es)
PT (1) PT3518540T (es)
RS (1) RS65122B1 (es)
RU (7) RU2575992C2 (es)
WO (1) WO2013037489A1 (es)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2494468B (en) * 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes
CN106851300B (zh) 2011-09-13 2020-05-26 寰发股份有限公司 基于最可能模式的帧内预测模式的方法及装置
WO2013051903A1 (en) 2011-10-07 2013-04-11 Pantech Co., Ltd. Methods and apparatuses of encoding/decoding intra prediction mode using candidate intra prediction modes
CN108174213B (zh) 2011-10-24 2022-07-12 占史克威尔有限公司 图像解码装置
CN104935929B (zh) * 2011-10-24 2018-05-25 英孚布瑞智有限私人贸易公司 图像解码设备
CN105338346B (zh) 2011-10-24 2018-11-13 英孚布瑞智有限私人贸易公司 用于图像解码的方法和装置
ES2816567T3 (es) 2011-10-24 2021-04-05 Innotive Ltd Método y aparato para decodificar modo de intra-predicción
KR20130049523A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
KR20130049522A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
KR20130049525A (ko) 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
US10390016B2 (en) 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130049524A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
CN103220506B (zh) * 2012-01-19 2015-11-25 华为技术有限公司 一种编解码方法和设备
US9210438B2 (en) * 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
CN104081770B (zh) 2012-01-20 2018-10-09 英迪股份有限公司 帧内预测模式映射方法和使用该方法的装置
CN105338363B (zh) * 2014-07-30 2018-12-14 联想(北京)有限公司 一种视频帧的编码及解码方法和装置
CN108886617B (zh) * 2016-04-06 2021-08-27 株式会社Kt 用于处理视频信号的方法和设备
CN109314790A (zh) * 2016-05-23 2019-02-05 佳稳电子有限公司 影像处理方法、利用其的影像解码及编码方法
KR20180040319A (ko) * 2016-10-12 2018-04-20 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
CN117336472A (zh) 2017-01-02 2024-01-02 Lx 半导体科技有限公司 图像编码/解码设备以及发送图像数据的设备
CN118018722A (zh) 2018-05-10 2024-05-10 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
WO2019245650A1 (en) * 2018-06-18 2019-12-26 Interdigital Vc Holdings, Inc. Boundary filtering for planar and dc modes in intra prediction
WO2020050697A1 (ko) * 2018-09-06 2020-03-12 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11394965B2 (en) 2018-09-11 2022-07-19 Lg Electronics Inc. Method for processing image on basis of intra prediction mode, and device therefor
CN117221533A (zh) 2019-01-02 2023-12-12 Oppo广东移动通信有限公司 帧内预测方法及装置、视频编码设备、存储介质
MX2021008166A (es) 2019-01-08 2021-08-11 Lg Electronics Inc Metodo y dispositivo de codificacion de video basados en prediccion intra que utilizan lista de mpm.
CN113875237A (zh) * 2019-04-10 2021-12-31 韩国电子通信研究院 用于在帧内预测中用信号传送预测模式相关信号的方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003105070A1 (en) 2002-06-01 2003-12-18 Nokia Corporation Spatial prediction based intra coding
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
RU2335860C2 (ru) 2002-10-01 2008-10-10 Томсон Лайсенсинг С.А. Неявное взвешивание опорных изображений в видеодекодере
JP4127818B2 (ja) * 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
US9055298B2 (en) * 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
JP2007243391A (ja) * 2006-03-07 2007-09-20 Victor Co Of Japan Ltd 動画像符号化装置
KR101365569B1 (ko) * 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
KR101365575B1 (ko) * 2007-02-05 2014-02-25 삼성전자주식회사 인터 예측 부호화, 복호화 방법 및 장치
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
TWI364222B (en) * 2007-09-05 2012-05-11 Via Tech Inc Method and device for generating prediction mode parameter
US8229159B2 (en) * 2007-09-28 2012-07-24 Dolby Laboratories Licensing Corporation Multimedia coding and decoding with additional information capability
JP2009218742A (ja) * 2008-03-07 2009-09-24 Canon Inc 画像符号化装置
US20090274213A1 (en) 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for computationally efficient intra prediction in a video coder
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
CN101330617B (zh) * 2008-07-31 2010-11-17 上海交通大学 基于模式映射的多标准帧内预测器的硬件实现方法及装置
KR20100027384A (ko) * 2008-09-02 2010-03-11 삼성전자주식회사 예측 모드 결정 방법 및 장치
KR101590500B1 (ko) * 2008-10-23 2016-02-01 에스케이텔레콤 주식회사 동영상 부호화/복호화 장치, 이를 위한 인트라 예측 방향에기반한 디블록킹 필터링 장치 및 필터링 방법, 및 기록 매체
CN102308586B (zh) 2009-02-06 2015-03-25 汤姆森特许公司 用于视频编码器和解码器隐式和半隐式帧内模式信令的方法和装置
JP2010258738A (ja) * 2009-04-24 2010-11-11 Sony Corp 画像処理装置および方法、並びにプログラム
CN101605263B (zh) * 2009-07-09 2012-06-27 杭州士兰微电子股份有限公司 帧内预测的方法和装置
US9369736B2 (en) * 2010-04-05 2016-06-14 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
EP3125559B1 (en) * 2010-08-17 2018-08-08 M&K Holdings Inc. Apparatus for decoding an intra prediction mode
US9654785B2 (en) 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
PT2887670T (pt) * 2011-06-28 2017-09-18 Samsung Electronics Co Ltd Método e aparelho para codificar vídeo e método e aparelho para descodificar vídeo, acompanhados com intra previsão
GB2494468B (en) 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes

Also Published As

Publication number Publication date
US20190208193A1 (en) 2019-07-04
CN108632626A (zh) 2018-10-09
KR20180107326A (ko) 2018-10-01
CN108848387B (zh) 2022-06-07
BR122020002125B1 (pt) 2022-12-27
BR112014005323A2 (pt) 2017-03-28
JP6766195B2 (ja) 2020-10-07
JP6513120B2 (ja) 2019-05-15
JP6129178B2 (ja) 2017-05-17
CN108848387A (zh) 2018-11-20
KR20180107327A (ko) 2018-10-01
BR122020002126B1 (pt) 2022-12-27
RS65122B1 (sr) 2024-02-29
RU2016102177A (ru) 2017-08-02
CN108632626B (zh) 2022-06-21
GB2494468A (en) 2013-03-13
JP2014529250A (ja) 2014-10-30
CN108632617A (zh) 2018-10-09
JP2019106717A (ja) 2019-06-27
US10687057B2 (en) 2020-06-16
HUE065000T2 (hu) 2024-04-28
KR102052290B1 (ko) 2019-12-04
US20180167611A1 (en) 2018-06-14
HRP20240151T1 (hr) 2024-04-12
RU2732673C1 (ru) 2020-09-25
RU2759319C1 (ru) 2021-11-11
CN108632617B (zh) 2022-06-10
JP2017143570A (ja) 2017-08-17
CN108632628A (zh) 2018-10-09
JP6766210B2 (ja) 2020-10-07
CN103797800A (zh) 2014-05-14
EP4224857A1 (en) 2023-08-09
US20190208192A1 (en) 2019-07-04
JP2019126086A (ja) 2019-07-25
RU2738256C1 (ru) 2020-12-11
CN108632628B (zh) 2022-06-21
RU2722536C1 (ru) 2020-06-01
US9930332B2 (en) 2018-03-27
EP2756675A1 (en) 2014-07-23
GB201115739D0 (en) 2011-10-26
KR20160030323A (ko) 2016-03-16
EP4228260A1 (en) 2023-08-16
BR112014005323B1 (pt) 2022-05-03
RU2575992C2 (ru) 2016-02-27
CN103797800B (zh) 2018-06-19
KR20180108873A (ko) 2018-10-04
GB2494468B (en) 2014-01-15
KR101903101B1 (ko) 2018-10-01
JP2019146216A (ja) 2019-08-29
RU2014114449A (ru) 2015-10-20
CN108632627A (zh) 2018-10-09
US10687056B2 (en) 2020-06-16
KR102052291B1 (ko) 2020-01-08
EP2756675B1 (en) 2019-04-03
KR102052292B1 (ko) 2019-12-04
IN2014CN02461A (es) 2015-08-07
KR20140062509A (ko) 2014-05-23
EP3518540B1 (en) 2023-11-08
WO2013037489A1 (en) 2013-03-21
US10666938B2 (en) 2020-05-26
BR122020002124B1 (pt) 2022-12-27
JP6766211B2 (ja) 2020-10-07
US10264253B2 (en) 2019-04-16
EP3518540A1 (en) 2019-07-31
EP4228259A1 (en) 2023-08-16
RU2696252C1 (ru) 2019-08-01
KR20180110168A (ko) 2018-10-08
EP4228261A1 (en) 2023-08-16
US20190208194A1 (en) 2019-07-04
BR122020002127B1 (pt) 2022-12-27
CN108632627B (zh) 2022-06-21
PL3518540T3 (pl) 2024-04-08
KR102068921B1 (ko) 2020-01-21
PT3518540T (pt) 2023-11-23
US20150010054A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
ES2963368T3 (es) Obtención de valores de modo de referencia y codificación y descodificación de información que representa modos de predicción
KR102332492B1 (ko) 영상 정보 전송 방법 및 장치와 이를 이용한 복호화 방법 및 장치