ES2652608T3 - Procedimiento y aparato de codificación de video y procedimiento y aparato de decodificación de video compartiendo parámetros SAO entre componentes de color - Google Patents

Procedimiento y aparato de codificación de video y procedimiento y aparato de decodificación de video compartiendo parámetros SAO entre componentes de color Download PDF

Info

Publication number
ES2652608T3
ES2652608T3 ES13804347.6T ES13804347T ES2652608T3 ES 2652608 T3 ES2652608 T3 ES 2652608T3 ES 13804347 T ES13804347 T ES 13804347T ES 2652608 T3 ES2652608 T3 ES 2652608T3
Authority
ES
Spain
Prior art keywords
sao
ods
information
current
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13804347.6T
Other languages
English (en)
Inventor
Elena Alshina
Alexander Alshin
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2652608T3 publication Critical patent/ES2652608T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Abstract

Un procedimiento de ajuste de compensación adaptativa de muestra (SAO), comprendiendo el procedimiento: obtener parámetros SAO de segmento con respecto a un segmento actual a partir de un encabezamiento de segmento de una secuencia de bits recibida; obtener información de uso SAO de luminancia para componentes de luminancia del segmento actual e información de uso SAO de crominancia para componentes de crominancia del mismo de entre los parámetros SAO del segmento; determinar si realizar una operación SAO en los componentes de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida; determinar si realizar la operación SAO en los componentes de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida, en el que los componentes de crominancia comprenden componentes Cr y componentes Cb; cuando la operación SAO se realiza en los componentes de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida y la operación SAO se realiza en los componentes de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida, obtener información de fusión SAO izquierda de un bloque actual entre bloques incluidos en el segmento actual realizando decodificación por entropía en una secuencia de bits usando un primer modo de contexto; cuando la información de fusión SAO izquierda indica que parámetros SAO del bloque actual se determinan de acuerdo con parámetros SAO de un bloque izquierdo, determinar parámetros SAO de componentes de luminancia del bloque actual para ser idénticos a parámetros SAO de componentes de luminancia del bloque izquierdo y parámetros SAO de componentes de crominancia del bloque actual para ser idénticos a parámetros SAO de componentes de crominancia del bloque izquierdo; cuando la información de fusión SAO izquierda indica que los parámetros SAO del bloque actual no se determinan de acuerdo con los parámetros SAO del bloque izquierdo, obtener información de fusión SAO superior del bloque actual realizando decodificación por entropía en una secuencia de bits usando el primer modo de contexto; y cuando la información de fusión SAO superior indica que los parámetros SAO del bloque actual se determinan de acuerdo con parámetros SAO de un bloque superior, determinar los parámetros SAO de componentes de luminancia del bloque actual para ser idénticos a parámetros SAO de componentes de luminancia del bloque superior y los parámetros SAO de componentes de crominancia del bloque actual para ser idénticos a parámetros SAO de componentes de crominancia del bloque superior; cuando la información de fusión SAO superior indica que los parámetros SAO del bloque actual no se determinan de acuerdo con los parámetros SAO del bloque superior, obtener los parámetros SAO del bloque actual a partir de la secuencia de bits; y realizar operación SAO ajustando valores de muestra de los componentes de luminancia del bloque actual usando los parámetros SAO de componentes de luminancia del bloque actual y valores de muestra de los componentes de crominancia del bloque actual usando los parámetros SAO de componentes de crominancia del bloque actual, caracterizado porque: la obtención de los parámetros SAO del bloque actual a partir de la secuencia de bits comprende: obtener información de tipo de SAO del bloque actual a partir de la secuencia de bits; cuando la información de tipo de SAO indica un tipo de banda o un tipo de borde, obtener un valor absoluto de una compensación del bloque actual realizando decodificación por entropía en la secuencia de bits en modo de derivación sin modelado de contextos; y cuando la información de tipo de SAO indica que el tipo de banda y el valor absoluto de la compensación no son 0, obtener información de signo de la compensación del bloque actual a partir de la secuencia de bits, la información de signo de la compensación indicando si un valor de la compensación es positiva o negativa y, cuando la información de tipo de SAO indica el tipo de borde, la información de signo de la compensación no se obtiene a partir de la secuencia de bits.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Procedimiento y aparato de codificación de video y procedimiento y aparato de decodificación de video compartiendo parámetros SAO entre componentes de color
Campo técnico
La una o más realizaciones se refieren a codificación y decodificación de video para la minimización de un error entre una imagen original y una imagen reconstruida.
Antecedentes de la técnica
A medida que se desarrolla y suministra hardware para la reproducción y almacenamiento de contenido de video de alta resolución o alta calidad, aumenta la necesidad para un códec de video para la codificación y decodificación de forma efectiva del contenido de video de alta resolución o alta calidad. De acuerdo con un códec de video convencional, un video se codifica de acuerdo con un procedimiento de codificación limitado a base de un macrobloque que tiene un tamaño predeterminado.
Datos de imagen del dominio de espacio se transforman en coeficientes del dominio de la frecuencia a través de transformación de frecuencia. De acuerdo con un códec de video, una imagen se divide en bloques teniendo un tamaño predeterminado, se realiza transformación de coseno discreta (DCT) en cada bloque y se codifican coeficientes de frecuencia en unidades de bloques, para cálculo rápido de transformación de frecuencia. Comparados con datos de imagen del dominio de espacio, coeficientes del dominio de la frecuencia se comprimen fácilmente. En particular, ya que se expresa un valor de píxel de imagen del dominio de espacio de acuerdo con un error de predicción a través de inter predicción o intra predicción de un códec de video, cuando se realiza transformación de frecuencia en el error de predicción, una gran cantidad de datos puede transformarse a 0. De acuerdo con un códec de video, una cantidad de datos puede reducirse reemplazando datos que se generan consecutivamente y repetidamente con datos de tamaño pequeño.
El documento D1 (BROSS B ET AL: "High Efficiency Video Coding (HEVC) text specification draft 7", 9. JCT-VC MEETING; 100. MPEG MEETING; 27-4-2012 - 7-5-2012; GINEBRA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OFISO/IECJTC1/SC29/WG11 Y ITU-T SG.16); URL:
HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/„ n.° JCTVC-11003, 10 de mayo de 2012 (10-5-2012), XP030112373) desvela Compensación Adaptativa de Muestra (SAO), véase párr. 7.3.4, 7.3.4.1, 7.3.4.2, 7.4.2.6, 7.4.2.7, 7.4.2.8, 7.4.4.1.
Divulgación de la invención
Problema técnico
La una o más realizaciones proporcionan un procedimiento de codificación de video y aparato y un procedimiento de decodificación de video y aparato para la generación de una imagen reconstruida que tiene un error minimizado entre una imagen original y la imagen reconstruida.
Solución técnica
De acuerdo con un aspecto de la una o más realizaciones, se proporciona un procedimiento de ajuste de compensación adaptativa de muestra (SAO), incluyendo el procedimiento: obtener parámetros SAO de segmento con respecto a un segmento actual a partir de un encabezamiento de segmento de una secuencia de bits recibida; obtener información de uso SAO de luminancia para un componente de luminancia del segmento actual e información de uso SAO de crominancia para componentes de crominancia del mismo de entre los parámetros SAO de segmento; determinar si realizar una operación SAO en el componente de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida; y determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida.
Efectos ventajosos
Un procedimiento de ajuste de compensación adaptativa de muestra (SAO) para cada componente de color de acuerdo con diversas realizaciones puede compartir diversos parámetros SAO relacionados con una operación SAO de un primer componente de crominancia y un segundo componente de crominancia de una muestra actual, realizando de este modo simultáneamente el ajuste SAO en el primer componente de crominancia y el segundo componente de crominancia, y evitando latencia de procesamiento paralela por adelantado. Adicionalmente, en comparación con enviar separadamente parámetros SAO con respecto al primer componente de crominancia y el segundo componente de crominancia, puede reducirse a la mitad un número total de bits de transmisión de los parámetros SAO.
Breve descripción de los dibujos
las Figuras 1A y 1B, respectivamente, son un diagrama de bloques de un aparato de codificación de video y un
5
10
15
20
25
30
35
40
45
50
55
60
diagrama de flujo de un procedimiento de ajuste de compensación adaptativa de muestra (SAO) realizado mediante el aparato de codificación de video, de acuerdo con una o más realizaciones;
las Figuras 2A y 2B, respectivamente, son un diagrama de bloques de un aparato de decodificación de video y un diagrama de flujo de una operación SAO realizada mediante el aparato de decodificación de video, de acuerdo con una o más realizaciones;
la Figura 3 es un diagrama de bloques de un aparato de decodificación de video de acuerdo con otra realización; la Figura 4 es una tabla que muestra clases de bordes de tipos de bordes, de acuerdo con una o más realizaciones;
las Figuras 5A y 5B son una tabla y un gráfico que muestran categorías de tipos de bordes, de acuerdo con una o más realizaciones;
las Figuras 6A a 6C muestran relaciones entre primer y segundo componentes de crominancia;
la Figura 7A es un diagrama que muestra unidades máximas de codificación (LCU) adyacentes referidas a
parámetros SAO de fusión, de acuerdo con una o más realizaciones;
la Figura 7B muestra estructuras de sintaxis de un encabezamiento de segmento y datos de segmento de acuerdo con una o más realizaciones;
las Figuras 7C y 7D muestran estructuras de sintaxis de parámetros SAO con respecto a LCU de acuerdo con una o más realizaciones;
la Figura 7E muestra una estructura de sintaxis de información de contexto para codificación por codificación binaria aritmética adaptativa según contexto (CABAC) de parámetros SAO de acuerdo con una o más realizaciones;
la Figura 7F muestra una estructura de sintaxis de parámetros SAO con respecto a tipos de SAO de acuerdo con una o más realizaciones;
la Figura 8 es un diagrama de bloques de un aparato de codificación de video a base de unidades de codificación de acuerdo con una estructura de árbol, de acuerdo con una o más realizaciones;
la Figura 9 es un diagrama de bloques de un aparato de decodificación de video a base de unidades de codificación de acuerdo con una estructura de árbol, de acuerdo con una o más realizaciones; la Figura 10 es un diagrama para la descripción de un concepto de unidades de codificación de acuerdo con una o más realizaciones;
la Figura 11 es un diagrama de bloques de un codificador de imagen a base de unidades de codificación, de acuerdo con una o más realizaciones;
la Figura 12 es un diagrama de bloques de un decodificador de imagen a base de unidades de codificación, de acuerdo con una o más realizaciones;
la Figura 13 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con profundidades y particiones, de acuerdo con una o más realizaciones;
la Figura 14 es un diagrama para la descripción de una relación entre una unidad de codificación y unidades de transformación, de acuerdo con una o más realizaciones;
la Figura 15 es un diagrama para la descripción de información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una o más realizaciones;
la Figura 16 es un diagrama de unidades de codificación más profundas de acuerdo con profundidades, de acuerdo con una o más realizaciones;
las Figuras 17 a 19 son diagramas para la descripción de una relación entre unidades de codificación, unidades de predicción y unidades de transformación, de acuerdo con una o más realizaciones;
la Figura 20 es un diagrama para la descripción de una relación entre una unidad de codificación, una unidad de predicción y una unidad de transformación, de acuerdo con información de modo de codificación de la Tabla 1; la Figura 21 es un diagrama de una estructura física de un disco en el que se almacena un programa, de acuerdo con una o más realizaciones;
la Figura 22 es un diagrama de una unidad de disco para la grabación y lectura de un programa usando un disco; la Figura 23 es un diagrama de una estructura general de un sistema de suministro de contenido para la proporción de un servicio de distribución de contenido;
las Figuras 24 y 25 son diagramas respectivamente de una estructura externa y una estructura interna de un teléfono móvil al que se aplican un procedimiento de codificación de video y un procedimiento de decodificación de video, de acuerdo con una o más realizaciones;
la Figura 26 es un diagrama de un sistema de difusión digital al que se aplica un sistema de comunicación, de acuerdo con una o más realizaciones; y
la Figura 27 es un diagrama que ilustra una estructura de red de un sistema informático en la nube que usa un aparato de codificación de video y un aparato de decodificación de video, de acuerdo con una o más realizaciones.
Mejor modo para llevar a cabo la invención
El mejor modo de llevar a cabo la invención se describe en las reivindicaciones adjuntas.
De acuerdo con un aspecto de una o más realizaciones, se proporciona un procedimiento de ajuste de compensación adaptativa de muestra (SAO), incluyendo el procedimiento: obtener parámetros SAO de segmento con respecto a un segmento actual a partir de un encabezamiento de segmento de una secuencia de bits recibida; obtener información de uso SAO de luminancia para un componente de luminancia del segmento actual e
5
10
15
20
25
30
35
40
45
50
55
información de uso SAO de crominancia para componentes de crominancia del mismo de entre los parámetros SAO de segmento; determinar si realizar una operación SAO en el componente de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida; y determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida.
El procedimiento puede incluir adicionalmente: obtener parámetros SAO de unidades máximas de codificación (LCU) con respecto a una LCU actual de entre LCU del segmento actual; obtener información de fusión SAO izquierda de entre los parámetros SAO de las LCU; y determinar si predecir parámetros SAO para un componente de luminancia y primer y segundo componentes de crominancia de la LCU actual usando un componente de luminancia y primer y segundo componentes de crominancia de una LCU superior vecina de la LCU actual a base de la información de fusión SAO izquierda.
La determinación de si predecir los parámetros SAO puede incluir: si se determina que los parámetros SAO de la LCU actual no se predicen usando parámetros SAO de una LCU izquierda a base de la información de fusión SAO izquierda, obtener información de fusión SAO superior de entre los parámetros SAO de las LCU; y determinar si predecir los parámetros SAO para el componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual usando el componente de luminancia y el primer y segundo componentes de crominancia de la LCU superior vecina de la LCU actual a base de la información de fusión SAO superior.
El procedimiento puede incluir adicionalmente: obtener información de tipo de SAO de luminancia para un componente de luminancia de la LCU actual e información de tipo de SAO de crominancia para componentes de crominancia del mismo de entre los parámetros SAO de las LCU; determinar si realizar una operación SAO en el componente de luminancia de la LCU actual a base de la información de tipo de SAO de luminancia obtenida; y determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia de la LCU actual a base de la información de tipo de SAO de crominancia obtenida.
El procedimiento puede incluir adicionalmente: determinar cuál de un ajuste SAO de borde y un ajuste SAO de banda se realiza en el componente de luminancia de la LCU actual a base de la información de tipo de SAO de luminancia obtenida; y determinar cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en el primer componente de crominancia y el segundo componente de crominancia de la LCU actual a base de la información de tipo de SAO de crominancia obtenida.
El procedimiento puede incluir adicionalmente: determinar la misma dirección de borde en el primer componente de crominancia y el segundo componente de crominancia de la LCU actual a base de los parámetros SAO obtenidos.
La obtención de la información de tipo de SAO de luminancia y la información de tipo de SAO de crominancia puede incluir: realizar decodificación por codificación binaria aritmética adaptativa según contexto (CABAC) en un primer contenedor de contexto de la información de tipo de SAO de luminancia y obtener información indicando si realizar el ajuste SAO en el componente de luminancia de la LCU actual; realizar decodificación por CABAC en contenedores de contexto restantes de la información de tipo de SAO de luminancia en un modo de derivación y obtener información que indica cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en el componente de luminancia de la LCU actual; realizar decodificación por CABAC en un primer contenedor de contexto de la información de tipo de SAO de crominancia y obtener información indicando si realizar el ajuste SAO en los componentes de crominancia de la LCU actual; y realizar decodificación por CABAC en contenedores de contexto restantes de la información de tipo de SAO de crominancia en el modo de derivación y obtener información que indica cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en los componentes de crominancia de la LCU actual.
El procedimiento puede incluir adicionalmente: realizar decodificación por CABAC usando el mismo modo de contexto para la información de fusión SAO izquierda e información de fusión SAO superior con respecto al componente de luminancia y los componentes de crominancia de la LCU actual.
El procedimiento puede incluir adicionalmente: realizar decodificación por CABAC en un modo de derivación para obtener información de magnitud de una compensación de entre los parámetros SAO de las LCU, en el que la información de magnitud obtenida de la compensación indica magnitud de compensación dentro de un intervalo a base de una profundidad de bit de un video y en el que, si la profundidad de bit es 8 bits, la magnitud de compensación es igual a o mayor que 0 e igual a o menor que 7 y, si la profundidad de bit es 10 bits, la magnitud de compensación es igual a o mayor que 0 e igual a o menor que 31.
El procedimiento puede incluir adicionalmente: si se determina que el ajuste SAO de banda se realiza en la LCU actual, realizar decodificación por CABAC en bits de longitudes de bit invariables en un modo de derivación para obtener información con respecto a una posición de inicio izquierda de banda a partir de al menos una parte de la información de tipo de SAO de luminancia obtenida y la información de tipo de SAO de crominancia obtenida.
El procedimiento puede incluir adicionalmente: si se determina que el ajuste SAO de banda se realiza en la LCU actual, obtener un valor de compensación para el ajuste SAO a partir de los parámetros SAO de las LCU; y, si el valor de compensación obtenido no es 0, obtener adicionalmente información de signo del valor de compensación a
5
10
15
20
25
30
35
40
45
50
55
partir de los parámetros SAO de las LCU.
El procedimiento puede incluir adicionalmente: obtener un valor de compensación para el ajuste de tipo de borde SAO a partir de los parámetros SAO de las LCU; y determinar un signo del valor de compensación a base de la dirección de borde determinada.
De acuerdo con otro aspecto de una o más realizaciones, se proporciona un procedimiento de ajuste SAO, incluyendo el procedimiento: determinar si realizar una operación sAo en un componente de luminancia de un segmento actual; determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia del segmento actual; generar parámetros SAO de segmento con respecto al segmento actual que incluye información de uso SAO de luminancia indicando si realizar el ajuste SAO en el componente de luminancia del segmento actual e información de uso SAO de crominancia indicando si realizar el ajuste SAO en el primer componente de crominancia y el segundo componente de crominancia; y emitir un encabezamiento de segmento que incluye parámetros SAO de segmento.
El procedimiento puede incluir adicionalmente: determinar si predecir parámetros SAO para un componente de luminancia y primer y segundo componentes de crominancia de una LCU actual usando parámetros SAO con respecto a un componente de luminancia y primer y segundo componentes de crominancia de una LCU izquierda vecina de la LCU actual a base de LCU del segmento actual; generar información de fusión SAO izquierda para la LCU actual a base de la determinación; determinar si predecir los parámetros SAO para el componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual usando parámetros SAO con respecto a un componente de luminancia y primer y segundo componentes de crominancia de una LCU superior vecina de la LCU actual; generar información de fusión SAO superior para la LCU actual a base de la determinación; y generar parámetros SAO de LCU con respecto a la LCU actual que incluye al menos una parte de la información de fusión SAO izquierda y la información de fusión SAO superior.
El procedimiento puede incluir adicionalmente: determinar si realizar la operación SAO en un componente de luminancia de la LCU actual; determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia de la LCU actual; y generar parámetros SAO de las LCU con respecto a la LCU actual que incluye información de tipo de SAO de luminancia indicando si realizar el ajuste SAO en el componente de luminancia de la LCU actual e información de tipo de SAO de crominancia indicando si realizar el ajuste SAO en el primer componente de crominancia y el segundo componente de crominancia.
El procedimiento puede incluir adicionalmente: determinar cuál de un ajuste SAO de borde y un ajuste SAO de banda se realiza en el componente de luminancia de la LCU actual; determinar cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en el primer componente de crominancia y el segundo componente de crominancia de la LCU actual; y generar información de tipo de SAO de luminancia que indica cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en el componente de luminancia e información de tipo de SAO de crominancia que indica cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en el primer componente de crominancia y el segundo componente de crominancia.
El procedimiento puede incluir adicionalmente: generar información con respecto a la misma dirección de borde del primer componente de crominancia y el segundo componente de crominancia de la LCU actual.
La generación de la información de tipo de SAO de luminancia y la información de tipo de SAO de crominancia puede incluir: realizar codificación por CABAC en un primer contenedor de contexto de información indicando si realizar la operación SAO en el componente de luminancia de la LCU actual y realizar codificación por CABAC en contenedores de contexto restantes de información cuál del ajuste SAO de borde y el ajuste SAO de banda se realiza en el componente de luminancia de la LCU actual en un modo de derivación.
La generación de los parámetros SAO de las LCU puede incluir: realizar codificación por CABAC usando el mismo modo de contexto para la información de fusión sAo izquierda e información de fusión SAO superior de entre los parámetros SAO de las LCU con respecto a la LCU actual.
El procedimiento puede incluir adicionalmente: realizar codificación por CABAC en el modo de derivación en información de magnitud de una compensación de entre los parámetros SAO de las LCU.
El procedimiento puede incluir adicionalmente: si se determina que el ajuste SAO de banda se realiza en la LCU actual, realizar codificación por CABAC en bits de longitudes de bit invariables de información con respecto a una posición de inicio izquierda de banda a partir de al menos una parte de la información de tipo de SAO de luminancia obtenida y la información de tipo de SAO de crominancia obtenida en el modo de derivación.
La generación de los parámetros SAO de las LCU puede incluir: si se determina que el ajuste SAO de banda se realiza en la LCU actual, determinar un valor de compensación para el ajuste SAO de banda; y generar los parámetros SAO de las LCU que incluyen adicionalmente el valor de compensación determinado, en el que la generación de los parámetros SAO incluye: si el valor de compensación obtenido no es 0, determinar un signo del valor de compensación; y generar los parámetros SAO de las LCU que incluyen adicionalmente información de signo del valor de compensación.
5
10
15
20
25
30
35
40
45
50
55
De acuerdo con otro aspecto de una o más realizaciones, se proporciona un aparato de decodificación de video, incluyendo el aparato: un obtentor de parámetro SAO para la obtención de parámetros SAO de segmento con respecto a un segmento actual a partir de un encabezamiento de segmento de una secuencia de bits recibida, y obtener información de uso SAO de luminancia para un componente de luminancia del segmento actual e información de uso SAO de crominancia para componentes de crominancia del mismo de entre los parámetros SAO de segmento; un determinador SAO para la determinación de si realizar una operación SAO en el componente de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida y determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida; y un ajustador SAO para la realización del ajuste SAO en el componente de luminancia y el primer y segundo componentes de crominancia del segmento actual reconstruido realizando decodificación en símbolos codificados del segmento actual obtenido a partir de la secuencia de bits recibida a base de una determinación del determinador SAO.
De acuerdo con otro aspecto de una o más realizaciones, se proporciona un aparato de codificación de video, incluyendo el aparato: un codificador para la realización de predicción, transformación y cuantificación en un segmento actual de un video y realizar predicción inversa, transformación inversa y compensación de movimiento en coeficientes de transformación cuantificados; un determinador SAO para la determinación de si realizar una operación SAO en un componente de luminancia del segmento actual y determinar igualmente si realizar el ajuste SAO en un primer componente de crominancia y un segundo componente de crominancia del segmento actual; y un codificador de parámetro SAO para la generación de parámetros SAO de segmento con respecto al segmento actual, incluyendo los parámetros SAO de segmento información de uso SAO de luminancia indicando si realizar el ajuste SAO en el componente de luminancia e información de uso SAO de crominancia indicando si realizar el ajuste SAO en el primer componente de crominancia y el segundo componente de crominancia a base de una determinación del determinador SAO, y generar un encabezamiento de segmento que incluye los parámetros SAO de segmento.
De acuerdo con otro aspecto de una o más realizaciones, se proporciona un medio de grabación legible por ordenador no transitorio que tiene grabado en el mismo un programa informático para la ejecución del procedimiento de ajuste SAO.
Modo para la invención
En lo sucesivo, se describirán operaciones de codificación de video y operaciones de decodificación de video que usan una operación de compensación adaptativa de muestra (SAO) a base de clasificación de píxel, de acuerdo con una o más realizaciones, con referencia a las Figuras 1 a 7F. También, se describirán una operación SAO a base de clasificación de píxel en operaciones de codificación de video y operaciones de decodificación de video a base de unidades de codificación que tienen una estructura de árbol, de acuerdo con una o más realizaciones, con referencia a las Figuras 8 a 20. En lo sucesivo, una 'imagen' puede indicar una imagen fija o una imagen en movimiento de un video o un video en sí mismo.
Operaciones de codificación de video y operaciones de decodificación de video que usan ajuste SAO a base de clasificación de píxel, de acuerdo con una o más realizaciones, se describirán ahora con referencia a las Figuras 1 a 7F. Un aparato 10 de codificación de video y un aparato 20 de decodificación de video que se describirán a continuación con referencia a las Figuras 1A, 1B, 2A, y 2B realizan una operación SAO para minimizar un error entre píxeles originales y píxeles reconstruidos. Realizando la operación SAO de acuerdo con una realización, el aparato 10 de codificación de video clasifica píxeles de cada bloque de imagen en grupos de píxeles preestablecidos, asigna cada píxel a un correspondiente grupo de píxeles y codifica un valor de compensación que indica un valor promedio de errores entre los píxeles originales y los píxeles reconstruidos incluidos en el mismo grupo de píxeles.
Se señalizan muestras entre el aparato 10 de codificación de video y el aparato 20 de decodificación de video. Es decir, el aparato 10 de codificación de video puede codificar y transmitir muestras en forma de una secuencia de bits y el aparato 20 de decodificación de video puede analizar y reconstruir las muestras a partir de la secuencia de bits recibida. Para minimizar un error entre píxeles originales y píxeles reconstruidos ajustando valores de píxel de los píxeles reconstruidos mediante una compensación determinada de acuerdo con clasificación de píxel, el aparato 10 de codificación de video y el aparato 20 de decodificación de video señalizan parámetros SAO para el ajuste SAO. Entre el aparato 10 de codificación de video y el aparato 20 de decodificación de video, se codifican y transmiten y reciben valores de compensación como los parámetros SAO de tal forma que los valores de compensación se decodifican a partir de los parámetros SAO.
Así pues, el aparato 20 de decodificación de video de acuerdo con una realización puede generar una imagen reconstruida que tiene un error minimizado entre una imagen original y la imagen reconstruida decodificando una secuencia de bits recibida, generar píxeles reconstruidos de cada uno de bloques de imágenes, reconstruir valores de compensación a partir de la secuencia de bits y ajustar los píxeles reconstruidos mediante los valores de compensación.
Una operación del aparato 10 de codificación de video que realiza una operación SAO se describirá ahora con referencia a las Figuras 1A y 1B. Una operación del aparato 20 de decodificación de video que realiza el ajuste SAO
5
10
15
20
25
30
35
40
45
50
se describirá ahora con referencia a las Figuras 2A y 2B.
Las Figuras 1A y 1B, respectivamente, son un diagrama de bloques del aparato 10 de codificación de video y un diagrama de flujo de una operación SAO realizada mediante el aparato 10 de codificación de video, de acuerdo con una o más realizaciones.
El aparato 10 de codificación de video incluye un codificador 12, un determinador 14 SAO y un codificador 16 de parámetro SAO.
El aparato 10 de codificación de video recibe una entrada de imágenes tales como segmentos de un video, divide cada imagen en bloques y codifica cada bloque. Un bloque puede tener una forma cuadrada, una forma rectangular o una forma geométrica arbitraria y no se limita a una unidad de datos que tiene un tamaño predeterminado. El bloque de acuerdo con una o más realizaciones puede ser una unidad máxima de codificación (LCU) o una CU entre unidades de codificación de acuerdo con una estructura de árbol. A continuación se describirán procedimientos de codificación y decodificación de video a base de unidades de codificación de acuerdo con una estructura de árbol con referencia a las Figuras 8 a 20.
El aparato 10 de codificación de video puede dividir cada imagen de entrada en LCU y puede emitir datos resultantes generados realizando predicción, transformación y codificación por entropía en muestras de cada LCU, como una secuencia de bits. Muestras de un LCU pueden ser datos de valores de píxeles de píxeles incluidos en la LCU.
El codificador 12 puede codificar individualmente LCU de una instantánea. El codificador 12 puede codificar una LCU actual a base de unidades de codificación divididas a partir de la LCU actual y que tienen una estructura de árbol.
Para codificar la LCU actual, el codificador 12 puede codificar muestras realizando intra predicción, inter predicción, transformación y cuantificación en cada una de unidades de codificación incluidas en la LCU actual y que tienen una estructura de árbol.
El codificador 12 puede reconstruir las muestras codificadas incluidas en la LCU actual realizando descuantificación, transformación inversa e inter predicción o intra compensación en cada una de las unidades de codificación que tienen una estructura de árbol para decodificar las unidades de codificación.
Para minimizar un error entre píxeles originales antes de que se codifique la LCU actual y píxeles reconstruidos después de que se decodifique la LCU actual, el aparato 10 de codificación de video puede determinar valores de compensación que indican valores de diferencia entre los píxeles originales y los píxeles reconstruidos.
El codificador 12 puede realizar predicción, transformación y cuantificación en un segmento actual del video y realizar descuantificación, transformación inversa y compensación de movimiento en coeficientes de transformación cuantificados. El codificador 12 puede realizar primeramente predicción, transformación y cuantificación en cada una de unidades de codificación del segmento actual del video. Para generar una imagen de referencia para inter predicción, el codificador 12 puede realizar descuantificación, transformación inversa y compensación de movimiento en los coeficientes de transformación cuantificados para generar una imagen reconstruida. Una imagen reconstruida de una imagen previa puede referirse para inter predicción de una imagen siguiente.
El determinador 14 SAO puede realizar operaciones SAO para cada componente de color. Por ejemplo, con respecto a una imagen de color YCrCb, las operaciones SAO pueden realizarse en un componente de luminancia (un componente Y) y primer y segundo componentes de crominancia (componentes Cr y Cb).
El determinador 14 SAO puede determinar si realizar las operaciones SAO en un componente de luminancia del segmento actual. El determinador 14 SAO puede determinar igualmente si realizar las operaciones SAO en primer y segundo componentes de crominancia del segmento actual. Es decir, si la operación SAO puede realizarse en un primer componente de color de crominancia, las operaciones SAO pueden realizarse en el segundo componente de crominancia y, si la operación SAO puede no realizarse en el primer componente de color de crominancia, la operación SAO puede no realizarse en el segundo componente de crominancia.
El codificador 16 de parámetro SAO puede generar un parámetro SAO de segmento con respecto al segmento actual para incluir el parámetro SAO de segmento en un encabezamiento de segmento del segmento actual.
El codificador 16 de parámetro SAO puede generar información de uso SAO de luminancia indicando si realizar la operación SAO en el componente de luminancia de acuerdo con una determinación del determinador 14 SAO. El codificador 16 de parámetro SAO puede generar información de uso SAO de crominancia indicando si realizar la operación SAO en el primer y segundo componentes de crominancia de acuerdo con la determinación del determinador 14 SAO.
El codificador 16 de parámetro SAO puede incluir la información de uso SAO de luminancia y la información de uso SAO de crominancia en el parámetro SAO de segmento.
5
10
15
20
25
30
35
40
45
50
55
El determinador 14 SAO puede determinar los valores de compensación con respecto a LCU. Parámetros SAO que incluyen los valores de compensación, un tipo de SAO y una clase de SAO también pueden determinarse con respecto a LCU.
El determinador 14 SAO puede determinar el tipo de SAO de acuerdo con un procedimiento de clasificación de valor de píxel de la LCU actual. El tipo de SAO de acuerdo con realizaciones puede determinarse como un tipo de borde o un tipo de banda. De acuerdo con un procedimiento de clasificación de valor de píxel de un bloque actual, puede determinarse si clasificar píxeles del bloque actual de acuerdo con el tipo de borde o el tipo de banda.
Si el tipo de SAO es el tipo de borde, de acuerdo con una dirección y una forma de bordes formados entre los píxeles reconstruidos de la LCU actual y sus píxeles adyacentes, puede determinarse una compensación entre los píxeles reconstruidos y los píxeles originales.
Si el tipo de SAO es el tipo de banda, de entre una pluralidad de bandas obtenidas dividiendo un intervalo total de valores de píxel de los píxeles reconstruidos de la LCU actual, puede determinarse una compensación entre los píxeles reconstruidos y los píxeles originales incluidos en cada banda. Las bandas pueden obtenerse dividiendo homogénea o heterogéneamente el intervalo total de los valores de píxel.
Por consiguiente, el determinador 14 SAO puede determinar el tipo de SAO de la LCU actual, que indica el tipo de borde o el tipo de banda, a base de características espaciales de valores de píxel de la LCU actual.
El determinador 14 SAO puede determinar una clase de SAO de cada uno de los píxeles reconstruidos de acuerdo con el tipo de SAO de la LCU actual. La clase de SAO puede determinarse como una clase de borde o una clase de banda.
Con respecto al tipo de borde, la clase de borde puede indicar una dirección de bordes formados entre los píxeles reconstruidos y sus píxeles adyacentes. La clase de borde puede indicar una dirección de borde de 0°, 90°, 45° o 135°.
Si el tipo de SAO es el tipo de borde, el determinador 14 SAO puede determinar la clase de borde de cada uno de los píxeles reconstruidos de la LCU actual.
Con respecto al tipo de banda, de entre una pluralidad de bandas que son un número predeterminado de intervalos de valor de píxel continuos obtenidos dividiendo un intervalo total de valores de píxel de la LCU actual, la clase de banda puede indicar posiciones de las bandas a las que pertenecen los valores de píxel de los píxeles reconstruidos.
Por ejemplo, con respecto a una muestra que tiene un valor de píxel de 8 bits, un intervalo total del valor de píxel es desde 0 a 255 y el valor de píxel puede clasificarse en un total de 32 bandas. En este caso, de entre el total de 32 bandas, puede determinarse un número predeterminado de bandas a las que pertenecen los valores de píxel de los píxeles reconstruidos. La clase de banda puede indicar una posición de inicio (una posición de inicio izquierda) de un número predeterminado de bandas continuas usando uno de índices de banda desde 0 a 31.
Con respecto al tipo de borde, los píxeles reconstruidos de la LCU actual pueden clasificarse en un número predeterminado de categorías de acuerdo con la forma de bordes formados entre los píxeles reconstruidos y sus píxeles adyacentes. Por ejemplo, de acuerdo con cuatro formas de borde tales como un valle local de un borde cóncavo, una esquina curva de un borde cóncavo, una esquina curva de un borde convexo y un pico local de un borde convexo, los píxeles reconstruidos pueden clasificarse en cuatro categorías. De acuerdo con una forma de borde de cada uno de los píxeles reconstruidos de la LCU actual, puede determinarse una de las cuatro categorías.
Con respecto al tipo de banda, de acuerdo con posiciones de bandas a las que pertenecen los valores de píxel de los píxeles reconstruidos de la LCU actual, los píxeles reconstruidos pueden clasificarse en un número predeterminado de categorías. Por ejemplo, de acuerdo con índices de bandas de cuatro bandas continuas desde una posición de banda de inicio, es decir, una posición de inicio de una banda más a la izquierda, indicada mediante la clase de banda, los píxeles reconstruidos pueden clasificarse en cuatro categorías. De acuerdo con una de las cuatro bandas, a las que pertenecen cada uno de los píxeles reconstruidos de la LCU actual, puede determinarse una de las cuatro categorías.
El determinador 14 SAO puede determinar una categoría de cada uno de los píxeles reconstruidos de la LCU actual. Con respecto a los píxeles reconstruidos de la LCU actual, que pertenecen a la misma categoría, el determinador 14 SAO puede determinar valores de compensación usando valores de diferencia entre los píxeles reconstruidos y los píxeles originales. En cada categoría, puede determinarse un promedio de los valores de diferencia entre los píxeles reconstruidos y los píxeles originales, es decir, un error promedio de los píxeles reconstruidos, como un valor de compensación que corresponde a una categoría actual. El determinador 14 SAO puede determinar un valor de compensación de cada categoría y puede determinar valores de compensación de todas las categorías como los valores de compensación de la LCU actual.
Por ejemplo, si el tipo de SAO de la LCU actual es el tipo de borde y los píxeles reconstruidos se clasifican en cuatro
5
10
15
20
25
30
35
40
45
50
categorías de acuerdo con formas de borde, o si el tipo de SAO de la LCU actual es el tipo de banda y los píxeles reconstruidos se clasifican en cuatro categorías de acuerdo con índices de cuatro bandas continuas, el determinador 14 SAO puede determinar cuatro valores de compensación determinando un error promedio entre los píxeles reconstruidos y los píxeles originales, que pertenecen a cada una de las cuatro categorías.
Cada uno de los valores de compensación puede ser mayores que o iguales a un valor mínimo preestablecido y puede ser menor o igual a un valor mínimo preestablecido.
El codificador 16 de parámetro SAO puede codificar y emitir parámetros SAO que incluyen el tipo de SAO, la clase de SAO y los valores de SAO de la lCu actual, que se determinan mediante el determinador 14 SAO.
Parámetros SAO de cada bloque pueden incluir un tipo de SAO y valores de SAO del bloque. Como el tipo de SAO, puede emitirse un tipo de desactivación, el tipo de borde o el tipo de banda.
Si el tipo de SAO es el tipo de desactivación, puede indicarse que operaciones SAO no se aplican a la LCU actual. En este caso, otros parámetros SAO de la LCU actual no necesitan codificarse.
Si el tipo de SAO es el tipo de borde, los parámetros SAO pueden incluir valores de compensación que corresponden individualmente a clases de bordes. También, si el tipo de SAO es el tipo de banda, los parámetros SAO pueden incluir valores de compensación que corresponden individualmente a bandas. Es decir, el codificador 16 de parámetro SAO puede codificar parámetros SAO de cada bloque.
Un procedimiento de emitir los parámetros SAO se describirá ahora en detalle con referencia a un diagrama de flujo de la operación SAO de la Figura 1B a continuación.
El codificador 12 puede codificar una LCU actual entre una pluralidad de LCU del segmento actual a base de unidades de codificación que tienen una estructura de árbol.
En la operación 11, el determinador 14 de parámetro SAO puede determinar si realizar la operación SAO en el componente de luminancia del segmento actual. En la operación 13, el determinador 14 de parámetro SAO puede determinar igualmente si realizar la operación SAO en primer y segundo componentes de crominancia del segmento actual.
En la operación 15, el determinador 14 de parámetro SAO puede generar la información de uso SAO de luminancia de acuerdo con una determinación en la operación 11 y puede generar la información de uso SAO de crominancia de acuerdo con una determinación en la operación 13. El determinador 14 de parámetro SAO puede generar el parámetro SAO de segmento que incluye la información de uso SAO de luminancia y la información de uso SAO de crominancia con respecto al segmento actual.
En la operación 17, el determinador 14 de parámetro SAO puede emitir el encabezamiento de segmento que incluye el parámetro SAO de segmento generado en la operación 15.
El determinador 14 de parámetro SAO puede determinar un primer parámetro SAO de la LCU actual. El primer parámetro SAO puede incluir un tipo de SAO indicando si un procedimiento de clasificación de valor de píxel de la LCU actual es un tipo de borde o un tipo de banda, una clase de SAO que indica una dirección de borde de acuerdo con el tipo de borde o un intervalo de banda de acuerdo con el tipo de banda, y valores de SAO que indica valores de diferencia entre píxeles reconstruidos y píxeles originales incluidos en la clase de SAO.
El codificador 16 de parámetro SAO puede emitir valores de compensación que corresponde a un número predeterminado de categorías.
En la operación 17, si el codificador 16 de parámetro SAO emite información de tipo de SAO que indica el tipo de borde, de acuerdo con una dirección de borde de los píxeles reconstruidos incluidos en la LCU actual, puede emitirse una clase de borde que indica una dirección de 0°, 90°, 45° o 135°.
En la operación 17, si el codificador 16 de parámetro SAO emite información de tipo de SAO que indica el tipo de banda, puede emitirse una clase de banda que indica una posición de banda de los píxeles reconstruidos incluidos en la LCU actual.
En la operación 17, si el codificador 16 de parámetro SAO emite la información de tipo de SAO que indica el tipo de banda, como un valor de compensación, puede emitirse información de valor cero indicando si el valor de compensación es o no 0. Si el valor de compensación es 0, el codificador 16 de parámetro SAO puede emitir únicamente la información de valor cero como el valor de compensación.
Si el valor de compensación no es 0, el codificador 16 de parámetro SAO puede emitir adicionalmente información de signo indicando si el valor de compensación es un número positivo o un número negativo, y un remanente, seguidos por una información de valor cero.
En la operación 17, si el codificador 16 de parámetro SAO emite información de tipo de SAO que indica el tipo de
5
10
15
20
25
30
35
40
45
50
55
borde, pueden emitirse la información de valor cero y el remanente. Con respecto al tipo de borde, la información de signo del valor de compensación no necesita emitirse porque un signo del valor de compensación es predecible a base de únicamente una categoría de acuerdo con una forma de borde. A continuación se describirá un procedimiento de predicción del signo del valor de compensación con referencia a las Figuras 5A y 5B.
El determinador 14 SAO puede determinar si realizar la operación SAO y tipos de SAO con respecto a LCU de acuerdo con componentes de color.
El determinador 14 SAO puede determinar si realizar la operación SAO en un componente de luminancia de la LCU actual. El codificador 16 de parámetro SAO puede generar información de tipo de SAO de luminancia indicando si realizar la operación SAO en el componente de luminancia de la LCU actual.
El determinador 14 SAO puede determinar igualmente si realizar la operación SAO en primer y segundo componentes de crominancia de la LCU actual. El codificador 16 de parámetro SAO puede generar información de tipo de SAO de crominancia indicando si realizar la operación SAO en el primer y segundo componentes de crominancia de la LCU actual.
El determinador 14 SAO puede determinar cuál de una operación SAO de borde y una operación SAO de banda se realiza en el componente de luminancia de la LCU actual. El codificador 16 de parámetro SAO puede generar información de tipo de SAO de luminancia que indica cuál de la operación SAO de borde y la operación SAO de banda se realiza en el componente de luminancia de la LCU actual.
El determinador 14 SAO puede determinar cuál de la operación SAO de borde y la operación SAO de banda se realiza en el primer y segundo componentes de crominancia de la LCU actual. El codificador 16 de parámetro SAO puede generar información de tipo de SAO de crominancia que indica cuál de la operación SAO de borde y la operación SAO de banda se realiza en el primer y segundo componentes de crominancia de la LCU actual.
Si el determinador 14 SAO determina realizar la operación SAO de borde en el primer y segundo componentes de crominancia de la LCU actual, el determinador 14 SAO puede determinar una clase de SAO en la misma dirección de borde con respecto al primer y segundo componentes de crominancia de la LCU actual. Por lo tanto, el codificador 16 de parámetro SAO puede generar un parámetro SAO que incluye información en la misma dirección de borde del primer y segundo componentes de crominancia de la LCU actual.
El determinador 16 de parámetro SAO puede incluir la información de tipo de SAO de luminancia y la información de tipo de SAO de crominancia en el parámetro SAO de la LCU actual.
El codificador 16 de parámetro SAO puede emitir Información de fusión SAO de la LCU actual indicando si adoptar un segundo parámetro SAO de una de una LCU izquierda y una LCU superior vecina de la LCU actual como un primer parámetro SAO de la LCU actual, a base de igualdad entre el primer parámetro SAO y el segundo parámetro SAO.
Si parámetros SAO de al menos una de las LCU izquierda y superior de la LCU actual son los mismos que los de la LCU actual, el codificador 16 de parámetro SAO puede no codificar los parámetros SAO de la LCU actual y puede codificar únicamente la información de fusión SAO. En este caso, puede emitirse información de fusión SAO que indica que los parámetros SAO de la LCU izquierda y superior se adoptan como los parámetros SAO de la lCu actual.
Si los parámetros SAO de las LCU izquierda y superior son diferentes de los parámetros SAO de la LCU actual, el codificador 16 de parámetro SAO puede codificar la información de fusión sAo y los parámetros SAO de la LCU actual. En este caso, puede emitirse información de fusión SAO que indica que los parámetros SAO de la LCU izquierda y superior no se adoptan como los parámetros SAO de la LCU actual.
Si el segundo parámetro SAO de la LCU izquierda o la LCU superior de la LCU actual es el mismo que el primer parámetro SAO, el primer parámetro SAO puede predecirse a base del segundo parámetro SAO. Cuando el codificador 16 de parámetro SAO adopta el segundo parámetro SAO como el primer parámetro SAO, el codificador 16 de parámetro SAO puede emitir únicamente la información de fusión SAO y puede no emitir el tipo de SAO, la clase de SAO y los valores de compensación de la LCU actual.
Si el segundo parámetro SAO de la LCU izquierda o la LCU superior de la LCU actual no es el mismo que el primer parámetro SAO, el primer parámetro SAO puede predecirse separadamente del segundo parámetro SAO. En la operación 19, cuando el codificador 16 de parámetro SAO no adopta el segundo parámetro SAO como el primer parámetro SAO, el codificador 16 de parámetro SAO puede emitir el primer parámetro SAO para incluir el tipo de SAO, la clase de SAO y los valores de compensación de la LCU actual, además de la información de fusión SAO de la LCU actual.
Cuando el codificador 16 de parámetro SAO emite un tipo de SAO, una clase de SAO y valores de compensación del primer parámetro SAO, el codificador 16 de parámetro SAO puede emitir secuencialmente el tipo de SAO, el valor de compensación para cada categoría y la clase de SAO de la LCU actual.
5
10
15
20
25
30
35
40
45
50
Si se realiza la operación SAO, el determinador 14 SAO puede determinar información de fusión SAO y parámetros SAO de cada una de las LCU. En este caso, el codificador 16 de parámetro SAO puede emitir información de uso SAO que indica que se realiza la operación SAO en el segmento actual y a continuación puede emitir la información de fusión SAO y los parámetros SAO de cada una de las LCU.
Si la operación SAO no se realiza en el segmento actual, el determinador 14 SAO puede no necesitar determinar una compensación de cada una de las LCU del segmento actual y el codificador 16 de parámetro SAO puede emitir únicamente información de uso SAO que indica que no se realiza ajuste de compensación en el segmento actual.
El determinador 14 SAO puede no determinar diferentemente los parámetros SAO de la LCU actual para cada componente de color, pero puede determinar igualmente los mismos con respecto a los componentes de luminancia y crominancia a base del parámetro SAO de la LCU izquierda o la LCU superior vecina de la LCU actual.
El determinador 14 SAO puede determinar si predecir los parámetros SAO con respecto al componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual usando parámetros SAO con respecto a un componente de luminancia y primer y segundo componentes de crominancia de la LCU izquierda de la LCU actual entre las LCU del segmento actual.
El codificador 16 de parámetro SAO puede generar información de fusión SAO izquierda para la LCU actual a base de si predecir los parámetros SAO de la LCU actual usando los parámetros SAO de la LCU izquierda. Es decir, la misma información de fusión SAO izquierda puede generarse sin distinción del componente de luminancia y el primer y segundo componentes de crominancia.
El determinador 14 SAO puede determinar si predecir los parámetros SAO con respecto al componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual usando parámetros SAO con respecto a un componente de luminancia y primer y segundo componentes de crominancia de la LCU superior de la LCU actual entre las LCU del segmento actual.
El codificador 16 de parámetro SAO puede generar información de fusión SAO superior para la LCU actual a base de si predecir los parámetros SAO de la LCU actual usando los parámetros SAO de la LCU superior.
El codificador 16 de parámetro SAO puede generar parámetros SAO de las LCU que incluye la información de fusión SAO de la LCU izquierda y la información de fusión SAO de la LCU superior con respecto a la LCU actual.
El aparato 10 de codificación de video puede realizar codificación por entropía en símbolos codificados que incluye coeficientes de transformación cuantificados e información de codificación para generar una secuencia de bits. El aparato 10 de codificación de video 10 puede realizar codificación por entropía basada en codificación binaria aritmética adaptativa según contexto (CABAC) en parámetros SAO.
El aparato 10 de codificación de video puede realizar codificación por CABAC en un primer contenedor de contexto que indica información incluida en la información de tipo de sAo de luminancia con respecto a si realizar la operación SAO en el componente de luminancia de la LCU actual.
El aparato 10 de codificación de video puede realizar la codificación por CABAC, en un modo de derivación, en contenedores de contexto restantes que indican información incluida en la información de tipo de SAO de luminancia con respecto a cuál de la operación SAO de borde y la operación SAO de banda se realiza en el componente de luminancia de la LCU actual.
El aparato 10 de codificación de video puede realizar la codificación por CABAC, en el mismo modo de contexto, en la información de fusión SAO izquierda y la información de fusión SAO entre los parámetros SAO de las LCU con respecto a la LCU actual.
El aparato 10 de codificación de video puede realizar la codificación por CABAC, en el modo de derivación, en información de magnitud de compensaciones incluidas en los parámetros SAO de las LCU. La información de magnitud de compensaciones puede indicar magnitud de compensación dentro de un intervalo a base de una profundidad de bit de un video. Por ejemplo, cuando la profundidad de bit es 8 bits, la magnitud de compensación puede ser igual a o mayor que 0 e igual a o menor que 7. Para otro ejemplo, cuando la profundidad de bit es 10 bits, la magnitud de compensación puede ser igual a o mayor que 0 e igual a o menor que 31.
Cuando se determina que la operación SAO de banda se realiza en la LCU actual, el aparato 10 de codificación de video puede realizar la codificación por CABAC, en el modo de derivación, en bits de una longitud de bits invariable de información con respecto a una posición de inicio izquierda de banda de al menos una de la información de tipo de SAO de luminancia y la información de tipo de SAO de crominancia.
Cuando se determina que la operación SAO de banda se realiza en la LCU actual, el determinador 140 SAO puede determinar un valor de compensación para la operación SAO de banda. Por consiguiente, el codificador 10 de parámetro SAO puede generar parámetros SAO de las LCU que incluyen adicionalmente el valor de compensación para la operación SAO de banda.
5
10
15
20
25
30
35
40
45
50
55
Cuando el valor de compensación para la operación SAO de banda no es 0, el determinador 140 SAO puede determinar adicionalmente un signo del valor de compensación. Por consiguiente, el codificador 16 de parámetro SAO puede generar parámetros SAO de las LCU que incluyen adicionalmente información de signo del valor de compensación.
El aparato 10 de codificación de video puede incluir un procesador central (no mostrado) para el control colectivo del codificador 12, el determinador 14 SAO y el codificador 16 de parámetro SAO. Como alternativa, el codificador 12, el determinador 14 SAO y el codificador 16 de parámetro SAO pueden accionarse mediante sus procesadores individuales (no mostrado) que operan cooperativamente para controlar el aparato 10 de codificación de video. Como alternativa, un procesador externo (no mostrado) fuera del aparato 10 de codificación de video puede controlar el codificador 12, el determinador 14 SAO y el codificador 16 de parámetro SAO.
El aparato 10 de codificación de video puede incluir uno o más almacenamientos de datos (no mostrado) para el almacenamiento de datos de entrada y salida del codificador 12, el determinador 14 SAO y el codificador 16 de parámetro SAO. El aparato 10 de codificación de video puede incluir un controlador de memoria (no mostrado) para la gestión de datos introducidos y emitidos a y desde los almacenamientos de datos.
Para realizar una operación de codificación de video que incluye transformación y para emitir un resultado de la operación de codificación de video, el aparato 10 de codificación de video puede operar en asociación con un procesador de codificación de video interno o externo. El procesador de codificación de video interno del aparato 10 de codificación de video puede ser un procesador independiente para la realización de una operación de codificación de video. También, el aparato 10 de codificación de video, una unidad de procesamiento central o una unidad de procesamiento gráfico puede incluir un módulo de procesador de codificación de video para realizar una operación de codificación de video básica.
Las Figuras 2A y 2B, respectivamente, son un diagrama de bloques del aparato 20 de decodificación de video y un diagrama de flujo de una operación SAO realizada mediante el aparato 20 de decodificación de video, de acuerdo con una o más realizaciones
El aparato 20 de decodificación de video incluye un obtentor 22 de parámetro SAO, un determinador 24 SAO y un ajustador 26 SAO.
El aparato 20 de decodificación de video recibe una secuencia de bits que incluye datos codificados de un video. El aparato 20 de decodificación de video puede analizar muestras de video codificadas a partir de la secuencia de bits recibida, puede realizar decodificación por entropía, descuantificación, transformación inversa, predicción y compensación de movimiento en cada bloque de imagen para generar píxeles reconstruidos y, por lo tanto, puede generar una imagen reconstruida.
El aparato 20 de decodificación de video puede recibir valores de compensación que indican valores de diferencia entre píxeles originales y píxeles reconstruidos y puede minimizar un error entre una imagen original y la imagen reconstruida. El aparato 20 de decodificación de video puede recibir datos codificados de cada LCU del video y puede reconstruir la LCU a base de unidades de codificación divididas a partir de la LCU y teniendo una estructura de árbol.
El obtentor 22 de parámetro SAO puede obtener parámetros SAO de segmento con respecto a un segmento actual a partir de un encabezamiento de segmento de una secuencia de bits recibida. El obtentor 22 de parámetro SAO puede obtener información de uso SAO de luminancia para un componente de luminancia del segmento actual e información de uso SAO de crominancia para componentes de crominancia a partir de los parámetros SAO de segmento.
El determinador 24 SAO puede determinar si realizar operación SAO en el componente de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida mediante el obtentor 22 de parámetro SAO.
El determinador 24 SAO puede determinar igualmente si realizar la operación SAO en un primer componente de crominancia y un segundo componente de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida mediante el obtentor 22 de parámetro SAO. Es decir, si la operación SAO se realiza en el primer componente de crominancia, la operación SAO puede realizarse en el segundo componente de crominancia, y si la operación SAO no se realiza en el primer componente de crominancia, la operación SAO puede no realizarse en el segundo componente de crominancia.
El aparato 20 de decodificación de video puede realizar decodificación en símbolos codificados que incluyen muestras codificadas e información de codificación del segmento actual obtenidas a partir de la secuencia de bits recibida para reconstruir el segmento actual. El ajustador 26 SAO puede realizar la operación SAO en cada uno del componente de luminancia y el primer y segundo componentes del segmento actual reconstruido de acuerdo con una determinación del determinador 24 SAO.
Operaciones de reconstrucción de muestras de una LCU actual y ajustar compensaciones se describirán ahora con referencia a la Figura 2B.
5
10
15
20
25
30
35
40
45
50
En la operación 21, el obtentor 22 de parámetro SAO puede obtener los parámetros SAO de segmento con respecto al segmento actual a partir del encabezamiento de segmento de la secuencia de bits recibida. En la operación 23, el obtentor 22 de parámetro SAO puede obtener la información de uso SAO de luminancia y la información de uso SAO de crominancia a partir de los parámetros SAO de segmento.
En la operación 25, el determinador 24 SAO puede determinar si realizar la operación SAO en el componente de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida en la operación 23. Si la información de uso SAO de luminancia indica que se realiza la operación SAO, el ajustador 26 SAO puede realizar la operación SAO en un color de componente de luminancia del segmento actual.
En la operación 27, el determinador 24 SAO puede determinar igualmente si realizar la operación SAO en el primer componente de crominancia y el segundo componente de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida en la operación 23. Si la información de uso SAO de crominancia indica que se realiza la operación SAO, el ajustador 26 SAO puede realizar la operación SAO en el primer componente de crominancia y el segundo componente de crominancia del segmento actual.
El obtentor 22 de parámetro SAO puede extraer información de fusión SAO de la LCU actual a partir de la secuencia de bits recibida. La información de fusión SAO de la LCU actual indica si adoptar un segundo parámetro SAO de una LCU izquierda o superior de la LCU actual como un primer parámetro SAO de la LCU actual.
El obtentor 22 de parámetro SAO puede reconstruir el primer parámetro SAO que incluye un tipo de SAO, valores de compensación y una clase de SAO de la LCU actual, a base de la información de fusión SAO.
El obtentor 22 de parámetro SAO puede determinar si reconstruir el tipo de SAO, los valores de compensación y la clase de SAO de la LCU actual para ser los mismos que los del segundo parámetro SAO, o extraer el tipo de sAo, los valores de compensación y la clase de SAO a partir de la secuencia de bits, a base de la información de fusión SAO.
El determinador 24 SAO puede determinar si un procedimiento de clasificación de valor de píxel de la LCU actual es un tipo de borde o un tipo de banda, a base del tipo de SAO determinado mediante el obtentor 22 de parámetro SAO. A base del tipo de SAO, puede determinarse un tipo de desactivación, el tipo de borde o el tipo de banda.
Si el tipo de SAO es el tipo de desactivación, puede determinarse que la operación SAO no se aplica a la LCU actual. En este caso, otros parámetros SAO de la LCU actual no necesitan analizarse.
El determinador 24 SAO puede determinar un intervalo de banda de acuerdo con una dirección de borde de acuerdo con el tipo de borde o un intervalo de banda de acuerdo con un tipo de banda de la LCU actual, a base de la clase de SAO determinada mediante el obtentor 22 de parámetro SAO.
El determinador 24 SAO puede determinar valores de diferencia entre píxeles reconstruidos y píxeles originales incluidos en la anteriormente determinada clase de SAO, a base de los valores de compensación determinados mediante el obtentor 22 de parámetro SAO.
El ajustador 26 SAO puede ajustar valores de píxel de muestras reconstruidas a base de unidades de codificación divididas a partir de la LCU actual y teniendo una estructura de árbol, mediante los valores de diferencia determinados mediante el determinador 24 SAO.
El obtentor 22 de parámetro SAO puede determinar adoptar el segundo parámetro SAO de la LCU izquierda y superior como el primer parámetro SAO, a base de la información de fusión SAO. En este caso, el determinador 24 SAO puede no extraer el primer parámetro SAO de la LCU actual y puede reconstruir el primer parámetro SAO para ser el mismo que el anteriormente reconstruido segundo parámetros SAO.
El obtentor 22 de parámetro SAO puede determinar no adoptar el segundo parámetro SAO como el primer parámetro SAO, a base de la información de fusión SAO. En este caso, el determinador 24 SAO puede extraer y reconstruir el primer parámetro SAO seguido por la información de fusión SAO, a partir de la secuencia de bits.
El obtentor 22 de parámetro SAO puede extraer información de fusión SAO común del componente de luminancia, el primer componente de crominancia y el segundo componente de crominancia de la LCU actual. El determinador 24 SAO puede determinar si reconstruir parámetros SAO del componente de luminancia, parámetros SAO del primer componente de crominancia y parámetros SAO del segundo componente de crominancia para ser los mismos que los de una LCU adyacente, a base de la información de fusión SAO común.
El determinador 24 SAO puede reconstruir un tipo de SAO común del primer componente de crominancia y el segundo componente de crominancia de la LCU actual.
El determinador 24 SAO puede determinar valores de compensación que corresponde a un número predeterminado de categorías, a base de los parámetros SAO. Cada uno de los valores de compensación puede ser mayor que o igual a un valor mínimo preestablecido y puede ser menor que o igual a un valor mínimo preestablecido.
5
10
15
20
25
30
35
40
45
50
Si información de tipo de SAO indica el tipo de borde, el determinador 24 SAO puede determinar una dirección de borde de los píxeles reconstruidos incluidos en la LCU actual como 0°, 90°, 45° o 135°, a base de la clase de SAO.
Si la información de tipo de SAO indica el tipo de banda, el determinador 24 SAO puede determinar posiciones de bandas a las que pertenecen los valores de píxel de los píxeles reconstruidos, a base de la clase de SAO.
Si la información de tipo de SAO indica el tipo de banda, el determinador 24 SAO puede determinar si un valor de compensación es o no 0, a base de información de valor cero del valor de compensación. Si el valor de compensación se determina como 0 a base de la información de valor cero, información del valor de compensación diferente de la información de valor cero no se reconstruye.
Si el valor de compensación no se determina como 0 a base de la información de valor cero, el determinador 24 SAO puede determinar si el valor de compensación es un número positivo o un número negativo, a base de información de signo del valor de compensación, que se sigue por la información de valor cero. El determinador 24 SAO puede determinar finalmente un valor de compensación reconstruyendo un remanente del valor de compensación, que se sigue por la información de signo.
Si la información de tipo de SAO indica el tipo de borde y si el valor de compensación no se determina como 0 a base de la información de valor cero del valor de compensación, el determinador 24 SAO puede determinar finalmente el valor de compensación reconstruyendo el remanente del valor de compensación, que se sigue por la información de valor cero.
El aparato 20 de decodificación de video puede obtener los parámetros SAO a base de componentes de color para realizar la operación SAO.
El obtentor 22 de parámetro SAO puede obtener parámetros SAO de cada una de las LCU del segmento actual a partir de una secuencia de bits. El obtentor 22 de parámetro SAO puede obtener al menos una de información de fusión SAO izquierda e información de fusión SAO superior a partir de los parámetros SAO de las LCU.
El obtentor 22 de parámetro SAO puede determinar si predecir parámetros SAO con respecto al componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual usando parámetros SAO con respecto a un componente de luminancia y primer y segundo componentes de crominancia de la LCU superior vecina de la LCU actual a base de la información de fusión SAO izquierda.
Si la información de fusión SAO izquierda indica que un parámetro SAO actual debe predecirse usando los parámetros SAO de la LCU izquierda, parámetros SAO para cada componente de color con respecto a la LCU izquierda pueden adoptarse como parámetros SAO para cada componente de color de la LCU actual, para cada componente de color.
Si los parámetros SAO de la LCU actual se determinan que no se predicen usando los parámetros SAO de la LCU izquierda a base de la información de fusión SAO izquierda, el obtentor 22 de parámetro SAO puede obtener adicionalmente información de fusión SAO superior a partir de la secuencia de bits.
El obtentor 22 de parámetro SAO puede determinar si predecir los parámetros SAO del componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual usando los parámetros SAO con respecto al componente de luminancia y el primer y segundo componentes de crominancia de la LCU superior vecina de la LCU actual a base de la información de fusión SAO superior.
Si la información de fusión SAO superior indica que el parámetro SAO actual debe predecirse usando los parámetros SAO de la LCU superior, parámetros sAo para cada componente de color con respecto a la LCU superior pueden adoptarse como los parámetros SAO para cada componente de color de la LCU actual, para cada componente de color.
Si la información de fusión SAO superior indica que los parámetros SAO de la LCU actual no deben predecirse usando los parámetros SAO de la LCU superior, el obtentor 22 de parámetro SAO puede obtener los parámetros SAO para cada componente de color de la LCU actual a partir de la secuencia de bits.
El obtentor 22 de parámetro SAO puede obtener información de tipo de SAO de luminancia para el componente de luminancia de la LCU actual e información de tipo de SAO de crominancia para los componentes de crominancia del mismo a partir de los parámetros SAO de las lCu.
El determinador 24 SAO puede determinar si realizar la operación SAO en el componente de luminancia de la LCU actual a base de la información de tipo de SAO de luminancia. El ajustador 26 SAO puede o no realizar la operación SAO en el componente de luminancia de la LCU actual de acuerdo con una determinación del determinador 24 SAO.
El determinador 24 SAO puede determinar igualmente si realizar la operación SAO en el primer y segundo componentes de crominancia de la LCU actual a base de la información de tipo de SAO de crominancia. El ajustador 26 SAO puede o no realizar la operación SAO en el primer y segundo componentes de crominancia de la LCU actual
5
10
15
20
25
30
35
40
45
50
55
de acuerdo con la determinación del determinador 24 SAO.
El determinador 24 SAO puede determinar si realizar la operación SAO a base de un primer bit de cada una de la información de tipo de sAo de luminancia y la información de tipo de SAO de crominancia. Si se determina que la operación SAO se realiza para cada componente de color, pueden obtenerse un segundo bit y bits restantes de la correspondiente información de tipo de SAO.
El determinador 24 SAO puede determinar cuál de una operación SAO de borde y una operación SAO de banda se realiza en el componente de luminancia de la LCU actual a base de la información de tipo de SAO de luminancia. El segundo bit de la información de tipo de SAO de luminancia puede indicar la operación SAO de borde o la operación SAO de banda. El ajustador 26 SAO puede realizar una de la operación SAO de borde y la operación SAO de banda en el componente de luminancia de la LCU actual de acuerdo con una determinación del determinador 24 SAO.
El determinador 24 SAO puede determinar igualmente cuál de la operación SAO de borde y la operación SAO de banda se realiza en el primer y segundo componentes de crominancia de la LCU actual a base de la información de tipo de SAO de crominancia. El segundo bit de la información de tipo de SAO de crominancia puede indicar la operación SAO de borde o la operación SAO de banda. El ajustador 26 SAO puede realizar simultáneamente la operación SAO de borde o la operación SAO de banda en el primer y segundo componentes de crominancia de la LCU actual de acuerdo con la determinación del determinador 24 SAO.
Cuando se determina que la operación SAO de borde se realiza en el primer y segundo componentes de crominancia de la LCU actual, el determinador 24 SAO puede determinar que el primer y segundo componentes de crominancia de la LCU actual tengan la misma dirección de borde a base de la información de tipo de SAO de crominancia.
El obtentor 24 de parámetro SAO puede realizar decodificación por CABAC en un primer contenedor de contexto de la información de tipo de SAO de luminancia para obtener la información de tipo de SAO de luminancia. Información indicando si realizar la operación SAO en el componente de luminancia de la LCU actual pueden obtenerse decodificando el primer contenedor de contexto de la información de tipo de SAO de luminancia.
El obtentor 24 de parámetro SAO puede realizar la decodificación por CABAC en contenedores de contexto restantes de la información de tipo de SAO de luminancia en un modo de derivación. Información que indica cuál de la operación SAO de borde y la operación SAO de banda se realiza en el componente de luminancia de la LCU actual pueden obtenerse decodificando los contenedores de contexto restantes de la información de tipo de SAO de luminancia.
De manera similar, el obtentor 24 de parámetro SAO puede realizar la decodificación por CABAC en un primer contenedor de contexto de la información de tipo de sAo de crominancia para obtener la información de tipo de SAO de crominancia. Información indicando si realizar la operación SAO en el primer y segundo componentes de crominancia de la LCU actual puede obtenerse decodificando el primer contenedor de contexto de la información de tipo de SAO de crominancia.
El obtentor 24 de parámetro SAO puede realizar la decodificación por CABAC en contenedores de contexto restantes de la información de tipo de SAO de crominancia en el modo de derivación. Información que indica cuál de la operación SAO de borde y la operación SAO de banda se realiza en el primer y segundo componentes de crominancia de la LCU actual puede obtenerse decodificando los contenedores de contexto restantes de la información de tipo de SAO de crominancia.
El obtentor 24 de parámetro SAO puede realizar la decodificación por CABAC usando el mismo modo de contexto para obtener la información de fusión SAO izquierda y la información de fusión SAO superior de la LCU actual.
El obtentor 24 de parámetro SAO puede realizar la decodificación por CABAC en el modo de derivación para obtener información de magnitud de compensaciones incluidas en los parámetros SAO de la LCU actual. La información de magnitud obtenida de compensaciones puede limitarse a un valor igual a o menor que un valor de restricción a base de una profundidad de bit de un video. La información de magnitud de compensaciones puede indicar magnitud de compensación dentro de un intervalo a base de la profundidad de bit del video. Por ejemplo, cuando la profundidad de bit es 8 bits, la magnitud de compensación puede ser igual a o mayor que 0 e igual a o menor que 7 y, cuando la profundidad de bit es 10 bits, la magnitud de compensación puede ser igual a o mayor que 0 e igual a o menor que 31.
Cuando se lee de un segundo bit de la información de tipo de SAO de crominancia que se realiza la operación SAO de banda en la LCU actual, el obtentor 24 de parámetro SAO puede realizar la decodificación por CABAC, en el modo de derivación, en bits de una longitud de bits invariable siguiendo al segundo bit de la información de tipo de SAO de crominancia. Información con respecto a una posición de inicio izquierda de banda pueden obtenerse a partir de los bits de la longitud de bits invariable de al menos una de la información de tipo de SAO de luminancia y la información de tipo de SAO de crominancia.
El obtentor 24 de parámetro SAO puede obtener un valor de compensación para la operación SAO a partir de los
5
10
15
20
25
30
35
40
45
50
55
parámetros SAO de las LCU.
Cuando la operación SAO de banda se determina que se realiza en la LCU actual a partir de la información de tipo de SAO de luminancia o la información de tipo de SAO de crominancia, si el valor de compensación obtenido no es 0, el obtentor 24 de parámetro SAO puede obtener adicionalmente información de signo del valor de compensación a partir de los parámetros SAO de las LCU.
Cuando se determina que la operación SAO de borde se realiza en la LCU actual a partir de la información de tipo de SAO de luminancia o la información de tipo de SAO de crominancia, un signo del valor de compensación puede determinarse a base de una dirección de borde determinada a base de Información de clase de SAO.
El aparato 20 de decodificación de video puede incluir un procesador central (no mostrado) para el control colectivo del obtentor 22 de parámetro SAO, el determinador 24 SAO y el ajustador 26 SAO. Como alternativa, el obtentor 22 de parámetro SAO, el determinador 24 SAO y el ajustador 26 SAO pueden accionarse mediante sus procesadores individuales (no mostrado) que operan cooperativamente para controlar el aparato 20 de decodificación de video. Como alternativa, un procesador externo (no mostrado) fuera del aparato 20 de decodificación de video puede controlar el obtentor 22 de parámetro SAO, el determinador 24 SAO y el ajustador 26 SAO.
El aparato 20 de decodificación de video puede incluir uno o más almacenamientos de datos (no mostrado) para el almacenamiento de datos de entrada y salida del obtentor 22 de parámetro SAO, el determinador 24 SAO y el ajustador 26 SAO. El aparato 20 de decodificación de video puede incluir un controlador de memoria (no mostrado) para la gestión de datos introducidos y emitidos a y desde los almacenamientos de datos.
Para realizar una operación de decodificación de video para reconstruir un video, el aparato 20 de decodificación de video puede operar en asociación con un procesador de decodificación de video interno o externo. El procesador de decodificación de video interno del aparato 20 de decodificación de video puede ser un procesador independiente para la realización de una operación de decodificación de video básica. También, el aparato 20 de decodificación de video, una unidad de procesamiento central o una unidad de procesamiento gráfico puede incluir un módulo de procesador de decodificación de video para realizar una operación de decodificación de video básica.
Operaciones de decodificación de video que usan operaciones SAO se describirán ahora en detalle con referencia a la Figura 3. La Figura 3 es un diagrama de bloques de un aparato 30 de decodificación de video de acuerdo con una o más realizaciones.
El aparato 30 de decodificación de video incluye un decodificador 31 por entropía, un descuantificador 32, un transformador 33 inverso, un reconstructor 34, un intra predictor 35, una memoria 36 intermedia de instantánea de referencia, un compensador 37 de movimiento, un filtro 38 de desbloqueo y un realizador 39 SAO.
El aparato 30 de decodificación de video puede recibir una secuencia de bits que incluye datos de video codificados. El decodificador 31 por entropía puede analizar información intra modo, información inter modo, información SAO y residuos a partir de la secuencia de bits.
Los residuos extraídos mediante el decodificador 31 por entropía pueden ser coeficientes de transformación cuantificados. Por consiguiente, el descuantificador 32 puede realizar descuantificación en los residuos para reconstruir coeficientes de transformación y el transformador 33 inverso puede realizar transformación inversa en los coeficientes reconstruidos para reconstruir valores residuales del dominio de espacio.
Para predecir y reconstruir los valores residuales del dominio de espacio, puede realizarse intra predicción o compensación de movimiento.
Si la información intra modo se extrae mediante el decodificador 31 por entropía, el intra predictor 35 puede determinar muestras de referencias a las que referirse para reconstruir muestras actuales de entre muestras espacialmente adyacentes a las muestras actuales, usando la información intra modo. Las muestras de referencias pueden seleccionarse de entre muestras anteriormente reconstruidas mediante el reconstructor 34. El reconstructor 34 puede reconstruir las muestras actuales usando las muestras de referencias determinadas a base de la información intra modo y los valores residuales reconstruidos mediante el transformador 33 inverso.
Si la información de inter modo se extrae mediante el decodificador 31 por entropía, el compensador 37 de movimiento puede determinar una instantánea de referencia a las que referirse para reconstruir muestras actuales de una instantánea actual de entre instantáneas reconstruidas anteriormente a la instantánea actual, usando la información de inter modo. La información de inter modo puede incluir vectores de movimiento, índices de referencia, etc. Usando los índices de referencia, de entre instantáneas reconstruidas anteriormente a la instantánea actual y almacenadas en la memoria 36 intermedia de instantánea de referencia, puede determinarse una instantánea de referencia a usar para realizar compensación de movimiento en las muestras actuales. Usando los vectores de movimiento, puede determinarse un bloque de referencia de la instantánea de referencia a usar para realizar compensación de movimiento en un bloque actual. El reconstructor 34 puede reconstruir las muestras actuales usando el bloque de referencia determinado a base de la información de inter modo y los valores residuales reconstruidos mediante el transformador 33 inverso.
5
10
15
20
25
30
35
40
45
50
El reconstructor 34 puede reconstruir muestras y puede emitir píxeles reconstruidos. El reconstructor 34 puede generar píxeles reconstruidos de cada una de las LCU a base de unidades de codificación que tienen una estructura de árbol.
El filtro 38 de desbloqueo puede realizar filtrado para la reducción de un fenómeno de bloqueo de píxeles dispuestos en regiones de borde de la LCU o cada una de las unidades de codificación que tienen una estructura de árbol.
También, el realizador 39 SAO puede ajustar compensaciones de píxeles reconstruidos de cada LCU de acuerdo con una operación SAO. El realizador 39 SAO puede determinar un tipo de SAO, una clase de SAO y valores de compensación de una LCU actual a base de la información SAO extraída mediante el decodificador 31 por entropía.
Una operación de extracción de la información SAO mediante el decodificador 31 por entropía puede corresponder a una operación del extractor 22 de parámetro SAO del aparato 20 de decodificación de video y operaciones del realizador 39 SAO pueden corresponder a operaciones del determinador 24 de compensación y el ajustador 26 de compensación del aparato 20 de decodificación de video.
El realizador 39 SAO puede determinar signos y valores de diferencia de los valores de compensación con respecto a los píxeles reconstruidos de la LCU actual a base de los valores de compensación determinados a partir de la información SAO. El realizador 39 SAO puede reducir errores entre los píxeles reconstruidos y píxeles originales aumentando o disminuyendo valores de píxel de los píxeles reconstruidos mediante los valores de diferencia determinados a base de los valores de compensación.
Una instantánea que incluye los píxeles reconstruidos ajustados por compensación mediante el realizador 39 SAO puede almacenarse en la memoria 36 intermedia de instantánea de referencia. Por lo tanto, usando una instantánea de referencia que ha minimizado errores entre muestras reconstruidas y píxeles originales de acuerdo con una operación SAO, puede realizarse compensación de movimiento en una siguiente instantánea.
De acuerdo con las operaciones SAO, a base de valores de diferencia entre píxeles reconstruidos y píxeles originales, puede determinarse una compensación de un grupo de píxeles que incluye los píxeles reconstruidos. Para las operaciones SAO, realizaciones para la clasificación de píxeles reconstruidos en grupos de píxeles se describirán ahora en detalle.
De acuerdo con operaciones SAO, píxeles pueden clasificarse (i) a base de un tipo de borde de píxeles reconstruidos o (ii) un tipo de banda de píxeles reconstruidos. Si píxeles se clasifican a base de un tipo de borde o un tipo de banda pueden definirse usando un tipo de SAO.
Una realización de la clasificación de píxeles a base de un tipo de borde de acuerdo con operaciones SAO se describirá ahora en detalle.
Cuando se determinan compensaciones de tipo borde de una LCU actual, puede determinarse una clase de borde de cada uno de píxeles reconstruidos incluidos en la LCU actual. Es decir, comparando valores de píxel de píxeles reconstruidos actuales y píxeles adyacentes, puede definirse una clase de borde de los píxeles reconstruidos actuales. Un ejemplo de determinación de una clase de borde se describirá ahora con referencia a la Figura 4.
La Figura 4 es una tabla que muestra clases de bordes de tipos de bordes, de acuerdo con una o más realizaciones.
Índices 0, 1,2 y 3 pueden asignarse secuencialmente a clases de bordes 41,42, 43 y 44. Si se produce un tipo de borde frecuentemente, un índice pequeño puede asignarse al tipo de borde.
Una clase de borde puede indicar una dirección de bordes unidimensionales formada entre un píxel reconstruido actual X0 y dos píxeles adyacentes. La clase de borde 41 que tiene el índice 0 indica un caso cuando bordes se forman entre el píxel reconstruido actual X0 y dos píxeles adyacentes horizontalmente X1 y X2. La clase 42 de borde que tiene el índice 1 indica un caso cuando bordes se forman entre el píxel reconstruido actual X0 y dos píxeles adyacentes verticalmente X3 y X4. La clase 43 de borde que tiene el índice 2 indica un caso cuando bordes se forman entre el píxel reconstruido actual X0 y dos píxeles adyacentes diagonalmente a 135° X5 y X8. La clase de borde 44 que tiene el índice 3 indica un caso cuando bordes se forman entre el píxel reconstruido actual X0 y dos píxeles adyacentes diagonalmente a 45° X6 y X7.
Por consiguiente, analizando direcciones de borde de píxeles reconstruidos incluidos en una LCU actual y por lo tanto determinando una dirección de borde intensa en la LCU actual, puede determinarse una clase de borde de la LCU actual.
Con respecto a cada clase de borde, categorías pueden clasificarse de acuerdo con una forma de borde de un píxel actual. Un ejemplo de categorías de acuerdo con formas de borde se describirá ahora con referencia a las Figuras 5A y 5B.
Las Figuras 5A y 5B son una tabla y un gráfico que muestran categorías de tipos de bordes, de acuerdo con una o más realizaciones.
5
10
15
20
25
30
35
40
45
50
55
Una categoría de borde indica si un píxel actual corresponde a un punto más bajo de un borde cóncavo, un píxel dispuesto en una esquina curva alrededor de un punto más bajo de un borde cóncavo, un punto más alto de un borde convexo o un píxel dispuesto en una esquina curva alrededor de un punto más alto de un borde convexo.
La Figura 5A muestra ejemplarmente condiciones para la determinación de categorías de bordes. La Figura 5B muestra ejemplarmente formas de borde entre un píxel reconstruido y píxeles adyacentes y sus valores de píxel c, a
y b.
C indica un índice de un píxel reconstruido actual y a y b indican índices de píxeles adyacentes en dos lados del píxel reconstruido actual de acuerdo con una dirección de borde. Xa, Xb y Xc respectivamente indican valores de píxel de píxeles reconstruidos que tienen los índices a, b y c. En la Figura 5B, un eje x indica índices del píxel reconstruido actual y los píxeles adyacentes en dos lados del píxel reconstruido actual y un eje y indica valores de píxel de muestras.
Categoría 1 indica un caso cuando una muestra actual corresponde a un punto más bajo de un borde cóncavo, es decir, un valle local. Como se muestra en gráfico 51 (Xc<Xa && Xc<Xb), si el píxel reconstruido actual c entre los píxeles adyacentes a y b corresponde a un punto más bajo de un borde cóncavo, el píxel reconstruido actual puede clasificarse como la categoría 1.
Categoría 2 indica un caso cuando una muestra actual se dispone en una esquina curva alrededor de un punto más bajo de un borde cóncavo, es decir, una esquina cóncava. Como se muestra en gráfico 52 (Xc<Xa && Xc==Xb), si el píxel reconstruido actual c entre los píxeles adyacentes a y b se dispone en un punto extremo de una curva hacia abajo de un borde cóncavo o, como se muestra en gráfico 53 (Xc==Xa && Xc<Xb), si el píxel reconstruido actual c se dispone en una posición de inicio de una curva hacia arriba de un borde cóncavo, el píxel reconstruido actual puede clasificarse como la categoría 2.
Categoría 3 indica un caso cuando una muestra actual se dispone en una esquina curva alrededor de un punto más alto de un borde convexo, es decir, una esquina convexa. Como se muestra en gráfico 54 (Xc>Xb && Xc=Xa), si el píxel reconstruido actual c entre los píxeles adyacentes a y b se dispone en una posición de inicio de una curva hacia abajo de un borde convexo o, como se muestra en gráfico 55 (Xc==Xb && Xc>Xa), si el píxel reconstruido actual c se dispone en un punto extremo de una curva hacia arriba de un borde convexo, el píxel reconstruido actual puede clasificarse como la categoría 3.
Categoría 4 indica un caso cuando una muestra actual corresponde a un punto más alto de un borde convexo, es decir, un pico local. Como se muestra en gráfico 56 (Xc>Xa && Xc>Xb), si el píxel reconstruido actual c entre los píxeles adyacentes a y b corresponde a un punto más alto de un borde convexo, el píxel reconstruido actual puede clasificarse como la categoría 1.
Si el píxel reconstruido actual no satisface ninguna de las condiciones de las categorías 1, 2, 3 y 4, el píxel reconstruido actual no corresponde a un borde y por lo tanto se clasifica como categoría 0 y una compensación de categoría 0 no necesita codificarse.
De acuerdo con una o más realizaciones, con respecto a píxeles reconstruidos que corresponde a la misma categoría, un valor promedio de valores de diferencia entre los píxeles reconstruidos y píxeles originales puede determinarse como una compensación de una categoría actual. También, pueden determinarse compensaciones de todas las categorías.
Los bordes cóncavos de las categorías 1 y 2 pueden suavizarse si valores de píxel reconstruidos se ajustan usando valores de compensación positivos y pueden acentuarse debido a valores de compensación negativos. Los bordes conexos de las categorías 3 y 4 pueden suavizarse debido a valores de compensación negativos y pueden acentuarse debido a valores de compensación positivos.
El aparato 10 de codificación de video puede no permitir el efecto de acentuación de bordes. En este documento, los bordes cóncavos de las categorías 1 y 2 necesitan valores de compensación positivos y los bordes conexos de las categorías 3 y 4 necesitan valores de compensación negativos. En este caso, si se conoce una categoría de un borde, puede determinarse un signo de un valor de compensación. Por consiguiente, el aparato 10 de codificación de video puede no transmitir el signo del valor de compensación y puede transmitir únicamente un valor absoluto del valor de compensación. También, el aparato 20 de decodificación de video puede no recibir el signo del valor de compensación y puede recibir únicamente un valor absoluto del valor de compensación.
Por consiguiente, el aparato 10 de codificación de video puede codificar y transmitir valores de compensación de acuerdo con categorías de una clase de borde actual, y el aparato 20 de decodificación de video puede ajustar píxeles reconstruidos de las categorías mediante los valores de compensación recibidos.
Por ejemplo, si un valor de compensación de un tipo de borde se determina como 0, el aparato 10 de codificación de video puede transmitir únicamente información de valor cero como el valor de compensación.
Por ejemplo, si un valor de compensación de un tipo de borde no es 0, el aparato 10 de codificación de video puede
5
10
15
20
25
30
35
40
45
50
55
transmitir información de valor cero y un valor absoluto como el valor de compensación. Un signo del valor de compensación no necesita transmitirse.
El aparato 20 de decodificación de video lee la información de valor cero del valor de compensación recibido y puede leer el valor absoluto del valor de compensación si el valor de compensación no es 0. El signo del valor de compensación puede predecirse de acuerdo con una categoría de borde a base de una forma de borde entre un píxel reconstruido y píxeles adyacentes.
Por consiguiente, el aparato 10 de codificación de video puede clasificar píxeles de acuerdo con direcciones de borde y formas de borde, puede determinar un valor de error promedio entre píxeles que tienen las mismas características como un valor de compensación y puede determinar valores de compensación de acuerdo con categorías. El aparato 10 de codificación de video puede codificar y transmitir información de tipo de SAO que indica un tipo de borde, información de clase de SAO que indica una dirección de borde y los valores de compensación.
El aparato 20 de decodificación de video puede recibir la información de tipo de SAO, la clase de información SAO y los valores de compensación y puede determinar una dirección de borde de acuerdo con la información de tipo de SAO y la clase de información SAO. El aparato 20 de decodificación de video puede determinar un valor de compensación de píxeles reconstruidos de una categoría que corresponde a una forma de borde de acuerdo con la dirección de borde y puede ajustar valores de píxel de los píxeles reconstruidos mediante el valor de compensación, minimizando de este modo un error entre una imagen original y una imagen reconstruida.
Una realización de la clasificación de píxeles a base de un tipo de banda de acuerdo con operaciones SAO se describirá ahora en detalle.
De acuerdo con una o más realizaciones, cada uno de los valores de píxel de píxeles reconstruidos puede pertenecer a una de una pluralidad de bandas. Por ejemplo, los valores de píxel pueden tener un intervalo total desde un valor mínimo Min de 0 hasta un valor máximo Max de 2A(p-1) de acuerdo con muestreo de p bits. Si el intervalo total (Min, Max) de los valores de píxel se divide en K intervalos, cada intervalo de los valores de píxel se denomina como una banda. Si Bk indica un valor máximo de una késima banda, bandas [B0, B-i-1], [B1, B2-1], [B2, B3- 1], ..., y [Bk-1, Bk] pueden dividirse. Si un valor de píxel de un píxel reconstruido actual Rec(x,y) pertenece a la banda [Bk-1, Bk], una banda actual puede determinarse como k. Las bandas pueden dividirse homogénea o heterogéneamente.
Por ejemplo, si valores de píxel se clasifican en bandas de píxeles de 8 bits iguales, los valores de píxel pueden dividirse en 32 bandas. En más detalle, pueden clasificarse en bandas [0, 7], [8, 15], ..., [240, 247] y [248, 255].
De entre una pluralidad de bandas clasificadas de acuerdo con un tipo de banda, puede determinarse una banda a la que pertenecen cada uno de los valores de píxel de píxeles reconstruidos. También, puede determinarse un valor de compensación que indica un promedio de errores entre píxeles originales y píxeles reconstruidos en cada banda.
Por consiguiente, el aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden codificar y transmitir y recibir una compensación que corresponde a cada una de bandas clasificadas de acuerdo con un tipo de banda actual y pueden ajustar píxeles reconstruidos mediante la compensación.
Por consiguiente, con respecto a un tipo de banda, el aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden clasificar píxeles reconstruidos de acuerdo con bandas a las que pertenecen sus valores de píxel, pueden determinar una compensación como un promedio de valores de error de píxeles reconstruidos que pertenecen a la misma banda y pueden ajustar los píxeles reconstruidos mediante la compensación, minimizando de este modo un error entre una imagen original y una imagen reconstruida.
Cuando una compensación de acuerdo con un tipo de banda se determina, el aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden clasificar píxeles reconstruidos en categorías de acuerdo con una posición de banda. Por ejemplo, si el intervalo total de los valores de píxel se divide en K bandas, categorías pueden indexarse de acuerdo con un índice de banda k que indica una késima banda. El número de categorías puede determinarse para corresponder al número de bandas.
Sin embargo, para reducir cantidad de datos, el aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden restringir el número de categorías usada para determinar compensaciones de acuerdo con operaciones SAO. Por ejemplo, un número predeterminado de bandas que son continuas desde una banda que tiene una posición de inicio predeterminada en una dirección en la que un índice de banda se aumenta pueden asignarse como categorías y únicamente puede determinarse una compensación de cada categoría.
Por ejemplo, si una banda que tiene un índice de 12 se determina como una banda de inicio, cuatro bandas de la banda de inicio, es decir, bandas que tienen índices de 12, 13, 14 y 15 pueden asignarse como categorías 1, 2, 3 y 4. Por consiguiente, un error promedio entre píxeles reconstruidos y píxeles originales incluidos en una banda que tiene el índice de 12 puede determinarse como una compensación de categoría 1. Análogamente, un error promedio entre píxeles reconstruidos y píxeles originales incluidos en una banda que tiene el índice de 13 puede determinarse como una compensación de categoría 2, un error promedio entre píxeles reconstruidos y píxeles originales incluidos
5
10
15
20
25
30
35
40
45
50
en una banda que tiene el índice de 14 puede determinarse como una compensación de categoría 3 y un error promedio entre píxeles reconstruidos y píxeles originales incluidos en una banda que tiene el índice de 15 puede determinarse como una compensación de categoría 4.
En este caso, se requiere información con respecto a una posición de inicio de intervalo de banda, es decir, una posición de banda izquierda, para determinar posiciones de bandas asignadas como categorías. Por consiguiente, el aparato 10 de codificación de video puede codificar y transmitir la información acerca de la posición de banda de inicio como la clase de SAO. El aparato 10 de codificación de video puede codificar y transmitir un tipo de SAO que indica un tipo de banda, una clase de SAO y valores de compensación de acuerdo con categorías.
El aparato 20 de decodificación de video puede recibir el tipo de SAO, la clase de SAO y los valores de compensación de acuerdo con las categorías. Si el tipo de SAO recibido es un tipo de banda, el aparato 20 de decodificación de video puede leer una posición de banda de inicio de la clase de SAO. El aparato 20 de decodificación de video puede determinar una banda a la que pertenecen píxeles reconstruidos, de entre cuatro bandas desde la banda de inicio, puede determinar un valor de compensación asignado a una banda actual de entre los valores de compensación de acuerdo con las categorías y puede ajustar valores de píxel de los píxeles reconstruidos mediante el valor de compensación.
Anteriormente en este documento, un tipo de borde y un tipo de banda se introducen como tipos de SAO y una clase de SAO y una categoría de acuerdo con el tipo de SAO se describen en detalle. Parámetros SAO codificados y transmitidos y recibidos mediante el aparato 10 de codificación de video y el aparato 20 de decodificación de video se describirán ahora en detalle.
El aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden determinar un tipo de SAO de acuerdo con una clasificación de píxel procedimiento de píxeles reconstruidos de cada LCU.
El tipo de SAO puede determinarse de acuerdo con características de imagen de cada bloque. Por ejemplo, con respecto a una LCU que incluye un borde vertical, un borde horizontal y un borde diagonal, para cambiar valores de borde, pueden determinarse valores de compensación clasificando valores de píxel de acuerdo con un tipo de borde. Con respecto a una LCU que no incluye una región de borde, pueden determinarse valores de compensación de acuerdo con clasificación de banda. Por consiguiente, el aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden señalizar el tipo de SAO con respecto a cada una de las LCU.
El aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden determinar parámetros SAO con respecto a cada LCU. Es decir, pueden determinarse tipos de SAO de píxeles reconstruidos de una LCU, los píxeles reconstruidos de la LCU pueden clasificarse en categorías y pueden determinarse valores de compensación de acuerdo con las categorías.
De entre los píxeles reconstruidos incluidos en la LCU, el aparato 10 de codificación de video puede determinar un error promedio de píxeles reconstruidos clasificados en la misma categoría, como un valor de compensación. Puede determinarse un valor de compensación de cada categoría.
De acuerdo con una o más realizaciones, los parámetros SAO pueden incluir un tipo de SAO, valores de compensación y una clase de SAO. El aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden transmitir y recibir los parámetros SAO determinados con respecto a cada LCU.
De entre parámetros SAO de una LCU, el aparato 10 de codificación de video puede codificar y transmitir el tipo de SAO y los valores de compensación. Si el tipo de SAO es un tipo de borde, el aparato 10 de codificación de video puede transmitir adicionalmente una clase de SAO que indica una dirección de borde, que se sigue por el tipo de SAO y los valores de compensación de acuerdo con categorías. Si el tipo de SAO es un tipo de banda, el aparato 10 de codificación de video puede transmitir adicionalmente una clase de SAO que indica una posición de banda de inicio, que se sigue por el tipo de SAO y los valores de compensación de acuerdo con categorías.
El aparato 20 de decodificación de video puede recibir los parámetros SAO de cada LCU, que incluyen el tipo de SAO, los valores de compensación, y la clase de SAO. También, el aparato 20 de decodificación de video puede seleccionar un valor de compensación de una categoría a la que pertenece cada píxel reconstruido, de entre los valores de compensación de acuerdo con categorías y puede ajustar el píxel reconstruido mediante el valor de compensación seleccionado.
Una realización de señalización de valores de compensación de entre parámetros SAO se describirá ahora.
Para transmitir los valores de compensación, el aparato 10 de codificación de video puede transmitir adicionalmente información de valor cero. De acuerdo con la información de valor cero, información de signo y un remanente pueden transmitirse adicionalmente.
La información de valor cero puede ser una bandera de 1 bit. Es decir, puede transmitirse una bandera '0' que indica que el valor de compensación es 0 o una bandera '1' que indica que el valor de compensación no es 0.
5
10
15
20
25
30
35
40
45
50
55
Si la información de valor cero es la bandera '0', la información de signo o el remanente no necesita codificarse. Sin embargo, si la información de valor cero es la bandera '1', la información de signo y el remanente pueden transmitirse adicionalmente.
Sin embargo, como se ha descrito anteriormente, con respecto al tipo de borde, ya que el valor de compensación puede predecirse como un número positivo o un número negativo de acuerdo con una categoría, la información de signo no necesita transmitirse. Por consiguiente, si la información de valor cero es la bandera '1', el remanente puede transmitirse adicionalmente.
De acuerdo con una o más realizaciones, un valor de compensación Off-set puede restringirse anteriormente dentro de un intervalo desde un valor mínimo MinOffSet y un valor máximo MaxOffSet antes de que se determina el valor de compensación (MinOffSet < Off-Set < MaxOffSet).
Por ejemplo, con respecto a un tipo de borde, valores de compensación de píxeles reconstruidos de categorías 1 y 2 puede determinarse dentro de un intervalo desde un valor mínimo de 0 hasta un valor máximo de 7. Con respecto al tipo de borde, valores de compensación de píxeles reconstruidos de categorías 3 y 4 puede determinarse dentro de un intervalo desde un valor mínimo de -7 hasta un valor máximo de 0.
Por ejemplo, con respecto a un tipo de banda, valores de compensación de píxeles reconstruidos de todas las categorías puede determinarse dentro de un intervalo desde un valor mínimo de -7 hasta un valor máximo de 7.
Para reducir bits de transmisión de un valor de compensación, puede restringirse un remanente a un valor de p bits en lugar de un número negativo. En este caso, el remanente puede ser mayor que o igual a 0 y puede ser menor o igual a un valor de diferencia entre el valor máximo y el valor mínimo (0 < Remanente < MaxOffSet - MinOffSet + 1 < 2Ap). Si el aparato 10 de codificación de video transmite el remanente y el aparato 20 de decodificación de video conoce al menos uno del valor máximo y el valor mínimo del valor de compensación, puede reconstruirse un valor de compensación original usando únicamente el remanente recibido.
Las Figuras 6A a 6C muestran relaciones entre primer y segundo componentes 61 y 62 de crominancia.
Durante operaciones de codificación y decodificación de un video de una imagen de color, información de imagen se clasifica generalmente en un componente de luminancia y primer y segundo componentes de crominancia para cada componente de color y almacena en una memoria. En las Figuras 6A a 6C, el primer y segundo componentes 61 y 62 de crominancia se almacenan en la memoria en un orden intercalado entre componentes de color del mismo bloque de imágenes.
La Figura 6A muestra muestras que se refieren entre muestras vecinas de un bloque izquierdo y un bloque superior cuando se realiza una intra predicción en el primer y segundo componentes 61 y 62 de crominancia. El primer componente 61 de crominancia puede referirse a un primer componente 65 de crominancia vecino del bloque izquierdo o un primer componente 63 de crominancia vecino del bloque superior. El segundo componente 62 de crominancia puede referirse a un segundo componente 66 de crominancia vecino del bloque izquierdo o un segundo componente 64 de crominancia vecino del bloque superior.
Sin embargo, en la intra predicción, el primer y segundo componentes 61 y 62 de crominancia puede compartir una dirección de intra predicción. Por lo tanto, la intra predicción puede realizarse simultáneamente en el primer y segundo componentes 61 y 62 de crominancia obteniendo el primer y segundo componentes 63, 64, 65 y 66 de crominancia del bloque izquierdo o el bloque superior que se almacenan en la memoria en el orden intercalado.
Cuando se realiza una compensación de movimiento, un componente de luminancia y el primer y segundo componentes 61 y 62 de crominancia del mismo bloque de imágenes comparten un vector de movimiento y, por lo tanto, puede realizarse una inter predicción simultáneamente en el primer y segundo componentes 61 y 62 de crominancia.
Cuando se realiza una filtración de bucle, se usan filtros que tiene el mismo tamaño y coeficiente para el primer y segundo componentes 61 y 62 de crominancia y, por lo tanto, la filtración de bucle puede realizarse simultáneamente en el primer y segundo componentes 61 y 62 de crominancia.
Por ejemplo, cuando se realiza un tipo de borde operación SAO, relaciones entre operaciones SAO con respecto al primer y segundo componentes 61 y 62 de crominancia se describirán ahora con referencia a las Figuras 6B y 6C.
Se asume como en la Figura 6B que una dirección de borde SAO de un primer componente 611 de crominancia actual se determina como una dirección vertical y la dirección de borde sAo de un segundo componente 612 de crominancia actual se determina diferentemente como una dirección horizontal. Para realizar una operación SAO en el primer componente 611 de crominancia actual, primeros componentes 613 y 615 de crominancia dispuestos arriba y abajo del primer componente 611 de crominancia actual necesitan obtenerse de la memoria. Para realizar la operación SAO en el segundo componente 612 de crominancia actual, segundos componentes 623 y 625 de crominancia dispuestos izquierda y derecha del segundo componente 612 de crominancia actual necesitan obtenerse de la memoria.
5
10
15
20
25
30
35
40
45
50
55
El primer y segundo componentes 61 y 62 de crominancia se almacenan en la memoria en el orden intercalado y, por lo tanto, muestras almacenadas en diferentes direcciones pueden no obtenerse simultáneamente de la memoria a través de un procedimiento de desintercalación. Después de que se realiza la operación SAO en el primer componente 61 de crominancia a través del procedimiento de desintercalación, la operación SAO se realiza en el segundo componente 62 de crominancia y a continuación necesita realizarse el procedimiento de desintercalación.
Así pues, cuando direcciones de borde de SAO son diferentes, la operación SAO puede no realizarse simultáneamente en el primer y segundo componentes 61 y 62 de crominancia. Si la operación SAO se realiza secuencialmente en el primer y segundo componentes 61 y 62 de crominancia, se produce latencia durante procesamiento paralelo de codificación de video, que puede resultar en un retardo en operaciones codificación de video enteras.
Sin embargo, se asume como en la Figura 6C que las direcciones de borde de SAO del primer componente 611 de crominancia actual y el segundo componente 612 de crominancia actual se determinan igualmente como las direcciones horizontales. Para realizar la operación SAO en el primer componente 611 de crominancia actual, primeros componentes 617 y 619 de crominancia dispuestos izquierda y derecha del primer componente 611 de crominancia actual pueden obtenerse de la memoria. Para realizar la operación SAO en un segundo componente de crominancia actual 621, los segundos componentes 623 y 625 de crominancia dispuestos izquierda y derecha del segundo componente de crominancia actual 621 pueden obtenerse de la memoria. En este caso, muestras almacenadas en la misma dirección pueden obtenerse simultáneamente de la memoria y, por lo tanto, la operación SAO puede realizarse simultáneamente en el primer y segundo componentes 61 y 62 de crominancia.
Así pues, si el primer y segundo componentes 61 y 62 de crominancia share un tipo de SAO como se muestra en la Figura 6C, latencia de procesamiento paralela puede prevenirse por adelantado y un número de bits de parámetros SAO con respecto a componentes de crominancia puede reducirse dos veces.
Información de fusión SAO entre parámetros SAO de acuerdo con realizaciones se describirá ahora en detalle a continuación.
Tipos de SAO y/o valores de compensación de bloques adyacentes pueden ser probablemente los mismos. El aparato 10 de codificación de video puede comparar parámetros SAO de un bloque actual con parámetros SAO de bloques adyacentes y puede fusionar y codificar los parámetros SAO del bloque actual y los bloques adyacentes si los parámetros SAO son los mismos. Si los parámetros SAO del bloque adyacente se codifican anteriormente, los parámetros SAO del bloque adyacente pueden adoptarse como los parámetros SAO del bloque actual. Por consiguiente, el aparato 10 de codificación de video puede no codificar los parámetros SAO del bloque actual y puede codificar únicamente la información de fusión SAO del bloque actual.
Antes de que los parámetros SAO se analizan a partir de una secuencia de bits recibida, el aparato 20 de decodificación de video puede analizar inicialmente la información de fusión SAO y puede determinar si analizar los parámetros SAO. El aparato 20 de decodificación de video puede determinar si existe un bloque adyacente que tiene los mismos parámetros SAO que los del bloque actual a base de la información de fusión SAO.
Por ejemplo, si existe un bloque adyacente que tiene los mismos parámetros SAO que los del bloque actual a base de la información de fusión sAo, el aparato 20 de decodificación de video puede no analizar los parámetros SAO del bloque actual y puede adoptar parámetros SAO reconstruidos del bloque adyacente como los parámetros SAO del bloque actual. Por consiguiente, el aparato 20 de decodificación de video puede reconstruir los parámetros SAO del bloque actual para ser los mismos que los del bloque adyacente. También, a base de la información de fusión SAO, puede determinarse un bloque adyacente que tiene parámetros SAO a los que referirse.
Por ejemplo, si los parámetros SAO de los bloques adyacentes son diferentes de los parámetros SAO del bloque actual a base de la información de fusión SAO, el aparato 20 de decodificación de video puede analizar y reconstruir los parámetros SAO del bloque actual a partir de la secuencia de bits.
La Figura 7A es un diagrama que muestra LCU 652 y 653 adyacentes referidas a parámetros SAO de fusión, de acuerdo con una o más realizaciones.
El aparato 10 de codificación de video puede determinar una lista de candidatos de LCU adyacentes a las que referirse para predecir parámetros SAO de una LCU 651 actual de entre LCU adyacentes reconstruidas antes de la LCU 651 actual. El aparato 10 de codificación de video puede comparar parámetros SAO de la LCU 651 actual y las LCU adyacentes en la lista de candidatos.
Por ejemplo, simplemente, las LCU 653 y 652 izquierda y superior de la LCU 651 actual en una instantánea 65 actual pueden incluirse en la lista de candidatos.
Por consiguiente, el aparato 10 de codificación de video puede comparar parámetros SAO de la LCU adyacentes incluidas en la lista de candidatos con los de la LCU 651 actual de acuerdo con un orden de referencia. Por ejemplo, los parámetros SAO pueden compararse con los de la LCU 651 actual en el orden de la LCU 653 izquierda y la LCU 652 superior. De entre las LCU 653 y 652 izquierda y superior comparadas, una LCU que tiene los mismos
5
10
15
20
25
30
35
40
45
50
parámetros SAO que los de la LCU 651 actual puede determinarse como una LCU de referencia.
Para predecir los parámetros SAO de la LCU 651 actual, el aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden referirse a las mismas LCU adyacentes. También, puede transmitirse y obtenerse información de fusión sAo que indica una LCU que tiene parámetros SAO a los que referirse. El aparato 20 de decodificación de video puede seleccionar una de la LCU adyacentes a base de la información de fusión SAO y puede reconstruir los parámetros SAO de la LCU 651 actual para ser los mismos que los de la LCU adyacente seleccionada.
Por ejemplo, se supone que se refieren a las LCU 653 y 652 izquierda y superior. El codificador 16 de parámetro SAO puede codificar información de fusión SAO izquierda indicando si los parámetros SAO de la LCU 653 izquierda de la LCU 651 actual son los mismos que los de la LCU 651 actual, e información de fusión SAO superior indicando si los parámetros SAO de la LCU 652 superior son los mismos que los de la LCU 651 actual, como la información de fusión SAO. En este caso, los parámetros SAO de la LCU 651 actual y la LCU 653 izquierda pueden compararse inicialmente para determinar si son los mismos y a continuación los parámetros SAO de la LCU 651 actual y la LCU 652 superior pueden compararse para determinar si son los mismos. De acuerdo con un resultado de comparación, puede determinarse la información de fusión SAO.
Si los parámetros SAO de al menos una de las LCU 653 y 652 izquierda y superior son los mismos que los de la LCU 651 actual, el codificador 16 de parámetro SAO puede codificar únicamente la información de fusión SAO izquierda o superior y puede no codificar los parámetros SAO de la LCU 651 actual.
Si los parámetros SAO de ambas de las LCU 653 y 652 izquierda y superior son diferentes de los de la LCU 651 actual, el codificador 16 de parámetro SAO puede codificar la información de fusión SAO izquierda o superior y los parámetros SAO de la LCU 651 actual.
Parámetros SAO de acuerdo con componentes de color se describirán ahora en detalle.
El aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden predecir mutuamente parámetros SAO entre componentes de color.
El aparato 10 de codificación de video y el aparato 20 de decodificación de video pueden realizar una operación SAO en todos de un bloque de luminancia y bloques de crominancia en un formato de color YCrCb. Pueden determinarse valores de compensación de un componente de luminancia Y y componentes de crominancia Cr y Cb de una LCU actual, respectivamente.
Por ejemplo, información de fusión SAO común puede aplicarse al componente Y, el componente Cr y el componente Cb de la LCU actual. Es decir, a base de una parte de Información de fusión SAO, puede determinarse si parámetros SAO del componente Y son los mismos que los del componente Y de una LCU adyacente, puede determinarse si parámetros SAO del componente Cr de la LCU actual son los mismos que los del componente Cr de la LCU adyacente y puede determinarse si parámetros SAO del componente Cb de la LCU actual son los mismos que los del componente Cb de la LCU adyacente.
Por ejemplo, información de tipo de SAO común puede aplicarse al componente Cr y el componente Cb de la LCU actual. Es decir, a base de una parte de información de tipo de SAO, puede determinarse si operación SAO se realiza o no simultáneamente en el componente Cr y el componente Cb. A base de una parte de información de tipo de SAO, también puede determinarse si valores de compensación del componente Cr y el componente Cb se determinan de acuerdo con un tipo de borde o un tipo de banda. Si el tipo de SAO es el tipo de borde a base de una parte de información de tipo de SAO, el componente Cr y el componente Cb pueden compartir la misma dirección de borde.
A base de una parte de información de tipo de SAO, también puede determinarse si valores de compensación del componente Cr y el componente Cb se determinan de acuerdo con un tipo de borde o un tipo de banda.
A base de una parte de información de tipo de SAO, el componente Cr y el componente Cb también pueden compartir la misma clase de SAO. Si el tipo de SAO es el tipo de borde a base de una parte de información de tipo de SAO, el componente Cr y el componente Cb pueden compartir la misma dirección de borde. Si el tipo de SAO es el tipo de banda a base de una parte de información de tipo de SAO, el componente Cr y el componente Cb pueden compartir la misma posición de inicio de banda izquierda.
Estructuras de sintaxis en las que parámetros SAO de acuerdo con componentes de color de una LCU actual se definen se describirán ahora en detalle con referencia a las Figuras 7B a 7G a continuación. El aparato 20 de decodificación de video puede analizar sintaxis mostrada en las Figuras 7B a 7G, obtener los parámetros SAO y realizar una operación sAo.
La Figura 7B muestra estructuras de sintaxis de un encabezamiento de segmento 700 y datos de segmento 705 de acuerdo con una o más realizaciones.
5
10
15
20
25
30
35
40
45
50
55
El encabezamiento 700 de segmento de acuerdo con una realización incluye uno o más parámetros 701, 702, y 703 indicando si operación SAO se realiza en un segmento actual.
El aparato 20 de decodificación de video puede obtener 'slice_sample_adaptive_offset_flag[0]' 701 del encabezamiento 700 de segmento y determinar si realizar la operación SAO en un componente de luminancia.
Si la operación SAO para el componente de luminancia se realiza, el aparato 20 de decodificación de video puede obtener 'slice_sample_adaptive_offset_flag[1]' 702 del encabezamiento 700 de segmento y determinar si realizar la operación SAO en un primer componente de crominancia.
En este sentido, el aparato 20 de decodificación de video puede no obtener adicionalmente un parámetro indicando si realizar la operación SAO en un segundo componente de crominancia del encabezamiento 700 de segmento. Información 'slice_sample_adaptive_offset_flag[2]' 703 indicando si realizar la operación SAO en el segundo componente de crominancia puede predecirse igualmente a partir de 'slice_sample_adaptive_offset_flag[1]' 702 obtenida del encabezamiento 700 de segmento. Por lo tanto, la operación SAO puede o no realizarse simultáneamente en el primer y segundo componentes de crominancia.
El aparato 20 de decodificación de video puede determinar si para obtener un parámetro SAO 706 de acuerdo con LUC a partir de los datos de segmento 705 a base de 'slice_sample_adaptive_offset_flag[0]' 701, 'slice_sample_adaptive_offset_flag[1]' 702 y 'slice_sample_adaptive_offset_flag[2]' 703 que se determinan a partir del encabezamiento 700 de segmento.
Las Figuras 7C y 7D muestran estructuras de sintaxis de parámetros 706 y 709 SAO con respecto a LCU de acuerdo con una o más realizaciones.
El aparato 20 de decodificación de video puede obtener información 707 de fusión SAO izquierda del parámetro SAO 706 'sao_unit_cabac(rx, ry, cldx)' con respecto a LCU. En este sentido, la información 707 de fusión SAO izquierda común 'sao_merge_left_flag [rx][ry]' puede obtenerse sin distinción de un componente de luminancia y primer y segundo componentes de crominancia. Por consiguiente, el aparato 20 de decodificación de video puede determinar simultáneamente e igualmente si usar un parámetro SAO de una LCU izquierda como parámetros SAO de un componente de luminancia y primer y segundo componentes de crominancia de una LCU actual a base de la información 707 de fusión SAO izquierda común.
Si se determina que el parámetro SAO de la LCU izquierda no se refiere a base de la información 707 de fusión SAO izquierda, el aparato 20 de decodificación de video puede obtener información 708 de fusión SAO superior 'sao_merge_up_flag [rx][ry]' a partir del parámetro SAO 706 con respecto a las LCU. Análogamente, la información 707 de fusión SAO izquierda común pueden obtenerse sin distinción del componente de luminancia y el primer y segundo componentes de crominancia. Por consiguiente, el aparato 20 de decodificación de video puede determinar simultáneamente e igualmente si usar un parámetro SAO de una LCU superior como parámetros SAO del componente de luminancia y el primer y segundo componentes de crominancia de la LCU actual a base de la información de fusión SAO común superior 708.
Si se determina que el parámetro SAO de la LCU superior tampoco se refiere a base de la información 708 de fusión SAO superior, el aparato 20 de decodificación de video puede obtener directamente un parámetro 709 SAO actual con respecto a la LCU actual a partir del parámetro SAO 706 con respecto a las LCU.
El parámetro 709 SAO actual puede incluir información 711 de tipo de SAO de la LCU actual. El aparato 20 de decodificación de video puede obtener la información 711 de tipo de SAO definido separadamente con respecto a un componente de luminancia y componentes de crominancia a partir del parámetro 709 SAO actual. Por lo tanto, la información 711 de tipo de SAO común 'sao_type_idx [cldx][rx][ry]' puede obtenerse con respecto al primer y segundo componentes de crominancia. Por ejemplo, si la información 711 de tipo de SAO se obtiene con respecto al primer componente de crominancia de la LCU actual, información de tipo de SAO con respecto al segundo componente de crominancia puede predecirse a partir de la información 711 de tipo de SAO con respecto al segundo componente de crominancia.
1 bit indicando si se realiza operación SAO en la LCU actual puede obtenerse a partir de la información 711 de tipo de SAO. Si se determina que se realiza la operación SAO a base de un primer 1 bit, un segundo 1 bit puede obtenerse a partir de la información 711 de tipo de SAO y puede determinarse si el tipo de SAO de la LCU actual es un tipo de borde o un tipo de banda del segundo 1 bit.
Si el segundo 1 bit de la información 711 de tipo de SAO se determina para ser el tipo de borde, el aparato 20 de decodificación de video puede obtener información con respecto a una categoría de borde a partir de bits restantes de la información 711 de tipo de SAO.
Si el segundo 1 bit de la información 711 de tipo de SAO se determina para ser el tipo de banda, el aparato 20 de decodificación de video puede obtener información con respecto a una banda categoría a partir de los bits restantes de la información 711 de tipo de SAO.
5
10
15
20
25
30
35
40
45
50
El aparato 20 de decodificación de video puede determinar si realizar la operación SAO en el componente de luminancia de la LCU actual a base del 1 bit de la información 711 de tipo de SAO con respecto al componente de luminancia. El aparato 20 de decodificación de video puede determinar si realizar la operación SAO en el primer y segundo componentes de crominancia de la LCU actual a base del 1 bit de la información 711 de tipo de SAO con respecto a los componentes de croma.
Si se determina que la operación SAO en el componente de luminancia o los componentes de crominancia de la LCU actual no se realizan a base de la información 711 de tipo de SAO para el componente de luminancia o los componentes de croma, no se obtiene un siguiente bit de la información 711 de tipo de SAO. La información 711 de tipo de SAO puede recibirse en una forma de código unario truncado.
Únicamente se codifica una parte de la información 711 de tipo de SAO para los componentes de crominancia de acuerdo con una realización, la información 711 de tipo de SAO determinada para el primer componente de crominancia puede determinarse como información de tipo de SAO para el segundo componente de crominancia.
El aparato 20 de decodificación de video puede obtener información de clase de borde para el componente de luminancia e información de clase de borde para los componentes de crominancia a partir del parámetro SAO 709 'sao_offset_cabac(rx, ry, cldx)' con respecto a la LCU actual. Una clase de borde puede indicar cuatro direcciones de borde que incluyen una dirección de borde horizontal (0°), una dirección de borde vertical (90°), una dirección de borde diagonal de 135°, y una dirección de borde diagonal de 45° y, por lo tanto, la clase de borde puede definirse como 2 bits.
La Figura 7F muestra una estructura de sintaxis de parámetros SAO con respecto a tipos de SAO de acuerdo con una o más realizaciones. Haciendo referencia a las Figuras 7D y 7F, si una operación SAO se realiza a base de la información 711 de tipo de SAO, los parámetros 706 y 709 SAO pueden incluir adicionalmente al menos una de un valor 713 de compensación 'sao_offset[cldx][rx][ry][i]' e información 715 de signo de compensación 'sao_offset_sign[cldx][rx][ry][i]'.
Modelado de contextos para codificación por CABAC del valor 713 de compensación se describirá con referencia a la Figura 7E. La Figura 7E muestra una estructura de sintaxis de información de contexto para codificación por CABAC de parámetros SAO de acuerdo con una o más realizaciones.
Es decir, como se muestra en la Figuras 7D y 7F, el aparato 20 de decodificación de video no obtiene el valor 713 de compensación a partir de ambos de los parámetros 706 y 709 SAO, pero puede obtener primeramente un primer 1 bit 721 'sao_offset_abs_1st_bin[cldx][rx][ry][i]' de la magnitud del valor 713 de compensación como se muestra en la Figura 7E. Cuando el primer 1 bit no es 0 ya que el valor 713 de compensación no es 0, el aparato 20 de decodificación de video obtiene bits 723 restantes 'sao_offset_abs_remain_bins[cldx][rx][ry][i]' de la magnitud del valor 713 de compensación.
El primer 1 bit y los bits restantes del valor 713 de compensación se separan entre sí y, por lo tanto, los bits restantes pueden codificarse por CABAC en un modo de derivación.
Únicamente cuando el valor 713 de compensación no es 0, el aparato 20 de decodificación de video puede obtener la información 715 de signo de compensación 'sao_offset_sign[cldx][rx][ry][i]' del valor 713 de compensación a partir de los parámetros 706 y 709 SAO.
La información 715 de signo de compensación 'sao_offset_sign[cldx][rx][ry][i]' puede obtenerse únicamente cuando un tipo de SAO no es un tipo de banda y el valor 713 de compensación no es 0. Cuando el tipo de SAO es un tipo de borde, puede determinarse un signo del valor 713 de compensación de acuerdo con si una clase de borde es un pico local, un valle local, un borde cóncavo o un borde convexo.
Haciendo referencia a la Figura 7F, cuando el tipo de SAO es el tipo de banda, información 717 'sao_band_position[cldx][rx][ry]' con respecto a posición de inicio de banda izquierda, así como la información 715 de signo de compensación pueden obtenerse a partir del parámetro SAO 706.
El aparato 20 de decodificación de video puede realizar codificación por CABAC en los parámetros 706 y 709 SAO. Para realizar la codificación por CABAC en los parámetros 706 y 709 SAO, puede realizarse modelado de contextos con respecto a la información 707 de fusión SAO izquierda, la información 708 de fusión SAO superior, información con respecto al valor 713 de compensación y la información 711 de tipo de SAO entre los parámetros 706 y 709 SAO.
La magnitud de valor absoluto del valor 713 de compensación en la información con respecto al valor 713 de compensación puede restringirse de acuerdo con una profundidad de bit. Un valor máximo de la magnitud de valor absoluto puede determinarse de acuerdo con una ecuación a continuación.
Offset_abs_max = (1<<(Min(bitDepth, 10)-5))-1
Por ejemplo, en codificación de profundidad de bit de 8 bits, la magnitud de valor absoluto del valor 713 de
5
10
15
20
25
30
35
40
45
50
55
compensación puede ser desde 0 hasta 7. Para otro ejemplo, en codificación de profundidad de bit de 10 bits, la magnitud de valor absoluto del valor 713 de compensación puede ser 0 y 31.
Para garantizar la restricción de magnitud del valor 713 de compensación, la información con respecto al valor 713 de compensación puede codificarse usando el código unario truncado.
El aparato 20 de decodificación de video puede usar únicamente el modelo de contexto con respecto al primer 1 bit de la información con respecto al valor 713 de compensación. El aparato 20 de decodificación de video puede realizar decodificación por CABAC en los bits restantes de la información con respecto al valor 713 de compensación en el modo de derivación.
La información 711 de tipo de SAO incluye valores desde 0 a 5. Decodificación por CABAC usando 2 modelos de contextos puede realizarse en el primer 1 bit de la información 711 de tipo de SAO indicando si realizar la operación SAO de la LCU actual. Decodificación por CABAC pueden realizarse en los bits restantes de la información 711 de tipo de SAO diferente del primer 1 bit en el modo de derivación.
La información 707 de fusión SAO izquierda puede decodificarse por CABAC usando un único modelo de contexto compartido por el componente de luminancia y el primer y segundo componentes de crominancia. La información 708 de fusión SAO superior puede decodificarse por CABAc usando el único modelo de contexto compartido por el componente de luminancia y el primer y segundo componentes de crominancia.
Por lo tanto, un número total de 5 modelos de contextos pueden usarse para realizar decodificación por CABAC en los parámetros 706 y 709 SAO. Por lo tanto, tres modelos de contextos pueden reducirse en comparación con un caso donde modelos de contextos se determinan con respecto a todos los contenedores del valor 713 de compensación y la información 707 de fusión SAO izquierda no se comparte para componentes de color. Una cantidad de almacenamiento de datos que necesitan almacenarse en una memoria puede reducirse debido a la reducción en los modelos de contextos para decodificación por CABAC. Contenedores de una pluralidad de parámetros SAO se codifican por CABAC en el modo de derivación y, por lo tanto, pueden reducirse una cantidad de cálculos CABAC y bits de transmisión.
La información 717 'sao_band_position[cldx][rx][ry]' con respecto a la posición de inicio de banda izquierda incluida en el parámetro SAO 709 tiene una longitud de bit invariable de 5 bits y un valor máximo de 31. El aparato 20 de decodificación de video puede realizar decodificación por CABAC en la información 717 con respecto a la posición de inicio de banda izquierda en un modo de derivación de la longitud de bit invariable.
Un procedimiento de análisis de diversas partes de información relativa a SAO a partir de parámetros SAO a través de decodificación por CABAC se describirá ahora a continuación.
Un tipo de SAO de un componente de luminancia se analiza a partir de parámetros SAO. Si el tipo de SAO es un tipo de desactivación (OFF), ya que ajuste de compensación de acuerdo con operaciones SAO no se realiza en el componente de luminancia, pueden analizarse parámetros SAO de un componente de crominancia.
Si el tipo de SAO del componente de luminancia es un tipo de borde (EO), valores de compensación de luminancia de cuatro categorías pueden analizarse. Los valores de compensación del tipo de borde pueden analizarse sin información de signo. Una clase de borde de luminancia (clase EO de luminancia) de 2 bits puede analizarse a partir de parámetros SAO. Una dirección de borde del componente de luminancia de la LCU actual puede determinarse a base de la clase de borde de luminancia.
Como se ha descrito anteriormente, ya que se reciben valores de compensación de cuatro categorías que indican formas de borde, se reciben un total de cuatro valores de compensación. Ya que cada píxel de luminancia reconstruido de la LCU actual puede compararse con píxeles adyacentes de acuerdo con una dirección de borde y por lo tanto pueden determinarse su forma de borde y su categoría, un valor de compensación de una categoría actual pueden seleccionarse de entre los valores de compensación recibidos. Un valor de píxel del píxel de luminancia reconstruido puede ajustarse usando el valor de compensación seleccionado.
Si el tipo de SAO del componente de luminancia es un tipo de banda (BO), pueden analizarse valores de compensación de luminancia de cuatro categorías. Los valores de compensación del tipo de banda pueden analizarse junto con información de signo. Una clase de banda de luminancia de 5 bits puede analizarse. Posición de inicio de banda izquierda puede determinarse de entre una pluralidad de bandas de valores de píxeles de píxeles reconstruidos de la lCu actual a base de la clase de banda de luminancia.
Como se ha descrito anteriormente, ya que se reciben valores de compensación de cuatro categorías que indican cuatro bandas continuas desde una posición de banda de inicio, se reciben un total de cuatro valores de compensación. Ya que puede determinarse una banda a la que pertenece cada píxel de luminancia reconstruido de la LCU actual y, por lo tanto, puede determinarse su categoría, puede seleccionarse un valor de compensación de una categoría actual de entre los valores de compensación recibidos. Un valor de píxel del píxel de luminancia reconstruido puede ajustarse usando el valor de compensación seleccionado.
5
10
15
20
25
30
35
40
45
50
55
A continuación, se analiza un tipo de SAO de un componente de crominancia a partir de parámetros SAO. El tipo de SAO puede aplicarse comúnmente a un componente Cr y un componente Cb. Si el tipo de SAO es un tipo de desactivación (OFF), ya que ajuste de compensación de acuerdo con operaciones SAO no se realiza en el componente de crominancia, el procedimiento en la LCU actual se termina.
Si el tipo de SAO del componente de crominancia es un tipo de borde (EO), valores de compensación Cb de cuatro categorías pueden analizarse a partir de parámetros sAo. Los valores de compensación Cb del tipo de borde pueden analizarse sin información de signo. Una clase de borde de crominancia (clase EO de crominancia) de 2 bits puede analizarse a partir de parámetros SAO. Una dirección de borde del componente de crominancia de la LCU actual puede determinarse a base de la clase de borde de crominancia. La clase de borde de crominancia puede aplicarse también comúnmente al componente Cr y el componente Cb. Valores de compensación Cr de cuatro categorías pueden analizarse a partir de parámetros SAO.
Como ajuste de compensación en el tipo de borde del componente de luminancia, en cada uno del componente Cr y el componente Cb, puede seleccionarse un valor de compensación de una categoría actual de entre valores de compensación recibidos. Un valor de píxel de un píxel reconstruido del componente Cr o el componente Cb puede ajustarse usando el valor de compensación seleccionado.
Si el tipo de SAO del componente de crominancia es un tipo de banda (BO), pueden analizarse valores de compensación del componente Cb de cuatro categorías a partir de parámetros SAO junto con información de signo. Una clase de banda Cb de 5 bits pueden analizarse a partir de parámetros SAO. Una posición de inicio de banda izquierda Cb de píxeles reconstruidos del componente Cb de la LCU actual puede determinarse a base de la clase de banda Cb. Valores de compensación del componente Cr de cuatro categorías pueden analizarse junto con información de signo. Una clase de banda Cr de 5 bits puede analizarse. Una posición de inicio de banda izquierda Cr de píxeles reconstruidos del componente Cr de la LCU actual puede determinarse a base de la clase de banda Cr.
Como ajuste de compensación en el tipo de banda del componente de luminancia, en cada uno del componente Cr y el componente Cb, puede seleccionarse un valor de compensación de una categoría actual de entre valores de compensación recibidos. Un valor de píxel de un píxel reconstruido del componente Cr o el componente Cb puede ajustarse usando el valor de compensación seleccionado.
Por consiguiente, el aparato 10 de codificación de video y el aparato 20 de decodificación de video o 30 que usan operaciones SAO pueden clasificar valores de píxel de cada LCU de acuerdo con características de imagen tales como un tipo de borde o un tipo de banda, pueden señalizar un valor de compensación que es un valor de error promedio de valores de píxel que tiene las mismas características y pueden ajustar valores de píxel impredecibles de píxeles reconstruidos mediante el valor de compensación, minimizando de este modo un error entre una imagen original y una imagen reconstruida.
En el aparato 10 de codificación de video y el aparato 20 de decodificación de video, como se ha descrito anteriormente, pueden dividirse datos de video en LCU, cada LCU puede codificarse y decodificarse a base de unidades de codificación que tienen una estructura de árbol y cada LCU puede determinar valores de compensación de acuerdo con clasificación de píxel. En lo sucesivo, un procedimiento de codificación de video, un aparato de codificación de video, un procedimiento de decodificación de video y un aparato de decodificación de video a base de unidades de codificación que tienen una estructura de árbol y unidades de transformación se describirán con referencia a las Figuras 1A a 20.
La Figura 8 es un diagrama de bloques de un aparato 100 de codificación de video a base de unidades de codificación de acuerdo con una estructura de árbol, de acuerdo con una o más realizaciones. Por conveniencia de explicación, "aparato 100 de codificación de video a base de unidades de codificación de acuerdo con una estructura de árbol" se denomina en lo sucesivo como "aparato 100 de codificación de video".
El aparato 100 de codificación de video que implica predicción de video a base de unidades de codificación de acuerdo con una estructura de árbol incluye un divisor 110 LCU, un determinador 120 de unidad de codificación y un emisor 130.
El divisor 110 LCU puede dividir una instantánea actual a base de una LCU que es una unidad de codificación que tiene un tamaño máximo para una instantánea actual de una imagen. Si la instantánea actual es mayor que la LCU, datos de imagen de la instantánea actual pueden dividirse en la al menos una LCU. La LCU de acuerdo con una o más realizaciones puede ser una unidad de datos que tiene un tamaño de 32x32, 64x64, 128x128, 256x256, etc., en el que una forma de la unidad de datos es un cuadrado que tiene una anchura y longitud en cuadrados de 2. Los datos de imagen pueden emitirse al determinador 120 de unidad de codificación de acuerdo con la al menos una LCU.
Una unidad de codificación de acuerdo con una o más realizaciones puede caracterizarse por un tamaño máximo y una profundidad. La profundidad indica el número de veces que la unidad de codificación se divide espacialmente a partir de la LCU y, a medida que la profundidad se hace más profunda, unidades de codificación más profundas de acuerdo con profundidades pueden dividirse a partir de la lCu a una unidad mínima de codificación (SCU). Una
5
10
15
20
25
30
35
40
45
50
55
profundidad de la LCU es una profundidad máxima y una profundidad de la SCU es una profundidad mínima. Ya que un tamaño de una unidad de codificación que corresponde a cada profundidad disminuye a medida que la profundidad de la LCU se profundiza, una unidad de codificación que corresponde a una profundidad superior puede incluir una pluralidad de unidades de codificación que corresponden a profundidades inferiores.
Como se ha descrito anteriormente, los datos de imagen de la instantánea actual se dividen en las LCU de acuerdo con un tamaño máximo de la unidad de codificación y cada una de las LCU puede incluir unidades de codificación más profundas que se dividen de acuerdo con profundidades. Ya que la LCU de acuerdo con una o más realizaciones se divide de acuerdo con profundidades, los datos de imagen del dominio de espacio incluidos en la LCU pueden clasificarse jerárquicamente de acuerdo con profundidades.
Pueden predeterminarse una profundidad máxima y un tamaño máximo de una unidad de codificación, que limitan el número total de veces que una altura y una anchura de la LCU se dividen jerárquicamente.
El determinador 120 de unidad de codificación codifica al menos una región dividida obtenida dividiendo una región de la LCU de acuerdo con profundidades y determina una profundidad para emitir unos datos de imagen finalmente codificados de acuerdo con la al menos una región dividida. En otras palabras, el determinador 120 de unidad de codificación determina una profundidad codificada codificando los datos de imagen en las unidades de codificación más profundas de acuerdo con profundidades, de acuerdo con la LCU de la instantánea actual y seleccionando una profundidad que tiene el último error de codificación. La profundidad codificada determinada y los datos de imagen codificados de acuerdo con la profundidad codificada determinada se emiten al emisor 130.
Los datos de imagen en la LCU se codifican a base de las unidades de codificación más profundas que corresponden a al menos una profundidad igual a o por debajo de la profundidad máxima y se comparan resultados de codificación de los datos de imagen a base de cada una de las unidades de codificación más profundas. Una profundidad que tiene el último error de codificación puede seleccionarse después de comparar errores de codificación de las unidades de codificación más profundas. Al menos una profundidad codificada puede seleccionarse para cada LCU.
El tamaño de la LCU se divide como una unidad de codificación se divide jerárquicamente de acuerdo con profundidades y a medida que el número de unidades de codificación aumenta. También, incluso si unidades de codificación corresponden a la misma profundidad en una LCU, se determina si dividir cada una de las unidades de codificación que corresponden a la misma profundidad a una profundidad inferior midiendo un error de codificación de los datos de imagen de cada unidad de codificación, separadamente. Por consiguiente, incluso cuando se incluyen datos de imagen en una LCU, los errores de codificación pueden diferir de acuerdo con regiones en la una LCU y, por lo tanto, las profundidades codificadas pueden diferir de acuerdo con regiones en los datos de imagen. Por lo tanto, una o más profundidades codificadas pueden determinarse en una LCU y los datos de imagen de la LCU pueden dividirse de acuerdo con unidades de codificación de al menos una profundidad codificada.
Por consiguiente, el determinador 120 de unidad de codificación puede determinar unidades de codificación que tienen una estructura de árbol incluida en la LCU. Las 'unidades de codificación que tienen una estructura de árbol' de acuerdo con una o más realizaciones incluyen unidades de codificación que corresponden a una profundidad determinada para ser la profundidad codificada, de entre todas unidades de codificación más profundas incluidas en la LCU. Una unidad de codificación de una profundidad codificada puede determinarse jerárquicamente de acuerdo con profundidades en la misma región de la LCU y puede determinarse independientemente en diferentes regiones. De manera similar, una profundidad codificada en una región actual puede determinarse independientemente de una profundidad codificada en otra región.
Una profundidad máxima de acuerdo con una o más realizaciones es un índice relacionado con el número de veces de división desde una LCU a una SCU. Una primera profundidad máxima de acuerdo con una o más realizaciones puede indicar el número total de veces de división desde la LCU a la SCU. Una segunda profundidad máxima de acuerdo con una o más realizaciones puede indicar el número total de niveles de profundidad desde la LCU a la SCU. Por ejemplo, cuando una profundidad de la LCU es 0, una profundidad de una unidad de codificación, en la que la LCU se divide una vez, puede establecerse a 1 y una profundidad de una unidad de codificación, en la que la LCU se divide dos veces, puede establecerse a 2. En este documento, si la SCU es una unidad de codificación en la que la LCU se divide cuatro veces, existen 5 niveles de profundidad de profundidades 0, 1,2, 3 y 4 y, por lo tanto, la primera profundidad máxima puede establecerse a 4 y la segunda profundidad máxima puede establecerse a 5.
Codificación por predicción y transformación pueden realizarse de acuerdo con la LCU. La codificación por predicción y la transformación también se realizan a base de las unidades de codificación más profundas de acuerdo con una profundidad igual a o profundidades menores que la profundidad máxima, de acuerdo con la LCU.
Ya que el número de unidades de codificación más profundas aumenta siempre que la LCU se divide de acuerdo con profundidades, se realiza codificación, que incluye la codificación por predicción y la transformación, en todas las unidades de codificación más profundas generadas a medida que la profundidad se hace más profunda. Por conveniencia de descripción, la codificación por predicción y la transformación se describirán ahora a base de una unidad de codificación de una profundidad actual, en una LCU.
5
10
15
20
25
30
35
40
45
50
55
El aparato 100 de codificación de video puede seleccionar de diversas formas un tamaño o forma de una unidad de datos para la codificación de los datos de imagen. Para codificar los datos de imagen, se realizan operaciones, tales como codificación por predicción, transformación y codificación por entropía, y en este momento, la misma unidad de datos puede usarse para todas operaciones o pueden usarse diferentes unidades de datos para cada operación.
Por ejemplo, el aparato 100 de codificación de video puede seleccionar no únicamente una unidad de codificación para la codificación de los datos de imagen, sino también una unidad de datos diferente de la unidad de codificación para realizar la codificación por predicción en los datos de imagen en la unidad de codificación.
Para realizar codificación por predicción en la LCU, la codificación por predicción puede realizarse a base de una unidad de codificación que corresponde a una profundidad codificada, es decir, a base de una unidad de codificación que no se divide más en unidades de codificación que corresponden a una profundidad inferior. En lo sucesivo, la unidad de codificación que no se divide más y se convierte en una unidad base para codificación por predicción se denominará ahora como una 'unidad de predicción'. Una partición obtenida dividiendo la unidad de predicción puede incluir una unidad de predicción o una unidad de datos obtenida dividiendo al menos una de una altura y una anchura de la unidad de predicción. Una partición es una unidad de datos en la que se divide una unidad de predicción de una unidad de codificación y una unidad de predicción puede ser una partición que tiene el mismo tamaño que una unidad de codificación.
Por ejemplo, cuando una unidad de codificación de 2Nx2N (en la que N es un entero positivo) ya no se divide y se convierte en una unidad de predicción de 2Nx2N y un tamaño de una partición puede ser 2Nx2N, 2NxN, Nx2N o NxN. Ejemplos de un tipo de partición incluyen particiones simétricas que se obtienen dividiendo simétricamente una altura o anchura de la unidad de predicción, particiones obtenidas dividiendo simétricamente la altura o anchura de la unidad de predicción, tales como 1:n o n:1, particiones que se obtienen dividiendo geométricamente la unidad de predicción y particiones que tienen formas arbitrarias.
Un modo de predicción de la unidad de predicción puede ser al menos uno de un intra modo, un inter modo y un modo de salto. Por ejemplo, el intra modo o el inter modo pueden realizarse en la partición de 2Nx2N, 2NxN, Nx2N o NxN. También, el modo de salto puede realizarse únicamente en la partición de 2Nx2N. La codificación se realiza independientemente en una unidad de predicción en una unidad de codificación, seleccionado de este modo un modo de predicción que tiene un error de codificación mínimo.
El aparato 100 de codificación de video también puede realizar la transformación en los datos de imagen en una unidad de codificación no únicamente a base de la unidad de codificación para la codificación de los datos de imagen, sino también a base de una unidad de datos que es diferente de la unidad de codificación. Para realizar la transformación en la unidad de codificación, la transformación puede realizarse a base de una unidad de datos que tiene un tamaño más pequeño que o igual a la unidad de codificación. Por ejemplo, la unidad de datos para la transformación puede incluir una unidad de datos para un intra modo y una unidad de datos para un inter modo.
La unidad de transformación en la unidad de codificación puede dividirse de forma recurrente en regiones dimensionadas más pequeñas de la manera similar a la unidad de codificación de acuerdo con la estructura de árbol. Por lo tanto, residuos en la unidad de codificación pueden dividirse de acuerdo con la unidad de transformación que tiene la estructura de árbol de acuerdo con transformación profundidades.
Una profundidad de transformación que indica el número de veces de división para alcanzar la unidad de transformación dividiendo la altura y anchura de la unidad de codificación también puede establecerse en la unidad de transformación. Por ejemplo, en una unidad de codificación actual de 2Nx2N, una profundidad de transformación puede ser 0 cuando el tamaño de una unidad de transformación es 2Nx2N, puede ser 1 cuando el tamaño de la unidad de transformación es NxN y puede ser 2 cuando el tamaño de la unidad de transformación es N/2xN/2. En otras palabras, la unidad de transformación que tiene la estructura de árbol puede establecerse de acuerdo con la transformación profundidades.
Información de codificación de acuerdo con unidades de codificación que corresponden a una profundidad codificada no únicamente requiere información acerca de la profundidad codificada, sino también acerca de información relacionada con codificación por predicción y transformación. Por consiguiente, el determinador 120 de unidad de codificación no únicamente determina una profundidad codificada que tiene un error de codificación mínimo, sino que también determina un tipo de partición en una unidad de predicción, un modo de predicción de acuerdo con unidades de predicción y un tamaño de una unidad de transformación para transformación.
Unidades de codificación de acuerdo con una estructura de árbol en una LCU y procedimientos de determinación de una unidad de predicción/partición y una unidad de transformación, de acuerdo con una o más realizaciones, se describirá en detalle a continuación con referencia a las Figuras 7 a 19.
El determinador 120 de unidad de codificación puede medir un error de codificación de unidades de codificación más profundas de acuerdo con profundidades usando Optimización de Tasa-Distorsión a base de multiplicadores de Lagrangian.
5
10
15
20
25
30
35
40
45
50
55
El emisor 130 emite los datos de imagen de la LCU, que se codifican a base de la al menos una profundidad codificada determinada por el determinador 120 de unidad de codificación e información acerca del modo de codificación de acuerdo con la profundidad codificada, en secuencias de bits.
Los datos de imagen codificados pueden obtenerse codificando residuos de una imagen.
La información acerca del modo de codificación de acuerdo con profundidad codificada puede incluir información acerca de la profundidad codificada, acerca del tipo de partición en la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación.
La información acerca de la profundidad codificada puede definirse usando información de división de acuerdo con profundidades, que indica si la codificación se realiza en unidades de codificación de una profundidad inferior en su lugar de una profundidad actual. Si la profundidad actual de la unidad de codificación actual es la profundidad codificada, datos de imagen en la unidad de codificación actual se codifica y emite y, por lo tanto, la información de división puede definirse para no dividir la unidad de codificación actual a una profundidad inferior. Como alternativa, si la profundidad actual de la unidad de codificación actual no es la profundidad codificada, la codificación se realiza en la unidad de codificación de la profundidad inferior y, por lo tanto, la información de división puede definirse para dividir la unidad de codificación actual para obtener las unidades de codificación de la profundidad inferior.
Si la profundidad actual no es la profundidad codificada, se realiza codificación en la unidad de codificación que se divide en la unidad de codificación de la profundidad inferior. Ya que al menos una unidad de codificación de la profundidad inferior existe en una unidad de codificación de la profundidad actual, la codificación se realiza repetitivamente en cada unidad de codificación de la profundidad inferior y, por lo tanto, la codificación puede realizarse de forma recurrente para las unidades de codificación que tienen la misma profundidad.
Ya que las unidades de codificación que tienen una estructura de árbol se determinan para una LCU e información acerca de al menos un modo de codificación se determina para una unidad de codificación de una profundidad codificada, puede determinarse información acerca de al menos un modo de codificación para una LCU. También, una profundidad codificada de los datos de imagen de la LCU puede ser diferente de acuerdo con ubicaciones ya que los datos de imagen se dividen jerárquicamente de acuerdo con profundidades y, por lo tanto, información acerca de la profundidad codificada y el modo de codificación puede establecerse para los datos de imagen.
Por consiguiente, el emisor 130 puede asignar información de codificación acerca de una correspondiente profundidad codificada y un modo de codificación a al menos una de la unidad de codificación, la unidad de predicción y una unidad mínima incluida en la LCU.
La unidad mínima de acuerdo con una o más realizaciones es una unidad de datos cuadrada obtenida dividiendo por 4 la SCU que constituye la profundidad mínima. Como alternativa, la unidad mínima de acuerdo con una realización puede ser una unidad de datos cuadrada máxima que puede incluirse en todas las unidades de codificación, unidades de predicción, unidades de partición y unidades de transformación incluidas en la LCU.
Por ejemplo, la información de codificación emitida por el emisor 130 pueden clasificarse en información de codificación de acuerdo con unidades de codificación más profundas e información de codificación de acuerdo con unidades de predicción. La información de codificación de acuerdo con las unidades de codificación más profundas puede incluir la información acerca del modo de predicción y acerca del tamaño de las particiones. La información de codificación de acuerdo con las unidades de predicción puede incluir información acerca de una dirección estimada de un inter modo, acerca de un índice de imagen de referencia del inter modo, acerca de un vector de movimiento, acerca de un componente de crominancia de un intra modo y acerca de un procedimiento de interpolación del intra modo.
Información acerca de un tamaño máximo de la unidad de codificación definida de acuerdo con instantáneas, segmentos, o GOP, e información acerca de una profundidad máxima pueden insertarse en un encabezamiento de una secuencia de bits, un conjunto de parámetros de secuencia o un conjunto de parámetros de instantánea.
Información acerca de un tamaño máximo de la unidad de transformación permitido con respecto a un video actual e información acerca de un tamaño mínimo de la unidad de transformación pueden también emitirse a través de un encabezamiento de una secuencia de bits, un conjunto de parámetros de secuencia o un conjunto de parámetros de instantánea. El emisor 130 puede codificar y emitir parámetros SAO relacionados con la operación SAO descrita anteriormente con referencia a las Figuras 1A a 7F.
En el aparato 100 de codificación de video, la unidad de codificación más profunda puede ser una unidad de codificación obtenida dividiendo por dos una altura o anchura de una unidad de codificación de una profundidad superior, que está una capa por encima. En otras palabras, cuando el tamaño de la unidad de codificación de la profundidad actual es 2Nx2N, el tamaño de la unidad de codificación de la profundidad inferior es NxN. También, la unidad de codificación con la profundidad actual que tiene un tamaño de 2Nx2N puede incluir un máximo de 4 de las unidades de codificación con la profundidad inferior.
Por consiguiente, el aparato 100 de codificación de video puede formar las unidades de codificación que tienen la
5
10
15
20
25
30
35
40
45
50
55
estructura de árbol determinando unidades de codificación que tienen una forma óptima y un tamaño óptimo para cada LCU, a base del tamaño de la LCU y la profundidad máxima determinada considerando características de la instantánea actual. También, ya que la codificación puede realizarse en cada LCU usando uno cualquiera de diversos modos de predicción y transformaciones, puede determinarse un modo de codificación óptimo considerando características de la unidad de codificación de diversos tamaños de imagen.
Así pues, si una imagen que tiene una alta resolución o una gran cantidad de datos se codifica en un macrobloque convencional, el número de macrobloques por instantánea aumenta excesivamente. Por consiguiente, el número de partes de información comprimida generada para cada macrobloque aumenta y, por lo tanto, es difícil transmitir la información comprimida y disminuye la eficiencia de compresión de datos. Sin embargo, usando el aparato 100 de codificación de video, puede incrementarse la eficiencia de compresión de imagen ya que una unidad de codificación se ajusta mientras se consideran características de una imagen mientras se aumenta un tamaño máximo de una unidad de codificación mientras se considera un tamaño de la imagen.
El aparato 100 de codificación de video de la Figura 8 puede realizar operación del aparato 10 de codificación de video descrita anteriormente con referencia a la Figura 1A.
El determinador 120 de unidad de codificación puede realizar operación del determinador 14 de parámetro SAO del aparato 10 de codificación de video. Un tipo de SAO, valores de compensación de acuerdo con categorías y una clase de SAO pueden determinarse con respecto a cada LCU.
El emisor 130 puede realizar operación del codificador 16 de parámetro SAO. Pueden emitirse parámetros SAO determinados con respecto a cada LCU. Puede emitirse inicialmente información de fusión SAO indicando si adoptar parámetros SAO de una LCU adyacente de una LCU actual como los parámetros SAO de la LCU actual. Como un tipo de SAO, puede emitirse un tipo de desactivación, un tipo de borde o un tipo de banda. Un valor de compensación puede emitirse en un orden de información de valor cero, información de signo y un remanente. Con respecto al tipo de borde, la información de signo del valor de compensación puede no emitirse.
Si la información de fusión SAO de la LCU actual permite adopción de los parámetros SAO de la LCU adyacente, el tipo de SAO y los valores de compensación de la LCU actual pueden no emitirse.
Puede determinarse si realizar una operación SAO de acuerdo con componentes de color. Puede determinarse si realizar la operación SAO para un componente de luminancia y primer y segundo componentes de crominancia con respecto a cada segmento. El emisor 130 puede emitir un encabezamiento de segmento que incluye información de uso SAO de luminancia e información de uso SAO de crominancia.
El emisor 130 puede incluir información de tipo de SAO de luminancia indicando si realizar la operación SAO para el componente de luminancia y un tipo de SAO e información de tipo de SAO de crominancia indicando si realizar la operación SAO para el primer y segundo componentes de crominancia y un tipo de SAO en los parámetros SAO determinados con respecto a cada LCU.
La Figura 9 es un diagrama de bloques de un aparato 200 de decodificación de video a base de unidades de codificación que tienen una estructura de árbol, de acuerdo con una o más realizaciones. Por conveniencia de explicación, "aparato 200 de decodificación de video a base de unidades de codificación de acuerdo con una estructura de árbol" se denomina en lo sucesivo como "aparato 200 de decodificación de video".
El aparato 200 de decodificación de video que implica predicción de video a base de unidades de codificación que tienen una estructura de árbol incluye un receptor 210, un extractor 220 de datos de imagen e información de codificación y un decodificador 230 de datos de imagen.
Definiciones de diversas expresiones, tales como una unidad de codificación, una profundidad, una unidad de predicción, una unidad de transformación e información acerca de diversos modos de codificación, para la decodificación de operaciones del aparato 200 de decodificación de video son idénticas a las descritas con referencia a las Figuras 7A a 7F y el aparato 100 de codificación de video.
El receptor 210 recibe y analiza una secuencia de bits de un video codificado. El extractor 220 de datos de imagen e información de codificación extrae datos de imagen codificados para cada unidad de codificación a partir de la secuencia de bits analizada, en el que las unidades de codificación tienen una estructura de árbol de acuerdo con cada LCU, y emite los datos de imagen extraídos al decodificador 230 de datos de imagen. El extractor 220 de datos de imagen e información de codificación puede extraer información acerca de un tamaño máximo de una unidad de codificación de una instantánea actual, a partir de un encabezamiento acerca de la instantánea actual, un conjunto de parámetros de secuencia o un conjunto de parámetros de instantánea.
También, el extractor 220 de datos de imagen e información de codificación extrae información acerca de una profundidad codificada y un modo de codificación para las unidades de codificación que tienen una estructura de árbol de acuerdo con cada LCU, a partir de la secuencia de bits analizada. La información extraída acerca de la profundidad codificada y el modo de codificación se emite al decodificador 230 de datos de imagen. En otras palabras, los datos de imagen en una secuencia de bits se dividen en la LCU de modo que el decodificador 230 de
5
10
15
20
25
30
35
40
45
50
55
datos de imagen decodifica los datos de imagen para cada LCU.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con la LCU pueden establecerse para información acerca de al menos una unidad de codificación que corresponde a la profundidad codificada e información acerca de un modo de codificación puede incluir información acerca de un tipo de partición de una unidad de codificación correspondiente que corresponde a la profundidad codificada, acerca de un modo de predicción, y un tamaño de una unidad de transformación. También, puede extraerse información de división de acuerdo con profundidades como la información acerca de la profundidad codificada.
La información acerca de la profundidad codificada y el modo de codificación de acuerdo con cada LCU extraída mediante el extractor 220 de datos de imagen e información de codificación es información acerca de una profundidad codificada y un modo de codificación determinados para generar un error de codificación mínimo cuando un codificador, tal como el aparato 100 de codificación de video, realiza repetidamente codificación para cada unidad de codificación más profunda de acuerdo con profundidades de acuerdo con cada LCU. Por consiguiente, el aparato 200 de decodificación de video puede reconstruir una imagen decodificando los datos de imagen de acuerdo con una profundidad codificada y un modo de codificación que genera el error de codificación mínimo.
Ya que información de codificación acerca de la profundidad codificada y el modo de codificación puede asignarse a una unidad de datos predeterminada de entre una unidad de codificación correspondiente, una unidad de predicción y una unidad mínima, el extractor 220 de datos de imagen e información de codificación puede extraer la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las unidades de datos predeterminadas. Si información acerca de una profundidad codificada y modo de codificación de una correspondiente LCU se graba de acuerdo con unidades de datos predeterminadas, las unidades de datos predeterminadas a las que se asigna la misma información acerca de la profundidad codificada y el modo de codificación pueden deducirse que son las unidades de datos incluidas en la misma LCU.
El decodificador 230 de datos de imagen reconstruye la instantánea actual decodificando los datos de imagen en cada LCU a base de la información acerca de la profundidad codificada y el modo de codificación de acuerdo con las LCU. En otras palabras, el decodificador 230 de datos de imagen puede decodificar los datos de imagen codificados a base de la información extraída acerca del tipo de partición, el modo de predicción y la unidad de transformación para cada unidad de codificación de entre las unidades de codificación que tienen la estructura de árbol incluidos en cada LCU. Un procedimiento de decodificación puede incluir una predicción que incluye intra predicción y compensación de movimiento, y una transformación inversa.
El decodificador 230 de datos de imagen puede realizar intra predicción o compensación de movimiento de acuerdo con una partición y un modo de predicción de cada unidad de codificación, a base de la información acerca del tipo de partición y el modo de predicción de la unidad de predicción de la unidad de codificación de acuerdo con profundidades codificadas.
Además, el decodificador 230 de datos de imagen puede leer información acerca de una unidad de transformación de acuerdo con una estructura de árbol para cada unidad de codificación para realizar transformación inversa a base de unidades de transformación para cada unidad de codificación, para transformación inversa para cada LCU. A través de la transformación inversa, puede reconstruirse un valor de píxel del dominio de espacio de la unidad de codificación.
El decodificador 230 de datos de imagen puede determinar una profundidad codificada de una LCU actual usando información de división de acuerdo con profundidades. Si la información de división indica que datos de imagen ya no se dividen en la profundidad actual, la profundidad actual es una profundidad codificada. Por consiguiente, el decodificador 230 de datos de imagen puede decodificar datos codificados en la LCU actual usando la información acerca del tipo de partición de la unidad de predicción, el modo de predicción y el tamaño de la unidad de transformación para cada unidad de codificación que corresponde a la profundidad codificada.
En otras palabras, unidades de datos que contienen la información de codificación que incluye la misma información de división pueden reunirse observando el conjunto de información de codificación asignada para la unidad de datos predeterminada de entre la unidad de codificación, la unidad de predicción y la unidad mínima, y las unidades de datos reunidas pueden considerarse que son una unidad de datos a decodificar mediante el decodificador 230 de datos de imagen en el mismo modo de codificación. Como tal, la unidad de codificación actual puede decodificarse obteniendo la información acerca del modo de codificación para cada unidad de codificación.
También, el aparato 200 de decodificación de video de la Figura 9 puede realizar operación del aparato 20 de decodificación de video descrito anteriormente con referencia a la Figura 2A.
El extractor 220 de datos de imagen e información de codificación y el receptor 210 pueden realizar operación del extractor 22 de parámetro SAO del aparato 20 de decodificación de video. El decodificador 230 de datos de imagen puede realizar operaciones del determinador 24 SAO y el ajustador 26 SAO del aparato 20 de decodificación de video.
5
10
15
20
25
30
35
40
45
50
55
Puede determinarse si realizar una operación SAO de acuerdo con componentes de color.
El extractor 220 de datos de imagen e información de codificación puede obtener información de uso SAO de luminancia e información de uso SAO de crominancia a partir de un encabezamiento de segmento. Puede determinarse si realizar la operación SAO para un componente de luminancia a partir de la información de uso SAO de luminancia y primer y segundo componentes de crominancia a partir de la información de uso SAO de crominancia.
El extractor 220 de datos de imagen e información de codificación puede obtener información de tipo de SAO de luminancia indicando si realizar la operación SAO para el componente de luminancia y un tipo de SAO a partir de parámetros SAO determinados con respecto a cada LCU. El extractor 220 de datos de imagen e información de codificación puede obtener información de tipo de SAO de crominancia indicando si realizar la operación SAO para el primer y segundo componentes de crominancia y un tipo de SAO a partir de los parámetros SAO determinados con respecto a cada LCU.
Si únicamente se analiza información de fusión SAO a partir de una secuencia de bits sin parámetros SAO de una LCU actual, el extractor 220 de datos de imagen e información de codificación puede reconstruir los parámetros SAO de la LCU actual para ser los mismos que los de al menos una de LCU adyacentes. A base de la información de fusión SAO, puede determinarse una LCU adyacente que tiene parámetros SAO a los que referirse. Si se determina que los parámetros SAO de la LCU actual son diferentes de los de la LCU adyacentes a base de la información de fusión SAO de la LCU actual, que se analiza a partir de la secuencia de bits, el extractor 220 de datos de imagen e información de codificación puede analizar y reconstruir los parámetros SAO de la LCU actual a partir de la secuencia de bits.
El extractor 220 de datos de imagen e información de codificación puede analizar parámetros SAO de cada LCU a partir de la secuencia de bits. A base de los parámetros SAO, pueden determinarse un tipo de SAO, valores de compensación de acuerdo con categorías y una clase de SAO. Si el tipo de SAO de la lCu actual es un tipo de desactivación, puede terminarse ajuste de compensación en la LCU actual. Si el tipo de SAO es un tipo de borde, a base de una categoría que indica una clase de borde que indica una dirección de borde de cada uno de píxeles reconstruidos, y una forma de borde, puede seleccionarse un valor de compensación actual de entre valores de compensación recibidos. Si el tipo de SAO es un tipo de banda, se determina una banda a la que pertenece cada uno de los píxeles reconstruidos y puede seleccionarse un valor de compensación que corresponde a una banda actual de entre los valores de compensación.
El decodificador 230 de datos de imagen puede generar un píxel reconstruido capaz de minimizar un error entre un píxel original y el píxel reconstruido, ajustando un valor de píxel del píxel reconstruido mediante un correspondiente valor de compensación. Compensaciones de píxeles reconstruidos de cada LCU pueden ajustarse a base de los parámetros SAO analizados.
Así pues, el aparato 200 de decodificación de video puede obtener información acerca de al menos una unidad de codificación que genera el error de codificación mínimo cuando la codificación se realiza de forma recurrente para cada LCU y puede usar la información para decodificar la instantánea actual. En otras palabras, pueden decodificarse las unidades de codificación que tienen la estructura de árbol determinadas para ser las unidades de codificación óptimas en cada LCU.
Por consiguiente, incluso si datos de imagen tienen alta resolución y una gran cantidad de datos, los datos de imagen pueden decodificarse y reconstruirse eficientemente usando un tamaño de una unidad de codificación y un modo de codificación, que se determinan adaptativamente de acuerdo con características de los datos de imagen, usando información acerca de un modo de codificación óptimo recibido desde un codificador.
La Figura 10 es un diagrama para la descripción de un concepto de unidades de codificación de acuerdo con una o más realizaciones.
Un tamaño de una unidad de codificación puede expresarse mediante anchura x altura y puede ser 64x64, 32x32, 16x16 y 8x8. Una unidad de codificación de 64x64 puede dividirse en particiones de 64x64, 64x32, 32x64 o 32x32, y una unidad de codificación de 32x32 puede dividirse en particiones de 32x32, 32x16, 16x32 o 16x16, una unidad de codificación de 16x16 puede dividirse en particiones de 16x16, 16x8, 8x16 u 8x8 y una unidad de codificación de 8x8 puede dividirse en particiones de 8x8, 8x4, 4x8 o 4x4.
En datos 310 de video, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64 y una profundidad máxima es 2. En datos 320 de video, una resolución es 1920x1080, un tamaño máximo de una unidad de codificación es 64 y una profundidad máxima es 3. En datos 330 de video, una resolución es 352x288, un tamaño máximo de una unidad de codificación es 16 y una profundidad máxima es 1. La profundidad máxima mostrada en la Figura 10 indica un número total de divisiones desde una LCU a una unidad de decodificación mínima.
Si una resolución es alta o una cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser grande para no únicamente aumentar la eficiencia de codificación, sino también para reflejar con precisión
5
10
15
20
25
30
35
40
45
50
55
características de una imagen. Por consiguiente, el tamaño máximo de la unidad de codificación de los datos 310 y 320 de video que tienen una mayor resolución que los datos 330 de video puede ser 64.
Ya que la profundidad máxima de los datos 310 de video es 2, unidades 315 de codificación de los datos 310 de video pueden incluir una LCU que tiene un tamaño de eje largo de 64 y unidades de codificación que tienen tamaños de eje largo de 32 y 16 ya que profundidades se profundizan a dos capas dividiendo la LCU dos veces. Ya que la profundidad máxima de los datos 330 de video es 1, unidades de codificación 335 de los datos 330 de video pueden incluir una LCU que tiene un tamaño de eje largo de 16 y unidades de codificación que tienen un tamaño de eje largo de 8 ya que profundidades se profundizan a una capa dividiendo la LCU una vez.
Ya que la profundidad máxima de los datos 320 de video es 3, unidades 325 de codificación de los datos 320 de video puede incluir una LCU que tiene un tamaño de eje largo de 64 y unidades de codificación que tienen tamaños de eje largo de 32, 16 y 8 ya que las profundidades se profundizan a 3 capas dividiendo la LCU tres veces. A medida que una profundidad se profundiza, información detallada puede expresarse con precisión.
La Figura 11 es un diagrama de bloques de un codificador 400 de imagen a base de unidades de codificación, de acuerdo con una o más realizaciones.
El codificador 400 de imagen realiza operaciones del determinador 120 de unidad de codificación del aparato 100 de codificación de video para codificar datos de imagen. En otras palabras, un intra predictor 410 realiza intra predicción en unidades de codificación en un intra modo, de entre un fotograma 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento respectivamente realizan inter estimación y compensación de movimiento en unidades de codificación en un inter modo de entre el fotograma 405 actual usando el fotograma 405 actual, y una trama de referencia 495.
Emisión de datos del intra predictor 410, el estimador 420 de movimiento y el compensador 425 de movimiento se emiten como un coeficiente de transformación cuantificado a través de un transformador 430 y un cuantificador 440. El coeficiente de transformación cuantificado se reconstruye como datos en el dominio de espacio a través de un descuantificador 460 y un transformador inverso 470 y los datos reconstruidos en el dominio de espacio se emiten como el fotograma de referencia 495 después de post-procesarse a través de un filtro de desbloqueo 480 y un ajustador 490 de compensación. El coeficiente de transformación cuantificado puede emitirse como una secuencia de bits 455 a través de un codificador 450 por entropía.
Para que el codificador 400 de imagen se aplique en el aparato 100 de codificación de video, todos los elementos del codificador 400 de imagen, es decir, el intra predictor 410, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 por entropía, el descuantificador 460, el transformador inverso 470, el filtro de desbloqueo 480 y el ajustador 490 de compensación realizan operaciones a base de cada unidad de codificación entre unidades de codificación que tienen una estructura de árbol mientras se considera la profundidad máxima de cada LCU.
Específicamente, el intra predictor 410, el estimador 420 de movimiento y el compensador 425 de movimiento determinan particiones y un modo de predicción de cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol mientras se considera el tamaño máximo y la profundidad máxima de una LCU actual y el transformador 430 determina el tamaño de la unidad de transformación en cada unidad de codificación de entre las unidades de codificación que tienen una estructura de árbol.
Específicamente, cuando el estimador 420 de movimiento realiza la inter predicción usando el fotograma de referencia a largo plazo, la información POC del fotograma de referencia a largo plazo puede emitirse como el índice de referencia a largo plazo. El codificador 450 por entropía puede codificar y emitir la información LSB de la información POC del fotograma de referencia a largo plazo, como el índice de referencia a largo plazo. La información LSB de la información POC de los fotogramas de referencia a largo plazo para las unidades de predicción del segmento actual puede incluirse en el encabezamiento de segmento y a continuación transmitirse.
El ajustador 490 de compensación puede clasificar píxeles de acuerdo con un tipo de borde (o un tipo de banda) de cada LCU del fotograma de referencia 495, puede determinar una dirección de borde (o una posición de banda de inicio) y puede determinar un valor de error promedio de píxeles reconstruidos incluidos en cada categoría. Con respecto a cada LCU, pueden codificarse y señalizarse información de fusión SAO, un tipo de SAO y valores de compensación.
El codificador 450 por entropía puede realizar codificación por CABAC en parámetros SAO que incluyen Información de fusión SAO para operación SAO, información de tipo de SAO y valores de compensación. Por ejemplo, el codificador 450 por entropía puede realizar codificación por CABAC en un primer bit de la información de tipo de SAO usando un modelo de contexto y en otros bits del mismo en un modo de derivación. Pueden usarse dos modelos de contextos para los valores de compensación. Puede usarse un modelo de contexto para cada una de información de fusión SAO izquierda e información de fusión SAO superior. Por lo tanto, pueden usarse un total de cinco modelos de contextos para realizar codificación por CABAC en los parámetros SAO.
La Figura 12 es un diagrama de bloques de un decodificador de imagen 500 a base de unidades de codificación, de
5
10
15
20
25
30
35
40
45
50
55
acuerdo con una o más realizaciones.
Un analizador 510 analiza datos de imagen codificados a decodificar e información acerca de codificación requerida para la decodificación a partir de una secuencia 505 de bits. Los datos de imagen codificados se emiten como datos inversamente cuantificados a través de un decodificador 520 por entropía y un descuantificador 530 y los datos inversamente cuantificados se reconstruyen a datos de imagen en el dominio de espacio a través de un transformador 540 inverso.
Un intra predictor 550 realiza intra predicción en unidades de codificación en un intra modo con respecto a los datos de imagen en el dominio de espacio y un compensador 560 de movimiento realiza compensación de movimiento en unidades de codificación en un inter modo usando una trama 585 de referencia.
Los datos de imagen en el dominio de espacio, que pasaron a través del intra predictor 550 y el compensador 560 de movimiento, pueden emitirse como un fotograma 595 reconstruido después de post-procesarse a través de un filtro de 570 desbloqueo y un ajustador 580 de compensación. También, los datos de imagen que se post-producen a través del filtro de 570 desbloqueo y el ajustador 580 de compensación pueden emitirse como el fotograma de referencia 585.
Para decodificar los datos de imagen en el decodificador 230 de datos de imagen del aparato 200 de decodificación de video, el decodificador 500 de imagen puede realizar operaciones que se realizan después del analizador 510.
Para que el decodificador 500 de imagen se aplique en el aparato 200 de decodificación de video, todos los elementos del decodificador 500 de imagen, es decir, el analizador 510, el decodificador 520 por entropía, el descuantificador 530, el transformador 540 inverso, el intra predictor 550, el compensador 560 de movimiento, el filtro de 570 desbloqueo y el ajustador 580 de compensación realizan operaciones a base de unidades de codificación que tienen una estructura de árbol para cada LCU.
Específicamente, la intra predicción 550 y el compensador 560 de movimiento realizan operaciones a base de particiones y un modo de predicción para cada una de las unidades de codificación que tienen una estructura de árbol y el transformador 540 inverso realizan operaciones a base de un tamaño de una unidad de transformación para cada unidad de codificación.
El decodificador 520 por entropía puede realizar decodificación por CABAC en parámetros SAO y analizar información de fusión SAO para una operación SAO, información de tipo de SAO y valores de compensación a partir de los parámetros SAO. Por ejemplo, el decodificador 520 por entropía puede realizar decodificación por CABAC en un primer bit de la información de tipo de SAO usando un modelo de contexto y en otros bits del mismo en un modo de derivación. Pueden usarse dos modelos de contextos para los valores de compensación. Puede usarse un modelo de contexto para cada una de información de fusión SAO izquierda e información de fusión SAO superior. Por lo tanto, pueden usarse un total de cinco modelos de contextos para realizar decodificación por CABAC en los parámetros SAO.
El ajustador 580 de compensación puede extraer parámetros SAO de LCU a partir de una secuencia de bits. A base de información de fusión SAO de entre los parámetros SAO de una LCU actual, pueden reconstruirse parámetros SAO de la LCU actual, que son los mismos que los de una LCU adyacente. Usando un tipo de SAO y valores de compensación de entre los parámetros SAO de la LCU actual, cada uno de píxeles reconstruidos de LCU del fotograma 595 reconstruido puede ajustarse mediante un valor de compensación que corresponde a una categoría de acuerdo con el tipo de borde o el tipo de banda.
La Figura 13 es un diagrama que ilustra unidades de codificación más profundas de acuerdo con profundidades y particiones, de acuerdo con una o más realizaciones.
El aparato 100 de codificación de video y el aparato 200 de decodificación de video usan unidades de codificación jerárquica para considerar características de una imagen. Una altura máxima, una anchura máxima y una profundidad máxima de unidades de codificación pueden determinarse adaptativamente de acuerdo con las características de la imagen o puede establecerse de forma diferente mediante un usuario. Tamaños de unidades de codificación más profundas de acuerdo con profundidades pueden determinarse de acuerdo con el tamaño máximo predeterminado de la unidad de codificación.
En una estructura 600 jerárquica de unidades de codificación, de acuerdo con una o más realizaciones, la altura máxima y la anchura máxima de las unidades de codificación son cada una 64 y la profundidad máxima es 3. En este caso, la profundidad máxima se refiere a un número total de veces la unidad de codificación se divide desde la LCU a la SCU. Ya que una profundidad se profundiza a lo largo de un eje vertical de la estructura 600 jerárquica, se dividen una altura y una anchura de la unidad de codificación más profunda. También, una unidad de predicción y particiones, que son bases para codificación por predicción de cada unidad de codificación más profunda, se muestran a lo largo de un eje horizontal de la estructura 600 jerárquica.
En otras palabras, una unidad 610 de codificación es una LCU en la estructura 600 jerárquica, en la que una profundidad es 0 y un tamaño, es decir, una altura por anchura, es 64x64. La profundidad se profundiza a lo largo
5
10
15
20
25
30
35
40
45
50
del eje vertical y una unidad 620 de codificación que tiene un tamaño de 32x32 y una profundidad de 1, una unidad 630 de codificación que tiene un tamaño de 16x16 y una profundidad de 2 y una unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3. La unidad 640 de codificación que tiene un tamaño de 8x8 y una profundidad de 3 es una SCU.
La unidad de predicción y las particiones de una unidad de codificación se disponen a lo largo del eje horizontal de acuerdo con cada profundidad. En otras palabras, si la unidad 610 de codificación que tiene un tamaño de 64x64 y una profundidad de 0 es una unidad de predicción, la unidad de predicción puede dividirse en particiones incluidas en la unidad 610 de codificación, es decir una partición 610 que tiene un tamaño de 64x64, particiones 612 que tiene el tamaño de 64x32, particiones 614 que tiene el tamaño de 32x64, o particiones 616 que tiene el tamaño de 32x32.
De manera similar, una unidad de predicción de la unidad 620 de codificación que tiene el tamaño de 32x32 y la profundidad de 1 puede dividirse en particiones incluidas en la unidad 620 de codificación, es decir una partición 620 que tiene un tamaño de 32x32, particiones 622 que tienen un tamaño de 32x16, particiones 624 que tienen un tamaño de 16x32 y particiones 626 que tienen un tamaño de 16x16.
De manera similar, una unidad de predicción de la unidad 630 de codificación que tiene el tamaño de 16x16 y la
profundidad de 2 puede dividirse en particiones incluidas en la unidad 630 de codificación, es decir una partición que
tiene un tamaño de 16x16 incluida en la unidad 630 de codificación, particiones 632 que tienen un tamaño de 16x8, particiones 634 que tienen un tamaño de 8x16 y particiones 636 que tienen un tamaño de 8x8.
De manera similar, una unidad de predicción de la unidad 640 de codificación que tiene el tamaño de 8x8 y la
profundidad de 3 puede dividirse en particiones incluidas en la unidad 640 de codificación, es decir una partición que
tiene un tamaño de 8x8 incluida en la unidad 640 de codificación, particiones 642 que tienen un tamaño de 8x4, particiones 644 que tienen un tamaño de 4x8 y particiones 646 que tienen un tamaño de 4x4.
Para determinar la al menos una profundidad codificada de las unidades de codificación que constituyen la LCU 610, el determinador 120 de unidad de codificación del aparato 100 de codificación de video realiza codificación para unidades de codificación que corresponden a cada profundidad incluida en la LCU 610.
Un número de unidades de codificación más profundas de acuerdo con profundidades que incluyen datos en el mismo intervalo y el mismo tamaño aumentan a medida que la profundidad se hace más profunda. Por ejemplo, cuatro unidades de codificación que corresponden a una profundidad de 2 se requieren para cubrir datos que se incluyen en una unidad de codificación que corresponde a una profundidad de 1. Por consiguiente, para comparar resultados de codificación de los mismos de datos de acuerdo con profundidades, se codifican la unidad de codificación que corresponde a la profundidad de 1 y cuatro unidades de codificación que corresponden a la profundidad de 2.
Para realizar codificación para una profundidad actual de entre las profundidades, un error de codificación mínimo puede seleccionarse para la profundidad actual realizando codificación para cada unidad de predicción en las unidades de codificación que corresponden a la profundidad actual, a lo largo del eje horizontal de la estructura 600 jerárquica. Como alternativa, el error de codificación mínimo puede buscarse para la comparación de los últimos errores de codificación de acuerdo con profundidades, realizando codificación para cada profundidad a medida que la profundidad se hace más profunda a lo largo del eje vertical de la estructura 600 jerárquica. Una profundidad y una partición que tiene el error de codificación mínimo en la unidad 610 de codificación pueden seleccionarse como la profundidad codificada y un tipo de partición de la unidad 610 de codificación.
La Figura 14 es un diagrama para la descripción de una relación entre una unidad 710 de codificación y unidades 720 de transformación, de acuerdo con una o más realizaciones.
El aparato 100 de codificación de video o el aparato 200 de decodificación de video codifica o decodifica una imagen de acuerdo con unidades de codificación que tienen tamaños más pequeños que o iguales a una LCU para cada LCU. Tamaños de unidades de transformación para transformación durante codificación pueden seleccionarse a base de unidades de datos que no son mayores que una unidad de codificación correspondiente.
Por ejemplo, en el aparato 100 de codificación de video o el aparato 200 de decodificación de video, si un tamaño de la unidad 710 de codificación es 64x64, puede realizarse transformación usando las unidades 720 de transformación que tiene un tamaño de 32x32.
También, pueden codificarse datos de la unidad 710 de codificación que tienen el tamaño de 64x64 realizando la transformación en cada una de las unidades de transformación que tienen el tamaño de 32x32, 16x16, 8x8 y 4x4, que son más pequeñas que 64x64, y a continuación puede seleccionarse una unidad de transformación que tiene el error de codificación mínimo.
La Figura 15 es un diagrama para la descripción de información de codificación de unidades de codificación que corresponden a una profundidad codificada, de acuerdo con una o más realizaciones.
5
10
15
20
25
30
35
40
45
50
El emisor 130 del aparato 100 de codificación de video puede codificar y transmitir información 800 acerca de un tipo de partición, información 810 acerca de un modo de predicción e información 820 acerca de un tamaño de una unidad de transformación para cada unidad de codificación que corresponde a una profundidad codificada, como información acerca de un modo de codificación.
La información 800 indica información acerca de una forma de una partición obtenida dividiendo una unidad de predicción de una unidad de codificación actual, en la que la partición es una unidad de datos para codificación por predicción la unidad de codificación actual. Por ejemplo, una unidad de codificación actual CU_0 que tiene un tamaño de 2Nx2N puede dividirse en una cualquiera de una partición 802 que tiene un tamaño de 2Nx2N, una partición 804 que tiene un tamaño de 2NxN, una partición 806 que tiene un tamaño de Nx2N y una partición 808 que tiene un tamaño de NxN. En este documento, la información 800 acerca de un tipo de partición se establece para indicar una de la partición 804 que tiene un tamaño de 2NxN, la partición 806 que tiene un tamaño de Nx2N y la partición 808 que tiene un tamaño de NxN.
La información 810 indica un modo de predicción de cada partición. Por ejemplo, la información 810 puede indicar un modo de codificación por predicción realizado en una partición indicada mediante la información 800, es decir, un intra modo 812, un inter modo 814 o un modo 816 de salto.
La información 820 indica una unidad de transformación en la que basarse cuando se realiza transformación en una unidad de codificación actual. Por ejemplo, la unidad de transformación puede ser una primera unidad 822 de intra transformación, una segunda unidad 824 de intra transformación, una primera unidad 826 de inter transformación o una segunda unidad 828 de inter transformación.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de video puede extraer y usar la información 800, 810 y 820 para decodificación, de acuerdo con cada unidad de codificación más profunda.
La Figura 16 es un diagrama de unidades de codificación más profundas de acuerdo con profundidades, de acuerdo con una o más realizaciones.
Información de división pueden usarse para indicar un cambio de una profundidad. La información de división indica si una unidad de codificación de una profundidad actual se divide en unidades de codificación de una profundidad inferior.
Una unidad 910 de predicción para codificación por predicción de una unidad 900 de codificación que tiene una profundidad de 0 y un tamaño de 2N_0x2N _0 pueden incluir particiones de un tipo 912 de partición que tiene un tamaño de 2N_0x2N _0, un tipo 914 de partición que tiene un tamaño de 2N_0xN_0, un tipo 916 de partición que tiene un tamaño de N_0x2N _0 y un tipo 918 de partición que tiene un tamaño de N_0xN_0. La Figura 9 únicamente ilustra los tipos de partición 912 a 918 que se obtienen dividiendo simétricamente la unidad 910 de predicción, pero un tipo de partición no se limita a la misma y las particiones de la unidad 910 de predicción pueden incluir particiones asimétricas, particiones que tienen una forma predeterminada y particiones que tienen una forma geométrica.
Codificación por predicción se realiza repetitivamente en una partición que tiene un tamaño de 2N_0x2N_0, dos particiones que tienen un tamaño de 2N_0xN_0, dos particiones que tienen un tamaño de N_0x2N_0 y cuatro particiones que tienen un tamaño de N_0xN_0, de acuerdo con cada tipo de partición. La codificación por predicción en un intra modo y un inter modo puede realizarse en las particiones que tienen los tamaños de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 y N_0xN_0. La codificación por predicción en un modo de salto se realiza únicamente en la partición que tiene el tamaño de 2N_0x2N_0.
Si un error de codificación es más pequeño en uno de los tipos 912 a 916 de partición, la unidad 910 de predicción puede no dividirse en una profundidad inferior.
Si el error de codificación es el más pequeño en el tipo 918 de partición, una profundidad se cambia de 0 a 1 para dividir el tipo 918 de partición en la operación 920 y se realiza codificación repetitivamente en unidades 930 de codificación que tienen una profundidad de 2 y un tamaño de N_0xN_0 para buscar para un error de codificación mínimo.
Una unidad de predicción 940 para codificación por predicción la unidad 930 de codificación que tiene una profundidad de 1 y un tamaño de 2N_1x2N_1 (=N_0xN_0) puede incluir particiones de un tipo 942 de partición que tiene un tamaño de 2N_1x2N_1, un tipo 944 de partición que tiene un tamaño de 2N_1xN_1, un tipo 946 de partición que tiene un tamaño de N_1 x2N_1 y un tipo 948 de partición que tiene un tamaño de N_1 xN_1.
Si un error de codificación es el más pequeño en el tipo 948 de partición, una profundidad se cambia de 1 a 2 para dividir el tipo 948 de partición en la operación 950 y se realiza codificación repetitivamente en unidades 960 de codificación, que tienen una profundidad de 2 y un tamaño de N_2xN_2 para buscar para un error de codificación mínimo.
5
10
15
20
25
30
35
40
45
50
55
Cuando una profundidad máxima es d, puede realizarse operación de división de acuerdo con cada profundidad hasta que una profundidad se convierte en d-1 y puede codificarse información de división hasta que una profundidad es una de 0 a d-2. En otras palabras, cuando se realiza codificación hasta que la profundidad es d-1 después de que se divide una unidad de codificación que corresponde a una profundidad de d-2 en la operación 970, una unidad de predicción 990 para codificación por predicción de una unidad 980 de codificación que tiene una profundidad de d-1 y un tamaño de 2N_(d-1 )x2N_(d-1) puede incluir particiones de un tipo 992 de partición que tiene un tamaño de 2N_(d-1)x2N_(d-1), un tipo 994 de partición que tiene un tamaño de 2N_(d-1)xN_(d-1), un tipo 996 de partición que tiene un tamaño de N_(d-1)x2N_(d-1) y un tipo 998 de partición que tiene un tamaño de N_(d-1)xN_(d- 1).
Codificación por predicción puede realizarse repetidamente en una partición que tiene un tamaño de 2N_(d- 1)x2N_(d-1), dos particiones que tienen un tamaño de 2N_(d-1)xN_(d-1), dos particiones que tienen un tamaño de N_(d-1)x2N_(d-1), cuatro particiones que tienen un tamaño de N_(d-1)xN_(d-1) de entre los tipos de partición 992 a 998 para buscar para un tipo de partición que tiene un error de codificación mínimo.
Incluso cuando el tipo 998 de partición tiene el error de codificación mínimo, ya que una profundidad máxima es d, una unidad de codificación CU_(d-1) que tiene una profundidad de d-1 ya no se divide a una profundidad inferior, y se determina una profundidad codificada para las unidades de codificación que constituyen una LCU 900 actual para ser d-1 y un tipo de partición de la LCU 900 actual puede determinarse para ser N_(d-1)xN_(d-1). También, ya que la profundidad máxima es d y una SCU 980 que tiene una profundidad mínima de d-1 ya no se divide a una profundidad inferior, no se establece información de división para la SCU 980.
Una unidad 999 de datos puede ser una 'unidad mínima' para la LCU actual. Una unidad mínima de acuerdo con una o más realizaciones puede ser una unidad de datos cuadrada obtenida dividiendo por 4 una SCU 980. Realizando la codificación repetidamente, el aparato 100 de codificación de video puede seleccionar una profundidad que tiene el último error de codificación comparando errores de codificación de acuerdo con profundidades de la unidad 900 de codificación para determinar una profundidad codificada y establecer un correspondiente tipo de partición y un modo de predicción como un modo de codificación de la profundidad codificada.
Como tal, los errores de codificación mínimos de acuerdo con profundidades se comparan en todas las profundidades de 1 a d y una profundidad que tiene el último error de codificación puede determinarse como una profundidad codificada. La profundidad codificada, el tipo de partición de la unidad de predicción y el modo de predicción puede codificarse y transmitirse como información acerca de un modo de codificación. También, ya que una unidad de codificación se divide a partir de una profundidad de 0 a una profundidad codificada, únicamente información de división de la profundidad codificada se establece a 0, e información de división de profundidades excluyendo la profundidad codificada se establece a 1.
El extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de video puede extraer y usar la información acerca de la profundidad codificada y la unidad de predicción de la unidad 900 de codificación para decodificar la partición 912. El aparato 200 de decodificación de video puede determinar una profundidad, en la que información de división es 0, como una profundidad codificada usando información de división de acuerdo con profundidades, y usar información acerca de un modo de codificación de la profundidad correspondiente para decodificación.
Las Figuras 17 a 19 son diagramas para la descripción de una relación entre unidades 1010 de codificación, unidades 1060 de predicción y unidades 1070 de transformación, de acuerdo con una o más realizaciones.
Las unidades 1010 de codificación son unidades de codificación que tienen una estructura de árbol, que corresponden a profundidades codificadas determinadas mediante el aparato 100 de codificación de video, en una LCU. Las unidades 1060 de predicción son particiones de unidades de predicción de cada una de las unidades 1010 de codificación y las unidades 1070 de transformación son unidades de transformación de cada una de las unidades 1010 de codificación.
Cuando una profundidad de una LCU es 0 en las unidades 1010 de codificación, profundidades de unidades 1012 y 1054 de codificación son 1, profundidades de unidades 1014, 1016, 1018, 1028, 1050 y 1052 de codificación son 2, profundidades de unidades 1020, 1022, 1024, 1026, 1030, 1032 y 1048 de codificación son 3 y profundidades de unidades 1040, 1042, 1044 y 1046 de codificación son 4.
En las unidades 1060 de predicción, algunas unidades 1014, 1016, 1022, 1032, 1048, 1050, 1052 y 1054 de codificación se obtienen dividiendo las unidades de codificación en las unidades 1010 de codificación. En otras palabras, tipos de partición en las unidades 1014, 1022, 1050 y 1054 de codificación tienen un tamaño de 2NxN, tipos de partición en las unidades 1016, 1048 y 1052 de codificación tienen un tamaño de Nx2N y un tipo de partición de la unidad 1032 de codificación tiene un tamaño de NxN. Unidades de predicción y particiones de las unidades 1010 de codificación son más pequeñas que o igual a cada unidad de codificación.
Transformación o transformación inversa se realiza en datos de imagen de la unidad 1052 de codificación en las unidades 1070 de transformación en una unidad de datos que es más pequeña que la unidad 1052 de codificación.
5
10
15
20
25
30
35
40
También, las unidades 1014, 1016, 1022, 1032, 1048, 1050 y 1052 de codificación en las unidades 1070 de transformación son diferentes de las de las unidades 1060 de predicción en términos de tamaños y formas. En otras palabras, los aparatos 100 y 200 de codificación y decodificación de video puede realizar intra predicción, estimación de movimiento, compensación de movimiento, transformación y transformación inversa individualmente en una unidad de datos en la misma unidad de codificación.
Por consiguiente, se realiza codificación de forma recurrente en cada una de unidades de codificación que tienen una estructura jerárquica en cada región de una LCU para determinar una unidad de codificación óptima y, por lo tanto, pueden obtenerse unidades de codificación que tienen una estructura de árbol recurrente. Información de codificación puede incluir información de división acerca de una unidad de codificación, información acerca de un tipo de partición, información acerca de un modo de predicción e información acerca de un tamaño de una unidad de transformación. La Tabla 1 muestra la información de codificación que puede establecerse mediante los aparatos 100 y 200 de codificación y decodificación de video.
Tabla 1
Información de División 0 Información de
(Codificación en Unidad de Codificación que tiene Tamaño de 2Nx2N y Profundidad Actual
división 1
de d)
Modo de
Tipo de partición Tamaño de Unidad de Codificar
predicción
transformación Repetidamente Unidades de
Intra Inter
Tipo de Partición Tipo de Partición Información de División 0 de Información de División 1 de Codificación que tienen Menor
Simétrico Asimétrico Unidad de Unidad de Profundidad de d+1
Salto
Transformación Transformación
(Únicamente
2Nx2N 2NxnU 2Nx2N NxN
2Nx2N)
2NxN 2NxnD (Tipo
Nx2N nLx2N Simétrico)
NxN nRx2N N/2xN/2
(Tipo Asimétrico)
El emisor 130 del aparato 100 de codificación de video puede emitir la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol y el extractor 220 de datos de imagen e información de codificación del aparato 200 de decodificación de video puede extraer la información de codificación acerca de las unidades de codificación que tienen una estructura de árbol a partir de una secuencia de bits recibida.
Información de división indica si una unidad de codificación actual se divide en unidades de codificación de una profundidad inferior. Si información de división de una profundidad actual d es 0, una profundidad, en la que una unidad de codificación actual ya no se divide en una profundidad inferior, es una profundidad codificada y, por lo tanto, información acerca de un tipo de partición, modo de predicción, y un tamaño de una unidad de transformación pueden definirse para la profundidad codificada. Si la unidad de codificación actual se divide adicionalmente de acuerdo con la información de división, se realiza codificación independientemente en cuatro unidades de codificación divididas de una profundidad inferior.
Un modo de predicción puede ser uno de un intra modo, un inter modo y un modo de salto. El intra modo y el inter modo puede definirse en todos los tipos de partición y el modo de salto se define únicamente en un tipo de partición que tiene un tamaño de 2Nx2N.
La información acerca del tipo de partición puede indicar tipos de partición simétricos que tienen tamaños de 2Nx2N, 2NxN, Nx2N y NxN, que se obtienen dividiendo simétricamente una altura o una anchura de una unidad de predicción y tipos de partición asimétricos que tienen tamaños de 2NxnU, 2NxnD, nLx2N, y nRx2N, que se obtienen dividiendo simétricamente la altura o anchura de la unidad de predicción. Los tipos de partición asimétricos que tiene los tamaños de 2NxnU y 2NxnD pueden obtenerse respectivamente dividiendo la altura de la unidad de predicción en 1:3 y 3:1 y los tipos de partición asimétricos que tiene los tamaños de nLx2N y nRx2N pueden obtenerse respectivamente dividiendo la anchura de la unidad de predicción en 1:3 y 3:1
El tamaño de la unidad de transformación puede establecerse para ser dos tipos en el intra modo y dos tipos en el inter modo. En otras palabras, si información de división de la unidad de transformación es 0, el tamaño de la unidad de transformación puede ser 2Nx2N, que es el tamaño de la unidad de codificación actual. Si información de división de la unidad de transformación es 1, las unidades de transformación pueden obtenerse dividiendo la unidad de codificación actual. También, si un tipo de partición de la unidad de codificación actual que tiene el tamaño de 2Nx2N es un tipo de partición simétrico, un tamaño de una unidad de transformación puede ser NxN y si el tipo de
5
10
15
20
25
30
35
40
45
50
55
partición de la unidad de codificación actual es un tipo de partición asimétrico, el tamaño de la unidad de transformación puede ser N/2xN/2.
La información de codificación acerca de unidades de codificación que tienen una estructura de árbol puede incluir al menos una de una unidad de codificación que corresponde a una profundidad codificada, una unidad de predicción y una unidad mínima. La unidad de codificación que corresponde a la profundidad codificada puede incluir al menos una de una unidad de predicción y una unidad mínima que contiene la misma información de codificación.
Por consiguiente, se determina si unidades de datos adyacentes se incluyen en la misma unidad de codificación que corresponde a la profundidad codificada comparando información de codificación de las unidades de datos adyacentes. También, se determina una unidad de codificación correspondiente que corresponde a una profundidad codificada usando información de codificación de una unidad de datos y, por lo tanto, puede determinarse una distribución de profundidades codificadas en una LCU.
Por consiguiente, si una unidad de codificación actual se predice a base de información de codificación de unidades de datos adyacentes, puede referirse directamente a y usarse información de codificación de unidades de datos en unidades de codificación más profundas adyacentes a la unidad de codificación actual.
Como alternativa, si una unidad de codificación actual se predice a base de información de codificación de unidades de datos adyacentes, se buscan unidades de datos adyacentes a la unidad de codificación actual usando información codificada de las unidades de datos y las unidades de codificación adyacentes buscadas pueden referirse para la predicción de la unidad de codificación actual.
La Figura 20 es un diagrama para la descripción de una relación entre una unidad de codificación, una unidad de predicción y una unidad de transformación, de acuerdo con información de modo de codificación de la Tabla 1.
Una LCU 1300 incluye unidades 1302, 1304, 1306, 1312, 1314, 1316 y 1318 de codificación de profundidades codificadas. En este documento, ya que la unidad 1318 de codificación es una unidad de codificación de una profundidad codificada, información de división puede establecerse a 0. Información acerca de un tipo de partición de la unidad 1318 de codificación que tiene un tamaño de 2Nx2N puede establecerse para ser de un tipo 1322 de partición que tiene un tamaño de 2Nx2N, un tipo 1324 de partición que tiene un tamaño de 2NxN, un tipo 1326 de
partición que tiene un tamaño de Nx2N, un tipo 1328 de partición que tiene un tamaño de NxN, un tipo 1332 de
partición que tiene un tamaño de 2NxnU, un tipo 1334 de partición que tiene un tamaño de 2NxnD, un tipo 1336 de
partición que tiene un tamaño de nLx2N, y un tipo 1338 de partición que tiene un tamaño de nRx2N.
Información de división (bandera de tamaño de TU) de una unidad de transformación es un tipo de un índice de transformación. El tamaño de la unidad de transformación que corresponde al índice de transformación puede cambiarse de acuerdo con un tipo de unidad de predicción o tipo de partición de la unidad de codificación.
Por ejemplo, cuando el tipo de partición se establece para ser simétrico, es decir el tipo 1322, 1324, 1326 o 1328 de partición, se establece una unidad 1342 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU de una unidad de transformación es 0 y se establece una unidad 1344 de transformación que tiene un tamaño de NxN si una bandera de tamaño de TU es 1.
Cuando el tipo de partición se establece para ser simétrico, es decir, el tipo 1332, 1334, 1336 o 1338 de partición, se establece una unidad 1352 de transformación que tiene un tamaño de 2Nx2N si una bandera de tamaño de TU es 0, y se establece una unidad 1354 de transformación que tiene un tamaño de N/2xN/2 si una bandera de tamaño de TU es 1.
Haciendo referencia a la Figura 20, la bandera de tamaño de TU es una bandera que tiene un valor o 0 o 1, pero la bandera de tamaño de TU no se limita a 1 bit y una unidad de transformación puede dividirse jerárquicamente teniendo una estructura de árbol mientras la bandera de tamaño de TU aumenta de 0. Información de división (bandera de tamaño de TU) de una unidad de transformación puede ser un ejemplo de un índice de transformación.
En este caso, el tamaño de una unidad de transformación que se ha usado realmente puede expresarse usando una bandera de tamaño de TU de una unidad de transformación, de acuerdo con una o más realizaciones, junto con un tamaño máximo y tamaño mínimo de la unidad de transformación. El aparato 100 de codificación de video es capaz de la codificación de información de tamaño de unidad de transformación máximo, información de tamaño de unidad de transformación mínimo y una bandera de tamaño de TU máximo. El resultado de codificación de la información de tamaño de unidad de transformación máximo, información de tamaño de unidad de transformación mínimo y la bandera de tamaño de TU máximo pueden insertarse en un SPS. El aparato 200 de decodificación de video puede decodificar video usando la información de tamaño de unidad de transformación máximo, la información de tamaño de unidad de transformación mínimo y la bandera de tamaño de TU máximo.
Por ejemplo, (a) si el tamaño de una unidad de codificación actual es 64x64 y un tamaño de unidad de transformación máximo es 32x32, (a-1) entonces el tamaño de una unidad de transformación puede ser 32x32 cuando una bandera de tamaño de TU es 0, (a-2) puede ser 16x16 cuando la bandera de tamaño de TU es 1 y (a-3)
5
10
15
20
25
30
35
40
45
50
puede ser 8x8 cuando la bandera de tamaño de TU es 2.
Como otro ejemplo, (b) si el tamaño de la unidad de codificación actual es 32x32 y un tamaño de unidad de transformación mínimo es 32x32, (b-1) entonces el tamaño de la unidad de transformación puede ser 32x32 cuando la bandera de tamaño de TU es 0. En este documento, la bandera de tamaño de TU no puede establecerse a un valor diferente de 0, ya que el tamaño de la unidad de transformación no puede ser menor de 32x32.
Como otro ejemplo, (c) si el tamaño de la unidad de codificación actual es 64x64 y una bandera de tamaño de TU máxima es 1, entonces la bandera de tamaño de TU puede ser 0 o 1. En este documento, la bandera de tamaño de TU no puede establecerse a un valor diferente de 0 o 1.
Así pues, si se define que la bandera de tamaño de TU máxima es 'MaxTransformSizelndex', un tamaño de unidad de transformación mínimo es 'MinTransformSize' y un tamaño de unidad de transformación es 'RootTuSize' cuando la bandera de tamaño de TU es 0, entonces un tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede determinarse en una unidad de codificación actual, puede definirse mediante la Ecuación (1):
CurrMinTuSize = max(MinTransformSize, RootTuSize/(2AMaxTransformSizelndex))... (1)
En comparación con el tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede determinarse en la unidad de codificación actual, un tamaño de unidad de transformación 'RootTuSize' cuando la bandera de tamaño de TU es 0 puede indicar un tamaño de unidad de transformación máximo que puede seleccionarse en el sistema. En la Ecuación (1), 'RootTuSize/(2AMaxTransformSizelndex)' indica un tamaño de unidad de transformación cuando el tamaño de unidad de transformación 'RootTuSize', cuando la bandera de tamaño de TU es 0, se divide un número de veces que corresponde a la bandera de tamaño de TU máxima, y 'MinTransformSize' indica un tamaño de transformación mínimo. Por lo tanto, un valor más pequeño de entre 'RootTuSize/(2AMaxTransformSizelndex)' y 'MinTransformSize' puede ser el tamaño de unidad de transformación mínimo actual 'CurrMinTuSize' que puede determinarse en la unidad de codificación actual.
De acuerdo con una o más realizaciones, el tamaño de unidad de transformación máximo RootTuSize puede variar de acuerdo con el tipo de un modo de predicción.
Por ejemplo, si un modo de predicción actual es un inter modo, entonces 'RootTuSize' puede determinarse usando la Ecuación (2) a continuación. En la ecuación (2), 'MaxTransformSize' indica un tamaño de unidad de transformación máximo y 'PUSize' indica un tamaño de unidad de predicción actual.
RootTuSize = min(MaxTransformSize, PUSize)...........(2)
Es decir, si el modo de predicción actual es el inter modo, el tamaño de unidad de transformación 'RootTuSize', cuando la bandera de tamaño de TU es 0, puede ser un valor más pequeño de entre el tamaño de unidad de transformación máximo y el tamaño unidad de predicción actual.
Si un modo de predicción de una unidad partición actual es un intra modo, 'RootTuSize' puede determinarse usando la Ecuación (3) a continuación. En la ecuación (3), 'PartitionSize' indica el tamaño de la unidad de partición actual.
RootTuSize = min(MaxTransformSize, PartitionSize)...........(3)
Es decir, si el modo de predicción actual es el intra modo, el tamaño de unidad de transformación 'RootTuSize' cuando la bandera de tamaño de TU es 0 puede ser un valor más pequeño de entre el tamaño de unidad de transformación máximo y el tamaño de la unidad de partición actual.
Sin embargo, el tamaño de unidad de transformación máximo actual 'RootTuSize' que varía de acuerdo con el tipo de un modo de predicción en una unidad de partición es solo un ejemplo y las realizaciones no se limitan al mismo.
De acuerdo con el procedimiento de codificación de video a base de unidades de codificación que tienen una estructura de árbol como se describe con referencia a las Figuras 8 a 20, datos de imagen del dominio de espacio se codifican para cada unidad de codificación de una estructura de árbol. De acuerdo con el procedimiento de decodificación de video a base de unidades de codificación que tienen una estructura de árbol, decodificación se realiza para cada LCU para reconstruir datos de imagen del dominio de espacio. Por lo tanto, pueden reconstruirse una instantánea y un video que es una secuencia de instantáneas. El video reconstruido puede reproducirse mediante un aparato de reproducción, almacenado en un medio de almacenamiento o transmitido a través de una red.
También, pueden señalizarse parámetros SAO con respecto a cada instantánea, cada segmento, cada LCU, cada una de unidades de codificación que tienen una estructura de árbol, cada unidad de predicción de las unidades de codificación o cada unidad de transformación de las unidades de codificación. Por ejemplo, valores de píxel de píxeles reconstruidos de cada LCU pueden ajustarse usando valores de compensación reconstruidos a base de parámetros SAO recibidos y, por lo tanto, puede reconstruirse una LCU que tiene un error minimizado entre un bloque original y la LCU.
5
10
15
20
25
30
35
40
45
50
55
Las realizaciones pueden escribirse como programas informáticos y pueden implementarse en ordenadores digitales de uso general que ejecutan los programas usando un medio de grabación legible por ordenador. Ejemplos del medio de grabación legible por ordenador incluyen medios de almacenamiento magnético (por ejemplo, ROM, discos flexibles, discos duros, etc.) y medios de grabación ópticos (por ejemplo, CD-ROM o DVD).
Mientras la una o más realizaciones se han mostrado y descrito particularmente con referencia a realizaciones ilustrativas de las mismas, se entenderá por un experto en la materia que diversos cambios en forma y detalles pueden hacerse en las mismas sin alejarse del espíritu y ámbito de la invención como se definen mediante las siguientes reivindicaciones. Las realizaciones ilustrativas deberían considerarse únicamente en un sentido descriptivo y no para fines de limitación. Por lo tanto, el alcance de la invención se define no mediante la descripción detallada de la invención sino mediante las siguientes reivindicaciones y todas las diferencias dentro del alcance se interpretarán como que se incluyen en la una o más realizaciones.
Por conveniencia de descripción, el procedimiento de codificación de video de acuerdo con ajuste de una compensación de muestra, que se describe anteriormente con referencia a las Figuras 1A a 20, se denominará como un 'procedimiento de codificación de video de acuerdo con la una o más realizaciones'. Además, el procedimiento de decodificación de video de acuerdo con ajuste de una compensación de muestra, que se describe anteriormente con referencia a las Figuras 1A a 20, se denominará como un 'procedimiento de decodificación de video de acuerdo con la una o más realizaciones'.
También, un aparato de codificación de video que incluye el aparato 10 de codificación de video, el aparato 100 de codificación de video o el codificador 400 de imagen, que se describe anteriormente con referencia a las Figuras 1A a 20, se denominará como un 'aparato de codificación de video de acuerdo con la una o más realizaciones'. Además, un aparato de decodificación de video que incluye el aparato 20 de decodificación de video, el aparato 200 de decodificación de video o el decodificador 500 de imagen, que se describe anteriormente con referencia a las Figuras 1A a 20, se denominará como un 'aparato de decodificación de video de acuerdo con la una o más realizaciones'.
Un medio de grabación legible por ordenador que almacena un programa, por ejemplo, un disco 26000, de acuerdo con una o más realizaciones se describirá ahora en detalle.
La Figura 21 es un diagrama de una estructura física del disco 26000 en el que se almacena un programa, de acuerdo con una o más realizaciones. El disco 26000, que es un medio de almacenamiento, puede ser un disco duro, una memoria de solo lectura de disco compacto (CD-ROM), un disco Blu-ray o un disco versátil digital (DVD). El disco 26000 incluye una pluralidad de pistas concéntricas Tr que se divide cada una en un número específico de sectores Se en una dirección circunferencial del disco 26000. En una región específica del disco 26000, pueden asignarse y almacenarse un programa que ejecuta el procedimiento de determinación de parámetro de cuantificación, el procedimiento de codificación de video y el procedimiento de decodificación de video descritos anteriormente.
Un sistema informático incorporado usando un medio de almacenamiento que almacena un programa para ejecutar el procedimiento de codificación de video y el procedimiento de decodificación de video como se ha descrito anteriormente se describirán ahora con referencia a la Figura 22.
La Figura 22 es un diagrama de una unidad 26800 de disco para la grabación y lectura de un programa usando el disco 26000. Un sistema 26700 informático puede almacenar un programa que ejecuta al menos uno de un procedimiento de codificación de video y un procedimiento de decodificación de video de acuerdo con una o más realizaciones, en el disco 26000 a través de la unidad 26800 de disco. Para ejecutar el programa almacenado en el disco 26000 en el sistema 26700 informático, el programa puede leerse del disco 26000 y transmitirse al sistema 26700 informático usando la unidad 26800 de disco.
El programa que ejecuta al menos uno de un procedimiento de codificación de video y un procedimiento de decodificación de video de acuerdo con una o más realizaciones puede almacenarse no únicamente en el disco 26000 ilustrado en la Figura 21 o 22 sino también en una tarjeta de memoria, un casete ROM o un disco de estado sólido (SSD).
Un sistema al que se aplican el procedimiento de codificación de video y un procedimiento de decodificación de video descritos anteriormente se describirán a continuación.
La Figura 23 es un diagrama de una estructura general de un sistema 11000 de suministro de contenido para la proporción de un servicio de distribución de contenido. Un área de servicio de un sistema de comunicación se divide en células de tamaño predeterminado y en estas células se instalan estaciones 11700, 11800, 11900 y 12000 base inalámbricas, respectivamente.
El sistema 11000 de suministro de contenido incluye una pluralidad de dispositivos independientes. Por ejemplo, la pluralidad de dispositivos independientes, tales como un ordenador 12100, un asistente 12200 digital personal (PDA), una cámara 12300 de video y un teléfono 12500 móvil, se conectan a la Internet 11100 a través de un proveedor 11200 de servicio de internet, una red 11400 de comunicación y las estaciones 11700, 11800, 11900 y
5
10
15
20
25
30
35
40
45
50
55
12000 base inalámbricas.
Sin embargo, el sistema 11000 de suministro de contenido no se limita a como se ilustra en la Figura 24, y pueden conectarse dispositivos selectivamente al mismo. La pluralidad de dispositivos independientes pueden conectarse directamente a la red 11400 de comunicación, no a través de las estaciones 11700, 11800, 11900 y 12000 base inalámbricas.
La cámara 12300 de video es un dispositivo de formación de imágenes, por ejemplo, una cámara de video digital, que es capaz de capturar imágenes de video. El teléfono 12500 móvil puede emplear al menos un procedimiento de comunicación de entre diversos protocolos, por ejemplo, Comunicaciones Digitales Personales (PDC), Acceso Múltiple por División de Código (CDMA), Acceso Múltiple por División de Código de Banda Ancha (W-CDMA), Sistema Global para Comunicaciones Móviles (GSM) y Sistema de Teléfonos Personales (PHS).
La cámara 12300 de video puede conectarse a un servidor 11300 de flujo continuo a través de la estación 11900 base inalámbrica y la red 11400 de comunicación. El servidor 11300 de flujo continuo permite contenido recibido de un usuario a través de la cámara 12300 de video para ser difundido en continuo a través de una difusión en tiempo real. El contenido recibido desde la cámara 12300 de video puede codificarse usando la cámara 12300 de video o el servidor 11300 de flujo continuo. Datos de video capturados mediante la cámara 12300 de video pueden transmitirse al servidor 11300 de flujo continuo a través del ordenador 12100.
Datos de video capturados mediante una cámara 12600 también pueden transmitirse al servidor 11300 de flujo continuo a través del ordenador 12100. La cámara 12600 es un dispositivo de formación de imágenes capaz de capturar tanto imágenes fijas como imágenes de video, similar a una cámara digital. Los datos de video capturados mediante la cámara 12600 pueden codificarse usando la cámara 12600 o el ordenador 12100. Software que realiza codificación y decodificación de video puede almacenarse en un medio de grabación legible por ordenador, por ejemplo, un disco CD-ROM, un disco flexible, una unidad de disco duro, un SSD o una tarjeta de memoria, que puede ser accesible por el ordenador 12100.
Si datos de video se capturan mediante una cámara incorporada en el teléfono 12500 móvil, los datos de video pueden recibirse desde el teléfono 12500 móvil.
Los datos de video también pueden codificarse mediante un sistema de circuito integrado de gran escala (LSI) instalado en la cámara 12300 de video, el teléfono 12500 móvil o la cámara 12600.
El sistema 11000 de suministro de contenido puede codificar datos de contenido grabados por un usuario usando la cámara 12300 de video, la cámara 12600, el teléfono 12500 móvil u otro dispositivo de imágenes, por ejemplo, contenido grabando durante un concierto, y transmitir los datos de contenido codificados al servidor 11300 de flujo continuo. El servidor 11300 de flujo continuo puede transmitir los datos de contenido codificados en un tipo de un contenido de flujo continuo a otros clientes que solicitan los datos de contenido.
Los clientes son dispositivos capaces de decodificación de los datos de contenido codificados, por ejemplo, el ordenador 12100, el PDA 12200, la cámara 12300 de video o el teléfono 12500 móvil. Por lo tanto, el sistema 11000 de suministro de contenido permite que los clientes reciban y reproduzcan los datos de contenido codificados. También, el sistema 11000 de suministro de contenido permite que los clientes reciban los datos de contenido codificados y decodifiquen y reproduzcan los datos de contenido codificados en tiempo real, habilitando de este modo difusión personal.
Codificación y decodificación de operaciones de la pluralidad de dispositivos independientes incluidos en el sistema 11000 de suministro de contenido puede ser similar a las de un aparato de codificación de video y un aparato de decodificación de video de acuerdo con una o más realizaciones.
El teléfono 12500 móvil incluido en el sistema 11000 de suministro de contenido de acuerdo con una o más realizaciones se describirá ahora en mayor detalle haciendo referencia a las Figuras 24 y 25.
La Figura 24 ilustra una estructura externa del teléfono 12500 móvil al que se aplica un procedimiento de codificación de video y un procedimiento de decodificación de video, de acuerdo con una o más realizaciones. El teléfono 12500 móvil puede ser un teléfono inteligente, las funciones del cual no se limitan y pueden cambiarse o expandirse un gran número de las funciones del mismo.
El teléfono 12500 móvil incluye una antena 12510 interna a través de la que una señal de radio-frecuencia (RF) puede intercambiarse con la estación 12000 base inalámbrica de la Figura 21 e incluye una pantalla 12520 de visualización para la visualización de imágenes capturadas mediante una cámara 12530 o imágenes que se reciben a través de la antena 12510 y decodifican, por ejemplo, una pantalla de cristal líquido (LCD) o una pantalla de diodo orgánico de emisión de luz (OLED). El teléfono 12500 móvil incluye un panel 12540 de operación que incluye un botón de control y un panel táctil. Si la pantalla 12520 de visualización es una pantalla táctil, el panel 12540 de operación adicionalmente incluye un panel sensible al tacto de la pantalla 12520 de visualización. El teléfono 12500 móvil incluye un altavoz 12580 para la emisión de voz y sonido u otro tipo de emisor de sonido, y un micrófono 12550 para la introducción de voz y sonido u otro tipo de introductor de sonido. El teléfono 12500 móvil
5
10
15
20
25
30
35
40
45
50
55
adicionalmente incluye la cámara 12530, tales como una cámara de dispositivo de carga acoplada (CCD), para capturar imágenes de video y fijas. El teléfono 12500 móvil puede incluir adicionalmente un medio 12570 de almacenamiento para el almacenamiento de datos codificados/decodificados, por ejemplo, imágenes de video o fijas capturadas mediante la cámara 12530, recibidas a través de correo electrónico u obtenidas de acuerdo con diversas maneras; y una ranura 12560 a través de la que el medio 12570 de almacenamiento se carga en el teléfono 12500 móvil. El medio 12570 de almacenamiento puede ser memoria flash, por ejemplo, una tarjeta digital segura (SD) o una Memoria de Solo Lectura Eléctricamente Borrable y Programable (EEPROM) incluida en una funda de plástico.
La Figura 25 ilustra una estructura interna del teléfono 12500 móvil, de acuerdo con una o más realizaciones. Para controlar sistémicamente partes del teléfono 12500 móvil incluyendo la pantalla 12520 de visualización y el panel 12540 de operación, se conectan un circuito 12700 de fuente de alimentación, un controlador 12640 de entrada de operación, un codificador 12720 de imagen, una interfaz 12630 de cámara, un controlador 12620 LCD, un decodificador 12690 de imagen, un multiplexor/demultiplexor 12680, un grabador/lector 12670, un modulador/demodulador 12660 y un procesador 12650 de sonido a un controlador 12710 central a través de un bus 12730 de sincronización.
Si un usuario opera un botón de encendido y establece desde un estado de 'apagado' a un estado de 'encendido', el circuito 12700 de fuente de alimentación suministra potencia a todas las partes del teléfono 12500 móvil desde un conjunto de baterías, estableciendo de este modo el teléfono 12500 móvil en un modo de operación.
El controlador 12710 central incluye una unidad de procesamiento central (CPU), una ROM y una RAM.
Mientras el teléfono 12500 móvil transmite datos de comunicación al exterior, se genera una señal digital por el teléfono 12500 móvil bajo control del controlador 12710 central. Por ejemplo, el procesador 12650 de sonido puede generar una señal de sonido digital, el codificador 12720 de imagen puede generar una señal digital de imagen y pueden generarse datos de texto de un mensaje a través del panel 12540 de operación y el controlador 12640 de entrada de operación. Cuando una señal digital se transmite al modulador/demodulador 12660 bajo control del controlador 12710 central, el modulador/demodulador 12660 modula una banda de frecuencia de la señal digital y un circuito 12610 de comunicación realiza conversión digital a analógico (DAC) y conversión de frecuencia en la señal de sonido digital de banda de frecuencia modulada. Una señal de transmisión emitida desde el circuito 12610 de comunicación puede transmitirse a una estación base de comunicación de voz o la estación 12000 base inalámbrica a través de la antena 12510.
Por ejemplo, cuando el teléfono 12500 móvil está en un modo de conversación, una señal de sonido obtenida a través del micrófono 12550 se transforma en una señal de sonido digital mediante el procesador 12650 de sonido, bajo control del controlador 12710 central. La señal de sonido digital puede transformarse en una señal de transformación a través del modulador/demodulador 12660 y el circuito 12610 de comunicación y puede transmitirse a través de la antena 12510.
Cuando un mensaje de texto, por ejemplo, correo electrónico, se transmite en un modo de comunicación de datos, se introducen datos de texto del mensaje de texto a través del panel 12540 de operación y se transmiten al controlador 12710 central a través del controlador 12640 de entrada de operación. Bajo control del controlador 12710 central, los datos de texto se transforman en una señal de transmisión a través del modulador/demodulador 12660 y el circuito 12610 de comunicación y se transmiten a la estación 12000 base inalámbrica a través de la antena 12510.
Para transmitir datos de imagen en el modo de comunicación de datos, se proporcionan datos de imagen capturados mediante la cámara 12530 al codificador 12720 de imagen a través de la interfaz 12630 de cámara. Los datos de imagen capturada pueden visualizarse directamente en la pantalla 12520 de visualización a través de la interfaz 12630 de cámara y el controlador 12620 LCD.
Una estructura del codificador 12720 de imagen puede corresponder a la del anteriormente descrito procedimiento de codificación de video de acuerdo con la una o más realizaciones. El codificador 12720 de imagen puede transformar los datos de imagen recibidos desde la cámara 12530 en datos de imagen comprimidos y codificados a base del anteriormente descrito procedimiento de codificación de video de acuerdo con la una o más realizaciones y a continuación emitir los datos de imagen codificados al multiplexor/demultiplexor 12680. Durante una operación de grabación de la cámara 12530, una señal de sonido obtenida mediante el micrófono 12550 del teléfono 12500 móvil puede transformarse en datos de sonido digitales a través del procesador 12650 de sonido y los datos de sonido digitales pueden transmitirse al multiplexor/demultiplexor 12680.
El multiplexor/demultiplexor 12680 multiplexa los datos de imagen codificados recibidos desde el codificador 12720 de imagen, junto con los datos de sonido recibidos desde el procesador 12650 de sonido. Un resultado de multiplexación de los datos puede transformarse en una señal de transmisión a través del modulador/demodulador 12660 y el circuito 12610 de comunicación y pueden transmitirse a continuación a través de la antena 12510.
Mientras el teléfono 12500 móvil recibe datos de comunicación desde el exterior, se realizan recuperación de frecuencia y ADC en una señal recibida a través de la antena 12510 para transformar la señal en una señal digital. El modulador/demodulador 12660 modula una banda de frecuencia de la señal digital. La señal digital modulada de
5
10
15
20
25
30
35
40
45
50
55
banda de frecuencia se transmite a la unidad 12690 de decodificación de video, el procesador 12650 de sonido o el controlador 12620 LCD, de acuerdo con el tipo de la señal digital.
En el modo de conversación, el teléfono 12500 móvil amplifica una señal recibida a través de la antena 12510 y obtiene una señal de sonido digital realizando conversión de frecuencia y ADC en la señal amplificada. Una señal de sonido digital recibida se transforma en una señal de sonido analógica a través del modulador/demodulador 12660 y el procesador 12650 de sonido, y la señal de sonido analógica se emite a través del altavoz 12580, bajo control del controlador 12710 central.
Cuando en el modo de comunicación de datos, se reciben datos de un archivo de video accedidos en un sitio web de Internet, se emite una señal recibida desde la estación 12000 base inalámbrica a través de la antena 12510 como datos multiplexados a través del modulador/demodulador 12660 y los datos multiplexados se transmiten al multiplexor/demultiplexor 12680.
Para decodificar los datos multiplexados recibidos a través de la antena 12510, el multiplexor/demultiplexor 12680 demultiplexa los datos multiplexados en un flujo de datos de video codificados y un flujo de datos de audio codificados. A través del bus 12730 de sincronización, el flujo de datos de video codificados y el flujo de datos de audio codificados se proporcionan a la unidad 12690 de decodificación de video y el procesador 12650 de sonido, respectivamente.
Una estructura del decodificador 12690 de imagen puede corresponder a la del anteriormente descrito procedimiento de decodificación de video de acuerdo con la una o más realizaciones. El decodificador 12690 de imagen puede decodificar los datos de video codificados para obtener datos de video reconstruidos y proporcionar los datos reconstruidos de video a la pantalla 12520 de visualización a través del controlador 12620 LCD, usando el anteriormente descrito procedimiento de decodificación de video de acuerdo con la una o más realizaciones.
Así pues, los datos del archivo de video accedidos en el sitio web de Internet pueden visualizarse en la pantalla 12520 de visualización. Al mismo tiempo, el procesador 12650 de sonido puede transformar datos de audio en una señal de sonido analógica y proporcionar la señal de sonido analógica al altavoz 12580. Por lo tanto, datos de audio contenidos en el archivo de video accedido en el sitio web de Internet también pueden reproducirse a través del altavoz 12580.
El teléfono 12500 móvil u otro tipo de terminal de comunicación puede ser un terminal transceptor que incluye tanto un aparato de codificación de video como un aparato de decodificación de video de acuerdo con una o más realizaciones, puede ser un terminal transceptor que incluye únicamente el aparato de codificación de video o puede ser un terminal transceptor que incluye únicamente el aparato de decodificación de video.
Un sistema de comunicación de acuerdo con la una o más realizaciones no se limita al sistema de comunicación descrito anteriormente con referencia a la Figura 24. Por ejemplo, la Figura 26 ilustra un sistema de difusión digital que emplea un sistema de comunicación, de acuerdo con una o más realizaciones. El sistema de difusión digital de la Figura 26 puede recibir una difusión digital transmitida a través de un satélite o una red terrestre usando un aparato de codificación de video y un aparato de decodificación de video de acuerdo con una o más realizaciones.
Específicamente, una estación 12890 de difusión transmite un flujo de datos de video a un satélite de comunicación o un satélite 12900 de difusión usando ondas de radio. El satélite 12900 de difusión transmite una señal de difusión, y la señal de difusión se transmite a un receptor de difusión satélite a través de una antena 12860 doméstica. En cada casa, un flujo de video codificado puede decodificarse y reproducirse mediante un receptor 12810 TV, un decodificador 12870 de salón u otro dispositivo.
Cuando un aparato de decodificación de video de acuerdo con una o más realizaciones se implementa en un aparato 12830 de reproducción, el aparato 12830 de reproducción puede analizar y decodificar un flujo de video codificado grabado en un medio 12820 de almacenamiento, tales como un disco o una tarjeta de memoria para reconstruir señales digitales. Por lo tanto, la señal de video reconstruida puede reproducirse, por ejemplo, en un monitor 12840.
En el decodificador 12870 de salón conectado a la antena 12860 para una difusión por satélite/terrestre o un cable 12850 de antena para la recepción de una difusión de televisión (TV) por cable, puede instalarse un aparato de decodificación de video de acuerdo con una o más realizaciones. Emisión de datos desde el decodificador 12870 de salón también puede reproducirse en un monitor 12880 de TV.
Como otro ejemplo, un aparato de decodificación de video de acuerdo con una o más realizaciones puede instalarse en el receptor 12810 de TV en lugar del decodificador 12870 de salón.
Un automóvil 12920 que tiene una antena 12910 apropiada puede recibir una señal transmitida desde el satélite 12900 o la estación 11700 base inalámbrica de la Figura 21. Un video decodificado puede reproducirse en una pantalla de visualización de un sistema 12930 de navegación de automóvil instalado en el automóvil 12920.
Una señal de video puede codificarse mediante un aparato de codificación de video de acuerdo con una o más
5
10
15
20
25
30
35
40
45
50
55
realizaciones y a continuación puede almacenarse en un medio de almacenamiento. Específicamente, una señal de imagen puede almacenarse en un disco 12960 de DVD mediante un grabador de DVD o puede almacenarse en un disco duro mediante un grabador 12950 de disco duro. Como otro ejemplo, la señal de video puede almacenarse en una tarjeta 12970 de SD. Si el grabador 12950 de disco duro incluye un aparato de decodificación de video de acuerdo con una o más realizaciones, una señal de video grabada en el disco 12960 de DVD, la tarjeta 12970 de SD u otro medio de almacenamiento puede reproducirse en el monitor 12880 de TV.
El sistema 12930 de navegación de automóvil 12930 puede no incluir la cámara 12530 de la Figura 24 y la interfaz 12630 de cámara y el codificador 12720 de imagen de la Figura 25. Por ejemplo, el ordenador 12100 y el receptor 12810 de TV pueden no incluir la cámara 12530, la interfaz 12630 de cámara y el codificador 12720 de imagen.
La Figura 27 es un diagrama que ilustra una estructura de red de un sistema informático en la nube usando un aparato de codificación de video y un aparato de decodificación de video, de acuerdo con una o más realizaciones.
El sistema informático en la nube puede incluir un servidor 14000 informático en la nube, una base 14100 de datos (DB) de usuario, una pluralidad de recursos 14200 informáticos y un terminal de usuario.
El sistema informático en la nube proporciona un servicio de externalización bajo demanda de la pluralidad de recursos 14200 informáticos a través de una red de comunicación de datos, por ejemplo, la Internet, en respuesta a una solicitud desde el terminal de usuario. En un entorno informático en la nube, un proveedor de servicio proporciona a usuarios con servicios deseados combinando recursos informáticos en centros de datos ubicados en ubicaciones físicamente diferentes usando tecnología de virtualización. Un usuario de servicio no tiene que instalar recursos informáticos, por ejemplo, una aplicación, un almacenamiento, un sistema operativo (OS) y seguridad, en su propio terminal para usar los mismos, pero puede seleccionar y usar servicios deseados de entre servicios en un espacio virtual generado a través de la tecnología de virtualización, en un momento deseado.
Un terminal de usuario de un usuario de servicio específico se conecta al servidor 14000 informático en la nube a través de una red de comunicación de datos que incluye la Internet y una red de telecomunicación móvil. Terminales de usuario pueden estar provistos de servicios informáticos en la nube y, particularmente, servicios de reproducción de video, desde el servidor 14000 informático en la nube. Los terminales de usuario pueden ser diversos tipos de dispositivos electrónicos capaces de conectarse a la Internet, por ejemplo, un PC 14300 de escritorio, una TV 14400 inteligente, un teléfono 14500 inteligente, un ordenador 14600 portátil, un reproductor 14700 multimedia portátil (PMP), un PC 14800 tableta y similares.
El servidor 14000 informático en la nube puede combinar la pluralidad de recursos 14200 informáticos distribuidos en una red en la nube y proporcionar terminales de usuario con un resultado de la combinación. La pluralidad de recursos 14200 informáticos pueden incluir diversos servicios de datos y pueden incluir datos cargados desde terminales de usuario. Como se ha descrito anteriormente, el servidor 14000 informático en la nube puede proporcionar terminales de usuario con servicios deseados combinando base de datos de video distribuidas en diferentes regiones de acuerdo con la tecnología de virtualización.
Información de usuario acerca de usuarios que se han suscrito para un servicio informático en la nube se almacena en la DB 14100 de usuario. La información de usuario puede incluir información de registro, direcciones, nombres e información personal de crédito de los usuarios. La información de usuario puede incluir adicionalmente índices de videos. En este documento, los índices pueden incluir una lista de videos que ya se han reproducido, una lista de videos que se están reproduciendo, un punto de pausa de un video que se estaba reproduciendo y similares.
Información acerca de un video almacenada en la DB 14100 de usuario puede compartirse entre dispositivos de usuario. Por ejemplo, cuando se proporciona un servicio de video al ordenador 14600 portátil en respuesta a una solicitud desde el ordenador 14600 portátil, un historial de reproducción del servicio de video se almacena en la DB 14100 de usuario. Cuando se recibe una solicitud para reproducir este servicio de video desde el teléfono 14500 inteligente, el servidor 14000 informático en la nube busca y reproduce este servicio de video, a base de la DB 14100 de usuario. Cuando el teléfono 14500 inteligente recibe un flujo de datos de video desde el servidor 14000 informático en la nube, un procedimiento de reproducción de video decodificando el flujo de datos de video es similar a una operación del teléfono 12500 móvil descrito anteriormente con referencia a la Figura 24.
El servidor 14000 informático en la nube puede referirse a un historial de reproducción de un servicio de video deseado, almacenado en la DB 14100 de usuario. Por ejemplo, el servidor 14000 informático en la nube recibe una solicitud para reproducir un video almacenado en la dB 14100 de usuario, desde un terminal de usuario. Si este video se estaba reproduciendo, entonces un procedimiento de flujo continuo de este video, realizado mediante el servidor 14000 informático en la nube, puede variar de acuerdo con la solicitud desde el terminal de usuario, es decir, de acuerdo con si el video se reproducirá, comenzando desde un inicio del mismo o un punto de pausa del mismo. Por ejemplo, si el terminal de usuario solicita reproducir el video, comenzando desde el inicio del mismo, el servidor 14000 informático en la nube transmite datos de flujo continuo del video comenzando desde un primer fotograma del mismo al terminal de usuario. Si el terminal de usuario solicita reproducir el video, comenzando desde el punto de pausa del mismo, el servidor 14000 informático en la nube transmite datos de flujo continuo del video comenzando desde un fotograma que corresponde al punto de pausa, al terminal de usuario.
En este caso, el terminal de usuario puede incluir un aparato de decodificación de video como se ha descrito anteriormente con referencia a las Figuras 1A a 20. Como otro ejemplo, el terminal de usuario puede incluir un aparato de codificación de video como se ha descrito anteriormente con referencia a las Figuras 1A a 20. Como alternativa, el terminal de usuario puede incluir tanto el aparato de decodificación de video como el aparato de 5 codificación de video como se ha descrito anteriormente con referencia a las Figuras 1A a 20.
Diversas aplicaciones de un procedimiento de codificación de video, un procedimiento de decodificación de video, un aparato de codificación de video y un aparato de decodificación de video de acuerdo con la una o más realizaciones descritas anteriormente con referencia a las Figuras 1A a 20 se han descrito anteriormente con referencia a las Figuras 21 a 27. Sin embargo, procedimientos de almacenamiento del procedimiento de codificación de video y el 10 procedimiento de decodificación de video en un medio de almacenamiento o procedimientos de implementación del aparato de codificación de video y el aparato de decodificación de video en un dispositivo, de acuerdo con diversas realizaciones, no se limitan a las realizaciones descritas anteriormente con referencia a las Figuras 21 a 27.
Mientras la una o más realizaciones se han mostrado y descrito particularmente con referencia a realizaciones de las mismas, se entenderá por un experto en la materia que diversos cambios en forma y detalles pueden hacerse en las 15 mismas sin alejarse del ámbito de la invención como se define mediante las siguientes reivindicaciones. Las realizaciones deberían considerarse únicamente en un sentido descriptivo y no para fines de limitación. Por lo tanto, el alcance de la invención se define no mediante la descripción detallada de la invención sino mediante las siguientes reivindicaciones y todas las diferencias dentro del alcance se interpretarán como que se incluyen en la una o más realizaciones.
20

