ES2710807A2 - Metodo y aparato para procesar senales de video - Google Patents

Metodo y aparato para procesar senales de video Download PDF

Info

Publication number
ES2710807A2
ES2710807A2 ES201890057A ES201890057A ES2710807A2 ES 2710807 A2 ES2710807 A2 ES 2710807A2 ES 201890057 A ES201890057 A ES 201890057A ES 201890057 A ES201890057 A ES 201890057A ES 2710807 A2 ES2710807 A2 ES 2710807A2
Authority
ES
Spain
Prior art keywords
transform
block
prediction
type
current block
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.)
Granted
Application number
ES201890057A
Other languages
English (en)
Other versions
ES2710807B1 (es
ES2710807R1 (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 ES2710807A2 publication Critical patent/ES2710807A2/es
Publication of ES2710807R1 publication Critical patent/ES2710807R1/es
Application granted granted Critical
Publication of ES2710807B1 publication Critical patent/ES2710807B1/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Método y aparato para procesar señales de vídeo. Un método de procesamiento de señal de vídeo de acuerdo con la presente invención comprende determinar un conjunto de transformada para un bloque actual que comprende una pluralidad de candidatos de tipo de transformada, determinar un tipo de transformada del bloque actual desde la pluralidad de candidatos de tipo de transformada y realizar una transformada inversa para el bloque actual basándose en el tipo de transformada del bloque actual.

Description

DESCRIPCION
Metodo y aparato para procesar senales de video
Campo tecnico
La presente invencion se refiere a un metodo y dispositivo para procesar una senal de video.
Antecedentes de la tecnica
En la actualidad, han aumentado las peticiones de imagenes de alta resolucion y alta calidad tales como imagenes de alta definicion (HD) e imagenes de ultra-alta definicion (UHD) en diversos campos de aplicacion. Sin embargo, los datos de resolucion y calidad de imagen superiores tienen cada vez mas cantidades de datos en comparacion con los datos de imagenes convencionales. Por lo tanto, cuando se transmiten datos de imagen usando un medio tal como redes alambricas e inalambricas convencionales, o cuando se almacenan datos de imagen usando un medio de almacenamiento convencional, aumenta el coste de transmision y almacenamiento. Para resolver estos problemas que tienen lugar con un aumento en la resolucion y calidad de datos de imagen, pueden utilizarse tecnicas de codificacion/decodificacion de imagenes de alta eficacia.
La tecnologfa de compresion de imagen incluye diversas tecnicas, que incluyen: una tecnica de interprediccion de prediccion de un valor de pixel incluido en una instantanea actual a partir de una instantanea anterior o posterior de la instantanea actual; una tecnica de intra-prediccion de prediccion de un valor de pixel incluido en una instantanea actual usando informacion de pfxeles en la instantanea actual; una tecnica de codificacion por entropfa de asignacion de un codigo corto a un valor con una alta frecuencia de ocurrencia y de asignacion de un codigo largo a un valor con una baja frecuencia de ocurrencia; etc. Los datos de imagen pueden comprimirse de manera eficaz usando tal tecnologfa de compresion de imagen, y pueden transmitirse o almacenarse.
Mientras tanto, con las peticiones de imagenes de alta resolucion, tambien han aumentado las peticiones de contenido de imagenes estereograficas, que es un nuevo servicio de imagenes. Se esta analizando una tecnica de compresion de video para proporcionar de manera eficaz contenido de imagenes estereograficas con alta resolucion y ultra-alta resolucion.
Divulgacion
Problema tecnico
Un objeto de la presente invencion se pretende que proporcione un metodo y un aparato para particionar jerarquicamente un bloque de codificacion al codificar/decodificar una senal de video.
Un objeto de la presente invencion se pretende que proporcione un metodo y un aparato para realizar de manera selectiva una transformada inversa para un bloque objetivo de codificacion/decodificacion al codificar/decodificar una senal de video.
Un objeto de la presente invencion se pretende que proporcione un metodo y un aparato para determinar de manera adaptativa un tipo de transformada de acuerdo con un bloque objetivo de codificacion/decodificacion al transformar de manera inversa el bloque objetivo de codificacion/decodificacion.
Un objeto de la presente invencion se pretende que proporcione un metodo y un aparato para derivar el valor residual de parametro de cuantificacion de acuerdo con una caracterfstica de un bloque objetivo de codificacion/decodificacion al codificar/decodificar una senal de video.
Los objetos tecnicos a conseguirse por la presente invencion no estan limitados a los problemas tecnicos anteriormente mencionados. Y, se entenderan otros problemas tecnicos que no se mencionan de manera evidente por los expertos en la materia a partir de la siguiente descripcion.
Solucion tecnica
Un metodo y un aparato para decodificar una senal de video de acuerdo con la presente invencion pueden determinar un conjunto de transformada que comprende una pluralidad de candidatos de tipo de transformada para un bloque actual, determinar un tipo de transformada del bloque actual desde la pluralidad de candidatos de tipo de transformada, y realizar una transformada inversa para el bloque actual basandose en el tipo de transformada del bloque actual.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, el tipo de transformada del bloque actual puede seleccionarse de manera adaptativa desde la pluralidad de candidatos de tipo de transformada de acuerdo con si el bloque actual satisface una condicion predeterminada.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, la condicion predeterminada puede determinarse de manera adaptativa de acuerdo con un tamano del bloque actual.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, la transformada inversa puede comprender una transformada de direccion horizontal y una transformada de direccion vertical para el bloque actual, y el conjunto de transformada puede comprender un primer conjunto de transformada para la transformada de direccion horizontal y un segundo conjunto de transformada para la transformada de direccion vertical.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, el conjunto de transformada puede especificarse por informacion de indice obtenida desde un flujo de bits. En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, el conjunto de transformada puede determinarse basandose en un conjunto de transformada de un bloque que tiene un mismo modo de prediccion o similar que el bloque actual entre bloques decodificados previamente para el bloque actual.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, el metodo y el aparato pueden decodificar indicacion de informacion de si la transformada inversa se omite para el bloque actual, y determinar si realizar la transformada inversa para el bloque actual basandose en la informacion.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, la informacion puede comprender informacion que indica si se omite una transformada inversa de direccion horizontal del bloque actual e informacion que indica si se omite una transformada inversa de direccion vertical del bloque actual.
En el metodo y el aparato para decodificar una senal de video de acuerdo con la presente invencion, cuando la informacion indica que se omite la transformada inversa para el bloque actual, puede omitirse al menos una de una transformada de direccion horizontal o una transformada de direccion vertical de acuerdo con una forma del bloque actual.
Un metodo y un aparato para codificar una senal de video de acuerdo con la presente invencion pueden determinar un conjunto de transformada que comprende una pluralidad de candidatos de tipo de transformada para un bloque actual, determinar un tipo de transformada del bloque actual desde la pluralidad de candidatos de tipo de transformada y realizar una transformada para el bloque actual basandose en el tipo de transformada del bloque actual.
En el metodo y el aparato para codificar una senal de video de acuerdo con la presente invencion, el metodo y el aparato pueden determinar el valor residual de parametro de cuantificacion para el bloque actual, determinar un parametro de cuantificacion para el bloque actual basandose en el valor residual de parametro de cuantificacion y realizar una cuantificacion para el bloque actual basandose en el parametro de cuantificacion.
En el metodo y el aparato para codificar una senal de video de acuerdo con la presente invencion, el valor residual de parametro de cuantificacion puede determinarse basandose en un valor promedio relacionado con el bloque actual, y el valor promedio puede determinarse basandose en la senal de prediccion del bloque actual y un coeficiente de CC generado como resultado de la transformada.
En el metodo y el aparato para codificar una senal de video de acuerdo con la presente invencion, el valor residual de parametro de cuantificacion puede determinarse haciendo referencia a una tabla de busqueda que define una relacion de mapeo entre el valor promedio y el valor residual de parametro de cuantificacion, y la tabla de busqueda puede determinarse basandose en al menos uno de un tamano, un modo de intra prediccion, un tipo de transformada o un valor de pixel del bloque actual.
Las caracterfsticas brevemente resumidas anteriormente para la presente invencion son unicamente aspectos ilustrativos de la descripcion detallada de la invencion que sigue, pero no limitan el alcance de la invencion.
Efectos ventajosos
De acuerdo con la presente invencion, es posible mejorar la eficacia de codificacion/decodificacion a traves del particionamiento jerarquico/adaptativo de un bloque de codificacion.
De acuerdo con la presente invencion, es posible mejorar la eficacia de codificacion/decodificacion realizando de manera selectiva una transformada inversa para un bloque objetivo de codificacion/decodificacion.
De acuerdo con la presente invencion, es posible mejorar la eficacia de codificacion/decodificacion determinando de manera adaptativa un tipo de transformada para un bloque objetivo de codificacion/decodificacion.
De acuerdo con la presente invencion, es posible mejorar la eficacia de codificacion/decodificacion derivando un valor residual de cuantificacion de acuerdo con una caracterfstica de un bloque objetivo de codificacion/decodificacion.
Los efectos conseguibles por la presente invencion no estan limitados a los efectos anteriormente mencionados, y otros efectos no mencionados pueden entenderse de manera evidente por los expertos en la materia a partir de la descripcion a continuacion.
Descripcion de los dibujos
La Figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de acuerdo con una realizacion de la presente invencion.
La Figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realizacion de la presente invencion.
La Figura 3 es una vista que ilustra un ejemplo de particionamiento jerarquico de un bloque de codificacion basandose en una estructura de arbol de acuerdo con una realizacion de la presente invencion.
La Figura 4 es una vista que ilustra tipos de modos de intra prediccion predefinidos para un dispositivo para codificar/decodificar un video de acuerdo con una realizacion de la presente invencion.
La Figura 5 es un diagrama de flujo que ilustra brevemente un metodo de intra prediccion de acuerdo con una realizacion de la presente invencion.
La Figura 6 es una vista que ilustra un metodo de correccion de una muestra de prediccion de un bloque actual basandose en informacion diferencial de muestras vecinas de acuerdo con una realizacion de la presente invencion.
Las Figuras 7 y 8 son vistas que ilustran un metodo de correccion de una muestra de prediccion basandose en un filtro de correccion predeterminado de acuerdo con una realizacion de la presente invencion.
La Figura 9 es una vista que ilustra un metodo de correccion de una muestra de prediccion basandose en el desplazamiento de acuerdo con una realizacion de la presente invencion.
Las Figuras 10 a 14 son vistas que ilustran ejemplos de un patron de intra prediccion de un bloque actual de acuerdo con una realizacion de la presente invencion.
La Figura 15 es una vista que ilustra un metodo de realizacion de prediccion usando una tecnica de copia de intra bloque de acuerdo con una realizacion de la presente invencion.
La Figura 16 muestra un intervalo de muestras de referencia para intra prediccion de acuerdo con una realizacion a la que se aplica la presente invencion.
Las Figuras 17 a 19 ilustran un ejemplo de filtracion en muestras de referencia.
La Figura 20 es un diagrama que muestra un ejemplo en el que una unidad de codificacion se divide en bloques que tienen una forma cuadrada.
La Figura 21 es un diagrama que muestra un ejemplo en el que una unidad de codificacion se divide en bloques que tienen una forma no cuadrada.
La Figura 22 es un diagrama de flujo que ilustra un proceso de realizacion de una transformada inversa para un bloque actual.
La Figura 23 muestra un ejemplo en el que se determina un conjunto de transformada de una unidad de transformada basandose en un modo de intra prediccion de una unidad de prediccion.
La Figura 24 es un diagrama de flujo que ilustra un metodo de derivacion de un valor de diferencia de parametro de cuantificacion de acuerdo con una realizacion de la presente invencion.
Modo para la invencion
Puede realizarse una diversidad de modificaciones a la presente invencion y hay diversas realizaciones de la presente invencion, ejemplos de las cuales se proporcionaran con referencia a los dibujos y se describen en detalle. Sin embargo, la presente invencion no esta limitada a lo mismo, y las realizaciones ejemplares puede considerarse que incluyen todas las modificaciones, equivalentes o sustitutos en un concepto tecnico y un alcance tecnico de la presente invencion. Los numeros de referencia similares hacen referencia al elemento similar en los dibujos descritos.
Los terminos usados en la memoria descriptiva, 'primero', 'segundo', etc., pueden usarse para describir diversos componentes, pero los componentes no se han de interpretar como que estan limitados a estos terminos. Los terminos se han de usar unicamente para diferenciar un componente de otros componentes. Por ejemplo, el 'primer' componente puede nombrarse el 'segundo' componente sin alejarse del alcance de la presente invencion, y el 'segundo' componente puede tambien nombrarse de manera similar el 'primer' componente. El termino 'y/o' incluye una combinacion de una pluralidad de elementos y uno cualquiera de una pluralidad de terminos.
Se entendera que cuando un elemento se denomina simplemente como que esta 'conectado a' o 'acoplado a' otro elemento sin estar 'directamente conectado a' o 'directamente acoplado a' otro elemento en la presente descripcion, 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, deberfa entenderse que cuando un elemento se denomina como que esta "directamente acoplado" o "directamente conectado" a otro elemento, no hay elementos intermedios presentes.
Los terminos usados en la presente memoria descriptiva se usan meramente para describir realizaciones particulares, y no se pretende que limiten la presente invencion. Una expresion usada en el singular abarca la expresion del plural, a menos que signifique de manera evidente diferente en el contexto. En la presente memoria descriptiva, se ha de entender que los terminos tales como "que incluye", "que tiene”, etc., se pretende que indiquen la existencia de las caracterfsticas, numeros, etapas, acciones, elementos, partes, o combinaciones de los mismos desvelados en la memoria descriptiva, y no se pretende que excluyan la posibilidad de que una o mas otras caracterfsticas, numeros, etapas, acciones, elementos, partes o combinaciones de los mismos puedan existir o anadirse.
En lo sucesivo, se describiran en detalle realizaciones preferidas de la presente invencion con referencia a los dibujos adjuntos. En lo sucesivo, los mismos elementos constituyentes en los dibujos se indican por los mismos numeros de referencia, y se omitira una descripcion repetida de los mismos elementos.
La Figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la Figura 1, el dispositivo para codificar un video 100 puede incluir: un modulo 110 de particionamiento de instantanea, modulos 120 y 125 de prediccion, un modulo 130 de transformada, un modulo 135 de cuantificacion, un modulo 160 de reorganizacion, un modulo 165 de codificacion por entropfa, un modulo 140 de cuantificacion inversa, un modulo 145 de transformada inversa, un modulo 150 de filtro y una memoria 155. Adicionalmente, referencias numericas en la Figura 1 denotan lo siguiente: 101 - Instantanea Actual; 102 - Bloque Objetivo de Prediccion; 103 - Bloque Residual; 104 -Bloque Residual Reconstruido; 105 - NAL.
Las partes constitucionales mostradas en la Figura 1 se muestran independientemente para representar funciones caracterfsticas diferentes unas de las otras en el dispositivo para codificar un video. Por lo tanto, no significa que cada parte constitucional este constituida en una unidad constitucional de hardware o software separado. En otras palabras, cada parte constitucional incluye cada una 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 funcion. La realizacion donde se combina cada parte constitucional y la realizacion donde se divide una parte constitucional estan tambien incluidas en el alcance de la presente invencion, si no se alejan de la esencia de la presente invencion.
Tambien, algunos de los constituyentes pueden no ser constituyentes indispensables que realizan funciones esenciales de la presente invencion sino ser constituyentes selectivos que mejoran unicamente el rendimiento de los mismos. La presente invencion puede implementarse incluyendo unicamente las partes constitucionales indispensables para implementar la esencia de la presente invencion excepto los constituyentes usados al mejorar el rendimiento. La estructura que incluye unicamente los constituyentes indispensables excepto los constituyentes selectivos usados al mejorar unicamente el rendimiento tambien esta incluida en el alcance de la presente invencion.
El modulo 110 de particionamiento de instantanea puede particionar una instantanea de entrada en una o mas unidades de procesamiento. En este punto, la unidad de procesamiento puede ser una unidad de prediccion (PU), una unidad de transformada (TU), o una unidad de codificacion (CU). El modulo 110 de particionamiento de instantanea puede particionar una instantanea en combinaciones de multiples unidades de codificacion, unidades de prediccion y unidades de transformada, y puede codificar una instantanea seleccionando una combinacion de unidades de codificacion, unidades de prediccion, y unidades de transformada con un criterio predeterminado (por ejemplo, funcion de coste).
Por ejemplo, una instantanea puede particionarse en multiples unidades de codificacion. Una estructura de arbol recursiva, tal como una estructura de arbol cuadruple, puede usarse para particionar una instantanea en unidades de codificacion. Una unidad de codificacion que se particiona en otras unidades de codificacion con una instantanea o una unidad de codificacion mas grande como una rafz puede particionarse con nodos hijos que corresponden al numero de unidades de codificacion particionadas. Una unidad de codificacion que ya no se particiona por una limitacion determinada sirve como un nodo hoja. Es decir, cuando se supone que unicamente es posible particionamiento cuadrado para una unidad de codificacion, una unidad de codificacion puede particionarse en otras cuatro unidades de codificacion como maximo.
En lo sucesivo, en la realizacion de la presente invencion, la unidad de codificacion puede significar una unidad que realiza codificacion o una unidad que realiza decodificacion.
Una unidad de prediccion puede ser una de particiones particionadas en una forma cuadrada o forma rectangular que tiene el mismo tamano en una unica unidad de codificacion, o una unidad de prediccion puede ser una de particiones particionadas para tener una forma y/o tamano diferente en una unica unidad de codificacion.
Cuando se genera una unidad de prediccion sometida a intra prediccion basandose en una unidad de codificacion y la unidad de codificacion no es la unidad de codificacion mas pequena, puede realizarse intra prediccion sin particionar la unidad de codificacion en multiples unidades de prediccion NxN.
Los modulos 120 y 125 de prediccion pueden incluir un modulo 120 de inter prediccion que realiza inter prediccion y un modulo 125 de intra prediccion que realiza intra prediccion. Puede determinarse si realizar inter prediccion o intra prediccion para la unidad de prediccion, y puede determinarse informacion detallada (por ejemplo, un modo de intra prediccion, un vector de movimiento, una instantanea de referencia, etc.) de acuerdo con cada metodo de prediccion. En este punto, la unidad de procesamiento sometida a prediccion puede ser diferente de la unidad de procesamiento para la que se determina el metodo de prediccion y contenido detallado. Por ejemplo, el metodo de prediccion, el modo de prediccion, etc., pueden determinarse por la unidad de prediccion, y la prediccion puede realizarse por la unidad de transformada. Un valor residual (bloque residual) entre el bloque de prediccion generado y un bloque original puede introducirse al modulo 130 de transformada. Tambien, informacion de modo de prediccion, informacion de vector de movimiento, etc., usadas para prediccion pueden codificarse con el valor residual por el modulo 165 de codificacion por entropfa y pueden transmitirse a un dispositivo para decodificar un video. Cuando se usa un modo de codificacion particular, es posible transmitir a un dispositivo para decodificar video codificando el bloque actual como esta sin generar el bloque de prediccion a traves de los modulos 120 y 125 de prediccion.
El modulo 120 de inter prediccion puede predecir la unidad de prediccion basandose en informacion de al menos una de una instantanea anterior o una instantanea posterior de la instantanea actual, o puede predecir la unidad de prediccion basandose en informacion de algunas regiones codificadas en la instantanea actual, en algunos casos. El modulo 120 de inter prediccion puede incluir un modulo de instantanea de referencia interpolacion, un modulo de prediccion de movimiento y un modulo de compensacion de movimiento.
El modulo de interpolacion de instantanea de referencia puede recibir informacion de instantanea de referencia desde la memoria 155 y puede generar informacion de pfxeles de un pixel entero o menor que el pixel entero desde la instantanea de referencia. En el caso de pfxeles de luminancia, puede usarse un filtro de interpolacion basado en DCT de 8 derivaciones que tiene diferentes coeficientes de filtro para generar informacion de pfxeles de un pixel entero o menor que un pixel entero en unidades de un 1/4 de pixel. En el caso de senales de crominancia, puede usarse un filtro de interpolacion basado en DCT de 4 derivaciones que tiene coeficiente de filtro diferente para generar informacion de pfxeles de un pixel entero o menor que un pixel entero en unidades de un 1/8 de pixel.
El modulo de prediccion de movimiento puede realizar prediccion de movimiento basandose en la instantanea de referencia interpolada por el modulo de instantanea de referencia interpolacion. Como metodos para calcular un vector de movimiento, pueden usarse diversos metodos, tales como algoritmo de coincidencia de bloque basado en busqueda completa (FBMA), una busqueda de tres etapas (TSS), un nuevo algoritmo de busqueda de tres etapas (NTS), etc. El vector de movimiento puede tener un valor de vector de movimiento en unidades de un 1/2 de pixel o un 1/4 de pixel basandose en un pixel interpolado. El modulo de prediccion de movimiento puede predecir una unidad de prediccion actual cambiando el metodo de prediccion de movimiento. Como metodos de prediccion de movimiento, pueden usarse diversos metodos, tales como un metodo de salto, un metodo de union, un metodo de AMVP (del ingles “Advanced Motion Vector Prediction” - Prediccion Avanzada de Vector de Movimiento), un metodo de copia de intra bloque, etc.
El modulo 125 de intra prediccion puede generar una unidad de prediccion basandose en informacion de pixel de referencia que es vecino a un bloque actual que es informacion de pfxeles en la instantanea actual. Cuando el bloque vecino de la unidad de prediccion actual es un bloque sometido a inter prediccion y por lo tanto un pixel de referencia es un pixel sometido a inter prediccion, el pixel de referencia incluido en el bloque sometido a inter prediccion puede sustituirse por informacion de pixel de referencia de un bloque vecino sometido a intra prediccion. Es decir, cuando un pixel de referencia no esta disponible, puede usarse al menos un pixel de referencia de pfxeles de referencia disponibles en lugar de informacion de pixel de referencia no disponible.
Los modos de prediccion en intra prediccion pueden incluir un modo de prediccion direccional que usa informacion de pixel de referencia que depende de una direccion de prediccion y un modo de prediccion no direccional que no usa informacion direccional al realizar prediccion. Un modo para predecir informacion de luminancia puede ser diferente de un modo para predecir informacion de crominancia, y para predecir la informacion de crominancia, puede utilizarse informacion de modo de intra prediccion usada para predecir informacion de luminancia o informacion de senal de luminancia prevista.
Al realizar intra prediccion, cuando el tamano de la unidad de prediccion es el mismo que el tamano de la unidad de transformada, puede realizare intra prediccion en la unidad de prediccion basandose en pfxeles situados a la izquierda, arriba a la izquierda y arriba de la unidad de prediccion. Sin embargo, al realizar intra prediccion, cuando el tamano de la unidad de prediccion es diferente del tamano de la unidad de transformada, puede realizarse intra prediccion usando un pixel de referencia basandose en la unidad de transformada. Tambien, puede usarse intra prediccion usando particionamiento de N x N para unicamente la unidad de codificacion mas pequena.
En el metodo de intra prediccion, un bloque de prediccion puede generarse despues de aplicar un filtro de AIS (del ingles “Adaptive Intra Smoothing” - Intra Suavizado Adaptativo) a un pixel de referencia que depende de los modos de prediccion. El tipo del filtro de AIS aplicado al pixel de referencia puede variar. Para realizar el metodo de intra prediccion, puede predecirse un modo de intra prediccion de la unidad de prediccion actual a partir del modo de intra prediccion de la unidad de prediccion que es vecino a la unidad de prediccion actual. En la prediccion del modo de prediccion de la unidad de prediccion actual usando informacion de modo prevista desde la unidad de prediccion vecina, cuando el modo de intra prediccion de la unidad de prediccion actual es el mismo que el modo de intra prediccion de la unidad de prediccion vecina, la informacion que indica que los modos de prediccion de la unidad de prediccion actual y la unidad de prediccion son iguales entre sf puede transmitirse usando informacion de bandera predeterminada. Cuando el modo de prediccion de la unidad de prediccion actual es diferente del modo de prediccion de la unidad de prediccion vecina, puede realizarse codificacion por entropfa para codificar informacion de modo de prediccion del bloque actual.
Tambien, puede generarse un bloque residual que incluye informacion sobre un valor residual que es uno diferente entre la unidad de prediccion sometida a prediccion y el bloque original de la unidad de prediccion basandose en unidades de prediccion generadas por los modulos 120 y 125 de prediccion. El bloque residual generado puede introducirse al modulo 130 de transformada.
El modulo 130 de transformada puede transformar el bloque residual que incluye la informacion sobre el valor residual entre el bloque original y las unidades de prediccion generadas por los modulos 120 y 125 de prediccion usando un metodo 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 basandose en informacion de modo de intra prediccion de la unidad de prediccion usada para generar el bloque residual.
El modulo 135 de cuantificacion puede cuantificar valores transformados a un dominio de frecuencia por el modulo 130 de transformada. Los coeficientes de cuantificacion pueden variar dependiendo del bloque o la importancia de una instantanea. Los valores calculados por el modulo 135 de cuantificacion pueden proporcionarse al modulo 140 de cuantificacion inversa y al modulo 160 de reorganizacion.
El modulo 160 de reorganizacion puede reorganizar coeficientes de valores residuales cuantificados. El modulo 160 de reorganizacion puede cambiar un coeficiente en forma de un bloque bidimensional en un coeficiente en forma de un vector unidimensional a traves de un metodo de exploracion de coeficiente. Por ejemplo, el modulo 160 de reorganizacion puede explorar desde un coeficiente de CC a un coeficiente en un dominio de alta frecuencia usando un metodo de exploracion en zigzag para cambiar los coeficientes para que esten en forma de vectores unidimensionales. Dependiendo del tamano de la unidad de transformada y el modo de intra prediccion, puede usarse la exploracion de direccion vertical donde los coeficientes en forma de bloques bidimensionales se exploran en la direccion de columna o la exploracion de direccion horizontal donde los coeficientes en forma de bloques bidimensionales se exploran en direccion de fila en lugar de la exploracion en zigzag. Es decir, que metodo de exploracion entre exploracion en zigzag, exploracion de direccion vertical y exploracion de direccion horizontal se usa puede determinarse dependiendo del tamano de la unidad de transformada y el modo de intra prediccion. El modulo 165 de codificacion por entropfa puede realizar codificacion por entropfa basandose en los valores calculados por el modulo 160 de reorganizacion. La codificacion por entropfa puede usar diversos metodos de codificacion, por ejemplo, codificacion Golomb exponencial, codificacion de longitud variable adaptativa segun contexto (CAVLC), y codificacion binaria aritmetica adaptativa segun contexto (CABAC). El modulo 165 de codificacion por entropfa puede codificar una diversidad de informacion, tal como informacion de coeficiente de valor residual e informacion de tipo de bloque de la unidad de codificacion, informacion de modo de prediccion, informacion de unidad de particion, informacion de unidad de prediccion, informacion de unidad de transformada, informacion de vector de movimiento, informacion de fotograma de referencia, informacion de interpolacion de bloque, informacion de filtracion, etc., desde el modulo 160 de reorganizacion y los modulos 120 y 125 de prediccion.
El modulo 165 de codificacion por entropfa puede codificar por entropfa los coeficientes de la unidad de codificacion introducidos desde el modulo 160 de reorganizacion.
El modulo 140 de cuantificacion inversa puede cuantificar a la inversa los valores cuantificados por el modulo 135 de cuantificacion y el modulo 145 de transformada inversa puede transformar a la inversa los valores transformados por el modulo 130 de transformada. El valor residual generado por el modulo 140 de cuantificacion inversa y el modulo 145 de transformada inversa puede combinarse con la unidad de prediccion prevista por un modulo de estimacion de movimiento, un modulo de compensacion de movimiento, y el modulo de intra prediccion de los modulos 120 y 125 de prediccion de manera que puede generarse un bloque reconstruido.
El modulo 150 de filtro puede incluir al menos uno de un filtro de desbloqueo, una unidad de correccion de desplazamiento y un filtro de bucle adaptativo (ALF).
El filtro de desbloqueo puede eliminar la distorsion de bloque que tiene lugar debido a los lfmites entre los bloques en la instantanea reconstruida. Para determinar si realizar el desbloqueo, los pfxeles incluidos en varias filas o columnas en el bloque pueden ser una base de determinacion 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 debil dependiendo de la intensidad de filtracion de desbloqueo requerida. Tambien, al aplicar el filtro de desbloqueo, puede procesarse en paralelo la filtracion de la direccion horizontal y la filtracion de la direccion vertical.
El modulo de correccion de desplazamiento puede corregir el desplazamiento con la instantanea original en unidades de un pixel en la instantanea sometida a desbloqueo. Para realizar la correccion de desplazamiento en una instantanea particular, es posible usar un metodo de aplicacion de desplazamiento teniendo en cuenta informacion de borde de cada pixel o un metodo de particionamiento de pfxeles de una instantanea en el numero predeterminado de regiones, determinar una region para que se someta para realizar desplazamiento, y aplicar el desplazamiento a la region determinada.
La filtracion de bucle adaptativa (ALF) puede realizarse basandose en el valor obtenido comparando la instantanea reconstruida filtrada y la instantanea original. Los pfxeles incluidos en la instantanea pueden dividirse en grupos predeterminados, puede determinarse un filtro a aplicarse a cada uno de los grupos, y la filtracion puede realizarse individualmente para cada grupo. La informacion sobre si aplicar ALF y una senal de luminancia puede transmitirse por unidades de codificacion (CU). La forma y coeficiente de filtro de un filtro para ALF puede variar dependiendo de cada bloque. Tambien, el filtro para ALF en la misma forma (forma fija) puede aplicarse independientemente de las caracterfsticas del bloque objetivo de aplicacion.
La memoria 155 puede almacenar el bloque reconstruido o instantanea calculados a traves del modulo 150 de filtro. El bloque o instantanea reconstruidos almacenados pueden proporcionarse a los modulos 120 y 125 de prediccion al realizar inter prediccion.
La Figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la Figura 2, el dispositivo 200 para decodificar un video puede incluir: un modulo 210 de decodificacion por entropfa, un modulo 215 de reorganizacion, un modulo 220 de cuantificacion inversa, un modulo 225 de transformada inversa, modulos 230 y 235 de prediccion, un modulo 240 de filtro, y una memoria 245. Adicionalmente, la referencia numerica 201 en la Figura 2 denota la unidad NAL.
Cuando se introduce un flujo de bits de video desde el dispositivo para codificar un video, el flujo de bits de entrada puede decodificarse de acuerdo con un proceso inverso del dispositivo para codificar un video. El modulo 210 de decodificacion por entropfa puede realizar decodificacion por entropfa de acuerdo con un proceso inverso de codificacion por entropfa por el modulo de codificacion por entropfa del dispositivo para codificar un video. Por ejemplo, en correspondencia a los metodos realizados por el dispositivo para codificar un video, pueden aplicarse diversos metodos, tales como codificacion de Golomb exponencial, codificacion de longitud variable adaptativa segun contexto (en ingles “context-adaptive variable length coding” - CAVLC) y codificacion binaria aritmetica adaptativa segun contexto (en ingles “context-adaptive binary arithmetic coding” - CABAC).
El modulo 210 de decodificacion por entropfa puede decodificar informacion en intra prediccion e inter prediccion realizadas por el dispositivo para codificar un video.
El modulo 215 de reorganizacion puede realizar reorganizacion en el flujo de bits decodificado por entropfa por el modulo 210 de decodificacion por entropfa basandose en el metodo de reorganizacion usado en el dispositivo para codificar un video. El modulo de reorganizacion puede reconstruir y reorganizar los coeficientes en forma de vectores unidimensionales para el coeficiente en forma de bloques bidimensionales. El modulo 215 de reorganizacion puede recibir informacion relacionada con exploracion de coeficiente realizada en el dispositivo para codificar un video y puede realizar reorganizacion mediante un metodo de exploracion a la inversa de los coeficientes basandose en el orden de exploracion realizado en el dispositivo para codificar un video.
El modulo 220 de cuantificacion inversa puede realizar cuantificacion inversa basandose en un parametro de cuantificacion recibido desde el dispositivo para codificar un video y los coeficientes reorganizados del bloque.
El modulo 225 de transformada inversa puede realizar la transformada inversa, DCT inversa, DST inversa y KLT inversa, que es el proceso inverso de la transformada, es decir, DCT, DST y KLT, realizadas por el modulo de transformada en el resultado de cuantificacion por el dispositivo para codificar un video. La transformada inversa puede realizarse basandose en la unidad de transformada determinada por el dispositivo para codificar un video. El modulo 225 de transformada inversa del dispositivo para decodificar un video puede realizar de manera selectiva esquemas de transformada (por ejemplo, DCT, DST y KLT) dependiendo de multiples piezas de informacion, tales como el metodo de prediccion, el tamano del bloque actual, la direccion de prediccion, etc.
Los modulos 230 y 235 de prediccion pueden generar un bloque de prediccion basandose en informacion sobre la generacion de bloque de prediccion recibida desde el modulo 210 de decodificacion por entropfa y la informacion de bloque o instantanea decodificados previamente recibida desde la memoria 245. Como se ha descrito anteriormente, como la operacion del dispositivo para codificar un video, al realizar intra prediccion, cuando el tamano de la unidad de prediccion es el mismo que el tamano de la unidad de transformada, puede realizarse intra prediccion en la unidad de prediccion basandose en los pfxeles situados a la izquierda, arriba a la izquierda y arriba de la unidad de prediccion. Al realizar intra prediccion, cuando el tamano de la unidad de prediccion es diferente del tamano de la unidad de transformada, puede realizarse intra prediccion usando un pixel de referencia basandose en la unidad de transformada. Tambien, puede usarse intra prediccion usando particionamiento de N x N para unicamente la unidad de codificacion mas pequena.
Los modulos 230 y 235 de prediccion pueden incluir un modulo de determinacion de unidad de prediccion, un modulo de inter prediccion y un modulo de intra prediccion. El modulo de determinacion de unidad de prediccion puede recibir una diversidad de informacion, tal como informacion de unidad de prediccion, informacion de modo de prediccion de un metodo de intra prediccion, informacion sobre prediccion de movimiento de un metodo de inter prediccion, etc., desde el modulo 210 de decodificacion por entropfa, puede dividir una unidad de codificacion actual en unidades de prediccion, y puede determinar si se realiza inter prediccion o intra prediccion en la unidad de prediccion. Usando informacion requerida en inter prediccion de la unidad de prediccion actual recibida desde el dispositivo para codificar un video, el modulo 230 de inter prediccion puede realizar inter prediccion en la unidad de prediccion actual basandose en informacion de al menos una de una instantanea anterior o una instantanea posterior de la instantanea actual que incluye la unidad de prediccion actual. Como alternativa, puede realizarse inter prediccion basandose en informacion de algunas regiones pre-reconstruidas en la instantanea actual que incluyen la unidad de prediccion actual.
Para realizar inter prediccion, puede determinarse para la unidad de codificacion cual de un modo de salto, un modo de union, un modo de AMVP, y un modo de copia de inter bloque se usa como el metodo de prediccion de movimiento de la unidad de prediccion incluida en la unidad de codificacion.
El modulo 235 de intra prediccion puede generar un bloque de prediccion basandose en informacion de pixeles en la instantanea actual. Cuando la unidad de prediccion es una unidad de prediccion sometida a intra prediccion, puede realizarse intra prediccion basandose en informacion de modo de intra prediccion de la unidad de prediccion recibida desde el dispositivo para codificar un video. El modulo 235 de intra prediccion puede incluir un filtro de intra suavizado adaptativo (del ingles “Adaptive Intra Smoothing” -AIS), un modulo de interpolacion de pixel de referencia, y un filtro de CC. El filtro de AIS realiza filtracion en el pixel de referencia del bloque actual, y si aplicar el filtro puede determinarse dependiendo del modo de prediccion de la unidad de prediccion actual. El filtrado de AIS puede realizarse en el pixel de referencia del bloque actual usando el modo de prediccion de la unidad de prediccion e informacion de AIS de filtro recibida desde el dispositivo para codificar un video. Cuando el modo de prediccion del bloque actual es un modo donde no se realiza filtracion de AIS, el filtro de AIS puede no aplicarse.
Cuando el modo de prediccion de la unidad de prediccion es un modo de prediccion en el que se realiza intra prediccion basandose en el valor de pixel obtenido interpolando el pixel de referencia, el modulo de interpolacion de pixel de referencia puede interpolar el pixel de referencia para generar el pixel de referencia de un pixel entero o menor que un pixel entero. Cuando el modo de prediccion de la unidad de prediccion actual es un modo de prediccion en el que se genera un bloque de prediccion sin interpolacion del pixel de referencia, el pixel de referencia puede no interpolarse. El filtro de CC puede generar un bloque de prediccion a traves de filtracion cuando el modo de prediccion del bloque actual es un modo de CC.
El bloque o instantanea reconstruida puede proporcionarse al modulo 240 de filtro. El modulo 240 de filtro puede incluir el filtro de desbloqueo, el modulo de correccion de desplazamiento y el ALF.
La informacion sobre si se aplica o no el filtro de desbloqueo al correspondiente bloque o instantanea e informacion sobre cual de un filtro intenso y un filtro debil se aplica cuando se aplica el filtro de desbloqueo puede recibirse desde el dispositivo para codificar un video. El filtro de desbloqueo del dispositivo para decodificar un video puede recibir informacion sobre el filtro de desbloqueo desde el dispositivo para codificar un video, y puede realizar filtracion de desbloqueo en el bloque correspondiente. El modulo de correccion de desplazamiento puede realizar correccion de desplazamiento en la instantanea reconstruida basandose en el tipo de correccion de desplazamiento e informacion de valor de desplazamiento aplicada a una instantanea al realizar la codificacion.
El ALF puede aplicarse a la unidad de codificacion basandose en informacion sobre si aplicar el ALF, informacion de coeficiente de ALF, etc., recibida desde el dispositivo para codificar un video. La informacion de ALF puede proporcionarse como estando incluida en un conjunto de parametros particular. La memoria 245 puede almacenar la instantanea o bloque reconstruido para su uso como una instantanea o bloque de referencia y puede proporcionar la instantanea reconstruida a un modulo de salida.
Como se ha descrito anteriormente, en la realizacion de la presente invencion, por conveniencia de explicacion, la unidad de codificacion se usa como un termino que representa una unidad para codificar, pero la unidad de codificacion puede servir como una unidad que realiza decodificacion asf como codificacion.
La Figura 3 es una vista que ilustra un ejemplo de particionamiento jerarquico de un bloque de codificacion basandose en una estructura de arbol de acuerdo con una realizacion de la presente invencion. Referencias numericas en la Figura 3 denotan lo siguiente: 301 - Bloques con profundidad k; 302 - Bloques con profundidad k+1; 303 - Bloques con profundidad k+2.
Una senal de video de entrada se decodifica en unidades de bloque predeterminadas. Una unidad por defecto de este tipo para decodificar la senal de video de entrada es un bloque de codificacion. El bloque de codificacion puede ser una unidad que realiza intra/inter prediccion, transformada y cuantificacion. El bloque de codificacion puede ser un bloque cuadrado o no cuadrado que tiene un tamano arbitrario en un intervalo de 8x8 a 64x64, o puede ser un bloque cuadrado o no cuadrado que tiene un tamano de 128x128, 256x256 o mayor.
Especfficamente, el bloque de codificacion puede particionarse jerarquicamente basandose en al menos uno de un arbol cuadruple y un arbol binario. En este punto, el particionamiento basado en arbol cuadruple puede significar que un bloque de codificacion de 2Nx2N se particiona en cuatro bloques de codificacion de NxN, y el particionamiento basado en arbol binario puede significar que un bloque de codificacion se particiona en dos bloques de codificacion. El particionamiento basado en arbol binario puede realizarse simetrica o asimetricamente. El bloque de codificacion particionado basado en el arbol binario puede ser un bloque cuadrado o un bloque no cuadrado, tal como una forma rectangular. El particionamiento basado en arbol binario puede realizarse en un bloque de codificacion donde ya no se realiza particionamiento basado en arbol cuadruple. El particionamiento basado en arbol cuadruple puede ya no realizarse en el bloque de codificacion particionado basandose en el arbol binario.
Para implementar el particionamiento adaptativo basandose en el arbol cuadruple o arbol binario, puede usarse informacion que indica particionamiento basado en arbol cuadruple, informacion sobre el tamano/profundidad del bloque de codificacion que esta permitido particionamiento basado en arbol cuadruple, informacion que indica particionamiento basado en arbol binario, informacion sobre el tamano/profundidad del bloque de codificacion que esta permitido particionamiento basado en arbol binario, informacion sobre el tamano/profundidad del bloque de codificacion que no esta permitido el particionamiento basado en arbol binario, informacion sobre si se realiza particionamiento basado en arbol binario en una direccion vertical o una direccion horizontal, etc.
Como se muestra en la Figura 3, el primer bloque 300 codificacion de con la profundidad de particion (profundidad de division) de k puede particionarse en multiples segundos bloques de codificacion basandose en el arbol cuadruple. Por ejemplo, los segundos bloques 310 a 340 de codificacion pueden ser bloques cuadrados que tienen la mitad de anchura y la mitad de altura del primer bloque de codificacion, y la profundidad de particion del segundo bloque de codificacion puede aumentarse a k+1. El segundo bloque 310 de codificacion con la profundidad de particion de k+1 puede particionarse en multiples terceros bloques de codificacion con la profundidad de particion de k+2. El particionamiento del segundo bloque 310 de codificacion puede realizarse usando de manera selectiva uno del arbol cuadruple y el arbol binario dependiendo de un metodo de particionamiento. En este punto, el metodo de particionamiento puede determinarse basandose en al menos una de la informacion que indica particionamiento basado en arbol cuadruple y la informacion que indica particionamiento basado en arbol binario.
Cuando el segundo bloque 310 de codificacion se particiona basandose en el arbol cuadruple, el segundo bloque 310 de codificacion puede particionarse en cuatro terceros bloques 310a de codificacion que tienen la mitad de anchura y la mitad de altura del segundo bloque de codificacion, y la profundidad de particion del tercer bloque 310a de codificacion puede aumentarse a k+2. En contraste, cuando el segundo bloque 310 de codificacion se particiona basandose en el arbol binario, el segundo bloque 310 de codificacion puede particionarse en dos terceros bloques de codificacion. En este punto, cada uno de los dos terceros bloques de codificacion puede ser un bloque no cuadrado que tiene una de la mitad de anchura y la mitad de altura del segundo bloque de codificacion, y la profundidad de particion puede aumentarse a k+2. El segundo bloque de codificacion puede determinarse como un bloque no cuadrado de una direccion horizontal o una direccion vertical que depende de una direccion de particionamiento, y la direccion de particionamiento puede determinarse basandose en la informacion sobre si se realiza particionamiento basado en arbol binario en una direccion vertical o una direccion horizontal.
Mientras tanto, el segundo bloque 310 de codificacion puede determinarse como un bloque de codificacion de hoja que ya no se particiona basandose en el arbol cuadruple o el arbol binario. En este caso, el bloque de codificacion hoja puede usarse como un bloque de prediccion o un bloque de transformada.
El particionamiento similar del segundo bloque 310 de codificacion, el tercer bloque 310a de codificacion puede determinarse como un bloque de codificacion hoja, o puede particionarse adicionalmente basandose en el arbol cuadruple o el arbol binario.
Mientras tanto, el tercer bloque 310b de codificacion particionado basandose en el arbol binario puede particionarse adicionalmente en bloques 310b-2 de codificacion de una direccion vertical o bloques 310b 3 de codificacion de una direccion horizontal basandose en el arbol binario, y la profundidad de particion de los bloques relevantes de codificacion puede aumentarse a k+3. Como alternativa, el tercer bloque 310b de codificacion puede determinarse como un bloque 310b-1 de codificacion hoja que ya no se particiona basandose en el arbol binario. En este caso, el bloque 310b-1 de codificacion puede usarse como un bloque de prediccion o un bloque de transformada. Sin embargo, el proceso de particionamiento anterior puede realizarse de manera limitada basandose en al menos uno de la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en arbol cuadruple esta permitida, la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en arbol binario esta permitida, y la informacion sobre el tamano/profundidad del bloque de codificacion que el particionamiento basado en arbol binario no esta permitida.
La Figura 4 es una vista que ilustra tipos de modos de intra prediccion predefinidos para un dispositivo para codificar/decodificar un video de acuerdo con una realizacion de la presente invencion.
El dispositivo para codificar/decodificar un video puede realizar intra prediccion usando uno de modos de intra prediccion predefinidos. Los modos de intra prediccion predefinidos para intra prediccion pueden incluir modos de prediccion no direccional (por ejemplo, un modo planar (modo 0), un modo de CC (modo 1)) y 33 modos de prediccion direccional.
Como alternativa, para mejorar la precision de intra prediccion, puede usarse un numero mayor de modos de prediccion direccional que los 33 modos de prediccion. Es decir, pueden definirse M modos de prediccion direccional ampliados subdividiendo angulos de los modos de prediccion direccional (M>33), y puede derivarse un modo de prediccion direccional que tiene un angulo predeterminado usando al menos uno de los 33 modos de prediccion direccional predefinidos.
La Figura 4 muestra un ejemplo de modos de intra prediccion ampliados, y los modos de intra prediccion ampliados pueden incluir dos modos de prediccion no direccional y 65 modos de prediccion direccional ampliados. Los mismos numeros de los modos de intra prediccion ampliados pueden usarse para un componente de luminancia y un componente de crominancia, o puede usarse un numero diferente de los modos de intra prediccion para cada componente. Por ejemplo, pueden usarse 67 modos de intra prediccion ampliados para el componente de luminancia, y pueden usarse 35 modos de intra prediccion para el componente de crominancia.
Como alternativa, dependiendo del formato de crominancia, puede usarse un numero diferente de los modos de intra prediccion al realizar intra prediccion. Por ejemplo, en el caso del formato 4:2:0, pueden usarse 67 modos de intra prediccion para que el componente de luminancia realice intra prediccion y pueden usarse 35 modos de intra prediccion para el componente de crominancia. En el caso del formato 4:4:4, pueden usarse 67 modos de intra prediccion para que tanto el componente de luminancia como el componente de crominancia realicen intra prediccion.
Como alternativa, dependiendo del tamano y/o forma del bloque, puede usarse un numero diferente de los modos de intra prediccion para realizar intra prediccion. Es decir, dependiendo del tamano y/o forma de la PU o CU, pueden usarse 35 modos de intra prediccion o 67 modos de intra prediccion para realizar intra prediccion. Por ejemplo, cuando la CU o PU tiene el tamano menor que 64x64 o se particiona asimetricamente, pueden usarse 35 modos de intra prediccion para realizar intra prediccion. Cuando el tamano de la CU o PU es mayor o igual que 64x64, pueden usarse 67 modos de intra prediccion para realizar intra prediccion. Pueden permitirse 65 modos de intra prediccion direccional para Intra_2Nx2N, y unicamente pueden permitirse 35 modos de intra prediccion direccional para Intra_NxN.
La Figura 5 es un diagrama de flujo que ilustra brevemente un metodo de intra prediccion de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la Figura 5, puede determinarse un modo de intra prediccion del bloque actual en la etapa S500.
Especfficamente, el modo de intra prediccion del bloque actual puede derivarse basandose en una lista de candidatos y un indice. En este punto, la lista de candidatos contiene multiples candidatos, y los multiples candidatos pueden determinarse basandose en un modo de intra prediccion del bloque vecino adyacente al bloque actual. El bloque vecino puede incluir al menos uno de los bloques situados en la parte superior, la parte inferior, la izquierda, la derecha y la esquina del bloque actual. El indice puede especificar uno de los multiples candidatos de la lista de candidatos. El candidato especificado por el indice puede establecerse al modo de intra prediccion del bloque actual.
Un modo de intra prediccion usado para intra prediccion en el bloque vecino puede establecerse como un candidato. Tambien, un modo de intra prediccion que tiene direccionalidad similar a la del modo de intra prediccion del bloque vecino puede establecerse como un candidato. En este punto, el modo de intra prediccion que tiene direccionalidad similar puede determinarse anadiendo o restando un valor constante predeterminado a o desde el modo de intra prediccion del bloque vecino. El valor constante predeterminado puede ser un numero 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 anadirse de manera adaptativa considerando el numero maximo de candidatos que pueden incluirse en la lista de candidatos del bloque actual.
El numero maximo de candidatos que pueden incluirse en la lista de candidatos puede ser tres, cuatro, cinco, seis o mas. El numero maximo de candidatos que puede incluirse en la lista de candidatos puede ser un valor fijo presente en el dispositivo para codificar/decodificar un video, o puede determinarse de manera variable basandose en una caracteristica del bloque actual. La caracteristica puede significar la localizacion/tamano/forma del bloque, el numero/tipo de los modos de intra prediccion que el bloque puede usar, etc. Como alternativa, la informacion que indica el numero maximo de candidatos que puede incluirse en la lista de candidatos puede senalizarse de manera separada, y el numero maximo de candidatos que puede incluirse en la lista de candidatos puede determinarse de manera variable usando la informacion. La informacion que indica el numero maximo de candidatos puede senalizarse en al menos uno de un nivel de secuencia, un nivel de instantanea, un nivel de corte y un nivel de bloque. Cuando los modos de intra prediccion ampliados y los 35 modos de intra prediccion predefinidos se usan de manera selectiva, los modos de intra prediccion de los bloques vecinos pueden transformarse en indices que corresponden a los modos de intra prediccion extendidos o en indices que corresponden a los 35 modos de intra prediccion, mediante los cuales pueden derivarse candidatos. Para transforma un indice, puede usarse una tabla predefinida, o una operacion de cambio de escala basandose en un valor predeterminado. En este punto, la tabla predefinida puede definir una relacion de mapeo entre diferentes grupos de modos de intra prediccion (por ejemplo, modos de intra prediccion ampliados y 35 modos de intra prediccion).
Por ejemplo, cuando el bloque vecino izquierdo usa los 35 modos de intra prediccion y el modo de intra prediccion del bloque vecino izquierdo es 10 (un modo horizontal), puede transformarse en un indice de 16 que corresponde a un modo horizontal en los modos de intra prediccion ampliados.
Como alternativa, cuando el bloque vecino superior usa los modos de intra prediccion ampliados y el modo de intra prediccion del bloque vecino tiene un indice de 50 (un modo vertical), puede transformarse en un indice de 26 que corresponde a un modo vertical en los 35 modos de intra prediccion.
Basandose en el metodo anteriormente descrito de determinacion del modo de intra prediccion, el modo de intra prediccion puede derivarse independientemente para cada uno del componente de luminancia y el componente de crominancia, o el modo de intra prediccion del componente de crominancia puede derivarse dependiendo del modo de intra prediccion del componente de luminancia.
Especfficamente, el modo de intra prediccion del componente de crominancia puede determinarse basandose en el modo de intra prediccion del componente de luminancia como se muestra en la siguiente tabla 1.
[Tabla 1]
Figure imgf000014_0001
En la tabla 1, intra_chroma_pred_mode significa informacion senalizada para especificar el modo de intra prediccion del componente de crominancia, e IntraPredModeY indica el modo de intra prediccion del componente de luminancia.
Haciendo referencia a la Figura 5, una muestra de referencia para intra prediccion del bloque actual puede derivarse en la etapa S510.
Especfficamente, una muestra de referencia para intra prediccion puede derivarse basandose 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 despues 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 basandose en un intra filtro predeterminado puede usarse como la muestra de referencia. El intra filtro puede incluir al menos uno del primer intra filtro aplicado a multiples muestras vecinas situadas en la misma lfnea horizontal y el segundo intra filtro aplicado a multiples muestras vecinas situadas en la misma lfnea vertical. Dependiendo de las posiciones de las muestras vecinas, puede aplicarse de manera selectiva uno del primer intra filtro y del segundo intra filtro, o pueden aplicarse ambos intra filtros.
La filtracion puede realizarse de manera adaptativa basandose en al menos uno del modo de intra prediccion del bloque actual y el tamano del bloque de transformada para el bloque actual. Por ejemplo, cuando el modo de intra prediccion del bloque actual es el modo CC, el modo vertical, o el modo horizontal, no puede realizarse filtracion. Cuando el tamano del bloque de transformada es NxM, no puede realizarse filtracion. En este punto, N y M pueden ser los mismos valores o valores diferentes, o pueden ser valores de 4, 8, 16 o mas. Como alternativa, la filtracion puede realizarse de manera selectiva basandose en el resultado de una comparacion de umbral predefinido y la diferencia entre el modo de intra prediccion del bloque actual y el modo vertical (o el modo horizontal). Por ejemplo, cuando la diferencia entre el modo de intra prediccion del bloque actual y el modo vertical es mayor que un umbral, puede realizarse filtracion. El umbral puede definirse para cada tamano del bloque de transformada como se muestra en la Tabla 2.
[Tabla 2]
Figure imgf000014_0002
El intra filtro puede determinarse como uno de multiples candidatos de intra filtro predefinidos en el dispositivo para codificar/decodificar un video. Para este fin, puede senalizarse un fndice que especifica un intra filtro del bloque actual entre los multiples intra filtros candidatos. Como alternativa, el intra filtro puede determinarse basandose al menos en uno del tamano/forma del bloque actual, el tamano/forma del bloque de transformada, informacion sobre la intensidad de filtro y variaciones de las muestras vecinas. Haciendo referencia a la Figura 5, puede realizarse intra prediccion usando el modo de intra prediccion del bloque actual y la muestra de referencia en la etapa S520.
Es decir, la muestra de prediccion del bloque actual puede obtenerse usando el modo de intra prediccion determinado en la etapa S500 y la muestra de referencia derivada en la etapa S510. Sin embargo, en el caso de intra prediccion, puede usarse una muestra de lfmite del bloque vecino, y por lo tanto puede reducirse la calidad de la instantanea de prediccion. Por lo tanto, puede realizarse un proceso de correccion en la muestra de prediccion generada a traves del proceso de prediccion anteriormente descrito, y se describira en detalle con referencia a las Figuras 6 a 14. Sin embargo, el proceso de correccion no esta limitado a que se aplique unicamente una muestra de inter prediccion, y puede aplicarse a una muestra de inter prediccion o a la muestra reconstruida.
La Figura 6 es una vista que ilustra un metodo de correccion de una muestra de prediccion de un bloque actual basandose en informacion diferencial de muestras vecinas de acuerdo con una realizacion de la presente invencion. Las referencias numericas en la Figura 6 denotan lo siguiente: 601 - muestra vecina, 602 - muestra actual.
La muestra de prediccion del bloque actual puede corregirse basandose en la informacion diferencial de multiples muestras vecinas para el bloque actual. La correccion puede realizarse en todas las muestras de prediccion en el bloque actual, o puede realizarse en muestras de prediccion en algunas regiones predeterminadas. Algunas regiones pueden ser una fila/columna o multiples filas/columnas, o pueden ser regiones prestablecidas para correccion en el dispositivo para codificar/decodificar un video, o pueden determinarse de manera variable basandose en al menos uno del tamano/forma del bloque actual y el modo de intra prediccion.
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 numero de muestras vecinas usadas para correccion puede ser dos, tres, cuatro o mas. Las posiciones de las muestras vecinas pueden determinarse de manera variable dependiendo de la posicion de la muestra de prediccion que es el objetivo de correccion en el bloque actual. Como alternativa, algunas de las muestras vecinas pueden tener posiciones fijadas independientemente de la posicion de la muestra de prediccion que es el objetivo de correccion, y las muestras vecinas restantes pueden tener posiciones que dependen de manera variable de la posicion de la muestra de prediccion que es el objetivo de correccion.
La informacion diferencial de las muestras vecinas puede significar una muestra diferencial entre las muestras vecinas, o puede significar un valor obtenido cambiando de escala 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 posicion de la muestra de prediccion que es el objetivo de correccion, la posicion de la columna o fila que incluye la muestra de prediccion que es el objetivo de correccion, la posicion de la muestra de prediccion dentro de la columna o fila, etc.
Por ejemplo, cuando el modo de intra prediccion 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 lfmite del bloque actual para obtener la muestra de prediccion final como se muestra en la Ecuacion 1.
[Ecuacion 1]
P'(0,jj;)=P(0,>’)+ ((p (-l,> ')-/?(-l?- l ) ) > > l para _y=0..JV-l Por ejemplo, cuando el modo de intra prediccion 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 lfmite superior del bloque actual para obtener la muestra de prediccion final como se muestra en la Ecuacion 2.
[Ecuacion 2]
Por ejemplo, cuando el modo de intra prediccion 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 lfmite izquierdo del bloque actual para obtener la muestra de prediccion final. En este punto, la muestra diferencial puede anadirse a la muestra de prediccion, o la muestra diferencial puede cambiarse de escala en un valor constante predeterminado, y a continuacion anadirse a la muestra de prediccion. El valor constante predeterminado usado al cambiar de escala puede determinarse de manera diferente dependiendo de la columna y/o fila. Por ejemplo, la muestra de prediccion puede corregirse como se muestra en la Ecuacion 3 y la Ecuacion 4.
[Ecuacion 3]
Figure imgf000016_0001
l
Por ejemplo, cuando el modo de intra prediccion del bloque actual es el modo horizontal, pueden usarse muestras diferenciales entre la muestra vecina izquierda p(-1, -1) y muestras vecinas p(x, -1) adyacentes al lfmite superior del bloque actual para obtener la muestra de prediccion final, como se describe en el caso del modo vertical. Por ejemplo, la muestra de prediccion puede corregirse como se muestra en la Ecuacion 5 y la Ecuacion 6.
[Ecuacion 5]
P '(x ,0 )= p (x ,0 )+ W x - \y P{ - \ - \ ) ) » \ para *=O..JV-l [Ecuacion 6]
Las Figuras 7 y 8 son vistas que ilustran un metodo de correccion de una muestra de prediccion basandose en un filtro de correccion predeterminado de acuerdo con una realizacion de la presente invencion.
La muestra de prediccion puede corregirse basandose en la muestra vecina de la muestra de prediccion que es el objetivo de correccion y un filtro de correccion predeterminado. En este punto, la muestra vecina puede especificarse por una lfnea angular del modo de prediccion direccional del bloque actual, o puede ser al menos una muestra situada en la misma lfnea angular que la muestra de prediccion que es el objetivo de correccion. Tambien, la muestra vecina puede ser una muestra de prediccion en el bloque actual, o puede ser una muestra reconstruida en un bloque vecino reconstruido antes del bloque actual. Al menos uno del numero de derivaciones, intensidad y un coeficiente de filtro del filtro de correccion pueden determinarse basandose en al menos una de la posicion de la muestra de prediccion que es el objetivo de correccion, si la muestra de prediccion que es el objetivo de correccion esta situada o no en el lfmite del bloque actual, el modo de intra prediccion del bloque actual, angulo del modo de prediccion direccional, el modo de prediccion (modo inter o intra) del bloque vecino, y el tamano/forma del bloque actual.
Haciendo referencia a la Figura 7, cuando el modo de prediccion direccional tiene un fndice de 2 o 34, al menos una muestra de prediccion/reconstruida situada en la parte inferior izquierda de la muestra de prediccion que es el objetivo de correccion y el filtro de correccion predeterminado puede usarse para obtener la muestra de prediccion final. En este punto, la muestra de prediccion/reconstruida en la parte inferior izquierda puede pertenecer a una lfnea anterior de una lfnea que incluye la muestra de prediccion que es el objetivo de correccion. La muestra de prediccion/reconstruida en la parte inferior izquierda puede pertenecer al mismo bloque que la muestra actual, o vecina al bloque adyacente al bloque actual. La filtracion para la muestra de prediccion puede realizarse unicamente en la lfnea situada en el lfmite de bloque, o puede realizarse en multiples lfneas. Puede usarse el filtro de correccion donde al menos uno del numero de derivaciones de filtro y un coeficiente de filtro es diferente de cada una de las lfneas. Por ejemplo, puede usarse un filtro (1/2 , 1/2 ) para la primera lfnea izquierda mas cercana al lfmite de bloque, puede usarse un filtro (12/16, 4/16) para la segunda lfnea, puede usarse un filtro (14/16, 2/16) para la tercera lfnea y puede usarse un filtro (15/16, 1/16) para la cuarta lfnea.
Como alternativa, cuando el modo de prediccion direccional tiene un fndice de 3 a 6 o 30 a 33, la filtracion puede realizarse en el lfmite de bloque como se muestra en la Figura 8, y puede usarse un filtro de correccion de 3 derivaciones para corregir la muestra de prediccion. La filtracion puede realizarse usando la muestra de la parte inferior izquierda de la muestra de prediccion que es el objetivo de correccion, la muestra de la parte inferior de la muestra de la parte inferior izquierda, y un filtro de correccion de 3 derivaciones que toma como entrada la muestra de prediccion que es el objetivo de correccion. La posicion de la muestra vecina usada por el filtro de correccion puede determinarse de manera diferente basandose en el modo de prediccion direccional. El coeficiente de filtro del filtro de correccion puede determinarse de manera diferente dependiendo del modo de prediccion direccional.
Pueden aplicarse diferentes filtros de correccion 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 metodo de filtracion donde se proporciona mas peso a la muestra de prediccion, en comparacion con cuando el bloque vecino se codifica en el inter modo. Por ejemplo, en el caso de que el modo de intra prediccion 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 numero de lfneas a filtrar en el bloque actual puede variar dependiendo del tamano/forma del bloque actual (por ejemplo, el bloque de codificacion o el bloque de prediccion). Por ejemplo, cuando el tamano del bloque actual es igual o menor que 32x32, puede realizarse filtracion en unicamente una lfnea en el lfmite de bloque; de otra manera, puede realizarse filtracion en multiples lfneas incluyendo la lfnea en el lfmite de bloque.
Las Figuras 7 y 8 estan basadas en el caso donde se usan los 35 modos de intra prediccion en la Figura 4, pero pueden aplicarse de manera igual/similar al caso donde se usan los modos de intra prediccion ampliados.
Cuando se realiza intra prediccion en un bloque actual basandose en un modo de intra prediccion direccion, una muestra de prediccion generada puede no reflejar la caracterfstica de una instantanea original puesto que un rango de las muestras de referencia que se estan usando esta limitado (por ejemplo, se realiza intra prediccion unicamente usando las muestras vecinas adyacentes al bloque actual). Por ejemplo, cuando existe un borde en un bloque actual o cuando aparece un nuevo objeto alrededor de un lfmite del bloque actual, una diferencia entre una muestra de prediccion y una instantanea original puede ser grande dependiendo de una posicion de una muestra de prediccion en el bloque actual. En este caso, un valor residual es relativamente grande, y por lo tanto el numero de bits a codificar/decodificar puede aumentar. Particularmente, un valor residual en una region relativamente lejos de un lfmite del bloque actual puede incluir una gran cantidad de componentes de alta frecuencia, que pueden dar como resultado degradacion de la eficacia de codificacion/decodificacion.
Para resolver los problemas anteriores, puede usarse un metodo de generacion o actualizacion de una muestra de prediccion en unidades de subbloque. De acuerdo con esto, puede mejorarse la precision de prediccion en una region relativamente lejos de un lfmite de bloque.
Por conveniencia de explicacion, en las siguientes realizaciones, una muestra de prediccion generada basandose en un modo de intra prediccion direccional se denomina como una primera muestra de prediccion. Tambien, una muestra de prediccion generada basandose en un modo de intra prediccion no direccional o una muestra de prediccion generada realizando inter prediccion puede incluirse tambien en una categorfa de la primera muestra de prediccion.
Un metodo de correccion de la muestra de prediccion basandose en el desplazamiento se describira en detalle con referencia a la Figura 9.
La Figura 16 es una vista que ilustra un metodo de correccion de una muestra de prediccion basandose en desplazamiento de acuerdo con una realizacion de la presente invencion.
Haciendo referencia a la Figura 9, para un bloque actual, si actualizar una primera muestra de prediccion usando un desplazamiento puede determinarse en la etapa S900. Si actualizar la primera muestra de prediccion usando el desplazamiento puede determinarse por una bandera decodificada de un flujo de bits. Por ejemplo, una sintaxis 'is_sub_block_refinement_flag' que indica si actualizar la primera muestra de prediccion usando el desplazamiento puede senalizarse a traves de un flujo de bits. Cuando un valor de “is_sub_block_refinement_flag” es 1, el metodo de actualizacion de la primera muestra de prediccion usando el desplazamiento puede usarse en el bloque actual. Cuando un valor de “is_sub_block_refinement_flag” es 0, el metodo de actualizacion de la primera muestra de prediccion usando el desplazamiento no puede usarse en el bloque actual. Sin embargo, la etapa S900 se pretende para realizar de manera selectiva actualizacion de la primera muestra de prediccion, y no es una configuracion esencial para conseguir el fin de la presente invencion, de modo que la etapa S900 puede omitirse en algunos casos.
Cuando se determina que se usa el metodo de actualizacion de la primera muestra de prediccion usando el desplazamiento, puede determinarse un patron de intra prediccion del bloque actual en la etapa S910. A traves del patron de intra prediccion, pueden determinarse todas o algunas regiones del bloque actual a las que se aplica el desplazamiento, un tipo de particionamiento del bloque actual, si aplicar el desplazamiento a un subbloque incluido el bloque actual, un tamano/signo del desplazamiento asignado a
cada subbloque, etc.
Uno de multiples patrones predefinidos en el dispositivo para codificar/decodificar un video puede usarse
de manera selectiva como el patron de intra prediccion del bloque actual, y para este fin, puede senalizarse un indice que especifica el patron de intra prediccion del bloque actual a partir de un flujo de bits. Como otro ejemplo, el patron de intra prediccion del bloque actual puede determinarse basandose en
un modo de particion de una unidad de prediccion o una unidad de codificacion del bloque actual, un tamano/forma del bloque, si se usa el modo de intra prediccion direccional, un angulo del modo de intra prediccion direccional, etc.
Si se determina por informacion de bandera predeterminada senalizada mediante un flujo de bits si se
senaliza o no un indice que indica el patron de intra prediccion del bloque actual. Por ejemplo, cuando la informacion de bandera indica que el indice que indica el patron de intra prediccion del bloque actual se
senaliza desde un flujo de bits, el patron de intra prediccion del bloque actual puede determinarse basandose en un indice decodificado desde un flujo de bits. En este punto, la informacion de bandera
puede senalizarse en al menos uno de un nivel de instantanea, un nivel de corte y un nivel de bloque.
Cuando la informacion de bandera indica que el indice que indica el patron de intra prediccion del bloque actual no se senaliza desde un flujo de bits, el patron de intra prediccion del bloque actual puede determinarse basandose en el modo de particion de la unidad de prediccion o la unidad de codificacion
del bloque actual, etc. Por ejemplo, el patron en el que se particiona el bloque actual en subbloques
puede ser el mismo que el patron en el que se particiona el bloque de codificacion en unidades de prediccion.
Cuando se determina el patron de intra prediccion del bloque actual, el desplazamiento puede obtenerse
en unidades de subbloque en la etapa S920. El desplazamiento puede senalizarse en unidades de un
corte, una unidad de codificacion o una unidad de prediccion. Como otro ejemplo, el desplazamiento
puede derivarse desde una muestra vecina del bloque actual. El desplazamiento puede incluir al menos
uno de informacion de valor de desplazamiento e informacion de signo de desplazamiento. En este punto,
la informacion de valor de desplazamiento puede encontrarse en un intervalo de numeros enteros mayores o iguales que cero.
Cuando se determina el desplazamiento, una segunda muestra de prediccion puede obtenerse para cada subbloque en la etapa s 930. La segunda muestra de prediccion puede obtenerse aplicando el desplazamiento a la primera muestra de prediccion. Por ejemplo, la segunda muestra de prediccion puede obtenerse anadiendo o restando el desplazamiento a o desde la primera muestra de prediccion.
Las Figuras 10 a 14 son vistas que ilustran ejemplos de un patron de intra prediccion de un bloque actual
de acuerdo con una realizacion de la presente invencion. Las referencias numericas en las figuras 10 a 14
denotan lo siguiente: 1001 - indice 0, 1002 - indice 1, 1003 - indice 2, 1004 - indice 3, 1101 - indice 0,
1102 - indice 1, 1103 - indice 2, 1104 - indice 3, 1210 - Categorfa 0, 1211 - indice 0, 1212 - indice 1,
1213 : indice 2, 1214 : indice 3, 1220 : Categorfa 1, 1221 : indice 4, 1222 : indice 5, 1223 : indice 6, 1224 :
indice 7, 1230 : Categorfa 2, 1231 : indice 8, 1232 : indice 9, 1233 : indice 10, 1234 : indice 11, 1301 :
indice 0, 1302 : indice 1, 1303 : indice 2, 1304 : indice 3, 1305 : indice 4, 1306 : indice 5, 1401 : indice 0, 1402 : indice 1, 1403 : indice 2, 1404 : indice 3, 1405 : indice 4, 1406 : indice 5, 1407 : indice 6 , 1408 : indice 7, 1409 : indice 8, 1410 : indice 9, 1411 : indice 10, 1412 : indice 11.
Por ejemplo, en el ejemplo mostrado en la Figura 10, cuando el mdice es '0' o '1', el bloque actual puede particionarse en subbloques superior e inferior. El desplazamiento puede no establecerse al subbloque
superior, y el desplazamiento 'f puede establecerse al subbloque inferior. Por lo tanto, la primera muestra
de prediccion(P(i,j)) puede usarse como esta en el subbloque superior, y la segunda muestra de prediccion(P(i,j)+f o P(i,j)-f) que se genera anadiendo o restando el desplazamiento a o desde la primera
muestra de prediccion puede usarse en el subbloque inferior. En la presente invencion, 'no establecido'
puede significar que el desplazamiento no esta asignado al bloque, o el desplazamiento que tiene el valor
de '0' puede asignarse al bloque.
Cuando el indice es '2' o '3', el bloque actual se particiona en los subbloques izquierdo y derecho. El desplazamiento puede no establecerse para el subbloque izquierdo, y el desplazamiento 'f puede establecerse para el subbloque derecho. Por lo tanto, la primera muestra de prediccion(P(i,j)) puede
usarse como esta en el subbloque izquierdo, y la segunda muestra de prediccion(P(i,j)+f o P(i,j)-f) que se
genera anadiendo o restando el desplazamiento a o desde la primera muestra de prediccion puede
usarse en el subbloque derecho.
El intervalo de patrones de intra prediccion disponibles puede limitarse basandose en el modo de intra
prediccion del bloque actual. Por ejemplo, cuando el modo de intra prediccion del bloque actual es un modo de intra prediccion de direccion vertical o un modo de prediccion en una direccion similar al modo de intra prediccion de direccion vertical (por ejemplo, entre los 33 modos de prediccion direccionales, cuando el modo de intra prediccion tiene un fndice de 22 a 30), unicamente el patron de intra prediccion que particiona el bloque actual en una direccion horizontal (por ejemplo, el fndice 0 o fndice 1 en la Figura 17) puede aplicarse al bloque actual.
Como otro ejemplo, cuando el modo de intra prediccion del bloque actual es un modo de intra prediccion de direccion horizontal o un modo de prediccion en una direccion similar al modo de intra prediccion de direccion horizontal (por ejemplo, entre los 33 modos de prediccion direccional, cuando el modo de intra prediccion tiene un fndice de 6 a 14), unicamente el patron de intra prediccion que particiona el bloque actual en una direccion vertical (por ejemplo, el fndice 2 o fndice 3 en la Figura 17) puede aplicarse al bloque actual.
En la Figura 10, el desplazamiento no se establece para uno de los subbloques incluidos en el bloque actual, y sino que se establece para el otro. Si establecer el desplazamiento para el subbloque puede determinarse basandose en informacion senalizada para cada subbloque.
Si establecer el desplazamiento para el subbloque puede determinarse basandose en una posicion del subbloque, un fndice para identificar el subbloque en el bloque actual, etc. Por ejemplo, basandose en un lfmite predeterminado del bloque actual, el desplazamiento puede no establecerse para el subbloque que es adyacente al lfmite predeterminado, y el desplazamiento puede establecerse para el subbloque que no es adyacente al lfmite predeterminado.
Cuando se supone que el lfmite predeterminado es el lfmite superior del bloque actual, bajo el patron de intra prediccion que corresponde al mdice '0' o '1', el desplazamiento puede no establecerse para el subbloque que es adyacente al lfmite superior del bloque actual, y el desplazamiento puede establecerse para el subbloque que no es adyacente al lfmite superior del bloque actual.
Cuando se supone que el lfmite predeterminado es el lfmite izquierdo del bloque actual, bajo el patron de intra prediccion que corresponde al mdice '2' o '3', el desplazamiento puede no establecerse para el subbloque que es adyacente al lfmite izquierdo del bloque actual, y el desplazamiento puede establecerse para el subbloque que no es adyacente al lfmite izquierdo del bloque actual.
En la Figura 10, se supone que el desplazamiento no se establece para uno de los subbloques incluidos en el bloque actual y sino que el desplazamiento se establece para otro. Como otro ejemplo, pueden establecerse diferentes valores del desplazamiento para los subbloques incluidos en el bloque actual. Un ejemplo de donde se establecen diferentes desplazamientos para cada subbloque se describira con referencia a la Figura 11.
Haciendo referencia a la Figura 11, cuando el mdice es '0' o '1', el desplazamiento 'h' puede establecerse para el subbloque superior del bloque actual, y el desplazamiento 'f puede establecerse para el subbloque inferior del bloque actual. Por lo tanto, la segunda muestra de prediccion(P(i,j)+h o P(i,j)-h) puede generarse anadiendo o restando el desplazamiento 'h' a o desde la primera muestra de prediccion en el subbloque superior, y la segunda muestra de prediccion(P(i,j)+f o P(i,j)-f) puede generarse anadiendo o restando el desplazamiento 'f a o desde la primera muestra de prediccion.
Haciendo referencia a la Figura 11, cuando el mdice es '2' o '3', el desplazamiento 'h' puede establecerse para el subbloque izquierdo del bloque actual, y el desplazamiento 'f puede establecerse para el subbloque derecho del bloque actual. Por lo tanto, la segunda muestra de prediccion(P(i,j)+h o P(i,j)-h) puede generarse anadiendo o restando el desplazamiento 'h' a o desde la primera muestra de prediccion en el subbloque izquierdo, y la segunda muestra de prediccion(P(i,j)+f o P(i,j)-f) puede generarse anadiendo o restando el desplazamiento 'f a o desde la primera muestra de prediccion en el subbloque derecho.
En las Figuras 10 y 11, el bloque actual se particiona en dos subbloques que tienen el mismo tamano, pero el numero de subbloques y/o el tamano de los subbloques incluidos en el bloque actual no esta limitado a los ejemplos mostrados en las Figuras 10 y 11. El numero de subbloques incluidos en el bloque actual puede ser tres o mas, y los subbloques pueden tener diferentes tamanos.
Cuando estan disponibles multiples patrones de intra prediccion, los patrones de intra prediccion disponibles pueden agruparse en multiples categorfas. En este caso, el patron de intra prediccion del bloque actual puede seleccionarse basandose en un primer fndice para identificar una categorfa y un segundo fndice que identifica un patron de intra prediccion en la categorfa.
Un ejemplo donde el patron de intra prediccion del bloque actual se determina basandose en el primer fndice y el segundo fndice se describira con referencia a la Figura 12.
En el ejemplo mostrado en la Figura 12, 12 patrones de intra prediccion pueden clasificarse en tres categorfas incluyendo cada una cuatro patrones de intra prediccion. Por ejemplo, los patrones de intra prediccion que corresponden a los indices 0 a 3 pueden clasificarse como una categoria 0, los patrones de intra prediccion que corresponden a los indices 4 a 7 pueden clasificarse como una categoria 1, y los patrones de intra prediccion que corresponden a los indices 8 a 11 pueden clasificarse como una categoria 2.
El dispositivo para decodificar un video puede decodificar el primer fndice desde un flujo de bits para especificar la categoria que incluye al menos un patron de intra prediccion. En el ejemplo mostrado en la Figura 12, el primer fndice puede especificar una de las categorfas 0, 1 y 2.
Cuando la categoria se especifica basandose en el primer fndice, el patron de intra prediccion del bloque actual puede determinarse basandose en el segundo fndice decodificado desde un flujo de bits. Cuando la categoria 1 se especifica por el primer fndice, el segundo fndice puede especificar uno de los cuatro patrones de intra prediccion (es decir, del fndice 4 al fndice 7) de la categoria 1.
En la Figura 12, se muestra que las categorfas incluyen los mismos numeros de patrones de intra prediccion. Pero no hay necesidad de que las categorfas incluyan los mismos numeros de patrones de intra prediccion.
El numero de patrones de intra prediccion disponibles o del numero de categorfas pueden determinarse en unidades de una secuencia o un corte. Tambien, al menos uno del numero de patrones de intra prediccion disponibles y el numero de categorfas pueden senalizarse a traves de un encabezamiento de secuencia o un encabezamiento de corte.
Como otro ejemplo, el numero de patrones de intra prediccion disponibles y/o el numero de categorfas puede determinarse basandose en un tamano de una unidad de prediccion o una unidad de codificacion del bloque actual. Por ejemplo, cuando el tamano del bloque actual (por ejemplo, la unidad de codificacion del bloque actual) es mayor o igual que 64x64, el patron de intra prediccion del bloque actual puede seleccionarse a partir de cinco patrones de intra prediccion mostrados en la Figura 13. En contraste, cuando el tamano del bloque actual (por ejemplo, la unidad de codificacion del bloque actual) es menor que 64x64, el patron de intra prediccion del bloque actual puede seleccionarse a partir de patrones de intra prediccion mostrados en la Figura 10, 11 o 12.
En las Figuras 10 a 13, se representa que los subbloques incluidos en cada patron de intra prediccion tienen una forma rectangular. Como otro ejemplo, puede usarse el patron de intra prediccion donde al menos uno de los tamanos y formas de los subbloques son diferentes entre si. Por ejemplo, la Figura 14 es una vista que ilustra un ejemplo de un patron de intra prediccion con diferentes tamanos y formas de subbloques.
El desplazamiento para cada subbloque (por ejemplo, el desplazamiento h, f, g, o i de cada sub-bloque mostrado en las Figuras 10 a 14) puede decodificarse desde un flujo de bits, o puede derivarse desde la muestra vecina adyacente al bloque actual.
Como otro ejemplo, el desplazamiento del subbloque puede determinarse considerando la distancia desde una muestra en una posicion particular en el bloque actual. Por ejemplo, el desplazamiento puede determinarse en proporcion a un valor que representa la distancia entre una muestra en una posicion predeterminada en el bloque actual y una muestra en una posicion predeterminada en el subbloque. Como otro ejemplo, el desplazamiento del subbloque puede determinarse anadiendo o restando un valor determinado basandose en la distancia entre una muestra en una posicion predeterminada en el bloque actual y una muestra en una posicion predeterminada en el subbloque a o desde un valor prestablecido. Como otro ejemplo, el desplazamiento puede determinarse basandose en una relacion de un valor que representa el tamano del bloque actual y un valor que representa la distancia entre una muestra en una posicion predeterminada en el bloque actual y una muestra en una posicion predeterminada en el subbloque.
En este punto, la muestra en la posicion predeterminada en el bloque actual puede incluir una muestra adyacente al lfmite izquierdo del bloque actual, una muestra situada en el lfmite superior del bloque actual, una muestra adyacente a la esquina superior izquierda del bloque actual, etc.
La Figura 15 es una vista que ilustra un metodo de realizacion de prediccion usando un esquema de copia de intra bloque de acuerdo con una realizacion de la presente invencion. En la figura 15, los bloques con color gris denotan bloques reconstruidos que pueden ser referidos cuando la copia de intra bloque se aplica al bloque actual. Adicionalmente, las referencias numericas en la figura 15 denotan lo siguiente: 1501 - Bloque Actual, 1502 - Vector de Movimiento, 1503 - Predictor.
La copia de intra bloque (del ingles “Intra Block Copy” - IBC) es un metodo donde un bloque actual se preve/reconstruye usando un bloque ya reconstruido (en lo sucesivo, denominado como 'un bloque de referenda') en la misma instantanea como el bloque actual. Si una instantanea contiene un gran numero de letras, tal como alfabeto coreano, un alfabeto, etc., y la letra que esta contenida en el bloque actual cuando se reconstruye el bloque actual esta contenida en un bloque ya decodificado, la copia de intra bloque puede mejorar un rendimiento de codificacion/decodificacion.
Un metodo de copia de intra bloque puede clasificarse como un metodo de intra prediccion o un metodo de inter prediccion. Cuando el metodo de copia de intra bloque se clasifica como el metodo de intra prediccion, puede definirse un modo de intra prediccion para el metodo de copia de intra bloque. Cuando el metodo de copia de intra bloque se clasifica como el metodo de inter prediccion, un flujo de bits puede incluir una bandera que indica si aplicar el metodo de copia de intra bloque al bloque actual. Como alternativa, si el bloque actual usa copia de intra bloque puede confirmarse a traves de un fndice de instantanea de referencia del bloque actual. Es decir, cuando el fndice de instantanea de referencia del bloque actual indica la instantanea actual, puede realizarse inter prediccion en el bloque actual usando copia de intra bloque. Para este fin, una instantanea actual pre-reconstruida puede anadirse a una lista de instantaneas de referencia para el bloque actual. La instantanea actual puede existir en una posicion fijada en la lista de instantaneas de referencia (por ejemplo, una posicion con el fndice de instantanea de referencia de 0 o la ultima posicion). Como alternativa, la instantanea actual puede tener una posicion variable en la lista de instantaneas de referencia, y para este fin, puede senalizarse, de manera separada, un fndice de instantanea de referencia que indica una posicion de la instantanea actual.
Para especificar el bloque de referencia del bloque actual, una diferencia de posicion entre el bloque actual y el bloque de referencia puede definirse como un vector de movimiento (en lo sucesivo, denominado como un vector de bloque).
El vector de bloque puede derivarse por una suma de un vector de bloque de prediccion y un vector de bloque diferencial. El dispositivo para codificar un video puede generar un vector de bloque de prediccion a traves de codificacion predictiva, y puede codificar el vector de bloque diferencial que indica la diferencia entre el vector de bloque y el vector de bloque de prediccion. En este caso, el dispositivo para decodificar un video puede derivar el vector de bloque del bloque actual usando el vector de bloque de prediccion derivado usando informacion pre-decodificada y el vector de bloque diferencial decodificado desde un flujo de bits.
En este punto, el vector de bloque de prediccion puede derivarse basandose en el vector de bloque de un bloque vecino adyacente al bloque actual, el vector de bloque en una LCU del bloque actual, el vector de bloque en una fila/columna de LCU del bloque actual, etc.
El dispositivo para codificar un video puede codificar el vector de bloque sin realizar codificacion predictiva del vector de bloque. En este caso, el dispositivo para decodificar un video puede obtener el vector de bloque decodificando la informacion de vector de bloque senalizada a traves de un flujo de bits. El metodo de correccion puede realizarse en la muestra de prediccion/reconstruida generada a traves del metodo de copia de intra bloque. En este caso, el proceso de correccion descrito con referencia a las Figuras 6 a 14 puede aplicarse de manera igual/similar, y por lo tanto se omitira la descripcion detallada del mismo. La Figura 16 muestra un intervalo de muestras de referencia para intra prediccion de acuerdo con una realizacion a la que se aplica la presente invencion.
Haciendo referencia a la Figura 16, puede realizarse intra prediccion usando las muestras de referencia P (-1, -1), P (-1, y) (0 <= y <= 2N-1) y P (x, -1) (0 <= x <= 2N-1) localizadas en un lfmite de un bloque actual. En este momento, se realiza de manera selectiva filtracion en muestras de referencia basandose en al menos uno de un modo de intra prediccion (por ejemplo, fndice, direccionalidad, angulo, etc., del modo de intra prediccion) del bloque actual o un tamano de un bloque de transformada relacionado con el bloque actual.
Puede seleccionarse al menos uno de una pluralidad de candidatos de filtro para realizar filtracion en muestras de referencia. En este punto, la pluralidad de candidatos de intra-filtro puede diferir entre sf en al menos uno de una intensidad de filtro, un coeficiente de filtro o un numero de derivacion (por ejemplo, un numero de coeficientes de filtro, una longitud de filtro). Una pluralidad de candidatos de intra-filtro puede definirse en la menos una de una secuencia, una instantanea, un corte, o un nivel de bloque. Es decir, una secuencia, una instantanea, un corte, o un bloque en el que se incluye el bloque actual puede usar la misma pluralidad de candidatos de intra-filtro.
En lo sucesivo, por conveniencia de explicacion, se supone que una pluralidad de candidatos de intra-filtro incluye un primer intra-filtro y un segundo intra-filtro. Tambien se supone que el primer intra-filtro es un filtro de 3 derivaciones (1,2, 1) y el segundo intra-filtro es un filtro de 5 derivaciones (2, 3, 6 , 3, 2).
Cuando se filtran muestras de referencia aplicando un primer intra filtro, las muestras de referencia filtradas pueden derivarse como se muestra en Ecuacion 7.
[Ecuacion 7]
P ( - 11 ) = (P ( - 1,0 )+ 2 P (-11 )+ P (0 ,-1 ) 2 ) » 2
P ( - 1 ,>0= (P (-1 ,y + 1 )+ 2 P (-1 o 0 P (-1 , y - 1 ) 2 ) » 2
P(x,~ 1 ) = ( P O 1 1 )+ 2 P (jc,- 1 ) P ( > - 1 1 ) 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 ecuacion 8.
[Ecuacion 8]
P ( - 11 )= (2P (-2 ,0 )+3P (-1,0 )+6P (-11 )+3P (0 ,-1 )+ 2 P (0 ,-2 )+ 8 )»4
P ( - 1 ,y )= (2P ( - 1 ,y+ 2)+ 3P ( - 1 ,y + 1 ) 6 P ( - 1 ,y )+ 3 P ( - 1 „y-1 )+ 2P ( - 1 , j - 2 ) 8 ) » 4
P(*,-1)=(2P(;c+2,-1)+3P(;c+1,-1)+6P(*,-1)+3P(jc-1,-1)+2P(;c-2 ,-1)+8)»4
Basandose en una posicion de una muestra de referencia, puede determinarse y usarse uno de una pluralidad de candidatos de intra-filtro para realizar filtracion en la muestra de referencia usando la determinada. Por ejemplo, puede aplicarse un primer intra-filtro a una muestra de referencia en un lfmite de un bloque actual, y puede aplicarse un segundo intra-filtro a otras muestras de referencia. Especfficamente, como se muestra en la Figura 17, se realiza filtracion en las muestras de referencia 1701 (p-ej., P (-1, -1), P (-1,0), P (-1,1), ... , P (-1, N-1) y P (0, -1), P (1, -1)), ... aplicando un primer intrafiltro como se muestra en la Ecuacion 7 (p. ej., filtro con coeficientes (1,2,1)), y la filtracion en las otras muestras de referencia 1702 se realiza aplicando un segundo filtro de referencia como se muestra en la Ecuacion 8 (p. ej., filtro con coeficientes (2,3,6,3,2)).
Es posible seleccionar uno de una pluralidad de candidatos de intra-filtro basandose en un tipo de transformada usada para un bloque actual, y realizar filtracion en muestras de referencia usando la seleccionada. En este punto, el tipo de transformada puede significar (1) un esquema de transformada tal 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 numero de transformadas tal como una primera transformada y una segunda transformada. En lo sucesivo, por conveniencia de descripcion, 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 filtracion usando un primer intra-filtro, y si un bloque actual se codifica usando una DST, puede realizarse filtracion usando un segundo intra-filtro. O, si un bloque actual se codifica usando DCT o DST, puede realizarse filtracion usando un primer intra-filtro, y si el bloque actual se codifica usando una KLT, puede realizarse filtracion usando un segundo intra-filtro.
Puede realizarse filtracion usando un filtro seleccionado basandose en un tipo de transformada de un bloque actual y una posicion de una muestra de referencia. Por ejemplo, si un bloque actual se codifica usando una d Ct , puede realizarse filtracion 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), ... , P (N-1, -1) usando un primer intra-filtro, y puede realizarse filtracion en otras muestras de referencia usando un segundo intra-filtro. Si un bloque actual se codifica usando una DST, puede realizarse filtracion 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), ... , P (N-1, -1) usando un segundo intra-filtro, y puede realizarse filtracion en otras muestras de referencia usando un primer intra-filtro.
Puede seleccionarse uno de una pluralidad de candidatos de intra-filtro basandose 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 la filtracion puede realizarse 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 filtracion usando un primer intra-filtro, y cuando los tipos de transformada de un bloque actual y de un bloque vecino son diferentes entre si, puede usarse el segundo intra-filtro para realizar filtracion.
Es posible seleccionar uno cualquiera de una pluralidad de candidatos de intra filtro basandose en un tipo de transformada de un bloque vecino y realizar filtracion en una muestra de referencia usando la seleccionada. Es decir, puede seleccionarse un filtro especffico teniendo en cuenta un tipo de transformada de un bloque en el que se incluye una muestra de referencia. Por ejemplo, como se muestra en la Figura 18, si un bloque adyacente 18l0 a la parte izquierda / inferior izquierda de un bloque actual es un bloque codificado usando una DCT, y un bloque adyacente 1820 a la parte superior / superior derecha de un bloque actual es un bloque codificado usando una DST, se realiza filtracion en muestras de referencia adyacentes 1802 a la parte izquierda / inferior izquierda de un bloque actual aplicando un primer intra filtro (p. ej., filtro con coeficientes (1,2 ,1)) y se realiza filtracion en muestras 1801 de referencia adyacentes a la parte superior / superior derecha de un bloque actual aplicando un segundo intra filtro (p. ej., filtro con coeficientes (2,3,6,3,2)).
En unidades de una region predeterminada, puede definirse un filtro usable en la region correspondiente. En el presente documento, la unidad de la region predeterminada puede ser una cualquiera de una secuencia, una instantanea, un corte, un grupo de bloques (por ejemplo, una fila de unidades de arbol de codificacion) o un bloque (por ejemplo, una unidad de arbol de codificacion). O, puede definirse otra region que comparte uno o mas filtros. Una muestra de referencia puede filtrarse usando un filtro mapeado a una region en la que se incluye un bloque actual.
Por ejemplo, como se muestra en la Figura 19, es posible realizar filtracion en muestras de referencia usando diferentes filtros en unidades de CTU. En este caso, la informacion que indica si se usa el mismo filtro en una secuencia o una instantanea, un tipo de filtro usado para cada CTU, un fndice que especifica un filtro usado en la correspondiente CTU entre unos candidatos de intra filtro disponibles puede senalizarse mediante un conjunto de parametros de secuencia (SPS) o un conjunto de parametros de instantanea (PPS). En la figura 19, la referencia numerica 1910 denota CTUs a la cual se aplica un primer filtro con coeficientes (1,2,1), y la referencia numerica 1920 denota CTUs a la cual se aplica un segundo filtro con coeficientes (2,3,6,3,2).
Una unidad de codificacion puede dividirse en al menos una o mas unidades de transformada. En este momento, una unidad de transformada puede tener una forma cuadrada o una forma no cuadrada, dependiendo de un modo de particion para la unidad de transformada.
Una unidad de codificacion puede dividirse en dos o mas unidades de transformada por al menos una de una lfnea horizontal que divide la unidad de codificacion hacia arriba y hacia abajo o una lfnea vertical que divide la unidad de codificacion a la izquierda y a la derecha. Como un ejemplo, puede usarse una division de arbol cuadruple en la que se divide una unidad de codificacion en cuatro unidades de transformada usando una lfnea horizontal que divide la unidad de codificacion hacia arriba y hacia abajo y una lfnea vertical que divide la unidad de codificacion a la izquierda y a la derecha. O, puede usarse una division de arbol binario en la que se divide una unidad de codificacion en dos unidades de transformada usando cualquiera de una lfnea horizontal o una lfnea vertical. Ademas del ejemplo anteriormente descrito, puede usarse tambien un esquema de division que divide una unidad de codificacion en una pluralidad de unidades de transformada usando una pluralidad de lfneas verticales o una pluralidad de lfneas horizontales.
Puede especificarse por un elemento de sintaxis senalizado desde un flujo de bits si una unidad de codificacion se divide en un tipo de arbol cuadruple. Esto puede ser una bandera de 1 bit, pero no esta limitado a lo mismo.
Adicionalmente, puede especificarse por un elemento de sintaxis senalizado desde un flujo de bits si una unidad de codificacion se divide en un tipo de arbol binario. Esto puede ser una bandera de 1 bit, pero no esta limitado a lo mismo. Cuando se indica que una unidad de codificacion se divide en un tipo de arbol binario, puede senalizarse adicionalmente informacion que indica una direccion de division de una unidad de codificacion. En este momento, la direccion de division puede indicar si una unidad de codificacion se divide en una lfnea vertical o en una lfnea horizontal.
Una unidad de transformada generada dividiendo una unidad de codificacion puede dividirse de nuevo en al menos una unidad de transformada. Por ejemplo, una unidad de transformada generada dividiendo una unidad de codificacion puede dividirse en un tipo de arbol cuadruple o de arbol binario.
La Figura 20 es un diagrama que muestra un ejemplo en el que una unidad de codificacion se divide en bloques que tienen una forma cuadrada.
Cuando se determina que una unidad de codificacion se divide en un tipo de arbol cuadruple, la unidad de codificacion puede dividirse en cuatro unidades de transformada. Cuando la unidad de codificacion se divide en cuatro unidades de transformada, es posible determinar, para cada unidad de transformada, si dividir adicionalmente la unidad de transformada. Como un ejemplo, para cuatro unidades de transformada, puede determinarse si dividir cada unidad de transformada en un tipo de arbol cuadruple o arbol binario.
Por ejemplo, en el ejemplo mostrado en la Figura 20, se ilustra que una primera y segunda unidades de transformada entre cuatro unidades de transformada generadas dividiendo una unidad de codificacion 2010 en tipo de arbol cuadruple se dividen de nuevo en un tipo de arbol cuadruple. Ademas, se ilustra que una primera y tercera unidades de transformada entre cuatro unidades de transformada generadas dividiendo la segunda unidad de transmision 2020 se dividen de nuevo en un tipo de arbol cuadruple. Como tal, una unidad de transformada puede particionarse recursivamente. Por consiguiente, una unidad de codificacion puede incluir unidades de transformada de diferentes tamanos, como se muestra en la Figura 20.
La Figura 21 es un diagrama que muestra un ejemplo en el que una unidad de codificacion se divide en bloques que tienen una forma no cuadrada.
Como una unidad de prediccion, una unidad de codificacion puede dividirse para tener una forma no cuadrada. En un ejemplo, una unidad de codificacion puede dividirse como una forma de Nx2N 2110 o 2NxN 2120. Cuando una unidad de codificacion se divide para tener una forma no cuadrada, es posible determinar para cada unidad de transformada, si dividir adicionalmente la unidad de transformada. Como un ejemplo, para dos unidades de transformada, puede determinarse si dividir adicionalmente cada unidad de transformada en un tipo de arbol cuadruple o arbol binario.
Por ejemplo, en el ejemplo mostrado en la Figura 21 (a), se ilustra que un primer bloque entre bloques de Nx2N generados dividiendo una unidad de codificacion para tener una forma no cuadrada se divide en un tipo de arbol cuadruple. Ademas, se ilustra que una primera unidad de transformada entre cuatro unidades de transformada generadas dividiendo la primera unidad de transformada en un tipo de arbol cuadruple se divide en un tipo de arbol cuadruple de nuevo.
Ademas, en el ejemplo mostrado en la Figura 21 (b), se ilustra que un primer y segundo bloques entre bloques de 2Nx2N generados dividiendo una unidad de codificacion en un tipo de arbol cuadruple se dividen en un tipo de arbol binario de 2NxN. Ademas, se ilustra que una primera unidad de transformada entre dos unidades de transformada generadas dividiendo la primera unidad de transformada en un tipo de arbol binario de 2NxN se divide en un tipo de arbol cuadruple.
Un modo de particion para una unidad de transformada o si la unidad de transformada se divide adicionalmente puede determinarse de acuerdo con al menos uno de un tamano de la unidad de transformada, una forma de la unidad de transformada, un modo de prediccion o un modo de particion para una unidad de prediccion.
Por ejemplo, un modo de particion para una unidad de transformada puede restringirse por una forma de la unidad de transformada. Como un ejemplo especffico, cuando una unidad de transformada tiene una forma que una altura es mas larga que una anchura, un modo de particion para la unidad de transformada puede restringirse a la de una unidad de transformada de nodo inferior generada como resultado de la division de la unidad de transformada que tiene una forma que una anchura es mas larga que una altura. Por ejemplo, cuando una unidad de transformada de nodo superior tiene una forma de 2NxN, una unidad de transformada de nodo inferior incluida en la unidad de transformada de nodo superior puede restringirse a tener una forma de 2NxN. Por consiguiente, un modo de particion para la unidad de transformada de nodo superior puede restringirse a un tipo de arbol cuadruple.
Como alternativa, cuando una altura de una unidad de transformada es mas larga que una anchura, un modo de particion para la unidad de transformada puede restringirse al de una unidad de transformada de nodo inferior generada como resultado de la division de la unidad de transformada que tiene una forma de una altura que es mas larga que una anchura.
Por ejemplo, cuando una unidad de transformada de nodo superior tiene una forma de Nx2N, una unidad de transformada de nodo inferior incluida en la unidad de transformada de nodo superior puede restringirse para que tenga una forma de Nx2N. Por consiguiente, un modo de particion para la unidad de transformada de nodo superior puede restringirse a un tipo de arbol cuadruple.
Como otro ejemplo, un modo de particion para una unidad de transformada puede determinarse basandose en un modo de particion para una unidad de prediccion. Como un ejemplo especffico, cuando una unidad de prediccion se divide como una forma cuadrada (por ejemplo, 2Nx2N), una unidad de transformada puede dividirse como una forma cuadrada unicamente. Por otra parte, cuando una unidad de prediccion se divide como una forma no cuadrada (por ejemplo, 2NxN o Nx2N), una unidad de transformada puede dividirse como una forma no cuadrada unicamente.
Puede establecerse que, cuando una unidad de transformada tiene una forma no cuadrada, la unidad de transformada puede dividirse en un tipo de arbol cuadruple unicamente y no puede dividirse en un tipo de arbol binario. Por ejemplo, cuando una unidad de transformada tiene una forma de Nx2N o 2NxN, la unidad de transformada puede dividirse en un tipo de arbol cuadruple que incluye cuatro bloques de Nx2N o cuatro bloques de 2NxN.
Como otro ejemplo, puede establecerse que una unidad de transformada no pueda dividirse adicionalmente cuando la unidad de transformada tiene una forma no cuadrada.
Una unidad de transformada es una unidad de base de una transformada, y puede realizarse una transformada inversa para cada unidad de transformada.
En lo sucesivo, se describira en detalle un ejemplo en el que se realiza una transformada inversa en un bloque actual con referencia a la Figura 22. En este punto, el bloque actual puede representar una unidad de transformada (un bloque de transformada) que es una unidad en la que se realiza una transformada inversa.
La Figura 22 es un diagrama de flujo que ilustra un proceso de realizacion de una transformada inversa para un bloque actual.
En primer lugar, un decodificador puede decodificar informacion que indica si una transformada inversa se omite para un bloque actual desde un flujo de bits (S2210).
La informacion indica si se omite al menos una de una transformada inversa para una direccion vertical o una transformada inversa para una direccion horizontal para un bloque actual. En este punto, la informacion puede ser una bandera de 1 bit (por ejemplo, 'transform_skip_flag'), pero no esta limitado a lo mismo.
Si la informacion indica que una transformada inversa se omite para un bloque actual, al menos puede omitirse una de una transformada inversa de direccion vertical o una transformada inversa de direccion horizontal para el bloque actual. En este momento, se determina de manera adaptativa basandose en un tamano, una forma o un modo de prediccion del bloque actual si una de la transformada inversa de direccion vertical y la transformada inversa de direccion horizontal se omite para el bloque actual.
Por ejemplo, si un bloque actual es una forma no cuadrada que tiene una anchura mayor que una altura (por ejemplo, cuando el bloque actual tiene una forma de 2NxN), puede omitirse una transformada inversa de direccion vertical, pero no puede omitirse una transformada inversa de direccion horizontal. Si un bloque actual es una forma no cuadrada que tiene una altura mayor que una anchura (por ejemplo, cuando el bloque actual tiene una forma de Nx2N), puede omitirse una transformada inversa de direccion horizontal, pero no puede omitirse una transformada inversa de direccion vertical. Por otra parte, cuando un bloque actual es una forma cuadrada, puede omitirse tanto una transformada inversa de direccion vertical como una transformada inversa de direccion horizontal.
Como otro ejemplo, si la informacion indica que se omite una transformada inversa para un bloque actual, el decodificador puede decodificar adicionalmente informacion que indica una direccion omitida de una transformada inversa desde un flujo de bits. En este punto, la informacion que indica la direccion omitida de la transformada inversa puede indicar una direccion horizontal, una direccion vertical, o ambas direcciones.
El decodificador puede omitir al menos una de una transformada inversa de direccion horizontal y una transformada inversa de direccion vertical para un bloque actual basandose en la informacion que indica la direccion omitida de la transformada inversa.
La informacion que indica si se omite una transformada inversa para un bloque actual puede incluir informacion que indica si se omite una transformada inversa de una direccion horizontal para el bloque actual e informacion que indica si se omite una transformada inversa de una direccion vertical para el bloque actual. Cada pieza de informacion puede ser una bandera de 1 bit (por ejemplo, 'hor_transform_skip_flag' que indica si se omite una transformada inversa de direccion horizontal o 'ver_transform_skip_flag' que indica si se omite una transformada inversa de direccion vertical), pero no esta limitado a lo mismo.
En este momento, la informacion que indica si una transformada inversa de una direccion horizontal y la informacion que indica si una transformada inversa de una direccion vertical pueden senalizarse de manera adaptativa de acuerdo con un tamano, un tipo, o un modo de prediccion de un bloque actual.
Por ejemplo, cuando un bloque actual tiene una forma no cuadrada, el decodificador puede decodificar unicamente una de informacion que indica si se omite una transformada inversa de una direccion horizontal o la indicacion de informacion de si se omite una transformada inversa de una direccion vertical de un flujo de bits. Como un ejemplo especifico, cuando un bloque actual es una forma no cuadrada que tiene una anchura mayor que una altura, puede senalizarse informacion que indica si se omite una transformada inversa de una direccion vertical a traves de un flujo de bits, mientras que puede no senalizarse informacion que indica si se omite una transformada inversa de una direccion horizontal a traves del flujo de bits. Cuando un bloque actual es una forma no cuadrada que tiene una altura mayor que una anchura, se omite la informacion que indica si una transformada inversa de una direccion horizontal puede senalizarse a traves de un flujo de bits, mientras que se omite la informacion que indica que una transformada inversa de una direccion vertical puede no senalizarse a traves del flujo de bits. Por otra parte, cuando un bloque actual tiene una forma cuadrada, el decodificador puede decodificar tanto la informacion que indica si se omite una transformada inversa de una direccion horizontal como la informacion que indica si se omite una transformada inversa de una direccion vertical de un flujo de bits. Si se determina realizar una transformada inversa para al menos una de una direccion vertical o una direccion horizontal para un bloque actual (S2220), el decodificador puede determinar un tipo de transformada para el bloque actual (S2230). El decodificador puede realizar una transformada inversa para el bloque actual basandose en el tipo de transformada para el bloque actual (S2240).
El tipo de transformada incluye esquemas de transformada tales como DCT, DST o KLT. En este punto, la DCT comprende al menos una de DCT-II o DCT-VIII y la DST comprende al menos una de DST-I o DST-VII.
Un tipo de transformada de un bloque actual puede determinarse basandose en un modo de prediccion del bloque actual y un tamano del bloque actual. Por ejemplo, si un bloque actual es un bloque de 4x4 codificado en un intra modo, se realiza una transformada inversa usando la DST-VII, y si el bloque actual no satisface estas condiciones, puede realizarse una transformada inversa usando la DCT-II.
Como un ejemplo, una matriz de DST-VII para un bloque de 4x4 puede expresarse como A4 a continuacion.
Figure imgf000026_0002
Puede realizarse una transformada inversa usando la DST-VII usando una matriz A41 de DST-VII inversa. Una matriz de DCT-II para un bloque de 8x8 puede expresarse como Ts a continuacion.
Figure imgf000026_0001
Una transformada inversa usando la DCT-II puede realizarse usando una matriz TbT de DCT-II inversa. Como otro ejemplo, el decodificador puede determinar un conjunto de transformada para un bloque actual y determinar un tipo de transformada para el bloque actual basandose en el conjunto de transformada determinado. En este punto, el conjunto de transformada puede obtenerse en unidades de una unidad de transformada, una unidad de codificacion o una unidad de arbol de codificacion. Como otro ejemplo, el conjunto de transformada puede obtenerse para una unidad de transformada o una unidad de codificacion cuyo tamano o una profundidad es mayor o igual que un valor predeterminado.
Por conveniencia de explicacion, en las realizaciones descritas a continuacion, se supone que se obtiene un conjunto de transformada para una unidad de transformada que incluye una pluralidad de unidades de transformada o para una unidad de codificacion que incluye una pluralidad de unidades de transformada. Y, una unidad en la que se obtiene el conjunto de transformada se denominara como una 'unidad de base'.
En primer lugar, cuando se determina un conjunto de transformada en unidades de una unidad de codificacion o una unidad de transformada, un tipo de transformada de una pluralidad de unidades de transformada incluidas en una unidad de base puede determinarse basandose en el conjunto de transformada determinado. En este momento, el conjunto de transformada puede incluir una pluralidad de tipos de transformada.
Un tipo de transformada de una unidad de transformada incluida en una unidad de base puede determinarse para que sea al menos uno de una pluralidad de tipos de transformada incluidos en un conjunto de transformada. Por ejemplo, un tipo de transformada de una unidad de transformada puede determinarse de manera adaptativa de acuerdo con una forma de una unidad de transformada, un tamano de una unidad de transformada, o un modo de prediccion. Como un ejemplo especifico, cuando se supone que un conjunto de transformada incluye dos tipos de transformada, un tipo de transformada de una unidad de transformada puede determinarse como el primero de los dos tipos de transformada cuando la unidad de transformada a transformarse a la inversa satisface una condicion predeterminada. Por otra parte, cuando una unidad de transformada a transformarse a la inversa no satisface la condicion predeterminada, un tipo de transformada de la unidad de transformada puede determinarse como uno segundo de los dos tipos de transformada.
La Tabla 3 es un grafico que muestra candidatos de conjunto de transformada.
[Tabla 3]
Figure imgf000027_0001
Los conjuntos de transformada pueden identificarse por indices de conjunto de transformada y un conjunto de transformada de un bloque actual puede especificarse por informacion de indice que indica un indice de conjunto de transformada. La informacion de indice relacionada con el conjunto de transformada del bloque actual puede decodificarse desde un flujo de bits.
En la Tabla 3, el 'candidato de tipo de transformada 0' indica un tipo de transformada usado cuando una unidad de transformada satisface una condicion predeterminada, y el 'candidato de tipo de transformada 1' indica un tipo de transformada usado cuando una unidad de transformada no satisface una condicion predeterminada. En este punto, la condicion predeterminada puede representar si una unidad de transformada tiene una forma cuadrada, si un tamano de una unidad de transformada es menor o igual que un valor predeterminado, si una unidad de codificacion se codifica en un modo de intra prediccion, y similares.
Por ejemplo, la condicion predeterminada puede indicar si una unidad de transformada es un bloque igual o menor que 4x4 codificado en un modo de intra prediccion. En este caso, se aplica un candidato de tipo de transformada 0 a una unidad de transformada de 4x4 codificada en un modo de intra prediccion que satisface la condicion predeterminada, y se aplica un candidato de tipo de transformada 1 a otras unidades de transformada que no satisfacen la condicion predeterminada. Por ejemplo, cuando se selecciona un conjunto de transformada 0 como un conjunto de transformada de un bloque actual, si el bloque actual es un bloque igual o menor que 4x4 codificado en un modo de intra-prediccion, se determina DST-VII como un tipo de transformada. Y si un bloque actual no es un bloque igual o menor que 4x4 codificado en un modo de intra prediccion, puede aplicarse DCT-II.
La condicion predeterminada puede establecerse de manera variable de acuerdo con un conjunto de transformada. Por ejemplo, cuando se selecciona un conjunto de transformada 0 o un conjunto de transformada 1 como un conjunto de transformada para un bloque actual, uno de un candidato de tipo de transformada 0 o un candidato de tipo de transformada 1 puede determinarse como un tipo de transformada del bloque actual de acuerdo con si el bloque actual es un bloque menor o igual que 4x4 codificado en el modo de intra prediccion. Por otra parte, cuando se selecciona un conjunto de transformada 2 como un conjunto de transformada para un bloque actual, uno de un candidato de tipo de transformada 0 o un candidato de tipo de transformada 1 puede determinarse como un tipo de transformada del bloque actual de acuerdo con si el bloque actual es un bloque menor o igual que 8x8 codificado en el modo de intra prediccion.
Por lo tanto, cuando se determina un conjunto de transformada para una unidad de base como un conjunto de transformada 0, puede aplicarse la DST-VII a una unidad de transformada de 4x4 codificada en un modo de intra prediccion incluido en la unidad de base, y puede aplicarse DCT-II a otras unidades de transformada. Por otra parte, cuando se determina un conjunto de transformada para una unidad de base como un conjunto de transformada 2, puede aplicarse DST-VII a una unidad de transformada de 4x4 codificada en un modo de intra prediccion o a una unidad de transformada de 8x8 codificada en un modo de intra prediccion incluida en la unidad de base, y puede aplicarse DCT-VIII a otras unidades de transformada.
La condicion predeterminada puede determinarse de manera adaptativa de acuerdo con un tamano, una forma, o un modo de prediccion de una unidad de base. Por ejemplo, cuando un tamano de una unidad de base (por ejemplo, una unidad de codificacion) es menor o igual que 32x32, la condicion predeterminada puede indicar si una unidad de transformada es un bloque menor o igual que 4x4 codificado en un modo de intra prediccion. Por otra parte, cuando un tamano de una unidad de base (por ejemplo, una unidad de codificacion) es mas grande que 32x32, la condicion predeterminada puede indicar si una unidad de transformada es un bloque menor o igual que 8x8 codificado en un modo de intra prediccion.
Por lo tanto, cuando un tamano de una unidad de base es menor o igual que 32x32, un candidato de tipo de transformada 0 puede aplicarse a una unidad de transformada de 4x4 codificada en un modo de intra prediccion incluido en la unidad de base, y un candidato de tipo de transformada 1 puede aplicarse a otras unidades de transformada. Por otra parte, cuando un tamano de una unidad de base es mas larga que 32x32, un candidato de tipo de transformada 0 puede aplicarse a una unidad de transformada de 4x4 codificada en un modo de intra prediccion o una unidad de transformada 8x8 codificada en un modo de intra prediccion incluido en la unidad de base, y un candidato de tipo de transformada 1 puede aplicarse a otras unidades de transformada.
Si se determina realizar tanto una transformada inversa de una direccion horizontal como una transformada inversa de una direccion vertical para un bloque actual, puede determinarse de manera separada un conjunto de transformada para la direccion horizontal del bloque actual y un conjunto de transformada para la direccion vertical del bloque actual. Por ejemplo, se realiza una transformada inversa de una direccion horizontal de un bloque actual usando un conjunto de transformada 0, y se realiza una transformada inversa de una direccion vertical del bloque actual usando un conjunto de transformada 1. Si usar diferentes conjuntos de transformada para una direccion horizontal y una direccion vertical del bloque actual puede determinarse de manera adaptativa basandose en un tamano, una forma o un modo de prediccion de un bloque actual o una unidad de base.
Por ejemplo, la Figura 23 muestra un ejemplo en el que se determina un conjunto de transformada de una unidad de transformada basandose en un modo de intra prediccion de una unidad de prediccion. En la figura 23, la lfnea punteada delgada denota modos de intra prediccion que utilizan el mismo conjunto de transformacion para la transformacion horizontal y para la transformacion vertical. La lfnea punteada gruesa denota modos de intra prediccion que utilizan diferentes conjuntos de transformacion para la transformacion horizontal que para la transformacion vertical.
Si usar diferentes conjuntos de transformada para una direccion horizontal y una direccion vertical puede determinarse de acuerdo con un modo de intra prediccion de una unidad de prediccion que corresponde a un bloque actual. Por ejemplo, cuando un modo de intra prediccion de una unidad de prediccion es una direccion vertical o una direccion horizontal, o cuando un modo de intra prediccion de una unidad de prediccion es similar a una direccion vertical o similar a una direccion horizontal, pueden usarse diferentes conjuntos de transformada para una direccion horizontal y una direccion vertical de un bloque actual. Si un modo de intra prediccion de una unidad de prediccion no es un modo direccional, o no es el mismo o similar a una direccion vertical o una direccion horizontal, puede usarse el mismo conjunto de transformada para una direccion horizontal y una direccion vertical de un bloque actual.
En este punto, un modo de intra-prediccion similar a una direccion vertical o una direccion horizontal es un modo de intra-prediccion que tiene una direccion similar a un modo de intra-prediccion con una direccion vertical o una direccion horizontal. Y el modo de intra-prediccion similar a la direccion vertical o a la direccion horizontal significa un modo de intra-prediccion en el que una diferencia desde el modo de intra prediccion con la direccion vertical o la direccion horizontal es menor o igual que un valor umbral. Por ejemplo, como en el ejemplo mostrado en la Figura 23, si los modos de intra-prediccion incluyen 33 modos de intra-prediccion direccionales, los modos de intra prediccion en los que una diferencia desde un modo de intra-prediccion con una direccion horizontal o una direccion vertical (10, 26) es igual o menor que ±3 pueden determinarse como el modo de intra-prediccion similar a una direccion vertical o una direccion horizontal.
Como se ha descrito anteriormente, un conjunto de transformada de una unidad de base puede determinarse basandose en informacion de fndice senalizada a traves de un flujo de bits. En este momento, para la unidad de base, un conjunto de transformada de una direccion horizontal y un conjunto de transformada de una direccion vertical pueden determinarse de manera individual. El conjunto de transformada de la direccion horizontal para la unidad de base puede especificarse por la primera informacion de fndice y el conjunto de transformada de la direccion vertical para la unidad de base puede especificarse por la segunda informacion de fndice. Un tipo de transformada de una unidad de transformada incluida en la unidad de base puede determinarse basandose en el conjunto de transformada determinada para la unidad de base.
Como otro ejemplo, un conjunto de transformada para un bloque actual puede determinarse basandose en al menos uno de un tamano del bloque actual, una forma del bloque actual, un modo de prediccion del bloque actual o un conjunto de transformada de una unidad decodificada antes del bloque actual.
Por ejemplo, puede establecerse que las unidades que tienen el mismo modo de intra prediccion entre una pluralidad de unidades incluidas en una unidad de codificacion o una unidad de transformada usan el mismo conjunto de transformada.
Como un ejemplo especffico, se supone que una primera unidad de transformada en un orden de exploracion tiene un modo de intra prediccion con una direccion vertical, y que se usa un conjunto de transformada 2 para una direccion horizontal y se usa un conjunto de transformada 0 para una direccion vertical de la primera unidad de transformada. En este caso, una unidad de transformada que tiene un modo de intra prediccion con una direccion vertical puede tener el mismo conjunto de transformada que la primera unidad de transformada que tiene el modo de intra prediccion con la direccion vertical. Por consiguiente, la unidad de transformada que tiene el modo de intra prediccion con la direccion vertical puede usar el conjunto de transformada 2 para una direccion horizontal y el conjunto de transformada 0 para una direccion vertical, como la primera unidad de transformada que tiene el modo de intra prediccion con la direccion vertical.
En este caso, puede senalizarse informacion de fndice unicamente para la primera unidad de transformada que tiene el modo de intra prediccion con la direccion vertical, y puede no senalizarse informacion de fndice para la otra unidad de transformada que tiene el modo de intra prediccion con la direccion vertical.
Ademas, puede establecerse que las unidades que tienen modos de intra prediccion similares entre una pluralidad de unidades de transformada incluidas en una unidad de codificacion o una unidad de transformada usen el mismo conjunto de transformada. En este momento, los modos de intra prediccion incluidos en un intervalo donde una diferencia desde un modo de intra prediccion en una direccion predeterminada es menor o igual que un valor umbral pueden determinarse que son similares entre sf. Por ejemplo, cuando la direccion predeterminada es una direccion horizontal o vertical, puede determinarse que los modos de intra prediccion incluidos en un intervalo de ± 3 o menor desde el modo de intra prediccion horizontal o vertical son mutuamente similares.
Como un ejemplo especffico, se supone que una primera unidad de transformada en un orden de exploracion tiene un modo de intra prediccion con una direccion vertical o cercano a una direccion vertical, y que se usa un conjunto de transformada 2 para una direccion horizontal y se usa un conjunto de transformada 0 para una direccion vertical de la primera unidad de transformada. En este caso, una unidad de transformada que tiene un modo de intra prediccion con una direccion vertical o cerca de una direccion vertical puede tener el mismo conjunto de transformada que otra unidad de transformada que tiene un modo de intra prediccion con una direccion vertical o cerca de una direccion vertical. Cuando se supone que un modo de intra prediccion en el que una diferencia desde una direccion vertical es menor o igual que 3 es similar a una direccion vertical, una unidad de transformada que tiene un modo de intra prediccion con uno cualquiera de 23-29 puede usar un conjunto de transformada 2 para una direccion horizontal y un conjunto de transformada 0 para una direccion vertical, como la primera unidad de transformada que tiene el modo de intra prediccion con uno cualquiera de 23-29.
En este caso, puede senalizarse informacion de fndice unicamente para la primera unidad de transformada que tiene el modo de intra prediccion con la direccion vertical o cerca de la direccion vertical, y puede no senalizarse informacion de fndice para la otra unidad de transformada que tiene el modo de intra prediccion con la direccion vertical o cerca de la direccion vertical.
Un conjunto de transformada para un bloque actual puede determinarse de acuerdo con un modo de intra prediccion de una unidad de prediccion relacionada con el bloque actual. Por ejemplo, la Tabla 4 ilustra indices de conjunto de transformada de una direccion horizontal y una direccion vertical de acuerdo con un modo de intra-prediccion de un bloque actual.
[Tabla 4]
Figure imgf000030_0001
Como se muestra en la Tabla 4, un conjunto de transformada de un bloque actual puede determinarse de acuerdo con un modo de intra prediccion de una unidad de prediccion relacionada con el bloque actual. Si una unidad de base se codifica con inter prediccion, puede omitirse un proceso de determinacion de un conjunto de transformada para un bloque actual. Es decir, si la unidad de base se codifica con inter prediccion, el bloque actual puede transformarse a la inversa sin usar el conjunto de transformada. En este caso, un tipo de transformada del bloque actual puede determinarse como DCT, DST o KLT dependiendo de un tamano y una forma del bloque actual.
Cuando una unidad de base se codifica con inter prediccion, se determina un conjunto de transformada para un bloque actual, y unicamente puede usarse una parte de una pluralidad de candidatos de tipo de transformada incluida en el conjunto de transformada para una transformada inversa del bloque actual. Por ejemplo, cuando se supone que un conjunto de transformada de un bloque actual incluye un candidato de tipo de transformada 0 y un candidato de tipo de transformada 1 como se ilustra en la Tabla 3, un tipo de transformada del bloque actual puede determinarse que sea el candidato de tipo de transformada 0 o el candidato de tipo de transformada 1, independientemente de si el bloque actual satisface una condicion predeterminada.
En la Tabla 3 anterior, se ilustra que un conjunto de transformada incluye dos candidatos de tipo de transformada. El numero de candidatos de tipo de transformada incluidos en un conjunto de transformada no esta limitado a dos. El numero de candidatos de tipo de transformada incluidos en un conjunto de transformada puede ser uno, tres, cuatro o mas.
El numero maximo de candidatos de tipo de transformada que un conjunto de transformada puede incluir puede determinarse basandose en informacion senalizada desde un flujo de bits. Por ejemplo, la informacion acerca del numero de candidatos maximos en un conjunto de transformada se senaliza mediante un encabezamiento de corte o secuencia, y el numero maximo de candidatos de tipo de transformada disponibles en el corte o secuencia puede determinarse por la informacion.
Mientras tanto, el numero de candidatos incluidos en un conjunto de transformada o un candidato de tipo de transformada incluido en un conjunto de transformada puede ajustarse de acuerdo con informacion que indica si omitir una transformada inversa esta permitido en una instantanea. En este punto, la informacion que indica si una omision de transformada inversa se permite en una instantanea puede ser una bandera de 1 bit (por ejemplo, 'transform_skip_enabled_flag'), pero no esta limitado a lo mismo. Por ejemplo, si 'transform_skip_enabled_flag' indica que se permite una omision de transformada inversa en una instantanea, un conjunto de transformada puede incluir adicionalmente 'omision de transformada' ('transform skip') como un candidato, como en el ejemplo de la Tabla 5. Si 'transform_skip_enabled_flag' indica que una omision de transformada inversa no esta permitida en una instantanea, un conjunto de transformada puede no incluir 'omision de transformada' ('transform skip') como un candidato, como en el ejemplo de la Tabla 5.
[Tabla 5]
Figure imgf000031_0001
Puesto que un conjunto de transformada incluye una pluralidad de candidatos de tipo de transformada, un esquema de transformada inversa que usa un tipo de transformada puede denominarse como AMT (del ingles “Adaptive Multiple Transform” - Transformada Multiple Adaptativa). Mientras tanto, si se usa AMT (es decir, si determinar un tipo de transformada de un bloque actual usando un conjunto de transformada) puede determinarse de manera selectiva de acuerdo con un tamano o una profundidad del bloque actual o una unidad de base. Por ejemplo, un bloque actual puede determinar un tipo de transformada usando un conjunto de transformada unicamente cuando un tamano de una unidad de codificacion que incluye el bloque actual es menor o igual que un tamano predeterminado. En este punto, un tamano maximo de la unidad de codificacion en el que se permite AMT puede senalizarse a traves de un encabezamiento de corte o un encabezamiento de secuencia.
A continuacion, se describira un proceso de obtencion de un parametro de cuantificacion para un bloque actual.
En el proceso de codificacion, un parametro de cuantificacion determina una calidad de una imagen despues de un proceso de transformada. Un coeficiente de transformada cuantificado puede obtenerse dividiendo un coeficiente de transformada obtenido a traves de un proceso de transformada por un valor especificado por el parametro de cuantificacion.
En la etapa de decodificacion, se obtiene un coeficiente de transformada descuantificado por una cuantificacion inversa que se realiza multiplicando un coeficiente de transformada cuantificado por un valor especificado por el parametro de cuantificacion.
Pueden aplicarse diferentes parametros de cuantificacion para cada bloque o cada area dentro de una instantanea. En este punto, bloques o areas a los que se aplica el mismo parametro de cuantificacion pueden denominarse como un 'grupo de cuantificacion' (del ingles 'quantization group' - QG).
Para obtener un parametro de cuantificacion de un grupo de cuantificacion, puede senalizarse un parametro de cuantificacion de una instantanea o un corte y un valor de diferencia de parametro de cuantificacion (DeltaQP, dQp). El valor de diferencia de parametro de cuantificacion indica un valor de diferencia entre el parametro de cuantificacion del grupo de cuantificacion y un valor de prediccion de parametro de cuantificacion. En este momento, cuando el grupo de cuantificacion es un primer grupo en una instantanea o en un corte, un parametro de cuantificacion de la instantanea o el corte puede establecerse como el valor de prediccion de parametro de cuantificacion del grupo de cuantificacion. Un tamano de un grupo de cuantificacion puede determinarse de acuerdo con un elemento de sintaxis que indica un tamano del grupo de cuantificacion y un tamano de una unidad de arbol de codificacion. Por ejemplo, la Tabla 6 muestra un tamano de un grupo de cuantificacion de acuerdo con 'diff_cu_qp_delta_depth' que representa el tamano del grupo de cuantificacion y un tamano de una unidad de arbol de codificacion.
[Tabla 6]
Figure imgf000032_0001
En este punto, 'diff_cu_qp_delta_depth' representa un valor de diferencia entre un tamano de una unidad de arbol de codificacion y un tamano de un grupo de cuantificacion.
Un valor de diferencia de parametro de cuantificacion puede senalizarse para una unidad de codificacion o una unidad de transformada que tiene un coeficiente de transformada distinto de cero. Cuando una unidad de arbol de codificacion se divide en una pluralidad de unidades de codificacion, puede senalizarse un valor de diferencia de parametro de cuantificacion para una unidad de codificacion o una unidad de transformada que tiene un coeficiente de transformada distinto de cero.
En la etapa de codificacion, el codificador puede derivar un valor de diferencia de parametro de cuantificacion basandose en un valor relacionado con un bloque actual (por ejemplo, un valor promedio) a codificarse. En lo sucesivo, se describira un metodo de derivacion de un valor de diferencia de parametro de cuantificacion basandose en un valor relacionado con un bloque actual en detalle con referencia a las figuras. Por conveniencia de explicacion, en la realizacion descrita mas adelante, un valor relacionado con un bloque actual se denomina como un valor promedio del bloque actual.
La Figura 24 es un diagrama de flujo que ilustra un metodo de derivacion de un valor de diferencia de parametro de cuantificacion de acuerdo con una realizacion de la presente invencion. En la realizacion que se va a describir mas adelante, un bloque actual puede significar un grupo de cuantificacion, una unidad de arbol de codificacion, una unidad de codificacion o una unidad de transformada que corresponde a unidades en las que se obtiene el parametro de cuantificacion.
Para derivar un valor de diferencia de parametro de cuantificacion, puede calcularse (S2410) un valor promedio de un bloque actual. El valor promedio del bloque actual puede obtenerse basandose en una muestra de prediccion y un coeficiente de transformada.
Especfficamente, el valor promedio del bloque actual puede obtenerse anadiendo un valor promedio de muestras de prediccion en el bloque actual y un valor obtenido escalando un componente de CC (es decir, un coeficiente de CC) de un coeficiente de transformada. En este punto, el componente de CC puede significar un coeficiente que corresponde a un componente de CC entre coeficientes de transformada generados transformando muestras residuales. La ecuacion 9 muestra un metodo de derivacion de un valor promedio de un bloque actual.
[Ecuacion 9]
intL=Media(Predicci6n)+escala*CC_coeff
Un valor de escala para un coeficiente de CC puede ser un valor fijo o una variable que se determina dependiendo de un tamano de un bloque actual.
En la Ecuacion 9, Media(Predicci6n) representa un valor promedio de muestras de prediccion.
Si se calcula un valor promedio de un bloque actual, un valor de diferencia de parametro de cuantificacion del bloque actual puede determinarse basandose en el valor promedio del bloque actual (S2420). El valor de diferencia de parametro de cuantificacion puede derivarse haciendo referencia a una tabla de busqueda (LUT) que define una relacion entre el valor promedio y el valor de diferencia de parametro de cuantificacion.
En este punto, la tabla de busqueda puede definirse de modo que se usa un numero pequeno de bits en una porcion oscura de una instantanea (es decir, usando un parametro de cuantificacion grande) y se usa un numero de bits grande en una porcion brillante de una instantanea (es decir, usando un parametro de cuantificacion pequeno). Por consiguiente, a medida que aumenta un valor promedio de un bloque actual, un valor de diferencia de parametro de cuantificacion puede tender a reducirse.
Por ejemplo, la Tabla 7 ilustra una tabla de correspondencia que define un valor de diferencia de parametro de cuantificacion de acuerdo con un valor promedio.
[Tabla 7]
Figure imgf000033_0001
En la Tabla 7, intL indica un valor promedio, y dQp indica un valor de diferencia de parametro de cuantificacion.
Una tabla de busqueda referenciada para derivar un valor de diferencia de parametro de cuantificacion puede determinarse de acuerdo con un tamano de un bloque actual. Por ejemplo, una tabla de correspondencia a usarse para derivar un valor de diferencia de parametro de cuantificacion puede determinarse de manera adaptativa de acuerdo con un tamano de una unidad de arbol de codificacion, una unidad de codificacion, una unidad de transformada, o una unidad de prediccion.
Tomando una unidad de arbol de codificacion como un ejemplo, existe una posibilidad de que una region que incluye una unidad de arbol de codificacion que tiene un tamano pequeno pueda tener textura mas compleja o mas objetos que una region que incluye una unidad de arbol de codificacion que tiene un tamano grande. Por otra parte, una region que incluye una unidad de arbol de codificacion que tiene un tamano grande puede ser una region mas homogenea que comprende textura o fondo sencillo que una region que incluye una unidad de arbol de codificacion que tiene un tamano pequeno. Por consiguiente, puede mejorarse la calidad de imagen subjetiva y puede mejorarse la realizacion de la codificacion asignando mas bits a una unidad de arbol de codificacion pequena que es probable que tenga muchas texturas complejas (es decir, usando un parametro de cuantificacion pequeno).
Para este fin, usando diferentes tablas de busqueda dependiendo de un tamano de una unidad de arbol de codificacion, una unidad de arbol de codificacion de pequeno tamano puede tener un valor de diferencia de parametro de cuantificacion pequeno y una unidad de arbol de codificacion de tamano grande puede tener un valor de diferencia de parametro de cuantificacion grande. Por ejemplo, si un tamano de una unidad de arbol de codificacion es mas grande que 32x32, se usa una tabla de busqueda de la Tabla 8 a continuacion, y si un tamano de una unidad de arbol de codificacion es menor que 32x32, puede usarse una tabla de busqueda de la Tabla 7.
[Tabla 8]
Figure imgf000033_0003
Figure imgf000033_0004
Figure imgf000033_0002
Figure imgf000034_0001
Como otro ejemplo, una tabla de busqueda a la que se hace referencia para derivar un valor de diferencia de parametro de cuantificacion puede determinarse de acuerdo con un modo de prediccion de un bloque actual. Por ejemplo, una tabla de busqueda para usarse para derivar un valor de diferencia de parametro de cuantificacion puede determinarse de manera adaptativa, dependiendo de si una unidad de codificacion se codifica en un modo de intra prediccion, se codifica en modo de inter prediccion, o se codifica en copia de intra bloque.
Por ejemplo, cuando una unidad de codificacion se codifica en intra prediccion, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de correspondencia en la Tabla 7. Y, cuando una unidad de codificacion se codifica en un modo de inter prediccion o una copia de intra bloque, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de correspondencia en la Tabla 8.
Como otro ejemplo, una tabla de busqueda a la que se hace referencia para derivar un valor de diferencia de parametro de cuantificacion puede determinarse de acuerdo con un tipo de transformada de un bloque actual o un conjunto de transformada de un bloque actual. Por ejemplo, cuando un tipo de transformada de una unidad de transformada es DCT, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de busqueda en la Tabla 7. Y, cuando un tipo de transformada de una unidad de transformada es DST, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de busqueda en la Tabla 8.
Como otro ejemplo, una tabla de busqueda a la que se hace referencia para derivar un valor de diferencia de parametro de cuantificacion puede determinarse dependiendo de si se realiza una segunda transformada en un bloque actual. Por ejemplo, cuando se aplica una segunda transformada a una unidad de transformada, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de busqueda en la Tabla 7. Y, cuando no se aplica una segunda transformada a una unidad de transformada, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de busqueda en la Tabla 8.
Como otro ejemplo, una tabla de busqueda a la que se hace referencia para derivar un valor de diferencia de parametro de cuantificacion puede determinarse basandose en un valor de pixel maximo, un valor de pixel mfnimo, o una diferencia entre el valor de pixel maximo y el valor de pixel mfnimo en un bloque actual. Por ejemplo, cuando un valor de pixel maximo en una unidad de arbol de codificacion es menor que un valor umbral especffico, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de busqueda en la Tabla 7. Y, cuando un valor de pixel maximo en la unidad de arbol de codificacion es mas grande que un valor umbral especffico, un valor de diferencia de parametro de cuantificacion puede derivarse usando una tabla de busqueda en la Tabla 8.
En el ejemplo anterior, se describe que el valor residual de parametro de cuantificacion se determina usando un valor promedio de un bloque actual, y se describe tambien que el valor promedio se determina por una muestra de prediccion y un coeficiente de CC del bloque actual. A diferencia de la descripcion, el valor residual de parametro de cuantificacion puede determinarse por una muestra de prediccion o un coeficiente de CC. Como alternativa, una muestra de prediccion puede determinarse basandose en un valor promedio de un bloque actual, y el valor promedio del bloque actual puede calcularse basandose en el coeficiente de transformada, el coeficiente de transformada cuantificado, y similares en lugar del coeficiente de CC.
Ademas, en el ejemplo anterior, se ha descrito acerca de determinar el valor residual de parametro de cuantificacion en el proceso de codificacion. Sin embargo, tambien es posible determinar el valor residual de parametro de cuantificacion en el proceso de decodificacion de la misma manera que en el proceso de codificacion. Tambien es posible que el codificador senalice informacion que especifica una tabla de busqueda usada para derivar el valor residual de parametro de cuantificacion en el decodificador. En este caso, el decodificador puede derivar un parametro de cuantificacion usando una tabla de busqueda especificada por la informacion.
Como otro ejemplo, el valor residual de parametro de cuantificacion determinado en el proceso de codificacion puede senalizarse al decodificador a traves de un flujo de bits.
Aunque se han descrito las realizaciones anteriormente descritas basandose en una serie de etapas o diagramas de flujo, estos no limitan el orden de las series temporales de la invencion, y pueden realizarse de manera simultanea o en ordenes diferentes segun sea necesario. Ademas, cada uno de los componentes (por ejemplo, unidades, modulos, etc.) que constituyen el diagrama de bloques en las realizaciones anteriormente descritas pueden implementarse por un dispositivo de hardware o software, y una pluralidad de componentes. O una pluralidad de componentes puede combinarse e implementarse por un unico dispositivo de hardware o software. Las realizaciones anteriormente descritas pueden implementarse en forma de instrucciones de programa que pueden ejecutarse a traves de diversos componentes informaticos y grabarse en un medio de grabacion legible por ordenador. El medio de grabacion legible por ordenador puede incluir uno de, o una combinacion de comandos de programa, ficheros de datos, estructuras de datos, y similares. Ejemplos de medio legible por ordenador incluyen medios magneticos tales como discos duros, discos flexibles y cinta magnetica, medio de grabacion optico tal como CD-ROM y DVD, medios magneto-opticos tales como discos opticos, medios, y dispositivos de hardware especfficamente configurados para almacenar y ejecutar instrucciones de programa tales como ROM, RAM, memoria flash, y similares. El dispositivo de hardware puede estar configurado para operar como uno o mas modulos de software para realizar el proceso de acuerdo con la presente invencion, y viceversa.
Aplicabilidad industrial
La presente invencion puede aplicarse a dispositivos electronicos que pueden codificar/decodificar un video.

