ES2688624A2 - Método y aparato para procesar señales de vídeo - Google Patents

Método y aparato para procesar señales de vídeo Download PDF

Info

Publication number
ES2688624A2
ES2688624A2 ES201890060A ES201890060A ES2688624A2 ES 2688624 A2 ES2688624 A2 ES 2688624A2 ES 201890060 A ES201890060 A ES 201890060A ES 201890060 A ES201890060 A ES 201890060A ES 2688624 A2 ES2688624 A2 ES 2688624A2
Authority
ES
Spain
Prior art keywords
intra
prediction
current block
block
mpm
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.)
Pending
Application number
ES201890060A
Other languages
English (en)
Other versions
ES2688624R1 (es
Inventor
Bae Keun Lee
Joo Young Kim
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.)
KT Corp
Original Assignee
KT Corp
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 KT Corp filed Critical KT Corp
Publication of ES2688624A2 publication Critical patent/ES2688624A2/es
Publication of ES2688624R1 publication Critical patent/ES2688624R1/es
Pending legal-status Critical Current

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0085Motion estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Método y aparato para procesar señales de vídeo. Un método para procesar un vídeo de acuerdo con la presente invención puede comprender: generar una pluralidad de candidatos de modo más probable (MPM); determinar si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM; obtener el modo de intra-predicción del bloque actual, basándose en un resultado de la determinación; y realizar una intra-predicción para el bloque actual, basándose en el modo de intra-predicción del bloque actual.

Description

