ES2954232T3 - Método de codificación de video basado en transformada secundaria y dispositivo para el mismo - Google Patents

Método de codificación de video basado en transformada secundaria y dispositivo para el mismo Download PDF

Info

Publication number
ES2954232T3
ES2954232T3 ES19900872T ES19900872T ES2954232T3 ES 2954232 T3 ES2954232 T3 ES 2954232T3 ES 19900872 T ES19900872 T ES 19900872T ES 19900872 T ES19900872 T ES 19900872T ES 2954232 T3 ES2954232 T3 ES 2954232T3
Authority
ES
Spain
Prior art keywords
transform
region
transform coefficients
matrix
coefficients
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
ES19900872T
Other languages
English (en)
Inventor
Moonmo Koo
Seunghwan Kim
Jaehyun Lim
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 ES2954232T3 publication Critical patent/ES2954232T3/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Peptides Or Proteins (AREA)
  • Lubricants (AREA)
  • Treatment Of Liquids With Adsorbents In General (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

Un método de decodificación de vídeo según el presente documento se caracteriza por comprender: una etapa para derivar coeficientes de transformación mediante cuantificación inversa sobre la base de coeficientes de transformación cuantificados para un bloque objetivo; una etapa para derivar coeficientes de transformación modificados basándose en una transformada secundaria reducida inversa (RST) de los coeficientes de transformación; y una etapa para generar una imagen reconstruida sobre la base de muestras residuales para el bloque objetivo sobre la base de una transformación primaria inversa de los coeficientes de transformación modificados, en donde el RST inverso usando una matriz de núcleo de transformación se realiza sobre los coeficientes de transformación de la parte superior. la región 4x4 izquierda de una región 8x8 del bloque objetivo, y los coeficientes de transformación modificados de la región 4x4 superior izquierda, la región 4x4 superior derecha y la región 4x4 inferior izquierda de la región 8x8 se derivan a través del RST inverso. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método de codificación de video basado en transformada secundaria y dispositivo para el mismo
Campo técnico
La presente descripción se refiere en general a una tecnología de codificación de imágenes y, más particularmente, a un método de codificación de imágenes basado en una transformada en un sistema de codificación de imágenes y un aparato para el mismo.
Técnica relacionado
Hoy en día, la demanda de imágenes/videos de alta resolución y alta calidad, como 4K, 8K o más imágenes/videos de ultra alta definición (UHD), ha ido en aumento en varios campos. A medida que los datos de imagen/video adquieren mayor resolución y mayor calidad, la cantidad de información transmitida o la cantidad de bits aumenta en comparación con los datos de imagen convencionales. Por lo tanto, cuando se transmiten datos de imagen usando un medio tal como una línea de banda ancha cableada/inalámbrica convencional o se almacenan usando datos de imagen/video un medio de almacenamiento existente, el coste de transmisión y el coste de almacenamiento correspondiente aumentan.
Además, hoy en día, el interés y la demanda de medios inmersivos como realidad virtual (VR), contenido de realidad artificial (AR) u holograma, o similares, está aumentando, y la difusión de imágenes/videos que tienen características de imagen diferentes a las de las imágenes reales, tal como una imagen de juego está aumentando.
Por consiguiente, existe la necesidad de una técnica de compresión de imagen/video altamente eficiente para comprimir y transmitir o almacenar y reproducir de forma eficaz información de imágenes/videos de alta resolución y alta calidad que tengan diversas características, como se ha descrito anteriormente.
Se puede encontrar técnica anterior en el documento de Koo M et al, "Description of SDR video coding technology proposal by LG Electronics", JVET-J0017-v2.
Compendio
Las realizaciones de la invención se definen en las reivindicaciones adjuntas.
De acuerdo con la presente descripción, es posible aumentar la eficiencia de una transformada secundaria optimizando la matriz de núcleo de transformada aplicada a la transformada secundaria.
Breve descripción de los dibujos
La figura 1 ilustra esquemáticamente un ejemplo de un sistema de codificación de video/imagen al que es aplicable la presente descripción.
La figura 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de video/imagen al que es aplicable la presente descripción.
La figura 3 es un diagrama que ilustra esquemáticamente una configuración de un aparato de decodificación de video/imagen al que es aplicable la presente descripción.
La figura 4 ilustra esquemáticamente una técnica de transformada múltiple según una realización de la presente descripción.
La figura 5 ilustra modos intra direccionales de 65 direcciones de predicción.
La figura 6 es un diagrama que ilustra una RST según una realización de la presente descripción.
La figura 7 es un diagrama que ilustra un orden de exploración de coeficientes de transformada según una realización de la presente descripción.
La figura 8 es un diagrama de flujo que ilustra un proceso de RST inversa según una realización de la presente descripción.
La figura 9 es un diagrama de flujo que ilustra una operación de un aparato de decodificación de video según una realización de la presente descripción.
La figura 10 es un diagrama de flujo de control que ilustra una RST inversa según una realización de la presente descripción.
La figura 11 es un diagrama de flujo que ilustra una operación de un aparato de codificación de video según una realización de la presente descripción.
La figura 12 es un diagrama de flujo de control que ilustra una RST según una realización de la presente descripción.
La figura 13 ilustra la estructura de un sistema de transmisión continua de contenido al que se aplica la presente descripción.
Descripción de realizaciones a modo de ejemplo
Si bien la presente descripción puede ser susceptible de varias modificaciones e incluir varias realizaciones, en los dibujos se han mostrado realizaciones específicas de la misma a modo de ejemplo y se describirán en detalle a continuación. Sin embargo, esto no pretende limitar la presente descripción a las realizaciones específicas dadas a conocer en este documento. La terminología utilizada en este documento tiene el propósito de describir realizaciones específicas solamente y no pretende limitar la idea técnica de la presente descripción. Las formas singulares pueden incluir las formas plurales a menos que el contexto indique claramente lo contrario. Los términos como "incluyen" y "tienen" pretenden indicar que existen características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos utilizados en la siguiente descripción y, por lo tanto, no debe entenderse que se excluye de antemano la posibilidad de existencia o adición de uno o más diferentes características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos.
Al mismo tiempo, cada componente en los dibujos descritos en este documento se ilustra independientemente para facilitar la descripción en cuanto a funciones características diferentes entre sí y, sin embargo, esto no significa que cada componente esté realizado por un hardware o software independiente. Por ejemplo, cualesquiera dos o más de estos componentes pueden combinarse para formar un único componente, y cualquier único componente puede dividirse en una pluralidad de componentes.
A continuación, las realizaciones preferidas de la presente descripción se explicarán con más detalle haciendo referencia a los dibujos adjuntos. Además, se utilizan los mismos signos de referencia para los mismos componentes en los dibujos y se omitirán las descripciones repetidas para los mismos componentes.
Este documento se refiere a codificación de video/imagen. Por ejemplo, el método/ejemplo dado a conocer en este documento puede referirse a un estándar VVC (codificación de video versátil) (ITU-T Rec. H.266), un estándar de codificación de video/imagen de próxima generación posterior a VVC, u otros estándares de codificación de video relacionados (por ejemplo, estándar HEVC (codificación de video de alta eficiencia) (ITU-T Rec. H.265), estándar EVC (codificación de video esencial), estándar AVS2, etc.).
En este documento, se puede proporcionar una variedad de realizaciones relacionadas con la codificación de video/imagen y, a menos que se especifique lo contrario, las realizaciones pueden combinarse entre sí y ejecutarse. En este documento, un video puede significar un conjunto de una serie de imágenes a lo largo del tiempo. En general, una imagen significa una unidad que representa una imagen en una zona horaria específica, y un segmento/tesela es una unidad que constituye una parte de la imagen. El segmento/tesela puede incluir una o más unidades de árbol de codificación (CTU). Una imagen puede estar constituida por una o más rebanadas/teselas. Una imagen puede estar constituida por uno o más grupos de teselas. Un grupo de teselas puede incluir una o más teselas.
Un píxel o un pel puede significar la unidad más pequeña que constituye una imagen. Además, 'muestra' puede usarse como un término correspondiente a un píxel. Una muestra generalmente puede representar un píxel o un valor de un píxel, y puede representar solo un valor de píxel/píxel de un componente de luma o solo un valor de píxel/píxel de un componente de croma. Alternativamente, la muestra puede referirse a un valor de píxel en el dominio espacial, o cuando este valor de píxel se convierte al dominio de frecuencia, puede referirse a un coeficiente de transformada en el dominio de frecuencia.
Una unidad puede representar la unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (por ejemplo, cb, cr). La unidad y un término como bloque, área o similar pueden usarse uno en lugar del otro según las circunstancias. En un caso general, un bloque M x N puede incluir un conjunto de muestras (o conjuntos de muestras) o coeficientes de transformada que consisten en M columnas y N filas.
En este documento, el término "/" y "," debe interpretarse que indica "y/o". Por ejemplo, la expresión "A/B" puede significar "A y/o B". Además, "A, B" puede significar "A y/o B". Además, "A/B/C" puede significar "al menos uno de A, B y/o C". Además, "A/B/C" puede significar "al menos uno de A, B y/o C".
Además, en el documento, el término "o" debe interpretarse que indica "y/o". Por ejemplo, la expresión "A o B" puede incluir 1) solo A, 2) solo B y/o 3) tanto A como B. En otras palabras, el término "o" en este documento debe interpretarse que indica " además o alternativamente”. "
La figura 1 ilustra esquemáticamente un ejemplo de un sistema de codificación de video/imagen al que es aplicable la presente descripción.
Haciendo referencia a la figura 1, el sistema de codificación de video/imagen puede incluir un primer dispositivo (dispositivo fuente) y un segundo dispositivo (dispositivo receptor). El dispositivo fuente puede entregar información o datos de video/imagen codificados en forma de un archivo o de transmisión continua al dispositivo receptor por medio de un medio de almacenamiento digital o una red.
El dispositivo fuente puede incluir una fuente de video, un aparato de codificación y un transmisor. El dispositivo receptor puede incluir un receptor, un aparato de decodificación y un representador. El aparato de codificación puede denominarse aparato de codificación de video/imagen, y el aparato de decodificación puede denominarse aparato de decodificación de video/imagen. El transmisor puede estar incluido en el aparato de codificación. El receptor puede estar incluido en el aparato de decodificación. El representador puede incluir una pantalla, y la pantalla puede configurarse como un dispositivo separado o un componente externo.
La fuente de video puede obtener un video/imagen a través de un proceso de captura, síntesis o generación de un video/imagen. La fuente de video puede incluir un dispositivo de captura de video/imagen y/o un dispositivo de generación de video/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, o similares. El dispositivo de generación de video/imagen puede incluir, por ejemplo, un ordenador, una tableta y un teléfono inteligente, y puede generar (electrónicamente) un video/imagen. Por ejemplo, se puede generar una imagen/video virtual por medio de un ordenador o similar. En este caso, el proceso de captura de video/imagen puede ser reemplazado por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar un video/imagen de entrada. El aparato de codificación puede realizar una serie de procedimientos tales como predicción, transformada y cuantificación para la eficiencia de compresión y codificación. Los datos codificados (información de video/imagen codificada) pueden salir en forma de flujo de bits. El transmisor puede transmitir la información o datos de video/imagen codificada entregados en forma de flujo de bits al receptor del dispositivo receptor a través de un medio de almacenamiento digital o una red, en forma de archivo o de transmisión continua. El medio de almacenamiento digital puede incluir varios medios de almacenamiento, como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. El transmisor puede incluir un elemento para generar un archivo de medios a través de un formato de archivo predeterminado y puede incluir un elemento para 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/extraído al aparato de decodificación.
El aparato de decodificación puede decodificar un video/imagen realizando una serie de procedimientos tales como descuantificación, transformada inversa, predicción y similares correspondientes a la operación del aparato de codificación.
El representador puede representar el video/imagen decodificado. El video/imagen representado puede mostrarse por medio de la pantalla.
La figura 2 es un diagrama que ilustra esquemáticamente una configuración de un aparato de codificación de video/imagen al que es aplicable la presente descripción. En lo sucesivo, lo que se denomina aparato de codificación de video puede incluir un aparato de codificación de imágenes.
Haciendo referencia a la figura 2, el aparato de codificación 200 puede incluir un divisor de imagen 210, un predictor 220, un procesador de residuos 230, un codificador de entropía 240, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un predictor inter 221 y un predictor intra 222. El procesador de residuos 230 puede incluir un transformador 232, un cuantificador 233, un descuantificador 234, un transformador inverso 235. El procesador de residuos 230 puede incluir además un restador 231. El sumador 250 puede denominarse reconstructor o bloque reconstruido generador. El divisor de imagen 210, el predictor 220, el procesador de residuos 230, el codificador de entropía 240, el sumador 250 y el filtro 260, que se han descrito anteriormente, pueden estar constituidos por uno o más componentes de hardware (por ejemplo, conjuntos de chips codificadores o procesadores) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes decodificadas (DPB) y puede estar constituida por un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El divisor de imágenes 210 puede dividir una imagen de entrada (o un cuadro) introducida al aparato de codificación 200, en una o más unidades de procesamiento. Como ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU). En este caso, comenzando con una unidad de árbol de codificación (CTU) o la unidad de codificación mayor (LCU), la unidad de codificación puede dividirse recursivamente de acuerdo con la estructura de árbol cuaternario árbol binario árbol cuaternario (QTBTTT). Por ejemplo, una unidad de codificación puede dividirse en una pluralidad de unidades de codificación de mayor profundidad en base a la estructura de árbol cuaternario, la estructura de árbol binario y/o la estructura ternaria. En este caso, por ejemplo, la estructura de árbol cuaternario se puede aplicar primero y la estructura de árbol binario y/o la estructura ternaria se pueden aplicar después. Alternativamente, la estructura de árbol binario se puede aplicar primero. El procedimiento de codificación de acuerdo con la presente descripción se puede realizar basándose en la unidad de codificación final, que no se divide más. En este caso, la unidad de codificación máxima puede usarse directamente como unidad de codificación final en función de la eficiencia de codificación según la característica de la imagen. Alternativamente, la unidad de codificación puede dividirse recursivamente en unidades de codificación de mayor profundidad según sea necesario, de modo que la unidad de codificación de un tamaño óptimo pueda usarse como unidad de codificación final. Aquí, el procedimiento de codificación puede incluir procedimientos tales como predicción, transformada y reconstrucción, que se describirán más adelante. Como otro ejemplo, la unidad de procesamiento puede incluir además una unidad de predicción (PU) o una unidad de transformada (TU). En este caso, la unidad de predicción y la unidad de transformada pueden dividirse a partir de la unidad de codificación final descrita anteriormente. La unidad de predicción puede ser una unidad de predicción de muestra, y la unidad de transformada puede ser una unidad para obtener un coeficiente de transformada y/o una unidad para obtener una señal residual a partir de un coeficiente de transformada.
La unidad y un término tal como bloque, área o similar pueden usarse uno en lugar del otro según las circunstancias. En un caso general, un bloque M x N puede representar un conjunto de muestras o coeficientes de transformada que consta de M columnas y N filas. La muestra puede representar, en general, un píxel o un valor de un píxel, y puede representar solo un valor de píxel/píxel de un componente de luma, o solo un valor de píxel/píxel de un componente de croma. La muestra puede usarse como un término correspondiente a un píxel o un pel de una imagen.
El restador 231 resta una señal de predicción (bloque predicho, conjunto de muestras de predicción) emitida desde el predictor inter 221 o el predictor intra 222 de una señal de imagen de entrada (bloque original, conjunto de muestras original) para generar una señal residual (bloque residual, conjunto de muestras residuales), y la señal residual generada se transmite al transformador 232. En este caso, como se muestra, una unidad que resta la señal de predicción (bloque predicho, conjunto de muestras de predicción) de la señal de imagen de entrada (bloque original, conjunto de muestras original) en el codificador 200 puede denominarse el restador 231. El predictor puede realizar predicción sobre un bloque objetivo de procesamiento (en adelante, denominado "bloque actual"), y puede generar un bloque predicho que incluye muestras de predicción para el bloque actual. El predictor puede determinar si se aplica predicción intra o predicción inter por CU o bloque actual. Como se analiza 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 información del modo de predicción, y transmitir la información generada al codificador de entropía 240. La información sobre la predicción puede codificarse en el codificador de entropía 240 y emitirse en forma de flujo de bits.
El predictor intra 222 puede predecir el bloque actual haciendo referencia a muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en el entorno, o apartadas del bloque actual de acuerdo con el modo de predicción. En la predicción intra, los modos de predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. Los modos no direccionales pueden incluir, por ejemplo, un modo DC 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 simplemente un ejemplo, y se pueden usar más o menos modos de predicción direccionales dependiendo de la configuración. El predictor intra 222 puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
El predictor inter 221 puede obtener un bloque predicho para el bloque actual en base a un bloque de referencia (conjunto de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este momento, para reducir la cantidad de información de movimiento transmitida en el modo de predicción inter, la información de movimiento puede predecirse por bloque, subbloque o muestra en base a la correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de predicción inter (predicción L0, predicción L1, predicción Bi, etc.). En el caso de predicción inter, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal pueden ser iguales entre sí o diferentes entre sí. El bloque vecino temporal puede denominarse bloque de referencia coubicado, CU coubicada (colCU), y similares, y la imagen de referencia que incluye el bloque vecino temporal puede denominarse imagen coubicada (colPic). Por ejemplo, el predictor inter 221 puede configurar una lista de candidatos de información de movimiento basada en bloques vecinos y generar información que indique qué candidato se usa para obtener un vector de movimiento y/o un índice de imagen de referencia del bloque actual. La predicción inter puede realizarse en base a varios modos de predicción. Por ejemplo, en el caso de un modo de salto y un modo de fusión, el predictor inter 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, es posible que la señal residual no se transmita. En el caso del modo de predicción de información de movimiento (predicción de vector de movimiento, MVP), el vector de movimiento del bloque vecino puede usarse como predictor de vector de movimiento y el vector de movimiento del bloque actual puede indicarse señalizando una diferencia de vectores de movimiento.
El predictor 220 puede generar una señal de predicción basada en varios métodos de predicción. Por ejemplo, el predictor puede aplicar predicción intra o predicción inter para la predicción en un bloque y, también, puede aplicar predicción intra e predicción inter al mismo tiempo. Esto puede denominarse predicción inter e intra combinada (CIIP). Además, el predictor puede basarse en un modo de predicción de copia de bloque intra (IBC), o un modo de paleta para realizar la predicción en un bloque. El modo de predicción de IBC o el modo de paleta se puede usar para la codificación de imágenes/video de contenido de un juego o similar tal como la codificación de contenido de pantalla (SCC). Aunque la IBC básicamente realiza predicción sobre un bloque actual, se puede realizar de manera similar a la predicción inter en el sentido de que deriva un bloque de referencia en un bloque actual. Es decir, la IBC puede usar al menos una de las técnicas de predicción inter descritas en la presente descripción.
La señal de predicción generada a través del predictor inter 221 y/o el predictor intra 222 puede usarse para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada aplicando una técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada puede incluir al menos una de una transformada de coseno discreta (DCT), una transformada de seno discreta (DST), una transformada de Karhunen-Loeve (KLT), una transformada basada en gráficos (GBT) o una transformada condicionalmente no-lineal (CNT). Aquí, GBT significa transformada obtenida de un gráfico cuando la información de relación entre píxeles está representada por el gráfico. La CNT se refiere a la transformada obtenida en base a una señal de predicción generada utilizando todos los píxeles previamente reconstruidos. Además, el proceso de transformada se puede aplicar a bloques de píxeles cuadrados que tienen el mismo tamaño o se puede aplicar a bloques que tienen un tamaño variable en lugar del cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador de entropía 240, y el codificador de entropía 240 puede codificar la señal cuantificada (información sobre los coeficientes de transformada cuantificados) y emitir la señal codificada en 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 vectorial unidimensional en función de un orden de exploración de coeficientes, y generar información sobre los coeficientes de transformada cuantificados en función de los coeficientes de transformada cuantificados de la forma vectorial unidimensional. El codificador de entropía 240 puede realizar varios métodos de codificación tales como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptable al contexto (CAVLC), codificación aritmética binaria adaptable al contexto (CABAC) y similares. El codificador de entropía 240 puede codificar información necesaria para la reconstrucción de video/imagen distinta de los coeficientes de transformada cuantificados (por ejemplo, valores de elementos de sintaxis, etc.), conjuntamente o por separado. La información codificada (por ejemplo, información de video/imagen codificada) puede transmitirse o almacenarse en base a una unidad de una capa de abstracción de red (NAL) en forma de un flujo de bits. La información de video/imagen puede incluir además información sobre varios conjuntos de parámetros, como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de video (VPS) o similares. Además, la información de video/imagen puede incluir además información de restricción general. En la presente descripción, los elementos de información y/o de sintaxis que se transmiten/señalizan al aparato de decodificación desde el aparato de codificación pueden incluirse en la información de video/imagen. La información de video/imagen puede codificarse a través del procedimiento 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 almacenarse en un medio de almacenamiento digital. Aquí, la red puede incluir una red de difusión, una red de comunicación y/o similar, y el medio de almacenamiento digital puede incluir varios medios de almacenamiento como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no mostrado) que transmite una señal emitida desde el codificador de entropía 240 y/o un almacenamiento (no mostrado) que la almacena puede configurarse como un elemento interno/externo del aparato de codificación 200, o el transmisor puede estar incluido en el codificador de entropía 240.
Los coeficientes de transformada cuantificados emitidos desde el cuantificador 233 pueden usarse para generar una señal de predicción. Por ejemplo, aplicando descuantificación y transformada inversa a los coeficientes de transformada cuantificados por medio del descuantificador 234 y el transformador inverso 235, la señal residual (bloque residual o muestras residuales) puede reconstruirse. El sumador 155 suma la señal residual reconstruida a una señal de predicción emitida desde el predictor inter 221 o el predictor intra 222, de modo que se puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido, conjunto de muestras reconstruida). Cuando no hay residuos para un bloque objetivo de procesamiento como en el caso en que se aplica el modo de salto, el bloque predicho puede usarse como un bloque reconstruido. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada se puede usar para la predicción intra de un siguiente bloque objetivo de procesamiento en el bloque actual y, como se describe más adelante, se puede usar para la predicción inter de una imagen siguiente por medio de filtrado.
Al mismo tiempo, en el proceso de codificación y/o reconstrucción de imágenes, se puede aplicar el mapeo de luma con escala de croma (LMCS).
El filtro 260 puede mejorar la calidad de video subjetiva/objetiva aplicando el filtrado a la señal reconstruida. Por ejemplo, el filtro 260 puede generar una imagen reconstruida modificada aplicando varios métodos de filtrado a la imagen reconstruida y puede almacenar la imagen reconstruida modificada en la memoria 270, específicamente en la DPB de la memoria 270. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral o similar. Como se analiza más adelante en la descripción de cada método de filtrado, el filtro 260 puede generar diversa información relacionada con el filtrado y transmitir la información generada al codificador de entropía 240. La información sobre el filtrado puede codificarse en el codificador de entropía 240 y emitirse en forma de flujo de bits.
La imagen reconstruida modificada que ha sido transmitida a la memoria 270 puede usarse como una imagen de referencia en el predictor inter 221. Con esto, el aparato de codificación puede evitar el desajuste de predicción en el aparato de codificación 100 y un aparato de decodificación cuando se aplica la predicción inter, y también puede mejorar la eficiencia de codificación.
La DPB de la memoria 270 puede almacenar la imagen reconstruida modificada para usarla como imagen de referencia en el predictor inter 221. La memoria 270 puede almacenar información de movimiento de un bloque en la imagen actual, de la que se ha obtenido (o codificado) información de movimiento, y/o información de movimiento de bloques en una imagen ya reconstruida. La información de movimiento almacenada puede transmitirse al predictor inter 221 para ser utilizada como información de movimiento de un bloque vecino o información de movimiento de un bloque vecino temporal. La memoria 270 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y transmitirlos al predictor intra 222.
La figura 3 es un diagrama que ilustra esquemáticamente una configuración de un aparato de decodificación de video/imagen al que es aplicable la presente descripción.
Haciendo referencia a la figura 3, el aparato de decodificación de video 300 puede incluir un decodificador de entropía 310, un procesador de residuos 320, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un predictor inter 331 y un predictor intra 332. El procesador de residuos 320 puede incluir un descuantificador 321 y un transformador inverso 321. El decodificador de entropía 310, el procesador de residuos 320, el predictor 330, el sumador 340 y el filtro 350, que se han descrito anteriormente, pueden estar constituidos por uno o más componentes de hardware (por ejemplo, conjuntos de chips decodificadores o procesadores) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes decodificadas (DPB) y puede estar constituida por un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 360 como un componente interno/externo.
Cuando se introduce un flujo de bits que incluye información de video/imagen, el aparato de decodificación 300 puede reconstruir una imagen correspondiente a un proceso mediante el cual la información de video/imagen ha sido procesada en el aparato de codificación de la figura 2. Por ejemplo, el aparato de decodificación 300 puede obtener unidades/bloques basándose en información relacionada con partición de bloques obtenida del flujo de bits. El aparato de decodificación 300 puede realizar la decodificación usando una unidad de procesamiento aplicada en el aparato de codificación. Por lo tanto, la unidad de procesamiento de decodificación puede ser, por ejemplo, una unidad de codificación, que puede dividirse a lo largo de la estructura de árbol cuaternario, la estructura de árbol binario y/o la estructura de árbol ternario a partir de una unidad de árbol de codificación o de la unidad de codificación mayor. Una o más unidades de transformada pueden obtenerse de la unidad de codificación. Y, la señal de imagen reconstruida decodificada y emitida a través del aparato de decodificación 300 puede reproducirse a través de un reproductor.
El aparato de decodificación 300 puede recibir una señal emitida desde el aparato de codificación de la figura 2 en forma de flujo de bits, y la señal recibida puede decodificarse por medio del decodificador de entropía 310. Por ejemplo, el decodificador de entropía 310 puede analizar sintácticamente el flujo de bits para obtener información (por ejemplo, información de video/imagen) requerida para la reconstrucción de imágenes. La información de video/imagen puede incluir además información sobre varios conjuntos de parámetros, como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS), un conjunto de parámetros de video (VPS) o similares. Además, la información de video/imagen puede incluir además información de restricción general. El aparato de decodificación puede decodificar una imagen basándose además en la información sobre el conjunto de parámetros y/o la información de restricción general. En la presente descripción, la información señalizada/recibida y/o los elementos de sintaxis, que se describirán más adelante, pueden decodificarse por medio del procedimiento de decodificación y obtenerse del flujo de bits. Por ejemplo, el decodificador de entropía 310 puede decodificar información en el flujo de bits en función de un método de codificación como la codificación Golomb exponencial, CAVLC, CABAC o similares, y puede generar un valor de un elemento de sintaxis necesario para la reconstrucción de imágenes y valores cuantificados de un coeficiente de transformada con respecto a un residuo. Más específicamente, un método de decodificación de entropía CABAC puede recibir un contenedor correspondiente a cada elemento de sintaxis en un flujo de bits, determinar un modelo de contexto usando información del elemento de sintaxis objetivo de decodificación e información de decodificación de bloques objetivo de decodificación y vecinos, o información de símbolo/contenedor decodificado en una etapa anterior, predecir la probabilidad de generación de contenedores de acuerdo con el modelo de contexto determinado y realizar la decodificación aritmética del contenedor para generar un símbolo correspondiente a cada valor de elemento de sintaxis. Aquí, el método de decodificación de entropía CABAC puede actualizar el modelo de contexto usando información de un símbolo/contenedor decodificado para un modelo de contexto del siguiente símbolo/contenedor después de la determinación del modelo de contexto. La información sobre predicción entre la información decodificada en el decodificador de entropía 310 se puede proporcionar al predictor (predictor inter 332 y predictor intra 331), y valores residuales, es decir, coeficientes de transformada cuantificados, sobre los que se ha realizado decodificación de entropía en el decodificador de entropía 310, e información de parámetros asociada, pueden introducirse en el procesador de residuos 320. El procesador de residuos 320 puede obtener una señal residual (bloque residual, muestras residuales, conjunto de muestras residuales). Además, la información sobre el filtrado, entre la información decodificada en el decodificador de entropía 310 puede proporcionarse al filtro 350. Al mismo tiempo, un receptor (no mostrado) que recibe una señal emitida desde el aparato de codificación puede constituir además el aparato de decodificación 300 como un receptor interno/externo, y el receptor puede ser un componente del decodificador de entropía 310. Al mismo tiempo, el aparato de decodificación de acuerdo con la presente descripción puede denominarse aparato de codificación de video/imagen, y el aparato de decodificación puede clasificarse en un decodificador de información (decodificador de información de video/imagen) y un decodificador de muestra (decodificador de muestra de video/imagen). El decodificador de información puede incluir el decodificador de entropía 310, y el decodificador de muestra puede incluir al menos uno entre el descuantificador 321, el transformador inverso 322, el sumador 340, el filtro 350, la memoria 360, el predictor inter 332 y el predictor intra 331. El descuantificador 321 puede generar coeficientes de transformada descuantificando los coeficientes de transformada cuantificados. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en forma de un bloque bidimensional. En este caso, la reorganización puede realizar una reorganización basada en un orden de exploración de coeficientes que se ha realizado en el aparato de codificación. El descuantificador 321 puede realizar descuantificación sobre los coeficientes de transformada cuantificados utilizando el parámetro de cuantificación (por ejemplo, información del tamaño del paso de cuantificación) y obtener los coeficientes de transformada.
El descuantificador 322 obtiene una señal residual (bloque residual, conjunto de muestras residuales) mediante coeficientes de transformada de transformada inversa.
El predictor puede realizar una predicción sobre 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 predicción intra o la predicción inter al bloque actual basándose en la información sobre predicción emitida desde el decodificador de entropía 310, y específicamente puede determinar un modo de predicción intra/inter.
El predictor puede generar una señal de predicción basada en varios métodos de predicción. Por ejemplo, el predictor puede aplicar predicción intra o predicción inter para la predicción en un bloque y, también, puede aplicar predicción intra e predicción inter al mismo tiempo. Esto puede denominarse predicción inter e intra combinada (CIIP). Además, el predictor puede realizar una copia de bloque intra (IBC) para la predicción en un bloque. La copia de bloque intra se puede usar para la codificación de imagen/video de contenido de un juego o similar, tal como la codificación de contenido de pantalla (SCC). Aunque la IBC básicamente realiza la predicción en un bloque actual, se puede realizar de manera similar a la predicción inter en el sentido de que deriva un bloque de referencia en un bloque actual. Es decir, la IBC puede usar al menos una de las técnicas de predicción inter descritas en la presente descripción.
El predictor intra 331 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden estar ubicadas en el entorno, o apartadas del bloque actual de acuerdo con el modo de predicción. En la predicción intra, los modos de predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El predictor intra 331 puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
El predictor inter 332 puede obtener un bloque predicho para el bloque actual en base a un bloque de referencia (conjunto de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este momento, para reducir la cantidad de información de movimiento transmitida en el modo de predicción inter, la información de movimiento puede predecirse por bloque, subbloque o muestra en base a la correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de predicción inter (predicción L0, predicción L1, predicción Bi, etc.). En el caso de predicción inter, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente en la imagen de referencia. Por ejemplo, el predictor inter 332 puede configurar una lista de candidatos de información de movimiento basada en bloques vecinos y obtener un vector de movimiento y/o un índice de imagen de referencia del bloque actual en base a la información de selección de candidatos recibida. La predicción inter puede realizarse en base a varios modos de predicción, y la información sobre predicción puede incluir información que indica un modo de predicción inter para el bloque actual.
El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido, conjunto de muestras reconstruida) sumando la señal residual obtenida a la señal de predicción (bloque predicho, conjunto de muestras de predicción) emitida por el predictor 330. Cuando no hay residuo para un bloque objetivo en procesamiento, tal como en un caso en el que se aplica el modo de salto, el bloque predicho puede usarse como un bloque reconstruido.
El sumador 340 puede denominarse reconstructor o generador de bloques reconstruidos. La señal reconstruida generada se puede usar para la predicción intra de un siguiente bloque objetivo de procesamiento en el bloque actual y, como se describe más adelante, se puede emitir por medio de filtrado o se puede usar para la predicción inter de una imagen siguiente.
Al mismo tiempo, en el proceso de decodificación de imágenes, se puede aplicar mapeo de luma con escala de croma (LMCS).
El filtro 350 puede mejorar la calidad de video subjetiva/objetiva aplicando el filtrado a la señal reconstruida. Por ejemplo, el filtro 350 puede generar una imagen reconstruida modificada aplicando varios métodos de filtrado a la imagen reconstruida y puede transmitir la imagen reconstruida modificada en la memoria 360, específicamente en la DPB de la memoria 360. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral o similar.
La imagen reconstruida (modificada) que ha sido almacenada en la DPB de la memoria 360 se puede usar como imagen de referencia en el predictor inter 332. La memoria 360 puede almacenar información de movimiento de un bloque en la imagen actual, de la que se ha obtenido (o decodificado) información de movimiento y/o información de movimiento de bloques en una imagen ya reconstruida. La información de movimiento almacenada puede transmitirse al predictor inter 260 para ser utilizada como información de movimiento de un bloque vecino o información de movimiento de un bloque vecino temporal. La memoria 360 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual y transmitirlas al predictor intra 331.
En esta memoria descriptiva, los ejemplos descritos en el predictor 330, el descuantificador 321, el transformador inverso 322 y el filtro 350 del aparato de decodificación 300 pueden aplicarse de manera similar o correspondiente al predictor 220, el descuantificador 234, el transformador inverso 235 y el filtro 260 del aparato de codificación 200, respectivamente.
Como se describió anteriormente, se realiza predicción para aumentar la eficiencia de compresión al realizar la codificación de video. Con esto, se puede generar un bloque predicho que incluye muestras de predicción para un bloque actual, que es un bloque objetivo de codificación. Aquí, el bloque predicho incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque predicho puede obtenerse de manera idéntica en el aparato de codificación y el aparato de decodificación, y el aparato de codificación puede aumentar la eficiencia de codificación de imágenes mediante señalizar al aparato de decodificación, no el valor de muestra original de un bloque original en sí, sino información sobre el residuo (información residual) entre el bloque original y el bloque predicho. El aparato de decodificación puede obtener un bloque residual que incluye muestras residuales basándose en la información residual, generar un bloque reconstruido que incluya muestras reconstruidas añadiendo el bloque residual al bloque predicho y generar una imagen reconstruida que incluye bloques reconstruidos.
La información residual puede generarse mediante procedimientos de transformada y cuantificación. Por ejemplo, el aparato de codificación puede obtener un bloque residual entre el bloque original y el bloque predicho, obtener coeficientes de transformada realizando un procedimiento de transformada sobre muestras residuales (conjunto de muestras residuales) incluidas en el bloque residual, y obtener coeficientes de transformada cuantificados realizando un procedimiento de cuantificación sobre los coeficientes de transformada, de modo que puede señalizar información residual asociada al aparato de decodificación (mediante un flujo de bits). Aquí, la información residual puede incluir información de valor, información de posición, una técnica de transformada, núcleo de transformada, un parámetro de cuantificación o similar de los coeficientes de transformada cuantificados. El aparato de decodificación puede realizar un procedimiento de cuantificación/descuantificación y obtener las muestras residuales (o bloque de muestras residuales), en base a la información residual. El aparato de decodificación puede generar un bloque reconstruido en base a un bloque predicho y al bloque residual. El aparato de codificación puede obtener un bloque residual descuantificando/transformando inversamente coeficientes de transformada cuantificados, como referencia para la predicción inter de una siguiente imagen, y puede generar una imagen reconstruida basada en esto.
La figura 4 ilustra esquemáticamente una técnica de transformada múltiple según una realización de la presente descripción.
Haciendo referencia a la figura 4, un transformador puede corresponder al transformador en el aparato de codificación de la anterior figura 2, y un transformador inverso puede corresponder al transformador inverso en el aparato de codificación de la anterior figura 2, o al transformador inverso en el aparato de decodificación de la figura 3.
El transformador puede obtener coeficientes de transformada (primaria) realizando una transformada primaria basada en muestras residuales (conjunto de muestras residuales) en un bloque residual (S410). Esta transformada primaria puede denominarse transformada del núcleo. En este documento, la transformada primaria puede basarse en selección de transformada múltiple (MTS), y cuando se aplica una transformada múltiple como la transformada primaria, puede denominarse transformada de núcleo múltiple.
La transformada de núcleo múltiple puede representar un método de transformada que usa adicionalmente transformada de coseno discreta (DCT) tipo 2 y transformada de seno discreta (DST) tipo 7, DCT tipo 8 y/o DST tipo 1. Es decir, la transformada de núcleo múltiple puede representar un método de transformada para transformar una señal residual (o bloque residual) de un dominio espacial en coeficientes de transformada (o coeficientes de transformada primaria) de un dominio de frecuencia en base a una pluralidad de núcleos de transformada seleccionados entre DCT tipo 2, DST tipo 7, la DCT tipo 8 y la DST tipo 1. Aquí, los coeficientes de transformada primaria pueden denominarse coeficientes de transformada temporales desde el punto de vista del transformador. En otras palabras, cuando se aplica el método de transformada convencional, los coeficientes de transformada pueden generarse aplicando la transformada de un dominio espacial a un dominio de frecuencia para una señal residual (o bloque residual) en base a la DCT tipo 2. A diferencia de esto, cuando se aplica una transformada de núcleo múltiple, se pueden generar coeficientes de transformada (o coeficientes de transformada primaria) aplicando una transformada de un dominio espacial a un dominio de frecuencia para una señal residual (o bloque residual) en base a la DCT tipo 2, la DST tipo 7, la DCT tipo 8 y/o la DST tipo 1. Aquí, la DCT tipo 2, la DST tipo 7, la DCT tipo 8 y la DST tipo 1 pueden denominarse tipo de transformada o núcleo de transformada.
Como referencia, los tipos de transformada DCT/DST se pueden definir en función de las funciones base, y las funciones base se pueden representar como en la siguiente tabla.
[Tabla 1]
Figure imgf000010_0001
Si se realiza la transformada de núcleo múltiple, un núcleo de transformada vertical y un núcleo de transformada horizontal para un bloque objetivo se puede seleccionar entonces de entre los núcleos de transformada, se puede realizar una transformada vertical para el bloque objetivo en función del núcleo de transformada vertical, y una transformada horizontal para el bloque objetivo se puede realizar basándose en el núcleo de transformada horizontal. Aquí, la transformada horizontal puede representar una transformada para componentes horizontales del bloque objetivo, y la transformada vertical puede representar una transformada para componentes verticales del bloque objetivo. El núcleo de transformada vertical/núcleo de transformada horizontal puede determinarse de forma adaptativa basándose en un modo de predicción y/o un índice de transformada de un bloque objetivo (CU o subbloque) que incluye un bloque residual.
Además, de acuerdo con un ejemplo, si la transformada primaria se realiza aplicando la MTS, se puede establecer una relación de mapeo para núcleos de transformada estableciendo funciones base específicas en valores predeterminados y combinando funciones base que se aplicarán en la transformada vertical o la transformada horizontal. Por ejemplo, cuando el núcleo de transformada horizontal se expresa como trTypeHor y el núcleo de transformada de dirección vertical se expresa como trTypeVer, un valor de trTypeHor o trTypeVer de 0 se puede establecer en DCT2, un valor de trTypeHor o trTypeVer de 1 se puede establecer en DST7 y un valor trTypeHor o trTypeVer de 2 se puede establecer en DCT8.
En este caso, la información del índice MTS puede codificarse y señalizarse al aparato de decodificación para indicar cualquiera de una pluralidad de conjuntos de núcleos de transformada. Por ejemplo, un índice MTS de 0 puede indicar que los valores trTypeHor y trTypeVer son 0, un índice MTS de 1 puede indicar que los valores trTypeHor y trTypeVer son 1, un índice MTS de 2 puede indicar que el valor trTypeHor es 2 y el valor de trTypeVer es 1, un índice MTS de 3 puede indicar que el valor trTypeHor es 1 y el valor trTypeVer es 2, y un índice MTS de 4 puede indicar que los valores trTypeHor y trTypeVer son ambos 2.
El transformador puede obtener coeficientes de transformada (secundaria) modificados realizando la transformada secundaria basándose en los coeficientes de transformada (primaria) (S420). La transformada primaria es una transformada de un dominio espacial a un dominio de frecuencia, y la transformada secundaria se refiere a la transformada en una expresión más compresiva mediante el uso de una correlación existente entre coeficientes de transformada (primaria). La transformada secundaria puede incluir una transformada no separable. En este caso, la transformada secundaria puede denominarse transformada secundaria no separable (NSST) o transformada secundaria no separable dependiente del modo (MDNSST). La transformada secundaria no separable puede representar una transformada que genera coeficientes de transformada modificados (o coeficientes de transformada secundaria) para una señal residual mediante transformada secundaria, basándose en una matriz de transformada no separable, coeficientes de transformada (primaria) obtenidos mediante la transformada primaria. En este momento, la transformada vertical y la transformada horizontal no se pueden aplicar por separado (o las transformadas horizontal y vertical no se pueden aplicar independientemente) a los coeficientes de transformada (primaria), pero las transformadas se pueden aplicar a la vez en función de la matriz de transformada no separable.
En otras palabras, la transformada secundaria no separable puede representar un método de transformada en el que los componentes vertical y horizontal de los coeficientes de transformada (primaria) no se separan y, por ejemplo, las señales bidimensionales (coeficientes de transformada) se reorganizan en una señal unidimensional a través de una cierta dirección determinada (por ejemplo, dirección de fila primero o dirección de columna primero), y a continuación se generan coeficientes de transformada modificados (o coeficientes de transformada secundaria) basados en la matriz de transformada no separable. Por ejemplo, de acuerdo con el orden de la primera fila, se disponen M x N bloques en una línea en un orden de una primera fila, una segunda fila, ... y una N-ésima fila. De acuerdo con un orden de primera columna, M x N bloques se disponen en una línea en un orden de una primera columna, una segunda columna, ... y una N-ésima columna. La transformada secundaria no separable puede aplicarse a una región superior izquierda de un bloque configurado con coeficientes de transformada (primaria) (en lo sucesivo, puede denominarse bloque de coeficientes de transformada). Por ejemplo, si la anchura (W) y la altura (H) del bloque de coeficientes de transformada son todos iguales o mayores que 8, se puede aplicar una transformada secundaria no separable de 8x8 a una región de 8x8 superior izquierda del bloque de coeficientes de transformada. Además, si la anchura (W) y la altura (H) del bloque de coeficientes de transformada son todos iguales o mayores que 4, y la anchura (W) o la altura (H) del bloque de coeficientes de transformada es menor que 8, entonces se puede aplicar una transformada secundaria no separable 4x4 a una región superior izquierda min(8,W) x min(8,H) del bloque de coeficientes de transformada. Sin embargo, la realización no se limita a esto y, por ejemplo, incluso si solo se cumple la condición de que la anchura (W) o la altura (H) del bloque de coeficientes de transformada es igual o mayor que 4, se puede aplicar la transformada secundaria no separable 4x4 a la región superior izquierda min(8,W)xmin(8,H) del bloque de coeficientes de transformada.
Específicamente, por ejemplo, si se usa un bloque de entrada 4x4, la transformada secundaria no separable se puede realizar de la siguiente manera.
El bloque de entrada 4x4 X puede representarse como sigue.
Figure imgf000011_0001
Y
Si la X se representa en forma de vector, el vector ^ puede representarse como sigue.
Figure imgf000011_0002
Mediante la ecuación 3 anterior, puede obtenerse un vector de coeficientes de transformada de 16x1 F , y el F puede reorganizarse en un bloque de 4x4 por medio de un orden de exploración (horizontal, vertical, diagonal y similares). Sin embargo, el cálculo descrito anteriormente es un ejemplo, y se puede usar la transformada de hipercubo-Givens (HyGT) o similar para el cálculo de la transformada secundaria no separable, para reducir la complejidad computacional de la transformada secundaria no separable.
Al mismo tiempo, en la transformada secundaria no separable, se puede seleccionar un núcleo de transformada (o tipo de transformada) para que dependa del modo. En este caso, el modo puede incluir el modo de predicción intra y/o el modo de predicción inter.
Como se describió anteriormente, la transformada secundaria no separable se puede realizar en base a una transformada de 8x8 o una transformada de 4x4 determinada en base a la anchura (W) y la altura (H) del bloque de coeficientes de transformada. La transformada de 8x8 se refiere a una transformada que es aplicable a una región de 8x8 incluida en el bloque de coeficientes de transformada cuando W y H son iguales o mayores que 8, y la región de 8x8 puede ser una región de 8x8 superior izquierda en el bloque de coeficientes de transformada. De manera similar, la transformada 4x4 se refiere a una transformada que es aplicable a una región de 4x4 incluida en el bloque de coeficientes de transformada cuando W y H son iguales o mayores que 4, y la región de 4x4 puede ser una región de 4x4 superior izquierda en el bloque de coeficientes de transformada. Por ejemplo, una matriz de núcleo de transformada de 8x8 puede ser una matriz 64x64/16x64, y una matriz de núcleo de transformada 4x4 puede ser una matriz de 16x16/8x16.
Aquí, para seleccionar un núcleo de transformada basado en modo, se pueden configurar tres núcleos de transformada secundaria no separables por conjunto de transformada para la transformada secundaria no separable tanto para la transformada 8x8 como para la transformada 4x4, y puede haber 35 conjuntos de transformada. Es decir, se pueden configurar 35 conjuntos de transformada para la transformada 8x8 y se pueden configurar 35 conjuntos de transformada para la transformada 4x4. En este caso, se pueden incluir tres núcleos de transformada 8x8 en cada uno de los 35 conjuntos de transformada para la transformada 8x8, y se pueden incluir tres núcleos de transformada 4x4 en cada uno de los 35 conjuntos de transformada para la transformada 4x4. Los tamaños de las transformadas, el número de conjuntos y el número de núcleos de transformada en cada conjunto mencionado anteriormente son meramente ilustrativos. En su lugar, se puede utilizar un tamaño distinto de 8x8 o 4x4, se pueden configurar n conjuntos y se pueden incluir k núcleos de transformada en cada conjunto.
El conjunto de transformada puede denominarse conjunto NSST, y el núcleo de transformada en el conjunto NSST puede denominarse núcleo NSST. La selección de un conjunto específico de entre los conjuntos de transformada se puede realizar, por ejemplo, en función del modo de predicción intra del bloque objetivo (CU o subbloque).
Como referencia, como ejemplo, el modo de predicción intra puede incluir dos modos de predicción intra no direccionales (o no angulares) y 65 modos de predicción intra direccionales (o angulares). Los modos de predicción intra no direccionales pueden incluir un modo de predicción intra plana n.° 0 y un modo de predicción intra DC n.° 1, y los modos de predicción intra direccional pueden incluir 65 modos de predicción intra entre un modo de predicción intra n.° 2 y un modo de predicción intra n.° 66. Sin embargo, este es un ejemplo, y la presente descripción se puede aplicar a un caso en el que haya un número diferente de modos de predicción intra. Al mismo tiempo, de acuerdo con las circunstancias, se puede usar además un modo de predicción intra n.° 67, y el modo de predicción intra n.° 67 puede representar un modo de modelo lineal (LM).
La figura 5 ilustra modos intra direccionales de 65 direcciones de predicción.
Haciendo referencia a la figura 5, sobre la base del modo de predicción intra n.° 34 que tiene una dirección de predicción diagonal izquierda ascendente, se pueden clasificar el modo de predicción intra que tiene una direccionalidad horizontal y el modo de predicción intra que tiene una direccionalidad vertical. H y V de la figura 5 significan direccionalidad horizontal y direccionalidad vertical, respectivamente, y los números -32 a 32 indican desplazamientos en 1/32 unidades en la posición de la cuadrícula de muestra. Esto puede representar un desplazamiento para el valor del índice de modo. Los modos de predicción intra n.os 2 a 33 tienen la direccionalidad horizontal, y los modos de predicción intra n.os 34 a 66 tienen la direccionalidad vertical. Al mismo tiempo, estrictamente hablando, el modo de predicción intra n.° 34 no puede considerarse ni horizontal ni vertical, pero puede clasificarse como perteneciente a la direccionalidad horizontal en términos de determinar el conjunto de transformadas de la transformada secundaria. Esto se debe a que los datos de entrada se transponen para ser utilizados para el modo de dirección vertical simétrico sobre la base del modo de predicción intra n.° 34, y el método de alineación de datos de entrada para el modo horizontal se utiliza para el modo de predicción intra n.° 34. Transponer datos de entrada significa que las filas y columnas de datos de bloques bidimensionales MxN se cambian a datos NxM. El modo de predicción intra n.° 18 y el modo de predicción intra n.° 50 pueden representar un modo de predicción intra horizontal y un modo de predicción intra vertical, respectivamente, y el modo de predicción intra n.° 2 puede denominarse modo de predicción intra diagonal derecha ascendente porque tiene un píxel de referencia izquierdo y predice en una dirección ascendente derecha. De la misma manera, el modo de predicción intra n.° 34 puede denominarse modo de predicción intra diagonal derecha descendente, y el modo de predicción intra n.° 66 puede denominarse modo de predicción intra diagonal izquierda descendente.
En este caso, el mapeo entre los 35 conjuntos de transformada y los modos de predicción intra puede representarse, por ejemplo, como en la siguiente tabla. Como referencia, si se aplica un modo LM a un bloque objetivo, es posible que la transformada secundaria no se aplique al bloque objetivo.
[Tabla 2]
Figure imgf000013_0001
Al mismo tiempo, si se determina que se utilizará un conjunto específico, se puede seleccionar uno de k núcleos de transformada en el conjunto específico por medio del índice de transformada secundaria no separable. El aparato de codificación puede obtener un índice de transformada secundaria no separable que indica un núcleo de transformada específico basado en la comprobación de distorsión de velocidad (RD), y puede señalizar el índice de transformada secundaria no separable al aparato de decodificación. El aparato de decodificación puede seleccionar uno entre k núcleos de transformada en el conjunto específico basándose en el índice de transformada secundaria no separable. Por ejemplo, el valor 0 del índice NSST puede indicar un primer núcleo de transformada secundaria no separable, el valor 1 del índice NSST puede indicar un segundo núcleo de transformada secundaria no separable y el valor 2 del índice NSST puede indicar un tercer núcleo de transformada secundaria no separable. Alternativamente, el valor de índice NSST 0 puede indicar que la primera transformada secundaria no separable no se aplica a un bloque objetivo, y los valores de índice NSST 1 a 3 pueden indicar los tres núcleos de transformada.
Volviendo a la figura 4, el transformador puede realizar la transformada secundaria no separable basándose en los núcleos de transformada seleccionados, y puede obtener coeficientes de transformada (secundaria) modificados. Como se describió anteriormente, los coeficientes de transformada modificados pueden obtenerse como coeficientes de transformada cuantificados por medio del cuantificador, y pueden codificarse y señalizarse al aparato de decodificación y transferirse al descuantificador/transformador inverso en el aparato de codificación.
Al mismo tiempo, como se describió anteriormente, si se omite la transformada secundaria, los coeficientes de transformada (primaria), que son una salida de la transformada primaria (separable), pueden obtenerse como coeficientes de transformada cuantificados por medio del cuantificador como se ha descrito anteriormente, y pueden codificarse y señalizarse al aparato de decodificación y transferirse al descuantificador/transformador inverso en el aparato de codificación.
El transformador inverso puede realizar una serie de procedimientos en orden inverso a aquel en que se han realizado en el transformador antes descrito. El transformador inverso puede recibir coeficientes de transformador (descuantificados) y obtener coeficientes de transformada (primaria) realizando una transformada secundaria (inversa) (S450), y puede obtener un bloque residual (muestras residuales) realizando una transformada primaria (inversa) sobre los coeficientes de transformada (primaria) (S460). A este respecto, los coeficientes de transformada primaria pueden denominarse coeficientes de transformada modificados desde el punto de vista del transformador inverso. Como se ha descrito anteriormente, el aparato de codificación y el aparato de decodificación pueden generar el bloque reconstruido basándose en el bloque residual y el bloque predicho, y pueden generar la imagen reconstruida basándose en el bloque reconstruido.
El aparato de decodificación puede incluir además un determinador de aplicación de transformada inversa secundaria (o un elemento para determinar si aplicar una transformada inversa secundaria) y un determinador de transformada inversa secundaria (o un elemento para determinar una transformada inversa secundaria). El determinador de aplicación de transformada inversa secundaria puede determinar si aplicar una transformada inversa secundaria. Por ejemplo, la transformada inversa secundaria puede ser una NSST o una RST, y el determinador de aplicación de transformada inversa secundaria puede determinar si aplicar la transformada inversa secundaria basándose en un indicador de transformada secundaria obtenido analizando sintácticamente el flujo de bits. En otro ejemplo, el determinador de aplicación de transformada inversa secundaria puede determinar si aplicar la transformada inversa secundaria basándose en un coeficiente de transformada de un bloque residual.
El determinador de transformada inversa secundaria puede determinar una transformada inversa secundaria. En este caso, el determinador de transformada inversa secundaria puede determinar la transformada inversa secundaria aplicada al bloque actual basándose en un conjunto de transformadas NSST (o RST) especificado según un modo de predicción intra. En una realización, se puede determinar un método de determinación de transformada secundaria dependiendo de un método de determinación de transformada primaria. Pueden determinarse diversas combinaciones de transformadas primarias y transformadas secundarias según el modo de predicción intra. Además, en un ejemplo, el determinador de transformada inversa secundaria puede determinar una región a la que se aplica una transformada inversa secundaria en función del tamaño del bloque actual.
Al mismo tiempo, como se describió anteriormente, si se omite la transformada secundaria (inversa), se pueden recibir coeficientes de transformada (descuantificados), se puede realizar la transformada inversa primaria (separable) y se puede obtener el bloque residual (muestras residuales) Como se ha descrito anteriormente, el aparato de codificación y el aparato de decodificación pueden generar el bloque reconstruido basándose en el bloque residual y el bloque predicho, y pueden generar la imagen reconstruida basándose en el bloque reconstruido.
Al mismo tiempo, en la presente descripción, se puede aplicar una transformada secundaria reducida (RST) en la que se reduce el tamaño de una matriz de transformada (núcleo) en el concepto de NSST para reducir la cantidad de cálculo y memoria requeridos para la transformada secundaria no separable.
Al mismo tiempo, el núcleo de transformada, la matriz de transformada y el coeficiente que constituye la matriz de núcleo de transformada, es decir, el coeficiente del núcleo o el coeficiente de matriz, descritos en la presente descripción, pueden expresarse en 8 bits. Esto puede ser una condición para la implementación en el aparato de decodificación y el aparato de codificación, y puede reducir la cantidad de memoria necesaria para almacenar el núcleo de transformada con una degradación del rendimiento que puede acomodarse razonablemente en comparación con los 9 o 10 bits existentes. Además, la expresión de la matriz del núcleo en 8 bits puede permitir el uso de un pequeño multiplicador, y puede ser más adecuada para instrucciones de una instrucción, múltiples datos (SIMD, single instruction multiple data) utilizados para una implementación de software óptima.
En la presente memoria descriptiva, el término "RST" puede significar una transformada que se realiza sobre muestras residuales para un bloque objetivo en base a una matriz de transformada cuyo tamaño se reduce según un factor reducido. En el caso de realizarse la transformada reducida, la cantidad de cálculo requerida para la transformada puede reducirse debido a una reducción en el tamaño de la matriz de transformada. Es decir, la RST se puede utilizar para abordar el problema de la complejidad computacional que se produce en la transformada no separable o la transformada de un bloque de gran tamaño.
RST puede denominarse con varios términos, como transformada reducida, transformada secundaria reducida, transformada de reducción, transformada simplificada, transformada simple y similares, y el nombre con el que puede denominarse RST no se limita a los ejemplos enumerados. Alternativamente, dado que la RST se realiza principalmente en una región de baja frecuencia que incluye un coeficiente distinto de cero en un bloque de transformada, puede denominarse transformada no separable de baja frecuencia (LFNST).
Al mismo tiempo, cuando la transformada inversa secundaria se realiza sobre la base de RST, el transformador inverso 235 del aparato de codificación 200 y el transformador inverso 322 del aparato de decodificación 300 pueden incluir un transformador secundario inverso reducido que deriva coeficientes de transformada modificados, en base a la RST inversa de los coeficientes de transformada, y un transformador primario inverso que deriva muestras residuales para el bloque objetivo, en base a la transformada primaria inversa de los coeficientes de transformada modificados. La transformada primaria inversa se refiere a la transformada inversa de la transformada primaria aplicada al residuo. En la presente descripción, obtener un coeficiente de transformada en base a una transformada puede referirse a obtener un coeficiente de transformada aplicando la transformada.
La figura 6 es un diagrama que ilustra una RST según una realización de la presente descripción.
En la presente memoria descriptiva, el término "bloque objetivo" puede significar un bloque actual o un bloque residual en el que se realiza la codificación.
En la RST de acuerdo con un ejemplo, un vector de dimensión N se puede mapear a un vector de dimensión R ubicado en otro espacio, de modo que se puede determinar la matriz de transformada reducida, donde R es menor que N. N puede significar el cuadrado de la longitud de un lado de un bloque al que se aplica la transformada, o el número total de coeficientes de transformada correspondientes a un bloque al que se aplica la transformada, y el factor reducido puede significar un valor R/N. El factor reducido puede denominarse factor reducido, factor de reducción, factor simplificado, factor simple u otros términos diversos. Al mismo tiempo, se puede hacer referencia a R como un coeficiente reducido, pero según las circunstancias, el factor reducido puede significar R. Además, según las circunstancias, el factor reducido puede significar el valor N/R.
En un ejemplo, el factor reducido o el coeficiente reducido pueden señalizarse a través de un flujo de bits, pero el ejemplo no se limita a esto. Por ejemplo, un valor predefinido para el factor reducido o el coeficiente reducido puede almacenarse en cada uno del aparato de codificación 200 y el aparato de decodificación 300, y en este caso, el factor reducido o el coeficiente reducido pueden no señalizarse por separado.
El tamaño de la matriz de transformada reducida según un ejemplo puede ser RxN menor que N x N, el tamaño de una matriz de transformada convencional, y puede definirse como en la ecuación 4 a continuación.
[Ecuación 4]
Figure imgf000014_0001
La matriz T en el bloque de Transformada Reducida mostrado en la figura 6A puede significar la matriz Trxn de la ecuación 4. Como se muestra en la figura 6A, cuando la matriz de transformada reducida Trxn se multiplica por muestras residuales para el bloque objetivo, se pueden obtener coeficientes de transformada para el bloque objetivo.
En un ejemplo, si el tamaño del bloque al que se aplica la transformada es 8x8 y R = 16 (es decir, R/N = 16/64 = 1/4), entonces la RST según la figura 6A puede expresarse como una operación matricial como se muestra en la ecuación 5 a continuación. En este caso, la memoria y el cálculo de la multiplicación se pueden reducir a aproximadamente 1/4 por el factor reducido.
En este documento, la operación matricial puede entenderse como una operación para obtener un vector columna multiplicando la matriz y el vector columna, poniendo la matriz en el lado izquierdo del vector columna.
[ Ecuación 5]
Figure imgf000015_0001
En la ecuación 5, r1 a r64 pueden representar muestras residuales para el bloque objetivo y pueden ser específicamente coeficientes de transformada generados aplicando una transformada primaria. Como resultado del cálculo de la ecuación 5, se pueden obtener coeficientes de transformada ci para el bloque objetivo, y un proceso de obtener ci puede ser como en la ecuación 6.
Figure imgf000015_0002
Figure imgf000015_0003
Como resultado del cálculo de la ecuación 6, se pueden obtener los coeficientes de transformada c1 a cR para el bloque objetivo. Es decir, cuando R=16, se pueden obtener los coeficientes de transformada c1 a c16 para el bloque objetivo. Si, en lugar de RST, se aplica una transformada regular y una matriz de transformada de tamaño 64x64 (N x N) se multiplica por muestras residuales de tamaño 64x1 (N x 1), entonces solo se obtienen 16 coeficientes de transformada (R) para el bloque objetivo porque se aplicó RST, aunque se obtienen 64 (N) coeficientes de transformada para el bloque objetivo. Dado que el número total de coeficientes de transformada para el bloque objetivo se reduce de N a R, la cantidad de datos transmitidos por el aparato de codificación 200 al aparato de decodificación 300 disminuye, por lo que se puede mejorar la eficiencia de transmisión entre el aparato de codificación 200 y el aparato de decodificación 300.
Cuando se considera desde el punto de vista del tamaño de la matriz de transformada, el tamaño de la matriz de transformada regular es 64x64 (N x N), pero el tamaño de la matriz de transformada reducida se reduce a 16x64 (RxN), por lo que el uso de memoria en un caso de realizarse la RST puede reducirse en un factor R/N en comparación con el caso de realizarse la transformada normal. Además, cuando se compara con el número de cálculos de multiplicación N x N en el caso de usarse la matriz de transformada regular, el uso de la matriz de transformada reducida puede reducir el número de cálculos de multiplicación mediante la relación R/N (RxN).
En un ejemplo, el transformador 232 del aparato de codificación 200 puede obtener coeficientes de transformada para el bloque objetivo realizando la transformada primaria y la transformada secundaria basada en RST sobre muestras residuales para el bloque objetivo. Estos coeficientes de transformada pueden transferirse al transformador inverso del aparato de decodificación 300, y el transformador inverso 322 del aparato de decodificación 300 puede obtener los coeficientes de transformada modificados basándose en la transformada secundaria reducida (RST) inversa para los coeficientes de transformada, y puede obtener muestras residuales para el bloque objetivo en función de la transformada primaria inversa para los coeficientes de transformada modificados.
El tamaño de la matriz RST Inversa T nxr de acuerdo con un ejemplo, es NxR menor que el tamaño N x N de la matriz de transformada Inversa regular, y está en una relación de transposición con la matriz de transformada reducida T rxn mostrada en la ecuación 4.
La matriz Tt en el bloque de transformada inv. reducida mostrado en la figura 6B puede significar la matriz RST inversa T rxnt (el superíndice T significa transposición). Cuando la matriz RST inversa T rxnt se multiplica por los coeficientes de transformada para el bloque objetivo como se muestra en la figura 6B, se pueden obtener los coeficientes de transformada modificados para el bloque objetivo o las muestras residuales para el bloque objetivo. La matriz RST inversa T rxnt puede expresarse como (T rxnt ) nxr .
Más específicamente, cuando la RST inversa se aplica como la transformada inversa secundaria, los coeficientes de transformada modificados para el bloque objetivo pueden obtenerse cuando la matriz RST inversa T rxnt se multiplica por los coeficientes de transformada para el bloque objetivo. Al mismo tiempo, la RST inversa se puede aplicar como la transformada primaria inversa y, en este caso, las muestras residuales para el bloque objetivo se pueden obtener cuando la matriz RST inversa T rxnt se multiplica por los coeficientes de transformada del bloque objetivo.
En un ejemplo, si el tamaño del bloque al que se aplica la transformada inversa es 8x8 y R = 16 (es decir, R/N = 16/64 = 1/4), entonces la RST según la figura 6B puede expresarse como una operación matricial como se muestra en la ecuación 7 a continuación.
[Ecuación 7]
Figure imgf000016_0001
En la ecuación 7, c1 a c16 pueden representar los coeficientes de transformada para el bloque objetivo. Como resultado del cálculo de la ecuación 7, rj que representan los coeficientes de transformada modificados para el bloque objetivo o las muestras residuales para el bloque objetivo pueden obtenerse, y el proceso de obtención de rj puede ser como en la ecuación 8.
Figure imgf000016_0002
Figure imgf000016_0003
Como resultado del cálculo de la ecuación 8, n a rN que representan los coeficientes de transformada modificados para el bloque objetivo o las muestras residuales para el bloque objetivo pueden obtenerse. Cuando se considera desde el punto de vista del tamaño de la matriz de transformada inversa, el tamaño de la matriz de transformada inversa regular es 64x64 (NxN), pero el tamaño de la matriz de transformada inversa reducida se reduce a 64x16 (RxN), por lo que el uso de memoria en caso de realizarse la RST inversa puede reducirse en un factor R/N en comparación con el caso de realizarse la transformada inversa normal. Además, cuando se compara con el número de cálculos de multiplicación N x N en el caso de usarse la matriz de transformada inversa regular, el uso de la matriz de transformada inversa reducida puede reducir el número de cálculos de multiplicación mediante la relación R/N (NxR).
Una configuración de conjunto de transformada mostrado en la tabla 2 también se puede aplicar a una RST de 8x8. Es decir, la RST 8x8 se puede aplicar de acuerdo con un conjunto de transformadas en la tabla 2. Dado que un conjunto de transformadas incluye dos o tres transformadas (núcleos) de acuerdo con un modo de predicción intra, se puede configurar para seleccionar una de hasta cuatro transformadas que incluyen la del caso en que no se aplica transformada secundaria. En una transformada en la que no se aplica transformada secundaria, se puede considerar aplicar una matriz identidad. Suponiendo que se asignan índices 0, 1,2 y 3 respectivamente a las cuatro transformadas (por ejemplo, el índice 0 se puede asignar a un caso en el que se aplica una matriz identidad, es decir, un caso en el que no se aplica una transformada secundaria), un índice NSST como elemento de sintaxis puede señalizarse para cada bloque de coeficientes de transformada, designando así una transformada a aplicar. Es decir, mediante el índice NSST, es posible designar una NSST de 8x8 para un bloque de 8x8 superior izquierdo y designar una RST de 8x8 en una configuración de RST. La NSST de 8x8 y la RST de 8x8 se refieren a transformadas aplicables a una región de 8x8 incluida en el bloque de coeficientes de transformada cuando tanto W como H del bloque objetivo que se va a transformar son iguales o mayores que 8, y la región de 8x8 puede ser una región de 8x8 superior izquierda en el bloque de coeficientes de transformada. De manera similar, una NSST 4x4 y una RST 4x4 se refieren a transformadas aplicables a una región de 4x4 incluida en el bloque de coeficientes de transformada cuando W y H del bloque objetivo son iguales o mayores que 4, y la región de 4x4 puede ser una región 4x4 superior izquierda en el bloque de coeficientes de transformada.
Si se aplica la RST 8x8 (directa) ilustrado en la ecuación 4, se generan 16 coeficientes de transformada significativos. Por lo tanto, se considera que 64 piezas de datos de entrada que forman la región de 8x8 se reducen a 16 piezas de datos de salida, y solo 1/4 de la región se llena con coeficientes de transformada significativos desde la perspectiva de una región bidimensional. Por consiguiente, las 16 piezas de datos de salida obtenidos al aplicar la RST de 8x8 directa pueden llenar a modo de ejemplo la región superior izquierda (coeficientes de transformada 1 a 16, por ejemplo, c1, c2, ..., c16 obtenidos mediante la ecuación 6) del bloque como se muestra en la figura 7 en el orden de exploración en dirección diagonal del 1 al 16.
La figura 7 es un diagrama que ilustra un orden de exploración de coeficientes de transformada según una realización de la presente descripción. Como se describió anteriormente, cuando el orden de exploración hacia delante comienza desde un primer coeficiente de transformada, se puede realizar exploración inversa en las direcciones y órdenes indicadas por las flechas mostradas en la figura 7 del 64-ésimo al 17-ésimo coeficientes de transformada en el orden de exploración hacia adelante.
En la figura 7, una región de 4x4 superior izquierda es una región de interés (ROI) llena de coeficientes de transformada significativos, y la región restante está vacía. La región vacía se puede llenar con 0s de forma predeterminada.
Es decir, cuando se aplica una RST de 8x8 con una matriz de transformada directa de 16x64 a la región de 8x8, los coeficientes de transformada de salida se pueden organizar en la región de 4x4 superior izquierda, y la región donde no existe ningún coeficiente de transformada de salida se puede rellenar con 0s (de los coeficientes de transformada 64-ésimo a 17-ésimo) de acuerdo con el orden de exploración de la figura 7.
Si se encuentra un coeficiente de transformada significativo distinto de cero fuera de la ROI de la figura 7, es seguro que no se ha aplicado la RST 8x8 y, por lo tanto, se puede omitir la codificación del índice NSST. Por el contrario, si no se encuentra un coeficiente de transformada distinto de cero fuera de la ROI de la figura 7 (por ejemplo, si un coeficiente de transformada se establece en 0 en una región distinta de la ROI en un caso en el que se aplica la RST 8x8), es probable que se haya aplicado la RST 8x8 y, por lo tanto, se puede realizar la codificación del índice NSST. Esta codificación de índice NSST condicional se puede realizar después de un proceso de codificación residual porque es necesario comprobar la presencia o ausencia de un coeficiente de transformada distinto de cero.
La presente descripción da a conocer métodos para optimizar un diseño y una asociación de una RST que se puede aplicar a un bloque 4x4 desde una estructura RST descrita en esta realización. Algunos conceptos se pueden aplicar no solo a una RST 4x4 sino también a una RST 8x8 u otros tipos de transformadas.
La figura 8 es un diagrama de flujo que ilustra un proceso de RST inversa según una realización de la presente descripción.
Cada operación dada a conocer en la figura 8 puede ser realizada por el aparato de decodificación 300 ilustrado en la figura 3. Específicamente, S800 puede ser realizada por el descuantificador 321 ilustrado en la figura 3, y S810 y S820 pueden ser realizadas por el transformador inverso 322 ilustrado en la figura 3. Por lo tanto, una descripción de detalles específicos coincidentes con los explicados anteriormente haciendo referencia a la figura 3 se omitirá o se hará brevemente. En la presente descripción, se puede aplicar una RST a una transformada en sentido directo, y una RST inversa puede significar una transformada aplicada en sentido inverso.
En una realización, las operaciones específicas según la RST inversa pueden ser diferentes de las operaciones específicas según la RST solo en que sus órdenes de operación son opuestos entre sí, y las operaciones específicas según la RST inversa pueden ser sustancialmente similares a las operaciones específicas según la RST. Por consiguiente, un experto en la materia entenderá fácilmente que las descripciones de S800 a S820 para la RST inversa que se describen a continuación pueden aplicarse a la RST de la misma manera o de manera similar.
El aparato de decodificación 300 según una realización puede obtener los coeficientes de transformada realizando la descuantificación de los coeficientes de transformada cuantificados para el bloque objetivo (S800).
El aparato de decodificación 300 puede determinar si aplicar una transformada secundaria inversa después de una transformada primaria inversa y antes de la transformada secundaria inversa. Por ejemplo, la transformada secundaria inversa puede ser una NSST o una RST. Por ejemplo, el aparato de decodificación puede determinar si aplicar la transformada secundaria inversa basándose en un indicador de transformada secundaria analizado sintácticamente a partir de un flujo de bits. En otro ejemplo, el aparato de decodificación puede determinar si aplicar la transformada secundaria inversa en base a un coeficiente de transformada de un bloque residual.
El aparato de decodificación 300 puede determinar una transformada secundaria inversa. En este caso, el aparato de decodificación 300 puede determinar la transformada inversa secundaria aplicada al bloque actual basándose en un conjunto de transformadas NSST (o RST) especificado según un modo de predicción intra. En una realización, se puede determinar un método de determinación de transformada secundaria dependiendo de un método de determinación de transformada primaria. Por ejemplo, se puede determinar aplicar una RST o LFNST solo cuando se aplica DCT-2 como núcleo de transformada en la transformada primaria. Alternativamente, se pueden determinar varias combinaciones de transformadas primarias y transformadas secundarias de acuerdo con el modo de predicción intra.
Además, en un ejemplo, el aparato de decodificación 300 puede determinar una región a la que se aplica la transformada secundaria inversa basándose en el tamaño del bloque actual antes de determinar la transformada secundaria inversa.
El aparato de decodificación 300 según una realización puede seleccionar un núcleo de transformada (S810). Más específicamente, el aparato de decodificación 300 puede seleccionar el núcleo de transformada basándose en al menos una de las informaciones sobre un índice de transformada, la anchura y la altura de una región a la que se aplica la transformada, un modo de predicción intra utilizado en la decodificación de imágenes y un componente de color del bloque objetivo. Sin embargo, el ejemplo no se limita a esto y, por ejemplo, el núcleo de transformada puede estar predefinido y es posible que no se señalice información separada para seleccionar el núcleo de transformada.
En un ejemplo, la información sobre el componente de color del bloque objetivo puede indicarse mediante CIdx. Si el bloque objetivo es un bloque luma, CIdx puede indicar 0, y si el bloque objetivo es un bloque croma, por ejemplo, un bloque Cb o un bloque Cr, entonces CIdx puede indicar un valor distinto de cero (por ejemplo, 1) .
El aparato de decodificación 300 según una realización puede aplicar la RST inversa a los coeficientes de transformada basándose en el núcleo de transformada seleccionado y el factor reducido (S820).
A continuación, se propone un método para determinar un conjunto de NSST secundaria, es decir, un conjunto de transformada secundaria o un conjunto de transformada, en vista de un modo de predicción intra y del tamaño de un bloque, según una realización de la presente descripción.
En una realización, se puede configurar un conjunto para un bloque de transformada actual basándose en el modo de predicción intra descrito anteriormente, aplicando así un conjunto de transformada que incluye núcleos de transformada que tienen varios tamaños al bloque de transformada. Los conjuntos de transformada en la tabla 3 se expresan usando 0 a 3 como en la tabla 4.
[Tabla 3]
Figure imgf000018_0001
[Tabla 4]
Figure imgf000018_0002
Los índices 0, 2, 18 y 34 ilustrados en la tabla 3 corresponden a 0, 1, 2 y 3 en la tabla 4, respectivamente. En la tabla 3 y la tabla 4, solo se utilizan cuatro conjuntos de transformada en lugar de 35 conjuntos de transformada, lo que reduce significativamente el espacio de memoria.
Varios números de matrices de núcleo de transformada que pueden incluirse en cada conjunto de transformada pueden configurarse como se muestra en las siguientes tablas.
[Tabla 5]
Figure imgf000018_0003
[Tabla 6]
Figure imgf000019_0001
[Tabla 7]
Figure imgf000019_0002
De acuerdo con la tabla 5, se utilizan dos núcleos de transformada disponibles para cada conjunto de transformada y, por consiguiente, un índice de transformada varía de 0 a 2.
De acuerdo con la tabla 6, se utilizan dos núcleos de transformada disponibles para el conjunto de transformada 0, es decir, un conjunto de transformada según un modo DC y un modo plano entre los modos de predicción intra, y se utiliza un núcleo de transformada para cada uno de los conjuntos de transformada restantes. Aquí, un índice de transformada disponible para el conjunto de transformada 1 varía de 0 a 2, y un índice de transformada para los conjuntos de transformada restantes 1 a 3 varía de 0 a 1.
De acuerdo con la tabla 7, se utiliza un núcleo de transformada disponible para cada conjunto de transformada y, por consiguiente, un índice de transformada varía de 0 a 1.
En el mapeo de conjuntos de transformada de la tabla 3, se puede usar un total de cuatro conjuntos de transformada, y los cuatro conjuntos de transformada se pueden reorganizar para distinguirlos por los índices 0, 1,2 y 3, como se muestra en la tabla 4. La tabla 8 y la tabla 9 ilustran cuatro conjuntos de transformada disponibles para la transformada secundaria, donde la tabla 8 presenta matrices de núcleo de transformada aplicables a un bloque de 8x8, y la tabla 9 presenta matrices de núcleo de transformada aplicables a un bloque de 4x4. La tabla 8 y la tabla 9 incluyen dos matrices de núcleo de transformada por conjunto de transformada, y se pueden aplicar dos matrices de núcleo de transformada a todos los modos de predicción intra como se muestra en la tabla 5.
[Tabla 8]
Figure imgf000020_0001
1
Figure imgf000020_0002
Figure imgf000021_0001
Figure imgf000022_0001
Figure imgf000023_0001
[Tabla 9]
Figure imgf000024_0001
Figure imgf000025_0001
Figure imgf000026_0001
Figure imgf000027_0001
Todas las matrices de núcleo de transformada ilustrativas mostradas en la tabla 8 son matrices de núcleo de transformada multiplicadas por 128 como un valor de escala. En un conjunto g_aiNsst8x8[N1][N2][16][64] presente en los conjuntos de matrices de la tabla 8, N1 denota el número de conjuntos de transformada (N1 es 4 o 35, distinguidos por el índice 0, 1, , y N1-1), N2 denota el número (1 o 2) de matrices de núcleo de transformada incluidas en cada conjunto de transformada, y [16][64] denota una transformada secundaria reducida (RST) de 16x64.
Como se muestra en la tabla 3 y la tabla 4, cuando un conjunto de transformada incluye una matriz de núcleo de transformada, se puede usar una primera matriz de núcleo de transformada o una segunda matriz de núcleo de transformada para el conjunto de transformada de la tabla 8.
Si bien se emiten 16 coeficientes de transformada cuando se aplica la RST, solo se pueden generar m coeficientes de transformada cuando solo se aplica una porción mx64 de una matriz de 16x64. Por ejemplo, cuando solo se generan ocho coeficientes de transformada configurando m=8 y multiplicando solo una matriz de 8x64 desde arriba, es posible reducir la cantidad computacional a la mitad. Para reducir la cantidad computacional en el peor de los casos, se puede aplicar una matriz de 8x64 a una unidad de transformada (TU) de 8x8.
Una matriz de transformada de m x 64 aplicable a una región de 8 x 8 (m < 16, por ejemplo, las matrices de núcleo de transformada de la tabla 8) recibe 64 piezas de datos y genera m coeficientes. Es decir, como se muestra en la ecuación 5, cuando los 64 datos forman un vector de 64 x 1, se genera un vector de m x 1 al multiplicar secuencialmente una matriz de m x 64 por un vector de 64 x 1. Aquí, las 64 piezas de datos que forman la región de 8 x 8 pueden organizarse correctamente para formar un vector de 64 x 1. Por ejemplo, como se muestra en la tabla 10, los datos pueden organizarse en el orden de los índices indicados en las posiciones respectivas en la región de 8x8.
[Tabla 10]
Figure imgf000028_0001
Como se muestra en la tabla 10, los datos se organizan en la dirección de la primera fila en la región de 8 x 8 para una transformada secundaria. Este orden se refiere a un orden en el que los datos bidimensionales se organizan unidimensionalmente para una transformada secundaria, específicamente una RST o una LFNST, y puede aplicarse a una transformada secundaria directa realizada en un aparato de codificación. Por consiguiente, en una transformada secundaria inversa realizada por el transformador inverso del aparato de codificación o el transformador inverso del aparato de decodificación, los coeficientes de transformada generados como resultado de la transformada, es decir, los coeficientes de transformada primaria, pueden disponerse bidimensionalmente como se muestra en la tabla 10.
Cuando hay 67 modos de predicción intra como se muestra en la figura 5, todos los modos direccionales (modo 2 a modo 66) están configurados simétricamente con respecto al modo 34. Es decir, el modo (2 n) es simétrico al modo (66 - n) (0 < n < 31) con respecto al modo 34 en términos de dirección de predicción. Por lo tanto, si un orden de disposición de datos para configurar un vector de entrada de 64 x 1 para el modo (2 n), es decir, los modos 2 a 33, corresponde a la dirección de la primera fila como se muestra en la tabla 10, un vector de entrada de 64 x 1 para el modo (66-n) puede configurarse en el orden mostrado en la tabla 11.
[Tabla 11]
Figure imgf000028_0002
Como se muestra en la tabla 11, los datos se organizan en la dirección de la primera columna en la región de 8 x 8 para una transformada secundaria. Este orden se refiere a un orden en el que los datos bidimensionales se organizan unidimensionalmente para una transformada secundaria, específicamente una RST o una LFNST, y puede aplicarse a una transformada secundaria directa realizada en un aparato de codificación. Por consiguiente, en una transformada secundaria inversa realizada por el transformador inverso del aparato de codificación o el transformador inverso del aparato de decodificación, los coeficientes de transformada generados como resultado de la transformada, es decir, los coeficientes de transformada primaria, pueden disponerse bidimensionalmente como se muestra en la tabla 11.
La tabla 11 muestra que, para el modo de predicción intra (66-n), es decir, para los modos 35 a 66, se puede configurar un vector de entrada de 64 x 1 de acuerdo con la dirección de la primera columna.
En resumen, se puede aplicar la misma matriz de núcleo de transformada mostrada en la tabla 8 mientras se organizan simétricamente los datos de entrada para el modo (2 n) de acuerdo con la dirección de la primera fila y los datos de entrada para el modo (66 - n) (0 < n < 31) de acuerdo con la dirección de la primera columna. En la tabla 5 a la tabla 7 se muestra una matriz de núcleo de transformada que se aplicará en cada modo. Aquí, el orden de disposición mostrado en la tabla 10 o el orden de disposición mostrado en la tabla 11 se puede aplicar para el modo plano del modo de predicción intra 0, el modo DC del modo de predicción intra 1 y el modo de predicción intra 34. Por ejemplo, para el modo de predicción intra 34, los datos de entrada se pueden organizar de acuerdo con la dirección de la primera fila como se muestra en la tabla 10.
De acuerdo con otro ejemplo, todas las matrices de núcleo de transformada ilustrativas mostradas en la tabla 9 aplicables a una región de 4x4 son matrices de núcleo de transformada multiplicadas por 128 como un valor de escala. En un conjunto g_aiNsst4x4[N1][N2][16][64] presente en los conjuntos de matrices de la tabla 9, N1 denota el número de conjuntos de transformada (N1 es 4 o 35, distinguidos por el índice 0, 1, y N1-1), N2 denota el número (1 o 2) de matrices de núcleo de transformada incluidas en cada conjunto de transformada, y [16][16] denota una transformada de 16x16.
Como se muestra en la tabla 3 y la tabla 4, cuando un conjunto de transformada incluye una matriz de núcleo de transformada, se puede usar una primera matriz de núcleo de transformada o una segunda matriz de núcleo de transformada para el conjunto de transformada de la tabla 9.
Al igual que en la RST de 8x8, solo se pueden generar m coeficientes de transformada cuando solo se aplica una porción de mx16 de una matriz de 16x16. Por ejemplo, cuando solo se generan ocho coeficientes de transformada configurando m=8 y multiplicando solo una matriz de 8x16 desde la parte superior, es posible reducir la cantidad computacional a la mitad. Para reducir la cantidad computacional en el peor de los casos, se puede aplicar una matriz de 8x16 a una unidad de transformada (TU) de 4x4.
Básicamente, las matrices de núcleo de transformada aplicables a una región de 4x4, presentadas en la tabla 9, pueden aplicarse a una TU 4x4, una TU 4xM y una TU Mx4(M> 4, la TU 4xM y la TU Mx4 pueden dividirse en regiones de 4x4, a las que se puede aplicar cada matriz de núcleo de transformada designada, o las matrices de núcleo de transformada se pueden aplicar solo a una región máxima de 4x8 u 8x4 superior izquierda) o se pueden aplicar solo a una región de 4x4 superior izquierda. Si la transformada secundaria está configurada para aplicarse solo a la región de 4x4 superior izquierda, las matrices de núcleo de transformada aplicables a una región de 8x8, mostradas en la tabla 8, pueden ser innecesarias.
Una matriz de transformada de m x 16 aplicable a una región de 4 x 4 (m < 16, por ejemplo, las matrices de núcleo de transformada de la tabla 9) recibe 16 piezas de datos y genera m coeficientes. Es decir, cuando los 16 datos forman un vector de 16 x 1, se genera un vector de m x 1 multiplicando secuencialmente una matriz de m x 16 y un vector de 16 x 1. Aquí, los 16 datos que forman la región de 4 x 4 pueden organizarse adecuadamente para formar un vector de 16 x 1. Por ejemplo, como se muestra en la tabla 12, los datos pueden organizarse en el orden de los índices indicados en las posiciones respectivas en la región 4 x 4.
[Tabla 12]
Figure imgf000029_0001
Como se muestra en la tabla 12, los datos se organizan en la dirección de la primera fila en la región 4 x 4 para una transformada secundaria. Este orden se refiere a un orden en el que los datos bidimensionales se organizan unidimensionalmente para una transformada secundaria, específicamente una RST o una LFNST, y puede aplicarse a una transformada secundaria directa realizada en un aparato de codificación. Por consiguiente, en una transformada secundaria inversa realizada por el transformador inverso del aparato de codificación o el transformador inverso del aparato de decodificación, los coeficientes de transformada generados como resultado de la transformada, es decir, los coeficientes de transformada primaria, pueden disponerse bidimensionalmente como se muestra en la tabla 12.
Cuando hay 67 modos de predicción intra como se muestra en la figura 5, todos los modos direccionales (modo 2 a modo 66) están configurados simétricamente con respecto al modo 34. Es decir, el modo (2 n) es simétrico al modo (66 - n) (0 < n < 31) con respecto al modo 34 en términos de dirección de predicción. Por lo tanto, si un orden de disposición de datos para configurar un vector de entrada de 16 x 1 para el modo (2 n), es decir, los modos 2 a 33, corresponde a la dirección de la primera fila como se muestra en la tabla 12, un vector de entrada de 64 x 1 para el modo (66-n) puede configurarse en el orden mostrado en la tabla 13.
[Tabla 13]
Figure imgf000030_0001
Como se muestra en la tabla 13, los datos se organizan en la dirección de la primera columna en la región 4 x 4 para una transformada secundaria. Este orden se refiere a un orden en el que los datos bidimensionales se organizan unidimensionalmente para una transformada secundaria, específicamente una RST o una LFNST, y puede aplicarse a una transformada secundaria directa realizada en un aparato de codificación. Por consiguiente, en una transformada secundaria inversa realizada por el transformador inverso del aparato de codificación o el transformador inverso del aparato de decodificación, los coeficientes de transformada generados como resultado de la transformada, es decir, los coeficientes de transformada primaria, pueden disponerse bidimensionalmente como se muestra en la tabla 13.
La tabla 13 muestra que, para el modo de predicción intra (66-n), es decir, para los modos 35 a 66, se puede configurar un vector de entrada de 16 x 1 de acuerdo con la dirección de la primera columna.
En resumen, se pueden aplicar las mismas matrices de núcleo de transformada mostradas en la tabla 9 mientras se organizan simétricamente los datos de entrada para el modo (2 n) de acuerdo con la dirección de la primera fila y los datos de entrada para el modo (66 - n) (0 < n < 31 ) de acuerdo con la dirección de la primera columna. En la tabla 5 a la tabla 7 se muestra una matriz de núcleo de transformada que se aplicará en cada modo. Aquí, el orden de disposición mostrado en la tabla 12 o el orden de disposición mostrado en la tabla 13 se puede aplicar para el modo plano del modo de predicción intra 0, el modo DC del modo de predicción intra 1 y el modo de predicción intra 34. Por ejemplo, para el modo de predicción intra 34, los datos de entrada se pueden organizar de acuerdo con la dirección de la primera fila como se muestra en la tabla 12.
Por otra parte, de acuerdo con otra realización de este documento, para 64 piezas de datos que forman una región de 8 x 8, no se puede utilizar la matriz de núcleo de transformada máxima de 16 x 64 de las tablas 8 y 9, sino que se puede aplicar una matriz de núcleo máxima de 16 x 48 seleccionando sólo 48 piezas de datos. Aquí, "máximo" significa que el valor máximo de m es 16 para una matriz de núcleo de transformada mx48 capaz de generar m coeficientes.
Una matriz de núcleo de transformada de 16 x 48 según la presente realización puede representarse como se muestra en la tabla 14.
[Tabla 14]
Figure imgf000031_0001
Figure imgf000032_0001
Figure imgf000033_0001
Figure imgf000034_0001
Figure imgf000035_0001
Figure imgf000036_0001
Figure imgf000037_0001
Figure imgf000038_0001
Cuando la RST se realiza aplicando una matriz de transformada de m x 48 (m < 16) a una región de 8 x 8, se introducen 64 piezas de datos y se pueden generar m coeficientes. La tabla 14 muestra un ejemplo de una matriz de núcleo de transformada cuando m es 16, se introducen 48 piezas de datos y se generan 16 coeficientes. Es decir, suponiendo que 48 piezas de datos forman un vector de 48 x 1, se puede generar un vector de 16x1 multiplicando secuencialmente una matriz de 16 x 48 por un vector de 48 x 1. En este momento, 48 piezas de datos que forman una región de 8 x 8 se pueden organizar correctamente para formar un vector de 48 x 1, y los datos de entrada se pueden organizar en el siguiente orden.
[Tabla 15]
Figure imgf000038_0002
Figure imgf000039_0001
Cuando se realiza la RST, como se muestra en la tabla 14, cuando se realiza una operación matricial aplicando una matriz de núcleo de transformada máxima de 16 x 48, se generan 16 coeficientes de transformada modificados, los 16 coeficientes de transformada modificados se pueden organizar en la región de 4x4 superior izquierda según el orden de exploración, y la región de 4x4 superior derecha y la región de 4x4 inferior izquierda se pueden rellenar con ceros. La tabla 16 muestra un ejemplo del orden de disposición de 16 coeficientes de transformada modificados generados por medio de la operación matricial.
[Tabla 16]
Figure imgf000039_0002
Como se muestra en la tabla 16, el coeficiente de transformada modificado generado cuando se aplica la matriz de núcleo de transformada máxima de 16 x 48 se puede completar en la región superior izquierda de 4 x 4 de acuerdo con el orden de exploración. En este caso, el número de cada posición en la región superior izquierda de 4 x 4 indica el orden de exploración. Por lo general, el coeficiente generado a partir de una operación de producto interno de la fila superior de la matriz de núcleo de transformada de 16 x 48 y el vector de columna de entrada de 48 x 1 es el primero en el orden de exploración. En este caso, la dirección de descenso a la fila inferior y el orden de exploración pueden coincidir. Por ejemplo, un coeficiente generado a partir de la operación del producto interno entre un vector de columna de entrada de 48x1 y una n-ésima fila desde arriba se convierte en el n-ésimo en el orden de exploración.
En el caso de la matriz de núcleo de transformada máxima de 16 x 48, la región de 4 x 4 superior derecha de la tabla 16 es el área a la que no se aplica la transformada secundaria, por lo que se conservan tal cual los datos de entrada originales (coeficiente de transformada primaria), y la región 4 x 4 en la región 4 x 4 superior derecha y la región 4 x 4 inferior izquierda se rellenarán con ceros.
Además, según otra forma de realización, también se puede aplicar un orden de exploración distinto del orden de exploración mostrado en la tabla 16. Por ejemplo, se puede aplicar la dirección de la primera fila o la dirección de la primera columna como orden de exploración.
Además, incluso si se aplica la matriz de núcleo de transformada de 16 x 64 mostrada en la tabla 8, se generan igualmente 16 coeficientes de transformada, por lo que los 16 coeficientes de transformada se pueden organizar en el orden de exploración mostrado en la tabla 16 y, en el caso de aplicarse la matriz de núcleo de transformada de 16 x 64, dado que la operación matricial se realiza utilizando la totalidad de los 64 datos de entrada en lugar de 48, se llenan de ceros todas las regiones de 4 x 4 excepto la región de 4 x 4 superior derecha. También en este caso, se puede aplicar el orden de exploración en la dirección diagonal como se muestra en la tabla 16, y se puede aplicar otro orden de exploración tal como la dirección de la primera fila o la dirección de la primera columna.
Por otra parte, cuando se realiza la RST o LFNST inversa como un proceso de transformada inversa realizado por el aparato de decodificación, los datos del coeficiente de entrada a los que se aplica la RST inversa se componen de un vector 1 -D de acuerdo con el orden de disposición de la tabla 16. , y el vector de coeficientes modificado obtenido al multiplicar el vector 1D y la matriz RST inversa correspondiente desde la izquierda se puede organizar en un bloque 2D de acuerdo con el orden de disposición de la tabla 15.
Para obtener el coeficiente de transformada, el aparato de decodificación primero puede disponer la información sobre el coeficiente de transformada recibido según el orden de exploración inverso, es decir, el orden de exploración diagonal desde 64 en la figura 7.
A continuación, la unidad de transformada inversa 322 del aparato de decodificación puede aplicar la matriz de núcleo de transformada a los coeficientes de transformada dispuestos en una dimensión de acuerdo con el orden de exploración de la tabla 16. Es decir, se pueden obtener 48 coeficientes de transformada modificados, por medio de la operación matricial entre coeficientes de transformada unidimensionales dispuestos de acuerdo con el orden de exploración en la tabla 16 y la matriz de núcleo de transformada basada en la matriz de núcleo de transformada en la tabla 14. Es decir, los coeficientes de transformada unidimensionales se pueden obtener en los 48 coeficientes de transformada modificados, por medio de la operación matricial con una matriz en la que se transpone la matriz de núcleo de transformada de la tabla 14.
Los 48 coeficientes de transformada modificados obtenidos de este modo se pueden organizar en dos dimensiones como se muestra en la tabla 15 para la transformada primaria inversa.
En resumen, en el proceso de transformada, cuando se aplica RST o LFNST a la región de 8x8, la operación de transformada se realiza entre 48 coeficientes de transformada entre los coeficientes de transformada de la región de 8x8 en las regiones superior izquierda, superior derecha e inferior izquierda de la región de 8x8 excluyendo la región inferior derecha de la región de 8x8 y el núcleo de matriz de transformada 16x48. Para la operación matricial, se introducen 48 coeficientes de transformada en un conjunto unidimensional en el orden mostrado en la tabla 15. Cuando se realiza una operación matricial de este tipo, se obtienen 16 coeficientes de transformada modificados, y los coeficientes de transformada modificados se pueden organizar de la forma mostrada en la tabla 16 en la región superior izquierda de la región de 8x8.
Por el contrario, en el proceso de conversión inversa, cuando se aplica RST o LFNST inversa a la región de 8x8, se introducen 16 coeficientes de transformada correspondientes a la parte superior izquierda de la región de 8x8 entre los coeficientes de transformada de la región de 8x8, en forma de conjunto unidimensional de acuerdo con el orden de exploración mostrado en la tabla 16, de modo que la operación de transformada se realiza entre la matriz de núcleo de transformada de 48x16 y los 16 coeficientes de transformada. Es decir, la operación matricial en este caso se puede expresar como (matriz de 48 x 16) * (vector de coeficientes de transformada 16 x 1) = (vector de coeficientes de transformada modificado 48 x 1). Aquí, dado que el vector nx1 puede interpretarse con el mismo significado que la matriz nx1, puede expresarse como un vector columna nx1. Además, * significa operación de multiplicación matricial. Cuando se realiza una operación matricial de este tipo, se pueden obtener los 48 coeficientes de transformada modificados, y los 48 coeficientes de transformada modificados se pueden organizar en la región superior izquierda, superior derecha e inferior izquierda, excluyendo la región inferior derecha de la región de 8x8, como se muestra en la tabla 15.
Al mismo tiempo, según una realización, como se muestra en la tabla 15, la disposición de los datos en una región de 8 x 8 para la transformada secundaria está en el orden de la primera fila. Cuando hay 67 modos de predicción intra como se muestra en la figura 5, todos los modos direccionales (modo 2 a modo 66) están configurados simétricamente con respecto al modo 34. Es decir, el modo (2 n) es simétrico al modo (66 - n) (0 < n < 31) con respecto al modo 34 en términos de dirección de predicción. Por lo tanto, si un orden de disposición de datos para configurar un vector de entrada de 48 x 1 para el modo (2 n), es decir, los modos 2 a 33, corresponde a la dirección de la primera fila como se muestra en la tabla 15, un vector de entrada de 48 x 1 para el modo (66-n) se puede configurar en el orden mostrado en la tabla 17.
[Tabla 17]
Figure imgf000040_0001
Como se muestra en la tabla 11, los datos se organizan en la dirección de la primera columna en la región de 8 x 8 para una transformada secundaria. La tabla 17 muestra que, para el modo de predicción intra (66-n), es decir, para los modos 35 a 66, se puede configurar un vector de entrada de 48 x 1 de acuerdo con la dirección de la primera columna. En resumen, se puede aplicar la misma matriz de núcleo de transformada mostrada en la tabla 14 mientras se organizan simétricamente los datos de entrada para el modo (2 n) de acuerdo con la dirección de la primera fila y los datos de entrada para el modo (66 - n) (0 < n < 31) de acuerdo con la dirección de la primera columna. En la tabla 5 a la tabla 7 se muestra una matriz de núcleo de transformada que se aplicará en cada modo.
Aquí, el orden de disposición mostrado en la tabla 15 o el orden de disposición mostrado en la tabla 17 se puede aplicar para el modo plano del modo de predicción intra 0, el modo DC del modo de predicción intra 1 y el modo de predicción intra 34. Por ejemplo, para el modo plano del modo de predicción intra 0, el modo DC del modo de predicción intra 1 y el modo de predicción intra 34, los datos de entrada se pueden organizar de acuerdo con la dirección de la primera fila como se muestra en la tabla 15 y el orden de disposición mostrado en la tabla 16 se puede aplicar a los coeficientes de transformada obtenidos. Alternativamente, para el modo plano del modo de predicción intra 0, el modo DC del modo de predicción intra 1 y el modo de predicción intra 34, los datos de entrada se pueden organizar de acuerdo con la dirección de la primera columna como se muestra en la tabla 17 y el orden de disposición mostrado. en la tabla 16 se puede aplicar a los coeficientes de transformada obtenidos.
Como se describió anteriormente, cuando la matriz de núcleo de transformada de 16 x 48 de la tabla 14 se aplica a la transformada secundaria, la región superior derecha de 4 x 4 y la región inferior izquierda de 4 x 4 de la región de 8 x 8 se rellenan con ceros como se muestra en la tabla 16. Cuando se aplica una matriz de núcleo de transformada m x 48 a la transformada secundaria (m < 16), no solo la región superior derecha de 4 x 4 y la región inferior izquierda de 4 x 4, sino también de la (m 1)-ésima a 16-ésima en el orden de exploración mostrado en la tabla 16 se pueden llenar con ceros.
Por lo tanto, si hay algún coeficiente de transformada distinto de cero desde la posición (m 1)-ésima a la 16-ésima en el orden de exploración o en la región superior derecha de 4 x 4 o en la región inferior izquierda de 4 x 4, se puede considerar que la transformada secundaria m x 48 (m < 16) no se aplica. En este caso, el índice de la transformada secundaria puede no señalizarse. El aparato de decodificación primero analiza sintácticamente el coeficiente de transformada y comprueba si se cumple la condición correspondiente (es decir, si existe un coeficiente de transformada distinto de cero en la región donde el coeficiente de transformada debería ser 0) y, si se cumple, el aparato de decodificación puede inferir que el índice para la transformada secundaria es cero sin analizar sintácticamente el índice. Por ejemplo, en el caso de m = 16, se puede determinar si se aplica la transformada secundaria y si se analiza sintácticamente el índice de la transformada secundaria comprobando si hay un coeficiente distinto de cero en la región superior derecha de 4 x 4. o la región inferior izquierda 4 x 4.
Al mismo tiempo, la tabla 18 muestra otro ejemplo de matrices de núcleo de transformada que se pueden aplicar a una región de 4 x 4.
Figure imgf000042_0001
Figure imgf000043_0001
Figure imgf000044_0001
Figure imgf000045_0001
Se pueden proponer las siguientes realizaciones para reducir la cantidad computacional en el peor de los casos. En este documento, una matriz que incluye M filas y N columnas se expresa como una matriz MxN, y la matriz MxN se refiere a una matriz de transformada aplicada en una transformada directa, es decir, cuando el aparato de codificación realiza una transformada (RST). Por consiguiente, en la transformada inversa (RST inversa) realizada por el aparato de decodificación, se puede utilizar una matriz NxM obtenida transponiendo la matriz MxN. Además, a continuación se describe un caso en el que se aplica una matriz de núcleo de transformada de mx64 (m < 16) como matriz de transformada para una región de 8 x 8, pero lo mismo puede aplicar a un caso en el que el vector de entrada es 48 x 1 y la matriz de núcleo de transformada mx48 es (m < 16). Es decir, 16 x 64 (o m x 64) puede reemplazarse por 16 x 48 (o m x 48).
1) En el caso de un bloque (por ejemplo, una unidad de transformada) que tiene una anchura de W y una altura de H donde W>8 y H>8, una matriz de núcleo de transformada aplicable a una región de 8x8 se aplica a una región de 8x8 superior izquierda del bloque. En un caso en el que W=8 y H=8, solo se puede aplicar una porción de 8 x 64 de una matriz de 16x64. Es decir, pueden generarse ocho coeficientes de transformada. Alternativamente, solo se pueden aplicar 8 x 48 partes de la matriz de 16 x 48. Es decir, se pueden generar 8 coeficientes de transformada.
2) En el caso de un bloque (por ejemplo, una unidad de transformada) que tiene una anchura de W y una altura de H donde uno de W y H es menor que 8, es decir, uno de W y H es 4, una matriz de núcleo de transformada aplicable a una región de 4x4 se aplica a una región superior izquierda del bloque. En un caso en el que W=4 y H=4, solo se puede aplicar una parte de 8x16 de una matriz de 16x16, en cuyo caso se generan ocho coeficientes de transformada.
Si (W, H) = (4, 8) o (8, 4), se aplica una transformada secundaria solo a la región de 4x4 superior izquierda. Si W o H es mayor que 8, es decir, si uno de W y H es igual o mayor que 16 y el otro es 4, la transformada secundaria se aplica solo a dos bloques de 4x4 superiores izquierdos. Es decir, sólo una región superior izquierda de 4x8 u 8x4 se puede dividir en dos bloques de 4x4, y se le puede aplicar una matriz de núcleo de transformada designada.
3) En el caso de un bloque (por ejemplo, una unidad de transformada) que tenga una anchura de W y una altura de H donde tanto W como H sean 4, no se puede aplicar una transformada secundaria.
4) En el caso de un bloque (por ejemplo, una unidad de transformada) que tenga una anchura de W y una altura de H, el número de coeficientes generados al aplicar una transformada secundaria se puede mantener en 1/4 o menos del área de la unidad de transformada (es decir, el número total de píxeles incluidos en la unidad de transformada = WxH). Por ejemplo, cuando tanto W como H son 4, se puede aplicar una matriz superior de 4x16 de una matriz de 16x16 de modo que se generen cuatro coeficientes de transformada.
Suponiendo que se aplica una transformada secundaria solo a una región superior izquierda de 8 x 8 de toda la unidad de transformada (TU), se tienen que generar ocho o menos coeficientes para una unidad de transformada de 4 x 8 o una unidad de transformada de 8x4 y, por lo tanto, una matriz superior de 8x16 de una matriz de 16x16 se puede aplicar a una región de 4x4 superior izquierda. Se puede aplicar una matriz de hasta 16 x 64 (o una matriz de 16 x 48) a una unidad de transformada de 8x8 (se pueden generar hasta 16 coeficientes). En una unidad de transformada 4xN o Nx4 (N>16), se puede aplicar una matriz de 16x16 a un bloque de 4x4 superior izquierdo, o se puede aplicar una matriz de 8x16 superior de la matriz de 16x16 a dos bloques de 4x4 superiores izquierdos. De manera similar, en una unidad de transformada de 4x8 o una unidad de transformada de 8x4, se pueden generar ocho coeficientes de transformada aplicando una matriz de 4x16 superior de la matriz de 16x16 a dos bloques de 4x4 superiores izquierdos.
5) El tamaño máximo de una transformada secundaria aplicada a una región de 4x4 puede limitarse a 8x16. En este caso, la cantidad de memoria requerida para almacenar matrices de núcleo de transformada aplicadas a la región de 4x4 se puede reducir a la mitad en comparación con una matriz de 16x16.
Por ejemplo, en todas las matrices de núcleo de transformada mostradas en la tabla 9 o la tabla 18, el tamaño máximo puede limitarse a 8x16 extrayendo solo una matriz superior de 8x16 de cada matriz de 16x16, y se puede implementar un sistema de codificación de imágenes real para almacenar solo matrices de 8x16 de las matrices de núcleo de transformada.
Si el tamaño de transformada máximo aplicable es 8x16 y el número máximo de multiplicaciones requeridas para generar un coeficiente está limitado a 8, se puede aplicar una matriz de hasta 8x16 a un bloque de 4x4, y se puede aplicar una matriz de hasta 8x16 a cada uno de hasta a dos bloques de 4x4 superiores izquierdos incluidos en un bloque de 4xN o un bloque de Nx4 (N>8, N=2n, n>3). Por ejemplo, se puede aplicar una matriz de 8 x 16 a un bloque de 4 x 4 superior izquierdo en un bloque de 4 x N o un bloque de N x 4 (N>8, N=2n, n>3).
De acuerdo con una realización, cuando se codifica un índice que especifica una transformada secundaria que se aplicará a un componente luma, específicamente, cuando un conjunto de transformada incluye dos matrices de núcleo de transformada, es necesario especificar si aplicar la transformada secundaria y qué matriz de núcleo de transformada aplicar en la transformada secundaria. Por ejemplo, cuando no se aplica una transformada secundaria, un índice de transformada se puede codificar como 0, y cuando se aplica la transformada secundaria, los índices de transformada para dos conjuntos de transformada se pueden codificar como 1 y 2, respectivamente.
En este caso, al codificar el índice de transformada, se puede utilizar codificación unaria truncada. Por ejemplo, pueden asignarse respectivamente códigos binarios de 0, 10 y 11 a los índices de transformada 0, 1 y 2, codificándose así los índices de transformada.
Además, cuando se codifica el índice de transformada mediante codificación unaria truncada, se puede asignar un contexto CABAC diferente a cada contenedor. Al codificar los índices de transformada 0, 10 y 11 en el ejemplo anterior, se pueden usar dos contextos CABAC.
Al codificar un índice de transformada que especifica una transformada secundaria que se aplicará a un componente de croma, específicamente, cuando un conjunto de transformada incluye dos matrices de núcleo de transformada, es necesario especificar si se aplica la transformada secundaria y qué matriz de núcleo de transformada se aplica en la transformada secundaria, de manera similar a cuando se codifica el índice de transformada de la transformada secundaria para el componente luma. Por ejemplo, cuando no se aplica una transformada secundaria, un índice de transformada se puede codificar como 0, y cuando se aplica la transformada secundaria, los índices de transformada para dos conjuntos de transformada se pueden codificar como 1 y 2, respectivamente.
En este caso, al codificar el índice de transformada, se puede utilizar codificación unaria truncada. Por ejemplo, los códigos binarios de 0, 10 y 11 pueden asignarse respectivamente a los índices de transformada 0, 1 y 2, codificándose así los índices de transformada.
Además, cuando se codifica el índice de transformada mediante codificación unaria truncada, se puede asignar un contexto CABAC diferente a cada contenedor. Al codificar los índices de transformada 0, 10 y 11 en el ejemplo anterior, se pueden usar dos contextos CABAC.
De acuerdo con una realización, se puede asignar un conjunto de contexto CABAC diferente de acuerdo con un modo de predicción intra de croma. Por ejemplo, cuando los modos de predicción intra croma se dividen en modos no direccionales, como un modo plano o un modo DC, y otros modos direccionales (es decir, divididos en dos grupos), un conjunto de contexto CABAC correspondiente (que incluye dos contextos) se puede asignar para cada grupo al codificar 0, 10 y 11 en el ejemplo anterior.
Cuando los modos de predicción intra croma se dividen en una pluralidad de grupos y se asigna un conjunto de contexto CABAC correspondiente, es necesario encontrar un valor de modo de predicción intra croma antes de codificar el índice de transformada de una transformada secundaria. Sin embargo, en un modo directo (DM) de croma, dado que un valor de modo de predicción intra de luma se usa tal cual, también es necesario encontrar un valor de modo de predicción intra para un componente de luma. Por lo tanto, cuando se codifica información sobre un componente de croma, puede ocurrir una dependencia de datos sobre la información del componente de luma. Por lo tanto, en el croma DM, al codificar el índice de transformada de la transformada secundaria sin tener información sobre el modo de predicción intra, la dependencia de datos puede eliminarse mapeando a un grupo específico. Por ejemplo, si el modo de predicción intra croma es el DM croma, el índice de transformada se puede codificar utilizando un conjunto de contexto CABAC correspondiente asumiendo el modo planificador o el modo DC, o se puede aplicar un conjunto de contexto CABAC correspondiente asumiendo esos otros modos direccionales. La figura 9 es un diagrama de flujo que ilustra una operación de un aparato de decodificación de video según una realización de la presente descripción.
Cada operación ilustrada en la figura 9 puede ser realizada por el aparato de decodificación 300 ilustrado en la figura 3. Específicamente, S910 puede ser realizada por el decodificador de entropía 310 ilustrado en la figura 3, S920 puede ser realizada por el descuantificador 321 ilustrado en la figura 3, S930 y S940 pueden ser realizadas por el transformador inverso 322 ilustrado en la figura 3, y S950 puede ser realizada por el sumador 340 ilustrado en la figura 3. Las operaciones según S910 a S950 se basan en algunos de los detalles anteriores explicados haciendo referencia a la figura 4 a la figura 8. Por lo tanto, una descripción de detalles específicos que coinciden con los explicados anteriormente haciendo referencia a la figura 3 a la figura 8 se omitirá o se hará brevemente.
El aparato de decodificación 300 según una realización puede obtener coeficientes de transformada cuantificados para un bloque objetivo a partir de un flujo de bits (S910). Específicamente, el aparato de decodificación 300 puede decodificar información sobre los coeficientes de transformada cuantificados para el bloque objetivo desde el flujo de bits y puede obtener los coeficientes de transformada cuantificados para el bloque objetivo basándose en la información sobre los coeficientes de transformada cuantificados para el bloque objetivo. La información sobre los coeficientes de transformada cuantificados para el bloque objetivo puede incluirse en un conjunto de parámetros de secuencia (SPS) o una cabecera de segmento y puede incluir al menos una de información sobre si se aplica una transformada reducida (RST), información sobre un factor reducido , información sobre un tamaño de transformada mínimo al que se aplica la RST, información sobre un tamaño de transformada máximo al que se aplica la RST, información sobre un tamaño de transformada inversa reducido e información sobre un índice de transformada que indica cualquiera de las matrices de núcleo de transformada incluidas en un conjunto de transformada.
El aparato de decodificación 300 según una realización puede obtener coeficientes de transformada descuantificando los coeficientes de transformada cuantificados para el bloque objetivo (S920).
Los coeficientes de transformada obtenidos pueden disponerse según el orden de exploración diagonal inverso en unidades de bloques de 4 x 4, y los coeficientes de transformada en el bloque de 4 x 4 también pueden disponerse según el orden de exploración diagonal inverso. Es decir, los coeficientes de transformada realizados para la cuantificación inversa pueden disponerse de acuerdo con el orden de exploración inversa aplicado en un códec de video tal como en VVC o HEVC.
El aparato de decodificación 300 según una realización puede obtener coeficientes de transformada modificados en base a una transformada secundaria reducida (RST) inversa de los coeficientes de transformada (S930).
En un ejemplo, la RST inversa se puede realizar en base a una matriz de transformada RST inversa, y la matriz de transformada RST inversa puede ser una matriz no cuadrada en la que el número de columnas es menor que el número de filas.
En una realización, S930 puede incluir la decodificación de un índice de transformada, la determinación de si se cumple una condición para aplicar una RST inversa en función del índice de transformada, la selección de una matriz de núcleo de transformada y la aplicación de la RST inversa a los coeficientes de transformada en función de la matriz de núcleo de transformada seleccionada y/o del factor reducido cuando se cumple la condición para aplicar la RST inversa. En este caso, el tamaño de una matriz de transformada inversa reducida puede determinarse basándose en el factor reducido.
El aparato de decodificación 300 según una realización puede obtener muestras residuales para el bloque objetivo basándose en una transformada inversa de los coeficientes de transformada modificados (S940).
El aparato de decodificación 300 puede realizar una transformada primaria inversa sobre los coeficientes de transformada modificados para el bloque objetivo, en cuyo caso se puede aplicar una transformada inversa reducida o se puede usar una transformada separable convencional como transformada primaria inversa.
El aparato de decodificación 300 según una realización puede generar muestras reconstruidas en base a las muestras residuales para el bloque objetivo y las muestras de predicción para el bloque objetivo (S950).
Haciendo referencia a S930, se puede identificar que las muestras residuales para el bloque objetivo se obtienen en base a la RST inversa de los coeficientes de transformada para el bloque objetivo. Desde la perspectiva del tamaño de la matriz de transformada inversa, dado que el tamaño de una matriz de transformada inversa regular es N x N pero el tamaño de la matriz RST inversa se reduce a NxR, es posible reducir el uso de memoria en el caso de realizarse la RST inversa, mediante una relación R/N, en comparación con el caso de realizarse una transformada regular. Además, el uso de la matriz RST inversa puede reducir el número de multiplicaciones (NxR) mediante la relación R/N, en comparación con el número de multiplicaciones N x N en el caso de usarse la matriz de transformada inversa regular. Además, dado que solo es necesario decodificar los coeficientes de transformada R cuando se aplica la RST inversa, el número total de coeficientes de transformada para el bloque objetivo puede reducirse de N a R, en comparación con el caso en el que es necesario decodificar los coeficientes de transformada N cuando se aplica una transformada inversa regular, lo que aumenta la eficiencia de decodificación. Es decir, de acuerdo con S930, la eficiencia de transformada (inversa) y la eficiencia de decodificación del aparato de decodificación 300 pueden incrementarse por medio de la RST inversa.
La figura 10 es un diagrama de flujo de control que ilustra una RST inversa según una realización de la presente descripción.
El aparato de decodificación 300 recibe información sobre coeficientes de transformada cuantificados, un modo de predicción intra y un índice de transformada a través de un flujo de bits (S1000).
Los coeficientes de transformada se obtienen de los coeficientes de transformada cuantificados recibidos a través del flujo de bits, por medio de descuantificación, como se muestra en S920 de la figura 9.
Para aplicar una RST inversa a los coeficientes de transformada descuantificados, se obtienen un conjunto de transformada y una matriz de núcleo de transformada para aplicar a un bloque objetivo (S1010).
De acuerdo con un ejemplo, el conjunto de transformada se puede obtener en base a una relación de mapeo de acuerdo con un modo de predicción intra para el bloque objetivo, y una pluralidad de modos de predicción intra se pueden mapear a un conjunto de transformada. Cada conjunto de transformada puede incluir una pluralidad de matrices de núcleo de transformada. Un índice de transformada puede indicar cualquiera de la pluralidad de matrices de núcleo de transformada. Por ejemplo, cuando un conjunto de transformada incluye dos matrices de núcleo de transformada, el índice de transformada puede indicar cualquiera de las dos matrices de núcleo de transformada. Un elemento de sintaxis del índice de transformada según una realización puede indicar si se aplica una RST inversa y una de las matrices de núcleo de transformada está incluida en el conjunto de transformada. Cuando el conjunto de transformada incluye dos matrices de núcleo de transformada, el elemento de sintaxis del índice de transformada puede tener tres valores.
Es decir, según una realización, el valor del elemento de sintaxis del índice de transformada puede incluir 0 que indica que la RST inversa no se aplica al bloque objetivo, 1 que indica una primera matriz de núcleo de transformada de las matrices de núcleo de transformada y 2 que indica una segunda matriz de núcleo de transformada de las matrices de núcleo de transformada. Esta información se recibe como información de sintaxis y la información de sintaxis se recibe como una cadena binaria que incluye 0 y 1.
La matriz de núcleo de transformada según un ejemplo se puede aplicar a una región superior izquierda específica del bloque objetivo, por ejemplo, una región de 8 x 8 o una región de 4 x 4, según el tamaño reducido o simplificado de una transformada secundaria, y el tamaño de la salida de los coeficientes de transformada modificados, mediante la aplicación de la matriz de núcleo de transformada, es decir, el número de coeficientes de transformada, puede obtenerse en función del índice de transformada, el modo de predicción intra y el tamaño del bloque objetivo al que se aplica la transformada secundaria.
De acuerdo con un ejemplo, cuando la transformada secundaria inversa se aplica a una región del bloque objetivo, es decir, una región de 8 x 8 o una región de 4 x 4, la transformada secundaria inversa se puede aplicar solo a algunos de los coeficientes de transformada incluidos en una región de 8 x 8 o una región de 4 x 4. Para la transformada secundaria inversa, si solo se introducen 48 de los coeficientes de transformada de la región de 8 x 8, la matriz de núcleo de transformada de 64 x m aplicada a la región de 8 x 8 se puede reducir aún más a la matriz de núcleo de transformada de 48 x m.
De acuerdo con un ejemplo, m puede ser 16, y la matriz de núcleo de transformada de 48 x 16 puede ser una matriz de núcleo de transformada basada en la tabla 14, es decir, una matriz obtenida transponiendo a la matriz de la tabla 14. Cuando hay 4 conjuntos de transformada y se incluyen dos matrices de núcleo de transformada en cada conjunto de transformada, un índice de transformada que indica si se aplica una transformada secundaria inversa y cualquiera de las matrices de núcleo de transformada incluidas en el conjunto de transformada puede tener un valor de 0, 1 y 2. Si el índice de transformada es 0, indica que no se aplica la transformada secundaria inversa. Por lo tanto, si hay 4 conjuntos de transformada, la totalidad de las 8 matrices de núcleo de transformada se pueden usar para la transformada secundaria inversa.
Como se muestra en la ecuación 7, los coeficientes de transformada en un conjunto unidimensional obtenido por medio de la descuantificación pueden someterse a una operación matricial con la matriz de núcleo de transformada, obteniéndose así coeficientes de transformada modificados en un conjunto bidimensional.
El transformador inverso 322 según esta realización puede obtener los coeficientes de transformada modificados de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 aplicando la matriz de núcleo de transformada a los coeficientes de transformada de la región de 4x4 superior izquierda de la región de 8x8 del bloque objetivo (S1020).
De acuerdo con un ejemplo, al realizarse la operación matricial entre los coeficientes de transformada de la región de 4x4 superior izquierda de la región de 8x8 y la matriz de núcleo de transformada, los coeficientes de transformada de la región de 4x4 superior izquierda de la región de 8x8 se organizan unidimensionalmente de acuerdo con un orden de exploración diagonal hacia adelante como se muestra en la tabla 16, los coeficientes de transformada del conjunto unidimensional pueden organizarse bidimensionalmente en la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda del región de 8x8 como se muestra en la tabla 15 o la tabla 17 de acuerdo con la dirección de la primera fila o la dirección de la primera columna correspondiente al modo de predicción intra aplicado al bloque objetivo después de la operación matricial con la matriz de núcleo de transformada. Es decir, la transformada secundaria inversa se puede aplicar a los 16 coeficientes de transformada en la región de 4x4 superior izquierda en la región de 8x8, y los 48 coeficientes de transformada modificados se pueden obtener en la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda entre la región de 8x8 por medio de la operación con la matriz de núcleo de transformada.
Cuando el modo de predicción intra aplicable al bloque objetivo es uno de los 65 modos direccionales, el modo de predicción intra es simétrico en torno al modo de predicción intra 34 en la dirección diagonal superior izquierda, y el modo de predicción intra aplicado al bloque objetivo es uno de modo 2 al modo 34 en la dirección izquierda con respecto al modo de predicción intra 34, los coeficientes de transformada modificados están dispuestos bidimensionalmente según la dirección de la primera fila.
Si el modo de predicción intra aplicado al bloque objetivo es uno del modo 35 al modo 66 en la dirección derecha c el modo de predicción intra 34, los coeficientes de transformada modificados pueden disponerse bidimensionalmente según la dirección de la primera columna.
Además, si el modo de predicción intra aplicado al bloque objetivo es el modo plano o el modo DC, los coeficientes de transformada modificados pueden disponerse bidimensionalmente según la dirección de la primera fila.
El transformador inverso 322 puede aplicar la RST inversa para generar el coeficiente de transformada modificado de la región de 8 x 8 o la región de 4 x 4 como un bloque de dimensión 2 y, posteriormente, aplicar la transformada primaria inversa al coeficiente de transformada modificado del bloque de dimensión 2.
La figura 11 es un diagrama de flujo que ilustra una operación de un aparato de codificación de video según una realización de la presente descripción.
Cada operación ilustrada en la figura 11 puede ser realizada por el aparato de codificación 200 ilustrado en la figura 2. Específicamente, S1110 puede ser realizada por el predictor 220 ilustrado en la figura 2, S1120 puede ser realizada por el restador 231 ilustrado en la figura 2, S1130 y S1140 pueden ser realizadas por el transformador 232 ilustrado en la figura 2, y S1150 puede ser realizada por el cuantificador 233 y el codificador de entropía 240 ilustrados en la figura 2. Las operaciones según S1110 a S1150 se basan en algunos de los contenidos descritos en la figura 4 a la figura 8. Por lo tanto, una descripción de detalles específicos que coinciden con los explicados anteriormente haciendo referencia a la figura 2, y las figuras 4 a 8 se omitirá o se hará brevemente.
El aparato de codificación 200 según una realización puede obtener muestras de predicción basándose en un modo de predicción intra aplicado a un bloque objetivo (S110).
El aparato de codificación 200 según una realización puede obtener muestras residuales para el bloque objetivo (S1120).
El aparato de codificación 200 según una realización puede obtener coeficientes de transformada para el bloque objetivo basándose en la transformada primaria de la muestra residual (S1130). La transformada primaria se puede realizar por medio de una pluralidad de núcleos de transformada, y los núcleos de transformada se pueden seleccionar basándose en el modo de predicción intra.
El aparato de decodificación 300 puede realizar una transformada secundaria, específicamente una NSST, sobre los coeficientes de transformada para el bloque objetivo, en cuyo caso la NSST puede realizarse en base a una transformada reducida (RST) o sin basarse en la RST. Cuando la NSST se realiza en base a la transformada reducida, se puede realizar una operación según S1140.
El aparato de codificación 200 según una realización puede obtener coeficientes de transformada modificados para el bloque objetivo basándose en la RST de los coeficientes de transformada (S1140). En un ejemplo, la RST se puede realizar en base a una matriz de transformada reducida o una matriz de núcleo de transformada, y la matriz de transformada reducida puede ser una matriz no cuadrada en la que el número de filas es menor que el número de columnas.
En una realización, S1140 puede incluir determinar si se cumple una condición para aplicar la RST, generar y codificar el índice de transformada en función de la determinación, seleccionar un núcleo de transformada y aplicar la RST a las muestras residuales en función de la matriz de núcleo de transformada seleccionado y /o un factor reducido cuando se cumpla la condición para aplicar la RST. En este caso, el tamaño de la matriz de núcleo de transformada reducido puede determinarse en base al factor reducido.
El aparato de codificación 200 según una realización puede obtener coeficientes de transformada cuantificados realizando una cuantificación basada en los coeficientes de transformada modificados para el bloque objetivo y puede codificar información sobre los coeficientes de transformada cuantificados (S1150).
Específicamente, el aparato de codificación 200 puede generar la información sobre los coeficientes de transformada cuantificados y puede codificar la información generada sobre los coeficientes de transformada cuantificados.
En un ejemplo, la información sobre los coeficientes de transformada cuantificados puede incluir al menos una de información sobre si se aplica la RST, información sobre el factor reducido, información sobre un tamaño mínimo de transformada al que se aplica la RST e información sobre un tamaño máximo de transformada al que se aplica la RST. Haciendo referencia a S1140, se puede identificar que los coeficientes de transformada para el bloque objetivo se obtienen en base a la RST de las muestras residuales. Desde la perspectiva del tamaño de la matriz de núcleo de transformada, dado que el tamaño de una matriz de núcleo de transformada regular es N x N pero el tamaño de la matriz de transformada reducida se reduce a RxN, es posible reducir el uso de memoria en el caso de realizarse la RST por una relación R/N en comparación con el caso de realizarse una transformada regular. Además, utilizar la matriz de núcleo de transformada reducida puede reducir el número de multiplicaciones (R x N) mediante la relación R/N, en comparación con el número de multiplicaciones N x N en el caso de usarse la matriz de núcleo de transformada regular. Además, dado que solo se obtienen coeficientes de transformada R cuando se aplica la RST, el número total de coeficientes de transformada para el bloque objetivo puede reducirse de N a R, en comparación con el caso en el que se obtienen coeficientes de transformada N cuando se aplica una transformada regular, reduciéndose así la cantidad de datos transmitidos por el aparato de codificación 200 al aparato de decodificación 300. Es decir, según S1140, la eficiencia de transformada y la eficiencia de codificación del aparato de codificación 320 pueden incrementarse por medio de la RST.
La figura 12 es un diagrama de flujo de control que ilustra una RST según una realización de la presente descripción. Primero, el aparato de codificación 200 puede determinar un conjunto de transformada en base a una relación de mapeo según un modo de predicción intra aplicado a un bloque objetivo (S1200).
El transformador 232 puede seleccionar cualquiera de una pluralidad de matrices de núcleo de transformada incluidas en el conjunto de transformada (S1210).
De acuerdo con un ejemplo, el conjunto de transformada se puede obtener en base a la relación de mapeo de acuerdo con el modo de predicción intra del bloque objetivo, y una pluralidad de modos de predicción intra se pueden mapear a un conjunto de transformada. Cada conjunto de transformada puede incluir una pluralidad de matrices de núcleo de transformada. Cuando un conjunto de transformada incluye dos matrices de núcleo de transformada, un índice de transformada que indica cualquiera de las dos matrices de núcleo de transformada se puede codificar y se puede señalizar al aparato de decodificación.
Cuando se aplican dos transformadas a una muestra residual, la muestra residual puede denominarse coeficiente de transformada después de someterse a una transformada primaria, y puede denominarse coeficiente de transformada modificado después de someterse a la transformada primaria y a continuación a una transformada secundaria, como una RST.
De acuerdo con un ejemplo, cuando la transformada secundaria se aplica a una región del bloque objetivo, es decir, una región de 8 x 8 o una región de 4 x 4, la transformada secundaria se puede aplicar solo a algunos de los coeficientes de transformada incluidos en un región de 8 x 8 o una región de 4 x 4. Por ejemplo, cuando la transformada secundaria se puede aplicar solo a 48 de los coeficientes de transformada de la región de 8 x 8, la matriz de núcleo de transformada de m x 64 aplicada a la región de 8 x 8 se puede reducir aún más a la matriz de núcleo de transformada de m x 48.
De acuerdo con un ejemplo, m puede ser 16, y la matriz de núcleo de transformada de 16 x 48 puede ser una matriz de núcleo de transformada de la tabla 14. Cuando hay 4 conjuntos de transformada y se incluyen dos matrices de núcleo de transformada en cada conjunto de transformada, un índice de transformada que indica si se aplica la transformada secundaria inversa y cualquiera de las matrices de núcleo de transformadas incluidas en el conjunto de transformadas puede tener un valor de 0, 1 y 2. Si el índice de transformada es 0, indica que no se aplica la transformada secundaria inversa. Por lo tanto, si hay 4 conjuntos de transformada, las 8 matrices de núcleo de transformada se pueden usar para la transformada secundaria inversa.
Cuando se realiza la RST sobre los coeficientes de transformada utilizando la matriz de núcleo de transformada, el transformador 232 organiza unidimensionalmente los coeficientes de transformada en un conjunto bidimensional, que se han sometido a la transformada primaria, de acuerdo con la dirección de la primera fila o la dirección de la primera columna, en base al modo de predicción intra aplicado al bloque objetivo específicamente. El transformador 232 de acuerdo con esta realización puede obtener los coeficientes de transformada modificados en la región de 4x4 superior izquierda de la región de 8x8 aplicando la matriz de núcleo de transformada a los coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 del bloque objetivo (S1220).
La matriz de núcleo de transformada se puede aplicar a una región superior izquierda específica del bloque objetivo, por ejemplo, una región de 8 x 8 o una región de 4 x 4 o parte de la región de 8 x 8, de acuerdo con el tamaño reducido o simplificado de una transformada secundaria, y el tamaño de los coeficientes de transformada modificados, emitidos al aplicar la matriz de núcleo de transformada, es decir, el número de coeficientes de transformada modificados, se puede obtener en función del tamaño de la matriz de núcleo de transformada, el modo de predicción intra y el tamaño del bloque objetivo al que se aplica la transformada secundaria.
Los coeficientes de transformada bidimensionales tienen que organizarse unidimensionalmente para una operación matricial con la matriz de núcleo de transformada como se muestra en la ecuación 5, y se puede obtener un número menor de coeficientes de transformada modificados que el de los coeficientes de transformada, por medio de una operación, tal como la ecuación 6.
Es decir, los coeficientes de transformada en el conjunto bidimensional en la región especificada pueden leerse en una dimensión de acuerdo con una cierta dirección, a partir de la cual se obtienen los coeficientes de transformada modificados, por medio de la operación matricial con la matriz de núcleo de transformada.
De acuerdo con un ejemplo, cuando se realiza la operación matricial entre los coeficientes de transformada de la región de 4x4 superior izquierda de la región de 8x8 y la matriz de núcleo de transformada, los 48 coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 se pueden organizar unidimensionalmente, tal como se muestra en la tabla 15 o la tabla 17 de acuerdo con la dirección de la primera fila o la dirección de la primera columna correspondiente al modo de predicción intra aplicado al bloque objetivo, los 16 coeficientes de transformada modificados obtenidos pueden disponerse de acuerdo con la dirección de exploración diagonal en la región de 4x4 superior izquierda de la región de 8x8, como se muestra en la tabla 16.
Cuando el modo de predicción intra aplicable al bloque objetivo es uno de los 65 modos direccionales, el modo de predicción intra es simétrico en torno al modo de predicción intra 34 en la dirección diagonal superior izquierda, y el modo de predicción intra aplicado al bloque objetivo es uno de modo 2 al modo 34 en la dirección izquierda con respecto al modo de predicción intra 34, los coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 pueden disponerse unidimensionalmente de acuerdo con la dirección de la primera fila como se muestra en la tabla 15.
Si el modo de predicción intra aplicado al bloque objetivo es uno del modo 35 al modo 66 en la dirección derecha con respecto al modo de predicción intra modo 34, los coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 se pueden organizar unidimensionalmente, de acuerdo con la dirección de la primera columna, como se muestra en la tabla 17. Además, si el modo de predicción intra aplicado al bloque objetivo es el modo plano o el modo DC, los coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 pueden estar dispuestos unidimensionalmente de acuerdo con la dirección de la primera fila.
Cuando se realiza la RST, la información sobre la RST puede ser codificada por el codificador de entropía 240.
Primero, el codificador de entropía 240 puede obtener un valor de elemento de sintaxis para el índice de transformada que indica cualquiera de las matrices de núcleo de transformada incluidas en el conjunto de transformada, puede binarizar el valor del elemento de sintaxis obtenido para el índice de transformada y puede codificar contenedores de una cadena binaria de un elementos de sintaxis en base a información de contexto, es decir, un modelo de contexto, en una cadena binaria del índice de transformada.
La cadena binaria codificada del elemento de sintaxis puede enviarse como un flujo de bits al aparato de decodificación 300 o al exterior.
En las realizaciones descritas anteriormente, los métodos se explican sobre la base de diagramas de flujo por medio de una serie de etapas o bloques, pero la presente descripción no se limita al orden de las etapas, y una determinada etapa se puede realizar en orden o etapa diferente al descrito anteriormente, o simultáneamente con otra etapa. Además, una persona con experiencia ordinaria en la técnica puede entender que las etapas mostradas en un diagrama de flujo no son excluyentes, y que se puede incorporar otra etapa o se pueden eliminar una o más etapas del diagrama de flujo.
Los métodos descritos anteriormente de acuerdo con la presente descripción pueden implementarse como una forma de software, y un aparato de codificación y/o aparato de decodificación de acuerdo con la descripción puede incluirse en un dispositivo para procesamiento de imágenes, tal como un televisor, un ordenador, un teléfono inteligente, un decodificador, un dispositivo de visualización o similar.
Cuando las realizaciones de la presente descripción se realizan mediante software, los métodos descritos anteriormente pueden realizarse como módulos (procesos, funciones o similares) para realizar las funciones descritas anteriormente. Los módulos pueden almacenarse en una memoria y pueden ser ejecutados por un procesador. La memoria puede estar dentro o fuera del procesador y puede estar conectada al procesador de varias maneras bien conocidas. El procesador puede incluir un circuito integrado de aplicación específica (ASIC), otro conjunto de chips, un circuito lógico y/o un dispositivo de procesamiento de datos. La memoria puede incluir una memoria de solo lectura (ROM), una memoria de acceso aleatorio (RAM), una memoria flash, una tarjeta de memoria, un medio de almacenamiento y/u otro dispositivo de almacenamiento. Es decir, las realizaciones descritas en la presente descripción pueden realizarse y ejecutarse en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales mostradas en cada dibujo pueden realizarse y ejecutarse en un ordenador, un procesador, un microprocesador, un controlador o un chip.
Además, el aparato de decodificación y el aparato de codificación a los que se aplica la presente descripción, pueden incluirse en un transceptor de difusión multimedia, un terminal de comunicación móvil, un dispositivo de video de cine en casa, un dispositivo de video de cine digital, una cámara de vigilancia, un chat de video dispositivo, un dispositivo de comunicación en tiempo real tal como comunicación por video, un dispositivo móvil de transmisión continua, un medio de almacenamiento, una videocámara, un dispositivo que proporciona servicios de video a la carta (VoD), un dispositivo de video de transmisión libre (OTT, over the top), un dispositivo que proporciona un servicio de transmisión continua por internet, un dispositivo de video tridimensional (3D), un dispositivo de video de telefonía de video y un dispositivo de video médico, y puede usarse para procesar una señal de video o una señal de datos. Por ejemplo, el dispositivo de video de transmisión libre (OTT) puede incluir una consola de juegos, un reproductor de Blu-ray, un TV con acceso a internet, un sistema de cine en casa, un teléfono inteligente, una tableta, una grabadora de video digital (DVR) y del similares.
Además, el método de procesamiento al que se aplica la presente descripción puede producirse en forma de un programa ejecutado por un ordenador y almacenarse en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos de acuerdo con la presente descripción también pueden almacenarse en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento y dispositivos de almacenamiento distribuido en los que se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir, por ejemplo, un disco Blu-ray (BD), un bus serie universal (USB), una ROM, una PROM, una EPROM, una EEPRo M, una rAm , un CD-ROM, una cinta magnética, un disquete y un dispositivo óptico de almacenamiento de datos. Además, el medio de grabación legible por ordenador incluye medios realizados en forma de onda portadora (por ejemplo, transmisión sobre internet). Además, un flujo de bits generado por el método de codificación puede almacenarse en un medio de grabación legible por ordenador o transmitirse a través de una red de comunicación cableada o inalámbrica. Además, las realizaciones de la presente descripción pueden realizarse como un producto de programa informático mediante códigos de programa, y los códigos de programa pueden ejecutarse en un ordenador mediante las realizaciones de la presente descripción. Los códigos de programa pueden almacenarse en un soporte legible por ordenador.
La figura 13 ilustra la estructura de un sistema de transmisión continua de contenido al que se aplica la presente descripción.
Además, el sistema de transmisión continua de contenido al que se aplica la presente descripción puede incluir, sobre todo, un servidor de codificación, un servidor de transmisión continua, un servidor web, un almacenamiento de medios, un equipo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación funciona para comprimir en datos digitales la entrada de contenido desde los dispositivos de entrada multimedia, tales como el teléfono inteligente, la cámara, la videocámara y similares, para generar un flujo de bits y transmitirlo al servidor de transmisión continua. Como otro ejemplo, en un caso en el que el dispositivo de entrada multimedia, tal como el teléfono inteligente, la cámara, la videocámara o similar, genera directamente un flujo de bits, se puede omitir el servidor de codificación. El flujo de bits puede generarse mediante un método de codificación o un método de generación de flujo de bits al que se aplica la presente descripción. Y el servidor de transmisión continua puede almacenar el flujo de bits temporalmente durante un proceso para transmitir o recibir el flujo de bits.
El servidor de transmisión continua transmite datos multimedia al equipo del usuario sobre la base de la solicitud de un usuario a través del servidor web, que funciona como un instrumento que informa al usuario de qué servicio hay. Cuando el usuario solicita un servicio que el usuario desea, el servidor web transfiere la solicitud al servidor de transmisión continua, y el servidor de transmisión continua transmite datos multimedia al usuario. A este respecto, el sistema de transmisión continua de contenido puede incluir un servidor de control independiente y, en este caso, el servidor de control funciona para controlar comandos/respuestas entre equipos respectivos en el sistema de transmisión continua de contenido.
El servidor de transmisión continua puede recibir contenidos desde el almacenamiento de medios y/o el servidor de codificación. Por ejemplo, en el caso de que los contenidos se reciban desde el servidor de codificación, los contenidos pueden recibirse en tiempo real. En este caso, el servidor de transmisión continua puede almacenar el flujo de bits durante un período de tiempo predeterminado para proporcionar el servicio de transmisión continua sin problemas. Por ejemplo, el equipo de usuario puede incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de difusión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), un sistema de navegación, un PC de pizarra, una tableta PC, un ultrabook, un dispositivo ponible (por ejemplo, un terminal tipo reloj (reloj inteligente), un terminal tipo gafas (gafas inteligentes), una pantalla montada en la cabeza (HMD)), un televisor digital, un ordenador de escritorio, un elemento de señalización digital, o similares. Cada uno de los servidores del sistema de transmisión continua de contenidos puede funcionar como un servidor distribuido y, en este caso, los datos recibidos por cada servidor pueden procesarse de forma distribuida.