Claims (11)

REIVINDICACIONES
1. Un metodo de decodificacion de un video, comprendiendo el metodo:
decodificar informacion indexada que especifica un conjunto tipo de transformada para un bloque de transformada actual desde un flujo de bits;
determinar, basado en la informacion indexada, el conjunto tipo de transformada para el bloque de transformada actual entre una plularidad de conjuntos tipo de transformada;
determinar un tipo de transformada del bloque de transformada actual basandose en el conjunto tipo de transformada determinado; y
realizar una transformada inversa para el bloque de transformada actual basandose en el tipo de transformada del bloque de transformada actual.
2. El metodo de la reivindicacion 1, donde el tipo de transformada del bloque de transformada actual es determinado a uno de los candidatos tipo de transformada incluidos en el conjunto tipo de transformada determinado.
3. El metodo de la reivindicacion 2, donde determinar uno de los candidatos tipo de transformada como el tipo de transformada del bloque de transformada actual es basado en un tamano del bloque de transformada actual.
4. El metodo de la reivindicacion 1, donde determinar el conjunto tipo de transformada para el bloque de transformada actual comprende:
determinar un conjunto tipo de transformada horizontal para una direccion horizontal del bloque de transformada actual; y,
determinar un conjunto tipo de transformada vertical para una direccion vertical del bloque de transformada actual.
5. El metodo de la reivindicacion 1, donde un numero o un tipo de candidatos tipo de transformada incluido en el conjunto tipo de transformada determinado es diferente de otro de la pluralidad de conjuntos tipo de transformada.
6. Un metodo de codificacion de un video, comprendiendo el metodo:
determinar un conjunto tipo de transformada para un bloque de transformada actual entre una pluralidad de conjuntos tipo de transformada;
determinar un tipo de transformada del bloque de transformada actual basandose en el conjunto tipo de transformada determinado;
realizar una transformada para el bloque de transformada actual basandose en el tipo de transformada del bloque de transformada actual; y,
codificar informacion indexada que especifica el conjunto tipo de transformada determinado entre la pluralidad de conjuntos tipo de transformada.
7. El metodo de la reivindicacion 6, donde el tipo de transformada del bloque de transformada actual es determinado a uno de los candidatos tipo de transformada incluidos en el conjunto tipo de transformada determinado.
8. El metodo de la reivindicacion 7, donde determinar uno de los candidatos tipo de transformada como el tipo de transformada del bloque de transformada actual se basa en un tamano del bloque de transformada actual.
9. El metodo de la reivindicacion 6, donde determinar el conjunto tipo de transformada para el bloque de transformada actual comprende:
determinar un conjunto tipo de transformada horizontal para una direccion horizontal del bloque de transformada actual; y,
determinar un conjunto tipo de transformada vertical para una direccion vertical del bloque de transformada actual.
10. Un aparato para decodificar un video, comprendiendo el aparato:
una unidad de decodificacion para decodificar informacion indexada que especifica un conjunto tipo de transformada de un bloque de transformada actual; y
una unidad de transformada inversa para determinar, basandose en la informacion indexada, el conjunto tipo de transformada para el bloque de transformada actual entre una pluralidad de conjuntos tipo de transformada
para determinar un tipo de transformada del bloque de transformada actual basandose en el conjunto tipo de transformada determinado, y
para realizar una transformada inversa para el bloque de transformada actual basandose en el tipo de transformada del bloque de transformada actual.
11. Un aparato para codificar un video, comprendiendo el aparato:
una unidad de transformada para determinar un conjunto tipo de transformada de un bloque de transformada actual entre una pluralidad de conjuntos tipo de transformada,
para determinar un tipo de transformada del bloque de transformada actual basado en el conjunto tipo de transformada determinado, y
para realizar una transformada para el bloque de transformada actual basado en el tipo de transformada del bloque de transformada actual; y
una unidad de codificacion para codificar informacion indexada que especifica el tipo de transformada determinado entre la pluralidad de conjuntos tipo de transformada.
ES201890057A 2016-03-28 2017-03-28 Metodo y aparato para procesar senales de video Active ES2710807B1 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20160036844 2016-03-28
KR20160036846 2016-03-28
KR20160036841 2016-03-28
PCT/KR2017/003357 WO2017171370A1 (ko) 2016-03-28 2017-03-28 비디오 신호 처리 방법 및 장치