5
10
15
20
25
30
35
Método y aparato para procesar señales de vídeo.
OBJETO DE LA INVENCIÓN
La presente invención se refiere a un método y a un aparato para procesar señales de vídeo. ANTECEDENTES DE LA INVENCIÓN
En la actualidad, han aumentado las peticiones de imágenes de alta resolución y alta calidad a medida que han aumentado las imágenes de alta definición (HD) y de ultra alta definición (UHD) en diversos campos de aplicación. Sin embargo, los datos de resolución y calidad de imagen superiores tienen cantidades cada vez mayores de datos en comparación con los datos de imagen convencionales. Por lo tanto, cuando se transmiten datos de imagen usando un medio tal como redes de banda ancha inalámbricas y alámbricas convencionales, o cuando se almacenan datos de imagen usando un medio de almacenamiento convencional, aumenta el coste de transmisión y almacenamiento. Para resolver estos problemas que tienen lugar con un aumento en la resolución y calidad de datos de imagen, pueden utilizarse técnicas de codificación/decodificación de imagen de alta eficacia.
La tecnología de compresión de imagen incluye diversas técnicas, que incluyen: una técnica de inter-predicción de predicción de un valor de píxel incluido en una instantánea actual desde una instantánea anterior o posterior de la instantánea actual; una técnica de intra-predicción de predicción de un valor de píxel incluido en una instantánea actual que usa información de píxel en la instantánea actual; una técnica de codificación por entropía de asignación de un código corto a un valor con una alta frecuencia de aparición y asignar un código largo a un valor con una baja frecuencia de aparición; etc. Los datos de imagen pueden comprimirse de manera eficaz usando tal tecnología de compresión de imagen, y pueden transmitirse o almacenarse.
Mientras tanto, con las peticiones de imágenes de alta resolución, también han aumentado las peticiones de contenido de imagen estereográfico, que es un nuevo servicio de imagen. Se está analizando una técnica de compresión de vídeo para proporcionar de manera eficaz contenido de imagen estereográfico con alta resolución y ultra alta resolución.
Un objeto de la presente invención es proporcionar un método y un aparato para realizar de
5
10
15
20
25
30
35
manera eficaz intra-predicción para un bloque objetivo de codificación/decodificación al codificar/decodificar una señal de vídeo.
Un objeto de la presente invención es proporcionar un método y un aparato para obtener un modo de intra-predicción de un bloque objetivo de codificación/decodificación usando un bloque vecino adyacente a un bloque objetivo de codificación/decodificación al codificar/decodificar una señal de vídeo.
Un objeto de la presente invención es proporcionar un método y un aparato para realizar una intra- predicción para un bloque objetivo de codificación/decodificación basándose en una pluralidad de líneas de referencia.
Los objetos técnicos a conseguirse por la presente invención no están limitados a los problemas técnicos anteriormente mencionados. Y, otros problemas técnicos que no se mencionan se entenderán de manera evidente por los expertos en la materia a partir de la siguiente descripción.
DESCRIPCIÓN DE LA INVENCIÓN
Un método y un aparato para decodificar una señal de vídeo de acuerdo con la presente invención pueden generar una pluralidad de Candidatos de Modo Más Probable (MPM), determinar si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM, obtener el modo de intra-predicción del bloque actual, basándose en un resultado de la determinación, y realizar una intra-predicción para el bloque actual, basándose en el modo de intra-predicción del bloque actual. En este punto, la pluralidad de candidatos de MPM se generan basándose en frecuencias de aparición de modos de intra- predicción de una pluralidad de bloques vecinos adyacentes al bloque actual.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, la generación de la pluralidad de candidatos de MPM puede comprender generar un primer grupo de candidatos de MPM, y generar un segundo grupo de candidatos de MPM.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, el segundo grupo de candidatos de MPM puede incluir un candidato de MPM que tiene una dirección similar a un candidato de MPM incluido en el primer grupo de candidatos de MPM.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente
5
10
15
20
25
30
35
invención, la determinación de si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM puede comprender determinar si el primer grupo de candidatos de MPM incluye un candidato de MPM idéntico al modo de intra- predicción del bloque actual, y determinar si el segundo grupo de candidatos de MPM incluye un candidato de MPM idéntico al modo de intra-predicción del bloque actual, cuando se determina que el primer grupo de candidatos de MPM no incluye un candidato de MPM idéntico al modo de intra-predicción del bloque actual.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, la pluralidad de candidatos de MPM puede incluir un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de una pluralidad de bloques vecinos superiores adyacentes al bloque actual, y un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de una pluralidad de bloques vecinos izquierdos adyacentes al bloque actual.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, la pluralidad de candidatos de MPM puede incluir un modo de intra-predicción más grande o más pequeño entre modos de intra-predicción de bloques vecinos superiores y modos de intra-predicción de bloques vecinos.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, cuando se determina que no hay candidato de MPM idéntico al modo de intra- predicción del bloque actual entre la pluralidad de candidatos de MPM, la obtención del modo de intra-predicción del bloque actual puede comprender decodificar un modo restante, y determinar el modo de intra-predicción del bloque actual basándose en el modo restante.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, el modo restante puede codificarse como una longitud fija.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, la realización de la intra-predicción para el bloque actual puede comprender seleccionar una línea de referencia entre una pluralidad de líneas de referencia del bloque actual, y obtener una muestra de predicción para el bloque actual, usando la línea de referencia seleccionada.
En el método y el aparato para decodificar una señal de vídeo de acuerdo con la presente invención, entre la pluralidad de líneas de referencia, una línea de referencia de orden N incluye
un número mayor de muestras de referencia que una muestra de referencia de orden (N-1).
Un método y un aparato para codificar una señal de vídeo de acuerdo con la presente invención pueden generar una pluralidad de Candidatos de Modo Más Probable (MPM), determinar si hay 5 un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM, y codificar información que indica si el candidato de MPM está incluido en la pluralidad de candidatos de MPM idénticos al modo de intra predicción del bloque actual. En este punto, la pluralidad de candidatos de MPM se generan basándose en frecuencias de aparición de modos de intra-predicción de una pluralidad de bloques vecinos adyacentes al 10 bloque actual.
Las características brevemente resumidas anteriormente para la presente invención son únicamente aspectos ilustrativos de la descripción detallada de la invención que sigue, pero no limitan el alcance de la invención.
15
Efectos ventajosos
De acuerdo con la presente invención, una intra-predicción eficaz puede realizarse para un bloque objetivo de codificación/decodificación.
20
De acuerdo con la presente invención, un modo de intra-predicción de un bloque objetivo de codificación/decodificación puede obtenerse usando un bloque vecino adyacente a un bloque objetivo de codificación/decodificación.
25 De acuerdo con la presente invención, una intra-predicción para un bloque objetivo de codificación/decodificación puede realizarse basándose en una pluralidad de líneas de referencia.
Los efectos obtenibles por la presente invención no están limitados a los efectos anteriormente mencionados, y otros efectos no mencionados pueden entenderse de manera evidente por los 30 expertos en la materia a partir de la descripción a continuación.
5
10
15
20
25
30
35
La Figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un vídeo de acuerdo con una realización de la presente invención.
La Figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un vídeo de acuerdo con una realización de la presente invención.
La Figura 3 es una vista que ilustra un ejemplo de particionamiento jerárquico de un bloque de codificación basándose en una estructura de árbol de acuerdo con una realización de la presente invención.
La Figura 4 es una vista que ilustra tipos de modos de intra predicción predefinidos para un dispositivo para codificar/decodificar un vídeo de acuerdo con una realización de la presente invención.
La Figura 5 es un diagrama de flujo que ilustra brevemente un método de intra predicción de acuerdo con una realización de la presente invención.
La Figura 6 es una vista que ilustra un método de corrección de una muestra de predicción de un bloque actual basándose en información diferencial de muestras vecinas de acuerdo con una realización de la presente invención.
Las Figuras 7 y 8 son vistas que ilustran un método de corrección de una muestra de predicción basándose en un filtro de corrección predeterminado de acuerdo con una realización de la presente invención.
La Figura 9 es una vista que ilustra un método de corrección de una muestra de predicción basándose en el desplazamiento de acuerdo con una realización de la presente invención.
Las Figuras 10 a 14 son vistas que ilustran ejemplos de un patrón de intra predicción de un bloque actual de acuerdo con una realización de la presente invención.
La Figura 15 es una vista que ilustra un método de realización de predicción usando una técnica de copia de intra bloque de acuerdo con una realización de la presente invención.
5
10
15
20
25
30
35
La Figura 16 muestra un intervalo de muestras de referencia para intra predicción de acuerdo con una realización a la que se aplica la presente invención.
Las Figuras 17 a 19 ilustran un ejemplo de filtración en muestras de referencia.
La Figura 20 es un diagrama de flujo que ilustra un método de derivación de un modo de intra- predicción de un bloque actual, de acuerdo con una realización de la presente invención.
La Figura 21 es un diagrama para explicar un ejemplo en el que se genera un candidato de MPM usando un modo de intra-predicción de un bloque vecino adyacente a un bloque actual.
La Figura 22 es un diagrama que muestra un ejemplo de generación de candidatos de MPM cuando un modo de intra-predicción de un bloque vecino superior o un bloque vecino izquierdo adyacente a un bloque actual no está disponible.
La Figura 23 es un diagrama para explicar un orden de obtención de modos de intra-predicción de bloques vecinos.
La Figura 24 muestra un ejemplo de derivación de un modo de intra-predicción de un bloque actual, usando 2 grupos de candidatos de MPM.
La Figura 25 muestra un ejemplo de derivación de un modo de intra-predicción de un bloque actual, usando 3 grupos de candidatos de MPM.
La Figura 26 ejemplifica una pluralidad de líneas de muestra de referencia.
La Figura 27 es un diagrama de flujo que ilustra un método de realización de intra-predicción, usando una línea de referencia extendida, de acuerdo con la presente invención.
La Figura 28 es un diagrama que ejemplifica una pluralidad de líneas de referencia para un bloque no cuadrado.
DESCRIPCIÓN DE UNA REALIZACIÓN PREFERENTE DE LA INVENCIÓN
Puede realizarse una diversidad de modificaciones a la presente invención y existen diversas
5
10
15
20
25
30
35
realizaciones de la presente invención, ejemplos de la cual se proporcionarán ahora con referencia a los dibujos y se describirán en detalle. Sin embargo, la presente invención no está limitada a lo mismo, y las realizaciones ejemplares pueden interpretarse como que incluyen todas las modificaciones, equivalentes, o sustitutos en un concepto técnico y un alcance técnico de la presente invención. Los números de referencia similares hacen referencia al elemento similar descrito en los dibujos.
Los términos usados en la memoria descriptiva, 'primero', 'segundo', etc., pueden usarse para describir diversos componentes, pero los componentes no han de interpretarse como que están limitados a los términos. Los términos se usan únicamente para diferenciar un componente de otros componentes. Por ejemplo, el ‘primer’ componente puede nombrarse el ‘segundo’ componente sin alejarse del alcance de la presente invención, y el ‘segundo’ componente puede nombrarse también de manera similar el ‘primer’ componente. El término ‘y/o’ incluye una combinación de una pluralidad de elementos o uno cualquiera de una pluralidad de términos.
Se entenderá que cuando un elemento se denomina de manera sencilla como que está ‘conectado a’ o ‘acoplado a’ otro elemento sin estar ‘directamente conectado a’ o ‘directamente acoplado a’ otro elemento en la presente descripción, puede estar ‘directamente conectado a’ o ‘directamente acoplado a’ otro elemento o estar conectado a o acoplado a otro elemento, que tiene el otro elemento intermedio entre los mismos. En contraste, debería entenderse que cuando un elemento se denomina como que está "directamente acoplado" o "directamente conectado" a otro elemento, no hay elementos intermedios presentes.
Los términos usados en la presente memoria descriptiva se usan simplemente para describir realizaciones particulares, y no se pretende que limiten la presente invención. Una expresión usada en singular abarca la expresión del plural, a menos que tenga un significado claramente diferente en el contexto. En la presente memoria descriptiva, se ha de entender que los términos tales como “que incluye”, “que tiene”, etc., se pretenden para indicar la existencia de las características, números, etapas, acciones, elementos, partes, o combinaciones de los mismos desveladas en la memoria descriptiva, y no se pretende que excluyan la posibilidad de que puedan existir o puedan añadirse una o más otras características, números, etapas, acciones, elementos, partes, o combinaciones de los mismos.
En lo sucesivo, se describirán en detalle realizaciones preferidas de la presente invención con referencia a los dibujos adjuntos. En lo sucesivo, los mismos elementos constituyentes en los dibujos se indican por los mismos números de referencia, y se omitirá una descripción repetida de
5
10
15
20
25
30
35
los mismos elementos.
La Figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un vídeo de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 1, el dispositivo 100 para codificar un vídeo puede incluir: un módulo 110 de particionamiento de instantánea, módulos 120 y 125 de predicción, un módulo 130 de transformada, un módulo 135 de cuantificación, un módulo 160 de reorganización, un módulo 165 de codificación por entropía, un módulo 140 de cuantificación inversa, un módulo 145 de transformada inversa, un módulo 150 de filtro, y una memoria 155.
Las partes constitucionales mostradas en la Figura 1 se muestran de manera independiente para representar funciones características diferentes entre sí en el dispositivo para codificar un vídeo. Por lo tanto, no significa que cada parte constitucional esté constituida en una unidad constitucional de hardware o software separada. En otras palabras, cada parte constitucional incluye cada una de las partes constitucionales enumeradas por conveniencia. Por lo tanto, al menos dos partes constitucionales de cada parte constitucional pueden combinarse para formar una parte constitucional o una parte constitucional puede dividirse en una pluralidad de partes constitucionales para realizar cada función. La realización donde se combina cada parte constitucional y la realización donde se divide una parte constitucional también están incluidas en el alcance de la presente invención, si no se aleja de la esencia de la presente invención.
También, algunos de los constituyentes pueden no ser constituyentes indispensables que realizan funciones esenciales de la presente invención sino ser constituyentes selectivos que mejoran únicamente el rendimiento de la misma. La presente invención puede implementarse incluyendo únicamente las partes constitucionales indispensables para implementar la esencia de la presente invención excepto los constituyentes usados al mejorar el rendimiento. La estructura que incluye únicamente los constituyentes indispensables excepto los constituyentes selectivos usados al mejorar únicamente el rendimiento también está incluida en el alcance de la presente invención.
El módulo 110 de particionamiento de instantánea puede particionar una instantánea de entrada en una o más unidades de procesamiento. En este punto, la unidad de procesamiento puede ser una unidad de predicción (PU), una unidad de transformada (TU), o una unidad de codificación (CU). El módulo 110 de particionamiento de instantánea puede particionar una instantánea en combinaciones de múltiples unidades de codificación, unidades de predicción, y unidades de transformada, y puede codificar una instantánea seleccionando una combinación de unidades de
5
10
15
20
25
30
35
codificación, unidades de predicción, y unidades de transformada con un criterio predeterminado (por ejemplo, función de coste).
Por ejemplo, una instantánea puede particionarse en múltiples unidades de codificación. Una estructura de árbol recursivo, tal como una estructura de árbol cuádruple, puede usarse para particionar una instantánea en unidades de codificación. Una unidad de codificación que se particiona en otras unidades de codificación con una instantánea o una unidad de codificación más grande como una raíz puede particionarse con nodos hijo que corresponden al número de unidades de codificación particionadas. Una unidad de codificación que ya no se particiona más en una limitación predeterminada sirve como un nodo de hoja. Es decir, cuando se supone que únicamente es posible particionamiento cuadrado para una unidad de codificación, una unidad de codificación puede particionarse en cuatro otras unidades de codificación como máximo.
En lo sucesivo, en la realización de la presente invención, la unidad de codificación puede significar una unidad que realiza codificación o una unidad que realiza decodificación.
Una unidad de predicción puede ser una de las particiones particionadas en un cuadrado o una forma rectangular que tiene el mismo tamaño en una única unidad de codificación, o una unidad de predicción puede ser una de las particiones particionadas para que tengan una forma / tamaño diferente en una única unidad de codificación.
Cuando se genera una unidad de predicción sometida a intra predicción basándose en una unidad de codificación y la unidad de codificación no es la unidad de codificación más pequeña, puede realizarse intra predicción sin particionar la unidad de codificación en múltiples unidades de predicción NxN.
Los módulos 120 y 125 de predicción pueden incluir un módulo 120 de inter predicción que realiza inter predicción y un módulo 125 de intra predicción que realiza intra predicción. Puede determinarse si realizar inter predicción o intra predicción para la unidad de predicción, y puede determinarse información detallada (por ejemplo, un modo de intra predicción, un vector de movimiento, una instantánea de referencia, etc.) de acuerdo con cada método de predicción. En este punto, la unidad de procesamiento sometida a predicción puede ser diferente de la unidad de procesamiento para la que se determina el método de predicción y contenido detallado. Por ejemplo, puede determinarse el método de predicción, el modo de predicción, etc., por la unidad de predicción, y puede realizarse predicción por la unidad de transformada. Un valor residual (bloque residual) entre el bloque de predicción generado y un bloque original puede introducirse al
5
10
15
20
25
30
35
módulo 130 de transformada. También, la información de modo de predicción, la información de vector de movimiento, etc., usadas para predicción pueden codificarse con el valor residual por el módulo 165 de codificación por entropía y pueden transmitirse a un dispositivo para decodificar un vídeo. Cuando se usa un modo de codificación particular, es posible transmitir un dispositivo para decodificación de vídeo codificando el bloque original como está sin generar el bloque de predicción a través de los módulos 120 y 125 de predicción.
El módulo 120 de inter predicción puede predecir la unidad de predicción basándose en información de al menos una de una instantánea anterior o una instantánea posterior de la instantánea actual, o puede predecir la unidad de predicción basándose en información de algunas regiones codificadas en la instantánea actual, en algunos casos. El módulo 120 de inter predicción puede incluir un módulo de interpolación de instantánea de referencia, un módulo de predicción de movimiento, y un módulo de compensación de movimiento.
El módulo de interpolación de instantánea de referencia puede recibir información de instantánea de referencia desde la memoria 155 y puede generar información de píxel de un píxel entero o menor que el píxel entero desde la instantánea de referencia. En el caso de píxeles de luminancia, puede usarse un filtro de interpolación basado en DCT de 8 derivaciones, que tiene diferentes coeficientes de filtro para generar información de píxel de un píxel entero o menor que un píxel entero en unidades de 1/4 de píxel. En el caso de señales de crominancia, puede usarse un filtro de interpolación basado en DCT de 4 derivaciones que tiene diferente coeficiente para generar información de píxel de un píxel entero o menor que un píxel entero en unidades de 1/8 de píxel.
El módulo de predicción de movimiento puede realizar predicción de movimiento basándose en la instantánea de referencia interpolada por el módulo de interpolación de instantánea de referencia. Como métodos para calcular un vector de movimiento, pueden usarse diversos métodos, tales como un algoritmo de adaptación de bloque basado en búsqueda completa (FBMA), una búsqueda de tres etapas (TSS), un algoritmo de búsqueda de tres etapas (NTS), etc. El vector de movimiento puede tener un valor de vector de movimiento en unidades de 1/2 de píxel o de 1/4 de píxel basándose en un píxel de interpolación. El módulo de predicción de movimiento puede predecir una unidad de predicción actual cambiando el método de predicción de movimiento. Como métodos de predicción de movimiento, pueden usarse diversos métodos, tales como un método de salto, un método de unión, un método de AMVP (Predicción de Vector de Movimiento Avanzada), un método de copia de intra bloque, etc.
El módulo 125 de intra predicción puede generar una unidad de predicción basándose en
5
10
15
20
25
30
35
información del píxel de referencia que es vecino a un bloque actual que es información de píxel en la instantánea actual. Cuando el bloque vecino de la unidad de predicción actual es un bloque sometido a inter predicción y por lo tanto un píxel de referencia es un píxel sometido a inter predicción, el píxel de referencia incluido en el bloque sometido a inter predicción puede sustituirse por información de píxel de referencia de un bloque vecino sometido a intra predicción. Es decir, cuando un píxel de referencia no está disponible, puede usarse al menos un píxel de referencia de píxeles de referencia disponibles en lugar de información del píxel de referencia no disponible.
Los modos de predicción en intra predicción pueden incluir un modo de predicción direccional que usa información de píxel de referencia dependiendo de una dirección de predicción y un modo de predicción no direccional que no usa información direccional al realizar la predicción. Un modo para predecir información de luminancia puede ser diferente de un modo para predecir información de crominancia, y para predecir la información de crominancia, puede utilizarse información de modo de intra predicción para predecir información de luminancia o información de señal de luminancia prevista.
Al realizar intra predicción, cuando el tamaño de la unidad de predicción es el mismo que el tamaño de la unidad de transformada, puede realizarse intra predicción en la unidad de predicción basándose en píxeles situados a la izquierda, la parte superior izquierda y la parte superior de la unidad de predicción. Sin embargo, al realizar intra predicción, cuando el tamaño de la unidad de predicción es diferente del tamaño de la unidad de transformada, puede realizarse intra predicción usando un píxel de referencia basándose en la unidad de transformada. También, puede usarse intra predicción usando particionamiento N x N para únicamente la unidad de codificación más pequeña.
En el método de intra predicción, puede generarse un bloque de predicción después de aplicar un filtro de AIS (Suavizado Intra Adaptativo) a un píxel de referencia dependiendo de los modos de predicción. El tipo del filtro de AIS aplicado al píxel de referencia puede variar. Para realizar el método de intra predicción, puede predecirse un modo de intra predicción de la unidad de predicción actual desde el modo de intra predicción de la unidad de predicción vecina a la unidad de predicción actual. En la predicción del modo de predicción de la unidad de predicción actual usando información de modo prevista desde la unidad de predicción vecina, cuando el modo de intra predicción de la unidad de predicción actual es el mismo que el modo de intra predicción de la unidad de predicción vecina, puede transmitirse la información que indica que los modos de predicción de la unidad de predicción actual y la unidad de predicción vecina son iguales entre sí
5
10
15
20
25
30
35
usando información de bandera predeterminada. Cuando el modo de predicción de la unidad de predicción actual es diferente del modo de predicción de la unidad de predicción vecina, puede realizarse codificación por entropía para codificar información de modo de predicción del bloque actual.
También, puede generarse un bloque residual que incluye información sobre un valor residual que es uno diferente entre la unidad de predicción sometida a predicción y el bloque original de la unidad de predicción basándose en unidades de predicción generadas por los módulos 120 y 125 de predicción. El bloque residual generado puede introducirse al módulo 130 de transformada.
El módulo 130 de transformada puede transformar el bloque residual que incluye la información en el valor residual entre el bloque original y la unidad de predicción generados por los módulos 120 y 125 de predicción usando un método de transformada, tal como transformada de coseno discreta (DCT), transformada de seno discreta (DST) y KLT. Si aplicar DCT, DST, o KLT para transformar el bloque residual puede determinarse basándose en información de modo de intra predicción de la unidad de predicción usada para generar el bloque residual.
El módulo 135 de cuantificación puede cuantificar valores transformados a un dominio de frecuencia por el módulo 130 de transformada. Los coeficientes de cuantificación pueden variar dependiendo del bloque o importancia de una instantánea. Los valores calculados por el módulo 135 de cuantificación pueden proporcionarse al módulo 140 de cuantificación inversa y al módulo 160 de reorganización.
El módulo 160 de reorganización puede reorganizar coeficientes de valores residuales cuantificados.
El módulo 160 de reorganización puede cambiar un coeficiente en forma de un bloque bidimensional en un coeficiente en forma de un vector unidimensional a través de un método de exploración de coeficiente. Por ejemplo, el módulo 160 de reorganización puede explorar desde un coeficiente de CC a un coeficiente en el dominio de alta frecuencia un método de exploración en zigzag para cambiar los coeficientes para que estén en forma de vectores unidimensionales. Dependiendo del tamaño de la unidad de transformada y el modo de intra predicción, puede usarse exploración de dirección vertical donde se exploran los coeficientes en forma de bloques bidimensionales en la dirección de columna o exploración de dirección horizontal donde se exploran los coeficientes en forma de bloques bidimensionales en la dirección de fila en lugar de exploración en zigzag. Es decir, qué método de exploración se usa entre exploración en zigzag,
5
10
15
20
25
30
35
exploración de dirección vertical y exploración de dirección horizontal puede determinarse dependiendo del tamaño de la unidad de transformada y el modo de intra predicción.
El módulo 165 de codificación por entropía puede realizar codificación por entropía basándose en los valores calculados por el módulo 160 de reorganización. La codificación por entropía puede usar diversos métodos de codificación, por ejemplo, codificación de Golomb exponencial, codificación de longitud variable adaptativa según contexto (CAVLC), y codificación binaria aritmética adaptativa según contexto (CABAC).
El módulo 165 de codificación por entropía puede codificar una diversidad de información, tal como información de coeficiente de valor residual e información de tipo de bloque de la unidad de codificación, información de modo de predicción, información de unidad de partición, información de unidad de predicción, información de unidad de transformada, información de vector de movimiento, información de fotograma de referencia, información de interpolación de bloque, información de filtración, etc., desde el módulo 160 de reorganización y los módulos 120 y 125 de predicción.
El módulo 165 de codificación por entropía puede codificar por entropía los coeficientes de la unidad de codificación introducidos desde el módulo 160 de reorganización.
El módulo 140 de cuantificación inversa puede cuantificar a la inversa los valores cuantificados por el módulo 135 de cuantificación y el módulo 145 de transformada inversa puede transformar a la inversa los valores transformados por el módulo 130 de transformada. El valor residual generado por el módulo 140 de cuantificación inversa y el módulo 145 de transformada inversa puede combinarse con la unidad de predicción prevista por un módulo de estimación de movimiento, un módulo de compensación de movimiento, y el módulo de intra predicción de los módulos 120 y 125 de predicción de manera que puede generarse un bloque reconstruido.
El módulo 150 de filtro puede incluir al menos uno de un filtro de desbloqueo, una unidad de corrección de desplazamiento, y un filtro de bucle adaptativo (ALF).
El filtro de desbloqueo puede eliminar distorsión de bloque que tiene lugar debido a los límites entre los bloques en la instantánea reconstruida. Para determinar si realizar desbloqueo, los píxeles incluidos en diversas filas o columnas en el bloque pueden ser una base de determinación de si aplicar el filtro de desbloqueo al bloque actual. Cuando el filtro de desbloqueo se aplica al bloque, puede aplicarse un filtro intenso o un filtro débil dependiendo de la intensidad de filtración
5
10
15
20
25
30
35
de desbloqueo requerida. También, al aplicar el filtro de desbloqueo, puede procesarse en paralelo la filtración de dirección horizontal y la filtración de dirección vertical.
El módulo de corrección de desplazamiento puede corregir el desplazamiento con la instantánea original en unidades de un píxel en la instantánea sometida a desbloqueo. Para realizar la corrección de desplazamiento en una instantánea particular, es posible usar un método de aplicación de desplazamiento en consideración de información de borde de cada píxel o un método de particionamiento de píxeles de una instantánea en el número predeterminado de regiones, determinar un región a someterse para realizar el desplazamiento, y aplicar el desplazamiento a la región determinada.
Puede realizarse filtración de bucle adaptativa (ALF) basándose en el valor obtenido comparando la instantánea reconstruida filtrada y la instantánea original. Los píxeles incluidos en la instantánea pueden dividirse en grupos predeterminados, puede determinarse un filtro a aplicarse a cada uno de los grupos, y puede realizarse de manera individual filtración para cada grupo. La información sobre si aplicar ALF y una señal de luminancia puede transmitirse por unidades de codificación (CU). La forma y coeficiente de filtro de un filtro para ALF puede variar dependiendo de cada bloque. También, el filtro para ALF en la misma forma (forma fijada) puede aplicarse independientemente de las características del bloque objetivo de aplicación.
La memoria 155 puede almacenar el bloque o instantánea reconstruidos calculados a través del módulo 150 de filtro. El bloque o instantánea reconstruidos almacenados pueden proporcionarse a los módulos 120 y 125 de predicción al realizar inter predicción.
La Figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un vídeo de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 2, el dispositivo 200 para decodificar un vídeo puede incluir: un módulo 210 de decodificación por entropía, un módulo 215 de reorganización, un módulo 220 de cuantificación inversa, un módulo 225 de transformada inversa, módulos 230 y 235 de predicción, un módulo 240 de filtro, y una memoria 245.
Cuando se introduce un flujo de bits de vídeo desde el dispositivo para codificar un vídeo, el flujo de bits introducido puede decodificarse de acuerdo con un proceso inverso del dispositivo para codificar un vídeo.
5
10
15
20
25
30
35
El módulo 210 de decodificación por entropía puede realizar decodificación por entropía de acuerdo con un proceso inverso de codificación por entropía por el módulo de codificación por entropía del dispositivo para codificar un vídeo. Por ejemplo, correspondiendo a los métodos realizados por el dispositivo para codificar un vídeo, pueden aplicarse diversos métodos, tales como codificación de Golomb exponencial, codificación de longitud variable adaptativa según contexto (CAVLC), y codificación binaria aritmética adaptativa según contexto (CABAC).
El módulo 210 de decodificación por entropía puede decodificar información sobre intra predicción e inter predicción realizada por el dispositivo para codificar un vídeo.
El módulo 215 de reorganización puede realizar reorganización en el flujo de bits decodificado por entropía por el módulo 210 de decodificación por entropía basándose en el método de reorganización usado en el dispositivo para codificar un vídeo. El módulo de reorganización puede reconstruir y reorganizar los coeficientes en forma de vectores unidimensionales al coeficiente en forma de bloques bidimensionales. El módulo 215 de reorganización puede recibir información relacionada con exploración de coeficiente realizada en el dispositivo para codificar un vídeo y puede realizar reorganización mediante un método de exploración a la inversa de los coeficientes basándose en el orden de exploración realizado en el dispositivo para codificar un vídeo.
El módulo 220 de cuantificación inversa puede realizar cuantificación inversa basándose en un parámetro de cuantificación recibido desde el dispositivo para codificar un vídeo y los coeficientes reorganizados del bloque.
El módulo 225 de transformada inversa puede realizar la transformada inversa, es decir, DCT inversa, DST inversa, y KLT inversa, que es el proceso inverso de la transformada, es decir, DCT, DST, y KLT, realizado por el módulo de transformada en el resultado de cuantificación por el dispositivo para codificar un vídeo. La transformada inversa puede realizarse basándose en una unidad de transferencia determinada por el dispositivo para codificar un vídeo. El módulo 225 de transformada inversa del dispositivo para decodificar un vídeo puede realizar de manera selectiva esquemas de transformada (por ejemplo, DCT, DST, y KLT) dependiendo de múltiples piezas de información, tal como el método de predicción, el tamaño del bloque actual, la dirección de predicción, etc.
Los módulos 230 y 235 de predicción pueden generar un bloque de predicción basándose en información sobre la generación de bloque de predicción recibida desde el módulo 210 de decodificación por entropía y la información de bloque o instantánea previamente decodificada
5
10
15
20
25
30
35
recibida desde la memoria 245.
Como se ha descrito anteriormente, como la operación del dispositivo para codificar un vídeo, al realizar intra predicción, cuando el tamaño de la unidad de predicción es el mismo que el tamaño de la unidad de transformada, puede realizarse intra predicción en la unidad de predicción basándose en los píxeles situados a la izquierda, la parte superior izquierda, y la parte superior de la unidad de predicción. Al realizar intra predicción, cuando el tamaño de la unidad de predicción es diferente del tamaño de la unidad de transformada, puede realizarse intra predicción usando un píxel de referencia basándose en la unidad de transformada. También, puede usarse intra predicción usando particionamiento N x N para únicamente la unidad de codificación más pequeña.
Los módulos 230 y 235 de predicción pueden incluir un módulo de determinación de unidad de predicción, un módulo de inter predicción, y un módulo de intra predicción. El módulo de determinación de unidad de predicción puede recibir una diversidad de información, tal como información de unidad de predicción, información de modo de predicción de un método de intra predicción, información sobre predicción de movimiento de un método de inter predicción, etc., desde el módulo 210 de decodificación por entropía, puede dividir una unidad de codificación actual en unidades de predicción, y puede determinar si se realiza inter predicción o intra predicción en la unidad de predicción. Usando información requerida en inter predicción de la unidad de predicción actual recibida desde el dispositivo para codificar un vídeo, el módulo 230 de inter predicción puede realizar inter predicción en la unidad de predicción actual basándose en información de al menos una de una instantánea anterior o una instantánea posterior de la instantánea actual que incluye la unidad de predicción actual. Como alternativa, puede realizarse inter predicción basándose en información de algunas regiones previamente reconstruidas en la instantánea actual que incluye la unidad de predicción actual.
Para realizar inter predicción, puede determinarse para la unidad de codificación cuál de un modo de salto, un modo de unión, un modo de AMVP, y un modo de copia de inter bloque se usa como el método de predicción de movimiento de la unidad de predicción incluido en la unidad de codificación.
El módulo 235 de intra predicción puede generar un bloque de predicción basándose en información de píxel en la instantánea actual. Cuando la unidad de predicción es una unidad de predicción sometida a intra predicción, puede realizarse intra predicción basándose en información de modo de intra predicción de la unidad de predicción recibida desde el dispositivo para codificar
5
10
15
20
25
30
35
un vídeo. El módulo 235 de intra predicción puede incluir un filtro de suavizado intra adaptativo (AIS), un módulo de interpolación de píxel de referencia, y un filtro de CC. El filtro de AIS realiza filtración en el píxel de referencia del bloque actual, y si aplicar el filtro puede determinarse dependiendo del modo de predicción de la unidad de predicción actual. Puede realizarse filtración de AIS en el píxel de referencia del bloque actual usando el modo de predicción de la unidad de predicción y la información de filtro de AIS recibida desde el dispositivo para codificar un vídeo. Cuando el modo de predicción del bloque actual es un modo donde no se realiza filtración de AIS, no puede aplicarse el filtro de AIS.
Cuando el modo de predicción de la unidad de predicción es un modo de predicción en el que se realiza intra predicción basándose en el valor de píxel obtenido interpolando el píxel de referencia, el módulo de interpolación de píxel de referencia puede interpolar el píxel de referencia para generar el píxel de referencia de un píxel entero o menor que un píxel entero. Cuando el modo de predicción de la unidad de predicción actual es un modo de predicción en el que se genera un bloque de predicción sin interpolación del píxel de referencia, no puede interpolarse el píxel de referencia. El filtro de CC puede generar un bloque de predicción a través de filtración cuando el modo de predicción del bloque actual es un modo de CC.
El bloque o instantánea reconstruidos pueden proporcionarse al módulo 240 de filtro. El módulo 240 de filtro puede incluir el filtro de desbloqueo, el módulo de corrección de desplazamiento, y el ALF.
La información sobre si se aplica o no el filtro de desbloqueo al correspondiente bloque o instantánea y la información sobre cuál de un filtro intenso y un filtro débil se aplica cuando se aplica el filtro de desbloqueo puede recibirse desde el dispositivo para codificar un vídeo. El filtro de desbloqueo del dispositivo para decodificar un vídeo puede recibir información sobre el filtro de desbloqueo desde el dispositivo para codificar un vídeo, y puede realizar filtración de desbloqueo en el correspondiente bloque.
El módulo de corrección de desplazamiento puede realizar corrección de desplazamiento en la instantánea reconstruida basándose en el tipo de corrección de desplazamiento e información de valor de desplazamiento aplicados a una instantánea al realizar codificación.
El ALF puede aplicarse a la unidad de codificación basándose en información sobre si aplicar el ALF, información de coeficiente de ALF, etc., recibida desde el dispositivo para codificar un vídeo. La información de ALF puede proporcionarse incluida en un conjunto de parámetros particular.
5
10
15
20
25
30
35
La memoria 245 puede almacenar la instantánea o bloque reconstruidos para su uso como una instantánea o bloque de referencia, y puede proporcionar la instantánea reconstruida a un módulo de salida.
Como se ha descrito anteriormente, en la realización de la presente invención, por conveniencia de explicación, la unidad de codificación se usa como un término para representar una unidad para codificación, pero la unidad de codificación puede servir como una unidad para realizar decodificación así como codificación.
La Figura 3 es una vista que ilustra un ejemplo de particionamiento jerárquico de un bloque de codificación basándose en una estructura de árbol de acuerdo con una realización de la presente invención.
Una señal de vídeo de entrada se decodifica en unidades de bloque predeterminadas. Una unidad por defecto de este tipo para decodificar la señal de vídeo de entrada es un bloque de codificación. El bloque de codificación puede ser una unidad para realizar intra/inter predicción, transformada y cuantificación. El bloque de codificación puede ser un bloque cuadrado o no cuadrado que tiene un tamaño arbitrario en un intervalo de 8x8 a 64x64, o puede ser un bloque cuadrado o no cuadrado que tiene un tamaño de 128x128, 256x256 o mayor.
Específicamente, el bloque de codificación puede particionarse jerárquicamente basándose en al menos uno de un árbol cuádruple y un árbol binario. En este punto, particionamiento basado en árbol cuádruple puede significar que un bloque de codificación 2Nx2N se particiona en cuatro bloques de codificación NxN, y el particionamiento basado en árbol binario puede significar que un bloque de codificación se particiona en dos bloques de codificación. El particionamiento basado en árbol binario puede realizarse de manera simétrica o asimétrica. El bloque de codificación particionado basándose en el árbol binario puede ser un bloque cuadrado o un bloque no cuadrado, tal como una forma rectangular. El particionamiento basado en árbol binario puede realizarse en un bloque de codificación donde ya no se realiza particionamiento basado en árbol cuádruple. El particionamiento basado en árbol cuádruple ya no puede realizarse en el bloque de codificación particionado basándose en el árbol binario.
Para implementar particionamiento adaptativo basándose en el árbol cuádruple o árbol binario, puede usarse la información que indica particionamiento basado en árbol cuádruple, información sobre el tamaño/profundidad del bloque de codificación que está permitido particionamiento
5
10
15
20
25
30
35
basado en árbol cuádruple, información que indica particionamiento basado en árbol binario, información sobre el tamaño/profundidad del bloque de codificación que está permitido particionamiento basado en árbol binario, información sobre el tamaño/profundidad del bloque de codificación que no está permitido particionamiento basado en árbol binario, información sobre si se realiza particionamiento basado en árbol binario en una dirección vertical o una dirección horizontal, etc.
Como se muestra en la Figura 3, el primer bloque 300 de codificación con la profundidad de partición (profundidad de división) de k puede particionarse en múltiples segundos bloques de codificación basados en el árbol cuádruple. Por ejemplo, los segundos bloques 310 a 340 de codificación pueden ser bloques cuadrados que tienen la mitad de anchura y la mitad de altura del primer bloque de codificación, y la profundidad de partición del segundo bloque de codificación puede aumentarse a k+1.
El segundo bloque 310 de codificación con la profundidad de partición de k+1 puede particionarse en múltiples terceros bloques de codificación con la profundidad de partición de k+2. El particionamiento del segundo bloque 310 de codificación puede realizarse usando de manera selectiva uno del árbol cuádruple y el árbol binario dependiendo de un método de particionamiento. En este punto, el método de particionamiento puede determinarse basándose en al menos una de la información que indica particionamiento basado en árbol cuádruple y la información que indica particionamiento basado en árbol binario.
Cuando se particiona el segundo bloque 310 de codificación basándose en el árbol cuádruple, el segundo bloque 310 de codificación puede particionarse en cuatro terceros bloques 310a de codificación que tienen la mitad de anchura y la mitad de altura del segundo bloque de codificación, y la profundidad de partición del tercer bloque 310a de codificación puede aumentarse a k+2. En contraste, cuando el segundo bloque 310 de codificación se particiona basándose en el árbol binario, el segundo bloque 310 de codificación puede particionarse en dos terceros bloques de codificación. En este punto, cada uno de los dos terceros bloques de codificación puede ser un bloque no cuadrado que tiene una de la mitad de anchura y la mitad de altura del segundo bloque de codificación, y la profundidad de partición puede aumentarse a k+2. El segundo bloque de codificación puede determinarse como un bloque no cuadrado de una dirección horizontal o una dirección vertical dependiendo de una dirección de particionamiento, y la dirección de particionamiento puede determinarse basándose en la información sobre si se realiza particionamiento basado en árbol binario en una dirección vertical o una dirección horizontal.
5
10
15
20
25
30
35
Mientras tanto, el segundo bloque 310 de codificación puede determinarse como un bloque de codificación de hoja que ya no se particiona basándose en el árbol cuádruple o el árbol binario. En este caso, el bloque de codificación de hoja puede usarse como un bloque de predicción o un bloque de transformada.
Como el particionamiento del segundo bloque 310 de codificación, el tercer bloque 310a de codificación puede determinarse como un bloque de codificación de hoja, o puede particionarse adicionalmente basándose en el árbol cuádruple o el árbol binario.
Mientras tanto, el tercer bloque 310b de codificación particionado basándose en el árbol binario puede particionarse adicionalmente en bloques 310b-2 de codificación de una dirección vertical o bloques 310b-3 de codificación de una dirección horizontal basándose en el árbol binario, y la profundidad de partición de los bloques de codificación pertinentes puede aumentarse a k+3. Como alternativa, el tercer bloque 310b de codificación puede determinarse como un bloque 310b- 1 de codificación de hoja que ya no se particiona basándose en el árbol binario. En este caso, el bloque 310b-1 de codificación puede usarse como un bloque de predicción o un bloque de transformada. Sin embargo, el proceso de particionamiento anterior puede realizarse de manera limitada basándose en al menos uno de la información sobre el tamaño/profundidad del bloque de codificación que está permitido particionamiento basado en árbol cuádruple, la información sobre el tamaño/profundidad del bloque de codificación que está permitido particionamiento basado en árbol binario, y la información sobre el tamaño/profundidad del bloque de codificación que no está permitido particionamiento basado en árbol binario.
La Figura 4 es una vista que ilustra tipos de modos de intra predicción predefinidos para un dispositivo para codificar/decodificar un vídeo de acuerdo con una realización de la presente invención.
El dispositivo para codificar/decodificar un vídeo puede realizar intra predicción usando uno de modos de intra predicción predefinidos. Los modos de intra predicción predefinidos para intra predicción pueden incluir modos de predicción no direccional (por ejemplo, un modo planar, un modo de CC) y 33 modos de predicción direccional.
Como alternativa, para mejorar la precisión de intra predicción, puede usarse un número mayor de modos de predicción direccional que los 33 modos de predicción direccional. Es decir, pueden definirse M modos de predicción direccional extendidos subdividiendo ángulos de los modos de
5
10
15
20
25
30
35
predicción direccional (M>33), y puede derivarse un modo de predicción direccional que tiene un ángulo predeterminado usando al menos uno de los 33 modos de predicción direccional predefinidos.
La Figura 4 muestra un ejemplo de modos de intra predicción extendidos, y los modos de intra predicción extendidos pueden incluir dos modos de predicción no direccional y 65 modos de predicción direccional extendidos. Los mismos números de los modos de intra predicción extendidos pueden usarse para un componente de luminancia y un componente de crominancia, o puede usarse un número diferente de los modos de intra predicción para cada componente. Por ejemplo, pueden usarse 67 modos de intra predicción extendidos para el componente de luminancia, y pueden usarse 35 modos de intra predicción para el componente de crominancia.
Como alternativa, dependiendo del formato de crominancia, puede usarse un número diferente de los modos de intra predicción al realizar intra predicción. Por ejemplo, en el caso del formato 4:2:0, pueden usarse 67 modos de intra predicción para el componente de luminancia para realizar intra predicción y pueden usarse 35 modos de intra predicción para el componente de crominancia. En el caso del formato 4:4:4, pueden usarse 67 modos de intra predicción para tanto el componente de luminancia como el componente de crominancia para realizar intra predicción.
Como alternativa, dependiendo del tamaño y/o forma del bloque, puede usarse un número diferente de los modos de intra predicción para realizar intra predicción. Es decir, dependiendo del tamaño y/o forma de la PU o CU, pueden usarse 35 modos de intra predicción o 67 modos de intra predicción para realizar intra predicción. Por ejemplo, cuando la CU o PU tiene el tamaño menor que 64x64 o está particionada de manera asimétrica, pueden usarse 35 modos de intra predicción para realizar intra predicción. Cuando el tamaño de la CU o PU es igual o mayor que 64x64, pueden usarse 67 modos de intra predicción para realizar intra predicción. Pueden estar permitidos 65 modos de intra predicción direccional para intra_2Nx2N, y pueden estar permitidos únicamente 35 modos de intra predicción direccional para intra_NxN.
La Figura 5 es un diagrama de flujo que ilustra brevemente un método de intra predicción de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 5, un modo de intra predicción del bloque actual puede determinarse en la etapa S500.
Específicamente, el modo de intra predicción del bloque actual puede derivarse basándose en una
5
10
15
20
25
30
35
lista de candidatos y un índice. En este punto, la lista de candidatos contiene múltiples candidatos, y los múltiples candidatos pueden determinarse basándose en un modo de intra predicción del bloque vecino adyacente al bloque actual. El bloque vecino puede incluir al menos uno de bloques situados en la parte superior, la parte inferior, la izquierda, la derecha y la esquina del bloque actual. El índice puede especificar uno de los múltiples candidatos de la lista de candidatos. El candidato especificado por el índice puede establecerse al modo de intra predicción del bloque actual.
Un modo de intra predicción usado para intra predicción en el bloque vecino puede establecerse como un candidato. También, un modo de intra predicción que tiene direccionalidad similar a la del modo de intra predicción del bloque vecino puede establecerse como un candidato. En este punto, el modo de intra predicción que tiene direccionalidad similar puede determinarse añadiendo o restando un valor constante predeterminado a o desde el modo de intra predicción del bloque vecino. El valor constante predeterminado puede ser un número entero, tal como uno, dos o mayor.
La lista de candidatos puede incluir adicionalmente un modo por defecto. El modo por defecto puede incluir al menos uno de un modo planar, un modo de CC, un modo vertical, y un modo horizontal. El modo por defecto puede añadirse de manera adaptativa considerando el número máximo de candidatos que pueden incluirse en la lista de candidatos del bloque actual.
El número máximo de candidatos que pueden incluirse en la lista de candidatos puede ser tres, cuatro, cinco, seis o mayor. El número máximo de candidatos que pueden incluirse en la lista de candidatos puede ser un valor fijo preestablecido en el dispositivo para codificar/decodificar un vídeo, o puede determinarse de manera variable basándose en una característica del bloque actual. La característica puede significar la localización/tamaño/forma del bloque, el número/tipo de los modos de intra predicción que el bloque puede usar, etc. Como alternativa, la información que indica el número máximo de candidatos que pueden incluirse en la lista de candidatos puede señalizarse de manera separada, y el número máximo de candidatos que pueden incluirse en la lista de candidatos puede determinarse de manera variable usando la información. La información que indica el número máximo de candidatos puede señalizarse en al menos uno de un nivel de secuencia, un nivel de instantánea, un nivel de corte, y un nivel de bloque.
Cuando se usan los modos de intra predicción extendidos y los 35 modos de intra predicción predefinidos de manera selectiva, los modos de intra predicción de los bloques vecinos pueden transformarse en índices que corresponden a los modos de intra predicción extendidos, o en
índices que corresponden a los 35 modos de intra predicción, mediante los cuales pueden derivarse los candidatos. Para transformar a un índice, puede usarse una tabla predefinida, o puede usarse una operación de escalamiento basándose en un valor predeterminado. En este punto, la tabla predefinida puede definir una relación de mapeo entre diferentes grupos de modos 5 de intra predicción (por ejemplo, modos de intra predicción extendidos y 35 modos de intra predicción).
Por ejemplo, cuando el bloque vecino izquierdo usa los 35 modos de intra predicción y el modo de intra predicción del bloque vecino izquierdo es 10 (un modo horizontal), puede transformarse en 10 un índice de 16 que corresponde a un modo horizontal en los modos de intra predicción extendidos.
Como alternativa, cuando los bloques vecinos superiores usan los modos de intra predicción extendidos y el modo de intra predicción de los bloques vecinos superiores tiene un índice de 50 15 (un modo vertical), puede transformarse en un índice de 26 que corresponde a un modo vertical en los 35 modos de intra predicción.
Basándose en el método anteriormente descrito de determinación del modo de intra predicción, el modo de intra predicción puede derivarse de manera independiente para cada uno del 20 componente de luminancia y el componente de crominancia, o el modo de intra predicción del componente de crominancia puede derivarse dependiendo del modo de intra predicción del componente de luminancia.
Específicamente, el modo de intra predicción del componente de crominancia puede determinarse 25 basándose en el modo de intra predicción del componente de luminancia como se muestra en la siguiente Tabla 1.
[Tabla 1]
Intra chroma pred mode[xCb][yCb]
I ntraPredModeY[xCb][yC b]
0
26 10 1 X(0<=X<=34)
0
34
0
0
0
0
1
26 34 26 26 26
2
10 10 34 10 10
3
1 1 1 34 1
4
0 26 10 1 X
En la Tabla 1, intra_chroma_pred_mode significa información señalizada para especificar el modo de intra predicción del componente de crominancia, e IntraPredModeY indica el modo de intra predicción del componente de luminancia.
5 Haciendo referencia a la Figura 5, una muestra de referencia para intra predicción del bloque actual puede derivarse en la etapa S510.
Específicamente, una muestra de referencia para intra predicción puede derivarse basándose en una muestra vecina del bloque actual. La muestra vecina puede ser una muestra reconstruida del 10 bloque vecino, y la muestra reconstruida puede ser una muestra reconstruida antes de que se aplique un filtro en bucle o una muestra reconstruida después de que se aplique el filtro en bucle.
Una muestra vecina reconstruida antes del bloque actual puede usarse como la muestra de referencia, y una muestra vecina filtrada basándose en un filtro intra predeterminado puede usarse 15 como la muestra de referencia. El intra filtro puede incluir al menos uno del primer intra filtro aplicado a múltiples muestras vecinas situadas en la misma línea horizontal y el segundo intra filtro aplicado a múltiples muestras vecinas situadas en la misma línea vertical. Dependiendo de las posiciones de las muestras vecinas, uno del primer intra filtro y el segundo intra filtro pueden aplicarse de manera selectiva, o pueden aplicarse ambos intra filtros.
20
La filtración puede realizarse de manera adaptativa basándose en al menos uno del modo de intra predicción del bloque actual y el tamaño del bloque de transformada para el bloque actual. Por ejemplo, cuando el modo de intra predicción del bloque actual es el modo de CC, el modo vertical, o el modo horizontal, no puede realizarse filtración. Cuando el tamaño del bloque de transformada 25 es NxM, no puede realizarse filtración. En este punto, N y M pueden ser los mismos valores o diferentes valores, o pueden ser valores de 4, 8, 16 o mayores. Como alternativa, puede realizarse de manera adaptativa filtración basándose en el resultado de una comparación de un umbral predefinido y la diferencia entre el modo de intra predicción del bloque actual y el modo vertical (o el modo horizontal). Por ejemplo, cuando la diferencia entre el modo de intra predicción del bloque 30 actual y el modo vertical es mayor que un umbral, puede realizarse filtración. El umbral puede definirse para cada tamaño del bloque de transformada como se muestra en la Tabla 2.
[Tabla 2]
transformada de transformada de
transformada de 8x8
16x16 32x32
5
10
15
20
25
30
35
Umbral
7 1 0
El intra filtro puede determinarse como uno de múltiples candidatos de intra filtro predefinidos en el dispositivo para codificar/decodificar un vídeo. Para este fin, puede señalizarse un índice que especifica un intra filtro del bloque actual entre los múltiples candidatos de intra filtro. Como alternativa, el intra filtro puede determinarse basándose en al menos uno del tamaño/forma del bloque actual, el tamaño/forma del bloque de transformada, información sobre la intensidad de filtro, y variaciones de las muestras vecinas.
Haciendo referencia a la Figura 5, puede realizarse intra predicción usando el modo de intra predicción del bloque actual y la muestra de referencia en la etapa S520.
Es decir, la muestra de predicción del bloque actual puede obtenerse usando el modo de intra predicción determinado en la etapa S500 y la muestra de referencia derivada en la etapa S510. Sin embargo, en el caso de intra predicción, puede usarse una muestra de límite del bloque vecino, y por lo tanto puede reducirse la calidad de la instantánea de predicción. Por lo tanto, puede realizarse un proceso de corrección en la muestra de predicción generada a través del proceso de predicción anteriormente descrito, y se describirá en detalle con referencia a las Figuras 6 a 14. Sin embargo, el proceso de corrección no está limitado a que se aplique únicamente a la muestra de intra predicción, y puede aplicarse a una muestra de inter predicción o a la muestra reconstruida.
La Figura 6 es una vista que ilustra un método de corrección de una muestra de predicción de un bloque actual basándose en información diferencial de muestras vecinas de acuerdo con una realización de la presente invención.
La muestra de predicción del bloque actual puede corregirse basándose en la información diferencial de múltiples muestras vecinas para el bloque actual. La corrección puede realizarse en todas las muestras de predicción en el bloque actual, o puede realizarse en muestras de predicción en algunas regiones predeterminadas. Algunas regiones pueden ser de una fila/columna o múltiples filas/columnas, o pueden ser regiones prestablecidas para corrección en el dispositivo para codificar/decodificar un vídeo, o pueden determinarse de manera variable basándose en al menos uno del tamaño/forma del bloque actual y el modo de intra predicción.
Las muestras vecinas pueden pertenecer a los bloques vecinos situados en la parte superior, la izquierda y la esquina superior izquierda del bloque actual. El número de muestras vecinas usadas para corrección pueden ser dos, tres, cuatro o mayor. Las posiciones de las muestras vecinas
5
10
15
20
25
30
35
pueden determinarse de manera variable dependiendo de la posición de la muestra de predicción que es el objetivo de corrección en el bloque actual. Como alternativa, algunas de las muestras vecinas pueden tener posiciones fijadas independientemente de la posición de la muestra de predicción que es el objetivo de corrección, y las restantes muestras vecinas pueden tener posiciones variables dependiendo de la posición de la muestra de predicción que es el objetivo de corrección.
La información diferencial de las muestras vecinas puede significar una muestra diferencial entre las muestras vecinas, o puede significar un valor obtenido escalando la muestra diferencial por un valor constante predeterminado (por ejemplo, uno, dos, tres, etc.). En este punto, el valor constante predeterminado puede determinarse considerando la posición de la muestra de predicción que es el objetivo de corrección, la posición de la columna o fila que incluye la muestra de predicción que es el objetivo de corrección, la posición de la muestra de predicción en la columna o fila, etc.
Por ejemplo, cuando el modo de intra predicción del bloque actual es el modo vertical, pueden usarse muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y muestras vecinas p (-1, y) adyacentes al límite izquierdo del bloque actual para obtener la muestra de predicción final como se muestra en la Ecuación 1.
[Ecuación 1]
P ,(0?.y)-K0;}?)"K O7 (" 1 >y)~PÍ~ 1 r 1))»1 paray-0...Ar-l
Por ejemplo, cuando el modo de intra predicción del bloque actual es el modo horizontal, pueden usarse muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y muestras vecinas p(x, -1) adyacentes al límite superior del bloque actual para obtener la muestra de predicción final como se muestra en la Ecuación 2.
[Ecuación 2]
imagen1
Por ejemplo, cuando el modo de intra predicción del bloque actual es el modo vertical, pueden usarse muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y muestras
vecinas p(-1, y) adyacentes al límite izquierdo del bloque actual para obtener la muestra de predicción final. En este punto, la muestra diferencial puede añadirse a la muestra de predicción, o la muestra diferencial puede escalarse por un valor constante predeterminado, y a continuación añadirse a la muestra de predicción. El valor constante predeterminado usado al escalar puede 5 determinarse de manera diferencial dependiendo de la columna y/o fila. Por ejemplo, la muestra de predicción puede corregirse como se muestra en la Ecuación 3 y la Ecuación 4.
[Ecuación 3]
10
P,(0,y)-P(0,y)+((j?(-\,yyp(-l,-\))»\para=Q...N-\
[Ecuación 4]
P'(l,>>)=P(l,iy)+((p(-l,iy)-X-U-l))»2para>v=0...Ar-l
15
Por ejemplo, cuando el modo de intra predicción del bloque actual es el modo horizontal, pueden usarse muestras diferenciales entre la muestra vecina superior izquierda p(-1, -1) y muestras vecinas p(x, -1) adyacentes al límite superior del bloque actual para obtener la muestra de predicción final, como se describe en el caso del modo vertical. Por ejemplo, la muestra de 20 predicción puede corregirse como se muestra en la Ecuación 5 y la Ecuación 6.
[Ecuación 5]
imagen2
25
[Ecuación 6]
imagen3
30 Las Figuras 7 y 8 son vistas que ilustran un método de corrección de una muestra de predicción basándose en un filtro de corrección predeterminado de acuerdo con una realización de la presente invención.
La muestra de predicción puede corregirse basándose en la muestra vecina de la muestra de
5
10
15
20
25
30
35
predicción que es el objetivo de corrección y un filtro de corrección predeterminado. En este punto, la muestra vecina puede especificarse por una línea angular del modo de predicción direccional del bloque actual, o puede ser al menos una muestra situada en la misma línea angular que la muestra de predicción que es el objetivo de corrección. También, la muestra vecina puede ser una muestra de predicción en el bloque actual, o puede ser una muestra reconstruida en un bloque vecino reconstruido antes del bloque actual.
Al menos uno del número de derivaciones, intensidad, y un coeficiente de filtro del filtro de corrección pueden determinarse basándose en al menos uno de la posición de la muestra de predicción que es el objetivo de corrección, si la muestra de predicción que es el objetivo de corrección está situada o no en el límite del bloque actual, el modo de intra predicción del bloque actual, ángulo del modo de predicción direccional, el modo de predicción (inter o intra modo) del bloque vecino, y el tamaño/forma del bloque actual.
Haciendo referencia a la Figura 7, cuando el modo de predicción direccional tiene un índice de 2 o 34, puede usarse al menos una muestra de predicción/reconstruida situada en la parte inferior izquierda de la muestra de predicción que es el objetivo de corrección y el filtro de corrección predeterminado para obtener la muestra de predicción final. En este punto, la muestra de predicción/reconstruida en la parte inferior izquierda puede pertenecer a una línea anterior de una línea que incluye la muestra de predicción que es el objetivo de corrección. La muestra de predicción/reconstruida en la parte inferior izquierda puede pertenecer al mismo bloque que la muestra actual, o al bloque vecino adyacente al bloque actual.
La filtración para la muestra de predicción puede realizarse únicamente en la línea situada en el límite de bloque, o puede realizarse en múltiples líneas. El filtro de corrección donde al menos puede usarse uno del número de derivaciones de filtro y un coeficiente de filtro es diferente para cada una de las líneas. Por ejemplo, puede usarse un filtro (1/2, 1/2) para la primera línea izquierda más cerca al límite de bloque, puede usarse un filtro (12/16, 4/16) para la segunda línea, puede usarse un filtro (14/16, 2/16) para la tercera línea, y puede usarse un filtro (15/16, 1/16) para la cuarta línea.
Como alternativa, cuando el modo de predicción direccional tiene un índice de 3 a 6 o de 30 a 33, puede realizarse filtración en el límite de bloque como se muestra en la Figura 8, y puede usarse un filtro de corrección de 3 derivaciones para corregir la muestra de predicción. Puede realizarse filtración usando la muestra de la parte inferior izquierda de la muestra de predicción que es el objetivo de corrección, la muestra de la parte inferior de la muestra de la parte inferior izquierda, y
5
10
15
20
25
30
35
un filtro de corrección de 3 derivaciones que toma como entrada la muestra de predicción que es el objetivo de corrección. La posición de muestra vecina usada por el filtro de corrección puede determinarse de manera diferencial basándose en el modo de predicción direccional. El coeficiente de filtro del filtro de corrección puede determinarse de manera diferente dependiendo del modo de predicción direccional.
Pueden aplicarse diferentes filtros de corrección dependiendo de si el bloque vecino se codifica en el inter modo o el intra modo. Cuando el bloque vecino se codifica en el intra modo, puede usarse un método de filtración donde se proporciona más peso a la muestra de predicción, en comparación con cuando el bloque vecino se codifica en el inter modo. Por ejemplo, en el caso de que el modo de intra predicción sea 34, cuando el bloque vecino se codifica en el inter modo, puede usarse un filtro (1/2, 1/2), y cuando el bloque vecino se codifica en el intra modo, puede usarse un filtro (4/16, 12/16).
El número de líneas a filtrarse en el bloque actual puede variar dependiendo del tamaño/forma del bloque actual (por ejemplo, el bloque de codificación o el bloque de predicción). Por ejemplo, cuando el tamaño del bloque actual es igual o menor que 32x32, puede realizarse filtración en únicamente una línea en el límite de bloque; de otra manera, puede realizarse filtración en múltiples líneas que incluyen la línea en el límite de bloque.
Las Figuras 7 y 8 están basadas en el caso donde se usan los 35 modos de intra predicción en la Figura 4, aunque pueden aplicarse de manera igual/similar al caso donde se usan los modos de intra predicción extendidos.
Cuando se realiza intra predicción en un bloque actual basándose en un modo de intra predicción direccional, una muestra de predicción generada puede no reflejar las características de una instantánea original puesto que un intervalo de muestras de referencia que se usa está limitado (por ejemplo, se realiza intra predicción únicamente usando las muestras vecinas adyacentes al bloque actual). Por ejemplo, cuando existe un borde en un bloque actual o cuando aparece un nuevo objeto alrededor de un límite del bloque actual, una diferencia entre una muestra de predicción y una instantánea original puede ser grande dependiendo de una posición de una muestra de predicción en el bloque actual.
En este caso, un valor residual es relativamente grande, y por lo tanto el número de bits a codificarse/decodificarse puede aumentar. Particularmente, un valor residual en una región relativamente lejos de un límite del bloque actual puede incluir una gran cantidad de componentes
5
10
15
20
25
30
35
de alta frecuencia, que pueden dar como resultado la degradación de la eficacia de codificación/decodificación.
Para resolver los problemas anteriores, puede usarse un método de generación o actualización una muestra de predicción en unidades de sub-bloque. De acuerdo con esto, puede mejorarse la precisión de predicción en una región relativamente lejos de un límite de bloque.
Por conveniencia de explicación, en las siguientes realizaciones, una muestra de predicción generada basándose en un modo de intra predicción direccional se denomina como una primera muestra de predicción. También, una muestra de predicción generada basándose en un modo de intra predicción no direccional o una muestra de predicción generada realizando inter predicción puede incluirse también en una categoría de la primera muestra de predicción.
Un método de corrección de la muestra de predicción basándose en el desplazamiento se describirá en detalle con referencia a la Figura 9.
La Figura 16 es una vista que ilustra un método de corrección de una muestra de predicción basándose en el desplazamiento de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 9, para un bloque actual, si actualizar una primera muestra de predicción usando un desplazamiento puede determinarse en la etapa S900. Si actualizar la primera muestra de predicción usando el desplazamiento puede determinarse por una bandera decodificada desde un flujo de bits. Por ejemplo, una sintaxis ‘is_sub_block_refinement_flag’ que indica si actualizar la primera muestra de predicción usando el desplazamiento puede señalizarse a través de un flujo de bits. Cuando un valor de is_sub_block_refinement_flag es 1, puede usarse el método de actualización de la primera muestra de predicción usando el desplazamiento en el bloque actual. Cuando un valor de is_sub_block_refinement_flag es 0, no puede usarse el método de actualización de la primera muestra de predicción usando el desplazamiento en el bloque actual. Sin embargo, la etapa S900 se pretende que realice de manera selectiva la actualización de la primera muestra de predicción, y no es una configuración esencial para conseguir el fin de la presente invención, de modo que la etapa S900 puede omitirse en algunos casos.
Cuando se determina que se usa el método de actualización de la primera muestra de predicción usando el desplazamiento, un patrón de intra predicción del bloque actual puede determinarse en la etapa S910. A través del patrón de intra predicción, pueden determinarse todas o algunas regiones del bloque actual al que se aplica el desplazamiento, un tipo de partición del bloque
5
10
15
20
25
30
35
actual, si aplicar el desplazamiento a un sub-bloque incluido en el bloque actual, un tamaño/signo del desplazamiento asignado a cada sub-bloque, etc.
Uno de múltiples patrones predefinidos en el dispositivo para codificar/decodificar un vídeo pueden usarse de manera selectiva como el patrón de intra predicción del bloque actual, y para este fin, un índice que especifica el patrón de intra predicción del bloque actual puede señalizarse desde un flujo de bits. Como otro ejemplo, el patrón de intra predicción del bloque actual puede determinarse basándose en un modo de partición de una unidad de predicción o una unidad de codificación del bloque actual, un tamaño/forma del bloque, si se usa el modo de intra predicción direccional, un ángulo del modo de intra predicción direccional, etc.
Se determina mediante información de bandera predeterminada señalizada mediante un flujo de bits si se señaliza o no un índice que indica el patrón de intra predicción del bloque actual. Por ejemplo, cuando la información de bandera indica que el índice que indica el patrón de intra predicción del bloque actual se señaliza desde un flujo de bits, el patrón de intra predicción del bloque actual puede determinarse basándose en un índice decodificado desde un flujo de bits. En este punto, la información de bandera puede señalizarse en al menos uno de un nivel de instantánea, un nivel de corte y un nivel de bloque.
Cuando la información de bandera indica que el índice que indica el patrón de intra predicción del bloque actual no se señaliza desde un flujo de bits, el patrón de intra predicción del bloque actual puede determinarse basándose en el modo de partición de la unidad de predicción o la unidad de codificación del bloque actual, etc. Por ejemplo, el patrón en el que se particiona el bloque actual en sub-bloques puede ser el mismo que el patrón en el que se particiona el bloque de codificación en unidades de predicción.
Cuando se determina el patrón de intra predicción del bloque actual, el desplazamiento puede obtenerse en unidades de sub-bloque en la etapa S920. El desplazamiento puede señalizarse en unidades de un corte, una unidad de codificación, o una unidad de predicción. Como otro ejemplo, el desplazamiento puede derivarse desde una muestra vecina del bloque actual. El desplazamiento puede incluir al menos uno de información de valor de desplazamiento e información de signo de desplazamiento. En este punto, la información de valor de desplazamiento puede estar en un intervalo de números enteros iguales o mayores que cero.
Cuando se determina el desplazamiento, puede obtenerse una segunda muestra de predicción para cada sub-bloque en la etapa S930. La segunda muestra de predicción puede obtenerse
5
10
15
20
25
30
35
aplicando el desplazamiento a la primera muestra de predicción. Por ejemplo, la segunda muestra de predicción puede obtenerse añadiendo o restando el desplazamiento a o desde la primera muestra de predicción.
Las Figuras 10 a 14 son vistas que ilustran ejemplos de un patrón de intra predicción de un bloque actual de acuerdo con una realización de la presente invención.
Por ejemplo, en el ejemplo mostrado en la Figura 10, cuando el índice es ‘0’ o ‘1’, el bloque actual puede particionarse en sub-bloques superiores e inferiores. El desplazamiento no puede establecerse al sub-bloque superior, y el desplazamiento ‘f puede establecerse al sub-bloque inferior. Por lo tanto, la primera muestra de predicción (P(i,j)) puede usarse como está en el subbloque superior, y la segunda muestra de predicción (P(i,j)+f o P(i,j)-f) que se genera añadiendo o restando el desplazamiento a o desde la primera muestra de predicción puede usarse en el subbloque inferior. En la presente invención, ‘no establecido’ puede significar que el desplazamiento no se asigna al bloque, o puede asignarse el desplazamiento que tiene el valor de ‘0’ al bloque.
Cuando el índice es ‘2’ o ‘3’, el bloque actual se particiona en sub-bloques izquierdo y derecho. El desplazamiento no puede establecerse para el sub-bloque izquierdo, y el desplazamiento ‘f puede establecerse para el sub-bloque derecho. Por lo tanto, la primera muestra de predicción (P(i,j)) puede usarse como está en el sub-bloque izquierdo, y la segunda muestra de predicción (P(i,j)+f o P(i,j)-f) que se genera añadiendo o restando el desplazamiento a o desde la primera muestra de predicción puede usarse en el sub-bloque derecho.
El intervalo de patrones de intra predicción disponible puede limitarse basándose en el modo de intra predicción del bloque actual. Por ejemplo, cuando el modo de intra predicción del bloque actual es un modo de intra predicción de dirección vertical o un modo de predicción en una dirección similar al modo de intra predicción de dirección vertical (por ejemplo, entre los 33 modos de predicción direccional, cuando el modo de intra predicción tiene un índice de 22 a 30), únicamente el patrón de intra predicción que particiona el bloque actual en una dirección horizontal (por ejemplo, el índice 0 o el índice 1 en la Figura 17) puede aplicarse al bloque actual.
Como otro ejemplo, cuando el modo de intra predicción del bloque actual es un modo de intra predicción de dirección horizontal o un modo de predicción en una dirección similar al modo de intra predicción de dirección horizontal (por ejemplo, entre los 33 modos de predicción direccional, cuando el modo de intra predicción tiene un índice de 6 a 14), únicamente el patrón de intra predicción que particiona el bloque actual en una dirección vertical (por ejemplo, el índice 2 o el índice 3 en la Figura 17) puede aplicarse al bloque actual.
5
10
15
20
25
30
35
En la Figura 10, el desplazamiento no se establece para uno de los sub-bloques incluidos en el bloque actual, sino que se establece para el otro. Si establecer el desplazamiento para el subbloque puede determinarse basándose en información señalizada para cada sub-bloque.
Si establecer el desplazamiento para el sub-bloque puede determinarse basándose en una posición del sub-bloque, un índice para identificar el sub-bloque en el bloque actual, etc. Por ejemplo, basándose en un límite predeterminado del bloque actual, el desplazamiento no puede establecerse para el sub-bloque que es adyacente al límite predeterminado, y el desplazamiento puede establecerse para el sub-bloque que no es adyacente el límite predeterminado.
Cuando se supone que el límite predeterminado es el límite superior del bloque actual, bajo el patrón de intra predicción que corresponde al índice ‘0’ o ‘1’, el desplazamiento no puede establecerse para el sub-bloque que es adyacente al límite superior del bloque actual, y el desplazamiento puede establecerse para el sub-bloque que no es adyacente al límite superior del bloque actual.
Cuando se supone que el límite predeterminado es el límite izquierdo del bloque actual, bajo el patrón de intra predicción que corresponde al índice ‘2’ o ‘3’, el desplazamiento no puede establecerse para el sub-bloque que es adyacente al límite izquierdo del bloque actual, y el desplazamiento puede establecerse para el sub-bloque que no es adyacente al límite izquierdo del bloque actual.
En la Figura 10, se supone que el desplazamiento no se establece para uno de los sub-bloques incluidos en el bloque actual sino que el desplazamiento se establece para el otro. Como otro ejemplo, pueden establecerse diferentes valores del desplazamiento para los sub-bloques incluidos en el bloque actual.
Un ejemplo donde se establece diferente desplazamiento para cada sub-bloque se describirá con referencia a la Figura 11.
Haciendo referencia a la Figura 11, cuando el índice es ‘0’ o ‘1’, el desplazamiento ‘h’ puede establecerse para el sub-bloque superior del bloque actual, y el desplazamiento ‘f’ puede establecerse para el sub-bloque inferior del bloque actual. Por lo tanto, la segunda muestra de predicción (P(i,j)+h o P(i,j)-h) puede generarse añadiendo o restando el desplazamiento ‘h’ a o desde la primera muestra de predicción en el sub-bloque superior, y la segunda muestra de
5
10
15
20
25
30
35
predicción (P(i,j)+f o P(i,j)-f) puede generarse añadiendo o restando el desplazamiento ‘f a o desde la primera muestra de predicción.
Haciendo referencia a la Figura 11, cuando el índice es ‘2’ o ‘3’, el desplazamiento ‘h’ puede establecerse para el sub-bloque izquierdo del bloque actual, y el desplazamiento ‘f puede establecerse para el sub-bloque derecho del bloque actual. Por lo tanto, la segunda muestra de predicción (P(i,j)+h o P(i,j)-h) puede generarse añadiendo o restando el desplazamiento ‘h’ a o desde la primera muestra de predicción que puede estar en el sub-bloque izquierdo, y la segunda muestra de predicción(P(i,j)+f o P(i,j)-f) puede generarse añadiendo o restando el desplazamiento ‘f a o desde la primera muestra de predicción en el sub-bloque derecho.
En las Figuras 10 y 11, el bloque actual se particiona en dos sub-bloques que tienen el mismo tamaño, pero el número de sub-bloques y/o el tamaño de sub-bloques incluidos en el bloque actual no está limitado a los ejemplos mostrados en las Figuras 10 y 11. El número de subbloques incluidos en el bloque actual pueden ser tres o más, y los sub-bloques pueden tener diferentes tamaños.
Cuando están disponibles múltiples patrones de intra predicción, los patrones de intra predicción disponibles pueden agruparse en múltiples categorías. En este caso, el patrón de intra predicción del bloque actual puede seleccionarse basándose en un primer índice para identificar una categoría y un segundo índice que identifica un patrón de intra predicción en la categoría.
Un ejemplo donde se determina el patrón de intra predicción del bloque actual basándose en el primer índice y el segundo índice se describirá con referencia a la Figura 12.
En el ejemplo mostrado en la Figura 12, pueden clasificarse 12 patrones de intra predicción en tres categorías incluyendo cada una cuatro patrones de intra predicción. Por ejemplo, los patrones de intra predicción que corresponden a los índices 0 a 3 pueden clasificarse como una categoría 0, los patrones de intra predicción que corresponden a los índices 4 a 7 pueden clasificarse como una categoría 1, y los patrones de intra predicción que corresponden a los índices 8 a 11 pueden clasificarse como una categoría 2.
El dispositivo para decodificar un vídeo puede decodificar el primer índice desde un flujo de bits para especificar la categoría que incluye al menos uno patrón de intra predicción. En el ejemplo mostrado en la Figura 12, el primer índice puede especificar una de las categorías 0, 1, y 2.
5
10
15
20
25
30
35
Cuando la categoría se especifica basándose en el primer índice, el patrón de intra predicción del bloque actual puede determinarse basándose en el segundo índice decodificado desde un flujo de bits. Cuando la categoría 1 se especifica por el primer índice, el segundo índice puede especificar uno de los cuatro patrones de intra predicción (es decir, el índice 4 al índice 7) de la categoría 1.
En la Figura 12, muestra que las categorías incluyen los mismos números de patrones de intra predicción. Aunque no hay necesidad de que las categorías incluyan los mismos números de patrones de intra predicción.
El número de patrones de intra predicción disponible o el número de categorías puede determinarse en unidades de una secuencia o un corte. También, al menos uno del número de patrones de intra predicción disponible y el número de categorías puede señalizarse a través de un encabezamiento de secuencia o un encabezamiento de corte.
Como otro ejemplo, el número de patrones de intra predicción disponible y/o el número de categorías puede determinarse basándose en un tamaño de una unidad de predicción o una unidad de codificación del bloque actual. Por ejemplo, cuando el tamaño del bloque actual (por ejemplo, la unidad de codificación del bloque actual) es igual o mayor que 64x64, el patrón de intra predicción del bloque actual puede seleccionarse a partir de cinco patrones de intra predicción mostrados en la Figura 13. En contraste, cuando el tamaño del bloque actual (por ejemplo, la unidad de codificación del bloque actual) es menor que 64x64, el patrón de intra predicción del bloque actual puede seleccionarse desde patrones de intra predicción mostrados en la Figura 10, 11, o 12.
En las Figuras 10 a 13, se representa que los sub-bloques incluidos en cada patrón de intra predicción tienen una forma rectangular. Como otro ejemplo, puede usarse el patrón de intra predicción donde al menos uno de los tamaños y formas de los sub-bloques son diferentes entre sí. Por ejemplo, la Figura 14 es una vista que ilustra un ejemplo de un patrón de intra predicción con diferentes tamaños y formas de sub-bloques.
El desplazamiento para cada sub-bloque (por ejemplo, el desplazamiento h, f, g, o i de cada subbloque mostrado en las Figuras 10 a 14) puede decodificarse desde un flujo de bits, o puede derivarse desde la muestra vecina adyacente al bloque actual.
Como otro ejemplo, el desplazamiento del sub-bloque puede determinarse considerando la distancia desde una muestra en una posición particular en el bloque actual. Por ejemplo, el
5
10
15
20
25
30
35
desplazamiento puede determinarse en proporción a un valor que representa la distancia entre una muestra en una posición predeterminada en el bloque actual y una muestra en una posición predeterminada en el sub-bloque.
Como otro ejemplo, el desplazamiento del sub-bloque puede determinarse añadiendo o restando un valor determinado basándose en la distancia entre una muestra en una posición predeterminada en el bloque actual y una muestra en una posición predeterminada en el subbloque a o desde un valor preestablecido.
Como otro ejemplo, el desplazamiento puede determinarse basándose en una proporción de un valor que representa el tamaño del bloque actual y un valor que representa la distancia entre una muestra en una posición predeterminada en el bloque actual y una muestra en una posición predeterminada en el sub-bloque.
En este punto, la muestra en la posición predeterminada en el bloque actual puede incluir una muestra adyacente al límite izquierdo del bloque actual, una muestra situada en el límite superior del bloque actual, una muestra adyacente a la esquina superior izquierda del bloque actual, etc.
La Figura 15 es una vista que ilustra un método de realización de predicción usando un esquema de copia de intra bloque de acuerdo con una realización de la presente invención.
La copia de intra bloque (IBC) es un método donde se predice/reconstruye un bloque actual usando un bloque (en lo sucesivo, denominado como ‘un bloque de referencia’) ya reconstruido en la misma instantánea como el bloque actual. Si una instantánea contiene un gran número de letras, tal como alfabeto coreano, un alfabeto, etc. y una letra que está contenida en el bloque actual cuando se reconstruye el bloque actual está contenida en un bloque ya decodificado, la copia de intra bloque puede mejorar un rendimiento de codificación/decodificación.
Un método de copia de intra bloque puede clasificarse como un método de intra predicción o un método de inter predicción. Cuando el método de copia de intra bloque se clasifica como el método de intra predicción, puede definirse un modo de intra predicción para el método de copia de intra bloque. Cuando el método de copia de intra bloque se clasifica como el método de inter predicción, un flujo de bits puede incluir una bandera que indica si aplicar el método de copia de intra bloque al bloque actual. Como alternativa, si el bloque actual usa copia de intra bloque puede confirmarse a través de un índice de instantánea de referencia del bloque actual. Es decir, cuando el índice de instantánea de referencia del bloque actual indica la instantánea actual, puede realizarse inter predicción en el bloque actual usando copia de intra bloque. Para este fin, puede
5
10
15
20
25
30
35
añadirse una instantánea actual previamente reconstruida a una lista de instantáneas de referencia para el bloque actual. La instantánea actual puede existir en una posición fijada en la lista de instantáneas de referencia (por ejemplo, una posición con el índice de instantánea de referencia de 0 o la última posición). Como alternativa, la instantánea actual puede tener una posición variable en la lista de instantáneas de referencia, y para este fin, puede señalizarse un índice de instantánea de referencia que indica una posición de la instantánea actual, de manera separada.
Para especificar el bloque de referencia del bloque actual, puede definirse una diferencia de posición entre el bloque actual y el bloque de referencia como un vector de movimiento (en lo sucesivo, denominado como un vector de bloque).
El vector de bloque puede derivarse por una suma de un vector de bloque de predicción y un vector de bloque diferencial. El dispositivo para codificar un vídeo puede generar un vector de bloque de predicción a través de codificación predictiva, y puede codificar el vector de bloque diferencial que indica la diferencia entre el vector de bloque y el vector de bloque de predicción. En este caso, el dispositivo para decodificar un vídeo puede derivar el vector de bloque del bloque actual usando el vector de bloque de predicción derivado usando información predecodificada y el vector de bloque diferencial decodificado desde un flujo de bits.
En este punto, el vector de bloque de predicción puede derivarse basándose en el vector de bloque de un bloque vecino adyacente al bloque actual, el vector de bloque en una LCU del bloque actual, el vector de bloque en una fila/columna de LCU del bloque actual, etc.
El dispositivo para codificar un vídeo puede codificar el vector de bloque sin realizar codificación predictiva del vector de bloque. En este caso, el dispositivo para decodificar un vídeo puede obtener el vector de bloque decodificando la información de vector de bloque señalizada a través de un flujo de bits. El proceso de corrección puede realizarse en la muestra de predicción/reconstruida generada a través del método de copia de intra bloque. En este caso, el método de corrección descrito con referencia a las Figuras 6 a 14 puede aplicarse de manera igual/similar, y por lo tanto se omitirá la descripción detallada del mismo.
La Figura 16 muestra un intervalo de muestras de referencia para intra predicción de acuerdo con una realización a la que se aplica la presente invención.
Haciendo referencia a la Figura 16, puede realizarse intra predicción usando las muestras de
5
10
15
20
25
30
35
referencia P (-1, -1), P (-1, y) (0 <= y <= 2N-1) y P (x, -1) (0 <= x <= 2N-1) localizadas en un límite de un bloque actual. En este momento, se realiza de manera selectiva filtración en muestras de referencia basándose en al menos uno de un modo de intra predicción (por ejemplo, índice, direccionalidad, ángulo, etc., del modo de intra predicción) del bloque actual o un tamaño de un bloque de transformada relacionado con el bloque actual.
Al menos uno de una pluralidad de candidatos de intra filtro puede seleccionarse para realizar filtración en muestras de referencia. En este punto, la pluralidad de candidatos de intra-filtro puede diferenciarse unos de los otros en al menos uno de una intensidad de filtro, un coeficiente de filtro o un número de derivación (por ejemplo, un número de coeficientes de filtro, una longitud de filtro). Una pluralidad de candidatos de intra-filtro puede definirse en al menos uno de una secuencia, una instantánea, un corte, o un nivel de bloque. Es decir, una secuencia, una instantánea, un corte, o un bloque en el que el bloque actual está incluido puede usar la misma pluralidad de candidatos de intra-filtro.
En lo sucesivo, por conveniencia de explicación, se supone que una pluralidad de candidatos de intra-filtro incluye un primer intra-filtro y un segundo intra-filtro. Se supone que el primer intra-filtro es un filtro (1,2,1) de 3 derivaciones y el segundo intra-filtro es un filtro (2,3,6,3,2) de 5 derivaciones.
Cuando se filtran muestras de referencia aplicando un primer intra-filtro, las muestras de referencia filtradas pueden derivarse como se muestra en la Ecuación 7.
[Ecuación 7]
P(-l,-l)=(P(-l,0)+2P(-l,-l)+P(0,-l)+2)»2
P(-1 ,yy=(P( -1 ,y+1 )+2P(-1 ,y)+P(-l,y-l)+2)»2
P(x,-1 )=(P<>+11 )+2P(x,~ 1 )+p(jc-11 )+2)»2
Cuando se filtran muestras de referencia aplicando el segundo intra-filtro, las muestras de referencia filtradas pueden derivarse como se muestra en la siguiente ecuación 8.
[Ecuación 8]
5
10
15
20
25
30
35
P(-hy) = (2P(-hy+2)+3P(-l,y+l)+6P(-l,y)+3P(-l,y-l)+2P(-l,y-2)+8)»4
P(x,~ 1 )=(2P(x+2,-1 )+3P(x+11 )+6P(x,-1 )+3P(>-11 )+2P(x-2,-1 )+8)»4
Basándose en una posición de una muestra de referencia, puede determinarse uno de una pluralidad de candidatos de intra-filtro y usarse para realizar filtración en la muestra de referencia usando el determinado. Por ejemplo, un primer intra-filtro puede aplicarse a una muestra de referencia en un límite de un bloque actual, y un segundo intra-filtro puede aplicarse a otras muestras de referencia. Específicamente, como se muestra en la Figura 17, la filtración en muestras de referencia P (-1, -1), P (-1,0), P (-1,1), ... , P (-1, N-1) y P (0, -1), P (1, -1), ... se realiza aplicando un primer intra-filtro como se muestra en la Ecuación 7, y la filtración en las otras muestras de referencia se realiza aplicando un segundo filtro de referencia como se muestra en la Ecuación 8.
Es posible seleccionar uno de una pluralidad de candidatos de intra-filtro basándose en un tipo de transformada usada para un bloque actual, y realizar filtración en muestras de referencia usando la seleccionada. En este punto, el tipo de transformada puede significar (1) un esquema de transformada como DCT, DST o KLT, (2) un indicador de modo de transformada tal como una transformada 2D, transformada 1D o no transformada o (3) el número de transformadas tal como una primera transformada y una segunda transformada. En lo sucesivo, por conveniencia de descripción, se supone que el tipo de transformada significa el esquema de transformada tal como DCT, DST y KLT.
Por ejemplo, si un bloque actual se codifica usando una DCT, puede realizarse filtración usando un primer intra-filtro, y si un bloque actual se codifica usando una DST, puede realizarse filtración usando un segundo intra-filtro. O, si un bloque actual se codifica usando DCT o DST, puede realizarse filtración usando un primer-intra filtro, y si el bloque actual se codifica usando una KLT, puede realizarse filtración usando un segundo intra-filtro.
Puede realizarse filtración usando un filtro seleccionado basándose en un tipo de transformada de un bloque actual y una posición de una muestra de referencia. Por ejemplo, si un bloque actual se codifica usando una DCT, puede realizarse la filtración en muestras de referencia P (-1, -1), P (-
5
10
15
20
25
30
35
1,0), P (-1,1), ... , P (-1, N-1) y P (0, -1), P (1, -1), ... , P (N-1, -1) usando un primer intra-filtro, y puede realizarse filtración en otras muestras de referencia usando un segundo-intra filtro. Si un bloque actual se codifica usando una DST, puede realizarse filtración en muestras de referencia P (-1, -1), P (-1,0), P (-1,1), ... , P (-1, N-1) y P (0, -1), P (1, -1), ... , P (N-1, -1) usando un segundo intra-filtro, y puede realizarse filtración en otras muestras de referencia usando un primer intra- filtro.
Uno de una pluralidad de candidatos de intra-filtro puede seleccionarse basándose en si un tipo de transformada de un bloque vecino que incluye una muestra de referencia es el mismo que un tipo de transformada de un bloque actual, y puede realizarse la filtración usando el candidato de intra- filtro seleccionado. Por ejemplo, cuando un bloque actual y un bloque vecino usan el mismo tipo de transformada, se realiza filtración usando un primer intra-filtro, y cuando los tipos de transformada de un bloque actual y de un bloque vecino son diferentes entre sí, puede usarse el segundo intra-filtro para realizar filtración.
Es posible seleccionar uno cualquiera de una pluralidad de candidatos de intra filtro basándose en un tipo de transformada de un bloque vecino y realizar filtración en una muestra de referencia usando el seleccionado. Es decir, puede seleccionarse un filtro específico en consideración de un tipo de transformada de un bloque en el que está incluida una muestra de referencia. Por ejemplo, como se muestra en la Figura 18, si un bloque adyacente a la izquierda / inferior izquierda de un bloque actual es un bloque codificado usando una DCT, y un bloque adyacente a la parte superior / superior derecha de un bloque actual es un bloque codificado usando una DST, se realiza filtración en muestras de referencia adyacentes a la izquierda / inferior izquierda de un bloque actual aplicando un primer intra filtro y se realiza filtración en muestras de referencia adyacentes a la parte superior / parte superior derecha de un bloque actual aplicando un segundo intra filtro.
En unidades de una región predeterminada, puede definirse un filtro usable en la correspondiente región. En el presente documento, la unidad de la región predeterminada puede ser una cualquiera de una secuencia, una instantánea, un corte, un grupo de bloques (por ejemplo, una fila de unidades de árbol de codificación) o un bloque (por ejemplo, una unidad de árbol de codificación) o, puede definirse otra región que comparte uno o más filtros. Una muestra de referencia puede filtrarse usando un filtro mapeado a una región en la que un bloque actual está incluido.
Por ejemplo, como se muestra en la Figura 19, es posible realizar filtración en muestras de referencia usando diferentes filtros en unidades de CTU. En este caso, la información que indica si
5
10
15
20
25
30
35
se usa el mismo filtro en una secuencia o una instantánea, un tipo de filtro usado para cada CTU, un índice que especifica un filtro usado en la correspondiente CTU entre unos candidatos intra filtro disponibles puede señalizarse mediante un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de instantánea (PPS).
Un modo de intra-predicción puede usarse de manera eficaz cuando una instantánea actual no tiene continuidad con una instantánea anterior o cuando una instantánea actual incluye una textura que tiene direccionalidad. Particularmente, cuando una instantánea actual incluye una textura que tiene direccionalidad, un modo de intra-predicción del bloque actual es probable que tenga la dirección idéntica o similar como un modo de intra-predicción de un bloque vecino. Por consiguiente, un modo de intra-predicción de un bloque actual puede codificarse/decodificarse basándose en un modo de intra-predicción de un bloque vecino. Específicamente, un modo de intra-predicción de un bloque actual puede codificarse/decodificarse basándose en una pluralidad de candidatos de MPM (modo Más Probable) generados basándose en un modo de intra- predicción de un bloque vecino.
Por ejemplo, en el proceso de codificación, cuando un modo de intra-predicción de un bloque actual es idéntico a uno cualquiera de candidatos de MPM, el modo de intra-predicción del bloque actual puede codificarse seleccionando un candidato de MPM idéntico al modo de intra-predicción del bloque actual. En este punto, el codificador puede codificar información de índice (por ejemplo, 'mpm_idx') que indica un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre una pluralidad de candidatos de MPM. La información de índice puede señalizarse a través de un flujo de bits.
En el proceso de decodificación, puede derivarse un modo de intra-predicción del bloque actual por información que indica si uno cualquiera de candidatos de MPM se usa como un modo de intra-predicción de un bloque actual, y por información de índice (por ejemplo, 'mpm_idx'). En este punto, la información que indica si se usa uno cualquiera de candidatos de MPM como el modo de intra-predicción de un bloque actual puede ser una bandera de 1 bit (por ejemplo, 'prev_intra_luma_pred_flag'), aunque no está limitada a lo mismo.
Para derivar un modo de intra-predicción de un bloque actual, puede usarse una pluralidad de candidatos de MPM. Un número de candidatos de MPM puede ser un número fijo, y puede ser un número variable por una secuencia, un corte, o un bloque objetivo a codificarse.
Por ejemplo, un número de candidatos de MPM puede determinarse basándose en información
5
10
15
20
25
30
35
señalizada desde un flujo de bits. Un número de candidatos de MPM puede determinarse por secuencia/corte por un elemento de sintaxis, 'num_mpm_idx,' señalizado por unidad de una secuencia/corte.
Un número de candidatos de MPM usados para derivar un modo de intra-predicción de un bloque actual puede ser un número de 3 a 6, aunque no está limitado a los mismos. También es posible usar más de 6 candidatos de MPM.
En lo sucesivo, suponiendo que se usan modos de intra-predicción extendidos ilustrados en la Figura 4, se describirá en detalle un método para derivar un modo de intra-predicción de un bloque actual usando candidatos de MPM. Las realizaciones descritas a continuación pueden aplicarse no únicamente cuando se usa un número mayor de modos de intra-predicción que aquellos mostrados en la Figura 4 sino también cuando se usa un número menor de modos de intra-predicción que aquellos mostrados en la Figura 4.
La Figura 20 es un diagrama de flujo que ilustra un método de derivación de un modo de intra- predicción de un bloque actual, de acuerdo con una realización de la presente invención.
Haciendo referencia a la Figura 20, en primer lugar, se derivan candidatos de MPM usando un modo de intra-predicción de un bloque vecino adyacente a un bloque actual (S2010). En este punto, un bloque vecino adyacente a un bloque actual pueden ser bloques que se han decodificado más antes que un bloque actual, y puede incluir un bloque vecino superior adyacente a la parte superior de un bloque actual, y un bloque vecino izquierdo adyacente a la izquierda de un bloque actual.
En este punto, un bloque vecino superior adyacente a un lado superior de un bloque actual puede incluir no únicamente un bloque vecino adjunto a un límite superior de un bloque actual sino también un bloque vecino adyacente a una esquina superior de un bloque actual (por ejemplo, una esquina superior izquierda de un bloque actual o una esquina superior derecha de un bloque actual). Además, cuando un límite superior de un bloque actual se extiende por una longitud predeterminada, un bloque adjunto a un límite superior extendido o un bloque que incluye coordenadas que corresponden a un límite superior extendido puede inferirse como un bloque vecino superior de un bloque actual.
Un bloque vecino izquierdo adyacente a un lado izquierdo de un bloque actual puede incluir no únicamente un bloque vecino adjunto a un límite izquierdo de un bloque actual sino también un
bloque vecino adyacente a una esquina izquierda de un bloque actual (por ejemplo, una esquina superior izquierda de un bloque actual o una esquina inferior izquierda de un bloque actual). Además, cuando un límite izquierdo de un bloque actual se extiende una longitud predeterminada, un bloque adjunto a un límite izquierdo extendido o un bloque que incluye coordenadas que 5 corresponden a un límite izquierdo extendido puede denominarse como un bloque vecino izquierdo de un bloque actual.
Los candidatos de MPM de un bloque actual pueden generarse usando al menos uno de un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción 10 de bloques vecinos adyacentes a un bloque actual, un modo de intra-predicción que tiene un valor más grande entre modos de intra-predicción de bloques vecinos adyacentes a un bloque actual o un modo de intra-predicción que tiene un valor más pequeño entre modos de intra-predicción de bloques vecinos adyacentes a un bloque actual.
15 Por ejemplo, la Tabla 3 muestra un ejemplo en el que se determinan candidatos de MPM basándose en modo de intra-predicción de bloques vecinos.
[Tabla 3]
20
Condición MPM0 (mpm_i dx =0) MPM1 (mpm_i dx =1) MPM2 (mpm_idx= 2) MPM3 (mpm_idx= 3) MPM4 (mpm_idx= 4) MPM5 (mpm_idx= 5)
L= A
L * planar y L * CC L Planar L+1 L-1 L+2 CC
De lo contrario planar CC Ver Hor 2 18
L * A
L * planar y R * L=CC o A=CC L A Planar Max-1 Max+1 Max+2
planar de lo contrari o L A Planar CC Max+1 Min-1
de lo L+A<2 L A Ver Hor 2 18
contrari o de lo contrari o L A CC Max-1 Max+1 Max+2
En la Tabla 3, L indica un modo de intra-pred
icción que tiene una frecuencia de aparición más alta
entre modos de intra-predicción de bloques vecinos izquierdos, y A indica un modo de intra-
5
10
15
20
25
30
35
predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques vecinos superiores. Max indica un modo de intra-predicción más grande entre modos de intra-predicción de bloques vecinos izquierdos y bloques vecinos superiores, y Min indica un modo de intra-predicción más pequeño de los modos de intra-predicción de bloques vecinos izquierdos y bloques vecinos superiores. En la Tablea 3, se ejemplifica que se generan 6 candidatos de MPM. Sin embargo, también es posible derivar un modo de intra-predicción de un bloque actual generando menos o más candidatos de MPM.
Además, en lugar de determinar L o A basándose en frecuencia de aparición de un modo de intra- predicción, un modo de intra-predicción de un bloque vecino en una posición específica puede determinarse como L o A.
Haciendo referencia a un ejemplo mostrado en la Tabla 3, pueden determinarse candidatos de MPM basándose en si unos modos de intra-predicción L y A son idénticos.
Por ejemplo, cuando L y A son idénticos, y L y A son modos direccionales (es decir, ni Planar ni CC), los candidatos de MPM de un bloque actual pueden incluir al menos uno de L, un modo de intra-predicción que tiene una dirección similar a L, un modo planar y un modo de CC. En este punto, un modo de intra-predicción que tiene una dirección similar a un modo de intra-predicción L significa un modo de intra-predicción en el que una diferencia desde el modo de intra-predicción L es igual o menor que un valor umbral. Por ejemplo, un modo de intra-predicción similar a un modo de intra-predicción L puede incluir L+1, L-1, L+2, o L-2, y así sucesivamente. En la Tabla 3, se ejemplifica que se generan 6 candidatos de MPM tales como L, Planar, L+1, L-1, L+2 y CC.
Cuando L y A son idénticos, y L y A son modos no direccionales (es decir, Planar o CC), los candidatos de MPM de un bloque actual pueden incluir al menos uno de un modo Planar, un modo de CC y un modo direccional preestablecido. En este punto, un modo direccional preestablecido puede incluir Vertical y Horizontal, y puede incluir modos direccionales diagonales (por ejemplo, 2, 34 o 66, etc.). Como alternativa, un modo direccional preestablecido puede tener una dirección diferente de los ejemplos anteriores. En la Tabla 3, se ejemplifica que se generan 6 candidatos de MPM tales como Planar, CC, Vertical (Ver), Horizontal (Hor), 2 y 18.
Cuando L y A no son idénticos, cada uno de L y A puede establecerse como un candidato de MPM. Además, basándose en si L y A son modos no direccionales, al menos uno de Planar, CC, Max, un modo de intra-predicción similar a Max, Min o un modo de intra-predicción similar a Min puede generarse como un candidato de MPM.
5
10
15
20
25
30
35
Por ejemplo, cuando L y A no son idénticos, y L y A no son modos Planares, pero L o A son CC, al menos uno de L, A, Planar, Max o un modo de intra-predicción similar a Max puede generarse como un candidato de MPM. En Tabla 3, se ejemplifica que se generan 6 candidatos de MPM tales como L, A, Planar, Max-1, Max+1 y Max+2.
Cuando L y A no son idénticos, y L y A no son ni Planar ni CC, al menos uno de L, A, modo no direccional, Max, Min, un modo de intra-predicción similar a Max o un modo de intra-predicción similar a Min puede generarse como un candidato de MPM. En la Tabla 3, se ejemplifica que se generan 6 candidatos de MPM tal como L, A, Planar, CC, Max+1, y Min-1.
Cuando L y A no son idénticos sino ambos de L y A son modos no direccionales (es decir, uno de L y A es Planar y el otro es CC, es decir, L+A<2), L, A y el modo direccional preestablecido pueden generarse como un candidato de MPM. En la Tabla 3, se ejemplifica que se generan 6 candidatos de MPM tal como L, A, Vertical (Ver), Horizontal (Hor), 2 y 18.
Cuando L y A no son idénticos, uno de L y L es un modo planar y el otro es un modo direccional, al menos uno de L, A, CC, Max o un modo de intra-predicción similar a Max puede generarse como un candidato de MPM. En la Tabla 3, se ejemplifica que se generan 6 candidatos de MPM tal como L, A, CC, Max-1, Max+1 y Max+2.
En lo sucesivo, haciendo referencia a ejemplos de la Figura 21, se describirán en detalle ejemplos para generar candidatos de MPM.
La Figura 21 es un diagrama para explicar un ejemplo en el que se genera un candidato de MPM usando un modo de intra-predicción de un bloque vecino adyacente a un bloque actual.
En la Figura 21, se ejemplifica que está presente una pluralidad de bloques vecinos izquierdos y una pluralidad de bloques vecinos superiores adyacentes al bloque actual.
Haciendo referencia a la Figura 21, un modo de intra-predicción 'L' que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques vecinos izquierdos es 10. Un modo de intra-predicción 'A' que tiene una frecuencia de aparición más alta entre modos de intra- predicción de bloques vecinos superiores es 26. Además, un modo de intra-predicción más grande 'Max' para bloques vecinos izquierdos y bloques vecinos superiores es 26, y un modo de intra- predicción más pequeño 'Min' para bloques vecinos izquierdos y bloques vecinos superiores es 0.
5
10
15
20
25
30
35
Aplicando lo anterior al ejemplo mostrado en la Tabla 3, pueden generarse 10, 26, Planar, 25, 27 y 29 como candidatos de MPM para un bloque actual.
Un bloque vecino usado para generar candidatos de MPM de un bloque actual puede limitarse a bloques vecinos incluidos en una misma unidad de árbol de codificación como un bloque actual. En este punto, un bloque actual es adyacente a unos límites izquierdo y superior de una unidad de árbol de codificación, y puede no haber bloque vecino adyacente a la izquierda o a la parte superior del bloque actual en la unidad de árbol de codificación. Como alternativa, cuando un bloque vecino adyacente a la izquierda o a la parte superior de un bloque actual no puede ser un bloque codificado por modo de intra-predicción, un modo de intra-predicción del bloque vecino adyacente al bloque actual no puede usarse. En este caso, pueden generarse candidatos de MPM de un bloque actual basándose en modos predefinidos. En este punto, los modos predefinidos pueden incluir al menos uno de CC, Planar, Vertical, u Horizontal.
Por ejemplo, cuando no hay bloques vecinos izquierdos y bloques vecinos superiores adyacentes a un bloque actual, se supone que L es Planar y A es CC, y se generan candidatos de MPM del bloque actual de acuerdo con reglas ejemplificadas en la Tabla 3.
Unos modos de intra-predicción de uno de bloques vecinos superiores y bloques vecinos izquierdos pueden usarse cando se generan candidatos de MPM, aunque el otro puede no estar disponible cuando se generan candidatos de MPM. Un modo de intra-predicción no disponible puede sustituirse por un modo de intra-predicción disponible, de esta manera pueden generarse candidatos de MPM de un bloque actual.
Específicamente, para generar candidatos de MPM de un bloque actual, cuando un modo de intra- predicción de un bloque vecino superior o un modo de intra-predicción de un bloque vecino izquierdo no está disponible, pueden generarse candidatos de MPM del bloque actual basándose en un bloque más cerca de un bloque vecino del cual el modo de intra-predicción no está disponible o un modo de intra-predicción de un bloque más adyacente a un bloque vecino del cual el modo de intra-predicción no está disponible.
Por ejemplo, cuando un modo de intra-predicción de un bloque vecino superior de un bloque actual no está disponible, un modo de intra-predicción de un bloque vecino izquierdo más cerca (o más adyacente) a los bloques vecinos superiores puede usarse en lugar del modo de intra- predicción del bloque vecino superior. Además, cuando un modo de intra-predicción de un bloque vecino izquierdo de un bloque actual no está disponible, un modo de intra-predicción de un bloque
5
10
15
20
25
30
35
vecino superior más cercano (o más adyacente) al bloque vecino izquierdo puede usarse en lugar del modo de intra-predicción del bloque vecino izquierdo.
La Figura 22 es un diagrama que muestra un ejemplo de generación de candidatos de MPM cuando un modo de intra-predicción de un bloque vecino superior o un bloque vecino izquierdo adyacente a un bloque actual no está disponible.
Cuando un modo de intra-predicción de un bloque vecino superior no está disponible, un modo de intra-predicción de un bloque vecino izquierdo más cerca de los bloques vecinos superiores (es decir, un bloque más cerca de un límite superior de un bloque actual) entre bloques vecinos izquierdos de un bloque actual puede establecerse como un modo de intra-predicción A.
Por ejemplo, haciendo referencia a un ejemplo (a) mostrado en la Figura 22, un modo de intra- predicción L que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques vecinos izquierdos es 10, y un modo de intra-predicción A es 10 que es un modo de intra- predicción de un bloque vecino izquierdo más cerca de un bloque vecino superior. Cuando se determinan A y L, pueden determinarse candidatos de MPM de un bloque actual de acuerdo con los ejemplos de la Tabla 3.
Cuando un modo de intra-predicción de un bloque vecino superior no está disponible pero hay una pluralidad de bloques vecinos izquierdos adyacentes a un bloque actual, un decodificador puede obtener secuencialmente modos de intra-predicción de los bloques vecinos izquierdos. Es decir, un decodificador puede obtener modos de intra-predicción de bloques vecinos izquierdos en un orden de adyacencia a un bloque vecino superior (o el bloque vecino izquierdo superior de un bloque actual).
Por ejemplo, en un ejemplo (a) mostrado en la Figura 23, un decodificador puede obtener secuencialmente, empezando desde un bloque superior izquierdo de un bloque actual, modos de intra-predicción de bloques vecinos localizados por debajo del bloque superior izquierdo, y a continuación, puede obtener modos de intra-predicción de bloques vecinos localizados por encima del bloque superior izquierdo. Por consiguiente, en un ejemplo (a) mostrado en la Figura 23, se obtiene un modo de intra-predicción de bloques vecinos izquierdos en un orden de A0, A1, A2, A3, A4, B0, B1, entre los que un modo de intra-predicción primeramente disponible puede usarse en lugar de un modo de intra-predicción (o modo de intra-predicción A) de los bloques vecinos superiores.
5
10
15
20
25
30
35
Cuando un modo de intra-predicción de un bloque vecino izquierdo no está disponible, un modo de intra-predicción de un bloque más cerca al bloque vecino izquierdo (es decir, un bloque más cerca de un límite izquierdo de un bloque actual) entre bloques vecinos superiores de un bloque actual puede establecerse como un modo de intra-predicción L.
Por ejemplo, haciendo referencia a un ejemplo (b) mostrado en la Figura 22, un modo de intra- predicción A que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques vecinos superiores es 26, y un modo de intra-predicción L es 26 que es un modo de intra- predicción de un bloque vecino izquierdo más cerca de un bloque vecino izquierdo. Cuando se determinan L y A, pueden determinarse candidatos de MPM de un bloque actual de acuerdo con los ejemplos de la Tabla 3.
Cuando un modo de intra-predicción de un bloque vecino izquierdo no está disponible pero hay una pluralidad de bloques vecinos superiores adyacentes a un bloque actual, un decodificador puede obtener secuencialmente modos de intra-predicción de los bloques vecinos superiores. Es decir, un decodificador puede obtener modos de intra-predicción de bloques vecinos superiores en un orden de adyacencia a un bloque vecino izquierdo (o bloque vecino izquierdo superior de un bloque actual).
Por ejemplo, en un ejemplo (b) mostrado en la Figura 23, un decodificador puede obtener secuencialmente, empezando desde un bloque superior izquierdo de un bloque actual, modos de intra-predicción de bloques vecinos localizados en un lado derecho del bloque superior izquierdo, y a continuación, puede obtener modos de intra-predicción de bloques vecinos localizados en un lado izquierdo del bloque superior izquierdo. Por consiguiente, en un ejemplo (b) mostrado en la Figura 23, se obtiene un modo de intra-predicción de bloques vecinos superiores en un orden de A0, A1, A2, A3, A4, B0, B1, entre los que puede usarse un modo de intra-predicción primeramente disponible en lugar de un modo de intra-predicción (o modo de intra-predicción L) del bloque vecino izquierdo).
Para un ejemplo adicional, cuando un modo de intra-predicción de un bloque vecino superior no está disponible, puede usarse un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques vecinos izquierdos en lugar de un modo de intra-predicción del bloque vecino superior. Por ejemplo, haciendo referencia a un ejemplo (a) mostrado en la Figura 23, es posible usar un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques A0, A1, A2, A3, A4, B0 y B1 en lugar de un modo de intra-predicción (o modo de intra-predicción A) de los bloques vecinos
5
10
15
20
25
30
35
superiores.
Además, cuando un modo de intra-predicción de un bloque vecino izquierdo no está disponible, puede usarse un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques vecinos superiores en lugar de un modo de intra-predicción del bloque vecino izquierdo. Por ejemplo, haciendo referencia a un ejemplo (b) mostrado en la Figura 23, es posible usar un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra-predicción de bloques A0, A1, A2, A3, A4, B0 y B1 en lugar de un modo de intra-predicción (o modo de intra-predicción L) del bloque vecino izquierdo.
Cuando se generan candidatos de MPM de un bloque actual, se determina si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual (S2020). En este punto, si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual puede indicarse por información (por ejemplo, 'prev_intra_pred_flag') señalizada a través de un flujo de bits. Por ejemplo, prev_intra_pred_flag que tiene valor de 1 indica que hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual, y prev_intra_pred_flag que tiene un valor de 0 indica que no hay candidato de MPM idéntico a un modo de intra-predicción del bloque actual.
Cuando se determina que hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual, puede decodificarse (S2030) información que especifica el candidato de MPM idéntico al modo de intra-predicción del bloque actual, y basándose en la información, puede determinarse un modo de intra-predicción de un bloque actual.
Por otra parte, cuando se determina que no hay candidato de MPM idéntico a un modo de intra- predicción de un bloque actual, un modo restante se decodifica desde un flujo de bits (S2040), y un modo de intra-predicción de un bloque actual puede determinarse basándose en el modo restante decodificado. Un modo restante es información que se codifica para especificar un modo de intra-predicción de un bloque actual, excepto para candidatos de MPM entre modos de intra- predicción. Un decodificador puede determinar un modo de intra-predicción de un bloque actual comparando un modo restante y candidatos de MPM.
Cuando se usa un modo de intra-predicción extendido, a medida que aumenta número de modos de intra-predicción, un número de bits usado para codificar un modo restante puede aumentar también. Por ejemplo, suponiendo que se usan 67 modos de intra-predicción y se usan 6 candidatos de MPM, un modo restante debería ser lo suficientemente largo para representar 61 modos de intra-predicción. Por ejemplo, cuando se supone que ha de codificarse un modo
5
10
15
20
25
30
35
restante como una longitud fija, el modo restante debería tener una longitud de al menos 6 bits para representar los 61 modos de intra-predicción.
Por consiguiente, para minimizar la señalización de un modo restante de predicción y codificar/decodificar más eficazmente un modo de intra-predicción de un bloque actual, un modo de intra-predicción de un bloque actual puede derivarse usando una pluralidad de grupos de candidatos de MPM.
En lo sucesivo, se describirá en detalle un método para derivar un modo de intra-predicción de un bloque actual usando una pluralidad de grupos de candidatos de MPM.
La Figura 24 muestra un ejemplo de derivación de un modo de intra-predicción de un bloque actual usando 2 grupos de candidatos de MPM, la Figura 25 muestra un ejemplo de derivación de un modo de intra-predicción de un bloque actual usando 3 grupos de candidatos de MPM.
Haciendo referencia a la Figura 24, un decodificador puede determinar basándose en un flujo de bits si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un primer grupo de candidatos de MPM (S2410). En este punto, si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido o no en un primer grupo de candidatos de MPM puede indicarse por primera información (por ejemplo, 'prev_intra_pred_flag') señalizada a través de un flujo de bits.
Cuando se determina que un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un primer grupo de candidatos de MPM, puede decodificarse información (por ejemplo, 'mpm_idx') que especifica un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual en un primer grupo de candidatos de MPM (S2420), y puede determinarse un modo de intra-predicción de un bloque actual basándose en la información.
Por otra parte, cuando se determina que un candidato de MPM idéntico a un modo de intra- predicción de un bloque actual no está incluido en un primer grupo de candidatos de MPM, puede determinarse si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un segundo grupo de candidatos de MPM (S2430). En este punto, si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido o no en un segundo grupo de candidatos de MPM puede indicarse por segunda información (por ejemplo, '2nd_prev_intra_pred_flag') señalizada a través de un flujo de bits.
5
10
15
20
25
30
35
Cuando se determina que un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un segundo grupo de candidatos de MPM, puede decodificarse (S2440) información (por ejemplo, '2nd_mpm_idx') que especifica un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual en un segundo grupo de candidatos de MPM, y puede determinarse un modo de intra-predicción de un bloque actual basándose en la información.
Por otra parte, cuando se determina que ninguno de un primer grupo de candidatos de MPM ni un segundo grupo de candidatos de MPM incluye un candidato de MPM idéntico a un modo de intra- predicción de un bloque actual, un modo restante se decodifica desde un flujo de bits (S2450), y un modo de intra-predicción de un bloque actual puede determinarse basándose en el modo restante decodificado.
En este punto, un primer grupo de candidatos de MPM puede incluir un candidato de MPM generado basándose en modos de intra-predicción de bloques vecinos de un bloque actual. Por ejemplo, un primer grupo de candidatos de MPM puede incluir 6 candidatos de MPM generados a través de un ejemplo de la Tabla 3.
Un segundo grupo de candidatos de MPM puede incluir un candidato de MPM no incluido en un primer grupo de candidatos de MPM. Por ejemplo, en la Tabla 3, cuando L y A son idénticos, y L y A son modos direccionales, un primer grupo de candidatos de MPM puede incluir candidatos de MPM que corresponde a Planar, CC, Vertical, Horizontal, 2 y 18. Por consiguiente, un segundo grupo de candidatos de MPM puede incluir candidatos de MPM distintos de Planar, CC, Vertical, Horizontal, 2 y 18.
Un segundo grupo de candidatos de MPM puede incluir un modo de intra-predicción preestablecido o un candidato de MPM generado basándose en candidatos de MPM incluidos en un primer grupo de candidatos de MPM. Por ejemplo, un segundo grupo de candidatos de MPM puede incluir un candidato de MPM que tiene una dirección similar a un candidato de MPM direccional incluido en un primer grupo de candidatos de MPM.
Para un ejemplo adicional, uno de un primer grupo de candidatos de MPM y un segundo grupo de candidatos de MPM se generan basándose en un modo de intra-predicción de un bloque vecino izquierdo de un bloque actual, y el otro se genera basándose en un modo de intra-predicción de un bloque vecino superior de un bloque actual.
5
10
15
20
25
30
35
Un número de candidatos de MPM incluido en un segundo grupo de candidatos de MPM puede ser igual o mayor que un número de candidatos de MPM incluidos en un primer grupo de candidatos de MPM. Por ejemplo, un primer grupo de candidatos de MPM puede incluir el máximo de 6 candidatos de MPM, mientras que un segundo grupo de candidatos de MPM puede incluir el máximo de 16 candidatos de MPM.
Cuando el máximo de 6 candidatos de MPM están incluidos en un primer grupo de candidatos de MPM, la información (por ejemplo, 'mpm_idx') para identificar un candidato de MPM incluido en un primer grupo de candidatos de MPM puede codificarse como una longitud fija de 3 bits. Por otra parte, cuando un máximo de 16 candidatos de MPM están incluidos en un segundo grupo de candidatos de MPM, puede codificarse información (por ejemplo, '2nd_mpm_idx') para identificar un candidato de MPM incluido en un segundo grupo de candidatos de MPM como una longitud fija de 4 bits. Cuando 6 candidatos de MPM están incluidos en un primer grupo de candidatos de MPM y 16 candidatos de MPM están incluidos en un segundo grupo de candidatos de MPM, el modo restante se codifica como una longitud fija de 6 bits para identificar 45 modos de intra- predicción.
Haciendo referencia a la Figura 25, un decodificador puede determinar basándose en un flujo de bits si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un primer grupo de candidatos de MPM (S2510). En este punto, si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido o no en un primer grupo de candidatos de MPM puede indicarse por primera información (por ejemplo, 'prev_intra_pred_flag') señalizada a través de un flujo de bits.
Cuando se determina que un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un primer grupo de candidatos de MPM, puede decodificarse información (por ejemplo, 'mpm_idx') que especifica un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual en un primer grupo de candidatos de MPM (S2520), y puede determinarse un modo de intra-predicción de un bloque actual basándose en la información.
Por otra parte, cuando se determina que un candidato de MPM idéntico a un modo de intra- predicción de un bloque actual no está incluido en un primer grupo de candidatos de MPM, puede determinarse si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un segundo grupo de candidatos de MPM (S2530). En este punto, si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido o no en un segundo grupo de candidatos de MPM puede indicarse por segunda información (por ejemplo,
5
10
15
20
25
30
35
'2nd_prev_intra_pred_flag') señalizada a través de un flujo de bits.
Cuando se determina que un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un segundo grupo de candidatos de MPM, puede decodificarse (S2540) información (por ejemplo, '2nd_mpm_idx') que especifica un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual en un segundo grupo de candidatos de MPM, y puede determinarse un modo de intra-predicción de un bloque actual basándose en la información.
Por otra parte, cuando se determina que un candidato de MPM idéntico a un modo de intra- predicción de un bloque actual no está incluido en un segundo grupo de candidatos de MPM, puede determinarse si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un tercer grupo de candidatos de MPM (S2550). En este punto, si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido o no en un tercer grupo de candidatos de MPM puede indicarse por segunda información (por ejemplo, '3rd_prev_intra_pred_flag') señalizada a través de un flujo de bits.
Cuando se determina que un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en un tercer grupo de candidatos de MPM, puede decodificarse (S2540) información (por ejemplo, '3rd_mpm_idx') que especifica un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual en un tercer grupo de candidatos de MPM, y puede determinarse un modo de intra-predicción de un bloque actual basándose en la información.
Por otra parte, cuando se determina que ninguno de un primer grupo de candidatos de MPM, un segundo grupo de candidatos de MPM y un tercer grupo de candidatos de MPM incluyen un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual, un modo restante se decodifica desde un flujo de bits (S2570), y un modo de intra-predicción de un bloque actual puede determinarse basándose en el modo restante decodificado.
Un tercer grupo de candidatos de MPM puede incluir un candidato de MPM no incluido en cualquiera de un primer grupo de candidatos de MPM o un segundo grupo de candidatos de MPM. Los candidatos de MPM incluidos en un tercer grupo de candidatos de MPM pueden generarse basándose en el modo de intra-predicción preestablecido, candidatos de MPM incluidos en un primer grupo de candidatos de MPM o candidatos de MPM incluidos en un segundo grupo de candidatos de MPM. Por ejemplo, un tercer grupo de candidatos de MPM puede incluir un
5
10
15
20
25
30
35
candidato de MPM que tiene una dirección similar a un candidato de MPM direccional incluido en un primer grupo de candidatos de MPM o un primer grupo de candidatos de MPM.
Un número de candidatos de MPM incluido en un tercer grupo de candidatos de MPM puede ser igual o mayor que un número de candidatos de MPM incluido en un primer grupo de candidatos de MPM. Además, un número de candidatos de MPM incluido en un tercer grupo de candidatos de MPM puede ser igual o mayor que un número de candidatos de MPM incluido en un segundo grupo de candidatos de MPM. Por ejemplo, un primer grupo de candidatos de MPM puede incluir 6 candidatos de MPM, mientras que un segundo grupo de candidatos de MPM y un tercer grupo de candidatos de MPM pueden incluir 16 candidatos de MPM.
Cuando un tercer grupo de candidatos de MPM incluye 16 candidatos de MPM, puede codificarse información (por ejemplo, '3rd_mpm_idx') para identificar el candidato de MPM incluido en un tercer grupo de candidatos de MPM que puede codificarse como una longitud fija de 4 bits. Cuando un primer grupo de candidatos de MPM incluye 6 candidatos de MPM, y cada uno de un segundo grupo de candidatos de MPM y un tercer grupo de candidatos de MPM incluye 16 candidatos de MPM, un modo restante puede codificarse como una longitud fija de 5 bits para identificar 29 modos de intra-predicción.
Haciendo referencia a las Figuras 24 y 25, se ilustra que un modo de intra-predicción de un bloque actual se obtiene usando 2 y 3 grupos de candidatos de MPM, respectivamente. Un número de grupos de candidatos de MPM usado para derivar un modo de intra-predicción de un bloque actual no está limitado a los ejemplos descritos. Además, un número de candidatos de MPM incluidos en uno primero a tercero grupos de candidatos de MPM no está limitado a los ejemplos descritos.
Si usar o no una pluralidad de grupos de candidatos de MPM puede determinarse basándose en información señalizada en unidades de una secuencia, una instantánea, un corte, una unidad a codificarse/decodificarse. En este punto, la información puede ser información que indica un número máximo de candidatos de MPM o información de bandera que indica si usar una pluralidad de grupos de candidatos de MPM.
Cuando se determina un modo de intra-predicción de un bloque actual, puede realizarse intra- predicción usando una muestra de referencia adyacente al bloque actual. Por ejemplo, pueden generarse muestras de predicción de un bloque actual promediando muestras de referencia, o pueden generarse duplicando muestras de referencia en una dirección específica considerando
5
10
15
20
25
30
35
una direccionalidad de un modo de intra-predicción. Como se ha descrito anteriormente en un ejemplo haciendo referencia a la Figura 16, puede usarse P(-1, -1), P(-1, y) (0<= y <= 2N-1) , P(x, -1) (0 <= x <= 2N-1) que se localizan en un límite de un bloque actual como muestras de referencia.
Cuando se determina que una muestra de referencia no está disponible, una muestra de referencia que no está disponible puede sustituirse por una muestra de referencia que está disponible. En este punto, una muestra de referencia puede determinarse como no disponible en el caso donde una posición de una muestra de referencia está fuera de una instantánea, una muestra de referencia está presente en un corte diferente de un bloque actual, o una muestra de referencia está incluida en un bloque codificado por una inter-predicción. En este punto, si una muestra de referencia incluida en un bloque codificado por una inter-predicción no está disponible o sí puede determinarse basándose en información que indica si usar una muestra de referencia incluida en un bloque codificado por una inter-predicción cuando se realiza intra-predicción de un bloque actual. En este punto, la información puede ser una bandera de 1 bit (por ejemplo, 'constrained_intra_prediction_flag'), aunque no está limitada a la misma. Por ejemplo, cuando un valor de 'constrained_intra_prediction_flag' es 1, una muestra de referencia incluida en un bloque codificado por una inter-predicción puede determinarse que no está disponible.
En el ejemplo mostrado en la Figura 16, cuando se determina que una muestra de referencia localizada más a la izquierda (por ejemplo, P(-1, 2N-1)) no está disponible, la muestra de referencia localizada más a la izquierda puede sustituirse por una primera muestra de referencia disponible como se explora en un orden predeterminado. En este punto, el orden de exploración puede realizarse secuencialmente desde una muestra de referencia adyacente a la muestra de referencia más a la izquierda. Por ejemplo, en el ejemplo mostrado en la Figura 16, cuando P(-1, 2N-1) no está disponible, puede realizarse exploración en un orden de P(-1, -2N-2) a P(-1, -1), P(- 1) a P(2N-1, -1). P(-1, 2N-1) puede sustituirse por una primera muestra de referencia disponible que se halla como resultado de la exploración.
Cuando una muestra de referencia izquierda excepto para una muestra de referencia localizada más a la izquierda no está disponible, la muestra de referencia izquierda puede sustituirse por una muestra de referencia adyacente a una parte inferior de la muestra de referencia izquierda. Por ejemplo, una muestra de referencia no disponible P(-1, y) entre P(-1, 2N-1) y P(-1, -1) puede sustituirse por una muestra de referencia P(-1, y+1).
Cuando una muestra de referencia superior no está disponible, la muestra de referencia superior
puede sustituirse por una muestra de referencia adyacente a la izquierda de la muestra de referencia superior. Por ejemplo, una muestra de referencia no disponible P(x, -1) entre P(0, -1) y P(2N-1, -1) puede sustituirse por una muestra de referencia P(x-1, -1).
5 Una muestra de referencia establecida adyacente a un bloque actual puede denominarse como una 'línea de referencia' (o 'línea de intra-referencia' o 'línea de muestra de referencia'). Por ejemplo, en el ejemplo mostrado en la Figura 16, una muestra de referencia de 'línea de referencia' establecida que incluye P(-1, 2N-1) a P(-1, 1), P(0, -1) a P(2N-2, -1). Una intra- predicción de un bloque actual puede realizarse basándose en muestras de referencia incluidas 10 en una línea de referencia. Una intra-predicción de un bloque actual puede realizarse, usando muestras de referencia incluidas en una línea de referencia, basándose en un modo de intra- predicción de un bloque actual, por ejemplo, cuando un modo de intra-predicción de un bloque actual es un modo de CC, puede generarse una señal de predicción usando un promedio y predicción ponderada de muestras de referencia incluidas en la línea de referencia. Por ejemplo, 15 cuando un modo de intra-predicción de un bloque actual es un modo de CC, las muestras de predicción del bloque actual pueden obtenerse de acuerdo con la Ecuación 9.
[Ecuación 9]
20
P(0,0) = ( P(-1,0) + P(0,-1) + 2 * dcVal ) >> 2 P(x, 0) = ( P(x,-1) + 3 * dcVal ) >> 2
P(0, y) = ( P(-1, y) + 3 * dcVal ) >> 2
En la Ecuación 9, dcVal puede generarse basándose en un valor promedio de muestras excepto para P(-1, -1) entre muestras de referencia incluidas en una línea de referencia.
25
Un modo planar proporciona eficacia de predicción eficaz en un área suave que no tiene bordes intensos, y es eficaz al mejorar la discontinuidad de límite de bloque o deterioración de calidad de imagen de un límite de bloque. Cuando un modo de intra-predicción de un bloque actual es un modo planar, una muestra de predicción provisional de dirección horizontal del bloque actual 30 puede obtenerse usando una muestra de referencia adyacente a una esquina superior derecha del bloque actual y una muestra de referencia que tiene coordenada y idéntica a la muestra de predicción provisional de dirección horizontal, y una muestra de predicción provisional de dirección vertical del bloque actual puede obtenerse usando una muestra de referencia adyacente a una
esquina inferior izquierda del bloque actual y una muestra de referencia que tiene coordenada x idéntica a la muestra de predicción provisional de dirección vertical. Por ejemplo, una muestra de predicción provisional de dirección horizontal y una muestra de predicción provisional de dirección vertical de un bloque actual pueden obtenerse de acuerdo con la Ecuación 10.
5
[Ecuación 10]
Ph(x,y) = (N - 1 - x) * P(-1,y) + (x + 1) * P(N,-1)
PV(X y) = (N - 1 - y) * P(x,-1) + (y + 1) * P(-1, N)
10 Una muestra de predicción de un bloque actual puede generarse sumando una muestra de predicción provisional de dirección horizontal y una muestra de predicción provisional de dirección vertical, y a continuación desplazando el resultado de la suma por un valor determinado de acuerdo con un tamaño de un bloque actual. Por ejemplo, una muestra de predicción de un bloque actual puede obtenerse de acuerdo con la Ecuación 11.
15
[Ecuación 11]
P(x, y) = ( Ph(x, y) + Pv(x, y) + N ) >> (log2(N) + 1)
Una intra-predicción de un bloque actual puede realizarse usando una pluralidad de líneas de 20 referencia. Suponiendo que un bloque actual tiene un tamaño WxH, la línea de referencia de orden M puede incluir p(-M, -M), muestras de referencia localizadas en una fila idéntica a p(-M, - M) (por ejemplo, muestras de referencia desde p(M+1, -M) a p(W+H+2(M-1), -M) o muestras de referencia desde p(-M+1, -M) a p(2W+2(M-1), -M) y muestras de referencia localizadas en una columna idéntica a p(-M, -M) (por ejemplo, muestras de referencia desde p(-M, -M+1) a p(-M, 25 W+H+2(M-1)) o muestras de referencia desde p(-M, -M+1) a p(-M, 2H+2(M-1))).
Por ejemplo, la Figura 26 ejemplifica una pluralidad de líneas de muestra de referencia. Como en el ejemplo mostrado en la Figura 26, cuando una primera línea de referencia adyacente a un límite de un bloque actual se denomina como una 'línea de referencia 0', la línea de referencia de orden 30 M puede establecerse adyacente a la línea de referencia de orden (M-1).
Una intra-predicción de un bloque actual puede realizarse por al menos una de una pluralidad de líneas de referencia. Un método de realización de intra-predicción usando una pluralidad de líneas
5
10
15
20
25
30
35
de referencia como se ha descrito anteriormente puede denominarse como un método de 'intra- predicción' que usa una muestra de referencia extendida' o un 'método de intra-predicción extendido'.
Si realizar o no intra predicción usando una línea de referencia extendida puede determinarse basándose en información señalizada a través de un flujo de bits. En este punto, la información puede ser una bandera de 1 bit, aunque no está limitado a lo mismo. La información sobre si realizar intra predicción usando una línea de referencia extendida puede señalizarse en unidades de una unidad de árbol de codificación, una unidad de codificación o una unidad de predicción, o puede señalizarse en unidades de una instantánea o un corte.
Si realizar o no intra predicción usando una línea de referencia extendida puede determinarse basándose en al menos uno de un tamaño, forma, profundidad o modo de intra predicción de un bloque actual.
Cuando se determina realizar intra predicción usando una línea de referencia extendida, un decodificador puede determinar un número de líneas de referencia. En este punto, un número de líneas de referencia pueden tener un valor fijo, y pueden determinarse de manera adaptativa de acuerdo con un tamaño, forma o modo de intra predicción de un bloque actual. Por ejemplo, cuando un modo de intra predicción de un bloque actual es un modo no direccional, la intra predicción del bloque actual se realiza usando una línea de referencia. Cuando un modo de intra predicción de un bloque actual es un modo direccional, la intra predicción del bloque actual puede realizarse usando una pluralidad de líneas de referencia.
Para un ejemplo adicional, puede determinarse un número de líneas de referencia por información que se señaliza en unidades de una secuencia, una instantánea, un corte o una unidad a decodificarse. Por ejemplo, un elemento de sintaxis 'max_intra_line_idx' que indica un número de líneas de referencia disponibles en una secuencia o un corte puede señalizarse a través de un encabezamiento de secuencia o un encabezamiento de corte.
En lo sucesivo, se describirá en detalle un método de realización de intra predicción usando una línea de referencia extendida.
La Figura 27 es un diagrama de flujo que ilustra un método de realización de intra predicción usando una línea de referencia extendida de acuerdo con la presente invención.
5
10
15
20
25
30
35
En primer lugar, un decodificador puede generar una pluralidad de líneas de referencia (S2710). Las muestras de referencia incluidas en cada línea de referencia pueden generarse basándose en muestras reconstruidas incluidas en bloques decodificados más antes que un bloque actual. Cuando una muestra de referencia no disponible está incluida en una línea de referencia, la muestra de referencia no disponible puede sustituirse por un valor de una muestra de referencia disponible en la misma línea de referencia o una muestra de referencia disponible en otra línea de referencia.
Cuando un modo de intra predicción de un bloque actual es un modo direccional, un decodificador puede generar una línea de referencia que considera una direccionalidad del modo de intra predicción. Considerando una direccionalidad de un modo de intra predicción, un número mayor de muestras de referencia puede incluirse en la línea de referencia de orden M que en la línea de referencia de orden (M-1). Es decir, una línea de referencia lejos de un bloque actual puede incluir un número mayor de muestras de referencia que una línea de referencia cerca del bloque actual.
En este punto, un número de muestras de referencia incluidas adicionalmente en la línea de referencia de orden M que en la línea de referencia de orden (M-1) puede determinarse de manera variable de acuerdo con un tamaño de un bloque actual.
Por ejemplo, cuando un bloque actual tiene un tamaño de 4x4, la línea de referencia de orden M puede incluir adicionalmente cuatro (específicamente, 2 en dirección horizontal y 2 en dirección vertical) muestras de referencia que la línea de referencia de orden (M-1). Además, cuando un bloque actual tiene un tamaño de 8x8, la línea de referencia de orden M puede incluir adicionalmente ocho (específicamente, 4 en dirección horizontal y 4 en dirección vertical) muestras de referencia que la línea de referencia de orden (M-1).
Haciendo referencia a la Figura 26, como un tamaño de un tamaño de bloque actual es 4x4, se ejemplifica que una primera muestra de referencia incluye un total de 9 muestras de referencia y una segunda muestra de referencia incluye un total de 13 (=9+2x2) muestras de referencia.
Cuando un bloque actual no es cuadrado, un número de muestras de referencia incluidas en una línea de referencia puede determinarse de acuerdo con unas longitudes horizontales y verticales de un bloque actual.
Por ejemplo, la Figura 28 es un diagrama que ejemplifica una pluralidad de líneas de referencia para un boque no cuadrado. Al describir comparando las Figuras 26 y 28, a medida que una
5
10
15
20
25
30
35
anchura de un bloque actual se reduce a 1/2, un número de muestras de referencia superiores excepto para una muestra de referencia superior izquierda incluida en una línea de referencia 0 se reducen de 8 a 4.
Es decir, considerando las Figuras 26 y 28 juntas, cuando se supone que un bloque actual tiene un tamaño WxH, la línea de referencia de orden M puede incluir un total de 2{(W+H)+2(M-1)}+1 muestras de referencia que incluyen W+H+2(M-1) muestras de referencia superiores (o 2W+2(M- 1) muestras de referencia superiores) (es decir, muestras de referencia de dirección horizontal), W+H+2(M-1) muestras de referencia izquierda (o 2H+2(M-1) muestras de referencia izquierda) (es decir, muestras de referencia de dirección vertical) y muestra de referencia izquierda superior.
Un decodificador puede decodificar, basándose en un flujo de bits, información de índice que especifica una de una pluralidad de líneas de referencia (S2820). Por ejemplo, cuando están disponibles 4 líneas de referencia como en el ejemplo mostrado en la Figura 26, la información de índice puede especificar una cualquiera de las 4 líneas de referencia.
Una línea de referencia para realizar intra predicción para un bloque actual puede especificarse de manera adaptativa basándose en un tamaño de un bloque actual, un tipo de un bloque actual, un modo de intra predicción de un bloque actual, información de índice en un bloque vecino o una diferencia entre un modo de intra predicción de un bloque actual y un modo de intra predicción predeterminado y similares.
Cuando se especifica una cualquiera de una pluralidad de líneas de referencia, un decodificador puede realizar intra predicción para un bloque actual usando la línea de referencia especificada (S2730). Cuando un modo de intra predicción de un bloque actual es un modo direccional, una muestra de predicción del bloque actual puede obtenerse por una muestra de referencia especificada por el modo direccional. Cuando un modo de intra predicción de un bloque actual apunta entre muestras de referencia, una muestra de predicción del bloque actual puede generarse basándose en una suma ponderada (predicción ponderada) de una primera muestra de referencia y una segunda muestra de referencia especificada por el modo de intra predicción.
En el ejemplo anteriormente descrito, se ejemplifica que la información de índice que especifica una de la pluralidad de líneas de referencia se decodifica después de generar una pluralidad de líneas de referencia. También es posible obtener únicamente una línea de referencia especificada por información de índice entre una pluralidad de líneas de referencia después de decodificar la información de índice que especifica una de la pluralidad de líneas de referencia.
5
10
15
20
25
30
35
En la realización anteriormente descrita, se describe que la intra predicción para un bloque actual se realiza usando una línea de referencia cualquiera especificada por información de índice entre una pluralidad de líneas de referencia. También es posible que la intra predicción para un bloque actual pueda realizarse usando dos o más líneas de referencia entre una pluralidad de líneas de referencia. Si usar o no dos o más líneas de referencia al realizar intra predicción para un bloque actual puede determinarse basándose en información señalizada desde un flujo de bits, un tamaño de un bloque actual, un tipo de un bloque actual, un modo de intra predicción de un bloque actual, si un modo de intra predicción de un bloque actual es uno no direccional o una diferencia entre un modo de intra predicción de un bloque actual y un modo de intra predicción predeterminado y similares.
Las dos o más líneas de referencia pueden especificarse por una pluralidad de información de índice señalizada desde un flujo de bits. Por ejemplo, cuando dos líneas de referencia se establecen para usarse, una cualquiera de las dos líneas de referencia puede especificarse por primera información de índice, y la otra puede especificarse por segunda información de índice.
Para un ejemplo adicional, puede establecerse que se use intra predicción para un bloque actual para usar dos o más líneas de referencia espacialmente contiguas. En este caso, cuando una cualquiera de las dos o más líneas de referencia se especifica por información de índice señalizada desde un flujo de bits, la línea de referencia restante puede especificarse en consideración de la posición con respecto a la línea de referencia especificada. Por ejemplo, cuando se establece que se usen dos líneas de referencia, y la información de índice indica ‘línea de referencia 0,’ entonces puede realizarse intra predicción de un bloque actual basándose en la línea de referencia 0 y la línea de referencia 1 vecina a la línea de referencia 0.
Cuando se establece que se use una pluralidad de líneas de referencia, la intra predicción de un bloque actual puede realizarse basándose en un valor promedio, un valor máximo, un valor mínimo o una suma ponderada de muestras de referencia incluidas en la pluralidad de líneas de referencia.
Por ejemplo, suponiendo que un modo de intra-predicción de un bloque actual es un modo direccional (es decir, un modo angular), una muestra prevista del bloque actual puede generarse basándose en una primera muestra de referencia y una segunda muestra de referencia vecina a la primera muestra de referencia. En este punto, una primera muestra de referencia puede incluirse en una primera línea de referencia entre una pluralidad de líneas de referencia, y una segunda
5
10
15
20
25
30
35
muestra de referencia puede incluirse en una segunda línea de referencia entre la pluralidad de líneas de referencia. Una primera línea de referencia y una segunda línea de referencia pueden situarse vecinas entre sí, aunque no está limitado a lo mismo. Una primera muestra de referencia y una segunda muestra de referencia pueden especificarse de acuerdo con una direccionalidad de un modo de intra predicción de un bloque actual. Una muestra de predicción de un bloque actual puede generarse en consideración de una suma ponderada de una primera muestra de referencia y una segunda muestra de referencia, o puede generarse basándose en un valor promedio de una primera muestra de referencia y una segunda muestra de referencia.
La intra predicción de un bloque actual puede realizarse realizando una primera intra predicción basándose en parte en una pluralidad de líneas de referencia y realizando una segunda intra predicción basándose en las restantes líneas de referencia. En este punto, un modo de intra predicción usado en una primera intra predicción y un modo de intra predicción usado en una segunda intra predicción pueden ser el mismo o diferente. Una muestra de predicción de un bloque actual puede generarse basándose en una primera muestra de predicción generada realizando una primera intra predicción y una segunda muestra de predicción realizando una segunda intra predicción.
Las realizaciones anteriores se han descrito principalmente en el proceso de decodificación, el proceso de codificación puede realizarse en el mismo orden que se ha descrito o en orden inverso.
Aunque las realizaciones anteriormente descritas se han descrito basándose en una serie de etapas o diagramas de flujo, no limitan el orden de series temporales de la invención, y pueden realizarse simultáneamente o en diferentes órdenes según sea necesario. Además, cada uno de los componentes (por ejemplo, unidades, módulos, etc.) que constituye el diagrama de bloques en las realizaciones anteriormente descritas puede implementarse por un dispositivo de hardware o software, y una pluralidad de componentes. O una pluralidad de componentes puede combinarse e implementarse mediante un único dispositivo de hardware o software. Las realizaciones anteriormente descritas pueden implementarse en forma de instrucciones de programa que pueden ejecutarse a través de diversos componentes informáticos y grabarse en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador puede incluir uno de o una combinación de comandos de programa, ficheros de datos, estructuras de datos y similares. Los ejemplos de medios legibles por ordenador incluyen medios magnéticos tales como discos duros, discos flexibles y cinta magnética, medios de grabación ópticos tales como CD-ROM y DVD, medios magneto-ópticos tales como discos flexibles ópticos, medios, y dispositivos de
hardware específicamente configurados para almacenar y ejecutar instrucciones de programa tales como ROM, RAM, memoria flash y similares. El dispositivo de hardware puede configurarse para operar como uno o más módulos de software para realizar el proceso de acuerdo con la presente invención y viceversa.
5
Aplicabilidad industrial
La presente invención puede aplicarse a dispositivos electrónicos que pueden codificar/decodificar un vídeo.
10

Claims (14)

  1. 5
    10
    15
    20
    25
    30
    35
    REIVINDICACIONES
    1. Un método para decodificar un vídeo, donde el método comprende: generar una pluralidad de candidatos de modo más probable (MPM);
    determinar si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM;
    obtener el modo de intra-predicción del bloque actual, basándose en un resultado de la determinación; y
    realizar una intra-predicción para el bloque actual, basándose en el modo de intra-predicción del bloque actual,
    donde la pluralidad de candidatos de MPM se generan basándose en frecuencias de aparición de modos de intra-predicción de una pluralidad de bloques vecinos adyacentes al bloque actual.
  2. 2. El método de acuerdo con la reivindicación 1, donde la generación de la pluralidad de candidatos de MPM comprende:
    generar un primer grupo de candidatos de MPM; y generar un segundo grupo de candidatos de MPM.
  3. 3. El método de acuerdo con la reivindicación 2, donde el segundo grupo de candidatos de MPM incluye un candidato de MPM que tiene una dirección similar a un candidato de MPM incluido en el primer grupo de candidatos de MPM.
  4. 4. El método de acuerdo con la reivindicación 2, donde la determinación de si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM comprende:
    determinar si el primer grupo de candidatos de MPM incluye un candidato de MPM idéntico al modo de intra-predicción del bloque actual; y
    determinar si el segundo grupo de candidatos de MPM incluye un candidato de MPM idéntico al modo de intra-predicción del bloque actual, cuando se determina que el primer grupo de candidatos de MPM no incluye un candidato de MPM idéntico al modo de intra-predicción del bloque actual.
  5. 5. El método de acuerdo con la reivindicación 1, donde la pluralidad de candidatos de MPM incluye:
    un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra- predicción de una pluralidad de bloques vecinos superiores adyacentes al bloque actual, y
    5
    10
    15
    20
    25
    30
    35
    un modo de intra-predicción que tiene una frecuencia de aparición más alta entre modos de intra- predicción de una pluralidad de bloques vecinos izquierdos adyacentes al bloque actual.
  6. 6. El método de acuerdo con la reivindicación 1, donde la pluralidad de candidatos de MPM incluye un modo de intra-predicción más grande o más pequeño entre modos de intra-predicción de bloques vecinos superiores y modos de intra-predicción de bloques vecinos.
  7. 7. El método de acuerdo con la reivindicación 1, donde, cuando se determina que no hay candidato de MPM idéntico al modo de intra-predicción del bloque actual entre la pluralidad de candidatos de MPM, la obtención del modo de intra-predicción del bloque actual comprende: decodificar un modo restante; y
    determinar el modo de intra-predicción del bloque actual basándose en el modo restante.
  8. 8. El método de acuerdo con la reivindicación 7, donde el modo restante se codifica como una longitud fija.
  9. 9. El método de acuerdo con la reivindicación 1, donde la realización de la intra-predicción para el bloque actual comprende:
    seleccionar una línea de referencia entre una pluralidad de líneas de referencia del bloque actual; y
    obtener una muestra de predicción para el bloque actual, usando la línea de referencia seleccionada.
  10. 10. El método de acuerdo con la reivindicación 9, donde, entre la pluralidad de líneas de referencia, una línea de referencia de orden N incluye un número mayor de muestras de referencia que una muestra de referencia de orden (N-1).
  11. 11. Un método para generar una pluralidad de candidatos de modo más probable (MPM), comprendiendo el método:
    codificar información sobre si hay un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual entre la pluralidad de candidatos de MPM; y
    realizar una intra-predicción para el bloque actual, basándose en el modo de intra-predicción del bloque actual,
    donde la pluralidad de candidatos de MPM se generan basándose en frecuencias de aparición de modos de intra-predicción de una pluralidad de bloques vecinos adyacentes al bloque actual.
  12. 12. El método de acuerdo con la reivindicación 11, donde la generación de la pluralidad de candidatos de MPM comprende:
    generar un primer grupo de candidatos de MPM; y generar un segundo grupo de candidatos de MPM.
    5
  13. 13. El método de acuerdo con la reivindicación 12,
    donde el segundo grupo de candidatos de MPM incluye un candidato de MPM que tiene una dirección similar a un candidato de MPM incluido en el primer grupo de candidatos de MPM.
    10 14. Un aparato para decodificar un vídeo, donde el aparato comprende:
    una unidad de decodificación para decodificar información que indica si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en una pluralidad de candidatos de modo más probable (MPM); y
    una unidad de intra-predicción para generar la pluralidad de candidatos de MPM, y para obtener el 15 modo de intra-predicción del bloque actual, basándose en la información,
    donde la pluralidad de candidatos de MPM se generan basándose en frecuencias de aparición de modos de intra-predicción de una pluralidad de bloques vecinos adyacentes al bloque actual.
  14. 15. Un aparato para decodificar un vídeo, donde el aparato comprende:
    20 una unidad de intra-predicción para generar una pluralidad de candidatos de modo más probable (MPM), y para determinar si un candidato de MPM idéntico a un modo de intra-predicción de un bloque actual está incluido en la pluralidad de candidatos de MPM; y
    una unidad de codificación para codificar información que indica si un candidato de MPM idéntico al modo de intra-predicción del bloque actual está incluido en la pluralidad de candidatos de MPM, 25 basándose en un resultado de la determinación,
    donde la pluralidad de candidatos de MPM se generan basándose en frecuencias de aparición de modos de intra-predicción de una pluralidad de bloques vecinos adyacentes al bloque actual.
ES201890060A 2016-04-06 2017-04-04 Método y aparato para procesar señales de vídeo Pending ES2688624R1 (es)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR20160042095 2016-04-06
KR10-2016-0042095 2016-04-06
KR20160042095 2016-04-06
KR20160079635 2016-06-24
KR10-2016-0079635 2016-06-24
KR20160079635 2016-06-24
PCT/KR2017/003685 WO2017176030A1 (ko) 2016-04-06 2017-04-04 비디오 신호 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
ES2688624A2 true ES2688624A2 (es) 2018-11-05
ES2688624R1 ES2688624R1 (es) 2018-12-04

Family

ID=60000563

Family Applications (2)

Application Number Title Priority Date Filing Date
ES201890060A Pending ES2688624R1 (es) 2016-04-06 2017-04-04 Método y aparato para procesar señales de vídeo
ES201930317A Pending ES2711189R1 (es) 2016-04-06 2017-04-04 Metodo y aparato para procesar senales de video

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES201930317A Pending ES2711189R1 (es) 2016-04-06 2017-04-04 Metodo y aparato para procesar senales de video

Country Status (6)

Country Link
US (3) US11259047B2 (es)
EP (1) EP3442232A4 (es)
KR (1) KR102402045B1 (es)
CN (4) CN113422953A (es)
ES (2) ES2688624R1 (es)
WO (1) WO2017176030A1 (es)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109479132B (zh) * 2016-04-29 2021-10-01 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
CN110115035B (zh) * 2016-12-23 2022-12-06 华为技术有限公司 一种用于通知定向帧内预测模式集合中的扩展定向帧内预测模式的编码装置
CN117395406A (zh) * 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
KR102351029B1 (ko) * 2017-05-16 2022-01-13 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10951908B2 (en) * 2017-05-24 2021-03-16 Lg Electronics Inc. Method and device for decoding image according to intra prediction in image coding system
CN117336509A (zh) * 2017-07-06 2024-01-02 Lx 半导体科技有限公司 图像编码/解码方法、发送方法和数字存储介质
US11375185B2 (en) * 2017-10-18 2022-06-28 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored therein
US11178405B2 (en) * 2017-10-18 2021-11-16 Samsung Electronics Co., Ltd. Method and apparatus for video decoding, and method and apparatus for video encoding
US11284108B2 (en) 2017-10-24 2022-03-22 Wilus Institute Of Standards And Technology Inc. Video signal processing method and apparatus
GB2567861A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
CN117176958A (zh) * 2017-11-28 2023-12-05 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
CN116389733A (zh) * 2017-12-22 2023-07-04 数码士有限公司 视频信号处理方法和设备
EP3777169B1 (en) 2018-03-28 2023-05-03 Fg Innovation Company Limited Device and method for decoding video data in multiple reference line prediction
WO2019191713A1 (en) * 2018-03-30 2019-10-03 Hulu, LLC Intra prediction mode signaling for video coding
US10419754B1 (en) * 2018-04-02 2019-09-17 Tencent America LLC Method and apparatus for video decoding using multiple line intra prediction
US10728542B2 (en) * 2018-04-09 2020-07-28 Tencent America LLC Methods and apparatuses for sub-block motion vector prediction
WO2019245340A1 (ko) * 2018-06-21 2019-12-26 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11343536B2 (en) * 2018-06-27 2022-05-24 Kt Corporation Method and apparatus for processing video signal
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
CN110662054B (zh) 2018-06-29 2023-01-06 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
EP3794825A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Update of look up table: fifo, constrained fifo
CA3105330C (en) 2018-06-29 2023-12-05 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
CN114466197A (zh) 2018-06-29 2022-05-10 北京字节跳动网络技术有限公司 用于查找表更新的编码的运动信息的选择
CN110662053B (zh) 2018-06-29 2022-03-25 北京字节跳动网络技术有限公司 使用查找表的视频处理方法、装置和存储介质
CN110662064B (zh) 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 Lut中的运动候选的检查顺序
TWI734133B (zh) 2018-07-02 2021-07-21 大陸商北京字節跳動網絡技術有限公司 更新查找表的規則
EP4346211A3 (en) * 2018-09-03 2024-06-19 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
KR20210046804A (ko) * 2018-09-07 2021-04-28 주식회사 비원영상기술연구소 영상 부호화/복호화 방법 및 장치
EP3849183A4 (en) * 2018-09-07 2022-06-29 B1 Institute of Image Technology, Inc. Method and device for coding/decoding image using intra prediction
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
US11095885B2 (en) * 2018-10-05 2021-08-17 Tencent America LLC Mode list generation for multi-line intra prediction
CN112385234B (zh) * 2018-10-09 2024-04-09 华为技术有限公司 图像和视频译码的设备和方法
CN113225559B (zh) * 2018-10-12 2023-05-16 Oppo广东移动通信有限公司 视频信号的编码方法和解码方法及其装置
US11516507B2 (en) 2018-10-12 2022-11-29 Intellectual Discovery Co., Ltd. Image encoding/decoding methods and apparatuses
US20220038684A1 (en) * 2018-10-31 2022-02-03 Interdigital Vc Holdings, Inc. Multi-reference line intra prediction and most probable mode
WO2020091213A1 (ko) 2018-11-04 2020-05-07 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
KR102636813B1 (ko) * 2018-11-22 2024-02-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 처리에서 펄스 코드 변조 기술
KR20200063092A (ko) 2018-11-27 2020-06-04 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
US11659163B2 (en) 2018-12-17 2023-05-23 Industry Academy Cooperation Foundation Of Sejong University Video encoding/decoding method and device
WO2020130628A1 (ko) * 2018-12-18 2020-06-25 엘지전자 주식회사 다중 참조 라인 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
WO2020130629A1 (ko) * 2018-12-18 2020-06-25 엘지전자 주식회사 다중 참조 라인 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
WO2020127811A2 (en) 2018-12-20 2020-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Intra predictions using linear or affine transforms with neighbouring sample reduction
WO2020140242A1 (zh) * 2019-01-03 2020-07-09 北京大学 视频处理方法和装置
WO2020145735A1 (ko) * 2019-01-10 2020-07-16 엘지전자 주식회사 Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 장치
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
CN117201773A (zh) * 2019-01-13 2023-12-08 Lg 电子株式会社 用于执行基于mrl的帧内预测的图像编译方法和装置
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
EP3917141A4 (en) * 2019-02-20 2022-03-30 LG Electronics Inc. METHOD AND DEVICE FOR INTRA PREDICTION BASED ON A MPM LIST
US20220132109A1 (en) * 2019-02-21 2022-04-28 Lg Electronics Inc. Image decoding method and apparatus using intra prediction in image coding system
US11902572B2 (en) * 2019-02-26 2024-02-13 Lg Electronics Inc. Intra prediction-based image coding method and apparatus using unified MPM list
US20220124309A1 (en) * 2019-02-28 2022-04-21 Lg Electronics Inc. Unified mpm list-based intra prediction
WO2020180133A1 (ko) * 2019-03-06 2020-09-10 엘지전자 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020184637A1 (en) * 2019-03-12 2020-09-17 Sharp Kabushiki Kaisha Systems and methods for performing intra prediction coding in video coding
CN113170101A (zh) * 2019-03-12 2021-07-23 Oppo广东移动通信有限公司 帧内预测方法及装置、计算机可读存储介质
US11496748B2 (en) * 2019-03-21 2022-11-08 Tencent America LLC Method and apparatus for improved planar and DC modes for non-zero reference lines
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
KR20210131425A (ko) * 2019-03-22 2021-11-02 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 모드 후보 리스트를 사용하는 영상 디코딩 방법 및 그 장치
EP4319159A3 (en) * 2019-03-23 2024-04-03 LG Electronics Inc. Method for coding image on basis of intra prediction using mpm list and apparatus therefor
US11057619B2 (en) 2019-03-23 2021-07-06 Lg Electronics Inc. Image coding method and apparatus based on intra prediction using MPM list
BR112021018554A2 (pt) * 2019-03-23 2021-11-30 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes para predição intra
KR20210126765A (ko) * 2019-03-23 2021-10-20 엘지전자 주식회사 영상 코딩 시스템에서의 인트라 예측 기반 영상 코딩
KR20210126774A (ko) * 2019-03-26 2021-10-20 엘지전자 주식회사 Mpm 리스트에 기반한 인트라 예측 방법 및 그 장치
US20220166973A1 (en) * 2019-04-10 2022-05-26 Electronics And Telecommunications Research Institute Method and device for signaling prediction mode-related signal in intra prediction
CN113785588B (zh) 2019-04-12 2023-11-24 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的色度编解码模式确定
CN117499656A (zh) 2019-04-16 2024-02-02 北京字节跳动网络技术有限公司 帧内编解码模式下的矩阵推导
CN117097912A (zh) 2019-05-01 2023-11-21 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文编码
KR20220002318A (ko) 2019-05-01 2022-01-06 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 필터링을 이용한 행렬 기반 인트라 예측
EP3965419A4 (en) * 2019-05-03 2023-02-01 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR ENCODING/DECODING IMAGES AND WITH A RECORDING MEDIUM HAVING STORED BITSTREAM
CN110213581B (zh) * 2019-05-20 2023-03-07 广州市数字视频编解码技术国家工程实验室研究开发与产业化中心 一种基于块划分模式跳过的编码方法、装置及存储介质
KR20220011127A (ko) 2019-05-22 2022-01-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업샘플링을 이용한 행렬 기반 인트라 예측
WO2020239017A1 (en) 2019-05-31 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. One-step downsampling process in matrix-based intra prediction
CN113950836B (zh) * 2019-06-05 2024-01-12 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文确定
EP4376407A1 (en) * 2019-06-14 2024-05-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding of intra-prediction modes
CN110290383B (zh) * 2019-06-25 2021-07-13 浙江大华技术股份有限公司 帧内预测模式选择方法、编码器及存储装置
CN114026854A (zh) 2019-06-28 2022-02-08 联发科技股份有限公司 图片及视频处理中的基于矩阵的帧内预测的方法与装置
CN110519591B (zh) * 2019-08-29 2021-06-01 中南大学 一种基于多用途编码中帧内编码的预测模式快速选择方法
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding
EP4042689A4 (en) 2019-10-28 2023-06-07 Beijing Bytedance Network Technology Co., Ltd. SIGNALING AND SYNTAX ANALYSIS BASED ON A COLOR COMPONENT
US11553208B2 (en) * 2019-11-27 2023-01-10 Tencent America LLC Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
CN114731430A (zh) * 2019-12-05 2022-07-08 交互数字Vc控股法国有限公司 与多个变换选择、矩阵加权帧内预测或多参考线帧内预测结合的用于视频编码和解码的帧内子分区
US11706411B2 (en) * 2020-09-02 2023-07-18 Tencent America LLC Content adaptive segmented prediction
US20220337875A1 (en) * 2021-04-16 2022-10-20 Tencent America LLC Low memory design for multiple reference line selection scheme
US20220400255A1 (en) * 2021-06-11 2022-12-15 Tencent America LLC Intra Mode Coding
US20240129528A1 (en) * 2021-06-29 2024-04-18 Kt Corporation Video signal encoding/decoding method and apparatus based on intra prediction, and recording medium storing bitstream

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2472305C2 (ru) 2007-02-23 2013-01-10 Ниппон Телеграф Энд Телефон Корпорейшн Способ кодирования видео и способ декодирования видео, устройства для этого, программы для этого и носители хранения, на которых хранятся программы
US8902978B2 (en) 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
KR101739987B1 (ko) 2010-12-28 2017-05-26 에스케이 텔레콤주식회사 주변블록의 특징벡터를 이용한 영상 부호화/복호화 방법 및 장치
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
US9787982B2 (en) 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
GB2494468B (en) 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes
KR20130029693A (ko) * 2011-09-15 2013-03-25 주식회사 아이벡스피티홀딩스 인트라 예측 모드 부호화/복호화 방법
KR101974952B1 (ko) * 2011-10-06 2019-05-07 인텔렉추얼디스커버리 주식회사 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
US9628789B2 (en) 2011-11-18 2017-04-18 Qualcomm Incorporated Reference mode selection in intra mode coding
KR102511107B1 (ko) * 2011-12-05 2023-03-17 엘지전자 주식회사 인트라 예측 방법 및 장치
JP2013141187A (ja) * 2012-01-06 2013-07-18 Sony Corp 画像処理装置及び画像処理方法
KR101378434B1 (ko) 2012-10-19 2014-03-27 한양대학교 산학협력단 고속 화면내 예측 모드 결정 방법
KR20140121022A (ko) * 2013-04-04 2014-10-15 주식회사 팬택 복수의 레이어를 지원하는 비디오의 부호화 및 복호화 방법 및 이를 이용하는 장치
AU2013202653A1 (en) * 2013-04-05 2014-10-23 Canon Kabushiki Kaisha Method, apparatus and system for generating intra-predicted samples
KR20140124443A (ko) 2013-04-15 2014-10-27 인텔렉추얼디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR20140124442A (ko) * 2013-04-15 2014-10-27 인텔렉추얼디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US9503715B2 (en) * 2013-08-30 2016-11-22 Qualcomm Incorporated Constrained intra prediction in video coding
US10469848B2 (en) 2013-12-18 2019-11-05 Hfi Innovation Inc. Palette prediction and sharing in video coding
CN105981380B (zh) 2013-12-18 2019-08-20 寰发股份有限公司 利用调色板编码的编码视频数据区块的方法和装置
BR112016014327B1 (pt) 2013-12-18 2023-03-21 Hfi Innovation Inc. Método de decodificação de um bloco de dados de vídeo
CN106031171B (zh) 2013-12-27 2019-08-30 联发科技股份有限公司 具有跨块预测的调色板编码的方法和装置
CA2934743C (en) 2013-12-27 2018-11-27 Hfi Innovation Inc. Method and apparatus for syntax redundancy removal in palette coding
EP3087743A4 (en) 2013-12-27 2017-02-22 HFI Innovation Inc. Method and apparatus for major color index map coding
US10484696B2 (en) 2014-01-07 2019-11-19 Mediatek Inc. Method and apparatus for color index prediction
BR112016017201B1 (pt) 2014-01-29 2023-09-26 Hfi Innovation Inc Método de codificação e decodificação para precisão adaptativa de vetor de movimento de um bloco de dados de vídeo
EP3117608B1 (en) 2014-03-14 2021-05-12 HFI Innovation Inc. Method for palette management
WO2015135484A1 (en) 2014-03-14 2015-09-17 Mediatek Inc. Method of color index coding with palette stuffing
WO2015176685A1 (en) 2014-05-23 2015-11-26 Mediatek Inc. Methods for palette size signaling and conditional palette escape flag signaling
KR101982829B1 (ko) 2014-05-23 2019-05-28 에이치에프아이 이노베이션 인크. 팔레트 테이블 예측 및 시그널링을 위한 방법과 장치
CN106716999B (zh) 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
KR102069474B1 (ko) 2014-07-07 2020-01-22 에이치에프아이 이노베이션 인크. 인덱스 맵 부호화의 예측자로서 이스케이프 픽셀을 취급하는 방법
US10448049B2 (en) 2014-09-03 2019-10-15 Mediatek Inc. Method for color index coding using a generalized copy previous mode
US10390021B2 (en) * 2016-03-18 2019-08-20 Mediatek Inc. Method and apparatus of video coding

Also Published As

Publication number Publication date
CN113422953A (zh) 2021-09-21
CN108886617A (zh) 2018-11-23
KR20180123674A (ko) 2018-11-19
CN108886617B (zh) 2021-08-27
US11259047B2 (en) 2022-02-22
KR102402045B1 (ko) 2022-05-25
CN113438477A (zh) 2021-09-24
US20220141489A1 (en) 2022-05-05
EP3442232A4 (en) 2019-12-04
US20190116381A1 (en) 2019-04-18
US20230412838A1 (en) 2023-12-21
ES2711189A2 (es) 2019-04-30
ES2711189R1 (es) 2020-02-04
EP3442232A1 (en) 2019-02-13
ES2688624R1 (es) 2018-12-04
CN113438478A (zh) 2021-09-24
US11785257B2 (en) 2023-10-10
WO2017176030A1 (ko) 2017-10-12

Similar Documents

Publication Publication Date Title
ES2688624A2 (es) Método y aparato para procesar señales de vídeo
ES2703607B2 (es) Método y aparato para procesar señales de vídeo
ES2908214T3 (es) Filtración adaptativa de muestras de referencia para intra predicción usando líneas de píxeles distantes
ES2800551B2 (es) Método y aparato para tratar una señal de vídeo
ES2739668B1 (es) Metodo y aparato para procesar senales de video
ES2692864B1 (es) Metodo y aparato para procesar senales de video
ES2737874B2 (es) Metodo y aparato para procesar senal de video
ES2917123B1 (es) Método para modificar una muestra de predicción basado en interpredicción
ES2677193B1 (es) Procedimiento y dispositivo para procesar señales de vídeo
ES2699749B2 (es) Método y aparato para procesar una señal de vídeo
ES2711474A2 (es) Metodo y aparato para procesar una senal de video
ES2711223A2 (es) Metodo y aparato para procesar senales de video
ES2703458A2 (es) Metodo y aparato para procesar senales de video
ES2711230A2 (es) Metodo y aparato para procesar una senal de video
ES2711473A2 (es) Metodo y aparato para procesar una senal de video

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2688624

Country of ref document: ES

Kind code of ref document: A2

Effective date: 20181105

EC2A Search report published

Ref document number: 2688624

Country of ref document: ES

Kind code of ref document: R1

Effective date: 20181127

FC2A Grant refused

Effective date: 20211227