Claims (2)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un procedimiento de ajuste de compensación adaptativa de muestra (SAO), comprendiendo el procedimiento:
    obtener parámetros SAO de segmento con respecto a un segmento actual a partir de un encabezamiento de segmento de una secuencia de bits recibida;
    obtener información de uso SAO de luminancia para componentes de luminancia del segmento actual e información de uso SAO de crominancia para componentes de crominancia del mismo de entre los parámetros SAO del segmento;
    determinar si realizar una operación SAO en los componentes de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida;
    determinar si realizar la operación SAO en los componentes de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida, en el que los componentes de crominancia comprenden componentes Cr y componentes Cb;
    cuando la operación SAO se realiza en los componentes de luminancia del segmento actual a base de la información de uso SAO de luminancia obtenida y la operación SAO se realiza en los componentes de crominancia del segmento actual a base de la información de uso SAO de crominancia obtenida, obtener información de fusión SAO izquierda de un bloque actual entre bloques incluidos en el segmento actual realizando decodificación por entropía en una secuencia de bits usando un primer modo de contexto; cuando la información de fusión SAO izquierda indica que parámetros SAO del bloque actual se determinan de acuerdo con parámetros SAO de un bloque izquierdo, determinar parámetros SAO de componentes de luminancia del bloque actual para ser idénticos a parámetros SAO de componentes de luminancia del bloque izquierdo y parámetros SAO de componentes de crominancia del bloque actual para ser idénticos a parámetros sAo de componentes de crominancia del bloque izquierdo;
    cuando la información de fusión SAO izquierda indica que los parámetros SAO del bloque actual no se determinan de acuerdo con los parámetros SAO del bloque izquierdo, obtener información de fusión SAO superior del bloque actual realizando decodificación por entropía en una secuencia de bits usando el primer modo de contexto; y
    cuando la información de fusión SAO superior indica que los parámetros SAO del bloque actual se determinan de acuerdo con parámetros SAO de un bloque superior, determinar los parámetros SAO de componentes de luminancia del bloque actual para ser idénticos a parámetros SAO de componentes de luminancia del bloque superior y los parámetros SAO de componentes de crominancia del bloque actual para ser idénticos a parámetros SAO de componentes de crominancia del bloque superior;
    cuando la información de fusión SAO superior indica que los parámetros SAO del bloque actual no se determinan de acuerdo con los parámetros SAO del bloque superior, obtener los parámetros SAO del bloque actual a partir de la secuencia de bits; y
    realizar operación SAO ajustando valores de muestra de los componentes de luminancia del bloque actual usando los parámetros SAO de componentes de luminancia del bloque actual y valores de muestra de los componentes de crominancia del bloque actual usando los parámetros SAO de componentes de crominancia del bloque actual,
    caracterizado porque: la obtención de los parámetros SAO del bloque actual a partir de la secuencia de bits comprende:
    obtener información de tipo de SAO del bloque actual a partir de la secuencia de bits;
    cuando la información de tipo de SAO indica un tipo de banda o un tipo de borde, obtener un valor absoluto de una compensación del bloque actual realizando decodificación por entropía en la secuencia de bits en modo de derivación sin modelado de contextos; y
    cuando la información de tipo de SAO indica que el tipo de banda y el valor absoluto de la compensación no son 0, obtener información de signo de la compensación del bloque actual a partir de la secuencia de bits,
    la información de signo de la compensación indicando si un valor de la compensación es positiva o negativa y, cuando la información de tipo de SAO indica el tipo de borde, la información de signo de la compensación no se obtiene a partir de la secuencia de bits.
  2. 2. El procedimiento de decodificación de video de la reivindicación 1, en el que, cuando la información de fusión de compensación superior indica que el parámetro de compensación del bloque actual se determina de acuerdo con el parámetro de compensación del bloque superior, el parámetro de compensación del bloque actual no se obtiene a partir de la secuencia de bits.