Claims (10)

REIVINDICACIONES
1. Un método de decodificación de imágenes realizado por un aparato de decodificación, comprendiendo el método:
recibir (S910) un flujo de bits;
obtener muestras de predicción en base a un modo de predicción intra aplicado a un bloque objetivo de una imagen;
obtener un conjunto bidimensional de coeficientes de transformada basándose en el flujo de bits recibido; obtener una pluralidad de primeros coeficientes de transformada a partir de una región de 4x4 superior izquierda del conjunto bidimensional de coeficientes de transformada;
obtener una pluralidad de segundos coeficientes de transformada en base a una transformada secundaria inversa de la pluralidad de primeros coeficientes de transformada;
obtener un conjunto bidimensional de valores en base a la pluralidad de segundos coeficientes de transformada, donde la pluralidad de segundos coeficientes de transformada son mapeados a una región de 8x8 superior izquierda del conjunto bidimensional de valores, excluyendo una región de 4x4 inferior derecha dentro de la región de 8x8 superior izquierda;
obtener (S940) un conjunto de muestras residuales en base a una transformada primaria inversa del conjunto bidimensional de valores; y
generar (S950) una imagen reconstruida basada en el conjunto de muestras residuales y las muestras de predicción,
en el que la obtención de la pluralidad de segundos coeficientes de transformada en base a la transformada secundaria inversa de la pluralidad de primeros coeficientes de transformada, comprende:
realizar una operación matricial entre una matriz de núcleo de transformada y la pluralidad de primeros coeficientes de transformada, en la que la pluralidad de primeros coeficientes de transformada están dispuestos de acuerdo con un orden de exploración diagonal hacia adelante de la región de 4x4 superior izquierda del conjunto bidimensional de coeficientes de transformada,
en el que la matriz de núcleo de transformada es una matriz de 48 x 16, y
en el que la operación matricial entre la matriz de núcleo de transformada y la pluralidad de primeros coeficientes de transformada de la región de 4x4 superior izquierda es (matriz de 48 x 16) * (vector de coeficientes de transformada de 16 x 1).
2. El método de decodificación de imágenes, según la reivindicación 1,
en el que obtener el conjunto bidimensional de coeficientes de transformada comprende: obtener (S920) los coeficientes de transformada realizando una descuantificación basada en los coeficientes de transformada cuantificados.
3. El método de decodificación de imágenes, según la reivindicación 1, en el que la pluralidad de segundos coeficientes de transformada son mapeados a la región de 8x8 superior izquierda del conjunto bidimensional de valores, excluyendo la región de 4x4 inferior derecha dentro de la región de 8x8 superior izquierda, de modo que: la pluralidad de segundos coeficientes de transformada son mapeados a (i) una región de 4x4 superior izquierda dentro de la región de 8x8 superior izquierda, (ii) una región de 4x4 superior derecha dentro de la región de 8x8 superior izquierda, y (iii) una región de 4x4 inferior izquierda dentro de la región de 8x8 superior izquierda, de acuerdo con la dirección de la primera fila o la dirección de la primera columna correspondiente a un modo de predicción intra aplicado después de realizar la operación matricial con la matriz de núcleo de transformada.
4. El método de decodificación de imágenes, según la reivindicación 1, en el que la RST inversa se realiza en base a un conjunto de transformada determinado en base a una relación de mapeo de acuerdo con el modo de predicción intra aplicado al bloque objetivo y una matriz de núcleo de transformada seleccionada entre una pluralidad de matrices de núcleo de transformada comprendida en cada uno de los conjuntos de transformada, y se realiza en función de un índice de transformada que indica si se aplica la RST inversa y una de las matrices de núcleo de transformada comprendida en el conjunto de transformada.
5. El método de decodificación de imágenes, según la reivindicación 4, en el que cuando el número de conjuntos de transformada es 4 y se incluyen dos matrices de núcleo de transformada en cada conjunto de transformada, la matriz de núcleo de transformada aplicada a los coeficientes de transformada de la región de 4x4 superior izquierda de la región de 8x8 del bloque objetivo es como sigue:
Figure imgf000055_0001
Figure imgf000056_0001
Figure imgf000057_0001
Figure imgf000058_0001
Figure imgf000059_0001
Figure imgf000060_0001
Figure imgf000061_0001
6. Un método de codificación de imágenes realizado por un aparato de codificación de imágenes, comprendiendo el método:
obtener (S1110) muestras de predicción en base a un modo de predicción intra aplicado a un bloque objetivo de una imagen;
obtener (S1120) un conjunto de muestras residuales en base a las muestras de predicción;
obtener (S1130) un conjunto bidimensional de valores en base a una transformada primaria del conjunto de muestras residuales;
obtener una pluralidad de segundos coeficientes de transformada del conjunto bidimensional de valores, donde la pluralidad de segundos coeficientes de transformada se obtienen de una región de 8x8 superior izquierda del conjunto bidimensional de valores, excluyendo una región de 4x4 inferior derecha dentro de la región de 8x8 superior izquierda;
obtener una pluralidad de primeros coeficientes de transformada en base a una transformada secundaria de la pluralidad de segundos coeficientes de transformada;
obtener un conjunto bidimensional de coeficientes de transformada en base a la pluralidad de primeros coeficientes de transformada, donde la pluralidad de primeros coeficientes de transformada son mapeados a una región de 4x4 superior izquierda del conjunto bidimensional de coeficientes de transformada; y generar un flujo de bits que comprende información obtenida en función del conjunto bidimensional de coeficientes de transformada,
en el que la obtención de la pluralidad de primeros coeficientes de transformada en base a la transformada secundaria de la pluralidad de segundos coeficientes de transformada, comprende:
realizar una operación matricial entre una matriz de núcleo de transformada y la pluralidad de segundos coeficientes de transformada, en la que la pluralidad de segundos coeficientes de transformada están dispuestos para la operación matricial,
en el que la matriz de núcleo de transformada es una matriz de 16 x 48, y
en el que la operación matricial entre la matriz de núcleo de transformada y la pluralidad de segundos coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 es (matriz de 16 x 48) * (vector de coeficientes de transformada de 48 x 1).
7. El método de codificación de imágenes, según la reivindicación 6,
en el que la pluralidad de segundos coeficientes de transformada se deriva de la región de 8x8 superior izquierda del conjunto bidimensional de valores, excluyendo la región de 4x4 inferior derecha dentro de la región de 8x8 superior izquierda, de modo que:
la pluralidad de segundos coeficientes de transformada se obtienen de (i) una región de 4x4 superior izquierda dentro de la región de 8x8 superior izquierda, (ii) una región de 4x4 superior derecha dentro de la región de 8x8 superior izquierda y (iii) una región de 4x4 inferior izquierda dentro de la región de 8x8 superior izquierda, de acuerdo con la dirección de la primera fila o la dirección de la primera columna correspondiente al modo de predicción intra aplicado al bloque objetivo de la imagen.
8. El método de codificación de imágenes, según la reivindicación 6, en el que la pluralidad de primeros coeficientes de transformada son mapeados según una dirección de exploración diagonal a la región de 4x4 superior izquierda del conjunto bidimensional de coeficientes de transformada.
9. Un medio de almacenamiento no transitorio legible por ordenador, que almacena un flujo de bits generado por un método, comprendiendo el método:
obtener (S1110) muestras de predicción en base a un modo de predicción intra aplicado a un bloque objetivo de una imagen;
obtener (S1120) un conjunto de muestras residuales en base a las muestras de predicción;
obtener (S1130) un conjunto bidimensional de valores en base a una transformada primaria del conjunto de muestras residuales;
obtener una pluralidad de segundos coeficientes de transformada del conjunto bidimensional de valores, donde la pluralidad de segundos coeficientes de transformada se obtienen de una región de 8x8 superior izquierda del conjunto bidimensional de valores, excluyendo una región de 4x4 inferior derecha dentro de la región de 8x8 superior izquierda;
obtener una pluralidad de primeros coeficientes de transformada en base a una transformada secundaria de la pluralidad de segundos coeficientes de transformada;
obtener un conjunto bidimensional de coeficientes de transformada en base a la pluralidad de primeros coeficientes de transformada, donde la pluralidad de primeros coeficientes de transformada son mapeados a una región de 4x4 superior izquierda del conjunto bidimensional de coeficientes de transformada; y generar el flujo de bits que comprende información obtenida en base al conjunto bidimensional de coeficientes de transformada,
en el que la obtención de la pluralidad de primeros coeficientes de transformada en base a la transformada secundaria de la pluralidad de segundos coeficientes de transformada. comprende:
realizar una operación matricial entre una matriz de núcleo de transformada y la pluralidad de segundos coeficientes de transformada, en la que la pluralidad de segundos coeficientes de transformada están dispuestos para la operación matricial,
en el que la matriz de núcleo de transformada es una matriz de 16 x 48, y
en el que la operación matricial entre la matriz de núcleo de transformada y la pluralidad de segundos coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 es (matriz de 16 x 48) * (vector de coeficientes de transformada de 48 x 1).
10. Un método de transmisión de datos para una imagen, comprendiendo el método:
obtener un flujo de bits para la imagen, en el que el flujo de bits se genera en base a obtener (S1110) muestras de predicción en base a un modo de predicción intra aplicado a un bloque objetivo de una imagen; obtener (S1120) un conjunto de muestras residuales en base a las muestras de predicción; obtener (S1130) un conjunto bidimensional de valores en base a una transformada primaria del conjunto de muestras residuales; obtener una pluralidad de segundos coeficientes de transformada del conjunto bidimensional de valores, donde la pluralidad de segundos coeficientes de transformada se obtienen de una región de 8x8 superior izquierda del conjunto bidimensional de valores, excluyendo una región de 4x4 inferior derecha dentro de la región de 8x8 superior izquierda; obtener una pluralidad de primeros coeficientes de transformada en base a una transformada secundaria de la pluralidad de segundos coeficientes de transformada; obtener un conjunto bidimensional de coeficientes de transformada en base a la pluralidad de primeros coeficientes de transformada, donde la pluralidad de primeros coeficientes de transformada son mapeados a una región de 4x4 superior izquierda del conjunto bidimensional de coeficientes de transformada; y generar el flujo de bits que comprende información obtenida en base al conjunto bidimensional de coeficientes de transformada, transmitir los datos que componen el flujo de bits,
en el que la obtención de la pluralidad de primeros coeficientes de transformada en base a la transformada secundaria de la pluralidad de segundos coeficientes de transformada, comprende:
realizar una operación matricial entre una matriz de núcleo de transformada y la pluralidad de segundos coeficientes de transformada, en la que la pluralidad de segundos coeficientes de transformada están dispuestos para la operación matricial,
en el que la matriz de núcleo de transformada es una matriz de 16 x 48, y
en el que la operación matricial entre la matriz de núcleo de transformada y la pluralidad de segundos coeficientes de transformada de la región de 4x4 superior izquierda, la región de 4x4 superior derecha y la región de 4x4 inferior izquierda de la región de 8x8 es (matriz de 16 x 48) * (vector de coeficientes de transformada de 48 x 1).
ES19900872T 2018-12-19 2019-12-19 Método de codificación de video basado en transformada secundaria y dispositivo para el mismo Active ES2954232T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862782294P 2018-12-19 2018-12-19
PCT/KR2019/018071 WO2020130661A1 (ko) 2018-12-19 2019-12-19 이차 변환에 기반한 영상 코딩 방법 및 그 장치

