ES2961923T3 - Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida - Google Patents

Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida Download PDF

Info

Publication number
ES2961923T3
ES2961923T3 ES19780916T ES19780916T ES2961923T3 ES 2961923 T3 ES2961923 T3 ES 2961923T3 ES 19780916 T ES19780916 T ES 19780916T ES 19780916 T ES19780916 T ES 19780916T ES 2961923 T3 ES2961923 T3 ES 2961923T3
Authority
ES
Spain
Prior art keywords
transform
block
index
inverse
secondary transform
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
ES19780916T
Other languages
English (en)
Inventor
Moonmo Koo
Mehdi Salehifar
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 ES2961923T3 publication Critical patent/ES2961923T3/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
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

La presente invención proporciona un método para reconstruir una señal de vídeo basándose en una transformada secundaria reducida, comprendiendo el método las etapas de: obtener un índice de transformación secundaria a partir de la señal de vídeo; derivar una transformada secundaria correspondiente al índice de transformación secundaria, en donde la transformación secundaria significa una transformación secundaria reducida, y la transformada secundaria reducida indica una transformación a la que se ingresan N piezas de datos residuales (N×1 vector residual) y desde la cual L (L<N) se generan fragmentos de datos de coeficiente de transformación (vector de coeficiente de transformación L×1); realizar decodificación de entropía y descuantificación de un bloque actual (NxN) para obtener un bloque de coeficientes de transformación; realizar una transformada secundaria inversa del bloque de coeficientes de transformación utilizando la transformada secundaria reducida; realizar una transformada primaria inversa del bloque que ha sido sometido a la transformada secundaria inversa; y reconstruir el bloque actual utilizando el bloque que ha sido sometido a la transformación primaria inversa. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida
[Campo técnico]
La presente divulgación se refiere a un método para procesar una señal de vídeo, y más particularmente, a un diseño de una Transformada Secundaria Reducida (RST) que puede aplicarse a un bloque de 4 x 4, una disposición y un orden de exploración de coeficientes de transformada generados después de una RST de 4 x 4, y un método de codificación de índices de transformada para designar la RST de 4 x 4 que se aplicará.
[Antecedentes de la técnica]
El contenido de vídeo de próxima generación tendrá las características de alta resolución espacial, alta frecuencia de cuadro y alta dimensionalidad de representación de la escena. Para procesar dicho contenido, se potenciarán notablemente tecnologías tales como el almacenamiento en memoria, la velocidad de acceso a memoria y el poder de procesamiento.
En consecuencia, es necesario diseñar una nueva herramienta de codificación para procesar de manera más eficiente el contenido de vídeo de próxima generación. En particular, es necesario diseñar una transformada más eficiente en términos de eficiencia y complejidad de codificación cuando se aplica una transformada.
J. Chen et al. da a conocer un ejemplo de algoritmo de codificación: "Algorithm Description of Joint Exploration Test Model 1", reunión del JVET, 20151019 - 20151021, Ginebra (Equipo Conjunto de Exploración de vídeo de ISO/IEC JTC1/SC29/WG11 e ITU-T SG.16), 24 de febrero de 2016.
Además, X. Zhao et al.: “TU-level non-separable second transform", reunión del JVET, 20160220 - 20160226, San Diego; (Equipo Conjunto de Exploración de Vídeo de ISO/IEC JTC1/SC29/WG11 e ITU-T SG.16), 21 de febrero de 2016, da a conocer un método para reconstruir una señal de vídeo.
Además, "Algorithm description of Joint Exploration Test Model 4 (JEM4)", 116. Reunión del MPEG, 20161014 -20161021, Chengdu, Propuesta n.° n16511, 21 de noviembre de 2016, da a conocer otro ejemplo de algoritmo de codificación.
[Divulgación]
[Problema técnico]
Una realización de la presente divulgación proporciona una estructura de codificador/decodificador para reflejar un diseño de transformada nuevo.
Además, una realización de la presente divulgación proporciona un diseño de una Transformada Secundaria Reducida (RST) que se puede aplicar a un bloque de 4 x 4, una disposición y un orden de exploración de coeficientes de transformada generados después de una RST de 4 x 4, y un método y una estructura de codificación de índices de transformada para designar la RST de 4 x 4 a aplicar.
[Solución técnica]
La invención queda definida por las reivindicaciones independientes 1 y 6. Las reivindicaciones dependientes definen otras realizaciones.
A continuación, se proporciona una divulgación propicia para la invención protegida con la descripción de la realización 4 en la variante en la que el índice de transformada secundaria (índice de NSST) se codifica condicionalmente en función de la ubicación del último coeficiente de transformada distinto de cero de un bloque. Otras realizaciones y aspectos de esta divulgación no representan realizaciones independientes de la invención protegida y se proporcionan a título informativo.
La presente divulgación proporciona un método para reducir la complejidad y potenciar la eficiencia de la codificación mediante un diseño de transformada nuevo.
La presente divulgación proporciona un método para diseñar una RST que puede aplicarse a un bloque de 4x4. La presente divulgación proporciona una configuración de una región en la que se va a aplicar la RST de 4 x 4, un método para disponer coeficientes de transformada generados después de aplicar la RST de 4 x 4, un orden de exploración de los coeficientes de transformada dispuestos, un método para clasificar y combinar coeficientes de transformada generados para cada bloque, y similares.
La presente divulgación proporciona un método para codificar un índice de transformada que especifica la RST de 4x4.
La presente divulgación proporciona un método para codificar condicionalmente un índice de transformada correspondiente verificando si existe un coeficiente de transformada distinto de cero en una región no aceptable cuando se aplica la RST de 4 x 4.
La presente divulgación proporciona un método para codificar condicionalmente el índice de transformada correspondiente después de codificar la posición de un último coeficiente de transformada distinto de cero y a continuación omitir la codificación residual relevante para las posiciones que no se aceptan.
La presente divulgación proporciona un método para aplicar una codificación de índices de transformada diferente y codificación residual a un bloque de luma y un bloque de croma cuando se aplica la RST de 4 x 4.
[Efectos ventajosos]
Según la presente divulgación, cuando se codifica una representación visual fija o una imagen en movimiento, se puede reducir significativamente el volumen computacional en comparación con un caso en el que se aplica otra transformada secundaria no separable (NSST) aplicando una RST de 4 x 4.
Además, al considerar que no existe un coeficiente de transformada válido en una región específica cuando se aplica la RST de 4 x 4, se puede mejorar el rendimiento codificando condicionalmente un índice de transformada que designe la RST de 4 x 4 y aplicando la optimización de la codificación residual relacionada.
Como se ha descrito anteriormente, se puede reducir la complejidad computacional y mejorar la eficiencia de la codificación mediante un algoritmo computacional nuevo de baja complejidad.
[Descripción de los dibujos]
La figura 1 es un diagrama de bloques que ilustra la configuración de un codificador para codificar una señal de vídeo según una realización de la presente divulgación.
La figura 2 es un diagrama de bloques que ilustra la configuración de un decodificador para decodificar una señal de vídeo según una realización de la presente divulgación.
La figura 3 ilustra realizaciones en las que se puede aplicar la divulgación, la figura 3A es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol cuaternario (denominado en lo sucesivo "QT"), la figura 3B es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol binario (en lo sucesivo denominado "BT"), la figura 3C es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol ternario (en lo sucesivo denominado "TT"), y la figura 3D es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol asimétrico (en lo sucesivo denominado "AT").
La figura 4 es una realización en la que se aplica la divulgación e ilustra un diagrama de bloques esquemático de una unidad 120/130 de transformada y cuantificación y una unidad 140/150 de descuantificación y transformada dentro de un codificador.
La figura 5 es una realización en la que se aplica la divulgación e ilustra un diagrama de bloques esquemático de una unidad 220/230 de descuantificación y transformada dentro de un decodificador.
La figura 6 es una tabla que muestra un grupo de configuración de transformadas al que se aplica la Selección de Transformada Múltiple (MTS) como realización en la que se aplica la presente divulgación.
La figura 7 es un diagrama de flujo que muestra un proceso de codificación en el que se realiza la Selección de Transformada Múltiple (MTS) como realización en la que se aplica la presente divulgación.
La figura 8 es un diagrama de flujo que muestra un proceso de decodificación en el que se realiza la Selección de Transformada Múltiple (MTS) como realización en la que se aplica la presente divulgación.
La figura 9 es un diagrama de flujo para describir un proceso de codificación de una bandera de MTS y un índice de MTS como realización en la que se aplica la presente divulgación.
La figura 10 es un diagrama de flujo para describir un proceso de decodificación en el que se aplica una transformada horizontal o una transformada vertical a una fila o columna basándose en una bandera de MTS y un índice de MTS como realización en la que se aplica la presente divulgación.
La figura 11 es un diagrama de flujo de ejecución de una transformada inversa basada en un parámetro relacionado con la transformada como realización en la que se aplica la presente divulgación.
La figura 12 es una tabla que muestra la asignación de un conjunto de transformadas para cada modo de predicción intra en una NSST como realización en la que se aplica la presente divulgación.
La figura 13 es un diagrama de flujo de cálculo para una rotación de Givens como realización en la que se aplica la presente divulgación.
La figura 14 ilustra una configuración de rondas en una NSST de 4 x 4 constituida por una capa de rotación de Givens y permutaciones como realización en la que se aplica la presente divulgación.
La figura 15 es un diagrama de bloques para describir operaciones de una transformada reducida directa y una transformada reducida inversa como realización en la que se aplica la presente divulgación.
La figura 16 es un diagrama que ilustra un proceso de realización de una exploración inversa desde el coeficiente 64° al 17° según un orden de exploración inversa como realización en la que se aplica la presente divulgación.
La figura 17 ilustra tres órdenes de exploración directa para un bloque de coeficientes de transformada (bloque de transformada) como realización en la que se aplica la presente divulgación.
La figura 18 ilustra posiciones de coeficientes de transformada válidos y un orden de exploración directa para cada uno de los bloques de 4 x 4 cuando se aplica la exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 superiores izquierdos como realización en la que se aplica la presente divulgación.
La figura 19 ilustra un caso en el que coeficientes de transformada válidos de dos bloques de 4 x 4 se combinan en un bloque de 4 x 4 cuando se aplica una exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 superiores izquierdos como realización en la que se aplica la presente divulgación.
La figura 20 es un diagrama de flujo de codificación de una señal de vídeo basada en una transformada secundaria reducida como realización en la que se aplica la presente divulgación.
La figura 21 es un diagrama de flujo de decodificación de una señal de vídeo basada en una transformada secundaria reducida como realización en la que se aplica la presente divulgación.
La figura 22 es un diagrama arquitectónico de un sistema de transmisión de contenido en flujo continuo como realización en la que se aplica la presente divulgación.
[Modo óptimo]
La presente divulgación proporciona un método de reconstrucción de una señal de vídeo basándose en una transformada secundaria reducida, que incluye: obtener un índice de transformada secundaria a partir de la señal de vídeo; deducir una transformada secundaria correspondiente al índice de transformada secundaria, en donde la transformada secundaria representa una transformada secundaria reducida, y la transformada secundaria reducida representa una transformada que da salida a L (L < N) datos de coeficientes de transformada (vectores de coeficientes de transformada de L x 1) basándose en N datos residuales introducidos (vectores residuales de N x 1); obtener un bloque de coeficientes de transformada realizando una decodificación entrópica y una descuantificación para un bloque actual (N x N); realizar una transformada secundaria inversa para el bloque de coeficientes de transformada usando la transformada secundaria reducida; realizar una transformada primaria inversa para un bloque al que se aplica la transformada secundaria inversa; y reconstruir el bloque actual usando un bloque al que se aplica la transformada primaria inversa.
La presente divulgación se caracteriza por que la transformada secundaria reducida se aplica a una región específica del bloque actual, y la región específica es una M x M (M < N) superior izquierda en el bloque actual.
La presente divulgación se caracteriza por que cuando se realiza la transformada secundaria inversa, se aplica una transformada secundaria reducida de 4 x 4 a cada uno de bloques divididos de 4 x 4 en el bloque actual.
La presente divulgación se caracteriza por que el hecho de si se obtiene el índice de transformada secundaria se determina basándose en la posición de un último coeficiente de transformada distinto de cero en el bloque de coeficientes de transformada.
La presente divulgación se caracteriza por que cuando el último coeficiente de transformada distinto de cero no está ubicado en una región específica, se obtiene el índice de transformada secundaria, y la región específica representa una región restante distinta de una posición en la que puede existir un coeficiente de transformada distinto de cero cuando los coeficientes de transformada se disponen de acuerdo con un orden de exploración si se aplica la transformada secundaria reducida.
El método incluye además: obtener un índice de transformada primaria del bloque actual a partir de la señal de vídeo, en donde el índice de transformada primaria se corresponde con una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de DST7 y/o DCT8; y deducir una combinación de transformadas correspondiente al índice de transformada primaria, en la que la combinación de transformadas incluye una transformada horizontal y una transformada vertical, y la transformada horizontal y la transformada vertical se corresponden con una cualquiera de la DST7 ó la DCT8, y la transformada primaria inversa se realiza utilizando la combinación de transformadas.
La presente divulgación proporciona un aparato de reconstrucción de una señal de vídeo basándose en una transformada secundaria reducida, que incluye: una unidad de análisis sintáctico que obtiene un índice de transformada secundaria a partir de la señal de vídeo; una unidad de transformada que deduce una transformada secundaria correspondiente al índice de transformada secundaria, en la que la transformada secundaria representa una transformada secundaria reducida, y la transformada secundaria reducida representa una transformada que da salida a L (L < N) datos de coeficientes de transformada (vectores de coeficientes de transformada de L x 1) basándose en N datos residuales introducidos (vectores residuales de N x 1); una unidad de decodificación entrópica que realiza una decodificación entrópica para un bloque actual (N x N); una unidad de descuantificación que realiza una descuantificación para el bloque actual en la que la decodificación entrópica se realiza para obtener un bloque de coeficientes de transformada; de manera que la unidad de transformada realiza una transformada secundaria inversa para el bloque de coeficientes de transformada usando la transformada secundaria reducida y realizando una transformada primaria inversa y realiza una transformada primaria inversa para un bloque al que se aplica la transformada secundaria inversa; y una unidad de reconstrucción que reconstruye el bloque actual usando un bloque al que se aplica la transformada primaria inversa.
[Modo para llevar a cabo la invención]
De aquí en adelante, se describirán en detalle una configuración y el funcionamiento de una realización de la presente divulgación con referencia a los dibujos adjuntos, se describirán en calidad de realización una configuración y el funcionamiento de la presente divulgación descrita con referencia a los dibujos, y el alcance, la configuración esencial y el funcionamiento de la presente divulgación no se limitan a los mismos.
Además, los términos utilizados en la presente divulgación se seleccionan de términos generales utilizados actualmente de manera amplia, pero en algún caso específico, se utilizan términos seleccionados aleatoriamente por alguno de los solicitantes. En tal caso, en una descripción detallada de una parte correspondiente, debido a que su significado se describe claramente, los términos no deben interpretarse simplemente con solo la denominación de los mismos utilizada en la descripción de la presente divulgación y el significado del término correspondiente debe ser analizado e interpretado.
Además, cuando se selecciona un término general para describir la invención u otro término que tenga un significado similar, los términos utilizados en la presente divulgación pueden sustituirse con vistas a una interpretación más apropiada. Por ejemplo, en cada proceso de codificación, se pueden sustituir e interpretar apropiadamente los términos señal, datos, muestra, imagen, cuadro y bloque. Además, en cada proceso de codificación pueden sustituirse e interpretarse apropiadamente los términos escisión, descomposición, fraccionamiento y división.
En la presente divulgación, Selección de Transformada Múltiple (MTS) puede referirse a un método para realizar una transformada utilizando al menos dos tipos de transformada. Esto también se puede expresar como Transformada Múltiple Adaptativa (AMT) o Transformada Múltiple Explícita (EMT) y, de la misma manera, mts_idx también se puede expresar como AMT_idx, EMT_idx, tu_mts_idx, AMT_TU_idx, EMT_TU_idx, índice de transformada o índice de combinación de transformadas y la presente divulgación no se limita a estas expresiones.
La figura 1 muestra un diagrama de bloques esquemático de un codificador para codificar una señal de vídeo, de acuerdo con una realización de la presente divulgación.
Haciendo referencia a la figura 1, el codificador 100 puede incluir una unidad 110 de segmentación de representaciones visuales, una unidad 120 de transformada, una unidad 130 de cuantificación, una unidad 140 de descuantificación, una unidad 150 de transformada inversa, una unidad 160 de filtrado, una memoria intermedia de imágenes decodificadas (DPB) 170, una unidad 180 de predicción inter, un predictor intra 185 y una unidad 190 de codificación entrópica.
La unidad 110 de segmentación de representaciones visuales puede segmentar una representación visual (o una imagen o cuadro) de entrada, introducida en el codificador 100, en una o más unidades de procesamiento. Por ejemplo, la unidad de proceso puede ser una unidad de árbol de codificación (CTU), una unidad de codificación (CU), una unidad de predicción (PU) o una unidad de transformada (TU).
Sin embargo, los términos se utilizan solo para facilitar la ilustración de la presente divulgación; la presente divulgación no se limita a las definiciones de los términos. En la presente divulgación, para facilitar la ilustración, la expresión "unidad de codificación" se utiliza como una unidad utilizada en un proceso de codificación o decodificación de una señal de vídeo; sin embargo, la presente divulgación no se limita a ello, pudiéndose seleccionar apropiadamente otra unidad de proceso sobre la base del contenido de la presente divulgación.
El codificador 100 puede generar una señal residual restando de la señal de imagen de entrada una señal de predicción obtenida a la salida de la unidad 180 de predicción inter o la unidad 185 de predicción intra. La señal residual generada puede transmitirse a la unidad 120 de transformada.
La unidad 120 de transformada puede generar un coeficiente de transformada aplicando un esquema de transformada a una señal residual. El proceso de transformada se puede aplicar a un bloque (cuadrado o rectángulo) fraccionado por un bloque cuadrado de una estructura de árbol cuaternario o una estructura de árbol binario, una estructura ternaria o una estructura asimétrica.
La unidad 120 de transformada puede realizar una transformada basada en una pluralidad de transformadas (o combinaciones de transformadas), y el esquema de transformada puede denominarse selección de transformada múltiple (MTS). La MTS también puede denominarse Transformada Múltiple Adaptativa (AMT) o Transformada Múltiple Mejorada (EMT).
MTS (ó AMT ó EMT) puede referirse a un esquema de transformada realizado basándose en una transformada (o combinaciones de transformadas) seleccionada de forma adaptativa a partir de la pluralidad de transformadas (o combinaciones de transformadas).
La pluralidad de transformadas (o combinaciones de transformadas) puede incluir las transformadas (o combinaciones de transformadas) descritas en la figura 6 de la presente divulgación. En la presente divulgación, la transformada o el tipo de transformada se puede expresar como, por ejemplo, DCT-Tipo 2, DCT-II, DCT2 ó DCT-2.
La unidad 120 de transformada puede llevar a cabo las siguientes realizaciones.
La presente divulgación proporciona un método para diseñar una RST que puede aplicarse a un bloque de 4 x 4. La presente divulgación proporciona una configuración de una región en la que se va a aplicar la RST de 4 x 4, un método para disponer coeficientes de transformada generados después de aplicar la RST de 4 x 4, un orden de exploración de los coeficientes de transformada dispuestos, un método para clasificar y combinar coeficientes de transformada generados para cada bloque, y similares.
La presente divulgación proporciona un método para codificar un índice de transformada que especifica la RST de 4 x 4. La presente divulgación proporciona un método para codificar condicionalmente un índice de transformada correspondiente verificando si existe un coeficiente de transformada distinto de cero en una región no aceptable cuando se aplica la RST de 4 x 4.
La presente divulgación proporciona un método para codificar condicionalmente el índice de transformada correspondiente después de codificar la posición de un último coeficiente de transformada distinto de cero y a continuación omitir codificación residual relevante para posiciones que no se aceptan.
La presente divulgación proporciona un método para aplicar una codificación de índices de transformada y una codificación residual diferentes a un bloque de luma y un bloque de croma cuando se aplica la RST de 4 x 4.
Realizaciones detalladas de los mismos se describirán con más detalle en la presente divulgación.
La unidad 130 de cuantificación puede cuantificar el coeficiente de transformada y transmite el coeficiente de transformada cuantificado a la unidad 190 de codificación entrópica y la unidad 190 de codificación entrópica puede codificar entrópicamente una señal cuantificada y dar salida a la señal cuantificada codificada entrópicamente en forma de un flujo continuo de bits.
Aunque la unidad 120 de transformada y la unidad 130 de cuantificación se describen como unidades funcionales independientes, la presente divulgación no se limita a ello y se pueden combinar en una unidad funcional. La unidad 140 de descuantificación y la unidad 150 de transformada inversa también pueden combinarse de manera similar en una unidad funcional.
Para generar la señal de predicción se puede usar una salida de señal cuantificada de la unidad 130 de cuantificación. Por ejemplo, la cuantificación inversa y la transformada inversa se aplican a la señal cuantificada a través de la unidad 140 de descuantificación y la unidad 1850 de transformada inversa en un bucle para reconstruir la señal residual. La señal residual reconstruida se suma a la señal de predicción obtenida a la salida de la unidad 180 de predicción inter o la unidad 185 de predicción intra para generar una señal reconstruida.
Al mismo tiempo, puede producirse un deterioro en el que se muestra un límite de un bloque debido a un error de cuantificación que se produce durante dicho proceso de compresión. Este fenómeno se denomina artefactos de bloques[blocking]y es uno de los elementos clave para evaluar la calidad de la representación visual. Se puede realizar un proceso de filtrado para reducir el deterioro. Mediante el proceso de filtrado se elimina el deterioro de bloques y se reduce el error de la imagen actual para mejorar la calidad de la representación visual.
La unidad 160 de filtrado aplica filtrado a la señal reconstruida y da salida a la señal reconstruida aplicada hacia un dispositivo de reproducción o transmite la señal reconstruida de salida a la memoria intermedia 170 de imágenes decodificadas. La unidad 170 de predicción inter puede usar la señal filtrada transmitida a la memoria intermedia 180 de imágenes decodificadas como imagen de referencia. Como tal, la imagen filtrada se utiliza como imagen de referencia en el modo de predicción inter para mejorar la calidad de la representación visual y la eficiencia de codificación.
La memoria intermedia 170 de imágenes decodificadas puede almacenar la imagen filtrada para usar la misma como imagen de referencia en la unidad 180 de predicción inter.
La unidad 180 de predicción inter realiza una predicción temporal y/o una predicción espacial para eliminar la redundancia temporal y/o la redundancia espacial por referencia a la imagen reconstruida. Aquí, dado que la imagen de referencia utilizada para la predicción es una señal transformada que se cuantifica y descuantifica en unidades del bloque en el momento de la codificación/decodificación previamente, pueden existir artefactos de bloques o artefactos de anillos.
En consecuencia, la unidad 180 de predicción inter puede interpolar una señal entre píxeles en unidades de un subpíxel aplicando un filtro de paso bajo para resolver la degradación del rendimiento debido a la discontinuidad o cuantificación de dicha señal. Aquí, subpíxel significa un píxel virtual generado aplicando un filtro de interpolación y un píxel entero significa un píxel real que existe en la imagen reconstruida. Como método de interpolación, se pueden adoptar la interpolación lineal, la interpolación bilineal, el filtro de Wiener y similares.
Se aplica un filtro de interpolación a la imagen reconstruida para mejorar la precisión de la predicción. Por ejemplo, la unidad 180 de predicción inter aplica el filtro de interpolación al píxel entero para generar un píxel interpolado y la predicción se puede realizar utilizando un bloque interpolado constituido por los píxeles interpolados como bloque de predicción.
Mientras tanto, la unidad 185 de predicción intra puede predecir el bloque actual haciendo referencia a muestras de las proximidades de un bloque que se va a someter a la codificación actual. La unidad 185 de predicción intra puede realizar el siguiente proceso para llevar a cabo la predicción intra. En primer lugar, se puede preparar una muestra de referencia, que se requiere para generar la señal de predicción. Además, la señal de predicción puede generarse utilizando la muestra de referencia preparada. Después de esto, se codifica el modo de predicción. En este caso, la muestra de referencia se puede preparar mediante relleno de muestra de referencia y/o filtrado de muestra de referencia. Dado que la muestra de referencia está sujeta a procesos de predicción y reconstrucción, puede existir un error de cuantificación. En consecuencia, se puede realizar un proceso de filtrado de muestras de referencia con respecto a cada modo de predicción usado para la predicción intra con el fin de reducir dicho error.
La señal de predicción generada a través de la unidad 180 de predicción inter o la unidad 185 de predicción intra puede usarse para generar la señal reconstruida o puede usarse para generar la señal residual.
La figura 2 es un diagrama de bloques esquemático de un decodificador en el que se realiza la decodificación de una señal de vídeo como realización en la que se aplica la presente divulgación.
Haciendo referencia a la figura 2, el decodificador 200 puede configurarse para incluir una unidad de análisis sintáctico (no ilustrada), una unidad 210 de decodificación entrópica, una unidad 220 de descuantificación, una unidad 230 de transformada inversa, una unidad 240 de filtrado, una unidad 250 de memoria intermedia de imágenes decodificadas (DPB), una unidad 260 de predicción inter y una unidad 265 de predicción intra.
Además, una señal de vídeo reconstruida a la que se da salida a través del decodificador 200 puede reproducirse a través de un dispositivo de reproducción.
El decodificador 200 puede recibir la señal obtenida a la salida del codificador 100 de la figura 1 y la señal recibida puede decodificarse entrópicamente a través de la unidad 210 de decodificación entrópica.
La unidad 220 de descuantificación obtiene el coeficiente de transformada a partir de una señal decodificada entrópicamente utilizando información del tamaño del paso de cuantificación.
La unidad 230 de transformada inversa transforma inversamente el coeficiente de transformada para obtener la señal residual.
Aquí, la presente divulgación proporciona un método para configurar una combinación de transformadas para cada grupo de configuración de transformadas fraccionado por al menos uno de un modo de predicción, un tamaño de bloque o una forma de bloque y la unidad 230 de transformada inversa puede realizar una transformada inversa basándose en la combinación de transformadas configurada por la presente divulgación. Además, se pueden aplicar las realizaciones descritas en la presente divulgación.
La unidad 230 de transformada inversa puede llevar a cabo las siguientes realizaciones.
La presente divulgación proporciona un método para reconstruir la señal de vídeo basándose en una transformada secundaria reducida.
La unidad 230 de transformada inversa puede deducir una transformada secundaria correspondiente a un índice de transformada secundaria, realizar una transformada secundaria inversa para el bloque de coeficientes de transformada utilizando la transformada secundaria y realizar una transformada primaria inversa para el bloque en el que se realiza la transformada secundaria inversa. Aquí, transformada secundaria se refiere a la transformada secundaria reducida y la transformada secundaria reducida representa una transformada en la que se introducen N datos residuales (vectores residuales de N x 1) para dar salida a L (L < N) datos de coeficientes de transformada (vectores de coeficientes de transformada de L x 1).
La presente divulgación se caracteriza por que la transformada secundaria reducida se aplica a una región específica del bloque actual y la región específica es una M x M (M < N) superior izquierda en el bloque actual.
La presente divulgación se caracteriza por que se aplica una transformada secundaria reducida de 4 x 4 a cada uno de los bloques de 4 x 4 divididos en los bloques actuales cuando se realiza la transformada secundaria inversa.
La presente divulgación se caracteriza por que se determina si se obtiene el índice de transformada secundaria basándose en la posición del último coeficiente de transformada distinto de cero del bloque de coeficientes de transformada.
La presente divulgación se caracteriza por que cuando el último coeficiente de transformada distinto de cero no está posicionado en la región específica, se obtiene el índice de transformada secundaria y la región específica indica regiones restantes distintas de una posición en la que el coeficiente de transformada distinto de cero puede existir cuando los coeficientes de transformada se disponen según el orden de exploración en el caso en el que se aplica la transformada secundaria reducida.
La unidad 230 de transformada inversa puede deducir una combinación de transformadas correspondiente a un índice de transformada primaria y realizar una transformada primaria inversa utilizando la combinación de transformadas. Aquí, el índice de transformada primaria se corresponde con una cualquiera de una pluralidad de combinaciones de transformadas constituidas por una combinación de DST7 y/o DCT8 y la combinación de transformadas incluye una transformada horizontal y una transformada vertical. En este caso, la transformada horizontal y la transformada vertical se corresponden o bien con la DST7 ó bien con la DCT8.
La unidad 220 de descuantificación y la unidad 230 de transformada se describen como unidades funcionales independientes, pero la divulgación no se limita a ello. La unidad 220 de descuantificación y la unidad 230 de transformada pueden combinarse en una única unidad funcional.
Se genera una señal reconstruida sumando la señal residual obtenida a una señal de predicción a la que da salida la unidad 260 de predicción inter o la unidad 265 de predicción intra.
El filtro 240 puede dar salida a o transmitir la señal reconstruida a un dispositivo de reproducción o a la unidad 250 de memoria intermedia de imágenes decodificadas aplicando filtrado a la señal reconstruida. La señal filtrada transmitida a la unidad 250 de memoria intermedia de imágenes decodificadas puede usarse como imagen de referencia en la unidad 260 de predicción inter.
En la divulgación, las realizaciones descritas en la unidad 120 de transformada y cada unidad funcional del codificador 100 se pueden aplicar de manera idéntica a la unidad 230 de transformada y la unidad funcional correspondiente del decodificador.
La figura 3 ilustra realizaciones a las que se puede aplicar la divulgación, la figura 3A es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol cuaternario (denominado en lo sucesivo "QT"), la figura 3B es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol binario (en lo sucesivo denominado "BT"), la figura 3C es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol ternario (en lo sucesivo denominado "TT"), y la figura 3D es un diagrama para describir una estructura de fraccionamiento de bloques basada en un árbol asimétrico (en lo sucesivo denominado "AT").
En la codificación de vídeo, un bloque se puede fraccionar según un árbol cuaternario (QT). Además, un subbloque fraccionado por el QT puede fraccionarse aún más de forma recursiva utilizando el QT. Un bloque hoja que ya no se fracciona por QT se puede fraccionar utilizando al menos un método de un árbol binario (BT), un árbol ternario (TT) o un árbol asimétrico (AT). El BT puede tener dos tipos de fraccionamientos de: un BT horizontal (2NxN, 2NxN) y un BT vertical (Nx2N, Nx2N). El TT puede tener dos tipos de fraccionamientos de: un TT horizontal (2Nx1/2N, 2NxN, 2Nx1/2N) y un TT vertical (1/2Nx2N, Nx2N, 1/2Nx2N). El AT puede tener cuatro tipos de fraccionamientos de: un AT horizontal hacia arriba (2Nx1/2N, 2Nx3/2N), un AT horizontal hacia abajo (2Nx3/2N, 2Nx1/2N), un AT vertical hacia la izquierda (1/2Nx2N, 3/2Nx2N), y un AT vertical hacia la derecha (3/2Nx2N, 1/2Nx2N). Cada BT, TT ó AT se puede fraccionar adicionalmente de forma recursiva utilizando el BT, TT ó AT.
La figura 3A muestra un ejemplo de un fraccionamiento por QT. Un bloque A puede fraccionarse en cuatro subbloques A0, A1, A2 y A3 mediante un QT. El subbloque A1 puede fraccionarse en cuatro subbloques B0, B1, B2 y B3 mediante un QT.
La figura 3B muestra un ejemplo de un fraccionamiento por BT. Un bloque B3 que ya no se fracciona mediante un QT puede fraccionarse en BT verticales C0 y C1 ó BT horizontales D0 y D1. Como en el bloque C0, cada subbloque se puede fraccionar adicionalmente de forma recursiva con la forma de BT horizontales E0 y E1 ó BT verticales F0 y F1.
La figura 3C muestra un ejemplo de un fraccionamiento por TT. Un bloque B3 que ya no se fracciona mediante un QT puede fraccionarse en TT verticales C0, C1 y C2 ó en TT horizontales D0, D1 y D2. Como en el bloque C1, cada subbloque puede fraccionarse adicionalmente de forma recursiva con la forma de TT horizontales E0, E1 y E2 ó TT verticales F0, F1 y F2.
La figura 3D muestra un ejemplo de un fraccionamiento por AT. Un bloque B3 que ya no se fracciona mediante un QT puede fraccionarse en AT verticales C0 y C1 ó AT horizontales D0 y D1. Como en el bloque C1, cada subbloque puede fraccionarse adicionalmente de forma recursiva con la forma de AT horizontales E0 y E1 ó TT verticales F0 y F1.
Al mismo tiempo, los fraccionamientos por BT, TT y AT pueden fraccionarse entre sí. Por ejemplo, un subbloque fraccionado por un BT puede fraccionarse por un Tt ó AT. Además, un subbloque fraccionado por un TT puede fraccionarse por un BT ó AT. Un subbloque fraccionado por un AT puede fraccionarse por un BT ó TT. Por ejemplo, después de un fraccionamiento por BT horizontal, cada subbloque puede fraccionarse en BT verticales o después de un fraccionamiento por BT vertical, cada subbloque puede fraccionarse en BT horizontales. Los dos tipos de métodos de fraccionamiento son diferentes en una secuencia de fraccionamiento, pero tienen la misma forma de fraccionamiento final.
Además, si se fracciona un bloque, la secuencia en la que se busca el bloque se puede definir de varias maneras. Por lo general la búsqueda se realiza de izquierda a derecha o de arriba abajo. Buscar un bloque puede significar una secuencia para determinar si se debe fraccionar un bloque adicional de cada subbloque fraccionado o puede significar una secuencia de codificación de cada subbloque si un bloque ya no se fracciona o puede significar una secuencia de búsqueda cuando se hace referencia a información de otro bloque vecino en un subbloque.
Las figuras 4 y 5 son realizaciones a las que se aplica la divulgación. La figura 4 ilustra un diagrama de bloques esquemático de una unidad 120/130 de transformada y cuantificación y una unidad 140/150 de descuantificación y transformada dentro del codificador, y la figura 5 ilustra un diagrama de bloques esquemático de una unidad 220/230 de descuantificación y transformada dentro del decodificador.
Haciendo referencia a la figura 4, la unidad 120/130 de transformada y cuantificación puede incluir una unidad 121 de transformada primaria, una unidad 122 de transformada secundaria y la unidad 130 de cuantificación. La unidad 140/150 de descuantificación y transformada puede incluir la unidad 140 de descuantificación, una unidad 151 de transformada secundaria inversa y una unidad 152 de transformada primaria inversa.
Haciendo referencia a la figura 5, la unidad 220/230 de descuantificación y transformada puede incluir la unidad 220 de descuantificación, una unidad 231 de transformada secundaria inversa y una unidad 232 de transformada primaria inversa.
En la divulgación, cuando se realiza una transformada, la transformada se puede realizar a través de una pluralidad de pasos. Por ejemplo, como en la figura 4, se pueden aplicar dos pasos de una transformada primaria y una transformada secundaria o se pueden usar más pasos de transformada según un algoritmo. En este caso, la transformada primaria puede denominarse transformada central.
La unidad 121 de transformada primaria puede aplicar una transformada primaria en una señal residual. En este caso, la transformada primaria puede estar predefinida en forma de tabla en el codificador y/o el decodificador.
A la transformada primaria se le puede aplicar una transformada de coseno discreta de tipo 2 (en adelante "DCT2"). Alternativamente, a un caso específico se le puede aplicar una transformada sinusoidal discreta de tipo 7 (en lo sucesivo denominada "DST7"). Por ejemplo, en el modo de predicción intra, la DST7 se puede aplicar a un bloque de 4x4.
Además, la transformada primaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6.
La unidad 122 de transformada secundaria puede aplicar la transformada secundaria a una señal transformada primaria y aquí, la transformada secundaria puede estar predefinida en la tabla en el codificador y/o el decodificador.
Como realización, la transformada secundaria puede adoptar condicionalmente una transformada secundaria no separable (en lo sucesivo, denominada 'NSST'). Por ejemplo, la NSST puede aplicarse solo al bloque de predicción intra y puede tener un conjunto de transformadas aplicable a cada grupo de modos de predicción.
Aquí, el grupo de modos de predicción se puede configurar basándose en la simetría con respecto a una dirección de predicción. Por ejemplo, dado que el modo de predicción 52 y el modo de predicción 16 son simétricos basándose en el modo de predicción 34 (dirección diagonal), se puede aplicar el mismo conjunto de transformadas formando un grupo. En este caso, cuando se aplica la transformada para el modo de predicción 52, los datos de entrada se transponen y a continuación se aplican ya que el modo de predicción 52 tiene el mismo conjunto de transformadas que el modo de predicción 16.
Al mismo tiempo, dado que la simetría para la dirección no existe en el caso de un modo plano y un modo de DC, cada modo tiene un conjunto de transformadas diferente y el conjunto de transformadas correspondiente puede estar constituido por dos transformadas. Con respecto a los modos de dirección restantes, cada conjunto de transformadas puede estar constituido por tres transformadas.
Como realización alternativa, la transformada secundaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, se puede adoptar la figura 6. Como realización alternativa, la DST 7 se puede aplicar a la transformada secundaria.
Como realización alternativa, la NSST no se puede aplicar a todo el bloque transformado primario, sino que se puede aplicar solo a una región superior izquierda de 8x8. Por ejemplo, cuando el tamaño del bloque es 8 x 8 ó mayor, se aplica una NSST de 8 x 8 y cuando el tamaño del bloque es menor de 8 x 8, se aplica una NSS<t>de 4 x 4 y en este caso, el bloque se divide en bloques de 4 x 4 y a continuación, se aplica la NSST de 4x4 a cada uno de los bloques divididos. Como realización alternativa, incluso en el caso de 4 x N / N x 4 (N >= 16), se puede aplicar la NSST de 4 x 4. La NSST, la NSST de 4 x 4 y la NSST de 8 x 8 se describirán con más detalle con referencia a las figuras 12 a 15 y otras realizaciones en la presente divulgación.
La unidad 130 de cuantificación puede realizar la cuantificación para la señal transformada secundaria.
Las unidades 140 y 150 de descuantificación y transformada inversa realizan el proceso descrito anteriormente a la inversa, y se omitirá una descripción redundante del mismo.
La figura 5 es un diagrama de bloques esquemático de una unidad 220 de descuantificación y una unidad 230 de transformada inversa en un decodificador.
Haciendo referencia a la figura 5 anterior, las unidades 220 y 230 de descuantificación y transformada inversa pueden incluir una unidad 220 de descuantificación, una unidad 231 de transformada secundaria inversa y una unidad 232 de transformada primaria inversa.
La unidad 220 de descuantificación obtiene el coeficiente de transformada a partir de una señal decodificada entrópicamente utilizando información del tamaño del paso de cuantificación.
La unidad 231 de transformada secundaria inversa realiza una transformada secundaria inversa para los coeficientes de transformada. Aquí, la transformada secundaria inversa representa una transformada inversa de la transformada secundaria descrita en la figura 4 anterior.
Como realización alternativa, la transformada secundaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6. La unidad 232 de transformada primaria inversa realiza una transformada primaria inversa para la señal (o bloque) transformada secundaria inversa y obtiene la señal residual. Aquí, la transformada primaria inversa representa la transformada inversa de la transformada primaria descrita en la figura 4.
Como realización, la transformada primaria puede adoptar combinaciones de diversas transformadas DST 7, DCT 8, DST 1 y DCT 5 de la selección de transformada múltiple (MTS). Por ejemplo, puede adoptarse la figura 6.
Como realización de la presente divulgación, la DST 7 se puede aplicar a la transformada primaria.
Como realización de la presente divulgación, la DCT 8 se puede aplicar a la transformada primaria.
La presente divulgación proporciona un método para configurar una combinación de transformadas para cada grupo de configuración de transformadas dividido por al menos uno de un modo de predicción, un tamaño de bloque o una forma de bloque y la unidad 232 de transformada primaria inversa puede realizar la transformada inversa basándose en la combinación de transformadas configurada por la presente divulgación. Además, se pueden aplicar las realizaciones descritas en la presente divulgación.
La figura 6 es una tabla que muestra un grupo de configuración de transformadas al que se aplica la Selección de Transformada Múltiple (MTS) como realización en la que se aplica la presente divulgación.
Grupo de configuración de transformadas al que se aplica la Selección de Transformada Múltiple (MTS)En la presente divulgación, una combinación j-ésima de transformadas candidata para el grupo de configuración de transformada G<i>está representada por el par que se muestra en la Ecuación 1 a continuación.
[Ecuación 1]
(H(G¡, j), V(G¡, j))
Aquí, H(G<i>, j) indica la transformada horizontal para la candidata j-ésimo, y V(Gi, j) indica la transformada vertical para la candidata j-ésima. Por ejemplo, en la figura 6, se pueden representar h (G3, 2) = DST7, V(G<3>, 2) = DCT8. Dependiendo del contexto, un valor asignado a H(G<i>, j) ó V(G<i>, j) puede ser un valor nominal para distinguir transformadas, como en el ejemplo anterior o puede ser un valor de índice que indica la transformada o puede ser una matriz bidimensional (D) para la transformada.
Además, en la presente divulgación, se puede representar un valor de matriz 2D para DCT y DST como se muestra en las Ecuaciones 2 y 3 a continuación.
[Ecuación 2]
DCT de tipo 2: W , DCT de tipo 8 :^v
[Ecuación 3]
cvn vir
DST de tipo 7:N, DST de tipo 4.n
Aquí, el hecho de que la transformada sea DST ó DCT se representa con S ó C, el número correspondiente al tipo se representa mediante una superposición en forma de números romanos y la N de un subíndice indica que la
suponen que una base de la transformada está constituida por vectores columna.
Haciendo referencia a la figura 6 anterior, los grupos de configuración de transformadas se pueden determinar basándose en el modo de predicción y el número de grupos puede ser un total de seis grupos G0 a G5. Además, G0 a G4 se corresponden con un caso en el que se aplica la predicción intra, y G5 representa combinaciones de transformadas (o conjuntos de transformadas y conjuntos de combinaciones de transformadas) aplicadas al bloque residual generado por la predicción inter.
Una combinación de transformadas puede estar constituida por una transformada horizontal (o transformada de fila) aplicada a filas de un bloque 2D correspondiente y una transformada vertical (o transformada de columna) aplicada a columnas.
Aquí, cada uno de todos los grupos de configuración de transformadas puede tener cuatro candidatas a combinación de transformadas. Las cuatro combinaciones de transformadas pueden seleccionarse o determinarse mediante índices de combinación de transformadas de 0 a 3 y el índice de combinación de transformadas puede codificarse y transmitirse desde el codificador al decodificador.
En calidad de realización, los datos residuales (o señal residual) obtenidos a través de la predicción intra pueden tener características estadísticas diferentes según el modo de predicción intra. Por lo tanto, como se ilustra en la figura 6, a cada modo de predicción intra se le pueden aplicar transformadas distintas de una transformada de coseno general.
Haciendo referencia a la figura 6 anterior, se ilustra un caso de uso de 35 modos de predicción intra y un caso de uso de 67 modos de predicción intra. Se puede aplicar una pluralidad de combinaciones de transformadas a cada grupo de configuración de transformadas dividido en cada columna de modo de predicción intra. Por ejemplo, la pluralidad de combinaciones de transformadas puede estar constituida por cuatro combinaciones (transformadas en dirección de fila y transformadas en dirección de columna). Como ejemplo específico, DST-7 y DST-5 se pueden aplicar en una dirección de fila (horizontal) y en una dirección de columna (vertical) en el grupo 0 y, como resultado, hay un total de cuatro combinaciones disponibles.
Dado que se puede aplicar un total de combinaciones de núcleos de transformada a cada modo de predicción intra, se puede transmitir un índice de combinación de transformadas para seleccionar una de las combinaciones de núcleos de transformada en cada unidad de transformada. En la presente divulgación, el índice de combinación de transformadas puede denominarse índice de MTS y expresarse como mtx_idx.
Adicionalmente, además de los núcleos de transformada presentados en la figura 6 anterior, puede darse el caso de que la DCT2 sea óptima tanto para la dirección de fila como para la dirección de columna debido a características de la señal residual. En consecuencia, la bandera de MTS se define para cada unidad de codificación con el fin de realizar la transformada de forma adaptativa. Aquí, cuando la bandera de MTS es 0, se puede aplicar DCT2 tanto a la dirección de fila como a la dirección de columna y cuando la bandera de MTS es 1, se puede seleccionar o determinar una de cuatro combinaciones a través del índice de MTS.
En calidad de realización, cuando la bandera de MTS es 1, si el número de coeficientes de transformada distintos de cero para una unidad de transformada no es mayor que un umbral, la DST-7 se puede aplicar tanto en la dirección de fila como en la dirección de columna sin aplicar los núcleos de transformada de la figura 6 anterior. Por ejemplo, el umbral se puede establecer en 2, que se puede establecer de manera diferente según el tamaño del bloque o el tamaño de la unidad de transformada. Esto también es aplicable a otras realizaciones de la memoria descriptiva.
En calidad de realización, si el número de coeficientes de transformada distintos de cero no es mayor que el umbral analizando sintácticamente primero los valores de los coeficientes de transformada, se puede reducir el volumen de transmisión de información adicional aplicando la DST-7 sin analizar sintácticamente el índice de MTS.
En calidad de realización, cuando la bandera de MTS es 1, si el número de coeficientes de transformada distintos de cero es mayor que el umbral para una unidad de transformada, el índice de MTS puede analizarse sintácticamente y la transformada horizontal y la transformada vertical pueden determinarse basándose en el índice de MTS.
En calidad de realización, la MTS se puede aplicar solo cuando tanto el ancho como la altura de la unidad de transformada es igual o inferior a 32.
En calidad de realización, la figura 6 anterior se puede preconfigurar mediante entrenamiento fuera de línea.
En calidad de realización, el índice de MTS puede definirse como un índice que puede indicar simultáneamente la transformada horizontal y la transformada vertical. Alternativamente, el índice de MTS puede definir por separado un índice de transformada horizontal y un índice de transformada vertical.
En calidad de realización, la bandera de MTS ó el índice de MTS se puede definir en al menos un nivel de una secuencia, una imagen, un segmento [s//'ce], un bloque, una unidad de codificación, una unidad de transformada o una unidad de predicción. Por ejemplo, la bandera de MTS ó el índice de MTS puede definirse en al menos un nivel de un conjunto de parámetros de secuencia (SPS), la unidad de codificación o la unidad de transformada.
Como realización alternativa, la combinación de transformadas (transformada horizontal o transformada vertical) correspondiente al índice de transformada se puede configurar sin depender de la bandera de MTS, del modo de predicción y/o de la forma del bloque. Por ejemplo, la combinación de transformadas puede configurarse mediante al menos una de DCT2, DST7 y/o DCT8. Como ejemplo específico, cuando el índice de transformada es 0, 1,2, 3 ó 4, cada combinación de transformadas puede ser (DCT2, Dc T2), (DST7, DST7), (DCT8, DST7), (DST7, DCT8) ó (DCT8, DCT8).
La figura 7 es un diagrama de flujo que muestra un proceso de codificación en el que se lleva a cabo una Selección de Transformada Múltiple (MTS) como realización en la que se aplica la presente divulgación.
En la presente divulgación, se describe básicamente una realización en la que se aplican por separado transformadas a la dirección horizontal y a la dirección vertical, pero la combinación de transformadas puede configurarse como transformadas no separables.
Alternativamente, la combinación de transformadas puede configurarse mediante una mezcla de transformadas separables y transformadas no separables. En este caso, cuando se utiliza la transformada no separable, es posible que no se requiera la selección de transformada de fila/columna o la selección de dirección horizontal/vertical y solo cuando se selecciona la transformada separable, se pueden utilizar las combinaciones de transformadas de la figura 6 anterior.
Además, los esquemas propuestos por la presente divulgación se pueden aplicar independientemente de la transformada primaria o la transformada secundaria. Es decir, no hay ningún límite de que los esquemas deban aplicarse solo a una cualquiera de la transformada primaria y la transformada secundaria y los esquemas pueden aplicarse tanto a la transformada primaria como a la transformada secundaria. Aquí, transformada primaria puede significar una transformada para transformar primero el bloque residual y transformada secundaria puede significar una transformada para aplicar la transformada al bloque generado como resultado de la transformada primaria.
En primer lugar, el codificador puede determinar el grupo de configuración de transformadas correspondiente al bloque actual. Aquí, grupo de configuración de transformadas puede significar el grupo de configuración de transformadas de la figura 6 anterior y la presente divulgación no se limita a ello y el grupo de configuración de transformadas puede estar constituido por otras combinaciones de transformadas.
El codificador puede realizar una transformada para combinaciones de transformadas candidatas disponibles en el grupo de configuración de transformadas (S720).
Como resultado de realizar la transformada, el codificador puede determinar o seleccionar una combinación de transformadas que tenga el coste de tasa-distorsión (RD) más pequeño (S730).
El codificador puede codificar el índice de combinación de transformadas correspondiente a la combinación de transformadas seleccionada (S740).
La figura 8 es un diagrama de flujo que muestra un proceso de decodificación en el que se realiza la Selección de Transformada Múltiple (MTS) como realización en la que se aplica la presente divulgación.
Primero, el decodificador puede determinar el grupo de configuración de transformadas para el bloque actual (S810).
El decodificador puede analizar sintácticamente (u obtener) el índice de combinación de transformadas a partir de la señal de vídeo y en este caso, el índice de combinación de transformadas puede corresponderse con una cualquiera de la pluralidad de combinaciones de transformadas del grupo de configuración de transformadas (S820). Por ejemplo, el grupo de configuración de transformadas puede incluir la Transformada Sinusoidal Discreta (DST) de tipo 7 y la Transformada de Coseno Discreta (DST) de tipo 8. El índice de combinación de transformadas puede denominarse índice de MTS.
En calidad de realización, el grupo de configuración de transformadas se puede configurar basándose en al menos uno del modo de predicción, el tamaño del bloque o la forma del bloque actual.
El decodificador puede deducir la combinación de transformadas correspondiente al índice de combinación de transformadas (S830). Aquí, la combinación de transformadas puede incluir la transformada horizontal y la transformada vertical, y puede incluir al menos una de la DST-7 ó la DCT-8.
Además, combinación de transformadas puede significar la combinación de transformadas descrita en la figura 6 anterior, pero la presente divulgación no se limita a ello. Es decir, la combinación de transformadas puede configurarse mediante otras combinaciones de transformadas dependiendo de otras realizaciones de la presente divulgación.
El decodificador puede realizar la transformada inversa para el bloque actual basándose en la combinación de transformadas (S840). Cuando la combinación de transformadas incluye la transformada de fila (horizontal) y la transformada de columna (vertical), la transformada de columna (vertical) se puede aplicar después de aplicar primero la transformada de fila (horizontal). Sin embargo, la presente divulgación no se limita a esto y el orden de las transformadas se puede invertir o cuando la combinación de transformadas incluye las transformadas no separables, la transformada no separable se puede aplicar inmediatamente.
En calidad de realización, cuando la transformada vertical o la transformada horizontal es la DST-7 ó la DCT-8, la transformada inversa de la DST-7 ó la transformada inversa de la DCT-8 se puede aplicar a cada fila y a continuación aplicarse a cada fila.
En calidad de realización, con respecto a la transformada vertical o la transformada horizontal, se puede aplicar una transformada diferente a cada fila y/o cada columna.
En calidad de realización, el índice de combinación de transformadas se puede adquirir basándose en la bandera de MTS que indica si se realiza la MTS. Es decir, el índice de combinación de transformadas se puede obtener cuando la MTS se realiza según la bandera de MTS.
En calidad de realización, el decodificador puede verificar si el número de coeficientes de transformada distintos de cero es mayor que el umbral. En este caso, el índice de combinación de transformadas se puede obtener cuando el número de coeficientes de transformada distintos de cero es mayor que el umbral.
En calidad de realización, la bandera de MTS ó el índice de MTS se pueden definir en al menos un nivel de una secuencia, una imagen, un segmento, un bloque, una unidad de codificación, una unidad de transformada o una unidad de predicción.
En calidad de realización, la transformada inversa se puede aplicar solo cuando tanto el ancho como la altura de la unidad de transformada es igual o superior a 32.
Por otro lado, como realización alternativa, se pueden llevar a cabo al mismo tiempo un proceso de determinación del grupo de configuración de transformadas y un proceso de análisis sintáctico del índice de combinación de transformadas. Alternativamente, el paso S810 anterior puede estar preconfigurado y puede omitirse en el codificador y/o el decodificador.
La figura 9 es un diagrama de flujo para describir un proceso de codificación de una bandera de MTS y un índice de MTS como realización en la que se aplica la presente divulgación.
El codificador puede determinar si la Selección de Transformada Múltiple (MTS) se aplica al bloque actual (S910).
Cuando se aplica la selección de transformada múltiple (MTS), el codificador puede codificar la bandera de MTS = 1 (S920).
Además, el codificador puede determinar el índice de MTS basándose en al menos uno del modo de predicción, la transformada horizontal y la transformada vertical del bloque actual (S930). Aquí, índice de MTS puede significar un índice que indica una cualquiera de la pluralidad de combinaciones de transformadas para cada modo de predicción intra y el índice de MTS puede transmitirse para cada unidad de transformada.
Cuando se determina el índice de MTS, el codificador puede codificar el índice de MTS (S940).
Por otro lado, cuando no se aplica la Selección de Transformada Múltiple (MTS), el codificador puede codificar la bandera de MTS = 0 (S950).
La figura 10 es un diagrama de flujo para describir un proceso de decodificación en el que se aplica una transformada horizontal o una transformada vertical a una fila o columna basándose en una bandera de MTS y un índice de MTS como realización en la que se aplica la presente divulgación.
El decodificador puede analizar sintácticamente la bandera de MTS a partir del flujo continuo de bits (S1010). Aquí, la bandera de MTS puede indicar si la Selección de Transformada Múltiple (MTS) se aplica al bloque actual.
El decodificador puede determinar si la Selección de Transformada Múltiple (MTS) se aplica al bloque actual basándose en la bandera de MTS (S1020). Por ejemplo, se puede verificar si la bandera de MTS es 1.
Cuando la bandera de MTS es 1, el decodificador puede verificar si el número de coeficientes de transformada distintos de cero es superior (o igual o superior) al umbral (S1030). Por ejemplo, el umbral se puede establecer en 2, el cual se puede establecer de manera diferente según el tamaño del bloque o el tamaño de la unidad de transformada.
Cuando el número de coeficientes de transformada distintos de cero es mayor que el umbral, el decodificador puede analizar sintácticamente el índice de MTS (S1040). Aquí, índice de MTS puede significar una cualquiera de la pluralidad de combinaciones de transformadas para cada modo de predicción intra o modo de predicción inter y el índice de MTS puede transmitirse para cada unidad de transformada. Alternativamente, índice de MTS puede significar un índice que indica cualquier combinación de transformadas definida en una tabla de combinaciones de transformadas preconfigurada y aquí, tabla de combinaciones de transformadas preconfigurada puede significar la figura 6 anterior, aunque la presente divulgación se limita a ello.
El decodificador puede deducir o determinar la transformada horizontal y la transformada vertical basándose en al menos uno del índice de MTS y el modo de predicción (S1050).
Alternativamente, el decodificador puede deducir la combinación de transformadas correspondiente al índice de MTS. Por ejemplo, el decodificador puede deducir o determinar la transformada horizontal y la transformada vertical correspondientes al índice de MTS.
Al mismo tiempo, cuando el número de coeficientes de transformada distintos de cero no es mayor que el umbral, el decodificador puede aplicar una transformada inversa vertical preconfigurada para cada columna (S1060). Por ejemplo, la transformada inversa vertical puede ser la transformada inversa de la DST7.
Además, el decodificador puede aplicar una transformada inversa horizontal preconfigurada para cada fila (S1070). Por ejemplo, la transformada inversa horizontal puede ser la transformada inversa de la DST7. Es decir, cuando el número de coeficientes de transformada distintos de cero no es mayor que el umbral, se puede utilizar un núcleo de transformada preconfigurado por el codificador o decodificador. Por ejemplo, se puede usar el núcleo de transformada que no está definido en la tabla de combinaciones de transformadas ilustrada en la figura 6 anterior, pero que se usa ampliamente.
Al mismo tiempo, cuando la bandera de MTS es 0, el decodificador puede aplicar la transformada inversa vertical preconfigurada para cada columna (S1080). Por ejemplo, la transformada inversa vertical puede ser la transformada inversa de la DCT2.
Además, el decodificador puede aplicar la transformada inversa horizontal preconfigurada para cada fila (S1090). Por ejemplo, la transformada inversa horizontal puede ser la transformada inversa de la DCT2. Es decir, cuando la bandera de MTS es 0, se puede utilizar el núcleo de transformada preconfigurado por el codificador o decodificador. Por ejemplo, se puede usar el núcleo de transformada que no está definido en la tabla de combinaciones de transformadas ilustrada en la figura 6 anterior, pero que se usa ampliamente.
La figura 11 es un diagrama de flujo de la ejecución de una transformada inversa basada en un parámetro relacionado con la transformada como realización en la que se aplica la presente divulgación.
El decodificador al que se aplica la presente divulgación puede obtener sps_mts_intra_enabled_flag o sps_mts_inter_enabled_flag (S1110). Aquí, sps_mts_intra_enabled_flag indica si existe tu_mts_flag en una sintaxis de codificación residual de una unidad de codificación intra. Por ejemplo, cuando sps_mts_intra_enabled_flag = 0, tu_mts_flag no existe en la sintaxis de codificación residual de la unidad de codificación intra y cuando sps_mts_intra_enabled_flag = 0, tu_mts_flag existe en la sintaxis de codificación residual de la unidad de codificación intra. Además, sps_mts_inter_enabled_flag indica si existe tu_mts_flag en la sintaxis de codificación residual de la unidad de codificación inter. Por ejemplo, cuando sps_mts_inter_enabled_flag = 0, tu_mts_flag no existe en la sintaxis de codificación residual de la unidad de codificación intra y cuando sps_mts_inter_enabled_flag = 0, tu_mts_flag existe en la sintaxis de codificación residual de la unidad de codificación inter.
El decodificador puede obtener tu_mts_flag basándose en sps_mts_intra_enabled_flag o sps_mts_inter_enabled_flag (S1120). Por ejemplo, cuando sps_mts_intra_enabled_flag = 1 ó sps_mts_inter_enabled_flag = 1, el decodificador puede obtener tu_mts_flag. Aquí, tu_mts_flag indica si la selección de transformada múltiple (en lo sucesivo, denominada "MTS") se aplica a una muestra residual de un bloque de transformada de luma. Por ejemplo, cuando tu_mts_flag = 0, la MTS no se aplica a la muestra residual del bloque de transformada de luma y cuando tu_mts_flag = 1, la MTS se aplica a la muestra residual del bloque de transformada de luma.
Como ejemplo alternativo, al menos una de las realizaciones del presente documento se puede aplicar a la tu_mts_flag.
El decodificador puede obtener mts_idx basándose en tu_mts_flag (S1130). Por ejemplo, cuando tu_mts_flag = 1, el decodificador puede obtener mts_idx. Aquí, mts_idx indica qué núcleo de transformada se aplica a muestras residuales de luma a lo largo de la dirección horizontal y/o vertical de un bloque de transformada actual.
Por ejemplo, al menos una de las realizaciones del presente documento se puede aplicar a mts_idx. Como ejemplo específico, se puede aplicar al menos una de las realizaciones de la figura 6 anterior.
El decodificador puede deducir el núcleo de transformada correspondiente a mts_idx (S1140). Por ejemplo, el núcleo de transformada correspondiente al mts_idx se puede definir dividiéndolo en la transformada horizontal y la transformada vertical.
Como ejemplo alternativo, se pueden aplicar núcleos de transformada diferentes a la transformada horizontal y a la transformada vertical. Sin embargo, la presente divulgación no se limita a esto, y se puede aplicar el mismo núcleo de transformada a la transformada horizontal y a la transformada vertical.
En calidad de realización, mts_idx se puede definir como se muestra en la Tabla 1 a continuación.
[Tabla 1]
mts idx[x0][y0] trTypeHor trTypeVer
Además, el decodificador puede realizar la transformada inversa basándose en el núcleo de transformada (S1150). Como realización alternativa de la presente divulgación, se describe un proceso de decodificación para realizar el proceso de transformada.
El decodificador puede verificar un tamaño de transformada nTbS (S10). Aquí, el tamaño de transformada nTbS puede ser una variable que represente un tamaño de muestra horizontal de coeficientes de transformada escalados.
El decodificador puede verificar un tipo de núcleo de transformada trType (S20). Aquí, el tipo de núcleo de transformada trType puede ser una variable que representa el tipo de núcleo de transformada y se pueden aplicar diversas realizaciones de la presente divulgación. El tipo de núcleo de transformada trType puede incluir un tipo de núcleo de transformada horizontal trTypeHor y un tipo de núcleo de transformada vertical trTypeVer.
Con referencia a la Tabla 1 anterior, cuando el tipo de núcleo de transformada trType es 0, el tipo de núcleo de transformada puede representar DCT2, cuando el tipo de núcleo de transformada trType es 1, el tipo de núcleo de transformada puede representar DST7, y cuando el tipo de núcleo de transformada trType es 2, el tipo de núcleo de transformada puede representar DCT8.
El decodificador puede realizar una multiplicación por matriz de transformada basada en al menos uno del tamaño de transformada nTbS ó el tipo de núcleo de transformada (S30).
Como ejemplo alternativo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 4, se puede aplicar una matriz de transformada 1 predeterminada al realizar la multiplicación por matriz de transformada.
Como ejemplo alternativo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 8, se puede aplicar una matriz de transformada 2 predeterminada al realizar la multiplicación por matriz de transformada.
Como ejemplo alternativo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 16, se puede aplicar una matriz de transformada 3 predeterminada al realizar la multiplicación por matriz de transformada.
Como ejemplo alternativo, cuando el tipo de núcleo de transformada es 1 y el tamaño de transformada es 32, se puede aplicar una matriz de transformada 4 predefinida al realizar la multiplicación por matriz de transformada.
De manera similar, cuando el tipo de núcleo de transformada es 2 y el tamaño de transformada es 4, 8, 16 ó 32, se pueden aplicar, respectivamente, las matrices de transformada predefinidas 5, 6, 7 y 8.
Aquí, cada una de las matrices de transformada predefinidas 1 a 8 puede corresponderse con una cualquiera de los diversos tipos de matrices de transformada. Como ejemplo, se puede aplicar la matriz de transformada del tipo ilustrado en la figura 6 anterior.
El decodificador puede deducir una muestra de transformada basándose en la multiplicación por matriz de transformada (S40).
Se puede usar cada una de las realizaciones anteriores, aunque la presente divulgación no se limita a ellas, y las mismas se pueden usar en combinación con las realizaciones anteriores y otras realizaciones de la presente divulgación.
La figura 12 es una tabla que muestra la asignación de un conjunto de transformadas para cada modo de predicción intra en una NSST como realización en la que se aplica la presente divulgación.
Transformada Secundaria No Separable (NSST)
La unidad de transformada secundaria puede aplicar la transformada secundaria a una señal transformada primaria y aquí, la transformada secundaria puede definirse en la tabla en el codificador y/o el decodificador.
En calidad de realización, la transformada secundaria puede adoptar condicionalmente una transformada secundaria no separable (en lo sucesivo, denominada 'NSST'). Por ejemplo, la NSST puede aplicarse solo al bloque de predicción intra y puede tener un conjunto de transformadas aplicable a cada grupo de modos de predicción.
Aquí, el grupo de modos de predicción se puede configurar basándose en una simetría con respecto a una dirección de predicción. Por ejemplo, dado que el modo de predicción 52 y el modo de predicción 16 son simétricos basándose en el modo de predicción 34 (dirección diagonal), se puede aplicar el mismo conjunto de transformadas formando un grupo. En este caso, cuando se aplica la transformada para el modo de predicción 52, los datos de entrada se transponen y a continuación se aplican ya que el modo de predicción 52 tiene el mismo conjunto de transformadas que el modo de predicción 16.
Al mismo tiempo, dado que la simetría para la dirección no existe en el caso de un modo plano y un modo de DC, cada modo tiene un conjunto de transformadas diferente y el conjunto de transformadas correspondiente puede estar constituido por dos transformadas. Con respecto a los modos de dirección restantes, cada conjunto de transformadas puede estar constituido por tres transformadas. Sin embargo, la presente divulgación no se limita a esto, y cada conjunto de transformadas puede estar constituido por una pluralidad de transformadas.
La figura 13 es un diagrama de flujo de cálculo para la rotación de Givens como realización en la que se aplica la presente divulgación.
Como realización alternativa, la NSST no se puede aplicar a todo el bloque transformado primario, sino que se puede aplicar solo a una región superior izquierda de 8 x 8. Por ejemplo, cuando el tamaño del bloque es 8 x 8 ó mayor, se aplica una NSST de 8 x 8 y cuando el tamaño del bloque es menor de 8 x 8, se aplica una NSST de 4 x 4 y en este caso, el bloque se divide en bloques de 4 x 4 y a continuación, se aplica la NSST de 4x4 a cada uno de los bloques divididos.
Como realización alternativa, incluso en el caso de 4 x N / N x 4 (N >= 16), se puede aplicar la NSST de 4 x 4. Dado que tanto la NSST de 8 x 8 como la NSST de 4 x 4 siguen una configuración de combinación de transformadas descrita en la presente divulgación y son las transformadas no separables, la NSST de 8 x 8 recibe 64 datos y da salida a 64 datos y la NSST de 4 x 4 tiene 16 entradas y 16 salidas.
Tanto la NSST de 8 x 8 como la NSST de 4 x 4 están configuradas mediante una combinación jerárquica de rotaciones de Givens. En la Ecuación 4 a continuación se muestra una matriz correspondiente a una rotación de Givens y en la Ecuación 5 a continuación se muestra un producto de matriz.
[Ecuación 4]
cosí? -s in6
Re =.
[sin# cosO
[Ecuación 5]
=x tneos0-t „sittB
i n—i 'm-H ÍnB r nr o s f?
Como se ilustra en la figura 13 anterior, dado que una rotación de Givens rota dos datos, para procesar 64 datos (para la NSST de 8 x 8) ó 16 datos (para la NSST de 4 x 4), se requiere un total de 32 u 8 rotaciones de Givens.
Por lo tanto, para formar una capa de rotación de Givens se utiliza un paquete de 32 u 8. Los datos de salida para una capa de rotación de Givens se transfieren como datos de entrada para una capa de rotación de Givens sucesiva a través de una permutación determinada.
La figura 14 ilustra una configuración de rondas en una NSST de 4 x 4 constituida por una capa de rotación de Givens y permutaciones como realización en la que se aplica la presente divulgación.
Haciendo referencia a la figura 14 anterior, se ilustra que en el caso de la NSST de 4x4 se procesan secuencialmente cuatro capas de rotación de Givens. Como se ilustra en la figura 14 anterior, los datos de salida para una capa de rotación de Givens se transfieren como datos de entrada para la siguiente capa de rotación de Givens a través de una permutación determinada (es decir, barajado).
Como se ilustra en la figura 14 anterior, los patrones que se van a permutar se determinan de forma regular y, en el caso de la NSST de 4 x 4, se combinan cuatro capas de rotación de Givens y las permutaciones correspondientes para formar una ronda.
En el caso de la NSST de 8 x 8, seis capas de rotación de Givens y las permutaciones correspondientes forman una ronda. La NSST de 4 x 4 pasa por dos rondas y la NSST de 8 x 8 pasa por cuatro rondas. Rondas diferentes utilizan el mismo patrón de permutación, pero los ángulos de rotación de Givens aplicados son diferentes. En consecuencia, es necesario almacenar datos de los ángulos de todas las rotaciones de Givens que constituyen cada transformada. Como último paso, finalmente se realiza además una permutación en la salida de datos a través de las capas de rotación de Givens, y se almacena información de permutación correspondiente por separado para cada transformada. En la NSST directa, la permutación correspondiente se realiza en último lugar, y, por el contrario, en la NSST inversa, se aplica primero una permutación inversa correspondiente.
En el caso de la NSST inversa, las capas de rotación de Givens y las permutaciones aplicadas a la NSST directa se realizan en orden inverso y la rotación se realiza tomando un valor negativo incluso para un ángulo de cada rotación de Givens.
La figura 15 es un diagrama de bloques para describir operaciones de una transformada reducida directa y una transformada reducida inversa como realización en la que se aplica la presente divulgación.
Transformada Secundaria Reducida (RST)
Cuando se supone que una matriz ortogonal que representa una transformada tiene una forma N x N, una transformada reducida (en lo sucesivo, denominada 'RT') deja solo R vectores base de transformada entre N vectores base de transformada (R < N). La siguiente Ecuación 6 proporciona una matriz para una RT directa que genera los coeficientes de transformada.
[Ecuación 6]
Dado que una matriz para una RT inversa se convierte en una matriz transpuesta de la matriz de la RT directa, la aplicación de la RT directa y la RT inversa se ilustra según se muestra en la figura 15 anterior.
Cuando se supone un caso de aplicación de la RT al bloque superior izquierdo de 8 x 8 del bloque de transformada que pasa por la transformada primaria, la RT puede denominarse transformada secundaria reducida de 8 x 8 (RST de 8 x 8).
Cuando el valor R de la ecuación 6 anterior es 16, la RST directa de 8 x 8 tiene una forma de la matriz de 16 x 64 y la RST inverso de 8 x 8 tiene una forma de la matriz de 64 x 16.
Además, se puede aplicar la configuración del conjunto de transformadas que es igual a la ilustrada en la figura 12 anterior incluso a la RST de 8 x 8. Es decir, se puede aplicar una RST de 8 x 8 correspondiente según el conjunto de transformadas de la figura 12 anterior.
En calidad de realización, cuando un conjunto de transformadas incluye dos o tres transformadas según el modo de predicción intra de la figura 12 anterior, se puede configurar para ser seleccionada una de un máximo de 4 transformadas, incluido un caso en el que no se aplica la transformada secundaria. Aquí, una transformada puede considerarse como una matriz identidad.
Cuando se asignan índices de 0, 1,2 y 3 a las cuatro transformadas, respectivamente, se puede señalizar un elemento de sintaxis llamado índice de NSST para cada bloque de transformada, designando así una transformada correspondiente. Es decir, en el caso de la NSST, la NSST de 8 x 8 puede designarse para el bloque superior izquierdo de 8 x 8 a través del índice de NSST y la RST de 8 x 8 puede designarse en una configuración de RST. Además, en este caso, el índice 0 puede asignarse a un caso en el que no se aplica la matriz identidad, es decir, la transformada secundaria.
Cuando se aplica la RST directa de 8 x 8 que se muestra en la Ecuación 6 anterior, se generan 16 coeficientes de transformada válidos y, como resultado, se puede considerar que 64 datos de entrada que constituyen una región de 8 x 8 se reducen a 16 datos de salida. Desde la perspectiva de una región bidimensional, solo un cuarto de la región se llena con el coeficiente de transformada válido. En consecuencia, una región superior izquierda de 4 x 4 en la figura 16 se puede llenar con 16 datos de salida obtenidos aplicando la RST directa de 8 x 8.
La figura 16 es un diagrama que ilustra un proceso de realización de una exploración inversa desde el coeficiente 64° al 17° según un orden de exploración inversa como realización en la que se aplica la presente divulgación.
La figura 16 anterior ilustra una exploración desde el coeficiente 17° al coeficiente 64° cuando el orden de exploración directa comienza en 1 (en el orden de exploración directa). Sin embargo, la figura 16 anterior ilustra la exploración inversa y esto ilustra la ejecución de la exploración inversa desde el coeficiente 64° al coeficiente 17°.
Haciendo referencia a la figura 16 anterior, la región superior izquierda de 4 x 4 es una región de interés (ROI) a la que se asigna el coeficiente de transformada válido y la región restante está vacía. Es decir, se puede asignar por defecto un valor de 0 a la región restante.
Si hay un coeficiente de transformada válido distinto de 0 en una región distinta de la región ROI de la figura 16 anterior, esto significa que no se aplica la RST de 8 x 8 y, como resultado, en este caso, se puede omitir la codificación del índice de NSST correspondiente a la misma.
Por el contrario, si no hay ningún coeficiente de transformada distinto de cero en la región distinta de la región ROI de la figura 16 anterior (si se aplica la RST de 8 x 8, cuando se asigna 0 a la región distinta a la ROI), existe la posibilidad de que se aplique la RST de 8 x 8 y, como resultado, el índice de NSST puede codificarse.
Por ello, la codificación del índice de NSST condicional se puede realizar después del proceso de codificación residual ya que es necesario verificar la existencia del coeficiente de transformada distinto de cero.
La presente divulgación proporciona un método para diseñar una RST y métodos de optimización asociados que pueden aplicarse al bloque de 4 x 4 desde una estructura de RST. Las realizaciones dadas a conocer en la presente divulgación se pueden aplicar a la RST de 8 x 8 u otro tipo de transformada además de la RST de 4 x 4.
La figura 17 ilustra tres órdenes de exploración directa para un bloque de coeficientes de transformada (bloque de transformada) como realización en la que se aplica la presente divulgación.
Realización 1: RST aplicable al bloque de 4x4
Una transformada no separable que se puede aplicar a un bloque de 4 x 4 es una transformada de 16 x 16. Es decir, cuando los elementos de datos que constituyen el bloque de 4 x 4 se disponen en un orden por filas o por columnas, se utiliza un vector de 16 x 1 para aplicar la transformada no separable.
La transformada directa de 16 x 16 está constituida por 16 vectores base transformados a nivel de filas y cuando se aplica un producto interno al vector de 16 x 1 y a cada vector base de la transformada, se obtiene el coeficiente de transformada para el vector base de la transformada. Un proceso de obtención de coeficientes de transformada correspondiente a la totalidad de los 16 vectores base de la transformada equivale a multiplicar la matriz de transformada no separable de 16 x 16 por el vector de entrada de 16 x 1.
Los coeficientes de transformada obtenidos por el producto matricial tienen una forma vectorial de 16 x 1 y las características estadísticas pueden ser diferentes para cada coeficiente de transformada. Por ejemplo, cuando un vector de coeficientes de transformada de 16 x 1 está constituido por un elemento 0° a un elemento 15°, la varianza del elemento 0° puede ser mayor que la varianza del elemento 15°. En otras palabras, a medida que el elemento se coloca primero, el valor de varianza correspondiente del elemento es mayor, de modo que el elemento puede tener un valor de energía mayor.
Cuando se aplica la transformada inversa no separable de 16 x 16 a partir del coeficiente de transformada de 16 x 1, se puede reconstruir una señal de bloque original de 4 x 4. Cuando la transformada directa no separable de 16 x 16 es una transformada ortonormal, la correspondiente transformada inversa de 16 x 16 se puede obtener a través de la matriz transpuesta de la transformada directa de 16 x 16.
Cuando el vector de coeficientes de transformada de 16 x 1 se multiplica por la matriz de transformada inversa no separable de 16 x 16, se pueden obtener datos en forma del vector de 16 x 1 y cuando los datos obtenidos se disponen en el orden por filas o por columnas que se ha aplicado primero, se puede reconstruir la señal de bloque de 4 x 4.
Como se ha descrito anteriormente, los elementos que constituyen el vector de coeficientes de transformada de 16 x 1 pueden tener características estadísticas diferentes.
Si los coeficientes de transformada dispuestos en el lado anterior (cerca del elemento 0°) tienen una mayor energía, se puede reconstruir una señal, la cual es bastante cercana a la señal original, aunque la transformada inversa se aplique a algunos coeficientes de transformada que aparecen primero sin utilizar todos los coeficientes de transformada. Por ejemplo, cuando la transformada inversa no separable de 16 x 16 está constituida por 16 vectores base de columna, solo se dejan L vectores base de columna para formar una matriz de 16 x L. Además, cuando una matriz de 16 x L y un vector de L x 1 se multiplican entre sí después de que solo se dejen L coeficientes de transformada importantes entre los coeficientes de transformada (vector de L x 1), cuando la matriz de 16 x L y el vector de L x 1 se multiplican entre sí, se puede reconstruir el vector de 16 x 1, el cual presenta un pequeño error con respecto a los datos del vector de 16 x 1 de entrada original.
Como resultado, dado que solo se utilizan L coeficientes para la reconstrucción de datos, se obtiene el vector de coeficientes de transformada de L x 1 en lugar del vector de coeficientes de transformada de 16 x 1 incluso cuando se obtiene el coeficiente de transformada. Es decir, cuando se configura una transformada de L x 16 seleccionando L vectores de transformada correspondientes a nivel de filas en la matriz de transformada directa no separable de 16 x 16 y la transformada de L x 16 configurada se multiplica a continuación por el vector de entrada de 16 x 1, se pueden obtener L coeficientes de transformada importantes.
El valor de L tiene un intervalo de 1 < L< 16 y, en general, pueden seleccionarse L vectores mediante un método arbitrario entre 16 vectores base de transformada, pero puede ser ventajoso en términos de eficiencia de codificación seleccionar vectores base de transformada que tengan una gran importancia en términos de energía de la señal desde el punto de vista de la codificación y la decodificación.
Realización 2: Configuración de la región de aplicación de la RST de 4 x 4 y disposición de los coeficientes de transformada
La RST de 4x4 se puede aplicar como transformada secundaria y se puede aplicar de forma secundaria a un bloque al que se aplica una transformada primaria, tal como una DCT de tipo 2. Cuando el tamaño del bloque al que se aplica la transformada primaria es N x N, el tamaño del bloque al que se aplica la transformada primaria es generalmente mayor que 4 x 4. Por lo tanto, al aplicar la RST de 4 x 4 al bloque de N x N, puede haber dos métodos como se muestra a continuación.
Realización 2-1) La RST de 4 x 4 no se aplica a todas las regiones de N x N, sino que puede aplicarse solo a algunas regiones. Por ejemplo, la RST de 4 x 4 se puede aplicar solo a la región superior izquierda de M x M (M < N).
Realización 2-2) Una región en la que se va a aplicar la transformada secundaria se puede dividir en bloques de 4 x 4 y a continuación se puede aplicar la RST de 4 x 4 a cada bloque dividido.
En calidad de realización, se pueden mezclar y aplicar las realizaciones 2-1) y 2-2). Por ejemplo, solo la región superior izquierda de M x M se puede dividir en bloques de 4 x 4 y a continuación se puede aplicar la RST de 4 x 4.
En calidad de realización, la transformada secundaria se puede aplicar solo a la región superior izquierda de 8 x 8 y cuando el bloque de N x N es igual o mayor que 8 x 8, se puede aplicar la RST de 8 x 8 y cuando el bloque de N x N es más pequeño que 8 x 8 (4 x 4, 8 x 4 y 4 x 8), el bloque de N x N se puede dividir en bloques de 4 x 4 y a continuación se puede aplicar la RST de 4 x 4 a cada uno de los bloques de 4 x 4 como en la realización 2-2) anterior. Además, incluso en el caso de 4 x N / N x 4 (N >= 16), se puede aplicar la NSST de 4 x 4.
Cuando se generan L (1 < L< 16) coeficientes de transformada después de aplicar la RST de 4 x 4, se genera un grado de libertad sobre cómo se disponen los L coeficientes de transformada. Sin embargo, dado que habrá un orden predeterminado al procesar el coeficiente de transformada en un paso de codificación residual, el rendimiento de la codificación puede variar dependiendo de cómo se disponen los L coeficientes de transformada en un bloque 2D.
Por ejemplo, en el caso de una codificación residual de HEVC, la codificación comienza desde la posición más alejada con respecto a una posición de DC. Esto tiene como objetivo mejorar el rendimiento de la codificación utilizando el hecho de que un valor de coeficiente cuantificado es cero o está cerca de cero al alejarse de la posición de DC.
Por lo tanto, puede ser ventajoso en términos del rendimiento de la codificación disponer coeficientes más importantes con una alta energía incluso para los L coeficientes de transformada de modo que los L coeficientes de transformada se codifiquen más tarde en el orden de la codificación residual.
La figura 17 ilustra tres órdenes de exploración directa en unidades de un bloque de transformada de 4 x 4 (grupo de coeficientes (CG)) aplicado en la HEVC. La codificación residual sigue el orden inverso del orden de exploración de la figura 17 anterior (es decir, la codificación se realiza en el orden de 16 a 1).
Dado que se seleccionan tres órdenes de exploración presentados en la figura 17 anterior según el modo de predicción intra, la presente divulgación se puede configurar para determinar el orden de exploración según el modo de predicción intra de manera similar incluso para los L coeficientes de transformada.
La figura 18 ilustra posiciones de coeficientes de transformada válidos y un orden de exploración directa para cada uno de los bloques de 4 x 4 cuando se aplica la exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 superiores izquierdos como realización en la que se aplica la presente divulgación.
Cuando se sigue un orden de exploración diagonal en la figura 17 anterior y el bloque de 4 x 8 superior izquierdo se divide en bloques de 4 x 4 y se aplica la RST de 4 x 4 a cada bloque de 4 x 4, si el valor de L es 8 (es decir, si solo se dejan 8 coeficientes de transformada de entre 16 coeficientes de transformada), los coeficientes de transformada se pueden posicionar como en la figura 18 anterior.
Solo la mitad de los respectivos bloques de 4 x 4 pueden tener los coeficientes de transformada y se puede aplicar un valor de 0 a las ubicaciones marcadas con X por defecto.
En consecuencia, la codificación residual se puede aplicar disponiendo L coeficientes de transformada para cada bloque de 4x4 según el orden de exploración ilustrado en la figura 17 anterior y suponiendo que las 16 - L posiciones restantes de cada bloque de 4x4 se llenan con ceros.
La figura 19 ilustra un caso en el que los coeficientes de transformada válidos de dos bloques de 4 x 4 se combinan en un bloque de 4 x 4 cuando se aplica la exploración diagonal y se aplica una RST de 4 x 4 en bloques de 4 x 8 superiores izquierdos como realización en la que se aplica la presente divulgación.
Haciendo referencia a la figura 19 anterior, los L coeficientes de transformada dispuestos en dos bloques de 4 x 4 se pueden combinar en uno. En particular, cuando el valor de L es 8, dado que los coeficientes de transformada de dos bloques de 4 x 4 se combinan mientras se llena completamente un bloque de 4 x 4, tampoco se deja ningún coeficiente de transformada en el otro bloque de 4 x 4.
En consecuencia, dado que no se requiere la mayor parte de la codificación residual con respecto al bloque vacío de 4 x 4, la coded_sub_block_flag correspondiente puede codificarse con 0.
Además, como realización de la presente divulgación, se pueden aplicar varios esquemas incluso con relación a cómo se mezclan los coeficientes de transformada de dos bloques de 4 x 4. Los coeficientes de transformada se pueden combinar según un orden aleatorio, pero la presente divulgación puede proporcionar los siguientes métodos.
1) Los coeficientes de transformada de dos bloques de 4 x 4 se mezclan de manera alternada en el orden de exploración. Es decir, en la figura 18 anterior, cuando los coeficientes de transformada para el bloque superior son
uno c , . decir, * puede configurarse para que aparezca primero. ;2) Se pueden disponer en primer lugar los coeficientes de transformada de un primer bloque de 4 x 4 y después se pueden disponer los coeficientes de transformada de un segundo bloque de 4 x 4. Es decir, los coeficientes de transformada se pueden conectar y disponer comor7u>r°!>r*!.■■■.<r>7<!>■ Alternativamente, el orden se puede cambiar como
Realización 3: Método para codificar el índice de NSST para una RST de 4 x 4
Cuando se aplica la RST de 4 x 4 como se ilustra en la figura 18 anterior, de la posición (L 1)§ a la 16§ se pueden llenar con el valor 0 de acuerdo con el orden de exploración de coeficientes de transformada para cada uno de los bloques de 4 x 4.
En consecuencia, cuando se genera un valor distinto de cero en las posiciones (L 1)§ a la 16§ incluso en uno de dos bloques de 4 x 4, se sabe que se trata de un caso en el que no se aplica la RST de 4 x 4.
Cuando la RST de 4x4 también tiene una estructura en la que se selecciona y aplica uno de los conjuntos de transformadas preparados como NSST, se puede señalizar un índice de transformada (que puede denominarse índice de NSST en la realización) para el cual se aplicará la transformada.
Se supone que cualquier decodificador puede conocer el índice de NSST mediante el análisis sintáctico del flujo continuo de bits y el análisis sintáctico se realiza después de la decodificación residual.
Cuando se realiza la decodificación residual y se confirma que existe al menos un coeficiente de transformada distinto de cero entre las posiciones (L 1)§ y 16§, no se aplica la RST de 4 x 4 y, por lo tanto, el índice de NSST se puede configurar para que no ser analizado sintácticamente.
En consecuencia, el índice de NSST se analiza sintácticamente de forma selectiva solo cuando es necesario para reducir el coste de la señalización.
Si la RST de 4 x 4 se aplica a una pluralidad de bloques de 4 x 4 en una región específica como se ilustra en la figura 18 anterior (por ejemplo, se puede aplicar la misma RST de 4 x 4 a toda la pluralidad de bloques de 4 x 4 ó se pueden aplicar RST de 4 x 4 diferentes), la RST de 4 x 4 aplicada a todos los bloques de 4 x 4 puede designarse a través de un índice de NSST. En este caso, se puede designar la misma RST de 4 x 4 ó se puede designar la RST de 4 x 4 aplicada a cada uno de todos los bloques de 4 x 4.
Dado que la RST de 4 x 4 se aplica a todos los bloques de 4 x 4 mediante un índice de NSST, se puede verificar si existen coeficientes de transformada distintos de cero en las ubicaciones (L 1)a a 16a para todos los bloques de 4 x 4 durante un proceso de decodificación residual. Como resultado de la verificación, cuando el coeficiente de transformada distinto de cero existe en una ubicación (ubicaciones (L 1)a a 16a) que no se acepta ni siquiera en un bloque de 4 x 4, el índice de NSST se puede configurar para no ser codificado.
El índice de NSST se puede señalizar por separado para el bloque de luma y el bloque de croma, y en el caso del bloque de croma, se pueden señalizar índices de NSST independientes para Cb y Cr, y se puede compartir un índice de NSST.
Cuando se comparte un índice de NSST para Cb y Cr, se puede aplicar una RST de 4 x 4 designada por el mismo índice de NSST. En este caso, las propias RST de 4 x 4 para Cb y Cr pueden ser la misma o el índice de NSST puede ser el mismo, pero se pueden proporcionar RST de 4 x 4 independientes.
Para aplicar la señalización condicional al índice de NSST compartido, se verifica si existen coeficientes de transformada distintos de cero en las posiciones (L 1)a a 16a para todos los bloques de 4 x 4 para Cb y Cr y cuando existe el coeficiente de transformada distinto de cero, el índice de NSST se puede configurar para no ser señalizado.
Como se ilustra en la figura 19 anterior, incluso para un caso en el que se combinan los coeficientes de transformada para dos bloques de 4 x 4, se verifica si el coeficiente de transformada distinto de cero existe en una ubicación en la que no existe el coeficiente de transformada válido cuando se aplica la RST de 4 x 4 y, a continuación, se puede determinar si se señaliza la NSST.
Por ejemplo, como se ilustra en la figura 19(b) anterior, cuando el valor de L es 8 y los coeficientes de transformada válidos no existen para un bloque de 4 x 4 en el momento de aplicar la RST de 4 x 4 (un bloque marcado con X), se puede verificar la coded_sub_block_flag de un bloque en el que no existen los coeficientes de transformada válidos. En este caso, cuando coded_sub_block_flag es 1, el índice de NSST se puede configurar para no ser señalizado.
Realización 4: Método de optimización para el caso en el que la codificación para el índice de NSST se realiza antes de la codificación residual
Cuando la codificación para el índice de NSST se realiza antes de la codificación residual, está predeterminado si se aplica la RST de 4 x 4 y, como resultado, la codificación residual puede omitirse para ubicaciones en las que se asigna 0 al coeficiente de transformada.
Aquí, se puede configurar que el hecho de si se aplica la RST de 4 x 4 se conozca a través del índice de NSST. Por ejemplo, cuando el índice de NSST es 0, no se aplica la RST de 4 x 4.
Alternativamente, el índice de NSST puede señalizarse a través de un elemento de sintaxis aparte (por ejemplo, bandera de NSST). Por ejemplo, si el elemento de sintaxis aparte se denomina bandera de NSST, la bandera de NSST se analiza sintácticamente primero para determinar si se aplica la RST de 4 x 4, y si el valor de la bandera de NSST es 1, la codificación residual se puede omitir para ubicaciones en las que no puede existir un coeficiente de transformada válido.
En realizaciones de acuerdo con la invención protegida, cuando se realiza la codificación residual, se codifica primero la ubicación del último coeficiente de transformada distinto de cero en la TU. Cuando la codificación para el índice de NSST se realiza después de codificar la ubicación del último coeficiente de transformada distinto de cero y se supone que la RST de 4 x 4 se aplica a la ubicación del último coeficiente de transformada distinto de cero, si la ubicación del último coeficiente de transformada distinto de cero se determina como una ubicación en la que no se puede generar el coeficiente de transformada distinto de cero, la RST de 4 x 4 se configura para no aplicarse a la ubicación del último coeficiente de transformada distinto de cero sin codificar el índice de NSST.
Por ejemplo, dado que en el caso de ubicaciones marcadas con X en la figura 18 anterior, no se posicionan coeficientes de transformada válidos cuando se aplica la RST de 4 x 4 (por ejemplo, las ubicaciones pueden llenarse con valores de cero), cuando el último coeficiente de transformada distinto de cero se posiciona en la región marcada con X, se puede omitir la codificación para el índice de NSST. Cuando el último coeficiente de transformada distinto de cero no se posiciona en la región marcada con X, se puede realizar la codificación del índice de NSST.
En calidad de realización, cuando se verifica si se aplica la RST de 4 x 4 codificando condicionalmente el índice de NSST después de la codificación para la ubicación del último coeficiente de transformada distinto de cero, la porción de codificación residual restante puede procesarse mediante los dos esquemas siguientes.12
1) En caso de no aplicar la RST de 4x4, la codificación residual general se mantiene tal cual. Es decir, la codificación se realiza bajo el supuesto de que el coeficiente de transformada distinto de cero puede existir en cualquier ubicación desde la ubicación del coeficiente de transformada distinto de cero hasta DC.
2) Cuando se aplica la RST de 4 x 4, dado que no existe ningún coeficiente de transformada para una ubicación específica o un bloque de 4 x 4 específico (por ejemplo, una ubicación X de la figura 18 anterior, que se puede llenar con 0 por defecto), no se puede realizar la codificación residual para la ubicación o bloque correspondiente.
Por ejemplo, en el caso de llegar a la ubicación marcada con X en la figura 18 anterior, se puede omitir la codificación de sig_coeff_flag. Aquí, sig_coeff_flag significa una bandera que indica si el coeficiente de transformada distinto de cero existe en una ubicación correspondiente.
Cuando se combinan coeficientes de transformada de dos bloques como se ilustra en la figura 19 anterior, la codificación para coded_sub_block_flag puede omitirse para los bloques de 4 x 4 a los que se ha asignado 0 y puede deducirse un valor correspondiente como 0 y todos los bloques de 4 x 4 correspondientes pueden deducirse como valores de cero sin codificación aparte.
En un caso en el que el índice de NSST se codifique después de codificar la ubicación del coeficiente de transformada distinto de cero, cuando una posición de x P<x>y una posición de y P<y>del último coeficiente de transformada distinto de cero son menores que T<x>y T<y>, respectivamente, se puede omitir la codificación del índice de NSST y no se puede aplicar la RST de 4 x 4.
Por ejemplo, un caso de T<x>= 1 y T<y>= 1 significa que la codificación del índice de NSST se omite para un caso en el que existe el coeficiente de transformada distinto de cero en la posición de DC.
Se puede aplicar de manera diferente a la luma y el croma un esquema para determinar si se codifica el índice de NSST mediante comparación con el umbral. Por ejemplo, se pueden aplicar T<x>y T<y>diferentes a la luma y al croma y el umbral se puede aplicar a la luma y no al croma. O viceversa.
Se pueden aplicar simultáneamente dos métodos descritos anteriormente, es decir, un primer método para omitir la codificación del índice de NSST cuando el coeficiente de transformada distinto de cero está ubicado en una región en la que el coeficiente de transformada válido no existe y un segundo método para omitir la codificación del índice de NSST cuando cada una de una coordenada X y una coordenada Y para el coeficiente de transformada distinto de cero es menor que un umbral predeterminado.
Por ejemplo, primero se puede verificar un umbral para una coordenada de la posición del último coeficiente de transformada distinto de cero y después se puede verificar si el último coeficiente de transformada distinto de cero está situado en la región en la que no existe el coeficiente de transformada válido. Alternativamente, se puede cambiar el orden.
Los métodos presentados en la Realización 4 pueden aplicarse incluso a la RST de 8 x 8. Es decir, cuando el último coeficiente de transformada distinto de cero está ubicado en una región distinta a la 4 x 4 superior izquierda de la región superior izquierda de 8 x 8, la codificación para el índice de NSST puede omitirse y, de lo contrario, puede realizarse la codificación del índice de NSST.
Además, cuando los valores de las coordenadas tanto X como Y para el coeficiente de transformada distinto de cero son inferiores a un umbral, se puede omitir la codificación para el índice de NSST. Alternativamente, se pueden aplicar dos métodos juntos.
Realización 5: Aplicación esquemas diferentes de codificación del índice de NSST y codificación residual a la luma y al croma al aplicar la RST
Los esquemas descritos en las Realizaciones 3 y 4 anteriores se pueden aplicar de manera diferente a la luma y al croma, respectivamente. Es decir, los esquemas de codificación del índice de NSST y de codificación residual para la luma y el croma pueden aplicarse de manera diferente.
Por ejemplo, la luma puede adoptar el esquema de la Realización 4 anterior y el croma puede adoptar el esquema de la Realización 3 anterior. Alternativamente, la luma puede adoptar la codificación del índice de NSST condicional presentada en la Realización 3 ó 4 anterior y el croma puede no adoptar la codificación del índice de NSST condicional. O viceversa.
La figura 20 es un diagrama de flujo de codificación de una señal de vídeo basada en una transformada secundaria reducida como realización en la que se aplica la presente divulgación.
El codificador puede determinar (o seleccionar) la transformada secundaria directa basándose en al menos uno del modo de predicción, la forma del bloque y/o el tamaño del bloque correspondiente al bloque actual (S2010). En este caso, una candidata de la transformada secundaria directa puede incluir al menos una de las realizaciones de la figura 6 y/o la figura 12 anteriores.
El codificador puede determinar una transformada secundaria directa óptima mediante la optimización de la Tasa-Distorsión. La transformada secundaria directa óptima puede corresponderse con una de una pluralidad de combinaciones de transformadas y la pluralidad de combinaciones de transformadas puede definirse mediante un índice de transformada. Por ejemplo, para la optimización de RD, se pueden comparar los resultados de realizar la totalidad de la transformada secundaria directa, la cuantificación, la codificación residual, etc., para candidatas respectivas. En este caso, se puede usar una ecuación tal como coste = tasa A-distorsión ó coste = distorsión A-tasa, pero la presente divulgación no se limita a ellas.
El codificador puede señalizar un índice de transformada secundaria correspondiente a la transformada secundaria directa óptima (S2020). Aquí, el índice de transformada secundaria puede adoptar otras realizaciones descritas en la presente divulgación.
Por ejemplo, el índice de transformada secundaria puede adoptar la configuración del conjunto de transformadas de la figura 12 anterior. Dado que un conjunto de transformadas incluye dos o tres transformadas según el modo de predicción intra, una de un máximo de cuatro transformadas puede configurarse para ser seleccionada además del caso de no aplicar la transformada secundaria. Cuando se asignan índices de 0, 1,2 y 3 a las cuatro transformadas, respectivamente, se puede designar una transformada aplicada señalizando el índice de transformada secundaria para cada bloque de coeficientes de transformada. En este caso, el índice 0 puede asignarse a un caso en el que no se aplica la matriz identidad, es decir, la transformada secundaria.
Como realización alternativa, la señalización del índice de transformada secundaria se puede realizar en cualquier paso de 1) antes de la codificación residual, 2) en medio de la codificación residual (después de codificar la posición del coeficiente de transformada distinto de cero), ó 3) después de la codificación residual. Las realizaciones se describirán a continuación en detalle.
1) Método para señalizar el índice de transformada secundaria antes de la codificación residual
El codificador puede determinar la transformada secundaria directa.
El codificador puede señalizar el índice de transformada secundaria correspondiente a la transformada secundaria directa.
El codificador puede codificar la posición del último coeficiente de transformada distinto de cero.
El codificador puede realizar una codificación residual para elementos de sintaxis distintos de la posición del último coeficiente de transformada distinto de cero.
2) Método para señalizar el índice de transformada secundaria en medio de la codificación residual
El codificador puede determinar la transformada secundaria directa.
El codificador puede codificar la posición del último coeficiente de transformada distinto de cero.
Cuando el coeficiente de transformada distinto de cero no está ubicado en una región específica, el codificador puede codificar el índice de transformada secundaria correspondiente a la transformada secundaria directa. Aquí, en caso de que se aplique la transformada secundaria reducida, la región específica representa una región restante distinta de la posición en la que puede existir el coeficiente de transformada distinto de cero cuando los coeficientes de transformada se disponen según el orden de exploración. Sin embargo, la presente divulgación no se limita a esto.
El codificador puede realizar una codificación residual para elementos de sintaxis distintos de la posición del último coeficiente de transformada distinto de cero.
3) Método para señalizar el índice de transformada secundaria antes de la codificación residual
El codificador puede determinar la transformada secundaria directa.
El codificador puede codificar la posición del último coeficiente de transformada distinto de cero.
Cuando el coeficiente de transformada distinto de cero no está ubicado en una región específica, el codificador puede realizar una codificación residual para elementos de sintaxis distintos de la posición del último coeficiente de transformada distinto de cero. Aquí, en caso de que se aplique la transformada secundaria reducida, la región específica representa una región restante distinta de la posición en la que puede existir el coeficiente de transformada distinto de cero cuando los coeficientes de transformada se disponen según el orden de exploración. Sin embargo, la presente divulgación no se limita a esto.
El codificador puede señalizar el índice de transformada secundaria correspondiente a la transformada secundaria directa.
Al mismo tiempo, el codificador puede realizar la transformada directa de primer orden para el bloque actual (bloque residual) (S2030). Aquí, el paso S2010 y/o el paso S2020 se pueden aplicar de manera similar a la transformada primaria directa.
El codificador puede realizar la transformada secundaria directa para el bloque actual utilizando la transformada secundaria directa óptima (S2040). Por ejemplo, la transformada secundaria directa óptima puede ser la transformada secundaria reducida. T ransformada secundaria reducida se refiere a una transformada en la que se introducen N datos residuales (vectores residuales de N x 1) y se da salida a L (L < N) datos de coeficientes de transformada (vectores de coeficientes de transformada de L x 1).
En calidad de realización, la transformada secundaria reducida se puede aplicar a una región específica del bloque actual. Por ejemplo, cuando el bloque actual es N x N, la región específica puede significar una región superior izquierda de N / 2 x N / 2. Sin embargo, la presente divulgación no se limita a esto y puede configurarse de manera diferente según al menos uno del modo de predicción, la forma del bloque o el tamaño del bloque. Por ejemplo, cuando el bloque actual es N x N, región específica puede significar una región superior izquierda de M x M (M < N).
Al mismo tiempo, el codificador realiza una cuantificación para el bloque actual con el fin de generar un bloque de coeficientes de transformada (S2050).
El codificador realiza una codificación entrópica para el bloque de coeficientes de transformada con el fin de generar el flujo continuo de bits.
La figura 21 es un diagrama de flujo de la decodificación de una señal de vídeo basada en una transformada secundaria reducida como realización en la que se aplica la presente divulgación.
El decodificador puede obtener el índice de transformada secundaria a partir del flujo continuo de bits (S2110). Aquí, el índice de transformada secundaria puede adoptar otras realizaciones descritas en la presente divulgación. Por ejemplo, el índice de transformada secundaria puede incluir al menos una de las realizaciones de la figura 6 y/o la figura 12 anteriores.
Como realización alternativa, la obtención del índice de transformada secundaria se puede realizar en cualquier paso de 1) antes de la codificación residual, 2) en medio de la codificación residual (después de decodificar la posición del coeficiente de transformada distinto de cero), ó 3) después de la codificación residual.
El decodificador puede deducir la transformada secundaria correspondiente al índice de transformada secundaria (S2120). En este caso, la candidata de la transformada secundaria puede incluir al menos una de las realizaciones de la figura 6 y/o la figura 12 anteriores.
Sin embargo, los pasos S2110 y S2120 son realizaciones y la presente divulgación no se limita a ellos. Por ejemplo, el decodificador puede no obtener el índice de transformada secundaria, sino deducir la transformada secundaria basándose en al menos uno del modo de predicción, la forma del bloque y/o el tamaño del bloque correspondiente al bloque actual.
Al mismo tiempo, el decodificador puede obtener el bloque de coeficientes de transformada decodificando entrópicamente el flujo continuo de bits y realizar la descuantificación para el bloque de coeficientes de transformada (S2130).
El decodificador puede realizar la transformada secundaria inversa para el bloque de coeficientes de transformada descuantificado (S2140). Por ejemplo, la transformada secundaria inversa puede ser la transformada secundaria reducida. Transformada secundaria reducida significa una transformada en la que se introducen N datos residuales (vectores residuales de N x 1) y se da salida a L (L < N) datos de coeficientes de transformada (vectores de coeficientes de transformada de L x 1).
En calidad de realización, la transformada secundaria reducida se puede aplicar a una región específica del bloque actual. Por ejemplo, cuando el bloque actual es N x N, la región específica puede significar una región de N / 2 x N / 2 superior izquierda. Sin embargo, la presente divulgación no se limita a esto y puede configurarse de manera diferente según al menos uno del modo de predicción, la forma del bloque o el tamaño del bloque. Por ejemplo, cuando el bloque actual es N x N, región específica puede significar una región superior izquierda de M x M (M < N) ó M x L (M < N, L < N).
Además, el decodificador puede realizar la transformada primaria inversa para el resultado de la transformada secundaria inversa (S2150).
El decodificador genera el bloque residual a través del paso S2150 y el bloque residual y el bloque de predicción se suman para generar un bloque de reconstrucción.
La figura 22 ilustra un sistema de transmisión de contenido en flujo continuo al que se aplica la divulgación.
Haciendo referencia a la figura 22, el sistema de transmisión de contenido en flujo continuo al que se aplica la divulgación puede incluir básicamente un servidor de codificación, un servidor de transmisión en flujo continuo, un servidor web, un módulo de almacenamiento de medios, un equipo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación funciona básicamente para generar un flujo continuo de bits comprimiendo contenido introducido desde dispositivos de entrada multimedia, como un teléfono inteligente, una cámara o una videocámara, para obtener datos digitales, y transmitir el flujo continuo de bits al servidor de transmisión en flujo continuo. Como otro ejemplo, si los dispositivos de entrada multimedia, como un teléfono inteligente, una cámara o una videocámara, generan directamente un flujo continuo de bits, se puede omitir el servidor de codificación.
El flujo continuo de bits puede generarse mediante un método de codificación o método de generación de flujo continuo de bits al que se aplica la divulgación. El servidor de transmisión en flujo continuo puede almacenar temporalmente un flujo continuo de bits en un proceso de transmisión o recepción del flujo continuo de bits.
El servidor de transmisión en flujo continuo transmite datos multimedia al equipo de usuario basándose en una solicitud de usuario a través del servidor web. El servidor web desempeña la función de medio para notificar a un usuario qué servicio se proporciona. Cuando un usuario solicita un servicio deseado del servidor web, el servidor web transmite la solicitud al servidor de transmisión en flujo continuo. El servidor de transmisión en flujo continuo transmite datos multimedia al usuario. En este caso, el sistema de transmisión de contenido en flujo continuo puede incluir un servidor de control independiente. En este caso, el servidor de control funciona para controlar una instrucción/respuesta entre los aparatos dentro del sistema de transmisión de contenido en flujo continuo.
El servidor de transmisión en flujo continuo puede recibir contenido del módulo de almacenamiento de medios y/o del servidor de codificación. Por ejemplo, si se recibe contenido desde el servidor de codificación, el servidor de transmisión en flujo continuo puede recibir el contenido en tiempo real. En este caso, para proporcionar un servicio de transmisión en flujo continuo fluido, el servidor de transmisión en flujo continuo puede almacenar un flujo continuo de bits durante un tiempo determinado.
Ejemplos de equipos de usuario pueden incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal para radiodifusión digital, asistentes digitales personales (PDA), un reproductor multimedia portátil (PMP), un navegador, un PC de tipo pizarra[slate],un PC de tipo tableta, unultrabook,un dispositivo ponible (por ejemplo, un terminal de tipo reloj (reloj inteligente), un terminal de tipo gafas (gafas inteligentes) y una pantalla montable en la cabeza (HMD)), una televisión digital, un ordenador de sobremesa y un módulo de señalética digital.
Los servidores dentro del sistema de transmisión de contenido en flujo continuo pueden funcionar como servidores distribuidos. En este caso, los datos recibidos de los servidores pueden distribuirse y procesarse.
Como se ha descrito anteriormente, las realizaciones descritas en la divulgación pueden implementarse y realizarse en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales ilustradas en los dibujos pueden implementarse y realizarse en un ordenador, un procesador, un microprocesador, un controlador o un chip.
Además, el decodificador y el codificador en los que se aplica la divulgación pueden incluirse en un dispositivo de transmisión y recepción de radiodifusión multimedia, un terminal de comunicación móvil, un dispositivo de vídeo de cine en casa, un dispositivo de vídeo de cine digital, una cámara para monitorización, un dispositivo de diálogo de vídeo, un dispositivo de comunicación en tiempo real tal como comunicación por vídeo, un dispositivo móvil de transmisión en flujo continuo, un medio de almacenamiento, una videocámara, un dispositivo de provisión de servicios de vídeo bajo demanda (VoD), un dispositivo de vídeoover the top(OTT), un dispositivo de provisión de servicios de transmisión por Internet en flujo continuo, un dispositivo de vídeo tridimensional (3D), un dispositivo de videotelefonía y un dispositivo de vídeo médico, y pueden usarse para procesar una señal de vídeo o una señal de datos. Por ejemplo, el dispositivo de vídeo OTT puede incluir una consola de juegos, un reproductor de Blu-ray, un televisor con acceso a Internet, un sistema de cine en casa, un teléfono inteligente, un PC de tipo tableta y una grabadora de vídeo digital (DVR).
Además, el método de procesamiento al que se aplica la divulgación puede producirse en forma de un programa ejecutado por un ordenador y puede almacenarse en un medio de grabación legible por ordenador. También pueden almacenarse en un medio de grabación legible por ordenador datos multimedia que tengan una estructura de datos según la divulgación. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento en los que se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir un disco de Blu-ray (BD), un bus serie universal (USB), una ROM, una PROM, una EPROM, una EE<p>R<o>M, una RAM, un CD-ROM, una cinta magnética, un disquete y un dispositivo óptico de almacenamiento de datos, por ejemplo. Además, el medio de grabación legible por ordenador incluye medios implementados en forma de portadoras (por ejemplo, transmisión a través de Internet). Además, un flujo continuo de bits generado usando un método de codificación puede almacenarse en un medio de grabación legible por ordenador o puede transmitirse a través de redes de comunicación por cable e inalámbricas.
Además, una realización de la divulgación puede implementarse como un producto de programa informático utilizando código de programa. El código del programa puede ser ejecutado por un ordenador según una realización de la divulgación. El código del programa puede almacenarse en un soporte legible por ordenador.

