ES2988489T3 - Procedimientos de codificación de imágenes basados en un filtrado - Google Patents
Procedimientos de codificación de imágenes basados en un filtrado Download PDFInfo
- Publication number
- ES2988489T3 ES2988489T3 ES20898548T ES20898548T ES2988489T3 ES 2988489 T3 ES2988489 T3 ES 2988489T3 ES 20898548 T ES20898548 T ES 20898548T ES 20898548 T ES20898548 T ES 20898548T ES 2988489 T3 ES2988489 T3 ES 2988489T3
- Authority
- ES
- Spain
- Prior art keywords
- information
- image
- reference image
- virtual boundaries
- 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/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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/172—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 picture, frame or field
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
- Color Television Systems (AREA)
Abstract
Según las realizaciones descritas en el presente documento, se pueden utilizar subimágenes y/o límites virtuales para codificar una imagen. Por ejemplo, se pueden utilizar subimágenes en la imagen actual para predecir, reconstruir y/o filtrar la imagen actual. Se pueden utilizar límites virtuales para filtrar muestras reconstruidas de la imagen actual. A través de la codificación de imágenes basada en las subimágenes y/o límites virtuales según las realizaciones descritas en el presente documento, se puede mejorar la calidad subjetiva/objetiva de una imagen y se puede reducir el consumo de recursos de hardware necesarios para la codificación. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Procedimientos de codificación de imágenes basados en un filtrado
ANTECEDENTES DE LA DESCRIPCIÓN
Campo de la descripción
El presente documento se refiere a un aparato y un procedimiento de codificación de imágenes basado en un filtrado. Técnica relacionada
Recientemente, la demanda de imágenes/vídeo de alta resolución y alta calidad, como imágenes/vídeo de ultra alta definición (UHD) de 4K, 8K o superior, aumentó en varios 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 en relación con los datos de imagen/vídeo existentes y, por consiguiente, la transmisión de 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 el almacenamiento de datos de imagen/vídeo utilizando un medio de almacenamiento existente aumenta el costo de transmisión y el de almacenamiento.
Además, el interés y la demanda de medios inmersivos, como el contenido de realidad virtual (Virtual Reality, VR) y realidad artificial (Artificial Reality, AR) u hologramas aumentó recientemente y la transmisión de imágenes/video está teniendo características diferentes de las imágenes de la realidad, como las imágenes de juegos.
Por consiguiente, se requiere una tecnología de compresión de imagen/vídeo altamente efectiva para comprimir, transmitir, almacenar y reproducir de manera efectiva la información de una imagen/vídeo de alta resolución y alta calidad que tenga varias características como se describió antes.
Específicamente, se realiza un procedimiento de filtrado en bucle para aumentar la calidad visual subjetiva/objetiva, y se analiza un esquema para aumentar la eficiencia de señalización de la información para realizar el filtrado en bucle según los límites virtuales. Además, hay una revisión continua sobre la aplicación de subimágenes para mejorar el rendimiento de la predicción y la reconstrucción en la codificación de imágenes.
El documento JVET-P2001, del Equipo Conjunto de Expertos en Vídeo (JVET) de ITU-T SG 16 WP 3 e ISO/IEC JTC 1/SC 29/WG 11, "Versatile Video Coding (Draft 7)", 16to encuentro, Ginebra, 1-11 de octubre de 2019, proporciona un 7° borrador de la memoria descriptiva de la norma de Codificación de Vídeo Versatil (Versatile Video Coding, VVC). El documento JVET-1006-v2, de la JVET de ITU-T SG 16 WP 3 e ISO/IEC JTC 1/SC 29/WG 11, "AHG17: Text for picture header", 16ta encuentro, Ginebra, 1-11 de octubre de 2019, propone un texto para un encabezado de imagen de VVC.
Compendio
La invención se define en las reivindicaciones adjuntas.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La FIG. 1 muestra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen al que se pueden aplicar realizaciones de la presente descripción.
La FIG. 2 es una vista que ilustra esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que se pueden aplicar realizaciones de la presente descripción.
La FIG. 3 es una vista que ilustra esquemáticamente la configuración de un aparato de decodificación de vídeo/imagen al que se pueden aplicar realizaciones de la presente descripción.
La FIG. 4 muestra a modo de ejemplo una arquitectura jerárquica para un vídeo/imagen codificado(a).
La FIG. 5 es un diagrama de flujo que ilustra un procedimiento de codificación basado en el filtrado en un aparato de codificación.
La FIG. 6 es un diagrama de flujo que ilustra un procedimiento de decodificación basado en el filtrado en un aparato de decodificación.
La FIG. 7 y la FIG. 8 muestran esquemáticamente un ejemplo de un procedimiento de codificación de vídeo/imagen y componentes relacionados según una o más realizaciones del presente documento.
La FIG. 9 y la FIG. 10 muestran esquemáticamente un ejemplo de un procedimiento de decodificación de imagen/vídeo y componentes relacionados según una o más realizaciones del presente documento.
La FIG. 11 muestra un ejemplo de un sistema de streaming de contenido al que se pueden aplicar las realizaciones descritas en el presente documento.
DESCRIPCIÓN DE LAS REALIZACIONES EJEMPLARES
La presente descripción se puede modificar de diversas formas y, en los dibujos, se describirán e ilustrarán realizaciones específicas de la misma. Sin embargo, las realizaciones no pretenden limitar la descripción. Los términos utilizados en la siguiente descripción se utilizan simplemente para describir realizaciones específicas, pero no pretenden limitar la descripció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, por consiguiente, se debe entender 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.
Además, cada configuración de los dibujos descritos en este documento es una ilustración independiente para explicar las funciones como características que son diferentes entre sí, y no significa que cada configuración se implemente mediante hardware o software mutuamente diferentes. Por ejemplo, dos o más de las configuraciones se pueden combinar para formar una configuración, y una configuración también se puede dividir en múltiples configuraciones.
En lo sucesivo, se describirán ejemplos de la presente realización en detalle y con referencia a los dibujos adjuntos. Además, los números de referencia similares se utilizan para indicar elementos similares a lo largo de los dibujos y se omitirán las mismas descripciones en los elementos similares.
Este documento se refiere a la codificación de vídeo/imagen. Por ejemplo, los procedimientos/realizaciones descritos(as) en esta invención pueden estar relacionados con la norma de codificación de video versátil (VVC) (ITU-T Rec. H.266), la norma de codificación de vídeo/imagen de próxima generación después de VVC, u otras normas relacionadas con la codificación de vídeo (por ejemplo, la norma de codificación de vídeo de alta eficiencia (High Efficiency Video Coding, HEVC) (ITU-T Rec. H.265), la norma de codificación de vídeo esencial (Essential Video Coding, EVC), la norma AVS2 y similares).
Este documento sugiere varias realizaciones de codificación de vídeo/imagen, y las realizaciones anteriores también se pueden realizar en combinación entre sí a menos que se especifique lo contrario.
En este documento, un vídeo puede hacer referencia a una serie de imágenes a lo largo del tiempo. Una imagen en general se refiere al conjunto que representa una imagen en un marco de tiempo particular, y un fragmento/mosaico se refiere al conjunto que constituye una parte de la imagen en términos de codificación. Un fragmento/mosaico puede incluir uno o más conjuntos de árbol de codificación (Coding Tree Units, CTU). Una imagen puede consistir en uno o más fragmentos/mosaicos. Una imagen puede consistir en uno o más grupos de mosaicos. Un grupo de mosaicos puede incluir uno o más mosaicos.
Un píxel o un pel puede significar el conjunto más pequeño que constituye una imagen (o imagen). Además, "muestra" se puede usar como un término correspondiente a un píxel. Una muestra puede representar en general 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.
Un conjunto puede representar un conjunto básico de procesamiento de imágenes. El conjunto puede incluir al menos una de una región específica de la imagen e información relacionada con la región. Un conjunto puede incluir un bloque de luma y dos bloques de croma (por ejemplo, cb, cr). El conjunto se puede usar indistintamente con términos 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 se transforma en el dominio de frecuencia, puede significar un coeficiente de transformada en el dominio de frecuencia.
En este documento, el término "/' se debe interpretar como que indica "y/o". Por ejemplo, la expresión "A/B" puede significar "A y/o B". Además, "A, B" puede significar "A y/o B". Además, "A/B/C" puede significar "al menos uno de A, B y/o C". Además, "A/B/C" puede significar "al menos uno de A, B y/o C".
Por otra parte, en el documento, el término "o" se debe interpretar como que indica "y/o". Por ejemplo, la expresión "A o B" puede comprender 1) solo A, 2) solo B y/o 3) tanto A como B. En otras palabras, el término "o" en este documento se debe interpretar como que indica "adicional o alternativamente".
En la presente memoria descriptiva, "al menos uno de A y B" puede significar "solo A", "solo B" o "tanto A como B". Además, en la presente memoria descriptiva, la expresión "al menos uno de A o B" o "al menos uno de A y/o B" se puede interpretar igual que "al menos uno de A y B".
Además, en la presente memoria descriptiva, "al menos uno de A, B y C" puede significar "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 memoria descriptiva pueden significar "por ejemplo". Específicamente, en el caso de que se exprese la frase "predicción (intrapredicción)", se podría decir que "intrapredicción" se propone como un ejemplo de "predicción". En otras palabras, el término "predicción" en la presente memoria descriptiva no se limita a "intrapredicción", y se puede indicar que "intrapredicción" se propone como un ejemplo de "predicción". Además, incluso en el caso de que se exprese "predicción (es decir, intrapredicción)", se puede indicar que "intrapredicción" se propone como un ejemplo de "predicción".
En la presente memoria descriptiva, las características técnicas explicadas individualmente en un dibujo se pueden implementar individualmente, o pueden en simultáneo.
La FIG. 1 ilustra un ejemplo de un sistema de codificación de vídeo/imagen al que se puede aplicar la descripción del presente documento.
Con referencia a la FIG. 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo fuente y un dispositivo de recepción. El dispositivo fuente puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio de almacenamiento digital o red en forma de un archivo o streaming.
El dispositivo fuente puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo receptor puede incluir un receptor, un aparato de decodificación y un renderizador. El aparato de codificación se puede denominar aparato de codificación de vídeo/imagen, y el aparato de decodificación se puede denominar aparato de decodificación de vídeo/imagen. El transmisor se puede incluir en el aparato de codificación. El receptor se puede incluir en el aparato de decodificación. El renderizador puede incluir una pantalla, y la pantalla se puede configurar como un dispositivo separado o un componente externo.
La fuente de vídeo puede adquirir vídeo/imagen a través de un procedimiento de captura, síntesis o generación del vídeo/imagen. La fuente de vídeo puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo de generación de vídeo/imagen. El dispositivo de captura de vídeo/imagen puede incluir, por ejemplo, una o más cámaras, archivos de vídeo/imagen que incluyen vídeo/imágenes capturados previamente y similares. El dispositivo de generación 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 procedimiento de captura de vídeo/imagen se puede sustituir por un procedimiento de generación de datos relacionados.
El aparato de codificación codifica vídeo/imagen de entrada. El aparato de codificación puede realizar una serie de procedimientos tales como predicción, transformada y cuantificación para compactación y eficiencia de codificación. Los datos codificados (información codificada de vídeo/imagen) se emiten en forma de un flujo de bits.
El transmisor transmite la imagen/información de imagen codificada o la salida de datos en forma de un flujo de bits al receptor del dispositivo receptor a través de un medio de almacenamiento digital o una red en forma de un archivo o streaming. El medio de almacenamiento digital puede incluir varios 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 decodificación.
El aparato de decodificación decodifica el vídeo/imagen realizando una serie de procedimientos tales como descuantificación, transformada inversa y predicción correspondiente al funcionamiento del aparato de codificación.
El renderizador representa el vídeo/imagen decodificados. El vídeo/imagen renderizado se puede visualizar a través de la pantalla.
La FIG. 2 es un diagrama que ilustra esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que se puede aplicar la descripción del presente documento. En lo sucesivo, lo que se denomina el aparato de codificación de vídeo incluye un aparato de codificación de imágenes.
Con referencia a la FIG. 2, el aparato de codificación 200 puede incluir y estar configurado con un particionador de imágenes 210, un predictor 220, un procesador residual 230, un codificador entrópico 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 sustractor 231. El sumador 250 se puede denominar reconstructor o generador de bloques reconstruidos. El particionador de imágenes 210, el predictor 220, el procesador residual 230, el codificador de entropía 240, el sumador 250 y el filtro 260, que se describieron anteriormente, se pueden configurar mediante uno o más componentes de hardware (por ejemplo, conjuntos de chips o procesadores de codificación) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes decodificadas (Decoded Picture Buffer, DPB), y también se puede configurar mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El particionador de imágenes 210 puede dividir una imagen de entrada (o, imagen, fotograma) introducida en el aparato de codificación 200 en uno o más conjuntos de procesamiento. Por ejemplo, el conjunto de procesamiento se puede denominar conjunto de codificación (Codification Unit, CU). En este caso, el conjunto de codificación se puede dividir recursivamente según una estructura de árbol ternario de árbol binario de árbol cuádruple (Quad-tree Binary-tree Ternary-tree, QTBTTT) de un conjunto de árbol de codificación (CTU) o el conjunto de codificación más grande (Largerst Coding Unit, LCU). Por ejemplo, un conjunto de codificación se puede dividir en una pluralidad de conjuntos de codificación de una profundidad más profunda según una estructura de árbol cuádruple, una estructura de árbol binario y/o una estructura de árbol ternario. En este caso, por ejemplo, primero se aplica la estructura de árbol cuádruple y, a continuación, se puede aplicar la estructura de árbol binario y/o la estructura de árbol ternario. Alternativamente, la estructura de árbol binario también se puede aplicar primero. Un procedimiento de codificación según la presente descripción se puede realizar según un conjunto de codificación final que ya no se divide. En este caso, según la eficiencia de codificación según las características de la imagen o similares, el conjunto de codificación máximo se puede usar directamente como el conjunto de codificación final, o según sea necesario, el conjunto de codificación se puede dividir recursivamente en conjuntos de codificación de una mayor profundidad, de modo que un conjunto de codificación que tiene un tamaño óptimo se puede usar como el conjunto de codificación final. Aquí, el procedimiento de codificación puede incluir un procedimiento tal como predicción, transformada y reconstrucción que se describirá más adelante. Como otro ejemplo, el conjunto de procesamiento puede incluir además un conjunto de predicción (Prediction Unit, PU) o un conjunto de transformada (Transform Unit, TU). En este caso, cada uno del conjunto de predicción y el conjunto de transformada se puede dividir o separar del conjunto de codificación final mencionado anteriormente. El conjunto de predicción puede ser un conjunto de predicción de muestra, y el conjunto de transformada puede ser un conjunto para inducir un coeficiente de transformada y/o un conjunto para inducir una señal residual a partir del coeficiente de transformada.
El conjunto se puede usar indistintamente con el término, como un bloque o un área en algunos casos. En general, un bloque MxN puede representar muestras compuestas de M columnas y N filas o un grupo de coeficientes de transformada. La muestra puede representar en general un píxel o un valor del píxel, y también puede representar solo el valor de píxel/píxel de un componente de luma, y también representar solo el valor de píxel/píxel de un componente de croma. La muestra se puede usar como el término correspondiente a un píxel o un pel que configura una foto (o una imagen).
El sustractor 231 puede generar una señal residual (bloque residual, muestras residuales o matriz de muestras residuales) restando una señal de predicción (bloque predicho, muestras de predicción o matriz de muestras de predicción) emitida desde el predictor 220 de una señal de imagen de entrada (bloque original, muestras originales o matriz de muestras originales), y la señal residual generada se transmite al transformador 232. El predictor 220 puede realizar la predicción para un bloque diana de procesamiento (denominado en lo sucesivo, "bloque actual"), y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor 220 puede determinar si la intrapredicción o la interpredicción se aplica en un bloque actual o en un conjunto CU. Como se describe más adelante en la descripción de cada modo de predicción, el predictor puede generar diversos tipos de información relacionada con la predicción, tal como información de modo de predicción, y transferir la información generada al codificador entrópico 240. La información sobre la predicción se puede codificar en el codificador entrópico 240 y emitir en forma de un flujo de bits.
El intrapredictor 222 puede predecir un bloque actual con referencia a muestras dentro de una imagen actual. Las muestras a las que se hace referencia pueden estar ubicadas vecinas al bloque actual, o también pueden estar ubicadas lejos del bloque actual según el modo de predicción. Los modos de predicción en la intrapredicció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 o 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 fino de la dirección de predicción. Sin embargo, esto es ilustrativo y los modos de predicción direccional que son más o menos que el número anterior se pueden usar según la configuración. El intrapredictor 222 también puede determinar el modo de predicción aplicado al bloque actual utilizando el modo de predicción aplicado al bloque vecino.
El interpredictor 221 puede inducir un bloque predicho del bloque actual según un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este momento, con el fin de disminuir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento se puede predecir en conjuntos de un bloque, un subbloque o una muestra según la 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 dirección de interpredicción (predicción L0, predicción L1, predicción Bi o similares). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial existente dentro de la imagen actual y un bloque vecino temporal existente 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 también pueden ser iguales entre sí, y también pueden ser diferentes entre sí. El bloque vecino temporal se puede llamar el nombre tal como un bloque de referencia colocado, un CU colocado (colCU) o similares, y la imagen de referencia que incluye el bloque vecino temporal también se puede denominar como imagen colocada (colPic). Por ejemplo, el interpredictor 221 puede configurar una lista de candidatos de información de movimiento según los bloques vecinos, y generar información que indique qué candidato se utiliza para derivar el vector de movimiento y/o el índice de imagen de referencia del bloque actual. La interpredicción se puede realizar según varios modos de predicción y, por ejemplo, en el caso de un modo de omisión y un modo de fusión, el interpredictor 221 puede usar la información de movimiento del bloque vecino como la información de movimiento del bloque actual. En el caso del modo de omisión, la señal residual no se puede transmitir a diferencia del modo de fusión. Un modo de predicción del vector de movimiento (Motion Vector Prediction, MVP) puede indicar el vector de movimiento del bloque actual utilizando el vector de movimiento del bloque vecino como un predictor del vector de movimiento y señalizando una diferencia del vector de movimiento.
El predictor 220 puede generar una señal de predicción según varios procedimientos de predicción descritos a continuación. Por ejemplo, el predictor no solo puede aplicar la intrapredicción o la interpredicción para predecir un bloque, sino también aplicar simultáneamente tanto la intrapredicción como la interpredicción. Esto se puede denominar inter e intrapredicción combinada (Combined Inter and Intra Prediction, CIIP). Además, el predictor puede realizar una copia intrabloque (IBC) para la predicción de un bloque. La copia intrabloque se puede utilizar para la codificación de imágenes de contenido/imágenes en movimiento de un juego o similares, por ejemplo, codificación de contenido de pantalla (Screen Content Coding, SCC). La IBC básicamente realiza la predicción en la imagen actual, pero se puede realizar de manera similar a la interpredicción 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 el presente documento.
La señal de predicción generada a través del interpredictor 221 y/o el intrapredictor 222 se puede usar para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada mediante la aplicación de una técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada puede incluir al menos uno de una transformada de coseno discreta (Discrete Cosine Transform, DCT), una transformada de seno discreta (Discrete Sine Transform, DST), una transformada basada en gráficos (Graphbased Transform, GBT) o una transformada condicionalmente no lineal (Conditionally Non-linear Transform, CNT). Aquí, la GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles está representada por el gráfico. La CNT se refiere a la transformada obtenida según una señal de predicción generada utilizando todos los píxeles reconstruidos previamente. Además, el procedimiento de transformada se puede aplicar a bloques de píxeles cuadrados que tienen el mismo tamaño, o se puede aplicar a bloques que tienen un tamaño variable en lugar de un cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador entrópico 240, y el codificador entrópico 240 puede codificar la señal cuantificada (información sobre los coeficientes de transformada cuantificados) y emitir un flujo de bits. La información sobre los coeficientes de transformada cuantificados se puede denominar como información residual. El cuantificador 233 puede reorganizar los coeficientes de transformada cuantificados de tipo bloque en una forma vectorial unidimensional según un orden de escaneo de coeficientes, y generar información sobre los coeficientes de transformada cuantificados según los coeficientes de transformada cuantificados en la forma vectorial unidimensional. El codificador entrópico 240 puede realizar varios procedimientos de codificación tales como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (Context-Adaptive Variable Coding, CAVLC), codificación aritmética binaria adaptativa al contexto (Context-Adaptive Binary Arithmetic Coding, CABAC) y similares. El codificador entrópico 240 puede codificar la información necesaria para la reconstrucción de vídeo/imagen junto con o por separado de los coeficientes de transformada cuantificados (por ejemplo, valores de elementos sintácticos y similares). La información codificada (por ejemplo, información de vídeo/imagen codificada) se puede transmitir o almacenar en el conjunto de una capa de abstracción de red (NAL) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre varios conjuntos de parámetros, tal como un conjunto de parámetros de adaptación (Adaptation Parameter Set, APS), un conjunto de parámetros de imagen (Picture Parameter Set, PPS), un conjunto de parámetros de secuencia (Sequence Parameter Set, SPS) o un conjunto de parámetros de vídeo (Video Parameter Set, VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. En el presente documento, la información y/o los elementos sintácticos que se señalizan/transmiten para su posterior descripción se pueden codificar a través del procedimiento de codificación antes descrito, y se pueden incluir en el flujo de bits. El flujo de bits se puede transmitir a través de una red o se puede almacenar en un medio de almacenamiento digital. En este caso, la red puede incluir una red de difusió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 se ilustra) que transmite una señal de salida desde el codificador entrópico 240 y/o un conjunto de almacenamiento (no se ilustra) que almacena la señal se puede configurar como un elemento interno/externo del aparato de codificación 200, y alternativamente, el transmisor se puede incluir en el codificador entrópico 240.
Los coeficientes de transformada cuantificados emitidos desde el cuantificador 233 se pueden usar 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 transformada inversa a los coeficientes de transformada cuantificados a través del descuantificador 234 y el transformador inverso 235. El sumador 250 añade la señal residual reconstruida a la salida de señal de predicción del predictor 220 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, muestras reconstruidas o matriz de muestras reconstruida). Si no hay un residuo para el bloque diana de procesamiento, tal como un caso donde se aplica un modo de omisión, el bloque predicho se puede usar como el bloque reconstruido. La señal reconstruida generada se puede usar para la intrapredicción de un siguiente bloque diana de procesamiento en la imagen actual, y se puede usar para la interpredicción de una siguiente imagen a través del filtrado como se describe a continuación.
Mientras tanto, el mapeo de luma con escalado de croma (Lumia Mapping With Chroma Scaling, LMCS) se puede aplicar durante un procedimiento de 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 procedimientos de filtrado a la imagen reconstruida, y almacenar la imagen reconstruida modificada en la memoria 270, específicamente, en una DPB de la memoria 270. Los diversos procedimientos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra (Sample Adaptive Offset, SAO), un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversos tipos de información relacionada con el filtrado, y transferir la información generada al codificador entrópico 290 como se describe más adelante en la descripción de cada procedimiento de filtrado. La información relacionada con el filtrado se puede codificar mediante el codificador entrópico 290 y emitir en forma de un flujo de bits.
La imagen reconstruida modificada transmitida a la memoria 270 se puede usar como una imagen de referencia en el interpredictor 221. Cuando la interpredicción se aplica a través del aparato de codificación, se puede impedir la falta de coincidencia de predicción entre el aparato de codificación 200 y el aparato de decodificación y se puede mejorar la eficiencia de codificación.
La DPB de la memoria 270 puede almacenar la imagen reconstruida modificada para su uso como imagen de referencia en el interpredictor 221. La memoria 270 puede almacenar información de movimiento de un bloque a partir del cual se deriva (o codifica) la información de movimiento en la imagen actual y/o información de movimiento de bloques en la imagen, que ya se reconstruyó. La información de movimiento almacenada se puede transferir al interpredictor 221 para su uso como información de movimiento del bloque vecino espacial o 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 para explicar esquemáticamente la configuración de un aparato de decodificación de vídeo/imagen al que se puede aplicar la descripción del presente documento.
Con referencia a la FIG. 3, el aparato de decodificación 300 puede incluir y se puede configurar con un decodificador entrópico 310, un procesador residual 320, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un inter predictor 331 y un intra predictor 332. El procesador residual 320 puede incluir un descuantificador 321 y un transformador inverso 322. El decodificador entrópico 310, el procesador residual 320, el predictor 330, el sumador 340 y el filtro 350, que describieron anteriormente, se pueden configurar mediante uno o más componentes de hardware (por ejemplo, conjuntos de chip o procesadores del decodificador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes decodificadas (DPB) y 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 el flujo de bits que incluye la información de vídeo/imagen, el aparato de decodificación 300 puede reconstruir la imagen en respuesta a un procedimiento donde la información de vídeo/imagen se procesa en el aparato de codificación ilustrado en la FIG. 2. Por ejemplo, el aparato de decodificación 300 puede derivar los conjuntos/bloques según la información relacionada con la división de bloques adquirida a partir del flujo de bits. El aparato de decodificación 300 puede realizar la decodificación usando el conjunto de procesamiento aplicada al aparato de codificación. Por lo tanto, el conjunto de procesamiento para la decodificación puede ser, por ejemplo, un conjunto de codificación, y el conjunto de codificación se puede dividir según la estructura de árbol cuádruple, la estructura de árbol binario y/o la estructura de árbol ternario del conjunto de árbol de codificación o el conjunto de codificación máxima. Del conjunto de codificación, se pueden derivar uno o más conjuntos de transformada. Además, la señal de imagen reconstruida decodificada y emitida a través del aparato de decodificación 300 se puede reproducir a través de un aparato de reproducción.
El aparato de decodificación 300 puede recibir una señal emitida desde el aparato de codificación de la Figura 2 en forma de un flujo de bits, y la señal recibida se puede decodificar a través del decodificador entrópico 310. Por ejemplo, el decodificador entrópico 310 puede analizar el flujo de bits para derivar información (por ejemplo, información de vídeo/imagen) necesaria para la reconstrucción de imágenes (o reconstrucción de imágenes). 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 además información de restricción general. El aparato de decodificación puede decodificar además una imagen según la información en el conjunto de parámetros y/o la información de restricción general. La información señalada/recibida y/o los elementos sintácticos descritos más adelante en este documento se pueden decodificar, pueden decodificar el procedimiento de decodificación y se pueden obtener a partir del flujo de bits. Por ejemplo, el decodificador entrópico 310 decodifica la información en el flujo de bits según un procedimiento de codificación tal como codificación de Golomb exponencial, CAVLC o CABAC, y elementos sintácticos de salida necesarios para la reconstrucción de imágenes y valores cuantificados de coeficientes de transformada para residual. Más específicamente, el procedimiento de decodificación entrópica CABAC puede recibir un bin correspondiente a cada elemento sintáctico en el flujo de bits, determinar un modelo de contexto mediante el uso de una información de elemento sintáctico objetivo de decodificación, información de decodificación de un bloque diana de decodificación o información de un símbolo/bin decodificado en una etapa anterior, y realizar una decodificación aritmética en el bin prediciendo una probabilidad de ocurrencia 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 procedimiento de decodificación entrópica CABAC puede actualizar el modelo de contexto utilizando la información del símbolo/bin decodificado 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 decodificada por el decodificador entrópico 310 se puede proporcionar al predictor 330, y la información sobre el residuo donde se ha realizado la decodificación entrópica en el decodificador entrópico 310, es decir, los coeficientes de transformada cuantificados y la información de parámetros relacionada, se puede introducir en el descuantificador 321. Además, la información sobre el filtrado entre la información decodificada por el decodificador entrópico 310 se puede proporcionar al filtro 350. Mientras tanto, un receptor (no se ilustra) para recibir una señal de salida desde el aparato de codificación puede estar configurado además como un elemento interno/externo del aparato de decodificación 300, o el receptor puede ser un elemento constituyente del decodificador entrópico 310. Mientras tanto, el aparato de decodificación según el presente documento se puede denominar aparato de decodificación de video/imagen/imagen, y el aparato de decodificación se puede clasificar en un decodificador de información (decodificador de información de video/imagen/imagen) y un decodificador de muestra (decodificador de muestra de video/imagen/imagen). El decodificador de información puede incluir el decodificador entrópico 310, y el decodificador de muestra 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 para generar los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en una forma de bloque bidimensional. En este caso, la reorganización se puede realizar según un orden de escaneo de coeficientes realizado por el aparato de codificación. El descuantificador 321 puede realizar la descuantificación para los coeficientes de transformada cuantificados usando un parámetro de cuantificación (por ejemplo, información de tamaño de paso de cuantificación), y adquirir los coeficientes de transformada.
El transformador inverso 322 transforma inversamente los coeficientes de transformada para adquirir la señal residual (bloque residual, matriz de muestras residual).
El predictor 330 puede realizar la predicción del bloque actual y generar un bloque predicho que incluye las muestras de predicción del bloque actual. El predictor puede determinar si se aplica la intrapredicción o la interpredicción se aplica al bloque actual según la información sobre la salida de predicción del decodificador entrópico 310, y determinar un modo de intra/interpredicción específico.
El predictor puede generar una señal de predicción según varios procedimientos de predicción descritos a continuación. Por ejemplo, el predictor no solo puede aplicar la intrapredicción o la interpredicción para predecir un bloque, sino también aplicar simultáneamente la intrapredicción y la interpredicción. Esto se puede denominar inter e intrapredicción combinada (CIIP). Además, el predictor puede realizar una copia intrabloque (IBC) para la predicción de un bloque. La copia intrabloque se puede utilizar para la codificación de imágenes de contenido/imágenes en movimiento de un juego o similares, por ejemplo, codificación de contenido de pantalla (SCC). La IBC básicamente realiza la predicción en la imagen actual, pero se puede realizar de manera similar a la interpredicción 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 el presente documento.
El intrapredictor 332 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en la vecindad del bloque actual, o pueden estar ubicadas aparte del bloque actual 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 332 puede determinar el modo de predicción que se aplicará al bloque actual mediante el uso del modo de predicción aplicado al bloque vecino.
El interpredictor 331 puede derivar un bloque predicho para el bloque actual según 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 que se transmite en el modo de interpredicción, la información de movimiento se puede predecir en el conjunto de bloques, subbloques o muestras según la 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 sobre la dirección de interpredicción (predicción L0, predicción L1, predicción Bi y similares). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente en la imagen de referencia. Por ejemplo, el interpredictor 331 puede construir una lista de candidatos de información de movimiento según bloques vecinos, y derivar un vector de movimiento del bloque actual y/o un índice de imagen de referencia según la información de selección de candidatos recibida. La interpredicción se puede realizar según varios 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 o matriz de muestras reconstruida) añadiendo la señal residual obtenida a la señal de predicción (bloque predicho o matriz de muestras predicha) emitida desde el predictor 330. Si no hay un residuo para el bloque diana de procesamiento, tal como un caso donde se aplica un modo de omisión, el bloque predicho se puede usar como el bloque reconstruido.
El sumador 340 se puede denominar reconstructor o generador de bloques reconstruidos. La señal reconstruida generada se puede usar para la intrapredicción de un siguiente bloque a procesar en la imagen actual, y como se describe más adelante, también se puede emitir a través del filtrado o también se puede usar para la interpredicción de una siguiente imagen.
Mientras tanto, también se puede aplicar un mapeo de luma con escalado de croma (LMCS) en el procedimiento de decodificació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 procedimientos de filtrado a la imagen reconstruida, y almacenar la imagen reconstruida modificada en la memoria 360, específicamente, en una DPB de la memoria 360. Los diversos procedimientos 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 la DPB de la memoria 360 se puede usar como una imagen de referencia en el interpredictor 331. La memoria 360 puede almacenar la información de movimiento del bloque a partir del cual se deriva (o decodifica) 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 ha reconstruido. La información de movimiento almacenada se puede transferir al interpredictor 331 para ser utilizada 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 de bloques reconstruidos en la imagen actual y transferir las muestras reconstruidas al intrapredictor 332.
En la presente memoria descriptiva, las realizaciones descritas en el predictor 330, el descuantificador 321, el transformador inverso 322 y el filtro 350 del aparato de decodificación 300 también se pueden aplicar de la misma manera o de formas correspondientes al predictor 220, el descuantificador 234, el transformador inverso 235 y el filtro 260 del aparato de codificación 200.
Mientras tanto, como se describió anteriormente, al realizar la codificación de video, la predicción se realiza para mejorar la eficiencia de compresión. A través de esto, se puede generar un bloque predicho que incluye muestras de predicción para un bloque actual como un bloque a codificar (es decir, un bloque diana de codificación). Aquí, el bloque predicho incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho se deriva de la misma manera en un aparato de codificación y un aparato de decodificación, y el aparato de codificación puede señalizar información (información residual) sobre el residuo entre el bloque original y el bloque predicho, en lugar de un valor de muestra original de un bloque original, al aparato de decodificación, aumentando así la eficiencia de codificación de imágenes. El aparato de decodificación puede derivar un bloque residual que incluye muestras residuales según la información residual, agregar el bloque residual y el bloque predicho para generar bloques reconstruidos que incluyen muestras reconstruidas y generar una imagen reconstruida que incluye los bloques reconstruidos.
La información residual se puede generar a través de un procedimiento de transformada y cuantificación. Por ejemplo, el aparato de codificación puede derivar un bloque residual entre el bloque original y el bloque predicho, realizar un procedimiento de transformada en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformada, realizar un procedimiento de cuantificación en los coeficientes de transformada a fin de derivar coeficientes de transformada cuantificados, y señalizar información residual relacionada con el aparato de decodificación (a través de un flujo de bits). Aquí, la información residual puede incluir información de valor de los coeficientes de transformada cuantificados, información de ubicación, una técnica de transformada, un núcleo de transformada, un parámetro de cuantificación y similares. El aparato de decodificación puede realizar un procedimiento de descuantificación/transformada inversa basado en la información residual y derivar muestras residuales (o bloques residuales). El aparato de decodificación puede generar una imagen reconstruida según el bloque predicho y el bloque residual. Además, como referencia para la interpredicción de una imagen después, el aparato de codificación también puede descuantificar/transformar inversamente los coeficientes de transformada cuantificados para derivar un bloque residual y generar una imagen reconstruida basada en el mismo.
En este documento, se puede omitir 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 se puede denominar como un coeficiente de transformada. Cuando se omite la transformada/transformada inversa, el coeficiente de transformada se puede denominar coeficiente o coeficiente residual o incluso se puede denominar coeficiente de transformada para la uniformidad de expresión.
En este documento, el coeficiente de transformada cuantificado y el coeficiente de transformada se pueden denominar coeficiente de transformada y coeficiente de transformada escalado, respectivamente. En este caso, la información residual puede incluir información sobre coeficientes de transformada), y la información sobre los coeficientes de transformada) se puede señalizar a través de la sintaxis de codificación residual. Los coeficientes de transformada se pueden derivar según la información residual (o información sobre los coeficientes de transformada)), y los coeficientes de transformada escalados se pueden derivar a través de la transformada inversa (escalado) en los coeficientes de transformada. Las muestras residuales se pueden derivar según la transformada inversa (transformada) de los coeficientes de transformada escalados. Esto también se puede aplicar/expresar en otras partes de este documento.
El predictor del aparato de codificación/decodificación puede derivar muestras de predicción realizando interpredicción en conjuntos 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 imágenes distintas de la imagen actual. Cuando la interpredicción se aplica al bloque actual, según el bloque de referencia (matrices de muestras de referencia) especificado por el vector de movimiento en la imagen de referencia a la que apunta el índice de imagen de referencia, se puede derivar el bloque predicho (matrices de muestras de predicción) para el bloque actual. En este caso, para reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento del bloque actual se puede predecir en conjuntos de bloques, subbloques o muestras según la correlación entre la información de movimiento entre bloques vecinos y el bloque actual. La información de movimiento puede incluir el vector de movimiento y el í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 la interpredicción, los bloques vecinos pueden incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente 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 llamar un bloque de referencia colocado, un CU colocado (colCU), etc., y una imagen de referencia que incluye el bloque temporalmente vecino se puede denominar como imagen colocada (colPic). Por ejemplo, una lista de candidatos de información de movimiento se puede construir según bloques vecinos del bloque actual y, con una bandera o información de índice que indica qué candidato se selecciona (utiliza) para derivar el vector de movimiento y/o el índice de imagen de referencia del bloque actual, se puede señalizar. La interpredicción se puede realizar según varios modos de predicción. Por ejemplo, en el modo de omisión y el 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 seleccionado. En el modo de omisión, a diferencia del modo de fusión, no se puede transmitir una señal residual. En el caso de un modo de predicción de vector de movimiento (Motion Vector Prediction, MVP), se puede utilizar un vector de movimiento de un bloque vecino seleccionado como un predictor de vector de movimiento, y se puede señalizar una diferencia de vector de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse usando la suma del predictor del vector de movimiento y la diferencia del vector de movimiento.
La información de movimiento puede incluir información de movimiento de L0 y/o información de movimiento de L1 según un tipo de interpredicción (predicción de L0, predicción de L1, predicción de Bi, etc.). Un vector de movimiento en la dirección L0 se puede denominar vector de movimiento L0 o MVL0, y un vector de movimiento en la dirección L1 se puede denominar vector de movimiento L1 o MVL1. La predicción basada en el vector de movimiento L0 se puede denominar predicción L0, la predicción basada en el vector de movimiento L1 se puede denominar predicción L1, y la predicción basada tanto en el vector de movimiento L0 como en el vector de movimiento L1 se puede denominar bipredicción. Aquí, 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 son anteriores a la imagen actual en orden de salida como imágenes de referencia, y la lista de imágenes de referencia L1 puede incluir imágenes que son posteriores a la imagen actual en orden de salida. Las imágenes anteriores se pueden llamar imágenes hacia adelante (referencia) y las imágenes posteriores se pueden llamar imágenes hacia atrás (referencia). La lista de imágenes de referencia L0 puede incluir además imágenes que son posteriores a la imagen actual en orden de salida como imágenes de referencia. En este caso, las imágenes anteriores se pueden indexar primero, y las imágenes posteriores se pueden indexar a continuación en la lista de imágenes de referencia L0. La lista de imágenes de referencia L1 puede incluir además imágenes anteriores a la imagen actual en orden de salida como imágenes de referencia. En este caso, las imágenes posteriores se pueden indexar primero en la lista de imágenes de referencia 1 y las imágenes anteriores se pueden indexar a continuación. En este caso, el orden de salida puede corresponder a un orden de recuento de orden de imágenes (POC).
La FIG. 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado.
Con referencia a la FIG. 4, la imagen/vídeo codificado se divide en una capa de codificación de vídeo (Video Coding Layer, VCL), lo que se trata de un procedimiento de decodificación de imagen/vídeo y de sí mismo, un subsistema que transmite y almacena la información codificada, y una capa de abstracción de red (Network Abstraction Layer, nAl ) que existe entre la VCL y los subsistemas y es responsable de las funciones de adaptación de red.
La VCL puede generar datos de VCL que incluyen datos de imagen comprimidos (datos de fragmento), o generar conjuntos de parámetros que incluyen un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de vídeo (VPS), etc. o un mensaje de información de mejora complementaria (Supplemental Enhacement Information, SEI) necesario adicionalmente para el procedimiento de decodificación de una imagen.
En la NAL, se puede generar un conjunto NAL añadiendo información de encabezado (encabezado de conjunto NAL) a una carga útil de secuencia de bytes sin procesar (Raw Byte Sequence Payload, RBSP) generada en la VCL. En este caso, la RBSP se refiere a datos de fragmento, conjuntos de parámetros, mensajes SEI, etc. generados en la VCL. El encabezado de conjunto NAL puede incluir información de tipo de conjunto NAL especificada según los datos de RBSP incluidos en el conjunto NAL correspondiente.
Como se muestra en la figura, el conjunto NAL se puede dividir en un conjunto NAL VCL y un conjunto NAL no VCL según la RBSP generada en la VCL. El conjunto NAL VCL puede significar un conjunto<n>A<l>que incluye información (datos cortados) sobre una imagen, y el conjunto NAL no VCL puede significar un conjunto NAL que contiene información (conjunto de parámetros o mensaje SEI) necesaria para decodificar una imagen.
El conjunto NAL VCL y el conjunto NAL no VCL descritos anteriormente se pueden transmitir a través de una red adjuntando información de encabezado según una norma de datos del subsistema. Por ejemplo, el conjunto NAL se puede transformar en un formulario de datos de una norma predeterminado, como el formato de archivo H.266/VVC, el Protocolo de transporte en tiempo real (Real-time Transport Protocol, RTP), el Flujo de transporte (Transport Stream, TS), etc., y transmitirse a través de varias redes.
Como se describió anteriormente, en el conjunto NAL, el tipo de conjunto NAL se puede especificar según la estructura de datos RBSP incluida en el conjunto nA l correspondiente, y la información sobre este tipo de conjunto NAL se puede almacenar y señalizar en el encabezado del conjunto NAL.
Por ejemplo, el conjunto NAL se puede clasificar aproximadamente en el tipo de conjunto NAL VCL y el tipo de conjunto NAL no VCL dependiendo de si el conjunto NAL incluye información sobre la imagen (datos del fragmento). El tipo de conjunto NAL VCL se puede clasificar según la propiedad y un tipo de una imagen incluida en el conjunto NAL VCL, y el tipo de conjunto NAL no VCL se puede clasificar según el tipo de un conjunto de parámetros.
El siguiente es un ejemplo del tipo de conjunto NAL especificado según el tipo de conjunto de parámetros incluido en el tipo de conjunto NAL no VCL.
- Conjunto NAL APS (conjunto de parámetros de adaptación): tipo para el conjunto NAL que incluye APS
- Conjunto NAL DPS (conjunto de parámetros de decodificación): tipo para el conjunto NAL que incluye DPS
- Conjunto NAL VPS (conjunto de parámetros de vídeo): tipo para el conjunto NAL que incluye VPS
- Conjunto NAL SPS (conjunto de parámetros de secuencia): tipo para el conjunto NAL que incluye SPS
- Conjunto NAL PPS (conjunto de parámetros de imagen): tipo para el conjunto NAL que incluye PPS
- Conjunto NAL PH (encabezado de imagen): tipo para el conjunto NAL que incluye PH
Los tipos de conjuntos NAL descritos anteriormente tienen información sintáctica para el tipo de conjunto NAL, y la información sintáctica se puede almacenar y señalizar en el encabezado del conjunto NAL. Por ejemplo, la información de sintaxis puede ser nal_unit_type, y los tipos de conjuntos NAL se pueden especificar mediante un valor de nal_unit_type.
Mientras tanto, como se describió anteriormente, una imagen puede incluir una pluralidad de fragmentos, y un fragmento puede incluir un encabezado de fragmento y datos de fragmento. En este caso, un encabezado de imagen se puede agregar adicionalmente a una pluralidad de fragmentos (un encabezado de fragmento y un conjunto de datos de fragmento) en una imagen. El encabezado de la imagen (sintaxis del encabezado de la imagen) puede incluir información/parámetros comúnmente aplicables a la imagen. En este documento, un fragmento se puede mezclar o reemplazar con un grupo de mosaicos. Además, en este documento, un encabezado de fragmento se puede mezclar o reemplazar con un encabezado de grupo de tipo.
El encabezado de fragmento (sintaxis de encabezado de fragmento o información de encabezado de fragmento) puede incluir información/parámetros comúnmente aplicables al fragmento. La APS (sintaxis de APS) o PPS (sintaxis de PPS) puede incluir información/parámetros comúnmente aplicables a uno o más fragmentos o imágenes. La SPS (sintaxis de SPS) puede incluir información/parámetros comúnmente aplicables a una o más secuencias. La VPS (sintaxis de VPS) puede incluir información/parámetros comúnmente aplicables a múltiples capas. La DPS (sintaxis de DPS) puede incluir información/parámetros comúnmente aplicables a todo el vídeo. La DPS puede incluir información/parámetros relacionados con la concatenación de una secuencia de vídeo codificada (Coded Video Sequence, CVS). En este documento, la sintaxis de alto nivel (High Level Syntax, HLS) puede incluir al menos uno de la sintaxis APS, la sintaxis PPS, la sintaxis SPS, la sintaxis VPS, la sintaxis DPS, la sintaxis de encabezado de imagen y la sintaxis de encabezado de fragmento.
En este documento, la información de imagen/vídeo codificada en el aparato de codificación y señalizada en forma de un flujo de bits al aparato de decodificación puede incluir, así como información relacionada con la partición de imágenes en la imagen, información de intra/interpredicción, información residual, información de filtrado en bucle, etc. la información incluida en el encabezado de fragmento, la información incluida en el encabezado de imagen, la información incluida en el APS, la información incluida en el PPS, la información incluida en el SPS, la información incluida en el VPS y/o la información incluida en el DPS. Además, la información de imagen/vídeo también puede incluir información del encabezado del conjunto NAL.
Mientras tanto, con el fin de compensar una diferencia entre una imagen original y una imagen reconstruida debido a un error que ocurre en un procedimiento de codificación por compresión tal como cuantificación, se realiza un procedimiento de filtrado en bucle en muestras reconstruidas o imágenes reconstruidas como se describió anteriormente. Como se describió anteriormente, el filtrado en bucle puede ser realizado por el filtro del aparato de codificación y el filtro del aparato de decodificación, y se puede aplicar un filtro de desbloqueo, desplazamiento adaptativo de muestra (Sample Adaptive Offset, SAO) y/o un filtro de bucle adaptativo (Adaptive Loop Filter, ALF). Por ejemplo, el procedimiento ALF se puede realizar después de que se complete el procedimiento de filtrado de desbloqueo y/o el procedimiento SAO. Sin embargo, incluso en este caso, se puede omitir el procedimiento de filtrado de desbloqueo y/o el procedimiento SAO.
En lo sucesivo, la reconstrucción y el filtrado de imágenes se describirán en detalle. En la codificación de imágenes/vídeos, se puede generar un bloque reconstruido según la intrapredicción/interpredicción en cada conjunto de bloque, y se puede generar una imagen reconstruida que incluya los bloques reconstruidos. Cuando la imagen/fragmento actual es una imagen/fragmento I, los bloques incluidos en la imagen/fragmento actual se pueden reconstruir solo según la intrapredicción. Mientras que, cuando la imagen/fragmento actual es una imagen/fragmento P o B, los bloques incluidos en la imagen/fragmento actual se pueden reconstruir según la intrapredicción o la interpredicción. En este caso, la intrapredicción se puede aplicar a algunos bloques en la imagen/fragmento actual, y la interpredicción se puede aplicar a los bloques restantes.
La intrapredicción puede representar una predicción para generar muestras de predicción para el bloque actual según muestras de referencia en la imagen (en lo sucesivo, imagen actual) a la que pertenece el bloque actual. En caso de que la intrapredicción se aplique al bloque actual, se pueden derivar muestras de referencia vecinas que se utilizarán para la intrapredicción del bloque actual. Las muestras de referencia vecinas del bloque actual pueden incluir una muestra adyacente a un límite izquierdo del bloque actual que tiene un tamaño de nWxnH, un total de 2xnH muestras vecinas a la parte inferior izquierda, una muestra adyacente al límite superior del bloque actual, un total de 2xnW muestras vecinas a la parte superior derecha y una muestra vecina a la parte superior izquierda del bloque actual. De manera alternativa, las muestras de referencia vecinas del bloque actual pueden incluir una muestra vecina superior de columnas plurales y una muestra vecina izquierda de filas plurales. De manera alternativa, las muestras de referencia vecinas del bloque actual pueden incluir nH muestras totales adyacentes al límite derecho del bloque actual que tienen un tamaño de nWxnH, nH muestras totales adyacentes al límite derecho del bloque actual, nW muestras totales adyacentes al límite inferior del bloque actual y una muestra vecina a la parte inferior derecha del bloque actual.
Sin embargo, es posible que algunas de las muestras de referencia vecinas del bloque actual aún no se hayan decodificado o no estén disponibles. En este caso, el decodificador puede configurar las muestras de referencia vecinas para ser utilizadas para la predicción a través de la sustitución de las muestras disponibles por las muestras no disponibles. De manera alternativa, las muestras de referencia vecinas que se utilizarán para la predicción se pueden configurar a través de la interpolación de las muestras disponibles.
Cuando se derivan muestras de referencia vecinas, hay dos casos, es decir, un caso (i) donde una muestra de predicción se puede derivar según un promedio o interpolación de muestras de referencia vecinas de un bloque actual, y un caso (ii) donde la muestra de predicción se puede derivar según una muestra de referencia presente en una dirección (predicción) específica para la muestra de predicción entre las muestras de referencia vecinas del bloque actual. El caso (i) se puede denominar modo no direccional o modo no angular, y el caso (ii) se puede denominar modo direccional o modo angular. Además, la muestra de predicción también se puede generar a través de una primera muestra vecina y una segunda muestra vecina ubicada en una dirección opuesta a la dirección de predicción del modo de intrapredicción del bloque actual según la muestra de predicción del bloque actual entre las muestras de referencia vecinas. El caso anterior se puede denominar como intrapredicción de interpolación lineal (LIP). Además, las muestras de predicción de croma se pueden generar según muestras de luma utilizando un modelo lineal. Este caso se puede denominar modo LM. Además, se puede derivar una muestra de predicción temporal del bloque actual según muestras de referencia vecinas filtradas. Al menos una muestra de referencia, que se deriva 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 se pueden ponderar para derivar la muestra de predicción del bloque actual. El caso anterior se puede denominar intrapredicción dependiente de la posición (Position Dependent Intra Prediction, PDPC). Además, una línea de muestra de referencia que tiene la mayor precisión de predicción entre las múltiples líneas de muestra de referencia vecinas del bloque actual se puede seleccionar para derivar la muestra de predicción mediante el uso de la muestra de referencia ubicada en la dirección de predicción en la línea correspondiente, y la línea de muestra de referencia utilizada en esta invención se puede indicar (señalizarse) a un aparato de decodificación, realizando así una codificación de intrapredicción. El caso anterior se puede denominar intrapredicción de línea de referencia múltiple (MRL) o intrapredicción basada en MRL. Además, la intrapredicción se puede realizar según el mismo modo de intrapredicción dividiendo el bloque actual en subparticiones verticales u horizontales, y las muestras de referencia vecinas se pueden derivar y usar en conjuntos de las subparticiones. Es decir, en este caso, el modo de intrapredicción para el bloque actual se aplica igualmente a las subparticiones, y el rendimiento de intrapredicción se puede mejorar en algunos casos derivando y usando las muestras de referencia vecinas en conjuntos de las subparticiones. Dicho procedimiento de predicción se puede denominar intra subparticiones (Intra Subpartitions, ISP) o intrapredicción basada en ISP. Los procedimientos de intrapredicción mencionados anteriormente se pueden denominar como un tipo de intrapredicción distinto del modo de intrapredicción en las secciones 1.2. El tipo de intrapredicción se puede llamar en varios términos tales como una técnica de intrapredicción o un modo de intrapredicción adicional o similares. Por ejemplo, el tipo de intrapredicción (o modo de intrapredicción adicional o similar) puede incluir al menos una de las LlP, PDPC, MRL e ISP mencionadas anteriormente. Un procedimiento de intrapredicción general, excepto para el tipo de intrapredicción específico, tal como LIP, PDPC, MRL o ISP, se puede denominar tipo de intrapredicción normal. El tipo de intrapredicción normal se puede aplicar en general cuando no se aplica el tipo de intrapredicción específico, y la predicción se puede realizar según el modo de intrapredicción mencionado anteriormente. Mientras tanto, opcionalmente, se puede realizar un filtrado posterior al procesamiento en la muestra de predicción derivada.
Específicamente, el procedimiento de intrapredicción puede incluir una operación de determinación de un modo/tipo de intrapredicción, una operación de derivación de una muestra de referencia vecina y una operación de derivación de una muestra de predicción basada en el modo/tipo de intrapredicción. Además, opcionalmente, se puede realizar una operación de filtrado posterior al procesamiento en la muestra de predicción derivada.
Se genera una imagen reconstruida modificada a través del procedimiento de filtrado en bucle, y la imagen reconstruida modificada se puede emitir como una imagen decodificada en el aparato de decodificación y también se puede almacenar en una memoria intermedia de imágenes decodificadas del aparato de codificación/aparato de decodificación y usarse como una imagen de referencia en el procedimiento de interpredicción cuando la imagen se codifica/decodifica en un momento posterior. El procedimiento de filtrado en bucle puede incluir un procedimiento de filtrado de desbloqueo, un procedimiento de desplazamiento adaptativo de muestra (Sample Adaptive Offset, SAO) y/o un procedimiento de filtro de bucle adaptativo (ALF) como se describió anteriormente. En este caso, uno o algunos del procedimiento de filtrado de desbloqueo, el procedimiento SAO, el procedimiento ALF y el procedimiento de filtrado bilateral se pueden aplicar secuencialmente, o todos los procedimientos se pueden aplicar secuencialmente. Por ejemplo, el procedimiento SAO se puede realizar después de que el procedimiento de filtrado de desbloqueo se aplique a la imagen reconstruida. De manera alternativa, por ejemplo, el procedimiento ALF se puede realizar después de que el procedimiento de filtrado de desbloqueo se aplique a la imagen reconstruida. Esto también se puede realizar igualmente en el aparato de codificación.
El filtrado de desbloqueo es una técnica de filtrado que elimina la distorsión que se produce en los límites entre bloques en la imagen reconstruida. El procedimiento de filtrado de desbloqueo puede, por ejemplo, derivar un límite diana en la imagen reconstruida, determinar una fuerza de límite (bS) para el límite diana y realizar un filtrado de desbloqueo en el límite diana, según la bS. La bS se puede determinar según un modo de predicción, una diferencia de vector de movimiento, si las imágenes de referencia son idénticas, si existe un coeficiente significativo distinto de cero, etc., de dos bloques adyacentes al límite diana.
El SAO es un procedimiento donde se compensa una diferencia de desplazamiento entre la imagen reconstruida y la imagen original sobre una base de muestra. Por ejemplo, el SAO se puede aplicar según un tipo tal como un desplazamiento de banda, un desplazamiento de borde o similares. Según el SAO, las muestras se pueden clasificar en diferentes categorías según cada tipo de SAO, y se puede añadir un valor de compensación a cada muestra, según 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, información de valor de desplazamiento de SAO o similares. El SAO se puede aplicar a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
El ALF es una técnica para filtrar la 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 se aplica el ALF, una forma de ALF y/o un coeficiente de filtrado de ALF o similares mediante la comparación de la imagen reconstruida y la imagen original, y puede señalar el resultado de la determinación al aparato de decodificació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 o similares. El ALF se puede aplicar a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
La FIG. 5 es un diagrama de flujo que ilustra un procedimiento de codificación basado en el filtrado en un aparato de codificación. El procedimiento de la FIG. 5 puede incluir las etapas S500 a S530.
En la etapa S500, el aparato de codificación puede generar una imagen reconstruida. La etapa S500 se puede realizar según el procedimiento de generación de imágenes reconstruidas (o muestras construidas) mencionado anteriormente.
En la etapa S510, el aparato de codificación determina si se aplica el filtrado en bucle (a través de un límite virtual) según la información relacionada con el filtrado en bucle. En esta invención, el filtrado en bucle puede incluir al menos uno de los filtros de desbloqueo mencionados anteriormente, SAO y ALF.
En la etapa S520, el aparato de codificación puede generar una imagen reconstruida modificada (muestras reconstruidas modificadas) según la determinación de la etapa S510. En esta invención, la imagen reconstruida modificada (muestras reconstruidas modificadas) puede ser una imagen reconstruida filtrada (muestras reconstruidas filtradas).
En la etapa S530, el aparato de codificación codifica información de imagen/vídeo que incluye la información relacionada con el filtrado en bucle, según el procedimiento de filtrado en bucle.
La FIG. 6 es un diagrama de flujo que ilustra un procedimiento de decodificación basado en el filtrado en un aparato de decodificación. El procedimiento de la FIG. 6 puede incluir las etapas S600 a S630.
En la etapa S600, el aparato de decodificación obtiene información de imagen/vídeo que incluye información relacionada con el filtrado en bucle de un flujo de bits. En esta invención, el flujo de bits se basa en información de imagen/video codificada transmitida desde el aparato de codificación.
En la etapa S610, el aparato de decodificación genera una imagen reconstruida. La etapa S610 se puede realizar según la imagen reconstruida mencionada anteriormente (o muestras reconstruidas).
En la etapa S620, el aparato de decodificación determina si se aplica filtrado en bucle (a través de un límite virtual) según la información relacionada con el filtrado en bucle. En esta invención, el filtrado en bucle puede incluir al menos uno de los filtros de desbloqueo mencionados anteriormente, SAO y ALF.
En la etapa S630, el aparato de decodificación genera una imagen reconstruida modificada (muestras reconstruidas modificadas) según la determinación de la etapa S620. En esta invención, la imagen reconstruida modificada (muestras reconstruidas modificadas) puede ser una imagen reconstruida filtrada (muestras reconstruidas filtradas).
Como se describió anteriormente, el procedimiento de filtrado en bucle se puede aplicar a la imagen reconstruida. En este caso, se define un límite virtual para mejorar aún más la calidad visual subjetiva/objetiva de la imagen reconstruida, y el procedimiento de filtrado en bucle se aplica a través del límite virtual. El límite virtual puede incluir, por ejemplo, un borde discontinuo tal como una imagen de 360 grados, una imagen de VR, un límite, una Imagen en imagen (Picture-in-Picture, PIP) o similares. Por ejemplo, el límite virtual puede estar presente en una ubicación predeterminada, y se puede señalizar una presencia y/o ubicación de la misma. Por ejemplo, el límite virtual se puede ubicar en una cuarta línea de muestra superior de una fila de CTU (específicamente, por ejemplo, por encima de la cuarta muestra superior de la fila de CTU). Como otro ejemplo, la información sobre el presente y/o la ubicación del límite virtual se puede señalizar a través de HLS. El HLS puede incluir el SPS, el PPS, el encabezado de imagen, el encabezado de fragmento o similares como se describió anteriormente.
En adelante, se describirá una señalización sintáctica y semántica de alto nivel según realizaciones de la presente descripción.
Una realización del presente documento puede incluir un procedimiento para controlar filtros de bucle. El presente procedimiento para controlar los filtros de bucle se puede aplicar a una imagen reconstruida. Los filtros en bucle (filtros de bucle) se pueden usar para decodificar flujos de bits codificados. Los filtros de bucle pueden incluir el desbloqueo mencionado anteriormente, SAO y ALF. El SPS puede incluir indicadores relacionados con cada uno de un desbloqueo, un SAO y un ALF. Los indicadores pueden indicar si cada una de las herramientas está disponible para la codificación de una secuencia de vídeo de capa codificada (Coded Layer Video Sequence, CLVS) o una secuencia de vídeo codificada (CVS) que se refiere a la s Ps .
En un ejemplo, cuando los filtros de bucle están habilitados para la codificación de las imágenes en el CVS, la aplicación de los filtros de bucle se puede controlar para que no esté a través de límites específicos. Por ejemplo, los filtros de bucle se pueden controlar para que no estén a través de límites de subimagen, los filtros de bucle se pueden controlar para que no estén a través de límites de mosaico, los filtros de bucle se pueden controlar para que no estén a través de límites de fragmento, y/o los filtros de bucle se pueden controlar para que no estén a través de límites virtuales.
La información relacionada con el filtrado en bucle puede incluir información, sintaxis, elementos de sintaxis y/o semántica descritos en el presente documento (o realizaciones allí incluidas). La información relacionada con el filtrado en bucle puede incluir información relacionada con si (la totalidad o parte de) un procedimiento de filtrado en bucle está habilitado a través de límites específicos (por ejemplo, un límite virtual, un límite de subimagen, un límite de fragmento y/o un límite de mosaico). La información de imagen incluida en un flujo de bits puede incluir una sintaxis de alto nivel (HLS), y la HLS puede incluir la información relacionada con el filtrado en bucle. Se pueden generar muestras reconstruidas modificadas (o filtradas) (imágenes reconstruidas) según la determinación de si el procedimiento de filtrado en bucle se aplica a través de los límites específicos. En un ejemplo, cuando el procedimiento de filtrado en bucle se deshabilita para todos los bloques/límites, las muestras reconstruidas modificadas pueden ser idénticas a las muestras reconstruidas. En otro ejemplo, las muestras reconstruidas modificadas pueden incluir muestras reconstruidas modificadas derivadas según el filtrado en bucle.
Sin embargo, en este caso, algunas de las muestras reconstruidas (por ejemplo, muestras reconstruidas a través de límites virtuales) pueden no filtrarse en bucle según la determinación mencionada anteriormente. Por ejemplo, las muestras reconstruidas a través de un límite específico (al menos uno de un límite virtual, límite de subimagen, límite de fragmento y/o límite de mosaico para el cual está habilitado el filtrado en bucle) se pueden filtrar en bucle, pero las muestras reconstruidas a través de otros límites (por ejemplo, un límite virtual, límite de subimagen, límite de fragmento y/o límite de mosaico para el cual está deshabilitado el filtrado en bucle) pueden no filtrarse en bucle.
En un ejemplo, con respecto a si el procedimiento de filtrado en bucle se realiza a través del límite virtual, la información relacionada con el filtrado en bucle puede incluir un indicador de presencia de límites virtuales de SPS, un indicador de presencia de límites virtuales de encabezado de imagen, información del número de límites virtuales, información sobre posiciones de límites virtuales o similares.
En realizaciones incluidas en el presente documento, la información sobre la posición de los límites virtuales puede incluir información sobre una coordenada x de un límite virtual vertical y/o información sobre una coordenada y de un límite virtual horizontal. Específicamente, la información sobre la posición de los límites virtuales puede incluir la información sobre la coordenada x del límite virtual vertical y/o la información sobre el eje y del límite virtual horizontal en conjuntos de muestras de luma. Además, la información sobre la posición de límites virtuales puede incluir información sobre el número de fragmentos de información (elementos de sintaxis) en la coordenada x del límite virtual vertical que está presente en el SPS. Además, la información sobre la posición de límites virtuales puede incluir información sobre el número de fragmentos de información (elementos de sintaxis) en la coordenada y del límite virtual horizontal que está presente en el SPS. Alternativamente, la información sobre la posición de los límites virtuales puede incluir información sobre el número de fragmentos de información (elementos de sintaxis) en la coordenada x del límite virtual vertical que está presente en un encabezado de imagen. Además, la información sobre la posición de límites virtuales puede incluir información sobre el número de fragmentos de información (elementos de sintaxis) en la coordenada y del límite virtual horizontal que está presente en el encabezado de imagen.
Las siguientes tablas muestran una sintaxis y semántica de ejemplo de un SPS según la presente realización.
[Tabla 1]
[Tabla 2]
Las siguientes tablas muestran una sintaxis y semántica a modo de ejemplo de un conjunto de parámetros de imagen (PPS) según la presente realización.
[Tabla 3]
[Tabla 4]
Las siguientes tablas muestran una sintaxis y semántica de ejemplo de un encabezado de imagen según la presente realización.
[Tabla 5]
[Tabla 6]
Las siguientes tablas muestran una sintaxis y semántica de ejemplo de un encabezado de fragmento según la presente realización.
[Tabla 7]
[Tabla 8]
En lo sucesivo, se describirá información relacionada con subimágenes, información relacionada con límites virtuales utilizables en el filtrado en bucle y señalización de los mismos.
Cuando no hay una subimagen que tenga límites tratados como límites de imagen, incluso si una imagen incluye varias subimágenes, no se puede utilizar una ventaja de usar la subimagen. En una realización de este documento, la información de imagen/video para la codificación de imágenes puede incluir información para tratar una subimagen como una imagen, que se puede denominar como una bandera de manejo de imágenes (es decir, subpic_treated_as_pic_flag[i]).
Para señalar un diseño de la subimagen, se señaliza una bandera (es decir, subpic_present_flag) relacionada con si las subimágenes están presentes. Esto se puede denominar como una bandera de presente de subimagen. Cuando un valor de subpic_present_flag es 1, se señaliza la información (es decir, sps_num_subpics_minus1) relacionada con el número de subimágenes para dividir la imagen. En un ejemplo, el número de subimágenes para dividir la imagen puede ser igual a sps_num_subpics_minus1 1 (1 se agrega a sps_num_subpics_minus1). Los valores disponibles de subpics_sps_num_minus1 incluyen 0, lo que significa que solo una subimagen puede estar presente en la imagen. Si la imagen incluye solo una subimagen, la señalización de la información relacionada con la subimagen puede considerarse como un procedimiento redundante, ya que la subimagen en sí es una imagen.
En la realización existente, si la imagen incluye solo una subimagen y la señalización de subimágenes está presente, un valor de indicador de manejo de imágenes (es decir, subpic_treated_as_pic_flag[i]) y/o un valor de un indicador (es decir, loop_filter_across_suvpic_enabled_flag) relacionado con si el filtrado de bucle se realiza a través de subimágenes puede ser 0 o 1. En esta invención, existe un problema en el sentido de que un caso donde el valor de subpic_treated_as_pic_flag[i] es 0 es inconsistente con un caso donde los límites de la subimagen son límites de la imagen. Esto requiere un procedimiento redundante adicional donde se permite que un decodificador confirme que los límites de la imagen son los límites de la subimagen.
Cuando se genera una imagen basada en un procedimiento de fusión de dos o más subimágenes, todas las subimágenes utilizadas en el procedimiento de fusión serán subimágenes codificadas de forma independiente (una subimagen donde el valor de la bandera de manejo de imágenes (subpic_reated_as_pic_flag[i]) es 1). Esto se debe a que, cuando se fusiona una subimagen (denominada "primera subimagen" en este párrafo) que no sea la subimagen codificada de forma independiente, los bloques de la primera subimagen se codifican haciendo referencia a un bloque de referencia que existe fuera de la primera subimagen, lo que puede causar un problema después de la fusión.
Además, cuando la imagen se divide en subimágenes, la señalización de identificación de subimagen puede estar presente o puede no estar presente. Cuando la señalización de ID de subimagen está presente, la señalización de ID de subimagen puede estar presente (incluida) en un SPS, un PPS y/o un encabezado de imagen (Picture Header, PH). Un caso donde la señalización de ID de subimagen no está presente en el SPS puede incluir un caso donde se genera un flujo de bits como resultado de un procedimiento de fusión de subimagen. Por consiguiente, es preferible que todas las subimágenes se codifiquen de forma independiente cuando la señalización de ID de subimagen no se incluye en el SPS.
En un procedimiento de codificación de imágenes donde se utilizan límites virtuales, la información sobre las posiciones de los límites virtuales se señaliza en un SPS o un encabezado de imagen. La señalización de la información sobre las posiciones de los límites virtuales en el SPS significa que no hay cambio en las posiciones en toda la CLVS. Sin embargo, cuando el remuestreo de imágenes de referencia (Reference Picture Resampling, RPR) está habilitado para la CLVS, las imágenes en la CLVS pueden tener diferentes tamaños. En esta invención, el RPR (también denominado cambio de resolución adaptativa (Adaptive Resolution Change, ARC)) se realiza para una operación de codificación normal de imágenes que tienen diferentes resoluciones (resoluciones espaciales). Por ejemplo, el RPR puede incluir muestreo ascendente y muestreo descendente. Se puede lograr una alta eficiencia de codificación para la adaptación de una velocidad de bits y resolución espacial a través del RPR. Existe la necesidad de garantizar que todas las posiciones de los límites virtuales estén presentes en una imagen, considerando el RPR.
En el procedimiento de ALF existente, el código de Golomb exponencial de orden k con k=3 se utiliza para señalar valores absolutos de los coeficientes ALF de luma y croma. Sin embargo, la codificación de Golomb exponencial de orden k es problemática porque causa una sobrecarga y complejidad computacional significativas.
Las realizaciones descritas a continuación pueden proponer soluciones para el problema anteriormente mencionado. Las realizaciones se pueden aplicar de manera independiente. De manera alternativa, se pueden aplicar al menos dos realizaciones en combinación.
En una realización de este documento, cuando la señalización de subimagen está presente y una imagen tiene solo una subimagen, la única subimagen es una subimagen codificada de forma independiente. Por ejemplo, cuando la imagen tiene solo una subimagen, la única subimagen es una subimagen codificada de forma independiente, y el valor de un indicador de manejo de imagen (es decir, subpic_treated_as_pic_flag[i]) para la única subimagen es 1. Por consiguiente, se puede omitir un procedimiento redundante relacionado con la subimagen.
En una realización de este documento, cuando la señalización de subimágenes está presente, el número de subimágenes puede ser mayor que 1. En un ejemplo, si la señalización de subimágenes está presente (es decir, un valor de subpics_present_flag es 1), la información sobre el número de subimágenes (es decir, sps_num_subpics_minus1) puede ser mayor que 0, y el número de subimágenes puede ser sps_num_subpics_minus1 1 (1 se añade a sps_num_subpics_minus1). En otro ejemplo, la información sobre el número de subimágenes puede ser sps_num_subpics_minus2, y el número de subimágenes puede ser sps_num_subpics_minus2 2 (2 se agrega a sps_num_subpics_minus2). En otro ejemplo, una bandera de presencia de subimagen (bandera subpics_present) se puede reemplazar con información sobre el número de subimágenes (sps_num_subpics_minus1) y, por consiguiente, la señalización de subimagen puede estar presente cuando sps_num_subpics_minus1 es mayor que 0.
En una realización de este documento, cuando una imagen se divide en subimágenes, al menos una subimagen entre las subimágenes puede ser una subimagen codificada de forma independiente. En esta invención, un valor de un indicador de manejo de imagen (es decir, subpic_treated_as_pic_flag[i]) para la subimagen codificada independientemente puede ser 1.
En una realización de este documento, las subimágenes de una imagen basada en un procedimiento de fusión de dos o más subimágenes pueden ser subimágenes codificadas independientemente.
En una realización de este documento, cuando la señalización de identificación (ID) de subimagen está presente en una posición distinta de una SPS (otra sintaxis, otra información de sintaxis de alto nivel), todas las subimágenes pueden ser subimágenes codificadas independientemente, y un valor de un indicador de manejo de imágenes (es decir, subpic_treated_as_pic_flag) para todas las subimágenes puede ser 1. En un ejemplo, la señalización de ID de subimagen puede estar presente en un PPS, y en este caso, todas las subimágenes pueden ser subimágenes codificadas independientemente. En otro ejemplo, la señalización de ID de subimagen puede estar presente en un encabezado de imagen y, en este caso, todas las subimágenes son subimágenes codificadas de forma independiente.
En una realización de este documento, cuando la señalización de límites virtuales está presente en un SPS para la CLVS y el remuestreo de imágenes de referencia está habilitado, todas las posiciones de límites virtuales horizontales pueden estar dentro de una altura de imagen mínima de las imágenes que se refieren al SPS, y todas las posiciones de límites virtuales verticales pueden estar dentro de un ancho de imagen mínimo de las imágenes que se refieren al SPS.
En una realización de este documento, cuando se habilita el remuestreo de imágenes de referencia (RPR), la señalización de límite virtual se incluye en un encabezado de imagen. Es decir, cuando el RPR está habilitado, la señalización de límite virtual no está incluida en el SPS.
En una realización de este documento, la codificación de longitud fija (Fixed Length Coding, FLC) con el número de bits (o longitud de bit) se puede usar para señalizar datos de ALF. En un ejemplo, la información sobre los datos de ALF puede incluir información sobre una longitud de bit de un valor absoluto de un coeficiente de luma de ALF (es decir, alflumacoeffabslenminus1) y/o información sobre una longitud de bit de un valor absoluto de un coeficiente de croma de ALF (es decir, alf_chroma_coeff_abs_len_minus1). Por ejemplo, la información sobre la longitud de bit del valor absoluto del coeficiente de luma de ALF y/o la información sobre la longitud de bit del valor absoluto del coeficiente de croma de ALF se pueden codificar en ue(v).
La siguiente tabla muestra una sintaxis ejemplar del SPS según la presente realización.
[Tabla 9]
La siguiente tabla muestra una semántica ejemplar de los elementos de sintaxis incluidos en la sintaxis.
[Tabla 10]
La siguiente tabla muestra una sintaxis ejemplar del SPS según la presente realización.
[Tabla 11]
La siguiente tabla muestra una semántica ejemplar de los elementos de sintaxis incluidos en la sintaxis.
[Tabla 28]
La siguiente tabla muestra una sintaxis ejemplar de datos de ALF según la presente realización.
[Tabla 13]
La siguiente tabla muestra una semántica ejemplar de los elementos de sintaxis incluidos en la sintaxis.
[Tabla 14]
Según las realizaciones del presente documento descritas junto con las tablas anteriores, a través de la codificación de imágenes basada en subimágenes y/o límites virtuales, se puede mejorar la calidad de imagen subjetiva/objetiva, y puede haber una disminución en el consumo de recursos de hardware requerido para la codificación.
La FIG. 7 y la FIG. 8 muestran esquemáticamente un ejemplo de un procedimiento de codificación de vídeo/imagen y componentes relacionados según una o más realizaciones del presente documento.
El procedimiento descrito en la FIG. 7 se puede realizar mediante el aparato de codificación descrito en la FIG. 2 o la FIG. 8. Específicamente, por ejemplo, las etapas S700 y S730 de la FIG. 7 se pueden realizar a través de un predictor 220 del aparato de codificación de la FIG. 8, las etapas S710 y S720 de la f Ig . 7 se pueden realizar a través de un procesador residual 230 del aparato de codificación de la FIG. 8, la etapa S740 de la FIG. 7 se pueden realizar a través de un filtro 260 del aparato de codificación de la FIG. 8 y la etapa s 750 de la FIG. 7 se puede realizar mediante un codificador entrópico 240 del aparato de codificación de la FIG. 8. Además, aunque no se muestra en la FIG. 7, las muestras de predicción o la información relacionada con la predicción se pueden obtener mediante el predictor 220 del aparato de codificación de la FIG. 7, y el codificador entrópico 240 del aparato de codificación puede generar un flujo de bits a partir de información residual o información relacionada con la predicción. El procedimiento descrito en la FIG. 7 puede incluir las realizaciones mencionadas anteriormente en el presente documento.
Con referencia a la FIG. 7, el aparato de codificación obtiene al menos una imagen de referencia (S700). El aparato de codificación puede realizar un procedimiento de predicción, según al menos una imagen de referencia. Específicamente, el aparato de codificación puede derivar las muestras de predicción de los bloques actuales, según un modo de predicción. En este caso, se pueden aplicar varios procedimientos de predicción descritos en el presente documento, como la interpredicción o la intrapredicción. El aparato de codificación puede generar muestras de predicción para el bloque actual en la imagen actual, según el procedimiento de predicción. Por ejemplo, el aparato de codificación puede realizar un procedimiento de interpredicción, según al menos una imagen de referencia, y puede generar muestras de predicción, según el procedimiento de interpredicción.
El aparato de codificación genera/deriva muestras residuales (S710). El aparato de codificación puede derivar muestras residuales para un bloque actual, y las muestras residuales para el bloque actual pueden derivarse según muestras originales y muestras de predicción del bloque actual. Específicamente, el aparato de codificación genera las muestras residuales, según al menos una imagen de referencia del paso S700. Por ejemplo, el aparato de codificación puede generar las muestras de predicción para el bloque actual, según al menos una imagen de referencia, y puede generar las muestras residuales, según las muestras de predicción.
El aparato de codificación puede derivar coeficientes de transformada. El aparato de codificación puede derivar los coeficientes de transformada, según un procedimiento de transformada para las muestras residuales. Por ejemplo, el procedimiento de transformada puede incluir al menos uno de una transformada de coseno discreta (DCT), una transformada de seno discreta (DST), una transformada basada en gráficos (GBT) y una transformada condicionalmente no lineal (CNT).
El aparato de codificación puede derivar coeficientes de transformada cuantificados. El aparato de codificación puede derivar los coeficientes de transformada cuantificados, según un procedimiento de cuantificación para los coeficientes de transformada. Los coeficientes de transformada cuantificados pueden tener una forma vectorial unidimensional, basada en un orden de escaneo de coeficientes.
El aparato de codificación genera información residual (S720). El aparato de codificación puede generar la información residual, según los coeficientes de transformada. El aparato de codificación puede generar información residual que indica los coeficientes de transformada cuantificados. La información residual se puede generar a través de diversos procedimientos de codificación tales como Golomb exponencial, CAVLC, CAB, o similares.
El aparato de codificación genera muestras reconstruidas. El aparato de codificación genera las muestras reconstruidas, según la información residual. Las muestras reconstruidas se pueden generar sumando la muestra de predicción y las muestras residuales según la información residual. Específicamente, el aparato de codificación puede realizar predicción (intrapredicción o interpredicción) en el bloque actual, y puede generar muestras reconstruidas, según las muestras originales y las muestras de predicción generadas a partir de la predicción.
Las muestras reconstruidas pueden incluir muestras de luma reconstruidas y muestras de croma reconstruidas. Específicamente, las muestras residuales pueden incluir muestras de luma residual y muestras de croma residual. Las muestras de luma residual se pueden generar según muestras de luma originales y muestras de luma de predicción. Las muestras de croma residuales se pueden generar según las muestras de croma originales y las muestras de croma de predicción. El aparato de codificación puede derivar coeficientes de transformada para las muestras de luma residual (coeficientes de transformada de luma) y/o coeficientes de transformada para las muestras de croma residual (coeficientes de transformada de croma). Los coeficientes de transformada cuantificados pueden incluir coeficientes de transformada de luma cuantificados y/o coeficientes de transformada de croma cuantificados.
El aparato de codificación genera información relacionada con la imagen de referencia (S730). El aparato de codificación genera la información relacionada con la imagen de referencia, según al menos una imagen de referencia. La información relacionada con la imagen de referencia se puede usar para la interpredicción por el aparato de decodificación.
El aparato de codificación genera información relacionada con el filtrado en bucle para las muestras reconstruidas (S740). El aparato de codificación puede realizar un procedimiento de filtrado en bucle en las muestras reconstruidas, y puede generar información relacionada con el filtrado en bucle, según el procedimiento de filtrado en bucle. Por ejemplo, la información relacionada con el filtrado en bucle puede incluir la información mencionada anteriormente sobre límites virtuales (el indicador habilitado de límites virtuales de SPS, el indicador habilitado de límites virtuales de encabezado de imagen, el indicador presente de límites virtuales de SPS, el indicador presente de límites virtuales de encabezado de imagen, información sobre posiciones de límites virtuales, etc.).
El aparato de codificación codifica información de vídeo/imagen (S750). La información de imagen puede incluir información residual, información relacionada con la predicción, información relacionada con la imagen de referencia, información relacionada con los límites virtuales (y/o información adicional relacionada con los límites virtuales) y/o información relacionada con el filtrado en bucle. La información de vídeo/imagen codificada se puede emitir en forma de un flujo de bits. El flujo de bits se puede transmitir a un aparato de decodificación a través de una red o un medio de almacenamiento.
La información de imagen/vídeo puede incluir una variedad de información según una realización del presente documento. Por ejemplo, la imagen/vídeo puede incluir información descrita en al menos una de las tablas 1 a 14 anteriores.
En una realización, la información de imagen puede incluir un conjunto de parámetros de secuencia (SPS). Por ejemplo, si el SPS incluye información adicional relacionada con los límites virtuales puede determinarse según si el remuestreo para al menos una imagen de referencia está habilitado. En esta invención, el remuestreo de al menos una imagen de referencia se puede realizar según el remuestreo de imagen de referencia (RPR) mencionado anteriormente. La información adicional relacionada con los límites virtuales también se puede denominar simplemente información relacionada con los límites virtuales. El término "adicional" se utiliza para distinguir de la información relacionada con los límites virtuales, como un indicador de presencia de límites virtuales de SPS y/o un indicador de presencia de límites virtuales de PH.
En una realización, la información adicional relacionada con los límites virtuales incluye el número de límites virtuales y las posiciones de los límites virtuales.
En una realización, la información adicional relacionada con límites virtuales incluye información sobre el número de límites virtuales verticales, información sobre posiciones de los límites virtuales verticales, información sobre el número de límites virtuales horizontales e información sobre posiciones de los límites virtuales horizontales.
En una realización, la información de imagen puede incluir una bandera de remuestreo de imagen de referencia habilitada. Por ejemplo, si el remuestreo para al menos una imagen de referencia está habilitado puede determinarse según el indicador habilitado de remuestreo de imagen de referencia.
En una realización, el SPS puede incluir un indicador de presencia de límites virtuales de SPS relacionado con si el SPS incluye la información adicional relacionada con límites virtuales. Se puede determinar que un valor del indicador de límites virtuales presentes de SPS es 0, según que se habilite el remuestreo para al menos una imagen de referencia.
En una realización, la información adicional relacionada con los límites virtuales no se incluye en el SPS, según que se habilita el remuestreo para al menos una imagen de referencia. La información de la imagen incluye información del encabezado de la imagen. Además, la información del encabezado de la imagen incluye la información adicional relacionada con los límites virtuales.
En una realización, la imagen actual puede incluir una subimagen como una sola subimagen. La subimagen se puede codificar de forma independiente. Las muestras reconstruidas se pueden generar según la subimagen. La información relacionada con la subimagen se puede generar según la subimagen. La información de la imagen puede incluir la información relacionada con la subimagen.
En una realización, un indicador subpicture_treated_as_picture puede no estar presente en la información de imagen. Por lo tanto, un valor del indicador subpicture_treated_as_picture se puede establecer a través de inferencia (estimación o predicción) en un extremo de decodificación. En un ejemplo, el valor del indicador subpicture_treated_as_picture se puede establecer en 1.
En una realización, la imagen actual puede incluir subimágenes. En un ejemplo, las subimágenes se pueden derivar según un procedimiento de fusión de dos o más subimágenes codificadas independientemente. Las muestras reconstruidas se pueden generar según las subimágenes. Se puede generar información relacionada con subimágenes según las subimágenes. Además, la información de la imagen puede incluir la información relacionada con la subimagen.
La FIG. 9 y la FIG. 10 muestran esquemáticamente un ejemplo de un procedimiento de decodificación de vídeo/imagen y componentes relacionados según una o más realizaciones del presente documento.
El procedimiento descrito en la FIG. 9 se pueden realizar mediante el aparato de decodificación descrito en la FIG. 3 o la FIG. 10. Específicamente, por ejemplo, la etapa S900 de la FIG. 9 se puede realizar mediante un decodificador entrópico 310 del aparato de decodificación, la S910 de la FIG. 9 se puede realizar mediante un predictor 310 del aparato de decodificación, la S920 se puede realizar mediante un procesador residual 320 y/o sumador 340 del aparato de decodificación, y la S930 se puede realizar mediante un filtro 350 del aparato de decodificación. El procedimiento descrito en la FIG. 9 puede incluir las realizaciones mencionadas anteriormente en el presente documento.
Con referencia a la FIG. 9, el aparato de decodificación recibe/obtiene información de vídeo/imagen (S900). La información de vídeo/imagen puede incluir información residual, información relacionada con la predicción, información relacionada con la imagen de referencia, información relacionada con los límites virtuales (y/o información adicional relacionada con los límites virtuales) y/o información relacionada con el filtrado en bucle. El aparato de decodificación recibe/obtiene la información de imagen/vídeo a través de un flujo de bits.
La información de imagen/vídeo puede incluir una variedad de información según una realización del presente documento. Por ejemplo, la imagen/vídeo puede incluir información descrita en al menos una de las tablas 1 a 14 anteriores.
El aparato de decodificación puede derivar coeficientes de transformada cuantificados. El aparato de decodificación puede derivar los coeficientes de transformada cuantificados, según la información residual. Los coeficientes de transformada cuantificados pueden tener una forma vectorial unidimensional, basada en un orden de escaneo de coeficientes. Los coeficientes de transformada cuantificados pueden incluir coeficientes de transformada de luma cuantificados y/o coeficientes de transformada de croma cuantificados.
El aparato de decodificación puede derivar los coeficientes de transformada. El aparato de decodificación puede derivar los coeficientes de transformada, según un procedimiento de descuantificación para los coeficientes de transformada cuantificados. El aparato de decodificación puede derivar coeficientes de transformada de luma a través de la descuantificación, según los coeficientes de transformada de luma cuantificados. El aparato de decodificación puede derivar coeficientes de transformada de croma a través de la descuantificación, según los coeficientes de transformada de croma cuantificados.
El aparato de decodificación puede generar/derivar muestras residuales. El aparato de decodificación puede derivar las muestras residuales, según el procedimiento de transformada inversa para los coeficientes de transformada. El aparato de decodificación puede derivar muestras de luma residuales a través del procedimiento de transformada inversa, según los coeficientes de transformada de luma. El aparato de decodificación puede derivar muestras de croma residuales a través de la transformada inversa, según los coeficientes de transformada de croma.
El aparato de decodificación obtiene al menos una imagen de referencia, según la información relacionada con la imagen de referencia (S910). El aparato de decodificación puede realizar un procedimiento de predicción, según al menos una imagen de referencia. Específicamente, el aparato de decodificación puede derivar las muestras de predicción de los bloques actuales, según un modo de predicción. En este caso, se pueden aplicar varios procedimientos de predicción descritos en el presente documento, como la interpredicción o la intrapredicción. El aparato de decodificación puede generar muestras de predicción para el bloque actual en la imagen actual, según el procedimiento de predicción. Por ejemplo, el aparato de decodificación puede realizar un procedimiento de interpredicción, según al menos una imagen de referencia, y puede generar muestras de predicción, según el procedimiento de interpredicción.
El aparato de decodificación genera/deriva muestras reconstruidas (S920). El aparato de decodificación puede generar muestras reconstruidas, según muestras de predicción y muestras residuales. El aparato de decodificación puede generar muestras reconstruidas, según una suma entre las muestras de predicción y las muestras originales. Por ejemplo, el aparato de decodificación puede generar/derivar muestras de luma reconstruidas y/o muestras de croma reconstruidas. El aparato de decodificación puede generar las muestras de luma reconstruidas y/o las muestras de croma reconstruidas, según la información residual. El aparato de decodificación genera las muestras reconstruidas, según la información residual. Las muestras reconstruidas pueden incluir las muestras de luma reconstruidas y/o las muestras de croma reconstruidas. Un componente de luma de las muestras reconstruidas puede corresponder a las muestras de luma reconstruidas, y un componente de croma de las muestras reconstruidas puede corresponder a las muestras de croma reconstruidas. El aparato de decodificación puede generar muestras de luma de predicción y/o muestras de croma de predicción a través de un procedimiento de predicción. El aparato de decodificación puede generar las muestras de luma reconstruidas, según las muestras de luma de predicción y las muestras de luma residuales. El aparato de decodificación puede generar las muestras de croma construidas, según las muestras de croma de predicción y las muestras de croma residuales.
El aparato de decodificación puede generar muestras reconstruidas modificadas (filtradas) (S930). El aparato de decodificación genera las muestras reconstruidas modificadas, según un procedimiento de filtrado en bucle para las muestras reconstruidas. El aparato de decodificación puede generar las muestras reconstruidas modificadas, según la información relacionada con el filtrado en bucle. El aparato de decodificación puede usar un procedimiento de desbloqueo, un procedimiento de SAO y/o un procedimiento de ALF para generar las muestras reconstruidas modificadas.
En una realización, la información de imagen incluye un SPS. Si el SPS incluye información adicional relacionada con los límites virtuales se determina según si el remuestreo para al menos una imagen de referencia está habilitado. En esta invención, el remuestreo para al menos una imagen de referencia se puede realizar según el RPR mencionado anteriormente. La información adicional relacionada con los límites virtuales también se puede denominar simplemente información relacionada con los límites virtuales. El término "adicional" se utiliza para distinguir de la información relacionada con los límites virtuales, como un indicador de presencia de límites virtuales de SPS y/o un indicador de presencia de límites virtuales de PH.
En una realización, la información adicional relacionada con los límites virtuales incluye el número de límites virtuales y las posiciones de los límites virtuales.
En una realización, la información adicional relacionada con límites virtuales incluye información sobre el número de límites virtuales verticales, información sobre posiciones de los límites virtuales verticales, información sobre el número de límites virtuales horizontales e información sobre posiciones de los límites virtuales horizontales.
En una realización, la información de imagen puede incluir una bandera de remuestreo de imagen de referencia habilitada. Por ejemplo, si el remuestreo para al menos una imagen de referencia está habilitado puede determinarse según el indicador habilitado de remuestreo de imagen de referencia.
En una realización, el SPS puede incluir un indicador de presencia de límites virtuales de SPS relacionado con si el SPS incluye la información adicional relacionada con límites virtuales. Se puede determinar que un valor del indicador de límites virtuales presentes de SPS es 0, según que se habilite el remuestreo para al menos una imagen de referencia.
En una realización, la información adicional relacionada con los límites virtuales no se incluye en el SPS, según que se habilita el remuestreo para al menos una imagen de referencia. La información de la imagen incluye información del encabezado de la imagen. Además, la información del encabezado de la imagen incluye la información adicional relacionada con los límites virtuales.
En una realización, la imagen actual puede incluir una subimagen como una sola subimagen. La subimagen se puede codificar de forma independiente. Las muestras reconstruidas se pueden generar según la subimagen, y la información relacionada con la subimagen se puede generar según la subimagen. Además, la información de la imagen puede incluir información relacionada con la subimagen.
En una realización, una bandera de manejo de imágenes para la subimagen (una bandera subpicture_treated_as_picture_flag) puede no estar presente en la información de la imagen. Por lo tanto, un valor del indicador subpicture_treated_as_picture se puede establecer a través de inferencia (estimación o predicción) en un extremo de decodificación. En un ejemplo, el valor del indicador subpicture_treated_as_picture se puede establecer en 1.
En una realización, la imagen actual puede incluir subimágenes. En un ejemplo, las subimágenes se pueden derivar según un procedimiento de fusión de dos o más subimágenes codificadas independientemente. Las muestras reconstruidas se pueden generar según las subimágenes. Se puede generar información relacionada con subimágenes según las subimágenes. Además, la información de la imagen puede incluir la información relacionada con la subimagen.
En presencia de la muestra residual para el bloque actual, el aparato de decodificación puede recibir información residual para un bloque actual. La información residual puede incluir un coeficiente de transformada para muestras residuales. El aparato de decodificación puede derivar muestras residuales (o un conjunto de muestras residuales) para el bloque actual, según la información residual. Específicamente, el aparato de decodificación puede derivar coeficientes de transformada cuantificados, según la información residual. Los coeficientes de transformada cuantificados pueden tener una forma vectorial unidimensional, basada en un orden de escaneo de coeficientes. El aparato de decodificación puede derivar los coeficientes de transformada, según un procedimiento de descuantificación para los coeficientes de transformada cuantificados. El aparato de decodificación puede derivar muestras residuales, según los coeficientes de transformada.
El aparato de decodificación puede generar muestras reconstruidas, según muestras de (intra) predicción y muestras residuales, y puede derivar un bloque reconstruido o una imagen reconstruida, según las muestras reconstruidas. Específicamente, el aparato de decodificación puede incluir muestras reconstruidas, según una suma entre las muestras de (intra) predicción y las muestras residuales. A partir de entonces, como se describió anteriormente, el aparato de decodificación puede aplicar opcionalmente el procedimiento de filtrado en bucle, tal como el filtrado de desbloqueo y/o el procedimiento sAo , a la imagen reconstruida para mejorar la calidad de imagen subjetiva/objetiva.
El aparato de decodificación obtiene información de imagen que incluye todas o partes de las piezas de información descritas anteriormente (o elementos sintácticos) decodificando el flujo de bits o la información codificada. Además, el flujo de bits o la información codificada se pueden almacenar en un medio de almacenamiento legible por ordenador, y pueden hacer que se realice el procedimiento de decodificación descrito anteriormente.
Aunque los procedimientos se describieron sobre la base de un diagrama de flujo donde las etapas o bloques se enumeran en secuencia en las realizaciones descritas anteriormente, las etapas del presente documento no se limitan a un determinado orden, y una determinada etapa se puede realizar en una etapa diferente o en un orden diferente o en simultáneo con respecto a lo descrito anteriormente. Además, los expertos en la materia entenderán que las etapas de los diagramas de flujo no son exclusivas, y que se puede incluir otra etapa en las mismas o se pueden eliminar una o más etapas en el diagrama de flujo.
El procedimiento antes mencionado según la presente descripción puede estar en forma de software, y el aparato de codificación y/o el aparato de decodificación según la presente descripción se pueden incluir en un dispositivo para realizar el procesamiento de imágenes, por ejemplo, un televisor, un ordenador, un teléfono inteligente, un decodificador, un dispositivo de visualización o similares.
Cuando las realizaciones de la presente descripción se implementan mediante software, el procedimiento mencionado anteriormente se puede implementar mediante un módulo (procedimiento o función) que realiza la función mencionada anteriormente. El módulo se puede almacenar en una memoria y un procesador puede ejecutarlo. La memoria se puede instalar dentro o fuera del procesador y se puede conectar al procesador a través de diversos medios bien conocidos. El procesador puede incluir un Circuito Integrado de Aplicación Específica (Application Specific Integrated Circuit, ASIC), otros conjuntos de chips, un circuito lógico y/o un dispositivo de procesamiento de datos. La memoria puede incluir una memoria de solo lectura (Read-Only Memory, ROM), una memoria de acceso aleatorio (Random Access Memory, RAM), una memoria flash, una tarjeta de memoria, un medio de almacenamiento y/u otro dispositivo de almacenamiento. En otras palabras, las realizaciones según la presente descripción se pueden implementar y ejecutar en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, los conjuntos funcionales ilustrados en las figuras respectivas se pueden implementar y ejecutar en un ordenador, un procesador, un microprocesador, un controlador o un chip. En este caso, la información sobre la implementación (por ejemplo, información sobre instrucciones) o algoritmos se puede almacenar en un medio de almacenamiento digital.
Además, el aparato de decodificación y el aparato de codificación a los que se aplica la realización o realizaciones del presente documento se pueden incluir en un transceptor de difusión multimedia, un terminal de comunicación móvil, un dispositivo de vídeo de cine en casa, un dispositivo de vídeo de cine digital, una cámara de vigilancia, un dispositivo de chat de vídeo y un dispositivo de comunicación en tiempo real tal como comunicación de vídeo, un dispositivo de streaming móvil, un medio de almacenamiento, una videocámara, un proveedor de servicios de vídeo bajo demanda (Video on Demand, VoD), un dispositivo de vídeo Over The Top (OTT), un proveedor de servicios de streaming por Internet, un dispositivo de vídeo 3D, un dispositivo de Realidad Virtual (VR), un dispositivo de Realidad Aumentada (AR), un dispositivo de vídeo de teléfono de imágenes, un terminal de vehículo (por ejemplo, un terminal de vehículo (incluido un vehículo autónomo), un terminal de avión o un terminal de barco) y un dispositivo de vídeo médico; y se pueden usar para procesar una señal de imagen o datos. Por ejemplo, el dispositivo de video OTT puede incluir una consola de juegos, un reproductor Bluray, un televisor conectado a Internet, un sistema de cine en casa, un teléfono inteligente, una tableta y una grabadora de video digital (Digital Video Recorder, DVR).
Además, el procedimiento de procesamiento al que se aplica la o las realizaciones del presente documento se puede producir en forma de un programa ejecutado por un ordenador y se puede almacenar en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según las realizaciones) del presente documento también se pueden almacenar en el medio de registro legible por ordenador. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento y dispositivos de almacenamiento distribuidos donde se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir, por ejemplo, un disco Bluray (Bluray Disc, BD), un bus serie universal (Universal Serial Bus, USB), una memoria solo de lectura (ROM), una memoria programable solo de lectura (Programmable Read-Only Memory, PROM), una memoria programable y borrable solo de lectura (Erasable Programmable Read-only Memory, EPROM), una memoria de solo lectura programable y borrable eléctricamente (Electrically Erasable Programmable Read-only Memory, EEPROM), una memoria de acceso aleatorio (Random Access Memory, RAM), un disco compacto de memoria solo de lectura (Compact Disk - Read-only Memory, CD-ROM), una cinta magnética, un disquete y un dispositivo de almacenamiento de datos ópticos. El medio de grabación legible por ordenador también incluye medios incorporados en forma de una onda portadora (por ejemplo, transmisión a través de Internet). Además, un flujo de bits generado por el procedimiento de codificación se puede almacenar en el medio de grabación legible por ordenador o transmitir a través de una red de comunicación por cable o inalámbrica.
Además, la realización o realizaciones del presente documento se pueden realizar como un producto de programa informático basado en un código de programa, y el código de programa se puede ejecutar en un ordenador según las realizaciones del presente documento. El código de programa se puede almacenar en medio legible por ordenador.
La FIG. 11 representa un ejemplo de un sistema de streaming de contenido al que se puede aplicar la realización del presente documento.
Con referencia a la FIG. 11, el sistema de streaming de contenido al que se aplican las realizaciones del presente documento puede incluir en general un servidor de codificación, un servidor de streaming, un servidor web, un almacenamiento de medios, un dispositivo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación funciona para comprimir a datos digitales el contenido ingresado desde los dispositivos de entrada multimedia, como el teléfono inteligente, la cámara, la videocámara y similares, para generar un flujo de bits y transmitirlo al servidor de streaming. Como otro ejemplo, en un caso donde el dispositivo de entrada multimedia, tal como, el teléfono inteligente, la cámara, la videocámara o similares, genera directamente un flujo de bits, se puede omitir el servidor de codificación.
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 aplican las realizaciones del presente documento. Y el servidor de streaming puede almacenar temporalmente el flujo de bits en un procedimiento de transmisión o recepción del flujo de bits.
El servidor de streaming transmite datos multimedia al equipo de usuario según la solicitud de un usuario a través del servidor web, que funciona como un instrumento que informa a un usuario qué servicios hay. Cuando el usuario solicita un servicio que desea, el servidor web transfiere la solicitud al servidor de streaming, y el servidor de streaming transmite datos multimedia al usuario. En este sentido, el sistema de streaming de contenido puede incluir un servidor de control separado y, en este caso, el servidor de control funciona para controlar los comandos/respuestas entre los equipos respectivos en el sistema de streaming de contenido.
El servidor de streaming puede recibir contenidos del almacenamiento de medios y/o el servidor de codificación. Por ejemplo, en un caso donde los contenidos se reciben desde el servidor de codificación, los contenidos se pueden recibir en tiempo real. En este caso, el servidor de streaming puede almacenar el flujo de bits durante un período de tiempo predeterminado para proporcionar el servicio de streaming sin problemas.
Por ejemplo, el equipo de usuario puede incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de transmisión digital, un asistente digital personal (Personal Digital Assistant, PDA), un reproductor multimedia portátil (Portable Multimedia Player, PMP), un ordenador para navegar, un dispositivo 2 en 1, una tableta, una ultrabook, un dispositivo portátil (por ejemplo, un terminal de tipo reloj (un reloj inteligente), un terminal de tipo gafas (gafas inteligentes), un casco de realidad virtual (Head Mounted Display, HMD)), un televisor digital, un ordenador de escritorio, una señalización digital o similares.
Cada uno de los servidores en el sistema de streaming de contenidos puede funcionar como un servidor distribuido, y en este caso, los datos recibidos por cada servidor pueden procesarse de manera distribuida.
Las reivindicaciones en la presente descripción se pueden combinar de varias maneras. Por ejemplo, las características técnicas en las reivindicaciones del procedimiento de la presente descripción se pueden combinar para su implementación o realización en un aparato, y las características técnicas en las reivindicaciones del aparato se pueden combinar para su implementación o realización en un procedimiento. Además, las características técnicas en la reivindicación o reivindicaciones del procedimiento y la reivindicación o las reivindicaciones del aparato se pueden combinar para implementarse o realizarse en un aparato. Además, las características técnicas en la reivindicación o reivindicaciones del procedimiento y la reivindicación o las reivindicaciones del aparato se pueden combinar para su implementación o realización en un procedimiento.
Claims (6)
1. Un procedimiento de decodificación de imágenes realizado por un aparato de decodificación, comprendiendo el procedimiento:
obtener información de imagen que incluye información residual, información relacionada con la imagen de referencia e información de filtrado en bucle a través de un flujo de bits;
derivar al menos una imagen de referencia, donde al menos una imagen de referencia
es señalada por la información relacionada con la imagen de referencia, y la información relacionada con la imagen de referencia es un índice que apunta a al menos una imagen de referencia;
generar muestras reconstruidas de una imagen actual, según la información residual y al menos una imagen de referencia;
determinar si se realiza un procedimiento de filtrado en bucle para las muestras reconstruidas a través de los límites virtuales según la información relacionada con el filtrado en bucle, donde la información relacionada con el filtrado en bucle indica si el procedimiento de filtrado en bucle se realiza a través de los límites virtuales; y generar muestras reconstruidas modificadas, según el procedimiento de filtrado en bucle para las muestras reconstruidas,
donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS e información de encabezado de imagen,
donde la información de imagen comprende información relacionada con los límites virtuales que incluye información sobre una serie de límites virtuales verticales, información sobre posiciones de los límites virtuales verticales, información sobre una serie de límites virtuales horizontales e información sobre posiciones de los límites virtuales horizontales,
caracterizado por que, en base a que el remuestreo de imágenes de referencia esté habilitado para al menos una imagen de referencia, se determina si el SPS incluye la información relacionada con los límites virtuales, y donde, cuando se habilita el remuestreo de imágenes de referencia para al menos una imagen de referencia, la información de encabezado de imagen incluye la información relacionada con límites virtuales y el SPS no incluye la información relacionada con límites virtuales.
2. El procedimiento de decodificación de imágenes según la reivindicación 1,
donde la información de imagen incluye un indicador habilitado para remuestreo de imagen de referencia, y donde si el remuestreo de imagen de referencia para al menos una imagen de referencia está habilitado se determina según el indicador habilitado de remuestreo de imagen de referencia.
3. Un procedimiento de codificación de imágenes realizado por un aparato de codificación, comprendiendo el procedimiento:
generar muestras residuales para un bloque actual;
generar información residual, según las muestras residuales para el bloque actual;
derivar al menos una imagen de referencia para muestras reconstruidas de una imagen actual;
generar información relacionada con la imagen de referencia, según al menos una imagen de referencia, donde la información relacionada con la imagen de referencia es un índice que apunta a una de al menos una imagen de referencia;
determinar si se realiza un procedimiento de filtrado en bucle para las muestras reconstruidas a través de límites virtuales;
generar información relacionada con el filtrado en bucle para las muestras reconstruidas de la imagen actual, donde la información relacionada con el filtrado en bucle indica si el procedimiento de filtrado en bucle se realiza a través de los límites virtuales; y
codificar información de imagen que incluye la información residual, la información relacionada con la imagen de referencia y la información relacionada con el filtrado en bucle,
donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS e información de encabezado de imagen,
donde la información de imagen comprende información relacionada con límites virtuales que incluye información sobre una serie de límites virtuales verticales, información sobre posiciones de los límites virtuales verticales, información sobre una serie de límites virtuales horizontales e información sobre posiciones de los límites virtuales horizontales,
caracterizado por que, en base a que el remuestreo de imágenes de referencia esté habilitado para al menos una imagen de referencia, se determina si el SPS incluye la información relacionada con los límites virtuales, y
donde, cuando se habilita el remuestreo de imágenes de referencia para al menos una imagen de referencia, la información de encabezado de imagen incluye la información relacionada con límites virtuales, y el SPS no incluye la información relacionada con límites virtuales
4. El procedimiento de codificación de imágenes según la reivindicación 3, donde la información de imagen incluye un indicador habilitado para el remuestreo de imágenes de referencia, y
donde si el remuestreo de imagen de referencia para al menos una imagen de referencia está habilitado se determina según el indicador habilitado de remuestreo de imagen de referencia.
5. Un medio de almacenamiento legible por ordenador que almacena un flujo de bits generado por un procedimiento de codificación de imágenes, comprendiendo el procedimiento de codificación de imágenes:
generar muestras residuales para un bloque actual;
generar información residual, según las muestras residuales para el bloque actual;
derivar al menos una imagen de referencia para muestras reconstruidas de una imagen actual;
generar información relacionada con la imagen de referencia, según al menos una imagen de referencia, donde la información relacionada con la imagen de referencia es un índice que apunta a una de al menos una imagen de referencia;
determinar si se realiza un procedimiento de filtrado en bucle para las muestras reconstruidas a través de límites virtuales;
generar información relacionada con el filtrado en bucle para las muestras reconstruidas de la imagen actual, donde la información relacionada con el filtrado en bucle indica si el procedimiento de filtrado en bucle se realiza a través de los límites virtuales; y
codificar información de imagen que incluye la información residual, la información relacionada con la imagen de referencia y la información relacionada con el filtrado en bucle,
donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS e información de encabezado de imagen,
donde la información de la imagen comprende información relacionada con los límites virtuales que incluye información sobre una serie de límites virtuales verticales, información sobre posiciones de los límites virtuales verticales, información sobre una serie de límites virtuales horizontales e información sobre posiciones de los límites virtuales horizontales,
caracterizado por que, en base a que el remuestreo de imágenes de referencia esté habilitado para al menos una imagen de referencia, se determina si el SPS incluye la información relacionada con los límites virtuales, y
donde cuando se habilita el remuestreo de imágenes de referencia para al menos una imagen de referencia, la información de encabezado de imagen incluye la información relacionada con límites virtuales, y el SPS no incluye la información relacionada con límites virtuales.
6. Un procedimiento de transmisión de datos para una imagen, comprendiendo el procedimiento:
obtener un flujo de bits para la imagen, donde el flujo de bits se genera según la generación de muestras residuales para un bloque actual, generar información residual, según las muestras residuales para el bloque actual, derivar al menos una imagen de referencia para muestras reconstruidas de una imagen actual, generar información relacionada con la imagen de referencia, según al menos una imagen de referencia, donde la información relacionada con la imagen de referencia es un índice que apunta al menos a una imagen de referencia, determinar si se realiza un procedimiento de filtrado en bucle para las muestras reconstruidas a través de límites virtuales, generar información relacionada con el filtrado en bucle para las muestras reconstruidas de la imagen actual, donde la información relacionada con el filtrado en bucle indica si el procedimiento de filtrado en bucle se realiza a través de los límites virtuales, y codificar información de imagen que incluye la información residual, la información relacionada con la imagen de referencia y la información relacionada con el filtrado en bucle; y
transmitir los datos que comprenden el flujo de bits,
donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS e información de encabezado de imagen,
donde la información de imagen comprende información relacionada con límites virtuales que incluye información sobre una serie de límites virtuales verticales, información sobre posiciones de los límites virtuales verticales, información sobre una serie de límites virtuales horizontales e información sobre posiciones de los límites virtuales horizontales,
caracterizado por que, en base a que el remuestreo de imágenes de referencia esté habilitado para al menos una imagen de referencia, se determina si el SPS incluye la información relacionada con los límites virtuales, y
donde cuando se habilita el remuestreo de imágenes de referencia para al menos una imagen de referencia, la información de encabezado de imagen incluye la información relacionada con límites virtuales, y el SPS no incluye la información relacionada con límites virtuales.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962947505P | 2019-12-12 | 2019-12-12 | |
| PCT/KR2020/018160 WO2021118293A1 (ko) | 2019-12-12 | 2020-12-11 | 필터링 기반 영상 코딩 장치 및 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2988489T3 true ES2988489T3 (es) | 2024-11-20 |
Family
ID=76328970
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20898548T Active ES2988489T3 (es) | 2019-12-12 | 2020-12-11 | Procedimientos de codificación de imágenes basados en un filtrado |
| ES24167930T Active ES3056657T3 (en) | 2019-12-12 | 2020-12-11 | Filtering-based image coding methods |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24167930T Active ES3056657T3 (en) | 2019-12-12 | 2020-12-11 | Filtering-based image coding methods |
Country Status (17)
| Country | Link |
|---|---|
| US (3) | US11716463B2 (es) |
| EP (3) | EP4651491A3 (es) |
| JP (5) | JP7311713B2 (es) |
| KR (2) | KR102870796B1 (es) |
| CN (5) | CN121284277A (es) |
| AU (2) | AU2020400813B2 (es) |
| CA (2) | CA3253483A1 (es) |
| ES (2) | ES2988489T3 (es) |
| FI (1) | FI4060996T3 (es) |
| HR (2) | HRP20251499T1 (es) |
| HU (1) | HUE067009T2 (es) |
| MX (2) | MX2022007230A (es) |
| PL (2) | PL4060996T3 (es) |
| RS (1) | RS67630B1 (es) |
| SI (1) | SI4060996T1 (es) |
| WO (1) | WO2021118293A1 (es) |
| ZA (1) | ZA202207386B (es) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113785570B (zh) * | 2019-04-03 | 2024-07-12 | Lg电子株式会社 | 视频或图像编译方法及其装置 |
| HRP20251499T1 (hr) * | 2019-12-12 | 2026-01-02 | Lg Electronics Inc. | Metode kodiranja slike temeljene na filtriranju |
| CN117014601A (zh) * | 2019-12-30 | 2023-11-07 | 阿里巴巴(中国)有限公司 | 用于发出虚拟边界和环绕运动补偿的信号的方法 |
| US11800096B2 (en) * | 2020-03-31 | 2023-10-24 | Tencent America LLC | Method for signaling virtual boundary signaling with subpictures in coded video stream |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101749269B1 (ko) * | 2009-06-30 | 2017-06-22 | 삼성전자주식회사 | 적응적인 인루프 필터를 이용한 동영상 부호화와 복호화 장치 및 그 방법 |
| EP2559238B1 (en) * | 2010-04-13 | 2015-06-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Adaptive image filtering method and apparatus |
| KR102397259B1 (ko) * | 2012-09-13 | 2022-05-12 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 장치 |
| GB2516424A (en) * | 2013-07-15 | 2015-01-28 | Nokia Corp | A method, an apparatus and a computer program product for video coding and decoding |
| KR20150046744A (ko) * | 2013-10-22 | 2015-04-30 | 주식회사 케이티 | 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치 |
| US10368097B2 (en) * | 2014-01-07 | 2019-07-30 | Nokia Technologies Oy | Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures |
| US10306246B2 (en) * | 2015-02-13 | 2019-05-28 | Mediatek Inc. | Method and apparatus of loop filters for efficient hardware implementation |
| CN115086652B (zh) * | 2015-06-05 | 2025-05-06 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
| US10554968B2 (en) * | 2015-06-10 | 2020-02-04 | Lg Electronics Inc. | Method and apparatus for inter prediction on basis of virtual reference picture in video coding system |
| CN115134611B (zh) * | 2015-06-11 | 2025-01-14 | 杜比实验室特许公司 | 使用自适应去块滤波编码和解码图像的方法及其装置 |
| WO2017086748A1 (ko) * | 2015-11-20 | 2017-05-26 | 한국전자통신연구원 | 기하 변환 영상을 이용하는 영상의 부호화/복호화 방법 및 장치 |
| US10666936B2 (en) * | 2015-12-17 | 2020-05-26 | Samsung Electronics Co., Ltd. | Video decoding method and video decoding apparatus using merge candidate list |
| KR102248185B1 (ko) * | 2016-02-02 | 2021-05-04 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 비디오 스트리밍의 관심 장면 섹션 및 영역 처리 |
| CN114615493A (zh) * | 2016-03-24 | 2022-06-10 | 英迪股份有限公司 | 视频解码方法、视频编码方法和可读记录介质 |
| KR102833523B1 (ko) * | 2016-05-03 | 2025-07-15 | 코닌클리케 필립스 엔.브이. | 가상 블록의 인-루프 필터 방법 및 장치 |
| US10368067B2 (en) * | 2016-06-15 | 2019-07-30 | Mediatek Inc. | Method and apparatus for selective filtering of cubic-face frames |
| KR102882879B1 (ko) * | 2016-07-08 | 2025-11-06 | 인터디지털 브이씨 홀딩스 인코포레이티드 | 지오메트리 투영을 이용한 360도 비디오 코딩 |
| FI3649781T3 (fi) * | 2017-07-04 | 2024-03-13 | Huawei Tech Co Ltd | Rajan pakotettua osiointia koskeva parannus |
| EP3685585A1 (en) * | 2017-09-20 | 2020-07-29 | Vid Scale, Inc. | Handling face discontinuities in 360-degree video coding |
| EP3975572A1 (en) * | 2018-09-11 | 2022-03-30 | LG Electronics Inc. | Residual coding method and device for same |
| CN109600611B (zh) * | 2018-11-09 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 环路滤波方法、环路滤波装置、电子设备和可读介质 |
| US11206404B2 (en) * | 2019-07-08 | 2021-12-21 | Fastvdo Llc | Adaptive resolution change in video streams |
| US11159822B2 (en) * | 2019-07-11 | 2021-10-26 | Qualcomm Incorporated | Intra-prediction according to virtual boundaries for video coding |
| HRP20251499T1 (hr) * | 2019-12-12 | 2026-01-02 | Lg Electronics Inc. | Metode kodiranja slike temeljene na filtriranju |
-
2020
- 2020-12-11 HR HRP20251499TT patent/HRP20251499T1/hr unknown
- 2020-12-11 CN CN202511337965.4A patent/CN121284277A/zh active Pending
- 2020-12-11 EP EP25206553.7A patent/EP4651491A3/en active Pending
- 2020-12-11 AU AU2020400813A patent/AU2020400813B2/en active Active
- 2020-12-11 EP EP24167930.7A patent/EP4380158B1/en active Active
- 2020-12-11 CA CA3253483A patent/CA3253483A1/en active Pending
- 2020-12-11 KR KR1020227019733A patent/KR102870796B1/ko active Active
- 2020-12-11 PL PL20898548.1T patent/PL4060996T3/pl unknown
- 2020-12-11 PL PL24167930.7T patent/PL4380158T3/pl unknown
- 2020-12-11 CN CN202511337961.6A patent/CN121284276A/zh active Pending
- 2020-12-11 HU HUE20898548A patent/HUE067009T2/hu unknown
- 2020-12-11 CN CN202511337956.5A patent/CN121284274A/zh active Pending
- 2020-12-11 SI SI202030447T patent/SI4060996T1/sl unknown
- 2020-12-11 EP EP20898548.1A patent/EP4060996B1/en active Active
- 2020-12-11 CN CN202080096368.6A patent/CN115136607B/zh active Active
- 2020-12-11 CA CA3164459A patent/CA3164459C/en active Active
- 2020-12-11 KR KR1020257033506A patent/KR20250150172A/ko active Pending
- 2020-12-11 FI FIEP20898548.1T patent/FI4060996T3/fi active
- 2020-12-11 WO PCT/KR2020/018160 patent/WO2021118293A1/ko not_active Ceased
- 2020-12-11 CN CN202511337959.9A patent/CN121284275A/zh active Pending
- 2020-12-11 ES ES20898548T patent/ES2988489T3/es active Active
- 2020-12-11 RS RS20260030A patent/RS67630B1/sr unknown
- 2020-12-11 MX MX2022007230A patent/MX2022007230A/es unknown
- 2020-12-11 HR HRP20240777TT patent/HRP20240777T1/hr unknown
- 2020-12-11 ES ES24167930T patent/ES3056657T3/es active Active
- 2020-12-11 JP JP2022535889A patent/JP7311713B2/ja active Active
-
2022
- 2022-06-10 US US17/837,895 patent/US11716463B2/en active Active
- 2022-06-10 MX MX2026000934A patent/MX2026000934A/es unknown
- 2022-07-04 ZA ZA2022/07386A patent/ZA202207386B/en unknown
-
2023
- 2023-06-28 US US18/215,565 patent/US12192446B2/en active Active
- 2023-07-06 JP JP2023111521A patent/JP7493656B2/ja active Active
-
2024
- 2024-05-21 JP JP2024082436A patent/JP7715880B2/ja active Active
- 2024-06-06 AU AU2024203825A patent/AU2024203825B2/en active Active
- 2024-12-11 US US18/977,335 patent/US20250113022A1/en active Pending
-
2025
- 2025-07-17 JP JP2025120333A patent/JP7856829B2/ja active Active
-
2026
- 2026-04-23 JP JP2026071646A patent/JP2026116344A/ja active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2994299T3 (en) | Device and method for coding video on basis of filtering | |
| ES2987119T3 (es) | Dispositivo y método de codificación de imágenes basado en filtrado | |
| ES3037849T3 (en) | Image coding device and method for controlling loop filtering | |
| ES3056657T3 (en) | Filtering-based image coding methods | |
| ES3018507T3 (es) | Método y dispositivo para procesar información de imagen para la codificación de imágenes/vídeos | |
| JP2023506220A (ja) | ループフィルタリングを制御するための映像コーディング装置及び方法 | |
| AU2024205198B2 (en) | Image coding apparatus and method based on sub-picture | |
| US20250039467A1 (en) | Filtering-based image coding device and method | |
| US20250063175A1 (en) | Image coding device and method | |
| US12587651B2 (en) | Picture splitting-based image coding device and method | |
| US20230096855A1 (en) | In-loop filtering-based image coding device and method | |
| CN114982242B (zh) | 发信号通知图片分割信息的方法和设备 | |
| CN115004708B (zh) | 用于发信号通知图像信息的方法和设备 | |
| RU2810653C2 (ru) | Способ и устройство кодирования изображения для управления контурной фильтрацией | |
| BR122023025838B1 (pt) | Aparelho de decodificação para decodificação de imagens, aparelho de codificação para codificação de imagens, mídia de armazenamento legível por computador não transitória e aparelho para transmissão de dados para uma imagem | |
| BR122023025846A2 (pt) | Aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem, meio de armazenamento legível por computador e aparelho para transmissão de dados para uma imagem | |
| BR112022011549B1 (pt) | Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, mídia de armazenamento legível por computador e método de transmissão de dados para uma imagem | |
| BR122023024024B1 (pt) | Aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e aparelho para transmissão de dados para uma imagem | |
| BR112022011511B1 (pt) | Métodos de codificação e decodificação de imagem, meio de armazenamento legível por computador e método de transmissão de dados para uma imagem | |
| BR122023024026A2 (pt) | Dispositivo de codificação de imagem e método para controlar filtragem em loop | |
| BR112022009616B1 (pt) | Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, e método de transmissão de dados para uma imagem | |
| BR122023024029A2 (pt) | Método de decodificação de imagem, método de codificação de imagem e método de transmissão de dados para uma imagem | |
| BR122023024024A2 (pt) | Aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e aparelho para transmissão de dados para uma imagem | |
| BR122023025846B1 (pt) | Aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem, meio de armazenamento legível por computador e aparelho para transmissão de dados para uma imagem |