Publications (3)

Publication Number Publication Date
ES2710807A2 true ES2710807A2 (es) 2019-04-26
ES2710807R1 ES2710807R1 (es) 2019-07-10
ES2710807B1 ES2710807B1 (es) 2020-03-27

Family

ID=59966160

Family Applications (3)

Application Number Title Priority Date Filing Date
ES201931078A Active ES2739668B1 (es) 2016-03-28 2017-03-28 Metodo y aparato para procesar senales de video
ES202031144A Active ES2817100B1 (es) 2016-03-28 2017-03-28 Metodo y aparato para procesar senales de video
ES201890057A Active ES2710807B1 (es) 2016-03-28 2017-03-28 Metodo y aparato para procesar senales de video

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES201931078A Active ES2739668B1 (es) 2016-03-28 2017-03-28 Metodo y aparato para procesar senales de video
ES202031144A Active ES2817100B1 (es) 2016-03-28 2017-03-28 Metodo y aparato para procesar senales de video

Country Status (6)

Country Link
US (4) US10904526B2 (es)
EP (1) EP3439304A4 (es)
KR (3) KR102492809B1 (es)
CN (2) CN114598865A (es)
ES (3) ES2739668B1 (es)
WO (1) WO2017171370A1 (es)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113411579B (zh) 2016-05-13 2024-01-23 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
CN109417636B (zh) * 2016-06-24 2022-04-01 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
WO2018037853A1 (ja) * 2016-08-26 2018-03-01 シャープ株式会社 画像復号装置及び画像符号化装置
KR20180040827A (ko) * 2016-10-13 2018-04-23 디지털인사이트 주식회사 부호화 유닛의 그룹을 사용하는 비디오 코딩 방법 및 장치
US10893267B2 (en) * 2017-05-16 2021-01-12 Lg Electronics Inc. Method for processing image on basis of intra-prediction mode and apparatus therefor
TWI761551B (zh) * 2017-07-13 2022-04-21 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置及解碼方法
CA3238672A1 (en) 2017-08-04 2019-02-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and apparatus for configuring transform for video compression
WO2019076138A1 (en) 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ENCODING
CN111095924B (zh) * 2017-12-28 2022-09-13 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
WO2019164660A1 (en) 2018-02-23 2019-08-29 Futurewei Technologies, Inc. Position dependent spatial varying transform for video coding
US11665367B2 (en) * 2018-03-30 2023-05-30 Sony Corporation Image processing apparatus and method
CN110324627B (zh) * 2018-03-30 2022-04-05 杭州海康威视数字技术股份有限公司 色度的帧内预测方法及装置
US10728542B2 (en) * 2018-04-09 2020-07-28 Tencent America LLC Methods and apparatuses for sub-block motion vector prediction
KR102532021B1 (ko) 2018-05-31 2023-05-12 후아웨이 테크놀러지 컴퍼니 리미티드 적응적 변환 타입의 공간 가변 변환
US10701358B2 (en) * 2018-07-09 2020-06-30 Tencent America LLC Mode dependent primary and secondary transforms
US20200021836A1 (en) * 2018-07-10 2020-01-16 Tencent America LLC Method and apparatus for ordering and selection of affine merge candidates in motion compensation
KR102553341B1 (ko) 2018-08-12 2023-07-06 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
US20220038702A1 (en) * 2018-09-20 2022-02-03 Nokia Technologies Oy A method and an apparatus for encoding and decoding of digital image/video material
CN110944177B (zh) * 2018-09-21 2024-03-01 华为技术有限公司 视频解码方法及视频解码器,视频编码方法及视频编码器
CA3113988A1 (en) * 2018-09-23 2020-03-26 Lg Electronics Inc. Method for encoding/decoding video signals and apparatus therefor
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11509891B2 (en) 2018-11-04 2022-11-22 Lg Electronics Inc. Intra prediction method and apparatus in image coding system
BR112021009099A2 (pt) * 2018-11-12 2021-08-10 Huawei Technologies Co., Ltd. codificador de vídeo, decodificador de vídeo e métodos de codificação ou decodificação de uma imagem
CN111225206B (zh) * 2018-11-23 2021-10-26 华为技术有限公司 视频解码方法和视频解码器
CN116684591A (zh) 2018-12-04 2023-09-01 华为技术有限公司 视频编码器、视频解码器、及对应方法
CN116684643A (zh) * 2018-12-06 2023-09-01 Lg电子株式会社 解码设备、编码设备和数据发送设备
WO2020130581A1 (ko) * 2018-12-19 2020-06-25 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
US11943479B2 (en) 2019-01-01 2024-03-26 Lg Electronics Inc. Method for processing video signal by using transform, and apparatus therefor
US10986339B2 (en) * 2019-02-08 2021-04-20 Tencent America LLC Method and apparatus for harmonization between transform skip mode and multiple transform selection
KR102617439B1 (ko) 2019-02-26 2023-12-26 애플 인크. 영상 신호 부호화/복호화 방법 및 이를 위한 장치
CN110392256B (zh) * 2019-03-09 2020-12-11 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统
US11025937B2 (en) * 2019-03-16 2021-06-01 Tencent America LLC Method and apparatus for video coding
WO2020216288A1 (en) * 2019-04-23 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Conditional use of multiple transform matrices in video coding
US11277637B2 (en) * 2019-05-09 2022-03-15 Qualcomm Incorporated Reference sampling for matrix intra prediction mode
US11570439B2 (en) * 2019-05-15 2023-01-31 Hyundai Motor Company Inverse quantization device and method used in video decoding device
CN110213581B (zh) * 2019-05-20 2023-03-07 广州市数字视频编解码技术国家工程实验室研究开发与产业化中心 一种基于块划分模式跳过的编码方法、装置及存储介质
WO2020244658A1 (en) * 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Sub-block based intra block copy
WO2020251254A1 (ko) * 2019-06-10 2020-12-17 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
CN110365982B (zh) * 2019-07-31 2022-01-04 中南大学 一种多用途编码中帧内编码的多变换选择加速方法
KR20220031062A (ko) * 2019-08-08 2022-03-11 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN112422991B (zh) * 2019-08-23 2022-04-15 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
CN117560508A (zh) * 2019-09-21 2024-02-13 Lg电子株式会社 图像编码/解码设备以及发送数据的设备
WO2021071342A1 (ko) * 2019-10-11 2021-04-15 한국전자통신연구원 변환 정보 부호화/복호화를 위한 방법, 장치 및 비트스트림 저장 매체
US11650670B2 (en) * 2020-11-30 2023-05-16 Logitech Europe S.A. Combining electropermanent magnets and magnetorheological fluid to modify an operation of an input device

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101377527B1 (ko) 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
CN104717502B (zh) 2009-04-08 2018-06-22 夏普株式会社 运动图像编码装置以及运动图像解码装置
US9357219B2 (en) 2009-04-08 2016-05-31 Sharp Kabushiki Kaisha Video encoding apparatus and video decoding apparatus
CN106067973B (zh) 2010-05-19 2019-06-18 Sk电信有限公司 视频解码设备
GB2486733A (en) * 2010-12-24 2012-06-27 Canon Kk Video encoding using multiple inverse quantizations of the same reference image with different quantization offsets
US20130101027A1 (en) * 2011-06-20 2013-04-25 Matthias Narroschke Deblocking control by individual quantization parameters
GB2551088B (en) 2011-10-17 2018-09-19 Kt Corp Method and apparatus for encoding/decoding image
MX2014004776A (es) * 2011-10-17 2014-07-09 Kt Corp Metodo de transformacion adaptable con base en la prediccion en pantalla y aparato que usa el metodo.
RU2719340C2 (ru) * 2011-10-18 2020-04-17 Кт Корпорейшен Способ декодирования видеосигнала
GB2509671C (en) * 2011-10-19 2019-09-25 Kt Corp Encoding and decoding video using skip transform mode
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
AU2012232992A1 (en) 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
JP2014082639A (ja) 2012-10-16 2014-05-08 Canon Inc 画像符号化装置およびその方法
JP6055555B2 (ja) * 2012-11-13 2016-12-27 インテル コーポレイション 次世代ビデオのためのビデオコーデックアーキテクチャ
CN109068136B (zh) 2012-12-18 2022-07-19 索尼公司 图像处理装置和图像处理方法、计算机可读存储介质
US9716894B2 (en) 2013-03-25 2017-07-25 Qualcomm Incorporated Intra prediction modes for lossy coding when transform is skipped
DE102013212873A1 (de) * 2013-07-02 2015-01-08 Henkel Ag & Co. Kgaa Reinigungszusammensetzung mit hohem Fettsäuregehalt
KR101529650B1 (ko) * 2013-07-02 2015-06-19 성균관대학교산학협력단 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치
US20160227253A1 (en) * 2013-10-11 2016-08-04 Sony Corporation Decoding device, decoding method, encoding device and encoding method
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
KR101601813B1 (ko) 2015-06-30 2016-03-11 에스케이텔레콤 주식회사 인터 예측을 이용한 영상 복호화 방법 및 장치
US20170150156A1 (en) * 2015-11-25 2017-05-25 Qualcomm Incorporated Illumination compensation with non-square predictive blocks in video coding

