ES3040198T3 - Signaling of information indicating transform kernel set in image coding - Google Patents
Signaling of information indicating transform kernel set in image codingInfo
- Publication number
- ES3040198T3 ES3040198T3 ES20825768T ES20825768T ES3040198T3 ES 3040198 T3 ES3040198 T3 ES 3040198T3 ES 20825768 T ES20825768 T ES 20825768T ES 20825768 T ES20825768 T ES 20825768T ES 3040198 T3 ES3040198 T3 ES 3040198T3
- Authority
- ES
- Spain
- Prior art keywords
- transform
- index
- information
- mts
- bin
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/94—Vector quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/39—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Un método de decodificación de imágenes según el presente documento comprende un paso de generación de muestras residuales de un bloque actual en base a información residual, donde la información residual comprende un índice de selección de transformación múltiple (MTS) e información sobre coeficientes de transformación. Las muestras residuales se generan a partir de coeficientes de transformación según la información sobre los coeficientes de transformación utilizando un conjunto de núcleos de transformación. El conjunto de núcleos de transformación se determina por el índice MTS entre los candidatos del conjunto de núcleos de transformación. Al menos uno de los bins de una cadena de bins del índice MTS se deriva en base a la codificación de contexto. La codificación de contexto se realiza en base a un valor de un índice de contexto que aumenta o disminuye con respecto al índice MTS. La cadena de bins del índice MTS comprende como máximo cuatro bins, y el número de valores en los que el índice de contexto aumenta o disminuye, los valores que se asignan al bin derivado por la codificación de contexto de entre los cuatro bins, es uno. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Señalización de información que indica un conjunto de núcleos de transformada en codificación de imágenes
Antecedentes de la divulgación
Campo de la divulgación
La presente divulgación se refiere a una tecnología de codificación de imágenes y, en particular, a la señalización de información que indica un conjunto de núcleos de transformada en la codificación de imágenes.
Técnica relacionada
Recientemente, la demanda de imagen/vídeo de alta resolución y alta calidad tal como 4K, 8K o imagen/vídeo de ultra alta definición (UHD) superior está aumentando en diversos campos. A medida que aumenta la resolución o la calidad de la imagen/vídeo, se transmite relativamente más cantidad de información o bits que en el caso de los datos de imagen/vídeo convencionales. Por lo tanto, si los datos de imagen/vídeo se transmiten a través de un medio tal como una línea de banda ancha alámbrica/inalámbrica existente o se almacenan en un medio de almacenamiento heredado, los costes de transmisión y almacenamiento aumentan fácilmente.
Así mismo, crece el interés y la demanda de contenidos de realidad virtual (RV) y realidad artificial (RA), así como de medios inmersivos como el holograma; y también crece la difusión de imágenes/vídeos que presentan características de imagen/vídeo diferentes de las de una imagen/vídeo real, tales como las imágenes/vídeos de juegos.
Por lo tanto, se requiere una técnica de compresión de imágenes/vídeos altamente eficaz para comprimir y transmitir, almacenar o reproducir de manera efectiva imágenes/vídeos de alta resolución y alta calidad que muestren diversas características como se ha descrito anteriormente. Documento: BENJAMIN BROSS ET AL., "Versatile Video Coding (Draft 3)", n.° JVET-L1001-v7; JVET-L1001, (20181220), páginas 1 - 223, 12. REUNIÓN DE JVET; 20181003 - 20181012; MACAO; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), URL: http://phenix.intevry.fr/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L1001 -v11.zip JVET-L1001 -v7.docx, (20181220), se refiere a VVC. Documento: BENJAMIN BROSS ET AL., "Versatile Video Coding (Draft 5)", n.° JVET-N1001-v8; JVET-N1001, (20190611), páginas 1 - 397, 14. REUNIÓN DE JVET; 20190319 - 20190327; GINEBRA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), URL: http://phenix.int-evry.fr/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v8.zip JVET-N1001-v8.docx, (20190611), también se refiere a VVC.
Compendio
La divulgación de habilitación para la invención protegida se proporciona con las realizaciones descritas en relación con la Tabla 6. Las otras tablas, los otros aspectos y las otras realizaciones se proporcionan con fines ilustrativos y no representan realizaciones de la invención salvo que se combinen con todas las características definidas respectivamente en las reivindicaciones independientes. Los aspectos de la invención se ajustan a las reivindicaciones 1 y 2. Según una realización del presente documento, se proporciona un método para perfeccionar la eficiencia de codificación de imagen/vídeo.
Según una realización del presente documento, se proporciona un método para la señalización de información que indica un conjunto de núcleos de transformada en la codificación de imágenes.
Según una realización del presente documento, se proporciona un método para la señalización de información de índice de selección de transformada múltiple (MTS, por sus siglas en inglés).
Según una realización del presente documento, se proporciona un método para codificar información que indica un conjunto de núcleos de transformada.
Según una realización del presente documento, se proporciona un método para señalizar información que representa un conjunto de núcleos de transformada que se aplicará a un bloque actual entre una pluralidad de conjuntos de núcleos de transformada.
Según una realización del presente documento, se proporciona un método para la codificación por contexto o la codificación por omisión con respecto a los bins de una cadena de bins de un índice de MTS.
Según una realización del presente documento, se proporciona un método de descodificación de vídeo/imagen realizado por un aparato de descodificación.
Según una realización del presente documento, se proporciona un método de codificación de vídeo/imagen realizado por un aparato de codificación.
Según una realización del presente documento, se proporciona un medio de almacenamiento digital legible por ordenador que almacena información de vídeo/imagen codificada generada según el método de codificación de vídeo/imagen descrito en al menos una de las realizaciones del presente documento.
Según una realización del presente documento, se proporciona un medio de almacenamiento digital legible por ordenador que almacena información codificada o información de vídeo/imagen codificada que hace que un aparato de descodificación realice el método de descodificación de vídeo/imagen descrito en al menos una de las realizaciones del presente documento.
Según el presente documento, se puede perfeccionar la eficiencia de compresión de imagen/vídeo general. Según el presente documento, se puede señalizar de manera eficiente la información que indica un conjunto de núcleos de transformada puede.
Según el presente documento, la complejidad del sistema de codificación puede reducirse al codificar de manera eficiente la información que indica un conjunto de núcleos de transformada.
Los efectos que pueden obtenerse mediante un ejemplo detallado del presente documento no se limitan a los efectos enumerados anteriormente. Por ejemplo, pueden existir diversos efectos técnicos que pueden ser comprendidos o inducidos por una persona que tenga conocimientos habituales en la técnica a partir del presente documento. Por consiguiente, los efectos detallados del presente documento no se limitan a los que se indican explícitamente en el mismo, sino que pueden incluir diversos efectos que pueden comprenderse o inducirse a partir de las características técnicas del presente documento.
Breve descripción de los dibujos
La FIG. 1 ilustra esquemáticamente un ejemplo de un sistema de codificación de vídeo/imagen al que es aplicable el presente documento.
La FIG. 2 es un diagrama que explica esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que es aplicable el presente documento.
La FIG. 3 es un diagrama que explica esquemáticamente la configuración de un aparato de descodificación de vídeo/imagen al que es aplicable el presente documento.
La FIG. 4 ilustra a modo de ejemplo los modos intra direccionales en 65 direcciones de predicción.
La FIG. 5 ilustra a modo de ejemplo la codificación aritmética binaria adaptable al contexto (CABAC, por sus siglas en inglés) para codificar elementos de sintaxis.
Las FIGS. 6 y 7 muestran esquemáticamente un esquema de transformada múltiple según una realización del presente documento.
Las FIGS. 8 y 9 son diagramas para explicar la transformada secundaria residual (RST, por sus siglas en inglés) según una realización del presente documento.
Las FIGS. 10 y 11 son diagramas para explicar la RST según una realización del presente documento. Las FIGS. 12 y 13 ilustran esquemáticamente un método de descodificación de vídeo/imagen y un ejemplo de componentes relacionados según una(s) realización(es) del presente documento.
La FIG. 14 muestra un ejemplo de un sistema de emisión en continuo de contenido al que son aplicables las realizaciones descritas en el presente documento.
Descripción de realizaciones ilustrativas
La presente divulgación puede modificarse de diversas formas, y realizaciones específicas de la misma se describirán e ilustrarán en los dibujos. Sin embargo, las realizaciones no pretenden limitar la divulgación. Los términos usados en la siguiente divulgación se usan simplemente para describir realizaciones específicas, pero no pretenden limitar la descripción. Una expresión de un número singular incluye una expresión del número plural, siempre que se lea claramente de manera diferente. Los términos tales como "incluir" y "tener" pretenden indicar que existen características, números, etapas, operaciones, elementos, componentes o combinaciones de los mismos usados en la siguiente descripción, y por lo tanto debe entenderse que no se excluye la posibilidad de existencia o adición de una o más características, números, etapas, operaciones, elementos, componentes o combinaciones diferentes de los mismos.
Además, cada configuración de los dibujos descritos en este documento es una ilustración independiente para explicar funciones como características que son diferentes entre sí, y no significa que cada configuración se implemente por hardware mutuamente diferente o software diferente. Por ejemplo, dos o más de las configuraciones se pueden combinar para formar una configuración, y una configuración también se puede dividir en múltiples configuraciones.
En lo sucesivo en la presente memoria, se describirán en detalle ejemplos de la presente realización con referencia a los dibujos adjuntos. Además, se usan números de referencia similares para indicar elementos similares a través de todos los dibujos, y se omitirán las mismas descripciones sobre elementos similares.
En este documento, un vídeo puede hacer referencia a una serie de imágenes a lo largo del tiempo. Una imagen se refiere generalmente a la unidad que representa una imagen en un marco de tiempo particular, y un corte/mosaico se refiere a la unidad que constituye una parte de la imagen en términos de codificación. Un corte/mosaico puede incluir una o más unidades de árbol de codificación (CTU). Una imagen puede consistir en uno o más cortes/mosaicos. Una imagen puede consistir en uno o más grupos de mosaicos. Un grupo de mosaicos puede incluir uno o más mosaicos.
Un píxel o un pel puede significar una unidad más pequeña que constituye una imagen (o foto). También, se puede usar una 'muestra' como un término correspondiente a un píxel. Una muestra generalmente puede representar un píxel o un valor de un píxel, y puede representar únicamente un valor de píxel/píxel de un componente de luma o únicamente un valor de píxel/píxel de un componente de croma.
Una unidad puede representar una unidad básica de procesamiento de imágenes. La unidad puede incluir al menos una de una región específica de la imagen e información relacionada con la región. Una unidad puede incluir un bloque de luma y dos bloques de croma (p. ej., cb, cr). La unidad puede usarse indistintamente con términos tales como bloque o área en algunos casos. En un caso general, un bloque MxN puede incluir muestras (o matrices de muestras) o un conjunto (o matriz) de coeficientes de transformada de M columnas y N filas. Como alternativa, la muestra puede significar un valor de píxel en el dominio espacial, y cuando tal valor de píxel se transforma al dominio de la frecuencia, puede significar un coeficiente de transformada en el dominio de frecuencia.
Además, los paréntesis usados en la presente memoria descriptiva pueden significar "por ejemplo". Específicamente, en el caso de que se exprese "predicción (intra predicción)", puede indicarse que se propone "intra predicción" como un ejemplo de "predicción". En otras palabras, el término "predicción" en la presente memoria descriptiva no se limita a "intra predicción", y puede indicarse que se propone "intra predicción" como un ejemplo de "predicción". Además, incluso en caso de que se exprese "predicción (intra predicción)", puede indicarse que se propone "intra predicción" como un ejemplo de "predicción".
Este documento se refiere a codificación de vídeo/imagen. Por ejemplo, los métodos/realizaciones descritos en este documento pueden estar relacionados con la norma de codificación de vídeo versátil (VVC) (Rec. UIT-T H.266), la norma de codificación de vídeo/imagen de próxima generación después de VVC, u otras normas relacionadas con la codificación de vídeo (p. ej., la norma de codificación de vídeo de alta eficiencia (HEVC) (Rec. UIT-T. H.265), norma de codificación de vídeo esencial (EVC), norma AVS2 y similares).
En este documento, el término "/" y "," debe interpretarse en el sentido de que indica "y/o". Por ejemplo, la expresión "A/B" puede significar "A y/o B". Además, "A, B" puede significar "A y/o B". Además, "A/B/C" puede significar "al menos uno de A, B y/o C". Además, "A, B, C" puede significar "al menos uno de A, B y/o C".
Además, en el documento, el término "o" debe interpretarse en el sentido de que indica "y/o". Por ejemplo, la expresión "A o B" puede comprender 1) únicamente A, 2) únicamente B y/o 3) tanto A como B. En otras palabras, el término "o" en este documento debe interpretarse como que indica "adicionalmente o como alternativa".
En la presente memoria descriptiva, "al menos uno de A y B" puede significar "solo A", "solo B" o "tanto A como B". Además, en la presente memoria descriptiva, la expresión "al menos uno de A o B" o "al menos uno de A y/o B" puede interpretarse como "al menos uno de A y B".
Además, en la presente memoria descriptiva, "al menos uno de A, B y C" puede significar "solo A", "solo B", "solo C" o "cualquier combinación de A, B y C". Además, "al menos uno de A, B o C" o "al menos uno de A, B y/o C" puede significar "al menos uno de A, B y C".
En la presente memoria descriptiva, las características técnicas explicadas individualmente en un dibujo pueden implementarse individualmente, o pueden implementarse simultáneamente.
Este documento sugiere diversas realizaciones de codificación de vídeo/imagen, y las realizaciones anteriores también pueden realizarse en combinación entre sí a menos que se especifique lo contrario.
La FIG. 1 ilustra un ejemplo de un sistema de codificación de vídeo/imagen al que puede aplicarse la divulgación del presente documento.
Haciendo referencia a la FIG. 1, un sistema de codificación de vídeo/imagen puede incluir un dispositivo de origen y un dispositivo de recepción. El dispositivo de origen puede transmitir información o datos de vídeo/imagen codificados al dispositivo de recepción a través de un medio de almacenamiento digital o red en forma de un archivo o emisión en continuo.
El dispositivo de origen puede incluir una fuente de vídeo, un aparato de codificación y un transmisor. El dispositivo de recepción puede incluir un receptor, un aparato de descodificación y un representador. El aparato de codificación puede denominarse aparato de codificación de vídeo/imagen, y el aparato de descodificación puede denominarse aparato de descodificación de vídeo/imagen. El transmisor puede incluirse en el aparato de codificación. El receptor puede incluirse en el aparato de descodificación. El representador puede incluir una pantalla, y la pantalla puede configurarse como un dispositivo separado o un componente externo.
La fuente de vídeo puede adquirir vídeo/imagen a través de un proceso de captura, síntesis o generación del vídeo/imagen. La fuente de vídeo puede incluir un dispositivo de captura de vídeo/imagen y/o un dispositivo de generación de vídeo/imagen. El dispositivo de captura de vídeo/imagen puede incluir, por ejemplo, una o más cámaras, archivos de vídeo/imagen que incluyen vídeo/imágenes previamente capturados y similares. El dispositivo de generación de vídeo/imagen puede incluir, por ejemplo, ordenadores, tabletas y teléfonos inteligentes, y puede generar (electrónicamente) vídeo/imágenes. Por ejemplo, puede generarse un vídeo/imagen virtual a través de un ordenador o similar. En este caso, el proceso de captura de vídeo/imagen puede sustituirse por un proceso de generación de datos relacionados.
El aparato de codificación puede codificar vídeo/imagen de entrada. El aparato de codificación puede realizar una serie de procedimientos tales como predicción, transformada y cuantificación para compactación y eficiencia de codificación. Los datos codificados (información de vídeo/imagen codificada) pueden emitirse en forma de un flujo de bits.
El transmisor puede transmitir la imagen codificada/información de imagen o datos emitidos en forma de un flujo de bits al receptor del dispositivo de recepción a través de un medio de almacenamiento digital o una red en forma de un archivo o emisión en continuo. El medio de almacenamiento digital puede incluir diversos medios de almacenamiento tales como USB, SD, CD, DVD, Blu-ray, HDD, SSD y similares. El transmisor puede incluir un elemento para generar un archivo de medios a través de un formato de archivo predeterminado y puede incluir un elemento para transmisión a través de una red de difusión/comunicación. El receptor puede recibir/extraer el flujo de bits y transmitir el flujo de bits recibido al aparato de descodificación.
El aparato de descodificación puede descodificar el vídeo/imagen realizando una serie de procedimientos tales como descuantificación, transformada inversa y predicción correspondientes a la operación del aparato de codificación.
El representador puede representar el vídeo/imagen descodificado. El vídeo/imagen representado puede visualizarse a través de la pantalla.
La FIG. 2 es un diagrama que ilustra esquemáticamente la configuración de un aparato de codificación de vídeo/imagen al que puede aplicarse la divulgación del presente documento. En lo sucesivo en la presente memoria, lo que se denomina como el aparato de codificación de vídeo puede incluir un aparato de codificación de imágenes.
Haciendo referencia a la FIG. 2, el aparato 200 de codificación puede incluir y estar configurado con un divisor 210 de imágenes, un predictor 220, un procesador residual 230, un codificador 240 por entropía, un sumador 250, un filtro 260 y una memoria 270. El predictor 220 puede incluir un inter predictor 221 y un intra predictor 222. El procesador residual 230 puede incluir un transformador 232, un cuantificador 233, un descuantificador 234 y un transformador inverso 235. El procesador residual 230 puede incluir además un sustractor 231. El sumador 250 puede denominarse reconstructor o generador de bloques reconstruidos. El divisor 210 de imágenes, el predictor 220, el procesador residual 230, el codificador 240 por entropía, el sumador 250 y el filtro 260, que se han descrito anteriormente, pueden configurarse mediante uno o más componentes de hardware (p. ej., conjuntos de chips de codificador o procesadores) según una realización. Además, la memoria 270 puede incluir una memoria intermedia de imágenes descodificadas (DPB), y también puede configurarse por un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 270 como un componente interno/externo.
El divisor 210 de imágenes puede dividir una entrada de imagen de entrada (o, foto, fotograma) al aparato 200 de codificación en una o más unidades de procesamiento. Como un ejemplo, la unidad de procesamiento puede denominarse unidad de codificación (CU). En este caso, la unidad de codificación puede dividirse recursivamente según una estructura de árbol ternario de árbol binario de árbol cuádruple (QTBTTT) a partir de una unidad de árbol de codificación (CTU) o la unidad de codificación más grande (LCU). Por ejemplo, una unidad de codificación puede dividirse en una pluralidad de unidades de codificación de una profundidad más profunda basándose en una estructura de árbol cuádruple, una estructura de árbol binario y/o una estructura de árbol ternario. En este caso, por ejemplo, se aplica en primer lugar la estructura de árbol cuádruple y puede aplicarse posteriormente la estructura de árbol binario y/o la estructura de árbol ternario. Como alternativa, la estructura de árbol binario también puede aplicarse en primer lugar. Un procedimiento de codificación según la presente divulgación puede realizarse basándose en una unidad de codificación final que ya no se divide más. En este caso, basándose en la eficiencia de codificación según las características de la imagen o similares, la unidad de codificación máxima puede usarse directamente como la unidad de codificación final, o según sea necesario, la unidad de codificación puede dividirse recursivamente en unidades de codificación de una profundidad más profunda, de manera que una unidad de codificación que tiene un tamaño óptimo puede usarse como la unidad de codificación final. En este punto, el procedimiento de codificación puede incluir un procedimiento tal como predicción, transformada y reconstrucción que se describirá más adelante. Como otro ejemplo, la unidad de procesamiento puede incluir adicionalmente una unidad de predicción (PU) o una unidad de transformada (TU). En este caso, cada una de la unidad de predicción y la unidad de transformada puede dividirse o subdividirse a partir de la unidad de codificación final mencionada anteriormente. La unidad de predicción puede ser una unidad de predicción de muestra, y la unidad de transformada puede ser una unidad para inducir un coeficiente de transformada y/o una unidad para inducir una señal residual a partir del coeficiente de transformada.
La unidad puede usarse indistintamente con el término tal como un bloque o un área en algunos casos. En general, un bloque MxN puede representar muestras compuestas de M columnas y N filas o un grupo de coeficientes de transformada. La muestra generalmente puede representar un píxel o un valor de píxel, y también puede representar únicamente el valor de píxel/píxel de un componente de luma, y también puede representar únicamente el valor de píxel/píxel de un componente de croma. La muestra puede usarse como el término correspondiente a un píxel o un pel que configura una foto (o imagen).
El restador 231 puede generar una señal residual (bloque residual, muestras residuales o matriz de muestras residuales) restando una señal de predicción (bloque previsto, muestras de predicción o matriz de muestras de predicción) emitida desde el predictor 220 desde una señal de imagen de entrada (bloque original, muestras originales o matriz de muestras original), y la señal residual generada se transmite al transformador 232. El predictor 220 puede realizar predicción para un bloque objetivo de procesamiento (en lo sucesivo en la presente memoria, denominado como un "bloque actual"), y generar un bloque previsto que incluye muestras de predicción para el bloque actual. El predictor 220 puede determinar si se aplica intra predicción o inter predicción en un bloque actual o en una unidad de CU. Como se describe más adelante en la descripción de cada modo de predicción, el predictor puede generar diversas clases de información relacionada con la predicción, tal como información de modo de predicción, y transferir la información generada al codificador 240 por entropía. La información sobre la predicción puede codificarse en el codificador 240 por entropía y emitirse en forma de un flujo de bits.
El intra predictor 222 puede predecir un bloque actual con referencia a muestras dentro de una imagen actual. Las muestras referenciadas pueden ubicarse vecinas al bloque actual, o también pueden ubicarse lejos del bloque actual según el modo de predicción. Los modos de predicción en la intra predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El modo no direccional puede incluir, por ejemplo, un modo de CC o un modo plano. El modo direccional puede incluir, por ejemplo, 33 modos de predicción direccional o 65 modos de predicción direccional según el grado preciso de la dirección de predicción. Sin embargo, esto es ilustrativo y los modos de predicción direccional que son más o menos que el número anterior pueden usarse según el ajuste. El intra predictor 222 también puede determinar el modo de predicción aplicado al bloque actual usando el modo de predicción aplicado al bloque vecino.
El inter predictor 221 puede inducir un bloque previsto del bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este momento, para disminuir la cantidad de información de movimiento transmitida en el modo de inter predicción, la información de movimiento puede predecirse en unidades de un bloque, un subbloque o una muestra basándose en la correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información de dirección de inter predicción (predicción L0, predicción L1, Bi predicción o similares). En el caso de la inter predicción, el bloque vecino puede incluir un bloque vecino espacial existente dentro de la imagen actual y un bloque vecino temporal existente en la imagen de referencia. La imagen de referencia que incluye el bloque de referencia y la imagen de referencia que incluye el bloque vecino temporal también pueden ser iguales entre sí, y también pueden ser diferentes entre sí. El bloque vecino temporal puede denominarse con el nombre tal como un bloque de referencia coubicado, una CU coubicada (colCU), o similares, y la imagen de referencia que incluye el bloque vecino temporal también puede denominarse una imagen coubicada (colPic). Por ejemplo, el inter predictor 221 puede configurar una lista de candidatos de información de movimiento basándose en los bloques vecinos, y generar información que indica qué candidato se usa para derivar el vector de movimiento y/o el índice de imagen de referencia del bloque actual. La inter predicción puede realizarse basándose en diversos modos de predicción y, por ejemplo, en el caso de un modo de omisión y un modo de fusión, el inter predictor 221 puede usar la información de movimiento del bloque vecino como la información de movimiento del bloque actual. En el caso del modo de omisión, la señal residual puede no transmitirse a diferencia del modo de fusión. Un modo de predicción de vector de movimiento (MVP) puede indicar el vector de movimiento del bloque actual usando el vector de movimiento del bloque vecino como un predictor de vector de movimiento, y señalizar una diferencia de vector de movimiento.
El predictor 220 puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no únicamente aplicar intra predicción o inter predicción para predecir un bloque sino también aplicar simultáneamente tanto intra predicción como inter predicción. Esto puede denominarse inter e intra predicción combinada (CIIP). Además, el predictor puede realizar una copia de intra bloque (IBC) para la predicción de un bloque. La copia de intra bloque puede usarse para codificación de imagen de contenido / imagen en movimiento de un juego o similares, por ejemplo, codificación de contenido de pantalla (SCC). La IBC básicamente realiza predicción en la imagen actual, pero puede realizarse de manera similar a inter predicción en que se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de inter predicción descritas en el presente documento.
La señal de predicción generada a través del inter predictor 221 y/o el intra predictor 222 puede usarse para generar una señal reconstruida o para generar una señal residual. El transformador 232 puede generar coeficientes de transformada aplicando una técnica de transformada a la señal residual. Por ejemplo, la técnica de transformada puede incluir al menos una de una transformada de coseno discreta (DCT), una transformada de seno discreta (DST), una transformada basada en gráficos (GBT) o una transformada condicionalmente no lineal (CNT). En este punto, la GBT significa transformada obtenida a partir de un gráfico cuando la información de relación entre píxeles se representa por el gráfico. La CNT se refiere a la transformada obtenida basándose en una señal de predicción generada usando todos los píxeles reconstruidos previamente. Además, el proceso de transformada puede aplicarse a bloques de píxeles cuadrados que tienen el mismo tamaño, o puede aplicarse a bloques que tienen un tamaño variable en lugar de un cuadrado.
El cuantificador 233 puede cuantificar los coeficientes de transformada y transmitirlos al codificador 240 por entropía, y el codificador 240 por entropía puede codificar la señal cuantificada (información sobre los coeficientes de transformada cuantificados) y emitir un flujo de bits. La información sobre los coeficientes de transformada cuantificados puede denominarse información residual. El cuantificador 233 puede reorganizar coeficientes de transformada cuantificados de tipo bloque en una forma vectorial unidimensional basándose en un orden de exploración de coeficientes, y generar información sobre los coeficientes de transformada cuantificados basándose en los coeficientes de transformada cuantificados en la forma vectorial unidimensional. El codificador 240 por entropía puede realizar diversos métodos de codificación tales como, por ejemplo, Golomb exponencial, codificación de longitud variable adaptativa al contexto (CAVLC), codificación aritmética binaria adaptativa al contexto (CABAC) y similares. El codificador 240 por entropía puede codificar información necesaria para la reconstrucción de vídeo/imagen junto con o por separado de los coeficientes de transformada cuantificados (p. ej., valores de elementos de sintaxis y similares). La información codificada (p. ej., información de vídeo/imagen codificada) puede transmitirse o almacenarse en la unidad de una capa de abstracción de red (NAL) en forma de un flujo de bits. La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros, tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. En el presente documento, los elementos de información y/o sintaxis que se señalizan/transmiten para describirse más adelante pueden codificarse a través del procedimiento de codificación anteriormente descrito, y pueden incluirse en el flujo de bits. El flujo de bits puede transmitirse a través de una red o puede almacenarse en un medio de almacenamiento digital. En este punto, la red puede incluir una red de difusión y/o una red de comunicación, y el medio de almacenamiento digital puede incluir diversos medios de almacenamiento, tales como USB, SD, Cd , DVD, Blu-ray, HDD, SSD y similares. Un transmisor (no ilustrado) que transmite una señal emitida desde el codificador 240 por entropía y/o una unidad de almacenamiento (no ilustrada) que almacena la señal puede configurarse como un elemento interno/externo del aparato 200 de codificación y, como alternativa, el transmisor puede incluirse en el codificador 240 por entropía.
Los coeficientes de transformada cuantificados emitidos desde el cuantificador 233 pueden usarse para generar una señal de predicción. Por ejemplo, la señal residual (bloque residual o muestras residuales) puede reconstruirse aplicando descuantificación y transformada inversa a los coeficientes de transformada cuantificados a través del descuantificador 234 y el transformador inverso 235. El sumador 250 añade la señal residual reconstruida a la señal de predicción emitida desde el predictor 220 para generar una señal reconstruida (imagen reconstruida, bloque reconstruido, muestras reconstruidas o matriz de muestras reconstruida). Si no hay residual para el bloque objetivo de procesamiento, tal como un caso en el que se aplica un modo de omisión, el bloque previsto puede usarse como el bloque reconstruido. La señal reconstruida generada puede usarse para intra predicción de un siguiente bloque objetivo de procesamiento en la imagen actual, y puede usarse para inter predicción de una siguiente imagen a través de filtrado como se describe a continuación.
Mientras tanto, el mapeo de luma con escalado de croma (LMCS) puede aplicarse durante un proceso de codificación y/o reconstrucción de imágenes.
El filtro 260 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 260 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida, y almacenar la imagen reconstruida modificada en la memoria 270, específicamente, en una DPB de la memoria 270. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra (SAO), un filtro de bucle adaptativo, un filtro bilateral y similares. El filtro 260 puede generar diversas clases de información relacionada con el filtrado, y transferir la información generada al codificador 290 por entropía como se describe más adelante en la descripción de cada método de filtrado. La información relacionada con el filtrado puede codificarse por el codificador 290 por entropía y emitirse en forma de un flujo de bits.
La imagen reconstruida modificada transmitida a la memoria 270 puede usarse como una imagen de referencia en el inter predictor 221. Cuando la inter predicción se aplica a través del aparato de codificación, puede evitarse el desajuste de predicción entre el aparato 200 de codificación y el aparato de descodificación y puede mejorarse la eficiencia de codificación.
LA DPB de la memoria 270 puede almacenar la imagen reconstruida modificada para su uso como la imagen de referencia en el inter predictor 221. La memoria 270 puede almacenar información de movimiento de un bloque a partir del que se deriva (o codifica) la información de movimiento en la imagen actual y/o información de movimiento de bloques en la imagen, que ya se han reconstruido. La información de movimiento almacenada puede transferirse al inter predictor 221 para utilizarse como información de movimiento del bloque vecino espacial o información de movimiento del bloque vecino temporal. La memoria 270 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual, y puede transferir las muestras reconstruidas al intra predictor 222.
La FIG. 3 es un diagrama para explicar esquemáticamente la configuración de un aparato de descodificación de vídeo/imagen al que puede aplicarse la divulgación del presente documento.
Haciendo referencia a la FIG. 3, el aparato 300 de descodificación puede incluir y estar configurado con un descodificador 310 por entropía, un procesador residual 320, un predictor 330, un sumador 340, un filtro 350 y una memoria 360. El predictor 330 puede incluir un inter predictor 331 y un intra predictor 332. El procesador residual 320 puede incluir un descuantificador 321 y un transformador inverso 322. El descodificador 310 por entropía, el procesador residual 320, el predictor 330, el sumador 340 y el filtro 350, que se han descrito anteriormente, pueden configurarse mediante uno o más componentes de hardware (p. ej., conjuntos de chips o procesadores de descodificador) según una realización. Además, la memoria 360 puede incluir una memoria intermedia de imágenes descodificadas (DPB), y puede configurarse por un medio de almacenamiento digital. El componente de hardware puede incluir además la memoria 360 como un componente interno/externo.
Cuando se introduce el flujo de bits que incluye la información de vídeo/imagen, el aparato 300 de descodificación puede reconstruir la imagen en respuesta a un proceso en el que se procesa la información de vídeo/imagen en el aparato de codificación ilustrado en la FIG.2. Por ejemplo, el aparato 300 de descodificación puede derivar las unidades/bloques basándose en información relacionada con división de bloque adquirida desde el flujo de bits. El aparato 300 de descodificación puede realizar la descodificación usando la unidad de procesamiento aplicada al aparato de codificación. Por lo tanto, la unidad de procesamiento para la descodificación puede ser, por ejemplo, una unidad de codificación, y la unidad de codificación puede dividirse según la estructura de árbol cuádruple, la estructura de árbol binario y/o la estructura de árbol ternario desde la unidad de árbol de codificación o la unidad de codificación máxima. Una o más unidades de transformada pueden derivarse desde la unidad de codificación. Además, la señal de imagen reconstruida descodificada y emitida a través del aparato 300 de descodificación puede reproducirse a través de un aparato de reproducción.
El aparato 300 de descodificación puede recibir una señal emitida desde el aparato de codificación de la Figura 2 en forma de un flujo de bits, y la señal recibida puede descodificarse a través del descodificador 310 por entropía. Por ejemplo, el descodificador 310 por entropía puede analizar el flujo de bits para derivar información (p. ej., información de vídeo/imagen) necesaria para la reconstrucción de imagen (o reconstrucción de imagen). La información de vídeo/imagen puede incluir además información sobre diversos conjuntos de parámetros, tales como un conjunto de parámetros de adaptación (APS), un conjunto de parámetros de imagen (PPS), un conjunto de parámetros de secuencia (SPS) o un conjunto de parámetros de vídeo (VPS). Además, la información de vídeo/imagen puede incluir además información de restricción general. El aparato de descodificación puede descodificar además una imagen basándose en la información sobre el conjunto de parámetros y/o la información de restricción general. La información señalizada/recibida y/o los elementos de sintaxis descritos más adelante en este documento que pueden descodificarse pueden descodificar el procedimiento de descodificación y obtenerse del flujo de bits. Por ejemplo, el descodificador 310 por entropía descodifica la información en el flujo de bits basándose en un método de codificación tal como codificación de Golomb exponencial, CAVLC o CABAC, y emite elementos de sintaxis requeridos para reconstrucción de imagen y valores cuantificados de coeficientes de transformada para residual. Más específicamente, el método de descodificación por entropía de CABAC puede recibir un binario correspondiente a cada elemento de sintaxis en el flujo de bits, determinar un modelo de contexto usando una información de elemento de sintaxis objetivo de descodificación, información de descodificación de un bloque objetivo de descodificación o información de un símbolo/binario descodificado en una etapa anterior, y realizar una descodificación aritmética en el binario prediciendo una probabilidad de ocurrencia de un binario según el modelo de contexto determinado, y generar un símbolo que corresponde al valor de cada elemento de sintaxis. En este caso, el método de descodificación por entropía de CABAC puede actualizar el modelo de contexto usando la información del símbolo/binario descodificado para un modelo de contexto de un siguiente símbolo/binario después de determinar el modelo de contexto. La información relacionada con la predicción entre la información descodificada por el descodificador 310 por entropía puede proporcionarse al predictor 330, y la información sobre el residual en el que se ha realizado la descodificación por entropía en el descodificador 310 por entropía, es decir, los coeficientes de transformada cuantificados e información de parámetro relacionada, puede introducirse en el descuantificador 321. Además, la información sobre el filtrado entre la información descodificada por el descodificador 310 por entropía puede proporcionarse al filtro 350. Mientras tanto, un receptor (no ilustrado) para recibir una señal emitida desde el aparato de codificación puede configurarse además como un elemento interno/externo del aparato 300 de descodificación, o el receptor puede ser un elemento constituyente del descodificador 310 por entropía. Mientras tanto, el aparato de descodificación según el presente documento puede denominarse aparato de descodificación de vídeo/imagen/foto, y el aparato de descodificación puede clasificarse en un descodificador de información (descodificador de información de vídeo/imagen/foto) y un descodificador de muestra (descodificador de muestra de vídeo/imagen/foto). El descodificador de información puede incluir el descodificador 310 por entropía, y el descodificador de muestra puede incluir al menos uno del descuantificador 321, el transformador inverso 322, el predictor 330, el sumador 340, el filtro 350 y la memoria 360.
El descuantificador 321 puede descuantificar los coeficientes de transformada cuantificados para emitir los coeficientes de transformada. El descuantificador 321 puede reorganizar los coeficientes de transformada cuantificados en una forma de un bloque bidimensional. En este caso, la reorganización puede realizarse basándose en un orden de exploración de coeficiente realizado por el aparato de codificación. El descuantificador 321 puede realizar descuantificación para los coeficientes de transformada cuantificados usando un parámetro de cuantificación (p. ej., información de tamaño de etapa de cuantificación), y adquirir los coeficientes de transformada.
El transformador inverso 322 transforma inversamente los coeficientes de transformada para adquirir la señal residual (bloque residual, matriz de muestras residuales).
El predictor 330 puede realizar la predicción del bloque actual, y generar un bloque previsto que incluye las muestras de predicción del bloque actual. El predictor puede determinar si se aplica la intra predicción o si se aplica la inter predicción al bloque actual basándose en la información acerca de la predicción emitida desde el descodificador 310 por entropía, y determinar un modo de intra/inter predicción específico.
El predictor puede generar una señal de predicción basándose en diversos métodos de predicción descritos a continuación. Por ejemplo, el predictor puede no únicamente aplicar intra predicción o inter predicción para predecir un bloque sino también aplicar simultáneamente intra predicción e inter predicción. Esto puede denominarse inter e intra predicción combinada (CIIP). Además, el predictor puede realizar una copia de intra bloque (IBC) para la predicción de un bloque. La copia de intra bloque puede usarse para codificación de imagen de contenido / imagen en movimiento de un juego o similares, por ejemplo, codificación de contenido de pantalla (SCC). La IBC básicamente realiza predicción en la imagen actual, pero puede realizarse de manera similar a inter predicción en que se deriva un bloque de referencia en la imagen actual. Es decir, la IBC puede usar al menos una de las técnicas de inter predicción descritas en el presente documento.
El intra predictor 332 puede predecir el bloque actual haciendo referencia a las muestras en la imagen actual. Las muestras referidas pueden ubicarse en la vecindad del bloque actual, o pueden ubicarse separadas del bloque actual según el modo de predicción. En intra predicción, los modos de predicción pueden incluir una pluralidad de modos no direccionales y una pluralidad de modos direccionales. El intra predictor 332 puede determinar el modo de predicción que se aplicará al bloque actual usando el modo de predicción aplicado al bloque vecino.
El inter predictor 331 puede derivar un bloque previsto para el bloque actual basándose en un bloque de referencia (matriz de muestras de referencia) especificado por un vector de movimiento en una imagen de referencia. En este caso, para reducir la cantidad de información de movimiento que se transmite en el modo de inter predicción, la información de movimiento puede predecirse en la unidad de bloques, subbloques o muestras basándose en la correlación de la información de movimiento entre el bloque vecino y el bloque actual. La información de movimiento puede incluir un vector de movimiento y un índice de imagen de referencia. La información de movimiento puede incluir además información sobre la dirección de inter predicción (predicción L0, predicción L1, Bi predicción y similares). En el caso de inter predicción, el bloque vecino puede incluir un bloque vecino espacial existente en la imagen actual y un bloque vecino temporal existente en la imagen de referencia. Por ejemplo, el inter predictor 331 puede construir una lista de candidatos de información de movimiento basándose en bloques vecinos, y derivar un vector de movimiento del bloque actual y/o un índice de imagen de referencia basándose en la información de selección de candidatos recibida. La inter predicción puede realizarse basándose en diversos modos de predicción, y la información sobre la predicción puede incluir información que indica un modo de inter predicción para el bloque actual.
El sumador 340 puede generar una señal reconstruida (imagen reconstruida, bloque reconstruido o matriz de muestras reconstruida) añadiendo la señal residual obtenida a la señal de predicción (bloque previsto o matriz de muestras prevista) emitida desde el predictor 330. Si no hay residual para el bloque objetivo de procesamiento, tal como un caso en el que se aplica un modo de omisión, el bloque previsto puede usarse como el bloque reconstruido.
El sumador 340 puede denominarse reconstructor o un generador de bloques reconstruidos. La señal reconstruida generada puede usarse para la intra predicción de un siguiente bloque a procesarse en la imagen actual, y como se describe más adelante, también puede emitirse a través de filtrado o también puede usarse para la inter predicción de una siguiente imagen.
Mientras tanto, también puede aplicarse un mapeo de luma con escalado de croma (LMCS) en el proceso de descodificación de imágenes.
El filtro 350 puede mejorar la calidad de imagen subjetiva/objetiva aplicando filtrado a la señal reconstruida. Por ejemplo, el filtro 350 puede generar una imagen reconstruida modificada aplicando diversos métodos de filtrado a la imagen reconstruida, y almacenar la imagen reconstruida modificada en la memoria 360, específicamente, en una DPB de la memoria 360. Los diversos métodos de filtrado pueden incluir, por ejemplo, filtrado de desbloqueo, un desplazamiento adaptativo de muestra, un filtro de bucle adaptativo, un filtro bilateral y similares.
La imagen reconstruida (modificada) almacenada en la DPB de la memoria 360 puede usarse como una imagen de referencia en el inter predictor 331. La memoria 360 puede almacenar información de movimiento del bloque a partir del que se deriva (o descodifica) la información de movimiento en la imagen actual y/o la información de movimiento de los bloques en la imagen, que ya se han reconstruido. La información de movimiento almacenada puede transferirse al inter predictor 331 para utilizarse como la información de movimiento del bloque vecino espacial o la información de movimiento del bloque vecino temporal. La memoria 360 puede almacenar muestras reconstruidas de bloques reconstruidos en la imagen actual, y transferir las muestras reconstruidas al intra predictor 332.
En la presente memoria descriptiva, las realizaciones descritas en el predictor 330, el descuantificador 321, el transformador inverso 322 y el filtro 350 del aparato 300 de descodificación también pueden aplicarse de la misma manera o correspondiendo con el predictor 220, el descuantificador 234, el transformador inverso 235 y el filtro 260 del aparato 200 de codificación.
Mientras tanto, como se describió anteriormente, al realizar la codificación de vídeo, se realiza predicción para mejorar la eficiencia de compresión. A través de esto, se puede generar un bloque previsto que incluye muestras de predicción para un bloque actual como un bloque a codificar (es decir, un bloque objetivo de codificación). En este punto, el bloque previsto incluye muestras de predicción en un dominio espacial (o dominio de píxeles). El bloque previsto se obtiene de la misma manera en un aparato de codificación y en un aparato de descodificación, y el aparato de codificación puede señalizar información (información residual) en el residuo entre el bloque original y el bloque previsto, en lugar de un valor de muestra original de un bloque original, al aparato de descodificación, aumentando de esta manera la eficiencia de codificación de imágenes. El aparato de descodificación puede derivar un bloque residual que incluye muestras residuales basándose en la información residual, añadir el bloque residual y el bloque previsto para generar bloques reconstruidos que incluyen muestras reconstruidas y generar una imagen reconstruida que incluye los bloques reconstruidos.
La información residual puede generarse mediante un procedimiento de transformada y cuantificación. Por ejemplo, el aparato de codificación puede derivar un bloque residual entre el bloque original y el bloque previsto, realizar un procedimiento de transformada en muestras residuales (matriz de muestras residuales) incluidas en el bloque residual para derivar coeficientes de transformada, realizar un procedimiento de cuantificación en los coeficientes de transformada para derivar coeficientes de transformada cuantificados y enviar información residual relacionada con la señal al aparato de descodificación (a través de un flujo de bits). En este punto, la información residual puede incluir información de valor de los coeficientes de transformada cuantificados, información de ubicación, una técnica de transformada, un núcleo de transformada, un parámetro de cuantificación y similares. El aparato de descodificación puede realizar un procedimiento de descuantificación/transformada inversa basándose en la información residual y derivar muestras residuales (o bloques residuales). El aparato de descodificación puede generar una imagen reconstruida basándose en el bloque previsto y el bloque residual. también, como referencia para la inter predicción de una imagen posterior, el aparato de codificación también puede descuantificar/transformar a la inversa los coeficientes de transformada cuantificados para derivar un bloque residual y generar una imagen reconstruida basándose en el mismo.
Por ejemplo, el modo de intra predicción puede incluir dos modos de intra predicción no direccional o no angulares y 65 modos de intra predicción direccionales o angulares. Los modos de intra predicción no direccionales pueden incluir el modo de intra predicción planar n.° 0 y el modo de intra predicción de CC n.° 1, y los modos de intra predicción direccionales pueden incluir 65 (n.° 2 a n.° 66) modos de intra predicción. Sin embargo, esto es ilustrativo y la realización según el presente documento puede aplicarse incluso a un caso en el que se proporcione un número diferente de modos de intra predicción. Mientras tanto, en algunos casos, se puede seguir usando el modo de intra predicción N° 67 y el modo de intra predicción N° 67 puede representar un modo de modelo lineal (LM, por sus siglas en inglés).
La FIG. 4 ilustra a modo de ejemplo los modos intra direccionales en 65 direcciones de predicción.
Haciendo referencia a la FIG. 4, los modos pueden dividirse en modos de intra predicción que tienen direccionalidad horizontal y modos de intra predicción que tienen direccionalidad vertical alrededor del modo de intra predicción n.° 34 que tiene dirección de predicción diagonal superior izquierda. En la FIG. 4, H y V pueden significar la direccionalidad horizontal y la direccionalidad vertical, respectivamente, y los números de -32 a 32 pueden representar desplazamientos en la unidad de 1/32 en una posición de rejilla de muestras. Esto puede representar un desplazamiento para un valor de índice de modo.
Por ejemplo, los modos de intra predicción n.° 2 a n.° 33 pueden tener la direccionalidad horizontal y los modos de intra predicción n.° 34 a n.° 66 tienen la direccionalidad vertical. Mientras tanto, desde el punto de vista técnico, puede considerarse que el modo de intra predicción 34 no tiene ni la direccionalidad horizontal ni la vertical, pero puede clasificarse como perteneciente a la direccionalidad horizontal desde el punto de vista de la determinación del conjunto de transformada de la transformada secundaria. Esto se debe a que los datos de entrada se transponen y se utilizan con respecto a los modos de dirección vertical que son simétricos alrededor del modo de intra predicción n.° 34, y se utiliza un método de disposición de datos de entrada para el modo de dirección horizontal con respecto al modo de intra predicción n.° 34. En este punto, la transposición de los datos de entrada puede significar la configuración de los datos NxM de manera que las filas se conviertan en columnas y las columnas se conviertan en filas con respecto a los datos de bloque bidimensionales MxN.
Además, el modo de intra predicción n.° 18 y el modo de intra predicción n.° 50 pueden representar un modo de intra predicción horizontal y un modo de intra predicción vertical, respectivamente, y el modo de intra predicción n.° 2 puede denominarse modo de intra predicción diagonal superior derecha, ya que la predicción se realiza en la dirección superior derecha con un píxel de referencia izquierdo. En el mismo contexto, el modo de intra predicción n.° 34 puede denominarse modo de intra predicción diagonal inferior derecha y el modo de intra predicción n.° 66 puede denominarse modo de intra predicción diagonal inferior izquierda.
La FIG. 5 ilustra a modo de ejemplo la codificación aritmética binaria adaptable al contexto (CABAC, por sus siglas en inglés) para codificar un elemento de sintaxis.
Por ejemplo, en un proceso de codificación CABAC, si una señal de entrada es un elemento de sintaxis que no es un valor binario, un valor de la señal de entrada puede transformarse en un valor binario mediante binarización. Además, si la señal de entrada ya es el valor binario (es decir, si el valor de la señal de entrada es el valor binario), la binarización puede no realizarse, sino que la señal de entrada puede usarse tal cual. En este punto, cada número binario 0 o 1 que constituye el valor binario puede denominarse bin. Por ejemplo, si una cadena binaria después de la binarización es 110, cada uno de 1, 1 y 0 puede representarse como un bin. Lo(s) bin(s) de un elemento de sintaxis puede(n) representar el valor del elemento de sintaxis. La binarización puede basarse en diversos métodos de binarización, tales como un proceso de binarización Rice truncado o un proceso de binarización de longitud fija, y el método de binarización para un elemento de sintaxis objetivo puede estar predefinido. El procedimiento de binarización puede ser realizado por un binarizador en un codificador de entropía.
En lo sucesivo, los bins binarizados del elemento de sintaxis pueden introducirse en un motor de codificación regular o un motor de codificación por omisión. El motor de codificación regular del aparato de codificación puede asignar un modelo de contexto que refleje un valor de probabilidad con respecto al bin correspondiente y codificar el bin correspondiente basándose en el modelo de contexto asignado. El motor de codificación regular del aparato de codificación puede actualizar el modelo de contexto para el bin correspondiente después de realizar la codificación con respecto a los bins respectivos. Los bins que se codifican como los contenidos descritos anteriormente pueden representarse como bins codificados por contexto.
Mientras tanto, en caso de que los bins binarizados del elemento de sintaxis se introduzcan en el motor de codificación por omisión, pueden codificarse de la siguiente manera. Por ejemplo, el motor de codificación por omisión del aparato de codificación puede omitir un procedimiento para estimar la probabilidad con respecto al bin de entrada y un procedimiento para actualizar un modelo de probabilidad que se ha aplicado al bin después de la codificación. En caso de que se aplique la codificación por omisión, el aparato de codificación puede codificar el bin de entrada aplicando una distribución de probabilidad regular en lugar de asignar el modelo de contexto y, a través de esto, se puede mejorar la velocidad de codificación. El bin que se codifica como el contenido descrito anteriormente puede representarse como un bin por omisión.
La descodificación de entropía puede representar un proceso para realizar el mismo proceso que la codificación de entropía descrita anteriormente en orden inverso.
El aparato de descodificación (descodificador de entropía) puede descodificar la información de imagen/vídeo codificada. La información de imagen/vídeo puede incluir información relacionada con la división, información relacionada con la predicción (p. ej., información de división de inter/intra predicción, información de modo de intra predicción, información de modo de inter predicción y similares), información residual o información relacionada con el filtrado en bucle, o puede incluir diversos elementos de sintaxis al respecto. La codificación de entropía puede realizarse en la unidad de un elemento de sintaxis.
El aparato de descodificación puede realizar la binarización de los elementos de sintaxis objetivo. En este punto, la binarización puede basarse en diversos métodos de binarización, tales como un proceso de binarización Rice truncado o un proceso de binarización de longitud fija, y el método de binarización para el elemento de sintaxis objetivo puede estar predefinido. El aparato de descodificación puede derivar las cadenas de bins disponibles (candidatas a cadenas de bins) para los valores disponibles de los elementos de sintaxis objetivo mediante el procedimiento de binarización. El procedimiento de binarización puede ser realizado por el binarizador en el descodificador de entropía.
El aparato de descodificación puede comparar la cadena de bins derivada con las cadenas de bins disponibles para los elementos de sintaxis correspondientes mientras descodifica o analiza secuencialmente los bins respectivos para los elementos de sintaxis objetivo a partir de bit(s) de entrada en el flujo de bits. Si la cadena de bins derivada es igual a una de las cadenas de bins disponibles, el valor correspondiente a la cadena de bins correspondiente se deriva como el valor del elemento de sintaxis correspondiente. De lo contrario, el aparato de descodificación puede volver a realizar el procedimiento descrito anteriormente después de analizar el siguiente bit del flujo de bits. Mediante un proceso de este tipo, es posible realizar la señalización de información específica (o elemento de sintaxis específico) en el flujo de bits utilizando un bit de longitud variable, incluso sin utilizar un bit de inicio o un bit de fin de la información correspondiente. A través de esto, se puede asignar un bit relativamente más pequeño con respecto a un valor más pequeño y, por tanto, se puede perfecciones la eficiencia de codificación general.
El aparato de descodificación puede realizar una descodificación basada en el modelo de contexto o basada en la omisión de los bins respectivos de la cadena de bins a partir del flujo de bits basándose en una técnica de codificación de entropía, tal como CABAC o CAVLC.
En caso de que el elemento de sintaxis se descodifique basándose en el modelo de contexto, el aparato de descodificación puede recibir el bin correspondiente al elemento de sintaxis a través del flujo de bits, puede determinar un modelo de contexto utilizando el elemento de sintaxis y la información de descodificación del bloque objetivo de descodificación o el bloque vecino o la información de símbolo/bin descodificada en la etapa anterior, y puede derivar el valor del elemento de sintaxis realizando la descodificación aritmética del bin mediante la predicción de la probabilidad de ocurrencia del bin recibido de acuerdo con el modelo de contexto determinado. En lo sucesivo, el modelo de contexto del bin que se va a descodificar a continuación puede actualizarse basándose en el modelo de contexto determinado.
El modelo de contexto puede asignarse y actualizarse mediante bins codificados por contexto (codificados de manera regular) y el modelo de contexto puede indicarse basándose en el índice de contexto (ctxIdx) o en el incremento de índice de contexto (ctxInc). CtxIdx puede derivarse basándose en ctxInc. Específicamente, por ejemplo, el ctxIdx que representa el modelo de contexto para cada uno de los bins codificados de manera regular puede derivarse mediante la suma de ctxInc y el desplazamiento de índice de contexto (ctxIdxOffset). Por ejemplo, la ctxInc puede derivarse de manera diferente mediante bins. El ctxIdxOffset puede representarse como el valor más bajo del ctxIdx. Generalmente, el ctxIdxOffset puede ser un valor que se utiliza para distinguir el mismo de los modelos de contexto para otros elementos de sintaxis, y el modelo de contexto para un elemento de sintaxis puede ser dividido o derivado basándose en la ctxInc.
En el procedimiento de codificación de entropía, puede determinarse si realizar la codificación a través del motor de codificación regular o realizar la codificación a través del motor de codificación por omisión y, por consiguiente, puede cambiarse una trayectoria de codificación. La descodificación de entropía puede realizar el mismo proceso que la codificación de entropía en orden inverso.
Mientras tanto, por ejemplo, en caso de que el elemento de sintaxis se codifique por omisión, el aparato de descodificación puede recibir el bin correspondiente al elemento de sintaxis a través del flujo de bits, y puede descodificar el bin de entrada aplicando una distribución de probabilidad regular. En este caso, el aparato de descodificación puede omitir un procedimiento de derivación del modelo de contexto del elemento de sintaxis y un procedimiento de actualización del modelo de contexto aplicado al bin después de la descodificación.
Las FIGS. 6 y 7 ilustran esquemáticamente una técnica de multitransformada según el presente documento.
En las FIGS. 6 y 7, un transformador puede corresponder al transformador del aparato de codificación de la FIG. 2 como se ha descrito anteriormente, y un transformador inverso puede corresponder al transformador inverso del aparato de codificación de la FIG. 2, o al transformador inverso del aparato de descodificación de la FIG. 3 como se ha descrito anteriormente.
El transformador puede derivar coeficientes de transformada (primaria) realizando una transformada primaria basada en la muestra residual (matriz de muestras residuales) en un bloque residual (S610). Tal transformada primaria puede denominarse transformada núcleo. En este punto, la transformada primaria puede basarse en la selección de transformadas múltiples (MTS) y, en caso de que se aplique la transformada múltiple como transformada primaria, puede denominarse transformada multi-núcleo.
Por ejemplo, la transformada multi-núcleo puede representar un método de transformada para usar adicionalmente transformada coseno discreta (DCT) tipo 2 (DCT-II), transformada seno discreta (DST) tipo 7 (DST-VII), DCT tipo 8 (DCT-VIII) y/o DST tipo 1 (Ds T-I). Es decir, la transformada multi-núcleo puede representar un método de transformada para transformar una señal residual (o bloque residual) de un dominio espacial en coeficientes de transformada (o coeficientes de transformada primaria) de un dominio de frecuencia basado en una pluralidad de núcleos de transformada seleccionados entre la DCT tipo 2, la DST tipo 7, la DCT tipo 8 y la DST tipo 1. En este punto, los coeficientes de transformada primaria pueden denominarse coeficientes de transformada temporales en el lado del transformador.
En otras palabras, en caso de que se aplique el método de transformada existente, puede aplicarse la transformada del dominio espacial para la señal residual (o bloque residual) en el dominio de la frecuencia basándose en la DCT tipo 2, y pueden generarse los coeficientes de transformada. Sin embargo, a diferencia de esto, en caso de que se aplique la transformada multi-núcleo, se puede aplicar la transformada del dominio espacial para la señal residual (o bloque residual) en el dominio de la frecuencia basándose en la DCT tipo 2, la DST tipo 7, la DCT tipo 8 y/o la DST tipo 1, y se pueden generar los coeficientes de transformada (o coeficientes de transformada primaria). En este punto, la DCT tipo 2, la DST tipo 7, la DCT tipo 8 y la DST tipo 1 pueden denominarse tipo de transformada, núcleo de transformada o núcleo de transformada. Los tipos de transformada DCT/DST pueden definirse a partir de funciones de base.
En caso de que se realice la transformada multi-núcleo, puede seleccionarse entre los núcleos de transformada un núcleo de transformada vertical y/o un núcleo de transformada horizontal para un bloque objetivo, puede realizarse una transformada vertical para el bloque objetivo basándose en el núcleo de transformada vertical, y puede realizarse una transformada horizontal para el bloque objetivo basándose en el núcleo de transformada horizontal. En este punto, la transformada horizontal puede representar una transformada para componentes horizontales del bloque objetivo y la transformada vertical puede representar una transformada para componentes verticales del bloque objetivo. El núcleo de transformada vertical/núcleo de transformada horizontal puede determinarse de manera adaptativa basándose en el modo de predicción y/o el índice de transformada del bloque objetivo (CU o subbloque), incluido el bloque residual.
Además, por ejemplo, en caso de realizar la transformada primaria aplicando MTS, se pueden configurar funciones de base específicas con valores especificados y, en caso de la transformada vertical o la transformada horizontal, la relación de mapeo para el núcleo de transformada se puede configurar combinando qué funciones de base se aplican. Por ejemplo, en caso de que el núcleo de transformada de dirección horizontal esté representado por trTypeHor y el núcleo de transformada de dirección vertical esté representado por trTypeVer, el trTypeHor o trTypeVer que tenga un valor de 0 puede configurarse como DCT2 y el trTypeHor o trTypeVer que tenga un valor de 1 puede configurarse como DCT7. El trTypeHor o trTypeVer que tiene un valor de 2 puede configurarse como DCT8.
Como alternativa, por ejemplo, para indicar una cualquiera de una pluralidad de conjuntos de núcleos de transformada, puede codificarse el índice de MTS y señalarse la información de índice de MTS al aparato de descodificación. En este punto, el índice de MTS puede representarse como elemento de sintaxis tu_mts_idx o elemento de sintaxis mts_idx. Por ejemplo, si el índice de MTS es 0, puede representarse que los valores trTypeHor y trTypeVer son todos 0, y (trTypeHor, trTypeVer) = (DCT2, DCT2). Si el índice de MTS es 1, se puede representar que los valores trTypeHor y trTypeVer son todos 1, y (trTypeHor, trTypeVer) = (DST7, DST7). Si el índice de MTS es 2, se puede representar que el valor trTypeHor es 2 y el valor trTypeVer es 1, y (trTypeHor, trTypeVer) = (DCT8, DST7). Si el índice de MTS es 3, se puede representar que el valor trTypeHor es 2 y el valor trTypeVer es 1, y (trTypeHor, trTypeVer) = (DST7, DCT8). Si el índice de MTS es 4, se puede representar que los valores trTypeHor y trTypeVer son todos 2, y (trTypeHor, trTypeVer) = (DCT8, DCT8). Por ejemplo, el conjunto de núcleos de transformada según el índice de MTS puede representarse como en la siguiente tabla.
Tabla 1
El transformador puede derivar coeficientes de transformada (secundaria) modificados realizando una transformada secundaria basándose en los coeficientes de transformada (primaria) (S620). La transformada primaria puede ser una transformada del dominio espacial en el dominio de la frecuencia y la transformada secundaria puede representar una transformada en una expresión más compresiva utilizando una correlación existente entre los coeficientes de transformada (primaria).
Por ejemplo, la transformada secundaria puede incluir una transformada no separable. En este caso, la transformada secundaria puede denominarse transformada secundaria no separable (NSST, por sus siglas en inglés) o transformada secundaria no separable dependiente del modo (MDNSST, por sus siglas en inglés). La transformada secundaria no separable puede representar una transformada para generar coeficientes de transformada modificados (o coeficientes de transformada secundaria) para la señal residual transformando secundariamente los coeficientes de transformada (primaria) derivados a través de la transformada primaria basada en una matriz de transformada no separable. En este punto, la transformada vertical y la transformada horizontal pueden no aplicarse por separado (o independientemente) con respecto a los coeficientes de transformada (primaria) basados en la matriz de transformada no separable, sino que pueden aplicarse todas a la vez.
En otras palabras, la transformada secundaria no separable puede representar un método de transformada para reorganizar, por ejemplo, señales bidimensionales (coeficientes de transformada) en una señal unidimensional a través de una dirección determinada específicamente (p. ej., dirección fila primero o dirección columna primero), sin separar los coeficientes de transformada (primaria) en componentes verticales y componentes horizontales, y generar a continuación coeficientes de transformada modificados (o coeficientes de transformada secundaria) basados en la matriz de transformada no separable.
Por ejemplo, la dirección (u orden) de primera fila puede representar una disposición de un bloque MxN en una línea en el orden de una primera fila a una N-ésima fila, y la dirección (u orden) de primera columna puede representar una disposición de un bloque MxN en una línea en el orden de una primera columna a una M-ésima columna. En este punto, M y N pueden representar una anchura (W) y una altura (H) del bloque, y pueden ser todos números enteros positivos.
Por ejemplo, la transformada secundaria no separable puede aplicarse a un área superior izquierda del bloque compuesto por coeficientes de transformada (primaria) (en lo sucesivo en la presente memoria, bloque de coeficientes de transformada). Por ejemplo, si la anchura (W) y la altura (H) del bloque de coeficientes de transformada son iguales o superiores a 8, se puede aplicar una transformada secundaria no separable de 8x8 al área superior izquierda de 8x8 del bloque de coeficientes de transformada. Además, si la anchura (W) y la altura (H) del bloque de coeficientes de transformada son todas iguales o mayores que 4 y menores que 8, puede aplicarse una transformada secundaria no separable de 4x4 al área superior izquierda mín (8, W) x mín (8, H) del bloque de coeficientes de transformada. Sin embargo, las realizaciones no están limitadas a la misma y, por ejemplo, aunque se cumpla la condición de que la anchura (W) y la altura (H) del bloque de coeficientes de transformada sean todas iguales o mayores que 4, la transformada secundaria no separable de 4x4 puede aplicarse al área superior izquierda mín (8, W) x mín (8, H) del bloque de coeficientes de transformada.
Específicamente, por ejemplo, en caso de que se utilice un bloque de entrada de 4x4, la transformada secundaria no separable puede realizarse de la siguiente manera.
El bloque de entrada de 4x4 X puede representarse de la siguiente manera.
Ecuación 1
Por ejemplo, la forma vectorial de la X puede representarse de la siguiente manera.
Ecuación 2
x -í -^ cd ^oiX[f2Jf03xia xtl xlzx13xí0x21 x23 x23 x30x31x32xn \T
Haciendo referencia a la Ecuación 2,Xpuede representar el vector X, y el bloque bidimensional de la X en la Ecuación 1 puede reorganizarse y representarse como el vector unidimensional de acuerdo con el orden de primera fila.
En este caso, la transformada secundaria no separable puede calcularse de la siguiente manera.
Ecuación 3
En este punto, F puede representar un vector de coeficientes de transformada y T puede representar una matriz de transformada (no separable) de 16x16.
Basándose en la Ecuación 3, F un tamaño de 16x1 puede derivarse yFpuede reorganizarse como bloque de 4x4 mediante un orden de exploración (horizontal, vertical o diagonal). Sin embargo, el cálculo descrito anteriormente es ilustrativo y, para reducir la complejidad del cálculo de transformada secundaria no separable, se puede utilizar la transformada Hipercubo-Givens (HyGT) y similares para calcular la transformada secundaria no separable.
Mientras tanto, en la transformada secundaria no separable, puede seleccionarse un núcleo de transformada (o núcleo de transformada o tipo de transformada) en función del modo. En este punto, el modo puede incluir un modo de intra predicción y/o un modo de inter predicción.
Por ejemplo, como se ha descrito anteriormente, la transformada secundaria no separable puede realizarse basándose en la transformada de 8x8 o en la transformada de 4x4 determinada en función de la anchura (W) y la altura (H) del bloque de coeficientes de transformada. Por ejemplo, si W y H son todos iguales o mayores que 8, la transformada de 8x8 puede representar una transformada que puede aplicarse al área 8x8 incluida dentro del bloque de coeficientes de transformada correspondiente, y el área de 8x8 puede ser el área de 8x8 superior izquierda dentro del bloque de coeficientes de transformada correspondiente. Además, de manera similar, si W y H son todos iguales o mayores que 4, la transformada de 4x4 puede representar una transformada que puede aplicarse al área 4x4 incluida dentro del bloque de coeficientes de transformada correspondiente, y el área de 4x4 puede ser el área de 4x4 superior izquierda dentro del bloque de coeficientes de transformada correspondiente. Por ejemplo, una matriz de núcleo de transformada de 8x8 puede ser una matriz de 64x64 / 16x64, y una matriz de núcleo de transformada de 4x4 puede ser una matriz de 16x16 / 8x16.
En este caso, para la selección del núcleo de transformada basada en el modo, pueden configurarse dos núcleos de transformada secundaria no separables por conjunto de transformada para la transformada secundaria no separable con respecto a todas la transformada de 8x8 y la transformada de 4x4, y pueden proporcionarse cuatro conjuntos de transformada. Es decir, se pueden configurar cuatro conjuntos de transformada con respecto a la transformada de 8x8, y cuatro conjuntos de transformada con respecto a la transformada de 4x4. En este caso, cada uno de los cuatro conjuntos de transformada para la transformada de 8x8 puede incluir dos núcleos de transformada de 8x8, y cada uno de los cuatro conjuntos de transformada para la transformada de 4x4 puede incluir dos núcleos de transformada de 4x4.
Sin embargo, el tamaño de la transformada, el número de conjuntos y el número de núcleos de transformada en el conjunto son ilustrativos, y puede utilizarse un tamaño que excluya 8x8 o 4x4, o pueden configurarse n conjuntos, o pueden incluirse k núcleos de transformada en cada conjunto. En este punto, n y k pueden ser números enteros positivos.
Por ejemplo, el conjunto de transformada puede denominarse conjunto NSST, y el núcleo de transformada en el conjunto NSST puede denominarse núcleo NSST. Por ejemplo, la selección de un conjunto específico entre los conjuntos de transformada puede realizarse basándose en el modo de intra predicción del bloque objetivo (CU o subbloque).
Mientras tanto, si se determina que un conjunto específico se utiliza para la transformada no separable, uno de k núcleos de transformada en el conjunto específico puede seleccionarse a través del índice de transformada secundaria no separable. Por ejemplo, el aparato de codificación puede derivar el índice de transformada secundaria no separable que representa un núcleo de transformada específico basado en una comprobación de tasa-distorsión (RD, por sus siglas en inglés), y puede señalar el índice de transformada secundaria no separable al aparato de descodificación. Por ejemplo, el aparato de descodificación puede seleccionar uno de los k núcleos de transformada del conjunto específico basándose en el índice de transformada secundaria no separable. Por ejemplo, un índice de NSST que tiene un valor de 0 puede representar un primer núcleo de transformada secundaria no separable, un índice de NSST que tiene un valor de 1 puede representar un segundo núcleo de transformada secundaria no separable, y un índice de NSST que tiene un valor de 2 puede representar un tercer núcleo de transformada secundaria no separable. Como alternativa, un índice de NSST que tiene un valor de 0 puede representar que la primera transformada secundaria no separable no se aplica al bloque objetivo, y un índice de NSST que tiene un valor de 1 a 3 puede indicar los tres núcleos de transformada como se ha indicado anteriormente.
El transformador puede realizar la transformada secundaria no separable basándose en los núcleos de transformada seleccionados y puede obtener coeficientes de transformada (secundaria) modificados. Los coeficientes de transformada modificados pueden derivarse como coeficientes de transformada cuantificados a través del cuantificador descrito anteriormente, y pueden codificarse para ser señalados al aparato de descodificación y pueden transferirse al descuantificador / transformador inverso en el aparato de codificación.
Mientras tanto, si se omite la transformada secundaria como se ha descrito anteriormente, los coeficientes de transformada (primaria) que son salidas de la transformada primaria (separable) pueden derivarse como coeficientes de transformada cuantificados a través del cuantificador como se ha descrito anteriormente, y pueden codificarse para ser señalados al aparato de descodificación y pueden transferirse al descuantificador / transformador inverso en el aparato de codificación.
Haciendo referencia a la FIG. 7, el transformador inverso puede realizar una serie de procedimientos en orden inverso a los procedimientos realizados por el transformador descrito anteriormente. El transformador inverso puede recibir coeficientes de transformada (descuantificados), derivar coeficientes de transformada (primaria) realizando una transformada secundaria (inversa) (S750), y obtener un bloque residual (muestras residuales) realizando una transformada primaria (inversa) con respecto a los coeficientes de transformada (primaria) (S470). En este punto, los coeficientes de transformada primaria pueden denominarse coeficientes de transformada modificados en el lado del transformador inverso. Como se ha descrito anteriormente, el aparato de codificación y/o el aparato de descodificación pueden generar un bloque reconstruido basado en el bloque residual y un bloque predicho, y pueden generar una imagen reconstruida basándose en esto.
Mientras tanto, el aparato de descodificación puede incluir además un determinador de aplicación/no aplicación de la transformada inversa secundaria (o elemento para determinar si se aplica la transformada inversa secundaria) y un determinador de transformada inversa secundaria (o elemento para determinar la transformada inversa secundaria). Por ejemplo, el determinador de aplicación/no aplicación de la transformada inversa secundaria puede determinar si se aplica la transformada inversa secundaria. Por ejemplo, la transformada inversa secundaria puede ser NSST o RST, y el determinador de aplicación/no aplicación de la transformada inversa secundaria puede determinar si aplicar la transformada inversa secundaria basándose en una bandera de transformada secundaria analizada u obtenida de un flujo de bits. Como alternativa, por ejemplo, el determinador de aplicación/no aplicación de la transformada inversa secundaria puede determinar si aplicar la transformada inversa secundaria basándose en el coeficiente de transformada del bloque residual.
El determinador de transformada inversa secundaria puede determinar la transformada inversa secundaria. En este caso, el determinador de transformada inversa secundaria puede determinar la transformada inversa secundaria que se aplica al bloque actual basándose en el conjunto de transformadas de NSST (o RST) designado de acuerdo con el modo de intra predicción. Como alternativa, puede determinarse un método de determinación de transformada secundaria en función de un método de determinación de transformada primaria. Como alternativa, pueden determinarse varias combinaciones de la transformada primaria y la transformada secundaria de acuerdo con el modo de intra predicción. Por ejemplo, el determinador de transformada inversa secundaria puede determinar un área a la que se aplica la transformada inversa secundaria basándose en el tamaño del bloque actual.
Mientras tanto, si se omite la transformada secundaria (inversa) como se ha descrito anteriormente, el bloque residual (muestras residuales) puede obtenerse recibiendo los coeficientes de transformada (descuantificados) y realizando la transformada inversa primaria (separable). Como se ha descrito anteriormente, el aparato de codificación y/o el aparato de descodificación pueden generar un bloque reconstruido basado en el bloque residual y el bloque predicho, y pueden generar una imagen reconstruida basándose en esto.
Mientras tanto, en el presente documento, con el fin de reducir una cantidad de cálculo y una cantidad de requisitos de memoria que se acompaña de la transformada secundaria no separable, una transformada secundaria reducida (RST) que tiene un tamaño reducido de la matriz de transformada (núcleo) se puede aplicar en el concepto de NSST.
En el presente documento, la RST puede significar una transformada (de simplificación) que se realiza con respecto a las muestras residuales para el bloque objetivo basándose en la matriz de transformada cuyo tamaño se reduce de acuerdo con un factor de simplificación. En este caso, la cantidad de cálculos necesarios durante la transformada puede reducirse debido a la reducción del tamaño de la matriz de transformada. Es decir, la RST puede utilizarse para resolver el problema de complejidad de cálculo que se produce durante la transformada de un bloque que tiene un gran tamaño o una transformada no separable.
Por ejemplo, la RST puede denominarse con diversos términos, tales como transformada reducida, transformada secundaria reducida, transformada de reducción, transformada simplificada o transformada simple, y las denominaciones a las que se refiere la RST no se limitan a los ejemplos enumerados. Además, la RST se realiza principalmente en un dominio de baja frecuencia que incluye coeficientes que no son 0 en el bloque de transformada, por lo que puede denominarse transformada no separable de baja frecuencia (LFNST).
Mientras tanto, en caso de que la transformada inversa secundaria se realice basándose en la RST, el transformador inverso 235 del aparato de codificación 200 y el transformador inverso 322 del aparato de descodificación 300 pueden incluir una unidad de RST inversa que derive coeficientes de transformada modificados basándose en la RST inversa para los coeficientes de transformada, y un transformador primario inverso que derive muestras residuales para el bloque objetivo basándose en la transformada primaria inversa para los coeficientes de transformada modificados. La transformada primaria inversa significa una transformada inversa de la transformada primaria que se ha aplicado a al residual. En el presente documento, la omisión de los coeficientes de transformada basada en la transformada puede significar la omisión de los coeficientes de transformada aplicando la transformada correspondiente.
Las FIGS. 8 y 9 son diagramas que explican la RST según una realización del presente documento.
Por ejemplo, la FIG. 8 puede ser una figura que explique que se aplica una transformada reducida directa, y la FIG. 9 puede ser una figura que explique que se aplica una transformada reducida inversa. En el presente documento, el bloque objetivo puede representar el bloque actual, un bloque residual o un bloque de transformada del que se realiza la codificación.
Por ejemplo, en la RST, un vector N-dimensional puede ser mapeado en un vector R-dimensional localizado en otro espacio, y una matriz de transformada reducida puede ser determinada. En este punto, N y R pueden ser números enteros positivos, y R puede ser menor que N. N puede significar un cuadrado de la longitud de un lado de un bloque al que se aplica la transformada o el número total de coeficientes de transformada correspondientes al bloque al que se aplica la transformada, y un factor de simplificación puede significar un valor de R/N. El factor de simplificación puede denominarse de diversas maneras, tales como factor reducido, factor de reducción, factor simplificado o factor simple. Mientras tanto, R puede denominarse coeficiente reducido y, en algunos casos, el factor de simplificación puede significar el R. Además, en algunos casos, el factor de simplificación puede significar el valor N/R.
Por ejemplo, el factor de simplificación o el coeficiente reducido pueden señalarse a través del flujo de bits, aunque no de forma limitativa. Por ejemplo, los valores predefinidos para el factor de simplificación o el coeficiente reducido pueden almacenarse en el aparato de codificación 200 y en el aparato de descodificación 300, y en este caso, el factor de simplificación o el coeficiente reducido pueden no señalarse por separado.
Por ejemplo, el tamaño (RxN) de la matriz de transformada de simplificación puede ser menor que el tamaño (NxN) de una matriz de transformada regular, y puede definirse como en la siguiente ecuación.
Ecuación 4
f lAÍ
*2N
ÍRN.
Por ejemplo, la matriz T del bloque de transformada reducida ilustrado en la FIG. 8 puede representar la matriz T<fun>de la Ecuación 4. Como se muestra en la FIG. 8, en caso de que las muestras residuales del bloque objetivo se multipliquen por la matriz de transformada de simplificación T<fxn>, se pueden derivar los coeficientes de transformada del bloque objetivo.
Por ejemplo, en caso de que el tamaño del bloque al que se aplica la transformada sea 8x8, y R sea 16 (es decir, R/N = 16/64 = 1/4), la RST según la FIG. 8 puede expresarse mediante una operación de matriz como en la Ecuación 5 siguiente. En este caso, la memoria y la operación de multiplicación pueden reducirse aproximadamente a 1/4 por el factor de simplificación.
En el presente documento, la operación de matriz puede entenderse como una operación de obtención de un vector columna colocando la matriz en el lado izquierdo del vector columna y multiplicando la matriz y el vector columna.
Ecuación 5
En la Ecuación 5, ri a r64 pueden representar muestras residuales para el bloque objetivo. Como alternativa, por ejemplo, pueden ser coeficientes de transformada generados aplicando la transformada primaria. Basándose en el resultado de la operación de la Ecuación 5, se pueden derivar los coeficientes de transformada ci para el bloque objetivo.
Por ejemplo, en caso de que R sea 16, se pueden derivar los coeficientes de transformada c<1>a c<16>para el bloque objetivo. Si la matriz de transformada que tiene un tamaño de 64x64 (NxN) mediante la aplicación de una transformada regular en lugar de la RST se multiplica por las muestras residuales que tienen un tamaño de 64x1 (Nx1), pueden derivarse 64 (N) coeficientes de transformada para el bloque objetivo, pero como se aplica la RST, solo pueden derivarse 16 (N) coeficientes de transformada para el bloque objetivo. Dado que el número total de coeficientes de transformada para el bloque objetivo se reduce de N a R, la cantidad de datos que el aparato de codificación 200 transmite al aparato de descodificación 300 puede reducirse y, por tanto, la eficiencia de transmisión entre el aparato de codificación 200 y el aparato de descodificación 300 puede aumentar.
Teniendo en cuenta el tamaño de la matriz de transformada, dado que el tamaño de la matriz de transformada regular es de 64x64 (NxN), y el tamaño de la matriz de transformada de simplificación se reduce a 16x64 (RxN), el uso de memoria al realizar la RST puede reducirse en una proporción R/N en comparación con un caso en el que se realice la transformada regular. Además, en comparación con el número (NxN) de operaciones de multiplicación cuando se utiliza la matriz de transformada regular, el uso de la matriz de transformada de simplificación puede reducir el número de operaciones de multiplicación (RxN) en la relación R/N.
En una realización, el transformador 232 del aparato de codificación 200 puede derivar los coeficientes de transformada para el bloque objetivo realizando una transformada primaria y una transformada secundaria basada en RST de las muestras residuales para el bloque objetivo. Los coeficientes de transformada pueden transferirse al transformador inverso del aparato de descodificación 300, y el transformador inverso 322 del aparato de descodificación 300 puede derivar los coeficientes de transformada modificados basándose en la transformada secundaria reducida inversa (RST) para los coeficientes de transformada, y puede derivar las muestras residuales para el bloque objetivo basándose en la transformada primaria inversa de los coeficientes de transformada modificados.
El tamaño de la matriz de RST inversa T<nxr>según una realización puede ser NxR que es más pequeño que el tamaño NxN de la matriz de transformada inversa regular, y puede estar en relación de transposición con la matriz de transformada de simplificación Trxn ilustrada en la Ecuación 4.
La matriz Tt en el bloque de transformada inversa reducida ilustrado en la FIG. 9 puede representar una matriz de RST inversa T<rxn>t . En este punto, el superíndice T puede representar la transposición. Como se muestra en la FIG. 9, en caso de que los coeficientes de transformada para el bloque objetivo se multipliquen por la matriz de RST inversa Trxnt , se pueden derivar los coeficientes de transformada modificados para el bloque objetivo o las muestras residuales para el bloque objetivo. La matriz de RST inversa T<rxnt>puede expresarse como (T<rxn>)<t>N<xr>.
Más específicamente, en caso de que se aplique la transformada inversa RST como transformada inversa secundaria, los coeficientes modificados de la transformada para el bloque objetivo pueden derivarse multiplicando los coeficientes de transformada para el bloque objetivo por la matriz inversa RST T<rxn>t . Mientras tanto, la RST inversa puede aplicarse como la transformada primaria inversa, y en este caso, las muestras residuales para el bloque objetivo pueden derivarse multiplicando los coeficientes de transformada para el bloque objetivo por la matriz de RST inversa T<rxn>t .
En una realización, en caso de que el tamaño del bloque al que se aplica la transformada inversa sea 8<x>8, y R sea 16 (es decir, R/N = 16/64 = 1/4), la RST según la FIG. 7 puede expresarse mediante una operación de matriz como en la Ecuación 6 siguiente.
Ecuación 6
En la Ecuación 6, ci a ci6 pueden representar coeficientes de transformada para el bloque objetivo. rj que representa los coeficientes de transformada modificados para el bloque objetivo o las muestras residuales para el bloque objetivo pueden derivarse basándose en el resultado de la operación de la Ecuación 6. Es decir, pueden derivarse de r<1>a rN que representan los coeficientes de transformada modificados para el bloque objetivo o las muestras residuales para el bloque objetivo.
Teniendo en cuenta el tamaño de la matriz de transformada inversa, dado que el tamaño de la matriz de transformada inversa regular es de 64x64 (NxN), y el tamaño de la matriz de transformada inversa de simplificación se reduce a 64x16 (NxR), el uso de memoria al realizar la RST inversa puede reducirse en una relación R/N en comparación con un caso en el que se realice la transformada inversa regular. Además, en comparación con el número (NxN) de operaciones de multiplicación cuando se utiliza la matriz de transformada inversa regular, el uso de la matriz de transformada inversa de simplificación puede reducir el número de operaciones de multiplicación (NxR) en la relación R/N.
Mientras tanto, los conjuntos de transformada pueden configurarse y aplicarse incluso con respecto a RST de 8x8. Es decir, se puede aplicar la RST de 8x8 correspondiente de acuerdo con el conjunto de transformadas. Dado que un conjunto de transformadas se compone de dos o tres núcleos de transformada de acuerdo con el modo de intra predicción, puede configurarse para seleccionar una de cuatro transformadas como máximo, incluso en caso de que no se aplique la transformada secundaria. Cuando no se aplica la transformada secundaria, puede considerarse que se ha aplicado una matriz de identidad. Si se supone que se da un índice de 0, 1,2 o 3 para cuatro transformadas (p. ej., el índice n.° 0 puede asignarse al caso de que no se aplique la matriz de identidad, es decir, la transformada secundaria), la transformada que debe aplicarse puede designarse señalando un elemento de sintaxis que sea un índice de NSST a cada bloque de coeficientes de transformada. Es decir, a través del índice de NSST, se puede designar NSST de 8x8 para un bloque superior izquierdo de 8x8 y, en la configuración de RST, se puede designar RST de 8x8. La NSST de 8x8 y la RST de 8x8 pueden representar transformadas capaces de aplicarse al área de 8x8 incluida dentro del bloque de coeficientes de transformada correspondiente en caso de que la W y la H del bloque objetivo que se convierte en el objetivo de la transformada sean todos iguales o mayores que 8, y el área de 8x8 puede ser el área superior izquierda de 8x8 dentro del bloque de coeficientes de transformada correspondiente. De manera similar, la NSST de 4x4 y la RST de 4x4 pueden representar transformadas capaces de aplicarse al área de 4x4 incluida dentro del bloque de coeficientes de transformada correspondiente en caso de que la W y la H del bloque objetivo sean todos iguales o mayores que 4, y el área de 4x4 puede ser el área de 4x4 superior izquierda dentro del bloque de coeficientes de transformada correspondiente.
Mientras tanto, por ejemplo, el aparato de codificación puede derivar el flujo de bits codificando el valor del elemento de sintaxis o los valores cuantizados del coeficiente de transformada para el residuo basándose en diversos métodos de codificación, tales como Golomb exponencial, codificación de longitud variable adaptable al contexto (CAVLC), codificación aritmética binaria adaptable al contexto (CABAC), y similares. Además, el aparato de descodificación puede derivar el valor del elemento de sintaxis o los valores cuantificados del coeficiente de transformada para el residuo basándose en diversos métodos de codificación, tales como la codificación exponencial de Golomb, CAVLC, CABAC, y similares.
Mientras tanto, una realización del presente documento puede proponer un esquema para la señalización de un índice de MTS. En este punto, el índice de MTS, como se ha descrito anteriormente, puede representar una cualquiera de una pluralidad de conjuntos de núcleos de transformada, y el índice de MTS puede codificarse y la información de índice de MTS puede señalarse al aparato de descodificación. El aparato de descodificación puede obtener el índice de MTS descodificando la información de índice de MTS, y puede determinar un conjunto de núcleos de transformada a aplicar basándose en el índice de MTS. El índice de MTS puede representarse como un elemento de sintaxis tu_mts_idx o un elemento de sintaxis mts_idx. Por ejemplo, el índice de MTS puede binarizarse utilizando el parámetro Rice-Golmb de orden 0, pero puede binarizarse basándose en el Rice truncado. En el caso de la binarización basada en el Rice truncado, un parámetro de entrada cMax puede tener el valor 4 y cRiceParam puede tener el valor 0. Por ejemplo, el aparato de codificación puede derivar bin(s) para el índice de MTS binarizando el índice de MTS, derivar información de índice de MTS (bit(s) para el índice de MTS) codificando el bin(s) derivado(s), y señalar la información de índice de MTS al aparato de descodificación. El aparato de descodificación puede derivar el/los bin(s) para el índice de MTS descodificando la información de índice de MTS, y derivar el índice de MTS comparando el/los bin(s) derivado(s) para el índice de MTS con el/los bin(s) candidato(s) para el índice de MTS.
Por ejemplo, el índice de MTS (p. ej., el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx) puede codificarse en función del modelo de contexto o del índice de contexto con respecto a todas los bins. En este caso, se puede asignar o determinar un incremento de índice de contexto (ctxInc) para la codificación por contexto del índice de MTS o ctxInc según la ubicación del bin, como se indica en la Tabla 2. Además, puede seleccionarse un modelo de contexto en función de la ubicación del bin, como en la Tabla 2.
Tabla 2
Haciendo referencia a la Tabla 2, la ctxInc del bin n.° 0 (primer bin) puede asignarse en función de la cqtDepth. En este punto, la cqtDepth puede representar una profundidad de quad-tree para el bloque actual y puede derivarse como un valor de 0 a 5. Es decir, la ctxInc para el bin 0 puede asignarse con un valor de 0 a 5 según la cqtDepth. Además, la ctxInc para el bin n.° 1 (segundo bin) puede asignarse con 6, la ctxInc para el bin n.° 2 (tercer bin) puede asignarse con 7, y la ctxInc para el bin n.° 3 (cuarto bin) puede asignarse con 8. Es decir, los bins n.° 0 a n.° 3 pueden ser asignados teniendo ctxInc valores diferentes. En este punto, los diferentes valores de ctxInc pueden representar diferentes modelos de contexto y, en este caso, se pueden proporcionar 9 modelos de contexto para la codificación de índice de MTS.
Además, por ejemplo, el índice de MTS (p. ej., el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx) puede estar codificado en omisión con respecto a todos los bins, como en la Tabla 3. En este caso, puede proporcionarse 0 modelo de contexto para la codificación de índices de MTS.
Tabla 3
Además, por ejemplo, el índice de MTS (p. ej., el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx) puede codificarse en función del modelo de contexto o del índice de contexto con respecto a N0. El bin 0 (primer bin), como en la Tabla 4, y puede codificarse por omisión con respecto a los bins restantes. Es decir, la ctxInc del bin n.° 0 (primer bin) puede asignarse con 0. En este caso, puede proporcionarse un modelo de contexto para la codificación de índices de MTS.
Tabla 4
Además, por ejemplo, el índice de MTS (p. ej., el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx) puede codificarse en función del modelo de contexto o del índice de contexto con respecto al bin n.° 0 (primer bin) y N0. El bin 1 (primer bin), como en la Tabla 5, y puede codificarse por omisión con respecto a los bins restantes. Es decir, la ctxInc para el bin n.° 0 (primer bin) puede asignarse con 0, y la ctxInc para el bin n.° 1 (segundo bin) puede asignarse con 1. En este caso, pueden proporcionarse 2 modelos de contexto para la codificación de índices de MTS.
Tabla 5
Según la presente invención, el índice de MTS (p. ej., el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx) se codifica en función del modelo de contexto o del índice de contexto con respecto a todos los bins, tal como se indica en la Tabla 6, y asigna una ctxInc con respecto a cada bin. Es decir, la ctxInc del bin n.° 0 (primer bin) se asigna con 0, y la ctxInc del bin n.° 1 (segundo bin) se asigna con 1. El ctxInc del bin n.° 2 (tercer bin) se asigna con 2, y la ctxInc del bin n.° 3 (cuarto bin) se asigna con 3. En este caso, se proporcionan 4 modelos de contexto para la codificación del índice de MTS.
Tabla 6
Como se ha descrito anteriormente, según una realización, dado que el número de modelos de contexto se reduce aplicando la codificación por omisión a todos o algunos de los bins del índice de MTS o aplicando un valor específico a la ctxInc aunque se aplique la codificación por contexto, la complejidad puede reducirse, y la cantidad de salida del descodificador puede incrementarse. Además, en una realización, en caso de usar modelos de contexto como se ha descrito anteriormente, el valor inicial y/o el tamaño de la ventana múltiple pueden ser variables en función de las estadísticas de ocurrencia para la posición de cada bin.
Las FIGS. 10 y 11 ilustran esquemáticamente un método de codificación de vídeo/imagen y un ejemplo de componentes relacionados según una(s) realización(es) del presente documento.
El método descrito en la FIG. 910 puede realizarse por el aparato de codificación descrito en la FIG. 2 o la FIG.
11. Específicamente, por ejemplo, S1000 a S1010 de la FIG. 10 pueden ser realizados por el procesador residual 230 del aparato de codificación de la FIG. 11, y S1020 de la FIG. 10 puede ser realizado por el codificador de entropía 240 del aparato de codificación de la FIG. 11. Además, aunque no se ilustra en la FIG.
10, el predictor 220 del aparato de codificación de la FIG. 11 puede derivar muestras de predicción o información relacionada con la predicción, el procesador residual 230 del aparato de codificación puede derivar información residual de las muestras originales o de las muestras de predicción, y el codificador de entropía 240 del aparato de codificación puede generar el flujo de bits a partir de la información residual o de la información relacionada con la predicción. El método descrito en la FIG. 9 puede incluir las realizaciones como se ha descrito anteriormente en el presente documento.
Haciendo referencia a la FIG. 10, el aparato de codificación obtiene las muestras residuales del bloque actual (S1000). Por ejemplo, el aparato de codificación puede derivar las muestras residuales basándose en las muestras de predicción y las muestras originales. Si bien no se ilustra en la FIG. 10, para generar las muestras de predicción para el bloque actual, el aparato de codificación puede realizar una intra o inter predicción con respecto al bloque actual teniendo en cuenta un coste de tasa-distorsión (RD), y puede generar la información relacionada con la predicción incluyendo la información de modo/tipo de predicción.
El aparato de codificación genera información residual para el bloque actual basándose en las muestras residuales (S 1010). Por ejemplo, el aparato de codificación puede derivar coeficientes de transformada para el bloque actual basándose en muestras residuales, y puede generar información residual basándose en los coeficientes de transformada. Por ejemplo, el aparato de codificación puede derivar coeficientes de transformada realizando una transformada con respecto a las muestras residuales. En este punto, la transformada puede realizarse basándose en un núcleo de transformada o en un conjunto de núcleos de transformada. Por ejemplo, el conjunto de núcleos de transformada puede incluir un núcleo de transformada de dirección horizontal y un núcleo de transformada de dirección vertical. Por ejemplo, el aparato de codificación puede derivar los coeficientes de transformada realizando la transformada primaria con respecto a las muestras residuales. Además, por ejemplo, el aparato de codificación puede derivar coeficientes de transformada temporales realizando la transformada primaria con respecto a las muestras residuales, y puede derivar los coeficientes de transformada realizando la transformada secundaria con respecto a los coeficientes de transformada temporales. Por ejemplo, la transformada que se realiza basándose en el conjunto de núcleos de transformada puede representarse como la transformada primaria.
Por ejemplo, la información residual puede incluir información sobre un índice de MTS y/o coeficientes de transformada. El aparato de codificación puede generar información acerca de un índice de MTS y/o coeficientes de transformada basados en los coeficientes de transformada.
El índice de MTS puede representar el conjunto de núcleos de transformada aplicado a (los coeficientes de transformada) del bloque actual entre los candidatos a conjunto de núcleos de transformada. En este punto, el índice de MTS puede representarse como el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx. Como se ha descrito anteriormente, el conjunto de núcleos de transformada puede incluir el núcleo de transformada de dirección horizontal y el núcleo de transformada de dirección vertical, y el núcleo de transformada de dirección horizontal puede representarse como trTypeHor, y el núcleo de transformada de dirección vertical puede representarse como trTypeVer.
Por ejemplo, los valores trTypeHor y trTypeVer pueden estar representados por el núcleo de transformada de dirección horizontal y el núcleo de transformada de dirección vertical aplicados a (los coeficientes de transformada) del bloque actual, y el índice de MTS puede estar representado como uno de los candidatos que incluye de 0 a 4 por los valores trTypeHor y trTypeVer.
Por ejemplo, si el índice de MTS es 0, se puede representar que el trTypeHor y el trTypeVer son todos 0. Además, si el índice de MTS es 1, puede representar que el trTypeHor y el trTypeVer son todos 1. Además, si el índice de MTS es 2, puede representar que el trTypeHor es 2 y el trTypeVer es 1. Si el índice de MTS es 3, puede representar que el trTypeHor es 1 y el trTypeVer es 1. Además, si el índice de MTS es 4, puede representar que el trTypeHor y el trTypeVer son todos 2. Por ejemplo, si el valor trTypeHor o trTypeVer es 0, puede representar que se aplica DCT2 a (los coeficientes de transformada) del bloque actual en la dirección horizontal o en la dirección vertical, si es 1, puede representar que se aplica DST7, y si es 2, puede representar que se aplica DCT8. Es decir, cada uno de los núcleos de transformada que se van a aplicar en la dirección horizontal y el núcleo de transformada que se va a aplicar en la dirección vertical se puede representar como uno de los candidatos, incluidos DCT2, DST7 y DCT8, basándose en el índice de MTS.
El índice de MTS puede representarse basándose en los bins de la cadena de bins del índice de MTS. En otras palabras, el índice de MTS puede binarizarse y representarse como (los bins) de la cadena de bins del índice de MTS, y (los bins) de la cadena de bins del índice de MTS pueden codificarse con entropía.
En otras palabras, al menos uno de los bins de la cadena de bins del índice de MTS puede representarse basándose en la codificación por contexto. En este punto, la codificación por contexto puede realizarse basándose en el valor del incremento de índice de contexto (ctxInc). Además, la codificación del contexto puede realizarse basándose en el índice de contexto (ctxIdx) o en el modelo de contexto. En este punto, el índice de contexto puede representarse basándose en el valor del incremento de índice de contexto. Además, el índice de contexto puede representarse basándose en el valor del incremento de índice de contexto y el desplazamiento del índice de contexto (ctxIdxOffset).
Por ejemplo, todos los bins de la cadena de bins del índice de MTS pueden representarse basándose en la codificación por contexto. Por ejemplo, la ctxInc del primer bin o el bin 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede representarse basándose en cqtDepth. En este punto, la cqtDepth puede representar una profundidad de quad-tree para el bloque actual y puede representarse como un valor entre 0 y 5. Además, la ctxInc del segundo bin o bin n.° 1 (bin 1) puede representarse como 6, la ctxInc del tercer bin o bin n.° 2 (bin 2) puede representarse como 7, y la ctxInc del cuarto bin o bin n.° 3 (bin 3) puede representarse como 8. Además, por ejemplo, la ctxInc del primer bin o el bin 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede representarse como 0, la ctxInc del segundo bin o la n.° 1 (bin 1) puede representarse como 1, la ctxInc para el tercer bin o bin No. 2 (bin 2) puede representarse como 2, y la ctxInc para el cuarto bin o bin No. 3 (bin 3) puede representarse como 3. Es decir, el número de valores de incremento de índice de contexto que pueden usarse para la codificación por contexto del primer bin entre los bins de la cadena de bins puede ser uno. Como alternativa, la cadena de bins del índice de MTS puede incluir cuatro bins como máximo, y el número de valores de incremento de índice de contexto asignados a un bin derivado por codificación por contexto entre los cuatro bins puede ser uno.
Además, por ejemplo, algunos de los bins de la cadena de encuadernación del índice de MTS pueden representarse basándose en la codificación por contexto, y los restantes pueden representarse basándose en la codificación por omisión. Por ejemplo, la ctxInc del primer bin o bin n.° 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede representarse como 0, y los bins restantes pueden representarse basándose en la codificación por omisión. Además, por ejemplo, la ctxInc del primer bin o bin n.° 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede representarse como 0, la ctxInc del segundo bin o bin n.° 1 (bin 1) puede representarse como 1, y los bins restantes pueden representarse basándose en la codificación por omisión. Es decir, el número de valores de incremento de índice de contexto que pueden usarse para la codificación por contexto del primer bin entre los bins de la cadena de bins puede ser uno.
Además, todos los bins de la cadena de bins del índice de MTS pueden representarse basándose en la codificación por omisión. En este punto, la codificación por omisión puede representar la realización de la codificación por contexto basada en la distribución de probabilidad uniforme, y dado que se omite el procedimiento de actualización de la codificación por contexto, se puede mejorar la eficiencia de la codificación.
La información alrededor de los coeficientes de transformada puede indicar información utilizada para derivar los coeficientes de transformada. También, por ejemplo, la información sobre coeficientes de transformada puede incluir información sobre muestras residuales, información relacionada con la transformada y/o información relacionada con la cuantificación. Por ejemplo, la información sobre los coeficientes de transformada puede incluir información sobre los coeficientes de transformada cuantizados.
El aparato de codificación genera un flujo de bits codificando información de vídeo que incluye información residual (S 1020). Por ejemplo, la información de vídeo puede denominarse información de imagen. Por ejemplo, la información de vídeo puede incluir además información relacionada con la predicción. Por ejemplo, el aparato de codificación puede codificar información de vídeo para dar salida a un flujo de bits. Un flujo de bits también puede denominarse información codificada (de imagen o vídeo).
Además, aunque no se ilustra en la FIG. 10, por ejemplo, el aparato de codificación puede generar muestras reconstruidas basadas en las muestras residuales y las muestras de predicción. Además, un bloque reconstruido y una imagen reconstruida pueden derivarse basándose en las muestras reconstruidas.
Por ejemplo, el aparato de codificación puede generar el flujo de bits o la información codificada codificando la información de la imagen incluyendo toda o parte de la información descrita anteriormente (o elementos de sintaxis). Además, la información puede emitirse en forma de flujo de bits. Además, el flujo de bits o la información codificada pueden transmitirse al aparato de descodificación a través de la red o del medio de almacenamiento. Además, el flujo de bits o la información codificada pueden almacenarse en un medio de almacenamiento legible por ordenador, y el flujo de bits o la información codificada pueden generarse mediante el método de codificación de imágenes descrito anteriormente.
Las FIGS. 12 y 13 ilustran esquemáticamente un método de descodificación de vídeo/imagen y un ejemplo de componentes relacionados según una(s) realización(es) del presente documento.
El método descrito en la FIG. 12 puede realizarse por un aparato de descodificación descrito en la FIG. 3 o la FIG. 13. Específicamente, por ejemplo, S1200 de la FIG. 12 puede realizarse por un descodificador de entropía 310 del aparato de descodificación de la FIG. 13, S1210 de la FIG. 12 puede realizarse por un procesador residual 320 del aparato de descodificación de la FIG. 13 y S1220 de la FIG. 12 puede realizarse por un sumador 340 del aparato de descodificación de la FIG. 13. Además, aunque no se ilustra en la FIG. 12, la información relacionada con la predicción o la información residual puede derivarse del flujo de bits mediante el descodificador de entropía 310 del aparato de descodificación de la FIG. 13, y las muestras residuales pueden derivarse de la información residual mediante el procesador residual 320 del aparato de descodificación. Las muestras de predicción pueden derivarse de la información relacionada con la predicción mediante el predictor 330 del aparato de descodificación, y el bloque reconstruido o la imagen reconstruida pueden derivarse de las muestras residuales o de las muestras de predicción mediante el sumador 340 del aparato de descodificación. El método descrito en la FIG. 12 puede incluir las realizaciones descritas anteriormente en el presente documento.
Haciendo referencia a la FIG. 12, el aparato de descodificación obtiene la información residual del flujo de bits (S 1200). Por ejemplo, el aparato de descodificación puede obtener la información residual analizando o descodificando el flujo de bits. En este punto, el flujo de bits puede denominarse información (de imagen) codificada. Por ejemplo, la información residual puede incluir información sobre un índice de MTS y/o coeficientes de transformada.
El índice de MTS puede representar el conjunto de núcleos de transformada que se aplicará al bloque actual entre los candidatos a conjunto de núcleos de transformada. En este punto, el índice de MTS puede representarse como el elemento de sintaxis tu_mts_idx o el elemento de sintaxis mts_idx. Además, el conjunto de núcleos de transformada puede incluir el núcleo de transformada que se aplicará al bloque actual en la dirección horizontal y el núcleo de transformada que se aplicará al bloque actual en la dirección vertical. En este punto, el núcleo de transformada que se aplicará en la dirección horizontal puede representarse como trTypeHor, y el núcleo de transformada que se aplicará en la dirección vertical puede representarse como trTypeVer.
Por ejemplo, el índice de MTS puede derivarse como uno de los candidatos que incluye de 0 a 4, y de acuerdo con el índice de MTS, cada uno de los trTypeHor y trTypeVer puede derivarse como uno de 0 a 2. Por ejemplo, si el índice de MTS es 0, el trTypeHor y el trTypeVer pueden ser todos 0. Además, si el índice de MTS es 1, el trTypeHor y el trTypeVer pueden ser todos 1. Además, si el índice de MTS es 2, el trTypeHor puede ser 2, y el trTypeVer puede ser 1. Si el índice de MTS es 3, el trTypeHor puede ser 1, y el trTypeVer puede ser 1. Además, si el índice de MTS es 4, el trTypeHor y el trTypeVer pueden ser todos 2. Por ejemplo, el valor trTypeHor o trTypeVer puede representar el núcleo de transformada, y si es 0, puede representar DCT2, si es 1, puede representar DST7, y si es 2, puede representar DCT8. Es decir, cada uno de los núcleos de transformada a aplicar en la dirección horizontal y el núcleo de transformada a aplicar en la dirección vertical puede derivarse como uno de los candidatos, incluidos DCT2, DST7 y DCT8, basándose en el índice de MTS.
El índice de MTS puede derivarse basándose en los bins de la cadena de bins del índice de MTS. En otras palabras, la información de índice de MTS puede descodificarse con entropía y derivarse como un índice de MTS binarizado, y el índice de MTS binarizado puede representarse como (los bins) de la cadena de bins del índice de MTS.
En otras palabras, al menos uno de los bins de la cadena de bins del índice de MTS puede derivarse basándose en la codificación por contexto. En este punto, la codificación por contexto puede realizarse basándose en el valor del incremento de índice de contexto (ctxInc). Además, la codificación del contexto puede realizarse basándose en el índice de contexto (ctxIdx) o en el modelo de contexto. En este punto, el índice de contexto puede derivarse basándose en el valor del incremento de índice de contexto. Además, el índice de contexto puede derivarse basándose en el valor del incremento de índice de contexto y el desplazamiento del índice de contexto (ctxIdxOffset).
Por ejemplo, todos los bins de la cadena de bins del índice de MTS pueden derivarse basándose en la codificación por contexto. Por ejemplo, la ctxInc del primer bin o el bin 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede asignarse basándose en cqtDepth. En este punto, la cqtDepth puede representar una profundidad de quad-tree para el bloque actual y puede derivarse como un valor entre 0 y 5. Además, la ctxInc del segundo bin o bin n.° 1 (bin 1) puede asignarse con 6, la ctxInc del tercer bin o bin n.° 2 (bin 2) puede asignarse con 7 y la ctxInc del cuarto bin o bin n.° 3 (bin 3) puede asignarse con 8. Además, por ejemplo, la ctxInc para la primer bin o el bin 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede asignarse con 0, la ctxInc para la segundo bin o la n.° 1 (bin 1) puede asignarse con 1, la ctxInc para el tercer bin o bin No. 2 (bin 2) puede asignarse con 2, y la ctxInc para el cuarto bin o bin No. 3 (bin 3) puede asignarse con 3. Es decir, el número de valores de incremento de índice de contexto que pueden usarse para la codificación por contexto del primer bin entre los bins de la cadena de bins puede ser uno. Como alternativa, la cadena de bins del índice de MTS puede incluir cuatro bins como máximo, y el número de valores de incremento de índice de contexto asignados a un bin derivado por codificación por contexto entre los cuatro bins puede ser uno.
Además, por ejemplo, algunos de los bins de la cadena de enlace del índice de MTS pueden derivarse basándose en la codificación por contexto, y los restantes pueden derivarse basándose en la codificación por omisión. Por ejemplo, la ctxInc para el primer bin o bin n.° 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede asignarse con 0, y los bins restantes pueden derivarse basándose en la codificación por omisión. Además, por ejemplo, la ctxInc para el primer bin o bin n.° 0 (bin 0) entre los bins de la cadena de bins del índice de MTS puede asignarse con 0, la ctxInc para el segundo bin o bin n.° 1 (bin 1) puede asignarse con 1, y los bins restantes pueden derivarse basándose en la codificación por omisión. Es decir, el número de valores de incremento de índice de contexto que pueden usarse para la codificación por contexto del primer bin entre los bins de la cadena de bins puede ser uno.
Además, todos los bins de la cadena de bins del índice de MTS pueden derivarse basándose en la codificación por omisión. En este punto, la codificación por omisión puede representar la realización de la codificación por contexto basada en la distribución de probabilidad uniforme, y dado que se omite el procedimiento de actualización de la codificación por contexto, se puede mejorar la eficiencia de la codificación.
La información alrededor de los coeficientes de transformada puede indicar información utilizada para derivar los coeficientes de transformada. Además, la información residual puede incluir información utilizada para derivar muestras residuales. Por ejemplo, la información residual puede incluir información sobre muestras residuales, información relacionada con la transformada inversa y/o información relacionada con la cuantización inversa. Por ejemplo, la información residual puede incluir información sobre coeficientes de transformada cuantizados.
El aparato de descodificación genera muestras residuales para el bloque actual basándose en la información residual (S1210). El aparato de descodificación obtiene coeficientes de transformada para el bloque actual basándose en la información residual y genera muestras residuales basándose en los coeficientes de transformada. Por ejemplo, el aparato de descodificación puede derivar los coeficientes de transformada cuantificados para el bloque actual basándose en la información sobre los coeficientes de transformada cuantificados incluida en la información residual. El aparato de descodificación obtiene los coeficientes de transformada del bloque actual mediante la descuantización de los coeficientes de transformada cuantizados.
Por ejemplo, el aparato de descodificación puede generar las muestras residuales del bloque actual basándose en el índice de MTS incluido en la información residual y en los coeficientes de transformada según la información sobre los coeficientes de transformada incluida en la información residual (S1120). Por ejemplo, las muestras residuales pueden generarse basándose en el conjunto de núcleos de transformada representado por los coeficientes de transformada y el índice de MTS. Es decir, el aparato de descodificación puede generar las muestras residuales a partir de los coeficientes de transformada mediante la transformada inversa utilizando el conjunto de núcleos de transformada representado por el índice de MTS. En este punto, la transformada inversa que utiliza el conjunto de núcleos de transformada representado por el índice de MTS puede incluirse en la transformada inversa primaria. Además, el aparato de descodificación puede usar no solo la transformada inversa primaria sino también la transformada inversa secundaria al generar las muestras residuales a partir de los coeficientes de transformada. En este caso, el aparato de descodificación puede derivar los coeficientes de transformada modificados realizando la transformada inversa secundaria con respecto a los coeficientes de transformada, y puede generar las muestras residuales realizando la transformada inversa primaria con respecto a los coeficientes de transformada modificados.
El aparato de descodificación genera muestras reconstruidas del bloque actual basándose en las muestras residuales (S1220). Por ejemplo, el aparato de descodificación puede obtener la información relacionada con la predicción, incluido el modo/tipo de predicción del flujo de bits, y puede generar las muestras de predicción para el bloque actual realizando la intra o inter predicción basada en la información del modo/tipo de predicción. El aparato de descodificación genera las muestras reconstruidas basándose en las muestras de predicción y las muestras residuales. Además, por ejemplo, el bloque reconstruido o la imagen reconstruida pueden derivarse a partir de las muestras reconstruidas.
Por ejemplo, el aparato de descodificación puede obtener información de imagen que incluye todas o partes de las piezas de información (o elementos de sintaxis) descritas anteriormente descodificando el flujo de bits o la información codificada. Además, el flujo de bits o la información codificada puede almacenarse en un medio de almacenamiento legible por ordenador, y puede hacer que se realice el método de descodificación descrito anteriormente.
Aunque se han descrito métodos basándose en un diagrama de flujo en el que las etapas o bloques se enumeran en secuencia en las realizaciones descritas anteriormente, las etapas del presente documento no se limitan a un cierto orden, y una cierta etapa puede realizarse en un etapa diferente o en un orden diferente o al mismo tiempo con respecto a la descrita anteriormente.
El método mencionado anteriormente según la presente divulgación puede ser en forma de software, y el aparato de codificación y/o el aparato de descodificación según la presente divulgación pueden estar incluidos en un dispositivo para realizar el procesamiento de imágenes, por ejemplo, una TV, un ordenador, un teléfono inteligente, un descodificador de salón, un dispositivo de visualización o similar.
Cuando las realizaciones de la presente divulgación se implementan por software, el método mencionado anteriormente puede implementarse por un módulo (proceso o función) que realiza la función mencionada anteriormente. El módulo puede almacenarse en una memoria y ser ejecutado por un procesador. La memoria puede instalarse dentro o fuera del procesador y puede conectarse al procesador a través de diversos medios bien conocidos. El procesador puede incluir un circuito integrado de específico de la aplicación (ASIC), otros conjuntos de chips, un circuito lógico y/o un dispositivo de procesamiento de datos. La memoria puede incluir una memoria de solo lectura (ROM), una memoria de acceso aleatorio (RAM), una memoria flash, una tarjeta de memoria, un medio de almacenamiento y/u otro dispositivo de almacenamiento. En otras palabras, las realizaciones según la presente divulgación pueden implementarse y ejecutarse en un procesador, un microprocesador, un controlador o un chip. Por ejemplo, las unidades funcionales ilustradas en las figuras respectivas pueden implementarse y ejecutarse en un ordenador, un procesador, un microprocesador, un controlador o un chip. En este caso, la información sobre la implementación (por ejemplo, información sobre instrucciones) o algoritmos puede almacenarse en un medio de almacenamiento digital.
Además, el aparato de descodificación y el aparato de codificación a los que se aplica la o las realizaciones del presente documento pueden incluirse en un transceptor de difusión multimedia, un terminal de comunicación móvil, un dispositivo de vídeo de cine en casa, un dispositivo de vídeo de cine digital, un cámara de vigilancia, un dispositivo de chat de vídeo y un dispositivo de comunicación en tiempo real tal como comunicación de vídeo, un dispositivo de emisión en continuo móvil, un medio de almacenamiento, una videocámara, un proveedor de servicios de vídeo bajo demanda (VoD), un dispositivo de vídeo de libre transmisión (Over The Top) (OTT) , un proveedor de servicios de emisión en continuo de Internet, un dispositivo de vídeo en 3D, un dispositivo de realidad virtual (RV), un dispositivo de realidad aumentada (RA), un dispositivo de vídeo telefónico de imagen, un terminal de vehículo (por ejemplo, un terminal de vehículo (incluyendo un vehículo autónomo), un terminal de avión o un terminal de barco) y un dispositivo de vídeo médico; y puede usarse para procesar una señal o datos de imagen. Por ejemplo, el dispositivo de vídeo OTT puede incluir una consola de juegos, un reproductor de Bluray, un televisor conectado a Internet, un sistema de cine en casa, un teléfono inteligente, un PC de tableta y un grabador de vídeo digital (DVR).
Además, el método de procesamiento al que se aplica la realización o realizaciones del presente documento puede producirse en forma de un programa ejecutado por un ordenador y puede almacenarse en un medio de grabación legible por ordenador. Los datos multimedia que tienen una estructura de datos según la realización o realizaciones del presente documento también pueden almacenarse en el medio de grabación legible por ordenador. El medio de grabación legible por ordenador incluye todo tipo de dispositivos de almacenamiento y dispositivos de almacenamiento distribuido en los que se almacenan datos legibles por ordenador. El medio de grabación legible por ordenador puede incluir, por ejemplo, un disco Blu-ray (BD), un bus serie universal (USB), una ROM, una p Ro M, una EPROM, una EEPROM, una RAM, un CD-ROM, una cinta magnética, un disquete y un dispositivo de almacenamiento de datos óptico. El medio de grabación legible por ordenador también incluye medios incorporados en forma de una onda portadora (por ejemplo, transmisión a través de Internet). Además, un flujo de bits generado por el método de codificación puede almacenarse en un medio de grabación legible por ordenador o transmitirse a través de una red de comunicación cableada o inalámbrica.
Además, la realización o realizaciones del presente documento pueden realizarse como un producto de programa informático basándose en un código de programa, y el código de programa puede ejecutarse en un ordenador según la realización o realizaciones del presente documento. El código del programa puede almacenarse en un soporte legible por ordenador.
La FIG. 14 representa un ejemplo de un sistema de emisión en continuo de contenidos al que puede aplicarse la realización del presente documento.
Haciendo referencia a la FIG. 14, el sistema de emisión en continuo de contenido al que se aplican las realizaciones del presente documento puede incluir en general un servidor de codificación, un servidor emisión en continuo, un servidor web, un almacenamiento de medios, un dispositivo de usuario y un dispositivo de entrada multimedia.
El servidor de codificación funciona para comprimir a datos digitales los contenidos introducidos desde los dispositivos de entrada multimedia, tales como el teléfono inteligente, la cámara, la videocámara y similares, para generar un flujo de bits, y transmitirlo al servidor de emisión en continuo. Como otro ejemplo, en un caso donde el dispositivo de entrada multimedia, tal como, el teléfono inteligente, la cámara, la videocámara o similares, genera directamente un flujo de bits, puede omitirse el servidor de codificación.
El flujo de bits puede generarse mediante un método de codificación o un método de generación de flujo de bits al que se aplican las realizaciones del presente documento. Y el servidor de emisión en continuo puede almacenar temporalmente el flujo de bits en un proceso de transmisión o recepción del flujo de bits.
El servidor de emisión en continuo transmite datos multimedia al equipo de usuario basándose en la solicitud de un usuario a través del servidor web, que funciona como un instrumento que informa a un usuario de qué servicio hay. Cuando el usuario solicita un servicio que el usuario desea, el servidor web transfiere la solicitud al servidor de emisión en continuo, y el servidor de emisión en continuo transmite datos multimedia al usuario. En este sentido, el sistema de emisión en continuo de contenidos puede incluir un servidor de control separado, y en este caso, el servidor de control funciona para controlar comandos/respuestas entre equipos respectivos en el sistema de emisión en continuo de contenido.
El servidor de emisión en continuo puede recibir contenidos desde el almacenamiento de medios y/o el servidor de codificación. Por ejemplo, en un caso en el que los contenidos se reciben desde el servidor de codificación, los contenidos pueden recibirse en tiempo real. En este caso, el servidor de emisión en continuo puede almacenar el flujo de bits durante un período de tiempo predeterminado para proporcionar el servicio de emisión en continuo sin interrupciones.
Por ejemplo, el equipo de usuario puede incluir un teléfono móvil, un teléfono inteligente, un ordenador portátil, un terminal de difusión digital, un asistente digital personal (PDA), un reproductor multimedia portátil (PMP), un navegador, un PC de pizarra, un PC de tableta, un ultraportátil, un dispositivo llevable (p. ej., un terminal de tipo reloj (reloj inteligente), un terminal de tipo gafas (gafas inteligentes), una pantalla montada en la cabeza (HMD)), un televisor digital, un ordenador de sobremesa, una señalización digital o similar.
Cada uno de los servidores en el sistema de emisión en continuo de contenidos puede operarse como un servidor distribuido, y en este caso, los datos recibidos por cada servidor pueden procesarse de manera distribuida.
Las reivindicaciones en la presente descripción se pueden combinar de diversas maneras. Por ejemplo, las características técnicas en las reivindicaciones de método de la presente descripción pueden combinarse para implementarse o realizarse en un aparato, y las características técnicas en las reivindicaciones de aparato pueden combinarse para implementarse o realizarse en un método. Además, las características técnicas en la reivindicación o reivindicaciones de método y la reivindicación o reivindicaciones de aparato pueden combinarse para implementarse o realizarse en un aparato. Además, las características técnicas en la reivindicación o reivindicaciones de método y la reivindicación o reivindicaciones de aparato pueden combinarse para implementarse o realizarse en un método.
Claims (3)
- REIVINDICACIONES 1. Un método de descodificación de imagen realizado por un aparato de descodificación, comprendiendo el método: obtener (S1200) información residual a partir de un flujo de bits; derivar coeficientes de transformada de un bloque actual descuantificando de coeficientes de transformada cuantificados derivados a partir de la información residual; generar (S1210) muestras residuales del bloque actual transformando los coeficientes de transformada; y generar (S1220) muestras reconstruidas del bloque actual sumando las muestras residuales y las muestras de predicción del bloque actual; en donde la información residual incluye información sobre el índice de selección de transformadas múltiples, MTS, y coeficientes de transformada, en donde las muestras residuales se generan a partir de los coeficientes de transformada según la información sobre los coeficientes de transformada utilizando un conjunto de núcleos de transformada, en donde el conjunto de núcleos de transformada se determina de entre los candidatos a conjunto de núcleos de transformada basándose en el índice de MTS, en donde 4 bins entre los bins de una cadena de bins del índice de MTS se derivan basándose en la codificación por contexto, en donde la codificación por contexto se realiza basándose en un valor de un incremento de índice de contexto para el índice de MTS; caracterizado por que el valor del incremento de índice de contexto asignado a cada uno de los bins de la cadena de bins del índice de MTS se deriva según la siguiente tabla,donde tu mts idx [ 1 [ 1 representa el índice de MTS, y binIdx representa un índice para cada uno de los bins de la cadena de bins del índice de MTS.
- 2. Un método de codificación de imagen realizado por un aparato de codificación, comprendiendo el método: derivar (S 1000) muestras residuales de un bloque actual; derivar coeficientes de transformada del bloque actual transformando las muestras residuales; generar (S1010) información residual cuantificando los coeficientes de transformada; y codificar (S1020) la información de imagen que incluye la información residual para generar un flujo de bits; en donde la información residual incluye información sobre el índice de selección de transformadas múltiples, MTS, y coeficientes de transformada, en donde la información sobre los coeficientes de transformada se genera a partir de las muestras residuales utilizando un conjunto de núcleos de transformada, en donde el índice de MTS indica el conjunto de núcleos de transformada entre los candidatos a conjunto de núcleos de transformada, en donde 4 bins entre los bins de una cadena de bins del índice de MTS se representan basándose en la codificación por contexto, en donde la codificación por contexto se realiza basándose en un valor de un incremento de índice de contexto para el índice de MTS; caracterizado por que el valor del incremento de índice de contexto asignado a cada uno de los bins de la cadena de bins del índice de MTS se representa según la siguiente tabla,donde tu mts idx [ ] [ ] representa el índice de MTS, y binIdx representa un índice para cada uno de los bins de la cadena de bins del índice de MTS.
- 3. Un método de transmisión de datos para una imagen, comprendiendo el método: generar un flujo de bits para la imagen realizando el método de codificación de imagen de la reivindicación 2; y transmitir los datos que comprenden el flujo de bits.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962863813P | 2019-06-19 | 2019-06-19 | |
| PCT/KR2020/007597 WO2020256344A1 (ko) | 2019-06-19 | 2020-06-11 | 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3040198T3 true ES3040198T3 (en) | 2025-10-29 |
Family
ID=74037354
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20825768T Active ES3040198T3 (en) | 2019-06-19 | 2020-06-11 | Signaling of information indicating transform kernel set in image coding |
Country Status (16)
| Country | Link |
|---|---|
| US (2) | US11503298B2 (es) |
| EP (2) | EP4586606A3 (es) |
| JP (2) | JP7302037B2 (es) |
| KR (2) | KR102817045B1 (es) |
| CN (2) | CN119484834A (es) |
| ES (1) | ES3040198T3 (es) |
| FI (1) | FI3989581T3 (es) |
| HR (1) | HRP20251048T1 (es) |
| HU (1) | HUE072915T2 (es) |
| LT (1) | LT3989581T (es) |
| MX (2) | MX2021016152A (es) |
| PL (1) | PL3989581T3 (es) |
| PT (1) | PT3989581T (es) |
| RS (1) | RS67143B1 (es) |
| SI (1) | SI3989581T1 (es) |
| WO (1) | WO2020256344A1 (es) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA3175176C (en) * | 2017-08-04 | 2024-07-02 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | METHOD AND APPARATUS FOR CONFIGURING A TRANSFORMER FOR VIDEO COMPRESSION |
| CN113365054B (zh) * | 2019-03-09 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、解码端、编码端和系统 |
| CN119484834A (zh) * | 2019-06-19 | 2025-02-18 | Lg 电子株式会社 | 图像编译中指示变换核集的信息的信令 |
| WO2021058593A1 (en) * | 2019-09-24 | 2021-04-01 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coding concept for a sequence of information values |
| US12003731B2 (en) * | 2021-09-29 | 2024-06-04 | Qualcomm Incorporated | Adaptive determination of multiple transform candidates for video coding |
| WO2023191332A1 (ko) * | 2022-03-28 | 2023-10-05 | 현대자동차주식회사 | 적응적 다중변환선택을 이용하는 비디오 코딩을 위한 방법 및 장치 |
| WO2024005614A1 (ko) * | 2022-07-01 | 2024-01-04 | 엘지전자 주식회사 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
| WO2024076134A1 (ko) * | 2022-10-05 | 2024-04-11 | 세종대학교산학협력단 | 동영상 인코딩 및 디코딩 장치와 방법 |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102281435B (zh) * | 2010-06-11 | 2013-10-02 | 华为技术有限公司 | 编码方法、解码方法、编码装置、解码装置及编解码系统 |
| KR20120034044A (ko) * | 2010-09-30 | 2012-04-09 | 한국전자통신연구원 | 영상 변환 부호화/복호화 방법 및 장치 |
| US10499059B2 (en) * | 2011-03-08 | 2019-12-03 | Velos Media, Llc | Coding of transform coefficients for video coding |
| 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 |
| US10750181B2 (en) * | 2017-05-11 | 2020-08-18 | Mediatek Inc. | Method and apparatus of adaptive multiple transforms for video coding |
| WO2019009618A1 (ko) * | 2017-07-04 | 2019-01-10 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
| ES3030533T3 (en) * | 2018-06-03 | 2025-06-30 | Lg Electronics Inc | Method and device for processing video signal by using reduced transform |
| US10948993B2 (en) * | 2018-06-07 | 2021-03-16 | Facebook, Inc. | Picture-taking within virtual reality |
| CA3105072A1 (en) * | 2018-06-29 | 2020-01-02 | Vid Scale, Inc. | Adaptive control point selection for affine motion model based video coding |
| US11218694B2 (en) * | 2018-09-24 | 2022-01-04 | Qualcomm Incorporated | Adaptive multiple transform coding |
| JP2020053924A (ja) * | 2018-09-28 | 2020-04-02 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
| ES3047711T3 (en) * | 2018-12-28 | 2025-12-04 | Ericsson Telefon Ab L M | Method and apparatus for selecting transform selection in an encoder and decoder |
| US10986334B2 (en) * | 2019-03-09 | 2021-04-20 | Tencent America LLC | Method and apparatus for video coding |
| US11240534B2 (en) * | 2019-04-05 | 2022-02-01 | Qualcomm Incorporated | Extended multiple transform selection for video coding |
| US11032572B2 (en) * | 2019-05-17 | 2021-06-08 | Qualcomm Incorporated | Low-frequency non-separable transform signaling based on zero-out patterns for video coding |
| CN119484834A (zh) * | 2019-06-19 | 2025-02-18 | Lg 电子株式会社 | 图像编译中指示变换核集的信息的信令 |
| EP3989562B1 (en) * | 2019-06-19 | 2024-05-22 | Lg Electronics Inc. | Coding of information about transform kernel set |
| US11949870B2 (en) * | 2019-06-21 | 2024-04-02 | Qualcomm Incorporated | Context modeling for low-frequency non-separable transformation signaling for video coding |
| US11086476B2 (en) * | 2019-10-23 | 2021-08-10 | Facebook Technologies, Llc | 3D interactions with web content |
| US11175730B2 (en) * | 2019-12-06 | 2021-11-16 | Facebook Technologies, Llc | Posture-based virtual space configurations |
| US11520399B2 (en) * | 2020-05-26 | 2022-12-06 | Snap Inc. | Interactive augmented reality experiences using positional tracking |
| US11256336B2 (en) * | 2020-06-29 | 2022-02-22 | Facebook Technologies, Llc | Integration of artificial reality interaction modes |
| US11176755B1 (en) * | 2020-08-31 | 2021-11-16 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
| US11178376B1 (en) * | 2020-09-04 | 2021-11-16 | Facebook Technologies, Llc | Metering for display modes in artificial reality |
| US11546505B2 (en) * | 2020-09-28 | 2023-01-03 | Snap Inc. | Touchless photo capture in response to detected hand gestures |
| US11113893B1 (en) * | 2020-11-17 | 2021-09-07 | Facebook Technologies, Llc | Artificial reality environment with glints displayed by an extra reality device |
| US11531402B1 (en) * | 2021-02-25 | 2022-12-20 | Snap Inc. | Bimanual gestures for controlling virtual and graphical elements |
-
2020
- 2020-06-11 CN CN202411438512.6A patent/CN119484834A/zh active Pending
- 2020-06-11 HU HUE20825768A patent/HUE072915T2/hu unknown
- 2020-06-11 RS RS20250826A patent/RS67143B1/sr unknown
- 2020-06-11 KR KR1020217041547A patent/KR102817045B1/ko active Active
- 2020-06-11 PT PT208257683T patent/PT3989581T/pt unknown
- 2020-06-11 FI FIEP20825768.3T patent/FI3989581T3/fi active
- 2020-06-11 ES ES20825768T patent/ES3040198T3/es active Active
- 2020-06-11 PL PL20825768.3T patent/PL3989581T3/pl unknown
- 2020-06-11 LT LTEPPCT/KR2020/007597T patent/LT3989581T/lt unknown
- 2020-06-11 KR KR1020257017962A patent/KR20250085844A/ko active Pending
- 2020-06-11 MX MX2021016152A patent/MX2021016152A/es unknown
- 2020-06-11 CN CN202080052291.2A patent/CN114128276B/zh active Active
- 2020-06-11 EP EP25180234.4A patent/EP4586606A3/en active Pending
- 2020-06-11 SI SI202030653T patent/SI3989581T1/sl unknown
- 2020-06-11 EP EP20825768.3A patent/EP3989581B1/en active Active
- 2020-06-11 WO PCT/KR2020/007597 patent/WO2020256344A1/ko not_active Ceased
- 2020-06-11 HR HRP20251048TT patent/HRP20251048T1/hr unknown
- 2020-06-11 JP JP2021575528A patent/JP7302037B2/ja active Active
-
2021
- 2021-12-17 MX MX2025000318A patent/MX2025000318A/es unknown
- 2021-12-20 US US17/555,881 patent/US11503298B2/en active Active
-
2022
- 2022-10-17 US US17/967,106 patent/US11895300B2/en active Active
-
2023
- 2023-06-21 JP JP2023101758A patent/JP7476401B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20230059802A1 (en) | 2023-02-23 |
| US20220116608A1 (en) | 2022-04-14 |
| JP2023116782A (ja) | 2023-08-22 |
| RS67143B1 (sr) | 2025-09-30 |
| KR20210158400A (ko) | 2021-12-30 |
| LT3989581T (lt) | 2025-09-25 |
| KR20250085844A (ko) | 2025-06-12 |
| MX2025000318A (es) | 2025-02-10 |
| HRP20251048T1 (hr) | 2025-11-07 |
| HUE072915T2 (hu) | 2025-12-28 |
| CN119484834A (zh) | 2025-02-18 |
| WO2020256344A1 (ko) | 2020-12-24 |
| KR102817045B1 (ko) | 2025-06-05 |
| FI3989581T3 (fi) | 2025-09-16 |
| EP3989581A1 (en) | 2022-04-27 |
| US11503298B2 (en) | 2022-11-15 |
| JP7476401B2 (ja) | 2024-04-30 |
| SI3989581T1 (sl) | 2025-10-30 |
| EP4586606A2 (en) | 2025-07-16 |
| CN114128276A (zh) | 2022-03-01 |
| EP3989581B1 (en) | 2025-08-06 |
| US11895300B2 (en) | 2024-02-06 |
| JP2022538033A (ja) | 2022-08-31 |
| CN114128276B (zh) | 2024-10-29 |
| PT3989581T (pt) | 2025-09-03 |
| JP7302037B2 (ja) | 2023-07-03 |
| PL3989581T3 (pl) | 2025-09-29 |
| MX2021016152A (es) | 2022-02-22 |
| EP3989581A4 (en) | 2023-06-28 |
| EP4586606A3 (en) | 2025-10-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3040198T3 (en) | Signaling of information indicating transform kernel set in image coding | |
| ES3022187T3 (en) | Transform for matrix-based intra-prediction in image coding | |
| US11831918B2 (en) | Image coding using transform index | |
| ES2982593T3 (es) | Método de codificación de imágenes basado en una transformada y dispositivo para el mismo | |
| ES2981910T3 (es) | Transformada en codificación de imágenes basada en intrapredicción | |
| US12273563B2 (en) | Image coding method based on secondary transform, and device therefor | |
| ES3041151T3 (en) | Coding of information about transform kernel set | |
| ES3057716T3 (en) | Syntax design method and apparatus for performing coding by using syntax | |
| US12262025B2 (en) | Transform-based image coding method, and apparatus therefor | |
| ES2986930T3 (es) | Codificación de imágenes basada en transformadas | |
| ES3038093T3 (en) | Transform-based image coding | |
| KR102809767B1 (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 | |
| US20230209061A1 (en) | Context coding for information on transform kernel set in image coding system | |
| US12022094B2 (en) | Transform-based image coding method and device for same | |
| US11750813B2 (en) | Method and device for coding transform coefficient | |
| US11509903B2 (en) | Method and device for coding transform skip flag | |
| RU2799629C1 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
| RU2803184C1 (ru) | Способ кодирования изображения на основе преобразования и устройство для его осуществления | |
| RU2815810C2 (ru) | Кодирование информации относительно набора ядер преобразования | |
| KR20250106318A (ko) | 변환에 기반한 영상 코딩 방법 및 그 장치 |