ES13804347.6T 2012-06-11 2013-06-11 Procedimiento y aparato de codificación de video y procedimiento y aparato de decodificación de video compartiendo parámetros SAO entre componentes de color Active ES2652608T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261657967P 2012-06-11 2012-06-11
US201261657967P 2012-06-11
PCT/KR2013/005112 WO2013187654A1 (ko) 2012-06-11 2013-06-11 컬러성분별로 sao 파라미터를 공유하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치

Publications (1)

Publication Number Publication Date
ES2652608T3 true ES2652608T3 (es) 2018-02-05

Family

ID=49758427

Family Applications (5)

Application Number Title Priority Date Filing Date
ES13804347.6T Active ES2652608T3 (es) 2012-06-11 2013-06-11 Procedimiento y aparato de codificación de video y procedimiento y aparato de decodificación de video compartiendo parámetros SAO entre componentes de color
ES17199792T Active ES2746341T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES17199795T Active ES2746936T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES17199794T Active ES2746824T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES17199793T Active ES2755811T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de videos compartiendo parámetros SAO según un componente de color

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES17199792T Active ES2746341T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES17199795T Active ES2746936T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES17199794T Active ES2746824T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de video compartiendo parámetros SAO según un componente de color
ES17199793T Active ES2755811T3 (es) 2012-06-11 2013-06-11 Codificación y decodificación de videos compartiendo parámetros SAO según un componente de color