Publications (1)

Publication Number Publication Date
ES2954232T3 true ES2954232T3 (es) 2023-11-21

Family

ID=71102584

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19900872T Active ES2954232T3 (es) 2018-12-19 2019-12-19 Método de codificación de video basado en transformada secundaria y dispositivo para el mismo

Country Status (15)

Country Link
US (3) US11310531B2 (es)
EP (2) EP3879835B1 (es)
JP (3) JP7171920B2 (es)
KR (1) KR20210093892A (es)
CN (5) CN113273214B (es)
AU (3) AU2019404727B2 (es)
CA (2) CA3224700A1 (es)
ES (1) ES2954232T3 (es)
FI (1) FI3879835T3 (es)
HR (1) HRP20230852T1 (es)
HU (1) HUE062775T2 (es)
MX (1) MX2021007284A (es)
PL (1) PL3879835T3 (es)
SI (1) SI3879835T1 (es)
WO (1) WO2020130661A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112292857A (zh) * 2018-06-11 2021-01-29 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
WO2020130577A1 (ko) * 2018-12-18 2020-06-25 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
US11102490B2 (en) * 2018-12-31 2021-08-24 Tencent America LLC Coefficient scanning methods on adaptive angle mode
US11218728B2 (en) * 2019-06-04 2022-01-04 Tencent America LLC Method and apparatus for video coding
US11212545B2 (en) * 2019-06-07 2021-12-28 Tencent America LLC Method and apparatus for improved implicit transform selection

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045560B (zh) * 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
US9432696B2 (en) * 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US10405000B2 (en) * 2014-11-21 2019-09-03 Vid Scale, Inc. One-dimensional transform modes and coefficient scan order
US10681379B2 (en) * 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
US10200715B2 (en) * 2016-02-17 2019-02-05 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for encoding and decoding video pictures
US11368681B2 (en) 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018097691A2 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN110546952A (zh) 2017-03-21 2019-12-06 Lg电子株式会社 图像编码系统中的变换方法和用于该变换方法的设备
US10567801B2 (en) 2018-03-07 2020-02-18 Tencent America LLC Method and apparatus for video coding with primary and secondary transforms
TWI791222B (zh) 2018-03-29 2023-02-01 弗勞恩霍夫爾協會 變換集合
CN111742555B (zh) 2018-09-05 2022-08-30 Lg电子株式会社 对视频信号进行编码/解码的方法及其设备

