ES2703607B2 - 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
ES2703607B2
ES2703607B2 ES201990010A ES201990010A ES2703607B2 ES 2703607 B2 ES2703607 B2 ES 2703607B2 ES 201990010 A ES201990010 A ES 201990010A ES 201990010 A ES201990010 A ES 201990010A ES 2703607 B2 ES2703607 B2 ES 2703607B2
Authority
ES
Spain
Prior art keywords
prediction
intra
current block
block
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES201990010A
Other languages
English (en)
Other versions
ES2703607A2 (es
ES2703607R1 (es
Inventor
Bae Keun Lee
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 ES2703607A2 publication Critical patent/ES2703607A2/es
Publication of ES2703607R1 publication Critical patent/ES2703607R1/es
Application granted granted Critical
Publication of ES2703607B2 publication Critical patent/ES2703607B2/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Description

DESCRIPCIÓN
Método y aparato para procesar señales de vídeo
Campo técnico
La presente invención se refiere a un método y a un aparato para procesar señales de vídeo.
Antecedentes de la técnica
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 imagen actual desde una imagen anterior o posterior de la imagen actual; una técnica de intra predicción de predicción de un valor de píxel incluido en una imagen actual que usa información de píxel en la imagen 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.
Problema técnico
Un objeto de la presente invención es proporcionar un método y un aparato para realizar de 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 realizar intra predicción para un bloque objetivo de codificación/decodificación seleccionando al menos una de una pluralidad de líneas de referencia 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 una línea de referencia basándose en un bloque que tiene una forma predeterminada o que tiene un tamaño igual o mayor que un tamaño predeterminado 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 aplicar un intra filtro a al menos una de una pluralidad de líneas de referencia 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 determinar de manera adaptativa un modo de intra predicción o un número del modo de intra predicción de acuerdo con una línea de referencia usada para intra predicción de un bloque actual al codificar/decodificar una señal de vídeo.
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.
Solución técnica
Un método y un aparato para decodificar una señal de vídeo de acuerdo con la presente invención pueden obtener una pluralidad de líneas de muestra de referencia para un bloque actual, seleccionar al menos dos entre la pluralidad de líneas de muestra de referencia, y realizar intra predicción para el bloque actual basándose en las líneas de muestra de referencia seleccionadas.
Un método y un aparato para codificar una señal de vídeo de acuerdo con la presente invención pueden obtener una pluralidad de líneas de muestra de referencia para un bloque actual, seleccionar al menos dos entre la pluralidad de líneas de muestra de referencia, y realizar intra predicción para el bloque actual basándose en las líneas de muestra de referencia seleccionadas.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, seleccionar al menos dos entre la pluralidad de líneas de muestra de referencia puede corresponder a seleccionar una línea de muestra de referencia diferente para cada región determinada del bloque actual.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, pueden seleccionarse diferentes líneas de muestra de referencia entre una primera región adyacente a un límite del bloque actual y una segunda región distinta de la primera región.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, el límite puede determinarse de acuerdo con un modo de intra predicción del bloque actual.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, una muestra de predicción del bloque actual puede obtenerse basándose en una operación de suma ponderada de muestras de referencia cada una de las cuales están incluidas en una línea de muestra diferente.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, un peso aplicado a cada una de las muestras de referencia puede determinarse basándose en al menos uno de un modo de intra predicción del bloque actual, una distancia entre la muestra de predicción y una muestra de referencia o una posición de una línea de muestra en la que está incluida una muestra de referencia.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, la pluralidad de líneas de muestra de referencia pueden obtenerse basándose en un bloque que tiene una forma predeterminada o que tiene un tamaño igual o mayor que un tamaño predeterminado, comprendiendo el bloque el bloque actual.
En el método y el aparato para codificar/decodificar una señal de vídeo de acuerdo con la presente invención, el bloque actual puede compartir la pluralidad de líneas de muestra de referencia con un bloque vecino incluido en el bloque que tiene la forma predeterminada o que tiene el tamaño igual o mayor que el tamaño predeterminado.
Las características resumidas brevemente 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.
Efectos ventajosos
De acuerdo con la presente invención, puede realizarse una intra predicción eficaz para un bloque objetivo de codificación/decodificación.
De acuerdo con la presente invención, puede realizarse intra predicción para un bloque objetivo de codificación/decodificación seleccionando al menos una de una pluralidad de líneas de referencia.
De acuerdo con la presente invención, una línea de referencia puede derivarse basándose en un bloque que tiene una forma predeterminada o que tiene un tamaño igual o mayor que un tamaño predeterminado.
De acuerdo con la presente invención, puede aplicarse un intra filtro a al menos una de una pluralidad de líneas de referencia.
De acuerdo con la presente invención, puede determinarse un modo de intra predicción o un número del modo de intra predicción de manera adaptativa de acuerdo con una línea de referencia usada para intra predicción de un bloque actual.
Los efectos obtenibles por la presente invención no están limitados a los efectos anteriormente mencionados, y otros efectos no mencionados pueden entenderse fácilmente por los expertos en la materia a partir de la descripción a continuación.
Descripción de los dibujos
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 un diagrama 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 un diagrama que ilustra un tipo de partición en el que se permite particionamiento basado en árbol binario de acuerdo con una realización de la presente invención.
La Figura 5 es un diagrama que ilustra un ejemplo en el que únicamente se permite una partición basada en árbol binario de un tipo predeterminado de acuerdo con una realización de la presente invención.
La Figura 6 es un diagrama para explicar un ejemplo en el que se codifica/decodifica información relacionada con el número permisible de particionamiento de árbol binario, de acuerdo con una realización a la que se aplica la presente invención.
La Figura 7 es un diagrama que ilustra un modo de partición aplicable a un bloque de codificación de acuerdo con una realización de la presente invención.
La Figura 8 es un diagrama 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 9 es un diagrama que ilustra una clase de modos de intra predicción extendidos de acuerdo con una realización de la presente invención.
La Figura 10 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 11 es un diagrama 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 12 y 13 son diagramas 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 14 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 15 a 17 ilustran un ejemplo de filtración en muestras de referencia de acuerdo con una realización de la presente invención.
La Figura 18 es un diagrama que ilustra una pluralidad de líneas de muestra de referencia de acuerdo con una realización de la presente invención.
La Figura 19 es un diagrama que ilustra un ejemplo en el que se determina un uso de una línea de referencia extendida de acuerdo con una forma de un bloque actual, de acuerdo con una realización de la presente invención.
La Figura 20 es un diagrama de flujo que ilustra un método de realización de intra predicción basado en una línea de referencia extendida de acuerdo con la presente invención.
La Figura 21 es un diagrama que ilustra una pluralidad de líneas de referencia para un bloque no cuadrado de acuerdo con la presente invención.
La Figura 22 es un diagrama para explicar un ejemplo en el que se sustituye una muestra de referencia no disponible por una muestra de referencia disponible localizada en la distancia más corta desde la muestra de referencia no disponible.
Las Figuras 23 y 24 son diagramas para explicar una realización en la que se determina de manera adaptativa la posición de una muestra de referencia disponible de acuerdo con una distancia entre una muestra de referencia no disponible y una muestra de referencia disponible incluida en la misma línea de referencia como la muestra de referencia no disponible.
Las Figuras 25 y 26 son diagramas que ilustran muestras de referencia usadas para derivar un valor promedio de una línea de referencia de acuerdo con una realización a la que se aplica la presente invención.
La Figura 27 es un diagrama que muestra un ejemplo de obtención de una muestra de predicción usando una pluralidad de líneas de referencia.
La Figura 28 es un diagrama para explicar un ejemplo de determinación de una línea de referencia basándose en la información de posición de una muestra objetivo de decodificación.
La Figura 29 es un diagrama que ilustra un ejemplo de realización de intra predicción usando una muestra de referencia derivada basándose en un bloque de una forma predeterminada.
La Figura 30 es un diagrama que ilustra un ejemplo de realización de intra predicción usando una pluralidad de líneas de referencia derivadas basándose en un bloque de una forma predeterminada.
La Figura 31 es un diagrama de flujo que ilustra procesos de obtención de una muestra residual de acuerdo con una realización a la que se aplica la presente invención.
Modo para la invención
Puede realizarse una diversidad de modificaciones a la presente invención y existen diversas 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 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 imagen, 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 alejan 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 imagen puede particionar una imagen 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 imagen puede particionar una imagen en combinaciones de múltiples unidades de codificación, unidades de predicción, y unidades de transformada, y puede codificar una imagen seleccionando una combinación de unidades de codificación, unidades de predicción, y unidades de transformada con un criterio predeterminado (por ejemplo, función de coste).
Por ejemplo, una imagen 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 imagen en unidades de codificación. Una unidad de codificación que se particiona en otras unidades de codificación con una imagen 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 imagen 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 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 a 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 imagen anterior o una imagen posterior de la imagen actual, o puede predecir la unidad de predicción basándose en información de algunas regiones codificadas en la imagen actual, en algunos casos. El módulo 120 de inter predicción puede incluir un módulo de interpolación de imagen 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 imagen de referencia puede recibir información de imagen 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 imagen 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 imagen de referencia interpolada por el módulo de interpolación de imagen 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 información del píxel de referencia que es vecino a un bloque actual que es información de píxel en la imagen 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 NxN 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í 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 imagen. 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, 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 imagen 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 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 imagen original en unidades de un píxel en la imagen sometida a desbloqueo. Para realizar la corrección de desplazamiento en una imagen 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 imagen 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 imagen reconstruida filtrada y la imagen original. Los píxeles incluidos en la imagen 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 imagen reconstruidos calculados a través del módulo 150 de filtro. El bloque o imagen 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.
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 imagen previamente decodificada 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 NxN 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 imagen anterior o una imagen posterior de la imagen 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 imagen 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 imagen 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 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 imagen 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 imagen 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 imagen reconstruida basándose en el tipo de corrección de desplazamiento e información de valor de desplazamiento aplicados a una imagen 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 como que se incluye en un conjunto de parámetros particular.
La memoria 245 puede almacenar la imagen o bloque reconstruidos para su uso como una imagen o bloque de referencia, y puede proporcionar la imagen 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.
Además, un bloque actual puede representar un bloque objetivo a codificarse/decodificarse. Y, el bloque actual puede representar un bloque de árbol de codificación (o una unidad de árbol de codificación), un bloque de codificación (o una unidad de codificación), un bloque de transformada (o una unidad de transformada), un bloque de predicción (o una unidad de predicción), o similares dependiendo de una etapa de codificación/decodificación.
Una imagen puede codificarse/decodificarse dividiendo en bloques de base que tienen una forma cuadrada o una forma no cuadrada. En este momento, el bloque de base puede denominarse como una unidad de árbol de codificación. La unidad de árbol de codificación puede definirse como una unidad de codificación del tamaño más grande permitido dentro de una secuencia o un corte. La información con respecto a si la unidad de árbol de codificación tiene una forma cuadrada o tiene una forma no cuadrada o información con respecto a un tamaño de la unidad de árbol de codificación puede señalizarse a través de un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, o un encabezamiento de corte. La unidad de árbol de codificación puede dividirse en particiones de tamaño más pequeño. En este momento, si se supone que una profundidad de una partición generada dividiendo la unidad de árbol de codificación es 1, una profundidad de una partición generada dividiendo la partición que tiene la profundidad de 1 puede definirse como 2. Es decir, una partición generada dividiendo una partición que tiene una profundidad k en la unidad de árbol de codificación puede definirse como que tiene una profundidad k+1.
Una partición de tamaño arbitrario generada dividiendo una unidad de árbol de codificación puede definirse como una unidad de codificación. La unidad de codificación puede dividirse de manera recursiva o dividirse en unidades de base para realizar predicción, cuantificación, transformada, o filtración en bucle, y similares. Por ejemplo, una partición de tamaño arbitrario generada dividiendo la unidad de codificación puede definirse como una unidad de codificación, o puede definirse como una unidad de transformada o una unidad de predicción, que es una unidad de base para realizar predicción, cuantificación, transformada o filtración en bucle y similares.
El particionamiento de una unidad de árbol de codificación o una unidad de codificación puede realizarse basándose en al menos una de una línea vertical y una línea horizontal. Además, el número de líneas verticales o líneas horizontales que particionan la unidad de árbol de codificación o la unidad de codificación puede ser al menos una o más. Por ejemplo, la unidad de árbol de codificación o la unidad de codificación pueden dividirse en dos particiones usando una línea vertical o una línea horizontal, o la unidad de árbol de codificación o la unidad de codificación pueden dividirse en tres particiones usando dos líneas verticales o dos líneas horizontales.
Como alternativa, la unidad de árbol de codificación o la unidad de codificación pueden particionarse en cuatro particiones que tienen una altura y una anchura de 1/2 usando una línea vertical y una línea horizontal.
Cuando una unidad de árbol de codificación o una unidad de codificación se dividen en una pluralidad de particiones usando al menos una línea vertical o al menos una línea horizontal, las particiones pueden tener un tamaño uniforme o diferente tamaño. Como alternativa, una partición cualquiera puede tener un tamaño diferente de las particiones restantes.
En las realizaciones descritas a continuación, se supone que una unidad de árbol de codificación o una unidad de codificación se divide en una estructura de árbol cuádruple o una estructura de árbol binario. Sin embargo, también es posible dividir una unidad de árbol de codificación o una unidad de codificación usando un número mayor de líneas verticales o un número mayor de líneas horizontales.
La Figura 3 es un diagrama que ilustra un ejemplo de particionamiento jerárquico de un bloque de codificación basado 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 que realiza intra/inter predicción, transformada, y cuantificación. Además, se determina un modo de predicción (por ejemplo, modo de intra predicción o modo de inter predicción) en unidades de un bloque de codificación, y los bloques de predicción incluidos en el bloque de codificación pueden compartir el modo de predicción determinado. 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 se particiona un bloque de codificación de 2Nx2N en cuatro bloques de codificación de NxN, y particionamiento basado en árbol binario puede significar que se particiona un bloque de codificación en dos bloques de codificación. Incluso si se realiza el particionamiento basado en árbol binario, puede existir un bloque de codificación con forma cuadrada en la profundidad inferior.
El particionamiento basado en árbol binario puede realizarse simétrica o asimétricamente. 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. Por ejemplo, un tipo de partición en el que se permite el particionamiento basado en árbol binario puede comprender al menos uno de un tipo simétrico de 2NxN (unidad de codificación no cuadrada direccional horizontal) o de Nx2N (unidad de codificación no cuadrada de dirección vertical), tipo asimétrico de nLx2N, nRx2N, 2NxnU, o 2NxnD.
El particionamiento basado en árbol binario puede permitirse de manera limitada a una de una partición de tipo simétrico o una de tipo asimétrico. En este caso, construir la unidad de árbol de codificación con bloques cuadrados puede corresponder a particionamiento de CU de árbol cuádruple, y construir la unidad de árbol de codificación con bloques no cuadrados simétricos puede corresponder a particionamiento de árbol binario. Construir la unidad de árbol de codificación con bloques cuadrados y bloques no cuadrados simétricos puede corresponder a particionamiento de CU de árbol cuádruple y binario.
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 puede ya no realizarse en el bloque de codificación particionado basándose en el árbol binario.
Adicionalmente, el particionamiento de una profundidad inferior puede determinarse dependiendo de un tipo de partición de una profundidad superior. Por ejemplo, si se permite particionamiento basado en árbol binario en dos o más profundidades, únicamente puede permitirse el mismo tipo que el particionamiento de árbol binario de la profundidad superior en la profundidad inferior. Por ejemplo, si se realiza el particionamiento basado en árbol binario en la profundidad superior con tipo 2NxN, se realiza también el particionamiento basado en árbol binario en la profundidad inferior con tipo 2NxN. Como alternativa, si se realiza el particionamiento basado en árbol binario en la profundidad superior con tipo Nx2N, se realiza también el particionamiento basado en árbol binario en la profundidad inferior con tipo Nx2N.
Por el contrario, también es posible permitir, en una profundidad inferior, únicamente un tipo diferente de un particionamiento de un árbol binario de una profundidad superior.
Puede ser posible limitar únicamente un tipo específico de particionamiento basado en árbol binario para que se use para la secuencia, corte, unidad de árbol de codificación, o unidad de codificación. Como un ejemplo, únicamente puede permitirse el tipo 2NxN o el tipo Nx2N de particionamiento basado en árbol binario para la unidad de árbol de codificación. Un tipo de partición disponible puede predefinirse en un codificador o un decodificador. O puede codificarse información sobre el tipo de partición disponible o sobre el tipo de partición disponible y a continuación señalizarse a través de un flujo de bits.
La Figura 5 es un diagrama que ilustra un ejemplo en el que únicamente se permite un tipo específico de particionamiento basado en árbol binario. La Figura 5A muestra un ejemplo en el que únicamente se permite tipo Nx2N de particionamiento basado en árbol binario, y la Figura 5B muestra un ejemplo en el que únicamente se permite el tipo 2NxN de particionamiento basado en árbol binario. Para implementar particionamiento adaptativo basado en árbol cuádruple o árbol binario, puede usarse información que indica particionamiento basado en árbol cuádruple, información sobre el tamaño/profundidad del bloque de codificación de que se permite particionamiento 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 de que se permite particionamiento basado en árbol binario, información sobre el tamaño/profundidad del bloque de codificación que no se permite 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.
Además, puede obtenerse información sobre el número de veces que se permite un particionamiento de árbol binario, una profundidad a la que se permite particionamiento de árbol binario, o el número de las profundidades a las que se permite el particionamiento de árbol binario para una unidad de árbol de codificación o una unidad de codificación específica. La información puede codificarse en unidades de una unidad de árbol de codificación o una unidad de codificación, y puede transmitirse a un decodificador a través de un flujo de bits.
Por ejemplo, una sintaxis 'max_binary_depth_idx_minus1' que indica una profundidad máxima a la que puede codificarse particionamiento de árbol binario puede codificarse / decodificarse a través de un flujo de bits. En este caso, max_binary_depth_idx_minus1 1 puede indicar la profundidad máxima a la que se permite el particionamiento de árbol binario.
Haciendo referencia al ejemplo mostrado en la Figura 6, en la Figura 6, el particionamiento de árbol binario se ha realizado para una unidad de codificación que tiene una profundidad de 2 y una unidad de codificación que tiene una profundidad de 3. Por consiguiente, puede codificarse / decodificarse a través de un flujo de bits al menos una de información que indica el número de veces que se ha realizado el particionamiento de árbol binario en la unidad de árbol de codificación (es decir, 2 veces), información que indica la profundidad máxima a la que se ha permitido el particionamiento de árbol binario en la unidad de árbol de codificación (es decir, profundidad 3), o el número de profundidades en las que se ha realizado el particionamiento de árbol binario en la unidad de árbol de codificación (es decir, 2 (profundidad 2 y profundidad 3)).
Como otro ejemplo, puede obtenerse al menos una de información sobre el número de veces que se permite el particionamiento de árbol binario, la profundidad a la que se permite el particionamiento de árbol binario, o el número de las profundidades a las que se permite el particionamiento de árbol binario para cada secuencia o cada corte. Por ejemplo, la información puede codificarse en unidades de una secuencia, una imagen, o una unidad de corte y transmitirse a través de un flujo de bits. Por consiguiente, al menos uno del número del particionamiento de árbol binario en un primer corte, la profundidad máxima en la que se permite el particionamiento de árbol binario en el primer corte, o el número de profundidades en las que se realiza el particionamiento de árbol binario en el primer corte puede diferenciarse de un segundo corte. Por ejemplo, en el primer corte, puede permitirse particionamiento de árbol binario para únicamente una profundidad, mientras que en el segundo corte, puede permitirse particionamiento de árbol binario para dos profundidades.
Como otro ejemplo, el número de veces que se permite el particionamiento de árbol binario, la profundidad a la que se permite el particionamiento de árbol binario, o el número de profundidades a las que se permite el particionamiento de árbol binario puede establecerse de manera diferente de acuerdo con un identificador de nivel de tiempo (TemporalID) de un corte o una imagen. En este punto, el identificador de nivel temporal (TemporalID) se usa para identificar cada una de una pluralidad de capas de vídeo que tienen una escalabilidad de al menos una de vista, espacial, temporal o calidad.
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.
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.
Un número de un candidato que representa un tamaño de un bloque de codificación puede limitarse a un número predeterminado, o un tamaño de un bloque de codificación en una unidad predeterminada puede tener un valor fijo. Como un ejemplo, el tamaño del bloque de codificación en una secuencia o en una imagen puede limitarse para que tenga 256x256, 128x128 o 32x32. La información que indica el tamaño del bloque de codificación en la secuencia o en la imagen puede señalizarse a través de un encabezamiento de secuencia o un encabezamiento de imagen.
Como resultado del particionamiento basado en un árbol cuádruple y un árbol binario, una unidad de codificación puede representarse como forma cuadrada o rectangular de un tamaño arbitrario.
Un bloque de codificación se codifica usando al menos uno de un modo de salto, intra predicción, inter predicción, o un método de salto. Una vez que se determina un bloque de codificación, un bloque de predicción puede determinarse a través de particionamiento predictivo del bloque de codificación. El particionamiento predictivo del bloque de codificación puede realizarse por un modo de partición (Part_mode) que indica un tipo de partición del bloque de codificación. Un tamaño o una forma del bloque de predicción pueden determinarse de acuerdo con el modo de partición del bloque de codificación. Por ejemplo, un tamaño de un bloque de predicción determinado de acuerdo con el modo de partición puede ser igual o menor que un tamaño de un bloque de codificación.
La Figura 7 es un diagrama que ilustra un modo de partición que puede aplicarse a un bloque de codificación cuando se codifica el bloque de codificación por inter predicción.
Cuando se codifica un bloque de codificación por inter predicción, puede aplicarse uno de 8 modos de particionamiento al bloque de codificación, como en el ejemplo mostrado en la Figura 4.
Cuando se codifica un bloque de codificación por intra predicción, puede aplicarse un modo de partición PART_2Nx2N o un modo de partición PART_NxN al bloque de codificación.
Puede aplicarse PART_NxN cuando un bloque de codificación tiene un tamaño mínimo. En este punto, el tamaño mínimo del bloque de codificación puede predefinirse en un codificador y en un decodificador. O, puede señalizarse información con respecto al tamaño mínimo del bloque de codificación mediante un flujo de bits. Por ejemplo, el tamaño mínimo del bloque de codificación puede señalizarse a través de un encabezamiento de corte, de modo que el tamaño mínimo del bloque de codificación puede definirse por cada corte.
En general, un bloque de predicción puede tener un tamaño de 64^64 a 4x4. Sin embargo, cuando se codifica un bloque de codificación por inter predicción, puede restringirse que el bloque de predicción no tenga un tamaño de 4x4 para reducir ancho de banda de memoria cuando se realiza compensación de movimiento.
La Figura 8 es un diagrama 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 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.
Puede usarse un número mayor de los modos de intra predicción que los 35 modos de intra predicción mostrados en la Figura 8. Por ejemplo, puede usarse un número mayor de los modos de intra predicción que los 35 modos de intra predicción subdividiendo ángulos de modos de predicción direccional o derivando un modo de predicción direccional que tiene un ángulo predeterminado usando al menos uno de un número predefinido de modos de predicción direccional. En este momento, el uso de un número mayor de los modos de intra predicción que los 35 modos de intra predicción puede denominarse como un modo de intra predicción extendido.
La Figura 9 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.
Un tamaño de un bloque al que se aplica el modo de intra predicción extendido puede establecerse de manera diferente para cada secuencia, imagen o corte. Por ejemplo, se establece que el modo de intra predicción extendido se aplique a un bloque (por ejemplo, CU o PU) que tiene un tamaño mayor que 64x64 en el primer corte. Por otra parte, se establece que el modo de intra predicción extendido se aplique a un bloque que tiene un tamaño mayor que 32x32 en el segundo corte. La información que representa un tamaño de un bloque al que se aplica el modo de intra predicción extendido puede señalizarse a través de unidades de una secuencia, una imagen, o un corte. Por ejemplo, la información que indica el tamaño del bloque al que se aplica el modo de intra predicción extendido puede definirse como 'log2_extended_intra_mode_size_minus4' obtenido tomando un logaritmo del tamaño de bloque y a continuación restando el número entero 4. Por ejemplo, si un valor de log2_extended_intra_mode_size_minus4 es 0, puede indicar que el modo de intra predicción extendido puede aplicarse a un bloque que tiene un tamaño igual a o mayor que 16x16. Y si un valor de log2_extended_intra_mode_size_minus4 es 1, puede indicar que el modo de intra predicción extendido puede aplicarse a un bloque que tiene un tamaño igual a o mayor que 32x32.
Como se ha descrito anteriormente, el número de los modos de intra predicción puede determinarse en consideración de al menos uno de un componente de color, un formato de croma, y un tamaño o una forma de un bloque. Además, el número de intra candidatos de modo de predicción (por ejemplo, el número de MPM) usado para determinar un modo de intra predicción de un bloque actual a codificarse/decodificarse puede determinarse también de acuerdo con al menos uno de un componente de color, un formato de color, y el tamaño o una forma de un bloque. Un método de determinación de un modo de intra predicción de un bloque actual a codificarse/decodificarse y un método de realización de intra predicción que usa el modo de intra predicción determinado se describirán con los dibujos.
La Figura 10 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 10, un modo de intra predicción del bloque actual puede determinarse en la etapa S1000.
Específicamente, el modo de intra predicción del bloque actual puede derivarse basándose en una 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, un tipo de color, un formato de color, 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 imagen, 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 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 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 (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 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 basándose en el modo de intra predicción del componente de luminancia como se muestra en la siguiente Tabla 1.
Tabla 1
Figure imgf000034_0001
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.
Haciendo referencia a la Figura 10, una muestra de referencia para intra predicción del bloque actual puede derivarse en la etapa S1010.
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 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 como la muestra de referencia. La filtración de muestras vecinas usando un intra filtro puede denominarse también como suavizado de 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. En este momento, al menos un coeficiente de filtro del primer intra filtro o del segundo intra filtro puede ser (1,2, 1), pero no está limitado a lo mismo.
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 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. Por ejemplo, si el tamaño del bloque de transformada es 4x4, no puede realizarse filtración. 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 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.
T l 21
Figure imgf000036_0001
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 10, puede realizarse intra predicción usando el modo de intra predicción del bloque actual y la muestra de referencia en la etapa S1020.
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 imagen 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 11 a 13. 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 11 es un diagrama 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 regiones parciales predeterminadas. Las regiones parciales pueden ser de una fila/columna o múltiples filas/columnas, y estas pueden ser regiones prestablecidas para corrección en el dispositivo para codificar/decodificar un vídeo. Por ejemplo, puede realizarse corrección en una fila / columna localizada en un límite del bloque actual o puede realizarse en una pluralidad de filas / columnas desde un límite del bloque actual. Como alternativa, las regiones parciales 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 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
P '(
Figure imgf000038_0001
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
Figure imgf000038_0002
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 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
Figure imgf000038_0003
[Ecuación 4]
Figure imgf000038_0004
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 predicción puede corregirse como se muestra en la Ecuación 5 y la Ecuación 6.
[Ecuac
Figure imgf000039_0001
[Ecua
Figure imgf000039_0002
Las Figuras 12 y 13 son diagramas 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 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 12, 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 uno del número de derivaciones del filtro y un coeficiente de filtro es diferente para cada una de las líneas, puede ser usado. 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 13, 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 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 12 y 13 están basadas en el caso donde se usan los 35 modos de intra predicción en la Figura 7, pero puede aplicarse de manera igual/similar al caso donde se usan los modos de intra predicción extendidos.
La Figura 14 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.
Puede realizarse intra predicción de un bloque actual usando una muestra de referencia derivada basándose en una muestra reconstruida incluida en un bloque vecino. En este punto, la muestra reconstruida significa que se completa la codificación/decodificación antes de codificar/decodificar el bloque actual. Por ejemplo, puede realizarse intra predicción para el bloque actual basándose en al menos una de las muestras de referencia P (-1, -1), P (-1, y) (0 <= y <= 2N-1) y P (x, -1) (0 <= x <= 2N-1). 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.
Puede realizarse filtración en muestras de referencia usando un intra filtro predefinido en un codificador y un decodificador. Por ejemplo, puede usarse un intra filtro con un coeficiente de filtro de (1, 2, 1) o un intra filtro con un coeficiente de filtro de (2, 3, 6, 3, 2) para derivar final muestras de referencia para su uso en intra predicción.
Como alternativa, puede seleccionarse al menos uno de una pluralidad de candidatos de intra filtro 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 imagen, un corte, o un nivel de bloque. Es decir, una secuencia, una imagen, 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 ( - 11 )= (P ( -1,0 )+ 2 P (-11 )+ P (0 ,-1 ) 2 ) » 2
P ( - 1 ,y )= (P ( - 1 ,y +1 )+ 2 P (-1 ,y)+ P ( - 1 ,y - 1 ) 2 ) » 2
P (x ,- 1 )= (P (x+ 11 )+ 2P O ,-1 )+ P (x - 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]
P ( - 11 )= (2 P (-2 ,0 )+ 3 P (-1,0 )+ 6 P (-11 )+ 3 P (0 ,-1 )+ 2 P (0 ,-2 )+ 8 )» 4
P (-1^ )= (2 P C -1 ^ 2 )+ 3 P (-1 ;3;+ 1 )+ 6P (-1 ^ )+ 3P (-1 ;j ;-1 )+ 2P (-1,>;- 2 ) 8 ) » 4 P { x - 1 )= (2P (x+ 2 ,-1 )+ 3P(x+ 1,-1 )+ 6 P (x , - 1 )+ 3P (x -11 )+ 2P (x -2 ,-1 ) 8 ) » 4
En las Ecuaciones 7 y 8 anteriores, x puede ser un número entero entre 0 y 2N-2, e y puede ser un número entero entre 0 y 2N-2.
Como alternativa, basándose en una posición de una muestra de referencia, puede determinarse uno de una pluralidad de candidatos de intra filtro, y puede realizarse filtración en la muestra de referencia usando el determinado. Por ejemplo, puede aplicarse un primer intra filtro a muestras de referencia incluidas en un primer intervalo, y puede aplicarse un segundo intra filtro a muestras de referencia incluidas en un segundo intervalo. En este punto, el primer intervalo y el segundo intervalo pueden distinguirse basándose en si son adyacentes a un límite de un bloque actual, si están localizados en una parte superior o un lado izquierdo de un bloque actual, o si son adyacentes a una esquina de un bloque actual. Por ejemplo, como se muestra en la Figura 15, se realiza filtración en las muestras de referencia (P (-1, -1), P (-1,0), P (­ 1,1), ... , P (-1, N-1) y P (0, -1), P (1, -1), ...) que son adyacentes a un límite del bloque actual aplicando un primer intra filtro como se muestra en la Ecuación 7, y se realiza filtración en las otras muestras de referencia que no son adyacentes a un límite del bloque actual 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 (-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 intrafiltro 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 16, 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 imagen, 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 17, 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 se usa el mismo filtro en una secuencia o una imagen, 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 imagen (PPS).
El intra filtro anteriormente descrito puede aplicarse en unidades de una unidad de codificación. Por ejemplo, puede realizarse filtración aplicando un primer intra filtro o un segundo intra filtro a muestras de referencia alrededor de una unidad de codificación.
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 una direccionalidad de un modo de intra predicción. Como se ha descrito anteriormente en un ejemplo que hace referencia a la Figura 14, la muestra de referencia (por ejemplo, P(-1, -1), P(-1, y) (0<= y <= 2N-1) , P(x, -1) (0 <= x <= 2N-1)) del bloque actual puede derivarse a partir de la muestra reconstruida incluida en el bloque vecino adyacente al bloque actual.
En este momento, se determina que una muestra incluida en un bloque vecino adyacente a un bloque actual no está disponible como una muestra de referencia, la muestra que no puede usarse como la muestra de referencia puede sustituirse por una muestra que puede usarse como la muestra de referencia. Por ejemplo, una muestra vecina puede determinarse como no disponible en caso donde una posición de una muestra incluida en un bloque vecino está fuera de una imagen, una muestra incluida en un bloque vecino está presente en un corte diferente de un bloque actual, o una muestra incluida en un bloque vecino se incluye en un bloque codificado por una inter­ predicción. En este punto, si una muestra incluida en un bloque codificado por una inter-predicción está o no no disponible puede determinarse basándose en información que indica si usar una muestra incluida en un bloque codificado por una inter­ predicción como una muestra de referencia 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'), pero no está limitado a lo mismo. Por ejemplo, cuando un valor de 'constrained_intra_prediction_flag' es 1, una muestra incluida en un bloque codificado por una inter-predicción puede determinarse que no está disponible como una muestra de referencia. En lo sucesivo, una muestra que no puede usarse como una muestra de referencia se denominará como una muestra de referencia no disponible y una muestra que puede usarse como una muestra de referencia se denominará como una muestra de referencia disponible.
En el ejemplo mostrado en la Figura 14, cuando se determina que una muestra localizada en la parte izquierda más inferior (por ejemplo, P(-1, 2N-1)) no está disponible, la muestra localizada en la parte izquierda más inferior puede sustituirse por una primera muestra de referencia disponible que se busca en primer lugar explorando muestras disponibles en un orden predeterminado. En este punto, el orden de exploración puede realizarse secuencialmente desde una muestra adyacente a la muestra de la parte izquierda más inferior. Por ejemplo, en el ejemplo mostrado en la Figura 14, cuando una muestra 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 vecina izquierda excepto para una muestra vecina localizada más a la izquierda no está disponible, la muestra vecina izquierda puede sustituirse por una muestra vecina adyacente a una parte inferior de la muestra vecina izquierda. Por ejemplo, una muestra vecina 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 vecina superior no está disponible, la muestra vecina superior puede sustituirse por una muestra vecina adyacente a la izquierda de la muestra vecina 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).
Un conjunto de muestras de referencia a las que se ha hecho referencia para intra predicción de un bloque actual puede denominarse como una 'línea de referencia' (o 'línea de intra-referencia' o 'línea de muestra de referencia'). En este punto, la línea de referencia puede representar un conjunto de muestras de referencia compuesto de una fila y/o una columna. Por ejemplo, en el ejemplo mostrado en la Figura 14, la 'línea de referencia' puede representar un conjunto de muestras de referencia que incluye P(-1,2N-1) a P(-1, 1), P(0, -1) a P(2N-2, -1).
La intra-predicción de un bloque actual puede realizarse basándose en una m uestra de referencia incluida en una línea de referencia, dependiendo de un modo de intra predicción del bloque actual. Por ejemplo, si el modo de intra predicción del bloque actual es el modo de CC, puede generarse la señal de predicción usando un promedio y/o predicción ponderada de muestras de referencia incluidas en la línea de referencia. 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.
Figure imgf000047_0001
En la Ecuación 9, dcVal puede generarse basándose en un valor promedio de muestras de referencia restantes excepto para P(-1, -1) entre muestras de referencia incluidas en una línea de referencia.
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 intrapredicción de un bloque actual es un modo planar, una muestra de predicción provisional de dirección horizontal del bloque actual 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.
Figure imgf000047_0002
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.
Figure imgf000048_0001
Puede realizarse una intra predicción de un bloque actual usando al menos una de una pluralidad de líneas de referencia. Las longitudes de la pluralidad de líneas de referencia pueden ser todas o parte de las mismas, o pueden establecerse diferentes unas de las otras
Por ejemplo, suponiendo que un bloque actual tiene un tamaño WxH, la línea de referencia de orden k puede incluir p(-k, -k), muestras de referencia localizadas en una fila idéntica a p(-k, -k) (por ejemplo, muestras de referencia de p(k+1, -k) a p(W+H+2(k-1), -k) o muestras de referencia de p(-k+1, -k) a p(2W+2(k-1), -k)) y muestras de referencia localizadas en una columna idéntica a p(-k, -k) (por ejemplo, muestras de referencia de p(-k, -k+1) a p(-k, W+H+2(k-1)) o muestras de referencia de p(-k, -k+1) a p(-k, 2H+2(k-1))).
La Figura 18 ejemplifica una pluralidad de líneas de muestra de referencia. Como en el ejemplo mostrado en la Figura 18, 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 k puede establecerse adyacente a la línea de referencia de orden (k-1).
Como alternativa, a diferencia del ejemplo mostrado en la Figura 18, también es posible configurar todas las líneas de referencia para que tengan el mismo número de muestras de referencia.
U na intra predicción de un bloque actual puede realizarse seleccionando al m enos una de una pluralidad de líneas de referencia y basándose en una muestra de referencia incluida en la línea de referencia seleccionada. Realizar intra predicción seleccionando al menos una de una pluralidad de candidatos de línea 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'. Además, una pluralidad de líneas de referencia pueden denominarse como una 'línea de referencia extendida'.
Si realizar o no intra predicción basándose en 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, pero no está limitado a lo mismo. La información sobre si realizar intra predicción basándose en 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 secuencia, una imagen o un corte. Es decir, si realizar intra predicción basándose en la línea de referencia extendida puede determinarse en unidades de una secuencia, una imagen, un corte, una CTU, una CU o una PU.
Como alternativa, si realizar o no intra predicción basándose en 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. Es decir, de acuerdo con al menos uno del tamaño, forma, profundidad o modo de intra predicción el bloque actual, puede restringirse el número de candidatos de línea de referencia disponibles para el bloque actual.
Por ejemplo, puede determinarse si realizar intra predicción usando una línea de referencia extendida, dependiendo de si un bloque actual tiene una forma cuadrada o una forma no cuadrada. Por ejemplo, si el bloque actual tiene la forma cuadrada, puede realizarse intra predicción del bloque actual basándose en la línea de referencia extendida, como en el ejemplo mostrado en la Figura 19 (a). Es decir, cuando el bloque actual tiene la forma cuadrada, puede realizarse intra predicción seleccionando al menos uno de una pluralidad de candidatos de línea de referencia alrededor del bloque actual. Por otra parte, cuando el bloque actual tiene la forma no cuadrada, puede realizarse intra predicción del bloque actual basándose en un único candidato de línea de referencia o en una línea de referencia predefinida en lugar de realizar la intra predicción basándose en la línea de referencia extendida, sin usar la línea de referencia extendida, como en el ejemplo mostrado en la Figura 19 (b). Es decir, usando una pluralidad de candidatos de línea de referencia puede restringirse que el bloque actual tenga la forma no cuadrada.
En contraste al ejemplo mostrado en la Figura 19, cuando el bloque actual tiene la forma no cuadrada, puede realizarse intra predicción basándose en una línea de referencia extendida, y cuando el bloque actual tiene la forma cuadrada, puede realizarse intra predicción sin basarse en la línea de referencia extendida.
Cuando se determina realizar intra predicción basándose en la línea de referencia extendida, puede determinarse un número de líneas de referencia disponibles para el bloque actual. En este punto, un número de líneas de referencia puede tener un valor fijo, y puede determinarse de manera adaptativa de acuerdo con un tamaño, forma o modo de intra predicción del bloque actual. Por ejemplo, cuando el modo de intra predicción del bloque actual es un modo no direccional, puede determinarse que un número de líneas de referencia es 1. Por otra parte, cuando el modo de intra predicción del bloque actual es un modo direccional, puede determinarse que un número de líneas de referencia disponibles para el bloque actual es una pluralidad.
Para un ejemplo adicional, puede determinarse un número de líneas de referencia disponibles para el bloque actual por información que se señaliza en unidades de una secuencia, una imagen, un corte o una unidad a decodificarse. En este punto, la unidad a decodificarse puede representar una unidad de árbol de codificación, una unidad de codificación, una unidad de transformada, una unidad de predicción, o similares. Por ejemplo, puede señalizarse un elemento de sintaxis 'max_intra_line_idx_minus2' que indica un número de líneas de referencia disponibles, disponibles en una secuencia o un corte a través de un encabezamiento de secuencia o un encabezamiento de corte. En este caso, el número de líneas de referencia disponibles puede establecerse a max_intra_line_idx_minus2 2.
En lo sucesivo, se describirá en detalle un método de realización de intra predicción basándose en una línea de referencia extendida.
La Figura 20 es un diagrama de flujo que ilustra un método de realización de intra predicción basándose en una línea de referencia extendida de acuerdo con la presente invención.
En primer lugar, un decodificador puede generar una pluralidad de líneas de referencia (S2010). Las muestras de referencia incluidas en cada línea de referencia pueden generarse basándose en muestras reconstruidas incluidas en bloques decodificados más anteriormente que un bloque actual.
Cuando un modo de intra predicción de un bloque actual es un modo direccional, un decodificador puede generar una línea de referencia considerando una direccionalidad del modo de intra predicción. Considerando una direccionalidad de un modo de intra predicción, puede incluirse un número mayor de muestras de referencia en la línea de referencia de orden k que en la línea de referencia de orden (k-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, puede determinarse un número de muestras de referencia incluidas adicionalmente en la línea de referencia de orden k que en la línea de referencia de orden (k-1) de manera variable de acuerdo con un tamaño, una forma o un modo de intra predicción de un bloque actual.
Por ejemplo, cuando un bloque actual tiene un tamaño de 4x4, la línea de referencia de orden k 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 (k-1). Además, cuando un bloque actual tiene un tamaño de 8x8, la línea de referencia de orden k puede incluir adicionalmente ocho (específicamente, 4 en la dirección horizontal y 4 en dirección vertical) muestras de referencia que la línea de referencia de orden (k-1).
Haciendo referencia a la Figura 18, 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.
C uando un bloque actual es no cuadrado, puede determ inarse un núm ero de m uestras de referencia incluidas en una línea de referencia de acuerdo con unas longitudes horizontales y verticales de un bloque actual.
Para un ejemplo, la Figura 21 es un diagrama que ejemplifica una pluralidad de líneas de referencia para un bloque no cuadrado. Describiendo en comparación con las Figuras 18 y 21, a medida que una 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 reduce de 8 a 4.
Es decir, de acuerdo con las Figuras 18 y 21, cuando se supone que un bloque actual tiene un tamaño WxH, la línea de referencia de orden k puede incluir un total de 2{(W+H)+2(k-1)}+1 muestras de referencia que incluyen W+H+2(k-1) muestras de referencia superior (o 2W+2(k-1) muestras de referencia superior) (es decir, muestras de referencia de dirección horizontal), W+H+2(k-1) muestras de referencia izquierda (o 2H+2(k-1) muestras de referencia izquierda) (es decir, muestras de referencia de dirección vertical) y muestra de referencia superior izquierda.
Una muestra de referencia incluida en una línea de referencia puede obtenerse basándose en una muestra reconstruida codificada/decodificada anteriormente al bloque actual. Por ejemplo, la muestra de reconstrucción en la misma localización que la muestra de referencia puede obtenerse como la muestra de referencia. En este momento, si una muestra no disponible no puede usarse para intra predicción del bloque actual se incluye entre la muestra reconstruida, la muestra no disponible puede sustituirse por una muestra disponible vecina. La muestra disponible vecina que sustituye a la muestra de referencia no disponible puede ser una muestra reconstruida incluida en una misma línea de referencia que la muestra de referencia no disponible, o puede ser una muestra reconstruida incluida en la línea de referencia diferente de la muestra de referencia no disponible.
Por ejemplo, cuando se realiza intra predicción basándose en una línea de referencia extendida, si una posición de una muestra de referencia en la línea de referencia está fuera de una imagen o en un corte diferente de un bloque actual, o si una muestra reconstruida está incluida en un bloque codificado por inter predicción, la muestra puede determinarse no disponible como la muestra de referencia del bloque actual. la muestra reconstruida incluida en un bloque codificado por inter predicción puede determinarse no disponible cuando se establece que una muestra reconstruida incluida en un bloque codificado por inter predicción no se usa como una muestra de referencia (por ejemplo, cuando un valor de constrained_intra_prediction_flag es 1).
O, si se establece que un bloque codificado por intra predicción debería codificarse antes que un bloque codificado por inter predicción, el bloque codificado por inter predicción puede aún no haberse reconstruido cuando se decodifica el bloque codificado por intra predicción. Por consiguiente, si un orden de decodificación de un bloque codificado por intra predicción es anterior a un bloque codificado por inter predicción, una muestra incluida en el bloque codificado por inter predicción puede determinarse que es una muestra de referencia no disponible.
Una muestra de referencia usada para sustituir una muestra de referencia no disponible puede determinarse en consideración de una posición de la muestra de referencia no disponible, una distancia entre la muestra de referencia no disponible y la muestra de referencia disponible, o similares. Por ejemplo, una muestra de referencia no disponible puede sustituirse por una muestra de referencia disponible que tiene una distancia más corta desde la muestra de referencia no disponible. Es decir, una muestra de referencia disponible que tiene la distancia más corta y se selecciona comparando una distancia (primer desplazamiento) entre una muestra de referencia disponible incluida en la misma línea de referencia con la muestra de referencia no disponible y la muestra no disponible y una distancia (segundo desplazamiento) entre una muestra de referencia disponible incluida en una línea de referencia diferente de una línea de referencia en la que está incluida la muestra de referencia no disponible y la muestra no disponible puede sustituirse para la muestra de referencia no disponible. Como alternativa, una muestra de referencia disponible localizada en una dirección predeterminada de la muestra de referencia no disponible puede sustituir la muestra de referencia no disponible. En este punto, la dirección predeterminada puede ser una dirección predefinida (por ejemplo, izquierda, derecha, arriba o abajo) en el codificador / decodificador. La dirección predefinida puede establecerse de manera diferente dependiendo de una posición de la muestra de referencia no disponible.
En el ejemplo mostrado en la Figura 22, se representa que una distancia entre la muestra de referencia no disponible incluida en la línea de referencia 0 y la muestra de referencia disponible incluida en la línea de referencia 0 es 4, y una distancia entre la muestra de referencia no disponible incluida en la línea de referencia 0 y la muestra de referencia disponible incluida en la línea de referencia 2 es 2. Por consiguiente, la muestra no disponible incluida en la línea de referencia 0 puede sustituirse usando la muestra de referencia disponible incluida en la línea de referencia 2.
Si un primer desplazamiento y un segundo desplazamiento son iguales, una muestra de referencia no disponible puede sustituirse usando una muestra de referencia disponible incluida en la misma línea de referencia como la muestra de referencia no disponible.
Una muestra de referencia no disponible puede sustituirse usando una muestra de referencia disponible incluida en una línea de referencia diferente de la muestra de referencia no disponible únicamente cuando una distancia (es decir, un primer desplazamiento) entre una muestra disponible incluida en la misma línea de referencia como la muestra de referencia no disponible y la muestra de referencia no disponible es igual a o mayor que N. Como alternativa, incluso cuando el primer desplazamiento es igual a o mayor que N, una muestra de referencia disponible incluida en una línea de referencia diferente de una muestra de referencia no disponible puede usarse para sustituir la muestra de referencia no disponible únicamente cuando el segundo desplazamiento es menor que el primer desplazamiento. En este punto, N puede representar un número entero de 1 o mayor.
Si un primer desplazamiento no es igual a o mayor que N, una muestra de referencia no disponible puede sustituirse usando una muestra de referencia disponible incluida en la misma línea de referencia como la muestra de referencia no disponible.
Las Figuras 23 y 24 muestran un ejemplo en el que se sustituye una muestra de referencia no disponible por una muestra de referencia disponible cuando N es 2. Si una distancia entre una muestra de referencia no disponible incluida en la línea de referencia 0 y una muestra de referencia disponible incluida en la línea de referencia 0 es 2, como en el ejemplo mostrado en la Figura 23, la muestra de referencia no disponible incluida en la línea de referencia 0 puede sustituirse usando una muestra de referencia disponible incluida en la línea de referencia 1.
Por otra parte, si una distancia entre una muestra de referencia no disponible incluida en la línea de referencia 0 y una muestra de referencia disponible incluida en la línea de referencia 0 es 1, como en el ejemplo mostrado en la Figura 24, la muestra de referencia no disponible incluida en la línea de referencia 0 puede sustituirse usando la muestra de referencia disponible incluida en la línea de referencia 0.
Una muestra de referencia no disponible puede sustituirse usando una muestra de referencia disponible incluida en la misma línea de referencia que la muestra de referencia no disponible o una muestra de referencia disponible incluida en una línea de referencia adyacente a una línea de referencia en la que se incluye la muestra de referencia no disponible. En este punto, una línea de referencia adyacente a una línea de referencia en la que se incluye la muestra de referencia no disponible puede hacer referencia a una línea de referencia que tiene una diferencia de índice de 1 de la línea de referencia que incluye la muestra de referencia no disponible. Como alternativa, la muestra de referencia no disponible puede sustituirse por una muestra de referencia disponible incluida en una línea de referencia que tiene una diferencia de índice de dos o más desde la línea de referencia que incluye la muestra de referencia no disponible.
Como alternativa, una muestra de referencia no disponible puede sustituirse usando una muestra de referencia disponible incluida en una línea de referencia que tiene un valor de índice mayor o que tiene un valor de índice menor que una línea de referencia que incluye la muestra de referencia no disponible. Por ejemplo, si se usa una línea de referencia que tiene un valor de índice mayor que una línea de referencia que incluye la muestra de referencia no disponible, puede usarse una muestra de referencia localizada en una parte izquierda o en una parte superior de la muestra de referencia no disponible para sustituir la muestra de referencia no disponible.
Puede realizarse una búsqueda para una muestra de referencia disponible para sustituir una muestra de referencia no disponible en una dirección predefinida. Por ejemplo, puede usarse únicamente una muestra de referencia localizada en una dirección de cualquiera de una parte superior, una parte inferior, una parte izquierda o una parte derecha de la muestra no disponible entre muestras de referencia incluidas en la misma línea de referencia como la muestra de referencia no disponible para sustituir la muestra de referencia no disponible. Como alternativa, puede usarse únicamente una muestra de referencia localizada en una dirección de cualquiera de una parte superior, una parte inferior, una parte izquierda o una parte derecha de la muestra no disponible entre muestras de referencia incluidas en una línea de referencia diferente de la muestra de referencia no disponible para sustituir la muestra no disponible.
De acuerdo con una realización de la presente invención, una muestra de referencia, una línea de referencia o un candidato de línea de referencia pueden derivarse basándose en un bloque que tiene un tamaño predeterminado o una forma predeterminada. Una descripción detallada de los mismos se describirá más adelante con referencia a las Figuras 29 y 30.
Un decodificador puede decodificar, basándose en un flujo de bits, información de índice que especifica al menos una de una pluralidad de líneas de referencia (S2020). Por ejemplo, si hay 4 líneas de referencia como candidatos seleccionables, como en el ejemplo mostrado en la Figura 18, la información de índice puede especificar al menos una de las 4 líneas de referencia.
Una línea de referencia para realizar intra predicción para un bloque actual puede determinarse 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.
Además, el número de líneas de referencia seleccionado para intra predicción de un bloque actual puede tener un valor fijo o puede determinarse de manera adaptativa de acuerdo con un tamaño, una forma, o un modo de intra predicción del bloque actual.
Cuando se determina al menos una 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 determinada (S2030). En este caso, una posición y/o un rango de muestras de referencia usadas en la intra predicción del bloque actual en la línea de referencia seleccionada puede obtenerse de acuerdo con al menos uno de un tipo del modo de intra predicción o una direccionalidad del modo de intra predicción del bloque actual.
Por ejemplo, cuando un modo de intra predicción de un bloque actual es un modo de CC, puede generarse una muestra de predicción del bloque actual basándose en un valor promedio (dcVal) de todas o una parte de las muestras de referencia incluidas en la línea de referencia determinada. Haciendo referencia a las Figuras 25 y 26, se describirá en detalle un cálculo del valor promedio de las muestras de referencia incluidas en la línea de referencia.
Como alternativa, cuando un modo de intra predicción de un bloque actual es un modo direccional, puede generarse una muestra de predicción del bloque actual basándose en una muestra de referencia especificada por el modo direccional entre muestras de referencia incluidas en la línea de referencia determinada. En este momento, si un segmento de línea que se extiende desde una muestra de predicción hacia la dirección indicada por los puntos de modo direccional entre muestras de referencia, la 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 que están localizadas en ambos lados del punto indicado por el segmento de línea que se extiende hacia la dirección indicada por el modo direccional.
Cuando un modo de intra predicción de un bloque actual es el modo CC, existe una necesidad para calcular un valor promedio (dcVal) de muestras de referencia incluidas en una línea de referencia para realizar predicción en el bloque actual. En este momento, el valor promedio para las muestras de referencia en la línea de referencia de orden k puede calcularse usando únicamente una parte de muestras de referencia incluidas en la línea de referencia de orden k. En este momento, el número de muestras de referencia usadas para derivar el valor promedio puede ser el mismo para cada línea de referencia, o puede ser diferente para cada línea de referencia.
Como alternativa, puede derivarse un valor promedio para muestras de referencia en la línea de referencia de orden k usando todas las muestras de referencia incluidas en la línea de referencia de orden k. Como alternativa, puede determinarse basándose en un tamaño de un bloque actual, una forma de un bloque actual, o una posición de una línea de referencia si derivar un valor promedio usando una parte de muestras de referencia en la línea de referencia de orden k o derivar un valor promedio de todas las muestras de referencia en la línea de referencia de orden k.
La Figura 25 es un diagrama que ilustra muestras de referencia usadas para derivar un valor promedio de una línea de referencia.
La Figura 25 muestra un ejemplo de derivación de un valor promedio de muestra de referencia de la línea de referencia de orden k usando una parte de muestras de referencia incluidas en una línea de referencia. Por ejemplo, un ejemplo ilustrado en la Figura 25, puede calcularse un valor promedio de la muestra de referencia de una primera línea de referencia adyacente a un bloque actual (es decir, la línea de referencia 0 mostrada en la Figura 25) usando muestras de referencia superiores y muestras de referencia izquierdas excluyendo una muestra de referencia adyacente a una esquina superior izquierda del bloque actual. Es decir, cuando un tamaño del bloque actual es NxN, puede usarse un total de 4N muestras de referencia tal como 2N muestras de referencia superior y 2N muestras de referencia izquierdas para el cálculo del valor promedio de la primera línea de referencia.
El número de muestras de referencia usadas para calcular un valor promedio de muestra de referencia de la línea de referencia de orden k puede ser el mismo que el número de muestras de referencia usadas para calcular un valor promedio de muestra de referencia de la primera línea de referencia. En este momento, una posición de una muestra de referencia usada para calcular el valor promedio de la línea de referencia de orden k puede corresponder a una posición de una muestra de referencia usada para calcular el valor promedio de muestra de referencia de la primera línea de referencia.
Una muestra de referencia en la línea de referencia de orden k que corresponde a una muestra de referencia de una primera línea de referencia puede tener la misma coordenada x o la misma coordenada y que la muestra de referencia de la primera línea de referencia. Por ejemplo, una coordenada de una muestra de referencia superior incluida en la línea de referencia de orden k que corresponde a una muestra de referencia superior P (i, j) incluida en una primera línea de referencia puede ser P(i,j-k+1) que tiene la misma coordenada x que P(i,j). Por ejemplo, una coordenada de una muestra de referencia izquierda en la línea de referencia de orden k que corresponde a una muestra de referencia izquierda P (i, j) incluida en una primera línea de referencia puede ser P(i-k+1,j) que tiene la misma coordenada y que P(i,j).
En la Figura 25, se muestran muestras de referencia de la segunda a cuarta líneas de referencia que corresponden a una muestra de referencia superior y muestra de referencia izquierda en una primera línea de referencia. Un valor promedio de muestra de referencia de cada línea de referencia puede calcularse usando las muestras de referencia mostradas en la Figura 25.
En la Figura 25, se supone que un bloque actual tiene una forma cuadrada, pero incluso si el bloque actual tiene una forma no cuadrada, la realización anterior puede aplicarse tal como está. Por ejemplo, cuando el actual es un bloque no cuadrado que tiene tamaño WxH, puede calcularse un valor promedio de muestra de referencia de cada línea de referencia usando un total de 2(W+H) muestras de referencia, tal como 2W muestras de referencia superiores y 2H muestras de referencia izquierdas. Por consiguiente, como en el ejemplo mostrado en la Figura 26, el número de muestras de referencia usadas para calcular un valor promedio de la línea de referencia de orden k puede tener el mismo valor que el número de muestras de referencia usadas para calcular un valor promedio de la primera línea de referencia. También, la localización de la muestra de referencia usada para calcular el valor promedio de la línea de referencia de orden k puede corresponder a la localización de la muestra de referencia usada para calcular el valor promedio de la muestra de referencia de la primera línea de referencia.
En las Figuras 25 y 26, se usan tantas muestras de referencia superiores como dos veces una anchura de un bloque actual y muestras de referencia izquierdas tantas como dos veces una altura del bloque actual para calcular un valor promedio de muestra de referencia de una línea de referencia. Un valor promedio de muestra de referencia de una línea de referencia puede calcularse usando menor o mayor número de muestras de referencia que aquellos mostrados en las Figuras 25 y 26. Por ejemplo, el valor promedio de muestra de referencia de la línea de referencia puede calcularse usando el mismo número de muestras de referencia superiores que la anchura del bloque actual y el mismo número de muestras de referencia izquierdas que la altura del bloque actual.
Un valor promedio de muestra de referencia de una línea de referencia puede calcularse asignando diferentes pesos a muestras de referencia, dependiendo de una forma de un bloque actual y una posición de una muestra de referencia. Por ejemplo, si el bloque actual tiene una forma cuadrada, el valor promedio de muestra de referencia puede calcularse asignando el mismo peso a muestras de referencia superiores y muestras de referencia izquierdas. Por otra parte, cuando el bloque actual tiene una forma no cuadrada, el valor promedio de muestra de referencia puede calcularse asignando un peso mayor a una de las muestras de referencia superiores y muestras de referencia izquierdas. Por ejemplo, si una altura del bloque actual es mayor que una anchura, el valor promedio puede calcularse asignando un peso mayor a las muestras de referencia superiores que a las muestras de referencia izquierdas. Por otra parte, cuando la anchura del bloque actual es mayor que la altura, el valor promedio puede calcularse asignando un peso mayor a las muestras de referencia izquierdas que a las muestras de referencia superiores.
Por ejemplo, cuando el tamaño del bloque actual es N/2 * N, el valor promedio de la línea de referencia de orden k dcVal puede calcularse por la siguiente Ecuación 12.
[Ecuación 12]
2N - 1 2 N - 1
dcVal=( Z P ( - k j y ) > 2 N H T i2 X P (y -k ' ) )> 2 N
1=0 1=0
Por ejemplo, cuando el tamaño del bloque actual es NxN/2, el valor promedio de la línea de referencia de orden k dcVal puede calcularse por la siguiente Ecuación 13.
[Ecuación 13]
2N - 1 2N - 1
dcVal~( S 2 X P (-A t,/))>2A^+( 2 ] p (/,-£ ))»2W ____________ l=o______________________ ¡=o________________
En las Ecuaciones 12 y 13, k puede establecerse a un valor entre 1 y max_intra_line_idx_minus2 2.
Como en el ejemplo anterior, el valor promedio puede calcularse usando muestras de referencia que corresponden a muestras de referencia incluidas en la primera línea de intra referencia entre muestras de referencia de la línea de intra referencia de orden k. En este momento, el valor promedio puede calcularse basándose en un peso predeterminado. En este punto, el peso puede derivarse basándose en una distancia de la primera línea de intra referencia y la de orden k desde el bloque actual.
En el ejemplo descrito a través de la Figura 20, 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. En lugar de derivar la pluralidad de líneas de referencia, también es posible obtener únicamente una línea de referencia especificada por información de índice después de decodificar la información de índice que especifica una de la pluralidad de líneas de referencia.
En la realización descrita a través de la Figura 20, se describe que la intra predicción para un bloque actual se realiza usando al menos una línea de referencia cualquiera especificada por información de índice entre una pluralidad de líneas de referencia. Es decir, puede realizarse intra predicción para un bloque actual usando una línea de referencia o dos o más 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.
Como alternativa, dos o más líneas de referencia pueden ser espacialmente contiguas. En este caso, puede señalizarse información de índice para especificar una cualquiera de las dos o más líneas de referencia a través de un flujo de bits. Si una cualquiera de las dos o más líneas de referencia se selecciona por la información de índice, la línea de referencia restante puede seleccionarse automáticamente basándose en la adyacencia espacial con la línea de referencia seleccionada. 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 de predicción del bloque actual puede generarse basándose en una primera muestra de referencia y una segunda muestra de referencia, cada una de las cuales se incluye en una línea de referencia diferente. En este punto, una primera línea de referencia que incluye la primera muestra de referencia y una segunda línea de referencia que incluye la segunda muestra de referencia pueden posicionarse vecinas entre sí, aunque la presente invención no está limitada a lo mismo. Además, una posición de la primera muestra de referencia y una posición de la segunda muestra de referencia pueden determinarse por un modo de intra predicción del bloque actual. Como alternativa, es posible también que la primera muestra de referencia y la segunda muestra de referencia puedan situarse vecinas entre sí. Puede generarse una muestra de predicción de un bloque actual en consideración de una suma ponderada de la primera muestra de referencia y la segunda muestra de referencia, o puede generarse basándose en un valor promedio, un valor mínimo o un valor máximo de la primera muestra de referencia y la segunda muestra de referencia.
La Figura 27 es un diagrama que muestra un ejemplo de obtención de una muestra de predicción usando una pluralidad de líneas de referencia.
La muestra de predicción de un bloque actual puede derivarse basándose en un valor de muestra generado usando una pluralidad de líneas de referencia. Por ejemplo, la muestra de predicción del bloque actual puede generarse basándose en al menos uno de un valor mínimo, un valor máximo, un valor promedio, o un valor de media ponderada de muestras de referencia cada una de las cuales está incluida en diferentes líneas de referencia. Si se supone que se realiza intra predicción del bloque actual usando la línea de referencia 0 y la línea de referencia 1 en el ejemplo representado en la Figura 27, la muestra de predicción del bloque actual puede obtenerse basándose en un valor mínimo, un valor máximo, un valor promedio, o una suma ponderada entre una muestra de referencia incluida en una línea de referencia 0 y una muestra de referencia incluida en una línea de referencia 1.
En este momento, el número de muestras de referencia que pertenecen a diferentes líneas de referencia usadas para predecir una muestra objetivo de decodificación en el bloque actual pueden ser iguales o diferentes. Por ejemplo, en el ejemplo mostrado en la Figura 27, un valor de predicción para la muestra objetivo de decodificación incluida en el bloque actual puede obtenerse usando N muestras de referencia incluidas en la línea de referencia 0 y M (M es un número natural igual que o diferente de N) muestras de referencia incluidas en la línea de referencia 1.
Cuando la muestra objetivo de decodificación se predice basándose en una suma ponderada de muestras de referencia que pertenecen a diferentes líneas de referencia, pueden determinarse pesos aplicados a cada una de las muestras de referencia basándose en al menos uno de un modo de intra predicción del bloque actual (por ejemplo, un valor de modo, una direccionalidad o un ángulo del modo de intra predicción, etc.), una distancia entre la muestra objetivo de decodificación y una muestra de referencia, o una posición de la línea de referencia en la que está incluida la muestra de referencia. Como alternativa, los pesos aplicados a las muestras de referencia que pertenecen a las diferentes líneas de referencia pueden ser valores fijados predefinidos de acuerdo con el modo de intra predicción (por ejemplo, el valor de modo, la direccionalidad o el ángulo del modo de intra predicción, etc.).
También, las posiciones de las muestras de referencia usadas en la operación de suma ponderada pueden determinarse de acuerdo con el modo de intra predicción del bloque actual (por ejemplo, el valor de modo, la direccionalidad, o el ángulo del modo de intra predicción). Por ejemplo, cuando el modo de intra predicción del bloque actual indica una dirección diagonal superior derecha, la muestra objetivo de decodificación localizada en (0, 0) en el bloque actual puede predecirse basándose en la operación de suma ponderada entre una muestra de referencia en (1, -1) incluida en la línea de referencia 0 y una muestra de referencia en (2, -2) incluida en la línea de referencia 1.
Como alternativa, la muestra de predicción del bloque actual puede generarse basándose en una primera intra predicción usando al menos una de la pluralidad de líneas de referencia y una segunda intra predicción usando al menos una de la pluralidad de líneas de referencia. En este punto, la línea de referencia usada para la primera intra predicción y la línea de referencia usada para la segunda intra predicción pueden ser diferentes entre sí. Por ejemplo, si la primera intra predicción se realiza usando una parte de la pluralidad de líneas de referencia, la segunda intra predicción puede realizarse usando las restantes líneas de referencia. Además, el modo de intra predicción para la primera intra predicción y el modo de intra predicción para la segunda intra predicción pueden ser iguales o diferentes.
La muestra de predicción del bloque actual puede generarse basándose en la primera muestra de predicción generada realizando la primera intra predicción y la segunda muestra de predicción generada realizado la segunda intra predicción. Por ejemplo, la muestra de predicción puede generarse basándose en un valor mínimo, un valor máximo, un valor promedio, o una suma ponderada de la primera muestra de predicción y la segunda muestra de predicción.
La intra predicción para el bloque actual puede realizarse seleccionando una pluralidad de líneas de referencia. En este momento, una línea de referencia puede seleccionarse de manera diferente para cada unidad predeterminada en el bloque actual. Por ejemplo, la línea de referencia puede determinarse en unidades de una unidad de muestra, una unidad de fila/columna, o una unidad de área predeterminada en un bloque. Por lo tanto, incluso si están incluidas dos muestras objetivo de decodificación en el mismo bloque, cada una de ellas puede predecirse basándose en diferentes líneas de referencia.
Específicamente, la línea de referencia puede determinarse basándose en información de posición de la muestra objetivo de decodificación. En este punto, la información de posición de la muestra objetivo de decodificación puede incluir una posición de eje x de la muestra objetivo de decodificación, una posición de eje y de la muestra objetivo de decodificación, una fila en la que está incluida la muestra objetivo de decodificación, una columna en la que está incluida la muestra objetivo de decodificación, si la muestra objetivo de decodificación está localizada en una esquina del bloque actual, si la muestra objetivo de decodificación está incluida en un área predeterminada en el bloque actual, y similares.
No únicamente puede determinarse de manera diferente una posición de la línea de referencia sino también el número de las líneas de referencia o una longitud de la línea de referencia de acuerdo con la información de posición de la muestra objetivo de decodificación. Por ejemplo, incluso aunque están incluidas dos muestras objetivo de decodificación en el mismo bloque, cada una de ellas puede predecirse basándose en un número diferente de líneas de referencia.
La Figura 28 es un diagrama para explicar un ejemplo de determinación de una línea de referencia basándose en información de posición de una muestra objetivo de decodificación.
Pueden usarse diferentes líneas de referencia entre muestras objetivo de decodificación adyacentes a un límite específico del bloque actual y unas restantes muestras objetivo de decodificación excepto para las muestras objetivo de decodificación. Por ejemplo, en el ejemplo representado en la Figura 28, las muestras objetivo de decodificación incluidas en la primera fila del bloque actual pueden predecirse basándose en la segunda línea de referencia (la línea de referencia 1 en la Figura 28). Por otra parte, las muestras objetivo de decodificación incluidas en la segunda y tercera filas pueden predecirse basándose en la primera línea de referencia (la línea de referencia 0 en la Figura 28).
En este punto, el límite específico puede determinarse basándose en el modo de intra predicción del bloque actual. Por ejemplo, cuando el modo de intra predicción del bloque actual tiene una dirección vertical o tiene una dirección similar a la dirección vertical, el límite específico puede ser un límite superior (o, límite izquierdo, derecho o inferior) del bloque actual. Por otra parte, cuando el modo de intra predicción del bloque actual tiene una dirección horizontal o tiene una dirección similar a la dirección horizontal, el límite específico puede ser un límite izquierdo (o límite superior, inferior o derecho) del bloque actual. En este punto, el modo de intra predicción que tiene una dirección similar a la dirección vertical o la dirección horizontal pueden significar que la diferencia en valor de modo desde el modo de intra predicción de la dirección vertical o la dirección horizontal está dentro de un rango predeterminado.
En lugar del ejemplo mostrado en la Figura 28, pueden usarse diferentes líneas de referencia en unidades de una muestra, una fila, una columna o un área predeterminada.
También es posible codificar y transmitir información para seleccionar una línea de referencia para cada unidad predeterminada en el bloque actual. Por ejemplo, la información que identifica una cualquiera de una pluralidad de líneas de referencia puede codificarse en unidades de una muestra, una fila, una columna o un área predeterminada.
Como en el ejemplo mostrado en las Figuras 27 y 28, puede realizarse intra predicción para el bloque actual basándose en la pluralidad de líneas de referencia. En este momento, como en el ejemplo mostrado en la Figura 27, la línea de referencia puede determinarse en unidades de un bloque, o la línea de referencia puede determinarse por una unidad menor que el bloque, como en el ejemplo mostrado en la Figura 28. Si determinar la línea de referencia en unidades de un bloque o un área menor que el bloque puede determinarse basándose en información señalizada mediante un flujo de bits. En este punto, la información puede ser una bandera de 1 bit, pero la presente invención no está limitada a lo mismo. Como alternativa, una unidad para determinar la línea de referencia puede determinarse de manera adaptativa basándose en al menos uno de un tamaño, una forma, o un modo de intra predicción del bloque actual.
De acuerdo con una realización de la presente invención, una línea de referencia o una muestra de referencia pueden derivarse basándose en un bloque que tiene una forma predeterminada o un bloque que tiene un tamaño mayor o igual que un tamaño predeterminado. En este punto, la forma predeterminada puede representar un bloque cuadrado o un bloque no cuadrado cuya relación entre una anchura y una altura es mayor o igual que un valor predeterminado. Si el bloque actual no tiene la forma predeterminada o no tiene el tamaño mayor o igual que el tamaño predeterminado, puede realizarse la intra predicción para el bloque actual usando una línea de referencia o una muestra de referencia derivada basándose en un bloque que tiene la forma predeterminada o un bloque que tiene un tamaño mayor o igual que el tamaño predeterminado. Por consiguiente, una pluralidad de bloques (por ejemplo, una pluralidad de bloques de codificación, una pluralidad de bloques de transformada, o una pluralidad de bloques de predicción) incluidos en un bloque que tiene la forma predeterminada o en un bloque que tiene un tamaño mayor o igual que el tamaño predeterminado pueden compartir la línea de referencia o la muestra de referencia derivada basándose en el bloque que tiene la forma predeterminada o el bloque que tiene un tamaño mayor o igual que el tamaño predeterminado.
La Figura 29 es un diagrama que ilustra un ejemplo de realización de intra predicción usando una muestra de referencia derivada basándose en un bloque de una forma predeterminada. Por conveniencia de explicación, se supone que se deriva una única línea de referencia basándose en un bloque cuadrado.
Un bloque no cuadrado puede predecirse usando una muestra de referencia derivada basándose en el bloque cuadrado que incluye el bloque no cuadrado. Por ejemplo, si el bloque de codificación es un bloque no cuadrado que tiene una anchura o una longitud de 1/2 del bloque cuadrado, la intra predicción del bloque de codificación puede realizarse basándose en la muestra de referencia derivada basándose en el bloque cuadrado.
Si la línea de referencia o la muestra de referencia se derivan basándose en un bloque de una forma predeterminada o un bloque que tiene un tamaño mayor o igual que un tamaño predeterminado, los bloques incluidos en el bloque de la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado pueden compartir la línea de referencia o la muestra de referencia. Por ejemplo, en la Figura 29, un bloque de codificación 0 de una forma no cuadrada y un bloque de codificación 1 de una forma no cuadrada pueden compartir la muestra de referencia derivada basándose en el bloque cuadrado.
De acuerdo con una realización de la presente invención, una pluralidad de líneas de referencia puede derivarse basándose en un bloque que tiene una forma predeterminada o un bloque que tiene un tamaño mayor o igual que un tamaño predeterminado. Por consiguiente, una pluralidad de bloques incluidos en el bloque que tiene la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado pueden compartir la pluralidad de los candidatos de línea de referencia derivados basándose en el bloque que tiene la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado.
La Figura 30 es un diagrama que ilustra un ejemplo de realización de intra predicción usando una pluralidad de líneas de referencia derivadas basándose en un bloque de una forma predeterminada.
Un bloque no cuadrado puede predecirse usando una muestra de referencia incluida en al menos una de la pluralidad de líneas de referencia derivadas basándose en un bloque cuadrado que incluye el bloque no cuadrado. Por ejemplo, si un bloque de codificación es el bloque no cuadrado que tiene una anchura o una longitud de 1/2 del bloque cuadrado, la intra predicción del bloque de codificación puede realizarse basándose en al menos una de la pluralidad de líneas de referencia derivadas basándose en el bloque cuadrado.
Cuando la pluralidad de líneas de referencia se derivan basándose en el bloque que tiene la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado, los bloques incluidos en el bloque que tiene la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado pueden compartir una pluralidad de los candidatos de línea de referencia. Por ejemplo, en la Figura 30, la pluralidad de líneas de referencia derivadas basándose en el bloque cuadrado pueden establecerse como los candidatos de línea de referencia tanto para un bloque de codificación 0 que tiene una forma no cuadrada como un bloque de codificación 1 que tiene una forma no cuadrada.
Una pluralidad de bloques incluidos en el bloque que tiene la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado pueden determinar una línea de referencia de manera individual. Por ejemplo, en el ejemplo mostrado en la Figura 30, el bloque de codificación 0 puede seleccionar al menos una de la pluralidad de líneas de referencia basándose en información de índice codificada para el bloque de codificación 0, y el bloque de codificación 1 puede seleccionar al menos una de la pluralidad de líneas de referencia basándose en información de índice codificada para el bloque de codificación 1.
Como alternativa, también es posible forzar una pluralidad de bloques incluidos en el bloque que tiene la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado para que usen la misma línea de referencia. Por ejemplo, en el ejemplo mostrado en la Figura 30, si se realiza intra predicción para el bloque de codificación 0 basándose en muestras de referencia incluidas en la línea de referencia 0, también puede realizarse intra predicción para el bloque de codificación 1 basándose en las muestras de referencia incluidas en la línea de referencia 0.
Si permitir que cada bloque seleccione una línea de referencia de manera individual o restringir que cada bloque seleccione una línea de referencia de manera individual puede determinarse de acuerdo con una forma o un tamaño de cada uno de la pluralidad de bloques incluidos en el bloque de la forma predeterminada o el bloque que tiene el tamaño mayor o igual que el tamaño predeterminado. Por ejemplo, cuando ha de realizarse intra predicción en un bloque de codificación no cuadrado de 2NxN o Nx2N, si 2N (es decir, anchura o altura) es mayor que un valor umbral k, puede permitirse seleccionar la línea de referencia para el bloque de manera individual. Por otra parte, si 2N es menor que el valor umbral k, puede restringirse la selección de la línea de referencia para el bloque de manera individual.
De acuerdo con una realización de la presente invención, puede definirse una unidad de bloques que comparte la misma muestra de referencia, la misma línea de referencia, o el mismo candidato de línea de referencia. En este momento, la unidad de bloques puede tener un tamaño y/o forma prestablecidos en el codificador/decodificador. Como alternativa, la información que define la unidad de bloques puede codificarse en el codificador y a continuación señalizarse al decodificador. La información puede indicar una anchura/altura, una profundidad de partición o un tamaño de la unidad de bloques. La pluralidad de bloques incluidos en la unidad de bloques pueden compartir la misma muestra de referencia, la misma línea de referencia, o el mismo candidato de línea de referencia. En este momento, la muestra de referencia o la al menos una línea de referencia pueden derivarse basándose en la unidad de bloques o pueden derivarse basándose en al menos uno de la pluralidad de bloques incluidos en la unidad de bloques.
Puede realizarse suavizado de muestra de referencia en muestras de referencia incluidas en una línea de referencia. Es decir, puede usarse al menos uno de una pluralidad de filtros para filtrar las muestras de referencia incluidas en la línea de referencia. Puede realizarse intra predicción del bloque actual basándose en la muestra de referencia no filtrada o la muestra de referencia filtrada.
El suavizado de muestra de referencia puede realizarse en todas de una pluralidad de líneas de referencia o en una parte de una pluralidad de líneas de referencia. Por ejemplo, el suavizado de muestra de referencia puede realizarse en una línea de referencia que se usa por intra predicción del bloque actual entre una pluralidad de líneas de referencia, por ejemplo, una línea de referencia especificada por información de índice.
Puede determinarse de manera adaptativa basándose en al menos uno de un tamaño de un bloque actual, un tipo de un modo de intra predicción, una direccionalidad de un modo de intra predicción, una posición de una línea de referencia, un número de líneas de referencia o una variación entre líneas de referencia, si realizar un suavizado de muestras de referencia. La variación entre líneas de referencia puede representar un valor de diferencia entre muestras de referencia incluidas en diferentes líneas de referencia. Por ejemplo, si el tamaño del bloque de predicción para el bloque actual es 4x4, o si el modo de intra predicción del bloque actual es el modo de CC, puede omitirse el suavizado de muestras de referencia.
Además, el número de veces en el que se aplica un filtro o un tipo de un filtro puede determinarse de manera adaptativa dependiendo de al menos uno de un tamaño de un bloque actual, un tipo de un modo de intra predicción, una direccionalidad de un modo de intra predicción, una posición de una línea de referencia, un número de líneas de referencia, o una variación entre líneas de referencia. Por ejemplo, cuando el tamaño de un bloque de predicción relacionado con un bloque actual es igual a o menor que 32x32 y el modo de intra predicción del bloque actual no tiene una dirección horizontal, similar a la dirección horizontal, una dirección vertical, o similar a la dirección vertical, el suavizado de filtro de referencia puede realizarse usando un primer intra filtro. Por otra parte, cuando el tamaño del bloque de predicción relacionado con el bloque actual es igual a o mayor que 32x32 y una variación entre muestras de referencia es igual a o menor que un valor predeterminado (es decir, un cambio de valores de las muestras de referencia no es grande), el suavizado de muestra de referencia puede realizarse usando un segundo intra filtro.
Cuando se filtran muestras de referencia incluidas en una línea de referencia usando el primer intra filtro, puede derivarse una muestra de referencia filtrada como se muestra en la Ecuación 14.
[Ecuación 14]
P ( - 1 1 ) = ( P ( - 1,0 )+ 2 * P ( - 1 1 )+ P ( O ,-1 ) 2 ) » 2
, ,
P Q g- 1 ) = ( P ( x 1,-1 )+ 2 * P Q , - 1 ) P Q - 1,-1 ) 2 ) > 2
Cuando se filtran muestras de referencia incluidas en una línea de referencia usando el segundo intra filtro, puede derivarse una muestra de referencia filtrada como se muestra en la Ecuación 15.
[Ecuación 15]
P ( - 1 y ) = ( ( 2 N - y ) * P ( - 1, - 1 ) i ( y i 1 ) * P ( - 1 , 2 N \ 2 K - 1 ) i N / 2 ) > N
P ( x , - l ) = ( (_2N-x~) * P ( - 1, - 1 ) Q 1 ) * P ( 2 N 2 K - 1 1 )+ jV/2)> JV
En las ecuaciones anteriores 14 y 15, x puede tener un valor entre 0 y 2N-2(k-1), e y puede tener un valor entre 0 y 2N-2(k-1). En este punto, k representa un índice de una línea de referencia, y N representa un tamaño de un bloque actual.
Como alternativa, un tipo de un intra filtro o el número de veces en el que se aplica un intra filtro puede determinarse de manera variable de acuerdo con una línea de referencia. Por ejemplo, pueden aplicarse diferentes intra filtros dependiendo de un índice o una posición de una línea de referencia. O pueden aplicarse diferentes intra filtros dependiendo de un grupo al que pertenece una línea de referencia. En este punto, los diferentes filtros pueden ser diferentes entre sí en al menos una de una longitud de un filtro, un coeficiente de filtro, o una intensidad de filtro.
Como un ejemplo, una pluralidad de líneas de referencia puede clasificarse en al menos un grupo. En este momento, cada grupo puede incluir al menos una línea de referencia. El agrupamiento puede realizarse basándose en al menos uno de índices de líneas de referencia, un número de líneas de referencia, o adyacencia entre líneas de referencia. Por ejemplo, la pluralidad de líneas de referencia puede clasificarse en al menos un grupo basándose en factores tales como si el índice de la línea de referencia es un número par o si el índice de la línea de referencia es igual a o mayor que un valor predeterminado.
Por ejemplo, cuando un bloque actual usa al menos una de una primera línea de referencia o una segunda línea de referencia, puede realizarse suavizado de intra referencia usando un primer intra filtro. Por otra parte, cuando el bloque actual usa al menos una de una tercera línea de referencia o una cuarta línea de referencia, puede realizarse suavizado de intra referencia usando un segundo intra filtro. En este punto, el primer intra filtro y el segundo intra filtro pueden ser diferentes entre sí en al menos uno de un coeficiente de filtro, una derivación de filtro o una intensidad de filtro. Por ejemplo, los coeficientes de filtro del primer intra filtro pueden ser (1, 2, 1) y los coeficientes de filtro del segundo intra filtro pueden ser (2, 12, 2).
Un tipo de filtro a aplicarse a una línea de referencia puede determinarse basándose en al menos uno de un tamaño de un bloque actual, un tipo de un modo de intra predicción, una direccionalidad de un modo de intra predicción, una posición de la línea de referencia, el número de líneas de referencia. Y uno de los filtros incluidos en el tipo de filtro determinado puede aplicarse a la línea de referencia basándose en los elementos enumerados. En este punto, el tipo de filtro puede clasificarse de acuerdo con al menos uno de una longitud de filtro (número de derivaciones), un coeficiente de filtro o una intensidad de filtro. Por ejemplo, los filtros de primer tipo pueden tener la misma longitud de filtro entre sí, pero pueden tener una longitud de filtro diferente de los filtros de segundo tipo.
Por ejemplo, cuando un tamaño de un bloque de predicción relacionado con un bloque actual es igual a o menor que 32^32 y un modo de intra predicción del bloque actual no tiene una dirección horizontal, puede determinarse una dirección similar a la dirección horizontal, una dirección vertical, o una dirección similar a la dirección vertical, para usar el primer tipo de filtro. Y, cuando el bloque actual usa al menos una de una primera línea de referencia o una segunda línea de referencia, puede realizarse suavizado de muestra de referencia usando un primer intra filtro incluido en el primer tipo de intra filtro. Por otra parte, cuando el bloque actual usa al menos una de una tercera línea de referencia o una cuarta línea de referencia, puede realizarse suavizado de muestra de referencia usando un segundo intra filtro incluido en el primer tipo de intra filtro. En este momento, las longitudes de filtro del primer intra filtro y el segundo intra filtro son iguales mientras que los coeficientes de filtro son diferentes. Por ejemplo, el coeficiente de filtro del primer intra filtro puede ser (1, 2, 1) y el coeficiente de filtro del segundo intra filtro puede ser (2, 12, 2).
El número de modos de intra predicción disponibles pueden determinarse de manera variable dependiendo de si se usa o no la línea de referencia extendida. Es decir, dependiendo de si se usa o no la línea de referencia extendida, puede usarse un número diferente de modos de intra predicción direccionales en unidades de una secuencia, corte, una unidad de árbol de codificación, una unidad de codificación, o una unidad de predicción.
Puesto que se aumenta una eficacia de intra predicción cuando se usa la línea de referencia extendida, no hay problema en realizar intra predicción eficaz incluso cuando se usa un número menor de los modos de intra predicción que cuando no se usa la línea de referencia extendida. Por lo tanto, dependiendo de si se usa o no la línea de referencia extendida, puede determinarse si usar N o menos de N modos de predicción direccionales. Por ejemplo, puede establecerse que se usen modos de intra predicción de base (es decir, 33 modos de intra predicción direccionales) cuando se usa la línea de referencia extendida y que se usen modos de intra predicción extendidos (es decir, 65 modos de intra predicción direccionales) cuando no se usa la línea de referencia extendida.
Un tipo o el número de los modos de intra predicción disponibles para el bloque actual puede limitarse de acuerdo con una posición de una línea de referencia usada para intra predicción.
Por ejemplo, a medida que aumenta una distancia entre un bloque actual y una línea de referencia, aumenta la discontinuidad entre el bloque actual y la línea de referencia. Por consiguiente, a medida que aumenta la distancia entre el bloque actual y la línea de referencia, se reduce la eficacia de intra predicción usando un modo de predicción no direccional tal como modo de CC o modo planar. Por consiguiente, puede establecerse no usar modo de predicción no direccional que incluye al menos uno de modo de CC o modo planar cuando se usa una línea de referencia que tiene una distancia desde el bloque actual igual a o mayor que un valor umbral predeterminado. Por ejemplo, cuando un índice de la línea de referencia usado para intra predicción del bloque actual es igual a o mayor que L, el modo de predicción no direccional que incluye al menos uno de modo de CC y modo planar puede no usarse. En este punto, L es un número entero que incluye 0, y puede ser 0, 1, 2, 3, y así sucesivamente.
Como alternativa, el número de modos de intra predicción disponibles puede ajustarse de acuerdo con una posición de una línea de intra referencia usada para intra predicción de un bloque actual. Por ejemplo, cuando un índice de una línea de referencia usada para intra predicción del bloque actual es igual a o mayor que L, pueden usarse los modos de intra predicción de base, y cuando un índice de una línea de referencia es menor que L, pueden usarse modos de intra predicción extendidos. Por ejemplo, si L es 2, pueden usarse los modos de intra predicción extendidos (es decir, 67 modos de intra predicción) para la primera línea de referencia o la segunda línea de referencia, y pueden usarse los modos de intra predicción de base (es decir, 35 modos de intra predicción) para la tercera línea de referencia o la cuarta línea de referencia.
Dependiendo de un modo de intra predicción de un bloque actual o el número de los modos de intra predicción disponibles para el bloque actual, puede limitarse una línea de referencia que está disponible para seleccionarse para el bloque actual. Por ejemplo, cuando el modo de intra predicción del bloque actual es un modo de predicción no direccional tal como modo de CC o modo planar, puede establecerse que una línea de referencia que tiene un índice igual a o mayor que L no se use para intra predicción del bloque actual.
Las realizaciones anteriores se han descrito principalmente en el proceso de decodificación, aunque el proceso de codificación puede realizarse en el mismo orden según se ha descrito o en orden inverso.
La Figura 31 es un diagrama de flujo que ilustra procesos de obtención de una muestra residual de acuerdo con una realización a la que se aplica la presente invención.
En primer lugar, puede obtenerse un coeficiente residual de un bloque actual S3110. Un decodificador puede obtener un coeficiente residual a través de un método de exploración de coeficiente. Por ejemplo, el decodificador puede realizar una exploración de coeficiente usando una exploración en zigzag, una exploración vertical, o una exploración horizontal, y puede obtener coeficientes residuales en una forma de un bloque bidimensional.
Puede realizarse una cuantificación inversa en el coeficiente residual del bloque actual S3120.
Es posible determinar si omitir una transformada inversa en el coeficiente residual descuantificado del bloque actual S3130. Específicamente, el decodificador puede determinar si omitir la transformada inversa en al menos una de una dirección horizontal o una dirección vertical del bloque actual. Cuando se determina aplicar la transformada inversa en al menos una de la dirección horizontal o la dirección vertical del bloque actual, puede obtenerse una muestra residual del bloque actual transformando a la inversa el coeficiente residual descuantificado del bloque actual. En este punto, la transformada inversa puede realizarse usando al menos una de DCT, DST, y KLT.
Cuando se omite la transformada inversa tanto en la dirección horizontal como la dirección vertical del bloque actual, no se realiza transformada inversa en la dirección horizontal y la dirección vertical del bloque actual. En este caso, la muestra residual del bloque actual puede obtenerse escalando el coeficiente residual descuantificado con un valor predeterminado.
Omitir la transformada inversa en la dirección horizontal significa que no se realiza la transformada inversa en la dirección horizontal pero se realiza la transformada inversa en la dirección vertical. En este momento, puede realizarse escalamiento en la dirección horizontal.
Omitir la transformada inversa en la dirección vertical significa que no se realiza la transformada inversa en la dirección vertical sino que la transformada inversa se realiza en la dirección horizontal. En este momento, puede realizarse escalamiento en la dirección vertical.
Puede determinarse si puede usarse o no una técnica de omisión de transformada inversa para el bloque actual dependiendo de un tipo de partición del bloque actual. Por ejemplo, si el bloque actual se genera a través de un particionamiento basado en árbol binario, puede restringirse el esquema de omisión de transformada inversa para el bloque actual. Por consiguiente, cuando se genera el bloque actual a través del particionamiento basado en árbol binario, la muestra residual del bloque actual puede obtenerse por transformada inversa del bloque actual. Además, cuando se genera el bloque actual a través de particionamiento basado en árbol binario, puede omitirse la codificación/decodificación de información que indica si se omite o no la transformada inversa (por ejemplo, transform_skip_flag).
Como alternativa, cuando se genera el bloque actual a través de particionamiento basado en árbol binario, es posible limitar el esquema de omisión de transformada inversa a al menos una de la dirección horizontal o la dirección vertical. En este punto, la dirección en la que está limitado el esquema de omisión de transformada inversa puede determinarse basándose en información decodificada desde el flujo de bits, o puede determinarse de manera adaptativa basándose en al menos uno de un tamaño del bloque actual, una forma del bloque actual, o un modo de intra predicción del bloque actual.
Por ejemplo, cuando el bloque actual es un bloque no cuadrado que tiene una anchura mayor que una altura, puede permitirse el esquema de omisión de transformada inversa únicamente en la dirección vertical y restringirse en la dirección horizontal. Es decir, cuando el bloque actual es 2NxN, se realiza la transformada inversa en la dirección horizontal del bloque actual, y puede realizarse de manera selectiva la transformada inversa en la dirección vertical.
Por otra parte, cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, puede permitirse el esquema de omisión de transformada inversa únicamente en la dirección horizontal y restringirse en la dirección vertical. Es decir, cuando el bloque actual es Nx2N, se realiza la transformada inversa en la dirección vertical del bloque actual, y puede realizarse de manera selectiva la transformada inversa en la dirección horizontal.
En contraste al ejemplo anterior, cuando el bloque actual es un bloque no cuadrado que tiene una anchura mayor que una altura, puede permitirse el esquema de omisión de transformada inversa únicamente en la dirección horizontal, y cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, puede permitirse el esquema de omisión de transformada inversa únicamente en la dirección vertical.
La información que indica si omitir o no la transformada inversa con respecto a la dirección horizontal o la información que indica si omitir la transformación inversa con respecto a la dirección vertical pueden señalizarse a través de un flujo de bits. Por ejemplo, la información que indica si omitir o no la transformada inversa en la dirección horizontal es una bandera de 1 bit, 'hor_transform_skip_flag', y la información que indica si omitir la transformada inversa en la dirección vertical es una bandera de 1 bit, 'ver_transform_skip_flag'. El codificador puede codificar al menos una de 'hor_transform_skip_flag' o 'ver_transform_skip_flag' de acuerdo con la forma del bloque actual. Además, el decodificador puede determinar si se omite o no la transformada inversa en la dirección horizontal o en la dirección vertical usando al menos una de "hor_transform_skip_flag" o "ver_transform_skip_flag".
Puede establecerse para omitir la transformada inversa para una dirección cualquiera del bloque actual dependiendo de un tipo de partición del bloque actual. Por ejemplo, si el bloque actual se genera a través de un particionamiento basado en árbol binario, puede omitirse la transformada inversa en la dirección horizontal o dirección vertical. Es decir, si el bloque actual se genera por particionamiento basado en árbol binario, puede determinarse que se omite la transformada inversa para el bloque actual en al menos una de una dirección horizontal o una dirección vertical sin información de codificación/decodificación (por ejemplo, transform_skip_flag, hor_transform_skip_flag, ver_transform_skip_flag) que indica si se omite o no la transformada inversa del bloque actual.
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.
Aplicabilidad industrial
La presente invención puede aplicarse a dispositivos electrónicos que pueden codificar/decodificar un vídeo.

Claims (13)

REIVINDICACIONES
1. Un método para decodificar un vídeo, comprendiendo el método:
determinar una línea de muestra de referencia de entre una pluralidad de candidatos de línea de muestra de referencia;
obtener muestras de referencia para un bloque actual a partir de la línea de muestra de referencia; y
realizar intra predicción para el bloque actual basándose en las muestras de referencia y un modo de intra predicción del bloque actual,
en el que si el bloque actual es una de las particiones generadas al dividir un bloque de codificación de forma cuadrada en una dirección horizontal o bien en una dirección vertical, la intra predicción para el bloque actual se realiza usando solo una línea de muestra de referencia vecina entre la pluralidad de candidatos de líneas de muestra de referencia.
2. El método de la reivindicación 1, en el que la determinación de la línea de muestra de referencia se basa en información de índice que especifica uno entre la pluralidad de candidatos de línea de muestra de referencia, y
donde si el bloque actual es una de las particiones, el índice especificado por la información de índice se aplica a todas las particiones.
3. El método de la reivindicación 1, en el que si el índice especificado por la información del índice es mayor que un valor predeterminado, un modo de intra predicción no direccional no está disponible como el modo de intra predicción del bloque actual, el modo de intra predicción no direccional comprende al menos un modo de CC o un modo planar.
4. El método de la reivindicación 1, en el que si una muestra de referencia no disponible está incluida en la línea de muestra de referencia, la muestra de referencia no disponible se sustituye por una muestra de referencia disponible incluida en la misma línea de muestra de referencia seleccionada.
5. El método de la reivindicación 1, en el que cuando el modo de intra predicción del bloque actual tiene una dirección de diagonal superior-derecha o diagonal inferiorizquierda, una muestra de predicción en una región predeterminada en el bloque actual se modifica usando una muestra de referencia incluida en un bloque vecino adyacente al bloque actual.
6. El método de la reivindicación 5, en el que un tamaño de la región predeterminada se determina basándose en un tamaño del bloque actual.
7. Un método para codificar un vídeo, comprendiendo el método:
determinar una línea de muestra de referencia de entre una pluralidad de candidatos de línea de muestra de referencia;
obtener muestras de referencia para un bloque actual a partir de la línea de muestra de referencia; y
realizar intra predicción para el bloque actual basándose en las muestras de referencia y un modo de intra predicción del bloque actual;
en el que si el bloque actual es una de las particiones generadas al dividir un bloque de codificación de forma cuadrada en una dirección horizontal o bien en una dirección vertical, la intra predicción para el bloque actual se realiza usando solo una línea de muestra de referencia vecina entre la pluralidad de candidatos de líneas de muestra de referencia.
8. El método de la reivindicación 7, en el que información de índice que especifica un índice de la línea de muestra de referencia es codificada en un flujo de bits; y
donde si el bloque actual es una de las particiones, el índice se aplica a todas las particiones.
9. El método de la reivindicación 8, en el que si el índice especificado por la información del índice es mayor que un valor predeterminado, un modo de intra predicción no direccional no está disponible como el modo de intra predicción del bloque actual, el modo de intra predicción no direccional comprende al menos un modo de CC o un modo planar.
10. El método de la reivindicación 7, en el que si una muestra de referencia no disponible está incluida en la línea de muestra de referencia, la muestra de referencia no disponible se sustituye por una muestra de referencia disponible incluida en la misma línea de muestra de referencia.
11. El método de la reivindicación 7, en el que cuando el modo de intra predicción del bloque actual tiene una dirección de diagonal superior-derecha o diagonal inferiorizquierda, una muestra de predicción en una región predeterminada en el bloque actual se modifica usando una muestra de referencia incluida en un bloque vecino adyacente al bloque actual.
12. El método de la reivindicación 11, en el que un tamaño de la región predeterminada se determina basándose en un tamaño del bloque actual.
13. Un medio legible por ordenador no transitorio para almacenar datos asociados con una señal de video, que comprende:
un flujo de datos almacenado en el medio legible por ordenador no transitorio, donde el flujo de datos está codificado mediante un método de codificación que comprende:
determinar una línea de muestra de referencia de entre una pluralidad de candidatos de línea de muestra de referencia;
obtener muestras de referencia para un bloque actual a partir de la línea de muestra de referencia; y
realizar intra predicción para el bloque actual basándose en las muestras de referencia y un modo de intra predicción del bloque actual;
en el que si el bloque actual es una de las particiones generadas al dividir un bloque de codificación de forma cuadrada en una dirección horizontal o bien en una dirección vertical, la intra predicción para el bloque actual se realiza usando solo una línea de muestra de referencia vecina entre la pluralidad de candidatos de líneas de muestra de referencia.
ES201990010A 2016-08-03 2017-08-03 Método y aparato para procesar señales de vídeo Active ES2703607B2 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20160099176 2016-08-03
KR20160099175 2016-08-03
PCT/KR2017/008412 WO2018026219A1 (ko) 2016-08-03 2017-08-03 비디오 신호 처리 방법 및 장치

Publications (3)

Publication Number Publication Date
ES2703607A2 ES2703607A2 (es) 2019-03-11
ES2703607R1 ES2703607R1 (es) 2020-06-04
ES2703607B2 true ES2703607B2 (es) 2021-05-13

Family

ID=61073495

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201990010A Active ES2703607B2 (es) 2016-08-03 2017-08-03 Método y aparato para procesar señales de vídeo

Country Status (6)

Country Link
US (2) US11438582B2 (es)
EP (1) EP3496399A4 (es)
KR (1) KR102416257B1 (es)
CN (6) CN109565591B (es)
ES (1) ES2703607B2 (es)
WO (1) WO2018026219A1 (es)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109565591B (zh) * 2016-08-03 2023-07-18 株式会社Kt 用于对视频进行编码和解码的方法和装置
SI3499884T1 (sl) * 2016-08-08 2023-04-28 Lg Electronics Inc. Postopki kodiranja videa na podlagi načina notranjega napovedovanja ter pripadajoča naprava za obdelavo videa
WO2018052224A1 (ko) * 2016-09-13 2018-03-22 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3522538A4 (en) * 2016-09-30 2020-07-29 LG Electronics Inc. -1- IMAGE PROCESSING METHOD AND DEVICE THEREFOR
PT3552393T (pt) * 2016-12-23 2023-05-30 Huawei Tech Co Ltd Um aparelho de codificação para sinalizar um modo de intra-predição direcional de extensão dentro de um conjunto de modos de intra-predição direcional
WO2019059107A1 (ja) * 2017-09-20 2019-03-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN116684620A (zh) * 2017-11-28 2023-09-01 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
WO2019124205A1 (ja) * 2017-12-18 2019-06-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019151280A1 (ja) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP7348078B2 (ja) * 2018-02-08 2023-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN117478912A (zh) * 2018-02-23 2024-01-30 英迪股份有限公司 对图像进行解码或编码的方法和传输图像的数据的方法
WO2019182292A1 (ko) * 2018-03-19 2019-09-26 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019190201A1 (ko) * 2018-03-27 2019-10-03 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102657933B1 (ko) 2018-03-30 2024-04-22 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 예측 기반 영상/비디오 코딩 방법 및 그 장치
US10419754B1 (en) * 2018-04-02 2019-09-17 Tencent America LLC Method and apparatus for video decoding using multiple line intra prediction
WO2019221472A1 (ko) * 2018-05-12 2019-11-21 주식회사 윌러스표준기술연구소 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치
WO2019245261A1 (ko) * 2018-06-18 2019-12-26 세종대학교 산학협력단 영상 부호화/복호화 방법 및 장치
US10284844B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
US10491893B1 (en) * 2018-08-29 2019-11-26 Tencent America LLC Method and apparatus for multi-line intra prediction
CA3112936A1 (en) * 2018-09-07 2020-03-12 Ki Baek Kim Image encoding/decoding method and device
CN112740685A (zh) * 2018-09-19 2021-04-30 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
CN112806006B (zh) * 2018-10-09 2024-04-16 寰发股份有限公司 使用由预定义准则确定的参考样本以编解码的方法和设备
CN116320407A (zh) * 2018-10-12 2023-06-23 Oppo广东移动通信有限公司 视频信号的编码方法和解码方法及其装置
WO2020091213A1 (ko) * 2018-11-04 2020-05-07 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
KR102636813B1 (ko) * 2018-11-22 2024-02-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 처리에서 펄스 코드 변조 기술
CN113273188A (zh) * 2018-12-31 2021-08-17 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
US11172197B2 (en) * 2019-01-13 2021-11-09 Tencent America LLC Most probable mode list generation scheme
BR112021013735A2 (pt) * 2019-01-13 2021-09-21 Lg Electronics Inc. Método de codificação de imagens e dispositivo para executar intrapredição baseada em mrl
WO2020180133A1 (ko) * 2019-03-06 2020-09-10 엘지전자 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
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
US20220166968A1 (en) * 2019-03-22 2022-05-26 Lg Electronics Inc. Intra prediction method and apparatus based on multi-reference line in image coding system
EP3932057A4 (en) * 2019-03-23 2022-05-11 Huawei Technologies Co., Ltd. ENCODER, DECODER AND RELATED INTRA PREDICTION METHODS
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
EP3989548A4 (en) * 2019-06-19 2022-09-21 Electronics and Telecommunications Research Institute INTRAPREDICTION MODE AND ENTROPIE CODING/DECODING METHOD AND APPARATUS
WO2020256506A1 (ko) * 2019-06-20 2020-12-24 엘지전자 주식회사 다중 참조 라인 인트라 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020257484A1 (en) * 2019-06-21 2020-12-24 Vid Scale, Inc. Precision refinement for motion compensation with optical flow
CN113347426A (zh) * 2019-06-21 2021-09-03 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
EP3973701A4 (en) * 2019-06-25 2022-11-30 Zhejiang Dahua Technology Co., Ltd. SYSTEMS AND METHODS FOR IMAGE CODING
CN114097225B (zh) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
BR112022000542A2 (pt) 2019-07-11 2022-03-15 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
WO2021008539A1 (en) 2019-07-15 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Classification in adaptive loop filtering
JP7318120B2 (ja) 2019-09-22 2023-07-31 北京字節跳動網絡技術有限公司 適応ループフィルタリングにおけるパディングプロセス
CN114450954A (zh) 2019-09-27 2022-05-06 北京字节跳动网络技术有限公司 不同视频单元之间的自适应环路滤波
KR20220071203A (ko) 2019-10-10 2022-05-31 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 루프 필터링에서 이용 불가능한 샘플 위치들에서의 패딩 프로세스
WO2021118309A1 (ko) * 2019-12-13 2021-06-17 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11706411B2 (en) * 2020-09-02 2023-07-18 Tencent America LLC Content adaptive segmented prediction
US20220321909A1 (en) * 2021-03-31 2022-10-06 Tencent America LLC Harmonized design between multiple reference line intra prediction and transform partitioning
US20220337875A1 (en) * 2021-04-16 2022-10-20 Tencent America LLC Low memory design for multiple reference line selection scheme
US11876978B2 (en) * 2021-08-31 2024-01-16 Tencent America LLC Intra prediction mode information propagation for geometric partition mode with IBC and intra prediction
KR20230092798A (ko) * 2021-12-17 2023-06-26 주식회사 케이티 영상 부호화/복호화 방법 및 장치
KR20230100657A (ko) * 2021-12-28 2023-07-05 주식회사 케이티 영상 부호화/복호화 방법 및 장치
WO2024017378A1 (en) * 2022-07-21 2024-01-25 Douyin Vision (Beijing) Co., Ltd. Method, apparatus, and medium for video processing
WO2024022144A1 (en) * 2022-07-29 2024-02-01 Mediatek Inc. Intra prediction based on multiple reference lines
WO2024034849A1 (ko) * 2022-08-09 2024-02-15 현대자동차주식회사 루마 성분 기반 크로마 성분 예측을 이용하는 비디오 코딩을 위한 방법 및 장치
WO2024063532A1 (ko) * 2022-09-20 2024-03-28 엘지전자 주식회사 Mrl(multi reference line)을 이용한 인트라 예측 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166664A (ja) * 1995-09-29 2007-06-28 Toshiba Corp 画像符号化方法及び装置
CN100442857C (zh) * 2005-10-12 2008-12-10 华为技术有限公司 一种增强层帧内预测方法和编解码设备
CN101682774B (zh) * 2007-02-23 2013-07-24 日本电信电话株式会社 视频编码方法和解码方法、视频编码装置和解码装置
US8086026B2 (en) * 2008-06-27 2011-12-27 Waldean Schulz Method and system for the determination of object positions in a volume
US9918086B2 (en) 2010-08-17 2018-03-13 M&K Holdings Inc. Method for encoding an intra prediction mode
SI3125553T1 (en) 2010-08-17 2018-07-31 M&K Holdings Inc. Procedure for coding the internal predictive mode
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
AU2012276407B2 (en) 2011-06-28 2016-02-18 Samsung Electronics Co., Ltd. Method and apparatus for image encoding and decoding using intra prediction
EP2727356A2 (en) 2011-06-30 2014-05-07 Huawei Technologies Co., Ltd Fast encoding method for lossless coding
CN104041035B (zh) 2011-06-30 2017-06-27 华为技术有限公司 用于复合视频的无损编码及相关信号表示方法
KR102187246B1 (ko) 2011-07-05 2020-12-04 한국전자통신연구원 영상 정보 부호화 방법 및 복호화 방법
WO2013005967A2 (ko) * 2011-07-05 2013-01-10 한국전자통신연구원 영상 정보 부호화 방법 및 복호화 방법
WO2013009896A1 (en) 2011-07-12 2013-01-17 Huawei Technologies Co. Ltd. Pixel-based intra prediction for coding in hevc
WO2013023518A1 (en) * 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
JP2013141187A (ja) * 2012-01-06 2013-07-18 Sony Corp 画像処理装置及び画像処理方法
JP6324016B2 (ja) * 2012-12-28 2018-05-16 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP5535361B2 (ja) * 2013-04-10 2014-07-02 株式会社東芝 画像符号化装置、方法およびプログラム
KR20140124448A (ko) * 2013-04-15 2014-10-27 인텔렉추얼디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2014171713A1 (ko) * 2013-04-15 2014-10-23 인텔렉추얼 디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2016154963A1 (en) * 2015-04-01 2016-10-06 Mediatek Inc. Methods for chroma coding in video codec
US10448058B2 (en) * 2015-05-21 2019-10-15 Qualcomm Incorporated Grouping palette index at the end and index coding using palette size and run value
KR20180075660A (ko) * 2015-11-24 2018-07-04 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
EP3453180A4 (en) 2016-05-04 2020-04-01 Microsoft Technology Licensing, LLC INTRA-IMAGE PREDICTION USING NON-ADJACENT REFERENCE LINES OF SAMPLE VALUES
CN109565591B (zh) * 2016-08-03 2023-07-18 株式会社Kt 用于对视频进行编码和解码的方法和装置

Also Published As

Publication number Publication date
CN116634140A (zh) 2023-08-22
US20220368896A1 (en) 2022-11-17
US11438582B2 (en) 2022-09-06
CN116684580A (zh) 2023-09-01
CN109565591A (zh) 2019-04-02
WO2018026219A1 (ko) 2018-02-08
EP3496399A1 (en) 2019-06-12
EP3496399A4 (en) 2020-02-19
CN116684581A (zh) 2023-09-01
CN116634139A (zh) 2023-08-22
ES2703607A2 (es) 2019-03-11
CN116684579A (zh) 2023-09-01
US20190182481A1 (en) 2019-06-13
CN109565591B (zh) 2023-07-18
KR102416257B1 (ko) 2022-07-04
ES2703607R1 (es) 2020-06-04
KR20180015598A (ko) 2018-02-13

Similar Documents

Publication Publication Date Title
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
ES2737874B2 (es) Metodo y aparato para procesar senal de video
ES2692864B1 (es) Metodo y aparato para procesar senales de video
ES2737843B2 (es) Metodo y aparato para procesar una senal de video
ES2688624A2 (es) Método y aparato para procesar señales de vídeo
ES2710234B1 (es) Procedimiento y dispositivo para procesar señales de vídeo
ES2719132B1 (es) Procedimiento y dispositivo para procesar señales de vídeo
ES2737845B2 (es) Metodo y aparato para procesar senal de video
ES2711223A2 (es) Metodo y aparato para procesar senales de video
ES2703458A2 (es) Metodo y aparato para procesar senales de video
ES2711473A2 (es) Metodo y aparato para procesar una senal de video
ES2711230A2 (es) Metodo y aparato para procesar una senal de video

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2703607

Country of ref document: ES

Kind code of ref document: A2

Effective date: 20190311

EC2A Search report published

Ref document number: 2703607

Country of ref document: ES

Kind code of ref document: R1

Effective date: 20200528

FG2A Definitive protection

Ref document number: 2703607

Country of ref document: ES

Kind code of ref document: B2

Effective date: 20210513