Country Status (27)

Country Link
US (6) US9807392B2 (es)
EP (5) EP3300365B1 (es)
JP (5) JP5990326B2 (es)
KR (6) KR101529994B1 (es)
CN (10) CN104869394B (es)
AU (3) AU2013275098B2 (es)
BR (1) BR112014030935B1 (es)
CA (2) CA2985277C (es)
CY (1) CY1119864T1 (es)
DK (5) DK3297283T3 (es)
ES (5) ES2652608T3 (es)
HR (1) HRP20171936T1 (es)
HU (5) HUE047442T2 (es)
IN (1) IN2014MN02643A (es)
LT (1) LT2854398T (es)
MX (2) MX352119B (es)
MY (2) MY171147A (es)
NO (1) NO2938424T3 (es)
PH (5) PH12014502761A1 (es)
PL (5) PL3297284T3 (es)
PT (1) PT2854398T (es)
RS (1) RS56675B1 (es)
RU (4) RU2638742C1 (es)
SG (4) SG11201408246QA (es)
SI (1) SI2854398T1 (es)
TW (5) TWI687091B (es)
WO (1) WO2013187654A1 (es)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
MX2013013508A (es) 2011-06-23 2014-02-27 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes.
TWI581615B (zh) 2011-06-24 2017-05-01 Sun Patent Trust A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device
EP2725792B1 (en) 2011-06-24 2018-08-22 Sun Patent Trust Image decoding method and image decoding device
AU2012277214B2 (en) 2011-06-27 2016-05-05 Sun Patent Trust Decoding method, coding method, decoding apparatus, coding apparatus, and coding and decoding apparatus
WO2013001765A1 (ja) 2011-06-28 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001767A1 (ja) 2011-06-29 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR102060619B1 (ko) 2011-06-30 2019-12-30 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
AU2012277220B2 (en) 2011-06-30 2016-08-11 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
CN106851295B (zh) 2011-07-11 2019-10-18 太阳专利托管公司 编码方法及编码装置
US9253482B2 (en) * 2011-11-08 2016-02-02 Texas Insturments Incorporated Method and apparatus for sample adaptive offset without sign coding
WO2013091513A1 (en) * 2011-12-22 2013-06-27 Mediatek Inc. Method and apparatus of texture image compression in 3d video coding
CN104869394B (zh) 2012-06-11 2018-10-19 三星电子株式会社 视频解码方法
TWI595776B (zh) * 2012-06-27 2017-08-11 Sony Corp Image processing device and method
TWI557727B (zh) 2013-04-05 2016-11-11 杜比國際公司 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品
EP2996269A1 (en) 2014-09-09 2016-03-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio splicing concept
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
US9729885B2 (en) * 2015-02-11 2017-08-08 Futurewei Technologies, Inc. Apparatus and method for compressing color index map
US9877024B2 (en) 2015-03-06 2018-01-23 Qualcomm Incorporated Low complexity sample adaptive offset (SAO) coding
CN105049853A (zh) * 2015-07-06 2015-11-11 深圳市云宙多媒体技术有限公司 一种基于片源分析的sao编码方法及系统
WO2017014585A1 (ko) * 2015-07-21 2017-01-26 엘지전자(주) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
US11196992B2 (en) * 2015-09-03 2021-12-07 Mediatek Inc. Method and apparatus of neural network based processing in video coding
US10972731B2 (en) * 2015-11-10 2021-04-06 Interdigital Madison Patent Holdings, Sas Systems and methods for coding in super-block based video coding framework
US10841581B2 (en) * 2016-07-14 2020-11-17 Arris Enterprises Llc Region specific encoding and SAO-sensitive-slice-width-adaptation for improved-quality HEVC encoding
US10567775B2 (en) * 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
WO2018174591A1 (ko) * 2017-03-22 2018-09-27 김기백 영상을 구성하는 화소값 범위를 이용한 영상 부호화/복호화 방법
DE112018002562B3 (de) 2017-04-21 2022-01-05 Zenimax Media Inc. Systeme und Verfahren zur Spielereingabe-Bewegungskompensation in einem Client-Server-Videospiel durch Zwischenspeichern wiederkehrender Bewegungsvektoren
JP7179023B2 (ja) * 2017-05-31 2022-11-28 インターデジタル マディソン パテント ホールディングス, エスアーエス ピクチャの符号化および復号の方法およびデバイス
EP3750320B1 (en) * 2018-02-09 2023-11-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Adaptive in-loop filter with multiple feature-based classifications
KR20210022100A (ko) 2018-06-26 2021-03-02 후아웨이 테크놀러지 컴퍼니 리미티드 포인트 클라우드 코딩을 위한 고급 신택스 설계
MX2021002185A (es) * 2018-08-31 2021-05-14 Samsung Electronics Co Ltd Metodo y aparato de decodificacion de video, y metodo y aparato de codificacion de video.
KR20200044662A (ko) * 2018-10-19 2020-04-29 삼성전자주식회사 영상의 ai 부호화 및 ai 복호화를 위한 장치, 및 방법
WO2020094052A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Side information signaling for inter prediction with geometric partitioning
US10727868B2 (en) * 2018-12-03 2020-07-28 Samsung Electronics Co., Ltd. Apparatus and method for offset optimization for low-density parity-check (LDPC) code
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
WO2022115698A1 (en) * 2020-11-30 2022-06-02 Beijing Dajia Internet Information Technology Co., Ltd. Chroma coding enhancement in cross-component sample adaptive offset
CN113099221B (zh) * 2021-02-22 2023-06-02 浙江大华技术股份有限公司 跨分量样点自适应补偿方法、编码方法及相关装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69803639T2 (de) * 1997-08-07 2002-08-08 Matsushita Electric Ind Co Ltd Vorrichtung und Verfahren zur Detektion eines Bewegungsvektors
KR20060105407A (ko) * 2005-04-01 2006-10-11 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US7010044B2 (en) 2003-07-18 2006-03-07 Lsi Logic Corporation Intra 4×4 modes 3, 7 and 8 availability determination intra estimation and compensation
CN101695132B (zh) 2004-01-20 2012-06-27 松下电器产业株式会社 图像编码方法和设备、图像解码方法和设备
KR101136629B1 (ko) 2004-01-30 2012-04-23 파나소닉 주식회사 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치,화상 복호화 장치, 및 그 프로그램
ES2392437T3 (es) * 2004-01-30 2012-12-10 Panasonic Corporation Procedimiento de decodificación de vídeos que utiliza matrices de cuantificación adaptativas
KR100657268B1 (ko) * 2004-07-15 2006-12-14 학교법인 대양학원 컬러 영상의 신축적 부호화, 복호화 방법 및 장치
EP1878250A4 (en) * 2005-04-01 2012-11-28 Lg Electronics Inc METHOD OF ENCODING AND DECODING THAT CAN BE SCALED ON A VIDEO SIGNAL
TW200806040A (en) * 2006-01-05 2008-01-16 Nippon Telegraph & Telephone Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
JP4650894B2 (ja) * 2006-04-03 2011-03-16 三菱電機株式会社 画像復号装置
CN100578618C (zh) * 2006-12-04 2010-01-06 华为技术有限公司 一种解码方法及装置
JP4956180B2 (ja) * 2006-12-26 2012-06-20 株式会社東芝 順次走査変換装置及び順次走査変換方法
JP5467637B2 (ja) 2007-01-04 2014-04-09 トムソン ライセンシング マルチビュー・コード化ビデオにおける照度補償および/または色補償についてのコーディング・アーチファクトを低減する方法および装置
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US8938009B2 (en) 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
KR101624649B1 (ko) 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US9406252B2 (en) 2009-12-31 2016-08-02 Broadcom Corporation Adaptive multi-standard video coder supporting adaptive standard selection and mid-stream switch-over
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
WO2011128268A1 (en) 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
US8902978B2 (en) 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
JP5165083B2 (ja) 2010-06-15 2013-03-21 聯發科技股▲ふん▼有限公司 ビデオコーディングの適応オフセットに用いる装置および方法
US9456111B2 (en) 2010-06-15 2016-09-27 Mediatek Inc. System and method for content adaptive clipping
EP3907999B1 (en) * 2010-09-02 2023-11-22 LG Electronics, Inc. Inter prediction
USRE49308E1 (en) * 2010-09-29 2022-11-22 Electronics And Telecommunications Research Instit Method and apparatus for video-encoding/decoding using filter information prediction
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
CA2805722C (en) 2010-10-05 2016-03-29 Ching-Yeh Chen Method and apparatus of region-based adaptive loop filtering
EP4319166A3 (en) * 2010-11-25 2024-02-28 LG Electronics Inc. Method offor signaling image information, and method offor decoding image information using same
CN102595119B (zh) * 2011-01-14 2014-03-12 华为技术有限公司 条带编码方法及装置、条带解码方法及装置
PL2882190T3 (pl) * 2011-04-21 2019-04-30 Hfi Innovation Inc Sposób i urządzenie do poprawionego filtrowania w pętli
US9008170B2 (en) 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
SG10201408715UA (en) * 2011-06-28 2015-02-27 Samsung Electronics Co Ltd Video encoding method using offset adjustments according to pixel classification and apparatus therefor, video decoding method and apparatus therefor
US20130003829A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US9591331B2 (en) * 2012-03-28 2017-03-07 Qualcomm Incorporated Merge signaling and loop filter on/off signaling
MX2013015089A (es) * 2012-05-25 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
EP2858355A4 (en) 2012-05-25 2016-11-16 Sun Patent Trust PICTURE CODING METHOD, PICTURE DECODING METHOD, PICTURE CODING DEVICE, PICTURE DECODING DEVICE, AND PICTURE CODING / DECODING DEVICE
EP3139616A1 (en) * 2012-05-29 2017-03-08 HFI Innovation Inc. Method and apparatus for coding of sample adaptive offset information
MY169635A (en) * 2012-06-08 2019-04-24 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
CN104869394B (zh) 2012-06-11 2018-10-19 三星电子株式会社 视频解码方法
CN103634603B (zh) * 2012-08-29 2017-07-07 中兴通讯股份有限公司 视频编解码方法、装置及系统

