ES3037849T3 - Image coding device and method for controlling loop filtering - Google Patents

Image coding device and method for controlling loop filtering

Info

Publication number
ES3037849T3
ES3037849T3 ES20891070T ES20891070T ES3037849T3 ES 3037849 T3 ES3037849 T3 ES 3037849T3 ES 20891070 T ES20891070 T ES 20891070T ES 20891070 T ES20891070 T ES 20891070T ES 3037849 T3 ES3037849 T3 ES 3037849T3
Authority
ES
Spain
Prior art keywords
information
virtual
boundaries
sps
flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20891070T
Other languages
English (en)
Inventor
Hendry Hendry
Seethal Paluri
Seunghwan Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Application granted granted Critical
Publication of ES3037849T3 publication Critical patent/ES3037849T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Según las realizaciones del presente documento, un dispositivo de codificación puede señalizar eficientemente la información necesaria para controlar el filtrado en bucle realizado a través de límites virtuales. En un ejemplo, se puede señalizar la información relacionada con la disponibilidad del filtrado en bucle a través de límites virtuales. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Dispositivo de codificación de imágenes y método para controlar el filtrado en bucle
Antecedentes de la divulgación
Campo de la divulgación
La presente divulgación se refiere a un aparato y método de codificación de imágenes para controlar el filtrado en bucle.
Técnica relacionada
Recientemente, la demanda de imagen/vídeo de alta resolución y alta calidad tal como 4K u 8K o imagen/vídeo de ultra alta definición (UHD) 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 en relación con los datos de imagen/vídeo existentes y, por lo tanto, transmitir datos de imagen usando un medio tal como una línea de banda ancha alámbrica/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, ha aumentado el interés y la demanda de medios inmersivos tales como contenido de realidad virtual (RV) y realidad artificial (RA) u hologramas ha aumentado recientemente y la difusión para imagen/vídeo tiene características diferentes de imágenes de realidad tales como imágenes de juegos.
Por consiguiente, se requiere una tecnología de compresión de imagen/vídeo altamente eficiente para comprimir, transmitir, almacenar y reproducir eficazmente información de una imagen/vídeo de alta resolución y alta calidad que tiene diversas características como se ha descrito anteriormente.
Específicamente, existe un análisis sobre un esquema para controlar eficazmente el filtrado en bucle realizado a través de límites virtuales. Documento: BENJAMIN BROSS ET AL, "Versatile Video Coding (Draft 7)", n.° JVET-P2001; JVET-P2001; m51515, (20191015), páginas 1 - 473, 16. REUNIÓN DE JVET; 20191001 -20191011; GINEBRA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), URL: http://phenix.int-evry.fr/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v7.zip JVET-P2001-v7.docx, (20191015), se refiere a VVC. Documento: S-Y LIN (MEDIATEK) ET AL, "CE-13 related: Loop filter disabled through virtual borders", n.° JVET-M0892; JVET-M0892, (20190114), páginas 1 - 17, 13. REUNIÓN DE JVET; 20190109 - 20190118; MARRAKECH; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), URL: http://phenix.intevry.fr/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0892-v1 .zip JVET-M0892_v1.docx, (20190114), se refiere a límites virtuales en VVC. Documento: GOMMELET (VITEC) D ET AL, "CE2: Gradual Decoding Refresh (GDR) using encoder and normative restrictions (Pruebas 2.1.a, 2.1.b y 2.1.c)", n.° JVET-P0193, (20190924), 16. REUNIÓN DE JVET; 20191001 - 20191011; GINEBRA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), URL: http://phenix.intevry.fr/jvet/doc_end _user/documents/16_Geneva/wg11/JVET-P0193-v1 .zip JVET-P0193.docx, (20190924), se refiere a señalización de límite virtual en VVC.
Compendio
Según la invención, se proporciona un método de descodificación de imágenes como se establece en la reivindicación 1, se proporciona un método de codificación de imágenes como se establece en la reivindicación 2, se proporciona un medio de almacenamiento legible por ordenador que almacena un flujo de bits como se establece en la reivindicación 3, y se proporciona un método de transmisión de datos para una imagen como se establece en la reivindicación 4.
Breve descripción de los dibujos
La FIG. 1 muestra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen al que pueden aplicarse realizaciones de la presente divulgación.
La FIG. 2 es una vista que ilustra esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que pueden aplicarse realizaciones de la presente divulgación.
La FIG. 3 es una vista que ilustra esquemáticamente la configuración de un aparato de descodificación de vídeo/imagen al que pueden aplicarse realizaciones de la presente divulgación.
La FIG. 4 muestra a modo de ejemplo una arquitectura jerárquica para un vídeo/imagen codificados.
La FIG. 5 muestra un ejemplo de una forma de filtro de filtrado en bucle adaptativo (ALF).
La FIG. 6 es un diagrama de flujo que muestra un método de codificación basado en filtrado en un aparato de codificación.
La FIG. 7 es un diagrama de flujo que muestra un método de descodificación basado en filtrado en un aparato de descodificación.
La FIG. 8 y la FIG. 9 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según la realización o realizaciones del presente documento.
La FIG. 10 y la FIG. 11 muestran esquemáticamente un ejemplo de un método de descodificación de imagen/vídeo y componentes relacionados según una realización o realizaciones del presente documento.
La FIG. 12 muestra un ejemplo de un sistema de emisión en continuo de contenido al que pueden aplicarse la realización o realizaciones descritas en el presente documento.
Descripción de realizaciones ilustrativas
La presente divulgación puede modificarse de diversas formas, y realizaciones específicas de la misma se describirán e ilustrarán en los dibujos. Sin embargo, las realizaciones no pretenden limitar la divulgación. Los términos usados en la siguiente divulgación se usan simplemente para describir realizaciones específicas, pero no pretenden limitar la descripción. Una expresión de un número singular incluye una expresión del número plural, siempre que se lea claramente de manera diferente. Los términos tales como "incluir" y "tener" pretenden indicar que existen características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos usados en la siguiente descripción, y por lo tanto debe entenderse 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 diferentes de los mismos.
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 por hardware mutuamente diferente o software diferente. Por ejemplo, dos o más de las configuraciones se pueden combinar para formar una configuración, y una configuración también se puede dividir en múltiples configuraciones.
En lo sucesivo en la presente memoria, se describirán en detalle ejemplos de la presente realización con referencia a los dibujos adjuntos. Además, se usan números de referencia similares para indicar elementos similares a través de todos los dibujos, y se omitirán las mismas descripciones sobre elementos similares.
Este documento se refiere a codificación de vídeo/imagen. Por ejemplo, los métodos/realizaciones descritos en este documento pueden estar relacionados con la norma de codificación de vídeo versátil (VVC) (Rec. UIT-T 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) (Rec. UIT-T. H.265), norma de codificación de vídeo esencial (EVC), norma AVS2 y similares).
Este documento sugiere diversas realizaciones de codificación de vídeo/imagen, y las realizaciones anteriores también pueden realizarse en combinación entre sí a menos que se especifique lo contrario.
En este documento, un vídeo puede hacer referencia a una serie de imágenes a lo largo del tiempo. Una imagen se refiere generalmente a la unidad que representa una imagen en un marco de tiempo particular, y un corte/mosaico se refiere a la unidad que constituye una parte de la imagen en términos de codificación. Un corte/mosaico puede incluir una o más unidades de árbol de codificación (CTU). Una imagen puede consistir en uno o más cortes/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 una unidad más pequeña que constituye una imagen (o foto). También, se puede usar una 'muestra' como un término correspondiente a un píxel. Una muestra generalmente puede representar un píxel o un valor de un píxel, y puede representar únicamente un valor de píxel/píxel de un componente de luma o únicamente un valor de píxel/píxel de un componente de croma.
Una unidad puede representar una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica de la imagen e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (p. ej., cb, cr). La unidad puede usarse indistintamente con términos tales como bloque o área en algunos casos. En un caso general, un bloque MxN puede incluir muestras (o matrices de muestras) o un conjunto (o matriz) de coeficientes de transformada de M columnas y N filas. Como alternativa, la muestra puede significar un valor de píxel en el dominio espacial, y cuando tal valor de píxel se transforma al dominio de la frecuencia, puede significar un coeficiente de transformada en el dominio de frecuencia.
En este documento, el término "/" y "," debe interpretarse en el sentido de que indica "y/o". Por ejemplo, la expresión "A/B" puede significar "A y/o B". Además, "A, B" puede significar "A y/o B". Además, "A/B/C" puede significar "al menos uno de A, B y/o C". Además, "A, B, C" puede significar "al menos uno de A, B y/o C".
Además, en el documento, el término "o" debe interpretarse en el sentido de que indica "y/o". Por ejemplo, la expresión "A o B" puede comprender 1) únicamente A, 2) únicamente B y/o 3) tanto A como B. En otras palabras, el término "o" en este documento debe interpretarse como que indica "adicionalmente o como 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 como "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 (intra predicción)", puede indicarse que se propone "intra predicción" como un ejemplo de "predicción". En otras palabras, el término "predicción" en la presente memoria descriptiva no se limita a "intra predicción", y puede indicarse que se propone "intra predicción" como un ejemplo de "predicción". Además, incluso en caso de que se exprese "predicción (intra predicción)", puede indicarse que se propone "intra predicción" 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 FIG. 1 ilustra un ejemplo de un sistema de codificación de vídeo/imagen al que puede aplicarse la divulgación del presente documento.
Haciendo referencia a la FIG. 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo de origen y un dispositivo de recepción. El dispositivo de origen puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio de almacenamiento digital o red en forma de un archivo o emisión en continuo.
El dispositivo de origen puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo de recepción puede incluir un receptor, un aparato de descodificación y un representador. El aparato de codificación puede denominarse aparato de codificación de vídeo/imagen, y el aparato de descodificación puede denominarse aparato de descodificación de vídeo/imagen. El transmisor puede incluirse en el aparato de codificación. El receptor puede incluirse en el aparato de descodificación. El representador 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 de generación de vídeo/imagen. El dispositivo de captura de vídeo/imagen puede incluir, por ejemplo, una o más cámaras, archivos de vídeo/imagen que incluyen vídeo/imágenes previamente capturados y similares. El dispositivo de generación de vídeo/imagen puede incluir, por ejemplo, ordenadores, tabletas y teléfonos inteligentes, y puede generar (electrónicamente) vídeo/imágenes. Por ejemplo, puede generarse un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de vídeo/imagen puede sustituirse por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede realizar una serie de procesos tales como predicción, transformada y cuantificación para compactación y eficiencia de 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 codificada/información de imagen o datos emitidos en forma de un flujo de bits al receptor del dispositivo de recepción a través de un medio de almacenamiento digital o una red en forma de un archivo o emisión en continuo. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. El transmisor puede incluir un elemento para generar un archivo de medios a través de un formato de archivo predeterminado y puede incluir un elemento para transmisión a través de una red de difusión/comunicación. El receptor puede recibir/extraer el flujo de bits y transmitir el flujo de bits recibido al aparato de descodificación.
El aparato de descodificación puede descodificar el vídeo/imagen realizando una serie de procesos tales como descuantificación, transformada inversa y predicción correspondientes a la operación del aparato de codificación.
El representador puede representar el vídeo/imagen descodificado. El vídeo/imagen representado puede visualizarse a través de la pantalla.
La FIG. 2 es un diagrama que ilustra esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que puede aplicarse la divulgación del presente documento. En lo sucesivo en la presente memoria, lo que se denomina como el aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
Haciendo referencia a la FIG. 2, el aparato 200 de codificación puede incluir y estar configurado con un divisor 210 de imágenes, un predictor 220, un procesador residual 230, un codificador 240 por entropía, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un inter predictor 221 y un intra predictor 222. El procesador residual 230 puede incluir un transformador 232, un cuantificador 233, un descuantificador 234 y un transformador inverso 235. El procesador residual 230 puede incluir además un sustractor 231. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. El divisor 210 de imágenes, el predictor 220, el procesador residual 230, el codificador 240 por entropía, el sumador 250 y el filtro 260, que se han descrito anteriormente, pueden configurarse mediante uno o más componentes de hardware (p. ej., conjuntos de chips de codificador o procesadores) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes descodificadas (DPB), y también puede configurarse por un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El divisor 210 de imágenes puede dividir una entrada de imagen de entrada (o, foto, fotograma) al aparato 200 de codificación en una o más unidades de procesamiento. Como un ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol ternario de árbol binario de árbol cuádruple (QTBTTT) a partir de una unidad de árbol de codificación (CTU) o la unidad de codificación más grande (LCU). Por ejemplo, una unidad de codificación puede dividirse en una pluralidad de unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuádruple, una estructura de árbol binario y/o una estructura de árbol ternario. En este caso, por ejemplo, se aplica en primer lugar la estructura de árbol cuádruple y puede aplicarse posteriormente la estructura de árbol binario y/o la estructura de árbol ternario. Como alternativa, la estructura de árbol binario también puede aplicarse en primer lugar. Un proceso de codificación según la presente divulgación puede realizarse basándose en una unidad de codificación final que ya no se divide más. En este caso, basándose en la eficiencia de codificación según las características de la 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 una unidad de codificación que tiene un tamaño óptimo puede usarse como la unidad de codificación final. En este punto, el proceso de codificación puede incluir un proceso como predicción, transformada y reconstrucción que se describirá más adelante. Como otro ejemplo, la unidad de procesamiento puede incluir adicionalmente una unidad de predicción (PU) o una unidad de transformada (TU). En este caso, cada una de la unidad de predicción y la unidad de transformada puede dividirse o subdividirse a partir de la unidad de codificación final mencionada anteriormente. La unidad de predicción puede ser una unidad de predicción de muestra, y la unidad de transformada puede ser una unidad para inducir un coeficiente de transformada 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 tal como un bloque o un área en algunos casos. En general, un bloque MxN puede representar muestras compuestas de M columnas y N filas o un grupo de coeficientes de transformada. La muestra generalmente puede representar un píxel o un valor de píxel, y también puede representar únicamente el valor de píxel/píxel de un componente de luma, y también puede representar únicamente el valor de píxel/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 foto (o 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 previsto, muestras de predicción o matriz de muestras de predicción) emitida desde el predictor 220 desde una señal de imagen de entrada (bloque original, muestras originales o matriz de muestras original), y la señal residual generada se transmite al transformador 232. El predictor 220 puede realizar predicción para un bloque objetivo de procesamiento (en lo sucesivo en la presente memoria, denominado como un "bloque actual"), y generar un bloque previsto que incluye muestras de predicción para el bloque actual. El predictor 220 puede determinar si se aplica intra predicción o inter predicción 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 diversas clases de información relacionada con la predicción, tal como información de modo de predicción, y transferir la información generada al codificador 240 por entropía. La información sobre la predicción puede codificarse en el codificador 240 por entropía y emitirse en forma de un flujo de bits.
El intra predictor 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 lejos del bloque actual según el modo de predicción. Los modos de predicción en la intra predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El modo no direccional puede incluir, por ejemplo, un modo de CC 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 preciso 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 intra predictor 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 inter predictor 221 puede inducir un bloque previsto 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 inter predicció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 inter predicción (predicción L0, predicción L1, Bi predicción o similares). En el caso de la inter-predicció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 el nombre tal como un bloque de referencia coubicado, una CU coubicada (colCU), o similares, y la imagen de referencia que incluye el bloque vecino temporal también puede denominarse una imagen coubicada (colPic). Por ejemplo, el inter predictor 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 inter predicción puede realizarse basándose en diversos modos de predicción y, por ejemplo, en el caso de un modo de omisión y un modo de fusión, el inter predictor 221 puede usar la información de movimiento del bloque vecino como la información de movimiento del bloque actual. En el caso del modo de omisión, la señal residual puede no transmitirse a diferencia del modo de fusión. Un modo de predicción de vector de movimiento (MVP) 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ñalizar 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 únicamente aplicar intra predicción o inter predicción para predecir un bloque sino también aplicar simultáneamente tanto intra predicción como inter predicción. Esto puede denominarse inter e intra predicción combinada (CIIP). Además, el predictor puede realizar una copia de intra bloque (IBC) para la predicción de un bloque. La copia de intra bloque puede usarse para codificación de imagen de contenido / imagen en movimiento de un juego o similares, por ejemplo, codificación de contenido de pantalla (SCC). La IBC básicamente realiza predicción en la imagen actual, pero puede realizarse de manera similar a inter predicción en que se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de inter predicción descritas en el presente documento.
La señal de predicción generada a través del inter predictor 221 y/o el intra predictor 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), una transformada de seno discreta (DST), una transformada basada en gráficos (GBT) o una transformada condicionalmente no lineal (CNT). En este punto, la GBT significa transformada obtenida a partir 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 un cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador 240 por entropía, y el codificador 240 por 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 coeficientes de transformada cuantificados de tipo bloque en una forma vectorial 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 vectorial unidimensional. El codificador 240 por entropía puede realizar diversos métodos de codificación tales como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC) y similares. El codificador 240 por entropía puede codificar 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 de sintaxis 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) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros, tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. En el presente documento, los elementos de información y/o sintaxis que se señalizan/transmiten para describirse más adelante pueden codificarse a través del proceso de codificación anteriormente descrito, y pueden 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 punto, la red puede incluir una red de difusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento, tales como USB, SD, C<d>, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no ilustrado) que transmite una señal emitida desde el codificador 240 por entropía y/o una unidad de almacenamiento (no ilustrada) que almacena la señal puede configurarse como un elemento interno/externo del aparato 200 de codificación y, como alternativa, el transmisor puede incluirse en el codificador 240 por 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 el transformador inverso 235. El sumador 250 añade 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 reconstruida). Si no hay residual para el bloque objetivo de procesamiento, tal como un caso en el que se aplica un modo de omisión, el bloque previsto puede usarse como el bloque reconstruido. La señal reconstruida generada puede usarse para intra predicción de un siguiente bloque objetivo de procesamiento en la imagen actual, y puede usarse para inter predicción de una siguiente imagen a través de filtrado como se describe a continuación.
Mientras tanto, el mapeo de luma con escalado de croma (LMCS) 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), un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversas clases de información relacionada con el filtrado, y transferir la información generada al codificador 290 por 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 codificarse por el codificador 290 por entropía y emitirse 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 inter predictor 221. Cuando la inter predicción se aplica a través del aparato de codificación, puede evitarse el desajuste de predicción entre el aparato 200 de codificación y el aparato de descodificació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 inter predictor 221. La memoria 270 puede almacenar información de movimiento de un bloque a partir 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 han reconstruido. La información de movimiento almacenada puede transferirse al inter predictor 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 intra predictor 222.
La FIG. 3 es un diagrama para explicar esquemáticamente la configuración de un aparato de descodificación de vídeo/imagen al que puede aplicarse la divulgación del presente documento.
Haciendo referencia a la FIG. 3, el aparato 300 de descodificación puede incluir y estar configurado con un descodificador 310 por entropía, un procesador residual 320, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un inter predictor 331 y un intra predictor 332. El procesador residual 320 puede incluir un descuantificador 321 y un transformador inverso 322. El descodificador 310 por entropía, el procesador residual 320, el predictor 330, el sumador 340 y el filtro 350, que se han descrito anteriormente, pueden configurarse mediante uno o más componentes de hardware (p. ej., conjuntos de chips o procesadores de descodificador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes descodificadas (DPB), y puede configurarse por 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 descodificación puede reconstruir la imagen en respuesta a un proceso en el que se procesa la información de vídeo/imagen en el aparato de codificación ilustrado en la FIG. 2. Por ejemplo, el aparato 300 de descodificación puede derivar las unidades/bloques basándose en información relacionada con división de bloque adquirida desde el flujo de bits. El aparato 300 de descodificación puede realizar la descodificación usando la unidad de procesamiento aplicada al aparato de codificación. Por lo tanto, la unidad de procesamiento para la descodificación puede ser, por ejemplo, una unidad de codificación, y la unidad de codificación puede dividirse según la estructura de árbol cuádruple, la estructura de árbol binario y/o la estructura de árbol ternario desde la unidad de árbol de codificación o la unidad de codificación máxima. Una o más unidades de transformada pueden derivarse desde la unidad de codificación. Además, la señal de imagen reconstruida descodificada y emitida a través del aparato 300 de descodificación puede reproducirse a través de un aparato de reproducción.
El aparato 300 de descodificació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 descodificarse a través del descodificador 310 por entropía. Por ejemplo, el descodificador 310 por 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 imagen (o reconstrucción de imagen). La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros, tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. El aparato de descodificación puede descodificar además una 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 de sintaxis descritos más adelante en este documento que pueden descodificarse pueden descodificar el proceso de descodificación y obtenerse del flujo de bits. Por ejemplo, el descodificador 310 por entropía descodifica la información en el flujo de bits basándose en un método de codificación tal como codificación de Golomb exponencial, CAVLC o CABAC, y emite elementos de sintaxis requeridos para reconstrucción de imagen y valores cuantificados de coeficientes de transformada para residual. Más específicamente, el método de descodificación por entropía de CABAC puede recibir un binario correspondiente a cada elemento de sintaxis en el flujo de bits, determinar un modelo de contexto usando una información de elemento de sintaxis objetivo de descodificación, información de descodificación de un bloque objetivo de descodificación o información de un símbolo/binario descodificado en una etapa anterior, y realizar una descodificación aritmética en el binario prediciendo una probabilidad de ocurrencia de un binario según el modelo de contexto determinado, y generar un símbolo que corresponde al valor de cada elemento de sintaxis. En este caso, el método de descodificación por entropía de CABAC puede actualizar el modelo de contexto usando la información del símbolo/binario descodificado para un modelo de contexto de un siguiente símbolo/binario después de determinar el modelo de contexto. La información relacionada con la predicción entre la información descodificada por el descodificador 310 por entropía puede proporcionarse al predictor 330, y la información sobre el residual en el que se ha realizado la descodificación por entropía en el descodificador 310 por entropía, es decir, los coeficientes de transformada cuantificados e información de parámetro relacionada, puede introducirse en el descuantificador 321. Además, la información sobre el filtrado entre la información descodificada por el descodificador 310 por entropía puede proporcionarse al filtro 350. Mientras tanto, un receptor (no ilustrado) 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 descodificación, o el receptor puede ser un elemento constituyente del descodificador 310 por entropía. Mientras tanto, el aparato de descodificación según el presente documento puede denominarse aparato de descodificación de vídeo/imagen/foto, y el aparato de descodificación puede clasificarse en un descodificador de información (descodificador de información de vídeo/imagen/foto) y un descodificador de muestra (descodificador de muestra de vídeo/imagen/foto). El descodificador de información puede incluir el descodificador 310 por entropía, y el descodificador de muestra puede incluir al menos uno del descuantificador 321, el transformador inverso 322, el predictor 330, el sumador 340, el filtro 350 y la memoria 360.
El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados para emitir los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en una forma de un bloque bidimensional. En este caso, la reorganización puede realizarse basándose en un orden de exploración de coeficiente realizado por el aparato de codificación. El descuantificador 321 puede realizar 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 inverso 322 transforma inversamente los coeficientes de transformada para adquirir la señal residual (bloque residual, matriz de muestras residuales).
El predictor 330 puede realizar la predicción del bloque actual, y generar un bloque previsto que incluye las muestras de predicción del bloque actual. El predictor puede determinar si se aplica la intra predicción o si se aplica la inter predicción al bloque actual basándose en la información acerca de la predicción emitida desde el descodificador 310 por entropía, y determinar un modo de intra/inter predicció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 únicamente aplicar intra predicción o inter predicción para predecir un bloque sino también aplicar simultáneamente intra predicción e inter predicción. Esto puede denominarse inter e intra predicción combinada (CIIP). Además, el predictor puede realizar una copia de intra bloque (IBC) para la predicción de un bloque. La copia de intra bloque puede usarse para codificación de imagen de contenido / imagen en movimiento de un juego o similares, por ejemplo, codificación de contenido de pantalla (SCC). La IBC básicamente realiza predicción en la imagen actual, pero puede realizarse de manera similar a inter predicción en que se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de inter predicción descritas en el presente documento.
El intra predictor 332 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden ubicarse en la vecindad del bloque actual, o pueden ubicarse separadas del bloque actual según el modo de predicción. En intra predicción, los modos de predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El intra predictor 332 puede determinar el modo de predicción que se aplicará al bloque actual usando el modo de predicción aplicado al bloque vecino.
El inter predictor 331 puede derivar un bloque previsto 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 inter predicción, la información de movimiento puede predecirse en la unidad de bloques, subbloques o muestras 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 sobre la dirección de inter predicción (predicción L0, predicción L1, Bi predicción y similares). En el caso de inter-predicció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 inter predictor 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 inter predicción puede realizarse basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica un modo de inter predicción para el bloque actual.
El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido o matriz de muestras reconstruida) añadiendo la señal residual obtenida a la señal de predicción (bloque previsto o matriz de muestras prevista) emitida desde el predictor 330. Si no hay residual para el bloque objetivo de procesamiento, tal como un caso en el que se aplica un modo de omisión, el bloque previsto puede usarse como el bloque reconstruido.
El sumador 340 puede denominarse reconstructor o un generador de bloques reconstruidos. La señal reconstruida generada puede usarse para la intra predicción de un siguiente bloque 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 inter predicción de una siguiente imagen.
Mientras tanto, también puede aplicarse un mapeo de luma con escalado de croma (LMCS) en el proceso de descodificación de imágenes.
El filtro 350 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 350 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida, y almacenar la imagen reconstruida modificada en la memoria 360, específicamente, 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 inter predictor 331. La memoria 360 puede almacenar información de movimiento del bloque a partir del que se deriva (o descodifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen, que ya se han reconstruido. La información de movimiento almacenada puede transferirse al inter predictor 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 intra predictor 332.
En la presente memoria descriptiva, las realizaciones descritas en el predictor 330, el descuantificador 321, el transformador inverso 322 y el filtro 350 del aparato 300 de descodificación también pueden aplicarse de la misma manera o correspondiendo con el predictor 220, el descuantificador 234, el transformador inverso 235 y el filtro 260 del aparato 200 de codificación.
Mientras tanto, como se describió anteriormente, al realizar la codificación de vídeo, se realiza predicción para mejorar la eficiencia de compresión. A través de esto, se puede generar un bloque previsto que incluye muestras de predicción para un bloque actual como un bloque a codificar (es decir, un bloque objetivo de codificación). En este punto, el bloque previsto incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque previsto se obtiene de la misma manera en un aparato de codificación y en un aparato de descodificación, y el aparato de codificación puede señalizar información (información residual) en el residuo entre el bloque original y el bloque previsto, en lugar de un valor de muestra original de un bloque original, al aparato de descodificación, aumentando de esta manera la eficiencia de codificación de imágenes. El aparato de descodificación puede derivar un bloque residual que incluye muestras residuales basándose en la información residual, añadir el bloque residual y el bloque previsto para generar bloques reconstruidos que incluyen muestras reconstruidas y generar una imagen reconstruida que incluye los bloques reconstruidos.
La información residual puede generarse mediante 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 previsto, realizar un proceso de transformada en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformada, realizar un proceso de cuantificación en los coeficientes de transformada para derivar coeficientes de transformada cuantificados y enviar información residual relacionada con la señal al aparato de descodificación (a través de un flujo de bits). En este punto, 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 descodificación puede realizar un proceso de descuantificación/transformada inversa basándose en la información residual y derivar muestras residuales (o bloques residuales). El aparato de descodificación puede generar una imagen reconstruida basándose en el bloque previsto y el bloque residual. también, como referencia para la inter-predicción de una imagen posterior, el aparato de codificación también puede descuantificar/transformar a la inversa los coeficientes de transformada cuantificados para derivar un bloque residual y generar una imagen reconstruida basándose en el mismo.
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 como un coeficiente de transformada y un coeficiente de transformada escalado, respectivamente. En este caso, la información residual puede incluir información sobre el coeficiente o coeficientes de transformada, y la información sobre el coeficiente o coeficientes de transformada puede señalizarse a través de la sintaxis de codificación residual. Pueden derivarse coeficientes de transformada basándose en la información residual (o información sobre el coeficiente o coeficientes de transformada), y pueden derivarse coeficientes de transformada escalados a través de transformada inversa (escalamiento) en los coeficientes de transformada. Las muestras residuales pueden derivarse basándose en 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 descodificación puede derivar muestras de predicción realizando inter predicción en unidades de bloques. La inter predicció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 imagen o imágenes distintas de la imagen actual. Cuando la inter predicció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 a la que apunta el índice de imagen de referencia, puede derivarse el bloque previsto (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 inter predicció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 inter predicción (predicción L0, predicción L1, Bi predicción, etc.). Cuando se aplica la inter predicción, los bloques vecinos pueden incluir un bloque vecino espacial que existe en la imagen actual y un bloque vecino temporal que existe 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 un bloque de referencia coubicado, una CU coubicada (colCU), etc., y una imagen de referencia que incluye el bloque temporalmente vecino puede denominarse una imagen coubicada (colPic). Por ejemplo, puede construirse una lista de candidatos de información de movimiento basándose en bloques vecinos del bloque actual, y puede señalizarse una bandera o información de í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 inter predicción puede realizarse 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 no transmitirse una señal residual. En el caso de un modo de predicción de vector de movimiento (MVP), puede usarse un vector de movimiento de un bloque vecino seleccionado como un predictor de vector de movimiento, y puede señalizarse una diferencia de vector de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse 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 inter predicción (predicción L0, predicción L1, Bi predicción, etc.). Un vector de movimiento en la dirección L0 puede denominarse como un vector de movimiento L0 o MVL0, y un vector de movimiento en la dirección L1 puede denominarse como un 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 punto, el vector de movimiento L0 puede indicar un vector de movimiento asociado con la lista de imágenes de referencia L0 (L0), y el vector de movimiento L1 puede indicar un vector de movimiento asociado con la lista de imágenes de referencia L1 (L1). La lista de imágenes de referencia L0 puede incluir imágenes que son anteriores a la imagen actual en orden de salida como imágenes de referencia, y la lista de imágenes de referencia L1 puede incluir imágenes que son posteriores a la imagen actual en orden de salida. Las imágenes anteriores pueden denominarse imágenes (de referencia) directas, 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 en primer lugar, 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 en primer lugar en la lista de imágenes de referencia 1 y las imágenes anteriores pueden indexarse a continuación. En este punto, el orden de salida puede corresponder a un orden de recuento de orden de imágenes (POC).
La FIG. 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado.
Haciendo referencia a la FIG. 4, la imagen/vídeo codificado se divide en VCL (capa de codificación de vídeo) que se ocupa de un proceso de descodificación de imagen/vídeo y de sí misma, 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 subsistemas y es responsable de las funciones de adaptación de red.
La VCL puede generar datos de VCL que incluyen datos de imagen comprimidos (datos de corte), o generar conjuntos de parámetros que incluyen un conjunto de parámetros de imagen (conjunto de parámetros de imagen: PPS), un conjunto de parámetros de secuencia (conjunto de parámetros de secuencia: SPS), un conjunto de parámetros de vídeo (conjunto de parámetros de vídeo: VPS) etc. o un mensaje de información de mejora complementaria (SEI) adicionalmente necesario para el proceso de descodificación de una imagen.
En la NAL, puede generarse una unidad de NAL añadiendo información de cabecera (cabecera de unidad de NAL) a una carga útil de secuencia de bytes sin procesar (RBSP) generada en la VCL. En este caso, la RBSP se refiere a datos de corte, conjuntos de parámetros, mensajes de SEI, etc. generados en la VCL. La cabecera de unidad de NAL puede incluir información de tipo de unidad de NAL especificada según datos de RBSP incluidos en la correspondiente unidad de NAL.
Como se muestra en la figura, la unidad de NAL puede dividirse en una unidad de NAL de VCL y una unidad de NAL no de VCL según la RBSP generada en la VCL. La unidad de NAL de VCL puede significar una unidad de NAL que incluye información (datos de corte) acerca de una imagen, y la unidad de NAL no de VCL puede significar una unidad de NAL que contiene información (conjunto de parámetros o mensaje de SEI) necesaria para descodificar una imagen.
La unidad de NAL de VCL y la unidad de NAL no de VCL descritas anteriormente pueden transmitirse a través de una red adjuntando información de cabecera según una norma de datos del subsistema. Por ejemplo, la unidad de NAL puede transformarse en una forma de datos de una norma predeterminada tal como formato de archivo H.266/VVC, protocolo de transporte en tiempo real (RTP), flujo de transporte (TS), etc. y transmitirse a través de diversas redes.
Como se ha descrito anteriormente, en la unidad de NAL, el tipo de unidad de NAL puede especificarse según la estructura de datos de RBSP incluida en la correspondiente unidad de NAL, y la información sobre este tipo de unidad de NAL puede almacenarse y señalizarse en la cabecera de unidad de NAL.
Por ejemplo, la unidad de NAL puede clasificarse aproximadamente en el tipo de unidad de NAL de VCL y el tipo de unidad de NAL no de VCL dependiendo de si la unidad de NAL incluye información acerca de la imagen (datos de corte). El tipo de unidad de NAL de VCL puede clasificarse según la propiedad y un tipo de una imagen incluida en la unidad de NAL de VCL, y el tipo de unidad de NAL no de VCL puede clasificarse según el tipo de un conjunto de parámetros.
Lo siguiente es un ejemplo del tipo de unidad de NAL especificado según el tipo de conjunto de parámetros incluido en el tipo de unidad de NAL no de VCL.
- Unidad de NAL de APS (conjunto de parámetros de adaptación): tipo para unidad de NAL que incluye APS
- Unidad de NAL de DPS (conjunto de parámetros de descodificación): tipo para unidad de NAL que incluye DPS
- Unidad de NAL de VPS (conjunto de parámetros de vídeo): tipo para unidad de NAL que incluye VPS
- Unidad de NAL de SPS (conjunto de parámetros de secuencia): tipo para unidad de NAL que incluye SPS
- Unidad de NAL de PPS (conjunto de parámetros de imagen): tipo para unidad de NAL que incluye PPS
- Unidad de NAL de PH (cabecera de imagen): tipo para unidad de NAL que incluye PH
Los tipos de unidad de NAL anteriormente descritos tienen información de sintaxis para el tipo de unidad de NAL, y la información de sintaxis puede almacenarse y señalizarse en la cabecera de unidad de NAL. Por ejemplo, la información de sintaxis puede ser nal_unit_type, y los tipos de unidad de NAL pueden especificarse por un valor de nal_unit_type.
Mientras tanto, como se ha descrito anteriormente, una imagen puede incluir una pluralidad de cortes, y un corte puede incluir una cabecera de corte y datos de corte. En este caso, puede añadirse además una cabecera de imagen a una pluralidad de cortes (una cabecera de corte y un conjunto de datos de corte) en una imagen. La cabecera de imagen (sintaxis de cabecera de imagen) puede incluir información/parámetros comúnmente aplicables a la imagen. En este documento, un corte puede mezclarse o reemplazarse con un grupo de piezas. También, en este documento, una cabecera de corte puede mezclarse o reemplazarse con una cabecera de grupo de tipos.
La cabecera de corte (sintaxis de cabecera de corte o información de cabecera de corte) puede incluir información/parámetros comúnmente aplicables al corte. El APS (sintaxis de APS) o PPS (sintaxis de PPS) puede incluir información/parámetros comúnmente aplicables a uno o más cortes 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). En este documento, la sintaxis de alto nivel (HLS) puede incluir al menos una de la sintaxis de APS, sintaxis de PPS, sintaxis de SPS, sintaxis de VPS, sintaxis de DPS, sintaxis de cabecera de imagen y sintaxis de cabecera de corte.
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 descodificación puede incluir, así como información relacionada con la partición de imagen en la imagen, información de intra/inter predicción, información residual, información de filtrado en bucle, etc. la información incluida en la cabecera de corte, la información incluida en la cabecera 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 de la cabecera de unidad de NAL.
Mientras tanto, para compensar una diferencia entre una imagen original y una imagen reconstruida debido a un error que se produce en un proceso de codificación de compresión tal como cuantificación, puede realizarse un proceso de filtrado en bucle en muestras reconstruidas o imágenes reconstruidas como se ha descrito anteriormente. Como se ha descrito anteriormente, el filtrado en bucle puede realizarse por el filtro del aparato de codificación y el filtro del aparato de descodificación, y puede aplicarse un filtro de desbloqueo, SAO, y/o filtro de bucle adaptativo (ALF). Por ejemplo, el proceso de ALF puede realizarse después de que se completen el proceso de filtrado de desbloqueo y/o el proceso de SAO. Sin embargo, incluso en este caso, puede omitirse el proceso de filtrado de desbloqueo y/o el proceso de SAO.
En lo sucesivo en la presente memoria, se describirá en detalle la reconstrucción y filtrado de imágenes. En codificación de imagen/vídeo, puede generarse un bloque reconstruido basándose en intra predicción/inter predicción en cada unidad de bloque, y puede generarse una imagen reconstruida que incluye los bloques reconstruidos. Cuando la imagen/corte actual es una imagen/corte I, los bloques incluidos en la imagen/corte actual pueden reconstruirse basándose únicamente en intra predicción. Mientras tanto, cuando la imagen/corte actual es una imagen/corte P o B, los bloques incluidos en la imagen/corte actual pueden reconstruirse basándose en intra predicción o inter predicción. En este caso, puede aplicarse intra predicción a algunos bloques en la imagen/corte actual, y puede aplicarse inter predicción a los bloques restantes.
La intra predicció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 en la presente memoria, imagen actual) a la que pertenece el bloque actual. En caso de que la intra predicción se aplique al bloque actual, pueden derivarse muestras de referencia vecinas a usar para la intra predicción del bloque actual. Las muestras de referencia vecinas del bloque actual pueden incluir una muestra adyacente a un límite izquierdo del bloque actual que tiene un tamaño de nWxnH, un total de 2xnH muestras vecinas al límite inferior izquierdo, una muestra adyacente al límite superior del bloque actual bloque, un total de 2xnW muestras vecinas a la parte superior derecha y una muestra vecina a la parte superior izquierda del bloque actual. Como alternativa, las muestras de referencia vecinas del bloque actual pueden incluir una muestra vecina superior de varias columnas y una muestra vecina izquierda de varias filas. Como alternativa, las muestras de referencia vecinas del bloque actual pueden incluir un total de nH muestras adyacentes al límite derecho del bloque actual que tiene un tamaño de nWxnH, un total de nH muestras adyacentes al límite derecho del bloque actual, un total de nW muestras 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 haberse descodificado aún o pueden no estar disponibles. En este caso, el descodificador puede configurar las muestras de referencia vecinas para usarse para la predicción a través de la sustitución de muestras disponibles para las muestras no disponibles. Como alternativa, las muestras de referencia vecinas que van a usarse 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 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 modo no direccional o modo no angular, y el caso (ii) puede denominarse modo direccional o 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 ubicada en una dirección opuesta a la dirección de predicción del modo de intra predicció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 intra predicción de interpolación lineal (LIP). Además, pueden generarse muestras de predicción de croma basándose en muestras de luma usando un modelo lineal. Este caso puede denominarse un modo LM. Además, puede derivarse una muestra de predicción temporal del bloque actual basándose en muestras de referencia vecinas filtradas. Al menos una muestra de referencia, que se deriva según el modo de intra predicción entre las muestras de referencia vecinas existentes, es decir, muestras de referencia vecinas no filtradas, y la muestra de predicción temporal pueden sumarse de manera ponderada para derivar la muestra de predicción del bloque actual. El caso anterior puede denominarse una intra predicción dependiente de posición (PDPC). Además, puede seleccionarse una línea de muestra de referencia que tiene la precisión de predicción más alta entre las múltiples líneas de muestra de referencia vecinas del bloque actual para derivar la muestra de predicción usando la muestra de referencia ubicada en la dirección de predicción en la línea correspondiente, y la línea de muestra de referencia usada en la presente memoria puede indicarse (señalarse) a un aparato de descodificación, realizando de esta manera una codificación de intra predicción. El caso anterior puede denominarse intra predicción de línea de referencia múltiple (MRL) o intra predicción basada en MRL. Además, puede realizarse intra predicción basándose en el mismo modo de intra predicción dividiendo el bloque actual en subdivisiones verticales u horizontales, y pueden derivarse y usarse muestras de referencia vecinas en unidades de las subdivisiones. Es decir, en este caso, el modo de intra predicción para el bloque actual se aplica igualmente a las subdivisiones, y el rendimiento de intra predicción puede mejorarse en algunos casos derivando y usando las muestras de referencia vecinas en unidades de las subdivisiones. Un método de predicción de este tipo puede denominarse intra subdivisiones (ISP) o intra predicción basada en ISP. Los métodos de intra predicción anteriormente mencionados pueden denominarse un tipo de intra predicción distinto del modo de intra predicción en las secciones 1.2. El tipo de intra predicción puede llamarse en diversos términos tales como una técnica de intra predicción o un modo de intra predicción adicional o similares. Por ejemplo, el tipo de intra predicción (o modo de intra predicción adicional o similar) puede incluir al menos uno de los LIP, PDPC, MRL e ISP mencionados anteriormente. Un método de intra predicción general excepto para el tipo de intra predicción específico tal como LIP, PDPC, MRL o ISP puede denominarse un tipo de intra predicción normal. El tipo de intra predicción normal puede aplicarse generalmente cuando no se aplica el tipo de intra predicción específico, y la predicción puede realizarse basándose en el modo de intra predicción mencionado anteriormente. Mientras tanto, opcionalmente, puede realizarse un filtrado de posprocesamiento en la muestra de predicción derivada.
Específicamente, el proceso de intra predicción puede incluir una operación de determinación de un modo/tipo de intra predicció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 intra predicción. Además, opcionalmente, puede realizarse una operación de filtrado de posprocesamiento 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 descodificada en el aparato de descodificación y también puede almacenarse en una memoria intermedia o memoria de imagen descodificada del aparato de codificación/aparato de descodificación y se usa como una imagen de referencia en el proceso de inter predicción cuando la imagen se codifica/descodifica en un tiempo 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 anteriormente. En este caso, uno o algunos del proceso de filtrado de desbloqueo, proceso de SAO, proceso de ALF y proceso de filtro bilateral pueden aplicarse secuencialmente, o todos los procesos pueden aplicarse secuencialmente. Por ejemplo, el proceso de SAO puede realizarse después de que se aplica el proceso de filtrado de desbloqueo a la imagen reconstruida. Como alternativa, por ejemplo, el proceso de ALF puede realizarse después de que se aplica el proceso de filtrado de desbloqueo a la imagen reconstruida. Esto también puede realizarse 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 filtración de desbloqueo puede derivar, por ejemplo, un límite objetivo en la imagen reconstruida, determinar una intensidad de límite (bS) para el límite objetivo, y realizar filtración de desbloqueo en el límite objetivo, basándose en 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 en una base de muestra. Por ejemplo, el SAO puede aplicarse basándose en un tipo tal como un desplazamiento de banda, un desplazamiento de borde o similares. Según la 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 que se aplica el filtrado de desbloqueo.
El ALF es una técnica para filtrar la imagen reconstruida en una base de muestra, basándose en coeficientes de filtro según una forma de filtro. El aparato de codificación puede determinar si se aplica el ALF, una forma de ALF y/o un coeficiente de filtrado de ALF o similares comparando la imagen reconstruida y la imagen original, y puede señalizar el resultado de determinación al aparato de descodificación. Es decir, la información de filtrado para el ALF puede incluir información sobre si se aplica el ALF, información de forma de filtro de ALF, información de coeficiente de filtrado de ALF, o similares. El ALF puede aplicarse a la imagen reconstruida después de que se aplica el filtrado de desbloqueo.
La FIG. 5 ilustra un ejemplo de una forma de filtro de ALF.
La FIG. 5, (a) ilustra una forma de filtro de diamante de 7x7, y (b) ilustra una forma de filtro de diamante de 5x5. En la FIG. 5, Cn en la forma de filtro representa un coeficiente de filtro. Cuando n es idéntico en el Cn, significa que puede asignarse el mismo coeficiente de filtro. En el presente documento, una ubicación y/o unidad en la que se asigna el coeficiente de filtro según la forma de filtro de ALF puede denominarse derivación de filtro. En este caso, se puede asignar un coeficiente de filtro a cada derivación de filtro, y una forma en la que se dispone la derivación de filtro puede corresponder a una forma de filtro. Una derivación de filtro ubicada en un centro de la forma de filtro puede denominarse derivación de filtro central. El mismo coeficiente de filtro puede asignarse a dos derivaciones de filtro que tienen el mismo valor n y presentes en ubicaciones que se corresponden entre sí con respecto a la derivación de filtro central. Por ejemplo, en el caso de la forma de filtro de diamante de 7x7, se incluyen 25 derivaciones de filtro, y los coeficientes de filtro C0 a C11 se asignan en una forma simétrica central. Por lo tanto, pueden asignarse coeficientes de filtro a las 25 derivaciones de filtro usando únicamente 13 coeficientes de filtro. Además, por ejemplo, en el caso de la forma de filtro de diamante de 5x5, se incluyen 13 derivaciones de filtro, y se asignan coeficientes de filtro C0 a C5 en la forma simétrica central. Por lo tanto, pueden asignarse coeficientes de filtro a las 13 derivaciones de filtro usando únicamente 7 filtros. Por ejemplo, para disminuir una cantidad de datos de información sobre coeficientes de filtro a señalizar, pueden señalizarse (explícitamente) 12 coeficientes de filtro de los 13 coeficientes de filtro para la forma de filtro de diamante 7x7, y puede derivarse (implícitamente) un coeficiente de filtro. Además, por ejemplo, pueden señalizarse (explícitamente) 6 coeficientes de filtro de los 7 coeficientes de filtro para la forma de filtro de diamante 5x5, y puede derivarse (implícitamente) un coeficiente de filtro.
La FIG. 6 es un diagrama de flujo que muestra un método de codificación basado en filtrado en un aparato de codificación. El método de la FIG. 6 puede incluir las etapas S600 a S630.
En la etapa S600, el aparato de codificación puede generar una imagen reconstruida. La etapa S600 puede realizarse basándose en el proceso de generación de imagen reconstruida (o muestras reconstruidas) anteriormente mencionado.
En la etapa S610, el aparato de codificación puede determinar si se aplica filtrado en bucle (a través de un límite virtual) basándose en información relacionada con filtrado en bucle. En la presente memoria, el filtrado en bucle puede incluir al menos uno del filtrado de desbloqueo, SAO y ALF anteriormente mencionados.
En la etapa S620, el aparato de codificación puede generar una imagen reconstruida modificada (muestras reconstruidas modificadas) basándose en la determinación de la etapa S610. En la presente memoria, la imagen reconstruida modificada (muestras reconstruidas modificadas) puede ser una imagen reconstruida filtrada (muestras reconstruidas filtradas).
En la etapa S630, el aparato de codificación puede codificar información de imagen/vídeo que incluye la información relacionada con filtrado en bucle, basándose en el proceso de filtrado en bucle.
La FIG. 7 es un diagrama de flujo que muestra un método de descodificación basado en filtrado en un aparato de descodificación. El método de la FIG. 7 puede incluir las etapas S700 a S730.
En la etapa S700, el aparato de descodificación puede obtener información de imagen/vídeo que incluye información relacionada con 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 S710, el aparato de descodificación puede generar una imagen reconstruida. La etapa S710 puede realizarse basándose en la imagen reconstruida (o muestras reconstruidas) anteriormente mencionadas.
En la etapa S720, el aparato de descodificación puede determinar si se aplica filtrado en bucle (a través de un límite virtual) basándose en la información relacionada con filtrado en bucle. En la presente memoria, el filtrado en bucle puede incluir al menos uno del filtrado de desbloqueo, SAO y ALF anteriormente mencionados.
En la etapa S730, el aparato de descodificación puede generar una imagen reconstruida modificada (muestras reconstruidas modificadas) basándose en la determinación de la etapa S720. En la presente memoria, la imagen reconstruida modificada (muestras reconstruidas modificadas) puede ser una imagen reconstruida filtrada (muestras reconstruidas filtradas).
Como se ha descrito anteriormente, el proceso de filtrado en bucle puede aplicarse a la imagen reconstruida. En este caso, puede definirse un límite virtual para mejorar además la calidad visual subjetiva/objetiva de la imagen reconstruida, y el proceso de filtrado en bucle puede aplicarse a través del límite virtual. El límite virtual puede incluir, por ejemplo, un borde discontinuo tal como una imagen de 360 grados, una imagen de RV, un límite, una imagen en imagen (PIP) 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 el presente y/o ubicación del límite virtual puede señalizarse a través de HLS. El HLS puede incluir el SPS, el PPS, la cabecera de imagen, la cabecera de corte o similares como se ha descrito anteriormente.
En lo sucesivo en la presente memoria, se describirá una señalización de sintaxis de alto nivel y semántica según realizaciones de la presente divulgación.
Una realización del presente documento puede incluir un método de control de filtros de bucle. El presente método para controlar los filtros de bucle puede aplicarse a una imagen reconstruida. Pueden usarse filtros en bucle (filtros de bucle) para descodificar flujos de bits codificados. Los filtros de bucle pueden incluir el desbloqueo, SAO y ALF anteriormente mencionados. El SPS puede incluir banderas relacionadas con cada uno del desbloqueo, SAO y ALF. Las banderas pueden indicar si cada una de las herramientas está disponible para la codificación de una secuencia de vídeo de capa codificada (CLVS) o secuencia de vídeo codificada (CVS) con referencia al SPS.
Cuando los filtros de bucle están disponibles para la CVS, la aplicación de los filtros de bucle puede controlarse para que no sea a través de límites específicos. Por ejemplo, puede controlarse si los filtros de bucle están a través de límites de subimagen. Además, puede controlarse si los filtros de bucle están a través de límites de mosaico. Además de esto, puede controlarse 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 las CTU basándose en la disponibilidad de una memoria intermedia de línea.
Con respecto a si el proceso de filtrado en bucle se realiza a través del límite virtual, la información relacionada con el filtrado en bucle puede incluir al menos una de una bandera de límites virtuales de SPS habilitados (una bandera de límites virtuales habilitados en un SPS), una bandera de límites virtuales de SPS presentes, una bandera de límites virtuales de cabecera de imagen presentes, una bandera de límites virtuales de cabecera de imagen de SPS presentes 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 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 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 límites virtuales puede incluir información sobre el número de piezas de información (elementos de sintaxis) en la coordenada x del límite virtual vertical que está presente en el SPS. Además, la información sobre la posición de límites virtuales puede incluir información sobre el número de piezas de información (elementos de sintaxis) en la coordenada y del límite virtual horizontal que está presente en el SPS. Como alternativa, la información sobre la posición de límites virtuales puede incluir información sobre el número de piezas de información (elementos de sintaxis) en la coordenada x del límite virtual vertical que está presente en una cabecera de imagen. Además, la información sobre la posición de límites virtuales puede incluir información sobre el número de piezas de información (elementos de sintaxis) en la coordenada y del límite virtual horizontal que está presente en la cabecera de imagen.
Las siguientes tablas muestran una sintaxis y semántica ilustrativas de un SPS según la presente realización.
[Tabla 1]
[Tabla 2]
Las siguientes tablas muestran una sintaxis y semántica ilustrativas 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 ilustrativas de una cabecera de imagen según la presente realización.
[Tabla 5]
[Tabla 6]
Las siguientes tablas muestran una sintaxis y semántica ilustrativas de una cabecera de corte según la presente realización.
[Tabla 7]
[Tabla 8]
En lo sucesivo en la presente memoria, se describirá la señalización de información en límites virtuales que pueden usarse en filtrado en bucle.
En el diseño existente, para deshabilitar filtros de bucle a través de límites virtuales, hay dos opciones, es decir, una opción i) en la que una bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) puede establecerse a 0, y para cada cabecera de imagen, una bandera de límites virtuales de PH presentes (ph_loop_filter_across_virtual_boundaries_disabled_present_flag) puede estar presente y establecerse a 0, y una opción ii) en la que la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) puede establecerse a 1, y la información sobre el número de límites virtuales verticales de SPS (sps_num_ver_vertical_boudnaries) e información sobre el número de límites virtuales horizontales de SPS (sps_num_hor_vertical_boudnaries) pueden establecerse a 0.
En el diseño existente, según la opción ii), la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) se establece a 1, y, por lo tanto, un descodificador espera señalización en ubicaciones de límites virtuales, lo que puede provocar un problema en un proceso de descodificación.
Las realizaciones descritas a continuación en la presente memoria pueden proponer soluciones para el problema mencionado anteriormente. Las realizaciones pueden aplicarse de forma independiente. Como alternativa, al menos dos realizaciones pueden aplicarse en combinación.
En una realización del presente documento, si los elementos de sintaxis para indicar límites virtuales están incluidos en el SPS pueden controlarse por bandera o banderas. Por ejemplo, el número de bandera o banderas puede ser 2 (p. ej., bandera de límites virtuales de SPS habilitados, bandera de límites virtuales de SPS presentes).
En un ejemplo según la presente realización, la bandera de límites virtuales de SPS habilitados puede denominarse como sps_loop_filter_across_virtual_boundaries_disabled_flag (o sps_virtual_boundaries_enabled_flag). La bandera de límites virtuales de SPS habilitados puede indicar si está habilitada una característica para deshabilitar un filtro de bucle a través de límites virtuales.
En un ejemplo según la presente realización, la bandera de límites virtuales de SPS presentes puede denominarse como sps_loop_filter_across_virtual_boundaries_disabled_present_flag (o sps_virtual_boundaries_present_flag). La bandera de límites virtuales de SPS presentes puede indicar si se incluye información de señalización para límites virtuales en el SPS o en una cabecera de imagen (PH).
En un ejemplo según la presente realización, cuando la bandera de límites virtuales de SPS habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 0, la información de señalización para deshabilitar el filtro de bucle a través de los límites virtuales puede incluirse en la PH.
En un ejemplo según la presente realización, cuando se incluye información en posiciones de límites virtuales (p. ej., límites virtuales verticales, límites virtuales horizontales) en el SPS, 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, pueden derivarse variable o variables que indican si un filtro está deshabilitado en límites virtuales para la imagen actual. Por ejemplo, la variable o variables pueden incluir VirtualBoundariesDisabledFlag.
Como un caso del presente ejemplo, cuando la bandera de habilitación de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, VirtualBoundariesDisabledFlag puede ser 1.
Como otro caso del presente ejemplo, cuando la bandera de límites virtuales de SPS habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1, la bandera de límites virtuales de SPS presentes (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 ilustrativa del SPS según la presente realización.
[Tabla 9]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 10]
La siguiente tabla muestra una sintaxis ilustrativa de la información de cabecera (la cabecera de imagen) según la presente realización.
[Tabla 11]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis 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 desde el aparato de codificación al aparato de descodificación puede incluir un conjunto de parámetros de secuencia (SPS) y una cabecera de imagen ( PH). El SPS puede incluir una bandera de límites virtuales habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir una bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag), basándose en la bandera de límites virtuales habilitados.
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, el SPS puede incluir la bandera de límites virtuales de SPS presentes. Basándose en la bandera de límites virtuales habilitados y la bandera de límites virtuales de SPS presentes, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS (sps_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de SPS (sps_virtual_boundaries_pos_x[i]), información sobre la número de límites virtuales horizontales de SPS (sps_num_hor_virtual_boundaries), e información sobre una posición de límites virtuales horizontales de SPS (sps_virtual_boundaries_pos_y[i]). Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales presentes 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 la bandera de límites virtuales habilitados y la bandera de límites virtuales de SPS presentes, la cabecera 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 límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales SPS presentes es 0, la cabecera de imagen puede incluir información sobre el número de los 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 los 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 límites virtuales verticales de PH puede determinarse basándose en la información sobre el número de límites virtuales verticales de PH, y el número de piezas de información sobre la posición de límites virtuales horizontales de PH puede determinarse basándose en la información sobre el número de límites virtuales horizontales de PH.
En otra realización del presente documento, cada pieza de información de cabecera (cabeceras de imagen) de imágenes que hacen referencia al SPS puede incluir una bandera de límites virtuales de PH presentes (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 la bandera de límites virtuales de SPS habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag) y la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag).
En un ejemplo según la presente realización, cuando un valor de la bandera de límites virtuales de SPS habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y un valor de la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 0, cada pieza de información (cabeceras de imagen) de imágenes que hacen referencia al SPS puede incluir una bandera de límites virtuales de PH presentes (ph_loop_filter_across_virtual_boundaries_disalbed_present_flag o ph_virtual_boundaries_present_flag).
En un ejemplo según la presente realización, cuando se incluye información sobre posiciones de límites virtuales (p. ej., límites virtuales verticales, límites virtuales horizontales) en el SPS, una suma del número de límites virtuales verticales y el número de límites virtuales horizontales puede estar restringida a que sea mayor que 0.
En un ejemplo según la presente realización, la variable o variables que indican si un filtro está deshabilitado en límites virtuales pueden derivarse para la imagen actual. Por ejemplo, la variable o variables pueden incluir VirtualBoundariesDisabledFlag.
Como un caso del presente ejemplo, cuando la bandera de límites virtuales de SPS habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, VirtualBoundariesDisabledFlag puede ser 1.
Como otro caso del presente ejemplo, cuando la bandera habilitada de límites virtuales de SPS (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y la bandera de límites virtuales de PH presentes (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 ilustrativa del SPS según la presente realización.
[Tabla 13]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 14]
La siguiente tabla muestra una sintaxis ilustrativa de la información de cabecera (la cabecera de imagen) según la presente realización.
[Tabla 15]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 16]
if( sps_loop_filter_across_virtual_boundaries_disabled_flag )
VirtualBoundariesPosX[ i ] = (sps_loop_filter_across_virtual_boundaries_disabled_present_flag ?
sps _virtual_boundaries_pos_x[ i ] : ph_virtual _boundaries_pos_x[ i ]) * 8 (7-44) La distancia entre cualesquiera dos límites virtuales verticales deberá ser mayor que o igual a las muestras de luma CtbSizeY.___________________________________________________________________________ ph_num_hor_virtual_boundaries especifica el número de elementos de sintaxis ph_virtual_boundaries_pos_y[ i ] que están presentes en la PH. Cuando ph_num_hor_virtual_boundaries no está presente, se infiere que es igual a 0.
El parámetro VirtualBoundariesNumHor se deriva como sigue:
VirtualBoundariesNumHor = 0
if( sps_loop_filter_across_virtual_boundaries_disabled_flag)
VirtualBoundariesNumHor =
sps_loop_filteracross_virtual_boundarics_ disabled_present_ flag ?
sps_num_hor_virtual_boundaries : ph_num_hor_virtual_boundaries (7-45)ph_virtual_boundaries_pos_y[ i ] se usa para calcular el valor de VirtualBoundariesPosY[ i ], que especifica la ubicación del i-ésimo límite virtual horizontal en unidades de muestras de luma. ph_virtual_boundaries_pos_y [ i ] deberá estar en el intervalo de 1 a Ceil( pic_heigh_in_luma samples -f 8 ) - 1, inclusive.
La ubicación del límite virtual horizontal VirtualBoundariesPosY[ i ] se deriva como sigue:
VirtualBoundariesPosY[ i ] = 0
if( sps_loop_filter_across_virtual_boundaries_disabled_flag )
VirtualBoundariesPosY[ i ] = (sps_loop_filteracross_virtual_boundaries_disabled_present_flag ?
sps_virtual_boundaries_pos_y[ i ] : ph_virtual_boundaries_pos_y[ i]) * 8 (7-46) La distancia entre cualesquiera dos límites virtuales horizontales deberá ser mayor que o igual a las muestras de luma CtbSizeY
Cuando sps_loop_filter_across_virtual_boundaries_disabled_flag es igual a 1 y ph_loop_filter_across_virtual_boundaries_disabled_present_flag es igual a 1, la suma de ph num ver virtual boundaries y ph num hor virtual borders será mayor que 0.______________________
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 desde el aparato de codificación al aparato de descodificación puede incluir un conjunto de parámetros de secuencia (SPS) y una cabecera de imagen ( PH). El SPS puede incluir una bandera de límites virtuales habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir una bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag), basándose en la bandera de límites virtuales habilitados. Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, el SPS puede incluir la bandera de límites virtuales de SPS presentes. Basándose en la bandera de límites virtuales habilitados y la bandera de límites virtuales de SPS presentes, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS (sps_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de SPS (sps_virtual_boundaries_pos_x[i]), información sobre la número de límites virtuales horizontales de SPS (sps_num_hor_virtual_boundaries), e información sobre una posición de límites virtuales horizontales de SPS (sps_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales presentes 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. La cabecera de imagen puede incluir una bandera de límites virtuales de PH presentes, basándose en la bandera de límites virtuales habilitados y la bandera de límites virtuales de SPS presentes.
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales presentes de SPS es 0, la cabecera de imagen puede incluir la bandera de límites virtuales de PH presentes. Basándose en la bandera de límites virtuales de PH presentes, la cabecera 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 límites virtuales PH presentes es 1, la cabecera 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 límites virtuales verticales de PH puede determinarse basándose en la información sobre el número de límites virtuales verticales de PH, y el número de piezas de información sobre la posición de límites virtuales horizontales de PH puede determinarse basándose en la información sobre el número de límites virtuales horizontales de PH.
En otra realización del presente documento, si los elementos de sintaxis para indicar límites virtuales están incluidos en el SPS pueden controlarse por bandera o banderas. Por ejemplo, el número de bandera o banderas puede ser 2 (p. ej., bandera de límites virtuales de SPS presentes, bandera de límites virtuales de SPS presentes).
En un ejemplo según la presente realización, la bandera de límites virtuales de SPS presentes puede denominarse como sps_loop_filter_across_virtual_boundaries_disabled_present_flag (o sps_virtual_boundaries_present_flag). La bandera de límites virtuales de SPS presentes puede indicar si se incluye información de límites virtuales en el SPS.
En un ejemplo según la divulgación, la bandera de límites virtuales de PH de SPS presentes puede denominarse como sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag. La bandera de límites virtuales de PH de SPS presentes puede indicar si se incluye información de límites virtuales en una cabecera de imagen (PH).
En un ejemplo según la presente realización, puede restringirse además que, cuando la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, la bandera de límites virtuales de PH de SPS presentes (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag) no está presente y se infiere que es 0.
En un ejemplo según la presente realización, cuando la bandera de límites virtuales de PH de SPS presentes (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, la información de señalización para deshabilitar el filtro de bucle a través de los límites virtuales puede incluirse en la PH.
La siguiente tabla muestra una sintaxis ilustrativa del SPS según la presente realización.
[Tabla 17]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 18]
La siguiente tabla muestra una sintaxis ilustrativa de la información de cabecera (la cabecera de imagen) según la presente realización.
[Tabla 19]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis 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 desde el aparato de codificación al aparato de descodificación puede incluir un conjunto de parámetros de secuencia (SPS) y una cabecera de imagen ( PH). El SPS puede incluir una bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag). Basándose en la bandera de límites virtuales de SPS presentes, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS (sps_num_ver_virtual_boundaries), información sobre una posición de límite virtual vertical de SPS (sps_virtual_boundaries_pos_x[i]), información sobre el número de límites virtuales horizontales de SPS (sps_num_hor_virtual_boundaries), e información sobre una posición de límite virtual horizontal de SPS (sps_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor de la bandera de límites virtuales SPS presentes 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 la número de límites virtuales horizontales de SPS. El SPS puede incluir la bandera de límites virtuales de PH de SPS presentes, basándose en la bandera de límites virtuales de SPS presentes.
Por ejemplo, cuando un valor de la bandera de límites virtuales de SPS presentes es 0, el SPS puede incluir una bandera de límites virtuales de PH de SPS presentes. La cabecera de imagen puede incluir una bandera de límites virtuales de PH presentes, basándose en la bandera de límites virtuales de PH de SPS presentes. Por ejemplo, cuando un valor de la bandera de límites virtuales de PH presentes de SPS es 1, la cabecera de imagen puede incluir la bandera de límites virtuales de PH presentes. Basándose en la bandera de límites virtuales de PH presentes, la cabecera 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 límites virtuales PH presentes es 1, la cabecera 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 límites virtuales verticales de PH puede determinarse basándose en la información sobre el número de límites virtuales verticales de PH, y el número de piezas de información sobre la posición de límites virtuales horizontales de PH puede determinarse basándose en la información sobre el número de límites virtuales horizontales de PH.
En otra realización del presente documento, cuando está disponible la actualización de descodificación gradual (GDR) (es decir, un valor de gdr_enabled_flag es 1), se habilita una característica en la que los filtros de bucle están deshabilitados en los límites virtuales, y la información de límites virtuales puede señalizarse en una cabecera de imagen (puede incluirse en la cabecera de imagen).
En otra realización del presente documento, cuando se habilita una función de deshabilitación de filtros de bucle a través de límites virtuales, puede incluirse información sobre señalización de una posición de los límites virtuales en uno o más conjuntos de parámetros. Por ejemplo, cuando se habilita la función de deshabilitación de 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 una cabecera de imagen.
En la presente realización, cuando la bandera de límites virtuales de SPS habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag) es 1 y se incluye información de señalización en una posición de límites virtuales en uno o más conjuntos de parámetros, pueden aplicarse los siguientes.
a) La información de señalización sobre la posición de los límites virtuales puede incluirse únicamente en el SPS, o incluirse únicamente en la cabecera de imagen, o incluirse tanto en el SPS como en la cabecera de imagen.
b) VirtualBoundariesDisabledFlag para cada imagen puede derivarse como sigue.
- Cuando sps_loop_filter_across_virtual_boundaries_disabled_flag es 0, VirtualBoundariesDisabledFlag puede establecerse a 0.
- En otro caso del presente ejemplo, cuando la información sobre la posición de los límites virtuales no se señaliza tanto en un SPS como en una cabecera de imagen asociada con una imagen, VirtualBoundariesDisabledFlag puede establecerse a 0.
- En otros casos del presente ejemplo (cuando la posición de los límites virtuales se señaliza únicamente en el SPS o únicamente en la cabecera de imagen o tanto en el SPS como en la cabecera de imagen), VirtualBoundariesDisabledFlag puede establecerse a 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 con la imagen.
d) Puede aplicarse una restricción de modo que el número máximo de límites virtuales por imagen no supere un valor predefinido. Por ejemplo, el valor predefinido puede ser 8.
e) Puede restringirse adicionalmente que la información (si está presente) sobre una posición de un límite virtual señalizado en una cabecera de imagen no deberá coincidir con información sobre posiciones de límite virtual incluidas en otro conjunto de parámetros (p. ej., SPS o PPS).
- Como alternativa, para cualquier posición de 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 la cabecera de imagen asociada con la imagen) puede incluirse en dos conjuntos de parámetros diferentes.
f) Puede restringirse además que, cuando la bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag) es 1, la bandera de límites virtuales de PH de SPS presentes (sps_ph_loop_filter_across_virtual_boundaries_disabled_present_flag) no está presente y se infiere que es 0.
La siguiente tabla muestra una sintaxis ilustrativa del SPS según la presente realización.
[Tabla 21]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 22]
La siguiente tabla muestra una sintaxis ilustrativa de la información de cabecera (la cabecera de imagen) según la presente realización.
[Tabla 23]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 24] ____________________________________________________________________________________________ph_loop_filter_across_virtual_boundaries_disabled_present_flagigual a 1 especifica que las operaciones de filtrado en bucle están deshabilitadas a través de los límites virtuales en imágenes asociadas a la PH. la bandera ph_loop_filter_across_virtual borders_disabled _present igual a 0 especifica que no se aplica tal deshabilitación de operaciones de filtrado en bucle en imágenes asociadas a la PH. Las operaciones de filtrado en bucle incluyen el filtro de desbloqueo, el filtro de desplazamiento adaptativo de muestra y las operaciones de filtro de bucle adaptativo. Cuando no está presente, el valor de ph_loop_filter_across_virtual_boundaries_disabled_present_ flag se infiere que es igual a 0.
El parámetro VirtualBoundariesDisabledFlag se deriva como sigue:
VirtualBoundariesDisabledFlag = 0
if( sps__loop _filteracross virtual boundaries_disabled_flag )
VirtualBoundariesDisabledFlag = sps_loop_filter_across_virtual_boundaries_disabled_present_flag
| | ph_loop_filter_across_virtual_boundaries_disabled_present_flag
Como alternativa, puede especificarse la siguiente restricción: cuando sps_loop_filter_across_virtual_boundaries_disabled_flag es igual a 1 y sps__loop _filter_across virtual borders _disabled_present_flag es igual a 0, ph_loop_filter_across_virtual_boundaries_disabled_present_flag es igual a 1ph_num_ver_virtual_boundariesespecifica el número de elementos de sintaxis ph_virtual borderpos_x[ i ] que están presentes en la PH. Cuando ph_num_ver_virtual_boundaries no está presente, se infiere que es igual a 0. El parámetro VirtualBoundariesNumVer se deriva como sigue:
VirtualBoundariesNumVer = sps_virtual_boundaries
ph_num_ver_virtual_boundaries (7-43)
ph_numhor_virtual_boundariesespecifica el número de elementos de sintaxis ph_virtual _boundaries_pos_y[ i ] que están presentes en la PH. Cuando ph_num_hor_virtual_boundaries no está presente, se infiere que es igual a 0.
La distancia entre cualesquiera dos límites virtuales verticales deberá ser mayor que o igual a las muestras de luma CtbSizeY.
ph_virtual_boundaries_pos_x[i] se usa para calcular el valor de VirtualBoundariesPosX[ i ], que especifica la ubicación del i-ésimo límite virtual vertical en unidades de muestras de luma.ph_virtual_boundaries_pos_x[i] deberá estar en el intervalo de 1 a Ceil( pic_width_in_luma samples -f 8) - 1, inclusive.
La lista VirtualBoundariesPosX[ i ], para I varía de 0 a VirtualBoundariesNumVer - 1, inclusive, se deriva como sigue:
for( i = 0; i < VirtualBoundariesNumVer; i++) {
if( sps_loop_filter_across_virtual boundaries_disabled_flag {
VirtualBoundariesPosX[ i ] = ( i < sps_num_ver_virtual_boundaries ) ?
sps_virtual_boundaries_pos_x[ i ]:
ph_virtual_boundaries_pos_x[ i - sps__virtual_boundaries ]
VirtualBoundariesPosX[ i ] *= 8
} else
VirtualBoundariesPosX[ i ] = 0
}
La distancia entre cualesquiera dos límites virtuales verticales deberá ser mayor que o igual a las muestras de luma CtbSizeY.
ph_num_hor_virtual_boundaries especifica el número de elementos de sintaxis ph_virtual_boundaries_pos_y[ i ] que están presentes en la PH. Cuando ph_num_hor_virtual_boundaries no está presente, se infiere que es igual a 0.
El parámetro VirtualBoundariesNumHor se deriva como sigue:
VirtualBoundariesNumHor = sps_num_hor_virtual_boundaries ph_num_hor_virtual_boundaries (7
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 desde el aparato de codificación al aparato de descodificación puede incluir un conjunto de parámetros de secuencia (SPS) y una cabecera de imagen ( PH). El SPS puede incluir una bandera de límites virtuales habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir una bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag), basándose en la bandera de límites virtuales habilitados. Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, el SPS puede incluir la bandera de límites virtuales de SPS presentes. Basándose en la bandera de límites virtuales habilitados y la bandera de límites virtuales de SPS presentes, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS (sps_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de SPS (sps_virtual_boundaries_pos_x[i]), información sobre la número de límites virtuales horizontales de SPS (sps_num_hor_virtual_boundaries), e información sobre una posición de límites virtuales horizontales de SPS (sps_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales presentes 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. La cabecera de imagen puede incluir una bandera de límites virtuales de PH presentes, basándose en la bandera de límites virtuales habilitados.
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, la cabecera de imagen puede incluir la bandera de límites virtuales de PH presentes. Basándose en la bandera de límites virtuales de PH presentes, la cabecera 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 límites virtuales de PH presentes es 1, la cabecera 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 límites virtuales verticales de PH puede determinarse basándose en la información sobre el número de límites virtuales verticales de PH, y el número de piezas de información sobre la posición de límites virtuales horizontales de PH puede determinarse basándose en la información sobre el número de límites virtuales horizontales de PH.
En otra realización del presente documento, el filtrado en bucle puede realizarse según las realizaciones mencionadas anteriormente al no restringir 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, puede señalizarse información sobre el límite virtual tanto en el SPS como en la PH. En un ejemplo de la presente realización, cuando un valor de la bandera de límites virtuales habilitados 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 puede incluirse en el SPS. Además de esto, cuando el valor de la bandera de límites virtuales de SPS habilitados (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 la cabecera de imagen. El valor delta de la posición de límites virtuales puede referirse a una diferencia entre posiciones de límites virtuales. La información sobre un signo de la posición de límites virtuales también puede incluirse en la cabecera 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 la cabecera de imagen, la información sobre la posición de límites virtuales, señalizada en el SPS, puede usarse para filtrado en bucle. Si el valor delta de la posición de límites virtuales está presente en la cabecera 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 ilustrativa del SPS según la presente realización.
[Tabla 25]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 26]
La siguiente tabla muestra una sintaxis ilustrativa de la información de cabecera (la cabecera de imagen) según la presente realización.
[Tabla 27]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis 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 desde el aparato de codificación al aparato de descodificación puede incluir un conjunto de parámetros de secuencia (SPS) y una cabecera de imagen ( PH). El SPS puede incluir una bandera de límites virtuales habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag). Basándose en la bandera de límites virtuales habilitados, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS (sps_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de SPS (sps_virtual_boundaries_pos_x[i]), información sobre el número de límites virtuales horizontales de SPS (sps_num_hor_virtual_boundaries), e información sobre una posición de límites virtuales horizontales de SPS (sps_virtual_boundaries_pos_y[i]). Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, el SPS puede incluir información sobre el número de límites virtuales horizontales de SPS, información sobre la posición de límites virtuales horizontales de SPS, información sobre el número de límites virtuales verticales de SPS, e información sobre la posición de límites virtuales verticales de 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. La cabecera de imagen puede incluir una bandera de límites virtuales de PH presentes, basándose en la bandera de límites virtuales habilitados. Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, la cabecera de imagen puede incluir la bandera de límites virtuales de PH presentes. Basándose en la bandera de límites virtuales de PH presentes, la cabecera 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 de la bandera de límites virtuales de PH presentes es 1, la cabecera 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 verticales 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 y la 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 pueden 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 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 de 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 en 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 la cabecera de imagen, la información sobre los límites virtuales, incluida en el SPS, puede usarse para filtrado en bucle. Cuando la información sobre la posición de límites virtuales no se incluye en el SPS y la información sobre el valor delta de posición de límites virtuales se incluye en la cabecera de imagen, la información sobre los límites virtuales, incluida en la cabecera de imagen, puede usarse para filtrado en bucle. 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 la cabecera 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 se incluye en el SPS y la información sobre el valor delta de posición de límites virtuales no se incluye en la cabecera de imagen, el límite virtual puede no aplicarse a la imagen.
La siguiente tabla muestra una sintaxis ilustrativa del SPS según la presente realización.
[Tabla 29]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 30]
La siguiente tabla muestra una sintaxis ilustrativa de la información de cabecera (la cabecera de imagen) según la presente realización.
[Tabla 31]
La siguiente tabla muestra una semántica ilustrativa de elementos de sintaxis incluidos en la sintaxis.
[Tabla 32]
de luma CtbSizeY.
ph_num_hor_virtual_boundaries especifica el número de elementos de sintaxis ph_virtual_boundaries_pos_y[ i ] que están presentes en la PH. Cuando ph_num_hor_virtual_boundaries no está presente, se infiere que es igual a 0.
ph_virtual_boundaries_pos_y_delta[i ] se usa para calcular el valor de VirtualBoundariesPosY[ i ], que especifica la ubicación del i-ésimo límite virtual horizontal en unidades de muestras de luma. ph_virtual_boundaries_pos_y[ i ] deberá estar en el intervalo de 1 a Ceil( pic_height_in_luma_samples -f 8 ) - 1, inclusive.
La ubicación del límite virtual horizontal VirtualBoundariesPosY[ i ] se deriva como sigue:
ph_virtual_boundaries_pos_y_sign[i] especifica el signo del i-ésimo límite virtual, que especifica la ubicación del i-ésimo límite virtual horizontal en unidades de muestras de luma. Cuando no está presente, se infiere que el valor de ph_virtual_boundaries_pos_y_sign[ i ] es igual a 0.
La variable phVirtualBoundariesPosY[ i ] para i varía de 0 a sps_num_hor límites virtuales - 1, inclusive, se inicializa como sigue:
phVirtualBoundariesPosY[ i ] = ph_virtual_boundaries_pos_y_delta [ i ] *
( 1 - 2 * ph virtual-boundaries_pos_y_sign[ i ])
VirtualBoundariesPosY[ i ] = 0
if( sps_loop_filter_across_virtual_boundaries_disabled_flag )
if( sps_loop_filter_across_virtual_boundaries_disabled_present_flag
if( ph_loop_filier_across_virtual_boundaries_disabled_present_flag ) (7-46)
VirtualBoundariesPosY[ i ] = ( sps_virtual_boundaries_pos_y[ i ]
phVirtualBoundariesPosY[ i ] ) * 8
else
VirtualBoundariesPosY[ i ] = ( sps_virtual_boundaries_pos_y[ i ] ) * 8
else if( ph_loop_filter_across_virtual_boundaries_disabled_present_ flag)
VirtualBoundariesPosY[ i ] = phVirtualBoundariesPosY[ i ] ) * 8}
}
La distancia entre cualesquiera dos límites virtuales horizontales deberá ser mayor que o igual a las muestras de luma CtbSizeY
Cuando sps_loop_filter_across_virtual_boundaries_disabled_flag es igual a 1 y ph_loop_filter_across_virtual_boundaries_disabled_present_flag es igual a 1, la suma de ph_num_ver_virtual_boundaries y ph_num_hor_virtual_boundaries deberá ser mayor que 0.
Cuando sps_loop_filter_across_virtual_boundaries_disabled_flag es igual a 1 y ph_loop_filter_across_virtual_boundaries_disabled_present_flag es igual a 1, la suma de sps_num_ver_virtual_boundaries, sps_num_hor_virtual_boundaries, ph_num_ver virtual_boundaries y ph num hor virtual boundaries no deberá ser mayor que 8._______________________________________
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 desde el aparato de codificación al aparato de descodificación puede incluir un conjunto de parámetros de secuencia (SPS) y una cabecera de imagen ( PH).
El SPS puede incluir una bandera de límites virtuales habilitados (sps_loop_filter_across_virtual_boundaries_disabled_flag). El SPS puede incluir una bandera de límites virtuales de SPS presentes (sps_loop_filter_across_virtual_boundaries_disabled_present_flag), basándose en la bandera de límites virtuales habilitados. Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, el SPS puede incluir la bandera de límites virtuales de SPS presentes. Basándose en la bandera de límites virtuales habilitados y la bandera de límites virtuales de SPS presentes, el SPS puede incluir información sobre el número de límites virtuales verticales de SPS (sps_num_ver_virtual_boundaries), información sobre una posición de límites virtuales verticales de SPS (sps_virtual_boundaries_pos_x[i]), información sobre la número de límites virtuales horizontales de SPS (sps_num_hor_virtual_boundaries), e información sobre una posición de límites virtuales horizontales de SPS (sps_virtual_boundaries_pos_y[i]).
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales de SPS presentes 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 los límites virtuales verticales, e información sobre la posición de los 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. La cabecera de imagen puede incluir una bandera de límites virtuales de PH presentes, basándose en la bandera de límites virtuales habilitados.
Por ejemplo, cuando un valor de la bandera de límites virtuales habilitados es 1, la cabecera de imagen puede incluir la bandera de límites virtuales de PH presentes. La cabecera de imagen puede incluir información sobre el número de límites virtuales verticales de PH (ph_num_ver_virtual_boundaries), basándose en la bandera de límites virtuales de PH presentes e información sobre el número de los límites virtuales verticales de SPS. Por ejemplo, cuando un valor de la bandera de límites virtuales de PH presentes es 1 y un valor de la información sobre el número de los límites virtuales verticales de SPS es 0, la cabecera de imagen puede incluir información sobre el número de los límites virtuales verticales de PH. En un ejemplo, basándose en información sobre el número de los límites virtuales verticales de PH, la cabecera 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, basándose en la información sobre el número de límites virtuales verticales de PH, puede determinarse 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. La cabecera de imagen puede incluir información sobre el número de límites virtuales horizontales de PH (ph_num_hor_virtual_boundaries), basándose en la bandera de límites virtuales de PH puede determinarse e información sobre el número de los límites virtuales horizontales de SPS.
Por ejemplo, cuando un valor de la bandera de límites virtuales de PH presentes es 1 y un valor de la información sobre el número de los límites virtuales horizontales de SPS es 0, la cabecera de imagen puede incluir información sobre el número de los límites virtuales horizontales de PH. En un ejemplo, basándose en información sobre el número de límites virtuales horizontales de PH, la cabecera 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, basándose en la información sobre el número de límites virtuales horizontales de PH, puede determinarse 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 anteriores, la información requerida para controlar el filtrado en bucle realizado a través de límites virtuales puede señalizarse eficazmente por un aparato de codificación. En un ejemplo, puede señalizarse información relacionada con si el filtrado en bucle está disponible a través de los límites virtuales.
La FIG. 8 y la FIG. 9 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según la realización o realizaciones del presente documento.
El método descrito en la FIG. 8 puede realizarse por el aparato de codificación divulgado en la FIG. 2 o la FIG.
9. Específicamente, por ejemplo, S800 y S810 de la FIG. 8 pueden realizarse por un procesador residual 230 del aparato de codificación de la FIG. 9, S820 y/o S830 de la FIG. 8 pueden realizarse por un filtro 260 del aparato de codificación de la FIG. 9 y S840 de la FIG. 8 puede realizarse por un codificador 240 por entropía del aparato de codificación de la FIG. 9. Además, aunque no se muestra en la FIG. 8, las muestras de predicción o la información relacionada con la predicción pueden derivarse por un predictor 220 del aparato de codificación de la FIG. 8, y un flujo de bits puede generarse a partir de información residual o información relacionada con la predicción por el codificador 240 por entropía del aparato de codificación. El método descrito en la FIG. 8 puede incluir las realizaciones mencionadas anteriormente en el presente documento.
Haciendo referencia a la FIG. 8, el aparato de codificación puede derivar muestras residuales (S800). El aparato de codificación puede derivar muestras residuales para un bloque actual, y las muestras residuales para el bloque actual pueden derivarse basándose en 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, basándose en un modo de predicción. En este caso, pueden aplicarse diversos métodos de predicción descritos en el presente documento, tales como inter predicción o intra predicción. Las muestras residuales pueden derivarse basándose en 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 de vector de 1 dimensión, basándose en un orden de exploración de coeficientes.
El aparato de codificación puede generar información residual (S810). 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 tales como 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 realizar predicción (intra o inter predicció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 basándose en muestras de luma originales y muestras de luma de predicción. Las muestras de croma residuales pueden generarse basándose en 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 determinar si el proceso de filtrado en bucle se realiza a través de límites virtuales (S820). En la presente memoria, los límites virtuales pueden ser los mismos que los límites virtuales mencionados anteriormente. Además, el proceso de filtrado en bucle puede incluir al menos uno de un proceso de desbloqueo, un proceso de SAO y un proceso de ALF.
El aparato de codificación puede generar información relacionada con un límite virtual (S830). El aparato de codificación puede generar la información relacionada con el límite virtual, basándose en la determinación de la etapa S820. La información relacionada con el límite virtual puede incluirse en información relacionada con filtrado en bucle. En la presente memoria, la información relacionada con el filtrado en bucle puede referirse a información usada para realizar el proceso de filtrado en bucle. Por ejemplo, la información relacionada con el límite virtual puede incluir la información mencionada anteriormente sobre límites virtuales (la bandera de límites virtuales de SPS habilitados, la bandera de límites virtuales de cabecera de imagen habilitada, la bandera de límites virtuales de SPS presentes, la bandera de límites virtuales de cabecera de imagen presentes, información sobre posiciones de límites virtuales, etc.).
El aparato de codificación puede codificar información de vídeo/imagen (S840). La información de imagen puede incluir información residual, información relacionada con la predicción y/o información relacionada con 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 descodificación a través de una red o un medio de almacenamiento.
La información de imagen/vídeo puede incluir una diversidad 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 anteriores.
En una realización, la información de imagen puede incluir un SPS, e información de cabecera de imagen que hace referencia al SPS. La información relacionada con los límites virtuales puede incluir una bandera de límites virtuales habilitados (o una bandera de límites virtuales de SPS habilitados). Si la señalización de la información relacionada con los límites virtuales está presente en la información de cabecera de imagen puede determinarse basándose en la bandera de límites virtuales habilitados. El proceso de filtrado en bucle puede realizarse a través de los límites virtuales, basándose en la bandera de habilitación de límites virtuales (o puede no realizarse a través de los límites virtuales). Por ejemplo, la bandera de límites virtuales habilitados puede indicar si es posible deshabilitar el proceso de filtrado en bucle a través de los límites virtuales.
En una realización, el SPS puede incluir la bandera de límites virtuales habilitados y una bandera de límites virtuales de SPS presentes. Además, si se incluye información sobre posiciones de los límites virtuales e información sobre el número de límites virtuales en el SPS basándose en la bandera de límites virtuales de SPS presentes.
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 de la bandera de límites virtuales de SPS presentes 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 de la bandera de límites virtuales de SPS presentes 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 cabecera de imagen puede incluir una bandera de límites virtuales de cabecera de imagen presentes, basándose en que un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales de SPS presentes es 0.
En una realización, la información de cabecera de imagen puede incluir información sobre el número de límites virtuales verticales, basándose en que un valor de la bandera de límites virtuales de cabecera de imagen presente es 1.
En una realización, la información de cabecera 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 cabecera de imagen puede incluir información sobre el número de límites virtuales horizontales, basándose en que un valor de la bandera de límites virtuales de cabecera de imagen presentes es 1.
En una realización, la información de cabecera 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 información relacionada con límites virtuales) puede incluir además una bandera de límites virtuales de SPS presentes, una bandera de límites virtuales de cabecera de imagen presentes y una bandera de actualización de descodificación gradual (GDR) habilitada. Por ejemplo, basándose en que un valor de la bandera de GDR habilitada es 1, un valor de la bandera de límites virtuales de SPS habilitados (la bandera de límites virtuales habilitados) puede ser 1, un valor de la bandera de límites virtuales de SPS presentes puede ser 0, y un valor de la bandera de límites virtuales de cabecera de imagen presentes puede ser 1 (la señalización de información de los límites virtuales puede estar presente en la cabecera de imagen).
La FIG. 10 y la FIG. 11 muestran esquemáticamente un ejemplo de un método de descodificación de vídeo/imagen y componentes relacionados según la realización o realizaciones del presente documento.
El método descrito en la FIG. 10 puede realizarse por el aparato de descodificación divulgado en la FIG. 3 o la FIG. 11. Específicamente, por ejemplo, S1000 de la FIG. 10 puede realizarse por un descodificador 310 por entropía del aparato de descodificación, S1010 puede realizarse por un procesador residual 320 y/o sumador 340 del aparato de descodificación, y S1020 puede realizarse por un filtro 350 del aparato de descodificación. El método descrito en la FIG. 10 puede incluir las realizaciones mencionadas anteriormente en el presente documento.
Haciendo referencia a la FIG. 10, el aparato de descodificación puede recibir/obtener la información de vídeo/imagen (S1000). 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 filtrado en bucle. El aparato de descodificació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 diversidad 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 anteriores.
El aparato de descodificación puede derivar coeficientes de transformada cuantificados. El aparato de descodificación puede derivar los coeficientes de transformada cuantificados, basándose en la información residual. Los coeficientes de transformada cuantificados pueden tener una forma de vector de 1 dimensión, basándose en 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 descodificación puede derivar los coeficientes de transformada. El aparato de descodificación puede derivar los coeficientes de transformada, basándose en un proceso de descuantificación para los coeficientes de transformada cuantificados. El aparato de descodificación puede derivar coeficientes de transformada de luma a través de descuantificación, basándose en los coeficientes de transformada de luma cuantificados. El aparato de descodificación puede derivar coeficientes de transformada de croma a través de descuantificación, basándose en los coeficientes de transformada de croma cuantificados.
El aparato de descodificación puede generar/derivar muestras residuales. El aparato de descodificación puede derivar las muestras residuales, basándose en el proceso de transformada inversa para los coeficientes de transformada. El aparato de descodificació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 descodificación puede derivar muestras de croma residuales a través de la transformada inversa, basándose en los coeficientes de transformada de croma.
El aparato de descodificación puede generar/derivar muestras reconstruidas (S1010). Por ejemplo, el aparato de descodificación puede generar/derivar muestras de luma reconstruidas y/o muestras de croma reconstruidas. El aparato de descodificación puede generar las muestras de luma reconstruidas y/o las muestras de croma reconstruidas, basándose en la información residual. El aparato de descodificació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 descodificació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 descodificación puede generar las muestras de luma reconstruidas, basándose en las muestras de luma de predicción y las muestras de luma residuales. El aparato de descodificación puede generar las muestras de croma de reconstrucción, basándose en las muestras de croma de predicción y las muestras de croma residuales.
El aparato de descodificación puede generar muestras reconstruidas modificadas (filtradas) (S1020). El aparato de descodificación puede generar las muestras reconstruidas modificadas realizando un proceso de filtrado en bucle para las muestras reconstruidas de la imagen actual. El aparato de descodificación puede generar las muestras reconstruidas modificadas, basándose en información relacionada con filtrado en bucle (y/o información relacionada con límites virtuales). El aparato de descodificación puede usar un proceso de desbloqueo, un proceso de SAO y/o un proceso de ALF para generar las muestras reconstruidas modificadas.
En una realización, la información de imagen puede incluir un conjunto de parámetros de secuencia (SPS) e información de cabecera de imagen que hace referencia al SPS. La información relacionada con los límites virtuales puede incluir una bandera de límites virtuales habilitados (o una bandera de límites virtuales de SPS habilitados). Si la señalización de la información relacionada con los límites virtuales está presente en la información de cabecera de imagen puede determinarse basándose en la bandera de límites virtuales habilitados. El proceso de filtrado en bucle puede realizarse a través de los límites virtuales, basándose en la bandera de habilitación de límites virtuales (o puede no realizarse a través de los límites virtuales). Por ejemplo, la bandera de límites virtuales habilitados puede indicar si es posible deshabilitar el proceso de filtrado en bucle a través de los límites virtuales.
En una realización, el SPS puede incluir una bandera de límites virtuales habilitados y/o una bandera de límites virtuales de SPS presentes. Por ejemplo, si se incluye información sobre posiciones de los límites virtuales e información sobre el número de límites virtuales en el SPS basándose en la bandera de límites virtuales de SPS presentes.
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 de la bandera de límites virtuales de SPS presentes 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 de la bandera de límites virtuales de SPS presentes 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 cabecera de imagen puede incluir una bandera de límites virtuales de cabecera de imagen presentes, basándose en que un valor de la bandera de límites virtuales habilitados es 1 y un valor de la bandera de límites virtuales de SPS presentes es 0.
En una realización, la información de cabecera de imagen puede incluir información sobre el número de límites virtuales verticales, basándose en que un valor de la bandera de límites virtuales de cabecera de imagen presente es 1.
En una realización, la información de cabecera 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 cabecera de imagen puede incluir información sobre el número de límites virtuales horizontales, basándose en que un valor de la bandera de límites virtuales de cabecera de imagen presentes es 1.
En una realización, la información de cabecera 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 información relacionada con límites virtuales) puede incluir además una bandera de límites virtuales de SPS presentes, una bandera de límites virtuales de cabecera de imagen presentes y una bandera de actualización de descodificación gradual (GDR) habilitada. Por ejemplo, basándose en que un valor de la bandera de GDR habilitada es 1, un valor de la bandera de límites virtuales de SPS habilitados (la bandera de límites virtuales habilitados) puede ser 1, un valor de la bandera de límites virtuales de SPS presentes puede ser 0, y un valor de la bandera de límites virtuales de cabecera de imagen presentes puede ser 1 (la señalización de información de los límites virtuales puede estar presente en la cabecera de imagen).
En presencia de la muestra residual para el bloque actual, el aparato de descodificació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 descodificación puede derivar muestras residuales (o una matriz de muestras residuales) para el bloque actual, basándose en la información residual. Específicamente, el aparato de descodificación puede derivar coeficientes de transformada cuantificados, basándose en la información residual. Los coeficientes de transformada cuantificados pueden tener una forma de vector de 1 dimensión, basándose en un orden de exploración de coeficientes. El aparato de descodificación puede derivar los coeficientes de transformada, basándose en un proceso de descuantificación para los coeficientes de transformada cuantificados. El aparato de descodificación puede derivar muestras residuales, basándose en los coeficientes de transformada.
El aparato de descodificación puede generar muestras reconstruidas, basándose en muestras de (intra) predicción y muestras residuales, y puede derivar un bloque reconstruido o imagen reconstruida, basándose en las muestras reconstruidas. Específicamente, el aparato de descodificación puede generar muestras reconstruidas, basándose en una suma entre las muestras de (intra) predicción y las muestras residuales. Posteriormente, como se ha descrito anteriormente, el aparato de descodificación puede aplicar opcionalmente el proceso de filtrado en bucle tal como el filtrado de desbloqueo y/o el proceso de SAO a la imagen reconstruida para mejorar la calidad de imagen subjetiva/objetiva.
Por ejemplo, el aparato de descodificación puede obtener información de imagen que incluye todas o partes de las piezas de información (o elementos de sintaxis) descritas anteriormente descodificando el flujo de bits o la información codificada. Además, el flujo de bits o la información codificada puede almacenarse en un medio de almacenamiento legible por ordenador, y puede hacer que se realice el método de descodificación descrito anteriormente.
Aunque se han descrito métodos basándose en un diagrama de flujo en el que las etapas o bloques se enumeran en secuencia en las realizaciones descritas anteriormente, las etapas del presente documento no se limitan a un cierto orden, y una cierta etapa puede realizarse en un etapa diferente o en un orden diferente o al mismo tiempo con respecto a la descrita anteriormente. Además, los expertos en la técnica entenderán que las etapas de los diagramas de flujo no son exclusivas, 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 divulgación.
El método mencionado anteriormente según la presente divulgación puede ser en forma de software, y el aparato de codificación y/o el aparato de descodificación según la presente divulgación pueden estar incluidos en un dispositivo para realizar el procesamiento de imágenes, por ejemplo, una TV, un ordenador, un teléfono inteligente, un descodificador de salón, un dispositivo de visualización o similar.
Cuando las realizaciones de la presente divulgación se implementan por software, el método mencionado anteriormente puede implementarse por un módulo (proceso o función) que realiza la función mencionada anteriormente. El módulo puede almacenarse en una memoria y ser ejecutado por un procesador. La memoria puede instalarse dentro o fuera del procesador y puede conectarse al procesador a través de diversos medios bien conocidos. El procesador puede incluir un circuito integrado de específico de la aplicación (ASIC), otros conjuntos de chips, un circuito lógico y/o un dispositivo de procesamiento de datos. La memoria puede incluir una memoria de solo lectura (ROM), una memoria de acceso aleatorio (RAM), una memoria flash, una tarjeta de memoria, un medio de almacenamiento y/u otro dispositivo de almacenamiento. En otras palabras, las realizaciones según la presente divulgació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 puede almacenarse en un medio de almacenamiento digital.
Además, el aparato de descodificación y el aparato de codificación a los que se aplica la o las realizaciones del presente documento pueden incluirse en un transceptor de difusión multimedia, un terminal de comunicación móvil, un dispositivo de vídeo de cine en casa, un dispositivo de vídeo de cine digital, un cámara de vigilancia, un dispositivo de chat de vídeo y un dispositivo de comunicación en tiempo real tal como comunicación de vídeo, un dispositivo de emisión en continuo móvil, un medio de almacenamiento, una videocámara, un proveedor de servicios de vídeo bajo demanda (VoD), un dispositivo de vídeo de libre transmisión (Over The Top) (OTT) , un proveedor de servicios de emisión en continuo de Internet, un dispositivo de vídeo en 3D, un dispositivo de realidad virtual (RV), un dispositivo de realidad aumentada (RA), un dispositivo de vídeo telefónico de imagen, un terminal de vehículo (por ejemplo, un terminal de vehículo (incluyendo un vehículo autónomo), un terminal de avión o un terminal de barco) y un dispositivo de vídeo médico; y puede 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 reproductor de Bluray, un televisor conectado a Internet, un sistema de cine en casa, un teléfono inteligente, un PC de tableta y un grabador de vídeo digital (DVR).
Además, el método de procesamiento al que se aplica la realización o realizaciones 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 realización o realizaciones 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 distribuido en los que se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir, por ejemplo, un disco Blu-ray (BD), un bus serie universal (USB), una ROM, una p Ro M, una EPROM, una EEPROM, una RAM, un CD-ROM, una cinta magnética, un disquete y un dispositivo de almacenamiento de datos óptico. 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 un 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 realización o realizaciones del presente documento pueden realizarse como un producto de programa informático basándose en un código de programa, y el código de programa puede ejecutarse en un ordenador según la realización o realizaciones del presente documento. El código del programa puede almacenarse en un soporte legible por ordenador.
La FIG. 12 representa un ejemplo de un sistema de emisión en continuo de contenidos al que puede aplicarse la realización del presente documento.
Haciendo referencia a la FIG. 12, el sistema de emisión en continuo de contenido al que se aplican las realizaciones del presente documento puede incluir en general un servidor de codificación, un servidor emisión en continuo, un servidor web, un almacenamiento de medios, un dispositivo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación funciona para comprimir a datos digitales los contenidos introducidos desde los dispositivos de entrada multimedia, tales como el teléfono inteligente, la cámara, la videocámara y similares, para generar un flujo de bits, y transmitirlo al servidor de emisión en continuo. Como otro ejemplo, en un caso donde el dispositivo de entrada multimedia, tal como, el teléfono inteligente, la cámara, la videocámara o similares, genera directamente un flujo de bits, puede omitirse el servidor de codificación.
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 emisión en continuo puede almacenar temporalmente el flujo de bits en un proceso de transmisión o recepción del flujo de bits.
El servidor de emisión en continuo transmite datos multimedia al equipo de usuario basándose en la solicitud de un usuario a través del servidor web, que funciona como un instrumento que informa a un usuario de qué servicio hay. Cuando el usuario solicita un servicio que el usuario desea, el servidor web transfiere la solicitud al servidor de emisión en continuo, y el servidor de emisión en continuo transmite datos multimedia al usuario. En este sentido, el sistema de emisión en continuo 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 emisión en continuo de contenido.
El servidor de emisión en continuo puede recibir contenidos desde el almacenamiento de medios y/o el servidor de codificación. Por ejemplo, en un caso en el que los contenidos se reciben desde el servidor de codificación, los contenidos pueden recibirse en tiempo real. En este caso, el servidor de emisión en continuo puede almacenar el flujo de bits durante un período de tiempo predeterminado para proporcionar el servicio de emisión en continuo sin interrupciones.
Por ejemplo, el equipo de usuario puede incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de difusión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), un navegador, un PC de pizarra, un PC de tableta, un ultraportátil, un dispositivo llevable (p. ej., un terminal de tipo reloj (reloj inteligente), un terminal de tipo gafas (gafas inteligentes), una pantalla montada en la cabeza (HMD)), un televisor digital, un ordenador de sobremesa, una señalización digital o similar.
Cada uno de los servidores en el sistema de emisión en continuo de contenidos puede operarse como un servidor distribuido, y en este caso, los datos recibidos por cada servidor pueden procesarse de manera distribuida.
Las reivindicaciones en la presente descripción se pueden combinar de diversas maneras. Por ejemplo, las características técnicas en las reivindicaciones de método de la presente descripción pueden combinarse para implementarse o realizarse en un aparato, y las características técnicas en las reivindicaciones de aparato pueden combinarse para implementarse o realizarse en un método. Además, las características técnicas en la reivindicación o reivindicaciones de método y la reivindicación o reivindicaciones de aparato pueden combinarse para implementarse o realizarse en un aparato. Además, las características técnicas en la reivindicación o reivindicaciones de método y la reivindicación o reivindicaciones de aparato pueden combinarse para implementarse o realizarse en un método.