Claims (6)

REIVINDICACIONES
1. Un método de reconstrucción de una señal de vídeo a partir de información de vídeo codificada basándose en una transformada secundaria reducida, que comprende:
obtener condicionalmente un índice de transformada secundaria a partir de la información de vídeo codificada; y, en caso de que se obtenga el índice de transformada secundaria
deducir una matriz de transformada secundaria inversa correspondiente al índice de transformada secundaria; obtener coeficientes de transformada realizando una decodificación entrópica y una descuantificación para un bloque actual;
realizar una transformada secundaria inversa para los coeficientes de transformada basándose en la matriz de transformada secundaria inversa, en donde la transformada secundaria inversa es la transformada secundaria reducida que da salida a N elementos de datos residuales basándose en L elementos de datos de coeficientes de transformada introducidos, y L es menor que N;
realizar una transformada primaria inversa para coeficientes transformados a los que se aplica la transformada secundaria inversa; y
reconstruir el bloque actual basándose en un bloque residual obtenido realizando la transformada primaria inversa,
en el que el hecho de si se obtiene el índice de transformada secundaria se determina basándose en una posición de un último coeficiente de transformada distinto de cero en un bloque de coeficientes de transformada.
2. El método de la reivindicación 1, en el que la transformada secundaria inversa se aplica a una región específica del bloque actual, y
en donde la región específica es una región superior izquierda en el bloque actual.
3. El método de la reivindicación 1, en el que cuando se realiza la transformada secundaria inversa, se aplica una transformada secundaria inversa de 4 x 4 a cada uno de bloques divididos de 4 x 4 en el bloque actual.
4. El método de la reivindicación 1, en el que cuando el último coeficiente de transformada distinto de cero no está ubicado en una región específica, se obtiene el índice de transformada secundaria, y
en donde la región específica representa una región restante distinta de una posición en la que puede existir un coeficiente de transformada distinto de cero cuando los coeficientes de transformada se disponen según un orden de exploración si se aplica la transformada secundaria inversa.
5. El método de la reivindicación 1, que comprende además:
obtener un índice de transformada primaria del bloque actual a partir de la información de vídeo codificada, en donde el índice de transformada primaria se corresponde con una cualquiera de una pluralidad de combinaciones de transformadas configuradas por una combinación de Transformada Sinusoidal Discreta de tipo 7 (DST7) y/o Transformada de Coseno Discreta de tipo 8 (DCT8); y
deducir una combinación de transformadas correspondiente al índice de transformada primaria,
en donde la combinación de transformadas incluye una transformada horizontal y una transformada vertical, y la transformada horizontal y la transformada vertical se corresponden con una cualquiera de la DST7 ó la DCT8, y en donde la transformada primaria inversa se realiza basándose en la combinación de transformadas.
6. Un medio legible por ordenador que almacena información de vídeo codificada configurada para reconstruirse según el método de la reivindicación 1.
ES19780916T 2018-04-01 2019-04-01 Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida Active ES2961923T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862651251P 2018-04-01 2018-04-01
PCT/KR2019/003812 WO2019194504A1 (ko) 2018-04-01 2019-04-01 축소된 2차 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2961923T3 true ES2961923T3 (es) 2024-03-14