Also Published As

Publication number Publication date
JP2016208545A (ja) 2016-12-08
HUE047709T2 (hu) 2020-05-28
SG11201408246QA (en) 2015-03-30
PL3300365T3 (pl) 2020-01-31
PH12018500804A1 (en) 2018-09-24
RS56675B1 (sr) 2018-03-30
HUE037047T2 (hu) 2018-08-28
HUE047710T2 (hu) 2020-05-28
CA2985277C (en) 2019-06-04
SI2854398T1 (en) 2018-02-28
EP3297284B1 (en) 2019-09-11
PH12018500805A1 (en) 2018-09-24
CN108600752B (zh) 2021-09-21
TWI687091B (zh) 2020-03-01
EP3297283B1 (en) 2019-09-04
US10075718B2 (en) 2018-09-11
KR20150041769A (ko) 2015-04-17
KR101603687B1 (ko) 2016-03-15
CN108965875B (zh) 2022-02-01
CN104869395B (zh) 2018-12-14
US9807392B2 (en) 2017-10-31
CN104869394A (zh) 2015-08-26
PL2854398T3 (pl) 2018-02-28
AU2017265158B2 (en) 2018-11-08
HUE047873T2 (hu) 2020-05-28
KR20150041768A (ko) 2015-04-17
US20150181251A1 (en) 2015-06-25
ES2746824T3 (es) 2020-03-09
CN108965875A (zh) 2018-12-07
IN2014MN02643A (es) 2015-10-16
JP6034535B1 (ja) 2016-11-30
CN104869396A (zh) 2015-08-26
US9219918B2 (en) 2015-12-22
EP3300364A1 (en) 2018-03-28
JP2016226022A (ja) 2016-12-28
CN104902273A (zh) 2015-09-09
DK3300365T3 (da) 2019-09-16
AU2016204699B2 (en) 2017-08-31
TW201836355A (zh) 2018-10-01
EP3300364B1 (en) 2019-09-04
DK3300364T3 (da) 2019-09-16
KR101603703B1 (ko) 2016-03-15
US20150189284A1 (en) 2015-07-02
TWI519135B (zh) 2016-01-21
PH12018500803B1 (en) 2018-09-24
PL3297283T3 (pl) 2019-12-31
PT2854398T (pt) 2018-01-16
US20150181252A1 (en) 2015-06-25
US10609375B2 (en) 2020-03-31
RU2014153865A (ru) 2016-08-10
PH12014502761B1 (en) 2015-03-02
NO2938424T3 (es) 2018-08-18
US20180352233A1 (en) 2018-12-06
CN108965876B (zh) 2022-02-01
BR112014030935B1 (pt) 2022-06-14
CA2985277A1 (en) 2013-12-19
ES2746341T3 (es) 2020-03-05
TWI549484B (zh) 2016-09-11
MX342394B (es) 2016-09-28
PH12018500808A1 (en) 2018-09-24
MY171147A (en) 2019-09-27
SG10201503487VA (en) 2015-06-29
LT2854398T (lt) 2018-01-10
JP2015519853A (ja) 2015-07-09
CN104869396B (zh) 2018-10-19
JP6034534B1 (ja) 2016-11-30
KR20130138701A (ko) 2013-12-19
AU2013275098A1 (en) 2015-01-29
RU2638742C1 (ru) 2017-12-15
US20150172678A1 (en) 2015-06-18
TW201640896A (zh) 2016-11-16
CN104902273B (zh) 2019-03-15
PH12018500805B1 (en) 2018-09-24
KR20150009497A (ko) 2015-01-26
PL3300364T3 (pl) 2019-12-31
MX2014015240A (es) 2015-02-20
CA2876167A1 (en) 2013-12-19
PH12014502761A1 (en) 2015-03-02
US9807393B2 (en) 2017-10-31
SG10201510803WA (en) 2016-01-28
CN104869395A (zh) 2015-08-26
HRP20171936T1 (hr) 2018-02-09
JP6081648B2 (ja) 2017-02-15
KR20150041771A (ko) 2015-04-17
WO2013187654A1 (ko) 2013-12-19
MY192340A (en) 2022-08-17
JP2016220238A (ja) 2016-12-22
MX352119B (es) 2017-11-09
CN104869394B (zh) 2018-10-19
KR101603704B1 (ko) 2016-03-25
EP3300365A1 (en) 2018-03-28
AU2017265158A1 (en) 2017-12-14
RU2595578C2 (ru) 2016-08-27
PH12018500804B1 (en) 2018-09-24
CN104471938B (zh) 2018-08-21
CA2876167C (en) 2018-01-02
US20150189330A1 (en) 2015-07-02
EP3297284A1 (en) 2018-03-21
RU2666311C1 (ru) 2018-09-06
CN108965874B (zh) 2021-04-27
KR101529994B1 (ko) 2015-06-29
CY1119864T1 (el) 2018-06-27
JP5990326B2 (ja) 2016-09-14
CN108965876A (zh) 2018-12-07
EP2854398A4 (en) 2015-12-23
ES2755811T3 (es) 2020-04-23
AU2013275098B2 (en) 2016-05-05
KR102028688B1 (ko) 2019-10-04
PH12018500803A1 (en) 2018-09-24
TWI604718B (zh) 2017-11-01
PL3297284T3 (pl) 2019-12-31
JP2016226021A (ja) 2016-12-28
DK2854398T3 (en) 2018-01-08
HUE047442T2 (hu) 2020-04-28
EP3300365B1 (en) 2019-09-04
KR101603705B1 (ko) 2016-03-15
TW201412123A (zh) 2014-03-16
SG10201605050RA (en) 2016-08-30
PH12018500808B1 (en) 2018-09-24
CN108965874A (zh) 2018-12-07
RU2693307C1 (ru) 2019-07-02
DK3297284T3 (da) 2019-09-23
CN104471938A (zh) 2015-03-25
BR112014030935A8 (pt) 2019-12-10
CN104902272A (zh) 2015-09-09
US9826235B2 (en) 2017-11-21
CN104902272B (zh) 2017-09-01
EP2854398A1 (en) 2015-04-01
TWI632805B (zh) 2018-08-11
DK3297283T3 (da) 2019-09-16
EP3297283A1 (en) 2018-03-21
KR20150041770A (ko) 2015-04-17
EP2854398B1 (en) 2017-12-13
CN108600752A (zh) 2018-09-28
TW201537955A (zh) 2015-10-01
TW201743613A (zh) 2017-12-16
JP6034533B1 (ja) 2016-11-30
ES2746936T3 (es) 2020-03-09
AU2016204699A1 (en) 2016-07-21
BR112014030935A2 (pt) 2017-06-27