Claims (4)

REIVINDICACIONES
1. Un método de descodificación de imágenes realizado por un aparato (300) de descodificación, que comprende:
obtener (S1000) información de imagen que incluye información residual e información relacionada con la predicción a través de un flujo de bits;
generar muestras residuales basándose en la información residual;
derivar muestras de predicción basándose en la información relacionada con la predicción; generar (S1010) muestras reconstruidas de una imagen actual, basándose en las muestras de predicción y las muestras residuales; y
generar (S1020) 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),
en donde el SPS incluye una bandera de límites virtuales habilitados,
caracterizado por que el SPS incluye una bandera de límites virtuales de SPS presentes basándose en que un valor de la bandera de límites virtuales habilitados es igual a 1,
en donde el SPS incluye información sobre posiciones de límites virtuales verticales, información sobre un número de los límites virtuales verticales, información sobre posiciones de límites virtuales horizontales e información sobre un número de los límites virtuales horizontales, basándose en que el valor de la bandera de límites virtuales habilitados es igual a 1 y en que un valor de la bandera de límites virtuales de SPS presentes es igual a 1, y
en donde se determina si el proceso de filtrado en bucle se realiza a través de límites virtuales, basándose en la bandera de límites virtuales habilitados.
2. Un método de codificación de imágenes realizado por un aparato (200) de codificación, que comprende: derivar información relacionada con la predicción para un bloque actual;
generar muestras de predicción para el bloque actual basándose en la información relacionada con la predicción;
derivar (S800) muestras residuales para el bloque actual basándose en las muestras de predicción; generar (S810) información residual, basándose en las muestras residuales para el bloque actual; generar muestras reconstruidas para una imagen actual basándose en las muestras de predicción y las muestras residuales;
generar (S830) información relacionada con un proceso de filtrado en bucle para las muestras reconstruidas; y
codificar (S840) información de imagen que incluye la información relacionada con la predicción, la información residual y la información relacionada con el proceso de filtrado en bucle,
en donde la información de imagen incluye un conjunto de parámetros de secuencia (SPS),
en donde el SPS incluye una bandera de límites virtuales habilitados,
caracterizado por que el SPS incluye una bandera de límites virtuales de SPS presentes basándose en que un valor de la bandera de límites virtuales habilitados es igual a 1,
en donde el SPS incluye información sobre posiciones de límites virtuales verticales, información sobre un número de los límites virtuales verticales, información sobre posiciones de límites virtuales horizontales e información sobre un número de los límites virtuales horizontales, basándose en que el valor de la bandera de límites virtuales habilitados es igual a 1 y en que un valor de la bandera de límites virtuales de SPS presentes es igual a 1, y
en donde el valor de la bandera de límites virtuales habilitados se determina basándose en si el proceso de filtrado en bucle se realiza a través de límites virtuales.
3. 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:
derivar información relacionada con la predicción para un bloque actual;
generar muestras de predicción para el bloque actual basándose en la información relacionada con la predicción;
derivar muestras residuales para el bloque actual basándose en las muestras de predicción; generar información residual, basándose en las muestras residuales para el bloque actual;
generar muestras reconstruidas para una imagen actual basándose en las muestras de predicción y las muestras residuales;
generar información relacionada con un proceso de filtrado en bucle para las muestras reconstruidas; y codificar información de imagen que incluye la información relacionada con la predicción, la información residual y la información relacionada con el proceso de filtrado en bucle,
en donde la información de imagen incluye un conjunto de parámetros de secuencia (SPS),
en donde el SPS incluye una bandera de límites virtuales habilitados,
caracterizado por que el SPS incluye una bandera de límites virtuales de SPS presentes basándose en que un valor de la bandera de límites virtuales habilitados es igual a 1,
en donde el SPS incluye información sobre posiciones de límites virtuales verticales, información sobre un número de los límites virtuales verticales, información sobre posiciones de límites virtuales horizontales e información sobre un número de los límites virtuales horizontales, basándose en que el valor de la bandera de límites virtuales habilitados es igual a 1 y en que un valor de la bandera de límites virtuales de SPS presentes es igual a 1, y
en donde el valor de la bandera de límites virtuales habilitados se determina basándose en si el proceso de filtrado en bucle se realiza a través de límites virtuales.
4. Un método de transmisión de datos para una imagen, comprendiendo el método:
obtener un flujo de bits para la imagen, en donde el flujo de bits se genera basándose en derivar información relacionada con la predicción para un bloque actual, generar muestras de predicción para el bloque actual basándose en la información relacionada con la predicción, derivar muestras residuales para el bloque actual basándose en las muestras de predicción, generar información residual, basándose en las muestras residuales para el bloque actual, generar muestras reconstruidas para una imagen actual basándose en las muestras de predicción y las muestras residuales, generar información relacionada con un proceso de filtrado en bucle para las muestras reconstruidas, y codificar información de imagen que incluye la información relacionada con la predicción, la información residual y la información relacionada con el proceso de filtrado en bucle; y
transmitir los datos que comprenden el flujo de bits,
en donde la información de imagen incluye un conjunto de parámetros de secuencia (SPS),
en donde el SPS incluye una bandera de límites virtuales habilitados,
caracterizado por que el SPS incluye una bandera de límites virtuales de SPS presentes basándose en que un valor de la bandera de límites virtuales habilitados es igual a 1,
en donde el SPS incluye información sobre posiciones de límites virtuales verticales, información sobre un número de los límites virtuales verticales, información sobre posiciones de límites virtuales horizontales e información sobre un número de los límites virtuales horizontales, basándose en que el valor de la bandera de límites virtuales habilitados es igual a 1 y en que un valor de la bandera de límites virtuales de SPS presentes es igual a 1, y
en donde el valor de la bandera de límites virtuales habilitados se determina basándose en si el proceso de filtrado en bucle se realiza a través de límites virtuales.
ES20891070T 2019-11-18 2020-11-17 Image coding device and method for controlling loop filtering Active ES3037849T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962937234P 2019-11-18 2019-11-18
PCT/KR2020/016137 WO2021101200A1 (ko) 2019-11-18 2020-11-17 루프 필터링을 제어하기 위한 영상 코딩 장치 및 방법