Family

ID=68101097

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19780916T Active ES2961923T3 (es) 2018-04-01 2019-04-01 Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida

Country Status (12)

Country Link
US (2) US11616985B2 (es)
EP (2) EP4250731A3 (es)
JP (2) JP7301951B2 (es)
KR (3) KR20240017106A (es)
CN (3) CN115604470A (es)
ES (1) ES2961923T3 (es)
FI (1) FI3764649T3 (es)
HR (1) HRP20231341T1 (es)
HU (1) HUE063982T2 (es)
PL (1) PL3764649T3 (es)
SI (1) SI3764649T1 (es)
WO (1) WO2019194504A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116546198A (zh) 2018-08-12 2023-08-04 Lg电子株式会社 解码装置、编码装置、存储介质和发送图像的数据的装置
KR102636267B1 (ko) 2018-08-16 2024-02-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변형 행렬 선택의 계수에 따른 코딩
WO2020071736A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
CN113747156A (zh) * 2019-03-09 2021-12-03 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
US11616966B2 (en) * 2019-04-03 2023-03-28 Mediatek Inc. Interaction between core transform and secondary transform
US11172211B2 (en) * 2019-04-04 2021-11-09 Tencent America LLC Method and apparatus for video coding
CN113812146B (zh) * 2019-05-10 2022-11-11 北京字节跳动网络技术有限公司 用于视频处理的基于亮度的二次变换矩阵选择
US11218728B2 (en) * 2019-06-04 2022-01-04 Tencent America LLC Method and apparatus for video coding
WO2020244656A1 (en) 2019-06-07 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Conditional signaling of reduced secondary transform in video bitstreams
JP7422858B2 (ja) 2019-08-03 2024-01-26 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体及び記憶方法
WO2021032045A1 (en) 2019-08-17 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Context modeling of side information for reduced secondary transforms in video
CN116016915B (zh) * 2019-11-21 2024-04-23 北京达佳互联信息技术有限公司 变换与系数信令的方法和装置
KR20220103181A (ko) 2019-11-26 2022-07-21 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 샘플 블록의 변환된 표현에 대한 코딩 개념
GB2593778A (en) * 2020-04-03 2021-10-06 Sony Group Corp Video data encoding and decoding
CN112543324B (zh) * 2020-12-06 2023-02-28 浙江大华技术股份有限公司 视频解码方法、编码方法、编解码器及存储介质
GB2603559B (en) * 2021-07-22 2023-08-09 Imagination Tech Ltd Coding blocks of pixels

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012044075A2 (ko) 2010-09-28 2012-04-05 삼성전자 주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
US10194158B2 (en) * 2012-09-04 2019-01-29 Qualcomm Incorporated Transform basis adjustment in scalable video coding
US9571837B2 (en) * 2013-11-01 2017-02-14 Broadcom Corporation Color blending prevention in video coding
US10531123B2 (en) * 2015-03-06 2020-01-07 Korea Advanced Institute Of Science And Technology Image encoding and decoding method based on low-complexity transformation, and apparatus using same
US20170034530A1 (en) 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Reduced size inverse transform for decoding and encoding
US10491922B2 (en) 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
CN114339228B (zh) * 2016-05-04 2024-04-12 夏普株式会社 用于对变换数据进行编码的系统和方法
JP6868785B2 (ja) 2016-05-13 2021-05-12 ソニーグループ株式会社 画像処理装置および方法
CN113411580B (zh) * 2016-05-13 2024-01-30 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
CN109076222B9 (zh) * 2016-05-13 2021-10-15 索尼公司 图像处理装置和方法
KR102393150B1 (ko) * 2016-05-13 2022-05-02 소니그룹주식회사 화상 처리 장치 및 방법
JP6861479B2 (ja) * 2016-06-24 2021-04-21 東京エレクトロン株式会社 プラズマ成膜方法およびプラズマ成膜装置
CN109644276B (zh) 2016-08-01 2022-12-30 韩国电子通信研究院 图像编码/解码方法
EP3522533A4 (en) * 2016-09-30 2019-09-11 Sony Corporation IMAGE PROCESSING APPARATUS AND METHOD
US10880564B2 (en) * 2016-10-01 2020-12-29 Qualcomm Incorporated Transform selection for video coding
US11095893B2 (en) * 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
CN110326294A (zh) * 2017-01-03 2019-10-11 Lg电子株式会社 使用二次变换编码/解码视频信号的方法和设备
US10554974B2 (en) * 2017-01-13 2020-02-04 Mediatek Inc. Method and apparatus enabling adaptive multiple transform for chroma transport blocks using control flags
EP3606066A4 (en) * 2017-03-23 2020-03-25 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD

Also Published As

Publication number Publication date
CN112166613B (zh) 2022-10-21
KR102631119B1 (ko) 2024-01-29
JP2021517796A (ja) 2021-07-26
EP3764649A4 (en) 2021-05-12
EP3764649B1 (en) 2023-09-27
CN115604470A (zh) 2023-01-13
PL3764649T3 (pl) 2024-01-22
HRP20231341T1 (hr) 2024-02-16
FI3764649T3 (fi) 2023-10-19
US20210014534A1 (en) 2021-01-14
US11968398B2 (en) 2024-04-23
KR20220153118A (ko) 2022-11-17
KR102465119B1 (ko) 2022-11-09
EP4250731A3 (en) 2023-12-06
JP2023120355A (ja) 2023-08-29
KR20240017106A (ko) 2024-02-06
HUE063982T2 (hu) 2024-02-28
EP4250731A2 (en) 2023-09-27
WO2019194504A1 (ko) 2019-10-10
KR20200123806A (ko) 2020-10-30
US20230199220A1 (en) 2023-06-22
CN112166613A (zh) 2021-01-01
CN115604468A (zh) 2023-01-13
EP3764649A1 (en) 2021-01-13
JP7301951B2 (ja) 2023-07-03
US11616985B2 (en) 2023-03-28
SI3764649T1 (sl) 2023-12-29

Similar Documents

Publication Publication Date Title
ES2961923T3 (es) Procesamiento de una señal de vídeo utilizando una transformada secundaria reducida
ES2949998T3 (es) Método y dispositivo para procesar una señal de vídeo usando una transformada reducida
RU2745021C1 (ru) Способ и устройства для конфигурирования преобразования для сжатия видео
KR102599446B1 (ko) 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치
CN112400322B (zh) 基于二次变换处理视频信号的方法和设备
KR102650865B1 (ko) 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
RU2795258C1 (ru) Способ и устройство для конфигурирования преобразования для сжатия видео
WO2019209050A1 (ko) 변환 타입에 기초하여 비디오 신호를 처리하는 방법 및 장치