ES2987119T3 - Dispositivo y método de codificación de imágenes basado en filtrado - Google Patents
Dispositivo y método de codificación de imágenes basado en filtrado Download PDFInfo
- Publication number
- ES2987119T3 ES2987119T3 ES20889141T ES20889141T ES2987119T3 ES 2987119 T3 ES2987119 T3 ES 2987119T3 ES 20889141 T ES20889141 T ES 20889141T ES 20889141 T ES20889141 T ES 20889141T ES 2987119 T3 ES2987119 T3 ES 2987119T3
- Authority
- ES
- Spain
- Prior art keywords
- information
- virtual
- sps
- boundaries
- image
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/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/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
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 del presente documento, la información para llevar a cabo el filtrado en bucle a través de límites virtuales se puede señalizar de manera eficiente. Por ejemplo, el filtrado en bucle se puede llevar a cabo sobre la base de la señalización de información que está relacionada con si el filtrado en bucle a través de límites virtuales está habilitado o no. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Dispositivo y método de codificación de imágenes basado en filtrado
Antecedentes de la descripción
Campo de la descripción
El presente documento se refiere a un aparato y a un método de codificación de imágenes basado en filtrado.
Técnica relacionada
Recientemente, la demanda de imagen/vídeo de alta resolución y alta calidad como, por ejemplo, imagen/vídeo de 4K u 8K o de definición ultra alta (UHD, por sus siglas en inglés) superior ha aumentado en diversos campos. Como los datos de imagen/vídeo tienen alta resolución y alta calidad, la cantidad de información o bits a transmitir aumenta con respecto a los datos de imagen/vídeo existentes y, por lo tanto, transmitir datos de imagen usando un medio como, por sus siglas en inglés, una línea de banda ancha cableada/inalámbrica existente o un medio de almacenamiento existente o almacenar datos de imagen/vídeo usando un medio de almacenamiento existente aumenta el coste de transmisión y el coste de almacenamiento.
Además, el interés y la demanda de medios inmersivos como, por ejemplo, contenido u hologramas de realidad virtual (VR, por sus siglas en inglés) y realidad artificial (AR, por sus siglas en inglés), ha aumentado recientemente y la difusión de imágenes/vídeo tiene características diferentes de las imágenes de realidad como, por ejemplo, imágenes de juego, ha aumentado.
Por consiguiente, se requiere una tecnología de compresión de imagen/vídeo altamente eficiente para comprimir, transmitir, almacenar y reproducir eficazmente información de una imagen/vídeo de alta resolución y alta calidad que tenga diversas características como se describió más arriba.
Específicamente, se lleva a cabo un proceso de filtrado en bucle para aumentar la calidad visual subjetiva/objetiva, y existe un debate sobre un esquema para aumentar la eficiencia de señalización de la información para llevar a cabo el filtrado en bucle basado en límites virtuales.
El documento de BENJAMIN BROSS Y OTROS:"Versatile Video Coding (Draft 7)",16.JVET MEETING;20191001 -20191011; GINEBRA;(THE JOINT VIDEO EXPLORATION TEAM OFISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), n.° JVET-P2001; m51515 15 de octubre de 2019 (15-10-2019), describe una sintaxis a nivel de secuencia y a nivel de imagen, que comprende un filtro indicador sps_loop across_virtual_boundaries_disabled_present_flag que indica si el procesamiento de filtro de bucle está habilitado a lo largo de límites virtuales, y si la información relacionada con límites virtuales está incluida en SPS y PPS.
El documento de DAMGHANIAN (ERICSSON) M Y OTROS:"AHG9: Signalling of Virtual Boundary Positions",131.MPEG MEETING;20200629 - 20200703; EN LÍNEA;(MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),n.° m54033 ; JVET-S004720 de mayo de 2020 (20-05-2020), describe una sintaxis de SPS que incluye sps_virtual_boundaries_enabled_flag y un indicador sps_virtual_boundaries_present.
El documento de PALURI (LGE) S Y OTROS:"[AHG9]: On virtual limit signaling",17.JVET MEETING;20200107 -20200117; BRUSELAS;(THE JOING VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 E ITU-T SG.16),n.° JVET-Q0246; m5184012 de enero de 2020 (12-01-2020) describe que la desactivación de límites virtuales solo se usa normalmente para actualización de decodificación gradual (GDR, por sus siglas en inglés), y describe una sintaxis de SPS que incluye un indicador sps_virtual_boundaries_enabled_flag y sps_virtual_boundaries_present.
El documento de S-Y LIN (MEDIATEK) Y OTROS:"CE-13 related: Loop filter disabled across virtual boundaries",13.JVET MEETING;20190109 - 20190118; MARRAKECH;(THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16),n.° JVET-M0892; JVET-M0892 14 de enero de 2019 (14-01-2019), páginas 1 17, describe la desactivación del filtrado de bucles a lo largo de límites virtuales y la omisión de la señalización de la información relacionada con límites.
Compendio
Según la invención, se provee un método de decodificación como se establece en la reivindicación 1, se provee un método de codificación como se establece en la reivindicación 12, un medio de almacenamiento que almacena un flujo de bits como se establece en la reivindicación 13, y un método de transmisión como se establece en la reivindicación 14.
La invención se describe en el contexto de las Figuras 7-10.
Según una realización del presente documento, el filtrado en bucle puede llevarse a cabo basándose en límites virtuales.
Según una realización del presente documento, un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) puede incluir un indicador habilitado de límites virtuales de SPS que indica si se lleva a cabo un filtrado en bucle a lo largo de límites virtuales.
Según una realización del presente documento, el filtrado en bucle puede llevarse a cabo a lo largo de los límites virtuales, basándose en el indicador habilitado de límites virtuales de SPS.
Según una realización del presente documento, se provee un aparato de codificación para llevar a cabo la codificación de vídeo/imagen.
Según una realización del presente documento, se provee un medio de almacenamiento digital legible por ordenador en el cual se almacena información de vídeo/imagen codificada, generada según el método de codificación de vídeo/imagen descrito en al menos una de las realizaciones del presente documento.
Según una realización del presente documento, se provee un medio de almacenamiento digital legible por ordenador en el cual se almacena información codificada o información de vídeo/imagen codificada, que provoca la realización del método de decodificación de vídeo/imagen descrito en al menos una de las realizaciones del presente documento por el aparato de decodificación.
Según una realización del presente documento, se puede mejorar la eficiencia global de compresión de imagen/vídeo. Según una realización del presente documento, la calidad visual subjetiva/objetiva puede mejorarse a través de un filtrado eficiente.
Un proceso de filtrado en bucle basado en límites virtuales según una realización del presente documento puede ahorrar un recurso de hardware.
Según una realización del presente documento, el proceso de filtrado en bucle basado en los límites virtuales puede llevarse a cabo de manera efectiva, y el rendimiento de filtrado puede mejorarse.
Según una realización del presente documento, la información para el filtrado en bucle basado en los límites virtuales puede señalizarse de manera efectiva.
Breve descripción de los dibujos
La Figura 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 Figura 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 Figura 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 Figura 4 muestra a modo de ejemplo una arquitectura jerárquica para un vídeo/imagen codificado.
La Figura 5 es un diagrama de flujo que ilustra un método de codificación basado en el filtrado en un aparato de codificación.
La Figura 6 es un diagrama de flujo que ilustra un método de decodificación basado en el filtrado en un aparato de decodificación.
La Figura 7 y la Figura 8 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según las realizaciones del presente documento.
La Figura 9 y la Figura 10 muestran esquemáticamente un ejemplo de un método de decodificación de imágenes/vídeo y componentes relacionados según realizaciones del presente documento.
La Figura 11 muestra un ejemplo de un sistema de flujo continuo de contenido al que pueden aplicarse realizaciones descritas en el presente documento.
Descripción de realizaciones a modo de ejemplo
Se describirán e ilustrarán realizaciones específicas en los dibujos. Sin embargo, las realizaciones no pretenden limitar la descripción. Los términos usados en la siguiente descripción se usan para describir simplemente 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 como, por ejemplo, "incluir" y "tener' pretenden indicar que existen características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos usados en la siguiente descripción y debe entenderse, por lo tanto, que no se excluye la posibilidad de existencia o adición de una o más características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos diferentes.
Además, cada configuración de los dibujos descritos en este documento es una ilustración independiente para explicar funciones como características que son diferentes entre sí, y no significa que cada configuración se implemente mediante hardware mutuamente diferente o software diferente. Por ejemplo, dos o más de las configuraciones pueden combinarse para formar una configuración, y una configuración también puede dividirse en múltiples configuraciones.
A continuación en la presente memoria, se describirán en detalle ejemplos de la presente realización con referencia a los dibujos anexos. Además, se usan numerales de referencia iguales para indicar elementos iguales en todos los dibujos, y se omitirán las mismas descripciones de los elementos iguales.
Este documento se refiere a la codificación de vídeo/imagen. Por ejemplo, los métodos/realizaciones descritos en este documento pueden estar relacionados con el estándar de codificación de vídeo versátil (VVC, por sus siglas en inglés) (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 (p. ej., la norma de codificación de vídeo de alta eficiencia (HEVC, por sus siglas en inglés) (ITU-T Rec. H.265), estándar de codificación de vídeo esencial (EVC, por sus siglas en inglés), estándar AVS2, y similares).
Este documento sugiere diversas realizaciones de codificación de vídeo/imagen, y las realizaciones anteriores también pueden llevarse a cabo en combinación entre sí a menos que se especifique lo contrario.
En este documento, un vídeo puede referirse a una serie de imágenes a lo largo del tiempo. Una imagen se refiere generalmente a la unidad que representa una imagen en un marco de tiempo particular, y un segmento/mosaico se refiere a la unidad que constituye una parte de la imagen en términos de codificación. Un segmento/mosaico puede incluir una o más unidades de árbol de codificación (CTU, por sus siglas en inglés). Una imagen puede consistir en uno o más segmentos/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 la unidad más pequeña que constituye una imagen. Además, 'muestra' puede usarse como un término correspondiente a un píxel. Una muestra puede representar generalmente un píxel o un valor de un píxel, y puede representar solo un píxel/valor de píxel de un componente de luma o solo un píxel/valor de píxel de un componente de croma.
Una unidad puede representar una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica de la imagen e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (por ejemplo cb, cr). La unidad puede usarse indistintamente con términos como, por ejemplo, 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 al dominio de la frecuencia, puede significar un coeficiente de transformada en el dominio de la frecuencia.
En este documento, los términos "/" y "," deben interpretarse como unos que indican "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". Asimismo, "A/B/C" puede significar "al menos uno de A, B y/o C".
Además, en el documento, el término "o" debe interpretarse como uno 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 debe interpretarse como uno que indica "de manera adicional o alternativa".
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" puede interpretarse 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 usados en la presente memoria descriptiva pueden significar "por ejemplo". Específicamente, en el caso de que se exprese "predicción (intrapredicción)", puede indicarse que se propone "intrapredicción" como ejemplo de "predicción". En otras palabras, el término "predicción" en la presente memoria descriptiva no se limita a "intrapredicción", y puede indicarse 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)", puede indicarse 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 pueden implementarse individualmente o pueden implementarse simultáneamente.
La Figura 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 Figura 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo de origen y un dispositivo de recepción. El dispositivo de origen puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio o red de almacenamiento digital en forma de un archivo o flujo continuo.
El dispositivo de origen puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo receptor puede incluir un receptor, un aparato de decodificación y un renderizador. El aparato de codificación puede denominarse aparato de codificación de vídeo/imagen, y el aparato de decodificación puede denominarse aparato de decodificación de vídeo/imagen. El transmisor puede incluirse en el aparato de codificación. El receptor puede estar incluido en el aparato de decodificación. El renderizador puede incluir una pantalla, y la pantalla puede configurarse como un dispositivo separado o un componente externo.
La fuente de vídeo puede adquirir vídeo/imagen a través de un proceso de captura, síntesis o generación del vídeo/imagen. La fuente de vídeo puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo generador de vídeo/imagen. El dispositivo de captura de video/imagen puede incluir, por ejemplo, una o más cámaras, archivos de video/imagen que incluyen video/imágenes capturadas previamente y similares. El dispositivo generador de vídeo/imagen puede incluir, por ejemplo, ordenadores, tabletas y teléfonos inteligentes, y puede generar (electrónicamente) vídeo/imágenes. Por ejemplo, se puede generar un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de video/imagen puede ser sustituido por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede llevar a cabo una serie de procesos como, por ejemplo, predicción, transformación y cuantificación para la eficiencia de compactación y codificación. Los datos codificados (información de vídeo/imagen codificada) pueden emitirse en forma de un flujo de bits.
El transmisor puede transmitir la imagen/información de imagen codificada o datos emitidos 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 flujo continuo. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento como, por ejemplo, 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 puede decodificar el vídeo/imagen llevando a cabo una serie de procesos como, por ejemplo, descuantificación, transformada inversa y predicción correspondientes al funcionamiento del aparato de codificación.
El renderizador puede renderizar el vídeo/imagen decodificado. El vídeo/imagen renderizada puede mostrarse a través de la pantalla.
La Figura 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 aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
Con referencia a la Figura 2, el aparato 200 de codificación puede incluir y configurarse con un particionador 210 de imágenes, un predictor 220, un procesador 230 residual, un codificador 240 de entropía, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un interpredictor 221 y un intrapredictor 222. El procesador 230 residual puede incluir un transformador 232, un cuantificador 233, un descuantificador 234 y un transformador 235 inverso. El procesador 230 residual puede incluir además un restador 231. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. El particionador 210 de imagen, el predictor 220, el procesador 230 residual, el codificador 240 de entropía, el sumador 250 y el filtro 260, que se han descrito más arriba, pueden configurarse mediante uno o más componentes de hardware (p. ej., conjuntos de chips o procesadores de codificador) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes decodificadas (DPB, por sus siglas en inglés) y también puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El particionador 210 de imagen puede dividir una entrada de imagen de entrada (o, imagen, fotograma) ingresada en el aparato 200 de codificación en una o más unidades de procesamiento. Como ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU, por sus siglas en inglés). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol cuaternario árbol binario árbol ternario (QTBTTT, por sus siglas en inglés) de una unidad de árbol de codificación (CTU) o la unidad de codificación más grande (LCU, por sus siglas en inglés). Por ejemplo, una unidad de codificación puede dividirse en múltiples unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura de árbol ternario. En este caso, por ejemplo, se aplica primero la estructura de árbol cuaternario y la estructura de árbol binario y/o la estructura de árbol ternario pueden aplicarse más tarde. Alternativamente, la estructura de árbol binario también puede aplicarse en primer lugar. Un proceso de codificación según la presente descripción puede llevarse a cabo basándose en una unidad de codificación final que ya no se divide. En este caso, basándose en la eficiencia de codificación según características de imagen o similares, la unidad de codificación máxima puede usarse directamente como la unidad de codificación final o, según sea necesario, la unidad de codificación puede dividirse recursivamente en unidades de codificación de una profundidad más profunda, de manera que puede usarse una unidad de codificación que tiene un tamaño óptimo como la unidad de codificación final. En este caso, el proceso de codificación puede incluir un proceso como, por ejemplo, predicción, transformación y reconstrucción que se describirá más adelante. Como otro ejemplo, la unidad de procesamiento puede incluir además una unidad de predicción (PU, por sus siglas en inglés) o una unidad de transformación (TU, por sus siglas en inglés). En este caso, cada una de la unidad de predicción y la unidad de transformación puede dividirse o particionarse de la unidad de codificación final descrita anteriormente. La unidad de predicción puede ser una unidad de predicción de muestras, y la unidad de transformación puede ser una unidad para inducir un coeficiente de transformación y/o una unidad para inducir una señal residual a partir del coeficiente de transformada.
La unidad puede usarse indistintamente con el término como, por ejemplo, un bloque o un área en algunos casos. En general, un bloque MxN puede representar muestras compuestas por M columnas y N filas o un grupo de coeficientes de transformada. La muestra puede representar generalmente un píxel o un valor del píxel, y también puede representar solo el píxel/valor de píxel de un componente de luma, y también representar solo el píxel/valor de píxel de un componente de croma. La muestra puede usarse como el término correspondiente a un píxel o un pel que configura una imagen.
El restador 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 llevar a cabo la predicción para un bloque objetivo de procesamiento (en lo sucesivo, denominado "bloque actual"), y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor 220 puede determinar si la intrapredicción o la interpredicción se aplica en un bloque actual o en una unidad de CU. Como se describe más adelante en la descripción de cada modo de predicción, el predictor puede generar varios tipos de información relacionada con la predicción como, por ejemplo, información del modo de predicción, y transferir la información generada al codificador 240 de entropía. La información sobre la predicción puede codificarse en el codificador 240 de entropía y emitirse 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 referenciadas pueden ubicarse vecinas al bloque actual, o también pueden ubicarse alejadas del bloque actual según el modo de predicción. Los modos de predicción en la intrapredicción pueden incluir múltiples modos no direccionales y múltiples 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 pueden usarse según el ajuste. El intrapredictor 222 también puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
El interpredictor 221 puede inducir un bloque predicho del bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este momento, para disminuir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en 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 puede denominarse con un término como, por ejemplo, un bloque de referencia co-ubicado, una CU co-ubicada (colCU, por sus siglas en inglés) o similar, y la imagen de referencia que incluye el bloque vecino temporal también puede denominarse imagen co-ubicada (colPic, por sus siglas en inglés). Por ejemplo, el interpredictor 221 puede configurar una lista de candidatos de información de movimiento basándose en los bloques vecinos, y generar información que indica qué candidato se usa para derivar el vector de movimiento y/o el índice de imagen de referencia del bloque actual. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción y, por ejemplo, en el caso de un modo de salto y un modo de fusión, 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 salto, la señal residual puede no transmitirse a diferencia del modo de fusión. Un modo de predicción de vector de movimiento (MVP, por sus siglas en inglés) puede indicar el vector de movimiento del bloque actual usando el vector de movimiento del bloque vecino como un predictor de vector de movimiento, y señalando una diferencia de vector de movimiento.
El predictor 220 puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente tanto intrapredicción como interpredicción. Esto puede denominarse inter e intrapredicción combinadas (CIIP, por sus siglas en inglés). Además, el predictor puede llevar a cabo una copia intrabloque (IBC, por sus siglas en inglés) para la predicción de un bloque. La copia intrabloque puede usarse para la codificación de imágenes de contenido/imágenes en movimiento de un juego o similar, por ejemplo, codificación de contenido de pantalla (SCC, por sus siglas en inglés). La IBC lleva a cabo básicamente la predicción en la imagen actual, pero puede llevarse a cabo de manera similar a la interpredicción en donde se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar 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 del intrapredictor 222 puede usarse para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada aplicando una técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada puede incluir al menos una de una transformada de coseno discreta (DCT, por sus siglas en inglés), una transformada de seno discreta (DST, por sus siglas en inglés), una transformada basada en gráficos (GBT, por sus siglas en inglés) o una transformada condicionalmente no lineal (CNT, por sus siglas en inglés). En este caso, la GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles se representa por el gráfico. La CNT se refiere a la transformada obtenida basándose en una señal de predicción generada usando todos los píxeles reconstruidos previamente. Además, el proceso de transformada puede aplicarse a bloques de píxeles cuadrados que tienen el mismo tamaño, o puede aplicarse a bloques que tienen un tamaño variable en lugar de uno cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador 240 de entropía, y el codificador 240 de entropía 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 puede denominarse información residual. El cuantificador 233 puede reorganizar los coeficientes de transformada cuantificados tipo bloque en una forma de vector unidimensional basándose en un orden de exploración de coeficientes, y generar información sobre los coeficientes de transformada cuantificados basándose en los coeficientes de transformada cuantificados en la forma de vector unidimensional. El codificador 240 de entropía puede llevar a cabo diversos métodos de codificación como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC, por sus siglas en inglés), codificación aritmética binaria adaptativa al contexto (CABAC, por sus siglas en inglés) y similares. El codificador 240 de entropía 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 (p. ej., valores de elementos sintácticos y similares). La información codificada (p. ej., información de vídeo/imagen codificada) puede transmitirse o almacenarse en la unidad de una capa de abstracción de red (NAL, por sus siglas en inglés) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros como, por ejemplo, un conjunto de parámetros de adaptación (APS, por sus siglas en inglés), un conjunto de parámetros de imagen (PPS, por sus siglas en inglés), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS, por sus siglas en inglés). 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 describirse más adelante pueden codificarse a través del proceso de codificación descrito más arriba, e incluirse en el flujo de bits. El flujo de bits puede transmitirse a través de una red, o puede almacenarse en un medio de almacenamiento digital. En este caso, la red puede incluir una red de radiodifusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento como, por ejemplo, USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no se ilustra) que transmite una señal emitida desde el codificador 240 de entropía y/o una unidad de almacenamiento (no se ilustra) que almacena la señal pueden configurarse como un elemento interno/externo del aparato 200 de codificación y, alternativamente, el transmisor puede incluirse en el codificador 240 de entropía.
Los coeficientes de transformada cuantificados emitidos desde el cuantificador 233 pueden usarse para generar una señal de predicción. Por ejemplo, la señal residual (bloque residual o muestras residuales) puede reconstruirse aplicando descuantificación y transformada inversa a los coeficientes de transformada cuantificados a través del descuantificador 234 y del transformador 235 inverso. El sumador 250 suma la señal residual reconstruida a la señal de predicción emitida desde el predictor 220 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, muestras reconstruidas o matriz de muestras reconstruidas). Si no hay ningún residual para el bloque objetivo de procesamiento como, por ejemplo, un caso en donde se aplica un modo de salto, el bloque predicho puede usarse como el bloque reconstruido. La señal reconstruida generada puede usarse para la intrapredicción de un siguiente bloque objetivo de procesamiento en la imagen actual, y puede usarse para la interpredicción de una imagen siguiente a través del filtrado como se describe a continuación.
Mientras tanto, el mapeo de luma con escalado de croma (LMCS, por sus siglas en inglés) puede aplicarse durante un proceso 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 métodos 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 métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra (SAO, por sus siglas en inglés), 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 290 de entropía como se describe más adelante en la descripción de cada método de filtrado. La información relacionada con el filtrado puede ser codificada por el codificador 290 de entropía y emitida en forma de un flujo de bits.
La imagen reconstruida modificada transmitida a la memoria 270 puede usarse como una imagen de referencia en el interpredictor 221. Cuando la interpredicción se aplica a través del aparato de codificación, puede evitarse la falta de coincidencia de predicción entre el aparato 200 de codificación y el aparato de decodificación y puede mejorarse la eficiencia de codificación.
La DPB de la memoria 270 puede almacenar la imagen reconstruida modificada para su uso como la imagen de referencia en el interpredictor 221. La memoria 270 puede almacenar información de movimiento de un bloque del que 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 ha reconstruido. La información de movimiento almacenada puede transferirse al interpredictor 221 para utilizarse 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 Figura 3 es un diagrama para explicar esquemáticamente la configuración de un aparato de decodificación de vídeo/imagen al que puede aplicarse la descripción del presente documento.
Con referencia a la Figura 3, el aparato 300 de decodificación puede incluir y configurarse con un decodificador 310 de entropía, un procesador 320 residual, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un interpredictor 331 y un intrapredictor 332. El procesador 320 residual puede incluir un descuantificador 321 y un transformador 322 inverso. El decodificador 310 de entropía, el procesador 320 residual, el predictor 330, el sumador 340 y el filtro 350, que se han descrito más arriba, pueden configurarse mediante uno o más componentes de hardware (p. ej., conjuntos de chips o procesadores de decodificador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes decodificadas (DPB) y puede configurarse 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 300 de decodificación puede reconstruir la imagen en respuesta a un proceso en el cual la información de vídeo/imagen se procesa en el aparato de codificación ilustrado en la Figura 2. Por ejemplo, el aparato 300 de decodificación puede derivar las unidades/bloques basándose en información relacionada con la división de bloques adquirida a partir del flujo de bits. El aparato 300 de decodificación puede llevar a cabo la decodificación usando la unidad de procesamiento aplicada al aparato de codificación. Por lo tanto, la unidad de procesamiento para la decodificación puede ser, por ejemplo, una unidad de codificación, y la unidad de codificación puede dividirse según la estructura de árbol cuaternario, la estructura de árbol binario y/o la estructura de árbol ternario de la unidad de árbol de codificación o la unidad de codificación máxima. Una o más unidades de transformada pueden derivarse de la unidad de codificación. Además, la señal de imagen reconstruida decodificada y emitida a través del aparato 300 de decodificación puede reproducirse a través de un aparato de reproducción.
El aparato 300 de decodificación 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 puede decodificarse a través del decodificador 310 de entropía. Por ejemplo, el decodificador 310 de entropía puede analizar el flujo de bits para derivar información (p. ej., información de vídeo/imagen) necesaria para la reconstrucción de imágenes. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros como, por ejemplo, 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 la imagen basándose en la información sobre el conjunto de parámetros y/o la información de restricción general. La información señalizada/recibida y/o los elementos sintácticos descritos más adelante en este documento pueden decodificarse y obtenerse a partir del flujo de bits. Por ejemplo, el decodificador 310 de entropía decodifica la información en el flujo de bits basándose en un método de codificación como, por ejemplo, la codificación de Golomb exponencial, CAVLC o CABAC, y emite elementos sintácticos requeridos para la reconstrucción de imágenes y valores cuantificados de coeficientes de transformada para el residual. Más específicamente, el método de decodificación por entropía CABAC puede recibir un bin correspondiente a cada elemento sintáctico en el flujo de bits, determinar un modelo de contexto usando una información de elemento sintáctico objetivo de decodificación, decodificar información de un bloque objetivo de decodificación o información de un símbolo/bin decodificado en una etapa anterior, y llevar a cabo una decodificación aritmética en el bin prediciendo una probabilidad de aparición de un bin según el modelo de contexto determinado, y generar un símbolo correspondiente al valor de cada elemento sintáctico. En este caso, el método de decodificación por entropía CABAC puede actualizar el modelo de contexto usando 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 310 de entropía puede proveerse al predictor 330, y la información sobre el residual en donde se ha llevado a cabo la decodificación de entropía en el decodificador 310 de entropía, es decir, los coeficientes de transformada cuantificados y la información de parámetros relacionados, puede introducirse en el descuantificador 321. Además, la información sobre el filtrado entre la información decodificada por el decodificador 310 de entropía puede proveerse al filtro 350. Mientras tanto, un receptor (no se ilustra) para recibir una señal emitida desde el aparato de codificación puede configurarse además como un elemento interno/externo del aparato 300 de decodificación, o el receptor puede ser un elemento constituyente del decodificador 310 de entropía. Mientras tanto, el aparato de decodificación según el presente documento puede denominarse aparato de decodificación de vídeo/imagen, y el aparato de decodificación puede clasificarse en un decodificador de información (decodificador de información de vídeo/imagen) y un decodificador de muestra (decodificador de muestra de vídeo/imagen). El decodificador de información puede incluir el decodificador 310 de entropía, y el decodificador de muestras puede incluir al menos uno del descuantificador 321, el transformador 322 inverso, el predictor 330, el sumador 340, el filtro 350 y la memoria 360.
El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados para emitir 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 puede llevarse a cabo basándose en un orden de exploración de coeficientes llevado a cabo por el aparato de codificación. El descuantificador 321 puede llevar a cabo la descuantificación para los coeficientes de transformada cuantificados usando un parámetro de cuantificación (p. ej., información de tamaño de etapa de cuantificación), y adquirir los coeficientes de transformada.
El transformador 322 inverso transforma inversamente los coeficientes de transformada para adquirir la señal residual (bloque residual, matriz de muestras residuales).
El predictor 330 puede llevar a cabo 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 si se aplica la interpredicción al bloque actual basándose en la información sobre la predicción emitida desde el decodificador 310 de entropía, y determinar un modo de intrapredicción/interpredicción específico.
El predictor puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente intrapredicción e interpredicción. Esto puede denominarse inter e intrapredicción combinadas (CIIP). Además, el predictor puede llevar a cabo una copia intrabloque (IBC) para la predicción de un bloque. La copia intrabloque puede usarse para la codificación de imágenes de contenido/imágenes en movimiento de un juego o similar, por ejemplo, codificación de contenido de pantalla (SCC). La IBC lleva a cabo básicamente la predicción en la imagen actual, pero puede llevarse a cabo de manera similar a la interpredicción en donde se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de interpredicción descritas en el presente documento.
El predictor intra 332 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en las proximidades del bloque actual, o pueden estar ubicadas separadas del bloque actual según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir múltiples modos no direccionales y múltiples modos direccionales. El intrapredictor 332 puede determinar el modo de predicción a aplicar al bloque actual usando el modo de predicción aplicado al bloque vecino.
El interpredictor 331 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento que se transmite en el modo de interpredicción, la información de movimiento puede predecirse en la unidad de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información sobre la dirección de interpredicción (predicción L0, predicción L1, predicción Bi y similares). En caso de 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 basándose en bloques vecinos, y derivar un vector de movimiento del bloque actual y/o un índice de imagen de referencia basándose en la información de selección de candidatos recibida. La interpredicción puede llevar a cabo basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica un modo de interpredicción para el bloque actual.
El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido o matriz de muestras reconstruidas) sumando 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 ningún residual para el bloque objetivo de procesamiento como, por ejemplo, un caso en donde se aplica un modo de salto, el bloque predicho puede usarse como el bloque reconstruido.
El sumador 340 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada puede usarse para la intrapredicción de un siguiente bloque que va a procesarse en la imagen actual y, como se describe más adelante, también puede emitirse a través de filtrado o también puede usarse para la interpredicción de una imagen siguiente.
Mientras tanto, también puede aplicarse un mapeo de luma con escalado de croma (LMCS) en el proceso 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 métodos 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 métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral y similares.
La imagen reconstruida (modificada) almacenada en la DPB de la memoria 360 puede usarse como una imagen de referencia en el interpredictor 331. La memoria 360 puede almacenar la información de movimiento del bloque del que 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 puede transferirse al interpredictor 331 para utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 360 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual, y transferir las muestras reconstruidas al intrapredictor 332.
En la presente memoria descriptiva, las realizaciones descritas en el predictor 330, el descuantificador 321, el transformador 322 inverso y el filtro 350 del aparato 300 de decodificación también pueden aplicarse de la misma manera o correspondiente al predictor 220, descuantificador 234, transformador 235 inverso y filtro 260 del aparato 200 de codificación.
Mientras tanto, como se ha descrito más arriba, al llevar a cabo la codificación de vídeo, se lleva a cabo la predicción 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 objetivo 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 residual 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 de este modo la eficiencia de codificación de imágenes. El aparato de decodificación puede derivar un bloque residual que incluye muestras residuales en base a la información residual, añadir 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 puede generarse a través de un proceso 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, llevar a cabo un proceso de transformada en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformada, llevar a cabo un proceso de cuantificación en los coeficientes de transformada para derivar coeficientes de transformada cuantificados e información residual relacionada con la señal al aparato de decodificación (a través de un flujo de bits). En este caso, 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 llevar a cabo un proceso de descuantificación/transformada inversa en base a la información residual y derivar muestras residuales (o bloques residuales). El aparato de decodificación puede generar una imagen reconstruida basándose en el bloque predicho y el bloque residual. Además, para referencia para la interpredicción de una imagen posteriormente, 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 basándose en los mismos.
En este documento, puede omitirse al menos una de cuantificación/descuantificación y/o transformada/transformada inversa. Cuando se omite la cuantificación/descuantificación, el coeficiente de transformada cuantificado puede denominarse coeficiente de transformada. Cuando se omite la transformada/transformada inversa, el coeficiente de transformada puede denominarse coeficiente o coeficiente residual o aún puede denominarse coeficiente de transformada para uniformidad de expresión.
En este documento, el coeficiente de transformada cuantificado y el coeficiente de transformada pueden denominarse coeficiente de transformada y coeficiente de transformada escalado, respectivamente. En este caso, la información residual puede incluir información sobre el(los) coeficiente(s) de transformada, y la información sobre el(los) coeficiente(s) de transformada puede señalizarse a través de la sintaxis de codificación residual. Los coeficientes de transformada pueden derivarse basándose en la información residual (o información sobre el(los) coeficiente(s) de transformada), y los coeficientes de transformada escalados pueden derivarse a través de la transformada inversa (escalado) sobre los coeficientes de transformada. Las muestras residuales pueden derivarse en base a la transformada inversa (transformada) de los coeficientes de transformada escalados. Esto puede aplicarse/expresarse también en otras partes de este documento.
El predictor del aparato de codificación/aparato de decodificación puede derivar muestras de predicción llevando a cabo la interpredicción en unidades de bloques. La interpredicción puede ser una predicción derivada de una manera que depende de elementos de datos (p. ej., valores de muestra o información de movimiento, etc.) de la(s) imagen(es) distinta(s) de la imagen actual. Cuando la interpredicción se aplica al bloque actual, basándose en el bloque de referencia (matrices de muestras de referencia) especificado por el vector de movimiento en la imagen de referencia apuntada por el índice de imagen de referencia, puede derivarse 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 puede predecirse en unidades de bloques, subbloques o muestras basándose en 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 puede denominarse bloque de referencia co-ubicado, una CU co-ubicada (colCU), etc., y una imagen de referencia que incluye el bloque vecino temporalmente puede denominarse imagen co-ubicada (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede construirse basándose en bloques vecinos del bloque actual, y puede señalizarse una información de indicador o índice que indica qué candidato se selecciona (usa) para derivar el vector de movimiento y/o el índice de imagen de referencia del bloque actual. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción. Por ejemplo, en el modo de salto 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 salto, a diferencia del modo de fusión, puede que no se transmita una señal residual. En el caso de un modo de predicción de vectores de movimiento (MVP), se puede usar un vector de movimiento de un bloque vecino seleccionado como predictor de vector de movimiento, y se puede señalizar una diferencia de vectores de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse usando la suma del predictor de vector de movimiento y la diferencia de vector de movimiento.
La información de movimiento puede incluir información de movimiento L0 y/o información de movimiento L1 según un tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). Un vector de movimiento en la dirección L0 puede denominarse vector de movimiento L0 o MVL0, y un vector de movimiento en la dirección L1 puede denominarse vector de movimiento L1 o MVL1. La predicción basada en el vector de movimiento L0 puede denominarse predicción L0, la predicción basada en el vector de movimiento L1 puede denominarse predicción L1, y la predicción basada tanto en el vector de movimiento L0 como en el vector de movimiento L1 puede denominarse bipredicción. En este caso, el vector de movimiento L0 puede indicar un vector de movimiento asociado a la lista de imágenes de referencia L0 (L0), y el vector de movimiento L1 puede indicar un vector de movimiento asociado a 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 el 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 el orden de salida. Las imágenes anteriores pueden denominarse imágenes (de referencia) hacia delante, y las imágenes posteriores pueden denominarse imágenes (de referencia) hacia atrás. 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 pueden indexarse primero, y las imágenes posteriores pueden indexarse 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 pueden indexarse primero en la lista de imágenes de referencia 1 y las imágenes anteriores pueden indexarse a continuación. En este caso, el orden de salida puede corresponder a un orden de recuento de orden de imágenes (POC, por sus siglas en inglés).
La Figura 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado.
Con referencia a la Figura 4, la imagen/vídeo codificado se divide en VCL (capa de codificación de vídeo, VCL, por sus siglas en inglés) que trata con un proceso de decodificación de imagen/vídeo y sí mismo, un subsistema que transmite y almacena la información codificada, y una capa de abstracción de red (NAL) que existe entre la VCL y los subsistemas y que 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 segmento) 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 suplementaria (SEI, por sus siglas en inglés) adicionalmente necesario para el proceso de decodificación de una imagen.
En la NAL, una unidad de NAL puede generarse añadiendo información de encabezado (encabezado de unidad de NAL) a una carga útil de secuencia de bytes sin procesar (RBSP, por sus siglas en inglés) generada en la VCL. En este caso, la RBSP se refiere a datos de segmento, conjuntos de parámetros, mensajes SEI, etc., generados en la VCL. El encabezado de unidad NAL puede incluir información de tipo de unidad NAL especificada según datos de RBSP incluidos en la unidad NAL correspondiente.
Como se muestra en la figura, la unidad NAL puede dividirse en una unidad VCL NAL y una unidad No VCL NAL según la RBSP generada en la VCL. La unidad VCL NAL puede significar una unidad NAL que incluye información (datos segmentados) sobre una imagen, y la unidad No VCL NAL puede significar una unidad NAL que contiene información (conjunto de parámetros o mensaje SEI) necesaria para decodificar una imagen.
La unidad VCL NAL y la unidad No VCL NAL descritas más arriba pueden transmitirse a través de una red uniendo información de encabezado según un estándar de datos del subsistema. Por ejemplo, la unidad NAL puede transformarse en una forma de datos de un estándar predeterminado como, por ejemplo, formato de archivo H.266/VVC, Protocolo de Transporte en Tiempo Real (RTP, por sus siglas en inglés), Flujo de Transporte (TS, por sus siglas en inglés), etc. y transmitirse a través de diversas redes.
Como se ha descrito más arriba, en la unidad NAL, el tipo de unidad NAL puede especificarse según la estructura de datos de RBSP incluida en la unidad NAL correspondiente, y la información sobre este tipo de unidad NAL puede almacenarse y señalizarse en el encabezado de unidad NAL.
Por ejemplo, la unidad NAL puede clasificarse aproximadamente en el tipo de unidad VCL NAL y el tipo de unidad No VCL NAL dependiendo de si la unidad NAL incluye información sobre la imagen (datos de fragmento). El tipo de unidad VCL NAL puede clasificarse según la propiedad y un tipo de una imagen incluida en la unidad VCL NAL, y el tipo de unidad No VCL NAL puede clasificarse según el tipo de un conjunto de parámetros.
Lo siguiente es un ejemplo del tipo de unidad NAL especificado según el tipo de conjunto de parámetros incluido en el tipo de unidad No Vc L NAL.
- Unidad NAL de APS (conjunto de parámetros de adaptación): tipo para unidad NAL que incluye APS
- Unidad NAL de DPS (conjunto de parámetros de decodificación): tipo para unidad NAL que incluye DPS
- Unidad NAL de VPS (conjunto de parámetros de vídeo): tipo para unidad NAL que incluye VPS
- Unidad NAL de SPS (conjunto de parámetros de secuencia): tipo para unidad NAL que incluye SPS
- Unidad NAL de PPS (conjunto de parámetros de imagen): tipo para unidad NAL que incluye PPS
- Unidad NAL de PH (encabezado de imagen): tipo para unidad NAL que incluye PH
Los tipos de unidad NAL descritos más arriba tienen información sintáctica para el tipo de unidad NAL, y la información sintáctica puede almacenarse y señalizarse en el encabezado de unidad NAL. Por ejemplo, la información sintáctica puede ser nal_unit_type, y los tipos de unidades NAL pueden especificarse mediante un valor nal_unit_type.
Mientras tanto, como se describió más arriba, una imagen puede incluir múltiples segmentos, y un segmento puede incluir un encabezado de segmento y datos de segmento. En este caso, un encabezado de imagen puede añadirse además a múltiples segmentos (un encabezado de segmento y un conjunto de datos de segmento) en una imagen. El encabezado de imagen (sintaxis de encabezado de imagen) puede incluir información/parámetros comúnmente aplicables a la imagen. En este documento, un segmento puede mezclarse o reemplazarse con un grupo de mosaicos. Asimismo, en este documento, un encabezado de segmento puede mezclarse o sustituirse por un encabezado de grupo de tipo.
El encabezado de segmento (sintaxis de encabezado de segmento o información de encabezado de segmento) puede incluir información/parámetros comúnmente aplicables al segmento. El APS (sintaxis de APS) o PPS (sintaxis de PPS) pueden incluir información/parámetros comúnmente aplicables a uno o más segmentos o imágenes. El SPS (sintaxis de SPS) puede incluir información/parámetros comúnmente aplicables a una o más secuencias. El VPS (sintaxis de VPS) puede incluir información/parámetros comúnmente aplicables a múltiples capas. El DPS (sintaxis de DPS) puede incluir información/parámetros comúnmente aplicables a todo el vídeo. El DPS puede incluir información/parámetros relacionados con la concatenación de una secuencia de vídeo codificada (CVS, por sus siglas en inglés). En este documento, la sintaxis de alto nivel (HLS, por sus siglas en inglés) puede incluir al menos una de la sintaxis de APS, la sintaxis de PPS, la sintaxis de SPS, la sintaxis de VPS, la sintaxis de DPS, la sintaxis de encabezado de imagen y la sintaxis de encabezado de segmento.
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 segmento, 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 puede incluir además información del encabezado de unidad NAL.
Mientras tanto, para compensar una diferencia entre una imagen original y una imagen reconstruida debido a un error que ocurre en un proceso de codificación de compresión como, por ejemplo, cuantificación, se puede llevar a cabo un proceso de filtrado en bucle en muestras reconstruidas o imágenes reconstruidas como se describió más arriba. Como se ha descrito más arriba, el filtrado en bucle puede llevarse a cabo por el filtro del aparato de codificación y el filtro del aparato de decodificación, y puede aplicarse un filtro de desbloqueo, SAO y/o un filtro de bucle adaptativo (ALF, por sus siglas en inglés). Por ejemplo, el proceso de ALF puede llevarse a cabo después de que se completen el proceso de filtrado de desbloqueo y/o el proceso de SAO. Sin embargo, incluso en este caso, el proceso de filtrado de desbloqueo y/o el proceso SAO pueden omitirse.
En lo sucesivo, se describirá en detalle la reconstrucción y el filtrado de imágenes. En la codificación de imagen/vídeo, se puede generar un bloque reconstruido basándose en la intrapredicción/interpredicción en cada unidad de bloque, y se puede generar una imagen reconstruida que incluya los bloques reconstruidos. Cuando la imagen/segmento actual es una imagen/segmento I, los bloques incluidos en la imagen/segmento actual pueden reconstruirse basándose solo en la intrapredicción. Mientras tanto, cuando la imagen/segmento actual es una imagen/segmento P o B, los bloques incluidos en la imagen/segmento actual pueden reconstruirse basándose en la intrapredicción o la interpredicción. En este caso, la intrapredicción puede aplicarse a algunos bloques en la imagen/segmento actual, y la interpredicción puede aplicarse a los bloques restantes.
La intrapredicción puede representar una predicción para generar muestras de predicción para el bloque actual basándose en 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 van a usar 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, muestras totales de 2xnH vecinas de la parte inferior izquierda, una muestra adyacente al límite superior del bloque actual, muestras totales de 2xnW vecinas de la parte superior derecha y una muestra vecina de la parte superior izquierda del bloque actual. Alternativamente, las muestras de referencia vecinas del bloque actual pueden incluir la muestra vecina superior de columnas plurales y la muestra vecina izquierda de filas plurales. Alternativamente, 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, algunas de las muestras de referencia vecinas del bloque actual pueden no haber sido decodificadas aún o pueden no estar disponibles. En este caso, el decodificador puede configurar las muestras de referencia vecinas que se van a usar para la predicción a través de la sustitución de muestras disponibles por las muestras no disponibles. Alternativamente, las muestras de referencia vecinas que se van a usar para la predicción pueden configurarse 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) en el que se puede derivar una muestra de predicción basándose en un promedio o interpolación de muestras de referencia vecinas de un bloque actual, y un caso (ii) en el que se puede derivar la muestra de predicción basándose en una muestra de referencia presente en una dirección específica (predicción) para la muestra de predicción entre las muestras de referencia vecinas del bloque actual. El caso (i) puede denominarse un modo no direccional o un modo no angular, y el caso (ii) puede denominarse un modo direccional o un modo angular. Además, la muestra de predicción también puede generarse a través de una primera muestra vecina y una segunda muestra vecina ubicadas en una dirección opuesta a la dirección de predicción del modo de intrapredicción del bloque actual basándose en la muestra de predicción del bloque actual entre las muestras de referencia vecinas. El caso anterior puede denominarse intrapredicción por interpolación lineal (LIP, por sus siglas en inglés). Además, pueden generarse muestras de predicción de croma basándose en muestras de luma usando un modelo lineal. Este caso puede denominarse modo LM. Además, una muestra de predicción temporal del bloque actual puede derivarse en base a muestras de referencia vecinas filtradas. 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 pueden sumarse ponderadamente para derivar la muestra de predicción del bloque actual. El caso anterior puede denominarse una intrapredicción dependiente de la posición (PDPC, por sus siglas en inglés). 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 puede seleccionarse para derivar la muestra de predicción usando la muestra de referencia localizada en la dirección de predicción en la línea correspondiente, y la línea de muestra de referencia usada en la presente memoria puede indicarse (señalizarse) a un aparato de decodificación, llevando a cabo de este modo la codificación de intrapredicción. El caso anterior puede denominarse intrapredicción de línea de referencia múltiple (MRL, por sus siglas en inglés) o intrapredicción basada en MRL. Además, la intrapredicción puede llevarse a cabo basándose en el mismo modo de intrapredicción dividiendo el bloque actual en subparticiones verticales u horizontales, y pueden derivarse muestras de referencia vecinas y usarse en unidades 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 la intrapredicción puede mejorarse en algunos casos derivando y usando las muestras de referencia vecinas en unidades de las subparticiones. Dicho método de predicción puede denominarse intrasubparticiones (ISP) o intrapredicción basada en ISP. Los métodos de intrapredicción descritos anteriormente pueden denominarse un tipo de intrapredicción distinto del modo de intrapredicción en las secciones 1.2. El tipo de intrapredicción puede llamarse con diversos términos como, por ejemplo, una técnica de intrapredicción o un modo de intrapredicción adicional o similar. Por ejemplo, el tipo de intrapredicción (o modo de intrapredicción adicional o similar) puede incluir al menos uno de las LIP, PDPC, m Rl e ISP descritas anteriormente. Un método de intrapredicción general, excepto el tipo de intrapredicción específico como, por ejemplo, LIP, PDPC, MRL o ISP, puede denominarse un tipo de intrapredicción normal. El tipo de intrapredicción normal puede aplicarse generalmente cuando no se aplica el tipo de intrapredicción específico, y la predicción puede llevarse a cabo basándose en el modo de intrapredicción descrito anteriormente. Mientras tanto, opcionalmente, se puede llevar a cabo un filtrado posterior al procesamiento en la muestra de predicción derivada.
Específicamente, el proceso 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 basándose en el modo/tipo de intrapredicción. Además, opcionalmente, se puede llevar a cabo una operación de filtrado posterior al procesamiento en la muestra de predicción derivada.
Una imagen reconstruida modificada puede generarse a través del proceso de filtrado en bucle, y la imagen reconstruida modificada puede emitirse como una imagen decodificada en el aparato de decodificación y también puede almacenarse en una memoria intermedia de imágenes decodificadas o memoria del aparato de codificación/aparato de decodificación y usarse como una imagen de referencia en el proceso de interpredicción cuando la imagen se codifica/decodifica en un momento posterior. El proceso de filtrado en bucle puede incluir un proceso de filtrado de desbloqueo, un proceso de desplazamiento adaptativo de muestra (SAO) y/o un proceso de filtro de bucle adaptativo (ALF) como se ha descrito más arriba. En este caso, uno o algunos de los procesos de filtrado de desbloqueo, proceso SAO, proceso ALF y proceso de filtro bilateral pueden aplicarse secuencialmente, o todos los procesos pueden aplicarse secuencialmente. Por ejemplo, el proceso SAO puede llevarse a cabo después de que el proceso de filtrado de desbloqueo se aplique a la imagen reconstruida. De manera alternativa, por ejemplo, el proceso de ALF puede llevarse a cabo después de que el proceso de filtrado de desbloqueo se aplique a la imagen reconstruida. Esto también puede llevarse a cabo 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 proceso de filtrado de desbloqueo puede, por ejemplo, derivar un límite objetivo en la imagen reconstruida, determinar una intensidad de límite (bS, por sus siglas en inglés) para el límite objetivo y llevar a cabo un filtrado de desbloqueo en el límite objetivo, en base a la bS. La bS puede determinarse basándose en 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 objetivo.
El SAO es un método en el que una diferencia de desplazamiento entre la imagen reconstruida y la imagen original se compensa sobre una base de muestra. Por ejemplo, el SAO puede aplicarse basándose en un tipo como, por ejemplo, un desplazamiento de banda, un desplazamiento de borde o similar. Según el SAO, las muestras pueden clasificarse en diferentes categorías según cada tipo de SAO, y puede añadirse un valor de desplazamiento a cada muestra, basándose en la categoría. La información de filtrado para el SAO puede incluir información sobre si se aplica el SAO, información de tipo de SAO, información de valor de desplazamiento de SAO o similares. El SAO puede aplicarse 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, en base a 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 similar comparando la imagen reconstruida y la imagen original, y puede señalizar 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 puede aplicarse a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
La Figura 5 es un diagrama de flujo que ilustra un método de codificación basado en el filtrado en un aparato de codificación. El método de la Figura 5 puede incluir las etapas E500 a E530.
En la etapa E500, el aparato de codificación puede generar una imagen reconstruida. La etapa E500 puede llevarse a cabo basándose en el proceso de generación de imagen reconstruida (o muestras reconstruidas) descrito anteriormente.
En la etapa E510, el aparato de codificación puede determinar si se aplica un filtrado en bucle (a lo largo de un límite virtual) basándose en información relacionada con el filtrado en bucle. En la presente memoria, el filtrado en bucle puede incluir al menos uno de los filtros de desbloqueo, SAO y ALF descritos anteriormente.
En la etapa E520, el aparato de codificación puede generar una imagen reconstruida modificada (muestras reconstruidas modificadas) basándose en la determinación de la etapa E510. En la presente memoria, la imagen reconstruida modificada (muestras reconstruidas modificadas) puede ser una imagen reconstruida filtrada (muestras reconstruidas filtradas).
En la etapa E530, el aparato de codificación puede codificar información de imagen/vídeo que incluye la información relacionada con el filtrado en bucle, basándose en el proceso de filtrado en bucle.
La Figura 6 es un diagrama de flujo que ilustra un método de decodificación basado en el filtrado en un aparato de decodificación. El método de la Figura 6 puede incluir las etapas E600 a E630.
En la etapa E600, el aparato de decodificación puede obtener información de imagen/vídeo que incluye información relacionada con el filtrado en bucle a partir de un flujo de bits. En la presente memoria, el flujo de bits puede basarse en información de imagen/vídeo codificada transmitida desde el aparato de codificación.
En la etapa E610, el aparato de decodificación puede generar una imagen reconstruida. La etapa E610 puede llevarse a cabo basándose en la imagen reconstruida (o muestras reconstruidas) descrita anteriormente.
En la etapa E620, el aparato de decodificación puede determinar si se aplica un filtrado en bucle (a lo largo de un límite virtual) basándose en la información relacionada con el filtrado en bucle. En la presente memoria, el filtrado en bucle puede incluir al menos uno de los filtros de desbloqueo, SAO y ALF descritos anteriormente.
En la etapa E630, el aparato de decodificación puede generar una imagen reconstruida modificada (muestras reconstruidas modificadas) basándose en la determinación de la etapa E620. En la presente memoria, la imagen reconstruida modificada (muestras reconstruidas modificadas) puede ser una imagen reconstruida filtrada (muestras reconstruidas filtradas).
Como se ha descrito más arriba, el proceso de filtrado en bucle puede aplicarse a la imagen reconstruida. En este caso, se puede definir un límite virtual para mejorar aún más la calidad visual subjetiva/objetiva de la imagen reconstruida, y el proceso de filtrado en bucle se puede aplicar a lo largo del límite virtual. El límite virtual puede incluir, por ejemplo, un borde discontinuo como, por ejemplo, una imagen de 360 grados, una imagen de VR, un límite, una imagen en imagen (PIP, por sus siglas en inglés) o similares. Por ejemplo, el límite virtual puede estar presente en una ubicación predeterminada, y puede señalizarse una presencia y/o ubicación del mismo. Por ejemplo, el límite virtual puede ubicarse 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 la presente y/o ubicación del límite virtual puede señalizarse a través de HLS. La HLS puede incluir el SPS, el PPS, el encabezado de imagen, el encabezado de segmento o similares, como se ha descrito más arriba.
En lo sucesivo, se describirá una semántica y señalización sintáctica de alto nivel según realizaciones de la presente descripción.
Una realización del presente documento puede incluir un método para controlar filtros de bucle. El presente método para controlar los filtros de bucle puede aplicarse a una imagen reconstruida. Los filtros en bucle (filtros de bucle) pueden usarse para decodificar flujos de bits codificados. Los filtros de bucle pueden incluir el desbloqueo, SAO y ALF descritos anteriormente. El SPS puede incluir indicadores relacionados con cada uno de los elementos de desbloqueo, SAO y 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 (CLVS, por sus siglas en inglés) o una secuencia de vídeo codificada (CVS) que se refiere al SPS.
Cuando los filtros de bucle están disponibles para la CVS, la aplicación de los filtros de bucle puede controlarse para no estar a través de límites específicos. Por ejemplo, se puede controlar si los filtros de bucle están a través de los límites de subimagen. Además, se puede controlar si los filtros de bucle están a través de los límites de los mosaicos. Además de esto, se puede controlar si los filtros de bucle están a través de límites virtuales. En la presente memoria, los límites virtuales pueden definirse en CTU basándose en la disponibilidad de una memoria intermedia de línea.
Con respecto a si el proceso de filtrado en bucle se lleva a cabo a través del límite virtual, la información relacionada con el filtrado en bucle puede incluir al menos uno de un indicador habilitado de límites virtuales de SPS (un indicador habilitado de límites virtuales en un SPS), un indicador de presencia de límites virtuales de SPS, un indicador de presencia de límites virtuales de encabezado de imagen, un indicador de presencia de límites virtuales de encabezado de imagen de SPS e información sobre una posición de límites virtuales.
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 unidades de muestras de luma. Además, la información sobre la posición de los límites virtuales puede incluir información sobre el número de piezas de información (elementos sintácticos) sobre la coordenada x del límite virtual vertical que está presente en el SPS. Además, la información sobre la posición de los límites virtuales puede incluir información sobre el número de piezas de información (elementos sintácticos) sobre 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 piezas de información (elementos sintácticos) sobre 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 los límites virtuales puede incluir información sobre el número de piezas de información (elementos sintácticos) sobre 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 a modo 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 a modo 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 ejemplares de un encabezado de segmento según la presente realización.
Tabla 7
Tabla 8
En lo sucesivo, se describirá la señalización de información sobre límites virtuales que se puede usar en el filtrado en bucle.
En el diseño existente, con el fin de desactivar los filtros de bucle a través de límites virtuales, hay dos opciones, es decir, una opción i) en la cual un indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag ) puede establecerse en 0, y para cada encabezado de imagen, un indicador de presencia de límites virtuales de PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag) puede estar presente y establecerse en 0, y una opción ii) en la cual el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) puede establecerse en 1, e información sobre el número de límites virtuales verticales (sps_num_ver_vertical_boudnaries) de SPS e información sobre el número de límites virtuales horizontales (sps_num_hor_vertical_boudnaries) de SPS puede establecerse a 0.
En el diseño existente, según la opción ii), el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) se establece en 1, y por lo tanto un decodificador espera señalización en ubicaciones de límites virtuales, lo cual puede provocar un problema en un proceso de decodificación.
Las realizaciones descritas a continuación en la presente memoria pueden proponer soluciones para el problema descrito anteriormente. Las realizaciones pueden aplicarse independientemente. De manera alternativa, al menos dos realizaciones pueden aplicarse en combinación.
En una realización del presente documento, si los elementos sintácticos para indicar límites virtuales están incluidos en el SPS puede controlarse mediante indicador(es). Por ejemplo, el número de indicador(s) puede ser 2 (p. ej., indicador habilitado de límites virtuales de SPS, indicador de presencia de límites virtuales de SPS).
En un ejemplo según la presente realización, el indicador habilitado de límites virtuales de SPS puede denominarse sps_loop_filter_across_virtual_boundaries_disabled_flag (o sps_virtual_boundaries_enabled_flag). El indicador habilitado de límites virtuales de SPS puede indicar si una característica para desactivar un filtro de bucle a través de límites virtuales está habilitada.
En un ejemplo según la presente realización, el indicador de presencia de límites virtuales de SPS puede denominarse sps_loop_filter_across_virtual_boundaries_disabled_present_flag (o sps_virtual_boundaries_present_flag). El indicador de presencia de límites virtuales de SPS puede indicar si la información de señalización para límites virtuales está incluida en el SPS o en un encabezado de imagen (PH).
En un ejemplo según la presente realización, cuando el indicador de límites habilitados virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y el indicador de límites presentes virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 0, la información de señalización para desactivar el filtro de bucle a través de los límites virtuales puede incluirse en el PH.
En un ejemplo según la presente realización, cuando la información sobre las posiciones de los límites virtuales (p. ej., límites virtuales verticales, límites virtuales horizontales) se incluye en el<s>P<s>, puede restringirse que una suma del número de límites virtuales verticales y el número de límites virtuales horizontales sea mayor que 0.
En un ejemplo según la presente realización, se puede(n) derivar variable(s) que indica(n) si un filtro está desactivado en límites virtuales para la imagen actual. Por ejemplo, la(s) variable(s) puede(n) incluir VirtualBoundariesDisabledFlag.
Como un caso del presente ejemplo, cuando el indicador de habilitación de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, VirtualBoundariesDisabledFlag puede ser 1.
Como otro caso del presente ejemplo, cuando el indicador de habilitación de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1, el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 0, y una suma de información sobre el número de límites virtuales verticales (p. ej., ph_num_ver_virtual_boundaries) e información sobre el número de límites virtuales horizontales (p. ej., ph_num_hor_virtual_boundaries) es mayor que 0, VirtualBoundariesDisabledFlag puede ser 1.
En los otros casos del presente ejemplo, VirtualBoundariesDisabledFlag puede ser 0.
La siguiente tabla muestra una sintaxis a modo de ejemplo del SPS según la presente realización.
Tabla 9
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 10
La siguiente tabla muestra una sintaxis a modo de ejemplo de la información de encabezado (el encabezado de imagen) según la presente realización.
Tabla 11
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 12
En una realización relacionada con la Tabla 9 a la Tabla 12, la información de imagen obtenida por el aparato de codificación y/o la información de imagen obtenida a través de un flujo de bits recibido del aparato de codificación al aparato de decodificación puede incluir un conjunto de parámetros de secuencia (SPS) y un encabezado de imagen (Ph , por sus siglas en inglés). El SPS puede incluir un indicador habilitado de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir un indicador de presencia de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) de SPS, en base al indicador habilitado de límites virtuales.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el SPS puede incluir el indicador de presencia de límites virtuales de SPS. Basándose en el indicador habilitado de límites virtuales y el indicador de presencia de límites virtuales de SPS, el SPS puede incluir información sobre el número de límites virtuales verticales (sps_num_ver_virtual_boundaries) de SPS, información sobre una posición de límites virtuales verticales (sps_virtual_boundaries_pos_x[i]) de SPS, información sobre el número de límites virtuales horizontales (sps_num_hor_virtual_boundaries) de SPS e información sobre una posición de límites virtuales horizontales (sps_virtual_boundaries_pos_y[i]) de SPS. Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1 y un valor del indicador de presencia de límites virtuales de SPS es 1, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS, información sobre la posición de límites virtuales verticales de SPS, información sobre el número de límites virtuales horizontales de SPS e información sobre la posición de límites virtuales horizontales de SPS.
En un ejemplo, el número de piezas de información sobre la posición de límites virtuales verticales de SPS puede determinarse basándose en la información sobre el número de límites virtuales verticales de SPS, y el número de piezas de información sobre la posición de límites virtuales horizontales de SPS puede determinarse basándose en la información sobre el número de límites virtuales horizontales de SPS. Basándose en el indicador habilitado de límites virtuales y el indicador de presencia de límites virtuales de SPS, en encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH (ph_num_ver_virtual_boundaries ), información sobre una posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_x[i]), información sobre el número de límites virtuales horizontales de PH (ph_num_hor_virtual_boundaries) e información sobre una posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor del indicador habilitado para límites virtuales es 1 y un valor del indicador de presencia de límites virtuales de SPS es 0, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH, información sobre la posición de límites virtuales verticales de PH, información sobre el número de límites virtuales horizontales de PH e información sobre la posición de límite virtual horizontal de PH. En un ejemplo, el número de piezas de información sobre la posición de los límites virtuales verticales del PH puede determinarse basándose en la información sobre el número de los límites virtuales verticales del PH, y el número de piezas de información sobre la posición de los límites virtuales horizontales del PH puede determinarse basándose en la información sobre el número de los límites virtuales horizontales del PH.
En otra realización del presente documento, cada pieza de información de encabezado (encabezados de imagen) de imágenes que se refieren al SPS puede incluir un indicador de presencia de límites virtuales de PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag o ph_virtual_boundaries_present_flag). La presente realización también puede describirse junto con el indicador habilitado de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) y el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag).
En un ejemplo según la presente realización, cuando un valor del indicador habilitado de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y un valor del indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 0, cada pieza de información (encabezados de imagen) de imágenes que se refieren al SPS puede incluir un indicador de presencia de límites virtuales de PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag o ph_virtual_boundaries_present_flag).
En un ejemplo según la presente realización, cuando la información sobre las posiciones de los límites virtuales (p. ej., límites virtuales verticales, límites virtuales horizontales) se incluye en el SPS, una suma del número de límites virtuales verticales y el número de límites virtuales horizontales puede ser una restricción para ser mayor que 0.
En un ejemplo según la presente realización, la(s) variable(s) que indica(n) si un filtro está desactivado en límites virtuales se puede derivar para la imagen actual. Por ejemplo, la(s) variable(s) puede(n) incluir VirtualBoundariesDisabledFlag.
Como un caso del presente ejemplo, cuando el indicador de límites habilitados virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y el indicador de límites presentes virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, VirtualBoundariesDisabledFlag puede ser 1.
Como otro caso del presente ejemplo, cuando el indicador de habilitación de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y el indicador de presencia de límites virtuales de PH (ph_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, VirtualBoundariesDisabledFlag puede ser 1. En otros casos del presente ejemplo, VirtualBoundariesDisabledFlag puede ser 0.
La siguiente tabla muestra una sintaxis a modo de ejemplo del SPS según la presente realización.
Tabla 13
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 14
La siguiente tabla muestra una sintaxis a modo de ejemplo de la información de encabezado (el encabezado de imagen) según la presente realización.
Tabla 15
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 16
En una realización relacionada con la Tabla 13 a la Tabla 16, la información de imagen obtenida por el aparato de codificación y/o la información de imagen obtenida a través de un flujo de bits recibido del aparato de codificación al aparato de decodificación puede incluir un conjunto de parámetros de secuencia (SPS) y un encabezado de imagen (PH). El SPS puede incluir un indicador habilitado de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir un indicador de presencia de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) de SPS, en base al indicador habilitado de límites virtuales. Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el SPS puede incluir el indicador de presencia de límites virtuales de SPS. Basándose en el indicador habilitado de límites virtuales y el indicador de presencia de límites virtuales de SPS, el SPS puede incluir información sobre el número de límites virtuales verticales (sps_num_ver_virtual_boundaries) de SPS, información sobre una posición de límites virtuales verticales (sps_virtual_boundaries_pos_x[i]) de SPS, información sobre el número de límites virtuales horizontales (sps_num_hor_virtual_boundaries) de SPS e información sobre una posición de límites virtuales horizontales (sps_virtual_boundaries_pos_y[i]) de SPS.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1 y un valor del indicador de presencia de límites virtuales de SPS es 1, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS, información sobre la posición de límites virtuales verticales de SPS, información sobre el número de límites virtuales horizontales de SPS e información sobre la posición de límites virtuales horizontales de SPS. En un ejemplo, el número de piezas de información sobre la posición de límites virtuales verticales de SPS puede determinarse basándose en la información sobre el número de límites virtuales verticales de SPS, y el número de piezas de información sobre la posición de límites virtuales horizontales de SPS puede determinarse basándose en la información sobre el número de límites virtuales horizontales de SPS. El encabezado de imagen puede incluir un indicador de presencia de límites virtuales de PH, en base al indicador habilitado de límites virtuales y al indicador de presencia de límites virtuales de SPS.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1 y un valor del indicador de presencia de límites virtuales de SPS es 0, el encabezado de imagen puede incluir el indicador de presencia de límites virtuales de PH. Basándose en el indicador de presencia de límites virtuales de PH, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH (ph_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_x[i]), información sobre el número de límites virtuales horizontales de PH (ph_num_hor_virtual_boundaries) e información sobre una posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor indicador de presencia de límites virtuales de PH es 1, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH, información sobre la posición de límites virtuales verticales de PH, información sobre el número de límites virtuales horizontales de PH e información sobre la posición de límites virtuales horizontales de PH. En un ejemplo, el número de piezas de información sobre la posición de los límites virtuales verticales del PH puede determinarse basándose en la información sobre el número de los límites virtuales verticales del PH, y el número de piezas de información sobre la posición de los límites virtuales horizontales del PH puede determinarse basándose en la información sobre el número de los límites virtuales horizontales del PH.
En otra realización del presente documento, si los elementos sintácticos para indicar límites virtuales están incluidos en el SPS puede controlarse mediante indicador(es). Por ejemplo, el número de indicador(es) puede ser 2 (p. ej., indicador de presencia de límites virtuales de SPS, indicador de presencia de límites virtuales de PH de SPS).
En un ejemplo según la presente realización, el indicador de presencia de límites virtuales de SPS puede denominarse sps_loop_filter_across_virtual_boundaries_disabled_present_flag (o sps_virtual_boundaries_present_flag). El indicador de presencia de límites virtuales de SPS puede indicar si la información de límites virtuales está incluida en el SPS.
En un ejemplo según la descripción, el indicador de presencia de límites virtuales de PH de SPS puede denominarse sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag. El indicador de presencia de límites virtuales de PH de SPS puede indicar si la información de límites virtuales está incluida en un encabezado de imagen (PH).
En un ejemplo según la presente realización, puede restringirse adicionalmente que, cuando el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, el indicador de presencia de límites virtuales de PH de SPS (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag) no está presente y se deduce que es 0.
En un ejemplo según la presente realización, cuando el indicador de presencia de límites virtuales de PH de SPS (sps_phjoop_filter_across_virtual_boundaries_disabled_present_flag) es 1, la información de señalización para desactivar el filtro de bucle a través de los límites virtuales puede incluirse en el PH.
La siguiente tabla muestra una sintaxis a modo de ejemplo del SPS según la presente realización.
Tabla 17
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 18
La siguiente tabla muestra una sintaxis a modo de ejemplo de la información de encabezado (el encabezado de imagen) según la presente realización.
Tabla 19
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 20
En una realización relacionada con la Tabla 17 a la Tabla 20, la información de imagen obtenida por el aparato de codificación y/o la información de imagen obtenida a través de un flujo de bits recibido del aparato de codificación al aparato de decodificación puede incluir un conjunto de parámetros de secuencia (SPS) y un encabezado de imagen (PH). El SPS puede incluir un indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag). Basándose en el indicador de presencia de límites virtuales de SPS, el SPS puede incluir información sobre el número de límites virtuales verticales (sps_num_ver_virtual_boundaries) de SPS, información sobre una posición de límite virtual vertical (sps_virtual_boundaries_pos_x[i]) de SPS, información sobre el número de límites virtuales horizontales (sps_num_hor_virtual_boundaries) de SPS e información sobre una posición de límite virtual horizontal (sps_virtual_boundaries_pos_y[i]) de SPS.
Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de SPS es 1, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS, información sobre la posición de límite virtual vertical de SPS, información sobre el número de límites virtuales horizontales de SPS e información sobre la posición de límite virtual horizontal de SPS. En un ejemplo, el número de piezas de información sobre la posición de límites virtuales verticales de SPS puede determinarse basándose en información sobre los límites virtuales verticales de SPS, y el número de piezas de información sobre la posición de límites virtuales horizontales de SPS puede determinarse basándose en el número de límites virtuales horizontales de SPS. El SPS puede incluir el indicador de presencia de límites virtuales de PH de SPS, en base al indicador de presencia de límites virtuales de SPS.
Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de SPS es 0, el SPS puede incluir un indicador de presencia de límites virtuales de PH de SPS. El encabezado de imagen puede incluir un indicador de presencia de límites virtuales de PH, en base al indicador de presencia de límites virtuales de PH de SPS. Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de PH de SPS es 1, el encabezado de imagen puede incluir el indicador de presencia de límites virtuales de PH. Basándose en el indicador de presencia de límites virtuales de PH, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH (ph_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_x[i]), información sobre el número de límites virtuales horizontales de PH (ph_num_hor_virtual_boundaries) e información sobre una posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de PH es 1, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH, información sobre la posición de límites virtuales verticales de PH, información sobre el número de límites virtuales horizontales de PH e información sobre la posición de límites virtuales horizontales de PH. En un ejemplo, el número de piezas de información sobre la posición de los límites virtuales verticales del PH puede determinarse basándose en la información sobre el número de los límites virtuales verticales del PH, y el número de piezas de información sobre la posición de los límites virtuales horizontales del PH puede determinarse basándose en la información sobre el número de los límites virtuales horizontales del PH.
En otra realización del presente documento, cuando está disponible la actualización de decodificación gradual (GDR) (es decir, un valor de gdr_enabled_flag es 1), se habilita una característica en la cual los filtros de bucle están desactivados en límites virtuales, y puede señalizarse información de límites virtuales en el encabezado de imagen (puede incluirse en el encabezado de imagen).
En otra realización del presente documento, cuando se habilita una función de deshabilitar filtros de bucle a través de límites virtuales, la información sobre la señalización de una posición de los límites virtuales puede incluirse en uno o más conjuntos de parámetros. Por ejemplo, cuando se habilita la función de deshabilitar los filtros de bucle a través de los límites virtuales, la información sobre la posición de los límites virtuales puede incluirse en un SPS y un encabezado de imagen.
En la presente realización, cuando el indicador habilitado de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y la información de señalización sobre una posición de límites virtuales se incluye en uno o más conjuntos de parámetros, se pueden aplicar los siguientes.
a) La información de señalización sobre la posición de los límites virtuales puede incluirse solamente en el SPS, o incluirse solamente en el encabezado de imagen, o incluirse tanto en el SPS como en el encabezado de imagen.
b) VirtualBoundariesDisabledFlag para cada imagen puede derivarse de la siguiente manera.
- Cuando sps_loop_filter_across_virtual_boundaries_disabled_flag es 0, VirtualBoundariesDisabledFlag puede establecerse en 0.
- En otro caso del presente ejemplo, cuando la información sobre la posición de los límites virtuales no se señala tanto en un SPS como en un encabezado de imagen asociado a una imagen, VirtualBoundariesDisabledFlag puede establecerse en 0.
- En otros casos del presente ejemplo (cuando la posición de los límites virtuales se señala solo en el SPS o solo en el encabezado de imagen o tanto en el SPS como en el encabezado de imagen), VirtualBoundariesDisabledFlag puede establecerse en 1.
c) Los límites virtuales aplicados a la imagen pueden incluir una unión de límites virtuales señalizados en un conjunto de parámetros al que se hace referencia directa o indirectamente por la imagen. Por ejemplo, los límites virtuales pueden incluir límites virtuales (si están presentes) señalizados en el SPS. Por ejemplo, los límites virtuales pueden incluir límites virtuales (si están presentes) señalizados en la imagen asociada a la imagen.
d) Se puede aplicar una restricción de manera que el número máximo de límites virtuales por imagen no exceda un valor predefinido. Por ejemplo, el valor predefinido puede ser 8.
e) Puede restringirse además que la información (si está presente) en una posición de un límite virtual señalizada en un encabezado de imagen no coincida con la información sobre posiciones de límites virtuales incluidas en otro conjunto de parámetros (p. ej., SPS o PPS).
- Alternativamente, para cualquier posición límite virtual aplicada a la imagen actual, la posición de límite virtual (p. ej., la misma posición de límite virtual señalizada en el SPS y el encabezado de imagen asociado a la imagen) puede incluirse en dos conjuntos de parámetros diferentes.
f) Puede restringirse además que, cuando el indicador de presencia de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, el indicador de presencia de límites virtuales de PH de SPS (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag) no está presente y se deduce que es 0.
La siguiente tabla muestra una sintaxis a modo de ejemplo del SPS según la presente realización.
Tabla 21
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 22
La siguiente tabla muestra una sintaxis a modo de ejemplo de la información de encabezado (el encabezado de imagen) según la presente realización.
Tabla 23
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 24
En una realización relacionada con la Tabla 21 a la Tabla 24, la información de imagen obtenida por el aparato de codificación y/o la información de imagen obtenida a través de un flujo de bits recibido del aparato de codificación al aparato de decodificación puede incluir un conjunto de parámetros de secuencia (SPS) y un encabezado de imagen (PH). El SPS puede incluir un indicador habilitado de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir un indicador de presencia de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) de SPS, en base al indicador habilitado de límites virtuales. Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el SPS puede incluir el indicador de presencia de límites virtuales de SPS. Basándose en el indicador habilitado de límites virtuales y el indicador de presencia de límites virtuales de SPS, el SPS puede incluir información sobre el número de límites virtuales verticales (sps_num_ver_virtual_boundaries) de SPS, información sobre una posición de límites virtuales verticales (sps_virtual_boundaries_pos_x[i]) de SPS, información sobre el número de límites virtuales horizontales (sps_num_hor_virtual_boundaries) de SPS e información sobre una posición de límites virtuales horizontales (sps_virtual_boundaries_pos_y[i]) de SPS.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1 y un valor del indicador de presencia de límites virtuales de SPS es 1, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS, información sobre la posición de límites virtuales verticales de SPS, información sobre el número de límites virtuales horizontales de SPS e información sobre la posición de límites virtuales horizontales de SPS. En un ejemplo, el número de piezas de información sobre la posición de límites virtuales verticales de SPS puede determinarse basándose en la información sobre el número de límites virtuales verticales de SPS, y el número de piezas de información sobre la posición de límites virtuales horizontales de SPS puede determinarse basándose en la información sobre el número de límites virtuales horizontales de SPS. El encabezado de imagen puede incluir un indicador de presencia de límites virtuales de PH, en base al indicador habilitado de límites virtuales.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el encabezado de imagen puede incluir el indicador de presencia de límites virtuales de PH. Basándose en el indicador de presencia de límites virtuales de PH, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH (ph_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_x[i]), información sobre el número de límites virtuales horizontales de PH (ph_num_hor_virtual_boundaries) e información sobre una posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_y[i]). Por ejemplo, cuando un valor de la bandera de presencia de límites virtuales de PH es 1, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH, información sobre la posición de límites virtuales verticales de PH, información sobre el número de límites virtuales horizontales de PH e información sobre la posición de límites virtuales horizontales de PH. En un ejemplo, el número de piezas de información sobre la posición de los límites virtuales verticales del PH puede determinarse basándose en la información sobre el número de los límites virtuales verticales del PH, y el número de piezas de información sobre la posición de los límites virtuales horizontales del PH puede determinarse basándose en la información sobre el número de los límites virtuales horizontales del PH.
En otra realización del presente documento, el filtrado de bucles puede llevarse a cabo según las realizaciones descritos anteriormente no restringiendo que una suma del número de límites virtuales verticales y el número de límites virtuales horizontales sea mayor que 0.
En otra realización del presente documento, la información sobre el límite virtual puede señalizarse tanto en el SPS como en el PH. En un ejemplo de la presente realización, cuando un valor del indicador habilitado de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1, la información sobre el número de límites virtuales verticales, la información sobre el número de límites virtuales horizontales y/o la información sobre una posición de límites virtuales pueden incluirse en el SPS. Además de esto, cuando el valor del indicador habilitado de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1, la información sobre el número de límites virtuales verticales, la información sobre el número de límites virtuales horizontales y/o la información sobre un valor delta de posición de límites virtuales (un valor delta de una posición de límites virtuales) puede incluirse en el encabezado de imagen. El valor delta de la posición de los límites virtuales puede referirse a una diferencia entre las posiciones de los límites virtuales. La información sobre un signo de la posición de los límites virtuales también puede incluirse en el encabezado de imagen.
Según un ejemplo de la presente realización, para derivar posiciones de límites virtuales para imágenes respectivas, si el valor delta de la posición de límites virtuales no está presente en el encabezado de imagen, la información sobre la posición de límites virtuales, señalizada en el SPS, puede usarse para el filtrado de bucle. Si el valor delta de la posición de límites virtuales está presente en el encabezado de imagen, la posición de límites virtuales puede derivarse basándose en una suma de información sobre la posición de límites virtuales, señalizada en el SPS, y un valor delta relacionado con la misma.
La siguiente tabla muestra una sintaxis a modo de ejemplo del SPS según la presente realización.
Tabla 25
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 26
La siguiente tabla muestra una sintaxis a modo de ejemplo de la información de encabezado (el encabezado de imagen) según la presente realización.
Tabla 27
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 28
En una realización relacionada con la Tabla 25 a la Tabla 28, la información de imagen obtenida por el aparato de codificación y/o la información de imagen obtenida a través de un flujo de bits recibido del aparato de codificación al aparato de decodificación puede incluir un conjunto de parámetros de secuencia (SPS) y un encabezado de imagen (PH). El SPS puede incluir un indicador habilitado de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_flag). Basándose en el indicador habilitado de límites virtuales, el SPS puede incluir información sobre el número de límites virtuales verticales (sps_num_ver_virtual_boundaries) de SPS, información sobre una posición de límites virtuales verticales (sps_virtual_boundaries_pos_x[i]) de SPS, información sobre el número de límites virtuales horizontales (sps_num_hor_virtual_boundaries) de SPS e información sobre una posición de límites virtuales horizontales (sps_virtual_boundaries_pos_y[i]) de SPS. Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el SPS puede incluir información sobre el número de límites virtuales horizontales del SPS, información sobre la posición de límites virtuales horizontales del SPS, información sobre el número de límites virtuales verticales del SPS, e información sobre la posición de límites virtuales verticales del SPS.
En un ejemplo, el número de piezas de información sobre la posición de límites virtuales horizontales de SPS puede determinarse basándose en la información sobre el número de límites virtuales horizontales de SPS, y el número de piezas de información sobre la posición de límites virtuales verticales de SPS puede determinarse basándose en la información sobre el número de límites virtuales verticales de SPS. El encabezado de imagen puede incluir un indicador de presencia de límites virtuales de PH, en base al indicador habilitado de límites virtuales. Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el encabezado de imagen puede incluir el indicador de presencia de límites virtuales de PH. Basándose en el indicador de presencia de límites virtuales de PH, el encabezado de imagen puede incluir información sobre un valor delta de una posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_x_delta[i]), información sobre un signo de la posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_x_sign[i]), información sobre un valor delta de una posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_y_delta[i]) e información sobre un signo de la posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_y_sign[i]).
Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de PH es 1, el encabezado de imagen puede incluir información sobre el valor delta de posición de límites virtuales verticales de PH, información sobre un signo de la posición de límites virtuales verticales de PH, información sobre el valor delta de posición de límites virtuales horizontales de PH e información un signo de la posición de límites virtuales horizontales de PH. En un ejemplo, el número de piezas de información sobre el valor delta de posición de límites virtuales verticales de PH e información sobre el número de piezas de información sobre un signo de la posición de límites virtuales verticales de PH puede determinarse basándose en información sobre el número de límites virtuales verticales de SPS, y el número de piezas de información sobre el valor delta de posición de límites virtuales horizontales de PH e información sobre el número de piezas de información un signo de la posición de límites virtuales horizontales de PH puede determinarse basándose en información sobre el número de límites virtuales horizontales de SPS.
En otra realización del presente documento, se describirá la señalización de información sobre una posición de límites virtuales para cada imagen. En un ejemplo, cuando la información sobre la posición de límites virtuales se incluye en el SPS y la información sobre el valor delta de posición de límites virtuales no se incluye en el encabezado de imagen, la información sobre los límites virtuales, incluida en el SPS, puede usarse para el filtrado de bucles. Cuando la información sobre la posición de los límites virtuales no está incluida en el SPS y la información sobre el valor delta de la posición de los límites virtuales está incluida en el encabezado de imagen, la información sobre los límites virtuales, incluida en el encabezado de imagen, puede usarse para el filtrado de bucles. Cuando la información sobre la posición de límites virtuales se incluye en el SPS y la información sobre el valor delta de posición de límites virtuales se incluye en el encabezado de imagen, la posición de límites virtuales puede derivarse basándose en una suma de información sobre la posición de límites virtuales, firmada en el SPS, y un valor delta relacionado con la misma. Cuando la información sobre la posición de límites virtuales no está incluida en el SPS y la información sobre el valor delta de posición de límites virtuales no está incluida en el encabezado de imagen, el límite virtual puede no aplicarse a la imagen.
La siguiente tabla muestra una sintaxis a modo de ejemplo del SPS según la presente realización.
Tabla 29
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 30
La siguiente tabla muestra una sintaxis a modo de ejemplo de la información de encabezado (el encabezado de imagen) según la presente realización.
Tabla 31
La siguiente tabla muestra una semántica a modo de ejemplo de elementos sintácticos incluidos en la sintaxis. Tabla 32
En una realización relacionada con la Tabla 29 a la Tabla 32, la información de imagen obtenida por el aparato de codificación y/o la información de imagen obtenida a través de un flujo de bits recibido del aparato de codificación al aparato de decodificación puede incluir un conjunto de parámetros de secuencia (SPS) y un encabezado de imagen (PH).
El SPS puede incluir un indicador habilitado de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir un indicador de presencia de límites virtuales (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) de SPS, en base al indicador habilitado de límites virtuales. Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el SPS puede incluir el indicador de presencia de límites virtuales de SPS. Basándose en el indicador habilitado de límites virtuales y el indicador de presencia de límites virtuales de SPS, el SPS puede incluir información sobre el número de límites virtuales verticales (sps_num_ver_virtual_boundaries) de SPS, información sobre una posición de límites virtuales verticales (sps_virtual_boundaries_pos_x[i]) de SPS, información sobre el número de límites virtuales horizontales (sps_num_hor_virtual_boundaries) de SPS e información sobre una posición de límites virtuales horizontales (sps_virtual_boundaries_pos_y[i]) de SPS.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1 y un valor del indicador de presencia de límites virtuales de SPS es 1, el SPS puede incluir información sobre el número de límites virtuales horizontales, información sobre la posición de límites virtuales horizontales, información sobre el número de límites virtuales verticales e información sobre la posición de límites virtuales verticales. En un ejemplo, el número de piezas de información sobre la posición de límites virtuales horizontales puede determinarse basándose en la información sobre el número de límites virtuales horizontales, y el número de piezas de información sobre la posición de límites virtuales verticales puede determinarse basándose en la información sobre el número de límites virtuales verticales. El encabezado de imagen puede incluir un indicador de presencia de límites virtuales de PH, en base al indicador habilitado de límites virtuales.
Por ejemplo, cuando un valor del indicador habilitado de límites virtuales es 1, el encabezado de imagen puede incluir el indicador de presencia de límites virtuales de PH. El encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH (ph_num_ver_virtual_boundaries), en base al indicador de presencia de límites virtuales de PH e información sobre el número de límites virtuales verticales de SPS. Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de PH es 1 y un valor de la información sobre el número de límites virtuales verticales de SPS es 0, el encabezado de imagen puede incluir información sobre el número de límites virtuales verticales de PH. En un ejemplo, basándose en información sobre el número de límites virtuales verticales de PH, el encabezado de imagen puede incluir información sobre un valor delta de una posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_x_delta[i]) e información sobre un signo de la posición de límites virtuales verticales de PH (ph_virtual_boundaries_pos_x_sign[i]). En un ejemplo, en base a la información sobre el número de los límites virtuales verticales de PH, se puede determinar el número de piezas de información sobre el valor delta de posición de límites virtuales verticales de PH y el número de piezas de información sobre un signo de la posición de límites virtuales verticales de PH. El encabezado de imagen puede incluir información sobre el número de límites virtuales horizontales de PH (ph_num_hor_virtual_boundaries), en base al indicador de presencia de límites virtuales de PH e información sobre el número de límites virtuales horizontales de SPS.
Por ejemplo, cuando un valor del indicador de presencia de límites virtuales de PH es 1 y un valor de la información sobre el número de límites virtuales horizontales de SPS es 0, el encabezado de imagen puede incluir información sobre el número de límites virtuales horizontales de PH. En un ejemplo, en base a la información sobre el número de límites virtuales horizontales de PH, el encabezado de imagen puede incluir información sobre un valor delta de una posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_y_delta[i]) e información sobre un signo de la posición de límites virtuales horizontales de PH (ph_virtual_boundaries_pos_y_sign[i]). En un ejemplo, en base a la información sobre el número de los límites virtuales horizontales de PH, se puede determinar el número de piezas de información sobre el valor delta de posición de límites virtuales horizontales de PH y el número de piezas de información sobre un signo de la posición de límites virtuales horizontales de PH.
Según realizaciones del presente documento junto con las tablas de más arriba, la información para llevar a cabo el filtrado en bucle a través de límites virtuales puede señalizarse de manera efectiva. Por ejemplo, el filtrado en bucle puede llevarse a cabo basándose en la señalización de información relacionada con si el filtrado en bucle está habilitado a través de los límites virtuales.
La Figura 7 y la Figura 8 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según la(s) realización(es) del presente documento.
El método descrito en la Figura 7 puede llevarse a cabo por el aparato de codificación descrito en la Figura 2 o la Figura 8. Específicamente, por ejemplo, E700 y E710 de la Figura 7 pueden llevarse a cabo por un procesador 230 residual del aparato de codificación de la Figura 8, E720 de la Figura 7 puede llevarse a cabo por un filtro 260 del aparato de codificación de la Figura 8, y E730 de la Figura 7 puede llevarse a cabo por un codificador 240 de entropía del aparato de codificación de la Figura 8. Además, aunque no se muestra en la Figura 7, las muestras de predicción o la información relacionada con la predicción pueden ser derivadas por un predictor 220 del aparato de codificación de la Figura 7, y un flujo de bits puede ser generado a partir de información residual o información relacionada con la predicción por el codificador 240 de entropía del aparato de codificación. El método descrito en la Figura 7 puede incluir las realizaciones descritas anteriormente en el presente documento.
Con referencia a la Figura 7, el aparato de codificación puede derivar muestras residuales (E700). El aparato de codificación puede derivar muestras residuales para un bloque actual, y las muestras residuales para el bloque actual pueden derivarse en base a muestras originales y muestras de predicción del bloque actual. Específicamente, el aparato de codificación puede derivar las muestras de predicción de los bloques actuales, en base a un modo de predicción. En este caso, se pueden aplicar varios métodos de predicción descritos en el presente documento como, por ejemplo, interpredicción o intrapredicción. Las muestras residuales pueden derivarse en base a las muestras de predicción y las muestras originales.
El aparato de codificación puede derivar coeficientes de transformada. El aparato de codificación puede derivar los coeficientes de transformada, basándose en un proceso de transformada para las muestras residuales. Por ejemplo, el proceso de transformada puede incluir al menos una 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, basándose en un proceso de cuantificación para los coeficientes de transformada. Los coeficientes de transformada cuantificados pueden tener una forma vectorial de 1 dimensión, en base a un orden de exploración de coeficientes.
El aparato de codificación puede generar información residual (E710). El aparato de codificación puede generar la información residual, basándose en 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 puede generarse a través de diversos métodos de codificación como, por ejemplo, Golomb exponencial, CAVLC, CABAC o similares.
El aparato de codificación puede generar muestras reconstruidas. El aparato de codificación puede generar las muestras reconstruidas, basándose en la información residual. Las muestras reconstruidas pueden generarse añadiendo la muestra de predicción y las muestras residuales basándose en la información residual. Específicamente, el aparato de codificación puede llevar a cabo la predicción (intra o interpredicción) en el bloque actual, y puede generar muestras reconstruidas, basándose en 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 residuales y muestras de croma residuales. Las muestras de luma residuales pueden generarse en base a muestras de luma originales y muestras de luma de predicción. Las muestras de croma residuales pueden generarse en base a 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 residuales (coeficientes de transformada de luma) y/o coeficientes de transformada para las muestras de croma residuales (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 puede generar información relacionada con el filtrado en bucle para las muestras reconstruidas (E720). El aparato de codificación puede llevar a cabo un proceso de filtrado en bucle en las muestras reconstruidas, y puede generar información relacionada con el filtrado en bucle, en base al proceso de filtrado en bucle. Por ejemplo, la información relacionada con el filtrado en bucle puede incluir la información anteriormente descrita 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 de presencia de límites virtuales de SPS, el indicador de presencia de límites virtuales de encabezado de imagen, información sobre posiciones de límites virtuales, etc.).
El aparato de codificación puede codificar información de vídeo/imagen (E730). La información de imagen puede incluir información residual, información relacionada con la predicción, y/o información relacionada con el filtrado en bucle. La información de vídeo/imagen codificada puede emitirse en forma de un flujo de bits. El flujo de bits puede transmitirse 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 32 de más arriba.
En una realización, la información relacionada con el filtrado en bucle puede incluir un indicador habilitado de límites virtuales de SPS relacionado con si se lleva a cabo un proceso de filtrado en bucle a través de límites virtuales. Por ejemplo, si la señalización de la información relacionada con los límites virtuales está presente en un SPS o la información de encabezado de imagen puede determinarse en base al indicador habilitado de límites virtuales de SPS. El indicador habilitado de límites virtuales de SPS puede indicar si es posible desactivar el proceso de filtrado en bucle a través de los límites virtuales.
En una realización, la información de imagen puede incluir un conjunto de parámetros de secuencia (SPS). El SPS puede incluir el indicador habilitado de límites virtuales de SPS y un indicador de presencia de límites virtuales de SPS. Además, si la información sobre las posiciones de los límites virtuales y la información sobre el número de los límites virtuales están incluidas en el SPS se puede determinar en base al indicador de presencia de límites virtuales del SPS.
En una realización, el SPS puede incluir información sobre el número de límites virtuales verticales, basándose en que un valor del indicador de presencia de límites virtuales de SPS es 1.
En una realización, el SPS puede incluir información sobre posiciones de los límites virtuales verticales. Además, el número de piezas de la información sobre posiciones de los límites virtuales verticales puede determinarse basándose en la información sobre el número de límites virtuales verticales.
En una realización, el SPS puede incluir información sobre el número de límites virtuales horizontales, basándose en que un valor del indicador de presencia de límites virtuales de SPS es 1.
En una realización, el SPS puede incluir información sobre posiciones de los límites virtuales horizontales. Además, el número de piezas de la información sobre posiciones de los límites virtuales horizontales puede determinarse basándose en la información sobre el número de límites virtuales horizontales.
En una realización, la información de imagen incluye información de encabezado de imagen. Además, la información de encabezado de imagen puede incluir un indicador de presencia de límites virtuales de encabezado de imagen, basándose en que un valor del indicador habilitado de límites virtuales de SPS es 1 y un valor del indicador de presencia de límites virtuales de SPS es 0.
En una realización, la información de encabezado de imagen puede incluir información sobre el número de límites virtuales verticales, basándose en que un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1.
En una realización, la información de encabezado de imagen puede incluir información sobre posiciones de los límites virtuales verticales. Además, el número de piezas de la información sobre posiciones de los límites virtuales verticales puede determinarse basándose en la información sobre el número de límites virtuales verticales.
En una realización, la información de encabezado de imagen puede incluir información sobre el número de límites virtuales horizontales, basándose en que un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1.
En una realización, la información de encabezado de imagen puede incluir información sobre posiciones de los límites virtuales horizontales. Además, el número de piezas de la información sobre posiciones de los límites virtuales horizontales puede determinarse basándose en la información sobre el número de límites virtuales horizontales.
En una realización, una suma del número de límites virtuales verticales y el número de límites virtuales horizontales puede ser mayor que 0, basándose en que el SPS incluye información sobre posiciones de los límites virtuales verticales e información sobre posiciones de los límites virtuales horizontales.
En una realización, la información relacionada con el filtrado en bucle (y/o la información relacionada con límites virtuales) puede incluir además un indicador de presencia de límites virtuales de SPS, un indicador de presencia de límites virtuales de encabezado de imagen y un indicador de habilitación de actualización de decodificación gradual (GDR). Por ejemplo, basándose en que un valor del indicador habilitado de GDR es 1, un valor del indicador habilitado de límites virtuales de SPS (el indicador habilitado de límites virtuales) puede ser 1, un valor del indicador de presencia de límites virtuales de SPS puede ser 0, y un valor del indicador de presencia de límites virtuales de encabezado de imagen puede ser 1 (la señalización de información de los límites virtuales puede estar presente en el encabezado de imagen).
La Figura 9 y la Figura 10 muestran esquemáticamente un ejemplo de un método de decodificación de vídeo/imagen y componentes relacionados según la(s) realización(es) del presente documento.
El método descrito en la Figura 9 puede llevarse a cabo por el aparato de decodificación descrito en la Figura 3 o la Figura 10. Específicamente, por ejemplo, E900 de la Figura 9 puede llevarse a cabo mediante un decodificador 310 de entropía del aparato de decodificación, E910 puede llevarse a cabo mediante un procesador 320 residual y/o un sumador 340 del aparato de decodificación, y E920 puede llevarse a cabo mediante un filtro 350 del aparato de decodificación. El método descrito en la Figura 9 puede incluir las realizaciones descritas anteriormente en el presente documento.
Con referencia a la Figura 9, el aparato de decodificación puede recibir/obtener la información de vídeo/imagen (E900). La información de vídeo/imagen puede incluir información residual, información relacionada con la predicción y/o información relacionada con el filtrado en bucle. El aparato de decodificación puede recibir/obtener 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 información de imagen/vídeo puede incluir información descrita en al menos una de las tablas 1 a 32 de más arriba.
El aparato de decodificación puede derivar coeficientes de transformada cuantificados. El aparato de decodificación puede derivar los coeficientes de transformada cuantificados, en base a la información residual. Los coeficientes de transformada cuantificados pueden tener una forma vectorial de 1 dimensión, en base a un orden de exploración 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, basándose en un proceso 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 descuantificación, en base a los coeficientes de transformada de luma cuantificados. El aparato de decodificación puede obtener coeficientes de transformada de croma a través de descuantificación, en base a 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, en base al proceso de transformada inversa para los coeficientes de transformada. El aparato de decodificación puede derivar muestras de luma residuales a través del proceso de transformada inversa, basándose en los coeficientes de transformada de luma. El aparato de decodificación puede derivar muestras de croma residuales a través de la transformada inversa, en base a los coeficientes de transformada de croma.
El aparato de decodificación puede generar/derivar muestras reconstruidas (E910). 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, en base a la información residual. El aparato de decodificación puede generar muestras reconstruidas, basándose en 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 proceso de predicción. El aparato de decodificación puede generar las muestras de luma reconstruidas, en base a las muestras de luma de predicción y las muestras de luma residuales. El aparato de decodificación puede generar las muestras de croma de reconstrucción, en base a las muestras de croma de predicción y las muestras de croma residuales.
El aparato de decodificación puede generar muestras reconstruidas modificadas (filtradas) (E920). El aparato de decodificación puede generar las muestras reconstruidas modificadas llevando a cabo un proceso de filtrado en bucle para las muestras reconstruidas de la imagen actual. El aparato de decodificación puede generar las muestras reconstruidas modificadas, en base a la información relacionada con el filtrado en bucle (y/o la información relacionada con los límites virtuales). El aparato de decodificación puede usar un proceso de desbloqueo, un proceso SAO y/o un proceso ALF para generar las muestras reconstruidas modificadas.
En una realización, la información de imagen puede incluir un SPS. El SPS puede incluir un indicador habilitado de límites virtuales de SPS. Además, el proceso de filtrado en bucle puede llevarse a cabo a través de límites virtuales, basándose en el indicador de habilitación de límites virtuales de SPS (o puede no llevarse a cabo a través de límites virtuales). Por ejemplo, si la señalización de la información relacionada con los límites virtuales está presente en el SPS o la información de encabezado de imagen puede determinarse en base al indicador habilitado de límites virtuales de SPS. El indicador habilitado de límites virtuales de SPS puede indicar si es posible desactivar el proceso de filtrado en bucle a través de los límites virtuales.
En una realización, el SPS puede incluir además un indicador de presencia de límites virtuales de SPS. Si la información sobre las posiciones de los límites virtuales y la información sobre el número de los límites virtuales están incluidas en el SPS se puede determinar en base al indicador de presencia de límites virtuales del SPS.
En una realización, el SPS puede incluir información sobre el número de límites virtuales verticales, basándose en que un valor del indicador de presencia de límites virtuales de SPS es 1.
En una realización, el SPS puede incluir información sobre posiciones de los límites virtuales verticales. Además, el número de piezas de la información sobre posiciones de los límites virtuales verticales puede determinarse basándose en la información sobre el número de límites virtuales verticales.
En una realización, el SPS puede incluir información sobre el número de límites virtuales horizontales, basándose en que un valor del indicador de presencia de límites virtuales de SPS es 1.
En una realización, el SPS puede incluir información sobre posiciones de los límites virtuales horizontales. Además, el número de piezas de la información sobre posiciones de los límites virtuales horizontales puede determinarse basándose en la información sobre el número de límites virtuales horizontales.
En una realización, la información de imagen incluye información de encabezado de imagen. Además, la información de encabezado de imagen puede incluir un indicador de presencia de límites virtuales de encabezado de imagen, basándose en que un valor del indicador habilitado de límites virtuales de SPS es 1 y un valor del indicador de presencia de límites virtuales de SPS es 0.
En una realización, la información de encabezado de imagen puede incluir información sobre el número de límites virtuales verticales, basándose en que un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1.
En una realización, la información de encabezado de imagen puede incluir información sobre posiciones de los límites virtuales verticales. Además, el número de piezas de la información sobre posiciones de los límites virtuales verticales puede determinarse basándose en la información sobre el número de límites virtuales verticales.
En una realización, la información de encabezado de imagen puede incluir información sobre el número de límites virtuales horizontales, basándose en que un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1.
En una realización, la información de encabezado de imagen puede incluir información sobre posiciones de los límites virtuales horizontales. Además, el número de piezas de la información sobre posiciones de los límites virtuales horizontales puede determinarse basándose en la información sobre el número de límites virtuales horizontales.
En una realización, una suma del número de límites virtuales verticales y el número de límites virtuales horizontales puede ser mayor que 0, basándose en que el SPS incluye información sobre posiciones de los límites virtuales verticales e información sobre posiciones de los límites virtuales horizontales.
En una realización, la información relacionada con el filtrado en bucle (y/o la información relacionada con límites virtuales) puede incluir además un indicador de presencia de límites virtuales de SPS, un indicador de presencia de límites virtuales de encabezado de imagen y un indicador de habilitación de actualización de decodificación gradual (GDR). Por ejemplo, basándose en que un valor del indicador habilitado de GDR es 1, un valor del indicador habilitado de límites virtuales de SPS (el indicador habilitado de límites virtuales) puede ser 1, un valor del indicador de presencia de límites virtuales de SPS puede ser 0, y un valor del indicador de presencia de límites virtuales de encabezado de imagen puede ser 1 (la señalización de información de los límites virtuales puede estar presente en el encabezado de imagen).
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 una matriz de muestras residuales) para el bloque actual, en base a la información residual. Específicamente, el aparato de decodificación puede derivar coeficientes de transformada cuantificados, basándose en la información residual. Los coeficientes de transformada cuantificados pueden tener una forma vectorial de 1 dimensión, en base a un orden de exploración de coeficientes. El aparato de decodificación puede derivar los coeficientes de transformada, basándose en un proceso de descuantificación para los coeficientes de transformada cuantificados. El aparato de decodificación puede derivar muestras residuales, en base a los coeficientes de transformada.
El aparato de decodificación puede generar muestras reconstruidas, en base a muestras de (intra) predicción y muestras residuales, y puede derivar un bloque reconstruido o imagen reconstruida, en base a las muestras reconstruidas. Específicamente, el aparato de decodificación puede generar muestras reconstruidas, basándose en una suma entre las muestras de (intra) predicción y las muestras residuales. A continuación, como se describió más arriba, el aparato de decodificación puede aplicar opcionalmente el proceso de filtrado en bucle como, por ejemplo, el filtrado de desbloqueo y/o el proceso SAO a la imagen reconstruida para mejorar la calidad subjetiva/objetiva de la imagen.
Por ejemplo, el aparato de decodificación puede obtener información de imagen que incluye la totalidad o partes de las piezas de información (o elementos sintácticos) descritas más arriba decodificando el flujo de bits o la información codificada. Además, el flujo de bits o la información codificada pueden almacenarse en un medio de almacenamiento legible por ordenador, y pueden hacer que se lleve a cabo el método de decodificación descrito más arriba.
Aunque los métodos se han descrito sobre la base de un diagrama de flujo en donde las etapas o bloques se enumeran en secuencia en las realizaciones descritas más arriba, las etapas del presente documento no se limitan a un cierto orden, y una cierta etapa se puede llevar a cabo en una etapa diferente o en un orden diferente o simultáneamente con respecto a la descrita más arriba. Además, las personas con experiencia ordinaria en la técnica entenderán que las etapas de los diagramas de flujo no son excluyentes, y se puede incluir otra etapa en los mismos o se pueden eliminar una o más etapas en el diagrama de flujo sin ejercer una influencia en el alcance de la presente descripción.
El método descrito más arriba según la presente descripción puede ser en forma de software, y el aparato de codificación y/o el aparato de decodificación según la presente descripción pueden incluirse en un dispositivo para llevar a cabo el procesamiento de imágenes, por ejemplo, un TV, 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 método descrito anteriormente puede implementarse mediante un módulo (proceso o función) que lleva a cabo la función descrita anteriormente. El módulo puede almacenarse en una memoria y ejecutarse por un procesador. La memoria puede instalarse dentro o fuera del procesador y puede conectarse al procesador a través de diversos medios conocidos. El procesador puede incluir un circuito integrado para aplicaciones específicas (ASIC, por sus siglas en inglés), 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 (ROM, por sus siglas en inglés), una memoria de acceso aleatorio (RAM, por sus siglas en inglés), 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 pueden implementarse y ejecutarse en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales ilustradas en las figuras respectivas pueden implementarse y ejecutarse 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 al que se aplica(n) la(s) realización(es) del presente documento pueden incluirse en un transceptor de radiodifusió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 por vídeo y un dispositivo de comunicación en tiempo real como, por ejemplo, comunicación por vídeo, un dispositivo de transmisión móvil, un medio de almacenamiento, una videocámara, un proveedor de servicios de vídeo bajo demanda (VoD, por sus siglas en inglés), un dispositivo de vídeoover the top(OTT), un proveedor de servicios de transmisión de 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 imagen, 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 pueden usarse para procesar una señal o datos de imagen. Por ejemplo, el dispositivo de vídeo OTT puede incluir una consola de juegos, un jugador Bluray, un TV conectado a Internet, un sistema de cine en casa, un teléfono inteligente, una tableta y un grabador de vídeo digital (DVR, por sus siglas en inglés).
Además, el método de procesamiento al que se aplica(n) la(s) realización(es) del presente documento puede producirse en forma de un programa ejecutado por un ordenador y puede almacenarse en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según la(s) realización(es) del presente documento también pueden almacenarse en el medio de grabación legible por ordenador. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento y dispositivos de almacenamiento distribuidos en donde se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir, por ejemplo, un disco Bluray (BD, por sus siglas en inglés), un bus universal en serie (USB, por sus siglas en inglés), una ROM, una PROM, una EPROM, una EEPROM, una RAM, un 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 método de codificación puede almacenarse en el medio de grabación legible por ordenador o transmitirse a través de una red de comunicación cableada o inalámbrica.
Además, la(s) realización(es) del presente documento puede(n) realizarse como un producto de programa informático basado en un código de programa, y el código de programa puede ejecutarse en un ordenador según la(s) realización(es) del presente documento. El código de programa puede almacenarse en una portadora legible por ordenador.
La Figura 11 representa un ejemplo de un sistema de flujo continuo de contenidos al que puede aplicarse la realización del presente documento.
Con referencia a la Figura 11, el sistema de transmisión de contenidos al que se aplican las realizaciones del presente documento puede incluir generalmente un servidor de codificación, un servidor de transmisión, un servidor web, un almacenamiento multimedia, un dispositivo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación funciona para comprimir a datos digitales los contenidos introducidos desde los dispositivos de entrada multimedia como, por ejemplo, el teléfono inteligente, la cámara, la videocámara y similares, para generar un flujo de bits, y para transmitirlo al servidor de transmisión continua. Como otro ejemplo, en un caso donde el dispositivo de entrada multimedia como, por ejemplo, el teléfono inteligente, la cámara, la videocámara o similares, genera directamente un flujo de bits, el servidor de codificación puede omitirse.
El flujo de bits puede generarse mediante un método de codificación o un método de generación de flujo de bits al que se aplican las realizaciones del presente documento. Y el servidor de transmisión puede almacenar temporalmente el flujo de bits en un proceso de transmisión o recepción del flujo de bits.
El servidor de transmisión continua transmite datos multimedia al equipo de usuario basándose en una solicitud del usuario a través del servidor web, que funciona como un instrumento que informa a un usuario qué servicio hay. Cuando el usuario solicita un servicio que desea el usuario, el servidor web transfiere la solicitud al servidor de transmisión continua, y el servidor de transmisión continua transmite datos multimedia al usuario. A este respecto, el sistema de transmisión de contenidos puede incluir un servidor de control separado y, en este caso, el servidor de control funciona para controlar comandos/respuestas entre equipos respectivos en el sistema de transmisión de contenidos.
El servidor de transmisión puede recibir contenidos del almacenamiento multimedia y/o del servidor de codificación. Por ejemplo, en un caso donde los contenidos se reciben del servidor de codificación, los contenidos pueden recibirse en tiempo real. En este caso, el servidor de transmisión puede almacenar el flujo de bits durante un período predeterminado para proveer el servicio de transmisión 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 radiodifusión digital, un asistente digital personal (PDA, por sus siglas en inglés), un reproductor multimedia portátil (PMP, por sus siglas en inglés), una navegación, un PC de pizarra, una tableta, unultrabook,un dispositivo ponible (p. ej., un terminal tipo reloj (reloj inteligente), un terminal tipo cristal (cristal inteligente), una pantalla montada en la cabeza (HMD, por sus siglas en inglés)), un TV digital, un ordenador de sobremesa, una señalización digital o similares.
Cada uno de los servidores en el sistema de transmisión continua de contenidos puede ser operado como un servidor distribuido y, en este caso, los datos recibidos por cada servidor pueden ser procesados de manera distribuida. La invención se expone en las reivindicaciones anexas.
Claims (14)
1. Un método de decodificación de imágenes llevado a cabo por un aparato (300) de decodificación, que comprende: obtener (E900) información de imagen que incluye información residual a través de un flujo de bits;
generar (E910) muestras reconstruidas de una imagen actual, basándose en la información residual; y generar (E920) muestras reconstruidas modificadas, basándose en un proceso de filtrado en bucle para las muestras reconstruidas,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS,
caracterizado por que el SPS incluye un indicador que representa si el proceso de filtrado en bucle está desactivado a través de límites virtuales,
en donde basándose en el indicador que representa si el proceso de filtrado en bucle está desactivado a través de los límites virtuales, el SPS incluye un indicador que representa si la información sobre los límites virtuales está incluida en el SPS,
en donde se determina si el proceso de filtrado en bucle se lleva a cabo a través de los límites virtuales, en base al indicador que representa si el proceso de filtrado en bucle está desactivado a través de los límites virtuales, en donde si la información sobre el número de los límites virtuales y la información sobre las posiciones de los límites virtuales están incluidas en el SPS se determina en base al indicador que representa si la información sobre los límites virtuales está incluida en el SPS,
en donde la información sobre el número de límites virtuales incluye información sobre el número de límites virtuales verticales e información sobre el número de límites virtuales horizontales, y
en donde la información sobre posiciones de los límites virtuales incluye información sobre posiciones de los límites virtuales verticales e información sobre posiciones de los límites virtuales horizontales.
2. El método de decodificación de imágenes de la reivindicación 1, en donde el SPS incluye la información sobre el número de límites virtuales verticales, basándose en que un valor del indicador que representa si la información sobre los límites virtuales está incluida en el SPS es 1.
3. El método de decodificación de imágenes de la reivindicación 2,
en donde el número de piezas de la información sobre posiciones de los límites virtuales verticales se determina en base a la información sobre el número de los límites virtuales verticales.
4. El método de decodificación de imágenes de la reivindicación 1, en donde el SPS incluye la información sobre el número de límites virtuales horizontales, basándose en que un valor del indicador que representa si la información sobre los límites virtuales está incluida en el SPS es 1.
5. El método de decodificación de imágenes de la reivindicación 4,
en donde el número de piezas de la información sobre posiciones de los límites virtuales horizontales se determina en base a la información sobre el número de los límites virtuales horizontales.
6. El método de decodificación de imágenes de la reivindicación 1,
en donde la información de imagen incluye información de encabezado de imagen, y
en donde la información de encabezado de imagen incluye un indicador de presencia de límites virtuales de encabezado de imagen, basándose en que un valor del indicador que representa si el proceso de filtrado en bucle está desactivado a través de los límites virtuales es 1 y un valor del indicador que representa si la información sobre los límites virtuales está incluida en el SPS es 0.
7. El método de decodificación de imágenes de la reivindicación 6, en donde la información de encabezado de imagen incluye información sobre el número de límites virtuales verticales, basándose en que un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1.
8. El método de decodificación de imágenes de la reivindicación 7,
en donde la información de encabezado de imagen incluye información sobre posiciones de los límites virtuales verticales, y
en donde el número de piezas de la información sobre posiciones de los límites virtuales verticales se determina en base a la información sobre el número de los límites virtuales verticales.
9. El método de decodificación de imágenes de la reivindicación 6, en donde la información de encabezado de imagen incluye información sobre el número de límites virtuales horizontales, basándose en que un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1.
10. El método de decodificación de imágenes de la reivindicación 9,
en donde la información de encabezado de imagen incluye información sobre posiciones de límites virtuales horizontales, y
en donde el número de piezas de información sobre posiciones de los límites virtuales horizontales se determina en base a la información sobre el número de los límites virtuales horizontales.
11. El método de decodificación de imágenes de la reivindicación 1,
en donde la información relacionada con el filtrado en bucle incluye además un indicador de presencia de límites virtuales de encabezado de imagen, y un indicador de habilitación de actualización de decodificación gradual, GDR, y en donde un valor del indicador que representa si el proceso de filtrado en bucle está desactivado a través de los límites virtuales es 1, un valor del indicador que representa si la información sobre los límites virtuales está incluida en el SPS es 0, y un valor del indicador de presencia de límites virtuales de encabezado de imagen es 1, basándose en que un valor del indicador de habilitación de GDR es 1.
12. Un método de codificación de imágenes llevado a cabo por un aparato (200) de codificación, que comprende: generar (E700) muestras residuales para un bloque actual;
generar (E710) información residual, basándose en las muestras residuales para el bloque actual;
generar (E720) información relacionada con el filtrado en bucle para muestras reconstruidas de una imagen actual; y codificar (E730) información de imagen que incluye la información residual y la información relacionada con el filtrado en bucle,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS, y
caracterizado por que la información relacionada con el filtrado en bucle incluye un indicador que representa si un proceso de filtrado en bucle está desactivado a través de límites virtuales,
en donde basándose en el indicador que representa si el filtrado en bucle está desactivado a través de los límites virtuales, el SPS incluye un indicador que representa si la información sobre los límites virtuales está incluida en el SPS,
en donde si la información sobre el número de los límites virtuales y la información sobre las posiciones de los límites virtuales están incluidas en el SPS se determina en base al indicador que representa si la información sobre los límites virtuales está incluida en el SPS,
en donde la información sobre el número de límites virtuales incluye información sobre el número de límites virtuales verticales e información sobre el número de límites virtuales horizontales, y
en donde la información sobre posiciones de los límites virtuales incluye información sobre posiciones de los límites virtuales verticales e información sobre posiciones de los límites virtuales horizontales.
13. Un medio de almacenamiento legible por ordenador que almacena un flujo de bits generado por un método de codificación de imágenes, comprendiendo el método:
generar muestras residuales para un bloque actual;
generar información residual, den base a las muestras residuales del bloque actual;
generar información relacionada con el filtrado en bucle para muestras reconstruidas de una imagen actual; y codificar la información de imagen que incluye la información residual y la información relacionada con el filtrado en bucle,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS,
caracterizado por que la información relacionada con el filtrado en bucle incluye un indicador que representa si un proceso de filtrado en bucle está desactivado a través de límites virtuales,
en donde basándose en el indicador que representa si el filtrado en bucle está desactivado a través de los límites virtuales, el SPS incluye un indicador que representa si la información sobre los límites virtuales está incluida en el SPS,
en donde si la información sobre el número de los límites virtuales y la información sobre las posiciones de los límites virtuales están incluidas en el SPS se determina en base al indicador que representa si la información sobre los límites virtuales está incluida en el SPS,
en donde la información sobre el número de límites virtuales incluye información sobre el número de límites virtuales verticales e información sobre el número de límites virtuales horizontales, y
en donde la información sobre posiciones de los límites virtuales incluye información sobre posiciones de los límites virtuales verticales e información sobre posiciones de los límites virtuales horizontales.
14. Un método de transmisión de datos que comprende un flujo de bits generado por el método de codificación de imágenes de la reivindicación 12.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962937230P | 2019-11-18 | 2019-11-18 | |
| PCT/KR2020/016140 WO2021101203A1 (ko) | 2019-11-18 | 2020-11-17 | 필터링 기반 영상 코딩 장치 및 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2987119T3 true ES2987119T3 (es) | 2024-11-13 |
Family
ID=75980708
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24185088T Active ES3062673T3 (en) | 2019-11-18 | 2020-11-17 | Filtering-based image coding device and method |
| ES20889141T Active ES2987119T3 (es) | 2019-11-18 | 2020-11-17 | Dispositivo y método de codificación de imágenes basado en filtrado |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24185088T Active ES3062673T3 (en) | 2019-11-18 | 2020-11-17 | Filtering-based image coding device and method |
Country Status (16)
| Country | Link |
|---|---|
| US (3) | US11743468B2 (es) |
| EP (3) | EP4415357B1 (es) |
| JP (4) | JP7375196B2 (es) |
| KR (2) | KR20250095764A (es) |
| CN (5) | CN119583826A (es) |
| AU (3) | AU2020386767B2 (es) |
| CA (2) | CA3161980C (es) |
| ES (2) | ES3062673T3 (es) |
| FI (1) | FI4047933T3 (es) |
| HR (2) | HRP20241151T1 (es) |
| HU (1) | HUE068173T2 (es) |
| MX (4) | MX2022005988A (es) |
| PL (2) | PL4047933T3 (es) |
| RS (1) | RS67719B1 (es) |
| SI (1) | SI4047933T1 (es) |
| WO (1) | WO2021101203A1 (es) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA3162125A1 (en) * | 2019-11-18 | 2021-05-27 | Lg Electronics Inc. | Image coding apparatus and method based on signaling of information for filtering |
| MX2022009555A (es) * | 2020-02-04 | 2022-11-16 | Huawei Tech Co Ltd | Un codificador, un decodificador y métodos correspondientes sobre señalización de sintaxis de alto nivel. |
| WO2021195026A1 (en) | 2020-03-27 | 2021-09-30 | Bytedance Inc. | Level information in video coding |
| US11800096B2 (en) * | 2020-03-31 | 2023-10-24 | Tencent America LLC | Method for signaling virtual boundary signaling with subpictures in coded video stream |
| CN115486082B (zh) * | 2020-04-27 | 2025-10-10 | 字节跳动有限公司 | 视频编解码中的虚拟边界 |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130322523A1 (en) * | 2011-05-10 | 2013-12-05 | Mediatek Inc. | Method and apparatus for reduction of in-loop filter buffer |
| WO2013060250A1 (en) * | 2011-10-24 | 2013-05-02 | Mediatek Inc. | Method and apparatus for non-cross-tile loop filtering |
| US8983218B2 (en) * | 2012-04-11 | 2015-03-17 | Texas Instruments Incorporated | Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding |
| WO2014014276A1 (ko) * | 2012-07-17 | 2014-01-23 | 한국전자통신연구원 | 인루프 필터링 방법 및 이를 이용하는 장치 |
| JP6824034B2 (ja) | 2014-03-31 | 2021-02-03 | ソニー株式会社 | 画像復号装置および方法 |
| US20160241881A1 (en) * | 2015-02-13 | 2016-08-18 | Mediatek Inc. | Method and Apparatus of Loop Filters for Efficient Hardware Implementation |
| KR101809630B1 (ko) * | 2015-06-11 | 2017-12-15 | 인텔렉추얼디스커버리 주식회사 | 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치 |
| CN112655208B (zh) | 2018-07-09 | 2023-12-15 | 弗劳恩霍夫应用研究促进协会 | 用于编码图片的通用空间划分的编码器和解码器、编码方法和解码方法 |
| US11765349B2 (en) * | 2018-08-31 | 2023-09-19 | Mediatek Inc. | Method and apparatus of in-loop filtering for virtual boundaries |
| CN109600611B (zh) * | 2018-11-09 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 环路滤波方法、环路滤波装置、电子设备和可读介质 |
| KR20200056951A (ko) * | 2018-11-15 | 2020-05-25 | 한국전자통신연구원 | 지역 기반 화면간/화면내 예측 기술을 이용한 부호화/복호화 방법 및 장치 |
| US11089335B2 (en) * | 2019-01-14 | 2021-08-10 | Mediatek Inc. | Method and apparatus of in-loop filtering for virtual boundaries |
| AU2020237053B2 (en) * | 2019-03-11 | 2022-12-15 | Tencent America LLC | Tile and sub-picture partitioning |
| PH12021552710A1 (en) * | 2019-04-25 | 2022-08-01 | Op Solutions Llc | Adaptive motion vector prediction candidates in frames with global motion |
| CN118138754A (zh) | 2019-06-14 | 2024-06-04 | 北京字节跳动网络技术有限公司 | 处理视频单元边界和虚拟边界 |
| CN119653098A (zh) * | 2019-06-19 | 2025-03-18 | 韩国电子通信研究院 | 视频编码方法和视频解码方法 |
| WO2020256522A1 (ko) * | 2019-06-20 | 2020-12-24 | 한국전자통신연구원 | 영역 분할을 사용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치 |
| US11070848B2 (en) | 2019-06-24 | 2021-07-20 | Tencent America LLC | Method for efficient signaling of virtual boundary for loop filtering control |
| WO2021060938A1 (ko) * | 2019-09-26 | 2021-04-01 | 현대자동차주식회사 | 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법 |
| EP4032290A4 (en) * | 2019-10-18 | 2022-11-30 | Beijing Bytedance Network Technology Co., Ltd. | SYNTAX RESTRICTIONS IN PARAMETER SET SIGNALING OF SUBPICTURES |
| US11368723B2 (en) * | 2019-10-22 | 2022-06-21 | Tencent America LLC | Signaling of coding tools for encoding a video component as monochrome video |
| WO2021079948A1 (en) * | 2019-10-25 | 2021-04-29 | Sharp Kabushiki Kaisha | Systems and methods for signaling picture information in video coding |
| CA3162125A1 (en) * | 2019-11-18 | 2021-05-27 | Lg Electronics Inc. | Image coding apparatus and method based on signaling of information for filtering |
-
2020
- 2020-11-17 HR HRP20241151TT patent/HRP20241151T1/hr unknown
- 2020-11-17 EP EP24185088.2A patent/EP4415357B1/en active Active
- 2020-11-17 WO PCT/KR2020/016140 patent/WO2021101203A1/ko not_active Ceased
- 2020-11-17 PL PL20889141.6T patent/PL4047933T3/pl unknown
- 2020-11-17 MX MX2022005988A patent/MX2022005988A/es unknown
- 2020-11-17 KR KR1020257020518A patent/KR20250095764A/ko active Pending
- 2020-11-17 CN CN202510082970.9A patent/CN119583826A/zh active Pending
- 2020-11-17 HU HUE20889141A patent/HUE068173T2/hu unknown
- 2020-11-17 FI FIEP20889141.6T patent/FI4047933T3/fi active
- 2020-11-17 SI SI202030477T patent/SI4047933T1/sl unknown
- 2020-11-17 JP JP2022529064A patent/JP7375196B2/ja active Active
- 2020-11-17 HR HRP20260194TT patent/HRP20260194T1/hr unknown
- 2020-11-17 EP EP25215813.4A patent/EP4672745A3/en active Pending
- 2020-11-17 EP EP20889141.6A patent/EP4047933B1/en active Active
- 2020-11-17 ES ES24185088T patent/ES3062673T3/es active Active
- 2020-11-17 CN CN202510082829.9A patent/CN119583824A/zh active Pending
- 2020-11-17 CN CN202510082967.7A patent/CN119603464A/zh active Pending
- 2020-11-17 AU AU2020386767A patent/AU2020386767B2/en active Active
- 2020-11-17 ES ES20889141T patent/ES2987119T3/es active Active
- 2020-11-17 CA CA3161980A patent/CA3161980C/en active Active
- 2020-11-17 CN CN202080093245.7A patent/CN114982245B/zh active Active
- 2020-11-17 CA CA3282475A patent/CA3282475A1/en active Pending
- 2020-11-17 KR KR1020227016473A patent/KR102824533B1/ko active Active
- 2020-11-17 CN CN202510082968.1A patent/CN119583825A/zh active Pending
- 2020-11-17 RS RS20260136A patent/RS67719B1/sr unknown
- 2020-11-17 PL PL24185088.2T patent/PL4415357T3/pl unknown
-
2022
- 2022-05-16 US US17/745,719 patent/US11743468B2/en active Active
- 2022-05-17 MX MX2025008678A patent/MX2025008678A/es unknown
- 2022-05-17 MX MX2025008686A patent/MX2025008686A/es unknown
- 2022-05-17 MX MX2025008677A patent/MX2025008677A/es unknown
-
2023
- 2023-07-14 US US18/222,168 patent/US12262062B2/en active Active
- 2023-10-25 JP JP2023183129A patent/JP7528339B2/ja active Active
-
2024
- 2024-01-16 AU AU2024200272A patent/AU2024200272B2/en active Active
- 2024-07-24 JP JP2024118528A patent/JP7791257B2/ja active Active
-
2025
- 2025-02-19 US US19/057,693 patent/US20250193456A1/en active Pending
- 2025-11-27 AU AU2025271408A patent/AU2025271408A1/en active Pending
- 2025-12-11 JP JP2025245333A patent/JP2026034571A/ja active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2994299T3 (en) | Device and method for coding video on basis of filtering | |
| ES3039321T3 (en) | Cross-component adaptive loop filtering-based image coding apparatus and method | |
| ES2994118T3 (en) | Apparatus and method for coding image | |
| ES2987119T3 (es) | Dispositivo y método de codificación de imágenes basado en filtrado | |
| ES3057716T3 (en) | Syntax design method and apparatus for performing coding by using syntax | |
| ES3018507T3 (es) | Método y dispositivo para procesar información de imagen para la codificación de imágenes/vídeos | |
| ES2982809T3 (es) | Codificación de información sobre conjunto de núcleos de transformada | |
| ES2988489T3 (es) | Procedimientos de codificación de imágenes basados en un filtrado | |
| ES3037849T3 (en) | Image coding device and method for controlling loop filtering | |
| AU2024205198B2 (en) | Image coding apparatus and method based on sub-picture | |
| US12160617B2 (en) | In-loop filtering-based image coding device and method | |
| ES2976723T3 (es) | Método y dispositivo de codificación de imagen/vídeo | |
| CN115136608B (zh) | 基于虚拟边界的图像编码装置和方法 | |
| CN115152237B (zh) | 图像编码装置和方法 | |
| CN115152238B (zh) | 基于滤波的图像编码装置和方法 | |
| CN115152214B (zh) | 基于画面划分的图像编码装置和方法 | |
| BR122023024026A2 (pt) | Dispositivo de codificação de imagem e método para controlar filtragem em loop | |
| 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 | |
| BR122023026924A2 (pt) | Aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de transmissão | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 |