ES3059980T3 - Device and method for coding video on basis of filtering - Google Patents

Device and method for coding video on basis of filtering

Info

Publication number
ES3059980T3
ES3059980T3 ES24201515T ES24201515T ES3059980T3 ES 3059980 T3 ES3059980 T3 ES 3059980T3 ES 24201515 T ES24201515 T ES 24201515T ES 24201515 T ES24201515 T ES 24201515T ES 3059980 T3 ES3059980 T3 ES 3059980T3
Authority
ES
Spain
Prior art keywords
information
alf
samples
enabled
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES24201515T
Other languages
English (en)
Inventor
Jangwon Choi
Junghak Nam
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 ES3059980T3 publication Critical patent/ES3059980T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

Según una realización del presente documento, se pueden obtener coeficientes de filtro entre componentes para el filtrado entre componentes. A partir de estos coeficientes, se pueden generar muestras de croma reconstruidas y filtradas modificadas. Esta realización permite mejorar la precisión del filtrado en bucle. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0002] Dispositivo y método para codificar un vídeo basándose en un filtrado
[0003] ANTECEDENTES DE LA DESCRIPCIÓN
[0004] Campo de la descripción
[0005] La presente descripción se refiere a aparatos para codificar imágenes basándose en el filtrado.
[0006] Técnica relacionada
[0007] Recientemente, la demanda de imagen/vídeo de alta resolución y alta calidad como, por ejemplo, imagen/vídeo de 4K u 8K o de definición ultra alta superior (UHD, por sus siglas en inglés) ha aumentado en diversos campos. Como los datos de imagen/vídeo tienen alta resolución y alta calidad, la cantidad de información o bits a transmitir aumenta con respecto a los datos de imagen/vídeo existentes y, por lo tanto, transmitir datos de imagen usando un medio como, por ejemplo, una línea de banda ancha cableada/inalámbrica existente o un medio de almacenamiento existente o almacenar datos de imagen/vídeo usando un medio de almacenamiento existente aumenta el coste de transmisión y el coste de almacenamiento.
[0008] Además, el interés y la demanda de medios inmersivos como, por ejemplo, contenido u hologramas de realidad virtual (VR, por sus siglas en inglés) y realidad artificial (AR, por sus siglas en inglés), ha aumentado recientemente y la difusión de imágenes/vídeo tiene características diferentes de las imágenes de realidad como, por ejemplo, imágenes de juegos, ha aumentado.
[0009] Por consiguiente, se requiere una tecnología de compresión de imagen/vídeo altamente eficiente para comprimir, transmitir, almacenar y reproducir eficazmente información de una imagen/vídeo de alta resolución y alta calidad que tiene diversas características como se describió anteriormente.
[0010] El documento ("Cross-Component Adaptive Loop Filter for chroma", n.º JVET-O0636; m48779) describe un Filtro de Bucle Adaptativo de Componentes Cruzados (CC-ALF, por sus siglas en inglés) que funciona como parte de un proceso de filtro de bucle adaptativo y que hace uso de valores de muestra de luma para refinar cada componente de croma. En el documento se describe que el CC-ALF se controla mediante información en un flujo de bits, esta información incluye tanto coeficientes de filtro para cada componente de croma como una máscara que controla la aplicación del filtro para bloques de muestras, y los coeficientes de filtro se señalizan en APS, mientras que los tamaños de bloque y la máscara se señalizan al nivel de segmento.
[0011] El documento ("Cross-Component Adaptive Loop Filter for chroma", n.º JVET-O0636; m48779) describe el Filtro de Bucle Adaptativo de Componentes Cruzados (CCALF) y esquemas de señalización en la sintaxis de cabezal de segmento y la sintaxis de APS.
[0012] El documento ("Versatile Video Coding (Draft 6)", n.º JVET-O2001-vE) describe un formato de flujo de bits, un formato de imagen, elementos sintácticos, un proceso de decodificación, un proceso de análisis sintáctico y un proceso de extracción de subflujo de bits para VVC.
[0013] COMPENDIO
[0014] La invención se define por las reivindicaciones anexas. La presente descripción provee aparatos para aumentar la eficiencia de codificación de imagen/vídeo.
[0015] La presente descripción también provee un aparato de filtrado eficiente.
[0016] La presente descripción también provee un aparato de aplicación de ALF eficiente.
[0017] Efectos ventajosos
[0018] Según una realización del presente documento, se puede aumentar la eficiencia de compresión de imagen/vídeo general.
[0019] Según una realización del presente documento, la calidad visual subjetiva/objetiva puede mejorarse a través de un filtrado eficiente.
[0020] Según una realización de la presente descripción, un proceso de ALF puede llevarse a cabo de manera eficiente y puede mejorarse el rendimiento de filtrado.
[0021] Según una realización de la presente descripción, las muestras de croma reconstruidas filtradas en base a muestras de luma reconstruidas pueden modificarse para mejorar la calidad de imagen y la precisión de codificación de un componente de croma de una imagen decodificada.
[0022] Según una realización de la presente descripción, el proceso de CCALF puede llevarse a cabo de manera eficiente.
[0023] Según una realización de la presente descripción, la información relacionada con ALF puede señalizarse de manera eficiente.
[0024] Según una realización de la presente descripción, la información relacionada con CCALF puede señalizarse de manera eficiente.
[0025] Según una realización de la presente descripción, ALF y/o CCALF pueden aplicarse de manera adaptativa en unidades de imágenes, segmentos y/o bloques de codificación.
[0026] Según una realización del presente documento, cuando se usa CCALF en el método y aparato de codificación y decodificación para una imagen fija o vídeo, pueden mejorarse los coeficientes de filtro para CCALF y el método de transmisión de encendido/apagado en un bloque o unidad de CTU, aumentando de este modo la eficiencia de codificación.
[0027] BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0028] La Figura 1 muestra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen que puede aplicarse a realizaciones de la presente descripción.
[0029] La Figura 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de vídeo/imagen que puede aplicarse a realizaciones del presente documento.
[0030] La Figura 3 es un diagrama que ilustra esquemáticamente una configuración de un aparato de decodificación de vídeo/imagen que puede aplicarse a realizaciones del presente documento.
[0031] La Figura 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado. La Figura 5 es un diagrama de flujo que ilustra un método para reconstruir un bloque basado en intrapredicción en un aparato de codificación.
[0032] La Figura 6 es un diagrama de flujo que ilustra un método de reconstrucción de bloques basado en intrapredicción en un aparato de decodificación.
[0033] La Figura 7 es un diagrama de flujo que ilustra un método de reconstrucción de bloques basado en interpredicción en un aparato de codificación.
[0034] La Figura 8 es un diagrama de flujo que ilustra un método de reconstrucción de bloques basado en interpredicción en un aparato de decodificación.
[0035] La Figura 9 muestra un ejemplo de una forma de un filtro ALF.
[0036] La Figura 10 es un diagrama que ilustra un límite virtual aplicado a un proceso de filtrado según una realización del presente documento.
[0037] La Figura 11 ilustra un ejemplo de un proceso de ALF que usa un límite virtual según una realización de la presente descripción.
[0038] La Figura 12 es un diagrama que ilustra un proceso de filtrado de bucle adaptativo de componentes cruzados (CCALF) según una realización de la presente descripción.
[0039] Las Figuras 13 y 14 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según la(s) realización(es) de la presente descripción.
[0040] Las Figuras 15 y 16 muestran esquemáticamente un ejemplo de un método de decodificación de imagen/vídeo y componentes relacionados según la(s) realización(es) de la presente descripción.
[0041] La Figura 17 muestra un ejemplo de un sistema de transmisión continua de contenido al que se pueden aplicar las realizaciones descritas en la presente descripción.
[0042] DESCRIPCIÓN DE REALIZACIONES EJEMPLARES
[0043] El presente documento puede modificarse de diversas formas, y se describirán y se muestran realizaciones específicas del mismo en los dibujos. Sin embargo, las realizaciones no pretenden limitar el presente documento. Los términos usados en la siguiente descripción se usan para describir simplemente realizaciones específicas, pero no pretenden limitar el presente documento. Una expresión de un número singular incluye una expresión del número plural, siempre que se lea claramente de manera diferente. Los términos como, por ejemplo, "incluir" y "tener" pretenden indicar que existen características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos usados en la siguiente descripción y debe entenderse, por lo tanto, que no se excluye la posibilidad de existencia o adición de una o más características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos diferentes.
[0044] Mientras tanto, cada configuración en los dibujos descritos en el presente documento se muestra independientemente en aras de la descripción con respecto a diferentes funciones características, y no significa que cada configuración se implemente como hardware separado o software separado. Por ejemplo, dos o más componentes entre cada componente pueden combinarse para formar un componente, o un componente puede dividirse en múltiples componentes. Las realizaciones en las cuales cada componente está integrado y/o separado también están incluidas en el alcance del documento del presente documento.
[0045] A continuación en el presente documento, se describirán en detalle ejemplos de la presente realización con referencia a los dibujos anexos. Además, se usan numerales de referencia iguales para indicar elementos iguales en todos los dibujos, y se omitirán las mismas descripciones de los elementos iguales.
[0046] El presente documento es sobre codificación de vídeo/imagen. Por ejemplo, el método/realización descritos en la presente descripción es un estándar de codificación de vídeo versátil (VVC, por sus siglas en inglés) (ITU-T Rec. H.266), una norma de codificación de vídeo/imagen de próxima generación después de VVC, u otras normas relacionadas con la codificación de vídeo (por ejemplo, puede estar relacionada con la norma de codificación de vídeo de alta eficiencia (HEVC, por sus siglas en inglés) (ITU-T Rec. H.265), norma de codificación de vídeo esencial (EVC, por sus siglas en inglés), norma AVS2, etc.).
[0047] La presente descripción presenta diversas realizaciones relacionadas con la codificación de vídeo/imagen y, a menos que se indique lo contrario, las realizaciones pueden combinarse entre sí.
[0048] En la presente descripción, un vídeo puede significar un conjunto de una serie de imágenes según el paso del tiempo. Una imagen significa generalmente una unidad que representa una imagen en un período específico, y un segmento/mosaico es una unidad que constituye una porción de una imagen en codificación. Un segmento/mosaico puede incluir una o más unidades de árbol de codificación (CTU, por sus siglas en inglés). Una imagen puede consistir en uno o más segmentos/mosaicos. Una imagen puede incluir uno o más grupos de mosaicos. Un grupo de mosaicos puede incluir uno o más mosaicos.
[0049] Un píxel o un pel puede significar la unidad más pequeña que constituye una imagen. Asimismo, 'muestra' puede usarse como un término correspondiente a un píxel. Una muestra puede representar generalmente un píxel o un valor de un píxel, y puede representar solo un píxel/valor de píxel de un componente de luma o solo un píxel/valor de píxel de un componente de croma. Alternativamente, la muestra puede significar un valor de píxel en el dominio espacial, y cuando dicho valor de píxel se transforma en el dominio de frecuencia, puede significar un coeficiente de transformada en el dominio de frecuencia.
[0050] 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 como, por ejemplo, bloque o área en algunos casos. En un caso general, un bloque MxN puede incluir muestras (o matrices de muestras) o un conjunto (o matriz) de coeficientes de transformada de M columnas y N filas. Alternativamente, la muestra puede significar un valor de píxel en el dominio espacial, y cuando dicho valor de píxel se transforma al dominio de frecuencia, puede significar un coeficiente de transformada en el dominio de frecuencia.
[0051] En la presente descripción, los términos "/" y "," deben interpretarse para indicar "y/o". Por ejemplo, la expresión "A/B" puede significar "A y/o B". Además, "A, B" puede significar "A y/o B". Además, "A/B/C" puede significar "al menos uno de A, B y/o C". Asimismo, "A/B/C" puede significar "al menos uno de A, B y/o C".
[0052] Además, en el documento, el término "o" debe interpretarse como uno que indica "y/o". Por ejemplo, la expresión "A o B" puede comprender 1) solo A, 2) solo B y/o 3) tanto A como B. En otras palabras, el término "o" en la presente descripción debe interpretarse como uno que indica "de manera adicional o alternativa". Como se usa en el presente documento, "al menos uno de A y B" puede significar "solo A", "solo B" o "tanto A como B". Además, en esta memoria descriptiva, la expresión "al menos uno de A o B" o "al menos uno de A y/o B" significa "al menos uno y puede interpretarse igual que "al menos una de A y B".
[0053] Asimismo, como se usa en el presente documento, "al menos uno de A, B y C" significa "solo A", "solo B", "solo C" o "A, B y C" o cualquier combinación de “A, B y C". Asimismo, "al menos uno de A, B o C" o "al menos uno de A, B y/o C" significa "al menos uno de A, B y C".
[0054] Además, los paréntesis usados en el presente documento pueden significar "por ejemplo". Específicamente, cuando se indica "predicción (intrapredicción)", puede proponerse "intrapredicción" como un ejemplo de "predicción". En otras palabras, "predicción" en la presente memoria descriptiva no se limita a "intrapredicción", e "intrapredicción" puede proponerse como un ejemplo de "predicción". Asimismo, incluso cuando se indica "predicción (es decir, intrapredicción)", puede proponerse "intrapredicción" como un ejemplo de "predicción". En esta memoria descriptiva, las características técnicas que se describen individualmente dentro de un dibujo pueden implementarse individual o simultáneamente.
[0055] La Figura 1 ilustra un ejemplo de un sistema de codificación de vídeo/imagen al que puede aplicarse el presente documento.
[0056] Con referencia a la Figura 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo de origen y un dispositivo de recepción. El dispositivo de origen puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio o red de almacenamiento digital en forma de un archivo o transmisión continua.
[0057] El dispositivo de origen puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo receptor puede incluir un receptor, un aparato de decodificación y un renderizador. El aparato de codificación puede denominarse aparato de codificación de vídeo/imagen, y el aparato de decodificación puede denominarse aparato de decodificación de vídeo/imagen. El transmisor puede incluirse en el aparato de codificación. El receptor puede estar incluido en el aparato de decodificación. El renderizador puede incluir una pantalla, y la pantalla puede configurarse como un dispositivo separado o un componente externo.
[0058] La fuente de vídeo puede adquirir vídeo/imagen a través de un proceso de captura, síntesis o generación del vídeo/imagen. La fuente de vídeo puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo generador de vídeo/imagen. El dispositivo de captura de video/imagen puede incluir, por ejemplo, una o más cámaras, archivos de video/imagen que incluyen video/imágenes capturadas previamente y similares. El dispositivo generador de vídeo/imagen puede incluir, por ejemplo, ordenadores, tabletas y teléfonos inteligentes, y puede generar (electrónicamente) vídeo/imágenes. Por ejemplo, se puede generar un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de video/imagen puede ser sustituido por un proceso de generación de datos relacionados.
[0059] El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede llevar a cabo una serie de procedimientos como, por ejemplo, predicción, transformada y cuantificación para la eficiencia de compactación y codificación. Los datos codificados (información de vídeo/imagen codificada) pueden emitirse en forma de un flujo de bits.
[0060] El transmisor puede transmitir la imagen/información de imagen codificada o datos emitidos en forma de un flujo de bits al receptor del dispositivo receptor a través de un medio de almacenamiento digital o una red en forma de un archivo o transmisión continua. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento como, por ejemplo, USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. El transmisor puede incluir un elemento para generar un archivo multimedia a través de un formato de archivo predeterminado y puede incluir un elemento para la transmisión a través de una red de difusión/comunicación. El receptor puede recibir/extraer el flujo de bits y transmitir el flujo de bits recibido al aparato de decodificación.
[0061] El aparato de decodificación puede decodificar el vídeo/imagen llevando a cabo una serie de procedimientos como, por ejemplo, descuantificación, transformada inversa y predicción correspondientes al funcionamiento del aparato de codificación.
[0062] El renderizador puede renderizar el vídeo/imagen decodificado. El vídeo/imagen renderizado puede mostrarse a través de la pantalla.
[0063] La Figura 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de vídeo/imagen al que puede aplicarse el presente documento. En lo sucesivo, lo que se denomina aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
[0064] Con referencia a la Figura 2, el aparato 200 de codificación incluye un particionador 210 de imágenes, un predictor 220, un procesador 230 residual y un codificador 240 de entropía, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un interpredictor 221 y un intrapredictor 222. El procesador 230 residual puede incluir un transformador 232, un cuantificador 233, un descuantificador 234 y un transformador 235 inverso. El procesador 230 residual puede incluir además un restador 231. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. El particionador 210 de imágenes, el predictor 220, el procesador 230 residual, el codificador 240 de entropía, el sumador 250 y el filtro 260 pueden configurarse mediante al menos un componente de hardware (p. ej., un conjunto de chips o procesador de codificador) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes decodificadas (DPB, por sus siglas en inglés) o puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
[0066] El particionador 210 de imágenes puede dividir una imagen de entrada (o un fotograma) introducida al aparato 200 de codificación en uno o más procesadores. Por ejemplo, el procesador puede denominarse unidad de codificación (CU, por sus siglas en inglés). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol cuaternario árbol binario árbol ternario (QTBTTT, por sus siglas en inglés) de una unidad de árbol de codificación (CTU) o una unidad de codificación más grande (LCU, por sus siglas en inglés). Por ejemplo, una unidad de codificación puede dividirse en múltiples unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura ternaria. En este caso, por ejemplo, la estructura de árbol cuaternario puede aplicarse primero y la estructura de árbol binario y/o la estructura ternaria pueden aplicarse más tarde. Alternativamente, la estructura de árbol binario puede aplicarse primero. El procedimiento de codificación según el presente documento puede llevarse a cabo basándose en la unidad de codificación final que ya no está dividida. En este caso, la unidad de codificación más grande puede usarse como la unidad de codificación final basándose en la eficiencia de codificación según las características de imagen, o, si es necesario, la unidad de codificación puede dividirse recursivamente en unidades de codificación de profundidad más profunda y puede usarse una unidad de codificación que tiene un tamaño óptimo como la unidad de codificación final. En este caso, el procedimiento de codificación puede incluir un procedimiento de predicción, transformada y reconstrucción, que se describirá más adelante. Como otro ejemplo, el procesador puede incluir además una unidad de predicción (PU, por sus siglas en inglés) o una unidad de transformada (TU, por sus siglas en inglés). En este caso, la unidad de predicción y la unidad de transformada pueden dividirse o particionarse de la unidad de codificación final descrita anteriormente. La unidad de predicción puede ser una unidad de predicción de muestras, y la unidad de transformada puede ser una unidad para derivar un coeficiente de transformada y/o una unidad para derivar una señal residual del coeficiente de transformada.
[0068] La unidad puede usarse indistintamente con términos como, por ejemplo, bloque o área en algunos casos. En un caso general, un bloque MxN puede representar un conjunto de muestras o coeficientes de transformada compuestos por M columnas y N filas. Una muestra puede representar generalmente un píxel o un valor de un píxel, puede representar solo un píxel/valor de píxel de un componente de luma o representar solo un píxel/valor de píxel de un componente de croma. Una muestra puede usarse como un término correspondiente a una imagen para un píxel o un pel.
[0070] El restador 231 resta la señal de predicción (bloque predicho, muestras de predicción o matriz de muestras de predicción) emitida desde el predictor 220 desde la señal de imagen de entrada (bloque original, muestras originales o matriz de muestras originales) para obtener una señal A residual (un bloque residual, muestras residuales o matriz de muestras residuales) que puede generarse, y la señal residual generada se transmite al transformador 232. El predictor 220 puede llevar a cabo la predicción en un bloque objetivo de procesamiento (en lo sucesivo, denominado bloque actual) y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor 220 puede determinar si se aplica intrapredicción o interpredicción en un bloque actual o en una base de CU. Como se describe más adelante en la descripción de cada modo de predicción, el predictor puede generar diversa información relacionada con la predicción como, por ejemplo, información de modo de predicción, y transmitir la información generada al codificador 240 de entropía. La información sobre la predicción puede codificarse en el codificador 240 de entropía y emitirse en forma de un flujo de bits.
[0072] El intrapredictor 222 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en las proximidades del bloque actual o pueden estar ubicadas separadas según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir múltiples modos no direccionales y múltiples modos direccionales. El modo no direccional puede incluir, por ejemplo, un modo de CC y un modo plano. El modo direccional puede incluir, por ejemplo, 33 modos de predicción direccional o 65 modos de predicción direccional según el grado de detalle de la dirección de predicción. Sin embargo, esto es meramente un ejemplo, se pueden usar más o menos modos de predicción direccional dependiendo de un ajuste. El intrapredictor 222 puede determinar el modo de predicción aplicado al bloque actual usando un modo de predicción aplicado a un bloque vecino.
[0074] El interpredictor 221 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. Aquí, con el fin de reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imágenes de referencia. La información de movimiento puede incluir además información de dirección de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes. El bloque vecino temporal puede denominarse bloque de referencia co-localizado, una CU co-localizado (colCU, por sus siglas en inglés) y similares, y la imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen co-localizada (colPic, por sus siglas en inglés). Por ejemplo, el interpredictor 221 puede configurar una lista de candidatos de información de movimiento basándose en bloques vecinos y generar información que indica qué candidato se usa para derivar un vector de movimiento y/o un índice de imágenes de referencia del bloque actual. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción. Por ejemplo, en el caso de un modo de salto y un modo de fusión, el interpredictor 221 puede usar información de movimiento del bloque vecino como información de movimiento del bloque actual. En el modo de salto, a diferencia del modo de fusión, la señal residual puede no transmitirse. En el caso del modo de predicción de vectores de movimiento (MVP, por sus siglas en inglés), el vector de movimiento del bloque vecino puede usarse como un predictor de vector de movimiento y el vector de movimiento del bloque actual puede indicarse señalando una diferencia de vector de movimiento.
[0076] El predictor 220 puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente tanto intrapredicción como interpredicción. Esto puede denominarse inter e intrapredicción combinadas (CIIP, por sus siglas en inglés). Además, el predictor puede llevar a cabo una copia intrabloque (IBC, por sus siglas en inglés) para la predicción de un bloque. El modo de predicción de IBC puede usarse para la codificación de contenido de imagen/vídeo de un juego o similar, por ejemplo, la codificación de contenido de pantalla (SCC, por sus siglas en inglés). La IBC lleva a cabo básicamente predicción en la imagen actual, pero puede llevarse a cabo de manera similar a la interpredicció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 interpredicción descritas en el presente documento.
[0078] La señal de predicción generada por el interpredictor 221 y/o el intrapredictor 222 puede usarse para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada aplicando una técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada puede incluir una transformada de coseno discreta (DCT, por sus siglas en inglés), una transformada de seno discreta (DST, por sus siglas en inglés), una transformada de karhunen-loève (KLT, por sus siglas en inglés), una transformada basada en gráficos (GBT, por sus siglas en inglés) o una transformada condicionalmente no lineal (CNT, por sus siglas en inglés). Aquí, GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles se representa por el gráfico. CNT se refiere a la transformada generada en base a 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 cuadrado.
[0080] El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador 240 de entropía y el codificador 240 de entropía puede codificar la señal cuantificada (información sobre los coeficientes de transformada cuantificados) y emitir un flujo de bits. La información sobre los coeficientes de transformada cuantificados puede denominarse información residual. El cuantificador 233 puede reorganizar los coeficientes de transformada cuantificados de tipo bloque en una forma de vector unidimensional basándose en un orden de escaneo de coeficientes y generar información sobre los coeficientes de transformada cuantificados basándose en los coeficientes de transformada cuantificados en la forma de vector unidimensional. Puede generarse información sobre coeficientes de transformada. El codificador 240 de entropía puede llevar a cabo diversos métodos de codificación como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC, por sus siglas en inglés), codificación aritmética binaria adaptativa al contexto (CABAC, por sus siglas en inglés) y similares. El codificador 240 de entropía puede codificar la información necesaria para la reconstrucción de vídeo/imagen distinta de los coeficientes de transformada cuantificados (p. ej., valores de elementos sintácticos, etc.) juntos o por separado. La información codificada (p. ej., información de vídeo/imagen codificada) puede transmitirse o almacenarse en unidades de NAL (capa de abstracción de red, NAL, por sus siglas en inglés) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros como, por ejemplo, un conjunto de parámetros de adaptación (APS, por sus siglas en inglés), un conjunto de parámetros de imagen (PPS, por sus siglas en inglés), un conjunto de parámetros de secuencia (SPS, por sus siglas en inglés) o un conjunto de parámetros de vídeo (VPS, por sus siglas en inglés). Además, la información de vídeo/imagen puede incluir además información de restricción general. En el presente documento, la información de señalización/transmitida y/o los elementos sintácticos descritos más adelante en la presente descripción pueden codificarse a través del proceso de codificación descrito anteriormente e incluirse en el flujo de bits. El flujo de bits puede transmitirse a través de una red o puede almacenarse en un medio de almacenamiento digital. La red puede incluir una red de radiodifusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento como, por ejemplo, USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no se muestra) que transmite una señal emitida desde el codificador 240 de entropía y/o una unidad de almacenamiento (no se muestra) que almacena la señal pueden incluirse como elemento interno/externo del aparato 200 de codificación y, alternativamente, el transmisor puede incluirse en el codificador 240 de entropía.
[0081] 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 235 inverso. El sumador 250 suma la señal residual reconstruida a la señal de predicción emitida desde el predictor 220 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, muestras reconstruidas o matriz de muestras reconstruidas). Si no hay ningún residuo para el bloque que va a procesarse como, por ejemplo, un caso donde se aplica el modo de salto, el bloque predicho puede usarse como el bloque reconstruido. La señal reconstruida generada puede usarse para la intrapredicción de un siguiente bloque que va a procesarse en la imagen actual y puede usarse para la interpredicción de una imagen siguiente a través del filtrado como se describe a continuación.
[0082] Mientras tanto, el mapeo de luma con escala de croma (LMCS, por sus siglas en inglés) puede aplicarse durante la codificación y/o reconstrucción de imágenes.
[0083] El filtro 260 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 260 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida y almacenar la imagen reconstruida modificada en la memoria 270, específicamente, una DPB de la memoria 270. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra (SAO, por sus siglas en inglés), un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversa información relacionada con el filtrado y transmitir la información generada al codificador 240 de entropía como se describe más adelante en la descripción de cada método de filtrado. La información relacionada con el filtrado puede ser codificada por el codificador 240 de entropía y emitida en forma de un flujo de bits.
[0084] La imagen reconstruida modificada transmitida a la memoria 270 puede usarse como la imagen de referencia en el interpredictor 221. Cuando la interpredicció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 300 de decodificación y puede mejorarse la eficiencia de codificación.
[0085] La DPB de la memoria 270 puede almacenar la imagen reconstruida modificada para su uso como una imagen de referencia en el interpredictor 221. La memoria 270 puede almacenar la información de movimiento del bloque del que se deriva (o codifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que ya se han reconstruido. La información de movimiento almacenada puede transmitirse al interpredictor 221 y usarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 270 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y puede transferir las muestras reconstruidas al intrapredictor 222.
[0086] La Figura 3 es un diagrama esquemático que ilustra una configuración de un aparato de decodificación de vídeo/imagen al que puede aplicarse el presente documento.
[0087] Con referencia a la Figura 3, el aparato 300 de decodificación puede incluir un decodificador 310 de entropía, un procesador 320 residual, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un interpredictor 331 y un intrapredictor 332. El procesador 320 residual puede incluir un descuantificador 321 y un transformador 321 inverso. El decodificador 310 de entropía, el procesador 320 residual, el predictor 330, el sumador 340 y el filtro 350 pueden configurarse mediante un componente de hardware (p. ej., un conjunto de chips de decodificador o un procesador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes decodificadas (DPB) o puede configurarse mediante un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 360 como un componente interno/externo.
[0088] Cuando se introduce un flujo de bits que incluye información de vídeo/imagen, el aparato 300 de decodificación puede reconstruir una imagen correspondiente a un proceso en el cual la información de vídeo/imagen se procesa en el aparato de codificación de la Figura 2. Por ejemplo, el aparato 300 de decodificación puede derivar unidades/bloques basándose en información relacionada con partición de bloques obtenida a partir del flujo de bits. El aparato 300 de decodificación puede llevar a cabo una decodificación usando un procesador aplicado en el aparato de codificación. Por lo tanto, el procesador de decodificación puede ser una unidad de codificación, por ejemplo, y la unidad de codificación puede dividirse según una estructura de árbol cuaternario, una estructura de árbol binario y/o una estructura de árbol ternario de la unidad de árbol de codificación o la unidad de codificación más grande. Una o más unidades de transformada pueden derivarse de la unidad de codificación. La señal de imagen reconstruida decodificada y emitida a través del aparato 300 de decodificación puede reproducirse a través de un aparato de reproducción.
[0090] El aparato 300 de decodificación puede recibir una señal emitida desde el aparato de codificación de la Figura 2 en forma de un flujo de bits, y la señal recibida puede decodificarse a través del decodificador 310 de entropía. Por ejemplo, el decodificador 310 de entropía puede analizar el flujo de bits para obtener información (p. ej., información de vídeo/imagen) necesaria para la reconstrucción de imágenes. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros como, por ejemplo, un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. El aparato de decodificación puede decodificar además la imagen basándose en la información sobre el conjunto de parámetros y/o la información de restricción general. La información señalizada/recibida y/o los elementos sintácticos descritos más adelante en el presente documento pueden decodificarse mediante el procedimiento de decodificación y obtenerse a partir del flujo de bits. Por ejemplo, el decodificador 310 de entropía decodifica la información en el flujo de bits basándose en un método de codificación como, por ejemplo, la codificación de Golomb exponencial, CAVLC o CABAC, y emite elementos sintácticos requeridos para la reconstrucción de imágenes y valores cuantificados de coeficientes de transformada para el residuo. Más específicamente, el método de decodificación por entropía CABAC puede recibir un bin correspondiente a cada elemento sintáctico en el flujo de bits, determinar un modelo de contexto usando una información de elemento sintáctico objetivo de decodificación, decodificar información de un bloque objetivo de decodificación o información de un símbolo/bin decodificado en una etapa anterior, y llevar a cabo una decodificación aritmética en el bin prediciendo una probabilidad de aparición de un bin según el modelo de contexto determinado, y generar un símbolo correspondiente al valor de cada elemento sintáctico. En este caso, el método de decodificación por entropía CABAC puede actualizar el modelo de contexto usando la información del símbolo/bin decodificado para un modelo de contexto de un siguiente símbolo/bin después de determinar el modelo de contexto. La información relacionada con la predicción entre la información decodificada por el decodificador 310 de entropía puede proveerse al predictor 330, y la información sobre el residuo en donde se llevó a cabo la decodificación de entropía en el decodificador 310 de entropía, es decir, los coeficientes de transformada cuantificados y la información de parámetros relacionada, puede introducirse en el descuantificador 321. Además, la información sobre el filtrado entre la información decodificada por el decodificador 310 de entropía puede proveerse al filtro 350. Mientras tanto, un receptor (no se muestra) para recibir una señal emitida desde el aparato de codificación puede configurarse además como un elemento interno/externo del aparato 300 de decodificación, o el receptor puede ser un componente del decodificador 310 de entropía. Mientras tanto, el aparato de decodificación según el presente documento puede denominarse aparato de decodificación de vídeo/imagen, y el aparato de decodificación puede clasificarse en un decodificador de información (decodificador de información de vídeo/imagen) y un decodificador de muestra (decodificador de muestra de vídeo/imagen). El decodificador de información puede incluir el decodificador 310 de entropía, y el decodificador de muestras puede incluir al menos uno del descuantificador 321, el transformador 322 inverso, el predictor 330, el sumador 340, el filtro 350 y la memoria 360.
[0092] El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados y emitir los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en forma de una forma de bloque bidimensional. En este caso, la reorganización puede llevarse a cabo basándose en el orden de escaneo de coeficientes llevado a cabo en el aparato de codificación. El descuantificador 321 puede llevar a cabo la descuantificación en 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 obtener coeficientes de transformada.
[0094] El transformador 322 inverso transforma inversamente los coeficientes de transformada para obtener una señal residual (bloque residual, matriz de muestras residuales).
[0096] El predictor puede llevar a cabo la predicción en el bloque actual y generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor puede determinar si se aplica intrapredicción o interpredicción al bloque actual basándose en la información sobre la predicción emitida desde el decodificador 310 de entropía y puede determinar un modo de intrapredicción/interpredicción específico.
[0098] El predictor puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no solo aplicar intrapredicción o interpredicción para predecir un bloque, sino también aplicar simultáneamente intrapredicción e interpredicción. Esto puede denominarse inter e intrapredicción combinadas (CIIP). Además, el predictor puede llevar a cabo una copia intrabloque (IBC). La copia intrabloque puede usarse para la codificación de contenido de imagen/vídeo de un juego o similar, por ejemplo, codificación de contenido de pantalla (SCC). La IBC lleva a cabo básicamente predicción en la imagen actual, pero puede llevarse a cabo de manera similar a la interpredicció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 interpredicción descritas en el presente documento.
[0099] El intrapredictor 331 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en las proximidades del bloque actual o pueden estar ubicadas separadas según el modo de predicción. En la intrapredicción, los modos de predicción pueden incluir múltiples modos no direccionales y múltiples modos direccionales. El intrapredictor 331 puede determinar el modo de predicción aplicado al bloque actual usando un modo de predicción aplicado a un bloque vecino.
[0100] El interpredictor 332 puede derivar un bloque predicho para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imágenes de referencia. La información de movimiento puede incluir además información de dirección de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. Por ejemplo, el interpredictor 332 puede configurar una lista de candidatos de información de movimiento basándose en bloques vecinos y derivar un vector de movimiento del bloque actual y/o un índice de imágenes de referencia basándose en la información de selección de candidatos recibida. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica un modo de interpredicción para el bloque actual.
[0101] El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido, matriz de muestras reconstruidas) sumando la señal residual obtenida a la señal de predicción (bloque predicho, matriz de muestras predicha) emitida desde el predictor 330. Si no hay ningún residuo para el bloque que se va a procesar como, por ejemplo, cuando se aplica el modo de salto, el bloque predicho se puede usar como el bloque reconstruido.
[0102] El sumador 340 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada puede usarse para la intrapredicción de un siguiente bloque que va a procesarse en la imagen actual, puede emitirse a través de filtrado como se describe a continuación, o puede usarse para la interpredicción de una siguiente imagen.
[0103] Mientras tanto, el mapeo de luma con escala de croma (LMCS) puede aplicarse en el proceso de decodificación de imágenes.
[0104] 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, 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.
[0105] La imagen reconstruida (modificada) almacenada en la DPB de la memoria 360 puede usarse como una imagen de referencia en el interpredictor 332. La memoria 360 puede almacenar la información de movimiento del bloque del que se deriva (o decodifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen que ya se han reconstruido. La información de movimiento almacenada puede transmitirse al interpredictor 260 para utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 360 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y transferir las muestras reconstruidas al intrapredictor 331.
[0106] En esta memoria descriptiva, las realizaciones descritas en la unidad 330 de predicción, el descuantificador 321, el transformador 322 inverso y el filtro 350 del aparato 300 de decodificación son el predictor 220, el descuantificador 234, el transformador 235 inverso y el filtro 260 pueden aplicarse de la misma manera o de manera correspondiente.
[0107] Como se ha descrito anteriormente, en la codificación de vídeo, se lleva a cabo la predicción para aumentar la eficiencia de compresión. A través de esto, es posible generar un bloque predicho que incluye muestras de predicción para un bloque actual, que es un bloque a codificar. Aquí, el bloque predicho incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho se obtiene igualmente a partir del dispositivo de codificación y el dispositivo de decodificación, y el dispositivo de codificación decodifica información (información residual) sobre el residuo entre el bloque original y el bloque predicho, no el valor de muestra original del propio bloque original. Mediante la señalización al dispositivo, se puede aumentar la eficiencia de codificación de imágenes. El aparato de decodificación puede derivar un bloque residual que incluye muestras residuales en base a la información residual, y generar un bloque reconstruido que incluye muestras reconstruidas sumando el bloque residual y el bloque predicho, y generar una imagen reconstruida que incluye bloques reconstruidos.
[0109] La información residual puede generarse a través de procesos de transformación y cuantificación. Por ejemplo, el aparato de codificación puede derivar un bloque residual entre el bloque original y el bloque predicho, y llevar a cabo un proceso de transformada en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformada, y luego, llevando a cabo un proceso de cuantificación en los coeficientes de transformada, derivar coeficientes de transformada cuantificados para señalizar la información relacionada residual al aparato de decodificación (a través de un flujo de bits). Aquí, la información residual puede incluir información de ubicación, una técnica de transformada, un núcleo de transformada y un parámetro de cuantificación, información de valor de los coeficientes de transformada cuantificados, etc. El aparato de decodificación puede llevar a cabo un proceso de descuantificación/transformación inversa basándose en la información residual y derivar muestras residuales (o bloques residuales). El aparato de decodificación puede generar una imagen reconstruida basándose en el bloque predicho y el bloque residual. El aparato de codificación también puede descuantificar/transformar inversamente los coeficientes de transformada cuantificados para referencia para interpredicción de una imagen posterior para derivar un bloque residual, y generar una imagen reconstruida basándose en la misma.
[0111] En el presente 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, los coeficientes de transformada pueden denominarse coeficientes o coeficientes residuales, o incluso pueden denominarse coeficientes de transformada para uniformidad de expresión.
[0113] En el presente documento, un coeficiente de transformada cuantificado y un coeficiente de transformada pueden denominarse un coeficiente de transformada y un coeficiente de transformada escalado, respectivamente. En este caso, la información residual puede incluir información sobre el(los) coeficiente(s) de transformada, y la información sobre el(los) coeficiente(s) de transformada puede señalizarse a través de la sintaxis de codificación residual. Los coeficientes de transformada pueden derivarse basándose en la información residual (o información sobre el(los) coeficiente(s) de transformada), y los coeficientes de transformada escalados pueden derivarse a través de la transformada inversa (escalado) sobre los coeficientes de transformada. Las muestras residuales pueden derivarse en base a una transformada inversa (transformada) de los coeficientes de transformada escalados. Esto puede aplicarse/expresarse también en otras partes del presente documento.
[0115] El predictor del aparato de codificación/aparato de decodificación puede derivar una muestra de predicción llevando a cabo la interpredicción en unidades de bloques. La interpredicción puede ser una predicción derivada de una manera que depende de elementos de datos (p. ej., valores de muestra, o información de movimiento, etc.) de imagen(es) distintos de la imagen actual. Cuando se aplica la interpredicción al bloque actual, un bloque predicho (matriz de muestras de predicción) para el bloque actual puede derivarse basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en la imagen de referencia indicada por el índice de imágenes de referencia. Aquí, con el fin de reducir la cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento del bloque actual puede predecirse en unidades de bloques, subbloques o muestras basándose en la correlación de información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imágenes de referencia. La información de movimiento puede incluir además información de tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). En el caso de la interpredicción, el bloque vecino puede incluir un bloque vecino espacial presente en la imagen actual y un bloque vecino temporal presente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser iguales o diferentes. El bloque vecino temporal puede denominarse bloque de referencia co-localizado, una CU colocalizada (colCU) y similares, y la imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen co-localizada (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede configurarse basándose en bloques vecinos del bloque actual, y la información de indicador o índice que indica qué candidato se selecciona (usa) puede señalizarse para derivar un vector de movimiento y/o un índice de imágenes de referencia del bloque actual. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción. Por ejemplo, en el caso de un modo de salto y un modo de fusión, la información de movimiento del bloque actual puede ser la misma que la información de movimiento del bloque vecino. En el modo de salto, a diferencia del modo de fusión, la señal residual puede no transmitirse. En el caso del modo de predicción de vectores de movimiento (MVP), el vector de movimiento del bloque vecino seleccionado puede usarse como un predictor de vector de movimiento y puede señalizarse el vector de movimiento del bloque actual. En este caso, el vector de movimiento del bloque actual puede derivarse usando la suma del predictor de vector de movimiento y la diferencia de vector de movimiento.
[0116] La información de movimiento puede incluir información de movimiento L0 y/o información de movimiento L1 según un tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). El vector de movimiento en la dirección L0 puede denominarse vector de movimiento L0 o MVL0, y el vector de movimiento en la dirección L1 puede denominarse vector de movimiento L1 o MVL1. La predicción basada en el vector de movimiento L0 puede denominarse predicción L0, la predicción basada en el vector de movimiento L1 puede denominarse predicción L1, y la predicción basada tanto en el vector de movimiento L0 como en el vector de movimiento L1 puede denominarse predicción bi. Aquí, el vector de movimiento L0 puede indicar un vector de movimiento asociado a la lista de imágenes de referencia L0 (L0), y el vector de movimiento L1 puede indicar un vector de movimiento asociado a la lista de imágenes de referencia L1 (L1). La lista de imágenes de referencia L0 puede incluir imágenes que están en un orden de salida anterior a la imagen actual como imágenes de referencia, y la lista de imágenes de referencia L1 puede incluir imágenes que están más tarde en el orden de salida que la imagen actual. Las imágenes anteriores pueden denominarse imágenes (de referencia) directas, y las imágenes posteriores pueden denominarse imágenes (de referencia) inversas. La lista de imágenes de referencia L0 puede incluir además imágenes que están más tarde en el orden de salida que la imagen actual como imágenes de referencia. En este caso, las imágenes anteriores pueden indexarse primero en la lista de imágenes de referencia L0 y las imágenes posteriores pueden indexarse más tarde. La lista de imágenes de referencia L1 puede incluir además imágenes previas en el orden de salida que la imagen actual como imágenes de referencia. En este caso, las imágenes posteriores pueden indexarse primero en la lista de imágenes de referencia 1 y las imágenes anteriores pueden indexarse más tarde. El orden de salida puede corresponder al orden de recuento de orden de imágenes (POC, por sus siglas en inglés).
[0117] La Figura 4 muestra a modo de ejemplo una estructura jerárquica para una imagen/vídeo codificado.
[0118] Con referencia a la Figura 4, la imagen/vídeo codificado se divide en una capa de codificación de vídeo (VCL, por sus siglas en inglés) que gestiona el proceso de decodificación de la imagen/vídeo y ella misma, un subsistema que transmite y almacena la información codificada, y NAL (capa de abstracción de red) a cargo de la función y presente entre la VCL y el subsistema.
[0119] En la VCL, se generan datos de VCL que incluyen datos de imagen comprimidos (datos de segmento), o se puede generar un conjunto de parámetros que incluye un conjunto de parámetros de imagen (PSP), un conjunto de parámetros de secuencia (SPS) y un conjunto de parámetros de vídeo (VPS) o un mensaje de información de mejora suplementaria (SEI, por sus siglas en inglés) requerido adicionalmente para un proceso de decodificación de imagen.
[0120] En la NAL, una unidad de NAL puede generarse añadiendo información de encabezado (encabezado de unidad de NAL) a una carga útil de secuencia de bytes sin procesar (RBSP, por sus siglas en inglés) generada en una VCL. En este caso, la RBSP se refiere a datos de segmento, conjunto de parámetros, mensaje SEI, etc., generados en la VCL. El encabezado de unidad de NAL puede incluir información de tipo de unidad de NAL especificada según datos de RBSP incluidos en la unidad de NAL correspondiente.
[0121] Como se muestra en la figura, la unidad de NAL puede clasificarse en una unidad VCL NAL y una unidad No VCL NAL según la RBSP generada en la VCL. La unidad VCL NAL puede significar una unidad NAL que incluye información sobre la imagen (datos de segmento) sobre la imagen, y la unidad No VCL NAL puede significar una unidad NAL que incluye información (conjunto de parámetros o mensaje SEI) requerida para decodificar la imagen.
[0122] La unidad VCL NAL y la unidad No VCL NAL descritas anteriormente pueden transmitirse a través de una red uniendo información de encabezado según el estándar de datos del subsistema. Por ejemplo, la unidad NAL puede transformarse en un formato de datos de un estándar predeterminado como, por ejemplo, un formato de archivo H.266/VVC, un protocolo de transporte en tiempo real (RTP, por sus siglas en inglés), un flujo de transporte (TS, por sus siglas en inglés), etc., y transmitirse a través de diversas redes.
[0123] Como se ha descrito anteriormente, la unidad NAL puede especificarse con el tipo de unidad NAL según la estructura de datos de RBSP incluida en la unidad NAL correspondiente, y la información sobre el tipo de unidad NAL puede almacenarse y señalizarse en el encabezado de unidad NAL.
[0124] Por ejemplo, la unidad NAL puede clasificarse en un tipo de unidad VCL NAL y un tipo de unidad No VCL NAL según si la unidad NAL incluye información (datos de segmento) sobre una imagen. El tipo de unidad VCL NAL puede clasificarse según la naturaleza y el tipo de imágenes incluidas en la unidad VCL NAL, y el tipo de unidad No VCL NAL puede clasificarse según los tipos de conjuntos de parámetros.
[0125] Lo siguiente es un ejemplo del tipo de unidad NAL especificado según el tipo de conjunto de parámetros incluido en el tipo de unidad No VCL NAL.
[0126] - Unidad NAL de APS (conjunto de parámetros de adaptación): tipo para unidad NAL que incluye APS - Unidad NAL de DPS (conjunto de parámetros de decodificación): tipo para unidad NAL que incluye DPS - Unidad NAL de VPS (conjunto de parámetros de vídeo): tipo para unidad NAL que incluye VPS
[0127] - Unidad NAL de SPS (conjunto de parámetros de secuencia): tipo para unidad NAL que incluye SPS - Unidad NAL PPS (conjunto de parámetros de imagen): tipo para unidad NAL que incluye PPS
[0128] - Unidad NAL de PH (encabezado de imagen): tipo para unidad NAL que incluye PH
[0129] Los tipos de unidad NAL descritos anteriormente pueden tener información sintáctica para el tipo de unidad NAL, y la información sintáctica puede almacenarse y señalizarse en un encabezado de unidad NAL. Por ejemplo, la información sintáctica puede ser nal_unit_type, y los tipos de unidades NAL pueden especificarse mediante un valor nal_unit_type.
[0130] Mientras tanto, como se describió más arriba, una imagen puede incluir múltiples segmentos, y un segmento puede incluir un encabezado de segmento y datos de segmento. En este caso, un encabezado de imagen puede añadirse además a múltiples segmentos (un encabezado de segmento y un conjunto de datos de segmento) en una imagen. El encabezado de imagen (sintaxis de encabezado de imagen) puede incluir información/parámetros comúnmente aplicables a la imagen. En el presente documento, un segmento puede mezclarse con o reemplazarse por un grupo de mosaicos. Asimismo, en el presente documento, un encabezado de segmento puede mezclarse con o reemplazarse por un encabezado de grupo de mosaicos. El encabezado de segmento (sintaxis de encabezado de segmento, información de encabezado de segmento) puede incluir información/parámetros que pueden aplicarse comúnmente al segmento. El APS (sintaxis de APS) o el PPS (sintaxis de PPS) pueden incluir información/parámetros que pueden aplicarse comúnmente a uno o más segmentos o imágenes. El SPS (sintaxis de SPS) puede incluir información/parámetros que pueden aplicarse comúnmente a una o más secuencias. El VPS (sintaxis de VPS) puede incluir información/parámetros que pueden aplicarse comúnmente a múltiples capas. El DPS (sintaxis de DPS) puede incluir información/parámetros que pueden aplicarse comúnmente al vídeo general. El DPS puede incluir información/parámetros relacionados con la concatenación de una secuencia de vídeo codificada (CVS, por sus siglas en inglés). La sintaxis de alto nivel (HLS, por sus siglas en inglés) en el presente documento puede incluir al menos una de la sintaxis de APS, la sintaxis de PPS, la sintaxis de SPS, la sintaxis de VPS, la sintaxis de DPS y la sintaxis de encabezado de segmento.
[0131] En el presente documento, la información de imagen codificada desde el aparato de codificación y señalizada al aparato de decodificación en forma de un flujo de bits incluye no solo la partición de información relacionada en una imagen, información de intra/interpredicción, información residual, información de filtrado en bucle y similares, sino también información incluida en un encabezado de segmento, información incluida en el APS, información incluida en el PPS, información incluida en un SPS y/o información incluida en el VPS.
[0132] Mientras tanto, para compensar una diferencia entre una imagen original y una imagen reconstruida debido a un error que ocurre en un proceso de codificación de compresión como, por ejemplo, cuantificación, se puede llevar a cabo un proceso de filtrado en bucle en muestras reconstruidas o imágenes reconstruidas como se describió más arriba. Como se ha descrito más arriba, el filtrado en bucle puede llevarse a cabo por el filtro del aparato de codificación y el filtro del aparato de decodificación, y puede aplicarse un filtro de desbloqueo, SAO y/o un filtro de bucle adaptativo (ALF, por sus siglas en inglés). Por ejemplo, el proceso de ALF puede llevarse a cabo después de que se completen el proceso de filtrado de desbloqueo y/o el proceso de SAO. Sin embargo, incluso en este caso, el proceso de filtrado de desbloqueo y/o el proceso de SAO pueden omitirse.
[0133] En lo sucesivo, se describirá la descripción detallada de la reconstrucción y filtrado de imágenes. En la codificación de imagen/vídeo, se puede generar un bloque reconstruido basándose en la intrapredicción/interpredicción para cada bloque, y se puede generar una imagen reconstruida que incluya los bloques reconstruidos. Cuando la imagen/segmento actual es una imagen/segmento I, los bloques incluidos en la imagen/segmento actual pueden reconstruirse basándose únicamente en la intrapredicción. Mientras tanto, cuando la imagen/segmento actual es una imagen/segmento P o B, los bloques incluidos en la imagen/segmento actual pueden reconstruirse basándose en la intrapredicción o la interpredicción. En este caso, la intrapredicción puede aplicarse a algunos bloques en la imagen/segmento actual, y la interpredicción puede aplicarse a los bloques restantes.
[0134] La intrapredicción puede referirse a la predicción que genera muestras de predicción para el bloque actual basándose en muestras de referencia en una imagen a la que pertenece el bloque actual (en lo sucesivo, denominada imagen actual). Cuando se aplica la intrapredicción al bloque actual, se pueden derivar muestras de referencia vecinas que se van a usar para la intrapredicción del bloque actual. Las muestras de referencia vecinas del bloque actual pueden incluir muestras adyacentes al límite izquierdo del bloque actual que tienen un tamaño de nWxnH y un total de 2xnH muestras vecinas de la parte inferior izquierda, muestras adyacentes al límite superior del bloque actual y un total de 2xnW muestras vecinas de la parte superior derecha, y una muestra vecina de la parte superior izquierda del bloque actual. Alternativamente, las muestras de referencia vecinas del bloque actual pueden incluir múltiples muestras vecinas superiores y múltiples muestras vecinas izquierdas. Además, las muestras de referencia vecinas del bloque actual pueden incluir un total de nH muestras adyacentes al límite derecho del bloque actual que tienen un tamaño de nWxnH, un total de nW muestras adyacentes al límite inferior del bloque actual, y una muestra vecina (inferior derecha) inferior derecha del bloque actual.
[0136] Sin embargo, algunas de las muestras de referencia vecinas del bloque actual pueden no decodificarse todavía o estar disponibles. En este caso, el decodificador puede configurar las muestras de referencia vecinas para su uso para la predicción sustituyendo las muestras que no están disponibles por las muestras disponibles. Alternativamente, las muestras de referencia vecinas que se van a usar para la predicción pueden configurarse a través de la interpolación de las muestras disponibles.
[0138] Cuando se obtienen muestras de referencia vecinas, puede obtenerse una muestra de predicción basándose en el promedio o interpolación de muestras de referencia vecinas del bloque actual, y (ii) predicción entre muestras de referencia vecinas del bloque actual. La muestra de predicción puede derivarse basándose en una muestra de referencia presente en una dirección (predicción) específica con respecto a la muestra. El caso de (i) puede denominarse un modo no direccional o un modo no angular, y el caso de (ii) puede denominarse un modo direccional o un modo angular. Asimismo, basándose en la muestra de predicción del bloque actual entre las muestras de referencia vecinas, se interpolan la segunda muestra vecina ubicada en la dirección opuesta a la dirección de predicción del modo de intrapredicción del bloque actual y la primera muestra vecina. Se puede generar una muestra de predicción. El caso anterior puede denominarse intrapredicción por interpolación lineal (LIP, por sus siglas en inglés). Además, pueden generarse muestras de predicción de croma basándose en muestras de luma usando un modelo lineal. Este caso puede denominarse modo LM. Además, una muestra de predicción temporal del bloque actual puede derivarse en base a muestras de referencia vecinas filtradas, y al menos una muestra de referencia derivada según el modo de intrapredicción entre las muestras de referencia vecinas existentes, es decir, muestras de referencia vecinas sin filtrar, y la muestra de predicción temporal puede sumarse ponderadamente para derivar la muestra de predicción del bloque actual. El caso anterior puede denominarse intrapredicción dependiente de la posición (PDPC, por sus siglas en inglés). Además, una línea de muestra de referencia que tiene la mayor precisión de predicción entre las líneas de muestra multi-referencia vecinas del bloque actual puede seleccionarse para derivar la muestra de predicción usando la muestra de referencia localizada en la dirección de predicción en la línea correspondiente, y luego la línea de muestra de referencia usada en la presente memoria puede indicarse (señalizarse) al aparato de decodificación, llevando a cabo así la codificación de intrapredicción. El caso anterior puede denominarse intrapredicción de línea de referencia múltiple (MRL, por sus siglas en inglés) o intrapredicción basada en MRL. Además, la intrapredicción puede llevarse a cabo basándose en el mismo modo de intrapredicción dividiendo el bloque actual en subparticiones verticales u horizontales, y pueden derivarse muestras de referencia vecinas y usarse en la unidad de subpartición. Es decir, en este caso, el modo de intrapredicción para el bloque actual se aplica igualmente a las subparticiones, y el rendimiento de la intrapredicción puede mejorarse en algunos casos derivando y usando las muestras de referencia vecinas en la unidad de subpartición. Dicho método de predicción puede denominarse intrasubparticiones (ISP) o intrapredicción basada en ISP. Los métodos de intrapredicción descritos anteriormente pueden denominarse un tipo de intrapredicción por separado del modo de intrapredicción. El tipo de intrapredicción puede denominarse con diversos términos como, por ejemplo, una técnica de intrapredicción o un modo de intrapredicción adicional. Por ejemplo, el tipo de intrapredicción (o modo de intrapredicción adicional) puede incluir al menos una de LIP, PDPC, MRL e ISP descritas anteriormente. Un método de intrapredicción general, excepto el tipo de intrapredicción específico como, por ejemplo, LIP, PDPC, MRL o ISP, puede denominarse un tipo de intrapredicción normal. El tipo de intrapredicción normal puede aplicarse generalmente cuando no se aplica el tipo de intrapredicción específico, y la predicción puede llevarse a cabo basándose en el modo de intrapredicción descrito más arriba. Mientras tanto, se puede llevar a cabo un posfiltrado en la muestra predicha derivada según sea necesario.
[0140] Específicamente, el procedimiento de intrapredicción puede incluir una etapa de determinación de modo/tipo de intrapredicción, una etapa de obtención de muestra de referencia vecina y una etapa de obtención de muestra de predicción basada en modo/tipo de intrapredicción. Además, se puede llevar a cabo una etapa de posfiltrado en la muestra predicha obtenida según sea necesario.
[0142] La Figura 5 es un diagrama de flujo que ilustra un método para reconstruir un bloque basado en intrapredicción en un aparato de codificación. El método de la Figura 5 puede incluir las etapas E500, E510, E520, E530 y E540.
[0144] E500 puede llevarse a cabo por el intrapredictor 222 del aparato de codificación, y E510 a E530 pueden llevarse a cabo por el procesador 230 residual del aparato de codificación. Específicamente, E510 puede llevarse a cabo por el restador 231 del aparato de codificación, E520 puede llevarse a cabo por el transformador 232 y el cuantificador 233 del aparato de codificación, y E530 puede llevarse a cabo por el descuantificador 234 y el transformador 235 inverso del aparato de codificación. En E500, la información de predicción puede ser derivada por el intrapredictor 222 y codificada por el codificador 240 de entropía. La información residual puede derivarse en E510 y E520 y codificarse por el codificador 240 de entropía. La información residual es información sobre las muestras residuales. La información residual puede incluir información sobre coeficientes de transformada cuantificados para las muestras residuales. Como se ha descrito anteriormente, las muestras residuales pueden derivarse como coeficientes de transformada a través del transformador 232 del aparato de codificación, y los coeficientes de transformada pueden derivarse como coeficientes de transformada cuantificados a través del cuantificador 2330. La información sobre los coeficientes de transformada cuantificados puede codificarse por el codificador 240 de entropía a través de un procedimiento de codificación residual.
[0145] El aparato de codificación lleva a cabo la intrapredicción en el bloque actual (E500). El aparato de codificación puede derivar un modo de intrapredicción para el bloque actual, derivar muestras de referencia vecinas del bloque actual y generar muestras de predicción en el bloque actual basándose en el modo de intrapredicción y las muestras de referencia vecinas. Aquí, los procedimientos de determinación de modo de intrapredicción, derivación de muestras de referencia periféricas y generación de muestras de predicción pueden llevarse a cabo simultáneamente, o puede llevarse a cabo un procedimiento antes de otro procedimiento. Por ejemplo, el intrapredictor 222 del dispositivo de codificación puede incluir un determinador de modo/tipo de predicción, un derivador de muestra de referencia y un derivador de muestra de predicción, y el determinador de modo/tipo de predicción puede determinar un modo/tipo de intrapredicción para el bloque actual, el derivador de muestra de referencia puede derivar muestras de referencia vecinas del bloque actual, y el derivador de muestra de predicción puede derivar muestras de movimiento del bloque actual. Mientras tanto, aunque no se muestra, cuando se lleva a cabo un procedimiento de filtrado de muestras de predicción que se describirá más adelante, el intrapredictor 222 puede incluir además un filtro de muestras de predicción (no se muestra). El aparato de codificación puede determinar un modo aplicado al bloque actual de entre múltiples modos de intrapredicción. El aparato de codificación puede comparar los costes de RD para los modos de intrapredicción y determinar un modo de intrapredicción óptimo para el bloque actual.
[0146] Mientras tanto, el aparato de codificación puede llevar a cabo un procedimiento de filtrado de muestras de predicción. El filtrado de muestras de predicción puede denominarse posfiltrado. Algunas o todas las muestras de predicción pueden filtrarse mediante el procedimiento de filtrado de muestras de predicción. En algunos casos, el procedimiento de filtrado de muestras de predicción puede omitirse.
[0147] El aparato de codificación deriva muestras residuales para el bloque actual basándose en las muestras de predicción (E510). El aparato de codificación puede comparar las muestras de predicción en las muestras originales del bloque actual basándose en una fase y derivar las muestras residuales.
[0148] El aparato de codificación puede transformar/cuantificar las muestras residuales para obtener coeficientes de transformada cuantificados (E520) y, a continuación, descuantifica/transforma inversamente los coeficientes de transformada cuantificados de nuevo para obtener muestras residuales (modificadas) (E530). La razón para llevar a cabo la descuantificación/transformación inversa de nuevo después de la transformada/cuantificación es derivar las mismas muestras residuales que las muestras residuales derivadas del aparato de decodificación como se describió más arriba.
[0149] El aparato de codificación puede generar un bloque reconstruido que incluye muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales (modificadas) (E540). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
[0150] El aparato de codificación puede codificar información de imagen que incluye información de predicción sobre la intrapredicción (p. ej., información de modo de predicción que indica un modo de predicción) e información residual sobre las muestras intra y residual y emitir la información de imagen codificada en forma de un flujo de bits, como se describió más arriba. La información residual puede incluir una sintaxis de codificación residual. El aparato de codificación puede transformar/cuantificar las muestras residuales para obtener coeficientes de transformada cuantificados. La información residual puede incluir información sobre los coeficientes de transformada cuantificados.
[0151] La Figura 6 es un diagrama de flujo que ilustra un método de reconstrucción de bloques basado en intrapredicción en un aparato de decodificación. El método de la Figura 6 puede incluir las etapas E600, E610, E620, E630 y E640. El aparato de decodificación puede llevar a cabo una operación correspondiente a una operación llevada a cabo en el aparato de codificación.
[0152] E600 a E620 pueden llevarse a cabo por el intrapredictor 331 del aparato de decodificación, y la información de predicción de E600 y la información residual de E630 pueden ser obtenidas del flujo de bits por el decodificador 310 de entropía del aparato de decodificación. El procesador 320 residual del aparato de decodificación puede derivar muestras residuales para el bloque actual en base a la información residual. Específicamente, el descuantificador 321 del procesador 320 residual deriva coeficientes de transformada llevando a cabo la descuantificación basándose en los coeficientes de transformada cuantificados derivados basándose en la información residual, y el transformador 322 inverso del procesador residual puede derivar muestras residuales para el bloque actual llevando a cabo una transformada inversa en los coeficientes de transformada. E640 puede llevarse a cabo por el sumador 340 o el reconstructor del aparato de decodificación.
[0153] Específicamente, el aparato de decodificación puede derivar un modo de intrapredicción para el bloque actual basándose en la información de modo de predicción recibida (E600). El aparato de decodificación puede derivar muestras de referencia periféricas del bloque actual (E610). El aparato de decodificación genera muestras de predicción en el bloque actual basándose en el modo de intrapredicción y las muestras de referencia vecinas (E620). En este caso, el aparato de decodificación puede llevar a cabo un procedimiento de filtrado de muestras de predicción. El filtrado de muestras de predicción puede denominarse posfiltrado. Algunas o todas las muestras de predicción pueden filtrarse mediante el procedimiento de filtrado de muestras de predicción. En algunos casos, el procedimiento de filtrado de muestras de predicción puede omitirse.
[0155] El aparato de decodificación genera muestras residuales para el bloque actual basándose en la información residual recibida (E630). El aparato de decodificación puede generar muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales, y derivar un bloque reconstruido que incluye las muestras reconstruidas (E640). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
[0157] Aquí, el intrapredictor 331 del aparato de decodificación puede incluir un determinador de modo/tipo de predicción, un derivador de muestra de referencia y un derivador de muestra de predicción, y el determinador de modo/tipo de predicción puede determinar un modo de intrapredicción para el bloque actual basándose en la información de modo de predicción obtenida por el decodificador 310 de entropía del aparato de decodificación, el derivador de muestra de referencia puede derivar muestras de referencia periféricas del bloque actual, y el derivador de muestra de predicción puede derivar muestras de predicción del bloque actual. Mientras tanto, aunque no se muestra, cuando se lleva a cabo el procedimiento de filtrado de muestras de predicción descrito más arriba, el intrapredictor 331 puede incluir además un filtro de muestras de predicción (no se muestra).
[0159] La información de predicción puede incluir información de modo de intrapredicción y/o información de tipo de intrapredicción. La información de modo de intrapredicción puede incluir, por ejemplo, información de indicador (p. ej., intra_luma_mpm_flag) que indica si se aplica un modo más probable (MPM, por sus siglas en inglés) al bloque actual o se aplica un modo restante, y cuando se aplica MPM al bloque actual, la información de modo de predicción puede incluir además información de índice (p. ej., intra_luma_mpm_idx) que indica uno de los candidatos de modo de intrapredicción (candidatos de MPM). Los candidatos de modo de intrapredicción (candidatos de MPM) pueden incluir una lista de candidatos de MPM o una lista de MPM. Además, cuando el MPM no se aplica al bloque actual, la información de modo de intrapredicción puede incluir además información de modo restante (p. ej., intra_luma_mpm_remainder) que indica uno de los modos de intrapredicción restantes excepto los candidatos de modo de intrapredicción (candidatos de MPM). El aparato de decodificación puede determinar el modo de intrapredicción del bloque actual basándose en la información del modo de intrapredicción. Una lista de MPM separada puede estar configurada para el MIP descrito anteriormente.
[0160] Además, la información de tipo de intrapredicción puede implementarse de diversas formas. Por ejemplo, la información de tipo de intrapredicción puede incluir información de índice de tipos de intrapredicción que indica uno de los tipos de intrapredicción. Como otro ejemplo, la información de tipo de intrapredicción puede incluir al menos una de información de línea de muestra de referencia (p. ej., intra_luma_ref_idx) que indica si la MRL se aplica al bloque actual y, si se aplica, qué línea de muestra de referencia se usa, información de indicador de ISP (p. ej., intra_subpartitions_mode_flag) que indica si la ISP se aplica al bloque actual, información de tipo de ISP (p. ej., intra_subpartitions_split_flag) que indica un tipo dividido de subparticiones cuando se aplica la ISP, información de indicador que indica si se aplica PDCP o información de indicador que indica si se aplica una LIP. Además, la información de tipo de intrapredicción puede incluir un indicador MIP que indique si se aplica MIP al bloque actual.
[0162] La información de modo de intrapredicción y/o la información de tipo de intrapredicción pueden codificarse/decodificarse a través del método de codificación descrito en la presente descripción. Por ejemplo, la información de modo de intrapredicción y/o la información de tipo de intrapredicción pueden codificarse/decodificarse mediante codificación por entropía (p. ej., CABAC, CAVLC) basándose en un código binario truncado (rice).
[0164] El predictor del aparato de codificación/aparato de decodificación puede derivar muestras de predicción llevando a cabo la interpredicción bloque a bloque. La interpredicción puede ser una predicción derivada de una manera que depende de elementos de datos (p. ej., valores de muestra o información de movimiento) de imagen(es) distinta(s) de la imagen actual. Cuando se aplica interpredicción al bloque actual, un bloque predicho (matriz de muestras de predicción) para el bloque actual puede derivarse basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia indicada por un índice de imágenes de referencia. En este caso, para reducir una cantidad de información de movimiento transmitida en el modo de interpredicción, la información de movimiento del bloque actual puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en una correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imágenes de referencia. La información de movimiento puede incluir además información de tipo de interpredicción (predicción L0, predicción L1, predicción Bi, etc.). Cuando se aplica la interpredicción, el bloque vecino puede incluir un bloque vecino espacial que está presente en la imagen actual y un bloque vecino temporal que está presente en la imagen de referencia. Una imagen de referencia que incluye el bloque de referencia y una imagen de referencia que incluye el bloque vecino temporal pueden ser iguales entre sí o diferentes entre sí. El bloque vecino temporal puede denominarse con un nombre como, por ejemplo, un bloque de referencia co-localizado, una CU co-localizada (colCU), etc., y la imagen de referencia que incluye el bloque vecino temporal puede denominarse una imagen co-localizada (colPic). Por ejemplo, una lista de candidatos de información de movimiento puede configurarse basándose en los bloques vecinos del bloque actual y la información de indicador o índice que indica qué candidato se selecciona (usa) para derivar el vector de movimiento y/o el índice de imágenes de referencia del bloque actual puede señalizarse. La interpredicción puede llevarse a cabo basándose en diversos modos de predicción y, por ejemplo, en el caso de un modo de salto y un modo de fusión, la información de movimiento del bloque actual puede ser la misma que la información de movimiento de un bloque vecino. En el caso del modo de salto, la señal residual puede no transmitirse a diferencia del modo de fusión. En el caso de un modo de predicción de vectores de movimiento (MVP), el vector de movimiento del bloque vecino seleccionado se usa como un predictor de vector de movimiento y puede señalizarse una diferencia de vector de movimiento. En este caso, el vector de movimiento del bloque actual puede derivarse usando la suma del predictor de vector de movimiento y la diferencia de vector de movimiento.
[0166] La Figura 7 es un diagrama de flujo que ilustra un método de reconstrucción de bloques basado en interpredicción en un aparato de codificación. El método de la Figura 7 puede incluir las etapas E700, E710, E720, E730 y E740.
[0168] E700 puede llevarse a cabo por el interpredictor 221 del aparato de codificación, y E710 a E730 pueden llevarse a cabo por el procesador 230 residual del aparato de codificación. Específicamente, E710 puede llevarse a cabo por el restador 231 del aparato de codificación, E720 puede llevarse a cabo por el transformador 232 y el cuantificador 233 del aparato de codificación, y E730 puede llevarse a cabo por el descuantificador 234 y el transformador 235 inverso del aparato de codificación. En E700, la información de predicción puede ser derivada por el interpredictor 221 y codificada por el codificador 240 de entropía. La información residual puede derivarse a través de E710 y E720 y codificarse por el codificador 240 de entropía. La información residual es información sobre las muestras residuales. La información residual puede incluir información sobre coeficientes de transformada cuantificados para las muestras residuales. Como se ha descrito más arriba, las muestras residuales pueden derivarse como coeficientes de transformada a través del transformador 232 del aparato de codificación, y los coeficientes de transformada pueden derivarse como coeficientes de transformada cuantificados a través del cuantificador 233. La información sobre los coeficientes de transformada cuantificados puede codificarse por el codificador 240 de entropía a través de un procedimiento de codificación residual.
[0169] El aparato de codificación lleva a cabo la interpredicción en el bloque actual (E700). El aparato de codificación puede derivar el modo de interpredicción y la información de movimiento del bloque actual, y generar muestras de predicción del bloque actual. Aquí, los procedimientos para determinar el modo de interpredicción, derivar información de movimiento y generar muestras de predicción pueden llevarse a cabo simultáneamente, o puede llevarse a cabo un procedimiento antes de otro procedimiento. Por ejemplo, el interpredictor 221 del aparato de codificación puede incluir un determinador de modo de predicción, un derivador de información de movimiento y un derivador de muestra de predicción, y el determinador de modo de predicción puede determinar el modo de predicción para el bloque actual, el derivador de información de movimiento puede derivar la información de movimiento del bloque actual, y el derivador de muestra de predicción puede derivar las muestras de movimiento del bloque actual. Por ejemplo, el interpredictor 221 del aparato de codificación puede buscar un bloque similar al bloque actual dentro de un área predeterminada (área de búsqueda) de imágenes de referencia a través de estimación de movimiento, y puede derivar un bloque de referencia en el cual una diferencia del bloque actual es mínima o una referencia predeterminada o menos. Basándose en esto, puede derivarse un índice de imágenes de referencia que indica una imagen de referencia en la cual está ubicado el bloque de referencia, y puede derivarse un vector de movimiento basándose en una diferencia de posición entre el bloque de referencia y el bloque actual. El aparato de codificación puede determinar un modo aplicado al bloque actual de entre varios modos de predicción. El aparato de codificación puede comparar los costes de distorsión de tasa (RD, por sus siglas en inglés) para los diversos modos de predicción y determinar un modo de predicción óptimo para el bloque actual.
[0171] Por ejemplo, cuando se aplica un modo de salto o un modo de fusión al bloque actual, el aparato de codificación puede construir una lista de candidatos de fusión que se describirá más adelante y derivar un bloque de referencia en el cual una diferencia del bloque actual es mínima o una referencia predeterminada o menos, entre los bloques de referencia indicados por los candidatos de fusión incluidos en la lista de candidatos de fusión. En este caso, se puede seleccionar un candidato de fusión asociado al bloque de referencia derivado, y la información de índice de fusión que indica el candidato de fusión seleccionado se puede generar y señalizar al aparato de decodificación. La información de movimiento del bloque actual puede derivarse usando la información de movimiento del candidato de fusión seleccionado.
[0172] Como otro ejemplo, cuando el modo (A)MVP se aplica al bloque actual, el aparato de codificación construye una lista de candidatos (A)MVP que se describirá más adelante, y usa un vector de movimiento de un candidato de mvp seleccionado, entre candidatos de predictor de vector de movimiento (mvp, por sus siglas en inglés) incluidos en la lista de candidatos de (A)MVP, como un mvp del bloque actual. En este caso, por ejemplo, un vector de movimiento que indica un bloque de referencia derivado por la estimación de movimiento descrita más arriba puede usarse como el vector de movimiento del bloque actual, y un candidato mvp que tiene un vector de movimiento que tiene la diferencia más pequeña del vector de movimiento del bloque actual, entre los candidatos mvp, puede ser el candidato mvp seleccionado. Se puede obtener una diferencia de vector de movimiento (MVD, por sus siglas en inglés) que es una diferencia obtenida restando el mvp del vector de movimiento del bloque actual. En este caso, la información sobre la MVD puede señalizarse al aparato de decodificación. Además, cuando se aplica el modo (A)MVP, el valor del índice de imágenes de referencia puede configurarse como información de índice de imágenes de referencia y señalizarse por separado al aparato de decodificación.
[0173] El aparato de codificación puede derivar muestras residuales basándose en las muestras de predicción (E710). El aparato de codificación puede derivar las muestras residuales comparando muestras originales del bloque actual con las muestras de predicción.
[0174] El aparato de codificación transforma/cuantifica las muestras residuales para obtener coeficientes de transformada cuantificados (E720), y a continuación descuantifica/transforma inversamente los coeficientes de transformada cuantificados de nuevo para obtener muestras residuales (modificadas) (E730). La razón para llevar a cabo la descuantificación/transformación inversa de nuevo después de la transformada/cuantificación es derivar las mismas muestras residuales que las muestras residuales derivadas del aparato de decodificación como se describió más arriba.
[0175] El aparato de codificación puede generar un bloque reconstruido que incluye muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales (modificadas) (E740). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
[0176] Aunque no se muestra, como se ha descrito más arriba, el aparato 100 de codificación puede codificar información de vídeo que incluye información de predicción e información residual. El aparato 100 de codificación puede emitir la información de imagen codificada en forma de un flujo de bits. La información de predicción puede ser información relacionada con un procedimiento de predicción y puede incluir información de modo de predicción (p. ej., indicador de salto, indicador de fusión o índice de modo) e información de movimiento. La información de movimiento puede incluir información de selección de candidatos (p. ej., índice de fusión, indicador mvp o índice mvp) que es información para derivar un vector de movimiento. Además, la información sobre la información de movimiento puede incluir la información de MVD y/o la información de índice de imágenes de referencia descritas anteriormente. Además, la información sobre la información de movimiento puede incluir información que indica si se aplica predicción L0, predicción L1 o predicción bi. La información residual es información sobre muestras residuales. La información residual puede incluir información sobre coeficientes de transformada cuantificados para muestras residuales.
[0177] El flujo de bits de salida puede almacenarse en un medio de almacenamiento (digital) y transmitirse a un aparato de decodificación o puede transmitirse a un aparato de decodificación a través de una red.
[0178] La Figura 8 es un diagrama de flujo que ilustra un método de reconstrucción de bloques basado en interpredicción en un aparato de decodificación. El método de la Figura 8 puede incluir las etapas E800, E810, E820, E830 y E840. El aparato de decodificación puede llevar a cabo una operación correspondiente a la operación llevada a cabo por el aparato de codificación.
[0179] E800 a E820 pueden llevarse a cabo por el interpredictor 332 del aparato de decodificación, y la información de predicción de E800 y la información residual de E830 pueden ser obtenidas del flujo de bits por el decodificador 310 de entropía del aparato de decodificación. El procesador 320 residual del aparato de decodificación puede derivar muestras residuales para el bloque actual en base a la información residual. Específicamente, el descuantificador 321 del procesador 320 residual puede derivar coeficientes de transformada llevando a cabo la descuantificación basándose en los coeficientes de transformada cuantificados derivados basándose en la información residual, y el transformador 322 inverso del procesador residual puede derivar muestras residuales para el bloque actual llevando a cabo una transformada inversa en los coeficientes de transformada. E840 puede llevarse a cabo por el sumador 340 o el reconstructor del aparato de decodificación.
[0180] Específicamente, el aparato de decodificación puede determinar un modo de predicción para el bloque actual basándose en la información de predicción recibida (E800). El aparato de decodificación puede determinar qué modo de interpredicción se aplicará al bloque actual basándose en la información de modo de predicción en la información de predicción.
[0181] Por ejemplo, se puede determinar si el modo de fusión se aplica al bloque actual o si el modo (A)MVP se determina en base al indicador de fusión. Alternativamente, uno de diversos candidatos de modo de interpredicción puede seleccionarse basándose en el índice de modo. Los candidatos de modo de interpredicción pueden incluir modo de salto, modo de fusión y/o modo de (A)MVP, o pueden incluir diversos modos de interpredicción que se describirán más adelante.
[0182] El aparato de decodificación deriva información de movimiento del bloque actual basándose en el modo de interpredicción determinado. Por ejemplo, cuando el modo de salto o el modo de fusión se aplica al bloque actual, el aparato de decodificación puede configurar una lista de candidatos de fusión que se describirá a continuación y seleccionar un candidato de fusión de entre los candidatos de fusión incluidos en la lista de candidatos de fusión. La selección puede llevarse a cabo basándose en la información de selección descrita anteriormente (índice de fusión). La información de movimiento del bloque actual puede derivarse usando la información de movimiento del candidato de fusión seleccionado. La información de movimiento del candidato de fusión seleccionado puede usarse como la información de movimiento del bloque actual.
[0183] Como otro ejemplo, cuando el modo (A)MVP se aplica al bloque actual, el aparato de decodificación puede construir una lista de candidatos (A)MVP que se describirá a continuación y usar un vector de movimiento de un candidato de mvp seleccionado, entre candidatos de predictor de vector de movimiento (mvp) incluidos en la lista de candidatos (A)MVP, como el mvp del bloque actual. La selección puede llevarse a cabo basándose en la información de selección (indicador mvp o índice mvp) descrita más arriba. En este caso, la MVD del bloque actual puede derivarse en base a la información sobre la MVD, y un vector de movimiento del bloque actual puede derivarse en base al mvp del bloque actual y la MVD. Asimismo, el índice de imágenes de referencia del bloque actual puede derivarse basándose en la información de índice de imágenes de referencia. Una imagen indicada por el índice de imágenes de referencia en la lista de imágenes de referencia para el bloque actual puede derivarse como una imagen de referencia referenciada para la interpredicción del bloque actual.
[0184] Mientras tanto, como se describirá a continuación, la información de movimiento del bloque actual puede derivarse sin configurar una lista de candidatos. En este caso, la información de movimiento del bloque actual puede derivarse según un procedimiento descrito en un modo de predicción que se describirá más adelante. En este caso, la configuración de la lista de candidatos como se describió anteriormente puede omitirse. El aparato de decodificación puede generar muestras de predicción para el bloque actual basándose en la información de movimiento del bloque actual (E820). En este caso, la imagen de referencia puede derivarse basándose en el índice de imágenes de referencia del bloque actual, y las muestras de predicción del bloque actual pueden derivarse usando muestras del bloque de referencia indicadas por el vector de movimiento del bloque actual en la imagen de referencia. En este caso, como se describirá a continuación, en algunos casos, se puede llevar a cabo además un procedimiento de filtrado de muestras de predicción en todas o algunas de las muestras de predicción del bloque actual.
[0185] Por ejemplo, el interpredictor 332 del aparato de decodificación puede incluir un determinador de modo de predicción, un derivador de información de movimiento y un derivador de muestra de predicción, y el determinador de modo de predicción puede determinar un modo de predicción para el bloque actual basándose en la información de modo de predicción recibida, el derivador de información de movimiento puede derivar información de movimiento (un vector de movimiento y/o un índice de imágenes de referencia, etc.) del bloque actual basándose en la información recibida en la información de movimiento, y la unidad de derivación de muestra de predicción puede derivar muestras de predicción del bloque actual.
[0186] El aparato de decodificación genera muestras residuales para el bloque actual basándose en la información residual recibida (E830). El aparato de decodificación puede generar muestras reconstruidas para el bloque actual en base a las muestras de predicción y las muestras residuales, y puede derivar un bloque reconstruido que incluye las muestras reconstruidas (E840). Una imagen reconstruida para la imagen actual puede generarse en base al bloque reconstruido.
[0187] Se pueden usar varios modos de interpredicción para la predicción del bloque actual en la imagen. Por ejemplo, se pueden usar varios modos como, por ejemplo, un modo de fusión, un modo de salto, un modo de predicción de vector de movimiento (MVP), un modo afín, un modo de fusión de subbloques y una fusión con el modo MVD (MMVD, por sus siglas en inglés), y similares. Un modo de refinamiento de vector de movimiento del lado del decodificador (DMVR, por sus siglas en inglés), un modo de resolución de vector de movimiento adaptativo (AMVR, por sus siglas en inglés), una predicción bi con ponderación de nivel de CU (BCW, por sus siglas en inglés), un flujo óptico bidireccional (BDOF, por sus siglas en inglés) y similares también pueden usarse como modos adicionales de manera adicional o en su lugar. El modo afín puede denominarse un modo de predicción de movimiento afín. El modo MVP puede denominarse modo de predicción de vector de movimiento avanzada (AMVP, por sus siglas en inglés). En este documento, algunos modos y/o candidatos de información de movimiento derivados por algunos modos pueden incluirse como uno de candidatos de información de movimiento de otros modos. Por ejemplo, un candidato de HMVP puede añadirse como un candidato de fusión en el modo de fusión/salto o puede añadirse como un candidato de mvp en el modo de MVP.
[0189] La información de modo de predicción que indica el modo de interpredicción del bloque actual puede señalizarse del aparato de codificación al aparato de decodificación. La información de modo de predicción puede incluirse en el flujo de bits y recibirse por el aparato de decodificación. La información de modo de predicción puede incluir información de índice que indica uno de múltiples modos candidatos. Alternativamente, el modo de interpredicción puede indicarse a través de señalización jerárquica de información de indicador. En este caso, la información de modo de predicción puede incluir uno o más indicadores. Por ejemplo, se puede señalizar un indicador de salto para indicar si se aplica un modo de salto, y si no se aplica el modo de salto, se puede señalizar un indicador de fusión para indicar si se aplica un modo de fusión, y si no se aplica el modo de fusión, se indica aplicar un modo de MVP o se puede señalizar además un indicador para clasificación adicional. El modo afín puede señalizarse en un modo independiente o puede señalizarse en un modo dependiente del modo de fusión o el modo MVP. Por ejemplo, el modo afín puede incluir un modo de fusión afín y un modo de MVP afín.
[0191] Mientras tanto, la información que indica si la predicción de la lista0 (L0), la predicción de la lista1 (L1) o la predicción bi descritas más arriba se usa en el bloque actual (unidad de codificación actual) puede señalizarse en el bloque actual. La información puede denominarse información de dirección de predicción de movimiento, información de dirección de interpredicción o información de indicación de interpredicción, y puede configurarse/codificarse/señalizarse en forma de, por ejemplo, un elemento sintáctico inter_pred_idc. Es decir, el elemento sintáctico inter_pred_idc puede indicar si la predicción de la lista0 (L0), la predicción de la lista1 (L1) o la predicción bi descritas más arriba se usan para el bloque actual (unidad de codificación actual). En este documento, en aras de la descripción, el tipo de interpredicción (predicción L0, predicción L1 o predicción BI) indicado por el elemento sintáctico inter_pred_idc puede indicarse como una dirección de predicción de movimiento. La predicción L0 puede representarse como pred_L0, la predicción L1 como pred_L1 y la predicción de pares como pred_BI. Por ejemplo, los siguientes tipos de predicción pueden determinarse según el valor del elemento sintáctico inter_pred_idc.
[0193] Tabla 1
[0195]
[0198] Como se describió anteriormente, una imagen puede incluir uno o más segmentos. El segmento puede tener uno de los tipos de segmento que incluyen segmento intra (I), segmento predictivo (P) y segmento predictivo bi (B). El tipo de segmento puede indicarse en base a la información de tipo de segmento. Para bloques en un segmento I, la interpredicción puede no usarse para la predicción y solo puede usarse la intrapredicción. Por supuesto, incluso en este caso, el valor de muestra original puede codificarse y señalizarse sin predicción. Puede usarse intrapredicción o interpredicción para bloques en un segmento P, y solo puede usarse una predicción uni cuando se usa interpredicción. Mientras tanto, puede usarse intrapredicción o interpredicción para bloques en un segmento B, y puede usarse hasta predicción bi cuando se usa interpredicción.
[0200] L0 y L1 pueden incluir imágenes de referencia que se codifican/decodifican previamente antes de la imagen actual. Por ejemplo, L0 puede incluir imágenes de referencia antes y/o después de la imagen actual en el orden de POC, y L1 puede incluir imágenes de referencia después y/o antes de la imagen actual en el orden de POC. En este caso, a L0 se le puede asignar un índice de imágenes de referencia más bajo en relación con las imágenes de referencia anteriores en el orden de POC que las imágenes de referencia actuales, y a L1 se le puede asignar un índice de imágenes de referencia más bajo en relación con las imágenes de referencia anteriores en el orden de POC que la imagen actual. En el caso del segmento B, se puede aplicar predicción bi y, en este caso, se puede aplicar predicción bi unidireccional o se puede aplicar predicción bi bidireccional. La predicción bi bidireccional puede denominarse predicción bi verdadera.
[0202] Como se ha descrito más arriba, un bloque residual (muestras residuales) puede derivarse en base a un bloque predicho (muestras de predicción) derivado a través de la predicción en la etapa de codificación, y las muestras residuales se transforman/cuantifican mediante información residual que puede generarse. La información residual puede incluir información sobre coeficientes de transformada cuantificados. La información residual puede incluirse en información de vídeo/imagen, y la información de vídeo/imagen puede codificarse y transmitirse a un aparato de decodificación en forma de un flujo de bits. El aparato de decodificación puede obtener la información residual del flujo de bits, y puede derivar muestras residuales en base a la información residual. Específicamente, el aparato de decodificación puede derivar coeficientes de transformada cuantificados basándose en la información residual, y puede derivar bloques residuales (muestras residuales) a través de un proceso de descuantificación/transformada inversa.
[0204] Mientras tanto, al menos un proceso de la transformada (inversa) y/o la (des)cuantificación puede omitirse.
[0205] En lo sucesivo, se describirá un proceso de filtrado en bucle llevado a cabo para una imagen reconstruida. Una muestra reconstruida modificada, bloque, imagen (o muestra filtrada modificada, bloque, imagen) puede generarse a través del proceso de filtrado en bucle, y la imagen reconstruida modificada (modificada y filtrada) puede emitirse como una imagen decodificada en el aparato de decodificación y también puede almacenarse en una memoria intermedia de imágenes decodificadas o memoria del aparato de codificación/aparato de decodificación y usarse como una imagen de referencia en el proceso de interpredicción en el momento de codificar/decodificar una imagen más tarde. El proceso de filtrado en bucle puede incluir un proceso de filtrado de desbloqueo, un proceso de desplazamiento adaptativo de muestra (SAO) y/o un proceso de filtro de bucle adaptativo (ALF) como se ha descrito más arriba. En este caso, uno o algunos del proceso de filtrado de desbloqueo, proceso de desplazamiento adaptativo de muestra (SAO), proceso de filtro de bucle adaptativo (ALF) y proceso de filtro bilateral pueden aplicarse secuencialmente o todos pueden aplicarse secuencialmente. Por ejemplo, el proceso de SAO puede llevarse a cabo después de que el proceso de filtrado de desbloqueo se aplique a la imagen reconstruida. O, por ejemplo, el proceso de ALF puede llevarse a cabo después de que el proceso de filtrado de desbloqueo se aplique a la imagen reconstruida. Esto también puede llevarse a cabo en el aparato de codificación.
[0207] El filtrado de desbloqueo es una técnica de filtrado que elimina la distorsión en los límites entre bloques en la imagen reconstruida. El proceso de filtrado de desbloqueo puede, por ejemplo, derivar un límite objetivo de la imagen reconstruida, determinar una intensidad de límite (bS, por sus siglas en inglés) para el límite objetivo y llevar a cabo un filtrado de desbloqueo en el límite objetivo en base a la bS. La bS puede determinarse basándose en un modo de predicción, una diferencia de vector de movimiento, si una imagen de referencia es la misma, si existe un coeficiente significativo distinto de cero, etc., de dos bloques adyacentes al límite objetivo.
[0208] SAO es un método para compensar una diferencia de desplazamiento entre la imagen reconstruida y la imagen original en base a la muestra. Por ejemplo, SAO puede aplicarse basándose en un tipo como, por ejemplo, un desplazamiento de banda, un desplazamiento de borde o similar. Según 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 SAO puede incluir información sobre si se aplica SAO, información de tipo de SAO e información de valor de desplazamiento de SAO. SAO puede aplicarse a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
[0210] El Filtro de Bucle Adaptativo (ALF) es una técnica para filtrar una imagen reconstruida sobre una base de muestra basada en coeficientes de filtro según una forma de filtro. El aparato de codificación puede determinar si aplicar ALF, forma de ALF y/o coeficiente de filtrado de ALF, etc., comparando la imagen reconstruida y la imagen original y puede señalizar al aparato de decodificación. Es decir, la información de filtrado para ALF puede incluir información sobre si se aplica ALF, información de forma de filtro de ALF, información de coeficiente de filtrado de ALF, y similares. ALF puede aplicarse a la imagen reconstruida después de aplicar el filtrado de desbloqueo.
[0212] La Figura 9 muestra un ejemplo de la forma de un filtro ALF.
[0214] En la Figura 9, (a) muestra una forma de un filtro de diamante 7x7, (b) muestra una forma de un filtro de diamante 5x5. En la Figura 9, Cn en la forma de filtro representa un coeficiente de filtro. Cuando n en Cn es el mismo, esto indica que se pueden asignar los mismos coeficientes de filtro. En la presente descripción, una posición y/o unidad a la que se asignan coeficientes de filtro según una forma de filtro de ALF puede denominarse lengüeta de filtro. En este caso, se puede asignar un coeficiente de filtro a cada derivación de filtro, y una disposición de las derivaciones de filtro puede corresponder a una forma de filtro. Una lengüeta de filtro situada en el centro de la forma de filtro puede denominarse lengüeta de filtro central. Los mismos coeficientes de filtro pueden asignarse a dos derivaciones de filtro que tienen el mismo valor n existente en posiciones correspondientes entre sí con respecto a la derivación de filtro central. Por ejemplo, en el caso de una forma de filtro de diamante de 7x7, se incluyen 25 derivaciones de filtro, y dado que los coeficientes de filtro C0 a C11 se asignan en una forma centralmente simétrica, los coeficientes de filtro pueden asignarse a las 25 derivaciones de filtro usando solo 13 coeficientes de filtro. También, por ejemplo, en el caso de una forma de filtro de diamante de 5x5, se incluyen 13 derivaciones de filtro, y dado que los coeficientes de filtro C0 a C5 se asignan en una forma centralmente simétrica, los coeficientes de filtro se asignan a las 13 derivaciones de filtro usando solo 7 coeficientes de filtro. Por ejemplo, para reducir la cantidad de datos de información sobre coeficientes de filtro señalizados, 12 de 13 coeficientes de filtro para la forma de filtro de diamante 7x7 pueden señalizarse (explícitamente), y 1 coeficiente de filtro puede derivarse (implícitamente). Asimismo, por ejemplo, 6 de 7 coeficientes de filtro para una forma de filtro de diamante 5x5 pueden señalizarse (explícitamente) y 1 coeficiente de filtro puede derivarse (implícitamente).
[0215] Según una realización de la presente descripción, un parámetro de ALF usado para el proceso de ALF puede señalizarse a través de un conjunto de parámetros de adaptación (APS). El parámetro de ALF puede derivarse de información de filtro o datos de ALF para el ALF.
[0216] ALF es un tipo de técnica de filtrado en bucle que puede aplicarse en la codificación de vídeo/imagen como se ha descrito más arriba. ALF puede llevarse a cabo usando un filtro adaptativo basado en Wiener. Esto puede ser para minimizar un error cuadrático medio (MSE, por sus siglas en inglés) entre muestras originales y muestras decodificadas (o muestras reconstruidas). Un diseño de alto nivel para una herramienta de ALF puede incorporar elementos sintácticos accesibles en el encabezado de SPS y/o de segmento (o encabezado de grupo de mosaicos).
[0217] En un ejemplo, antes del filtrado para cada bloque de luma de 4x4, las transformaciones geométricas como, por ejemplo, rotación o diagonal e intercambio vertical pueden aplicarse a coeficientes de filtro f(k, l) dependientes de los valores de gradiente calculados para el bloque y los valores de recorte de filtro correspondientes c(k, l). Esto es equivalente a aplicar estas transformadas a las muestras en el área de soporte de filtro. El crear otros bloques a los que se aplica ALF puede ser similar a disponer estos bloques según su direccionalidad.
[0218] Por ejemplo, se pueden llevar a cabo tres transformaciones, diagonal, intercambio vertical y rotación basándose en las siguientes ecuaciones.
[0221]
[0223] En las ecuaciones 1 a 3, K puede ser un tamaño del filtro.0≤k y 1≤K-1 pueden ser coordenadas de coeficientes. Por ejemplo, (0, 0) puede ser la coordenada de esquina superior izquierda, y/o (K-1, K-1) puede ser la coordenada de esquina inferior derecha. La relación entre las transformaciones y los cuatro gradientes en las cuatro direcciones puede resumirse en la tabla siguiente.
[0224] Tabla 2
[0227]
[0229] Los parámetros de filtro de ALF pueden señalizarse en el APS y el encabezado de segmento. En un APS, pueden señalizarse hasta 25 coeficientes de filtro de luma e índices de valor de recorte. En un APS, pueden señalizarse hasta 8 coeficientes de filtro de croma e índices de valor de recorte. Con el fin de reducir la sobrecarga de bits, se pueden fusionar coeficientes de filtro de diferentes clasificaciones para el componente de luma. En el encabezado de segmento, se pueden señalizar los índices de APS (referenciados por el segmento actual) usados para el segmento actual.
[0230] Los índices de valores de recorte decodificados a partir del APS pueden hacer posible determinar valores de recorte usando una tabla de luma de valores de recorte y una tabla de croma de valores de recorte. Estos valores de recorte pueden depender de la profundidad de bits interna. Más específicamente, la tabla de luma de valores de recorte y la tabla de croma de valores de recorte pueden derivarse basándose en las siguientes ecuaciones.
[0233]
[0236] En las ecuaciones anteriores, B puede ser una profundidad de bits interna, y N puede ser el número de valores de recorte permitidos (un número predeterminado). Por ejemplo, N puede ser 4.
[0237] En el encabezado de segmento, pueden señalizarse hasta 7 índices de APS para indicar conjuntos de filtros de luma usados para el segmento actual. El proceso de filtrado puede controlarse además a un nivel de CTB. Por ejemplo, se puede señalizar un indicador que indica si se aplica ALF a CTB de luma. El CTB de luma puede seleccionar uno de los 16 conjuntos de filtros fijos y conjuntos de filtros de los APS. Un índice de conjuntos de filtros puede señalizarse para CTB de luma para indicar qué conjunto de filtros se aplica. Los 16 conjuntos de filtros fijos pueden estar predefinidos y codificados tanto en el codificador como en el decodificador.
[0238] Para el componente de croma, el índice de APS puede señalizarse en el encabezado de segmento para indicar los conjuntos de filtros de croma usados para el segmento actual. A nivel de CTB, cuando hay dos o más conjuntos de filtros de croma en el APS, se puede señalizar un índice de filtros para cada CTB de croma. Los coeficientes de filtro pueden cuantificarse con 128 como norma. Para limitar la complejidad de la multiplicación, se puede aplicar la conformidad del flujo de bits de modo que los valores de coeficiente de la posición no central puedan variar de 0 a 28 y/o los valores de coeficiente de las posiciones restantes puedan estar en el intervalo de -27 a 27-1. El coeficiente de posición central puede no señalizarse en el flujo de bits y puede determinarse (considerarse) previamente como 128.
[0239] Cuando ALF está disponible para el bloque actual, cada muestra R(i, j) puede filtrarse, y un resultado filtrado R'(i, j) puede expresarse mediante la siguiente ecuación.
[0240] [Ecuación 6]
[0242] En la ecuación anterior, f(k, l) pueden ser coeficientes de filtro decodificados, K(x, y) puede ser una función de recorte, y c(k, l) pueden ser parámetros de recorte decodificados. Por ejemplo, las variables k y/o l pueden variar de -L/2 a L/2. Aquí, L puede representar una longitud de filtro. La función de recorte K(x, y)=mín(y, máx(-y, x)) puede corresponder a la función Clip3(-y, y, x).
[0243] En un ejemplo, para reducir el requisito de memoria intermedia de línea de ALF, se puede aplicar clasificación y filtrado de bloques modificados para muestras adyacentes a límites de CTU horizontales. Para ello, pueden definirse límites virtuales.
[0244] La Figura 10 es un diagrama que ilustra un límite virtual aplicado a un proceso de filtrado según una realización del presente documento. La Figura 11 ilustra un ejemplo de un proceso de ALF que usa un límite virtual según una realización de la presente descripción. La Figura 11 se describirá junto con la Figura 10.
[0245] Con referencia a la Figura 10, el límite virtual puede ser una línea definida desplazando el límite de CTU horizontal en N muestras. En un ejemplo, N puede ser 4 para un componente de luma, y/o N puede ser 2 para un componente de croma.
[0246] En la Figura 10, se puede aplicar una clasificación de bloques modificados al componente de luma. Para el cálculo del gradiente laplaciano de 1D de un bloque de 4x4 en un límite virtual, solo se pueden usar muestras por encima del límite virtual. De manera similar, para calcular el gradiente laplaciano de 1D de un bloque de 4x4 por debajo del límite virtual, solo se pueden usar muestras por debajo del límite virtual. La cuantificación de un valor de actividad A puede escalarse en consecuencia, teniendo en cuenta el número reducido de muestras usadas en el cálculo de gradiente laplaciano de 1D.
[0247] Para el proceso de filtrado, se puede usar una operación de relleno simétrico en límites virtuales para los componentes de luma y croma. Con referencia a la Figura 10, cuando una muestra filtrada se ubica por debajo del límite virtual, las muestras vecinas ubicadas por encima del límite virtual pueden rellenarse. Mientras tanto, las muestras correspondientes en el otro lado también pueden rellenarse simétricamente.
[0248] El proceso descrito según la Figura 11 también puede usarse para límites de segmentos, ladrillos y/o mosaicos cuando no hay ningún filtro disponible a lo largo de los límites. Para la clasificación de bloques de ALF, solo se pueden usar muestras contenidas en el mismo segmento, ladrillo y/o mosaico y el valor de actividad se puede escalar en consecuencia. Para el filtrado ALF, se puede aplicar relleno simétrico para cada una de las direcciones horizontal y/o vertical con respecto a los límites horizontal y/o vertical.
[0249] La Figura 12 es un diagrama que ilustra un proceso de filtrado de bucle adaptativo de componentes cruzados (CC-ALF) según una realización del presente documento. El proceso CCALF puede denominarse proceso de filtrado de componentes cruzados.
[0250] En un aspecto, el proceso de ALF puede incluir un proceso de ALF general y un proceso de CCALF. Es decir, el proceso CCALF puede referirse a algunos procesos del proceso ALF. En otro aspecto, el proceso de filtrado puede incluir un proceso de desbloqueo, un proceso SAO, un proceso ALF y/o un proceso CCALF.
[0251] CC-ALF puede refinar cada componente de croma usando valores de muestra de luma. CC-ALF se controla mediante información (de imagen) de un flujo de bits, que incluye (a) información sobre coeficientes de filtro para cada componente de croma y (b) información sobre una máscara que controla la aplicación de filtro a bloques de muestras. Los coeficientes de filtro pueden señalizarse en el APS, y el tamaño de bloque y la máscara pueden señalizarse a nivel de segmento.
[0252] Con referencia a la Figura 12, CC-ALF puede operar aplicando un filtro lineal en forma de diamante ((b) de la Figura 12) al canal de luma para cada componente de croma. Los coeficientes de filtro se transmiten al APS, se escalan en un factor de 210, y se redondean hacia arriba para una representación de punto fijo. La aplicación del filtro puede controlarse a un tamaño de bloque variable y señalizarse mediante un indicador de codificación de contexto recibido para bloques de cada muestra. El tamaño de bloque junto con el indicador habilitado para CC-ALF se puede recibir en el nivel de segmento para cada componente de croma. El tamaño de bloque (para muestras de croma) puede ser de 16x16, 32x32, 64x64 o 128x128.
[0253] En las realizaciones a continuación, se propone un método de re-filtrado o modificación de muestras de croma reconstruidas filtradas por el ALF basándose en las muestras de luma reconstruidas.
[0254] Una realización de la presente descripción se refiere a la transmisión de encendido/apagado de filtro y la transmisión de coeficientes de filtro en CC-ALF. Como se describió anteriormente, la información (elemento sintáctico) en la tabla sintáctica descrita en la presente descripción puede incluirse en la información de imagen/vídeo, puede configurarse/codificarse en el dispositivo de codificación y transmitirse al dispositivo de decodificación en forma de un flujo de bits. El aparato de decodificación puede analizar/decodificar información (elemento sintáctico) en la tabla sintáctica correspondiente. El aparato de decodificación puede llevar a cabo un proceso de decodificación de imagen/vídeo (específicamente, por ejemplo, el proceso CC-ALF) en base a la información decodificada. En lo sucesivo, lo mismo se aplica a otras realizaciones.
[0255] La siguiente tabla muestra alguna sintaxis de información de encabezado de segmento según una realización de la presente descripción.
[0256] Tabla 3
[0258]
[0259]
[0261] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0262] Tabla 4
[0263]
[0264]
[0266] Con referencia a las dos tablas anteriores, cuando sps_cross_component_alf_enabled_flag es 1 en el encabezado de segmento, se puede llevar a cabo el análisis sintáctico de slice_cross_component_alf_cb_enabled_flag para determinar si CC-ALF de Cb se aplica en el segmento. Cuando slice_cross_component_alf_cb_enabled_flag es 1, se aplica CC-ALF al segmento Cb correspondiente, y cuando slice_cross_component_alf_cb_reuse_temporal_layer_filter es 1, el filtro de la misma capa temporal existente puede reutilizarse. Cuando slice_cross_component_alf_cb_enabled_flag es 0, CC-ALF puede aplicarse usando un filtro en el id de conjunto de parámetros de adaptación (APS) correspondiente a través del análisis sintáctico slice_cross_component_alf_cb_aps_id. Slice_cross_component_alf_cb_log2_control_size_minus4 puede significar una unidad de bloque aplicada CC-ALF en el segmento Cb.
[0267] Por ejemplo, cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 0, si se aplica CC-ALF se determina en unidades de 16x16. Cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 1, si se aplica CC-ALF se determina en unidades de 32x32. Cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 2, si se aplica CC-ALF se determina en unidades de 64x64. Cuando el valor de slice_cross_component_alf_cb_log2_control_size_minus4 es 3, si se aplica CC-ALF se determina en unidades de 128x128. Además, la sintaxis de la misma estructura que la de más arriba se usa para CC-ALF Cr.
[0268] La siguiente tabla muestra sintaxis a modo de ejemplo para datos ALF.
[0269] Tabla 5
[0271]
[0272]
[0274] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0275] Tabla 6
[0276]
[0277]
[0278]
[0280] Con referencia a las dos tablas anteriores, los elementos sintácticos CC-ALF no siguen la estructura sintáctica ALF existente (general) sino que se transmiten independientemente y están configurados para aplicarse independientemente. Es decir, CC-ALF puede aplicarse incluso cuando la herramienta de ALF en el SPS está apagada. Se requiere un nuevo diseño de tubería de hardware porque CC-ALF debe poder funcionar independientemente de la estructura de ALF existente. Esto provoca un aumento en el coste de la implementación de hardware y un aumento en el retardo de hardware.
[0281] Además, en el ALF, si se aplican tanto imágenes de luma como de croma se determina en unidades de CTU, y un resultado de la determinación se transmite al decodificador a través de señalización. Sin embargo, si se aplica CC-ALF variable se determina en unidades de 16x16 a 128x128 y esta aplicación puede provocar una colisión entre la estructura de ALF existente y CC-ALF. Esto causa problemas en la implementación de hardware y al mismo tiempo causa un aumento en las memorias intermedias de línea para diversas aplicaciones de CC-ALF variables.
[0282] En la presente descripción, los problemas descritos más arriba en la implementación de hardware de CC-ALF se resuelven aplicando integralmente la estructura sintáctica de CC-ALF a la estructura sintáctica de ALF. Según una realización de la presente descripción, para determinar si se usa (aplica) CC-ALF, un conjunto de parámetros de secuencia (SPS) puede incluir un indicador de habilitación de CC-ALF (sps_ccalf_enabled_flag). El indicador habilitado para CC-ALF puede transmitirse independientemente de un indicador habilitado para ALF (sps_alf_enabled_flag) para determinar si se usa (aplica) ALF.
[0283] La siguiente tabla muestra parte de la sintaxis a modo de ejemplo del SPS según la presente realización.
[0284] Tabla 7
[0287]
[0289] Con referencia a la tabla anterior, CC-ALF puede aplicarse solo cuando ALF está siempre funcionando. Es decir, solo cuando el indicador habilitado para ALF (sps_alf_enabled_flag) es 1, el indicador habilitado para CC-ALF (sps_ccalf_enabled_flag) puede analizarse. CC-ALF y ALF pueden combinarse según la tabla anterior. El indicador habilitado para CC-ALF puede indicar si (y puede estar relacionado con) si CC-ALF está disponible. La siguiente tabla muestra algo de la sintaxis a modo de ejemplo para encabezados de segmento.
[0290] Tabla 8
[0292]
[0293]
[0295] Con referencia a la tabla anterior, el análisis sintáctico de sps_ccalf_enabled_flag puede llevarse a cabo solo cuando sps_alf_enabled_flag es 1. Los elementos sintácticos incluidos en la tabla pueden describirse basándose en la tabla 4. En un ejemplo, la información de imagen codificada por el dispositivo de codificación u obtenida (recibida) por el dispositivo de decodificación puede incluir información de encabezado de segmento (slice_header()). Basándose en una determinación de que el valor del indicador habilitado para CCALF (sps_ccalf_flag) es 1, la información de encabezado de segmento incluye un primer indicador (slice_cross_component_alf_cb_enabeld_flag) relacionado con si CC-ALF está disponible para el componente de color Cb de las muestras de croma reconstruidas filtradas y un segundo indicador (slice_cross_component_alf_cr_enabled_flag) relacionado con si CC-ALF está disponible para el componente de color Cr de las muestras de croma reconstruidas filtradas.
[0296] En un ejemplo, en base a la determinación de que el valor del primer indicador (slice_cross_component_alf_cb_enabeld_flag) es 1, la información de encabezado de segmento puede incluir información de ID (slice_cross_component_alf_cb_aps_id) del primer APS para obtener coeficientes de filtro de componentes cruzados para el componente de color Cb. En base a la determinación de que el valor del segundo indicador (slice_cross_component_alf_cr_enabled_flag ) es 1, la información de encabezado de segmento puede incluir información de ID (slice_cross_component_alf_cr_aps_id) del segundo APS para obtener coeficientes de filtro de componentes cruzados para el componente de color de Cr.
[0297] La siguiente tabla muestra una porción de sintaxis de SPS según otro ejemplo de la presente realización.
[0298] Tabla 9
[0301]
[0302]
[0305] La siguiente tabla muestra a modo de ejemplo una porción de la sintaxis de encabezado de segmento.
[0307] Tabla 10
[0309]
[0312] Con referencia a la Tabla 9, cuando el ChromaArrayType no es 0 y el indicador habilitado para ALF (sps_alf_enabled_flag) es 1, el SPS puede incluir el indicador habilitado para CCALF (sps_ccalf_enabled_flag). Por ejemplo, si ChromaArrayType no es 0, el formato de croma puede no ser monocromático, y un indicador habilitado para CCALF puede transmitirse a través del SPS en base al caso donde el formato de croma no es monocromático.
[0313] Con referencia a la Tabla 9, en base al caso donde ChromaArrayType no es 0, la información sobre CCALF (slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cb_aps_id, slice_cross_component_alf_cr_enabled_flag, slice_cross_component_alf_cr) puede incluirse en la información de encabezado de segmento.
[0314] En un ejemplo, la información de imagen codificada por el dispositivo de codificación u obtenida por el dispositivo de decodificación puede incluir el SPS. El SPS puede incluir un primer indicador habilitado para ALF (sps_alf_enabled_flag) relacionado con si ALF está disponible. Por ejemplo, en base a una determinación de que el valor del primer indicador habilitado para ALF es 1, el SPS puede incluir un indicador habilitado para CCALF relacionado con si el filtrado de componentes cruzados está disponible. En otro ejemplo, si sps_ccalf_enabled_flag no se usa y sps_alf_enabled_flag es 1, la CCALF siempre puede aplicarse (sps_ccalf_enabled_flag = = 1).
[0315] La siguiente tabla muestra una porción de sintaxis de encabezado de segmento según otro ejemplo de esta realización.
[0316] Tabla 11
[0318]
[0320] Con referencia a la tabla anterior, el análisis del indicador habilitado de CCALF (sps_ccalf_enabled_flag) puede llevarse a cabo solo cuando el indicador habilitado de ALF (sps_alf_enabled_flag) es 1.
[0321] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0322] Tabla 12
[0324]
[0326] slice_ccalf_chroma_idc de la tabla anterior puede describirse mediante la semántica de la tabla a continuación.
[0327] Tabla 13
[0329]
[0331] La siguiente tabla muestra una porción de sintaxis de encabezado de segmento según otro ejemplo de esta realización.
[0332] Tabla 14
[0334]
[0335]
[0337] Los elementos sintácticos incluidos en la tabla pueden describirse según la Tabla 12 o la Tabla 13. Además, cuando el formato de croma no es monocromático, la información relacionada con CCALF puede incluirse en el encabezado de segmento.
[0338] La siguiente tabla muestra una porción de sintaxis de encabezado de segmento según otro ejemplo de esta realización.
[0339] Tabla 15
[0341]
[0343] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0344] Tabla 16
[0346]
[0347]
[0349] La siguiente tabla muestra una porción de sintaxis de encabezado de segmento según otro ejemplo de esta realización. Los elementos sintácticos incluidos en la siguiente tabla pueden describirse según la Tabla 12 o la Tabla 13.
[0350] Tabla 17
[0352]
[0354] Con referencia a la tabla anterior, si se aplican la unidad de segmento ALF y CC-ALF puede determinarse de una vez a través de slice_alf_enabled_flag. Después de analizar sintácticamente slice_alf_chroma_idc, cuando el primer indicador habilitado para ALF (sps_alf_enabled_flag) es 1, se puede analizar sintácticamente slice_ccalf_chroma_idc.
[0355] Con referencia a la tabla anterior, si sps_ccalf_enabled_flag es 1 en la información de encabezado de segmento puede determinarse solo cuando slice_alf_enabled_flag es 1. La información de encabezado de segmento puede incluir un segundo indicador habilitado para ALF (slice_alf_enabled_flag) relacionado con si ALF está disponible. En base a una determinación de que el valor del segundo indicador habilitado para ALF (slice_alf_enabled_flag) es 1, CCALF puede estar disponible para el segmento.
[0356] La siguiente tabla muestra a modo de ejemplo una porción de la sintaxis de APS. El elemento sintáctico adaptation_parameter_set_id puede indicar información de identificador (información de ID) del APS.
[0357] Tabla 18
[0359]
[0361] La siguiente tabla muestra sintaxis a modo de ejemplo para datos ALF.
[0362] Tabla 19
[0364]
[0365] Con referencia a las dos tablas anteriores, el APS puede incluir datos de ALF (alf_data()). Un APS que incluye datos de ALF puede denominarse un APS de ALF (APS de tipo de ALF). Es decir, el tipo de APS que incluye datos de ALF puede ser un tipo de ALF. El tipo de APS puede determinarse como información sobre el tipo de APS o un elemento sintáctico (aps_params_type). Los datos de ALF pueden incluir un indicador de señal de filtro Cb (alf_cross_component_cb_filter_signal_flag o alf_cc_cb_filter_signal_flag) relacionado con si se señalizan filtros de componentes cruzados para un componente de color Cb. Los datos de ALF pueden incluir un indicador de señal de filtro de Cr (alf_cross_component_cr_filter_signal_flag o alf_cc_cr_filter_signal_flag) relacionado con si se señalizan los filtros de componentes cruzados para el componente de color de Cr. En un ejemplo, en base al indicador de señal de filtro de Cr, los datos de ALF pueden incluir información (alf_cross_component_cr_coeff_abs) sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color de Cr e información sobre signos (alf_cross_component_cr_coeff_sign) sobre signos de coeficientes de filtro de componentes cruzados para el componente de color de Cr. Basándose en la información sobre los valores absolutos de los coeficientes de filtro de componentes cruzados para el componente de color Cr y la información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cr, pueden derivarse coeficientes de filtro de componentes cruzados para el componente de color Cr.
[0366] En un ejemplo, los datos de ALF pueden incluir información (alf_cross_component_cb_coeff_abs) sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información (alf_cross_component_cb_coeff_sign) sobre signos de coeficientes de filtro de componentes cruzados para el componente de color Cb. Basándose en la información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información sobre signos de coeficientes de filtro de componentes cruzados para el componente de color Cb, pueden derivarse coeficientes de filtro de componentes cruzados para el componente de color Cb.
[0367] La siguiente tabla muestra la sintaxis relacionada con los datos de ALF según otro ejemplo.
[0368] Tabla 20
[0371]
[0372]
[0374] Con referencia a la tabla anterior, después de transmitir por primera vez alf_cross_component_filter_signal_flag, cuando alf_cross_component_filter_signal_flag es 1, se puede transmitir un indicador de señal de filtro de Cb/Cr. Es decir, alf_cross_component_filter_signal_flag integra Cb/Cr para determinar si transmitir coeficientes de filtro CC-ALF.
[0375] La siguiente tabla muestra la sintaxis relacionada con los datos de ALF según otro ejemplo.
[0376] Tabla 21
[0379]
[0380]
[0382] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0383] Tabla 22
[0384]
[0385]
[0387] La siguiente tabla muestra una sintaxis relacionada con datos de ALF según otro ejemplo.
[0388] Tabla 23
[0391]
[0393] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0394] Tabla 24
[0395]
[0397] En las dos tablas anteriores, el orden de binarización exp-Golomb para analizar sintácticamente alf_cross_component_cb_coeff_abs[j] y la sintaxis alf_cross_component_cr_coeff_abs[j] puede definirse por uno de 0 a 9 valores.
[0398] Con referencia a las dos tablas anteriores, los datos de ALF pueden incluir un indicador de señal de filtro Cb (alf_cross_component_cb_filter_signal_flag o alf_cc_cb_filter_signal_flag) relacionado con si se señalizan los filtros de componentes cruzados para un componente de color Cb. Basándose en el indicador de señal de filtro Cb (alf_cross_component_cb_filter_signal_flag), los datos de ALF pueden incluir información (ccalf_cb_num_alt_filters_minus1) relacionada con el número de filtros de componentes cruzados para el componente de color Cb. Basándose en información relacionada con el número de filtros de componentes cruzados para el componente de color Cb, los datos de ALF pueden incluir información (alf_cross_component_cb_coeff_abs) sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información (alf_cross_component_cr_coeff_sign) sobre signos de coeficientes de filtro de componente para el componente de color Cb. Basándose en la información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb y la información sobre signos de coeficientes de filtro de componentes cruzados para el componente de color Cb, pueden derivarse coeficientes de filtro de componentes cruzados para el componente de color Cb.
[0400] En un ejemplo, los datos de ALF pueden incluir un indicador de señal de filtro de Cr (alf_cross_component_cr_filter_signal_flag o alf_cc_cr_filter_signal_flag) relacionado con si se señalizan filtros de componentes cruzados para el componente de color de Cr. Basándose en el indicador de señal de filtro de Cr (alf_cross_component_cr_filter_signal_flag), los datos de ALF pueden incluir información (ccalf_cr_num_alt_filters_minus1) relacionada con el número de filtros de componentes cruzados para el componente de color de Cr. Basándose en la información relacionada con el número de filtros de componentes cruzados para el componente de color Cr, los datos de ALF pueden incluir información (alf_cross_component_cr_coeff_abs) sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cr e información (alf_cross_component_cr_coeff_sign) sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cr. Basándose en la información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cr y la información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cr, pueden derivarse coeficientes de filtro de componentes cruzados para el componente de color Cr.
[0402] La siguiente tabla muestra sintaxis con respecto a una unidad de árbol de codificación según una realización de la presente descripción.
[0404] Tabla 25
[0407]
[0408]
[0410] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0411] Tabla 26
[0413]
[0415] La siguiente tabla muestra una sintaxis de unidad de árbol de codificación según otro ejemplo de esta realización.
[0416] Tabla 27
[0419]
[0421] Con referencia a la tabla anterior, CCALF puede aplicarse en unidades de CTU. En un ejemplo, la información de imagen puede incluir información (coding_tree_unit()) en una unidad de árbol de codificación. La información sobre la unidad de árbol de codificación puede incluir información (ccalf_ctb_flag[0]) sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cb, y/o información (ccalf_ctb_flag[1]) sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cr. Además, la información sobre la unidad de árbol de codificación puede incluir información (ccalf_ctb_filter_alt_idx[0]) sobre un índice de conjunto de filtros de un filtro de componentes cruzados aplicado al bloque actual de un componente de color Cb, y/o información (ccalf_ctb_filter_alt_idx[1]) sobre el índice de conjunto de filtros del filtro de componentes cruzados aplicado al bloque actual de un componente de color Cr. La sintaxis puede transmitirse de manera adaptativa según la sintaxis slice_ccalf_enabled_flag y slice_ccalf_chroma_idc.
[0423] La siguiente tabla muestra una sintaxis de unidad de árbol de codificación según otro ejemplo de esta realización.
[0425] Tabla 28
[0428]
[0431] La siguiente tabla muestra semántica a modo de ejemplo para los elementos sintácticos incluidos en la tabla anterior.
[0432] Tabla 29
[0433]
[0435] La siguiente tabla muestra una sintaxis de unidad de árbol de codificación según otro ejemplo de esta realización. Los elementos sintácticos incluidos en la tabla a continuación se pueden describir según la Tabla 29.
[0436] Tabla 30
[0438]
[0439] En un ejemplo, la información de imagen puede incluir información sobre una unidad de árbol de codificación (coding_tree_unit()). La información sobre la unidad de árbol de codificación puede incluir información sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cb (ccalf_ctb_flag[0]) y/o información (ccalf_ctb_flag[1]) sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cr. Además, la información sobre la unidad de árbol de codificación puede incluir información (ccalf_ctb_filter_alt_idx[0]) sobre un índice de conjuntos de filtros de un filtro de componentes cruzados aplicado al bloque actual de un componente de color Cb, y/o información (ccalf_ctb_filter_alt_idx[1]) sobre el índice de conjuntos de filtros del filtro de componentes cruzados aplicado al bloque actual de un componente de color Cr.
[0440] Las Figuras 13 y 14 muestran esquemáticamente un ejemplo de un método de codificación de vídeo/imagen y componentes relacionados según la(s) realización(es) de la presente descripción.
[0441] El método descrito en la Figura 13 puede llevarse a cabo por el aparato de codificación descrito en la Figura 2 o la Figura 14. Específicamente, por ejemplo, E1300 a E1330 de la Figura 13 pueden llevarse a cabo por el procesador 230 residual del aparato de codificación de la Figura 14, E1340 de la Figura 13 puede llevarse a cabo por el sumador 250 del aparato de codificación de la Figura 14, E1350 de la Figura 13 puede llevarse a cabo por el filtro 260 del aparato de codificación de la Figura 14, y E1360 de la Figura 13 puede llevarse a cabo por el codificador 240 de entropía del aparato de codificación de la Figura 14. Además, aunque no se muestra en la Figura 13, las muestras de predicción o la información relacionada con la predicción pueden ser derivadas por el predictor 220 del aparato de codificación en la Figura 13, y un flujo de bits puede ser generado a partir de información residual o información relacionada con la predicción por el codificador 240 de entropía del aparato de codificación. El método descrito en la Figura 13 puede incluir las realizaciones descritas anteriormente en la presente descripción.
[0442] Con referencia a la Figura 13, el aparato de codificación puede derivar muestras residuales (E1300). El aparato de codificación puede derivar muestras residuales para el bloque actual, y las muestras residuales para el bloque actual pueden derivarse en base a muestras originales y muestras de predicción del bloque actual. Específicamente, el aparato de codificación puede derivar muestras de predicción del bloque actual basándose en el modo de predicción. En este caso, se pueden aplicar varios métodos de predicción descritos en la presente descripción como, por ejemplo, interpredicción o intrapredicción. Las muestras residuales pueden derivarse en base a las muestras de predicción y las muestras originales.
[0443] El aparato de codificación puede derivar coeficientes de transformada (E1310). El aparato de codificación puede derivar 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 DCT, DST, GBT o CNT. El aparato de codificación puede derivar coeficientes de transformada cuantificados (E1320). El aparato de codificación puede derivar coeficientes de transformada cuantificados basándose en un proceso de cuantificación para los coeficientes de transformada. Los coeficientes de transformada cuantificados pueden tener una forma vectorial unidimensional basada en un orden de escaneo de coeficientes.
[0444] El aparato de codificación puede generar información residual (E1330). El aparato de codificación puede generar información residual que indica los coeficientes de transformada cuantificados. La información residual puede generarse a través de diversos métodos de codificación como, por ejemplo, Golomb exponencial, CAVLC, CABAC y similares.
[0445] El aparato de codificación puede generar muestras reconstruidas (E1340). El aparato de codificación puede generar muestras reconstruidas basándose en la información residual. Las muestras reconstruidas pueden generarse añadiendo muestras residuales basadas en información residual a una muestra de predicción. Específicamente, el aparato de codificación puede llevar a cabo la predicción (intra o interpredicción) en el bloque actual, y puede generar muestras reconstruidas basándose en muestras originales y muestras de predicción generadas a partir de la predicción.
[0446] Las muestras reconstruidas pueden incluir muestras de luma reconstruidas y muestras de croma reconstruidas. Específicamente, las muestras residuales pueden incluir muestras de luma residuales y muestras de croma residuales. Las muestras de luma residuales pueden generarse en base a las muestras de luma originales y las muestras de luma predichas. Las muestras de croma residuales pueden generarse en base a las muestras de croma originales y las muestras de croma predichas. El aparato de codificación puede derivar coeficientes de transformada (coeficientes de transformada de luma) para las muestras de luma residuales y/o coeficientes de transformada (coeficientes de transformada de croma) para las muestras de croma residuales. Los coeficientes de transformada cuantificados pueden incluir coeficientes de transformada de luma cuantificados y/o coeficientes de transformada de croma cuantificados.
[0447] El aparato de codificación puede generar información relacionada con ALF y/o información relacionada con CCALF (CCALF) para las muestras reconstruidas (E1350). El aparato de codificación puede generar información relacionada con ALF para las muestras reconstruidas. El aparato de codificación deriva un parámetro relacionado con ALF, que puede aplicarse para filtrar las muestras reconstruidas, y genera información relacionada con ALF. Por ejemplo, la información relacionada con la ALF puede incluir la información relacionada con ALF descrita anteriormente en la presente descripción.
[0448] El dispositivo de codificación puede codificar información de vídeo/imagen (E1360). La información de imagen puede incluir información residual, información relacionada con ALF y/o información relacionada con la CCALF. La información de vídeo/imagen codificada puede emitirse en forma de un flujo de bits. El flujo de bits puede transmitirse al dispositivo de decodificación a través de una red o un medio de almacenamiento.
[0449] En un ejemplo, la información relacionada con CCALF puede incluir un indicador habilitado para CCALF, un indicador relacionado con si CCALF está disponible para un componente de color Cb (o Cr), un indicador de señal de filtro Cb (o Cr) relacionado con si se señalizan filtros de componentes cruzados para un componente de color Cb (o Cr), información relacionada con el número de filtros de componentes cruzados para el componente de color Cb (o Cr), información sobre los valores de los coeficientes de filtro de componentes cruzados para el componente de color Cb (o Cr), información sobre los valores absolutos de los coeficientes de filtro de componentes cruzados para el componente de color Cb (o Cr), información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cb (o Cr), y/o información sobre si se aplica un filtro de componentes cruzados a un bloque actual de un componente de color Cb (o Cr) en la información (sintaxis de unidad de árbol de codificación) en la unidad de árbol de codificación.
[0450] La información de imagen/vídeo puede incluir varios tipos de información según una realización del presente documento. Por ejemplo, la información de imagen/vídeo puede incluir información descrita en al menos una de las Tablas 1 a 30 descritas anteriormente.
[0451] En una realización, la información de imagen puede incluir información de encabezado y un conjunto de parámetros de adaptación (APS). La información de encabezado puede incluir información relacionada con un identificador del APS que incluye los datos de ALF. Por ejemplo, los coeficientes de filtro de componentes cruzados pueden derivarse basándose en los datos de ALF.
[0452] En una realización, la información de imagen puede incluir un conjunto de parámetros de secuencia (SPS). El SPS puede incluir un indicador habilitado para CCALF relacionado con si el filtrado de componentes cruzados está disponible.
[0453] En una realización, el SPS puede incluir un indicador habilitado para ALF (sps_alf_enabled_flag) relacionado con si ALF está disponible. Basándose en la determinación de que el valor del indicador habilitado para ALF es 1, el SPS puede incluir un indicador habilitado para CCALF relacionado con si el filtrado de componentes cruzados está disponible.
[0454] En una realización, la información de imagen puede incluir información de encabezado de segmento. La información de encabezado de segmento puede incluir un indicador habilitado para ALF (slice_alf_enabled_flag) relacionado con si ALF está disponible. Basándose en la determinación de que el valor del indicador habilitado para ALF es 1, puede determinarse si un valor de indicador habilitado para indicador relacionado con si CCALF está disponible es 1. En un ejemplo, CCALF puede estar disponible para el segmento en base a una determinación de que el valor del indicador habilitado para ALF es 1.
[0455] En una realización, la información de encabezado (información de encabezado de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCLF está disponible para el componente de color Cr de las muestras de croma reconstruidas filtradas. En otro ejemplo, en base a una determinación de que el valor del indicador habilitado para ALF (slice_alf_enabled_flag) es 1, la información de encabezado (información de encabezado de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCLF está disponible para el componente de color Cr de las muestras de croma reconstruidas filtradas.
[0456] En una realización, la información de imagen puede incluir conjuntos de parámetros de adaptación (APS). En un ejemplo, la información de encabezado de segmento puede incluir información de ID del primer APS (información relacionada con el identificador del segundo APS) para derivar coeficientes de filtro de componentes cruzados para el componente de color Cb de las muestras de croma reconstruidas filtradas. La información de encabezado de segmento puede incluir información de ID (información relacionada con un identificador del segundo APS) del segundo APS para derivar coeficientes de filtro de componentes cruzados para el componente de color Cr de las muestras de croma reconstruidas filtradas. En otro ejemplo, en base a la determinación de que el valor del primer indicador es 1, la información de encabezado de segmento puede incluir información de ID del primer APS (información sobre un identificador del segundo APS) para derivar coeficientes de filtro de componentes cruzados para el componente de color Cb. Basándose en la determinación de que el valor del segundo indicador es 1, la información de encabezado de segmento puede incluir información de ID del segundo APS (información relacionada con el identificador del segundo APS) para derivar coeficientes de filtro de componentes cruzados para el componente de color de Cr.
[0457] En una realización, los primeros datos de ALF incluidos en el primer APS pueden incluir un indicador de señal de filtro Cb relacionado con si se señalizan los filtros de componentes cruzados para el componente de color Cb. Basándose en el indicador de señal de filtro Cb, los primeros datos de ALF pueden incluir información relacionada con el número de filtros de componentes cruzados para el componente de color Cb. Basándose en información relacionada con el número de filtros de componentes cruzados para el componente de color Cb, los primeros datos de ALF pueden incluir información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información sobre signos de los coeficientes de filtro de componentes cruzados para el componente de color Cb. Basándose en la información sobre la información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información sobre signos de los coeficientes de filtro de componentes cruzados para el componente de color Cb, pueden derivarse los coeficientes de filtro de componentes cruzados para el componente de color Cb. En una realización, la información relacionada con el número de filtros de componentes cruzados para el componente de color Cb puede estar codificada con Golomb exponencial de orden cero (0<ésimo>EG).
[0458] En una realización, los segundos datos de ALF incluidos en el segundo APS pueden incluir un indicador de señal de filtro de Cr relacionado con si se señalizan los filtros de componentes cruzados para el componente de color de Cr. Basándose en el indicador de señal de filtro de Cr, los segundos datos de ALF pueden incluir información relacionada con el número de filtros de componentes cruzados para el componente de color de Cr. Basándose en la información relacionada con el número de filtros de componentes cruzados para el componente de color de Cr, los segundos datos de ALF pueden incluir información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color de Cr e información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color de Cr. Basándose en los valores absolutos de los coeficientes de filtro de componentes cruzados para el componente de color Cr y la información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cr, pueden derivarse los coeficientes de filtro de componentes cruzados para el componente de color Cr. En una realización, la información relacionada con el número de filtros de componentes cruzados para el componente de color Cr puede estar codificada con Golomb exponencial de orden cero (0<ésimo>EG).
[0459] En una realización, la información de imagen puede incluir información sobre una unidad de árbol de codificación. La información sobre la unidad de árbol de codificación puede incluir información sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cb y/o información sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cr.
[0460] En una realización, la información sobre la unidad de árbol de codificación puede incluir información sobre un índice de conjuntos de filtros de un filtro de componentes cruzados aplicado al bloque actual de un componente de color Cb, y/o información sobre un índice de conjuntos de filtros de un filtro de componentes cruzados aplicado al bloque actual de un componente de color Cr.
[0461] Las Figuras 15 y 16 muestran esquemáticamente un ejemplo de un método de decodificación de vídeo/imagen y componentes relacionados según la(s) realización(es) de la presente descripción.
[0462] El método descrito en la Figura 15 puede ser llevado a cabo por el aparato de decodificación ilustrado en la Figura 3 o 16. Específicamente, por ejemplo, E1500 de la Figura 15 puede llevarse a cabo por el decodificador 310 de entropía del aparato de decodificación, E1510 puede llevarse a cabo por el sumador 340 del aparato de decodificación, y E1520 a E1550 pueden llevarse a cabo por el filtro 350 del aparato de decodificación. El método descrito en la Figura 15 puede incluir las realizaciones descritas anteriormente en la presente descripción.
[0463] Con referencia a la Figura 15, el aparato de decodificación puede recibir/obtener información de vídeo/imagen (E1500). La información de vídeo/imagen puede incluir información residual. El aparato de decodificación puede recibir/obtener la información de imagen/vídeo a través de un flujo de bits. En un ejemplo, la información de vídeo/imagen puede incluir además información relacionada con CCAL. Por ejemplo, en un ejemplo, la información relacionada con CCALF puede incluir un indicador habilitado para CCALF, un indicador relacionado con si CCALF está disponible para un componente de color Cb (o Cr), un indicador de señal de filtro Cb (o Cr) relacionado con si se señalizan los filtros de componentes cruzados para un componente de color Cb (o Cr), información relacionada con el número de filtros de componentes cruzados para el componente de color Cb (o Cr), información sobre los valores absolutos de los coeficientes de filtro de componentes cruzados para el componente de color Cb (o Cr), información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cb (o Cr), y/o información sobre si se aplica un filtro de componentes cruzados a un bloque actual de un componente de color Cb (o Cr) en la información (sintaxis de unidad de árbol de codificación) en la unidad de árbol de codificación.
[0464] La información de imagen/vídeo puede incluir varios tipos de información según una realización del presente documento. Por ejemplo, la información de imagen/vídeo puede incluir información descrita en al menos una de las Tablas 1 a 30 descritas anteriormente.
[0465] El aparato de decodificación puede derivar coeficientes de transformada cuantificados. El aparato de decodificación puede derivar coeficientes de transformada cuantificados basándose en la información residual. Los coeficientes de transformada cuantificados pueden tener una forma vectorial unidimensional basada en un orden de escaneo de coeficientes. Los coeficientes de transformada cuantificados pueden incluir coeficientes de transformada de luma cuantificados y/o coeficientes de transformada de croma cuantificados.
[0466] El aparato de decodificación puede obtener coeficientes de transformada. El aparato de decodificación puede derivar coeficientes de transformada basándose en un proceso de descuantificación para los coeficientes de transformada cuantificados. El aparato de decodificación puede derivar coeficientes de transformada de luma a través de descuantificación en base a los coeficientes de transformada de luma cuantificados. El aparato de decodificación puede obtener coeficientes de transformada de croma a través de descuantificación en base a los coeficientes de transformada de croma cuantificados.
[0467] El aparato de decodificación puede generar/derivar muestras residuales. El aparato de decodificación puede derivar muestras residuales en base a un proceso de transformada inversa para los coeficientes de transformada. El aparato de decodificación puede derivar muestras de luma residuales a través de un proceso de transformada inversa basado en los coeficientes de transformada de luma. El aparato de decodificación puede derivar muestras de croma residuales a través de un proceso de transformada inversa basado en los coeficientes de transformada de croma.
[0468] El aparato de decodificación puede generar/derivar muestras de luma reconstruidas y/o muestras de croma reconstruidas (E1510). El aparato de decodificación puede generar muestras de luma reconstruidas y/o muestras de croma reconstruidas basándose en la información residual. El aparato de decodificación puede generar muestras reconstruidas basándose en la información residual. Las muestras reconstruidas pueden incluir muestras de luma reconstruidas y/o muestras de croma reconstruidas. Un componente de luma de las muestras reconstruidas puede corresponder a las muestras de luma reconstruidas, y un componente de croma de las muestras reconstruidas puede corresponder a las muestras de croma reconstruidas. El aparato de decodificación puede generar muestras de luma predichas y/o muestras de croma predichas a través de un proceso de predicción. El aparato de decodificación puede generar muestras de luma reconstruidas basándose en las muestras de luma predichas y las muestras de luma residuales. El aparato de decodificación puede generar muestras de croma reconstruidas basándose en las muestras de croma predichas y las muestras de croma residuales.
[0469] El aparato de decodificación puede obtener coeficientes de filtro ALF para un proceso ALF de las muestras de croma reconstruidas (E1520). Además, el aparato de decodificación puede obtener coeficientes de filtro de ALF para el proceso de ALF de las muestras de luma reconstruidas. Los coeficientes de filtro de ALF pueden derivarse basándose en parámetros de ALF incluidos en los datos de ALF en el APS.
[0470] El aparato de decodificación puede generar muestras de croma reconstruidas filtradas (E1530). El aparato de decodificación puede generar muestras reconstruidas filtradas en base a las muestras de croma reconstruidas y los coeficientes de filtro ALF.
[0471] El aparato de decodificación puede derivar coeficientes de filtro de componentes cruzados para el filtrado de componentes cruzados (E1540). Los coeficientes de filtro de componentes cruzados pueden derivarse basándose en información relacionada con CCALF en los datos de ALF incluidos en el APS mencionado anteriormente, y la información de identificador (ID) del APS correspondiente puede incluirse en el encabezado de segmento (puede señalizarse a través del mismo).
[0472] El aparato de decodificación puede generar muestras de croma reconstruidas filtradas modificadas (E1550). El aparato de decodificación puede generar muestras de croma reconstruidas modificadas y filtradas en base a las muestras de luma reconstruidas, las muestras de croma reconstruidas filtradas y los coeficientes de filtro de componentes cruzados. En un ejemplo, el aparato de decodificación puede derivar una diferencia entre dos muestras entre las muestras de luma reconstruidas, y multiplicar la diferencia por un coeficiente de filtro entre los coeficientes de filtro de componentes cruzados. En base a un resultado de la multiplicación y las muestras de croma reconstruidas filtradas, el aparato de decodificación puede generar las muestras de croma reconstruidas filtradas modificadas. Por ejemplo, el aparato de decodificación puede generar las muestras de croma reconstruidas filtradas modificadas en base a una suma del producto y una de las muestras de croma reconstruidas filtradas.
[0473] En una realización, la información de imagen puede incluir información de encabezado y un conjunto de parámetros de adaptación (APS). La información de encabezado puede incluir información relacionada con un identificador del APS que incluye los datos de ALF. Por ejemplo, los coeficientes de filtro de componentes cruzados pueden derivarse basándose en los datos de ALF.
[0474] En una realización, la información de imagen puede incluir un conjunto de parámetros de secuencia (SPS). El SPS puede incluir un indicador habilitado para CCALF relacionado con si el filtrado de componentes cruzados está disponible.
[0475] En una realización, el SPS puede incluir un indicador habilitado para ALF (sps_alf_enabled_flag) relacionado con si ALF está disponible. Basándose en la determinación de que el valor del indicador habilitado para ALF es 1, el SPS puede incluir un indicador habilitado para CCALF relacionado con si el filtrado de componentes cruzados está disponible.
[0476] En una realización, la información de imagen puede incluir información de encabezado de segmento. La información de encabezado de segmento puede incluir un indicador habilitado para ALF (slice_alf_enabled_flag) relacionado con si ALF está disponible. Basándose en la determinación de que el valor del indicador habilitado para ALF es 1, puede determinarse si el valor del indicador habilitado para CCALF es 1. En un ejemplo, CCALF puede estar disponible para el segmento en base a una determinación de que el valor del indicador habilitado para ALF es 1.
[0477] En una realización, la información de encabezado (información de encabezado de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCLF está disponible para el componente de color Cr de las muestras de croma reconstruidas filtradas. En otro ejemplo, en base a una determinación de que el valor del indicador habilitado para ALF (slice_alf_enabled_flag) es 1, la información de encabezado (información de encabezado de segmento) puede incluir un primer indicador relacionado con si CCALF está disponible para el componente de color Cb de las muestras de croma reconstruidas filtradas y un segundo indicador relacionado con si CCLF está disponible para el componente de color Cr de las muestras de croma reconstruidas filtradas.
[0478] En una realización, la información de imagen puede incluir conjuntos de parámetros de adaptación (APS). En un ejemplo, la información de encabezado de segmento puede incluir información de ID del primer APS (información relacionada con el identificador del segundo APS) para derivar coeficientes de filtro de componentes cruzados para el componente de color Cb de las muestras de croma reconstruidas filtradas. La información de encabezado de segmento puede incluir información de ID (información relacionada con un identificador del segundo APS) del segundo APS para derivar coeficientes de filtro de componentes cruzados para el componente de color Cr de las muestras de croma reconstruidas filtradas. En otro ejemplo, en base a la determinación de que el valor del primer indicador es 1, la información de encabezado de segmento puede incluir información de ID del primer APS (información sobre un identificador del segundo APS) para derivar coeficientes de filtro de componentes cruzados para el componente de color Cb. Basándose en la determinación de que el valor del segundo indicador es 1, la información de encabezado de segmento puede incluir información de ID del segundo APS (información relacionada con el identificador del segundo APS) para derivar coeficientes de filtro de componentes cruzados para el componente de color de Cr.
[0479] En una realización, los primeros datos de ALF incluidos en el primer APS pueden incluir un indicador de señal de filtro Cb relacionado con si se señalizan filtros de componentes cruzados para el componente de color Cb. Basándose en el indicador de señal de filtro Cb, los primeros datos de ALF pueden incluir información relacionada con el número de filtros de componentes cruzados para el componente de color Cb. Basándose en información relacionada con el número de filtros de componentes cruzados para el componente de color Cb, los primeros datos de ALF pueden incluir información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información sobre signos de los coeficientes de filtro de componentes cruzados para el componente de color Cb. Basándose en la información sobre la información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color Cb e información sobre signos de los coeficientes de filtro de componentes cruzados para el componente de color Cb, pueden derivarse los coeficientes de filtro de componentes cruzados para el componente de color Cb. En una realización, la información relacionada con el número de filtros de componentes cruzados para el componente de color Cb puede estar codificada con Golomb exponencial de orden cero (0<ésimo>EG).
[0480] En una realización, los segundos datos de ALF incluidos en el segundo APS pueden incluir un indicador de señal de filtro de Cr relacionado con si se señalizan los filtros de componentes cruzados para el componente de color de Cr. Basándose en el indicador de señal de filtro de Cr, los segundos datos de ALF pueden incluir información relacionada con el número de filtros de componentes cruzados para el componente de color de Cr. Basándose en la información relacionada con el número de filtros de componentes cruzados para el componente de color de Cr, los segundos datos de ALF pueden incluir información sobre valores absolutos de coeficientes de filtro de componentes cruzados para el componente de color de Cr e información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color de Cr. Basándose en los valores absolutos de los coeficientes de filtro de componentes cruzados para el componente de color Cr y la información sobre los signos de los coeficientes de filtro de componentes cruzados para el componente de color Cr, pueden derivarse los coeficientes de filtro de componentes cruzados para el componente de color Cr. En una realización, la información relacionada con el número de filtros de componentes cruzados para el componente de color Cr puede estar codificada con Golomb exponencial de orden cero (0<ésimo>EG).
[0481] En una realización, la información de imagen puede incluir información sobre una unidad de árbol de codificación. La información sobre la unidad de árbol de codificación puede incluir información sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cb y/o información sobre si se aplica un filtro de componentes cruzados al bloque actual de un componente de color Cr.
[0482] En una realización, la información sobre la unidad de árbol de codificación puede incluir información sobre un índice de conjuntos de filtros de un filtro de componentes cruzados aplicado al bloque actual de un componente de color Cb, y/o información sobre un índice de conjuntos de filtros de un filtro de componentes cruzados aplicado al bloque actual de un componente de color Cr.
[0483] Cuando hay una muestra residual para el bloque actual, el aparato de decodificación puede recibir información sobre el residuo para el bloque actual. La información sobre el residuo puede incluir coeficientes de transformada sobre muestras residuales. El aparato de decodificación puede derivar muestras residuales (o matriz de muestras residuales) para el bloque actual en base a la información residual. Específicamente, el aparato de decodificación puede derivar coeficientes de transformada cuantificados basándose en la información residual. Los coeficientes de transformada cuantificados pueden tener una forma vectorial unidimensional basada en un orden de escaneo de coeficientes. El aparato de decodificación puede derivar coeficientes de transformada basándose en un proceso de descuantificación para los coeficientes de transformada cuantificados. El aparato de decodificación puede derivar muestras residuales en base a los coeficientes de transformada.
[0484] El aparato de decodificación puede generar muestras reconstruidas basándose en muestras de (intra) predicción y muestras residuales, y puede derivar un bloque reconstruido o una imagen reconstruida basándose en las muestras reconstruidas. Con más detalle, el aparato de decodificación puede generar muestras reconstruidas basándose en una suma de muestras de (intra) predicción y muestras residuales. A continuación, como se describió anteriormente, el aparato de decodificación puede aplicar un proceso de filtrado en bucle como, por ejemplo, un proceso de filtrado de desbloqueo y/o SAO a la imagen reconstruida para mejorar la calidad subjetiva/objetiva de la imagen si es necesario.
[0485] Por ejemplo, el aparato de decodificación puede obtener información de imagen que incluye toda o parte de la información (o elementos sintácticos) anteriormente descrita decodificando el flujo de bits o la información codificada. Además, el flujo de bits o la información codificada pueden almacenarse en un medio de almacenamiento legible por ordenador, y pueden hacer que se lleve a cabo el método de decodificación descrito anteriormente.
[0486] En la realización descrita anteriormente, los métodos se describen basándose en el diagrama de flujo que tiene una serie de etapas o bloques. La presente descripción no se limita al orden de las etapas o bloques anteriores. Algunas etapas o bloques pueden ocurrir simultáneamente o en un orden diferente de otras etapas o bloques como se describió más arriba. Además, las personas con experiencia en la técnica entenderán que las etapas mostradas en el diagrama de flujo anterior no son excluyentes, que pueden incluirse etapas adicionales, o que pueden eliminarse una o más etapas en el diagrama de flujo sin afectar al alcance de la presente descripción. El método según las realizaciones mencionadas anteriormente del presente documento puede implementarse en forma de software, y el aparato de codificación y/o el aparato de decodificación según el presente documento, por ejemplo, pueden incluirse en el aparato que lleva a cabo el procesamiento de imágenes de una TV, un ordenador, un teléfono inteligente, un decodificador, un dispositivo de visualización, etc.
[0487] Cuando las realizaciones en el presente documento se implementan en software, el método descrito anteriormente puede implementarse como un módulo (proceso, función, etc.) que lleva a cabo la función descrita anteriormente. Un módulo puede almacenarse en una memoria y ejecutarse por un procesador. La memoria puede ser interna o externa al procesador, y puede estar acoplada al procesador por diversos medios conocidos. El procesador puede incluir un circuito integrado para aplicaciones específicas (ASIC, por sus siglas en inglés), otros conjuntos de chips, circuitos lógicos y/o dispositivos de procesamiento de datos. La memoria puede incluir memoria de solo lectura (ROM, por sus siglas en inglés), memoria de acceso aleatorio (RAM, por sus siglas en inglés), memoria flash, tarjetas de memoria, medios de almacenamiento y/u otros dispositivos de almacenamiento. Es decir, las realizaciones descritas en el presente documento pueden implementarse y llevarse a cabo en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales mostradas en cada figura pueden implementarse y llevarse a cabo en un ordenador, un procesador, un microprocesador, un controlador o un chip. En este caso, la información sobre instrucciones o un algoritmo para la implementación puede almacenarse en un medio de almacenamiento digital.
[0488] Además, el aparato de decodificación y el aparato de codificación al que se aplica la presente descripción pueden incluirse en un aparato de transmisión/recepción de radiodifusión multimedia, un terminal de comunicación móvil, un aparato de vídeo de cine en casa, un aparato de vídeo de cine digital, una cámara de vigilancia, un aparato de chat de vídeo, un aparato de comunicación en tiempo real como, por ejemplo, comunicación de vídeo, un aparato de transmisión continua móvil, un medio de almacenamiento, una videocámara, un aparato de provisión de servicio de VoD, un aparato de vídeoOver the top(OTT, por sus siglas en inglés), un aparato de provisión de servicio de transmisión continua de Internet, un aparato de vídeo tridimensional (3D), un aparato de vídeo de teleconferencia, un equipo de usuario de transporte (es decir, equipo de usuario de vehículo, un equipo de usuario de avión, un equipo de usuario de barco, etc.) y un aparato de vídeo médico y pueden usarse para procesar señales de vídeo y señales de datos. Por ejemplo, el aparato de vídeoOver the top(OTT) puede incluir una consola de juegos, un reproductor Blue-ray, una TV de acceso a Internet, un sistema de cine en casa, un teléfono inteligente, un ordenador personal tipo tableta, un grabador de vídeo digital (DVR, por sus siglas en inglés) y similares.
[0489] Además, el método de procesamiento al que se aplica el presente documento puede producirse en forma de un programa que va a ejecutarse por un ordenador y puede almacenarse en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según la presente descripción también pueden almacenarse en medios de grabación legibles por ordenador. Los medios de grabación legibles por ordenador incluyen todos los tipos de dispositivos de almacenamiento en los cuales se almacenan datos legibles por un sistema informático. Los medios de grabación legibles por ordenador pueden incluir BD, un bus universal en serie (USB, por sus siglas en inglés), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, una cinta magnética, un disquete y un dispositivo de almacenamiento de datos óptico, por ejemplo. Además, los medios de grabación legibles por ordenador incluyen medios implementados en forma de ondas portadoras (es decir, transmisión a través de Internet). Además, un flujo de bits generado por el método de codificación puede almacenarse en un medio de grabación legible por ordenador o puede transmitirse a través de redes de comunicación cableadas/inalámbricas.
[0490] Además, las realizaciones del presente documento pueden implementarse con un producto de programa informático según códigos de programa, y los códigos de programa pueden llevarse a cabo en un ordenador mediante las realizaciones del presente documento. Los códigos de programa pueden almacenarse en una portadora que es legible por un ordenador.
[0491] La Figura 17 muestra un ejemplo de un sistema de transmisión continua de contenido al que se pueden aplicar las realizaciones descritas en el presente documento.
[0492] Con referencia a la Figura 17, el sistema de transmisión continua de contenidos al que se aplica(n) la(s) realización(es) del presente documento puede incluir en gran medida un servidor de codificación, un servidor de transmisión continua, un servidor web, un almacenamiento multimedia, un dispositivo de usuario y un dispositivo de entrada multimedia.
[0493] El servidor de codificación comprime el contenido ingresado desde dispositivos de entrada multimedia como, por ejemplo, un teléfono inteligente, una cámara, una videocámara, etc. En datos digitales para generar un flujo de bits y transmitir el flujo de bits al servidor de transmisión continua. Como otro ejemplo, cuando los dispositivos de entrada multimedia como, por ejemplo, teléfonos inteligentes, cámaras, videocámaras, etc. Si directamente se genera un flujo de bits, el servidor de codificación puede omitirse.
[0494] 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 aplica(n) la(s) realización(es) de la presente descripción, y el servidor de transmisión continua puede almacenar temporalmente el flujo de bits en el proceso de transmisión o recepción del flujo de bits. El servidor de transmisión continua transmite los datos multimedia al dispositivo de usuario basándose en una solicitud del usuario a través del servidor web, y el servidor web sirve como un medio para informar al usuario de un servicio. Cuando el usuario solicita un servicio deseado desde el servidor web, el servidor web lo entrega a un servidor de transmisión continua, y el servidor de transmisión continua transmite datos multimedia al usuario. En este caso, el sistema de transmisión continua de contenido puede incluir un servidor de control separado. En este caso, el servidor de control sirve para controlar un comando/respuesta entre dispositivos en el sistema de transmisión continua de contenido.
[0495] El servidor de transmisión continua puede recibir contenido de un almacenamiento de medios y/o un servidor de codificación. Por ejemplo, cuando el contenido se recibe del servidor de codificación, el contenido puede recibirse en tiempo real. En este caso, con el fin de proveer un servicio de transmisión continua suave, el servidor de transmisión continua puede almacenar el flujo de bits durante un tiempo predeterminado.
[0496] Ejemplos del dispositivo de usuario pueden incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de radiodifusión digital, un asistente digital personal (PDA, por sus siglas en inglés), un reproductor multimedia portátil (PMP, por sus siglas en inglés), navegación, un PC de pizarra, PC de tableta,ultrabooks, dispositivos ponibles (p. ej., relojes inteligentes, gafas inteligentes, pantallas montadas en la cabeza), TV digitales, ordenador de sobremesa, señalización digital y similares. Cada servidor en el sistema de transmisión continua de contenidos puede ser operado como un servidor distribuido, en cuyo caso los datos recibidos de cada servidor pueden ser distribuidos.
[0498] Cada servidor en el sistema de transmisión continua de contenidos puede ser operado como un servidor distribuido y, en este caso, los datos recibidos de cada servidor pueden ser distribuidos y procesados.

Claims (4)

1. REIVINDICACIONES
1. Un aparato (300) de decodificación para decodificar imágenes, el aparato (300) de decodificación comprende:
una memoria; y
al menos un procesador conectado a la memoria, el al menos un procesador está configurado para:
adquirir (E1500) información de imagen que incluye información residual a través de un flujo de bits; generar (E1510) muestras de luma reconstruidas y muestras de croma reconstruidas basándose en la información residual;
derivar (E1520) coeficientes de filtro de filtro de bucle adaptativo, ALF, para un proceso ALF de las muestras de croma reconstruidas;
generar (E1530) muestras de croma reconstruidas filtradas basándose en las muestras de croma reconstruidas y los coeficientes de filtro de ALF;
derivar (E1540) coeficientes de filtro de componentes cruzados para filtrado de componentes cruzados; y generar (E1550) muestras de croma reconstruidas filtradas modificas según las muestras de luma reconstruidas, las muestras de croma reconstruidas filtradas y los coeficientes de filtro de componentes cruzados,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS, e información de encabezado de segmento,
en donde el SPS incluye un indicador habilitado para ALF relacionado con si el proceso de ALF está habilitado, en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF es 1, el SPS incluye un indicador habilitado de filtro de bucle adaptativo de componentes cruzados, CCALF, relacionado con si el filtrado de componentes cruzados está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado para ALF en el SPS es 1, la información de encabezado de segmento incluye un indicador habilitado para ALF relacionado con si ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF incluido en la información de encabezado de segmento es 1 y un valor del indicador habilitado de CCALF incluido en el SPS es 1, la información de encabezado de segmento incluye información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas, y
en donde, en respuesta a que un valor de la información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de encabezado de segmento incluye información de identificación, ID, de un conjunto de parámetros de adaptación, APS, relacionada con el CCALF para las muestras de croma reconstruidas filtradas.
2. Un aparato (200) de codificación para codificar imágenes, el aparato (200) de codificación comprende: una memoria; y
al menos un procesador conectado a la memoria, el al menos un procesador está configurado para:
derivar (E1300) muestras residuales para un bloque actual;
derivar (E1310) coeficientes de transformada basados en un proceso de transformada para las muestras residuales;
derivar (E1320) coeficientes de transformada cuantificados basándose en un proceso de cuantificación para los coeficientes de transformada;
generar (E1330) información residual que indica los coeficientes de transformada cuantificados; generar (E1340) muestras reconstruidas basadas en la información residual;
generar (E1350) información relacionada con un filtro de bucle adaptativo, ALF, e información relacionada con un ALF de componentes cruzados, CCALF, para las muestras reconstruidas; y
codificar (E1360) información de imagen que incluye la información residual, la información relacionada con ALF, y la información relacionada con CCALF,
en donde las muestras reconstruidas incluyen muestras de luma reconstruidas y muestras de croma reconstruidas,
en donde el al menos un procesador está configurado además para:
derivar coeficientes de filtro ALF para un proceso ALF de las muestras de croma reconstruidas; generar muestras de croma reconstruidas filtradas basándose en las muestras de croma reconstruidas y los coeficientes de filtro de ALF;
derivar coeficientes de filtro de componentes cruzados para filtrado de componentes cruzados; y generar muestras de croma reconstruidas filtradas modificadas en base a las muestras de luma reconstruidas, las muestras de croma reconstruidas filtradas y los coeficientes de filtro de componentes cruzados,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS, e información de encabezado de segmento,
en donde el SPS incluye un indicador habilitado para ALF relacionado con si el proceso de ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF es 1, el SPS incluye un indicador habilitado de filtro de bucle adaptativo de componentes cruzados, CCALF, relacionado con si el filtrado de componentes cruzados está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado para ALF en el SPS es 1, la información de encabezado de segmento incluye un indicador habilitado para ALF relacionado con si un ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF incluido en la información de encabezado de segmento es 1 y un valor del indicador habilitado de CCALF incluido en el SPS es 1, la información de encabezado de segmento incluye información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas, y
en donde, en respuesta a que un valor de la información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de encabezado de segmento incluye información de identificación, ID, de un conjunto de parámetros de adaptación, APS, asociado a CCALF para las muestras de croma reconstruidas filtradas.
3. Un aparato para almacenar datos para una imagen, el aparato comprende:
al menos un procesador configurado para obtener un flujo de bits, en donde el flujo de bits se genera basándose en:
derivar muestras residuales para un bloque actual;
derivar coeficientes de transformada a partir de un proceso de transformada de las muestras residuales; derivar coeficientes de transformada cuantificados en base a un proceso de cuantificación para los coeficientes de transformada;
generar información residual que indica los coeficientes de transformada cuantificados;
generar muestras reconstruidas a partir de muestras residuales;
generar información relacionada con un filtro de bucle adaptativo, ALF, e información relacionada con un ALF de componentes cruzados, CCALF, para las muestras reconstruidas; y
codificar información de imagen para generar el flujo de bits, en donde la información de imagen incluye
la información residual, la información relacionada con ALF y la información relacionada con CCALF, un medio de almacenamiento configurado para almacenar el flujo de bits,
en donde las muestras reconstruidas incluyen muestras de luma reconstruidas y muestras de croma reconstruidas,
en donde el flujo de bits se genera además basándose en:
derivar coeficientes de filtro ALF para un proceso ALF de las muestras de croma reconstruidas; generar muestras de croma reconstruidas filtradas basándose en las muestras de croma reconstruidas y los coeficientes de filtro de ALF;
derivar coeficientes de filtro de componentes cruzados para filtrado de componentes cruzados; y generar muestras de croma reconstruidas filtradas modificadas en base a las muestras de luma reconstruidas, las muestras de croma reconstruidas filtradas y los coeficientes de filtro de componentes cruzados,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS, e información de encabezado de segmento,
en donde el SPS incluye un indicador habilitado para ALF relacionado con si el proceso de ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF es 1, el SPS incluye un indicador habilitado de filtro de bucle adaptativo de componentes cruzados, CCALF, relacionado con si el filtrado de componentes cruzados está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado para ALF en el SPS es 1, la información de encabezado de segmento incluye un indicador habilitado para ALF relacionado con si un ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF incluido en la información de encabezado de segmento es 1 y un valor del indicador habilitado de CCALF incluido en el SPS es 1, la información de encabezado de segmento incluye información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas, y
en donde, en respuesta a que un valor de la información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de encabezado de segmento incluye información de identificación, ID, de un conjunto de parámetros de adaptación, APS, asociado a CCALF para las muestras de croma reconstruidas filtradas.
4. Un aparato para transmitir datos para una imagen, el aparato comprende:
al menos un procesador configurado para obtener un flujo de bits para la imagen, en donde el flujo de bits se genera basándose en derivar muestras residuales para un bloque actual, derivar coeficientes de transformada basándose en un proceso de transformada para las muestras residuales, derivar coeficientes de transformada cuantificados basándose en un proceso de cuantificación para los coeficientes de transformada, generar información residual que indica los coeficientes de transformada cuantificados, generar muestras reconstruidas basándose en las muestras residuales, generar información relacionada con un filtro de bucle adaptativo, ALF, e información relacionada con un ALF de componentes cruzados, CCALF, para las muestras reconstruidas, y codificar información de imagen que incluye la información residual, la información relacionada con ALF, y la información relacionada con CCALF; y
un transmisor configurado para transmitir los datos que comprenden el flujo de bits,
en donde la información de imagen incluye un conjunto de parámetros de secuencia, SPS, e información de encabezado de segmento,
en donde el SPS incluye un indicador habilitado para ALF relacionado con si el proceso de ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF es 1, el SPS
incluye un indicador habilitado de filtro de bucle adaptativo de componentes cruzados, CCALF, relacionado con si el filtrado de componentes cruzados está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado para ALF en el SPS es 1, la información de encabezado de segmento incluye un indicador habilitado para ALF relacionado con si un ALF está habilitado,
en donde, en respuesta a una determinación de que un valor del indicador habilitado de ALF incluido en la información de encabezado de segmento es 1 y un valor del indicador habilitado de CCALF incluido en el SPS es 1, la información de encabezado de segmento incluye información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas, y
en donde, en respuesta a que un valor de la información sobre si CCALF está habilitado para las muestras de croma reconstruidas filtradas es 1, la información de encabezado de segmento incluye información de identificación, ID, de un conjunto de parámetros de adaptación, APS, asociado a CCALF para las muestras de croma reconstruidas filtradas.
ES24201515T 2019-08-29 2020-08-31 Device and method for coding video on basis of filtering Active ES3059980T3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201962893754P 2019-08-29 2019-08-29

Publications (1)

Publication Number Publication Date
ES3059980T3 true ES3059980T3 (en) 2026-03-24

Family

ID=74685666

Family Applications (2)

Application Number Title Priority Date Filing Date
ES20859150T Active ES2994299T3 (en) 2019-08-29 2020-08-31 Device and method for coding video on basis of filtering
ES24201515T Active ES3059980T3 (en) 2019-08-29 2020-08-31 Device and method for coding video on basis of filtering

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES20859150T Active ES2994299T3 (en) 2019-08-29 2020-08-31 Device and method for coding video on basis of filtering

Country Status (15)

Country Link
US (2) US12108044B2 (es)
EP (3) EP4672758A3 (es)
JP (3) JP7368603B2 (es)
KR (1) KR20220049486A (es)
CN (5) CN120321388A (es)
AU (2) AU2020337710B2 (es)
CA (2) CA3241768A1 (es)
ES (2) ES2994299T3 (es)
FI (1) FI4024859T3 (es)
HR (2) HRP20260067T1 (es)
HU (1) HUE068947T2 (es)
PL (2) PL4024859T3 (es)
RS (1) RS67676B1 (es)
SI (1) SI4024859T1 (es)
WO (1) WO2021040479A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021025168A1 (en) 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
CN120302049A (zh) 2019-08-08 2025-07-11 松下电器(美国)知识产权公司 用于视频编码的系统和方法
WO2021025167A1 (en) 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
HRP20241490T1 (hr) * 2019-08-29 2025-01-03 Lg Electronics Inc. Aparati i metode za kodiranje slike
HUE068947T2 (hu) * 2019-08-29 2025-02-28 Lg Electronics Inc Eszköz és eljárás videokódolásra szûrés alapján
WO2021045130A1 (en) * 2019-09-03 2021-03-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
WO2021083257A1 (en) * 2019-10-29 2021-05-06 Beijing Bytedance Network Technology Co., Ltd. Cross-component adaptive loop filter
WO2021129690A1 (en) * 2019-12-23 2021-07-01 Huawei Technologies Co., Ltd. Cross-component adaptive loop filtering for video coding
US11303914B2 (en) * 2020-01-08 2022-04-12 Tencent America LLC Method and apparatus for video coding
US20230188714A1 (en) * 2020-06-10 2023-06-15 Lg Electronics Inc Image encoding/decoding method and device for signaling aps identifier, and computer-readable recording medium in which bitstream is stored
WO2024058595A1 (ko) * 2022-09-16 2024-03-21 주식회사 케이티 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체
CN120051987A (zh) * 2022-10-12 2025-05-27 抖音视界有限公司 视频编解码中用于自适应环路滤波器的基于多个输入源的扩展抽头
WO2024153069A1 (en) * 2023-01-16 2024-07-25 Mediatek Inc. Method and apparatus of default model derivation for cross-component model merge mode in video coding system
WO2025029091A1 (ko) * 2023-08-03 2025-02-06 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN120434345A (zh) * 2024-02-04 2025-08-05 中兴通讯股份有限公司 视频处理方法、设备及存储介质
WO2025213396A1 (zh) * 2024-04-10 2025-10-16 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
GB2500347B (en) * 2011-05-16 2018-05-16 Hfi Innovation Inc Apparatus and method of sample adaptive offset for luma and chroma components
SI4075799T1 (sl) 2011-06-14 2024-06-28 Lg Electronics Inc Naprava za kodiranje in dekodiranje informacij o sliki
CA3264981A1 (en) 2011-06-24 2025-10-30 Lg Electronics Inc. Image information encoding and decoding method
US9807403B2 (en) * 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
US9451252B2 (en) 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
CN108632611A (zh) * 2012-06-29 2018-10-09 韩国电子通信研究院 视频解码方法、视频编码方法和计算机可读介质
JP6588745B2 (ja) * 2015-06-24 2019-10-09 日本放送協会 シーンチェンジ検出装置、及びそのプログラム
CN109076237A (zh) * 2015-11-18 2018-12-21 联发科技股份有限公司 在视频和图像压缩中使用帧内预测滤波器的帧内预测模式的方法和装置
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US11057624B2 (en) * 2016-10-14 2021-07-06 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US10477240B2 (en) 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
US11350118B2 (en) * 2018-05-30 2022-05-31 Digitalinsights Inc. Image encoding/decoding method and device
GB2586484B (en) 2019-08-20 2023-03-08 Canon Kk A filter
JP7368145B2 (ja) 2019-08-28 2023-10-24 シャープ株式会社 画像符号化装置、および、画像復号装置
US11234010B2 (en) * 2019-08-28 2022-01-25 Qualcomm Incorporated Cross-component adaptive loop filtering for video coding
HUE068947T2 (hu) * 2019-08-29 2025-02-28 Lg Electronics Inc Eszköz és eljárás videokódolásra szûrés alapján
FI4024858T3 (fi) 2019-08-29 2025-09-10 Lg Electronics Inc Komponenttien väliseen adaptiiviseen silmukkasuodatukseen perustuva kuvan koodauslaitteisto ja menetelmä
HRP20241490T1 (hr) 2019-08-29 2025-01-03 Lg Electronics Inc. Aparati i metode za kodiranje slike

Also Published As

Publication number Publication date
EP4460004A2 (en) 2024-11-06
CA3152954A1 (en) 2021-03-04
JP2022545838A (ja) 2022-10-31
PL4460004T3 (pl) 2026-03-16
PL4024859T3 (pl) 2024-12-02
EP4672758A2 (en) 2025-12-31
HUE068947T2 (hu) 2025-02-28
CN120321388A (zh) 2025-07-15
RS67676B1 (sr) 2026-02-27
EP4460004A3 (en) 2025-01-08
AU2020337710A1 (en) 2022-04-14
AU2024202277B2 (en) 2026-02-26
JP2023171603A (ja) 2023-12-01
CN114586349B (zh) 2025-06-03
FI4024859T3 (fi) 2024-11-04
WO2021040479A1 (ko) 2021-03-04
CN120343243A (zh) 2025-07-18
US20220337841A1 (en) 2022-10-20
JP7656003B2 (ja) 2025-04-02
EP4024859B1 (en) 2024-10-02
JP2025089401A (ja) 2025-06-12
SI4024859T1 (sl) 2025-02-28
US12108044B2 (en) 2024-10-01
ES2994299T3 (en) 2025-01-21
US20240422322A1 (en) 2024-12-19
AU2024202277A1 (en) 2024-05-02
KR20220049486A (ko) 2022-04-21
HRP20260067T1 (hr) 2026-02-27
JP7368603B2 (ja) 2023-10-24
EP4672758A3 (en) 2026-01-21
CN120321390A (zh) 2025-07-15
HRP20241452T1 (hr) 2025-01-03
EP4460004B1 (en) 2025-12-24
EP4460004C0 (en) 2025-12-24
EP4024859A1 (en) 2022-07-06
EP4024859A4 (en) 2023-08-23
AU2020337710B2 (en) 2024-01-11
CA3241768A1 (en) 2021-03-04
CN120321389A (zh) 2025-07-15
CN114586349A (zh) 2022-06-03
CA3152954C (en) 2024-10-22
EP4460004B9 (en) 2026-04-15

Similar Documents

Publication Publication Date Title
ES3059980T3 (en) Device and method for coding video on basis of filtering
ES2994118T3 (en) Apparatus and method for coding image
KR102886722B1 (ko) 인루프 필터링 기반 영상 코딩 장치 및 방법
ES3039321T3 (en) Cross-component adaptive loop filtering-based image coding apparatus and method
KR20220044766A (ko) 크로스 컴포넌트 필터링 기반 영상 코딩 장치 및 방법
ES3057716T3 (en) Syntax design method and apparatus for performing coding by using syntax
KR102848127B1 (ko) 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
ES3062673T3 (en) Filtering-based image coding device and method
ES3046821T3 (en) Device for removing redundant syntax from merge data syntax
ES3056657T3 (en) Filtering-based image coding methods
EP4554218A1 (en) Illumination compensation-based image encoding/decoding method and apparatus, and recording medium storing bitstream
CN114586354A (zh) 基于矩阵的帧内预测设备和方法