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

Metodo y aparato para procesar senales de video Download PDF

Info

Publication number
ES2711223A2
ES2711223A2 ES201990015A ES201990015A ES2711223A2 ES 2711223 A2 ES2711223 A2 ES 2711223A2 ES 201990015 A ES201990015 A ES 201990015A ES 201990015 A ES201990015 A ES 201990015A ES 2711223 A2 ES2711223 A2 ES 2711223A2
Authority
ES
Spain
Prior art keywords
prediction
sample
block
reference sample
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.)
Pending
Application number
ES201990015A
Other languages
English (en)
Other versions
ES2711223R1 (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 ES2711223A2 publication Critical patent/ES2711223A2/es
Publication of ES2711223R1 publication Critical patent/ES2711223R1/es
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree 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/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/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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Picture Signal Circuits (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

Método y aparato para procesar señales de video. Un método para decodificar un video de acuerdo con la presente invención puede comprender: derivar una muestra de referencia para un bloque actual, determinar un modo de intrapredicción del bloque actual y obtener una muestra de predicción para el bloque actual utilizando la muestra de referencia y el modo de intrapredicción.

Description

DESCRIPCION
PROCEDIMIENTO Y APARATO PARA PROCESAR SENALES DE VIDEO
Campo tecnico
La presente invention se refiere a un procedimiento y a un aparato para procesar senales de video.
Antecedentes de la tecnica
Recientemente, la demanda de imagenes de alta resolution y alta calidad como imagenes de alta definition (HD) e imagenes de ultra alta definition (UHD) ha aumentado en varios campos de aplicacion. Sin embargo, los datos de imagen de mayor resolucion y calidad tienen cantidades cada vez mayores de datos en comparacion con los datos de imagen convencionales. Por lo tanto, cuando se transmiten datos de imagenes utilizando un medio como las redes de banda ancha convencionales e inalambricas, o cuando se almacenan datos de imagenes utilizando un medio de almacenamiento convencional, aumentan los costes de transmision y almacenamiento. Para resolver estos problemas que ocurren con un aumento en la resolucion y la calidad de los datos de imagen, se pueden utilizar tecnicas de codificacion/decodificacion de imagen de alta eficiencia.
La tecnologia de compresion de imagenes incluye varias tecnicas, entre ellas: una tecnica de interprediccion de prediction de un valor de pixel incluido en una imagen actual a partir de una imagen anterior o posterior de la imagen actual; una tecnica de intraprediccion de prediccion de un valor de pixel incluido en una imagen actual utilizando information de pixeles en la imagen actual; una tecnica de codification por entropia de asignar un codigo corto a un valor con una frecuencia de aparicion alta y asignar un codigo largo a un valor con una frecuencia de aparicion baja; etc. Los datos de imagen pueden comprimirse de manera efectiva mediante el uso de dicha tecnologia de compresion de imagen, y pueden transmitirse o almacenarse.
Mientras tanto, con la demanda de imagenes de alta resolucion, la demanda de contenido de imagenes estereograficas, que es un nuevo servicio de imagenes, tambien ha aumentado. Se esta discutiendo una tecnica de compresion de video para proporcionar efectivamente contenido de imagenes estereograficas con alta resolucion y resolucion ultraalta.
Divulgacion
Problema tecnico
Un objeto de la presente invention es proporcionar un procedimiento y un aparato para realizar eficazmente la intraprediccion para un bloque objetivo de codificacion/decodificacion en la codificacion/decodificacion de una senal de video.
Un objeto de la presente invencion es proporcionar un procedimiento y un aparato para derivar una nueva muestra de referencia bajo modo plano en base a muestras de referencias derivadas previamente en la codificacion/decodificacion de una senal de video.
Un objeto de la presente invencion es proporcionar un procedimiento y un aparato para derivar una muestra de prediction en base a una suma ponderada de una pluralidad de muestras de referencia en la codificacion/decodificacion de una senal de video.
Los objetivos tecnicos a alcanzar por la presente invencion no estan limitados a los problemas tecnicos mencionados anteriormente. Y otros problemas tecnicos que no se mencionan se entenderan de manera evidente para los expertos en la materia a partir de la siguiente description.
Solucion tecnica
Un metodo y un aparato para decodificar una senal de video de acuerdo con la presente invencion puede derivar una muestra de referencia para un bloque actual, determinar un modo de prediccion intra del bloque actual y obtener una muestra de prediccion para el bloque actual utilizando la muestra de referencia y el modo de prediccion intra. En este momento, si el modo de intraprediccion es el modo plano, la muestra de prediccion se genera en base a una primera muestra de prediccion generada utilizando al menos una de las muestras de referencia ubicadas en una misma lmea horizontal como una muestra objetivo de prediccion y una segunda muestra de prediccion generada utilizando al menos una de las muestras de referencia ubicadas en una misma lmea vertical que la muestra objetivo de prediccion.
Un metodo y un aparato para codificar una senal de video de acuerdo con la presente invencion puede derivar una muestra de referencia para un bloque actual, determinar un modo de prediccion intra del bloque actual y obtener una muestra de prediccion para el bloque actual utilizando la muestra de referencia y el modo de prediccion intra. En este momento, si el modo de intraprediccion es el modo plano, la muestra de prediccion se genera en base a una primera muestra de prediccion generada utilizando al menos una de las muestras de referencia ubicadas en una misma lmea horizontal como una muestra objetivo de prediction y una segunda muestra de prediccion generada utilizando al menos una de las muestras de referencia ubicadas en una misma lmea vertical que la muestra objetivo de prediccion.
En el metodo y el aparato para codificar/decodificar una senal de video de acuerdo con la presente invention, la muestra de referencia puede comprender una muestra de referencia superior y una muestra de referencia izquierda adyacente al bloque actual, pudiendo generarse la primera muestra de prediccion utilizando al menos una muestra de referencia derecha derivada en base a la muestra de referencia izquierda y la muestra de referencia superior y la segunda muestra de prediccion puede generarse utilizando al menos una muestra de referencia inferior derivada de la muestra de referencia superior y la muestra de referencia izquierda.
En el metodo y el aparato para codificar/decodificar una senal de video de acuerdo con la presente invencion, una position de la muestra de referencia superior que se usa para derivar la muestra de referencia correcta o una posicion de la muestra de referencia izquierda que se usa para derivar la muestra de referencia inferior se puede determinar adaptativamente en funcion del tamano o la forma del bloque actual.
En el metodo y el aparato para codificar/decodificar una senal de video de acuerdo con la presente invencion, la primera muestra de prediccion puede generarse basandose en una suma ponderada entre la muestra de referencia izquierda y la muestra de referencia derecha, y la segunda muestra de prediccion puede generarse en base a una suma ponderada entre la muestra de referencia superior y la muestra de referencia inferior.
En el metodo y el aparato para codificar/decodificar una senal de video segun la presente invencion, una serie de muestras de referencia utilizadas para derivar la primera muestra de prediccion o la segunda muestra de prediccion pueden determinarse de manera diferente dependiendo de la posicion de la muestra objetivo de prediccion.
En el metodo y el aparato para codificar/decodificar una senal de video de acuerdo con la presente invencion, la muestra de prediccion puede generarse en base a una suma ponderada de la primera muestra de prediccion y la segunda muestra de prediccion.
En el metodo y el aparato para codificar/decodificar una senal de video de acuerdo con la presente invencion, las ponderaciones para la primera muestra de prediccion y la segunda muestra de prediccion se pueden determinar de manera diferente de acuerdo con una forma del bloque actual.
Las caracteristicas resumidas brevemente anteriormente para la presente invention son solo aspectos ilustrativos de la description detallada de la invention que sigue, pero no limitan el alcance de la invencion.
Efectos ventajosos
De acuerdo con la presente invencion, se puede realizar una intraprediccion de manera eficiente para un bloque objetivo de codificacion/decodificacion.
De acuerdo con la presente invencion, la eficiencia de prediction puede mejorarse derivando una nueva muestra de referencia en modo plano basada en muestras de referencia derivadas previamente.
De acuerdo con la presente invencion, la eficiencia de prediccion puede mejorarse derivando una muestra de prediccion basada en una suma ponderada de una pluralidad de muestras de referencia.
Los efectos obtenibles por la presente invencion no estan limitados a los efectos mencionados anteriormente, y los expertos en la tecnica pueden entender claramente otros efectos no mencionados a partir de la siguiente descripcion.
Descripcion de los dibujos
La figura 1 es un diagrama de bloques que ilustra un dispositivo para codificar un video de acuerdo con una realization 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 un diagrama que ilustra un ejemplo de partition jerarquica de un bloque de codification basado en una estructura de arbol de acuerdo con una realizacion de la presente invencion.
La figura 4 es un diagrama que ilustra un tipo de particion en el que se permite la particion basada en arbol binario de acuerdo con una realizacion de la presente invencion.
La figura 5 es un diagrama que ilustra un ejemplo en el que solo se permite una particion basada en arbol binario de un tipo predeterminado de acuerdo con una realizacion de la presente invencion.
La figura 6 es un diagrama para explicar un ejemplo en el que la information relacionada con el numero permitido de particion de arbol binario se codifica/decodifica, de acuerdo con una realizacion a la que se aplica la presente invencion.
La figura 7 es un diagrama que ilustra un modo de particion aplicable a un bloque de codificacion de acuerdo con una realizacion de la presente invencion.
La figura 8 es un diagrama que ilustra tipos de modos de intraprediccion predefinidos para un dispositivo para codificar/decodificar un video de acuerdo con una realization de la presente invention.
La figura 9 es un diagrama que ilustra un tipo de modos de intraprediccion extendida de acuerdo con una realizacion de la presente invencion.
La figura 10 es un diagrama de flujo que ilustra brevemente un procedimiento de intraprediccion de acuerdo con una realizacion de la presente invencion.
La figura 11 es un diagrama que ilustra un procedimiento de correction de una muestra de prediction de un bloque actual en base a information diferencial de muestras vecinas de acuerdo con una realizacion de la presente invencion.
Las figuras 12 y 13 son diagramas que ilustran un metodo para corregir una muestra de prediccion en base a un filtro de correccion predeterminado de acuerdo con una realizacion de la presente invencion.
La figura 14 muestra un rango de muestras de referencia para intraprediccion de acuerdo con una realizacion a la que se aplica la presente invencion.
Las figuras 15 a 17 ilustra un ejemplo de filtrado en muestras de referencia de acuerdo con una realizacion de la presente invencion.
La figura 18 es un diagrama que muestra un ejemplo de derivar una muestra de referencia derecha o una muestra de referencia inferior utilizando una pluralidad de muestras de referencia.
Las figuras 19 y 20 son diagramas para explicar una determination de una muestra de referencia derecha y una muestra de referencia inferior para un bloque no cuadrado, de acuerdo con una realizacion de la presente invencion.
La figura 21 es un diagrama de flujo que ilustra procesos de obtencion de una muestra residual de acuerdo con una realizacion a la que se aplica la presente invencion.
Modo de realizacion de la invencion
Se puede hacer una variedad de modificaciones a la presente invencion y existen varias realizaciones de la presente invencion, cuyos ejemplos se proporcionaran ahora con referencia a los dibujos y se describiran con detalle. Sin embargo, la presente invencion no se limita a esto, y las realizaciones ejemplares pueden interpretarse como 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 se refieren al elemento similar, descrito en los dibujos.
Los terminos utilizados en la memoria, "primero", "segundo", etc. se pueden usar para describir varios componentes, pero los componentes no deben considerarse como limitados a los terminos. Los terminos solo se utilizan para distinguir un componente de otro componente. Por ejemplo, el "primer" componente puede denominarse el "segundo" componente sin apartarse del alcance de la presente invention, y el "segundo" componente tambien puede denominarse de manera similar el "primer" componente. El termino 'y/o' incluye una fusion de una pluralidad de elementos o cualquiera de una pluralidad de terminos.
Se entendera que cuando se hace referencia simplemente a un elemento como 'conectado a' o 'acoplado a' otro elemento sin estar 'directamente conectado a' o 'directamente acoplado a' otro elemento en la presente description, puede estar 'directamente conectado a’ o 'directamente acoplado a’ otro elemento o estar conectado o acoplado a otro elemento, teniendo el otro elemento que interviene entre los mismos. En contraste, debe entenderse que cuando se hace referencia a un elemento como "directamente acoplado" o "directamente conectado" a otro elemento, no hay elementos intermedios presentes.
Los terminos utilizados en la presente memoria descriptiva se utilizan simplemente para describir realizaciones particulares, y no pretenden limitar la presente invencion. Una expresion utilizada en singular abarca la expresion del plural, a menos que tenga un significado claramente diferente en el contexto. En la presente memoria, debe entenderse que terminos tales como "incluyendo", "teniendo", etc. pretenden indicar la existencia de las caracteristicas, numeros, etapas, acciones, elementos, partes o combinaciones de los mismos descritos en la memoria, y no pretenden excluir la posibilidad de que puedan existir o agregarse una o mas caracteristicas, numeros, etapas, acciones, elementos, partes o combinaciones de los mismos .
A continuation, describiran realizaciones preferidas de la presente invencion en detalle con referencia a los dibujos adjuntos. En lo sucesivo, los mismos elementos constituyentes en los dibujos se indican con 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 realization de la presente invencion.
Haciendo referencia a la figura 1, el dispositivo 100 para codificar un video puede incluir: un modulo de partition de imagenes 110, modulos de prediction 120 y 125, un modulo de transformation 130, un modulo de cuantificacion 135, un modulo de reorganization 160, un modulo de codification de entropia 165, un modulo de cuantificacion inversa 140, un modulo de transformation inversa 145, un modulo de filtro 150 y una memoria 155.
Las partes constitutivas mostradas en la figura 1 se muestran de forma independiente para representar funciones caracteristicas diferentes entre s^ en el dispositivo para codificar un video. Por lo tanto, no significa que cada parte constitutiva este constituida en una unidad constitutiva de hardware o software separado. En otras palabras, cada parte constitutiva incluye cada una de las partes constitutivas enumeradas por conveniencia. Por lo tanto, al menos dos partes constitutivas de cada parte constitutiva pueden combinarse para formar una parte constitutiva o una parte constitutiva puede dividirse en una pluralidad de partes constitutivas para realizar cada funcion. La realization en la que se combina cada parte constitutiva y la realization en la que se divide una parte constitutiva tambien se incluyen en el alcance de la presente invention, si no se apartan de la esencia de la presente invention.
Ademas, algunos de los constituyentes pueden no ser constituyentes indispensables que realizan funciones esenciales de la presente invencion, sino que pueden ser constituyentes selectivos que mejoran solo el rendimiento de los mismos. La presente invencion puede implementarse incluyendo solo las partes constitutivas indispensables para implementar la esencia de la presente invencion, excepto los constituyentes utilizados para mejorar el rendimiento. La estructura que incluye solo los constituyentes indispensables, excepto los constituyentes selectivos utilizados para mejorar solo el rendimiento, tambien se incluye en el alcance de la presente invencion.
El modulo de partition de imagenes 110 puede dividir una imagen de entrada en una o mas unidades de procesamiento. Aqui, la unidad de procesamiento puede ser una unidad de prediction (PU), una unidad de transformacion (TU) o una unidad de codification (CU). El modulo de particion de imagenes 110 puede dividir una imagen en combinaciones de multiples unidades de codificacion, unidades de prediccion y unidades de transformacion, y puede codificar una imagen seleccionando una fusion de unidades de codificacion, unidades de prediccion y unidades de transformacion con un criterio predeterminado (por ejemplo, en funcion del coste).
Por ejemplo, una imagen puede dividirse en varias unidades de codificacion. Se puede usar una estructura de arbol recursiva, tal como una estructura de arbol cuadruple, para dividir una imagen en unidades de codificacion. Una unidad de codificacion que se divide en otras unidades de codificacion con una imagen o una unidad de codificacion mayor como una raiz puede particionarse con nodos secundarios correspondientes al numero de unidades de codificacion particionadas.
Una unidad de codificacion que ya no esta particionada por una limitation predeterminada sirve como un nodo de hoja. Es dedr, cuando se supone que solo es posible una partition cuadrada para una unidad de codificacion, una unidad de codificacion se puede dividir como maximo en otras cuatro unidades de codificacion.
De aqu en adelante, en la realization de la presente invention, la unidad de codificacion puede significar una unidad que realiza la codificacion, o una unidad que realiza la decodificacion.
Una unidad de prediction puede ser una de las particiones divididas en una forma cuadrada o rectangular que tiene el mismo tamano en una sola unidad de codificacion, o una unidad de prediccion puede ser una de las particiones particionadas para tener una forma/tamano diferente en una sola unidad de codificacion.
Cuando se genera una unidad de prediccion sometida a intraprediccion basada en una unidad de codificacion y la unidad de codificacion no es la unidad de codificacion mas pequena, la intraprediccion puede realizarse sin dividir la unidad de codificacion en multiples unidades de prediccion NxN.
Los modulos de prediccion 120 y 125 pueden incluir un modulo de interprediccion 120 que realiza la interprediccion y un modulo de intraprediccion 125 que realiza la intraprediccion. Se puede determinar si realizar la interprediccion o la intraprediccion para la unidad de prediccion, y la information detallada (por ejemplo, un modo de intraprediccion, un vector de movimiento, una imagen de referencia, etc.) segun cada procedimiento de prediccion. Aqui, la unidad de procesamiento sujeta a prediccion puede ser diferente de la unidad de procesamiento para la cual se determina el procedimiento de prediccion y el contenido detallado. Por ejemplo, el procedimiento de prediccion, el modo de prediccion, etc. pueden estar determinados por la unidad de prediccion, y la unidad de transformation puede realizar la prediccion. Se puede ingresar un valor residual (bloque residual) entre el bloque de prediccion generado y un bloque original al modulo de transformacion 130. Ademas, la informacion del modo de prediccion, la informacion del vector de movimiento, etc. utilizada para la prediccion puede codificarse con el valor residual mediante el modulo de codificacion de entropia 165 y puede 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 original tal como es sin generar el bloque de prediccion a traves de los modulos de prediccion 120 y 125.
El modulo de interprediccion 120 puede predecir la unidad de prediccion basandose en la information de al menos una de una imagen anterior o una imagen posterior de la imagen actual, o puede predecir la unidad de prediction basandose en la informacion de algunas regiones codificadas en la imagen actual, en algunos casos. El modulo de interprediccion 120 puede incluir un modulo de interpolation de imagenes de referencia, un modulo de prediccion de movimiento y un modulo de compensation de movimiento.
El modulo de interpolacion de imagenes de referencia puede recibir informacion de imagenes de referencia desde la memoria 155 y puede generar informacion de pixeles de un pixel entero o menos que el pixel entero de la imagen de referencia. En el caso de pixeles de luz, se puede usar un filtro de interpolacion basado en DCT de 8 derivaciones con diferentes coeficientes de filtro para generar informacion de pixeles de un pixel entero o menor que un pixel entero en unidades de 1/4 de pixel. En el caso de senales cromaticas, se puede usar un filtro de interpolacion basado en DCT de 4 derivaciones que tiene un coeficiente de filtro diferente para generar informacion de pixeles de un pixel entero o menos de un pixel entero en unidades de 1/8 de pixel.
El modulo de prediccion de movimiento puede realizar la prediccion de movimiento basandose en la imagen de referencia interpolada por el modulo de interpolacion de imagen de referencia. Como procedimientos para calcular un vector de movimiento, se pueden utilizar varios procedimientos, tal como un algoritmo de coincidencia de bloques basado en busqueda completa (FBMA), una busqueda en tres etapas (TSS), un nuevo algoritmo de busqueda en tres etapas (NTS), etc. El vector de movimiento puede tener un valor de vector de movimiento en unidades de 1/2 pixel o 1/4 de pixel basado en un pixel interpolado. El modulo de prediccion de movimiento puede predecir una unidad de prediccion actual cambiando el procedimiento de prediccion de movimiento. Como procedimientos de prediccion de movimiento se pueden utilizar varios procedimientos, tal como el procedimiento de omision, el procedimiento de fusion, el procedimiento AMVP (Prediccion avanzada de vectores de movimiento), el procedimiento de copia de intrabloque, etc.
El modulo de intraprediccion 125 puede generar una unidad de prediccion basada en informacion de pixeles de referencia adyacente a un bloque actual que es informacion de pixeles en la imagen actual. Cuando el bloque vecino de la unidad de prediccion actual es un bloque sometido a interprediccion y, por lo tanto, un pixel de referencia es un pixel sometido a interprediccion, el pixel de referencia incluido en el bloque sometido a interprediccion puede ser reemplazado por informacion de pixeles de referencia de un bloque vecino sujeto a intraprediccion. Es dedr, cuando un pixel de referencia no esta disponible, se puede usar al menos un pixel de referencia de pixeles de referencia disponibles en lugar de information de pixeles de referencia no disponible.
Los modos de prediction en intraprediccion pueden incluir un modo de prediction direccional que usa informacion de pixeles de referencia dependiendo de la direction de la prediccion y un modo de prediccion no direccional que no usa informacion direccional para realizar la prediccion. Un modo para predecir la informacion de luminancia puede ser diferente de un modo para predecir la informacion de crominancia, y para predecir la informacion de crominancia se puede utilizar la informacion de modo de intraprediccion utilizada para predecir la informacion de luminancia o la informacion de senal de luminancia predicha.
Al realizar la intraprediccion, cuando el tamano de la unidad de prediccion es el mismo que el tamano de la unidad de transformation, la intraprediccion se puede realizar en la unidad de prediccion en funcion de los pixeles situados en la izquierda, la parte superior izquierda y la parte superior de la unidad de prediccion. Sin embargo, al realizar la intraprediccion, cuando el tamano de la unidad de prediccion es diferente del tamano de la unidad de transformacion, la intraprediccion puede realizarse utilizando un pixel de referencia basado en la unidad de transformacion. Ademas, la intraprediccion utilizando una partition NxN puede usarse solo para la unidad de codification mas pequena.
En el procedimiento de intraprediccion, se puede generar un bloque de prediccion despues de aplicar un filtro AIS (alisado intra adaptativo) a un pixel de referencia en funcion de los modos de prediccion. El tipo de filtro AIS aplicado al pixel de referencia puede variar. Para realizar el procedimiento de intraprediccion, se puede predecir un modo de intraprediccion de la unidad de prediccion actual a partir del modo de intraprediccion de la unidad de prediccion adyacente a la unidad de prediccion actual. En la prediccion del modo de prediccion de la unidad de prediccion actual mediante el uso de informacion de modo predicha desde la unidad de prediccion vecina, cuando el modo de intraprediccion de la unidad de prediccion actual es el mismo que el modo de intraprediccion de la unidad de prediccion vecina, la informacion indica que los modos de prediccion de la unidad de prediccion actual y la unidad de prediccion vecina son iguales entre si pueden transmitirse usando informacion de senalizacion predeterminada. Cuando el modo de prediccion de la unidad de prediccion actual es diferente del modo de prediccion de la unidad de prediction vecina, se puede realizar la codification de entrop^a para codificar la information del modo de prediccion del bloque actual.
Ademas, un bloque residual que incluye informacion sobre un valor residual que es diferente entre la unidad de prediccion sometida a prediccion y el bloque original de la unidad de prediccion puede generarse basandose en las unidades de prediccion generadas por los modulos de prediccion 120 y 125. El bloque residual generado puede introducirse en el modulo de transformation 130.
El modulo de transformacion 130 puede transformar el bloque residual que incluye la informacion sobre el valor residual entre el bloque original y la unidad de prediccion generada por los modulos de prediccion 120 y 125 mediante el uso de un procedimiento de transformacion, tal como transformada discreta de coseno (DCT), transformada de seno discreta (DST), y KLT. La aplicacion de DCT, DST o KLT para transformar el bloque residual puede determinarse en funcion de la informacion del modo de intraprediccion de la unidad de prediccion utilizada para generar el bloque residual.
El modulo de cuantizacion 135 puede cuantizar los valores transformados en un dominio de frecuencia mediante el modulo de transformacion 130. Los coeficientes de cuantificacion pueden variar segun el bloque o la importancia de una imagen. Los valores calculados por el modulo de cuantificacion 135 pueden proporcionarse al modulo de cuantizacion inversa 140 y al modulo de reorganization 160.
El modulo de reorganizacion 160 puede reorganizar los coeficientes de los valores residuales cuantificados.
El modulo de reorganizacion 160 puede cambiar un coeficiente en forma de un bloque bidimensional en un coeficiente en forma de un vector unidimensional a traves de un procedimiento de exploration de coeficientes. Por ejemplo, el modulo de reorganizacion 160 puede explorar desde un coeficiente DC a un coeficiente en un dominio de alta frecuencia usando un procedimiento de exploracion en zigzag para cambiar los coeficientes para que esten en la forma de vectores unidimensionales. Segun el tamano de la unidad de transformacion y el modo de intraprediccion, la exploracion en direction vertical donde se exploran los coeficientes en forma de bloques bidimensionales en la direccion de la columna o la exploracion en direccion horizontal donde se exploran los coeficientes en forma de bloques bidimensionales, se puede usar la direccion de la fila en lugar de la exploracion en zigzag. Es decir, el procedimiento de exploracion entre zigzag, exploracion en direccion vertical y exploracion en direccion horizontal se puede determinar segun el tamano de la unidad de transformation y el modo de intraprediccion.
El modulo de codification de entrop^a 165 puede realizar la codification de entrop^a basandose en los valores calculados por el modulo de reorganization 160. La codificacion de entropia puede utilizar varios procedimientos de codificacion, por ejemplo, codificacion de Golomb exponencial, codificacion de longitud variable adaptada al contexto (CAVLC) y codificacion de aritmetica binaria adaptada al contexto (CABAC).
El modulo de codificacion de entropia 165 puede codificar una variedad de information, tal como information de coeficiente de valor residual e information de tipo de bloque de la unidad de codificacion, informacion de modo de prediction, informacion de unidad de partition, informacion de unidad de prediccion, informacion de unidad de transformacion, informacion de vector de movimiento, informacion de cuadro de referencia, informacion de interpolation de bloque, informacion de filtrado, etc. del modulo de reorganizacion 160 y los modulos de prediccion 120 y 125.
El modulo de codificacion de entropia 165 puede codificar por entropia los coeficientes de la entrada de la unidad de codificacion del modulo de reorganizacion 160.
El modulo de cuantizacion inversa 140 puede cuantizar inversamente los valores cuantificados por el modulo de cuantificacion 135 y el modulo de transformacion inversa 145 puede transformar inversamente los valores transformados por el modulo de transformacion 130. El valor residual generado por el modulo de cuantizacion inversa 140 y el modulo de transformacion inversa 145 puede combinarse con la unidad de prediccion predicha por un modulo de estimation de movimiento, un modulo de compensation de movimiento y el modulo de intraprediccion de los modulos de prediccion 120 y 125, de manera que se puede generar un bloque reconstruido.
El modulo de filtro 150 puede incluir al menos uno de un filtro de desbloqueo, una unidad de correction de desplazamiento y un filtro de bucle adaptativo (ALF).
El filtro de desbloqueo puede eliminar la distorsion del bloque que se produce debido a los limites entre los bloques en la imagen reconstruida. Para determinar si se debe realizar el desbloqueo, los pixeles incluidos en varias filas o columnas en el bloque pueden ser una base para determinar si se aplica el filtro de desbloqueo al bloque actual. Cuando el filtro de desbloqueo se aplica al bloque, se puede aplicar un filtro fuerte o un filtro debil dependiendo de la fuerza de filtrado de desbloqueo requerida. Ademas, al aplicar el filtro de desbloqueo, el filtrado en direction horizontal y el filtrado en direction vertical pueden procesarse en paralelo.
El modulo de correction de desplazamiento puede corregir el desplazamiento con la imagen original en unidades de un p^xel en la imagen sujeta a desbloqueo. Para realizar la correccion de desplazamiento en una imagen particular, es posible usar un procedimiento para aplicar el desplazamiento en consideration a la information de borde de cada pixel o un procedimiento de partition de pixeles de una imagen en el numero predeterminado de regiones, determinando una region que esta sujeta a realizar un desplazamiento, y aplicar el desplazamiento a la region determinada.
El filtrado de bucle adaptativo (ALF) se puede realizar segun el valor obtenido al comparar la imagen reconstruida filtrada y la imagen original. Los pixeles incluidos en la imagen se pueden dividir en grupos predeterminados, se puede determinar un filtro que se aplicara a cada uno de los grupos y se puede realizar un filtrado individual para cada grupo. La informacion sobre si aplicar ALF y una senal de luminancia puede ser transmitida por unidades de codification (CU). La forma y el coeficiente de filtro de un filtro para ALF pueden variar dependiendo de cada bloque. Ademas, el filtro para ALF en la misma forma (forma fija) puede aplicarse independientemente de las caracteristicas del bloque de destino de la aplicacion.
La memoria 155 puede almacenar el bloque reconstruido o la imagen calculada a traves del modulo de filtro 150. El bloque o imagen reconstruida almacenada pueden proporcionarse a los modulos de prediction 120 y 125 para realizar la interprediccion.
La figura 2 es un diagrama de bloques que ilustra un dispositivo para decodificar un video de acuerdo con una realization de la presente invention.
Haciendo referencia a la figura 2, el dispositivo 200 para decodificar un video puede incluir: un modulo de decodificacion de entropia 210, un modulo de reorganization 215, un modulo de cuantificacion inversa 220, un modulo de transformation inversa 225, modulos de prediccion 230 y 235, un modulo de filtro 240 y una memoria 245.
Cuando se ingresa un flujo de bits de video desde el dispositivo para codificar un video, el flujo de bits de entrada se puede decodificar segun un proceso inverso del dispositivo para codificar un video.
El modulo de decodificacion de entropia 210 puede realizar la decodificacion de entropia de acuerdo con un proceso inverso de codificacion de entropia del modulo de codificacion de entropia del dispositivo para codificar un video. Por ejemplo, segun los procedimientos realizados por el dispositivo para codificar un video, se pueden aplicar varios procedimientos, tal como la codificacion exponencial de Golomb, la codificacion de longitud variable adaptada al contexto (CAVLC) y la codificacion aritmetica binaria adaptada al contexto (CABAC).
El modulo de decodificacion de entropia 210 puede decodificar information sobre la intraprediccion e interprediccion realizada por el dispositivo para codificar un video.
El modulo de reorganization 215 puede realizar una reorganization en la entropia del flujo de bits decodificado por el modulo de decodificacion de entropia 210 en base al procedimiento de reorganizacion utilizado en el dispositivo para codificar un video. El modulo de reorganizacion puede reconstruir y reorganizar los coeficientes en forma de vectores unidimensionales al coeficiente en forma de bloques bidimensionales. El modulo de reorganizacion 215 puede recibir informacion relacionada con la exploration de coeficientes realizado en el dispositivo para codificar un video y puede realizar una reorganizacion a traves de un procedimiento de exploracion inverso de los coeficientes segun el orden de exploracion realizado en el dispositivo para codificar un video.
El modulo de cuantizacion inversa 220 puede realizar una cuantificacion inversa basada en un parametro de cuantificacion recibido desde el dispositivo para codificar un video y los coeficientes reorganizados del bloque.
El modulo de transformation inversa 225 puede realizar la transformation inversa, es decir, DCT inversa, DST inversa y KLT inversa, que es el proceso inverso de transformacion, es decir, DCT, DST y KLT, realizada por el modulo de transformacion en el resultado de cuantificacion mediante el dispositivo para codificar un video. La transformacion inversa se puede realizar en funcion de una unidad de transferencia determinada por el dispositivo para codificar un video. El modulo de transformacion inversa 225 del dispositivo para decodificar un video puede realizar esquemas de transformacion selectivamente (por ejemplo, DCT, DST y KLT) dependiendo de multiples datos, como el procedimiento de prediction, el tamano del bloque actual, la direction de prediccion, etc.
Los modulos de prediccion 230 y 235 pueden generar un bloque de prediccion basado en informacion sobre la generation de bloque de prediccion recibida desde el modulo de decodificacion de entropia 210 y la informacion de imagen o bloque previamente decodificada recibida desde la memoria 245.
Como se describio anteriormente, al igual que la operation del dispositivo para codificar un video, al realizar la intraprediccion, cuando el tamano de la unidad de prediccion es el mismo que el tamano de la unidad de transformacion, la intraprediccion se puede realizar en la unidad de prediction en funcion de los p^xeles situados en la izquierda, la parte superior izquierda y la parte superior de la unidad de prediccion. Al realizar la intraprediccion, cuando el tamano de la unidad de prediccion es diferente del tamano de la unidad de transformation, la intraprediccion puede realizarse utilizando un pixel de referencia basado en la unidad de transformacion. Ademas, la intraprediccion utilizando una partition NxN puede usarse solo para la unidad de codification mas pequena.
Los modulos de prediccion 230 y 235 pueden incluir un modulo de determination de unidad de prediccion, un modulo de interprediccion y un modulo de intraprediccion. El modulo de determinacion de la unidad de prediccion puede recibir una variedad de information, tal como information de la unidad de prediccion, information del modo de prediccion de un procedimiento de intraprediccion, informacion sobre la prediccion de movimiento de un procedimiento de interprediccion, etc. Desde el modulo de descodificacion de entropia 210, puede dividir una unidad de codificacion actual en unidades de prediccion, y puede determinar si la interprediccion o intraprediccion se realiza en la unidad de prediccion. Al utilizar la informacion requerida en la interprediccion de la unidad de prediccion actual recibida del dispositivo para codificar un video, el modulo de interprediccion 230 puede realizar la interprediccion en la unidad de prediccion actual segun la informacion de al menos una imagen anterior o una imagen posterior de la imagen actual, incluyendo la unidad de prediccion actual. Alternativamente, la interprediccion se puede realizar en base a la informacion de algunas regiones prereconstruidas en la imagen actual, incluida la unidad de prediccion actual.
Para realizar la interprediccion, se puede determinar para la unidad de codificacion cual de un modo de salto, un modo de fusion, un modo AMVP y un modo de copia entre bloques se utiliza como procedimiento de prediccion de movimiento de la unidad de prediccion incluida en la unidad de codificacion.
El modulo de intraprediccion 235 puede generar un bloque de prediccion basado en informacion de pixeles en la imagen actual. Cuando la unidad de prediccion es una unidad de prediccion sujeta a intraprediccion, la intraprediccion puede realizarse en base a la informacion del modo de intraprediccion de la unidad de prediccion recibida desde el dispositivo para codificar un video. El modulo de intraprediccion 235 puede incluir un filtro de suavizado intra adaptativo (AIS), un modulo de interpolation de pixeles de referencia y un filtro de CC. El filtro AIS realiza el filtrado en el pixel de referencia del bloque actual, y la aplicacion del filtro puede determinate segun el modo de prediction de la unidad de prediction actual. El filtrado AIS se puede realizar en el pixel de referencia del bloque actual utilizando el modo de prediccion de la unidad de prediccion y la information del filtro AIS recibida desde el dispositivo para codificar un video. Cuando el modo de prediccion del bloque actual es un modo en el que no se realiza el filtrado AIS, el filtro AIS puede no aplicarse.
Cuando el modo de prediccion de la unidad de prediccion es un modo de prediccion en el que la intraprediccion se realiza en funcion del valor de pixel obtenido al interpolar el pixel de referencia, el modulo de interpolation de pixeles de referencia puede interpolar el pixel de referencia para generar el pixel de referencia de un pixel entero o menos 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 no puede ser interpolado. El filtro de CC puede generar un bloque de prediccion a traves del filtrado cuando el modo de prediccion del bloque actual es un modo de CC.
El bloque o la imagen reconstruidos pueden proporcionarse al modulo de filtro 240. El modulo de filtro 240 puede incluir el filtro de desbloqueo, el modulo de correction de desplazamiento y el ALF.
La informacion sobre si el filtro de desbloqueo se aplica o no al bloque o imagen correspondiente, y la informacion sobre cual de los filtros fuertes y debiles 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 del dispositivo para codificar un video, y puede realizar un filtrado de desbloqueo en el bloque correspondiente.
El modulo de correccion de desplazamiento puede realizar la correccion de desplazamiento en la imagen reconstruida basandose en el tipo de correccion de desplazamiento y la informacion del valor de desplazamiento aplicada a una imagen al realizar la codification.
El ALF se puede aplicar a la unidad de codificacion en funcion de la informacion sobre si se debe aplicar el ALF, la informacion del coeficiente de ALF, etc., recibida desde el dispositivo para codificar un video. La informacion ALF puede proporcionarse como incluida en un conjunto de parametros particular.
La memoria 245 puede almacenar la imagen o bloque reconstruido para usar como imagen o bloque de referencia y puede proporcionar la imagen reconstruida a un modulo de salida.
Como se describio anteriormente, en la realization de la presente invention, por conveniencia de explication, la unidad de codification se usa como un termino que representa una unidad para la codificacion, pero la unidad de codificacion puede servir como una unidad que realiza la decodificacion, asi como la codificacion.
Ademas, un bloque actual puede representar un bloque objetivo para ser codificado/decodificado. Y, el bloque actual puede representar un bloque de arbol de codificacion (o una unidad de arbol de codificacion), un bloque de codificacion (o una unidad de codificacion), un bloque de transformation (o una unidad de transformation), un bloque de prediction (o una unidad de prediction), o similares, dependiendo de una etapa de codificacion/decodificacion.
Una imagen puede codificarse/decodificarse dividiendose en bloques de base que tienen una forma cuadrada o una forma no cuadrada. En este momento, se puede hacer referencia al bloque base como una unidad de arbol de codificacion. La unidad de arbol de codificacion se puede definir como una unidad de codificacion del tamano mas grande permitido dentro de una secuencia o un segmento. La information sobre si la unidad de arbol de codificacion tiene una forma cuadrada o si tiene una forma no cuadrada o la informacion sobre el tamano de la unidad del arbol de codificacion se puede senalar a traves de un conjunto de parametros de secuencia, un conjunto de parametros de imagen o un encabezado de segmento. La unidad del arbol de codificacion se puede dividir en particiones de menor tamano. En este momento, si se supone que la profundidad de una partition generada al dividir la unidad de arbol de codificacion es 1, la profundidad de una particion generada al dividir la particion que tiene la profundidad 1 se puede definir como 2. Es decir, una particion generada al dividir una particion que tiene una profundidad k en la unidad de arbol de codificacion puede definirse como que tiene una profundidad k+1.
Una particion de tamano arbitrario generada al dividir una unidad de arbol de codificacion puede definirse como una unidad de codificacion. La unidad de codificacion puede dividirse recursivamente o dividirse en unidades de base para realizar prediccion, cuantificacion, transformacion o filtrado en bucle, y similares. Por ejemplo, una particion de tamano arbitrario generada al dividir la unidad de codificacion se puede definir como una unidad de codificacion, o se puede definir como una unidad de transformacion o una unidad de prediccion, que es una unidad base para realizar la prediccion, cuantificacion, transformacion o filtrado en bucle y similares.
La particion de una unidad de arbol de codificacion o una unidad de codificacion se puede realizar en base a al menos una de una lmea vertical y una lmea horizontal. Ademas, el numero de lmeas verticales o lmeas horizontales que dividen la unidad de arbol de codificacion o la unidad de codificacion puede ser al menos una o mas. Por ejemplo, la unidad del arbol de codificacion o la unidad de codificacion se puede dividir en dos particiones usando una lmea vertical o una lmea horizontal, o la unidad del arbol de codificacion o la unidad de codificacion se puede dividir en tres particiones usando dos lmeas verticales o dos lmeas horizontales. Alternativamente, la unidad del arbol de codificacion o la unidad de codificacion se pueden dividir en cuatro particiones que tienen una longitud y una anchura de 1/2 utilizando una lmea vertical y una lmea horizontal.
Cuando una unidad de arbol de codificacion o una unidad de codificacion se divide en una pluralidad de particiones utilizando al menos una lmea vertical o al menos una lmea horizontal, las particiones pueden tener un tamano uniforme o un tamano diferente. Alternativamente, cualquier partition puede tener un tamano diferente de las particiones restantes.
En las realizaciones descritas a continuation, se supone que una unidad de arbol de codificacion o una unidad de codificacion se divide en una estructura de arbol cuadruple o una estructura de arbol binario. Sin embargo, tambien es posible dividir una unidad de arbol de codificacion o una unidad de codificacion utilizando un numero mayor de lmeas verticales o un numero mayor de lmeas horizontales.
La figura 3 es un diagrama que ilustra un ejemplo de particion jerarquica de un bloque de codificacion basado en una estructura de arbol de acuerdo con una realization de la presente invention.
Una senal de video de entrada se decodifica en unidades de bloque predeterminadas. Tal unidad predeterminada para decodificar la senal de entrada de video es un bloque de codificacion. El bloque de codificacion puede ser una unidad que realiza prediction, transformation y cuantificacion intra/inter. Ademas, un modo de prediction (por ejemplo, modo de intraprediccion o modo de interprediccion) se determina en unidades de un bloque de codificacion, y los bloques de prediccion incluidos en el bloque de codificacion pueden compartir el modo de prediccion determinado. El bloque de codificacion puede ser un bloque cuadrado o no cuadrado que tenga un tamano arbitrario en un rango de 8x8 a 64x64, o puede ser un bloque cuadrado o no cuadrado que tenga un tamano de 128x128, 256x256 o mas.
Espedficamente, el bloque de codificacion se puede dividir jerarquicamente en funcion de al menos uno de un arbol cuadruple y un arbol binario. Aqti, la particion basada en arbol cuadruple puede significar que un bloque de codificacion 2Nx2N se divide en cuatro bloques de codificacion NxN, y la partition basada en arbol binario puede significar que un bloque de codificacion se divide en dos bloques de codificacion. Incluso si se realiza la particion basada en arbol binario, puede existir un bloque de codificacion de forma cuadrada en la profundidad inferior.
La particion basada en arboles binarios se puede realizar de manera simetrica o asimetrica. El bloque de codificacion dividido en funcion del arbol binario puede ser un bloque cuadrado o un bloque no cuadrado, tal como una forma rectangular. Por ejemplo, un tipo de particion en el que se permite la particion basada en arbol binario puede comprender al menos uno de un tipo simetrico de 2NxN (unidad de codificacion no cuadrada direccional horizontal) o Nx2N (unidad de codificacion no cuadrada de direction vertical), tipo asimetrico de nLx2N, nRx2N, 2NxnU o 2NxnD.
La particion basada en arbol binario se puede permitir de forma limitada a una particion de tipo simetrico o asimetrico. En este caso, la construction de la unidad del arbol de codificacion con bloques cuadrados puede corresponder a la particion CU de arbol cuadruple, y la construccion de la unidad del arbol de codificacion con bloques simetricos no cuadrados puede corresponder a la division de arbol binario. La construccion de la unidad de arbol de codificacion con bloques cuadrados y bloques no cuadrados simetricos puede corresponder a la particion CU de arbol cuadruple y binario.
La particion basada en arbol binario se puede realizar en un bloque de codificacion donde ya no se realiza la particion basada en arbol cuadruple. La particion basada en arbol cuadruple ya no se puede realizar en el bloque de codificacion particionado en base al arbol binario.
Ademas, la particion de una profundidad inferior se puede determinar segun el tipo de particion de una profundidad superior. Por ejemplo, si se permite la particion basada en arbol binario en dos o mas profundidades, solo se puede permitir el mismo tipo que la particion de arbol binario de la profundidad superior en la profundidad inferior. Por ejemplo, si la particion basada en arbol binario en la profundidad superior se realiza con el tipo 2NxN, la particion basada en arbol binario en la profundidad inferior tambien se realiza con el tipo 2NxN. Alternativamente, si la particion basada en arbol binario en la profundidad superior se realiza con el tipo Nx2N, la particion basada en arbol binario en la profundidad inferior tambien se realiza con el tipo Nx2N.
Por el contrario, tambien es posible permitir, en una profundidad mas baja, solo un tipo diferente de un tipo de particion de arbol binario de una profundidad superior.
Puede ser posible limitar solo un tipo espedfico de particion basada en arbol binario para ser usada para secuencia, segmento, unidad de arbol de codificacion o unidad de codificacion. Como ejemplo, solo se puede permitir el tipo 2NxN o el tipo Nx2N de particion basada en arbol binario para la unidad de arbol de codificacion. Un tipo de particion disponible puede estar predefinida en un codificador o un decodificador. O la informacion sobre el tipo de particion disponible o sobre el tipo de particion no disponible puede codificarse y luego enviarse a traves de un flujo de bits.
La figura 5 es un diagrama que ilustra un ejemplo en el que solo se permite un tipo espedfico de particion basada en arbol binario. La figura 5A muestra un ejemplo en el que solo se permite el tipo Nx2N de particion basada en arbol binario, y la figura 5B muestra un ejemplo en el que solo se permite el tipo 2NxN de particion basada en arbol binario. Para implementar la particion adaptativa basada en el arbol cuadruple o arbol binario, se puede usar la informacion que indica la particion basada en arbol cuadruple, la informacion sobre el tamano/profundidad del bloque de codificacion que la particion basada en arbol cuadruple permite, la informacion que indica la particion basada en arbol binario, la informacion sobre el tamano/profundidad del bloque de codificacion que permite la particion basada en arbol binario, la informacion sobre el tamano/profundidad del bloque de codificacion en la que no se permite la particion basada en arbol binario, la informacion sobre si la particion basada en arbol binario se realiza en una direccion vertical o una direccion horizontal, etc.
Ademas, se puede obtener informacion sobre el numero de veces que se permite una particion de arbol binario, una profundidad a la que se permite la particion de arbol binario, o el numero de las profundidades a las que se permite la particion de arbol binario para una unidad de arbol de codificacion o una unidad de codificacion espedfica. La informacion puede codificarse en unidades de una unidad de arbol de codificacion o una unidad de codificacion, y puede transmitirse a un decodificador a traves de un flujo de bits.
Por ejemplo, una sintaxis 'max_binary_depth_idx_minus1' que indica una profundidad maxima a la que se permite la particion del arbol binario puede codificarse/decodificarse a traves de un flujo de bits. En este caso, max_binary_depth_idx_minus1 1 puede indicar la profundidad maxima a la que se permite la particion del arbol binario.
Con referencia al ejemplo mostrado en la figura 6, en la figura 6, la division del arbol binario se ha realizado para una unidad de codificacion que tiene una profundidad de 2 y una unidad de codificacion que tiene una profundidad de 3. En consecuencia, al menos uno de los datos que indica el numero de veces que se ha realizado la partition del arbol binario en la unidad del arbol de codification (es decir, 2 veces), la information que indica la profundidad maxima a la que se ha permitido la particion del arbol binario en la unidad del arbol de codificacion (es decir, la profundidad 3), o el numero de profundidades en las que se realizo la particion del arbol binario en la unidad del arbol de codificacion (es decir, 2 (profundidad 2 y profundidad 3)) puede codificarse/decodificarse a traves de un flujo de bits.
Como otro ejemplo, al menos uno de los datos sobre el numero de veces que se permite la particion del arbol binario, la profundidad a la que se permite la particion del arbol binario, o el numero de las profundidades a las que se permite la particion del arbol binario se puede obtener para cada secuencia o cada segmento. Por ejemplo, la informacion se puede codificar en unidades de una secuencia, una imagen o una unidad de segmento y transmitir a traves de un flujo de bits. En consecuencia, al menos uno de los numeros de la particion del arbol binario en un primer segmento, la profundidad maxima en la que se permite la particion del arbol binario en el primer segmento, o el numero de profundidades en que la particion del arbol binario se realiza en el primer segmento puede ser la diferencia de un segundo segmento. Por ejemplo, en el primer segmento, la particion de arbol binario puede permitirse solo para una profundidad, mientras que, en el segundo segmento, la particion de arbol binario puede permitirse para dos profundidades.
Como otro ejemplo, la cantidad de veces que se permite la particion del arbol binario, la profundidad a la que se permite la particion del arbol binario, o la cantidad de profundidades a las que se permite la particion del arbol binario se puede configurar de manera diferente segun un identificador de nivel de tiempo (TemporallD) de un segmento o una imagen. Aqui, el identificador de nivel temporal (TemporallD) se usa para identificar cada una de una pluralidad de capas de video que tienen una escalabilidad de al menos una de vista, espacial, temporal o de calidad.
Como se muestra en la figura 3, el primer bloque de codificacion 300 con la profundidad de particion (profundidad de segmento) de k puede dividirse en multiples segundos bloques de codificacion basados en el arbol cuadruple. Por ejemplo, los segundos bloques de codificacion 310 a 340 pueden ser bloques cuadrados que tienen la mitad del ancho y la mitad de la altura del primer bloque de codificacion, y la profundidad de particion del segundo bloque de codificacion se puede aumentar a k+1.
El segundo bloque de codificacion 310 con la profundidad de particion de k+1 puede dividirse en multiples terceros bloques de codificacion con la profundidad de particion de k+2. La particion del segundo bloque de codificacion 310 se puede realizar utilizando selectivamente uno de los cuatro arboles y el arbol binario dependiendo de un procedimiento de partition. Aqw, el procedimiento de partition se puede determinar en funcion de al menos una de las informaciones que indican la particion basada en arboles cuadruples y la information que indica la particion basada en arboles binarios.
Cuando el segundo bloque de codification 310 se divide segun el arbol cuadruple, el segundo bloque de codificacion 310 se puede dividir en cuatro terceros bloques de codificacion 310a que tienen la mitad del ancho y la mitad del segundo bloque de codificacion, y la profundidad de particion del tercer bloque de codificacion 310a se puede aumentar a k+2. En contraste, cuando el segundo bloque de codificacion 310 se divide en funcion del arbol binario, el segundo bloque de codificacion 310 se puede dividir en dos terceros bloques de codificacion. Aqui, cada uno de los dos terceros bloques de codificacion puede ser un bloque no cuadrado que tiene un ancho medio y la mitad de la altura del segundo bloque de codificacion, y la profundidad de la particion se puede aumentar a k+2. El segundo bloque de codificacion se puede determinar como un bloque no cuadrado de una direction horizontal o vertical que depende de una direccion de particion, y la direccion de particion se puede determinar segun la informacion sobre si la particion basada en arbol binario se realiza en una direccion vertical o una direccion horizontal.
Mientras tanto, el segundo bloque de codificacion 310 puede determinarse como un bloque de codificacion de hoja que ya no esta particionado en funcion del arbol cuadruple o del arbol binario. En este caso, el bloque de codificacion de hoja se puede usar como un bloque de prediction o un bloque de transformation.
Al igual que la particion del segundo bloque de codificacion 310, el tercer bloque de codificacion 310a puede determinarse como un bloque de codificacion de hoja, o puede dividirse adicionalmente basandose en el arbol cuadruple o el arbol binario.
Mientras tanto, el tercer bloque de codificacion 310b particionado en base al arbol binario puede dividirse adicionalmente en los bloques de codificacion 310b-2 de una direccion vertical o los bloques de codificacion 310b-3 de una direccion horizontal en base al arbol binario, y la profundidad de particion de los bloques de codificacion relevantes se pueden aumentar a k+3. Alternativamente, el tercer bloque de codificacion 310b puede determinarse como un bloque de codificacion de hoja 310b-1 que ya no esta particionado en base al arbol binario. En este caso, el bloque de codificacion 310b-1 puede usarse como un bloque de prediccion o un bloque de transformacion. Sin embargo, el proceso de particion anterior se puede realizar de forma limitada en funcion de al menos una de las informaciones sobre el tamano/profundidad del bloque de codificacion que permite la partition basada en arboles cuadruples, se permite la information sobre el tamano/profundidad del bloque de codificacion de ese arbol binario basada en la particion, y no se permite la informacion sobre el tamano/profundidad del bloque de codificacion de esa particion basada en arbol binario.
Un numero de un candidato que representa un tamano de un bloque de codificacion puede estar limitado a un numero predeterminado, o un tamano de un bloque de codificacion en una unidad predeterminada puede tener un valor fijo. Como ejemplo, el tamano del bloque de codificacion en una secuencia o en una imagen puede limitarse a tener 256x256, 128x128 o 32x32. La informacion que indica el tamano del bloque de codificacion en la secuencia o en la imagen se puede senalar a traves de un encabezado de secuencia o un encabezado de imagen.
Como resultado de la particion basada en un arbol cuadruple y un arbol binario, una unidad de codificacion puede representarse como una forma cuadrada o rectangular de un tamano arbitrario.
Un bloque de codificacion se codifica utilizando al menos uno de los modos de salto, intraprediccion, interprediccion o procedimiento de salto. Una vez que se determina un bloque de codificacion, se puede determinar un bloque de prediction a traves de la particion predictiva del bloque de codificacion. La particion predictiva del bloque de codificacion se puede realizar mediante un modo de particion (Part_modo) que indica un tipo de particion del bloque de codificacion. Un tamano o una forma del bloque de prediccion se puede determinar de acuerdo con el modo de particion del bloque de codificacion. Por ejemplo, un tamano de un bloque de prediccion determinado de acuerdo con el modo de particion puede ser igual o menor que un tamano de un bloque de codificacion.
La figura 7 es un diagrama que ilustra un modo de particion que puede aplicarse a un bloque de codificacion cuando el bloque de codificacion esta codificado por interprediccion.
Cuando un bloque de codificacion se codifica por interprediccion, se puede aplicar uno de los 8 modos de particion al bloque de codificacion, como en el ejemplo mostrado en la figura 4.
Cuando un bloque de codificacion se codifica por intraprediccion, se puede aplicar un modo de particion PART_2Nx2N o un modo de particion PART_NxN al bloque de codificacion.
PART_NxN puede aplicarse cuando un bloque de codificacion tiene un tamano mmimo. Aqw, el tamano mmimo del bloque de codificacion se puede predefinir en un codificador y un decodificador. O bien, la information sobre el tamano mmimo del bloque de codificacion puede ser senalizada a traves de un flujo de bits. Por ejemplo, el tamano mmimo del bloque de codificacion se puede senalar a traves de un encabezado de segmento, de modo que el tamano mmimo del bloque de codificacion se puede definir por segmento.
En general, un bloque de prediction puede tener un tamano de 64^64 a 4x4. Sin embargo, cuando un bloque de codificacion esta codificado por interprediccion, se puede restringir que el bloque de prediccion no tenga un tamano de 4x4 para reducir el ancho de banda de la memoria cuando se realiza la compensation de movimiento.
La figura 8 es un diagrama que ilustra tipos de modos de intraprediccion predefinidos para un dispositivo para codificar/decodificar un video de acuerdo con una realization de la presente invention.
El dispositivo para codificar/decodificar un video puede realizar intraprediccion utilizando uno de los modos de intraprediccion predefinidos. Los modos de intraprediccion predefinidos para la intraprediccion pueden incluir modos de prediccion no direccionales (por ejemplo, un modo plano, un modo DC) y 33 modos de prediccion direccional.
Alternativamente, para mejorar la precision de la intraprediccion, se puede usar un numero mayor de modos de prediccion direccional que los 33 modos de prediccion direccional. Es decir, los modos de prediccion direccional extendida M se pueden definir mediante la subdivision de los angulos de los modos de prediccion direccional (M > 33), y un modo de prediccion direccional que tiene un angulo predeterminado puede derivarse utilizando al menos uno de los 33 modos de prediccion direccional predefinidos.
Un numero mayor de modos de intraprediccion que 35 modos de intraprediccion mostrados en la figura 8 se puede usar. Por ejemplo, se puede usar un numero mayor de modos de intraprediccion que los 35 modos de intraprediccion subdividiendo los angulos de los modos de prediccion direccional o derivando un modo de prediccion direccional que tiene un angulo predeterminado utilizando al menos uno de un numero predefinido de modos de prediccion direccional. En este momento, el uso de un numero mayor de modos de intraprediccion que los 35 modos de intraprediccion puede ser referido como un modo de intraprediccion extendida.
La figura 9 muestra un ejemplo de los modos de intraprediccion extendida, y los modos de intraprediccion extendida pueden incluir dos modos de prediction no direccionales y 65 modos de prediccion direccional extendida. Se pueden usar los mismos numeros de los modos de intraprediccion extendida para un componente de luminancia y un componente de crominancia, o se puede usar un numero diferente de modos de intraprediccion para cada componente. Por ejemplo, se pueden usar 67 modos de intraprediccion extendida para el componente de luminancia, y se pueden usar 35 modos de intraprediccion para el componente de crominancia.
Alternativamente, dependiendo del formato de crominancia, se puede usar un numero diferente de modos de intraprediccion para realizar la intraprediccion. Por ejemplo, en el caso del formato 4:2:0, se pueden usar 67 modos de intraprediccion para que el componente de luminancia realice la intraprediccion y se pueden usar 35 modos de intraprediccion para el componente de crominancia. En el caso del formato 4:4:4, se pueden usar 67 modos de intraprediccion, tanto para el componente de luminancia como para el componente de crominancia para realizar la intraprediccion.
Alternativamente, dependiendo del tamano y/o de la forma del bloque, se puede usar un numero diferente de modos de intraprediccion para realizar la intraprediccion. Es decir, dependiendo del tamano y/o de la forma de la PU o CU, se pueden usar 35 modos de intraprediccion o 67 modos de intraprediccion para realizar la intraprediccion. Por ejemplo, cuando la CU o la PU tienen un tamano inferior a 64x64 o esta dividida asimetricamente, se pueden usar 35 modos de intraprediccion para realizar la intraprediccion. Cuando el tamano de la CU o PU es igual o mayor que 64x64, se pueden usar 67 modos de intraprediccion para realizar la intraprediccion. Se pueden permitir 65 modos de intraprediccion direccional para Intra_2Nx2N, y solo se pueden permitir 35 modos de intraprediccion direccional para Intra_NxN.
El tamano de un bloque al que se aplica el modo de intraprediccion extendida puede configurarse de manera diferente para cada secuencia, imagen o segmento. Por ejemplo, se establece que el modo de intraprediccion extendida se aplica a un bloque (por ejemplo, CU o PU) que tiene un tamano mayor que 64x64 en el primer segmento. Por otro lado, se establece que el modo de intraprediccion extendida se aplica a un bloque que tiene un tamano mayor que 32x32 en el segundo segmento. La information que representa un tamano de un bloque al que se aplica el modo de intraprediccion extendida puede senalizarse en unidades de una secuencia, una imagen o un segmento. Por ejemplo, la informacion que indica el tamano del bloque al que se aplica el modo de intraprediccion extendida puede definirse como 'log2_extended_intra_mode_size_minus4' obtenida al tomar un logaritmo del tamano del bloque y luego restar el numero entero 4. Por ejemplo, si un valor de log2_extended_intra_mode_size_minus4 es 0, puede indicar que el modo de intraprediccion extendida puede aplicarse a un bloque que tenga un tamano igual o mayor que 16x16. Y si un valor de log2_extended_intra_mode_size_minus4 es 1, puede indicar que el modo de intraprediccion extendida puede aplicarse a un bloque que tenga un tamano igual o mayor que 32x32.
Como se describio anteriormente, el numero de modos de intraprediccion puede determinarse considerando al menos uno de un componente de color, un formato de crominancia y un tamano o una forma de un bloque. Ademas, el numero de candidatos de modo de intraprediccion (por ejemplo, el numero de MPM) utilizados para determinar un modo de intraprediccion de un bloque actual para codificar/decodificar tambien se puede determinar de acuerdo con al menos uno de un componente de color, un formato de color, y el tamano o una forma de un bloque. Con los dibujos se describira un metodo para determinar un modo de intraprediccion de un bloque actual para codificar/decodificar y un metodo para realizar una intraprediccion usando el modo de intraprediccion determinado.
La figura 10 es un diagrama de flujo que ilustra brevemente un procedimiento de intraprediccion de acuerdo con una realization de la presente invention.
Haciendo referencia a la figura 10, se puede determinar un modo de intraprediccion del bloque actual en la etapa S1000.
Espedficamente, el modo de intraprediccion del bloque actual puede derivarse en base a una lista de candidatos y un mdice. Aqti, la lista de candidatos contiene multiples candidatos, y los multiples candidatos pueden determinarse en funcion de un modo de intraprediccion del bloque vecino adyacente al bloque actual. El bloque vecino puede incluir al menos uno de los bloques ubicados en la parte superior, la parte inferior, la izquierda, la derecha y la esquina del bloque actual. El mdice puede especificar uno de los multiples candidatos de la lista de candidatos. El candidato especificado por el mdice se puede establecer en el modo de intraprediccion del bloque actual.
Un modo de intraprediccion usado para la intraprediccion en el bloque vecino se puede establecer como candidato. Ademas, un modo de intraprediccion que tiene direccionalidad similar a la del modo de intraprediccion del bloque vecino se puede establecer como candidato. Aqui, el modo de intraprediccion que tiene una direccionalidad similar puede determinarse sumando o restando un valor constante predeterminado a o desde el modo de intraprediccion del bloque vecino. El valor constante predeterminado puede ser un numero entero, tal como uno, dos o mas. La lista de candidatos puede incluir ademas un modo predeterminado. El modo predeterminado puede incluir al menos uno de un modo plano, un modo DC, un modo vertical y un modo horizontal. El modo predeterminado se puede agregar de forma adaptativa teniendo en cuenta el numero maximo de candidatos que se pueden incluir en la lista de candidatos del bloque actual.
El numero maximo de candidatos que se pueden incluir en la lista de candidatos puede ser de tres, cuatro, cinco, seis o mas. El numero maximo de candidatos que pueden incluirse en la lista de candidatos puede ser un valor preestablecido en el dispositivo para codificar/decodificar un video, o puede determinarse de forma variable en funcion de una caracteristica del bloque actual. La caracteristica puede significar la ubicacion/tamano/forma del bloque, el numero/tipo de modos de intraprediccion que puede usar el bloque, un tipo de color, un formato de color, etc. Alternativamente, information que indique el numero maximo de candidatos que pueden incluirse en la lista de candidatos puede senalarse por separado, y el numero maximo de candidatos que pueden incluirse en la lista de candidatos puede determinarse de forma variable utilizando la informacion. La informacion que indica el numero maximo de candidatos se puede senalar en al menos uno de un nivel de secuencia, un nivel de imagen, un nivel de segmento y un nivel de bloque.
Cuando se utilizan selectivamente los modos de intraprediccion extendida y los modos de intraprediccion predefinidos, los modos de intraprediccion de los bloques vecinos pueden transformarse en indices correspondientes a los modos de intraprediccion extendida, o en indices correspondientes a los modos de intraprediccion 35, por lo que se pueden derivar candidatos. Para la transformation a un mdice, se puede usar una tabla predefinida, o se puede usar una operation de escala basada en un valor predeterminado. Aqui, la tabla predefinida puede definir una relation de mapeo entre diferentes grupos de modos de intraprediccion (por ejemplo, modos de intraprediccion extendida y 35 modos de intraprediccion).
Por ejemplo, cuando el bloque vecino izquierdo utiliza los 35 modos de intraprediccion y el modo intraprediccion del bloque vecino izquierdo es 10 (un modo horizontal), se puede transformar en un mdice de 16 correspondiente a un modo horizontal en los modos de intraprediccion extendida.
Alternativamente, cuando el bloque vecino superior utiliza los modos de intraprediccion extendida y el modo de intraprediccion, el bloque vecino superior tiene un mdice de 50 (un modo vertical), se puede transformar en un mdice de 26 correspondiente a un modo vertical en los 35 modos de intraprediccion.
Basandose en el metodo descrito anteriormente para determinar el modo de intraprediccion, el modo de intraprediccion puede derivarse independientemente para cada componente de la luminancia y el componente de crominancia, o el modo de intraprediccion del componente de crominancia puede derivarse dependiendo del modo de intraprediccion del componente de luminancia.
Espedficamente, el modo de intraprediccion del componente de crominancia se puede determinar en funcion del modo de intraprediccion del componente de luminancia como se muestra en la siguiente Tabla 1.
T l 11
Figure imgf000029_0001
En la Tabla 1, intra_chroma_pred_mode significa informacion senalizada para especificar el modo de intraprediccion del componente crominancia, e IntraPredModeY indica el modo de intraprediccion del componente de luminancia.
Con referencia a la figura 10, se puede derivar una muestra de referencia para la intraprediccion del bloque actual en la etapa S1010.
Espedficamente, una muestra de referencia para la intraprediccion puede derivarse en base a 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 muestra de referencia, y una muestra vecina filtrada en base a un filtro interno predeterminado puede usarse como muestra de referencia. El filtrado de muestras vecinas utilizando un filtro intra tambien se puede denominar suavizado de muestras de referencia. El filtro intra puede incluir al menos uno de los primeros filtros intra aplicados a multiples muestras vecinas ubicadas en la misma lmea horizontal y el segundo filtro intra aplicado a multiples muestras vecinas ubicadas en la misma lmea vertical. Dependiendo de las posiciones de las muestras vecinas, uno del primer filtro intra y el segundo filtro intra puede aplicarse selectivamente, o pueden aplicarse ambos filtros intra. En este momento, al menos un coeficiente de filtro del primer filtro intra o el segundo filtro intra puede ser (1, 2, 1), pero no esta limitado al mismo.
El filtrado se puede realizar adaptativamente en funcion de al menos uno de los modos de intraprediccion del bloque actual y el tamano del bloque de transformation para el bloque actual. Por ejemplo, cuando el modo de intraprediccion del bloque actual es el modo DC, el modo vertical o el modo horizontal, es posible que no se realice el filtrado. Cuando el tamano del bloque de transformacion es NxM, no se puede realizar el filtrado. Aqui, N y M pueden ser los mismos valores o valores diferentes, o pueden ser valores de 4, 8, 16 o mas. Por ejemplo, si el tamano del bloque de transformacion es 4x4, no se puede realizar el filtrado. Alternativamente, el filtrado puede realizarse de forma selectiva en funcion del resultado de una comparacion de un umbral predefinido y la diferencia entre el modo de intraprediccion del bloque actual y el modo vertical (o el modo horizontal). Por ejemplo, cuando la diferencia entre el modo de intraprediccion del bloque actual y el modo vertical es mayor que un umbral, se puede realizar el filtrado. El umbral se puede definir para cada tamano del bloque de transformacion como se muestra en la Tabla 2.
Figure imgf000030_0001
El filtro interno se puede determinar como uno de los multiples candidatos de filtro interno predefinidos en el dispositivo para codificar/decodificar un video. Para este fin, se puede senalar un mdice que especifique un filtro interno del bloque actual entre los candidatos multiples de filtro interno. Alternativamente, el filtro intra puede determinarse en funcion de al menos uno de los tamanos/formas del bloque actual, el tamano/formas del bloque de transformacion, la information sobre la intensidad del filtro y las variaciones de las muestras vecinas.
Haciendo referencia a la figura 10, la intraprediccion puede realizarse utilizando el modo de intraprediccion del bloque actual y la muestra de referencia en la etapa S1020.
Es decir, la muestra de prediction del bloque actual puede obtenerse utilizando el modo de intraprediccion determinado en la etapa S1000 y la muestra de referencia derivada en la etapa S1010. Sin embargo, en el caso de la intraprediccion, se puede usar una muestra delimitadora del bloque vecino y, por lo tanto, la calidad de la imagen de prediction puede disminuir. Por lo tanto, se puede realizar un proceso de correction en la muestra de prediccion generada a traves del proceso de prediccion descrito anteriormente, y se describira en detalle con referencia a las figuras 11 a 13. Sin embargo, el proceso de correccion no se limita a aplicarse solo a la muestra de intraprediccion, y puede aplicarse a una muestra de interprediccion o la muestra reconstruida.
La figura 11 es un diagrama que ilustra un procedimiento de correccion de una muestra de prediccion de un bloque actual en base a information diferencial de muestras vecinas de acuerdo con una realization de la presente invention.
La muestra de prediccion del bloque actual puede corregirse basandose en la informacion diferencial de multiples muestras vecinas para el bloque actual. La correccion se puede realizar en todas las muestras de prediccion en el bloque actual, o se puede realizar en muestras de prediccion en regiones parciales predeterminadas. Las regiones parciales pueden ser una fila/columna o multiples filas/columnas, y estas pueden ser regiones preestablecidas para la correccion en el dispositivo para codificar/decodificar un video. Por ejemplo, la correccion puede realizarse en una fila/columna ubicada en un limite del bloque actual o puede realizarse en una pluralidad de filas/columnas desde un limite del bloque actual. Alternativamente, las regiones parciales se pueden determinar de forma variable en funcion de al menos uno de los tamanos/formas del bloque actual y el modo de intraprediccion.
Las muestras vecinas pueden pertenecer a los bloques vecinos situados en la parte superior, izquierda y en la esquina superior izquierda del bloque actual. El numero de muestras vecinas utilizadas para la correccion puede ser dos, tres, cuatro o mas. Las posiciones de las muestras vecinas pueden determinarse de manera variable dependiendo de la position de la muestra de prediccion que es el objetivo de correccion en el bloque actual. Alternativamente, algunas de las muestras vecinas pueden tener posiciones fijas independientemente de la posicion de la muestra de prediccion que es el objetivo de correccion, y las muestras vecinas restantes pueden tener posiciones variables dependiendo 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 al escalar la muestra diferencial por un valor constante predeterminado (por ejemplo, uno, dos, tres, etc.). Aqui, el valor constante predeterminado se puede determinar considerando la posicion de la muestra de prediction que es el objetivo de correction, 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 intraprediccion del bloque actual es el modo vertical, las muestras diferenciales entre la muestra vecina superior izquierda p (-1, -1) y las muestras vecinas p (-1, y) adyacentes al limite izquierdo del bloque actual se puede usar para obtener la muestra de prediccion final como se muestra en la Ecuacion 1.
[Ecuacion 1]
P(0,y) = P(0,y)+((p(-1,y)-p(-1,-1) >> 1 para y = 0...N-1 Por ejemplo, cuando el modo de intraprediccion del bloque actual es el modo horizontal, las muestras diferenciales entre la muestra vecina superior izquierda p (-1, -1) y las muestras vecinas p (x, -1) adyacentes al limite superior del bloque actual se puede usar para obtener la muestra de prediccion final como se muestra en la Ecuacion 2.
[Ecuacion 2]
P(x,0) = p(x,0)+((p(x,-1)-p(-1,-1) >> 1 para x = 0...N-1 Por ejemplo, cuando el modo de intraprediccion del bloque actual es el modo vertical, las muestras diferenciales entre la muestra vecina superior izquierda p (-1, -1) y las muestras vecinas p (-1, y) adyacentes al limite izquierdo, se puede usar el bloque actual para obtener la muestra de prediccion final. Aqui, la muestra diferencial se puede agregar a la muestra de prediccion, o la muestra diferencial se puede escalar en un valor constante predeterminado, y luego agregarse a la muestra de prediccion. El valor constante predeterminado utilizado en el escalado puede determinarse de manera diferente dependiendo de la columna y/o fila. Por ejemplo, la muestra de prediccion se puede corregir como se muestra en la Ecuacion 3 y en la Ecuacion 4.
[Ecuacion 3]
P’(0,y) = P(0,y)+((p(-1,y)-p(-1,-1) >> 1 para y = 0...N-1
[Ecuacion 4]
P(1,y) = P(1,y)+((P(-1,y)-P(-1,-1) >> 2 para y = 0...N-1 Por ejemplo, cuando el modo de intraprediccion del bloque actual es el modo horizontal, las muestras diferenciales entre la muestra vecina superior izquierda p (-1, -1) y las muestras vecinas p (x, -1) adyacentes al limite superior del bloque actual se pueden usar para obtener la muestra de prediccion final, como se describe en el caso del modo vertical. Por ejemplo, la muestra de prediction se puede corregir como se muestra en la Ecuacion 5 y en la Ecuacion 6.
[Ecuacion 5]
F(x,0) = p(x,0)+((p(x,-1)-p(-1,-1) >> 1 para x = 0...N-1
[Ecuacion 6]
P(x,1) = p(x,1)+((p(x,-1)-p(-1,-1) >> 2 para x = 0...N-1
Las figuras 12 y 13 son diagramas que ilustran un metodo para corregir una muestra de prediccion en base a un filtro de correction predeterminado de acuerdo con una realization de la presente invention.
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. Aqui, la muestra vecina puede especificarse mediante una lmea angular del modo de prediccion direccional del bloque actual, o puede ser al menos una muestra colocada en la misma lmea angular que la muestra de prediccion que es el objetivo de correccion. Ademas, 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 de la cantidad de tomas, la intensidad y el coeficiente de filtro del filtro de correccion pueden determinarse en funcion de al menos una de las posiciones de la muestra de prediccion que es el objetivo de correccion, independientemente de si la muestra de prediccion es el objetivo de correccion se coloca en el limite del bloque actual, el modo de intraprediccion del bloque actual, el 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 12, cuando el modo de prediccion direccional tiene un mdice de 2 o 34, al menos una muestra de prediccion/reconstruida colocada en la parte inferior izquierda de la muestra de prediccion que es el objetivo de correccion y el filtro de correccion predeterminado se puede usar para obtener la muestra de prediccion final. Aqui, la muestra de prediccion/reconstruida en la parte inferior izquierda puede pertenecer a una lmea anterior de una lmea 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 al bloque adyacente vecino al bloque actual.
El filtrado de la muestra de prediccion se puede realizar solo en la lmea posicionada en el limite del bloque, o se puede realizar en varias lmeas. Se puede usar el filtro de correction donde al menos una de la cantidad de tomas de filtro y un coeficiente de filtro es diferente para cada una de las lmeas. Por ejemplo, se puede usar un filtro (1/2, 1/2) para la primera lmea izquierda mas cercana al limite del bloque, se puede usar un filtro (12/16, 4/16) para la segunda lmea, se puede usar un filtro (14/16, 2/16) para la tercera lmea, y se puede usar un filtro (15/16, 1/16) para la cuarta lmea.
Alternativamente, cuando el modo de prediction direccional tiene un mdice de 3 a 6 o de 30 a 33, el filtrado se puede realizar en el limite del bloque como se muestra en la figura 13, y se puede usar un filtro de correccion de 3 tomas para corregir la muestra de prediccion. El filtrado se puede realizar utilizando la muestra inferior izquierda de la muestra de prediccion, que es el objetivo de correccion, la muestra inferior de la muestra de la parte inferior izquierda, y un filtro de correccion de 3 tomas que toma como entrada la muestra de prediccion que es el objetivo de correccion. La position de la muestra vecina utilizada por el filtro de correccion se puede determinar de manera diferente segun el modo de prediccion direccional. El coeficiente de filtro del filtro de correccion se puede determinar de manera diferente dependiendo del modo de prediccion direccional.
Se pueden aplicar diferentes filtros de correccion dependiendo de si el bloque vecino esta codificado en el modo inter o el modo intra. Cuando el bloque vecino esta codificado en el modo intra, se puede usar un metodo de filtrado donde se otorga mas ponderacion a la muestra de prediccion, en comparacion con cuando el bloque vecino esta codificado en el modo inter. Por ejemplo, en el caso de que el modo de intraprediccion sea 34, cuando el bloque vecino se codifica en el modo inter, se puede usar un filtro (1/2, 1/2), y cuando el bloque vecino se codifica en el modo intra, se puede usar un filtro (4/16, 12/16).
El numero de lmeas a filtrar en el bloque actual puede variar dependiendo del tamano/forma del bloque actual (por ejemplo, el bloque de codification o el bloque de prediccion). Por ejemplo, cuando el tamano del bloque actual es igual o inferior a 32x32, el filtrado se puede realizar en una sola lmea en el limite del bloque; de lo contrario, el filtrado se puede realizar en varias lmeas, incluida una lmea en el limite del bloque.
Las figuras 12 y 13 se basan en el caso en que los 35 modos de intraprediccion en la figura 7 se utilizan, pero se pueden aplicar de manera igual o similar al caso en el que se usan los modos de intraprediccion extendida.
La figura 14 muestra un rango de muestras de referencia para intraprediccion de acuerdo con una realization a la que se aplica la presente invention.
La interprediccion de un bloque actual se puede realizar utilizando una muestra de referencia derivada de una muestra reconstruida incluida en un bloque vecino. Aqui, la muestra reconstruida significa que la codificacion/decodificacion se completa antes de codificar/decodificar el bloque actual. Por ejemplo, la intraprediccion para el bloque actual se puede realizar basandose en al menos una de las muestras de referencia P(-1, -1), P(-1, y) (0 <= y <= 2N-1) y P( x, -1) (0 <= x <= 2N-1). En este momento, el filtrado en muestras de referencia se realiza de forma selectiva en funcion de al menos uno de un modo de intraprediccion (por ejemplo, mdice, direccionalidad, angulo, etc. del modo de intraprediccion) del bloque actual o el tamano de un bloque de transformation relacionado con el bloque actual.
El filtrado de las muestras de referencia se puede realizar utilizando un filtro intra predefinido en un codificador y un decodificador. Por ejemplo, un filtro intra con un coeficiente de filtro de (1,2,1) o un filtro intra con un coeficiente de filtro de (2,3,6,3,2) se puede usar para obtener muestras de referencia finales para uso en prediction.
Alternativamente, al menos uno de una pluralidad de candidatos de filtro intra puede seleccionarse para realizar el filtrado en muestras de referencia. En este caso, la pluralidad de candidatos de filtro intra puede diferir entre si en al menos uno de una intensidad de filtro, un coeficiente de filtro o un numero de derivation (por ejemplo, un numero de coeficientes de filtro, una longitud de filtro). Se puede definir una pluralidad de candidatos de filtro intra en al menos una de una secuencia, una imagen, un segmento o un nivel de bloque. Es decir, una secuencia, una imagen, un segmento o un bloque en el que se incluye el bloque actual puede usar la misma pluralidad de candidatos de filtro interno.
De aqu en adelante, por conveniencia de explication, se supone que una pluralidad de candidatos de filtro intra incluye un primer filtro intra y un segundo filtro intra. Tambien se asume que el primer filtro intra es un filtro (1, 2, 1) de 3 tomas y el segundo filtro intra es un filtro (2, 3, 6, 3, 2) de 5 tomas.
Cuando las muestras de referencia se filtran aplicando un primer filtro intra, las muestras de referencia filtradas pueden derivarse como se muestra en la Ecuacion 7.
[Ecuacion 7]
P (- l,- l)= (P (- l,0 )+ 2 P (- l,- l)+ P (0 ,- l)+ 2 )» 2 P ( - 1 j,)= (P ( - 1 ,y 1 )+ 2 P ( - 1 ,y )+ P (- l , y - l ) 2 ) » 2 P(x,~ 1 )= (P ( jc+ 11 )+ 2P(x,~ 1 ) P O - 11 ) 2 ) » 2
Cuando las muestras de referencia se filtran aplicando el segundo filtro intra, las muestras de referencia filtradas pueden derivarse como se muestra en la siguiente ecuacion 8.
[Ecuacion 8]
P ( - l ,- l )=(2P(-2,0)+3P(-l,0)+6P(-l,-l)+3P(0,-l)+2P(0,-2)+8)»4 P (-1^ )=(2P(-15ly+2)+3P(-15j;+1 )+6P(-1^ )+3P(-1 ô -1 )+2P(-1 sly -2)+ 8)»4 P(j ,-1)=(2P(x+2,-1)+3P(x+1,-1)+6P(x,-1)+3P(j -1,-1)+2P(x-2 ,-1)+8)»4 En las ecuaciones anteriores 7 y 8, x puede ser un numero entero entre 0 y 2N-2, e y puede ser un numero entero entre 0 y 2N-2.
Alternativamente, en funcion de la posicion de una muestra de referencia, puede determinarse uno de una pluralidad de candidatos de filtro intra, y el filtrado sobre la muestra de referencia puede realizarse utilizando la determinada. Por ejemplo, un primer filtro intra puede aplicarse a las muestras de referencia incluidas en un primer rango, y un segundo filtro intra puede aplicarse a las muestras de referencia incluidas en un segundo rango. Aqui, el primer rango y el segundo rango se pueden distinguir en funcion de si estan adyacentes a un limite de un bloque actual, ya sea que esten ubicados en el lado superior o en el lado izquierdo de un bloque actual, o si estan adyacentes a una esquina de un bloque actual. Por ejemplo, como se muestra en la figura 15, filtrando en muestras de referencia (P (-1, -1), P (-1,0), P (-1,1), ... , P (­ 1, N-1) y P (0, -1), P (1, -1), ...) que son adyacentes a un limite del bloque actual se realiza aplicando un primer filtro intra como mostrado en la Ecuacion 7, y el filtrado en las otras muestras de referencia que no son adyacentes a un limite del bloque actual se realiza aplicando un segundo filtro de referencia como se muestra en la Ecuacion 8. Es posible seleccionar uno de una pluralidad de candidatos de filtro interno en funcion del tipo de transformation utilizado para un bloque actual, y realizar el filtrado en muestras de referencia utilizando el seleccionado. Aqui, el tipo de transformacion puede significar (1) un esquema de transformacion tal como DCT, DST o KLT, (2) un indicador de modo de transformacion tal como una transformacion 2D, una transformacion 1D o ninguna transformacion o (3) el numero de transformaciones tales como una primera transformada y una segunda transformada. De aqu en adelante, por conveniencia de la description, se supone que el tipo de transformacion significa el esquema de transformacion tal como DCT, DST y KLT.
Por ejemplo, si un bloque actual se codifica utilizando un DCT, el filtrado se puede realizar utilizando un primer filtro interno, y si un bloque actual se codifica utilizando un DST, el filtrado se puede realizar utilizando un segundo filtro interno. O, si un bloque actual esta codificado usando DCT o DST, el filtrado puede realizarse usando un primer filtro interno, y si el bloque actual esta codificado usando un KLT, el filtrado puede realizarse usando un segundo filtro interno.
El filtrado se puede realizar utilizando un filtro seleccionado en funcion de un tipo de transformation de un bloque actual y una position de una muestra de referencia. Por ejemplo, si un bloque actual se codifica utilizando un DCT, filtrando 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) se puede realizar utilizando un primer filtro intra, y el filtrado en otras muestras de referencia se puede realizar utilizando un segundo filtro intra. Si un bloque actual se codifica utilizando un DST, filtrando 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) se puede realizar utilizando un segundo filtro intra, y el filtrado en otras muestras de referencia se puede realizar utilizando un primer filtro intra.
Se puede seleccionar uno de una pluralidad de candidatos de filtro interno en funcion de si un tipo de transformacion de un bloque vecino que incluye una muestra de referencia es el mismo que un tipo de transformacion de un bloque actual, y el filtrado puede realizarse utilizando el candidato de filtro interno seleccionado. Por ejemplo, cuando un bloque actual y un bloque vecino usan el mismo tipo de transformacion, el filtrado se realiza usando un primer filtro interno, y cuando los tipos de transformacion de un bloque actual y de un bloque cercano son diferentes entre si, el segundo filtro interno puede ser utilizado para realizar el filtrado.
Es posible seleccionar cualquiera de una pluralidad de candidatos de filtro intra en funcion del tipo de transformacion de un bloque vecino y realizar el filtrado en una muestra de referencia utilizando el seleccionado. Es decir, se puede seleccionar un filtro espedfico teniendo en cuenta el tipo de transformacion de un bloque en el que se incluye una muestra de referencia. Por ejemplo, como se muestra en la figura 16, si un bloque adyacente a la izquierda/abajo a la izquierda de un bloque actual es un bloque codificado usando un DCT, y un bloque adyacente a la parte superior/superior derecha de un bloque actual es un bloque codificado usando un DST, el filtrado de muestras de referencia adyacentes a la izquierda/abajo a la izquierda de un bloque actual se realiza mediante la aplicacion de un primer filtro interno y el filtrado en las muestras de referencia adyacentes a la parte superior/superior derecha de un bloque actual se realiza mediante la aplicacion de un segundo filtro interno.
En unidades de una region predeterminada, se puede definir un filtro utilizable en la region correspondiente. Aqti, la unidad de la region predeterminada puede ser cualquiera de una secuencia, una imagen, un sector, 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, se puede definir otra region que comparte uno o mas filtros. Una muestra de referencia se puede filtrar utilizando un filtro asignado a una region en la que se incluye un bloque actual.
Por ejemplo, como se muestra en la figura 17, es posible realizar el filtrado en muestras de referencia utilizando diferentes filtros en unidades CTU. En este caso, la information que indica si se usa el mismo filtro en una secuencia o en una imagen, un tipo de filtro usado para cada CTU, un mdice que especifica un filtro usado en la CTU correspondiente entre un candidato de filtro intra disponible, puede ser senalizado a traves de un conjunto de parametros de secuencia (SPS) o un conjunto de parametros de imagen (PPS).
El filtro interno descrito anteriormente se puede aplicar en unidades de una unidad de codificacion. Por ejemplo, el filtrado se puede realizar aplicando un primer filtro intra o un segundo filtro intra para hacer referencia a muestras alrededor de una unidad de codificacion.
Cuando se utiliza un modo de prediction direccional o un modo DC, puede producirse un deterioro de la calidad de la imagen en un limite de bloque. Por otro lado, en el modo plano, hay una ventaja de que el deterioro de la calidad de la imagen en el limite del bloque es relativamente pequeno en comparacion con los modos de prediccion anteriores.
La prediccion plana se puede realizar generando una primera imagen de prediccion en una direction horizontal y una segunda imagen de prediccion en una direction vertical utilizando muestras de referencia y luego realizando una prediccion ponderada de la primera imagen de prediccion y la segunda imagen de prediccion.
Aqui, la primera imagen de prediccion se puede generar en base a muestras de referencia que son adyacentes al bloque actual y se colocan en la direccion horizontal de una muestra de prediccion. Por ejemplo, la primera imagen de prediccion puede generarse en base a una suma ponderada de muestras de referencia ubicadas en la direccion horizontal de la muestra de prediccion, y una ponderacion aplicada a cada una de las muestras de referencia puede determinarse en funcion de la distancia desde una muestra objetivo de prediccion o un tamano del bloque actual. Las muestras posicionadas en la direccion horizontal pueden incluir una muestra de referencia izquierda ubicada en el lado izquierdo de la muestra objetivo de prediccion y una muestra de referencia derecha ubicada en el lado derecho de la muestra objetivo de prediction. En este momento, la muestra de referencia correcta puede derivarse de una muestra de referencia superior del bloque actual. Por ejemplo, la muestra de referencia correcta puede derivarse copiando un valor de una de las muestras de referencia superior, o puede obtenerse mediante una suma ponderada o un valor promedio de las muestras de referencia superior. Aqw, la muestra de referencia superior puede ser una muestra de referencia ubicada en la misma lmea vertical que la muestra de referencia correcta, y puede ser una muestra de referencia adyacente a una esquina superior derecha del bloque actual. Alternativamente, la position de la muestra de referencia superior puede determinarse de manera diferente dependiendo de la posicion de la muestra objetivo de prediccion.
La segunda imagen de prediccion se puede generar en base a muestras de referencia que estan adyacentes al bloque actual y ubicadas en una direction vertical de una muestra de prediccion. Por ejemplo, la segunda imagen de prediccion puede generarse en base a una suma ponderada de muestras de referencia ubicadas en la direccion vertical de la muestra de prediccion, y una ponderacion aplicada a cada una de las muestras de referencia puede determinarse en funcion de la distancia desde una muestra objetivo de prediccion o un tamano del bloque actual. Las muestras ubicadas en la direccion vertical pueden incluir una muestra de referencia superior ubicada en el lado superior de la muestra objetivo de prediccion y una muestra de referencia inferior ubicada en el lado inferior de la muestra objetivo de prediccion. En este momento, la muestra de referencia inferior puede derivarse de una muestra de referencia izquierda del bloque actual. Por ejemplo, la muestra de referencia inferior se puede derivar copiando un valor de una de las muestras de referencia izquierda, o se puede derivar mediante una suma ponderada o un valor promedio de las muestras de referencia izquierda. Aqui, la muestra de referencia izquierda puede ser una muestra de referencia ubicada en la misma lmea horizontal que la muestra de referencia inferior, y puede ser una muestra de referencia adyacente a una esquina inferior izquierda del bloque actual. Alternativamente, la posicion de la muestra de referencia superior puede determinarse de manera diferente dependiendo de la posicion de la muestra objetivo de prediccion.
Como otro ejemplo, tambien es posible derivar la muestra de referencia correcta y la muestra de referencia inferior utilizando una pluralidad de muestras de referencia.
Por ejemplo, la muestra de referencia derecha o la muestra de referencia inferior pueden derivarse utilizando la muestra de referencia superior y la muestra de referencia izquierda del bloque actual. Por ejemplo, al menos una de la muestra de referencia derecha o la muestra de referencia inferior se puede determinar como una suma ponderada o un promedio de la muestra de referencia superior y la muestra de referencia izquierda del bloque actual.
Alternativamente, se puede calcular la suma ponderada o el promedio de la muestra de referencia superior y la muestra de referencia izquierda del bloque actual, y luego se puede derivar la muestra de referencia derecha de la suma ponderada o el valor promedio del valor calculado y la muestra de referencia superior. Si la muestra de referencia correcta se deriva a traves del calculo de la suma ponderada del valor calculado y la muestra de referencia superior, la ponderacion se puede determinar considerando el tamano del bloque actual, la forma del bloque actual, la posicion de la muestra de referencia correcta, o una distancia entre la muestra de referencia correcta y la muestra de referencia superior.
Ademas, despues de calcular la suma ponderada o el promedio de la muestra de referencia superior y la muestra de referencia izquierda del bloque actual, la muestra de referencia inferior puede derivarse de la suma ponderada o el valor promedio del valor calculado y la muestra de referencia izquierda. Si la muestra de referencia derecha se deriva a traves de la suma ponderada del valor calculado y la muestra de referencia izquierda, la ponderacion puede determinarse considerando el tamano del bloque actual, la forma del bloque actual, la posicion de la referencia inferior muestra, o una distancia entre la muestra de referencia inferior y la muestra de referencia izquierda.
Las posiciones de multiples muestras de referencia utilizadas para derivar la muestra de referencia derecha o la muestra de referencia izquierda pueden ser fijas o pueden variar dependiendo de la posicion de una muestra objetivo de prediccion. Por ejemplo, la muestra de referencia superior puede tener una posicion fija tal como una muestra de referencia adyacente a la esquina superior derecha del bloque actual y ubicada en la misma lmea vertical que la muestra de referencia derecha, y la muestra de referencia izquierda puede tener una posicion fija tal como una muestra de referencia adyacente a una esquina inferior izquierda del bloque actual y ubicada en la misma lmea horizontal que la muestra de referencia inferior. Alternativamente, cuando se obtiene la muestra de referencia correcta, se usa la muestra de referencia superior que tiene una ubicacion fija, como una muestra de referencia adyacente a la esquina superior derecha del bloque actual, mientras que la muestra de referencia izquierda se utiliza como una muestra de referencia ubicada en la misma lmea horizontal como la muestra objetivo de prediction. Cuando se obtiene la muestra de referencia inferior, se utiliza la muestra de referencia izquierda que tiene una ubicacion fija, como una muestra de referencia adyacente a la esquina inferior izquierda del bloque actual, mientras que la muestra de referencia superior se utiliza como una muestra de referencia ubicada en la misma lmea vertical como la muestra objetivo de prediccion.
La figura 18 es un diagrama que muestra un ejemplo de derivar una muestra de referencia derecha o una muestra de referencia inferior utilizando una pluralidad de muestras de referencia. Se asumira que un bloque actual es un bloque que tiene un tamano de WxH.
Con referencia a (a) de la figura 18, primero, se puede generar una muestra de referencia inferior derecha P (W, H) basada en una suma ponderada o un valor promedio de una muestra de referencia superior P (W, -1) y una muestra de referencia izquierda P (-1, H) del bloque actual. Y, se puede generar una muestra de referencia derecha P (W, y) para una muestra objetivo de prediccion (x, y) basandose en la muestra de referencia derecha inferior P (W, H) y la muestra de referencia superior P (W, -1). Por ejemplo, la muestra de prediccion correcta P (W, y) puede calcularse como una suma ponderada o un valor promedio de la muestra de referencia inferior derecha P (W, H) y la muestra de referencia superior P (W, -1). Ademas, se puede generar una muestra de referencia inferior P (x, H) para la muestra objetivo de prediccion (x, y) basandose en la muestra de referencia inferior derecha P (W, H) y una muestra de referencia izquierda P (-1, H ). Por ejemplo, la muestra de referencia inferior P (x, H) puede calcularse como una suma ponderada o un valor promedio de la muestra de referencia inferior derecha P (W, H) y la muestra de referencia izquierda P (-1, H).
Como se muestra (b) de la figura 18, si se genera la muestra de referencia correcta y la muestra de referencia inferior, se puede generar una primera muestra de prediccion Ph (x, y) y una segunda muestra de prediccion Pv (x, y) para el bloque objetivo de prediccion en funcion de las muestras de referencia generadas. En este momento, la primera muestra de prediccion Ph (x, y) se puede generar en base a una suma ponderada de la muestra de referencia izquierda P (-1, y) y la muestra de referencia derecha P (W, y) y la segunda muestra de prediccion se puede generar en base a una suma ponderada de la muestra de referencia superior P (x, -1) y la muestra de referencia inferior P (x, H).
Las posiciones de las muestras de referencia utilizadas para generar la primera imagen de prediccion y la segunda imagen de prediccion pueden variar segun el tamano o la forma del bloque actual. Es dedr, las posiciones de la muestra de referencia superior o la muestra de referencia izquierda utilizada para derivar la muestra de referencia derecha o la muestra de referencia inferior pueden variar segun el tamano o la forma del bloque actual.
Por ejemplo, si el bloque actual es un bloque cuadrado de tamano NxN, la muestra de referencia correcta puede derivarse de P (N, -1) y la muestra de referencia inferior puede derivarse de P (-1, N). Alternativamente, la muestra de referencia correcta y la muestra de referencia inferior pueden derivarse en base a al menos una de una suma ponderada, un valor promedio, un valor mmimo o un valor maximo de P (N, -1) y P (-1, N). Por otro lado, si el bloque actual es un bloque no cuadrado, las posiciones de las muestras de referencia utilizadas para derivar la muestra de referencia correcta y las muestras de referencia inferiores pueden determinarse de manera diferente, dependiendo de la forma del bloque actual.
Las figuras 19 y 20 son diagramas para explicar una determination de una muestra de referencia derecha y una muestra de referencia inferior para un bloque no cuadrado, de acuerdo con una realization de la presente invention.
Como en el ejemplo mostrado en la figura 19, cuando el bloque actual es un bloque no cuadrado de tamano (N/2)*N, una muestra de referencia correcta se deriva en base a una muestra de referencia superior P (N/2, -1), y una muestra de referencia inferior se deriva en base a una muestra de referencia izquierda P (-1, N).
Alternativamente, la muestra de referencia correcta o la muestra de referencia inferior pueden derivarse basandose en al menos una de una suma ponderada, un valor promedio, un valor mmimo o un valor maximo de la muestra de referencia superior P (N/2, -1) y la muestra de referencia izquierda P (-1, N). Por ejemplo, la muestra de referencia correcta se puede derivar como una suma ponderada o un promedio de P (N/2, -1) y P (-1, N), o se puede derivar como una suma ponderada o un promedio del anterior valor calculado y la muestra de referencia superior. Alternativamente, la muestra de referencia inferior se puede derivar como una suma ponderada o un promedio de P (N/2, -1) y P (-1, N), o se puede derivar como una suma ponderada o un promedio del valor anterior calculado y la muestra de referencia izquierda.
Por otro lado, como en el ejemplo que se muestra en la figura 20, si el bloque actual es un bloque no cuadrado de tamano Nx (N/2), la muestra de referencia correcta puede derivarse en base a la muestra de referencia superior P (N, -1) y la muestra de referencia inferior puede basarse en la muestra de referencia izquierda P (1, N/2).
Alternativamente, tambien es posible derivar la muestra de referencia correcta o la muestra de referencia inferior en base a al menos uno de una suma ponderada, un valor promedio, un valor mmimo o un valor maximo de la muestra de referencia superior P (N, -1 ) y la muestra de referencia izquierda P (-1, N/2). Por ejemplo, la muestra de referencia correcta se puede derivar como una suma ponderada o un promedio de P (N, -1) y P (-1, N/2), o se puede derivar como una suma ponderada o un promedio del anterior valor calculado y la muestra de referencia superior. Alternativamente, la muestra de referencia inferior se puede derivar como una suma ponderada o un promedio de P (N, -1) y P (-1, N/2), o se puede derivar como una suma ponderada o un promedio del anterior valor calculado y la muestra de referencia izquierda.
A saber, la muestra de referencia inferior se puede derivar basandose en al menos una de la muestra de referencia inferior izquierda del bloque actual ubicado en la misma lmea horizontal que la muestra de referencia inferior o la muestra de referencia superior derecha del bloque actual ubicado en la misma vertical lmea como la muestra de referencia correcta, y la muestra de referencia correcta se puede derivar basandose en al menos una de la muestra de referencia superior derecha del bloque actual ubicado en la misma lmea vertical que la muestra de referencia derecha o la muestra de referencia inferior izquierda del bloque actual ubicado en la misma lmea horizontal que la muestra de referencia inferior.
La primera imagen de prediction se puede calcular en base a una prediction ponderada de muestras de referencia ubicadas en la misma lmea horizontal que la muestra objetivo de prediccion. Ademas, la segunda imagen de prediccion puede calcularse basandose en una prediccion ponderada de muestras de referencia ubicadas en la misma lmea vertical que la muestra objetivo de prediccion.
Alternativamente, tambien es posible generar la primera imagen de prediccion o la segunda imagen de prediccion basandose en un valor promedio, un valor mmimo o un valor maximo de muestras de referencia.
Un metodo de derivar una muestra de referencia o un metodo de derivar la primera imagen de prediccion o la segunda imagen de prediccion puede configurarse de manera diferente dependiendo de si la muestra de prediccion objetivo esta incluida en un area predeterminada en el bloque actual, un tamano o una forma de bloque actual. Espedficamente, dependiendo de la position de la muestra objetivo de prediccion, el numero o las posiciones de las muestras de referencia utilizadas para derivar la muestra de referencia derecha o inferior se puede determinar de manera diferente, o dependiendo de la posicion de la muestra objetivo de prediction, la ponderacion o el numero de muestras de referencia utilizadas para derivar la primera imagen de prediccion o la segunda imagen de prediccion pueden configurarse de manera diferente.
Por ejemplo, una muestra de referencia correcta utilizada para derivar la primera imagen de prediccion de las muestras objetivo de prediccion incluidas en la region predeterminada puede derivarse utilizando solo la muestra de referencia superior, y una muestra de referencia correcta utilizada para derivar la primera imagen de prediccion de muestras objetivo de prediccion fuera de la region predeterminada se puede derivar en base a una suma ponderada o un promedio de una muestra de referencia superior y una muestra de referencia izquierda.
Por ejemplo, como en el ejemplo mostrado en la figura 19, cuando el bloque actual es un bloque no cuadrado cuya altura es mas larga que una anchura, la muestra de referencia correcta de la muestra objetivo de prediccion ubicada en (x, y) e incluida en la region predeterminada del bloque actual puede derivarse de P (N/2, -1). Por otro lado, la muestra de referencia derecha de la muestra objetivo de prediccion ubicada en (x', y') y fuera de la region predeterminada en el bloque actual puede derivarse en base a una suma ponderada o un valor promedio de P (N/2, -1) y P (-1, N).
Alternativamente, como en el ejemplo mostrado en la figura 20, cuando el bloque actual es un bloque no cuadrado cuya anchura es mayor que una altura, una muestra de referencia inferior de la muestra objetivo de prediccion ubicada en (x, y) e incluida en la region predeterminada en el bloque actual puede basarse en P (-1, N/2). Por otro lado, una muestra de referencia inferior de la muestra objetivo de prediccion ubicada en (x', y') y fuera de la region predeterminada en el bloque actual puede derivarse en base a una suma ponderada o un valor promedio de P (N, -1) y P (-1, N/2).
Por ejemplo, la primera imagen de prediccion o la segunda imagen de prediccion para las muestras objetivo de prediccion incluidas en la region predeterminada se pueden generar en base a la suma ponderada de las muestras de referencia. Por otro lado, la primera imagen de prediccion o la segunda imagen de prediccion para las muestras objetivo de prediccion fuera de la region predeterminada pueden generarse mediante un valor promedio, un valor mmimo o un valor maximo de muestras de referencia o pueden generarse utilizando solo uno de muestras de referencia ubicadas en una posicion predeterminada. Por ejemplo, como se muestra en un ejemplo en la figura 19, si el bloque actual es un bloque no cuadrado cuya altura es mas larga que una anchura, la primera imagen de prediction para la muestra objetivo de prediccion ubicada en (x, y) e incluida en la region predeterminada se puede generar usando solo una de una muestra de referencia derecha P (N/2, y) derivada de P (N/2, -1) o una muestra de referencia izquierda ubicada en P (-1, y). Por otro lado, la primera imagen de prediccion para la muestra objetivo de prediccion ubicada en (x', y') y fuera de la region predeterminada se puede generar en base a una suma ponderada o un promedio de una muestra de referencia derecha P (N/2, y') derivada de P (N/2, -1) y una muestra de referencia ubicada en P (-1, y').
Alternativamente, como en un ejemplo mostrado en la figura 20, si el bloque actual es un bloque no cuadrado cuya anchura es mayor que una altura, la segunda imagen de prediccion para la muestra objetivo de prediccion ubicada en (x, y) e incluida en la region predeterminada del bloque actual puede generarse por utilizando solo una de una muestra de referencia inferior P (x, N/2) derivada de P (-1, N/2) o una muestra de referencia superior ubicada en P (x, -1). Por otro lado, la segunda imagen de prediccion para la muestra objetivo de prediccion ubicada en (x', y') y no incluida en la region predeterminada puede generarse en base a una suma ponderada o un promedio de una muestra de referencia inferior P (x', N/2) derivado de P (-1, N/2) y una muestra de referencia ubicada en P (-1, y').
En la realization descrita anteriormente, la region predeterminada o una region externa de la region predeterminada puede incluir una region restante que excluye muestras ubicadas en un limite del bloque actual. El limite del bloque actual puede incluir al menos uno de un limite izquierdo, un limite derecho, un limite superior o un limite inferior. Ademas, el numero o la posicion de los limites incluidos en la region predeterminada o la region externa de la region predeterminada se pueden establecer de manera diferente segun la forma del bloque actual.
En el modo plano, la imagen de prediccion final puede derivarse en funcion de una suma ponderada, un valor promedio, un valor mmimo o un valor maximo de la primera imagen de prediccion y la segunda imagen de prediccion.
Por ejemplo, la siguiente Ecuacion 9 muestra un ejemplo de la generation de la imagen de prediccion final P basada en la suma ponderada de la primera imagen de prediccion Ph y la segunda imagen de prediccion Pv.
Figure imgf000045_0001
En la Ecuacion 9, la ponderacion de prediction w puede ser diferente segun una forma o un tamano del bloque actual, o una position de la muestra objetivo de prediccion.
Por ejemplo, la ponderacion de prediccion w puede derivarse considerando una anchura del bloque actual, una altura del bloque actual o una relation entre la anchura y la altura. Si el bloque actual es un bloque no cuadrado cuya anchura es mayor que la altura, w puede configurarse de modo que se otorgue mas ponderacion a la primera imagen de prediccion. Por otro lado, si el bloque actual es un bloque no cuadrado cuya altura es mayor que la anchura, w puede configurarse de modo que se otorgue mas ponderacion a la segunda imagen de prediccion.
Por ejemplo, cuando el bloque actual tiene una forma cuadrada, la ponderacion de prediccion w puede tener un valor de 1/2. Por otro lado, si el bloque actual es un bloque no cuadrado cuya altura es mayor que la anchura (por ejemplo, (N/2) xN), la ponderacion de prediccion w se puede establecer en 1/4, y si el bloque actual es un bloque no cuadrado cuya anchura es mayor que la altura (por ejemplo, Nx (N/2)), la ponderacion de prediccion w se puede establecer en 3/4.
La figura 21 es un diagrama de flujo que ilustra procesos de obtencion de una muestra residual de acuerdo con una realization a la que se aplica la presente invention.
Primero, se puede obtener un coeficiente residual de un bloque actual S2110. Un decodificador puede obtener un coeficiente residual a traves de un procedimiento de exploration de coeficientes. Por ejemplo, el decodificador puede realizar una exploration en diagonal, una exploracion de coeficientes utilizando una exploracion de jig-zag, una exploracion derecha superior, una exploracion vertical o una exploracion horizontal, y puede obtener coeficientes residuales en forma de un bloque bidimensional.
Se puede realizar una cuantificacion inversa sobre el coeficiente residual del bloque actual S2120.
Es posible determinar si se debe omitir una transformation inversa en el coeficiente residual descantado del bloque actual S2130. Espedficamente, el decodificador puede determinar si se debe omitir la transformacion inversa en al menos una de la direction horizontal o vertical del bloque actual. Cuando se determina la aplicacion de la transformacion inversa en al menos una de las direcciones horizontal o vertical del bloque actual, se puede obtener una muestra residual del bloque actual transformando inversamente el coeficiente residual descuantificado del bloque actual S2140. Aqui, la transformation inversa se puede realizar utilizando al menos uno de DCT, DST y KLT.
Cuando la transformada inversa se omite tanto en la direction horizontal como en la vertical del bloque actual, la transformada inversa no se realiza en la direccion horizontal y vertical del bloque actual. En este caso, la muestra residual del bloque actual puede obtenerse escalando el coeficiente residual descuantificado con un valor predeterminado S2150.
Saltar la transformada inversa en la direccion horizontal significa que la transformada inversa no se realiza en la direccion horizontal, pero la transformada inversa se realiza en la direccion vertical. En este momento, la escala se puede realizar en la direccion horizontal.
Saltar la transformada inversa en la direccion vertical significa que la transformada inversa no se realiza en la direccion vertical, sino que la transformada inversa se realiza en la direccion horizontal. En este momento, la escala se puede realizar en la direccion vertical.
Se puede determinar si se puede usar o no una tecnica de salto de transformacion inversa para el bloque actual, dependiendo del tipo de partition del bloque actual. Por ejemplo, si el bloque actual se genera a traves de una particion basada en un arbol binario, el esquema de salto de transformacion inversa puede estar restringido para el bloque actual. Por consiguiente, cuando el bloque actual se genera a traves de la particion basada en arbol binario, la muestra residual del bloque actual se puede obtener mediante la transformacion inversa del bloque actual. Ademas, cuando el bloque actual se genera a traves de la particion basada en arbol binario, la codificacion/decodificacion de la information que indica si la transformacion inversa se omite (por ejemplo, transform_skip_flag) puede omitirse.
Alternativamente, cuando el bloque actual se genera a traves de la particion basada en arbol binario, es posible limitar el esquema de salto de transformacion inversa a al menos una de la direccion horizontal o vertical. Aqui, la direccion en la que se limita el esquema de salto de transformacion inverso se puede determinar en funcion de la informacion decodificada del flujo de bits, o se puede determinar de forma adaptativa en funcion de al menos uno de un tamano del bloque actual, una forma del bloque actual, o un modo de intraprediccion del bloque actual.
Por ejemplo, cuando el bloque actual es un bloque no cuadrado que tiene una anchura mayor que una altura, el esquema de salto de transformacion inverso puede permitirse solo en la direccion vertical y restringirse en la direccion horizontal. Es decir, cuando el bloque actual es 2NxN, la transformation inversa se realiza en la direction horizontal del bloque actual, y la transformacion inversa se puede realizar selectivamente en la direccion vertical.
Por otra parte, cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, el esquema de salto de transformacion inverso se puede permitir solo en la direccion horizontal y restringirse en la direccion vertical. Es decir, cuando el bloque actual es Nx2N, la transformacion inversa se realiza en la direccion vertical del bloque actual, y la transformacion inversa se puede realizar selectivamente en la direccion horizontal.
En contraste con el ejemplo anterior, cuando el bloque actual es un bloque no cuadrado que tiene una anchura mayor que una altura, el esquema de salto de transformacion inversa puede permitirse solo en la direccion horizontal, y cuando el bloque actual es un bloque no cuadrado que tiene una altura mayor que una anchura, el esquema de salto de transformacion inversa puede permitirse solo en la direccion vertical.
La information que indica si se debe omitir o no la transformada inversa con respecto a la direccion horizontal o la informacion que indica si se debe omitir la transformacion inversa con respecto a la direccion vertical se puede senalar a traves de un flujo de bits. Por ejemplo, la informacion que indica si se debe omitir o no la transformacion inversa en la direccion horizontal es un indicador de 1 bit, 'hor_transform_skip_flag', y la informacion que indica si se debe omitir la transformacion inversa en la direccion vertical es un indicador de 1 bit 'ver_transform_skip_flag'. El codificador puede codificar al menos uno de 'hor_transform_skip_flag' o 'ver_transform_skip_flag' de acuerdo con la forma del bloque actual. Ademas, el decodificador puede determinar si se omite o no la transformacion inversa en la direccion horizontal o en la direccion vertical utilizando al menos uno de "hor_transform_skip_flag" o "ver_transform_skip_flag".
Puede configurarse para omitir la transformacion inversa para cualquier direccion del bloque actual en funcion del tipo de partition del bloque actual. Por ejemplo, si el bloque actual se genera a traves de una particion basada en un arbol binario, se puede omitir la transformacion inversa en la direccion horizontal o vertical. Es decir, si el bloque actual se genera mediante una particion basada en arbol binario, se puede determinar que la transformacion inversa para el bloque actual se omite en al menos una direccion horizontal o vertical sin informacion de codificacion/decodificacion (por ejemplo, transform_skip_flag, hor_transform_skip_flag, ver_transform_skip_flag) que indica si se omite o no la transformation inversa del bloque actual.
Aunque las realizaciones descritas anteriormente se han descrito sobre la base de una serie de etapas o diagramas de flujo, no limitan el orden de las series temporales de la invention, y pueden realizarse simultaneamente o en diferentes ordenes segun sea necesario. Ademas, cada uno de los componentes (por ejemplo, unidades, modulos, etc.) que constituyen el diagrama de bloques en las realizaciones descritas anteriormente puede implementarse mediante un dispositivo de hardware o software, y una pluralidad de componentes. O se puede combinar e implementar una pluralidad de componentes mediante un solo dispositivo de hardware o software. Las realizaciones descritas anteriormente pueden implementarse en forma de instrucciones de programa que pueden ejecutarse a traves de diversos componentes de ordenador y grabarse en un medio de grabacion legible por ordenador. El medio de grabacion legible por ordenador puede incluir uno de o una combination de comandos de programa, archivos de datos, estructuras de datos y similares. Ejemplos de medios legibles por ordenador incluyen medios magneticos tales como discos duros, disquetes y cinta magnetica; medios opticos de grabacion tales como CD-ROM y DVD; medios magnetoopticos tales como discos opticos; y dispositivos de hardware especialmente configurados para almacenar y ejecutar instrucciones de programa, tal como ROM, RAM, memoria flash y similares. El dispositivo de hardware puede configurarse para funcionar 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 (15)

REIVINDICACIONES
1. Un procedimiento para la decodificacion de un video, comprendiendo el procedimiento:
derivar una muestra de referencia para un bloque actual;
determinar un modo de intraprediccion del bloque actual; y
obtener una muestra de prediction para el bloque actual utilizando la muestra de referencia y el modo de intraprediccion,
en el que, si el modo de intraprediccion es el modo plano, la muestra de prediccion se genera en base a una primera muestra de prediccion generada utilizando al menos una de las muestras de referencia, ubicadas en una misma lmea horizontal como una muestra objetivo de prediccion y una segunda muestra de prediccion generada utilizando al menos una de las muestras de referencia, ubicadas en una misma lmea vertical que la muestra objetivo de prediccion.
2. El metodo de la reivindicacion 1, en el que la muestra de referencia comprende una muestra de referencia superior y una muestra de referencia izquierda adyacente al bloque actual,
en el que la primera muestra de prediccion se genera utilizando al menos una muestra de referencia derecha derivada en base a la muestra de referencia izquierda y la muestra de referencia superior, y
en el que la segunda muestra de prediccion se genera utilizando al menos una muestra de referencia inferior derivada en base a la muestra de referencia superior y la muestra de referencia izquierda.
3. El metodo de la reivindicacion 2, en el que una position de la muestra de referencia superior que se usa para derivar la muestra de referencia correcta o una posicion de la muestra de referencia izquierda que se usa para derivar la muestra de referencia inferior ,se determina de manera adaptativa dependiendo de un tamano o una forma del bloque actual.
4. El metodo de la reivindicacion 2, en el que la primera muestra de prediccion se genera basandose en una suma ponderada entre la muestra de referencia izquierda y la muestra de referencia derecha, y la segunda muestra de prediccion se genera en base a una suma ponderada entre la muestra de referencia superior y la muestra de referencia inferior.
5. El metodo de la reivindicacion 2, en el que varias muestras de referencia utilizadas para derivar la primera muestra de prediction o la segunda muestra de prediction se determinan de manera diferente, dependiendo de una position de la muestra objetivo de prediccion.
6. El metodo de la reivindicacion 1, en el que la muestra de prediccion se genera basandose en una suma ponderada de la primera muestra de prediccion y la segunda muestra de prediccion.
7. El metodo de la reivindicacion 6, en el que las ponderaciones para la primera muestra de prediccion y la segunda muestra de prediccion se determinan de manera diferente de acuerdo con una forma del bloque actual.
8. Un procedimiento para la codification de un video, comprendiendo el procedimiento:
derivar una muestra de referencia para un bloque actual;
determinar un modo de intraprediccion del bloque actual; y
obtener una muestra de prediccion para el bloque actual utilizando la muestra de referencia y el modo de intraprediccion,
en el que, si el modo de intraprediccion es el modo plano, la muestra de prediccion se genera en base a una primera muestra de prediccion generada utilizando al menos una de las muestras de referencia, ubicadas en una misma lmea horizontal como una muestra objetivo de prediccion y una segunda muestra de prediccion, generada utilizando al menos una de las muestras de referencia, ubicadas en una misma lmea vertical que la muestra objetivo de prediccion.
9. El metodo de la reivindicacion 8, en el que la muestra de referencia comprende una muestra de referencia superior y una muestra de referencia izquierda adyacente al bloque actual,
en el que la primera muestra de prediccion se genera utilizando al menos una muestra de referencia derecha derivada en base a la muestra de referencia izquierda y la muestra de referencia superior, y
en el que la segunda muestra de prediccion se genera utilizando al menos una muestra de referencia inferior derivada en base a la muestra de referencia superior y la muestra de referencia izquierda.
10. El metodo de la reivindicacion 9, en el que una posicion de la muestra de referencia superior que se usa para derivar la muestra de referencia correcta o una posicion de la muestra de referencia izquierda, que se usa para derivar la muestra de referencia inferior, se determina de manera adaptativa dependiendo de un tamano o una forma del bloque actual.
11. El metodo de la reivindicacion 9, en el que la primera muestra de prediction se genera basandose en una suma ponderada entre la muestra de referencia izquierda y la muestra de referencia derecha, y la segunda muestra de prediccion se genera en base a una suma ponderada entre la muestra de referencia superior y la muestra de referencia inferior.
12. El metodo de la reivindicacion 9, en el que varias muestras de referencia utilizadas para derivar la primera muestra de prediccion o la segunda muestra de prediccion se determinan de manera diferente dependiendo de una posicion de la muestra objetivo de prediccion.
13. El metodo de la reivindicacion 8, en el que la muestra de prediccion se genera basandose en una suma ponderada de la primera muestra de prediccion y la segunda muestra de prediccion.
14. El metodo de la reivindicacion 13, en el que las ponderaciones para la primera muestra de prediccion y la segunda muestra de prediccion se determinan de manera diferente de acuerdo con una forma del bloque actual.
15. Un aparato para la decodificacion de un video, comprendiendo el aparato: una unidad de intraprediccion para obtener una muestra de referencia para un bloque actual, para determinar un modo de intraprediccion del bloque actual, y para obtener una muestra de prediccion para el bloque actual utilizando la muestra de referencia y el modo de intraprediccion,
en el que, si el modo de intraprediccion es el modo plano, la muestra de prediccion se genera en base a una primera muestra de prediccion generada utilizando al menos una de las muestras de referencia, ubicadas en una misma lmea horizontal como una muestra objetivo de prediccion y una segunda muestra de prediccion generada utilizando al menos una de las muestras de referencia, ubicadas en una misma lmea vertical que la muestra objetivo de prediccion.
ES201990015A 2016-08-31 2017-08-31 Metodo y aparato para procesar senales de video Pending ES2711223R1 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160112128 2016-08-31
PCT/KR2017/009527 WO2018044089A1 (ko) 2016-08-31 2017-08-31 비디오 신호 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
ES2711223A2 true ES2711223A2 (es) 2019-04-30
ES2711223R1 ES2711223R1 (es) 2020-07-01

Family

ID=61301180

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201990015A Pending ES2711223R1 (es) 2016-08-31 2017-08-31 Metodo y aparato para procesar senales de video

Country Status (6)

Country Link
US (4) US10841587B2 (es)
EP (1) EP3509307A4 (es)
KR (1) KR102424420B1 (es)
CN (7) CN117041538A (es)
ES (1) ES2711223R1 (es)
WO (1) WO2018044089A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778976B2 (en) * 2016-09-28 2020-09-15 Sharp Kabushiki Kaisha Image decoding apparatus and image coding apparatus
EP3552393B1 (en) * 2016-12-23 2023-03-08 Huawei Technologies Co., Ltd. An encoding apparatus for signaling an extension directional intra-prediction mode within a set of directional intra-prediction modes
DE112017006638B4 (de) * 2016-12-28 2023-05-11 Arris Enterprises Llc Verbesserte Videobitstromkodierung
KR102030384B1 (ko) 2018-06-19 2019-11-08 광운대학교 산학협력단 잔차 계수 부호화/복호화 방법 및 장치
WO2019240450A1 (ko) 2018-06-11 2019-12-19 광운대학교 산학협력단 잔차 계수 부호화/복호화 방법 및 장치
WO2019237287A1 (zh) * 2018-06-13 2019-12-19 华为技术有限公司 视频图像的帧间预测方法、装置及编解码器
WO2019245342A1 (ko) * 2018-06-21 2019-12-26 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102634068B1 (ko) * 2018-08-24 2024-02-05 지티이 코포레이션 시각 미디어 인코딩 및 디코딩을 위한 평면 예측 모드
WO2020256466A1 (ko) * 2019-06-19 2020-12-24 한국전자통신연구원 화면 내 예측 모드 및 엔트로피 부호화/복호화 방법 및 장치
WO2021060830A1 (ko) * 2019-09-23 2021-04-01 주식회사 케이티 비디오 신호 처리 방법 및 장치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799153B2 (en) 1998-08-31 2014-08-05 Mastercard International Incorporated Systems and methods for appending supplemental payment data to a transaction message
US20050049964A1 (en) 2003-01-14 2005-03-03 Winterer Mary Jo Financial transaction card with automatic payment feature
US20070250442A1 (en) 1998-08-31 2007-10-25 Hogan Edward J Financial Transaction Card With Installment Loan Feature
US6315193B1 (en) 1998-08-31 2001-11-13 Mastercard International Incorporated Financial transaction card with installment loan feature
US20100094735A1 (en) 2006-11-15 2010-04-15 Charles Reynolds Methods and systems for automated payments
KR101403341B1 (ko) 2007-03-28 2014-06-09 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR101484280B1 (ko) 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
HRP20240379T1 (hr) 2010-05-25 2024-06-07 Lg Electronics Inc. Novi način planarnog predviđanja
US9317896B2 (en) 2010-07-09 2016-04-19 Samsung Electronics Co., Ltd. Image interpolation method and apparatus
KR102086145B1 (ko) 2010-12-13 2020-03-09 한국전자통신연구원 인트라 예측 방법 및 그 장치
PL2658263T3 (pl) 2010-12-22 2023-03-13 Lg Electronics Inc. Sposób predykcji wewnątrzramkowej i urządzenie wykorzystujące ten sposób
US9420294B2 (en) 2011-02-23 2016-08-16 Lg Electronics Inc. Intra-prediction method using filtering, and apparatus using the method
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
GB2555287B (en) * 2011-10-17 2018-11-07 Kt Corp Video decoding method using transform method selected from a transform method set
MX358516B (es) * 2011-10-19 2018-08-24 Kt Corp Método y aparato para codificar/decodificar imágenes.
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
KR101587927B1 (ko) * 2013-06-24 2016-01-22 한양대학교 산학협력단 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US9667965B2 (en) * 2012-06-25 2017-05-30 Industry-University Cooperation Foundation Hanyang University Video encoding and decoding method
PL2869557T3 (pl) 2012-06-29 2024-02-19 Electronics And Telecommunications Research Institute Sposób i urządzenie do kodowania/dekodowania obrazów
JP6210375B2 (ja) * 2012-12-28 2017-10-11 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
US9247255B2 (en) * 2013-02-28 2016-01-26 Research & Business Foundation Sungkyunkwan University Method and apparatus for image encoding/decoding
CN105594208A (zh) * 2013-10-11 2016-05-18 索尼公司 解码装置、解码方法、编码装置以及编码方法
KR20170082528A (ko) 2014-11-05 2017-07-14 삼성전자주식회사 블록과 관련하여 결정된 적어도 하나의 샘플값 및 적어도 하나의 패턴에 기초한 인트라 예측을 수행하는 영상 부호화 방법 및 장치또는 영상 복호화 방법 및 장치
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual

Also Published As

Publication number Publication date
CN117041539A (zh) 2023-11-10
CN109691112A (zh) 2019-04-26
US20210076041A1 (en) 2021-03-11
US20210112251A1 (en) 2021-04-15
US10841587B2 (en) 2020-11-17
US11457218B2 (en) 2022-09-27
US11350097B2 (en) 2022-05-31
CN116980592A (zh) 2023-10-31
EP3509307A1 (en) 2019-07-10
KR20180025285A (ko) 2018-03-08
CN116939200A (zh) 2023-10-24
CN116962679A (zh) 2023-10-27
US11451781B2 (en) 2022-09-20
CN117014603A (zh) 2023-11-07
KR102424420B1 (ko) 2022-07-22
US20210105480A1 (en) 2021-04-08
CN109691112B (zh) 2023-09-26
EP3509307A4 (en) 2020-04-01
US20190200020A1 (en) 2019-06-27
CN117041538A (zh) 2023-11-10
ES2711223R1 (es) 2020-07-01
WO2018044089A1 (ko) 2018-03-08

Similar Documents

Publication Publication Date Title
ES2703607B2 (es) Método y aparato para procesar señales de vídeo
ES2724568B2 (es) Método y aparato para tratar una señal de vídeo
ES2908214T3 (es) Filtración adaptativa de muestras de referencia para intra predicción usando líneas de píxeles distantes
ES2739668B1 (es) Metodo y aparato para procesar senales de video
ES2737874B2 (es) Metodo y aparato para procesar senal de video
ES2800509B1 (es) Metodo y aparato para procesar senales de video
ES2699749B2 (es) Método y aparato para procesar una señal de vídeo
ES2710234B1 (es) Procedimiento y dispositivo para procesar señales de vídeo
ES2711223A2 (es) Metodo y aparato para procesar senales de video
ES2711189A2 (es) Metodo y aparato para procesar senales de video
ES2711473A2 (es) Metodo y aparato para procesar una senal de video
ES2830053B2 (es) Metodo y aparato para procesar senal de video
ES2711474A2 (es) Metodo y aparato para procesar una senal de video
ES2703458A2 (es) Metodo y aparato para procesar senales de video
ES2711230A2 (es) Metodo y aparato para procesar una senal de video

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2711223

Country of ref document: ES

Kind code of ref document: A2

Effective date: 20190430

EC2A Search report published

Ref document number: 2711223

Country of ref document: ES

Kind code of ref document: R1

Effective date: 20200624

FC2A Grant refused

Effective date: 20220712