ES2994118T3 - Apparatus and method for coding image - Google Patents
Apparatus and method for coding image Download PDFInfo
- Publication number
- ES2994118T3 ES2994118T3 ES20856575T ES20856575T ES2994118T3 ES 2994118 T3 ES2994118 T3 ES 2994118T3 ES 20856575 T ES20856575 T ES 20856575T ES 20856575 T ES20856575 T ES 20856575T ES 2994118 T3 ES2994118 T3 ES 2994118T3
- Authority
- ES
- Spain
- Prior art keywords
- information
- alf
- component
- cross
- samples
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/1883—Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
Según una realización del presente documento, un procedimiento de filtrado en bucle en un procedimiento de codificación de imágenes/vídeo puede comprender un procedimiento de filtrado en bucle adaptativo de componentes cruzados. CCALF, según la presente realización, puede aumentar la precisión del filtrado en bucle. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Aparato y método para codificar imágenes
Antecedentes de la divulgación
Campo de la divulgación
La presente divulgación se refiere a un aparato y un método para codificar una imagen.
Técnica relacionada
Recientemente, la demanda de imagen/vídeo de alta resolución y alta calidad, tal como imagen/vídeo de 4K u 8K o de definición ultraalta superior (UHD) ha aumentado en diversos campos. Como los datos de imagen/vídeo tienen alta resolución y alta calidad, la cantidad de información o bits a transmitir aumenta con respecto a los datos de imagen/vídeo existentes y, por lo tanto, transmitir datos de imagen utilizando un medio tal como una línea de banda ancha cableada/inalámbrica existente o un medio de almacenamiento existente o almacenar datos de imagen/vídeo utilizando un medio de almacenamiento existente aumenta el coste de transmisión y el coste de almacenamiento. Además, el interés y la demanda de medios inmersivos, tales como contenido u hologramas de realidad virtual (VR) y realidad artificial (Ar ), ha aumentado recientemente y la difusión de imágenes/vídeo que tienen características diferentes de las imágenes de realidad, tales como imágenes de juego, ha aumentado.
Por consiguiente, se requiere una tecnología de compresión de imagen/vídeo altamente eficiente para comprimir, transmitir, almacenar y reproducir eficazmente información de una imagen/vídeo de alta resolución y alta calidad que tiene diversas características como se describió anteriormente.
En un procedimiento de codificación para la compresión de imagen/vídeo, se puede realizar un procedimiento de filtrado en bucle. Recientemente, hay una discusión sobre la mejora de la precisión del filtrado.
Se propone un proceso de filtro de bucle adaptativo que hace uso de valores de muestra de luma para refinar cada componente de croma por KIRAN MISRA ET AL: "Cross-Component Adaptive Loop Filter for chroma", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OFISO/IEC JTC1/SC29/WG11 E ITU-T SG.16), no. JVET-O0636; m487797 de julio de 2019 (2019-07-07), páginas 1-9.
Un proceso de filtro de bucle adaptativo de componente cruzado para mejorar el filtrado en bucle de componentes de croma se analiza por "ResCrosscheck of JVET-O0636 on Cross-Component Adaptive Loop Filter for chroma", 15. JVET MEETING; 20190703 - 20190712; Gothenburg; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16), no JVET-O1149, 8 de julio de 2019 (2019-07-08).
Compendio
Según la presente invención, las reivindicaciones independientes exponen un método para la descodificación de imágenes, un método para la codificación de imágenes, un medio de almacenamiento legible por ordenador que almacena un flujo de bits generado por un método de codificación de imágenes y un método de transmisión de datos para una imagen. La presente divulgación proporciona un procedimiento y un aparato para aumentar la eficiencia de codificación de imagen/vídeo.
La invención se describe en el contexto de la FIG. 14.
Efectos ventajosos
Según una realización de la presente divulgación, se puede aumentar la eficiencia de compresión de imagen/vídeo general.
Según una realización de la presente divulgación, la calidad visual subjetiva/objetiva se puede mejorar a través de un filtrado eficiente.
Según una realización de la presente divulgación, un procedimiento de ALF se puede realizar de manera eficiente y se puede mejorar el rendimiento de filtrado.
Según una realización de la presente divulgación, las muestras de croma reconstruidas filtradas en base a muestras de luma reconstruidas se pueden modificar para mejorar la calidad de imagen y la precisión de codificación de un componente de croma de una imagen descodificada.
Según una realización de la presente divulgación, el procedimiento de CCALF se puede realizar de manera eficiente. Según una realización de la presente divulgación, la información relacionada con ALF puede señalizarse de manera eficiente.
Según una realización de la presente divulgación, la información relacionada con CCALF puede señalizarse de manera eficiente.
Según una realización de la presente divulgación, ALF y/o CCALF se pueden aplicar de manera adaptativa en unidades de imágenes, segmentos y/o bloques de codificación.
Según una realización de la presente divulgación, cuando se usa CCALF en el método y aparato de codificación y descodificación para una imagen fija o vídeo, se pueden mejorar los coeficientes de filtro para CCALF y el método de transmisión de encendido/apagado en un bloque o unidad de CTU, aumentando de este modo la eficiencia de codificación
Breve descripción de los dibujos
La FIG. 1 muestra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen que puede aplicarse a realizaciones de la presente divulgación.
La FIG. 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de vídeo/imagen que puede aplicarse a realizaciones de la presente divulgación.
La FIG. 3 es un diagrama que ilustra esquemáticamente una configuración de un aparato de descodificación de vídeo/imagen que puede aplicarse a realizaciones de la presente divulgación.
La FIG. 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado.
La FIG. 5 es un diagrama de flujo que ilustra un procedimiento de reconstrucción de bloques basado en intrapredicción en un aparato de descodificación.
La FIG. 6 es un diagrama de flujo que ilustra un procedimiento de reconstrucción de bloques basado en interpredicción en un aparato de codificación.
La FIG. 7 es un diagrama de flujo que ilustra un procedimiento de reconstrucción de bloques basado en interpredicción en un aparato de descodificación.
La FIG. 8 muestra un ejemplo de una forma de un filtro ALF.
La FIG. 9 es un diagrama que ilustra un límite virtual aplicado a un procedimiento de filtrado según una realización de la presente divulgación.
La FIG. 10 muestra un ejemplo de un procedimiento de ALF que usa un límite virtual según una realización de la presente divulgación.
La FIG. 11 es un diagrama que ilustra un procedimiento de filtrado de bucle adaptativo de componente cruzado (CC-ALF) según una realización de la presente divulgación.
Las FIGS. 12 y 13 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y de los componentes relacionados según la realización(s) de la presente divulgación.
Las FIGS. 14 y 15 muestran esquemáticamente un ejemplo de un método de descodificación de imagen/vídeo y de los componentes relacionados según la realización(s) de la presente divulgación.
La FIG. 16 muestra un ejemplo de un sistema de transmisión continua de contenido al que se pueden aplicar las realizaciones descritas en la presente descripción.
Descripción de realizaciones a modo de ejemplo
Los términos utilizados en la siguiente descripción se usan para describir simplemente realizaciones específicas, pero no pretenden limitar la presente divulgación. Una expresión de un número singular incluye una expresión del número plural, siempre que se lea claramente de manera diferente. Los términos tales como "incluir" y "tener" pretenden indicar que existen características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos utilizados en la siguiente descripción y se debe entender, por lo tanto, que no se excluye la posibilidad de existencia o adición de una o más características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos diferentes.
Al mismo tiempo, cada configuración en los dibujos descritos en la presente divulgación se muestra independientemente por conveniencia de la descripción con respecto a diferentes funciones características, y no significa que cada configuración se implemente como hardware separado o software separado. Por ejemplo, dos o más componentes entre cada componente se pueden combinar para formar un componente, o un componente se puede dividir en una pluralidad de componentes. Las realizaciones en las que cada componente está integrado y/o separado también están incluidas en el alcance del documento de la presente divulgación.
La presente divulgación se refiere a la codificación de vídeo/imagen. Por ejemplo, los métodos/realizaciones divulgados en la presente divulgación pueden aplicarse a métodos divulgados en una codificación de vídeo versátil (VVC). Además, los métodos/realizaciones divulgados en la presente divulgación pueden aplicarse a un método divulgado en un estándar de codificación de vídeo esencial (EVC), un estándar de vídeo de AOMedia 1 (AV1), un estándar de codificación de vídeo y audio de 2a generación (AVS2), o un estándar de codificación de vídeo/imagen de próxima generación (por ejemplo, H.267 o H.268, etc.).
La presente divulgación presenta diversas realizaciones de codificación de vídeo/imagen y, a menos que se mencione lo contrario, estas realizaciones pueden realizarse en combinación entre sí.
En la presente divulgación, un vídeo puede referirse a una serie de imágenes a lo largo del tiempo. Una imagen se refiere generalmente a una unidad que representa una imagen en una región temporal específica, y un segmento/tesela (tesela) es una unidad que constituye una parte de una imagen en codificación. Un segmento/tesela puede incluir una o más unidades de árbol de codificación (CTU). Una imagen puede estar compuesta por uno o más segmentos/bloques. Una tesela es una región rectangular de CTU dentro de una columna de teselas particular y una fila de teselas particular en una imagen. La columna de teselas es una región rectangular de CTU que tiene una altura igual a la altura de la imagen y una anchura especificada por los elementos sintácticos en el conjunto de parámetros de imagen. La fila de teselas es una región rectangular de CTU que tiene una altura especificada por elementos sintácticos en el conjunto de parámetros de imagen y una anchura igual a la anchura de la imagen. Un escaneo de teselas es un ordenamiento secuencial específico de CTU que dividen una imagen en donde las CTU se ordenan consecutivamente en un escaneo de trama de CTU en una tesela, mientras que las teselas en una imagen se ordenan consecutivamente en un escaneo de trama de las teselas de la imagen. Un segmento incluye un número entero de teselas completas o un número entero de filas de CTU completas consecutivas dentro de una tesela de una imagen que puede estar contenida exclusivamente en una única unidad NAL).
Al mismo tiempo, una imagen puede dividirse en dos o más subimágenes. La subimagen puede ser una región rectangular de uno o más segmentos dentro de una imagen.
Un píxel o un pel pueden significar la unidad más pequeña que constituye una imagen (o fotografía). Además, 'muestra' se puede utilizar como un término correspondiente a un píxel. Una muestra puede representar generalmente un píxel o un valor de un píxel, y puede representar solo un valor de píxel/píxel de un componente de luma o solo un valor de píxel/píxel de un componente de croma.
Una unidad puede representar una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica de la imagen e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (por ejemplo, Cb, Cr). La unidad se puede utilizar indistintamente con términos tales como bloque o área en algunos casos. En un caso general, un bloque MxN puede incluir muestras (o matrices de muestras) o un conjunto (o matriz) de coeficientes de transformada de M columnas y N filas. Alternativamente, la muestra puede significar un valor de píxel en el dominio espacial, y cuando dicho valor de píxel es transformado al dominio de frecuencia, puede significar un coeficiente de transformada en el dominio de frecuencia.
En la presente divulgación, "A o B (A o B)" puede significar "solo A", "solo B" o "tanto A como B". En otras palabras, "A o B (A o B)" en la presente divulgación puede interpretarse como "A y/o B (A y/o B)". Por ejemplo, en la presente divulgación "A, B o C(A, B o C)" significa "solo A", "solo B", "solo C" o "cualquiera y cualquier combinación de A, B y C".
Una barra inclinada (/) o coma utilizada en la presente divulgación puede significar "y/o". Por ejemplo, "A/B" puede significar "A y/o B". Por consiguiente, "A/B" puede significar "solo A", "solo B" o "tanto A como B". Por ejemplo, "A, B, C" puede significar "A, B o C".
En la presente divulgación, "al menos uno de A y B" puede significar "solo A", "solo B" o "tanto A como B". Además, en la presente divulgación, la expresión "al menos uno de A o B" o "al menos uno de A y/o B" se puede interpretar igualmente como "al menos uno de A y B".
Además, en la presente divulgación "al menos uno de A, B y C" significa "solo A", "solo B", "solo C" o "cualquier combinación de A, B y C". Además, "al menos uno de A, B o C" o "al menos uno de A, B y/o C" puede significar "al menos uno de A, B y C".
Además, los paréntesis utilizados en la presente divulgación pueden significar "por ejemplo". Específicamente, cuando se indica "predicción (intrapredicción)", puede denominarse que se propone "intrapredicción" como un ejemplo de "predicción". En otras palabras, "predicción" en la presente divulgación no se limita a "intrapredicción", e "intrapredicción" puede proponerse como un ejemplo de "predicción". Además, incluso cuando se indica "predicción (es decir, intrapredicción)", puede hacerse referencia a ella como que se propone "intrapredicción" como un ejemplo de "predicción".
Las características técnicas que se describen individualmente en un dibujo en la presente divulgación pueden implementarse individual o simultáneamente.
En lo sucesivo, se describirán realizaciones de la presente divulgación haciendo referencia a los dibujos adjuntos. En lo sucesivo, se pueden utilizar los mismos números de referencia para los mismos componentes en los dibujos, y se pueden omitir descripciones repetidas de los mismos componentes.
La FIG. 1 ilustra un ejemplo de un sistema de codificación de vídeo/imagen al que se puede aplicar la presente divulgación.
Haciendo referencia a la FIG. 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo de origen y un dispositivo de recepción. El dispositivo de origen puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio o red de almacenamiento digital en forma de un archivo o flujo continuo.
El dispositivo de origen puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo de recepción puede incluir un receptor, un aparato de descodificación y un renderizador. El aparato de codificación puede denominarse aparato de codificación de vídeo/imagen, y el aparato de descodificación puede denominarse aparato de descodificación de vídeo/imagen. El transmisor puede estar incluido en el aparato de codificación. El receptor puede estar incluido en el aparato de descodificación. El renderizador puede incluir una pantalla, y la pantalla se puede configurar como un dispositivo separado o como un componente externo.
La fuente de vídeo puede adquirir vídeo/imagen a través de un proceso de captura, síntesis o generación de vídeo/imagen. La fuente de vídeo puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo generador de vídeo/imagen. El dispositivo de captura de video/imagen puede incluir, por ejemplo, una o más cámaras, archivos de video/imagen que incluyen video/imágenes capturadas previamente y similares. El dispositivo generador de vídeo/imagen puede incluir, por ejemplo, ordenadores, tabletas y teléfonos inteligentes, y puede generar (electrónicamente) vídeo/imágenes. Por ejemplo, se puede generar un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de video/imagen puede ser sustituido por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede realizar una serie de procedimientos tales como predicción, transformación y cuantificación para la eficiencia de compactación y codificación. Los datos codificados (información de vídeo/imagen codificada) se pueden generar en forma de un flujo de bits.
El transmisor puede transmitir la imagen/información de imagen codificada o datos generados en forma de un flujo de bits al receptor del dispositivo de recepción a través de un medio de almacenamiento digital o una red en forma de un archivo o transmisión continua. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. El transmisor puede incluir un elemento para generar un archivo multimedia a través de un formato de archivo predeterminado y puede incluir un elemento para la transmisión a través de una red de difusión/comunicación. El receptor puede recibir/extraer el flujo de bits y transmitir el flujo de bits recibido al aparato de descodificación.
El aparato de descodificación puede descodificar el vídeo/imagen realizando una serie de procedimientos tales como descuantificación, transformada inversa y predicción correspondientes al funcionamiento del aparato de codificación.
El renderizador puede renderizar el vídeo/imagen descodificado. El vídeo/imagen renderizada puede mostrarse a través de la pantalla.
La FIG. 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de vídeo/imagen al que se puede aplicar la presente divulgación. En lo sucesivo, lo que se denomina aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
Haciendo referencia a la FIG. 2, el aparato de codificación 200 incluye un divisor de imágenes 210, un predictor 220, un procesador residual 230 y un codificador de entropía 240, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un interpredictor 221 y un intrapredictor 222. El procesador residual 230 puede incluir un transformador 232, un cuantificador 233, un descuantificador 234 y un transformador inverso 235. El procesador residual 230 puede incluir además un restador 231. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. El divisor de imagen 210, el predictor 220, el procesador residual 230, el codificador de entropía 240, el sumador 250 y el filtro 260 pueden configurarse mediante al menos un componente de hardware (por ejemplo, un conjunto de chips o procesador de codificador) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes descodificadas (DPB) o puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El divisor de imagen 210 puede dividir una imagen de entrada (o una fotografía o un fotograma) introducida al aparato de codificación 200 en uno o más procesadores. Por ejemplo, el procesador puede denominarse unidad de codificación (CU). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol cuaternario árbol ternario árbol binario (QBTTT) a partir de una unidad de árbol de codificación (CTU) o una unidad de codificación más grande (LCU). Por ejemplo, una unidad de codificación puede dividirse en una pluralidad de unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura ternaria. En este caso, por ejemplo, la estructura de árbol cuaternario puede aplicarse primero y la estructura de árbol binario y/o la estructura ternaria pueden aplicarse más tarde. Alternativamente, la estructura de árbol binario puede aplicarse primero. El procedimiento de codificación según la presente divulgación se puede realizar basándose en la unidad de codificación final que ya no está dividida. En este caso, la unidad de codificación más grande se puede utilizar como la unidad de codificación final basándose en la eficiencia de codificación según las características de la imagen, o si es necesario, la unidad de codificación se puede dividir recursivamente en unidades de codificación de profundidad más profunda y puede utilizarse una unidad de codificación que tenga un tamaño óptimo como unidad de codificación final. En este caso, el procedimiento de codificación puede incluir un procedimiento de predicción, transformación y reconstrucción, que se describirá más adelante. Como otro ejemplo, el procesador puede incluir además una unidad de predicción (PU) o una unidad de transformación (TU). En este caso, la unidad de predicción y la unidad de transformación pueden dividirse o dividirse de la unidad de codificación final mencionada anteriormente. La unidad de predicción puede ser una unidad de predicción de muestras, y la unidad de transformación puede ser una unidad para derivar un coeficiente de transformada y/o una unidad para derivar una señal residual del coeficiente de transformada.
La unidad se puede utilizar indistintamente con términos tales como bloque o área en algunos casos. En un caso general, un bloque MxN puede representar un conjunto de muestras o coeficientes de transformada compuestos por M columnas y N filas. Una muestra puede representar generalmente un píxel o un valor de un píxel, puede representar solo un valor de píxel/píxel de un componente de luma o representar solo un valor de píxel/píxel de un componente de croma. Una muestra se puede utilizar como un término correspondiente a una fotografía (o imagen) para un píxel o un pel.
El restador 231 resta la señal de predicción (bloque predicho, muestras de predicción o matriz de muestras de predicción) generada desde el predictor 220 a partir de la señal de imagen de entrada (bloque original, muestras originales o matriz de muestras originales) para obtener una señal A residual (un bloque residual, muestras residuales o matriz de muestras residuales) que puede ser generada, y la señal residual generada se transmite al transformador 232. El predictor 220 puede realizar la predicción en un bloque objetivo de procesamiento (en lo sucesivo, denominado bloque actual) y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor 220 puede determinar si se aplica intrapredicción o interpredicción en un bloque actual o en una base de CU. Como se describe más adelante en la descripción de cada modo de predicción, el predictor puede generar diversa información relacionada con la predicción, tal como información de modo de predicción, y transmitir la información generada al codificador de entropía 240. La información sobre la predicción se puede codificar en el codificador de entropía 240 y generar en forma de un flujo de bits.
El intrapredictor 222 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en las proximidades del bloque actual o pueden estar ubicadas separadas según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El modo no direccional puede incluir, por ejemplo, un modo de CC y un modo plano. El modo direccional puede incluir, por ejemplo, 33 modos de predicción direccional o 65 modos de predicción direccional según el grado de detalle de la dirección de predicción. Sin embargo, esto es meramente un ejemplo, se pueden utilizar modos de predicción más o menos direccionales dependiendo de la configuración. El intrapredictor 222 puede determinar el modo de predicción aplicado al bloque actual utilizando un modo de predicción aplicado a un bloque vecino.
El interpredicdor 221 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, con el fin de reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes. El bloque vecino temporal se puede denominar bloque de referencia coubicado, una CU coubicada (colCU) y similares, y la imagen de referencia que incluye el bloque vecino temporal se puede denominar imagen coubicada (colPic). Por ejemplo, el interpredicdor 221 puede configurar una lista de candidatos de información de movimiento basándose en bloques vecinos y generar información que indica qué candidato se usa para derivar un vector de movimiento y/o un índice de imagen de referencia del bloque actual. La interpredicción se puede realizar basándose en diversos modos de predicción. Por ejemplo, en el caso de un modo de salto y un modo de fusión, el interpredicdor 221 puede utilizar información de movimiento del bloque vecino como información de movimiento del bloque actual. En el modo de salto, a diferencia del modo de fusión, la señal residual puede no transmitirse. En el caso del modo de predicción de vector de movimiento (MVP), el vector de movimiento del bloque vecino se puede utilizar como un predictor de vector de movimiento y el vector de movimiento del bloque actual puede indicarse señalando una diferencia de vector de movimiento.
El predictor 220 puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente tanto intrapredicción como interpredicción. Esto puede denominarse inter e intrapredicción combinada (CIIP). Además, el predictor puede realizar una copia intrabloque (IBC) para la predicción de un bloque. El modo de predicción de IBC se puede utilizar para la codificación de contenido de imagen/vídeo de un juego o similar, por ejemplo, la codificación de contenido de pantalla (SCC). La IBC realiza básicamente predicción en la imagen actual, pero puede realizarse de manera similar a la interpredicción en donde se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede utilizar al menos una de las técnicas de interpredicción descritas en la presente divulgación.
La señal de predicción generada por el interpredicdor 221 y/o el intrapredictor 222 se puede utilizar para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada aplicando una técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada puede incluir una transformada de coseno discreta (DCT), una transformada de seno discreta (DST), una transformada de karhunen-loeve (KLT), una transformada basada en gráficos (GBT) o una transformada condicionalmente no lineal (CNT). En este caso, la GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles se representa por el gráfico. La CNT se refiere a la transformada generada en base a una señal de predicción generada utilizando todos los píxeles reconstruidos previamente. Además, el proceso de transformación se puede aplicar a bloques de píxeles cuadrados que tienen el mismo tamaño o puede aplicarse a bloques que tienen un tamaño variable en lugar de cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador de entropía 240 y el codificador de entropía 240 puede codificar la señal cuantificada (información sobre los coeficientes de transformada cuantificados) y generar un flujo de bits. La información sobre los coeficientes de transformada cuantificados se puede denominar información residual. El cuantificador 233 puede reorganizar los coeficientes de transformada cuantificados de tipo bloque en una forma de vector unidimensional basándose en un orden de escaneo de coeficientes y generar información sobre los coeficientes de transformada cuantificados basándose en los coeficientes de transformada cuantificados en la forma de vector unidimensional. Se puede generar información sobre coeficientes de transformada. El codificador de entropía 240 puede realizar diversos métodos de codificación tales como, por ejemplo, exponencial Golomb, codificación de longitud variable adaptativa al contexto (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC) y similares. El codificador de entropía 240 puede codificar la información necesaria para la reconstrucción de vídeo/imagen distinta de los coeficientes de transformada cuantificados (por ejemplo, valores de elementos sintácticos, etc.) juntos o por separado. La información codificada (por ejemplo, información de vídeo/imagen codificada) se puede transmitir o almacenar en unidades de NAL (capa de abstracción de red) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros, tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir también información de restricción general. En la presente divulgación, la información de señalización/transmitida y/o los elementos sintácticos descritos más adelante en la presente divulgación pueden codificarse a través del proceso de codificación mencionado anteriormente e incluirse en el flujo de bits. El flujo de bits puede transmitirse a través de una red o puede almacenarse en un medio de almacenamiento digital. La red puede incluir una red de radiodifusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no mostrado) que transmite una señal generada desde el codificador de entropía 240 y/o una unidad de almacenamiento (no mostrada) que almacena la señal puede incluirse como elemento interno/externo del aparato de codificación 200 y, alternativamente, el transmisor puede estar incluido en el codificador de entropía 240.
Los coeficientes de transformada cuantificados generados desde el cuantificador 233 se pueden utilizar para generar una señal de predicción. Por ejemplo, la señal residual (bloque residual o muestras residuales) se puede reconstruir aplicando descuantificación y transformación inversa a los coeficientes de transformada cuantificados a través del descuantificador 234 y el transformador inverso 235. El sumador 250 suma la señal residual reconstruida a la señal de predicción generada desde el predictor 220 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, muestras reconstruidas o matriz de muestras reconstruidas). Si no hay ningún residuo para el bloque que va a procesarse, tal como un caso en donde se aplica el modo de salto, el bloque predicho se puede utilizar como el bloque reconstruido. La señal reconstruida generada se puede utilizar para la intrapredicción de un siguiente bloque que va a procesarse en la imagen actual y se puede utilizar para la interpredicción de una imagen siguiente a través del filtrado tal como se describe a continuación.
Al mismo tiempo, el mapeo de luma con escalado de croma (LMCS) puede aplicarse durante la codificación y/o reconstrucción de imágenes.
El filtro 260 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 260 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 270, específicamente, una DPB de la memoria 270. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra (SAO), un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversa información relacionada con el filtrado y transmitir la información generada al codificador de entropía 240 como se describe más adelante en la descripción de cada método de filtrado. La información relacionada con el filtrado puede ser codificada por el codificador de entropía 240 y generada en forma de un flujo de bits.
La imagen reconstruida modificada transmitida a la memoria 270 se puede utilizar como la imagen de referencia en el interpredicdor 221. Cuando la interpredicción se aplica a través del aparato de codificación, se puede evitar el desajuste de predicción entre el aparato de codificación 200 y el aparato de descodificación 300 y se puede mejorar la eficiencia de codificación.
La DPB de la DPB de memoria 270 puede almacenar la imagen reconstruida modificada para su uso como una imagen de referencia en el interpredicdor 221. La memoria 270 puede almacenar la información de movimiento del bloque del que se deriva (o codifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que ya se han reconstruido. La información de movimiento almacenada puede transmitirse al interpredicdor 221 y utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 270 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y puede transferir las muestras reconstruidas al intrapredictor 222.
La FIG. 3 es un diagrama esquemático que ilustra una configuración de un aparato de descodificación de vídeo/imagen al que se puede aplicar la presente divulgación.
Haciendo referencia a la FIG. 3, el aparato de descodificación 300 puede incluir un descodificador de entropía 310, un procesador residual 320, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un interpredicdor 331 y un intrapredictor 332. El procesador residual 320 puede incluir un descuantificador 321 y un transformador inverso 321. El descodificador de entropía 310, el procesador residual 320, el predictor 330, el sumador 340 y el filtro 350 se pueden configurar mediante un componente de hardware (por ejemplo, un conjunto de chips de descodificador o un procesador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes descodificadas (DPB) o se puede configurar mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 360 como un componente interno/externo.
Cuando se introduce un flujo de bits que incluye información de vídeo/imagen, el aparato de descodificación 300 puede reconstruir una imagen correspondiente a un proceso en donde la información de vídeo/imagen se procesa en el aparato de codificación de la FIG. 2. Por ejemplo, el aparato de descodificación 300 puede derivar unidades/bloques basándose en información relacionada con división de bloques obtenida a partir del flujo de bits. El aparato de descodificación 300 puede realizar una descodificación utilizando un procesador aplicado en el aparato de codificación. Por lo tanto, el procesador de descodificación puede ser una unidad de codificación, por ejemplo, y la unidad de codificación puede dividirse según una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura de árbol ternario de la unidad de árbol de codificación o la unidad de codificación más grande. Una o más unidades de transformación pueden derivarse de la unidad de codificación. La señal de imagen reconstruida descodificada y generada a través del aparato 300 de descodificación puede reproducirse a través de un aparato de reproducción.
El aparato de descodificación 300 puede recibir una señal generada desde el aparato de codificación de la FIG. 2 en forma de un flujo de bits, y la señal recibida puede descodificarse a través del descodificador de entropía 310. Por ejemplo, el descodificador de entropía 310 puede analizar el flujo de bits para obtener información (por ejemplo, información de vídeo/imagen) necesaria para la reconstrucción de imágenes (o reconstrucción de fotografías). La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros, tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir también información de restricción general. El aparato de descodificación puede descodificar además la imagen basándose en la información sobre el conjunto de parámetros y/o en la información de restricción general. La información señalizada/recibida y/o los elementos sintácticos descritos más adelante en la presente divulgación pueden descodificarse y obtenerse a partir del flujo de bits. Por ejemplo, el descodificador de entropía 310 descodifica la información en el flujo de bits basándose en un método de codificación tal como la codificación exponencial de Golomb, CAVLC o CABAC, y genera elementos sintácticos requeridos para la reconstrucción de imágenes y valores cuantificados de coeficientes de transformada para el residuo. Más específicamente, el método de descodificación por entropía CABAC puede recibir un bin correspondiente a cada elemento sintáctico en el flujo de bits, determinar un modelo de contexto utilizando una información de elemento sintáctico objetivo de descodificación, descodificar información de un bloque objetivo de descodificación o información de un símbolo/bin descodificado en una etapa anterior, y realizar una descodificación aritmética en el bin prediciendo una probabilidad de aparición de un bin según el modelo de contexto determinado, y generar un símbolo correspondiente al valor de cada elemento sintáctico. En este caso, el método de descodificación por entropía CABAC puede actualizar el modelo de contexto utilizando la información del símbolo/bin descodificado para un modelo de contexto de un siguiente símbolo/bin después de determinar el modelo de contexto. La información relacionada con la predicción entre la información descodificada por el descodificador de entropía 310 puede proporcionarse al predictor 330, y la información sobre el residuo en donde se realizó la descodificación de entropía en el descodificador de entropía 310, es decir, los coeficientes de transformada cuantificados y la información de parámetros relacionados, puede introducirse en el descuantificador 321. Además, la información sobre el filtrado entre la información descodificada por el descodificador de entropía 310 puede proporcionarse al filtro 350. Al mismo tiempo, un receptor (no mostrado) para recibir una señal generada desde el aparato de codificación puede configurarse además como un elemento interno/externo del aparato de descodificación 300, o el receptor puede ser un componente del descodificador de entropía 310. Al mismo tiempo, el aparato de descodificación según la presente divulgación puede denominarse aparato de descodificación de vídeo/imagen/fotografía, y el aparato de descodificación puede clasificarse en un descodificador de información (descodificador de información de vídeo/imagen/fotografía) y un descodificador de muestra (descodificador de muestra de vídeo/imagen/fotografía). El descodificador de información puede incluir el descodificador de entropía 310, y el descodificador de muestras puede incluir al menos uno del descuantificador 321, el transformador inverso 322, el predictor 330, el sumador 340, el filtro 350 y la memoria 360.
El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados y generar los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en forma de una forma de bloque bidimensional. En este caso, la transposición puede realizarse basándose en el orden de escaneo de coeficientes realizado en el aparato de codificación. El descuantificador 321 puede realizar la descuantificación en los coeficientes de transformada cuantificados utilizando un parámetro de cuantificación (por ejemplo, información de tamaño de paso de cuantificación) y obtener coeficientes de transformada.
El transformador inverso 322 transforma inversamente los coeficientes de transformada para obtener una señal residual (bloque residual, matriz de muestras residuales).
El predictor puede realizar la predicción en el bloque actual y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor puede determinar si se aplica intrapredicción o interpredicción al bloque actual basándose en la información sobre la predicción generada desde el descodificador de entropía 310 y puede determinar un modo de intrapredicción/interpredicción específico.
El predictor puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente intrapredicción e interpredicción. Esto puede denominarse inter e intrapredicción combinada (CIIP). Además, el predictor puede realizar una copia intrabloque (IBC). La copia intrabloque se puede utilizar para la codificación de contenido de imagen/vídeo de un juego o similar, por ejemplo, codificación de contenido de pantalla (SCC). La IBC realiza básicamente predicción en la imagen actual, pero puede realizarse de manera similar a interpredicción en donde se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede utilizar al menos una de las técnicas de interpredicción descritas en la presente divulgación.
El intrapredictor 331 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en las proximidades del bloque actual o pueden estar ubicadas separadas según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El intrapredictor 331 puede determinar el modo de predicción aplicado al bloque actual utilizando un modo de predicción aplicado a un bloque vecino.
El interpredicdor 332 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. Por ejemplo, el interpredicdor 332 puede configurar una lista de candidatos de información de movimiento basándose en bloques vecinos y derivar un vector de movimiento del bloque actual y/o un índice de imagen de referencia basándose en la información de selección de candidatos recibida. La interpredicción puede realizarse basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica un modo de interpredicción para el bloque actual.
El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas) sumando la señal residual obtenida a la señal de predicción (bloque predicho, matriz de muestras predicha) generada desde el predictor 330. Si no hay ningún residuo para el bloque que se va a procesar, tal como cuando se aplica el modo de salto, el bloque predicho se puede utilizar como el bloque reconstruido.
El sumador 340 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada se puede utilizar para la intrapredicción de un siguiente bloque que va a procesarse en la imagen actual, puede ser generada a través de filtrado tal como se describe a continuación, o se puede utilizar para la intrapredicción de una siguiente imagen.
Al mismo tiempo, el mapeo de luma con el escalado de croma (LMCS) puede aplicarse en el proceso de descodificación de imágenes.
El filtro 350 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 350 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 360, específicamente, un DPB de la memoria 360. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral y similares.
La imagen reconstruida (modificada) almacenada en el DPB de la memoria 360 se puede utilizar como una imagen de referencia en el interpredictor 332. La memoria 360 puede almacenar la información de movimiento del bloque del que se deriva (o descodifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que ya se han reconstruido. La información de movimiento almacenada puede transmitirse al interpredicdor 260 para utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 360 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y transferir las muestras reconstruidas al intrapredictor 331.
En esta memoria descriptiva, las realizaciones descritas en la unidad de predicción 330, el descuantificador 321, el transformador inverso 322 y el filtro 350 del aparato de descodificación 300 son el predictor 220, el descuantificador 234, el transformador inverso 235 y el filtro 260 pueden aplicarse de la misma manera o de manera correspondiente.
Como se ha descrito anteriormente, en la codificación de vídeo, se realiza predicción para aumentar la eficiencia de compresión. A través de esto, es posible generar un bloque predicho que incluye muestras de predicción para un bloque actual, que es un bloque que se va a codificar. En este caso, el bloque predicho incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho se obtiene igualmente a partir del aparato de codificación y el aparato de descodificación, y el aparato de codificación descodifica información (información residual) sobre el residuo entre el bloque original y el bloque predicho, no el valor de muestra original del propio bloque original. Mediante la señalización al dispositivo, se puede aumentar la eficiencia de codificación de imágenes. El aparato de descodificación puede derivar un bloque residual que incluya muestras residuales en base a la información residual, y generar un bloque reconstruido que incluya muestras reconstruidas sumando el bloque residual y el bloque predicho, y generar una imagen reconstruida que incluya bloques reconstruidos.
La información residual se puede generar a través de procesos de transformación y cuantificación. Por ejemplo, el aparato de codificación puede derivar un bloque residual entre el bloque original y el bloque predicho, y realizar un proceso de transformación en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformada, y después, realizando un proceso de cuantificación en los coeficientes de transformada, derivar coeficientes de transformada cuantificados para señalizar la información relacionada residual al aparato de descodificación (a través de un flujo de bits). En este caso, la información residual puede incluir información de ubicación, una técnica de transformada, un núcleo de transformada y un parámetro de cuantificación, información de valor de los coeficientes de transformada cuantificados, etc. El aparato de descodificación puede realizar un proceso de descuantificación/transformación inversa basándose en la información residual y derivar muestras residuales (o bloques residuales). El aparato de descodificación puede generar una imagen reconstruida basándose en el bloque predicho y en el bloque residual. El aparato de codificación también puede descuantificar/realizar transformada inversa los coeficientes de transformada cuantificados para referencia para interpredicción de una imagen posterior para derivar un bloque residual, y generar una imagen reconstruida basándose en la misma.
En la presente divulgación, puede omitirse al menos una de cuantificación/descuantificación y/o transformada/transformada inversa. Cuando se omite la cuantificación/descuantificación, el coeficiente de transformada cuantificado puede denominarse coeficiente de transformada. Cuando se omite la transformada/transformada inversa, los coeficientes de transformada pueden denominarse coeficientes o coeficientes residuales, o aún pueden denominarse coeficientes de transformada para uniformidad de expresión.
En la presente divulgación, un coeficiente de transformada cuantificado y un coeficiente de transformada pueden denominarse un coeficiente de transformada y un coeficiente de transformada escalado, respectivamente. En este caso, la información residual puede incluir información sobre el coeficiente(s) de transformada, y la información sobre el coeficiente(s) de transformada puede señalizarse a través de la sintaxis de codificación residual. Los coeficientes de transformada pueden derivarse basándose en la información residual (o información sobre el coeficiente(s) de transformada), y los coeficientes de transformada escalados pueden derivarse a través de la transformada inversa (escalado) sobre los coeficientes de transformada. Las muestras residuales pueden derivarse en base a una transformada inversa (transformada) de los coeficientes de transformada escalados. Esto se puede aplicar/expresar también en otras partes de la presente divulgación.
El predictor del aparato de codificación/aparato de descodificación puede derivar una muestra de predicción realizando interpredicción en unidades de bloques. La interpredicción puede ser una predicción derivada de una manera que depende de elementos de datos (por ejemplo, valores de muestra, o información de movimiento, etc.) de imagen(es) distintos de la imagen actual. Cuando se aplica interpredicción al bloque actual, un bloque predicho (matriz de muestras de predicción) para el bloque actual puede derivarse basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en la imagen de referencia indicada por el índice de imagen de referencia. En este caso, con el fin de reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento del bloque actual puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes. El bloque vecino temporal puede denominarse bloque de referencia coubicado, una CU coubicada (coICU) y similares, y la imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen coubicada (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede configurarse basándose en bloques vecinos del bloque actual, y la información de indicador o índice que indica qué candidato se selecciona (usa) puede señalizarse para derivar un vector de movimiento y/o un índice de imagen de referencia del bloque actual. La interpredicción puede realizarse basándose en diversos modos de predicción. Por ejemplo, en el caso de un modo de salto y un modo de fusión, la información de movimiento del bloque actual puede ser la misma que la información de movimiento del bloque vecino. En el modo de salto, a diferencia del modo de fusión, la señal residual puede no transmitirse. En el caso del modo de predicción de vector de movimiento (MVP), el vector de movimiento del bloque vecino seleccionado se puede utilizar como un predictor de vector de movimiento y puede señalizarse el vector de movimiento del bloque actual. En este caso, el vector de movimiento del bloque actual puede derivarse utilizando la suma del predictor de vector de movimiento y la diferencia de vector de movimiento.
La información de movimiento puede incluir información de movimiento L0 y/o información de movimiento L1 según un tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). El vector de movimiento en la dirección L0 puede denominarse vector de movimiento L0 o MVL0, y el vector de movimiento en la dirección L1 puede denominarse vector de movimiento L1 o MVL1. La predicción basada en el vector de movimiento L0 puede denominarse predicción L0, la predicción basada en el vector de movimiento L1 puede denominarse predicción L1, y la predicción basada tanto en el vector de movimiento L0 como en el vector de movimiento L1 puede denominarse bipredicción. En este caso, el vector de movimiento L0 puede indicar un vector de movimiento asociado con la lista de imágenes de referencia L0 (L0), y el vector de movimiento L1 puede indicar un vector de movimiento asociado con la lista de imágenes de referencia L1 (L1). La lista de imágenes de referencia L0 puede incluir imágenes que están en un orden de salida anterior a la imagen actual como imágenes de referencia, y la lista de imágenes de referencia L1 puede incluir imágenes que están más tarde en el orden de salida que la imagen actual. Las imágenes anteriores pueden denominarse imágenes directas (de referencia), y las imágenes posteriores pueden denominarse imágenes inversas (de referencia). La lista de imágenes de referencia L0 puede incluir además imágenes que están más tarde en el orden de salida que la imagen actual como imágenes de referencia. En este caso, las imágenes anteriores pueden indexarse primero en la lista de imágenes de referencia L0 y las imágenes posteriores pueden indexarse más tarde. La lista de imágenes de referencia L1 puede incluir además imágenes previas en el orden de salida a la imagen actual como imágenes de referencia. En este caso, las imágenes posteriores pueden indexarse primero en la lista de imágenes de referencia 1 y las imágenes anteriores pueden indexarse más tarde. El orden de salida puede corresponder al orden de recuento de orden de imagen (POC).
La FIG. 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado.
Haciendo referencia a la FIG. 4, la imagen/vídeo codificado se divide en una capa de codificación de vídeo (VCL) que gestiona el proceso de descodificación de la imagen/vídeo y ella misma, un subsistema que transmite y almacena la información codificada, y NAL (capa de abstracción de red) a cargo de la función y presente entre la VCL y el subsistema.
En la VCL, se generan datos de VCL que incluyen datos de imagen comprimidos (datos de segmento), o se puede generar un conjunto de parámetros que incluye un conjunto de parámetros de imagen (PSP), un conjunto de parámetros de secuencia (SPS) y un conjunto de parámetros de vídeo (VPS) o un mensaje de información de mejora suplementaria (SEI) requerido adicionalmente para un proceso de descodificación de imagen.
En la NAL, una unidad de NAL se puede generar añadiendo información de cabecera (cabecera de unidad de NAL) a una carga útil de secuencia de bytes sin procesar (RBSP) generada en una VCL. En este caso, la RBSP se refiere a datos de segmento, conjunto de parámetros, mensaje SEI, etc., generados en la VCL. La cabecera de unidad NAL puede incluir información de tipo de unidad NAL especificada según datos de RBSP incluidos en la unidad NAL correspondiente.
Como se muestra en la FIG., la unidad NAL puede clasificarse en una unidad VCL NAL y una unidad No VCL NAL según la RBSP generada en la VCL. La unidad VCL NAL puede significar una unidad<n>A<l>que incluye información sobre la imagen (datos de segmento) sobre la imagen, y la unidad No VCL NAL puede significar una unidad NAL que incluye información (conjunto de parámetros o mensaje SEI) requerida para descodificar la imagen.
La unidad VCL NAL y la unidad No VCL NAL mencionadas anteriormente pueden transmitirse a través de una red uniendo información de cabecera según el estándar de datos del subsistema. Por ejemplo, la unidad NAL puede transformarse en un formato de datos de un estándar predeterminado tal como un formato de archivo H.266/VVC, un protocolo de transporte en tiempo real (RTP), un flujo de transporte (TS), etc., y transmitirse a través de diversas redes.
Como se ha descrito anteriormente, la unidad NAL puede especificarse con el tipo de unidad NAL según la estructura de datos de RBSP incluida en la unidad NAL correspondiente, y la información sobre el tipo de unidad NAL puede almacenarse y señalizarse en la cabecera de unidad NAL.
Por ejemplo, la unidad NAL puede clasificarse en un tipo de unidad VCL NAL y un tipo de unidad No VCL NAL según si la unidad NAL incluye información (datos de segmento) sobre una imagen. El tipo de unidad VCL NAL puede clasificarse según la naturaleza y el tipo de imágenes incluidas en la unidad VCL NAL, y el tipo de unidad No VCL NAL puede clasificarse según los tipos de conjuntos de parámetros.
Lo siguiente es un ejemplo del tipo de unidad NAL especificado según el tipo de conjunto de parametros incluido en el tipo de unidad NAL no VCL.
Unidad NAL de APS (conjunto de parámetros de adaptación): tipo para unidad NAL que incluye APS
Unidad NAL de DPS (conjunto de parámetros de descodificación): tipo para unidad NAL que incluye DPS
Unidad NAL de VPS (conjunto de parámetros de vídeo): tipo para unidad NAL que incluye VPS
Unidad NAL de SPS (conjunto de parámetros de secuencia): tipo para unidad NAL que incluye SPS
Unidad NAL de PPS (conjunto de parámetros de imagen): tipo para unidad NAL que incluye PPS
Unidad NAL de PH (cabecera de imagen): Tipo para unidad NAL que incluye PH.
Los tipos de unidad NAL mencionados anteriormente pueden tener información sintáctica para el tipo de unidad NAL, y la información sintáctica puede almacenarse y señalizarse en una cabecera de unidad NAL. Por ejemplo, la información sintáctica puede ser nal_unit_type, y los tipos de unidades NAL pueden especificarse mediante un valor nal_unit_type.
Al mismo tiempo, como se describió anteriormente, una imagen puede incluir una pluralidad de segmentos, y un segmento puede incluir una cabecera de segmento y datos de segmento. En este caso, una cabecera de imagen puede añadirse además a una pluralidad de segmentos (una cabecera de segmento y un conjunto de datos de segmento) en una imagen. La cabecera de imagen (sintaxis de cabecera de imagen) puede incluir información/parámetros comúnmente aplicables a la imagen. En la presente divulgación, un segmento puede mezclarse o reemplazarse con un grupo de teselas. Además, en la presente divulgación, una cabecera de segmento puede mezclarse o reemplazarse con una cabecera de grupo de teselas.
La cabecera de segmento (sintaxis de cabecera de segmento, información de cabecera de segmento) puede incluir información/parámetros que pueden aplicarse comúnmente al segmento. El APS (sintaxis de APS) o el PPS (sintaxis de PPS) pueden incluir información/parámetros que pueden aplicarse comúnmente a uno o más segmentos o imágenes. El SPS (sintaxis de SPS) puede incluir información/parámetros que pueden aplicarse comúnmente a una o más secuencias. El VPS (sintaxis de VPS) puede incluir información/parámetros que pueden aplicarse comúnmente a múltiples capas. El DPS (sintaxis de DPS) puede incluir información/parámetros que pueden aplicarse comúnmente al vídeo general. El DPS puede incluir información/parámetros relacionados con la concatenación de una secuencia de vídeo codificada (CVS). La sintaxis de alto nivel (HLS) en la presente divulgación puede incluir al menos una de la sintaxis de APS, la sintaxis de PPS, la sintaxis de SPS, la sintaxis de VPS, la sintaxis de DPS y la sintaxis de cabecera de segmento.
En la presente divulgación, la imagen/información de imagen codificada desde el aparato de codificación y señalizada al aparato de descodificación en forma de un flujo de bits incluye no solo la división de información relacionada en una imagen, información de intra/interpredicción, información residual, información de filtrado en bucle y similares, sino también información incluida en una cabecera de segmento, información incluida en el APS, información incluida en el PPS, información incluida en un SPS y/o información incluida en el VPS.
Al mismo tiempo, para compensar una diferencia entre una imagen original y una imagen reconstruida debido a un error que ocurre en un proceso de codificación de compresión tal como cuantificación, se puede realizar un proceso de filtrado en bucle en muestras reconstruidas o imágenes reconstruidas como se describió anteriormente. Como se ha descrito anteriormente, el filtrado en bucle puede ser realizado por el filtro del aparato de codificación y el filtro del aparato de descodificación, y puede aplicarse un filtro de desbloqueo, SAO y/o un filtro de bucle adaptativo (ALF). Por ejemplo, el proceso de ALF se puede realizar después de que se completen el proceso de filtrado de desbloqueo y/o el proceso de SAO. Sin embargo, incluso en este caso, el proceso de filtrado de desbloqueo y/o el proceso<s>A<o>pueden omitirse.
En lo sucesivo, se describirá la descripción detallada de la reconstrucción y filtrado de imágenes. En la codificación de imagen/vídeo, se puede generar un bloque reconstruido basándose en la intrapredicción/interpredicción para cada bloque, y se puede generar una imagen reconstruida que incluya los bloques reconstruidos. Cuando la imagen/segmento actual es una imagen/segmento I, los bloques incluidos en la imagen/segmento actual pueden reconstruirse basándose únicamente en la intrapredicción. Al mismo tiempo, cuando la imagen/segmento actual es una imagen/segmento P o B, los bloques incluidos en la imagen/segmento actual pueden reconstruirse basándose en la intrapredicción o la interpredicción. En este caso, la intrapredicción puede aplicarse a algunos bloques en la imagen/segmento actual, y la interpredicción puede aplicarse a los bloques restantes.
La intrapredicción puede referirse a la predicción que genera muestras de predicción para el bloque actual basándose en muestras de referencia en una imagen a la que pertenece el bloque actual (en lo sucesivo, denominada imagen actual). Cuando se aplica intrapredicción al bloque actual, se pueden derivar muestras de referencia vecinas que se van a utilizar para la intrapredicción del bloque actual. Las muestras de referencia vecinas del bloque actual pueden incluir muestras adyacentes al límite izquierdo del bloque actual que tienen un tamaño de nWxnH y un total de 2xnH muestras vecinas de la parte inferior izquierda, muestras adyacentes al límite superior del bloque actual y un total de 2xnW muestras vecinas de la parte superior derecha, y una muestra vecina de la parte superior izquierda del bloque actual. Alternativamente, las muestras de referencia vecinas del bloque actual pueden incluir una pluralidad de muestras vecinas superiores y una pluralidad de muestras vecinas izquierdas. Además, las muestras de referencia vecinas del bloque actual pueden incluir un total de nH muestras adyacentes al límite derecho del bloque actual que tienen un tamaño de nWxnH, un total de nW muestras adyacentes al límite inferior del bloque actual, y una muestra vecina (inferior derecha) inferior derecha del bloque actual.
Sin embargo, algunas de las muestras de referencia vecinas del bloque actual pueden no descodificarse todavía o estar disponibles. En este caso, el descodificador puede configurar las muestras de referencia vecinas para su uso para la predicción sustituyendo las muestras que no están disponibles por las muestras disponibles. Alternativamente, las muestras de referencia vecinas que se van a utilizar para la predicción pueden configurarse a través de la interpolación de las muestras disponibles.
Cuando se obtienen muestras de referencia vecinas, puede obtenerse una muestra de predicción basándose en el promedio o interpolación de muestras de referencia vecinas del bloque actual, y (ii) predicción entre muestras de referencia vecinas del bloque actual. La muestra de predicción puede derivarse basándose en una muestra de referencia presente en una dirección específica (predicción) con respecto a la muestra. El caso de (i) puede denominarse un modo no direccional o un modo no angular, y el caso de (ii) puede denominarse un modo direccional o un modo angular. Además, basándose en la muestra de predicción del bloque actual entre las muestras de referencia vecinas, se interpolan la segunda muestra vecina ubicada en la dirección opuesta a la dirección de predicción del modo de intrapredicción del bloque actual y la primera muestra vecina. Se puede generar una muestra de predicción. El caso anterior puede denominarse intrapredicción por interpolación lineal (LIP). Además, pueden generarse muestras de predicción de croma basándose en muestras de luma utilizando un modelo lineal. Este caso puede denominarse modo LM. Además, una muestra de predicción temporal del bloque actual puede derivarse en base a muestras de referencia vecinas filtradas, y al menos una muestra de referencia derivada según el modo de intrapredicción entre las muestras de referencia vecinas existentes, es decir, muestras de referencia vecinas sin filtrar, y la muestra de predicción temporal puede sumarse ponderadamente para derivar la muestra de predicción del bloque actual. El caso anterior puede denominarse intrapredicción dependiente de la posición (PDPC). Además, una línea de muestra de referencia que tiene la mayor precisión de predicción entre las líneas de muestra de referencia múltiple vecinas del bloque actual puede seleccionarse para derivar la muestra de predicción utilizando la muestra de referencia localizada en la dirección de predicción en la línea correspondiente, y después la línea de muestra de referencia utilizada en el presente documento puede indicarse (señalizarse) al aparato de descodificación, realizando así codificación de intrapredicción. El caso anterior puede denominarse intrapredicción de línea de referencia múltiple (MRL) o intrapredicción basada en MRL. Además, la intrapredicción puede realizarse basándose en el mismo modo de intrapredicción dividiendo el bloque actual en subdivisiones verticales u horizontales, y pueden derivarse muestras de referencia vecinas y utilizarse en la unidad de subdivisión. Es decir, en este caso, el modo de intrapredicción para el bloque actual se aplica igualmente a las subdivisiones, y el rendimiento de intrapredicción puede mejorarse en algunos casos derivando y utilizando las muestras de referencia vecinas en la unidad de subdivisión. Dicho procedimiento de predicción puede denominarse intrasubdivisiones (ISP) o intrapredicción basada en ISP. Los procedimientos de intrapredicción descritos anteriormente pueden denominarse un tipo de intrapredicción por separado del modo de intrapredicción. El tipo de intrapredicción puede llamarse en diversos términos, tales como una técnica de intrapredicción o un modo de intrapredicción adicional. Por ejemplo, el tipo de intrapredicción (o modo de intrapredicción adicional) puede incluir al menos uno de los LIP, PDPc , MRL e ISP descritos anteriormente, un método de intrapredicción general, excepto el tipo de intrapredicción específico, tal como LIP, PDPC, MRL o ISP, puede denominarse un tipo de intrapredicción normal. El tipo de intrapredicción normal puede aplicarse generalmente cuando no se aplica el tipo de intrapredicción específica, y la predicción puede realizarse basándose en el modo de intrapredicción descrito anteriormente. Al mismo tiempo, se puede realizar un postfiltrado en la muestra predicha derivada según sea necesario.
Específicamente, el procedimiento de intrapredicción puede incluir una etapa de determinación de modo/tipo de intrapredicción, una etapa de obtención de muestra de referencia vecina y una etapa de obtención de muestra de predicción basada en modo/tipo de intrapredicción. Además, se puede realizar una etapa de posfiltrado en la muestra predicha obtenida según sea necesario.
En lo sucesivo, se describirá la intrapredicción en el aparato de codificación. El aparato de codificación puede derivar un modo de intrapredicción para el bloque actual, derivar muestras de referencia vecinas del bloque actual y generar muestras de predicción en el bloque actual basándose en el modo de intrapredicción y en las muestras de referencia vecinas. En este caso, los procedimientos de determinación de modo de intrapredicción, derivación de muestras de referencia periféricas y generación de muestras de predicción pueden realizarse simultáneamente, o puede realizarse un procedimiento antes de otro procedimiento. Por ejemplo, el intrapredictor 222 del dispositivo de codificación puede incluir un determinador de modo/tipo de predicción, un derivador de muestra de referencia y un derivador de muestra de predicción, y el determinador de modo/tipo de predicción puede determinar un modo/tipo de intrapredicción para el bloque actual, el derivador de muestra de referencia puede derivar muestras de referencia vecinas del bloque actual, y el derivador de muestra de predicción puede derivar muestras de movimiento del bloque actual. Al mismo tiempo, aunque no se muestra, cuando se realiza un procedimiento de filtrado de muestras de predicción que se describirá más adelante, el intrapredictor 222 puede incluir además un filtro de muestras de predicción (no mostrado). El aparato de codificación puede determinar un modo aplicado al bloque actual de entre una pluralidad de modos de intrapredicción. El aparato de codificación puede comparar los costes de RD para los modos de intrapredicción y determinar un modo de intrapredicción óptimo para el bloque actual.
Al mismo tiempo, el aparato de codificación puede realizar un procedimiento de filtrado de muestras de predicción. El filtrado de muestras de predicción puede denominarse post filtrado. Algunas o todas las muestras de predicción pueden filtrarse mediante el procedimiento de filtrado de muestras de predicción. En algunos casos, el procedimiento de filtrado de muestras de predicción puede omitirse.
El aparato de codificación deriva muestras residuales para el bloque actual basándose en las muestras de predicción (S510). El aparato de codificación puede comparar las muestras de predicción en las muestras originales del bloque actual basándose en una fase y derivar las muestras residuales.
El aparato de codificación puede transformar/cuantificar las muestras residuales para obtener coeficientes de transformada cuantificados (S520) y, a continuación, descuantifica/transforma inversamente los coeficientes de transformada cuantificados de nuevo para obtener muestras residuales (modificadas) (S530). La razón para realizar la descuantificación/transformación inversa de nuevo después de la transformada/cuantificación es derivar las mismas muestras residuales que las muestras residuales derivadas del aparato de descodificación como se describió anteriormente.
El aparato de codificación puede generar un bloque reconstruido que incluye muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales (modificadas) (S540). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
El aparato de codificación puede codificar información de imagen que incluye información de predicción sobre la intrapredicción (por ejemplo, información de modo de predicción que indica un modo de predicción) e información residual sobre las muestras intra y residual y generar la información de imagen codificada en forma de un flujo de bits, como se describió anteriormente. La información residual puede incluir una sintaxis de codificación residual. El aparato de codificación puede transformar/cuantificar las muestras residuales para obtener coeficientes de transformada cuantificados. La información residual puede incluir información sobre los coeficientes de transformada cuantificados.
La FIG. 5 es un diagrama de flujo que ilustra un procedimiento de reconstrucción de bloques basado en intrapredicción en un aparato de descodificación. El método de la FIG. 5 puede incluir las etapas S500, S510, S520, S530 y S540. El aparato de descodificación puede realizar una operación correspondiente a una operación realizada en el aparato de codificación.
S500 a S520 pueden ser realizadas por el intrapredictor 331 del aparato de descodificación, y la información de predicción de S500 y la información residual de S530 pueden ser obtenidas del flujo de bits por el descodificador de entropía 310 del aparato de descodificación. El procesador residual 320 del aparato de descodificación puede derivar muestras residuales para el bloque actual en base a la información residual. Específicamente, el descuantificador 321 del procesador residual 320 deriva coeficientes de transformada realizando descuantificación basándose en los coeficientes de transformada cuantificados derivados basándose en la información residual, y el transformador inverso 322 del procesador residual puede derivar muestras residuales para el bloque actual realizando una transformada inversa en los coeficientes de transformada. S540 puede ser realizada por el sumador 340 o el reconstructor del aparato de descodificación.
Específicamente, el aparato de descodificación puede derivar un modo de intrapredicción para el bloque actual basándose en la información de modo de predicción recibida (S500). El aparato de descodificación puede derivar muestras de referencia periféricas del bloque actual (S510). El aparato de descodificación genera muestras de predicción en el bloque actual basándose en el modo de intrapredicción y las muestras de referencia vecinas (S520). En este caso, el aparato de descodificación puede realizar un procedimiento de filtrado de muestras de predicción. El filtrado de muestras de predicción puede denominarse post filtrado. Algunas o todas las muestras de predicción pueden filtrarse mediante el procedimiento de filtrado de muestras de predicción. En algunos casos, el procedimiento de filtrado de muestras de predicción se puede omitir.
El aparato de descodificación genera muestras residuales para el bloque actual basándose en la información residual recibida (S530). El aparato de descodificación puede generar muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales, y derivar un bloque reconstruido que incluye las muestras reconstruidas (S540). Una imagen reconstruida para la imagen actual puede ser generada en base al bloque reconstruido.
En este caso, el intrapredictor 331 del aparato de descodificación puede incluir un determinador de modo/tipo de predicción, un derivador de muestra de referencia y un derivador de muestra de predicción, y el determinador de modo/tipo de predicción puede determinar un modo de intrapredicción para el bloque actual basándose en la información de modo de predicción obtenida por el descodificador de entropía 310 del aparato de descodificación, el derivador de muestra de referencia puede derivar muestras de referencia periféricas del bloque actual, y el derivador de muestra de predicción puede derivar muestras de predicción del bloque actual. Al mismo tiempo, aunque no se muestra, cuando se realiza el procedimiento de filtrado de muestras de predicción descrito anteriormente, el intrapredictor 331 puede incluir además un filtro de muestras de predicción (no mostrado).
La información de predicción puede incluir información de modo de intrapredicción y/o información de tipo de intrapredicción. La información de modo de intrapredicción puede incluir, por ejemplo, información de indicador (por ejemplo, intra_luma_mpm_flag) que indica si se aplica un modo más probable (MPM) al bloque actual o se aplica un modo restante, y cuando se aplica MPM al bloque actual, la información de modo de predicción puede incluir además información de índice (por ejemplo, intra_luma_mpm_idx) que indica uno de los candidatos de modo de intrapredicción (candidatos de MPM). Los candidatos de modo de intrapredicción (candidatos de MPM) pueden incluir una lista de candidatos de MPM o una lista de MPM. Además, cuando el MPM no se aplica al bloque actual, la información de modo de intrapredicción puede incluir además información de modo restante (por ejemplo, intra_luma_mpm_remainder) que indica uno de los modos de intrapredicción restantes excepto por los candidatos de modo de intrapredicción (candidatos de MPM). El aparato de descodificación puede determinar el modo de intrapredicción del bloque actual basándose en la información del modo de intrapredicción. Una lista de MPM separada puede estar configurada para el MIP mencionado anteriormente.
Además, la información de tipo de intrapredicción puede implementarse de diversas formas. Por ejemplo, la información de tipo de intrapredicción puede incluir información de índice de tipo de intrapredicción que indica uno de los tipos de intrapredicción. Como otro ejemplo, la información de tipo de intrapredicción puede incluir al menos una de información de línea de muestra de referencia (por ejemplo, intra_luma_ref_idx) que indica si la MRL se aplica al bloque actual y, si se aplica, qué línea de muestra de referencia se usa, información de indicador de ISP (por ejemplo, intra_subpartitions_mode_flag) que indica si la ISP se aplica al bloque actual, información de tipo de ISP (por ejemplo, intra_subpartitions_split_flag) que indica un tipo dividido de subdivisiones cuando se aplica la ISP, información de indicador que indica si se aplica PDCP o información de indicador que indica si se aplica una LIP. Además, la información de tipo de intrapredicción puede incluir un indicador MIP que indique si se aplica MIP al bloque actual.
La información de modo de intrapredicción y/o la información de tipo de intrapredicción pueden codificarse/descodificarse a través del método de codificación descrito en la presente divulgación. Por ejemplo, la información de modo de intrapredicción y/o la información de tipo de intrapredicción pueden codificarse/descodificarse mediante codificación por entropía (por ejemplo, CABAC, CAVLC) basándose en un código binario truncado (Rice).
El predictor del aparato de codificación/aparato de descodificación puede derivar muestras de predicción realizando interpredicción bloque a bloque. La interpredicción puede ser una predicción derivada de una manera que depende de elementos de datos (por ejemplo, valores de muestra o información de movimiento) de imagen(es) distintos de la imagen actual. Cuando se aplica interpredicción al bloque actual, un bloque predicho (matriz de muestras de predicción) para el bloque actual puede derivarse basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia indicada por un índice de imagen de referencia. En este caso, para reducir una cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento del bloque actual puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en una correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). Cuando se aplica interpredicción, el bloque vecino puede incluir un bloque vecino espacial que está presente en la imagen actual y un bloque vecino temporal que está presente en la imagen de referencia. Una imagen de referencia que incluye el bloque de referencia y una imagen de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes una de la otra. El bloque vecino temporal puede denominarse un nombre tal como un bloque de referencia colocado conjuntamente, una CU colocada conjuntamente (colCU), etc., y la imagen de referencia que incluye el bloque vecino temporal puede denominarse una imagen colocada conjuntamente (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede configurarse basándose en los bloques vecinos del bloque actual y en la información de indicador o índice que indica qué candidato se selecciona (usa) para derivar el vector de movimiento y/o el índice de imagen de referencia del bloque actual puede señalizarse. La interpredicción puede realizarse basándose en diversos modos de predicción y, por ejemplo, en el caso de un modo de salto y un modo de fusión, la información de movimiento del bloque actual puede ser la misma que la información de movimiento de un bloque vecino. En el caso del modo de salto, la señal residual puede no transmitirse a diferencia del modo de fusión. En el caso de un modo de predicción de vector de movimiento (MVP), el vector de movimiento del bloque vecino seleccionado se usa como un predictor de vector de movimiento y puede señalizarse una diferencia de vector de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse utilizando la suma del predictor de vector de movimiento y la diferencia de vector de movimiento.
La FIG. 6 es un diagrama de flujo que ilustra un procedimiento de reconstrucción de bloques basado en interpredicción en un aparato de codificación. El método de la FIG. 7 puede incluir las etapas S600,<s>610, S620, S630 y S640.
S600 puede ser realizada por el interpredicdor 221 del aparato de codificación, y S610 a S630 puede ser realizada por el procesador residual 230 del aparato de codificación. Específicamente, S6 l0 puede ser realizada por el restador 231 del aparato de codificación, S620 puede ser realizada por el transformador 232 y el cuantificador 233 del aparato de codificación, y S630 puede ser realizada por el descuantificador 234 y el transformador inverso 235 del aparato de codificación. En S600, la información de predicción puede ser derivada por el interpredicdor 221 y codificada por el codificador de entropía 240. La información residual puede derivarse a través de S610 y S620 y codificarse por el codificador de entropía 240. La información residual es información sobre las muestras residuales. La información residual puede incluir información sobre coeficientes de transformada cuantificados para las muestras residuales. Como se ha descrito anteriormente, las muestras residuales pueden derivarse como coeficientes de transformada a través del transformador 232 del aparato de codificación, y los coeficientes de transformada pueden derivarse como coeficientes de transformada cuantificados a través del cuantificador 233. La información sobre los coeficientes de transformada cuantificados puede ser codificada por el codificador de entropía 240 a través de un procedimiento de codificación residual.
El aparato de codificación realiza interpredicción en el bloque actual (S600). El aparato de codificación puede derivar el modo de interpredicción y la información de movimiento del bloque actual, y generar muestras de predicción del bloque actual. En este caso, los procedimientos para determinar el modo de Interpredicción, derivar información de movimiento y generar muestras de predicción pueden realizarse simultáneamente, o puede realizarse un procedimiento antes de otro procedimiento. Por ejemplo, el interpredicdor 221 del aparato de codificación puede incluir un determinador de modo de predicción, un derivador de información de movimiento y un derivador de muestra de predicción, y el determinador de modo de predicción puede determinar el modo de predicción para el bloque actual, el derivador de información de movimiento puede derivar la información de movimiento del bloque actual, y el derivador de muestra de predicción puede derivar las muestras de movimiento del bloque actual. Por ejemplo, el interpredicdor 221 del aparato de codificación puede buscar un bloque similar al bloque actual dentro de un área predeterminada (área de búsqueda) de imágenes de referencia a través de estimación de movimiento, y puede derivar un bloque de referencia en donde una diferencia del bloque actual es mínima o una referencia predeterminada o menos. Basándose en esto, puede derivarse un índice de imagen de referencia que indica una imagen de referencia en donde está ubicado el bloque de referencia, y puede derivarse un vector de movimiento basándose en una diferencia de posición entre el bloque de referencia y el bloque actual. El aparato de codificación puede determinar un modo aplicado al bloque actual de entre varios modos de predicción. El aparato de codificación puede comparar los costes de distorsión de tasa (RD) para los diversos modos de predicción y determinar un modo de predicción óptimo para el bloque actual.
Por ejemplo, cuando se aplica un modo de salto o un modo de fusión al bloque actual, el aparato de codificación puede construir una lista de candidatos de fusión que se describirá más adelante y derivar un bloque de referencia en donde una diferencia del bloque actual es mínima o una referencia predeterminada o menos, entre los bloques de referencia indicados por los candidatos de fusión incluidos en la lista de candidatos de fusión. En este caso, se puede seleccionar un candidato de fusión asociado con el bloque de referencia derivado, y la información de índice de fusión que indica el candidato de fusión seleccionado se puede generar y señalizar al aparato de descodificación. La información de movimiento del bloque actual puede derivarse utilizando la información de movimiento del candidato de fusión seleccionado.
Como otro ejemplo, cuando el modo (A)MVP se aplica al bloque actual, el aparato de codificación construye una lista de candidatos (A)MVP que se describirá más adelante, y usa un vector de movimiento de un candidato de mvp seleccionado, entre candidatos de predictor de vector de movimiento (mvp) incluidos en la lista de candidatos de (A)MVP, como la mvp del bloque actual. En este caso, por ejemplo, un vector de movimiento que indica un bloque de referencia derivado por la estimación de movimiento descrita anteriormente puede utilizarse como el vector de movimiento del bloque actual, y un candidato de mvp que tiene un vector de movimiento que tiene la diferencia más pequeña del vector de movimiento del bloque actual, entre los candidatos de mvp, puede ser el candidato de mvp seleccionado. Se puede obtener una diferencia de vector de movimiento (MVD) que es la diferencia obtenida restando la mvp del vector de movimiento del bloque actual. En este caso, la información sobre la MVD puede señalizarse al aparato de descodificación. Además, cuando se aplica el modo (A)MVP, el valor del índice de imagen de referencia puede configurarse como información de índice de imagen de referencia y señalizarse por separado al aparato de descodificación.
El aparato de codificación puede derivar muestras residuales basándose en las muestras de predicción (S610). El aparato de codificación puede derivar las muestras residuales comparando muestras originales del bloque actual con las muestras de predicción.
El aparato de codificación transforma/cuantifica las muestras residuales para obtener coeficientes de transformada cuantificados (S620), y a después descuantifica/transforma inversamente los coeficientes de transformada cuantificados de nuevo para obtener muestras residuales (modificadas) (S630). La razón para realizar la descuantificación/transformación inversa de nuevo después de la transformada/cuantificación es derivar las mismas muestras residuales que las muestras residuales derivadas del aparato de descodificación como se describió anteriormente.
El aparato de codificación puede generar un bloque reconstruido que incluye muestras reconstruidas para el bloque actual en base a las muestras de predicción y a las muestras residuales (modificadas) (S640). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
Aunque no se muestra, como se ha descrito anteriormente, el aparato de codificación 100 puede codificar información de vídeo que incluye información de predicción e información residual. El aparato de codificación 100 puede generar la información de imagen codificada en forma de un flujo de bits. La información de predicción puede ser información relacionada con un procedimiento de predicción y puede incluir información de modo de predicción (por ejemplo, indicador de salto, indicador de fusión o índice de modo) e información de movimiento. La información de movimiento puede incluir información de selección de candidatos (por ejemplo, índice de fusión, indicador de mvp o índice de mvp) que es información para derivar un vector de movimiento. Además, la información sobre la información de movimiento puede incluir la información de MVD y/o la información de índice de imagen de referencia mencionadas anteriormente. Además, la información sobre la información de movimiento puede incluir información que indica si se aplica predicción L0, predicción L1 o bipredicción. La información residual es información sobre muestras residuales. La información residual puede incluir información sobre coeficientes de transformada cuantificados para muestras residuales.
El flujo de bits de salida puede almacenarse en un medio de almacenamiento (digital) y transmitirse a un aparato de descodificación o puede transmitirse a un aparato de descodificación a través de una red.
La FIG. 7 es un diagrama de flujo que ilustra un procedimiento de reconstrucción de bloques basado en interpredicción en un aparato de descodificación. El método de la FIG. 7 puede incluir las etapas S700, S710, S720, S730 y S740. El aparato de descodificación puede realizar una operación correspondiente a la operación realizada por el aparato de codificación.
S700 a S720 pueden ser realizadas por el interpredicdor 332 del aparato de descodificación, y la información de predicción de S700 y la información residual de S730 pueden ser obtenidas del flujo de bits por el descodificador de entropía 310 del aparato de descodificación. El procesador residual 320 del aparato de descodificación puede derivar muestras residuales para el bloque actual en base a la información residual. Específicamente, el descuantificador 321 del procesador residual 320 puede derivar coeficientes de transformada realizando descuantificación basándose en los coeficientes de transformada cuantificados derivados basándose en la información residual, y el transformador inverso 322 del procesador residual puede derivar muestras residuales para el bloque actual realizando una transformada inversa en los coeficientes de transformada. S740 puede ser realizada por el sumador 340 o por el reconstructor del aparato de descodificación.
Específicamente, el aparato de descodificación puede determinar el modo de predicción para el bloque actual basándose en la información de predicción recibida (S700). El aparato de descodificación puede determinar qué modo de interpredicción se aplica al bloque actual basándose en la información de modo de predicción en la información de predicción.
Por ejemplo, se puede determinar si el modo de fusión se aplica al bloque actual o si el modo (A)MVP se determina en base al indicador de fusión. Alternativamente, uno de los diversos candidatos de modo de interpredicción puede seleccionarse basándose en el índice de modo. Los candidatos de modo de interpredicción pueden incluir modo de salto, modo de fusión y/o modo de (A)MVP, o pueden incluir diversos modos de interpredicción que se describirán más adelante.
El aparato de descodificación deriva información de movimiento del bloque actual basándose en el modo de interpredicción determinado (S710). Por ejemplo, cuando el modo de salto o el modo de fusión se aplica al bloque actual, el aparato de descodificación puede configurar una lista de candidatos de fusión que se describirá a continuación y seleccionar un candidato de fusión de entre los candidatos de fusión incluidos en la lista de candidatos de fusión. La selección puede realizarse basándose en la información de selección mencionada anteriormente (índice de fusión). La información de movimiento del bloque actual puede derivarse utilizando la información de movimiento del candidato de fusión seleccionado. La información de movimiento del candidato de fusión seleccionado se puede utilizar como la información de movimiento del bloque actual.
Como otro ejemplo, cuando el modo (A)MVP se aplica al bloque actual, el aparato de descodificación puede construir una lista de candidatos (A)MVP que se describirá a continuación y utilizar un vector de movimiento de un candidato de mvp seleccionado, entre candidatos de predictor de vector de movimiento (mvp) incluidos en la lista de candidatos (A)MVP, como la mvp del bloque actual. La selección puede realizarse basándose en la información de selección (indicador de mvp o índice de mvp) descrita anteriormente. En este caso, la MVD del bloque actual puede derivarse en base a la información sobre la MVD, y un vector de movimiento del bloque actual puede derivarse en base a la mvp del bloque actual y la MVD. Además, el índice de imagen de referencia del bloque actual puede derivarse basándose en la información de índice de imagen de referencia. Una imagen indicada por el índice de imagen de referencia en la lista de imágenes de referencia para el bloque actual puede derivarse como una imagen de referencia referenciada para la interpredicción del bloque actual.
Al mismo tiempo, como se describirá a continuación, la información de movimiento del bloque actual puede derivarse sin configurar una lista de candidatos. En este caso, la información de movimiento del bloque actual puede derivarse según un procedimiento divulgado en un modo de predicción que se describirá más adelante. En este caso, la configuración de la lista de candidatos tal como se describió anteriormente se puede omitir.
El aparato de descodificación puede generar muestras de predicción para el bloque actual basándose en la información de movimiento del bloque actual (S720). En este caso, la imagen de referencia puede derivarse basándose en el índice de imagen de referencia del bloque actual, y las muestras de predicción del bloque actual pueden derivarse utilizando muestras del bloque de referencia indicadas por el vector de movimiento del bloque actual en la imagen de referencia. En este caso, como se describe más adelante, se puede realizar adicionalmente un procedimiento de filtrado de muestras de predicción para todas o algunas de las muestras de predicción del bloque actual dependiendo del caso.
Por ejemplo, el interpredicdor 332 del aparato de descodificación puede incluir un determinador de modo de predicción, un derivador de información de movimiento y un derivador de muestra de predicción, y el determinador de modo de predicción puede determinar un modo de predicción para el bloque actual basándose en la información de modo de predicción recibida, el derivador de información de movimiento puede derivar información de movimiento (un vector de movimiento y/o un índice de imagen de referencia, etc.) del bloque actual basándose en la información recibida en la información de movimiento, y la unidad de derivación de muestra de predicción puede derivar muestras de predicción del bloque actual.
El aparato de descodificación genera muestras residuales para el bloque actual basándose en la información residual recibida (S730). El aparato de descodificación puede generar muestras reconstruidas para el bloque actual en base a las muestras de predicción y a las muestras residuales, y puede derivar un bloque reconstruido que incluye las muestras reconstruidas (S740). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
Se pueden utilizar varios modos de interpredicción para la predicción del bloque actual en la imagen. Por ejemplo, se pueden utilizar varios modos, tales como un modo de fusión, un modo de salto, un modo de predicción de vector de movimiento (MVP), un modo afín, un modo de fusión de subbloques y una fusión con el modo MVD (MMVD), y similares. Un modo de refinamiento de vector de movimiento del lado del descodificador (DMVR), un modo de resolución de vector de movimiento adaptativo (AMVR), una bi-predicción con ponderación de nivel de CU (BCW), un flujo óptico bidireccional (BDOF) y similares también pueden utilizarse como modos adicionales adicional adicionalmente o en su lugar. El modo afín puede denominarse un modo de predicción de movimiento afín. El modo de MVP puede denominarse modo de predicción de vector de movimiento avanzada (AMVP). En la presente divulgación, algunos modos y/o candidatos de información de movimiento derivados por algunos modos pueden incluirse como uno de los candidatos de información de movimiento de otros modos. Por ejemplo, un candidato de HMVP puede añadirse como un candidato de fusión en el modo de fusión/salto o puede añadirse como un candidato de mvp en el modo de MVP.
La información de modo de predicción que indica el modo de interpredicción del bloque actual puede señalizarse desde el aparato de codificación al aparato de descodificación. La información de modo de predicción puede incluirse en el flujo de bits y ser recibida por el aparato de descodificación. La información de modo de predicción puede incluir información de índice que indica uno de una pluralidad de modos candidatos. Alternativamente, el modo de interpredicción puede indicarse a través de senalización jerárquica de información de indicador. En este caso, la información de modo de predicción puede incluir uno o más indicadores. Por ejemplo, se puede señalizar un indicador de salto para indicar si se aplica un modo de salto, y si no se aplica el modo de salto, se puede señalizar un indicador de fusión para indicar si se aplica un modo de fusión, y si no se aplica el modo de fusión, se indica aplicar un modo de MVP o se puede señalizar adicionalmente un indicador para clasificación adicional. El modo afín puede señalizarse en un modo independiente o puede señalizarse en un modo dependiente del modo de fusión o el modo de MVP. Por ejemplo, el modo afín puede incluir un modo de fusión afín y un modo de MVP afín.
Al mismo tiempo, la información que indica si la predicción de la lista0 (L0), la predicción de la lista1 (L1) o la bipredicción descrita anteriormente se usa en el bloque actual (unidad de codificación actual) puede señalizarse en el bloque actual. La información puede denominarse información de dirección de predicción de movimiento, información de dirección de interpredicción o información de indicación de interpredicción, y puede configurarse/codificarse/señalizarse en forma de, por ejemplo, un elemento sintáctico inter_pred_idc. Es decir, el elemento sintáctico inter_pred_idc puede indicar si la predicción de la lista0 (L0), la predicción de la lista1 (L1) o la bipredicción mencionadas anteriormente se usan para el bloque actual (unidad de codificación actual). En la presente divulgación, por conveniencia de la descripción, el tipo de interpredicción (predicción L0, predicción L1 o predicción BI) indicado por el elemento sintáctico inter_pred_idc puede indicarse como una dirección de predicción de movimiento. La predicción L0 puede representarse como pred_L0, la predicción L1 como pred_L1 y la predicción de pares como pred_BI. Por ejemplo, los siguientes tipos de predicción pueden determinarse según el valor del elemento sintáctico inter_pred_idc.
[Tabla 1]
Como se describió anteriormente, una imagen puede incluir uno o más segmentos. El segmento puede tener uno de los tipos de segmento que incluyen intrasegmento (I), segmento predictivo (P) y segmento bipredictivo (B). El tipo de segmento puede indicarse en base a la información de tipo de segmento. Para bloques en un segmento I, la interpredicción puede no utilizarse para la predicción y solo puede utilizarse la intrapredicción. Por supuesto, incluso en este caso, el valor de muestra original puede codificarse y señalizarse sin predicción. Puede utilizarse intrapredicción o interpredicción para bloques en un segmento P, y solo puede utilizarse unipredicción cuando se usa interpredicción. Al mismo tiempo, se puede utilizar intrapredicción o interpredicción para bloques en un segmento B, y puede utilizarse hasta bipredicción cuando se usa interpredicción.
L0 y L1 pueden incluir imágenes de referencia que se codifican/descodifican previamente antes de la imagen actual. Por ejemplo, L0 puede incluir imágenes de referencia antes y/o después de la imagen actual en el orden de POC, y L1 puede incluir imágenes de referencia después y/o antes de la imagen actual en el orden de POC. En este caso, a L0 se le puede asignar un índice de imagen de referencia más bajo en relación con las imágenes de referencia anteriores en el orden de POC que las imágenes de referencia actuales, y a L1 se le puede asignar un índice de imagen de referencia más bajo en relación con las imágenes de referencia anteriores en el orden de POC que la imagen actual. En el caso del segmento B, se puede aplicar bipredicción, y en este caso, se puede aplicar bipredicción unidireccional o se puede aplicar bipredicción bidireccional. La bipredicción bidireccional puede denominarse bipredicción verdadera.
Como se ha descrito anteriormente, un bloque residual (muestras residuales) puede derivarse en base a un bloque predicho (muestras de predicción) derivado a través de la predicción en la etapa de codificación, y se pueden generar las muestras residuales se transforman/cuantifican mediante información residual. La información residual puede incluir información sobre coeficientes de transformada cuantificados. La información residual se puede incluir en información de vídeo/imagen, y la información de vídeo/imagen puede codificarse y transmitirse a un aparato de descodificación en forma de un flujo de bits. El aparato de descodificación puede obtener la información residual del flujo de bits, y puede derivar muestras residuales en base a la información residual. Específicamente, el aparato de descodificación puede derivar coeficientes de transformada cuantificados basándose en la información residual, y puede derivar bloques residuales (muestras residuales) a través de un procedimiento de descuantificación/transformada inversa.
Al mismo tiempo, se puede omitir al menos un procedimiento de la transformada (inversa) y/o la (des)cuantificación
En lo sucesivo, se describirá un procedimiento de filtrado en bucle realizado para una imagen reconstruida. Una muestra reconstruida modificada, bloque, imagen (o muestra filtrada modificada, bloque, imagen) puede generarse a través del procedimiento de filtrado en bucle, y la imagen reconstruida modificada (modificada y filtrada) se puede generar como una imagen descodificada en el aparato de descodificación y también puede almacenarse en una memoria intermedia de imágenes descodificadas o memoria del aparato de codificación/aparato de descodificación y utilizarse como una imagen de referencia en el procedimiento de interpredicción en el momento de codificar/descodificar una imagen más tarde. El procedimiento de filtrado en bucle puede incluir un procedimiento de filtrado de desbloqueo, un procedimiento de desplazamiento adaptativo de muestra (SAO) y/o un procedimiento de filtro de bucle adaptativo (ALF) como se ha descrito anteriormente. En este caso, uno o algunos del procedimiento de filtrado de desbloqueo, el procedimiento de desplazamiento adaptativo de muestra (SAO), el procedimiento de filtro de bucle adaptativo (ALF) y el procedimiento de filtro bilateral pueden aplicarse secuencialmente o todos pueden aplicarse secuencialmente. Por ejemplo, el procedimiento SAO puede realizarse después de que el procedimiento de filtrado de desbloqueo sea aplicado a la imagen reconstruida. O, por ejemplo, el procedimiento de ALF se puede realizar después de que el procedimiento de filtrado de desbloqueo sea aplicado a la imagen reconstruida. Esto también puede realizarse en el aparato de codificación.
El filtrado de desbloqueo es una técnica de filtrado que elimina la distorsión en los límites entre bloques en la imagen reconstruida. El procedimiento de filtrado de desbloqueo puede, por ejemplo, derivar un límite objetivo de la imagen reconstruida, determinar una intensidad de límite (bS) para el límite objetivo y realizar un filtrado de desbloqueo en el límite objetivo en base a la bS. La bS se puede determinar basándose en un modo de predicción, una diferencia de vector de movimiento, si una imagen de referencia es la misma, si existe un coeficiente significativo distinto de cero, etc., de dos bloques adyacentes al límite objetivo.
El SAO es un método para compensar una diferencia de desplazamiento entre la imagen reconstruida y la imagen original sobre base a la muestra. Por ejemplo, el SAO puede aplicarse basándose en un tipo tal como un desplazamiento de banda, un desplazamiento de borde o similar. Según el SAO, las muestras pueden clasificarse en diferentes categorías según cada tipo de SAO, y puede añadirse un valor de desplazamiento a cada muestra basándose en la categoría. La información de filtrado para el SAO puede incluir información sobre si se aplica el SAO, información de tipo de SAO e información de valor de desplazamiento de SAO. El SAO puede aplicarse a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
El Filtro de Bucle Adaptativo (ALF) es una técnica para filtrar una imagen reconstruida sobre una base de muestra basada en coeficientes de filtro según una forma de filtro. El aparato de codificación puede determinar si aplicar ALF, forma de ALF y/o coeficiente de filtrado de ALF, etc.,comparando la imagen reconstruida y la imagen original y puede señalizar al aparato de descodificación. Es decir, la información de filtrado para el ALF puede incluir información sobre si se aplica el ALF, información de forma de filtro de ALF, información de coeficiente de filtrado de ALF, y similares. El ALF puede aplicarse a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
La FIG. 8 muestra un ejemplo de la forma de un filtro ALF.
En la FIG. 8, (a) muestra una forma de un filtro de diamante 7x7, (b) muestra una forma de un filtro de diamante 5x5. En la FIG. 8, Cn en la forma de filtro representa un coeficiente de filtro. Cuando n en Cn es el mismo, esto indica que se pueden asignar los mismos coeficientes de filtro. En la presente divulgación, una posición y/o unidad a la que se asignan coeficientes de filtro según una forma de filtro del ALF puede denominarse pestaña de filtro. En este caso, se puede asignar un coeficiente de filtro a cada tap de filtro, y una disposición de las taps de filtro puede corresponder a una forma de filtro. Una pestaña de filtro situada en el centro de la forma de filtro puede denominarse pestaña de filtro central. Los mismos coeficientes de filtro pueden asignarse a dos taps de filtro que tienen el mismo valor n existente en posiciones correspondientes entre sí con respecto al tap de filtro central. Por ejemplo, en el caso de una forma de filtro de diamante de 7x7, se incluyen 25 taps de filtro, y dado que los coeficientes de filtro C0 a C11 se asignan en una forma simétrica centralmente, los coeficientes de filtro pueden asignarse a las 25 taps de filtro utilizando solo 13 coeficientes de filtro. También, por ejemplo, en el caso de una forma de filtro de diamante de 5x5, se incluyen 13 taps de filtro, y dado que los coeficientes de filtro C0 a C5 se asignan en una forma simétrica central, los coeficientes de filtro se asignan a las 13 taps de filtro utilizando solo 7 coeficientes de filtro. Por ejemplo, para reducir la cantidad de datos de información sobre coeficientes de filtro señalizados, 12 de 13 coeficientes de filtro para la forma de filtro de diamante 7x7 pueden señalizarse (explícitamente), y 1 coeficiente de filtro puede derivarse (implícitamente). Además, por ejemplo, 6 de 7 coeficientes de filtro para una forma de filtro de diamante 5x5 pueden señalizarse (explícitamente) y 1 coeficiente de filtro puede derivarse (implícitamente).
Según una realización de la presente divulgación, un parámetro de ALF utilizado para el procedimiento de ALF puede señalizarse a través de un conjunto de parámetros de adaptación (APS). El parámetro de ALF puede derivarse de información de filtro o de datos de ALF para el ALF.
El ALF es un tipo de técnica de filtrado en bucle que puede aplicarse en la codificación de vídeo/imagen como se ha descrito anteriormente. El ALF puede realizarse utilizando un filtro adaptativo basado en Wiener. Esto puede ser para minimizar un error cuadrático medio (MSE) entre muestras originales y muestras descodificadas (o muestras reconstruidas). Un diseño de alto nivel para una herramienta de ALF puede incorporar elementos sintácticos accesibles en la cabecera de SPS y/o de segmento (o cabecera de grupo de teselas).
En un ejemplo, antes de filtrar para cada bloque de luma de 4x4, las transformaciones geométricas tales como rotación o volteo diagonal y vertical pueden aplicarse a coeficientes de filtro f(k, l) dependientes de los valores de gradiente calculados para el bloque y los valores de recorte de filtro correspondientes c(k, l). Esto es equivalente a aplicar estas transformadas a las muestras en el área de soporte de filtro. Crear otros bloques a los que se aplica ALF puede ser similar para disponer estos bloques de acuerdo con su direccionalidad.
Por ejemplo, se pueden realizar tres transformaciones, diagonal, volteo vertical y rotación basándose en las siguientes ecuaciones.
[Ecuación 1]
Diagonal : f_D (k,l)=f(l,k), c D (k,l)=c(l,k)
[Ecuación 2]
Volteo vertical : f V (k,l)=f(k,K-l-1), c_V (k,l)=c(k,K-l-l)
[Ecuación 3]
Rotación : f_R (k,l)=f(K-l-l,k), c_R (k,l)=c(K-l-l,k)
En las ecuaciones 1 a 3, K puede ser un tamaño del filtro. 0 < k y 1 < k-1 pueden ser coordenadas de coeficientes. Por ejemplo, (0, 0) puede ser la coordenada de la esquina superior izquierda, y/o (K-1, K-1) puede ser la coordenada de esquina inferior derecha. La relación entre las transformaciones y los cuatro gradientes en las cuatro direcciones puede resumirse en la tabla siguiente.
[Tabla 2]
Los parámetros de filtro de ALF pueden señalizarse en el APS y en la cabecera de segmento. En un APS, pueden señalizarse hasta 25 coeficientes de filtro de luma e índices de valor de recorte. En un APS, pueden señalizarse hasta 8 coeficientes de filtro de croma e índices de valor de recorte. Con el fin de reducir la sobrecarga de bits, se pueden fusionar coeficientes de filtro de diferentes clasificaciones para el componente de luma. En la cabecera de segmento, se pueden señalizar los índices de APS (referenciados por el segmento actual) utilizados para el segmento actual.
Los índices de valores de recorte descodificados a partir del APS pueden hacer posible determinar valores de recorte utilizando una tabla de luma de valores de recorte y una tabla de croma de valores de recorte. Estos valores de recorte pueden depender de la profundidad de bits interna. Más específicamente, la tabla de luma de valores de recorte y la tabla de croma de valores de recorte pueden derivarse basándose en las siguientes ecuaciones.
[Ecuación 4]
AlfC lipL={redondeo(2A(B (N -n+ l)/N )) para nG [l..N ]}
[Ecuación 5]
AlfC lipC={redondeo(2A((B-8)+8 ((N -n))/(N -1))) para nG[l. N ]}
En las ecuaciones anteriores, B puede ser una profundidad de bits interna, y N puede ser el número de valores de recorte permitidos (un número predeterminado). Por ejemplo, N puede ser 4.
En la cabecera de segmento, pueden señalizarse hasta 7 índices de APS para indicar conjuntos de filtros de luma utilizados para el segmento actual. El procedimiento de filtrado se puede controlar adicionalmente a un nivel de CTB. Por ejemplo, se puede señalizar un indicador que indica si se aplica ALF a CTB de luma. El CTB de luma puede seleccionar uno de los 16 conjuntos de filtros fijos y conjuntos de filtros de los APS. Un índice de conjunto de filtros puede señalizarse para CTB de luma para indicar qué conjunto de filtros se aplica. Los 16 conjuntos de filtros fijos pueden estar predefinidos y codificados en hardware tanto en el codificador como en el descodificador.
Para el componente de croma, el índice de APS puede señalizarse en la cabecera de segmento para indicar los conjuntos de filtros de croma utilizados para el segmento actual. A nivel de CTB, cuando hay dos o más conjuntos de filtros de croma en el APS, se puede señalizar un índice de filtro para cada CTB de croma.
Los coeficientes de filtro pueden se cuantificar con 128 como norma. Para limitar la complejidad de la multiplicación, se puede aplicar la conformidad del flujo de bits de modo que los valores de coeficiente de la posición no central puedan variar de 0 a 28 y/o los valores de coeficiente de las posiciones restantes puedan estar en el intervalo de -27 a 27-1. El coeficiente de posición central puede no señalizarse en el flujo de bits y puede determinarse previamente (considerarse) como 128.
Cuando ALF está disponible para el bloque actual, cada muestra R(i, j) se puede filtrar, y un resultado filtrado R'(i, j) puede expresarse mediante la siguiente ecuación.
[Ecuación 6]
R ’ ( i , ñ<= m t . i ) +>(CE*-<o>2 W (*.0<x k (r ( í k , j + 0 - R(U),c(kr l ) ) 64) » 7)>
En la ecuación anterior, f(k, l) pueden ser coeficientes de filtro descodificados, K(x, y) puede ser una función de recorte, y c(k, l) pueden ser parámetros de recorte descodificados. Por ejemplo, las variables k y/o l pueden variar de -L/2 a L/2. En este caso, L puede representar una longitud de filtro. La función de recorte K(x, y)=min(y max(-y, x)) puede corresponder a la función Clip3(-y, y, x).
En un ejemplo, para reducir el requisito de memoria intermedia de línea de ALF, se puede aplicar clasificación y filtrado de bloques modificados para muestras adyacentes a límites de CTU horizontales. Para ello pueden definirse límites virtuales.
La FIG. 9 es un diagrama que ilustra un límite virtual aplicado a un procedimiento de filtrado según una realización del presente documento. La FIG. 10 ilustra un ejemplo de un procedimiento de ALF que usa un límite virtual según una realización de la presente divulgación. La FIG. 10 se describirá junto con la FIG. 9.
Haciendo referencia a la FIG. 9, el límite virtual puede ser una línea definida desplazando el límite de CTU horizontal en N muestras. En un ejemplo, N puede ser 4 para un componente de luma, y/o N puede ser 2 para un componente de croma.
En la FIG. 9, se puede aplicar una clasificación de bloques modificada al componente de luma. Para el cálculo del gradiente laplaciano 1D de un bloque de 4x4 en un límite virtual, solo se pueden utilizar muestras por encima del límite virtual. De manera similar, para calcular el gradiente laplaciano 1D de un bloque de 4x4 por debajo del límite virtual, solo se pueden utilizar muestras por debajo del límite virtual. La cuantificación de un valor de actividad A puede escalarse en consecuencia, teniendo en cuenta el número reducido de muestras utilizadas en el cálculo de gradiente laplaciano 1D.
Para el procedimiento de filtrado, se puede utilizar una operación de relleno simétrico en límites virtuales para los componentes de luma y croma. Haciendo referencia a la<f>I<g>.9, cuando una muestra filtrada está ubicada por debajo del límite virtual, las muestras vecinas ubicadas por encima del límite virtual se pueden rellenar. Al mismo tiempo, las muestras correspondientes en el otro lado también pueden rellenarse simétricamente.
El procedimiento descrito según la FIG. 10 también puede utilizarse para límites de segmentos, ladrillos y/o teselas cuando no hay ningún filtro disponible a través de los límites. Para la clasificación de bloques de ALF, solo se pueden utilizar muestras contenidas en el mismo segmento, ladrillo y/o tesela y el valor de actividad se puede escalar en consecuencia. Para el filtrado ALF, se puede aplicar relleno simétrico para cada una de las direcciones horizontal y/o vertical con respecto a los límites horizontal y/o vertical.
La FIG. 11 es un diagrama que ilustra un procedimiento de filtrado de bucle adaptativo de componente cruzado (CC-ALF) según una realización del presente documento. El procedimiento CCALF puede denominarse procedimiento de filtrado de componentes cruzados.
En un aspecto, el procedimiento de ALF puede incluir un procedimiento de ALF general y un procedimiento de CCALF. Es decir, el procedimiento CCALF puede referirse a algunos procedimientos del procedimiento ALF. En otro aspecto, el procedimiento de filtrado puede incluir un procedimiento de desbloqueo, un procedimiento de SAO, un procedimiento de ALF y/o un procedimiento de CCALF.
El CC-ALF puede refinar cada componente de croma utilizando valores de muestra de luma. El CC-ALF se controla mediante información (de imagen) de un flujo de bits, que incluye (a) información sobre coeficientes de filtro para cada componente de croma y (b) información sobre una máscara que controla la aplicación de filtro a bloques de muestras. Los coeficientes de filtro se pueden señalizar en el APS, y el tamaño de bloque y la máscara se pueden señalizar a nivel de segmento.
Haciendo referencia a la FIG. 11, el CC-ALF puede operar aplicando un filtro lineal en forma de diamante ((b) de la FIG. 11) al canal de luma para cada componente de croma. Los coeficientes de filtro se transmiten al APS, se escalan en un factor de 210, y se redondean hacia arriba para una representación de punto fijo. La aplicación del filtro puede controlarse a un tamaño de bloque variable y señalizarse mediante un indicador de codificación de contexto recibido para bloques de cada muestra. El tamaño de bloque junto con el indicador de CC-ALF habilitado se puede recibir en el nivel de segmento para cada componente de croma. El tamaño de bloque (para muestras de croma) puede ser 16x16, 32x32, 64x64 o 128x128.
En las realizaciones siguientes, se propone un método de re-filtrado o modificación de muestras de croma reconstruidas filtradas por el ALF basándose en las muestras de luma reconstruidas.
Una realización de la presente divulgación se refiere a la transmisión de encendido/apagado de filtro y la transmisión de coeficientes de filtro en el CC-ALF. Como se describió anteriormente, la información (elemento sintáctico) en la tabla sintáctica expuesta en la presente divulgación puede incluirse en la información de imagen/vídeo, puede configurarse/codificarse en el dispositivo de codificación y transmitirse al dispositivo de descodificación en forma de un flujo de bits. El aparato de descodificación puede analizar/descodificar información (elemento sintáctico) en la tabla sintáctica correspondiente. El aparato de descodificación puede realizar un procedimiento de descodificación de imagen/imagen/vídeo (específicamente, por ejemplo, el procedimiento c C-ALF) en base a la información descodificada. En lo sucesivo, lo mismo se aplica a otras realizaciones.
La siguiente tabla muestra alguna sintaxis de información de cabecera de segmento según una realización de la presente divulgación.
[Tabla 3]
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 4]
sNce_cross_component_alf_cb_log2_control_size_mmus4especifica el valor de los tamaños de bloque cuadrados en número de muestras como sigue:
AlfCCSamplesCbW = AlfCCSamplesCbH = 2(slice_cross_c°mp°nent_alf_cb_l°g2_c°ntrol_size_minus4 4)
slice_cross_component_alf_cb_log2_control_size_minus4 estará en el intervalo de 0 a 3, ambos inclusive.
slice_cross_component_alf_cr_log2_control_size_minus4especifica el valor de los tamaños de bloque cuadrados en número de muestras como sigue:
AlfCCSamplesCrW = AlfCCSamplesCrH = 2(slice_cross_c°mp°nent_alf_cr_l°g2_c°ntrol_size_minus4 4)
slice_cross_component_alf_cr_log2_control_size_minus4 estará en el intervalo de 0 a 3, ambos inclusive.
Haciendo referencia a las dos tablas anteriores, cuando sps_cross_component_alf_enabled_flag es 1 en la cabecera de segmento, se puede realizar el análisis sintáctico de slice_cross_component_alf_cb_enabled_flag para determinar si se aplica CC-ALF de Cb en el segmento. Cuando slice_cross_component_alf_cb_enabled_flag es 1, se aplica CC-ALF al segmento Cb correspondiente, y cuando slice_cross_component_alf_cb_reuse_temporal_layer_filter es 1, el filtro de la misma capa temporal existente puede reutilizarse. Cuando slice_cross_component_alf_cb_enabled_flag es 0, CC-ALF puede aplicarse utilizando un filtro en el id de conjunto de parámetros de adaptación (APS) correspondiente a través del análisis sintáctico slice_cross_component_alf_cb_aps_id. Slice_cross_component_alf_cb_log2_control_size_minus4 puede significar una unidad de bloque aplicada CC-ALF en el segmento Cb.
Por ejemplo, cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 0, si se aplica CC-ALF se determina en unidades de 16x16. Cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 1, si se aplica CC-ALF se determina en unidades de 32x32. Cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 2, si se aplica CC-ALF se determina en unidades de 64x64. Cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 3, si se aplica CC-ALF se determina en unidades de 128x128. Además, la sintaxis de la misma estructura anterior se usa para CC-ALF de Cr.
La siguiente tabla muestra sintaxis de ejemplo para datos de ALF.
[Tabla 5]
La siguiente tabla muestra semántica a modode ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 6]
alf_luma_filter_signal_flagigual a 1 especifica que se señaliza un conjunto de filtros de luma. alf_luma_filter_signal_flag igual a 0 especifica que no se señaliza un conjunto de filtros de luma. Cuando alf_luma_filter_signal_flag no está presente, se deduce que es igual a 0.
alf_cross_component_cr_coeff_abs[j] especifica el valor absoluto del coeficiente j-ésimo del filtro de Cr de componente cruzado señalizado. Cuando alf_cross_component_cr_coeff_abs [j] no está presente, se deduce que es igual a 0.
El orden k de binarización de cxp-Golomb uck(v) se deriva de la siguiente manera:
golombOrderIdxCr [ ] = {0, 1 ,2,1,0,1,2,2,2,2,2,1,2,1}[estos pueden ser coeficientes de categorización en 3 categorías, cada categoría usa el mismo código cxp-Golombde orden k]
k = expGoOrderCr[golombOrderIdxCr[j]]
alf_cross_component_cb_coeff_sign[j] especifica el signo del j-ésimo coeficiente de filtro de Cb de componente cruzado de la siguiente manera:
- Si alf_cross_component_cb_coeff_sign [j] es igual a 0, el coeficiente de filtro de Cb de componente cruzado correspondiente tiene un valor positivo.
- De lo contrario (alf_cross_componenl_cb_coeff_sign [j] es igual a 1), el coeficiente de filtro de Cb de componente cruzado correspondiente tiene un valor negativo.
Cuando alf_cross_component_cb_coeff_sign [j] no está presente, se deduce que es igual a 0.
Los coeficientes de filtro de Cb de componente cruzado AlfCCCoeffob[adaptation_parameter_set_id] con elementos AlfCCCoeffob[adaptation_parameter_set_id][j], con j = 0,13 se derivan como sigue:
AlfCCCoeffob[adaptation_parameter_set id][j] = alf_cross_component_cb_coeff_abs [j] * (1 - 2 * alf_cross_component_cb_coeff_sign [j])
Es un requisito de conformidad del flujo de bits que los valores de AlfCCCoeffob[adaptation_parameter_set_id][j] con j = 0..13 esté en el intervalo de -210 -1 a 210 -1, inclusive.
alf_cross_component_cr_coeff_sign[j] especifica el signo del j-ésimo coeficiente de filtro de Cr de componente cruzado de la siguiente manera:
- Si alf_cross_component_cr_coeff_sign [j] es igual a 0, el coeficiente de filtro de Cr de componente cruzado correspondiente tiene un valor positivo.
- De lo contrario (alf_cross_component_cr_coeff_sign [j] es igual a 1), el coeficiente de filtro de Cr de componente cruzado correspondiente tiene un valor negativo.
Cuando alf_cross_component_cr_coeff_sign [j] no está presente, se deduce que es igual a 0.
Los coeficientes de filtro de Cr de componente cruzado AlfCCCoeffor[adaptation_parameter_set_id] con elementos AlfCCCoeffor[adaptation_parameter_set_id][j], con j = 0,13 se derivan como sigue:
AlfCCCoeffor[adaptation_parameter_set_id][j] = alf_cross_component_cr_coeff_abs [j]*
(1-2 * alf_cross_component_cr_coeff_sign [j])
Es un requisito de conformidad del flujo de bits que los valores de AlfCCCoeffcr[adaptation_parameter_set_id][j] con j = 0.. 13 estén en el intervalo de -210 -1 a 210 -1 , inclusive.
Temporalld es el identificador temporal de la unidad NAL actual
Haciendo referencia a las dos tablas anteriores, los elementos sintácticos de CC-ALF no siguen la estructura sintáctica de ALF existente (general) sino que se transmiten independientemente y están configurados para aplicarse independientemente. Es decir, el CC-ALF puede aplicarse incluso cuando la herramienta de ALF en el SPS está desactivada. Se requiere un nuevo diseño de conducto de hardware porque el CC-ALF debe poder funcionar independientemente de la estructura de ALF existente. Esto provoca un aumento en el coste de la implementación de hardware y un aumento en el retardo de hardware.
Además, en el ALF, si se aplican tanto imágenes de luma como de croma se determina en unidades de CTU, y un resultado de la determinación se transmite al descodificador a través de señalización. Sin embargo, si se aplica CC-ALF variable se determina en unidades de 16x16 a 128x128 y esta aplicación puede provocar una colisión entre la estructura de ALF existente y el CC-ALF. Esto causa problemas en la implementación de hardware y al mismo tiempo causa un aumento en las memorias intermedias de línea para diversas aplicaciones de CC-ALF variables.
En la presente divulgación, los problemas mencionados anteriormente en la implementación de hardware de CC-ALF se resuelven aplicando integralmente la estructura sintáctica de CC-ALF a la estructura sintáctica de ALF.
Según una realización de la presente divulgación, para determinar si se usa (aplica) CC-ALF, un conjunto de parámetros de secuencia (SPS) puede incluir un indicador de habilitación de CC-ALF (sps_ccalf_enable_flag). El indicador de CC-ALF habilitado puede transmitirse independientemente de un indicador de ALF habilitado (sps_alf_enabled_flag) para determinar si se usa (aplica) ALF.
La siguiente tabla muestra parte de la sintaxis a modo de ejemplo del SPS según la presente realización.
[Tabla 7]
Haciendo referencia a la tabla anterior, el CC-ALF puede aplicarse solo cuando el ALF está siempre funcionando. Es decir, solo cuando el indicador de ALF habilitado (sps_alf_enabled _flag) es 1, el indicador de CC-ALF habilitado (sps_ccalf_enabled_flag) puede analizarse. El CC-ALF y el ALF pueden combinarse según la tabla anterior. El indicador de CC-ALF habilitado puede indicar (y puede estar relacionado con) si el CC-ALF está disponible.
La siguiente tabla muestra algo de la sintaxis a modo de ejemplo para cabeceras de segmento.
[Tabla 8]
Haciendo referencia a la tabla anterior, el análisis sintáctico de sps_ccalf_enabled_flag puede realizarse solo cuando sps_alf_enabled_flag es 1. Los elementos sintácticos incluidos en la tabla pueden describirse basándose en la Tabla 4. En un ejemplo, la información de imagen codificada por el aparato de codificación u obtenida (recibida) por el aparato de descodificación puede incluir información de cabecera de segmento (slice_header()). Basándose en una determinación de que el valor del indicador de CCALF habilitado (indicador sps_ccalf_) es 1, la información de cabecera de segmento incluye un primer indicador (segmento _cross_component_alf_cb_enabeld_flag) relacionado con si CC-ALF está disponible para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador (slice_cross_component_alf_cr_enabeld_flag) relacionado con si CC-ALF está disponible para el componente de color de Cr de las muestras de croma reconstruidas filtradas.
En un ejemplo, en base a la determinación de que el valor del primer indicador (slice _cross_component_alf_cb_enabeld_flag) es 1, la información de cabecera de segmento puede incluir información de ID (slice_cross_component_alf_cb_aps_id) del primer APS para derivar coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la determinación de que el valor del segundo indicador (slice_cross_component_alf_cr_enabeld_flag) es 1, la información de cabecera de segmento puede incluir información de ID (slice_cross_component_alf_cr_aps_id) del segundo APS para derivar coeficientes de filtro de componente cruzado para el componente de color de Cr.
La siguiente tabla muestra una parte de sintaxis de SPS según otro ejemplo de la presente realización.
[Tabla 9]
La siguiente tabla muestra, a modo de ejemplo, una parte de la sintaxis de cabecera de segmento.
[Tabla 10]
Haciendo referencia a la Tabla 9, cuando el ChromaArrayType no es 0 y el indicador de ALF habilitado (sps_alf_enabled_flag) es 1, el SPS puede incluir el indicador de CCALF habilitado (sps_ccalf_enabled_flag). Por ejemplo, si ChromaArrayType no es 0, el formato de croma puede no ser monocromático, y un indicador de CCALF habilitado puede transmitirse a través del SPS en base al caso en el que el formato de croma no es monocromático.
Con referencia a la Tabla 9, en base al caso en el que ChromaArrayType no es 0, la información sobre CCALF (slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cb_aps_id, slice_cross_component_alf_cr_enabled_flag, slice_cross_component_alf_cr) puede incluirse en la información de cabecera de segmento.
En un ejemplo, la información de imagen codificada por el aparato de codificación u obtenida por el aparato de descodificación puede incluir el SPS. El SPS puede incluir un primer indicador de ALF habilitado (sps_alf_enabled_flag) relacionado con si el ALF está disponible. Por ejemplo, en base a una determinación de que el valor del primer indicador de ALF habilitado es 1, el SPS puede incluir un indicador de CCALF habilitado relacionado con si el filtrado de componente cruzado está disponible. En otro ejemplo, si sps_ccalf_enabled_flag no se usa y sps_alf_enabled_flag es 1, el CCALF siempre puede aplicarse (indicador sps_ccalf_enabled = = 1).
La siguiente tabla muestra una parte de sintaxis de cabecera de segmento según otro ejemplo de esta realización.
[Tabla 11]
Haciendo referencia a la tabla anterior, el análisis del indicador de CCALF habilitado (sps_ccalf_enabled_flag) puede realizarse solo cuando el indicador de ALF habilitado (sps_alf_enabled_flag ) es 1.
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 12]
Slice_ccalf_chroma_idc de la tabla anterior puede describirse mediante la semántica de la tabla siguiente.
[Tabla 13]
La siguiente tabla muestra una parte de sintaxis de cabecera de segmento según otro ejemplo de esta realización.
[Tabla 14]
Los elementos sintácticos incluidos en la tabla pueden describirse según la Tabla 12 o la Tabla 13. Además, cuando el formato de croma no es monocromático, la información relacionada con CCALF puede incluirse en la cabecera de segmento.
La siguiente tabla muestra una parte de sintaxis de cabecera de segmento según otro ejemplo de esta realización.
[Tabla 15]
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 16]
slice_ccalf_chroma_idcigual a 0 especifica que el filtro de bucle adaptativo de componente cruzado no se aplica a componentes de color de Cb y Cr. Slice_ccalf_chroma_idc igual a 1 indica que el filtro de bucle adaptativo de componente cruzado se aplica al componente de color de Cb. Slice_ccalf_chroma_idc igual a 2 indica que el filtro de bucle adaptativo de componente cruzado se aplica al componente de color de Cr. Slice_ccalf_chroma_idc igual a 3 indica que el filtro de bucle adaptativo de componente cruzado se aplica a componentes de color de Cb y Cr. Cuando slice_ccalf_chroma_idc no está presente, se deduce que es igual a 0.
slice_ccalf_aps_id_chromaespecifica el adaptation_paramctcr_sct_id del APS de CCALF al que se refiere el componente de croma del segmento. El TemporalId de la unidad NAL de APS que tiene aps_params_type igual a CC_ALF_APS y adaptation_parameter_set_id igual a slice_ccalf_aps_id_chroma será menor o igual que el TemporalId de la unidad NAL de segmento codificado.
Para intrasegmentos y segmentos en una imagen IRAP, slice_ccalf_apsjd_chroma no hará referencia a un APS de CCALF asociado con otras imágenes en lugar de la imagen que contiene los intrasegmentos o la imagen IRAP.
La siguiente tabla muestra una parte de sintaxis de cabecera de segmento según otro ejemplo de esta realización. Los elementos sintácticos incluidos en la siguiente tabla pueden describirse de acuerdo con la Tabla 12 o la Tabla 13.
[Tabla 17]
Hacienddo referencia a la tabla anterior, si se aplican ALF de unidad de segmento y CC-ALF puede determinarse de una vez a través de slice_alf_enabled_flag. Después de analizar slice_alf_chroma_idc cuando el primer indicador de ALF habilitado (sps_alf_enabled_flag) es 1, se puede analizar slice_ccalf_chroma_idc.
Haciendo referencia a la tabla anterior, si sps_ccalf_enabeld_flag es 1 en la información de cabecera de segmento puede determinarse solo cuando slice_alf_enabled_flag es 1. La información de cabecera de segmento puede incluir un segundo indicador de ALF habilitado (slice_alf_enabled_flag) relacionado con el hecho de que el ALF esté disponible. Basándose en una determinación de que el valor del segundo indicador de ALF habilitado (slice_alf_enabled_flag) es 1, el CCALF puede estar disponible para el segmento.
La siguiente tabla muestra a modo de ejemplo una parte de la sintaxis de APS. El elemento sintáctico adaptation_parameter_set_id puede indicar información de identificador (información de ID) del APS.
[Tabla 18]
La siguiente tabla muestra sintaxis a modo de ejemplo para datos ALF.
[Tabla 19]
Con referencia a las dos tablas anteriores, el APS puede incluir datos de ALF (alf_data () ). Un APS que incluye datos de ALF puede denominarse un ALF APS (APS de tipo ALF). Es decir, el tipo de APS que incluye datos de ALF puede ser un tipo de ALF. El tipo de APS puede determinarse como información sobre el tipo de APS o un elemento sintáctico (aps_params_type). Los datos de ALF pueden incluir un indicador de señal de filtro de Cb (alf_cross_component_cb_filter_signal_flag o alf_cc_cb_filter_signal_flag) relacionado con si se señalizan filtros de componente cruzado para un componente de color de Cb. Los datos de ALF pueden incluir un indicador de señal de filtro de Cr (alf_cross_component_cr_filter_signal_flag o alf_cc_cr_filter_signal_flag) relacionado con si se señalizan filtros de componente cruzado para el componente de color de Cr.
En un ejemplo, en base al indicador de señal de filtro de Cr, los datos de ALF pueden incluir información (alf_cross_component_cr_coeff_abs) sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre signos (alf_cross_component_cr_coeff_sign) sobre signos de coeficientes de filtro de componente cruzado para el componente de color de Cr. Basándose en la información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr y la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr, pueden derivarse coeficientes de filtro de componente cruzado para el componente de color de Cr.
En un ejemplo, los datos de ALF pueden incluir información (alf_cross_component_cb_coeff_abs) sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb e información (alf_cross_component_cb_coeff_sign) sobre signos de coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de coeficientes de filtro de componente cruzado para el componente de color de Cb, pueden derivarse coeficientes de filtro de componente cruzado para el componente de color de Cb.
La siguiente tabla muestra la sintaxis relacionada con los datos de ALF según otro ejemplo.
[Tabla 20]
Haciendo referencia a la tabla anterior, después de transmitir por primera vez alf_cross_component_filter_signal_flag cuando alf_cross_component__filter_signal_flag es 1, se puede transmitir un indicador de señal de filtro de Cb/Cr. Es decir, alf_cross_component_filter_signal_flag integra Cb/Cr para determinar si transmitir coeficientes de filtro de CC-ALF.
La siguiente tabla muestra la sintaxis relacionada con los datos de ALF según otro ejemplo.
[Tabla 21]
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 22]
La siguiente tabla muestra una sintaxis relacionada con datos de ALF según otro ejemplo.
[Tabla 23]
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 24]
En las dos tablas anteriores, el orden de binarización de exp-Golomb para analizar la sintaxis alf_cross_component_cb_coeff_abs[j] y alf_cross_component_cr_coeff_abs[j] puede definirse mediante uno de 0 a 9 valores.
Haciendo referencia a las dos tablas anteriores, los datos de ALF pueden incluir un indicador de señal de filtro de Cb (alf_cross_component_cb_filter_signal_flag o alf_cc_cb_filter_signal_flag) relacionado con si se señalizan los filtros de componente cruzado para un componente de color de Cb. Basándose en el indicador de señal de filtro de Cb (alf_cross_component_cb_filter_signal_flag), los datos de ALF pueden incluir información (ccalf_cb_num_alt_filters_minus1) relacionada con el número de filtros de componente cruzado para el componente de color de Cb. Basándose en información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los datos de ALF pueden incluir información (alf_cross_component_cb_coeff_abs) sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb e información (alf_cross_component_cr _coeff_sign) sobre signos de coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb y en la información sobre signos de coeficientes de filtro de componente cruzado para el componente de color de Cb, pueden derivarse coeficientes de filtro de componente cruzado para el componente de color de Cb.
En un ejemplo, los datos de ALF pueden incluir un indicador de señal de filtro de Cr (alf_cross_component_cr_filter_signal_flag o alf_cc_cr_filter_signal_flag) relacionado con si se señalizan los filtros de componente cruzado para el componente de color de Cr. Basándose en el indicador de señal de filtro de Cr (alf_cross_component_cr__filter_signal_flag), los datos de ALF pueden incluir información (ccalf_cr_num_alt_filters_minus1) relacionada con el número de filtros de componente cruzado para el componente de color de Cr. Basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los datos de ALF pueden incluir información (alf_cross_component_cr_coeff_abs) sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cr e información (alf_cross_component_cr__coeff_sign) sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr. Basándose en la información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cr y en la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr, pueden derivarse coeficientes de filtro de componente cruzado para el componente de color de Cr.
La siguiente tabla muestra sintaxis con respecto a una unidad de árbol de codificación según una realización de la presente divulgación.
[Tabla 25]
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 26]
La siguiente tabla muestra una sintaxis de unidad de árbol de codificación según otro ejemplo de esta realización.
[Tabla 27]
Haciendo referencia a la tabla anterior, el CCALF puede aplicarse en unidades de CTU. En un ejemplo, la información de imagen puede incluir información (coding_tree_unit ()) en una unidad de árbol de codificación. La información sobre la unidad de árbol de codificación puede incluir información (ccalf_ctb_flag [0]) sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cb, y/o información (ccalf_ctb_flag [1]) sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cr. Además, la información sobre la unidad de árbol de codificación puede incluir información (ccalf_ctb_filter_alt_idx [0]) sobre un índice de conjunto de filtros de un filtro de componente cruzado aplicado al bloque actual de un componente de color de Cb, y/o información (ccalf_ctb_filter_alt_idx [1]) sobre el índice de conjunto de filtros del filtro de componente cruzado aplicado al bloque actual de un componente de color de Cr. La sintaxis puede transmitirse de manera adaptativa según la sintaxis slice_ccalf_enabled_flag y slice_ccalf_chroma_idc.
La siguiente tabla muestra una sintaxis de unidad de árbol de codificación según otro ejemplo de esta realización.
[Tabla 28]
La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[Tabla 29]
La siguiente tabla muestra una sintaxis de unidad de árbol de codificación según otro ejemplo de esta realización. Los elementos sintácticos incluidos en la tabla siguiente se pueden describir según la Tabla 29.
[Tabla 30]
En un ejemplo, la información de imagen puede incluir información sobre una unidad de árbol de codificación (coding_tree_unit () ). La información sobre la unidad de árbol de codificación puede incluir información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cb (ccalf_ctb_flag [0]) y/o información (ccalf_ctb_flag [1]) sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cr. Además, la información sobre la unidad de árbol de codificación puede incluir información (ccalf_ctb_filter_alt_idx [0]) sobre un índice de conjunto de filtros de un filtro de componente cruzado aplicado al bloque actual de un componente de color de Cb, y/o información (ccalf_ctb_filter_alt_idx [1]) sobre el índice de conjunto de filtros del filtro de componente cruzado aplicado al bloque actual de un componente de color de Cr.
Las FIGS. 12 y 13 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según la realización(es) de la presente divulgación. El método mostrado en la FIG. 12 puede ser realizado por el aparato de codificación descrito en la FIG. 2 o en la FIG. 13. Específicamente, por ejemplo, S1200 y S1210 de la FIG. 12 pueden ser realizadas por el predictor 220 del aparato de codificación, y S1220 a S1240 de la FIG. 12 pueden ser realizadas por el procesador residual 230 del aparato de codificación. S1250 puede ser realizada por el sumador 250 del aparato de codificación, S1260 puede ser realizado por el filtro 260 del aparato de codificación, y S1270 puede ser realizado por el codificador de entropía 240 del aparato de codificación. El método divulgado en la FIG. 12 puede incluir las realizaciones descritas anteriormente en la presente divulgación.
Haciendo referencia a la FIG. 12, el aparato de codificación puede derivar muestras de predicción (S1200). Las muestras de predicción pueden incluir muestras de luma de predicción y muestras de croma de predicción. El aparato de codificación puede derivar muestras de predicción del bloque actual basándose en el modo de predicción. En este caso, se pueden aplicar varios métodos de predicción divulgados en la presente divulgación, tales como interpredicción o intrapredicción.
El aparato de codificación puede generar información relacionada con la predicción (S1210). El aparato de codificación puede generar información relacionada con la predicción basándose en muestras de predicción y/o un modo aplicado a las mismas. La información relacionada con la predicción puede incluir información sobre diversos modos de predicción (por ejemplo, modo de fusión, modo de MVP, etc.), información de MVD y similares.
El aparato de codificación puede generar muestras residuales (S1220). Las muestras residuales pueden incluir muestras de luma residuales y muestras de croma residuales. El aparato de codificación puede derivar muestras residuales para el bloque actual, y las muestras residuales para el bloque actual pueden derivarse en base a muestras originales del bloque actual y a muestras de predicción.
El aparato de codificación puede derivar coeficientes de transformada (cuantificados) (S1230). El aparato de codificación puede derivar coeficientes de transformada basándose en un procedimiento de transformada para las muestras residuales. Los coeficientes de transformada pueden incluir coeficientes de transformada de luma y coeficientes de transformada de croma. Por ejemplo, los coeficientes de transformada de luma pueden derivarse en base a las muestras de luma residuales, y los coeficientes de transformada de croma pueden derivarse en base a las muestras de croma residuales. Por ejemplo, el procedimiento de conversión puede incluir al menos una de DCT, DST, GBT o CNT. El aparato de codificación puede derivar coeficientes de transformada cuantificados. El aparato de codificación puede derivar coeficientes de transformada cuantificados basándose en un procedimiento de cuantificación para los coeficientes de transformada. Los coeficientes de transformada cuantificados pueden tener una forma de vectori unidimensional basada en un orden de escaneo de coeficientes.
El aparato de codificación puede generar información residual (S1240). El aparato de codificación puede generar información residual que indica los coeficientes de transformada cuantificados. La información residual puede generarse a través de diversos métodos de codificación tales como exponencial Golomb, CAVLC, CABAC y similares.
El aparato de codificación puede generar muestras reconstruidas (S1250). Las muestras reconstruidas pueden incluir muestras de luma reconstruidas (componentes de luma de muestras reconstruidas) y/o muestras de croma reconstruidas (componentes de croma de muestras reconstruidas). El aparato de codificación puede generar muestras reconstruidas basándose en la información residual. Las muestras reconstruidas pueden generarse añadiendo muestras residuales basadas en información residual a una muestra de predicción.
El aparato de codificación puede generar información relacionada con ALF y/o información relacionada con CCALF (S1260). El aparato de codificación puede generar información relacionada con ALF y/o información relacionada con CCALF para las muestras reconstruidas. El aparato de codificación deriva un parámetro relacionado con ALF, que puede aplicarse para filtrar las muestras reconstruidas, y genera información relacionada con ALF. Por ejemplo, la información relacionada con la ALF puede incluir la información relacionada con la ALF descrita anteriormente en la presente divulgación. El aparato de codificación puede generar información relacionada con CCALF para muestras de croma reconstruidas entre las muestras reconstruidas.
El aparato de codificación puede codificar información de vídeo/imagen (S1270). La información de imagen puede incluir información residual y/o información relacionada con ALF. La información de vídeo/imagen codificada se puede generar en forma de un flujo de bits. El flujo de bits puede transmitirse al aparato de descodificación a través de una red o un medio de almacenamiento.
En un ejemplo, la información relacionada con CCALF puede incluir un indicador de CCALF habilitado, un indicador relacionado con si CCALF está disponible para un componente de color de Cb (o Cr), un indicador de señal de filtro de Cb (o Cr) relacionado con si se señalizan filtros de componente cruzado para un componente de color de Cb (o Cr), información relacionada con el número de filtros de componente cruzado para el componente de color de Cb (o Cr), información sobre los valores de los coeficientes de filtro de componente cruzado para el componente de color de Cb (o Cr), información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb (o Cr), información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb (o Cr), y/o información sobre si se aplica un filtro de componente cruzado a un bloque actual de un componente de color de Cb (o Cr) en la información (sintaxis de unidad de árbol de codificación) en la unidad de árbol de codificación.
La información de imagen/vídeo puede incluir varios tipos de información según una realización del presente documento. Por ejemplo, la información de imagen/vídeo puede incluir información expuesta en al menos una de las Tablas 1 a 30 descritas anteriormente.
En una realización, la información de imagen puede incluir un conjunto de parámetros de secuencia (SPS). El SPS puede incluir un indicador de CCALF habilitado relacionado con si el filtrado de componentes cruzados está disponible. Basándose en el indicador de disponibilidad de CCALF, puede derivarse información de ID (información de identificador) de conjuntos de parámetros de adaptación (APS) que incluyen datos de ALF utilizados para la derivación de coeficientes de filtro de componente cruzado para CCALF.
En una realización, el SPS puede incluir un indicador de ALF habilitado (sps_alf_enabled_flag) relacionado con si la ALF está disponible. Basándose en una determinación de que el valor del indicador de ALF habilitado (sps_alf_enabled_flag) es 1, el SPS puede incluir un indicador de CCALF habilitado relacionado con si el filtrado de componente cruzado está disponible.
En una realización, la información de imagen puede incluir información de cabecera de segmento y un conjunto de parámetros de adaptación (APS). La información de cabecera puede incluir información relacionada con un identificador del APS que incluye los datos de ALF. Por ejemplo, los coeficientes de filtro de componente cruzado pueden derivarse basándose en los datos de ALF.
En una realización, la información de cabecera de segmento puede incluir un indicador de ALF habilitado (slice_alf_enabled_flag) relacionado con si el ALF está disponible. Sps_alf_enabled_flag y slice_alf_enabled_flag pueden denominarse como un primer indicador de ALF habilitado y un segundo indicador de ALF habilitado, respectivamente. Basándose en una determinación de que el valor del segundo indicador de ALF habilitado (slice_alf_enabled_flag) es 1, puede determinarse si el valor del indicador de CCALF habilitado es 1. En un ejemplo, en base a una determinación de que el valor del segundo indicador de ALF habilitado es 1, el CCALF puede estar disponible para el segmento.
En una realización, la información de cabecera (información de cabecera de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCALF está disponible para el componente de color de Cr de las muestras de croma reconstruidas filtradas. En otro ejemplo, en base a una determinación de que el valor del indicador de ALF habilitado (slice_alf_enabled_flag) es 1, la información de cabecera (información de cabecera de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCALF está disponible para el componente de color de Cr de las muestras de croma reconstruidas filtradas.
En una realización, basándose en la determinación de que el valor del primer indicador es 1, la información de cabecera de segmento puede incluir información de ID (información relacionada con el identificador del segundo APS) del primer APS para derivar coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la determinación de que el valor del segundo indicador es 1, la información de cabecera de segmento puede incluir información de ID (información relacionada con el identificador del segundo APS) del segundo APS para derivar coeficientes de filtro de componente cruzado para el componente de color de Cr.
En una realización, los primeros datos de ALF incluidos en el primer APS pueden incluir un indicador de señal de filtro de Cb relacionado con si se señalizan los filtros de componente cruzado para el componente de color de Cb. Basándose en el indicador de señal de filtro de Cb, los primeros datos de ALF pueden incluir información relacionada con el número de filtros de componente cruzado para el componente de color de Cb. Basándose en información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los primeros datos de ALF pueden incluir información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la información sobre la información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb y en la información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, pueden derivarse los coeficientes de filtro de componente cruzado para el componente de color de Cb.
En una realización, la información relacionada con el número de filtros de componente cruzado para el componente de color de Cb puede ser Golomb exponencial de orden cero (0° EG) codificado.
En una realización, los segundos datos de ALF incluidos en el segundo APS pueden incluir un indicador de señal de filtro de Cr relacionado con si se señalizan los filtros de componente cruzado para el componente de color de Cr. Basándose en el indicador de señal de filtro de Cr, los segundos datos de ALF pueden incluir información relacionada con el número de filtros de componente cruzado para el componente de color de Cr. Basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los segundos datos de ALF pueden incluir información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr. Basándose en los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr y en la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr, pueden derivarse los coeficientes de filtro de componente cruzado para el componente de color de Cr.
En una realización, la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr puede ser Golomb exponencial de orden cero (0° EG) codificado.
En una realización, la información de imagen puede incluir información sobre una unidad de árbol de codificación. La información sobre la unidad de árbol de codificación puede incluir información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cb y/o información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cr.
En una realización, la información sobre la unidad de árbol de codificación puede incluir información sobre un índice de conjunto de filtros de un filtro de componente cruzado aplicado al bloque actual de un componente de color de Cb, y/o información sobre un índice de conjunto de filtros de un filtro de componente cruzado aplicado al bloque actual de un componente de color de Cr.
Las FIGS. 14 y 15 muestran esquemáticamente un ejemplo de un método de descodificación de vídeo/imagen y componentes relacionados según la realización(s) de la presente divulgación.
El método descrito en la FIG. 14 puede ser realizado por el aparato de descodificación ilustrado en la FIG. 3 o 15. Específicamente, por ejemplo, S1400 de la FIG. 14 puede realizarse por el descodificador de entropía 310 del aparato de descodificación, S1410 y S 1420 pueden ser realizadas por el procesador residual 32o del aparato de descodificación, S1430 puede ser realizada por el predictor 330 del aparato de descodificación, S1440 puede ser realizada por el sumador 340 del aparato de descodificación y S1450 a S1480 pueden ser realizadas por el filtro 350 del aparato de descodificación. El método divulgado en la FIG. 14 puede incluir las realizaciones descritas anteriormente en la presente divulgación.
Haciendo referencia a la FIG. 14, el aparato de descodificación recibe/adquiere información de vídeo/imagen (S1400). La información de vídeo/imagen puede incluir información relacionada con la predicción y/o información residual. El aparato de descodificación recibe/obtiene la información de imagen/vídeo a través de un flujo de bits. La información de vídeo/imagen incluye además información relacionada con CCALF. La información relacionada con CCALF incluye un indicador de CCALF habilitado, un indicador relacionado con si CCALF está disponible para un componente de color de Cb (o Cr), un indicador de señal de filtro de Cb (o Cr) relacionado con si se señalizan filtros de componente cruzado para un componente de color de Cb (o Cr), información relacionada con el número de filtros de componente cruzado para el componente de color de Cb (o Cr), información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb (o Cr), información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb (o Cr), e información sobre si se aplica un filtro de componente cruzado a un bloque actual de un componente de color de Cb (o Cr) en la información (sintaxis de unidad de árbol de codificación) en la unidad de árbol de codificación.
La información de imagen/vídeo puede incluir varios tipos de información según una realización del presente documento. Por ejemplo, la información de imagen/vídeo puede incluir información expuesta en al menos una de las Tablas 1 a 30 descritas anteriormente.
El aparato de descodificación deriva coeficientes de transformada (S1410). Específicamente, el aparato de descodificación puede derivar coeficientes de transformada cuantificados basándose en la información residual. Los coeficientes de transformada pueden incluir coeficientes de transformada de luma y coeficientes de transformada de croma. Los coeficientes de transformada cuantificados pueden tener una forma de vector unidimensional basada en un orden de escaneo de coeficientes. El aparato de descodificación puede derivar coeficientes de transformada basándose en un procedimiento de descuantificación para los coeficientes de transformada cuantificados.
El aparato de descodificación deriva muestras residuales (S 1420). El aparato de descodificación puede derivar muestras residuales en base a los coeficientes de transformada. Las muestras residuales pueden incluir muestras de luma residuales y muestras de croma residuales. Por ejemplo, las muestras de luma residuales pueden derivarse en base a los coeficientes de transformada de luma, y las muestras de croma residuales pueden derivarse en base a los coeficientes de transformada de croma. Además, las muestras residuales para el bloque actual pueden derivarse en base a muestras originales y a muestras de predicción del bloque actual.
El aparato de descodificación realiza la predicción basándose en la información de imagen/vídeo y obtiene muestras de predicción del bloque actual (S1430). El aparato de descodificación puede derivar las muestras de predicción del bloque actual basándose en información relacionada con la predicción. La información relacionada con la predicción puede incluir información del modo de predicción. El aparato de descodificación puede determinar si se aplica interpredicción o intrapredicción al bloque actual basándose en la información de modo de predicción, y puede realizar predicción basándose en la misma. Las muestras de predicción pueden incluir muestras de luma de predicción y/o muestras de croma de predicción.
El aparato de descodificación genera/deriva muestras reconstruidas (S1440). Las muestras reconstruidas pueden incluir muestras de luma reconstruidas y/o muestras de croma reconstruidas. El aparato de descodificación puede generar muestras de luma (o croma) reconstruidas basándose en las muestras residuales. Los componentes de luma de las muestras reconstruidas pueden corresponder a las muestras de luma reconstruidas, y los componentes de croma de las muestras reconstruidas pueden corresponder a las muestras de croma reconstruidas.
El aparato de descodificación deriva coeficientes de filtro de ALF para un procedimiento de ALF de las muestras de croma reconstruidas (S1450). Además, el aparato de descodificación puede obtener coeficientes de filtro de ALF para el procedimiento de ALF de las muestras de luma reconstruidas. Los coeficientes de filtro de ALF pueden derivarse basándose en parámetros de ALF incluidos en los datos de ALF en el APS.
El aparato de descodificación genera muestras de croma reconstruidas filtradas (S1460). El aparato de descodificación puede generar muestras reconstruidas filtradas en base a las muestras de croma reconstruidas y a los coeficientes de filtro de ALF.
El aparato de descodificación deriva coeficientes de filtro de componente cruzado para el filtrado de componente cruzado (S1470). Los coeficientes de filtro de componente cruzado pueden derivarse basándose en información relacionada con CCALF en los datos de ALF incluidos en el APS mencionado anteriormente, y la información de identificador (ID) del APS correspondiente puede incluirse en la cabecera de segmento (puede señalizarse a través de la misma).
El aparato de descodificación genera muestras de croma reconstruidas filtradas modificadas (S1480). El aparato de descodificación puede generar muestras de croma reconstruidas modificadas y filtradas en base a las muestras de luma reconstruidas, a las muestras de croma reconstruidas filtradas y a los coeficientes de filtro de componente cruzado. En un ejemplo, el aparato de descodificación puede derivar una diferencia entre dos muestras entre las muestras de luma reconstruidas, y multiplicar la diferencia por un coeficiente de filtro entre los coeficientes de filtro de componente cruzado. En base al resultado de multiplicación y las muestras de croma reconstruidas filtradas, el aparato de descodificación puede generar las muestras de croma reconstruidas filtradas modificadas. Por ejemplo, el aparato de descodificación puede generar las muestras de croma reconstruidas filtradas modificadas en base a una suma del producto y una de las muestras de croma reconstruidas filtradas.
En una realización, la información de imagen incluye un conjunto de parámetros de secuencia (SPS). El SPS incluye un indicador de CCALF habilitado relacionado con si el filtrado de componentes cruzados está disponible. Basándose en el indicador de disponibilidad de CCALF, se obtiene información de ID (información de identificador) de conjuntos de parámetros de adaptación (APS) que incluyen datos de ALF utilizados para la derivación de coeficientes de filtro de componente cruzado para CCALF.
En una realización, el SPS incluye un indicador de ALF habilitado (sps_alf_enabled_flag) relacionado con si la ALF está disponible. Basándose en una determinación de que el valor del indicador de ALF habilitado (sps_alf_enabled_flag) es 1, el SPS incluye un indicador de CCALF habilitado relacionado con si el filtrado de componente cruzado está disponible.
En una realización, la información de imagen incluye información de cabecera de segmento y un conjunto de parámetros de adaptación (APS). La información de cabecera puede incluir información relacionada con un identificador del APS que incluye los datos de ALF. Por ejemplo, los coeficientes de filtro de componente cruzado pueden derivarse basándose en los datos de ALF.
En una realización, la información de cabecera de segmento puede incluir un indicador de ALF habilitado (slice_alf_enabled_flag) relacionado con si la ALF está disponible. Sps_alf_enabled_flag y slice_alf_enabled_flag pueden denominarse como un primer indicador de ALF habilitado y un segundo indicador de ALF habilitado, respectivamente. En base a una determinación de que el valor del segundo indicador de ALF habilitado (slice_alf_enabled _flag) es 1, se puede determinar si el valor del indicador de CCALF habilitado es 1. En un ejemplo, en base a una determinación de que el valor del segundo indicador de ALF habilitado es 1, el CCALF está disponible para el segmento.
En una realización, la información de cabecera (información de cabecera de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCALF está disponible para el componente de color de Cr de las muestras de croma reconstruidas filtradas. En otro ejemplo, en base a una determinación de que el valor del indicador de ALF habilitado (slice_alf_enabled_flag) es 1, la información de cabecera (información de cabecera de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCALF está disponible para el componente de color de Cr de las muestras de croma reconstruidas filtradas.
En una realización, basándose en la determinación de que el valor del primer indicador es 1, la información de cabecera de segmento incluye información de ID (información relacionada con el identificador del segundo APS) del primer APS para derivar coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la determinación de que el valor del segundo indicador es 1, la información de cabecera de segmento incluye información de ID (información relacionada con el identificador del segundo APS) del segundo APS para derivar coeficientes de filtro de componente cruzado para el componente de color de Cr.
En una realización, los primeros datos de ALF incluidos en el primer APS pueden incluir un indicador de señal de filtro de Cb relacionado con si se señalizan los filtros de componente cruzado para el componente de color de Cb. Basándose en el indicador de señal de filtro de Cb, los primeros datos de ALF incluyen información relacionada con el número de filtros de componente cruzado para el componente de color de Cb. Basándose en información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los primeros datos de ALF incluyen información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb. Basándose en la información sobre la información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cb y en la información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, pueden derivarse los coeficientes de filtro de componente cruzado para el componente de color de Cb.
En una realización, la información relacionada con el número de filtros de componente cruzado para el componente de color de Cb puede ser Golomb exponencial de orden cero (0o EG) codificado.
En una realización, los segundos datos de ALF incluidos en el segundo APS pueden incluir un indicador de señal de filtro de Cr relacionado con si se señalizan los filtros de componente cruzado para el componente de color de Cr. Basándose en el indicador de señal de filtro de Cr, los segundos datos de ALF incluyen información relacionada con el número de filtros de componente cruzado para el componente de color de Cr. Basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los segundos datos de ALF incluyen información sobre valores absolutos de coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr. Basándose en los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr y en la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr, pueden derivarse los coeficientes de filtro de componente cruzado para el componente de color de Cr.
En una realización, la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr puede ser Golomb exponencial de orden cero (0° EG) codificado.
En una realización, la información de imagen puede incluir información sobre una unidad de árbol de codificación. La información sobre la unidad de árbol de codificación puede incluir información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cb y/o información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cr.
En una realización, la información sobre la unidad de árbol de codificación puede incluir información sobre un índice de conjunto de filtros de un filtro de componente cruzado aplicado al bloque actual de un componente de color de Cb, y/o información sobre un índice de conjunto de filtros de un filtro de componente cruzado aplicado al bloque actual de un componente de color de Cr.
Cuando hay una muestra residual para el bloque actual, el aparato de descodificación puede recibir información sobre el residuo para el bloque actual. La información sobre el residuo puede incluir coeficientes de transformada sobre muestras residuales. El aparato de descodificación puede derivar muestras residuales (o matriz de muestras residuales) para el bloque actual en base a la información residual. Específicamente, el aparato de descodificación puede derivar coeficientes de transformada cuantificados basándose en la información residual. Los coeficientes de transformada cuantificados pueden tener una forma de vector unidimensional basada en un orden de escaneo de coeficientes. El aparato de descodificación puede derivar coeficientes de transformada basándose en un procedimiento de descuantificación para los coeficientes de transformada cuantificados. El aparato de descodificación puede derivar muestras residuales en base a los coeficientes de transformada.
El aparato de descodificación puede generar muestras reconstruidas basándose en muestras de (intra) predicción y en muestras residuales, y puede derivar un bloque reconstruido o una imagen reconstruida basándose en las muestras reconstruidas. Con más detalle, el aparato de descodificación puede generar muestras reconstruidas basándose en una suma de muestras de (intra) predicción y muestras residuales. A continuación, como se describió anteriormente, el aparato de descodificación puede aplicar un procedimiento de filtrado en bucle, tal como un procedimiento de filtrado de desbloqueo y/o de SAO, a la imagen reconstruida con el fin de mejorar la calidad subjetiva/objetiva de la imagen si es necesario.
Por ejemplo, el aparato de descodificación puede obtener información de imagen que incluye toda o parte de la información (o elementos sintácticos) anteriormente mencionada descodificando el flujo de bits o la información codificada. Además, el flujo de bits o la información codificada pueden almacenarse en un medio de almacenamiento legible por ordenador, y pueden hacer que se realice el método de descodificación mencionado anteriormente.
En la realización mencionada anteriormente, los métodos se describen basándose en el diagrama de flujo que tiene una serie de etapas o bloques. La presente divulgación no se limita al orden de las etapas o bloques anteriores. Algunas etapas o bloques se pueden producir simultáneamente o en un orden diferente de otras etapas o bloques como se describió anteriormente. Además, los expertos en la técnica entenderán que las etapas mostradas en el diagrama de flujo anterior no son exclusivas, que pueden incluirse etapas adicionales, o que pueden eliminarse una o más etapas en el diagrama de flujo sin afectar al alcance de la presente divulgación.
El método según las realizaciones mencionadas anteriormente de la presente divulgación puede implementarse en forma de software, y el aparato de codificación y/o el aparato de descodificación según la presente divulgación, por ejemplo, puede incluirse en el aparato que realiza el procesamiento de imágenes de una TV, un ordenador, un teléfono inteligente, un descodificador, un dispositivo de visualización, etc.
Cuando las realizaciones en la presente divulgación se implementan en software, el método mencionado anteriormente puede implementarse como un módulo (proceso, función, etc.) que realiza la función mencionada anteriormente. Un módulo puede almacenarse en una memoria y ser ejecutado por un procesador. La memoria puede ser interna o externa al procesador, y puede estar conectada al procesador por diversos medios bien conocidos. El procesador puede incluir un circuito integrado de aplicación específica (ASIC), otros conjuntos de chips, circuitos lógicos y/o dispositivos de procesamiento de datos. La memoria puede incluir memoria de solo lectura (ROM), memoria de acceso aleatorio (RAM), memoria flash, tarjetas de memoria, medios de almacenamiento y/u otros dispositivos de almacenamiento. Es decir, las realizaciones descritas en la presente divulgación pueden implementarse y realizarse en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales mostradas en cada FIG. pueden implementarse y realizarse en un ordenador, un procesador, un microprocesador, un controlador o un chip. En este caso, la información sobre instrucciones o un algoritmo para la implementación puede almacenarse en un medio de almacenamiento digital.
Además, el aparato de descodificación y el aparato de codificación al que se aplica la presente divulgación pueden incluirse en un aparato de transmisión/recepción de radiodifusión multimedia, un terminal de comunicación móvil, un aparato de vídeo de cine doméstico, un aparato de vídeo de cine digital, una cámara de vigilancia, un aparato de chat de vídeo, un aparato de comunicación en tiempo real tal como comunicación de vídeo, un aparato de transmisión continua móvil, un medio de almacenamiento, una videocámara, un aparato de provisión de servicio de VoD, un aparato de vídeo "Over the top" (OTT), un aparato de provisión de servicio de transmisión continua de Internet, un aparato de vídeo tridimensional (3D), un aparato de vídeo de teleconferencia, un equipo de usuario de transporte (es decir, equipo de usuario de vehículo, un equipo de usuario de avión, un equipo de usuario de barco, etc.) y un aparato de vídeo médico y pueden utilizarse para procesar señales de vídeo y señales de datos. Por ejemplo, el aparato de vídeo "Over the top" (OTT) puede incluir una consola de juegos, un reproductor de Blue-ray, una TV de acceso a Internet, un sistema de cine doméstico, un teléfono inteligente, un ordenador personal tipo tableta, un grabador de vídeo digital (DVR) y similares.
Además, el método de procesamiento al que se aplica la presente divulgación puede producirse en forma de un programa que va a ser ejecutado por un ordenador y puede almacenarse en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según la presente divulgación también pueden almacenarse en medios de grabación legibles por ordenador. Los medios de grabación legibles por ordenador incluyen todos los tipos de dispositivos de almacenamiento en donde se almacenan datos legibles por un sistema informático. Los medios de grabación legibles por ordenador pueden incluir una BD, un bus serie universal (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, una cinta magnética, un disquete y un dispositivo de almacenamiento de datos óptico, por ejemplo. Además, los medios de grabación legibles por ordenador incluyen medios implementados en forma de ondas portadoras (es decir, transmisión a través de Internet). Además, un flujo de bits generado por el método de codificación puede almacenarse en un medio de grabación legible por ordenador o puede transmitirse a través de redes de comunicación cableadas/inalámbricas.
Además, las realizaciones de la presente divulgación pueden implementarse con un producto de programa informático según códigos de programa, y los códigos de programa pueden realizarse en un ordenador mediante las realizaciones de la presente divulgación. Los códigos de programa pueden almacenarse en un portador que es legible por un ordenador.
La FIG. 17 muestra un ejemplo de un sistema de transmisión continua de contenido al que se pueden aplicar las realizaciones descritas en la presente divulgación.
Haciendo referencia a la FIG. 17, el sistema de transmisión de contenido al que se aplica la realización(es) de la presente divulgación puede incluir en gran medida un servidor de codificación, un servidor de transmisión, un servidor web, un almacenamiento multimedia, un dispositivo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación comprime la entrada de contenido procedente de los dispositivos de entrada multimedia tales como un teléfono inteligente, una cámara, una videocámara, etc. a datos digitales para generar un flujo de bits y transmitir el flujo de bits al servidor de transmisión continua. Como otro ejemplo, cuando los dispositivos de entrada multimedia, tales como teléfonos inteligentes, cámaras, videocámaras, etc. generan directamente un flujo de bits, el servidor de codificación se puede omitir.
El flujo de bits puede generarse mediante un procedimiento de codificación o un procedimiento de generación de flujo de bits al que se aplica la realización(es) de la presente divulgación, y el servidor de transmisión puede almacenar temporalmente el flujo de bits en el proceso de transmisión o recepción del flujo de bits.
El servidor de transmisión continua transmite los datos multimedia al dispositivo de usuario basándose en una solicitud del usuario a través del servidor web, y el servidor web sirve como un medio para informar al usuario de un servicio. Cuando el usuario solicita un servicio deseado desde el servidor web, el servidor web lo entrega a un servidor de transmisión continua, y el servidor de transmisión continua transmite datos multimedia al usuario. En este caso, el sistema de transmisión continua de contenido puede incluir un servidor de control separado. En este caso, el servidor de control sirve para controlar un comando/respuesta entre dispositivos en el sistema de transmisión continua de contenido.
El servidor de transmisión puede recibir contenido desde un almacenamiento de medios y/o un servidor de codificación. Por ejemplo, cuando el contenido se recibe desde el servidor de codificación, el contenido puede recibirse en tiempo real. En este caso, con el fin de proporcionar un servicio de transmisión continua constante, el servidor de transmisión continua puede almacenar el flujo de bits durante un tiempo predeterminado.
Los ejemplos del dispositivo de usuario pueden incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de radiodifusión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), navegación, un PC de formato pizarra, PC de tableta, ultrabooks, dispositivos portátiles (por ejemplo, relojes inteligentes, gafas inteligentes, pantallas montadas en la cabeza), TV digitales, ordenador de escritorio, señalización digital y similares. Cada servidor en el sistema de transmisión de contenido puede ser operado como un servidor distribuido, en cuyo caso los datos recibidos desde cada servidor pueden ser distribuidos.
Cada servidor en el sistema de transmisión de contenido puede ser operado como un servidor distribuido, y en este caso, los datos recibidos desde cada servidor pueden ser distribuidos y procesados.
Las reivindicaciones descritas en el presente documento se pueden combinar de diversas maneras. Por ejemplo, las características técnicas de las reivindicaciones de procedimiento de la presente divulgación pueden combinarse e implementarse como un aparato, y las características técnicas de las reivindicaciones de aparato de la presente divulgación pueden combinarse e implementarse como un método. Además, las características técnicas de la reivindicación de método de la presente divulgación y las características técnicas de la reivindicación de aparato pueden combinarse para implementarse como un aparato, y las características técnicas de la reivindicación de método de la presente divulgación y las características técnicas de la reivindicación de aparato pueden combinarse e implementarse como un método.
Claims (14)
1. Un método para la descodificación de imágenes realizado por un aparato de descodificación (300), comprendiendo el método:
adquirir (S1400) información de imagen que incluye información relacionada con predicción e información residual a través de un flujo de bits;
derivar (S1410) coeficientes de transformada basados en la información residual;
generar (S1420) muestras residuales basadas en los coeficientes de transformada;
generar (S1430) muestras de predicción basándose en la información relacionada con la predicción; generar (1440) muestras reconstruidas basadas en las muestras de predicción y en las muestras residuales, incluyendo las muestras reconstruidas muestras de luma reconstruidas y muestras de croma reconstruidas; derivar (1450) coeficientes de filtro de bucle adaptativo (ALF) para un proceso de ALF de las muestras de croma reconstruidas;
generar (S1460) muestras de croma reconstruidas filtradas basándose en las muestras de croma reconstruidas y en los coeficientes de filtro de ALF;
derivar (S1470) coeficientes de filtro de componente cruzado para el filtrado de componente cruzado; y generar (S1480) muestras de croma reconstruidas filtradas modificadas en base a las muestras de luma reconstruidas, a las muestras de croma reconstruidas filtradas y a los coeficientes de filtro de componente cruzado,
en donde
la información de imagen incluye un conjunto de parámetros de secuencia (SPS) e información de cabecera de segmento,
caracterizado por que el SPS incluye un indicador de ALF habilitado relacionado con si el proceso de ALF está habilitado,
en donde si el SPS incluye un indicador de filtro de bucle adaptativo de componente cruzado (CCALF) habilitado relacionado con si el filtrado de componente cruzado está habilitado se determina en base a un valor del indicador de ALF habilitado,
en donde el SPS incluye el indicador de CCALF habilitado en respuesta a una determinación de que el valor del indicador de ALF habilitado es 1,
en donde, en base a la determinación de que el valor del indicador de ALF habilitado en el SPS es 1, la información de cabecera de segmento incluye un indicador de ALF habilitado en relación con si el ALF está habilitado,
en donde, en base a una determinación de que un valor del indicador de ALF habilitado incluido en la información de cabecera de segmento es 1 y un valor del indicador de CCALF habilitado incluido en el SPS es 1, la información de cabecera de segmento incluye información sobre si el CCALF esta habilitado para las muestras de croma reconstruidas filtradas,
en donde, basándose en que un valor de la información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de cabecera de segmento incluye información de identificación (ID) de un conjunto de parámetros de adaptación (APS) relacionado con el CCALF para las muestras de croma reconstruidas filtradas,
en donde los datos de ALF incluidos en el APS incluyen información relacionada con un número de filtros de componente cruzado para un componente de color de Cb e información relacionada con un número de filtros de componente cruzado para un componente de color de Cr,
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, y
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr.
2. El método de la reivindicación 1, en donde, en base a una determinación de que el valor del indicador de CCALF habilitado es 1, la información de cabecera de segmento incluye un primer indicador relacionado con si el CCALF está habilitado para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si el CCALF está habilitado para un componente de color de Cr de las muestras de croma reconstruidas filtradas.
3. El método de la reivindicación 2, en donde
basándose en que un valor del primer indicador es 1, la información de cabecera de segmento incluye información de ID de un primer APS que incluye primeros datos de ALF utilizados para derivar coeficientes de filtro de componente cruzado para el componente de color de Cb de las muestras de croma reconstruidas filtradas y
en donde, basándose en que un valor del segundo indicador es 1, la información de cabecera de segmento incluye información de ID de un segundo APS que incluye segundos datos de ALF utilizados para derivar coeficientes de filtro de componente cruzado para el componente de color de Cr de las muestras de croma reconstruidas filtradas.
4. El método de la reivindicación 1, en donde
los coeficientes de filtro de componente cruzado para el componente de color de Cb son derivados en función de la información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb y de la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, y
en donde los coeficientes de filtro de componente cruzado para el componente de color de Cr son derivados en base a la información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr y a la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr.
5. El método de la reivindicación 1, en donde
la información de imagen incluye información sobre una unidad de árbol de codificación, y
en donde la información sobre la unidad de árbol de codificación incluye:
en donde se aplica información sobre si se aplica un filtro de componente cruzado al bloque actual del componente de color de Cb; y
en donde se aplica información sobre si se aplica un filtro de componente cruzado al bloque actual del componente de color de Cr.
6. El método de la reivindicación 1, en donde
la información de imagen incluye información sobre una unidad de árbol de codificación, y
en donde la información sobre la unidad de árbol de codificación incluye:
en donde la información sobre un índice de conjunto de filtros de un filtro de componente cruzado se aplica al bloque actual del componente de color de Cb; y
en donde la información sobre un índice de conjunto de filtros de un filtro de componente cruzado se aplica al bloque actual del componente de color de Cr.
7. Un método para la codificación de imágenes realizado por un aparato de codificación (200), comprendiendo el método:
derivar (S1200) muestras de predicción para un bloque actual;
generar (S1210) información relacionada con la predicción basada en las muestras de predicción; generar (S1220) muestras residuales para el bloque actual;
derivar (S1230) coeficientes de transformada basados en un proceso de transformada para las muestras residuales;
generar (S1240) información residual basándose en los coeficientes de transformada;
generar (S1250) muestras reconstruidas basadas en las muestras residuales y en las muestras de predicción, incluyendo las muestras reconstruidas muestras de luma reconstruidas y muestras de croma reconstruidas;
generar (S1260) información relacionada con un filtro de bucle adaptativo (ALF) e información relacionada con un ALF de componente cruzado (CCALF) para las muestras reconstruidas; y
codificar (S1270) información de imagen que incluye la información residual, la información relacionada con la predicción, la información relacionada con el ALF y la información relacionada con el CCALF,
en donde
la información de imagen incluye un conjunto de parámetros de secuencia (SPS) e información de cabecera de segmento,
caracterizado por que el SPS incluye un indicador de ALF habilitado relacionado con si el proceso de ALF está habilitado,
en donde el SPS incluye el indicador de CCALF habilitado en respuesta a una determinación de que el valor del indicador de ALF habilitado es 1,
en donde si el SPS incluye un indicador de CCALF habilitado relacionado con si el CCALF está habilitado se determina en base a un valor del indicador de ALF habilitado,
en donde, en base a la determinación de que el valor del indicador de ALF habilitado en el SPS es 1, la información de cabecera de segmento incluye un indicador de ALF habilitado en relación con si la ALF está habilitado,
en donde, en base a una determinación de que un valor del indicador de ALF habilitado incluido en la información de cabecera de segmento es 1 y un valor del indicador de CCALF habilitado incluido en el SPS es 1, la información de cabecera de segmento incluye información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas,
en donde, basándose en que un valor de la información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de cabecera de segmento incluye información de identificación (ID) de un conjunto de parámetros de adaptación (APS) asociado con el CCALF para las muestras de croma reconstruidas filtradas,
en donde los datos de ALF incluidos en el APS incluyen información relacionada con un número de filtros de componente cruzado para un componente de color de Cb e información relacionada con un número de filtros de componente cruzado para un componente de color de Cr,
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, y
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr.
8. El método de la reivindicación 7, en donde, en base a la determinación de que un valor del indicador de CCALF es 1, la información de cabecera de segmento incluye un primer indicador relacionado con si el CCALF está habilitado para el componente de color de Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si el CCALF está habilitado para un componente de color de Cr de las muestras de croma reconstruidas filtradas.
9. El método de la reivindicación 8, en donde
basándose en que un valor del primer indicador es 1, la información de cabecera de segmento incluye información de ID de un primer APS que incluye primeros datos de ALF utilizados para derivar coeficientes de filtro de componente cruzado para el componente de color de Cb de las muestras de croma reconstruidas filtradas y
en donde, basándose en que un valor del segundo indicador es 1, la información de cabecera de segmento incluye información de ID de un segundo APS que incluye segundos datos de ALF utilizados para derivar coeficientes de filtro de componente cruzado para el componente de color de Cr de las muestras de croma reconstruidas filtradas.
10. El método de la reivindicación 9, en donde
los coeficientes de filtro de componente cruzado para el componente de color de Cb se obtienen en función de la información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb y de la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, y
en donde los coeficientes de filtro de componente cruzado para el componente de color de Cr se derivan en base a la información sobre los valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr y a la información sobre los signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr
11. El método de la reivindicación 7, en donde
la información de imagen incluye información sobre una unidad de árbol de codificación, y
en donde la información sobre la unidad de árbol de codificación incluye:
en donde se aplica información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cb; y
en donde se aplica información sobre si se aplica un filtro de componente cruzado al bloque actual de un componente de color de Cr.
12. El método de la reivindicación 7, en donde
la información de imagen incluye información sobre una unidad de árbol de codificación, y
en donde la información sobre la unidad de árbol de codificación incluye:
en donde se aplica información sobre un índice de conjunto de filtros de un filtro de componente cruzado al bloque actual de un componente de color de Cb; y
en donde se aplica la información sobre un índice de conjunto de filtros de un filtro de componente cruzado al bloque actual de un componente de color de Cr.
13. Un medio de almacenamiento legible por ordenador que almacena un flujo de bits generado por un método de codificación de imágenes, comprendiendo el método de codificación de imágenes:
derivar muestras de predicción para un bloque actual;
generar información relacionada con la predicción basada en las muestras de predicción;
generar muestras residuales para el bloque actual;
derivar coeficientes de transformada en base a un proceso de transformada de las muestras residuales; generar información residual basada en los coeficientes de transformada;
generar muestras reconstruidas basadas en las muestras residuales y en las muestras de predicción, incluyendo las muestras reconstruidas muestras de luma reconstruidas y muestras de croma reconstruidas; generar información relacionada con un filtro de bucle adaptativo (ALF) e información relacionada con un ALF de componente cruzado (CCALF) para las muestras reconstruidas; y
codificar información de imagen para generar el flujo de bits, en donde la información de imagen incluye la información residual, la información relacionada con la predicción, la información relacionada con el ALF y la información relacionada con el CCALF,
en donde
la información de imagen incluye un conjunto de parámetros de secuencia (SPS) e información de cabecera de segmento,
caracterizado por que el SPS incluye un indicador de ALF habilitado relacionado con si el proceso de ALF está habilitado,
en donde si el SPS incluye un indicador de CCALF habilitado relacionado con si el CCALF está habilitado se determina en base a un valor del indicador de ALF habilitado,
en donde el SPS incluye el indicador de CCALF habilitado en respuesta a una determinación de que el valor del indicador de ALF habilitado es 1,
en donde, en base a la determinación de que el valor del indicador de ALF habilitado en el SPS es 1, la información de cabecera de segmento incluye un indicador de ALF habilitado en relación con si la ALF está habilitado,
en donde, basándose en que una determinación de que un valor del indicador de ALF habilitado incluido en la información de cabecera de segmento es 1 y un valor del indicador de CCALF habilitado incluido en el SPS es 1, la información de cabecera de segmento incluye información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas,
en donde, basándose en que un valor de la información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de cabecera de segmento incluye información de identificación (ID) de un conjunto de parámetros de adaptación (APS) asociado con el CCALF para las muestras de croma reconstruidas filtradas,
en donde los datos de ALF incluidos en el APS incluyen información relacionada con un número de filtros de componente cruzado para un componente de color de Cb e información relacionada con un número de filtros de componente cruzado para un componente de color de Cr,
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, y
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr.
14. Un método de transmisión de datos para una imagen, comprendiendo el método:
obtener un flujo de bits para la imagen, en donde el flujo de bits es generado basándose en derivar muestras de predicción para un bloque actual, generar información relacionada con la predicción basándose en las muestras de predicción, generar muestras residuales para el bloque actual, derivar coeficientes de transformada basándose en un proceso de transformada para las muestras residuales, generar información residual basándose en los coeficientes de transformada, generar muestras reconstruidas basándose en las muestras residuales y en las muestras de predicción, incluyendo las muestras reconstruidas muestras de luma reconstruidas y muestras de croma reconstruidas, generar información relacionada con un filtro de bucle adaptativo (ALF) e información relacionada con un ALF de componente cruzado (CCALF) para las muestras reconstruidas, y codificar la información de imagen que incluye la información residual, la información relacionada con la predicción, la información relacionada con el ALF y la información relacionada con el CCALF; y
transmitir los datos que comprenden el flujo de bits,
en donde
la información de imagen incluye un conjunto de parámetros de secuencia (SPS) e información de cabecera de segmento,
el SPS incluye un indicador de ALF habilitado relacionado con si el proceso de ALF está habilitado,
caracterizado por que el SPS incluye un indicador de CCALF habilitado relacionado con si el CCALF está habilitado que se determina en base a un valor del indicador de ALF habilitado,
en donde el SPS incluye el indicador de CCALF habilitado en respuesta a una determinación de que el valor del indicador de ALF habilitado es 1,
en donde, en base a la determinación de que el valor del indicador de ALF habilitado en el SPS es 1, la información de cabecera de segmento incluye un indicador de ALF habilitado en relación con si la ALF está habilitado,
en donde, basándose en que una determinación de que un valor del indicador de ALF habilitado incluido en la información de cabecera de segmento es 1 y en que un valor del indicador de CCALF habilitado incluido en el SPS es 1, la información de cabecera de segmento incluye información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas,
en donde, basándose en que un valor de la información sobre si el CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de cabecera de segmento incluye información de identificación (ID) de un conjunto de parámetros de adaptación (APS) asociado con el CCALF para las muestras de croma reconstruidas filtradas,
en donde los datos de ALF incluidos en el APS incluyen información relacionada con un número de filtros de componente cruzado para un componente de color de Cb e información relacionada con un número de filtros de componente cruzado para un componente de color de Cr,
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cb, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cb e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cb, y
en donde, basándose en la información relacionada con el número de filtros de componente cruzado para el componente de color de Cr, los datos de ALF incluyen información sobre valores absolutos de los coeficientes de filtro de componente cruzado para el componente de color de Cr e información sobre signos de los coeficientes de filtro de componente cruzado para el componente de color de Cr.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962893757P | 2019-08-29 | 2019-08-29 | |
| PCT/KR2020/011600 WO2021040483A1 (ko) | 2019-08-29 | 2020-08-31 | 영상 코딩 장치 및 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2994118T3 true ES2994118T3 (en) | 2025-01-17 |
Family
ID=74685652
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20856575T Active ES2994118T3 (en) | 2019-08-29 | 2020-08-31 | Apparatus and method for coding image |
Country Status (14)
| Country | Link |
|---|---|
| US (2) | US11962767B2 (es) |
| EP (2) | EP4024857B1 (es) |
| JP (2) | JP7368602B2 (es) |
| KR (1) | KR20220044894A (es) |
| CN (2) | CN114930816B (es) |
| AU (2) | AU2020335843B2 (es) |
| CA (1) | CA3292293A1 (es) |
| ES (1) | ES2994118T3 (es) |
| FI (1) | FI4024857T3 (es) |
| HR (1) | HRP20241490T1 (es) |
| HU (1) | HUE068906T2 (es) |
| PL (1) | PL4024857T3 (es) |
| SI (1) | SI4024857T1 (es) |
| WO (1) | WO2021040483A1 (es) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021025168A1 (en) | 2019-08-08 | 2021-02-11 | Panasonic Intellectual Property Corporation Of America | System and method for video coding |
| CN120302049A (zh) | 2019-08-08 | 2025-07-11 | 松下电器(美国)知识产权公司 | 用于视频编码的系统和方法 |
| WO2021025167A1 (en) | 2019-08-08 | 2021-02-11 | Panasonic Intellectual Property Corporation Of America | System and method for video coding |
| EP4460004B9 (en) * | 2019-08-29 | 2026-04-15 | LG Electronics Inc. | Device and method for coding video on basis of filtering |
| WO2021045130A1 (en) * | 2019-09-03 | 2021-03-11 | Panasonic Intellectual Property Corporation Of America | System and method for video coding |
| KR102799921B1 (ko) | 2019-09-14 | 2025-04-25 | 바이트댄스 아이엔씨 | 크로마 디블로킹 필터링을 위한 양자화 파라미터 |
| US11343493B2 (en) * | 2019-09-23 | 2022-05-24 | Qualcomm Incorporated | Bit shifting for cross-component adaptive loop filtering for video coding |
| WO2021072177A1 (en) | 2019-10-09 | 2021-04-15 | Bytedance Inc. | Cross-component adaptive loop filtering in video coding |
| WO2021118977A1 (en) | 2019-12-09 | 2021-06-17 | Bytedance Inc. | Using quantization groups in video coding |
| CN117544777A (zh) * | 2020-01-01 | 2024-02-09 | 字节跳动有限公司 | 用于视频编解码的跨分量自适应环路滤波 |
| JP7436680B2 (ja) | 2020-01-05 | 2024-02-22 | 北京字節跳動網絡技術有限公司 | 映像コーディングのための一般制約情報 |
| EP4154529A4 (en) | 2020-05-22 | 2024-05-22 | Alibaba Group Holding Limited | METHOD AND APPARATUS FOR PROCESSING VIDEO CONTENT |
| US12015785B2 (en) * | 2020-12-04 | 2024-06-18 | Ofinno, Llc | No reference image quality assessment based decoder side inter prediction |
| EP4430825A4 (en) * | 2021-11-08 | 2025-08-20 | Beijing Dajia Internet Information Tech Co Ltd | ADAPTIVE CROSS-COMPONENT SAMPLE SHIFT |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8861617B2 (en) * | 2010-10-05 | 2014-10-14 | Mediatek Inc | Method and apparatus of region-based adaptive loop filtering |
| US9363509B2 (en) | 2011-03-03 | 2016-06-07 | Electronics And Telecommunications Research Institute | Method for determining color difference component quantization parameter and device using the method |
| WO2012142966A1 (en) | 2011-04-21 | 2012-10-26 | Mediatek Inc. | Method and apparatus for improved in-loop filtering |
| CN103535035B (zh) * | 2011-05-16 | 2017-03-15 | 寰发股份有限公司 | 用于亮度和色度分量的样本自适应偏移的方法和装置 |
| US20120294353A1 (en) | 2011-05-16 | 2012-11-22 | Mediatek Inc. | Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components |
| US9807403B2 (en) * | 2011-10-21 | 2017-10-31 | Qualcomm Incorporated | Adaptive loop filtering for chroma components |
| BR122020017515B1 (pt) | 2012-01-20 | 2022-11-22 | Electronics And Telecommunications Research Institute | Método de decodificação de vídeo |
| US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
| US10057574B2 (en) | 2015-02-11 | 2018-08-21 | Qualcomm Incorporated | Coding tree unit (CTU) level adaptive loop filter (ALF) |
| WO2016204374A1 (ko) | 2015-06-18 | 2016-12-22 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
| JP6588745B2 (ja) * | 2015-06-24 | 2019-10-09 | 日本放送協会 | シーンチェンジ検出装置、及びそのプログラム |
| KR102741824B1 (ko) * | 2015-07-08 | 2024-12-11 | 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 | 교차 평면 필터링을 이용한 향상된 크로마 코딩 |
| EP3360329A4 (en) * | 2015-11-18 | 2019-04-10 | MediaTek Inc. | METHOD AND DEVICE FOR AN INTRAPRADICATION MODE WITH AN INTRAPREDICATION FILTER FOR VIDEO AND IMAGE COMPRESSION |
| US10419757B2 (en) * | 2016-08-31 | 2019-09-17 | Qualcomm Incorporated | Cross-component filter |
| KR102524628B1 (ko) * | 2018-01-05 | 2023-04-21 | 에스케이텔레콤 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
| GB2586484B (en) | 2019-08-20 | 2023-03-08 | Canon Kk | A filter |
| JP7368145B2 (ja) * | 2019-08-28 | 2023-10-24 | シャープ株式会社 | 画像符号化装置、および、画像復号装置 |
| US12047568B2 (en) * | 2019-08-29 | 2024-07-23 | Lg Electronics Inc. | Cross-component adaptive loop filtering-based image coding apparatus and method |
| EP4460004B9 (en) | 2019-08-29 | 2026-04-15 | LG Electronics Inc. | Device and method for coding video on basis of filtering |
-
2020
- 2020-08-31 HR HRP20241490TT patent/HRP20241490T1/hr unknown
- 2020-08-31 EP EP20856575.4A patent/EP4024857B1/en active Active
- 2020-08-31 KR KR1020217027879A patent/KR20220044894A/ko active Pending
- 2020-08-31 ES ES20856575T patent/ES2994118T3/es active Active
- 2020-08-31 SI SI202030511T patent/SI4024857T1/sl unknown
- 2020-08-31 JP JP2022513641A patent/JP7368602B2/ja active Active
- 2020-08-31 EP EP24200447.1A patent/EP4456537A3/en active Pending
- 2020-08-31 CN CN202080073414.0A patent/CN114930816B/zh active Active
- 2020-08-31 CA CA3292293A patent/CA3292293A1/en active Pending
- 2020-08-31 HU HUE20856575A patent/HUE068906T2/hu unknown
- 2020-08-31 US US17/639,264 patent/US11962767B2/en active Active
- 2020-08-31 CN CN202510631052.7A patent/CN120343244A/zh active Pending
- 2020-08-31 AU AU2020335843A patent/AU2020335843B2/en active Active
- 2020-08-31 FI FIEP20856575.4T patent/FI4024857T3/fi active
- 2020-08-31 PL PL20856575.4T patent/PL4024857T3/pl unknown
- 2020-08-31 WO PCT/KR2020/011600 patent/WO2021040483A1/ko not_active Ceased
-
2023
- 2023-10-12 JP JP2023176672A patent/JP7546743B2/ja active Active
-
2024
- 2024-03-21 US US18/612,610 patent/US12355958B2/en active Active
- 2024-04-10 AU AU2024202278A patent/AU2024202278B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20240236315A1 (en) | 2024-07-11 |
| PL4024857T3 (pl) | 2024-12-16 |
| CN114930816A (zh) | 2022-08-19 |
| CA3152831A1 (en) | 2021-03-04 |
| EP4456537A3 (en) | 2024-12-04 |
| HRP20241490T1 (hr) | 2025-01-03 |
| JP2022545837A (ja) | 2022-10-31 |
| US20220345697A1 (en) | 2022-10-27 |
| JP7546743B2 (ja) | 2024-09-06 |
| EP4024857A4 (en) | 2023-06-28 |
| US12355958B2 (en) | 2025-07-08 |
| JP7368602B2 (ja) | 2023-10-24 |
| US11962767B2 (en) | 2024-04-16 |
| EP4456537A2 (en) | 2024-10-30 |
| CN114930816B (zh) | 2025-06-10 |
| KR20220044894A (ko) | 2022-04-12 |
| AU2024202278A1 (en) | 2024-05-02 |
| WO2021040483A1 (ko) | 2021-03-04 |
| AU2020335843B2 (en) | 2024-01-11 |
| SI4024857T1 (sl) | 2025-02-28 |
| CN120343244A (zh) | 2025-07-18 |
| EP4024857B1 (en) | 2024-10-02 |
| JP2023171608A (ja) | 2023-12-01 |
| AU2024202278B2 (en) | 2025-11-06 |
| FI4024857T3 (fi) | 2024-11-04 |
| AU2020335843A1 (en) | 2022-04-14 |
| CA3292293A1 (en) | 2026-03-02 |
| HUE068906T2 (hu) | 2025-02-28 |
| EP4024857A1 (en) | 2022-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2994118T3 (en) | Apparatus and method for coding image | |
| ES2994299T3 (en) | Device and method for coding video on basis of filtering | |
| ES3039321T3 (en) | Cross-component adaptive loop filtering-based image coding apparatus and method | |
| US12284355B2 (en) | In-loop filtering-based image coding apparatus and method | |
| KR20220044766A (ko) | 크로스 컴포넌트 필터링 기반 영상 코딩 장치 및 방법 | |
| ES3057716T3 (en) | Syntax design method and apparatus for performing coding by using syntax | |
| KR102848127B1 (ko) | 적응적 루프 필터링 기반 영상 코딩 장치 및 방법 | |
| ES3041151T3 (en) | Coding of information about transform kernel set | |
| US20260075239A1 (en) | Apparatus for performing image coding on basis of atmvp candidate | |
| ES2987119T3 (es) | Dispositivo y método de codificación de imágenes basado en filtrado | |
| ES2988060T3 (es) | Método y dispositivo para eliminar la sintaxis redundante de la sintaxis de datos de fusión | |
| ES3056657T3 (en) | Filtering-based image coding methods | |
| ES2976723T3 (es) | Método y dispositivo de codificación de imagen/vídeo | |
| CN114586354B (zh) | 基于矩阵的帧内预测设备和方法 | |
| CA3152831C (en) | Image encoding and decoding using adaptive loop and cross-component filtering | |
| RU2784417C1 (ru) | Способ и устройство для кодирования изображений с использованием разностей векторов движения | |
| RU2807256C2 (ru) | Оборудование и способ для кодирования изображения | |
| RU2807635C2 (ru) | Способ и устройство для кодирования изображений с использованием разностей векторов движения |