Publications (1)

Publication Number Publication Date
ES3037849T3 true ES3037849T3 (en) 2025-10-07

Family

ID=75980907

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20891070T Active ES3037849T3 (en) 2019-11-18 2020-11-17 Image coding device and method for controlling loop filtering

Country Status (13)

Country Link
US (2) US12323632B2 (es)
EP (2) EP4064708B1 (es)
JP (4) JP7392144B2 (es)
KR (2) KR20250152677A (es)
CN (5) CN120017855A (es)
BR (1) BR112022009619A2 (es)
ES (1) ES3037849T3 (es)
HR (1) HRP20250927T1 (es)
HU (1) HUE072677T2 (es)
MX (5) MX2022005989A (es)
PL (1) PL4064708T3 (es)
RS (1) RS67059B1 (es)
WO (1) WO2021101200A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381915A (zh) * 2019-11-18 2024-07-23 Lg电子株式会社 编码设备、解码设备、比特流生成设备和数据发送设备
CN118450117A (zh) * 2019-11-18 2024-08-06 Lg电子株式会社 图像编码/解码方法、比特流生成方法和数据发送方法
HRP20250927T1 (hr) * 2019-11-18 2025-09-26 Lg Electronics Inc. Uređaj za kodiranje slike i postupak za upravljanje filtriranjem petlje
CN115362673B (zh) 2020-02-14 2025-12-02 抖音视界有限公司 视频比特流中的并置图片指示

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003253900A1 (en) * 2002-07-16 2004-02-02 Thomson Licensing S.A. Interleaving of base and enhancement layers for hd-dvd
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
KR101567467B1 (ko) * 2011-05-10 2015-11-09 미디어텍 인크. 루프내 필터 버퍼의 감소를 위한 방법 및 장치
KR101462052B1 (ko) 2011-11-09 2014-11-20 에스케이 텔레콤주식회사 변환을 이용한 주파수 도메인 상의 적응적 루프 필터를 이용한 영상 부호화/복호화 방법 및 장치
CN103200400B (zh) 2012-01-09 2018-03-16 中兴通讯股份有限公司 一种图像层和分片层的编解码方法、编解码器和电子设备
JP2013236358A (ja) 2012-03-14 2013-11-21 Sharp Corp 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
US8983218B2 (en) * 2012-04-11 2015-03-17 Texas Instruments Incorporated Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
GB2516824A (en) 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
US10440397B2 (en) * 2014-03-31 2019-10-08 Sony Corporation Image decoding device and method
US9930340B2 (en) 2014-06-20 2018-03-27 Qualcomm Incorporated Systems and methods for selectively performing a bitstream conformance check
KR101809630B1 (ko) 2015-06-11 2017-12-15 인텔렉추얼디스커버리 주식회사 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치
CN107736027B (zh) * 2015-06-12 2021-06-01 松下知识产权经营株式会社 图像编码方法、图像解码方法、图像编码装置及图像解码装置
US10701383B2 (en) 2015-06-16 2020-06-30 Lg Electronics Inc. Method for encoding/decoding image and device for same
WO2016204462A1 (ko) 2015-06-16 2016-12-22 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
CN108028923B (zh) 2015-09-10 2021-08-20 Lg电子株式会社 视频编码系统中的帧内预测方法和设备
CN108141589B (zh) 2015-09-29 2021-08-27 Lg 电子株式会社 图像编译系统中对图像进行滤波的方法和装置
US20170272758A1 (en) * 2016-03-16 2017-09-21 Mediatek Inc. Video encoding method and apparatus using independent partition coding and associated video decoding method and apparatus
US20180041778A1 (en) 2016-08-02 2018-02-08 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
JP2018107500A (ja) 2016-12-22 2018-07-05 キヤノン株式会社 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
WO2019131400A1 (ja) 2017-12-26 2019-07-04 シャープ株式会社 画像フィルタ装置、画像復号装置、および画像符号化装置
JP7248775B2 (ja) 2018-07-09 2023-03-29 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン コード化された画像の多様な空間分割のためのエンコーダとデコーダ、符号化方法と復号方法
EP3970366B1 (en) 2019-06-14 2025-12-10 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries
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
HRP20250927T1 (hr) * 2019-11-18 2025-09-26 Lg Electronics Inc. Uređaj za kodiranje slike i postupak za upravljanje filtriranjem petlje