Also Published As

Publication number Publication date
ES2817100R1 (es) 2021-06-03
KR20230018544A (ko) 2023-02-07
EP3439304A1 (en) 2019-02-06
ES2817100A2 (es) 2021-04-06
CN108886613A (zh) 2018-11-23
ES2739668R1 (es) 2020-11-13
KR102492809B1 (ko) 2023-01-27
US11343497B2 (en) 2022-05-24
EP3439304A4 (en) 2020-02-26
ES2739668A2 (es) 2020-02-03
US20210105471A1 (en) 2021-04-08
US20190222843A1 (en) 2019-07-18
ES2817100B1 (es) 2022-04-13
KR20180121514A (ko) 2018-11-07
US20210105470A1 (en) 2021-04-08
ES2739668B1 (es) 2021-12-03
KR102365964B1 (ko) 2022-02-22
CN114598865A (zh) 2022-06-07
ES2710807B1 (es) 2020-03-27
WO2017171370A1 (ko) 2017-10-05
US11343498B2 (en) 2022-05-24
ES2710807R1 (es) 2019-07-10
US11343499B2 (en) 2022-05-24
US10904526B2 (en) 2021-01-26
KR20220025289A (ko) 2022-03-03
US20210144375A1 (en) 2021-05-13
CN108886613B (zh) 2022-04-19
KR102583092B1 (ko) 2023-09-26