Similar Documents

Publication Publication Date Title
ES2652608T3 (es) Procedimiento y aparato de codificación de video y procedimiento y aparato de decodificación de video compartiendo parámetros SAO entre componentes de color
ES2728091T3 (es) Aparato de decodificación por entropía de segmentos de corte
KR101644540B1 (ko) 공간 서브영역별로 비디오를 부호화하는 방법 및 그 장치, 공간 서브영역별로 비디오를 복호화하는 방법 및 그 장치
BR122019027914B1 (pt) aparelho para uma decodificação de deslocamento adaptativo de amostra (sao), método de uma codificação de deslocamento adaptativo de amostra (sao), e aparelho para uma codificação de deslocamento adaptativo de amostra (sao)
BR122019019874B1 (pt) Método de decodificação de vídeo
KR20130085389A (ko) 서브영역별로 엔트로피 부호화의 병렬 처리가 가능한 비디오 부호화 방법 및 장치, 서브영역별로 엔트로피 복호화의 병렬 처리가 가능한 비디오 복호화 방법 및 장치
BR122019022458B1 (pt) Método decodificador de vídeo
BR122020014045B1 (pt) Aparelho para decodificar um vídeo
BR122020014034B1 (pt) Método de intrapredição de um vídeo
BR122020014040B1 (pt) Aparelho para decodificar um vídeo
BR122020014050B1 (pt) Método de intrapredição de um vídeo