Also Published As

Publication number Publication date
MX2025010204A (es) 2025-10-01
HUE072677T2 (hu) 2025-12-28
US12323632B2 (en) 2025-06-03
EP4593396A2 (en) 2025-07-30
RS67059B1 (sr) 2025-08-29
JP2025116134A (ja) 2025-08-07
JP7543528B2 (ja) 2024-09-02
EP4064708C0 (en) 2025-07-09
CN115023954B (zh) 2025-04-22
KR20220082059A (ko) 2022-06-16
EP4593396A3 (en) 2025-09-17
JP7392144B2 (ja) 2023-12-05
CN120017856A (zh) 2025-05-16
WO2021101200A1 (ko) 2021-05-27
HRP20250927T1 (hr) 2025-09-26
CN120017855A (zh) 2025-05-16
KR102870769B1 (ko) 2025-10-14
PL4064708T3 (pl) 2025-09-22
JP7690664B2 (ja) 2025-06-10
EP4064708B1 (en) 2025-07-09
MX2025010205A (es) 2025-10-01
EP4064708A1 (en) 2022-09-28
US20220417564A1 (en) 2022-12-29
BR112022009619A2 (pt) 2022-08-02
CN120017853A (zh) 2025-05-16
MX2022005989A (es) 2022-09-07
US20250260843A1 (en) 2025-08-14
CN115023954A (zh) 2022-09-06
KR20250152677A (ko) 2025-10-23
JP2024009121A (ja) 2024-01-19
MX2025010203A (es) 2025-10-01
JP2023502131A (ja) 2023-01-20
CN120017854A (zh) 2025-05-16
JP2024159882A (ja) 2024-11-08
MX2025010206A (es) 2025-10-01
EP4064708A4 (en) 2023-11-22