Similar Documents

Publication Publication Date Title
ES2817100B1 (es) Metodo y aparato para procesar senales de video
ES2692864B1 (es) Metodo y aparato para procesar senales de video
ES2710234B1 (es) Procedimiento y dispositivo para procesar señales de vídeo
ES2699723B2 (es) Metodo y aparato para tratar una senal de video
ES2737874B2 (es) Metodo y aparato para procesar senal de video
ES2737845B2 (es) Metodo y aparato para procesar senal de video
ES2719132B1 (es) Procedimiento y dispositivo para procesar señales de vídeo
ES2737843B2 (es) Metodo y aparato para procesar una senal de video
ES2711189A2 (es) Metodo y aparato para procesar senales de video
ES2711474A2 (es) Metodo y aparato para procesar una senal de video
ES2711209A2 (es) Metodo y aparato para procesamiento de una senal de video
ES2711223A2 (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
WO2020175965A1 (ko) 인트라 예측 기반 비디오 신호 처리 방법 및 장치

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2710807

Country of ref document: ES

Kind code of ref document: A2

Effective date: 20190426

EC2A Search report published

Ref document number: 2710807

Country of ref document: ES

Kind code of ref document: R1

Effective date: 20190703

FG2A Definitive protection

Ref document number: 2710807

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20200327