Also Published As

Publication number Publication date
CN116866595A (zh) 2023-10-10
JP2022513203A (ja) 2022-02-07
CN116939217A (zh) 2023-10-24
HRP20230852T1 (hr) 2023-11-10
CA3123193A1 (en) 2020-06-25
JP2024060047A (ja) 2024-05-01
CN113273214A (zh) 2021-08-17
EP3879835A4 (en) 2022-03-30
CN113273214B (zh) 2023-08-29
CN116866596A (zh) 2023-10-10
FI3879835T3 (fi) 2023-09-01
US20230156225A1 (en) 2023-05-18
US11582486B2 (en) 2023-02-14
KR20210093892A (ko) 2021-07-28
EP4294012A1 (en) 2023-12-20
EP3879835A1 (en) 2021-09-15
SI3879835T1 (sl) 2023-10-30
AU2023203062A1 (en) 2023-06-08
CN116866597A (zh) 2023-10-10
BR112021011225A2 (pt) 2021-08-24
EP3879835B1 (en) 2023-07-26
US11968397B2 (en) 2024-04-23
JP7455177B2 (ja) 2024-03-25
US20220159303A1 (en) 2022-05-19
PL3879835T3 (pl) 2023-10-09
JP2022190006A (ja) 2022-12-22
AU2023266306A1 (en) 2023-12-07
HUE062775T2 (hu) 2024-01-28
CA3123193C (en) 2024-02-13
MX2021007284A (es) 2021-07-15
AU2019404727B2 (en) 2023-06-01
AU2019404727A1 (en) 2021-07-01
JP7171920B2 (ja) 2022-11-15
US11310531B2 (en) 2022-04-19
WO2020130661A1 (ko) 2020-06-25
US20210329301A1 (en) 2021-10-21
CA3224700A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
ES2954232T3 (es) Método de codificación de video basado en transformada secundaria y dispositivo para el mismo
US11290747B2 (en) Image coding method based on secondary transform, and device therefor
US11284082B2 (en) Image coding method based on secondary transform and apparatus therefor
US20220368926A1 (en) Transform-based image coding method and apparatus therefor
US20230053262A1 (en) Video coding method on basis of secondary transform, and device therefor
US20240098305A1 (en) Image coding method based on secondary transform and device therefor
US11792430B2 (en) Method for coding image on basis of secondary transform and device therefor
US11689745B2 (en) Image coding method based on secondary transform, and device therefor
US11973951B2 (en) Transform-based image coding method and device therefor
US20220103824A1 (en) Video coding method based on secondary transform, and device therefor
ES2953235T3 (es) Codificación de imágenes basada en transformadas
US11483589B2 (en) Image coding method based on quadratic transform, and apparatus therefor
US12003774B2 (en) Image coding method based on secondary transform, and device therefor
RU2806283C2 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
BR122022006649B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR122022006636B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR122022006653B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR112021011225B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação de imagem e meio de armazenamento legível por computador não transitório
BR122022006273B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR122022006263B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR112021010422B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação de imagem e meio de armazenamento legível por computador não transitório