Similar Documents

Publication Publication Date Title
ES3039321T3 (en) Cross-component adaptive loop filtering-based image coding apparatus and method
ES2994299T3 (en) Device and method for coding video on basis of filtering
JP7368602B2 (ja) 映像コーディング装置及び方法
ES3037849T3 (en) Image coding device and method for controlling loop filtering
CN114600466A (zh) 基于交叉分量滤波的图像编码设备和方法
ES3062673T3 (en) Filtering-based image coding device and method
ES3040198T3 (en) Signaling of information indicating transform kernel set in image coding
ES3041151T3 (en) Coding of information about transform kernel set
ES3056657T3 (en) Filtering-based image coding methods
AU2020388338A1 (en) Image coding apparatus and method based on signaling of information for filtering
KR20240128846A (ko) 인트라 예측 모드를 코딩하는 방법 및 장치
ES3061333T3 (en) Image/video coding method and device
US12160617B2 (en) In-loop filtering-based image coding device and method
CN115104318B (zh) 基于子画面的图像编码设备和方法
US20250063175A1 (en) Image coding device and method
US20250039467A1 (en) Filtering-based image coding device and method
US12587651B2 (en) Picture splitting-based image coding device and method
US20230046583A1 (en) Virtual boundary-based image coding device and method
US12382053B2 (en) In-loop filtering-based image coding device and method